Traffic flow control and call set-up in multi-hop broadband networks
First Claim
1. A method for propagating a sequence of control packets through a network composed of a plurality of nodes interconnected by links, each link being utilized for transmitting corresponding control packets, the method for an arbitrary node comprising the steps ofgenerating a first screening vector as determined by a set of network masks and the control packets, each of said masks being indicative of the network topology,generating a second screening vector as determined from said first screening vector and a congestion status vector for said arbitrary node, andpropagating said second screening vector as the next succeeding one of the control packets emanating from said arbitrary node.
9 Assignments
0 Petitions
Accused Products
Abstract
A methodology is disclosed for traffic control administered locally at each individual node in a packet network. Packet level controls at a node pertain to whether to admit a new packet into the network and whether to momentarily detain passing-through packets. The nodes apply the "back-pressure" of congestion on one another and thereby cooperate to smooth traffic and alleviate the accumulation of packets at any single node. The decision process in packet level control involves two basic operations. First, the address of the packet is translated into a binary word via a static routing table and then, secondly, the binary word and control data representative of dynamic traffic information are operated on logically; traffic control decisions, such as detain a passing-through packet or permit entry of a packet into the network, are based primarily on the result of the logical operation. In setting-up a real-time call, a stream, of scout packets representative of the real-time packets is screened for entry into the network as influx packets. If all scout packets are permitted to enter the network in a given time period, then the real-time data packets are cleared for propagation.
-
Citations
10 Claims
-
1. A method for propagating a sequence of control packets through a network composed of a plurality of nodes interconnected by links, each link being utilized for transmitting corresponding control packets, the method for an arbitrary node comprising the steps of
generating a first screening vector as determined by a set of network masks and the control packets, each of said masks being indicative of the network topology, generating a second screening vector as determined from said first screening vector and a congestion status vector for said arbitrary node, and propagating said second screening vector as the next succeeding one of the control packets emanating from said arbitrary node.
-
2. A method for propagating a sequence of control packets through a network composed of a plurality of nodes interconnected by links, each link including a control channel for transmitting corresponding control packets, the method for an arbitrary node comprising the steps of
generating an IN-Vector as determined by a set of network masks and the control packets, each of said masks relating a group of the links to a corresponding incoming control channel and being indicative of the network topology, generating an OUT-Vector as determined from said IN-Vector and a congestion status vector for said arbitrary node, and propagating said OUT-Vector as the next succeeding one of the control packets emanating from said arbitrary node.
-
3. A method for propagating a sequence of control packets through a network composed of a plurality of nodes interconnected by links, each link including a control channel for transmitting a corresponding control packet, the method for an arbitrary node comprising the steps of
storing in said arbitrary node a set of network masks, each of said masks relating a group of the links to a corresponding incoming control channel and being indicative of the network topology, periodically receiving a set of control packets propagated by incoming ones of the control channels connected to said arbitrary node, generating an IN-Vector as determined by said set of masks and said set of control packets, determining a congestion status vector for said arbitrary node, generating an OUT-Vector as determined from said IN-Vector and said congestion status vector, and propagating said OUT-Vector as the next control packet emanating from said arbitrary node.
-
9. A method for setting-up a real-time call in a network composed of a plurality of nodes interconnected by links, each link including a control channel for transmitting corresponding control packets and a data channel for propagating data packets, the method for an arbitrary node comprising the steps of
generating an IN-Vector as determined by a set of network masks and the control packets, each of said masks relating a group of the links to a corresponding incoming control channel and being indicative of the network topology, generating an OUT-Vector as determined from said IN-Vector and a congestion status vector for said arbitrary node, and propagating said OUT-Vector as the next succeeding one of the control packets emanating from said arbitrary node, determining if a scout packet may enter the network on said data channel by translating a destination address embedded in said scout packet to determine a route vector, performing a logical AND operation of said route vector with said OUT-Vector to yield a scout vector, and admitting said scout packet to the network if said scout vector is a zero vector; - otherwise, denying entry of said scout packet to the network, and
if a predetermined number of said scout packets are admitted entry before a preselected time-out interval, propagating packets representative of the real-time call over the data channel;
otherwise, aborting the setting-up of the real-time call.
- otherwise, denying entry of said scout packet to the network, and
-
10. A method for setting-up a real-time call in a network composed of a plurality of nodes interconnected by links, each link including a control channel for transmitting corresponding control packets and a data channel for propagating data packets, the method for an arbitrary node comprising the steps of
propagating a sequence of control packets through the network, said step of propagating including the steps of storing in said arbitrary node a set of network masks, each of said masks relating a group of the links to a corresponding incoming control channel and being indicative of the network topology, periodically receiving a set of control packets propagated by incoming ones of the control channels connected to said arbitrary node, generating an IN-Vector as determined by said set of masks and said set of control packets, determining a congestion status vector for said arbitrary node, and generating an OUT-Vector as determined from said IN-Vector and said congestion status vector, determining if a scout packet may enter the network on said data channel by translating a destination address embedded in said scout packet to determine a route vector, performing a logical AND operation of said route vector with said OUT-Vector to yield a scout vector, and admitting said scout packet to the network if said scout vector is a zero vector; - otherwise, denying entry of said scout packet to the network, and
if a predetermined number of said scout packets are admitted entry before a preselected time-out interval, propagating packets representative of the real-time call over the data channel;
otherwise, aborting the setting-up of the real-time call.
- otherwise, denying entry of said scout packet to the network, and
Specification