Systems and methods for digital media storage and playback
AssigneeReally Simple Software, Inc.
InventorsBruce Randall, Barrett Stump
Life of this patent
Estimating the term…
Abstract
Methods and systems for storage and playback of broadcast media received via a local digital video recording (DVR) system. The system includes the DVR system configured to receive the broadcast media and upload the broadcast media to a storage server over a network. The DVR system divides the broadcast media content into blocks and assigns a unique block ID to each block based on the block data. Prior to uploading each block to the storage server, the unique block ID is sent to the storage server, which only uploads and stored the block if a duplicate block has not already been stored on the storage device, minimizing network demand. A transcoding server coupled to the storage server transcodes the broadcast media content for streaming over the network.
Claims21
A digital media storage and playback system comprising:
- a DVR system associated with a user and connected to a network, comprising:
- at least one processor coupled to a non-transitory memory;
- an A/V module configured to capture and store broadcast media content and prepare the broadcast media content for uploading on a network,
- an uploader module coupled to the A/V module, processor and memory and configured to divide captured and stored broadcast media content into a plurality of sequential blocks and assign a block ID to each block, the block ID determined by a hash algorithm whereby blocks comprising duplicate content are associated with identical block IDs, the uploader module further configured to determine boundaries of the sequential blocks based at least in part by a grid location algorithm and a block duration value;
- and
- a local system network port configured to connect to the network and send and receive data through the network, wherein each block ID is transmitted to a storage server through the network;
- and
- the storage server connected to the network, comprising:
- a server non-transitory memory;
- a server processor;
- at least one application configured to run on the processor and perform the steps of:
- repeatedly receive block IDs from the DVR system,
- add the received block IDs to a block ID database, and
- compare each received block ID with contents of a block ID database stored on the storage server and configured to store block IDs, wherein when the received block ID fails to match one of a plurality of stored block IDs, a stored block associated with the block ID is uploaded to the storage server, whereby the broadcast media content is stored on the storage server.
A method for storing broadcast media content, comprising the steps of:
- receiving by a DVR system of broadcast media content, the DVR system comprising an A/V module, a non-transitory memory, and at least one processor, wherein the DVR system is in communication with a network;
- dividing by the DVR system of the broadcast media content into a plurality of sequential blocks, wherein block boundaries are determined at least in part by a grid location algorithm and a block duration value;
- associating by the DVR system of a block ID with each block of the broadcast media content, the block ID determined by a hash algorithm whereby blocks comprising duplicate content are associated with identical block IDs;
- sending by the DVR system of each block ID to a storage server via the network;
- comparing by the storage server of the received block ID with contents of a block ID database stored on the storage server and configured to store block IDs, whereby if the received block ID fails to match one of the stored block IDs the block associated with the block ID is uploaded to one of the storage server and a storage device in communication with the storage server, and the received block ID is stored in the block ID database, whereby the broadcast media content is stored on the storage server.
Dependencies are inferred from the claim text.