IP Library Granted Patent US 10,430,216
Granted Patent B1
US 10,430,216 · App. 13/841,748 · Granted Oct 1, 2019

Virtual machine automated selection

Inventor: Scott Loughmiller (San Francisco, CA)
Assignee: Scale Computing Inc
G06F9/45533
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,430,216
App. No.
13/841,748
Granted
Oct 1, 2019
Kind
B1
Abstract

Assigning virtual machines to physical devices in a cluster, without need for substantial operator decision-making or intervention. An operator console, coupled to the cluster, receives information from those physical devices about resource use by virtual machines. Each physical device reports virtual machines assigned thereto, and their resource usage. The console presents information regarding resource use by virtual machines, and presents a control panel to the operator, allowing manipulation of virtual machines and physical devices: starting or stopping virtual machines, moving virtual machines, adding or removing physical devices. The operator can create a new virtual machine, or can restart a paused or stopped virtual machine. The console determines a best physical device to host the new virtual machine, assigns the new virtual machine to that selected physical device, and starts or restarts the new virtual machine on the selected physical device, without substantial operator decision-making or intervention.

Claims (56)

1. A method, including steps of

in response to status information describing ability to execute virtual machines from each one of a cluster of intercommunicating physical devices, maintaining a distributed fault tolerant file system;

wherein each of the physical devices is disposed to intermittently and autonomously directly report said status information to each other physical device;

wherein each of the physical devices is disposed to maintain a separate hypervisor manager, each separate hypervisor manager being disposed to control virtual machines to cause a first one of those virtual machines to communicate with one or more second virtual machines both on the same physical device and on each other physical device;

wherein each of the physical devices is disposed to maintain a separate set of storage units, and is disposed to access storage blocks both on the same physical device and on each other physical device, wherein the physical devices are disposed to collectively maintain each storage block on at least a first storage unit at a first physical device, and on at least a separate second storage unit at a separate second physical device;

wherein the physical devices are collectively disposed to continuously maintain a unified pool of storage blocks providing fault tolerance against data loss, wherein each first physical device accesses storage blocks maintained in the unified pool at a separate second physical device directly by a private network switch accessible only to the cluster of intercommunicating physical devices without intermediate operation of a separate processor; and

in response to a control signal from an operator with respect to a new virtual machine, operating a console coupled to said cluster to select from the cluster a particular physical device to host said new virtual machine, to assign said new virtual machine to said particular physical device, and to start said new virtual machine on said particular physical device without substantial operator decision-making or intervention.

2. A method as in claim 1 , wherein

said new virtual machine includes one or more of: a restarted virtual machine, a transferred virtual machine.

3. A method as in claim 1 , wherein

said resources include one or more of:

an amount of physical memory assigned to each of those virtual machines;

an amount of processing power assigned to each of those virtual machines;

an amount of network access assigned to each of those virtual machines.

4. A method as in claim 1 , including steps of

directly exchanging one or more storage blocks from a first physical device to a second physical device, wherein the storage blocks are directly accessible by the first physical device and the second physical device without intermediate operation of a separate device.

5. A method as in claim 1 , wherein

said new virtual machine comprises a restarted virtual machine that had been stopped.

6. Apparatus including

a cluster of intercommunicating physical devices maintaining a distributed fault tolerant file system, each of the physical devices disposed to send status information describing that physical device's ability to execute virtual machines;

wherein each of the physical devices is disposed to intermittently and autonomously directly report said status information to each other physical device;

wherein each of the physical devices includes a separate hypervisor manager, each separate hypervisor manager being disposed to control virtual machines to cause a first one of those virtual machines to communicate with one or more second virtual machines both on the same physical device and on each other physical device;

wherein each of the physical devices includes a separate set of storage units, and is disposed to access storage blocks both on the same physical device and on each other physical device, wherein the physical devices are disposed to collectively maintain each storage block on at least a first storage unit at a first physical device, and on at least a separate second storage unit at a separate second physical device;

wherein the distributed fault tolerant file system collectively includes a unified pool of storage blocks providing fault tolerance against data loss, wherein each first physical device is disposed to access storage blocks maintained in the unified pool at a separate second physical device directly by a private network switch accessible only to the cluster of intercommunicating physical devices without intermediate operation of a separate processor, to receive said status information from each other one of said physical devices; and

an operator console coupled to said cluster, said operator console including instructions interpretable by a computing device, said instructions being interpretable by said computing device

to select from the cluster, a particular physical device to host a new virtual machine,

to assign said new virtual machine to said particular physical device, and

to start said new virtual machine on said particular physical device without substantial operator decision-making or intervention.

7. Apparatus as in claim 6 , wherein

said new virtual machine includes one or more of: a restarted virtual machine, a transferred virtual machine.

8. Apparatus as in claim 6 , wherein

said resources include one or more of:

an amount of physical memory assigned to each of those virtual machines;

an amount of processing power assigned to each of those virtual machines; an amount of network access assigned to each of those virtual machines.

9. Apparatus as in claim 6 , including

an interconnect between a plurality of the physical devices,

wherein a first particular physical device can exchange one or more storage blocks with a second particular physical device,

wherein the storage blocks are directly accessible by the first physical device and the second physical device without intermediate operation of a separate device.

10. Apparatus as in claim 6 , wherein

