# US 10,373,221 B1 · On-device directory search

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

- Number: US 10,373,221 B1
- Document ID: US10373221B1
- Status: Granted
- Kind: B1
- Application number: 15/913,250
- Filed: 2018-03-06
- Granted: 2019-08-06
- Earliest claimed: 2013-03-05
- Assignees: Square, Inc.
- Applicants: Square, Inc.
- Inventors: Zachary Brock
- Web page: https://patentgrep.com/patent/US10373221B1

## CPC

- G06Q 30/0601: Electronic shopping [e-shopping]
- G06Q 30/0625: {by formulating product or service queries, e.g. using keywords or predefined options}
- G06Q 30/0639: {Locating goods or services, e.g. based on physical position of the goods or services within a shopping facility}
- 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

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing searches using an on-device directory. One of the methods includes providing, by a user device, a location of the user device to a server. Delta information is received that identifies merchants to be added to an on-device directory of the user device, wherein the merchants to be added are located in a geographic region that includes the location of the user device. An on-device directory on the user device is updated using the received information identifying merchants. A search query for merchants located in the geographic region is received. Information is obtained from the on device directory identifying one or more merchants that satisfy the query, and the information identifying the one or more merchants is provided in response to the query.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving, at a server and from a user device, a first location of the user device;
determining, by the server, a first set of merchants within a first geographical region that includes the first location of the user device;
sending, by the server, the first set of merchants to the user device to be stored in an on-device directory of the user device;
determining, at the server, a change in location of the user device based on information received on a second location of the user device that is different from the first location of the user device;
determining, by the server, delta information identifying a difference between merchants included in the first set of merchants and merchants included in a second set of merchants within a second geographical region that includes the second location of the user device; and
sending, by the server, the delta information to the user device for updating the on-device directory of the user device to enable the user device to search for merchants relative to the second location of the user device without communicating with the server.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the delta information identifies merchants to be removed from the on-device directory of the user device that are included the first set of merchants but are not included in the second set of merchants.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the delta information identifies merchants to be added to the on-device directory of the user device that are not included the first set of merchants but are included in the second set of merchants.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein a change in a geographical position of the user device triggers the user device to send the information on the second location to the server.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein determining the second set of merchants comprises identifying merchants that are within a threshold distance of the second location of the user device.

### Claim 6

A device comprising:
memory having computer-readable instructions stored therein; and
one or more processors configured to execute the computer-readable instructions to:
receive, from a user device, a first location of the user device;
determine a first set of merchants within a first geographical region that includes the first location of the user device;
send the first set of merchants to the user device to be stored in an on-device directory of the user device;
determine a change in location of the user device based on information received on a second location of the user device that is different from the first location of the user device;
determine delta information identifying a difference between merchants included in the first set of merchants and merchants included in a second set of merchants within a second geographical region that includes the second location of the user device; and
send the delta information to the user device for updating the on-device directory of the user device to enable the user device to search for merchants relative to the second location of the user device without communicating with the device.

### Claim 7 (depends on 6)

The device of claim 6, wherein the delta information identifies merchants to be removed from the on-device directory of the user device that are included the first set of merchants but are not included in the second set of merchants.

### Claim 8 (depends on 6)

The device of claim 6, wherein the delta information identifies merchants to be added to the on-device directory of the user device that are not included the first set of merchants but are included in the second set of merchants.

### Claim 9 (depends on 6)

The device of claim 6, wherein a change in a geographical position of the user device triggers the user device to send the information on the second location to device.

### Claim 10 (depends on 6)

The device of claim 6, wherein the one or more processors are configured to execute the computer-readable instructions to determine the second set of merchants by identifying merchants that are within a threshold distance of the second location of the user device.

### Claim 11

One or more non-transitory computer-readable medium comprising computer-readable instructions stored therein, which when executed by one or more processors of a server, cause the one or more processors to:
receive, from a user device, a first location of the user device;
determine a first set of merchants within a first geographical region that includes the first location of the user device;
send the first set of merchants to the user device to be stored in an on-device directory of the user device;
determine a change in location of the user device based on information received on a second location of the user device that is different from the first location of the user device;
determine delta information identifying a difference between merchants included in the first set of merchants and merchants included in a second set of merchants within a second geographical region that includes the second location of the user device; and
send the delta information to the user device for updating the on-device directory of the user device to enable the user device to search for merchants relative to the second location of the user device without communicating with the server.

### Claim 12 (depends on 11)

The one or more non-transitory computer-readable medium of claim 11, wherein the delta information identifies merchants to be removed from the on-device directory of the user device that are included the first set of merchants but are not included in the second set of merchants.

### Claim 13 (depends on 11)

The one or more non-transitory computer-readable medium of claim 11, wherein the delta information identifies merchants to be added to the on-device directory of the user device that are not included the first set of merchants but are included in the second set of merchants.

### Claim 14 (depends on 11)

The one or more non-transitory computer-readable medium of claim 11, wherein the first location and the second location of the user device are geographically apart by at least a threshold distance.

### Claim 15 (depends on 11)

The one or more non-transitory computer-readable medium of claim 11, wherein execution of the computer-readable instructions by the one or more processors, cause the one or more processors to determine the second set of merchants by identifying merchants that are within a threshold distance of the second location of the user device.
