|
Pump Up Your Technical Knowledge
Listen and watch as industry luminaries bring you the latest on Java technologies
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 |
FREE White Papers on Java SE, Java EE, cloud computing and database technologies.
| ||||||
|
| ||||||||||||