IP Library Granted Patent US 9,553,838
Granted Patent B1
US 9,553,838 · App. 13/763,567 · Granted Jan 24, 2017

Querying for devices based on location

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,553,838
App. No.
13/763,567
Granted
Jan 24, 2017
Kind
B1
Abstract

Querying for devices based on location is disclosed. A request to send a push notification to a location is received. One or more bucket indexes to search for the presence of a device identifier are determined. The one or more bucket indexes are searched for the presence of the device identifier. One or more device identifiers are received in response to the search. The push notification is sent to one or more devices associated with the received one or more device identifiers.

Claims (36)

1. A system, comprising:

a set of one or more processors configured to:

receive from a device associated with a marketer a request to send a push notification to one or more user devices associated with a location, the request including an indication of a time range at which to send the push notification;

determine, a plurality of bucket indexes to search for a presence of a device identifier, wherein each bucket index of the plurality of determined bucket indexes corresponds to a data structure entity representing a unique combination of a resolution of a geographic polygon and a time slice, wherein the resolution of the geographic polygon corresponds to a precision of a geographic area encompassing the received location and the resolution of a time slice corresponds to a precision of the received time range, each bucket index is mapped to device identifiers for a set of devices that were located within the particular geographic polygon during the temporal window defined by the time slice;

search the bucket indexes for the presence of the device identifier;

receive one or more device identifiers in response to the search;

transmit, by a processor, the push notification to one or more devices associated with the received one or more device identifiers; and

a memory coupled to the set of one or more processors and configured to provide the set of one or more processors with instructions.

2. The system of claim 1 , wherein the location is associated with a geographic polygon.

3. The system of claim 1 , wherein the time range is specified relative to a request time.

4. The system of claim 1 , wherein the bucket indexes are determined based at least in part on the geographic polygon and the time range.

5. The system of claim 4 , wherein determining the bucket indexes includes generating one or more keys used to access the bucket indexes.

6. The system of claim 5 , wherein the processor is further configured to determine one or more time slices implicated by the time range.

7. The system of claim 6 , wherein the one or more keys are generated at least in part by using an identifier of the geographic polygon and the one or more time slices.

8. The system of claim 1 , wherein the one or more device identifiers are associated with mobile devices that were in the location during the time range.

9. The system of claim 1 , wherein the push notification is sent to mobile devices associated with the one or more device identifiers.

10. A method, comprising:

receiving from a device associated with a marketer a request to send a push notification to one or more user devices associated with a location, the request including an indication of a time range at which to send the push notification;

determining, a plurality of bucket indexes to search for a presence of a device identifier, wherein each bucket index of the plurality of determined bucket indexes corresponds to a data structure entity representing a unique combination of a resolution of a geographic polygon and a time slice, wherein the resolution of the geographic polygon corresponds to a precision of a geographic area encompassing the received location and the resolution of a time slice corresponds to a precision of the received time range, each bucket index is mapped to device identifiers for a set of devices that were located within the particular geographic polygon during the temporal window defined by the time slice;

search the bucket indexes for the presence of the device identifier;

receive one or more device identifiers in response to the search; and

transmitting, by a processor, the push notification to one or more devices associated with the received one or more device identifiers.

11. The method of claim 10 , wherein the location is associated with a geographic polygon.

12. The method of claim 10 , wherein the time range is specified relative to a request time.

13. The method of claim 10 , wherein the bucket indexes are determined based at least in part on the geographic polygon and time range.

14. The method of claim 13 , wherein determining the bucket indexes includes generating one or more keys used to access the bucket indexes.

15. The method of claim 14 , further comprising determining one or more time slices implicated by the time range.

16. The method of claim 15 , wherein the one or more keys are generated at least in part by using an identifier of the geographic polygon and the one or more time slices.

17. The method of claim 10 , wherein the one or more device identifiers are associated with mobile devices that were in the location during the time range.

18. A computer program product embodied in a non-transitory tangible computer readable storage medium and comprising computer instructions for:

receiving from a device associated with a marketer a request to send a push notification to one or more user devices associated with a location, the request including an indication of a time range at which to send the push notification;

determining, a plurality of bucket indexes to search for a presence of a device identifier,

wherein each bucket index of the plurality of determined bucket indexes corresponds to a data structure entity representing a unique combination of a resolution of a geographic polygon and a time slice, wherein the resolution of the geographic polygon corresponds to a precision of a geographic area encompassing the received location and the resolution of a time slice corresponds to a precision of the received time range, each bucket index is mapped to device identifiers for a set of devices that were located within the particular geographic polygon during the temporal window defined by the time slice;

search the bucket indexes for the presence of the device identifier;

receive one or more device identifiers in response to the search;

transmitting, by a processor, the push notification to one or more devices associated with the received one or more device identifiers.

Assignments (11)
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 Jul 7, 2017
From: URBAN AIRSHIP, INC.
To: SILICON VALLEY BANK
Reel/Frame 042932/0593 →
SECURITY INTEREST Recorded May 30, 2017
From: URBAN AIRSHIP, INC.; TELLO, INC.
To: SILVER LAKE WATERMAN FUND, L.P., AS AGENT
Reel/Frame 042532/0575 →
RELEASE OF SECURITY INTEREST Recorded Apr 6, 2017
From: ORIX GROWTH CAPITAL, LLC (F/K/A ORIX VENTURES, LLC)
To: URBAN AIRSHIP, INC.; TELLO, INC.
Reel/Frame 041890/0286 →
SECURITY INTEREST Recorded Sep 25, 2015
From: URBAN AIRSHIP, INC.; TELLO, INC.
To: ORIX VENTURES, LLC
Reel/Frame 036654/0332 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2013
From: PANCHENKO, MIKHAIL; SIMMONS, WADE W.; STANDEFER, BENJAMIN D.; ONNEN, ERIK A.
To: URBAN AIRSHIP, INC.
Reel/Frame 030542/0222 →