# US 10,122,608 B1 · Routing messages to user devices

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

- Number: US 10,122,608 B1
- Document ID: US10122608B1
- Status: Granted
- Kind: B1
- Application number: 15/096,995
- Filed: 2016-04-12
- Granted: 2018-11-06
- Earliest claimed: 2014-08-26
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Adam Schott Riggs
- Web page: https://patentgrep.com/patent/US10122608B1

## CPC

- H04L 43/106: using time related information in packets, e.g. by adding timestamps
- G06Q 10/107: Computer-aided management of electronic mailing [e-mailing]
- G06Q 30/02: Marketing; Price estimation or determination; Fundraising
- H04L 51/56: Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
- H04L 51/58: Message adaptation for wireless communication
- H04N 21/4667: {Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections}
- H04N 21/4758: {for providing answers, e.g. voting}
- H04N 21/4882: {for displaying messages, e.g. warnings, reminders (arrangements for providing short real-time information to substation in data switching networks H04L12/1895)}
- H04N 21/64753: {directed to the client}
- H04W 4/12: Messaging; Mailboxes; Announcements
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- 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
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Systems and methods are disclosed for routing messages to one or more of a plurality of user devices associated with a particular user to whom a particular message is to be provided. The message destination user device(s) may be determined by evaluating the user interactions on each of the plurality of user device. The message destination user device(s) may be selected as the user device(s) that are predicted to have a relatively high level of interaction and/or activity with the user to whom the message is to be provided or is in relative proximity of the user to whom the message is to be provided. When the message destination user device(s) are determined, the message may be transmitted to that/those message destination user device(s) for rendering to the user to whom the message is to be provided.

## Claims

### Claim 1

A system, comprising:
at least one memory that stores computer-executable instructions;
at least one processor configured to access the at least one memory, wherein the at least one processor is configured to execute the computer-executable instructions to:
identify a plurality of user devices associated with a user account, including a first user device and a second user device;
send a first polling request to the first user device and a second polling request to the second user device, wherein the first polling request instructs the first user device to provide an indication of user interaction with the first user device and the second polling request instructs the second user device to provide an indication of user interaction with the second user device;
determine that the first user device is a message destination user device; and
send a message to only the first user device of the plurality of user devices.

### Claim 2 (depends on 1)

The system of claim 1, wherein the at least one processor is further configured to identify a user account to which the message is to be delivered.

### Claim 3 (depends on 1)

The system of claim 1, wherein the at least one processor is further configured to:
receive, after transmitting the first polling request, a first polling response; and
receive, after transmitting the second polling request, a second polling response.

### Claim 4 (depends on 3)

The system of claim 3, wherein the at least one processor configured to determine that the first user device is the message destination user device comprises the at least one processor configured to determine that the first user device is the message destination is based at least in part on a comparison of the first polling response.

### Claim 5 (depends on 3)

The method of claim 3, wherein the at least one processor configured to receive the first polling response comprises the at least one processor configured to receive the first polling response within a threshold period of time.

### Claim 6 (depends on 3)

The system of claim 3, wherein the first polling response includes an interaction score associated with the first user device and an identity confidence score associated with the first user device, and wherein determining that the first user device is a message destination user device is based at least in part on the interaction score associated with the first user device and the identity confidence score associated with the first user device.

### Claim 7 (depends on 3)

The system of claim 3, wherein the first polling response includes a first indication of a first interaction and a first time associated with the first indication and the second polling response includes a second indication of a second interaction and a second time associated with the second indication.

### Claim 8 (depends on 7)

The system of claim 7, wherein the at least one processor configured to determine that the first user device is the message destination user device comprises the at least one processor configured to:
identify a set of interaction rules for evaluating the first indication of the first interaction and the second indication of the second interaction;
identify a first level of interaction associated with the first user device based at least in part on the set of interaction rules, the first indication of the first interaction, and the first time associated with the first indication of the first interaction;
identify a second level of interaction associated with the second user device based at least in part on the set of interaction rules, the second indication of the second interaction, and the second time associated with the second indication of the second interaction; and
determine that the message is to be sent to the first user device based at least in part on the first level of interaction and the second level of interaction.

### Claim 9 (depends on 7)

