IP Library Granted Patent US 8,102,768
Granted Patent B2
US 8,102,768 · App. 11/670,623 · Granted Jan 24, 2012

Method and system for traffic flow control in a communication network

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,102,768
App. No.
11/670,623
Granted
Jan 24, 2012
Kind
B2
Abstract

A method for controlling traffic flow in a communication network compliant with a Multilevel Precedence and Preemption (MLPP) scheme is described. The method selectively modifies parameters of TCP connections for transmissions to meet speed of service (SoS) requirements and establishes the connections in accordance with their levels of precedence. In applications, the method may be implemented in communication networks using High Assurance Internet Protocol Encryption (HAIPE) or an IP Security (IPSec) protocol.

Claims (340)

1. A method for controlling traffic flow in an Internet Protocol (IP) based communication network, comprising software running on a computer acting as a network edge proxy in said network, said method comprising the steps of:

(a) associating a speed of service (SoS) with a level of precedence;

(b) selectively adjusting settings of Transmission Control Protocol (TCP) connections to meet the speed of service requirements for a particular level of precedence, said settings consisting of at least one of:

(b1) adjusting settings CWND adj for a congestion window;

(b2) adjusting RTO adj for a re-transmission time-out time interval using the equation:

RTO adj =min{( N×RTT e ), RTO max },

where N is a pre-determined constant in a range from 1 to 3, RTT e is an estimated transmission round trip time, and RTO max is a maximum re-transmission time-out interval determined using the equation:

i

=

1

I

P

e

i

-

1

(

1

-

p

e

)

i

·

[

D

e

+

α

j

e

+

(

i

-

1

)

RTO

max

]

=

L

q

,

where p e is an estimated transmission loss ratio, D e is an estimated transmission transfer delay, j e is an estimated jitter delay α is a pre-determined constant, I is a number of re-transmissions, i is an integer, 1≦i≦I and L q is a transmission latency requirement; and

(b3) adjusting settings DL adj for time delays for sending acknowledgements of the transmissions;

(c) authorizing use of the TCP connections for transmissions having levels of precedence requiring the available SoS;

(d) establishing the TCP connections;

(e) monitoring compliance of the TCP connections with the SoS requirements of the transmission;

(f) dynamically controlling the TCP connections based on compliance with the required SoS; and

(g) repeating steps (b) through (g) until the transmission is complete.

2. The method of claim 1 , wherein the network is a wireless, wired, or fiber-optic communication network compliant with a Multilevel Precedence and Preemption (MLPP) scheme.

3. The method of claim 1 , wherein the network is compliant with at least one data encryption protocol.

4. The method of claim 3 , wherein the network uses High Assurance Internet Protocol Encryption (HAIPE) or an IP Security (IPSec) protocol.

5. The method of claim 1 , wherein the TCP connection is a connection between a transmitting edge proxy and a receiving edge proxy of a tactical network having an encrypted core.

6. The method of claim 5 , wherein steps (a)-(g) are performed at the transmitting network edge proxy.

7. The method of claim 1 , wherein step (b1) comprises:

determining the settings CWND adj using an equation:

CWND adj =max{ CWND currents ,CWND required },

where CWND current is a current setting for the congestion window, CWND required =(RTT e ×MSS)/L q , RTT e is an estimated transmission round trip time, MSS is a maximum size of a transmission unit, and L q is a transmission latency requirement.

8. The method of claim 1 , wherein RTO max is determined using an equation:

RTO max =( L q −D e −αj e )/( I+ 1),

where L q is a transmission latency requirement, D e is a transmission transfer delay, α is a pre-determined constant, j e is a jitter delay, and I is a number re-transmissions.

9. The method of claim 1 , wherein step (b3) comprises:

adjusting the settings DL adj as follows, where RTT e is an estimated transmission round trip time and T m is a pre-determined time interval:

TRAFFIC

CONDITIONS

TIMING FOR SENDING ACKNOWLEDGEMENT

RTT e ≦ T m

Sending acknowledgement with time delay DL adj = 0.

RTT e > T m

Sending acknowledgement with time delay

DL adj = RTT e − T m .

10. The method of claim 1 , wherein step (c) comprises:

authorizing the TCP connections meeting both of the following conditions:

RTO max >βRTT e , and

RWND>CWND required ,

