Patent ID: 7617226

Claim:
A computer-implemented method of processing documents, comprising: on a document processing server having one or more processors and memory, storing a set of documents as a sequence of documents in a repository having a first end and a second end, wherein the first end comprises a front end of the repository and the second end comprises a back end of the repository; invalidating but not deleting a subset of the documents in the sequence; appending to the second end of the repository a copy of a valid document, wherein the valid document occupies storage space at the first end of the repository; after the appending, recovering storage space at the first end of the repository, including a first storage space occupied by the valid document at the first end and, if any, a second storage space occupied by a document of the invalidated subset that is adjacent to the valid document at the first end; repeating the appending and the recovering multiple times so as to recover space in the repository occupied by the invalidated subset of the documents; storing a plurality of index entries in an index, each index entry corresponding to a location in the repository of a portion of the sequence of documents; in conjunction with appending the copy of the valid document at the first end of the repository to the second end of the repository, inserting into the index respective index entries corresponding to respective locations in the repository of portions of the copy of the valid document; and invalidating index entries corresponding to repository locations in the recovered storage space.