IP Library › Granted Patent US 10,146,842
Granted Patent B2
US 10,146,842 · App. 14/945,703 · Granted Dec 4, 2018

Pre-instantiating native applications in background

Inventors: Jaehyun Yeom (Mountain View, CA); Dong Ha Lee (Palo Alto, CA); Jongho Choy (San Jose, CA)
Assignee: Google LLC
G06F17/30554G06F3/04842G06F9/445G06F9/44594G06F9/485G06F17/2235G06F17/3053G06F17/30477G06F17/30867
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,146,842
App. No.
14/945,703
Granted
Dec 4, 2018
Kind
B2
Abstract

Methods, systems, and apparatus, for selecting one or more native application deep links from search results and instantiating, for each native application deep link that is selected, a background instance of the native application to which the native application deep link corresponds; determining, in response to an occurrence of a background unload event, background instances of the native applications instantiated from the native application deep links and that were not brought to the foreground prior to the occurrence of the background unload event; and terminating each of the background instances of the native applications instantiated that were not brought to the foreground prior to the occurrence of the background unload event.

Claims (50)

1. A computer-implemented method performed by data processing apparatus, the method comprising:

receiving, at a user device, a set of search results, wherein the set includes one or more search results that each include a native application deep link that instantiates an instance of a native application, wherein a native application generates environment instances for display on the user device within the native application, and the native application operates independent of a browser application that operates on the user device;

selecting, by the user device and prior to a user selection of a search result, one or more native application deep links from the search results;

instantiating, by the user device and prior to a user selection of a search result, for each native application deep link that is selected, a background instance of the native application to which the native application deep link corresponds;

generating, by the user device, a background unload event;

determining, by the user device and in response to the generation of the background unload event, background instances of the native applications instantiated from the native application deep links and that were not brought to a foreground instance prior to the generation of the background unload event; and

terminating, by the user device, each of the background instances of the native applications instantiated that were not brought to the foreground instance prior to the generation of the background unload event.

2. The computer-implemented method of claim 1 , further comprising:

receiving a user selection of a search result with a native application deep link; and

determining that the native application to which the native application deep link corresponds has been instantiated in a background instance, and in response causing the native application instantiated in a background instance to transition to a foreground instance.

3. The computer-implemented method of claim 2 , further comprising:

generating, for each native application deep link a unique identifier that corresponds to the native application to which the native application deep link corresponds; and

wherein instantiating, for each native application deep link that is selected, the background instance of the native application comprises instantiating the background instance using the unique identifier.

4. The computer-implemented method of claim 3 , further comprising:

for each native application that support multiple instances of the native application, associate each unique identifier with a corresponding unique instance of the native application.

5. The computer-implemented method of claim 4 , wherein causing the native application instantiated in the background instance to transition to a foreground instance comprises causing only the unique instance of the native application to transition to the foreground instance.

6. The method of claim 4 , wherein selecting, prior to the user selection of a search result, native application deep links from the search results comprise selecting only a single native application deep link for a native application that supports only a single instance of the native application.

7. The method of claim 1 , wherein selecting, prior to the user selection of a search result, native application deep links from the search results comprise selecting only a single native application deep link for a native application that supports only a single instance of the native application.

8. The method of claim 1 , wherein selecting, prior to the user selection of a search result, native application deep links from the search results comprise selecting only native application deep links from a proper subset of search results, wherein each search result in the proper subset meets a ranking threshold.

9. The method of claim 8 , wherein the ranking threshold is based on a minimum ordinal position of a search result.

10. The method of claim 8 , wherein the ranking threshold is based on a minimum relevance score for a query.

11. The method of claim 8 , wherein the ranking threshold is based on user preferences for the native application.

12. The method of claim 1 , wherein the background unload event occurs at an expiration of a timeout period measured from the instantiation of the background instances of the native application.

13. The method of claim 1 , wherein the background unload event occurs upon an unloading of a page in which the set of search results are displayed.

14. A system, comprising:

a data processing apparatus; and

software stored in non-transitory computer readable storage medium storing instructions executable by the data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:

receiving a set of search results, wherein the set includes one or more search results that each include a native application deep link that instantiates an instance of a native application, wherein a native application generates environment instances for display on a user device within the native application, and the native application operates independent of a browser application that operates on the user device;

selecting, prior to a user selection of a search result, one or more native application deep links from the search results;

instantiating, prior to a user selection of a search result, for each native application deep link that is selected, a background instance of the native application to which the native application deep link corresponds;

generating a background unload event;

determining, in response to the generation of the background unload event, background instances of the native applications instantiated from the native application deep links and that were not brought to a foreground instance prior to the generation of the background unload event; and

terminating each of the background instances of the native applications instantiated that were not brought to the foreground instance prior to the generation of the background unload event.

15. The system of claim 14 , the operations further comprising:

receiving a user selection of a search result with a native application deep link; and

determining that the native application to which the native application deep link corresponds has been instantiated in a background instance, and in response causing the native application instantiated in a background instance to transition to a foreground instance.

16. The system of claim 15 , the operations further comprising:

generating, for each native application deep link a unique identifier that corresponds to the native application to which the native application deep link corresponds; and

wherein instantiating, for each native application deep link that is selected, the background instance of the native application comprises instantiating the background instance using the unique identifier.

17. The system of claim 16 , the operations further comprising:

for each native application that support multiple instances of the native application, associate each unique identifier with a corresponding unique instance of the native application.

18. The system of claim 14 , wherein selecting, prior to the user selection of a search result, native application deep links from the search results comprise selecting only native application deep links from a proper subset of search results, wherein each search result in the proper subset meets a ranking threshold.

19. The system of claim 18 , wherein the ranking threshold is based on a minimum ordinal position of a search result.

20. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:

receiving a set of search results, wherein the set includes one or more search results that each include a native application deep link that instantiates an instance of a native application, wherein a native application generates environment instances for display on a user device within the native application, and the native application operates independent of a browser application that operates on the user device;

selecting, prior to a user selection of a search result, one or more native application deep links from the search results;

instantiating, prior to a user selection of a search result, for each native application deep link that is selected, a background instance of the native application to which the native application deep link corresponds;

generating a background unload event;

determining, in response to the generation of the background unload event, background instances of the native applications instantiated from the native application deep links and that were not brought to a foreground instance prior to the occurrence of the background unload event; and

terminating each of the background instances of the native applications instantiated that were not brought to the foreground instance prior to the occurrence of the background unload event.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2015
From: YEOM, JAEHYUN; LEE, DONG HA; CHOY, JONGHO
To: GOOGLE INC.
Reel/Frame 037095/0674 →
Continuity (1)
Related Publication 20170147658A1 · May 25, 2017
Cited By (2)
US 12,314,273 US 12,737,215