Broadband video distribution system using segments
AssigneeInfo Valve Computing, Inc.
InventorsDah-Weih Duan, Aparna Pappu, Monsong Chen, Bodhi Mukherjee
Life of this patent
Estimating the term…
Abstract
A method and apparatus to segment video data files within a video distribution system to facilitate the transfer of the video data files from a file server computing system to client computing system within a video distribution system. The data files are fragmented as a function of demand for the data files, size of each data file of the plurality of data files, amount of retention space available on each of the plurality of data storage devices, and available bandwidth for communication with the client computing systems.
Claims100
A method for facilitating transfer of a data object retained by at least one computer-readable data storage device in communication with a first computing system from said first computing system to a second computing system and thence to a second computer-readable data storage device, comprising the step of segmenting said data object into a plurality of data object segments retained by said computer-readable data storage devices, said segmenting said data object comprising the steps of:
- requesting a range of addresses within said first computer-readable data storage device containing said data object;
- determining a number of computer-readable storage devices in communication with said first computing system available to retain a plurality of segments of said data object;
- determining a maximum digital data transfer load for the computer-readable storage devices in communication with said first computing system;
- assigning a minimum segment size which is the smallest amount of digital data to be contained within one segment of the data object;
- calculating a first segment size as a first function of a number of the computer-readable storage devices, the current digital data transfer load, the maximum digital data transfer load, and the minimum segment size;
- assigning a last segment size as the minimum segment size;
- calculating all remaining segment sizes as a second function of the number of the computer-readable storage devices, the current digital data transfer load, the maximum digital data transfer load, and the minimum segment size;
- and
- partitioning said data object into said plurality of data object segments to be retained by said computer-readable data storage devices whereby a first data object segment is of the first segment size, a data object last segment is of the last segment size, and all remaining data object segments are of the remaining segment sizes.
A digital data service system in communication with a plurality of computing systems to transfer at least one data object of a plurality of data objects to at least one of the plurality of computing systems, comprising:
- a plurality of data object storage devices in communication with each other and with any of the plurality of computing systems for retaining each of said plurality of data objects;
- and
- a segmentation apparatus in communication with the plurality of data object storage devices to fragment any of the data objects into a plurality of segments to allow transfer to and processing by at least one of the computing systems of said segments, wherein the segmentation apparatus performs said fragmenting by the steps of:
- requesting a range of addresses within one of said data object storage devices containing said data object,
- determining a number of said data object storage devices available to retain a plurality of segments of said data object,
- determining a maximum digital data transfer load for the data object storage devices,
- assigning a minimum segment size which is the smallest amount of digital data to be contained within one segment of the data object,
- calculating a first segment size as a first function of a number of the data object storage devices, the current digital data transfer load, the maximum digital data transfer load, and the minimum segment size,
- assigning a last segment size as the minimum segment size,
- calculating all remaining segment sizes as a second function of the number of the data object storage devices, the current digital data transfer load, the maximum digital data transfer load, and the minimum segment size, and
- partitioning said data object into segments whereby the first segment of the data object is of the first segment size, the last segment of the data object is of the last segment size, and all the remaining segments of the data object is of the remaining segment sizes.
An apparatus for facilitating transfer of a data object retained by at least one computer-readable data storage device in communication with a first computing system from said first computing system to a second computing system and thence to a second computer-readable data storage device, comprising means for segmenting said data object into a plurality of data object segments retained by said computer-readable data storage devices, said means for segmenting said data object comprising:
- means for requesting a range of addresses within said first computer-readable data storage device in communication with the first computing system containing said data object;
- means for determining a number of computer-readable storage devices in communication with said first computing system available to retain a plurality of segments of said data object;
- means for determining a maximum digital data transfer load for the computer-readable storage devices in communication with said first computing system;
- means for assigning a minimum segment size which is the smallest amount of digital data to be contained within one data object segment;
- means for calculating a first segment size as a first function of a number of the computer-readable storage devices, the current digital data transfer load, the maximum digital data transfer load, and the minimum segment size;
- means for assigning a last segment size as the minimum segment size;
- means for calculating all remaining segment sizes as a second function of the number of the computer-readable storage devices, the current digital data transfer load, the maximum digital data transfer load, and the minimum segment size;
- and
- means for partitioning said data object into a plurality of data object segments retained by said computer-readable data storage devices whereby a first data object segment is of the first segment size, the last data object segment is of the last segment size, and all the remaining data object segments is of the remaining segment sizes.
A computer-readable medium for retaining a computer program code which, when executed on a computing system performs a computer program process for facilitating transfer of a data object retained by a first A method facilitating transfer of a data object retained by a first computer-readable data storage device in communication with a first computing system from said first computing system to a second computing system and thence to a second computer-readable data storage device, whereby said computer program process executes the step of segmenting said data object, said segmenting said data object comprising the steps of:
- requesting a range of addresses within a computer-readable storage device in communication with said first computing system containing said data object;
- determining a number of computer-readable storage devices in communication with said first computing system available to retain a plurality of segments of said data object;
- determining a maximum digital data transfer load for the computer-readable storage devices in communication with said first computing system;
- assigning a minimum segment size which is the smallest amount of digital data to be contained within one segment of the data object;
- calculating a first segment size as a first function of a number of the computer-readable storage devices, the current digital data transfer load, the maximum digital data transfer load, and the minimum segment size;
- assigning a last segment size as the minimum segment size;
- calculating all remaining segment sizes as a second function of the number of the computer-readable storage devices, the current digital data transfer load, the maximum digital data transfer load, and the minimum segment size;
- and
- partitioning said data object into segments whereby the first segment of the data object is of the first segment size, the last segment of the data object is of the last segment size, and all the remaining segments of the data object is of the remaining segment sizes.
A video data file distribution system in communication with a plurality of computing systems for transfer of at least one video data file of a plurality of video data files to at least one of the plurality of computing systems, comprising:
- a plurality of video data file retention devices in communication with each other and with any of the plurality of computing systems;
- and
- a segmentation apparatus in communication with the plurality of video data file retention devices to segment any of the video data files into a plurality of segments to allow transfer to and processing by at least one of the computing systems of said segments, wherein the segmentation apparatus performs said segmenting by the steps of:
- requesting a range of addresses within a storage device of the first computing system containing said video data file,
- determining a number of computer-readable storage devices in communication with said first computing system available to retain a plurality of segments of said video data file,
- determining a maximum digital data transfer load for the computer-readable storage devices in communication with said first computing system,
- assigning a minimum segment size which is the smallest amount of digital data to be contained within one segment of the video data file,
- calculating a first segment size as a first function of a number of the computer-readable storage devices, the current digital data transfer load, the maximum digital data transfer load, and the minimum segment size,
- assigning a last segment size as the minimum segment size,
- calculating all remaining segment sizes as a second function of the number of the computer-readable storage devices, the current digital data transfer load, the maximum digital data transfer load, and the minimum segment size, and
- partitioning said video data file into segments whereby the first segment of the video data file is of the first segment size, the last segment of the video data file is of the last segment size, and all the remaining segments of the video data file is of the remaining segment sizes.
Dependencies are inferred from the claim text.