IP Library Granted Patent US 8,413,074
Granted Patent B2
US 8,413,074 · App. 12/705,505 · Granted Apr 2, 2013

Mechanism for collaboratively exchanging navigation information in a distributed document review

Inventor: Matthew J. Stevens (Malvern, PA)
Assignee: Oracle America, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,413,074
App. No.
12/705,505
Granted
Apr 2, 2013
Kind
B2
Abstract

A mechanism for enabling nodes on a network to collaboratively exchange sets of rendering information respecting a file. 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.

Claims (71)

1. A method for distributed review comprising:

receiving, by a first node from a second node, an identifier of a file and first positioning information identifying a first portion of the file displayed on the second node;

opening, on the first node, a copy of the file based on the identifier of the file;

identifying a second portion in the copy of the file based on the first positioning information, wherein the second portion is a copy of the first portion;

displaying the second portion on the first node;

receiving, by the first node, a stop request to stop following the second node;

after receiving the stop request and prior to receiving a resume request:

receiving, from the second node, second positioning information identifying a third portion of the file displayed on the second node at a first point in time;

receiving, from the second node, third positioning information identifying a fourth portion of the file displayed on the second node, wherein the fourth portion of the file is displayed on the second node after the third portion at a second point in time;

receiving, from the second node, fourth positioning information identifying a fifth portion of the file displayed on the second node, wherein the fifth portion of the file is displayed on the second node after the fourth portion at a third point in time; and

storing, by the first node, in a rendering history, the second positioning information associated with the first point in time, the third positioning information associated with the second point in time, and the fourth positioning information associated with the third point in time;

receiving a resume request to resume following the second node starting at the second point in time; and

displaying, only after receiving the resume request, a sixth portion on the first node, wherein the displaying is based on the third positioning information and the resume request to start at the second point in time, and wherein the sixth portion is a copy of the fourth portion.

2. The method of claim 1 , further comprising:

receiving a request from a user using the first node to navigate to a seventh portion in the copy of the file; and

displaying, in response to the request, the seventh portion on the first node.

3. The method of claim 2 , wherein the request is received and the seventh portion is displayed after receiving the stop request and prior to receiving the resume request.

4. The method of claim 2 , further comprising:

sending, by the first node, fifth positioning information identifying the seventh portion,

wherein the second node displays an eighth portion based on receiving the fifth positioning information identifying the seventh portion, wherein the eighth portion is a copy of the seventh portion.

5. The method of claim 4 , wherein the fifth positioning information is in transit between the first node and the second node while the second positioning information is in transit between the second node and the first node.

6. The method of claim 1 , wherein the identifier of the file and the first positioning information are received in a single rendering information message, and wherein the single rendering information message further comprises a user identifier of a user using the second node.

7. The method of claim 1 , wherein the first positioning information and the second positioning information are received from a message broker, wherein the message broker receives the first positioning information and the second positioning information from the second node.

8. A first node comprising:

memory;

a processor; and

instructions, stored in the memory, for causing the processor to:

receive, from a second node, an identifier of a file and first positioning information identifying a first portion of the file displayed on the second node;

open a copy of the file based on the identifier of the file;

identify a second portion in the copy of the file based on the first positioning information, wherein the second portion is a copy of the first portion;

display the second portion on the first node;

receive a stop request to stop following the second node;

after receiving the stop request and prior to receiving a resume request:

receive, from the second node, second positioning information identifying a third portion of the file displayed on the second node at a first point in time;

receive, from the second node, third positioning information identifying a fourth portion of the file displayed on the second node, wherein the fourth portion of the file is displayed on the second node after the third portion at a second point in time;

receive, from the second node, fourth positioning information identifying a fifth portion of the file displayed on the second node, wherein the fifth portion of the file is displayed on the second node after the fourth portion at a third point in time; and

store, in a rendering history, the second positioning information associated with the first point in time, the third positioning information associated with the second point in time, and the fourth positioning information associated with the third point in time;

