Distributed processing of network device tasks
US-10031782-B2 · Jul 24, 2018 · US
US11614972B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11614972-B2 |
| Application number | US-201816041261-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 20, 2018 |
| Priority date | Jun 26, 2012 |
| Publication date | Mar 28, 2023 |
| Grant date | Mar 28, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
considering hardware capabilities · CPC title
Network integration; Enabling network access in virtual machine instances · CPC title
Hypervisor-specific management and integration aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.