Patent ID: 8719375

Claim:
One or more computer-readable storage mediums each not comprising a propagated signal, encoded with computer-executable instructions which, when executed by a processor, perform a method for remote data access, the method comprising: identifying a group of plural participating endpoints, each participating endpoint in the group comprising an end-user electronic device, wherein each plural participating endpoint stores data items on behalf of an end-user; receiving from the end-user, via a first participating endpoint of the group of participating endpoints, a selection of a second participating endpoint of the group of participating endpoints, the selection made via a user interface presented by the first participating endpoint, the user interface configured to display at least some of the other participating endpoints in the group; receiving from the end-user, via the first participating endpoint, a presented identity selected by the end-user from among a plurality of identities, the presented identity associated with either the first participating endpoint or the end-user or both, and comprising claims including one or more pieces of information asserted by the end-user to be valid; identifying an amount of access the presented identity permits the end-user to the data items stored by the second participating endpoint using a WAN-based data access server having a catalog of individual data items that are stored on each of at least some of the participating endpoints in the group, the WAN-based data access server exposing a remote data access service to the participating endpoints including an identity management engine and a data selection engine, the identity management engine handling the claims and the data selection engine i) identifying the cataloged data items stored on the participating endpoints and, ii) enabling access to a cataloged data item according to capabilities of a participating endpoint and access criteria, the capabilities and access criteria being stored on the WAN-based access server; based on the amount of access, identifying a particular data item from the data items stored on the second participating endpoint to which the end-user is granted access; establishing a communication session between the first participating endpoint and the second participating endpoint via a communication network identified by the data access server; and arranging for the first participating endpoint to access the particular data item via the communication session.