8

Click here to load reader

Opportunistic composition of sequentially-connected ... · Opportunistic composition of sequentially-connected services ... compositions at runtime allows for adapting the ... dynamically

  • Upload
    ngonga

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Opportunistic composition of sequentially-connected ... · Opportunistic composition of sequentially-connected services ... compositions at runtime allows for adapting the ... dynamically

Opportunistic composition of sequentially-connected servicesin mobile computing environments

Christin Groba and Siobhan ClarkeLero Graduate School of Software Engineering

Distributed Systems GroupSchool of Computer Science and Statistics

Trinity College Dublin, Irelandgrobac, [email protected]

Abstract—Dynamic service composition has emerged as apromising approach to build complex runtime-adaptable appli-cations as it allows for binding service providers only shortlybefore service execution. However, the dynamic and ad hocnature of mobile computing environments poses a significantchallenge for dynamic service composition. In particular, thelack of central control and the potential volatility of serviceproviders increase the complexity and failure probability ofthe composition process. Although, current research has ledto decentralised composition algorithms and failure recoverystrategies, the key question of how to reduce the failure proba-bility of a composition still remains. We address this questionand propose opportunistic service composition, an optimisedexecution model for complex service requests. The modelmerges the execution phase into the dynamic binding phaseand supports the immediate fulfilment of partially composedservice requests. We evaluated our model in mobile ad hocnetwork simulations. The results show an improvement overa baseline approach regarding composition success, responsetime, and communication effort.

Keywords-service binding; service execution; distributed;mobile; ad hoc

I. INTRODUCTION

The composition of new value-added services from exi-sting ones is one of the main benefits of service-orientedcomputing. Building such service compositions at runtimeallows for adapting the composition dynamically to changesin the user requirements or the operating environment. Forexample, service providers can be dynamically selectedor replaced based on their current availability and actualruntime characteristics [1].

Advances in mobile device technology have led to smartpersonal devices that are capable of communicating witheach other and of providing access to their data and func-tional capabilities. These services may be of use to a widerange of consumers and shared by the device owner. In this

c©2011 IEEE. Personal use of this material is permitted. Permission fromIEEE must be obtained for all other uses, in any current or future media,including reprinting/republishing this material for advertising or promo-tional purposes, creating new collective works, for resale or redistributionto servers or lists, or reuse of any copyrighted component of this work inother works.

domain, service composition will play an important rolewhen it comes to mining the computational power that iscreated when many owners of such smart devices meet.For example, a complex service request for a route to adestination may only be satisfied with the collective effortof multiple smart phones, GPS-enabled sports gear, and on-board navigation systems that happen to gather on a streetcorner.

However, dynamic service composition in mobile en-vironments is challenging for two reasons: First, serviceproviders may join and leave the network at runtime andtheir fluctuating presence implies a high failure probabilityfor the composition [2]. Second, a central entity of controlis infeasible in such dynamic environments because of thelarge overhead required to keep global state information upto date. The lack of central control introduces additionalcomplexity into the composition process because a dedicatedinfrastructure for composition-related tasks is missing [3].

Existing approaches present distributed composition andexecution algorithms to address the problem of absentcontrol, to balance the system load, and to remove thesingle hot spot for communication and computation. How-ever, the problems regarding dynamic provider availabi-lity and resource constraints remain because state-of-the-art approaches are based on a consecutive organisationof the service composition and execution phase. Startingexecution only after the composition is complete has twomajor drawbacks: First, assigned service providers may nolonger be available by the time the execution phase startsand cause the composition to fail. Second, the compositionphase binds service providers to parts of the request whichmay not get executed due to conditional service path or pre-mature termination. The communication involved consumesscarce battery power of wireless devices in vain.

This work proposes an optimised execution model forservice compositions to address these issues. In particular,it integrates the execution phase into the composition phaseand allows for executing a partial composition. The advan-tage of such an opportunistic approach is that it addresseseach assigned service provider only once and requires less

Page 2: Opportunistic composition of sequentially-connected ... · Opportunistic composition of sequentially-connected services ... compositions at runtime allows for adapting the ... dynamically

