Any network having an open architecture such as the Internet is required to transmit traffic between originating and receiving nodes over a plurality of transmission paths made available between the two nodes. The set of transmission paths is also used by cross traffic routed there from other transmission paths. In transmission between two nodes there is a regular and known set of potential customers who could or not require the transmission of data between the nodes as a part of their communication needs. Such communications can be of very low bandwidth data or of high bandwidth real time voice or close to real time video transmission. Because of these variabilities, uncertainty exists in the selection and allocation of resources along the paths supporting the needs of customers traffic and of cross traffic. This uncertainty results in a less than optimal allocation and utilization of the total bandwidth (or bottleneck capacity) of the paths between any two nodes. For many applications, it is important to be able to have a certain minimum bandwidth or guaranteed level of service for customers using the nodes.
Prior attempts such as the ITSERV architecture extends the Internet Protocol (IP) to provide hard performance guarantees to dataflows by requiring the participation of every router in a per flow resource allocation protocol. The need to keep per flow state at every router presents significant scalability problems which makes it quite expensive to implement.
The DIFFSERV architecture provides the solution that lies between the current simple but inexpensive best-effort model of IP networks and the Quality of Service (QoS) aware but expensive INTSERV solution. DIFFSERV encompasses the scalability philosophy of IP in pushing more functionality toward the edges leaving the core of the network as simple as possible. Nevertheless, DIFFSERV has not been successful in being widely deployed by Internet Service Providers (ISP). For one reason, DIFFSERV solutions still require some support from core routers (albeit much less than that in INTSERV solutions). For example, one DIFFSERV solution requires the use and administration of a dual (weighted) random early drop queue management in the core routers.
Additionally, these proposed systems are further constrained by the assumption that all flows going through the network are managed. Additionally, none of these proposals also accommodate the allocation of excess bandwidth within the network to other users such as cross traffic. Finally, because of the size of the Internet, any allocation transmission resources that requires substantial additional hardware units greatly increases the cost of such a solution.
The present invention provides an elastic tunnel consisting of a predetermined number of flows between Internet Traffic Managers (or ITMs) servicing both customers and cross traffic, the elastic tunnel having a total bandwidth (or capacity) of known size, C. ITMs are network nodes fitted with special functionality that enables them to manage the creation, maintenance, control, and use of said elastic tunnels. The concept of the invention is applicable to the transfer of data between or through nodes or ITMs deployed within a single Internet Service Provider (ISP) or between nodes or ITMs in deployed in different ISPs.
The actual customer demands for usage, m, will vary over time as will the cross traffic demands, x. The present invention elastically adjusts m based on specified customer Service Level Agreements (SLAs) as well as some other function of customer demands, such as a running average or other usage statistics collected over time. By monitoring the bandwidth utilized by the tunnel between nodes (or other characteristics thereof, such as delay and jitter) the system adjusts the amount of cross traffic allowed in order to satisfy the customer's traffic needs, and, to come close to a desired bandwidth, B*. A controller determines the difference or error between the target bandwidth and the actual bandwidth used. Scheduling is then undertaken by having the channel allotment made to the needed bandwidth (n) of the node users while allowing substantial excesses in the available bandwidth to be allocated to other, cross traffic users, x. The system schedules the customer inter node traffic on the needed flows by constantly monitoring the use and adjusting the number of paths m available, and consequently allocating a corresponding bandwidth for cross traffic uses.
The results are high level of guaranteed access to inter node customer usage to fit their demands for bandwidth while maintaining a system friendly approach to other demands and cross traffic uses of the communication resources along the tunnel pathway.
These and other features of the invention are more fully described below in the detailed description and accompanying drawing of which:
a and 7b are respective flow charts illustrating the overall operation of a sending and receiving node according to the present invention.
The present invention contemplates an elastic, dynamically adjusted allocation of transmission resources or bandwidth between nodes of a network. The nodes are separated by a plurality of transmission paths which may connect them directly or connect them through other ISP systems.
Intra-ISP tunnels could be used as a mechanism to satisfy a certain Service Level Agreement (SLA) for a given customer on an existing best-effort (i.e. QoS oblivious) network infrastructure. For example, an ISP with a standard best-effort IP infrastructure could offer its customers a service that guarantees a minimum bandwidth between specific locations (e.g. the endpoints of a Virtual Private Network (VPN) of an organization). Inter-ISP tunnels could be used as a mechanism to satisfy a desirable QoS (say minimum bandwidth) between two points without requiring infrastructural support or change from the ISPs through which the tunnels will be routed beyond simple accounting of the aggregate volume of traffic traversing the network. For both intra- and inter-ISP embodiments, and using infrastructure that is assumed to be of a common IP architecture, the tunnel elasticity of the invention is preferably implemented in a manner that avoids the triggering of network mechanism that protect against unresponsive flows (e.g. TCP unfriendly flows). While this disclosure is provided with particular application to intra-ISP tunnels, it is equally applicable to inter-ISP tunnels.
The general view of an existing network architecture is illustrated in
In order to achieve an elasticity in the amount of network resources consumed by (or the bandwidth allocated to) the users of each nodes 14 and 16, an elastic or time varying allocation of capacity for the users of the m channels is achieved.
The QoS or bandwidth monitoring of the elastic tunnels 12 occurs over a period which is typically several congestion epochs, where a congestion epoch is a period of time that is long enough to allow for congestion transients to subside. Typically, the interrogation of the monitor in step 34 occurs every such congestion epoch but may be on a different time scale depending upon traffic variability and system dynamics. In step 36 the controller adjusts the number of open connections between the nodes that can be allocated to node customers.
Details of this functioning are illustrated in the internal operation of sending and receiving nodes in
The scheduler function 60 of
This process is more clearly illustrated in the flow chart of
Scheduling also addresses previously established specific customer properties. These can include support for Virtual Private Network functionality (including encryption and decryption), Service Level Agreement functionality (including traffic marking and shaping). Moreover, scheduling can include steps that assign different packets (or classes of packets) to different flows, select paths along which to open new flows, implement admission control strategy for added user demand, manage the scheduler buffers, and use redundant transmissions (including transmission of dummy data) over multiple paths to meet specific constraints.
Finally, in step 90 the combined packet header and source destination information is sent on one or more of the available connections 12.
When the data exits the tunnels 12 to a receiving node 16 the IP and TCP headers are removed in layers 100 and 102 representing steps 104 and 106 of
The controller 32 can function in a number of ways to achieve the bandwidth allocation. In a straightforward proportional control, the controller measures the bandwidth b′ grabbed by the current m′ ITM ICP connections. Then, it directly computes the quiescent number m of ITM TCP connections that should be open as:
To adapt to delays, a flow level model of the system dynamics represent the change in the bandwidth grabbed b(t) by the m(t) ITM TCP flows (constituting the elastic ITM-to-ITM tunnel) as:
b(t)=a[(C−B*)m(t)−B*x(t)] (2)
b(t) increases with m(t) and decreases as the number of cross connections x(t) increases. a is a constant that represents the degree of multiplexing of flows and is chosen to be the steady-state connection's fair share ratio of the bottleneck capacity. At steady-state, b(t) equals zero, which yields:
Where m and x represent the steady-state values for the number of ITM TCP and cross traffic flows, respectively. Based on the current bandwidth allocation b(t) and the target bandwidth B*, an error signal e(t) can be obtained as:
E(t)=B*−b(t) (4)
A controller would adjust m(t) based on the value of e(t). In one embodiment, the Proportional controller, such adjustement can be described by:
m(t)=Kpe(t) (5)
Such controllers are known to result in a non-zero steady-state error. To exactly achieve the target B* (i.e. with zero steady-state error), a Proportional-Integral controller can be used:
m(t)=Kpe(t)+K1∫e(t) (6)
where G1(s) is given by:
where β=a(C−B*). G2(s) is given by:
Where =−aB*. For the Proportional controller from Equation (5), C(s) is simply Kp. For the integrating controller, from Equation (6), C(s) equals
Thus, the transfer function
in the presence of a proportional controller is given by:
The system with this controller is always stable since the root of the characteristic equation (i.e. the denominator of the transfer function) is negative, given by −Kpβ. In the presence of an integrating controller, the transfer function
is given by:
One can choose for this integrating controller parameter Kp and Ki to achieve a certain convergence behavior to the target bandwidth B*. Kp and Ki can be set by experience. The actual channel dynamics of
This application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application No. 60/558,736 filed on Apr. 1, 2004 entitled Providing Soft Bandwidth Guarantees Using Elastic TCP-Based Tunnels, the disclosure of which is incorporated herein by reference.
This invention was made with Government Support under Contract Numbers 9986397 and 0095988 awarded by the National Science Foundation. The Government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
60558736 | Apr 2004 | US |