This invention relates, generally, to communication networks and devices and, more particularly, to increasing bandwidth using connection oriented protocols.
Data-Over-Cable Service Interface Specifications (“DOCSIS”) has been established by cable television network operators to facilitate transporting data traffic, primarily internet traffic, over existing community antenna television (“CATV”) networks. In addition to transporting data traffic as well as television content signals over a CATV network, multiple services operators (“MSO”) also use their CATV network infrastructure for carrying voice, video on demand (“VoD”) and video conferencing traffic signals, among other types.
Various protocols may be used for transporting data back and forth between hosts (computer, set top box, etc.) over a network. Some of the protocols, such as UDP, are known in the art as best effort, which mean packets are sent towards a destination. If some packets do not arrive, the stream of packets continues anyway.
Other protocols that are sometimes referred to as “connection oriented protocols” require acknowledgement from the receiving host that packet(s) have arrived before a sending host will send more packets. An example of a connection oriented protocol is TCP. It can be shown that the packet rate of these protocols is proportional to the round trip time, time Trtt, between a sending host sending a packet and receiving an acknowledgement packet that the sent packet was received by the destination, or receiving, host.
Packet Rate=1/Trtt Eq. 1
It will be appreciated that Trtt is the sum of network latencies Tn and the processing time on Host B, Tp.
Trtt=Tn+Tp
Some connection oriented protocols use a “window” during which up to N packets can be sent prior to receiving any acknowledgement. For these protocols, it can be shown that the packet rate is proportional to N/Trtt. Thus,
Packet Rate˜N/Trtt. Eq. 2
TCP is an example of a windowing connection oriented protocol.
There exists a class of networking systems that utilize a shared medium for many hosts. In this class of networks there exists a subclass that uses a centralized scheduler to determine media access. In these systems, hosts are connected to the network via an access terminal. When a host wishes to send data, it sends it to its corresponding access terminal and the access terminal then sends a request to the centralized scheduler. The scheduler then grants access to the access terminal at some point in the future. At the designated time the access terminal sends the data from the host.
This class of networks may be referred to as a centralized scheduling networks (“CSN”). In a CSN the period starting when the access terminal sends a request to the scheduler and ending at the time when the access terminal can send the data acknowledgement packet is referred to as the request-grant cycle or RGC period (“TRGC”). A Cable Modem Termination System (“CMTS”) along with one or more cable modems is an example of CSN. In such a system the CMTS is the centralized scheduler and the cable modem is the access terminal.
Turning now to the figures,
Diagram 10 shows that the round trip time Trtt 20 is essentially equal the sum of Tp 22, Trgc 24, and Tn, where Tn is any additional latency due to the network devices such as the router. Thus,
Trtt=Tp+Trgc+Tn Eq. 3
In this network scenario shown in diagram 10, the bandwidth that can be used by a connection oriented protocol from first host 12 to second host 14 is equal to the packet rate multiplied by the average packet size or:
BWab=Average Packet Size*N*(1/(Tp+Trgc+Tn) Eq. 4
N is the number of packets in the window. In
As long as BWab is greater than the total bandwidth between scheduler 26 and access terminal 28, system 30 is able to achieve 100% utilization of the link 27, such as, for example, a hybrid fiber coaxial network (“HFC”), between the scheduler and the access terminal. However, as the bandwidth between scheduler 26 and access terminal 28 is increased, a point is eventually reached where this bandwidth is greater than BWab, at which point the limiting factor on packet rate becomes BWab.
This is a problem in CSN networks. MSOs desire to increase the total amount of bandwidth available to their subscribers such as first host 12. However despite investing in the technology to provide this increased bandwidth, first host 12 is often not able to utilize all of this bandwidth when using connection orientated protocols such as TCP, the protocol of which most Internet traffic comprises.
In order to increase effective BWab in CSNs there are several options. First the average packet size can be increased. However, there are limits set on the packet size by the networking technologies in use today. Therefore, this value is likely at its maximum value in most current networking systems.
Next the value N can be increased. This is very effective. However to increase this value N requires modifications to first host 12. Furthermore, it is not possible that every host will be under the control of the same MSO that operates CSN 18 providing service to first host 12. Thus, N is essentially fixed. In addition, increasing N increases memory requirements on second host 14. This is because host 14 must keep a copy of all non-acknowledged packets so they can be retransmitted if lost.
This leaves the denominator of the right side of Eq. 4. The processing time of first host 12 and the networking delays Tn can be thought of as constants. Thus, the other delay from which efficiency gains may realistically be realized is the delay represented by variable Trgc 24 in Eq. 4. There are a variety of methods known in the art for decreasing Trgc 24. For purposes of discussion, it is assumed that these methods have already been applied and that Trgc 24 cannot be optimized any further. Therefore, there is a need in the art for another method that can reduce the delay amount Trge 24.
The point in time at which Trge 24 begins in relation to the reception of a data packet at access terminal 28 is changed. When a data packet is received at access terminal 28 from first host 12, a request for bandwidth is sent from the access terminal to scheduler 26 for one or more acknowledgement packets. This provides the advantage that the packet rate is increased even though Trgc 20 has not been changed.
As a preliminary matter, it will be readily understood by those persons skilled in the art that the present invention is susceptible of broad utility and application. Many methods, embodiments and adaptations of the present invention other than those herein described, as well as many variations, modifications, and equivalent arrangements, will be apparent from or reasonably suggested by the present invention and the following description thereof, without departing from the substance or scope of the present invention.
Accordingly, while the present invention has been described herein in detail in relation to preferred embodiments, it is to be understood that this disclosure is only illustrative and exemplary of the present invention and is made merely for the purposes of providing a full and enabling disclosure of the invention. The following disclosure is not intended nor is to be construed to limit the present invention or otherwise to exclude any such other embodiments, adaptations, variations, modifications and equivalent arrangements, the present invention being limited only by the claims appended hereto and the equivalents thereof.
Turning now to
It will be appreciated that aggregation is the process of receiving more than one acknowledgement at an access terminal from a host before generating a bandwidth request. The access terminal uses knowledge of the protocol—usually TCP—and discards the earlier acknowledgement(s) in favor of the last-received acknowledgement.
A pseudocode instruction for performing the operation may be as follows:
If (a data packet is received from the direction of the centralized scheduler)
End If.
It will be appreciated that pseudocodem, according to California Polytechnic State University, “is a kind of structured English for describing algorithms. It allows the designer to focus on the logic of the algorithm without being distracted by details of language syntax.” http://www.csc.calpoly.edu/˜jdalbey/SWE/pdl_std.html.
Another pseudocode variation may be:
If (a data packet from a connection oriented protocol is received from the direction of the centralized scheduler)
End If.
Yet another variation may be:
If (a TCP data packet is received from the direction of the centralized scheduler)
End If.
In each of these embodiments, K is a configurable value. If K=1, only anticipation is implemented because the bandwidth request is sent upon receipt of a data packet from the centralized scheduler rather than waiting for a data packet acknowledgement to be received from the destination host. Similarly, if K>1, anticipation and aggregation are implemented.
In
It will be appreciated that the vertical spacing in the time domain in diagram 32 may not be to scale, but is given to show the relationship between the occurrence of various steps in the process of performing connection oriented protocol transmission of packets. Thus, even though the time 58 that elapses between the receiving of Grant 254 and the sending of ACK 338 may not appear to be less in the figure than the corresponding time 59 in
These and many other objects and advantages will be readily apparent to one skilled in the art from the foregoing specification when read in conjunction with the appended drawings. It is to be understood that the embodiments herein illustrated are examples only, and that the scope of the invention is to be defined solely by the claims when accorded a full range of equivalents.
This application claims priority under 35 U.S.C. 119(e) to U.S. provisional patent application No. 60/665,791 entitled “Method for increasing bandwidth utilization in centrally scheduled networks when using connection oriented protocols,” which was filed Mar. 28, 2005, and is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60665791 | Mar 2005 | US |