Distributed quality-of-service system
First Claim
1. A communication system for implementing an overall communication policy comprising:
- a first communication interface for accepting a first plurality of separate communication links forming a first trunked communication link;
a second communication interface for accepting a second plurality of separate communication links forming a second trunked communication link; and
a plurality of processors, each coupled to a corresponding different one of the first plurality of separate communication links and coupled to a corresponding different one of the second plurality of communication links, and coupled to one another over a communication channel;
wherein each processor in the plurality of processors is configured to implement a separate communication policy for data passing between one of the first plurality of communication links forming the first trunked communication link and a corresponding one of the second plurality of communication links forming the second trunked communication link, such that together the separate communication policies approximate the overall communication policy,wherein the plurality of processors are further configured to communicate among one another to adjust the separate communication policies to adapt to data flows passing through the processors,wherein each processor in the plurality of processors has a copy of each communication policy in the communication system and communicates with the other processors in the plurality of processors to keep state information current for each such copy, andwherein the plurality of processors is divided into a plurality of active processors and a plurality of standby processors, such that each processor in the plurality of active processors actively implements a communication policy on data, while a standby processor in the plurality of standby processors monitors the plurality of active processors for a failure on an active processor, and upon detecting the failure the standby processor joins the plurality of active processors, thus implementing the overall communication policy.
13 Assignments
0 Petitions
Accused Products
Abstract
A distributed quality-of-service system makes use of a distributed architecture to achieve very high throughput and availability in which a number of separate processors are loosely coupled in a scalable communication architecture. The computational load required to implement an approach that is similar to that of Floyd and Jacobson is distributed among the processors without requiring the processors to be tightly coupled. A high data rate flow is split so that each processor receives a portion of the traffic passing through the system. The processors implement separate class-based queuing and link fairness algorithms. The output flows of each of the processors are combined to form the overall output flow. The processors exchange data from time to time in order to achieve an approximate link fairness on the overall output flow without requiring the separate algorithms implemented on each of the processors to be tightly coupled.
89 Citations
8 Claims
-
1. A communication system for implementing an overall communication policy comprising:
-
a first communication interface for accepting a first plurality of separate communication links forming a first trunked communication link; a second communication interface for accepting a second plurality of separate communication links forming a second trunked communication link; and a plurality of processors, each coupled to a corresponding different one of the first plurality of separate communication links and coupled to a corresponding different one of the second plurality of communication links, and coupled to one another over a communication channel; wherein each processor in the plurality of processors is configured to implement a separate communication policy for data passing between one of the first plurality of communication links forming the first trunked communication link and a corresponding one of the second plurality of communication links forming the second trunked communication link, such that together the separate communication policies approximate the overall communication policy, wherein the plurality of processors are further configured to communicate among one another to adjust the separate communication policies to adapt to data flows passing through the processors, wherein each processor in the plurality of processors has a copy of each communication policy in the communication system and communicates with the other processors in the plurality of processors to keep state information current for each such copy, and wherein the plurality of processors is divided into a plurality of active processors and a plurality of standby processors, such that each processor in the plurality of active processors actively implements a communication policy on data, while a standby processor in the plurality of standby processors monitors the plurality of active processors for a failure on an active processor, and upon detecting the failure the standby processor joins the plurality of active processors, thus implementing the overall communication policy. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A communication system for implementing an overall communication policy comprising:
-
a first communication link; a second communication link; a plurality of processors, each processor in the plurality of processors configured to implement the communication policy for data passing between the first communication link and the second communication link; a first plurality of aggregator/disaggregator network devices arranged between the plurality of processors and the first communication link; a second plurality of aggregator/disaggregator network devices arranged between the plurality of processors and the second communication link; a first mesh, including a plurality of network links such that a link in the plurality of network links exists to join each processor in the plurality of processors to each aggregator/disaggregator in the first plurality of aggregator/disaggregator network devices; and a second mesh, including a plurality of network links such that a link in the plurality of network links exists to join each processor in the plurality of processors to each aggregator/disaggregator in the second plurality of aggregator/disaggregator network devices; wherein each processor in the plurality of processors is configured to implement a separate communication policy for data passing between the first communication link via a first aggregator/disaggregator in the first plurality of aggregator/disaggregator network devices and the second communication link via a corresponding one of the second plurality of aggregator/disaggregator network devices, such that together the separate quality-of-service policies approximate the overall communication policy, wherein the plurality of processors are further configured to communicate among one another to adjust the separate communication policies to adapt to data flows passing through the processors, and wherein the plurality of processors is divided into a plurality of active processors and a plurality of standby processors, such that each processor in the plurality of active processors actively implements a communication policy on data, while a standby processor in the plurality of standby processors monitors the plurality of active processors for a failure on an active processor, and upon detecting the failure the standby processor joins the plurality of active processors, implementing a communication policy on data previously associated with the active processor. - View Dependent Claims (8)
-
Specification