EP2243288A2

Asynchronous and distributed storage of data

Abstract

This record has no abstract on file.

Term

Projected expiry 8 January 2029.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

58 claims: 10 independent, 48 dependent

  1. 1
    Claims of equivalent WO 2009089386 A2 CLAIMS 1. A method associated with asynchronous and distributed storage of data, the method comprising:receiving, at each storage module in a plurality of storage modules, a data file request from a delivery module;determining, at each of the storage modules, a start location for a part of a data file associated with the data file request;determining asynchronously, at each of the storage modules, a queue location within a scheduling queue to associate with the data file request;and adding asynchronously, at each of the storage modules, the part of the data file to a data queue based on the queue location within the scheduling queue, a capacity of the data queue, a transmission rate associated with the data file, or any combination thereof.
  2. 32
    A method associated with asynchronous and distributed storage of data, the method comprising:receiving, at a first storage module, a data file request from a delivery module;determining, at the first storage module, a first start location for a first part of a data file associated with the data file request;determining, at the first storage module, a first location within a first scheduling queue to associate with the data file request;adding, at the first storage module, the first part of the data file to a first output data queue based on the first location within the first scheduling queue, a capacity of the first output data queue, a transmission rate associated with the data file, or any combination thereof;receiving, at a second storage module, the data file request from the delivery module, the second storage module being different than the first storage module;determining, at the second storage module, a second start location for a second part of the data file associated with the data file request;determining, at the second storage module, a second location to associate with the data file request, the second location being located within a second scheduling queue which is independent from the first scheduling queue;and adding, at the second storage module, the second part of the data file to a second output data queue based on the second location within the second scheduling queue, a capacity of the second output data queue, the transmission rate associated with the data file, or any combination thereof.
  3. 33
    A computer program product, tangibly embodied in an information carrier, the computer program product including instructions being operable to cause a data processing apparatus to:receive, at each storage module in a plurality of storage modules, a data file request from a delivery module;determine, at each of the storage modules, a start location for a part of a data file associated with the data file request;determine asynchronously, at each of the storage modules, a queue location within a scheduling queue to associate with the data file request;and add asynchronously, at each of the storage modules, the part of the data file to a data queue based on the queue location within the scheduling queue, a capacity of the data queue, a transmission rate associated with the data file, or any combination thereof.
  4. 34
    A system associated with asynchronous and distributed storage of data, the system comprising:a plurality of storage modules, each storage module comprising: a plurality of storage devices, each storage device configured to store a part of a data file;and a storage controller module connected to each of the plurality of storage devices independently and comprising: a storage queue controller module configured to determine a queue location within a scheduling queue to associate with the data file request, the scheduling queue being configured by each storage module asynchronously, and a storage device read controller module configured to: determine a start location on one of the storage devices for a part of a data file associated with the data file request, and add the part of the data file to a data queue based on a queue location within the scheduling queue, a capacity of the data queue, a transmission rate associated with the data file, or any combination thereof.
  5. 38
    A system associated with asynchronous and distributed storage of data, the system comprising:a means for storage of data comprising: a plurality of means for storing data, each means for storing data stores a part of a data file;a means connected to each of the plurality of means for storing data independently and comprising: a means for determining a queue location within a scheduling queue to associate with the data file request, the scheduling queue being configured by each storage module asynchronously, a means for determining a start location on one of the storage devices for a part of a data file associated with the data file request, and a means for adding the part of the data file to a data queue based on a queue location within the scheduling queue, a capacity of the data queue, a transmission rate associated with the data file, or any combination thereof.
  6. 39
    A method associated with storage of data, the method comprising:determining, at a storage module, a first queue location from a plurality of queue locations based on a first data rate associated with a first data file, some queue locations within the plurality of queue locations being associated with a different data rate, thereby enabling the plurality of queue locations to accommodate a plurality of data rates at the storage module;determining a second queue location from the plurality of queue locations based on a second data rate associated with a second data file, the second data rate being different than the first data rate;processing the first queue location at a first time to enable streaming of the first data file at or above the first data rate;and processing the second queue location at a second time to enable streaming of the second data file at or above the second data rate.
  7. 42
    A method associated with storage of data, the method comprising:receiving, at a storage module, a data file request from a delivery module;selecting a first scheduling queue from a plurality of scheduling queues based on a first data rate associated with the data file request, each scheduling queue being associated with a data rate;and determining a first queue location within the first scheduling queue based on the data file request.
  8. 56
    A computer program product, tangibly embodied in an information carrier, the computer program product including instructions being operable to cause a data processing apparatus to:determine, at a storage module, a first queue location from a plurality of queue locations based on a first data rate associated with a first data file, some queue locations within the plurality of queue locations being associated with a different data rate, thereby enabling the plurality of queue locations to accommodate a plurality of data rates at the storage module;determine a second queue location from the plurality of queue locations based on a second data rate associated with a second data file, the second data rate being different than the first data rate;process the first queue location at a first time to enable streaming of the first data file at or above the first data rate;and process the second queue location at a second time to enable streaming of the second data file at or above the second data rate.
  9. 57
    A system associated with storage of data, the system comprising:a storage module comprising: a plurality of storage devices, each storage device configured to store a part of a data file;and a storage controller module connected to each of the plurality of storage devices independently and configured to: receive data file request from a delivery module, determine a first scheduling queue from a plurality of scheduling queues based on a data rate associated with the data file request, each scheduling queue associated with a different data rate, and determine a first queue location within the first scheduling queue based on the data file request.
  10. 58
    A system associated with independent storage of data, the system comprising:a means for storage of data comprising: a plurality of means for storing data, each means for storing data stores a part of a data file;and a means connected to each of the plurality of means for storing data independently and comprising: a means for receiving data file request from a delivery module, a means for determining a first scheduling queue from a plurality of scheduling queues based on a data rate associated with the data file request, each scheduling queue associated with a different data rate, and a means for determining a first queue location within the first scheduling queue based on the data file request.