13.07.2015 Views

Proxy-based hybrid cache management in Mobile IP systems

Proxy-based hybrid cache management in Mobile IP systems

Proxy-based hybrid cache management in Mobile IP systems

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Author's personal copyInformation Processing Letters 106 (2008) 26–32www.elsevier.com/locate/iplProxy-based hybrid cache management in Mobile IP systemsWeiping He, Ing-Ray Chen ∗Department of Computer Science, Virginia Tech, USAReceived 18 April 2007; received in revised form 29 July 2007; accepted 5 September 2007Available online 2 October 2007Communicated by A.A. BertossiAbstractIn this paper, we propose and analyze a proxy-based hybrid cache management scheme for client–server applications in MobileIP (MIP) networks. We leverage a per-user proxy as a gateway between the server and the mobile host (MH) such that anycommunication between the MH and server must pass through the proxy. The proxy has dual responsibilities in our design. It keepstrack of the current location of the MH by acting as a regional Gateway Foreign Agent (GFA) as in the MIP Regional Registrationprotocol for mobility management. The proxy is also responsible for cache consistency management and query processing onbehalf of the MH. To reduce the network traffic, a threshold-based hybrid cache consistency management policy is applied. Thatis, when a data object is updated at the server, the server sends an invalidation report to the MH through the proxy to invalidate thecached data object, provided that the size of the data object exceeds the given threshold. Otherwise, the server sends a fresh copyof the data object through the proxy to the MH. We identify the best “threshold” value that would minimize the overall networktraffic incurred due to mobility management, cache consistency management, and query processing, when given a set of parametervalues 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 applications1. IntroductionWith the success of the Internet, it is widely believedthat IP will become the foundation of next generationwireless networks. With the help of IETF standardization,it is envisioned that Mobile IPv6 (MIPv6) [1] willbecome prevalent in next generation all-IP networks.Mobile IP can provide data, voice and multimedia servicesover an IP bearer. One of the research challengesfor Mobile IP Systems is the design of effective serviceand mobility management protocols that take advan-* Corresponding author.E-mail address: irchen@cs.vt.edu (I.-R. Chen).tage of IP-based technologies to achieve optimal performance.In mobile client–server applications, mobile hosts(MHs) often query a server dynamic information suchas stock, traffic and weather, for application needs.Caching frequently used data objects in the MH reducesnetwork traffic and improves user-perceived responsetime. However, to process user queries correctly, a MHmust make sure that cached data objects being requestedare up-to-date. In the literature, cache invalidation reportshave been used as a means for the server to informMHs of data updates [2,3]. In the asynchronousapproach, whenever a data object cached at a MH is updated,the server sends an invalidation report to the MH.0020-0190/$ – see front matter © 2007 Elsevier B.V. All rights reserved.doi:10.1016/j.ipl.2007.09.010