Positioning

service

Arrival

estimate

service

Bus

tracking

service

Walking

speed

service

Intitiator

Figure 1. Service request to decide whether a bus will be caught in time

network communication than a traditional consecutive ap-proach. We demonstrate the effectiveness of opportunisticservice composition by comparing it to a baseline approachwith regard to composition success, response time, and com-munication effort. We focus on the evaluation of sequentiallyconnected services and leave more complex compositionlogic such as conditional, parallel, and iterative paths tofuture work.

The main contribution of this paper is the evaluation ofa new model for managing complex application requests inresource-constrained mobile environments. In particular, itintroduces opportunistic service composition as a solutionto reducing the failure probability caused by mobile serviceproviders. The paper describes the approach in the context ofa smart city in which data and capabilities of mobile devicesare shared ad hoc across different device owners. The evalu-ation with a mobile ad hoc network simulator shows that theopportunistic service composition has a higher success ratio,shorter response time, and less communication overheadthan consecutive bind-execute approaches.

The remainder of this paper is organised as follows:Section II motivates dynamic service composition in mobileenvironments with an scenario in a smart city. Section IIIsummarises work related to the composition and executionof complex service request. Section IV describes the oppor-tunistic execution model. Section VI presents the evaluationand result. Section VII summarises the findings of this paperand VIII discusses the implications of the opportunisticservice composition model.

II. SCENARIO: SERVICE SHARING ON THE STREET

Crossroads in the city centre are usually a busy places.Pedestrians and vehicles arrive from different directionsand carry mobile devices such as smart phones, musicplayers, GPS-receivers, and navigation systems. Currently,these devices offer their data and capabilities only to theirowners. However, in future device owners may agree toshare their devices’ services as they do today with files andpersonal information on the Internet. This would give wayfor complex service requests in mobile ad hoc environments.For example, a pedestrian may be heading to the airport andwants to know whether there is still enough time to catchthe cheaper airport bus rather than taking a faster but moreexpensive taxi. For this decision bus schedule times do notsuffice and need to be enhanced with real-time informationthat answer questions like: What is my current position, what

is the average walking speed on the high street, where wasthe bus last seen, and at which time will I and the bus arriveat a particular bus stop? The pedestrian’s mobile devicemay not have the resources and data to answer all thesequestions and thus outsources the complex service request tosurrounding mobile devices. For instance, the GPS-enabledsport gear carried by an oncoming jogger may provide thewalking speed on the high street while a vehicle’s navigationsystem calculates the estimated arrival time at the bus stop.The request is handled in a distributed way such that eachdevice executes a service and forwards the request on to thenext device (see Figure 1). The service providers have to bebound dynamically at runtime because assumptions aboutthe provider availability cannot be made prior to issuing theservice request.

III. RELATED WORK

Research in handling complex service requests at runtimemay be grouped into service composition and service exe-cution. The emergence of dynamic and ad hoc computingenvironments has led to decentralised approaches in bothareas.

Decentralised service composition examines differentways of finding suitable service providers without relying oncentral coordination or repositories. Service providers maybe bound to requests through probing or hop-by-hop selec-tion. Probing approaches search service overlay networks formultiple high-quality paths by flooding the overlay networkwith probe messages. Probe-based binding algorithms donot allow for opportunistic service composition becausethey either require a completed composition before they areexecutable [4] or postpone final best path selection to therequester node [5], [6], [7]. Hop-by-hop provider selectiondetermines the most suitable provider in each hop, discoversa single high-quality solution for a complex request andis thus more appropriate for immediate service execution.Existing solutions propose resource-efficient [8] and ad hoc[3] composition algorithms for service overlay networks.However, they either do not consider provider mobility [8]or do not investigate the possibility of executing a providerimmediately after its selection [3].

Decentralised service execution addresses the scalabilityissues of central orchestration engines and investigates howto transfer control among multiple executing entities. A cen-tralised process description has to be partitioned into frag-ments to be enacted by multiple decentralised engines. Oneapproach to achieve this creates sub-processes based on de-pendency tables that store data and control dependencies ofthe complex request [9]. In this paper we investigate requestswith sequentially connected services. Advanced dependencymanagement is not required because each service only has asingle dependency, namely the previous service, and processfragmentation is straight forward. Approaches to distributedcoordination among service providers are based on direct

Page 3: Opportunistic composition of sequentially-connected ... · Opportunistic composition of sequentially-connected services ... compositions at runtime allows for adapting the ... dynamically

interaction [10], [11] or use shared tuplespaces [12], [13].The advantage of shared tuplespaces is that communicatingparties do not have to be present at the same time, asthey anonymously exchange data and control via a piece ofshared memory. However, shared tuplespaces consume highresources and suffer from efficiency and scalability issuesdue to global synchronisation requirements [14]. Contin-uation passing [10] and migration of process descriptions[11] use direct interaction and are similar to our approachof transferring control among service providers. Contin-uation passing allocates control hop-by-hop and activatessubsequent service providers by passing the remainder ofthe execution along with asynchronous messages. However,the concept is based on activity pairing and requires extrainitialisation of participating providers which increases thecommunication overhead. The closest work to our approachis the migration of a process description among executionengines [11]. It allows for selecting a new engine after anactivity has been completed. However, while Zaplata et al.[11] analyse the extent to which XPDL [15] and WS-BPEL[16] process descriptions can be migrated, our objective inthis paper is to quantify the benefit of opportunistic servicecomposition in mobile ad hoc environments.

Service composition can be modelled as an AI planningproblem where the objective is to create a service compositeautomatically by planning the execution order of the con-stituent services. Recent work has proposed a distributedplanning approach for Web service compositions [17]. Aglobal plan is devised based on partial plans that multipleservice agents create locally. However, in dynamic environ-ments, changes in the system may render an initial planinvalid. A declarative approach to Web service composition[18] interrupts the execution of a composite and re-plansafter a failure has occurred. In this paper, we assume thecomplex service request is phrased as an abstract compositethat already contains the execution order and descriptionof the required services. We do not employ an AI planner.However, if binding service providers and transforming anabstract composite into an executable composite is con-sidered planning, then opportunistic service compositioncorresponds to the notion of continual planning [19]. Incontrast to [18], our approach plans only one step ahead,executes the partial plan, and resumes planning. Our goal isto investigate whether this interleaved service compositionand execution approach [20] can be applied in distributedmobile ad hoc environments to reduce the failure probabilityof a service composite.

IV. OPPORTUNISTIC SERVICE COMPOSITION

Mobile ad hoc computing environments require a fullydecentralised peer-to-peer-like way of composing and ex-ecuting complex service requests. As in other approaches[8], [10], the peers in our model operate on only a part ofthe request and send the remainder to the next peer. This

P1 P2

2.bind 3.bind

5.exec

6.exec 7.exec 8.exec

1.bind

9.return

4.bind

Intitiator P3 P4

(a)

2.bind & exec 3.bind & exec1.bind & exec

5.return

4.bind & exec

P1 P2Intitiator P3 P4

(b)

Figure 2. Service composition (a) baseline and (b) opportunistic

partial request processing involves two major tasks: bindinga service provider address to a required sub-service andexecuting a sub-service based on the output of the previoussub-services.

We model complex service requests as composites of ser-vice types and focus in this paper on sequential composites.Service types are identifiers for abstract service descriptions.They have the advantage that the size of binding andexecution messages stays small because detailed servicerequirements are implicitly specified by the identifier. Thisrequires a common notion of possible service types andwhat they represent. During service binding the compositechanges as particular service providers Pi get assigned toservice types Sj . The Backus-Naur form of composites is:

< type > ::= S1|...|Sn

< provider > ::= P1|...|Pm

< composite > ::=< type > |< type >:< provider > |seq(< composite >,< composite >)

Traditionally, the execution of a composite starts onlyafter all constituent services have been bound to a provider.In a decentralised environment this implies that a requestis sent around two times: first to bind appropriate ser-vice providers, then to invoke them (see Figure 2a). Theconsecutive order of binding and executing a service hastwo drawbacks: First, assigned providers may no longer beavailable by the time they are invoked and the compositionfails. Second, peers communicate at least twice over thenetwork to process the complex service request. This affectsthe life-time of wireless, battery-powered devices becausenetwork communication is one of the major causes for fastenergy depletion [21].

