Distributed file system

US9723028B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9723028-B2
Application numberUS-201615193371-A
CountryUS
Kind codeB2
Filing dateJun 27, 2016
Priority dateMar 31, 2011
Publication dateAug 1, 2017
Grant dateAug 1, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of operating a distributed data storage system, the method comprising: storing, in a data store, a plurality of data elements, each data element having an associated location attribute identifying a location of the data element and availability attribute identifying availability of the data element, wherein the location attribute is stored in a location which is co-located with the data element and the availability attribute is stored by a metadata service in the distributed storage system; sending, using a main processor, requests for location information to the metadata service and to send read/write requests to a remote device in the distributed storage system based on location information received from the metadata service, the requests being sent via a communication interface; and maintaining, using a processing element, network connectivity when a device associated with the main processor is in a reduced power mode and the main processor is off and to wake the main processor on receipt of a read/write request from a remote device in the distributed storage system. 2. A method according to claim 1 , further comprising providing read only access to the plurality of data elements when communication with the metadata service is not possible. 3. A method according to claim 1 , wherein one of the plurality of data elements comprises one of a set of replicas of a data element, each replica being stored on a different device in the distributed data storage system and the replica stored in the data store being designated a primary replica, the method further comprising sending a message to the metadata service prior to entering the reduced power mode to trigger migration of the primary designation to another of the replicas of the data element. 4. A method according to claim 1 , further comprising: writing data to a data element in the data store in response to receipt of a write request relating to the data element from a remote device; determining if all remote devices storing replicas of the data element are available; and sending the write request to a short-term store in the distributed storage system if all the remote devices are not available. 5. A method according to claim 1 , further comprising: receiving a read/write request relating to a data element in the data store from a remote device determining a user location associated with the write request; determining if an access control policy associated with the data element is satisfied, the access control policy being defined in terms of at least one of the user location and the location attribute associated with the data element; and servicing the read/write request if the access control policy is satisfied. 6. A method according to claim 1 , wherein the processing element is mounted within a module, the module further comprising a network interface and wherein the processing element is arranged to maintain network connectivity when the main processor is off via the network interface and to receive read/write requests via the network interface. 7. A method according to claim 1 , wherein the data store is further arranged to store a cached copy of metadata received from the metadata service, the metadata comprising the location and availability attributes associated with each data element stored in the distributed data storage system and wherein the main processor is arranged to send a request for updated metadata in response to a failure of a read/write request sent to a remote device based on location information from the cached copy of metadata. 8. A method according to claim 1 , wherein the device comprises a consumer device and wherein the distributed data storage system comprises a plurality of different consumer devices. 9. A device for use in a distributed data storage system, the device comprising: a data store arranged to store a plurality of data elements, each data element having an associated location attribute identifying a location of the data element and availability attribute identifying availability of the data element, wherein the location attribute is stored in a location which is co-located with the data element and the availability attribute is stored by a metadata service in the distributed storage system; a communication interface; a main processor arranged to send requests for location information to the metadata service and to send read/write requests to a remote device in the distributed storage system based on location information received from the metadata service, the requests being sent via the communication interface; and a processing element arranged to maintain network connectivity when the device is in a reduced power mode and the main processor is off and to wake the main processor on receipt of a read/write request from a remote device in the distributed storage system. 10. A device according to claim 9 , wherein the main processor is arranged to provide read only access to the plurality of data elements when communication with the metadata service is not possible. 11. A device according to claim 9 , wherein one of the plurality of data elements comprises one of a set of replicas of a data element, each replica being stored on a different device in the distributed data storage system and the replica stored in the data store being designated a primary replica, and wherein the main processor is further arranged to send a message to the metadata service prior to entering the reduced power mode to trigger migration of the primary designation to another of the replicas of the data element. 12. A device according to claim 9 , wherein the main processor is further arranged to: write data to a data element in the data store in response to receipt of a write request relating to the data element from a remote device; determine if all remote devices storing replicas of the data element are available; and send the write request to a short-term store in the distributed storage system if all the remote devices are not available. 13. A device according to claim 9 , wherein the main processor is further arranged to: receive a read/write request relating to a data element in the data store from a remote device determine a user location associated with the write request; determine if an access control policy associated with the data element is satisfied, the access control policy being defined in terms of at least one of the user location and the location attribute associated with the data element; and service the read/write request if the access control policy is satisfied. 14. A device according to claim 9 , wherein the processing element is mounted within a module, the module further comprising a network interface and wherein the processing element is arranged to maintain network connectivity when the main processor is off via the network interface and to receive read/write requests via the network interface. 15. A device according to claim 9 , wherein the data store is further arranged to store a cached copy of metadata received from the metadata service, the metadata comprising the location and availability attributes associated with each data element stored in the distributed data storage system and wherein the main processor is arranged to send a request for updated metadata in response to a failure of a read/write request sent to a remote device based on location information from the cached copy of metadata. 16. A device according to claim 9 , which comprises a consumer device and wherein the distributed data storage system comprises a plurality of different

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Physics · mapped topic

  • Physics · mapped topic

  • H04L63/205Primary

    involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved (negotiation of communication capabilities H04L69/24) · CPC title

  • Power management, i.e. event-based initiation of a power-saving mode · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9723028B2 cover?
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…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L63/205. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 01 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).