IP Library › Granted Patent US 12,335,141
Granted Patent B2
US 12,335,141 · App. 17/239,329 · Granted Jun 17, 2025

Pooling of network processing resources

Inventors: Shaopeng He (Shanghai, CN); Haitao Kang (Shanghai, CN); Cunming Liang (Shanghai, CN); Anjali Singhai Jain (Portland, OR); Parthasarathy Sarangam (Portland, OR); Yadong Li (Portland, OR)
Assignee: Intel Corporation
H04L45/566H04L12/4641H04L45/24H04L45/74H04L47/125H04L63/101
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,335,141
App. No.
17/239,329
Granted
Jun 17, 2025
Kind
B2
Abstract

Examples described herein relate to a switch configured to allocate packet processing resources, from a pool of packet processing resources, to multiple applications, wherein the pool of packet processing resources comprise configurable packet processing pipelines of one or more network devices and packet processing resources of one or more servers. In some examples, the configurable packet processing pipelines and the packet processing resources are to perform one or more of: network switch operations, microservice communications, and/or block storage operations. In some examples, the network switch operations comprise one or more of: application of at least one access control list (ACL), packet forwarding, packet routing, and/or Virtual Extensible LAN (VXLAN) or GENEVE termination. In some examples, the microservice communications comprise one or more of: packet routing between microservices and/or load balancing of utilized microservices.

Claims (36)

1. An apparatus for use in association with one or more servers, the one or more servers being configurable to comprise a switch server and a compute server, the apparatus comprising:

a switch configured to allocate packet processing resources, from a pool of packet processing resources, to multiple applications, wherein the pool of packet processing resources comprises configurable packet processing pipelines of one or more network devices and packet processing resources of the one or more servers;

wherein:

the switch is to be comprised in a switch server and comprises one or more packet processing pipelines of the packet processing pipelines;

the one or more network devices and the packet processing resources of the one or more servers are to be comprised, at least in part, in the compute server;

the one or more network devices and/or the packet processing resources comprise one or more other packet processing pipelines of the packet processing pipelines; and

the one or more packet processing pipelines comprised in the switch are to provide programmable configuration data to modify match-action table data of the one or more other packet processing pipelines to program, at least in part, the one or more network devices and/or the packet processing resources of the one or more servers to implement, at least in part, capability negotiation.

2. The apparatus of claim 1 , wherein the configurable packet processing pipelines and the packet processing resources are to perform one or more of: network switch operations, microservice communications, and/or block storage operations.

3. The apparatus of claim 2 , wherein the network switch operations comprise one or more of: application of at least one access control list (ACL), packet forwarding, packet routing, and/or Virtual Extensible LAN (VXLAN) or GENEVE termination.

4. The apparatus of claim 2 , wherein the microservice communications comprise one or more of: packet routing between microservices and/or load balancing of utilized microservices.

5. The apparatus of claim 2 , wherein the block storage operations comprise one or more of: storage packet forwarding and/or distributed storage path selection.

6. The apparatus of claim 1 , wherein the switch is to configure the configurable packet processing pipelines of the one or more network devices by issuance of data plane programming software that is consistent with Programming Protocol-Independent Packet Processors (P4), C, Python, Network Programming Language (NPL), and/or comprises executable binaries.

7. The apparatus of claim 1 , wherein the packet processing resources of the one or more servers are to perform a virtual network function (VNF).

8. The apparatus of claim 1 , comprising:

the one or more servers, wherein at least one of the one or more servers is to execute at least one application of the multiple applications to access the allocated packet processing resources using Application Owned Networking (AON) and Open vSwitch.

9. The apparatus of claim 1 , wherein the one or more network devices comprise one or more of: a network interface controller (NIC), a switch, and/or an infrastructure processing unit (IPU).

10. A method comprising:

allocating, using a switch, packet processing resources, from a pool of packet processing resources, to multiple applications, wherein the pool of packet processing resources comprises configurable packet processing pipelines of one or more network devices and packet processing resources of one or more servers;

