An application can e.g. join a peer group, search for a file and download a file with only three method calls. By abstracting services behind the API, PnPAP.
The 17th Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC'06)
IMPROVING MULTIPLE MOBILE APPLICATION INTERACTION WITH UNIFIED SESSION MANAGEMENT Jussi Ala-Kurikka University of Oulu Finland
Juuso Ohtonen University of Oulu Finland
ABSTRACT This paper presents a novel mobile application interaction concept using Application Supernetworking. With efficient use of middleware, the use of resources can be optimized through so called Supersessions, which is an important factor especially in mobile devices. By implementing application co-operation, the user’s awareness of available services can be increased while decreasing the amount of needed user input. Measurement results based on our Plug-and-Play Application Platform prototype with Application Supernetworking show the feasibility of the approach. I.
INTRODUCTION
Current trends suggest that mobile services should be developed at an ever-faster pace, which can be enabled by the use of different kinds of application frameworks, platforms and middleware, noted also in [1]. One additional advantage in using middleware can include optimizing the use of scarce resources of a mobile device. At best, user friendliness can also be raised with efficient application co-operation through the middleware. The vast possibilities make middleware an interesting research area. In this paper, we expand the concept of Application Supernetworking (AS) introduced in [2]. We continue the development of our novel middleware platform called the Plug-and-Play Application Platform (PnPAP) presented in [3] with new features for Application Supernetworking. Chapter 2 introduces PnPAP shortly. Chapter 3 concentrates on specifying the concepts of Application Supernetworking and Supersession in more detail, and discusses implementing them in practice. In Chapter 4, we present our currently implemented middleware and application prototypes including Navigation Application [4], a concrete example of a Supernetworked PnPAP application. We show the collaboration of Navigation Application with another application, File Sharing. Chapter 5 illustrates measurement results of the prototypes and Chapter 6 discusses the results. Future work is also depicted, and Chapter 7 summarizes the paper. II. PNPAP IN BRIEF PnPAP presented in [3] is a context-aware middleware platform targeted especially for mobile devices. It provides communication services to applications. Examples of peer-topeer (P2P) oriented functionalities provided by the PnPAP API include creating and joining a P2P peer group, searching, sharing and downloading of files inside a peer group and sending chat messages. An application can e.g. join a peer group, search for a file and download a file with only three method calls. By abstracting services behind the API, PnPAP
1-4244-0330-8/06/$20.002006 IEEE
Erkki Harjula University of Oulu Finland
Mika Ylianttila University of Oulu Finland
enables run-time optimization of e.g. the used P2P protocols and connectivities. The optimization can be based on many criteria: bandwidth usage, cost, speed, interoperability etc. III. SUPERNETWORKING A. Definition Application Supernetworking (AS) was first presented in [2]. By definition, AS includes: • Multisessions and/or rich calls • Plug-and-play interactions between sessions and applications • Holistic connectivity management Middleware plays a central role in AS: it is the coordinator of resources. B. Local Supernetworking Model As the number of services increases, navigating between them inside an application and between different applications becomes more difficult especially in mobile devices. For the user, even knowing what services are available can become difficult. Through operating system or middleware, applications can co-operate so that applications can list and trigger functionalities provided by other applications. That can provide the user with useful shortcuts because when interacting with a peer, the user might want to continue working with the same peer with another functionality. To accomplish efficient co-operation of applications and the services they provide, we introduce the terms • Service Producer and • Service Consumer. The Producers are applications that accomplish a specific task, such as browsing or downloading of files. They thereby produce services that other applications, the Consumers, can trigger. We call the triggering the creation of a local Supersession between the Producer and the Consumer. Fig. 1 shows the whole sequence of application cooperation via AS. The Producer registers the services that it wishes to provide to other applications locally. In the simplest scenario, the registration can just include a textual description of the service, and the description is stored to the Middleware with the path of the Producer executable. The description can be provided in different languages for localisation. A Consumer can then request a list of available services from the Middleware. The request can include a remote peer name as a parameter, if the Consumer wishes to include only the services that are supported by the peer. Then, the services returned by the Middleware can be found from Y in (1), where L is the locally supported service space and R is the service space supported by the remote peer, and F is a filtering function.
The 17th Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC'06)
Y = F ( L ∩ R) .
(1)
R can be found for example by implementing [5] which presents a P2P SIP based intercommunication method for ASenabled middleware. However, using ACPC [6], even services not currently installed in the remote peer could be listed. The Consumer can e.g. show the list of services directly to the user. If the user selected a service, the Consumer would call the StartService(Service, Peer) method of the Middleware. The Middleware would then start the correct Producer application executable if it was not already running and call its corresponding callback method to set it to the correct state (e.g. to show the files of the selected remote peer). If registrations included more specific service discovery information, also context based methods in e.g. [7, 8] could be applied to launch Supersessions. In addition, the filtering function F could be based on context. The details are out of scope of this paper, however.
Figure 1: Co-operation of Applications by Application Supernetworking. C. Example The Producer could be a File Sharing application, whereas the Consumer can be an Instant Messaging (IM) application, for example. During a chat, the user may want to see a list of files the other user has shared. The IM application can show buttons on the GUI related to file sharing even though it does not include the needed functionality itself. The File Sharing application provides those services instead. With AS, the IM application finds local services including the browsing of files using the Middleware and renders buttons for those services to the UI. Now, with a click of a button, the user can trigger the launching of the File Sharing application which is the start of a Supersession. IM provides the selected service and the name of the other user to the Middleware. The Middleware forwards the data to the File Sharing application which can then directly show the other user’s files without any further user input. Actually, there is no reason why an application could not be both a Producer and a Consumer. The IM application could also produce message sending service for other applications.
D. Advantages of Supernetworking We expect Supersessions to increase usability in all user skill levels. For the expert user, Supersessions provide a shortcut to another application. It has already been shown that even simple shortcut approaches can save the mobile device user a considerable amount of key presses [9]. For the beginner, the list also acts as a tool in finding available services. Supernetworking-based middleware helps the user in switching between different roles, e.g. family member, student and researcher, and maintaining consistency between applications. Instead of joining different peer groups with different applications, the middleware could share the same peer group session between applications. If the user joined the “home” peer group with one application, the state of the middleware would change, so the “home” peer group members would also be seen in all other applications running on the middleware. When multiple applications are used simultaneously, memory and processing power can be used more effectively. Protocols and connectivities can be controlled in a centralized manner by the middleware and e.g. only one occurrence of a protocol and a connectivity module may need to be loaded into memory. Then, bandwidth usage is optimized in that only one protocol instance has to do a handshake. Many of these optimization schemes are even more crucial when resources are scarce, such as in mobile devices. It must be noted, however, that the middleware complexity should not rise too high making cost greater than the benefit. The benefits of middleware and AS are broader than just optimising resources, though. Supersessions resemble some existing technologies including Microsoft’s Object Linking and Embedding (OLE) and shared views of the Symbian OS in which the application may have to be designed for optimal co-operation with specific applications. The user might also get confused by different applications using same views. With Supersessions, applications are separate and the Provider is switched to foreground when one of its services is triggered. Also, applications are enforced to fulfil the AS specification which guarantees interoperability. IV. CURRENT PROTOTYPES A. Implementation Environment We have implemented prototypes of Application Supernetworking-enabled middleware with Supersessions and applications to prove the feasibility of our approach. The prototypes are currently implemented for the Symbian OS 8.0a and Nokia Series 60 2nd Edition, Feature Pack 2 enabled mobile phones with native C++ object oriented programming. Supported phones include the Nokia 6630 and 6680. B. PnPAP We have implemented AS in our PnPAP middleware which is built on the Symbian client-server architecture. Differing from frequently used terminology both the client and server run on the same mobile device. Applications use the PnPAP
The 17th Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC'06)
client for easy access to the PnPAP server which is the controller of the middleware. Currently, AS service registration is based on application specific service description files. When an application is installed, the installer SIS copies a service description text file to a directory under the PnPAP middleware directory. The text file contains tokens separated by line feeds, each token corresponding to a service. PnPAP can then read files under that directory to get a complete listing of the locally available services. An application’s service description file name equals that of the executable, so whenever a service of an application is selected, PnPAP can launch the executable. After the application has started and connected to PnPAP via the client, PnPAP can forward the selected text to the Producer application so that the Producer can switch to the proper view and state. Thus, applications do not need to be run once for PnPAP to find the services they provide. Furthermore, an application does not need to be running to be able to trigger its services. C. File Sharing Application File Sharing application provides peer-to-peer (P2P) functionalities including creating, joining and leaving peer groups. File sharing, searching, downloading and uploading functionalities inside peer groups are supported. File Sharing is built on top of PnPAP, so it does not implement any P2P protocols or connectivities. File Sharing is a Producer application for Application Supernetworking. D. Navigation Application Navigation Application is a context-aware mobile navigation application with similar peer group related functionalities as File Sharing. Navigation Application is also built on PnPAP middleware. PnPAP is able to find the user’s own location e.g. via Bluetooth GPS, and Navigation Application can get the location information from PnPAP. In addition to the user’s own location, the members of the currently joined peer group(s) are shown on the map by using [5] to share context information of peers. Supersessions can be started by selecting a peer on the map view or from a list. Navigation Application is a Service Consumer. The application could also produce a “show peer on the map” service. E. Example of Supernetworking An example sequence of creating a Supersession between Navigation Application and File Sharing is depicted in Fig. 2. File Sharing application registers a service for browsing peers’ files. When the user selects one of the current peer group members on the map in Navigation Application, the application forms a dynamic menu according to the results of a DiscoverServices() method call. The menu includes the option “File Sharing: Browse files”. The user selects it and Navigation Application requests a Supersession start-up from PnPAP by calling the StartService() method. PnPAP starts the File Sharing executable if necessary and forwards the Supersession request to it. File Sharing then opens the correct
view automatically and uses PnPAP to get a list of the selected peer’s files.
Figure 2: Example sequence of Supersession startup. V. MEASUREMENTS A. User Input 1) Test Setup To measure the feasibility of Supersessions, usability tests should be performed; however that is future work. Instead, to get an estimate of whether Supersessions help the user in practice, we measured differences in the user input needed in both the traditional and the Supersession enabled case. We measured the amount of user input needed, but it must be noted that we did not directly measure usability. The test case was to start the File Sharing application and access the list of a peer’s files. The quantities we measured were the number of needed key presses and the time used in making them. The phone in our tests was the Nokia 6680 with PnPAP, File Sharing and Navigation Application installed. Both of the measured quantities represent only estimates, though. For example, the main menu of the 6680 is altered by customization and the amount of installed applications thus affecting the number of needed key presses. Also, the time it takes to perform each key press can vary significantly between users and contexts. 2) Traditional Case Initially, the Navigation Application is on and the map view is selected (Navigation Application (NA) map view). The user sees his friend on the map and wants to see the files he has shared. The user has to press the menu button (phone menu), browse to the desired application icon, start the application (File Sharing (FS) main menu), join peer group (FS manage peer groups), select browsing files (FS main menu 2), browse to the specific peer, and select the peer (FS browse files). We estimate that the desired application icon is
The 17th Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC'06)
within 10 key presses in the phone menu and to select the correct peer, the number of key presses was estimated to range from 0 to 10. Measured limits (both lower and upper for the number of key presses, only lower for time) per each GUI state transition are presented in Fig. 3.
‘FS main menu 2’. In this transition, PnPAP connects to the network and a number of dialogs are shown. In the Supernetworked case, these phases have already been done during the use of the Navigation Application. Therefore, our measurements are in part biased in the favour of the Supersession case. However, because of the significant differences between the two cases, no fair measurements can be achieved. Table 1: Comparison of results in total. Quantity Key presses, lower limit Key presses, upper limit Time (s), lower limit
Traditional 11 30 26
Supernetworking 3 13 10
One additional benefit of the Supersession case is that Navigation Application shows the list of peers and services much earlier on. In the traditional case, the user must take nearly all the steps described in Fig. 3 to be able to observe that a peer or service is in fact unavailable. B. Use of Resources
Figure 3: Start browsing files without Supernetworking. 3) Supersession Case Initially, the Navigation Application is on and the map view is open (Navigation application (NA) map view). The user now only has to choose the specific peer, open the menu, and select browsing files. File browsing is then started (FS browse files). The measured limits are presented in Fig. 4.
Figure 4: Start browsing files with Supernetworking. 4) Comparison Table 1 shows that AS reduces the number of required key presses. Also, the lower limit for the needed time was reduced, whereas the upper limit was too hard even to estimate. The most time-consuming task in the traditional case is the state transition from ‘FS manage peer groups’ to
1) Test Setup The use of resources is an important factor in mobile environments where resources are scarce. Thus, we measured the amount of used RAM at run-time both in the traditional and AS case. We wanted to measure the total difference including needed DLLs in both cases. Therefore, to measure the use of RAM, we used DevMan v2.50 software in the Nokia 6630 device to find the free memory of the whole platform. Because we could not stop all other processes from running on the 6630, they had minor random effects on the results. However, reproducible results were obtained with averaging. Generally speaking, the method was to read the free RAM both before and after starting functionalities to obtain a difference which we interpreted as the memory consumption. We excluded the effect of the GUI components on the memory consumption, as we approximate that that is near to equal in both cases. For the traditional case, we measured the amount of memory required when loading and using our native DC++ protocol and GPRS connectivity polymorphic DLLs (Thumb builds). Since different applications probably use their own protocol and connectivity libraries on top of the libraries provided by the operating system, we calculate that each application’s networking components running simultaneously add to the memory consumption approximately by this amount. In the AS case, we measured the amount of memory required by both PnPAP client and server with AS support plus DC++ and GPRS DLLs. With AS the number of loaded protocols and connectivities can remain unchanged when the number of applications increases, so the effect of each application equals the memory required by PnPAP to support the additional application. We first measured the amount of RAM PnPAP uses when started by the first application. We then measured the consumed RAM when another application
The 17th Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC'06)
starts using PnPAP and estimate that PnPAP requires the same amount for all subsequent applications. 2) Results We found that DC++ protocol and GPRS connectivity require 136 kilobytes of memory. That number was interpreted as the approximation of the amount of RAM that each traditional application requires to implement a similar set of networking features. Thus, for comparison, each simultaneously running application increases the use of RAM by 136 kB. In the AS case, we found that PnPAP takes 224 kB to start (incl. DC++ and GPRS on the server side). The PnPAP client DLL consumes additional 40 kB. The first application starting PnPAP thereby requires 264 kB of RAM. The client side PnPAP object and the server side objectsequal 12 kB, so additional clients increase the total RAM consumption by 52 kB. 3) Comparison Fig. 5 shows that the memory consumption lines cross at about 2.5 simultaneous applications. One or two traditional applications use less memory than in the AS-enabled case. With three applications or more, the Supernetworked case is lighter in terms of memory consumption. Thus, AS could help to save memory at least in the case of mobile power-users but not necessarily with beginners. We note, however, that in practice applications using DC++ and GPRS would most likely need to implement added functionalities that were present only in PnPAP in our measurements. PnPAP, on the other hand, included an unnecessarily rich set of services for the tests. Therefore, the results are biased to the traditional case’s advantage.
Figure 5: Comparison of memory consumption. VI. DISCUSSION AND FUTURE WORK The measurement results show that even though we have done hardly any optimization of the source code, our AS prototype can still save memory in the case of many simultaneously running applications. There are also other resources whose usage need optimization. E.g. a rich set of connectivities is a common feature in latest mobile devices.
Using them optimally is challenging, and middleware can provide a flexible solution to cut down on e.g. cost and bandwidth and power usage. By sharing Supersessions between applications AS minimizes the need of bandwidth. However, depending on the Supersession, applications might not be able to use the services simultaneously with just one protocol instance. Thus, AS could provide an optimal compromise between bandwidth usage and the needed amount of protocol instances based on applications’ needs. The required amount of processing is also an important aspect to consider. We also showed that usability can be improved by Supersessions because of decreased need of user input. True evaluation of usability requires end-user tests, however. We will continue to evaluate the benefits of PnPAP with AS in more detail from both technical performance and usability points of view. VII. SUMMARY We have presented and extended the concept of Application Supernetworking and defined concrete examples of its use with our novel PnPAP middleware for mobile devices. Through preliminary measurements, we found that with Application Supernetworking, the use of resources can be optimised while increasing user friendliness by lowering the amount of needed interaction. However, more work is needed to further evaluate the feasibility of the concept. REFERENCES [1] K. Raatikainen, H.B. Christensen, T. Nakajima, “Application Requirements for Middleware for Mobile and Pervasive Systems”, ACM SIGMOBILE Mobile Computing and Communications Review, vol. 6, issue 4, October 2002, pp. 16-24. [2] J. Ala-Kurikka, M. Ylianttila, E. Harjula, O. Kassinen, ”Empirical aspects on implementing application supernetworking”, Proc. of the Nordic Radio Symposium (NRS) 2004 incl. the Finnish Wireless Communications Workshop (FWCW) 2004, Oulu, Finland. [3] E. Harjula, M. Ylianttila, J. Ala-Kurikka, J. Riekki, J. Sauvola, ”Plugand-play application platform: towards mobile peer-to-peer”, Proceedings of the 3rd international conference on Mobile and ubiquitous multimedia MUM '04, College Park, Maryland, 2004, pp. 6369. [4] J. Ohtonen, O. Kassinen, M. Ylianttila, “Feasibility Study of a Mobile Peer-to-Peer Navigation Application”, Proc. of the 17th Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications Conference (PIMRC2006), Helsinki, Finland. [5] E. Harjula, J. Ala-Kurikka, D. Howie, M. Ylianttila, ”Analysis of Peerto-Peer SIP in a Distributed Mobile Middleware System”, to appear in Proc. of IEEE Global Telecommunications Conference 2006 (GLOBECOM ’06). [6] O. Kassinen, T. Koskela, E. Harjula, J. Ala-Kurikka, P. Pohjanen, M. Ylianttila, "Group-Based Content Push with Dynamic Session Startup", Proc. of the 4th International conference on Mobile and Ubiquitous Multimedia (MUM2005), The University of Canterbury, Christchurch, New Zealand, December 2005. [7] P. Korpipää, E.-J. Malm, I. Salminen, T. Rantakokko, V. Kyllönen, I. Känsälä, ”Context Management for End user Development of ContextAware Applications”, Proceedings of the 6th international conference on Mobile data management, Ayia Napa, Cyprus, 2005, pp. 304-308. [8] M. Raento, A. Oulasvirta, R. Petit, H. Toivonen, ”ContextPhone: a prototyping platform for context-aware mobile applications”, IEEE Pervasive Computing, vol. 4, issue 2, Jan.-March 2005, pp. 51-59. [9] R. Bridle, E. McCreath, “Inducing shortcuts on a mobile phone interface”, Proceedings of the 11th international conference on Intelligent user interfaces, Sydney, Australia, 2006, pp. 327-329.