← Back to Patent Explorer
US6067541A Expired / Lapsed US ⏱️ 0.0 years remaining

Monitoring document changes in a file system of documents with the document change information stored in a persistent log

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-09-17
•
Granted: 2000-05-23
•
Expires: 2017-09-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for improved monitoring of document changes in a search engine by an indexing program. Once an indexing or other such monitoring program is halted, upon restart the monitoring program needs to update its own files and its indexes to reflect document changes that occurred while halted. A file system such as the Windows NT file system persistently logs document change information on disk in a monotonically increasing, uniquely-numbered persistent record, which further identifies the file that has changed. The method and system utilize the logged change information to efficiently maintain the indexes, and to rapidly update the indexes after a shutdown and subsequent restart.

Inventors

  • 👤 Sitaram C. V. Raju
  • 👤 Srikanth Shoroff
  • 👤 Kyle G. Peltonen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 22:17
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/10; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 52
Claim 1
Independent Claim 109 words
In a computer system having a file system of documents, wherein the file system stores document change information in a persistent log of records, a method of updating at least one other file of document information, comprising the steps of, receiving notification of an addition to the persistent log, reading a record from the persistent log, processing the record to obtain change information about a document and a sequence number representative of the position of the document change information relative to other document change information, updating the other file based on the change information of the document, and recording the sequence number of the record in a persistent storage.
Claim 2
Dependent Claim 109 words
In a computer system having a file system of documents, wherein the file system stores document change information in a persistent log of records, a method of updating at least one other file of document information, comprising the steps of, receiving notification of an addition to the persistent log, reading a record from the persistent log, processing the record to obtain change information about a document and a sequence number representative of the position of the document change information relative to other document change information, updating the other file based on the change information of the document, and recording the sequence number of the record in a persistent storage.
Claim 3
Dependent Claim 40 words
The method of claim 1 wherein the step of processing the record includes the steps of writing the record to a memory, periodically serializing the record into a persistent data structure and reading the record from the persistent data structure.
Claim 4
Dependent Claim 37 words
The method of claim 1 wherein the step of processing the record includes the steps of writing the record to a memory, periodically serializing the record into a cache, structure and reading the record from the cache.
Claim 5
Dependent Claim 30 words
The method of claim 1 wherein the records are serially added to the log file and the sequence number corresponds to a location of each record in the log file.
Claim 6
Dependent Claim 62 words
The method of claim 1 wherein the step of updating the other file includes the steps of obtaining a document identifier and the change information from the record that was read from the persistent data structure, providing the document identifier and the change information to a search engine for updating the other file, and removing the record from the persistent data storage.
Claim 7
Dependent Claim 35 words
The method of claim 1 further comprising the steps of retrieving the sequence number of the record from the persistent storage, and reading a record from the persistent log based on the sequence number retrieved.
Claim 8
Dependent Claim 47 words
The method of claim 6 further comprising the steps of reading at least one other record from the persistent log that is later in sequence than the record corresponding to the retrieved sequence number, and processing that record to obtain change information about a document corresponding thereto.
Claim 9
Dependent Claim 71 words
The method of claim 1 further comprising the steps of receiving directory information from a user, reading a plurality of sequential records from the log file, filtering the plurality of records based on the directory information to obtain a subset of records, and processing the subset of records to obtain change information about a plurality of documents and sequence numbers representative of the location of the records in the log file.
Claim 10
Dependent Claim 14 words
The method of claim 1 further comprising the step of waiting for the notification.
Claim 11
Dependent Claim 25 words
The method of claim 9 wherein the step of waiting for the notification of the new record comprises the step of polling for the notification.
Claim 12
Dependent Claim 32 words
The method of claim 9 wherein the step of waiting for the notification of the new record comprises the step of awaiting the receipt of a signal indicative of the new record.
Claim 13
Dependent Claim 39 words
The method of claim 1 wherein the other file is an index containing document properties, and wherein the step of updating the other file includes the step of modifying the index based on a changed property of the document.
Claim 14
Dependent Claim 58 words
The method of claim 1 wherein the documents are stored on a plurality of volumes, wherein the file system serially stores document change information in a plurality of persistent logs of records, with each log corresponding to a volume, and further comprising the step of attaching a volume identifier to each record read from one of the logs.
Claim 15
Dependent Claim 108 words
In a computer system having a file system of documents, wherein the file system stores information about changed documents in a persistent log of records, and wherein each record contains a document identifier corresponding to the document, a system for updating at least one index which includes document properties, comprising, means for receiving a notification of a new record in the log, an interface for reading the new record from the persistent log, means for processing the record to obtain the document identifier and change information about the document corresponding thereto, and a search engine for updating the index based on the document identifier and the change information.
Claim 16
Dependent Claim 108 words
In a computer system having a file system of documents, wherein the file system stores information about changed documents in a persistent log of records, and wherein each record contains a document identifier corresponding to the document, a system for updating at least one index which includes document properties, comprising, means for receiving a notification of a new record in the log, an interface for reading the new record from the persistent log, means for processing the record to obtain the document identifier and change information about the document corresponding thereto, and a search engine for updating the index based on the document identifier and the change information.
Claim 17
Dependent Claim 56 words
The system of claim 14 wherein each record further includes a sequence number indicative of the relative position of the record in the log, and wherein the means for processing the record includes means for obtaining the sequence number therefrom, and further comprising a persistent data structure for recording the sequence number of the new record.
Claim 18
Dependent Claim 40 words
The system of claim 15 further comprising means for retrieving the sequence number from the persistent data structure, and means for providing a value based on that sequence number to the interface for reading a record corresponding to the value.
Claim 19
Dependent Claim 88 words
The system of claim 15 wherein the documents are stored on a plurality of separate volumes and wherein the file system serially stores the document change information in a plurality of persistent logs of records, with each log corresponding to a volume, further comprising means for attaching a volume identifier to each record read from one of the logs, and wherein the persistent data structure for recording the sequence number of the new record includes a plurality of locations for recording a sequence number for each separate volume.
Claim 20
Dependent Claim 53 words
The system of claim 15 further comprising at least one other file system that does not store information about changed documents in a persistent log of records, and further comprising means for receiving other change notifications from the other file system and means for updating another index based on the other change notifications.
Claim 21
Dependent Claim 43 words
The system of claim 14 further comprising a memory for storing the record read from the log, means for serializing the record into a persistent data structure, and wherein the means for processing the record includes means for reading the persistent data structure.
Claim 22
Dependent Claim 22 words
The system of claim 14 wherein the means for receiving a notification includes means for receiving a signal from the file system.
Claim 23
Dependent Claim 16 words
The system of claim 14 wherein the means for receiving a notification includes a polling mechanism.
Claim 24
Dependent Claim 111 words
In a computer system having a file system of documents, wherein the file system stores document change information in a persistent log of records, a method of updating at least one index of document properties with document information, comprising the steps of, reading a record from the persistent log, processing the record to obtain change information about a document and a sequence number representative of the relative position of the record in the log file, updating the index based on the change information of the document by modifying the index based on a changed property of the document, and recording the sequence number of the record in a persistent data structure.
Claim 25
Dependent Claim 111 words
In a computer system having a file system of documents, wherein the file system stores document change information in a persistent log of records, a method of updating at least one index of document properties with document information, comprising the steps of, reading a record from the persistent log, processing the record to obtain change information about a document and a sequence number representative of the relative position of the record in the log file, updating the index based on the change information of the document by modifying the index based on a changed property of the document, and recording the sequence number of the record in a persistent data structure.
Claim 26
Dependent Claim 36 words
The method of claim 22 further comprising the steps of retrieving the sequence number of the record from the persistent data structure, and reading a record from the persistent log based on the sequence number retrieved.
Claim 27
Dependent Claim 49 words
The method of claim 23 further comprising the steps of reading at least one other record from the persistent log that is later in sequence than the record based on to the retrieved sequence number, and processing the other record to obtain change information about a document corresponding thereto.
Claim 28
Dependent Claim 99 words
The method of claim 22 further comprising the steps of receiving directory information from a user, reading a plurality of sequential records from the log file, filtering the plurality of records based on the directory information to obtain a subset of records, processing the subset of records to obtain change information about a plurality of documents and sequence numbers representative of the location of the records in the log file, updating the index based on the change information of the documents, and recording the sequence number of the record having the highest sequence number in a persistent data structure.
Claim 29
Dependent Claim 27 words
The method of claim 22 further comprising the steps of waiting for a notification of a new record added to the persistent log and receiving the notification.
Claim 30
Dependent Claim 28 words
The method of claim 26 wherein the step of waiting for the notification of the new record comprises the step of polling the file system for the notification.
Claim 31
Dependent Claim 31 words
The method of claim 26 wherein the step of waiting for the notification of the new record comprises the step of awaiting the receipt of a signal from the file system.
Claim 32
Dependent Claim 40 words
The method of claim 22 wherein the step of processing the record includes the steps of writing the record to a memory, periodically serializing the record into a persistent data structure and reading the record from the persistent data structure.
Claim 33
Dependent Claim 60 words
The method of claim 29 wherein the step of updating the index includes the steps of obtaining a document identifier and the change information from the record that was read from the persistent data structure, providing the document identifier and the change information to a search engine for updating the indexes, and removing the record from the persistent data structure.
Claim 34
Dependent Claim 99 words
The method of claim 22 wherein the documents are stored on a plurality of volumes and wherein the file system serially stores document change information in a plurality of persistent logs of records, with each log corresponding to a volume, further comprising the step of attaching a volume identifier to each record read from one of the logs, the volume identifier corresponding to the volume of that log, and wherein the step of recording the sequence number of the record in a persistent data structure includes the step of recording the sequence number in association with the volume identifier.
Claim 35
Dependent Claim 127 words
The method of claim 22 further comprising the steps of detecting an error when reading a record, and in response, determining a set of documents indexed in the index, selecting a tree of documents in the file system and selecting each document in that tree, determining if each selected document is indexed in the index, and if not, indexing that document in the index, determining if a document is indexed in the index but is not in the tree and if so, removing the indexing of that document from the index, and if a selected document is in the tree and is indexed in the index, determining if the document in the tree is synchronized with the document in the index, and if not, re-indexing that document.
Claim 36
Dependent Claim 28 words
The method of claim 22 further comprising the steps of detecting a corrupt index, and reconstructing the index by scanning a tree of documents in the file system.
Claim 37
Dependent Claim 103 words
In a computer system having a source of changeable data wherein change information about changes to the changeable data are provided in a persistent log of records, a method of updating a data structure, comprising the steps of, receiving notification of a change to the persistent log, reading a record from the persistent log, processing the record to obtain data change information and a sequence number representative of the position of that change information relative to other change information, updating the data structure based on the change information of the document, and recording the sequence number of the record in a persistent storage.
Claim 38
Dependent Claim 103 words
In a computer system having a source of changeable data wherein change information about changes to the changeable data are provided in a persistent log of records, a method of updating a data structure, comprising the steps of, receiving notification of a change to the persistent log, reading a record from the persistent log, processing the record to obtain data change information and a sequence number representative of the position of that change information relative to other change information, updating the data structure based on the change information of the document, and recording the sequence number of the record in a persistent storage.
Claim 39
Dependent Claim 40 words
The method of claim 34 wherein the step of processing the record includes the steps of writing the record to a memory, periodically serializing the record into a persistent data structure and reading the record from the persistent data structure.
Claim 40
Dependent Claim 14 words
The method of claim 34 wherein the source of data is a file system.
Claim 41
Dependent Claim 13 words
The method of claim 34 wherein the source of data is a database.
Claim 42
Dependent Claim 12 words
The method of claim 34 wherein the data structure is a file.
Claim 43
Dependent Claim 12 words
The method of claim 34 wherein the data structure is an index.
Claim 44
Dependent Claim 61 words
The method of claim 39 wherein the step of updating the other file includes the steps of obtaining a document identifier and the change information from the record that was read from the persistent data structure, providing the document identifier and the change information to a search engine for updating the index, and removing the record from the persistent data storage.
Claim 45
Dependent Claim 107 words
In a computer system having a file system of documents, wherein the file system stores document change information in a persistent log of records, a method of updating at least one index comprising document properties, comprising, reading a record from the persistent log, processing the record to obtain change information about a document and a sequence number representative of the position of the document change information relative to other document change information, updating the index based on the change information of the document by modifying the index based on a changed property of the document, and recording the sequence number of the record in a persistent storage.
Claim 46
Dependent Claim 107 words
In a computer system having a file system of documents, wherein the file system stores document change information in a persistent log of records, a method of updating at least one index comprising document properties, comprising, reading a record from the persistent log, processing the record to obtain change information about a document and a sequence number representative of the position of the document change information relative to other document change information, updating the index based on the change information of the document by modifying the index based on a changed property of the document, and recording the sequence number of the record in a persistent storage.
Claim 47
Dependent Claim 123 words
In a computer system having a file system of documents stored on a plurality of volumes, wherein the file system serially stores document change information in a plurality of persistent logs of records with each log corresponding to a volume, a method of updating at least one other file of document information, comprising, reading a record from one of the persistent logs, attaching a volume identifier to the record read, processing the record to obtain change information about a document and a sequence number representative of the position of the document change information relative to other document change information, updating the other file based on the change information of the document, and recording the sequence number of the record in a persistent storage.
Claim 48
Dependent Claim 123 words
In a computer system having a file system of documents stored on a plurality of volumes, wherein the file system serially stores document change information in a plurality of persistent logs of records with each log corresponding to a volume, a method of updating at least one other file of document information, comprising, reading a record from one of the persistent logs, attaching a volume identifier to the record read, processing the record to obtain change information about a document and a sequence number representative of the position of the document change information relative to other document change information, updating the other file based on the change information of the document, and recording the sequence number of the record in a persistent storage.
Claim 49
Dependent Claim 144 words
A computer-readable medium having computer-executable instructions for performing steps to update an index, wherein change information about changes to a source of changeable data are maintained in a persistent log, the steps comprising: reading a set of change information from the persistent log; processing the set of change information to obtain data change information and a sequence number representative of the position of the set of change information relative to other change information; updating the index based on the change information of the document, including obtaining a document identifier and the change information from the set that was read from the persistent data structure, providing the document identifier and the change information to a search engine for updating the index, and removing the set of change information from the persistent data storage; and recording the sequence number of the set in a persistent storage.
Claim 50
Dependent Claim 144 words
A computer-readable medium having computer-executable instructions for performing steps to update an index, wherein change information about changes to a source of changeable data are maintained in a persistent log, the steps comprising: reading a set of change information from the persistent log; processing the set of change information to obtain data change information and a sequence number representative of the position of the set of change information relative to other change information; updating the index based on the change information of the document, including obtaining a document identifier and the change information from the set that was read from the persistent data structure, providing the document identifier and the change information to a search engine for updating the index, and removing the set of change information from the persistent data storage; and recording the sequence number of the set in a persistent storage.
Claim 51
Dependent Claim 109 words
In a computer system having a file system of documents, wherein the file system stores document change information in a persistent log of records, a method of updating at least one other file of document information, comprising, reading a record corresponding to a document from the persistent log, appending the record to a queue independent of whether the queue has another corresponding record queued for the document, processing the record to obtain change information about the document and a sequence number representative of the position of the document change information relative to other document change information, and updating the other file based on the change information of the document.
Claim 52
Dependent Claim 109 words
In a computer system having a file system of documents, wherein the file system stores document change information in a persistent log of records, a method of updating at least one other file of document information, comprising, reading a record corresponding to a document from the persistent log, appending the record to a queue independent of whether the queue has another corresponding record queued for the document, processing the record to obtain change information about the document and a sequence number representative of the position of the document change information relative to other document change information, and updating the other file based on the change information of the document.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-05-23 2003-11-22 2004-05-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-05-23 2007-11-22 2008-05-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-05-23 2011-11-22 2012-05-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag