Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Slides:



Advertisements
Similar presentations
TU/e Service Discovery Mechanisms: two case studies / IC2002 Service Discovery Mechanisms: Two case studies Control point Device UPnP Terminal Domain Host.
Advertisements

COM vs. CORBA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
CORBA Architecture Nitin Prabhu. Outline CORBA Object Model CORBA Architecture Static Invocation Dynamic Invocation CORBA Communication Model.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Netprog CORBA Intro1 CORBA Common Object Request Broker Architecture Based partially on Notes by D. Hollinger and Java Network Programming and Distributed.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
CORBA Framework Eelements 1 CORBA Framework Elements  Object Request Broker (ORB)  This is the object manager in CORBA  Mechanisms for specifying interfaces.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Distributed Service Architectures Yitao Duan 03/19/2002.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Terminal Bridge Extension Over Distributed Architecture MSc. Sami Saalasti.
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
FTMP: A Fault-Tolerant Multicast Protocol Louise E. Moser Department of Electrical and Computer Engineering University of California, Santa Barbara.
II. Middleware for Distributed Systems
CORBA Programming Using ACE/TAO
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
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.
Middleware for Nomadic Computing Stefano Campadello.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
1 G52IWS: Distributed Computing Chris Greenhalgh.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Small Devices on DBGlobe System George Samaras Chara Skouteli.
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.
Distributed Software Systems with CORBA Presented by: Shruti Srivastava 05IT6015 Under the guidance of : Prof. Debasis Samanta.
Information Management NTU Interprocess Communication and Middleware.
Abhishek Bachchan Vishal Patangia
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
CORBA/IDL Common Object Resource Broker Architecture (CORBA) Interface Definition Language (IDL) Object Management Group (OMG) ( Specification.
ISADS'03 Message Logging and Recovery in Wireless CORBA Using Access Bridge Michael R. Lyu The Chinese Univ. of Hong Kong
Dynamic Invocation Interface Alternative to using IDL stubs Object cannot distinguish between the two. How is DII different for the programmer?
An Overview of CORBA and Parlay/OSA APIs ZTE (USA)
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Fault Tolerance in CORBA and Wireless CORBA Chen Xinyu 18/9/2002.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
Java Programming: Advanced Topics 1 Networking Programming Chapter 11.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
CS551 - Lecture 11 1 CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816)
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
T Network Application Frameworks and XML Mobile Middleware Sasu Tarkoma.
1 Distributed Programming low level: sending data among distributed computations higher level: supporting invocations among distributed computations network.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
CORBA: Object Adapter, Services, Inter-ORB Protocols - Balaprasuna Chennupati.
Netprog: More Corba1 CORBA Continued. Netprog: More Corba2 CORBA Terminology ORB - Object Request Broker IR – Implementation Repository IDL – Interface.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
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.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
CORBA: An Overview Mojtaba Hosseini.
Common Object Request Broker Architecture (CORBA)
Distributed Computing
CORBA Alegria Baquero.
Interpreter Style Examples
CORBA Alegria Baquero.
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Inventory of Distributed Computing Concepts
Wireless CORBA Richard Verhoeven.
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Copyright 1999 B.Ramamurthy
Presentation transcript:

Wireless CORBA Richard Verhoeven

Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions

What is CORBA? Common Object Request Broker Architecture Distributed object-oriented middleware –Network abstraction of object location –Independent of programming language, platform or operating system Set of open standards defined by the OMG –interface definition language (IDL) –interoperability standards (GIOP, IIOP) –collection of services

How does it work? Write the interface definition in IDL Use the ORB-specific IDL compiler to generate client stubs and server skeletons Use the stubs in the client application Fill the skeletons with the server implementation Compile everything

Example: IDL interface Account { void deposit(in unsigned long amount); void withdraw(in unsigned long amount); long balance(); };

Example: client CORBA::Object_var obj = orb->string_to_object( uri ); Account_var account = Account::_narrow( obj );... if (account->balance() < 100) { account->deposit( 500 ); } else { account->withdraw( 100 ); }

Example: server (1) class Account_impl : virtual public POA_Account {... CORBA::Long _current_balance;... void deposit( CORBA::ULong amount) { _current_balance += amount; };... CORBA::Long balance() { return _current_balance; }; }

Example: server (2) … // orb, poa and mgr setup Account_impl* servant = new Account_impl(); PortableServer::ObjectId_var oid = poa->activate_object(servant); … // construct object uri mgr->activate(); orb->run();

In more detail ORB interface allows generic configuration settings and ORB startup Portable Object Adaptor provides a server with common service features Support for dynamic and static method invocation Interceptors allow extra services

Implementation Layer

Interoperability Layer

Locating a server Object references are standardised (IOR) With a naming service: Client & server use the same naming service Server publishes an IOR at the naming service Client queries the naming service for IORs Or: Exchange the IOR as a string Use a CORBA URL ( corbaloc:// )

Sizes of ORBs

Interoperability Timing

Wireless & Mobile Wireless protocols InfraRed, BlueTooth, b, GSM, GPRS, UMTS Wireless issues packet loss, network congestion, packet cost Mobile issues hand-off, roaming, address changes Location based services wireless range, position & direction detection

MobileIP IETF solution (RFC 2002) Addresses macro-mobility home-office, office-travel Requires an active home agent

Wireless CORBA Issues MobileIP Architecture Mobile IORs Handoff & Access Recovery

Wireless CORBA - Issues CORBA relies on fixed end-points for connections Nomadic computing Wireless transport issues Mobility transparency Handoff Backwards compatible

Why not MobileIP? It only addresses macro-mobility, not the movement between small cells The home agent is too important It does not address wireless protocols It hides all handoff events, thus making location-aware services difficult.

Architecture

Redirects requests for services on the terminal Keeps track of the current access bridge

Architecture Encapsulates, forwards or ignores incoming GIOP messages Decapsulates and forwards messages from the GIOP tunnel Generates mobility events Lists available services

Architecture Similar to the Access Bridge Does not provide forwarding Generates mobility events Does not list services

Architecture Abstract transport-independent tunnel for GIOP messages Concrete tunnels for TCP/IP, UDP/IP and WAP. Protocol requires reliable and ordered delivery

Mobile IORs Contain a special Mobile Terminal Profile Use the Access Bridge or Home Location Agent in the IIOP profile Have a limited lifetime if no Home Location Agent is used Work backwards compatible

Mobile IOR usage

Handoff & Access Recovery Network initiated handoff –started by an external application –optional to support make-before-break Terminal initiated handoff –terminal discovered a new Access Bridge –make-before-break is required Access recovery

Handoff Issues The Home Location Agent is informed Old Access Bridges are informed to allow forwarding of open connection Mobility events are generated in the visited domain and the terminal domain

Message Forwarding Old access bridges forward open connections

Network Initiated Handoff

Test Case ITEA Project “Vivian” Common platform for mobile phones CORBA for distributed middleware SOAP as alternative

Test Case Mobile device (Psion Revo) Java virtual machine Java ORB XML sax parser Remote User Interface Protocol Conclusion: it works reasonable (Wireless CORBA not used yet)

Conclusions Wireless CORBA addresses wireless & mobility, not low resource constraints. CORBA works on a mobile device, but it requires lots of resources Handoff notification breaks the layered network model