Author's personal copyW. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32 27In the synchronous approach, the server broadcasts invalidationreports only periodically to which all MHstune in to know whether their cached data objects arestill up-to-date.In this paper we investigate an integrated cache consistencyand mobility management scheme for MobileIP networks with the objective to reduce the networktraffic induced due to mobility management, cache consistencymanagement, and query processing for mobileclient–server applications. In the literature, the issueof mobility management has been studied extensively.Our design is to integrate mobility and cache consistencymanagement by means of a user proxy whichserves as a gateway foreign agent (GFA) for mobilitymanagement as in the MIP Regional Registration protocol[4], and also serves as a proxy for cache consistencyand query processing management with respect to theclient–server applications engaged by the MH.Our approach for cache consistency management isbased on asynchronous updates. Further, we investigatea novel hybrid cache management scheme based on thedesign concept of “push threshold” [2]. Specifically, wedefine a threshold T such that, if the data object size issmaller than T , a fresh copy of the data object will besent to the MH. Otherwise, an invalidation report will besent to the MH. This design reduces the network trafficbecause if the data object is small enough, sending afresh copy of the data object instead of an invalidationmessage will avoid an extra up-link request to be sentto the server. On the other hand, when the data object islarge enough, sending a fresh copy itself may unnecessarilyconsume the valuable bandwidth unless the dataobject is being requested by a query. Further if the MHis in the sleep mode, the proxy will need to cache largedata objects and moving the proxy to stay closer to theMH upon MH’s wake-up will also consume the valuablebandwidth. The objective of this paper is to decidethe optimal threshold T and the optimal “regional areasize” such that the overall network traffic incurred bymobility management, cache consistency managementand query service is minimized.2. Hybrid cache management in Mobile IPenvironmentsAccess routers (ARs) in future all-IP based wirelessnetworks are powerful and flexible. Under our proposedhybrid cache management scheme, when a MH startsin Mobile IPv6 [1] environments, a client-side proxyis created. This client-side proxy will execute on ARsto perform network-layer as well as application-layerfunctions on behalf of the client, much like a programmableagent in wireless IP systems [5]. The user proxyacts on behalf of the MH and fulfills dual responsibilitiesto reduce the network traffic due to mobility managementand cache consistency management (the latterof which also concerns query processing). To supportmobility management, the client-side proxy serves asthe Gateway Foreign Agent (GFA) as in the MIP RegionalRegistration protocol to maintain the location informationof the MH. When the MH moves across asubnet boundary within the GFA area, it obtains a newcare of address (CoA). However, the MH does not needto inform the HA and CNs of the CoA change; insteadonly the proxy is informed of the CoA change. On theother hand, when the MH moves across a regional area(or a “service area”) the proxy also moves to run on theAR of the first subnet in the new GFA area. This incursthe cost of transferring the proxy from one GFA to anotherGFA area carrying cache information, and also thecost of informing the HA and CNs of the address changeof the proxy. The size of the regional “service area” isdefined as the number of subnets it covers. The optimalsize of the service area essentially depends on a MH’sruntime mobility and service characteristics.To support cache management, the client-side proxymaintains a buffer space (called ProxyCache) to hold informationregarding cache status. In particular, when theMH is disconnected, the buffer will hold invalidation reportsor data objects received from the server. The MHstores frequently used data objects in its cache (calledMHCache), as illustrated in Fig. 1. When a data objectis changed, the server immediately sends out an invalidationreport (if the data object size is larger than T )or the actual data object (if the data object size is lessthan T ) to those MHs that keep a cached copy. A userproxy acting on behalf of a MH forwards these if theMH is connected; otherwise, the proxy stores them inProxyCache. Once the MH wakes up, it reconciles itscache with its proxy to bring its cache content up-todate.Note that when the proxy moves because the MHmoves across a service area, ProxyCache also moveswith the proxy. This incurs a service context transferoverhead with its magnitude depending on the numberof packets required to carry the context information andthe number of hops it travels.A key design of our hybrid cache managementscheme is the object size threshold T . When a data objectis updated at the server, if T is high, then the serverwill likely transfer a fresh copy of the data object. Theupdate cost would be high and the context transfer costwould be high too since the proxy may need to cachedata objects instead of invalidation reports during theperiod in which the MH is disconnected. However, the


