01.03.2013 Views

TCP-PCP: A Transport Control Protocol Based on the Prediction of ...

TCP-PCP: A Transport Control Protocol Based on the Prediction of ...

TCP-PCP: A Transport Control Protocol Based on the Prediction of ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>: A <str<strong>on</strong>g>Transport</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>Protocol</str<strong>on</strong>g> based <strong>on</strong><br />

<strong>the</strong> Predicti<strong>on</strong> <strong>of</strong> C<strong>on</strong>gesti<strong>on</strong> Probability over<br />

Wired/Wireless Hybrid Networks<br />

Jin Ye ∗† , Jianxin Wang ∗ , Liang R<strong>on</strong>g ∗ , and Weijia Jia ‡<br />

∗ School <strong>of</strong> Informati<strong>on</strong> Science and Engineering, Central South University, ChangSha, China, 410083<br />

† College <strong>of</strong> Informati<strong>on</strong> Science and Engineering, Guilin university <strong>of</strong> Electr<strong>on</strong>ic Technology, Guilin, China, 541004<br />

‡ Department <strong>of</strong> Computer Science, City University <strong>of</strong> H<strong>on</strong>g K<strong>on</strong>g, China<br />

Email: yejin@gliet.edu.cn, jxwang@mail.csu.edu.cn, csulr<strong>on</strong>g@gmail.com, wjia@cs.cityu.edu.hk<br />

Abstract—Many <strong>of</strong> packet loss as a result <strong>of</strong> factors o<strong>the</strong>r<br />

than c<strong>on</strong>gesti<strong>on</strong> impact <strong>the</strong> performance <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g> in wired/wirelss<br />

hybrid networks. Firstly, this paper proposes <strong>on</strong>e c<strong>on</strong>cept <strong>of</strong><br />

C<strong>on</strong>gesti<strong>on</strong> Probability (CP) and analyzes <strong>the</strong> correlati<strong>on</strong> <strong>of</strong> CP<br />

and network state. Then a <str<strong>on</strong>g>Transport</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>Protocol</str<strong>on</strong>g> named<br />

as <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> is proposed, which is based <strong>on</strong> <strong>the</strong> Predicti<strong>on</strong> <strong>of</strong><br />

C<strong>on</strong>gesti<strong>on</strong> Probability instead <strong>of</strong> single loss event. Depending<br />

<strong>on</strong> <strong>the</strong> ECN mechanism, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> calculates <strong>the</strong> value <strong>of</strong> CP<br />

by analyzing some latest loss events. The <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> sender’s<br />

behavior is c<strong>on</strong>trolled by <strong>the</strong> change <strong>of</strong> CP value. Simulati<strong>on</strong><br />

results show that <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> can improve <str<strong>on</strong>g>TCP</str<strong>on</strong>g> performance more<br />

efficiently than Westwood and Jersey.<br />

I. INTRODUCTION<br />

Transmissi<strong>on</strong> <str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>Protocol</str<strong>on</strong>g> (<str<strong>on</strong>g>TCP</str<strong>on</strong>g>) was designed to cope<br />

with packet loss due to network c<strong>on</strong>gesti<strong>on</strong>. However, packet<br />

loss may be induced also by wireless links with characteristics<br />

<strong>of</strong> high bit error rate, low bandwidth, l<strong>on</strong>g delay, frequent<br />

mobility and so <strong>on</strong>. Thus, <strong>the</strong> assumpti<strong>on</strong> that packet loss is<br />

an indicator <strong>of</strong> network c<strong>on</strong>gesti<strong>on</strong> may not adapt to wireless<br />

envir<strong>on</strong>ment, which results in poor performance <strong>of</strong> traditi<strong>on</strong>al<br />

<str<strong>on</strong>g>TCP</str<strong>on</strong>g> in wireless networks [1] [2].<br />

<str<strong>on</strong>g>TCP</str<strong>on</strong>g> enhancements over wired/wireless hybrid networks<br />

have focused <strong>on</strong> differentiating packet losses. As a most<br />

significant <strong>on</strong>e, <str<strong>on</strong>g>TCP</str<strong>on</strong>g> Westwood [3] adopts available bandwidth<br />

estimati<strong>on</strong> to discriminate <strong>the</strong> cause <strong>of</strong> packet loss. The sender<br />

derives <strong>the</strong> network bandwidth by exploiting <strong>the</strong> rate and pattern<br />

<strong>of</strong> <strong>the</strong> returning ACK stream. Up<strong>on</strong> experiencing a packet<br />

loss, <strong>the</strong> sender adjusts <strong>the</strong> c<strong>on</strong>gesti<strong>on</strong> window dynamically<br />

according to <strong>the</strong> estimati<strong>on</strong>. This is <strong>the</strong> key innovative idea in<br />

c<strong>on</strong>trary to <str<strong>on</strong>g>TCP</str<strong>on</strong>g> Reno, which “blindly” halves <strong>the</strong> c<strong>on</strong>gesti<strong>on</strong><br />

window after three duplicate ACKs.<br />

In Westwood, packet losses are differentiated based <strong>on</strong> <strong>the</strong><br />

interval <strong>of</strong> ACK arrival. However, correct classificati<strong>on</strong> based<br />

<strong>on</strong> end-to-end informati<strong>on</strong> has been found to be difficult. For<br />

example, RTT(Round Trip Time) jitter <strong>of</strong> wireless networks<br />

is more than 10 times larger than that <strong>of</strong> wired networks [4],<br />

which leads to little correlati<strong>on</strong> between nature <strong>of</strong> loss and<br />

observable metric. This is similar as o<strong>the</strong>r metrics including<br />

that <strong>of</strong> Westwood. Subsequently, how to effectively estimate<br />

eligible bandwidth in hybrid networks is still an open issue<br />

[5] [6].<br />

As an enhancement to Westwood, <str<strong>on</strong>g>TCP</str<strong>on</strong>g> Jersey [7] uses<br />

<strong>the</strong> ECN (Explicit C<strong>on</strong>gesti<strong>on</strong> Notificati<strong>on</strong>) signal as a tool<br />

to distinguish between c<strong>on</strong>gesti<strong>on</strong> loss and corrupti<strong>on</strong> loss.<br />

The sender checks <strong>the</strong> ACK when <strong>the</strong>re is packet dropping.<br />

The loss event will be identified as c<strong>on</strong>gesti<strong>on</strong> induced if<br />

