IP Library Granted Patent US 8,707,187
Granted Patent B2
US 8,707,187 · App. 12/883,779 · Granted Apr 22, 2014

Concurrent document markup

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,707,187
App. No.
12/883,779
Granted
Apr 22, 2014
Kind
B2
Abstract

A system, method, and computer readable medium are presented for concurrent markup of a document by a plurality of reviewers. A method includes combining a document and markups associated with a plurality of reviewers into a reviewing file for use by a user. Markups associated with the user are locked and a markup associated with the reviewer is updated. Then the markups associated with the user are unlocked. Updating the markup includes receiving a revised reviewing file that includes a change to the markup, extracting the change to the markup from the revised reviewing file, and saving the changed markup separate from the document.

Claims (67)

1. A method for concurrent markup of a document by a plurality of reviewers, the method comprising:

in a data processing system, combining a document and markups associated with a plurality of reviewers into a reviewing file for use by a first user of the data processing system;

in the data processing system, locking a first lock, the first lock comprising a plurality of bits, each of the plurality of bits of the first lock associated with a corresponding single user, the first lock associated with a first plurality of markups, the first plurality of markups associated with the first user, wherein the first plurality of markups are locked if any of the plurality of bits are set, wherein the first lock is locked by setting an associated bit of the first user in the plurality of bits of the first lock and, while locked, prevents a user of the data processing system other than the first user from writing to the first plurality of markups;

while the first lock is locked, updating in the data processing system a first markup associated with the first user; and

unlocking in the data processing system the first lock,

wherein updating a first markup associated with the first user includes, in the data processing system, receiving a revised reviewing file including a change to the first markup, extracting the change to the first markup from the revised reviewing file, and saving the changed first markup in the data processing system separate from the document.

2. The method of claim 1 , further comprising:

in the data processing system, locking a second lock, the second lock associated with the document and with a second plurality of markups, the second plurality of markups associated with all reviewers, wherein the second lock is locked by a second user of the data processing system and, while locked, prevents a user of the data processing system other than the second user from writing to the document or the second plurality of markups;

while the second lock is locked, updating the document in the data processing system; and

unlocking in the data processing system the second lock,

wherein

updating the document includes, in the data processing system, receiving a revised reviewing file including a change to the document and a change to a second markup, extracting all markups from the revised reviewing file to generate a comment-free revised document, saving the changed second markup in the data processing system separate from the comment-free revised document, and saving the comment-free revised document in the data processing system separate from the changed second markup,

the steps of locking a first lock, updating a markup, and unlocking the first lock are performed only when the second lock is unlocked, and

the steps of locking a second lock, updating the document, and unlocking the second lock are performed only when the first lock is unlocked.

3. The method of claim 1 , wherein

the markups associated with the plurality of reviewers are stored in the data processing system in a corresponding plurality of files, each file storing the markups associated with a single reviewer, and

the first lock is associated with the file associated with the reviewer.

4. The method of claim 1 , wherein combining a document and markups associated with the plurality of reviewers comprises generating the reviewing file in a markup format compatible with a word processor program.

5. The method of claim 1 , wherein a markup includes a reference to a character in the document.

6. The method of claim 5 , wherein

the document is stored in the data processing system as a character stream, and

the reference comprises an ordinal position of the character in the character stream.

7. The method of claim 5 , wherein

the document is generated from a plurality of objects, each object comprising an object identifier and a character stream, and

the reference comprises an object identifier and an ordinal position of the character in the character stream of the identified object.

8. A data processing system comprising:

a processor; and

accessible memory,

wherein the data processing system is particularly configured to combine a document and markups associated with a plurality of reviewers into a reviewing file for use by a first user of the data processing system;

lock a first lock, the first lock comprising a plurality of bits, each of the plurality of bits of the first lock associated with a corresponding single user, the first lock associated with a first plurality of markups, the first plurality of markups associated with the first user, wherein the first plurality of markups are locked if any of the plurality of bits are set, wherein the first lock is locked by setting an associated bit of the first user in the plurality of bits of the first lock and, while locked, prevents a user of the data processing system other than the first user from writing to the first plurality of markups;

while the first lock is locked, update a first markup associated with the user; and

unlock the first lock,

wherein, to update the first markup associated with the first user, the data processing system is configured to receive a revised reviewing file including a change to the first markup, extract the change to the first markup from the revised reviewing file, and save the changed first markup separate from the document.

9. The data processing system of claim 8 , wherein the data processing system is further configured to:

lock a second lock, the second lock associated with the document and with a second plurality of markups, the second plurality of markups associated with all reviewers, wherein the second lock is locked by a second user of the data processing system and, while locked, prevents a user of the data processing system other than the second user from writing to the document or the second plurality of markups;

