A Distributed Virtual Machine Architecture for Mobile Platforms
Best if viewed in 800 x 600 pixels
What's New(1.26.00) This project is officially inactive.
(9.16.98) Sorry for any confusion! I had to move the web site. Haven't done much work on Ghost lately, I'm still adjusting to graduate school. Still, if you need any help, feel free mail the ghost list and I will be happy to reply.
The Ghost Machine platform is designed to support a wide variety of clients and servers. The first clients being targeted are Palm Computing's Palm OS platform. In the future, support could be added to mobile devices based off of Microsoft's Windows CE platform and the now defunct Newton platform. The servers are meant to have modern computing resources, though do not have to be large workstations. They could be, for example, running on the future class of home server devices appearing on the market.
Implementing a Java virtual machine for these devices provides a better way of developing and distributing software. An application developer can now use standard Java tools and program to standard Java APIs. The only issues they need to concern themselves with are the resource constraints and input/output desktop differences. It also provides a safe way of distributing third party software. Code verification and a built in security manager can eliminate the possibility of catching a virus.
- Palm OS Binaries - Contains the necessary prc and pdb files necessary to run the Ghost client. It also contains a few demo applications. These binaries need only be Hot Synched onto the Palm OS device. Click on the Ghost Icon, the demo applications will have high start times due to laying out the dynamic AWT in a static Palm OS UI. This distribution contains a server so new applications can be installed.
- Ghost Server and Source [windows | unix] - These classes and configuration files contain the necessary files to install new Java applications onto your PalmPilot. Please note that support for most APIs is limited in this release. The only thing that has been polished is the AWT, and nothing is by any means complete. Only JDK 1.0.2 based applications can be installed on the client though the server does require JDK 1.1 (as per the requirements below). Extract it to its own directory (e.g. ghostmach). The license is GPL. The only difference between the unix and windows distributions is the end-of-line termination. Users on platforms that do not except backslashes, like unix, will have to do some modifications to the javasrc/makefile due to a bug in Javac. The change is clearly documented in the makefile. I have not tested the build under a unix platform, so I am hoping someone else will test it.
old documentation until I can get new documentation up. I know I need a lot more stuff here, but I simple don't have the time. All archives were zipped using tar and gnuzip. WinZip will understand this format.
- Palm OS Device - The Ghost Machine client virtual machine has only be tested on the PalmPilot Professional. Other devices should work (Palm III, Personal, and maybe 5000), but this has not been tested yet. The IBM Workpad should work also.
- Memory - About 256 kilobytes of memory should be available to play with this release. About 180 kilobytes is devoted to storing the virtual machine and the runtime, while the rest is devoted to runtime memory.
- Server - The server device should be a desktop or laptop workstation with at least 16 megabytes of RAM. It should be running the latest JDK or JRE (1.1.5). The latest Microsoft JVM should be ok (I have tested this a little bit). The only server platform tested is Windows NT and 95. Other platforms should work, however, since the server is written in pure Java using standard APIs and no graphical user interface.
- Compilation - The Palm OS binary is built using the Palm OS Win32 GNU SDK. It uses make, gcc, prc-tools, PILRC, great tools but they do not install very well. Check the Palm GNU FAQ for more information. In order to install software or develop code, a copy of the JDK 1.0.2 is needed on server. This should not be the same JDK being used to "run" the server, JDK 1.0.2 is only needed for its class files. By the way, when setting the JDK102 path, only use forward slashes (NT will still recognize them).Subscribe by sending mail to email@example.com with this line subscribe ghost (email address) or subscribe ghost-digest (email address) In the BODY of the message. Add the email address if you are subscribing from a different account. ALL POSTING should be sent to firstname.lastname@example.org [NOT email@example.com]mailing list.
7.20.98 Release 0.1.3 made, the release adds pre-built server classes to the binary distribution, I think this is a better release strategy in the long run even though it creates a larger download. The source release has also been modified to work better with Linux, though this still has not been completely tested. 7.15.98 Release 0.1.2 made, this is a fix for the source only, should build ok under linux. 7.14.98 Release 0.1.1 made, fixed an exit bug and added a GPL liscense to distribution! 7.13.98 Documentation overhauled to be less confusing sight and a release (0.1)! Old documentation still available.
Copyright © 1998 by Sean McDirmid (firstname.lastname@example.org)
*Palm Pilot and all other relevant trademarks belong to 3com, Palm Computing and USRobotics.
*Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc.
*WIndows CE trademarks belong to Microsoft.