Patent ID: 8656454

Claim:
A data storage system comprising: a data store arranged to store a plurality of data elements, each data element having an associated location attribute identifying a geographical location of the data element and wherein the location attribute is stored in a location which is co-located with the data element; and a hardware processor configured to: determine whether an access policy associated with a data element of the plurality of data elements is satisfied based on both a location of a user making a request regarding the data element and a location of the data element; determine whether the access policy associated with the data element is satisfied based on a relative location of the user and the data element; determine whether the access policy associated with the data element is satisfied based on a location of at least one other user; determine whether the access policy associated with the data element is satisfied based on at least one of a location of the user and a location of a primary replica of the data element and, if the access policy is not satisfied, identifying a second replica of the data element, the second replica having a location which would satisfy the access policy and migrating the primary replica to the second replica, and, if the access policy is satisfied, provide contact information comprising location information for the primary replica of the data element in response to the request; or select a replica from a set of replicas of the data element based on a location attribute associated with each replica of the data element and provide contact information comprising location information for the selected replica of the data element in response to the request.