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
OG exemplary drawing
 
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.