[IEEE 2007 10th IFIP/IEEE International Symposium on Integrated Network Management - Munich, Germany...

4
Towards Autonomic Provisioning of Wireless Grid Services Mohamed El-Darieby Department of Software Systems, University of Regina, Regina, SK, Canada Mohamed.El-Dariebyguregina.ca Abstract- The wireless grid paradigm has been proposed recently to support seamless collaborations among devices. Realizing the promise of the wireless grid involves providing a set of middleware services that would allow devices to autonomously share their resources. However, existing wireless grid middleware provide only rudimentary support in this regard. This paper describes our initial experiences in realizing autonomic resource management capabilities for wireless grids. Specifically, we present protocols that support self-configuration mechanisms such as resource discovery and brokering. The proposed protocols leverage similar techniques in the wired grid domain while adding new functionality to handle the dynamic nature of wireless grids. We demonstrate the protocols by using them to build a grid of Bluetooth devices. We also used Bluetooth grid to compare the performance of our service discovery protocol with other similar protocols. Results indicate that our discovery protocol strikes a balance between the compared protocols in terms of resource discovery time and expressiveness of resource description. This allows the protocol to support sophisticated resource brokering and scheduling techniques without incurring prohibitive overheads. Furthermore, in contrast to the existing protocols our protocol supports service advertisements. This facilitates more efficient handling of dynamic situations such as devices leaving and joining the grid. 1. INTRODUCTION Wireless devices are becoming increasingly pervasive in our lives. They can leverage the spatial and contextual characteristics of environments where it is often cumbersome to use wired devices. In order to fully realize the possibilities afforded by such a capability, wireless devices must be augmented with the ability to seamlessly collaborate with other devices in their vicinity. Collaboration capabilities facilitate new types of applications such as dynamic 3D visualization of a device's surrounding environment [1]. Collaborations among wireless devices may be necessitated for a number of reasons. An application may need to integrate information from many different sources to support its end user. For example, providing a firefighter's wireless device a 3D video of a house on fire will require collection of video recorded by devices belonging to other firefighters as well as the spatial coordinates of all firefighters and victims. Another reason for the need of collaboration is that an application task may be too computation and power intensive to execute on a single device. In this case there should be mechanisms in place Diwakar Krishnamurthy Department of Electrical and Computer Engineering, University of Calgary, Calgary, AB, Canada to distribute the subtasks involved in the task onto many different devices. The wireless grid paradigm [1] has been proposed to facilitate such collaborations. Wireless grids provide an interoperable computational platform where devices, with no prior knowledge of each other, can share their resources to execute a given application task. Wireless grids derive their inspiration from wired grids [5] [7] that allow applications to seamlessly harness geographically distributed resources belonging to several different organizations. Realizing the promise of the wireless grid involves providing services that facilitate effective resource sharing among devices. Specifically, the middleware should provide self-configuration mechanisms that allow applications to transparently discover and access resources in the grid. Furthermore, services must be supported to manage resources in a manner that satisfies both the resource consumers as well as resource providers. Existing wireless grid middleware provide only rudimentary resource management support. On the other hand, wired grid middleware support powerful resource management capabilities. However, they are not designed to handle issues such as rapid, unpredictable changes in device availability and connectivity that are unique to the highly mobile, ad hoc contexts in which wireless devices typically operate. This paper describes our initial experiences in realizing autonomic resource management capabilities for wireless grids. Specifically, we consider the problem in the context of forming a grid of Bluetooth devices. We identify gaps in the existing Bluetooth platform with respect to support for resource discovery and brokering. We then implement protocols that allow devices in the wireless grid environment to autonomously share their resources with each other. The proposed protocols leverage similar techniques in the wired grid domain while adding new functionality to handle the dynamic nature of wireless grids. The rest of the paper is organized as follows. Section 2 discusses related work. Section 3 describes our resource discovery and brokering algorithms. Section 4 presents a preliminary performance evaluation of the proposed protocols. Conclusions and future work are described in Section 5. 1-4244-0799-0/07/$25.00 t2007 IEEE 773

Transcript of [IEEE 2007 10th IFIP/IEEE International Symposium on Integrated Network Management - Munich, Germany...

Page 1: [IEEE 2007 10th IFIP/IEEE International Symposium on Integrated Network Management - Munich, Germany (2007.05.21-2007.05.25)] 2007 10th IFIP/IEEE International Symposium on Integrated

Towards Autonomic Provisioning of

Wireless Grid Services

Mohamed El-DariebyDepartment of Software Systems,

University of Regina, Regina, SK, CanadaMohamed.El-Dariebyguregina.ca

Abstract- The wireless grid paradigm has been proposedrecently to support seamless collaborations among devices.Realizing the promise of the wireless grid involves providing a setof middleware services that would allow devices to autonomouslyshare their resources. However, existing wireless grid middlewareprovide only rudimentary support in this regard. This paperdescribes our initial experiences in realizing autonomic resourcemanagement capabilities for wireless grids. Specifically, wepresent protocols that support self-configuration mechanismssuch as resource discovery and brokering. The proposedprotocols leverage similar techniques in the wired grid domainwhile adding new functionality to handle the dynamic nature ofwireless grids. We demonstrate the protocols by using them tobuild a grid of Bluetooth devices. We also used Bluetooth grid tocompare the performance of our service discovery protocol withother similar protocols. Results indicate that our discoveryprotocol strikes a balance between the compared protocols interms of resource discovery time and expressiveness of resourcedescription. This allows the protocol to support sophisticatedresource brokering and scheduling techniques without incurringprohibitive overheads. Furthermore, in contrast to the existingprotocols our protocol supports service advertisements. Thisfacilitates more efficient handling of dynamic situations such asdevices leaving and joining the grid.

1. INTRODUCTIONWireless devices are becoming increasingly pervasive in

our lives. They can leverage the spatial and contextualcharacteristics of environments where it is often cumbersometo use wired devices. In order to fully realize the possibilitiesafforded by such a capability, wireless devices must beaugmented with the ability to seamlessly collaborate with otherdevices in their vicinity. Collaboration capabilities facilitatenew types of applications such as dynamic 3D visualization ofa device's surrounding environment [1].

Collaborations among wireless devices may be necessitatedfor a number of reasons. An application may need to integrateinformation from many different sources to support its enduser. For example, providing a firefighter's wireless device a3D video of a house on fire will require collection of videorecorded by devices belonging to other firefighters as well asthe spatial coordinates of all firefighters and victims. Anotherreason for the need of collaboration is that an application taskmay be too computation and power intensive to execute on asingle device. In this case there should be mechanisms in place

Diwakar KrishnamurthyDepartment of Electrical and Computer Engineering,

University of Calgary,Calgary, AB, Canada

to distribute the subtasks involved in the task onto manydifferent devices.

The wireless grid paradigm [1] has been proposed tofacilitate such collaborations. Wireless grids provide aninteroperable computational platform where devices, with noprior knowledge of each other, can share their resources toexecute a given application task. Wireless grids derive theirinspiration from wired grids [5] [7] that allow applications toseamlessly harness geographically distributed resourcesbelonging to several different organizations.

Realizing the promise of the wireless grid involvesproviding services that facilitate effective resource sharingamong devices. Specifically, the middleware should provideself-configuration mechanisms that allow applications totransparently discover and access resources in the grid.Furthermore, services must be supported to manage resourcesin a manner that satisfies both the resource consumers as wellas resource providers.

Existing wireless grid middleware provide onlyrudimentary resource management support. On the other hand,wired grid middleware support powerful resource managementcapabilities. However, they are not designed to handle issuessuch as rapid, unpredictable changes in device availability andconnectivity that are unique to the highly mobile, ad hoccontexts in which wireless devices typically operate.

This paper describes our initial experiences in realizingautonomic resource management capabilities for wireless grids.Specifically, we consider the problem in the context of forminga grid of Bluetooth devices. We identify gaps in the existingBluetooth platform with respect to support for resourcediscovery and brokering. We then implement protocols thatallow devices in the wireless grid environment toautonomously share their resources with each other. Theproposed protocols leverage similar techniques in the wiredgrid domain while adding new functionality to handle thedynamic nature of wireless grids.

The rest of the paper is organized as follows. Section 2discusses related work. Section 3 describes our resourcediscovery and brokering algorithms. Section 4 presents apreliminary performance evaluation of the proposed protocols.Conclusions and future work are described in Section 5.

1-4244-0799-0/07/$25.00 t2007 IEEE 773

Page 2: [IEEE 2007 10th IFIP/IEEE International Symposium on Integrated Network Management - Munich, Germany (2007.05.21-2007.05.25)] 2007 10th IFIP/IEEE International Symposium on Integrated

II. RELATED WORKThere is a growing interest in enabling grid-based

middleware for wireless devices. This section discussesexisting work on wireless grids and related technologies usedin wired grids.

McKnight et al. [1] describe the wireless grid paradigm.The authors identified the following requirements for a wirelessgrid middleware: resource description, resource discovery,coordination mechanism, trust establishment, and clearingmechanism. We believe these requirements need to beaugmented with resource brokering and scheduling. Resourcebrokering allows a resource consumer to select the bestresource among multiple alternatives for carrying out a giventask. Scheduling can be exploited by resource providers toenforce desired resource usage policies. For example, aresource provider can define policies to deliver different levelsof service to different consumers.

The MoGrid [6] project enables the distribution of tasksamong mobile devices in a peer-to-peer (P2P) fashion.Currently, the description of resources is ad-hoc and is left toindividual applications. MoGrid uses P2P discovery protocol tolocate devices that are best suited to handle a set of tasks.

Our approach differs from these approaches in severalways. Firstly, our approach employs a more formal andcommon resource description model. The model can beextended to describe diverse types of resources ranging fromhardware devices (e.g., CPUs) to software services. Such ascheme allows a wireless grid to support a wider range ofcollaborative applications. Secondly, our approach supportsresource management tasks that can help enforce complexresource usage policies as well as facilitate effectivematchmaking between application tasks and devices.

We believe standards such as Bluetooth Service DiscoveryProtocol (SDP) are not sufficient for meeting the requirementsof wireless grids. Although SDP can be used by devices todiscover and consume the resources offered by remote devices,arbitrary types of resources other than those described in theBluetooth specifications cannot be supported. In addition, SDPmay not be suited for handling situations characterized by rapidchanges to device availability. Finally, SDP service descriptionis often not expressive enough to facilitate fine-grained controlover resource selection [2]. Furthermore, resource brokeringhas not been a focus for the Bluetooth community.

An enhancement that increases the semantic description forservices of Bluetooth SDP was presented in [3], which we willrefer to as Enhanced SDP. The enhanced service description isused by a reasoning engine to realize fine-grained matching ofresource consumers to resource providers [5]. Our experimentsshow that such reasoning-based service matching can incursignificant overheads. This paper presents a more lightweightXML-based service description that affords betterexpressiveness and extensibility than SDP while not incurringas much overhead as Enhanced SDP. References [4] and [6]provide a more complete review of service description anddiscovery protocols for mobile ad hoc systems.

Resource management mechanisms used in wired gridsmay not satisfy all the requirements of wireless grids. Wired

grid middleware such as GLOBUS [7] are designed forenterprise environments with fixed networks and relativelymore predefined resources. Wireless grid environments requiremore dynamic resource management. Furthermore, executingwired grid middleware on wireless devices might becomputation and power intensive.

III. RESOURCE MANAGEMENT FOR WIRELESS GRIDSIn this section, we introduce our proposed resource

discovery and brokering protocols and the components used intheir operations. In our system, we define task as anyapplication activity that consumes device resources. Executinga program on a remote device, collecting measurements from awireless sensor, and downloading video from a device are allexamples of a task. Examples of a resource include CPU, diskspace, and software servers. Each resource is associated with aservice. A service is defined by a 2-tuple consisting of an XMLdescription of the resource and a service interface. The serviceinterface allows a task to consume a resource. A wirelessdevice can have many resources and can consequently supportseveral services. The XML-based schema used to describeresources is presented first. Next, the various stages in theservice discovery process are discussed. Finally, we present ourresource brokering algorithms.

Service Description A common XML-based schema isused to describe resources. Using a common schema helps hidethe potential heterogeneity of devices within a wireless grid.The schema also allows flexibility in describing resources. Thishelps support complex types of resources that may be involvedin sophisticated collaborative applications. In addition, servicedescription can include enough information to allow brokers tolocate the services best suited for a task.

A service description consists of two required sectionsnamely header and service data. Each section has XML tagsthat correspond to service attributes. The header part containsattributes that are mandatory for all services. Each serviceshould be an instance of a specific type of service identified bythe value of the ServiceType attribute. The ServicelDattribute's value associates a unique identifier to each instanceof the service type. The value of the ServiceStatus attributeindicates whether the service is available or not. TheServiceData section describes the properties and capabilities ofthe resource managed by the service. The attributes in thissection depend on the service type.

Service discovery (SD)- Each device has a SD component.The SD component is responsible for creating and maintaininga Service Database (SDB) for each device. The SDB contains alist of services that are available on devices in the grid. The SDcomponent is also responsible for self-configuring the SDB inresponse to changes occurring in the grid (e.g., joining ofdevices). Hence, the SD process consists of an initializationphase followed by a remote service discovery phase.

During the initialization phase, the SD component creates aSDB for a device and populates it with a list of servicesavailable locally on the device. During the remote servicediscovery phase, the SD component of the device broadcasts aservice discovery request. The SD component on a remotedevice queries its SDB and compiles a list of available services.

774

Page 3: [IEEE 2007 10th IFIP/IEEE International Symposium on Integrated Network Management - Munich, Germany (2007.05.21-2007.05.25)] 2007 10th IFIP/IEEE International Symposium on Integrated

The list of services is sent back to the requesting device and isadded to the SDB of the requesting device. In essence, the SDBat a device is designed as an aggregation of all SDBs local todevices in the grid.

Since devices can dynamically join and leave the grid, theSD component has to be self-configuring in order to keep theSDB updated. A SD that wishes to register a new service orderegister an existing service sends a broadcast message to thiseffect to the other devices. The other devices update their SDBsaccordingly. In many situations, a device may leave the gridwithout explicitly deregistering its services. Such stale servicesare eventually discovered by the SD component and removedfrom the SDB.

The scenario discussed assumes a self-configuring ad hocgrid with no a priori knowledge of devices present in the grid.The use of decentralized SDBs differentiates our approachfrom the wired grid approach which employs centralizedrepositories. This allows our approach to better handle dynamicsituations such as devices joining and leaving the grid. We usedbroadcast communications for the SD process due to itsimplementation simplicity. A more sophisticated servicediscovery approach may be needed when wireless protocolstacks impose broadcast limitations. For example, Bluetoothimposes limitations on the number of devices that can beinvolved in a broadcast. Furthermore, hierarchical informationaggregation schemes such as those presented in reference [8]may be needed to achieve scalability in grids with largenumbers of devices, services, and applications. Investigatingsuch issues will be part of our future efforts.

Resource Scheduler (RS) - Each device in the grid runs aninstance of the resource scheduler. The RS manages access toall resources shared by a device. For each resource managed byit, the RS implements policies that govern the usage of thatresource. Specifically, the scheduler determines whether agiven task can utilize the resource and if so the time periodover which the resource can be accessed. Policies can bedefined to satisfy specific objectives. For example, a servicethat provides video downloads to other services may want tolimit the number of concurrent downloads to achieve goodperformance.

Resource Broker (RB)- is widely employed in wired grids[5]. In those environments, collaboration groups, called virtualorganizations, typically use resource brokering to automate theselection ofresources from a grid. We leverage such techniquesin a wireless grid context in order to facilitate more effectivecollaborations between devices. Specifically, every device hasa RB which matches application task requirements withavailable grid services.

The resource brokering scenario is similar to what happensin a wired grid. It starts with the RB receiving taskrequirements from an application. These requirements areexpressed in terms of the following: 1) the type of resourcesrequired and for each type of resource, the number of resourcesrequired and the desired properties (e.g., duration) of theresource. These are expressed in terms of desired values forattributes of the service type corresponding to the resource.

The RB performs self-optimization of grid resources. Itsearches the SDB to locate a set of services that manageresources matching these criteria. It then contacts the RSresponsible for each resource in this set with a request to assignthe resource to the particular task. The RS consults policies forthe resource and takes into account the current usage of theresource by other applications. It uses this information to senda schedule to the RB. The schedule informs the RB the timeperiod over which the resource can be used by the task. Eachschedule is also associated with a lease which indicates thetime till which an RS is willing to hold the resource for the RB.The RS maintains the schedule information in an internaldatabase to take that into account while handling futureresource requests.

The end result ofthe negotiations an RB has with the RSs isa set of usage schedules for resources. If the RB is satisfiedwith the schedules, it returns the schedule information to theapplication. If the RB is not satisfied (e.g., if the resourceschedules conflict with each other) or if the RS returned noschedule, the RB initiates another round of negotiations toobtain a different schedule set.

The final step in the resource brokering process is theconsumption of resources by the application. We decouple theconsumption part from the brokerage part in order to give theapplication a choice of accepting or declining the resourceschedule. To consume a resource, the application has to contactthe RS responsible for the resource before the expiry of theschedule's lease. The RS starts the service interface associatedwith the resource and returns to the application a handle to theservice interface. This handle is used by the application toconsume the resource. When resource consumption is complete(indicated by the destruction of the service interface handle),the RS updates its internal schedule database for the resourceaccordingly.

IV. IMPLEMENTATION AND EVALUATIONAs a proof-of-concept, we implemented the service

discovery and brokering protocols for the Bluetooth platform.Our future work involves implementing our protocol for otherwireless networks. With our implementation, a BluetoothPiconet corresponds to the wireless grid. The Piconet isconfigured to enable broadcast capabilities for every device.This allows the SD components to build the SDB on thedevices. Application tasks interact with the service interface byestablishing L2CAP connections. To implement the protocols,we used J2ME, Java API for Bluetooth (JSR-082) [2], kXMLand Java NetBeans 4.5 as a development environment.

We conducted some preliminary experiments to evaluatethe performance of our service discovery protocol, referred tohereinafter as XSDP. Our experimental setup consisted ofmultiple instances of NetBeans Bluetooth device emulatorsrunning on a Pentium IV PC with 1.4 GHz CPU and 512 MBRAM. Each device emulator executed the proposed servicediscovery and brokering protocols. We created one serviceconsumer application on one wireless device and a number ofservice provider applications on several devices. The numberof service providers is an experiment factor. It is varied from 1to 6 devices. (The total number of active devices cannot be

775

Page 4: [IEEE 2007 10th IFIP/IEEE International Symposium on Integrated Network Management - Munich, Germany (2007.05.21-2007.05.25)] 2007 10th IFIP/IEEE International Symposium on Integrated

more than 8 as specified by Bluetooth). Thefollowing metrics were measured: 1) grid setuptime defined as the time required by wirelessdevices to discover services available across thegrid and 2) service advertisement time defined Time (ins)