its CE(C<strong>on</strong>gesti<strong>on</strong> Explicit) bit is set 1, o<strong>the</strong>rwise it will be<br />

classified to be corrupti<strong>on</strong> induced.<br />

There are two problems that should be discussed:<br />

(1)Many simulati<strong>on</strong>s dem<strong>on</strong>strate that ECN mechanism can<br />

not differentiate packet loss efficiently [8] [9]. Actually <strong>the</strong><br />

reas<strong>on</strong> is that ECN is a proactive c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol and its<br />

feedback is a temporary signal. That is to say, network states<br />

reflected by ECN may change quickly. It is incorrect to trigger<br />

c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>gtrol based <strong>on</strong> single ECN feedback.<br />

Moreover, <strong>the</strong> signal <strong>of</strong> a loss event and <strong>the</strong> loss reas<strong>on</strong><br />

become now-obsolete because <strong>of</strong> <strong>the</strong> large feedback latency<br />

in hybrid network. Therefore, it is pivotal to make better use<br />

<strong>of</strong> <strong>the</strong> informati<strong>on</strong> <strong>on</strong> loss events and <strong>the</strong>ir classificati<strong>on</strong>.<br />

(2)Even if loss events are classified accurately, how to use<br />

<strong>the</strong> classificati<strong>on</strong> result needs to be c<strong>on</strong>sidered deeply. By<br />

far, most <str<strong>on</strong>g>TCP</str<strong>on</strong>g> variants do not adjust its sending rate if loss<br />

events are caused by n<strong>on</strong> c<strong>on</strong>gesti<strong>on</strong> factors. Actually, such<br />

strategy has been questi<strong>on</strong>ed because it may lead to c<strong>on</strong>gesti<strong>on</strong><br />

collapse [10]. Therefore, <str<strong>on</strong>g>TCP</str<strong>on</strong>g> variants should focus <strong>on</strong> how<br />

to trigger c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol appropriately o<strong>the</strong>r than how to<br />

differentiate packet loss accurately.<br />

In fact, reas<strong>on</strong>s <strong>of</strong> packet dropping are more complicated in<br />

hybrid networks, including link disc<strong>on</strong>necti<strong>on</strong>, routing change<br />

and hand<strong>of</strong>f, and so <strong>on</strong>. It is becoming more and more difficult<br />

to shield high layer from n<strong>on</strong>-c<strong>on</strong>gesti<strong>on</strong> losses. Therefore,<br />

finding a more precise c<strong>on</strong>gesti<strong>on</strong>-aware scheme is <strong>the</strong> best<br />

way to improve <str<strong>on</strong>g>TCP</str<strong>on</strong>g> performance in hybrid networks.<br />

By and large, <strong>the</strong> protocols like Westwood and Jersey solve<br />

<strong>the</strong> problem <strong>of</strong> c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol over hybrid network by<br />

decoupling c<strong>on</strong>gesti<strong>on</strong> loss and corrupti<strong>on</strong> loss in different<br />

ways. However, more aspects should be c<strong>on</strong>sidered <strong>on</strong> <strong>the</strong>ir<br />

soluti<strong>on</strong>s.<br />

978-1-4244-2324-8/08/$25.00 © 2008 IEEE.<br />

This full text paper was peer reviewed at <strong>the</strong> directi<strong>on</strong> <strong>of</strong> IEEE Communicati<strong>on</strong>s Society subject matter experts for publicati<strong>on</strong> in <strong>the</strong> IEEE "GLOBECOM" 2008 proceedings.


In order to mitigate <strong>the</strong> impact <strong>of</strong> dynamic metric and large<br />

delay, this paper proposes a more precise c<strong>on</strong>gesti<strong>on</strong>-aware<br />

scheme, a protocol named <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>, in which ECN feedback<br />

is utilized in a novel method. The sender analyzes <strong>the</strong> network<br />

state from <strong>the</strong> latest ECN feedback informati<strong>on</strong>, which is<br />

termed as Predicti<strong>on</strong> <strong>of</strong> C<strong>on</strong>gesti<strong>on</strong> Probability. The result is<br />

used to c<strong>on</strong>trol <strong>the</strong> sender’s behavior. Simulati<strong>on</strong> results show<br />

that <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> outperforms Westwood and Jersey in hybrid<br />

networks.<br />

The rest <strong>of</strong> <strong>the</strong> paper is organized as follows. Secti<strong>on</strong> II<br />

presents CP and investigates <strong>the</strong> correlati<strong>on</strong> between CP<br />

and network state. Secti<strong>on</strong> III describes <strong>the</strong> new protocol<br />

in detail. Secti<strong>on</strong> IV discusses and analyzes <strong>the</strong> simulati<strong>on</strong><br />

results. Finally, c<strong>on</strong>cluding remarks for our work are presented<br />

in Secti<strong>on</strong> V.<br />

II. PREDICTION OF CONGESTION PROBABILITY<br />

The key idea <strong>of</strong> CPECN is to analysis <strong>the</strong> distributi<strong>on</strong> <strong>of</strong><br />

CE bit from ECN feedbacks and predict c<strong>on</strong>gesti<strong>on</strong> states by<br />

<strong>the</strong> correlati<strong>on</strong> between feedback serials.<br />

A. C<strong>on</strong>gesti<strong>on</strong> Probability<br />

ECN signal indicates <strong>the</strong> imminent c<strong>on</strong>gesti<strong>on</strong> instead <strong>of</strong><br />

c<strong>on</strong>gesti<strong>on</strong> already occurring. Since <strong>the</strong> state <strong>of</strong> network<br />

changes dynamically, <strong>the</strong> c<strong>on</strong>gesti<strong>on</strong> loss may occur or not<br />

in <strong>the</strong> next epoch. In o<strong>the</strong>r words, <strong>the</strong> c<strong>on</strong>gesti<strong>on</strong> situati<strong>on</strong><br />

may ei<strong>the</strong>r c<strong>on</strong>tinue, or clear up. Therefore, it is not suitable<br />

for <str<strong>on</strong>g>TCP</str<strong>on</strong>g> sender in resp<strong>on</strong>se to such uncertain signal directly.<br />

Single ECN feedback <strong>on</strong>ly reflects <strong>the</strong> network state at some<br />

earlier point in time, thus several ECN feedbacks can reflect<br />

<strong>the</strong> dynamic change <strong>of</strong> network state at several intervals. So<br />

it is more reas<strong>on</strong>able to resp<strong>on</strong>d to several ECN feedbacks<br />

