# US 9,438,661 B2 · Synchronization of clients to maximize multicast opportunities

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

- Number: US 9,438,661 B2
- Document ID: US9438661B2
- Status: Granted
- Kind: B2
- Application number: 14/665,900
- Filed: 2015-03-23
- Published: 2015-07-09
- Granted: 2016-09-06
- Earliest claimed: 2009-10-29
- Assignees: AT&T Intellectual Property I, L.P.
- Applicants: At&T Intellectual Property I, L.P.
- Inventors: Alan L. Glasser; Andrew G. Gauld; Vijay Gopalakrishnan; John F. Lucas; Kadangode K. Ramakrishnan
- Web page: https://patentgrep.com/patent/US9438661B2

## CPC

- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 47/15: {in relation to multipoint traffic (arrangements for broadcast or multicast in data networks H04L12/18)}
- H04L 49/201: Multicast operation; Broadcast operation
- H04L 65/1069: Session establishment or de-establishment
- H04L 65/60: Network streaming of media packets
- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/1014: based on the content of a request
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04W 56/001: {Synchronization between nodes}
- H04W 72/30: Resource management for broadcast services
- H04L 12/18: for broadcast or conference {, e.g. multicast}
- H04N 21/26275: {for distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system}
- H04N 21/6405: Multicasting {(data broadcast and multicast in packet switching networks H04L12/18)}
- 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)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A content monitor includes a processor that at least receives requests from a plurality of clients for content, instructs each client to retry their respective request at a first later time if the request is received before a first time, counts the requests to determine if a number of the requests exceeds a threshold if the request is received before a second time, instructs each client to retry their respective request at a second later time if the counted number of requests does not exceed a first threshold, instructs each client to join a multicast group to receive the content when the number of requests exceeds the first threshold, and counts a number of late clients joining the multicast group after a first portion of the content has been sent to the multicast group.

## Claims

### Claim 1

A system, comprising:
a memory that stores instructions;
a processor that executes the instructions to perform operations, the operations comprising:
instructing, if a quantity of requests for content is determined to exceed a first threshold, each of a plurality of client systems to join a multicast group to receive the content; and
determining, based on determining a number of client systems waiting to join the multicast group, if a first multicast session associated with the multicast group has been started within a period of time.

### Claim 2 (depends on 1)

The system of claim 1, wherein the operations further comprise counting the requests for the content to determine if the quantity of the requests for the content exceeds the first threshold.

### Claim 3 (depends on 1)

The system of claim 1, wherein the operations further comprise counting a number of late client systems joining the multicast group after a first portion of the content has been sent to the multicast group.

### Claim 4 (depends on 1)

The system of claim 1, wherein the operations further comprise transmitting, to a first client system of the client systems, a set of instructions that indicate that the first client system should request the content again.

### Claim 5 (depends on 1)

The system of claim 1, wherein the operations further comprise increasing a count of client systems waiting for the content when the first multicast session associated with the multicast group has been determined to not be started within the period of time.

### Claim 6 (depends on 1)

The system of claim 1, wherein the operations further comprise tracking when each client system joins the first multicast session to estimate a size of a first portion of the content.

### Claim 7 (depends on 1)

The system of claim 1, wherein the operations further comprise instructing, if the quantity of the requests for the content is determined to not exceed the first threshold, each of the plurality of client systems to receive the content via unicast delivery.

### Claim 8 (depends on 1)

The system of claim 1, wherein the operations further comprise enabling a portion of the plurality of client systems to obtain a first portion of the content via unicast delivery and a second portion of the content via the first multicast session.

### Claim 9 (depends on 1)

The system of claim 1, wherein the operations further comprise distributing a second portion of the content to late client systems in a second multicast session if the first multicast session associated with the multicast group has been determined to have been started within the period of time and if a first portion of the content has already been distributed via the first multicast session.

### Claim 10 (depends on 1)

The system of claim 1, wherein the operations further comprise determining an amount of the content to be distributed to each of the client systems.

### Claim 11

A method, comprising:
instructing, if a quantity of requests for content is determined to exceed a first threshold, each of a plurality of client systems to join a multicast group to receive the content; and
determining, based on determining a number of client systems waiting to join the multicast group and by utilizing instructions from a memory that are executed by a processor, if a first multicast session associated with the multicast group has been started within a period of time.

### Claim 12 (depends on 11)

The method of claim 11, further comprising counting the requests for the content to determine if the quantity of the requests for the content exceeds the first threshold.

### Claim 13 (depends on 11)

The method of claim 11, further comprising counting a number of late client systems joining the multicast group after a first portion of the content has been sent to the multicast group.

### Claim 14 (depends on 11)

The method of claim 11, further comprising transmitting, to a first client system of the client systems, a set of instructions that indicate that the first client system should request the content again.

### Claim 15 (depends on 11)

The method of claim 11, further comprising increasing a count of client systems waiting for the content when the first multicast session associated with the multicast group has been determined to not be started within the period of time.

### Claim 16 (depends on 11)

The method of claim 11, further comprising tracking when each client system joins the first multicast session to estimate a size of a first portion of the content.

### Claim 17 (depends on 11)

The method of claim 11, further comprising instructing, if the quantity of the requests for the content is determined to not exceed the first threshold, each of the plurality of client systems to receive the content via unicast delivery.

### Claim 18 (depends on 11)

The method of claim 11, further comprising enabling a portion of the plurality of client systems to obtain a first portion of the content via unicast delivery and a second portion of the content via the first multicast session.

### Claim 19 (depends on 11)

The method of claim 11, further comprising distributing a second portion of the content to late client systems in a second multicast session if the first multicast session associated with the multicast group has been determined to have been started within the period of time and if a first portion of the content has already been distributed via the first multicast session.

### Claim 20

A computer-readable device comprising instructions, which when loaded and executed by a processor, cause the processor to perform operations, the operations comprising:
instructing, if a quantity of requests for content is determined to exceed a first threshold, each of a plurality of client systems to join a multicast group to receive the content; and
determining, based on determining a number of client systems waiting to join the multicast group, if a first multicast session associated with the multicast group has been started within a period of time.
