# US 2014/0153394 A1 · Apparatus, system and method of controlling data flow over a wireless communication link with credit allocation

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

- Number: US 2014/0153394 A1
- Document ID: US20140153394A1
- Status: Published application
- Kind: A1
- Application number: 13/693,745
- Filed: 2012-12-04
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Assignees: Intel Corporation
- Inventors: Oren Kedem; Bahareh Sadeghi; Michael Glik; Elad Levy; Ophir Edlis
- Web page: https://patentgrep.com/patent/US20140153394A1

## CPC

- H04L 47/283: in response to processing delays, e.g. caused by jitter or round trip time [RTT]
- H04L 47/30: in combination with information about buffer occupancy at either end or at transit nodes
- H04L 47/36: by determining packet size, e.g. maximum transfer unit [MTU]
- H04L 47/39: {Credit based}
- H04W 28/02: Traffic management, e.g. flow control or congestion control
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Some demonstrative embodiments include apparatuses, systems and/or methods of controlling data flow over a wireless communication link with credit allocation. For example, an apparatus may include controller to control a data flow of a stream of data from a first device to a second device over a wireless communication link, the stream of data including data to be delivered to a plurality of endpoints, wherein the controller is to provide to the first device a plurality of credit allocations corresponding to the plurality of endpoints, wherein the controller is to determine a particular credit allocation corresponding to a particular end point based at least on an estimated link delay of the wireless communication link, and an estimated delivery rate of delivering data from a buffer of the second device to the particular endpoint.

## Claims

### Claim 1

An apparatus comprising:
a controller to control a data flow of a stream of data from a first device to a second device over a wireless communication link, the stream of data including data to be delivered to a plurality of endpoints, wherein said controller is to provide to said first device a plurality of credit allocations corresponding to said plurality of endpoints, wherein said controller is to determine a particular credit allocation corresponding to a particular end point based at least on an estimated link delay of said wireless communication link, and an estimated delivery rate of delivering data from a buffer of said second device to said particular endpoint.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein said controller is to determine said particular credit allocation based on said estimated link delay and said estimated delivery rate, in response to receiving at said second device a request message from said first device indicating a data size of data for said particular endpoint to be transmitted over said wireless communication link, said data size is greater than a free portion of said buffer.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein said controller is to determine said particular credit allocation to include a first credit allocation, in response to said estimated link delay including a first link delay, and to determine said particular credit allocation to include a second credit allocation, greater than said first credit allocation, in response to said estimated link delay including a second link delay, greater than said first link delay.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein said controller is to determine said particular credit allocation to include a first credit allocation, in response to said estimated delivery rate including a first delivery rate, and to determine said particular credit allocation to include a second credit allocation, greater than said first credit allocation, in response to said estimated delivery rate including a second delivery rate, greater than said first delivery rate.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein said controller is to determine said estimated link delay based on a time at which said particular credit allocation is communicated to said first device, and a time at which said second device receives data utilizing said particular credit allocation.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein said controller is to determine said particular credit allocation based on remaining sizes of data for one or more other endpoints to be transmitted over said wireless communication link.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein said controller is to determine said particular credit allocation based on a relationship between a remaining size of data for said particular endpoint to be transmitted over said wireless communication link and a sum of said remaining sizes.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein said wireless communication link comprises a wireless gigabit (WiGig) link.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein said WiGig link comprises a WiGig Serial Extension (WSE) link.

### Claim 10

A system comprising:
a device comprising:
one or more antennas;
a radio to receive, via said one or more antennas, a data flow of a stream of data from a host over a wireless communication link, the stream of data including data to be delivered to a plurality of endpoints; and
a controller to control said data flow by providing to said host a plurality of credit allocations corresponding to said plurality of endpoints, wherein said controller is to determine a particular credit allocation corresponding to a particular end point based at least on an estimated link delay of said wireless communication link, and an estimated delivery rate of delivering data from a buffer of said host to said particular endpoint.

### Claim 11 (depends on 10)

The system of claim 10, wherein said radio is to receive from said host a transfer request indicating a remaining data size of data for said particular endpoint to be transferred over said wireless communication link, wherein said controller is to determine said particular credit allocation based on said remaining data size, and wherein said radio is to transmit to said host a transfer response including said particular data allocation.

### Claim 12 (depends on 10)

The system of claim 10, wherein said controller is to determine said particular credit allocation based on said estimated link delay and said estimated delivery rate, in response to receiving from said host a request message indicating a data size of data for said particular endpoint to be transmitted over said wireless communication link, said data size is greater than a free portion of said buffer.

### Claim 13 (depends on 10)

The system of claim 10, wherein said controller is to determine said particular credit allocation to include a first credit allocation, in response to said estimated link delay including a first link delay, and to determine said particular credit allocation to include a second credit allocation, greater than said first credit allocation, in response to said estimated link delay including a second link delay, greater than said first link delay.

