IP Library Granted Patent US 10,003,635
Granted Patent B1
US 10,003,635 · App. 14/211,542 · Granted Jun 19, 2018

System and method for tracking event occurrences between applications

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,003,635
App. No.
14/211,542
Granted
Jun 19, 2018
Kind
B1
Abstract

A system and method for tracking event occurrences among applications executing on a mobile device is provided. When an action is initiated, the first application generates a first notification indicator and records it with a notification server. When the action is performed by, for example, a second application, the second application generates a second notification indicator and registers it with the notification server. The notification server may then notify the first application or other entities of the occurrence of the action.

Claims (60)

1. A method for tracking event occurrences between applications, the method comprising:

obtaining, by a first application executed by one or more processors of a mobile device, (i) an identifier of the mobile device and (ii) an identifier of an action to be performed by a second application executed by the one or more processors of the mobile device;

generating, by the first application executed by the one or more processors of the mobile device and based at least on (i) the identifier of the mobile device and (ii) the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device, a first notification identifier;

transmitting the first notification identifier from the mobile device to a notification server over a computer network to request a notification indicating that the second application has performed the action;

performing, by the second application executed by the one or more processors of the mobile device, the action;

obtaining, by the second application executed by the one or more processors of the mobile device, (i) the identifier of the mobile device and (ii) an identifier of the action performed by the second application executed by the one or more processors of the mobile device;

generating, by the second application and based at least on (i) the identifier of the mobile device and (ii) the identifier of the action performed by the second application executed by the one or more processors of the mobile device, a second notification identifier in response to the second application performing the action;

transmitting the second notification identifier from the mobile device to the notification server over the computer network; and

receiving an alert, from the notification server and by the first application, that the second application performed the action if the second notification identifier generated by the second application based at least on (i) the identifier of the mobile device and (ii) the identifier of the action performed by the second application matches the first notification identifier generated by the first application based at least on (i) the identifier of the mobile device and (ii) the identifier of the action to be performed by the second application.

2. The method of claim 1 wherein a first value of the first notification identifier being equal to a second value of the second notification identifier indicates that the first notification identifier matches the second notification identifier.

3. The method of claim 1 wherein the first notification identifier and the second notification identifier comprise hash values.

4. The method of claim 3 wherein the hash values are generated using a SHA-1 algorithm.

5. The method of claim 1 wherein the action is installation of the second application on the mobile device.

6. The method of claim 1 , wherein generating the first notification identifier comprises:

providing, by the first application, the identifier of the mobile device, the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device, and an identifier of the second application as inputs to a hash function; and

obtaining an output of the hash function as the first notification identifier.

7. The method of claim 1 , wherein generating the second notification identifier comprises:

providing, by the second application, the identifier of the mobile device, the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device, and an identifier of the second application as inputs to a hash function; and

obtaining an output of the hash function as the second notification identifier.

8. The method of claim 1 , wherein:

obtaining, by the first application executed by one or more processors of the mobile device, (i) the identifier of the mobile device and (ii) the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device is in response to determining, by the first application, a user request to begin installation of the second application has been received.

9. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations for tracking event occurrences between applications, the operations comprising:

obtaining, by a first application executed by one or more processors of a mobile device, (i) an identifier of the mobile device and (ii) an identifier of an action to be performed by a second application executed by the one or more processors of the mobile device;

generating, by the first application executed by the one or more processors of the mobile device and based at least on (i) the identifier of the mobile device and (ii) the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device, a first notification identifier;

transmitting the first notification identifier from the mobile device to a notification server over a computer network to request a notification indicating that the second application has performed the action;

performing, by the second application executed by the one or more processors of the mobile device, the action;

obtaining, by the second application executed by the one or more processors of the mobile device, (i) the identifier of the mobile device and (ii) an identifier of the action performed by the second application executed by the one or more processors of the mobile device;

generating, by the second application and based at least on (i) the identifier of the mobile device and (ii) the identifier of the action performed by the second application executed by the one or more processors of the mobile device, a second notification identifier in response to the second application performing the action;

transmitting the second notification identifier from the mobile device to the notification server over the computer network; and

