IP Library Granted Patent US 11,934,861
Granted Patent B2
US 11,934,861 · App. 18/110,662 · Granted Mar 19, 2024

Flow rule installation latency testing in software defined networks

Inventors: Sai Sindhur Malleni (Marlborough, MA); Venkata Anil Kommaddi (Bangalore, IN)
Assignee: Red Hat, Inc.
G06F9/45558G06F11/3612H04L45/586H04L61/5007H04L67/01G06F2009/4557G06F2009/45591G06F2009/45595
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 11,934,861
App. No.
18/110,662
Granted
Mar 19, 2024
Kind
B2
Abstract

Systems and methods for flow rule installation latency testing in software defined networks. In some examples, a hypervisor may deploy a virtual network switch configured to route data to virtualized computing environments executing on the hypervisor. A client process may be deployed in a first container executing on the hypervisor. A server process may be deployed on the hypervisor. The client process may receive a first request to deploy a virtual machine on the hypervisor. The client process may generate first instructions configured to cause the server process to generate a first namespace. The server process may generate the first namespace and may communicatively couple the first namespace to the virtual network switch.

Claims (70)

1. A method, comprising:

deploying, by a hypervisor, a virtual network switch configured to route data to and from virtualized computing environments executing on the hypervisor;

receiving a first request to deploy a first virtual machine on the hypervisor;

generating, in response to the first request, first instructions configured to generate a first namespace;

generating the first namespace; and

communicatively coupling the first namespace to the virtual network switch.

2. The method of claim 1 , further comprising:

receiving port request data comprising instructions to generate a first port in the first namespace; and

generating the first port in the first namespace.

3. The method of claim 2 , further comprising:

parsing the port request data to determine an internet protocol (IP) address and IP routing information specified by the port request data; and

connecting the IP address to the first port in the first namespace.

4. The method of claim 1 , further comprising:

sending, by a testing system, a request to the first namespace via the virtual network switch;

receiving, by the testing system, a response to the request from the first namespace; and

determining an amount of time elapsed between the sending of the request and the receiving of the response.

5. The method of claim 1 , further comprising:

receiving a plurality of second requests, wherein each of the plurality of second requests is a request to deploy a respective virtual machine;

deploying, in response to the plurality of second requests, a plurality of namespaces; and

communicatively coupling each of the plurality of namespaces to the virtual network switch.

6. The method of claim 5 , further comprising:

determining an amount of time between generation of the plurality of namespaces and establishing network connectivity with the plurality of namespaces via the virtual network switch.

7. The method of claim 1 , further comprising:

receiving a second request to deprovision the first virtual machine;

generating, in response to the second request, second instructions configured to delete the first namespace; and

deleting the first namespace in response to the second instructions.

8. The method of claim 1 , further comprising:

receiving second instructions specifying the first namespace, a media access control (MAC) address, an internet protocol (IP) address, and IP routing information;

generating a first port in the first namespace with the MAC address; and

connecting the first port to the IP address.

9. The method of claim 1 , wherein a client process emulates a driver that intercepts virtual machine instantiation requests and generates instructions configured to cause a server process to deploy namespaces on the hypervisor.

10. A system, comprising:

at least one processor; and

at least one non-transitory computer-readable memory configured in communication with the at least one processor, wherein the at least one processor is effective to execute a hypervisor;

the hypervisor configured to:

deploy a virtual network switch configured to route data to and from virtualized computing environments executing on the hypervisor;

receive a first request to deploy a first virtual machine on the hypervisor; and

generate, in response to the first request, first instructions configured to generate a first namespace;

generate the first namespace in response to the first instructions; and

communicatively couple the first namespace to the virtual network switch.

11. The system of claim 10 , wherein the hypervisor is further configured to:

receive port request data comprising instructions to generate a first port in the first namespace; and

generate the first port in the first namespace.

12. The system of claim 11 , wherein the hypervisor is further configured to:

parse the port request data to determine an internet protocol (IP) address and IP routing information specified by the port request data; and

connect the IP address to the first port in the first namespace.

13. The system of claim 10 , further comprising a testing system, wherein the testing system is configured to:

send a request to the first namespace via the virtual network switch;

receive a response to the request from the first namespace; and

determine an amount of time elapsed between sending the request and receiving the response.

14. The system of claim 10 , wherein the hypervisor is further configured to:

receive a plurality of second requests, wherein each of the plurality of second requests is a request to deploy a respective virtual machine;

in response to the plurality of second requests, deploy a plurality of namespaces; and

communicatively couple each of the plurality of namespaces to the virtual network switch.

15. The system of claim 14 , wherein the at least one processor is further configured to determine an amount of time between instantiation of the plurality of namespaces and establishing network connectivity with the plurality of namespaces via the virtual network switch.

16. The system of claim 10 , wherein the at least one processor is configured to execute a first compute service within the first container, wherein the first request to deploy the first virtual machine on the hypervisor is received from the first compute service.

17. The system of claim 10 , wherein the hypervisor is further configured to:

receive second instructions specifying the first namespace, a media access control (MAC) address, an internet protocol (IP) address, and IP routing information;

generate a first port in the first namespace with the MAC address; and

connect the first port to the IP address.

18. The system of claim 10 , wherein a client process emulates a driver that intercepts virtual machine instantiation requests and generates instructions configured to cause a server process to deploy namespaces on the hypervisor.

19. A non-transitory machine readable medium storing a program, which when executed by at least one processor causes the at least one processor to:

deploy, by a hypervisor, a virtual network switch configured to route data to and from virtualized computing environments executing on the hypervisor;

receive a first request to deploy a first virtual machine on the hypervisor;

generate, in response to the first request, first instructions configured to generate a first namespace;

generate the first namespace; and

communicatively couple the first namespace to the virtual network switch.

20. The non-transitory machine readable medium of claim 19 , which, when executed by the at least one processor, further causes the at least one processor to:

receive port request data comprising instructions to generate a first port in the first namespace; and

generate, by the server process the first port in the first namespace.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2023
From: MALLENI, SAI SINDHUR; KOMMADDI, VENKATA ANIL
To: RED HAT, INC.
Reel/Frame 062724/0262 →