The system of claim 7, wherein the at least one processor configured to determine that the first user device is the message destination user device comprises the at least one processor configured to:
identify a set of identity confidence rules for evaluating the first indication of the first interaction and the second indication of second interaction;
identify a first level of identity confidence associated with the first user device based at least in part on the set of interaction rules, the first indication of the first interaction, and the first time associated with the first indication of the first interaction;
identify a second level of identity confidence associated with the second user device based at least in part on the set of interaction rules, the second indication of the second interaction, and the second time associated with the second indication of the second interaction; and
determine that the message is to be sent to the first user device based at least in part on the first level of identity confidence and the second level of identity confidence.

### Claim 10 (depends on 1)

The system of claim 1, wherein the at least one processor is further configured to:
determine a time when a previous message destination user device was identified; and
determine, based at least in part on the time, that the time is outside of a time threshold,
wherein sending the first polling request to the first user device and the second polling request to the second user device is based at least in part on the determination that the time is outside of the time threshold.

### Claim 11 (depends on 1)

The system of claim 1, wherein the plurality of user devices associated with the user includes a third user device and wherein the at least one processor is further configured to:
identify that the third user device is in an inactive mode based at least in part on an inactive mode message received from the third user device; and
determine that the third user device is to be removed from a list of user devices to be polled.

### Claim 12

At least one non-transitory computer-readable medium comprising computer-executable instructions that, when executed by one or more processors, executes operations comprising:
identifying a plurality of user devices associated with a user account, including a first user device and a second user device;
sending a first polling request to the first user device and a second polling request to the second user device, wherein the first polling request instructs the first user device to provide an indication of user interaction with the first user device and the second polling request instructs the second user device to provide an indication of user interaction with the second user device;
determining that the first user device is a message destination user device; and
sending a message to only the first user device of the plurality of user devices.

### Claim 13 (depends on 12)

The at least one non-transitory computer-readable medium of claim 12, wherein the operations further comprise:
receiving, after transmitting the first polling request, a first polling response; and
receiving, after transmitting the second polling request, a second polling response.

### Claim 14 (depends on 13)

The at least one non-transitory computer-readable medium of claim 13, wherein receiving the first polling response comprises receiving the first polling response within a threshold period of time.

### Claim 15 (depends on 13)

The at least one non-transitory computer-readable medium of claim 13, wherein the first polling response includes a first indication of a first interaction and a first time associated with the first indication and the second polling response includes a second indication of a second interaction and a second time associated with the second indication.

### Claim 16 (depends on 15)

The at least one non-transitory computer-readable medium of claim 15, wherein determining that the first user device is the message destination user device comprises:
identifying a set of interaction rules for evaluating the first indication of the first interaction and the second indication of the second interaction;
identifying a first level of interaction associated with the first user device based at least in part on the set of interaction rules, the first indication of the first interaction, and the first time associated with the first indication of the first interaction;
identifying a second level of interaction associated with the second user device based at least in part on the set of interaction rules, the second indication of the second interaction, and the second time associated with the second indication of the second interaction; and
determining that the message is to be sent to the first user device based at least in part on the first level of interaction and the second level of interaction.

### Claim 17 (depends on 12)

The at least one non-transitory computer-readable medium of claim 12, wherein the operations further comprise:
determining a time when a previous message destination user device was identified; and
determining, based at least in part on the time, that the time is outside of a time threshold,
wherein sending the first polling request to the first user device and the second polling request to the second user device is based at least in part on the determination that the time is outside of the time threshold.

### Claim 18

At least one non-transitory computer-readable medium comprising computer-executable instructions that, when executed by one or more processors, executes operations comprising:
receiving a polling request;
identifying one or more user interactions, including a first user interaction and a second user interaction;
identifying a first timestamp corresponding to the first user interaction and second timestamp corresponding to the second user interaction;
determining a first interaction mode of the first user interaction and a second interaction mode of the second user interaction;
determining, based at least in part on the first interaction mode, the second interaction mode, the first timestamp, and the second timestamp, that content of a polling response is to include information about the first interaction;
generating the polling response including the content based at least in part on the first user interaction and the first timestamp;
sending the polling response; and
receiving a message based at least in part on the polling response.

### Claim 19 (depends on 18)

The at least one non-transitory computer-readable medium of claim 18, wherein the operations further comprise determining an interaction score based at least in part on the first user interaction and the first time stamp, and wherein the polling response includes the interaction score.

### Claim 20 (depends on 18)

The at least one non-transitory computer-readable medium of claim 18, wherein the operations further comprise determining an identity confidence score based at least in part on the first user interaction and the first time stamp, and wherein the polling response includes the identity confidence score.
