# US 10,122,539 B2 · URL replication for live broadcast streaming

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

- Number: US 10,122,539 B2
- Document ID: US10122539B2
- Status: Granted
- Kind: B2
- Application number: 15/098,170
- Filed: 2016-04-13
- Published: 2017-10-19
- Granted: 2018-11-06
- Earliest claimed: 2016-04-13
- Assignees: Facebook, Inc.
- Applicants: Facebook, Inc.
- Inventors: Federico Daniel Larumbe; Huapeng Zhou
- Web page: https://patentgrep.com/patent/US10122539B2

## CPC

- H04L 12/18: for broadcast or conference {, e.g. multicast}
- H04L 12/1877: {Measures taken prior to transmission}
- H04L 65/1063: Application servers providing network services (systems providing special services to telephonic subscribers H04M3/42)
- 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 65/65: Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Several embodiments include a live stream system in a media distribution network. The live stream system can divide a broadcast stream from a broadcaster device into one or more media segments. The live stream system can generate an original manifest uniform resource locator (URL) and a duplicate manifest URL to associate with the media segments. The live stream system can generate a broadcast manifest that identifies the media segments via one or more segment identifiers. The live stream system can upload the broadcast manifest and the media segments to a cache system to make the broadcast manifest accessible via either the original manifest URL or the duplicate manifest URL.

## Claims

### Claim 1

A computer-implemented method, comprising:
dividing a broadcast stream from a broadcaster device into one or more media segments;
generating a broadcast manifest that identifies the one or more media segments via one or more segment identifiers;
generating an original manifest uniform resource locator (URL) associated with the broadcast manifest and a duplicate manifest URL associated with the broadcast manifest, wherein the original manifest URL and the duplicate manifest URL are different text strings;
uploading the broadcast manifest and the media segments to a cache system to make the broadcast manifest accessible via either the original manifest URL or the duplicate manifest URL, and the media segments accessible via either the original manifest URL in combination with the segment identifiers or the duplicate manifest URL in combination with the segment identifiers;
monitoring a number of URL sharing content in a social network system, wherein the URL sharing content identifies the original manifest URL or a duplicate thereof; and
generating an additional duplicate manifest URL in response to detecting an increase in the number of the URL sharing content above a threshold.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein said generating the broadcast manifest includes generating the segment identifiers as sequential symbols; and wherein the number of the segment identifiers is equal to the number of the media segments resultant from said dividing.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein said uploading includes uploading at least two sets of copies of the broadcast manifest and the media segments, the sets respectively corresponding to the original manifest URL and the duplicate manifest URL.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the cache system includes at least an origin cache tier and a second cache tier.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the cache system includes at least an origin cache tier and a second cache tier; wherein the origin cache tier stores a single copy of the broadcast manifest keyed to both the original manifest URL and the duplicate manifest URL; and wherein for each unique URL of a content object requested from the origin cache tier, the second cache tier stores a copy of the content object.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein each of the media segments is accessible at the cache system via a segment URL; and wherein the segment URL combines the original manifest URL or the duplicate manifest URL with a corresponding segment identifier.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein generating the duplicate manifest URL is by adding a textual token to the original manifest URL.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, further comprising propagating the original manifest URL to a first set of potential viewer devices and the duplicate manifest URL to a second set of potential viewer devices.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, wherein said propagating includes providing the original manifest URL and the duplicate manifest URL to a web server system of a social networking system.

### Claim 10 (depends on 8)

The computer-implemented method of claim 8, wherein said propagating includes providing the original manifest URL and the duplicate manifest URL to a push notification system of a social networking system.

### Claim 11 (depends on 8)

The computer-implemented method of claim 8, wherein said generating the duplicate manifest URL includes generating a plurality of duplicate manifest URLs.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, wherein said propagating includes dividing target user accounts into a number of user groups equal to the number of the plurality of duplicate manifest URLs; and wherein said propagating includes propagating the plurality of duplicate manifest URLs respectively to the user groups.

### Claim 13 (depends on 11)

The computer-implemented method of claim 11, wherein the plurality of duplicate manifest URLs are generated individually over time.

### Claim 14 (depends on 11)

The computer-implemented method of claim 11, wherein the plurality of duplicate manifest URLs are generated in batch.

### Claim 15 (depends on 1)

The computer-implemented method of claim 1, wherein the broadcast stream is a live broadcast stream.

### Claim 16 (depends on 1)

The computer-implemented method of claim 1, further comprising:
coalescing cache lookup requests for a media segment associated with a media segment URL that includes the duplicate manifest URL;
selecting one or more representative cache lookup requests from the coalesced cache lookup requests;
sending one or more data fetch requests corresponding to the representative cache lookup requests to an origin cache tier of the cache system while delaying further processing of the coalesced cache lookup requests other than the representative cache lookup requests;
caching a content object associated with the media segment URL in response to sending the data fetch requests; and
responding to a delayed cache lookup request after the content object is cached.

### Claim 17

A live stream system, comprising:
memory configured to store executable instructions;
a processor configured by the executable instructions to:
divide a live broadcast stream from a broadcaster device into one or more media segments;
generate a broadcast manifest that identifies the media segments via one or more segment identifiers;
generate an original manifest uniform resource locator (URL) associated with the broadcast manifest and a duplicate manifest URL associated with the broadcast manifest, wherein the original manifest URL and the duplicate manifest URL are different text strings;
upload the broadcast manifest and the media segments to a cache system to make the broadcast manifest accessible via either the original manifest URL or the duplicate manifest URL and the media segments accessible via either the original manifest URL in combination with the segment identifiers or the duplicate manifest URL in combination with the segment identifiers;
monitor a number of URL sharing content in a social network system, wherein the URL sharing content identifies the original manifest URL or a duplicate thereof; and
generate an additional duplicate manifest URL in response to detecting an increase in the number of the URL sharing content above a threshold.

### Claim 18 (depends on 17)

The live stream system of claim 17, wherein the processor is further configured by the executable instructions to propagating the original manifest URL to a first set of potential viewer accounts and the duplicate manifest URL to a second set of potential viewer accounts.

### Claim 19

A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to:
divide a broadcast stream from a broadcaster device into one or more media segments;
generate a broadcast manifest that identifies the media segments via one or more segment identifiers;
generate an original manifest uniform resource locator (URL) associated with the broadcast manifest and a duplicate manifest URL associated with the broadcast manifest, wherein the original manifest URL and the duplicate manifest URL are different text strings;
upload the broadcast manifest and the media segments to a cache system to make the broadcast manifest accessible via either the original manifest URL or the duplicate manifest URL and the media segments accessible via either the original manifest URL in combination with the segment identifiers or the duplicate manifest URL in combination with the segment identifiers;
monitor a number of URL sharing content in a social network system, wherein the URL sharing content identifies the original manifest URL or a duplicate thereof; and
generate an additional duplicate manifest URL in response to detecting an increase in the number of the URL sharing content above a threshold.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19, wherein the instructions further cause the processor to propagate the original manifest URL to a first set of potential viewer accounts and the duplicate manifest URL to a second set of potential viewer accounts.
