System and method providing virtual applications architecture
First Claim
Patent Images
1. A system that manages a plurality of members, comprising:
- a memory;
at least one processor;
a virtual applications manager that defines a plurality of resources required to execute at least one application, resources including at least data, registry settings, and executables required to deploy and execute the at least one application on a member computer;
a topology manager that manages the plurality of resources by scaling and propagating the plurality of resources across the plurality of members such that the at least one application runs on the plurality of members, scaling dynamically enables and disables members currently running the application as a function of a current demand load on the application, the topology manager providing a view of overall system performance based on an aggregation of individual member performances, aggregation including at least averaging the CPU utilizations of the individual members to provide an overall CPU utilization, wherein the topology manager determines when one or more deployed resources do not correlate with the plurality of resources defined by the virtual applications manager, and synchronizes the plurality of members with the defined resources when a disagreement is discovered;
a means for sending a first list to the plurality of members indicating the plurality of resources currently defined in the manifest;
a means for receiving an action list from the plurality of members indicating updates required to effect correlation between the deployed resources and the resources defined in the manifest, the required updates determined based on a comparison of the deployed resources with the first list; and
a means for sending an update list to the plurality of members providing the required updates indicated in the action list.
2 Assignments
0 Petitions
Accused Products
Abstract
A virtual applications architecture is provided according to the present invention. The architecture includes a topology manager for managing applications across a plurality of members, and a virtual applications manager for defining a plurality of resources comprising the applications. The topology manager communicates with the plurality of members to initiate scaling of the applications associated with the virtual applications manager to the members. The architecture may also include a replication system for deploying the applications to the members.
-
Citations
19 Claims
-
1. A system that manages a plurality of members, comprising:
-
a memory; at least one processor; a virtual applications manager that defines a plurality of resources required to execute at least one application, resources including at least data, registry settings, and executables required to deploy and execute the at least one application on a member computer; a topology manager that manages the plurality of resources by scaling and propagating the plurality of resources across the plurality of members such that the at least one application runs on the plurality of members, scaling dynamically enables and disables members currently running the application as a function of a current demand load on the application, the topology manager providing a view of overall system performance based on an aggregation of individual member performances, aggregation including at least averaging the CPU utilizations of the individual members to provide an overall CPU utilization, wherein the topology manager determines when one or more deployed resources do not correlate with the plurality of resources defined by the virtual applications manager, and synchronizes the plurality of members with the defined resources when a disagreement is discovered; a means for sending a first list to the plurality of members indicating the plurality of resources currently defined in the manifest; a means for receiving an action list from the plurality of members indicating updates required to effect correlation between the deployed resources and the resources defined in the manifest, the required updates determined based on a comparison of the deployed resources with the first list; and a means for sending an update list to the plurality of members providing the required updates indicated in the action list. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage medium storing computer-executable instructions that, when executed on one or more processors, implements a virtual applications architecture, comprising:
-
means for managing applications across a plurality of member computing devices by scaling and miming the applications across the plurality of members, scaling facilitating dynamic addition and removal of members as a function of current load on the applications; means for defining a plurality of resources comprising the applications in a manifest associated with the applications, the resources including at least data, registry settings, and executables required to run the applications on a member computing device; means for deploying the plurality of resources to the plurality of members to facilitate running the applications across the plurality of members; means for communicating with the plurality of members to determine whether the applications have been deployed to the members; means for providing a view of overall system performance based on an aggregation of individual member performances with respect to the application, aggregation including at least averaging the CPU utilizations of the individual members to provide an overall CPU utilization and determining an aggregated disk capacity of the members taken as a whole; means for monitoring overall performance of the application based on the aggregate of individual member performances; means for applying at least one rule threshold against the aggregate of individual member performances; means for providing at least one of performance management or failure management given the overall performance and the rule threshold; a means for sending a first list to the plurality of members indicating the plurality of resources currently defined in the manifest; a means for receiving an action list from the plurality of members indicating updates required to effect correlation between the deployed resources and the resources defined in the manifest, the required updates determined based on a comparison of the deployed resources with the first list; and a means for sending an update list to the plurality of members providing the required updates indicated in the action list. - View Dependent Claims (9, 10, 11)
-
-
12. A computer-implemented method for providing a virtual applications architecture, comprising:
-
managing applications across a plurality of member computing devices by scaling the applications across the plurality of members, scaling facilitating dynamic addition and removal of members running the application as a function of current demand load on the applications; defining a plurality of resources comprising the applications in a manifest associated with the applications, the plurality of resources including at least data, registry settings, and executables required to deploy and execute the at least one application on a member computing device; deploying the plurality of resources to the plurality of members to facilitate running the applications across the plurality of members; communicating with the plurality of members to determine whether the applications have been deployed to the members; synchronizing the members with the resources defined in the manifest when at least one member is determined to disagree with the defined resources; dynamically viewing and managing a subset of the deployed resources as one entity and as individual resources, the subset comprising at least two of the plurality of resources; monitoring overall performance of the applications based on an aggregate of individual member performances, the aggregate including at least an average CPU utilization of the individual members; and providing performance management given the overall performance; sending a first list to the plurality of members indicating the plurality of resources currently defined in the manifest; receiving an action list from the plurality of members indicating updates required to effect correlation between the deployed resources and the resources defined in the manifest, the required updates determined based on a comparison of the deployed resources with the first list; and sending an update list to the plurality of members providing the required updates indicated in the action list. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification