# US 12,223,156 B2 · Low-latency delivery mechanism for map-based GUI

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,223,156 B2
- Document ID: US12223156B2
- Status: Granted
- Kind: B2
- Application number: 18/078,268
- Filed: 2022-12-09
- Published: 2023-04-13
- Granted: 2025-02-11
- Earliest claimed: 2017-04-27
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Daniel Amitay; Jonathan Brody; Leonid Gorkin; Jeffrey Arthur Johnson; Andrew Lin; Walton Lin; Nayana Samaranayake; Evan Spiegel; Marcel M. Yung
- Web page: https://patentgrep.com/patent/US12223156B2

## CPC

- H04W 4/021: Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
- G06F 3/04817: using icons (graphical or visual programming using iconic symbols G06F8/34)
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/0487: using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F 3/0488: using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F 16/248: Presentation of query results
- G06F 16/29: Geographical information databases
- G06F 16/487: using geographical or spatial information, e.g. location
- G06F 16/90335: {Query processing}
- G06F 16/9038: Presentation of query results
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/9537: Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
- G06Q 10/40: Business processes related to social networking or social networking services
- G06Q 10/44: Identification of trends within social networks, e.g. identification of trending topics
- G06T 11/26: Drawing of charts or graphs
- G06T 11/65: on geographic maps
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 41/28: Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
- H04L 51/222: using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
- H04L 51/52: for supporting social networking services
- H04L 63/101: {Access control lists [ACL]}
- H04L 63/107: {wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals}
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/306: User profiles
- H04L 67/52: specially adapted for the location of the user terminal
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04W 4/02: Services making use of location information
- H04W 4/029: Location-based management or tracking services
- H04W 4/185: {by embedding added-value information into content, e.g. geo-tagging}
- H04W 4/21: for social networking applications
- H04W 12/02: Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06T 2200/24: involving graphical user interfaces [GUIs]
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A server system for a map-based social media platform maintains user location information to enable the rendering of friend icons on a map at a corresponding display locations. The system maintains a per user access control list (ACL) that lists all users whose icons can be viewed by a requesting user. The ACL can include a designation of respective display granularity levels for different friend users.

## Claims

### Claim 1

A method comprising:
accessing activity data for a social media platform, the activity data comprising geo-tagged social media items uploaded by users for display via a map-based graphical user interface (GUI) for the social media platform, the map-based GUI comprising:
an interactive map of at least part of the Earth's surface, and
an overlay on the map that visually represents geo-linked social media activity information;
in an automated operation performed by a map engine comprising one or more computer processor devices configured to perform the automated operation, compiling a plurality of sets of overlay data units, wherein:
each set of overlay data units is for a respective one of a plurality of different zoom levels,
wherein each overlay data unit is specific to a respective one of multiple uniform geographical segments that together tile-wise cover at least part of the Earth's surface at a corresponding zoom level, and
wherein each overlay data unit is a separate unit of structured data defining geo-anchored data points having respective locations falling within the corresponding geographical segment;
receiving from a user device a request for display, via an instance of the map-based GUI on the user device, of a requested geographical area at a requested zoom level;
responsive to the request:
retrieving a set of map tiles that together cover the requested geographical area at the requested zoom level, each map tile comprising underlying map imagery for a corresponding portion of the Earth's surface;
retrieving from the respective set of overlay data units for the requested zoom level a precompiled plurality of overlay data units corresponding to the requested geographical area; and
transmitting the retrieved set of map tiles to the user device to enable display, as part of the map-based GUI, of a map background for the requested geographical area; and
transmitting the precompiled plurality of overlay data units to the user device to enable generation and display by the user device, based on the corresponding geo-anchored data points and overlaid on the map background, of the overlay for the requested geographical area.

### Claim 2 (depends on 1)

The method of claim 1, wherein the compiling of the overlay data units comprises performing a map reduce function with respect to underlying activity data, such that a respective overlay data unit comprises fewer data points than that indicated in the underlying activity data for the corresponding geographical segment.

### Claim 3 (depends on 2)

The method of claim 2, further comprising performing the map reduce function differently at different zoom levels.

### Claim 4 (depends on 3)

The method of claim 3, wherein the geo-anchored data points comprise heatmap data enabling generation in the map-based GUI of a heatmap illustrating geographic distribution of a social media activity metric.

### Claim 5 (depends on 4)

The method of claim 4, wherein the heatmap data comprises a set of heatmap data points, the heatmap in the map-based GUI to be generated by the user device based on the set of heatmap data points.

### Claim 6 (depends on 5)

The method of claim 5, wherein the compiling of each overlay data unit comprises a data point aggregation procedure in which the respective set of heatmap data points is generated to be representative of a set of underlying social media activity data points for the corresponding geographical segment, the set of heatmap data points being smaller in number than the set of underlying social media activity data points.

### Claim 7 (depends on 5)

The method of claim 5, wherein the compiling of the plurality of sets of overlay data units is performed such that the number of heatmap data points per overlay data unit falls within a range having a substantially similar upper limit across the plurality of different zoom levels.

### Claim 8 (depends on 3)

The method of claim 3, wherein the geo-anchored data points for at least some of the overlay data units include a plurality of points of interest (POIs), wherein:
each POI is to be represented in the map-based GUI by a respective icon; and
each POI has an associated set of social media items that are accessible via the map-based GUI responsive to user interaction with the corresponding icon.

### Claim 9 (depends on 8)

