Object relationship management system
First Claim
Patent Images
1. A method of managing relationships between objects in a computer system the objects having a first plurality of nodes, the method comprising:
- determining a first object which is modified;
determining a first node in the first object which is modified;
determiming a second plurality of nodes related directly or transitively to the first node;
ordering the second plurality of nodes into an order; and
processing the second plurality of nodes in the order.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for maintaining relationships between entities in a computer system, each entity having a plurality nodes, includes the steps of: modifying one of the plurality of nodes; searching for a plurality of dependent nodes from the plurality of nodes coupled to the one node; ordering the plurality of dependent nodes into an order; and evaluating the plurality of dependent nodes in the order.
-
Citations
23 Claims
-
1. A method of managing relationships between objects in a computer system the objects having a first plurality of nodes, the method comprising:
-
determining a first object which is modified;
determining a first node in the first object which is modified;
determiming a second plurality of nodes related directly or transitively to the first node;
ordering the second plurality of nodes into an order; and
processing the second plurality of nodes in the order. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
wherein the second plurality of nodes comprises function nodes and value nodes, each function node having an evaluation function; - and
wherein processing the second plurality of nodes comprises;
determining value nodes associated with the function nodes; and
evaluating the evaluation functions of the function nodes.
-
-
3. The method of claim 2 wherein evaluating the evaluation functions comprises modifying the value nodes associated with the function nodes by applying the evaluation functions.
-
4. The method of claim 2,
wherein determining the value nodes associated with the functions nodes comprises: -
determining input value nodes from the second plurality of nodes, the input value nodes configured to store data which is input to the evaluation functions of the function nodes; and
determining output value nodes from the second plurality of nodes, the output value nodes configured to store data obtained from evaluating the evaluation functions; and
wherein evaluating the evaluation functions comprises modifying the output value nodes by applying the evaluation functions to the data stored in the input value nodes.
-
-
5. The method of claim 2,
wherein the function nodes and the value nodes associated with the function nodes are in a parent and child dependency relation; - and
wherein determining the value nodes associated with the function nodes comprises identifying value nodes directly or indirectly coupled to the first node as children of dependency relations.
- and
-
6. The method of claim 5 wherein ordering the second plurality of nodes comprises ordering parent value nodes before children value nodes.
-
7. The method of claim 1,
wherein the second plurality of nodes comprises predicate nodes and value nodes, each predicate nodes having value nodes associated therewith; - and
wherein processing the second plurality of nodes comprises;
identifying value nodes associated with the predicate nodes; and
solving the predicate nodes.
- and
-
8. The method of claim 7 wherein solving the predicate nodes comprises:
-
passing the predicate nodes and the associated value nodes to a solver; and
for each predicate node, modifying a value node associated with the predicate node to satisfy a predicate indicated by the predicate node.
-
-
9. The method of claim 7,
wherein the predicate nodes and the value nodes associated with the predicate nodes are in an equivalence relation; - and
identifying the value nodes associated with the predicate nodes comprises identifying value nodes directly or indirectly coupled to the first node in equivalence relations.
- and
-
10. The method of claim 1 wherein the first plurality of objects include COM objects.
-
11. The method of claim 10 wherein the nodes include interfaces provided by the COM objects.
-
12. A method of copying objects in a computer system, and for copying relationships between the objects, the method comprising:
-
receiving a first object to be copied;
determining a first plurality of objects related directly or transitively to the first object;
creating a first plurality of duplicate objects based on the first plurality of objects; and
establishing relationships between objects in the first plurality of duplicate objects based on relationships between objects in the first plurality of objects. - View Dependent Claims (13, 14)
wherein the objects comprise a plurality of nodes, and a plurality of copy semantic nodes, each of the plurality of nodes having value nodes in a parent and child dependency relation with a copy semantic node; - and
wherein determining the first plurality of objects related to the first object comprises;
identifying objects having nodes directly coupled to the first object; and
identifying objects having nodes indirectly coupled to the first object as children of a copy semantic node.
-
-
14. The method of claim 12 wherein the objects include COM objects.
-
15. A method for deleting objects from a first plurality of objects in a computer system, the method comprising:
-
receiving a first object to be deleted from the first plurality of objects;
determining a second plurality of objects related directly or transitively to the first object;
ordering the objects in the second plurality of objects based on the relationships of the objects; and
disconnecting objects in the second plurality of objects from objects in the first plurality of objects which are not included in the second plurality of objects. - View Dependent Claims (16, 17)
wherein determining the second plurality of objects comprises;
identifying objects from the first plurality of objects having nodes directly coupled the first object; and
identifying objects from the first plurality of objects having nodes indirectly coupled to the first object as children of dependency relations.
-
-
17. The method of claim 15 wherein the objects include COM objects.
-
18. A computer program product for managing relationships between objects in a computer system, the objects having a first plurality of nodes, the computer program product comprising:
-
code for determining a first object which is modified;
code for determining a first node in the first object which is modified;
code for determining a second plurality of nodes related directly or transitively to the first node;
code for ordering the second plurality of nodes into an order;
code for processing the second plurality of nodes in the order; and
a computer readable medium for storing the codes. - View Dependent Claims (19, 20)
wherein the second plurality of nodes comprises function nodes and value nodes, each function node having an evaluation function; wherein code for determining the second plurality of nodes comprises;
code for determining input value nodes from the value nodes in the second plurality of nodes, the input value nodes configured to store data which is input to the evaluation functions of the function nodes;
code for determining output value nodes from the value nodes in the second plurality of nodes, the output value nodes configured to store data obtained from evaluating the evaluation functions; and
wherein code for processing the second plurality of nodes comprises code for modifying the output value nodes by applying the evaluation functions to the data stored in the input value nodes.
-
-
20. The computer program product of claim 18 wherein the objects include COM objects.
-
21. A computer system for managing relationships between objects in a computer system, the objects having a first plurality of nodes, the system comprising:
-
a memory coupled to a bus; and
a processor coupled to the memory via the bus, the processor configured to determine a first object which is modified, to determine a first node in the first object which is modified, to determine a second plurality of nodes related directly or transitively to the first node, to order the second plurality of nodes into an order, and to process the second plurality of nodes in the order. - View Dependent Claims (22, 23)
wherein the second plurality of nodes comprises function nodes and value nodes, each function node having an evaluation function; wherein the processor is configured to determine the second plurality of nodes by determining input value nodes from the value nodes in the second plurality of nodes, the input value nodes configured to store data which is input to the evaluation functions of the function nodes, and by determining output value nodes from the value nodes in the second plurality of nodes, the output value nodes configured to store data obtained from evaluating the evaluation functions; and
wherein the processor is configured to process the second plurality of nodes by modifying the output value nodes by applying the evaluation functions to the data stored in the input value nodes.
-
-
23. The computer system of claim 21 wherein the objects include COM objects.
Specification