Distributed Systems Concepts Ch. 10 and 14-17. Figure 10.1 Skew between computer clocks in a distributed system.

Slides:



Advertisements
Similar presentations
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 20: Distributed.
Advertisements

From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 14: Time and.
Slides for Chapter 20: CORBA Case Study From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Addison-Wesley 2005.
Distributed Multimedia Systems
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Slides for Chapter 15: Distributed Multimedia Systems From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.
CORBA Architecture Nitin Prabhu. Outline CORBA Object Model CORBA Architecture Static Invocation Dynamic Invocation CORBA Communication Model.
Lecture 14: Distributed Multimedia Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
CS 582 / CMPE 481 Distributed Systems
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 11: CORBA.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Slides for Chapter 10: Time and Global State
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Time and Global States Chapter 11. Why time? Time is an Important and interesting issue in distributes systems. One we can measure accurately. Can use.
Notes from “Distributed Systems Concepts and Design” by Coulouris
1 CS 194: Distributed Systems Distributed based Object Systems Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 9: Time, Coordination and Replication Dr. Michael R. Lyu Computer.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 13: CORBA.
1 Outline *  Introduction  Characteristics of multimedia data  Quality of service management  Resource management  Stream adaptation  Case study:
By Dr. Jiang B. Liu 11. Java IDL and CORBA  Generic ORB Core  idltojava development tool  CORBA Object Service (COS) name service - nameserv  Java.
CORBA Chapter 17 Coulouris text. Today’s Topics CORBA History and goals CORBA RMI CORBA services The Distributed Whiteboard Revisited.
Slides for Chapter 5: Communication between distributed objects
Lecture 15: Distributed Multimedia Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
Distributed Objects and Remote Invocation: RMI and CORBA Most concepts are drawn from Chapter 17 © Pearson Education Rajkumar Buyya, Xingchen Chu, Rodrigo.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 8: Distributed.
Distributed Multimedia Systems David Immordino. Introduction 4 A multimedia application is a real-time system responsible for the delivering and receiving.
Advanced Computer Networks Lecture 3 Distributed Multimedia Systems.
Dr. M. Munlin Real-Time and Multimedia Systems 1 NETE0516 Operating Systems Instructor: ผ. ศ. ดร. หมัดอามีน หมัน หลิน Faculty of Information Science and.
Information Management NTU Interprocess Communication and Middleware.
Copyright (c) Qusay H. Mahmoud 1 The Naming Service (Client’s View) A tree-like directory for object references Much like a file system: provides directory.
Slides for Chapter 14: Replication From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001.
CS Distributed Computing Systems Chapter 17: CORBA Chin-Chih Chang, From Coulouris, Dollimore and Kindberg Distributed Systems:
CORBA – Command Line CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Lecture 5: RPC and Distributed Objects Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
CORBA Details Three Tier Architecture CORBA API Holders and Helpers COS Naming and Naming Contexts Transient and Persistent Objects Properties Callbacks.
Slides for Chapter 17: CORBA Case Study From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 11: Distributed Multimedia Systems Dr. Michael R. Lyu Computer.
Update on CORBA Support for Babel RMI Nanbor Wang and Roopa Pundaleeka Tech-X Corporation Boulder, CO Funded by DOE OASCR SBIR.
CORBA – Eclipse CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
WEB SERVICES 1 From Chapter 19 of Distributed Systems Concepts and Design,4 th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Fault Tolerant Services
NJIT 1 Distributed Multimedia Systems Coulouris, Dollimore and Kindberg, Distributed Systems, Concepts and Design, Chapter 17 Prepared by: Pravin Kumar.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
Slides for Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
IDL Models The Inheritance Model: Using the Inheritance Model, you implement the IDL interface using an implementation class that also extends the compiler-generated.
Introduction Characteristics of multimedia data Quality of service management Resource management Stream adaptation Case study: the Tiger video file server.
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
PERFORMANCE MANAGEMENT IMPROVING PERFORMANCE TECHNIQUES Network management system 1.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Replication Chapter Katherine Dawicki. Motivations Performance enhancement Increased availability Fault Tolerance.
CORBA Barış COŞKUN Çağatay DİKİCİ. INTRODUCTION Computer networks are heterogenous In 1989 OMG(Object Management Group) was formed to address the problems.
Introduction to CORBA.
Communication between distributed objects Remote procedure call
Communication between distributed objects Remote procedure call
Edition 5, © Addison-Wesley 2012
Distributed Systems Course Topics in distributed objects
Slides for Chapter 5: Distributed objects and remote invocation
Remote method invocation (RMI)
Slides for Chapter 15: Replication
Slides for Chapter 11: Time and Global State
Exercises for Chapter 20: CORBA CASE STUDY
CORBA Programming B.Ramamurthy Chapter 3 5/2/2019.
Jenhui Chen Office number:
Slides for Chapter 14: Time and Global States
Presentation transcript:

