IP Library Granted Patent US 11,271,895
Granted Patent B1
US 11,271,895 · App. 17/065,317 · Granted Mar 8, 2022

Implementing advanced networking capabilities using helm charts

Inventors: Shravan Kumar Vallala (San Jose, CA); Rohan Parulekar (Sunnyvale, CA); Tushar Doshi (Santa Clara, CA); Hariharan Sethuraman (Bengaluru, IN)
Assignee: ROBIN SYSTEMS, INC.
H04L61/2007G06F8/61H04L41/0803
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,271,895
App. No.
17/065,317
Granted
Mar 8, 2022
Kind
B1
Abstract

A KUBERNETES installation processes a script and invokes a scheduling agent in response to encountering an instruction to create a pod. The scheduling agent is an agent of an orchestrator and performs tasks such as identifying a selected node, creating multiple interface objects with multiple IP addresses, and creating storage volumes in coordination with the orchestrator. Upon creation, the pod may call a CNI that is an agent of the orchestrator in order to configure the pod to use the multiple interface objects. The pod may call a CSI that is an agent of the orchestrator in order to bind a storage volume to the pod. The scheduling agent may coordinate with the orchestrator to implement affinity and anti-affinity rules for placement of pods and storage volumes. The script may also be transformed by the orchestrator in order to insert instructions implementing affinity and ant-affinity rules.

Claims (40)

1. A method comprising:

generating, by a first orchestration platform executing in a network environment including one or more computer systems connected by a network, a call to a scheduling agent executing in the network environment, the call including a reference to a pod;

in response to receiving the call, performing, by the scheduling agent, prior to creating the pod:

creating a plurality of interface objects on a computing node of the network environment;

assigning a plurality of internet protocol (IP) addresses to the plurality of interface objects; and

returning, an identifier of the computing node to the first orchestration platform,

creating, by the first orchestration platform, the pod on the computing node;

calling, by the pod, a networking plugin of the pod; and

configuring, by the networking plugin, the pod to use the plurality of interface objects.

2. The method of claim 1 , further comprising:

processing, using the first orchestration platform, a script, the script including a specification for the pod.

3. The method of claim 1 , wherein the pod is an object configured to control operation of one or more containers executing on the computing node.

4. The method of claim 1 , further comprising:

executing, in the network environment, a second orchestration platform, the scheduling agent and the networking plugin being agents of the second orchestration platform and configured to coordinate with the second orchestration platform.

5. The method of claim 4 , further comprising, obtaining by the scheduling agent a specification of the plurality of interface objects and the plurality of IP addresses from the second orchestration platform.

6. The method of claim 5 , further comprising obtaining, by the networking plugin, references to the plurality of interface objects from the second orchestration platform.

7. The method of claim 5 , further comprising obtaining, by the second orchestration platform, the plurality of IP addresses according to a bundled application manifest and returning the plurality of IP addresses to the scheduling agent.

8. The method of claim 1 , wherein the first orchestration platform is a KUBERNETES installation.

9. The method of claim 1 , wherein each of the plurality of interface objects is a different type of interface object.

10. The method of claim 9 , wherein the plurality of interface objects include objects of at least two types of a plurality of types, the plurality of types including CALICO, FLANNEL, CANAL, WEAVE, CILIUM, and KUBE-ROUTER.

11. A system comprising:

a network environment including one or more computer systems connected by a network, each computer system of the one or more computer systems including one or more processing devices and one or more memory devices connected to the one or more processing devices;

wherein the one or more computer systems are programmed to execute a first orchestration platform and a scheduling agent;

wherein the first orchestration platform is programmed to generate a call to the scheduling agent, the call including a reference to a pod;

wherein the scheduling agent is programmed to receive the call and, in response to the call and prior to creating the pod:

create a plurality of interface objects on a computing node of the network environment;

assign a plurality of internet protocol (IP) addresses to the plurality of interface objects; and

return an identifier of the computing node to the first orchestration platform;

wherein the first orchestration platform is further programmed to create the pod on the computing node; and

wherein the pod includes a networking plugin configured to configure the pod to use the plurality of interface objects.

12. The system of claim 11 , wherein the first orchestration platform is further programmed to:

process a script, the script including a specification for the pod.

13. The system of claim 11 , wherein the pod is an object configured to control operation of one or more containers executing on the computing node.

14. The system of claim 11 , wherein the one or more computer systems are further programmed to execute a second orchestration platform, the scheduling agent and the networking plugin being agents of the second orchestration platform and configured to coordinate with the second orchestration platform.

15. The system of claim 14 , wherein the scheduling agent is programmed to obtain a specification of the plurality of interface objects and the plurality of IP addresses from the second orchestration platform.

16. The system of claim 15 , wherein the networking plugin is programmed to obtain references to the plurality of interface objects from the second orchestration platform.

17. The system of claim 15 , wherein the second orchestration platform is programed to obtain the plurality of IP addresses according to a bundled application manifest and return the plurality of IP addresses to the scheduling agent.

18. The system of claim 11 , wherein the first orchestration platform is a KUBERNETES installation.

19. The system of claim 11 , wherein each of the plurality of interface objects is a different type of interface object.

20. The system of claim 19 , wherein the plurality of interface objects include objects of at least two types of a plurality of types, the plurality of types including CALICO, FLANNEL, CANAL, WEAVE, CILIUM, and KUBE-ROUTER.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: ROBIN SYSTEMS, INC.
To: RAKUTEN SYMPHONY, INC.
Reel/Frame 068193/0367 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2020
From: VALLALA, SHRAVAN KUMAR; PARULEKAR, ROHAN; DOSHI, TUSHAR; SETHURAMAN, HARIHARAN
To: ROBIN SYSTEMS, INC.
Reel/Frame 054001/0757 →
Cited By (3)
US 12,639,058 US 12,650,827 US 12,699,575