Dynamic Cache Consistency Schemes for ... - Semantic Scholar

9 downloads 15218 Views 404KB Size Report
optimized cache performance in multi-cell environments based on the two cost ... with the sleep time to the server to check the cache status. After receiving such ...
IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, VOL. 5, NO. 1, JANUARY 2006

1

Dynamic Cache Consistency Schemes for Wireless Cellular Networks Zhijun Wang, Mohan Kumar, Sajal K Das, and Huaping Shen

Abstract— Caching frequently accessed data objects at the local buffer of a mobile user (MU) has been found to be very effective in improving information availability in mobile wireless environments. Several mechanisms have been proposed in the literature to address the challenging problem of cache consistency in cellular wireless networks. However, these mechanisms are limited to single cell systems. In this paper, we develop a novel Dynamic Scalable Asynchronous Cache Consistency Scheme (DSACCS) that can adaptively maintain mobile data objects globally or locally depending on the minimum consistency maintenance cost in multi-cell systems. The cost function is derived by taking into account each data object’s update frequency, MUs’ access pattern and roaming frequency, number of cells and number of MUs in the system. Extensive simulation studies demonstrate that DSACCS outperforms three existing cache strategies extended to multi-cell environments. The three cache consistency strategies are homogeneous invalidation reports (IRs), inhomogeneous IR without roaming check, and inhomogeneous IR with roaming check. Finally, an improvisation of DSACCS, called DSACCS-G, is proposed for grouping cells in order to facilitate effective cache consistency maintenance in multi-cell systems. Index Terms— Cache consistency, invalidation reports, mobility, mobile wireless networks.

I. I NTRODUCTION Caching frequently accessed data objects at the local buffer of a mobile user (MU) can significantly improve the performance of mobile wireless networks. However, cache consistency maintenance in such environments is a challenging task due to frequent disconnections and mobility of MUs. Several cache consistency maintenance schemes have been proposed in the literature for mobile wireless environments [1] [4] [5] [7] [8] [9] [10] [11] [12] [13] [15]. The goals of these schemes are to ensure valid data objects in the cache to enhance their availability and minimize overhead due to consistency maintenance. Based on the underlying methodologies, these schemes can be classified into three categories: stateless, stateful and hybrid. In stateless approaches [1] [4] [7] [8] [10] [11] [15], a server has no knowledge of MU caches. Even though these schemes employ simple database management, they have poor ability to support disconnections and mobility of MUs. On the other hand, in statef ul approaches such as Manuscript received July 12, 2003; revised DATE; accepted January 31, 2005. The associate editor coordinating the review of this letter and approving it for publication was K. Leung. Zhijun Wang is with the Department of Computing, The Hong Kong Polytechnic University, Hong Kong (e-mail: [email protected]). Mohan Kumar, Sajal Das, and Huaping Shen are with the Center for Research in Wireless Mobility and Networking (CReWMaN), Department of Computer Science and Engineering, The University of Texas at Arlington, Arlington, TX 76019, USA (e-mail: kumar, das, [email protected]). Digital Object Identifier 10.1109/TWC.2006.xxxxx.

Asynchronous Stateful (AS) scheme [9], a server maintains a state that records all retrieved data objects for each MU cache. Thus, when an MU wakes up from a disconnected state, cache consistency is maintained by referring to the corresponding cache state in the server. Our recently proposed Scalable Asynchronous Cache Consistency Scheme (SACCS) [12][13] is a hybrid approach which exploits server’s partial knowledge of MU caches and maintains flag bits in the server as well as in the MU caches. The preceding approaches have focused on the cache consistency in single-cell mobile environments. It turns out that a cache consistency scheme designed for a single cell is not directly applicable to multi-cell systems. Hence, there is a need for effective cache consistency schemes that achieve optimized cache performance in multi-cell systems. In this paper, we propose three types of cache consistency invalidation reports (IRs) for multi-cell systems using SACCS and AS schemes: (i) homogeneous IR, (ii) inhomogeneous IR without roaming check, and (iii) inhomogeneous IR with roaming check. Simulation results show that the homogeneous IR strategies are more efficient for slow updating data objects, fast roaming MUs and small systems. Whereas, the inhomogeneous strategies are more efficient for fast updating data objects, slow roaming MUs and large systems. Based on these observations, we derive two consistency maintenance cost functions associated with roaming of MUs for globally and locally maintained data objects. A globally maintained data object implies that its IR is broadcast to every cell in the system. Based on these two cost functions, we design and evaluate a Dynamic Scalable Asynchronous Cache Consistency Scheme (DSACCS) for wireless cellular networks. In DSACCS, the IR of a data object is broadcast globally or locally depending on which has the minimum consistency maintenance cost. For efficient broadcast of IRs, some cells are grouped into a logical cell. A variation of DSACCS for such grouped cells is called DSACCS-G. Simulation results show that the performance of DSACCS and DSACCS-G is superior to three extended cache strategies, for varying number of MUs and data objects in the system. The rest of the paper is organized as follows. Section II briefly describes AS and SACCS. In Section III, the three types of cache consistency maintenance strategies for roaming MUs are introduced and applied to SACCS and AS. The three strategies are evaluated for various multi-cell environments in Section IV. In Section V, a DSACCS is designed to achieve optimized cache performance in multi-cell environments based on the two cost functions. A scheme combining DSACCS with

c 2006 IEEE 1536-1276/06$20.00 °

2

IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, VOL. 5, NO. 1, JANUARY 2006

Orignal Server

cell grouping is also evaluated. Finally, conclusions are offered in Section VI.

Wired Network 1

II. R EVIEW OF AS AND SACCS

Orignal

MSC

We briefly describe AS and SACCS in this section. As mentioned earlier, both schemes focus on the cache consistency in a single cell environment.

1

A. Asynchronous Stateful (AS) Scheme

Cache

0

Mobile Switching Center (MSC)

3

A

AS [9] is one of the few stateful cache consistency maintenance schemes in which a server maintains a state that records all retrieved data objects for each MU cache. Whenever a server receives an update from the original server for each recorded data object, it immediately broadcasts that object’s IR. After an MU wakes up, it forwards the first query along with the sleep time to the server to check the cache status. After receiving such a query, the server counts all the updated data objects cached by that particular MU during its sleep time. The IDs of these objects are sent through an invalidation check message to the MU to ensure the cache consistency. Asynchronous

Server

1

2

B. Scalable (SACCS)

0

Consistency

Scheme

