IP Library Granted Patent US 12,634,239
Granted Patent B2
US 12,634,239 · App. 17/935,298 · Granted May 19, 2026

Customized processing for different classes of RDMA traffic

Inventors: Jagwinder Singh Brar (Bellevue, WA); David Dale Becker (Seattle, WA); Jacob Robert Uecker (Las Vegas, NV); Lukasz Sulek (Seattle, WA); Marcin Jakub Zablocki (Seattle, WA); Santosh Narayan Shilimkar (San Jose, CA)
Assignee: Oracle International Corporation
H04L47/2433H04L45/58H04L47/31H04L67/1097
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,634,239
App. No.
17/935,298
Granted
May 19, 2026
Kind
B2
Abstract

Discussed herein is a framework that provisions for customized processing for different classes of traffic. A network device in a communication path between a source host machine and a destination host machine extracts a tag from a packet received by the network device. The packet originates at a source executing on the source host machine and whose destination is the destination host machine. The tag set by the source and indicative of a first traffic class to be associated with the packet, the first traffic class being selected by the source from a plurality of traffic classes. The network device determines the first traffic class based on the tag extracted from the packet and processes the packet based on the first traffic class.

Claims (24)

1 . A method comprising:

extracting, by a network device in a communication path between a source host machine and a destination host machine, a tag from a packet received by the network device, the packet originating at the source host machine and whose destination is the destination host machine, wherein the tag set is by an application executing on the source host machine and is indicative of a first traffic class to be associated with the packet, the first traffic class being selected by the application executing on the source host machine from a plurality of traffic classes;

determining, by the network device, the first traffic class based on the tag extracted from the packet; and

in response to receiving the packet including the tag set by the application executing on the source host machine, processing, by the network device, the packet based on the first traffic class by setting a first set of parameters associated with the network device and a second set of parameters corresponding to a network interface card associated with the source host machine, wherein the second set of parameters includes an adaptive retransmission parameter, a slow restart parameter, a number of queues parameter, or a packet sequence number parameter.

2 . The method of claim 1 , wherein the network device is a top of rack switch or a spine switch.

3 . The method of claim 1 , wherein the source host machine is included in a first rack of a network cluster, and the destination host machine is included in a second rack of the network cluster, the second rack being different than the first rack.

4 . The method of claim 1 , wherein the tag is included in a type of service field included in a header portion of the packet, the type of service field being 8 bits long, and wherein 6 bits of the type of service field are allocated to the tag.

5 . The method of claim 1 , wherein the plurality of traffic classes includes a bandwidth-sensitive RDMA traffic, a latency-sensitive RDMA traffic, a management type of traffic, or a lossy TCP traffic.

6 . The method of claim 1 , wherein the first set of parameters associated with the network device includes a first parameter corresponding to a type of explicit congestion notification marking, and a second parameter corresponding to a depth of a queue associated with the network device.

7 . A network device comprising:

a processor; and

a memory including instructions that, when executed by the processor, cause the network device to, at least:

extract, by the network device that lies in a communication path between a source host machine and a destination host machine, a tag from a packet received by the network device, the packet originating at the source host machine and whose destination is the destination host machine, wherein the tag is set by an application executing on the source host machine and is indicative of a first traffic class to be associated with the packet, the first traffic class selected by the application executing on the source host machine from a plurality of traffic classes;

determine the first traffic class based on the tag extracted from the packet; and

in response to receiving the packet including the tag set by the application executing on the source host machine, process the packet based on the first traffic class by setting a first set of parameters associated with the network device and a second set of parameters corresponding to a network interface card associated with the source host machine, wherein the second set of parameters includes an adaptive retransmission parameter, a slow restart parameter, a number of queues parameter, or a packet sequence number parameter.

8 . The network device of claim 7 , wherein the network device is a top of rack switch or a spine switch.

9 . The network device of claim 7 , wherein the source host machine is included in a first rack of a network cluster, and the destination host machine is included in a second rack of the network cluster, the second rack being different than the first rack.

10 . The network device of claim 7 , wherein the tag is included in a type of service field included in a header portion of the packet, the type of service field being 8 bits long, and wherein 6 bits of the type of service field are allocated to the tag.

11 . The network device of claim 7 , wherein the plurality of traffic classes includes a bandwidth-sensitive RDMA traffic, a latency-sensitive RDMA traffic, a management type of traffic, or a lossy TCP traffic.

12 . The network device of claim 7 , wherein the first set of parameters associated with the network device includes a first parameter corresponding to a type of explicit congestion notification marking, and a second parameter corresponding to a depth of a queue associated with the network device.

13 . A non-transitory computer readable medium storing specific computer-executable instructions that, when executed by a processor, cause a computer system to at least:

extract, by a network device in a communication path between a source host machine and a destination host machine, a tag from a packet received by the network device, the packet originating at the source host machine and whose destination is the destination host machine, wherein the tag is set by an application executing on the source host machine and is indicative of a first traffic class to be associated with the packet, the first traffic class selected by the application executing on the source host machine from a plurality of traffic classes;

determine, by the network device, the first traffic class based on the tag extracted from the packet; and

