IP Library Granted Patent US 9,928,092
Granted Patent B1
US 9,928,092 · App. 14/554,008 · Granted Mar 27, 2018

Resource management in a virtual machine cluster

Inventors: Aaron Pagl (San Carlos, CA); Nate Hardt (San Carlos, CA)
Assignee: Scale Computing
G06F9/45558G06F9/45533G06F2009/4557G06F2009/45579
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 9,928,092
App. No.
14/554,008
Granted
Mar 27, 2018
Kind
B1
Abstract

Managing resources in a VM cluster; allocation of resources among competing VMs. Assigning VMs to real devices, responsive to needs for resources: processor usage, disk I/O, network I/O, memory space, disk space. Assigning VMs responsive to needs for cluster activity: network response latency, QoS. Using predictive models of resource usage by VMs. Transferring VMs, improving utilization. Failing-soft onto alternative VM resources. Providing a resource buffer for collective VM resource demand. Transferring VMs to a cloud service that charges for resources.

Claims (41)

1. A method, including steps of,

in a cluster including a plurality of processors and an inter-node switch, each processor having assigned thereto a separate memory, each separate memory separately coupled to its assigned processor and to the inter-node switch, each processor capable of directly accessing memory assigned to each other processor using the inter-node switch and without using the other processor, whereby the assigned memories are shared,

whereby the plurality of processors and their assigned memories form a distributed fault-tolerant multiprocessor cluster capable of continuing operation after failure to access one of the processors or failure to access either a portion or all of one of the memories,

identifying a category of application programs into which a selected virtual machine fits, and identifying a current workplace usage associated with the distributed fault-tolerant multiprocessor cluster, to provide a preferred set of real devices on which to execute the selected virtual machine;

transferring one or more virtual machines, including the selected virtual machine, between real devices in the distributed fault-tolerant multiprocessor cluster, in response to time-changing resource requirements;

measuring use of a plurality of different resources by the selected virtual machine;

providing a model of future actual resource usage by the selected virtual machine in response to the steps of measuring, wherein the steps of identifying a category are responsive to the model of future resource usage by the selected virtual machine; and

predicting said time-changing resource requirements in response to a result of the steps of identifying a category and the current workplace usage.

2. The method of claim 1 , wherein said steps of

transferring include steps of halting a particular virtual machine;

copying contents of a real memory allocated to the particular virtual machine to one or more new real devices not already allocated to the particular virtual machine;

reallocating said real devices to said particular virtual machine;

allocating said new real devices to said particular virtual machine; and

restarting said particular virtual machine;

without knowledge by said particular virtual machine.

3. The method of claim 1 , wherein said time-changing resource requirements include one or more of:

processor usage, disk input/output (I/O), network I/O, memory space, and disk space.

4. The method of claim 1 , wherein said time-changing resource requirements include quality of service (QoS).

5. The method of claim 1 , wherein said time-changing resource requirements include one or more of:

failure of a real device; and

an increase in errors by a real device.

6. A non-transitory storage medium, including instructions interpretable by

a plurality of processors disposed in a cluster, each processor having assigned thereto a separate memory, each processor capable of directly accessing memory assigned to other processor, whereby the assigned memories are shared and each processor having direct local access to each separate memory without using the other processors, whereby the plurality of processors and their assigned memories form a distributed fault-tolerant multiprocessor cluster capable of continuing operation after failure to access one of the processors or failure to access either a portion or all of one of the memories, to:

identify a category of application programs into which a selected virtual machine fits, and identifying a current workplace usage associated with the distributed fault-tolerant multiprocessor cluster, to provide a preferred set of real devices on which to execute the selected virtual machine;

transfer one or more virtual machines, including the selected virtual machine, between real devices in the distributed fault-tolerant multiprocessor cluster, in response to time-changing resource requirements;

measure use of a plurality of different resources by the selected virtual machine;

provide a model of future actual resource usage by the selected virtual machine in response to the steps of measuring, wherein the steps of identifying a category are responsive to the model of future resource usage by the selected virtual machine; and

predict said time-changing resource requirements in response to a result of the steps of identifying a category and the current workplace usage.

7. The non-transitory storage medium of claim 6 , wherein said instructions to transfer include instructions to:

halt a particular virtual machine;

reallocate said real devices to said particular virtual machine; and

restart said particular virtual machine, including to access contents of a real memory allocated to the particular virtual machine; and

without knowledge by said particular virtual machine.

8. The non-transitory storage medium of claim 6 , wherein said time-changing resource requirements include one or more of:

processor usage, disk input/output (I/O), network I/O, memory space, and disk space.

9. The non-transitory storage medium of claim 6 , wherein said time-changing resource requirements include one or more of:

network response latency, and quality of service (QoS).

10. The non-transitory storage medium of claim 6 , wherein said time-changing resource requirements include one or more of:

failure of a real device;

an increase in errors by a real device; and

removal or replacement of a real device.

Assignments (15)
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 →
SECURITY INTEREST Recorded Mar 29, 2019
From: SCALE COMPUTING, INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 048745/0653 →
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: BET ASSOCIATES III, LLC
To: SCALE COMPUTING, INC.
Reel/Frame 048746/0597 →
SECURITY INTEREST Recorded Jun 27, 2018
From: SCALE COMPUTING, INC.
To: BET ASSOCIATES III, LLC
Reel/Frame 046212/0831 →