receive a resume request to resume following the second node starting at the second point in time; and

display, only after receiving the resume request a sixth portion on the first node, wherein the displaying is based on the third positioning information and the resume request to start at the second point in time, and wherein the sixth portion is a copy of the fourth portion.

9. The first node of claim 8 , wherein the instructions further cause the processor to:

receive a request from a user using the first node to navigate to a seventh portion in the copy of the file; and

display, in response to the request, the seventh portion on the first node.

10. The first node of claim 9 , wherein the request is received and the seventh portion is displayed after receiving the stop request and prior to receiving the resume request.

11. The first node of claim 9 , wherein the instructions further cause the processor to:

send, by the first node, fifth positioning information identifying the seventh portion,

wherein the second node displays an eighth portion based on receiving the fifth positioning information identifying the seventh portion, wherein the eighth portion is a copy of the seventh portion.

12. The first node of claim 11 , wherein the fifth positioning information is in transit between the first node and the second node while the second positioning information is in transit between the second node and the first node.

13. The first node of claim 8 , wherein the identifier of the file and the first positioning information are received in a single rendering information message, and wherein the single rendering information message further comprises a user identifier of a user using the second node.

14. The first node of claim 8 , wherein the first positioning information and the second positioning information are received from a message broker, wherein the message broker receives the first positioning information and the second positioning information from the second node.

15. A non-transitory machine-readable media comprising instructions for causing a processor to:

receive, by a first node from a second node, an identifier of a file and first positioning information identifying a first portion of the file displayed on the second node;

open, on the first node, a copy of the file based on the identifier of the file;

identify a second portion in the copy of the file based on the first positioning information, wherein the second portion is a copy of the first portion;

display the second portion on the first node;

receive, by the first node, a stop request to stop following the second node;

after receiving the stop request and prior to receiving a resume request:

receive, from the second node, second positioning information identifying a third portion of the file displayed on the second node at a first point in time;

receive, from the second node, third positioning information identifying a fourth portion of the file displayed on the second node, wherein the fourth portion of the file is displayed on the second node after the third portion at a second point in time;

receive, from the second node, fourth positioning information identifying a fifth portion of the file displayed on the second node, wherein the fifth portion of the file is displayed on the second node after the fourth portion at a third point in time; and

store, by the first node, in a rendering history, the second positioning information associated with the first point in time, the third positioning information associated with the second point in time, and the fourth positioning information associated with the third point in time;

receiving a resume request to resume following the second node starting at the second point in time; and

display, only after receiving the resume request, a sixth portion on the first node, wherein the displaying is based on the third positioning information and the resume request to start at the second point in time, and wherein the sixth portion is a copy of the fourth portion.

16. The non-transitory machine-readable media of claim 15 , wherein the instructions further cause the processor to:

receive a request from a user using the first node to navigate to a seventh portion in the copy of the file; and

display, in response to the request, the seventh portion on the first node.

17. The non-transitory machine-readable media of claim 16 , wherein the request is received and the seventh portion is displayed after receiving the stop request and prior to receiving the resume request.

18. The non-transitory machine-readable media of claim 16 , wherein the instructions further cause the processor to:

send, by the first node, fifth positioning information identifying the seventh portion,

wherein the second node displays an eighth portion based on receiving the fifth positioning information identifying the seventh portion, wherein the eighth portion is a copy of the seventh portion.

19. The non-transitory machine-readable media of claim 18 , wherein the fifth positioning information is in transit between the first node and the second node while the second positioning information is in transit between the second node and the first node.

20. The non-transitory machine-readable media of claim 15 , wherein the identifier of the file and the first positioning information are received in a single rendering information message, and wherein the single rendering information message further comprises a user identifier of a user using the second node.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0195 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2011
From: STEVENS, MATTHEW J.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 025961/0487 →
Continuity (2)
Continuation 11441621 · May 26, 2006
Related Publication 20100146403A1 · Jun 10, 2010