• Keine Ergebnisse gefunden

A management layer for mobile middleware

N/A
N/A
Protected

Academic year: 2022

Aktie "A management layer for mobile middleware"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

A Management Layer for Mobile Middleware

Bjoern Wuest, Olaf Drögehorn, and Klaus David

University of Kassel, Chair for Communication Technology (ComTec) Wilhelmshöher Allee 73, 34121 Kassel - Germany

Abstract: Recently mobile devices became powerful enough to support out- standing applications envisioned for ubiquitous and pervasive computing. In these environments applications are usually built on top of a middleware in order to en- able service reuse on different levels. Existing middleware approaches, however, aim at either operation in the network infrastructure or are built for specific pur- poses. In this paper an approach for structuring services and their management into several well defined layers is introduced and their requirements are discussed in detail.

1. Introduction

The ubiquitous computing environment consists of several heterogeneous elements e.g.

hardware platforms, networks, communication protocols, operating systems, etc. A mid- dleware is often described as glue that holds components of such distributed applications together. Another viewpoint is to consider middleware as the component that provides the solution to the scalability puzzle by creating a layer of distributed infrastructure on top of which applications are deployed. Such a middleware abstracts from the specifics of the devices used and provides a common layer of available functionality, called ser- vice layer, to applications used by the end user.

To deal on the one hand with the limitations of mobile devices and on the other hand with the various demands of applications in the ubiquitous computing environment, this kind of middleware must be flexible and reconfigurable to satisfy the specific needs at a given point in time, and being able to adapt to changing requirements further on.

Component oriented middleware is a promising approach to provide the features re- quired, while being smaller in size – at least for a basic configuration - than a monolithic middleware including all the possible features. Furthermore, a component oriented mid- dleware may be simpler to extend by adding new components during runtime.

In the following a short list of issues for the area of Wireless Application is given that have to be addressed especially by middleware technology:

• Moving between different wireless networks and temporary disconnection;

• Reconfiguration to meet application expectations;

• Minimal computation/memory resources (lightweight middleware);

• Control/use of mobile networked devices;

• Mobility of components / services to other equipment (mobile / office / home) and their spontaneous inter-working while keeping security and privacy;

Example services residing in a middleware for ubiquitous computing are:

(2)

• Localization: Determination of the location of a user to trigger location based events and providing additional input for applications.

• Profiling: User-, application- and service-specific information are stored in profiles residing on different devices. Profiles are typically used to adapt the behaviour of the software systems to the users needs. Reconciliation of profiles requires synchroniza- tion techniques.

• Security and privacy: Sensitive information of the user must be taken special care of.

Threats to the privacy of the user, like irruptions into devices containing the informa- tion or tampering those devices by placing harmful code like viruses and Trojans, must be addressed.

For the services in ubiquitous computing there are several research solutions available, such as XMiddle for synchronization [Ma02], Nexus for Location based services [Ho99], LIME supporting disconnected operation in mobile computing [PMR00] and Iceberg focusing on communication and addressing transparency, introducing a Name Mapping Service which uniquely identifies the communication peer regardless of the type of connection the communication peer uses [RKJ00]. What these middleware ap- proaches have in common is that they are designed with the service that they want to address in mind but lack the support of the other services expected in ubiquitous comput- ing.

Component models allow for the flexible composition and reconfiguration of services for a middleware as needed. The Common Object Request Broker Architecture Compo- nent Model [OMG02] (CORBA CM or CCM) defines a component as an entity that has attributes, defined interfaces and source and sink for events that are received from or send to other components. Other component models as Enterprise Java Beans (EJB) [De02], Distributed Component Object Model (DCOM) [HK97] or Web Services [Ca01]

follow this definition by having differences in the wording. E.g. EJB calls the component a bean and the event sink a listener. All these component models have in common that components are executed in a container that provides the management interfaces like life-cycle and monitoring of the component. Further, they are designed with the cli- ent/server model in mind where the server is not a mobile device.

This paper presents the management layer of our middleware concept named FAME² (Framework for Applications in Mobile Environments 2), for developing and embedding components into middleware running on mobile devices in chapter 2. In chapter III the conclusions are given.

2. Management Layer in the FAME² Middleware Concept

The Framework for Applications in Mobile Environments 2 (FAME²) supports the de- velopment of middleware and applications for ubiquitous computing that are executed on mobile devices like PDAs. Applications on mobile devices become independent of the communication state of the device if all supporting software, i.e. middleware, resides on the mobile device by itself [IC04]. The FAME² concept structures middleware for ubiquitous computing in three layers, see Figure 1. Application supporting services are distinguished in local and distributed services. This allows applications to decide on the

(3)

availability of services in case of loss of the com- munication link. Local services are available to applications even if a communication link has failed whereas availability of distributed services cannot be ensured to applications. The middleware follows a component oriented approach that allows for adaptation and reconfiguration of the middle- ware to the actual requirements of present and used applications. The reconfiguration of the middleware is supported by the management layer.

The management layer brings services and applica- tions together, following configured policies to ensure integrity and safety of the middleware. Fur- ther, the management layer maintains the life-cycle

and availability of components in the middleware and provides a monitoring interface to inspect the middleware. The management layer is the service execution environment where components are hosted and executed in.

Depending on the system design the management layer covers the operation system, the basic input output system and the system hardware. For interpreted environments the runtime environment / interpreter is part of the management layer as well. None of them are limited to the management layer only but may provide services as well. Thus the layers of the model in Figure 1 can cross all layers in the computer system design model in Figure 2. This means that the management layer can partially be realized by physical devices, the operating system or applications running on top of the operating system and all other layers of the computer system design model.

The functionality in the management layer covers the following aspects:

Life-cycle allows for adaptation and reconfiguration of middleware to application re- quirements and user expectations. With the life-cycle facilities, services are made avail- able in the middleware when needed and removed from the middleware when they are no more required. This removal preserves resources of the mobile device the middleware is executed on. The life-cycle initializes the service while loading, connecting to re- sources and registering itself to clients. Operating systems (OS) may provide this feature as part of their process management. When an abstraction from the OS is used, e.g. a Java Virtual Machine, the life-cycle must be implemented by an entity of the middle- ware.

Monitoring in the management layer allows querying for the state and status of services in the middleware. This helps to administrate the middleware by making decisions based on the vitality of the middleware. Parameters to moni- tor are used resources, response times of normative operations for system load estimation, validation routines to check for integrity of data of the service and usage statistics for predictive behavior,

Figure 1: Classification of services and management in ubiquitous computing into a three layered model.

Figure 2: Computer system design model [Tan01].

(4)

e.g. when the service is not used and can be unloaded from the system environment.

Discovery allows detecting and finding available components that can be used or that are required by services and applications. To enable services to discover components, the functionality must be available and known by every service. The management layer is known by every service so the discovery feature is available to every service managed by the management layer.

Secured service access prevents the tampering of the middleware by insecure and trust unworthy services. The secured service access controls and limits access to services after they are deployed and integrated with the middleware. This limitation is required in multi-user environments where different users with different access levels access the same instance of the service. The management, considered to be the coordinator of inter- actions between services and applications, provides security interfaces for controlled and limited service access.

In ubiquitous computing we expect the features of the management layer to be present at every device performing computational tasks. The management layer is realized using the delegation model [Lie86]. This allows replacing, exchange or extending the realiza- tion of the management functionalities. Our current implementation of the management layer in the Java programming language requires a Java Virtual Machine (JVM), 14 kilobyte physical memory and less than 1 megabyte of RAM, not including the JVM.

Therefore the terminals targeted (PDAs) are suitable devices of our middleware. Smaller devices, like sensors are currently not supported by our implementation of the manage- ment layer because they lack the support of a compatible JVM.

The implemented life-cycle permits to load and unload services at runtime of a middle- ware. Further, services are started and stopped, preserving resources like CPU and net- work bandwidth. Thus, suspension of services is not supported. The monitoring interface allows query of the operational state of services. Further, services can provide a simple test operation that is invoked to check operational state and integrity of the service. The discovery interface is backed up by a dispatching implementation delegating discovery queries to appropriate discovery services. Implemented and currently available discovery services support search on Java class names and semantic search (similar to Resource Description Framework [RDF]). The secured service access is realized by requiring a security principal for authentication. At the time of writing this paper there is no imple- mentation evaluating the security principal and enforcing security.

The service layer is split into two sub-layers. This is done to achieve a certain level of reliability and availability of services.

The local layer hosts services that are local to the device the middleware is executed on.

Since in ubiquitous computing resources and services may appear and disappear anytime it may be required to have a selected set of services available at the local device at any time. Access of local services does not require remote communication and thus their access is independent of the communication state of the device, i.e. connectivity. Appli- cations may rely on the availability of a service residing in the local layer.

The distributed layer hosts services that are available remotely to the device. To use these services connectivity for remote communication is required. Applications access- ing services in the distributed layer may not rely on their availability but rather include mechanisms for recovery and adaptation if a remote service becomes unavailable.

(5)

FAME² allows that the local or the distributed layer remains empty.

3. Conclusion and outlook

This paper discusses the possibilities of having component oriented service middleware on mobile devices. A concept for such an open and flexible middleware, the Framework for Applications in Mobile Environment 2 (FAME²), has been introduced.

Part of the FAME² concept is an omnipresent management layer that coordinates ser- vices, applications and their interactions. The management layer provides life-cycle facilities, discovery interfaces for service navigation in ubiquitous environments, sup- porting security policy enforcement and monitoring.

Services are structured in local services applications may depend on and distributed services that may disappear once connectivity to the service is lost and applications may decide to provide failover and recovery strategies.

4. Acknowledgement

We acknowledge the German ministry of education and research (bmb+f) for the partial funding of this work in the Wireless Internet Zellular project and the MIK project.

5. References

[Ca01] Cauldwell, P.; et.al.: Professional XML Web Services. Wrox Press, 2001

[De02] DeMichiel, L. G.: Enterprise JavaBeans Specification Version 2.1. Sun Microsystems Inc., 2002

[HK97] Horstmann, M.; Kirtland, M.: DCOM Architecture. Microsoft Developers Network, July 1997, http://msdn.microsoft.com/library/en-us/dndcom/html/msdn_dcomarch.asp [Ho99] Hohl, F.; et.al.: Next Century Challenges: Nexus – An Open Global Intrastructure for

Spatial-Aware Applications. Proceedings of the Fifth Annual ACM/IEEE International Conference on Mobile Computing and Networking, ACM Press 1999, pp. 249-255 [Lie86] Liebermann, H.: Using prototypical objects to implement shared behavior in object-

oriented systems. In Proceedings of OOPSLA ´86, Object-Oriented Programming Sys- tems, Languages and Applications, November 1986, pp. 214-223

[Ma02] Mascolo, C.; Capra L.; Zachariadis, S.; Emmerich, W.: XMIDDLE: A Data-Sharing Middleware for Mobile Computing. Personal and Wireless Communications Journal 21 (1), Kluwer 2002

[OMG02] CORBA Components: Version 3.0. Object Management Group, June 2002

[PMR00] Picco, G. P.; Murphy, A. L.; Roman, G.-C.: Developing Mobile Computing Applica- tions with LIME. In Proc. of the 22nd International Conference on Software Engineer- ing, 2000, pp. 766-769

[RDF] http://www.w3.org/RDF/

[RKJ00] Raman, B.; Katz R.; Joseph, A.: Universal Inbox: Providing Extensible Personal Mobil- ity and Service Mobility in an Integrated Communication Network. In Proc. of the Workshop on Mobile Computing Systems and Applications, December 2000

[Tan01] Tanenbaum, A. S.: Modern Operation Systems. Second Edition, Prentice Hall, New Jersey 2001

Referenzen

ÄHNLICHE DOKUMENTE

The described structure features (i) a logically unified and hierarchical bus based on exchangeable transports, (ii) allows the integration of domain-specific data with filtering

Part IV Applicative Issues 14 Middleware Support for Context-Aware

Select Building Go to Destination Compile Questionnaire Matching Go to Destination Stop Make Photo Team Member 1 (camera device) Team Member 2 (bridge device) Go to Destination

We developed a platform architecture to enable interoperability between local ap- plications, co-located devices, and web applications at the data management level of a mobile

Starting with the functional building blocks of a typical mobile middleware we identified those components, which have to be added in order to provide context data (for context-..

Zum anderen wird eine Plattform benötigt, die es mobilen Anwendungen ermöglicht Dienste von anderen Anwendungen zu nutzen, unabhängig davon ob sie auf dem eigenen oder auf

The designed model-driven development infrastructure provides both a design time and runtime approach to support different user contexts:. 12.1 Design

This application is mostly based on the communication services of the middleware, which provide the common views to the mobile systems and perform the dynamic scheduling of