Scheduling system utilizing pointer perturbation mechanism to improve efficiency
First Claim
1. A scheduling device comprising a plurality of ingress ports to receive data from external sources;
- a plurality of egress ports to transmit data to external destinations;
a plurality of queues to store data waiting to be transmitted, wherein the queues are associated with a particular ingress port and a particular egress port;
a request generator to generate requests for permission to transmit data from the queues;
a switching matrix to provide selective connectivity between the plurality of ingress ports and the plurality of egress ports; and
a scheduler to receive the requests, generate grants based thereon, and configure the switching matrix, wherein said scheduler monitors its efficiency by tracking requests granted and grants accepted for a defined period and if the efficiency is determined to be below a defined threshold said scheduler performs perturbation of its scheduling state, wherein said scheduler considers a scheduling phase inefficient if some predetermined amount of requests sent from sources or some predetermined amount of requests received by destinations are not granted, and wherein said scheduler is considered inefficient if more than a certain percentage of scheduling phases is considered inefficient.
1 Assignment
0 Petitions
Accused Products
Abstract
In general, in one aspect, the disclosure describes a switching device that includes a plurality of ingress ports to receive data from external sources and a plurality of egress ports to transmit data to external destinations. The switching device also includes a plurality of queues to store data waiting to be transmitted from a particular ingress port to a particular egress port. A request generator generates requests for permission to transmit data for the queues. A request indicates a cumulative amount of data contained in a respective queue. A switching matrix provides selective connectivity between the ingress ports and the egress ports. The switching device further includes a scheduler to receive the requests, generate grants based thereon, and configure the switching matrix. The scheduler incorporates a mechanism to periodically monitor its operating efficiency and perturb its internal state when its efficiency is below a certain desired level.
-
Citations
31 Claims
-
1. A scheduling device comprising a plurality of ingress ports to receive data from external sources;
-
a plurality of egress ports to transmit data to external destinations; a plurality of queues to store data waiting to be transmitted, wherein the queues are associated with a particular ingress port and a particular egress port; a request generator to generate requests for permission to transmit data from the queues; a switching matrix to provide selective connectivity between the plurality of ingress ports and the plurality of egress ports; and a scheduler to receive the requests, generate grants based thereon, and configure the switching matrix, wherein said scheduler monitors its efficiency by tracking requests granted and grants accepted for a defined period and if the efficiency is determined to be below a defined threshold said scheduler performs perturbation of its scheduling state, wherein said scheduler considers a scheduling phase inefficient if some predetermined amount of requests sent from sources or some predetermined amount of requests received by destinations are not granted, and wherein said scheduler is considered inefficient if more than a certain percentage of scheduling phases is considered inefficient. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method comprising:
-
receiving data from external sources; storing the data waiting to be transmitted in queues, wherein the queues are associated with an external source from which the data came and an external destination to which the data is going; generating requests for permission to transmit data from the queues; receiving the requests at a scheduler; generating grants in the scheduler based on the received requests; monitoring the scheduler efficiency by tracking requests granted and grants accepted for a defined period, wherein a scheduling phase is considered inefficient if some predetermined amount of requests sent from sources or some predetermined amount of requests received by destinations are not granted, and wherein the scheduler is considered inefficient if more than a certain percentage of scheduling phases is considered inefficient; performing perturbation when the scheduler is considered inefficient; and selectively connecting the external sources and the external destinations based on the generated grants. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A store and forward device comprising
a plurality of Ethernet cards to receive data from and transmit data to external sources, wherein the plurality of Ethernet cards include an ingress interface module to receive data from external sources, store the data in queues associated with at least some subset of destination and priority, generate requests for transmitting data, and transmit data from queues upon receipt of an associated grant; - and
an egress interface module to receive data from the ingress interface module, and transmit the data to a destination; a switching matrix to provide selective connectivity between the Ethernet cards; a backplane consisting of a plurality of channels to connect the plurality of Ethernet cards to the switching matrix; and a scheduler to receive the requests, process the requests and generate grants therefrom, and configure the switching matrix accordingly, wherein said scheduler monitors its efficiency by tracking requests granted and grants accepted for a defined period, wherein said scheduler considers a scheduling phase inefficient if some predetermined amount of requests sent from sources or some predetermined amount of requests received by destinations are not granted, and wherein said scheduler is considered inefficient if more than a certain percentage of scheduling phases is considered inefficient and the scheduler performs perturbation by blocking requests from a selected ingress interface module. - View Dependent Claims (27, 28, 29, 30, 31)
- and
Specification