Proxy-based hybrid cache management in Mobile IP ... - CiteSeerX

Report 2 Downloads 16 Views
Author's personal copy

Information Processing Letters 106 (2008) 26–32 www.elsevier.com/locate/ipl

Proxy-based hybrid cache management in Mobile IP systems Weiping He, Ing-Ray Chen ∗ Department of Computer Science, Virginia Tech, USA Received 18 April 2007; received in revised form 29 July 2007; accepted 5 September 2007 Available online 2 October 2007 Communicated by A.A. Bertossi

Abstract In this paper, we propose and analyze a proxy-based hybrid cache management scheme for client–server applications in Mobile IP (MIP) networks. We leverage a per-user proxy as a gateway between the server and the mobile host (MH) such that any communication between the MH and server must pass through the proxy. The proxy has dual responsibilities in our design. It keeps track of the current location of the MH by acting as a regional Gateway Foreign Agent (GFA) as in the MIP Regional Registration protocol for mobility management. The proxy is also responsible for cache consistency management and query processing on behalf of the MH. To reduce the network traffic, a threshold-based hybrid cache consistency management policy is applied. That is, when a data object is updated at the server, the server sends an invalidation report to the MH through the proxy to invalidate the cached data object, provided that the size of the data object exceeds the given threshold. Otherwise, the server sends a fresh copy of the data object through the proxy to the MH. We identify the best “threshold” value that would minimize the overall network traffic incurred due to mobility management, cache consistency management, and query processing, when given a set of parameter values characterizing the operational and workload conditions of the MIP network. © 2007 Elsevier B.V. All rights reserved. Keywords: Performance evaluation; Mobile IP networks; Cache consistency; Query processing; Mobility management; Mobile applications

1. Introduction With the success of the Internet, it is widely believed that IP will become the foundation of next generation wireless networks. With the help of IETF standardization, it is envisioned that Mobile IPv6 (MIPv6) [1] will become prevalent in next generation all-IP networks. Mobile IP can provide data, voice and multimedia services over an IP bearer. One of the research challenges for Mobile IP Systems is the design of effective service and mobility management protocols that take advan* Corresponding author.

E-mail address: [email protected] (I.-R. Chen). 0020-0190/$ – see front matter © 2007 Elsevier B.V. All rights reserved. doi:10.1016/j.ipl.2007.09.010

tage of IP-based technologies to achieve optimal performance. In mobile client–server applications, mobile hosts (MHs) often query a server dynamic information such as stock, traffic and weather, for application needs. Caching frequently used data objects in the MH reduces network traffic and improves user-perceived response time. However, to process user queries correctly, a MH must make sure that cached data objects being requested are up-to-date. In the literature, cache invalidation reports have been used as a means for the server to inform MHs of data updates [2,3]. In the asynchronous approach, whenever a data object cached at a MH is updated, the server sends an invalidation report to the MH.

Author's personal copy

W. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32

In the synchronous approach, the server broadcasts invalidation reports only periodically to which all MHs tune in to know whether their cached data objects are still up-to-date. In this paper we investigate an integrated cache consistency and mobility management scheme for Mobile IP networks with the objective to reduce the network traffic induced due to mobility management, cache consistency management, and query processing for mobile client–server applications. In the literature, the issue of mobility management has been studied extensively. Our design is to integrate mobility and cache consistency management by means of a user proxy which serves as a gateway foreign agent (GFA) for mobility management as in the MIP Regional Registration protocol [4], and also serves as a proxy for cache consistency and query processing management with respect to the client–server applications engaged by the MH. Our approach for cache consistency management is based on asynchronous updates. Further, we investigate a novel hybrid cache management scheme based on the design concept of “push threshold” [2]. Specifically, we define a threshold T such that, if the data object size is smaller than T , a fresh copy of the data object will be sent to the MH. Otherwise, an invalidation report will be sent to the MH. This design reduces the network traffic because if the data object is small enough, sending a fresh copy of the data object instead of an invalidation message will avoid an extra up-link request to be sent to the server. On the other hand, when the data object is large enough, sending a fresh copy itself may unnecessarily consume the valuable bandwidth unless the data object is being requested by a query. Further if the MH is in the sleep mode, the proxy will need to cache large data objects and moving the proxy to stay closer to the MH upon MH’s wake-up will also consume the valuable bandwidth. The objective of this paper is to decide the optimal threshold T and the optimal “regional area size” such that the overall network traffic incurred by mobility management, cache consistency management and query service is minimized. 2. Hybrid cache management in Mobile IP environments Access routers (ARs) in future all-IP based wireless networks are powerful and flexible. Under our proposed hybrid cache management scheme, when a MH starts in Mobile IPv6 [1] environments, a client-side proxy is created. This client-side proxy will execute on ARs to perform network-layer as well as application-layer functions on behalf of the client, much like a program-

