Data store including a file location attribute
First Claim
1. 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;
orselect 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A data store including a file location attribute is described. In an embodiment, the location attribute for a data element, such as a file or database record, is stored with the bytes of data and records the geographic location of the data element. Writing to this attribute is limited to a single trusted entity, such as an operating system, to ensure that the location data can be trusted and when a data element is moved or replicated, the attribute is updated to reflect the new location of the data element. This location data is made available to users and applications by a metadata service which tracks the locations of data elements and responds to requests from users. Access control policies can been defined in terms of location and stored at the metadata service and the metadata service can then enforce these policies when responding to requests.
-
Citations
20 Claims
-
1. 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;
orselect 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
tracking location of data elements using a location attribute associated with each data element, the location attribute identifying a geographical location of the data element and being stored with the data element; receiving a user request to locate a data element; making a decision, by one or more hardware processors, based on at least one of a location of the user and a location of the data element; and based on result of the decision, providing location information for the data element in response to the user request, wherein; determining if an access policy associated with the data element is satisfied based on at least one of a location of the user and a location of the data element comprises; determining if an access policy associated with the data element is satisfied based on both a location of the user and a location of the data element; determining if an access policy associated with the data element is satisfied based on both a location of the user and a location of the data element comprises; determining if an access policy associated with the data element is satisfied based on a relative location of the user and the data element; determining if an access policy associated with the data element is satisfied is further based on a location of at least one other user; making a decision based on at least one of a location of the user and a location of the data element comprises; determining if an 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 wherein providing location information for the data element in response to the user request based on result of the decision comprises; if the access policy is satisfied, providing contact information comprising location information for the primary replica of the data element in response to the user request;
ormaking a decision based on at least one of a location of the user and a location of the data element comprises; selecting 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 wherein providing location information for the data element in response to the user request based on result of the decision comprises; providing contact information comprising location information for the selected replica of the data element in response to the user request. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A data storage system comprising:
-
a data store arranged to store a plurality of data elements, each data element comprising a location attribute identifying a geographical location of the data element; a metadata service arranged to provide access to location attribute data in response to requests received from other entities; a hardware processor; a memory arranged to store executable instructions, which when executed, cause the processor to write data representative of the geographical location of a data element to the location attribute within the data element and to prevent other software programs from writing to the location attribute within a data element, the processor being 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 an entity of the other entities 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 entity 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 entity; determine whether the access policy associated with the data element is satisfied based on at least one of a location of the entity 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;
orselect 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. - View Dependent Claims (19, 20)
-
Specification