Dynamic PAN-Based Virtual Device Tore Jønvik, Paal Engelstad and Do van Thanh Telenor R&D {Tore-erling,jonvik, paal.engelstad, thanh-van.do}@telenor.com Snaroyveien 30 1331 Fornebu Norway Abstract In this paper we introduce a novel concept, which considers all the autonomous devices on the user 's Personal Area Network (PAN) as one big "Virtual Device" having multiple input and output units and providing a coherent and surround interface to the user. Such a concept is quite valuable to the user since it allows him to manage all his devices as one. The paper also proposes and describes a PAN middleware that enables the formation of a Virtual Device on the PAN and that is capable of handling the dynamical presence of devices and the diversity of device types. In order to identify the necessary capabilities and functions of such middleware, Two PAN configurations, namely Isolated PAN with multiple Open devices and Networked PAN without Open device are considered thoroughly. the user’s point of view it is desirable to be able to handle all the mobile devices uniformly or preferably to consider them as “one big Virtual Device” [1]. In this paper we introduce a novel concept, which considers all the autonomous devices on the user 's Personal Area Network as one big "Virtual Device" having multiple input and output units and providing a coherent and surround interface to the user [2]. Such a concept is quite valuable to the user since it allows him to manage all his devices as one (See Figure 1). Plain-old phone Key Words Personal communication, Wireless communications, Personal Area Network, Communication middleware, Wireless Distributing computing. Mobile phone Laptop as SIP/H323 terminal Cordless phone PDA 1. Introduction Nowadays the user is confronted with several different communications devices as for example, a plain-old telephone, a mobile phone, a cordless phone, and a PC or a workstation that acts as a multimedia terminal. All these devices are autonomous and function independently of each other and without any coordination. In fact they are not even aware of the presence of other devices. As the owner the user is required to handle them all and does not always succeed since as a human being he cannot perform many tasks at the same time. For example, both the plainold telephone and the mobile phone start ringing simultaneously and force the user to alternate between calls or terminate one of them. Another inconvenience is the repetition of the same tasks for each device. The user has to define his profile and preferences on every device. For example, he has to enable a voice-answering service both on his cellular phone and his plain-old telephone when he is busy and does not want to be disturbed. From Laptop User Workstation PC as SIP/H323 terminal Camcorder Personal Area Network Microphone Interactive TV Printer VIRTUAL DEVICE Figure 1 The Virtual Device on PAN Other advantages of the Virtual Device concept are the cost reduction and the increase of convenience. Devices can share resources like processing power, battery power, memory, data, applications, network access points and user-interfaces. The user does not have to purchase the same resource twice and can hence save money. It is also more convenient for him to carry as less equipment as possible when moving. http://heim.ifi.uio.no/~paalee/research.htm The Virtual Device concept can never be a reality without the emergence of local short-range communication technologies such as Bluetooth [3], WLAN [4], HiperLAN, etc. that enable local connectivity between devices. The devices belonging to a person will form a private Personal Area Network (PAN) where devices appear and disappear dynamically. However, most importantly, connectivity does not necessarily mean communication and many challenging issues must be resolved before devices can collaborate and together form a Virtual Device. This paper proposes and describes a middleware that enables the formation of a Virtual Device on the PAN and that is capable of handling the dynamical presence of devices and the diversity of device types. 2. Related works In the project EU IST-2001-34157 PACWOMAN, there is a different definition of the Virtual Device which consists of a Master device and several Basic, low cost, low power radio terminals. Each device can be considered as one device on the PAN. The PACWOMAN Virtual Device corresponds to the idea introduced in Wearable Computing where a main PDA is controlling and communicating via wireless links with miniaturised peripheral devices. The Virtual Device in this paper, on the other hand, consists of all devices of various types within and beyond the PAN. The Eurescom project P1101"Always-On" Device Unifying Service, defines a Virtual Terminal concept that consists of networked devices without local connectivity between each other. No clear PAN is defined. The focus is on the transfer of voice and data sessions between devices, e.g. to move a conversation from a mobile to fixed phone or vice-versa. The Virtual Device in this paper may also be confused with Jini from Sun Microsystems. Jini enables services and resources offered by devices over a network to be shared by users. No attempt is made to exploit the benefits of integrating devices together as defined by our Virtual Device. • A Persistent storage • An Input and Output unit which manages a serie of terminals The heart of the mainframe is the CPU but the main vein is the bus system. The bus system is used to convey both the control information necessary for the control and synchronisation in the system and the data that is exchanged between the units. Generally speaking, it is possible for the bus to convey both operations and data streams although, at the implementation level, a bus system may consist of two separate parts, one for control and one for data. Wired Network CPU CPU Input Unit Memory Output Unit Data & Control Bus • location transparency 3. The Virtual Device - the natural and inevitable evolution • relocation transparency • migration transparency The computer, from its infancy until now has a constant evolution and has experienced several paradigm shifts: • persistence transparency • failure transparency • replication transparency • transaction transparency • Distributed system and network system • Wireless distributed system and personal area networks From the 50s till the 80s, the computing world is dominated by mainframes and minicomputers. They have a monolithic architecture composed of: • A Central Processing Unit (CPU) • A Memory system (Volatile Storage) http://www.unik.no/~paalee/research.htm Data & Control Bus Output Unit Memory During the 80s, microprocessors, workstations and PCs made their appearance and in very short time forcing the mainframes to retreat. However, they would not have such a success without the breakthrough in data communications. With Ethernet, higher data rate can be exchanged between computers in the Local Area Networks. The Distributed Computing paradigm is introduced and the goal is to build a huge mainframe based upon independent computers. The transparency concept is aimed at hiding the complexity created by the communication distribution such that developers can concentrate on the development of their applications [5][6][7]. The following transparencies are defined: access transparency Mainframe and monolithic architecture Input Unit Figure 2 Distributed Computing • • PC Workstation Wireless Network CPU CPU Memory Input Unit Data & Control Bus Input Unit Output Unit Output Unit Memory Figure 3 Wireless Distributed Computing • On-body or Off Body To realize the Distributed Computing paradigm a software layer or more precisely, a middleware is introduced between the applications and the infrastructure. A well known example of such a middleware is CORBA (Common Object Request Broker Architecture) promoted by the Object Management group [8]. • Mobile or stationary • With or without Network connections • With or without local wireless connections With the emergence of short-range wireless technologies like Bluetooth and WLAN, the natural evolution is to replace the wired network with the wireless network to obtain the wireless distributing computing paradigm as shown in Figure 3. It will be necessary with a careful and unambiguous definition of device types but for the time being it is sufficient to consider the device types at a coarse level as follows: • Primitive device: Simple devices that cannot operate alone but are slave to other devices, e.g. earphone, microphone, display, etc. • Open device: Devices allowing the installation and execution of PAN Middleware and other applications, e.g. PDA, laptop, workstation, etc. • Closed device: Devices that can operate standalone but are like a black box i.e. its internal structure and functions are totally hidden and communicate with the environment though only well defined interfaces. For instance, a digital camera is advanced device having processor, memory, input and output units but does not allow the installation and execution of foreign applications. It communicates with the rest of the word via interfaces like serial, parallel, USB, etc. 4. The Virtual Device Middleware Although sharing some similarities with the traditional Distributed Computing the Wireless Distributed Computing has also major differences and to realize the Virtual Device requires also another type of middleware (Figure 4). The main difference is that all the transparencies except Access Transparency are not desirable. Indeed, one of the goals of the Virtual Device is to be in control of the location of the applications and to do relocation, migration, duplication, etc. The other differences are the heterogeneity and dynamic of the devices on the PAN. In the traditional Distributed Computing, the computing nodes are supposed to be stable and equal or at least having the minimum of capabilities e.g. processing, storage, communication, etc. In order to identify and define the capabilities and functions in the PAN Virtual Device Middleware (PVDM) let us consider two PAN configurations: User PAN Applications Applications Virtual Device Middleware • Isolated PAN with multiple open devices • Networked PAN without Open device Personal Area Network Device 1 Device 1 Device 1 3.1 Isolated PAN with multiple open devices Figure 4 The Virtual Device Architecture Indeed, on the PAN there are a variety of devices such as: • Communications devices (fixed, mobile &IP phones) • Computing devices (Computer, PC, laptop, PDA, etc.) • Peripheral devices (Printer, scanner, digital camera, camcorder, etc.) • Electronic devices (TV, stereo equipment, loudspeakers, etc.) • Electronic appliances (fridge, expresso machine, washing machine, etc.) Figure 5 A PAN with multiple Open devices In this PAN configuration, there are multiple Open devices, multiple Closed devices and multiple Primitive devices on the PAN. Figure 5 shows a PAN with two Primitive devices: microphone and earphone, two Closed devices: Mobile phone and Camcorder, and three Open device: PDA, Laptop and PC. The PAN Virtual Device Middleware should have the following capabilities and functions: A. Device Profile The PVDM should be able to detect and to recognise what are the devices present in the PAN, what type they are and what capabilities they have or what service they are offering, e.g. printing, sound input, text displaying, etc. The definition of device types must be logical and unambiguous. It must be logical to address both composite devices and inherited devices. It must be unambiguous to guarantee the identification of a device type. The definition of device types should be standardised. B. Device Discovery and Updating To support the PAN's dynamic, where devices appear and disappear, the PVDM should be equipped with mechanisms for Device Discovery and Updating. One method is to carry out polling periodically. Since Primitive devices may be tied to their master and not visible to others, the PVDM should also ask also Open and Closed devices for Primitive devices which are connected. In a second method, the PVDM only runs the device discovery once and relies on triggering from the network layer to update its device set. In a third method, the changes are only updated when an attempt to reach a device upon request from an application fails. The best options will be determined based upon the operational scenarios of Activity 2. The PVDM should also store information about the present devices. It is necessary to have a naming convention, e.g. PDA 1, Mobile 2, etc. The network addresses (IP, Bluetooth, etc.) and protocols for each device must also be stored. C. Device Input and Output redirection The PVDM should be able to redirect an output stream from one device to the input stream of another one. For example the sound output stream from the PDA can be redirected to an earphone and the sound input redirected to a microphone. It must intercept the output stream addressed to a device at an output port, perform the necessary transformation and send it to another device on the PAN. An API (Application Programming Interface) will be defined for this functionality. D. Application/Service Input and output redirection The input and output redirection should also be done at the application/service level, i.e. one application can be redirected to one device while a second one to another device. However, this capability is more difficult since it depends on the feature of the operating system and may also require a new application structure as shown in Figure 6. An application consists of three components: Core, Input and Output. The Core component contains the main logic of the application and should remain invariant. The Input and Output Components should be specified according to the services supported such as sound input, text input, graphic display, colour printing, etc. If a device offers a service matching the one required then it can be used for the application. Figure 6 PAN Application structure E. User Profile The user and owner of the PAN should be reserved the right to define the following: • What devices are allowed to participate to her PAN when present within the PAN's coverage? • How the devices should be used at a particular location or at a particular time or according to a certain timetable. How should the redirection between devices occur? • Which devices should be internal and which one should be global and visible to the outside world? • Which applications can execute and their settings? • How should the applications be distributed among the devices, i.e. how the components should distribute among devices according to criteria as quality, price, battery level, etc ? In addition, the user must have the ability to alter, remove, and add device and applications at any time and anywhere. These hard requirements induce a serious challenge on the design of the User Profile structure and the architecture of the system around it. F. Interface to the user Since the user, as owner of the PAN, should be the one having the right to decide everything, there is a need for an application for PAN Control that offers interfaces allowing him/her to communicate and control the PAN Virtual Device. As with other applications, the PAN Control should also be structured as Core, Input and Output and should support a variety of input and output services. G. Interface to applications and services With the apparition of the PAN, a brand new type of PAN-based applications is born. This new type of applications will actively take advantage of the unique properties of the PAN: device dynamic and resource sharing. A typical example of PAN-based applications is an application, which focuses on the control of existing applications, their parallel execution, their flexible and dynamic composition, the distribution of their input and output. The PVDM should provide an Application Programming Interface (API) allowing the application access to the PAN capabilities and functions. It is also necessary with careful study to decide which technology, e.g. Java, CORBA, XML Web service, etc. should be used to implement such an API. F. Optimal Resource Sharing Concerning the Core, it could only be moved and resumed to a compatible Open device. The functionalities of the PVDM are depicted in Figure 7. 3.2 Networked PAN without Open device In this configuration the PAN does not have any Open device but only either Primitive or Closed devices. Usually without an Open device, the PAN will collapse but fortunately there is a way to remedy the situation if there is one device with network connection. As shown in Figure 10, the mobile phone allows communication with a Computer running the PAN Virtual Device Middleware (PVDM). In this case the PAN can function very well because it is logically equivalent to the configuration Isolated PAN with unique Open device if the Computer on the network is considered as a PAN device. This configuration is, however, very interesting since it opens for several relevant usage scenarios. Indeed, the network computer can be a Home PC or an office workstation that the user always leaves behind when traveling, but it can still participate and give support to her PAN. This network computer can also be provisioned and managed by a Service Provider that offers PAN service to the users. Figure 7 PVDM for PAN with multiple Open devices In addition, it is desirable to achieve better collaboration and more optimal resource sharing between the Open devices. There are several alternatives to achieve improved Resource Sharing as follows: 1. Distributed Operating System: Such an alternative demands the implementation of the Distributed OS on all of the Open device types. With rapid growth in type of mobile devices this could be difficult. 2. Distributed Computing: The traditional Distributed Computing Middleware must be extended with functionality to cope with the dynamic of devices. 3. XML Web Services: The devices are more loosely coupled in this alternative and it can cope better with device dynamic [9][10]. 4. Application distribution, coordination and control: the PVDM performs the distribution, coordination and control of applications based on the Core, Input and Output, application structure. The distribution of the input and output components is already taken care of by the Application Redirection Function described earlier. Figure 8 A PAN without Open Device It is essential to consider the role of the network operator. This is a consideration for activity 8 to investigate the newly associated business model. 5. Conclusion In this paper we introduce a novel concept, which proposes to realise a Virtual Device based on autonomous devices on the Personal Area Network. We also propose a PAN middleware necessary for the realisation of the Virtual Device. The capabilities and functions of the proposed PAN Middleware are identified and explained. However, we are still in the analysis phase. In order to obtain a running PAN Middleware, the design, implementation and testing should be carried out and many challenging issues such as the device discovery, the design of the user profile, the choice of appropriate approach for resource sharing, etc. must be treated. Last but least, the PAN will only take off with the wide availability of short-range wireless technologies that consume less energy. References [1] Do, van Thanh, Jønvik Tore, Vanem Erik, Tran, Dao van & Audestad, J.A.: The Device Management Service, Proceedings of The IEEE Intelligent Network Workshop 2001 (IN2001), Boston, USA, ISBN 0-7803-7047-3, May 6-9, 2001. [2] Vanem Erik, Tran, Dao van, Jønvik Tore & Do, van Thanh: Extending VHE with the Device Unifying Service, Proceedings of The IEEE International Conference on Comunications ICC 2002, ISBN 0-78037400-2 (sofbound) ISBN 0-7803-7401-0 (CD-ROM), New York, USA, April 28 – May 2, 2002. [3] https://www.bluetooth.org/ [4] http://standards.ieee.org/getieee802/portfolio.html [5] ITU-T X.901 | ISO/IEC 10746-1 Open Distributed Processing Reference Model Part 1.Overview [6] ITU-T X.901 | ISO/IEC 10746-2 Open Distributed Processing Reference Model Part 2.Foundations [7] ITU-T X.901 | ISO/IEC 10746-3 Open Distributed Processing Reference Model Part 3.Architecture [8] Object Management Group: CORBA 2.0 Specification [9] “Executive Overview: Web Services”, The Forrester Brief, Forrester Research Inc. October 2001 [10] “What are Web Services”, DestiCorp Ltd., http://www.desticorp.com/focus_ws.html