Index of /java/jini/screensaver

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[   ]Makefile2003-08-01 08:23 2.1K 
[   ]Makefile.12003-08-01 08:07 2.0K 
[TXT]README.html2007-10-17 19:25 4.5K 
[   ]README.html.bak2007-10-17 19:23 4.5K 
[   ]policy.all2001-12-18 07:10 142  
[   ]run2003-08-03 10:40 1.3K 
[DIR]saver.1/2003-08-01 08:16 -  
[DIR]saver/2003-08-03 10:30 -  
[   ]speaker.jar2003-09-13 05:31 55K 
[TXT]stylesheet.css2002-01-09 10:28 1  

Screen Saver README

Screen Saver README

What this package is

This package implements a distributed "screen saver" using Jini. That is, if a number of screen savers are running on a LAN then objects will migrate from one screen to the next. If no screen savers are found, then objects just stay on their own screen. If a screen saver dies or terminates, then it will be dropped out of the set of screen savers.

This package was devised in response to potential university students asking "What is this network computing stuff about?". I wanted a simple demo that could show these concepts within a 10 minute timeframe:

My demonstration scenario is "Look: stable network computing with no wires". A number of laptops (in my case three) run the demo using wireless cards to form an adhoc network. They each run a screen saver, and objects migrate from one screen to another, once each saver has registered with a LUS. I can move the laptops around the room and the network still works. I can crash or terminate a screen saver and the demo still works, readjusting to a failed component. The only drawback is that if I switch off a wireless card (or crash a node) then it takes too long (about 10 minutes) for TCP to timeout. So it hangs for a while, but eventually comes back to life, without the problem node.

The demo class files run the "saver" using about half the screen, with diagnostic output printed to a console window. That way you can see the discovery and error recovery mechanisms working. Simple code edits will remove the diagnostics or occupy the entire screen. This runs as an application, and doesn't attempt to link in with the real screen saver mechanism implemented by your window system.

Wavelan

Since I wanted to be able to form an adhoc network with no wire connections, my first thought was the slightly over-hyped Bluetooth. I had access to a couple of IBM/Motorola Bluetooth cards, but regrettably there seems to be no current PCMCIA support for any Bluetooth cards under Linux. Since I get blinding headaches whenever I run Windows, they were of no use. I discovered that Wavelan supports adhoc networks (not as nicely as Bluetooth) so I use them - and there is good Linux support. In Linux, use iwconfig to set mode to Ad-Hoc, and under Windows set infrastructure to no in the card's entry in the Control Panel. You need to know/set the SSID to be the same for all machines in this adhoc network, so it loses the spontaneity of Bluetooth.

Running screen saver

This package uses Jini 1.1, so the standard Jini jar files need to be in your classpath. It uses one feature of Java 1.4 (Frame.setUndecorated()) but this can be commented out and will then work under Java 1.3.

You need a Jini LUS running within multicast range (probably somewhere on your LAN)

The package is run by


java -Djava.rmi.server.codebase=<codebase> -Djava.security.policy=>policyfile> saver.Saver <shape>
where shape is one of

The class files in the codebase should include

Comments

Comments, bug fixes, extensions, ant files, etc, are all welcome and may be included in future versions.


Jan Newmarch (http://jan.newmarch.name)
jan@newmarch.name
Last modified: Wed Jan 9 09:17:31 EST 2002
Copyright ©Jan Newmarch