← Back to Patent Explorer
US5742597A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and device for multipoint switching and arbitration in output-request packet switch

Assignee: Google Technology Holdings LLC
•
Filing: 1996-03-14
•
Granted: 1998-04-21
•
Expires: 2016-03-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and device are provided for efficient switching of multipoint packets in an output request packet switch, the multipoint packets being switched from a plurality of input ports to a plurality of egress ports where at least one packet is to be delivered to at least two destination egress ports.

Inventors

  • 👤 Craig Sheppard Holt
  • 👤 Richard Kline
  • 👤 Krishnan Ramakrishnan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 06:48
CPC Classifications
H; H04; H04Q; H04Q11/00; H04Q11/04; H04Q11/0428; H04Q11/0478; H04L; H04L49/00; H04L49/25; H04L49/253; H04L49/254; H04L49/10; H04L49/103; H04L49/20; H04L49/205; H04L49/30; H04L49/3009; H04L49/35; H04L49/351

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 397 words
A method for switching of multipoint packets in an output request packet switch, the multipoint packets being switched from a plurality ingress ports (IPs) of to a plurality of egress ports (EPs) where at least one packet is to be delivered to at least two destination egress ports, comprising the steps of: A) determining, by a receiving IP, a set of destination EPs for a packet that was received on an input link in accordance with a first predetermined scheme, generating an arrival tag for a primary destination EP, placing, by the IP, a SECONDARIES label in the packet, wherein the SECONDARIES label specifies "secondary destinations" and storing the packet in packet memory; B) sending, by the receiving IP, to the primary destination EP, an arrival tag containing the address where the packet is stored; C) receiving, by the primary destination EP, the arrival tag/tags and storing the arrival tag/tags in a tag memory connected to the primary destination EP; D) selecting, by the primary destination EP, a stored tag in accordance with a second predetermined scheme, and where the tag is an arrival tag, sending the selected stored tag to the packet memory where the packet is stored to request transmission of the packet associated with the arrival tag; E) receiving, by the packet memory, the selected arrival tag, retrieving the packet associated with the arrival tag from packet memory, and sending the packet associated with the arrival tag to the primary destination EP on a packet pathway; F) receiving, by the primary destination EP, the packet associated with the arrival tag and dispatching the packet from the primary destination EP; and monitoring, by each EP, the packet pathway and capturing the packet by all EPs that are specified as secondary destinations in the SECONDARIES label of the packet, wherein the packets captured in secondary destinations are termed "secondary packets"; G) storing, by receiving EPs at secondary destinations, the secondary packets in egress packet memory, generating a "secondary tag" corresponding to each secondary packet and storing the secondary tag in a tag memory along with arrival tags; and H) selecting, by a secondary destination EP, a stored tag in accordance with the second predetermined scheme, and where the tag is a secondary tag, retrieving the packet associated with the secondary tag from the egress packet memory and dispatching the secondary packet from the secondary destination EP.
Claim 2
Independent Claim 397 words
A method for switching of multipoint packets in an output request packet switch, the multipoint packets being switched from a plurality ingress ports (IPs) of to a plurality of egress ports (EPs) where at least one packet is to be delivered to at least two destination egress ports, comprising the steps of: A) determining, by a receiving IP, a set of destination EPs for a packet that was received on an input link in accordance with a first predetermined scheme, generating an arrival tag for a primary destination EP, placing, by the IP, a SECONDARIES label in the packet, wherein the SECONDARIES label specifies "secondary destinations" and storing the packet in packet memory; B) sending, by the receiving IP, to the primary destination EP, an arrival tag containing the address where the packet is stored; C) receiving, by the primary destination EP, the arrival tag/tags and storing the arrival tag/tags in a tag memory connected to the primary destination EP; D) selecting, by the primary destination EP, a stored tag in accordance with a second predetermined scheme, and where the tag is an arrival tag, sending the selected stored tag to the packet memory where the packet is stored to request transmission of the packet associated with the arrival tag; E) receiving, by the packet memory, the selected arrival tag, retrieving the packet associated with the arrival tag from packet memory, and sending the packet associated with the arrival tag to the primary destination EP on a packet pathway; F) receiving, by the primary destination EP, the packet associated with the arrival tag and dispatching the packet from the primary destination EP; and monitoring, by each EP, the packet pathway and capturing the packet by all EPs that are specified as secondary destinations in the SECONDARIES label of the packet, wherein the packets captured in secondary destinations are termed "secondary packets"; G) storing, by receiving EPs at secondary destinations, the secondary packets in egress packet memory, generating a "secondary tag" corresponding to each secondary packet and storing the secondary tag in a tag memory along with arrival tags; and H) selecting, by a secondary destination EP, a stored tag in accordance with the second predetermined scheme, and where the tag is a secondary tag, retrieving the packet associated with the secondary tag from the egress packet memory and dispatching the secondary packet from the secondary destination EP.
Claim 3
Dependent Claim 24 words
The method of claim 1 wherein a centralized shared memory is used for storing packets in step 1A and retrieving packets in step 1E.
Claim 4
Independent Claim 403 words
A method for switching of multipoint packets in an output request packet switch, the multipoint packets being switched from a plurality of ingress ports (IPs) to a plurality of egress ports (EPs) where at least one packet is to be delivered to at least two destination egress ports, comprising the steps of: A) determining, by a receiving IP, a set of destination EPs for a multipoint packet that was received on an input port in accordance with a first predetermined scheme, generating an arrival tag for a primary destination EP, labelling the multipoint packet, by the IP, with a SECONDARIES label, wherein the SECONDARIES label specifies "secondary destinations" and storing the packet in an ingress packet memory connected to the receiving IP; B) sending, by the receiving IP, to the primary destination EP, an arrival tag containing at least a memory location and IP number indicating where the packet is stored; C) receiving, by the primary destination EP, the arrival tag/tags and storing the arrival tag/tags in a tag memory connected to the primary destination EP; D) selecting, by the primary destination EP, a stored tag in accordance with a second predetermined scheme, and where the tag is an arrival tag, sending the selected stored tag back to the IP that sent the arrival tag; E) receiving, by the IP, the selected arrival tag, retrieving the packet associated with the arrival tag from ingress packet memory, and sending the packet associated with the arrival tag to the primary destination EP on a packet pathway; F) receiving, by the primary destination EP, the packet associated with the arrival tag and dispatching the packet from the primary destination EP; and monitoring, by each EP, the packet pathway and capturing the packet by all EPs that are specified as secondary destinations in the SECONDARIES label of the packet, wherein the packets captured in secondary destinations are termed "secondary packets"; G) storing, by receiving EPs at secondary destinations, the secondary packets in egress packet memory, generating a "secondary tag" corresponding to each secondary packet and storing the secondary tag in a tag memory along with arrival tags; and H) selecting, by a secondary destination EP, a stored tag in accordance with the second predetermined scheme, and where the tag is a secondary tag, retrieving the secondary packet associated with the secondary tag from the egress packet memory and dispatching the secondary packet from the secondary destination EP.
Claim 5
Independent Claim 403 words
A method for switching of multipoint packets in an output request packet switch, the multipoint packets being switched from a plurality of ingress ports (IPs) to a plurality of egress ports (EPs) where at least one packet is to be delivered to at least two destination egress ports, comprising the steps of: A) determining, by a receiving IP, a set of destination EPs for a multipoint packet that was received on an input port in accordance with a first predetermined scheme, generating an arrival tag for a primary destination EP, labelling the multipoint packet, by the IP, with a SECONDARIES label, wherein the SECONDARIES label specifies "secondary destinations" and storing the packet in an ingress packet memory connected to the receiving IP; B) sending, by the receiving IP, to the primary destination EP, an arrival tag containing at least a memory location and IP number indicating where the packet is stored; C) receiving, by the primary destination EP, the arrival tag/tags and storing the arrival tag/tags in a tag memory connected to the primary destination EP; D) selecting, by the primary destination EP, a stored tag in accordance with a second predetermined scheme, and where the tag is an arrival tag, sending the selected stored tag back to the IP that sent the arrival tag; E) receiving, by the IP, the selected arrival tag, retrieving the packet associated with the arrival tag from ingress packet memory, and sending the packet associated with the arrival tag to the primary destination EP on a packet pathway; F) receiving, by the primary destination EP, the packet associated with the arrival tag and dispatching the packet from the primary destination EP; and monitoring, by each EP, the packet pathway and capturing the packet by all EPs that are specified as secondary destinations in the SECONDARIES label of the packet, wherein the packets captured in secondary destinations are termed "secondary packets"; G) storing, by receiving EPs at secondary destinations, the secondary packets in egress packet memory, generating a "secondary tag" corresponding to each secondary packet and storing the secondary tag in a tag memory along with arrival tags; and H) selecting, by a secondary destination EP, a stored tag in accordance with the second predetermined scheme, and where the tag is a secondary tag, retrieving the secondary packet associated with the secondary tag from the egress packet memory and dispatching the secondary packet from the secondary destination EP.
Claim 6
Dependent Claim 41 words
The method of claim 3 wherein each ingress port is co-located with an egress port and each ingress port and associated egress port share a memory that is used for storing packets in step 1A and retrieving packets in step 1E.
Claim 7
Independent Claim 303 words
A device for switching of multipoint packets in an output request packet switch, the multipoint packets being switched from a plurality of ingress ports (IPs) to a plurality of egress ports (EPs) where at least one packet is to be delivered to at least two destination egress ports, comprising: A) a plurality of ingress ports, each having an associated memory for storing the multipoint packets and for, upon receiving a request from a scheduler of an egress port, sending the packet requested via a packet pathway; B) an individual arrival controller coupled to each ingress port, for sending an arrival tag for each packet to a first destination egress port arbitrarily selected as a primary destination for the packet, and for labelling the stored packet with a SECONDARIES label indicating the remaining destination egress ports for the packet; C) a scheduler, having a scheduler memory, at each egress port, coupled to the arrival controller and to the ingress ports, for storing arrival tags and secondary tags, for selecting a stored tag in accordance with a predetermined scheme, and one of: C1) where the selected tag is an arrival tag, requesting the packet from the input port that sent the tag, and C2) where the selected tag is a secondary tag, requesting the packet from the local egress packet memory; D) the egress ports, each coupled to the packet pathway, for receiving the packet requested by the associated scheduler and dispatching this packet on the output link, for monitoring all packets on the packet pathway and capturing any packet that specifies the current egress port in its SECONDARIES label, wherein packets captured because of their SECONDARIES label are termed secondary packets, for storing the secondary packets in egress packet memory, and for sending a secondary tag to the associated scheduler for each secondary packet.
Claim 8
Independent Claim 303 words
A device for switching of multipoint packets in an output request packet switch, the multipoint packets being switched from a plurality of ingress ports (IPs) to a plurality of egress ports (EPs) where at least one packet is to be delivered to at least two destination egress ports, comprising: A) a plurality of ingress ports, each having an associated memory for storing the multipoint packets and for, upon receiving a request from a scheduler of an egress port, sending the packet requested via a packet pathway; B) an individual arrival controller coupled to each ingress port, for sending an arrival tag for each packet to a first destination egress port arbitrarily selected as a primary destination for the packet, and for labelling the stored packet with a SECONDARIES label indicating the remaining destination egress ports for the packet; C) a scheduler, having a scheduler memory, at each egress port, coupled to the arrival controller and to the ingress ports, for storing arrival tags and secondary tags, for selecting a stored tag in accordance with a predetermined scheme, and one of: C1) where the selected tag is an arrival tag, requesting the packet from the input port that sent the tag, and C2) where the selected tag is a secondary tag, requesting the packet from the local egress packet memory; D) the egress ports, each coupled to the packet pathway, for receiving the packet requested by the associated scheduler and dispatching this packet on the output link, for monitoring all packets on the packet pathway and capturing any packet that specifies the current egress port in its SECONDARIES label, wherein packets captured because of their SECONDARIES label are termed secondary packets, for storing the secondary packets in egress packet memory, and for sending a secondary tag to the associated scheduler for each secondary packet.
Claim 9
Dependent Claim 15 words
The device of claim 5 wherein multiple physical links per IP and EP are utilized.
Claim 10
Dependent Claim 81 words
The device of claim 5 wherein, where the switch is synchronized in cell cycles, an arbitration scheme is provided that, for each cell cycle, limits the number of requests accepted per IP to a predetermined integer k, limits the total number of requests accepted by all IPs to a predetermined integer M, and limits the total number of multipoint packets accepted by all IPs to a predetermined integer P, while providing fairness among requesting EPs and two levels of request priority.
Claim 11
Dependent Claim 81 words
The device of claim 7 wherein, in the predetermined arbitration scheme, fairness is provided by using a "group" bit scheme that includes: where a group is initially empty and EPs that take part in an arbitration and are rejected form a group, approving all members of the group before any non-group requesters; and, when all members of a first group have been approved, a new set of EPs that is waiting with requests, if any, forms a new group of requesters.
Claim 12
Dependent Claim 36 words
The device of claim 8 wherein the group bit scheme is further modified to include a high-priority group and a low-priority group and the low-priority group is only utilized after all high-priority requests have been considered.
Claim 13
Dependent Claim 62 words
The device of claim 8 wherein a "precedence" value is assigned to each request by the requesting egress port and a "precedence" value is formed by concatenating: A) one request priority bit; B) one group bit for the current request priority; and C) a switch port number of the egress port making the request, where a request priority is a high-order bit.
Claim 14
Dependent Claim 76 words
The device of claim 7 wherein the arbitration process includes two phases: A) a request phase during which each EP places its request on the ARBREQUEST pathway bus, IPs may specify certain requests that are being rejected on the Reject pathway, and EPs monitor the rejections; and B) a decision phase during which each EP uses information gathered in the request phase to make a final decision as to whether its request is approved or rejected.
Claim 15
Dependent Claim 182 words
The device of claim 11 including, during the request phase, the predetermined arbitration scheme further includes: A) accepting, by each IP, only a predetermined number (k) of requests for packets wherein, as the requests appear on the ARBREQUEST pathway, each IP assembles a list of the k highest precedence value requests addressed to the IP, and whenever a new request appears that has a higher precedence value than the k requests currently in the list, the lowest precedence entry in the list is rejected and replaced by the new request in accordance with the k limit and where an IP makes a rejection, the IP broadcasts the precedence of the rejected request back to all EPs using the Reject Pathway; B) monitoring, by each EP, an "ahead count" that counts accepted requests that have a higher precedence value than the EP; and C) monitoring, by each EP, an "excess multipoint count" that counts accepted multipoint requests that have a higher precedence value than the EP wherein the excess multipoint count begins at -P and counts upwards, indicating excess requests as positive values.
Claim 16
Dependent Claim 113 words
The device of claim 12 wherein, during the decision phase, the predetermined arbitration scheme includes: A) accomplishing the P limit by removing, by each EP, from consideration the EP if the EP has a multipoint request and the excess multipoint count of the EP is greater than or equal to zero; B) adjusting all numbering to include removed multipoint requests by subtracting, by each EP that has excess multipoint counts greater than zero, the excess multipoint counts of the EP from the ahead counts of the EP; and C) accomplishing the M limit by removing, by each EP, to from consideration the EP when the EP has an ahead count greater than M-1.
Claim 17
Independent Claim 297 words
A device for switching of multipoint packets in an output request packet switch, the multipoint packets being switched from a plurality of ingress ports (IPs) to a plurality of egress ports (EPs) where at least one packet is to be delivered to at least two destination egress ports, comprising: A) a plurality of ingress ports having a shared memory, for storing the multipoint packets and for, upon receiving a request from a scheduler of an egress port, sending the packet requested via a packet pathway; B) an arrival controller coupled to each ingress port, for sending an arrival tag for each packet to a first destination egress port arbitrarily selected as a primary destination for the packet, and for labelling the stored packet with a SECONDARIES label indicating the remaining destination egress ports for the packet; C) a scheduler, having a scheduler memory, at each egress port, coupled to the arrival controller and to the ingress ports, for storing arrival tags and secondary tags, for selecting a stored tag in accordance with a predetermined scheme, and one of: C1) where the selected tag is an arrival tag, requesting the packet from the shared memory; and C2) where the selected tag is a secondary tag, requesting the packet from the local egress packet memory; D) the egress ports, each coupled to the packet pathway, for receiving the packet requested by the associated scheduler and dispatching this packet on the output link, for monitoring all packets on the packet pathway and capturing any packet that specifies the current egress port in its SECONDARIES label, wherein packets captured because of their SECONDARIES label are termed secondary packets, for storing the secondary packets in egress packet memory, and for sending a secondary tag to the associated scheduler for each secondary packet.
Claim 18
Independent Claim 297 words
A device for switching of multipoint packets in an output request packet switch, the multipoint packets being switched from a plurality of ingress ports (IPs) to a plurality of egress ports (EPs) where at least one packet is to be delivered to at least two destination egress ports, comprising: A) a plurality of ingress ports having a shared memory, for storing the multipoint packets and for, upon receiving a request from a scheduler of an egress port, sending the packet requested via a packet pathway; B) an arrival controller coupled to each ingress port, for sending an arrival tag for each packet to a first destination egress port arbitrarily selected as a primary destination for the packet, and for labelling the stored packet with a SECONDARIES label indicating the remaining destination egress ports for the packet; C) a scheduler, having a scheduler memory, at each egress port, coupled to the arrival controller and to the ingress ports, for storing arrival tags and secondary tags, for selecting a stored tag in accordance with a predetermined scheme, and one of: C1) where the selected tag is an arrival tag, requesting the packet from the shared memory; and C2) where the selected tag is a secondary tag, requesting the packet from the local egress packet memory; D) the egress ports, each coupled to the packet pathway, for receiving the packet requested by the associated scheduler and dispatching this packet on the output link, for monitoring all packets on the packet pathway and capturing any packet that specifies the current egress port in its SECONDARIES label, wherein packets captured because of their SECONDARIES label are termed secondary packets, for storing the secondary packets in egress packet memory, and for sending a secondary tag to the associated scheduler for each secondary packet.
Claim 19
Dependent Claim 15 words
The device of claim 14 wherein multiple physical links per IP and EP are utilized.
Claim 20
Dependent Claim 81 words
The device of claim 14 wherein, where the switch is synchronized in cell cycles, an arbitration scheme is provided that, for each cell cycle, limits the number of requests accepted per IP to a predetermined integer k, limits the total number of requests accepted by all IPs to a predetermined integer M, and limits the total number of multipoint packets accepted by all IPs to a predetermined integer P, while providing fairness among requesting EPs and two levels of request priority.
Claim 21
Dependent Claim 81 words
The device of claim 16 wherein, in the predetermined arbitration scheme, fairness is provided by using a "group" bit scheme that includes: where a group is initially empty and EPs that take part in an arbitration and are rejected form a group, approving all members of the group before any non-group requesters; and, when all members of a first group have been approved, a new set of EPs that is waiting with requests, if any, forms a new group of requesters.
Claim 22
Dependent Claim 36 words
The device of claim 17 wherein the group bit scheme is further modified to include a high-priority group and a low-priority group and the low-priority group is only utilized after all high-priority requests have been considered.
Claim 23
Dependent Claim 62 words
The device of claim 17 wherein a "precedence" value is assigned to each request by the requesting egress port and a "precedence" value is formed by concatenating: A) one request priority bit; B) one group bit for the current request priority; and C) a switch port number of the egress port making the request, where a request priority is a high-order bit.
Claim 24
Dependent Claim 76 words
The device of claim 16 wherein the arbitration process includes two phases: A) a request phase during which each EP places its request on the ARBREQUEST pathway bus, IPs may specify certain requests that are being rejected on the Reject pathway, and EPs monitor the rejections; and B) a decision phase during which each EP uses information gathered in the request phase to make a final decision as to whether its request is approved or rejected.
Claim 25
Dependent Claim 182 words
The device of claim 20 including, during the request phase, the predetermined arbitration scheme further includes: A) accepting, by each IP, only a predetermined number (k) of requests for packets wherein, as the requests appear on the ARBREQUEST pathway, each IP assembles a list of the k highest precedence value requests addressed to the IP, and whenever a new request appears that has a higher precedence value than the k requests currently in the list, the lowest precedence entry in the list is rejected and replaced by the new request in accordance with the k limit and where an IP makes a rejection, the IP broadcasts the precedence of the rejected request back to all EPs using the Reject Pathway; B) monitoring, by each EP, an "ahead count" that counts accepted requests that have a higher precedence value than the EP; and C) monitoring, by each EP, an "excess multipoint count" that counts accepted multipoint requests that have a higher precedence value than the EP wherein the excess multipoint count begins at -P and counts upwards, indicating excess requests as positive values.
Claim 26
Dependent Claim 112 words
The device of claim 20 wherein, during the decision phase, the predetermined arbitration scheme includes: A) accomplishing the P limit by removing, by each EP, from consideration the EP if the EP has a multipoint request and the excess multipoint count of the EP is greater than or equal to zero; B) adjusting all numbering to include removed multipoint requests by subtracting, by each EP that has excess multipoint counts greater than zero, the excess multipoint counts of the EP from the ahead counts of the EP; and C) accomplishing the M limit by removing, by each EP, from consideration the EP when the EP has an ahead count greater than M-1.

References Cited (Backward Citations)

US4623996A Cited
US4814762A Cited
US4939720A Cited
US5001706A Cited
US5301055A Cited
US5305311A Cited
US5577035A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-04-20 2001-10-20 2002-04-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-04-20 2005-10-20 2006-04-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-04-20 2009-10-20 2010-04-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag