Methods and systems for efficient and secure network function execution
US-2023198907-A1 · Jun 22, 2023 · US
US12341697B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12341697-B2 |
| Application number | US-202318380218-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 16, 2023 |
| Priority date | Jul 25, 2023 |
| Publication date | Jun 24, 2025 |
| Grant date | Jun 24, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An example computer system includes a hardware platform including a processing unit and software executing on the hardware platform. The software includes a workload and a scheduler, the workload including a network function chain having network functions, the scheduler configured to schedule the network functions for execution on the processing unit. A downstream network function includes a congestion monitor configured to monitor a first receive queue supplying packets to the downstream network function, the congestion monitor configured to compare occupancy of the first receive queue against a queue threshold. An upstream network function including a rate controller configured to receive a notification from the congestion monitor generated in response to the occupancy of the first receive queue exceeding the queue threshold, the rate controller configured to modify a rate of packet flow between a second receive queue and the upstream network function in response to the notification.
Opening claim text (preview).
What is claimed is: 1. A computer system, comprising: a hardware platform including a processing unit; software, executing on the hardware platform, including a workload and a scheduler, the workload executing as user software in a virtual computing instance and including a network function chain having network functions, the scheduler configured to schedule the network functions for execution on the processing unit in equal time slots; a downstream network function of the network functions including a congestion monitor, the congestion monitor configured to monitor a first receive queue supplying packets to the downstream network function, the congestion monitor configured to compare occupancy of the first receive queue against a queue threshold, the scheduler configured to schedule the downstream network function for execution on the processing unit in a first time slot; and an upstream network function of the network functions, different than the downstream network function, including a rate controller, the upstream network function supplying packets to the first receive queue, the scheduler configured to schedule the upstream network function for execution on the processing unit in a second time slot of equal time to the first time slot, the rate controller configured to receive a notification from the congestion monitor generated in response to the occupancy of the first receive queue exceeding the queue threshold, the rate controller configured to modify a rate of packet flow between a second receive queue and the upstream network function in response to the notification; wherein the rate controller is configured to modify the rate of the packet flow by suspending the packet flow between the second receive queue and the upstream network function in response to the notification; and wherein the rate controller is configured to receive a second notification from the congestion monitor and resume the packet flow between the second receive queue and the upstream network function in response to the second notification. 2. The computer system of claim 1 , wherein the hardware platform includes a central processing unit (CPU) and wherein the processing unit is a peripheral to the CPU. 3. The computer system of claim 2 , wherein the processing unit comprises a graphics processing unit (GPU). 4. The computer system of claim 1 , wherein the scheduler does not expose preemption control to the workload. 5. The computer system of claim 1 , wherein the scheduler comprises a best-effort scheduler, a round-robin scheduler, or a fixed-duration scheduler. 6. The computer system of claim 1 , wherein the software comprises a hypervisor that includes the scheduler, and wherein the workload executes in virtual computing instances managed by the hypervisor. 7. The computer system of claim 6 , wherein the virtual computing instances comprise virtual machines (VMs), wherein the hypervisor is configured to virtualize the processing unit and provide virtual processing units to the VMs, and wherein the network functions execute in the VMs on the virtual processing units. 8. A method of managing network functions of a network function chain scheduled to execute on a processing unit in a hardware platform of a computing system in equal time slots by a scheduler, the method comprising: executing a downstream network function, a congestion monitor, and a first receive queue as user software in a first virtual computing instance, the scheduler configured to schedule the downstream function for execution on the processing unit in a first time slot; executing an upstream network function, a second receive queue, and a rate controller as user software in a second virtual computing instance, the upstream network function different than the downstream network function, the scheduler configured to schedule the upstream network function on the processing unit in a second time slot of equal time to the first time slot; monitoring, by the congestion monitor, congestion of the first receive queue supplying packets to the downstream network function of the network functions; comparing, by the congestion monitor, occupancy of the first receive queue to a queue threshold; receiving, at the rate controller, a notification from the congestion monitor generated in response to the occupancy of the first receive queue exceeding the queue threshold; modifying, by the rate controller, a rate of packet flow between the second receive queue and the upstream network function in response to the notification, the upstream network function supplying packets to the first receive queue, wherein the rate controller modifies the rate of the packet flow by suspending the packet flow between the second receive queue and the upstream network function in response to the notification; receiving, at the rate controller, a second notification from the congestion monitor; and resuming, by the rate controller, the packet flow between the second receive queue and the upstream network function in response to the second notification. 9. The method of claim 8 , wherein the processing unit comprises a graphics processing unit (GPU). 10. The method of claim 8 , wherein the scheduler does not expose preemption control to the network functions. 11. The method of claim 8 , wherein the software comprises a hypervisor that includes the scheduler, and wherein the first and second virtual computing instances comprise virtual machines (VMs) managed by the hypervisor. 12. The method of claim 11 , wherein the hypervisor is configured to virtualize the processing unit and provide virtual processing units to the VMs, and wherein the network functions execute in the VMs on the virtual processing units. 13. A non-transitory computer readable medium comprising instructions to be executed in a computing device to cause the computing device to carry out a method of managing network functions of a network function chain scheduled to execute on a processing unit in a hardware platform of a computing system in equal time slots by a scheduler, the method comprising: executing a downstream network function, a congestion monitor, and a first receive queue as user software in a first virtual computing instance, the scheduler configured to schedule the downstream function for execution on the processing unit in a first time slot; executing an upstream network function, a second receive queue, and a rate controller as user software in a second virtual computing instance, the upstream network function different than the downstream network function, the scheduler configured to schedule the upstream network function on the processing unit in a second time slot of equal time to the first time slot; monitoring, by the congestion monitor, congestion of the first receive queue supplying packets to the downstream network function of the network functions; comparing, by the congestion monitor, occupancy of the first receive queue to a queue threshold; receiving, at the rate controller, a notification from the congestion monitor generated in response to the occupancy of the first receive queue exceeding the queue threshold; modifying, by the rate controller, a rate of packet flow between the second receive queue and the upstream network function in response to the notification, the upstream network function supplying packets to the first receive queue, wherein the rate controller modifies the rate of the packet flow by suspending the packet flow between the second receive queue and the upstream network function in response to the notification; receiving, at the rate controller, a second notification from the congestion monitor; and resuming, by the ra
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
Hypervisor-specific management and integration aspects · CPC title
Network integration; Enabling network access in virtual machine instances · CPC title
with rate being modified by the source upon detecting a change of network conditions · CPC title
Avoiding congestion; Recovering from congestion · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.