1 / 22

Wireless Java RMI

Wireless Java RMI. Stefano Campadello Oskari Koskimies, Kimmo Raatikainen Dept. of Computer Science, University of Helsinki Heikki Helin Sonera Ltd. Monads. ww.cs.helsinki.fi/research/monads Investigating the use of Adaptive Agents for Nomadic Users Intelligent & Mobile Agents

ratana
Download Presentation

Wireless Java RMI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wireless Java RMI Stefano Campadello Oskari Koskimies, Kimmo Raatikainen Dept. of Computer Science, University of Helsinki Heikki Helin Sonera Ltd.

  2. Monads ww.cs.helsinki.fi/research/monads • Investigating the use of Adaptive Agents for Nomadic Users • Intelligent & Mobile Agents • Partners: Nokia (M.P. and R.C.), Sonera and Tekes. Edoc2000

  3. Wireless Environments • Characteristics • Low bandwidth • Long and variable delays • Sudden or unwanted disconnection • High costs • connection costs ($/sec) • transmission costs($/byte) Edoc2000

  4. 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 Edoc2000

  5. Lookup(): where is Hello? Hello is here Send the me stub Here is the stub invokeMethod() Stub “ReturnValue” Java RMI in a Nutshell Client Server Registry Registry Client Client Stub-server Server-stub DGC messages Server Server Edoc2000

  6. Lookup(): where is Hello? Hello is here Send the me stub Here is the stub invokeMethod() Stub “ReturnValue” Java RMI in a Nutshell 8.4 Sec! Client Server Registry Registry Client Client Stub-server Server-stub DGC messages Server Server Edoc2000

  7. Client Registry Server TCP TCP 2 1 Header Protocol Ack EPId , EPId , Lookup() ServerRef Header Protocol Ack EPId , EPId , dirty() Lease Ping Ping Ack Parallel Parallel DGCAck Ping Ping Ack sayHello() “Hello World” ... clean() clean result “Hello World” Example Edoc2000

  8. Data traffic analysis Edoc2000

  9. RMI Optimization • Maintain compatibility with Java RMI specifications • Avoid redundancy in communication protocol • Use compression and caching to minimize data transmission Edoc2000

  10. 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 • Stub&Class Loading • If possible, avoid to download stubs Edoc2000

  11. Mobile Node Access Node Naming Client RMIAgent RMIProxy Protocol Optimization • The idea is to de-couple the connection between the client and the server using mediators. Wireless Link Edoc2000

  12. Cache Cache Optimized RMI Mobile Node FakeStub FakeStubs Access Node Registry Registry Agent Agent Proxy Proxy Server Server Monads Registry Monads Registry Client Client Client Client Registry Registry Server Server Edoc2000

  13. Cache Cache Optimized RMI Mobile Node FakeStub FakeStubs Access Node Registry Registry Agent Agent Proxy Proxy Server Server Monads Registry Monads Registry Client Client Client Client Registry Registry Server Server Edoc2000

  14. Optimized Remote Invocation Registry Client RMI Agent RMI Proxy Server Registry Client RMI Proxy Server RMI Agent Header Protocol Ack Lookup() In cache? lookup Lookup() ServerRef InternalRef AgentRef Cache and mark dirty() First? for sync Header Lease Protocol Ack Header dirty() count[ref]++ Protocol Ack Lease DGCAck Header Protocol Ack DGCAck sayHello () sayHello() sayHello () “Hello World” “Hello World” “Hello World” ... clean() clean() Last? clean() clean result clean result clean result Edoc2000

  15. Comparison between Normal RMI and Optimized RMI Edoc2000

  16. Test Arrangments • Operating Systems • Clients: • Windows98 • Linux (Red Hat 6.1, kernel 2.2.14) • Server • Windows NT (SP 6) • Linux (Red Hat 6.1, kernel 2.2.14) Edoc2000

  17. Test Arrangements • Java Virtual Machine • Sun JDK 1.2.2 (Linux and Windows) • Wireless communication • GSM HSCSD (5 configurations) • Benchmark Suite • KaRMI from University of Karlsruhe Edoc2000

  18. Lookup Results (windows) Edoc2000

  19. Lookup Differences Edoc2000

  20. Invocation ResultsImage Uplink (Linux) Edoc2000

  21. Invocation Results Two-way Text uplink Edoc2000

  22. Conclusions • Designers cannot just “plug-in” wireless communication to existing solutions • Wireless issues extend their influence also to middleware component and eventually to applications • Solutions are there, just mostly ignored Edoc2000

More Related