SACCS [12] [13] is a hybrid cache consistency maintenance scheme that is scalable and efficient. It uses (i) flag bits at the server cache and MU cache, (ii) an identifier (ID) in MU cache for each entry after its invalidation, and (iii) an uncertain state in MU cache. Each data object in a server is associated with a retrieving flag bit. When an object is retrieved by an MU, its flag bit is set implying that a valid copy may be available in the MU cache. When the data object is updated, the server immediately broadcasts its IR and resets the retrieving flag bit, implying that there is no valid copy in any MU cache. Hence, subsequent updates do not entail broadcast of IR until the flag bit is reset. At the time of the IR broadcast, an MU is either in an awake, i.e., connected with base station (BS), or in a sleep state. If an MU is in the awake state, it deletes the valid copy and sets the entry into ID-only state (i.e., the data object is deleted, but an ID is kept) after it receives the IR. On the other hand, if an MU is in the sleep state, it misses the IR and upon wake up, it sets all valid cache entries to an uncertain state. An uncertain entry must be refreshed (by downloading a valid data object or setting to valid entry through a confirmation message) or checked before its usage. Thus the cache consistency is guaranteed in error-free wireless communication environments. In an error-prone environment, SACCS can also be applied by setting a time-to-live (TTL) for each cached entry [13]. An MU automatically sets an entry into uncertain state when the TTL for that entry expires. If a data object is updated before its TTL expiration, the IR may be lost to the MU and there is the probability of a stale hit at the MU. As shown in [13], SACCS provides a weak cache consistency for MU caches with an insignificant stale cache hit probability in error-prone environments.

4 B

5

Server Cache

Mobile User (MU) MU Cache

Base Station (BS)

Fig. 1.

Wireless cellular network architecture.

III. P ROPOSED C ACHE C ONSISTENCY M AINTENANCE S CHEMES FOR M OBILE U SERS In this section, we introduce the wireless cellular architecture followed by three cache consistency maintenance strategies for roaming MUs, and apply them to SACCS and AS. These strategies were first proposed by us in [14], and applied to Timestamp (TS) [1] and SACCS schemes. However, we omit the discussions on TS because it has much larger average access delay as shown in [12] [13] [14]. A. Wireless Cellular Network Architecture Fig. 1 shows a wireless cellular network architecture consisting of a wired backbone network, multiple mobile switching centers (MSCs), base stations (BSs) and mobile users (MUs). An MSC is connected to the wired network and controls multiple BSs through wired links. A BS serves multiple MUs in a cell through wireless links (channels). Each MSC has a cache, called server cache, to store all accessed data objects and maintains cache consistency at MU caches through BSs. We use roaming to indicate the movement of an MU from cell to cell. There are two types of MU roaming. In intraroaming, an MU roams between cells that are all controlled by the same MSC. As shown in Figure 1, the movement of an MU, say A, from Cell 2 to Cell 3 is an example of intraroaming. In inter-roaming, on the other hand, an MU roams between cells belonging to different MSCs. The movement of the MU, B from Cell 4 to Cell 3 is an example of interroaming. In our design, we assume a read-only system (e.g., world wide web), where the MUs can read data objects that are updated only at the original servers. Whenever a data object is updated, its information (IR or updated object) is forwarded to an MSC through cache consistency maintenance protocols [6] [16] in the wired networks. In this paper, we focus on the cache consistency between a server cache and MU caches through wireless links. Cache consistency between MSCs and original servers is beyond the scope of the work.

WANG et al.: DYNAMIC CACHE CONSISTENCY SCHEMES FOR WIRELESS CELLULAR NETWORKS

A roaming MU is in one of two states: awake or sleep. In the sleep state, no extra action is needed in either SACCS or AS. In SACCS, an MU sets all of its valid cache entries to uncertain state upon wake up. In AS, when a roaming MU wakes up, its first query is automatically sent to an MSC through the current BS. Then the MSC retrieves or resets the cache state corresponding to the current BS, thus maintaining cache consistency. For a roaming MU in the awake state, the cache consistency maintenance is different from that in singlecell systems. We propose three types of cache consistency strategies for roaming MUs that are awake in the following subsections. B. Homogeneous IR Strategy In this strategy, all BSs in the system broadcast the same IR to MUs. When an MU roams among these cells, there is no difference between a roaming and a static MU with regard to cache consistency maintenance. Consequently, the impact of mobility on the performance of an MU cache is minimized. Therefore, such strategies are efficient for fast roaming MUs. However, the total IR traffic for each cell is increased as the number of cells increases. This is because any IR of a retrieved data object must be broadcast to every cell even if it is only queried in one cell. The homogenous IR strategy is not scalable for large number of cells as demonstrated in Section IV. The corresponding schemes of SACCS and AS will be called HM-SACCS and HM-AS, where “HM” stands for “homogeneous”. In HM-SACCS, only a single retrieving flag bit is needed for each data entry in an MSC cache. When a data object is queried, its corresponding flag bit is set. Whenever a data object with a set flag bit is updated, its IR is broadcast to every cell, and the flag bit is reset. For a system with multiple MSCs, when an MSC needs to set the retrieving flag bit for a cache entry, it must send message to all other MSCs to set the flag bit for the same entry. This guarantees every cell in the system broadcasts the same IR. In HM-AS, the MSC maintains a cache state that records all queried data objects for each MU. When a recorded data object is updated, the MSC broadcasts its IR to every cell, then the cache consistency is maintained as in a single cell. For a system with multiple MSCs, an IR from one MSC is first broadcast to all other MSCs and from there to the cells in the system. C. Inhomogeneous IR without Roaming Check Strategy In this strategy, the broadcast IR varies in different cells. A wakeup event is forced by a roaming MU. The variations of SACCS and AS are called IM-SACCS and IM-AS, respectively, where “IM” stands for “inhomogeneous”. In IM-SACCS, a data object in an MSC cache has multiple retrieving flag bits, each corresponding to a particular cell. If the data object is retrieved in one cell, the corresponding flag bit is set. When a data object is updated, the MSC informs the BSs under it. A BS in turn broadcasts the IR if the corresponding flag bit is set for that cell. All flag bits are reset after the data object is updated. A wakeup event is forced for each roaming MU in the sense that the MU sets all its valid

3