Distributed Systems Concepts Ch. 10 and 14-17

Figure 10.1 Skew between computer clocks in a distributed system

Figure 10.2 Clock synchronization using a time server m r m t p Time server,S

Figure 10.3 An example synchronization subnet in an NTP implementation Note: Arrows denote synchronization control, numbers denote strata.

Figure 10.4 Messages exchanged between a pair of NTP peers T i T i-1 T i-2 T i-3 Server B Server A Time mm' Time

Figure 10.5 Events occurring at three processes

Figure 10.6 Lamport timestamps for the events shown in Figure 10.5

Figure 10.7 Vector timestamps for the events shown in Figure 10.5

Figure 10.8 Detecting global properties

Figure 10.9 Cuts

Figure Chandy and Lamport’s ‘snapshot’ algorithm Marker receiving rule for process p i On p i ’s receipt of a marker message over channel c: if (p i has not yet recorded its state) it records its process state now; records the state of c as the empty set; turns on recording of messages arriving over other incoming channels; else p i records the state of c as the set of messages it has received over c since it saved its state. end if Marker sending rule for process p i After p i has recorded its state, for each outgoing channel c: p i sends one marker message over c (before it sends any other message over c).

Figure Two processes and their initial states

Figure The execution of the processes in Figure 10.11

Figure Reachability between states in the snapshot algorithm

Figure Vector timestamps and variable values for the execution of Figure 10.9

Chapter 11,12, and 13 Are on transaction an concurrency control that are typically covered in a data base course.

Ch 14: Fault Tolerance

Figure 14.1 A basic architectural model for the management of replicated data FE Requests and replies C Replica C Service Clients Front ends managers RM FE RM

Figure 14.2 Services provided for process groups Join Group address expansion Multicast communication Group send Fail Group membership management Leave Process group

Figure 14.3 View-synchronous group communication

Figure 14.4 The passive (primary-backup) model for fault tolerance FE C C RM Primary Backup RM

Figure 14.5 Active replication FEC CRM

Ch.15: Distributed Multimedia Systems

Figure 15.1 A distributed multimedia system

Figure 15.2 The window of scarcity for computing and communication resources

Figure 15.3 Characteristics of typical multimedia streams Data rate (approximate) Sample or frame size frequency Telephone speech64 kbps8 bits8000/sec CD-quality sound1.4 Mbps16 bits44,000/sec Standard TV video (uncompressed) 120 Mbpsup to 640x 480 pixelsx 16 bits 24/sec Standard TV video (MPEG-1 compressed) 1.5 Mbpsvariable24/sec HDTV video (uncompressed) 1000–3000 Mbpsup to 1920x 1080 pixelsx 24 bits 24–60/sec HDTV video MPEG-2 compressed) 10–30 Mbpsvariable24–60/sec

Figure 15.4 Typical infrastructure components for multimedia applications

Figure 15.5 QoS specifications for components of the application shown in Figure 15.4 ComponentBandwidthLatencyLoss rateResources required Camera Out:10 frames/sec, raw video 640x480x16 bits Zero ACodecIn: Out: 10 frames/sec, raw video MPEG-1 stream InteractiveLow10 ms CPU each 100 ms; 10 Mbytes RAM BMixerIn: Out: 2 44 kbps audio 1 44 kbps audio InteractiveVery low1 ms CPU each 100 ms; 1 Mbytes RAM HWindow system In: Out: various 50 frame/sec framebuffer InteractiveLow5 ms CPU each 100 ms; 5 Mbytes RAM KNetwork connection In/Out:MPEG-1 stream, approx. 1.5 Mbps InteractiveLow1.5 Mbps, low-loss stream protocol LNetwork connection In/Out:Audio 44 kbpsInteractiveVery low44 kbps, very low-loss stream protocol

Figure 15.6 The QoS manager’s task

Figure 15.7 Traffic shaping algorithms

Figure 15.8 The RFC 1363 Flow Spec Protocol version Maximum transmission unit Token bucket rate Token bucket size Maximum transmission rate Minimum delay noticed Maximum delay variation Loss sensitivity Burst loss sensitivity Loss interval Quality of guarantee Bandwidth: Delay: Loss:

Figure 15.9 Filtering Source Targets High bandwidth Medium bandwidth Low bandwidth

Figure Tiger video file server hardware configuration Controller Cub 0Cub 1Cub 2Cub 3Cub n ATM switching network video distribution to clients Start/Stop requests from clients low-bandwidth network high-bandwidth 0n+11n+2 2 n+3n+4n2n+13

Figure Tiger schedule 012 slot 0 viewer 4 slot 1 free slot 2 free slot 3 viewer 0 slot 4 viewer 3 slot 5 viewer 2 slot 6 free slot 7 viewer 1 block play time T block service time t state

16: Distributed Shared Memory

Figure 16.1 The distributed shared memory abstraction

Figure 16.2 Mether system program - slide 1 #include "world.h" structshared { int a,b; }; Program Writer: main() { struct shared *p; methersetup(); /* Initialize the Mether run-time */ p = (struct shared *)METHERBASE; /* overlay structure on METHER segment */ p->a = p->b = 0;/* initialize fields to zero */ while(TRUE){/* continuously update structure fields */ p –>a = p –>a + 1; p –>b = p –>b - 1; } Continued on next slide...

Figure 16.2 Mether system program - slide 2 Program Reader: main() { struct shared *p; methersetup(); p = (struct shared *)METHERBASE; while(TRUE) {/* read the fields once every second */ printf("a = %d, b = %d\n", p –>a, p –>b); sleep(1); }

Figure 16.5 DSM using write-update

Figure 16.6 Data items laid out over pages

Figure 17.1 IDL interfaces Shape and ShapeList struct Rectangle{ 1 long width; long height; long x; long y; } ; struct GraphicalObject {2 string type; Rectangle enclosing; boolean isFilled; }; interface Shape {3 long getVersion() ; GraphicalObject getAllState() ; // returns state of the GraphicalObject }; typedef sequence All; 4 interface ShapeList {5 exception FullException{ }; 6 Shape newShape(in GraphicalObject g) raises (FullException);7 All allShapes();// returns sequence of remote object references8 long getVersion() ; };

Figure 17.2 Java interface ShapeList generated by idltojava from CORBA interface ShapeList public interface ShapeList extends org.omg.CORBA.Object { Shape newShape(GraphicalObject g) throws ShapeListPackage.FullException; Shape[] allShapes(); int getVersion(); }

Figure 17.3 ShapeListServant class of the Java server program for CORBA interface ShapeList import org.omg.CORBA.*; class ShapeListServant extends _ShapeListImplBase { ORB theOrb; private Shape theList[]; private int version; private static int n=0; public ShapeListServant(ORB orb){ theOrb = orb; // initialize the other instance variables } public Shape newShape(GraphicalObject g) throws ShapeListPackage.FullException {1 version++; Shape s = new ShapeServant( g, version); if(n >=100) throw new ShapeListPackage.FullException(); theList[n++] = s;2 theOrb.connect(s); return s; } public Shape[] allShapes(){... } public int getVersion() {... } }

Figure 17.4 Java class ShapeListServer import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; public class ShapeListServer { public static void main(String args[]) { try{ ORB orb = ORB.init(args, null);1 ShapeListServant shapeRef = new ShapeListServant(orb);2 orb.connect(shapeRef);3 org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); 4 NamingContext ncRef = NamingContextHelper.narrow(objRef); NameComponent nc = new NameComponent("ShapeList", "");5 NameComponent path[] = {nc};6 ncRef.rebind(path, shapeRef); 7 java.lang.Object sync = new java.lang.Object(); synchronized (sync) { sync.wait();} } catch (Exception e) {... } }

Figure 17.5 Java client program for CORBA interfaces Shape and ShapeList import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; public class ShapeListClient{ public static void main(String args[]) { try{ ORB orb = ORB.init(args, null); 1 org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); NamingContext ncRef = NamingContextHelper.narrow(objRef); NameComponent nc = new NameComponent("ShapeList", ""); NameComponent path [] = { nc }; ShapeList shapeListRef = ShapeListHelper.narrow(ncRef.resolve(path)); 2 Shape[] sList = shapeListRef.allShapes(); 3 GraphicalObject g = sList[0].getAllState(); 4 } catch(org.omg.CORBA.SystemException e) {...} }

Figure 17.6 The main components of the CORBA architecture client server proxy or dynamic invocation implementation repository object adapter ORB skeleton or dynamic skeleton client program interface repository Request Reply core for A Servant A

Figure 17.7 IDL module Whiteboard module Whiteboard { struct Rectangle{...} ; struct GraphicalObject {...}; interface Shape {...}; typedef sequence All; interface ShapeList {...}; };

Figure 17.8 IDL constructed types – 1 TypeExamplesUse sequence typedef sequence All; typedef sequence All bounded and unbounded sequences of Shapes Defines a type for a variable-length sequence of elements of a specified IDL type. An upper bound on the length may be specified. string String name; typedef string SmallString; unboundedand bounded sequences of characters Defines a sequences of characters, terminated by the null character. An upper bound on the length may be specified. array typedef octet uniqueId[12]; typedef GraphicalObject GO[10][8] Defines a type for a multi-dimensional fixed-length sequence of elements of a specified IDL type. this figure continues on the next slide

Figure 17.8 IDL constructed types – 2 TypeExamplesUse record struct GraphicalObject { string type; Rectangle enclosing; boolean isFilled; }; Defines a type for a record containing a group of related entities. Structs are passed by value in arguments and results. enumerated enum Rand (Exp, Number, Name); The enumerated type in IDL maps a type name onto a small set of integer values. union union Exp switch (Rand) { case Exp: string vote; case Number: long n; case Name: string s; The IDL discriminated union allows one of a given set of types to be passed as an argument. The header is parameterized by anenum, which specifies which member is in use. };

Page 684 CORBA interoperable object references IOR format IDL interface type nameProtocol and address detailsObject key interface repository identifier IIOPhost domain name port numberadapter name object name

Figure 17.9 Naming graph in CORBA Naming Service initial naming context ShapeList C DE B initial naming context P R S T V Q U XX

Figure Part of the CORBA Naming Service NamingContext interface in IDL struct NameComponent { string id; string kind; }; typedef sequence Name; interface NamingContext { void bind (in Name n, in Object obj); binds the given name and remote object reference in my context. void unbind (in Name n); removes an existing binding with the given name. void bind_new_context(in Name n); creates a new naming context and binds it to a given name in my context. Object resolve (in Name n); looks up the name in my context and returns its remote object reference. void list (in unsigned long how_many, out BindingList bl, out BindingIterator bi); returns the names in the bindings in my context. };

Figure CORBA event channels consumer supplier proxy consumer notification proxy supplier event channel notification