<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Achieving Web Service Continuity in Ubiquitous Mobile Networks: the SRR-WS Framework</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Christoph</forename><surname>Dorn</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Information Systems</orgName>
								<orgName type="laboratory" key="lab1">VitaLab</orgName>
								<orgName type="laboratory" key="lab2">Distributed Systems Group</orgName>
								<orgName type="institution">Technical University of Vienna</orgName>
								<address>
									<settlement>Vienna</settlement>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Schahram</forename><surname>Dustdar</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Information Systems</orgName>
								<orgName type="laboratory" key="lab1">VitaLab</orgName>
								<orgName type="laboratory" key="lab2">Distributed Systems Group</orgName>
								<orgName type="institution">Technical University of Vienna</orgName>
								<address>
									<settlement>Vienna</settlement>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Achieving Web Service Continuity in Ubiquitous Mobile Networks: the SRR-WS Framework</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">6FC2B026DE7D0BFA326DC6037DEC7B9A</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T16:06+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>In this paper, we will address two underlying problems of Web service continuity in mobile ubiquitous networks. On the one hand, our work presents a lightweight solution for connection interruption. On the other hand, we introduce a technique to switch between devices during service invocation. The Suspend-Relocate-Resume for Web Services (SRR-WS) Framework meets these challenges by allowing a device to disconnect in-between Web service invocation and response in order to retrieve the reply upon reconnection. Moreover, our proposed framework also enables on-demand transfer of service control from one device to another. Our first reference implementation demonstrates how Web service continuity can be achieved across devices as well as unreliable connections.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Applying Web service technology in mobile ubiquitous environments enables interaction of heterogeneous resources through loose coupling as well as platform and context independence. <ref type="bibr">Jørstad et al.</ref> present in <ref type="bibr" target="#b0">[1]</ref> the advantage of applying the Service-Oriented Architecture in mobile and ubiquitous networks in more detail. As mobile devices are getting more powerful and widespread, accessing Web services with wireless devices is the next logical step. However, the dynamic nature of ubiquitous environments demands for adapted Web service technologies. Bandwidth and connectivity are the main factors besides computing power, battery capacity, and input interfaces that restrict the deployment of Web service technology.</p><p>In this paper, we focus on the issue of service continuity in a relaxed form. Instead of demanding anytime, anywhere available services, we argue that using the same service session on different devices from different places with possible intermediary breaks is often sufficient. In many cases, a user needs not be persistently connected or does not desire it due to cost reasons. In Section 2, we present a motivating scenario and discuss problems and related factors that arise due to the dynamic nature of mobile networks. Section 3 discusses current approaches and solutions to these issues. Thereafter, Section 4 discusses our proposal in detail. Subsequently, we present our results in Section 5. Finally, Section 6 describes future work, and Section 7 summarizes our findings.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Problem Statement</head><p>First, we describe which components constitute a mobile ubiquitous environment concerning Web services. As presented in Fig. <ref type="figure" target="#fig_0">1</ref>, such an environment generally consists of wireless-enabled devices that communicate with each other and/or are connected to an access point. We also include a wired network in our setting having the role of an infrastructure of any kind or offering services. We justify this decision by making the assumption that mobile users venture between mobile and fixed network with and without their devices. However, possible scenarios in our environment need not rely on such an infrastructure (e.g., mobile adhoc collaboration). We have also identified four interaction patterns concerning service provider and service requestor location.</p><p>1. The wireless network hosts both requestor and provider. This usually occurs in (mobile) ad-hoc networks. However, infrastructure might exist that aids interaction between peers. 2. The requestor is mobile whereas the provider is situated in the wired part. This is probably the most common setting, opening up wired services also to nomadic users. Furthermore, current tool support for mobile devices is restricted to Web service client development. Therefore, our work focuses primarily on this interaction pattern. 3. The requestor is located in the wired part and invokes a service on a mobile device. This can be used for push services or tracking purposes. 4. Conventional Web service invocation happens as both requestor and provider are located on the infrastructure network.</p><p>So far, Web service clients access services from static machines and are bound to these for the duration of service invocation. However, in a mobile environment we cannot expect a device or associated user to remain within transmission range for the full length of a possibly long lasting service interaction. Several strategies are available to handle this problem.</p><p>-First, the user can choose to switch to another device that is able to remain connected. -The user selects an equivalent service that is within reach.</p><p>-After the initial service is available again, the user reconnects and starts from the beginning of the service session. -The user delegates the service request to an intermediary such as agent or proxy in advance. Once reconnected, he/she collects the service response from that intermediary.</p><p>Clearly, the first three approaches are unsuitable, as in each case the user has to reinvoke the service. Besides, to repeat all previous steps of service invocation requires time and retransmission of data. This not only increases the load on the wireless network but also results in the user being charged more as his/her data transfer volume increases<ref type="foot" target="#foot_0">1</ref> . Moreover, in the second case an additional overhead occurs as we need time and resources to find a substitute service. Furthermore, some services might not be exchangeable at all such as personal calendar, document management or infrastructure centric services in general. Our work falls into the last category together with a number of related papers. Section 3 lists existing work and points out the differences to our approach.</p><p>The following scenario presents the above-introduced issues and sets our proposed framework in a real world environment.</p><p>Mike is a senior manager at ACME. As he is rather busy, he starts working already at home after getting up in the morning. He connects to his company's network from his home computer. All services and resources of ACME are accessible by means of Web services. He requests to get an overview of all currently running projects. As this usually takes a while, Mike decides not to wait for the results at home. A conventional Web service would require him to collect the results from his home PC, but luckily ACME provides the SRR-WS proxy and SRR-WS enabled clients. Usually, he would access the outcome from work, but as Mike is on a business trip to London, he intends to use some spare time on the airport to check up on the results. Just before leaving the house he requests information on the current traffic situation in London. Then, he turns off his PC and heads for the car. While driving his car, Mike usually refrains from using his PDA as he considers this too dangerous. After having checked in at the airport, he connects his PDA to the wireless LAN in the business lounge. There he continues the web services he had interrupted by leaving his home. This is made possible as the SRR-WS framework allows to pickup a service session where it was suspended. The project report is still outstanding while the traffic report has arrived. This service, while being external to ACME, can still be access through the SRR-WS proxy. Once at his partner's office in London, Mike connects his Laptop and retrieves the project results.</p><p>The scenario highlights the main contributions of our framework.</p><p>-Transparency: As there is no need to adapt the service provider, it remains completely unaware of the SRR-WS framework. -Service independence: Any service client that adheres to the standards can be suspended and resumed as well as relocated. -Light-weight approach: We require no middleware or agent platform and no proprietary standards are involved. The required infrastructure is limited to the use of the slim SRR-WS framework. -Continuity across time, space, and devices: Services can be invoked in one place and continued after some time in another place. Furthermore, the utilized devices need not be the same for suspending and resuming. -Fixed and mobile applicability: The presented framework is not restricted to mobile networks but can also be utilized in wireline networks. -Strategies for session keep alive: Instead of simply caching a response, different strategies can be employed to enable session resumption at a later stage.</p><p>Figure <ref type="figure" target="#fig_2">2</ref> visualizes the underlying ubiquitous environment depicting used devices and network topology.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Related Work</head><p>Work in this section is focused on the aspect of service continuity and the aboveintroduced sub problems of service disconnection and service control handover between devices.</p><p>Jørstad et al. <ref type="bibr" target="#b1">[2]</ref> analyse service continuity in mobile services. They propose a service continuity layer consisting of a monitor, handover manager, service composition module, interoperability evaluator, and I/O redirector. Yet, their work remains at that level and lacks specific details concerning architecture and implementation. Furthermore, their approach does not have the notion of service suspension. Another major difference lies in the task of the handover manager. This component is concerned with switching between different means of transport rather than devices. Finally, their service continuity layer focuses at providing services, whereas our technique requires no changes to the invoked services.</p><p>Several agent frameworks and middleware have been designed to facilitate the use of Web services on mobile devices. Below, we introduce approaches which  focus on agents and/or proxies invoking Web services on behalf of a mobile client. Thus, they enable the client to go offline during the service execution.</p><p>Yu and Zhang <ref type="bibr" target="#b2">[3]</ref> introduce a mobility system based on mobile agents to provide service continuity across networks. Yet, the need for an agent platform narrows widespread applicability. Furthermore, handover between devices is not explicitly given.</p><p>In <ref type="bibr" target="#b3">[4]</ref>, a client-proxy-multiple server model is designed where broker agents accept requests from mobile clients. These can resort to a knowledge base on the capabilities of service agents to perform the required task. Service agents belong to a specific problem domain and act as a wrapper to services described through a DAML+OIL ontology. The actual computation is done on the agent platform, on execution platforms or if required and possible on the client itself. Agentdeputies handle disconnections. Zahreddine and Mahmoud <ref type="bibr" target="#b4">[5]</ref> and Maamar et al. <ref type="bibr" target="#b5">[6]</ref> present similar agent-based frameworks.</p><p>Okuda et al. <ref type="bibr" target="#b6">[7]</ref> explicitly address continuous service access by means of agents. They adopt the same definition regarding service continuity as we do, namely suspending services, and resuming at a later point in time. Moreover, they also support continuing from a different device. However, their work is focused on multimedia web content that is adapted to different device capabilities and not on invocation of Web services. Hence, their technique varies considerably compared to our approach.</p><p>At this point, we can highlight several shortcomings that the presented work hitherto has in common. Agent networks in general lack widespread acceptance due to the need of a respective platform. Furthermore, Web service continuity across devices is only supported implicitly and service interruption not at all. These two aspects are the central focus of Satyanarayanan et al. <ref type="bibr" target="#b8">[8]</ref>. However, their approach goes beyond the scope of our work as the presented mechanisms transfer the whole state of the device using a distributed file system. We claim that this technique is too heavy weight and does not take into account unfinished service sessions.</p><p>Work on handover is primarily concerned with switching between different kinds of networks (eg. WLAN to GRPS or UMTS). As handover takes place at the transport layer to provide continuous connections for synchronous communication, interruptions constitute an undesirable state. However, this is less of a problem in the case of Web services where asynchronous communication is prevailing. Hence, our approach currently excludes such transport mechanisms but they pose a promising field for future extensions. For example, Calvagna and Modica <ref type="bibr" target="#b9">[9]</ref> propose user-centric policies for vertical handover in order to reduce costs for the individual user. Bellavista et al. <ref type="bibr" target="#b10">[10]</ref> present a middleware architecture for context aware service deployment and handoff management.</p><p>Pilioura et al. <ref type="bibr" target="#b11">[11]</ref> analyse Web service scenarios for mobile commerce. In the case of providing stable Web services to mobile devices, they propose a proxy architecture to invoke services on behalf of a client. Although their approach is similar to ours, we point out that the proxy needs to create a stub for every unknown request as their service requestor is assumed to be Web service unaware. This results in much more overhead than simply forwarding a service invocation message. Furthermore, no explicit mechanism to switch between devices is included.</p><p>To the best of our knowledge, so far no research effort has been put into designing a generic pause-resume mechanism for Web service invocation. Services themselves can be designed to allow for breaks by implementing long timeouts or resending messages, but this is not a transparent approach. Another possibility would be to utilize SOAP over SMTP, which intrinsically includes delays. However, this would require SMTP servers running on the mobile clients, or a SMTP push infrastructure. Moreover, this technique is specific to the underlying transport protocol and outside the scope of the Web service interaction layer. Besides, an SMTP server does not feature any keep-alive strategies and session relocation facilities as the SRR-WS proxy provides.</p><p>This pause-resume mechanism mentioned above holds much of the asynchronous notion that is usually associated with Message-Oriented Middleware (MOM). Such systems, however, are usually heavy-weight and restrict clients to connect to services available only within each such MOM. Though, our generic technique is open to any Web service client.</p><p>Following papers do not directly address service continuity issues as such, but provide techniques that reduce the need for service suspension and relocation. Yet, our framework is likely to incorporate these approaches at a later stage.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>UMICS'06</head><p>Sen et al. <ref type="bibr" target="#b12">[12]</ref> propose to tackle connectivity issues by invoking the Web service that is the most likely to remain available for the duration of the interaction process. A reasoner accessing a knowledge base-that contains motion information on participating service provider nodes-predicts the node's locality at the required place at the required time.</p><p>Similarly, Doulkeridis et al. <ref type="bibr" target="#b13">[13]</ref> introduce the notion of a context-aware service directory that includes temporal information. They argue, that context related data would enable prediction of the period a certain service remains available.</p><p>Friedman <ref type="bibr" target="#b14">[14]</ref> who proposes to cache the actual Web services within an ad-hoc network brings up another option. Upon partitions or combinations of network sections, caching proxies are either spawned combined. In this environment only those services can be rendered ubiquitous that can be transferred or copied as a whole between nodes.</p><p>4 The Suspend-Relocate-Resume for Web Services (SRR-WS) Framework</p><p>Our approach focuses on service continuity at the client side by introducing the Suspend-Relocate-Resume for Web Services (SRR-WS) framework. It enables to suspend a service, optionally relocate the client's session data, and to continue where the client has paused its interaction. As shown in the section on related work, no generic mechanism for resuming has been proposed so far. Thus, we cannot assume that Web service providers feature suspend or resume capabilities. Hence, the first version of our framework has the requirement that the Web service provider side should be left unaffected and thus the client side has to take provisions for service interruption. The SRR-WS design consists of a proxy-that we kept as generic as possible-and client side session restorement facilities. Figure <ref type="figure">3</ref> gives a general overview.</p><p>The SRR-WS Proxy is composed of three components: the actual proxy (Pmodule) that forwards SOAP messages over HTTP to the ultimate receiver, the suspend and resume module (SR-module) as well as the session relocation module (R-module). The internal architecture of the whole proxy is given in Figure <ref type="figure" target="#fig_3">4</ref>. The latter two modules are designed as Web services. The SR-module allows the client to explicitly request a connection interruption for going offline or shutting down, while enabling it to resume the session once it reports back. We define a session as a combination of client-state information and pending invocation requests. The R-Module permits a client to transfer the current session onto another device for later continuation. This feature is central to achieving service continuity across devices. The SR and R modules operate independently of each other. Thus, suspending and resuming can be executed on the same device, while session relocation can also occur in case no invocation reply is pending. Yet, the combined functionality enables virtually "anytime" relocation.</p><p>The SR functionality is most useful for stateful services that require some identifying data to be kept throughout the session. Nevertheless, stateless ser-Fig. <ref type="figure">3</ref>. The SRR-WS Framework consists of a generic Web service proxy with additional capabilities regarding caching and session relocation as well as facilities at the client to enable session suspension and continuation.</p><p>vices can also profit from the framework, as asynchronous responses are stored during a client's offline period. This also holds true for services, which exhibit high invocation costs or long execution time. What remains to be defined is how to keep a session alive. As we argue that the proxy should remain ignorant of the semantics of any requests, we propose that the client should know how to keep a session running. In invoking the SR interface, the client defines how this should be done. Below, we list possible strategies that we identified as suitable. Note that different strategies can be used at different points in the interaction process.</p><p>None the client knows that at this point, the session cannot be kept alive by the proxy itself. Thus, the proxy won't cache the Web service response.</p><p>Wait the client indicates that the proxy should just wait for it to report back from being off-line or down and then forward the stored Web service response. This strategy is applied if no timeout is expected to occur.</p><p>Replay the proxy should replay the last SOAP request at specific intervals. Always the latest response is kept. Replay works the same way as a web browser's reload functionality behaves: retrieving the most up to-date-information while keeping a possible session alive.</p><p>Custom the client provides a custom message which the proxy should forward at the given intervals. As in the previous case, the Proxy stores the latest reply from the Web service. The Custom strategy behaves just as the Replay strategy, while not sending the last message but a different one.</p><p>The latter three strategies include an interval within which the client expects to report back. Yet, the proxy can choose to reduce this value, if its "offline time span" is less. In such a case, the proxy notifies the client about the new valid deadline in the immediate reply message. Yet, to avoid side effects, the client needs to know how the Web service will behave for each of these strategies. However, we argue, the more complex a service is, the better the client needs to know it already without using the SRR-WS framework.</p><p>Session relocation is kept rather simple. The client describes relevant session data as an XML document and transfers it to the relocation module on the proxy. It also provides a deadline until itself or another client intends to retrieve the data. The relocation session data are stored on the SRR-WS proxy, which returns an identifier for later recovery. Retrieval happens exactly the opposite way. As the client provides the session identifier, the proxy returns the XML document.</p><p>On the client side, the framework consists of an additional layer between Web service proxy and transport engine to enhance the header with SRR-WS identification information. Specifically, we use the MessageId of the WS-Addressing <ref type="bibr" target="#b15">[15]</ref> header to enable this in a standardized way. The proxy processes this information to establish later which SOAP request should be suspended. This additional SOAP header block is kept even as the request is forwarded to the actual destination as WS-Addressing might be used at the ultimate receiver's site. Figure <ref type="figure" target="#fig_4">5</ref> visualizes this concept on the client device. The displayed components are the client application, WS-Addressing (for providing the necessary correlation headers), the SRR Client Framework (provides functionality for handling suspend and resume as well as relocate requests), WS Client Stub and SRR Client Stub to transform methods into SOAP messages (these are automatically created by an WSDL parser), and finally the HTTP Engine (responsible for wrapping the SOAP message in a HTTP POST request and subsequent transmission to the proxy). </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Implementation and Results</head><p>We implemented our framework using SOAP over HTTP as it is most widely applied. Besides, using SMTP we would not be able to point out the impact our framework has on Web service interaction, as an SMTP server can, in some way, be regarded as an implicit SRR-WS-Proxy. Furthermore, WS-Addressing was our choice of message identification mechanism as it provides this functionality in a reasonably comfortable way, thus no need for another standard or proprietary SOAP header. WS-Addressing is supported by Microsofts .NET Framework 2003 Web Service Extensions 2.0<ref type="foot" target="#foot_2">2</ref> which is also available for PocketPC by means of the OpenNETCF <ref type="bibr" target="#b16">[16]</ref> framework. One problem that had to be tackled in using SOAP over HTTP in conjunction with WS-Addressing results from the fact that once we have invoked a request and are waiting for a reply, we have to abort it to suspend. Thus, to receive the reply from the SRR framework upon resuming, we need to invoke the same request again but this time with a new WS-Addressing MessageId. In order for the SRR framework to know, which reinvoked requests desires what stored reply, MessageId mapping is done. This is explained in further detail below when discussing the Suspend-Resume module.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">The Proxy Module</head><p>The HTTP SOAP proxy has not been written from scratch but the free Mentalis.org proxy <ref type="bibr" target="#b17">[17]</ref> has been adapted to fit our needs. More precisely: we made the proxy SOAP aware, thus processing SOAP requests in a way to enable possible suspend and resume action. For regular HTTP requests, the proxy acts as usual. Once the proxy receives a SOAP request, it checks whether this request needs to be forwarded to the ultimate receiver (a new request) or was sent to retrieve a stored reply (a reinvoked request). In the former case, the proxy connects to the given destination and waits for the reply. Once the complete response is received it checks whether the corresponding client has suspended (subsequently storing the message) or not (forwarding the reply the the client). In case of a reinvoked request, the proxy retrieves the stored response and returns it without connecting to the actual destination.</p><p>Errors during client-proxy communication have no effect on the proxy's state. Initial requests or invocation of the proxy's suspend or relocate service are simply ignored. If an error happens during session resumption or session takeover, related data is not lost but kept for a new retrieval attempt.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">The Suspend-Resume Module and KeepAlive-Strategy</head><p>The SR-module is accessible via two Web service methods for suspending and resuming. To suspend one or several request, the client needs to provide a KeepAlive-Strategy for every single one. Such a strategy corresponds to the types introduced above, namely: None, Wait, Replay and Custom. Besides identifying which request is to be suspended (by means of the MessageId), it further includes details on how long the response should be stored (at most), the maximum interval between resuming and actually reinvoking the request, and the custom message (if required), as well as the resend interval where appropriate. For resuming one or more requests, the client submits the mapping between original request MessageId and the one that is going to be used for reinvoking. Hence, the SR module, repectively the SOAP proxy, can distinguish between new and resumed SOAP requests. The client also includes the proxy identifier which is needed in case a network of distributed proxies is used.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">The Relocate Module</head><p>The R-module allows session data in the form of a serialized XML document to be stored for a certain amount of time. Upon submission of a session document, a unique identifier is generated and returned to the client for future retrieval. The same client or another one that possesses the identifier, can use it to take-over the corresponding session information. The transfer of session information can also be described as pushing and pulling a session to the SRR-WS framework. We left this module intentionally simple for demonstration purpose and leave it up to the client application to transfer the session identifier to another client instance in case of relocation. The session description in XML is left to the client and the framework provides no support, as we believe session data will vary significantly between applications.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.4">The Test Run</head><p>The testing Web service was implemented as a Google Web service <ref type="bibr" target="#b18">[18]</ref> relay that transfers requests from document to RPC SOAP style. However, for simplicity reasons, only the spelling suggestion method is available. The service waits for ten seconds to simulate a longer lasting interaction and returns the Google result<ref type="foot" target="#foot_4">3</ref> marked with a timestamp. The proxy part of the WRR-WS framework runs on Windows XP Professional on the Internet Information Server (IIS). In our test bed we had a Pentium III Laptop as proxy host connected via LAN to another Windows XP machine, hosting the Google relay Web service. Our demonstrations client was implemented on an iPAQ 2210 running Windows Mobile 2003 and accessed the SRR-WS framework proxy by means of WLAN 802.11b in adhoc-mode. Our tests showed that as expected, several invocation requests could be issued, then these requests were suspended, the session pushed to the SRR-WS proxy and the client closed before the PDA was switched off. Within the suspend timeout, we restarted the client applications, retrieved the session data, then resumed the session and received all stored invocation replies. For the four keep alive strategies, we experienced behavior as expected.</p><p>-Providing the None strategy, the proxy aborted the connection to the test service or-if already available-deleted the reply. -Requesting the Wait strategy, the timestamp in the service reply amounted for about ten seconds more than the time of initial service invocation. -Demanding the Replay strategy for every 20 seconds, the timestamp in the service reply ranged between 10 and 20 seconds less than the point in time of service resumption. -For the Custom strategy having the same values as the Replay strategy, we experienced also the same timestamp values.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.5">Evaluation</head><p>Currently, we cannot make extensive statements about the performance of our framework as message overhead heavily depends on the applied keep-alive strategy. Nevertheless, in the following list we give an indication where to expect the most improvements and which strategies need closer attention.</p><p>-The None strategy is equivalent to experiencing a service interruption without the SRR-WS framework with an additional message to notify the SRR-WS proxy neither to store nor to wait for a reply. -Wait involves one message to inform the proxy to store the reply and another one to resume the invocation. -The amount of messages for Replay and Custom cannot be determined without knowledge of the exact strategy parameters. At a minimum, we have two messages (as this case includes the previous one) and at least another one, if the message is resent once only. Otherwise we have the client's offline period divided by the strategy's replay interval. Thus the worst case scenario happens if the client does not report back within the proxies internal "offline time span". This holds true for both Replay and Custom.</p><p>While analysing the expected message overhead, this amount has to be put in contrast with the number of messages needed in case of a new session start. Concerning scalability, the proxy certainly constitutes a bottleneck. Yet, we argue that a network of distributed SRR-WS proxies can solve this problem. A client can still use a different proxy (ProxyB) for resumption than used for suspending (ProxyA). This is achieved as the client submits the proxy's identifier (as mentioned above). All ProxyB needs to do is forward the request to the initial proxy (ProxyA), which returns the stored reply. This is in turn relayed to the client. Then ProxyB handles all subsequent traffic. Thus, no replication of state information occurs as ProxyA stores the initial reply, and ProxyB merely fetches that information upon the client's request. In such a federation, various hosts such as companies or universities (e.g., ACME in our scenario), network operators (e.g., WLAN hotspot providers), or individuals (e.g., Mike might decide to have one at home) provide proxies. Unfortunately, we lacked time to implement and test this feature.</p><p>The need for suspending a service explicitly might seem a like an unrealistic assumption in an adhoc network. However, we argue that this is less of a concern as the framework is not specially designed for an adhoc network but rather an ubiquitous one. Furthermore, users explicitly switch on or off their devices and do so when changing to another device. Moreover, context information can be used to anticipate potential disconnections. Yet, this is outside the scope of our paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Future Work</head><p>Future work will consist on the one hand of improving the demonstration implementation. At the moment a tight integration between client application and client-side framework is required. We plan to aid the developer in providing an automatic wrapper around Web services and a less tightly coupled SRR framework. For example, BPEL processes enhanced with business rules as proposed by Rosenberg and Dustdar <ref type="bibr" target="#b19">[19]</ref> define timeouts and session constraints and thus enable automatic selection of appropriate keep-alive strategies and corresponding SOAP messages. Furthermore, direct transfer of session data between clients would be an improvement we intend to implement. On the other hand, broadening the applicability of the SRR-WS framework concerning transport protocols, keep alive strategies, and security is another issue. Combining SOAP transport protocols such as HTTP request and SMTP reply (with mail push) might prove interesting to follow-up. In addition, security capabilities that have been left out for the moment, need consideration and integration. Furthermore, our case studies will also show if the current keep alive strategies are generic but also specific enough for widespread use. The further step would consist of enabling Web services themselves to accept suspend and resume requests. This would allow a better integration of session interruption and would require no additional infrastructure such as the SRR-WS framework. However, for generic use this would need to be the subject of a new Web service standard.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Conclusion</head><p>In this paper, we have discussed service continuity in mobile ubiquitous environments and presented a motivating scenario. Having listed current approaches to the service disconnection and relocation issues, we introduced our solution. The Suspend-Relocate-Resume for Web Services framework (SRR-WS) acts as a generic proxy for requests and caches invocation responses while a client remains off-line. Furthermore, it enables to start an invocation request on one machine and continue on a client located on another one. Thus, we achieve service continuity across space, time, and devices. Besides discussing our framework, we have presented a reference implementation demonstrating the benefits in a wireless network. Our main contributions are a lightweight framework that acts transparently to service providers while remaining unaware of the actual service invocation content. Moreover, the SRR-WS framework can be used in wireless and wireline environments and introduces strategies to keep service sessions during client's offline period alive. We concluded that our framework remains promising, but needs to be employed in a real world environment for further improvement.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Ubiquitous Mobile Environment: consisting of wireless and wired connections. R signifies a Web service requestor, while P denotes a Web service provider. Note that provider and requestor can reside on the same node. (1) to (4) indicates the outlined four interaction patterns.</figDesc><graphic coords="3,275.13,188.07,59.65,63.43" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Scenario Environment: presents a simplyfied version of a real world ubiquitous environment including the various devices employed, the SRR-WS framework and the example Web services.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 4 .</head><label>4</label><figDesc>Fig.<ref type="bibr" target="#b3">4</ref>. The SRR-WS-Proxy consists of a SOAP proxy and Web service interfaces for suspending and resuming a process as well as transferring the client's session data onto another device.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 5 .</head><label>5</label><figDesc>Fig.5. At the client side the SRR-WS Framework consists of an additional layer to introduce process related session identifier and a stub for accessing the SRR-WS Web service interfaces.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">Here, we assume that the mobile network provider charges by the amount of data transferred neglecting the possibility of a flat rate</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_1">UMICS'06</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_2">Microsofts Web Service Extensions</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_3">.0 are available as well but incompatible to the OpenNETCF framework.UMICS'06</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_4">In case a google key is not available, use "test" as the key, and only the timestamp will be returned.UMICS'06</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgment</head><p>Part of this work was supported by the Austrian Science Fund (FWF) project OMNIS.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Service-oriented architectures and mobile services</title>
		<author>
			<persName><forename type="first">I</forename><surname>Jørstad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Dustdar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Van Do</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">3rd International Workshop on Ubiquitous Mobile Information and collaboration Systems (UMICS), co-located with CAiSE</title>
				<imprint>
			<date type="published" when="2005">2005. 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A service continuity layer for mobile services</title>
		<author>
			<persName><forename type="first">I</forename><surname>Jørstad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Van Do</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Dustdar</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Wireless Communications and Networking Conference</title>
				<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="page" from="2300" to="2305" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Service mobility in mobile network</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Yu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Zhang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Communication Technology</title>
				<meeting><address><addrLine>ICCT</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003">2003. 2003</date>
			<biblScope unit="page" from="1698" to="1701" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Middleware for mobile information access</title>
		<author>
			<persName><forename type="first">D</forename><surname>Chakraborty</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Perich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Joshi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Finin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Yesha</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">5th International Workshop on Mobility in Databases and Distributed Systems</title>
				<meeting><address><addrLine>MDDS</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002">2002. 2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">An agent-based approach to composite mobile web services</title>
		<author>
			<persName><forename type="first">W</forename><surname>Zahreddine</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Mahmoud</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">19th International Conference on Advanced Information Networking and Applications</title>
				<imprint>
			<publisher>AINA</publisher>
			<date type="published" when="2005">2005. 2005</date>
			<biblScope unit="page" from="189" to="192" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">On composite web services provisioning in an environment of fixed and mobile computing resources</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Maamar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><forename type="middle">Z</forename><surname>Sheng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Benatallah</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information Technology and Management</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="page" from="251" to="270" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Realizing continuous and transparent service using agents</title>
		<author>
			<persName><forename type="first">T</forename><surname>Okuda</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Takano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Tajima</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Shimojo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Yamaguchi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Miyahara</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Pacific Rim Conference on Communications, Computers and signal Processing</title>
				<imprint>
			<publisher>PACRIM</publisher>
			<date type="published" when="2001">2001. 2001. 2001</date>
			<biblScope unit="page" from="736" to="739" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title/>
	</analytic>
	<monogr>
		<title level="j">UMICS&apos;</title>
		<imprint>
			<biblScope unit="volume">06</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Towards seamless mobility on pervasive hardware</title>
		<author>
			<persName><forename type="first">M</forename><surname>Satyanarayanan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Kozuch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Helfrich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>O'hallaron</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Pervasive and Mobile Computing</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="157" to="189" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">A user-centric analysis of vertical handovers</title>
		<author>
			<persName><forename type="first">A</forename><surname>Calvagna</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">D</forename><surname>Modica</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2nd ACM international workshop on Wireless mobile applications and services on WLAN hotspots</title>
				<meeting>the 2nd ACM international workshop on Wireless mobile applications and services on WLAN hotspots<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="137" to="146" />
		</imprint>
	</monogr>
	<note>WMASH &apos;04</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Integrated support for handoff management and context awareness in heterogeneous wireless networks</title>
		<author>
			<persName><forename type="first">P</forename><surname>Bellavista</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Cinque</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Cotroneo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Foschini</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">MPAC &apos;05: Proceedings of the 3rd international workshop on Middleware for pervasive and ad-hoc computing</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="1" to="8" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Scenarios of using web services in m-commerce</title>
		<author>
			<persName><forename type="first">T</forename><surname>Pilioura</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Tsalgatidou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Hadjiefthymiades</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIGecom Exch</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="28" to="36" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Knowledge-driven interactions with services across ad hoc networks</title>
		<author>
			<persName><forename type="first">R</forename><surname>Sen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Handorean</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">C</forename><surname>Roman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Hackmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICSOC &apos;04: Proceedings of the 2nd international conference on Service oriented computing</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="222" to="231" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Towards a context-aware service directory</title>
		<author>
			<persName><forename type="first">C</forename><surname>Doulkeridis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Valavanis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Vazirgiannis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">29th International Conference on Very Large Data Bases</title>
				<imprint>
			<publisher>VLDB</publisher>
			<date type="published" when="2003">2003. 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Caching web services in mobile ad-hoc networks: opportunities and challenges</title>
		<author>
			<persName><forename type="first">R</forename><surname>Friedman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">POMC &apos;02: Proceedings of the second ACM international workshop on Principles of mobile computing</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="90" to="96" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<author>
			<persName><forename type="first">D</forename><surname>Box</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Christensen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Cubera</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Ferguson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Frey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Kaler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Langworthy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Leymann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Lovering</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lucco</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Millet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Mukhi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Nottingham</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Orchard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">S</forename><surname>Sindambiwe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Storey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Weerawarana</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Winkler</surname></persName>
		</author>
		<ptr target="http://www.w3.org/Submission/ws-addressing/(2004" />
		<title level="m">Web Service Addressing (WS-Addressing</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title/>
		<author>
			<persName><surname>Opennetcf</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2005">2005</date>
			<publisher>OpenNETCF Website</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<monogr>
		<title/>
		<author>
			<persName><surname>Mentalis</surname></persName>
		</author>
		<ptr target="org:Mentalis.org" />
		<imprint>
			<date type="published" when="2005">2005</date>
			<publisher>Proxy Website</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<title level="m">Google: Google web service api</title>
				<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Business Rules Integration in BPEL -A Service-Oriented Approach</title>
		<author>
			<persName><forename type="first">F</forename><surname>Rosenberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Dustdar</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">7th IEEE International Conference on E-Commerce Technology, CEC</title>
				<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="476" to="479" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