data objects into the uncertain state. The cache consistency is guaranteed because an uncertain entry must be refreshed or checked before its usage. In IM-AS, an MSC maintains a cache state for each MU. The IRs of cached data objects in an MU are broadcast to the MU current resident cell. A forced wakeup event is also used for a roaming MU. In other words, after an MU arrives at a new cell, its first query and roaming time must be forwarded through its new BS to an MSC. The roaming time is defined as the time when an MU switches the communication channel from its previous cell to the new cell. After the MSC receives the first query message, it resets the corresponding state to its new cell for an intra-roaming MU, or retrieves the corresponding state from the previous MSC and sets it to the new cell for an inter-roaming MU. Then the MSC sends an invalidation-check message to the MU that contains all cached data objects updated during the interval between roaming and current time. This is because an MU may miss IR broadcast during roaming. After the MU receives an invalidation-check message, it drops all invalid data entries, thus maintaining cache consistency. One advantage of this kind of strategy is that it minimizes IR traffic. But the additional uplinks are introduced by forced wakeup events. The strategy is superior to others for a system with slow roaming MUs and fast updating data objects. It also exhibits better scalability than the homogeneous strategy. D. Inhomogeneous IR with Roaming Check Strategy The IR traffic varies in different cells, similar to that in the inhomogeneous IR without roaming check. The variations of SACCS and AS will be called CK-SACCS and CK-AS, where “CK” stands for “check”. In CK-SACCS, after an MU arrives at a new cell, it immediately sends its roaming time and an ID list (that includes all valid cache data object IDs) to an MSC. The MSC in turn sends an invalidation-check message containing all data objects (cached in the MU) that were updated during the roaming time. The MU drops all invalidated cache entries. Then the MSC sets the corresponding retrieving flag bit for each valid entry in the new cell. After the flag bit is set, any future IRs for these valid entries will be broadcast in that cell to maintain cache consistency. In CK-AS, a roaming MU immediately sends a roaming check message to an MSC. The message includes its roaming time and previous MSC identifier. After the MSC receives the roaming check message, it resets the corresponding cache state to the new cell for an intra-roaming MU, or retrieves the cache state from the previous MSC and sets it to the new cell for an inter-roaming MU. If any data object is updated between the roaming time and the current time, an invalidation-check message is sent to the MU to invalidate the updated cache entries. Consequently, the future IRs for these valid entries are broadcast to the new cell. The cost for this strategy is an additional uplink for each roaming. But the valid entries of an MU cache can be used immediately, resulting in the reduced access delay for valid cache data objects. Finally, the IR traffic is also minimized. The features of the above three cache consistency strategies are summarized in Table I.

4

IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, VOL. 5, NO. 1, JANUARY 2006

TABLE I F EATURES OF T HREE C ACHE C ONSISTENCY M AINTENANCE S TRATEGIES

Strategy

Action on Roaming

Broadcast IR

Fast MU

Homogeneous

no action

all cells

efficient

not efficient

poor

Inhomogeneous without roaming check

force a wakeup event

one cell

not efficient

efficient

good

Inhomogeneous roaming check

immediately send a roaming check message

one cell

not efficient

efficient

good

with

Roaming

Fast Updating Data Object

IV. P ERFORMANCE E VALUATION OF T HREE S TRATEGIES The performance of the three proposed strategies are evaluated in [14] by varying the parameters in terms of the average MU sojourn time, the number of MUs in a cell, the number of data objects and cache size. The results show that the homogeneous IR strategies are more efficient for fast roaming MUs and small systems, while the inhomogeneous IR strategies are more efficient for slow roaming MUs and large systems. Due to space limitation, these results are not presented here. In this section, we study the impacts of other two parameters: data object update frequency and the number of cells in the system. In the simulations, an MU query process is assumed to follow a Poisson process. The access probability for each data object follows a Zipf-like distribution [3]. The update time interval is a Poisson distribution. The sleep-wakeup process is modeled as a two-state Markov chain with MUs alternating between sleep and awake states. All requests during a sleep state are ignored. The MU roaming process is also assumed to be Poisson with an average sojourn time, Tr . When an MU arrives in a new cell, the data object queries that were sent to the previous BS are resent to the current BS. After receiving such requests, the current BS sends a message to the previous BS indicating that the retrieved data objects by the roamed MU are not necessary to be broadcast. The previous BS, in turn, removes those data objects from the broadcast queue if they are not retrieved by other MUs in the cell. Assume that each cell has an uplink channel with bandwidth Wu bps (bits per second) and a downlink channel with bandwidth Wd bps. There are two queues for downlink channel, one having a higher priority than the other. Each queue is scheduled on a first in first out (FIFO) basis. The IR messages are buffered in the higher priority queue, and all other messages are buffered in the lower priority queue and is scheduled only if the higher priority queue is empty. All uplink messages in a cell are buffered in a queue scheduled on FIFO basis. The following parameters are defined in our simulations: • • • • • • • •

N : number of data objects in the system M : number of MUs in the system C: MU cache size (bytes) B: number of BSs λ: average query arrival rate for an MU Tu : average update time interval for a data object (sec) Ts : time period of a sleep-wakeup cycle for an MU (sec) s: ratio of sleep time to the sleep-wakeup period for an

Scalability

9 10

8

11

2

19 7

3 1

18 6

12 4

5

17 16

13 14

15

Fig. 2. Multi-cell configurations: Configuration 1 includes Cells 1 and 2, Configuration 2 is composed of Cells 1-7, and Configuration 3 includes all cells 1-19.

MU bp : size of a data object (bytes) • bu : uplink message size (bytes) • bd : downlink control message size (bytes) We consider two metrics for measuring the system performance: average access delay (D) and uplink per query (UPQ). The delay is counted as 0 if the accessed data object is valid in the MU cache. Otherwise, it is counted as the time interval between the query response and the query initiation. An uplink is counted when a query is retrieved from the BS through an uplink channel. U P Q is defined as the number of total uplinks that include missing queries, uncertain queries, and roaming check messages divided by the number of queries in a system. Hence, for CK-SACCS and CK-AS schemes, U P Q may be larger than 1 due to an additional roaming check uplink for each roaming. Fig. 2 shows three configurations in a multi-cell environment. Configuration 1 (shaded Cells 1 and 2) is a simple twocell system. An MU from one cell can roam into another. Configuration 2 (Cells 1-7) is a tier one cellular system such that an MU from cell 1 can roam into each of the neighboring cells with a probability (1/6). An MU from one of Cells 2 - 7 may roam into Cell 1 with a probability 1/6 and another neighboring cell with a probability 5/12. Configuration 3 (Cells 1-19) is a tier two system. Each of inner cells 1 through 7 has 6 neighbors. An MU from an inner cell has equal probability (1/6) of roaming into any of its neighboring •

WANG et al.: DYNAMIC CACHE CONSISTENCY SCHEMES FOR WIRELESS CELLULAR NETWORKS

A. Case 1: Impact of Data Object Update Frequency In this case, M = 350, i.e., 50 MUs per cell, and Tu of each data object is assumed to be the same. In order to isolate the impact on the performance caused by the sleep-wakeup

11 HM−SACCS IM−SACCS CK−SACCS

4

HM−AS IM−AS CK−AS

10 3.5 9

D (Seconds)

3

8

7 2.5 6 2 5 1.5 4

1 1

2

4 T (x200 Seconds)

3 1

8

2

4

8

u

(a) 1.1 HM−SACCS IM−SACCS CK−SACCS HM−AS IM−AS CK−AS

1.05

1

0.95 UPQ

