# US 11,122,396 B2 · Recipient-based content optimization in a messaging system

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

- Number: US 11,122,396 B2
- Document ID: US11122396B2
- Status: Granted
- Kind: B2
- Application number: 16/919,961
- Filed: 2020-07-02
- Published: 2020-12-31
- Granted: 2021-09-14
- Earliest claimed: 2019-06-26
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Michael Ronald Cieslak; Zahra Ferdowsi; Jun Huang; Michael David Marr; Jiayao Yu; Finn Parnell; Aleksandr Zhang; Chao Pang
- Web page: https://patentgrep.com/patent/US11122396B2

## CPC

- H04L 65/4015: {where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference}
- H04W 4/18: Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
- H04L 12/1886: {with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains}
- H04L 51/06: Message adaptation to terminal or network requirements
- H04L 65/1063: Application servers providing network services (systems providing special services to telephonic subscribers H04M3/42)
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04L 65/80: Responding to QoS
- H04L 67/04: specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
- H04W 4/00: Services specially adapted for wireless communication networks; Facilities therefor
- H04W 4/12: Messaging; Mailboxes; Announcements
- H04W 28/0215: {based on user or device properties, e.g. MTC-capable devices (services for machine-to-machine communication [M2M] or machine type communication [MTC] H04W4/70; wireless resource selection or allocation plan definition based on terminal or device properties H04W72/51)}
- H04L 51/10: Multimedia information
- H04L 63/0861: {using biometrical features, e.g. fingerprint, retina-scan (cryptographic mechanisms or cryptographic arrangements for entity authentication using biological data H04L9/3231)}
- H04L 63/104: {Grouping of entities}
- H04W 4/02: Services making use of location information
- H04W 4/027: {using movement velocity, acceleration information}
- H04W 4/21: for social networking applications
- H04W 4/80: Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

The subject technology accesses, by at least one processor, device capabilities for each of a plurality of recipient devices. The subject technology clusters, by the at least one processor, the plurality of recipient devices into a plurality of groups of recipient devices based on device capabilities. The subject technology determines, for each group of recipient devices, a set of content parameters compatible with the device capabilities of the plurality of recipient devices of a group of client devices. Further, the subject technology generates, for each group of recipient devices, a version of the content according to an associated set of content parameters.

## Claims

### Claim 1

A method comprising:
accessing, by at least one processor, device capabilities for each of a plurality of recipient devices;
determining that a value of a capability parameter is not available for a first recipient device, the first recipient device being one of the plurality of recipient devices;
receiving, from the first recipient device, a value of the capability parameter;
clustering, by the at least one processor, the plurality of recipient devices into a plurality of groups of recipient devices based on the device capabilities including a current battery level, and, for each group of recipient devices, an associated set of content parameters being compatible with the current battery level of a recipient device having a lowest current battery level among the recipient devices of the group of recipient devices;
determining, for each group of recipient devices, a set of content parameters compatible with the device capabilities of the plurality of recipient devices of a group of client devices; and
generating, for each group of recipient devices, a version of content according to an associated set of content parameters.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving, by at least one processor, from a sender device, a content to be shared with a plurality of recipients via a messaging application; and
identifying, by the at least one processor, a plurality of recipient devices, the plurality of recipient devices includes at least one recipient device for each of the plurality of recipients.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining, by the at least one processor, a set of content parameters compatible with the device capabilities of the plurality of recipient devices.

### Claim 4 (depends on 1)

The method of claim 1, wherein accessing device capabilities for each of the plurality of recipient devices further comprises:
determining a benchmark performance metric for a first recipient device, the first recipient device being one of the plurality of recipient devices; and
receiving, from the first recipient device, a value of the benchmark performance metric.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the set of content parameters compatible with the device capabilities of the plurality of recipient devices further comprises:
clustering, by the at least one processor, the plurality of recipient devices into a plurality of groups of recipient devices based on device capabilities;
determining, for each group of recipient devices, a set of content parameters compatible with the device capabilities of the plurality of recipient devices of the group of client devices; and
generating, for each group of recipient devices, a version of the content according to the associated set of content parameters.

### Claim 6 (depends on 1)

