JavaGoThe Basic ConceptsJavaGo allows program execution including the call stack to be suspended at arbitrary program points, to be transmitted to another remote computers, and to be resumed there. In other words, JavaGo enables transparent migration for Java programs. The programmer can control the area in the stack to be transmitted. One of the advantages of JavaGo is that migration can be performed with any Java virtual machine and any just-in-time compiler. Special plug-ins nor modification of virtual machines are not necessary. The migration concept in JavaGo is, probably, the simplest one among all mobile agent systems. The reason is that (1) JavaGo is implemented completely on JavaRMI and thus does not require complicated infrastructures and that (2) JavaGo guarantees that the execution state is completely preserved on migration. It implies that understanding for ordinary programming is also applicable for programming mobile applications because JavaGo enables ordinary applications not written especially for mobile environment to be migrated with the least modification. Strictly speaking, there can be a slight change when the execution state is transmitted to a remote computer. For instance, when a window (an instance of java.awt.Frame) is transmitted, it will not be mapped on the screen of the destination host automatically even if the window is mapped on the display of the departure host. So, if necessary, the programmer must insert the code to show the window after migration. This is a point on which the execution state is not preserved completely. The difference between the states of an object on migration depends on the specification of object serialization. Download
Link |
|