Relational data base memory utilization analyzer
First Claim
1. A computer implemented method for performing relational data base memory utilization analysis for a data base having allocated memory such that memory actually utilized is determined, comprising the computer implemented steps of:
- (a) selecting a set of data base files to be analyzed;
(b) specifying a set of relations, said set of relations being a selected subset of all of the relations located within said set of data base files, for which memory utilization information is to be determined, said relations including tuples for storing data, each tuple having a size and a data activity state from the group of states including active and inactive;
(c) identifying tuples of each said relation in said set of relations in the active state and thus actually storing data; and
(d) determining the memory actually utilized for each said relation based upon said identified tuples and the size of said identified tuples such that the memory actually utilized in said specified set of relations within said selected set of data base files is determined.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus are set forth for identifying the actual population of data within computer memory utilized to support a relational data base, where memory is defined herein as being "populated" if it is both allocated and actually filled with data. By identifying data population (thereby identifying unpopulated areas of memory versus simply making a determination of memory allocation without regard to how it is being used), utilities can be designed to recover memory resources, data base management techniques can be revised to more conservatively allocate memory, etc. Accordingly, memory resources can be more efficiently used and in certain instances the cost of adding memory to enhance a system can be delayed or eliminated.
76 Citations
27 Claims
-
1. A computer implemented method for performing relational data base memory utilization analysis for a data base having allocated memory such that memory actually utilized is determined, comprising the computer implemented steps of:
-
(a) selecting a set of data base files to be analyzed; (b) specifying a set of relations, said set of relations being a selected subset of all of the relations located within said set of data base files, for which memory utilization information is to be determined, said relations including tuples for storing data, each tuple having a size and a data activity state from the group of states including active and inactive; (c) identifying tuples of each said relation in said set of relations in the active state and thus actually storing data; and (d) determining the memory actually utilized for each said relation based upon said identified tuples and the size of said identified tuples such that the memory actually utilized in said specified set of relations within said selected set of data base files is determined. - View Dependent Claims (2, 3)
-
-
4. A computer implemented method for performing relational data base memory utilization analysis for a data base having allocated memory such that memory actually utilized is determined, comprising the computer implemented steps of:
-
(a) selecting a set of data base files to be analyzed; (b) specifying a set of relations, said set of relations being a selected subset of all of the relations located within said set of data base files, for which memory utilization information is to be determined, each said relation including a plurality of tuples for storing data and each said tuple having a size and a data activity state from the group of states including active and inactive; (c) determining which of said relations in said set of relations has a data page structure having a plurality of data pages, each said data page including a status bit map indicating said data activity state of each tuple; (d) detecting the contents of said status bit map on each page of each relation having said data page structure that includes said status bit map and identifying tuples in said active state and thus actually storing data; (e) analyzing the data contained in each tuple on each page of each relation that does not have a data page structure that includes a status bit map and identifying tuples in said active state and thus actually storing data; and (f) determining the memory actually utilized for each said relation based upon said identified tuples and the size of said identified tuples such that the memory actually utilized in said specified set of relations within said selected set of data base files is determined. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
-
11. A computer implemented method for identifying the actual population of data within computer system memory utilized to support a set of relational data bases, comprising the computer implemented steps of:
-
(a) creating a list of files, wherein the set of files on said list constitute a preselected subset of said set of data bases and further wherein each file on said list contains a preselected set of relations, said preselected set of relations being a subset of all relations in said preselected subset of said set of data bases, to be analyzed, each relation including tuples for storing data, each tuple having a size and a data activity state from the group of states including active and inactive wherein said activity state indicates whether the tuple is populated with data; (b) creating a list of said preselected set of relations from each of said files of said list of files; (c) loading said list of files and said list of said preselected set of relations into a digital computer that is offline with respect to said computer system; (d) determining in said digital computer said activity state of each tuple in each relation on said list of relations, said digital computer having access to said set of files; and (e) compiling information based upon said activity state of each tuple and its size to provide an indication of actual memory usage. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer implemented method for performing memory population analysis on a relational data base, wherein the contents of said data base include a first set of relations, each relation including tuples for storing data, each said tuple having a size and a data activity sate from the ground of sates including active and inactive and each relation having an associated status bit map for indicating the data activity state of each tuple within a given relation, and a second set of relations each created utilizing a storage and access method that does not maintain an associated bit map, comprising the computer implemented steps of:
-
(a) inputting, to a digital computer having access to the contents of said data base, a first set of signals specifying the relations to be analyzed, said relations to be analyzed being a selected subset of all relations in said data base, (b) inputting, to said digital computer, a second set of signals specifying the storage and access method associated with each relation of said relations to be analyzed; (c) determining, from said second set of signals, whether a given relation being analyzed has an associated status bit map; (d) accessing the status bit map for each relation being analyzed and belonging to said first set of relations; (e) identifying tuples in the inactive data activity state in each relation being analyzed and belonging to said first set of relations, directly from the status bit map associated with each such relation; and (f) compiling information based on said identified tuples in the inactive data activity sate and the size of each said identified tuple. - View Dependent Claims (20)
-
-
21. A computer implemented method for analyzing a set of relational data bases that are stored in the memory of a set of switch modules includes in a telephone switching system, wherein said set of relational data bases comprise static protected Office Dependent (ODD) that is classified as non-redundant if required for call processing based on special features and service required by the specific lines and trunks which are assigned to a particular switch module, and redundant if stored in the memory of every switch module without regard to the nature of the lines and trunks connected, comprising the computer implemented steps of:
-
(a) entering a list of ODD files to be analyzed into a digital computer; (b) initializing a hard coded table, stored within said computer, to include a list of relations containing redundant data within said ODD files; (c) initializing a hard coded table, stored within said computer, to include a list of relations containing non-redundant data within said ODD files; (d) inputting to said digital computer, from media containing the ODD files in binary form, an ODD file to be analyzed; (e) initializing the ODD file input to said digital computer; (f) reading an access dictionary to determine head table, intermediate table and data page location information for each relation listed in the redundant and non-redundant hard coded tables, said relations listed in the redundant and non-redundant hard coded tables being a subset of all relations in said ODD files, each said relation including tuples for storing data, each said tuple having a size and a data activity state from the group of states including active and inactive wherein if said tuple is in an active state, then the tuple is populated and stores data; (g) processing each relation listed in the redundant and non-redundant hard coded tables for the ODD file input in step (d) to determine said data activity sate of each tuple in each listed relation; (h) outputting memory population information for each processed relation based on the activity state and size of each tuple; and (i) if further ODD files on said list of ODD files remain to be processed, returning to step (d) and specifying the next ODD file on said list of ODD files as the ODD file to be analyzed if any such files remain and terminating the relational data base analysis if not further ODD files remain to be processed. - View Dependent Claims (22)
-
-
23. A relational data base memory analyzer, for identifying the actual population of data within a computer system memory utilized to support a set of relational data bases, wherein said data base analyzer is provided with a list of files, an a list of preselected relations, said list of preselected relations being a subset of all relations in said files, within each file, to be analyzed, comprising:
-
(a) a digital computer which is associated with but offline with respect to said computer system; (b) means for loading said list of files and said list of said preselected relations into said digital computer, each relation including tuples for storing data, each tuple having a size and a data activity state from the group of states including active and inactive wherein said activity state indicates whether the tuple is populated with data; (c) program means for determining said data activity state of each tuple in each relation on said list of relations, said means having access to the binary version of the set of files on said list of files; (d) means for compiling data activity state for each tuple and (e) means for outputting said compiled data activity states to the computer system to provide, based upon said compiled activity states and the size of each tuple, and indication of actual memory usage.
-
-
24. Apparatus for performing memory population analysis on a relation data base, wherein each relation of the relational data base includes tuples for storing data, each tuple having a size and a data activity state from the group of states including active and inactive, said activity state indicating whether the tuple is populated with data and wherein the contents of said data base include a first set of relations each having an associated status bit map for indicating the data activity state of each tuple in the relation within a given relation, and a second set of relations each created utilizing a storage and access method that does not maintain an associated bit map, comprising:
-
(a) a digital computer having access to the contents of said data base; (b) means for inputting a first set of signals to said digital computer, wherein said first set of signals specify the relations to be analyzed, said relations to be analyzed being a selected subset of all relations in said data base, (c) means for inputting a second set of signals to said digital computer, wherein said second set of signal specify the storage and access method associated with each relation of said relations to be analyzed; (d) tuple status determination means, located within said digital computer, for (1) determining, from said second set of signals, whether a given relation being analyzed has an associated status bit map;
(2) accessing the status bit map for each relation being analyzed and belonging to said first set of relations;
(3) identifying tuples in the inactive data activity sate known as unused tuples in each relation being analyzed and belonging to said first set of relations, directly from the status bit map associated with each such relation; and
(4) compiling information based upon the identified tuples and the size of each identified tuple, said information being known as memory status information; and(e) means for outputting said memory status information from said digital computer. - View Dependent Claims (25, 26)
-
-
27. Apparatus for analyzing a set of relational data bases that are stored in the memory of a set of switch modules included in a telephone switching system, wherein said set of relational data bases comprise static protected Office Dependent Data (ODD) that is classified as non-redundant if required for call processing based on special features and services required by the specific lines and trunks which are assigned to a particular switch module, and redundant if stored in the memory of every switch module without regard to the nature of the lines and trunks connected, comprising:
-
(a) a programmable digital computer; (b) means for entering a list of ODD files to be analyzed into said digital computer; (c) means for initializing a hard coded table, stored within said computer, to include a list of relations containing redundant data within said ODD files; (d) means for initializing a hard coded table, stored within said computer, to include a list of relations containing non-redundant data within said ODD files; (e) means for inputting to said digital computer, from media containing the ODD files in binary form, an ODD file to be analyzed; (f) means for (1) initializing the ODD file input to said digital computer;
(2) reading an access dictionary to determine head table, intermediate table and data page location information for each relation listed in the redundant and non-redundant hard coded tables, said relations listed in the redundant and non-redundant hard coded tables being a subset of all relations in said ODD files, each relation including tuples for storing data, each tuple having a size and a data activity state from the group of states including active and inactive wherein said activity state indicates whether the tuple is populated with data;
(3) processing each relation listed in the redundant and non-redundant hard coded tables for the ODD file, by said means for inputting, to determine the data activity state of each tuple in each listed relation;
(4) outputting information based upon tuples in the inactive data activity state and the size of each tuple in the inactive data state known as memory population information for each processed relation; and
(5) determining if further ODD files on said list of ODD files remain to be processed, returning to step (d) and specifying the next ODD file on said list of ODD files as the ODD file to be analyzed if any such files remain and terminating the relational data base analysis if not further ODD files remain to be processed.
-
Specification