toge<strong>the</strong>r in an appropriate way.<br />

In order to characterize serial ECN feedbacks, we introduce<br />

<strong>the</strong> new c<strong>on</strong>cepti<strong>on</strong> <strong>of</strong> CP (C<strong>on</strong>gesti<strong>on</strong> Probability), which<br />

can be calculated as follows while packet loss occurring:<br />

CP[i] = 1<br />

m ∗<br />

m−1 <br />

wi ∗ ACK[i].ecnecho (1)<br />

i=0<br />

where ACK[i].ecnecho is <strong>the</strong> value <strong>of</strong> CE bit in ACK[i],<br />

wi is <strong>the</strong> weight <strong>of</strong> ACK[i] and m−1<br />

i=0 wi = 1, CP[i]<br />

is calculated based <strong>on</strong> ACK series with m amount before<br />

ACK[i], that is ACK[i], ACK[i − 1], ..., ACK[i − m − 1].<br />

To be c<strong>on</strong>cise, ACK[i].ecnecho is expressed as ACK[i] in<br />

this paper.<br />

The sender is always ga<strong>the</strong>ring CE bit from ACK and calculating<br />

<strong>the</strong> current CP value by using EWMA (Exp<strong>on</strong>entially<br />

Weighted Moving Average) predictor shown in Eq.(1). We<br />

divide <strong>the</strong> m ACKs into several segments and each ACK will<br />

be assigned with a weight. The weight <strong>of</strong> ACKs in <strong>the</strong> same<br />

segment are equal, which means that <strong>the</strong> ACKs in <strong>the</strong> same<br />

segment have <strong>the</strong> same impact <strong>on</strong> <strong>the</strong> judgement <strong>of</strong> network<br />

state. By this way, <strong>the</strong> role <strong>of</strong> <strong>on</strong>e single ACK is decreased<br />

and that <strong>of</strong> all ACKs in <strong>on</strong>e segment is increased. So <strong>the</strong><br />

judgement <strong>of</strong> network state is build <strong>on</strong> <strong>the</strong> change trends <strong>of</strong><br />

ECN feedback.<br />

If <strong>the</strong> last m ACKs are divided into n segments, <strong>the</strong>n CP[i]<br />

can be calculated as following:<br />

where<br />

CP[i] =<br />

n<br />

j=1<br />

wj ∗ n<br />

m ∗<br />

m<br />

n j−1<br />

<br />

i= m<br />

n (j−1)<br />

ACK[i] (2)<br />

n<br />

wj =1 (3)<br />

j=1<br />

Generally, <strong>the</strong> weight <strong>of</strong> <strong>the</strong> new ACK is larger than that <strong>of</strong><br />

<strong>the</strong> old <strong>on</strong>e. So <strong>the</strong> weight <strong>of</strong> <strong>the</strong> ACKs in each segment are<br />

assigned as following:<br />

wj = α ∗ wj−1,α∈ (0, 1) (4)<br />

In traditi<strong>on</strong>al <str<strong>on</strong>g>TCP</str<strong>on</strong>g> protocol, <strong>the</strong> sender enters <strong>the</strong> slowstart<br />

mode after receiving three duplicate ACK packets. So<br />

we choose four ACK packets to compose <strong>on</strong>e segment, i.e:<br />

m =4∗ n (5)<br />

By using <strong>the</strong> formulas (3),(4),(5), we can rewrite <strong>the</strong> formula<br />

(2)asfollowing:<br />

CP[i] =<br />

n<br />

j=1<br />

wj ∗ 1<br />

4 ∗<br />

4j−1 <br />

i=4(j−1)<br />

The formula ( 6) can be expanded to<br />

CP[i] =w1 ∗ 1<br />

4 ∗<br />

3<br />

i=0<br />

ACK[i]+ w1<br />

α<br />

+ ... + w1<br />

∗<br />

αn−1<br />

1<br />

4 ∗<br />

4n−1 <br />

i=4(n−1)<br />

ACK[i],i∈ [1,m] (6)<br />

∗ 1<br />

4 ∗<br />

7<br />

ACK[i]<br />

i=4<br />

ACK[i]<br />

When CP[i +1] >CP[i], <strong>the</strong> c<strong>on</strong>gesti<strong>on</strong> probability is<br />

increasing. Meanwhile, <strong>the</strong> c<strong>on</strong>gesti<strong>on</strong> probability may be<br />

decreasing when CP[i +1]


ECN feedback. On <strong>the</strong> c<strong>on</strong>trary, if <strong>the</strong> CE bit <strong>of</strong> <strong>the</strong> latest<br />

arriving ACK is 1, <strong>the</strong>value<strong>of</strong>△CP will bel<strong>on</strong>g to [−1, 1].<br />

In this case, it can not be determined that whe<strong>the</strong>r <strong>the</strong> network<br />

is going to become c<strong>on</strong>gesti<strong>on</strong> or not. Whatever <strong>the</strong> CE bit <strong>of</strong><br />

<strong>the</strong> new arriving ACK is, △CP ≤ 0 always indicates that <strong>the</strong><br />

network c<strong>on</strong>gesti<strong>on</strong> may be relieved.<br />

For simplicity, <strong>the</strong> last m ACKs are divided into 2 segments,<br />

that is n =2and m =8.Letw1 =0.25 ∗ w2. Byusing<strong>the</strong><br />

formulas (3) and (4), we can get w1 =0.2 and w2 =0.8. All<br />

<strong>the</strong>se parameters are used in <strong>the</strong> following simulati<strong>on</strong>s.<br />

B. Analysis <strong>of</strong> C<strong>on</strong>gesti<strong>on</strong> Probability<br />

In this subsecti<strong>on</strong>, <strong>the</strong> correlati<strong>on</strong> <strong>of</strong> CP and network<br />

states is analyzed by simulati<strong>on</strong>s. The network topology for<br />

simulati<strong>on</strong> is <strong>the</strong> same as that used in Ref. [13], which is a<br />

typical topology for wired/wireless hybrid network(which is<br />

also shown in Fig.7). One <str<strong>on</strong>g>TCP</str<strong>on</strong>g> Reno flow traverses al<strong>on</strong>g<br />

a bottleneck link and a wireless terminal. When <strong>the</strong> sender<br />

receives <strong>the</strong> signal <strong>of</strong> packet dropping or <strong>the</strong> ACK packet in<br />

which <strong>the</strong> CE bit is 1, it regulates <strong>the</strong> sending window size<br />