Author's personal copy28 W. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32Fig. 1. System infrastructure.Table 1Parameters and default valuesSymbol Default value Meaningλ q,j 1/50 query arrival rate for data object jσ 0.1 mobility rate, i.e., how fast a MH moves across subnet boundariesμ j 0.0020 data update rate to data object jω w 0.05 disconnection rate to go from awake to asleepσ s 0.2 reconnection rate to go from asleep to awaken CT Calculated number of packets required for content transfer of ProxyCachen D,j Calculated number of packets to hold data object jN 1 number of server applications currently engaged by the MHN data 10 number of data objects cached at the MHF(K) Calculated a general function relating the number of subnets K to the number of hopsK Calculated number of subnets (or ARs) in a service areaτ 0.025 1-hop round trip delay per packet in wired networksα 30 average distance (in hops) between the HA and the proxyβ 30 average distance (in hops) between a CN and the proxyγ 5 ratio between communication time in a wireless network to communication time in a wired networkP miss,j Calculated probability of cache miss for data object j causing an uplink requestP wake Calculated probability of MH in the wake state, calculated as ω s /(ω w + ω s )query cost would likely reduce because data objects arefresh. Conversely, if T is low, the server is likely tosend only an invalidation report to the MH when a dataobject is updated at the server. Thus, the update costwould be small and the context transfer cost would besmall too since the proxy most likely will cache only invalidationreports. However, the query cost would likelyincrease because the MH needs to ask the server for dataobjects after learning that its cached data are not up-todate.The optimal value of T depends on the tradeoffbetween these cost factors. In our cache managementscheme, the optimal T also depends on how often theproxy needs to move with the MH since the frequencyat which the proxy moves depends on the regional areasize and the MH’s mobility rate.3. Performance modelTable 1 lists a set of system parameters identified tocharacterize the mobility and service characteristics ofa MH in a MIPv6 system. A stochastic Petri net (SPN)model as shown in Fig. 2 is used to analyze states traveledand state transitions made by a MH in the system.The stochastic model underlying the SPN model is acontinuous-time semi-Markov chain that allows transitiontimes to be generally distributed. We assume thatthe average number of hops between two communicatingprocesses separated by K subnets is equal to √ Kfollowing the fluid flow model [6].Under the hybrid cache management scheme, a MHand its proxy would determine the optimal service area


Author's personal copyW. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32 29Fig. 2. Petri net model.size and the optimal threshold T dynamically with thegoal to minimize the overall network traffic incurreddue to mobility management, cache management andquery processing. Specifically, there are three types ofnetwork costs: (1) a query processing cost when theMH needs to forward a user query uplink to the serverto obtain a copy of the data object because of cachemiss; (2) a cache consistency maintenance cost whenthe server needs to send an invalidation report or a freshcopy through the proxy to the MH whenever a data objectis updated; and (3) a mobility management costwhen the MH crosses a subnet boundary, including bothlocal subnet crossing and regional “service area” crossingevents. We aim to minimize the sum of these threetypes of costs per time unit.Let C query,j be the average communication cost toservice a query asking for object j. LetC mobility bethe average communication cost to service a locationhandoff, including the one that triggers a service areahandoff. Let C update,j be the average communicationcost to forward an invalidation report or a fresh copyfor object j. The performance metric used in the paperis the overall network traffic incurred per time unit, denotedby C total . More specifically, C total is the sum ofthe product of the respective communication cost multipliedwith the rate at which the respective event occurs,that is,( ∑)C total = λ q,j × P wake × C query,jj+ (σ × P wake × C mobility )( ∑+ μ j × C update,j), (1)jwhere λ q,j is the query rate for data object j, σ is theMH’s mobility rate, μ j is the update rate for data objectj, and P wake is the probability of the MH being awakegiven by ω s /(ω s + ω w ).Assume that the size of an object follows a distributionwith its probability density function denoted byf(x). Then, P LT , the probability of a data object is lessthan or equal to T , and P GT , the probability of a dataobject is larger than T ,aregivenbyP LT = ∫ T0 f(x)dxand P GT = 1 − P LT . The average object size for thosedata objects less than or equal to T , n D,LT , and theaverage object size for those objects larger than T ,n D,GT ,aregivenbyn D,LT = ∫ T0 f(x)xdx and n D,GT =∫ ∞Tf(x)xdx. For the special case in which the objectsize is exponentially distributed with f(x)= λe −λx ,wehave P LT = 1 − e −λT ; P GT = e −λT ; n D,LT =λ 1 − (T +1λ )e−λT ; n D,GT = (T +λ 1 )e−λT .We now derive expressions for C query,j , C mobility andC update,j .LetC i,query,j be the communication cost foranswering a query asking for data object j when MH isin∑state i. Then, C query,j can be obtained as C query,j =i (P i × C i,query,j ). To calculate C i,query,j , we considertwo case separately: (a) the size of object j is less thanT for which the query cost is C i,query,j,LT and (b) thesize of object j is larger than T for which the querycost is C i,query,j,GT . Consequently, C i,query,j = P LT ×C i,query,j,LT + P GT × C i,query,j,GT .If the size of object j is less than T , the server willsend a fresh copy instead of an invalidation report whenobject j is updated. For object j, the MH thus alwayskeeps a fresh copy except during its sleep. Therefore, ifa 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 issuedduring the sleep state. For the “Just-wake-up” state, theMH will need to first check with the proxy and getobject j from the proxy if object j has been updated


