# US 10,311,572 B2 · Reducing latency in presenting map interfaces at client devices

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

- Number: US 10,311,572 B2
- Document ID: US10311572B2
- Status: Granted
- Kind: B2
- Application number: 15/379,167
- Filed: 2016-12-14
- Published: 2017-07-27
- Granted: 2019-06-04
- Earliest claimed: 2016-01-25
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Nikhil Bakshi; Oliver Michael King; Zev Nettleton Youra
- Web page: https://patentgrep.com/patent/US10311572B2

## CPC

- G06T 7/11: Region-based segmentation
- G06F 16/29: Geographical information databases
- G06F 16/51: Indexing; Data structures therefor; Storage structures
- G06F 16/60: of audio data
- G06F 16/63: Querying
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T 1/60: Memory management
- G06T 3/40: Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T 9/00: Image coding (bandwidth or redundancy reduction for static pictures H04N1/41; coding or decoding of static colour picture signals H04N1/64; methods or arrangements for coding, decoding, compressing or decompressing digital video signals H04N19/00)
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G06T 11/20: Drawing from basic elements
- G06T 11/40: Filling planar surfaces by adding surface attributes, e.g. adding colours or textures
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 2203/04806: Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
- G06T 2200/16: involving adaptation to the client's capabilities
- G06T 2207/20104: Interactive definition of region of interest [ROI]
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for reducing latency in transmitting and presenting map user interfaces. In one aspect, a method includes receiving, from a client device, a request for presentation of an interactive map user interface that depicts (i) a region and (ii) data related to an account for sub-regions of the region. One or more servers render a map of the region. The server(s) generate an image file representing an image of the rendered map. A different visual characteristic is assigned to each different sub-region. The server(s) configure a user interface of the client device to present (i) the image with each of the different sub-regions being presented according to the different visual characteristics and (ii) account data related to a sub-region when the client device detects a user interaction with the sub-region.

## Claims

### Claim 1

A method comprising:
receiving, by one or more servers and from a client device, a request for presentation of an interactive map user interface that depicts (i) a particular geographic region and (ii) account data for an online account, the account data including, for each of multiple different sub-regions of the particular geographic region, attribute data that represents how many user interactions with multiple different electronic content items of the online account occurred when the electronic content items were distributed to multiple different user devices that were located in the sub-region, wherein each of the electronic content items is different from the interactive map user interface;
generating, by the one or more servers, an image file representing an image of a rendered map canvas that depicts a map of the particular geographic region and that is larger than, and requires more memory to store than, the generated image file;
detecting one or more sub-regions within the image based at least on visual borders depicted by the image;
assigning a different visual characteristic to each of the different sub-regions within the image based on the attribute data for the different sub-regions, wherein different quantities of user interactions with the electronic content items are represented by the different visual characteristics; and
configuring, by the one or more servers, a user interface of the client device to present the image with each of the different sub-regions being presented using the different visual characteristic corresponding to the different sub-region.

### Claim 2 (depends on 1)

The method of claim 1, wherein the visual characteristic for each sub-region comprises a particular color assigned to the sub-region based on how many user interactions with the electronic content items of the online account occurred when the electronic content items were distributed to the user devices that were located in the sub-region, wherein an entire area of each sub-region is presented in the particular color assigned to the sub-region in the image.

### Claim 3 (depends on 1)

The method of claim 1, further comprising reducing a data size of the image file using compression techniques that include:
assigning, to each sub-region of the image, a particular red, green, blue (RGB) color in which the sub-region of the image is presented; and
storing, in the image file and for each particular sub-region, the RGB color for the sub-region and data specifying locations of the particular sub-region within the image.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving, at the one or more servers and from the client device, data specifying a selection of a particular location within the image;
generating an updated image that depicts a second map of a particular sub-region that corresponds to the particular location in the image, the generating including rendering the second map of the particular sub-region using a mapping service and generating a second image of the rendered second map; and
providing, to the client device, a second image file that includes data representing the updated image instead of providing the rendered second map.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
receiving, from the client device, data specifying a zoom level for the image at the time of the selection;
determining, based on the zoom level, a level of granularity for the selection; and
determining, based on the level of granularity for the selection, the particular sub-region that corresponds to the selected location.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
rendering, using a mapping service, a map of the particular geographic region, including generating a canvas of the particular geographic region and loading a plurality of programming elements and graphic elements that are used to generate the map, wherein:
the image file is generated using the rendered map; and
the image file comprises a Portable Network Graphics (PNG) file format.

### Claim 7 (depends on 1)

The method of claim 1, further comprising providing, by the one or more servers and to the client device, one or more additional image files that each represents a map of at least one of the sub-regions in response to the request and prior to receiving a request for the one or more additional image files.

### Claim 8

A system comprising:
a first front-end server that receives, from client devices, requests for presentation of interactive map user interfaces that depict (i) a particular geographic region and (ii) account data for an online account, the account data including, for each of multiple different sub-regions of the particular geographic region, attribute data that represents how many user interactions with multiple different electronic content items of the online account occurred when the electronic content items were distributed to multiple different user devices that were located in the sub-region, wherein each of the electronic content items is different from the interactive map user interface;
a map image file generator that:
generates an image file representing an image of a rendered map canvas that depicts a map of the particular geographic region and that is larger than, and requires more memory to store than, the generated image file;
detects one or more sub-regions within the image based at least on visual borders depicted by the image; and
assigns a different visual characteristic to each of the different sub-regions within the image based on the attribute data for the different sub-regions, wherein different quantities of user interactions with the electronic content items are represented by the different visual characteristics; and
a second front-end server that configures a user interface of the client device to present the image with each of the different sub-regions being presented using the different visual characteristic corresponding to the different sub-region.