according to <str<strong>on</strong>g>TCP</str<strong>on</strong>g> Reno. Packets <strong>on</strong> routers will be marked if<br />

<strong>the</strong> average queue length exceeds <strong>the</strong> given threshold.<br />

In Fig.1, <strong>the</strong> size <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g> sending window, <strong>the</strong> queue length<br />

<strong>of</strong> bottleneck link and CP are shown while <strong>the</strong> loss rate <strong>of</strong><br />

wireless link is 0 and 0.001. As shown in Fig.1(a), <strong>the</strong> size<br />

<strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g> sending window varies very regularly because <strong>of</strong> no<br />

loss in wireless link. While <strong>the</strong>re exists packet loss in wireless<br />

link, <strong>the</strong> size <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g> sending window changes frequently and<br />

irregularly, which is shown in Fig.1(b). From Fig.1(a) and<br />

Fig.1(b), it is obvious that <strong>the</strong> average size <strong>of</strong> <strong>the</strong> sender<br />

window without packet loss is larger than that with packet<br />

loss.<br />

The queue length <strong>of</strong> bottleneck link is shown in Fig.1(c) and<br />

Fig.1(d). As shown in Fig.1(c), <strong>the</strong>re are 4 periods in which<br />

<strong>the</strong> queue length is larger than <strong>the</strong> given threshold. In this<br />

case, <strong>the</strong> router marks <strong>the</strong> packet and <strong>the</strong> sender will receive<br />

<strong>the</strong> ACK packet with CE=1. It is clear that <strong>the</strong> changes <strong>of</strong> <strong>the</strong><br />

sending window is be c<strong>on</strong>s<strong>on</strong>ant with that <strong>of</strong> <strong>the</strong> queue length.<br />

In Fig.1(d), <strong>the</strong>re is <strong>on</strong>ly <strong>on</strong>e period in which <strong>the</strong> queue length<br />

is larger than <strong>the</strong> given threshold. But <strong>the</strong> sending window<br />

does not change according to <strong>the</strong> queue length because <strong>the</strong>re<br />

are packets losses in wireless link.<br />

The statistic <strong>of</strong> CP under different situati<strong>on</strong> are shown in<br />

Fig.1(e) and Fig.1(f) respectively. It is indicated that trend <strong>of</strong><br />

CP changing is c<strong>on</strong>sistent with that <strong>of</strong> queue length. So we<br />

can capture network states according to △CP. The detailed<br />

figures show how CP value ranged in <strong>on</strong>e <strong>of</strong> <strong>the</strong> period,<br />

which show that CP can sense c<strong>on</strong>gesti<strong>on</strong> accurately and<br />

characterize c<strong>on</strong>gesti<strong>on</strong> particularly. Compared with end-toend<br />

metrics or single ECN feedback, CP can provide more<br />

accurate and richer informati<strong>on</strong> about network states.<br />

III. <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> PROTOCOL<br />

A. The descripti<strong>on</strong> <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> protocol<br />

<str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> protocol c<strong>on</strong>trols <str<strong>on</strong>g>TCP</str<strong>on</strong>g> behavior based <strong>on</strong> predicti<strong>on</strong><br />

<strong>of</strong> CP. Fig.2 gives <strong>the</strong> pseudo code <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>’s sender<br />

CWND(pkt)<br />

Queue Length(byte)<br />

CP[i]<br />

CP[i]<br />

45<br />

40<br />

35<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

Loss rate: 0<br />

0<br />

4 6 8 10 12<br />

Time(s)<br />

14 16 18 20<br />

(a) <str<strong>on</strong>g>TCP</str<strong>on</strong>g> window without link loss<br />

5000<br />

4000<br />

3000<br />

2000<br />

1000<br />

Loss rate: 0<br />

0<br />

4 6 8 10 12<br />

Time(s)<br />

14 16 18 20<br />

(c) Queue Length without link loss<br />

1.2<br />

1.0<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0.0<br />

1.0<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0.0<br />

4 6 8 10 12 14 16 18 20<br />

Time(s)<br />

Loss rate: 0<br />

7.40 7.45 7.50 7.55 7.60 7.65<br />

Time(s)<br />

(e) CP without link loss<br />

CWND(pkt)<br />

Queue length(byte)<br />

CP [i]<br />

CP [i]<br />

40<br />

35<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

5000<br />

4000<br />

3000<br />

2000<br />

1000<br />

Loss rate: 0.001<br />

4 6 8 10 12<br />

Time(s)<br />

14 16 18 20<br />

(b) <str<strong>on</strong>g>TCP</str<strong>on</strong>g> window with link loss<br />

0<br />

4 6 8 10 12 14 16 18 20<br />

Time(s)<br />

Loss rate: 0.001<br />

(d) Queue Length with link loss<br />

1.2<br />

1.0<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0.0<br />

1.2<br />

1.0<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0.0<br />

4 6 8 10 12 14 16 18 20<br />

Time(s)<br />

Loss rate: 0.001<br />

7.3 7.4 7.5 7.6 7.7 7.8<br />

Time(s)<br />

(f) CP with link loss<br />

Fig. 1: Correlati<strong>on</strong> between CP and network state<br />

receiving procedure.<br />

While receiving an ACK packet, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> sender will<br />

recalculate new CP value and get △CP.<br />

If <strong>the</strong> current ACK is new, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> sender operates <strong>the</strong><br />

same as <str<strong>on</strong>g>TCP</str<strong>on</strong>g> NewReno does. Since routers support ECN and<br />

<str<strong>on</strong>g>TCP</str<strong>on</strong>g> senders negotiate about ECN, senders will check CE bit<br />

<strong>of</strong> arrived ACK. If it is set to 1, senders will trigger ecnacti<strong>on</strong>()<br />

and <strong>the</strong>n deal with packets in slow start or c<strong>on</strong>gesti<strong>on</strong><br />

avoidance.<br />

If current ACK is duplicate and △CP > 0, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g><br />

sender c<strong>on</strong>cludes that <strong>the</strong> c<strong>on</strong>gesti<strong>on</strong> occurs. The sender will<br />

adjust <strong>the</strong> sending rate and retransmit <strong>the</strong> data packet. If<br />

978-1-4244-2324-8/08/$25.00 © 2008 IEEE.<br />

