A Distributed Three-Hop Routing Protocolto Increase the Capacity of HybridWireless NetworksHaiying Shen, Senior Member, IEEE, Ze Li, and Chenxi QiuAbstract—Hybrid wireless networks combining the advantages of both mobile ad-hoc networks and infrastructure wireless networkshave been receiving increased attention due to their ultra-high performance. An efficient data routing protocol is important in suchnetworks for high network capacity and scalability. However, most routing protocols for these networks simply combine the ad-hoctransmission mode with the cellular transmission mode, which inherits the drawbacks of ad-hoc transmission. This paper presents aDistributed Three-hop Routing protocol (DTR) for hybrid wireless networks. To take full advantage of the widespread base stations,DTR divides a message data stream into segments and transmits the segments in a distributed manner. It makes full spatial reuse of asystem via its high speed ad-hoc interface and alleviates mobile gateway congestion via its cellular interface. Furthermore, sendingsegments to a number of base stations simultaneously increases throughput and makes full use of widespread base stations. Inaddition, DTR significantly reduces overhead due to short path lengths and the elimination of route discovery and maintenance. DTRalso has a congestion control algorithm to avoid overloading base stations. Theoretical analysis and simulation results show thesuperiority of DTR in comparison with other routing protocols in terms of throughput capacity, scalability, and mobility resilience. Theresults also show the effectiveness of the congestion control algorithm in balancing the load between base stations.Index Terms—Hybrid wireless networks, routing algorithm, load balancing, congestion controlÇ1 INTRODUCTIONOVER the past few years, wireless networks includinginfrastructure wireless networks and mobile ad-hocnetworks (MANETs) have attracted significant researchinterest. The growing desire to increase wireless networkcapacity for high performance applications has stimulatedthe development of hybrid wireless networks [1], [2], [3],[4], [5], [6]. A hybrid wireless network consists of both aninfrastructure wireless network and a mobile ad-hoc network.Wireless devices such as smart-phones, tablets andlaptops, have both an infrastructure interface and an ad-hocinterface. As the number of such devices has been increasingsharply in recent years, a hybrid transmission structurewill be widely used in the near future. Such a structure synergisticallycombines the inherent advantages and overcomethe disadvantages of the infrastructure wirelessnetworks and mobile ad-hoc networks.In a mobile ad-hoc network, with the absence of a centralcontrol infrastructure, data is routed to its destinationthrough the intermediate nodes in a multi-hop manner. Themulti-hop routing needs on-demand route discovery orroute maintenance [7], [8], [9], [10]. Since the messages aretransmitted in wireless channels and through dynamic routingpaths, mobile ad-hoc networks are not as reliable asinfrastructure wireless networks. Furthermore, because ofthe multi-hop transmission feature, mobile ad-hoc networksare only suitable for local area data transmission.The infrastructure wireless network (e.g., cellular network)is the major means of wireless communication in ourdaily lives. It excels at inter-cell communication (i.e., communicationbetween nodes in different cells) and Internetaccess. It makes possible the support of universal networkconnectivity and ubiquitous computing by integrating allkinds of wireless devices into the network. In an infrastructurenetwork, nodes communicate with each other throughbase stations (BSes). Because of the long distance one-hoptransmission between BSes and mobile nodes, the infrastructurewireless networks can provide higher messagetransmission reliability and channel access efficiency, butsuffer from higher power consumption on mobile nodesand the single point of failure problem [11].A hybrid wireless network synergistically combines aninfrastructure wireless network and a mobile ad-hoc networkto leverage their advantages and overcome theirshortcomings, and finally increases the throughput capacityof a wide-area wireless network. A routing protocol is a criticalcomponent that affects the throughput capacity of awireless network in data transmission. Most current routingprotocols in hybrid wireless networks [1], [5], [6], [12], [13],[14], [15], [16], [17], [18] simply combine the cellular transmissionmode (i.e., BS transmission mode) in infrastructurewireless networks and the ad-hoc transmission mode inmobile ad-hoc networks [7], [8], [9]. That is, as shown inFig. 1a, the protocols use the multi-hop routing to forward amessage to the mobile gateway nodes that are closest to theBSes or have the highest bandwidth to the BSes. The bandwidthof a channel is the maximum throughput (i.e.,_ The authors are with the Department of Electrical and ComputerEngineering, Clemson University, Clemson, SC 29634.E-mail: {shenh, zel, chenxiq}@clemson.edu.Manuscript received 18 Mar. 2014; accepted 18 Dec. 2014. Date of publication7 Jan. 2015; date of current version 31 Aug. 2015.For information on obtaining reprints of this article, please send e-mail to:reprints@ieee.org, and reference the Digital Object Identifier below.Digital Object Identifier no. 10.1109/TMC.2015.2388476IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 10, OCTOBER 2015 19751536-1233 _ 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.transmission rate in bits/s) that can be achieved. The mobilegateway nodes then forward the messages to the BSes, functioningas bridges to connect the ad-hoc network and theinfrastructure network.However, direct combination of the two transmissionmodes inherits the following problems that are rooted inthe ad-hoc transmission mode._ High overhead. Route discovery and maintenance incurhigh overhead. The wireless random access mediumaccess control (MAC) required in mobile ad-hoc networks,which utilizes control handshaking and aback-off mechanism, further increases overhead._ Hot spots. The mobile gateway nodes can easilybecome hot spots. The RTS-CTS random access, inwhich most traffic goes through the same gateway,and the flooding employed in mobile ad-hoc routingto discover routes may exacerbate the hot spotproblem. In addition, mobile nodes only use thechannel resources in their route direction, whichmay generate hot spots while leave resources inother directions under-utilized. Hot spots lead tolow transmission rates, severe network congestion,and high data dropping rates._ Low reliability. Dynamic and long routing paths leadto unreliable routing. Noise interference and neighborinterference during the multi-hop transmissionprocess cause a high data drop rate. Long routingpaths increase the probability of the occurrence ofpath breakdown due to the highly dynamic natureof wireless ad-hoc networks.These problems become an obstacle in achieving highthroughput capacity and scalability in hybrid wireless networks.Considering the widespread BSes, the mobile nodeshave a high probability of encountering a BS while moving.Taking advantage of this feature, we propose a DistributedThree-hop Data Routing protocol (DTR). In DTR, as shownin Fig. 1b, a source node divides a message stream into anumber of segments. Each segment is sent to a neighbormobile node. Based on the QoS requirement, these mobilerelay nodes choose between direct transmission or relaytransmission to the BS. In relay transmission, a segment isforwarded to another mobile node with higher capacity to aBS than the current node. In direct transmission, a segmentis directly forwarded to a BS. In the infrastructure, the segmentsare rearranged in their original order and sent to thedestination. The number of routing hops in DTR is confinedto three, including at most two hops in the ad-hoc transmissionmode and one hop in the cellular transmission mode.To overcome the aforementioned shortcomings, DTR triesto limit the number of hops. The first hop forwarding distributesthe segments of a message in different directions tofully utilize the resources, and the possible second hop forwardingensures the high capacity of the forwarder. DTRalso has a congestion control algorithm to balance the trafficload between the nearby BSes in order to avoid traffic congestionat BSes.Using self-adaptive and distributed routing with highspeedand short-path ad-hoc transmission, DTR significantlyincreases the throughput capacity and scalability ofhybrid wireless networks by overcoming the three shortcomingsof the previous routing algorithms. It has the followingfeatures:_ Low overhead. It eliminates overhead caused by routediscovery and maintenance in the ad-hoc transmissionmode, especially in a dynamic environment._ Hot spot reduction. It alleviates traffic congestion atmobile gateway nodes while makes full use of channelresources through a distributed multi-path relay._ High reliability. Because of its small hop path lengthwith a short physical distance in each step, it alleviatesnoise and neighbor interference and avoids theadverse effect of route breakdown during data transmission.Thus, it reduces the packet drop rate andmakes full use of spacial reuse, in which severalsource and destination nodes can communicatesimultaneously without interference.The rest of this paper is organized as follows. Section 2presents a review of representative hybrid wireless networksand multi-hop routing protocols. Section 3 details theDTR protocol, with an emphasis on its routing methods,segment structure, and BS congestion control. Section 4 theoreticallyanalyzes the performance of the DTR protocol.Section 5 shows the performance of the DTR protocol incomparison to other routing protocols. Finally, Section 6concludes the paper.2 RELATED WORKIn order to increase the capacity of hybrid wireless networks,various routing methods with different featureshave been proposed. One group of routing methods integratethe ad-hoc transmission mode and the cellular transmissionmode [1], [5], [6], [14], [16], [17], [18]. Dousse et al.[6] built a Poisson Boolean model to study how a BSincreases the capacity of a MANET. Lin and Hsu [5] proposeda Multihop Cellular Network (MCN) and derived itsthroughput. Hsieh and Sivakumar [14] investigated ahybrid IEEE 802.11 network architecture with both a distributedcoordination function and a point coordination function.Luo et al. [1] proposed a unified cellular and ad-hocnetwork architecture for wireless communication. Cho andHaas [16] studied the impact of concurrent transmission ina downlink direction (i.e., from BSes to mobile nodes) onthe system capacity of a hybrid wireless network. In [17],[18], a node initially communicates with other nodes usingan ad-hoc transmission mode, and switches to a cellularFig. 1. Traditional and proposed routing algorithms on the uplinkdirection.1976 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 10, OCTOBER 2015transmission mode when its performance is better than thead-hoc transmission.The above methods are only used to assist intra-cell adhoctransmission rather than inter-cell transmission. Ininter-cell transmission [1], [5], [6], a message is forwardedvia the ad-hoc interface to the gateway mobile node that isclosest to or has the highest uplink transmission bandwidthto a BS. The gateway mobile node then forwards the messageto the BS using the cellular interface. However, most ofthese routing protocols simply combine routing schemes inad-hoc networks and infrastructure networks, hence inheritthe drawbacks of the ad-hoc transmission mode asexplained previously.DTR is similar to the Two-hop transmission protocol [19]in terms of the elimination of route maintenance and thelimited number of hops in routing. In Two-hop, when anode’s bandwidth to a BS is larger than that of each neighbor,it directly sends a message to the BS. Otherwise, itchooses a neighbor with a higher channel and sends a messageto it, which further forwards the message to the BS.DTR is different from Two-hop in three aspects. First, Twohoponly considers the node transmission within a singlecell, while DTR can also deal with inter-cell transmission,which is more challenging and more common than intracellcommunication in the real world. Second, DTR uses distributedtransmission involving multiple cells, which makesfull use of system resources and dynamically balances thetraffic load between neighboring cells. In contrast, Two-hopemploys single-path transmission.There are other methods proposed to improve routingperformance in hybrid wireless networks. Wu et al. [3]proposed using ad-hoc relay stations to dynamically relaytraffic from one cell to another in order to avoid traffic congestionin BSes. Li et al. [20] surveyed a number of multihopcellular network architectures in literature, andcompared and discussed methods to reduce the cost ofdeployment for MCNs. The work in [21] investigates howto allocate the bandwidth to users to improve the performanceof hybrid wireless networks. Thulasiraman andShen [22] further considered the wireless interference inoptimizing the resource allocation in hybrid wireless networks.The work in [23] proposes a coalitional game theorybased cooperative packet delivery scheme in hybridwireless networks. There are also some works [24], [25],[26] that study radio frequency allocation for directiontransmission and relay transmission in hybrid wirelessnetworks. These works are orthogonal to our study in thispaper and can be incorporated into DTR to furtherenhance its performance.The throughput capacity of the hybrid wireless networkunder different settings has also been an activeresearch topic in the hybrid wireless network. The worksin [17], [27] have studied the throughput of hybrid networkwith n nodes and m stations. Liu et al. [28] theoreticallystudied the capacity of hybrid wireless networksunder an one-dimensional network topology and a twodimensionalstrip topology. Wang et al. [29] studied themulticast throughput of hybrid wireless networks anddesigned an optimal multicast strategy based on deducedthroughput.3 DISTRIBUTED THREE-HOP ROUTING PROTOCOL3.1 Assumption and OverviewSince BSes are connected with a wired backbone, we assumethat there are no bandwidth and power constraints on transmissionsbetween BSes. We use intermediate nodes to denoterelay nodes that function as gateways connecting an infrastructurewireless network and a mobile ad-hoc network.We assume every mobile node is dual-mode; that is, it hasad-hoc network interface such as a WLAN radio interfaceand infrastructure network interface such as a 3G cellularinterface.DTR aims to shift the routing burden from the ad-hocnetwork to the infrastructure network by taking advantageof widespread base stations in a hybrid wireless network.Rather than using one multi-hop path to forward a messageto one BS, DTR uses at most two hops to relay the segmentsof a message to different BSes in a distributed manner, andrelies on BSes to combine the segments. Fig. 2 demonstratesthe process of DTR in a hybrid wireless network. We simplifythe routings in the infrastructure network for clarity.As shown in the figure, when a source node wants to transmita message stream to a destination node, it divides themessage stream into a number of partial streams called segmentsand transmits each segment to a neighbor node.Upon receiving a segment from the source node, a neighbornode locally decides between direct transmission andrelay transmission based on the QoS requirement of theapplication. The neighbor nodes forward these segments ina distributed manner to nearby BSes. Relying on the infrastructurenetwork routing, the BSes further transmit thesegments to the BS where the destination node resides. Thefinal BS rearranges the segments into the original order andforwards the segments to the destination. It uses the cellularIP transmission method [30] to send segments to thedestination if the destination moves to another BS duringsegment transmission.Our DTR algorithm avoids the shortcomings of ad-hoctransmission in the previous routing algorithms thatdirectly combine an ad-hoc transmission mode and a cellulartransmission mode. Rather than using the multi-hop adhoctransmission, DTR uses two hop forwarding by relyingon node movement and widespread base stations. All otheraspects remain the same as those in the previous routingalgorithms (including the interaction with the TCP layer).DTR works on the Internet layer. It receives packets fromFig. 2. Data transmission in the DTR protocol.SHEN ET AL.: A DISTRIBUTED THREE-HOP ROUTING PROTOCOL TO INCREASE THE CAPACITY OF HYBRID WIRELESS NETWORKS 1977the TCP layer and routes it to the destination node, whereDTR forwards the packet to the TCP layer.The data routing process in DTR can be divided intotwo steps: uplink from a source node to the first BS anddownlink from the final BS to the data’s destination. Criticalproblems that need to be solved include how a sourcenode or relay node chooses nodes for efficient segmentforwarding, and how to ensure that the final BS sendssegments in the right order so that a destination nodereceives the correct data. Also, since traffic is not evenlydistributed in the network, how to avoid overloadingBSes is another problem. Below, Section 3.2 will presentthe details for forwarding node selection in uplink transmissionand Section 3.3 will present the segment structurethat helps ensure the correct final order of segments in amessage, and DTR’s strategy for downlink transmission.Section 3.4 will present the congestion control algorithmfor balancing a load between BSes.3.2 Uplink Data RoutingA long routing path will lead to high overhead, hot spotsand low reliability. Thus, DTR tries to limit the path length.It uses one hop to forward the segments of a message in adistributed manner and uses another hop to find highcapacityforwarder for high performance routing. As aresult, DTR limits the path length of uplink routing to twohops in order to avoid the problems of long-path multi-hoprouting in the ad-hoc networks. Specifically, in the uplinkrouting, a source node initially divides its message streaminto a number of segments, then transmits the segments toits neighbor nodes. The neighbor nodes forward segmentsto BSes, which will forward the segments to the BS wherethe destination resides.Below, we first explain how to definecapacity, then introduce the way for a node to collect thecapacity information from its neighbors, and finally presentthe details of the DTR routing algorithm.Different applications may have different QoS requirements,such as efficiency, throughput, and routing speed.For example, delay-tolerant applications (e.g., voice mail,e-mail and text messaging) do not necessarily need fastreal-time transmission and may make throughput thehighest consideration to ensure successful data transmission.Some applications may take high mobility as theirpriority to avoid hot spots and blank spots. Hot spots areareas where BS channels are congested, while blank spotsare areas without signals or with very weak signals. Highmobilitynodes can quickly move out of a hot spot orblank spot and enter a cell with high bandwidth to a BS,thus providing efficient data transmission. Throughputcan be measured by bandwidth, mobility can be measuredby the speed of node movement, and routing speed can bemeasured by the speed of data forwarding. Bandwidthcan be estimated using the non-intrusive technique proposedin [31]. In this work, we take throughput and routingspeed as examples for the QoS requirement. We use abandwidth/queue metric to reflect node capacity in throughputand fast data forwarding. The metric is the ratio of anode’s channel bandwidth to its message queue size. Alarger bandwidth/queue value means higher throughputand message forwarding speed, and vice versa.When choosing neighbors for data forwarding, a nodeneeds the capacity information (i.e., queue size and bandwidth)of its neighbors. Also, a selected neighbor shouldhave enough storage space for a segment. To keep track ofthe capacity and storage space of its neighbors, each nodeperiodically exchanges its current capacity and storageinformation with its neighbors. In the ad-hoc network component,every node needs to periodically send “hello” messagesto identify its neighbors. Taking advantage of thispolicy, nodes piggyback the capacity and storage informationonto the “hello” messages in order to reduce the overheadcaused by the information exchanges. If a node’scapacity and storage space are changed after its last “hello”message sending when it receives a segment, it sends itscurrent capacity and storage information to the segment forwarder.Then, the segment forwarder will choose the highestcapacity nodes in its neighbors based on the mostupdated information.When a source node sends out message segments, itchooses the neighbors that have enough space for storing asegment, and then chooses neighbors that have the highestcapacity. In order to find higher capacity forwarders in alarger neighborhood around the source, each segmentreceiver further forwards its received segment to its neighborwith the highest capacity. That is, after a neighbor nodemi receives a segment from the source, it uses either directtransmission or relay transmission. If the capacity of each ofits neighbors is no greater than itself, relay node mi usesdirect transmission. Otherwise, it uses relay transmission.In direct transmission, the relay node sends the segment toa BS if it is in a BS’s region. Otherwise, it stores the segmentwhile moving until it enters a BS’s region. In relay transmission,relay node mi chooses its highest-capacity neighbor asthe second relay node based on the QoS requirement. Thesecond relay node will use direct transmission to forwardthe segment directly to a BS. As a result, the number oftransmission hops in the ad-hoc network component is confinedto no more than two. The small number of hops helpto increase the capacity of the network and reduce channelcontention in ad-hoc transmission. Algorithm 1 shows thepseudo-code for neighbor node selection and message forwardingin DTR.The purpose of the second hop selection is to find ahigher capacity node as the message forwarder in order toimprove the performance of the QoS requirement. As theneighborhood scope of a node for high-capacity nodesearching grows, the probability of finding higher capacitynodes increases. Thus, a source node’s neighbors are morelikely to find neighbors with higher capacities than thesource node. Therefore, transmitting data segments toneighbors and enabling them to choose the second relayshelp to find higher capacity nodes to forward data. If asource node has the highest capacity in its region, the segmentswill be forwarded back to the source node accordingto the DTR protocol. The source node then forwards the segmentsto the BSes directly due to the three-hop limit.Though sending data back and forth leads to latency andbandwidth wastage, this case occurs only when the sourcenodes is the highest capacity node within its two-hop neighborhood.Also, this step is necessary for finding the highestcapacity nodes within the source’s two-hop neighborhood,1978 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 10, OCTOBER 2015and ensures that the highest capacity nodes are alwaysselected as the message forwarders. If the source node doesnot distribute segments to its neighbors, the higher-capacitynode searching cannot be conducted. Note that the datatransmission rate of the ad-hoc interface (e.g., IEEE 802.11)is more than 10 times faster than the cellular interface (e.g.,GSM, 3G). Thus, the transmission delay for sending thedata back and forth in the ad-hoc transmission is negligiblein the total routing latency.Algorithm 1. Pseudo-Code for Neighbor Node Selectionand Message Forwarding.1: ChooseRelay( ) f2: //choose neighbors with sufficient caches and bandwidth/queue(b/q) rates3: Query storage size and QoS requirement info. fromneighbors4: for each neighbor n do5: if n.cache.size>segment.length&&n.b/q>this.b/q then6: Add n toR ¼ fr1; . . . rm; . . .g in a descending order ofb/q7: end if8: end for9: Return R10: g11: Transmission( ) f12: if it is a source node then13: //routing conducted by a source node14: //choose relay nodes based on QoS requirement15: R¼ChooseRelay( );16: Send segments to fr1; . . . rmg in R17: else18: //routing conducted by a neighbor node19: if this.b/q _ b/q of all neighbors then20: //direct transmission21: if within the range of a BS then22: Transmit the segment directly to the BS23: end if24: else25: //relay transmission26: nodei ¼ getHighestCapability(ChooseRelay( ))27: Send a segment to nodei28: end if29: end if30: gBy distributing a message’s segments to different nodesto be forwarded in different directions, our algorithmreduces the congestion in the previous routing algorithmsin the hybrid wireless networks. When a node selects a relayto forward a segment, it checks the capacity of the node.Only when a node, say node mi, has enough capacity, thenode will forward a segment to node mi. Therefore, eventhough the paths are not node-disjoint, there will be no congestionin the common sub-paths.Fig. 3 shows examples of neighbor selection in DTR, inwhich the source node is in the transmission range of a BS.In the figures, the value in the node represents its capacity.In scenario (a), there exist nodes that have higher capacitythan the source node within the source’s two-hop neighborhood.If a routing algorithm directly let a source node transmita message to its BS, the high routing performancecannot be guaranteed since the source node may have verylow capacity. In DTR, the source node sends segments to itsneighbors, which further forward the segments to nodeswith higher capacities. In scenario (b), the source node hasthe highest capacity among the nodes in its two-hop neighborhood.After receiving segments from the source node,some neighbors forward the segments back to the sourcenode, which sends the message to its BS. Thus, DTR alwaysarranges data to be forwarded by nodes with high capacityto their BSes. DTR achieves higher throughput and fasterdata forwarding speed by taking into account node capacityin data forwarding.3.3 Downlink Data Routing and DataReconstructionAs mentioned above, the message stream of a source nodeis divided into several segments. After a BS receives a segment,it needs to forward the segment to the BS, where thedestination node resides (i.e., the destination BS). We usethe mobile IP protocol [32] to enable BSes to know thedestination BS. In this protocol, each mobile node is associatedwith a home BS, which is the BS in the node’s homenetwork, regardless of its current location in the network.The home network of a node contains its registrationinformation identified by its home address, which is astatic IP address assigned by an ISP. In a hybrid wirelessnetwork, each BS periodically emits beacon signals tolocate the mobile nodes in its range. When a mobile nodemi moves away from its home BS, the BS where mi currentlyresides detects mi and sends its IP address to thehome BS of mi. When a BS wants to contact mi, it contactsthe home BS of mi to find the destination BS where mi currentlyresides at.However, the destination BS recorded in the home BSmay not be the most up-to-date destination BS since destinationmobile nodes switch between the coverage regions ofdifferent BSes during data transmission to them. Forinstance, data is transmitted to BS Bi that has the data’s destination,but the destination has moved to the range of BSBj before the data arrives at BS Bi. To deal with this problem,we adopt the Cellular IP protocol [30] for trackingnode locations. With this protocol, a BS has a home agentand a foreign agent. The foreign agent keeps track of mobilenodes moving into the ranges of other BSes. The home agentintercepts in-coming segments, reconstructs the originaldata, and re-routes it to the foreign agent, which then forwardsthe data to the destination mobile node.Fig. 3. Neighbor selection in DTR.SHEN ET AL.: A DISTRIBUTED THREE-HOP ROUTING PROTOCOL TO INCREASE THE CAPACITY OF HYBRID WIRELESS NETWORKS 1979After the destination BS receives the segments of a message,it rearranges the segments into the original messageand then sends it to the destination mobile node. A vitalissue is guaranteeing that the segments are combined in thecorrect order. For this purpose, DTR specifies the segmentstructure format. Each segment contains eight fields, including:(1) source node IP address (denoted by S); (2) destinationnode IP address (denoted by D); (3) message sequencenumber (denoted by m); (4) segment sequence number(denoted by s); (5) QoS indication number (denoted by q);(6) data; (7) length of the data; and (8) checksum. Fields (1)-(5) are in the segment head.The role of the source IP address field is to inform the destinationnode where the message comes from. Thedestination IP address field indicates the destination node,and is used to locate the final BS. After sending out a messagestream to a destination, a source node may send outanother message stream to the same destination node. Themessage sequence number differentiates the different messagestreams initiated by the same source node. The segmentsequence number is used to find the correct transmissionsequence of the segments for transmission to a destinationnode. The data is the actual information that a source nodewants to transmit to a destination node. The length fieldspecifies the length of the DTR segment including theheader in bytes. The checksum is used by the receiver nodeto check whether the received data has errors. The QoS indicationnumber is used to indicate the QoS requirement of theapplication.Thus, each segment’s head includes the informationrepresented by ðS; D; m; s; qÞðm; s ¼ 1; 2; 3; . . .Þ. When asegment with head ðS; D; m; s; qÞ arrives at a BS, the BScontacts D’s home BS to find the destination BS where Dstays via the mobile IP protocol. It then transmits the segmentto the destination BS through the infrastructure networkcomponent. After arriving at the BS, the segmentwaits in the cache for its turn to be transmitted to its destinationnode based on its message and segment sequencenumbers. At this time, if another segment comes with ahead labelled ðS; D; ðm þ 1Þ; s; qÞ, which means that it isfrom the same source node but belongs to another datastream, the BS will put it to another stream. If the segmentis labeled as ðS; D;m; ðs þ 1Þ; qÞ, it means that this segmentbelongs to the same data stream of the same sourcenode as segment ðS;D; m; s; qÞ. The combination of thesource node’s sequence number and segment sequencenumber helps to locate the stream and the position of asegment in the steam. In order to integrate the segmentsinto their correct order to retrieve the original data, thesegments in the BS are transmitted to the destinationnode in the order of the segments’ sequence in the originalmessage. If a segment has not arrived at the final BS,its subsequent segments will wait in the final BS until itsarrival. Algorithm 2 shows the pseudo-code for a BS toreorder and forward segments to their destinations. Notethat in the cache, we can set the timer based on the packetrate and storage limit. In other words, the timer should beset as large as possible to fully utilize the storage on BSesto ensure that a message has a high probability to berecovered.Algorithm 2. Pseudo-Code for a BS to Reorder andForward Segments to Destination Nodes.1: //a cache pool is built for each data stream2: //there are n cache pools currently3: if receives a segment (S, D, m, s, q) then4: if there is no cache pool with msg sequence num equalsm then5: Create a cache pool n þ 1 for the stream m6: else7: //the last delivered segment of stream m has sequence numi _ 18: if s ¼¼ i then9: Send out segment (S, D, m, s, q) to D10: iþþ;11: else12: Add segment (S, D, m, s) into cache pool m13: end if14: end if15: end if3.4 Congestion Control in Base StationsCompared to the previous routing algorithms in hybridwireless networks, DTR can distribute traffic load amongmobile nodes more evenly. Though the distributed routingin DTR can distribute traffic load among nearby BSes, if thetraffic load is not distributed evenly in the network, someBSes may become overloaded while other BSes remainlightly loaded. We propose a congestion control algorithmto avoid overloading BSes in uplink transmission (e.g., B1,B2 and B3 in Fig. 1b) and downlink transmission (e.g., B4 inFig. 1b), respectively.In the hybrid wireless network, BSes send beacon messagesto identify nearby mobile nodes. Taking advantage ofthis beacon strategy, once the workload of a BS, say Bi,exceeds a pre-defined threshold, Bi adds an extra bit in itsbeacon message to broadcast to all the nodes in its transmissionrange. Then, nodes near Bi know that Bi is overloadedand will not forward segments to Bi. When a node near Bi,say mi, needs to forward a segment to a BS, it will send thesegment to Bi based on the DTR algorithm. In our congestioncontrol algorithm, because Bi is overloaded, ratherthan targeting Bi, mi will forward the segment to a lightlyloaded neighboring BS of Bi. To this end, node mi firstqueries a multi-hop path to a lightly loaded neighboring BSof Bi. Node mi broadcasts a query message into the system.We set the TTL for the path query forwarding step to a constant(e.g., 3). The query message is forwarded along othernodes until a node (say mj) near a lightly loaded BS (say Bj)is reached. Due to broadcasting, a node may receive multiplecopies of the same queries. Each node only remembersmi and the node that forwards the first query (i.e., its precedingnode), and ignores all other the same queries. In thisway, a multi-hop path between the source node and thelightly loaded base station can be formed. Nodemj responds to the path query by adding a reply bit and theaddress of mi into its beacon message to its preceding nodein the path. This beacon receiver also adds a reply bit andthe address of mi into its beacon message to its precedingnode in the path. This process repeats until mi receives thebeacon. Thus, each node knows its preceding node and1980 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 10, OCTOBER 2015succeeding node in the path from mi and mj based on theaddress of mi. Then, mi’s message can be forwarded alongthe observed path along the nodes. The observed path canalways be used by mi for any subsequent messages to Bj aslong as it is not broken. The neighboring BSes of an overloadedBS may also be overloaded. As the mobile nodesnear an overloaded BS know that the BS is overloaded,when they receive a query message to find a path to anunderloaded BS, they do not forward the message towardstheir overloaded BSes.Node mi may receive responses from a few nodes nearBSes. It can choose bðb _ 1Þ neighboring BSes of the destinationto forward the segment. The redundant transmissionsenhance the data transmission reliability while also increasethe routing overhead. Thus, the value of b should be carefullydetermined based on the available resources for routingand the reliability demand. If b is set to a large value, therouting reliability is high at the cost of high overhead. If b isset to a small value, the routing reliability is low while theoverhead is reduced. After the neighboring BSes receive thesegments, they further forward the segments to the destinationBS, which forwards the segments to the destinationnode. In this way, the heavy traffic from mobile nodes to aBS can be distributed among neighboring BSes quickly.Next, we discuss how to handle the case when the destinationBS is congested. If a BS has not received confirmationfrom the destination BS during a certain time periodafter it sends out a segment, it assumes that the destinationBS is overloaded. Then, it sends the segment to b ðb _ 1Þ lightly loaded neighboring BSes of the destination BS fromits routing table. If an attempted neighboring BS does notrespond during a certain time period, it is also consideredas overloaded. Then, the BS keeps trying other neighboringBSes until finding lightly loaded BSes. Redundant neighboringBSes are selected in order to increase routing reliability.The constant b should be set to an appropriatevalue considering factors such as the network size and theamount of traffic in order to achieve an optimal trade-offbetween overhead and reliability.After receiving the message, each lightly loaded neighboringBS of the destination BS finds a multi-hop path to thedestination mobile node. It broadcasts a path query message,which includes the IDs of the destination BS and thedestination node, to the mobile nodes in its region. The pathquerying process is similar to the previous path queryingfor a lightly loaded BS. The nodes further forward the pathquery to their neighbors until the query reaches the destinationnode. Here, we do not piggyback the query to beaconmessages because this querying is for a specific mobile noderather than any mobile node near a lightly loaded BS.Including the mobile node’s ID into beacon messages generatesvery high overhead.In order to reduce the broadcasting overhead, a mobilenode residing in the region of a BS not close to the destinationBS drops the query. The nodes can determine theirapproximate relative positions to BSes by sensing the signalstrengths from different BSes. Each node adds the strengthof its received signal into its beacon message that is periodicallyexchanged between neighbor nodes so that the nodescan identify their relative positions to each other. Only thosemobile nodes that stay farther than the query forwarderfrom the forwarder’s BS forward the queries in the directionof the destination BS. In this way, the query can be forwardedto the destination BS faster. After the multi-hoppath is discovered, the neighboring BS sends the segment tothe destination node along the path. Since the destinationnode is in the neighboring BS’s region, the overhead to identifya path to the destination node is small. Note that ourmethods for congestion control in base stations involvequery broadcasting. However, it is used only when somebase stations are overloaded rather than in the normal DTRrouting algorithm in order to avoid load congestion in BSes.Fig. 4 shows an example of the congestion control onBSes when b ¼ 2. As shown in figure, BS B1 is congested.Then, the relay nodes of the source node’s message broadcastlocally by beacon piggybacking to find multi-hop pathswhich lead to B3 and B4. The relay nodes then send segmentsalong the paths. In this way, the traffic originally targetingoverloaded B1 can be spread out to the neighboringBSes B3 and B4. B3 and B4 further forward the segments tothe destination BS B6 if B6 is not congested. If B6 is also congested,B3 and B4 send the segments to the neighboringBSes of B6. Specifically, B4 sends the segment to B3. B3 doesnot forward the segment to another BS since it already isclose to B6. B3 then finds a multi-hop path to the destinationnode and uses ad-hoc transmission to forward the segmentsto the destination node. Similarly, when B2 wants to send asegment to the destination node, it also uses a multi-hoppath for the segment transmission.4 PERFORMANCE ANALYSIS OF THE DTRPROTOCOLIn this section, we analyze the effectiveness of the DTR protocolat enhancing the capacity and scalability of hybridwireless networks. In our analysis, we use the same scenarioin [17] for hybrid wireless networks, and use the same scenarioin [33] for the ad-hoc network component. We presentthe scenarios and some concepts below. We consider a largenumber of mobile nodes uniformly and randomly deployedover a 2D field. The moving directions of the nodes areindependent and identically distributed (i.i.d.). The distributionof mobile nodes can be modeled as a homogeneousPoisson process with node density s [34]. That is, given anarea of size S in the field, the number of nodes in the area,denoted by nðSÞ, follows the Poisson distribution with theparameter sS,Pr nðSÞ ¼ k ð Þ¼ ðsSÞke_sSk!; k ¼ 0; 1; 2; . . . (1)Fig. 4. Congestion control on BSes.SHEN ET AL.: A DISTRIBUTED THREE-HOP ROUTING PROTOCOL TO INCREASE THE CAPACITY OF HYBRID WIRELESS NETWORKS 1981Besides mobile nodes, there are M BSes regularly deployedin the field. The BSes divide the area into a hexagon tessellation,in which each hexagon has side length h. The BSes areassumed to be connected together by a wired network. Weassume that the link bandwidths in the wired network arelarge enough so that there are no bandwidth constraintsbetween BSes. In single-path transmission, a message issequentially transmitted in one routing path. In multi-pathtransmission, a message is divided into a number of segmentsthat are forwarded along multiple paths in a distributedmanner. We assume each segment has the same lengthl. Table 1 lists the notations used in our analysis.We assume that the transmission range of all mobilenodes and all BSes is R (R > h). In this paper, we use protocolmodel [17], [33] to describe the interference among nodes;that is, a transmission from a node (here “node” can beeither mobile node or BS) vi to another node vj is successfulif the following two conditions are satisfied: 1) vj is withinthe transmission range of vi, i.e.,jvi _ vjj _ R; (2)where jvi _ vjj represents the euclidean distance between viand vj in the plane. 2) For any other node vk that is simultaneouslytransmitting over the same channel,jvk _ vjj _ ð1 þ DÞjvi _ vjj: (3)Formula (3) guarantees a guard zone around the receivingnode to prevent a neighboring node from transmitting onthe same channel at the same time. The radius of the guardzone is ð1 þ DÞ times the distance between the sender andthe receiver. The parameter D defines the size of the guardzone and we require that D > 0.We first adopt a concept called aggregate throughput capacityintroduced in [17], [33] to measure the throughput of thenetwork.Definition (Aggregate Throughput Capacity of HybridNetworks). The aggregate throughput capacity of a hybridwireless network is of order Qðfðs;MÞÞ if there are deterministicconstants a > 0, and a0 < þ1 such thatlimM!1PrðPðs;MÞ ¼ afðs;MÞ is feasibleÞ ¼ 1 (4)lim infM!1PrðPðs;MÞ ¼ a0fðs;MÞ is feasibleÞ < 1: (5)Since the working frequency of infrastructure networks isaround 700 MHz while that of ad-hoc networks is 2.4 GHz,the communications in infrastructure mode (betweenmobile nodes and BSes through cellular interface) wouldnot generate interference to ad-hoc mode. We divide thechannel for infrastructure mode transmissions into uplinkand downlink parts, according to the transmission directionrelative to the BSes. Accordingly, in the DTR protocol, thetraffic of each S-D pair is composed of at most two intra-celltraffics, one uplink traffic and one download traffic. Sinceuplink traffic and downlink traffic use different sub-channels,there is also no interference between these two types oftraffics. For each node vi, we denote the bandwidth assignedto intra-cell, uplink, and downlink sub-channels by Winti ,Wupi and Wdowni , respectively. We let Wupi ¼ Wdowni becausethere are the same amount of uplink traffic and downlinktraffic. The transmission rates should sum to Wi, i.e.,Winti þWupi þWdowni ¼ Wi. Though no interference existsbetween intra-cell, uplink, and downlink traffics, interferenceexists between the same type of traffic in a cell andbetween different cells. Fortunately, there is an efficient spatialtransmission schedule that can prevent such interferences[17]. First, to avoid the interference in a cell, any twonodes within the cell are not allowed to transmit with thesame traffic mode at the same time. Second, to avoid theinterference between different cells, the cells are spatiallydivided into a number of groups and transmissions in thecells of the same group do not interfere with each other. Ifthe groups are scheduled to transmit in a round robin fashion,each cell will be able to transmit once every fixedamount of time without interfering with each other.Below, we show how many groups we need to divide thecells to prevent interference. We adopt the notion of interferingneighbors introduced in [17], and give the number of cellsthat can be affected by a transmission in one cell. Two cellsare defined to be interfering neighbors if there is a point inone cell which is within a distance (2 þ D)R of a point in theother cell. Accordingly, if two cells are not interfering neighbors,transmissions in one cell do not interfere with transmissionsin the other cell. [17] has proved that (1) each cellhas no more than c1 interfering neighbors (Lemma 1 in[17]), where c1 is a constantc1 ¼433l þ 2R þ DR3l_ _2; (6)and (2) all cells should be divided into c1 þ 1 groups and thewhole channel should be divided into c1 þ 1 subchannels,where each subchannel is allocated to the cells in one group.Thus, the number of group we need to divide the cells toprevent interference is c1 þ 1.Before calculating the aggregate throughput capacity ofDTR, we first introduce Lemma 4.1.Lemma 4.1. The number of cells that have mobile nodes is QðMÞ.Proof. Denote the number of cells having mobile nodesby M1. To prove M1 ¼ QðMÞ, we need to prove thatthere exists deterministic constants a > 0 and a0 < þ1such thatlimM!1PrðM1 ¼ aMÞ ¼ 1; (7)lim infM!1PrðM1 ¼ a0MÞ < 1: (8)TABLE 1Parameter Tables Node density M Number of BSesl Segment’s length sh Area size of a cellnðSÞ Number of nodesin area SR Transmission rangeWi Bandwidth of a node vi mi Mobile node iPðs;MÞ Throughput nðs;MÞ Number of nodes1982 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 10, OCTOBER 2015For Formula (8), let a0 ¼ 2. Because the number of cellshaving mobile nodes is upper bounded by M, thenlim infM!1PrðM1 ¼ 2M is feasibleÞ ¼ 0: (9)Now, we prove that Formula (7) can also be satisfiedfor some constant a. Because the number of nodes in acell follows a Poisson distribution and the size of eachcell (hexagon) is sh ¼ 3ffiffiffip3h2, then we can derive theprobability that no mobile node is in a cell equalsPr nðShÞ ¼ 0 ð Þ¼s0e_sh0! ¼ e_sh : (10)Consider an arbitrary cell k, let X1;X2, . . ., Xk, . . ., XM bei.i.d. random variables, where Xk represents whether cellk has mobile nodes. Then, Xk is defined as follows:Xk ¼1 cell k has mobile nodes0 cell k does not have mobile nodes_(11)and EðXkÞ ¼ e_sh . For simplicity, let c2 ¼ 1 _ e_sh . Then,M1 ¼PMk¼1 Xk. By theStrong Law of Large Number(SLLN) [34],Pr limM!1PMk¼1 XkM ¼ c2!¼ 1; (12)which implies that limM!1 PrðM1 ¼ c2MÞ ¼ 1, whichindicates that when a ¼ c2, Formula (7) can also besatisfied. tuLemma 4.2. Let nðs;MÞ denote the number of mobile nodes inthe whole network. Then,limM!1Prðnðs;MÞ ¼ shMÞ ¼ 1: (13)Proof. Let Z1, Z2, . . . , ZM be i.i.d. random variables representingthe number of nodes in cell 1, 2, . . . , M, respectively.Then, nðs;MÞ ¼PMk¼1 Zk. Because each Zk followsa Poisson distribution with parameter sh, EðZkÞ ¼ sh,81 _ k _ M. According to SLLN,Pr limM!1PMk¼1 ZkM ¼ sh!¼ 1; (14)which implies that limM!1 PrðPMk¼1 Zk ¼ shMÞ ¼ 1, andhence limM!1 Prðnðs;MÞ ¼ shMÞ ¼ 1. tuTheorem 4.1. For a hybrid network of M BSes and s mobilenode density, where each node has the intra-cell, uplink anddownlink sub-channel bandwidth satisfyingWdowni ¼ Wupi ¼ Wup ¼ W=4; Winti ¼ Wint ¼ W=2 (15)the aggregate throughput capacity of DTR isPðs;MÞ ¼ QðMWÞ: (16)Proof. To prove Pðs;MÞ ¼ QðMWÞ, we need to prove thatthere exists deterministic constants a > 0 and a0 < 1such thatlimM!1PrfPðs;MÞ ¼ aMW is feasibleg ¼ 1 (17)lim infM!1PrfPðs;MÞ ¼ a0MW is feasibleg < 1: (18)Recall that any two nodes within a cell cannot transmitsimultaneously in the same traffic mode, thethroughput P is upper bounded by MW=4, which canbe achieved only if each cell has one node to send themessage. Hence, Formula (18) can be satisfied by settinga0 to 1/2.Then, we will show how Formula (17) can be satisfied.Since the same message has to go through anuplink and a downlink and it is counted only once inthe throughput capacity, calculating the throughput ofthe whole network is equivalent to calculating thethroughput of uplink traffic Pup or the throughput ofdownlink traffic Pdown. Notice calculating intra-celltraffic throughput is not accurate because a messagemay transmit twice with intra-cell mode. In this proof,we calculate Pup.First, we consider the throughput of the uplink trafficof an arbitrary cell k, denoted by Pkup. Since the scheduleallocates 1=ðc1 þ 1Þ time slots to this cell, thenPkup ¼Wupc1 þ 1: (19)Then, we consider the throughput of the whole network.Let Pup ¼PMi¼1 PiupXi represent the throughput of uplinktraffic, then we havelimM!1Pr Pup ¼c2MW3ðc1 þ 1Þ_ _¼ limM!1PrXMi¼1PiupXi ¼c2MWupc1 þ 1!¼ limM!1PrXMi¼1Xi ¼ c2M!¼ 1 ðBy Lemma 4:1Þ:Accordingly, Formula (17) can be satisfied when a isset to c23ðc1þ1Þ. tuCorollary 4.1. With the restriction in Theorem 4.1, DTR canachieve QðWÞ throughput per S-D pair.Proof. Denote the throughput of per S-D pair by P, whichequalsP ¼Pðs;MÞn: (20)Obviously, P is upper bounded by W4 because each nodehas at most W4 for uplink traffic (or downlink traffic),which equals its S-D pair throughput. By Lemma 4.2 andTheorem 4.1, we can derive thatSHEN ET AL.: A DISTRIBUTED THREE-HOP ROUTING PROTOCOL TO INCREASE THE CAPACITY OF HYBRID WIRELESS NETWORKS 1983limM!1Pr P ¼c2W3ðc1 þ 1Þsh_ _¼ limM!1PrPðs;MÞnðs;MÞ ¼c2W3ðc1 þ 1Þsh_ __ limM!1Pr Pðs;MÞ ¼c2WM3ðc1 þ 1Þ_ _Prðnðs;MÞ ¼ shMÞ¼ limM!1Pr Pðs;MÞ ¼c2WM3ðc1 þ 1Þ_ _¼ 1which implies that limM!1 Pr P ¼ c2W3ðc1þ1Þsh_ _¼ 1. tuCorollary 4.1 shows that DTR produces a constantthroughput for each pair of nodes regardless of the numberof nodes in each cell due to its spacial reuse of thesystem. Theorem 4.1 and Corollary 4.1 show that theaggregate throughput capacity and the throughput perS-D pair of DTR are QðMWÞ and QðWÞ, respectively.The work in [17] proves that DHybrid achieves QðMWÞinfrastructure aggregate throughput, and the work in[33] proves that the pure ad-hoc transmission achievesQð W ffiffiffiffiffiffiffiffiffiffin_logn p Þ throughput per S-D pair. The results demonstratethat the throughput rates of DTR and DHybrid arehigher than that of the pure ad-hoc transmission. This isbecause the pure ad-hoc transmission is not efficient in alarge scale network [35]. A large network size reducesthe path utilization efficiency and increases node interference.Facilitated by the infrastructure network, DTRand DHybrid avoid long distance transmissions, leadingto a higher transmission throughput.Proposition 4.1. Suppose a mobile node needs to allocate totallyU segments with the same length to L neighboring mobilenodes m1, . . ., mL, which has uplink bandwidth Wup1 , . . . ,WupL , respectively. Let Ui denote the number of segments to beallocate to mi (i ¼ 1; 2; . . . ; L). To minimize the averagelatency of these segments, the optimal allocation should satisfyU1Wup1 ¼ _ _ _ ¼ ULWupL. The minimized average latency equalsUl2PLi¼1Wupi.Proof. Recall that each segment has length l. Then, foreach mobile node mi it requires lWupitime to transmit asegment. Therefore, the jth segment that mi needs totransmit has to wait ðj_1ÞlWup1slots. Hence, the totallatency of the segments that mi needs to transmit toits BS equalsXUij¼1ðj _ 1ÞlWupi ¼ ð0 þ 1þ_ _ _þðUi _ 1ÞÞlWupi _U2i l2Wupi: (21)Hence, the average latency of transmitting all the messagesshould bePKi¼1U2i l2Wupi=U. According to Cauchy-Schwarz inequality [34], the average latency is lowerbounded1UXLi¼1U2i l2Wupi ¼l2UPLi¼1WupiXLi¼1U2iWupiXLi¼1Wupi_l2UPLi¼1WupiXLi¼1ffiffiffiffiffiffiffiffiffiU2iWupis ffiffiffiffiffiffiffiffiffiWupiq !2¼Ul2PLi¼1Wupi: (22)WhenffiffiffiffiffiffiffiU21Wup1rffiffiffiffiffiffiffiWup1p ¼ _ _ _ ¼ffiffiffiffiffiffiffiU2LWupLrffiffiffiffiffiffiffiWupLp , or equivalently, U1Wup1 ¼ _ _ _¼ ULWupL, the average segment latencyPLi¼1U2i l2Wupi=U canachieve the minimum value Ul2PLi¼1Wupi. tuProposition 4.1 indicates that forwarding segments to thenearby nodes with the highest capacity can minimize theaverage latency of messages in the cell. It also balancesthe transmission load of the mobile nodes within a cell.Proposition 4.2 A source node in DTR can find relay nodes formessage forwarding with probabilityP1k¼1k_1kckre_crk! , wherecr ¼ pR2.Proof. Let m denote the number of nodes within mi’s transmissionarea and define the indicator variable Qi byQi ¼1 mi is the highest capacity node0 mi is not the highest capacity node_(23)then,Prfmi can find relays for message forwardingg¼X1k¼0Pr Qi ¼ 0jm ¼ k ð ÞPr m ¼ k ð Þ¼X1k¼1k _ 1kckre_crk!:tuProposition 4.2 indicates that in a high-density network,a source node in DTR can find relay nodes for messageforwarding with a high probability. For example, assumethe average number of neighbor nodes of a source node is10. With the daily increasing number of mobile devices,such an assumption is realistic. Then, the probability ofnot being able to find any node in the range of a node is1 _P1k¼1k_1k10ke_10k! _ 0:12, which is very small. Therefore,in a high-density network, a source node can find neighborsfor message forwarding with a high probability.We use DHybrid to denote the group of routing protocolsin hybrid wireless networks that directly combine the adhoctransmission mode and the infrastructure transmissionmode [1], [5], [6], [12], [13], [14], [15], [16], [17], [18].Proposition 4.3. In a hybrid wireless network, the DHybrid routingprotocol leads to load imbalance among the mobile nodes ina cell.Proof. Fig. 5a shows a cell with a BS and a randomly pickedmobile node mi in the range of the BS. The shaded regionrepresents all possible positions of the source nodes that1984 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 10, OCTOBER 2015choose mi as the relay node in DHybrid. The total trafficpassing through node mi is the sum of the traffic generatedby the nodes in the shaded region. The area ofshaded region isS ¼ sh _ pD2 ð0 < D < hÞ; (24)where D is the distance between the BS and relay nodemi and sh is the area size of a cell. Therefore, the expectedvalue of traffic passing through node mi isW _ s _ ðsh _ pD2Þ ð0 < D < hÞ; (25)where W is the data transmission rate of a sourcenode, and s is the density of the nodes in a region.Equation (25) shows that the traffic passing throughnode mi decreases as D increases. That is, the nodescloser to the BS have a higher load than the nodes stayingat the brim of the cell. tuProposition 4.4. In a hybrid wireless network, DTR achievesmore balanced load distribution among the mobile nodes ineach cell.Proof. The shaded region in Fig. 5b represents all possiblepositions of the source and relay nodes that choose nodemi as relay node. Suppose m neighbor nodes are chosenas relay nodes, then the expected traffic passing throughnode mi is Wm _ s _ pR2 which shows that the traffic goingthrough node mi is independent of its location relative toits BS. Since every node in the cell has an equal probabilityof generating traffic, the traffic load is balancedamong the nodes in the cell. tu5 PERFORMANCE EVALUATIONThis section demonstrates the properties of DTR throughsimulations on NS-2 [36] in comparison to DHybrid [17],Two-hop [19] and AODV [8]. In DHybrid, a node first usesbroadcasting to observe a multi-hop path to its own BSand then forwards a message in the ad-hoc transmissionmode along the path. During the routing process, if thetransmission rate (i.e., bandwidth) of the next hop to theBS is lower than a threshold, rather than forwardingthe message to the neighbor, the node forwards the messagedirectly to its BS. The source node will be notified ifan established path is broken during data transmission. Ifa source sends a message to the same destination nexttime, it uses the previously established path if it is not broken.In the Two-hop protocol, a source node selects thebetter transmission mode between direct transmission andrelay transmission. If the source node can find a neighborthat has higher bandwidth to the BS than itself, it transmitsthe message to the neighbor. Otherwise, it directly transmitsthe message to the BS.Unless otherwise specified, the simulated network consistsof 50 mobile nodes and four BSes. In the ad-hoc componentof the hybrid wireless network, mobile nodes arerandomly deployed around the BSes in a field of1;000 _ 1;000 square meters. We used the Distributed CoordinationFunction (DCF) of the IEEE 802:11 as the MAC layerprotocol. The transmission range of the cellular interfacewas set to 250 meters, and the raw physical link bandwidthwas set to 2 Mbits/s. The transmission power of the ad-hocinterface was set to the minimum value required to keep thenetwork connected for most times, even when nodes are inmotion in the network. Then, the influence of the transmissionrange on different methods’ performance is controlled.Specifically, we set the transmission range through the adhocinterface to 1.5 times of the average distance betweenneighboring nodes, which can be obtained by measuring thesimulated network. We used the two-ray propagation modelfor the physical layer model. Constant bit rate (CBR) wasselected as the traffic mode in the experiment with a rate of640 kbps. In the experiment, we randomly chose four sourcenodes to continuously send messages to randomly chosendestination nodes. The number of channels for each BS wasset to 10. We set the number of redundant routing paths b inSections 3.4 to 1. We assumed that there was no capacitydegradation during transmission between BSes. Thisassumption is realistic considering the advanced technologiesand hardware presently used in wired infrastructurenetworks. There was no message retransmission for failedtransmissions in the experiments.We employed the random way-point mobility model [37]to generate the moving direction, speed, and pause durationof each node. In this model, each node moves to a randomposition with a speed randomly chosen from ð1 _ 20Þ m/s.The pause time of each node was set to 0. We set the numberof segments of a message to the connection degree of thesource node. The simulation warmup time was set to 100 sand the simulation time was set to 1,000 s. We conductedthe experiments five times and used the average value asthe final experimental result. To make the methods comparable,we did not use the congestion control algorithm inDTR unless otherwise indicated.5.1 ScalabilityFig. 6 shows the average throughput measured in kbps perS-D pair of different routing protocols versus the number ofmobile nodes in the system. The figure shows the throughputof DTR remains almost the same with different networksizes. This result conforms to Corollary 4.1. DTR uses distributedmulti-path routing to fully take advantage of thespatial reuse and avoid transmission congestion in a singlepath. Unlike the multi-hop routing in mobile ad-hoc networks,DTR does not need path query and maintenance.Also, it limits the path length to three to avoid problems inlong-path transmission. The throughput of DHybrid andAODV decreases as the number of nodes in the networkincreases. This is mainly because when the network sizeincreases, more beacon messages are generated in theFig. 5. The traffic load in DHybrid and DTR.SHEN ET AL.: A DISTRIBUTED THREE-HOP ROUTING PROTOCOL TO INCREASE THE CAPACITY OF HYBRID WIRELESS NETWORKS 1985network. Also, the long transmission path also leads to hightransmission interference. Then, nodes in these methodssuffer from intense interference, leading to more transmissionfailure and degraded overall throughput. Also, themobile node increase in the system leads to high networkdynamism, resulting in frequent route re-establishments.The short routing paths in Two-hop reduce congestionand signal interference, thus enabling better spatial reuse asin DTR. Meanwhile, Two-hop enables nodes to adaptivelyswitch between direct transmission and relay transmission.Hence, part of the transmission load is transferred to relaynodes, which carry the messages until meeting the BSes. Asa result, gateway nodes connecting mobile nodes and BSesare not easily overloaded. Therefore, the throughput ofTwo-hop is higher than DHybrid. However, since the numberof message routing hops is confined to one, Two-hopmay not find the node with the best transmission rate to theBSes because of the short transmission range of the ad-hocinterface. Therefore, the throughput of Two-hop is lowerthan DTR, especially in a network with high node density.The reason that AODV has the lowest throughput per S-Dpair is its long transmission paths.Fig. 7 shows the throughput per S-D pair versus thenumber of BSes in different routing protocols. The numberof BSes was varied from 3 to 6. The BSes are uniformly distributedin the network. We can see from the figure that asthe number of BSes increases, the throughputs of DTR,Two-hop, and DHybrid increase while the throughput ofAODV stays nearly constant. In DTR, Two-hop, and DHybrid,as the number of BSes increases, the total number ofnodes close to the BSes increases. Then, more nodes havehigh transmission rates to the BSes, leading to a throughputincrease. In AODV, since the traffic between S-D pairs doesnot travel though BSes, the throughput between an S-D pairis not affected by the increased number of BSes in the network.The figure also shows that the throughput of DTR isconstantly larger than Two-hop and the throughput ofTwo-hop is constantly larger than DHybrid. AODV constantlyhas the lowest transmission delay due to the samereasons as in Fig. 6.5.2 Transmission DelayFig. 8 shows the average transmission delay of S-D pairsfor successfully delivered messages in different routingprotocols versus network size. The network size was variedfrom 20 to 100 with 20 increase in each step. Transmissiondelay is the amount of time it takes for a message tobe transmitted from its source node to its destinationnode. From the figure, we see that DTR generates thesmallest delay. In DTR, each source node first dividesits messages into smaller segments and then forwardsthem to the nearby nodes with the highest capacity, whichleads to more balanced transmission load distributionamong nodes than the previous methods. According toProposition 4.1, average latency can be minimized whenthe transmission loads of all the nodes are balanced.Hence, DTR has smaller latency than the previous methods.The delay of DHybrid is five to six times larger thanDTR. DHybrid uses a single transmission path, while DTRuses multiple paths. Recall that we set the number of segmentsof a message to the connection degree of the sourcenode in DTR. Thus, the ratio of delay time of DHybrid tothat of DTR equals the average connection degree. As thenumber of nodes in the system increases, the connectiondegree of each node increases, and the increase rate of theratio grows. This is caused by two reasons. First, a highernode density leads to longer path lengths in DHybrid,resulting in a longer delay because of a higher likelihoodof link breaks. Second, a higher node density enables anode to quickly find relay nodes to forward messages inDTR, as indicated in Proposition 4.2.DTR also produces a shorter transmission delay thanTwo-hop for two reasons. First, the multi-path parallel routingof DTR saves much transmission time as shown inProposition 4.1. Second, the distributed routing of DTR enablessome messages to be forwarded to the destination BS’sneighboring cells with high transmission rates rather thanwaiting in the current hot cell for a transmission channel.We can also observe that Two-hop produces lower delaythan DHybrid. This is because the delay of DHybirdincludes the time for establishing a path and for data transmission.Also, the multi-hop transmission component ofDHybrid results in a higher delay due to the queuing delayin each hop. Because of the long distance transmissionswithout support from an infrastructure network, AODVgenerates the longest delay.Fig. 6. Throughput vs. network size (simulation).Fig. 7. Throughput vs. number of BSes.Fig. 8. Delay vs. network size.1986 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 10, OCTOBER 2015Fig. 9 plots the average communication delay per S-Dpair for successfully delivered messages versus the numberof BSes in different routing protocols. The figure shows thatthe increasing number of BSes in the system leads to a communicationdelay decrease between nodes in DTR, Twohop,and DHybrid, but does not affect the communicationdelay in AODV. In DTR, Two-hop, and DHybrid, as thenumber of BSes increases, more nodes can stay close to theBSes, leading to fewer communication hops and bettertransmission links between nodes and BSes. Thus, the transmissiondelay between the nodes is reduced. Since thecommunication between S-D pairs in AODV does notrely on BSes, AODV maintains constant communicationdelay. The figure also shows that the communication delaybetween S-D pairs follows DTR<Two-hop<DHybrid<AODV for the same reason as in Fig. 8.5.3 Communication OverheadWe use the generation rate of control messages in the networkand MAC layers in kbps to represent the communicationoverhead of the routing protocols. Fig. 10 illustrates thecommunication overhead of DTR, Two-hop, DHybrid, andAODV versus network size. We can see that the communicationoverheads of DTR and Two-hop are very close. Thisis because both DTR and Two-hop are transmission protocolsof short distance and small hops. DTR has slightlyhigher communication overhead than Two-hop becauseDTR utilizes three hop transmission, which has one morehop than two hop transmission. However, the marginaloverhead increase leads to a much higher transmissionthroughput as shown in Fig. 6. DHybrid generates muchhigher overhead than DTR and Two-hop because of thehigh overhead of routing path querying. The pure AODVrouting protocol results in much more overhead than theothers. This is because without an infrastructure network,the messages in AODV travel a long way from the sourcenode to the destination node through much longer paths.5.4 Effect of MobilityIn order to see how the node mobility influences the performanceof the routing protocols, we evaluated the throughputof these four transmission protocols with different nodemobilities. Fig. 11 plots the throughput of DTR, DHybrid,Two-hop, and AODV versus node moving speed. From thefigure, we can see that the increasing mobility of the nodesdoes not adversely affect the performance of DTR and Twohop.It is intriguing to find that high mobility can even helpDTR to increase its throughput and that Two-hop generatesconstant throughput regardless of the mobility. This isbecause the DTR and Two-hop transmission modes do notneed to query and rely on multi-hop paths; thus, they arenot affected by the network partition and topology changes.Moreover, since DTR transmits segments of a message in adistributed manner, as the mobility increases, a mobilenode can meet more nodes in a shorter time period. Therefore,DTR enables the segments to be quickly sent to highcapacitynodes. As node mobility increases, the throughputof DHybrid decreases. In DHybrid, the messages are routedin a multi-hop fashion. When the links between nodes arebroken because of node mobility, the messages are dropped.Therefore, when nodes have smaller mobility, the linksbetween the mobile nodes last longer and more messagescan be transmitted. Hence, the throughput of DHybrid isadversely affected by node mobility. However, since DHybridcan adaptively adjust the routing between the ad-hoctransmission and cellular transmission, the throughput ofDHybrid is much higher than AODV’s. With no infrastructurenetwork, AODV produces much lower throughputthan the others. Its throughput also drops as node mobilityincreases for the same reasons as DHybrid.5.5 Effect of WorkloadWe measured the total throughput of BSes on the messagesreceived by BSes. Fig. 12 shows the total throughput of theBSes versus the number of source nodes. We can see thatDTR and Two-hop have much higher throughput increaserates than DHybrid. This is because in DTR and Two-hop,the number of transmission hops from a source node to a BSis small. Meanwhile, each node can adaptively switchbetween relay transmission and direct transmission basedon the transmission rate of its neighbors. Hence, part of asource node’s transmission load is transferred to a few relaynodes, which carry the messages until meeting the BSes.Therefore, the gateway mobile nodes are less likely to becongested. However, nodes in DHybrid cannot adaptivelyadjust the next forwarding hop because it is predeterminedin the routing path. Messages are always forwarded to theFig. 9. Delay vs. number of BSes.Fig. 10. Overhead vs. network size.Fig. 11. Throughput vs. mobility.SHEN ET AL.: A DISTRIBUTED THREE-HOP ROUTING PROTOCOL TO INCREASE THE CAPACITY OF HYBRID WIRELESS NETWORKS 1987mobile gateway nodes that are closer to the BSes or thathave higher transmission rates. Therefore, these mobilegateway nodes can easily become congested as the workloadof the system increases, leading to many messagedrops. Therefore, when the number of the source nodes islarger than 4, the throughput of DHybrid remains nearlyconstant. This is also the reason that the throughput of DHybridis constantly lower than those of DTR and Two-hop.Additionally, the figure shows that the overall throughputof Two-hop is lower than that of DTR. This is because mostof the traffic in Two-hop is confined to a single cell. When aBS in a cell is congested, the traffic cannot be transferred toother cells. In contrast, DTR’s three-hop distributed forwardingmechanism enables it to distribute the trafficamong the BSes in a balance. Therefore, the BSes in DTRwill not become congested easily. In addition, as the forwardingmechanism gives nodes more flexibility in choosingrelay nodes with higher transmission rates for messageforwarding to the BSes, the overall BS throughput in DTR islarger than in Two-hop.5.6 Effect of the Number of Routing HopsWe conducted experiments to show the optimal number ofrouting hops for the routing in hybrid wireless networks.We tested the throughput per S-D pair for x-hop DTR,where x was varied from 1 to 4. In the one-hop routing, anode directly transmits a message to the BS without messagedivision. In the other routing protocols, the ðx _ 1Þthhop chooses the best transmission mode between directtransmission and relay transmission. Also, in the four-hoprouting, the second relay node randomly chooses the thirdrelay node.Fig. 13 shows the average throughput per S-D pair versusnetwork size in DTR. As the figure shows, as the networksize increases, the node throughput keeps constant regardlessof the number of forwarding hops in a routing. The reasonis the same as in Fig. 6. We can also see from the figurethat the throughput of the four protocols follows 3-hop>4-hop>2-hop>1-hop. In the one-hop routing, each node onlytransmits segments directly to a BS regardless of its currenttransmission rate. In the two-hop routing, if the transmissionrate of a node’s neighbor is higher than that of thenode, it asks its neighbor node to forward the segment to aBS. Therefore, the two-hop routing has higher throughputthan the one-hop routing. The three-hop routing can greatlyincrease the number of node options for segment routingsince the number of nodes that the source node can encounterincreases from d to d2, where d is the average nodedegree. Thus, a node with a greater transmission rate can bechosen as the forwarding node. Meanwhile, the three-hoprouting can greatly facilitate inter-cell communicationbecause a node has a higher probability of reaching aneighboring BS within a three-hop path length than withina two-hop path length. Therefore, the throughput of thethree-hop routing is much higher than that of the two-hoprouting. The figure also shows that the four-hop routingproduces lower throughput than the three-hop routing. Thereason is that three hops are enough to find a hop with hightransmission rate and achieve inter-cell communicationbecause of widespread BSes. The four-hop routing increasesthe forwarding delay due to the greater number of nodes ina route; thus, it cannot increase the uploading transmissionrate of messages.5.7 Load Distribution within a CellIn this experiment, we tested the load distribution of mobilenodes in a randomly chosen cell in the hybrid wireless networkthat employs each of the DTR, DHybrid, and Twohopprotocols. We normalized the distance from a mobilenode to its base station according to the function DRb, whereD is the actual distance and Rb is the radius of its cell. Wedivided the space of the cell into several concentric circlesand measured the loads of the nodes on each circle to showthe load distribution.Fig. 14 shows the average load of a node correspondingto the normalized distance from itself to the BS in the chosencell. The figure shows that most of the traffic load of DHybridis located at nodes near the BS. The nodes far from theBS have very low load. The results conform to Proposition4.3. In DHybrid, if a source node wants to access the Internetbackbone or engage in inter-cell communication, it transmitsthe messages to the BSes in a multi-hop fashion. Therefore,the nodes near the BSes will have the highest load. Onthe other hand, since there is little traffic going through thenodes at the brim of a cell, the load of these nodes is small.As a result, some nodes can easily become hot spots whileFig. 12. Throughput of BSes vs. number of source nodes.Fig. 13. Throughput vs. number of hops.Fig. 14. Load distribution in a cell.1988 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 10, OCTOBER 2015the resources of other nodes are not fully utilized. This loadimbalance prevents DHybrid from fully utilizing systemresources. The traffic load of DTR is almost evenly distributedin the system, which is in line with Proposition 4.4. InDTR, the traffic from a source node is distributed among anumber of relay neighbors for further data forwarding. Thenodes at the brim of the cell also take responsibility for messageforwarding, since the neighbor nodes of the brimnodes could be located in other cells with good transmissionchannels. In Two-hop, the source node considers directtransmission or one-hop relay transmission based on thechannel condition. Since the node is chosen within one hop,the messages will not gather close to the BS due to the limitedtransmission range. However, because of its sequentialtransmission, Two-hop cannot achieve load balance amongnodes in a cell as well as DTR.5.8 Load Balance between CellsIn this experiment, we tested the effectiveness of the congestioncontrol algorithm in DTR. We also added a congestioncontrol algorithm to DHybrid. In the algorithm, when anode receives beacon messages from its BS indicating that itis overloaded, the node broadcasts a query message to finda path to a nearby uncongested BS. We selected two BSesout of the total four BSes. In the range of each of the twoselected BSes, we randomly selected one mobile node as thesource node to send messages to a randomly selected destinationnode in the network. Once the source node movesout of the range of the selected BS, another mobile node inthe range was selected as the source node. In order to showthe load distribution of the BSes in different protocols, weranked the BSes based on BS throughput. The BS with thehighest throughput has a rank of 1.Fig. 15 shows the throughput of each BS versus the BSrank. We can see from the figure that in Two-hop, thethroughput of the first two BSes is extremely high whilethe throughput of the last two BSes is extremely small.This is because the two hop routing path length in Twohopis not long enough to forward messages from a congestedBS to a lightly loaded BS. Therefore, the traffic cannotbe shifted to the neighboring lightly loaded BSes,leading to an unbalanced load distribution. We can alsosee from the figure that in DTR, the variance of thethroughputs in different BSes is small. The reason is thatthree forwarding hops are enough for a mobile node toreach a neighboring BS and hence to balance the loadbetween the BSes. Meanwhile, the congestion control algorithmin DTR can effectively switch the traffic from ahighly loaded cell to a lightly loaded cell. Because theBSes of ranks 1 and 2 in DTR are not congested, theirthroughput is less than the corresponding BSes in Twohop;also, the throughput of the BSes of ranks 3 and 4 inDTR is much higher than that of the corresponding BSesin Two-hop. DHybrid achieves more balanced load distributionbetween BSes than Two-hop since it employs a congestioncontrol algorithm. In DHybrid, if a previouslyestablished path to a destination is not broken, a node stilluses this path to transmit messages to the same destination.Thus, the nodes cannot dynamically balance loadbetween BSes. Also, when a node finds that its current BSis congested, it takes a long time for it to find a path to anon-congested BS by re-issuing a query message to theneighboring non-congested BS, which greatly reduces thethroughput of the system.Fig. 16 further shows the throughput of the BSes versussimulation time in the three routing protocols. At the beginning,the BSes with ranks 1 and 2 are congested and thosewith ranks 3 and 4 do not have much traffic. Thus, the threefigures show that the BSes with ranks 1 and 2 have highthroughput but those with ranks 3 and 4 have extremelylow throughput at the beginning in all three protocols.Fig. 16a shows the throughput of the BSes in DTR. Asshown in the figure, since DTR can adaptively adjust thetraffic among the BSes using its congestion control algorithm,the throughput of the two highly congested BSes isdistributed to the neighboring BSes. As the traffic is forwardedfrom the BSes of ranks 1 and 2 to the BSes of ranks 3and 4, the throughputs of these BSes are very similar later inthe simulation. This result indicates the effectiveness of thecongestion control algorithm in DTR for load balancebetween cells.Fig. 16b shows the throughput of the BSes in Two-hop. InTwo-hop, since the source nodes cannot effectively movethe traffic between BSes, the BSes with rank 1 and rank 2Fig. 15. Load distribution among BSes.Fig. 16. Base station load vs. simulation time.SHEN ET AL.: A DISTRIBUTED THREE-HOP ROUTING PROTOCOL TO INCREASE THE CAPACITY OF HYBRID WIRELESS NETWORKS 1989constantly have the highest throughput, while the BSes withrank 3 and rank 4 constantly have low throughput. The lowthroughput is produced when the immediate neighbors ofthe source node are in the range of the neighboring BSes ofthe source node’s BS. However, the probability of such casesis very small. Fig. 16c shows the throughput of the BSes inDHybrid. As the nodes in DHybrid cannot effectively balancethe load between the BSes, the throughput of the BSesof rank 1 and rank 2 is much larger than that of the BSes ofrank 3 and rank 4. Comparing Figs. 16b and 16c, we canfind that the throughput in DHybrid is lower than that inTwo-hop. This is because the multi-hop transmission in thead-hoc network in DHybrid greatly reduces the throughput.Meanwhile, the mobile gateway nodes in DHybrid easilybecome congested, leading to more message drops.6 CONCLUSIONSHybrid wireless networks have been receiving increasingattention in recent years. A hybrid wireless network combiningan infrastructure wireless network and a mobile adhocnetwork leverages their advantages to increase thethroughput capacity of the system. However, currenthybrid wireless networks simply combine the routing protocolsin the two types of networks for data transmission,which prevents them from achieving higher system capacity.In this paper, we propose a Distributed Three-hop Routingdata routing protocol that integrates the dual features ofhybrid wireless networks in the data transmission process.In DTR, a source node divides a message stream into segmentsand transmits them to its mobile neighbors, whichfurther forward the segments to their destination throughan infrastructure network. DTR limits the routing pathlength to three, and always arranges for high-capacitynodes to forward data. Unlike most existing routing protocols,DTR produces significantly lower overhead by eliminatingroute discovery and maintenance. In addition,its distinguishing characteristics of short path length, shortdistancetransmission, and balanced load distribution providehigh routing reliability and efficiency. DTR also has acongestion control algorithm to avoid load congestion inBSes in the case of unbalanced traffic distributions in networks.Theoretical analysis and simulation results showthat DTR can dramatically improve the throughput capacityand scalability of hybrid wireless networks due to its highscalability, efficiency, and reliability and low overhead.ACKNOWLEDGMENTSThis research was supported in part by US NSF grants NSF-1404981, IIS-1354123, CNS-1254006, CNS-1249603, andCNS-1025652, and Microsoft Research Faculty Fellowship8300751. The authors would like to thank Mr. Kang Chenfor his help in addressing review comments. An early versionof this work was presented in the Proceedings of ICPP2009 [38]. Haiying Shen is the corresponding author.
Android Projects For Final Year
A Distortion-Resistant Routing Framework for Video Traffic in Wireless Multihop Networks
412 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 23, NO. 2, APRIL 2015A Distortion-Resistant Routing Framework for VideoTraffic in Wireless Multihop NetworksGeorge Papageorgiou, Member, IEEE, ACM, Shailendra Singh, Srikanth V. Krishnamurthy, Fellow, IEEE,Ramesh Govindan, Fellow, IEEE, and Tom La Porta, Fellow, IEEEAbstract—Traditional routing metrics designed for wireless networksare application-agnostic. In this paper, we consider a wirelessnetwork where the application flows consist of video traffic.From a user perspective, reducing the level of video distortion iscritical. We ask the question “Should the routing policies changeif the end-to-end video distortion is to be minimized?” Popularlink-quality-based routing metrics (such as ETX) do not accountfor dependence (in terms of congestion) across the links of a path;as a result, they can cause video flows to converge onto a few pathsand, thus, cause high video distortion. To account for the evolutionof the video frame loss process, we construct an analyticalframework to, first, understand and, second, assess the impact ofthe wireless network on video distortion. The framework allows usto formulate a routing policy for minimizing distortion, based onwhich we design a protocol for routing video traffic. We find viasimulations and testbed experiments that our protocol is efficientin reducing video distortion and minimizing the user experiencedegradation.Index Terms—Protocol design, routing, video communications,video distortion minimization, wireless networks.I. INTRODUCTION WITH the advent of smartphones, video traffic has becomevery popular in wireless networks. In tactical networksor disaster recovery, one can envision the transfer ofvideo clips to facilitate mission management. From a user perspective,maintaining a good quality of the transferred video iscritical. The video quality is affected by: 1) the distortion dueto compression at the source, and 2) the distortion due to bothwireless channel induced errors and interference.Video encoding standards, like MPEG-4 [1] orH.264/AVC [2], define groups of I-, P-, and B-type framesthat provide different levels of encoding and, thus, protectionagainst transmission losses. In particular, the differentlevels of encoding refer to: 1) either information encodedManuscript received May 24, 2013; revised November 15, 2013; acceptedDecember 24, 2013; approved by IEEE/ACM TRANSACTIONS ON NETWORKINGEditor M. Reisslein. Date of publication February 11, 2014; date of current versionApril 14, 2015. This work was supported by the Army Research Laboratoryand was accomplished under Cooperative Agreement No. W911NF-09-2-0053.G. Papageorgiou, S. Singh, and S. V. Krishnamurthy are with the Departmentof Computer Science and Engineering, University of California, Riverside,Riverside, CA 92521 USA (e-mail: gpapag@cs.ucr.edu; singhs@cs.ucr.edu;krish@cs.ucr.edu).R. Govindan is with the Department of Computer Science, University ofSouthern California, Los Angeles, CA 90089 USA (e-mail: ramesh@usc.edu).T. La Porta is with the Department of Computer Science and Engineering,The Pennsylvania State University, University Park, PA 16802 USA (e-mail:tlp@cse.psu.edu).Color versions of one or more of the figures in this paper are available onlineat http://ieeexplore.ieee.org.Digital Object Identifier 10.1109/TNET.2014.2302815Fig. 1. Multilayer approach.independently, in the case of I-frames, or 2) encoding relativeto the information encoded within other frames, as is the casefor P- and B-frames. This Group of Pictures (GOP) allows forthe mapping of frame losses into a distortion metric that canbe used to assess the application-level performance of videotransmissions.One of the critical functionalities that is often neglected, butaffects the end-to-end quality of a video flow, is routing. Typicalrouting protocols, designed for wireless multihop settings,are application-agnostic and do not account for correlationof losses on the links that compose a route from a source toa destination node. Furthermore, since flows are consideredindependently, they can converge onto certain links that thenbecome heavily loaded (thereby increasing video distortion),while others are significantly underutilized. The decisions madeby such routing protocols are based on only network (and notapplication) parameters.In this paper, our thesis is that the user-perceived videoquality can be significantly improved by accounting for applicationrequirements, and specifically the video distortionexperienced by a flow, end-to-end. Typically, the schemes usedto encode a video clip can accommodate a certain number ofpacket losses per frame. However, if the number of lost packetsin a frame exceeds a certain threshold, the frame cannot bedecoded correctly. A frame loss will result in some amountof distortion. The value of distortion at a hop along the pathfrom the source to the destination depends on the positions ofthe unrecoverable video frames (simply referred to as frames)in the GOP, at that hop. As one of our main contributions,we construct an analytical model to characterize the dynamicbehavior of the process that describes the evolution of framelosses in the GOP (instead of just focusing on a network qualitymetric such as the packet-loss probability) as video is deliveredon an end-to-end path. Specifically, with our model, we capturehow the choice of path for an end-to-end flow affects theperformance of a flow in terms of video distortion. Our modelis built based on a multilayer approach as shown in Fig. 1. Thepacket-loss probability on a link is mapped to the probabilityof a frame loss in the GOP. The frame-loss probability isthen directly associated with the video distortion metric. Byusing the above mapping from the network-specific property(i.e., packet-loss probability) to the application-specific quality1063-6692 © 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.PAPAGEORGIOU et al.: DISTORTION-RESISTANT ROUTING FRAMEWORK FOR VIDEO TRAFFIC 413metric (i.e., video distortion), we pose the problem of routingas an optimization problem where the objective is to find thepath from the source to the destination that minimizes theend-to-end distortion.In our formulation, we explicitly take into account the historyof losses in the GOP along the path. This is in stark contrastwith traditional routing metrics (such as the total expectedtransmission count (ETX) [3]) wherein the links are treated independently.Our solution to the problem is based on a dynamicprogramming approach that effectively captures the evolutionof the frame-loss process. We then design a practical routingprotocol, based on the above solution, to minimize routingdistortion. In a nutshell, since the loss of the longer I-framesthat carry fine-grained information affects the distortion metricmore, our approach ensures that these frames are carried on thepaths that experience the least congestion; the latter frames ina GOP are sent out on relatively more congested paths. Ourrouting scheme is optimized for transferring video clips onwireless networks with minimum video distortion. Since optimizingfor video streaming is not an objective of our scheme,constraints relating to time (such as jitter) are not directly takeninto account in the design.Specifically, our contributions in this paper are as follows.• Developing an analytical framework to capture the impactof routing on video distortion: As our primary contribution,we develop an analytical framework that captures the impactof routing on the end-to-end video quality in terms ofdistortion. Specifically, the framework facilitates the computationof routes that are optimal in terms of achievingthe minimum distortion. The model takes into account thejoint impact of the PHY and MAC layers and the applicationsemantics on the video quality.• Design of a practical routing protocol for distortion-resilientvideo delivery: Based on our analysis, we design apractical routing protocol for a network that primarily carrieswireless video. The practical protocol allows a sourceto collect distortion information on the links in the networkand distribute traffic across the different paths in accordanceto: 1) the distortion, and 2) the position of a framein the GOP.• Evaluations via extensive experiments: We demonstrate viaextensive simulations and real testbed experiments on amultihop 802.11a testbed that our protocol is extremelyeffective in reducing the end-to-end video distortion andkeeping the user experience degradation to a minimum. Inparticular, the use of the protocol increases the peak signalto-noise ratio (PSNR) of video flows by as much as 20%,producing flows with a mean opinion score (MOS) thatis on the average 2–3 times higher compared to the casewhen traditional routing schemes are used. These PSNRand MOS gains project significant improvements in theperceived video quality at the destination of a flow [4]. Wealso evaluate our protocol with respect to various systemparameters.Organization: The paper is organized as follows. Relatedwork is presented in Section II. Our analytical models are inSection III, followed by the problem formulation in Section IV.In Section V, we discuss how our framework can be usedto route video flows in practice. Section VI contains resultsfrom our simulations and testbed experiments. We conclude inSection VII.II. RELATED WORKThe plethora of recommendations from the standardizationbodies regarding the encoding and transmission of video indicatesthe significance of video communications. Different approachesexist in handling such an encoding and transmission.The Multiple Description Coding (MDC) technique fragmentsthe initial video clip into a number of substreams called descriptions.The descriptions are transmitted on the network over disjointpaths. These descriptions are equivalent in the sense thatany one of them is sufficient for the decoding process to be successful,however the quality improves with the number of decodedsubstreams. Layered Coding (LC) produces a base layerand multiple enhancement layers. The enhancement layers serveonly to refine the base-layer quality and are not useful on theirown. Therefore, the base layer represents the most critical partof the encoded signal [5], [6]. In this paper, we focus on the layeredcoding due to its popularity in applications and adoption instandards.Standards like the MPEG-4 [1] and the H.264/AVC [2] provideguidelines on how a video clip should be encoded for atransmission over a communication system based on layeredcoding. Typically, the initial video clip is separated into a sequenceof frames of different importance with respect to qualityand, hence, different levels of encoding. The frames are calledI-, P-, and B-frames, and groups of such frames constitute astructure named the GOP. In each such GOP, the first frame is anI-frame that can be decoded independently of any other informationcarried within the same GOP. After the I-frame, a sequenceof P- and possibly B-frames follows. The P- and B-frames usethe I-frame as a reference to encode information. However, notethat the P-frames can also be used as references for other frames.There has been a body of work on packet-loss-resilientvideo coding in the signal processing research community [7].In [4], the video stream is split into high- and low-prioritypartitions, and FEC is used to protect the high-priority data.To account for temporal and spatial error propagation due toquantization and packet losses, an algorithm is proposed in [8]to produce estimates of the overall video distortion that canbe used for switching between inter- and intracoding modesper macroblock, achieving higher PSNR. In [9], an enhancementto the transmission robustness of the coded bitstreamis achieved through the introduction of inter/intracoding withredundant macroblocks. The coding parameters are determinedby a rate-distortion optimization scheme. These schemes areevaluated using simulation where the effect of the networktransmission is represented by a constant packet-loss rate,and therefore fails to capture the idiosyncrasies of real-worldsystems.In [10], an analytical framework is developed to model theeffects of wireless channel fading on video distortion. Themodel is, however, only valid for single-hop communication.In [11], the authors examine the effects of packet-loss patternsand specifically the length of error bursts on the distortionof compressed video. The work, although on a single link,showcases the importance of accounting for the correlation of414 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 23, NO. 2, APRIL 2015errors across frames. The performance of video streaming overa multihop IEEE 802.11 wireless network is studied in [12],and a two-dimensional Markov chain model is proposed. Themodel is used not only for performance evaluation, but also asa guide for deploying video streaming services with end-to-endquality-of-service (QoS) provisioning. Finally, a recursionmodel is derived in [13] to relate the average transmissiondistortion across successive P-frames. None of these effortsconsiders the impact of routing on video distortion.There have also been studies on the performance of videotransmissions over 4G wireless networks that have been designedto support high QoS for multimedia applications. In [14],an assessment of the recently defined video coding scheme(H.264/SVC) is performed over mobile WiMAX. Metrics suchas the PSNR and the MOS are used to represent the quality ofexperience perceived by the end-user. The results show that theperformance is sensitive to the different encoding options inthe protocols and responds differently to the loss of data in thenetwork. Again, these are single-link wireless networks, androuting is not a factor.Cross-layer optimization and QoS routing is not new. Anextensive body of research exists on routing algorithms forwireless ad hoc and mesh networks [15]. Furthermore, thesurvey in [16] provides various ways of classifying QoS routingschemes based on protocol evaluation metrics (transport/application,network- and MAC-layer metrics). However, noneof the routing schemes presented in these surveys takes intoaccount performance metrics defined for an application andspecifically for video transfers. Even when a QoS routing isdefined as application-aware, the applications need to specifythroughput and delay constraints. This is in contrast to ourapproach, where an application-related performance metric,namely the video distortion, is directly incorporated into theroute selection mechanism.Prior work on routing for video communications focuses onMultiple Description Coding (MDC). In [17] and [18], multipathrouting schemes are considered to improve the quality ofvideo transfer. In [17], an extension to the Dynamic SourceRouting is proposed to support multipath video communications.The basic idea is to use the information collected at thedestination node to compute nearly disjoint paths. In contrastwith our approach, no analysis is provided in [17], and the evaluationof the scheme is based solely on simulations. In [18], thecomputation of disjoint paths is achieved by proper schedulinggiven a set of path lengths. As is the case in [17], the work in [18]does not take into account any performance metric directly associatedwith video quality; in contrast, the optimization is basedon delay constraints. In [19] and [20], MDC is considered forvideo multicast in wireless ad hoc networks. A rate-distortionmodel is defined and used in an optimization problem wherethe objective is to minimize the overall video distortion by properlyselecting routing paths. Due to the complexity of the optimizationproblem, a genetic-algorithm-based heuristic approachis used to compute the routes. Although the approach in [19]and [20] takes into account the distortion of the video, it doesso using MDC. Our approach differs not only on the way wemodel video distortion, but also on the fact that we focus on LC,which is more popular in applications today. In [21], a multipathrouting scheme for video delivery over IEEE 802.11-basedwireless mesh networks is proposed. To achieve good traffic engineering,the scheme relies on maximally disjoint paths. However,this work does not consider distortion as a user-perceivedmetric. It simply aims to reduce the latency of video transmissions,and thus, its objective is different from what we considerhere.The work in [22] proposes a scheme for energy-efficientvideo communications with minimum QoS degradation for LC.However, the routing scheme is based on a hierarchical model.To support such a hierarchy, the nodes need to be groupedin clusters, and a process of electing a cluster head has tobe executed periodically, increasing the processing and datacommunication load of the network. In contrast, our proposedscheme assumes a flat model where all nodes in the networkare equivalent and perform the same set of tasks.III. MODEL FORMULATIONOur analytical model couples the functionality of the physicaland MAC layers of the network with the application layerfor a video clip that is sent from a source to a destination node.The model for the lower layers computes the packet-loss probabilitythrough a set of equations that characterize multiuser interference,physical path conditions, and traffic rates betweensource–destination pairs in the network. This packet-loss probabilityis then input to a second model to compute the frame-lossprobability and, from that, the corresponding distortion. Thevalue of the distortion at a hop along the path from the sourceto the destination node depends on the position of the first unrecoverableframe in the GOP.A. PHY- and MAC-Layer ModelingWe consider an IEEE 802.11 network that consists of a setof nodes denoted by N . For each nodeN , denote by P the set of paths that pass via node . Forsimplicity, we assume a constant packet length of bits for allsource–destination paths. There are various models [23]–[26]that attempt to capture the operations of the IEEE 802.11 protocol.These models are application-agnostic and provide an estimateof the packet-loss probability due to interference frombackground traffic in the network. We use the model in [26] torepresent the operations of the PHY and MAC layers; specificscan be found in [26].The approach followed in [26] is based on network-lossmodels. Three sets of equations are derived. The first correspondsto a scheduling model that computes the serving rateof a path at each node , as a function of the schedulercoefficient and the service time(1)The second captures the IEEE 802.11 MAC and PHY modelsand associates the probability of a transmission failure withthe channel access probability(2)PAPAGEORGIOU et al.: DISTORTION-RESISTANT ROUTING FRAMEWORK FOR VIDEO TRAFFIC 415where is the number of backoff stages and is the minimumwindow size. Finally, the third set of equations describes therouting model and computes the incoming traffic rate to thenext-hop node based on scheduling and transmission failuresfor all N P (3)A fixed-point method is used to couple the equations in aniteration, until convergence to a consistent solution is achievedand satisfied. The solution is an approximation to the packet-lossprobability per link and the throughput of the network. Notehere that any other method can be used to find , which can thenbe used in our video distortion estimation framework describedin Section III-B.B. Video Distortion ModelOur analysis is based on the model for video transmissiondistortion in [10]. The distortion is broken down into sourcedistortion and wireless transmission distortion over a single hop.Instead of focusing on a single hop, we significantly extend theanalysis by developing a model that captures the evolution ofthe transmission distortion along the links of a route from thesource node to the destination node.We consider a GOP structure that consists of an I-frame followedby P-frames. We index each frame in the GOPstructure starting from 0, i.e., the I-frame corresponds to index0, and the P-frames correspond to indices from 1 up to .We focus on predictive source coding where, if the th frameis the first lost frame in a GOP, then the th frame and all itssuccessors in the GOP are replaced by the st frame atthe destination node. Assuming that the sequence of frames isstationary, the average distortion introduced by such a frame replacementdepends on the temporal proximity of the replacedframe to the st frame and not on the actual position ofthe frame (in the GOP) to be replaced. In [10], a linear model,which corresponds to empirical data, is used to provide the averagemean squared error (MSE) as a function of the temporaldistance between frames. Using this model, the average distortionis computed in [10] to be(4)for . The minimum distortionis achieved when the last frame in the GOP is lost andthe maximum, , is attained if the first frame islost. The values and depend on the actual videosequence and have to be determined by measurement. To automatethe computation of the distortion, however, we computethe minimum and maximum values, and , respectively,of the distortion over different GOPs for each clip anduse their average values.If is the source coding rate, and are the percentageof bits in the GOP that belong to an I-frame and a P-frame,respectively, then:• the number of packets per an I-frame ;• the number of packets per a P-frame ;where and is the duration of a GOP.We define the sensitivity of a frame to lost packets to be theminimum number of packets that belong to a frame that, if lost,can prevent the correct decoding of the frame. We denote bythe sensitivity of an I-frame, and by , that of a P-frame. Forthe sensitivity of the I-frame, it holds that ,and for the P-frame it is . Note that anyfurther packet losses beyond for the I-frame and for theP-frame do not cause any additional distortion for that particularGOP because, in that case, the corresponding frame is alreadyconsidered lost and cannot be correctly decoded.We extend the wireless transmission distortion introducedin [10] and defined in (4) for the multihop case. We define thesequence to represent the wirelesstransmission distortion along the path from the source to thedestination, where is the wireless transmission video distortionat the th hop. In general, at the th hop, the distortioncan take one of the following discrete values given by (4):(5)The sequence of values the process takes depends on thenumber of lost packets per frame in the GOP at each link.Clearly, w.p.1, for all .We track the packet losses per frame by defining a multidimensionalcounting process(6)where the index is again the hop count along the path fromthe source to the destination. The first component of thecounting process tracks the number of lost packets fromthe I-frame at the th hop along the path, and the componentscount the lost packets that belong to the subsequentP-frames in the GOP at the th hop. The state space foreach of these components is given by(7)(8)for .Assuming that the packet losses in different frames in theGOP are independent events (likely if the fading patterns changein between), the transition probabilities for the process , canbe computed. Suppose that is the packet-loss probability providedby the analytical model that describes the MAC layer (inSection III-A). Furthermore, let the value of at hop beand at hop be. Since each of the components of isa counting process, the corresponding sample paths are nondecreasingw.p.1,, and therefore. Regarding the transitions of that correspond to theI-frame, we have that(9)The corresponding transition probability is equal to theprobability of losing packets out of theremaining packets in the I-frame. Therefore, the transition416 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 23, NO. 2, APRIL 2015probabilities for the first component are given by thefollowing binomial distribution:otherwise(10)Similar to the transitions of , the transitions ofthat correspond to the P-frames in the GOPare specified by the transition probabilitiesotherwise(11)From the transition probabilities (10) and (11), one can computethe distribution of lost packetsin each frame at hop assuming that there are no lost packets atthe source. In particular, for the I-frame, we have(12)for . We define the row vector(13)Then, (12), in vector form, becomes(14)for , where is the transition matrix forthe process . To make the dependence of the matrixto the packet-loss probability explicit, we use the notation.It follows then from (14) that(15)for a sequence of packet-loss probabilities ,where . Following the same process, we cancompute the corresponding distribution for the th P-framein the GOP(16)where and is the transitionmatrix for the process . As one canimmediately see, the packet-loss probabilities, computed afteraccounting for the PHY and MAC, in Section III-A, can be usedhere to compute the probabilities .C. Video Distortion DynamicsThe value of the distortion at hop along the path from thesource to the destination node depends on the position of thefirst unrecoverable frame in the GOP. We define the processsuch that is the index of the first unrecoverableframe in the GOP structure at hop . At each hop ,the process takes values in the setC (17)The value 0 indicates that the first (I-frame) is lost, and thereforethe whole GOP is unrecoverable. A value between 1 anddenotes that the corresponding P-frame is the first frame in theGOP that cannot be decoded correctly, and the value indicatesthat no frame has been lost thus far, yielding a distortion .The definition of the process suggests that the sample pathsof the process are nonincreasing w.p.1., which means that, for all .The dynamics of the process and therefore of the videodistortion depend on the process . The value of the processat each hop indicates the number of lost packets up to thatpoint along the path from the source to the destination node.These losses specify the first unrecoverable frame in the GOPand, hence, the value of the distortion at that point on the path.The transition probabilities at hop of the processfor C (18)specifying the likelihood that the first unrecoverable frame athop is given that the first unrecoverable frame at hop is ,can be computed using the distributionsgiven by (15) and (16). In particular, we consider the followingcases.1) For : In this case, the first unrecoverable frame at hopis the first frame (I-frame) in the GOP. This means thatthe GOP is unrecoverable, and the value of the processfor the rest of the path cannot be anything else other than 0.Therefore, the transition probabilities in this case are givenby(19)2) For : When the first unrecoverableframe in the GOP at hop is a P-frame, it is possible duringthe transition to the next hop to have packet lossesthat make an earlier frame in the GOP unrecoverable. Thiswill happen if the number of lost packets in an earlier frameis such that the total number of lost packets for the particularframe reaches the sensitivity of that frame type. This isused to compute the transition probabilities in (20), shownat the bottom of the next page.3) For : This corresponds to the case where no frameshave been lost in the GOP up to hop . The transition to thenext hop may cause packet losses such that either a framein the GOP becomes unrecoverable, or none is lost and notransition of happens. The transition probabilities in thiscase are given by (21), shown at the bottom of the nextpage.PAPAGEORGIOU et al.: DISTORTION-RESISTANT ROUTING FRAMEWORK FOR VIDEO TRAFFIC 417The value of the video transmission distortion depends on thevalue of the process at hop . More specificallyifif and (22)where is given by (4). Therefore, the dynamics of the videotransmission distortion are defined by the transition probabilitiesgiven by (19)–(21).IV. OPTIMAL ROUTING POLICYNext, our objective is to find the path that yields the minimumvideo transmission distortion between any source and destination.By using the analysis presented in Section III, we pose theproblem as a stochastic optimal control problem where the controlis the selection of the next node to be visited at each intermediatenode from the source to the destination.If N is the set of nodes in the network andC is the set of possible values for theprocess described in Section III-C, we define the state spaceof our problem asX N C (23)Each state X is a tuple such that . The firstcomponent N represents the current node on the pathfrom the source to the destination. The second component Cpoints to the first unrecoverable frame in the GOP and, therefore,specifies the video distortion at the current node.Suppose that at the th hop of the path between the sourceand the destination the node is . Suppose furthermore that thefirst unrecoverable frame in the GOP structure is . Then, thecurrent state of the system is . At this point, thesystem needs to select the next node to be visited. Denote thisselection by . Clearly, the node to be selected next shouldbelong to the set U of the one-hop neighbors of . Thismeans that if at stage the state is and a decisionis made such that U , the new state at the nextstage will be . The selection of as thenext node specifies the packet-loss probability from the analysisin Section III-B and accounts for both channel-induced andinterference-related failures. Moreover, it specifies the transitionprobabilities for the second component of thestate. To make the dependence of these transition probabilitiesto the selection explicit, we use the notation .We seek to find the optimal sequence of statesthat minimizes the total video transmission distortion from thesource to the destination node. The first component of each statethat belongs to such an optimal sequence of states indicates thenode that has to be visited next in the optimal path.For the initial state and the sequence of decisions, the cost to be minimized is defined asX(24)where is the length of the path, the function is the runningcost, and the function is the final cost. We call thisoptimization problem the Minimum Distortion Routing (MDR)problem.The running cost is the video transmission distortion at stateifif (25)(20)(21)418 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 23, NO. 2, APRIL 2015The final cost is defined to beif is the destination node andif is the destination node andotherwise(26)If is the source and is the destination of the connection,then the initial state for the optimization problem is definedas . Any state in the boundary setB X (27)is a terminating state for the optimization problem.If is an optimal decision sequence, we define the valuefunction as(28)for an initial state X . If at some stage the state is, we define the minimum cost-to-go as(29)and for the final stage(30)The MDR problem has the following properties.Lemma 1: MDR satisfies the overlapping property, i.e., theproblem can be broken down into smaller problems that retainthe same structure.Proof: From (29), it is clear that computing the cost-to-gorequires the calculation of the cost-to-go . Thismeans that the initial problem of finding the optimal route betweena source and a destination node can be solved if the subproblemof finding an optimal path between an intermediatenode and the destination can be solved.Lemma 2: MDR satisfies the optimal substructure property,i.e., the subpath of an optimal path is optimal for the correspondingsubproblem.Proof: This is immediate from the definition of the costto-go function defined in (29).Theorem 1.: The MDR problem is solvable by dynamicprogramming.Proof: An optimization problem can be solved by dynamicprogramming if the problem satisfies both the overlapping andthe optimal substructure properties [27]. The proof is immediatefrom Lemmas 1 and 2.Since the state space X is of finite dimension, the optimizationproblem can be solved via dynamic programming byback-propagating the computation of the value of the cost-to-gofunction [28], [29] starting from the terminating states of theboundary set B and moving backwards toward the initial state. If at some stage the state is , we consider allpossible neighbors of node that are one hop away. Foreach link , a packet-loss probability characterizesthe quality of this specific link. Using this , we can computethe transition probability from the current stateto a new state through the probabilitythat is defined in Section III-C for allpossible values of the second component of the state. Amongthe neighboring nodes of node , we choose as the next hoptoward the destination node, the node that corresponds to theminimum cost-to-go at stage defined in (29).Discussion: In essence, the MDR routing policy distributesthe video frames (and the packets contained therein) across multiplepaths and in particular minimizes the interference experiencedby the frames that are at the beginning of a GOP (to minimizedistortion). The I-frames are longer than other frames.Their loss impacts distortion more, and thus these are transmittedon relatively interference-free paths. The higher protectionrendered to I-frames is the key contributing factor in decreasingthe distortion with MDR (we also observe this in bothour simulations and testbed experiments).V. PROTOCOL DESIGNTo compute the solution to the MDR problem described inSection IV, knowledge of the complete network (the nodes thatare present in the network and the quality of the links betweenthese nodes) is necessary. However, because of the dynamicnature and distributed operations of a network, such completeknowledge of the global state is not always available to thenodes. In practice, the solution to the MDR problem can be computedby the source node based on partial information regardingthe global state that it gathers. The source node has to samplethe network during a path discovery process in order to collectinformation regarding the state of the network.The sampling process includes the estimation of the ETXmetric [3] for each wireless link in the network. These estimatesprovide a measure of the quality of the links. The estimationprocess can be implemented by tracking the successfulbroadcasting of probe messages in periodic time intervals. TheETX estimates computed locally in the neighborhood of a nodeare then appended in the Route Request messages duringthe Route Discovery phase. Upon reception of this message bythe destination, a Route Reply message is sent back to thesource that contains the computed ETX estimates, which are usableto compute .The source node then can solve the optimization problem(Section IV) by using the information gathered via the samplingprocess described above. Specifically, upon receiving theRoute Reply messages, the source node follows the stepspresented in Algorithm 1. It defines the initial state of the optimizationproblem as , where is the GOP size. Itdefines the boundary setB that serves as the terminating set forthe optimization process. Next, a call to Algorithm 2 producesthe next node in the path. Because of the stochastic nature ofthe second component of the state, its next value has to be estimated.The estimation is based on the transition probabilitiesgiven by (19)–(21). In particular, the estimated valueis the expected value of the second component given its currentvalue(31)PAPAGEORGIOU et al.: DISTORTION-RESISTANT ROUTING FRAMEWORK FOR VIDEO TRAFFIC 419Algorithm 1: Path discovery (Uses Algorithm 2)Input: source node , destination nodeInput: frame sizeOutput: route from to1: /* DSR Route Discovery Phase */2: send3: receive messages4: N node-ids from messages5:6: /*Path Discovery Initialization Phase*/7:8:9: B10:11:12: append to13:14: /* Path Computation /*15: repeat16: Next_node_in_optimal path( B N )17:18:19:20:21: append to22: N N23: until BTo avoid loops in the produced route, node is removedfrom the set N of available nodes. The process is repeatedwith a new initial state until the boundary set Bis reached. In each iteration, Algorithm 2 is called to determinethe next node on the path from the source to the destination .Algorithm 2 takes as an input an initial state , a boundaryset B, the GOP size and the set N . It solves the dynamicprogramming problem described in Section IV by first creatingthe state space of the system and then using the value iterationmethod, starting from the boundary set and moving backwards.At each stage of the process, it also computes the optimal policy.At the end of the computation, the ID of the best node to be selectedis returned by using the optimal policy for the first stage.In the source routing scheme, the routing decisions are madeat the source node ahead of time and before the packet entersthe network. Therefore, source routing is an open-loop controlproblem where all decisions have to be made in the beginning.The decisions are taken sequentially; a decision at a stage correspondsto the choice of the next-hop node at the node correspondingto the stage. The source node cannot know exactly thestate at the th stage of the selection process becauseof the randomness of the second component of the state.It has to estimate at each stage the value of and use this estimateto make a decision for that stage.The sequence of steps followed by each node in the networkis shown in Fig. 2.Algorithm 2: Next node in optimal pathInput: initial state , boundary set BInput: set of available nodes NInput: frame sizeOutput: next node in the optimal path1: /* Initialization Phase */2: C3: X N C4: X5:6: /* Optimal Control Computation */7: for TO 1 do8: if then9: for all X do10:11: end for12: else13: for all X do14:15:16:17:18: end for19: end if20: end for21:22: returnThe flowchart that corresponds to the operation of the sourcenode is depicted in Fig. 2(a), while the flowcharts for an intermediatenode and the destination node are shown in Fig. 2(b).VI. RESULTSWe show the performance gains of the proposed routingscheme via extensive simulations and testbed experiments.For the simulation experiments, we use the network simulatorns-2 [30]. The simulator provides a full protocol stack for awireless multihop network based on IEEE 802.11. We extendthe functionality of ns-2 by implementing our proposed routingscheme on top of the current protocol stack. For the testbed experiments,we implement our scheme using the Click modularrouter [31], [32]. We implement two different mechanisms andexperiment with each, one after another. The first mechanismestimates the ETX value for each link between a node and itsneighbors for all the nodes in the network. The mechanismbroadcasts periodically (every 1 s) small probe messages ofsize 32 B and checks for acknowledgments from the neighborsof the node. The routing policy computes the minimum ETXpath from the source to a destination and uses that path totransfer the video packets. The second mechanism implementsthe protocol defined in Section V in order to compute the routeson the wireless network that achieve minimum video distortion.Furthermore, we use EvalVid [33], which consists of a set oftools for the evaluation of the quality of video that is transmittedover a real or simulated network. The toolset supports different420 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 23, NO. 2, APRIL 2015Fig. 2. Flowchart for application-aware routing. (a) Source node. (b) Intermediateand destination node.performance metrics such as the PSNR and the MOS [34]. Toadapt the EvalVid to the ns-2 simulator, we follow the proceduredescribed in [35]. Specifically, for each simulated video flow betweentwo nodes in the network, we need to produce a sequenceof files. We start with the initial uncompressed video file thatconsists of a sequence of YUV frames [36]. Using the EvalVidtoolset, we transform the YUV format first to the MP4 and thento the MPEG4 format, which contains hints of how the video fileshould be transmitted over a network. When we do this, we donot constrain the GOP size to be the same from GOP to GOP,but rather, we let the tool decide the appropriate size for eachGOP based on the video clip content. We then need to capturea log from an attempted transmission over a real network. Thislog indicates which frame and at what time instance was transmittedover the network. The log is fed as an input to the ns-2simulation, which plays back the video transmission, producingat the end two sets of statistics regarding the transmission, onefor the sender and one for the receiver. By applying the EvalVidtoolset on this sequence of files, we can reconstruct the videofile as it is received by the destination and compare it to the initialvideo file. The comparison provides a measure of the videoquality degradation due to the transmissions over the network.A. Simulation ResultsTo evaluate the performance of the MDR protocol, we compareit against the minimum ETX routing scheme. We considera wireless multihop network that covers an area of 10001000 m . The nodes are distributed over this area accordingto a Poisson random field. The pair of nodes that constitute theFig. 3. Average PSNR for 5 and 10 video connections (Set-I).TABLE IVIDEO ENCODING PARAMETERSsource and destination in each case are selected at random. Ifthey happen to be neighbors, we discard that pair and repeat theprocess until we select a source and destination that are morethan one hop apart. Each node uses the IEEE 802.11b protocolwhere the propagation model is the Two Ray Ground, yielding acommunication range of about 250 m. Each set of experimentsis repeated 10 times, and the average value is reported in eachcase.In Table I, three sets of values are defined for the video encodingparameters. We vary the GOP size and the frame rateand thus, effectively, the video encoding rate. We keep the framesize constant as per the QCIF standard (176 144 pixels) andset the maximum packet size to 1024 B. Our simulation experimentsfocus on three metrics: 1) the PSNR, which is an objectivequality measure; 2) the MOS, which is a subjective qualitymetric; and 3) the delay experienced by each video connection.The effect of the node density on the PSNR is shown in Fig. 3.We plot the average PSNR for 5 and 10 concurrent video connectionsfor different node densities and for Set-I of the videoencoding parameters of Table I. We also plot the performanceof our proposed scheme (MDR) when instead of estimating theper-link packet-loss probabilities through the ETX metric, weuse the model in Section III-A to do so. In this case, we assumefull knowledge of the network topology, and so the state spacewhere we solve the optimal control problem of Section IV is asuperset of the state space when we collect the local estimatesof ETX through the network.We then fix the number of nodes to 20 (distributed as describedearlier) and compute the PSNR of each video connectionwhen: 1) the network serves four concurrent connections,and 2) when the number of concurrent connections is 8. In eachcase, the source–destination pairs are chosen uniformly fromamong the nodes in the network. We define the tail distributionof PSNR as the probability and plot itin Fig. 4 for the different traffic loads. The tail distribution ofPSNR that corresponds to Set-II of the video encoding parametersis shown in Fig. 4(a). For both the light and heavy trafficPAPAGEORGIOU et al.: DISTORTION-RESISTANT ROUTING FRAMEWORK FOR VIDEO TRAFFIC 421Fig. 4. Tail distribution of PSNR. (a) Set-II. (b) Set-III.loads (four and eight concurrent connections, respectively), theMDR protocol performs better, providing a higher percentageof paths that have a given PSNR value. As expected, a performancedegradation is observed for both schemes when the trafficload increases. This is due to the fact that under heavier trafficconditions in the network, the interference becomes more prevalent;furthermore, interference across adjacent links can be correlatedin some cases. Under such network conditions, the benefitsfrom the distortion-based optimization have a greater impacton the path selection process for the different types of frames ina video GOP as discussed earlier. The I-frames are sent on relativelyuncongested paths. With fur concurrent connections, themedian of PSNR is 17 for the minimum ETX policy and 18 forthe MDR protocol. The median decreases when the traffic loadincreases, and it is 9.5 and 10 for the minimum ETX and the application-aware schemes, respectively. The tail distribution ofPSNR that corresponds to the parameters of Set-III is shown inFig. 4(b). As is the case for Set-II, a large GOP size results ina denser state space, and therefore a better performance for theMDR protocol. In the case of the light traffic loads (four concurrentconnections), the median for the PSNR is 15 for the minimumETX scheme and 17 for MDR. Under heavier traffic loads(eight concurrent connections), Pthe median for the PSNR is 9for the minimum ETX scheme and 10.5 for the MDR protocol.The effects of the sensitivities, and , on the MDR-protocolare shown in Fig. 5. As before, the number of randomlyplaced nodes is set to 20. We compare the performance of theMDR protocol when and . Inthe first case, the sensitivity to the packet losses per frame is setto the maximum; in this case, a single packet loss in a framecauses the frame to be unrecoverable. Fig. 5(a) and (b) presentsthe same comparison for Set-II and Set-III of the encoding parameters,respectively. In both cases, relaxing the sensitivity ofan I- or P-frame to packet losses (i.e., increasing the value ofand ) deteriorates the performance of the scheme. A lowersensitivity (larger values of and ) diminishes the impact ofpacket losses on the video distortion, thus limiting the performancegains from using the scheme. For Set-II, the median ofthe PSNR is 17 for the minimum ETX scheme and 18 and 16 forMDR for and , respectively.When the video encoding parameters of Set-III are used, themedian values of the PSNR are 15 for the minimum ETX caseand 17 and 15 for the MDR protocol when and, respectively.Although the PSNR is the most widespread objective metricto measure the digital video quality, it does not always captureuser experience. A subjective quality measure that tries to capturehuman impression regarding the video quality is the MOS.Fig. 5. PSNR dependence on packet-loss sensitivity. (a) Set-II.. (b) Set-III.Fig. 6. Average mean opinion score.The metric uses a scale from 1 (worst) to 5 (best) to representuser satisfaction when watching a video clip [34].To evaluate the MOS with the MDR and ETX-based routing,we consider the wireless multihop network with the averagenumber of nodes equal to 20 (distributed as discussed earlier).The initial raw video is processed using the H.264 encoder witha maximum GOP size of 30 frames and a sampling frequencyof 30 frames per second. Fig. 6 shows the average MOS asthe number of concurrent video flows in the network increases.When the number of connections is three, the traffic load is low,and so both the ETX-based routing and MDR provide similaruser experience regarding video quality. As the traffic load increases,the distortion-based routing distributes the load acrossthe network, causing the I-frames to avoid highly congestedareas. When a moderate number of video flows are concurrentlyactive in the network, there is a significant gap in video qualityin favor of MDR. However, no significant gains are possiblewith MDR when congestion is high (more than nine concurrentvideo flows are active). In such cases, there are no congestion-free routes available to be used by MDR. This results inhigher MOS values, which translates to a better user experience.The delay characteristics of the two routing schemes areshown in Fig. 7 for Set-II of the video encoding parameters.The nodes are again randomly distributed according to aPoisson random field with varying density with values 14, 16,and 18. The traffic load corresponds to five concurrent videoconnections. We compute and plot the mean and varianceof the end-to-end delay for the five connections along withthe 95% confidence intervals. As seen in Fig. 7, for all threedifferent node densities, the MDR protocol produces routes thatexhibit less variability compared to the routes computed by theminimum ETX scheme. Smaller variability implies less jitter,which in turn suggests a better video quality as perceived bythe end-user. Moreover, because of the smaller variability, therequired sizes of buffers at the intermediate nodes is smaller.422 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 23, NO. 2, APRIL 2015Fig. 7. Delay characteristics for five concurrent connections (Set-II). (a) Meandelay. (b) Variance of delay.Note that this benefit is in addition in the reduction in distortionas discussed above. The primary reason for this reduction inthe delay is that the distortion-aware approach tries to avoidpaths that are congested; ETX, on the other hand, results inconvergence of flows onto a few good paths. For both routingschemes, the mean and variance of the delay increase withthe average number of nodes in the network. As the networkbecomes denser, the effect of interference becomes moreprofound, increasing the number of retransmissions and, thus,the delay. In contrast, a sparser network topology provides asmaller number of “good” routes, and thus it is more difficult toseparate flows and cope with congestion. It is in the moderatedensity regions, where the MDR protocol provides the mostbenefits in terms of delay and jitter.In order to understand how the characteristics of the videotraffic and, in particular, the motion level affect the distortion,we experiment with two classes of video clips: slow- and fastmotionvideo. The motion level of a video clip can be computedthrough appropriate detection algorithms; typically, these algorithmsclassify a video clip as a slow-motion or a fast-motionvideo. Tools such as PhysMo [37] and AForge [38] can be usedto perform this classification.We evaluate the MOS of slow- and fast-motion video flowswhen the MDR routing scheme is used. We consider a wirelessmultihop network with an average number of nodes equal to 20(distributed as discussed above). Fig. 8(a) shows the averageMOS for Set-II, and Fig. 8(b) shows the MOS in the case ofSet-III. In both cases, the slow-motion flows experience slightlylower distortion compared to the fast-motion videos and, thus,higher MOS. This is the result of the fact that in the slow-motionvideo clips, the I-frames carry most of the information. Due torapid changes in the content of a fast-motion clip, the P-framesare larger and contain more information than the P-frames forslow-motion video flows. The MDR routing scheme protectsthe I-frames by routing the corresponding packets through lesscongested paths. The P-frames are packed together on congestedpaths and could be lost. As evident from Fig. 8, such losses affectfast-motion video to a greater extent. However, as we increasethe traffic to extremely high levels (11 flows), the performanceof slow- and fast-motion videos is similar due to highframe losses.Next, we compare the behavior of MDR against a routingprotocol that chooses routes so as to minimize the overallexpected transmission time (ETT) [39]. The ETT is a functionof the loss rate and the bandwidth of the link. Therefore, it cancapture delays due to transmissions in multirate settings, unlikeETX, which only estimates the packet-loss ratio at the base rate.Fig. 8. Average value of the MOS for slow- and fast-motion video flows.(a) Set-II. (b) Set-III.Fig. 9. Comparison between the MDR and the ETT-based routing scheme.(a) Mean opinion score. (b) Mean delay.In Fig. 9, the comparison between MDR and the ETT-basedscheme is shown. The mean opinion score is shown in Fig. 9(a),where we observe a behavior similar to the one shown in Fig. 6.The average end-to-end delay is shown in Fig. 9(b). In contrastto what happens when the ETX is used, the routing mechanismthat minimizes the total ETT on the path from the source tothe destination yields smaller delays. However, the delays withMDR are comparable to those with ETT-based routing; in otherwords, the video quality is improved with minimum impact ondelay with MDR.B. Testbed ExperimentsNext, we evaluate the MDR protocol on a wireless indoortestbed composed of 41 nodes [40]. The nodes are based onthe Soekris net5501 hardware configuration and run a DebianLinux distribution. Each node is equipped with 500 MHz CPU,512 MB of RAM, and a WN-CM9 wireless mini-PCI card,which carries the AR5213 Atheros main chip. Each node usesIEEE 802.11a to avoid interference from co-located campusnetworks. To further minimize interference from these othernetworks, all experiments were performed at night. The networktopology of the testbed is shown in Fig. 10.The experiment setup consists of an initial raw video processedusing the H.264 encoder with a maximum GOP sizeof 30 frames. The traffic load ranges from 2 to 12 concurrentvideo flows, where the sender and receiver pairs are randomlyselected. Each scenario is repeated five times.To capture the effect of the ETX-based and MDR routingschemes on the user experience, we measure the average MOSas the number of concurrent video flows in the network increases.Fig. 11 shows that as the number of video connectionsin the network increases, the average MOS for both schemesdecreases. However, when the traffic load increases, the MDRprotocol computes multiple paths between the source and thePAPAGEORGIOU et al.: DISTORTION-RESISTANT ROUTING FRAMEWORK FOR VIDEO TRAFFIC 423Fig. 10. Network topology of the wireless network testbed.Fig. 11. Average value of MOS for a different number of concurrent videoflows.destination nodes and is better in distributing the load acrossthe network such that the frames at the beginning of a GOPavoid congestion. On the other hand, the shorter paths computedthrough the ETX-based scheme become quickly congested, resultingin heavy packet losses. As discussed, we observe thatthis primarily has a negative impact on correctly decoding therelatively longer (but more important) I-frames, resulting in aworse user experience.A visual comparison between Figs. 6 and 11 immediatelyshows the similarity in behaviors between our simulations andreal experiments, thereby validating the realism of our simulations.Fig. 12 shows snapshots from video clips transmittedover the testbed under different traffic conditions for both theETX-based and the MDR protocols. As shown in Fig. 11, whenthere are two connections in the network, the MOS for bothrouting schemes is the same. This is reflected in Fig. 12(a) and(b), where both snapshots are of very similar quality; in thiscase, the traffic load is fairly low, and congestion is not a bigissue (the flows do not cause high levels of interference to eachother). When there are eight concurrent video connections (andinterference across connections is more prevalent), the MDRprotocol achieves a higher MOS compared to the ETX-basedscheme. This is visually depicted in Fig. 12(c) and (d), wherethe snapshot in the case of MDR is much clearer than the noisysnapshot form the ETX-based protocol. Specifically, our protocoldistributes the I-frames across diverse paths with low interference;P-frames that are toward the end of GOPs are relativelypacked together onto more congested paths. The ETXFig. 12. User experience under different traffic loads. (a) Video snapshot—MDR (two connections). (b) Video snapshot—ETX (two connections).(c) Video snapshot—MDR (eight connections). (d) Video snapshot—ETX(eight connections).Fig. 13. Routes for I- and P-frames.metric, which is agnostic to video semantics, does not distinguishbetween frames and packs them together, causing highdistortion. It is difficult to explicitly prove that I- and P-framesfollow somewhat disjoint paths due to the stochastic nature ofthe process. The intuition, however, is based on the fact that thesensitivities and of the I- and P-frames, respectively, are, ingeneral, different. This has as a consequence that the frame-lossprobability for an I-frame is different from that of a P-frame,resulting in their choosing different routes.To illustrate this, we consider a simple network as shown inFig. 13 and perform an experiment with eight concurrent flows.For each video flow , we show in Fig. 13 thecorresponding sender and receiver denoted by and , respectively.We focus on flow 3 and show the different routesfor the I- and P-frames for both the MDR and the ETX-basedrouting protocols. We notice that when MDR is used, the routesfor the I- and P-frames are different. Specifically, the routes forthe packets that belong to I-frames, and the corresponding fractionsof the I-frame traffic they serve are as follows: 58.4% ofthe I-frame packets are routed through424 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 23, NO. 2, APRIL 2015; 14.6% of the I-frame traffic is routedthrough ; 16% isrouted through ; and 11% through. Meanwhile,the routes and traffic split for P-frame packets are as follows:56.7% of the P-frame packets use the path; 6.3% is using ;24% is routed through ; and 13%through . Noticethat the majority of I-frames are routed via a path that is disjointfrom the path followed by the majority of the P-frames.In contrast to the MDR case, when the ETX-based scheme isused, both the I- and P-frames are routed through the same path:.VII. CONCLUSIONIn this paper, we argue that a routing policy that is application-aware is likely to provide benefits in terms of user-perceivedperformance. Specifically, we consider a network thatprimarily carries video flows. We seek to understand the impactof routing on the end-to-end distortion of video flows. Towardthis, we construct an analytical model that ties video distortionto the underlying packet-loss probabilities. Using this model,we find the optimal route (in terms of distortion) between asource and a destination node using a dynamic programmingapproach. Unlike traditional metrics such as ETX, our approachtakes into account correlation across packet losses that influencevideo distortion. Based on our approach, we design a practicalrouting scheme that we then evaluate via extensive simulationsand testbed experiments. Our simulation study shows that thedistortion (in terms of PSNR) is decreased by 20% compared toETX-based routing.
Design and Implementation of Mobile Lightweight TV Media System Based on Android
With the maturity and popularization of 4G mobile networks, and with mobile Internet devices and hardware support, mobile Internet has become a hot topic in the IT industry. The number of user base and online time in mobile devices are on increase [II. People are not only limited to computer or TV but access to get video infonnation in the mobile lightweight TV. In view of this situation, this paper focuses on the design and implementation of mobile lightweight TV media system based on Android. The design and implementation of mobile lightweight TV media system based on Android are different from that on the PC side, and we must give full consideration to the characteristics of mobile tenninal, and strive to change numerous for brief. The system is divided into client and server. The interface of the design is concise, and the client and server are easy to operate, maintain and update. The HTML5, CSS3, JavaScript and other programming languages, such as PHP, Java, MySQL and Apache technology, are used in the implementation of mobile lightweight TV media system. What’s more, these technologies are open and free source for that. I use Ajax technology to transfer JSON data to make the asynchronously interaction between the client side and server side come true. The asynchronous interactive through Ajax allows users not to have to refresh the entire web page, but only refresh the part page, which reduces the pressure on the client side and the server side, and users can get much better page browsing experience.
THE DESIGN OF MOBILE LIGHTWEIGHT TV MEDIA SYSTEM BASED ON ANDROID The design concept of mobile lightweight TV media system is not only to meet the needs of users to browse text, video and other information, but also to meet the administrator’s convenience to update and maintenance background page. For user page, we should strive for simplicity, and operate easily [21. For management background page, we should make sure that administrators can manage it in batches. A. The design of client The users’ fIrst impression on an App comes from the client page. So, it is an important factor of whether the user to install and use the App. In order to get a better user experience, the client interface should be attractive and easy to operate. When users open an App, what they see fIrst is the main interface, and then is a concise array of columns one to column six. In particular, the sixth column is broadcast live. When users click every column box, they can see that the page jump to the corresponding column. In such a column, they can see the program one to program four about the information of text and video. This mobile lightweight TV media system allows users to interact with App. For example, if user is interested in someone program, he or she can collect it and click on a “like” button through the operation of the corresponding. For the client interface, there are features of on-demand ..
B. The design of sever Server side is mainly for administrators. Although the server is not directly related to the user, it is the guarantee of user access to information. Although the client is based on the mobile terminal, in order to facilitate the managers to manage and release information, the server management is based on the PC side. Administrators can add, update and delete the client’s text and video information in timely through the background server managements system. In addition, Manager can be allowed to login and exit management system.
Administrators can login user name and password through the input window, and then submit the fonn in “POST” way through the intelligent form of HTML5. Then, server deals with the PHP file. The backend server will submit the information and the background database to match the test, to detennine whether to allow the login operation. Once registered successful, administrators can click on the “Add” button to add text and video and other infonnation. Administrators can also click on the “Edit” button to edit and update the database of information. The “Delete” button allow Administrators to delete the infonnation of the database. Administrators can click on “Save” button and “Exit” button to save the operation and to exit the management interface [3].
Design and Implementation of an Automatic Management System for vehicles using the Android Platform
SINCE its creation over 100 year ago, the car has positioned itself as the predominant mean of transport in the world and it has become a key instrument for the functioning of society. However, over the last decades, the world has experienced an intense process of environmental awareness, where the automobile plays a significant role by being one of the main pollution sources that exist in the planet.
The standard OBDI was created with the objective of monitoring the pollution levels of light levels. OBDI is in charge of monitoring the engine’s main components and its implementation in new vehicles became mandatory in the United States since 1991 [1]. The current OBDII standard was developed in 1996 as a result of stricter environmental measures in the United States and its implementation in new vehicles has being mandatory since that year. Currently the OBDII standard has been implemented in most new vehicles around the world and it is main tool for a complete automotive diagnosis.
OBDII is not only able to determine errors in the vehicle operation; it is also capable of providing information in real time about different parameters of the system. Currently many companies require that their vehicles to be in constant use, this causes them to be at risk of mechanical failures, capable of compromising not only their integrity but also the occupants security. These failures can cause the vehicle stoppage for repair, which represent a problem in terms of cost and logistics for the owners. Therefore, a system that integrates the information provided by the OBDII standard with a userfriendly interface, allows companies and vehicle owners to be aware of the mechanical condition of their unit, being able to identify and solve car problems and prevent potential catastrophic damage to them. The implementation of this system ensures the reliability of the vehicles and safety of the occupants concerning the mechanical part.
STANDARD OBDII All printed material, including text, illustrations, and charts, must be kept within a print area of 6-1/2 inches (16.51 cm) wide by 8-7/8 inches (22.51 cm) high. Do not write or print anything outside the print area. All text must be in a two-column format. Columns are to be 3-1/16 inches (7.85 cm) wide, with a 3/8 inch (0.81 cm) space between them. Text must be fully justified. A format sheet with the margins and placement guides is available as both Word and PDF files as and . It contains lines and boxes showing the margins and print areas. If you hold it and your printed page up to the light, you can easily check your margins to see if your print area fits within the space allowed. A. Description In 1988, the US Environmental Protection Agency (EPA) established for vehicle manufacturers to necessarily include a program of self – diagnosis in automotive computers. This first generation of on-board diagnostic systems was known as OBDI. [2]
OBDI is a set of programmed instructions in computers or automotive brains. The main objective of these programs is to detect any damage that might occur in actuators, switches and the wiring of any system that is related to gas emissions from the vehicle. Therefore if the computer detects a failure or malfunction in any of these systems, an indicator on the dashboard is lit. The indicator therefore will only be lit when a problem is detected in the vehicle emissions. OBDII offers a second version of OBDI, the diagnosis programs are improved and show a new automotive monitoring function, unlike OBDI that was only able to identify damaged components. The monitoring function not only deals with issues related to gas emission systems but several others responsible for the proper operation and safety of the vehicle. OBDII also allows all this information to be available and accessible to owners and mechanics using the proper equipment. However, OBDII’s main characteristic is standardization but each manufacturer implemented it based on their own considerations. The connector, communication protocols, fault codes and terminology varied depending on the car brand, so diagnostic systems had no interoperability between cars from different manufacturers. Therefore OBDII three main objectives are: • Standardize communication procedures and protocols between the diagnostic equipment and automotive computers • Promote the use of a standard link connector on all vehicles. • Standardize the code numbers, code definitions and used language for the description and identification of car flaws. • Currently most modern light vehicles incorporate the OBDII standard; however, for heavy vehicles its implementation is not yet mandatory. B. ODBII Connector The Data Link Connector or DLC is the physical interface between the vehicle’s computer and the diagnosis system or equipment. In OBDI systems shape, size and connector location varied between manufacturers while using OBDII the 16-pin connector is standardize and even though its location varies between vehicles, in general it is possible to find it in the left hand part of the instrumental board.
C. OBDII Faul Codes Also known as Diagnose Trouble Code or DTC, these codes identify failures or malfunctioning in systems of specific components of the vehicle. [3] Each vehicle in its instrumental board has a malfunction indicator known as “Engine Light”. When the computer detects a problem in automotive operation of one or more systems: Assigns a fault code that identifies the source of the problem, store this code in the internal memory of the computer and turns on the malfunction indicator to inform the owner to carry out a check on the vehicle.
D. Bluetooth Device BAFX OBDII BAFX OBDII bluetooth adapter is a device that allows synchronization and communication between the computer of any vehicle manufactured after 1996 and an Android device or a a computer with Windows operating system. Figure 3 shows the device BAFX OBDII. [4]
Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry
Nowadays, many universities have taken advantage of elearning in the form of a website in the lecturing. Both students and faculties who want to access the e-learning should find for a computer or laptop. However the physical size of a computer, laptop, or something like that is such a large and not convenience to carry out. Considering the condition today, mobile devices have become a way of life for many people. Computers are now replaced by smartphones that can be inserted into a pocket and can be taken anywhere. However, the problem that arise is on a device with a small screen, users need to zoom and scroll to get the comfortable viewing. According the rapid development of technology, the operating systems for mobile devices are also getting popular such as iOS, Android, Blackberry, WebOS, Symbian, and others. Various operating systems raise the new problem in developing the mobile e-learning (called mobile learning), because of differences in the programming language and the differences in how the operation of each mobile device. Currently, there is hybrid application technology that can overcome the problem of many different operating systems on mobile phone. This new technology can be used in developing the e-learning mobile phone application. Furthermore, the mobile phone application can be uploaded to the application store, so it can be downloaded by another users. In this research, will be developed a mobile learning application which is a further development of the existing web based applications.
MOBILE LEARNING The term mobile learning (m-learning) refers to the use of mobile and handheld IT devices, such as Personal Digital Assistants (PDAs), mobile telephones, smartphones and tablet PC technologies, in teaching and learning. [5] As computers and the internet become essential educational tools, the technologies become more portable, affordable, effective and easy to use. This provides many opportunities for widening participation and access to ICT, and in particular the internet. Mobile devices such as phones and PDAs are much more reasonably priced than desktop computers, and therefore represent a less expensive method of accessing the internet. The introduction of tablet PCs now allows mobile internet access with equal, if not more, functionality than desktop computers. Mobile learning now currently be most useful as a supplement to ICT, web learning and more traditional learning methods, and can do much to enrich the learning experience. In the future mobile learning could be a huge factor in getting unsatisfied people in learning, where more traditional methods have failed. As mobile phones combine PDA functions with cameras, video and MP3 players, and as tablets combine the portability of PDAs with the functionality of desktops, the world of learning becomes more mobile, more flexible and more exciting.
HYBRID MOBILE APPLICATION TECHNOLOGY Hybrid is derived from heterogeneous sources, or composed of elements of different or unsuitable kinds. A hybrid application is one that is written with the same technology used for websites and mobile web implementations, and that is hosted or runs inside a native container on a mobile device. It is the integration of web technology and native execution. PhoneGap is an example of the most popular container for creating hybrid mobile application[3] [4]. Hybrid application use a web view control (UIWebView on iOS, WebView on Android and others) to present the HTML and JavaScript files in a full-screen format, using the native browser rendering engine. WebKit is the browser rendering engine that is used on iOS, Android, Blackberry and others. That means that the HTML and JavaScript used to construct a hybrid application is rendered/processed by the WebKit rendering engine (for you Windows 8 folks, this is what the IE10 engine does for Metro style applications that use WinJS) and displayed to the user in a full-screen web view control, not in a browser. No longer are you constrained to using HTML and JavaScript for only in-browser implementations on mobile devices.
Machine Learning-Based Mobile Threat Monitoring and Detection
Mobile computing is now dispersed and ubiquitous throughout our society, providing new avenues for communication, productivity, and commerce. Mobile networks are available and free to access throughout public spaces, laptops have provided a platform for on-the-go business management, and smartphones and tablets extend our access to information to the moment when we wake up in the morning. Yet, as we have seen with the adoption of each new piece of technology, end users are often at significant risk. Malicious intentions and knowledge of the underlying technology provide the means for cyber attacks that compromise personal and business data. The need for dynamic defense systems to analyze and prevent malicious intrusion is then self-apparent. To address the pertinent issue of security in mobile technology, in this paper we propose a security system to detect malicious activities in Android OS devices. Our proposed system is designed to operate in a cloud environment, incurs low overhead to the Android device, and facilitates multiple smartphones simultaneously. The system centers around four primary components, the Android App, the Security Server, Google Cloud Messaging (GCM) service, and the Analysis Module. Facilitating message delivery, the GCM service processes requests from the security server to the Android app. Transmitting from the mobile app, data is collected and stored from multiple devices to the security server for preprocessing. In the analysis module, static and dynamic analysis are performed simultaneously, allowing for rapid inspection of common attributes in Android malware, while complex algorithms are applied in extended examination. Once the analysis is completed, a report can be sent to the device, and a security administrator overseeing the system can view the status of the various devices in the web visualization to improve security awareness and act on security risks. The remainder of the paper is as follows: In Section II, we give the background and provide a literature review on the topics of smart mobile security and cloud computing security. In Section III, we describe the designed system architecture and outline the basic workflow. In Section IV, we describe the data analysis module and process and evaluation results. Finally, we conclude the paper in Section V.
SYSTEM ARCHITECTURE AND WORKFLOW Our developed security framework is designed to be generic, and can operate as a cloud-based service. The primary components are the Security Server, the Google Cloud Messaging (GCM) service, the Mobile Application, and the Analysis Testbed, as outlined below. In combination, they provide the scaffolding for the interconnection of the mobile device to a powerful analysis testbed. • Security Server: The security hub is a typical LAMP (Linux, Apache, MySQL, PHP) server. Specifically, the Linux operating system is Ubuntu 14.04 server, running Apache2, MySQL 5.5 and PHP-5. The server is managed by the web application programmed in PHP, implementing the Laravel 5 framework, and the requisite dependencies. The web application utilizes the MySQL relational database model to store and manage smartphone system information, and application and log data, received from connected Android devices. It also provides the interface for security visualization for the security operator. • GCM: Google Cloud Messaging is a cloud-based messaging service provided by Google for developing applications compatible with Android, iOS, and Chrome. The primary feature of the GCM is to provide an authenticated project message host that queues messages while the device is not connected, and supports upstream and downstream messaging. • Mobile App: The mobile application is developed for Android OS devices. While operating, the mobile application is designed to listen for GCM messages and send system, application, and log data to the security server upon request for security analysis. • Data Analysis: The Data Analysis module utilizes Weka software [17] to analyze the test dataset comprised of dynamically obtained Android system calls and static permission information of malicious and benign applications. From the training analysis, the module can make predictive assertions about new applications based on their attributes. The workflow, shown in Figure 1, illustrates the typical interaction between the system components. The two timedependent system operations are on Startup of the application, and Daily updates to identify system changes. These daily updates can additionally be initiated from the visualization in the security hub, at the discretion of a security administrator. Startup – (1) Upon initializing the Android application, the GCM server is contacted to retrieve the registration token. This enables the initialization of new devices, as well as for situations where the registration ID is refreshed. After (2) retrieving the registration token, (3) the application contacts the web server and passes three key values: the GCM registration token, and the device Brand and Serial. The application server then queries the database for the target data. If the information matches, no further action is taken. However, if the GCM registration token has changed, it is then updated in the database. Should the device identifying information not be found, it is immediately added to the database, and (4) the server messages the GCM server, requesting additional system information from the device. (5) The GCM server passes the message to the device, and (6) the device passes the requested data to the web server to be added to the newly created database entry. Daily – (7) Independently, the web server will message the GCM server daily, requesting application data for analysis. (8) The GCM will pass along the request when the device is connected. (9) The device then transmits the requested data to the web server for analysis. The received device information is stored in the database, preprocessed, and (10) transmitted to the analysis module. The analysis module then operates on the data and determines the risks, if any. The module composes a report that is (11) returned to the web server. This report is stored in the database as for review, and copies are transmitted to the security official and the (12) GCM server. Finally, the GCM server (13) delivers the report to the device. Once a device has been registered, the security server, running in the cloud, sends daily messages to the GCM. The GCM queues the messages and transmits the requests to the mobile device. The mobile app, listening for GCM messages, processes the requests and responds to the server directly. Once the requested data is received by the server, it updates the database and triggers the analysis module. The module reduces the data and determines the status of the mobile device. If the device has been compromised, notification is sent to both the security officer, as well as to the mobile device.
Comparing Performance and Energy Consumption of Android Applications: Native Versus Web Approaches
Tablets, ultramobiles and mobile phones are changing the routine of people and organizations around the world, representing a very important market of consumer electronics as well as applications. In [1] Android is pointed out as the dominant mobile Operating Systems (OS), although devices running iOS, or other OSs are also found on the market. Each OS represents an ecosystem that includes specific APIs, frameworks, and development tools, and usually also defines a language to be employed in development [2] [3]. To handle the diversity of ecosystems, traditionally, native applications have been developed using the language defined by the target platforms. The native approach was the predominant way to develop mobile application for a time, since it can present advantages, as a better usage of platform resources as 3D graphics or sensors. On the other hand, modern web technologies directed towards mobile are rapidly gaining interest from large communities of developers [4] [5]. These web-based approaches employ languages that are not native to the device’s OS [6], as HTML5, JavaScript, and PHP. As advantage, these approaches enable one single implementation to be shared across the target platforms and also not having to deal with deployment specific issues related to some of the ecosystems [6] [7], being known as cross-platform approaches. As mobile devices usually have limited resources and depend on battery to work, approaches that allow migrate processing and data storing for a remote server, saving device’s resources [8], as web or cloud based ones, have received attention. Following this approach, mobile applications are very closed to the traditional web systems adopting also a client/server architecture. These systems adopt different technologies/languages for the front-end (client side) and backend (server side). Usually, front-end can be developed in HTLM5 or JavaScript, but the server side usually adopts PHP. However, recently Node.js [9] is proposed as an open-source cross-platform JavaScript runtime environment, which enables developers to write server-side components using also the JavaScript programming language. Differently from the native applications, the web-based mobile ones are executed from an embedded web browser. This additional layer can generate some overhead and thus impact negatively on application performance. Moreover, applications developed in PHP and or using Node.js, require communication with the web server. Depending of the volume of data transfered, this communication can also impact negatively in performance and energy consumption. In contrast, locally executed applications (i.e native, and JavaScript ones) tend to consume more with processing compared to the ones implemented in PHP or using Node.js. Comparative studies among native and cross-platform applications have been published, since this tendency has emerged. However, most of these works consider only criteria as development facility, usability or end-user experience, and a small number of works discuss also performance or energy consumption [5]. Since these metrics are very important in the context of mobile devices, this work has as objective to compare native Android applications developed in Java to web-based applications developed in PHP, JavaScript and Node.js. Through experiments, we evaluate the impact of adopting these approaches, regarding performance and energy consumption. Besides, we discuss when the adoption of a client/server solution can provide benefits on efficiency compared to the local approaches. Yet, this work explores the Node.js technology, which has recently emerged as a performance improvement strategy for web-based applications, evaluating how its usage impact on application efficiency. This paper is organized as follows: Section II discusses related works; Section III presents the comparative study proposed here and details methodology and the different evaluated implementations; in Section IV experimental results are presented and discussed; and Section V presents the conclusion and points out future work.
Performance Evaluation and Optimization for Android-based Web Server
INTRODUCTION For a long time, Web servers are generally built on the computer operating system, such as Windows and Linux that both are mature operating system, but few people build the server in the Android system [1]. Now with the mobile device hardware level rising and the rapid development of Android system, Android system has become a worldwide wide-ranging operating system. Android system is not only a mobile phone operating system, but also increasingly widely used in tablet PCs, set-top boxes, wearable equipment, television, digital cameras and other equipment [2]. Android system greatly enhances the function of these devices and greatly enriches people’s lives. The research object of this paper is Android set-top box which is a micro host with Android operating system. By building the standard HTTP server environment in Android system, it makes the Android set-top box has the ability to be a lightweight Internet server [3]. We can put some web pages in the STB and nearby people can access it, thus the STB become a regional server. For example, shops can place some pages in the STB, then the customers can access it to interact, so shops can obtain operational data. But the performance of the existing Android system equipped with HTTP server is not productive because of the large system resources consumption. In this paper, the exploratory method is used to test and verify the processing capacity and system resource occupancy of multiple concurrent access Web servers under Android system. Through the HTTP request test, PHP request test and MySQL request test, the corresponding configuration is optimized to improve concurrent processing power and reduce system resource consumption. The rest of the paper is structured as follows. Section II briefly reviews existing work related to our work. Section III describes the test method and the test environment. Section IV presents experiment implementation and results analysis. Section V proposes how to optimize the server’s performance and experimental verification. Section VI summarizes the full paper.
RELATED WORK There has been a lot of researches on performance of Android and web server, they do a lot of works to propose the corresponding solutions to improve performance. However, there are few researches on Android-based web server as well as the related performance optimization schemes. Vimal [4] designs a new memory management scheme for Enhancing Performance of Applications on Android. This scheme takes into account application usage patterns of the user to decide the applications that have to be killed from the main memory and dynamically set the background process cache limit based on hit rate and number of applications of user’s interest. Yuan [5] designs experiments to compare Binder with the traditional IPC communication modes. And the experiments prove that Binder performance is enhanced by more than 20% using message queue instead of global lock. Singh [6] points out the drawbacks of current LMK approach and the paper improves user experience by reducing or removing the delay at memory crunch situations with efficient use of LMK. Su [7] introduces FSMdroid, a novel, guided approach to GUI testing of Android apps. Compared with the traditional model- based testing approaches, FSMdroid enhances the diversity of test sequences by 85%, but reduces the number of them by 54%. Liu et al. [8] presents an approach for improving the CTS test efficiency to reduce the time to perform CTS tests and shorten the time-to-market of Android devices. Asselin proposes an anomaly detection model as a very helpful tool to start building an efficient intrusion detection system adapted to a specific web application or to assist a forensic analysis.
Design and Implementation of Oil Painting Online Appreciation System Based on Android
With popularity of computer and networked application, artwork exhibition starts to change from off-line to online so as to provide artwork lovers and investors with more appreciating ways. Many famous artworks including famous painter’s painting can all be browsed and downloaded from internet. As a work of art with requirements in art expressive ability, during digital exhibition in network, it has become a key point on whether oil painting is successful in online display of oil painting in the fact whether oil painting can reduce expressive force of art in real paintings. Design and realization in oil painting management system cannot only promote communication of oil painting art but also provide art value realization with platform and tie. This paper studies mobile platform-based realization in oil painting resource system, and pushes excellent oil paintings and the latest paintings exhibition information to users’ cell-phone. The system realizes quantified appreciation evaluation in oil paintings through five-star evaluation and sets up convenient resource navigation system to realize character navigation. It constructs online test system to evaluate learners’ oil painting appreciation ability, supports online making test questions and realizes automatic checking in system. The system also adopts WebApp technology and can establish response layout in unified standard for different mobile terminals with perfect compatibility, platform crossing and flexibility.
SYSTEM REQUIREMENT ANALYSIS A. Users’ Types and Authority Analysis To satisfy different users’ specific requirements in system, this appreciation system designs user type into two types including managers and common users. Managers contain system manager, website editor while common users include teacher, students and anonymous user: z System manager belongs to super user-group in system and restructuring has the highest control authority and global authority in system. It mainly contains functional adjustment in system, business logic control such as data content filtering and interface content display. System managers should be responsible for normal operation and maintenance in system. z Website editors, that is, the content distributors in website, are mainly responsible for real-time updating in website content, the latest notice and announcement of art show in oil painting, checking distribution of anonymous users’ evaluation, updating famous painters’ excellent oil painting resources and guaranteeing synchronous real-time updating in website information. z Teacher users are mainly managing curriculum and teaching including students’ evaluation and feedback in submitting oil paintings, managing student users’ registering, checking students’ online evaluation, online making oil painting technique knowledge, announcing exam notice and online correction of exams. z Student users. They mainly learn online, study teachers’ oil paintings appreciation and technique knowledge, participate learning group discussion, complete teachers’ case appreciation online, join teachers’ stage-test and text and finally enhance knowledge acquisition according to test results. z Anonymous users. Design in system itself follows opening rules and its purpose is to make more people understand oil painting beauty and cherish traditional culture charm. B. Function Design The construction object of oil painting online display mainly include the follows: (1) It helps users to manage and simply process their oil paintings, separates bases for electronic pictures in computer on the basis of rules and ranks according to certain sequence for users’ management. (2) Computer and network technology are used for information management in oil paintings in order to improve efficiency and quality in transmission of oil paintings and support information as well as science of oil painting management. Then, functional requests of oil paintings online system mainly include artwork exhibition, painter management, paintings management, data management and system management. These are the basis for functional design of oil paintings online system to divide system functional modules.
Low cost QoS and RF power measuring tool for 2G/3G mobile network using Android OS platform
INTRODUCTION Smartphones and 3G tablets are becoming a major platform for execution of Internet services as more powerful and less expensive devices are becoming available. From this perspective, a large number of mobile applications are becoming available for end users and corporates [1]. In comparison with home users, corporates require a more stable and reliable network especially for wireless communications. Wireless service providers need to monitor their networks not only for received signal level but also for quality of service (QoS) [2]. Frequently the quality of service is integrated with subjective information and reported as Quality of Experience (QoE) to the end users [3, 4]. Both metrics, QoS and QoE require automated and expensive monitoring tools. As smartphones’ analyzing power is becoming comparable to personal computers, the possibility of using their capabilities for live network monitoring lays ahead an interesting research field [5]. In this work, we present a mobile application exploiting measuring capabilities of modern Android-based smartphones. The developed application makes use of Android Programming Interfaces (API) to extrapolate interesting parameters from the user connected network such as received power and network responding time (latency). We use the applications as live monitoring tool in more critical situations such as in the case of fast moving users. A post-processing of the monitored data is provided via a PHP scripting language and is integrated with Google maps, using their respective programming interfaces. These post-processing results in three new layers; one made of signal quality, the next one of network latency and the last one of user velocity for the surveyed area overimposed to the geographical map. The provided information can be useful for service providers to improve their quality of service for end users. This can be in context, as “you cannot improve what you cannot measure”. The paper is organized as follows: in the first paragraph, we provide some technical equations and concepts of signalreceived power, followed by the second section where the extrapolated parameters are presented together with the application interface. In the third paragraph, measured data are provided and the results are commented and analyzed. At the end some conclusions are drawn.
RF RECEIVED POWER ON MOBILE USER EQUIPMENT In wireless communication, high data rate is proportionally related to the level of Signal to Noise Ratio of the received signal. Received power level in far field region [6, 7] is inversely proportional to the square of the distance between transmitting and receiving antenna. In GSM/UMTS network, the distance from the user mobile station (MS) and base station (BS) is to be considered as far field for practical cases. where GRX and GTX are the gains of the receive and transmit antennas, respectively, λ is the wavelength, d is the relative distance from transmitting and receiving antenna and PTX is the transmit power in dBm. From (1) we see that the received power at a fixed distance d cannot be improve without changing the antennas gain or transmitted power. In (1) only free space loss are considered in respect to other factors as multipath propagation (fading) or propagation loss on different media inserted in optical path from BS and MS. Practically, transmitted power and transmitting antenna gain are the same at any measuring time. The receiving antenna in mobile station is assumed omnidirectional, so its orientation does not influence the measuring procedure. This assumption is coherent with ETSI (European Telecommunications Standards Institute) GSM Technical Specification [8, 9] where equipment with integral antenna may be taken into account assuming a 0 dBi gain antenna. Therefore, at a fixed distance from transmitting antenna the received power must be constant. Inpractical cases, this is not true due to other loss factors as multipath propagation and atmospheric loss. Monitoring received power at a fixed distance from transmitting station will provide information’s of the other loss factors that need to be taken into account for offering high quality of service to end users. In this section, the requirements are given in terms of power levels at the antenna connector of the receiver. This means that the tests on equipment on integral antenna will consider fields strengths (E) related to the power levels (P) specified.
Using smartphones as live probe is possible since normally the received power is automatically evaluated by the device for communication capabilities. From a programming point of view, the signal network strength is provided in Android platform as ASU (Arbitrary Strength Unit) levels. The ASU level is an integer in the [0, 31] range (5 bit discretization) directly related to the Received Signal Strength Indicator-RSSI for GSM network (2G). For UMTS (3G) the same android API reports the level index of CPICH-RSCP (Common Pilot Channel – Received Signal Code Power) defined in TS 25.125. In the UMTS cellular communication system, received signal code power (RSCP) denotes the power measured by a receiver on a particular physical communication channel. It is used as an indication of signal strength. Reporting this information in the more common measuring unit (dBm) as indicated by ETSI.
Research and Simulation Implementation of Mobile Phone Communication Based on SL4A
INTRODUCTION Phone communication is the most basic and important function of mobile phone, for any mobile phone, the functions of SMS and call are indispensable. Android is an important engine for the rapid development of smart phone and is one of the most important operating systems for smart phone. Android has become the leading market leader in the global smart phone market with a market share of more than 70%[1] , it is of great significance to realize the research of mobile phone communication based on Android operating system. For a long time, JAVA is the main language for Android application development, Android application development mainly uses the JAVA language and the implementation of communication function of the Android phone is mainly using JAVA. It should be seen that using JAVA to develop Android application has many advantages, such as fast development and low occupancy resources, but this is unfortunate for other scripting languages. In the current the number of scripting languages is large, including PHP, Perl, Ruby, JavaScript, Python, etc. These scripting languages have features such as fast development and low learning cost. Developers have been trying to realize the communication between scripting languages and develop Android through other scripting languages. The emergence of SL4A make this wish come true. SL4A [1-3],[5],[6], originally called Android Scripting Environment(ASE), is an Android application component. Its aim is to utilize simply scripting languages such as Ruby, Python, Perl, PHP, JavaScript, etc to develop Android application and make Android application development more simply and quickly, it realize the communication between different scripting language and development Android applications using the different script development language. It has important significance for the evolution of Android phones. PFA [4] is abbreviation of PHP for Android, With the emergence of PFA, it is implemented to develop Android application using PHP scripts. PFA is an open source project launched by Irontec, which using the Android interface API provided by SL4A to implement Android development. With the PFA, linking PHP scripts to Android, PHP scripts can be easily developed for Android application, which will make Android application development easier and faster. Developers are increasingly trying to implement mobile phone communication based on Android operating system using PHP scripts. Mobile phone communication features include SMS, Call, ServiceState and DataConnection. In this paper, we propose a method based on SL4A and PHP scripts to realize mobile phone communication and simulate implementation the function of SMS and call. This paper is organized as follows. SL4A architecture is discussed in section II. Development environment configuration is given in section III. The Simulation experiment of SMS is given in section IV. The Simulation experiment of call is given in section V. Finally, section VI concludes the paper.
SL4A ARCHITECTURE SL4A is the scripting layer of Android, which is designed to develop Android applications with familiar scripting languages. SL4A has ability to support high-level scripting language such as Python, Perl, JRuby, Lua,BeanShell, PHP,JavaScript, Tel, shell and so on. The SL4A architecture and the process that a scripting file named myscript.py is to access Android service are shown in figure 1. As shown in figure 1, the SL4A system is composed of SL4A RPC Server components and script engines supported by SL4A .The script engines are responsible for the interpretation of the script application, The SL4A RPC Server component provides the Android primary ecosystem services to the scripts. The working principle of SL4A is based on JSON-RPC remote call, scripting application interacts with remote agent “SL4A RPC Server “via local script interpreters to access indirectly Android service in remote agent pattern . Firstly function calls of the local scripting, encapsulated in the JSON data format, are passed to SL4A RPC Server components by Scripting interpreters. After this SL4A RPC Server components call the Android functions in practice. Finally the operation results are returned to the local scripting interpreter, and then the results are put forward to scripting application for processing and displaying by the scripting interpreter.
Design of Secure Location and Message Sharing System for Android Platform
INTRODUCTION Today’s age is the world of technologies, where lots of inventions and discoveries have made everyone to rely on the use of latest technology. Knowingly or unknowingly we are taking the benefit of the technology. Today one can share information with others using the communication technology. One can know what is happening in different parts of the world within a click. It is possible due to the development in the internet services through which one can share the information with the rest of the world. Internet has brought revolution in the field of communication. One can use internet for various purposes depending upon the nature of work. But the main uses of the internet in these days are sharing of information. The main application of internet is web services where internet plays an important role. Another useful development in the technology is the mobile devices. The use of mobile devices is increasing dayby-day. Many improvements have been made, such as faster processors and better battery life, have enabled notebooks and smartphones to become powerful devices, giving us the ability to completely change the way we work. Today’s mobile devices not only comes with the feature of voice communication and sending/receiving messages but also has the features of Internet, Bluetooth, Image capturing, Video recording, GPS facilities and so on. Various smart phones are available in the market, namely Samsung, HTC, Motorola, Apple iPhone, Android, Blackberry products and so on. Among them, Android has been gaining popularity and its market share in the mobile operating system market is rapidly increasing. According to Gartner (2010) [1], Android is poised to become second worldwide mobile operating system in the nearer future. Using the technology – smart phone and internet, people are sharing information to other people but they are not sure if their information is securely transmitted or not. This paper deals with secure transmission of information with each other. The main drawbacks with the existing android-based location and message sharing systems are as follows: 1) No centralized database due to which there is a problem in management of data, portability problem, updates as well as backup problems etc. 2) Most of the location based social network asks to input the personal information. All the messages are displayed on the screen which has failed to protect the privacy of information. 3) Lack of server centric privacy control method. No security has been maintained during transfer of information between server and device. 4) Most of the application that are based on GPS technology are storing location in their built in database and are unable to use it externally so that it is difficult to trace the current location of the people where they are. The main objective of this paper, on the highest level, is to communicate with a PHP server that stores the information sent through the android device in encrypted form and vice-versa which finally establish a secure two way communication between android device and web server. The main highlight of our work is listed below: 1) Connect with the external database MySQL to maintain a centralized database. For achieving this goal, we will use JSON as an intermediary to send the data from android device and PHP to insert that value to the external database MySQL. 2) Interact with the webserver and maintaining security while sharing location and message. For achieving this goal, we will use two approaches, the information sent by the android application is first stored in a database in encrypted form using JSON and PHP as intermediary and decrypt data while extracting from database. And similar process is followed while sending information from webserver to device. All the data are encrypted while sending and key is needed to decrypt this data before reading from the database. INTRODUCTION Today’s age is the world of technologies, where lots of inventions and discoveries have made everyone to rely on the use of latest technology. Knowingly or unknowingly we are taking the benefit of the technology. Today one can share information with others using the communication technology. One can know what is happening in different parts of the world within a click. It is possible due to the development in the internet services through which one can share the information with the rest of the world. Internet has brought revolution in the field of communication. One can use internet for various purposes depending upon the nature of work. But the main uses of the internet in these days are sharing of information. The main application of internet is web services where internet plays an important role. Another useful development in the technology is the mobile devices. The use of mobile devices is increasing dayby-day. Many improvements have been made, such as faster processors and better battery life, have enabled notebooks and smartphones to become powerful devices, giving us the ability to completely change the way we work. Today’s mobile devices not only comes with the feature of voice communication and sending/receiving messages but also has the features of Internet, Bluetooth, Image capturing, Video recording, GPS facilities and so on. Various smart phones are available in the market, namely Samsung, HTC, Motorola, Apple iPhone, Android, Blackberry products and so on. Among them, Android has been gaining popularity and its market share in the mobile operating system market is rapidly increasing. According to Gartner (2010) [1], Android is poised to become second worldwide mobile operating system in the nearer future. Using the technology – smart phone and internet, people are sharing information to other people but they are not sure if their information is securely transmitted or not. This paper deals with secure transmission of information with each other. The main drawbacks with the existing android-based location and message sharing systems are as follows: 1) No centralized database due to which there is a problem in management of data, portability problem, updates as well as backup problems etc. 2) Most of the location based social network asks to input the personal information. All the messages are displayed on the screen which has failed to protect the privacy of information. 3) Lack of server centric privacy control method. No security has been maintained during transfer of information between server and device. 4) Most of the application that are based on GPS technology are storing location in their built in database and are unable to use it externally so that it is difficult to trace the current location of the people where they are. The main objective of this paper, on the highest level, is to communicate with a PHP server that stores the information sent through the android device in encrypted form and vice-versa which finally establish a secure two way communication between android device and web server.
The main highlight of our work is listed below:
1) Connect with the external database MySQL to maintain a centralized database. For achieving this goal, we will use JSON as an intermediary to send the data from android device and PHP to insert that value to the external database MySQL.
2) Interact with the webserver and maintaining security while sharing location and message. For achieving this goal, we will use two approaches, the information sent by the android application is first stored in a database in encrypted form using JSON and PHP as intermediary and decrypt data while extracting from database. And similar process is followed while sending information from webserver to device. All the data are encrypted while sending and key is needed to decrypt this data before reading from the database.
3) To find the current location, trace the path and track the people. For achieving this goal, current location is obtained from GPS enabled android device and is sent to webserver and webserver will display location position and path on the web using the feature of Google Map.
This paper is organized as follows: section II introduces some background, including Android Platform, PHP and MySQL, JSON and some security measures taken during location and message sharing, section III describes related works, section IV illustrates the design and operation of ALMSS, experiments are performed on section V, section VI finally draws the conclusion and future works.
Android Build Dependency Analysis
INTRODUCTION While normal source code (also as known as production code) implement the behavior of a software, its build system (including build tools and build code such as makefiles) derives the executable software from its production source code. In development of large software systems, the complexity of source code often make the build system also complex, and the building process can be time-consuming (in some cases over one hour) even using a high-performance and multi-core computer. This is absolutely not acceptable in large development projects with a high number of code revisions and builds per day. Moreover, the study of McIntosh et al. [7] shows that the build code accounts actually changes in a comparable frequency along the evolution of source code. Among these changes, even a subtle error in the build code may cause serious defects in the built software or even build failures. Therefore, McIntosh claimed that source code development and testing are significantly influenced by build maintenance although build code usually accounts for a small proportion of a software project. In order to maintain and optimize the build system, a critical step is to extract and understand the build dependency structure in the build process. Theoretically, the build dependency structure contains two dimensions as illustrated in Fig. 1. On the one hand, the root build command triggers a flow of build actions that can further run atomic build jobs (e.g., compiling and linking). These build actions and jobs are invoked and executed in a tree structure (vertical in Fig. 1). On the other hand, the build jobs with different build tools indicate dependencies between input build artefacts and output build artefacts, which further constitute a dependency graph (horizontal in Fig. 1). In the recent years, the Android operation system has been widely used in both mobile consumer electronics as well as other industrial devices (e.g., in automotive and medical care). However, the Android code complexity has been increasing along its evolution history, which makes the building process more and more time-consuming [8] and sometimes also errorprone during development and maintenance. Although there was some endeavor in build dependency extraction and optimization [1][4], a generic and automated build analysis approach with tool support is still lacking. In this paper, we provide the following contributions: • Investigation of the source code and the build system of the Android operation system (i.e., Android 5 and 6). • An automated approach to extracting and visualizing the build dependency structure based on monitoring the build process, and then comparing the extracted build dependencies of one system with that of another system. • A case study of the build dependency analysis on both the Android 5 and Android 6 respectively as well as their comparison. This paper is presented in the following structure. Section II presents the example Android system and its characteristics. Section III introduces the build dependency analysis approach and its analysis results on the Android system. While Section IV discusses related work, Section V presents conclusions and future work at the end.
(vertical in Fig. 1). On the other hand, the build jobs with different build tools indicate dependencies between input build artefacts and output build artefacts, which further constitute a dependency graph (horizontal in Fig. 1). In the recent years, the Android operation system has been widely used in both mobile consumer electronics as well as other industrial devices (e.g., in automotive and medical care). However, the Android code complexity has been increasing along its evolution history, which makes the building process more and more time-consuming [8] and sometimes also errorprone during development and maintenance. Although there was some endeavor in build dependency extraction and optimization [1][4], a generic and automated build analysis approach with tool support is still lacking. In this paper, we provide the following contributions: • Investigation of the source code and the build system of the Android operation system (i.e., Android 5 and 6). • An automated approach to extracting and visualizing the build dependency structure based on monitoring the build process, and then comparing the extracted build dependencies of one system with that of another system. • A case study of the build dependency analysis on both the Android 5 and Android 6 respectively as well as their comparison. This paper is presented in the following structure. Section II presents the example Android system and its characteristics. Section III introduces the build dependency analysis approach and its analysis results on the Android system. While Section IV discusses related work, Section V presents conclusions and future work at the end.
Travel Management System using GPS & Geo Tagging on Android Platform
INTRODUCTION The increasing popularity of smart phones and hand held devices has led to an increase in the time consumers spend on online search. According to a recent research by Google India “Mobile phones are becoming a key contributor in the online traveling space. With travel becoming cheap and affordable, the number of travelers and their frequency of travelling in India are increasing continuously. This web application is an online service for touring Incredible India. The main objective of this paper is when users are on the move, it is able to provide rich and concise information timely and make them access to the service at anytime and anywhere. It is aimed at providing information about important places of interest. Not only can visitors read and know more about these places, they can also see their relative positioning on Google maps and experience the beauty of India. It also suggests travel plans based on users preferences. To make touring more exciting visitors can also share their experiences through the forums on the web site. This project, Travel Portal use android programming language. Android programming language is Android software development, the process by which new applications are created for the android operating system.
II. BACKGROUND A. Android Android is an open source and Linux-based Operating System for mobile devices such as smart phones and tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other companies. Android offers a unified approach to application development for mobile devices which means developers need only develop for Android, and their applications should be able to run on different devices powered by Android. The IDE used for development of this application is android studio which is freely available under the Apache License 2.0. This application use Android 5.1 APIs (API level :22) which is an update to the Lollipop release that offers new features for users and app developers[3]. B. Global Positioning system (GPS) GPS is a space-based satellite navigation system The GPS system concept is based on time. GPS satellites transmit data continuously which contains their current time and position. This web application uses GPS to find the current location of the user and to locate all the places where the user wants to visit. The operating mode that we have used is a twodimensional GPS that includes two horizontal coordinates (longitude, latitude). It requires minimum of three visible satellites [4]. C. Google Maps API Google Maps is a Web-based service providing detailed information about geographical regions and sites around the world. The Google Maps application program interface (API) makes it possible for Website administrators to embed Google Maps into a proprietary site such as a real estate guide or community service page[4,5]. D. Google Places API The Google Places API Web Service allows to query for place information, such as: establishments, prominent points of interest, geographic locations, and more. A Place Search returns a list of places along with summary information about each place. It returns information about places — defined within the API as establishments, geographic locations, or prominent points of interest — using HTTP requests[5].
EXISTING WORK Some online social travel networking websites are TravBuddy.com, Travellerpoint.com, TripAdvisor.com, Lonely Planet.com etc. A. TripAdvisor TripAdvisor is an American online social travel networking website. TripAdvisor was the platform studied to gain deeper understanding about the way hotels, tourists and residents of a given destination are changing the tourism online marketplace. This website tripadvisor.com was designed to run within iOS, watchOS, Android, Windows, Windows Phone. Presently TripAdvisor contains 10 million travel reviews and opinions and written by 5 million registered members and count 25 million visitors per month. In TripAdvisor most information posted is autonomously generated by its users. They post reviews, comments and ratings on a destination, a hotel, an attraction or any other tourism related ‘object’ or service.
B. LONELY PLANET Travel media company Lonely Planet announced the release of guides on iOS and Android. The city guide app was designed to help users plan trips and learn about worldwide destinations, and has launched with content covering 38 cities, including London, New York, Paris and Rome. The guide app includes an average of 1,000 points of interest for each city, and allows users to download individual city guides and access offline maps for these locations [8].
Android Based Control and Monitoring System for Leg Orthosis
INTRODUCTION Paraplegia is bilateral paralysis of the lower body including the two legs. It is commonly resulting from the Spinal Cord Injury (SCI) which communication between brain and the other part of body is blocked or loss. Messages below the level of injury are unable to pass damage in the spinal cord. A. Ibrahim reported that the major cause resulting in SCI in Hospital Kuala Lumpur in between 2006 to 2009, motor vehicles accidents contribute 66% and falls 28% [1]. In a study out of 670 motor vehicle occupant fatalities in Malaysia, 176 (26.3%) cases suffered spine injury. Motorcyclist are particularly vulnerable as the helmet only protect the head but not the neck and spine [2]. Figure 1 shows the depiction of a catapulting injury to a motorcyclist. Based on the study conducted by Department of Rehabilitation Medicine, Hospital Kuala Lumpur, there were 292 patients suffering SCI from 2006 to 2009. The number increase every year. Reported that 63% of them subsequently became paraplegic (individuals who are suffering Paraplegia) and 37 % became tetraplegic (individuals who are suffering Tetraplegia) [1]. Tetraplegia or as known as Quadriplegia is a cervical (neck) injuries. Tetraplegic resulting in four limbs (both arms and legs) which are neck-down to paralyzed. Meanwhile, paraplegic resulting only in lower body (both legs) to paralyzed [3].
Most of the paraplegics wish to be able to walk normally again. It is important for a paraplegic to perform a regular range of motion exercise program. Lack of exercise can result in increased muscle spasms and increase the chances of developing pressure sores. Failure to exercise on a regular basis can cause joints, muscles, ligaments and tendons to stiffen. If parts of the body stiffen, it will impact the ability to sit and maintain body posture. In some critical cases, it leads to urinary failure or completely paralyzed [4, 5]. Thus, the leg orthosis instrument is introduced to help the paraplegic to perform regular exercise. Based on Dorland’s Medical Dictionary for Health Consumers 2007, orthosis is an orthopedic appliance or apparatus used to support, align, prevent and correct deformities or to improve function of movable parts of the body [6] . The leg orthosis instrument are largely electrical assembled. Based on the previous study, the doctors have increasingly come to realize the importance of exercise for people with paralysis. It is important to get immobile limbs to move [7]. Evaluation of performance for the leg orthosis had been made and it is proven to solve problems of paraplegic patients however the previous development of the leg orthosis is controlled manually where the leg orthosis will swing up and down by controlling on-off of the power button. Therefore during rehabilitation treatment plans, the physiotherapist (a specialist in physical rehabilitation and exercise) must always alongside with the paraplegic patient to control the on-off power button and monitored the result of the treatment. There are important parameters that doctor, physiotherapist and medical doctor need to monitor during the exercise period however this information is difficult to be available for the doctors. Therefore this project continues with the development of the control system and monitoring platform for leg orthosis by using Android application. This study mainly focuses on the development of a userfriendly control and monitoring system for leg exercise using leg orthosis. The motorized leg orthosis will be controlled using Android device which is connected wirelessly to the exercise system. The patient’s pulse rate, date and time will be shown on the android device during the exercise session. The data of the previous exercise sessions also can be stored together with other patient’s information. These information are important data needed by the doctor during rehabilitation plans. Android is the world’s most commonly used smartphone platform and it is used by many different smartphone manufacturers. Besides that, the price gap between iOS and Android smartphones is widening. The price of iOS smartphones are double the price of standard Android smartphones. This user-friendly system is design to accommodate paraplegic at a reasonable cost.