IP Library Granted Patent US 9,058,392
Granted Patent B1
US 9,058,392 · App. 13/427,636 · Granted Jun 16, 2015

Client state result de-duping

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,058,392
App. No.
13/427,636
Granted
Jun 16, 2015
Kind
B1
Abstract

Methods, systems, and computer-readable media for client state result de-duping may comprise receiving from a client a first query comprising one or more search terms; obtaining from a data store a first list of search results relevant to the one or more search terms; generating state information representing the first list of search results; sending a first response to the client that includes the first list of search results and the state information; receiving from the client a second query comprising the one or more search terms and the state information; obtaining a second list of search results comprising items that have been added to the data store since the first query; removing from the second list of search results one or more search results represented by the received state information; and sending a second response to the client that includes the second list of search results.

Claims (64)

1. A computer-implemented method of providing non-duplicative search results, comprising:

receiving from a client a first query comprising one or more search terms;

obtaining a first list of search results relevant to the one or more search terms;

generating a polling URL comprising one or more respective unique identifiers of each of the search results of the first list, each respective unique identifier representing content of a respective search result;

sending a first response to the client that includes the first list of search results and the polling URL;

identifying, from the polling URL, the one or more search terms and the one or more respective unique identifiers of each of the search results of the first list;

obtaining a second list of search results relevant to the one or more search terms;

identifying one or more respective unique identifiers representing content of each of the search results of the second list that match at least one of the one or more respective unique identifiers of a search result included in the polling URL;

updating the second list by removing one or more search results having the identified matching unique identifiers;

modifying the polling URL to include the respective unique identifiers of each remaining search result of the updated second list; and

sending a second response to the client that includes the updated second list and the modified polling URL.

2. The method of claim 1 , wherein the first list of search results includes search results that have been added to a data store within a specified period of time before the first query.

3. The method of claim 1 , wherein the first response further comprises a list of search results most relevant to the search terms.

4. The method of claim 1 , wherein generating the polling URL comprises:

encoding information that identifies URLs associated with the first list of search results in respective identifiers.

5. The method of claim 4 , wherein removing the one or more search results comprises:

removing from the second list of search results one or more search results having URLs identified by identifiers in the polling URL.

6. The method of claim 1 , wherein generating the polling URL comprises:

encoding information representing content of documents identified by the first list of search results in respective identifiers.

7. The method of claim 6 , wherein encoding information representing content of documents comprises:

computing a respective hash of a portion of content of each document.

8. The method of claim 1 , wherein

the polling URL includes the one or more search terms.

9. The method of claim 1 , wherein the first response further comprises client-executable code that instructs the client to send periodic queries for updated search results using the polling URL.

10. The method of claim 1 , wherein the identified matching unique identifiers represent duplicate content in respective search results of respective lists.

11. A system configured to provide non-duplicative search results, the system comprising:

a processing system comprising one more processors; and

a memory system comprising one or more computer-readable media, wherein the one or more computer-readable media contain instructions stored thereon that, when executed by the processing system, cause the processing system to perform operations comprising:

receiving from a client a first query comprising one or more search terms;

obtaining a first list of search results relevant to the one or more search terms;

generating a polling URL comprising one or more respective unique identifiers of each of the search results of the first list, each respective unique identifier representing content of a respective search result of the first list;

sending a first response to the client that includes the first list of search results and the polling URL;

identifying, from the polling URL, the one or more search terms and the one or more respective unique identifiers of each of the search results of the first list;

obtaining a second list of search results relevant to the one or more search terms;

identifying one or more respective unique identifiers representing content of each of the respective search results of the second list that match at least one of the one or more respective unique identifiers of a search result included in the polling URL;

updating the second list by removing one or more search results having the identified matching unique identifiers;

modifying the polling URL to include the respective unique identifiers of each remaining search result of the updated second list; and

sending a second response to the client that includes the updated second list and the modified polling URL.

12. The system of claim 11 , wherein the first list of search results includes search results that have been added to a data store within a specified period of time before the first query.

13. The system of claim 11 , wherein the first response further comprises a list of search results most relevant to the search terms.

14. The system of claim 11 , wherein generating the polling URL comprises:

encoding information that identifies URLs associated with the first list of search results in respective identifiers.

15. The system of claim 14 , wherein removing the one or more search results comprises:

removing from the second list of search results one or more search results having URLs identified by identifiers in the polling URL.

16. The system of claim 11 , wherein generating the polling URL comprises:

encoding information representing content of documents identified by the first list of search results in respective identifiers.

17. The system of claim 16 , wherein encoding information representing content of documents comprises:

computing a respective hash of a portion of content of each document.

18. The system of claim 11 , wherein

the polling URL includes the one or more search terms.

19. The system of claim 1 , wherein the first response further comprises client-executable code that instructs the client to send periodic queries for updated search results using the polling URL.

20. The system of claim 11 , wherein the identified matching unique identifiers represent duplicate content in respective search results of respective lists.

21. A non-transitory computer readable medium comprising instructions that when executed by one or more processors cause the one or more processors to perform operations comprising:

receiving from a client a first query comprising one or more search terms;

obtaining a first list of search results relevant to the one or more search terms;

generating a polling URL comprising one or more respective unique identifiers of each of the search results of the first list, each respective unique identifier representing content of a respective search result;

sending a first response to the client that includes the first list of search results and the polling URL;

identifying, from the polling URL, the one or more search terms and the one or more respective unique identifiers of each of the search results of the first list;

obtaining a second list of search results relevant to the one or more search terms;

identifying one or more respective unique identifiers representing content of each of the search results of the second list that match at least one of the one or more respective unique identifiers of a search result included in the polling URL;

updating the second list by removing one or more search results having the identified matching unique identifiers;

modifying the polling URL to include the respective unique identifiers of each remaining search result of the updated second list; and

sending a second response to the client that includes the updated second list and the modified polling URL.

22. The computer readable medium of claim 21 , wherein generating the polling URL comprises encoding information that identifies URLs associated with the first list of search results in respective identifiers and encoding information representing content of documents identified by the first list of search results in respective identifiers.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2012
From: PENNOCK, CHRIS; THAKUR, KUMAR MAYUR
To: GOOGLE INC.
Reel/Frame 027912/0679 →