IP Library Granted Patent US 9,288,149
Granted Patent B2
US 9,288,149 · App. 14/022,562 · Granted Mar 15, 2016

Method and apparatus for transmitting packets in accordance with IEEE 802.1 Qbv

Inventor: Donald Pannell (Cupertino, CA)
Assignee: MARVELL WORLD TRADE LTD.
H04L47/22H04L47/2416H04L47/36H04L47/521H04L47/56H04L47/628H04L47/6215H04L47/6275
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,288,149
App. No.
14/022,562
Granted
Mar 15, 2016
Kind
B2
Abstract

A network device including a plurality of queues configured to store respective frames of data having a priority level. The network device includes a shaper configured to transmit, during a first portion of a transmission interval, frames of data from a first one of the plurality of queues having a highest priority level, block frames of data from a second one of the plurality of queues during a blocking band extending from a first time prior to a start of the transmission interval to a second time indicating the start of the transmission interval, determine, based on the second time and a maximum frame size to be transmitted during the transmission interval, the first time, and selectively transmit, subsequent to the first time and prior to the second time, frames of data from the second one of the plurality of queues based on the second time.

Claims (30)

1. A network device, comprising:

a plurality of queues, each of the plurality of queues configured to store respective frames of data having a priority level associated with a corresponding one of the plurality of queues; and

a shaper configured to

transmit, during a first portion of a transmission interval, frames of data from a first one of the plurality of queues having a highest priority level,

block frames of data from a second one of the plurality of queues during a blocking band extending from a first time prior to a start of the transmission interval to a second time indicating the start of the transmission interval,

determine, based on the second time and a maximum frame size to be transmitted during the transmission interval, the first time, and

selectively transmit, subsequent to the first time and prior to the second time, frames of data from the second one of the plurality of queues based on the second time,

wherein the shaper is configured to i) determine a size of a next one of the frames of data from the second one of the plurality of queues, ii) determine, based on the first time and the second time, a number of clock cycles available prior to the second time, and iii) selectively transmit the next one of the frames of data based on the size of the next one of the frames of data and the number of clock cycles available.

2. The network device of claim 1 further comprising a counter configured to store a value corresponding to a remaining time after the first time and prior to the second time.

3. The network device of claim 2 , wherein the value of the counter corresponds to a number of bytes that can be transmitted in the remaining time.

4. The network device of claim 2 , wherein the value of the counter corresponds to the number of clock cycles available prior to the second time.

5. The network device of claim 2 , wherein the value of the counter corresponds to a difference between a first absolute time associated with the first time and a second absolute time associated with the second time.

6. The network device of claim 2 , wherein the shaper is configured to initialize the value of the counter at the first time.

7. The network device of claim 6 , wherein the counter is configured to decrement the value of the counter from the initial value of the counter.

8. The network device of claim 7 , wherein the shaper is configured to selectively transmit a next one of the frames of data from the second one of the plurality of queues based on a comparison between (i) a size of the next one of the frames of data and (ii) the value of the counter.

9. A method of operating a network device, the method comprising:

storing, in a plurality of queues, respective frames of data having a priority level associated with a corresponding one of the plurality of queues;

transmitting, during a first portion of a transmission interval, frames of data from a first one of the plurality of queues having a highest priority level,

blocking frames of data from a second one of the plurality of queues during a blocking band extending from a first time prior to a start of the transmission interval to a second time indicating the start of the transmission interval;

determining, based on the second time and a maximum frame size to be transmitted during the transmission interval, the first time;

selectively transmitting, subsequent to the first time and prior to the second time, frames of data from the second one of the plurality of queues based on the second time;

determining a size of a next one of the frames of data from the second one of the plurality of queues;

determining, based on the first time and the second time, a number of clock cycles available prior to the second time; and

selectively transmitting the next one of the frames of data based on the size of the next one of the frames of data and the number of clock cycles available.

10. The method of claim 9 further comprising storing a value corresponding to a remaining time after the first time and prior to the second time.

11. The method of claim 10 , wherein the value corresponds to (i) a number of bytes that can be transmitted in the remaining time, (ii) the number of clock cycles available prior to the second time, and/or (iii) a difference between a first absolute time associated with the first time and a second absolute time associated with the second time.

12. The method of claim 10 , further comprising:

initializing the value at the first time;

decrementing the value from the initial value; and

selectively transmitting a next one of the frames of data from the second one of the plurality of queues based on a comparison between (i) a size of the next one of the frames of data and (ii) the value.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051778/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2014
From: PANNELL, DONALD
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 032182/0317 →
LICENSE Recorded Feb 10, 2014
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 032209/0609 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2014
From: MARVELL SEMICONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 032182/0333 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2014
From: MARVELL INTERNATIONAL LTD.
To: MARVELL WORLD TRADE LTD.
Reel/Frame 032182/0345 →
Continuity (2)
Provisional Application 61699743 · Sep 11, 2012
Related Publication 20140071823A1 · Mar 13, 2014