Page 4: Opportunistic composition of sequentially-connected ... · Opportunistic composition of sequentially-connected services ... compositions at runtime allows for adapting the ... dynamically

The design objective is to reduce the composite’s exposureto failures inherent in mobile computing environments. Away to achieve this is by reducing the number of interac-tions between the service providers during service bindingand execution. The novel composition model seizes theopportunity of executing a service right away after it hasbeen bound. The rationale behind this is: if a potentialservice provider has replied to a discovery request, it islikely to be still available when the execution request issent immediately after receiving the provider’s discoveryreply. The opportunistic composition model thus combinesthe binding and execution phase by carrying out a constituentservice while searching a provider for the next sub-service.It immediately executes partially-composed service requestswithout binding all sub-services in advance (see Figure 2b).

Service binding in dynamic environments is a non-trivialtask because service providers are a priory unknown andhave to be discovered at runtime. Dynamic service dis-covery in mobile ad hoc environments may be classifiedinto directory-based, and directory-less approaches [22]. Weuse directory-less reactive discovery (as opposed to pro-active service advertisement) and trade-off less networktraffic with longer binding delays. The node, which iscurrently in binding control, issues a discovery request forthe next service to bind and waits for potential serviceproviders to respond. If multiple providers are available thatoffer the same functional service, we apply proximity-basedprovider selection. The provider, whose discovery responseis received first, is automatically bound. This discoveryand selection approach is sufficient to provide us with themeans to study opportunistic service composition focusingon integrating the execution phase into the binding phase.Other work on, for example, distributed trust-aware serviceselection [23] and fair reputation propagation [24], as a wayto establish trust, could also be used with our asynchronouscomposite execution strategy.

V. EXPERIMENTAL SETUP

This paper studies decentralized service composition inmobile ad hoc networks. In particular, it investigates theimpact of opportunistic service composition on the successratio, response time, and communication effort. A baselineapproach implements the consecutive composition strategyof first binding all required services and thereafter executingthem. It serves as a reference to calculate the improvementof the opportunistic approach. We implemented both ap-proaches independent from any process execution language.This allows for sufficient detail for the following analysisand the results may be applicable to any concrete processexecution language e.g. WS-BPEL [16] or BSPL [25]. Wetest both approaches with multiple scenarios. Each scenariois defined by a certain composition length and speed range.The composition length is the number of sequentially con-nected services. The speed range reflects the movement of

Table ISIMULATION CONFIGURATION

GeneralSimulator Jist/SWANS Ulm [26]Mobility model Random WaypointField (m2) 1000x1000Radio range (m) 250Providers 16Clients 1Simulation duration (min) 2RandomNode placementNode movementService execution time (ms) 10-100ControlledComposition length 4-7Composition mode baseline, opportunisticNode speed (m/s) 1-2, 2-8, 8-13, 1-13

pedestrians, cyclist, or motorized vehicles in a city centre.The random components of a scenario include the provider’sinitial placement, mobility, and service execution time. Bothapproaches are tested with the same scenario configuration,in particular with the same values for the controlled andrandom variables. Each combination of a composition lengthand a speed range is simulated 1000 times for each approach.After 2 minutes the simulation terminates which representsan application layer time-out for requests that have not beenreturned yet. We implemented a no-repeat strategy to ensuredecentralized binding. Both composition algorithms have tobind unique service provider such that the request does notcontain the same provider for different services. Table Ishows further details about the simulation configuration.

VI. RESULTS

In the following we analyse the improvement of the oppor-tunistic over the baseline approach in terms of compositionsuccess ratio, response time, and communication effort inmobile computing environments.

A. Composition success ratio

Composition success ratio is the number of successfullyexecuted and returned compositions versus the total numberof composition requests. In the simulation study, the compo-sition success ratio varies from 24 to 79 percent. The mainreason for not achieving 100 percent success is the failure ofdiscovering suitable service providers that are in the rangeof the requester.

