Patent ID: 7299290

Claim:
A method of delivering streaming data content to a client device from two or more controller devices over a data communication network in response to a request for the data content from the client device, wherein the data content includes two or more blocks of data stored on a storage system, the method comprising: receiving, by a server, a request from a first client device over the data communication network, the request identifying streaming data content stored on a storage system; transmitting a data request message from the server to a first controller device associated with the storage system, the data request message identifying the first client device and the data content requested by the first client device; retrieving a first block of the data content from the storage system by the first controller device; sending a second data request message from the first controller device to a second controller device associated with the storage system, the second data request message identifying the first client device and a second block of the data content; retrieving the second block of the data content from the storage system by the second controller device; transferring the first block of data to the first client device from the first controller device; sending a synchronization message from the first controller device to the second controller device; and in response to the synchronization message, transferring the second block of data to the first client device from the second controller device over a communication path that does not include the first controller device, wherein the first and second controller devices transfer the first and second data blocks over the data communication network at a faster rate than the rate at which the first and second data blocks are retrieved from the storage system.