IP Library Granted Patent US 8,903,983
Granted Patent B2
US 8,903,983 · App. 12/395,524 · Granted Dec 2, 2014

Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network

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 8,903,983
App. No.
12/395,524
Granted
Dec 2, 2014
Kind
B2
Abstract

A method and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network managing, predicting and displaying of capacity, allocating and utilizing of resources, as well as actual and potential performance-degrading resource shortages in a computer network, is provided. Specifically, exemplary implementations of the present invention provide a method, system and apparatus for calculating, detecting, predicting, and presenting resource allocation, utilization, capacity bottlenecks and availability information, in a computer network, particularly in a virtualized computer environment.

Claims (79)

1. A method for managing utilization of resources on a computer network, the method comprising:

identifying, by a device, a virtual machine utilizing a plurality of resources shared by a plurality of virtual machines in a virtualized environment on a computer network;

obtaining, by the device, first data indicative of at least one of current and historical utilization of the resources by the virtual machine;

determining, by the device, from the first data an average utilization by the virtual machine of a resource of the plurality of resources based on a sum of usage of the resource by the virtual machine for each sub-period in a predetermined period divided by a number of subperiods;

determining, by the device, a total usage of the resource by the virtual machine for the period based on the average utilization;

creating, by the device, an extrapolation of the total usage to predict a next period at which a predetermined threshold of the resource is reached; and

generating, by the device responsive to the prediction, second data indicative of a future utilization bottleneck of the resource of the plurality of resources by the virtual machine based on the first data.

2. The method of claim 1 , further comprising:

selectively generating a notification based on at least one criteria associated with at least one of the first and second data.

3. The method of claim 2 , wherein the generating of the notification comprises providing at least one of a display via a graphical user interface, a report or an alert, wherein the notification comprises information indicative of the virtual machine and utilization of the resources associated with the virtual machine.

4. The method of claim 3 , wherein the generating of the notification comprises:

communicating of the notification to one or more recipients via at least one of the following: an internet, an extranet, a wireless connection, a cellular network, and a wired connection.

5. The method of claim 3 , where the generating of the notification comprises at least one of the following:

generating the notification based on the first data, the at least one criteria comprising a threshold associated with the first data;

generating the notification based on the second data, the at least one criteria comprising a threshold associated with the second data; and

predicting at least one of performance and utilization of the resources on the computer network and generating the notification based on the predicting.

6. The method of claim 1 , further comprising:

predicting at least one of performance and utilization of the resources on the computer network, wherein the utilization comprises at least one of information indicative of resource capacity bottlenecks, resource capacity availability or computing objects utilizing the resources.

7. The method of claim 6 , wherein each virtual machine of the plurality of virtual machines belongs to at least one of the following: a host, a cluster or a pool of resources.

8. The method of claim 6 , wherein the information indicative of the resource capacity availability comprises an indication of availability on the computer network of at least one of hosts, clusters and resource pools.

9. The method of claim 6 further comprising:

migrating computing objects from one resource to another based on the predicting.

10. The method of claim 9 , wherein the migrating comprises assigning computing objects to resources to optimize the utilization of the resources on the computer network.

11. The method of claim 9 , further comprising:

scheduling migration of computing objects from one resource to another based on the predicting, wherein the migrating of the computing objects from one resource to another is performed according to said scheduling.

12. The method of claim 1 , wherein the identifying, obtaining and generating are selectively repeated, the method further comprising selectively monitoring and evaluating the current, historical and future utilization of the resources.

13. The method of claim 1 , wherein the obtaining further comprises obtaining the first data for a first time period, and the generating comprises generating of the second data for a second time period.

14. The method of claim 13 , wherein at least one of the first and second time periods is selectable via a user interface.

15. The method of claim 14 , wherein the user interface comprises a graphic object indicative of the at least one of the first and second time period and allowing selection of the at least one of the first and second time period.

16. The method of claim 1 , wherein the resources comprise at least one of the following: a central processing unit, a memory unit, a storage unit, and an input/output unit.

17. The method of claim 1 , further comprising obtaining, by the device, statistics about use of a resource by the virtual machine within a predetermined time period, splitting the predetermined time period into sub-periods, determining a usage of the resource for each of the sub-periods and determining an average utilization of the resource over the predetermined time period based on a summation of the usage for each of the sub-periods.

18. The method of claim 17 , further comprising extrapolating, by the device, the average utilization of the resource to determine a future utilization of the resource each day up until a maximum number of days.

19. The method of claim 18 , further comprising comparing, by the device, the future utilization for each day to a plurality of predetermined thresholds and identifying predicted number of days to reach a first predetermined threshold of the plurality of predetermined thresholds.

20. A method for analyzing resource utilization in a computer network, the method comprising:

monitoring, by a device, resource utilization by a virtual machine utilizing resources shared by a plurality of virtual machines in a virtualized environment on a computer network;

generating, by the device, resource availability information of a resource used by the virtual machine based on an average usage of the resource by the virtual machine during each sub-period of a predetermined period;

generating, by the device, resource bottleneck information of the resource related to the virtual machine based on determining a total usage of the resource by the virtual machine for the predetermined period based on a sum of the average utilization during each sub period and a limit for the resource; and

