Computing system for managing data
First Claim
1. A computing system for managing data comprising:
- a computing device associated with a device group, the computing device comprising a processor; and
one or more peer computing devices associated with the device group,wherein the processor is configured to;
discover the one or more peer computing devices associated with the device group, including dynamically discovering a non-member computing device not presently associated with the device group that satisfies at least one device group criterion, and add the non-member computing device to the device group;
engage in communications with the one or more peer computing devices of the device group;
access files stored in a distributed file store locally on the computing device and remotely on the one or more peer computing devices using the communications;
receive a request from a requesting program to access a requested file stored in the distributed file store;
determine whether the request satisfies a permission for access permission of data stored on any device associated with the device group, and if so, to authorize the request to access the requested file, else to deny the request to access the requested file; and
upon authorization of the request, retrieve the requested file from the distributed file store and output the requested file to the requesting program.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments are described for systems and methods for managing data. The system may include a device group configured for peer-to-peer communications, the device group including a computing device and one or more peer computing devices. The system includes a cross device application programming interface (API) that is implemented as a device group API client executed on the computing device and each of the peer computing devices. Each device group API client includes a permissions module that is configured to determine whether a request satisfies a device-group-specific permission for access to data stored on any device associated with the device group. Upon authorization of the request, a file storage module is configured to retrieve and output the requested file.
20 Citations
20 Claims
-
1. A computing system for managing data comprising:
-
a computing device associated with a device group, the computing device comprising a processor; and one or more peer computing devices associated with the device group, wherein the processor is configured to; discover the one or more peer computing devices associated with the device group, including dynamically discovering a non-member computing device not presently associated with the device group that satisfies at least one device group criterion, and add the non-member computing device to the device group; engage in communications with the one or more peer computing devices of the device group; access files stored in a distributed file store locally on the computing device and remotely on the one or more peer computing devices using the communications; receive a request from a requesting program to access a requested file stored in the distributed file store; determine whether the request satisfies a permission for access permission of data stored on any device associated with the device group, and if so, to authorize the request to access the requested file, else to deny the request to access the requested file; and upon authorization of the request, retrieve the requested file from the distributed file store and output the requested file to the requesting program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device comprising a processor that is configured to:
-
form a device group that includes the computing device and at least one peer computing device; establish peer-to-peer communication between the computing device and the at least one peer computing device; store files in a distributed file store locally on the computing device and remotely on the at least one peer computing device; receive a request from a requesting program to access a requested file stored in the distributed file store; determine that the request satisfies a permission for access permission of data stored on any device associated with the device group; in response to determining that the request satisfies the permission, retrieve the requested file from the distributed file store and output the requested file to the requesting program; dynamically discover a non-member computing device that is not presently associated with the device group; and if the non-member computing device satisfies at least one device group criterion, then add the non-member computing device to the device group. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computing device comprising a processor that is configured to:
-
form a first device group that includes the computing device and a first peer computing device; form a second device group that includes the computing device and a second peer computing device; establish peer-to-peer communication between the computing device and the first peer computing device; establish peer-to-peer communication between the computing device and the second peer computing device; store files in a first distributed file store locally on the computing device and remotely on the first peer computing device; store files in a second distributed file store locally on the computing device and remotely on the second peer computing device; receive a request from a requesting program to access a requested file located in the first distributed file store or the second distributed file store; search for the requested file in the first distributed file store and the second distributed file store; if the requested file is located in the first distributed file store, then determine whether the request satisfies a first device-group-specific permission for access permission of data stored on any device associated with the first device group, and if so, then authorize the request to access the requested file, else deny the request to access the requested file; if the requested file is located in the second distributed file store, then determine whether the request satisfies a second device-group-specific permission for access permission of data stored on any device associated with the second device group, and if so, then authorize the request to access the requested file, else deny the request to access the requested file; and if the request is authorized, then retrieve the requested file from the first distributed file store or the second distributed file store, and output the requested file to the computer program; and dynamically discover a non-member computing device that is not presently associated with the first device group or the second device group, and that satisfies at least one device group criterion, and add the non-member computing device to the first device group.
-
Specification