Experiences with Writing Grid Clients for Mobile devices

David E. Millard, Arouna Woukeu, Feng (Barry) Tao, Hugh . Davis School of Electronics and Computer Science University of Southampton Southampton, UK {dem, aw1, ft, hcd}@ecs.soton.ac.uk

Abstract In this paper we will report on our experiences of implementing a mobile GRID client for the Finesse e- This paper describes our attempts to write GRID learning system. This investigation is part of the ELeGI clients for Mobile Devices, such as a PDA, which have project, which aims at creating a common European restrictive computational and storage facilities. Our GRID infrastructure. The ultimate goal of our work is experiences are based on an implementation of a to ensure that this infrastructure can support the next mobile GRID client for Finesse, an existing web-based generation of novel e-learning applications, and the e-learning system. At this stage of our work we are not work on Finesse is an important first step in looking to novel applications of mobile learning, but establishing the feasibility of various technical rather are exploring the feasibility of mobile devices as approaches to mobile GRID computing. GRID platforms, with novel learning applications as The remainder of this paper is structured as follows: our future aim. We examine Java, .NET and proxy Section 2 describes why we believe mobility to be an solutions and look ahead to the next generation of important goal for e-learning systems. Section 3 WSRF-based GRID Infrastructure. introduces Finesse and the Finesse Grid Services (FIGS). Section 4 discusses our experience in 1 Introduction developing a Mobile Grid Client for FIGS and describes the current support in Java and .Net for There is a continuing trend for computing devices to mobile Grid clients, and Section 5 concludes the paper become more heterogeneous, with rapid developments and looks ahead to the new generation of WSRF-based in the areas of ubiquitous and mobile systems [3]. This GRID infrastructure. offers new opportunities for many application domains, for example in e-learning it opens up new possibilities 2 Why Mobility? for technology to enhance or ease the processes of learning and teaching; both by making existing tools Arguments about how mobility could be useful for more available (to remote or mobile participants) but e-learning could be categorized into two areas: also by offering the possibility of new applications that are not possible with traditional desk-top setups (for • Mobility as increasing accessibility example, by enhancing field work). • Mobility as an essential part of a learning Simultaneously there is a trend in the distributed application computing and middleware areas of computing towards Service-Oriented-Architectures (SOA), and in The first of these arguments suggests that it is particular the GRID is evolving as a SOA for securely generally beneficial to both students and teachers to orchestrating and sharing stateful services and make learning resources more easily available, and resources across distributed organisations [4]. mobile devices are one (of several) valid modes of Mobile devices will become important resource and access [9]. computing platforms in the service-oriented world, but This seems to be a sound argument, and justifies have serious limitations, in terms of computational and our mobile Finesse prototype, but the benefits do not storage power, compared with traditional machines. always match up to the costs. In particular it seems that student habits are hard to change, and that students given mobility facilities will not always use them, even • Interest – manages interest rate data if they are seemingly obvious applications such as • Notebook – implements a student forum lecture scheduling and assessment deadline • Portfolio – handles the management of virtual notifications [10]. Perhaps this is because of the portfolios (including transactions) shortcomings of mobile devices as compared to • Sharedata – provides share information desktop systems (i.e. speed, display, interfaces, etc). • Userdata – provides information on FIGS users The second argument concentrates on mobility (e.g. students, tutors) enabling computers to augment an entirely separate paradigm of learning. This paradigm is not new, it The project partners decided that to adequately test includes such things as laboratory work and field trips, FIGS it would be necessary to work on independent but it is rarely augmented or enabled by computing client interfaces. St. Andrews developed a reference devices. For example, these mobile devices can be used console client and also a web version that reuses the instead of traditional pen and paper technology to make original interface (shown in Figure 1). organizing these experiences, or collecting student information, easier [11]. But they can also be used to create novel learning experiences, such as the Ambient Wood project [12], in which children were able to explore a real wood and gather data using mobile sensor technologies. They could then test their hypotheses on how the environment would change given some new parameters (such as increased rainfall), by taking new readings from the wood that were effectively from a simulation overlaid on the physical space. We believe that constructing these rich new learning applications requires the kind of software infrastructure envisaged by ELeGI. Our goal in exploring GRID technology on mobile devices is to ensure that the infrastructure is flexible enough to support such novel learning experiences.

