IP Library Granted Patent US 10,936,362
Granted Patent B2
US 10,936,362 · App. 16/511,351 · Granted Mar 2, 2021

Decentralized resource scheduling

Inventors: Swarnalatha Pasupuleti (Bangalore, IN); Sathyamurthy Dattathreya Hassan (Bangalore, IN); Gurusreekanth Chagalakondu (Bangalore, IN); Akhil Sadashiv Hingane (Pune, IN); Sivaraj M (Bangalore, IN); Jeevan Prabhu (Bangalore, IN)
Assignee: VMware, Inc.
G06F9/4856G06F9/45558G06F9/5044G06F2009/4557G06F2009/45583
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 10,936,362
App. No.
16/511,351
Granted
Mar 2, 2021
Kind
B2
Abstract

Disclosed are various embodiments for distributed resource scheduling. An eviction request from a first host is received. The eviction request comprises data regarding a virtual machine to be migrated from the first host. The eviction request is then broadcast to a plurality of hosts. A plurality of responses are received from the plurality of hosts, each response comprising a score representing an ability of a respective one of the plurality of hosts to act as a new host for the virtual machine. A second host is selected from the plurality of hosts to act as the new host for the virtual machine based at least in part on the score in each of the plurality of responses. Then, a response is sent to the first host, the response containing an identifier of the second host.

Claims (43)

1. A system, comprising:

a computing device comprising a processor and a memory;

machine-readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least:

receive an eviction request from a first host, the eviction request comprising data regarding a virtual machine to be migrated from the first host;

broadcast the eviction request to a plurality of hosts;

receive a plurality of responses from the plurality of hosts, each response comprising a score representing an ability of a respective one of the plurality of hosts to act as a new host for the virtual machine;

select a second host from the plurality of hosts to act as the new host for the virtual machine based at least in part on the score in each of the plurality of responses; and

send a response to the first host, the response containing an identifier of the second host.

2. The system of claim 1 , wherein the machine-readable instructions further cause the computing device to determine whether any of the plurality of hosts are available as the new host for the virtual machine based at least in part on the score in each of the plurality of responses.

3. The system of claim 1 , wherein the machine-readable instructions that cause the computing device to select the second host based at least in part on the score in each of the plurality of responses further comprises:

select a response in the plurality of responses that comprises the highest score; and

select a host associated with the response that comprises the highest score as the second host.

4. The system of claim 1 , wherein the eviction request is stored in a request queue stored in the memory of the computing device.

5. The system of claim 1 , wherein the data regarding the virtual machine comprises an amount of memory allocated to the virtual machine.

6. The system of claim 1 , wherein the data regarding the virtual machine comprises a central processor utilization (CPU) metric.

7. The system of claim 1 , wherein the data regarding the virtual machine comprises an amount of bandwidth consumed by the virtual machine.

8. A method, comprising

receiving an eviction request from a first host, the eviction request comprising data regarding a virtual machine to be migrated from the first host;

broadcasting the eviction request to a plurality of hosts;

receiving a plurality of responses from the plurality of hosts, each response comprising a score representing an ability of a respective one of the plurality of hosts to act as a new host for the virtual machine;

selecting a second host from the plurality of hosts to act as the new host for the virtual machine based at least in part on the score in each of the plurality of responses; and

sending a response to the first host, the response containing an identifier of the second host.

9. The method of claim 8 , further comprising determining whether any of the plurality of hosts are available as the new host for the virtual machine based at least in part on the score in each of the plurality of responses.

10. The system of claim 8 , wherein selecting the second host based at least in part on the score in each of the plurality of responses further comprises:

selecting a response in the plurality of responses that comprises the highest score; and

selecting a host associated with the response that comprises the highest score as the second host.

11. The system of claim 8 , wherein the eviction request is stored in a request queue.

12. The system of claim 8 , wherein the data regarding the virtual machine comprises an amount of memory allocated to the virtual machine.

13. The system of claim 8 , wherein the data regarding the virtual machine comprises a central processor utilization (CPU) metric.

14. The system of claim 8 , wherein the data regarding the virtual machine comprises an amount of bandwidth consumed by the virtual machine.

15. A non-transitory, computer readable medium that comprises machine-readable instructions that, when executed by a processor of a computing device, cause the computing device to at least:

receive an eviction request from a first host, the eviction request comprising data regarding a virtual machine to be migrated from the first host;

broadcast the eviction request to a plurality of hosts;

receive a plurality of responses from the plurality of hosts, each response comprising a score representing an ability of a respective one of the plurality of hosts to act as a new host for the virtual machine;

select a second host from the plurality of hosts to act as the new host for the virtual machine based at least in part on the score in each of the plurality of responses; and

send a response to the first host, the response containing an identifier of the second host.

16. The non-transitory, computer readable medium of claim 1 , wherein the machine-readable instructions further cause the computing device to determine whether any of the plurality of hosts are available as the new host for the virtual machine based at least in part on the score in each of the plurality of responses.

17. The non-transitory, computer readable medium of claim 1 , wherein the machine-readable instructions that cause the computing device to select the second host based at least in part on the score in each of the plurality of responses further comprises:

selecting a response in the plurality of responses that comprises the highest score; and

selecting a host associated with the response that comprises the highest score as the second host.

18. The non-transitory, computer readable medium of claim 1 , wherein the data regarding the virtual machine comprises an amount of memory allocated to the virtual machine.

19. The non-transitory, computer readable medium of claim 1 , wherein the data regarding the virtual machine comprises a central processor utilization (CPU) metric.

20. The non-transitory, computer readable medium of claim 1 , wherein the data regarding the virtual machine comprises an amount of bandwidth consumed by the virtual machine.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2019
From: PASUPULETI, SWARNALATHA; HASSAN, SATHYAMURTHY DATTATHREYA; CHAGALAKONDU, GURUSREEKANTH; HINGANE, AKHIL SADASHIV; M, SIVARAJ; PRABHU, JEEVAN
To: VMWARE, INC.
Reel/Frame 049885/0137 →
Continuity (1)
Related Publication 20210019176A1 · Jan 21, 2021