IP Library Granted Patent US 10,073,911
Granted Patent B2
US 10,073,911 · App. 14/750,082 · Granted Sep 11, 2018

Deep links for native applications

Inventors: Lawrence Chang (Foster City, CA); Hui Xu (Sunnyvale, CA)
Assignee: Google LLC
G06F17/30864G06F17/3089G06F17/30887
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,073,911
App. No.
14/750,082
Filed
Jun 25, 2015
Granted
Sep 11, 2018
Kind
B2
Art Unit
2161
USPC
707/711
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for automatically generating native application deep links and indexing content retrieved from the deep links.

Claims (48)

1. A computer-implemented method performed by data processing apparatus comprising one or more computers in data communication, the method comprising:

receiving publisher affiliation data for native applications that define, for each native application, an affiliated publisher for the native application;

for each native application of a set of native applications, determining, based on the publisher affiliation data, whether the native application is affiliated with a publisher that provides content addressed by URLs for the publisher that are also URIs determined for the native application, the determining comprising:

determining a URI pattern for the native application;

determining whether the URI pattern defines an affiliated publisher for the native application that matches an affiliated publisher for the native application specified by the publisher affiliation data, the determining comprising determining whether the URI has a host name that matches a domain of the publisher, wherein a match of a host name of the URI to the domain of the publisher results in a positive determination, and not matching the host name of the URI to the domain of the publisher results in a negative determination; and

determining that that native application is affiliated with the publisher only when the URI pattern for the native application defines an affiliated publisher for the native application that matches an affiliated publisher for the native application specified by the publisher affiliation data;

for only the native applications that are determined to be affiliated with a publisher that provides content addressed by URIs determined for the native application;

selecting URIs that are URLs for a publisher host, the selecting based on the URI pattern determined for the native application, wherein each URL selected is a URL that begins with the URI pattern determined for the native application; and

indexing content accessible by the URI for the native application in an index that is searchable by a search engine.

2. The computer-implemented method of claim 1 , wherein determining the URI pattern for the native application comprises processing a native application manifest file for data describing the URI pattern.

3. The computer-implemented method of claim 1 , wherein the publisher affiliation data for each native application defines an affiliation between a domain of a publisher and a native application identifier of a native application.

4. The computer-implemented method of claim 1 , wherein selecting URIs based on the URI pattern for the native application comprises selecting, from an index, URIs that include the URI pattern.

5. The computer implemented method of claim 4 , wherein the URIs are uniform resource locators (URLs).

6. The computer-implemented method of claim 1 , wherein selecting URIs based on the URI pattern for the native application comprises:

instantiating the native application and selecting a first URI based on the URI pattern to generate an application page in the native application display environment;

iterative processing linked application pages for the native application until a cessation event occurs, the iterative processing comprising for each iteration;

determining, from the application page, outbound URIs including in the first application page; and

selecting one or more of the outbound URIs to generate one or more subsequent application pages in the native application display environment.

7. 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 publisher affiliation data for native applications that define, for each native application, an affiliated publisher for the native application;

for each native application of a set of native applications, determining, based on the publisher affiliation data, whether the native application is affiliated with a publisher that provides content addressed by URLs for the publisher that are also URIs determined for the native application, the determining comprising:

determining a URI pattern for the native application;

determining whether the URI pattern defines an affiliated publisher for the native application that matches an affiliated publisher for the native application specified by the publisher affiliation data, the determining comprising determining whether the URI has a host name that matches a domain of the publisher, wherein a match of a host name of the URI to the domain of the publisher results in a positive determination, and not matching the host name of the URI to the domain of the publisher results in a negative determination; and

determining that that native application is affiliated with the publisher only when the URI pattern for the native application defines an affiliated publisher for the native application that matches an affiliated publisher for the native application specified by the publisher affiliation data;

for only the native applications that are determined to be affiliated with a publisher that provides content addressed by URIs determined for the native application;

selecting URIs that are URLs for a publisher host, the selecting based on the URI pattern determined for the native application, wherein each URL selected is a URL that begins with the URI pattern determined for the native application; and

indexing content accessible by the URI for the native application in an index that is searchable by a search engine.

8. The system of claim 7 , wherein determining the URI pattern for the native application comprises processing a native application manifest file for data describing the URI pattern.

9. The system of claim 7 , wherein the publisher affiliation data for each native application defines an affiliation between a domain of a publisher and a native application identifier of a native application.

10. The system of claim 9 , wherein the determining whether the URI pattern defines an affiliated publisher for the native application comprises determining whether the URI has a host name that matches the domain of the publisher, wherein a match of a host name of the URI to the domain of the publisher results in a positive determination, and not matching the host name of the URI to the domain of the publisher results in a negative determination.

11. The system of claim 7 , wherein selecting URIs based on the URI pattern for the native application comprises selecting, from an index, URIs that include the URI pattern.

12. The system of claim 11 , wherein the URIs are uniform resource locators (URLs).

13. The system of claim 12 , wherein selecting URIs based on the URI pattern for the native application comprises:

instantiating the native application and selecting a first URI based on the URI pattern to generate an application page in the native application display environment;

iterative processing linked application pages for the native application until a cessation event occurs, the iterative processing comprising for each iteration;

determining, from the application page, outbound URIs including in the first application page; and

selecting one or more of the outbound URIs to generate one or more subsequent application pages in the native application display environment.

14. A non-transitory computer readable storage medium storing instructions executable by a data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:

receiving publisher affiliation data for native applications that define, for each native application, an affiliated publisher for the native application;

for each native application of a set of native applications, determining, based on the publisher affiliation data, whether the native application is affiliated with a publisher that provides content addressed by URLs for the publisher that are also URIs determined for the native application, the determining comprising:

determining a URI pattern for the native application;

determining whether the URI pattern defines an affiliated publisher for the native application that matches an affiliated publisher for the native application specified by the publisher affiliation data, the determining comprising determining whether the URI has a host name that matches a domain of the publisher, wherein a match of a host name of the URI to the domain of the publisher results in a positive determination, and not matching the host name of the URI to the domain of the publisher results in a negative determination; and

determining that that native application is affiliated with the publisher only when the URI pattern for the native application defines an affiliated publisher for the native application that matches an affiliated publisher for the native application specified by the publisher affiliation data;

for only the native applications that are determined to be affiliated with a publisher that provides content addressed by URIs determined for the native application;

selecting URIs that are URLs for a publisher host, the selecting based on the URI pattern determined for the native application, wherein each URL selected is a URL that begins with the URI pattern determined for the native application; and

indexing content accessible by the URI for the native application in an index that is searchable by a search engine.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: CHANG, LAWRENCE; XU, HUI
To: GOOGLE INC.
Reel/Frame 036485/0549 →
Continuity (2)
Provisional Application 62017193 · Jun 25, 2014
Related Publication 20150379128A1 · Dec 31, 2015