Data store with lock-free stateless paging capacity
First Claim
1. A computer-implemented method for limiting the number of results returned from a data store containing data items, each of said data items having an ordinal ranking within said data store, said method comprising the steps of:
- receiving, by said data store, from a client device, an initial query comprising one or more query conditions;
upon receiving said initial query;
determining, by said data store, an initial subset of said data items that;
satisfy said query conditions, andhave lowest ordinal rankings among said data items;
generating, by said data store, a marker indicating the greatest ordinal ranking among said ordinal rankings of said initial subset of data items; and
returning, by said data store, to said client, an initial page of results comprising said initial subset of data items and said marker;
receiving, by said data store, from said client device, said marker with a subsequent query; and
upon receiving said marker with said subsequent query, said data store returning a subsequent page of results comprising data items that have a greater ordinal ranking than the data items included in said initial page of results, wherein said subsequent page of results is disjoint from said initial page of results.
4 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are a method and apparatus for limiting the number of results returned by a store in response to a query. Upon receiving an initial query, the data store returns a page of results that includes a subset of the data items within the data store satisfying the conditions of the query. The data store also provides a marker indicating the extent of the set of data items. If a subsequent query that requests additional results which satisfy the same query conditions and that includes the marker is received, the data store returns a page of results that includes a subset of data items that are disjoint from the initial subset, and provides an updated marker which indicates the extent of the union of the initial and subsequent subsets. If still further results are desired from the data store, an additional query containing the updated marker may be submitted.
81 Citations
16 Claims
-
1. A computer-implemented method for limiting the number of results returned from a data store containing data items, each of said data items having an ordinal ranking within said data store, said method comprising the steps of:
-
receiving, by said data store, from a client device, an initial query comprising one or more query conditions; upon receiving said initial query; determining, by said data store, an initial subset of said data items that; satisfy said query conditions, and have lowest ordinal rankings among said data items; generating, by said data store, a marker indicating the greatest ordinal ranking among said ordinal rankings of said initial subset of data items; and returning, by said data store, to said client, an initial page of results comprising said initial subset of data items and said marker; receiving, by said data store, from said client device, said marker with a subsequent query; and upon receiving said marker with said subsequent query, said data store returning a subsequent page of results comprising data items that have a greater ordinal ranking than the data items included in said initial page of results, wherein said subsequent page of results is disjoint from said initial page of results. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method for limiting the number of results returned from a data store containing data items, each of said data items having an ordinal ranking within said data store, said method comprising the steps of:
-
upon receiving, by said data store, from a client device, an initial query having query conditions; determining, by said data store, an initial subset of data items that; satisfy said query conditions, and have lowest ordinal ranking among said data items within said data store; generating, by said data store, an initial marker indicating an initial greatest ordinal ranking among said ordinal rankings of said initial subset of data items; and returning, by said data store, to said client, an initial page of results comprising said initial subset of data items and said initial marker; and upon receiving, by said data store, from said client device, said initial marker with a subsequent query having said query conditions, returning, by said data store, to said client device; a subsequent page of results comprising a subsequent subset of data items that; satisfy said query conditions, and have lowest ordinal ranking among said data items within said data store with ordinal ranking greater than said greatest ordinal ranking as indicated by said initial marker, and a subsequent marker indicating the greatest ordinal ranking among said ordinal rankings of said data items in said subsequent subset of data items; wherein receipt, by said data store, of said initial marker with said subsequent query enables said data store to return, to said client device, said subsequent subset of data items with said subsequent page of results that have a greater ordinal ranking than said initial subset of data items included in said initial page of results, wherein said subsequent page of results is disjoint from said initial page of results. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus for limiting the number of results returned to a client device from a data store, said data store containing data items, each of said data items having an ordinal ranking within said data store, said apparatus comprising:
-
a memory; and at least one processor in communication with the memory; wherein said at least one processor is configured to; receive, from said client device, an initial query comprising one or more query conditions; upon receiving said initial query; determine an initial subset of said data items in said data store that; satisfy said query conditions, and have lowest ordinal ranking among said data items; generate a marker indicating the greatest ordinal ranking among said ordinal rankings of said initial subset of data items; and return, to said client device, an initial page of results comprising said initial subset of data items and said maker; receive, from said client device, said marker with a subsequent query; and upon receiving said marker with said subsequent query, return a subsequent page of results from said data store, said subsequent page of results comprising data items that have a greater ordinal ranking than the data items included in said initial page of results, wherein said subsequent page of results is disjoint from said initial page of results.
-
-
16. A apparatus for limiting the number of results returned to a client device from a data store, said data store containing data items, each of said data items having an ordinal ranking within said data store, said apparatus comprising:
-
a memory; and at least one processor in communication with said memory, wherein said at least one processor is configured to; upon receiving, from said client device, an initial query having query conditions; determine an initial subset of data items that; satisfy said query conditions, and have lowest ordinal ranking among said data items within said data store; generate an initial marker indicating an initial greatest ordinal ranking among said ordinal rankings of said initial subset of data items; and return, to said client, an initial page of results comprising said initial subset of data items and said initial marker; and upon receiving said initial marker with a subsequent query having said query conditions, return to said client device; a subsequent page of results, form said data store, said subsequent page of results comprising a subsequent subset of data items that; satisfy said query conditions, and have lowest ordinal ranking among said data items within said data store with ordinal ranking greater than said greatest ordinal ranking as indicated by said initial marker; and a subsequent marker indicating the greatest ordinal ranking among said ordinal rankings of said data items in said subsequent subset of data items; wherein receipt of said initial marker with said subsequent query enables said data store to return, to said client device, said subsequent subset of data items with said subsequent page of results that have a greater ordinal ranking than said initial subset of data items included in said initial page of results, wherein said subsequent page of results is disjoint from said initial page of results.
-
Specification