IP Library Granted Patent US 11,102,283
Granted Patent B2
US 11,102,283 · App. 16/794,174 · Granted Aug 24, 2021

Systems and methods for cloud migration readiness

Inventors: Rick Haggart (Mountain View, CA); Rangaswamy Jagannathan (San Jose, CA); Michael Bello (Mountain View, CA); Ricardo A. Negrete (Scotts Valley, CA); Elizaveta Tavastcherna (San Jose, CA); Vitoo Suwannakinthorn (San Jose, CA)
Assignee: Virtual Instruments Worldwide, Inc.
H04L67/1008H04L43/04H04L43/065H04L67/16
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 11,102,283
App. No.
16/794,174
Granted
Aug 24, 2021
Kind
B2
Abstract

A method comprising discovering workload attributes and identify dependencies, receiving utilization performance measurements including memory utilization measurements of at least a subset of workloads, grouping workloads based on the workload attributes, the dependencies, and the utilization performance measurements into affinity groups, determining at least one representative synthetic workload for each affinity group, each representative synthetic workload including a time slice of a predetermined period of time when there are maximum performance values for any number of utilization performance measurements among virtual machines of that particular affinity group, determining at least one cloud service provider (CSP)'s cloud services based on performance of the representative synthetic workloads, and generating a report for at least one of the representative synthetic workloads, the report identifying the at least one of the representative synthetic workloads and the at least one CSP's cloud services including cloud workload cost.

Claims (48)

1. A system comprising:

at least one processor; and

memory including executable instructions that are executable by the at least one processor to:

discover a plurality of applications executing on an enterprise system based on network traffic;

discover workload attributes and identify dependencies of the plurality of applications executing on the enterprise system, the workload attributes being among compute, network, and storage elements of the enterprise system, the enterprise system including any number of networks, applications on servers, and storage devices which are on-premise;

receive utilization performance measurements including memory utilization measurements of at least a subset of workloads, each workload including the workload attributes and identified dependencies;

group workloads based on the workload attributes, the dependencies, and the utilization performance measurements into affinity groups;

determine at least one representative synthetic workload for each affinity group, each representative synthetic workload including a time slice of a predetermined period of time when there are maximum performance values for any number of utilization performance measurements among virtual machines of that particular affinity group;

determine at least one cloud service provider (CSP)'s cloud services based on performance of the representative synthetic workloads; and

generate a report for at least one of the representative synthetic workloads, the report identifying the at least one of the representative synthetic workloads and the at least one CSP's cloud services including cloud workload cost, the cloud workload cost being based on a periodic cost associated with executing the at least one of the representative synthetic workload on the at least one CSP's cloud services.

2. The system of claim 1 , wherein the utilization performance measurements include CPU utilization measurements.

3. The system of claim 1 , wherein the group workloads based on the workload attributes, the dependencies, and the utilization performance measurements into the affinity groups comprises utilizing k-means clustering to partition at least the utilization performance measurements into a number of sets so as to minimize a within-cluster sum of squares.

4. The system of claim 1 , wherein the group workloads based on the workload attributes, the dependencies, and the utilization performance measurements into the affinity groups comprises utilizing k-means clustering to partition at least the utilization performance measurements and CPU utilization measurements into a number of sets so as to minimize a within-cluster sum of squares.

5. The system of claim 1 , wherein the discover workload attributes and identify dependencies among compute, network, and storage elements of the enterprise system includes receiving on-premise network data from hardware probes within the enterprise system and determining source and destination of the on-premise network data.

6. The system of claim 1 , wherein workload characteristics includes attributes of an entity associated with the workload.

7. The system of claim 1 , wherein the executable instructions that are executable by the at least one processor to further:

determine cloud virtual machines instance needs for each of the representative synthetic workloads;

identify cloud storage disk types for each of the representative synthetic workloads based on the storage devices associated with the respective representative synthetic workload; and

for each representative synthetic workload, determine periodic cost associated with the cloud virtual machine instances and the cloud storage disk types, wherein the cloud workload cost is based, at least in part, on the periodic cost.

8. The system of claim 7 , wherein the one or more of the representative synthetic workloads is performed in the at least one CSP's cloud services to assist in determining cloud virtual machine instance needs.

9. The system of claim 4 , wherein the k-means clustering includes given a set of utilization metrics measurements (x 1 , x 2 , . . . , x n ), where each utilization metrics measurement is a d-dimensional real vector, utilizing k-means clustering to partition n utilization metrics measurement into k(≤n) sets S={S 1 , S 2 , . . . , S k } so as to minimize a within-cluster sum of squares (WCSS).

10. A computer readable medium including instructions, the instructions being executable by a processor to perform a method, the method comprising:

discovering a plurality of applications executing on an enterprise system based on network traffic;

discovering workload attributes and identify dependencies of the plurality of applications executing on the enterprise system, the workload attributes being among compute, network, and storage elements of the enterprise system, the enterprise system including any number of networks, applications on servers, and storage devices which are on-premise;