as the time taken by grid devices to discover aservice that becomes available. We compare theperformance of XSDP to standard Bluetooth Discovery

SDP and to Enhanced SDP with respect to these Time (ms)metrics. The results are shown in the Table 1.

Results from Table 1 show how XSDP strikes a balance interms of grid setup time and service expressiveness. The gridsetup time is mostly spent in exchanging and processingservice description information. On one hand, Enhanced SDPhas the most detailed service description among the threeprotocols. It also uses a sophisticated service matchingmechanism for locating services. This causes it to have thelongest grid setup time. On the other hand, Bluetooth SDP hasthe simplest service description. Hence, it has the smallest gridsetup time. However, Bluetooth SDP provides primitive servicedescription capabilities that cannot support applicationsenvisioned by wireless grids. XSDP service description wasdesigned to be expressive enough to satisfy requirements of adhoc wireless grid applications while being lightweight enoughto maintain acceptable grid setup times. From Table 1, XSDPgrid setup time is less than 4 seconds for the largest possiblenumber of devices as defined by Bluetooth standards.

From Table 1, XSDP outperforms Bluetooth SDP withrespect to service advertisement time. Unlike Bluetooth, inXSDP a new service advertises itself once it joins the grid.XSDP discovers only the new service. As a result, the serviceadvertisement time for XSDP is constant and does not dependon the number of devices in the grid. Since Bluetooth SDPdoes not support advertisements, it has to rediscover allnetwork services every time a new device or service joins thegrid. Hence, time required for discovering a new service inSDP is proportional to the number of network devices. Anexception to this is when there is only one node in the Grid,where SDP has lower discovery time than XSDP.

