Method and apparatus for recording and managing data object relatonship data
First Claim
1. A method of discovering relationships among objects in a stored information system, comprising:
- searching for dependencies between the objects; and
storing the identified dependencies.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention relates to a method and apparatus for recording and maintaining stored information system object relationship information. Information contained within a stored information system (including system catalogs, referential constraints, triggers, table hierarchies, column references, indexes, stored program packages, system catalogs, stored procedures, stored queries, log/trace files of dynamically executed code, etc.) are searched to identify dependency relationships between objects. This object relationship information is stored and maintained in an information base. Information within the information based may be organized based upon subsets of objects that support a common application, service, or capability. Object relationship data is used to facilitate stored information system administration activities such as generating/restoring from archives, physically/logically segmenting data objects, replicating data objects; optimizing the distribution of data in distributed data system; and estimating operational capacity.
101 Citations
96 Claims
-
1. A method of discovering relationships among objects in a stored information system, comprising:
-
searching for dependencies between the objects; and
storing the identified dependencies.
-
-
2. The method of 1, wherein searching for dependencies between objects comprises searching data table information.
-
3. The method of 1, wherein searching for dependencies between objects comprises searching SQL query syntax.
-
4. The method of 1, wherein searching for dependencies between objects comprises searching log files.
-
5. The method of 1, wherein searching for dependencies between objects comprises searching trace files.
-
6. The method of 1, wherein searching for dependencies between objects comprises searching application code.
-
7. The method of 1, wherein searching for dependencies between objects comprises searching application package code.
-
8. The method of 7, wherein said application package code includes compiled code.
-
9. The method of 7, wherein said application package code includes code compiled for execution by a database engine.
-
10. The method of 7, wherein said application package code includes one or more of:
- pre-generated code;
specifically compiled code;
expanded macros;
a control block;
an array;
a data block;
a pre-chained data area;
a pre-generated call to a routine;
substitution code; and
a reused data structure.
- pre-generated code;
-
11. The method of 1, wherein searching for dependencies between objects comprises searching stored procedure code.
-
12. The method of 1, wherein searching for dependencies between objects comprises searching referential integrity constraints.
-
13. The method of 1, wherein searching for dependencies between objects comprises searching trigger definitions.
-
14. The method of 1, wherein searching for dependencies between objects comprises searching data hierarchy relationships.
-
15. The method of 1, wherein searching for dependencies between objects comprises searching data table column references.
-
16. The method of 1, wherein searching for dependencies between objects comprises tracing application execution.
-
17. The method of 1, wherein searching for dependencies between objects comprises tracing database execution.
-
18. The method of 1, wherein searching for dependencies between objects comprises tracing stored procedure execution.
-
19. The method of 1, wherein searching for dependencies between objects comprises tracing application package execution.
-
20. The method of 1, wherein searching for dependencies between objects comprises recording dependencies manually defined via a user interface.
-
21. The method of 20, wherein the manually defined dependencies include dependencies relating to relationships that cannot be discovered from information within the stored information system.
-
22. The method of 1, wherein searching for dependencies between objects comprises receiving data object dependency information via a file interface.
-
23. The method of 1, wherein discovering relationships among objects further comprises receiving and processing search instructions for said searching.
-
24. The method of 23, wherein said search instructions include a starting object for said searching.
-
25. The method of 24, wherein said starting object includes one of a table and a package.
-
26. The method of 23, wherein said instructions include a designation of an object for which dependencies are excluded from said search.
-
27. The method of 26, wherein said designation of an object includes one of a table and a package.
-
28. The method of 23, wherein said search instructions include a plurality of objects between which a relationship exists.
-
29. The method of 23, wherein said search instructions include a plurality of tables between which a relationship exists.
-
30. The method of 1, wherein storing identified dependencies further comprises storing information related to subsets of objects.
-
31. The method of 30, wherein storing information related to subsets of objects comprises storing relationships between objects that are used by an application in common with said objects.
-
32. The method of 1, further comprising managing objects based upon the stored dependencies.
-
33. The method of 32, wherein managing objects includes performing administrative procedures based upon the stored dependencies.
-
34. The method of 33, wherein administrative procedures are performed upon a subset of objects, based upon the stored dependencies.
-
35. The method of 34, wherein the subset of objects are used by an application in common with the subset of objects.
-
36. The method of 34, wherein the stored dependencies include manually defined dependencies relating to relationships that cannot be discovered from information within the stored information system.
-
37. The method of 32, wherein managing objects includes creating a backup archive.
-
38. The method of 32, wherein managing objects includes restoring from an archive.
-
39. The method of 32, wherein managing objects includes at least one of:
- allocating table space, physically segmenting data objects;
logically segmenting data objects;
replicating data objects;
optimizing the distribution of data in a distributed data system; and
estimating operational capacity.
- allocating table space, physically segmenting data objects;
-
40. The method of 1, wherein the objects are tables.
-
41. The method of 1, wherein the stored information system is a database.
-
42. A computer program embodied on a computer readable medium for discovering relationships among objects in a stored information system, comprising:
-
program instructions for searching for dependencies between the objects; and
program instructions for storing the identified dependencies.
-
-
43. The computer program of 42, further comprising program instructions for receiving and processing search instructions for said searching.
-
44. The computer program of 42, wherein program instructions for storing identified dependencies includes program instructions for storing information related to subsets of objects.
-
45. The computer program of 42, further comprising program instructions for managing objects based upon the stored dependencies.
-
46. The computer program of 45, wherein managing objects includes creating a backup archive.
-
47. The computer program of 45, wherein managing objects includes restoring from an archive.
-
48. An apparatus for discovering relationships among objects in a stored information system, comprising:
-
a search module configured to search for dependencies between the objects; and
a storage management module configured to store information concerning dependencies located by the search module.
-
-
49. The apparatus of 48, wherein searching for dependencies between objects comprises searching data table information.
-
50. The apparatus of 48, wherein searching for dependencies between objects comprises searching SQL query syntax.
-
51. The apparatus of 48, wherein searching for dependencies between objects comprises searching log files.
-
52. The apparatus of 48, wherein searching for dependencies between objects comprises searching trace files.
-
53. The apparatus of 48, wherein searching for dependencies between objects comprises searching application code.
-
54. The apparatus of 48, wherein searching for dependencies between objects comprises searching application package code.
-
55. The apparatus of 54, wherein said application package code includes compiled code.
-
56. The apparatus of 54, wherein said application package code includes code compiled for execution by a database engine.
-
57. The apparatus of 54, wherein said application package code comprises one or more of:
- pre-generated code;
specifically compiled code;
expanded macros;
a control block;
an array;
a data block;
a pre-chained data area;
a pre-generated call to a routine;
substitution code; and
a reused data structure.
- pre-generated code;
-
58. The apparatus of 48, wherein searching for dependencies between objects comprises searching stored procedure code.
-
59. The apparatus of 48, wherein searching for dependencies between objects comprises searching referential integrity constraints.
-
60. The apparatus of 48, wherein searching for dependencies between objects comprises searching trigger definitions.
-
61. The apparatus of 48, wherein searching for dependencies between objects comprises searching data hierarchy relationships.
-
62. The apparatus of 48, wherein searching for dependencies between objects comprises searching data table column references.
-
63. The apparatus of 48, wherein searching for dependencies between objects comprises tracing application execution.
-
64. The apparatus of 48, wherein searching for dependencies between objects comprises tracing database execution.
-
65. The apparatus of 48, wherein searching for dependencies between objects comprises tracing stored procedure execution.
-
66. The apparatus of 48, wherein searching for dependencies between objects comprises tracing application package execution.
-
67. The apparatus of 48, wherein searching for dependencies between objects comprises recording dependencies manually defined via a user interface.
-
68. The apparatus of 67, wherein the manually defined dependencies include dependencies relating to relationships that cannot be discovered from information within the stored information system.
-
69. The apparatus of 48, wherein searching for dependencies between objects comprises receiving data object dependency information via a file interface.
-
70. The apparatus of 48, further comprising an administration interface module configured to process instructions specified by an administrator to control the searches for dependencies and control the storage of identified dependencies.
-
71. The apparatus of 70, wherein the search module is configured to identify dependencies related to subsets of objects based upon search instructions processed by the administration interface module.
-
72. The apparatus of 71, wherein said search instructions include a starting object for said searching.
-
73. The apparatus of 72, wherein said starting object includes one of a table and a package.
-
74. The apparatus of 71, wherein said search instructions include a designation of an object for which dependencies are excluded from said search.
-
75. The apparatus of 74, wherein said designation of an object includes one of a table and a package.
-
76. The apparatus of 71, wherein said search instructions identify a plurality of objects between which a relationship exists.
-
77. The apparatus of 71, wherein said search instructions identify a plurality of tables between which a relationship exists.
-
78. The apparatus of 48, wherein the storage management module is configured to store identified dependencies related to subsets of objects based upon instructions processed by the administration interface module.
-
79. The apparatus of 78, wherein storing identified dependencies further comprises storing information related to subsets of objects.
-
80. The apparatus of 79, wherein storing information related to subsets of objects comprises storing relationships between objects that are used by an application in common with said objects.
-
81. The apparatus of 69, wherein the administration interface module is configured to export the stored dependency information.
-
82. The apparatus of 69, wherein the administration interface module is configured to process instructions to manage objects based upon the stored dependencies.
-
83. The apparatus of 82, wherein managing objects includes performing administrative procedures based upon the stored dependencies.
-
84. The apparatus of 83, wherein administrative procedures are performed upon a subset of objects, based upon the stored dependencies.
-
85. The apparatus of 84, wherein the subset of objects are used by an application in common with the subset of objects.
-
86. The apparatus of 84, wherein the stored dependencies include manually defined dependencies relating to relationships that cannot be discovered from information within the stored information system.
-
87. The apparatus of 82, wherein managing objects includes creating a backup archive.
-
88. The apparatus of 82, wherein managing objects includes restoring from an archive.
-
89. The apparatus of 82, wherein managing objects includes at least one of:
- allocating table space, physically segmenting data objects;
logically segmenting data objects;
replicating data objects;
optimizing the distribution of data in a distributed data system; and
estimating operational capacity.
- allocating table space, physically segmenting data objects;
-
90. The apparatus of 48, wherein the objects are tables.
-
91. The apparatus of 48, wherein the stored information system is a database.
-
92. An apparatus for discovering relationships among objects in a stored information system, comprising:
-
means for searching for dependencies between the objects; and
means for storing information concerning dependencies located.
-
-
93. The apparatus of 92, further comprising:
-
means for processing instructions specified by an administrator;
means for controlling the searches for dependencies; and
means for controlling the storage of located dependencies.
-
-
94. The apparatus of 93, further comprising:
means for identifying dependencies related to subsets of objects based upon instructions processed by the means for processing instructions.
-
95. The apparatus of 93, further comprising:
means for storing identified dependencies related to subsets of objects based upon instructions processed by the means for processing instructions.
-
96. The apparatus of 92, further comprising a means for exporting the stored dependency information.
Specification