### Claim 9 (depends on 8)

The system of claim 8, further comprising a file compressor that compresses a data size of an image file that stores the image by using compression techniques that include:
assigning, to each sub-region of the image, a particular red, green, blue (RGB) color in which the sub-region of the image is presented; and
storing, in the image file and for each particular sub-region, the RGB color for the sub-region and data specifying locations of the particular sub-region within the image.

### Claim 10 (depends on 8)

The system of claim 8, wherein the visual characteristic for each sub-region comprises a particular color assigned to the sub-region based on how many user interactions with the electronic content items of the online account occurred when the electronic content items were distributed to the user devices that were located in the sub-region, wherein an entire area of each sub-region is presented in the particular color assigned to the sub-region in the image.

### Claim 11 (depends on 8)

The system of claim 8, wherein:
the first front-end server receives, from the client device, data specifying a selection of a particular location within the image;
the map image file generator generates an updated image that depicts a second map of the particular sub-region that corresponds to the particular location in the image, the generating including rendering the second map of the particular sub-region using the mapping service and generating a second image of the rendered second map; and
the second front-end server provides, to the client device, a second image file that includes data representing the updated image instead of providing the rendered second map.

### Claim 12 (depends on 11)

The system of claim 11, wherein:
the first front-end server receives, from the client device, data specifying a zoom level for the image at the time of the selection;
the map rendering server determines, based on the zoom level, a level of granularity for the selection; and
the map rendering server determines, based on the level of granularity for the selection, the particular sub-region that corresponds to the selected location.

### Claim 13 (depends on 8)

The system of claim 8, further comprising a map rendering server that uses a mapping service to render a map of the particular geographic region, the rendering including generating a canvas of the particular geographic region and loading a plurality of programming elements and graphic elements that are used to generate the map, wherein:
the image file is generated using the rendered map; and
the image file comprises a Portable Network Graphics (PNG) file format.

### Claim 14 (depends on 8)

The system of claim 8, wherein the second front-end server provides, to the client device, one or more additional image files that each represents a map of at least one of the sub-regions in response to the request and prior to receiving a request for the one or more additional image files.

### Claim 15

A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more data processing apparatus cause the data processing apparatus to perform operations comprising:
receiving, from a client device, a request for presentation of an interactive map user interface that depicts (i) a particular geographic region and (ii) account data for an online account, the account data including, for each of multiple different sub-regions of the particular geographic region, attribute data that represents how many user interactions with multiple different electronic content items of the online account occurred when the electronic content items were distributed to user devices that were located in the sub-region, wherein each of the electronic content items is different from the interactive map user interface;
generating an image file representing an image of a rendered map canvas that depicts a map of the particular geographic region and that is larger than, and requires more memory to store than, the generated image file;
detecting one or more sub-regions within the image based at least on visual borders depicted by the image;
assigning a different visual characteristic to each of the different sub-regions within the image based on the attribute data for the different sub-regions, wherein different quantities of user interactions with the electronic content items are represented by the different visual characteristics; and
configuring a user interface of the client device to present the image with each of the different sub-regions being presented using the different visual characteristic corresponding to the different sub-region.

### Claim 16 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the visual characteristic for each sub-region comprises a particular color assigned to the sub-region based on how many user interactions with the electronic content items of the online account occurred when the electronic content items were distributed to the user devices that were located in for the sub-region, wherein an entire area of each sub-region is presented in the particular color assigned to the sub-region in the image.

### Claim 17 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the operations further comprise reducing a data size of the image file using compression techniques that include:
assigning, to each sub-region of the image, a particular red, green, blue (RGB) color in which the sub-region of the image is presented; and
storing, in the image file and for each particular sub-region, the RGB color for the sub-region and data specifying locations of the particular sub-region within the image.

### Claim 18 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the operations further comprise:
receiving, from the client device, data specifying a selection of a particular location within the image;
generating an updated image that depicts a second map of the particular sub-region that corresponds to the particular location in the image, the generating including rendering the second map of the particular sub-region using the mapping service and generating a second image of the second rendered map; and
providing, to the client device, a second image file that includes data representing the updated image instead of providing the rendered second map.

### Claim 19 (depends on 18)

The non-transitory computer storage medium of claim 18, wherein the operations further comprise:
receiving, from the client device, data specifying a zoom level for the image at the time of the selection;
determining, based on the zoom level, a level of granularity for the selection; and
determining, based on the level of granularity for the selection, the particular sub-region that corresponds to the selected location.

### Claim 20 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the operations comprise:
rendering, using a mapping service, a map of the particular geographic region, including generating a canvas of the particular geographic region and loading a plurality of programming elements and graphic elements that are used to generate the map, wherein:
the image file is generated using the rendered map; and
the image file comprises a Portable Network Graphics (PNG) file format.
