# US 8,788,696 B2 · Media content streaming using stream message fragments

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

- Number: US 8,788,696 B2
- Document ID: US8788696B2
- Status: Granted
- Kind: B2
- Application number: 13/789,413
- Filed: 2013-03-07
- Published: 2013-07-25
- Granted: 2014-07-22
- Earliest claimed: 2009-08-17
- Assignees: Adobe Systems Incorporated
- Applicants: Adobe Systems Incorporated
- Inventors: Viswanathan Swaminathan; Saayan Mitra
- Web page: https://patentgrep.com/patent/US8788696B2

## CPC

- H04L 65/60: Network streaming of media packets
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- H04L 65/612: for unicast
- H04L 65/70: Media network packetisation
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04N 21/47202: {for requesting content on demand, e.g. video on demand}
- H04N 21/64322: {IP}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for media content streaming can include transacting access information associated with a media stream and transacting one or more fragments associated with the media stream to facilitate a delivery of media content associated with the media stream. Access information can include fragment sequencing information to facilitate individual retrieval of fragments associated with the media stream using a uniform resource identifier via a processing device configured to cache content. A fragment can include one or more stream messages. A stream message can include a message header and a corresponding media data sample. The message header can include a message stream identifier, a message type identifier, a timestamp, and a message length value.

## Claims

### Claim 1

A method comprising:
forming a request to access a media stream at a client device;
using access information, by the client device, that comprises fragment sequencing information to facilitate individual retrieval of fragments associated with the media stream using a uniform resource identifier via a respective cache of media of the media stream, the fragments comprising stream messages in which separate ones of the stream messages include a media data sample and a message header that includes a message stream identifier, a timestamp, and a message length value; and
consuming the media data samples of the retrieved fragments by the client device.

### Claim 2 (depends on 1)

A method as described in claim 1, wherein the message header further includes a message type identifier.

### Claim 3 (depends on 1)

A method as described in claim 1, further comprising receiving the access information via a network responsive to communicating the request to access the media stream.

### Claim 4 (depends on 1)

A method as described in claim 1, further comprising receiving the one or more fragments using a Hypertext Transfer Protocol (HTTP).

### Claim 5 (depends on 1)

A method as described in claim 1, wherein the access information comprises identities of a plurality of devices that are configured to serve one or more fragments associated with the media stream and the access information is configured to cause a remote device to request different fragments from different devices for assembly to play at least a portion of the media stream.

### Claim 6 (depends on 1)

A method as described in claim 1, further comprising receiving updated access information that reflects one or more additional fragments that were generated based on an incremental media data addition to the media stream.

### Claim 7 (depends on 1)

A method as described in claim 1, wherein the fragment sequencing information comprises one or more fragment time durations and a number of fragments associated with each fragment time duration, the fragment sequencing information being arranged to indicate a fragment play order.

### Claim 8 (depends on 1)

A method as described in claim 1, wherein the message header is formatted in accordance with a Real-Time Messaging Protocol (RTMP).

### Claim 9 (depends on 1)

A method as described in claim 1, wherein one or more of the fragments comprise a Real-Time Messaging Protocol (RTMP) message associate with audio data interleaved with a RTMP message associated with video data.

### Claim 10 (depends on 1)

A method as described in claim 1, wherein the access information comprises a segment run table configured to identify runs of segments and a fragment run table configured to identify runs of fragments, the fragment run tables including the fragment sequencing information.

### Claim 11

A system implemented by at least one device and configured to perform operations comprising:
receiving one or more fragments associated with a media stream, the fragments comprising stream messages in which separate ones of the stream messages include a media data sample and a message header that includes a message stream identifier, a timestamp, and a message length value; and
storing the one or more fragments in a cache that is accessible via a uniform resource identifier using access information associated with the media stream, the access information comprising fragment sequencing information configured to facilitate individual retrieval of fragments associated with the media stream using the uniform resource identifier.

### Claim 12 (depends on 11)

A system as described in claim 11, wherein the message header further includes a message type identifier.

### Claim 13 (depends on 11)

A system as described in claim 11, further comprising sending the one or more fragments for receipt by a client device via a network responsive to a request received from the client device, the sending facilitating access of the client device to the media stream.

### Claim 14 (depends on 11)

A system as described in claim 11, wherein the fragment sequencing information comprises one or more fragment time durations and a number of fragments associated with each fragment time duration, the fragment sequencing information being arranged to indicate a fragment play order.

### Claim 15 (depends on 11)

A system as described in claim 11, wherein the access information comprises a segment run table configured to identify runs of segments or a fragment run table configured to identify runs of fragments, the fragment run tables including the fragment sequencing information.

### Claim 16

A system implemented by at least one device and configured to perform operations comprising:
fragmenting media data to form one or more fragments for communication as a media stream, the fragments comprising stream messages in which separate ones of the stream messages include a media data sample and a message header that includes a message stream identifier, a timestamp, and a message length value; and
generating access information that comprises fragment sequencing information configured to facilitate individual retrieval of the fragments associated with the media stream using a uniform resource identifier via a respective cache of media of the media stream, the fragments comprising stream messages in which separate ones of the stream messages include a media data sample and a message header that includes a message stream identifier, a timestamp, and a message length value.

### Claim 17 (depends on 16)

A system as described in claim 16, wherein the message header further includes a message type identifier.

### Claim 18 (depends on 16)

A system as described in claim 16, further comprising generating updated access information to reflect one or more additional fragments that were generated based on an incremental media data addition to the media stream.

### Claim 19 (depends on 16)

A system as described in claim 16, wherein the access information comprises a segment run table configured to identify runs of segments and a fragment run table configured to identify runs of fragments, the fragment run tables including the fragment sequencing information.

### Claim 20 (depends on 16)

A system as described in claim 16, wherein the access information comprises identities of a plurality of devices that are configured to serve one or more fragments associated with the media stream and the access information is configured to cause a remote device to request different fragments from different devices for assembly to play at least a portion of the media stream.
