Minimizing interaction costs among components of computer programs
First Claim
1. A method for minimizing total cost of interaction among of components of a computer program, each of the components being characterized by one or more data representation properties, structure, the method comprising steps of:
- a) carrying out at least a partial run of the program;
b) monitoring the at least partial run of the program to capture information on interaction between each pair of components, wherein the information on interaction comprises information relating to an explicit request from one component of the pair to the other component of the pair for some data, and wherein the monitoring comprises recording a source component, a destination component, and an amount of data;
c) determining a cost of interaction between each pair of interacting components;
d) determining a set of interrelated choices of the data representation properties of each of the components of at least one group of components which minimizes total cost of the at least partial run;
e) assigning the set of interrelated choices of the properties to the components for a subsequent at least partial run of the program; and
wherein the data representation properties comprise a choice of string representation of a component, and the amount of interaction measured in step (b) comprises a frequency of interaction between each pair of interacting components;
the cost of interaction comprising a function of the frequency and a cost of converting any differing string representations of the pair to a common string representation.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for minimizing total cost of interaction among components of a computer program which are each characterized by at least one implementation property. A implementation property may, for example, be a choice of string representation (e.g. ASCII, UNICODE, EBCDIC or choice of data structure (e.g. hash, tree, compressed). The method comprises the steps of: carrying out a run of the program; monitoring that run to measure an amount of interaction between each pair of components; determining a cost of interaction between each pair of interacting components; determining a choice of implementation properties which minimizes total cost of the run; and assigning choices of implementation properties to said components for a future run of the program.
25 Citations
14 Claims
-
1. A method for minimizing total cost of interaction among of components of a computer program, each of the components being characterized by one or more data representation properties, structure, the method comprising steps of:
-
a) carrying out at least a partial run of the program; b) monitoring the at least partial run of the program to capture information on interaction between each pair of components, wherein the information on interaction comprises information relating to an explicit request from one component of the pair to the other component of the pair for some data, and wherein the monitoring comprises recording a source component, a destination component, and an amount of data; c) determining a cost of interaction between each pair of interacting components; d) determining a set of interrelated choices of the data representation properties of each of the components of at least one group of components which minimizes total cost of the at least partial run; e) assigning the set of interrelated choices of the properties to the components for a subsequent at least partial run of the program; and wherein the data representation properties comprise a choice of string representation of a component, and the amount of interaction measured in step (b) comprises a frequency of interaction between each pair of interacting components;
the cost of interaction comprising a function of the frequency and a cost of converting any differing string representations of the pair to a common string representation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer readable storage medium including computer instructions for carrying out a method for minimizing total cost of interaction among components, each of the components being characterized by one or more data representation properties of a computer program running on a computer system, the medium comprising instructions for:
-
a) carrying out at least a partial run of the program; b) monitoring the at least partial run of the program to measure an amount of interaction between each pair of components, wherein an interaction comprises an explicit request from one component of the pair to the other component of the pair for some data, and wherein monitoring comprises recording-a source component, a destination component and an amount of data; c) determining a cost of interaction between each pair of interacting components; d) determining a set of interrelated choices of the data representation properties of each of the components of at least one group of components which minimizes total cost of the at least partial run; e) assigning the set of interrelated choices of the properties to the components for a subsequent at least partial run of the program; and wherein the data representation property comprising a choice of string representation of a component, the amount of interaction measured in instruction (b) comprising a frequency of interaction between each pair of interacting components;
the cost of interaction comprising a function of the frequency and a cost of converting any differing string representations of the pair to a common string representation. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification