IP Library Granted Patent US 7,693,983
Granted Patent B1
US 7,693,983 · App. 11/139,230 · Granted Apr 6, 2010

System and method providing application redeployment mappings using filtered resource usage data

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 7,693,983
App. No.
11/139,230
Granted
Apr 6, 2010
Kind
B1
Abstract

A system for providing application redeployment mappings using filtered resource usage data includes a meter agent and an optimizer. The meter agent may be configured to collect measurements quantifying usage of one or more source resources by one or more applications. In response to a specification of a set of constraints associated with a deployment of one or more applications to a target execution environment, the optimizer may be configured to obtain a filtered aggregation of the measurements collected by the meter agent, and use the filtered aggregation to generate a mapping of at least one application to one or more target resources of the target execution environment in accordance with the set of constraints. The optimizer may implement a mathematical model to generate the mapping based on a determination of an optimum value of an objective function.

Claims (45)

1. A system comprising:

one or more processors; and

memory storing program instructions:

wherein the program instructions are executable by the one or more processors to:

collect measurements quantifying utilization of one or more source resources by one or more applications during execution of the one or more applications in a source execution environment, wherein the measurements include first measurements quantifying utilization of one or more physical hardware source resources of the source execution environment;

obtain an aggregation of the collected measurements;

receive information specifying a set of constraints to be satisfied during execution of the one or more applications in a target execution environment, wherein the set of constraints includes one or more constraints on utilization of one or more physical hardware target resources of the target execution environment;

use the aggregation of the measurements to automatically determine a first mapping that satisfies the set of constraints and maps the one or more applications to one or more target resources of the target execution environment in response to a request by a human administrator for the first mapping to be determined, wherein the one or more target resources include the one or more physical hardware target resources, wherein determining the first mapping comprises using the first measurements quantifying the utilization of the one or more physical hardware source resources of the source execution environment to verify that the one or more constraints on the utilization of the one or more physical hardware target resources are satisfied;

store information specifying the first mapping, wherein the first mapping indicates how the one or more applications should be mapped to the one or more target resources in a subsequent redeployment of the one or more applications from the source execution environment to the target execution environment by the human administrator; and

generate additional mappings of the one or more applications to the one or more target resources, and to provide a ranking of the first mapping and the additional mappings based on a specified criterion.

2. The system as recited in claim 1 , wherein determining the first mapping comprises using a mathematical programming model to generate the first mapping based on a determination of an optimum value for a specified objective function.

3. The system as recited in claim 2 , wherein the mathematical programming model is an integer programming model.

4. The system as recited in claim 1 , wherein the program instructions are further executable by the one or more processors to provide a sensitivity analysis of the first mapping to one or more parameters.

5. The system as recited in claim 1 , wherein the program instructions are further executable by the one or more processors to automatically identify one or more outlying data points in the aggregation and disregard the one or more outlying data points in generating the first mapping.

6. The system as recited in claim 1 , wherein the set of constraints includes an isolation constraint indicative of a requirement that at most a specified subset of the one or more applications be mapped to a particular target resource of the target execution environment.

7. The system as recited in claim 1 , wherein the one or more source resources include a software license.

8. A method, comprising:

using one or more computing devices to implement:

collecting measurements quantifying utilization of one or more source resources by one or more applications during execution of the one or more applications in a source execution environment, wherein the measurements include first measurements quantifying utilization of one or more physical hardware source resources of the source execution environment;

receiving information specifying a set of constraints to be satisfied during execution of the one or more applications in a target execution environment, wherein the set of constraints includes one or more constraints on utilization of one or more physical hardware target resources of the target execution environment;

obtaining an aggregation of the measurements;

using the aggregation of the measurements to automatically determine a first mapping that satisfies the set of constraints and maps the one or more applications to one or more target resources of the target execution environment in response to a request by a human administrator for the first mapping to be determined, wherein the one or more target resources include the one or more physical hardware target resources, wherein determining the first mapping comprises using the first measurements quantifying the utilization of the one or more physical hardware source resources of the source execution environment to verify that the one or more constraints on the utilization of the one or more physical hardware target resources are satisfied;

storing information specifying the first mapping, wherein the first mapping indicates how the one or more applications should be mapped to the one or more target resources in a subsequent redeployment of the one or more applications from the source execution environment to the target execution environment by the human administrator; and

generating additional mappings of the one or more applications to the one or more target resources, and to provide a ranking of the first mapping and the additional mappings based on a specified criterion.

9. The method as recited in claim 8 , further comprising:

implementing a mathematical programming model to generate the first mapping based on a determination of an optimum value for a specified objective function.

10. The method as recited in claim 9 , wherein the linear programming model is an integer programming model.

11. The method as recited in claim 8 , further comprising:

providing a sensitivity analysis of the first mapping to one or more parameters.

12. The method as recited in claim 8 , wherein the set of constraints includes an isolation constraint indicative of a requirement that at most a specified subset of the one or more applications be mapped to a particular target resource of the target execution environment.

13. The method as recited in claim 8 , wherein the one or more source resources include a software license.

14. A computer readable storage medium storing program instructions, wherein the instructions are executable to:

collect measurements quantifying utilization of one or more source resources by one or more applications during execution of the one or more applications in a source execution environment, wherein the measurements include first measurements quantifying utilization of one or more physical hardware source resources of the source execution environment;

receive information specifying a set of constraints to be satisfied during execution of the one or more applications in a target execution environment, wherein the set of constraints includes one or more constraints on utilization of one or more physical hardware target resources of the target execution environment;

obtain an aggregation of the measurements;

use the aggregation of the measurements to automatically determine a first mapping that satisfies the set of constraints and maps the one or more applications to one or more target resources of the target execution environment in response to a request by a human administrator for the first mapping to be determined, wherein the one or more target resources include the one or more physical hardware target resources, wherein determining the first mapping comprises using the first measurements quantifying the utilization of the one or more physical hardware source resources of the source execution environment to verify that the one or more constraints on the utilization of the one or more physical hardware target resources are satisfied;

store information specifying the first mapping, wherein the first mapping indicates how the one or more applications should be mapped to the one or more target resources in a subsequent redeployment of the one or more applications from the source execution environment to the target execution environment by the human administrator; and

generate additional mappings of the one or more applications to the one or more target resources, and to provide a ranking of the first mapping and the additional mappings based on a specified criterion.

15. The computer readable storage medium as recited in claim 14 , wherein the instructions are further executable to:

implement a mathematical programming model to generate the first mapping based on a determination of an optimum value for a specified objective function.

16. The computer readable storage medium as recited in claim 15 , wherein the mathematical programming model is an integer programming model.

17. The computer readable storage medium as recited in claim 14 , wherein the instructions are further executable to:

provide a sensitivity analysis of the first mapping to one or more parameters.

18. The computer readable storage medium as recited in claim 14 , wherein the set of constraints includes an isolation constraint indicative of a requirement that at most a specified subset of the one or more applications be mapped to a particular target resource of the target execution environment.

19. The computer readable storage medium as recited in claim 14 , wherein the one or more source resources include a software license.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2005
From: GUPTA, CHARU; MARTYN, CRAIG
To: VERITAS OPERATING CORPORATION
Reel/Frame 016614/0290 →