Distributed processing of network device tasks

US11614972B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11614972-B2
Application numberUS-201816041261-A
CountryUS
Kind codeB2
Filing dateJul 20, 2018
Priority dateJun 26, 2012
Publication dateMar 28, 2023
Grant dateMar 28, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are described for distributing network device tasks across virtual machines executing in a computing cloud. A network device includes a network interface to send and receive messages, a routing unit comprising one or more processors configured to execute a version of a network operating system, and a virtual machine agent. The virtual machine agent is configured to identify a virtual machine executing at a computing cloud communicatively coupled to the network device, wherein the identified virtual machine executes an instance of the version of the network operating system, to send, using the at least one network interface and to the virtual machine, a request to perform a task, and to receive, using the at least one network interface and from the virtual machine, a task response that includes a result of performing the task. The routing unit is configured to update the network device based on the result.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of distributed processing of network device tasks, the method comprising: receiving, by a virtual machine manager executing at a computing system and from a virtual machine agent executing at a router, a request for a computational resource of the computing system; determining, by the virtual machine manager, whether the computing system has at least one available computational resource; and responsive to determining that the computing system has at least one available computational resource: sending, by the virtual machine manager and to the router, a response indicating that the computing system has the at least one available computational resource; receiving, by the virtual machine manager, a request for a specific computational resource, the request for the specific computational resource including a version of an operating system executing at the router and a task the router is requesting the computing system perform, wherein the task is associated with a routing protocol executing at the router; identifying, by the virtual machine manager and based on the version of the operating system executing at the router, at least one virtual machine from a plurality of virtual machines executing at the computing system as a target virtual machine, wherein the target virtual machine executes an appropriate version of the operating system of the router and has available computing resources to perform the task; and sending, by the virtual machine manager and to the router, a response to the request for the specific computational resource, the response including socket connection information for the target virtual machine identified by the virtual machine manager. 2. The method of claim 1 , further comprising: prior to sending the response to the request for the specific computational resource: receiving, by the virtual machine manager from the virtual machine, a message that includes an indication that the virtual machine came online, configuration information of the virtual machine, and capabilities of the virtual machine; and storing, by the virtual machine manager and in a data repository, the configuration information of the virtual machine and the capabilities of the virtual machine, wherein identifying the virtual machine comprises: determining, based on the configuration information of the virtual machine and the capabilities of the virtual machine stored by the virtual machine manager, whether the virtual machine has a same version of the operating system and is capable of performing the task; and responsive to determining that the virtual machine has the same version of the operating system and is capable of performing the task, identifying the virtual machine as the target virtual machine. 3. The method of claim 2 , further comprising: responsive to the target virtual machine terminating executing: removing, by the virtual machine manager, the configuration information of the virtual machine and the capabilities of the virtual machine from the data repository. 4. The method of claim 1 , further comprising: when no virtual machines are currently executing at the computing system and responsive to receiving the request for the specific computing resource, initiating, by the virtual machine manager, execution of the virtual machine at the computing system. 5. The method of claim 1 , further comprising: responsive to determining that the computing system does not have at least one available computational resource, sending, by the virtual machine manager and to the router, a message indicating that the computing system cannot assist the router. 6. The method of claim 1 , wherein identifying the at least one virtual machine as the target virtual machine comprises identifying two or more virtual machines as two or more target virtual machines, wherein each of the two or more target virtual machines execute a same version of the operating system as the router, and wherein each of the two or more target virtual machines are configured to assist with at least a portion of the task, the method further comprising: establishing a respective socket to each of the two or more target virtual machines, wherein the response includes respective socket connection information for each of the two or more target virtual machines. 7. The method of claim 1 , wherein the routing protocol is one of open shortest path first, spanning tree protocol, border gateway protocol, intermediate system to intermediate system protocol, and virtual private local area network service. 8. The method of claim 1 , wherein at least a subset of the plurality of virtual machines is configured to execute one or more of a routing protocol, an interface control process, a management process, and a chassis process. 9. A virtual machine manager comprising: one or more processors; and a memory that stores a virtual machine management module executable by the one or more processors to: receive, from a router, a request for a specific computational resource of a computing system, the request including a version of an operating system executing at the router and a task the router is requesting the computing system perform, wherein the task is associated with a routing protocol executing at the router; determine whether the computing system has at least one available computational resource; and responsive to determining that the computing system has at least one available computational resource: identify, based on the version of the operating system executing the router, at least one virtual machine from a plurality of virtual machines executing at the computing system as a target virtual machine, wherein the target virtual machine executes an appropriate version of the operating system of the router and has available computing resources to perform the task; and send, to the router, a response to the specific request, the response including socket connection information for the target virtual machine. 10. The virtual machine manager of claim 9 , wherein the virtual machine management module is further executable by the one or more processors to: prior to sending the response to the specific request: receive, from the virtual machine, a message that includes an indication that the virtual machine came online, configuration information of the virtual machine, and capabilities of the virtual machine; and store, in the memory, the configuration information of the virtual machine and the capabilities of the virtual machine; determine, based on the configuration information of the virtual machine and the capabilities of the virtual machine stored in the memory, whether the virtual machine has a same version of the operating system and is capable of performing the task; and responsive to determining that the virtual machine has the same version of the operating system and is capable of performing the task, identify the virtual machine as the target virtual machine. 11. The virtual machine manager of claim 10 , wherein the virtual machine management module is further executable by the one or more processors to: responsive to the target virtual machine terminating executing, remove the configuration information of the virtual machine and the capabilities of the virtual machine from the memory. 12. The virtual machine manager of claim 9 , wherein the virtual machine management module is further executable by the one or more processors to: when no virtual machines are currently executing at the computing system and responsive to receiving the request for the specific computing resource, initiate execution of the virtual machine at the computing system.

Assignees

Inventors

Classifications

  • G06F9/5044Primary

    considering hardware capabilities · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11614972B2 cover?
Techniques are described for distributing network device tasks across virtual machines executing in a computing cloud. A network device includes a network interface to send and receive messages, a routing unit comprising one or more processors configured to execute a version of a network operating system, and a virtual machine agent. The virtual machine agent is configured to identify a virtual…
Who is the assignee on this patent?
Juniper Networks Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5044. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 28 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).