Switching device utilizing requests indicating cumulative amount of data
First Claim
1. A switching device comprisinga plurality of ingress ports to receive packets from external sources;
- a plurality of egress ports to transmit the packets to external destinations;
a segmentation unit to store the packets received by the plurality of ingress ports as segments, wherein the packets having a length greater than a maximum segment length are divided into multiple segments;
a plurality of queues to store the segments waiting to be transmitted from the plurality of ingress ports to the plurality of egress ports, wherein the segments are stored in a particular queue based at least in part on ingress port and egress port for an associated packet;
a framer to aggregate a plurality of segments from one or more queues associated with a particular ingress port and a particular egress port to form a frame, wherein the frame has a maximum frame length, wherein the segments are retrieved from the one or more queues, and wherein the frame may contain segments associated with different packets;
a request generator to generate requests for permission to transmit frames from the queues, wherein a request indicates a cumulative amount of data contained in a respective queue and wherein the cumulative amount of data is defined in terms of equivalent frames;
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 operates on a pipeline schedule and modifies the requests received to update the cumulative amount of data indicated as being contained in the queues to subtract the equivalent frames associated with grants generated in current period or previous period that are not reflected in the queues yet.
2 Assignments
0 Petitions
Accused Products
Abstract
In general, in one aspect, a switching device 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 operates on a pipeline schedule and modifies the requests received to account for grants generated in current period or previous period not reflected in the queues.
-
Citations
19 Claims
-
1. A switching device comprising
a plurality of ingress ports to receive packets from external sources; -
a plurality of egress ports to transmit the packets to external destinations; a segmentation unit to store the packets received by the plurality of ingress ports as segments, wherein the packets having a length greater than a maximum segment length are divided into multiple segments; a plurality of queues to store the segments waiting to be transmitted from the plurality of ingress ports to the plurality of egress ports, wherein the segments are stored in a particular queue based at least in part on ingress port and egress port for an associated packet; a framer to aggregate a plurality of segments from one or more queues associated with a particular ingress port and a particular egress port to form a frame, wherein the frame has a maximum frame length, wherein the segments are retrieved from the one or more queues, and wherein the frame may contain segments associated with different packets; a request generator to generate requests for permission to transmit frames from the queues, wherein a request indicates a cumulative amount of data contained in a respective queue and wherein the cumulative amount of data is defined in terms of equivalent frames; 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 operates on a pipeline schedule and modifies the requests received to update the cumulative amount of data indicated as being contained in the queues to subtract the equivalent frames associated with grants generated in current period or previous period that are not reflected in the queues yet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 12)
-
-
10. A method comprising:
-
receiving packets from external sources; breaking the packets received having a length greater than a maximum segment length into multiple segments; storing the segments in queues, wherein the queues are associated with a packet flow from an external source from which a packet came and an external destination to which the packet is going; aggregating a plurality of segments from one or more queues associated with a particular packet flow to form a frame, wherein the frame has a maximum frame length, wherein the segments are retrieved from the one or more queues, and wherein the frame may contain segments associated with different packets; generating requests for permission to transmit frames from the queues, wherein a request indicates a cumulative amount of data contained in a respective queue and wherein the cumulative amount of data is defined in terms of equivalent frames; receiving the requests at a scheduler operating on a pipeline schedule, wherein the scheduler generates grants based on the request and configures a switching matrix, wherein said scheduler modifies the requests received to update the cumulative amount of data indicated as being contained in the queues to subtract the equivalent frames associated with grants generated in current period or previous period that are not reflected in the queues yet; and transmitting the data to external destinations. - View Dependent Claims (11, 13, 14, 15)
-
-
16. A store and forward device comprising
a plurality of Ethernet cards to receive packets from and transmit packets to external sources, wherein the plurality of Ethernet cards include an ingress interface module to receive the packets from external sources, break the packets having a length greater than a maximum segment length into multiple segments, store the segments in queues associated with at least some subset of destination and priority, aggregate a plurality of segments from one or more queues associated with particular flows to form frames, generate requests that identify the cumulative amount of data in associated queues in terms of equivalent frames, and transmit frames from queues upon receipt of associated grants; - and
an egress interface module to receive the frames from the ingress interface module, extract the segments from the frames, reassemble the segments making up complete packets together, and transmit the packets 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 operates on a pipeline schedule and modifies the requests received to update the cumulative amount of data indicated as being contained in the queues to subtract the equivalent frames associated with grants generated in current period or previous period that are not reflected in the queues yet. - View Dependent Claims (17, 18, 19)
- and
Specification