3 Finesse and Finesse Grid Services

Finesse (Finance Education in a Scalable Software Figure 1: The Finesse Web Interface for Buying Environment) is a web-based collaborative learning and Selling Shares (from finesse.ac.uk) and teaching environment for the finance domain developed at the University of St. Andrews [8]. The At Southampton, due to our interest in mobile system offers a variety of tools that allow students to clients, we decided to work on a mobile client interface manage on-line portfolios and buy and sell shares using that would make the portfolios accessible via a PDA. real-time market data. While this is advantageous in itself (as Finesse is all Figure 1 shows a screenshot (taken from the about making the simulation widely accessible, and finesse.ac.uk website) of the interface for buying and interaction with the system is time-dependant as share selling shares. As well as this core functionality Finesse prices rise and fall) it does not constitute a novel also allows students to compare and contrast their mobile learning application as we have defined them in portfolios in order to give them direct experience of the Section 2. various investment strategies used by investors. Although our long term goal is to ensure that the As part of the ELeGI project’s investigation into GRID infrastructure developed by ELeGI is broad requirements for an e-learning GRID infrastructure enough to support the next generation of mobile and work was undertaken at St. Andrews to create a set of ubiquitous learning applications, we felt that the GRID services that replicated the functionality of the exercise with Finesse was a crucial mile stone in original Finesse system. achieving this. This resulted in the Finesse Grid Services (FIGS), In the next section we detail the various ways in which is composed of five Grid Services: which we have tried to get GRID clients to run on a PDA device. 4 A FIGS Mobile Client The Grid community is currently in a transition period between OGSI and WSRF, and this is reflected In developing Mobile Grid clients for the Finesse in the ongoing development of Grid infrastructure and Grid Services, we have investigated three main tools. approaches: Mobile OGSI.NET is an effort to develop a cut- down version of OGSI.NET tailored to mobiles devices • Java-based Grid clients running the .NET Compact Framework (mainly Pocket • .Net-based Grid clients PCs). OGSI.NET is discontinued and has been • Proxy-based Grid clients replaced by WSRF.NET [19] which is an initial implementation of WSRF on .NET. In this section we first introduce the key The next release of the Globus Toolkit (version 4) technologies of the Grid and then look at the benefits of will also attempt to be WSRF compatible. a Grid approach for mobile devices. We then present OGSI::Lite [16] (an experiment in developing a the three implementation options that we have Perl implementation of OGSI) is now superseded by explored. WSRF::Lite, which is a Perl implementation of the current WSRF definition. 4.1 GRID Technologies Other Grid frameworks have been conceived with WSRF in mind. OMII_1 [17] is an open source, robust The Open Grid Service Architecture (OGSA) is a and secure Web services platform for building Grid standards-based definition of a Service Oriented applications, which already supports the most stable Architecture (SOA) for the Grid. The Open Grid elements of the WSRF standard . It is developed by the Service Infrastructure (OGSI) is the base infrastructure Open Middleware Infrastructure Institute at the specification for OGSA [2]. University of Southampton, UK. OGSI defines a set of Web Service Definition Language (WSDL) specifications for interfaces, behaviours and schema that fulfil OGSA [3]. It 4.2 Mobile Grid Computing specifies mechanisms for creating, naming, managing, Mobile Grid computing is about making Grid monitoring, grouping and sharing information among Services available and accessible anytime anywhere Grid Services. from Mobile Devices. A number of research efforts WSRF[15] is a refactoring of the OGSI that is fully have investigated this domain and highlighted both based on Web Services. It defines a generic and open advantages and limitations in extending the Grid to the framework for modelling and accessing stateful mobile world [1,13,14]. resources. Not all of the WSRF services are fully Wireless mobile devices are generally characterised defined and it is very much an evolving standard. by several limitations and constraints. The processing There are several implementations of the OGSI power is low in most of these devices (maybe with the specification for different environments and platforms exception of laptops), the built-in memory is low and including the popular Globus Toolkit for Java [5], and the storage capacity is very limited compared to OGSI.NET[18] for the Microsoft .NET environment. desktops despite the use of external memory cards by The Globus Alliance is a research and development some devices. The battery life is short and display project with a number of academic and commercial facilities are also very restricted in size and quality. partners that has the objective of developing a Grid Due to mobility the network is unstable (intermittent infrastructure for scientific and engineering computing. connectivity and poor bandwidth). The Globus Toolkit is a collection of services, written These limitations make mobile devices a platform in Java, which can be used to deploy and discover other that would benefit from the Grid. The main advantages services. of mobile Grid computing include mobile-to-mobile Microsoft’s .NET environment is a development and mobile-to-desktop collaboration for resource framework that enables people to build service oriented sharing, improving user experience, convenience and software solutions. .NET is common across all new contextual relevance and novel application scenarios. A Microsoft platforms and has bindings to several grid-based mobile environment would allow mobile languages, including C# and Visual Basic. The devices to become more efficient by off-loading OGSI.NET implementation is a container framework resource-demanding work to more powerful devices or that allows .Net applications to access Grid Services. computers.

