Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
371 words
A method for operating a data processing system having a processing unit and a physical storage device in which a plurality of pages of data are stored in a physical sequence wherein each page other than a last page has a sequential page which follows it, the physical storage device being operably connected to the processing unit for transferring pages of data to the processing unit, the physical storage device containing a data base table which is stored on a plurality of pages, the data base table having a plurality of rows of data and a plurality of indexes composed of a sequence of entries which reference the rows, the method comprising the steps performed by the processing unit of: (a) obtaining a data base operation command specifying search criteria; (b) selecting a plurality of indexes which correspond to the search criteria; (c) determining a degree of clustering for each selected index which is calculated by dividing the number of clustered rows referenced in the selected index by the number of rows in the data base table, clustered rows being those rows which are stored in the physical storage device in the same page or a sequential page of the physical storage device as the row referenced by the preceding entry in the index, divided by the total number of rows in the table, wherein the degree of clustering is directly proportional to the number of rows referenced by the selected index which are stored on a page of the physical storage device which is the same page on which the row referenced by the preceding index entry is stored; (d) determining, using the degree of clustering for each selected index and the search criteria, a total expected time required for transferring the pages from the physical storage device if the selected index is used to specify the order in which to transfer the pages from the physical storage device; and (e) transferring the pages containing the rows of the data base table from the physical storage device to the processing unit in the sequence specified in the selected index having the lowest total expected time from step (d), thereby obtaining the data matching the search criteria in an efficient manner.
Claim 2
Independent Claim
371 words
A method for operating a data processing system having a processing unit and a physical storage device in which a plurality of pages of data are stored in a physical sequence wherein each page other than a last page has a sequential page which follows it, the physical storage device being operably connected to the processing unit for transferring pages of data to the processing unit, the physical storage device containing a data base table which is stored on a plurality of pages, the data base table having a plurality of rows of data and a plurality of indexes composed of a sequence of entries which reference the rows, the method comprising the steps performed by the processing unit of: (a) obtaining a data base operation command specifying search criteria; (b) selecting a plurality of indexes which correspond to the search criteria; (c) determining a degree of clustering for each selected index which is calculated by dividing the number of clustered rows referenced in the selected index by the number of rows in the data base table, clustered rows being those rows which are stored in the physical storage device in the same page or a sequential page of the physical storage device as the row referenced by the preceding entry in the index, divided by the total number of rows in the table, wherein the degree of clustering is directly proportional to the number of rows referenced by the selected index which are stored on a page of the physical storage device which is the same page on which the row referenced by the preceding index entry is stored; (d) determining, using the degree of clustering for each selected index and the search criteria, a total expected time required for transferring the pages from the physical storage device if the selected index is used to specify the order in which to transfer the pages from the physical storage device; and (e) transferring the pages containing the rows of the data base table from the physical storage device to the processing unit in the sequence specified in the selected index having the lowest total expected time from step (d), thereby obtaining the data matching the search criteria in an efficient manner.
Claim 3
Dependent Claim
54 words
The method of claim 1, wherein step (d) further comprises the steps of: (a) determining an expected time required for a number of random page transfers; (b) determining an expected time required for a number of sequential page transfers; and (c) including the times from steps (a) and (b) in the total expected time.
Claim 4
Dependent Claim
50 words
The method of claim 1, wherein the total expected time determined in step (d) is proportional to a filter factor which is computed by dividing the number of rows in the selected index which correspond to a search criterion by the total number of rows in the data base table.
Claim 5
Dependent Claim
35 words
The method of claim 1, wherein the index are stored on the physical storage device and wherein the total expected time includes the time required for transferring the index pages form the physical storage device.
Claim 6
Dependent Claim
25 words
The method of claim 4, wherein the time required for transferring the index pages is based on the number of levels of the selected index.
Claim 7
Dependent Claim
35 words
The method of claim 1, wherein the step for determining the degree of clustering further includes the step of reading a previously calculated degree of clustering for the selected index from the physical storage device.
Claim 8
Independent Claim
458 words
A method for operating a data processing system having a processing unit and a physical storage device in which a plurality of pages of data are stored in a physical sequence wherein each page other than a last page has a next sequential page which follows it, the physical storage device being operably connected to the processing unit for transferring pages of data to the processing unit and containing a data base table which is stored on a plurality of pages, the data base table having a plurality of rows of data and a plurality of indexes composed of a sequence of entries which reference the rows, the method comprising the steps performed by the processing unit of: (a) selecting a plurality of indexes referenced in a specified set of search criteria; (b) determining a degree of clustering for each selected index, the degree of clustering being equal to the number of rows referenced by the selected index which when considered in index order are stored on the same page or the next sequential page of the physical storage device as the row referenced by the preceding entry in the index, divided by the total number of rows in the table; (c) estimating, for each selected index, using the search criteria, a number of random page transfers expected if the selected index is used to determine the order in which to transfer the pages from the physical storage device, the estimating step including the use of a formula including the computation term NR ×(1-DC) where NR is the total number of rows in the data base table and DC is the degree of clustering; (d) estimating, for each selected index, using the search criteria, a number of sequential page transfers expected if the selected index is used to determine the order in which to transfer the pages from the physical storage device, the estimating step including the use of a formula including the computational term NP × DC where NP is the total number of pages of data in the data base table and DC is the degree of clustering; (e) calculating a total expected transfer time for each selected index, using the product of the estimated number of random page transfers and a time value which estimates the time required to perform one random page transfer and the product of the estimated number of sequential page transfers and a time value which estimates the time required to perform one sequential page transfer; and (f) transferring the pages containing the rows of the data base table from the physical storage device to the processing unit in the sequence specified in the selected index having the lowest total expected transfer time, thereby obtaining the data matching the search criteria.
Claim 9
Independent Claim
458 words
A method for operating a data processing system having a processing unit and a physical storage device in which a plurality of pages of data are stored in a physical sequence wherein each page other than a last page has a next sequential page which follows it, the physical storage device being operably connected to the processing unit for transferring pages of data to the processing unit and containing a data base table which is stored on a plurality of pages, the data base table having a plurality of rows of data and a plurality of indexes composed of a sequence of entries which reference the rows, the method comprising the steps performed by the processing unit of: (a) selecting a plurality of indexes referenced in a specified set of search criteria; (b) determining a degree of clustering for each selected index, the degree of clustering being equal to the number of rows referenced by the selected index which when considered in index order are stored on the same page or the next sequential page of the physical storage device as the row referenced by the preceding entry in the index, divided by the total number of rows in the table; (c) estimating, for each selected index, using the search criteria, a number of random page transfers expected if the selected index is used to determine the order in which to transfer the pages from the physical storage device, the estimating step including the use of a formula including the computation term NR ×(1-DC) where NR is the total number of rows in the data base table and DC is the degree of clustering; (d) estimating, for each selected index, using the search criteria, a number of sequential page transfers expected if the selected index is used to determine the order in which to transfer the pages from the physical storage device, the estimating step including the use of a formula including the computational term NP × DC where NP is the total number of pages of data in the data base table and DC is the degree of clustering; (e) calculating a total expected transfer time for each selected index, using the product of the estimated number of random page transfers and a time value which estimates the time required to perform one random page transfer and the product of the estimated number of sequential page transfers and a time value which estimates the time required to perform one sequential page transfer; and (f) transferring the pages containing the rows of the data base table from the physical storage device to the processing unit in the sequence specified in the selected index having the lowest total expected transfer time, thereby obtaining the data matching the search criteria.
Claim 10
Dependent Claim
32 words
The method of claim 7, wherein the formula used in the estimating step for the number of random page transfers includes a computation term based on the depth of the selected index.
Claim 11
Dependent Claim
35 words
The method of claim 7, wherein the formula used in the estimating step for the number of sequential page transfers includes a computation term based on the number of leaf pages int eh selected index.
Claim 12
Dependent Claim
22 words
The method of claim 7, wherein the time calculated in step (e) includes an estimate of time required to process each row.
Claim 13
Dependent Claim
168 words
The method of claim 7, each row, other than a first row, referenced in each index having a preceding row, the step for determining a degree of clustering further comprising the steps of: (a) establishing for each row referenced in the selected index an associated page in the physical storage device on which the row is stored; (b) counting, for each row referenced in the selected index having a preceding row, the rows having an associated page which is equal to the page associated with the preceding row, thereby determining a first count; (c) counting, for each row referenced in the selected index having a preceding row, the rows having an associated page which is the page which next sequentially follows the page associated with the preceding row, thereby determining a second count; (d) adding the first count and the second count to get a total count; and (e) dividing the total count by the total number of rows in the table, thereby determining the degree of clustering.