Last modified 12/13/99 --PR
Class home page
You can do this assignment in pairs, but not in groups larger than two.
Explore the interactive map of On-campus "backbone" nodes. Find it by clicking on the "Map of On-campus connections" link from the ITD Backbone web page. Note that SI connects through c-UGLI. Click on things on the map to see current status. SI subnet IP addresses begin with 141.211.202 and 141.211.203 (there may be more that I don't know about).
(4 points) Suppose a piece of mobile code (e.g., a Java Applet) is totally untrusted (you don't know who created it or what it does), so you want to restrict its capabilities (run it in a sandbox). Consider restrictions on the following types of operations and indicate, first, what bad actions by the mobile code might be eliminated, and then indicate what legitimate purposes of mobile code might be eliminated.
Clarifications sent out by email:
1) The scenario is that a piece of code has been downloaded from somewhere else and is now going to execute on a computer. Hence, the code is already mobile. It need not move again during its execution.
2) You are analyzing the positive and negative effects caused by each type of restriction. The positive effects are that some kinds of bad things are prevented. The negative effects are that some kinds of good things are prevented.
3) With the restriction in part c, the code that is executing on your machine will be unable to invoke methods of any other objects that reside permanently (i.e., code and data are stored on the hard disk) on your machine.
4) With the restriction in part d, the code that is executing on your machine will be unable to invoke methods of any other objects that do not reside permanently on your machine. For example, these might be other objects that were just downloaded from another machine and are executing locally, or even objects that are executing on other machine.
(1 point) Can a packet-filtering firewall filter block all Java programs from passing through? Why or why not?
3 points free on this homework!
Explain to someone the idea of atomic transactions and how to achieve atomicity in transaction processing.
E15.7 For the bookselling application we've used throughout the course, describe how transaction processing could make the application more robust and easier to develop. In particular:
E16.4: platform independence
E17.10b: scalability (Do this for the bookselling application only)