Interoperating with Services in a Mobile Environment Andreas Dahl, [email protected] Pål Rolfsen...

16
Interoperating with Services in a Mobile Environment Andreas Dahl, [email protected] Pål Rolfsen Grønsund, [email protected] Per Thomas Kraabøl, [email protected] Presentation

Transcript of Interoperating with Services in a Mobile Environment Andreas Dahl, [email protected] Pål Rolfsen...

Page 1: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

Interoperating with Services in a Mobile Environment

Andreas Dahl, [email protected]

Pål Rolfsen Grønsund, [email protected]

Per Thomas Kraabøl, [email protected]

Presentation

Page 2: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

ReMMoC: A Reflective Middleware to Support Mobile

Client Interoperability

Paul Grace, Gordon BlairDistributed Multimedia

Research Group, Computing Department, Lancaster

University, UK

Sam Samuel

Global Wireless Systems Research, Bell Laboratories,

Lucent Technologies, UK

Page 3: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

1. The challenges for mobile computing middleware

2. Middleware heterogeneity3. The ReMMoC approach4. Reflection, components & component

frameworks5. Evaluation6. Future work & concluding remarks

Outline

Page 4: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

The Challenges of Mobile Computing

• The characteristics of the mobile environment present a number of challenges for middleware developers. For example:

1. Disconnection2. Low & variable Bandwidth3. Address Migration4. Low Power5. Small Storage Capacity

• Middleware seeks to overcome these to better support distributed mobile applications.

Page 5: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

Mobile Computing Middleware

• Different styles of mobile middleware have emerged to solve these challenges.

• Asynchronous paradigms:– Publish-Subscribe (REBECA, STEAM)– Tuple Spaces (LIME, L2IMBO)

• Context-based adaptation:– CHARISMA, OpenORB, Odyssey

• Enhancements to established middleware:– RAPP, Alice, Dolmen (CORBA) & Wireless RMI (Java RMI)

This explosion of middleware solutions creates middleware heterogeneity. middleware heterogeneity. No interoperability between different middleware styles.

Page 6: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

A Mobile Computing Scenario

Page 7: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

The ReMMoC Approach

• A Reflective Middleware to support mobile client interoperability.– Find mobile services irrespective of the service

discovery protocol– Interoperate with services implemented by different

middleware types

• Design of ReMMoC built upon three concepts:1. Components (OpenCOM)2. Reflection3. Component Frameworks (CFs)

Page 8: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

The ReMMoC Architecture

Binding CF

Binding type implementations

Service Discovery CF

Service Discovery protocols

Top-level ReMMoC CF

ReMMoC abstract programming Model

Binding mapping implementations

Discovery mapping implementations

Concrete Middleware

Abstract to Concrete

Abstract Middleware

Page 9: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

Component Frameworks in ReMMoC

CF Service Interfaces

(Can be exposed interfaces of internal components)

IMetaInterfaceILifeCycle

IConnections

OpenCOM component framework

CF receptacles

(Can be exposed)

ICFMetaArchitecture

Lock Interceptor

Validation Plug-in

Graph of internal components

Page 10: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

The Service Discovery Framework

• Discover Services advertised by different protocols.

• Dynamically reconfigures itself based upon current environment conditions.– Cycles through tests for known types of service discovery.– Single-personality – discovery performed over a single

protocol type.– Multi-personality – discovery executed simultaneously over

a number of types.

• Current Implementations – UPnP and SLP lookup.

Page 11: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

The Binding Component Framework• Dynamic replacement of binding types (implemented as OpenCOM components) based upon information the from service discovery CF.

• Configurations we’ve implemented - IIOP client, IIOP Server, SOAP client, subscriber, publisher

Page 12: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

Evaluation - Mobile Applications

• Goal to develop a mobile application using ReMMoC that operates in different locations exhibiting middleware heterogeneity.

• Three Applications implemented:– Jukebox, Chat Service, Sport News.– Different locations (e.g. Office & Home Environment).– Heterogeneous discovery protocols (UPnP & SLP).– Heterogeneous binding protocols (P/S, SOAP, IIOP).

• The same application code (containing only abstract operations) operates continuously across different locations.

Page 13: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

Evaluation – Memory Capacity• Mobile devices are resource light and reflection is expensive; why not

reconfigure at the server side?

  Reflective  Non-Reflective  

Function ARM (Bytes) x86 (Bytes) ARM (Bytes) x86 (Bytes)

Platform Core

OpenCOM 28160 18432 n/a n/a

Binding CF 16896 11776 n/a n/a

Service Discovery CF 19968 16384 n/a n/a

Binding Configurations

IIOP Client 96768 79872 56320 38912

SOAP client 97792 80896 64512 47104

Subscribe 85504 71168 58368 46080

Service Discovery Configurations

SLP Lookup 85504 68608 53248 36352

UPnP Lookup 80384 64724 56320 39424

Page 14: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

Future Work• Dynamic component downloading architecture based upon

context information.

• Extension to include other binding paradigms: – Tuple spaces, data-sharing, multimedia streaming etc.

• Integration with resource management architecture.

• Evaluation using more complex applications:– Ambient intelligent environments, ubiquitous computing.

• Investigate Web Service description formats that include non-functional aspects (e.g. Web Services Endpoint Languages) and more complex interaction patterns (e.g. Web Services Flow Language).

Page 15: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

Concluding Remarks

• Mobile environments contain heterogeneous middleware

• ReMMoC developed to support application developers in face of this type of heterogeneity– Reconfiguration of binding and service discovery

• Evaluated and demonstrated across a set of mobile applications:– Jukebox

– Chat service

– Sport News Service

Page 16: Interoperating with Services in a Mobile Environment Andreas Dahl, andread@fi.uio.no Pål Rolfsen Grønsund, paalrgr@ifi.uio.no Per Thomas Kraabøl, pertk@ifi.uio.no.

?