cells. A cell, which is not an inner cell, is called an outer cell. An even numbered outer cell has four neighboring cells. An MU from such a cell has 1/6 probability of roaming into one of its two inner neighboring cells and 1/3 probability of roaming into one of its two outer neighboring cells. On the other hand, an odd numbered outer cell has three neighboring cells originally. For each such cell we make another odd numbered outer cell as its logical neighbor (indicated by arrows in Figure 2) so that each odd numbered cell also has four neighbors. An MU from such a cell has 1/6 probability of roaming into its inner neighboring cell, 1/3 into each of its even numbered outer neighboring cells and 1/6 into the logical neighboring cell. This roaming probability balances the number of MUs in each cell . For studying the impact of data object update frequency (Case 1), only Configuration 2 is used, and for studying impacts of the number of cells (Case 2), all three configurations are used. In the two cases, we set Wu = 4 Kbps, Wd = 50 Kbps, bu = 20 bytes, bd = 20 bytes, N = 10, 000 and C = 1 M bytes. Note that the uplink roaming check message size for an MU using the CK-SACCS is set as the number of valid cache data objects times 4 bytes. The third generation (3G) wireless cellular system such as General Packet Radio System (GPRS) can support up to 144 Kbps bandwidth in a cell for high mobility traffic. We consider a system of public data applications without security consideration, such as news, traffic information, etc. Other security based traffic (e.g., email, ftp, etc.) can not be shared by MUs and must use a secure communication model. Hence we choose 50 Kbps for public data communication traffic in our simulations. We consider a database with 10 types of data objects. The data objects’ update rate, size and percentage of the total database are shown in Table II. In Case 1, the effects of data object update frequency are studied, and hence the update frequency of all data objects are set to be the same. The average data object size for the Web system is about 25 Kbytes in wired networks [2]. We choose a database with smaller average data object size, based on the observation that the users accessing wireless networks usually pay more attention to the dynamic data objects of smaller size. Each MU may be different from others. The parameters λ, s, and Ts for each MU can take values from the corresponding given sets. Each value has equal probability to be chosen for an MU. The value set for λ is (1/20, 1/35, 1/50, 1/65, 1/80), for s is (0.15, 0.3, 0.45, 0.60, 0.75), for Ts is (500, 1000, 1500, 2000, 2500) in sec, and for Tr is (100, 400, 1600, 6400, 25600) in sec. In Case 1, we assume all MUs are always in the awake state. In this case, sleep-wake up events do not affect the performance. The most popular data object in the Zipflike distribution for each MU is shifted by a random number between 0 and 99, and its coefficient is set to 0.9. For SACCS based scheme, similar to the single-cell case [13], each IR is broadcast twice to reduce the stale hit probability.

5

0.9

0.85

0.8

0.75

0.7 1

2

4 Tu (x200 Seconds)

8

(b)

Fig. 3. Performance of six schemes vs average data update interval (Tu ): a) average access delay (D); b) average uplink per query (U P Q).

events, we assume that each MU is always in awake state. Six schemes based on the three proposed strategies are evaluated. We also consider a very basic scheme, where an MU has no cache in its local buffer and every data access needs to be retrieved from the BS, and no IR is broadcast in the system. Fig. 3 shows the relationship between Tu and the system performance in terms of D and U P Q for six schemes. In the basic scheme, D is independent of Tu since each data access is retrieved from the BS and no IR is broadcast. D for this scheme (not shown in the figure) is about 31 secs which is much larger than the other schemes. This indicates that caching data objects at the MU local buffer is an effective method to improve system performance. In all these schemes, both D and UPQ decrease as the update interval increases. The performance of SACCS based schemes is always better than that of AS based schemes for Tu in the range from 200 to 1600 secs. The SACCS based schemes have more than 50% performance gain in terms of D over AS based schemes, thus demonstrating their superiority in multi-cell environments. Among SACCS based schemes, IM-SACCS exhibits the

6

IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, VOL. 5, NO. 1, JANUARY 2006

TABLE II T EN T YPES OF DATA O BJECT IN DATABASE

Data Type

1

2

3

4

5

6

7

8

9

10

Size (Bytes)

500

1K

2K

3K

4K

5K

6K

7K

8K

9K

Update interval(Tu ) (Sec)

60

120

240

480

960

1920

3840

7680

15360

30720

Percentage (%)

5

5

10

10

20

20

10

10

5

5

3

6 HM−SACCS IM−SACCS CK−SACCS

5.95

HM−AS IM−AS CK−AS

5.9 5.85 2.5 5.8

D (Seconds)

best performance on D at the cost of slightly more UPQ than HM-SACCS, for Tu < 800 secs. When Tu > 800 secs, HM-SACCS has the best performance on both D and UPQ. The data objects with smaller Tu update fast, leading to an increase in additional IR traffic in HM-SACCS. On the other hand, fast updating data objects in the cache become invalid quickly. Thus, in IM-SACCS, the cache hit ratio is reduced for fast updating data objects and results in fewer additional confirmation messages due to the roaming. Hence, IM-SACCS has better performance for fast updating data objects. For data objects with large Tu , the additional confirmation traffic is over the additional IR traffic and makes HM-SACCS superior to IM-SACCS. Similar patterns for AS based schemes are also observed. For small Tu < 800 secs, HM-AS has the best performance. However, IM-AS and CK-AS are superior to HM-AS in terms of D when Tr > 800 secs. In summary, the inhomogeneous strategies are more efficient for fast updating data objects, while homogeneous strategies are better for slow updating data objects.

5.75 5.7 2 5.65 5.6 5.55 1.5 2

7

5.5 2

19

7

19

B (a) 1

0.98

0.96

B. Case 2: Impact of the Number of Cells

V. DYNAMIC S CALABLE A SYNCHRONOUS C ACHE C ONSISTENCY S CHEME In this section, we first derive two consistency maintenance cost functions that define the cost associated with roaming of MUs for globally and locally maintained data objects. Based

0.94

HM−SACCS IM−SACCS CK−SACCS HM−AS IM−AS CK−AS

0.92 UPQ

The relationship between the performance and the number of cells in the system is studied here. As shown in Fig. 4, three multi-cell configurations are simulated. The number of MUs for each cell is set to 100 initially. Thus, Configurations 1, 2 and 3 have 200, 700 and 1900 MUs respectively. From Figs. 4 (a) and (b), we observe that the performance of both SACCS and AS based schemes are similar, although SACCS based schemes perform better than AS based schemes. In Configuration 1, homogeneous IR strategies have the best performance. In the other two configurations, inhomogeneous IR strategies show better performance. D for the homogeneous IR strategies increases much faster than the inhomogeneous IR strategies as the number of cells increases. U P Q is almost a constant for all strategies in all three multi-cell environments. In the homogeneous IR strategies, every cell broadcasts the same IRs that are for any retrieved data objects among these cells. As the number of cells increases, the additional IR traffic increases leading to a longer D. However, there is no such effect on inhomogeneous IR strategies. The results indicate that the homogeneous IR strategies are not as scalable as inhomogeneous IR strategies due to increased IR traffic.

0.9

0.88

0.86

0.84

0.82 2

7

19 B (b)

Fig. 4. Performance of six schemes vs number of cells (B): a) average uplink per query (U P Q); b) average uplink per query (U P Q).

on these two functions, a Dynamic SACCS, called DSACCS, is proposed to optimize the system performance. A. Consistency Maintenance Cost Functions Through the performance evaluation of our proposed strategies, we conclude that the homogeneous IR strategies are more efficient for slow updating data objects, fast roaming MUs and small systems. On the other hand, the inhomogeneous IR strategies are more efficient for fast updating data objects, slow roaming MUs and large systems. Hence, a good scheme should inherit positive features from both.

WANG et al.: DYNAMIC CACHE CONSISTENCY SCHEMES FOR WIRELESS CELLULAR NETWORKS

In a multi-cell system, the consistency of a data object is said to be globally (locally) maintained if its IR must (may not) be broadcast to every cell in the system. For a globally maintained data object, broadcasting IR to every cell results in additional IR traffic for these cells in which the data object is not retrieved. For a locally maintained data object, after an MU roams into another cell, the valid cache entry is set to uncertain state even if the data object is still valid, thus leading to additional confirmation messages when the data object is accessed. Based on these observations, we derive two consistency maintenance cost functions that define the costs associated with roaming of MUs for globally and locally maintained data objects. The cost for a globally (locally) maintained data object is the number of additional IR (confirmation) messages for the object. Let us first define some parameters: • αi : update arrival rate of ith data object, di • λij : access arrival rate of di for jth MU, mj c • λik : access arrival rate of di at cell k • sj : ratio of sleep time to the sleep-wakeup period of mj g g • hij : hit ratio of globally maintained di (say di ) for mj l l • hij : hit ratio of locally maintained di (say di ) for mj g • Ci : consistency maintenance cost associated with roaming of MUs for dgi per update period l • Ci : consistency maintenance cost associated with roaming of MUs for dli per update period In our model, the data object update and MU’s query, roaming and sleep wake-up processes are assumed to be Poisson. Cig is the number of additional IR messages for each update of di . During an update interval, if di is retrieved in the system, the IR is broadcast to every cell. In this case, if di is not retrieved in a cell, the IR messages broadcast in that cell are counted into Cig , giving (1), where B is the number of cells. The factor 2 is due to the broadcast of each IR twice. The first term in Equation (1) is the number of IR messages for dgi in an update interval. The IR messages of dgi are broadcast to every cell when di is retrieved in the system. The effective PB c retrieving rate for di is k=1 λik . The second term is the number of IR messages for dli in an update interval, the IR messages are only broadcast to cells in which di is retrieved. The difference between hgij and hlij is caused by the roaming of mj . For dli in the cache of mj , the valid entry for di is set to uncertain state after each roaming, therefore the hit ratio of di is reduced. Cil is the summation of additional confirmation messages from all MUs in the system during an update interval of di , the average of which is 1/αi . During this period, mj has an average of (1−si )λij /αi accesses on di , thus the additional confirmation messages due to reduced hit ratio is (hgij − hlij )(1 − si )λij /αi . Note that each confirmation incurs one uplink and one downlink message. Therefore, Cil is given by

Cil =

M X j=1

2(hgij − hlij )(1 − si )λij

1 αi

(2)

Equations (1) and (2) define two cost functions associated with roaming of MUs for maintenance of data objects globally and locally. They are determined by B, M , data update rate

7

MU Procedure: IF (Send uplink query for di ) IF (Find an entry for di in the cache) {Get rfi and cmi } ELSE {Set rfi and cmi as 0} Send uplink query associated with rfi and cmi IF (Find an entry for di in the cache) Reset rfi = 0 and cmi = 0 IF(Cache a new entry i) {Set rfi = 0 and cmi = 0} IF (Refresh entry i) {gfi = gi and rfi =0} IF (Get an IR of entry i) {Invalid entry i and set rfi =0} IF (Wake up from sleep) Reset roaming flag bit for each cache entry to 0 IF (Arrive in a new cell) Set roaming flag bit as 1 for each valid entry Set valid entry with global flag bit as 0 to be uncertain entry MSC Procedure: IF (Receive an update for di ) Count Rig then forward Rig and Ril to each other MSC Calculate Rig and Ril for the whole system IF (No retrieving flag bit is set in the system) Update the cached di ELSE Cig = β1 Cig + (1 − β1 )Rig and Rig = 0 Cil = β2 Cil + (1 − β2 )Ril and Ril = 0 IF(gi == 1) {Broadcast IR to every cell} ELSE Broadcast IR to cells with set retrieving flag bits Reset the retrieving flag bits for each cell IF(Cig < Cil ) {gi = 1} ELSE {gi = 0 } IF (Receive a query for di ) Set the retrieving flag bit for the corresponding cell and Ril =Ril + cmi IF(rfi == 1 and query is uncertain query) IF(The uncertain entry is still valid) {Ril ++} Broadcast a valid or confirmed di as well as gi Fig. 5.

Pseudo Codes for MSC and MU

and the hit ratio. The hit ratio is related to the data query pattern, data update rate and cache size. The reduced hit ratio for a locally maintained data object in an MU cache depends on the MU’s roaming and query pattern. B. Description of DSACCS Based on the above two cost functions, DSACCS is proposed to minimize the data consistency maintenance cost in a system. These costs for each data object are computed at the MSC, to determine whether it is globally or locally maintained. Regardless of whether di is globally or locally maintained, Cig is measured as the average number of cells in which di is not retrieved during an update interval. Whenever di is updated, the number of cells in which di is not retrieved is counted, and then Cig is recalculated by the MSC. Cil is the average number of additional confirmations from all MUs during an update interval. For dli , an additional confirmation may be introduced only when the uncertain entry is accessed. In this case, an uncertain uplink message must be sent to the MSC which can record all additional confirmations in the system. For dgi , an MU can identify the saved additional

8

IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, VOL. 5, NO. 1, JANUARY 2006

Z Cig = 2B =

0



αi e−αi t

Z tX B 0 k=1

λcik e−

PB k=1

λcik τ

dτ dt − 2

B Z X k=1



Z αi e−αi t

0

0

t

c

λcik e−λik τ dτ dt

B X

2Bαi 2αi − PB αi + λcik αi + k=1 λcik k=1

