CN101889276B - 文档归并 - Google Patents

文档归并 Download PDF

Info

Publication number
CN101889276B
CN101889276B CN2008801196479A CN200880119647A CN101889276B CN 101889276 B CN101889276 B CN 101889276B CN 2008801196479 A CN2008801196479 A CN 2008801196479A CN 200880119647 A CN200880119647 A CN 200880119647A CN 101889276 B CN101889276 B CN 101889276B
Authority
CN
China
Prior art keywords
document
identifier
data cell
merger
documents
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008801196479A
Other languages
English (en)
Other versions
CN101889276A (zh
Inventor
J·B·贝勒
E·J·伯恩斯坦
M·R·奈特
C·J·安托斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101889276A publication Critical patent/CN101889276A/zh
Application granted granted Critical
Publication of CN101889276B publication Critical patent/CN101889276B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

归并第一文档与至少一个第二文档以生成第三文档的方法和系统。第一和第二文档中的每一个包括至少一个数据单元。每一数据单元与单元标识符和编辑标识符相关联。文档中的每一个的单元标识符与另一文档的单元标识符相比较以确定每一单元标识符是匹配的还是非匹配的单元标识符。将与匹配的单元标识符相关联的数据单元的编辑标识符彼此相比较。将与非匹配的单元标识符相关联的数据单元直接插入到第三文档。将与匹配的单元标识符和匹配的编辑标识符相关联的数据单元直接插入到第三文档。将与匹配的单元标识符和非匹配的编辑标识符相关联的数据单元归并到第三文档。

Description

文档归并
背景
归并是协调对同一文档的不同副本作出的多个改变的动作。通常,两个人同时修改一文档的是必要的。稍后,这些改变需要归并成反映这两个作者的意图的单个新文档。
常规的归并是麻烦且耗时的。需要更高效的归并。
概述
如本文讨论的,一些实施例的一方面涉及归并第一文档与至少一个第二文档以生成第三文档的方法。第一和第二文档中的每一个包括至少一个数据单元。每一数据单元与单元标识符和编辑标识符相关联。该方法包括获得第一文档的数据单元的单元标识符。该方法还包括获得第二文档的数据单元的单元标识符。将第一和第二文档中的每一个的单元标识符与第一和第二文档中的另一个的单元标识符相比较,以确定这些单元标识符中的每一个是匹配的单元标识符还是非匹配的单元标识符。匹配的单元标识符指示第一和第二文档的对应的数据单元。非匹配的单元标识符中的每一个指示第一和第二文档之一的、与第一和第二文档中的另一个的任何数据单元都不相对应的数据单元。将与匹配的单元标识符相关联的数据单元的编辑标识符彼此相比较以查明匹配的编辑标识符。匹配的编辑标识符中的每一个指示第一和第二文档之一的一数据单元与第一和第二文档中的另一个的对应数据单元相匹配。将第一和第二文档的与非匹配的单元标识符相关联的数据单元直接插入到第三文档。另外,将第一和第二文档的与匹配的单元标识符和匹配的编辑标识符相关联的数据单元直接插入到第三文档。最后,将第一和第二文档的与匹配的单元标识符和非匹配的编辑标识符相关联的数据单元归并到第三文档。
一些实施例的另一方面涉及一种文档处理系统。该文档处理系统包括文档处理应用程序和第一文档。该文档处理应用程序被配置成将至少两个文档归并到一起以生成第三文档。第一文档被配置成由文档处理应用程序处理。第一文档存储内容和元数据。内容包括至少一个数据单元。元数据包括与每一数据单元相关联的单元标识符和编辑标识符。每一数据单元的单元标识符在创建该数据单元时生成。每一数据单元的编辑标识符在保存对该数据单元的修改时生成。
又一些方面涉及一种具有用于实现从第一文档和第二文档生成归并文档的方法的计算机可执行指令的计算机可读存储介质。该方法包括确定第一文档是否具有第一文档标识符以及第二文档是否具有第二文档标识符。该方法还包括在第一和第二文档之一具有第一和第二文档标识符中的一个的情况下获得第一和第二文档标识符中的一个。该方法还包括将第一文档的第一文档标识符与第二文档的第二文档标识符相比较。该方法包括在第一和第二文档中的任一个不具有文档标识符的情况下执行第一和第二文档的常规归并以生成归并文档。此外,该方法包括在第一文档标识符与第二文档标识符不同的情况下执行第一和第二文档的常规归并以生成归并文档。最后,该方法包括在第一文档标识符与第二文档标识符相匹配的情况下执行第一和第二文档的加速归并以生成归并文档。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也决不旨在用于限制所要求保护的主题的范围。
附图简述
图1是示例性文档处理系统的框图;
图2是示出被配置成由图1的示例性文档处理应用程序来处理的示例性文档的框图;
图3是示出图2所示的文档的示例性格式的框图;
图4是示出除元数据文件与文档分开存储之外与图3所示的文档相类似的另一示例性文档的框图;
图5是示出归并第一文档与第二文档以生成第三文档的框图;
图6是用于实现本发明的各方面的示例性计算系统;
图7示出归并第一文档与第二文档以生成第三文档的示例方法;
图8示出向文档的每一数据单元分配并存储单元标识符和编辑标识符的示例方法;以及
图9示出归并第一文档与第二文档以生成归并文档的另一示例方法。
详细描述
本发明现将参考其中示出了各具体实施例的附图来更完整地描述各示例性实施例。然而,其他方面能以许多不同的形式来实现,并且在本发明中包括各具体实施例不应被解释为将这些方面限于在此所述的各实施例。相反,包括附图中描绘的各实施例是为了提供全面和完整且将预期的范围完全地传达给本领域技术人员的公开。在参考附图时,使用相同的附图标记来指示所有附图所示的相同的结构和元素。
本发明的各实施例一般涉及文档归并。在一个非限制性示例中,描述了归并第一文档与至少一个第二文档以生成第三文档。第一和第二文档中的每一个包括至少一个数据单元。每一数据单元与单元标识符和编辑标识符相关联。又一些实施例涉及一种文档处理系统。该文档处理系统包括被配置成将至少两个文档归并到一起以生成第三文档的文档处理应用程序。
图1是示例性文档处理系统的框图。文档处理系统100包括文档处理应用程序110和文档120。文档处理应用程序110被配置成将文档120归并到一起以生成归并文档。在替换实施例中,文档处理应用程序110被配置成将三个、四个、或更多文档归并在一起以生成归并文档。
在一个可能的实施例中,文档处理应用程序110是文字处理应用程序,诸如但不限于微软
Figure GPA00001151539800031
Office Word应用程序。在其他可能的实施例中,文档处理系统100是图像、数据、语音、或任何其他合适的文档处理系统。类似地,文档处理应用程序110也可以是图像、数据、语音、或任何其他合适的文档处理应用程序,诸如但不限于微软
Figure GPA00001151539800032
Office
Figure GPA00001151539800033
AccessTM、以及软件应用程序。文档120可以是文本或富文本文档、演示、电子表格、绘图、数据、电子邮件、以及合适格式的任何其他文档。
图2是示出被配置成由图1的示例性文档处理应用程序110来处理的示例性文档120的框图。文档120被分成一个或多个数据单元124。每一数据单元124被分配了在数据单元124的寿命期间持久保持的唯一的单元标识符126。单元标识符126标识文档120中的相关联的数据单元124并将其与文档120中的任何其他数据单元区分开来。
在创建、编辑、或修改数据单元124时,还向数据单元124分配编辑标识符128。具体而言,只要创建、编辑、或修改数据单元124,就向数据单元124分配新编辑标识符128以使新编辑标识符128替换数据单元124的先前编辑标识符(如果有的话)。新编辑标识符128与数据单元124的先前编辑标识符(如果有的话)不同。在一个可能的实施例中,编辑标识符128是随机生成的。
在各示例实施例中,通过使用各种方法将文档120分成各数据单元124。例如,如果文档120是文本文档,则该文档的每一段落可被分成一个独立的数据单元。换言之,在文本文档的示例中,数据单元124也可以被称为段落。在这样的示例中,单元标识符126被称为段落标识符。在其他类型的文档中,可以使用其他方法来将文档120分成各数据单元。例如,可以使用文档内的对象、图形、幻灯片、或其他可选择项来将该文档分成各独立的数据单元。
单元标识符126和编辑标识符128可以是用于标识数据单元124的任何合适的格式。单元标识符126和编辑标识符128的一种可能的示例性格式是数字、字母、和/或符号的组合,如32位整数。本领域技术人员将明白用于单元标识符126和编辑标识符128的许多其他合适的标识符格式。单元标识符126和编辑标识符128可以存储在文档120中、存储在分开的文件中、或存储在任何其他合适的可存储和可访问介质中。存储单元标识符126和编辑标识符128的一些示例性格式以下在图3-4中更详细地讨论。
文档120还包括用于标识文档120的文档标识符122。在一个可能的实施例中,在新创建文档120时向文档120分配文档标识符122。在另一可能的实施例中,在文档120不具有文档标识符时向文档120分配文档标识符122。例如,在文档120先前由不识别单元或编辑标识符的应用程序编辑时向文档120分配文档标识符122。
在将文档标识符122分配给文档120时文档标识符122是唯一且持久的。换言之,文档标识符122在文档120的寿命期间持久保持。即使在编辑和修改文档120时文档标识符122也不改变。另外,在从文档120创建分开的文档时,文档标识符122与该分开的文档留在一起。这可在用户将一文档复制到新文档时或在创建该文档的多个用户副本以允许多个用户编辑同一文档时发生。
图3是示出图2所示的文档120的示例性格式的框图。具体而言,文档120包括内容130和元数据140。文档120存储内容130和元数据140。内容130包括至少一个数据单元124。元数据140包括与每一数据单元124相关联的单元标识符126和编辑标识符128。在创建数据单元124时生成单元标识符126。只要将对数据单元124的修改存储在文档内时就生成编辑标识符128。元数据140被存储在文档120中。
图4是示出除元数据文件150与文档120分开存储之外与图3所示的文档相类似的另一示例性文档120的框图。优选地,元数据文件150包括涉及文档120的内容130的元数据140。元数据文件150的元数据140包括指示元数据140涉及哪一数据单元124的单元标识符126。在一个可能的实施例中,元数据140还可包括编辑标识符128。数据单元124由元数据140中包括的单元标识符126来指示。
图5是示出归并第一文档220与第二文档240以生成第三文档260的框图。第一文档220和第二文档240的示例性结构以上在图1-4中描述。第三文档260是通过归并第一文档220和第二文档240来创建的归并文档。
在图5所示的示例中,第一文档220包括第一文档标识符122a和数据单元124a-c。第一文档标识符122a标识第一文档220。在图5中示出了三个数据单元124a-c,然而,第一文档220可包括多于或少于三个数据单元。关于所示的数据单元124a-c,数据单元124a具有与数据单元124a相关联的单元标识符U1和编辑标识符E1。数据单元124b具有与数据单元124b相关联的单元标识符U2和编辑标识符E20。数据单元124c具有与数据单元124c相关联的单元标识符U3和编辑标识符E3。
类似地,第二文档240包括第二文档标识符122b和数据单元124d-f。第二文档标识符122b标识第二文档240。在图5中示出了三个数据单元124d-f,然而,第二文档240可包括多于或少于三个数据单元。数据单元124d具有与数据单元124d相关联的单元标识符U1和编辑标识符E1。数据单元124e具有与数据单元124e相关联的单元标识符U2和编辑标识符E21。如上所述,第二文档240中的数据单元124e的编辑标识符E21与第一文档220中的数据单元124b的编辑标识符E20不同。数据单元124f具有与数据单元124f相关联的单元标识符U4和编辑标识符E4。
在图5所示的示例性归并中,第一文档220的第一文档标识符122a与第二文档240的第二文档标识符122b相同。因而如以下详细描述的,在加速归并中执行第一文档220和第二文档240。因为第一文档220的第二文档240具有相同的文档标识符,所以第一和第二文档220、240共享共同的源或父文档。如此,可以使用以下描述的加速归并过程中的一个或多个来归并第一文档220与第二文档240。
第一文档220的数据单元124a具有与第二文档240的数据单元124d相同的单元标识符U1和编辑标识符E1。数据单元124a因此被指示为与数据单元124d相同。换言之,数据单元124d未被从数据单元124a改变或修改。因此,数据单元124a和数据单元124d之间不需要归并。相反,数据单元124a(或与数据单元124a相同的数据单元124d)被直接插入到第三文档260,如数据单元124g所示。因为数据单元124a和数据单元124d之间不需要归并,所以归并文档(即第三文档)260中的数据单元124g使单元标识符U1和编辑标识符E1与其保持关联。这一直接插入而不进一步将数据单元124a中的内容与数据单元124d中的内容作比较可以节省时间、提高效率、以及增强归并精度。
数据单元124b与数据单元124e具有相同的单元标识符U2但具有不同的编辑标识符E20、E21。不同的编辑标识符E20、E21指示数据单元124b和数据单元124e是不同的。换言之,需要数据单元124b与数据单元124e之间的归并。因此,第三文档260中的数据单元124h是从数据单元124b与数据单元124e之间的归并生成的。单元标识符U2被保持在数据单元124h中。在两个数据单元124b和124e的归并时创建新编辑标识符E22。
没有发现第一文档220的数据单元124c在第二文档240中拥有具有与数据单元124c的单元标识符U3相匹配的单元标识符的任何数据单元。因此,将数据单元124c直接插入到第三文档260而无需归并,并且在第三文档260中将其标记为数据单元124i。数据单元124i因而包括与数据单元124i相关联的单元标识符U3和编辑标识符E3。第三文档260中的数据单元124i与第一文档220中的数据单元124c完全相同。在一个可能的实施例中,将数据单元124c直接追加到第三文档260的末尾。在另一可能的实施例中,对数据单元124c(没有归并数据单元124c的内容)排序以根据数据单元124a-j之间的关系将其插入到第三文档260的正确位置。
类似地,没有发现第二文档的数据单元124f在第一文档220中拥有具有与数据单元124f的单元标识符U4相匹配的单元标识符的任何数据单元。因此,将数据单元124f直接插入到第三文档260而无需归并,并且在第三文档260中将其标记为数据单元124j。数据单元124j因而包括与数据单元124j相关联的单元标识符U4和编辑标识符E4。第三文档260中的数据单元124j与第二文档240中的数据单元124f完全相同。在一个可能的实施例中,将数据单元124f直接追加到第三文档260的末尾。在另一可能的实施例中,对数据单元124f(没有归并数据单元124f的内容)排序以根据数据单元124a-j之间的关系将其插入到第三文档260的正确位置。
归并文档260因而包括数据单元124g-j。数据单元124g-j中的每一个也与单元标识符和编辑标识符相关联。另外,文档标识符122a(或与122a相同的122b)保留在归并文档260中,并且在图5中被标记为文档标识符122c。
在另一可能的实施例中,如果第一文档220的文档标识符122a与第二文档240的文档标识符122b不同,则在第一文档与第二文档之间执行常规归并。在又一可能的实施例中,如果第一和第二文档220、240中的任一个不具有文档标识符,则将执行常规归并以生成第三文档。
图5中的示例示出将两个文档归并在一起成为经归并的第三文档。然而,其不限于只归并两个文档。相反,本文所示的概念和原理可适用于归并多于两个文档。
图6是用于实现本发明的各方面的示例性计算系统600。例如,计算系统600可以是上述用于创建一个文档和/或归并诸如如上所述的文档220、240等两个或更多个文档的文档处理系统100。在其最基本的配置中,计算系统600通常包括至少一个处理单元602和存储器604。取决于计算系统系统的确切配置和类型,存储器604可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是两者的某种组合。该最基本配置在图6中由虚线606来示出。另外,计算系统600还可具有附加特征/功能。例如,计算机系统600还可包括附加存储(可移动和/或不可移动),包括但不限于磁盘、光盘或磁带。这些附加存储在图6中由可移动存储608和不可移动存储610示出。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储器604、可移动存储608和不可移动存储610都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算系统600访问的任何其他介质。任何这样的计算机存储介质都可以是计算系统600的一部分。
计算系统600还可包含允许该计算系统与其他设备进行通信的通信连接612。通信连接612是通信介质的一个示例。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。如此处所使用的术语“计算机可读介质”包括存储介质和通信介质两者。
计算系统600还可具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等输入设备614。还可包括诸如显示器、扬声器、打印机等输出设备616。所有这些设备在本领域是众知的并且不必在此详细讨论。
在一些实施例中,存储器604包括操作系统620、应用程序622、其他程序模块624和程序数据626中的一个或多个。例如,应用程序622可包括用于创建和/或归并两个或更多个文档的文本或文字处理应用程序。
图7示出归并第一文档与第二文档以生成第三文档的示例方法700。在所示方法中,第一和第二文档中的每一个包括至少一个数据单元。每一数据单元与单元标识符和编辑标识符相关联。文档处理应用程序被配置成将第一和第二文档归并到一起以生成第三文档。如上所述,在一个可能的实施例中,文档是文本文档。
在操作702,文档处理应用程序获得第一文档的数据单元的单元标识符。在一个可能的实施例中,单元标识符被存储在第一文档内。在另一可能的实施例中,单元标识符被存储在与第一文档分开的元数据文件中。
操作流程前进至操作704。在操作704,文档处理应用程序获得第二文档的数据单元的单元标识符。在一个可能的实施例中,单元标识符被存储在第二文档内。在另一可能的实施例中,单元标识符被存储在与第二文档分开的元数据文件中。
操作流程前进至操作706。在操作706,文档处理应用程序将第一和第二文档中的每一个的单元标识符与第一和第二文档中的另一个的单元标识符相比较,以确定这些单元标识符中的每一个是匹配的单元标识符还是非匹配的单元标识符。匹配的单元标识符意味着发现第一文档中的单元标识符与第二文档中的单元标识符相同。这些匹配的单元标识符指示第一和第二文档的对应的数据单元。非匹配的单元标识符意味着没有发现第一和第二文档之一中的一单元标识符与第一和第二文档中的另一个中的任何单元标识符相同。非匹配的单元标识符中的每一个指示第一和第二文档之一的、与第一和第二文档中的另一个的任何数据单元都不相对应的数据单元。
操作流程前进至比较操作708。比较操作708确定第一和第二文档之一中的任何单元标识符是否与第一和第二文档中的另一个中的任何单元标识符相匹配。如果比较操作708确定第一和第二文档之一中的一单元标识符与第一和第二文档中的另一个中的任何单元标识符都不匹配,则操作流程分支“否”并且操作流程前进至操作710。在操作710,将与非匹配的单元标识符相关联的数据单元直接插入到第三文档。
如果比较操作708确定第一和第二文档之一中的一单元标识符与第一和第二文档中的另一个中的任何单元标识符相匹配,则操作流程分支“是”并且操作流程前进至操作712。
在操作712,文档处理应用程序比较与匹配的单元标识符相关联的数据单元的编辑标识符以查明匹配的编辑标识符。匹配的编辑标识符中的每一个指示第一和第二文档之一的一数据单元与第一和第二文档中的另一个的对应数据单元相匹配。另一方面,非匹配的编辑标识符中的每一个指示第一和第二文档之一的一数据单元与第一和第二文档中的另一个的对应数据单元不相匹配。
操作流程前进至比较操作714。比较操作714确定与匹配的单元标识符相关联的数据单元的编辑标识符是否彼此相匹配。如果比较操作708确定编辑标识符彼此相匹配,则操作流程分支“是”并且操作流程前进至操作710。在操作710,将与匹配的单元标识符和匹配的编辑标识符相关联的数据单元直接插入到第三文档。
如果比较操作714确定与匹配的单元标识符相关联的数据单元的编辑标识符彼此不匹配,则操作流程分支“否”并且操作流程前进至操作716。在操作716,将与匹配的单元标识符和非匹配的编辑标识符相关联的数据单元归并到第三文档的数据单元中。这可以例如使用诸如三向归并算法等常规归并过程来完成。还可以使用其他常规归并过程。
图7所示的示例示出将两个文档归并在一起成为经归并的第三文档的方法。然而,其不限于归并两个文档。相反,本文所示的概念和原理可适用于归并多于两个文档。
图8示出向文档的每一数据单元分配并存储单元标识符和编辑标识符的示例方法800。具体而言,在操作802,向文档的每一数据单元分配单元标识符。单元标识符是唯一且持久的。单元标识符在数据单元的寿命期间持久保持。单元标识符标识文档中的相关联的数据单元并将其与文档中的任何其他数据单元区分开来。
操作流程前进至操作804。在操作804,将单元标识符存储在文档内。在一个可能的实施例中,单元标识符被存储在文档内的元数据中。在另一可能的实施例中,单元标识符被存储在与文档分开的元数据文件中。
操作流程前进至操作806。在操作806,只要创建或编辑文档的每一数据单元就向该数据单元分配编辑标识符。因此,编辑标识符指示数据单元是新创建的还是被编辑的。编辑标识符与单元标识符分开。在向数据单元分配编辑标识符时,新分配的编辑标识符与该数据单元的先前编辑标识符(如果有的话)不同并替换它。在一个可能的实施例中,编辑标识符是随机生成的。换言之,编辑标识符可以使用随机标识符来分配。
操作流程前进至操作808。在操作808,将编辑标识符存储在文档内。在一个可能的实施例中,编辑标识符被存储在文档内的元数据中。在另一可能的实施例中,编辑标识符被存储在与文档分开的元数据文件中。在又一可能的实施例中,在用户保存文档时,编辑标识符与其一起存储。
图9示出归并第一文档与第二文档以生成归并文档的另一示例方法900。文档处理应用程序被配置成将第一和第二文档归并到一起以生成归并文档。方法900具体地示出如何处理可能不具有与第一和/或第二文档相关联的文档标识符的第一和第二文档。换言之,在一个可能的实施例中,方法900示出如何逆行处理由文档处理应用程序的先前版本所创建和/或编辑的文档。方法900示出文档处理应用程序如何处理与先前应用程序版本的文档向后兼容性。
操作流程在操作902开始。操作902确定第一文档是否具有与该第一文档相关联的第一文档标识符。如果操作902确定第一文档不具有与其相关联的第一文档标识符,则操作流程分支“否”并且操作流程前进至操作914(在以下详细讨论)。如果操作902确定第一文档具有与该第一文档相关联的第一文档标识符,则操作流程分支“是”并且操作流程前进至操作904。在操作904,从第一文档获得第一文档标识符。
操作流程前进至操作906。操作906确定第二文档是否具有与该第二文档相关联的第二文档标识符。如果操作906确定第二文档不具有与该第二文档相关联的第二文档标识符,则操作流程分支“否”并且操作流程前进至操作914。如果操作906确定第二文档具有与该第二文档相关联的第二文档标识符,则操作流程分支“是”并且操作流程前进至操作908。在操作908,从第二文档获得第二文档标识符。
操作流程前进至比较操作910。比较操作910确定第一文档的第一文档标识符与第二文档的第二文档标识符是否相匹配。如果比较操作910确定第一文档的第一文档标识符与第二文档的第二文档标识符相匹配,则操作流程分支“是”并且操作流程前进至操作912。在操作912,如以上在图7-8讨论的,执行加速文档归并。如果比较操作910确定第一文档的第一文档标识符与第二文档的第二文档标识符不相匹配,则操作流程分支“否”并且操作流程前进至操作914。在操作914,执行常规文档归并。
在常规文档归并在操作914完成之后,操作流程前进至操作916。在操作916,向归并文档分配文档标识符。文档标识符是唯一且持久的。文档标识符在归并文档的寿命期间持久保持。
操作流程前进至操作918。在操作918,向归并文档中的每一数据单元分配在数据单元的寿命期间持久保持的唯一单元标识符。单元标识符标识归并文档中的相关联的数据单元并将其与归并文档中的任何其他数据单元区分开来。
操作流程前进至操作920。在操作920,将单元标识符存储在归并文档内。在一个可能的实施例中,将单元标识符存储在文档内的元数据中。在另一可能的实施例中,单元标识符被存储在与归并文档分开的元数据文件中。
操作流程前进至操作922。在操作922,向数据单元中的每一个分配编辑标识符。编辑标识符指示数据单元是新创建的还是被编辑的。编辑标识符与单元标识符分开。
操作流程前进至操作924。在操作924,将编辑标识符存储在归并文档内。在一个可能的实施例中,编辑标识符被存储在归并文档内的元数据中。在另一可能的实施例中,编辑标识符被存储在与归并文档分开的元数据文件中。在又一可能的实施例中,在用户保存文档时,存储编辑标识符。另外,编辑标识符可以使用随机标识符来分配。
在操作916-924之后,将归并文档转换成准备好在稍后编辑和/或复制该归并文档时进行加速归并的文档。例如,如果归并文档被一个用户修改成第四文档并且被另一用户修改成第五文档,则可以用上述加速归并方法来归并该第四文档和第五文档。
图9所示的示例示出将两个文档归并在一起成为经归并的第三文档的方法。然而,其不限于只归并两个文档。相反,本文所示的概念和原理可适用于归并多于两个文档。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (20)

1.一种归并第一文档(220)与至少一个第二文档(240)以生成第三文档(260)的方法,所述第一和第二文档(220、240)中的每一个包括一个或多个数据单元(124a、124b、124c、124d、124e、124f),每一数据单元(124a、124b、124c、124d、124e、124f)与单元标识符(U1、U2、U3、U4)和编辑标识符(E1、E3、E4、E20、E21)相关联;所述单元标识符标识文档中的相关联的数据单元并将其与文档中的任何其他数据单元区分开来;只要创建、编辑、或修改数据单元,就向数据单元分配新编辑标识符以使新编辑标识符替换数据单元的先前编辑标识符,所述方法包括:
获得所述第一文档(220)的数据单元(124a、124b、124c)的单元标识符(U1、U2、U3);
获得所述第二文档(240)的数据单元(124d、124e、124f)的单元标识符(U1、U2、U4);
将所述第一和第二文档(220、240)中的每一个的单元标识符(U1、U2、U3、U4)与所述第一和第二文档(220、240)中的另一个的单元标识符(U1、U2、U3、U4)相比较以确定所述单元标识符(U1、U2、U3、U4)中的每一个是匹配的单元标识符还是非匹配的单元标识符,其中所述匹配的单元标识符中的每一个指示所述第一和第二文档(220、240)的对应的数据单元(124a、124b、124c、124d、124e、124f),并且其中所述非匹配的单元标识符中的每一个指示所述第一和第二文档(220、240)之一的、与所述第一和第二文档(220、240)中的另一个的任何数据单元(124a、124b、124c、124d、124e、124f)都不相对应的数据单元(124a、124b、124c、124d、124e、124f);
比较与所述匹配的单元标识符相关联的数据单元(124a、124b、124c、124d、124e、124f)的编辑标识符(E1、E3、E4、E20、E21)以查明匹配的编辑标识符,所述匹配的编辑标识符中的每一个指示所述第一和第二文档(220、240)之一的数据单元(124a、124b、124c、124d、124e、124f)与所述第一和第二文档(220、240)中的另一个的对应数据单元(124a、124b、124c、124d、124e、124f)相匹配;
将所述第一和第二文档(220、240)的、与非匹配的单元标识符相关联的数据单元(124a、124b、124c、124d、124e、124f)直接插入到所述第三文档(260);
将所述第一和第二文档(220、240)的、与匹配的单元标识符和匹配的编辑标识符相关联的数据单元(124a、124b、124c、124d、124e、124f)直接插入到所述第三文档(260);以及
将所述第一和第二文档(220、240)的、与匹配的单元标识符和非匹配的编辑标识符相关联的数据单元(124a、124b、124c、124d、124e、124f)归并到所述第三文档(260)。
2.如权利要求1所述的方法,其特征在于,还包括:
向所述第一文档的每一数据单元分配单元标识符;以及
将所述单元标识符存储在所述第一文档内。
3.如权利要求1所述的方法,其特征在于,还包括:
向所述第一文档的每一数据单元分配编辑标识符;以及
将所述编辑标识符存储在所述第一文档内。
4.如权利要求3所述的方法,其特征在于,存储所述编辑标识符包括在用户保存所述第一文档时存储所述编辑标识符。
5.如权利要求3所述的方法,其特征在于,分配所述编辑标识符包括生成随机标识符。
6.如权利要求1所述的方法,其特征在于,获得所述第一文档的数据单元的单元标识符包括获得所述第一文档的各段落的段落标识符。
7.一种文档处理方法(100),包括:
处理第一文档(120),所述第一文档(120)存储内容(130)和元数据(140),所述第一文档(120)的内容(130)包括至少一个数据单元(124),所述第一文档(120)的元数据(140)包括与每一数据单元相关联的单元标识符(126)和编辑标识符(128),每一数据单元的单元标识符(126)在创建该数据单元(124)时生成,每一数据单元的编辑标识符(128)在保存对该数据单元(124)的修改时生成。
8.如权利要求7所述的文档处理方法,其特征在于,还包括在创建每一数据单元时生成该数据单元的单元标识符。
9.如权利要求7所述的文档处理方法,其特征在于,还包括在将所述修改存储在所述第一文档内时生成每一数据单元的编辑标识符。
10.如权利要求7所述的文档处理方法,其特征在于,还包括:
与所述第一文档分开存储元数据文件,所述元数据文件包括涉及所述第一文档的内容的元数据,所述元数据文件的元数据包括指示所述元数据涉及哪一数据单元的单元标识符。
11.如权利要求10所述的文档处理方法,其特征在于,存储在所述元数据文件中的元数据与所述元数据中包括的单元标识符所指示的数据单元相关联。
12.如权利要求7所述的文档处理方法,其特征在于,还包括将所述第一文档的单元标识符与第二文档的单元标识符相比较以确定所述单元标识符中的每一个是匹配的单元标识符还是非匹配的单元标识符,其中所述匹配的单元标识符中的每一个指示所述第一和第二文档的对应的数据单元,并且其中所述非匹配的单元标识符指示所述第一和第二文档之一的、与所述第一和第二文档中的另一个的任何数据单元都不相对应的数据单元。
13.如权利要求12所述的文档处理方法,其特征在于,还包括比较与所述匹配的单元标识符相关联的数据单元的编辑标识符以查明匹配的编辑标识符,所述匹配的编辑标识符中的每一个指示所述第一和第二文档之一的一数据单元与所述第一和第二文档中的另一个的对应的数据单元相匹配。
14.如权利要求7所述的文档处理方法,其特征在于,所述文档是文本文档。
15.如权利要求7所述的文档处理方法,其特征在于,所述数据单元是段落。
16.一种用于实现一种从第一文档(220)和第二文档(240)生成归并文档(260)的方法,所述方法包括:
确定所述第一文档(220)是否具有第一文档标识符(U1、U2、U3),所述第一文档标识符(U1、U2、U3)标识所述第一文档(220);
如果所述第一文档(220)具有第一文档标识符(U1、U2、U3),则获得所述第一文档标识符(U1、U2、U3);
确定所述第二文档(240)是否具有第二文档标识符(U1、U2、U4),所述第二文档标识符(U1、U2、U4)标识所述第二文档(240);
如果所述第二文档(220)具有第二文档标识符(U1、U2、U4),则获得所述第二文档标识符(U1、U2、U4);
将所述第一文档(220)的第一文档标识符(U1、U2、U3)与所述第二文档(240)的第二文档标识符(U1、U2、U4)相比较;
如果所述第一和第二文档(220、240)中的任一个不具有文档标识符(U1、U2、U3、U4),则执行所述第一和第二文档(220、240)的常规归并以生成所述归并文档(260);
如果所述第一文档(220)的第一文档标识符(U1、U2、U3)与所述第二文档(240)的第二文档标识符(U1、U2、U4)不同,则执行所述第一和第二文档(220、240)的常规归并以生成所述归并文档(260);以及
如果所述第一文档(220)的第一文档标识符(U1、U2、U3)与所述第二文档(240)的第二文档标识符(U1、U2、U4)相匹配,则执行所述第一和第二文档(220、240)的加速归并以生成所述归并文档(260);
其中执行所述加速归并包括:
通过比较所述第一文档的每一数据单元的唯一持久标识符与所述第二文档的每一数据单元的唯一持久标识符来标识所述第一文档的哪些数据单元与所述第二文档的数据单元相匹配;
将所标识的数据单元直接插入到所述归并文档以创建所述归并文档的数据单元;以及
使用常规归并来归并所述第一和第二文档之一的、与所述第一和第二文档中的另一个的任何数据单元都不相匹配的每一数据单元,以进一步创建所述归并文档的数据单元。
17.如权利要求16所述的方法,其特征在于,所述方法还包括:
如果所述第一和第二文档中的任一个不具有文档标识符,则向所述归并文档的数据单元中的每一个添加唯一持久标识符;以及
如果所述第一文档的文档标识符与所述第二文档的文档标识符不同,则向所述归并文档的数据单元中的每一个添加唯一持久标识符。
18.如权利要求17所述的方法,其特征在于,向所述归并文档的数据单元中的每一个添加唯一持久标识符包括将所述唯一持久标识符存储在所述归并文档内。
19.如权利要求16所述的方法,其特征在于,比较所述第一文档的每一数据单元的唯一持久标识符与所述第二文档的每一数据单元的唯一持久标识符包括:
将所述第一文档的每一数据单元的单元标识符和编辑标识符与所述第二文档的每一数据单元的单元标识符和编辑标识符进行比较。
20.一种用于实现一种从第一文档(220)和第二文档(240)生成归并文档(260)的系统,所述系统包括:
用于确定所述第一文档(220)是否具有第一文档标识符(U1、U2、U3)的装置,所述第一文档标识符(U1、U2、U3)标识所述第一文档(220);
如果所述第一文档(220)具有第一文档标识符(U1、U2、U3),用于获得所述第一文档标识符(U1、U2、U3)的装置;
用于确定所述第二文档(240)是否具有第二文档标识符(U1、U2、U4)的装置,所述第二文档标识符(U1、U2、U4)标识所述第二文档(240);
如果所述第二文档(220)具有第二文档标识符(U1、U2、U4),用于获得所述第二文档标识符(U1、U2、U4)的装置;
用于将所述第一文档(220)的第一文档标识符(U1、U2、U3)与所述第二文档(240)的第二文档标识符(U1、U2、U4)相比较的装置;
如果所述第一和第二文档(220、240)中的任一个不具有文档标识符(U1、U2、U3、U4),用于执行所述第一和第二文档(220、240)的常规归并以生成所述归并文档(260)的装置;
如果所述第一文档(220)的第一文档标识符(U1、U2、U3)与所述第二文档(240)的第二文档标识符(U1、U2、U4)不同,用于执行所述第一和第二文档(220、240)的常规归并以生成所述归并文档(260)的装置;以及
如果所述第一文档(220)的第一文档标识符(U1、U2、U3)与所述第二文档(240)的第二文档标识符(U1、U2、U4)相匹配,用于执行所述第一和第二文档(220、240)的加速归并以生成所述归并文档(260)的装置;
其中用于执行所述加速归并的装置包括:
用于通过比较所述第一文档的每一数据单元的唯一持久标识符与所述第二文档的每一数据单元的唯一持久标识符来标识所述第一文档的哪些数据单元与所述第二文档的数据单元相匹配的装置;
用于将所标识的数据单元直接插入到所述归并文档以创建所述归并文档的数据单元的装置;以及
用于使用常规归并来归并所述第一和第二文档之一的、与所述第一和第二文档中的另一个的任何数据单元都不相匹配的每一数据单元,以进一步创建所述归并文档的数据单元的装置。
CN2008801196479A 2007-12-06 2008-11-18 文档归并 Expired - Fee Related CN101889276B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/951,973 2007-12-06
US11/951,973 US8028229B2 (en) 2007-12-06 2007-12-06 Document merge
PCT/US2008/083862 WO2009076010A1 (en) 2007-12-06 2008-11-18 Document merge

Publications (2)

Publication Number Publication Date
CN101889276A CN101889276A (zh) 2010-11-17
CN101889276B true CN101889276B (zh) 2013-06-19

Family

ID=40722707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801196479A Expired - Fee Related CN101889276B (zh) 2007-12-06 2008-11-18 文档归并

Country Status (12)

Country Link
US (1) US8028229B2 (zh)
EP (1) EP2215560A4 (zh)
JP (1) JP5502745B2 (zh)
KR (1) KR101726879B1 (zh)
CN (1) CN101889276B (zh)
AU (1) AU2008335565B2 (zh)
BR (1) BRPI0819718A2 (zh)
MX (1) MX2010005934A (zh)
MY (1) MY157581A (zh)
RU (1) RU2481624C2 (zh)
TW (1) TWI379208B (zh)
WO (1) WO2009076010A1 (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5211557B2 (ja) * 2007-06-15 2013-06-12 富士通株式会社 Web会議支援プログラム、該プログラムを記録した記録媒体、Web会議支援装置、およびWeb会議支援方法
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8150842B2 (en) * 2007-12-12 2012-04-03 Google Inc. Reputation of an author of online content
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US8301588B2 (en) 2008-03-07 2012-10-30 Microsoft Corporation Data storage for file updates
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8429753B2 (en) 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US8417666B2 (en) 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US8656290B1 (en) * 2009-01-08 2014-02-18 Google Inc. Realtime synchronized document editing by multiple users
US9396279B1 (en) * 2009-02-17 2016-07-19 Jpmorgan Chase Bank, Na Collaborative virtual markup
US8346768B2 (en) 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents
US20100310192A1 (en) * 2009-06-05 2010-12-09 Anjaneyulu Seetha Rama Kuchibhotla Document storage system
JP2011039997A (ja) * 2009-08-18 2011-02-24 Fuji Xerox Co Ltd 情報処理装置及びコンピュータプログラム
US8286077B2 (en) * 2009-12-03 2012-10-09 Microsoft Corporation Remote batch editing of formatted text via an HTML editor
JP5602424B2 (ja) 2009-12-24 2014-10-08 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
CN101729671A (zh) * 2009-12-31 2010-06-09 宇龙计算机通信科技(深圳)有限公司 一种终端、备份文件管理的方法及系统
US20110246340A1 (en) * 2010-04-02 2011-10-06 Tracelink, Inc. Method and system for collaborative execution of business processes
US20110258534A1 (en) * 2010-04-16 2011-10-20 Microsoft Corporation Declarative definition of complex user interface state changes
US8875139B2 (en) * 2010-07-30 2014-10-28 Mavro Imaging, Llc Method and process for tracking documents by monitoring each document's electronic processing status and physical location
WO2012061297A1 (en) 2010-11-02 2012-05-10 Google Inc. Realtime synchronized document editing by multiple users for blogging
US11611595B2 (en) 2011-05-06 2023-03-21 David H. Sitrick Systems and methodologies providing collaboration among a plurality of computing appliances, utilizing a plurality of areas of memory to store user input as associated with an associated computing appliance providing the input
US10402485B2 (en) 2011-05-06 2019-09-03 David H. Sitrick Systems and methodologies providing controlled collaboration among a plurality of users
US20130036348A1 (en) * 2011-06-27 2013-02-07 Hazard James G Systems and Methods for Identifying a Standard Document Component in a Community and Generating a Document Containing the Standard Document Component
CN102323927A (zh) * 2011-07-29 2012-01-18 无锡永中软件有限公司 一种文档合并方法
US9229919B1 (en) * 2012-03-19 2016-01-05 Apttex Corporation Reconciling smart fields
US10013429B2 (en) 2012-03-29 2018-07-03 Tracelink, Inc. Computer-implemented methods and systems for facilitating business-to-business transactions on a collaborative business network and for system integration message routing and identifier mapping utilizing a shared workspace mechanism
US9411844B2 (en) 2012-03-29 2016-08-09 Tracelink, Inc. Methods and systems for managing distributed concurrent data updates of business objects
KR101397754B1 (ko) * 2012-08-06 2014-05-21 지승환 전자적 서적의 통합 제공방법
US20140082473A1 (en) * 2012-09-14 2014-03-20 David H. Sitrick Systems And Methodologies Of Event Content Based Document Editing, Generating Of Respective Events Comprising Event Content, Then Defining A Selected Set Of Events, And Generating Of A Display Presentation Responsive To Processing Said Selected Set Of Events, For One To Multiple Users
US20140082472A1 (en) * 2012-09-14 2014-03-20 David H. Sitrick Systems And Methodologies For Event Processing Of Events For Edits Made Relative To A Presentation, Selecting A Selected Set Of Events; And Generating A Modified Presentation Of The Events In The Selected Set
US9946691B2 (en) * 2013-01-30 2018-04-17 Microsoft Technology Licensing, Llc Modifying a document with separately addressable content blocks
US9460073B2 (en) * 2013-02-27 2016-10-04 Google Inc. Systems and methods for mutations and operational transforms in a collaborative spreadsheet environment
CN103729464A (zh) * 2014-01-15 2014-04-16 北京神州普惠科技股份有限公司 一种报告文档的汇总方法
JP2015158729A (ja) * 2014-02-21 2015-09-03 東芝テック株式会社 情報提供装置、及び、情報提供プログラム
US10318618B2 (en) * 2014-06-18 2019-06-11 Microsoft Technology Licensing, Llc Consistent views of partitioned data in eventually consistent systems
GB2529172A (en) * 2014-08-12 2016-02-17 Ibm Functional component history tracking
US10044662B1 (en) 2014-11-18 2018-08-07 Amazon Technologies, Inc. Email conversation linking
US11902232B1 (en) * 2014-11-18 2024-02-13 Amazon Technologies, Inc. Email conversation linking
US11093125B1 (en) 2014-12-09 2021-08-17 Amazon Technologies, Inc. Email conversation linking
US10078478B2 (en) * 2015-09-29 2018-09-18 Ricoh Company, Ltd. Merging print data and metadata for a print job processed in a print workflow
CN106020677A (zh) * 2016-04-27 2016-10-12 努比亚技术有限公司 一种信息处理方法及移动终端
TWI621952B (zh) * 2016-12-02 2018-04-21 財團法人資訊工業策進會 比較表格自動產生方法、裝置及其電腦程式產品
US10528342B2 (en) 2017-10-16 2020-01-07 Western Digital Technologies, Inc. Function tracking for source code files
CN108021702A (zh) * 2017-12-26 2018-05-11 百度在线网络技术(北京)有限公司 基于LSM-tree的分级存储方法、装置、OLAP数据库系统及介质
US11334644B2 (en) * 2019-08-14 2022-05-17 Christopher J. Jerdonek Methods and systems for three-way merges of object representations
KR102172732B1 (ko) * 2019-08-31 2020-11-02 한화시스템 주식회사 용량 단위의 pdf 문서 변환 장치 및 방법
US10922469B1 (en) * 2020-06-30 2021-02-16 Cadence Design Systems, Inc. Methods and systems of enabling concurrent editing of hierarchical electronic circuit layouts
KR102538108B1 (ko) * 2023-03-24 2023-05-30 주식회사 올빅뎃 인공지능을 활용한 문서 구조 정보 추출 및 문서 병합 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757678B2 (en) * 2001-04-12 2004-06-29 International Business Machines Corporation Generalized method and system of merging and pruning of data trees

Family Cites Families (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US761784A (en) * 1903-10-30 1904-06-07 Henry M Quackenbush Target.
US4855580A (en) * 1987-11-20 1989-08-08 Recognition Equipment Incorporated Data merge document processing method
US5107443A (en) * 1988-09-07 1992-04-21 Xerox Corporation Private regions within a shared workspace
US5799320A (en) * 1989-08-23 1998-08-25 John R. Klug Remote multiple-user editing system and method
US5142619A (en) * 1990-02-21 1992-08-25 International Business Machines Corporation Method and apparatus for visually comparing files in a data processing system
CA2039652C (en) * 1990-05-30 1996-12-24 Frank Zdybel, Jr. Hardcopy lossless data storage and communications for electronic document processing systems
US5313394A (en) * 1990-12-11 1994-05-17 Barbara Clapp Document assembly customization system for modifying a source instrument including text and decisional commands
US5671428A (en) 1991-08-28 1997-09-23 Kabushiki Kaisha Toshiba Collaborative document processing system with version and comment management
US5339389A (en) * 1991-12-31 1994-08-16 International Business Machines Corporation User selectable lock regions
JPH0827754B2 (ja) 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
US5555388A (en) 1992-08-20 1996-09-10 Borland International, Inc. Multi-user system and methods providing improved file management by reading
US6009420A (en) 1992-10-05 1999-12-28 Expert Systems Publishing Co. Computer-implemented decision management system with dynamically generated questions and answer choices
US5579223A (en) * 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
JP3053153B2 (ja) * 1993-09-20 2000-06-19 株式会社日立製作所 文書管理システムのアプリケーション起動方法
US6760840B1 (en) * 1994-03-15 2004-07-06 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US6181837B1 (en) * 1994-11-18 2001-01-30 The Chase Manhattan Bank, N.A. Electronic check image storage and retrieval system
US5751958A (en) * 1995-06-30 1998-05-12 Peoplesoft, Inc. Allowing inconsistency in a distributed client-server application
US5729734A (en) 1995-11-03 1998-03-17 Apple Computer, Inc. File privilege administration apparatus and methods
US6006239A (en) 1996-03-15 1999-12-21 Microsoft Corporation Method and system for allowing multiple users to simultaneously edit a spreadsheet
US5781732A (en) * 1996-06-20 1998-07-14 Object Technology Licensing Corp. Framework for constructing shared documents that can be collaboratively accessed by multiple users
US5787262A (en) * 1996-06-26 1998-07-28 Microsoft Corporation System and method for distributed conflict resolution between data objects replicated across a computer network
US6202085B1 (en) * 1996-12-06 2001-03-13 Microsoft Corportion System and method for incremental change synchronization between multiple copies of data
US6708221B1 (en) * 1996-12-13 2004-03-16 Visto Corporation System and method for globally and securely accessing unified information in a computer network
US6065026A (en) * 1997-01-09 2000-05-16 Document.Com, Inc. Multi-user electronic document authoring system with prompted updating of shared language
JP2996197B2 (ja) 1997-02-14 1999-12-27 日本電気株式会社 文書共有管理方法
US6233600B1 (en) 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6209010B1 (en) * 1997-07-18 2001-03-27 Varis Corporation Computer implemented method for wrapping data to an arbitrary path defined by a page description language
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US5946700A (en) * 1997-10-31 1999-08-31 Oracle Corporation Method and apparatus for preserving non-current information that can be overwritten in a computer file
US6327611B1 (en) 1997-11-12 2001-12-04 Netscape Communications Corporation Electronic document routing system
US6067551A (en) * 1997-11-14 2000-05-23 Microsoft Corporation Computer implemented method for simultaneous multi-user editing of a document
US6073161A (en) * 1997-12-16 2000-06-06 International Business Machines Corporation Method and apparatus for determining editing conflicts in a multi-authoring system
US6000945A (en) 1998-02-09 1999-12-14 Educational Testing Service System and method for computer based test assembly
US6088702A (en) * 1998-02-25 2000-07-11 Plantz; Scott H. Group publishing system
US6275935B1 (en) * 1998-04-17 2001-08-14 Thingworld.Com, Llc Systems and methods for locking interactive objects
US6209128B1 (en) * 1998-06-05 2001-03-27 International Business Machines Corporation Apparatus and method for providing access to multiple object versions
US6341291B1 (en) * 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US6363352B1 (en) * 1998-11-13 2002-03-26 Microsoft Corporation Automatic scheduling and formation of a virtual meeting over a computer network
US6342906B1 (en) * 1999-02-02 2002-01-29 International Business Machines Corporation Annotation layer for synchronous collaboration
US6687878B1 (en) * 1999-03-15 2004-02-03 Real Time Image Ltd. Synchronizing/updating local client notes with annotations previously made by other clients in a notes database
US7007235B1 (en) * 1999-04-02 2006-02-28 Massachusetts Institute Of Technology Collaborative agent interaction control and synchronization system
US6317777B1 (en) 1999-04-26 2001-11-13 Intel Corporation Method for web based storage and retrieval of documents
US6438548B1 (en) * 1999-06-30 2002-08-20 International Business Machines Corporation Method of and system for managing documents in a bandwidth constrained environment
US6327584B1 (en) 1999-07-30 2001-12-04 Hewlett-Packard Company Apparatus and method for using version control to dynamically update files while the files are available for access
US6560620B1 (en) * 1999-08-03 2003-05-06 Aplix Research, Inc. Hierarchical document comparison system and method
JP3915331B2 (ja) * 1999-08-10 2007-05-16 富士ゼロックス株式会社 共有ドキュメントの編集装置及び編集方法
US6516339B1 (en) 1999-08-18 2003-02-04 International Business Machines Corporation High performance client/server editor
JP2001092707A (ja) 1999-09-24 2001-04-06 Nec Corp 情報処理システム、構造化文書処理システム、その更新方法及びその更新プログラムを記録した記録媒体
AU3267901A (en) 1999-11-05 2001-05-14 Attivo Software, Inc. Action communication and synchronization for documents accessed by multiple users
US6751618B1 (en) * 1999-11-24 2004-06-15 Unisys Corporation Method and apparatus for a web application server to upload multiple files and invoke a script to use the files in a single browser request
WO2001045015A1 (en) * 1999-12-16 2001-06-21 Perimed Compliance Corporation System and method for electronic archiving and retrieval of medical documents
US6529905B1 (en) * 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
JP3879350B2 (ja) * 2000-01-25 2007-02-14 富士ゼロックス株式会社 構造化文書処理システム及び構造化文書処理方法
KR100331685B1 (ko) 2000-04-04 2002-04-09 오길록 문서 공동 편집 장치 및 그 방법
WO2001088750A1 (en) * 2000-05-16 2001-11-22 Carroll Garrett O A document processing system and method
US6931592B1 (en) * 2000-05-22 2005-08-16 Microsoft Corporation Reviewing and merging electronic documents
WO2002017115A2 (en) * 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
US7080076B1 (en) * 2000-11-28 2006-07-18 Attenex Corporation System and method for efficiently drafting a legal document using an authenticated clause table
US7058663B2 (en) * 2001-03-13 2006-06-06 Koninklijke Philips Electronics, N.V. Automatic data update
US7409424B2 (en) * 2001-04-24 2008-08-05 Parker James A Electronic mail file access system
US7117278B2 (en) * 2001-07-12 2006-10-03 Sun Micro Systems, Inc. Method for merging a plurality of data streams into a single data stream
US7149776B1 (en) 2001-08-31 2006-12-12 Oracle International Corp. System and method for real-time co-browsing
US20040205539A1 (en) * 2001-09-07 2004-10-14 Mak Mingchi Stephen Method and apparatus for iterative merging of documents
US20030097410A1 (en) * 2001-10-04 2003-05-22 Atkins R. Travis Methodology for enabling multi-party collaboration across a data network
JP2003150586A (ja) * 2001-11-12 2003-05-23 Ntt Docomo Inc 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4215425B2 (ja) * 2001-11-21 2009-01-28 日本電気株式会社 文章管理システム、その管理方法及びそのプログラム
KR100437790B1 (ko) 2001-12-05 2004-06-30 엘지전자 주식회사 건조세탁기
US6711718B2 (en) * 2001-12-10 2004-03-23 Charles Pfeil Parallel electronic design automation: distributed simultaneous editing
US7496841B2 (en) 2001-12-17 2009-02-24 Workshare Technology, Ltd. Method and system for document collaboration
US7475242B2 (en) * 2001-12-18 2009-01-06 Hewlett-Packard Development Company, L.P. Controlling the distribution of information
EA007776B1 (ru) * 2001-12-21 2007-02-27 Эли Абир Способ и устройство для преобразования контента
US20030159105A1 (en) * 2002-02-21 2003-08-21 Hiebert Steven P. Interpretive transformation system and method
US7340534B2 (en) 2002-03-05 2008-03-04 Sun Microsystems, Inc. Synchronization of documents between a server and small devices
US7200668B2 (en) * 2002-03-05 2007-04-03 Sun Microsystems, Inc. Document conversion with merging
WO2003107629A2 (en) * 2002-06-01 2003-12-24 Engedi Technologies, Inc. Out-of-band remote management station
US20040068505A1 (en) * 2002-10-04 2004-04-08 Chung-I Lee System and method for synchronously editing a file on different client computers
US7328243B2 (en) * 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
DE10250842B4 (de) * 2002-10-31 2010-11-11 OCé PRINTING SYSTEMS GMBH Verfahren, Computerprogrammprodukt und Vorrichtung zum Verarbeiten eines Dokumentendatenstroms eines Eingangsformates zu einem Ausgangsformat
US7954043B2 (en) * 2002-12-02 2011-05-31 International Business Machines Corporation Concurrent editing of a file by multiple authors
US7209948B2 (en) * 2002-12-20 2007-04-24 International Business Machines, Corporation Collaborative review of distributed content
KR100462839B1 (ko) * 2002-12-24 2004-12-23 한국전자통신연구원 모바일 환경에서의 이동 클라이언트와 서버간의 데이터동기화 및 갱신 충돌 해결 방법
US7337388B2 (en) * 2003-01-02 2008-02-26 Microsoft Corporation Tool-based iterative document management
US8706760B2 (en) 2003-02-28 2014-04-22 Microsoft Corporation Method to delay locking of server files on edit
US20060259524A1 (en) 2003-03-17 2006-11-16 Horton D T Systems and methods for document project management, conversion, and filing
US7290251B2 (en) * 2003-05-16 2007-10-30 Microsoft Corporation Method and system for providing a representation of merge conflicts in a three-way merge operation
US20040230893A1 (en) 2003-05-16 2004-11-18 Dethe Elza Method and system for enabling collaborative authoring of hierarchical documents with node privileges
SG144930A1 (en) * 2003-07-08 2008-08-28 Us Lynx Llc An automated publishing system that facilitates collaborative editing and accountability through virtual document architecture
AU2003903994A0 (en) * 2003-07-31 2003-08-14 Canon Kabushiki Kaisha Collaborative editing with automatic layout
US7363581B2 (en) * 2003-08-12 2008-04-22 Accenture Global Services Gmbh Presentation generator
US7143117B2 (en) * 2003-09-25 2006-11-28 International Business Machines Corporation Method, system, and program for data synchronization by determining whether a first identifier for a portion of data at a first source and a second identifier for a portion of corresponding data at a second source match
US7185277B1 (en) * 2003-10-24 2007-02-27 Microsoft Corporation Method and apparatus for merging electronic documents containing markup language
WO2005043279A2 (en) 2003-10-31 2005-05-12 Disksites Research And Development Ltd. Device, system and method for storage and access of computer files
CA2547468A1 (en) * 2003-11-04 2005-05-19 Taskport, Inc. Method and system for collaboration
US7839532B2 (en) * 2003-12-12 2010-11-23 Ipro Tech, Inc. Methods and apparatus for imaging documents
US7225189B1 (en) * 2004-02-19 2007-05-29 Microsoft Corporation Data source write back and offline data editing and storage in a spreadsheet
JP2005267021A (ja) 2004-03-17 2005-09-29 Ricoh Co Ltd 文書作成方法、文書作成装置、プログラム、記憶媒体および文書のデータ構造
US7818679B2 (en) 2004-04-20 2010-10-19 Microsoft Corporation Method, system, and apparatus for enabling near real time collaboration on an electronic document through a plurality of computer systems
JP2005309745A (ja) * 2004-04-21 2005-11-04 Nec Corp オリジナル画像文書情報と追記情報とを管理する文書管理ネットワークシステム、画像文書配信サーバ
WO2005103935A1 (en) * 2004-04-26 2005-11-03 Creo Inc. Systems and methods for comparing documents containing graphic elements
US7536636B2 (en) * 2004-04-26 2009-05-19 Kodak Graphic Communications Canada Company Systems and methods for comparing documents containing graphic elements
EP1751677A2 (en) * 2004-05-19 2007-02-14 Universität Zürich Computer-based system and computer program product for collaborative editing of documents
US7603357B1 (en) 2004-06-01 2009-10-13 Adobe Systems Incorporated Collaborative asset management
JP4716709B2 (ja) * 2004-06-10 2011-07-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 構造化文書処理装置、構造化文書処理方法、及びプログラム
JP4069905B2 (ja) 2004-06-28 2008-04-02 コニカミノルタビジネステクノロジーズ株式会社 共有ファイル管理システムおよびサーバー
US7487471B2 (en) * 2004-07-23 2009-02-03 Sap Ag User interface for conflict resolution management
KR101138434B1 (ko) * 2004-08-31 2012-04-26 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 실시간 통신 플랫폼에 기반하여 네트워크 하드디스크를실행하는 시스템 및 그 방법
US20060053194A1 (en) * 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US20060080432A1 (en) 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US20060053195A1 (en) * 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US7392243B2 (en) * 2004-10-20 2008-06-24 Microsoft Corporation Using permanent identifiers in documents for change management
US7472341B2 (en) * 2004-11-08 2008-12-30 International Business Machines Corporation Multi-user, multi-timed collaborative annotation
US7577906B2 (en) * 2004-11-08 2009-08-18 Microsoft Corporation Method and system for document assembly
US8108773B2 (en) * 2004-12-17 2012-01-31 Xerox Corporation Method and apparatus for generating instances of documents
US7908247B2 (en) * 2004-12-21 2011-03-15 Nextpage, Inc. Storage-and transport-independent collaborative document-management system
US20060179026A1 (en) * 2005-02-04 2006-08-10 Bechtel Michael E Knowledge discovery tool extraction and integration
US7792788B2 (en) 2005-03-04 2010-09-07 Microsoft Corporation Method and system for resolving conflicts operations in a collaborative editing environment
US20060218476A1 (en) 2005-03-25 2006-09-28 Xerox Corporation Collaborative document authoring and production methods and systems
US7454406B2 (en) 2005-04-29 2008-11-18 Adaptec, Inc. System and method of handling file metadata
TWI276325B (en) * 2005-09-16 2007-03-11 Hon Hai Prec Ind Co Ltd Mobile communication device and method for downloading configuration files thereof and wireless communication system
EP1927922A1 (en) 2005-09-22 2008-06-04 JustSystems Corporation Data managing apparatus, data editing apparatus, data browsing apparatus, data managing method, data editing method, and data browsing method
GB0523703D0 (en) * 2005-11-22 2005-12-28 Ibm Collaborative editing of a document
US7774703B2 (en) * 2006-02-09 2010-08-10 Microsoft Corporation Virtual shadow awareness for multi-user editors
US20070198952A1 (en) * 2006-02-21 2007-08-23 Pittenger Robert A Methods and systems for authoring of a compound document following a hierarchical structure
US20070226604A1 (en) 2006-03-22 2007-09-27 Chalasani Nanchariah R System and method for merging a sub-document into a collaboratively authored master document
GB0610116D0 (en) 2006-05-20 2006-06-28 Ibm A method, apparatus and computer program for collaborative editing of a document
US8407670B2 (en) 2006-06-02 2013-03-26 Microsoft Corporation Collaborative code conflict detection, notification and resolution
US20080059539A1 (en) * 2006-08-08 2008-03-06 Richard Chin Document Collaboration System and Method
JP5437557B2 (ja) * 2006-10-19 2014-03-12 富士通株式会社 検索処理方法及び検索システム
US20080098294A1 (en) * 2006-10-23 2008-04-24 Mediq Learning, L.L.C. Collaborative annotation of electronic content
US20080114740A1 (en) * 2006-11-14 2008-05-15 Xcential Group Llc System and method for maintaining conformance of electronic document structure with multiple, variant document structure models
KR100904758B1 (ko) * 2007-02-08 2009-06-29 삼성전자주식회사 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법
EP2122510A2 (en) * 2007-02-14 2009-11-25 Museami, Inc. Music-based search engine
US20080294895A1 (en) 2007-02-15 2008-11-27 Michael Bodner Disaggregation/reassembly method system for information rights management of secure documents
US7933952B2 (en) * 2007-06-29 2011-04-26 Microsoft Corporation Collaborative document authoring
US7937663B2 (en) * 2007-06-29 2011-05-03 Microsoft Corporation Integrated collaborative user interface for a document editor program
WO2009027138A1 (en) * 2007-08-30 2009-03-05 International Business Machines Corporation Accessing data entities
US8286132B2 (en) * 2008-09-25 2012-10-09 International Business Machines Corporation Comparing and merging structured documents syntactically and semantically

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757678B2 (en) * 2001-04-12 2004-06-29 International Business Machines Corporation Generalized method and system of merging and pruning of data trees

Also Published As

Publication number Publication date
EP2215560A1 (en) 2010-08-11
EP2215560A4 (en) 2018-01-10
RU2010122968A (ru) 2011-12-10
US8028229B2 (en) 2011-09-27
CN101889276A (zh) 2010-11-17
MY157581A (en) 2016-06-30
MX2010005934A (es) 2010-06-15
RU2481624C2 (ru) 2013-05-10
TWI379208B (en) 2012-12-11
TW200925902A (en) 2009-06-16
JP5502745B2 (ja) 2014-05-28
KR101726879B1 (ko) 2017-04-13
BRPI0819718A2 (pt) 2015-06-16
KR20100087356A (ko) 2010-08-04
AU2008335565A1 (en) 2009-06-18
WO2009076010A1 (en) 2009-06-18
AU2008335565B2 (en) 2012-09-27
US20090150394A1 (en) 2009-06-11
JP2011507072A (ja) 2011-03-03

Similar Documents

Publication Publication Date Title
CN101889276B (zh) 文档归并
CN104021132B (zh) 主备数据库数据一致性核查备份方法及其系统
TWI286277B (en) Partition creating method and deleting method and information processing apparatus
CN1828599B (zh) 用于幻影同步的系统和方法
CN102414678B (zh) 对传统文档的快速归并支持
US7363329B1 (en) Method for duplicate detection on web-scale data in supercomputing environments
US20090044095A1 (en) Automatically populating and/or generating tables using data extracted from files
CN102096660B (zh) 一种文档并行处理方法及系统
WO2012147428A1 (ja) テキストクラスタリング装置、テキストクラスタリング方法、およびコンピュータ読み取り可能な記録媒体
CN111178079B (zh) 一种三元组抽取方法及装置
US20070195959A1 (en) Synchronizing encrypted data without content decryption
CN101167058A (zh) 用于恢复文件的设备、方法和系统
CN103455589A (zh) 产品工厂模式下的产品数据迁移方法、装置及系统
Urgese et al. BioSeqZip: a collapser of NGS redundant reads for the optimization of sequence analysis
CN1667613B (zh) 用于创建任务标识符和维护较大的帮助主题描述符集合的方法
CN105354177A (zh) 一种数据处理系统和一种数据处理方法
CN104822076A (zh) 一种数据的分发方法及装置
CN103678355B (zh) 文本挖掘方法和文本挖掘装置
CN112131229A (zh) 基于区块链的分布式数据存取方法、装置及存储节点
US20200117852A1 (en) Method for tracking in office file conversion and modification processes
US20110083068A1 (en) Managing digital annotations from diverse media formats having similar content
CN106372150B (zh) 一种以语块为基本单位的文档处理系统
CN103049543A (zh) 多分支配置文件的更新方法及更新工具
CN115455243A (zh) 一种数字资源产品管理方法及系统
JP2016105214A (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150513

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150513

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130619

Termination date: 20191118