# US 9,438,657 B2 · Efficient video delivery

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

- Number: US 9,438,657 B2
- Document ID: US9438657B2
- Status: Granted
- Kind: B2
- Application number: 14/710,363
- Filed: 2015-05-12
- Published: 2015-08-27
- Granted: 2016-09-06
- Earliest claimed: 2007-11-21
- Assignees: Tata Communications (America) Inc.
- Applicants: Tata Communications (America) Inc.
- Inventors: Donald Peregrine Clarke; Edward Deitz Crump; Barrett Gibson Lyon
- Web page: https://patentgrep.com/patent/US9438657B2

## CPC

- H04N 21/2343: involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements {(video transcoding H04N19/40; media packet handling at the source H04L65/762)}
- G06F 16/116: {Details of conversion of file system types or formats}
- G06F 16/183: {Provision of network file services by network file servers, e.g. by using NFS, CIFS (network file access protocols H04L67/1097)}
- G06F 16/70: of video data
- H04L 65/612: for unicast
- H04L 65/65: Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
- H04L 65/765: {intermediate}
- H04N 21/64322: {IP}
- H04N 21/6437: Real-time Transport Protocol [RTP]
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Efficient video delivery is disclosed. In some embodiments, at least a part of a video stream received from a video source is converted to a dividable video format file. The dividable video format file is split into a sequence of small files, and one or more of the sequence of small files is published.

## Claims

### Claim 1

A method for publishing a video stream, comprising:
receiving at a formatting server at least a part of a video stream;
converting at a formatting server the received part of the video stream into a dividable video format;
splitting at a formatting server the dividable video format into a sequence of small files; and
publishing the sequence of small files as one or more portions of a single file to a node of a CDN;
assembling, at the CDN node, the sequence of small files together in a correct order, and
delivering, at the CDN node, the assembled sequence of small files to a web server within the CDN node;
wherein a client request for the single file is at least in part serviceable by providing one or more of the sequence of small files as portions of the single file to the client.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein the video stream comprises a Real Time Streaming Protocol (RTSP) stream.

### Claim 3 (depends on 1)

The method as recited in claim 1, wherein the video stream comprises a Real Time Messaging Protocol (RTMP) stream.

### Claim 4 (depends on 1)

The method as recited in claim 1, wherein the video stream comprises a real time streaming video format and is received from a video source comprising one or more of a camera, a Real Time Streaming Protocol (RTSP) server, and a Real Time Messaging Protocol (RTMP) server.

### Claim 5 (depends on 1)

The method as recited in claim 1, wherein the dividable video format comprises a Flash FLV file.

### Claim 6 (depends on 1)

The method as recited in claim 1, wherein the dividable video format is split into small files of a prescribed size.

### Claim 7 (depends on 1)

The method as recited in claim 1, wherein the dividable video format is split into small files of a prescribed time duration.

### Claim 8 (depends on 1)

The method as recited in claim 1, wherein a sequence number is associated with each small file in the sequence of small files.

### Claim 9 (depends on 1)

The method as recited in claim 1, wherein one or more of the sequence of small files is published to one or more clients.

### Claim 10 (depends on 1)

The method as recited in claim 1, further comprising delivering one or more of the sequence of small files as portions of the single file to a client.

### Claim 11 (depends on 10)

The method as recited in claim 10, further comprising delivering one or more ads, logos, public service announcements, and static air.

### Claim 12 (depends on 10)

The method as recited in claim 10, further comprising selecting a starting small file or a part thereof from the sequence of small files with which to begin delivering.

### Claim 13 (depends on 1)

The method as recited in claim 1, wherein each of the dividable video format and the single file comprises a continuously growing file in real time.

### Claim 14 (depends on 1)

The method as recited in claim 1, further comprising delivering one or more of the sequence of small files to a requesting client wherein the one or more of the sequence of small files are assembled in a correct order client-side.

### Claim 15 (depends on 1)

The method as recited in claim 1, further comprising splitting the dividable video format into a sequence of large files.

### Claim 16 (depends on 15)

The method as recited in claim 15, further comprising publishing one or more of the sequence of large files to one or more nodes of a content delivery network.

### Claim 17 (depends on 15)

The method as recited in claim 15, further comprising delivering one or more of the sequence of large files to a client in response to a request from the client for old data of the video stream.

### Claim 18 (depends on 1)

The method as recited in claim 1, wherein one or more of the sequence of small files is published using one or more reliable communication protocols.

### Claim 19

A system for publishing a video stream, comprising:
a processor; and
a memory coupled to the processor and configured to provide the processor with instructions; wherein the processor is configured to:
receive at least a part of a video stream;
convert the received part of the video stream into a dividable video format;
split the dividable video format into a sequence of small files; and
publish the sequence of small files as portions of a single file to a node of a CDN;
assemble, at the CDN node, the sequence of small files together in a correct order, and deliver, at the CDN node, the assembled sequence of small files to a web server within the CDN node;
wherein a client request for the single file is at least in part serviceable by providing one or more of the sequence of small files as portions of the single file to a client.

### Claim 20

A system for delivering video data, comprising:
a processor;
a memory coupled to the processor and configured to provide the processor with instructions, wherein said processor is configured to:
receive a sequence of small files, wherein the sequence of small files is generated by splitting at least a part of a dividable video format; and
provide one or more of the sequence of small files to a client as portions of a single file;
assemble, at a CDN node, the sequence of small files together in a correct order, and
deliver, at the CDN node, the assembled sequence of small files to a web server within the CDN node.