This full text paper was peer reviewed at <strong>the</strong> directi<strong>on</strong> <strong>of</strong> IEEE Communicati<strong>on</strong>s Society subject matter experts for publicati<strong>on</strong> in <strong>the</strong> IEEE "GLOBECOM" 2008 proceedings.


Recv( ACK[i] ):<br />

CP[i] → CP[i − 1];<br />

calculate CP[i];<br />

CP[i]-CP[i − 1] →△CP ;<br />

if newACK <strong>the</strong>n<br />

if ACK[i].CE=1<br />

ecn-acti<strong>on</strong>()<br />

SS() or CA()<br />

else<br />

SS() or CA() //Same as Newreno<br />

endif;<br />

else <strong>the</strong>n<br />

if △CP > 0<br />

Rate<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g>() //Same as Westwood<br />

Retransmit()<br />

else<br />

Retransmit()<br />

endif;<br />

Fig. 2: Pseudo code <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>’s sender receiving procedure<br />

Time t1<br />

Time t2<br />

Ack[ 7]<br />

ecnecho Ack[ 0]<br />

ecnecho<br />

Time t3 A<br />

0 0 0 1 1 1 1 1<br />

1 0 0 0 1 1 1 1<br />

1 1 0 0 0 1 1 1<br />

Time t3 B 0 1 0 0 0 1 1 1<br />

Fig. 3: The first scenario<br />

current ACK is duplicate and △CP ≤ 0, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> sender<br />

<strong>on</strong>ly retransmits <strong>the</strong> data packet. <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> modified sender’s<br />

behavior by △CP when <strong>the</strong>re are packet losses. This is <strong>the</strong><br />

important distinguishing feature <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> with respect to<br />

o<strong>the</strong>r <str<strong>on</strong>g>TCP</str<strong>on</strong>g> variants. For example, <strong>the</strong> sender <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g> Westwood<br />

will trigger Rate<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> without care about <strong>the</strong> situati<strong>on</strong> <strong>of</strong><br />

mid routers, and that <strong>of</strong> Jersey will decide whe<strong>the</strong>r to do<br />

Rate<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> just by single ECN signal.<br />

Additi<strong>on</strong>ally, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>’s sender estimates <strong>the</strong> eligible bandwidth<br />

based <strong>on</strong> ACK packets arriving interval and adjusts<br />

<strong>the</strong> ssthresh (slow star thresh) and cwnd appropriately. This<br />

method to do Rate<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> procedure is <strong>the</strong> same as <str<strong>on</strong>g>TCP</str<strong>on</strong>g><br />

Westwood, which can be described as follows.<br />

ssthresh =(BWE∗RT Tmin)/seg size;<br />

if(cwnd > ssthresh) cwnd = ssthresh;<br />

Like <str<strong>on</strong>g>TCP</str<strong>on</strong>g> Jersey, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> also employs threshold marking<br />

method in ECN. C<strong>on</strong>cretely, <strong>the</strong> router marks all <strong>the</strong> packets<br />

when <strong>the</strong> EWMA-averaged queue length exceeds a given<br />

threshold, which is set to 1/3 <strong>of</strong> <strong>the</strong> link buffer capacity in<br />

experiments.<br />

B. Analysis <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g><br />

In this secti<strong>on</strong>, we give two scenarios to show how <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<br />

<str<strong>on</strong>g>PCP</str<strong>on</strong>g> works in hybrid networks.<br />

As shown in Fig 3, <strong>the</strong> CE lists at t1, t2 and t3 are<br />

given, where t2 is <strong>the</strong> time when <strong>the</strong> sender receives <strong>the</strong> first<br />

ACK packet after t1, and t3 is after t2. Att1, <strong>the</strong> CE list<br />

<strong>of</strong> <strong>the</strong> latest 8 ACK packets is 00011111. At t2, <strong>the</strong> sender<br />

Time t1<br />

Time t2<br />

Time t3<br />

Time t4 A<br />

Time t4 B<br />

Ack[ 7]<br />

ecnecho Ack[ 0]<br />

ecnecho<br />

0<br />

0<br />

0 1<br />

1 1<br />

0 0 0 0 1 1 1 1<br />

0 0 0 0 0 1 1 1<br />

1 0 0 0 0 0 1 1<br />

0 0 0 0 0 0 1 1<br />

Fig. 4: The sec<strong>on</strong>d scenario<br />

receives a duplicate ACK in which CE=1. So <strong>the</strong> CE list<br />

<strong>of</strong> <strong>the</strong> latest 8 ACK packets is 10001111 at t2. In some<br />

protocols, for example, <str<strong>on</strong>g>TCP</str<strong>on</strong>g> Jersey, <strong>the</strong> sender will trigger<br />

c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol. However, In <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>, calculating result<br />

<strong>of</strong> CP[1] = CP[2] = 0.4 means that probability <strong>of</strong> c<strong>on</strong>gesti<strong>on</strong><br />

occurred in time t2 is not increased. So <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> sender does<br />

not invoke Rate<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> procedure at t2.<br />

At t3, if <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>’s sender receives a duplicate ACK in<br />

which CE=1 and gets CP[3] = 0.55. DuetoCP[3] >CP[2],<br />

<str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>’s sender predicts that c<strong>on</strong>gesti<strong>on</strong> would occur so<strong>on</strong><br />

and triggers <strong>the</strong> c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol mechanism at <strong>the</strong> moment.<br />

On <strong>the</strong> c<strong>on</strong>trary, if <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>’s sender receives a duplicate<br />

ACK in which CE=0 and gets CP[3] = 0.35. Due to<br />

CP[3] CP[3]. On <strong>the</strong> c<strong>on</strong>trary,<br />

as l<strong>on</strong>g as CP[4] is less than CP[3], <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>’s sender will<br />

not decrease <strong>the</strong> sending rate.<br />

It is obvious that in <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> protocol, even if <strong>the</strong> sender<br />

received duplicate ACKs caused by several errors, as l<strong>on</strong>g<br />

as <strong>the</strong> queue length does not exceed <strong>the</strong> threshold or <strong>the</strong><br />

c<strong>on</strong>gesti<strong>on</strong> probability does not increase, <strong>the</strong> sender will not<br />

decrease its sending rate. C<strong>on</strong>trarily, even if <strong>the</strong>re is <strong>on</strong>ly <strong>on</strong>e<br />

duplicate packet arrival, <strong>the</strong> sending rate might decline because<br />

<strong>of</strong> CP value being increased.<br />

As a whole, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> is based <strong>on</strong> ECN mark. By deducing<br />

