At Sun labs, plans are in the works to create a distributed operating system with global scalability
Tokyo (08/19/97) โ Sun Microsystems Inc. is experimenting with new models of distributed computing that could form the backbone of a future operating system for the worldโs largest computer: the Internet, company officials said in recent interviews.
The project is founded on JavaSpaces, work now underway at Sun to create repositories for Java-based objects, as well as the Java virtual machine (JVM) and Javaโs remote method invocation (RMI) functionality.
Through advanced research that could bring to life Sunโs decade-old slogan โThe Network is the computer,โ the company hopes to extend todayโs model of computing from one relying on individual computers running operating systems that organize data in file systems, to one in which the operating system and applications are not beholden to single machines but โliveโ on a network, officials said in interviews.
โWe want an operating system that works across all machines in the world,โ said one Sun official.
In its rough form, one goal of the project is to create a distributed operating system that would have global scalability. Such an operating system would run across all machines connected to any large scale network. This would enable users on any networked Java-enabled device from a smartcard upwards to be freed from any concerns about the location of data and where computations are performed. The system meanwhile would be secure and self-monitoring, moving and replicating data automatically, officials said.
Though perhaps the cornerstone to the project, JavaSpaces is still very much in the early stages of development, and is still considered an R&D project, according to Jim Mitchell, vice president of technology and architecture at Sunโs JavaSoft division.
Working JavaSpaces have been built in the lab, but before Sun makes the work available to the general public it has to โmake sure the implementation meets our performance demands,โ Mitchell said. He added that Sun has no planned roll-out date for JavaSpaces.
Chairman and CEO Scott McNealy, meanwhile, said the JavaSpaces work is โreally coolโ but admitted that he knows little of its inner workings.
Despite its current R&D status, company officials said the work on JavaSpaces could be the crescendo to Sunโs Java effort, which from its inception has offered the promise of hardware-independent computing. Sun partners have already received JavaSpaces application programming interfaces and are providing input on the work, according to Mitchell.
This concept is not unique to Sun: similar projects are being whisked from academe to software labs at leading computer vendors like Lucent Technologies, with its Inferno OS, and Microsoft Corp. The Redmond, Washington, software king is working on project code-named Millennium which also aspires to build a new distributed operating system, company officials said.
From Linda to JavaSpaces
Underway in the Massachusetts community of Chelmsford, the home of JavaSoftโs East coast research lab, the Sun distributed systems work and JavaSpaces development combine the vision of Sun co-founder Bill Joy and the advanced parallel processing work of David Gelernter, a computer science professor at Yale University.
The model for JavaSpaces is drawn from functions developed by Gelernter that simplify parallel programmersโ challenge of manually assigning tasks to multiple processors.
These functions, named Linda, create a shared memory space called a TupleSpace where results of a computerโs processes or the processes themselves are stored and can be accessed by multiple CPUs. All of the contents of a TupleSpace are marked with self-describing tags that help match processes with CPUs looking for tasks โ essentially functioning the way a bulletin board might in the real world.
For example, in the real world, if a student at Yale University were looking for a ride to Mountain View, CA, he or she could pin up an envelope labeled โride neededโ onto a bulletin board at the student center. Another student with a car could pull down the envelope, open it and if he or she were giving a ride to the same destination the second student could slip his or her phone number into the envelope and pin it back up on the board for the ride seeker. If the driver were headed elsewhere, he or she could leave the envelope untouched, pinning it back up where it would stay until someone headed to Mountain View found it.
Along the same lines, the power of a JavaSpace is that it provides a venue for RMI-capable applications and hardware to share work and results over a distributed environment. To date Java applets have been mainly implemented in a client/server model. In other words, when users download an applet, it is executed locally and the results are kept by the client. But with a JavaSpace, applets can share their results and data with other applets enabling developers to build distributed applications over large scale networks or possibly even the Internet, Sun officials said.
One key attribute of a JavaSpace is that it can store not just data but serialized objects, which could be combinations of data and methods that can be invoked on any JVM equipped machine. As a result the spaces achieve โdistributed object persistence,โ meaning that a JavaSpace entry can be transmitted from machine to machine and retain its original behavior.
For instance, in looking for a mortgage, a home buyer could tune a JVM-equipped browser to a real estate agentโs World Wide Web site, then download and execute an applet that would record his or her mortgage requirements and demographic information. The applet, meanwhile has a descriptive tag and is coded so that it can communicate with a JavaSpace where mortgage seekers are matched with brokers peddling mortgages.
The applet, now containing the userโs information, is pushed across the network and โmarshalsโ a skeleton of itself within the mortgage JavaSpace. A legion of competing brokers meanwhile have โnotificationsโ reading the space for mortgage seekers.
When the match is made the home buyer could read the brokerโs rates and minimum down payment, and make a decision on whether he or she was interested in the terms.
The broker could also issue a โtakeโ request that removes the object from the space allowing the broker to write it to other JavaSpaces, for instance those of rating agencies that will check the credit worthiness of the mortgage seeker.
Though a very simple implementation of a JavaSpace that ignores security concerns, the mortgage example demonstrates the goal behind Sunโs effort: to raise the level of abstraction for programmers so they can create completely distributed applications that run regardless of hardware and location.
Just as the use of hierarchically arranged files in Windows erases the need for users to be concerned with specific disk sectors where data lies, the JavaSpaces development aspires to move users and programmers to a level where the objects representing data, applications, and computers themselves are tagged and floating in the amorphous mass of a JavaSpace. Users donโt need to know specifically where their computational resources reside โ they simply access them by abstracted addresses.
In the mortgage example, the home buyer was not concerned with how to find brokers or a specific brokerโs physical location. The JavaSpace acts โlike a shopping mall, you just go,โ Mitchell said.
In building a distributed OS, Sun hopes to take JavaSpaces a step further and recreate over networks the interprocess communication that is handled by single operating systems today. โThere are many distributed system problems that we think map well on JavaSpaces,โ Mitchell said. โIf itโs [a JavaSpace] good for applications maybe itโs good for systems programming as well.โ
Using JavaSpaces, large networks could be treated as huge computer systems with millions of processors and objects, officials said. In short the Sun research poses the question โ why canโt the components, data and applications today found within one machine be tossed out on the Net?
โThis is the next level in the evolution of [computer] systems,โ one Sun official said. โToday people think about a system as being in one place right here but it is a very simple step to imagine you break it up โ cut the computer up into all its little operating piecesโฆtake existing machines and think about them in a more general way.โ
Sun Microsystems Inc., based in Mountain View, CA, can be reached at (415) 960-1300 or via the Web at https://www.sun.com.
(Munich correspondent Margret Johnston contributed to this story.)


