Distributed Coordination-Based Systems

Slides:



Advertisements
Similar presentations
TIB JINI. INTRODUCTION Here we look at only one type(web,object,file). Clear separation between computation and coordination exists. A distributed system.
Advertisements

- 1 - Jini in the Enterprise O'Reilly Conference on Java Scott Oaks Sun Microsystems
Building Distributed Applications using JAVA - RMI
Indigo Jonathan Turnbull Nick Cartwright Ivan Konontsev Chris Bright.
The Jini Technology Lookup Service. How Does It Work Services and clients find a lookup service using the discovery protocol Services advertise themselves.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
JavaSpaces and TSpaces Theresa Tamash CDA 5937 November 4, 2002.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Transaction.
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
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.
490dp Introduction Robert Grimm. The Computer for the 21 st Century “The most profound technologies are those that disappear. They weave themselves into.
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.
1 CS 194: Distributed Systems Distributed Coordination-based Systems Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering.
Introduction to Remote Method Invocation (RMI)
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
Group Communication using Ensemble Part II. 2 Introduction From previous tutorial: Ensemble’s application interface: Concepts of Group Membership, View,
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
Practical Issues of RPCCS-4513, D-Term Remote Procedure Call Practical Issues CS-4513 Distributed Computing Systems (Slides include materials from.
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
Communication in Distributed Systems –Part 2
Distributed Coordination-Based Systems Chapter 13
ECSE Software Engineering 1I HO 7 © HY 2012 Lecture 7 Publish/Subscribe.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
490dp Prelude I: Group Membership Prelude II: Team Presentations Tuples Robert Grimm.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
The Design Discipline.
Coda Descendant of AFS Developed by Mahadev Satyanarayanan and coworkers at Carnegie-Mellon University since 1987 Open Source advanced caching schemes.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Presented by Mark Miyashita
Nov 6, 2000CS851 Ubiquitous Computing1 The Jini Architecture Speaker: Weisheng Si Dept. of Computer Science University of Virginia.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 4 Communication.
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Distributed Systems Principles and Paradigms Chapter 02 Communication 00 – 1.
Chapter 8-3 : Distributed Systems Distributed systems Distributed systems Document-based middleware Document-based middleware Coordination-based middleware.
January 26, Bob Scheifler Copyright 1999 Sun Microsystems, Inc., all rights reserved. Jini™ Lookup Service Bob Scheifler Senior Staff Engineer Sun.
Overview of computer communication and Networking Communication VS transmission Computer Network Types of networks Network Needs Standards.
Systems Analysis and Design in a Changing World, 3rd Edition
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
Jini tm NetworkingTechnology Directions Jim Waldo Jini Architect Sun Microsystems, Inc.
Distributed Systems Principles and Paradigms Chapter 12 Distributed Coordination-Based Systems 01 Introduction 02 Communication 03 Processes 04 Naming.
Distributed Coordination-Based Systems Adapted from: "Distributed Systems", Tanenbaum & van Steen, course slides.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood.
Jini Architecture Introduction System Overview An Example.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Mapping IP Addresses to Hardware Addresses Chapter 5.
V1-5Coordination Based Systems1 Distributed Coordination Based Systems.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Indirect Communication.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 8 Multiple Processor Systems Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Coordination-Based Systems
Last Class: Introduction
Java Distributed Object System
Programming with ANTS ANTS facilitates protocols construction and deployment Demonstrate some examples using Mobility services Multicasting.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
What’s “Inside” a Router?
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
The Jini Technology: An overview
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Could Jiro™ Extend the Jini™ Pattern Lanuguage?
Presentation transcript:

Distributed Coordination-Based Systems Chapter 12

Introduction to Coordination Models A taxonomy of coordination models (adapted from [cabri.g2000])

Coordination Model (1) The principle of a publish/subscribe system as implemented in TIB/Rendezvous.

The overall architecture of a wide-area TIB/Rendezvous system. Coordination Model (2) The overall architecture of a wide-area TIB/Rendezvous system.

Attributes of a TIB/Rendezvous message field. Basic Messaging Attribute Type Description Name String The name of the field, possibly NULL ID Integer A message-unique field identifier Size The total size of the field (in bytes) Count The number of elements in the case of an array Constant A constant indicating the type of data Data Any type The actual data stored in a field Attributes of a TIB/Rendezvous message field.

Processing listener events for subscriptions in TIB/Rendezvous.

Processing incoming messages in TIB/Rendezvous. Events (2) Processing incoming messages in TIB/Rendezvous.

Processes Priority scheduling of events through a queue group. A semantically equivalent queue for the queue group with the specific event objects from (a).

Examples of valid and invalid subject names. Naming (1) Example Valid? Books.Computer_systems.Distributed_Systems Yes .ftp.cuss.vu.nil No (starts with a '.') ftp.cuss.vu.nil NEWS.res.com.so Marten..van_Steen No (empty label) Marten.R.van_Steen Examples of valid and invalid subject names.

Examples of using wildcards in subject names. Naming (2) Subject Name Matches *.cuss.vu.nil ftp.cuss.vu.nil www.cuss.vu.nil ni.vu.> nil.vu.cuss.ftp nil.vu.cuss.zephyr nil.vu.few.www NEWS.comp.*.books NEWS.comp.so.books NEWS.comp.ai.books NEWS.comp.se.books NEWS.comp.theory.books Examples of using wildcards in subject names.

Synchronization (1) The organization of transactional messaging as a separate layer in TIB/Rendezvous.

The organization of a transaction in TIB/Rendezvous. Synchronization (2) The organization of a transaction in TIB/Rendezvous.

Reliable Communication The principle of PGM. A message is sent along a multicast tree A router will pass only a single NACK for each message A message is retransmitted only to receivers that have asked for it.

Establishing a secure channel in TIB/Rendezvous. Security Establishing a secure channel in TIB/Rendezvous.

The general organization of a JavaSpace in Jini. Overview of Jini The general organization of a JavaSpace in Jini.

The layered architecture of a Jini System.

Using events in combination with a JavaSpace Communication Events Using events in combination with a JavaSpace

Processes (1) A JavaSpace can be replicated on all machines. The dotted lines show the partitioning of the JavaSpace into subspaces. Tuples are broadcast on WRITE READs are local, but the removing of an instance when calling TAKE must be broadcast

Processes (2) Unreplicated JavaSpace. A WRITE is done locally. A READ or TAKE requires the template tuple to be broadcast in order to find a tuple instance

Processes (3) Partial broadcasting of tuples and template tuples.

The Jini Lookup Service (1) Field Description ServiceID The identifier of the service associated with this item. Service A (possibly remote) reference to the object implementing the service. AttributeSets A set of tuples describing the service. The organization of a service item.

The Jini Lookup Service (2) Tuple Type Attributes ServiceInfo Name, manufacturer, vendor, version, model, serial number Location Floor, room, building Address Street, organization, organizational unit, locality, state or province, postal code, country Examples of predefined tuples for service items.

Synchronization of Transactions The general organization of a transaction in Jini. Thick lines show communication as required by Jini's transaction protocol

Caching and Replication The position of PAM with respect to security services.

Comparison of TIB/Rendezvous and Jini Issue TIB/Rendezvous Jini Major design goal Uncoupling of processes Flexible integration Coordination model Publish/subscribe Generative communication Network communication Multicasting Java RMI Messages Self-describing Process specific Event mechanism For incoming messages As a callback service Processes General purpose Names Character strings Byte strings Naming services None Lookup service Transactions (operations) Method invocations Transactions (scope) Single process (see text) Multiple processes Locking No As JavaSpace operations Caching and replication Reliable communication Yes Process groups Recovery mechanisms No explicit support Security Secure channels Based entirely on Java