receiving utilization performance measurements including memory utilization measurements of at least a subset of workloads, each workload including the workload attributes and identified dependencies;

grouping workloads based on the workload attributes, the dependencies, and the utilization performance measurements into affinity groups;

determining at least one representative synthetic workload for each affinity group, each representative synthetic workload including a time slice of a predetermined period of time when there are maximum performance values for any number of utilization performance measurements among virtual machines of that particular affinity group;

determining at least one cloud service provider (CSP)'s cloud services based on performance of the representative synthetic workloads; and

generating a report for at least one of the representative synthetic workloads, the report identifying the at least one of the representative synthetic workloads and the at least one CSP's cloud services including cloud workload cost, the cloud workload cost being based on a periodic cost associated with executing the at least one of the representative synthetic workload on the at least one CSP's cloud services.

11. The method of claim 10 , wherein the utilization performance measurements include CPU utilization measurements.

12. The method of claim 10 , wherein grouping workloads based on the workload attributes, the dependencies, and the utilization performance measurements into the affinity groups comprises utilizing k-means clustering to partition at least the utilization performance measurements into a number of sets so as to minimize a within-cluster sum of squares.

13. The method of claim 10 , wherein the grouping workloads based on the workload attributes, the dependencies, and the utilization performance measurements into the affinity groups comprises utilizing k-means clustering to partition at least the utilization performance measurements and CPU utilization measurements into a number of sets so as to minimize a within-cluster sum of squares.

14. The method of claim 10 , wherein the discover workload attributes and identify dependencies among compute, network, and storage elements of the enterprise system includes receiving on-premise network data from hardware probes within the enterprise system and determining source and destination of the on-premise network data.

15. The method of claim 10 , wherein workload characteristics includes attributes of an entity associated with the workload.

16. The method of claim 10 , the method further comprising:

determine cloud virtual machines instance needs for each of the representative synthetic workloads;

identify cloud storage disk types for each of the representative synthetic workloads based on the storage devices associated with the respective representative synthetic workload; and

for each representative synthetic workload, determine periodic cost associated with the cloud virtual machine instances and the cloud storage disk types, wherein the cloud workload cost is based, at least in part, on the periodic cost.

17. The method of claim 16 , wherein the one or more of the representative synthetic workloads is performed in the at least one CSP's cloud services to assist in determining cloud virtual machine instance needs.

18. The method of claim 13 , wherein the k-means clustering includes given a set of utilization metrics measurements (x 1 , x 2 , . . . , x n ), where each utilization metrics measurement is a d-dimensional real vector, utilizing k-means clustering to partition n utilization metrics measurement into k(≤n) sets S={S 1 , S 2 , . . . , S k } so as to minimize a within-cluster sum of squares (WCSS).

19. A method comprising:

discovering a plurality of applications executing on an enterprise system based on network traffic;

discovering workload attributes and identify dependencies of the plurality of applications executing on the enterprise system, the workload attributes being among compute, network, and storage elements of the enterprise system, the enterprise system including any number of networks, applications on servers, and storage devices which are on-premise;

receiving utilization performance measurements including memory utilization measurements of at least a subset of workloads, each workload including the workload attributes and identified dependencies;

grouping workloads based on the workload attributes, the dependencies, and the utilization performance measurements into affinity groups;

determining at least one representative synthetic workload for each affinity group, each representative synthetic workload including a time slice of a predetermined period of time when there are maximum performance values for any number of utilization performance measurements among virtual machines of that particular affinity group;

determining at least one cloud service provider (CSP)'s cloud services based on performance of the representative synthetic workloads; and

generating a report for at least one of the representative synthetic workloads, the report identifying the at least one of the representative synthetic workloads and the at least one CSP's cloud services including cloud workload cost, the cloud workload cost being based on a periodic cost associated with executing the at least one of the representative synthetic workload on the at least one CSP's cloud services.

Assignments (3)
SECURITY INTEREST Recorded Jan 10, 2022
From: VIRTUAL INSTRUMENTS CORPORATION; VIRTUAL INSTRUMENTS WORLDWIDE, INC.; XANGATI, INC.
To: MIDTOWN MADISON MANAGEMENT LLC
Reel/Frame 058668/0268 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2021
From: VIRTUAL INSTRUMENTS CORPORATION
To: VIRTUAL INSTRUMENTS WORLDWIDE, INC.
Reel/Frame 056866/0556 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2020
From: HAGGART, RICK; JAGANNATHAN, RANGASWAMY; BELLO, MICHAEL; NEGRETE, RICARDO A.; TAVASTCHERNA, ELIZAVETA; SUWANNAKINTHORN, VITOO
To: VIRTUAL INSTRUMENTS CORPORATION
Reel/Frame 053843/0680 →
Continuity (2)
Provisional Application 62806696 · Feb 15, 2019
Related Publication 20200267216A1 · Aug 20, 2020