a c<strong>on</strong>gesti<strong>on</strong> probability, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> can protect <str<strong>on</strong>g>TCP</str<strong>on</strong>g> c<strong>on</strong>necti<strong>on</strong><br />

from short-term, recoverable, n<strong>on</strong>-c<strong>on</strong>gestive packet<br />

losses, and enhance its performance in hybrid network eventually.<br />

IV. PERFORMANCE EVALUATION<br />

We have d<strong>on</strong>e <strong>the</strong> necessary code modificati<strong>on</strong> in NS2 [11]<br />

to simulate <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>. The modificati<strong>on</strong> includes overwriting<br />

978-1-4244-2324-8/08/$25.00 © 2008 IEEE.<br />

This full text paper was peer reviewed at <strong>the</strong> directi<strong>on</strong> <strong>of</strong> IEEE Communicati<strong>on</strong>s Society subject matter experts for publicati<strong>on</strong> in <strong>the</strong> IEEE "GLOBECOM" 2008 proceedings.<br />

1<br />

1


S<br />

10Mbps<br />

45ms<br />

BS<br />

2Mbps<br />

1ms<br />

Fig. 5: Network Topology 1<br />

Fig. 6: Comparis<strong>on</strong> <strong>of</strong> throughput <strong>on</strong> network topology 1<br />

droptail, downloading Westwood [13] and Jersey [12], appending<br />

<str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> and so <strong>on</strong>.<br />

A. Throughput analysis <strong>on</strong> topology 1<br />

The simulati<strong>on</strong> envir<strong>on</strong>ment is <strong>the</strong> same with that used<br />

in Ref. [12]. As shown in Fig.5, <strong>the</strong> source c<strong>on</strong>nects to a<br />

base stati<strong>on</strong> via a 10 Mb/s wired link with 45 ms <strong>on</strong>eway<br />

delay. The base stati<strong>on</strong> is linked to <strong>the</strong> destinati<strong>on</strong>, a<br />

wireless mobile node, via a 2 Mb/s loss channel with 1 ms<br />

delay. A single <str<strong>on</strong>g>TCP</str<strong>on</strong>g> c<strong>on</strong>necti<strong>on</strong> running a l<strong>on</strong>g-lived FTP<br />

applicati<strong>on</strong> delivers data from <strong>the</strong> source to <strong>the</strong> destinati<strong>on</strong>.<br />

We run <strong>the</strong> simulati<strong>on</strong> for <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>, Westwood, and Jersey<br />

respectively. In our experiments, <strong>the</strong> random link error rate at<br />

<strong>the</strong> wireless bottleneck link varies from 0.001 to 0.1, which<br />

creates by a simple uni<strong>on</strong> error model. The simulati<strong>on</strong> time<br />

is 100 sec<strong>on</strong>ds. The throughput <strong>of</strong> different protocols are<br />

shown in Fig.6. Throughput <strong>of</strong> Westwood falls behind that <strong>of</strong><br />

Jersey and <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> because Westwood handles corrupti<strong>on</strong> by<br />

estimate available bandwidth <strong>on</strong>ly. For link error rate smaller<br />

than 0.005, Jersey and <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> perform closely to each<br />

o<strong>the</strong>r. Bey<strong>on</strong>d that point, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> starts to outperform Jersey.<br />

Especially when <strong>the</strong> loss rate increases to 0.01, <strong>the</strong> throughput<br />

<strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> outperforms Jersey by 23% and Westwood by<br />

50%.<br />

B. Throughput analysis <strong>on</strong> topology 2<br />

Simulati<strong>on</strong>s <strong>of</strong> this secti<strong>on</strong> are based <strong>on</strong> <strong>the</strong> topology shown<br />

in Fig.7,which is <strong>the</strong> same as that used in Ref. [13]. As shown<br />

in Fig.7, <strong>on</strong>e <str<strong>on</strong>g>TCP</str<strong>on</strong>g> flow is sent from R0 to R3, link R1-R2<br />

emulates a l<strong>on</strong>g delay pipe <strong>of</strong> Internet, and <strong>the</strong> last hop is a<br />

wireless link with error model. C<strong>on</strong>cretely, <strong>the</strong> bandwidth <strong>of</strong><br />

access link is 100 Mbps with 3 ms delay, <strong>the</strong> bandwidth <strong>of</strong><br />

wireless link is 10 Mbps with 3 ms delay. The bandwidth <strong>of</strong><br />

bottleneck is 5 Mbps with 40 ms delay. The buffer is set to<br />

be 100 packets. The simulati<strong>on</strong> lasts for 100 s.<br />

Fig.8 gives <strong>the</strong> throughput comparis<strong>on</strong> <strong>of</strong> <strong>the</strong> three algorithms<br />

under different link. As shown in Fig.8, Jersey’s<br />

throughput is close to Westwood’s, which is different from<br />

D<br />

R0<br />

100 Mbps<br />

3 ms<br />

R1<br />

5 Mbps<br />

40 ms<br />

R2<br />

10 Mbps<br />

3 ms<br />

Fig. 7: Network topology 2<br />

Fig. 8: Comparis<strong>on</strong> <strong>of</strong> throughput <strong>on</strong> network topology 2<br />

<strong>the</strong> simulati<strong>on</strong> results in topology 1. The reas<strong>on</strong> is that <strong>the</strong>re<br />

is an obvious bottleneck in topology 2, which results in<br />

more c<strong>on</strong>gesti<strong>on</strong> losses. It is observed that Jersey experiences<br />

performance degradati<strong>on</strong> in <strong>the</strong> case that c<strong>on</strong>gesti<strong>on</strong> losses<br />

and error losses coexist. It is clear that <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> can get<br />

higher throughput in this case. Especially, when <strong>the</strong> packet loss<br />

rate is 0.01, Jersey’s throughput is 1300Kbps and Westwood’s<br />

throughput is 1340Kbps, but <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> can get 1444Kbps<br />

throughput.<br />

Then we introduce exp<strong>on</strong>ential distributed ON/OFF flow in<br />

topology 2. Its sending rate is 5 Mbps, and <strong>the</strong>re are 25 ms<br />

to be “<strong>on</strong>” state in 100 ms period. Throughput under such<br />

situati<strong>on</strong> are shown in Table I.<br />

TABLE I: Comparis<strong>on</strong> <strong>of</strong> throughput with ON/OFF flow in<br />

network topology 2<br />

Loss rate: 0.001 Loss rate: 0.005 Loss rate: 0.01<br />

<str<strong>on</strong>g>Protocol</str<strong>on</strong>g> <str<strong>on</strong>g>TCP</str<strong>on</strong>g> UDP <str<strong>on</strong>g>TCP</str<strong>on</strong>g> UDP <str<strong>on</strong>g>TCP</str<strong>on</strong>g> UDP<br />

(kbps) (kbps) (kbps) (kbps) (kbps) (kbps)<br />

Westwood 1694 936 1457 971 1346 970<br />

Jersey 1437 1114 1393 1041 1359 1039<br />

<str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> 1679 994 1618 1039 1482 1055<br />

As shown in Table I, <strong>the</strong> throughput <strong>of</strong> <strong>the</strong> three algorithms<br />

are decreasing with <strong>the</strong> increasing <strong>of</strong> loss rate. Westwood’s<br />

throughput decreases by 20% when link loss rate varies from<br />

0.001 to 0.01, but <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>’s throughput <strong>on</strong>ly decreases<br />

by 11%. Moreover, <strong>the</strong> total throughput <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> is <strong>the</strong><br />

highest in <strong>the</strong> three algorithms. It is anticipated that <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g><br />

can cope with error losses better than <strong>the</strong> o<strong>the</strong>r <str<strong>on</strong>g>TCP</str<strong>on</strong>g> variants<br />

by using c<strong>on</strong>gesti<strong>on</strong> probability.<br />

C. Fairness analysis<br />

Fairness is an important metric for evaluating <str<strong>on</strong>g>TCP</str<strong>on</strong>g> protocol.<br />

Multiple c<strong>on</strong>necti<strong>on</strong>s <strong>of</strong> <strong>the</strong> same <str<strong>on</strong>g>TCP</str<strong>on</strong>g> scheme must cooperate<br />

fairly. Network topology 3 shown in Fig.9 is used to test this<br />

978-1-4244-2324-8/08/$25.00 © 2008 IEEE.<br />

This full text paper was peer reviewed at <strong>the</strong> directi<strong>on</strong> <strong>of</strong> IEEE Communicati<strong>on</strong>s Society subject matter experts for publicati<strong>on</strong> in <strong>the</strong> IEEE "GLOBECOM" 2008 proceedings.<br />

R3


S1<br />

Si<br />

Sn<br />

100 Mbps<br />

3 ms<br />

R1<br />

20 Mbps<br />

40 ms<br />

R2<br />

10 Mbps<br />

3 ms<br />

Fig. 9: Network topology 3<br />

metric, in which <strong>the</strong> network settings are marked. As shown<br />

in Fig.9, 10 same <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> flows share a 20 Mbps bottleneck<br />

link.<br />

We use Jain’s fairness index to justify <strong>the</strong> fairness <strong>of</strong><br />

<str<strong>on</strong>g>TCP</str<strong>on</strong>g> variants Ref. [14]. Simulati<strong>on</strong> results are summarized in<br />

Table II, which show that all <str<strong>on</strong>g>TCP</str<strong>on</strong>g> variants including <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<br />

<str<strong>on</strong>g>PCP</str<strong>on</strong>g> achieve fairly satisfactory fairness index with different<br />

link losses. Meanwhile, it is shown from Table II that <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<br />

<str<strong>on</strong>g>PCP</str<strong>on</strong>g> still keeps higher throughput than Westwood and Jersey<br />

in this case.<br />

TABLE II: Comparis<strong>on</strong> <strong>of</strong> fairness and throughput<br />

Westwood Jersey <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g><br />

LossRate Thru Fair Thru Fair Thru Fair<br />

(kbps) (-) (kbps) (-) (kbps) (-)<br />

0 1759 0.935 1783 0.962 1795 0.997<br />

0.001 1741 0.998 1757 0.999 1761 0.999<br />

0.005 1612 0.999 1619 1.0 1647 1.0<br />

0.01 1457 0.999 1489 0.998 1532 0.999<br />

D. Friendliness analysis<br />

The experiment <strong>of</strong> friendliness partiti<strong>on</strong>s ten flows into two<br />

parts, <strong>on</strong>e uses <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g>, <strong>the</strong> o<strong>the</strong>r uses <strong>the</strong> traditi<strong>on</strong>al <str<strong>on</strong>g>TCP</str<strong>on</strong>g><br />

protocol, such as Westwood.<br />

Table III gives <strong>the</strong> change <strong>of</strong> average throughput, which is<br />

calculated by summing up <strong>the</strong> throughput <strong>of</strong> <strong>the</strong> same <str<strong>on</strong>g>TCP</str<strong>on</strong>g><br />

variant and divided by <strong>the</strong> number <strong>of</strong> c<strong>on</strong>necti<strong>on</strong>s. It is clear<br />

that <strong>the</strong> bandwidth allocati<strong>on</strong> <strong>of</strong> <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> and Westwood is<br />

close to its fair share without link loss occurring. When <strong>the</strong><br />

link loss rate raises from 0.1% to 1%, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> achieves<br />

higher throughput than Westwood. The results are according<br />

with that <strong>of</strong> <strong>on</strong>e <str<strong>on</strong>g>TCP</str<strong>on</strong>g> flow. But <strong>the</strong> increase is within a<br />

tolerable range as regard to friendliness performance. It can be<br />

c<strong>on</strong>cluded that <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> can coexist friendly with Westwood.<br />

V. CONCLUSION<br />

In this paper we proposed a novel <str<strong>on</strong>g>Transport</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> <str<strong>on</strong>g>Protocol</str<strong>on</strong>g><br />

based <strong>on</strong> <strong>the</strong> predicti<strong>on</strong> <strong>of</strong> C<strong>on</strong>gesti<strong>on</strong> Probability. It<br />

can improve <str<strong>on</strong>g>TCP</str<strong>on</strong>g> throughput in hybrid networks because <strong>the</strong><br />

sender judges network state by serial ECN feedbacks o<strong>the</strong>r<br />

than single ECN feedback or packet dropping.<br />

Actually, <strong>the</strong> c<strong>on</strong>gesti<strong>on</strong>-aware scheme used in <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g><br />

can be easily extended to existed <str<strong>on</strong>g>TCP</str<strong>on</strong>g> variants. Our next works<br />

focus <strong>on</strong> checking its functi<strong>on</strong> <strong>on</strong> o<strong>the</strong>r <str<strong>on</strong>g>TCP</str<strong>on</strong>g> variants both <strong>on</strong><br />