update the document while the second lock is locked; and

unlock the second lock,

wherein

to update the document, the data processing system is configured to receive a revised reviewing file including a change to the document and a change to a second markup, extract all markups from the revised reviewing file to generate a comment-free revised document, save the changed second markup separate from the comment-free revised document, and save the markup-free revised document, wherein the comment-free revised document is saved separate from the changed second markup,

the data processing system is further configured to lock the first lock, update the markup, and unlock the first lock only when the second lock is unlocked, and

the data processing system is further configured to lock a second lock, update the document, and unlock the second lock only when the first lock is unlocked.

10. The data processing system of claim 8 , wherein the data processing system is further configured to store markups associated with the plurality of reviewers in a corresponding plurality of files, each file storing the markups associated with a single reviewer, wherein the first lock is associated with the file associated with the reviewer.

11. The data processing system of claim 8 , wherein, to combine the document and the markups associated with the plurality of reviewers, the data processing system is configured to generate the reviewing file in a markup format compatible with a word processor program.

12. The data processing system of claim 8 , wherein a markup includes a reference to a character in the document.

13. The data processing system of claim 12 , wherein the data processing system is further configured to store the document as a character stream, wherein the reference comprises an ordinal position of the character in the character stream.

14. The data processing system of claim 12 , wherein the data processing system is further configured to generate the document from a plurality of objects, each object comprising an object identifier and a character stream, wherein the reference comprises an object identifier and an ordinal position of the character in the character stream of the identified object.

15. A non-transitory computer-readable storage medium encoded with computer-executable instructions that, when executed, cause a data processing system to perform the steps of:

combining a document and markups associated with a plurality of reviewers into a reviewing file for use by a first user of the data processing system;

locking a first lock, the first lock comprising a plurality of bits, each of the plurality of bits of the first lock associated with a corresponding single user, the first lock associated with a first plurality of markups, the first plurality of markups associated with the first user, wherein the first plurality of markups are locked if any of the plurality of bits are set, wherein the first lock is locked by setting an associated bit of the first user in the plurality of bits of the first lock and, while locked, prevents a user of the data processing system other than the first user from writing to the first plurality of markups;

while the first lock is locked, updating a first markup associated with the user; and

unlocking the first lock,

wherein updating a first markup associated with the user includes, in the data processing system, receiving a revised reviewing file including a change to the first markup, extracting the change to the first markup from the revised reviewing file, and saving the changed first markup in the data processing system separate from the document.

16. The computer-readable storage medium of claim 15 , further encoded with computer-executable instructions that, when executed, cause a data processing system to perform the steps of:

locking a second lock, the second lock associated with the document and with a second plurality of markups, the second plurality of markups associated with all reviewers, wherein the second lock is locked by a second user of the data processing system and, while locked, prevents a user of the data processing system other than the second user from writing to the document or the second plurality of markups;

while the second lock is locked, updating the document; and

unlocking the second lock,

wherein

updating the document includes receiving a revised reviewing file including a change to the document and a change to a second markup, extracting all markups from the revised reviewing file to generate a comment-free revised document, saving the changed second markup separate from the comment-free revised document, and saving the comment-free revised document separate from the changed second markup,

the steps of locking a first lock, updating a markup, and unlocking the first lock are performed only when the second lock is unlocked, and

the steps of locking a second lock, updating the document, and unlocking the second lock are performed only when the first lock is unlocked.

17. The computer-readable storage medium of claim 15 , further encoded with computer-executable instructions that, when executed, cause a data processing system to perform the steps of:

storing markups associated with the plurality of reviewers in a corresponding plurality of files, each file storing the markups associated with a single reviewer; and

the first lock is associated with the file associated with the reviewer.

18. The computer-readable storage medium of claim 15 , further encoded with computer-executable instructions that, when executed, cause a data processing system to perform the step of combining a document and markups associated with the plurality of reviewers comprises generating the reviewing file in a markup format compatible with a word processor program.

19. The computer-readable storage medium of claim 15 , wherein a markup includes a reference to a character in the document.

20. The computer-readable storage medium of claim 19 , further encoded with computer-executable instructions that, when executed, cause a data processing system to perform the step of storing the document as a character stream, wherein the reference comprises an ordinal position of the character in the character stream.

21. The computer-readable storage medium of claim 19 , further encoded with computer-executable instructions that, when executed, cause a data processing system to perform the step of generating the document from a plurality of objects, each object comprising an object identifier and a character stream, wherein the reference comprises an object identifier and an ordinal position of the character in the character stream of the identified object.

Assignments (2)
CHANGE OF NAME Recorded Dec 3, 2019
From: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 051171/0024 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2010
From: ZHOU, JERRY
To: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.
Reel/Frame 025097/0836 →