Although Jini won't be formally unveiled until January 25, Sun Microsystems executives have been talking about it for months, and Sun Chief Executive Scott McNealy demonstrated the Java-based technology yesterday at the Java Business Expo in New York.
Jini is a set of software tools that operate on devices that can run Java programs. Sun argues that it will be useful for computing devices, cell phones, air conditioning systems, manufacturing robots, or just about any other device attached to the network. Jini handles many of the tasks of finding network connections and broadcasting different devices' abilities.
In demonstrations yesterday, Sun showed how the technology automatically connected a digital camera, laptop computer, and standalone disk drive so the equipment could work together. And veering farther from the computer world, Sun also showed Jini working to remotely control lights and fans.
Sun is the loudest of a handful of technology makers in the emerging market for smarter networking software that can make inter-device communication easier and more useful.
Microsoft is currently developing a system code-named Millennium in its Microsoft Research Group that largely mirrors Jini, albeit on a Windows technology framework.
Microsoft said Millennium will result in systems that will "eliminate the distinction between distributed and local computing," according to Microsoft. "Millennium raises the level of abstraction to create a self-tuning, self-configuring system in which programmers are not even aware of distribution; it happens entirely automatically," according to the company.
While several prototype Millennium systems have been built within Microsoft's labs, the technology, in development since 1996, isn't expected to result in shipping products for some time.
As previously reported, Lucent's Inferno is designed for embedded systems and is based on concepts very similar to existing Java technologies. The company said Inferno includes a virtual machine, programming language, and communications protocol, all targeted at the emerging market for Internet-connected "information appliances" like screen phones and video home terminals.
IBM's technology, also in the research phase, is called T Spaces. In concept, T Spaces is very similar to Sun's JavaSpaces technology, which underlies Jini.
T Spaces is network middleware, according to IBM, that includes a "set of network communication buffers, APIs, and classes that allows heterogeneous, Java-enabled devices to exchange data with little programming effort."
IBM last month posted an updated test version of the software.
Along with the Jini demonstration yesterday, McNealy also reiterated his vision for the future of computing, interspersed with frequent plugs for Sun's "write once, run anywhere" Java technology and now-familiar derision for Microsoft software.
McNealy said Jini will work at home, where stereo equipment, computers, and air conditioners could be tied together through a set-top box, and at work, where faxes, printers, or phones could all plug into the same network. At home, the network infrastructure will piggyback on the electrical system, so new wiring isn't required, he said. And with a connection to the Internet, the Maytag repairman could remotely troubleshoot your washing machine.
Controlling access to these devices, so that neighbors aren't able to flick your house's lights off and on, will be Java smart cards, ID cards which people will be able to swipe through a card reader to grant themselves access to authorized resources.
With the smart card, a hotel room or remote business office or computer workstation would become personalized, with access to all the resources belonging to that person, McNealy said. "You'd be able to turn any available device into a personal device. You could turn a pay phone into your phone. You could turn a workstation into your workstation, with your environment. I would love to be able to walk into the hotel room and put the smart card into the set-top box and check my e-mail," he said.
How Jini works
But before McNealy can realize his science fiction dream, all that equipment must be on the same wavelength--and that's where Jini comes in. But how does it work?
For starters, a Jini device needs to have a Java virtual machine, which is a program or a piece of hardware that can run Java programs. Popular Web browsers come with Java virtual machines, but several companies make their own.
Jini is made of three components.
First, there is the "lookup service," a Java program that keeps track of what Jini devices are connected to a network and what they can do.
Second, each Jini device has an "agent," a relatively small 40K program that a device uses to find a network connection and identify the device to the lookup service.
And third, Jini has a protocol, a common language that Jini devices and lookup services use to communicate on the network.
A network can have more than one lookup service, providing redundancy that will help a Jini system survive even if some components stop working.
And if the whole system is switched off and on, the Jini network will automatically rebuild itself, with agents and lookup services re-establishing contact. Agents can trigger devices to start running lookup services if necessary.
Each Jini device comes with its own device driver, the electronic instruction manual that other equipment will need to make the device work.
And each Jini device comes with its own tailored user interface. The interface, written in Java, is sent out over the network so a person has a program to control the Jini device. For example, McNealy said, a printer might have its own user interface and driver, "so you don't have to use a Microsoft print tool to manage a Canon printer."
Sun demonstrated Jini with a digital camera. When plugged into a network, the camera's Jini agent identified the camera to a lookup service on a laptop computer. The laptop computer then could be used to control the camera, commanding it to take a picture. Then, when a Jini-enabled hard disk was plugged into the network, the camera control program gained the ability to save that picture.