Video distribution system using dynamic disk load balancing with variable sub-segmenting
First Claim
1. A method for balancing a loading of a data storage devices attached to multiple computing systems during transfer of a requested data object to or from said data storage devices, comprising the steps of:
- acquiring a listing of locations of all segments of the requested data object including all copies of said segments of the requested data object;
evaluating the loading of the data storage devices attached to the multiple computing systems containing all copies of all segments of the requested data object;
selecting data storage devices containing copies of each segment of the requested data object having a least loading and is less than a maximum loading for said data storage devices;
if the loading of the data storage devices is greater than the maximum loading for said storage devices, generating a sub-segment list for any segment of the requested data object residing on said data storage device would have a loading greater than the maximum loading if said segment of the requested data object were transferred, determining a load margin for all available storage devices, assigning locations for each sub-segment on each available data storage device having the least loading, and assigning file names to each sub-segment;
selecting said each available data storage device containing each segment and sub-segment; and
transferring those segments of said requested data object to a requesting computer system.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for dynamically balancing the loading of video data storage devices facilitates the transfer of video data by acquiring a listing of locations and loading of all segments of a requested video data. Those storage devices containing copies of each segment of the video data having a least loading are selected. If the loading of the storage devices exceed their maximum capacity, the segment is divided into sub-segments and stored to storage devices with minimum loading. The presence of all segments of the requested video data is determined. If there are missing segments of the requested video data, each of those missing segments is assigned a file identification and file location, such that those missing segments are retrieved from a back-up storage device and assigned to data storage devices having the least loading for transfer to a requesting computer system.
143 Citations
142 Claims
-
1. A method for balancing a loading of a data storage devices attached to multiple computing systems during transfer of a requested data object to or from said data storage devices, comprising the steps of:
-
acquiring a listing of locations of all segments of the requested data object including all copies of said segments of the requested data object; evaluating the loading of the data storage devices attached to the multiple computing systems containing all copies of all segments of the requested data object; selecting data storage devices containing copies of each segment of the requested data object having a least loading and is less than a maximum loading for said data storage devices; if the loading of the data storage devices is greater than the maximum loading for said storage devices, generating a sub-segment list for any segment of the requested data object residing on said data storage device would have a loading greater than the maximum loading if said segment of the requested data object were transferred, determining a load margin for all available storage devices, assigning locations for each sub-segment on each available data storage device having the least loading, and assigning file names to each sub-segment; selecting said each available data storage device containing each segment and sub-segment; and transferring those segments of said requested data object to a requesting computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A data object service system in communication with a plurality of computing systems to provide at least one data object of plurality of data objects to at least one of the plurality of computing system, comprising:
-
a plurality of data object storage devices in communication with each other and with any of the plurality of computing systems; and a load balancing apparatus in communication with the plurality of data object storage devices to balance a loading of said data object storage devices during transfer of said data objects, whereby said load balancing apparatus comprises; a load evaluator to assess the loading of the data object storage devices containing segments of said data objects, a data object storage device selector to create a selection list to indicate selection of those data object storage devices containing copies of each segment of a requested data object having the least loading, and a copying initiator to initiate a copying and further segmenting of a segment of the data object to an alternate data object storage devices having low loading if all data object storage devices containing said segment have a loading greater than a maximum loading, whereby said copying initiator generates a sub-segment list for any segment of the requested data object residing on said data object storage device that would have a loading greater than the maximum loading if said segment of the requested data object were transferred, determines a load margin for all available data object storage devices, assigns locations for each sub-segment on each available data object storage device having the least loading, and assigns file names to each sub-segment. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. An apparatus for balancing a loading of data storage devices attached to multiple computing systems comprising:
-
means for acquiring a listing of locations of all segments of a requested data object including all copies of said segments and sub-segments of the requested data object; means for evaluating the loading of the data storage devices attached to the multiple computing systems containing all copies of all segments of the requested data object; means for selecting data storage devices containing copies of each segment of the data object having a least loading, which is less than a maximum loading for said data storage devices; means for generating a sub-segment list for any segment of the requested data object residing on said data storage device would have a loading greater than the maximum loading if said segment of the requested data object were transferred, means for determining a load margin for all available data storage devices; means for assigning locations for each sub-segment on each available data storage device having the least loading; means for assigning file names to each sub-segment, whereby said means for generating a sub-segment list, said means for determining a load margin, said means for assigning locations for each sub-segment, and said means for assigning file names function if the loading of the data storage devices is greater than the maximum loading for said data storage devices; means for selecting said each available data storage device containing each sub-segment; and means for transferring those segments of said requested data object to a requesting computer system. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72)
-
-
73. A medium for retaining a computer program which, when executed on a computing system, balances a loading of data storage devices attached to multiple computing systems, whereby said program executes the steps of:
-
acquiring a listing of locations of all segments of a requested data object including all copies of said segments and sub-segments of the requested data object; evaluating the loading of the data storage devices attached to the multiple computing systems containing all copies of all segments of the requested data object; selecting data storage devices containing copies of each segment of the requested data object having a least loading, which is less than a maximum loading for said data storage devices; if the loading of the data storage devices is greater than the maximum loading for said data storage devices, generating a sub-segment list for any segment of the requested data object residing on said data storage device would have a loading greater than the maximum loading if said segment of the requested data object were transferred, determining a load margin for all available data storage devices, assigning locations for each sub-segment on each available data storage device having the least loading, and assigning file names to each sub-segment; selecting said each available data storage device containing each sub-segment; and transferring those segments of said requested data object to a requesting computer system. - View Dependent Claims (74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94)
-
-
95. A method for balancing a loading of data storage devices containing video data objects attached to multiple computing systems comprising the steps of:
-
acquiring a listing of locations of all segments of a requested video data object including all copies of said segments of the requested video data object; evaluating the loading of the data storage devices attached to the multiple computing systems containing all copies of all segments of the reqested video data object; selecting data storage devices containing copies of each segment of the video data object having a least loading, which is less than a maximum loading for said data storage devices; if the loading of the data storage devices is greater than the maximum loading for said data storage devices, generating a sub-segment list for any segment of the requested video data object residing on said data storage device would have a loading greater than the maximum loading if said segment of the requested video data object were transferred, determining a load margin for all available data storage devices, assigning locations for each sub-segment on each available data storage device having the least loading, and assigning file names to each sub-segment; selecting said each available data storage device containing each sub-segment; and transferring those segments of said requested video data object to a requesting computer system. - View Dependent Claims (96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117)
-
-
118. A video data object service system in communication with a plurality of computing systems to provide at least one video data object of plurality of video data object to at least one of the plurality of computing system, comprising:
-
a plurality of video data object storage devices in communication with each other and with any of the plurality of computing systems; and a load balancing apparatus in communication with the plurality of video data object storage devices to balance a loading of said video data object storage devices during transfer of said video data objects, said load balancing apparatus comprising; a load evaluator to assess the loading of the video data object storage devices containing segments of said video data objects, a video data object storage device selector to create a selection list to indicate selection of those video data object storage devices containing copies of each segment of a requested video data object having the least loading, and a copying initiator to initiate a copying and further segmenting of a segment of the video data object to an alternate video data object storage devices having low loading if all video data object storage devices containing said segment have a loading greater than a maximum loading, whereby said copying initiator generates a sub-segment list for any segment of the requested video data object residing on said video data object storage device that would have a loading greater than the maximum loading if said segment of the requested video data object were transferred, determines a load margin for all available video data object storage devices, assigns locations for each sub-segment on each available video data object storage device having the least loading, and assigns file names to each sub-segment. - View Dependent Claims (119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142)
-
Specification