IP Library Granted Patent US 9,363,337
Granted Patent B2
US 9,363,337 · App. 13/966,118 · Granted Jun 7, 2016

Conversion tracking and context preserving systems and methods

Inventor: Jesse Chor (Bellevue, WA)
Assignee: Yahoo! Inc.
H04L67/42G06F8/61G06F17/30876H04L67/2814H04L67/303H04L67/34H04W4/001
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,363,337
App. No.
13/966,118
Granted
Jun 7, 2016
Kind
B2
Abstract

When a server receives a request for an information payload from a remote device, the server may determine the device's type and identify an optionally-installable application that can be used to access the information payload on devices of that type. When the optionally-installable application is not installed on the remote device, the server may store a identifier for the remote device and send the device a redirection message via which the device can obtain and install the application. Subsequently, when the server receives an installation indication from the application executing on a remote device, the server may identify the device as having recently been redirected to install the application and store or update a record indicating that an application-installation event occurred.

Claims (73)

1. A server-device-implemented method for tracking remote application installations, the method comprising:

receiving, by said server device via a first application executing on a remote computing device, a first request for a first resource identified by a first Uniform Resource Locater (“URL”);

determining, by said server device, a device identifier and a remote-device type associated with said remote computing device;

identifying, by said server device, an information payload that is associated with said first URL;

identifying, by said server device, an application that is optionally installable on devices of said remote-device type and that can be used to access said information payload;

determining, by said server device, that said installable application is not installed on said remote computing device;

generating, by said server device, a redirection message including an application identifier by which said remote computing device can obtain and install said installable application;

sending, by said server device, said redirection message to said remote computing device;

storing or updating, by said server device, a record associating said device identifier with said first request;

subsequently receiving, by said server device via said installable application, an installation indication indicating that said installable application is executing following a remote application-installation event;

determining, by said server device, that said installation indication was received from said remote computing device, from which said first request was recently received; and

storing or updating, by said server device, a record associating said remote application-installation event with at least said first URL.

2. The method of claim 1 , wherein said installation indication comprises a first-run indication indicating that said installable application is executing for a first time since said remote application-installation event.

3. The method of claim 2 , wherein determining said device identifier comprises determining a first request fingerprint based at least in part on metadata associated with said first request.

4. The method of claim 3 , wherein determining that said installation indication was received from said remote computing device comprises:

determining a second request fingerprint based at least in part on metadata associated with said second request; and

determining that said second request fingerprint matches said first request fingerprint and that said first request fingerprint was recently associated with said remote computing device said first request.

5. The method of claim 2 , wherein determining said device identifier comprises obtaining, via a mobile-telephony-service provider, a first unique identifier associated with said remote computing device and/or with a subscriber associated with said remote computing device.

6. The method of claim 5 , wherein determining that said installation indication was received from said remote computing device comprises:

obtaining, via said mobile-telephony-service provider, a second unique identifier associated with said remote computing device and/or with said subscriber; and

determining that said second unique identifier matches said first unique identifier and that said first unique identifier was recently associated with said remote computing device said first request.

7. The method of claim 1 , further comprising, in response to said installation indication:

identifying said first request for said first URL as having been recently associated with said device identifier;

identifying said information payload as being associated with said first URL; and

providing said information payload for presentation via said installable application executing on said remote computing device.

8. The method of claim 1 , wherein generating said redirection message further comprises:

determining a resource URL identifying said information payload;

determining an application-installation URL, including said application identifier, via which said installable application can be obtained and installed by said remote computing device;

designating one of said resource URL and said application-installation URL as a host URL and the other as an alternative URL;

obtaining a predetermined alternative-URL key recognized by a URL-handling routine on said remote computing device as indicating the presence of said alternative URL; and

inserting said predetermined alternative-URL key and said alternative URL as an alternative-URL key/value pair into said host URL to form an alternative-URL-encoded compound URL.

9. A computing apparatus for tracking remote application installations, the apparatus comprising a processor and a memory storing instructions that, when executed by the processor, configure the apparatus to:

receive, via a first application executing on a remote computing device, a first request for a first resource identified by a first Uniform Resource Locater (“URL”);

determine a device identifier and a remote-device type associated with said remote computing device;

identify an information payload that is associated with said first URL;

identify an application that is optionally installable on devices of said remote-device type and that can be used to access said information payload;

determine that said installable application is not installed on said remote computing device;

generate a redirection message including an application identifier by which said remote computing device can obtain and install said installable application;

