Splitting and redundant storage on multiple servers
First Claim
1. A method for providing content over a network comprising:
- splitting said content into a plurality of segments;
organizing a first plurality of said segments into a first sub-file;
organizing a second plurality of said segments into a second sub-file;
storing said first sub-file and second sub-file on one or more servers;
providing sub-file data to a user computer, said sub-file data to identify a server location of said first sub-file and second sub-file;
streaming said first sub-file and second sub-file, in response to a request, to the user computer over the network.
1 Assignment
0 Petitions
Accused Products
Abstract
One aspect of the invention involves dividing a single file (300) into multiple sub-files (310, 320, 330, 340) that are subsequently distributed and stored onto one or more servers. The sub-files (310, 320, 330, 340) may be transmitted in parallel and simultaneously from one or more servers, which increases the rate at which the data can be delivered. A second aspect of the invention involves storing at least one of the sub-files (310, 320, 330, 340) on more than one server to provide redundancy. If one server is not available, or if the transmission link is slow or not available, the sub-file can be streamed from another server. In one embodiment, each end user may receive multiple sub-files simultaneously from multiple servers. Disk input/output bandwidth is saved because only the necessary fraction of data needs to be read from each server.
-
Citations
31 Claims
-
1. A method for providing content over a network comprising:
-
splitting said content into a plurality of segments;
organizing a first plurality of said segments into a first sub-file;
organizing a second plurality of said segments into a second sub-file;
storing said first sub-file and second sub-file on one or more servers;
providing sub-file data to a user computer, said sub-file data to identify a server location of said first sub-file and second sub-file;
streaming said first sub-file and second sub-file, in response to a request, to the user computer over the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A network server comprising:
-
a processor;
a communications port, coupled to the processor, said communications port to be used to connect the network server to a network; and
,a memory, coupled to the processor, said memory to include instruction sequences for causing said processor to, split media content into a plurality of segments, organize a first plurality of said segments into a first sub-file, organize a second plurality of said segments into a second sub-file, store said first sub-file and second sub-file on one or more servers, provide sub-file data to a user computer, said sub-file data to identify a location of said first sub-file and second sub-file, and stream said first sub-file and second sub-file, in response to a request, to the user computer over the network. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer program product, comprising:
a computer usable medium having computer readable program code embodied therein to provide content over a network, the computer readable program code in said computer program product comprising;
first computer readable program code to split said content into a plurality of segments;
second computer readable program code to organize a first plurality of said segments into a first sub-file;
third computer readable program code to organize a second plurality of said segments into a second sub-file;
fourth computer readable program code to store said first sub-file and second sub-file on one or more servers;
fifth computer readable program code to provide sub-file data to a user computer, said sub-file data to identify a server location of said first sub-file and second sub-file;
sixth computer readable program code to stream said first sub-file and second sub-file, in response to a request, to the user computer over the network. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
Specification