Use of distributed resources in mobile environment Tommi Kallonen and Jari Porras Lappeenranta University of Technology, Department of Information Technology P.O Box 20, 53851 Lappeenranta, Finland E-mail: {tommi.kallonen, jari.porras}@lut.fi Abstract: In this paper an approach to utilize distributed resources in mobile computing environment is presented. Our approach is based on the use of previously implemented mobile connectivity solution PeerHood. PeerHood observes the neighborhood of the mobile device making it possible to discover and use services of other devices (i.e. distributed resources in this environment) and thus makes it possible for our new approach to utilize these resources for remote execution of various tasks. We created a service on a fixed computer which receives tasks from other devices and executes them. Remote image analysis is used as an application to show how the approach could be efficiently used. 1. INTRODUCTION The number of different types of computing devices and communications networks as well as their capabilities has increased dramatically during the last decade. The world around us is full of processors taking care of different tasks and communication links delivering data from one place to another. Many researchers believe that this kind of development is making possible a new computing paradigm - pervasive or invisible computing - where computing technologies will recede into the background [1]. This new computing paradigm is based on developments in many separate fields. Tiny sensors and sensor networks as well as wireless network based environments can be used as the core of the paradigm. Sensor based information as well as services in the network form the content in this paradigm. The key issue in this whole paradigm is in the intelligent use of the information of the environment. The intelligence makes it possible to offer something unique for the users. The work of Wireless World Research Forum [2] supports these ideas. The ideas of WWRF are based on the user centric model presented in the first book of visions [3]. In this model user is connected to the services and to the pervasive environment through some personal device that allows the exploitation of the distributed resources. The variety of mobile devices and their capabilities has increased enormously during the last few years. A variety of wireless networks, like WLAN and Bluetooth, have become common in these mobile devices. These devices may be small handheld devices like PDA's and mobile phones, or laptops with state-of-the-art processing capabilities. In laboratory conditions the laptop based approaches are working but in real life the personal device need to be small enough. Therefore mobile phones and PDA devices are the key elements of the future pervasive environment. Unfortunately the capabilities, e.g. processing power and battery life, of these devices are still limited. Therefore, these devices need to take in advantage of distributed resources available for them. In this paper we present an approach where mobile devices utilize the distributed resources in their near vicinity. This approach allows remote execution of various tasks, e.g. analysis of images. The remote execution of tasks in mobile environment is discussed in chapter 2. Our approach is based on a previously implemented mobile connectivity solution PeerHood. This environment is shortly presented in chapter 3. We have tested this approach by implementing a barcode analysis application. This application and its implementation as well as some results are presented in chapter 4. Finally we conclude the paper by analyzing some of the results. 2. REMOTE EXECUTION Remote execution is an approach where tasks are executed in some other resource than the origin of the task. Remote execution is the basis for the distributed systems and well supported by approaches like CORBA, GRID or just by RPC. Unfortunately the widely used methods don’t work so well in the mobile environments due to connectivity and bandwidth issues. Remote Procedure Calls (RPC) are popular in workstations and servers using wired connections but because of their nature they wouldn’t work so well in wireless environment where bandwidth may vary greatly and there may be temporary disconnections. RPC is synchronous approach, thus leaving the client in a blocking state while in execution. With wireless network prone to disconnections this is clearly undesired. The client might have to wait a long time for the response or if the connection breaks, the response might never arrive. In this paper we consider remote execution in mobile environment. Although there are those existing approaches we are not going to modify them for the mobile environment but rather do the necessary steps with the mobile environment restrictions in mind. Therefore we consider the following steps sufficient: