Adaptive location oriented content delivery in


Published on

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Adaptive location oriented content delivery in

  1. 1. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. IEEE TRANSACTIONS ON MOBILE COMPUTING 1 Adaptive Location-oriented Content Delivery in Delay-Sensitive Pervasive Applications Yu Zhang, Zhibin Wu, Wade Trappe WINLAB,Rutgers University,Technology Centre of New Jersey 671 Route 1 South,North Brunswick, NJ 08902-3390 {yu, zhibinwu, trappe} Abstract— In this paper, we introduce a delay-sensitive service One straight-forward approach to ensuring that content is that involves transmitting large amounts of location-based data readily available would be to increase the amount of access points to nodes at multiple locations. Given a limited amount of access that can deliver content, and cache large repositories of content points and an abundance of service requests that result from the at every access point so that each user request can be readily nodes moving around, a typical content delivery service would inevitably introduce considerable delay. To solve this problem, we handled by the nearest access point. However, such a strategy analyze the movement pattern of mobile nodes and approximate is costly and faces issues associated with interference between it as a semi-Markov process. Based on this model, we explore access points. This issue can be alleviated somewhat by carefully different components of the underlying service delay and propose assigning channels across the environment. An alternative strategy that access points should use a multicast strategy to minimize might be to increase the transmission power of each access point the queuing delay component. Furthermore, we demonstrate the and, according to Shannon capacity theory, this would allow feasibility of employing nodes, which already have their own local for an increase in the transmission rate and thereby decrease copies of location-relevant data, to relay such data to other nodes by employing one or multiple communication channels. Lastly, the transmission time needed for delivering the same amount of we examine the resulting algorithms and study their performance content. However, in reality, an AP’s transmission power cannot relative to baseline content delivery schemes through simulations. be arbitrarily increased as a large transmission power may cause interference, and thus practical systems must have a limitation on Index Terms— Location-dependent and sensitive, pervasive the power that may be used. computing, wireless sensor networks. In this paper, we seek to deliver content to as many users as possible while maintaining minimal queuing burdens within the network. We consider several different factors that can be I. I NTRODUCTION exploited in concert. First, we note that many users will want to Location information associated with mobile users can support access the same content, thereby allowing for broadcast dissem- a broad range of new location-oriented services where users’ ination techniques to be employed (as opposed to point-to-point computing experiences will be enhanced according to where delivery). Further, by using the statistical properties of mobile they are located. To give an example, consider an art gallery users and their behavior, serving nodes can adapt a strategy where a user approaches a painting and, as the user approaches, to serve users while minimizing the queuing delays within the media content describing the painting is cached at a nearby network. Lastly, we can allow mobile nodes to store location- wireless transmitter and delivered to a hand-held device the user based multimedia data. In storing, a user’s node collects data for is carrying. its particular location and, even after that data has been used In spite of improvements in localization technologies over the by that user, when new users enter that location zone, they may past decade [1]–[5], there are numerous other hurdles that are receive this content directly from that user without having to preventing the vision of a pervasive wireless environment with burden remote servers or access points. Our strategy of storing- on-demand content. One notable challenge facing mobile and and-forwarding exploits the assignment of channels across user pervasive computing applications is the ability to provide desired nodes and access points in order to avoid interference while content in a real-time manner to a user as he or she moves promoting parallelism. about the environment. Even with accurate location information, This paper explores these techniques and integrates them pushing data to the user for delay-sensitive applications requires together to provide a collection of delay-sensitive, location- an approach that considers both the user’s movement patterns and oriented content-delivery strategies. The paper is organized as the resources available to the wireless infrastructure (e.g. access follows. First, we will briefly examine related work in Section II. points and other mobile users) in order to deliver content with Then, in Section III, we introduce the problem of location-based minimal delay. Further complicating matters is the fact that there services, describe our system model, and examine the associated will be many users moving and requesting services involving large assumptions we have made. Next, after a brief introduction of our media files. Ensuring a fair distribution of content to all users will delivery methods in Section IV, we study the movement behaviors consequently introduce considerable queuing burden on remote of a mobile node and provide a semi-Markov process model that network resources if not carefully managed. If there are many is suitable for describing user movement patterns in Section V. In requests and the system chooses First Come First Served (FCFS), Section VI, we analyze the different components that introduce late-coming requests must wait for the network to finish serving delay in a location-based service, and use this analysis to arrive those requests that queued before them to get their turn to be at a service strategy. We then discuss strategies for performing served. content storing, and use this to arrive at an improved contentDigital Object Indentifier 10.1109/TMC.2010.64 1536-1233/10/$26.00 © 2010 IEEE
  2. 2. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication.IEEE TRANSACTIONS ON MOBILE COMPUTING 2 delivery mechanism in Section VII. We evaluate our schemes in Section VIII, and conclude the paper in Section IX. §¦ ¥¤£ ¢¡  II. R ELATED W ORK AND O UR C ONTRIBUTIONS The development of location-oriented applications has involved © ¨ © ¨ © ¨ § § a large body of literature that has focused on wireless localization, e.g. [6]–[9]. Most of these papers involved using properties associated with wireless communications, such as received signal strength, to assist in localization. Complementing this work has been a more recent body of literature devoted to assuring that localization results are trustworthy [1]–[5]. Once location information is trustworthy, many types of location-oriented services can be built. A notable example is Fig. 1. System Architecture: a collection of access points (APs) provide security services that are built upon location information, such service to mobile users according to their locations. Each AP may cover more than one region. as providing access to data based on a user’s location at a particular time [10] [11], or key distribution mechanisms that involve location as a parameter [12] [13]. Further, there are a III. S YSTEM OVERVIEW collection of general location-oriented applications [14]–[16] that do not involve relationships to security. We begin by describing our underlying system model and some One challenge that remains in these location-based data ser- assumptions that we will use throughout this paper. vices is addressing important QoS (Quality of Service) issues, such as delay. Supporting delay-sensitive multimedia services that involve location as a driving factor is thus a desirable A. System Model objective. This objective, however, is made difficult by the limited bandwidth and resources associated with wireless systems. A basic scenario for location-oriented services is depicted in An area of related research is multicast and broadcast com- Fig.1. Here, we have four primary components: mobile users munications. Although there is an extensive body of literature (depicted as PDA’s moving around an area), access points (de- associated with group dissemination methods [17], [18], our pro- picted as towers transmitting content to users), a server (depicted posed work seeks to explicitly focus on location-oriented services as a data server that contains location-oriented data and decides that can have a QoS benefit by using broadcast/multicasting upon the best strategy for providing services/content to users), and techniques. The paper [19] is related to our effort in that they a backbone infrastructure (such as the Internet, which connects propose a multicast strategy to maximize throughput. However, the access points and server). A location-oriented application the authors’ main objective is to design a policy that decides involves nodes (the mobile users) requesting a service or content when a sender should transmit in order to maximize the system based on where they are located. Therefore, the administration throughput subject to maintaining system stability. In our work, of a location-oriented service requires the ability to perform we focus on using location information to optimally deliver localization and track nodes as they move. Location-oriented location-oriented content in order to minimize delay associated services require defining spatial regions where a user should with a user’s application. be located to request access to location-oriented content. These Additionally, some recent work increases scalability and thus regions should be defined to have at least a minimal amount of improves QoS by using relay nodes [20] [16] to forward data. area in order to cope with inaccuracies in wireless localization. In [21], nodes forward data to each other when they are close to Our system architecture is compatible with currently available each other, and thereby can increase the overall data rate in the wireless networks, such as 802.11 Wi-Fi or cellular networks. In network. In another related work, [22] uses information of a user’s fact, we envision that our location-based service could ideally location to predict the information that a user will need in the work with a multi-AP Wi-Fi system. Here, when a user requests future and to transfer this information to his mobile device when a location-oriented service, the request would be forwarded to the it is close to an infostation, thereby increasing QoS performance. appropriate server by the AP over an IP-backbone. In terms of We extend this idea in this paper and propose a method, known cohabitation, should a user requests other services (e.g. HTTP), as the DeputyForward method, whereby a detailed movement the requests would be appropriately forwarded by following the pattern for user nodes is analyzed to decide whether or not to corresponding network protocol (e.g. identifiers in the packet use another node as a relay for supporting services. One notable header). We note that, when the location-oriented service traffic impact of our work, which differs from the results in [23] that load is heavy, the proper use of our methods reduces the overall concluded that capacity of the network can be increased at the load on APs and consequently would allow more (other) services expense of the delay, is that the capacity (i.e. allowable data rates) to coexist. in fact can be improved without sacrificing delay if we exploit When the amount of data traffic is light, a traditional transmis- location information! sion scheme that mediates communication (such as CSMA/CA) We note some differences between the assumptions for DTNs should be used. On the other hand, when the data traffic becomes [24]–[26] and our assumptions in this paper. Specifically, DTNs heavy, our proposed strategies will make better use of the network are less concerned about optimizing issues of delay (since they are capacity and ultimately improve performance. delay-tolerant), whereas we have explicitly focused our analysis For quick reference, we list the important notations that we on minimizing delay and maximizing throughput. will use in this paper in Table.I.
  3. 3. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication.IEEE TRANSACTIONS ON MOBILE COMPUTING 3 Expression Meaning completion of the entire file transfer. This is useful for users who Li ith location pij transition probability from Li to Lj view a certain portion of the file but decide to stop receiving and τi length of time that a node stays at Li move to another location that has more desirable content. The τi mean of τi transmission is also performed in a sequential way, in which, an ai multiplicative inverse of τ i AP needs to finish the data delivery of one node, before it is able twi length of time that a node waits for service at Li to do it for another node. This could avoid unnecessary overhead tpi tpi = τi − twi tsi length of service time of a node at Li from an AP of switching between different tasks. This may not be necessary tsi length of a complete service time from an AP at Li when there is a little amount of traffic. M the total number of locations Wireless authentication and localization have been extensively LM the set of indexes of all the locations studied and we thus assume the system can localize and track K the number of locations the AP in discussion covers nodes correctly within the environment. Consequently, we assume LK the set of indexes of locations the AP in discussion covers ni the number of nodes requesting service at Li that the location information used by our system is accurate n0i the number of nodes at Li and trustworthy. Further, we assume that mobile nodes have tdfi length of a complete service time from a DF node at Li restricted memory resources and consequently, when a node LWi the waiting list of Li requests content based on its location, it must request this data LDFi the DF list of Li (as opposed to the rare chance that it might have recorded/stored C the number of channels available INDEX(L) retrieves the value of INDEX in L this content during a previous visit to that location). Finally, in qop the percentage of data been delivered by all nodes our system, we assume that there are a limited number of access rop the percentage of data been delivered by one node points available for servicing users. // leads a comment in our algorithms TABLE I IV. AP- CENTRIC AND D EPUTY F ORWARD M ETHODS N OTATIONS USED IN THE PAPER We will discuss two methods for transmitting location-based data. In the first method, which we call the AP-centric method, only APs provide services to the users. In the second method, the DeputyForward method, mobile nodes store location-based B. Assumptions multimedia data and then later forward these data to other nodes In any communication system, there are two types of infor- that enter a specified region. These nodes thus work as the deputy mation: content/data and control. In the context of our system, of an AP for content delivery. For the sake of notation, we will call content/data corresponds to multimedia data that is being dis- non-AP nodes that can offer services as DF (DeputyForward) tributed based on the location of a user. Location-based data nodes for the remainder of this paper. are related to a particular location and are the same for all The key difference between these two methods is how location- the nodes within the access region for that content [10]. We based data are delivered. In the AP-centric method, only ac- note that, for simplicity of discussion in the remainder of the cess points transmit location-relevant data. However, in the paper, we will not consider temporal aspects related to content DeputyForward method, other nodes may assist APs in trans- distribution. Rather, we only focus on the spatial aspect of content mitting data. If a node has already received a location-relevant delivery, and the more general case of content access based on file and is still in the corresponding location, then that node can spatial-temporal regions can be handled through straight-forward become a DF node and the responsibility for disseminating that modifications of the methods presented in this paper. Here we data could be assigned to that node. Further, when there are no assume every new node entering a region will request location- nodes present that have received a particular data stream, the based data for this region immediately, and once the request has DeputyForward method operates in the same manner as the AP- been fulfilled, it will not request it as long as it possesses the centric method. For both methods, information that is unrelated same data. However, due to nodes entering a region at different to location, such as control information, is managed by the APs. times, the system would need to deliver certain location-based The decision of whether to use a DF node, or which node is content multiple times in order to assure that everyone can get used, is made by the AP in charge of a particular location region. this spatially-sensitive information. It is precisely this need for After the AP makes this decision, it will send a control message content duplication that we exploit to offer better service. On the to the corresponding DF node to assign the job. other hand, we also note that information that is not related to We illustrate these two methods in Fig.2. All the location- the service, such as control information, typically requires far less oriented data and data delivery assignments originate from the bandwidth to deliver than multimedia data and, therefore, we shall server. At time t, the layout of the network is shown in Fig.2(a), focus our discussions on content/data dissemination rather than and two regions corresponding to locations where location- control message dissemination. relevant content may be accessed are represented by shaded Further, we make an additional assumption about the content boxes. Node a and node b are in the upper region and node being delivered. Although many types of multimedia data can be c and node d are in the lower region. Suppose at a later time, broken down into segments that may be delivered independently t + δt, node b moves to the lower region and node c moves to (and possibly out of order with respect to each other), we assume the upper region. For the APs shown in Fig.2(b), nodes always that all content is treated as a single stream file that must be choose the AP assigned to the corresponding region, and thus delivered sequentially. In particular, this implies that a receiving node c will get the location-based data from AP1 while node node must correctly receive the beginning portion of a content b gets the new location-based data from AP2 . In contrast, for file before being able to receive latter portions of the content. the DeputyForward method, in Fig.2(c), since node a is still in Also, the data stream can be consumed by the receiver before the the upper region, it will forward its stored data to node c, while
  4. 4. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication.IEEE TRANSACTIONS ON MOBILE COMPUTING 4 25 10 Maximum Transmission Rate(Mb/s) AP centric DF Transmission Power(dBm) 20 0 −10 15 −20 10 −30 ¢¡£¢¡  5 −40 AP centric DF 0 −50 (a) 5 10 15 20 25 30 Distance Ratio of AP and DF node to the node 5 10 15 20 25 30 Distance Ratio of AP and DF node to the node (a) (b) Fig. 3. AP vs. DF node transmissions(Suppose the noise and interference levels are statistically steady), (a) Maximum transmission rate comparison d with the increase of distance ratio d 1c , given the transmission power is ac the same, (b) Required transmission power comparison with the increase of d1c distance ratio d , given the capacity is the same and the transmission power ac ¦¥§¦¥¤ ©©¨ of the AP is 10 dBM. (b) (c) In this analysis, we assume that transmitters that are within each other’s interference ranges will use different channels to Fig. 2. AP-Centric and DeputyForward methods, (a) Layout at time t, (b) AP-Centric method at time t + δt, and (c) DeputyForward method at time transmit, so that even if they use different transmission powers, t + δt. they will not interfere with each other. Further, we assume the noise level is statistically steady. With γ = 3.71, Fig.3(a) shows node d transfers a copy of its location-relevant data to node b. the maximum transmission rate comparison between these two The algorithm will be discussed in detail in Section VII. The methods as we increase the ratio of distance between the AP DeputyForward method has some advantages over AP-centric and the node to the distance between a DF node and that method. Notably, if both the access point and DF nodes use the node from 5 to 30, by keeping the transmission power the same. same transmission power then, (suppose the noise and interference We can see that the capacity improvement over the AP-centric levels are statistically steady) by Shannon’s capacity theorem method increases from roughly a ratio of 3 to over 6. Suppose [27], the DF node can employ a much larger transmission rate we need to transmit the same amount of data to each node in as there will very likely be a DF node that is closer to the both methods, then for a dense environment, the DeputyForward requesting node than the AP. Or, on the other hand, given a method can service more nodes. On the other hand, if DF nodes certain transmission rate, the required transmission power for a have power constraints, by keeping the capacity the same, we DF node will be much smaller than that of an access point. can also decrease their transmission power. Fig.3(b) shows the In Fig.2(c), at time t + δt, AP1 represents an access point, node required transmission power comparison under this circumstance, c represents a service-requesting node, and node a represents a and the required transmission power decreases from 10 dBm to DF node. Since node c and node a are within the same region, below −40 dBm. With this strategy, the interference between generally node c will be farther from AP1 than from another nodes also greatly decreases. In other words, more nodes can node in the region (since each AP may serve multiple regions). transmit data simultaneously and the system throughput increases A realistic assumption is implicitly made that it is cost-prohibitive too. Throughout the rest of the paper, we shall focus on the first to deploy a large amount of access points and, thus generally, the advantage (i.e. the rate improvement of Fig.3(a)), and note that Euclidean distances satisfy dac d1c . comparable results can be inferred for power reduction. Using a fast fading model for a communication channel [28], On the other hand, because DeputyForward nodes take over the channel capacity is given as data dissemination tasks, the battery life of these mobile nodes would be affected– resulting in more rapid depletion of their C = E[log(1 + |h|2 SN R)], (1) batteries. Although this might seem to be a detriment, we note that there are many operational scenarios where the severity of such where C represents the channel capacity, or the maximum trans- a penalty is either compensated for, or negligible. In particular, mission rate, h represents the fading gain, and |h|2 SN R is the the basic idea behind the DeputyForward is that user nodes signal-to-noise ratio at the receiver. In this paper, we adopt the should assist by retransmitting data in order to benefit the greater combined path loss and shadowing model [29], where the received good. In fact, there is a growing body of literature exploring power in dB is given by micro-economical models whereby nodes help other nodes by Pr (dBm) = Pt (dBm) + C (dB) − 10γlog10 (d/d0 ) + ϕdB , relaying or delivering content as a means to achieve better system performance [30], [31]. A notable result of such work is that it is where Pt is the transmission power, and d is the distance between possible to create economic incentives for mobile nodes to assist the transmitter and the receiver. ϕdB is a Gaussian distributed in the relaying of data to other nodes. 2 random variable with zero mean and variance σϕdB . γ is the path Further, there are scenarios where energy consumption is not loss exponent, which differs for different environments. C and d0 a concern for the mobile devices. For example, power usage are site-specific, constant coefficients. is not the concern of the users when the handheld device is Since we want to characterize an average performance we rented or assigned at the entry point to the museum and can be do not need to consider the zero-mean fading effect term ϕdB . exchanged/turned-in anywhere in a theme park or museum. Since Further, we suppose the background noise is fixed and the these devices do not belong to users and are replaceable, users capacity is thus only related to the received power Pr . will not care about the power usage, and such cases the benefits
  5. 5. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication.IEEE TRANSACTIONS ON MOBILE COMPUTING 5 of using the DeputyForward do not need to be balanced against the additional energy consumption of mobile nodes. For some scenarios, battery consumption may still be a con-   cern, in which case we recommend three protective measures to mitigate this concern. The first approach is to balance the battery usage associated with delegation tasks among all the (a) (b) mobile nodes. This avoids the case where we exhaust a particular node’s battery significantly faster than any other node. The second ¤ approach is to set an upper limit for the overall duration of ¡ ¢ delegation sessions for each mobile node, and then have the £ system only delegate a “transmitting task” to a node that has (c) (d) transmitted less than this upper limit. The third approach is to have the node send a low battery warning to the system when that node’s battery level is below a preset threshold. In this case, § the system would stop delegating tasks to this node. We will ¥ ¦ discuss our design of the DeputyForward approach in Sec.VII in more details. (e) V. S YSTEM A NALYSIS Fig. 4. Holding time τi in Location Li . (a) Node leaves before getting data, We now formally analyze these two strategies. We consider a (b) Node leaves when getting part of data, (c) Node leaves when getting all typical location-oriented service where customers/users will go data, (d) Node leaves when forwarding part of data, and (e) Node forwarding all data. to specific locations to access specific content. One may consider a museum, where visitors explore exhibits at different locations forwards all data in Fig.4(e). The last two are only relevant to and are provided media content that is relevant to that exhibit. the DeputyForward method. The cases where the node serves For such a scenario, when the number of visitors is large, their more than one service-requesting node are similar to Fig.4(d) and movement patterns can achieve a steady-state where there will (e). be a probability that a nearby user will have the relevant content From these five cases, the holding time τi is summarized as to share. The process of a node moving around can be modeled consisting of two parts, twi and tpi . Here, twi is the waiting as a semi-Markov process [32] whose successive location(state) time, which is the total time from when the node enters location occupancy is governed by the transition probabilities of a Markov Li until it begins to get the location-based data delivery or leaves process, but the holding time in any location (state) is described location Li (whichever is earlier). On the other hand, tpi is the by a continuous positive-valued random variable that depends on data possession time, which is the time since the first bit of data the state presently occupied and optionally on the state to which related to this location is possessed by this node till the node the next transition will be made. leaves this location. The possessing time, as such, at least partly When a node moves from one location to another, the process consists of the data transmission time tsi , as shown in Fig.4. is governed by an embedded Markov chain [33]. Let pij be the Note that tsi could be smaller than or equal to the time needed probability that the state of an embedded Markov chain, which to deliver the entire stream file. The first case is a special case entered location Li on the last transition, will enter location Lj where tpi = 0. The second case is another special case where on the next transition. We only consider real transitions, in which tsi = tpi . Taken together, we have τi = twi + tpi . a transition happens when a node moves from one location to When a node (say node c) enters location Li , if the service- another. In other words, pii = 0, and that there is an inherent delivering node is busy, node c needs to wait a period of time relationship M pij = 1. j=1 twi for its turn to get served. Since the location-based data is j=i When the number of visitors is large, it is reasonable to further delay sensitive, twi should be as small as possible. Immediately assume the holding time [32] in any location is independent of after node c begins to receive data, it can process that data. If other locations. As the occurrences of a user’s transitions happen tpi tsi , as in Fig.4(c)(d)(e), within the time tpi − tsi , if another between nonoverlapping intervals that are independent, we can node moves to location Li , node c can behave as a DF node describe the holding time τi of a mobile user at location Li as to deliver the stored location-based data to that node. Fig.4(c) is exponentially distributed hi (τ ) = ai e−ai τ , τ ≥ 0, where the mean the case where, although tpi tsi , this node does not stay long 1 enough to have an opportunity to deliver data to another node. The of the holding time at Li is τ i = ai [34]. Since the infrastructure can track nodes moving, the system can measure the time average DeputyForward method is able to perform well if the holding of holding time τ i and the transition probabilities pij . These time for most nodes follows the scenario depicted in Fig.4(e). parameters can be used to optimize the transmission strategy, Beyond reducing the waiting time, it is desirable that one single which we will discuss in Section VI and Section VII. entire delivery time should be much shorter than the holding There are five different cases regarding the relationship between time(the system shouldn’t plan to deliver too much location-based the holding time τi and the data delivery time, as shown in Fig.4: a data). We will show, in Section VIII, that having the transmission node may leave before it gets any location-based data in Fig.4(a); time short compared to the holding time is desirable. a node leaves when it gets part of the location-based data in For each location, the amount of location-based data is fixed. Fig.4(b); a node leaves when it gets all location-based data, but Thus, the AP’s complete service time is assumed roughly a does not forward any data in Fig.4(c); a node leaves when it constant and we use tsi to represent the complete service time for forwards part of data in Fig.4(d); and a node leaves when it the location Li . Obviously, tsi ≤ tsi . Suppose the total amount
  6. 6. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication.IEEE TRANSACTIONS ON MOBILE COMPUTING 6 of location-based data at location Li is Si , then the amount of locations might have more nodes that collectively have a larger t data that node c gets at location Li is qi = tsi Si . total waiting time. Thus, from the system’s point of view, it si From the QoS point of view, a good transmission strategy is better to choose a location with the maximum amount of should minimize twi and maximize qi . These two criteria requesting nodes to serve, i.e. the max-nodes multicast method are roughly equivalent, since if the waiting time is small, then may perform better. a node will likely get more data for a fixed holding time than if the waiting time is large. Although these two criteria have B. Improved Multicast in the AP-centric Method different preferences and the resulting performance may differ slightly, their formulations and analysis are very similar. Thus, In order to improve multicast performance, we employ a greedy we will focus our evaluation only on minimizing twi . algorithm where the AP always selects the location region which, in the short term, will give the best benefit. This selection is done by each AP independent of other APs’ choices, so that the VI. AP- CENTRIC M ETHOD decision can be made more efficiently. Here, for discussion, we In the AP-centric method, data is transmitted by the APs, and will focus on a single AP, and will assume the AP covers K thus the performance depends on how the APs transmit data. To locations, collectively represented in the set LK , where LK ⊆ LM start, we evaluate some baseline methods and use this to deduce with LM is the entire system service area. an optimal strategy that minimizes twi . The choice of which location to serve is made at each time t, when the AP just finishes the previous task and becomes available A. Basic Strategies for a new task (data delivery). Let Xp (t) be the random variable An AP can serve nodes using either unicast or multicast. If that represents the number of nodes requesting service, and Yp (t) the AP uses unicast, then FCFS manner is a good strategy for be the random variable that represents the number of nodes, at guaranteeing fairness. In the case of multicast, if only one node moment t and location Lp . Suppose Xp (t) = np and Yp (t) = n0p , is requesting service, the AP can serve this node immediately, just where np and n0p are known by the AP, with np ≤ n0p . as in unicast. However, when the AP finishes a communication If the optimum choice is location Li , the overall delay during task and is ready to start the next exchange, there may be the transmission time, resulting from choosing location Li , should multiple nodes requesting service from different locations. The be minimum, among all the choices. We note that the nodes AP needs to choose a subset of nodes to serve, and can either requesting the service in location Li may leave location Li before serve nodes/locations in a FCFS manner, or choose to serve the they receive the entire data stream, as shown in Fig.4(b). As a location with the maximum amount of nodes. result, the AP will abort the delivery procedure in the midway. But Based on this discussion, we present three basic strategies for here, we assume at least one of these nodes will stay in location AP-centric method to deliver location-based data: FCFS Unicast, Li till the AP finishes delivering the whole file, and thus the FCFS Multicast and Max-Nodes Multicast. transmission time is tsi , as in Fig.4(c). This is justified as we are 1) FCFS Unicast. In this strategy, each AP behaves as a considering a system where the average holding time of nodes at a single server with unlimited queue capacity. If only one location is much longer than the AP-delivery time, i.e. τ i tsi . node requires location-based data, i.e. the queue length is During the transmission time [t, t+ tsi ], the overall delay of nodes 1, the mobile node can be immediately served. However, if in the locations LK includes following components: multiple nodes require the service, i.e. the queue length is 1) Component I (nj nodes that are requesting service at bigger than 1, nodes must wait for their turn to get service. location Lj , j = i and j ∈ LK ): 2) FCFS Multicast. An AP always serves the node with the Since the AP chooses to serve nodes at location Li , then longest waiting time. When the AP transmits location-based for service-requesting nodes at the other K − 1 locations in data to the node with the longest waiting time, if there are LK , they can behave in two ways. other nodes in the same location, requesting the service, the The first is that the nodes stay in their previous locations AP will multicast the data to these nodes. even after time t + tsi or move to other locations in LK 3) Max-Nodes Multicast. An AP always chooses the max- during [t, t+tsi ], then the waiting time for these nodes is tsi . imum number of nodes possible to multicast to. To do No matter whether there is movement, as long as the nodes this, an AP tracks the number of nodes in each location are still within the AP’s coverage area, they will request requesting service, and chooses the location with the most location-based data at their destination locations from this nodes and sends the corresponding location-based data to AP. Since the channel is engaged during [t, t + tsi ], those these nodes. If there are two or more locations with the nodes are still waiting for service. same number of nodes (which is maximum), the system The second way is that the nodes move to locations outside chooses the location with a node with the longest waiting LK at time t + τ ∈ [t, t + tsi ], where τ is a random variable. time to serve. After they move out of this AP’s coverage, it is no longer FCFS multicast is certainly a better strategy than FCFS unicast this AP’s responsibility to manage their service. However, because the AP serves both the node with longest waiting time we still need to consider the part of the delay τ before they and any other node waiting in the same location. Therefore, the move out of this AP’s coverage. overall average waiting time will decrease. The probability that the node stays in location Lj during ∞ Although FCFS multicast considers fairness, it may not be the the transmission time is ts aj e−aj τ dτ , and the probability i best strategy when we consider the whole system’s performance. that a node moves to other locations in LK during the trans- t By choosing to serve a location that has the node with the mission time is approximately 0 si aj e−aj τ dτ l∈LK pjl . l=j longest waiting time, FCFS multicast does not consider that other Here, we only consider the case that a node makes only
  7. 7. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication.IEEE TRANSACTIONS ON MOBILE COMPUTING 7 Require: Topology update, LWi ,ai ,tsi ,i ∈ LK Ensure: Improved Serving Strategy 1: while Channel is free and Not all LWi are empty do 2: ni =Len(LWi ), i ∈ LK 3: // Choose the optimum location j∈LK 1 1 −aj tsi Fig. 5. An example of waiting list LWi . 4: op = arg mini∈LK j=i [( aj − aj e )nj ] 5: AP transmits all the data or until all previous requesting one transition of locations during [t, t + tsi ], because as we nodes leave the location, whichever is earlier 6: Update LWop as in Alg.2 mentioned, we assume the average holding time is much 7: end while greater than the transmission time, and the probability of 8: Update LWi as in Alg.2 whenever topology changes multiple transitions is negligible. Thus, the waiting time is Algorithm 1: Improved AP-centric Multicast j∈LK ∞ tsi [( aj e−aj τ dτ · tsi + aj e−aj τ dτ · (2) tsi 0 j=i Require: topology update and waiting lists l∈LK tsi l∈LK / Ensure: Update of lists pjl · tsi + τ aj e−aj τ dτ pjl )nj ]. 1: if Topology update{suppose Node c move from Li to Lj } l=j 0 l=j then 2: if node c is in LWi then 2) Component II (Other nodes entering a location in LK 3: // Update waiting list of previous location during [t, t + tsi ]): 4: Remove node c from LWi , Len(LWi )=Len(LWi )-1 If a node(either previously within this AP’s coverage or not) 5: if node c is in transmission then enters a location in LK , it has to wait at least till the end of 6: Len In Deli(LWi )=Len In Deli(LWi )-1 7: end if current delivery to Li before being considered by this AP. 8: end if Since we want to find a strategy that introduces the least delay, 9: // Update waiting list of the new location we need only consider the delay related to the serving location 10: Append node c to the end of LWj , Len(LWj )=Len(LWj )+1 Li . Thus, we needn’t consider Component II because whatever 11: else decisions this AP makes, this part of delay cannot be avoided. 12: if a transmission is finished then 13: // Update waiting list of served location Now we can take a close look at Component I. These nj nodes 14: Remove first Len In Deli(LWop ) nodes in LWop at location Lj may move to other locations at time t + τ ∈ [t, t + 15: Len(LWop )=Len(LWop )-Len In Deli(LWop ) tsi ] and introduce delay during [t + τ, t + tsi ] and this part of 16: Len In Deli(LWop )=0 the delay is not due to the fact that the AP chooses location Li . 17: end if However, these nodes have to wait during [t, t + τ ], due to the 18: if a transmission begins then system’s choice of location Li . On the other hand, if these nj 19: // Update waiting list of served location nodes remain in location Li after t + tsi , they have to wait tsi . 20: Len In Deli(LWop )=Len(LWop ) 21: end if Obviously, this part of the delay is directly related to the system’s 22: end if choice of location Li . As such, the mathematical expression of Algorithm 2: Update of Lists in AP-centric the part of delay that is due to the choice of location Li is j∈LK ∞ tsi Di = [( aj e−aj τ dτ · tsi + τ aj e−aj τ dτ )nj ] (3) value of Len In Deli should be 0. Note that the AP will always tsi 0 j=i serve the first one or more nodes in the list because newcomers The greedy strategy is to choose a location that will introduce shall be always appended to the end of the list. the minimum delay at each instant. Let the index of location of The detailed improved AP-centric multicast is shown in Alg.1. the optimum strategy be op and simplify Eqn(3), we get As long as the channel is free and there is a request, the AP will select a location to serve according to Eqn(4). This AP will finish the transmission if at least one of these requesting nodes op = arg min Di (4) i∈LK at the optimum location does not leave this location before the j∈LK completion of the delivery. Otherwise, the AP will abort this 1 1 −aj tsi = arg min [( − e )nj ] transmission when the last one leaves. i∈LK aj aj j=i The update algorithm for the waiting lists is provided in Alg.2. The AP keeps a list that tracks the requesting nodes for each There are three occasions for updating. The first occasion is when location it covers, which we call the waiting list of that location. there is a topology change. The AP should append this node into An example of the waiting list LWi is shown in Fig.5. The list its new location’s waiting list. If this node was in the waiting can be implemented as a doubly linked list with a sentinel [35] list of its previous location, then it should be removed from this because it is easy to append a node at the end of the list. Unlike list and the values of its sentinel should be updated as well. The traditional dummy sentinels, in LWi , a sentinel stores the current second occasion is when a transmission finishes, then the nodes size of the list LWi (denoted as Len). It also stores the number of that get the data should be removed from the waiting list. The nodes being served by the multicast, (denoted as Len In Deli, third case is when a transmission begins. The number of nodes in in other words, the number of nodes in delivery) if this location is transmission, Len In Deli, should be set as the length of this being served by the AP. If this location currently is not served, the list Len.
  8. 8. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication.IEEE TRANSACTIONS ON MOBILE COMPUTING 8 £¢¡  ©¥¨£§¦¥¤ ¡¦¡ ¡¦¡ ¡¦¡ VII. D EPUTY F ORWARD M ETHOD ¡¥¥¥¦ ! # £¢¡  %$ # % % % £¢¡  We discuss two strategies for the DeputyForward method: % % % # % $ £¢¡  % # % % % single channel and multiple channel DeputyForward. £¢¡  £¢¡  % %$ # % # # # # % % £¢¡  % % % # % A. Single Channel DeputyForward method (a) In this method, under the coverage area of each AP, all the DF S5R DCFIHGF5E 6543 QP57 5DCBA @5987 nodes use the same wireless channel that the AP uses, and thus, cba`YX WVU T ( only one node can transmit at a time. When the last transmission 1 0) 02 1 finishes and there are nodes requesting service, the system decides whether an AP or a DF node will transmit the next data. (b) Suppose tdfi is the transmission time needed for a DF qpih †…p„ ‚ƒ ‚p€ p€ ˆ‡pr pyxwv uptsr node at location Li to transmit the entire location-based stream –•”“ ’‘ data file. Because of the memoryless property of exponential ‰ g ed eg f distribution and tdfi tsi τi , the probability that this DF node completes one complete transmission is P r(t tdfi ) = (c) tdfi − e−tdfi ai = e → 1. τi Fig. 6. DF list LDFi and Waiting list LWi , (a) Node information Referring to Eqn(4), let f (t) = aj − aj e−aj tsi , then f (t) = 1 1 represented in table, (b) LDFi , (c) LWi . −aj t 1:for i ∈ LK do e 0. Thus f (t) is a monotonically increasing function. Because 0 tdfi tsi , we get f (tdfi ) f (tsi ). Consequently, 2: nj =Len(LWi ) 1 −aj tdfi 3: if Len In Deli(LDFi ) 0 then j∈LK 1 j=i [( aj − aj e )nj ] j∈LK [( aj − aj e−aj tsi )nj ]. In j=i 1 1 4: toi = tdfi other words, the DF node will always introduce less delay than 5: else the AP. 6: toi = tsi Here, we use the same notation and criterion for minimizing 7: end if j∈LK 1 1 −aj toi the total delay as in last section. Our objective is to minimize the 8: Di = arg mini∈LK j=i [( aj − aj e )nj ] overall delay by choosing to use either a DF node or AP. At each 9:end for moment t, when the channel is free and nodes request location- 10:// Choose the optimum location based data, the system will find whether DF nodes exist in each 11:op = arg mini∈LK Di location. If, at location Li , there is a DF node, then the DF Algorithm 3: op=chooseLocation(LDFi ,LWi ,ai ,tdfi ,tsi ,i ∈ node should be chosen to transmit the data. Thus, the minimum LK ) j∈LK 1 1 −aj toi delay in serving location Li is j=i [( aj − aj e )nj ], where toi = tsi if no DF node exists and toi = tdfi otherwise. Similar to the AP-centric case, the optimum strategy for index of Len) and whether one of them is transmitting location- selecting a location region to service at a particular instant is based data(the index of Deli flag). With this information, an AP can survey how many DF nodes are present and can update the lists, which we will discuss in Alg.5. j∈LK 1 1 −aj toi The number of nodes in the waiting list for location Li is ni . op = arg min [( − e )nj ]. (5) i∈LK aj aj Given DF lists and waiting lists in the K locations, as well as j=i the holding time distribution, we can choose the optimum serving The AP keeps 2K lists of node information, with 2 lists for location according to Eqn.5, as shown in Alg.3. each of the K locations it covers. For any location Li , the first list After the optimum location Li is chosen, if there are DF is a sorted one, with a nondescreasing index usage (with the unit nodes in location Li , the system can choose any of these DF minute), which describes how much time this node has delivered nodes to transmit the data. This is because of the memoryless location-based data to others since it came into the network. Since property of the node’s holding time, (i.e. the time that a DF all the nodes that got the entire data stream file of this location node will continue holding in location Li is independent how are put into this list, this is a list of nodes that can be used as much time it has stayed in this location). However, to balance the DF nodes and we will call it the DF list LDFi . For the battery usage, we introduce the index of usage for each node other nodes in location Li that have not received all the location- in the DF list. based data at this moment, they are waiting or in the process of Note that the usage field (see Fig.6) is proposed to make receiving the data. We put these nodes in the second list, which proper use of mobile nodes’ limited power resources. Because is an unsorted list, called the Waiting list LWi , as was done in LDFi (,i ∈ LK ) is a list sorted according to the ascending value the AP-centric method. of usage and the delegation task is always assigned to the first We will explain the lists through the example shown in Fig.6(a). node in the list, it is guaranteed that the node that has been There are four nodes at location Li . Among these four nodes, involved in the least amount of service is selected and assigned node 2 and node 4 have already received location-based data, and a task. The transmission load is therefore balanced among the thus we keep them in LDFi as shown in Fig.6(b). Because node mobile nodes. Second, we introduce M AXIMUM A LLOWED U S - 5 and node 6 have not received data, they are in LWi as shown AGE as the upper limit for the amount of tasks that are allowed to in Fig.6(c). In LDFi , the sentinel stores information, which be granted to a mobile node. The value of M AXIMUM A LLOWED indicates the number of DF nodes n0i − ni in location Li (the U SAGE is chosen according to the specific settings of a device and
  9. 9. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication.IEEE TRANSACTIONS ON MOBILE COMPUTING 9 Require: Topology update, LDFi ,LWi ,ai ,tdfi ,tsi ,i ∈ LK know it is transmitting data. This is because LDFi is a Ensure: DeputyForward Serving Strategy sorted list with a nondescreasing value of usage and the 1: while Channel is free and Not all LWi are empty do DF node with least usage should transmit data. Otherwise, 2: // Choose the optimum location we can just remove it from LDFi and append it to LWj . 3: op=chooseLocation(LDFi ,LWi ,ai ,tdfi ,tsi ) as in Alg.3 Meanwhile, we need to update the statistical information in 4: // Set qop ∈ [0, 1] as percentage of data been delivered 5: qop = 0 the sentinels of both lists. 6: // Assign delivery task to an available DF node or AP 2) A delivery of the entire stream data file is finished. 7: while Len(LDFop ) 0 and qop 1 and Usage(node df1 ) In this case, we will check whether a DF node or AP M AXIMUM A LLOWED U SAGE do offered the delivery. If it is a DF node, we should update 8: AP inquiries the battery level of the first DF node df1 the value if its usage and sort LDFi . Additionally, 9: if Battery Low Alarm is received then since Len In Deli nodes in LWi got location-based data 10: // Do not assign task to this low-battery node 11: Update LDFop as in Alg.5 already, we remove them from LWi and insert them into 12: else LDFi . During the insertion, we may change the order of 13: // Assign task to the first DF node df1 nodes to keep LDFi sorted. 14: The first DF node df1 in this list transmits the part of 3) A transmission begins. As a transmission begins, if LDFi data [qop , qop + rop ],{where rop ∈ [0, 1 − qop ] and the is not empty, then the first node in LDFi is in service, and resulting value of usage is less than M AXIMUM we should set the index of Deli flag in the sentinel as A LLOWED U SAGE } 1. Since all ni nodes in LWi will be multicasted location- 15: qop = qop + rop 16: if qop 1 then based data, we need to set the index of Len In Deli in 17: Update LDFop as in Alg.5 LWi as ni . 18: end if 4) Battery Low Alarm is received by AP. In our design, 19: end if we intend to keep LDFi sorted, so that the task could 20: end while be always assigned to the first DF node in LDFi . This 21: if qop 1 then is accomplished by adding the value of usage with the 22: // Assign task to AP Maximum Allowed Usage plus one. As a node can only 23: AP transmits the part of data [qop , 1] 24: end if be assigned a task with the value of its usage less than 25: Update LDFop and LWop as in Alg.5 Maximum Allowed Usage, this node is exempt from the 26: end while delegation. 27: Update LDFi or LWi as in Alg.5 whenever topology changes Algorithm 4: Single Channel DeputyForward B. Multiple Channel DeputyForward method In the multiple channel case, we assume that at most C an application. For example, if the battery life for transmitting is nodes can transmit simultaneously in C orthogonal channels at 300 minutes for a device in an application, M AXIMUM A LLOWED K locations within an AP’s coverage area. When one of the C U SAGE may be set 120 minutes. If usage is above 120 minutes channels is free and there exist nodes requesting the service, the of transmission usage, the node will be no longer considered for system will first find the set of locations at which nodes are having a task delegated to it. Third, before a data dissemination receiving location-based data. We use LC to record the set of task is assigned to a node, the system can inquire about the battery locations. Considering fairness, the system will choose a location level for a node. If a “battery low” alarm is reported by that node, among the location set LK − LC if LK ⊃ LC . In practice, since the system could assign the current task to another DF node or the number of available orthogonal channels should be fewer than just handle the task. In our implementation, when an alarm is the number of location zones an AP covers, we will not consider reported, the system updates the usage field for that node to a the case of LK ⊆ LC . The criterion thus is value greater than M AXIMUM A LLOWED U SAGE . j∈LK The details for the single channel DeputyForward algorithm i∈LK 1 1 −aj toi is shown in Alg.4. If a DF node leaves location Li before it op = arg min [( − e )nj ]. (6) i∈LC / aj aj j=i finishes the entire transmission, the system should check whether there is another DF node in this location. If the result is The description of the multiple channel DeputyForward algo- affirmative, that DF node should continue the current task from rithm and list update algorithm are similar to the single channel the point where the previous transmission pauses, otherwise, the case. Therefore, we will not discuss them further. AP should continue. This is like a relay process and the multiple relays are still counted as parts of one entire transmission. VIII. E VALUATION To keep the real-time service information of each location, an We now evaluate our algorithms and compare the performance AP should update its DF lists and waiting lists in three cases between the AP-centric and the DeputyForward method. More as in Alg.5. specifically, we intend to explore the delay and throughput of our 1) Topology update, e.g. node c moves from location Li proposed methods, with various settings, such as different number to location Lj . Node c may be in either LDFi or LWi . of nodes, ratio of holding time to transmission time, and ratio of If it is in LWi , then it can be removed from LWi and DF node transmission rate over an AP’s. append it to LWj . If it is in LDFi , then we need to decide Performance is evaluated in terms of three parameters: the whether it is transmitting data. If the index of Deli flag normalized waiting time, the normalized number of deliveries of LDFi is 1 and node c is the first node in LDFi , we and the percentage of data successfully received by the nodes.
  10. 10. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication.IEEE TRANSACTIONS ON MOBILE COMPUTING 10 Require: op, df1 , rop , qop , topology update, DF lists and waiting lists Ensure: Update of lists 1: if Topology update{suppose Node c move from Li to Lj } then 2: if Node c was in LDFi then 3: // Update DF list of the previous location 4: if i == op and Deli flag(LDFop )==1 and rop = 0 Fig. 7. Simulation Layout(a single AP services all 9 location regions). and c == df1 then 5: Usage(node c)=Usage(node c)+rop tdfi 6: if qop == 1 || Len(LDFop )== 1 then Suppose, for each location, the amount of location-based data 7: Deli flag(LDFop )=0 8: end if is regarded as 1 data “unit”. In order to understand service 9: end if performance, we will introduce a “service ratio” to indicate the 10: Remove node c from LDFi , service satisfaction at a location. Suppose in a location, there Len(LDFi )=Len(LDFi )-1 are p nodes entering this location during the simulation. If all of 11: else them receive the file successfully, the throughput of the delivery 12: // Update waiting list of the previous location service is p. However, as some nodes may not be served or only 13: Remove node c from LWi , Len(LWi )=Len(LWi )-1 14: if node c is receiving data then served partially, the overall data throughout will, in reality, be a 15: Len In Deli(LWi )=Len In Deli(LWi )-1 smaller value, which we denote as q . The service ratio(average 16: end if percentage of data the nodes get) is thus q/p. 17: end if 18: // Update waiting list of the new location A good transmission method would have smaller delay (nor- 19: Append node c to the end of LWj , Len(LWj )=Len(LWj )+1 malized waiting time) and higher throughput (average percentage 20: else of data). We intend to exploring which method has better perfor- 21: if a transmission is finished then mance and the underlying reasons. 22: // Update DF list and waiting list of served location 23: Usage(node df1 )=Usage(node df 1)+rop tdfi The simulation layout is shown in Fig.7. There is one AP and 24: Deli flag(LDFop )=0, reorder LDFop the operating environment is divided into 9 locations, which is 25: Remove first Len In Deli(LWop ) nodes in LWop served by this single AP. In other words, LK = LM and M = 9. 26: Insert them to LDFop and keep it orderly, |Sc | nodes are moving around in this closed environment. The Len(LDFop )=Len(LDFop )+Len In Deli(LWop ) rounded rectangle represents a location zone and is labeled as 27: Len(LWop )=Len(LWop )-Len In Deli(LWop ), Li , i = 1, . . . , 9. The arrow between location Li and location Lj Len In Deli(LWop )=0 28: end if illustrates that users may move between adjacent zones, and hence 29: else reflects a non-zero transition probability pij . As we mentioned, 30: if a transmission begins then there will typically only be a few APs serving an environment, 31: // Update DF list and waiting list of served location and that these APs might work independently. Hence, although 32: Deli flag(LDFop )=1 our simulations are for a single AP, the observations we make 33: Len In Deli(LWop )=Len(LDFop ) naturally scale to cover cases with more APs serving users. 34: end if 35: else We would like to choose reasonable values for the simulation 36: if Battery Low Alarm is received then parameters. When a user visits a location (say in a museum), we 37: // Update DF list of served location envision that it is normal for that user to hang around that location 38: Usage(node df1 )=Usage(node df 1)+M AXIMUM for a few minutes. Thus, we have chosen the average holding A LLOWED U SAGE +1 39: Sort LDFop time to be 200 seconds. For some of our simulations, we have 40: end if chosen the value of 20 seconds for the transmission time based on 41: end if an experiment we conducted where we downloaded a 3-minute Algorithm 5: Update of Lists in Single Channel video file over Verizon’s EVDO Rev A network (which claims DeputyForward a forward link speed up to about 3.1Mb/s) to a local Motorola Krave video phone, which had an average delivery time of 20 seconds. However, in the evaluation that follows, we will explore a variety of parameters and, in particular, note that the observed We now explain these metrics. Suppose the length of simulation trends will remain regardless of the choice of transmission time time is T and that a node spends a total of τ waiting time for the media file. to receive the location-based data. This waiting time τ is an accumulated waiting time across all the locations it stays during As we have mentioned, a DF node spends less time to deliver this simulation period T . If the mean waiting time of all nodes the location-based data. On average, it takes less than half of the is τ , the normalized waiting time is τ /T . time the AP does, as shown in Fig.3(a). Therefore, we chose 10 seconds as the delivery time from a DF node to another node. Suppose that the total number of location changes across all nodes is n, and that there is a total of N data delivery Our simulations are initiated by randomly distributing nodes in operations(either from an AP or a DF node), then the normalized the 9 locations in Fig.7. In each location, after an exponentially- n number of transmissions is N . We note if a location-based data distributed holding time, a node transitions to another location. delivery procedure is started by one node and finished by another, At the transition moment, the node chooses its next location then this is counted as one transmission. according to the following transition matrix