IP Library Granted Patent US 8,925,023
Granted Patent B2
US 8,925,023 · App. 13/706,983 · Granted Dec 30, 2014

Remote storage digital video recorder for multiple bitrate digital media content

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,925,023
App. No.
13/706,983
Granted
Dec 30, 2014
Kind
B2
Abstract

A remote storage digital video recorder (RS-DVR) system is disclosed. The RS-DVR system includes a network interface to communicate data between the RS-DVR system and a subscriber system via a network, a file system module coupled to the network interface, an ingest agent coupled to the file system module to receive encoded media segments that represent media content files encoded at a plurality of different bitrates, and a storage architecture coupled to the file system to store the encoded media segments, resulting in stored media segments. The RS-DVR carries out a number of functions and operations to service multiple subscribers and associated subscriber systems, such as various storage device management operations, file structure techniques, assignment of recorded media to subscribers, file system indexing, and supporting shared and per-subscriber content rights.

Claims (55)

1. A remote storage digital video recorder (RS-DVR) system comprising:

a network interface to communicate data between the RS-DVR system and a subscriber system via a network;

a file system module coupled to the network interface;

an ingest agent coupled to the file system module to receive encoded media segments that represent a media content file encoded at a plurality of different bitrates; and

a storage architecture coupled to the file system to store the encoded media segments as a single logical file on behalf of a subscriber and only accessible by the subscriber, resulting in the single logical file comprising stored media segments that represent recorded versions of the media content file at the plurality of different bitrates;

wherein the network interface, the file system module, and the storage architecture cooperate to:

provide, in response to a request for playback of the media content file from the subscriber originating at the subscriber system, one or more of the stored media segments of the single logical file that correspond to the media content file at a requested bitrate of the plurality of different bitrates to the subscriber system for presentation; and

provide one or more of the stored media segments of the single logical file that correspond to the requested media content file at a second bitrate of the plurality of different bitrates to the subscriber system for presentation when the requested bitrate is unavailable at the RS-DVR system, wherein the second bitrate is different than the requested bitrate.

2. The RS-DVR system of claim 1 , wherein the network interface comprises a web server.

3. The RS-DVR system of claim 2 , wherein the web server generates an HTTP status code to indicate when the requested bitrate for the requested media content file is unavailable at the RS-DVR system.

4. The RS-DVR system of claim 3 , wherein, when the requested bitrate for the requested media content file is unavailable, the web server generates a message that identifies available bitrates for the requested media content file.

5. The RS-DVR system of claim 3 , wherein, when the requested bitrate for the requested media content file is unavailable, the web server generates a message that instructs the subscriber system to select another bitrate.

6. The RS-DVR system of claim 2 , wherein:

the web server receives HTTP GET requests from the subscriber system;

each of the HTTP GET requests identifies the requested media content file and the requested bitrate for the requested media content file; and

in response to the HTTP GET requests, the web server provides the first set of one or more of stored media segments that correspond to the requested media content file and the requested bitrate if the requested bitrate is available.

7. The RS-DVR system of claim 6 , wherein the web server automatically provides the second set of one or more of the stored media segments in response to the HTTP GET requests when the requested bitrate is unavailable at the RS-DVR system.

8. The RS-DVR system of claim 1 , wherein:

the storage architecture comprises a plurality of memory storage devices; and

each of the plurality of memory storage devices maintains stored media segments for a plurality of different subscribers.

9. The RS-DVR system of claim 1 , wherein:

the storage architecture comprises a plurality of memory storage devices; and

stored media segments for any given media content file that have a common time index are stored on different memory storage devices of the plurality of memory storage devices in a distributed manner.

10. A method of operating a remote storage digital video recorder (RS-DVR) system that supports a subscriber system via data communication over a network, the method comprising:

receiving, at the RS-DVR system, encoded media segments that represent a media content file encoded at a plurality of different bitrates;

receiving, at the RS-DVR system, an instruction to record the media content file on behalf of a subscriber; and

in response to receiving the instruction, storing the encoded media segments in a storage architecture of the RS-DVR system as a single logical file on behalf of the subscriber and only accessible by the subscriber, resulting in the single logical file comprising stored media segments that represent recorded versions of the media content files at the plurality of different bitrates;

receiving, at the RS-DVR system, a request for playback of the media content file from the subscriber, the request originating at the subscriber system;

in response to the request, providing a first set of one or more of the stored media segments of the single logical file that correspond to the media content file at a requested bitrate of the plurality of different bitrates to the subscriber system via the network; and

providing a second set of one or more of the stored media segments of the single logical file that correspond to the media content file at a second bitrate of the plurality of different bitrates to the subscriber system via the network when the requested bitrate is unavailable at the RS-DVR system, wherein the second bitrate is different than the requested bitrate.

11. The method of claim 10 , wherein the encoded media segments include a different set of encoded media segments corresponding to each of the plurality of different bitrates.

12. The method of claim 10 , wherein:

the storage architecture comprises a plurality of memory storage devices; and

stored media segments for any given media content file are stored in the plurality of memory storage devices in a distributed manner.

13. The method of claim 10 , wherein the request comprises an HTTP GET request that identifies the media content file and the requested bitrate for the media content file.

14. The method of claim 13 , further comprising:

generating, at the RS-DVR system, an HTTP status code to indicate when the requested bitrate for the media content file is unavailable at the RS-DVR system.

15. The method of claim 14 , further comprising:

when the requested bitrate for the media content file is unavailable at the RS-DVR system, generating, at the RS-DVR system, a message that identifies available bitrates for the media content file.

16. A method of operating a remote storage digital video recorder (RS-DVR) system that supports subscriber systems via data communication over a network, the subscriber systems providing media content to a plurality of subscribers, the method comprising:

receiving, at the RS-DVR system, encoded media segments that represent a media content file encoded at a plurality of different bitrates, wherein the encoded media segments include a respective set of encoded media segments corresponding to each of the plurality of different bitrates;

receiving, at the RS-DVR system, a first instruction to record the media content file on behalf of a first subscriber;

in response to receiving the first instruction, storing a first instantiation of the encoded media segments in a storage architecture of the RS-DVR system as a first logical file that is only accessible by the first subscriber, the first logical file comprising a first group of stored media segments that represent recorded versions of the media content file at the plurality of different bitrates;

receiving, at the RS-DVR system, a second instruction to record the media content file on behalf of a second subscriber; and

in response to receiving the second instruction, storing a second instantiation of the encoded media segments in a storage architecture of the RS-DVR system as a second logical file that is only accessible by the second subscriber, the second logical file comprising a second group of stored media segments that represent the recorded versions of the media content file at the plurality of different bitrates.

17. The method of claim 16 , wherein:

the storage architecture comprises a plurality of hard disk drives; and

the first group of stored media segments and the second group of stored media segments are stored across the plurality of hard disk drives.

18. The method of claim 16 , further comprising:

receiving, at the RS-DVR system, a request for playback of the media content file, wherein the request indicates the media content file, a requested bitrate for the media content file, and a subscriber identifier for the first subscriber; and

in response to the request, providing media segments from the first group of stored media segments, via the network.

19. The method of claim 18 , further comprising:

generating, at the RS-DVR system, an HTTP status code to indicate when the requested bitrate for the media content file is unavailable at the RS-DVR system.

20. The method of claim 19 , further comprising:

when the requested bitrate for the media content file is unavailable at the RS-DVR system, generating, at the RS-DVR system, a message that identifies available bitrates for the media content file.

Assignments (4)
SECURITY INTEREST Recorded Nov 30, 2021
From: DISH BROADCASTING CORPORATION; DISH NETWORK L.L.C.; DISH TECHNOLOGIES L.L.C.
To: U.S. BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 058295/0293 →
CONVERSION Recorded Aug 7, 2018
From: ECHOSTAR TECHNOLOGIES L.L.C.
To: DISH TECHNOLOGIES L.L.C.
Reel/Frame 046737/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2014
From: DISH DIGITAL L.L.C.
To: ECHOSTAR TECHNOLOGIES L.L.C.
Reel/Frame 033470/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2013
From: MAJOR, ROBERT DREW; MAJOR, DARREN
To: DISH DIGITAL L.L.C.
Reel/Frame 030151/0506 →