IP Library Patent Application 18089486
Patent Application
App. No. 18/089,486

PROGRAMMABLE TRANSPORT PROTOCOL ARCHITECTURE

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 None
App. No.
18/089,486
Abstract

Examples described herein relate to a network interface device that includes a programmable event processing architecture that includes a plurality of programmable event processors. In some examples, the plurality of programmable event processors are to perform memory accesses separate from compute operations. In some examples, the plurality of programmable event processors are to group one or more events into at least one group. In some examples, the plurality of programmable event processors are to perform parallel processing of events belonging to different groups. In some examples, the plurality of programmable event processors are programmed to perform at least one transport protocol.

Claims (47)

1 . An apparatus comprising:

a network interface device comprising:

a programmable event processing architecture comprising a plurality of programmable event processors, wherein:

the plurality of programmable event processors are to perform memory accesses separate from compute operations,

the plurality of programmable event processors are to group one or more events into at least one group,

the plurality of programmable event processors are to perform parallel processing of events belonging to different groups, and

the plurality of programmable event processors are programmed to perform at least one transport protocol.

2 . The apparatus of claim 1 , comprising a process interface to transmit and receive congestion control events and control plane events, wherein a processor is to perform congestion control and/or control plane software.

3 . The apparatus of claim 1 , comprising at least one circuitry to store packets accessed by at least one of the plurality of programmable event processors to parse and/or edit the packets.

4 . The apparatus of claim 1 , comprising at least one memory to store protocol state for access by at least one of the plurality of programmable event processors to implement a transport protocol.

5 . The apparatus of claim 1 , comprising an arithmetic logic unit (ALU) core resource pool to update event data and protocol state.

6 . The apparatus of claim 1 , wherein comprising a scheduler to arbitrate among connection queues to select packets to forward into the network and/or to an application.

7 . The apparatus of claim 1 , wherein comprising a scheduler to schedule events to be processed by the plurality of programmable event processors based on time.

8 . The apparatus of claim 1 , wherein comprising a memory interface to fetch protocol state to on-chip memory and evict protocol state from the on-chip memory.

9 . The apparatus of claim 1 , wherein comprising a circuitry to route events between the plurality of programmable event processors to allow bypass of a programmable event processor and recirculation of events.

10 . The apparatus of claim 9 , wherein the programmable event processing architecture comprises one or more of: linear pipeline, linear pipeline with event recirculation support, linear pipeline with bypass support for a programmable event processor, and/or linear pipeline with forward and/or reverse arbitrated buses.

11 . The apparatus of claim 9 , wherein comprising an event switch to route scheduling related events between the plurality of programmable event processors and at least one scheduler.

12 . The apparatus of claim 9 , wherein the plurality of programmable event processors are programmed to perform at least one transport protocol based on an event graph description with defined nodes.

13 . At least one non-transitory computer-readable medium, comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:

configure a plurality of programmable event processors of a network interface device programmed to perform one or more transport layer protocols, wherein

the plurality of programmable event processors are to perform memory accesses separate from compute operations,

the plurality of programmable event processors are to group one or more events into at least one group,

the plurality of programmable event processors are to enforce atomic processing of other events within a group of the at least one group, wherein the atomic processing comprises propagation of state changes to among events of the group, and

the plurality of programmable event processors are to perform parallel processing of events belonging to different groups.

14 . The non-transitory computer-readable medium of claim 13 , comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:

configure a processor of the one or more processors to perform congestion control and/or control plane software based on congestion control events and control plane events from at least one of the plurality of programmable event processors.

15 . The non-transitory computer-readable medium of claim 13 , comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:

configure at least one of the plurality of programmable event processors of a network interface device programmed using an event graph description with defined nodes to update event data and protocol state.

16 . The non-transitory computer-readable medium of claim 13 , comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:

configure a scheduler to schedule events to be processed by the plurality of programmable event processors based on time.

17 . A method comprising:

in a datacenter:

a plurality of programmable event processors of a network interface device programmed to perform one or more transport layer protocols, wherein

the plurality of programmable event processors are to perform memory accesses separate from compute operations,

the plurality of programmable event processors are to group one or more events into at least one group,

the plurality of programmable event processors are to enforce atomic processing of other events within a group of the at least one group, wherein the atomic processing comprises propagation of state changes to among events of the group, and

the plurality of programmable event processors are to perform parallel processing of events belonging to different groups.

18 . The method of claim 17 , comprising:

in the datacenter:

a processor performing congestion control and/or control plane software based on congestion control events and control plane events from at least one of the plurality of programmable event processors.

19 . The method of claim 17 , comprising:

in the datacenter:

configuring at least one of the plurality of programmable event processors of a network interface device programmed using an event graph description with defined nodes to update event data and protocol state.

20 . The method of claim 17 , comprising:

in the datacenter:

a scheduler scheduling events to be processed by the plurality of programmable event processors based on time.

21 . The method of claim 17 , wherein the transport layer protocols comprise two or more of: remote direct memory access (RDMA) over Converged Ethernet (RoCE), RoCEv2, scalable reliable datagram (SRD), Elastic Fabric Adapter (EFA), Distributed Universal Access (DUA) and Lightweight Transport Layer (LTL), High Precision Congestion Control (HPCC), improved RoCE NIC (IRN), Homa, NDP, and/or EQDS.

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 Feb 7, 2023
From: IBANEZ, STEPHEN; SOUTHWORTH, ROBERT; JOHNSON, SALMA MIRZA; BAR BRACHA, VERED; BURRES, BRADLEY A.
To: INTEL CORPORATION
Reel/Frame 062618/0135 →