receiving an alert, from the notification server and by the first application, that the second application performed the action if the second notification identifier generated by the second application based at least on (i) the identifier of the mobile device and (ii) the identifier of the action performed by the second application matches the first notification identifier generated by the first application based at least on (i) the identifier of the mobile device and (ii) the identifier of the action to be performed by the second application.

10. The system of claim 9 wherein a first value of the first notification identifier being equal to a second value of the second notification identifier indicates that the first notification identifier matches the second notification identifier.

11. The system of claim 9 wherein the first notification identifier and the second notification identifier comprise hash values.

12. The system of claim 11 wherein the hash values are generated using a SHA-1 algorithm.

13. The system of claim 9 wherein the action is installation of the second application on the mobile device.

14. The system of claim 9 , wherein generating the first notification identifier comprises:

providing, by the first application, the identifier of the mobile device, the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device, and an identifier of the second application as inputs to a hash function; and

obtaining an output of the hash function as the first notification identifier.

15. The system of claim 9 , wherein generating the second notification identifier comprises:

providing, by the second application, the identifier of the mobile device, the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device, and an identifier of the second application as inputs to a hash function; and

obtaining an output of the hash function as the second notification identifier.

16. The system of claim 9 , wherein:

obtaining, by the first application executed by one or more processors of the mobile device, (i) the identifier of the mobile device and (ii) the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device is in response to determining, by the first application, a user request to begin installation of the second application has been received.

17. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations for tracking event occurrences between applications, the operations comprising:

obtaining, by a first application executed by one or more processors of a mobile device, (i) an identifier of the mobile device and (ii) an identifier of an action to be performed by a second application executed by the one or more processors of the mobile device;

generating, by the first application executed by the one or more processors of the mobile device and based at least on (i) the identifier of the mobile device and (ii) the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device, a first notification identifier;

transmitting the first notification identifier from the mobile device to a notification server over a computer network to request a notification indicating that the second application has performed the action;

performing, by the second application executed by the one or more processors of the mobile device, the action;

obtaining, by the second application executed by the one or more processors of the mobile device, (i) the identifier of the mobile device and (ii) an identifier of the action performed by the second application executed by the one or more processors of the mobile device;

generating, by the second application and based at least on (i) the identifier of the mobile device and (ii) the identifier of the action performed by the second application executed by the one or more processors of the mobile device, a second notification identifier in response to the second application performing the action;

transmitting the second notification identifier from the mobile device to the notification server over the computer network; and

receiving an alert, from the notification server and by the first application, that the second application performed the action if the second notification identifier generated by the second application based at least on (i) the identifier of the mobile device and (ii) the identifier of the action performed by the second application matches the first notification identifier generated by the first application based at least on (i) the identifier of the mobile device and (ii) the identifier of the action to be performed by the second application.

18. The medium of claim 17 , wherein generating the first notification identifier comprises:

providing, by the first application, the identifier of the mobile device, the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device, and an identifier of the second application as inputs to a hash function; and

obtaining an output of the hash function as the first notification identifier.

19. The medium of claim 17 , wherein generating the second notification identifier comprises:

providing, by the second application, the identifier of the mobile device, the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device, and an identifier of the second application as inputs to a hash function; and

obtaining an output of the hash function as the second notification identifier.

20. The medium of claim 17 , wherein:

obtaining, by the first application executed by one or more processors of the mobile device, (i) the identifier of the mobile device and (ii) the identifier of the action to be performed by the second application executed by the one or more processors of the mobile device is in response to determining, by the first application, a user request to begin installation of the second application has been received.

Assignments (3)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2017
From: TWITTER, INC.; CRASHLYTICS, INC.
To: GOOGLE INC.
Reel/Frame 041668/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2015
From: SEIBERT, JEFFREY H., JR.; NEUBARDT, SAMUEL A.; ROBBINS, SAM; BOLTON, KYLE J.; MASSICOTTE, MATTHEW; ROTHFEDER, JAMIE; SOLOVEY, ED; RICHARDS, MARC; FALCONE, ANDREA S.; LEE, BENJAMIN S.
To: TWITTER, INC.
Reel/Frame 035046/0346 →