Checkpointing iterators during search
First Claim
1. A computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer system, cause the computer system to perform a method comprising:
- instantiating at least one iterator in response to a search request, wherein the iterator includes fixed state information that remains constant over a life of the iterator, and includes dynamic state information that is updated over the life of the iterator;
creating a storage structure associated with the iterator and storing a representation of the dynamic state information in the storage structure;
creating a stack structure that includes a plurality of entries, further storing the representation of the dynamic state information in one of the entries, and further storing at least a further representation of a further instance of the dynamic state information in a further one of the entries;
traversing the iterator through at least a portion of at least one postings list in connection with performing a search in response to the search request;
updating at least one instance of the dynamic state information, as the iterator traverses through at least the portion of the postings list while performing the search; and
evaluating whether to create a checkpoint of the iterator at one or more points during the iterator traversing through at least the portion of the postings list while performing the search, wherein the checkpoint includes at least a representation of the dynamic state information at one of the points.
4 Assignments
0 Petitions
Accused Products
Abstract
Tools and techniques are described herein for checkpointing iterators during search. These tools may provide methods that include instantiating iterators in response to a search request. The iterators include fixed state information that remains constant over a life of the iterator, and further include dynamic state information that is updated over the life of the iterator. The iterators traverse through postings lists in connection with performing the search request. As the iterators traverse the posting lists, the iterators may update their dynamic state information. The iterators may then evaluate whether to create checkpoints, with the checkpoints including representations of the dynamic state information.
-
Citations
20 Claims
-
1. A computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer system, cause the computer system to perform a method comprising:
-
instantiating at least one iterator in response to a search request, wherein the iterator includes fixed state information that remains constant over a life of the iterator, and includes dynamic state information that is updated over the life of the iterator; creating a storage structure associated with the iterator and storing a representation of the dynamic state information in the storage structure; creating a stack structure that includes a plurality of entries, further storing the representation of the dynamic state information in one of the entries, and further storing at least a further representation of a further instance of the dynamic state information in a further one of the entries; traversing the iterator through at least a portion of at least one postings list in connection with performing a search in response to the search request; updating at least one instance of the dynamic state information, as the iterator traverses through at least the portion of the postings list while performing the search; and evaluating whether to create a checkpoint of the iterator at one or more points during the iterator traversing through at least the portion of the postings list while performing the search, wherein the checkpoint includes at least a representation of the dynamic state information at one of the points. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer system, cause the computer system to perform a method comprising:
-
traversing an iterator through at least a portion of at least one postings list in response to at least one search request, wherein the iterator includes fixed state information that remains constant over a life of the iterator, and dynamic state information that is updated over the life of the iterator, wherein the iterator includes a storage structure associated with the iterator for storing a representation of the dynamic state information, wherein a stack structure includes a pima it of entries for storing the representation of the dynamic state information in one of the entries and for storing at least a further representation of a further instance of the dynamic state information in a further one of the entries, wherein the storage structure further includes a representation of at least one checkpoint, and wherein the checkpoint represents at least one instance of the dynamic state information at a particular point during the iterator traversing through at least the portion of the postings list while performing a search; updating at least one instance of the dynamic state information as the iterator traverses through at least the portion of the postings list while performing the search; and evaluating whether to restore the iterator to a previous state represented by the dynamic state information represented by the checkpoint. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method comprising computer-implemented operations for:
-
instantiating at least one iterator in response to a search request, wherein the iterator includes fixed state information that remains constant over a life of the iterator, and includes dynamic state information that is updated over the life of the iterator; creating a storage structure associated with the iterator and storing a representation of the dynamic state information in the storage structure; creating a stack structure that includes a plurality of entries, further storing the representation of the dynamic state information in one of the entries, and further storing at least a further representation of a further instance of the dynamic state information in a further one of the entries; traversing the iterator through at least a portion of at least one postings list in connection with performing a search in response to the search request; updating at least one instance of the dynamic state information, as the iterator traverses through at least the portion of the postings list while performing the search; and evaluating whether to create a checkpoint of the iterator at one or more points during the iterator traversing through at least the portion of the postings list while performing the search, wherein the checkpoint includes at least a representation of the dynamic state information at one of the points. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification