Distributed file system
First Claim
1. A computer-implemented method of managing a distributed data storage system, the data storage system comprising a plurality of different devices and the method comprising:
- storing location and availability information for a plurality of data elements stored on the devices, the location data of each data element being co-located with the associated data element and copies of the location data being co-located with the availability information for the plurality of data elements, availability information comprising at least one of battery level of a device or bandwidth of a network connection;
receiving a request from a device for access to a data element; and
,in response to receiving the request,determining if the data element is available based on stored availability information, the determination based at least in part on a first cost function that accounts for the availability information; and
if the data element is available, providing location information for the data element to the device.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed file system for devices is described. In an embodiment, each data element stored on one of the devices has an associated location and availability attribute. The location attribute is stored co-located with the data element. The availability attribute and a copy of the location attribute are stored by a metadata service. When a client on a device needs to access a data element, it sends a request to the metadata service to find the location of the data element. If the data element is available, this information is provided to the client and this may involve waking a dormant device which holds the data element. Where the data element is not available, read only access may be granted to a cached copy of the data element. Where replication is used and one of the devices holding a replica is unavailable, the system may use write off-loading.
-
Citations
20 Claims
-
1. A computer-implemented method of managing a distributed data storage system, the data storage system comprising a plurality of different devices and the method comprising:
-
storing location and availability information for a plurality of data elements stored on the devices, the location data of each data element being co-located with the associated data element and copies of the location data being co-located with the availability information for the plurality of data elements, availability information comprising at least one of battery level of a device or bandwidth of a network connection; receiving a request from a device for access to a data element; and
,in response to receiving the request, determining if the data element is available based on stored availability information, the determination based at least in part on a first cost function that accounts for the availability information; and if the data element is available, providing location information for the data element to the device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for managing distributed data storage, the system comprising:
-
a plurality of devices, each comprising tangible storage media, storing a plurality of data elements; a data store arranged to store data elements and a location attribute associated with each data element, the location attribute being co-located with the data element; a processor arranged to operate a metadata service, the metadata service arranged to store both a copy of the location attribute and an availability attribute associated with each data element stored on the plurality of devices, the availability attribute indicating an availability status of the associated data element and to service access requests for data elements received from devices based on the location and availability attributes; and the metadata service further arranged to determine whether to retrieve at least metadata associated with at least one of the plurality of data elements from a device storage or from a network storage, the determination being based at least in part on at least one of bandwidth of a network connection or a battery level of a device. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. One or more tangible storage media, having stored thereon executable instructions comprising:
-
device-executable instructions to store location and availability information for a plurality of data elements and a plurality of replicas of data elements, the location data of each data element and each replica being co-located with the associated data element or replica and copies of the location data being co-located with the availability information for the plurality of data elements and plurality of replicas, the plurality of data elements and plurality of replicas being stored on a plurality of devices and the location information including the geographic location of the data element; device-executable instructions to receiver a request from a device for access to a data element; and
,device-executable instructions to, in response to receiving the request, determine if the data element is available based on the stored availability information, determining comprising calculating a cost of accessing at least one of the plurality of data elements and at least one of the plurality of replicas, the cost based at least in part on at least one of a battery level of a device or a bandwidth of a network connection; and if the data element is available, provide location information for the data element to the device. - View Dependent Claims (18, 19, 20)
-
Specification