1 Distributed Systems Distributed Object-Based Systems Chapter 10.

Slides:



Advertisements
Similar presentations
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Advertisements

Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Distributed File Systems Chapter 11
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.
Centralized Architectures
Communication in Distributed Systems –Part 2
Distributed Coordination-Based Systems Chapter 13
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Remote Procedure Calls. 2 Client/Server Paradigm Common model for structuring distributed computations A server is a program (or collection of programs)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Lesson 3 Remote Method Invocation (RMI) Mixing RMI and sockets Rethinking out tic-tac-toe game.
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.
1 J2EE Components. 2 Application Servers relieve the programming burden for business distributed components. They provide support for system level services.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W
Replication & EJB Graham Morgan. EJB goals Ease development of applications –Hide low-level details such as transactions. Provide framework defining the.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 4 Communication.
11 September 2008CIS 340 # 1 Topics To examine the variety of approaches to handle the middle- interaction (continued) 1.RPC-based systems 2.TP monitors.
Architectures of distributed systems Fundamental Models
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.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved TDTS04 Föreläsning.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Implementing Simple Replication Protocols using CORBA Portable Interceptors and Java Serialization T. Bennani, L. Blain, L. Courtes, J.-C. Fabre, M.-O.
Update on CORBA Support for Babel RMI Nanbor Wang and Roopa Pundaleeka Tech-X Corporation Boulder, CO Funded by DOE OASCR SBIR.
GLOBE DISTRIBUTED SHARED OBJECT. INTRODUCTION  Globe stands for GLobal Object Based Environment.  Globe is different from CORBA and DCOM that it supports.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
1 Distributed Systems Distributed Web-Based Systems Chapter 12.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Today: Distributed Objects and Components 1. Me Greg Paperin MSci Computer Science href= 2.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Distributed objects and remote invocation Pages
Middleware Technology (J2EE/EJB) EJB Fundamentals.
Java Distributed Object Model A remote object is one whose methods can be invoked from another JVM on a different host. It implements one or more remote.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
Computer Science Lecture 4, page 1 CS677: Distributed OS Last Class: RPCs RPCs make distributed computations look like local computations Issues: –Parameter.
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.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Java Distributed Object System
Presentation on Distributed Object-Based Systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DISTRIBUTED COMPUTING
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
7.1. CONSISTENCY AND REPLICATION INTRODUCTION
Distributed Object-based systems
Architectures of distributed systems Fundamental Models
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Architectures of distributed systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Architectures of distributed systems Fundamental Models
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Presentation transcript:

1 Distributed Systems Distributed Object-Based Systems Chapter 10

2 Course/Slides Credits Note: all course presentations are based on those developed by Andrew S. Tanenbaum and Maarten van Steen. They accompany their "Distributed Systems: Principles and Paradigms" textbook (1 st & 2 nd editions). hor_tanenbaum/custom/dist_sys_1e/index.html hor_tanenbaum/custom/dist_sys_1e/index.html And additions made by Paul Barry in course CW046-4: Distributed Systems

3 Distributed Objects Common organization of a remote object with client-side proxy

4 Example: Enterprise Java Beans (EJB) General architecture of an EJB server

5 Four Types of EJBs 1.Stateless session beans 2.Stateful session beans 3.Entity beans 4.Message-driven beans

6 Globe Distributed Shared Objects (1) The organization of a Globe distributed shared object

7 Globe Distributed Shared Objects (2) The general organization of a local object for distributed shared objects in Globe

8 Object Server/Adapter Organization of an object server supporting different activation policies

9 Example: The Ice Runtime System Example of creating an object server in Ice

10 Binding a Client to an Object ( a) An example with implicit binding using only global references. (b) An example with explicit binding using global and local references.

11 Parameter Passing The situation when passing an object by reference or by value

12 Object-Based Messaging (1) CORBA’s callback model for asynchronous method invocation

13 Object-Based Messaging (2) CORBA’s polling model for asynchronous method invocation

14 CORBA Object References The organization of an IOR with specific information for IIOP

15 Globe Object References (1) The representation of a protocol layer in a stacked contact address

16 Globe Object References (2) The representation of an instance contact address

17 Synchronization Differences in control flow for locking objects

18 Concurrent Object Access: Problem Organization of a distributed remote object shared by two different clients. But, how do we protect the object in the presence of multiple simultaneous access?

19 Concurrent Object Access: Solutions a)A remote object capable of handling concurrent invocations on its own. b)A remote object for which an object adapter is required to handle concurrent invocations (relies on middleware).

20 Object Replication: Solutions a)A distributed system for replication-aware distributed objects – the object itself is “aware” that it is replicated. This is a very flexible set-up, but can be costly in that the DS developer has to concern themselves with replication/consistency. b)A distributed system responsible for replica management – less flexible, but removes burden from the DS developer. The most common approach.

21 Entry Consistency Deterministic thread scheduling for replicated object servers

22 Replication Frameworks (1) Invocations to objects are intercepted at three different points: 1.At the client side just before the invocation is passed to the stub. 2.Inside the client’s stub, where the interception forms part of the replication algorithm. 3.At the server side, just before the object is about to be invoked.

23 Replication Frameworks (2) A general framework for separating replication algorithms from objects in EJB environment

24 Replicated Invocations (1) The problem of replicated method invocations

25 Replicated Invocations (2) (a) Forwarding an invocation request from a replicated object to another replicated object

26 Replicated Invocations (3) (b) Returning a reply from one replicated object to another

27 Example: Fault-Tolerant CORBA A possible organization of an IOGR for an object group having a primary and backups

28 An Example Architecture An example architecture of a fault-tolerant CORBA system

29 Example: Fault-Tolerant Java Causes for nondeterministic behavior: 1.JVM can execute native code, that is, code that is external to the JVM and provided to the latter through an interface. 2.Input data may be subject to non- determinism. 3.In the presence of failures, different JVMs will produce different output revealing that the machines have been replicated.

30 Overview of Globe Security Certificates in Globe: (a) a user certificate, (b) a replica certificate, (c) an administrative certificate.

31 Secure Method Invocation (1) Secure method invocation in Globe

32 Secure Method Invocation (2) Steps for securely invoking a method of a Globe object: 1.Application issues a invocation request by locally calling the associated method 2.Control sub-object checks the user permissions with the information stored in the local security object. 3.Request is marshaled and passed on. 4.Replication sub-object requests the middleware to set up a secure channel to a suitable replica.

33 Secure Method Invocation (3) 5.Security object first initiates a replica lookup. 6.Once a suitable replica has been found, security sub-object can set up a secure channel with its peer, after which control is returned to the replication sub-object. 7.Request is now passed on to the communication sub-object. 8.Sub-object encrypts and signs the request so that it can pass through the channel.

34 Secure Method Invocation (4) 9.After its receipt, the request is decrypted and authenticated. 10.Request then passed on to the server-side replication sub-object. 11.Authorization takes place: 12.Request is then unmarshaled. 13.Finally, the operation can be executed.