Middleware for Nomadic Computing Stefano Campadello Presentation Outline
- Slides: 59
Middleware for Nomadic Computing Stefano Campadello
Presentation Outline • Nomadic Computing issues • • Communication Issues Mobility Issues Device Issues Security Issues • Middleware for Distributed Computing • • • WAP Java RMI Corba
Presentation Outline • Enhancing the Middleware • • • Dolmen Nomadic RMI Wireless CORBA • Conclusions
Nomadic Computing What’s it?
Nomadic Computing ”The essence of a nomadic environment is to automaticallyadjust all aspects of user’s computing, communications, and storage functionality intransparent a andintegrated fashion” –L. Kleinrock , 1997
Anytime, Anywhere • A user wants to: • • use her laptop during a flight and upload her work once disembarked follow financial information independently from the location and time instantiate a communication during a disaster recovery mission access the Internet or Intranet services while on the move.
The Challenges in Mobile Computing
Communication Issues • Low Bandwidth • • sending long files requires long time: the chance of experiencing network failures is high a graphical user interface can act in a bizarre way • High bandwidth variability • Bandwidth can increase/decrease four orders of magnitude depending on local conditions (connected/wireless). Ex: videoconference • Disconnection • • File system can lock up for a remote server to allow access After reconnections conflicts are possible
Mobility Issues • Address Migration • • Physical location != network address To communicate with a mobile computer is necessary to know its most recent address • Location-dependent information • • Some information depend on location, as local printers or local currency. In a mobile environment these information cannot be stored statically and they must be found dynamically
Devices Issues • Power limitation • • • Energy supply is a bottleneck for mobile devices Bigger batteries => more weight The user wants long-lasting AND light devices • User Interface and Display Issues • • Size constrains force to use small user interface Small display size makes access to remote service difficult Input devices must be redesign (keyboard -> pen-based recognition) Hand-writing and sound recognition
Security Issues • • • Identification Certification Privacy Insecure channels Insecure devices (can be stolen). . .
Middleware for Distributed Computing
Middleware for Distributed Computing • Remote Procedure Call (RPC) • • 1976. Provides communication across a network between programs written in a high-level language Using procedure calls mechanism is easier than building a communication paradigm It presumes the existence of TCP/IP or UDP Its use is in decline: not implemented in object oriented programming languages • Java RMI • • 1998. Same concept implemented in Java. More later. . .
Remote Procedure Call (RPC) Client program Service daemon Machine B RPC Call Invoke service Call service Machine A RPC returns return reply Program continues requested completed Service executes
Middleware for Distributed Computing • Wireless Application Protocol • • Designed for Nomadic devices It provides Internet access for phones and small PDAs
WAP - Architecture
WAP – Architecture
WAP – Architecture 2. 0
Middleware for Distributed Computing • OMG CORBA • • 1989. Provides interoperability between objects in a heterogeneous, distributed environment Interfaces specified in OMG IDL Not suited for wireless networks, since it requires reliable communication Not suited for mobile device, since the terminal cannot change its point-of-presence • Microsoft COM and DCOM • • COM allows binary interoperability between distributed objetcs NOT platform independent and proprietary protocols
OMG CORBA – Architecture Interface Repository Client IDL Compiler OBJ Implementation Repository Object (Servant) in args operation() REF out args + return IDL SKEL DII ORB CORE IDL STUBS DSI ORB INTERFACE Object Adapter GIOP/IIOP
Enhancing the Nomadic Layers
Nomadic Computing - Layered APPLICATIONS MIDDLEWARE (IIOP/RMI/ACTIVE-X) TRANSPORT LAYER (TCP/IP) RADIO LINK
Improving Long Thin Networks • Slow Start and Congesting Avoidance • the system assumes the network is congested while packets are dropped for corruption • Delayed ACKs • the dimension of the sender’s window depends on the number of ACKs it receives. Adaptation is slow • Three-way Handshake • data transfer is possible only after the handshake is completed. Long latency makes short transactions unattractive • Lenght of TCP/IP headers
Improving TCP over Wireless • Solutions: • • • modify or eliminate slow start Use larger initial windows Count the data acknowlegde not the number of ACK Change the spacingbetween ACKs Compress headers or compress IP payload SNOOP (Berkeley) • Split connection approach, but maintaining end-to-end semantic • retransmission of lost packets only locally • suppression of duplicate ACKs from receiver to sender
Improving Client-Server Paradigm • Satyanarayanan [1996]: • Extremes of adaptation: laissez-fair and applicationtransparent Improving Client-Server Paradigm Application-aware (collaboration) Laissez-faire (no system support) Application-transparent (no changes to applications)
Enhancing the Communication Layer • Example: Coda File System Applications Mobile File Server File System APIs Mobile File System APIs File System Proxy Mobile Host Fixed Network
Mowgli Project
Monads • Adaptation agents for Nomadic Application. • The key work is ”prediction” through learning
Addressing the Mobility Issues • Mobile IP
Enhancing The Middleware Layer Nomadic RMI
Remote Method Invocation • RMI protocol interface lets Java objects on different hosts communicate with each other in a transparent way • Clients can invoke methods of a remote object as if they were local methods • Preserve the object oriented paradigm in distributed computing
Java RMI - Layers Logical Path Server Program Client Program Skeleton (JDK 1. 1) Stub Remote Reference Layer Transport Layer The Internet Transport Layer
Java RMI - Protocol Server Virtual Machine Client Object Registry 2 3 Server 1 Remote Object 8 Stub 5 4 7 6 Skeleton
Java RMI in a Nutshell Client Lookup(): where is Hello? Server Registry Hello is here Client Send the me stub Here is the stub Stub-server Server-stub DGC messages invoke. Method() Stub “Return. Value” Server
Java RMI in a Nutshell Client Lookup(): where is Hello? Server Registry Hello is here Client Send the me stub Here is the stub Stub-server Server-stub DGC messages invoke. Method() Stub “Return. Value” Server
“Hello World” Example Client TCP 2 Registry TCP 1 Header Protocol. Ack, EPId, Lookup() Server. Ref Header Protocol. Ack, EPId, dirty() Lease Ping Ack Parallel DGCAck Ping Ack say. Hello() “Hello World” . . . clean() clean result Server
Data traffic analysis
RMI Optimization • Maintain compatibility with Java RMI specifications • Avoid redundancy in communication protocol • Use compression and caching to minimize data transmission
Java RMI Optimization • Protocol • Use of Mediators to minimize the exchange of data through the wireless link. • Data Communication • Optimized Communication: Compress and Optimize data communication • Class Loading • If possible, avoid to download stubs
Protocol Optimization • The idea is to de-couple the connection between the client and the server using mediators. Mobile Node Access Node Naming Client RMIAgent RMIProxy Wireless Link
Optimized RMI Mobile Node Fake. Stubs Access Node Registry Agent Monads Registry Server Cache Proxy Client Registry Server
Optimized RMI Mobile Node Fake. Stubs Access Node Registry Agent Monads Registry Server Cache Proxy Client Registry Server
Optimized Remote Invocation Client RMI Agent Registry RMI Proxy Header Protocol Ack Lookup() In cache? lookup Lookup() Server. Ref Internal. Ref Agent. Ref Header Protocol Cache and mark for sync Lease Ack dirty() Header count[ref]++ Lease Protocol Ack DGCAck Header Protocol dirty() First? Ack DGCAck say. Hello () say. Hello() “Hello World” . . . say. Hello () “Hello World” clean() Last? clean() clean result Server
Comparison between RMI and RMI
Test Arrangements • Operating Systems • • Clients: • Windows 98 • Linux (Red Hat 6. 1, kernel 2. 2. 14) Server • Windows NT (SP 6) • Linux (Red Hat 6. 1, kernel 2. 2. 14)
Test Arrangements • Java Virtual Machine • Sun JDK 1. 2. 2 (Linux and Windows) • Wireless communication • GSM HSCSD (5 configurations) • Benchmark Suite • Ka. RMI from University of Karlsruhe
Lookup Results (windows)
Lookup Differences
Invocation Results Image Uplink (Linux)
Invocation Results Two-way Text uplink
Nomadic RMI • The previous solution does not support mobility • If the connection between mobile host and RMI Agent is interrupted the system is in an unstable state • RMI (Nomadic RMI) Protocol addresses this problem • It allows Handover between different access points
Nomadic RMI
Enhancing The Middleware Layer Wireless CORBA
Issues of CORBA in Nomadic Environment • IIOP servers are not expected to change their transport connection endpoint • IIOP and the transport connections are supposed to be reliable • It is not possible to change network interface during an IIOP connection • Connections are expected to enjoy high bandwidth
Wireless CORBA – Architecture Home domain Home Location Agent Terminal Bridge Terminal Domain Access Bridge GIOP tunnel Visited domain Access Bridge
w. CORBA Framework • Mobile IOR • • Identifies the terminal on which the target object resides And its Access Bridge • Home Location Agent • Keeps track of the current location of the terminal • Access Bridge • End-point of the GIOP tunnel in the network side • Terminal Bridge • GIOP tunnel
w. CORBA Framework • Terminal Bridge • End-point of the GIOP tunnel on the terminal side • GIOP tunnel • Is the means to transmit GIOP messages between the Terminal Bridge and the Access Bridge
Wireless CORBA - GIOP Tunneling Protocol CORBA invocations Object GIOP messages GIOP GTP msgs GTP adaptation layer transport Terminal ORB Access Bridge ORB IIOP TCP IIOP messages IIOP TCP byte stream TCP peer ORB
Wireless CORBA – Handoff old AB TB new AB HLA start_handoff Handoff. Tunnel. Request transport_address_request Establishment of transport connectivity Establish. Tunnel. Request Establish. Tunnel. Reply Handoff. Tunnel. Reply handoff_completed Release. Tunnel. Request Release. Tunnel. Reply Handoff. Notification notify other ABs Departing. Terminal. Notification report_handoff_status location_upadte Arriving. Terminal. Notification
- Nomadic computing
- Middleware and gateways in mobile computing
- Cloud computing middleware
- Advantages and disadvantages of nomadic farming
- Nomadic religion
- Manorialism def
- Nomadic herding definition ap human geography
- Atavism poem
- What was the nomadic lifestyle
- Nomadic network
- Nomadic user disebut juga
- This is a nomadic desert tribesmen
- Chapter 17 nomadic empires and eurasian integration
- Chapter 17 nomadic empires and eurasian integration
- Chapter 15 the last great nomadic challenges
- Sedentary farmer theory
- Chapter 18 nomadic empires and eurasian integration
- Chapter 17 nomadic empires and eurasian integration
- Vikings and mongols
- The nomadic network
- Asian massage mongol
- Semi nomadic definition
- Kurgan hypothesis
- Conventional computing and intelligent computing
- Parallel and distributed computing course outline
- Sandwich quotation
- Internet and cloud computing presentation
- Us bank developer portal
- Presentation outline slide
- Presentation outline example
- Powerpoint outline example
- Introduction to world wide web
- Nst internship
- Seminar presentation outline
- Training presentation outline
- Mgckey
- Project presentation outline
- Fspos
- Novell typiska drag
- Tack för att ni lyssnade bild
- Returpilarna
- Shingelfrisyren
- En lathund för arbete med kontinuitetshantering
- Särskild löneskatt för pensionskostnader
- Tidböcker
- A gastrica
- Vad är densitet
- Datorkunskap för nybörjare
- Boverket ka
- Debatt artikel mall
- Autokratiskt ledarskap
- Nyckelkompetenser för livslångt lärande
- Påbyggnader för flakfordon
- Tryck formel
- Publik sektor
- Bo bergman jag fryser om dina händer
- Presentera för publik crossboss
- Argument för teckenspråk som minoritetsspråk
- Plats för toran ark
- Treserva lathund