confirmations and store at the local buffer. When di is accessed through the uplink query, the additional confirmations are passed to the MSC. To measure two costs for each data object, some parameters are introduced for each cache entry in the MSC and MUs. In an MSC, five parameters (gi , Cig , Cil , Rig , Ril ) are associated with each cache entry i. Here gi is a global flag bit indicating a globally (value 1) or locally (value 0) maintained di . The parameters Rig and Ril are the current measured values of Cig and Cil . In an MU cache, the entry i has three additional parameters (gfi , rfi , cmi ), where gfi is a global flag bit, rfi is a roaming flag bit (explained later) and cmi records the number of saved additional confirmations for dgi associated with roaming. A global flag bit is also associated with each downlink valid data and confirmation broadcast messages. Two values of rfi and cmi are attached to each uplink query message of di . The cache management pseudo codes of MUs and MSCs are shown in Fig. 5. In an MU cache, gfi is used to identify a globally or locally maintained data object. When an MU roams into a new cell, a valid entry i is set to uncertain if gfi = 0. The valid entry i is unchanged if gfi = 1. Whenever an MU caches or refreshes entry i, the value of gfi is set to the same as the global flag bit in the broadcast message. For dli , valid entry i is set to uncertain state after each roaming. If di is not updated and refreshed, and the MU has no sleep-wake up event after roaming, the access of di results in an additional confirmation due to roaming. We use rfi to identify that the additional confirmations for di . rfi and cmi of entry i are initially set to 0 when di is cached. These two values are passed to the MSC when the MU retrieves di through the uplink query. When an MU roams into a new cell, rfi is set to 1 if entry i is valid. Moreover, rfi is reset to 0 if any of the following events occurs: (1) the MU wakes up, (2) the MU receives an IR, a confirmation or a valid data object for entry i, and (3) the MU accesses di . For dgi , an additional confirmation is saved if it is accessed as a valid entry in the cache when rfi = 1. This valid entry would be uncertain if di were locally maintained. rfi = 1 indicates that the MU has no sleep-wakeup event, does not receive an IR, refresh nor access di after the last roaming. Hence, a saved confirmation is counted for dgi . Thus the MU increases cmi by 1 and resets rfi = 0. After the entry becomes an uncertain or ID-only, the next access of di is retrieved from the MSC. In this case, the value of cmi is passed to the MSC and then reset to 0. The MSC in turn adds the cmi into Ril . For dli , an additional confirmation may be counted when an uncertain entry with rfi = 1 is accessed. In this case, an uncertain query associated with rfi is sent to the MSC, and if di is still valid, the MSC records an additional confirmation

(1)

4 9

3

University Campus

5

1 2

10

1

15

8

0

1

16 14

7 1

0

MSC BS

Fig. 6.

0

11

6

12 13

A multi-cell system.

through increasing Ril by 1. Hence, Ril for dli is exactly measured but Rig for dgi may be different from the real value during update period of di . However, the average value (Cig ) is close to its real average value. In an MSC, the retrieving flag bits for each cache entry are managed in the same way as in IM-SACCS. When the MSC receives an update for di , if the retrieving flag bit is not set for any cell in the system, the MSC just updates the cached di . Otherwise, the MSC first checks gi . If gi is set, the IR of di is broadcast to every cell, else the IR is only broadcast to the cells in which the retrieving flag bits are set. Now Ril is counted as the number of cells in which the retrieving flag bits are not set. Then Cig and Cil are updated as follows: Cig = β1 Cig + (1 − β1 )Rig and Cil = β2 Cil + (1 − β2 ) Ril . Here β1 and β2 are two smoothing coefficients in the range 0 and 1. If Cig < Cil , gi is set to 1 (i.e., globally maintained), otherwise it is set to 0. Then the retrieving flag bits, Rig and Ril , are reset to 0. When the MSC receives a query for di , it sets the retrieving flag bit for the corresponding cell, adds cmi which is attached to the uplink query message into Ril . If it is uncertain query and rfi = 1, and the uncertain di is still valid, an additional confirmation is added into Ril . When a valid data object or confirmation message is broadcast, the global flag bit with the same value as the global flag bit in the cache entry of the MSC is associated. If there are multiple MSCs in the system, for each update of di , the values of Rig and Ril in each MSC must be forwarded to all other MSCs so that every MSC has the values of Rig and Ril for the whole system. DSACCS can be dynamically applied to different systems with some advanced features. Fig. 6 shows a multi-cell system, in which all 16 cells are controlled under two MSCs. Shaded Cells 1-3, 5-8, and 12-13 are controlled by one MSC while all the other cells are controlled by another. Suppose a university campus is located at Cells 7-11. Students in the university frequently roam within the campus and rarely roam out. On the other hand, students usually access some common data

WANG et al.: DYNAMIC CACHE CONSISTENCY SCHEMES FOR WIRELESS CELLULAR NETWORKS

C. Performance Evaluation Two simulation cases are presented in this subsection. Case 3 studies the performance of DSACCS by varying the number of MUs per cell. Case 4 evaluates DSACCS and DSACCS-G under various database sizes. Due to the wired connectivity between MSCs, the communication delay is insignificant compared with low bandwidth wireless

HM−SACCS IM−SACCS CK−SACCS DSACCS

12

D (Seconds)

10

8

6

4

2 100

110

120 M/B

130

140

(a) 1 HM−SACCS IM−SACCS CK−SACCS DSACCS

0.95

0.9

UPQ

objects, which may not be of interest to MUs outside the campus. In this scenario, some data objects may be highly accessed in the campus cells but rarely in other cells, thus the additional confirmations for these data objects are caused by roaming within campus. We can form a cell group including all campus cells, and allow some data objects to be maintained as group data objects. For a group data object, its IR is broadcast to every cell in the group if it is retrieved in any cell within the group. The valid entry for a group data object is unchanged when an MU roams among the grouped cells. This is an efficient mechanism because: (1) it minimizes the mobility impacts on the MU’s roaming within the grouped cells, and (2) all additional IRs from the grouped cells are only broadcast among themselves, without affecting the other cells. Now let us describe an improvisation of DSACCS, called DSACCS-G, in which the cells are grouped. In DSACCS, the access popularity of a data object in a cell can be measured through the retrieving flag bit for that cell. When some data objects are observed to be very popular in some cells but not popular in other cells, a cell group can be set by grouping these cells into a logical cell. After the group is formed, some data objects can be maintained as group data objects. The IR of a group data object is broadcast to all grouped cells if it is retrieved in any cell of the group. When an MU roams among the grouped cells, the entry states for group data objects in the cache are unchanged. To manage group data objects, a group flag bit (fi ) is introduced for entry i in the caches of MSCs and MUs. fi = 1 (or 0) implies that di is (or not) a group data object. Four parameters (Ei , Li , ei , li ) are set for entry i in the MSC. Here Ei and ei are the average and current measured additional IRs of di per update interval in the grouped cells (i.e., the number of cells in the group in which the data object is not retrieved during an update interval). Li and li are respectively the average and current number of additional confirmations during an update interval due to MU’s roaming among the grouped cells. Two extra parameters (ri , cri ) are associated with each entry in the cache of an MU, where ri is used to identify the additional confirmations for the MU roaming among the grouped cells. ri set to 1 for valid entry i when the MU roams from one grouped cell to another. rmi stores the number of additional confirmations of di . The management of these extra parameters is the same as the management of parameters introduced in DSACCS. In DSACCS-G, after di is updated, the MSC first checks if di is globally or locally maintained by comparing Cig with Cil . If di is globally maintained, there is no difference between DSACCS and DSACCS-G. However, if di is locally maintained, the MSC sets it as a group data object if Ei < Li , otherwise di is locally maintained.

9

0.85

0.8

0.75

0.7 100

110

120 M/B

130

140

(b)

Fig. 7. Performance of four SACCS-based schemes vs number of MUs per cell (M/B): a) average access delay (D); b) uplink per query (U P Q).

communications. Hence we do not count the cost for MSCs’ communications here. In both cases, the smooth coefficients β1 and β2 are set to 0.5. Case 3 : Impact of the Number of MUs per Cell In this case, we use a 19-cell system similar to Configuration 3 shown in Figure 2, and set N = 10,000 and Zipf coefficient is set to 0.95. All the other parameters for the MUs and the database are set to the same as in Case 2. Figs. 7 (a) and (b) show the performance of three extended SACCS schemes and DSACCS. We can see that DSACCS has the best performance in terms of delay (D) for varying number of MUs per cell. When the number of MUs per cell reaches 140, DSACCS gains about 10% compared with the other three schemes. HM-SACCS has better performance for small number of MUs per cell. Both CK-SACCS and IM-SACCS are superior to HM-SACCS when the number of MUs per cell is over 130. HM-SACCS has the minimum UPQ while CK-SACCS has the maximum UPQ. DSACCS

10

IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, VOL. 5, NO. 1, JANUARY 2006

HM−SACCS IM−SACCS CK−SACCS DSACCS DSACCS−G

12

D (Seconds)

10

8

6

4

2 1

2

4

6

N (x5000) (a) 1

0.95

HM−SACCS IM−SACCS CK−SACCS DSACCS DSACCS−G

UPQ

0.9

0.85

0.8

40 Kbps and for Cells 7-11, it is set to 80 Kbps. The uplink channel are set to 4 Kbps for Cells 1-6 and 12-16 and, 6 Kbps for Cells 7-11. The most popular data object for students is randomly picked from 0-199, and for the first type of MUs is randomly picked from 500-599. The cache size is set as 1 M bytes for each MU and the ID-only entry is set to 200. Ten types of data objects are set in the database as shown in Table II except the set for Tu (in sec), which is (100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200). Figs. 8 (a) and (b) show the performance of five schemes. From the figures, we infer that DSACCS-G has always the shortest delay D. DSACCS performs better than other three schemes but worse than DSACCS-G. When N approaches 30,000, the D for DSACCS-G is about 5% less than that for DSACCS, and 10% - 30 % less than those for IM-SACCS, CK-SACCS, and HM-SACCS. The better performance of DSACCS-G is due to the saved additional confirmations of group data objects while the IRs of group data objects retrieved in the grouped cells are only broadcast to themselves, resulting in very few additional IR traffic. For the three extended schemes, in a small N , HM-SACCS has the shortest D and CK-SACCS has the largest one. But for large N , CK-SACCS has the shortest D. HM-SACCS has the smallest U P Q among the five schemes. But U P Q for DSACCS and DSACCS-G is very close to that of HM-SACCS for all values of N . Similar to Case 3, CK-SACCS always has the highest U P Q. The above results show that DSACCS and DSACCS-G inherit the positive features from both homogenous and inhomogeneous strategies, thus minimizing the additional consistency maintenance cost for roaming MUs.

0.75

VI. C ONCLUSIONS 0.7 1

2

4 N (x5000)

6

(b)

Fig. 8. Performance of five SACCS-based schemes vs number of data objects in the system (N ): a) average delay (D); b) uplink per query (U P Q).

has a little bit larger UPQ than HM-SACCS for all ranges of MUs per cell. The consistency maintenance cost of each data object is minimized in DSACCS, thus resulting in better performance. These results indicate that DSACCS inherits both positive features from homogenous and inhomogeneous strategies, and makes it more scalable and efficient. Case 4 : Impact of the Number of Database size In this case, DSACCS and DSACCS-G are evaluated in a system as shown in Figure 6. Two types of MUs are set in the simulation. There are 1100 of the first type MUs (initially 100 per cell) located in cells 1-6 and 12-16. There are 1000 MUs (200 per cell) of the second type (students) in cells 7-11. The parameters for the first type of MUs are set the same as that of Case 2. For students, the only different parameter from the first type of MUs is the set values of Tr (in sec), a student randomly picks up a Tr from the set (100,400,1600). The downlink bandwidth for Cells 1-6 and 12-16 is set to

In this paper, we first extended three types of cache consistency maintenance strategies: 1) homogeneous IR; 2) inhomogeneous IR without roaming check; and 3) inhomogeneous IR with roaming check for multi-cell wireless networks. The simulation results revealed that the homogeneous IR strategies perform better for slow updating data objects, fast roaming MUs and small systems, whereas the inhomogeneous IR strategies are more efficient for fast updating data objects, slow roaming MUs and large systems. Two consistency maintenance cost functions are derived to determine the cost of maintaining data objects locally and globally. Based on these two cost functions, a Dynamic Scalable Cache Consistency Scheme (DSACCS) is proposed for wireless cellular networks. In DSACCS, the IR of a data object is broadcast globally or locally depending on the minimum consistency maintenance cost. Simulation results show that DSACCS outperforms three cache strategies extended to multi-cell environments. In addition, a variation of DSACCS, called DSACCS-G, is developed for grouping cells in order to facilitate effective cache consistency maintenance in multi-cell systems. Cache replacement and power efficiency are two issues that we are currently investigating for improving system performance in terms of average access delay and power consumption.

WANG et al.: DYNAMIC CACHE CONSISTENCY SCHEMES FOR WIRELESS CELLULAR NETWORKS

