1. A computing device for allowing synchronized access to a cloud storage system (CSS), comprising: a processing unit; a storage system, wherein the storage system is configured to maintain objects, each object having a state, wherein each state is any one of: a synchronized state, and a stub state; and a memory, the memory containing instructions that, when executed by the processing unit, configure the computing device to: receive a request from a client to access data in a byte range within a file contained in at least one object maintained in the storage system; change the state of the requested at least one object from a stub state to a synchronized state upon receiving the request; synchronize data of the requested at least one object having a synchronized state with the CSS; and upon the byte range becoming available, provide the requested data to the client.