Claims Analysis
Total Claims: 36
Claim 1
Independent Claim
162 words
A method of defining transactions from a log of a database, the log comprising data relating to changes to the database, the log data being stored in a plurality of records each having a plurality of fields, the method comprising: for each of a plurality of records in the log, determining whether the record relates to a transaction included in a transaction template; for each record that relates to a transaction included in the template, determining whether the record relates to a new transaction or an incomplete transaction; for each record relating to a new transaction, creating and storing an indicator for the transaction and inserting information relating to the record into the indicator; and for each record relating to an incomplete transaction, determining whether the record represents the end of the incomplete transaction and, if the record does not represent the end of the incomplete transaction, inserting information relating to the record into the previously created indicator for the incomplete transaction.
Claim 2
Independent Claim
162 words
A method of defining transactions from a log of a database, the log comprising data relating to changes to the database, the log data being stored in a plurality of records each having a plurality of fields, the method comprising: for each of a plurality of records in the log, determining whether the record relates to a transaction included in a transaction template; for each record that relates to a transaction included in the template, determining whether the record relates to a new transaction or an incomplete transaction; for each record relating to a new transaction, creating and storing an indicator for the transaction and inserting information relating to the record into the indicator; and for each record relating to an incomplete transaction, determining whether the record represents the end of the incomplete transaction and, if the record does not represent the end of the incomplete transaction, inserting information relating to the record into the previously created indicator for the incomplete transaction.
Claim 3
Dependent Claim
32 words
The method of claim 1 comprising storing a plurality of transaction templates and selecting one of the plurality of templates based on at least part of the data stored in the record.
Claim 4
Dependent Claim
73 words
The method of claim 2 wherein each template is assigned a key value based on one or more data fields from the database, wherein the data stored in the record includes data values from data fields in the database, and wherein the step of selecting one of the templates comprises selecting a template having a key value which matches one or more of the data fields whose data values are in the record.
Claim 5
Dependent Claim
30 words
The method of claim 1 comprising retrieving records from the log, and wherein the steps set forth in claim 1 are performed immediately after retrieving each record from the log.
Claim 6
Dependent Claim
72 words
The method of claim 1 wherein the plurality of fields in each record includes a filename field identifying a database file affected by a change, and wherein the template includes a plurality of filenames representing files changed during a transaction, and wherein the step of determining whether each record relates to a transaction included in the template comprises determining whether the filename stored in the record matches a filename in the template.
Claim 7
Dependent Claim
22 words
The method of claim 1 further comprising deleting the previously created indicator when the record represents the end of the incomplete transaction.
Claim 8
Dependent Claim
54 words
The method of claim 6 wherein the step of determining whether the record relates to a new transaction or an incomplete transaction comprises searching for an indicator containing data which matches data stored in the record, the failure to find such an indicator being an indication that the record relates to a new transaction.
Claim 9
Dependent Claim
66 words
The method of claim 7 wherein the data stored in the log records includes job identifier data, wherein the step of inserting information into the indicator comprises inserting the job identifier data from the record into the indicator, and wherein the step of searching for an indicator comprises searching for an indicator containing job identifier data which matches the job identifier data stored in the record.
Claim 10
Dependent Claim
116 words
The method of claim 7 wherein the data in each record includes one or more data values from one or more data fields in the database, the one or more data fields being used as a key value for the template, wherein the step of inserting information into the indicator comprises inserting the key value from the record into the indicator, and wherein the step of determining whether the record relates to a new transaction or an incomplete transaction further comprises comparing the key value in the record to a key value stored in the indicator found in the search, the mismatch of key values being an indication that the record relates to a new transaction.
Claim 11
Dependent Claim
93 words
The method of claim 7 wherein the plurality of fields includes a filename field representing a database file affected by a change, wherein the step of inserting information into the indicator comprises inserting the filename from the record into the indicator, and wherein the step of determining whether the record relates to a new transaction or an incomplete transaction further comprises comparing the filename in the record to a filename stored in the indicator found in the search, the match of filenames being an indication that the record relates to a new transaction.
Claim 12
Dependent Claim
39 words
The method of claim 1 wherein the step of inserting information relating to the record into the indicator for the incomplete transaction is performed if and only if the record does not represent the end of the incomplete transaction.
Claim 13
Dependent Claim
31 words
The method of claim 1 wherein the step of inserting information relating to the record into the indicator comprises inserting information pointing to a location of the record in the log.
Claim 14
Dependent Claim
50 words
The method of claim 12 wherein the log comprises a plurality of log sequence numbers each associated with a record, and wherein the step of inserting information pointing to the location of the record in the log comprises inserting the log sequence number associated with the record into the indicator.
Claim 15
Dependent Claim
28 words
The method of claim 1 comprising, in the event data is lost from or damaged in the database, using the indicators to recover the lost or damaged data.
Claim 16
Dependent Claim
55 words
The method of claim 14 comprising deleting the previously created indicator when the record represents the end of the incomplete transaction, and wherein the step of using the indicators to recover the lost or damaged data comprises identifying incomplete transactions based on the indicators and undoing any changes stored in records relating to incomplete transactions.
Claim 17
Independent Claim
274 words
A method of defining transactions from a log of a database based upon a plurality of transaction templates, the log comprising data relating to changes to the database stored in a plurality of records each including a filename field representing a database file affected by a change, job identifier data, and data values from data fields in the database, each template being associated with a key value comprising one or more data fields in the database, each template comprising a plurality of filenames representing files changed during one or more given transactions, the method comprising: retrieving a log record from the database log; identifying one of the plurality of templates by comparing the data fields whose data values are stored in the retrieved record to the key values contained in the templates; searching for an index file containing job identifier data which matches the job identifier data stored in the retrieved record; if no index file is found having matching job identifier data, creating an index file and inserting information relating to the record into the index file including the job identifier data, key value of the identified template, and filename from the retrieved record; if an index file is found having matching job identifier data, comparing the key value contained in the found index file with the data fields whose data values are stored in the retrieved record; and if the key value contained in the found index file matches one or more of the data fields whose data values are stored in the retrieved record, inserting information relating to the record into the index file including the filename from the retrieved record.
Claim 18
Independent Claim
274 words
A method of defining transactions from a log of a database based upon a plurality of transaction templates, the log comprising data relating to changes to the database stored in a plurality of records each including a filename field representing a database file affected by a change, job identifier data, and data values from data fields in the database, each template being associated with a key value comprising one or more data fields in the database, each template comprising a plurality of filenames representing files changed during one or more given transactions, the method comprising: retrieving a log record from the database log; identifying one of the plurality of templates by comparing the data fields whose data values are stored in the retrieved record to the key values contained in the templates; searching for an index file containing job identifier data which matches the job identifier data stored in the retrieved record; if no index file is found having matching job identifier data, creating an index file and inserting information relating to the record into the index file including the job identifier data, key value of the identified template, and filename from the retrieved record; if an index file is found having matching job identifier data, comparing the key value contained in the found index file with the data fields whose data values are stored in the retrieved record; and if the key value contained in the found index file matches one or more of the data fields whose data values are stored in the retrieved record, inserting information relating to the record into the index file including the filename from the retrieved record.
Claim 19
Dependent Claim
74 words
The method of claim 16 comprising, if the key value contained in the found index file does not match one or more of the data fields whose data values are stored in the retrieved record, deleting the found index file, creating a new index file and inserting information relating to the record into the new index file including the job identifier data, key value of the identified template, and filename from the retrieved record.
Claim 20
Dependent Claim
50 words
The method of claim 16 comprising comparing the filename stored in the retrieved record to the filenames stored in the template and, if the filename stored in the retrieved record does not match any filename stored in the template, adding the filename stored in the retrieved record to the template.
Claim 21
Dependent Claim
27 words
The method of claim 16 comprising, if data is lost from or damaged in the database, using the index files to recover the lost or damaged data.
Claim 22
Independent Claim
332 words
A method of providing transaction protection for a database, wherein actions performed on data within the database are recorded in a log having a plurality of entries each storing at least job identifier data representing a source of a job being performed, a filename representing a file in the database affected by an action, an action performed on data in the database file, and one or more data fields from the database file which comprise a key value, and wherein transactions comprise a plurality of actions performed on a plurality of files, the method comprising: retrieving entries from the log; storing at least one template listing filenames which are affected by one or more transactions; for each retrieved log entry, comparing the filename in the entry to the filenames in the at least one template to determine whether the entry represents part of a transaction; for each entry which represents part of a transaction: determining based at least in part on the job identifier data whether a transaction is in progress for the job identified by the job identifier data; if no transaction is in progress for the job, marking the entry as part of a new transaction; if a transaction is in progress for the job, determining whether the transaction in progress is for the key value stored in the entry and if so, marking the entry as part of the transaction in progress if the filename in the entry has not already been marked in the transaction in progress; if the transaction in progress is for a key value different than the key value in the entry, or if the filename in the entry has already been marked in the transaction in progress, closing the transaction in progress and marking the entry as part of a new transaction; and in the event of loss or damage to data in the database, undoing any actions represented by entries marked as part of a transaction in progress which has not been closed.
Claim 23
Independent Claim
332 words
A method of providing transaction protection for a database, wherein actions performed on data within the database are recorded in a log having a plurality of entries each storing at least job identifier data representing a source of a job being performed, a filename representing a file in the database affected by an action, an action performed on data in the database file, and one or more data fields from the database file which comprise a key value, and wherein transactions comprise a plurality of actions performed on a plurality of files, the method comprising: retrieving entries from the log; storing at least one template listing filenames which are affected by one or more transactions; for each retrieved log entry, comparing the filename in the entry to the filenames in the at least one template to determine whether the entry represents part of a transaction; for each entry which represents part of a transaction: determining based at least in part on the job identifier data whether a transaction is in progress for the job identified by the job identifier data; if no transaction is in progress for the job, marking the entry as part of a new transaction; if a transaction is in progress for the job, determining whether the transaction in progress is for the key value stored in the entry and if so, marking the entry as part of the transaction in progress if the filename in the entry has not already been marked in the transaction in progress; if the transaction in progress is for a key value different than the key value in the entry, or if the filename in the entry has already been marked in the transaction in progress, closing the transaction in progress and marking the entry as part of a new transaction; and in the event of loss or damage to data in the database, undoing any actions represented by entries marked as part of a transaction in progress which has not been closed.
Claim 24
Independent Claim
127 words
A method of creating a transaction template from a log of a database, the log comprising a plurality of records of changes made to the database, the records containing data values associated with data fields in the database, the method comprising: retrieving the data values from the records and storing the data values; comparing the data values from a given record with data values from other records; when one or more data values from the given record match one or more data values from one or more other records, identifying the one or more data fields from the database files associated with the matching one or more data values; and creating a transaction template associated with a key value comprising the identified one or more data fields.
Claim 25
Independent Claim
127 words
A method of creating a transaction template from a log of a database, the log comprising a plurality of records of changes made to the database, the records containing data values associated with data fields in the database, the method comprising: retrieving the data values from the records and storing the data values; comparing the data values from a given record with data values from other records; when one or more data values from the given record match one or more data values from one or more other records, identifying the one or more data fields from the database files associated with the matching one or more data values; and creating a transaction template associated with a key value comprising the identified one or more data fields.
Claim 26
Dependent Claim
58 words
The method of claim 21 wherein the database comprises a plurality of tables, wherein each log record contains a name of a table in the database affected by a change to the database, and wherein the table names from records having one or more matching data values are stored in the transaction template associated with the key value.
Claim 27
Dependent Claim
27 words
The method of claim 22 comprising displaying the table names stored in the transaction template and modifying the table names based on input received from the user.
Claim 28
Dependent Claim
25 words
The method of claim 21 comprising displaying the key value to a user and modifying the key value based on input received from the user.
Claim 29
Independent Claim
166 words
A method of providing transaction protection for a database comprising: creating a plurality of transaction templates each comprising a plurality of filenames identifying files in the database affected during a transaction and a key value representing one or more data fields in the database included in every action performed during the transaction; for each of a plurality of entries in a log of the database, determining whether the entry belongs to a transaction based on the data in the entry and the key values associated with the templates; maintaining index files representing transactions in progress by creating a new index file for each new transaction, adding data to a given index file from a log entry which belongs to the transaction associated with the given index file, and deleting index files when transactions with which they are associated are complete; and in the event the database is damaged, using existing index files to determine at least which transactions did not complete before the database was damaged.
Claim 30
Independent Claim
166 words
A method of providing transaction protection for a database comprising: creating a plurality of transaction templates each comprising a plurality of filenames identifying files in the database affected during a transaction and a key value representing one or more data fields in the database included in every action performed during the transaction; for each of a plurality of entries in a log of the database, determining whether the entry belongs to a transaction based on the data in the entry and the key values associated with the templates; maintaining index files representing transactions in progress by creating a new index file for each new transaction, adding data to a given index file from a log entry which belongs to the transaction associated with the given index file, and deleting index files when transactions with which they are associated are complete; and in the event the database is damaged, using existing index files to determine at least which transactions did not complete before the database was damaged.
Claim 31
Dependent Claim
131 words
For use with a database manager program in which a log of database operations is maintained having a plurality of records each representing an action performed on the database, a system for providing externally defined transaction protection to a database, the system comprising: means for retrieving records from the log; a plurality of transaction templates each containing information representing one or more types of transactions; first comparison means for determining based on the information contained in the templates whether each log record is part of a type of transaction; second comparison means for indicating which records are part of transactions in progress; means for, in the event of computer system failure or damage, undoing any actions performed on the database as represented by records which are part of transactions in progress.
Claim 32
Dependent Claim
131 words
For use with a database manager program in which a log of database operations is maintained having a plurality of records each representing an action performed on the database, a system for providing externally defined transaction protection to a database, the system comprising: means for retrieving records from the log; a plurality of transaction templates each containing information representing one or more types of transactions; first comparison means for determining based on the information contained in the templates whether each log record is part of a type of transaction; second comparison means for indicating which records are part of transactions in progress; means for, in the event of computer system failure or damage, undoing any actions performed on the database as represented by records which are part of transactions in progress.
Claim 33
Dependent Claim
147 words
A computer usable medium having computer readable program code embodied in said medium for causing the computer to perform method steps for creating a transaction template from a log of a database, the log comprising a plurality of records of changes made to the database, the records containing data values associated with data fields in the database, the method steps comprising: retrieving the data values from the records and storing the data values; comparing the data values from a given record with data values from other records; when one or more data values from the given record match one or more data values from one or more other records, identifying the one or more data fields from the database files associated with the matching one or more data values; and creating a transaction template associated with a key value comprising the identified one or more data fields.
Claim 34
Dependent Claim
147 words
A computer usable medium having computer readable program code embodied in said medium for causing the computer to perform method steps for creating a transaction template from a log of a database, the log comprising a plurality of records of changes made to the database, the records containing data values associated with data fields in the database, the method steps comprising: retrieving the data values from the records and storing the data values; comparing the data values from a given record with data values from other records; when one or more data values from the given record match one or more data values from one or more other records, identifying the one or more data fields from the database files associated with the matching one or more data values; and creating a transaction template associated with a key value comprising the identified one or more data fields.
Claim 35
Dependent Claim
182 words
A computer usable medium having computer readable program code embodied in said medium for causing the computer to perform method steps for defining transactions from a log of a database, the log comprising data relating to changes to the database, the log data being stored in a plurality of records each having a plurality of fields, the method steps comprising: for each of a plurality of records in the log, determining whether the record relates to a transaction included in a transaction template; for each record that relates to a transaction included in the template, determining whether the record relates to a new transaction or an incomplete transaction; for each record relating to a new transaction, creating and storing an indicator for the transaction and inserting information relating to the record into the indicator; and for each record relating to an incomplete transaction, determining whether the record represents the end of the incomplete transaction and, if the record does not represent the end of the incomplete transaction, inserting information relating to the record into the previously created indicator for the incomplete transaction.
Claim 36
Dependent Claim
182 words
A computer usable medium having computer readable program code embodied in said medium for causing the computer to perform method steps for defining transactions from a log of a database, the log comprising data relating to changes to the database, the log data being stored in a plurality of records each having a plurality of fields, the method steps comprising: for each of a plurality of records in the log, determining whether the record relates to a transaction included in a transaction template; for each record that relates to a transaction included in the template, determining whether the record relates to a new transaction or an incomplete transaction; for each record relating to a new transaction, creating and storing an indicator for the transaction and inserting information relating to the record into the indicator; and for each record relating to an incomplete transaction, determining whether the record represents the end of the incomplete transaction and, if the record does not represent the end of the incomplete transaction, inserting information relating to the record into the previously created indicator for the incomplete transaction.