I read the patent application titled "METHOD AND SYSTEM FOR AGGREGATE BANDWITH CONTROL". The application number for this application is US20090063698 A1. I have some prior art to report.
In text section in , search for the word "router". A router is computer machinery that does include virtual link controllers for multiple data transport sessions such as TCP or UDP sessions. Thus any claim this patent makes for virtual link controller for multiple sessions inside one computer is questionable.
An entity similar to a virtual link controller has also been published as an IETF standard available at the URL below. The IETF document calls the controller as a Congestion Manager.
- This patent application uses the round trip delay between sender and receiver to schedule queuing between multiple data transport sessions or processes. Please see the URL below where such ideas have been discussed in The Cisco Internet Protocol Journal..
Specifically see this text in the URL above.
"TCP also uses ACKs to clock the data flow. ACKs arriving back at the sender arrive at intervals approximately equal to the intervals at which the data packets arrived at the sender. If TCP uses these ACKs to trigger sending further data packets into the network, then the packets will be entered into the network at the same rate as they are arriving at their destination. This mode of operation is termed "ACK clocking."
A system, comprising:
a virtual link controller incorporated into each process of a group of independently executing software processes that transfer data across one or more common segments inside a network in accordance with a specified protocol, where the virtual link controller is configured to determine the aggregate traffic rate of the data transferred by the group of processes over the network segments and implement a virtual link through which the processes transfer their data, where the virtual link includes a virtual queue that is filled or emptied in accordance with whether the aggregate traffic rate is greater than or less than, respectively, a specified bandwidth limit cl; and,
a rate control mechanism incorporated into each process that is configured to regulate the data transfer rate x(t) of the process based upon one or more virtual queue parameters reflective of the extent to which the virtual queue is filled with data.