IP Library › Granted Patent US 10,524,088
Granted Patent B2
US 10,524,088 · App. 16/404,440 · Granted Dec 31, 2019

Geo-fence selection system

Inventors: Samir Ahmed (Marina del Rey, CA); Amit Gaur (Los Angeles, CA); Jean Luo (Los Angeles, CA); Yang Wen (Santa Monica, CA)
Assignee: Snap Inc.
H04W4/021H04L67/18H04L67/306H04W4/027
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,524,088
App. No.
16/404,440
Granted
Dec 31, 2019
Kind
B2
Abstract

The present invention relates to improvements to systems and methods for determining a current location of a client device, and for identifying and selecting appropriate geo-fences based on the current location of the client device. An improved geo-fence selection system performs operations that include associating media content with a geo-fence that encompasses a portion of a geographic region, sampling location data from a client device, defining a boundary based on the sampled location data from the client device, detecting an overlap between the boundary and the geo-fence, retrieving the media content associated with the geo-fence, and loading the media content at a memory location of the client device, in response to detecting the overlap.

Claims (72)

1. A method comprising:

associating media content with a geo-fence, the geo-fence encompassing a portion of a geographic region;

retrieving location data from a client device, the location data comprising a set of points that identify a plurality of locations of the client device over a period of time;

determining a smallest measure that encompasses the set of points that identify the plurality of locations of the client device;

defining a boundary based on the smallest measure that encompasses the set of points;

detecting an intersection between the boundary and the geo-fence;

retrieving the media content associated with the geo-fence responsive to the detecting the intersection between the boundary and the geo-fence; and

causing display of the media content at a memory location of the client device.

2. The method of claim 1 , wherein the retrieving the location data from the client device further comprises:

receiving a designated input at the client device; and

retrieving the location data from the client device in response to the designated input.

3. The method of claim 1 , wherein the retrieving the location data the client device further comprises:

defining a sampling period, the sampling period including a sampling interval; and

retrieving the location data from the client device based on the sampling interval.

4. The method of claim 1 , wherein the defining the boundary based on the smallest measure includes:

generating a bounding box based on the set of points that identify plurality of locations of the client device.

5. The method of claim 1 , wherein the defining the boundary based on the set of points that identify the plurality of locations includes:

generating a convex hull based on the set of points that identify the plurality of locations.

6. The method of claim 1 , wherein the defining the boundary based on the set of points that identify the plurality of locations includes:

averaging the location data;

identifying an average location of the client device based on the averaging the location data; and

generating the boundary based on the average location.

7. The method of claim 1 , wherein the loading the media content at the memory location of the client device includes:

presenting a representation of the media content within a media gallery at the client device.

8. The method of claim 1 , wherein the loading the media content at the memory location of the client device includes:

presenting the media content in an ephemeral message at the client device.

9. A system comprising:

a memory; and

at least one hardware processor coupled to the memory and comprising instructions that causes the system to perform operations comprising:

associating media content with a geo-fence, the geo-fence encompassing a portion of a geographic region;

retrieving location data from a client device, the location data comprising a set of points that identify a plurality of locations of the client device over a period of time;

determining a smallest measure that encompasses the set of points that identify the plurality of locations of the client device;

defining a boundary based on the smallest measure that encompasses the set of points;

detecting an intersection between the boundary and the geo-fence;

retrieving the media content associated with the geo-fence responsive to the detecting the intersection between the boundary and the geo-fence; and

causing display of the media content at a memory location of the client device.

10. The system of claim 9 , wherein the retrieving the location data from the client device further comprises:

receiving a designated input at the client device; and

retrieving the location data from the client device in response to the designated input.

11. The system of claim 9 , wherein the retrieving the location data from the client device further comprises:

defining a sampling period, the sampling period including a sampling interval; and

retrieving the location data from the client device based on the sampling interval.

12. The system of claim 9 , wherein the defining the boundary based on the set of points that identify the plurality of locations includes:

generating a convex hull based on the set of points that identify the plurality of locations.

13. The system of claim 9 , wherein the defining the boundary based on the set of points that identify the plurality of locations includes:

averaging the location data;

identifying an average location of the client device based on the averaging the location data; and

generating the boundary based on the average location.

14. The system of claim 9 , wherein the defining the boundary based on the plurality of locations identified by the location data includes:

averaging the location data;

identifying an average location of the client device based on the averaging the location data; and

generating the boundary based on the average location.

15. The system of claim 9 , wherein the loading the media content at the memory location of the client device includes:

presenting a representation of the media content within a media gallery at the client device.

16. The system of claim 9 , wherein the loading the media content at the memory location of the client device includes:

presenting the media content in an ephemeral message at the client device.

17. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

associating media content with a geo-fence, the geo-fence encompassing a portion of a geographic region;

retrieving location data from a client device, the location data comprising a set of points that identify a plurality of locations of the client device over a period of time;

determining a smallest measure that encompasses the set of points that identify the plurality of locations of the client device;

defining a boundary based on the smallest measure that encompasses the set of points;

detecting an intersection between the boundary and the geo-fence;

retrieving the media content associated with the geo-fence responsive to the detecting the intersection between the boundary and the geo-fence; and

causing display of the media content at a memory location of the client device.

18. The non-transitory machine-readable storage medium of claim 17 , wherein the retrieving the location data from the client device further comprises:

receiving a designated input at the client device; and

retrieving the location data from the client device in response to the designated input.

19. The non-transitory machine-readable storage medium of claim 17 , wherein the retrieving the location data from the client device further comprises:

defining a sampling period, the sampling period including a sampling interval; and

retrieving the location data from the client device based on the sampling interval.

20. The non-transitory machine-readable storage medium of claim 17 , wherein the defining the boundary based on the set of points that identify the plurality of locations includes:

generating a convex hull based on the set of points that identify the plurality of locations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2019
From: AHMED, SAMIR; GAUR, AMIT; LUO, JEAN; WEN, YANG
To: SNAP INC.
Reel/Frame 051122/0454 →
Continuity (2)
Continuation 15912769 · Mar 6, 2018
Related Publication 20190281410A1 · Sep 12, 2019
Cited By (1)
US 12,382,244