IP Library › Granted Patent US 12,355,676
Granted Patent B2
US 12,355,676 · App. 18/588,916 · Granted Jul 8, 2025

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 12,355,676
App. No.
18/588,916
Granted
Jul 8, 2025
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 (44)

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 one of one or more containers, for use of a physical/hardware resource that connects the one or more containers running on the network device to a network, wherein the request includes a priority;

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

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

2. The method of claim 1 , wherein the plurality of services include the first service executing in a first container and a second service executing in a second container.

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

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

4. The method of claim 2 , wherein the physical/hardware resource is shared among the first service and the second service by injecting a virtual wire at the kernel level to establish the connection between a respective service from among the first service and the second service.

5. The method of claim 1 , 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.

6. 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 includes a set of signs to identify objects within the one or more containers.

7. The method of claim 1 , further comprising:

toggling a bridge to a virtual wire that connects the one or more containers to a host layer of the physical/hardware resource, from a second service executing in a second container to the first service executing in a first container based on a high priority of the request.

8. 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 one or more containers to a host layer of the physical/hardware resource.

9. 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 the priority of the request.

10. 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, by an orchestration engine executing on a network device, a request, from a first service of a plurality of services that are executing within one of one or more containers, for use of a physical/hardware resource that connects the one or more containers running on the network device to a network, wherein the request includes a priority;

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

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

11. The apparatus of claim 10 , wherein the plurality of services include the first service executing in a first container and a second service executing in a second container.

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 one or more containers to a host layer of the physical/hardware resource.

13. The apparatus of claim 11 , wherein the physical/hardware resource is shared among the first service and the second service by the processor injecting a virtual wire at the kernel level to establish the connection between a respective service from among the first service and the second service.

14. The apparatus of claim 10 , 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 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.

15. The apparatus of claim 10 , wherein the processor is configured to perform the operation of establishing the connection between the first service and the physical/hardware resource by:

injecting the first service into a namespace that includes a set of signs to identify objects within the one or more containers.

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

toggling a bridge to a virtual wire that connects the one or more containers to a host layer of the physical/hardware resource, from a second service executing in a second container to the first service executing in a first container based on a high priority of the request.

17. 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, by an orchestration engine executing on a network device, a request, from a first service of a plurality of services that are executing within one of one or more containers, for use of a physical/hardware resource that connects the one or more containers running on the network device to a network, wherein the request includes a priority;

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

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

18. The one or more non-transitory computer readable storage media according to claim 17 , wherein the plurality of services include the first service executing in a first container and a second service executing in a second container.

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 one or more containers to a host layer of the physical/hardware resource.

20. The one or more non-transitory computer readable storage media according to claim 18 , wherein the physical/hardware resource is shared among the first service and the second service by the processor injecting a virtual wire at the kernel level to establish the connection between a respective service from among the first service and the second service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2024
From: RAMANATHAN, SHANKAR; NAINAR, NAGENDRA KUMAR; PIGNATARO, CARLOS M.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 066585/0773 →
Continuity (3)
Continuation 17969345 · Oct 19, 2022
Continuation 17157029 · Jan 25, 2021
Related Publication 20240195751A1 · Jun 13, 2024
References Cited (12)
US 11218424B1 · Hanahan · 2022 [cited by examiner]
US 20130227560A1 · McGrath · 2013 [cited by examiner]
US 20160036862A1 · Bagepalli et al. · 2016 [cited by applicant]
US 20190243687A1 · Chen · 2019 [cited by applicant]
US 20200252376A1 · Feng et al. · 2020 [cited by applicant]
US 20210014113A1 · Guim Bernat · 2021 [cited by examiner]
US 20210194853A1 · Xiao · 2021 [cited by examiner]
US 20210194925A1 · Xiao · 2021 [cited by examiner]
CN 109582436A · 2019 [cited by applicant]
CN 110780998A · 2020 [cited by applicant]
Cisco: “Cisco Network Services Manager 5.0 Data Sheet,” Document ID: 1473275908925167, Aug. 11, 2014, 5 Pages, https://www.cisco.com/c/en/us/products/collateral/cloud-systems-management/network-services-manager/data_she… [cited by applicant]
Network Service Mesh: “What is Network Service Mesh,” Downloaded Jan. 25, 2021, 8 Pages, Retrieved from URL: https://networkservicemesh.io/docs/concepts/what-is-nsm. [cited by applicant]