generating, by the device, resource utilization trend information of the resource used by the virtual machine based on an extrapolation of the total usage to a plurality of next periods; and

determining, by the device, from the extrapolation a next period of the plurality of next periods at which a future bottleneck of use of the resource by the virtual machine is predicted to occur.

21. The method of claim 20 , wherein the virtual machine belongs to at least one of the following: a host, a cluster and a resource pool in the computer network.

22. The method of claim 20 , further comprising generating resource bottleneck information comprising one of the following: a current bottleneck of the resource or one or more historical bottlenecks of the resource.

23. The method of claim 20 , wherein the resource comprises at least one of the following: a central processing unit (CPU), memory, storage and disk input/output (I/O).

24. The method of claim 20 , wherein the bottleneck is indicative of at least one of a current resource bottleneck or a future resource bottleneck.

25. The method of claim 20 , further comprising: selectively generating a notification based on at least one criteria associated with at least one of the resource utilization, resource availability, resource bottleneck and resource utilization trend.

26. The method of claim 25 , wherein the generating of the resource bottleneck information comprises:

identifying a prediction time period for predicting potential future bottlenecks; and

generating future resource bottleneck information based on the resource utilization trend over a specified historical time period.

27. The method of claim 26 , wherein the method further comprises:

determining a confidence level of the future resource bottleneck information.

28. The method of claim 25 , wherein the at least one criteria comprises a threshold, and the generating of the notification comprises generating an alert when the resource utilization trend indicates exceeding of the threshold.

29. The method of claim 28 , wherein the at least one threshold provides at least one parameter for continuously monitoring the resource utilization trend.

30. The method of claim 25 , wherein the at least one criteria is user defined.

31. The method of claim 20 , wherein bottleneck information comprises at least one of the following: performance constraints, resource slowdown and resource overutilization in the computer network.

32. The method of claim 20 , wherein the generating of the resource availability information comprises:

generating a mapping of the at least one computing object and the at least one computing resource; and

identifying at least one available resource for the computing object.

33. The method of claim 20 further comprising:

determining utilization of resources on a computing network based on at least one of the resource utilization, availability, bottleneck and utilization trend information;

providing at least one option for modifying parameters affecting utilization of the resources; and

selectively executing the at least one option wherein the method comprises determining and outputting information comprising identification of parameters affecting the resources for virtual machines.

34. The method of claim 20 further comprising:

determining which of the resources of virtual machines are not-used and/or are under-used; and

providing a notification comprising information indicative of the not-used and/or under-used resources for at least one virtual machine, wherein parameters for assessing whether at least one of the resources is not-used or under-used are selectively set during an initialization.

35. The method of claim 20 further comprising:

receiving capacity modeling design information comprising parameters descriptive of a resource for at least one virtual machine;

obtaining constraints for analyzing the capacity modeling design information;

storing the capacity modeling design information;

presenting the capacity modeling design information; and

validating the capacity modeling design applicability for virtual machines.

36. The method of claim 35 , wherein designing a model comprises at least one of generating a new capacity model, altering and/or updating an existing capacity model and/or validating alterations to an existing capacity model.

37. The method of claim 20 , further comprising: providing user selectable objects for performing management of the resources for virtual machines, wherein the objects provide for management functions of the resources for the virtual machines.

38. A system comprising:

a computing system comprising a processor and memory, wherein the computing system is operable to manage utilization of resources shared by a plurality of virtual machines in a virtualized environment on a computer network,

the computing system executing sets of instructions comprising:

a first set of instruction for identifying a virtual machine of the plurality of virtual machines utilizing resources on a computer network;

a second set of instruction for obtaining first data indicative of current and historical utilization of the resources by the virtual machine; and

a third set of instruction for determining from the first data an average utilization by the virtual machine of a resource of the plurality of resources based on a sum of usage of the resource by the virtual machine for each sub-period in a predetermined period divided by a number of sub-periods, determining a total usage of the resource by the virtual machine for the period based on the average utilization of the virtual machine during each sub-period, and

creating an extrapolation of the total usage to predict a next period at which a predetermined threshold of the resource is reached; and

wherein the computing system generates, responsive to the prediction, second data indicative of a future utilization bottleneck of the resource of the plurality of resources by the at least one virtual machine based on the first data.

Assignments (30)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044719/0565 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
CHANGE OF NAME Recorded Aug 19, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031035/0914 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Sep 28, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, LLC)
To: QUEST SOFTWARE, INC.; AELITA SOFTWARE CORPORATION; SCRIPTLOGIC CORPORATION; VIZIONCORE, INC.; NETPRO COMPUTING, INC.
Reel/Frame 029050/0679 →
AMENDMENT NUMBER NINE TO PATENT SECURITY AGREEMENT Recorded Aug 10, 2012
From: QUEST SOFTWARE, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 028769/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2012
From: VKERNEL CORPORATION
To: QUEST SOFTWARE, INC.
Reel/Frame 028258/0042 →
NUNC PRO TUNC ASSIGNMENT Recorded Mar 18, 2011
From: BAKMAN, ALEXANDER; PANOV, SERGEY
To: VKERNEL CORPORATION
Reel/Frame 025984/0701 →