Method and apparatus for maintaining packet order integrity in parallel switching engine
First Claim
1. A method for preserving packet order integrity in a switching engine wherein packets are forwarded to different ones of a plurality of processing elements within a processor array for switching, comprising checking for each inbound packet whether another packet from the same source is pending at an individual processing element before forwarding the inbound packet to the individual processing element.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for maintaining packet order integrity in a switching engine wherein inbound packets are forwarded to different ones of parallel processing elements for switching. Order preservation for packets relating to the same conversation is guaranteed by checking for each inbound packet whether a previous packet from the same source is pending at a processing element and, if the check reveals that such a packet is pending, forwarding the inbound packet to the same processing element as the previous packet.
-
Citations
24 Claims
-
1. A method for preserving packet order integrity in a switching engine wherein packets are forwarded to different ones of a plurality of processing elements within a processor array for switching, comprising checking for each inbound packet whether another packet from the same source is pending at an individual processing element before forwarding the inbound packet to the individual processing element.
-
2. A method for preserving packet order integrity in a switching engine wherein packets are forwarded to different ones of a plurality of parallel processing elements for switching, comprising:
-
checking for an inbound packet whether another packet from the same source is pending at any processing element; and
if another packet from the same source is pending at any processing element, forwarding the inbound packet to the processing element at which the other packet from the same source is pending. - View Dependent Claims (3, 4, 5)
if no other packet from the same source is pending at any processing element, forwarding the inbound packet to a processing element selected in accordance with a predetermined algorithm.
-
-
4. The method according to claim 2, further comprising:
if no other packet from the same source is pending at any processing element, forwarding the inbound packet to a processing element selected in accordance with a predetermined load balancing algorithm.
-
5. The method according to claim 2, further comprising:
if no other packet from the same source is pending at any processing element, forwarding the inbound packet to a processing element having the lowest backlog of packets.
-
6. A method for preserving packet order integrity in a switching engine wherein packets are forwarded to different ones of a plurality of processing elements within a processor array for switching, comprising checking for each inbound packet whether a source of the packet is committed to a processing element within the processor array before forwarding the inbound packet to the processor array.
-
7. A method for preserving packet order integrity in a switching engine wherein packets are forwarded to different ones of a plurality of processing elements within a processor array for switching, comprising:
-
determining if a source of an inbound packet is committed to any processing element; and
if the source of the inbound packet is committed to any processing element, forwarding the inbound packet to the processing element to which the source is committed. - View Dependent Claims (8, 9, 10)
if the source of the inbound packet is not committed to any processing element, forwarding the inbound packet to a processing element selected in accordance with a predetermined algorithm.
-
-
9. The method according to claim 7, further comprising:
if the source of the inbound packet is not committed to any processing clement, forwarding the inbound packet to a processing clement selected in accordance with a predetermined load balancing algorithm.
-
10. The method according to claim 7, further comprising:
if the source of the inbound packet is not committed to any processing element, forwarding the inbound packet to a processing element having the lowest backlog of packets.
-
11. In a switching engine wherein packets from different sources are forwarded to different ones of a plurality of parallel processing elements for switching, a method for preserving packet order integrity, comprising:
-
committing a source to processing element; and
forwarding inbound packets from the source to the processing clement and no other processing element until the commitment is released - View Dependent Claims (12)
-
-
13. A switching engine to switch packets from a plurality of sources comprising:
-
a processor array to switch the packets and provide them as output, the processor array including a plurality of parallel processing elements; and
a plurality of input controllers to receive the packets from the plurality of sources and to provide the received packets to the processor array, wherein the input controller, after receiving a packet, determines whether another packet from the same source is pending within the processor array before forwarding the packet to the processor array, wherein the processor array provides packets from each of the plurality of sources as output in the order they are received as to preserve packet order integrity of the packets from the same source. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification