IP Library › Granted Patent US 12,744,612
Granted Patent B2
US 12,744,612 · App. 17/463,441 · Granted Sep 22, 2026

Packet transmission scheduling

Inventors: Sarig Livne (Schanya, IL); Hemanth Krishnan (Chandler, AZ); Adam Conyers (Phoenix, AZ); Chwei King Mok (Chandler, AZ); Michael G. Lefevre (Chandler, AZ)
Assignee: Intel Corporation
H04J3/16
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 12,744,612
App. No.
17/463,441
Granted
Sep 22, 2026
Kind
B2
Abstract

Examples described herein relate to a network interface device comprising circuitry to cause transmission of packets based on transmission times and use of at least one of multiple time slot granular scheduling lists, wherein the multiple time slot granular scheduling lists comprise at least one list of a first time slot duration and at least one list of a second time slot duration and wherein the first time slot duration is different than the second time slot duration. In some examples, a minimum delay value of a list of the at least one list of a second time slot duration corresponds to a maximum delay value of a list of the at least one list of a first time slot duration. In some examples, the at least one list of a first time slot duration comprises a fine granularity list and the at least one list of a second time slot duration comprises a coarse granularity list.

Claims (42)

1 . An apparatus comprising:

a network interface device comprising:

a host interface circuitry;

a network interface circuitry;

direct memory access (DMA) circuitry; and

second circuitry to cause transmission of packets based on transmission times and use of at least one of multiple timing wheels, wherein:

the multiple timing wheels comprise a first timing wheel having a first time slot duration and a second timing wheel having a second time slot duration,

the first time slot duration is shorter than the second time slot duration, the packets comprise a first packet,

based on a first time difference between a current time and a time slot of the first packet assigned to the second timing wheel, the second circuitry is to copy an identifier of the first packet from the second timing wheel to the first timing wheel prior to transmission of the first packet,

based on a second time difference between the current time and the time slot of the first packet assigned to the second timing wheel, the second circuitry is to retain the identifier of the first packet in the second timing wheel, and

the second time difference is larger than the first time difference.

2 . The apparatus of claim 1 , wherein

the packets comprise a second packet and

the second circuitry is to allocate the second packet to a slot in the second timing wheel based on a transmit time associated with the packet being outside of a time duration associated with the first timing wheel.

3 . The apparatus of claim 1 , wherein

the packets comprise a second packet,

the second circuitry is to schedule the second packet for transmission by access from the first timing wheel by re-assignment of the second packet from the second timing wheel to the first timing wheel, and

the second circuitry is to re-assign the second packet from the second timing wheel to the first timing wheel based on a difference between a transmission time stamp of the second packet and a current packet transmission time stamp.

4 . The apparatus of claim 1 , wherein the second circuitry is to associate packet metadata with a time slot of the multiple timing wheels and wherein the associated packet metadata comprises one or more of: packet transmission timestamp, port identifier (ID), host identifier (HostID), Traffic Class, Function, virtual server instance (VSI) identifier, virtual machine (VM) identifier, cryptography related information, or scatter gather list (SGL) pointers in host memory.

5 . The apparatus of claim 1 , comprising a memory device to store the multiple timing wheels.

6 . The apparatus of claim 1 , wherein the second circuitry is to associate packet metadata for multiple, different time windows with a time slot of the first timing wheel.

7 . The apparatus of claim 1 , wherein:

the packets comprise a second packet and

the second circuitry is to store second packet metadata into a cache and based on a depth of the cache, evict the second packet metadata from the cache based on an associated transmit timestamp of the second packet and a current timestamp.

8 . The apparatus of claim 1 , wherein the network interface device comprises one or more of: network interface controller (NIC), a remote direct memory access (RDMA)-enabled NIC, SmartNIC, router, switch, forwarding element, infrastructure processing unit (IPU), or data processing unit (DPU).

9 . The apparatus of claim 1 , comprising a server communicatively coupled to the network interface device, wherein the server is to request packet transmission and offload packet scheduling to the network interface device.

10 . The apparatus of claim 9 , comprising a datacenter, wherein the datacenter comprises the server and the server is to use at least one of multiple timing wheels.

11 . A method comprising:

managing, by a network interface device, transmission of packets at transmission times based on use of at least one of multiple timing wheels, wherein:

the multiple timing wheels comprise at least a first timing wheel of a first time slot duration and a second timing wheel of a second time slot duration,

the first time slot duration is less than the second time slot duration, and

the packets comprise a first packet,

the managing transmission of packets at transmission times based on use of at least one of multiple timing wheels comprises:

based on a first time difference between a current time and a time slot of the first packet assigned to the second timing wheel, copying an identifier of the first packet from the second timing wheel to the first timing wheel for egress from the first timing wheel and

based on a second time difference between the current time and the time slot of the first packet assigned to the second timing wheel, retaining the identifier of the first packet in the second timing wheel, wherein the second time difference is larger than the first time difference.

12 . The method of claim 11 , wherein

the first timing wheel comprises a transmit time window that is within X seconds of a current packet transmit time and

the second timing wheel comprises a transmit time window that is outside of X seconds of the current packet transmit time.

13 . The method of claim 11 , comprising:

associating, by the network interface device, packet metadata with a time slot of the multiple timing wheels, wherein the associated packet metadata comprises one or more of: packet transmission timestamp, port identifier (ID), host identifier (HostID), Traffic Class, Function, virtual server instance (VSI) identifier, virtual machine (VM) identifier, cryptography related information, or scatter gather list (SGL) pointers in host memory.

14 . The method of claim 11 , wherein the network interface device comprises one or more of: network interface controller (NIC), a remote direct memory access (RDMA)-enabled NIC, SmartNIC, router, switch, forwarding element, infrastructure processing unit (IPU), or data processing unit (DPU).

15 . The method of claim 11 , wherein the packets include media data for an on-demand media streaming service.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2026
From: INTEL CORPORATION
To: INTEL PRODUCTS IP LLC
Reel/Frame 075990/0991 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2021
From: LIVNE, SARIG; KRISHNAN, HEMANTH; CONYERS, ADAM; MOK, CHWEI KING; LEFEVRE, MICHAEL G.
To: INTEL CORPORATION
Reel/Frame 058003/0045 →
Continuity (1)
Related Publication 20230061794A1 · Mar 2, 2023
References Cited (10)
US 7515533B2 · Lu et al. · 2009 [cited by applicant]
US 10560373B2 · St-Laurent · 2020 [cited by applicant]
US 20160338021A1 · Chae et al. · 2016 [cited by applicant]
US 20200314787A1 · Liu et al. · 2020 [cited by applicant]
US 20210266247A1 · Sivaraj et al. · 2021 [cited by applicant]
US 20220124039A1 · Chandra · 2022 [cited by examiner]
International Search Report and Written Opinion for PCT Patent Application No. PCT/US22/38923, Mailed Nov. 14, 2022, 10 pages. [cited by applicant]
“QoS scheduling and queuing methods”, RUCKUS FastIron QoS and Traffic Management Configuration Guide, 08.0.95, COMMSCOPE, https://docs.commscope.com/bundle/fastiron-08095-trafficguide/page/GUID-CCAE82F9-7B8B-46C0-A8BD-8… [cited by applicant]
Saeed, Ahmed, et al., “Carousel: Scalable Traffic Shaping at End Hosts”, In Proceedings of SIGCOMM '17, Los Angeles, CA, USA, Aug. 21-25, 14 pages. [cited by applicant]
Stephens, Brent et al., “Loom: Flexible and Efficient NIC Packet Scheduling”, This paper is included in the Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI '19), Boston, MA,… [cited by applicant]