# US 12,601,597 B2 · Generating, from data of first location on surface, data for alternate but equivalent second location on the surface

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

- Number: US 12,601,597 B2
- Document ID: US12601597B2
- Status: Granted
- Kind: B2
- Application number: 19/032,817
- Filed: 2025-01-21
- Published: 2025-05-22
- Granted: 2026-04-14
- Earliest claimed: 2019-06-14
- Assignees: Avalara, Inc.
- Applicants: Avalara, Inc.
- Inventors: Mark Janzen; Gregory T. Kavounas; Rohit Ghule; Charles M. Morrisette
- Web page: https://patentgrep.com/patent/US12601597B2

## CPC

- G01C 21/20: Instruments for performing navigational calculations (G01C21/24, G01C21/26 take precedence)
- G06Q 40/123: {Tax preparation or submission}
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)
- 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

## Abstract

In embodiments, given a surface that has domains on it and a first location, a second location is generated in the surface. The second location belongs in the same domains as the first location, and does not belong in the same domains as the second location. An advantage can be that, in embodiments, the second location can be used in lieu of the first location. A use case can be where it is desired to protect the privacy of location data of an entity, such as its address.

## Claims

### Claim 1

A method for generating, from data of a first location on a surface, data for an alternate second location on the surface, the method comprising:
discerning, by a computer system, that the first location belongs in a first one of domains defined on the surface, but does not belong in a second one of the domains;
generating, by the computer system, second location data that defines the second location on the surface, the second location selected so as to not overlap with the first location, the second location selected so as to belong in the first domain but to not belong in the second domain; and
outputting, by the computer system, the second location data, in which:
the first data is received by the computer system via a network as a payload of a request, and
the second location data is output by the computer system via a network as a payload of a response that is transmitted responsive to the request.

### Claim 2 (depends on 1)

The method of claim 1, in which:
the surface is flat.

### Claim 3 (depends on 1)

The method of claim 1, in which:
the surface is curved.

### Claim 4 (depends on 1)

The method of claim 1, in which:
the surface is substantially spherical.

### Claim 5 (depends on 1)

The method of claim 1, in which:
the first location data uses one of rectangular coordinates and spherical coordinates.

### Claim 6 (depends on 1)

The method of claim 1, in which:
the received first location data uses a first coordinate system,
the method further comprising: converting, by the computer system, the received first location data so that it uses a second coordinate system distinct from the first coordinate system, and
in which the querying is performed using the converted first location data.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
discerning, by the computer system and in response to the querying, a first subset of all of the domains that the first location belongs in, the first subset including the first domain, and
in which the second location is further selected so as to belong in all the domains of the first subset.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
further discerning, by the computer system and in response to the querying, a second subset of at least two of the domains that the first location does not belong in, the second subset including the second domain, and
in which the second location is further selected so as to not belong in any the domains of the second subset.

### Claim 9 (depends on 8)

The method of claim 8, in which:
the second subset includes at least three domains.

### Claim 10 (depends on 1)

The method of claim 1, in which:
the generated second location data uses a first coordinate system, and
the method further comprises: converting, by the computer system, the generated second location data so that it uses a second coordinate system distinct from the first coordinate system, and
in which the output second location data uses the second coordinate system.

### Claim 11 (depends on 1)

The method of claim 1, in which:
the first location data uses a first coordinate system, and
the outputted second location data uses a second coordinate system distinct from the first coordinate system.

### Claim 12 (depends on 1)

The method of claim 1, in which:
the first location data uses a certain coordinate system, and
the first location data defines a single point on the surface according to the certain coordinate system.

### Claim 13 (depends on 1)

The method of claim 1, in which:
the second location data uses a certain coordinate system, and
the second location data defines a single point on the surface according to the certain coordinate system.

### Claim 14 (depends on 1)

The method of claim 1, in which:
one of the first location and the second location is a place that has a non-zero area on the surface.

### Claim 15 (depends on 1)

The method of claim 1, in which:
the first location has a non-zero area on the surface,
the second location has a non-zero area on the surface, and
the second location can be fitted entirely within a test circle of a certain diameter, the test circle farther from any point of the first location than the certain diameter.

### Claim 16 (depends on 1)

The method of claim 1, in which:
the surface defines a forbidden zone, the first location known to be prohibited from being in the forbidden zone, but
the second location is selected to be in the forbidden zone.

### Claim 17 (depends on 1)

The method of claim 1, further comprising:
looking up, by the computer system, stored data that defines valid zones on the surface, the first location required to be in one of the valid zones; and
the second location is selected to be between two adjacent ones of the valid zones.

### Claim 18 (depends on 1)

The method of claim 1, in which:
the second location is selected by a generating function that uses the first location data to point to at least a vicinity for the second location.

### Claim 19 (depends on 18)

The method of claim 18, in which:
the generating function uses the first location data to point to the second location.

### Claim 20 (depends on 18)

The method of claim 18, in which:
the generating function uses at least one random variable.

### Claim 21 (depends on 18)

The method of claim 18, in which:
the generating function forces the second location to be within a certain range of distances from the first location.

### Claim 22 (depends on 18)

The method of claim 18, in which:
the generating function forces the second location to be at a certain general direction from the first location.

### Claim 23 (depends on 18)

The method of claim 18, in which:
the first location data uses a coordinate system that employs two perpendicular axes, and
the generating function forces the second location to be at a certain general direction from the first location, the certain general direction being at a random angle that is at least 20 degrees away from each of the axes.

### Claim 24 (depends on 1)

The method of claim 1, in which the generating includes:
choosing, by the computer system, candidate location data that defines a candidate location on the surface; and
determining, by the computer system, whether or not the candidate location meets a selection criterion,
in which the candidate location data is generated as the second location data responsive to the candidate location meeting the selection criterion.

### Claim 25 (depends on 24)

The method of claim 24, in which:
the selection criterion includes that the candidate location belongs in the first domain but does not belong in the second domain.

### Claim 26 (depends on 24)

The method of claim 24, in which:
the candidate location is selected by a generating function that uses the first location data.

### Claim 27 (depends on 24)

The method of claim 24, in which:
the surface defines a forbidden zone, the first location known to be prohibited from being in the forbidden zone, but
the candidate location is in the forbidden zone.

### Claim 28 (depends on 24)

The method of claim 24, further comprising:
storing, by the computer system in a memory of the computer system and prior to receiving the first location data, the candidate location data.

### Claim 29 (depends on 1)

The method of claim 1, in which the generating further includes:
choosing, by the computer system, a plurality of candidate location data that respectively define candidate locations on the surface; and
ranking, by the computer system, the plurality of the candidate locations according to at least one desirability criterion, and
in which the second location is selected as the one of the candidate locations that has been thus ranked the highest.

### Claim 30 (depends on 29)

The method of claim 29, in which:
the desirability criterion includes that the candidate location belongs in the first domain but does not belong in the second domain.

### Claim 31 (depends on 29)

The method of claim 29, in which:
the candidate locations are selected by a generating function that uses the first location data.

### Claim 32 (depends on 29)

The method of claim 29, in which:
the surface defines a forbidden zone, the first location known to be prohibited from being in the forbidden zone, but
one or more of the candidate locations are in the forbidden zone.

### Claim 33 (depends on 29)

The method of claim 29, further comprising:
storing, by the computer system in a memory of the computer system and prior to receiving the first location data, the plurality of candidate location data.

### Claim 34 (depends on 1)

The method of claim 1, further comprising:
storing, by the computer system in a memory of the computer system and prior to receiving the first location data, default location data that defines a default location on the surface; and
in which the second location data is the default location data.

### Claim 35 (depends on 34)

The method of claim 34, in which:
the surface defines a forbidden zone, the first location known to be prohibited from being in the forbidden zone, but
one or more of the candidate locations are in the forbidden zone.

### Claim 36 (depends on 1)

The method of claim 1, further comprising:
storing, by the computer system in a memory of the computer system and prior to receiving the first location data, a plurality of default location data that defines a plurality of default locations on the surface; and
in which
the second location is not any of the default locations; and
the method further comprises: storing, by the computer system in a memory of the computer system, the second location data as additional default data in the memory of the computer system.

### Claim 37 (depends on 36)

The method of claim 36, in which:
the surface includes a forbidden zone, the first location known to be prohibited from being in the forbidden zone, but
the second location is in the forbidden zone.

### Claim 38

A method for generating, from data of a first location on a surface, data for an alternate second location on the surface, the method comprising:
discerning, by a computer system, that the first location belongs in a first one of domains defined on the surface but does not belong in a second one of the domains, in which the first location data is defined by location data that is temporarily stored in a memory of the computer system and is rendered irretrievable from the memory;
generating, by the computer system, second location data that defines the second location on the surface, the second location selected so as to not overlap with the first location, the second location selected so as to belong in the first domain but to not belong in the second domain; and
outputting, by the computer system, the second location data.
