a) Field of the Invention
The present invention relates to communications systems in general and in particular to resource reservations within said communications systems.
b) Prior Art
A conventional communications system or network is comprised of a plurality of nodes coupled by an interconnect medium. Communication is effected by one node termed “Source Node” sending data to another node termed the “Destination Node”. In order to maintain a particular Qualify of Service (QoS) the Destination Node must reserve sufficient resources to process the data without undue delay. In fact, not only must the destination node reserve sufficient resources but any intermediate node that the data must traverse before reaching its destination must also reserve sufficient resources to ensure prompt processing of the data within these intermediate nodes. For example, the nodes must have enough storage space to buffer the data before processing. If adequate buffering is not available the node may have to discard the data. In this example storage is a resource. But, in general, a resource can be anything required to receive and process data. As a consequence a resource may include memory space, processor cycle, link, bandwidth etc.
The prior art provides several flow control proposals for managing data flow within communications networks. Resource management is an integral part of the flow control method. The prior art flow control proposals include Braden et al; Resource Reservation Protocol (RSVP), IETF RFC 2205, September 1997. The RSVP provides for receiver-initiated setup of resource reservation. In other words the destination node reserves resources based on a message sent by a source node. The RSVP protocol can be used by a host to request bandwidth from the network for data flows. The RSVP is usually used by routers to deliver bandwidth requests to all nodes along the patch or paths of a flow. The node issuing the RSVP can also request confirmation assuring that the request has been installed in the network. One of the drawbacks is that the RSVP protocol reserves resources only for simplex flows. Stated another way, RSVP requests resources in only one direction. To this end RSVP treats a sender (source) as logically distinct from a receiver (destination) even though the same application process may act simultaneously as both a sender and receiver.
In another flow control scheme termed “Rate Base” the rate at which data is permitted to be delivered from a source to a destination is controlled via a feedback signal from destination to source. If resources are available at the destination the source may transmit data without restriction. If resources at the destination are in short supply or unavailable the rate of transmission is restricted to the point of cut off altogether. One such rate base technique is described in an ATM document #94-0735 entitled “Enhanced Proportional Rate Control Algorithm” by Larry Roberts, August 1994.
In yet another flow control scheme termed “Credit Base Control”, a destination node generates and forwards “credits” to the Source node which may only transfer data if it has credits outstanding. The credits reflect the ability of the destination node to handle data. One such credit base controlled system is described in an ATM Forum document #94-0632 entitled “Credit-Based Proposal for ATM Traffic Management by Hunt et al., July 1994.
Because the above techniques treat the Source Node and Destination Node as separate entity when in fact they may not, a more dynamic system and method for managing data flow including Resource Reservation is required.
The Resource Reservation System of the present invention includes a Token Generation Unit which generates a special message termed a “Slotted Token (SLT)” which is transmitted to all nodes in the network. The SLT includes a plurality of sub-fields with each sub-field relating to a node in the network. Each sub-field carries an identification (ID) for each input port at the node and a value indicating resources available at the port.
Each node is provided with a Resource Control Unit (RCU) that monitors input ports in the node and communicates via the SLT, to other nodes the available resources for each of the input ports. The RCU also reserves resources in other nodes to which said RCU may wish to send data. The SLT may be circulated in a path dedicated to transmit the SLT or in the interconnecting path which transmits data between the nodes. On its first pass the RCU in each node enters (write) the available resources for the input port in the space reserved in the SLT for that input port. Upon writing the information for all of its input ports, the SLT is forwarded to another node which does the same. The process continues until all nodes in the network make entries in the SLT. On the first or subsequent pass of the SLT each RCU reserves the resource it needs in a particular input port by subtracting the resource from the value recorded in the space associated with the particular port.
To simplify the description common elements are identified by the same name, numeral or other symbols in the figures.
Referring to
Still referring to
Referring now to
In this operation, the Token Generation Unit (TGU) generates the Slotted Token which is in constant circulation as long as the system is up. It is assumed that the ring provides a reliable transport mechanism so that the Slotted Token does not get lost or corrupted. As stated previously, each slot in the Slotted Token is associated with a single input port and indicates the available resources for the input port. Therefore, for InPi the resource is shown as AvResInPi in the Slotted Token. Initially when the TGU generates the SLT the TGU sets AvResInPi to 0 for every InPi. It is further assumed that the amount of available resources for an input port can be represented with a scale value greater than or equal to 0 or any other quantitative expression selected by the designer. When a node's Resource Control Unit receives the Slotted Token the Resource Control Unit updates AvResInPi for every InPi that it has. For example, assume, Node1 (
When a node's RCU receives the SLT it also uses that to reserve resources in other nodes to which it needs to send data for processing. For example, assume Node0 (
Still referring to
From block 36 the program enters block 38. In block 38 the total amount of released resource (ReResInPi) associated with the input port InPi since the last time the SLT was received is reset to 0.
With respect to block 32 if the SLT is being received for the first time in the RCU the program enters block 34 whereat the RCU inserts the value for the resources available at each of its input ports and descends into block 38.
Still referring to
With respect to the invention described herein a node cannot use another node's resource unless it performs an explicit resource reservation as described herein. A node should not use another node's resource beyond what it has reserved. When a node “consumes” its reservation it needs to make a new reservation if more resources are required. In subsequent receipt of the SLT (that is, after the first time) the RCU updates the AvResInPi value in the SLT for every InPi that it has according to the following scheme: Let ResInPi be the total amount of release resource associated with InPi since the last time the SLT was received. For every InPi the RCU adds ResInPi to AvResInPi in the SLT before forwarding the SLT.
For example, if Node1 releases five units of resource as a result of processing the data received at InPk-2 it adds five to ResInPk-2 which will be added to AvResInPk-2 the next time the RCU for NodeN-1 receives the SLT.
A node may cancel its reservation for resources it has reserved in other nodes. When a node's RCU receives a SLT it also uses that to cancel any reserved resources in other nodes that it may not need. For example, assume Node0 (
The invention provides a decentralized “Advertisement-based” scheme: Receivers advertise their resources and senders take what they need in a distributed fashion.
The invention supports dynamic resource reservation for
Based upon the above description and drawings, it will be understood by those skilled in the art that the particular embodiments shown and described herein are for purposes of illustration only and are not intended to limit the scope of the invention. Those skilled in the art will recognize that the invention may be embodied in other specific forms without departing from its spirit or central characteristics. References to details of particular embodiments are not intended to limit the scope of the claims.
The present application is a continuation application of U.S. patent application Ser. No. 10/154,308 filed May 23, 2002 now U.S. Pat. No. 7,126,963, which is assigned to the assignee of the present invention. This application claims the priority date of the earlier filed application as its filing date.
Number | Name | Date | Kind |
---|---|---|---|
5268896 | Pauwels | Dec 1993 | A |
5388097 | Baugher et al. | Feb 1995 | A |
5506847 | Shobatake | Apr 1996 | A |
5701465 | Baugher et al. | Dec 1997 | A |
5708974 | Smith | Jan 1998 | A |
5781537 | Ramaswami et al. | Jul 1998 | A |
5918055 | Crawford et al. | Jun 1999 | A |
5982780 | Bohm et al. | Nov 1999 | A |
5995503 | Crawley et al. | Nov 1999 | A |
6058113 | Chang | May 2000 | A |
6094431 | Yamato et al. | Jul 2000 | A |
6122272 | Tomaszewski | Sep 2000 | A |
6240083 | Wright et al. | May 2001 | B1 |
6278712 | Takihiro et al. | Aug 2001 | B1 |
6310949 | Taylor et al. | Oct 2001 | B1 |
6320865 | Agrawala et al. | Nov 2001 | B1 |
6381228 | Prieto et al. | Apr 2002 | B1 |
6405258 | Erimli et al. | Jun 2002 | B1 |
6453349 | Kano et al. | Sep 2002 | B1 |
6763192 | Jagannathan | Jul 2004 | B1 |
7453884 | Ma | Nov 2008 | B2 |
Number | Date | Country |
---|---|---|
0242764 | Oct 1987 | EP |
PUPA61-146039 | Mar 1986 | JP |
PUPA63-191436 | Aug 1988 | JP |
PUPA63-301642 | Aug 1988 | JP |
PUPA04-234243 | Aug 1992 | JP |
PUPA-04-220036 | Nov 1992 | JP |
PUPA10-070566 | Oct 1998 | JP |
Number | Date | Country | |
---|---|---|---|
20070002888 A1 | Jan 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10154308 | May 2002 | US |
Child | 11464892 | US |