ebook img

DTIC ADA520325: An Energy-conscious Transport Protocol for Multi-hop Wireless Networks PDF

0.47 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview DTIC ADA520325: An Energy-conscious Transport Protocol for Multi-hop Wireless Networks

An Energy-conscious Transport Protocol for Multi-hop Wireless Networks Technical Report BUCS-2007-014(Revises BUCS-2006-025) ∗ N. Riga I. Matta A. Medina C. Partridge J. Redi ComputerScience BBNTechnologies BostonUniversity Cambridge,MA,USA {inki, matta}@cs.bu.edu {amedina, craig, redi}@bbn.com ABSTRACT gunto see effortsto reduce the energyconsumedinthe radio circuit, which draws most of the battery power. Wepresentatransportprotocolwhosegoalistoreducepower Low power [36], adjustable power [40], as well as consumption without compromising delivery requirements two-stage receiver radios [30] have been designed and of applications. To meet its goal of energy efficiency, our implemented in an effort to minimize the energy con- transportprotocol(1)containsmechanismstobalanceend- sumption while transmitting and receiving packets. In to-endvs.localretransmissions;(2)minimizesacknowledg- order to minimize the energy spent on “idle” listening menttrafficusingreceiverregulatedrate-basedflowcontrol ofthechannel,newMACprotocolshavebeenproposed combinedwith selected acknowledgementsandin-network that implement coordinatedwake-upschedules that al- cachingofpackets; and(3)aggressivelyseekstoavoidany lownodestobeturnedoffforlongperiodsoftime. Also congestion-basedpacket loss. Within a recently developed in an effort to minimize network control (e.g. routing) ultralow-powermulti-hopwireless networksystem, exten- traffic, controlled scoping of topology information [29] sive simulations and experimental results demonstrate that has been proposed. our transport protocol meets its goal of preserving the en- Asanexample,theJAVeLENsystem[11,26]achieves ergyefficiencyoftheunderlyingnetwork. dramatic results demonstratingnetworksthat consume 1. INTRODUCTION 100 times less energy for the same effective network Motivation: Multi-hop wireless networks are plagued goodput, compared to a typical 802.11 multi-hop wire- withuniquechallenges: contentionforthewirelessmedium, less network running the OLSR routing protocol. time-varying topology due to the variable quality of These type of highly energy-efficientsystems present links or mobility, and power constraints imposed by a challenge to network protocol designers. All high- battery lifetimes. The focus of this paper is the last layer protocols need to be examined and, if necessary, challenge: power constraints. We seek to minimize the redesigned to make sure they are conservative in their usageofenergysoastoextendthelifetimeofbothindi- transmissions. Aparsimoniousmedia-accessprotocolis vidualnodesandthenetworkasawhole,whilemeeting oflimitedbenefitifapplicationschoosetobechattyand the requirements of applications. consume power with low-value transmissions. Whileenergyefficiencyhasbeenrecognizedasachal- In this paper we examine the problem of designing lengeforsometime[37],untilrecently,verylittleprogress a transport protocol that is energy conserving and is has been made. Inthe pastcouple of yearswe havebe- suitable for deployment over energy-conscioussystems. Extensive studies (reviewed in Section 7) have demon- ∗This work was funded by the Defense Advanced Research strated the inadequacy of TCP to serve as a trans- Projects Agency (DARPA)undercontract NBCHC050053. port protocolin wireless environments. Later attempts to enhance or redesign TCP for wireless scenarios are Permission tomake digital orhardcopies ofall orpartofthis workfor mainly focusedon improvingperformance metrics such personalorclassroomuseisgrantedwithoutfeeprovidedthatcopiesare as goodput and delay, but not on minimizing energy notmadeordistributedforprofitorcommercialadvantageandthatcopies consumption. bearthisnoticeandthefullcitationonthefirstpage.Tocopyotherwise,to Designing an energy-conscious transport protocol is republish,topostonserversortoredistributetolists,requirespriorspecific permissionand/orafee. simultaneously simple and hard. The problem is sim- Anabbreviatedversionofthistechnicalreportappearsintheproceedings ple because,forpracticalpurposes,wecanusea simple ofCoNEXT’07,December10-13,2007,NewYork,NY,U.S.A. . 1 Report Documentation Page Form Approved OMB No. 0704-0188 Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number. 1. REPORT DATE 3. DATES COVERED 2007 2. REPORT TYPE 00-00-2007 to 00-00-2007 4. TITLE AND SUBTITLE 5a. CONTRACT NUMBER An Energy-conscious Transport Protocol for Multi-hop Wireless 5b. GRANT NUMBER Networks 5c. PROGRAM ELEMENT NUMBER 6. AUTHOR(S) 5d. PROJECT NUMBER 5e. TASK NUMBER 5f. WORK UNIT NUMBER 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION Boston University,Computer Science,Boston,MA,02215 REPORT NUMBER 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S) 11. SPONSOR/MONITOR’S REPORT NUMBER(S) 12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release; distribution unlimited 13. SUPPLEMENTARY NOTES 14. ABSTRACT see report 15. SUBJECT TERMS 16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF 18. NUMBER 19a. NAME OF ABSTRACT OF PAGES RESPONSIBLE PERSON a. REPORT b. ABSTRACT c. THIS PAGE Same as 14 unclassified unclassified unclassified Report (SAR) Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18 metrictominimize: thetotalnumberofnodetransmis- agate information—to avoid maintaining per-flow sions for eachpacket, or eachconversation.1 The prob- state and maintain the modularity of the system. lemishardbecauseverylittle isknownaboutminimiz- ingtransmissionsacrossmultiplenodes. Thereisplenty • JTP exploits any energy-gain opportunities pro- of research work on minimizing transmissions end-to- vided by the applications. Historically, transport end,especiallylimitingthenumberofacknowledgments protocols have offered a particular reliability/QoS sent,butalmostnothingonintermediatetransmissions. model and the application’s task was to pick the And the one key piece of work in the area, Ludwig’s transport protocol whose model most closely met work on the interaction of end-to-end and hop-by-hop the application’s needs (e.g. UDP, TCP, ITP [25], retransmissions [22], gives a depressing result: namely RTP [13]). JTP is designed to act as a “generic” in a world where one needs both end-to-end and hop- transportprotocoltailoredbytheapplicationbased by-hop retransmissions, it is very easy to have the two on its specific QoS semantics. JTP uses the tol- transmissionmechanismsinteracttocausemore,rather erance of the application to losses and limits the than less, total transmissions. Our transport protocol network’seffortintryingtodeliverapacket,based coordinatesend-to-endandhop-by-hopretransmissions on the packet’s individual importance as well as byallowingtheendsoftheconnectiontoexplicitlycon- current energy costs (Section 3). trol the amount of local retransmission effort, based on application’s reliability requirement. JTP’s objec- • In JTP, the receiver is fully responsible for con- tive of minimizing the number of total transmissions is trolling all transmission parameters; connection’s not only beneficial in energy-constrainednetworks,but sendingrate,retransmissionrequestsformissing/lost in any wireless network since limiting the overall num- packets, as well as the frequency of such controls. ber of link-layer transmissions effectively increases the To the best of our knowledge, JTP is the first network-wide capacity. transportprotocolthatsupportsvariabledestination- Our Contribution: Our transport protocol mediates controlled feedback trying to keep feedback as low between an application’s need to share information of as the stability and reliability of the network per- varying importance over the network,and the system’s mits (Section 5). goal of minimizing energy expenditure per successfully • JTP implements a caching mechanism which en- delivered bit. Given that JAVeLEN is the state of the ables intermediate nodes along the path of a JTP art in energy conserving network systems, our protocol connection to temporarily store traversing pack- uses JAVeLEN as the underlying architecture and thus ets.2 This enables the recovery of lost packets as we will refer to it as JTP (JAVeLEN Transport Pro- close to the receiver as possible. These pipelines tocol). Although JTP is implemented to work within of caches along paths generalize the single-level JAVeLEN, it is designed to operate within any wireless cachingoftenemployedincellular-type(singlewire- (or wireline) architecture that provides an interface for less hop) networks [5]. Although a system that JTP to both, control the number of node retransmis- supports symmetric routes betweenhosts,like the sions made by the media-access protocol, and get at JAVeLEN system, would exploit caching benefits leastindicationoftheavailablecapacityofthechannel, toitsfullest,theopportunisticdesignofthecaching and of the packet loss rate. JTP’s architecture strives system would seize any chance for locally recover- tomaximizethemodularityofthesystem. Information ing lost packets,without interfering with the end- ispropagatedthroughpacketheadersandalltheneces- to-end semantics of each connection. saryhop-by-hopoperationsareperformedbyaseparate module that is used by the MAC. To allocate bandwidth fairly among flows in the In this paper, we present a summary of our design presenceofin-networkcachingandretransmissions, and the novel features of JTP as follows: a JTP sender backs off its sending rate to ac- • To the best of our knowledge, JTP is the first countfor“internal”retransmissionstriggeredfrom caches on its behalf (Section 4). multi-hop wireless end-to-end transport protocol designed to perform hop-by-hop soft-state oper- • JTP also employs a (congestion-avoidance) rate- ations to improve (goodput and energy) perfor- based flow control—using ATM-like explicit rate mance while preserving the end-to-end principle [28] (Section 2). 2We note that efficiency achieved by caching and repairing JTP employs mechanisms akin to the Dynamic errors earlier using such in-network caching does not con- tradict theend-to-endargument of system design [28]—the Packet State [33]—using packet headers to prop- source does not delete its copy of a packet until it gets an 1This metric admittedly ignores energy costs for computa- acknowledgment from the final destination that it has suc- tion and memory inthenodes. Theusual logic for ignoring cessfully received the packet. Furthermore, the soft-state these costs is that the radio consumes far more energy. natureof caches provides resilience to route changes. 2 feedbackfromthenetwork—inanattempttoelim- how JTP actually works. inate energy wastage associated with congestion- Before we delve into the details of JTP, we provide induced packet drops. a brief description of the JAVeLEN system. JAVeLEN deploysaTDMAMACwhichorchestratesnodes’trans- • JTP is implemented as “sharedcode” that can be missions by using pseudo-random schedules, providing run either in simulation or on real radio nodes. collision-free access to the channel and allowing nodes Results from simulation and from a prototype of to turn off their radios when they are not in use. Each JAVeLEN radios (Section 6) confirm the premise node also keeps statistics about link transmissions and of JTP in reducing the energy consumed per de- idle slots in order to provide estimates of the available livered bit. transmission rate and of the packet loss rate on every link. JAVeLEN uses an energy conserving link-state 2. JTPDESIGN routing algorithm [29], that provides each node with a Aswesoughttodesignaprotocolthatminimizes the local, possibly inaccurate, view of the network’s topol- total number of node transmissions required to deliver ogy. application data, we chose to decompose that goalinto 6: Path Monitor three subgoals: 8: Transmitter Wireless Network 7: Path controller depends on 5 and 7 (1)Minimizeend-to-endretransmissions. Ludwig’swork showedthatweneededtostrikeabalancebetweenend- to-end (source) and local retransmissions. End-to-end 2: Intermediate Nodes 3: Destination retransmissions effectively waste all the energy already 1: Source of of JTP Connection JTP Connection expendedongettingthepacketatleastpartwaytothe 4: JTP packet 9: Mid-path operations destination by the initial transmission. So, while occa- 5: Header erro(rc arecchoinvge,r yd,e sflcehcetidounl,ing) (controlled transmission sionalretransmissionsfromthesourcearerequired(e.g. rpaatera, meneetregrsy:, SNACK) due to intermediate node failure or topology changes), we sought to do everything we could to retransmit a lostpacketfromthe farthestdownstream,intermediate Figure 1: Elements of JTP node along the packet’s path which had received the packet successfully. 2.1 APacket-based ViewofJTP (2) Minimize acknowledgments. Acknowledgments are, We begin by describing JTP in terms of packets— often, pure overhead—they carry no application data. data and acknowledgment packets—and how they flow Yet, they consume roughly as much energy as a data between source and destination. Figure 2 shows the transmission. So, consistent with reliability and other packetformatfor JTP packets. While the JTP header, goals, we would like to minimize acknowledgments. shown in Figure 2(a), is attached to all packets, the (3) Avoid congestion loss in the nodes. By design, a ACKheader,showninFigure2(b),isoptionalandisin- classicTCP-likecongestioncontrolinducespacketdrops, cludedonlyinpacketsthatcarryfeedbackinformation. since lossis the onlysignofcongestion. The energyex- Note that this is an optimized version of JTP head- pended by packets that are discarded, simply to signal ers that only carry the necessary information. In our congestion, is wasted. In a world where energy is the prototype implementationthe JTP headersareslightly key metric, congestion control should consume less en- longer, mainly for debugging purposes. ergy than what discarding a packet implies. Assuming that JTP is effective in only transmitting data when necessary,JTPaimstoavoidcongestioninsteadofcon- 2.1.1 Data Packets trolling it. Datapacketstravelfromthesourcetothedestination The result of these goals was the JTP architecture ofaJTPconnection. InJTP,datapacketscontainthree shown in Figure 1. JTP uses rate-based transmission novel fields: available rate, loss tolerance, and energy controlled by the destination. Intermediate wireless budget. nodes reporton their conditionin data packetheaders. • Available rate: The available rate of a link, from a A Path Monitor and Path Controller at the destina- node to its neighbor, represents its current available tioncollectthispathperformancedataandadjustdata transmission capacity—inaTDMAMAC,liketheJAVe- rates to avoid congestion. Intermediate nodes retrans- LEN MAC, that available rate is determined by the mit packets on a per hop basis, cache packets, and ex- current rate of unused (idle) time slots during which amine end-to-end acknowledgments. If an acknowledg- the neighbor is awake for reception; in CSMA/CA net- mentindicatesapacketwaslostfurtheralongthepath, works,amethodsimilarto [20]canbeusedtoestimate the node will retransmit this packet, thereby avoiding theavailablebandwidth. Ateachnodevisited,apacket an end-to-end retransmission (a la the work of Balakr- isstampedwiththeminimumavailableratecollectedso ishnanetal.[5]). Basedonthis design,we nextlookat far alongthe pathof the JTPconnection As described 3 used exceeds the energy budget of the packet. This approach provides an energy-conscious mechanism for dealingwithroutingloops(asopposedtothetraditional hop-countTTL)and, asweelaboratelater,inconjunc- tion with the loss tolerance field, creates a sturdy way to manage the energy expenditure per packet. Theavailableratefieldaddressesthegoalofavoiding congestion loss. Because JAVeLEN provides a practi- callycollision-freeMAClayer,iftheJTPflowcontroller ensuresthatitdoesnotdrivethe availablerateto zero, congestion-induced losses are avoided.3 The energy budget and loss tolerance fields manage the expenditure of energy per packet. By limiting the effort of each node to successfully deliver a packet, the losstolerancefieldboundsthetotaltransmissionenergy spent by each node. The energy budget on the other hand,setsanupperboundontheenergythatthewhole network might expend to deliver a packet to the desti- nation. The deadline field is used by real-time traffic, andalthoughthis is outofthe scope ofthis paper. it is included for completeness. 2.1.2 Acknowledgment Packets Figure 2: JTP packet format JTP ACK packets carry data acknowledgments, as well as transmission rate and energy budget informa- in Section5, this availablerate is used by the flow con- tion from the receiverto the sender. The rate at which troller at the destination to update the sending rate of ACKsare fedbackto the senderis regulatedby the re- the source. Note that due to retransmissions that may ceiver,basedonthestabilityconditionsofthepath. For be required to get the packet to the next hop, a packet a stable path, a minimum feedback rate is determined may consume more than one MAC-level transmission bytheapplicationbasedonitsrequirements—forexam- slot. So the availablerate value must be normalizedby ple, anapplicationwith amore stringentdelayrequire- the average number of MAC-level transmissions. Lud- ment would require a higher feedback rate to achieve wig [22] pointed out that allowing multiple MAC-level a more timely recovery of missing data. A lower feed- transmissionscanincreasepacketdelayandalsoreduce back rate, if tolerated by the application, allows JTP the effective bandwidth that an application perceives. to aggregate ACK information in a single packet, thus As we will see later, by allowing applications to control reducing feedback load. the number of MAC-level transmissions per link, JTP Itiswellknownthatrate-basedflowcontrolisvulner- effectively gives applications controloverthe delay and able to the loss of feedback messages. As we elaborate effective bandwidth on every link. inSection5,JTPovercomesthisproblembyhavingthe • Loss tolerance: A source node encodes the desired receiverinformthesenderofitsfeedbackrate. Soifthe end-to-end loss tolerance in packet headers. Each node sender does not get an ACK within the expected feed- along the path pre-computes the maximum number of back delay, it backs off its transmission rate. Further- transmission attempts to the next hop, given the re- more, short-term, and significant, variations in path’s maininglengthofthepath(knownfromthenode’sview conditions (available rate or energy used) would be de- ofthetopology)andpacket’slosstolerance. Thepacket tected by the path monitoring function at the receiver, is dropped if this pre-determined maximum number of thus triggering an early feedback. local attempts is exceeded. As described in Section 3, Inadditiontoreportingrateandenergyinformation, beforeforwardingthe packet,the nodeupdatesthe loss an ACK packet carries both positive cumulative and tolerance field so any left-over attempts (from the pre- negativeselectiveacknowledgments. Eachintermediate determined maximum number) do not get used down- node on the path examines the SNACKs and retrans- stream, thus reducing the variability in energy con- sumption across nodes along the path. 3EveniftheunderlyingMACdoesnotprovidecollision-free •Energybudget: Thesourceinitiallyassignseachpacket access, JTP’s operation will not be affected,since collisions would only increase the link loss experienced by packets, an energy budget value based on the energy the net- thusincreasingthenumberoflink-layerretransmissionsper work would typically expend to deliver the packet suc- packetandeffectivelyreducingthemeasuredavailableband- cessfully. A packet is dropped whenever the energy width, which in turn forces the sources to back off. 4 mitsmissingpacketsifthesepacketsareintheinterme- Algorithm 1 PreXmit() diate node’s cache—if they are, the node appropriately 1: increaseEnergyUsed(packet); modifies the ACK packet so the sender is explicitly in- 2: if (packet.energyUsed > packet.energyBudget) formed of such in-network retransmissions done on its then behalf (cf. Section 4). Caching, and acknowledgments, 3: dropPacket(packet); are discussed in more detail in Section 4. 4: else 2.2 JTP Components 5: if firstDataTransmission(packet)then 6: lossRate=getLinkLossRate(packet); As mentioned earlier in Section 1, although JTP is 7: setMaxDataTransmissions(packet,lossRate); an end-to-end transportprotocol, it also performs hop- 8: updateLossTolerance(packet); by-hopoperationstoimproveits performance. Inorder 9: end if to alleviate the overhead of the hop-by-hop operations 10: rate=getAvailableRate(packet); and increase the protocol’s efficiency, JTP is divided 11: packet.rate= intotwomaincomponents: theend-to-endJTP(eJTP) 12: MIN(packet.rate,rate/AvLinkLayerAttempts); and the hop-by-hop (or, intermediate) JTP (iJTP). 13: end if 2.2.1 End-to-end JTP The functionalities of eJTP are further categorized Algorithm 2 PostRcv() into application-specific and network-specific modules. 1: if (packet.type==DATA) then This modularity makes JTP a more versatile transport 2: cachePacket(packet); protocol. In this work, we focus on bulk data transfers 3: else if (packet.type==ACK) then over multi-hop wireless networks. 4: retransmitPackets(packet.SNACK) •Theapplication-specificmoduleofeJTPisresponsible 5: updateACK(packet); for fragmentationandreassemblyofapplication’sdata. 6: end if Moreover,itexpressesthe QoSrequirements(e.g.relia- bility level) to the network-specificmodule to influence in-network packet handling decisions, flow control, and reflect its value for the remainder of the path. retransmission requests only for those missing packets BesidesthefactthatiJTPmustprocessallJTPpack- that are important to the application. ets that pass through a node, the above described soft- •Thenetwork-specificmodulemanagesallJTPconnec- stateoperationsrequirethecraftingofcross-layerinter- tionsandimplementsthepathmonitorandthe(congestion- actions with the MAC layer. In order not to compro- avoidancerate-based)controllerofper-packettransmis- mise the performance ofa node, by redundantcopying, sion parameters. context switching, and message passing between JTP andtheMAClayer,weimplementediJTPasaseparate 2.2.2 Hop-by-hop JTP loadable plug-in module of the MAC protocol. iJTP is iJTPperformsallthemid-path(intermediate)cache- invoked whenever a packet is received or about to be related and soft-state operations. It manages the local transmitted over the air interface.4 cacheofeverynodebyensuringthatonlyvaluabledata Algorithms 1 and 2 present in pseudo-code the op- packets are stored, data packets indicated in SNACKs erations of iJTP, which is invoked exactly before the are retransmitted, and cached data packets are evicted transmission(Algorithm1)andexactlyafterthe recep- based on the selected caching policy. tion (Algorithm 2) of a packet from the physical layer. Soft-state per-packet operations performed by iJTP . at each node, include: 3. ADJUSTABLE RELIABILITY FOR EN- •Update the available rate field: iJTPisresponsiblefor ERGYCONSERVATION acquiring from the MAC layeran estimate of the avail- ableratetoeveryneighbor,aswellasanestimateofthe Not all applications (e.g. voice, video, images [25]) packet loss rate on that link. It uses this information require full reliability to performwell. Given reliability toestimatetheeffectiveavailableratetoeachneighbor. targets from applications (provided by the application iJTP stamps each passing packet with the lowest effec- module), and knowledge of packet loss rates (provided tiveavailablerate(throughput)observedthusfaralong bytheMAClayer5),JTPadjuststheeffortitputsinto the path. • Update the loss tolerance field: Based on the loss tol- 4AlthoughwithintheJAVeLENsystem,iJTPresidesinthe MAC,iJTP operationscan beperformed byeJTP usingan erance carried in the packet’s header and the link’s es- overlay typeof architecture. timated packet loss rate, iJTP sets the number of data 5The MAC layer keeps statistics about successful packet transmission attempts on that link, as we elaborate in transmissionsandestimatestheaveragepacketlossrateex- Section 3. The loss tolerance field is then updated to perienced overeach link. 5 delivering each packet, seeking to expend only enough links or on nodes with higher available energy—in this energy to deliver “needed” packets. Specifically, iJTP paperweassumethatJTPattemptstoassignthesame controls the number of node transmission attempts on q =q for all the links. From Equation (1) we get: i a per packet basis. In JTP, the reliability level is ex- pressed in terms of the loss tolerance percentage (e.g. q =(1−lti)H1i (4) 10% of packets can be lost) encoded in the header of Bydynamicallyadjustingthehop-by-hopsuccessprob- each packet. ability experienced by each packet, the end-to-end re- Letle2e betheend-to-endlosstolerancerequestedby liability requirements are met even if the topological the application. Let ni, i ∈ [0,H] be the nodes on the views at different nodes are inconsistent, or the path path from the source n0 to the destination nH, where changes. Moreover,by assigning a loss tolerance target H is the total number of links on the path. Let qi, i∈ to each individual packet, JTP enables the application [0,H −1] denote the probability that a packet sent by to prioritize its packets (e.g. video frames of varying node ni will be successfully delivered to the next node importance). ni+1. In order to satisfy the end-to-end loss tolerance WetestedJTPunderdifferentreliabilitylevels. Three of the application, the following equation should hold: different levels are considered 0% (jtp0), 10% (jtp10) le2e =1−ΠHi=−01 qi (1) and 20% (jtp20). The value of q changes depending on the number of i (a) Total Energy spent for transfers of node transmission attempts indicated to the MAC by 0.6 different reliability levels. 1.35x 104 (b) Data delivered to application. ittfwJorohaTrtianaPclsh.mpnLawuiscemesktiebcoptaeninrofdnroceooflnmimnnokotpnedui(etnttehoit,erMnnapini+i+rs1oa1mbs)fa:.ia6sibTslsiiol,hinateynnadtqthtileea=mttMp1at−issdipnreeMignqlioeu,tenefsrottohdemdee Total Energy Spent(Joules)00000.....012345 2 3 4 5 6 7 jjjtttppp0128 00 dataDelivered(kb)111111...012...1123555 2 3 4 5 6 7 89800 % %9 netSize netSize log(1−q ) (c) Maximum Number of link layer retranmissions for Node 3 M =max(1,min((cid:6) i (cid:7),MAX ATTEMPTS)) 5 whiereMAX ATTEMloPg(TpiS)isthemaximumnumber(2o)f #link layer rtx234 jjttpp1200 link transmissionsthat the MAC allows. The challenge 1 1020 1040 1060 1080 1100 1120 1140 time(sec) istodynamicallyadjustthevaluesofM foreachpacket i in a flow so as to satisfy the desired le2e. Figure 3: Different reliability levels: jtp0, jtp10, If the length of the path to the destination is known, jtp20 have loss tolerance of 0%,10% and 20%, re- the values for q ’s canbe directly computed from equa- spectively. i tion (1), and encoded in the headers of packets. How- Figures 3(a) and (b) demonstrate that by neither ever, in a network setting where the topological views overachieving (e.g. TCP-like full reliability for all), nor atthenodesaretypicallynotaccurate,thepathlength underachieving(e.g.UDP-likenoreliabilityforall),JTP isestimatedbasedonanode’scurrentview. Therefore, manages to save energy and still satisfies an applica- JTP carries out the computation of q ’s at each node, i tion’s requirements, denoted by the horizontal dotted asthe packettravelstowardthe destination,thususing lines in Figure 3(b).7 (See Section 6 for simulation de- increasingly more accurate views. tails.) Figure3(c)showsthe maximumnumberofnode Let l be the loss tolerance that is encoded in the ti retransmissionssetbyiJTPforeachpacketatthethird packetwhenreceivedbynoden . LetH bethenumber i i node along a 4-node path. Packets that request higher of links from n to the destination. Before the node i reliabilityareretransmittedmoretimesbythelinklayer transmitsthepackettoitsnext-hop,itupdatestheloss in cases when the link quality is not good enough, and tolerance field as follows: thusJTPdirectlyaffectstheamountofnetwork’seffort Πi+Hi−1q =1−l ⇒q Πi+Hi−1q =1−l ⇒ (3) in delivering each packet.8 j=i j ti i j=i+1 j ti 1−l 4. CACHING lt(i+1) =1− qi ti JTP employs in-network caching of data packets to Althoughtherearemanydifferentstrategiesthatmight avoid end-to-end (source) retransmissions as much as be employed to compute qi on each link—e.g. impos- 7The jtp20 plot is always above the application’s require- inghighersuccessfuldeliveryrequirementonlessloaded mentsincetheaggregatelossrateofthepathisbelow20%. P 8The flow that corresponds to 0% loss tolerance is omitted 6The success probability is equal to kM=i0−1pki(1−pi) = from this plot since iJTP will always assign its packets the (1−pMi). maximum numberof nodeattempts. i 6 possible. Caching can be viewed as a second line of de- 6x 10−5 0.105 jtp fadtteiheontasnesttme.iniitpafotiaisrolalnmrMyimsAesaxiCnyc-gel,esrsveaiqevnluedaedtsatteregemarnaspdyttiasllotfifnaoeintleh;diefnoesdrelienbcxkayacqmhtuhepaedlleia,tppyda.puclTkeicehtatoes- energy per delivered bit (Joules/bit)12345 jjtnpc Energy Spent(joules)000...00000..078900.555891 23% mtoo rme ifdapira athll oncoadteiosn jnc UponreceivingatraversingACKpacket,anodechecks 03 4 5 6 7 8 9 1 2 3 4 5 6 7 netSize Node ID the Selective Negative ACK (SNACK) field to deter- (a) Total energy expended (b) Energy expended by each mine whether any packet(s) requested for retransmis- perapplicationdatabitdeliv- node in a 7-node linear topol- sionexists inthe node’s localcache. Requestedpackets ered. ogy. found in the cache are forwarded downstream toward Figure 4: Comparison of JTP against JTP with the destination. No Caching (JNC) in static linear topologies. BesidestheSNACKfield,anACKpacketheaderalso retransmitted from the source. contains a locally-recovered packets field, used to indi- Denote by S > k, the random variable representing cate which of the packets requested for retransmission the total number of packets sent by the source until have been already locally retransmitted by some node. k packets are successfully delivered at the destination, Upstream nodes check this field to avoid multiple re- transmissions of the same packets. When the source then E[S] = qek2e, where qe2e is the end-to-end success probability. of the transfer receives an ACK, it will only retransmit When a packet is received at a node, the average packets that remain in the SNACK field. number of node transmissions that it triggers is: If the cache of a node becomes full, to insert a newly arriving packet, the packet evicted from the cache is E[TJNC]=(1−p)+2(1−p)p+···+n(1−p)pn−1+npn theleastrecentlymanipulated,i.e.LeastRecentlyUsed l 1−pn (LRU) policy. Themotivationisthatit isunlikely that = 1−p those packets not recently requested for retransmission wouldbeeverrequestedinthefuture. Adetailedstudy Giventhatthelinksuccessprobabilityisq =(1−pn), of different cache replacement strategies is the subject theprobabilitythatapacketmakesitoverilinksisqi,9 of future work. whichthentriggersE[TJNC]nodetransmissions. Thus, l thetotalnumberofnodetransmissionsforJNCisgiven 4.1 AnalysisofIn-network CachingGain by: Inthis subsection,weprovideananalyticassessment of the benefits of caching. H(cid:1)−1 • JTP with caching: In order to compute an upper E[TtJoNt C]= E[S]×qi×E[TlJNC] bound on the gains achieved by caching, we assume i=0 a best-case scenario whereby cache sizes are infinite, = k(1−pn)(1−(1−pn)H) ≈ k×H and the path is symmetric, thus each lost packet will (1−pn)H(1−p)pn (1−pn)H−1(1−p) be recovered by the last downstream node which has (6) successfully received it. For H = 1, equation (6) degenerates to (5). Observe Wecomputetheexpectedtotalnumberofnodetrans- 1 missions, denoted by E[TtJoTtP]. In the presence of in- that the cost of JNC is (1−pn)H−1 times higher than networkcaching,eachpacketwilleffectivelyberetrans- that of JTP. mittedovereachlinkforasmanytimesasneeded,until To confirm the energy gains of caching, we compare it is successfully delivered to the next node. If p is the bysimulationJTPandJNCinFigure4. (SeeSection6 linklossprobability,theexpectednumberofnodetrans- for experimentaldetails.) Figure4(a)showsthe energy missionsonalinklfollowsageometricdistributionwith expenditure per successfully delivered application bit. mean E[TJTP]= 1 . As expected, as the path between the source and the l 1−p The expected totalnumber ofnode transmissionsre- destination increases,the energy gains achievedby em- quiredbyJTPinordertodeliverkpacketsoverH hops ploying in-network caching also increase. Figure 4(b) is given by: shows the per-node energy consumption in a linear 7- node topology. Observe that JTP not only expends 1 E[TJTP]=k×H × (5) lesstotalenergy,asexpected, butalsodistributes more tot 1−p fairly the energyexpenditure amongnodes inthe path. • JTP without caching: In the case of JTP with no in-network caching (henceforth denoted by JNC), over 4.2 FairIn-network Caching each link, the packet is transmitted, say, at most n times. If its transmission still fails, then it must be 9qe2e =(1−pn)H. 7 (a)JTP with Backoff (b)JTP without Backoff reception rate (pps)02468 1000 12FF0lloo0ww112400 1600 1800 reception rate (pps)0246810001200tim14e0(s0e1c6)00FF1ll8oo0ww012 tssJorheoafTnuteOtPedhrfn,cireoneeeevcgqJdoeouTrrfeneasPnnntithge,eeccne.wyctoTiacloltiotolnrnenawkc’tcsnsthhesspipiomscastfhetaiohsntmtshf,dhipeoJs,eulnTtepdchPahepmestaaitheersisn.anatsdtmaouhL-ttereieaooettdmem-naerxinsnpeni,ndotiidtmsdvcsueeeuoncolmimhyonftpfmateaohosvrintemnaaheiislsemnatnttabieihzttowlheeeef time(sec) sampleofapath’smetric,x¯the estimatedaverage,and s)3.5 s)3.5 R¯ the estimated deviation from the average. We use p p e (p 3 e (p 3 principles from statistical quality control [23] to detect n rat2.5 n rat2.5 asignificant changeinthepath’sstate,whichthentrig- ptio 2 Flow1 ptio 2 Flow1 gers the destination to send additional feedback signal, ce Flow2 ce Flow2 inadditiontofeedbacksentregularlyatalowfrequency. re11.5000 1200 1400 1600 re11.5000 1200 1400 1600 To that end, we estimate the EWMA’s x¯ and range time(sec) time(sec) R¯ as follows: Figure 5: Short-term (top row) and long-term (bottom row) average of the reception rate for x¯ = (1−α)x¯+αxi, initially x¯=x0 (7) two competingflows: (a)the source backs off for R¯ = (1−β)R¯+β |xi−xi−1 |, initially R¯ = x0 2 locally recovered packets; (b) it does not. R¯ is used to estimate the deviation around x¯ and is calculated only from samples x within the following i Enabling mid-path nodes to retransmit packets on upper and lower control limits: behalf of sources may cause a violation of sending rate compliance imposed by the destination of a transfer. R¯ R¯ UCL=x¯+3 ; LCL=x¯−3 (8) For the sake of fairness and congestion control, the 1.128 1.128 source node must incorporate in-network retransmis- Under normal operation, stable EWMA filters are sions in its sending rate calculations. To this end, JTP employed, i.e. the weights α and β are small so short- forces sources to back off in accordance to the extra termvariationsarefilteredout. Aslongasx lieswithin i traffic that is induced by in-network retransmissions. the control limits, the state of the connection’s path is When an ACK packet is received, the source uses the considered stable and feedback is only reported to the locally-recovered packets fieldto adjustitssending rate. source at low frequency, say every T seconds. 10 Oth- Letr(t)betherateindicatedtothesourcebyareceived erwise, x is consideredanoutlier. A certainnumber of i ACKattime t. LetN bethe numberofpacketslocally consecutive outliers is used as indication of significant recovered within the network, and let s , j ∈ [1,N] j and persistent change in the state of the path, which be the sizes of these packets. The source computes an wouldthentriggeranimmediatefeedbacktothesource appropriate back-off period t as follows: b node. At this point, eJTP at the destination switches (cid:2) N s toanagile EWMAfilterwherealargerαvalueisused, t = j=1 j so that x¯ catches up with the actual value. Once x b r(t) i falls back again within the control limits, eJTP at the Figure 5 shows the short- (top plots) and long- (bot- destination switches back to the stable filter for this tom plots) term average of the packet reception rate connection. This usage of both stable and agile filters (throughput)atthedestinationfortwocompetingflows. is known as a Flip-flop Filter [6]. (See Section 6 for simulation details.) Flow 1 does In our implementation, we set T as a function of the notrequestpacketretransmissions(i.e.UDP-likeflow), sending rate and of the cache size used in the network. while flow 2 requires that all its packets be delivered Specifically, and thus invoking the local recovery mechanism of the T =max(TLower Bound,n× Sendin1gRate); n≥1. in-networkcaches. Weobserveintherightplots,spikes Notice that this ensures that the destination does inthe receptionrateofflow2whenit doesnotbackoff not send feedback/SNACK messages at a rate higher its sending ratetoaccountforits additionalin-network than the sending rate. The value ofTLowerBound is de- retransmissions—the unfairness introduced is more ev- pendent on the size of in-network caches, since if pack- ident from the long-term average plots. ets requested for retransmissionby a feedback message have already been evicted from the cache then the en- 5. DESTINATIONBASED CONTROL ergy savings achieved by infrequent feedback messages 10The value of T is used to set the sender’s timeout field in 5.1 Path MonitoringusingFlip-flopFiltering theJTP ACK header shown in Figure 2(b). 8 wouldbeoffsetbytheenergyconsumedbypacketsthat 440 55 have to be retransmitted from the source. If C is the 420 50 caancdhReTsTizTLeo—iwseatrhBceoorunonfiudgnu≤dr-aCtbril×pe tpSiamernaedmfionertgetRhraeotfceot−nhneRencTteTitownotrhke—n energy spent(mJ)333342468000000 packet drops223344050505 300 evnareiragbyle s fpeeendtb wahcken using 15 queue drops when using variable feedback 2800 0.1 0.2 0.3 0.4 0.5 100 0.1 0.2 0.3 0.4 0.5 feedback rate (pkts/sec) feedback rate(pkts/sec) (a) Total energy expended in (b) Total number of packet thesystem. dropsinthequeuesofthesys- tem. Figure 7: The gains achieved by using variable feedback rate. the path of the JTP connection. Let A¯ denote the av- Figure 6: The effect of cache size for various erage available path rate measured at the eJTP des- network sizes. tination, and δ ≥ 0 indicate the target available path rate. IfA¯>δ thenthe sourceincreasesits sendingrate Figure 6 shows the effect of cache size on the per- r in proportion to the current available capacity and, formance of JTP for different network sizes and feed- to improve fairness among competing flows, inversely back rates. In this experiment one JTP flow is started proportional to the current sending rate: over linear networks. (See Section 6 for experimental details.) The figure depicts the number of source re- A¯(t) transmissions for increasing cache sizes. We observe r(t+1) = r(t)+K , 0<K <1 (9) I I r(t) the sudden drop in the number of source retransmis- sionsoncethecachesizeislargeenoughtoholdmissing On the other hand, if there is little available rate (A¯ packetsuntiltheyarerequestedforretransmissionfrom < δ), then the source decreases its sending rate multi- the caches. Increasing the cache size further does not plicatively: improve the performance significantly. Figure 7 depicts the energy gains achieved by using r(t+1) = K r(t), 0<K <1 (10) D D variable-rate feedback instead of a constant rate. In this experiment, a linear topology of 8 nodes is used, We note that the eJTP destination also limits the with one long-lived flow competing with several short- sending rate by its delivery rate up the stack to the lived flows. (See Section 6 for simulation details.) We receiving-side of the application. varytherateofconstant-ratefeedback—asexpected,as the feedback rate increases, the total energy consumed 5.2.2 StabilityAnalysisofPI2/MDRateController (Figure7(a))increasessincemorefeedback/ACKpack- Inordertoanalyzethestabilityofthecontroller,con- etsaregenerated;andforlowfeedbackrates,weobserve sider a single JTP flow adapting its sending rate overa a high number of packet drops in the queues of inter- fixed-capacity channel. For analytical tractability, let’s mediate nodes (Figure 7(b)) because the sender of the ignore the EWMA computation of the available rate, long-lived flow does not back off fast enough causing thatis,ifr(t)<C,thenthe JTPsourceadaptsitsrate congestioninthe system. Using variable-ratefeedback, as follows: JTPnotonlyachieveslowenergyconsumption,butalso minimizes packet drops in the system since whenever (C−r(t)) r(t+1) = r(t)+K × (11) the system load increases, it sends a timely feedback I r(t) forcing the sender to back off. On the other hand, if r(t) > C, then the JTP source 5.2 CongestionAvoidance Mechanism adapts its rate as follows: When the flip-flop path monitor triggers a new feed- back message, the path controller at the destination r(t+1) = K ×r(t) (12) D should set the transmission parameters (sending rate, energy budget), to be used by the source for the subse- Observethatthesystemremainsnon-linear,withtwo quent packets until a new feedback is received. operating regions determined by whether the sending rate r(t) is less than or greater than the capacity C. 5.2.1 PI2/MDSendingRateController We next consider each of these two regions, and prove This controller at the destination sets the sending stability by showing that the value of a positive Lya- rate using the minimum available rate collected along punov function V(r) decreases with each iteration. 9

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.