System and Method for Group Collaboration Using a Distributed Network File Repository
First Claim
1. A method of communicating documents in a communication system that includes a plurality of computing devices, the method comprising:
- determining in a processor of a first computing device whether the first computing device is associated with a first collaboration group;
determining in the processor whether a second computing device is associated with the first collaboration group;
establishing a peer-to-peer communication link between the first computing device and the second computing device in response to determining that the first and second computing devices are associated with the first collaboration group;
exchanging a hints list for an object list that identifies documents stored in a second collaboration memory of the second computing device that are possibly not stored in a first collaboration memory of the first computing device and which identifies a state of the second collaboration memory at various randomly chosen points in an ordered list of objects;
comparing the object list with the objects present in the first collaboration memory to determine that a document is stored in the second collaboration memory and not stored in the first collaboration memory;
sending a document request message to the second computing device to request the document;
receiving the requested document from the second computing device in response to sending the document request message; and
storing the received document in the first collaboration memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A fast, efficient, secure, distributed, and multiplatform P2P-based collaboration solution may be used to communicate information (e.g., files, documents, etc.) between computing devices across logical, functional, organizational, and protection boundaries. The collaboration solution may include a first computing device configured to determine whether it is included the same collaboration group as a second computing device, and automatically establish a peer-to-peer based communication link to the second computing device in response to determining that they included in the same collaboration group. The first computing device may then receive a document list that identifies documents stored in a memory of the second computing device, and compare the received document list with a local document list to identify missing documents. The first computing device may send a document request message to the second computing device to request the identified missing documents, receive the requested documents, and store them its local memory.
-
Citations
24 Claims
-
1. A method of communicating documents in a communication system that includes a plurality of computing devices, the method comprising:
-
determining in a processor of a first computing device whether the first computing device is associated with a first collaboration group; determining in the processor whether a second computing device is associated with the first collaboration group; establishing a peer-to-peer communication link between the first computing device and the second computing device in response to determining that the first and second computing devices are associated with the first collaboration group; exchanging a hints list for an object list that identifies documents stored in a second collaboration memory of the second computing device that are possibly not stored in a first collaboration memory of the first computing device and which identifies a state of the second collaboration memory at various randomly chosen points in an ordered list of objects; comparing the object list with the objects present in the first collaboration memory to determine that a document is stored in the second collaboration memory and not stored in the first collaboration memory; sending a document request message to the second computing device to request the document; receiving the requested document from the second computing device in response to sending the document request message; and storing the received document in the first collaboration memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computing device, comprising:
-
a first collaboration memory; a processor coupled to the first collaboration memory, wherein the processor is configured with processor-executable instructions to perform operations comprising; determining whether the computing device is associated with a first collaboration group; determining whether a second computing device is associated with the first collaboration group; establishing a peer-to-peer communication link to the second computing device in response to determining that the computing device and the second computing device are both associated with the first collaboration group; exchanging a hints list for an object list that identifies documents stored in a second collaboration memory of the second computing device that are possibly not stored in the first collaboration memory and which identifies a state of the second collaboration memory at various randomly chosen points in an ordered list of objects; comparing the object list with the objects present in the first collaboration memory to determine that a document is stored in the second collaboration memory and not stored in the first collaboration memory; sending a document request message to the second computing device to request the document; receiving the requested document from the second computing device in response to sending the document request message; and storing the received document in the first collaboration memory. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computing device, comprising:
-
means for determining whether the computing device is associated with a first collaboration group; means for determining whether a second computing device is associated with the first collaboration group; means for establishing a peer-to-peer communication link to the second computing device in response to determining that the computing device and the second computing device are both associated with the first collaboration group; means for exchanging a hints list for an object list that identifies documents stored in a second collaboration memory of the second computing device that are possibly not stored in a first collaboration memory and which identifies a state of the second collaboration memory at various randomly chosen points in an ordered list of objects; means for comparing the object list with the objects present in the first collaboration memory to determine that a document is stored in the second collaboration memory and not stored in the first collaboration memory; means for sending a document request message to the second computing device to request the document; means for receiving the requested document from the second computing device in response to sending the document request message; and means for storing the received document in the first collaboration memory. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a processor of a computing device to perform operations for communicating documents in a communication system that includes a plurality of computing devices, the operations comprising:
-
determining whether the computing device is associated with a first collaboration group; determining whether a second computing device is associated with the first collaboration group; establishing a peer-to-peer communication link between the computing device and the second computing device in response to determining that the computing device and the second computing device are both associated with the first collaboration group; exchanging a hints list for an object list that identifies documents stored in a second collaboration memory of the second computing device that are possibly not stored in a first collaboration memory and which identifies a state of the second collaboration memory at various randomly chosen points in an ordered list of objects; comparing the object list with the objects present in the first collaboration memory to determine that a document is stored in the second collaboration memory and not stored in the first collaboration memory; sending a document request message to the second computing device to request the document; receiving the requested document from the second computing device in response to sending the document request message; and storing the received document in the first collaboration memory. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification