Distributed Systems/Middleware JavaSpaces
|
|
- Osborne Johnathan Russell
- 5 years ago
- Views:
Transcription
1 Distributed Systems/Middleware JavaSpaces Alessandro Sivieri Dipartimento di Elettronica e Informazione Politecnico, Italy sivieri@elet.polimi.it Slides based on previous works by Alessandro Margara
2 Linda and tuple spaces Data sharing model proposed in the 80s by Carriero and Gelernter, mostly used for parallel computation Recently revitalized in the context of distributed computing E.g., IBM TSpaces, Sun JavaSpaces, GigaSpaces Also used in WSNs, e.g. TeenyLime Communication is persistent, implicit, content-based, generative High degree of decoupling Workers Tuple Space < Japan, Kyoto > in(p) < USA, Los Angeles > < USA, St. Louis > rd(p) out(t) < Italy, Milan > Distributed Systems: MOM & Shared Data Spaces 2
3 Linda in a nutshell Data is contained in ordered sequences of typed fields (tuples) Tuples are stored in a persistent, global shared space (tuple space) Standard operations: out(t): writes the tuple t in the tuple space rd(p): returns a copy of a tuple matching the pattern (or template) p, if it exists Blocks waiting for matching tuples otherwise If many matching tuples exist, one is chosen nondeterministically in(p): like rd(p), but withdraws the matching tuple from the tuple space Some implementations provide also an eval(a), which inserts the tuple generated by the execution of a process a Distributed Systems: MOM & Shared Data Spaces 3
4 Linda in a nutshell Many variants: Asynchronous, non-blocking primitives (probes): rdp(p) and inp(p) Return immediately a null value if the matching tuple is not found Bulk primitives: e.g., rdg(p) Some of the non-standard primitives have non-trivial distributed implementations E.g., if atomicity is to be preserved, probes require a distributed transaction Distributed Systems: MOM & Shared Data Spaces 4
5 Architectural issues The tuple space model is not easily scaled on a wide-area network How to store/replicate tuples efficiently How to route queries efficiently The model is only proactive Processes explicitly request a tuple query reactive/asynchronous behavior must implemented with an extra process and a blocking operation As a consequence, commercial implementations: Provide only client access to a server holding the tuple space Instead of a fully distributed, decentralized implementation Introduce reactive primitives e.g., notify allows to register a listener, invoked when a matching tuple is written Distributed Systems: MOM & Shared Data Spaces 5
6 Jini Jini is a distributed services architecture developed at Sun focusing on network dynamicity It is composed by several specifications Discovery, registration, and binding of service Configuration Security Coordination Javaspaces, Mailboxes, Remote Event Notification Fault Tolerance Leasing, Transactions Specs reference implementation: Jini Starter Kit Now called Apache River Distributed Systems: MOM & Shared Data Spaces 6
7 Apache River Apache River provides Jini Specifications Helper Classes that implement them Services that implement them It is built on top of J2SE technology Not compatible with Java 7 Security Discovery Leasing Transactions Notifications Configuration Discovery Classes Join Manager Lease Renewal Manager Lookup Service Lease Renewal Service Transaction Manager JavaSpace RMI JERI Activation Distributed Systems: MOM & Shared Data Spaces 7
8 Browsing the SDK Three important services (for our examples): 1. HTTP server (codebase) 2. Lookup service ( Reggie ) 3. JavaSpaces service ( Outrigger ) Other services: Transaction service ( Mahalo ) RMI implementation ( Phoenix ) Event Mailbox service ( Mercury ) Leases ( Norm ) Distributed Systems: MOM & Shared Data Spaces 8
9 Discovery Service Oriented Architecture Applications are composed of services When an application needs to perform a task, it searches for a service providing the suitable functionality Services are usually not bound to each other at design/compile time but they discover each other at runtime The process of searching for a suitable service is performed through a special service called registry Distributed Systems: MOM & Shared Data Spaces 9
10 Typical Jini interaction One of Jini s main goal is to seamlessly discover who is providing a service: once this is achieved, the service is usually performed using RMI Discovery of services is aided by a Lookup Service (LUS) You can think of it as an RMI registry for resolving interfaces instead of names Exploits mobile code: service proxies are dynamically downloaded, and enable the client to use a service without pre-deployed code Lookup Service usually returns a proxy Service usually RMI invocation Consumer Distributed Systems: MOM & Shared Data Spaces 10
11 Discovery protocol The Lookup Service is essential for discovering other services To bootstrap the system (i.e. to discover the Lookup Services) a discovery protocol is used Each Lookup Service belongs to one or more groups Discovery is done broadcasting a simple UDP packet with the groups of interests In response to this UDP packet, a TCP connection is created and a ServiceRegistrar is transferred (a proxy of the Lookup Service) Distributed Systems: MOM & Shared Data Spaces 11
12 Discovery: Synch Helper Classes Discovery Classes implement the discovery protocol LookupLocator The simplest: it has a synchronous interface unicast discovery Takes a String url (es. jini://bla.bla.bla ) Distributed Systems: MOM & Shared Data Spaces 12
13 Discovery: Async Helper Classes More general with asynchronous interfaces LookupDiscovery(String[] groups) LookupLocatorDiscovery(String[] urls) LookupDiscoveryManager(String[] urls, String[] groups) It combines the behaviors of LookupDiscovery and LookupLocatorDiscovery Distributed Systems: MOM & Shared Data Spaces 13
14 Discovery: Async Helper Classes After the creation of a xxxdiscovery class you have to add a listener to receive notifications of DiscoveryEvent The listener must implement two methods void discovered(discoveryevent e) Brings information about all discovered Lookup Services void discarded(discoveryevent e) It is called after 4 missed multicast announcements e.getregistrars() returns an array of discovered Registrars Distributed Systems: MOM & Shared Data Spaces 14
15 Discovery: Join example After obtaining a ServiceRegistrar (a stub to the lookup service) we can join or lookup a service Lease period Service Id: null if the service was never exported before Stub of the object (through UnicastRemote Object.toStub) Optional attributes (service description) Distributed Systems: MOM & Shared Data Spaces 15
16 Discovery: Lookup example In the case I want to specify the service instance This is the interface to lookup These are the attributes describing the service Distributed Systems: MOM & Shared Data Spaces 16
17 Leasing Service registration, like many Jini operations is subject to leasing It s a way to provide self-healing in the network Whenever an operation which is subject to a lease is invoked The client requests a lease duration The server (lease grantor) could provide a lease with a shorter duration The client must check Distributed Systems: MOM & Shared Data Spaces 17
18 Leasing Lease interface renew cancel getexpiration A convenient way of dealing with leases is using a LeaseRenewalManager It offers methods for automatic leases renewal renewfor renewuntil Distributed Systems: MOM & Shared Data Spaces 18
19 JavaSpaces Sun OO Implementation of the Linda Model Fields are Java Object derived from the Entry object It is provided as part of the Jini Middleware Architecture Also supports Remote Event Notifications and Transactions API Write an item (OUT) Read any one item given a template (READ) Blocking or not blocking Is not possible to read ALL matching items Take an item (IN) Probing versions are named xxxifexists Distributed Systems: MOM & Shared Data Spaces 19
20 JavaSpaces API Entry read(entry tmpl, Transaction txn, long timeout) Read any matching entry from the space, blocking until one exists. Entry readifexists(entry tmpl, Transaction txn, long timeout) Read any matching entry from the space, returning null if there is currently is none. Entry take(entry tmpl, Transaction txn, long timeout) Take a matching entry from the space, waiting until one exists Entry takeifexists(entry tmpl, Transaction txn, long timeout) Take a matching entry from the space, returning null if there is currently is none Lease write(entry entry, Transaction txn, long lease) Write a new entry into the space EventRegistration notify(entry tmpl, Transaction txn, RemoteEventListener listener, long lease, MarshalledObject handback) When entries are written that match this template notify the given listener with a RemoteEvent that includes the handback object. Distributed Systems: MOM & Shared Data Spaces 20
21 Entry Entries in Jini are used both to describe services and to write in JavaSpaces. It s a Java tuple An Entry must implement the tagging interface Entry (which extends serializable) may extend the AbstractEntry which provides equals, hashcode and tostring (calls these on each internal field of the entry) Fields of an entry are those of its members which are of public reference (i.e., Object) type You cannot store primitive types in fields of an Entry, use wrapper objects instead private/default fields are not considered An Entry must have an empty constructor (may have any number of other constructors or methods) Each field is serialized separately, so references between two fields of an entry will not be reconstituted to be shared references, but instead to separate copies of the original object Distributed Systems: MOM & Shared Data Spaces 21
22 Matching of entries Entries can be used also as templates for matching other entries An entry matches an entry template if the class of the template is the same as, or a superclass of, the class of the entry and every non-null field in the template equals the corresponding field of the entry entries can match more than one template Distributed Systems: MOM & Shared Data Spaces 22
23 Entry Example Distributed Systems: MOM & Shared Data Spaces 23
24 Example: service discovery Distributed Systems: MOM & Shared Data Spaces 24
25 Example: writer Distributed Systems: MOM & Shared Data Spaces 25
26 Example: reader Distributed Systems: MOM & Shared Data Spaces 26
27 Example: reader (blocking) Distributed Systems: MOM & Shared Data Spaces 27
28 Example: reader with listener Includes a marshalled object. A copy will be returned in the event captured by the listener Distributed Systems: MOM & Shared Data Spaces 28
29 Example: reader with listener We use the MarshalledObject to distinguish among events generated for different calls to the notify() method Distributed Systems: MOM & Shared Data Spaces 29
CA341 - Comparative Programming Languages
CA341 - Comparative Programming Languages David Sinclair There are 3 common memory models: RAM Random Access Memory is the most common memory model. In programming language terms, this means that variables
More informationUbiquitous Computing Summer Supporting distributed applications. Distributed Application. Operating System. Computer Computer Computer.
Episode 11: Middleware Hannes Frey and Peter Sturm University of Trier Middleware Supporting distributed applications Distributed Application Middleware Operating System Operating System Operating System
More informationPhiladelphia Area Java Users' Group December 12, 2001
Jini: What it is, how we use it, and where it's going Philadelphia Area Java Users' Group December 12, 2001 Michael Ogg CTO, Valaran Corporation http://www.valaran.com ogg@valaran.com Jini Overview v1.0
More informationMiddleware-Konzepte. Tuple Spaces. Dr. Gero Mühl
Middleware-Konzepte Tuple Spaces Dr. Gero Mühl Kommunikations- und Betriebssysteme Fakultät für Elektrotechnik und Informatik Technische Universität Berlin Agenda > Introduction > Linda Tuple Spaces >
More informationTrading Services for Distributed Enterprise Communications. Dr. Jean-Claude Franchitti. Presentation Agenda
Page 1 Trading Services for Distributed Enterprise Communications Dr. Jean-Claude Franchitti Presentation Agenda Enterprise Systems Technology Classifications Naming, Directory, and Trading Services in
More informationJini Technology Overview
Jini Technology Overview Bob Scheifler Senior Staff Engineer Sun Microsystems, Inc Talk outline very brief Jini overview Jini lookup service in some depth service types and type matching attributes and
More informationThe Jini architecture. Johan Petrini and Henning Sundvall
The Jini architecture Johan Petrini and Henning Sundvall Distributed Systems Fall 2002 Abstract A technology has been developed that exemplifies a new approach to the architecture of computing systems.
More informationPage 1. Extreme Java G Session 8 - Sub-Topic 2 OMA Trading Services
Extreme Java G22.3033-007 Session 8 - Sub-Topic 2 OMA Trading Services Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Trading Services
More informationA Tutorial on The Jini Technology
A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on The Jini Technology Lian Chen Introduction Jini network technology provides a simple
More informationLinda, JavaSpaces & Jini
ECE 451/566 - Introduction to Parallel and Distributed Computing Linda, JavaSpaces & Jini Manish Parashar parashar@ece.rutgers.edu Department of Electrical & Computer Engineering Rutgers University Linda
More informationDistributed Objects and Remote Invocation. Programming Models for Distributed Applications
Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure
More informationLecture 5: Object Interaction: RMI and RPC
06-06798 Distributed Systems Lecture 5: Object Interaction: RMI and RPC Distributed Systems 1 Recap Message passing: send, receive synchronous versus asynchronous No global Time types of failure socket
More informationJini and Universal Plug and Play (UPnP) Notes
Jini and Universal Plug and Play () Notes Abstract Jini and are overlapping technologies. They both address the area of device connectivity and the ability to dynamically make use of new devices on the
More informationImplementing Jini Servers without Object Serialization Support
Implementing Jini Servers without Object Serialization Support Tero Hasu Helsinki University of Technology Telecommunications Software and Multimedia Laboratory tero.hasu@hut.fi Abstract Jini is a technology
More informationJavaSpaces technology for distributed communication and collaboration. Chih-Yao Hsieh
JavaSpaces technology for distributed communication and collaboration Chih-Yao Hsieh Computer Science and Engineering University of Texas at Arlington chsieh@cse.uta.edu Abstract This paper will give an
More informationJavaSpaces Specification
JavaSpaces Specification The JavaSpaces technology package provides a distributed persistence and object exchange mechanism for code written in the Java programming language. Objects are written in entries
More informationElectronic Payment Systems (1) E-cash
Electronic Payment Systems (1) Payment systems based on direct payment between customer and merchant. a) Paying in cash. b) Using a check. c) Using a credit card. Lecture 24, page 1 E-cash The principle
More informationCommunication. Overview
Communication Chapter 2 1 Overview Layered protocols Remote procedure call Remote object invocation Message-oriented communication Stream-oriented communication 2 Layered protocols Low-level layers Transport
More informationUPnP Services and Jini Clients
UPnP Services and Jini Clients Jan Newmarch School of Network Computing Monash University jan.newmarch@infotech.monash.edu.au Abstract UPnP is middleware designed for network plug and play. It is designed
More information1 of 10 11/13/2007 7:35 AM CS 696 Emerging Technologies: Java Distributed Computing Spring Semester, 1999 Simple Jini Example Previous Lecture Notes Index Next 1999, All Rights Reserved, SDSU & Roger Whitney
More informationCommunication Paradigms
Communication Paradigms Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Interprocess Communication Direct Communication: Sockets Indirect Communication: IP Multicast 2. High Level Communication
More informationWendy Lee CHAPTER 1 INTRODUCTION. Jini which is based on Java platform is a network technology from Sun
An Introduction to the Madison Framework for Connecting JINI with Mobile Devices By Wendy Lee CHAPTER 1 INTRODUCTION 1.1 Background Jini which is based on Java platform is a network technology from Sun
More informationCALIFORNIA SOFTWARE LABS
Wrapping Jini Services in ActiveX CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway, Suite 100 Pleasanton CA 94566, USA. Phone (925) 249 3000 Fax
More information5.4. Events and notifications
5.4. Events and notifications Distributed event-based systems extend local event model Allowing multiple objects at diff. locations to be notified of events taking place at an object Two characteristics:
More informationDistributed Middleware. Distributed Objects
Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed
More informationService Provision in Ad Hoc Networks
Service Provision in Ad Hoc Networks Radu Handorean and Gruia-Catalin Roman Department of Computer Science Washington University Saint Louis, MO, 63130 {raduh, roman}@cs.wustl.edu Abstract. The client-server
More informationDistributed Programming in Java
Distributed Programming in Java Distribution (5) RPC-style middleware Disadvantages: Strongly coupled Synchronous Limited extensibility Advantages: Transparency. Type safety 2/24 Space-based middleware
More informationIndirect Communication
Indirect Communication To do q Today q q Space and time (un)coupling Common techniques q Next time: Overlay networks xkdc Direct coupling communication With R-R, RPC, RMI Space coupled Sender knows the
More informationBA (Hons) Degree in Computing Final Year Project Report (2001/2002)
BA (Hons) Degree in Computing Final Year Project Report (2001/2002) A Framework for an Agent-based Development Environment with Jini / JavaSpace Internet Integrated Development Environment Framework (Internet-IDEF)
More informationDistributed Systems. The main method of distributed object communication is with remote method invocation
Distributed Systems Unit III Syllabus:Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects- Object Model, Distributed Object Modal, Design Issues for RMI,
More informationCALIFORNIA SOFTWARE LABS
UPnP,Jini and Salutation - A look at some popular coordination frameworks for future networked CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway,
More informationSupport Readiness Document Jini Technology Starter Kit 1.1
Support Readiness Document Jini Technology Starter Kit 1.1 Sun Microsystems, Inc. Market Development and Developer Relations Support Readiness Education Support Readiness Document Jini Technology Starter
More informationAdvanced Topics in Operating Systems
Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:
More informationLinda, FT-Linda, and Jini
1 Linda, FT-Linda, and Jini A concrete Example of CDKB5 Chapter 6: Indirect Communications Prof. Dave Bakken CptS 464/564 February 7, 2018 2 Outline of Lecture & Further Resources Linda TM http://www.cs.yale.edu/linda/linda.html
More informationLecture 06: Distributed Object
Lecture 06: Distributed Object Distributed Systems Behzad Bordbar School of Computer Science, University of Birmingham, UK Lecture 0? 1 Recap Interprocess communication Synchronous and Asynchronous communication
More informationOutline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4
EEC-681/781 Distributed Computing Systems Lecture 4 Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org Outline Inter-process communications Computer networks
More informationJini Architecture Specification
Jini Architecture Specification A Jini system is a Java technology-centered, distributed system designed for simplicity, flexibility, and federation. The Jini architecture provides mechanisms for machines
More informationJini Supporting Ubiquitous and Pervasive Computing
Jini Supporting Ubiquitous and Pervasive Computing Kasper Hallenborg and Bent Bruun Kristensen Maersk Mc-Kinney Moller Institute University of Southern Denmark Odense M, 5230, Denmark {khp,bbk}@mip.sdu.dk
More informationChapter 2 Architectures. Software Architectures
Chapter 2 Architectures Software architectures of distributed systems System architectures of distributed systems 1 Software Architectures Software architecture describes how the software components are
More informationIndirect Communication
Indirect Communication Today l Space and time (un)coupling l Group communication, pub/sub, message queues and shared memory Next time l Distributed file systems xkdc Indirect communication " Indirect communication
More informationDesarrollo de Aplicaciones en Red RMI. Introduction. Considerations. Considerations. RMI architecture
session Desarrollo de Aplicaciones en Red José Rafael Rojano Cáceres http://www.uv.mx/rrojano RMI Remote Method Invocation Introduction Java RMI let s work calling remote methods. Underneath it works with
More informationDistributed Programming in Java. Distribution (2)
Distributed Programming in Java Distribution (2) Remote Method Invocation Remote Method Invocation (RMI) Primary design goal for RMI is transparency Should be able to invoke remote objects with same syntax
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 3: Communication (Part 2) Remote Procedure
More informationInterprocess Communication
Interprocess Communication Nicola Dragoni Embedded Systems Engineering DTU Informatics 4.2 Characteristics, Sockets, Client-Server Communication: UDP vs TCP 4.4 Group (Multicast) Communication The Characteristics
More informationDISTRIBUTED OBJECTS AND REMOTE INVOCATION
DISTRIBUTED OBJECTS AND REMOTE INVOCATION Introduction This chapter is concerned with programming models for distributed applications... Familiar programming models have been extended to apply to distributed
More informationA Custom Lookup Service for UPnP Services and Jini Clients
A Custom Lookup Service for UPnP Services and Jini Clients Jan Newmarch School of Network Computing Monash University jan.newmarch@infotech.monash.edu.au Abstract UPnP is middleware designed for network
More informationCOMMUNICATION IN DISTRIBUTED SYSTEMS
Distributed Systems Fö 3-1 Distributed Systems Fö 3-2 COMMUNICATION IN DISTRIBUTED SYSTEMS Communication Models and their Layered Implementation 1. Communication System: Layered Implementation 2. Network
More informationJini Connection Technology Architecture Overview
Jini Connection Technology Architecture Overview Bill Day bill.day@sun.com www.billday.com Technology Evangelist Sun Microsystems Agenda Why Jini? What is Jini? Jini Architecture Overview The Details Example
More informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationone.world Towards a System Architecture for Pervasive Computing
Towards a System Architecture for Pervasive Computing Robert Grimm, Janet Davis, Ben Hendrickson, Eric Lemar, Tom Anderson, Brian Bershad, Gaetano Borriello, David Wetherall University of Washington Vision
More informationCHAPTER - 4 REMOTE COMMUNICATION
CHAPTER - 4 REMOTE COMMUNICATION Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics
More informationCommunication. Outline
COP 6611 Advanced Operating System Communication Chi Zhang czhang@cs.fiu.edu Outline Layered Protocols Remote Procedure Call (RPC) Remote Object Invocation Message-Oriented Communication 2 1 Layered Protocols
More informationMODELS OF DISTRIBUTED SYSTEMS
Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between
More informationPage 1. CS 194: Distributed Systems Distributed Coordination-based Systems. Coordination Systems. Taxonomy of Coordination Models
Coordination Systems CS 194: Distributed Systems Distributed Coordination-based Systems Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences
More informationChapter 5: Distributed objects and remote invocation
Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 Figure 5.1 Middleware layers Applications
More informationComputer and Automation Research Institute Hungarian Academy of Sciences. Jini and the Grid. P. Kacsuk
Computer and Automation Research Institute Hungarian Academy of Sciences Jini and the Grid P. Kacsuk Laboratory of Parallel and Distributed Systems MTA SZTAKI Research Institute kacsuk@sztaki.hu www.lpds.sztaki.hu
More informationAdaptive Cluster Computing using JavaSpaces
Adaptive Cluster Computing using JavaSpaces Jyoti Batheja and Manish Parashar The Applied Software Systems Lab. ECE Department, Rutgers University Outline Background Introduction Related Work Summary of
More informationQuestions and Answers. A. RMI allows us to invoke a method of java object that executes on another machine.
Q.1) What is Remote method invocation (RMI)? A. RMI allows us to invoke a method of java object that executes on another machine. B. RMI allows us to invoke a method of java object that executes on another
More informationToday: Distributed Objects. Distributed Objects
Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.
More informationPARALLEL PROGRAM EXECUTION SUPPORT IN THE JGRID SYSTEM
PARALLEL PROGRAM EXECUTION SUPPORT IN THE JGRID SYSTEM Szabolcs Pota 1, Gergely Sipos 2, Zoltan Juhasz 1,3 and Peter Kacsuk 2 1 Department of Information Systems, University of Veszprem, Hungary 2 Laboratory
More informationToday: More Case Studies DCOM
Today: More Case Studies DCOM Jini Lecture 24, page 1 DCOM Distributed Component Object Model Microsoft s object model (middleware) Lecture 24, page 2 DCOM: History Successor to COM Developed to support
More informationQ.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial.
Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial. Reduces cost by allowing a single resource for a number of users, rather than a identical resource for each
More informationRPC and RMI. 2501ICT Nathan
RPC and RMI 2501ICT Nathan Contents Client/Server revisited RPC Architecture XDR RMI Principles and Operation Case Studies Copyright 2002- René Hexel. 2 Client/Server Revisited Server Accepts commands
More informationRemote Method Invocation. Benoît Garbinato
Remote Method Invocation Benoît Garbinato Fundamental idea (1) Rely on the same programming paradigm for distributed applications as for centralized applications In procedural languages, we will rely on
More informationRemote Method Invocation Benoît Garbinato
Remote Method Invocation Benoît Garbinato 1 Fundamental idea (1) Rely on the same programming paradigm for distributed applications as for centralized applications In procedural languages, we will rely
More informationTime and Space. Indirect communication. Time and space uncoupling. indirect communication
Time and Space Indirect communication Johan Montelius In direct communication sender and receivers exist in the same time and know of each other. KTH In indirect communication we relax these requirements.
More informationJini for Ubiquitous Devices
Jini for Ubiquitous Devices Polly Huang, Vincent Lenders, Philipp Minnig, Mario Widmer Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology - Zürich {huang, lenders}@tik.ee.ethz.ch,
More informationScreen Saver Science: Realizing Distributed Parallel Computing with Jini and JavaSpaces
Screen Saver Science: Realizing Distributed Parallel Computing with Jini and JavaSpaces William L. George and Jacob Scott National Institute of Standards and Technology Information Technology Laboratory
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationChapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS Distributed Objects Figure 10-1. Common organization of a remote
More informationLearning Objective. Project Objective
Table of Contents 15-440: Project 1 Remote File Storage and Access Kit (File Stack) Using Sockets and RMI Design Report Due Date: 14 Sep 2011 Final Due Date: 3 Oct 2011 Learning Objective...1 Project Objective...1
More informationLecture 9. Part I. Overview of Message Passing. Communication Coupling. Decoupling Blackboard. Decoupling Broadcast. Linda and Erlang.
Lecture 9 Part I Linda and Erlang Linda Overview of Message Passing Communication Coupling One process sends a message Another process awaits for a message We will consider two dimensions of this approach:
More informationObject Interaction. Object Interaction. Introduction. Object Interaction vs. RPCs (2)
Introduction Objective To support interoperability and portability of distributed OO applications by provision of enabling technology Object interaction vs RPC Java Remote Method Invocation (RMI) RMI Registry
More informationSFDV3006 Concurrent Programming
SFDV3006 Concurrent Programming Lecture 6 Concurrent Architecture Concurrent Architectures Software architectures identify software components and their interaction Architectures are process structures
More informationChapter 5 Distributed Objects and Remote Invocation
CSD511 Distributed Systems 分散式系統 Chapter 5 Distributed Objects and Remote Invocation 吳俊興 國立高雄大學資訊工程學系 Chapter 5 Distributed Objects and Remote Invocation 5.1 Introduction 5.2 Communication between distributed
More informationIndirect Communication
Indirect Communication Vladimir Vlassov and Johan Montelius KTH ROYAL INSTITUTE OF TECHNOLOGY Time and Space In direct communication sender and receivers exist in the same time and know of each other.
More informationDistributed Technologies - overview & GIPSY Communication Procedure
DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component
More informationT NAF: Jini & EJB
T-110.453 NAF: Jini & EJB Dr. Pekka Nikander Chief Scientist, Ericsson Research NomadicLab Adjunct Professor (docent), Helsinki University of Technology Lecture outline Introduction Jini model Lookup Leases
More informationMODELS OF DISTRIBUTED SYSTEMS
Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between
More informationEmbedded Device Cooperative System Using Java Bytecode Instrumentation
THE SCIENCE AND ENGINEERING REVIEW OF DOSHISHA UNIVERSITY, VOL. 51, NO. 1 April 2010 Embedded Device Cooperative System Using Java Bytecode Instrumentation Ryota AYAKI *, Kohei KADOWAKI *, Hideki SHIMADA
More informationMTAT Enterprise System Integration. Lecture 2: Middleware & Web Services
MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise
More informationConcurrent Object-Oriented Programming
Concurrent Object-Oriented Programming Bertrand Meyer, Volkan Arslan 2 Lecture 4: Motivation and Introduction Definition 3 Concurrent programming = parallel programming on a single processor? = is about
More informationRPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call
4.3 Remote procedure calls RPC flow Client process Server process Program i = sum (3,7); Procedure sum (j,k) int j,k; {return j+k; Client stub Program Return Call Unpack Pack result para s Invisible to
More informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [RMI] Frequently asked questions from the previous class survey Shrideep Pallickara Computer Science Colorado State University L21.1 L21.2 Topics covered in this lecture RMI
More informationTwo Phase Commit Protocol. Distributed Systems. Remote Procedure Calls (RPC) Network & Distributed Operating Systems. Network OS.
A distributed system is... Distributed Systems "one on which I cannot get any work done because some machine I have never heard of has crashed". Loosely-coupled network connection could be different OSs,
More informationDS 2009: middleware. David Evans
DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between
More informationLookup. Michael Kircher & Prashant Jain Siemens AG, Corporate Technology Munich, Germany
Lookup Michael Kircher & Prashant Jain {Michael.Kircher,Prashant.Jain}@mchp.siemens.de Siemens AG, Corporate Technology Munich, Germany Copyright 2000 by Prashant Jain and Michael Kircher The lookup pattern
More informationDISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE
DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: KINDS OF MIDDLEWARE Lecture 7: Middleware Objects invoke each other s methods Slide 1 ➀ Introduction ➁ Publish/Subscribe Middleware ➂ Map-Reduce
More informationLecture 8. Linda and Erlang
Lecture 8 Linda and Erlang Part I Linda 2 Overview of Message Passing One process sends a message Another process awaits for a message We will consider two dimensions of this approach: What form of synchronisation
More informationIntroduction & RMI Basics. CS3524 Distributed Systems Lecture 01
Introduction & RMI Basics CS3524 Distributed Systems Lecture 01 Distributed Information Systems Distributed System: A collection of autonomous computers linked by a network, with software to produce an
More informationAgent Space Architecture for Search Engines
Agent Space Architecture for Search Engines Ben Choi & Rohit Dhawan Computer Science, College of Science and Engineering Louisiana Tech University, LA 71272, USA pro@benchoi.org Abstract The future of
More informationComparison of Bandwidth Usage: Service Location Protocol and Jini
Comparison of Bandwidth Usage: Service Location Protocol and Jini Javier Govea and Michel Barbeau School of Computer Science Carleton University 1125 Colonel By Drive Ottawa, ON K1S 5B6 Canada fjgovea,barbeaug@scs.carleton.ca
More informationAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems RMI
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Distributed and Agent Systems RMI Prof. Agostino Poggi What is RMI? Its acronym means Remote
More informationCollaboration of Tasks
Operating systems (vimia219) Collaboration of Tasks Tamás Kovácsházy, PhD 13 rd Topic Inter Process Communication with Message Passing Budapest University of Technology and Economics Department of Measurement
More informationProject 1: Remote Method Invocation CSE 291 Spring 2016
Project 1: Remote Method Invocation CSE 291 Spring 2016 Assigned: Tuesday, 5 April Due: Thursday, 28 April Overview In this project, you will implement a remote method invocation (RMI) library. RMI forwards
More informationConcurrent ML. John Reppy January 21, University of Chicago
Concurrent ML John Reppy jhr@cs.uchicago.edu University of Chicago January 21, 2016 Introduction Outline I Concurrent programming models I Concurrent ML I Multithreading via continuations (if there is
More informationInterprocess Communication
Interprocess Communication Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Introduction Applications, services
More informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More informationDistributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Chapter 09 (version 27th November 2001) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.
More informationToday: Distributed Middleware. Middleware
Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out
More information