Patent ID: 8577892

Claim:
One or more computer-storage media devices storing computer-useable instructions that, when executed by a computing device, perform a method for allocating a data item, the method comprising: receiving a first user preference for a first affinity group, the first affinity group being associated with a first data center, wherein the first user preference indicates a user selection of the first affinity group, wherein the first affinity group is associated with a first token generated based on one or more of associating data with the first affinity group and associating traits with the first affinity group; storing the first token associated with the first affinity group in a database; determining, with a processor, to store a first data item in the first data center based on analyzing the first token; storing the first data item in the first data center; determining to duplicate the first data item to a second data center, the second data center being associated with a second affinity group, the second affinity group being associated with a second token; duplicating the first data item to the second data center, wherein determining to duplicate the first data item is based on an efficiency analysis, said efficiency analysis comprising one or more of the following: (1) a comparison of an average amount of latency for retrieval of data items from the first data center to an average amount of latency for retrieval of data items from the second data center; (2) a comparison of an amount of capacity at a first data center to an amount of capacity at a second data center; (3) a determination that the first data center will be temporarily slow or shut down due to upgrades or power outages; (4) a determination of an amount of response time associated with at least one of the first data center and the second data center that indicates a failure; and (5) a determination that greater processing time is available at the second data center compared to the first data center, thereby indicating that computing resources affiliated with the affinity group are optimally allocated at the second data center; and allocating a copy of the first data item to a second data center, the second data center being associated with the first affinity group.