| US 7,496,841 B2 | ||
| Method and system for document collaboration | ||
| Barrie Alan Hadfield, Blackheath (United Kingdom); Robin Wallace Glover, Didcot (United Kingdom); Stephen John Coates, London (United Kingdom); and Steve Hopkins, Sittingbourne (United Kingdom) | ||
| Assigned to Workshare Technology, Ltd., London (United Kingdom) | ||
| Filed on Dec. 17, 2001, as Appl. No. 10/23,010. | ||
| Prior Publication US 2004/0205653 A1, Oct. 14, 2004 | ||
| Int. Cl. G06F 17/21 (2006.01); G06F 3/00 (2006.01); G06F 12/00 (2006.01) | ||
| U.S. Cl. 715—255 [715/229; 715/234; 715/751; 707/7; 707/201; 709/203] | 6 Claims |

| 1. A method, using a computer system, for generating a response to an unedited replica of an original document sent by a managing
author to a contributing author for review, comprising:
receiving said unedited replica at a client associated with said contributing author;
forming a first revised replica by editing said unedited replica;
partitioning said unedited replica into a first plurality of segments, wherein a segment of said first plurality of segments
is delimited by a delimiter;
sorting segments of said first plurality of segments into a binary tree based on a comparison operator;
partitioning said first revised replica into a second plurality of segments;
finding a best match for a segment of said second plurality of segments in said binary tree to form a block of at least one
matching byte;
creating a difference file, said difference file comprising: a plurality of copy packets and a plurality of difference packets,
wherein said copy packets indicating position and length of said matched block, and said difference packets consisting of
stream of bytes flanked by said copy packets;
storing said difference file in memory at said client to be transmitted to the managing author;
transmitting said difference file to a server associated with said managing author;
reconstructing the first revised replica by finding in the original document said matched block using the memory position
and length as indicated in the copy packets; and
forming a second revised replica identical to the first revised replica by copying said matched block into the second revised
replica and inserting the difference packets into the second revised replica.
|