send said redirection message to said remote computing device;

store or update a record associating said device identifier with said first request;

subsequently receive, via said installable application, an installation indication indicating that said installable application is executing following a remote application-installation event;

determine that said installation indication was received from said remote computing device, from which said first request was recently received; and

store or update a record associating said remote application-installation event with at least said first URL.

10. The apparatus of claim 9 , wherein said installation indication comprises a first-run indication indicate that said installable application is executing for a first time since said remote application-installation event.

11. The apparatus of claim 10 , wherein the instructions that configure the apparatus to determine said device identifier further comprise instructions configuring the apparatus to determine a first request fingerprint based at least in part on metadata associated with said first request.

12. The apparatus of claim 11 , wherein the instructions that configure the apparatus to determine that said installation indication was received from said remote computing device further comprise instructions configuring the apparatus to:

determine a second request fingerprint based at least in part on metadata associated with said second request; and

determine that said second request fingerprint matches said first request fingerprint and that said first request fingerprint was recently associated with said remote computing device said first request.

13. The apparatus of claim 10 , wherein the instructions that configure the apparatus to determine said device identifier further comprise instructions configuring the apparatus to obtain, via a mobile-telephony-service provider, a first unique identifier associated with said remote computing device and/or with a subscriber associated with said remote computing device.

14. The apparatus of claim 13 , wherein the instructions that configure the apparatus to determine that said installation indication was received from said remote computing device further comprise instructions configuring the apparatus to:

obtain, via said mobile-telephony-service provider, a second unique identifier associated with said remote computing device and/or with said subscriber; and

determine that said second unique identifier matches said first unique identifier and that said first unique identifier was recently associated with said remote computing device said first request.

15. A non-transient computer-readable storage medium having stored thereon instructions that, when executed by a processor, configure the processor to:

receive, via a first application executing on a remote computing device, a first request for a first resource identified by a first Uniform Resource Locater (“URL”);

determine a device identifier and a remote-device type associated with said remote computing device;

identify an information payload that is associated with said first URL;

identify an application that is optionally installable on devices of said remote-device type and that can be used to access said information payload;

determine that said installable application is not installed on said remote computing device;

generate a redirection message including an application identifier by which said remote computing device can obtain and install said installable application;

send said redirection message to said remote computing device;

store or update a record associating said device identifier with said first request;

subsequently receive, via said installable application, an installation indication indicating that said installable application is executing following a remote application-installation event;

determine that said installation indication was received from said remote computing device, from which said first request was recently received; and

store or update a record associating said remote application-installation event with at least said first URL.

16. The storage medium of claim 15 , wherein said installation indication comprises a first-run indication indicate that said installable application is executing for a first time since said remote application-installation event.

17. The storage medium of claim 16 , wherein the instructions that configure the processor to determine said device identifier further comprise instructions configuring the processor to determine a first request fingerprint based at least in part on metadata associated with said first request.

18. The storage medium of claim 17 , wherein the instructions that configure the processor to determine that said installation indication was received from said remote computing device further comprise instructions configuring the processor to:

determine a second request fingerprint based at least in part on metadata associated with said second request; and

determine that said second request fingerprint matches said first request fingerprint and that said first request fingerprint was recently associated with said remote computing device said first request.

19. The storage medium of claim 16 , wherein the instructions that configure the processor to determine said device identifier further comprise instructions configuring the processor to obtain, via a mobile-telephony-service provider, a first unique identifier associated with said remote computing device and/or with a subscriber associated with said remote computing device.

20. The storage medium of claim 19 , wherein the instructions that configure the processor to determine that said installation indication was received from said remote computing device further comprise instructions configuring the processor to:

obtain, via said mobile-telephony-service provider, a second unique identifier associated with said remote computing device and/or with said subscriber; and

determine that said second unique identifier matches said first unique identifier and that said first unique identifier was recently associated with said remote computing device said first request.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2014
From: MSKYNET, INC.
To: YAHOO! INC.
Reel/Frame 032275/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2013
From: CHOR, JESSE
To: MSKYNET INC.
Reel/Frame 031002/0132 →
Continuity (6)
Continuation In Part 13855649 · Apr 2, 2013
Continuation 12852730 · Aug 9, 2010
Continuation 13966118
Continuation In Part 13855641 · Apr 2, 2013
Continuation 13036950 · Feb 28, 2011
Related Publication 20130332518A1 · Dec 12, 2013