The method of claim 8, wherein each overlay data unit includes, for each POI, thumbnail information to enable display of a corresponding thumbnail image as part of the respective icon.

### Claim 10 (depends on 8)

The method of claim 8, wherein the map reduce function operates on the POIs, such that a different number of POIs are represented at different zoom levels for a given geographical area.

### Claim 11 (depends on 8)

The method of claim 8, wherein each overlay data unit includes, for each of the included POIs, a respective manifest indicating a plurality of social media items that are replayable responsive to selection of the corresponding icon.

### Claim 12 (depends on 11)

The method of claim 11, wherein each manifest is a preview manifest indicating a subset of the set of social media items associated with the corresponding POI.

### Claim 13 (depends on 8)

The method of claim 8, wherein one or more of the overlay data units include two or more different types of POI.

### Claim 14 (depends on 1)

The method of claim 1, wherein the compiling of the overlay data units comprises compiling a plurality of alternative sets of overlay data units for a plurality of different types of user device.

### Claim 15

A system comprising:
one or more computer processor devices; and
memory having stored therein instructions that configure the system, when the instructions are executed by the one or more computer processor devices, to perform operations comprising:
accessing activity data for a social media platform, the activity data comprising geo-tagged social media items uploaded by users for display via a map-based graphical user interface (GUI) for the social media platform, the map-based GUI comprising:
an interactive map of at least part of the Earth's surface, and
an overlay on the map that visually represents geo-linked social media activity information;
in an automated operation, compiling a plurality of sets of overlay data units, wherein:
each set of overlay data units is for a respective one of a plurality of different zoom levels,
wherein each overlay data unit is specific to a respective one of multiple uniform geographical segments that together tile-wise cover at least part of the Earth's surface at a corresponding zoom level, and
wherein each overlay data unit is a separate unit of structured data defining geo-anchored data points having respective locations falling within the corresponding geographical segment;
receiving from a user device a request for display, via an instance of the map-based GUI on the user device, of a requested geographical area at a requested zoom level;
responsive to the request:
retrieving a set of map tiles that together cover the requested geographical area at the requested zoom level, each map tile comprising underlying map imagery for a corresponding portion of the Earth's surface;
retrieving from the respective set of overlay data units for the requested zoom level a precompiled plurality of overlay data units corresponding to the requested geographical area; and
transmitting the retrieved set of map tiles to the user device to enable display, as part of the map-based GUI, of a map background for the requested geographical area; and
transmitting the precompiled plurality of overlay data units to the user device to enable generation and display by the user device, based on the corresponding geo-anchored data points and overlaid on the map background, of the overlay for the requested geographical area.

### Claim 16 (depends on 15)

The system of claim 15, wherein the instructions further configure the system to perform, as part of the compiling of the overlay data units, a map reduce function with respect to underlying activity data, such that a respective overlay data unit comprises fewer data points than that indicated in the underlying activity data for the corresponding geographical-segment, the map reduce function being performed differently at different zoom levels.

### Claim 17 (depends on 16)

The system of claim 16, wherein the geo-anchored data points comprise heatmap data enabling generation in the map-based GUI of a heatmap illustrating geographic distribution of a social media activity metric, the heatmap data comprising a set of heatmap data points that enables generation of the heatmap in the map-based GUI by the user device based on the set of heatmap data points.

### Claim 18 (depends on 16)

The system of claim 16, wherein the geo-anchored data points for at least some of the overlay data units include a plurality of points of interest (POIs), wherein:
each POI is to be represented in the map-based GUI by a respective icon; and
each POI has an associated set of social media items that are accessible via the map-based GUI responsive to user interaction with the corresponding icon, each overlay data unit including, for each of the included POIs, a respective manifest indicating a plurality of social media items that is replayable responsive to selection of the corresponding icon.

### Claim 19 (depends on 18)

The system of claim 18, wherein each manifest is a preview manifest indicating a subset of the set of social media items associated with the corresponding POI.

### Claim 20

A non-transitory computer-readable storage medium having stored thereon instructions that when executed by a computer system, cause the computer system to perform operations comprising:
accessing activity data for a social media platform, the activity data comprising geo-tagged social media items uploaded by users for display via a map-based graphical user interface (GUI) for the social media platform, the map-based GUI comprising:
an interactive map of at least part of the Earth's surface, and
an overlay on the map that visually represents geo-linked social media activity information;
in an automated operation, compiling a plurality of sets of overlay data units, wherein:
each set of overlay data units is for a respective one of a plurality of different zoom levels,
wherein each overlay data unit is specific to a respective one of multiple uniform geographical segments that together tile-wise cover at least part of the Earth's surface at a corresponding zoom level, and
wherein each overlay data unit is a separate unit of structured data defining geo-anchored data points having respective locations falling within the corresponding geographical segment;
receiving from a user device a request for display, via an instance of the map-based GUI on the user device, of a requested geographical area at a requested zoom level;
responsive to the request:
retrieving a set of map tiles that together cover the requested geographical area at the requested zoom level, each map tile comprising underlying map imagery for a corresponding portion of the Earth's surface;
retrieving from the respective set of overlay data units for the requested zoom level a precompiled plurality of overlay data units corresponding to the requested geographical area; and
transmitting the retrieved set of map tiles to the user device to enable display, as part of the map-based GUI, of a map background for the requested geographical area; and
transmitting the precompiled plurality of overlay data units to the user device to enable generation and display by the user device, based on the corresponding geo-anchored data points and overlaid on the map background, of the overlay for the requested geographical area.