27

mable agent in wireless IP systems [5]. The user proxy acts on behalf of the MH and fulfills dual responsibilities to reduce the network traffic due to mobility management and cache consistency management (the latter of which also concerns query processing). To support mobility management, the client-side proxy serves as the Gateway Foreign Agent (GFA) as in the MIP Regional Registration protocol to maintain the location information of the MH. When the MH moves across a subnet boundary within the GFA area, it obtains a new care of address (CoA). However, the MH does not need to inform the HA and CNs of the CoA change; instead only the proxy is informed of the CoA change. On the other hand, when the MH moves across a regional area (or a “service area”) the proxy also moves to run on the AR of the first subnet in the new GFA area. This incurs the cost of transferring the proxy from one GFA to another GFA area carrying cache information, and also the cost of informing the HA and CNs of the address change of the proxy. The size of the regional “service area” is defined as the number of subnets it covers. The optimal size of the service area essentially depends on a MH’s runtime mobility and service characteristics. To support cache management, the client-side proxy maintains a buffer space (called ProxyCache) to hold information regarding cache status. In particular, when the MH is disconnected, the buffer will hold invalidation reports or data objects received from the server. The MH stores frequently used data objects in its cache (called MHCache), as illustrated in Fig. 1. When a data object is changed, the server immediately sends out an invalidation report (if the data object size is larger than T ) or the actual data object (if the data object size is less than T ) to those MHs that keep a cached copy. A user proxy acting on behalf of a MH forwards these if the MH is connected; otherwise, the proxy stores them in ProxyCache. Once the MH wakes up, it reconciles its cache with its proxy to bring its cache content up-todate. Note that when the proxy moves because the MH moves across a service area, ProxyCache also moves with the proxy. This incurs a service context transfer overhead with its magnitude depending on the number of packets required to carry the context information and the number of hops it travels. A key design of our hybrid cache management scheme is the object size threshold T . When a data object is updated at the server, if T is high, then the server will likely transfer a fresh copy of the data object. The update cost would be high and the context transfer cost would be high too since the proxy may need to cache data objects instead of invalidation reports during the period in which the MH is disconnected. However, the

Author's personal copy

28

W. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32

Fig. 1. System infrastructure. Table 1 Parameters and default values Symbol

Default value

Meaning

λq,j σ μj ωw σs nCT nD,j N Ndata F (K) K τ α β γ Pmiss,j Pwake

1/50 0.1 0.0020 0.05 0.2 Calculated Calculated 1 10 Calculated Calculated 0.025 30 30 5 Calculated Calculated

query arrival rate for data object j mobility rate, i.e., how fast a MH moves across subnet boundaries data update rate to data object j disconnection rate to go from awake to asleep reconnection rate to go from asleep to awake number of packets required for content transfer of ProxyCache number of packets to hold data object j number of server applications currently engaged by the MH number of data objects cached at the MH a general function relating the number of subnets K to the number of hops number of subnets (or ARs) in a service area 1-hop round trip delay per packet in wired networks average distance (in hops) between the HA and the proxy average distance (in hops) between a CN and the proxy ratio between communication time in a wireless network to communication time in a wired network probability of cache miss for data object j causing an uplink request probability of MH in the wake state, calculated as ωs /(ωw + ωs )

query cost would likely reduce because data objects are fresh. Conversely, if T is low, the server is likely to send only an invalidation report to the MH when a data object is updated at the server. Thus, the update cost would be small and the context transfer cost would be small too since the proxy most likely will cache only invalidation reports. However, the query cost would likely increase because the MH needs to ask the server for data objects after learning that its cached data are not up-todate. The optimal value of T depends on the tradeoff between these cost factors. In our cache management scheme, the optimal T also depends on how often the proxy needs to move with the MH since the frequency at which the proxy moves depends on the regional area size and the MH’s mobility rate.

3. Performance model Table 1 lists a set of system parameters identified to characterize the mobility and service characteristics of a MH in a MIPv6 system. A stochastic Petri net (SPN) model as shown in Fig. 2 is used to analyze states traveled and state transitions made by a MH in the system. The stochastic model underlying the SPN model is a continuous-time semi-Markov chain that allows transition times to be generally distributed. We assume that the average number of hops between two communicat√ ing processes separated by K subnets is equal to K following the fluid flow model [6]. Under the hybrid cache management scheme, a MH and its proxy would determine the optimal service area