where RTO max is a maximum re-transmission time-out interval; β is a pre-determined constant, RTT e is an estimated transmission round trip time, RWND is a maximum size of a congestion window at a destination of the transmission, and CWND required =(RTT e ×MSS)/L q , RTT e is an estimated transmission round trip time, MSS is a maximum size of a transmission unit, and L q is a transmission latency requirement.

11. The method of claim 10 , wherein RTO max is determined using an equation:

i

=

1

I

P

e

i

-

1

(

1

-

p

e

)

i

·

[

D

e

+

α

j

e

+

(

i

-

1

)

RTO

max

]

=

L

q

,

where p e is an estimated transmission loss ratio, D e is an estimated transmission transfer delay, j e is an estimated jitter delay, α is a pre-determined constant, I is a number of re-transmissions, i is an integer, 1≦I≦I, and L q is a transmission latency requirement.

12. The method of claim 10 , therein RTO max is determined using an equation:

RTO max =( L q −D e −αj e )/( I+ 1),

where L q is a transmission latency requirement, D e is a transmission transfer delay, α is a pre-determined constant, j e is a jitter delay, and I is a number re-transmissions.

13. The method of claim 1 , wherein step (d) further comprises:

dynamically controlling the TCP connections as follows, wherein Level of Precedence 1 (LP1)<Level of Precedence 2 (LP2)<Level of Precedence 3 (LP3):

TRAFFIC CONDITIONS

TCP CONNECTION STATUS

No violating incidents

Establish TCP connections meeting

requirements to the SoS

Occurrence of 1 st violating

Abort TCP connections having a level of

incident during current

precedence LP = LP1 for a pre-determined

communication session

time interval T1 or a pre-determined number

M1 of the transmissions

Violation incident occurs

Abort TCP connections having a level of

during the time interval T1

precedence LP ≦ LP2 for a pre-determined

or M1 transmissions

time interval T2 or a pre-determined number

M2 of the transmissions

Violation incident occurs

Abort TCP connections having a level of

during the time interval T2

precedence LP ≦ LP3 for a pre-determined

or M2 transmissions

time interval T3 or a pre-determined number

M3 of the transmissions

After the time interval T2 or M2

transmissions, abort the TCP connections

having a level of precedence LP = LP1

Violation incident occurs

Abort TCP connections having a level of

during the time interval T3

precedence LP ≦ LP2 for a pre-determined

or M3 transmissions

time interval T4 or a pre-determined number

M4 of the transmissions.

14. The method of claim 1 , wherein step (e) further comprises:

monitoring compliance of the TCP connections in real time.

15. A method for controlling traffic flow at a network edge proxy of an Internet Protocol (IP) based communication network, comprising software running on said network edge proxy executing instructions to perform the steps of:

(a) associating a speed of service (SoS) with a level of precedence in a Multilevel Precedence and Preemption (MLLP) scheme;

(b) selectively adjusting settings of Transmission Control Protocol (TCP) connections to provide the SoS requirements for a particular level of precedence, said setting consisting of at least one of

(b1) adjusting settings CWND adj for a congestion window;

(b2) adjusting settings RTO adj for a re-transmission time-out time interval using the equation:

RTO adj =min{ N×RTT e ), RTO max },

where N is a pre-determined constant in a range from 1 to 3, RTT e is an estimated transmission round trip time, and RTO max is a maximum re-transmission time-out interval and

where RTO max is determined using the equation:

i

=

1

I

P

e

i

-

1

(

1

-

p

e

)

i

·

[

D

e

+

α

j

e

+

(

i

-

1

)

RTO

max

]

=

L

q

,

where p e is an estimated transmission loss ratio, D e is an estimated transmission transfer delay, j e is an estimated jitter delay, α is a pre-determined constant, I is a number of re-transmissions, i is an integer, 1≦i≦I and L q is a transmission latency requirement; and

(b3) adjusting settings DL adj for time delays for sending acknowledgements of the transmissions;

(c) establishing TCP connections for transmissions meeting the SoS requirements in accordance with levels of precedence of the transmissions, said transmissions being encrypted using High Assurance Internet Protocol Encryption (HAIPE) or an IP Security (IPSec) protocol;

(d) monitoring compliance of the established TCP connections with the MLPP scheme;

(e) temporarily aborting TCP transmissions failing to meet the SoS requirements; and

