Wireless Grids
Middleware Services for P2P Computing in Wireless Grid Networks Advances in network architecture are changing application and service delivery. The wireless industry, for example, now talks of service grids — collections of separate wireless services collated from across the network. However, with current limitations in mobile device capabilities, a scalable and efficient middleware platform is essential.The authors’ new middleware architecture, called Scalable Inter-Grid Network Adaptation Layers (Signal), integrates mobile devices with existing grid platforms to conduct peer-to-peer operations through proxy-based systems. Combining mobile P2P applications with grid technologies could ultimately give mobile devices the power of supercomputers.
Junseok Hwang Seoul National University Praveen Aravamudham Syracuse University
40
JULY • AUGUST 2004
O
ver the years, grid computing has evolved into a de facto standard for shared-resource computations. Researchers belonging to a virtual organization, for example, can form a grid and share data over a federated database system, aggregating their computational resources into a single pool.1,2 In so doing, they can run even the most demanding supercomputing tasks in parallel by leveraging the entire group’s computing resources. In theory, this computational grid is perfect because it is based on flexible, secure, standards-based access to shared computing resources. Several communities, including the
Published by the IEEE Computer Society
interdisciplinary wireless grid team (www. wirelessgrids.net), are exploring new issues such as how to enable mobile devices to perform grid operations.3–6 With the emergence of toolkits that act as gateways to the Grid or Web services, using XML as a network protocol and integration tool (via the SOAP framework)7 will ensure that future grid peers can be wireless devices. However, we must consider other challenges such as a device’s storage capabilities and bandwidth limitations when adapting a scalable grid-efficient model. Traditional grid-service design assumes that fast and reliable network connections
1089-7801/04/$20.00 © 2004 IEEE
IEEE INTERNET COMPUTING
Middleware Services for P2P Computing
Proxy level
SOAP over TCP/IP Node resources as "Grid/Web services"
Registry/ service discovery
Job submission/ response
Service parameters
Job computational level
Proxy 1
Proxy 2
TCP/IP RSL
Computational grids SOAP over TCP/IP
Job submission/ response
GSI authentication based on the GSS API
Proxy 3
Computational resources (memory, storage, processor, and so on)
Caching, QoS, application independence for mobile nodes
Figure 1. Proxy-based wireless grid architecture. Different mobile devices can interface with a formal grid infrastructure through the proxy systems by exchanging various service parameters such as quality-ofservice specifications and status. are available, which might not be true. To use grid services, devices must rely on processes for service discovery and negotiation that require multiple roundtrips over the network. The added limitation of leaving a device online over an extended period further motivates the need for scalable middleware components on the device itself or on some other device acting as a delegate system. If devices can communicate dynamically with peers that interface with grid middleware, or even act as dedicated clients to a proxy server, such devices can act as peers in any grid environment. The Globus Toolkit offers scalable distributedcomputing techniques for machines with low processing capabilities, letting them submit CPUintensive jobs to clusters of machines with limited knowledge about how the job is actually executed. To be part of the Grid, however, devices must use this toolkit, which requires greater space and CPU capabilities than currently available on most mobile devices. To solve this problem, we propose a scalable proxy-based middleware architecture that can execute jobs submitted to mobile devices. Our middleware implementation is called Scalable Inter-Grid Network Adaptation Layers (Signal), which is an extension of network middleware implementation research supported by the US National Science Foundation’s Middleware Initiatives project (http://imint.syr.edu/bmp.html). The various policies governing a given proxy’s function are
IEEE INTERNET COMPUTING
beyond this article’s scope, but we will discuss some sample policy outlines that Signal supports.
Middleware Architecture An architecture to support several mobile devices in a computational grid must address • device heterogeneity, low bandwidth, and highlatency connectivity; • extended periods of disconnection; • device power consumption; and • software interoperability.8 Our architecture, illustrated in Figure 1, tackles these challenges and extends earlier work4 to use new and convergent grid services: the Open Grid Services Architecture’s (OGSA’s) extension to Web services technologies. Additionally, our model uses several Globus components with plugins to networking parameters for more intelligent and scalable resource provisioning. Our proposed architecture deals mainly with the network and QoS adaptation between wireless devices and the network infrastructure. (Network adaptation describes how networking resources’ availability and connectivity must be coordinated between wireless and grid networks. QoS adaptation is QoS management among different resources through the proxy system.) A proxy interacts with the Globus Toolkit’s Monitoring and Discovery Service9 to communicate resource availability in
www.computer.org/internet/
JULY • AUGUST 2004
41
Wireless Grids
the nodes it represents. The proxy also advertises the wireless device’s available information resources as grid services via OGSA’s Indexing Service mechanism,10 which acts as a transient repository for other peer devices to discover. The proxy should be able to consider the order in which jobs are submitted and what nodes are available; it should also maintain the required QoS during any environmental changes. In our model, the proxy monitors other mobile nodes, providing measurements and reporting actual QoS delivery. It also makes and enforces the necessary resource reservations when it receives a request from a grid node. The proxy terminates or cancels these reservations once the requested tasks are completed — or if the node can’t offer its resources for sharing. The Signal project has already implemented most of these characteristics, excluding QoS guarantees and measurements, via several grid-enabled applications such as the Master Managed Job Factory Service (MMJFS; http:// www-unix.globus.org/toolkit/3.0/ogsa/docs/ admin/configuration.html) and the Grid Resource Allocation Manager (Gram; http://www-unix. globus.org/developer/gram-architecture.html), which provides a dynamic real-time job scheduler that can reside on the proxy device. In each mobile node in our architecture, one component manages the overall resources — namely, I/O bandwidth, battery power, CPU cycles, and memory. Mobile Analyzer (http://wikihip. cern.ch/twiki/bin/view/Grid/MobileAnalyzer) is a good example of this because it offers the flexibility of accessing data in a distributed fashion. In our architecture, when a mobile client uses Mobile Analyzer to issue a job request, the middleware used with the client generates a code unique to each such request; the client then sends this code to the proxy server. In this way, the middleware minimizes the required functionality and capacity on those mobile nodes. The proxy server and mobile device communicate via SOAP and authenticate each other via the generic security service (GSS) API. The proxy server analyzes code and checks for resource allocation through the monitoring and discovery service (MDS). After the proxy server determines resource availability, the adaptation middleware layer component in the server sends the job request to remote locations. Because of this distributed and remote execution, the mobile device consumes very little power and uses bandwidth effectively. The grid system returns a report about the execu-
42
JULY • AUGUST 2004
www.computer.org/internet/
tion’s success to the proxy server, which then directs these results to the mobile node via the router. The router redirects the packets according to the mobile node’s care-of address (COA), thereby giving the user the ability to roam. Our middleware components deploy several parameters, such as data prefetching and caching, to many applications to improve performance, availability, and QoS. In our proxy architecture, location information is cached in almost all the systems that support mobile users. Because this limits the amount of control traffic needed to find a mobile device, such caching improves performance by decreasing the amount of time required for the proxy to locate the device. Wireless applications also benefit from prefetching and caching in terms of performance and availability. In wireless grid environments, for example, a weakly connected device might have a low-bandwidth connection, intermittent connectivity, or limited interface allocations for reasons such as cost. Prefetching and caching can decrease the resource connection’s instability in the wireless grid environment, thus improving the application execution’s performance.
Wireless Device Discovery Mechanisms Web services combine the best aspects of component-based development with the Web. Once a Web service is deployed, other applications and services can discover and invoke it. We can even create “yellow pages” directories for roaming ad hoc devices: Middleware components and clients can turn a wireless device’s information resources (such as hardware and platform types or performance parameters) into Web services and store them in a UDDI registry with XML descriptions about its usage and the services it offers. This is an example of ad hoc UDDI for dynamic and distributed registry through the proxy system, meaning that servers and clients in any grid-enabled or nongrid environments shouldn’t have to request configuration to discover and use each other. This distributed registry approach also enables nongrid wireless devices to discover grid-enabled wireless devices by making nongrid information resources accessible to grid systems. Properties such as location- and resource-based device discovery enhance the information resources updated dynamically in distributed registry nodes. Figure 2 shows an example of a resource-based Mobile Information Device Profile (MIDP) midlet (which is an applica-
IEEE INTERNET COMPUTING
Middleware Services for P2P Computing
http://www.syr.edu/~jshwang/wirelessGrid/uddi/ get?wirelessKey=some-key Midlet Groups Sharp-3G-PDA-Type-CellPhone PDA-style 3G cellular phone with Bluetooth capability Praveen Aravamudham
[email protected] Speech-to-Text conversion Midlet Provides a dynamic speech to text conversion SOAP binding for speech to text conversion http://www.syr.edu/~jshwang/wirelessGrid/uddi/ speech to textmidlet
Figure 2. A resource-based UDDI entry. The distributed registry is accessed and updated for various types of resources and devices. tion that conforms to the MIDP standard) published as a Web service in a distributed registry for midlet groups. We created a resource-generic protocol with APIs to build a distributed registry for nongrid and grid-enabled wireless devices.11
complexity in the grid infrastructure, users will require accurate operations and will need secure, scalable, and survivable systems — hence the need for superior QoS. Regardless of the context, QoS parameters must address the following needs and requirements:
Quality of Service In wireless grids, the bandwidth flowing from devices to their respective proxies is a valuable entity that must be managed and regulated. Because the wireless grid promises to increase
IEEE INTERNET COMPUTING
• reservation and allocation of computational resources; • adaptation to varying network conditions; • negotiation of QoS parameters with various
www.computer.org/internet/
JULY • AUGUST 2004
43
Wireless Grids
10 CPU 128 MB Sharp-Zaurus Compaq Presario 48 Mbps Less Than 2%
Figure 3. Sample client service of an XML QoS specification. This code defines the device type and its network QoS specification. resource owners; • security that ranges from device authorizations to resource-level agreements; and • termination of active data-exchange sessions. Keeping these parameters in mind, we propose a hierarchical method of scheduling for QoS-based wireless grid services in the functionalities of Signal middleware components. In the wireless grid, resource adaptation should be supported by intergrid QoS adaptation services because of application and resource requirement heterogeneity. The wireless grid QoS services that the adaptation middleware components provide consist of the following four main parts: • support for resource and service discovery based on QoS properties; • a provision for supporting QoS guarantees at application, middleware, and network levels using XML for QoS parameters; • a provision for managing allocated resources based on QoS parameters; and • support for QoS-based computation-rich mobile devices that perform local computations with grid nodes. To better understand how the proxy maintains QoS parameters, we must first explain the overall scheduling process for job submissions. The idea of resource allocation within a grid node is an active research issue, with researchers attempting to answer user questions such as, “Am I authorized to use the resources of all the machines in my virtual organization?” or “Am I authorized to use the computational cycles of an existing virtual orga-
44
JULY • AUGUST 2004
www.computer.org/internet/
nization machine’s resource when I am not authorized to use the resource as such?” Job schedulers increasingly must be aware of the varied policies and ownership under which resources exist. Our proposed hierarchical system schedules incoming job requests according to a differentiated scheme that takes into account each request’s levels of resource allocation and QoS guarantees. A simple example is a mobile device discovering a service and requesting execution through its proxy. The proxy invokes its job scheduler and raises conditions such as, “I have submitted my request for service A to be executed within five minutes,” “I have submitted my request for service A to be executed and am willing to wait for however long it takes for computational cycles/bandwidth to be available to me,” or even “I have a priority flag of x to execute a service A.” Job delegation simplifies the overall process — the proxy’s scheduler delegates parts of the job to other proxy job schedulers based on available cycles, for example, or on other parameters such as the incoming request’s credentials. We are currently extending the Globus Toolkit’s job-scheduling mechanisms in our proposed system to include networking parameters for use in transient ad hoc networks.12 To support service discovery, the distributed registry can be extended to include QoS-related parameters with which the bandwidth broker can translate services based on service guarantees. A bandwidth broker implemented in a wireless grid proxy can manage QoS parameters within a given wireless domain based on the authorized resources available in that domain. The bandwidth broker can also manage interdomain bandwidth reservations to coordinate grid nodes in neighboring domains and communicate with local grid-nodemonitoring tools to determine network state.12 In a typical application scenario, a wireless client contacts its proxy with a given task for a specified time interval. The proxy then queries its authorized registries that have the specified QoS capabilities within any domain. In response, the registries send a list of matching services to the proxy to determine which one is best suited for the client’s needs. Upon selection, the proxy then contacts the specified service domains’ bandwidth brokers and Globus MDS for resource availability. Once resource availability is established, the agent invokes our proposed hierarchical job scheduler based on OGSA (the framework we used in our middleware design and implementation), and the
IEEE INTERNET COMPUTING
Middleware Services for P2P Computing
bandwidth broker facilitates and conducts resource allocation functions. After resources are allocated, the selected service is initiated for execution; the proxy constantly monitors QoS status information to signal any change in QoS parameters. Figures 3, 4, and 5 illustrate the service descriptions for QoS specification, status monitoring, and extensions to alternative interfaces. Client- and node-specified levels of QoS guarantees impact grid-node-scheduler decisions and must be agreed on during QoS negotiation. QoS guarantees for node-specified levels highlight overload or overscheduling issues, which can affect the desired service’s QoS parameters. In such cases, a node can indicate client-specified QoS levels based on scheduler availability. For different clients requesting a particular QoS, the quality level must match with the negotiated agreement, which consists of the required quality parameters along with other service management parameters such as service name, class, and duration. Our implementation follows the OGSA’s service description model,13 which details how a grid service contains the service data elements (SDEs) that define service parameters. Such service descriptions are designed and implemented as part of the network adaptation middleware components. Multiple instances can exist for the same service operating under the different SDEs to which it is bound — the SDE merely describes general service parameters and the process of operation. A specific SDE is associated with the operation of the proxy that runs Signal’s network adaptation middleware components. Grid service A, for example, could have service instances with SDEs that need authorization to use parts of another service B based on the requesting client’s credentials through a proxy; other instances could have SDEs that require no authorization to use service B through the same proxy. We are developing proxy systems and testbeds based on middleware integration. Different types of applications require different QoS and resource requirements. Two approaches can help us develop adaptation mechanisms: resource-aware and application-aware. The resource-aware approach covers the availability, capability, functionality, and adaptability of wireless devices and network infrastructure. The application-aware approach concerns the persistency, flexibility, and adaptability of networked wireless grid applications. Signal can integrate both types of operation.
IEEE INTERNET COMPUTING
1000 Sharp-Zaurus Compaq Presario 47 Mbps Less Than 1% 2 ms
Figure 4. Sample XML output. This code shows the message to the proxy for the measured QoS status.
1000 Sharp-Zaurus Compaq Presario 30 Mbps Less Than 20% 10 ms 192.21.3.1 47 Mbps Less Than 1%
Figure 5. Alternative guaranteed options. The specification includes an alternative adaptation resource and its QoS specifications.
Future Work We all use a broad range of wirelessly connected mobile devices today, from 802.11-connected laptops to personal digital assistants with cellular data modems to ad hoc networks with small smart sensors. Obviously, we’ll continue to see networkenabled devices become increasingly important. Compared to multiprocessors, wireless devices have far more restraints on their computational and storage features, but adapting wireless devices to communicate with grid networks could provide a rich set of capabilities. Yet pertinent issues such as security, trust management, and the other economic
www.computer.org/internet/
JULY • AUGUST 2004
45
Wireless Grids
principles that regulate P2P computing must be fully understood before we can design a completely scalable and secure grid system for wireless devices. In our ongoing research, we plan to integrate the management functionality of security, reputation, and trust into Signal to support secure service interconnection. We are currently designing and developing a testbed grid environment to further improve our middleware architecture.
5.
6.
References 1. I. Foster et al., “The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration,” Proc. 4th Global Grid Forum, Open Grid Service Infrastructure working group, Global Grid Forum, 2002, www. gridforum.org/Meetings/ggf4/default.htm. 2. I. Foster, C. Kasselman, and S. Tuecke, “The Anatomy of the Grid: Enabling Scalable Virtual Organizations,” Int’l J. Supercomputer Applications, vol. 15, no. 3, 2001, pp. 200–222. 3. M. Gaynor, J. Hwang, and L McKnight, “Overview of Wireless Grids,” Int’l Conf. Computer Comm., and Control Technologies (CCCT ’03), Int’l Inst. of Informatics and Systemics, 2003; http://wirelessgrid.net/publication.html. 4. T. Phan, L. Hung, and C. Dulan, “Challenge: Integrating Mobile Wireless Devices into the Computational Grid,” Proc.
REACH HIGHER Advancing in the IEEE Computer Society can elevate your standing in the profession. Application to Senior-grade membership recognizes ✔ 10 years or more of professional expertise Nomination to Fellow-grade membership recognizes ✔ exemplary accomplishments in computer engineering
GIVE YOUR CAREER A BOOST UPGRADE YOUR MEMBERSHIP computer.org/join/grades.htm 46
JULY • AUGUST 2004
www.computer.org/internet/
7.
8.
9. 10.
11.
12.
13.
8th Ann. Int’l Conf. Mobile Computing and Networking (MobiCom ‘02), ACM Press, 2002, pp. 271–278; www.acm. org/sigmobile/mobicom/2002/papers/c02-phan.pdf. A.L. Corte, A. Puliafito, and O. Tomarchio, “An AgentBased Framework for Mobile Users,” Proc. European Research Seminar on Advances in Distributed Systems (ERSADS ’99), Univ. of Lisbon, 1999; http://sun195.iit. unict.it/~otomarch/papers/wcss97.ps.gz. D. Bruneo et al., “Communication Paradigms for Mobile Grid Users,” Proc. Int’l Symp. Cluster Computing and the Grid (CCGRID ’03), IEEE CS Press, 2003, pp. 669–676. SOAP Framework: W3C Simple Object Access Protocol version 1.1, World Wide Web Consortium recommendation, 8 May 2000; www.w3.org/TR/SOAP/. M. Tuisku, “Wireless Java-Enabled MIDP Devices as Peers in Grid Infrastructure,” European Across Grids Conf., CERN, 2003, pp. 273–281. K. Czajkowski et al., “Grid Information Services for Distributed Resource Sharing,” IEEE Press, 2001, pp. 181–194. GT3 Index Service User’s Guide, The Globus Alliance, 2003; www.globus.org/ogsa/releases/final/docs/infosvcs/indexsvc _ug.html. L.W. McKnight and J. Howison, “Towards a Sharing Protocol for Wireless Grids,” Proc. Int’l Conf. Computer, Comm., and Control Technologies (CCCT ‘03), Int’l Inst. of Informatics and Systemics, 2003; http://wirelessgrid. net/publication.html. J. Hwang et al., “A Market Based Bandwidth Broker System for Grid Networks,” Proc. 3rd IEEE/ACM Int’l Symp. Cluster Computing and the Grid, IEEE Press, 2003; http:// ccgrid2003.apgrid.org/on-line_posters/poters/034.pdf. S. Tuecke et al., Open Grid Service Infrastructure (OGSI) Specification Version 1.0, Open Grid Service Infrastructure working group, Global Grid Forum, June 2003.
Junseok Hwang is an assistant professor in the College of Engineering at Seoul National University. His research interests include international telecommunication policy, network economics, electronic commerce, real-time (voice) integrated network services, Internet telephony, QoS and bandwidth management, grid computing and networks, and the next-generation Internet’s resource-management issues. Hwang received an MS in telecommunications from the University of Colorado, Boulder, and a PhD in information science and telecommunications from the University of Pittsburgh. Contact him at
[email protected]. Praveen Aravamudham is a doctoral student at Syracuse University. His research interests include distributed computing, P2P networks, and trust issues in the Internet. Aravamudham received an MS in computer science and information management from Syracuse University. Contact him at
[email protected].
IEEE INTERNET COMPUTING