IP Library Granted Patent US 10,867,264
Granted Patent B2
US 10,867,264 · App. 14/529,845 · Granted Dec 15, 2020

Methods and systems for estimating lag times in a cloud computing infrastructure

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,867,264
App. No.
14/529,845
Granted
Dec 15, 2020
Kind
B2
Abstract

A method of scheduling one or more virtual machines in a cloud computing infrastructure may include identifying, by a computing device, lag time data that has been collected over a period of time and that corresponds to one or more virtual machines in a cloud computing infrastructure, computing, by the computing device, a cumulative description of the identified lag time data, identifying a target performance level, determining, by the computing device, an estimated lag time that corresponds to the target performance level, and determining, by the computing device, whether to start a new virtual machine based, at least in part, on the estimated lag time.

Claims (32)

1. A method of scheduling one or more virtual machines in a cloud computing infrastructure, the method comprising:

initiating a startup sequence by one or more virtual machines in a cloud computing infrastructure of a cloud service provider that are in communication with a job scheduler of the cloud service provider, wherein the startup sequence comprises connecting to a communication channel between the one or more virtual machines and the job scheduler and sending, by each of the one or more virtual machines, a notification to the job scheduler when it is ready to accept work;

receiving, by the job scheduler, a job request to be processed;

identifying, by the job scheduler, lag time data that has been collected over a period of time and that corresponds to one or more of the one or more virtual machines, wherein the lag time data comprises, for at least one of the one or more virtual machines, an amount of time between when a request for the at least one virtual machine is made and a time that the at least one virtual machine is ready to accept input;

computing, by the job scheduler, a cumulative depiction of the identified lag time data that comprises a cumulative lag time frequency for at least a portion of the lag time data and a cumulative percentage curve associated with the cumulative lag time frequency, wherein the cumulative percentage curve represents a percentage of a frequency distribution of the lag time data across one or more performance level intervals;

identifying a target performance level from a service level agreement, wherein the target performance level is included in one or more of the one or more performance level intervals;

using the cumulative percentage curve to determine, by the job scheduler, an estimated lag time that corresponds to the target performance level on the cumulative percentage curve, wherein the estimated lag time represents an estimated amount of time that it will take to start a new virtual machine; and

determining, by the job scheduler, whether to start the new virtual machine based, at least in part, on the estimated lag time by determining whether the estimate lag time will impact the target performance level such as to violate the service level agreement.

2. The method of claim 1 , wherein identifying the lag time data comprises identifying the lag time data from a database associated with the cloud computing infrastructure.

3. The method of claim 1 , wherein computing the cumulative depiction comprises:

computing the cumulative lag time frequency; and

computing the cumulative percentage curve.

4. The method of claim 1 , further comprising:

receiving lag time data from one or more of the at least one of the one or more virtual machines over the period of time; and

storing the lag time data in a database associated with the cloud provider infrastructure.

5. A system for scheduling one or more virtual machines in a cloud computing infrastructure, the system comprising:

a computing device associated with a cloud service provider;

one or more virtual machines in a cloud computing infrastructure of the cloud service provider that are in communication with the computing device, wherein the one or more virtual machines are configured to initiate a startup sequence by connecting to a communication channel between the one or more virtual machines and the computing device and sending a notification to the computing device when ready to accept work; and

a computer-readable storage medium in communication with the computing device, the computer-readable storage medium comprising one or more programming instructions that, when executed, cause the computing device to:

receive a job request to be processed,

identify lag time data that has been collected over a period of time and that corresponds to one or more of the one or more virtual machines, wherein the lag time data comprises, for at least one of the virtual machines, an amount of time between when a request for the at least one of the one or more virtual machine is made and a time that the at least one virtual machine is ready to accept input,

compute a cumulative depiction of the identified lag time data that comprises a cumulative lag time frequency for at least a portion of the lag time data and a cumulative percentage curve associated with the cumulative lag time frequency, wherein the cumulative percentage curve represents a percentage of a frequency distribution of the lag time data across one or more performance levels,

identify a target performance level from a service level agreement, wherein the target performance level is included in one or more of the one or more performance level intervals,

using the cumulative percentage curve to determine an estimated lag time that corresponds to the target performance level on the cumulative percentage curve, wherein the estimated lag time represents an estimated amount of time that it will take to start a new virtual machine, and

determine whether to start a new virtual machine based, at least in part, on the estimated lag time by determining whether the estimated lag time will impact the target performance level such as to violate the service level agreement.

6. The system of claim 5 , wherein the one or more programming instructions that, when executed, cause the computing device to identify the lag time data comprise one or more programming instructions that, when executed, cause the computing device to identify the lag time data from a database associated with the cloud computing infrastructure.

7. The system of claim 5 , wherein the one or more programming instructions that, when executed, cause the computing device to compute the cumulative depiction comprise one or more programming instructions that, when executed, cause the computing device to:

compute the cumulative lag time frequency; and

compute the cumulative percentage curve.

8. The system of claim 5 , wherein the computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the computing device to:

receive lag time data from one or more of the at least one of the one or more virtual machines over the period of time; and

store the lag time data in a database associated with the cloud provider infrastructure.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2025
From: XEROX CORPORATION
To: GENESEE VALLEY INNOVATIONS, LLC
Reel/Frame 073842/0479 →
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 062740/0214 Recorded May 18, 2023
From: CITIBANK, N.A., AS AGENT
To: XEROX CORPORATION
Reel/Frame 063694/0122 →
SECURITY INTEREST Recorded Nov 10, 2022
From: XEROX CORPORATION
To: CITIBANK, N.A., AS AGENT
Reel/Frame 062740/0214 →