IP Library › Granted Patent US 11,991,090
Granted Patent B2
US 11,991,090 · App. 17/969,345 · Granted May 21, 2024

Resource orchestration for multiple services

Inventors: Shankar Ramanathan (Richardson, TX); Nagendra Kumar Nainar (Morrisville, NC); Carlos M. Pignataro (Cary, NC)
Assignee: CISCO TECHNOLOGY, INC.
H04L47/80
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,991,090
App. No.
17/969,345
Granted
May 21, 2024
Kind
B2
Abstract

A method of orchestrating one or more radio resources among various services executing within a container. The method includes obtaining, by an orchestration engine executing on a network device, a request, from a first service of a plurality of services, for use of a physical/hardware resource that connects a container running on the network device to a network. The request from the first service has a particular priority. The plurality of services execute within the container. The method further includes determining whether to connect the first service to the network via the physical/hardware resource based on the priority and an availability status of the physical/hardware resource and establishing, at a kernel level, a connection between the first service and the physical/hardware resource based on the determining.

Claims (50)

1. A method comprising:

obtaining, by an orchestration engine executing on a network device, a request, from a first service of a plurality of services that are executing within a container, for use of a physical/hardware resource that connects the container running on the network device to a network;

determining whether to connect the first service to the network via the physical/hardware resource based on the request; and

establishing, at a kernel level, a connection between the first service from among the plurality of services executing in the container and the physical/hardware resource based on determining to connect the first service.

2. The method of claim 1 , wherein establishing the connection includes:

generating a bridge, at the kernel level, between the first service and a virtual wire that connects the container to a host layer of the physical/hardware resource.

3. The method of claim 2 , further comprising:

generating, for each of the plurality of services, a container network interface to the orchestration engine such that the orchestration engine arbitrates a plurality of requests, from the plurality of services, for one or more physical/hardware resources of the network device, wherein the plurality of services include one or more of an application or a virtual container.

4. The method of claim 1 , wherein the physical/hardware resource is a radio resource and establishing the connection includes:

based on the radio resource being available, generating a first bridge, at the kernel level, between the first service and a virtual wire that connects to a host layer of the radio resource.

5. The method of claim 1 , further comprising:

obtaining, from the physical/hardware resource by the orchestration engine, an incoming traffic-mirroring request; and

generating a bridge from each of the plurality of services to a virtual wire that connects the container to a host layer of the physical/hardware resource.

6. The method of claim 1 , further comprising:

selecting the physical/hardware resource from one or more physical/hardware resources based on availability states of the one or more physical/hardware resources and information in the request.

7. The method of claim 1 , further comprising:

toggling a bridge to a virtual wire that connects the container to a host layer of the physical/hardware resource, from the first service to another service of the plurality of services based on the request.

8. The method of claim 1 , wherein establishing, at the kernel level, the connection between the first service and the physical/hardware resource includes:

injecting the first service into a namespace that involves a set of signs to identify objects within the container.

9. The method of claim 1 , wherein establishing, at the kernel level, the connection between the first service and the physical/hardware resource includes:

injecting a virtual wire at the kernel level to form a bridge between a host layer of the physical/hardware resource and the first service.

10. The method of claim 1 , wherein the physical/hardware resource is shared among the plurality of services executing within the container by injecting a virtual wire at the kernel level to establish the connection between a respective service from among the plurality of services.

11. An apparatus comprising:

a memory;

a network interface configured to enable network communications; and

a processor, wherein the processor is configured to perform operations comprising:

obtaining a request, from a first service of a plurality of services that are executing within a container, for use of a physical/hardware resource that connects the container running on the apparatus to a network;

determining whether to connect the first service to the network via the physical/hardware resource based on the request; and

establishing, at a kernel level, a connection between the first service from among the plurality of services executing in the container and the physical/hardware resource based on determining to connect the first service.

12. The apparatus of claim 11 , wherein the processor is configured to perform the operation of establishing the connection by:

generating a bridge, at the kernel level, between the first service and a virtual wire that connects the container to a host layer of the physical/hardware resource.

13. The apparatus of claim 12 , wherein the processor is further configured to perform an additional operation comprising:

generating, for each of the plurality of services, a container network interface to an orchestration engine executed by the processor such that the orchestration engine arbitrates a plurality of requests, from the plurality of services, for one or more physical/hardware resources of the apparatus, wherein the plurality of services include one or more of an application or a virtual container.

14. The apparatus of claim 11 , wherein the physical/hardware resource is a radio resource and the processor is configured to perform the operation of establishing the connection by:

based on the radio resource being available, generating a first bridge, at the kernel level, between the first service and a virtual wire that connects to a host layer of the radio resource.

15. The apparatus of claim 11 , wherein the processor is further configured to perform an additional operation comprising:

obtaining, from the physical/hardware resource, an incoming traffic-mirroring request; and

generating a bridge from each of the plurality of services to a virtual wire that connects the container to a host layer of the physical/hardware resource.

16. The apparatus of claim 11 , wherein the processor is further configured to perform an additional operation comprising:

selecting the physical/hardware resource from one or more physical/hardware resources based on availability states of the one or more physical/hardware resources and information in the request.

17. The apparatus of claim 11 , wherein the processor is further configured to perform an additional operation comprising:

toggling a bridge to a virtual wire that connects the container to a host layer of the physical/hardware resource, from the first service to another service of the plurality of services based on the request.

18. One or more non-transitory computer readable storage media encoded with instructions that, when executed by a processor, cause the processor to perform operations including:

obtaining a request, from a first service of a plurality of services that are executing within a container, for use of a physical/hardware resource that connects the container running on a network device to a network;

determining whether to connect the first service to the network via the physical/hardware resource based on the request; and

establishing, at a kernel level, a connection between the first service from among the plurality of services executing in the container and the physical/hardware resource based on determining to connect the first service.

19. The one or more non-transitory computer readable storage media according to claim 18 , wherein the instructions cause the processor to establish the connection by:

generating a bridge, at the kernel level, between the first service and a virtual wire that connects the container to a host layer of the physical/hardware resource.

20. The one or more non-transitory computer readable storage media according to claim 19 , wherein the instructions cause the processor to perform an additional operation comprising:

generating, for each of the plurality of services, a container network interface to an orchestration engine executing on the processor such that the orchestration engine arbitrates a plurality of requests, from the plurality of services, for one or more physical/hardware resources of the network device, wherein the plurality of services include one or more of an application or a virtual container.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2022
From: RAMANATHAN, SHANKAR; NAINAR, NAGENDRA KUMAR; PIGNATARO, CARLOS M.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 061473/0145 →
Continuity (2)
Continuation 17157029 · Jan 25, 2021
Related Publication 20230044088A1 · Feb 9, 2023