# US 8,130,652 B2 · Control of data in communication networks

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

- Number: US 8,130,652 B2
- Document ID: US8130652B2
- Status: Granted
- Kind: B2
- Application number: 12/524,546
- Filed: 2008-01-24
- Published: 2010-03-04
- Granted: 2012-03-06
- Earliest claimed: 2007-01-24
- Assignees: Complex Systems Research Limited
- Inventors: Vaughan William Wittorff
- Web page: https://patentgrep.com/patent/US8130652B2

## CPC

- 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/39: {Credit based}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A router (14) for use in a communication network (10) and an associated method. The router (14) includes input ports each having an associated input buffer for receiving data packets from a sending device and output ports for sending data packets to a receiving device. The router (14) also includes a means to direct data packets from the or each input port to one or more of the output ports and a means for providing information to each sending device such that a determination may be made as to whether or not the sending device may transmit packets in order to assure lossless transfer. The means to direct data packets from a particular input port includes a method of control in order to regulate the transfer of data packets, where this regulation is based on a count of the data packets previously transferred from that input port and not yet output from the output port. The router (14) transmits data packets from the output port only when loss free transfer to the input port of the receiving router (14) is assured.

## Claims

### Claim 1

A switching device for use in a communication network comprising:
one or more input ports, each having an associated input buffer for receiving data packets from a sending device;
one or more output ports for sending data packets to a receiving device;
a means to direct data packets from the or each input port to one or more of the output ports; and
a means for providing information to the or each sending device such that a determination may be made as to whether or not the sending device may transmit packets in order to assure lossless transfer;
wherein the means to direct data packets from a particular input port includes a method of control in order to regulate the transfer of data packets, where this regulation is based on a count of the data packets previously transferred from that input port and not yet output from the output port, and the switching device transmits data packets from the output port only when loss free transfer to the receiving device is assured.

### Claim 2 (depends on 1)

A switching device in accordance with claim 1, wherein the method of control includes one or more control values each associated with a corresponding input port such that each control value defines the maximum number of data packets received from the corresponding input port still awaiting transfer by appropriate output ports.

### Claim 3 (depends on 2)

A switching device in accordance with claim 2, wherein each input port includes an input buffer and further packets are not read from the buffer of an input port when the control value associated with the input port is exceeded.

### Claim 4 (depends on 3)

A switching device in accordance with claim 3, wherein the switching device includes a means for providing information to the or each sending device connected to an input port regarding the available space in the input buffer.

### Claim 5 (depends on 4)

A switching device in accordance with claim 4, wherein the sending device comprises a sending switching device and the means for providing information regarding available space in the buffer comprises a credit based system such that the sending switching device maintains a count of credits which is decremented for each data packet sent and increased based on information transmitted to the sending switching device by said switching device.

### Claim 6 (depends on 5)

A switching device in accordance with claim 5, wherein the count of credits is initially set to a value not exceeding the capacity of the input buffer of the switching device and the switching device sends information to the sending switching device to increment the count of credits each time a data packet is transferred from the input buffer.

### Claim 7 (depends on 5)

A switching device in accordance with claim 5, wherein the count of credits is initially set to a value not exceeding the capacity of the input buffer of the switching device and the switching device sends information to the sending switching device to increase the count of credits by a pre-defined number each time that the pre-defined number of data packets are transferred from the input buffer.

### Claim 8 (depends on 1)

A switching device in accordance with claim 1, wherein the sending device comprises a sending end user and the switching device includes means to transmit a control signal to the sending end user to temporarily prevent further transmission of data.

### Claim 9

A method of controlling flow of traffic in a communication network comprising one or more switching devices, each switching device having one or more input ports with an associated input buffer for receiving data packets from a sending device, one or more output ports for sending data packets to a receiving device, and a means to direct data packets from the or each input port to one or more of the output ports; the method including the steps of:
the means to direct data packets regulating the transfer of data packets from one of the input ports, such regulation based on a count of the data packets previously transferred from that input port and not yet output from the or each output port;
the switching device providing information to the or each sending device such that a determination may be made as to whether or not the sending device may transmit packets in order to assure lossless transfer; and
the switching device transmitting data packets from the output port only when loss free transfer to the input port of the receiving device or destination end user is assured.

### Claim 10 (depends on 9)

A method in accordance with claim 9, wherein the method of control includes one or more control values each associated with a corresponding input port such that each control value defines the maximum number of data packets received from the corresponding input port still awaiting transfer by appropriate output ports.

### Claim 11 (depends on 10)

A method in accordance with claim 10, wherein each input port includes an input buffer and further packets are not read from the buffer of an input port when the control value associated with the input port is exceeded.

### Claim 12 (depends on 11)

A method in accordance with claim 11, including the steps of the switching device providing information to the or each sending device connected to an input port regarding the available space in the input buffer.

### Claim 13 (depends on 12)

A method in accordance with claim 12, wherein the sending device comprises a sending switching device and the sending switching device maintains a count of credits which is decremented for each data packet sent and increased based on information transmitted to the sending switching device by said switching device.

### Claim 14 (depends on 13)

A method in accordance with claim 13, including the steps of initially setting the count of credits to a value not exceeding the capacity of the input buffer of the switching device and the switching device sending information to the sending switching device to increment the count of credits each time a data packet is transferred from the input buffer.

### Claim 15 (depends on 13)

A method in accordance with claim 13, including the steps of initially setting the count of credits to a value not exceeding the capacity of the input buffer of the switching device and the switching device sending information to the sending switching device to increase the count of credits by a pre-defined number each time that the pre-defined number of data packets are transferred from the input buffer.

### Claim 16 (depends on 9)

A method in accordance with claim 9, wherein the switching device transmits a control signal to the sending end user to temporarily prevent further transmission of data.
