# US 7,613,184 B2 · Method and apparatus for performing scalable selective backpressure in packet-switched networks using internal tags

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,184 B2
- Document ID: US7613184B2
- Status: Granted
- Kind: B2
- Application number: 10/704,097
- Filed: 2003-11-07
- Published: 2005-05-12
- Granted: 2009-11-03
- Earliest claimed: 2003-11-07
- Assignees: Alcatel Lucent
- Inventors: Girish Chiruvolu; An Ge
- Web page: https://patentgrep.com/patent/US7613184B2

## CPC

- H04L 49/309: {Header conversion, routing tables or routing tags}
- H04L 47/10: Flow control; Congestion control
- H04L 47/30: in combination with information about buffer occupancy at either end or at transit nodes
- H04L 47/31: by tagging of packets, e.g. using discard eligibility [DE] bits
- H04L 2012/5635: {Backpressure, e.g. for ABR}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A packet switch is described. In one embodiment, the packet switch comprises a plurality of ingress ports for receiving packets at the packet switch and for appending a tag to each packet that designates one of the plurality of ingress ports that received the packet; a plurality of egress ports for removing the tag from the packets and transmitting the packets from the packet switch; and switch fabric for switching the packets from one of the plurality of ingress ports to one of the plurality of egress ports.

## Claims

### Claim 1

A packet switch comprising:
a plurality of ingress ports for receiving packets and for appending a tag to each packet that designates one of the plurality of ingress ports that received the packet;
a plurality of egress ports for removing the tag from each packet and transmitting the packets from the packet switch; and
a switch fabric for switching the packets from one of the plurality of ingress ports to one of the plurality of egress ports.

### Claim 2 (depends on 1)

The packet switch of claim 1 further comprising:
a queue management system for determining congestion in a queue of an egress port, examining tags of the packets in the queue to identify which ingress port contributes the most number of packets in the queue, and selectively applying backpressure techniques to the identified ingress port.

### Claim 3 (depends on 2)

The packet switch of claim 2 wherein the queue management system comprises:
an egress queue manager for monitoring egress port queues;
an ingress queue manager for monitoring ingress port queues; and
a flow control unit for controlling a rate of flow of packets into the ingress port queues.

### Claim 4 (depends on 1)

The packet switch of claim 1 further comprising:
a header/tag processing unit for processing for each received packet the tag of the packet and source and destination information contained in the packet.

### Claim 5 (depends on 4)

The packet switch of claim 4 further comprising:
a statistics unit for receiving from the header/tag processing unit the tag and source and destination information processed from each packet and for storing the information.

### Claim 6

A packet switch comprising:
a plurality of ingress ports for receiving packets and for appending a tag to each packet that designates one of the plurality of ingress ports that received the packet;
a plurality of egress ports for removing the tag from each packet and transmitting the packets from the packet switch;
switch fabric for switching the packets from one of the plurality of ingress ports to one of the plurality of egress ports; and
a queue management system, operating responsive to congestion in a queue of an egress port, for examining tags of the packets in the queue to identify which ingress port contributes the most number of packets in the queue, and taking steps to alleviate the congestion.

### Claim 7 (depends on 6)

The packet switch of claim 6 wherein the taking steps to alleviate the congestion comprises selectively applying backpressure techniques to the identified ingress port.

### Claim 8 (depends on 6)

The packet switch of claim 6 wherein the queue management system comprises:
an egress queue manager for monitoring egress port queues;
an ingress queue manager for monitoring ingress port queues; and
a flow control unit for controlling a rate of flow of packets into the ingress port queues.

### Claim 9 (depends on 6)

The packet switch of claim 6 further comprising:
a header/tag processing unit for processing for each received packet the tag of the packet and source and destination information contained in the packet.

### Claim 10 (depends on 9)

The packet switch of claim 9 further comprising:
a statistics unit for receiving from the header/tag processing unit the tag and source and destination information processed from each packet.

### Claim 11

A packet switch comprising:
means for appending to each packet received at the packet switch a tag identifying one of a plurality of ingress ports that received the packet;
means for removing the tag from each packet and transmitting the packets from the packet switch via one of a plurality of egress ports; and
means for switching each packet from one of the plurality of ingress ports to one of the plurality of egress ports.

### Claim 12 (depends on 11)

The packet switch of claim 11 further comprising:
means for determining congestion in a queue of an egress port;
means for examining tags of the packets in the queue to identify which ingress port contributes the most number of packets in the queue; and
means for selectively applying backpressure techniques to the identified ingress port.

### Claim 13 (depends on 12)

The packet switch of claim 12 wherein the means for determining congestion comprises an egress queue manager for monitoring egress port queues.

### Claim 14 (depends on 12)

The packet switch of claim 12 wherein the means for examining tags comprises an egress queue manager for monitoring egress port queues.

### Claim 15 (depends on 12)

The packet switch of claim 12 wherein the means for selectively applying backpressure techniques comprises:
an ingress queue manager for monitoring ingress port queues; and
a flow control unit for controlling a rate of flow of packets into the ingress port queues.

### Claim 16 (depends on 11)

The packet switch of claim 11 further comprising:
means for processing for each received packet the tag of the packet and source and destination information contained in the packet.

### Claim 17 (depends on 16)

The packet switch of claim 16 further comprising:
means for receiving from the means for processing the tag and source and destination information processed from each packet and for storing the information.

### Claim 18

A packet switching method comprising:
appending to each packet received at the packet switch a tag identifying one of a plurality of ingress ports that received the packet;
switching each packet from one of the plurality of ingress ports to one of a plurality of egress ports;
at each egress port, removing from each packet the tag; and
subsequent to the removing, transmitting each packet from the packet switch via one of the plurality of egress ports.

### Claim 19 (depends on 18)

The method of claim 18 further comprising:
determining congestion in a queue of an egress port;
examining tags of the packets in the queue; and
responding to the congestion using information obtained from the examining.

### Claim 20 (depends on 19)

The method of claim 19 wherein the examining comprises:
identifying from the tags which ingress port contributes the most number of packets in the queue.

### Claim 21 (depends on 20)

The method of claim 20 wherein the responding comprises:
selectively applying backpressure techniques to the identified ingress port.

### Claim 22 (depends on 18)

The method of claim 18 further comprising:
for each received packet, processing the tag of the packet and source and destination information contained in the packet.

### Claim 23 (depends on 22)

The method of claim 22 further comprising:
for each received packet, storing the processed tag and source and destination information.