NS2 simulati<strong>on</strong> and wired/wirelss testbed.<br />

D1<br />

Di<br />

Dn<br />

TABLE III: Friendliness Performance<br />

Loss rate: 0 Loss rate:0.001<br />

Westwood:<str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> Westwood <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> Westwood <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g><br />

(kbps) (kbps) (kbps) (kbps)<br />

3:7 1162.00 1174.85 1161.33 1174.14<br />

5:5 1316.80 1331.40 1312.80 1329.40<br />

7:3 1519.28 1536.66 1511.00 1539.00<br />

Loss rate: 0.005 Loss rate:0.01<br />

Westwood:<str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> Westwood <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g> Westwood <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-<str<strong>on</strong>g>PCP</str<strong>on</strong>g><br />

(kbps) (kbps) (kbps) (kbps)<br />

3:7 1289.66 1314.85 1099.00 1186.57<br />

5:5 1294.80 1319.80 1269.80 1352.2<br />

7:3 1485.28 1508.33 1388.14 1506.00<br />

ACKNOWLEDGEMENT<br />

This work was partially supported by <strong>the</strong> Nati<strong>on</strong>al Natural<br />

Science Foundati<strong>on</strong> <strong>of</strong> China (60673164), Provincial Natural<br />

Science Foundati<strong>on</strong> <strong>of</strong> Hunan (06JJ10009), <strong>the</strong> Specialized<br />

Research Fund for <strong>the</strong> Doctoral Program <strong>of</strong> Higher Educati<strong>on</strong><br />

<strong>of</strong> China (20060533057), Program for New Century Excellent<br />

Talents in University (NCET-05-0683), CityU Strategic<br />

Research Grant No. 7002214.<br />

REFERENCES<br />

[1] T. Nurmela, “Distinguishing between c<strong>on</strong>gesti<strong>on</strong> and corrupti<strong>on</strong> using<br />

end-to-end approaches,” Seminar <strong>on</strong> Selected Topics <strong>on</strong> <str<strong>on</strong>g>Transport</str<strong>on</strong>g> <str<strong>on</strong>g>Protocol</str<strong>on</strong>g>s<br />

for Wireless Internet, 2004.<br />

[2] Gurtov, S. Floyd, “Modeling Wireless Links for <str<strong>on</strong>g>Transport</str<strong>on</strong>g> <str<strong>on</strong>g>Protocol</str<strong>on</strong>g>s,”<br />

ACM SIGCOMM Computer Communicati<strong>on</strong>s Review, Vol. 34, No. 2,<br />

April 2004.<br />

[3] C. Casetti, M. Gerla, S. Mascolo, M. Y. Sanadidi, R. Wang, “<str<strong>on</strong>g>TCP</str<strong>on</strong>g> Westwood:<br />

bandwidth estimati<strong>on</strong> for enhanced transport over wireless links,”<br />

ACM C<strong>on</strong>ference <strong>on</strong> Mobile Computing and Networking (MOBICOM),<br />

Rome, July 2001.<br />

[4] V. Raghunathan and P. R. Kumar, “A Counterexample in C<strong>on</strong>gesti<strong>on</strong><br />

<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> <strong>of</strong> Wireless Networks,” Performance Evaluati<strong>on</strong>, vol. 64, no. 5,<br />

pp. 399-418, June 2007.<br />

[5] K. Xu, Y .Tian, N. Ansari, “Improving <str<strong>on</strong>g>TCP</str<strong>on</strong>g> performance in integrated<br />

wireless communicati<strong>on</strong>s networks,” Computer Networks, vol. 47, no. 2,<br />

pp. 219-237, 2005.<br />

[6] F. Abrantes, M. Ricardo, “XCP for shared-Access Multi-Rate Media,”<br />

ACM SIGOSOMM Computer Communicati<strong>on</strong> Review, vol. 36, no. 3,<br />

pp. 27-38, July 2006.<br />

[7] K. Xu, Y. Tian, and N. Ansari, <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-Jersey for Wireless IP Communicati<strong>on</strong>s,IEEE<br />

Journal <strong>on</strong> Selected Areas in Communicati<strong>on</strong>s, Vol. 22, No.<br />

4, pp. 747-756, May 2004.<br />

[8] S. Biaz, X. Wang, “Can ECN Be Used to Differentiate C<strong>on</strong>gesti<strong>on</strong><br />

Losses from Wireless Losses,” Technical Report CSSE04-04, May, 2004.<br />

[9] H. Bai, D. Lilja, and M. Atiquzzaman, “Applying speculative technique<br />

to improve <str<strong>on</strong>g>TCP</str<strong>on</strong>g> throughput over lossy links,” IEEE Global Ccmmunicati<strong>on</strong>s<br />

C<strong>on</strong>ference (GLOBECOM), St. Louis, November 2005.<br />

[10] Xu C.b.,Ke ping, L. Shi zh<strong>on</strong>g, “An improved <str<strong>on</strong>g>TCP</str<strong>on</strong>g> c<strong>on</strong>gesti<strong>on</strong> c<strong>on</strong>trol<br />

mechanism <str<strong>on</strong>g>TCP</str<strong>on</strong>g>-RD for wireless network,” JOURNAL-CHINA INSTI-<br />

TUTE OF COMMUNICATIONS, 2003, VOL 24; PART 3, pages 86-90.<br />

[11] VINT Project UC Berkeley/LBNL, NS2: network simulator versi<strong>on</strong> 2.<br />

http://www.isi.edu/nsnam/ns.<br />

[12] <str<strong>on</strong>g>TCP</str<strong>on</strong>g> Jersey Home Page, http://web.njit.edu/anl/download.html.<br />

[13] Westwood Home Page, http://www.cs.ucla.edu/NRL/hpi/tcpw/index.html.<br />

[14] R. Jain, D. chiu, and W. Hawe, “A quantitative measure <strong>of</strong> fairness and<br />

discriminati<strong>on</strong> in shared computer systems,”DEC,Res.Rep.TR-301,1984.<br />

978-1-4244-2324-8/08/$25.00 © 2008 IEEE.<br />

This full text paper was peer reviewed at <strong>the</strong> directi<strong>on</strong> <strong>of</strong> IEEE Communicati<strong>on</strong>s Society subject matter experts for publicati<strong>on</strong> in <strong>the</strong> IEEE "GLOBECOM" 2008 proceedings.

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

Saved successfully!

Ooh no, something went wrong!