Generally, the success ratio decreases the more serviceshave to be bound. However, Figure 3 shows that the op-portunistic approach is more successful in completing acomposition across all composition lengths and speed rangesthan the baseline. In particular, the percentage increase ofopportunistic service composition over the baseline rises themore services have to be bound and executed. This suggeststhat requests with several sub-services are more likely to

Page 5: Opportunistic composition of sequentially-connected ... · Opportunistic composition of sequentially-connected services ... compositions at runtime allows for adapting the ... dynamically

Composition length

Suc

cess

rat

io (

%)

0

20

40

60

801−2 m/s

4 5 6 7

2−8 m/s

4 5 6 7

8−13 m/s

4 5 6 7

1−13 m/s

4 5 6 7

Mode

baseline

opportunistic

Figure 3. The composition success ratio is greater for opportunistic service composition than for the baseline approach.

succeed in dynamic environments if services are executedimmediately.

Analysing the data set across different speed ranges for thesame service length also shows a raise in the percentage in-crease as the gap between the opportunistic and the baselinegets wider. It culminates when the request contains sevensub-services and potential service providers move between8 and 13 meter per second. Then the success ratio doublesfrom the baseline with 24 percent to the opportunisticapproach with 49 percent. This is an increase of the successratio by 104 percent and indicates that opportunistic ser-vice composition may be well suited for motorised serviceproviders driving at city speed. In addition, the opportunisticapproach is less affected by different speeds because itssuccess ratio for the same service length varies less overthe different speed ranges than the baseline’s ratio. Thus,opportunistic service composition may handle heterogeneoustraffic including pedestrians and vehicles better than thebaseline.

Overall, across all composition length and mixed trafficwith speeds from 1 to 13 meter per second, the opportunisticapproach is more successful than the baseline and raisesthe success ratio by 28 percent. The analysis of the failedbaseline compositions revealed that with increasing nodespeeds compositions are more likely to fail after serviceexecution has started. This supports the argument that inmobile environments bound service providers may no longerbe available by the time they are invoked, if the bindingphase has to be completed first before the execution phasecan start.

In the following we focus on observations that have beensuccessful in both approaches to investigate the effect of thecomposition mode on the response time and communicationeffort.

B. Response time

Response time is the duration from issuing a servicerequest to receiving the result of the executed service compo-sition. In the simulation study the mean response time varies

between 3.0 and 8.8 seconds for different scenario setups(see Figure 4). As expected, the response time increases withlonger requests because more interactions between providersis necessary to bind and execute the composition. Overall,opportunistic service execution returns a composition resultquicker than the baseline.

For walking speeds of 1 to 2 meter per second thedifference increases, the more services a request contains.For example, to compose four services the baseline needs4.7 seconds while the opportunistic approach needs only 3seconds and is 1.7 seconds faster than the baseline. For sevenservices the opportunistic approach is 3.3 seconds fasterbecause it needs 4.8 seconds for completing the compositionwhile the baseline needs 8.1 seconds. As an aside, theresponse time for nodes moving between 8 and 13 meterper second is shorter compared to that of slower movingnodes. The reasons for this are not yet clear.

For mixed traffic speeds ranging from 1 to 13 meterper second and across all composition length, opportunisticservice composition returns a composition result with 4.9seconds on average 2.4 seconds faster than the baselineapproach which needs 7.3 seconds. This means that theopportunistic approach decreases the response time by 33percent.

Faster response times are beneficial for two reasons: First,bound service providers are released earlier. This shortensthe time a provider has to stay available for the compositionto complete successfully. Second, a shorter response timeraises the quality of service and will be appreciated byservice consumers that are in a hurry and need informationinstantly.

C. Communication effort

Communication effort is the number of messages thathave to be exchanged in order to satisfy a compositionrequest. We focus the analysis on application layer messages,namely for service discovery, binding, and invocation, aswell as on routing layer messages required to find routesto the messages’ destination. In particular, we analyse the

Page 6: Opportunistic composition of sequentially-connected ... · Opportunistic composition of sequentially-connected services ... compositions at runtime allows for adapting the ... dynamically

