Patent US5604901A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5604901A Expired / Lapsed US ⏱️ 0.0 years remaining

Interrogation index file comparison

Assignee: International Business Machines Corp
•
Filing: 1995-10-03
•
Granted: 1997-02-18
•
Expires: 2015-10-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of comparing files takes three passes through data tables in memory to generate tables containing pointers to matches and mismatches by employing a method of keyword-index translation in which a keyword is taken from a first data table in a first pass and used as the index in loading an index table containing a pointer to the record containing that keyword. In a symmetric operation, a keyword is fetched from one table and used to interrogate the corresponding index table in a second pass. If there is a match, the record in the index table contains the pointer; and if there is a mismatch, the record contains a null. In an optional third pass, keywords are fetched from the other table and used to find records in the other table that are mismatches.

Inventors

  • 👤 Edward E. Kelley
  • 👤 John F. Paleveda

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 16:22
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/02

Claims Analysis

Total Claims: 56
Claim 1
Independent Claim 184 words
A method of comparing in a data processing system a first file of data and a second file of data in only one pass through each of said first and second files, each of said first and second files comprising a set of records, each record including a key, comprising the steps of: initializing and loading a set of at least one data table including at least the step of loading a first key-index table with a first key-index record corresponding to each record in said first file in a first data pass, said first key-index record having a first interrogation index element related in a one to one correspondence to a first-file key of said first file; sequentially fetching a second-file key from a record in said second file in a second data pass; interrogating a corresponding record in said first key-index table having a second interrogation index element related to said second-file key and to said first interrogation index element; and storing data representative of a matching relationship between said record of said first file and said record of said second file.
Claim 2
Independent Claim 184 words
A method of comparing in a data processing system a first file of data and a second file of data in only one pass through each of said first and second files, each of said first and second files comprising a set of records, each record including a key, comprising the steps of: initializing and loading a set of at least one data table including at least the step of loading a first key-index table with a first key-index record corresponding to each record in said first file in a first data pass, said first key-index record having a first interrogation index element related in a one to one correspondence to a first-file key of said first file; sequentially fetching a second-file key from a record in said second file in a second data pass; interrogating a corresponding record in said first key-index table having a second interrogation index element related to said second-file key and to said first interrogation index element; and storing data representative of a matching relationship between said record of said first file and said record of said second file.
Claim 3
Dependent Claim 20 words
A method according to claim 1, in which said interrogation index, said first-file key, and said second-file key are alphanumeric.
Claim 4
Dependent Claim 37 words
A method according to claim 1, in which at least one of said first-file key and second-file key are formed from at least two non-contiguous characters selected from records in said first file or said second file.
Claim 5
Dependent Claim 38 words
A method according to claim 2, in which at least one of said first-file key and said second-file key are formed from at least two non-contiguous characters selected from records in said first file or said second file.
Claim 6
Dependent Claim 46 words
A method according to claim 1, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of match pointers pointing to matching records in said first file and said second file.
Claim 7
Dependent Claim 44 words
A method according to claim 2, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of match pointers pointing to matching records in said first and second files.
Claim 8
Dependent Claim 49 words
A method according to claim 1, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of mismatch pointers pointing to records in said second file lacking a matching record in said first file.
Claim 9
Dependent Claim 49 words
A method according to claim 2, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of mismatch pointers pointing to records in said second file lacking a matching record in said first file.
Claim 10
Dependent Claim 50 words
A method according to claim 5, in which said data representative of the relationship between said record of said first file and said record of said second file further comprises a set of mismatch pointers pointing to records in said second file lacking a matching record in said first file.
Claim 11
Dependent Claim 50 words
A method according to claim 6, in which said data representative of the relationship between said record of said first file and said record of said second file further comprises a set of mismatch pointers pointing to records in said second file lacking a matching record in said first file.
Claim 12
Dependent Claim 41 words
A method according to claim 1, in which at least one of said first-file key and second-file key are formed from at least one field selected from records in said first file or said second file containing a plurality of fields.
Claim 13
Dependent Claim 44 words
A method according to claim 11, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of match pointers pointing to matching records in said first and second files.
Claim 14
Dependent Claim 49 words
A method according to claim 11, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of mismatch pointers pointing to records in said second file lacking a matching record in said first file.
Claim 15
Dependent Claim 41 words
A method according to claim 2, in which at least one of said first-file key and second-file key are formed from at least one field selected from records in said first file or said second file containing a plurality of fields.
Claim 16
Dependent Claim 44 words
A method according to claim 14, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of match pointers pointing to matching records in said first and second files.
Claim 17
Dependent Claim 49 words
A method according to claim 14, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of mismatch pointers pointing to records in said second file lacking a matching record in said first file.
Claim 18
Independent Claim 29 words
A method according to any of claims 1-16, further including the step of forming a new file containing only records common to both said first and said second files.
Claim 19
Dependent Claim 114 words
A method according to claim 1, further comprising the steps of: loading a second key-index table with a second key-index record corresponding to each record in said second file in said second data pass, said second key-index record having an interrogation index related to a second-file key of said second file; sequentially fetching a first-file key from a record in said first file in a third data pass; interrogating a corresponding record in said second key-index table having an interrogation index element related in a one to one correspondence to said first-file key; and storing data representative of the relationship between said record of said first file and said record of said second file.
Claim 20
Dependent Claim 20 words
A method according to claim 18, in which said interrogation index, said first-file key, and said second-file key are alphanumeric.
Claim 21
Dependent Claim 37 words
A method according to claim 18, in which at least one of said first-file key and second-file key are formed from at least two non-contiguous characters selected from records in said first file or said second file.
Claim 22
Dependent Claim 37 words
A method according to claim 19, in which at least one of said first-file key and second-file key are formed from at least two non-contiguous characters selected from records in said first file or said second file.
Claim 23
Dependent Claim 43 words
A method according to claim 18, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of pointers pointing to corresponding records in said first and second files.
Claim 24
Dependent Claim 44 words
A method according to claim 19, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of corresponding pointers pointing to corresponding records in said first and second files.
Claim 25
Dependent Claim 64 words
A method according to claim 18, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of mismatch pointers pointing to records in said second file lacking a corresponding record in said first file and to records in said first file lacking a corresponding record in said second file.
Claim 26
Dependent Claim 64 words
A method according to claim 19, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of mismatch pointers pointing to records in said second file lacking a corresponding record in said first file and to records in said first file lacking a corresponding record in said second file.
Claim 27
Dependent Claim 65 words
A method according to claim 22, in which said data representative of the relationship between said record of said first file and said record of said second file further comprises a set of mismatch pointers pointing to records in said second file lacking a corresponding record in said first file and to records in said first file lacking a corresponding record in said second file.
Claim 28
Dependent Claim 65 words
A method according to claim 23, in which said data representative of the relationship between said record of said first file and said record of said second file further comprises a set of mismatch pointers pointing to records in said second file lacking a corresponding record in said first file and to records in said first file lacking a corresponding record in said second file.
Claim 29
Independent Claim 29 words
A method according to any of claims 18-27, further including the step of forming a new file containing only records common to both said first and said second files.
Claim 30
Independent Claim 304 words
A method of comparing in a data processing system a first file of data and a second file of data, each of said first and second files comprising a set of records, each record including a key, comprising the steps of: in a first data pass initializing and loading a set of at least one data table including at least the step of loading a first key-index table with a first key-index record corresponding to each record in said first file, said first key-index record having a first interrogation index element related in a one to one correspondence to a first-file key of said first file; in a second data pass, sequentially fetching a second-file key from a record in said second file; interrogating a corresponding record in said first key-index table having a second interrogation index element related in a one to one correspondence to said second-file key and to said first interrogation index element; and storing data representative of a matching relationship between said record of said first file and said record of said second file; in a third data pass, initializing and loading a set of at least one data table including at least the step of loading a second key-index table with a second key-index record corresponding to each record in said second file, said second key-index record having an interrogation index related in a one to one correspondence to a second-file key of said second file; in a fourth data pass, sequentially fetching a first-file key from a record in said first file; interrogating a corresponding record in said second key-index table having an interrogation index element related in a one to one correspondence to said first-file key; and storing data representative of the relationship between said record of said first file and said record of said second file.
Claim 31
Independent Claim 304 words
A method of comparing in a data processing system a first file of data and a second file of data, each of said first and second files comprising a set of records, each record including a key, comprising the steps of: in a first data pass initializing and loading a set of at least one data table including at least the step of loading a first key-index table with a first key-index record corresponding to each record in said first file, said first key-index record having a first interrogation index element related in a one to one correspondence to a first-file key of said first file; in a second data pass, sequentially fetching a second-file key from a record in said second file; interrogating a corresponding record in said first key-index table having a second interrogation index element related in a one to one correspondence to said second-file key and to said first interrogation index element; and storing data representative of a matching relationship between said record of said first file and said record of said second file; in a third data pass, initializing and loading a set of at least one data table including at least the step of loading a second key-index table with a second key-index record corresponding to each record in said second file, said second key-index record having an interrogation index related in a one to one correspondence to a second-file key of said second file; in a fourth data pass, sequentially fetching a first-file key from a record in said first file; interrogating a corresponding record in said second key-index table having an interrogation index element related in a one to one correspondence to said first-file key; and storing data representative of the relationship between said record of said first file and said record of said second file.
Claim 32
Dependent Claim 59 words
A method according to claim 29, in which said second data pass is effected by reading said second file from non-volatile storage to fetch said second-file key; and said fourth data pass is effected by reading said first file from non-volatile storage to fetch said first-file key, whereby said first and second files are not loaded into said memory.
Claim 33
Dependent Claim 61 words
A method according to claim 30, in which said first data pass is effected by reading said first file from non-volatile storage to load said first key-index table; and said third data pass is effected by reading said second file from non-volatile storage to load said second key-index table, whereby said first and second files are not loaded into said memory.
Claim 34
Independent Claim 22 words
A method according to any of claims 29-31, in which said interrogation index, said first-file key, and said second-file key are alphanumeric.
Claim 35
Dependent Claim 37 words
A method according to claim 29, in which at least one of said first-file key and second-file key are formed from at least two non-contiguous characters selected from records in said first file or said second file.
Claim 36
Dependent Claim 37 words
A method according to claim 32, in which at least one of said first-file key and second-file key are formed from at least two non-contiguous characters selected from records in said first file or said second file.
Claim 37
Dependent Claim 43 words
A method according to claim 29, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of pointers pointing to corresponding records in said first and second files.
Claim 38
Dependent Claim 44 words
A method according to claim 32, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of corresponding pointers pointing to corresponding records in said first and second files.
Claim 39
Dependent Claim 49 words
A method according to claim 29, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of mismatch pointers pointing to records in said second file lacking a corresponding record in said first file.
Claim 40
Dependent Claim 49 words
A method according to claim 32, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of mismatch pointers pointing to records in said second file lacking a corresponding record in said first file.
Claim 41
Independent Claim 327 words
A method of comparing in a data processing system a first file of data and a second file of data, each of said first and second files comprising a set of records, each record including a key, comprising the steps of: in a first data pass, reading said first file from non-volatile storage and loading a set of at least one data table in memory including at least the step of loading a first key-index table with a first key-index record corresponding to each record in said first file, said first key-index record having a first interrogation index element related in a one to one correspondence to a first-file key of said first file; in a second data pass, reading said second file from non-volatile storage and loading a set of at least one data table in memory including at least the step of loading a second key-index table with a second key-index record corresponding to each record in said second file, said second key-index record having a second interrogation index element related in a one to one correspondence to a second-file key of said second file and to said first interrogation index element; in a third data pass, sequentially fetching from non-volatile storage a first-file key from a record in said first file; interrogating a corresponding record in said second key-index table having an interrogation index element related in a one to one correspondence to said first-file key; and storing data representative of a matching relationship between said record of said first file and said record of said second file; in a fourth data pass, sequentially fetching from non-volatile storage a second-file key from a record in said second file; interrogating a corresponding record in said first key-index table having an interrogation index element related in a one to one correspondence to said second-file key; and storing data representative of the relationship between said record of said first file and said record of said second file.
Claim 42
Independent Claim 327 words
A method of comparing in a data processing system a first file of data and a second file of data, each of said first and second files comprising a set of records, each record including a key, comprising the steps of: in a first data pass, reading said first file from non-volatile storage and loading a set of at least one data table in memory including at least the step of loading a first key-index table with a first key-index record corresponding to each record in said first file, said first key-index record having a first interrogation index element related in a one to one correspondence to a first-file key of said first file; in a second data pass, reading said second file from non-volatile storage and loading a set of at least one data table in memory including at least the step of loading a second key-index table with a second key-index record corresponding to each record in said second file, said second key-index record having a second interrogation index element related in a one to one correspondence to a second-file key of said second file and to said first interrogation index element; in a third data pass, sequentially fetching from non-volatile storage a first-file key from a record in said first file; interrogating a corresponding record in said second key-index table having an interrogation index element related in a one to one correspondence to said first-file key; and storing data representative of a matching relationship between said record of said first file and said record of said second file; in a fourth data pass, sequentially fetching from non-volatile storage a second-file key from a record in said second file; interrogating a corresponding record in said first key-index table having an interrogation index element related in a one to one correspondence to said second-file key; and storing data representative of the relationship between said record of said first file and said record of said second file.
Claim 43
Dependent Claim 59 words
A method according to claim 39, in which said second data pass is effected by reading said second file from non-volatile storage to fetch said second-file key; and said fourth data pass is effected by reading said first file from non-volatile storage to fetch said first-file key, whereby said first and second files are not loaded into said memory.
Claim 44
Dependent Claim 61 words
A method according to claim 40, in which said first data pass is effected by reading said first file from non-volatile storage to load said first key-index table; and said third data pass is effected by reading said second file from non-volatile storage to load said second key-index table, whereby said first and second files are not loaded into said memory.
Claim 45
Independent Claim 22 words
A method according to any of claims 39-41, in which said interrogation index, said first-file key, and said second-file key are alphanumeric.
Claim 46
Dependent Claim 37 words
A method according to claim 39, in which at least one of said first-file key and second-file key are formed from at least two non-contiguous characters selected from records in said first file or said second file.
Claim 47
Dependent Claim 37 words
A method according to claim 42, in which at least one of said first-file key and second-file key are formed from at least two non-contiguous characters selected from records in said first file or said second file.
Claim 48
Dependent Claim 43 words
A method according to claim 39, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of pointers pointing to corresponding records in said first and second files.
Claim 49
Dependent Claim 44 words
A method according to claim 42, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of corresponding pointers pointing to corresponding records in said first and second files.
Claim 50
Dependent Claim 49 words
A method according to claim 39, in which said data representative of the relationship between said record of said first file and said record of said second file comprises a set of mismatch pointers pointing to records in said second file lacking a corresponding record in said first file.
Claim 51
Independent Claim 248 words
A method of comparing in a data processing system a first file of data and a second file of data located in non-volatile storage media, each of said first and second files comprising a set of records, each record including a key, comprising the steps of: initializing and loading a set of data tables in memory including first and second key-index tables, a match table for storing data representative of records in said first file having a counterpart record in said second file, a first mismatch table for storing data representative of records in said first file lacking a counterpart record in said second file and a second mismatch table for storing data representative of records in said second file lacking a counterpart record in said first file; sequentially fetching a second-file keyword from a record in said second file, interrogating a corresponding record in said first key-index table having an index element equal to said second-file keyword, and adding a record containing identifying data to said match table when said corresponding record has a non-null entry and adding a record containing identifying data to said second mismatch table when said corresponding record has a null entry; and sequentially fetching a first-file keyword from a record in said first file, interrogating a corresponding record in said second key-index table having an index element equal to said first-file keyword, and adding a record containing identifying data to said first mismatch table when said corresponding record has a null entry.
Claim 52
Independent Claim 248 words
A method of comparing in a data processing system a first file of data and a second file of data located in non-volatile storage media, each of said first and second files comprising a set of records, each record including a key, comprising the steps of: initializing and loading a set of data tables in memory including first and second key-index tables, a match table for storing data representative of records in said first file having a counterpart record in said second file, a first mismatch table for storing data representative of records in said first file lacking a counterpart record in said second file and a second mismatch table for storing data representative of records in said second file lacking a counterpart record in said first file; sequentially fetching a second-file keyword from a record in said second file, interrogating a corresponding record in said first key-index table having an index element equal to said second-file keyword, and adding a record containing identifying data to said match table when said corresponding record has a non-null entry and adding a record containing identifying data to said second mismatch table when said corresponding record has a null entry; and sequentially fetching a first-file keyword from a record in said first file, interrogating a corresponding record in said second key-index table having an index element equal to said first-file keyword, and adding a record containing identifying data to said first mismatch table when said corresponding record has a null entry.
Claim 53
Dependent Claim 166 words
A method according to claim 48, including a preliminary step of reading said first and second files of data from nonvolatile storage into corresponding first and second data tables in memory, each record of said first and second data tables containing at least said key of a corresponding file record; said step of loading said first key-index table is effected by reading said key for said first data table in a first pass through one of said set of data tables in memory; said step of repetitively fetching a second-file keyword and interrogating a corresponding record in said first key-index file is effected by reading through said second data table in a second pass through one of said set of data tables in memory; and said step of repetitively fetching a first-file keyword and interrogating a corresponding record in said second key-index file is effected by reading through said first data table in a third pass through one of said set of data tables in memory.
Claim 54
Dependent Claim 17 words
A method according to claim 49, in which said first-file keyword, and said second-file keyword are alphanumeric.
Claim 55
Dependent Claim 17 words
A method according to claim 50, in which said first-file keyword, and said second-file keyword are alphanumeric.
Claim 56
Dependent Claim 37 words
A method according to claim 49, in which at least one of said first-file keyword and second-file keyword are formed from at least two non-contiguous characters selected from records in said first file or said second file.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-02-18 2000-08-19 2001-02-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-02-18 2004-08-19 2005-02-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-02-18 2008-08-19 2009-02-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag