9762497

System, Method and Apparatus for Network Congestion Management and Network Resource Isolation

PublishedSeptember 12, 2017
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
17 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method, comprising: receiving, by a transmit queue of a plurality of transmit queues of a network interface card, an indicator of a first packet from a first application executed by a computing device coupled to the network interface card; placing the first packet into the transmit queue of the plurality of transmit queues of the network interface card, responsive to receipt of the indicator; receiving a message at the network interface card, the message including information that enables identification of a congestion condition; determining, by a packet processor of the network interface card, that the first packet is not ready to be scheduled for transmission, responsive to receipt of the message including information that enables identification of the congestion condition; requeueing the first packet, from the transmit queue of the plurality of transmit queues of the network interface card, to a queue at a virtual switch executed by the computing device, responsive to the determination that the first packet is not ready to be scheduled for transmission; determining, by the packet processor, that the first packet can be scheduled for transmission; retrieving the first packet from the queue of the virtual switch, responsive to the determination that the first packet can be scheduled for transmission; and placing the retrieved first packet into the transmit queue of the plurality of transmit queues of the network interface card.

Plain English Translation

A network interface card (NIC) manages network congestion. When the NIC's transmit queue receives a packet from an application, it initially queues it for transmission. If the NIC receives a congestion message, its packet processor delays the packet's transmission and sends it back to a queue managed by a virtual switch on the host machine. When the congestion clears, the packet processor retrieves the packet from the virtual switch and places it back into the NIC's transmit queue for eventual transmission. This process avoids overwhelming the network during congested periods.

Claim 2

Original Legal Text

2. The method of claim 1 , further comprising processing the received message in the packet processor in the network interface card.

Plain English Translation

The method described where a network interface card (NIC) manages network congestion by requeueing packets further includes the step where the NIC's packet processor examines the received congestion message to extract information about the network condition. This processing within the NIC enables it to make informed decisions about delaying or scheduling packet transmissions, reacting directly to network status without host CPU intervention.

Claim 3

Original Legal Text

3. The method of claim 1 , wherein the plurality of transmit queues comprise a corresponding plurality of transmit rings, wherein each of the plurality of transmit rings is associated with one or more flows.

Plain English Translation

In the method of network congestion management by a network interface card (NIC), the NIC's transmit queues are organized as multiple transmit rings. Each ring is dedicated to handling one or more specific network flows, allowing the NIC to prioritize or delay traffic based on flow characteristics when congestion is detected.

Claim 4

Original Legal Text

4. The method of claim 3 , wherein requeueing the first packet at the virtual switch further comprises reassigning the first packet from a first transmit ring of the plurality of transmit rings associated with a first flow to a transmit ring of the virtual switch.

Plain English Translation

In the method of network congestion management by a network interface card (NIC), when a packet is requeued from the NIC to the virtual switch due to congestion, the packet is moved from its original transmit ring (associated with a particular flow) to a different transmit ring managed by the virtual switch. This reassignment allows the virtual switch to manage the packet's transmission according to its own policies.

Claim 5

Original Legal Text

5. The method of claim 1 , wherein requeueing the first packet at the virtual switch further comprises: forwarding a packet payload of the first packet from a host memory to a queue of the virtual switch, wherein the indicator of the first packet points to a buffer in the host memory where the packet payload of the first packet is stored.

Plain English Translation

In the method of network congestion management by a network interface card (NIC), requeuing a packet at the virtual switch involves copying the actual packet data (payload) from the host's memory to a queue within the virtual switch. The original pointer or identifier (indicator) of the packet in the NIC points to this location in host memory.

Claim 6

Original Legal Text

6. The method of claim 1 , further comprising: receiving, by the transmit queue of the network interface card, an indicator of a second packet from the first application, bypassing the virtual switch; determining, by the packet processor of the network interface card, that the second packet can be scheduled for transmission; and placing the second packet into the transmit queue of the plurality of transmit queues of the network interface card.

Plain English Translation

In the method of network congestion management by a network interface card (NIC), some packets from an application can bypass the virtual switch entirely. If the NIC's packet processor determines that a packet can be immediately scheduled for transmission, it places the packet directly into the NIC's transmit queue, avoiding the delay associated with requeuing.

Claim 7

Original Legal Text

7. The method of claim 1 , wherein the message includes congestion marking information contained in a dedicated congestion notification messages or in an acknowledgment message.

Plain English Translation

In the method of network congestion management by a network interface card (NIC), the congestion message received by the NIC can be in the form of dedicated congestion notification packets or as part of an acknowledgment (ACK) packet that includes congestion marking information. This allows the NIC to detect congestion signals from various network devices.

Claim 8

Original Legal Text

8. A method, comprising: receiving a packet at a network interface card, the packet placed by a packet processor into a receive queue of a plurality of receive queues of the network interface card; determining, by the packet processor, that the packet is not ready to be scheduled for delivery to an application executed by a computing device coupled to the network interface card, based on metering of congestion of the computing device by the packet processor; requeueing the packet, from the receive queue of the plurality of receive queues of the network interface card, to a receive queue of a virtual switch executed by the computing device, responsive to the determination that the packet is not ready to be scheduled for delivery; transmitting, by the network interface card based on the metering, a message that includes information that enables identification of a congestion condition to an upstream location; determining, by the packet processor, that the packet is ready to be delivered to an application of the computing device; and placing the packet into the receive queue of the plurality of receive queues of the network interface card, responsive to the determination that the packet is ready to be delivered, by: forwarding a packet payload of the packet from the receive queue of the virtual switch to a host memory of the computing device, and providing an indicator of the packet identifying a buffer in the host memory where the payload of the packet is stored to a receive queue of the application.

Plain English Translation

A network interface card (NIC) manages congestion by receiving a packet and placing it in a receive queue. If the NIC's packet processor detects congestion on the host machine, it delays delivering the packet to the application and instead requeues it to a receive queue managed by the virtual switch. The NIC also sends a congestion notification upstream. When the congestion clears, the packet processor moves the packet data from the virtual switch's receive queue to host memory and then delivers an indicator to the application queue so the application can access it.

Claim 9

Original Legal Text

9. The method of claim 8 , further comprising processing the received traffic in the packet processor in the network interface card.

Plain English Translation

The method described where a network interface card (NIC) manages network congestion on packet receipt further includes the step of the NIC's packet processor analyzing the incoming network traffic to detect and respond to congestion signals. This onboard processing offloads the host CPU and allows for faster congestion response.

Claim 10

Original Legal Text

10. The method of claim 8 , wherein the plurality of receive queues comprise a corresponding plurality of receive rings, wherein each of the plurality of receive rings is associated with one or more flows.

Plain English Translation

In the method of network congestion management by a network interface card (NIC) upon packet receipt, the NIC's receive queues are organized as multiple receive rings. Each ring is dedicated to handling one or more specific network flows, enabling flow-based congestion management on the receiving end.

Claim 11

Original Legal Text

11. The method of claim 10 , wherein requeueing the packet further comprises reassigning the packet from a first receive ring associated with a first flow to a receive ring of the virtual switch.

Plain English Translation

In the method of network congestion management by a network interface card (NIC) upon packet receipt, when a packet is requeued from the NIC to the virtual switch due to congestion, the packet is moved from its original receive ring (associated with a particular flow) to a different receive ring managed by the virtual switch.

Claim 12

Original Legal Text

12. The method of claim 8 , further comprising: receiving a second packet at the network interface card; determining, by the packet processor of the network interface card, that the second packet can be delivered to the application; and placing the second packet into a receive queue of the application, bypassing the virtual switch.

Plain English Translation

In the method of network congestion management by a network interface card (NIC) upon packet receipt, some packets can bypass the virtual switch. If the NIC's packet processor determines that a received packet can be immediately delivered to the application, it places the packet directly into the application's receive queue, avoiding unnecessary delays.

Claim 13

Original Legal Text

13. A network interface card, comprising: a plurality of transmit queues, a first transmit queue of the plurality of transmit queues comprising a first packet of an application, executed by a computing device coupled to the network interface card, for transmission from the network interface card; a receiver configured to receive a message at the network interface card, the message including information that enables identification of a congestion condition; and a transmit packet processor configured to: determine that the first packet of an application is not ready to be scheduled for transmission, responsive to receipt of the message including information that enables identification of the congestion condition, requeue the first packet from the first transmit queue of a plurality of transmit queues of the network interface card to a virtual switch executed by the computing device, responsive to the determination that the first packet is not ready to be scheduled for transmission, determine that the first packet can be scheduled for transmission, retrieve the first packet from the virtual switch, responsive to the determination that the first packet can be scheduled for transmission, and place the retrieved first packet into the first transmit queue of the plurality of transmit queues of the network interface card.

Plain English Translation

A network interface card (NIC) manages network congestion. It contains transmit queues to hold packets from applications. When the NIC receives a congestion notification, a transmit packet processor determines if a packet should be delayed. If so, the packet is moved to a virtual switch's queue. When congestion clears, the processor retrieves the packet from the virtual switch and places it back into the NIC's transmit queue.

Claim 14

Original Legal Text

14. The network interface card of claim 13 , wherein the plurality of transmit queues comprise a corresponding plurality of transmit rings, wherein each of the plurality of transmit rings is associated with one or more flows.

Plain English Translation

The network interface card (NIC) that manages network congestion, using transmit queues, organizes those queues into multiple transmit rings. Each transmit ring is associated with one or more network flows. This allows the NIC to prioritize different types of traffic based on flow characteristics.

Claim 15

Original Legal Text

15. The network interface card of claim 14 , wherein the transmit packet processor is further configured to reassign the first packet from a first transmit ring of the plurality of transmit rings associated with a first flow to a transmit ring of the virtual switch.

Plain English Translation

The network interface card (NIC) that manages network congestion, using transmit queues and transmit rings, includes a packet processor that, when requeuing a packet due to congestion, reassigns the packet from its original transmit ring (associated with a specific flow) to a transmit ring managed by the virtual switch.

Claim 16

Original Legal Text

16. The network interface card of claim 14 , wherein the packet processor is further configured for: determining that a second packet received from the first application, bypassing the virtual switch, can be scheduled for transmission; and placing the second packet into the transmit queue of the plurality of transmit queues of the network interface card.

Plain English Translation

The network interface card (NIC) that manages network congestion includes the capability to bypass the virtual switch for certain packets. If the packet processor determines that a packet received from an application can be immediately scheduled for transmission, it places the packet directly into the NIC's transmit queue, thus avoiding extra processing overhead.

Claim 17

Original Legal Text

17. The network interface card of claim 14 , wherein the message includes congestion marking information contained in a dedicated congestion notification messages or in an acknowledgment message.

Plain English Translation

The network interface card (NIC) that manages network congestion receives congestion notifications via dedicated congestion notification messages or acknowledgment (ACK) messages that contain congestion marking information. The NIC uses this information to determine when to delay packet transmission and requeue them to the virtual switch.

Patent Metadata

Filing Date

Unknown

Publication Date

September 12, 2017

Inventors

Karagada Ramarao Kishore
Ariel Hendel
Mohan Venkatachar Kalkunte

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “System, Method and Apparatus for Network Congestion Management and Network Resource Isolation” (9762497). https://patentable.app/patents/9762497

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/9762497. See llms.txt for full attribution policy.