Author's personal copy30 W. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32during its sleep. The probability that object j has beenupdated 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 n D,j × (γ τ + F(Xs)τ), where n D,jis the number of packets required to hold object j, γτis the wireless transmission cost to transfer one packetfrom the access router to the MH, and F(Xs)τ is thecost to move one packet from the proxy to the MHseparated by F(Xs) hops apart. Summarizing above,C i,query,j,LT is given by:⎧⎨ 0 if Sleep or Awake,C i,query,j,LT = n D,j ×⎩if Just-Wake-Up.μ jω s +μ j× (γ τ + F(Xs)τ)(2)If the size of object j is larger than T , the server willonly send an invalidation report to the proxy when objectj is updated. If object j is out-of-date, the MH willknow it by consulting invalidation reports received andwill request a fresh copy from the server. The probabilitythat object j is out-of-date, thus resulting in a cachemiss, can be shown as:P miss,j =μ j(μ j +[ω s /(ω s + ω w )]λ q,j ) .Therefore, C i,query,j,GT is calculated as:⎪⎨C i,query,j,GT =⎧0 if Sleep,[γτ + (γ τ + βτ + F(Xs)τ)]× n D,j × P miss,jelse if Just-Wake-Up,(γ τ + βτ + F(Xs)τ)× n D,j⎪⎩× P miss,jotherwise.(3)Next we derive the network traffic incurred per MHmobility event. Let C i,mobility be the communicationcost to service a location handoff given that the MHis in state i. Then C mobility can be calculated as aweighted average as C mobility = ∑ i (P i × C i,mobility )with C i,mobility given by:⎧⎪⎨⎪⎩0 if Sleep,γτ else if Just-Wake-Up and F(Xs)= 0,γτ + ατ + Nβτ + F(Xs)n CT τelse if Just-Wake-Up and F(Xs)>0,γτ + F(Xs)τelse if F(Xs)


Author's personal copyW. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32 31We compare our hybrid cache management schemewith 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, whileunder the IR-based scheme the server will always sendout invalidation reports when objects are updated.The total cost for the push-based scheme is calculatedas follows:C total_push = ∑ jλ q,j × P wake × C query,j,pushFig. 3. Cost vs. threshold T .Fig. 4. Optimal threshold T vs. λ.+ σ × P wake × C mobility,push+ ∑ μ j × C update,j,push , (6)jwhere C query,j,push is the cost incurred for querying objectj, and C update,j,push is the cost incurred for updatingdata object j. The query cost C query,j,push is calculatedin a similar way as in our hybrid scheme. Specifically,C i,query,j,push = C i,query,j,LT . That is, in the Just-Wake-Up state, the MH will check with the proxy and getobject j from proxy if object j is updated during theMH’s last sleep period. In the awake state, the MH’scache is always valid because a fresh copy is sent toMH whenever there is an update, so the query cost inthe awake state is zero.For the mobility cost, C mobility,push is the same asC mobility except that the context transfer size is calculatedas n CT = n D × n data × (1 − P wake ) + 1, where n Dis the average object size, i.e., 1/λ. This reason is thata data object regardless of its size would be pushed tothe MH whenever it is updated. Finally C update,j,push isthesameasC i,update,j,LT derived earlier in our hybridscheme again because the server will send out a freshcopy exclusively regardless of its size.For the IR-based scheme, the server will send out invalidationreports exclusively for data updates. The totalnetwork traffic incurred by the IR-based scheme is calculatedas follows:C total_IR = ∑ jλ q,j × P wake × C query,j,IR+ σ × P wake × C mobility,IR+ ∑ jμ j × C update,j,IR , (7)Fig. 5. Optimal K vs. λ.service area size K increases. The reason is that as λ increases,the context transfer size decreases, the mobilitycost decreases, and the update cost also decreases, all ofwhich favor a large service area size.where C query,j,IR is the cost incurred for querying dataobject j and C update,j,IR is the cost incurred for updatingdata object j under the IR-based scheme. These arecalculated in a similar way as in our hybrid schemewith C i,query,j,IR = C i,query,j,GT and C i,update,j,IR =C i,update,j,GT . The mobility cost C mobility,IR is the same


