System for a distributed file system element collection
First Claim
Patent Images
1. At least one machine readable medium that is not a transitory propagating signal, the medium including instructions that, when executed by at least one machine, cause the at least one machine to perform operations comprising:
- receiving an indication to create a collection, the indication including a creation context, and the creation context indicating a plurality of file system elements;
identifying a collection type based on the creation context;
creating a collection schema for the collection type, the collection schema including a plurality of collection definitions, the collection definitions including a set of file system element definitions for the collection and a set of participant node definitions, the set of file system element definitions including at least two definitions respectively corresponding to at least two file system elements indicated in the creation context;
synchronizing, by a node, an event stream with a participant node from a list of participant nodes, the event stream including indications of changes of file system elements between participant nodes, the list of participant nodes derived from the set of participant node definitions;
identifying, from a local data store of the node, a state of a file system element identified in the set of file system element definitions, the state being one of a plurality of states, the state corresponding to a data distribution action, wherein the state of the file system element indicates that the file system element has changed in the local data store;
issuing, by the node in response to identifying the state, a communication to nodes in the list of participant nodes to complete the data distribution action, wherein the communication is an event published to the nodes in the list of participant nodes, and wherein the data distribution action includes notifying the nodes in the list of participant nodes about the file system element change;
receiving a response to the communication from a participant node in the list of participant nodes, wherein the response is a request for contents of the file system element; and
completing the data distribution action by transmitting the requested contents of the file system element to the participant node, wherein transmitting includes encrypting the contents of the file system element with a key, and wherein the participant node is a store point node that does not have access to the key.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed in some examples is a data distribution mechanism for distributing a collection of file system elements across one or more computing devices. The system can include a plurality of nodes implemented on a machine. The data distribution mechanism may be used in connection with data synchronization, sharing, backup, archiving, and versioning operations for a plurality of connected machines on behalf of one or a plurality of users.
122 Citations
17 Claims
-
1. At least one machine readable medium that is not a transitory propagating signal, the medium including instructions that, when executed by at least one machine, cause the at least one machine to perform operations comprising:
-
receiving an indication to create a collection, the indication including a creation context, and the creation context indicating a plurality of file system elements; identifying a collection type based on the creation context; creating a collection schema for the collection type, the collection schema including a plurality of collection definitions, the collection definitions including a set of file system element definitions for the collection and a set of participant node definitions, the set of file system element definitions including at least two definitions respectively corresponding to at least two file system elements indicated in the creation context; synchronizing, by a node, an event stream with a participant node from a list of participant nodes, the event stream including indications of changes of file system elements between participant nodes, the list of participant nodes derived from the set of participant node definitions; identifying, from a local data store of the node, a state of a file system element identified in the set of file system element definitions, the state being one of a plurality of states, the state corresponding to a data distribution action, wherein the state of the file system element indicates that the file system element has changed in the local data store; issuing, by the node in response to identifying the state, a communication to nodes in the list of participant nodes to complete the data distribution action, wherein the communication is an event published to the nodes in the list of participant nodes, and wherein the data distribution action includes notifying the nodes in the list of participant nodes about the file system element change; receiving a response to the communication from a participant node in the list of participant nodes, wherein the response is a request for contents of the file system element; and completing the data distribution action by transmitting the requested contents of the file system element to the participant node, wherein transmitting includes encrypting the contents of the file system element with a key, and wherein the participant node is a store point node that does not have access to the key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method implemented by at least one computer, the computer including at least hardware processor, and the method comprising operations resulting from an execution of instructions by the at least one hardware processor, with the operations including:
-
receiving an indication to create a collection, the indication including a creation context, the creation context indicating a plurality of file system elements; identifying a collection type, based on the creation context; creating a collection schema for the collection type, the collection schema including a plurality of collection definitions, the collection definitions including a set of file system element definitions for the collection and a set of participant node definitions, the set of file system element definitions including at least two definitions respectively corresponding to at least two file system elements indicated in the creation context; synchronizing, by a node, an event stream with a participant node from a list of participant nodes, the event stream including indications of changes of file system elements between participant nodes, the list of participant nodes derived from the set of participant node definitions; identifying, from a local data store of the node, a state of a file system element identified in the set of file system element definitions, the state being one of a plurality of states, the state corresponding to a data distribution action, wherein the state of the file system element indicates that the file system element has changed in the local data store; issuing, by the node in response to identifying the state, a communication to nodes in the list of participant nodes to complete the data distribution action, wherein the communication is an event published to the nodes in the list of participant nodes, and wherein the data distribution action includes notifying the nodes in the list of participant nodes about the file system element change; receiving a response to the communication from a participant node in the list of participant nodes, wherein the response is a request for contents of the file system element; and completing the data distribution action, by transmitting the requested contents of the file system element to the participant node, wherein transmitting includes encrypting the contents of the file system element with a key, and wherein the participant node is a store point node that does not have access to the key.
-
Specification