V. CONCLUDING REMARKSThis paper presented autonomic resource discovery and

brokerage protocols designed for applications of ad hocwireless grids. The service discovery protocol uses an easilyextensible XML schema to describe services that provideaccess to resources. This enables wireless devices to supportarbitrarily complex collaborative applications. In addition, theXML-based service description allows more expressiveness indescribing the functionality of a service and how to consumethe resource managed by the service. This feature facilitatessophisticated resource brokering and scheduling techniques.Scheduling and brokering can be exploited to define policiesthat manage resources in a manner that satisfies both resourceconsumers as well as resource providers. Finally, our approachaccommodates the highly dynamic ad hoc contexts in whichwireless grids operate. Each device uses a locally availableservice database that is automatically updated to account fordynamic situations such as a device leaving the grid.

TABLE I. PERFORMANCE EVALUATION

We implemented the protocols to realize a grid ofBluetoothdevices. We also evaluated the performance of our servicediscovery protocol and compared it with native Bluetooth SDPas well as Enhanced SDP. When compared to the otherprotocols, our protocol achieves a good trade-off between thetime taken to discover grid resources and the expressiveness ofresource description. In addition, in contrast to Bluetooth SDPand Enhanced SDP, our protocol supports fine-grained serviceadvertisements. This facilitates a more efficient handling ofdynamic situations.