4.3 Java for Mobile Devices concluded that at the moment there is also no Java- based OGSI implementation for mobile devices. The Finesse Grid Services are developed and Table 1 summarises the compatibility specifications deployed on Globus Toolkit (GT3.2) which is a Java- for each of the JVMs. based environment; therefore Java for mobile devices appeared as a natural starting point for our JVM Compatibility investigation. We tried several mobile JVMs (Java EWE VM Java 1.1, Virtual Machine) on our IPAQ PPC looking for one Java1.2, that could support a minimum set of to invoke Personal Java GT3.2 Grid services. In this process, we looked at the Cre-ME J2ME CDC 1.0 following JVMs for mobile devices: CeEme Personal Java, EWE VM [20] is a free and open source Java-based JDK 1.1.8 VM for mobile devices (mainly PDAs). It comes with SuperWaba JDK 1.1+ an SDK (Ewe SDK) and provides support for advanced IBM J9 J2ME features such as Infra-red, Synchronisation, Swing or applets but its API’s compatibility is limited to Java 1.1 Table 1: Mobile JVM compatibility and 1.2 as well as the discontinued Personal Java. This compatibility issue made it impossible for us to use the 4.4 Mobile OGSI.NET Ewe VM. Cre-ME and CrEme are two Java-based virtual We also investigated the use of Microsoft .NET machines from NSICOM [7]. The Cre-ME 4.0 VM is Compact Framework and looked at Mobile OGSI.NET compatible with the J2ME Connected Device [1] which is an implementation of the OGSI.NET Configuration (CDC) 1.0 which is based on JDK 1.3.1; implementation for mobile devices. It is built on top of whereas CrEme 3.25 is compliant with Sun’s Personal Microsoft .NET Compact Framework and based on the Java, mainly based on JDK 1.1.8. These two virtual Pocket PC 2003 or Windows Mobile . machines are based on two separate subsets of Java, It has a three-layer architecture with a Mobile Web neither of which supported enough of the Java API to Server for handling endpoint-to-endpoint run a Globus client. communication, a Grid Services Module for message IBM J9 VM is another mobile Java-based virtual parsing and multiplexing, and a Grid Service dealing machine. This JVM was used as part of WebSphere with application logic and processing. The aim is to Studio Device Developer (WSDD), an IBM Integrated bring the benefits of Grid computing to mobile users Development Environment for mobile devices using while addressing resource limitations and intermittent J2ME (Java 2 Micro edition). IBM J9 which supports network connectivity. J2ME (CDC & CLDC, MIDP & Personal Profile), the While Mobile OGSI.NET emerged as the only real official cut down version of Suns Java. Unfortunately attempt to provide an OGSI implementation for mobile J”ME is very limited and was again unsuitable for our devices, we could not further our investigation into development needs. potential interoperability issues with GT3.2 because the SuperWaba VM [6] is another Java-based VM for tool itself is no longer supported and is no longer mobile devices (PDAs and smart phones). It is part of generally available for download. the SuperWaba open source platform which defines a 4.5 Proxy-based Grid Client language, a virtual machine, a class file format and a set of basic classes. It has an active community and Having unsuccessfully explored the two previous developers can use common Java IDEs, however it options, we were left with a proxy-based Grid client as does not implement the standard Java specification and the best option taking into account resource and its API does not support Java packages. Therefore network limitations on mobile devices. SuperWaba could also not be used in our exercise to This is disappointing as the loosely coupled develop a mobile Figs clients. architecture of Grid Services seems ideal for mobile In the end none of these virtual machines could devices that often change their networks and support client APIs to invoke the FIGS directly from neighbours. A Proxy solution relies on a connection our Pocket PDA because they are all running some cut back to a trusted server, and while Grid services can be down version of the Java API. We have therefore invoked this way, it looses much of the flexibility and dynamism of a genuine mobile Grid client.

