IP Library Granted Patent US 10,244,066
Granted Patent B2
US 10,244,066 · App. 15/686,139 · Granted Mar 26, 2019

Push notification delivery system

Inventors: Adam C. Lowry (Portland, OR); Erik A. Onnen (Portland, OR)
Assignee: Urban Airship, Inc.
H04L67/26H04L51/04H04L67/10H04L67/104H04L67/2819H04L67/2842H04W4/14
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,244,066
App. No.
15/686,139
Granted
Mar 26, 2019
Kind
B2
Abstract

An example method for delivery of push notifications includes receiving a push notification including a message and a destination, creating a send token, sending a push notification derived from the received push notification and the send token, and receiving push information concerning a processing of the sent push notification which is identified by the send token. An example system for delivering push notifications includes a server system having a processor, memory, and a network interface, where the memory stores program instructions including code segments for receiving a received push notification via the network interface. In this example, the program instructions further includes code segments for creating a send token, code segments for sending a sent push notification derived from the received push notification and the send token via the network interface, and code segments for receiving received push information concerning a processing of the sent push notification are provided.

Claims (40)

1. A method comprising:

receiving, at an online system, a message and destination information, wherein the destination information represents a plurality of destinations to which the message should be sent;

generating, by the online system, a push token for the message;

querying, by the online system, a set of deferral rules for determining whether to defer in time processing the received message;

for each of a subset of the plurality destinations processing the received message based on a time associated with the queried set of deferral rules, wherein processing the received message comprises:

generating, by the online system, a send token and a push notification associated with the received message,

storing, by the online system, a mapping between the push token and the send token, and

sending, by the online system to a client device, the generated push notification including the message and the send token to the destination, based on the time associated with the queried set of deferral rules;

receiving, by the online system from the client device, push information indicating a status of processing of the sent push notification, the push information comprising a send token representing a destination; and

identifying, by the online system from the client device, that the received push information corresponds to the message through the stored mapping between the generated push token and the send token in the push information.

2. The method of claim 1 , wherein the send token comprises a unique identifier that distinguishes a push notification for a destination of the subset from a different push notification for a different destination of the subset.

3. The method of claim 2 , wherein the unique identifier of the send token is a device identifier of a client device corresponding to the destination.

4. The method of claim 1 , wherein the push token comprises a unique identifier that distinguishes the received message from other received messages.

5. The method of claim 1 , wherein the status of processing of the sent push notification is one of an indication that the push notification was received or an indication that the push notification was processed.

6. The method of claim 1 , wherein the subset of the plurality of destinations is determined by applying a filter to the plurality of destinations, the filter specifying destinations corresponding to inactive recipients.

7. The method of claim 1 , further comprising:

receiving life cycle event information, wherein the push information and the life cycle event information are received from a single destination; and

generating statistical data based on the received life cycle event information.

8. The method of claim 7 , wherein the push notification is generated for an application program installed on a client device, and wherein the received life cycle event information indicates usage patterns of the application program installed on the client device.

9. The method of claim 1 , further comprising validating the received push information.

10. A non-transitory computer-readable storage medium comprising computer code that, when executed by a processor, causes the processor to:

receive a message and destination information, wherein the destination information represents a plurality of destinations to which the message should be sent;

generate a push token for the message;

query a set of deferral rules for determining whether to defer in time processing the received message;

for each of a subset of the plurality destinations processing the received message based on a time associated with the queried set of deferral rules, wherein processing the received message comprises computer code that, when executed by the processor causes the processor to:

generate, a send token and a push notification associated with the received message,

store a mapping between the push token and the send token, and

send the generated push notification including the message and the send token to the destination, based on the time associated with the queried set of deferral rules;

receive push information indicating a status of processing of the sent push notification, the push information comprising a send token representing a destination; and

identify that the received push information corresponds to the message through the stored mapping between the generated push token and the send token in the push information.

11. The non-transitory computer-readable medium of claim 10 , wherein the send token comprises a unique identifier that distinguishes a push notification for a destination of the subset from a different push notification for a different destination of the subset.

12. The non-transitory computer-readable medium of claim 11 , wherein the unique identifier of the send token is a device identifier of a client device corresponding to the destination.

13. The non-transitory computer-readable medium of claim 10 , wherein the push token comprises a unique identifier that distinguishes the received message from other received messages.

14. The non-transitory computer-readable medium of claim 10 , wherein the status of processing of the sent push notification is one of an indication that the push notification was received or an indication that the push notification was processed.

15. The non-transitory computer-readable medium of claim 10 , wherein the subset of the plurality of destinations is determined through an application of a filter to the plurality of destinations, the filter specifying destinations corresponding to inactive recipients.

16. The non-transitory computer-readable medium of claim 10 , further comprising computer code, that when executed by the processor, causes the processor to:

receive life cycle event information, wherein the push information and the life cycle event information are received from a single destination; and

generating statistical data based on the received life cycle event information.

17. The non-transitory computer-readable medium of claim 16 , wherein the push notification is generated for an application program installed on a client device, and wherein the received life cycle event information indicates usage patterns of the application program installed on the client device.

18. The non-transitory computer-readable medium of claim 10 , further comprising computer code, that when executed by the processor, causes the processor to validate the received push information.

Assignments (9)
SECURITY INTEREST Recorded Jul 1, 2024
From: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
To: RUNWAY GROWTH FINANCE CORP.
Reel/Frame 068099/0779 →
RELEASE OF SECURITY INTEREST Recorded Jun 28, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
Reel/Frame 067965/0545 →
CHANGE OF NAME Recorded Jan 21, 2021
From: URBAN AIRSHIP, INC.
To: AIRSHIP GROUP, INC.
Reel/Frame 055059/0223 →
SECURITY INTEREST Recorded Apr 2, 2020
From: URBAN AIRSHIP, INC.; APPTIMIZE, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052308/0550 →
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2020
From: SILVER LAKE WATERMAN FUND, L.P.
To: URBAN AIRSHIP, INC.; TELLO, INC.
Reel/Frame 052300/0284 →
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2020
From: SILICON VALLEY BANK
To: URBAN AIRSHIP, INC.
Reel/Frame 052300/0425 →
SECURITY INTEREST Recorded Jun 28, 2019
From: URBAN AIRSHIP, INC.
To: SILICON VALLEY BANK
Reel/Frame 049627/0826 →
SECOND SUPPLEMENT TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 29, 2018
From: URBAN AIRSHIP, INC.; TELLO, INC.
To: SILVER LAKE WATERMAN FUND, L.P., AS AGENT
Reel/Frame 047347/0278 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2017
From: LOWRY, ADAM C.; ONNEN, ERIK A.
To: URBAN AIRSHIP, INC.
Reel/Frame 043460/0147 →
Continuity (4)
Continuation 14536407 · Nov 7, 2014
Continuation 14020427 · Sep 6, 2013
Continuation 13160190 · Jun 14, 2011
Related Publication 20170374171A1 · Dec 28, 2017
Cited By (1)
US 12,219,031