Composition length

Res

pons

e tim

e (s

)

0

2

4

6

8

1−2 m/s

4 5 6 7

2−8 m/s

4 5 6 7

8−13 m/s

4 5 6 7

1−13 m/s

4 5 6 7

Mode

baseline

opportunistic

Figure 4. The average response time is generally shorter for the opportunistic approach than for the baseline.

Composition length

Num

ber

of s

ent m

essa

ges

0

20

40

60

80

100

1201−2 m/s

4 5 6 7

2−8 m/s

4 5 6 7

8−13 m/s

4 5 6 7

1−13 m/s

4 5 6 7

Mode

baseline

opportunistic

Figure 5. The average number of total messages sent is less for opportunistic composition than for the baseline.

mean number of sent messages because the number ofsent messages is less affected by the sender’s placementthan the number of received messages. In the simulationresults shown in Figure 5 the average total number of sentmessages varies from 59 to 117 messages. In line with theimprovements of the composition success and response time,the opportunistic approach requires less communication forcompleting a composition successfully than the baselineapproach.

As expected, the difference in the number of sent mes-sages increases for a certain speed range across differentcomposition lengths because the opportunistic approach isdesigned with fewer interactions between providers than thebaseline. For example in scenarios with speeds from 1 to13 meter per second and requests lengths of four services,the baseline sends 69 messages while the opportunistic ap-proach sends 10 messages less, only 59 messages. For sevenservices, the opportunistic approach sends 16 messages lessas it requires only 96 messages while the baseline sends 112messages.

Generally, the number of sent messages for one com-position length and across different speed ranges stayssimilar. This indicates that the same routing effort is appliedregardless at what speed the service providers move. We

further analysed the ratio of routing request messages to thetotal number of sent messages (not depicted). In general,the opportunistic approach has a smaller ratio and sendsless routing requests than the baseline. Routing requests arebroadcasted in the network and each provider in range hasto dedicate some of its battery power to forwarding the routerequest. The opportunistic approach sends less route requestsand conserves the overall energy in the network longer thanthe baseline.

On average for speeds ranging from 1 to 13 meter persecond and across all composition lengths, the opportunisticapproach sends 78 messages while the baseline requires 91messages. The average difference of 13 messages equalsa reduction of the communication effort by 14 percent.Reducing communication overhead is beneficial in mobilenetworks for two reasons: First, less communication overthe network exposes the composition less often to failuresinherent in mobile environments. Second, wireless com-munication is the main energy consumer and with fewerinteractions between providers the battery of mobile devicesmay last longer and pro-long the device’s availability.

Page 7: Opportunistic composition of sequentially-connected ... · Opportunistic composition of sequentially-connected services ... compositions at runtime allows for adapting the ... dynamically

VII. SUMMARY

The dynamic composition of complex service requestsallows for flexible software that adapts to the actual servicesupply and runtime characteristics of its operating environ-ment. New application domains such as smart cities willrely on dynamic service composition to make use of thecomputational power that is available in form of mobiledevices carried by pedestrians, in vehicles and other city-wide locations. However, state-of-the-art approaches thatcompose first and execute thereafter do not suit dynamic,resource-constrained settings. They expose the compositionmore often to the failure inherent in mobile environments.For example, a provider may leave the network after it hasbeen bound, causing the composition to fail.

We introduced opportunistic service composition, an op-timised execution model for complex service requests. Itallows for executing partially composed services in a de-centralised fashion and reduces the composition’s exposureto unreliable networks. We evaluated the proposed approachagainst a baseline in different simulation scenarios thatvaried in node mobility and request complexity. The oppor-tunistic approach improves the composition success ratio inmobile environments because of the opportunistic executionof bound services and not at the expense of response timeand communication effort. The results of the simulationstudy for mixed traffic and different request lengths show,that opportunistic service composition in comparison to abaseline incurs on average a:

• 28 percent increase of the composition success ratio,• 33 percent decrease of the response time, and• 14 percent decrease of the communication effort.

