Javaspace

Read Complete Research Material

JAVASPACE

JavaSpace: A Distributed System

Table of Contents

EXECUTIVE SUMMARY2

INTRODUCTION3

ARCHITECTURE4

Spaces are shared5

Spaces are persistent5

Spaces are associative6

Spaces let you exchange executable content6

PROCESSES6

Write ( )7

Read ( )7

Take ( )8

Notify ( )8

COMMUNICATION9

Chat systems9

Computer servers9

Broker systems10

NAMING10

SYNCHRONIZATION11

FAULT TOLERANCE12

SECURITY13

CONCLUSION14

REFERENCES15

Executive Summary

A distributed data structure is a self-managing storage system that is designed to run on a group of workstations and to deal with the workloads imparted by the Internet service. A DDS has several unique attributes including; elevated concurrency, strict consistency increased availability, enhanced scalability, and raised throughput of its data. Through this research, I present one application of the distributed data structures, i.e., JavaSpaces. The study presents the conventional architecture on which JavaSpaces is founded and the way it operates to access, segregate, duplicate, balance and recover data. Furthermore, the various processes involved in the system are highlighted along with the several features that define the distinctiveness of JavaSpaces from other applications of distributed data structures. The report seeks to establish a clear understanding of all the various details regarding the communication techniques involved, the methods incorporated to achieve synchronization of various clients, fault tolerance in the event of their occurrence, and security from unauthorized users, within JavaSpaces.

JavaSpace: A Distributed System

Introduction

Distributed data structures store data at the hosts in a network and they allow searches to be executed by dispatching messages connecting different hosts, for routing a query to the host which stores the desired information. This means that data is stored at the network nodes consistent with a certain indexing technique structured over the characteristics of a set of data, having an intent that users must be able to rapidly access the same data employing the attribute-centered queries. JavaSpaces is one good illustration of such a distributed data structure; it provides an uncomplicated yet potent infrastructure to produce distributed applications. The specification for JavaSpaces delineates a dependable distributed warehouse for matter, together with a provision for distributed communications, procedures and leasing. Within the programming model of JavaSpaces, applications are observed as a collection of methods, working together through the flow of matter into and out of the spaces.

The JavaSpaces is founded on the principle of “Tuple spaces”; which is particularly functional in case of synchronized algorithms. A tuple space is a realization of the associative memory archetype for synchronized/disseminated performance of operations. It presents a depository of tuples which may be accesses concomitantly. For instance, suppose there is a group of computers producing bits of data and another group of computers utilizing that data. The data is placed in the space by the producers in the form of tuples and the clients then salvage that data back from the space, which harmonizes with a particular blueprint; a technique called “blackboard metaphor”. Hence, the tuple space may be considered as a type of distributed shared memory (almaden.ibm.com).

The remainder of this study contains the architecture of JavaSpaces and the methods employed are going to be discussed in detail. Furthermore, the means of communication used, the procedure of synchronization, the management of fault tolerance and the level of security involved in ...