1. A system for managing cloud storage based on quality of service, comprising: a data file divided into data chunks; a plurality of cloud storage devices configured to store geographically distributed replicas of the data chunks in a continuous manner, wherein the cloud storage devices are further configured to be accessed by client machines via plurality of connections having traffic differentiated by speed and price, and wherein the cloud storage devices are further configured to be differentiated by price and speed of data retrieval of hardware storage elements of the cloud storage devices, and wherein the cloud storage devices are further configured to be controlled by storage plan parameters, wherein the storage plan parameters include an overall speed of data retrieval, wherein the overall speed of data retrieval is a product of storage data retrieval speed and traffic speed of a corresponding connection between a client machine and one of the cloud storage devices, and wherein a data access guarantee (DAG) is based on the overall speed of data retrieval, requiring at least some client's data to move from one cloud storage device to a closer cloud storage device as the client machine moves geographically, wherein the storage plan parameters for speed, reliability and price are based on information provided to the client machine by the system, wherein the DAG is calculated as K1*(cloud storage device speed)*(traffic connection speed)+K2*(1−(cloud storage device reliability)*(traffic connection reliability)), K1 and K2 being constants, and wherein the storage plan parameters are dynamically configurable at runtime by the client machine.