The analysis in this paper focused on requests that containsequentially connected sub-services. In future work we willstudy the impact of opportunistic service composition onmore complex control logic such as conditional, parallel,and iterative paths.

VIII. DISCUSSION

Until now we discussed the problem of high compositionfailure probability in mobile environments and how theopportunistic approach reduces it. However, other challengesremain and are partly intrinsic to decentralised compositionapproaches in general and partly emerge because of theopportunistic approach.

The challenges for decentralised composition in generalconcern resource-constraints and privacy issues. Compo-sition participants need sufficient capabilities to performservice-related tasks e.g., resolving complex mismatches,reasoning about the best provider, verifying the partialcomposite, and executing the control logic. This createstension between resource-constrained mobile devices and thedemand for increased device intelligence. Dynamic servicecomposition in mobile computing needs comprehensive but

light-weight concepts that integrate resource-poor devices.Further, decentralisation and hop-by-hop processing raisesmajor privacy concerns because the control and data flow isvisible to assigned providers. Sensitive information such aspersonal data, identities, and even the nature of some sub-services need to be protected while peers still have effectivemeans to search and evaluate subsequent service providers.

A challenge arising from opportunistic service compo-sition is identifying suitable failure recovery for partiallyexecuted compositions. Although the opportunistic approachimproves the composition success ratio, it cannot preventempty search results, short-notice provider drop-out, orrequirement mismatches. In mobile ad hoc environmentsservice provision and the success of a request cannot beguaranteed. If a service provider is not available, the partiallyexecuted composition remains in inconsistent state. Recov-ery strategies are indispensable and may be complementedby the proposed model. However, opportunistic servicecomposition may be insufficient for transactional servicesthat require a roll-back strategy in the event of failure.The cost of executing the reverse service may outweighthe benefits of the proposed approach. On the other hand,mobile ad hoc domains such as a smart city provide statelessservices to share data and device capabilities. Returning theresult of an incomplete composition of stateless servicesmay be more beneficial to the consumer than not receivingany result at all. Alternatively, opportunistic and carefully-planned service composition may co-exist for requests thatcontain stateless and transactional services.

ACKNOWLEDGMENT

This work was supported, in part, by Science FoundationIreland grant 03/CE2/I303 1 to Lero - the Irish SoftwareEngineering Research Centre (www.lero.ie). Thanks alsoto Serena Fritsch and Razvan Popescu for commenting onearlier drafts.

REFERENCES

[1] Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi,Francesco Lo Presti, and Raffaela Mirandola. QoS-drivenruntime adaptation of service oriented architectures. In Euro-pean Software Engineering Conference and The Foundationsof Software Engineering (ESEC/FSE), pages 131–140. ACM,2009.

[2] Vivian Prinz, Florian Fuchs, Peter Ruppel, Christoph Gerdes,and Alan Southall. Adaptive and fault-tolerant service compo-sition in peer-to-peer systems. In International Conference onDistributed Applications and Interoperable Systems (DAIS),pages 30–43. Springer, 2008.

[3] S. Kalasapur, M. Kumar, and B.A. Shirazi. Dynamic servicecomposition in pervasive computing. Transactions on Paralleland Distributed Systems, 18(7):907–918, 2007.

Page 8: Opportunistic composition of sequentially-connected ... · Opportunistic composition of sequentially-connected services ... compositions at runtime allows for adapting the ... dynamically

[4] Zhenghui Wang, Tianyin Xu, Zhuzhong Qian, and Sanglu Lu.A parameter-based scheme for service composition in perva-sive computing environment. In International Conference onComplex, Intelligent and Software Intensive Systems (CISIS),pages 543–548. IEEE, 2009.

[5] Xiaohui Gu, K. Nahrstedt, and Bin Yu. Spidernet: Anintegrated peer-to-peer service composition framework. InInternational Symposium on High performance DistributedComputing (HPDC), pages 110–119. IEEE, 2004.

[6] Eunjeong Park and Heonshik Shin. Reconfigurable servicecomposition and categorization for power-aware mobile com-puting. Transactions on Parallel and Distributed Systems,19(11):1553–1564, 2008.

