BACKGROUND

Conventional cloud storage tends to be accessed via a single source or single provider. For example, cloud storage services are generally offered and operated by a single company or entity. Due to the nature of being a single source or a single provider, cloud data storage services tend to be highly sensitive to various internal and external influences. For example, various cloud storage sources or providers may have experienced technical error, natural disaster, malicious attacks, loss of data, downtime or other events or situations that may limit access to or actually destroy data. In addition, different legal systems or governance may have separate requirements for treatment of or divulgement of data from cloud data storage providers that offer services in different countries or jurisdictions. Cloud data storage providers may also cease operation as an entity, with the fate of the storage services or data being uncertain.

The above issues thus sensitize cloud data storage service obtained from a single source or single provider to data integrity, security and availability issues, as examples. The centralization of data infrastructure with a single source or single provider thus tends to centralize risk. Accordingly, while cloud storage generally offers convenience of access and large volume storage, among other advantages, a user of such a service typically surrenders a certain amount of control over the data stored in a cloud-based system.

SUMMARY

Techniques and implementations are discussed herein for distributed cloud-based data storage. The storage may be distributed across a number of service sources or providers, referred to herein collectively as “providers.” By distributing data across multiple providers users decrease their dependency on a single provider and greatly increase the security, reliability, and speed of cloud file storage.

Cohesive data, such as may be organized as a file, may be divided or split into a number of portions, with the portions being distributed across a number of providers. The division of data may be arranged such that some or all of the portions are redundant, or include redundant components. The redundancy permits the data to be completely reconstructed from less than all the portions. By splitting files across several cloud storage providers, user's data is safe even if multiple providers are compromised. By building redundancy into the system, users are able to access their data even if one or more providers are offline.

The use of several providers for distributed storage of the data may obtain a relatively widespread geographic distribution of physical data storage. The geographic distribution of servers used by different providers to store or manage storage of cloud-based data may provide users with greater flexibility in controlling where their data resides than would be available from a single provider. In addition, speed of data storage and/or data retrieval can be controlled through the use of a number of providers. Pathways can be established for data transmission between a user and multiple providers so that data can be transmitted in parallel for a given data set or file.

According to some implementation examples, a facility is provided to configure how cloud-based data is distributed among a number of providers. The facility may, for example, permit users to change the distribution of their data between services or providers. The distribution can be established to respond dynamically to various parameters, such as speed of storage, cost based on usage metrics and/or service agreements, data integrity, data security and/or data availability, as examples, in relation to providers or other phenomena.

The disclosed implementations and techniques discussed herein permit users to spread data-related risk across multiple providers. The spread of risk across multiple providers contributes to reducing issues related to single points of failure that may otherwise be raised with single sources or single providers of cloud-based data storage. The distribution of data across multiple providers may thus contribute to decreasing a user's dependency on a single provider and increase the security, reliability, and speed of cloud data storage.

