Click on our Sponsors to help Support SunWorld

Sun's JavaSpaces is foundation for future distributed systems

Work now underway to create globally scalable, distributed OS

By Rob Guth IDG News Service

SunWorld
August  1997
[Next story]
[Table of Contents]
[Search]
Subscribe to SunWorld, it's free!

Mail this
article to
a friend
Tokyo (August 19, 1997) -- 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 rollout 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, WA software king is working on a project code-named Millennium which also aspires to build a new distributed operating system, company officials said.

Advertisements

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."

What did you think of this article?

-Very worth reading
-Worth reading
-Not worth reading
-Too long
-Just right
-Too short
-Too technical
-Just right
-Not technical enough

 
 
 
    





If you have technical problems with this magazine, contact webmaster@sunworld.com

URL: http://www.sunworld.com/swol-08-1997/swol-08-javaspaces.html


Last modified:


Click on our Sponsors to help Support SunWorld

What did you think of this article?
-Very worth reading
-Worth reading
-Not worth reading
-Too long
-Just right
-Too short
-Too technical
-Just right
-Not technical enough
 
 
 
    

SunWorld
[Table of Contents]
Subscribe to SunWorld, it's free!
[Search]
Feedback
[Next story]
Sun's Site

[(c) Copyright  Web Publishing Inc., and IDG Communication company]

If you have technical problems with this magazine, contact webmaster@sunworld.com

URL: http://www.sunworld.com/swol-08-1997/swol-08-javaspaces.html
Last modified: