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.
Key Words
Personal communication, Wireless communications, Personal Area Network, Communication middleware, Wireless Distributing computing.
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 plain-old 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
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).
Laptop as SIP/H323 terminal Mobile phone Plain-old phone Cordless phone PC as SIP/H323 terminal User Laptop PDA Camcorder Printer Microphone Interactive TV Personal Area Network Workstation 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.
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.
3. The Virtual Device - the natural and
inevitable evolution
The computer, from its infancy until now has a constant evolution and has experienced several paradigm shifts:
• Mainframe and monolithic architecture
• 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)
• 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.
CPU
Memory Output Unit
Input Unit
Data & Control Bus
CPU
Memory Output Unit Input Unit Data & Control Bus Wired Network Workstation PC
Figure 2 Distributed Computing
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 • location transparency • relocation transparency • migration transparency • persistence transparency • failure transparency • replication transparency • transaction transparency CPU
Memory Output Unit Input Unit Data & Control Bus CPU Memory Output Unit Input Unit Wireless Network http://heim.ifi.uio.no/~paalee/research.htm http://www.unik.no/~paalee/research.htm
Figure 3 Wireless Distributed Computing
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].
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.
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.
Device 1 Device 1 Device 1
User
Personal Area Network Virtual Device Middleware
PAN Applications Applications
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.)
• On-body or Off Body
• Mobile or stationary
• With or without Network connections
• With or without local wireless connections 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 stand-alone 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. In order to identify and define the capabilities and functions in the PAN Virtual Device Middleware (PVDM) let us consider two PAN configurations:
• Isolated PAN with multiple open devices
• Networked PAN without Open device
3.1 Isolated 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
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.
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 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-7803-7400-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