Network independent profiling of applications for automatic partitioning and distribution in a distributed computing environment
First Claim
1. A method to profile an application having plural units, wherein the plural units communicate across strongly-typed, binary-standard interfaces, and wherein a type file describes the interfaces of the plural units, the method comprising:
- generating a structural metadata description of the application from the type file, wherein the structure metadata description comprises compiled interface-level type description;
profiling the application using the structural metadata description, resulting in an application profile; and
reconfiguring the application based on the application profile, wherein the step of reconfiguring comprises;
combining the application profile with a network profile;
analyzing the combination of the application and network profiles;
generating a distribution plan; and
during execution of the application, distributing the plural units of the application in a distributed computing environment according to the distribution plan.
2 Assignments
0 Petitions
Accused Products
Abstract
An instrumentation system profiles an application using structural metadata description of the application. Units (such as COM objects) of the application have strongly-typed, binary-standard interfaces, and are profiled, for example, using an executable file and DLLs for the application. A structural metadata description of the application includes compiled, interface-level type information used to identify and measure interaction between units of the application. For example, the type information is produced by analyzing IDL information. Profiling results in an application profile that includes description of the static relationships and/or dynamic interactions between units of the application. The application profile is combined with a network profile that describes a distributed computing environment. Analysis of the result yields a distribution plan, which, for example, reduces costs associated with communication between the units. During execution, units of the application are distributed through the distributed computing environment according to the distribution plan.
-
Citations
42 Claims
-
1. A method to profile an application having plural units, wherein the plural units communicate across strongly-typed, binary-standard interfaces, and wherein a type file describes the interfaces of the plural units, the method comprising:
-
generating a structural metadata description of the application from the type file, wherein the structure metadata description comprises compiled interface-level type description; profiling the application using the structural metadata description, resulting in an application profile; and reconfiguring the application based on the application profile, wherein the step of reconfiguring comprises; combining the application profile with a network profile; analyzing the combination of the application and network profiles; generating a distribution plan; and during execution of the application, distributing the plural units of the application in a distributed computing environment according to the distribution plan. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method to profile an application for partitioning and distributing plural units of the application in a distributed computing environment, wherein the plural units communicate across strongly-typed, binary-standard interfaces, wherein a type file describes the interfaces of the plural units, and wherein the application is available for profiling only as an application binary, the method comprising:
-
generating a static interface metadata description of the application from the type file, wherein the static interface metadata description comprises type information about the interfaces of the plural units of the application; profiling the application by using the static interface metadata description on the application binary, resulting in an application profile; combining the application profile with a network profile; analyzing the combination of the application and network profiles; generating a distribution plan; and during execution of the application, distributing the plural units in the distributed computing environment according to the distribution plan. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A method to partition and distribute plural units of an application in a distributed computing environment, the method comprising:
-
reading a first set of descriptors describing the application; reading a second set of descriptors including measurements of the distributed computing environment; analyzing the first and second sets of descriptors; generating a distribution plan for the application, the distribution plan comprising information specifying a partitioning of the plural units for distribution in the distributed computing environment; executing the application; and during execution of the application, distributing the plural units in the distributed computing environment according to the distribution plan. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
Specification