[7] Farshad A. Samimi and Philip K. McKinley. Dynamis:Dynamic overlay service composition for distributed streamprocessing. In International Conference on Software Engi-neering and Knowledge Engineering (SEKE), pages 881–886,2008.

[8] Mea Wang, Baochun Li, and Zongpeng Li. sFlow: Towardsresource-efficient and agile service federation in service over-lay networks. In International Conference on DistributedComputing Systems (ICDCS), pages 628–635. IEEE, 2004.

[9] W. Fdhila, U. Yildiz, and C. Godart. A flexible approach forautomatic process decentralization using dependency tables.In International Conference on Web Services (ICWS), pages847 –855. IEEE, 2009.

[10] Weihai Yu. Scalable services orchestration with continuation-passing messaging. In International Conference on IntensiveApplications and Services (INTENSIVE), pages 59–64. IEEE,2009.

[11] Sonja Zaplata, Kristof Hamann, Kristian Kottke, and Win-fried Lamersdorf. Flexible execution of distributed businessprocesses based on process instance migration. Journal ofSystems Integration, 1(3):3–16, 2010.

[12] D. Martin, D. Wutke, and F. Leymann. A novel approach todecentralized workflow enactment. In International IEEE En-terprise Distributed Object Computing Conference (EDOC),pages 127–136. IEEE, 2008.

[13] H. Fernandez, T. Priol, and C. Tedeschi. Decentralizedapproach for execution of composite web services using thechemical paradigm. In International Conference on WebServices (ICWS), pages 139 –146. IEEE, 2010.

[14] Hassan Artail, Rula Antoun, and Kassem Fawaz. CRUST:Implementation of clustering and routing functions for mo-bile ad hoc networks using reactive tuple-spaces. Ad HocNetworks, 7(6):1064 – 1081, 2009.

[15] WFMC. Workflow management coalition workflow standard:Workflow process definition interface – XML process defini-tion language (XPDL). Technical Report WFMC-TC-1025,Workflow Management Coalition, 2002.

[16] OASIS. Web service business process execution languageversion 2.0. Technical report, OASIS, 2007.

[17] M. El Falou, M. Bouzid, A.-I. Mouaddib, and T. Vidal. Adistributed planning approach for web services composition.In International Conference on Web Services (ICWS), pages337 –344. IEEE, 2010.

[18] Therani Madhusudan and N. Uttamsingh. A declarative ap-proach to composing web services in dynamic environments.Decis. Support Syst., 41:325–357, 2006.

[19] M.E. desJardins, E.H. Durfee, C.L. Ortiz, and M.J. Wolverton.A survey of research in distributed, continual planning. AIMagazine, 20(4):13–22, 1999.

[20] Vikas Agarwal, Girish Chafle, Sumit Mittal, and BiplavSrivastava. Understanding approaches for web service com-position and execution. In Proceedings of the 1st BangaloreAnnual Compute Conference, pages 1:1–1:8. ACM, 2008.

[21] Christin Groba and Siobhan Clarke. Web services on em-bedded systems - A performance study. In InternationalWorkshop on the Web of Things (WoT) at PERCOM, pages726–731. IEEE, 2010.

[22] C.N. Ververidis and G.C. Polyzos. Service discovery for mo-bile ad hoc networks: a survey of issues and techniques. Com-munications Surveys Tutorials, IEEE, 10(3):30 –45, 2008.

[23] Chung-Wei Hang and Munindar P. Singh. Trustworthy serviceselection and composition. ACM Transactions on Autonomousand Adaptive Systems, 6(1):5:1–5:17, February 2011.

[24] S. Nepal, Z. Malik, and A. Bouguettaya. Reputation propa-gation in composite services. In International Conference onWeb Services (ICWS), pages 295 –302. IEEE, 2009.

[25] Munindar P Singh. Information-Driven Interaction-OrientedProgramming : BSPL, the Blindingly Simple Protocol Lan-guage. In International Conference on Autonomous Agentsand MultiAgent Systems (AAMAS), pages 2–6, 2011.

[26] JiST/SWANS Edition of Ulm University. http://vanet.info/jist-swans.