Figure 2: Proxy Architecture for Mobile Clients

Java Server Pages (JSPs) are a lightweight way in which to invoke Java code on a remote web server. So we decided to implement our mobile client using JSPs, as depicted by the architecture diagram in Figure 2. The Finesse Grid Services are deployed on the Grid, and clients are implemented as a set of Java Beans talking to the Grid and rendering appropriate responses as JSP pages to mobile devices. Requests from mobile users are input via the mobile device’s Web interface, these requests are first handled on the proxy by client beans which then issue proper Grid Services requests to the Grid. Once the proxy receives responses from the Grid, it generates and serves appropriate pages to the mobile client. Figure 3 shows the web proxy viewed on a mobile Figure 3: Web pages viewed on PDA device device, in this case a PocketPC based PDA.

We conclude that there is currently no OGSI Java 5 Conclusion API for mobile devices, and that OGSI.NET is inappropriate because it is not available on mobile In this paper we have detailed the justifications for devices (despite promising initiatives), has pursuing a mobile GRID client for the domain of e- questionable interoperability with existing GRID learning. We have looked at three options for a mobile systems such as GT3, and has been deprecated in GRID implementation: favour of WSRF. We believe that in the future WSRF

may improve support for GRID clients on mobile 1. The ability of the current generation of mobile devices because it is fully web services based and has a Java Virtual Machines to support common simplified API, but a good reference implementation GRID implementations, such as GT3 [3]. may take some time to emerge. 2. The ability of .NET to invoke remote GRID Our solution is to implement a web-based proxy that services from a mobile device [4]. uses GT3 to talk to distributed GRID services, and then 3. Thirdly, the option of using a proxy to invoke makes this functionality available via a web interface GRID services, e.g. via a web server. specially designed for mobile devices with limited display capabilities. 6 Acknowledgments [11] Rieger, R. & Gay, G. (1997) Using Mobile Computing The authors would like to thank Colin Allison at the to Enhance Field Study. In Proceedings of the Computer- University of St. Andrews and his team for supporting Supported Collaborative Learning Conference - CSCL'97 the FIGS prototyping work described in this paper. (eds. R. Hall, N. Miyake & N. Enyedy) pp. 215-223. AACE, Charlottesville, VA

