Mechanism for collaboratively exchanging navigation information in distributed document review
Abstract
A mechanism is disclosed for enabling a plurality of nodes on a network to collaboratively exchange sets of rendering information respecting a file. In one implementation, each node maintains its own copy of the file, and each node may access its copy of the file. Whenever a node does access the locations of the file, that node sends out a rendering information message. The rendering information message comprises the set of rendering information for the file that has been updated. The rendering information message is forwarded to each of the other nodes. When each of the other nodes receives the rendering information message, it stores the set of rendering information contained therein to a rendering history associated with a user. In this manner, histories of access in the file by all users are exchanged among the nodes, and the user on each node is able to see rendering information generated by users on the other nodes. Collaboration among the users is thus achieved.
Claims
exact text as granted — not AI-modified1 . A method performed by a particular node in a multi-node system, comprising:
receiving a first set of rendering information, wherein the first set of rendering information indicates that a first node in the system has rendered a first portion of a file, and wherein the first set of rendering information comprises positioning information from which the first portion of the file can be determined; accessing a copy of the file; applying the positioning information to the copy of the file to determine the first portion of the file that has been rendered by the first node; and rendering the first portion of the file in a user interface, thereby causing the particular node to render the same first portion of the file that the first node has already rendered.
2 . The method of claim 1 , further comprising:
receiving a second set of rendering information, wherein the second set of rendering information indicates that the first node has further rendered a second portion of the file, and wherein the second set of rendering information comprises positioning information from which the second portion of the file can be determined; applying the positioning information in the second set of rendering information to the copy of the file to determine the second portion of the file that has been rendered by the first node; and rendering the second portion of the file in the user interface, thereby causing the particular node to render the same second portion of the file that the first node has already rendered.
3 . The method of claim 1 , wherein the positioning information comprises an indication of where in the file the first portion begins.
4 . The method of claim 1 , wherein the first set of rendering information further comprises cursor placement information indicating a location within the first portion of the file at which a first cursor has been rendered by the first node, and wherein the method further comprises:
applying the cursor placement information to the copy of the file to determine the location within the first portion of the file; and rendering a second cursor at the location in the first portion of the file in the user interface.
5 . The method of claim 1 , wherein the first set of rendering information further comprises selection information indicating that a section within the first portion of the file has been selected on the first node, and wherein the method further comprises:
applying the selection information to the copy of the file to determine the section within the first portion of the file; and rendering the section within the first portion of the file in the user interface in a manner that indicates the section has been selected.
6 . The method of claim 1 , further comprising:
receiving a second set of rendering information, wherein the second set of rendering information indicates that a second node in the system has rendered a second portion of the file, and wherein the second set of rendering information comprises positioning information from which the second portion of the file can be determined; receiving an indication that a user wishes to start following the second node instead of the first node; applying the positioning information in the second set of rendering information to the copy of the file to determine the second portion of the file that has been rendered by the second node; and rendering the second portion of the file in the user interface, thereby causing the particular node to render the same second portion of the file that the second node has already rendered.
7 . The method of claim 1 , further comprising:
receiving a second set of rendering information, wherein the second set of rendering information indicates that a second node in the system has rendered a second portion of the file, and wherein the second set of rendering information comprises positioning information from which the second portion of the file can be determined; storing the second set of rendering information; receiving a third set of rendering information, wherein the third set of rendering information indicates that the second node in the system has rendered a third portion of the file, and wherein the third set of rendering information comprises positioning information from which the third portion of the file can be determined; storing the third set of rendering information.
8 . The method of claim 7 , further comprising:
receiving an indication that a user wishes to start following the second node instead of the first node starting with the second set of rendering information; applying the positioning information in the second set of rendering information to the copy of the file to determine the second portion of the file that has been rendered by the second node; and rendering the second portion of the file in the user interface, thereby causing the particular node to render the same second portion of the file that the second node has already rendered.
9 . The method of claim 1 , wherein the first set of rendering information further comprises aspect information indicating whether the first node is currently following another node, and if so, an indication as to which node the first node is following.
10 . The method of claim 1 , wherein the first set of rendering information further comprises a timestamp indicating when the first set of rendering information is generated on the first node.
11 . A machine readable medium, comprising:
instructions for causing one or more processors to receive a first set of rendering information, wherein the first set of rendering information indicates that a first node in the system has rendered a first portion of a file, and wherein the first set of rendering information comprises positioning information from which the first portion of the file can be determined; instructions for causing one or more processors to access a copy of the file; instructions for causing one or more processors to apply the positioning information to the copy of the file to determine the first portion of the file that has been rendered by the first node; and instructions for causing one or more processors to render the first portion of the file in a user interface, thereby causing the particular node to render the same first portion of the file that the first node has already rendered.
12 . The machine readable medium of claim 11 , further comprising:
instructions for causing one or more processors to receive a second set of rendering information, wherein the second set of rendering information indicates that the first node has further rendered a second portion of the file, and wherein the second set of rendering information comprises positioning information from which the second portion of the file can be determined; instructions for causing one or more processors to apply the positioning information in the second set of rendering information to the copy of the file to determine the second portion of the file that has been rendered by the first node; and instructions for causing one or more processors to render the second portion of the file in the user interface, thereby causing the particular node to render the same second portion of the file that the first node has already rendered.
13 . The machine readable medium of claim 11 , wherein the positioning information comprises an indication of where in the file the first portion begins.
14 . The machine readable medium of claim 11 , wherein the first set of rendering information further comprises cursor placement information indicating a location within the first portion of the file at which a first cursor has been rendered by the first node, and wherein the machine readable medium further comprises:
instructions for causing one or more processors to apply the cursor placement information to the copy of the file to determine the location within the first portion of the file; and instructions for causing one or more processors to render a second cursor at the location in the first portion of the file in the user interface.
15 . The machine readable medium of claim 11 , wherein the first set of rendering information further comprises selection information indicating that a section within the first portion of the file has been selected on the first node, and wherein the machine readable medium further comprises:
instructions for causing one or more processors to apply the selection information to the copy of the file to determine the section within the first portion of the file; and instructions for causing one or more processors to render the section within the first portion of the file in the user interface in a manner that indicates the section has been selected.
16 . The machine readable medium of claim 11 , further comprising:
instructions for causing one or more processors to receive a second set of rendering information, wherein the second set of rendering information indicates that a second node in the system has rendered a second portion of the file, and wherein the second set of rendering information comprises positioning information from which the second portion of the file can be determined; instructions for causing one or more processors to receive an indication that a user wishes to start following the second node instead of the first node; instructions for causing one or more processors to apply the positioning information in the second set of rendering information to the copy of the file to determine the second portion of the file that has been rendered by the second node; and instructions for causing one or more processors to render the second portion of the file in the user interface, thereby causing the particular node to render the same second portion of the file that the second node has already rendered.
17 . The machine readable medium of claim 11 , further comprising:
instructions for causing one or more processors to receive a second set of rendering information, wherein the second set of rendering information indicates that a second node in the system has rendered a second portion of the file, and wherein the second set of rendering information comprises positioning information from which the second portion of the file can be determined; instructions for causing one or more processors to store the second set of rendering information; instructions for causing one or more processors to receive a third set of rendering information, wherein the third set of rendering information indicates that the second node in the system has rendered a third portion of the file, and wherein the third set of rendering information comprises positioning information from which the third portion of the file can be determined; instructions for causing one or more processors to store the third set of rendering information.
18 . The machine readable medium of claim 17 , further comprising:
instructions for causing one or more processors to receive an indication that a user wishes to start following the second node instead of the first node starting with the second set of rendering information; instructions for causing one or more processors to apply the positioning information in the second set of rendering information to the copy of the file to determine the second portion of the file that has been rendered by the second node; and instructions for causing one or more processors to render the second portion of the file in the user interface, thereby causing the particular node to render the same second portion of the file that the second node has already rendered.
19 . The machine readable medium of claim 11 , wherein the first set of rendering information further comprises aspect information indicating whether the first node is currently following another node, and if so, an indication as to which node the first node is following.
20 . The machine readable medium of claim 11 , wherein the first set of rendering information further comprises a timestamp indicating when the first set of rendering information is generated on the first node.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.