Patent Document ID: 7634517
Application ID: 11352024

Base Claim:
1. A computer-implemented method of processing documents, comprising: storing a first version of a document within an accessible range of a repository that stores multiple documents, the repository stored in memory, the accessible range comprising a range of positions in the repository and having first and second ends, wherein documents stored in the accessible range are accessible by a plurality of threads; receiving a second version of the document; storing the second version of the document in the repository outside of the accessible range; modifying the second end of the accessible range of the repository to include the second version previously stored outside of the accessible range of the repository, wherein after the modifying both the first version of the document and second version of the document are accessible by the plurality of threads; invalidating but not deleting the first version of the document, wherein the invalidated first version of the document continues to remain accessible to those of the executing queries that began execution prior to the invalidating and that utilize the first version of the document, while those of the executing queries that begin execution after the invalidating of the first version of the document cannot access the invalidated first version of the document; executing queries against the repository in the plurality of threads, including continuing to execute queries without interruption during said operations of receiving the second version of the document, storing the second version of the document in the repository, modifying the second end of the accessible range of the repository, and invalidating the first version of the document; deleting the invalidated first version of the document when it is no longer referenced by any active threads; and storing a plurality of index records in an index, each record associated with a unique term in the first or second versions of the document, and having an associated accessible range of entries specifying repository locations of the associated term.

---

Claim 3:
3. The method of claim 1 , wherein the executing comprises: executing, by each thread, a respective sequence of queries, each query executed using the range of the repository that was accessible while initiating execution of the query without regard to any changes made to the accessible range of the repository during execution of the query.