### Claim 14 (depends on 10)

The system of claim 10, wherein said controller is to determine said particular credit allocation to include a first credit allocation, in response to said estimated delivery rate including a first delivery rate, and to determine said particular credit allocation to include a second credit allocation, greater than said first credit allocation, in response to said estimated delivery rate including a second delivery rate, greater than said first delivery rate.

### Claim 15 (depends on 10)

The system of claim 10, wherein said controller is to determine said estimated link delay based on a time at which said particular credit allocation is communicated to said host, and a time at which said radio receives data utilizing said particular credit allocation.

### Claim 16 (depends on 10)

The system of claim 10, wherein said controller is to determine said particular credit allocation based on remaining sizes of data for one or more other endpoints to be transmitted over said wireless communication link.

### Claim 17 (depends on 16)

The system of claim 16, wherein said controller is to determine said particular credit allocation based on a relationship between a remaining size of data for said particular endpoint to be transmitted over said wireless communication link and a sum of said remaining sizes.

### Claim 18 (depends on 10)

The system of claim 10, wherein said wireless communication link comprises a wireless gigabit (WiGig) link.

### Claim 19 (depends on 18)

The system of claim 18, wherein said WiGig link comprises a WiGig Serial Extension (WSE) link.

### Claim 20 (depends on 10)

The system of claim 10, wherein said plurality of endpoints comprise one or more Universal-Serial-Bus (USB) devices.

### Claim 21

A method comprising:
receiving a stream of data from a first device at a second device over a wireless communication link, the stream of data including data to be delivered to a plurality of endpoints;
allocating, at said second device, a plurality of credit allocations corresponding to said plurality of endpoints, wherein said allocating comprises determining a particular credit allocation corresponding to a particular end point based at least on an estimated link delay of said wireless communication link, and an estimated delivery rate of delivering data from a buffer of said second device to said particular endpoint; and
transmitting from said second device to said first device one or more messages including said plurality of credit allocations.

### Claim 22 (depends on 21)

The method of claim 21 comprising determining said particular credit allocation based on said estimated link delay and said estimated delivery rate, in response to receiving at said second device a request message from said first device indicating a data size of data for said particular endpoint to be transmitted over said wireless communication link, said data size is greater than a free portion of said buffer.

### Claim 23 (depends on 21)

The method of claim 21 comprising determining said particular credit allocation to include a first credit allocation, in response to said estimated link delay including a first link delay, and determining said particular credit allocation to include a second credit allocation, greater than said first credit allocation, in response to said estimated link delay including a second link delay, greater than said first link delay.

### Claim 24 (depends on 21)

The method of claim 21 comprising determining said particular credit allocation to include a first credit allocation, in response to said estimated delivery rate including a first delivery rate, and determining said particular credit allocation to include a second credit allocation, greater than said first credit allocation, in response to said estimated delivery rate including a second delivery rate, greater than said first delivery rate.

### Claim 25 (depends on 21)

The method of claim 21 comprising determining said estimated link delay based on a time at which said particular credit allocation is communicated from said second device to said first device, and a time of receiving at said second device data utilizing said particular credit allocation.

### Claim 26 (depends on 21)

The method of claim 21 comprising determining said particular credit allocation based on remaining sizes of data for one or more other endpoints to be transmitted over said wireless communication link.

### Claim 27

A product including a non-transitory storage medium having stored thereon instructions that, when executed by a machine, result in:
receiving a stream of data from a first device at a second device over a wireless communication link, the stream of data including data to be delivered to a plurality of endpoints;
allocating, at said second device, a plurality of credit allocations corresponding to said plurality of endpoints, wherein said allocating comprises determining a particular credit allocation corresponding to a particular end point based at least on an estimated link delay of said wireless communication link, and an estimated delivery rate of delivering data from a buffer of said second device to said particular endpoint; and
transmitting from said second device to said first device one or more messages including said plurality of credit allocations.

### Claim 28 (depends on 27)

The product of claim 27, wherein said instructions result in determining said particular credit allocation based on said estimated link delay and said estimated delivery rate, in response to receiving at said second device a request message from said first device indicating a data size of data for said particular endpoint to be transmitted over said wireless communication link, said data size is greater than a free portion of said buffer.

### Claim 29 (depends on 27)

The product of claim 27, wherein said instructions result in determining said particular credit allocation to include a first credit allocation, in response to said estimated link delay including a first link delay, and determining said particular credit allocation to include a second credit allocation, greater than said first credit allocation, in response to said estimated link delay including a second link delay, greater than said first link delay.

### Claim 30 (depends on 27)

The product of claim 27, wherein said instructions result in determining said particular credit allocation to include a first credit allocation, in response to said estimated delivery rate including a first delivery rate, and determining said particular credit allocation to include a second credit allocation, greater than said first credit allocation, in response to said estimated delivery rate including a second delivery rate, greater than said first delivery rate.