Author's personal copy

W. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32

29

Fig. 2. Petri net model.

size and the optimal threshold T dynamically with the goal to minimize the overall network traffic incurred due to mobility management, cache management and query processing. Specifically, there are three types of network costs: (1) a query processing cost when the MH needs to forward a user query uplink to the server to obtain a copy of the data object because of cache miss; (2) a cache consistency maintenance cost when the server needs to send an invalidation report or a fresh copy through the proxy to the MH whenever a data object is updated; and (3) a mobility management cost when the MH crosses a subnet boundary, including both local subnet crossing and regional “service area” crossing events. We aim to minimize the sum of these three types of costs per time unit. Let Cquery,j be the average communication cost to service a query asking for object j . Let Cmobility be the average communication cost to service a location handoff, including the one that triggers a service area handoff. Let Cupdate,j be the average communication cost to forward an invalidation report or a fresh copy for object j . The performance metric used in the paper is the overall network traffic incurred per time unit, denoted by Ctotal . More specifically, Ctotal is the sum of the product of the respective communication cost multiplied with the rate at which the respective event occurs, that is,   Ctotal = λq,j × Pwake × Cquery,j j

+ (σ × Pwake × Cmobility )   μj × Cupdate,j , +

(1)

j

where λq,j is the query rate for data object j , σ is the MH’s mobility rate, μj is the update rate for data object

j , and Pwake is the probability of the MH being awake given by ωs /(ωs + ωw ). Assume that the size of an object follows a distribution with its probability density function denoted by f (x). Then, PLT , the probability of a data object is less than or equal to T , and PGT , the probability of a data T object is larger than T , are given by PLT = 0 f (x) dx and PGT = 1 − PLT . The average object size for those data objects less than or equal to T , nD,LT , and the average object size for those objects larger than T , T nD,GT , are given by nD,LT = 0 f (x)x dx and nD,GT = ∞ T f (x)x dx. For the special case in which the object size is exponentially distributed with f (x) = λe−λx , we have PLT = 1 − e−λT ; PGT = e−λT ; nD,LT = λ1 − (T + 1 −λT ; nD,GT = (T + λ1 )e−λT . λ )e We now derive expressions for Cquery,j , Cmobility and Cupdate,j . Let Ci,query,j be the communication cost for answering a query asking for data object j when MH is in  state i. Then, Cquery,j can be obtained as Cquery,j = i (Pi × Ci,query,j ). To calculate Ci,query,j , we consider two case separately: (a) the size of object j is less than T for which the query cost is Ci,query,j,LT and (b) the size of object j is larger than T for which the query cost is Ci,query,j,GT . Consequently, Ci,query,j = PLT × Ci,query,j,LT + PGT × Ci,query,j,GT . If the size of object j is less than T , the server will send a fresh copy instead of an invalidation report when object j is updated. For object j , the MH thus always keeps a fresh copy except during its sleep. Therefore, if a query asking for object j arrives during the “awake” state, the query cost is zero. When the query is in sleep, there is also no query cost because no query is issued during the sleep state. For the “Just-wake-up” state, the MH will need to first check with the proxy and get object j from the proxy if object j has been updated

Author's personal copy

30

W. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32

during its sleep. The probability that object j has been updated during the MH’s last sleep period is given by μj /(ωs + μj ). The cost to get a copy upon “Just-wakeup” is given by nD,j × (γ τ + F (Xs)τ ), where nD,j is the number of packets required to hold object j , γ τ is the wireless transmission cost to transfer one packet from the access router to the MH, and F (Xs)τ is the cost to move one packet from the proxy to the MH separated by F (Xs) hops apart. Summarizing above, Ci,query,j,LT is given by: ⎧ or Awake, ⎨ 0 if Sleep μj Ci,query,j,LT = nD,j × ωs +μj × (γ τ + F (Xs)τ ) (2) ⎩ if Just-Wake-Up. If the size of object j is larger than T , the server will only send an invalidation report to the proxy when object j is updated. If object j is out-of-date, the MH will know it by consulting invalidation reports received and will request a fresh copy from the server. The probability that object j is out-of-date, thus resulting in a cache miss, can be shown as: Pmiss,j =

μj . (μj + [ωs /(ωs + ωw )]λq,j )

Therefore, Ci,query,j,GT is calculated as: ⎧ 0 if Sleep, ⎪ ⎪ ⎪ [γ τ + (γ τ + βτ + F (Xs)τ )] ⎪ ⎪ ⎪ ⎪ ⎨ × nD,j × Pmiss,j Ci,query,j,GT = else if Just-Wake-Up, ⎪ ⎪ ⎪ (γ τ + βτ + F (Xs)τ ) × nD,j ⎪ ⎪ ⎪ ⎪ ⎩ × Pmiss,j otherwise.

(3)

Next we derive the network traffic incurred per MH mobility event. Let Ci,mobility be the communication cost to service a location handoff given that the MH be calculated as a is in state i. Then Cmobility can  weighted average as Cmobility = i (Pi × Ci,mobility ) with Ci,mobility given by: ⎧ 0 if Sleep, ⎪ ⎪ ⎪ γ τ else if Just-Wake-Up and F (Xs) = 0, ⎪ ⎪ ⎪ ⎪ γ τ + ατ + Nβτ + F (Xs)nCT τ ⎪ ⎪ ⎨ else if Just-Wake-Up and F (Xs) > 0, γ τ + F (Xs)τ ⎪ ⎪ ⎪ ⎪ else if F (Xs) < K, ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ γ τ + ατ + Nβτ + F (K)nCT τ else if F (Xs) = K.

(4)

Here nCT stands for the number of packets for context information which can be estimated as

nCT =

n data  j =1

(PLT )j × (1 − PLT )ndata −j × nD,LT × j



× (1 − Pwake ) + 1, where the first term stands for the number of packets needed to hold data objects received while the MH is in sleep and the second term (one packet) is used to hold invalidation reports. Lastly, let Ci,update,j be the cost to forward an invalidation report or a fresh copy to the MH when the MH is in state i for data object  j . Then, Cupdate,j can be calculated as Cupdate,j = i (Pi × Ci,update,j ). Conditioning on if the size of object j is greater than T , Ci,update,j = PLT × Ci,update,j,LT + PGT × Ci,update,j,GT , where Ci,update,j,LT is the cost to forward a fresh copy and Ci,update,j,GT is the cost to forward an invalidation report. In either case, the server will send the fresh copy/invalidation report to the MH through the proxy if the MH is awake. Otherwise, the proxy will cache it for the MH. Consequently, ⎧ n × βτ ⎪ ⎨ D,j if Sleep or Just-Wake-Up, Ci,update,j,LT = × (βτ + F (Xs)τ + γ τ ) n ⎪ D,j ⎩ otherwise, βτ if Sleep or Just-Wake-Up, Ci,update,j,GT = βτ + F (Xs)τ + γ τ (5) otherwise. 4. Numerical example and performance evaluation We apply equations derived in Section 3 to calculate Ctotal and determine the optimal K and the optimal T that will minimize the network traffic cost. Below we present numerical results. The default parameter values used for characterizing the operational condition of the system are shown in Table 1 with λq,j , σ , ωw , ωs , N , and Ndata characterizing a particular MH’s service and mobility behavior. We assume that the object size is exponentially distributed with parameter λ. Fig. 3 shows that there exists an optimal threshold value T under which the overall network traffic incurred to service mobility, cache and query processing operations is minimized. Fig. 4 shows that as λ increases, the optimal threshold size T decreases. The reason is that as λ increases, the average object size decreases. In order to achieve the balance between sending data objects and sending invalidation reports, the optimal threshold size T decreases as the data object size decreases. Fig. 5, on the other hand, shows that as λ increases, the optimal

Author's personal copy

W. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32

31

We compare our hybrid cache management scheme with two baseline schemes: (1) push-based cache management; and (2) invalidation report based (IR-based) cache management. Under the push-based cache scheme, the server will always send out fresh data objects, while under the IR-based scheme the server will always send out invalidation reports when objects are updated. The total cost for the push-based scheme is calculated as follows:  λq,j × Pwake × Cquery,j,push Ctotal_push = j

+ σ × Pwake × Cmobility,push  + μj × Cupdate,j,push ,

Fig. 3. Cost vs. threshold T .

Fig. 4. Optimal threshold T vs. λ.

(6)

j