(f) repeating steps (b)-(f) until the transmission is complete.

16. The method of claim 15 , wherein the network is a wireless, wired, or fiber-optic communication network.

17. The method of claim 15 , wherein step (b1) comprises:

determining the settings CWND adj using an equation:

CWND adj =max{ CWND current ,CWND required },

where CWND current is a current setting for the congestion window, CWND required =RTT e ×MSS)/L q , RTT e is an estimated transmission round trip time, MSS is a maximum size of a transmission unit, and L q is a transmission latency requirement.

18. The method of claim 15 , wherein RTO max is determined using an equation:

RTO max =( L q −D e −αj e )/( I+ 1),

where L q is a transmission latency requirement, D e is a transmission transfer delay, α is a pre-determined constant, j e is a jitter delay, and I is a number re-transmissions.

19. The method of claim 15 , wherein step (b3) comprises:

adjusting the settings DL adj as follows, where RTT e is an estimated transmission round trip time and T m is a pre-determined time interval:

TRAFFIC

CONDITIONS

TIMING FOR SENDING ACKNOWLEDGEMENT

RTT e ≦ T m

Sending acknowledgement with time delay DL adj = 0

RTT e > T m

Sending acknowledgement with time delay

DL adj = RTT e − T m .

20. The method of claim 15 , wherein step (c) comprises:

establishing the TCP connections meeting both of the following conditions:

RTO max >βRTT e , and

RWND>CWND required ,

where RTO max is a maximum re-transmission time-out interval; β is pre-determined constant, RTT e is an estimated transmission rout trip time, RWND is a maximum size of a congestion window at a destination of the transmission, and CWND required =(RTT e ×MSS)/L q , RTT e is an estimated transmission round trip time, MSS is a maximum size of a transmission unit, and L q is a transmission latency requirement.

21. The method of claim 20 , wherein RTO max is determined using an equation:

i

=

1

I

P

e

i

-

1

(

1

-

P

e

)

i

·

[

D

e

+

α

J

e

+

(

i

-

1

)

RTO

max

]

=

L

q

,

where P e is an estimated transmission loss ratio, D e is an estimated transmission transfer delay, J e is an estimated jitter delay, α is a pre-determined constant, I is a number of re-transmissions, i is an integer, 1≦i≦I, and L q is a transmission latency requirement.

22. The method of claim 20 , wherein RTO max is determined using an equation:

RTO max =L a −D e −αJ e )/( I+ 1),

where L a is a transmission latency requirement, D e is a transmission transfer delay, α is a pre-determined constant, J e is a jitter delay, and I is a number re-transmissions.

23. The method of claim 15 , wherein step (e) further comprises:

dynamically controlling the TCP connections as follows, wherein Level of Precedence 1 (LP1)<Level of Precedence 2 (LP2)<Level of Precedence 3 (LP3):

TRAFFIC CONDITIONS

TCP CONNECTION STATUS

No violating incidents

Establish TCP connections meeting

requirements to the SoS

Occurrence of 1 st violating

Abort TCP connections having a level of

incident during current

precedence LP = LP1 for a pre-determined

communication session

time interval T1 or a pre-determined number

M1 of the transmissions

Violation incident occurs

Abort TCP connections having a level of

during the time interval T1

precedence LP ≦ LP2 for a pre-determined

or M1 transmissions

time interval T2 or a pre-determined number

M2 of the transmissions

Violation incident occurs

Abort TCP connections having a level of

during the time interval T2

precedence LP ≦ LP3 for a pre-determined

or M2 transmissions

time interval T3 or a pre-determined number

M3 of the transmissions

After the time interval T2 or M2 trans-

missions, abort the TCP connections having a

level of precedence LP = LP1

Violation incident occurs

Abort TCP connections having a level of

during the time interval T3

precedence LP ≦ LP2 for a pre-determined

or M3 transmissions

time interval T4 or a pre-determined number

M4 of the transmissions.

24. The method of claim 15 , wherein step (d) further comprises:

monitoring compliance of the TCP connections in a real time.

Assignments (2)
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Sep 23, 2009
From: D&S CONSULTANTS, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 023263/0811 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2007
From: LEE, JUNGHOON; ELMASRY, GEORGE
To: D & S CONSULTANTS, INC.
Reel/Frame 019212/0157 →