P2 - A Platform for value-added Services in a Nomadic CORBA Environment
Rainer Ruggaber ( german )
Universität Karlsruhe (TH) Institut für Telematik
Zirkel 2
76128 Karlsruhe
Germany tel: +49 721 608 6405 fax: +49 721 388097 ruggaber@telematik.informatik.uni-karlsruhe.de
Keywords:
distribution frameworks
nomadic computing middleware
Abstract:
There is a growing need to support nomadic users in distributed CORBA environments. Driving forces are
- shorter time-to-market-cycles, that necessitate a strong integration of applications, processes and data. CORBA is the enterprise technology to provide this integration.
- mobility-demands of users who desire access to applications and data anywhere at any time
- the heterogeneity of wireless access networks that are quite powerful in the local area, but rather powerless in WANs like GSM.
Infrastructure
P2 is realized as a set of proxies, that are enhanced CORBA generic request-level half-bridges. One proxy is placed on the mobile node containing the client. The others are placed in the wired environment, one per access network type. The proxy on the mobile node is at one time associated with not more than one proxy in the wired environment. These proxies are connected by tunnels through which all requests are sent, regardless of the server object-reference. Requests are passed transparently from the client to the proxy on the mobile node, then further on to the proxy in the fixed network. This proxy invokes the operation on the server-object and returns the result on the same way to the client.
The P2-infrastructure provides services to efficiently and transparently integrate nomadic users. P2 uses type-independent CORBA-interfaces, so it can be transparently integrated into any application without reconfiguration. No changes to the client application or the server are necessary. It provides a handover mechanism to transparently change the network and to hide temporal disconnections of the client. On the CORBA-level (GIOP) we defined a new protocol with fundamentally smaller packet headers to make efficient use of the scarce bandwidth. By omitting fields that remain constant during a connection we reduce the size from 12 byte to 3 byte, saving more than 9 ms on a GSM link.
Extensibility
Both proxies can be extended by the definition and integration for filters. Filters are Java classes, that implement a filter interface. Filters are evaluated on requests and responses that pass the proxy. Filters can access and modify all available information on the proxy, especially the requests and responses. A filter can also influence the further processing of the actual request by forcing the immediate sending of the request or by preventing any further processing of filters. Filters can create responses, which allows local processing of remote calls, for example for caching reasons.
Value-added services can be added to both proxies at runtime. Which proxy is extended depends on the type of service. Services that interact heavily with other services in the wired environment should be placed on the proxy in the wired environment to save bandwidth, for example location based service selection, where requests are transparently redirected to a more appropriate server. Services, like caching, that strongly interact with the client or provide some kind of disconnection transparency should be placed in the proxy on the mobile node.
Measurements
The additional latency imposed by P2 on different network types was measured in several experiments. Every request was delayed by about 12 ms. This is a substantial latency in fast local area networks, where requests normally take about 5 ms. But in a GSM network it is nearly negligible, as requests normally take about 600 ms.
Outlook
Right now, we are working on further request size compression routines, by replacing object references and method names with ids of a dynamic alphabet. Additional work is done to integrate a caching service to improve client application performance, and to reduce the number of invocations. The object transaction service (OTS) is used to assure cache-consistency.
The PhD work started: 6/99
The participant will apply for the upcoming ECOOP PhD Workshop.
HTML3
JAVA
Last modified on Mon Aug 15 14:59:24 2005
|