JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood.

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

An Introduction of Jini Technology Presenter: Carfield Yim, Gary Lam Date: 31-Jul-2002 How can JINI Technology Boost Our Business.
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Two phase commit. Failures in a distributed system Consistency requires agreement among multiple servers –Is transaction X committed? –Have all servers.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
JINI Shashwat Shriparv InfinitySoft.
THE JINI TECHNOLOGY Alessio Zumbo
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Introduction to Jini & JavaSpaces
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Distributed Coordination-Based Systems
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
One.box Distributed home service interface. Core Components Pop3 client Router Storage Pop3 Server.
Computer Science Lecture 24, page 1 CS677: Distributed OS Today: More Case Studies DCOM Jini.
CS 603 Jini April 10, What is Jini? Java Middleware Tools to construct federation –Multiple devices, each with Java Virtual Machine –Multiple services.
Distributed Service Architectures Yitao Duan 03/19/2002.
1 CS 194: Distributed Systems Distributed Coordination-based Systems Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering.
Tuple Spaces and JavaSpaces CS 614 Bill McCloskey.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
October 2003 Iosif Legrand Iosif Legrand California Institute of Technology.
Communication in Distributed Systems –Part 2
The Architecture of Transaction Processing Systems
Distributed Coordination-Based Systems Chapter 13
490dp Prelude I: Group Membership Prelude II: Team Presentations Tuples Robert Grimm.
1 What is message passing? l Data transfer plus synchronization l Requires cooperation of sender and receiver l Cooperation not always apparent in code.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
Introduction - What is Jini Technology?
IMPROUVEMENT OF COMPUTER NETWORKS SECURITY BY USING FAULT TOLERANT CLUSTERS Prof. S ERB AUREL Ph. D. Prof. PATRICIU VICTOR-VALERIU Ph. D. Military Technical.
DNA REASSEMBLY Using Javaspace Sung-Ho Maeung Laura Neureuter.
January 26, Jim Waldo Copyright 1999 Sun Microsystems, Inc., all rights reserved.
Chapter 8-3 : Distributed Systems Distributed systems Distributed systems Document-based middleware Document-based middleware Coordination-based middleware.
JavaSpaces TM By Stephan Roorda Source: JavaSpaces specification.
CS 5204 (FALL 2005)1 Leases: An Efficient Fault Tolerant Mechanism for Distributed File Cache Consistency Gray and Cheriton By Farid Merchant Date: 9/21/05.
Application code Registry 1 Alignment of R-GMA with developments in the Open Grid Services Architecture (OGSA) is advancing. The existing Servlets and.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Distributed Systems Principles and Paradigms Chapter 12 Distributed Coordination-Based Systems 01 Introduction 02 Communication 03 Processes 04 Naming.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
Introduction to Java Beans CIS 421 Web-based Java Programming.
Distributed Coordination-Based Systems Adapted from: "Distributed Systems", Tanenbaum & van Steen, course slides.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
Shuman Guo CSc 8320 Advanced Operating Systems
Jini Architecture Introduction System Overview An Example.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Jini Architectural Overview Li Ping
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
PPDG February 2002 Iosif Legrand Monitoring systems requirements, Prototype tools and integration with other services Iosif Legrand California Institute.
Chapter 13Oracle9i DBA II: Backup/Recovery and Network Administration 1 Chapter 13 Network Administration and Server-side Configuration.
V1-5Coordination Based Systems1 Distributed Coordination Based Systems.
Introduction to Active Directory
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
MapReduce Joins Shalish.V.J. A Refresher on Joins A join is an operation that combines records from two or more data sets based on a field or set of fields,
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
January 26, Ken Arnold Copyright 1999 Sun Microsystems, Inc., all rights reserved.
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph 1 Publish & Subscribe Larry Rudolph May 3, 2006 SMA 5508 & MIT
Distributed Coordination-Based Systems
Java Distributed Object System
Programming Models for Distributed Application
Bina Ramamurthy Chapter 9
An Introduction of Jini Technology
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Message Queuing.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Presentation transcript:

JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood

Coordination-Based Systems New generation of distributed systems that assume that the components of the system are distributed and that the problem lies in the coordination of the activities of the components If a distributed system is seen as a collection of processes a coordination-based system handles the communications and cooperation between the processes while the processes handle the computations

JINI as a Coordination System JINI is more than a coordination system Referred to as such because: –supports generative communications using ‘JavaSpaces’ –lets clients discover services when they become available –has distributed event and notification system JavaSpaces – shared database that stores tuples, provides temporal & referential uncoupling of processes

JINI vs Tib/Rendezvous (1) NoneLookup serviceNaming Services Character stringsByte stringsNames General purpose Processes Incoming messagesCall-back serviceEvent Mechanism Self-describingProcess specificMessages MulticastingJava RMINetwork communications Publish/subscribeGenerative commsCoordination Model Uncoupling processesFlexible IntegrationDesign Goal Tib/RendezvousJINI

JINI vs Tib/Rendezvous (2) Secure channelsBased on JavaSecurity No explicit support Recovery YesNoProcess groups Yes Reliable No Caching/Replication NoAs JavaSpace operations Locking Single processesMultiple processes MessagesMethod InvocationsTransactions Tib/RendezvousJINI

History From the people who brought you java… its JINI!

Coordination Model JavaSpaces provide temporal and referential uncoupling of processes Tuples are marshaled and stored in serialized form Each time the ‘write’ command is used on a tuple a marshaled copy is stored in the javaSpace as a tuple instance To read a tuple instance the process provides a tuple template to match against the instance stored in the javaSpace

Architecture Offers a small set of features to allow creation of dispersed applications Lowest layer: –JINI infrastructure Second Layer: –general-purpose facilities Highest Layer: –clients and servers Can be viewed as a 3-layer model

Communication Events –A client may access an event by registering with the object that owns the event –Client passes listener object –Registration leased, notifications expire –No delivery guarantees, sequence no –Client notified about particular object, passes template to id object it wishes to be notified about –First notified first to access, may remove object (read), hard to avoid

Processes (1) Implementation of a JavaSpace Good efficient distributed implementation of a JavaSpace has to solve 2 problems What is the key to this problem ? Tuples! Tuples typed Subspaces can be organised as hash tables

Processes (2) Processing on a multiprocessor Processing on a multicomputer

Processes (3) The inverse design

Processes (4) The 2 methods combined

Naming JINI does provide –JINI lookup service –leasing No conventional naming service such as is found in object- based or distributed file systems Though these can be implemented in JINI

JINI Lookup Service(1) Lookup Service JavaSpace Jini Lookup Service Registering Services

JINI Lookup Service(2) Service Identifier Service Item

JINI Lookup Service(3) Predefined Tuples

JINI Lookup Service(4) Can several Lookup Services co-exist? How is a Lookup Service looked up

Leasing A referenced object keeps track of who is referring to it This leads to what are known as reference lists Leases are used to keep the list short When a lease expires, a reference becomes invalid and is removed from the object’s reference list.

Synchronization JINI provides a number of mechanisms –JavaSpace includes the operations ‘read’ & ‘take’ –Transactions ‘read’ and ‘take’ are blocking operations They can be used to express many different synchronization patterns

Transactions Carry out operations on multiple objects Two phase commit protocol Set of interfaces The actual implementation is left to others Can be configured with default transaction manager The overall model of a transaction is shown below

Caching and Replication JINI provides no measures for caching or replication. This is left to applications that are built as part of the JINI-based system.

Fault Tolerance JINI itself has none except a transaction manager Components that implement JINI are expected to implement their own measures JINI communications is done using Java RMI which is seen to be reliable Research into adding fault tolerance has lead to the following two ideas –Incorporating fault tolerance into tuple spaces (such as JavaSpaces) –Grouping tuple space operations into transactions

Security JAAS - Java Authentication and Authorization Service Handles user authentication and authorization Separates client interface for these services from the actual services using the PAM JAAS is a java implementation of PAM JINI relies on Java RMI to provide its security JAAS has also been added to JINI

Summary Naming – yes Synchronization – sort of Caching – no Replication – nope Fault tolerance – not really Security – RMI will take care of it Basically : Awww! Can’t someone else do it