Sun Java Solaris Communities My SDN Account Join SDN
 

JavaOne Online Technical Sessions

Pump Up Your Technical Knowledge
Listen and watch as industry luminaries bring you the latest on Java technologies
Begin Product Tab Sub Links

Scaling the Java Environment in Four Dimensions
TS-3625


Presenter: Jim Waldo, Sun Microsystems, Inc


The Java application environment has a rich set of tools for doing distributed computing, enabling applications to be scaled over the workspace, enterprise, and web levels. However, this enables scaling over only three dimensions; scaling over the fourth dimension, time, has only recently started to be addressed in this environment. The presenters are currently working on a Java technology-based environment system for long-term medical sensing, in which the information gathered must be kept available for the lifetime of the patient being monitored; the estimate of a data life of up to 80 years means that scaling over time is one of the most daunting tasks in the system.

One of the main challenges faced in scaling over time has to do with referring to objects. Current reference mechanisms make use of objects that contain a reference to the location of the object; such references do not scale over time when the location of the object is changed, either because of the retirement of the machine on which the object originally existed or because of other changes in the network. When longer-term references are needed, the common approach is to introduce a level of indirection via naming; with such an approach, the name is used to find a current reference to an object via some naming service that is part of the context of an application. However, names have scaling problems of their own; finding unique names generally requires a notion of a naming hierarchy, which, in turn, introduces a level of locality that becomes a barrier to change over time.

This presentation introduces a set of mechanisms that allow references to objects that scale over time and shows how these mechanisms are being used in the medical sensing system being built. Like naming, the technique relies on a level of indirection introduced by a form of naming. Instead of conventional naming systems, however, it uses pure names, or Universally Unique Identifiers (Uuids). These Uuids can be generated by any number of different algorithms; which algorithm is used is encoded into the Uuid. This enables the developer of the system to determine just what guarantees of uniqueness are made and also enables the system to be integrated into existing patient identification systems.

The presentation then shows how this kind of name can be used in a form of distributed hash table to create references to objects that can be refreshed when the object is moved. The refresh mechanism uses a form of distributed hash table that not only avoids the locality problems inherent in hierarchical naming systems but also enables the introduction of a notion of federation into the overall distributed system.

The session finishes by showing the code for a refreshable remote reference and then discusses some further problems that must be solved if systems are to be scaled over time as well as space.

Watch The Session
You need to be a registered Sun Developer Network member to view this multimedia session. If you are a registered SDN member, please click on "Watch Multimedia" button to log-in to view the multimedia session. If you wish to join SDN, please click here.

 
 
FREE White Papers on Java SE, Java EE, cloud computing and database technologies.
New SDN Member Only Offers Every Month Discounts, FREE white papers and more!
Java University and JavaOne Training Sessions