O2S Components Framework

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Web Service Architecture
Self-Regenerative Middleware Service for Cross-Standards and Ubiquitous Services Activation Mengjie Yu ( )
RPC Robert Grimm New York University Remote Procedure Calls.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
Comparison of the RMI and the socket APIs
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Review For Midterm.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
Distributed Service Architectures Yitao Duan 03/19/2002.
CS3771 Today: network programming with sockets  Previous class: network structures, protocols  Next: network programming Sockets (low-level API) TODAY!
Introduction to Remote Method Invocation (RMI)
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
Communication in Distributed Systems –Part 2
SMN 1.0 Smart Media Network Auburn University COMP7970 Richard Chapman 19 Sept 2002.
EEC-681/781 Distributed Computing Systems Lecture 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
.NET Mobile Application Development Remote Procedure Call.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Introduction to distributed systems Dr. S. Indran 23 January 2004.
Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.
Tiny Components – a collection of initial ideas copyright © 2003 Tiny Components Tiny Components A Component Model for Small, Embedded or Mobile devices.
1 G52IWS: Distributed Computing Chris Greenhalgh.
DEVS Namespace for Interoperable DEVS/SOA
Universal Plug and Play (UPnP) and XML Shridhar Bhat
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn Daniele Sacchetti
9 September 2008CIS 340 # 1 Topics reviewTo review the communication needs to support the architectures variety of approachesTo examine the variety of.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
1 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Distributed Programming CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Java Programming: Advanced Topics 1 Networking Programming Chapter 11.
Overview of Jini CS Fall 2000 Jason I. Hong.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
.NET Mobile Application Development XML Web Services.
1 RMI Russell Johnston Communications II. 2 What is RMI? Remote Method Invocation.
SOAP RMI Aleksander Slominski, Madhusudhan Govindaraju, Randall Bramley, Dennis Gannon Indiana University Extreme! Lab A New-Old Programming Model for.
Distributed Systems1 Socket API  The socket API is an Interprocess Communication (IPC) programming interface originally provided as part of the Berkeley.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Introduction to Operating Systems Concepts
Introduction to Web Services
WEB SERVICES.
Web Service Interview/VIVA
CSE 486/586 Distributed Systems Remote Procedure Call
#01 Client/Server Computing
Lecture 3 From process-oriented to agent-oriented programming.
Inventory of Distributed Computing Concepts and Web services
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Hwajung Lee ITEC452 Distributed Computing Lecture 7 Interprocess Communication (IPC): An Overview.
Inventory of Distributed Computing Concepts
Hwajung Lee ITEC452 Distributed Computing Lecture 2 Interprocess Communication (IPC): An Overview.
Wireless CORBA Richard Verhoeven.
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
WebServices Using JAX-RPC
Software interoperability in the NGN Service layer
New Tools In Education Minjun Wang
Distributed System using Web Services
#01 Client/Server Computing
Presentation transcript:

O2S Components Framework Day 1, Session 1, Part 3 July 2006 Quanta JustPlay Seminar Justin Mazzola Paluska jmp@mit.edu

Acknowledgements The O2S Components Framework is mostly the work of the Hubert Pham so he should get all of the credit for its implementation. These slides are derived from Hubert's slides.

Contents Motivation Objective Approach Model

Motivation Planner: high level goal  plan O2S Component Framework: plan  actualize

Motivation Developing asynchronous, distributed software is (still) painful: slow performance adaptiveness is difficult stubs (distributed objects) hard to debug failures!

Motivation Traditional distributed applications: logic intertwined with implementation

Objective A distributed software component framework that optimizes for: Simplicity Construction API and Environment Debugging Adaptiveness Performance Platform and Language Independence

Approach

Approach

Approach

Approach Construct applications by instantiating distributed components and interconnecting them together: circuit diagram model Monitor and debug by processing serial messages from implementation

Approach Generic Components on a variety of platforms Data Streams using a variety of protocols

Approach Synchronous Simple Environment Adaptable Language and Platform Independent Asynchronous Parallel Low Performance Overhead

Approach: Example def setup_voice_rec(): voice_rec = system.lookup("Voice Recognizer", grammar = "voice_shell") event_queue = system.get_event_queue(handler = handle_event) voice_rec.set_recognition_target(event_queue) voice_rec_input = voice_rec.get_audio_sink() mic = hand_held_device.get_mic() system.connect(voice_rec_input, mic) def handle_event(new_event): if new_event.recognized_token == "Hello":

O2S Model Synchronous Simple Environment Adaptable Language and Platform Independent Asynchronous Parallel Low Performance Overhead

O2S Stack The O2S Stack establishes the Control Environment Properties: Many implementation technologies available for every layer Each layer depends only upon the abstractions established by the layer immediately beneath Can swap out any implementation for another

Transport Low level RPC and wire encoding for basic primitives. A Few Known Implementations: XML-RPC SOAP Sun RPC O2S uses off-the-shelf XML-RPC

Network Object Provides network object packaging; transparency in passing and receiving references to remote objects; data serialization and marshaling. Some Implementations: Sun Java RMI OMG Corba O2S NPOP

O2S NPOP Network Portable Object Packaging Language and Platform Independent Pass object references between methods, processes, and hosts Automatic Stub Generation Object Interning and Reference Tracking Named by a URI to an XML specification

O2S NPOP

System Management Provides “host-level” abstractions and services: health monitoring event messaging directory services for network object discovery

System Management A Few Implementations: Sun Jini (uses RMI); JXTA UPnP IETF Service Location Protocol O2S Architecture

O2S Architecture Entity host management runtime environment for remote objects Registry health monitoring + subscription/notification (bootstrap) directory services Event / Message Passing

O2S Architecture Health Notification Subscription

Component Structuring Provides a framework for constructing, interconnecting, bundling (abstracting), and hotswapping sets of distributed modules. Some Implementations: Weaves [Gorlick91] O2S Components In SVN HEAD, but not in the current snapshot

O2S Model Synchronous Simple Environment Adaptable Language and Platform Independent Asynchronous Parallel Low Performance Overhead

Implementation Environment Plaforms MS Windows GNU/Linux Apple OS X – PowerPC and x86 Devices HP iPAQ Nokia Mobile Phones GumStix

Implementation Environment Low-Level Networking Protocols TCP Sockets Bluetooth UDP Datagrams (SVN HEAD) RTP (Soon!)

Implementation Environment Languages Python Java, C External Interfaces X10 home automation Galaxy VR & Flite TTS SIP VoIP + Asterisk (Soon!) AOL Instant Messenger

Questions? Day 1, Session 1, Part 3 July 2006 Quanta JustPlay Seminar Justin Mazzola Paluska jmp@mit.edu