Acknolwdgement We are grateful to the anonymous referees for helpful suggestions that improved the quality of the paper. This work is supported by a grant from Texas Advanced Research Program (TXARP) Grant Number: 14-771032. R EFERENCES [1] D. Barbara and T. Imielinksi, “Sleeper and workaholics: caching scheme in mobile environments,” in Proc. ACM SIGMOD Conference on Management of Data, pp. 1-12, 1994. [2] P. Barford and M. Crovella, “Generating representative Web workloads for network and server models and server performance evaluation,” in Proc. ACM SIGMETRICS Conference, Atlanta, 1998. [3] L. Breslau, P. Cao, J. Fan, G. Phillips, and S. Shenker, “Web caching and Zipf-like distributions: evidence and implications,” in Proc. IEEE INFOCOM, pp. 126-134, 1999 [4] G. Cao, “A scalable low-latency cache invalidation strategy for mobile environments,” inIEEE Trans. Knowledge and Data Engineering, vol. 15, no. 5, pp. 1251-1265, 2003 (a preliminary version appeared in ACM MOBICOM 2000). [5] G. Cao, “On improving the performance of cache invalidation in mobile environments,” ACM/Kluwer Mobile Network and Application, vol. 7, no. 4, pp. 291-303, 2002 [6] J. Gwertzman and M. Seltzer, “World-Wide Web cache consistency,” in Proc. USENIX Symposium on Internet Technologies and Systems, Dec. 1997. [7] Q. Hu and D. K. Lee, “Cache algorithms based on adaptive invalidation reports for mobile environments,” Cluster Computing, pp. 39-50, 1998. [8] J. Jing, A. Elmagarmid, A. Heal, and R. Alonso. “Bit-sequences: an adaptive cache invalidation method in mobile client/server environments,” Mobile Networks and Applications, pp. 115-127, 1997. [9] A. Kahol, S. Khurana, S. K. S. Gupta, and P. K. Srimani, “A scheme to manage cache consistency in a distributed mobile wireless environment,” IEEE Trans. Parallel Distrib. Syst., vol. 12, no. 7, pp. 686-700, 2001. [10] G. Y. Liu and G. Q. McGuire Jr., “A mobility-aware dynamic database caching scheme for wireless mobile computing and communications,” Distributed and Parallel Databases, pp. 271-288, 1996. [11] K. Tan, J. Cai, and B. Ooi, “An evaluation of cache invalidation schemes in wireless environments,” IEEE Trans. Parallel Distrib. Syst., vol. 12, no. 8, pp. 789-897, 2001. [12] Z. Wang, S. Das, H. Che, and M. Kumar, “SACCS: scalable asynchronous cache consistency scheme for mobile environments,” in Proc. IEEE ICDCS: International Workshop on Mobile and Wireless Networks (MWN), pp. 797-802, 2003. [13] Z. Wang, S. K Das, H. Che, and M. Kumar, “A scalable asynchronous cache consistency scheme (SACCS) for mobile environments,” IEEE Trans. Parallel Distrib. Syst., vol. 15, no. 11, pp. 983-995, 2004. [14] Z. Wang, M. Kumar, S. K Das, and H. Shen, “Investigation of cache maintenance schemes for multi-cell environments,” in Proc. International Conference on Mobile Data Management (MDM), pp. 29-44, 2003. [15] K. L. Wu, P. S. Yu, and M. S. Chen, “Energy-efficient caching for wireless mobile computing,” in Proc. 20th International Conference on Data Engineering, pp. 336-345, 1996. [16] H. Yu, L. Breslau, and S. Shenker, “A scalable Web cache consistency architecture,” in Proc. ACM SIGCOMM, pp. 163-174, 1999.

Zhijun Wang received his Ph.D. degree in Computer Science and Engineering from The University of Texas at Arlington, 2005. He is an assistant professor of the Department of Computing, The Hong Kong Polytechnic University. His current research interests include data management in mobile networks and peer-to-peer networks, mobile computing and high speed networks.

11

Mohan Kumar obtained his PhD (1992) and MTech (1985) degrees from the Indian Institute of Science and the BE (1982) from Bangalore University in India. Kumar is a Professor in Computer Science and Engineering at the University of Texas at Arlington. His current research interests are in pervasive computing, wireless networks and mobility, active networks, mobile agents, and distributed computing. Recently, he has developed or co-developed algorithms for active-network based routing and multicasting in wireless networks and caching prefetching in mobile distributed computing. He has published over 110 articles in refereed journals and conference proceedings and supervised Masters and doctoral theses in the areas of pervasive computing, caching/prefetching, active networks, wireless networks and mobility, and scheduling in distributed systems. He is a co-founder of the IEEE International Conference on pervasive computing and communications (PerCom), and he was the general chair for PerCom 2005. Kumar is a founding editor of the Pervasive and Mobile Computing Journal; he is on the editorial board of The Computer Journal; has guest edited special issues of several leading international journals. He is a senior member of the IEEE. Prior to joining The University of Texas at Arlington in 2001, he held faculty positions at the Curtin University of Technology, Perth, Australia (1992-2000), The Indian Institute of Science (1986-1992), and Bangalore University (1985-1986).

Dr. Sajal K. Das is a Professor of Computer Science and Engineering and also the Founding Director of the Center for Research in Wireless Mobility and Networking (CReWMaN) at the University of Texas at Arlington (UTA). His current research interests include resource and mobility management in wireless and sensor networks, mobile and pervasive computing, wireless multimedia and QoS provisioning, mobile Internet protocols, distributed processing and grid computing. He has published over 350 research papers, directed numerous funded projects, and holds five US patents in wireless mobile networks. He received the Best Paper Awards in ACM MobiCom’99, ICOIN’01, ACM MSWIM’00, and ACM/IEEE PADS’97. He is also a recipient of UTA’s Outstanding Faculty Research Award in Computer Science in 2001 and 2003, and UTA’s College of Engineering Excellence in Research Award in 2003. He is the coauthor of a book Smart Environments: Technology, Protocols and Applications, published in 2004 by John Wiley. Dr. Das is the Editor-in-Chief of the journal Pervasive and Mobile Computing, and serves on the Editorial Boards of four international journals including IEEE Transactions on Mobile Computing and ACM/Kluwer Wireless Networks. He has served as General Chair of IEEE WoWMoM’05, IWDC’04, IEEE PerCom’04, CIT’03 and IEEE MASCOTS’02; General Vice Chair of IEEE PerCom’03, ACM MobiCom’00 and HiPC’00-01; Program Chair of IWDC’02, WoWMoM’98-99; TPC Vice Chair of CIT’05, ICPADS’02; and as TPC member of numerous IEEE and ACM conferences. He is the Vice Chair of IEEE Technical Committees (TCPP and TCCC), and on the Advisory Boards of several cutting-edge companies. Prior to 1999, Dr. Das was a professor of computer science at University of North Texas, where he twice (in 1991 and 1997) received the Student Association’s Honor Professor Award for best teaching and scholarly research. He received B.Tech. degree in 1983 from Calcutta University, M.S. degree in 1984 from Indian Institute of Science, Bangalore, and PhD degree in 1988 from the University of Central Florida, Orlando, all in Computer Science. Huaping Shen received his B.S. and M.S. degrees in computer science from Fudan University, China, in 1998 and 2001, respectively. He is currently a Ph.D. candidate in the Department of Computer Science and Engineering at the University of Texas at Arlington. His research interests include data management in mobile networks, mobile and pervasive computing, peer-to-peer networks, and distributed game systems.