As the user migrates from one computer terminal to another, he would like to ... By having an IP address any computer in .... experiment which is Desktop PC, Notebook and PDA to simulate the ... http://www.cooltown.hp.com HPLabs Technical.
Interoperability of Structured and Unstructured Services in Personal Mobility Information Space A. Mingkhwan, M. Merabti, B. Askwith School of Computing and Mathematical Sciences Liverpool John Moores University, Byrom Street, Liverpool L3 3AF, UK. Email: {cmsaming, M.Merabti, R.Askwith}@livjm.ac.uk
Abstract The next generation of network computing systems are expected to provide a wide variety of services to personal mobility users anywhere anytime in the world. Personal Mobility Services require an advanced architecture that integrates support protocols, mechanisms, and special functionality to dynamically reconfigure applications and services available in new environments when users change from one terminal to another. This paper introduces an architecture, Integrated Personal Mobility Services Architecture (IPMSA), that enables personal mobility to provide integrated Structured and Unstructured Services wherever they are available in a seamless manner.
1. Introduction The number of possible uses of wireless communication networks has exploded in the past decade. There are many technologies to provide services for users while they are moving. For example, Internet access can be provided to users in many different ways like WWW, WAP and I-Mode technologies. Many people are talking about m-commerce (the use of mobile technologies to conduct e-commerce). This convergence of needs and technologies has lead to the initiative for the design and development of the next generation mobile services system, a system that is able to interoperate in both Normal and Ad Hoc Network modes. End-users can get information not only from their terminal or the Internet but also from their environment [1] and equipment nearby in their current Information Space [2]. In this Information Space devices can communicate with other devices and servers to exchange information and get the services they need. During personal mobility Information Spaces change and we have to deal with services that may be unstable. JINI [3] provide for the network structured services point of view but not in Ad Hoc Networks or in integrating these services.
Our research scenarios are based on the notion that a user will require interoperability between multiple mobile network standards [4]. These may be either Ad Hoc with surrounding devices or connecting to existing structured networks. As the user migrates from one computer terminal to another, he would like to keep his personal settings, working environment and also discover the new services on offer from the new location that he has moved into. Imagine that a user is going to the museum to see a painting exhibition, with their mobile equipment; the user device is still connected with the Internet and can reach information they need to communicate and continue their work. On the other hand he may also enjoy the painting with the information that is sent to his terminal devices directly from the painting itself (not the museum server). In addition when combined with the information of the relevant painting in the room from the museum server it will bring the great benefit to the user and also allow flexibility to the museum staff at the same time. These kinds of interoperable integrated services need an architecture that can provide the seamless interoperability of Unstructured and Structured Networks services. We define Structured Services as a service provided with the help of a third party server e.g. services directory, name server or proxy (see section III), as part of a fixed infrastructure. Furthermore we consider that Radio or Television like appliances don’t have to connect to structured network services, they should simply just unpack it, and a Plug-andWork Service function will introduce itself to the network, automatically configure and start to provide services directly to the user’s device on their request. In the case where it was introduced to an environment that has a services structure, and is willing to join (in the case that the device can provide two types of service), the appliance will register itself with services registry and let the registry handle advertisement of services.
From the example above, the concept of seamless integration of services in a Personal Mobility Information Space is not only from the structured network point of view. The Ad Hoc network with the environment nearby has to be considered as one kind of service too. It is the integration of these services that is the focus of our work. The rest of the paper is structured as follows : section 2 will talk about relat ed research work and architecture in this area, section 3 describes our architecture in detail with operational scenarios, section 4 describes initial results from our experimentation, finally section 5 presents conclusions and further work. 2. Related Wo rk There are many new technologies that enable structured mobile communication network services which can seamlessly move between different network standard. To providing services to a user, many researchers have been focusing on personal mobility services and the system architecture that can support their movement in the environment. One of the important works that enables personal mobility is Universal Inbox of the ICEBERG project [5]. The ICEBERG project from U.C. Berkley achieves the goal of integrating telephony and data services. This project enables the possibility to transparently communicate between end-toend points that use different kinds of devices, but does not address the integration of structured and unstructured services. While ICEBERG provides transparent infrastructure of crossing system services, other projects like CoolTown, Monads and Salutation [6 ] are doing their part in providing the services. CoolTown implements the WEB presence [7] paradigm so the entire appliance can provide servi ces to user terminal. By enabling the Web access to devices, many kinds of services will be available by this concept. The important point in this work is that the services are still not automatically discovered. In this work, users have to get services by browsing the place’s web portal.
networked services transparently by using facilities of the Java environment. SLP enables general service-like query matching. SLP-Jini Bridge [11] can be used to put SLP services in the Jini services registry and this also makes the services become Structured Services which are different from our vision. Making Unstructured Services into Structured ones removes some of the flexibility of Personal Mobility Services. Automatic IP address assignment schemes like APIPA [12] and the on going work of ZEROCONF working groups [13] show the possibility of providing TCP/IP unstructured services functions. By having an IP address any computer in an Information Space can provide a services at the TCP/IP application layer. The challenge of this innovation is how to discover those kinds of services and the way to handle them. This technology thus could provide a useful building block in our work. The aims of our research are to integrate the services that are offered to users from both fixed ‘Structured’ Networks and Ad Hoc Networks that a user migrates to. We focus on integrated Structured and Unstructured Services in the Information Space, which should have a lightweight service discovery for small mobility devices.
3. Integrated Personal Mobility Services Architecture In this section we present the architecture that we have developed in our research. This architecture is implemented to provide the both Structured and Unstructured Services to personal mobility users. The basic idea of our Integrated Personal Mobility Services Architecture (IPMSA) is illustrated in Figure 1.
The Monads project combines nomadic computing and software agent technologies to create a solid basis for future nomadic applications. Partitioning applications has been introduced [8, 9] in this project to support personal mobility. This partitioning of application services approach is also only from the network side and aims to provide continuous service of one application while user s are moving from one device to another. Partitioning applications is concerned with improving network support for applications. In our work we wish to provide a broader availability of services as required by the notion of Information Spaces.
Figure1: Services integrated of IPMSA.
SLP [10] and Jini both provide automatic service discovery capabilities. Jini allows clients to interact with
As shown in Figure 1, every client has a Client Interface Skin that has predefined Functions (default or by user),
which use the Jini ServiceUI concept. All the functions will map to the service nodes that are present in the Information Space (Structured/Unstructured Services servers). The services on offer are not limited e.g. Location Information, Map, Printing, Storage. User devices are connected to service function via Ad Hoc / Structured Network. Devices can vary from Desktop PC, PDA or Mobile Phone. We clearly define in our architecture in Figure 1 that the user interface application is associated with many different service functions that are provided within the Information Space. Information Space is based on networks which are a combination of Wireless network and Internet network (which includes the local wired network) . All the service nodes that represent the services can provide their services through out Information Spaces by using Gateway Services that interconnect wire and wireless together. We propose that services provided by current systems can be classified into two main groups: - Structured Services: we define Structured Services as those provided with the help of a third party server e.g. services directory, name server or proxy. These kinds of services typically have complex behavior like Network Connection Services, Word Processing or Multimedia applications.
client, which has a local registry for required services. 4. The rest of the user defined services will be assumed to be on-demand services. All these ondemand services will be discovered by broadcast protocol. 5. The Unstructured Services that match the needs of the client are mapped and registered in the client registry. 6. Structured Services nodes that are introduced to the Information Space will register with the Services Registry. This node may appear either on the wired or wireless network. 7. New Structured Services information will be updated to Clients. Clients can check their previously unavailable required services with the new updated information. If new services become available they will be mapped, as in step 3, and the status will change to ‘available’. 8. A new Unstructured Service that is introduced will advertise itself throughout the Information Space. Clients that need this kind of service will register it and change the function status to available.
- Unstructured Services: this kind of service node is providing services to the client independently without the help of any other server. This concept is based on a simple services definition, like a radio or television remote control. Service nodes in our system can provide either (or both) types in it. The main important idea here is how we can provide services to Information Space anytime we want. We leave the Client Terminal to discover what kind of services, and how many are available in the Information Space that they migrate to. Our service discovery system as show in Figure 2 is being developed based on the combination of JINI and SLP to satisfy the needs of the client terminal. The service registry will advertise itself to a new node on introduction to the network. If there is no registry reply, the new node will use on-demand discovery services mode. The discovery and mapping services are maintained by the Client User-Agent. A step by step of how the discovery and services mapping scheme works is as follows : 1. When a user switches on their client it will introduce itself to the Information Space. 2. All the Services Registry in the Information Space will list the available Structured Services that have been registered with it to the new client. 3. Structure Service s that match the client needs are mapped to the predefined service functions in the
Figure 2: Client discovery and Services mapping
After all services are mapped the Client User-Agent will maintain the availability of the service nodes that were mapped with the client function. Beacon signals are used to check the availability of the Unstructured Service nodes. There are two types of unavailable services situation:
-
Unstructured Services unavailable: Client User-Agent will send the query again for the same types of services.
-
Structured Services unavailable: This information is updated from the Services Registry. When available the service will be switched to another node providing the same service.
A user can logon to his home network by using a selected Gateway Provider Services (via Internet connection). The User Profile Server authenticates users and activates the Server User-Agent and sends it to the current user Information Space to work with the Client User-Agent. This Server User-Agent will move to work with the Client User-Agent wherever that user migrates to. By retrieving profile information from the User Profile Server at the user’s home network the Client Interface Skin can be changed as required. A user’s Current Location information is also stored in the User Profile Server. User Profile Information consists of: -
Current IP address: This will be used to establish connections with the user.
-
Current Devices Capability: To determine what kind of application interface should be used.
Figure3: Initial experimental environment
-
Profile Server: This server is the user information storage that is used to support and keep the user data.
-
Structured Services Nodes : In this experiment we put some examples of structured services including Home Control System Services (Light, Temperature and other Home s ensors), Applications Services and Print Service.
-
Unstructured Services: Television, Radio and Information Display are used as examples of the Unstructured Services.
-
Client: We provide three types of client in this experiment which is Desktop PC, Notebook and PDA to simulate the different kinds of Client User Interface Skin.
When user roams to another network the Server UserAgent that migrates with them will update the new current location information. We use Agent technology to do the house keeping work on behalf of a user and provide reliable and secure connections for our system. Since the Client User-Agent and Server User-Agent both belong to the user, it can also establish a secure communication path for user. 4. Initial Work Experiment In our initial experiment, we constructed a services system that provides services to client devices according to a user interface definition. The implementation prototype uses a modified JINI services architecture to provide a structured network services situation. We also simulated Unstructured Services by using a WWW server to represent TV and Radio control. Figure 3 shows the combination of structures that we used in our experiment. The main components in our information space are: -
Services Registry: This server will take care of information on all Structured Services available in the Information Space.
Figure.4: IPMSA Client framework
As shown in Figure 4 the IPMSA client framework was developed in our experiment based on JiniClient with the addition of the functionality to handle an Unstructured Services along with the Structured Jini Services. The IPMSAClient class combines the integrated services and client properties to implement the core features of the Integrated Personal Mobility Services Architecture (IPMSA). The IPMSAClient class provides the following client function: -
Services discovery functions, Structured/ Unstructured Services, mapping and maintaining availability as describe in section 3 .
-
Device capabilities management functions that are used to provide an appropriate function interface to different kinds of device properties.
-
Log-on functions that provide capabilities to connect and retrieve user’s data from their information storage on the network.
[3]
S. Li, “Professional Jini ,” Wrox Press Ltd, August 2000, ISBN 1 -861003-55-2
[4]
O. Abuelma'atti., M. Merabti, and B. Askwith, “Interoperability in the Wireless Networked Appliances Technologies Arena,” The Second Annual Postgraduate Symposium on the Convergence of Telecommunications, Networking and Broadcasting, PGNet2001, Liverpool John Moores University, June 2001, pp. 230-235.
[5]
B. Raman, R. H. Katz, and A. D. Joseph, "Universal Inbox: Providing Extensible Personal Mobility and Service Mobility in an Integrated Communication Network", Workshop on Mobile Computing Systems and Applications (WMSCA'00), Dec 2000.
[6]
Salutation Consortium, Inc., “Salutation”, April 2000 http://www.salutation.org/ whitepaper/originalwp.pdf.
[7]
T. Kindberg, J. Barton, J. Morgan, G. Becker, D. Caswell, P. Debaty, G. Gopal, M. Frid, V. Krishnan, H. Morris, J. Schettino, B. Serra, “People, Places, Things: Web Presence for the Real World,” http://www.cooltown.hp.com HPLabs Technical Report HPL-2000-16, February 2000.
[8]
O. Koskimies, K. Raatikainen: “Partitioning Applications with Agents,” The Second International Workshop on Mobile Agents for Telecommunication Applications (MATA2000), Lecture Notes in Computer Science, Springer Verlag, September 2000, pp. 79-93.
[9]
Stefano Campadello and Kimmo Raatikainen: “Agents in Personal Mobility”, In Proceedings of the First International Workshop on Mobile Agents for Telecommunication Application (MATA'99). Ottawa Canada, October 1999, pp. 359-374.
5. Conclusion and Future Work The proposed Integrated Personal Mobility Services Architecture allows clients in Personal Mobility environments to use two different classes of services, either Structured or Unstructured. This will allow flexibility to put any kind of services in to our Information Space by means of an open services architecture. The experimental environment has shown that it is more flexible to have both kinds of services in the Information Space and the Unstructured Services properties are well suited to device mobility. The work presented so far constitutes a useful foundation in providing Information Spaces. However, there are still numerous problems to overcome. Three particularly important areas are security and authentication, continuous services provision, and screening services to eliminate duplicate and unwanted services. References
[10] E. Guttman, “Service Location Protocol: Automatic Discovery of IP Network Services,” IEEE Internet Computing, July-August 1999, pp. 71-80. [11] E. Guttman, James Kempf, “Automatic Discovery of Thin Servers: SLP, Jini and the SLP-Jini Bridge,” IECON, San Jose, 1999.
[1]
L. Kleinrock, "Nomadic Computing and Smart Spaces," IEEE Internet Computing, Vol. 4, No. 1, Jan.-Feb. 2000, pp. 52-53.
[12] C. Stinson, C. Siechert, “Microsoft Windows 2000 Professional Expert Companion,” Microsoft Press, 2000, ISBN 0 -7356-0855-5
[2]
A. Mingkhwan, M. Merabti, and B. Askwith, “Integrated Personal Mobility Services: A need beyond WWW,” The 2nd Annual Postgraduate Symposium on the Convergence of Telecommunications, Networking and Broadcasting, PGNet2001, Liverpool John Moores University, June 2001, pp. 223-229.
[13] S. Cheshire, “Dynamic Configuration of IPv4 linklocal address,” Internet draft, draft-ietf-zeroconf-ipv4linklocal.txt, July 2001.