wherein:

the one or more servers are configurable to comprise a switch server and a compute server;

the switch is to be comprised in a switch server and comprises one or more packet processing pipelines of the packet processing pipelines;

the one or more network devices and the packet processing resources of the one or more servers are to be comprised, at least in part, in the compute server;

the one or more network devices and/or the packet processing resources of the one or more servers comprise one or more other packet processing pipelines of the packet processing pipelines; and

the one or more packet processing pipelines comprised in the switch are to provide programmable configuration data to modify match-action table data of the one or more other packet processing pipelines to program, at least in part, the one or more network devices and/or the packet processing resources of the one or more servers to implement, at least in part, capability negotiation.

11. The method of claim 10 , wherein the configurable packet processing pipelines perform one or more of: network switch operations, microservice communications, and/or block storage operations.

12. The method of claim 11 , wherein the network switch operations comprise one or more of: application of at least one access control list (ACL), packet forwarding, packet routing, and/or Virtual Extensible LAN (VXLAN) termination.

13. The method of claim 11 , wherein the microservice communications comprise one or more of: packet routing between microservices and/or load balancing of utilized microservices.

14. The method of claim 11 , wherein the block storage operations comprise one or more of: storage packet forwarding and/or distributed storage path selection.

15. The method of claim 10 , comprising:

configuring the packet processing resources using data plane programming software.

16. The method of claim 15 , wherein the data plane programming software is consistent with Programming Protocol-Independent Packet Processors (P4), C, Python, Network Programming Language (NPL), and/or comprises executable binaries.

17. The method of claim 15 , wherein the data plane programming software configures match-action entries of the packet processing resources.

18. The method of claim 10 , wherein the packet processing resources of the one or more servers are to perform a virtual network function (VNF).

19. The method of claim 10 , wherein the one or more network devices comprise one or more of: a network interface controller (NIC), a switch, and/or an infrastructure processing unit (IPU).

20. The method of claim 10 , wherein:

at least one application of the multiple applications is to access the provided packet processing resources using Application Owned Networking (AON) and Open vSwitch.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2021
From: HE, SHAOPENG; KANG, HAITAO; LIANG, CUNMING; JAIN, ANJALI SINGHAI; SARANGAM, PARTHASARATHY; LI, YADONG
To: INTEL CORPORATION
Reel/Frame 056259/0030 →
Continuity (1)
Related Publication 20210266253A1 · Aug 26, 2021
References Cited (110)
US 8839370B2 · Singh et al. · 2014 [cited by applicant]
US 10552274B1 · Zhao et al. · 2020 [cited by applicant]
US 10972503B1 · Mohan et al. · 2021 [cited by applicant]
US 11159366B1 · Gawade et al. · 2021 [cited by applicant]
US 20110299409A1 · Vobbilisetty et al. · 2011 [cited by applicant]
US 20120106333A1 · Lee et al. · 2012 [cited by applicant]
US 20150180736A1 · Leung · 2015 [cited by applicant]
US 20150281128A1 · Sindhu · 2015 [cited by applicant]
US 20160191392A1 · Liu · 2016 [cited by examiner]
US 20170085501A1 · Utgikar · 2017 [cited by examiner]
US 20170111274A1 · Bays et al. · 2017 [cited by applicant]
US 20170195257A1 · Annaluru · 2017 [cited by examiner]
US 20170359217A1 · Ahuja et al. · 2017 [cited by applicant]
US 20180024739A1 · Schmisseur · 2018 [cited by applicant]
US 20180063018A1 · Bosch et al. · 2018 [cited by applicant]
US 20180295045A1 · Bali et al. · 2018 [cited by applicant]
US 20190044812A1 · Loftus et al. · 2019 [cited by applicant]
US 20190044994A1 · Sarangam et al. · 2019 [cited by applicant]
US 20190123984A1 · Nainar et al. · 2019 [cited by applicant]
US 20190190891A1 · Pillai et al. · 2019 [cited by applicant]
US 20190230039A1 · Wang et al. · 2019 [cited by applicant]
US 20190305985A1 · Liu · 2019 [cited by applicant]
US 20190334770A1 · Xiang et al. · 2019 [cited by applicant]
US 20200052982A1 · Nainar et al. · 2020 [cited by applicant]
US 20200053064A1 · Oprisan et al. · 2020 [cited by applicant]
US 20200067818A1 · Jeuk et al. · 2020 [cited by applicant]
US 20200099628A1 · Parikh et al. · 2020 [cited by applicant]
US 20200120168A1 · Nainar et al. · 2020 [cited by applicant]
US 20200133795A1 · Rhodes et al. · 2020 [cited by applicant]
US 20200162380A1 · Pilkington et al. · 2020 [cited by applicant]
US 20200169494A1 · K · 2020 [cited by examiner]
US 20200220848A1 · Patwardhan · 2020 [cited by applicant]
US 20200236055A1 · Warnicke et al. · 2020 [cited by applicant]
US 20200236064A1 · Frankel et al. · 2020 [cited by applicant]
US 20200236140A1 · Srinivasan et al. · 2020 [cited by applicant]
US 20200287813A1 · Kutch et al. · 2020 [cited by applicant]
US 20200310857A1 · Sharma · 2020 [cited by applicant]
US 20200313955A1 · Kodeboyina · 2020 [cited by examiner]
US 20200314015A1 · Mariappan et al. · 2020 [cited by applicant]
US 20200319812A1 · He et al. · 2020 [cited by applicant]
US 20200344143A1 · K · 2020 [cited by examiner]
US 20200351332A1 · Palladino et al. · 2020 [cited by applicant]
US 20210019194A1 · Bahl et al. · 2021 [cited by applicant]
US 20210064430A1 · Srivastava et al. · 2021 [cited by applicant]
US 20210075746A1 · Frankel · 2021 [cited by applicant]
US 20210103403A1 · He et al. · 2021 [cited by applicant]
US 20210117242A1 · Groenendaal et al. · 2021 [cited by applicant]
US 20210194828A1 · He et al. · 2021 [cited by applicant]
US 20210243247A1 · He et al. · 2021 [cited by applicant]
US 20210352044A1 · Asveren et al. · 2021 [cited by applicant]
US 20210409506A1 · Radi et al. · 2021 [cited by applicant]
US 20220035689A1 · Raheja et al. · 2022 [cited by applicant]
US 20220060569A1 · Wang et al. · 2022 [cited by applicant]
US 20220142007A1 · Heydari · 2022 [cited by applicant]
US 20220172037A1 · Kang et al. · 2022 [cited by applicant]
US 20220225065A1 · Doken · 2022 [cited by applicant]
US 20220294732A1 · Hart et al. · 2022 [cited by applicant]
US 20240155024A1 · Palladino et al. · 2024 [cited by applicant]
CN 112513988A · 2021 [cited by applicant]
WO 2020030311A1 · 2020 [cited by applicant]
WO 2020041569A1 · 2020 [cited by applicant]
WO 2020251828A1 · 2020 [cited by applicant]
“HTTP and gRPC Transcoding”, AIP-127, https://google.aip.dev/127, Last updated Aug. 22, 2019, 3 pages. [cited by applicant]
“Improving Network Monitoring and Management with Programmable Data Planes”, ONF, https://opennetworking.org/news-and-events/blog/improving-network-monitoring-and-management-with-programmable-data-planes/, Sep. 25, 2015… [cited by applicant]
“Intel® Ethernet Adaptive Virtual Function (AVF) Hardware Architecture Specification (HAS)”, Intel Networking Division, Revision: 1.0, Feb. 2018, 90 pages. [cited by applicant]
“Introduction to Intel Ethernet Flow Director and Memcached Performance”, Intel White Paper, Oct. 13, 2014, 6 pages. [cited by applicant]
“OpenStack Networking Guide”, openstack, https://docs.openstack.org/mitaka/networking-guide/, updated Aug. 16, 2019, 3 pages. [cited by applicant]
“P4-16 Language Specification”, version 1.2.1, The P4 Language Consortium, Jun. 11, 2020, 113 pages. [cited by applicant]
“Trellis”, Overview, Trellis is an open-source multi-purpose L2/L3 leaf-spine switching fabric., https://docs.trellisfabric.org/1.12/index.html, © Copyright 2019, Open Networking Foundation, 4 pages. [cited by applicant]
Xing, Li, et al., “Hyperscale rte_flow toward production is really happening”, DPDK https://dpdkbordeaux2019.sched.com/event/RmZG, Sep. 20, 2019, 25 pages. [cited by applicant]
Zhang, Jiao, et al., “Fast Switch-Based Load Balancer Considering Application Server States”, IEEE, https://ieeexplore.ieee.org/document/9061132. [cited by applicant]
International Search Report and Written Opinion for PCT Patent Application No. PCT/US22/21795, Mailed Jun. 24, 2022, 12 pages. [cited by applicant]
“Networking architecture”, Security Guide Docmentation, https://docs.openstack.org/security-guide/networking/architecture.html, Jul. 27, 2021, 6 pages. [cited by applicant]
“Transcoding HTTP/JSON to gRPC”, Google Cloud Endpoints, cloud.google.com/endpoints/docs/grpc/transcoding, downloaded from the internet Jul. 28, 2021, 14 pages. [cited by applicant]
Bosshart, Pat, et.al., “P4: Programming Protocol-Indpendent Packet Processors”, ACM SIGCOMM, Computer Communication Review, vol. 44, No. 3, Jul. 2014, 8 pages. [cited by applicant]
Colyer, Adrian, “Snap: a microkernel approach to host networking”, the morning paper, https://blog.acolyer.org/2019/11/11/snap-networking, Nov. 11, 2019, 8 pages. [cited by applicant]
Crilly, Liam, “Introducing a Technoloy Preview of NGINX Support for QUIC and HTTP/3”, https://www.nginx.com/blog/introducing-technology-preview-nginx-support-for-quic-http-3/, Jun. 10, 2020, 10 pages. [cited by applicant]
Diptanu Gon Choudhury, ‘XDP-Programmable Data Path in the Linux Kernel’, ;login: Spring 2018, vol. 43, No. 1, pp. 26-30, 2018, 6 pages. [cited by applicant]
Intel, “Intel Ethernet Adaptive Virtual Function (AVF) Hardware Architecture Specification (HAS)”, Networking Division, Revision: 1.0, Feb. 2018, 90 pages. [cited by applicant]
Intel, “Introduction to Intel® Ethernet Flow Director and Memcached Performance”, White Paper, Intel® Ethernet Flow Director and Memcached Performance, Copyright® 2014 Intel Corporation, 6 pages. [cited by applicant]
International Search Report and Written Opinion for PCT Patent Application No. PCT/US21/65177, Mailed Apr. 25, 2022, 10 pages. [cited by applicant]
International Search Report and Written Opinion for PCT Patent Application No. PCT/US22/11045, Mailed Apr. 25, 2022, 11 pages. [cited by applicant]
Irfan, Talal, “AF_XDP101L Getting Started With an In-Kernel network stack Bypass”, Published in Emumba, https://blog.emumba.com/af-xdp-101-getting-started-with-an-in-kernel-network-stack-bypass-6e6901a285c8, Jun. 24, 20… [cited by applicant]
Iyengar, Ed, et. al., “QUIC: A UDP-Based Multiplexed and Secure Transport draft-ietf-quic-transport-29”, https://datatracker.ietf.org/doc/html/draft-ietf-quic-transport-29#page-23, Jun. 10, 2020, 187 pages. [cited by applicant]
Karlsson Magnus, et al., ‘The path to DPDK speeds for AF XDP’, Linux Plumbers Conference, 2018, 9 pages. [cited by applicant]
Karlsson, Magnus, “Performance 140E 64-Byte Packets”, Fast Packet Processing in Linux with AF_XDP, Fosdem 2018, 1 page. [cited by applicant]
Li Xing, Alibaba, et. al., “Hyperscale rte_flow toward productoin is really happening” DPDK Data Pane Development Kit, DPDK Summit Bordeaux 2019, 25 pages. [cited by applicant]
Marcelo Abranches, et. al., ‘A Userspace Transport Stack Doesn't Have to Mean Losing Linux Processing’, 2020 IEEE Conference on Nettwork Function Virtualization and Software Defined Networks (NFV-SDN), Dec. 24, 2020, 7 … [cited by applicant]
MVS, Janakiram, “Service Mesh—The New Battleground For the Platfor Wars”, Sep. 20, 2020, 8 pages. [cited by applicant]
Nguyen Van Tu, et. al., ‘Accelerating Virtual Network Functions with Fast-Slow Path Architecture using express Data Path’, IEEE Transactions on Network and Service Management vol. 17. Issue 3, Jun. 5, 2020, 13 pages. [cited by applicant]
P4.org, “Improving Network Monitoring and Management with Progammable Data Planes”, ONF, https://opennetworking.org/news-and-events/blog/improving-network-monitoring-and-management-with-programmable-data-planes/, Sep. 2… [cited by applicant]
P4.org, “In-band Network Telemetry (INT) Dataplane Specification”, Version 2.1, The P4.org Applications Working Group. Contributions from Alibaba, Arista, CableLabs, Cisco Systems, Dell, Intel, Marvell, Netronome, VMwar… [cited by applicant]
Peterson, Larry, “Trellis”, Dashboard / CORD—Wiki Home / Project and Domains of Use, https://wiki.opecord.org/display/CORD/Trellis, Jul. 27, 2021, 3 pages. [cited by applicant]
Postel, J., “User Datagram Protocol”, RFC 768, Aug. 28, 1980, 3 pages. [cited by applicant]
Wiggins, Adam, “The Twelve-Factor App”, VII. Port binding, https://12factor.net/port-binding, Last updated 2017, 1 page. [cited by applicant]
Ian Pratt and Keir Fraser, Arsenic: A User-Accessible Gigabit Ethernet Interface, year 2001, IEEE, 0-7803-7016-3/01, pp. 67-76 (Year: 2001). [cited by applicant]
International Search Report and Written Opinion for PCT Patent Application No. PCT/US21/57130, Mailed Feb. 21, 2022, 10 pages. [cited by applicant]
Non-Published commonly owned U.S. Appl. No. 17/238,893, filed Apr. 23, 2021, 87 pages, Intel Corporation. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/238,893, Mailed Feb. 9, 2022, 10 pages. [cited by applicant]
Final Office Action from U.S. Appl. No. 17/092,640 notified Jul. 5, 2024, 9 pgs. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 17/092,640 notified Dec. 22, 2023, 8 pgs. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 17/114,304 notified Jun. 4, 2024, 40 pgs. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 17/238,960 notified Jun. 25, 2024, 19 pgs. [cited by applicant]
Extended European Search Report from European Patent Application No. 21904046.6 notified Sep. 23, 2024, 11 pgs. [cited by applicant]
Final Office Action from U.S. Appl. No. 17/114,304 notified Oct. 16, 2024, 41 pgs. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/092,640 notified Oct. 10, 2024, 18 pgs. [cited by applicant]
Extended European Search Report from European Patent Application No. 22792172.3 notified Dec. 3, 2024, 9 pgs. [cited by applicant]
Final Office Action from U.S. Appl. No. 17/238,960 notified Nov. 26, 2024, 27 pgs. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/092,640 notified Jan. 30, 2025, 15 pgs. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/238,960 notified Feb. 12, 2025, 11 pgs. [cited by applicant]