7 References [12] Rogers, Y., Price, S., Fitzpatrick, G., Fleck, R., Harris, E., Smith, H., Randell, C., Muller, H., O'Malley, C., Stanton, [1] D. Chu and M. Humphrey, “Mobile OGSI.NET: Grid D., Thompson, M. and Weal, M. J. (2004) Ambient Wood: Computing on Mobile Devices”, 5th IEEE/ACM Designing New Forms of Digital Augmentation for Learning International Workshop on Grid Computing - GRID2004 Outdoors. In Proceedings of Third International Conference (associate with Supercomputing 2004). Nov 8 2004, for Interaction Design and Children (IDC 2004), pages pp. 1- Pittsburgh, PA. 9, Maryland, USA.

[2] Open Grid Services Infrastructure (OGSI), Version 1.0, [13] Stan Kurkovsky, Bhagyavati, Arris Ray, Mei Yang. available as http://www-unix.globus.org/toolkit/draft-ggf- ‘Modeling a Grid-Based Problem Solving Environment for ogsi-gridservice-33_2003-06-27.pdf (last accessed Feb 2005) Mobile Devices’, In Proceedings of the International Conference on Information Technology: Coding and

Computing (ITCC’04), Las Vegas, Nevada, April 05 - 07, [3] M. Weiser, ‘Ubiquitous Computing’, Computer, v.26 2004. n.10, p.71-72, October 1993

[14] Bhagyavati and S. Kurkovsky. “Wireless Grid Enables [4] Ian T. Foster, ‘The Anatomy of the Grid: Enabling Ubiquitous Computing”, in Proceedings of The 16th Scalable Virtual Organizations’, Proceedings of the 7th International Conference on Parallel and Distributed International Euro-Par Conference Manchester on Parallel Computing Systems(PDCS-2003), Reno, NV, Aug. 2003. Processing, p.1-4, August 28-31, 2001

[15] The WS-Resource Framework, available at [5] Thomas Sandholm, Jarek Gawor, ‘Globus Toolkit3 Core http://www.globus.org/wsrf/specs/ws-wsrf.pdf (last accessed – A Grid Service Container Framework’, http://www- Feb 2005) unix.globus.org/toolkit/3.0/ogsa/docs/gt3_core.pdf (last accessed Feb, 2005) [16] OGSI::Lite and WSRF::Lite - An Implementation of the

Web Services Resource Framework., available at [6] SuperWaba, The real Power of Mobile Computing http://www.sve.man.ac.uk/Research/AtoZ/ILCT and available at http://www.superwaba.com.br/en/default.asp http://vermont.mvc.mcc.ac.uk/RealityGridWorkshop2.pdf (last accessed Feb 2005)

[17]OMII_1.1.1 available at http://www.omii.ac.uk/ (last [7] Cre-ME and CrEme Java-based virtual machines, accessed Feb 2005) available at http://www.nsicom.com/Default.aspx (last accessed Feb 2005) [18] G. Wasson, N. Beekwilder, M. Morgan, and M.

Humphrey. OGSI.NET: OGSI-compliance on the .NET [8] Power D., Michaelson R. and Allison C., ‘The Finesse Framework. In 4th IEEE/ACM International Symposium on Portfolio Management Facility’, Proceedings of the 9th Cluster Computing and the Grid (ccGrid 2004). Chicago, Annual CTI-AFM Conference, pp119-125, April 1998 CTI- Illinois. April 19-22, 2004. AFM Publications, East Anglia

[19] M. Humphrey and G. Wasson. Architectural [9] T.C. Liu, H.Y. Wang, J.K. Liang, T.W. Chan, H.W. Ko Foundations of WSRF.NET. Journal of Web Services & J.C. Yang, ‘Wireless and mobile technologies to enhance Research. 2005. To appear available at teaching and learning’, Journal of Computer Assisted http://www.cs.virginia.edu/~humphrey/papers/ArchFoundati Learning, Volume 19 Issue 3 Page 371 - September 2003 onsWSRFdotNET.pdf

[10] John Traxler, Brendan Riordan, ‘Using personal digital [20] Ewe Virtual Machine, available at assistants to support computing students’, LTSN-ICS 5 th http://www.ewesoft.com/ (last accessed Feb 2005) Annual Conference, Belfast, 31 Aug – 2 Sept, 2004