The method of claim 1, wherein the device capabilities include an available storage space, and wherein, for each group of recipient devices, the associated set of content parameters is compatible with storage space available on the recipient device having a lowest available storage space among the recipient devices of the group of recipient devices.

### Claim 7 (depends on 1)

The method of claim 1, wherein the device capabilities include an available bandwidth, and wherein, for each group of recipient devices, the associated set of content parameters is compatible with the available bandwidth of the recipient device having lowest available bandwidth among the recipient devices of the group of recipient devices.

### Claim 8 (depends on 1)

The method of claim 1, wherein the set of content parameters includes a video coding format, video compression format, an image resolution, or a data rate.

### Claim 9

A system comprising:
at least one processor; and
a memory storing instructions that cause the at least one processor to perform operations comprising:
accessing, by at least one processor, device capabilities for each of a plurality of recipient devices;
determining that a value of a capability parameter is not available for a first recipient device, the first recipient device being one of the plurality of recipient devices;
receiving, from the first recipient device, a value of the capability parameter;
clustering, by the at least one processor, the plurality of recipient devices into a plurality of groups of recipient devices based on the device capabilities including a current battery level, and, for each group of recipient devices, an associated set of content parameters being compatible with the current battery level of the recipient device having a lowest current battery level among the recipient devices of the group of recipient devices;
determining, for each group of recipient devices, a set of content parameters compatible with the device capabilities of the plurality of recipient devices of a group of client devices; and
generating, for each group of recipient devices, a version of content according to an associated set of content parameters.

### Claim 10 (depends on 9)

The system of claim 9, wherein the operations further comprise:
receiving, by at least one processor, from a sender device, a content to be shared with a plurality of recipients via a messaging application; and
identifying, by the at least one processor, a plurality of recipient devices, the plurality of recipient devices includes at least one recipient device for each of the plurality of recipients.

### Claim 11 (depends on 10)

The system of claim 10, wherein the operations further comprise:
determining, by the at least one processor, a set of content parameters compatible with the device capabilities of the plurality of recipient devices.

### Claim 12 (depends on 9)

The system of claim 9, wherein accessing device capabilities for each of the plurality of recipient devices further comprises:
determining a benchmark performance metric for a first recipient device, the first recipient device being one of the plurality of recipient devices; and
receiving, from the first recipient device, a value of the benchmark performance metric.

### Claim 13 (depends on 9)

The system of claim 9, wherein determining the set of content parameters compatible with the device capabilities of the plurality of recipient devices further comprises:
clustering, by the at least one processor, the plurality of recipient devices into a plurality of groups of recipient devices based on device capabilities;
determining, for each group of recipient devices, a set of content parameters compatible with the device capabilities of the plurality of recipient devices of the group of client devices; and
generating, for each group of recipient devices, a version of the content according to the associated set of content parameters.

### Claim 14 (depends on 9)

The system of claim 9, wherein the device capabilities include an available storage space, and wherein, for each group of recipient devices, the associated set of content parameters is compatible with storage space available on the recipient device having a lowest available storage space among the recipient devices of the group of recipient devices.

### Claim 15 (depends on 9)

The system of claim 9, wherein the device capabilities include an available bandwidth, and wherein, for each group of recipient devices, the associated set of content parameters is compatible with the available bandwidth of the recipient device having a lowest available bandwidth among the recipient devices of the group of recipient devices.

### Claim 16

A non-transitory computer-readable storage medium, the non-transitory computer-readable storage medium including instructions that when executed by a computer, cause the computer to:
accessing, by at least one processor, device capabilities for each of a plurality of recipient devices;
determining that a value of a capability parameter is not available for a first recipient device, the first recipient device being one of the plurality of recipient devices;
receiving, from the first recipient device, a value of the capability parameter;
clustering, by the at least one processor, the plurality of recipient devices into a plurality of groups of recipient devices based on the device capabilities including a current battery level, and, for each group of recipient devices, an associated set of content parameters being compatible with the current battery level of the recipient device having a lowest current battery level among the recipient devices of the group of recipient devices;
determining, for each group of recipient devices, a set of content parameters compatible with the device capabilities of the plurality of recipient devices of a group of client devices; and
generating, for each group of recipient devices, a version of content according to an associated set of content parameters.
