×

Checkpointing iterators during search

  • US 8,316,036 B2
  • Filed: 08/29/2008
  • Issued: 11/20/2012
  • Est. Priority Date: 08/31/2007
  • Status: Active Grant
First Claim
Patent Images

1. A computer-readable storage medium that is not a signal having computer-executable instructions stored thereon which, when executed by a computer system, cause the computer system to perform a method comprising:

  • creating a plurality of iterators, one of the plurality of iterators being a parent iterator operating at least a further one of the plurality of iterators as a child iterator,the parent iterator comprisingfirst fixed state information that remains constant over a life of the parent iterator,first dynamic state information that is updated over the life of the parent iterator, anda first checkpoint mechanism that includes a first stack structure associated with a plurality of entries, the first checkpoint mechanism being responsive to an internal checkpoint command to copy at least one instance of only the first dynamic state information, and not the first fixed state information, into one of the entries of the first stack structure, and to update a first counter mechanism to indicate that a first checkpoint including only the first dynamic state information has been copied into the first stack structure, andthe child iterator comprisingsecond fixed state information that remains constant over a life of the child iterator,second dynamic state information that is updated over the life of the child iterator, anda second checkpoint mechanism that includes a second stack structure associated with a plurality of entries, the second checkpoint mechanism being responsive to an external checkpoint command received from the parent iterator to copy at least one instance of only the second dynamic state information, and not the second fixed state information, into one of the entries of the second stack structure, and to update a second counter mechanism to indicate that a second checkpoint including the second dynamic state information has been copied into the second stack structure;

    traversing at least the child iterator through at least a portion of at least one postings list in response to at least one search request;

    updating at least one instance of the second dynamic state information in response to traversing the child iterator through at least a portion of the postings list;

    storing the first checkpoint in the first stack structure, wherein the first checkpoint includes the first dynamic state information;

    storing the second checkpoint in the second stack structure, wherein the second checkpoint includes the second dynamic state information;

    restoring at least the child iterator to a previous state by copying the second dynamic state information from the second checkpoint; and

    restoring at least the parent iterator to the previous state by copying the first dynamic state information from the first checkpoint.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×