IP Library Granted Patent US 10,261,951
Granted Patent B2
US 10,261,951 · App. 15/085,194 · Granted Apr 16, 2019

Local search of non-local search results

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 10,261,951
App. No.
15/085,194
Granted
Apr 16, 2019
Kind
B2
Abstract

In an example embodiment, a local search of non-local search results is introduced such that when an initial call is performed, the entire list of non-local search results is saved locally on the mobile device. When subsequent searches are to be performed after additional characters are typed in a search box, these subsequent searches are performed on the list of non-local search results that has been saved locally. As long as a preset, threshold number of matching search results is found from the list of non-local search results that has been saved locally, no additional calls to the server need to be made. If at any point the number of matching search results found from the list of non-local search results that had been saved locally falls below the threshold, then a call to the server is made for a refreshed list of non-local search results.

Claims (68)

1. A computerized method for executing a local search of non-local search results to a query performed on a mobile device, the method comprising:

receiving a portion of a query;

determining if it is appropriate for a call to be made for search results responsive to the portion of the query;

in response to a determination that it is appropriate for a call to be made for search results responsive to the portion of the query:

calling for results to the query from a non-local data source separated from the mobile device by a network;

receiving results to the query from the non-local data source;

displaying the results to the query from the non-local data source in a user interface of the mobile device;

saving the results to the query from the non-local data source in a local database of the mobile device;

receiving a further portion of the query;

calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device;

determining if a number of results obtained by the calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device exceeds a preset threshold, wherein the preset threshold is non-zero;

in response to a determination that the number of results obtained by the calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device exceeds a preset threshold, displaying the results to the query from the non-local data source stored in the local database of the mobile device.

2. The method of claim 1 , further comprising:

in response to a determination that the number of results obtained by the calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device does not exceed the preset threshold;

calling for results to the query from a non-local data source separated from the mobile device by a network;

receiving results to the query from the non-local data source;

displaying the results to the query from the non-local data source in a user interface of the mobile device; and

saving the results to the query from the non-local data source in a local database of the mobile device.

3. The method of claim 1 , wherein the network is a cellular network.

4. The method of claim 1 , wherein the determining if it is appropriate for a call to be made for search results responsive to the portion of the query is based on a determination that a delay time between characters entered in the user interface exceeds a threshold delay time.

5. The method of claim 1 , wherein the determining if it is appropriate for a call to be made for search results responsive to the portion of the query is based on a determination that a preset number of characters has been entered.

6. The method of claim 5 , wherein the preset number of characters is determined dynamically based on identity of a search and bandwidth of the network.

7. The method of claim 1 , wherein the preset threshold is determined dynamically based on bandwidth of the network.

8. A system comprising: a non-transitory computer-readable medium having instructions stored there on, which, when executed by a processor, cause the system to:

receive a portion of a query;

determine if it is appropriate for a call to be made for search results responsive to the portion of the query;

in response to a determination that it is appropriate for a call to be made for search results responsive to the portion of the query;

call for results to the query from a non-local data source separated from the mobile device by a network;

receive results to the query from the non-local data source;

display the results to the query from the non-local data source in a user interface of the mobile device;

save the results to the query from the non-local data source in a local database of the mobile device;

receive a further portion of the query;

call for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device;

determine if a number of results obtained by the calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device exceeds a preset threshold, wherein the preset threshold is non-zero;

in response to a determination that the number of results obtained by the calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device exceeds a preset threshold, display the results to the query from the non-local data source stored in the local database of the mobile device.

9. The system of claim 8 , wherein the instructions further cause the system to:

in response to a determination that the number of results obtained by the calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device does not exceed the preset threshold:

call for results to the query from a non-local data source separated from the mobile device by a network;

receive results to the query from the non-local data source;

display the results to the query from the non-local data source in a user interface of the mobile device; and

save the results to the query from the non-local data source in a local database of the mobile device.

10. The system of claim 8 , wherein the network is a cellular network.

11. The system of claim 8 , wherein the determining if it is appropriate for a call to be made for search results responsive to the portion of the query is based on a determination that a delay time between characters entered in the user interface exceeds a threshold delay time.

12. The system of claim 8 , wherein the determining if it is appropriate for a call to be made for search results responsive to the portion of the query is based on a determination that a preset number of characters has been entered.

13. The system of claim 12 , wherein the preset number of characters is determined dynamically based on identity of a search and bandwidth of the network.

14. The system of claim 8 , wherein the preset threshold is determined dynamically based on bandwidth of the network.

15. A non-transitory machine-readable storage medium comprising instructions, which when implemented by one or more machines, cause the one or more machines to perform operations comprising:

receiving a portion of a query;

determining if it is appropriate for a call to be made for search results responsive to the portion of the query;

in response to a determination that it is appropriate for a call to be made for search results responsive to the portion of the query:

calling for results to the query from a non-local data source separated from the mobile device by a network;

receiving results to the query from the non-local data source;

displaying the results to the query from the non-local data source in a user interface of the mobile device;

saving the results to the query from the non-local data source in a local database of the mobile device;

receiving a further portion of the query;

calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device;

determining if a number of results obtained by the calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device exceeds a preset threshold, wherein the preset threshold is non-zero;

in response to a determination that the number of results obtained by the calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device exceeds a preset threshold, displaying the results to the query from the non-local data source stored in the local database of the mobile device.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the operations further comprise:

in response to a determination that the number of results obtained by the calling for results to the query from the results from the query from the non-local data source stored in the local database of the mobile device does not exceed the preset threshold;

calling for results to the query from a non-local data source separated from the mobile device by a network;

receiving results to the query from the non-local data source;

displaying the results to the query from the non-local data source in a user interface of the mobile device; and

saving the results to the query from the non-local data source in a local database of the mobile device.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the network is a cellular network.

18. The non-transitory machine-readable storage medium of claim 15 , wherein the determining if it is appropriate for a call to be made for search results responsive to the portion of the query is based on a determination that a delay time between characters entered in the user interface exceeds a threshold delay time.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the determining if it is appropriate for a call to be made for search results responsive to the portion of the query is based on a determination that a preset number of characters has been entered.

20. The non-transitory machine-readable storage medium of claim 19 , wherein the preset number of characters is determined dynamically based on identity of a search and bandwidth of the network.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF FIRST INVENTORS NAME PREVIOUSLY RECORDED ON REEL 038139 FRAME 0988. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 6, 2016
From: EL KAISSI, MUHIEDDINE; PALANI, SIDHARTHA ANDREW
To: LINKEDIN CORPORATION
Reel/Frame 038363/0895 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2016
From: KAISSI, MUHIEDDINE EL; PALANI, SIDHARTHA ANDREW
To: LINKEDIN CORPORATION
Reel/Frame 038139/0988 →