Author's personal copy32 W. He, I.-R. Chen / Information Processing Letters 106 (2008) 26–32Fig. 6. Performance comparison.as C mobility except that n CT is a constant (n CT = 2)because only invalidation reports and service contextinformation are stored by the proxy.Fig. 6 compares the total network traffic generatedunder our hybrid cache management scheme vs. thosegenerated by IR-based and push-based schemes. We testthe effect of the object size by varying the value of the λparameter. Recall that the average size of a data objectis equal to 1/λ. When λ is small, the object size is large,so sending a fresh copy whenever there is an update willincur a high update cost. On the other hand, when λ islarge, the object size is small, so sending a fresh copyis beneficial due to the cost saving in query processing.We see clearly that our scheme combines the benefits ofboth push-based and IR-based schemes. The total networktraffic generated is always lower than the best ofpush-based and IR-based cache management schemes.5. Applicability and conclusionIn this paper, we investigated a novel proxy-basedhybrid cache management scheme that integrates cachemanagement, mobility management and query processingall in one for client–server applications in MobileIPv6 systems. The basic idea lies in assigning a clientsideproxy with dual duties for cache and mobilitymanagement. We devised a computational procedure tocompute the optimal service area size for proxy-basedregional registration mobility management and the optimalthreshold T for cache management under whichthe overall network traffic generated is minimized, whengiven a set of parameters characterizing the MH’s mobilityand service characteristics. We compared ourscheme with pure push-based and invalidation reportbased schemes and concluded that our scheme outperformsthese schemes in terms of the network traffic costgenerated. The performance gain is in the amount ofnetwork traffic communication cost saved per time unitper user, so the cost saving due to a proper selection ofthe best service area and the threshold T dynamicallywill have significant impacts since the cumulative effectfor all mobile users over a long time period would besignificant. To apply the results obtained in the paper,one would pre-generate optimal K and T value-pairsunder a range of perceivable parameter values. At runtime,the MH will collect information dynamically andperform 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 adaptationfor wireless data access, IEEE Transactions on Mobile Computing5 (8) (2006) 1087–1102.[3] Z. Wang, M. Kumar, S. Das, H. Shen, Dynamic cache consistencyschemes for wireless cellular networks, IEEE Transactionson Wireless Communications 5 (2) (2006) 366–376.[4] E. Fogelstroem, A. Jonsson, C. Perkins, Mobile IPv4 RegionalRegistration, Internet Experimental RFC 4857, June 2007.[5] H. de Meer, A. Corte, A. Puliafito, O. Tomarchio, Programmableagents for flexible QoS management in IP networks, IEEE Journalon Selected Areas in Communications 18 (2) (2000) 256–267.[6] X. Zhang, J. Castellanos, A. Campbell, P-MIP: Paging extensionsfor Mobile IP, Mobile Networks and Applications 7 (2) (2002)127–141.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!