said new virtual machine comprises a restarted virtual machine that had been stopped.

11. A method, including steps of

among a cluster of intercommunicating physical devices maintaining a distributed fault tolerant file system,

wherein each of the physical devices is disposed to maintain a separate set of storage units, and is disposed to access storage blocks both on the same physical device and on each other physical device, wherein the physical devices are disposed to collectively maintain each storage block on at least a first storage unit at a first physical device, and on at least a separate second storage unit at a separate second physical device;

wherein the physical devices are collectively disposed to continuously maintain a unified pool of storage blocks providing fault tolerance against data loss, wherein each first physical device accesses storage blocks maintained in the unified pool at a separate second physical device directly by a private network switch accessible only to the cluster of intercommunicating physical devices without intermediate operation of a separate processor;

wherein each of the physical devices is disposed to, at least at some times intermittently, and at least for some of the physical devices autonomously, each first one of the devices both sending and receiving said status information directly to a second one of devices to each other physical device;

wherein each of the physical devices is disposed to maintain a separate hypervisor manager, each separate hypervisor manager being disposed to control virtual machines to cause a first one of those virtual machines to communicate with one or more second virtual machines both on the same physical device and on each other physical device;

in response to a control signal from an operator with respect to a new virtual machine, operating a console coupled to said cluster to select from the cluster, a particular physical device to host said new virtual machine, to assign said new virtual machine to said particular physical device, and to start said new virtual machine on said particular physical device without substantial operator decision-making or intervention;

presenting to the operator with respect to the new virtual machine, a display on the console coupled to the cluster, the display indicating to which physical device the new virtual machine has been assigned.

12. A method Apparatus as in claim 11 , wherein

the display indicates one or more of: a location of a restarted virtual machine, removal of a transferred virtual machine from a first location and addition of the transferred virtual machine to a second location.

13. A method Apparatus as in claim 11 , wherein

said display indicates one or more of: a set of virtual machines assigned to physical devices by the physical devices in the cluster, in response to a request from an operator to rebalance those virtual machines.

14. A method as in claim 11 , including steps of

directly exchanging one or more storage blocks from a first physical device to a second physical device, wherein the storage blocks are directly accessible by the first physical device and the second physical device without intermediate operation of a separate device.

15. A method as in claim 11 , wherein

said new virtual machine comprises a restarted virtual machine that had been stopped.

Assignments (16)
SECURITY INTEREST Recorded Jan 29, 2026
From: SCALE COMPUTING, LLC
To: TORONTO DOMINION (TEXAS) LLC
Reel/Frame 073633/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2025
From: SCALE COMPUTING, LLC
To: SCALE COMPUTING, INC.
Reel/Frame 072864/0595 →
CHANGE OF NAME Recorded Aug 28, 2025
From: ACUMERA SCALE, LLC
To: SCALE COMPUTING, LLC
Reel/Frame 072699/0326 →
MERGER Recorded Aug 15, 2025
From: SCALE COMPUTING, INC.
To: ACUMERA SCALE, LLC
Reel/Frame 072034/0883 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2025
From: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES LLC AS AGENT
To: SCALE COMPUTING, INC.
Reel/Frame 071901/0365 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2025
From: BANC OF CALIFORNIA (FORMERLY KNOWN AS PACIFIC WESTERN BANK)
To: SCALE COMPUTING, INC.
Reel/Frame 071898/0667 →
SECURITY INTEREST Recorded Oct 13, 2023
From: SCALE COMPUTING, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 065213/0109 →
RELEASE OF SECURITY INTEREST Recorded Feb 6, 2023
From: AVENUE VENTURE OPPORTUNITIES FUND, L.P.
To: SCALE COMPUTING, INC.
Reel/Frame 062603/0565 →
SECURITY INTEREST Recorded Feb 3, 2023
From: SCALE COMPUTING, INC.
To: NORTH HAVEN EXPANSION CREDIT II LP
Reel/Frame 062586/0059 →
SECURITY INTEREST Recorded Dec 11, 2020
From: SCALE COMPUTING, INC.
To: AVENUE VENTURE OPPORTUNITIES FUND, L.P.
Reel/Frame 054619/0825 →
RELEASE OF SECURITY INTEREST Recorded Dec 11, 2020
From: RUNWAY GROWTH CREDIT FUND INC.
To: SCALE COMPUTING, INC.
Reel/Frame 054619/0802 →
RELEASE OF SECURITY INTEREST Recorded Dec 10, 2020
From: RUNWAY GROWTH CREDIT FUND INC., AS AGENT
To: SCALE COMPUTING, INC.
Reel/Frame 054611/0589 →
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: BET ASSOCIATES III, LLC
To: SCALE COMPUTING, INC.
Reel/Frame 048747/0302 →
SECURITY INTEREST Recorded Mar 29, 2019
From: SCALE COMPUTING, INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 048745/0653 →
SECURITY AGREEMENT Recorded Sep 12, 2017
From: SCALE COMPUTING, INC.
To: BET ASSOCIATES III, LLC
Reel/Frame 043820/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2013
From: LOUGHMILLER, SCOTT
To: SCALE COMPUTING
Reel/Frame 031071/0936 →
Continuity (1)
Provisional Application 61692666 · Aug 23, 2012
Cited By (2)
US 12,242,880 US 12,417,111