Computing system for managing data
First Claim
1. A computing system for managing data comprising, a cross device application programming interface (API) including:
- a device group API client executed on a computing device associated with a device group, the API client including;
a device discovery module configured to discover one or more peer computing devices associated with the device group;
a peer-to-peer (P2P) module configured to engage in P2P communications with each of the one or more peer computing devices of the device group via respective device group API clients executed on the one or more peer computing devices;
a file storage module configured to enable the device group API client to access files stored in a distributed file store locally on the computing device and/or remotely on the one or more peer computing devices using communications sent via the P2P module, the file storage module configured to receive a request from a computer program, via the device group API client, to access a requested file stored in the distributed file store;
a permissions module configured to determine whether the request satisfies a device-group-specific 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 by the permissions module, the file storage module being configured to retrieve the requested file from the distributed file store and output the requested file to the computer program;
wherein the device discovery module is configured to dynamically discover a non-member computing device not presently associated with the device group that satisfies at least one device group criterion, and to add the non-member computing device to the device group.
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.
17 Citations
18 Claims
-
1. A computing system for managing data comprising, a cross device application programming interface (API) including:
-
a device group API client executed on a computing device associated with a device group, the API client including; a device discovery module configured to discover one or more peer computing devices associated with the device group; a peer-to-peer (P2P) module configured to engage in P2P communications with each of the one or more peer computing devices of the device group via respective device group API clients executed on the one or more peer computing devices; a file storage module configured to enable the device group API client to access files stored in a distributed file store locally on the computing device and/or remotely on the one or more peer computing devices using communications sent via the P2P module, the file storage module configured to receive a request from a computer program, via the device group API client, to access a requested file stored in the distributed file store; a permissions module configured to determine whether the request satisfies a device-group-specific 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 by the permissions module, the file storage module being configured to retrieve the requested file from the distributed file store and output the requested file to the computer program; wherein the device discovery module is configured to dynamically discover a non-member computing device not presently associated with the device group that satisfies at least one device group criterion, and to add the non-member computing device to the device group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for managing data, the method comprising, at a computing device:
-
forming a device group that includes the computing device and at least one peer computing device; establishing peer-to-peer communication between the computing device and the at least one peer computing device; storing files in a distributed file store locally on the computing device and/or remotely on the at least one peer computing device; receiving a request from a computer program to access a requested file stored in the distributed file store; determining whether the request satisfies a device-group-specific permission for access permission of data stored on any device associated with the device group, and if so, then authorizing the request to access the requested file, else denying the request to access the requested file; if the request is authorized, then retrieving the requested file from the distributed file store and outputting the requested file to the computer program; and dynamically discovering a non-member computing device that is not presently associated with the device group, and that satisfies at least one device group criterion, and adding the non-member computing device to the device group. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for managing data, the method comprising, at a computing device:
-
forming a first device group that includes the computing device and a first peer computing device; forming a second device group that includes the computing device and a second peer computing device; establishing peer-to-peer communication between the computing device and the first peer computing device; establishing peer-to-peer communication between the computing device and the second peer computing device; storing files in a first distributed file store locally on the computing device and remotely on the first peer computing device; storing files in a second distributed file store locally on the computing device and remotely on the second peer computing device; receiving a request from a computer program to access a requested file located in the first distributed file store or the second distributed file store; searching 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 determining 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 authorizing the request to access the requested file, else denying the request to access the requested file; if the requested file is located in the second distributed file store, then determining 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 authorizing the request to access the requested file, else denying the request to access the requested file; and if the request is authorized, then retrieving the requested file from the first distributed file store or the second distributed file store, and outputting the requested file to the computer program; and dynamically discovering 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 adding the non-member computing device to the first device group.
-
Specification