where Cquery,j,push is the cost incurred for querying object j , and Cupdate,j,push is the cost incurred for updating data object j . The query cost Cquery,j,push is calculated in a similar way as in our hybrid scheme. Specifically, Ci,query,j,push = Ci,query,j,LT . That is, in the Just-WakeUp state, the MH will check with the proxy and get object j from proxy if object j is updated during the MH’s last sleep period. In the awake state, the MH’s cache is always valid because a fresh copy is sent to MH whenever there is an update, so the query cost in the awake state is zero. For the mobility cost, Cmobility,push is the same as Cmobility except that the context transfer size is calculated as nCT = nD × ndata × (1 − Pwake ) + 1, where nD is the average object size, i.e., 1/λ. This reason is that a data object regardless of its size would be pushed to the MH whenever it is updated. Finally Cupdate,j,push is the same as Ci,update,j,LT derived earlier in our hybrid scheme again because the server will send out a fresh copy exclusively regardless of its size. For the IR-based scheme, the server will send out invalidation reports exclusively for data updates. The total network traffic incurred by the IR-based scheme is calculated as follows:  λq,j × Pwake × Cquery,j,IR Ctotal_IR = j

+ σ × Pwake × Cmobility,IR  + μj × Cupdate,j,IR ,

(7)

j

Fig. 5. Optimal K vs. λ.

service area size K increases. The reason is that as λ increases, the context transfer size decreases, the mobility cost decreases, and the update cost also decreases, all of which favor a large service area size.

where Cquery,j,IR is the cost incurred for querying data object j and Cupdate,j,IR is the cost incurred for updating data object j under the IR-based scheme. These are calculated in a similar way as in our hybrid scheme with Ci,query,j,IR = Ci,query,j,GT and Ci,update,j,IR = Ci,update,j,GT . The mobility cost Cmobility,IR is the same

Author's personal copy

32

W. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32

Fig. 6. Performance comparison.

as Cmobility except that nCT is a constant (nCT = 2) because only invalidation reports and service context information are stored by the proxy. Fig. 6 compares the total network traffic generated under our hybrid cache management scheme vs. those generated by IR-based and push-based schemes. We test the effect of the object size by varying the value of the λ parameter. Recall that the average size of a data object is equal to 1/λ. When λ is small, the object size is large, so sending a fresh copy whenever there is an update will incur a high update cost. On the other hand, when λ is large, the object size is small, so sending a fresh copy is beneficial due to the cost saving in query processing. We see clearly that our scheme combines the benefits of both push-based and IR-based schemes. The total network traffic generated is always lower than the best of push-based and IR-based cache management schemes. 5. Applicability and conclusion In this paper, we investigated a novel proxy-based hybrid cache management scheme that integrates cache management, mobility management and query processing all in one for client–server applications in Mobile

IPv6 systems. The basic idea lies in assigning a clientside proxy with dual duties for cache and mobility management. We devised a computational procedure to compute the optimal service area size for proxy-based regional registration mobility management and the optimal threshold T for cache management under which the overall network traffic generated is minimized, when given a set of parameters characterizing the MH’s mobility and service characteristics. We compared our scheme with pure push-based and invalidation report based schemes and concluded that our scheme outperforms these schemes in terms of the network traffic cost generated. The performance gain is in the amount of network traffic communication cost saved per time unit per user, so the cost saving due to a proper selection of the best service area and the threshold T dynamically will have significant impacts since the cumulative effect for all mobile users over a long time period would be significant. To apply the results obtained in the paper, one would pre-generate optimal K and T value-pairs under a range of perceivable parameter values. At runtime, the MH will collect information dynamically and perform a table lookup to determine the best (K, T ) value. References [1] H. Soliman, Mobile IPv6: Mobility in a Wireless Internet, Addison-Wesley Professional, 2004. [2] Y. Xiao, H. Chen, Optimal callback with two-level adaptation for wireless data access, IEEE Transactions on Mobile Computing 5 (8) (2006) 1087–1102. [3] Z. Wang, M. Kumar, S. Das, H. Shen, Dynamic cache consistency schemes for wireless cellular networks, IEEE Transactions on Wireless Communications 5 (2) (2006) 366–376. [4] E. Fogelstroem, A. Jonsson, C. Perkins, Mobile IPv4 Regional Registration, Internet Experimental RFC 4857, June 2007. [5] H. de Meer, A. Corte, A. Puliafito, O. Tomarchio, Programmable agents for flexible QoS management in IP networks, IEEE Journal on Selected Areas in Communications 18 (2) (2000) 256–267. [6] X. Zhang, J. Castellanos, A. Campbell, P-MIP: Paging extensions for Mobile IP, Mobile Networks and Applications 7 (2) (2002) 127–141.