in response to receiving the packet including the tag set by the application executing on the source host machine, process the packet based on the first traffic class by setting a first set of parameters associated with the network device and a second set of parameters corresponding to a network interface card associated with the source host machine, wherein the second set of parameters includes an adaptive retransmission parameter, a slow restart parameter, a number of queues parameter, or a packet sequence number parameter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2022
From: BRAR, JAGWINDER SINGH; BECKER, DAVID DALE; UECKER, JACOB ROBERT; SULEK, LUKASZ; ZABLOCKI, MARCIN JAKUB; SHILIMKAR, SANTOSH NARAYAN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 061215/0535 →
Continuity (2)
Provisional Application 63332924 · Apr 20, 2022
Related Publication 20230344777A1 · Oct 26, 2023
References Cited (48)
US 6839321B1 · Chiruvolu · 2005 [cited by applicant]
US 7742406B1 · Muppala · 2010 [cited by examiner]
US 7774498B1 · Kraemer et al. · 2010 [cited by applicant]
US 9049251B2 · Ravindran et al. · 2015 [cited by applicant]
US 9141410B2 · Leafe et al. · 2015 [cited by applicant]
US 9172640B2 · Vincent et al. · 2015 [cited by applicant]
US 10348767B1 · Lee et al. · 2019 [cited by applicant]
US 10516623B2 · Leafe et al. · 2019 [cited by applicant]
US 10698714B2 · Krishnamurthy et al. · 2020 [cited by applicant]
US 11159455B1 · Matthews · 2021 [cited by examiner]
US 12003483B1 · Qassoud · 2024 [cited by examiner]
US 20040017810A1 · Anderson · 2004 [cited by examiner]
US 20100226252A1 · Gogic et al. · 2010 [cited by applicant]
US 20120099592A1 · Ludwig · 2012 [cited by examiner]
US 20120233668A1 · Leafe et al. · 2012 [cited by applicant]
US 20120250682A1 · Vincent et al. · 2012 [cited by applicant]
US 20130238785A1 · Hawk et al. · 2013 [cited by applicant]
US 20140059226A1 · Messerli et al. · 2014 [cited by applicant]
US 20140169169A1 · Almog et al. · 2014 [cited by applicant]
US 20140314091A1 · Vincent et al. · 2014 [cited by applicant]
US 20150081726A1 · Izenberg · 2015 [cited by applicant]
US 20150350094A1 · Izhak-Ratzin · 2015 [cited by examiner]
US 20160072727A1 · Leafe et al. · 2016 [cited by applicant]
US 20170034012A1 · Douglas et al. · 2017 [cited by applicant]
US 20190007270A1 · Suragi Math · 2019 [cited by examiner]
US 20190087214A1 · To · 2019 [cited by examiner]
US 20190379610A1 · Srinivasan et al. · 2019 [cited by applicant]
US 20190386924A1 · Srinivasan et al. · 2019 [cited by applicant]
US 20200021532A1 · Borikar et al. · 2020 [cited by applicant]
US 20200136986A1 · Southworth · 2020 [cited by examiner]
US 20200236052A1 · Srinivasan et al. · 2020 [cited by applicant]
US 20200280518A1 · Lee et al. · 2020 [cited by applicant]
US 20210320866A1 · Le et al. · 2021 [cited by applicant]
US 20210409506A1 · Radi et al. · 2021 [cited by applicant]
US 20220416948A1 · Yang et al. · 2022 [cited by applicant]
Guo , et al., “RDMA over Commodity Ethernet at Scale”, SIGCOMM '16: Proceedings of the 2016 ACM SIGCOMM Conference, Aug. 22-26, 2016, 14 pages. [cited by applicant]
PCT/US2023/018175 , “International Search Report and Written Opinion”, Jul. 10, 2023, 11 pages. [cited by applicant]
PCT/US2023/018177 , “International Search Report and Written Opinion”, Jul. 6, 2023, 16 pages. [cited by applicant]
PCT/US2023/018180 , “International Search Report and Written Opinion”, Jul. 10, 2023, 11 pages. [cited by applicant]
Application No. PCT/US2023/018175 , International Preliminary Report on Patentability, Mailed On Oct. 31, 2024, 8 pages. [cited by applicant]
Application No. PCT/US2023/018177 , International Preliminary Report on Patentability, Mailed On Oct. 31, 2024, 12 pages. [cited by applicant]
Application No. PCT/US2023/018180 , International Preliminary Report on Patentability, Mailed On Oct. 31, 2024, 8 pages. [cited by applicant]
U.S. Appl. No. 17/935,279, Final Office Action mailed on Feb. 20, 2025, 12 pages. [cited by applicant]
U.S. Appl. No. 17/935,279 , Notice of Allowance, Mailed On Mar. 31, 2025, 9 pages. [cited by applicant]
U.S. Appl. No. 17/935,287 , Final Office Action, Mailed On Apr. 14, 2025, 12 pages. [cited by applicant]
U.S. Appl. No. 17/935,279, Non-Final Office Action mailed on Sep. 10, 2024, 12 pages. [cited by applicant]
U.S. Appl. No. 17/935,287, Non-Final Office Action mailed on Sep. 10, 2024, 10 pages. [cited by applicant]
U.S. Appl. No. 17/935,287, Non-Final Office Action mailed on Dec. 18, 2025, 13 pages. [cited by applicant]