Patent ID: 8019872

Claim:
A method of performing remote data storage for a plurality of client devices that are associated with an enterprise comprising: obtaining authorization at a remote data storage system from an administrator of the enterprise to subscribe the plurality of client devices to the remote data storage system; in response to obtaining the administrator authorization, downloading remote data storage software for the remote data storage system to the plurality of client devices; in response to authorization from a given client device, performing the following automatically at the given client device: installing the remote data storage software, obtaining metadata about the given client device, uploading the metadata to the remote data storage system and initiating an initial remote data storage to the remote data storage system using the metadata that was obtained; and performing the following at the remote data storage system: assigning the enterprise to a plurality of remote data storage devices in the remote data storage system in response to obtaining authorization from the administrator of the enterprise to subscribe the plurality of client devices to the remote data storage system; executing a load-balancing program to programmatically assign the given client device to a subset of the remote data storage devices, in response to obtaining the metadata about the given client device; and wherein initiating an initial remote data storage to the remote data storage system using the metadata that was obtained comprises initiating an initial remote data storage to the subset of the remote data storage devices in the remote data storage system, wherein executing a load-balancing program to programmatically assign the given client device to a subset of the remote data storage devices comprises: identifying the plurality of remote data storage devices that are assigned to the enterprise; identifying from the plurality of remote data storage devices that are assigned to the enterprise, candidate remote data storage devices for remote data storage for the given client device; assigning the given client device to at least one remote data storage device from the candidate remote data storage devices, that is storing data for a fewest number of client devices, if the fewest number of client devices is less than a predetermined number; and assigning the given client device to at least one remote data storage device from the candidate remote data storage devices, that is storing data for a fewest number of client devices and that also has a lowest ratio of assigned client devices to actual client devices, if the fewest number of client devices is more than the predetermined number.