Future work will focus on refining our approach alongseveral dimensions. Firstly, we plan to implement applicationsthat will demonstrate the utility of a wireless grid. Secondly,brokering support will be enhanced to accommodate moreexpressiveness in specifying requirements. Currently, thebroker can only perform name-value based matching ofresource requirements. Thirdly, techniques that do not requirebroadcast communications will be explored for building theservice databases. Fourthly, techniques will be developed toscale the proposed protocols for grids with large numbers ofdevices, services, and applications. Fifthly, other important gridissues such as trust and identity management and support forvirtual organizations will be addressed. Finally, a mechanism tobuild grids that can span several heterogeneous wirelessnetworks will be studied.

REFERENCES

[1] Lee W. McKnight, and James Howison, Scott Bradner, "WirelessGrids,", IEEE Internet Computing, August 2004

[2] B. Hopkins and R. Antony, "Bluetooth for Java," Apress 2003, ISBN:1590590783.

[3] S. Avancha, A. Joshi and T. Finin, "Enhanced Service Discovery inBluetooth", IEEE Computer, Vol. 35, No. 6, pp 96-99, June 2002.

[4] W. Edwards "Discovery Systems in Ubiquitous Computing IEEEPervasive Computing," Vol. 5, No. 2,,2006.

[5] J. Nabrzyski, J. Schopf and J. Weglarz, "Grid Resource Management:State ofthe Art and Future Trends," Kluwer Publishing, 2003.

[6] L. Lima, A. Gomes, A. Ziviani, M. Endler, L. Soares, B. Schulze, "Peer-to-Peer Resource Discovery in Mobile Grids," In 3rd InternationalWorkshop on Middleware for Grid Computing (MGC05) Proceedings,November, 2005, Grenoble, France

[7] A. Abbas, "Grid Computing: A Practical Guide to Technology andApplications," 2004

[8] M. El-Darieby and D. Krishnamurthy. "A Scalable Wide-Area GridResource Management Framework," Proc. of International Conferenceon Networking and Services (ICNS), USA, 2006

776

Number of Devices| I 2 3 4 5 6

| SDP 230 286 376 460 530 612Enhanced 2000 3100 5100 6800 7300 8100

XSDP 275 448 1180 1468 2700 37691 SDP 290 384 650 852 920 1190

XSDP 370 370 370 370 370 370