会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 特殊效果 / 变形 / 变形文档

变形文档

阅读:499发布:2020-05-11

IPRDB可以提供变形文档专利检索,专利查询,专利分析的服务。并且描述了一种用于呈现文档内容的设施。所述设施接收表示对多个可视化形式中的一个可视化形式的选择的输入。所述设施根据其选择由所接收的输入所表示的可视化形式来对文档内容进行渲染,并且使得经渲染的文档内容被显示。,下面是变形文档专利的具体信息内容。

1.一种具有内容的计算机可读介质,所述内容被配置为使得计算系统进行以下操作以便协同地创作文档:使得所述文档的部分以第一形式被显示给第一用户;

响应于从所述第一用户接收到指定对以所述第一形式被显示给所述第一用户的所述文档的部分的改变的第一输入:使得根据所述第一输入而改变的所述文档的部分以所述第一形式被显示给所述第一用户;

使得所述文档的持久性表示根据所述第一输入而更改;以及

使得根据所述第一输入而改变的所述文档的部分以不同于所述第一形式的第二形式被显示给第二用户。

2.根据权利要求1所述的计算机可读介质,其中,所述计算机可读介质的内容还被配置为使得计算系统:响应于从所述第二用户接收到指定对以所述第二形式被显示给所述第二用户的所述文档的部分的改变的第二输入:使得根据所述第二输入而改变的所述文档的部分以所述第二形式被显示给所述第二用户;

使得所述文档的持久性表示根据所述第二输入而更改;以及

使得根据所述第二输入而改变的所述文档的部分以所述第一形式被显示给所述第一用户。

3.一种存储数据结构的计算机可读介质,所述数据结构包括:

多个条目,每个条目与多个可视化形式中的不同的可视化形式相对应,每个条目包括:第一信息,所述第一信息标识所述条目所对应的可视化形式;以及第二信息,所述第二信息指定将文档内容转换成根据所述条目所对应的可视化形式来可视化的文档内容的方式,这使得所述数据结构的内容能够用于(a)征求用户输入,所述用户输入选择所述多个可视化形式中的一个可视化形式以在呈现区别的文档内容时使用;以及(b)将所述区别的文档内容转换成根据所选择的可视化形式来可视化的文档内容。

4.根据权利要求3所述的计算机可读介质,其中,在行的至少一行中,所述第二信息包括指向代码的指针,所述代码能够被执行以将所述区别的文档内容转换成根据所选择的可视化形式来可视化的文档内容。

5.根据权利要求3所述的计算机可读介质,其中,针对与所述多个可视化形式中选择的一个可视化形式相对应的条目的所述第二信息,指定将文档内容转换成根据片段图可视化形式来可视化的文档内容的方式。

6.根据权利要求3所述的计算机可读介质,其中,针对与所述多个可视化形式中选择的一个可视化形式相对应的条目的所述第二信息,指定将文档内容转换成根据从文字处理可视化形式、电子表格可视化形式、图表可视化形式、和幻灯片可视化形式中选择的可视化形式来可视化的文档内容的方式。

7.根据权利要求3所述的计算机可读介质,其中,针对与所述多个可视化形式中选择的一个可视化形式相对应的条目的所述第二信息,指定将文档内容转换成根据从音频可视化形式和高对比度可视化形式中选择的可视化形式来可视化的文档内容的方式。

8.根据权利要求3所述的计算机可读介质,其中,针对与所述多个可视化形式中选择的一个可视化形式相对应的条目的所述第二信息,指定将文档内容转换成根据时间线可视化形式来可视化的文档内容的方式。

9.一种用于呈现文档内容的计算系统,包括:

输入子系统,其被配置为接收指示对多个可视化形式中的一个可视化形式的选择的输入;

渲染子系统,其被配置为根据这样的可视化形式来渲染所述文档内容:所述可视化形式的选择是由被所述输入子系统所接收的输入来指示的;以及显示子系统,其被配置为使得经渲染的文档内容被显示。

10.根据权利要求9所述的计算系统,其中,所述输入子系统被配置为从第一用户接收输入,还包括:更新子系统,其被配置为更改所述文档内容的经渲染的版本以使得由所述显示子系统显示以反映由从第二用户接收的输入所指示的修订。

11.根据权利要求9所述的计算系统,其中,所述输入子系统还被配置为接收指示对一系列可视化形式的依次选择的输入序列,并且其中,所述渲染子系统被配置为根据所述一系列可视化形式中的每个可视化形式来渲染所述文档内容,并且其中,所述显示子系统被配置为使得经渲染的文档内容的每个实例被显示。

12.根据权利要求9所述的计算系统,还包括被配置为存储所述多个可视化形式的定义的存储器,由所存储的定义限定的可视化形式中的至少一个可视化形式显示地反映所述文档内容的组织结构。

13.根据权利要求12所述的计算系统,其中,所述输入子系统还被配置为接收指示对所显示的经渲染的文档内容的至少一个修订的第二输入,所述计算系统还包括修订子系统,所述修订子系统被配置为响应于由所述输入子系统接收所述第二输入而更改所述文档内容的所述组织结构。

14.根据权利要求1所述的计算机可读介质,其中,根据所述第一输入而改变的所述文档的部分被使得在根据所述第一输入而改变的所述文档的部分以所述第一形式而被显示给所述第一用户的1秒之内以所述第二形式被显示给所述第二用户。

15.根据权利要求3所述的计算机可读介质,其中,针对与所述多个可视化形式中选择的一个可视化形式相对应的条目的所述第二信息,指定将文档内容转换成根据内容可视化形式的表格来可视化的文档内容的方式。

说明书全文

变形文档

背景技术

[0001] 电子文档常常被严格分类为多种类型:主要包含文本的文字处理文档;主要包含被组织为网格的数字和公式的电子表格;被组织为一系列幻灯片的幻灯片文档,其基于它们在一定距离之外可辨认的典型需求而具有最少内容空间;其中文本与结合特定配置的形状相关联的商业图;等等。该严格分类涉及不同类型的不同文档通常是使用不同的单一应用所创建和编辑的事实。例如,文字处理文档趋向于使用不同于电子表格文档的应用来创建和编辑。

发明内容

[0002] 描述了一种用于呈现文档内容的设施。所述设施接收表示对多个可视化形式中的一个可视化形式的选择的输入。所述设施根据其选择由所接收的输入所表示的可视化形式来对文档内容进行渲染,并且使得经渲染的文档内容被显示。
[0003] 提供了该发明内容以用简化形式引入在以下的具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来限制所要求保护的主题的范围。

附图说明

[0004] 图1是示出了其中所述设施在一些实施例中操作的环境的网络图。
[0005] 图2是示出了组件中的一些组件的框图,所述组件通常被并入在所述设施在其上操作的计算机系统和其他设备中的至少一些中。
[0006] 图3-5是示出了对并入经共享的文档片段的文档的编辑和显示的显示图。
[0007] 图6是流程图,其示出了通常由一些实施例中的设施执行以便将文档片段并入到文档中并且调节其并入的模式的步骤。
[0008] 图7是流程图,其示出了通常由一些实施例中的设施执行以便将包含共享片段的文档具体化的步骤。
[0009] 图8是表格图,其示出了由一些实施例中的设施用来存储关于片段的信息的片段目录表格的样本内容。
[0010] 图9是表格图,其示出了由一些实施例中的设施用来存储关于片段版本的信息的片段版本表格的样本内容。
[0011] 图10是表格图,其示出了由一些实施例中的设施用来存储关于片段版本实例的信息的片段版本实例表格的样本内容。
[0012] 图11是表格图,其示出了由一些实施例中的设施用来存储片段版本实例的片段版本实例内容表格的样本内容。
[0013] 图12是流程图,其示出了通常由一些实施例中的设施执行以便提供以用户任意选择的多个可用的可视化形式中的任何一个可视化形式来访问文档的步骤。
[0014] 图13-20是描绘了其中多个用户同时编辑多种呈现形式的样本文档的示例的显示图。
[0015] 图21是表格图,其示出了由一些实施例中的设施用来表示可由用户使用以呈现文档的可视化形式的集合的可视化形式表格的样本内容。

具体实施方式

[0016] 概述
[0017] 发明人已经认识到常规电子文档中的明显缺点。特别地,发明人已经注意到,尽管将电子内容可视化的不同方式各自具有它们自身的优势,但是通过在许多情况下将每种文档类型限制为单个可视化形式,常规文档无法获得将伴随其他可视化形式的优点。
[0018] 发明人还认识到,可用于将电子文档从其初始的可视化形式转换为其他可视化形式的常规技术在许多方面存在问题:每个这样的转换都可能是困难的过程;所得出的分别的文档必须被分别存储,这引起了冗余的存储资源,并且贮存(silo)表示不同的可视化形式的这些分别的文档以使得针对这些文档中的一个文档的修订对于其他文档没有影响。
[0019] 为了克服这些缺点,发明人已经想到并实践了一种软件和/或硬件设施(“所述设施”),其用于允许每个用户访问文档以选择用于呈现文档的多种不同可视化形式中的任何一个可视化形式。
[0020] 可视化形式指定了将文档内容转换为特定可视化以供呈现的方式。例如,在各种实施例中,设施使得可视化形式的各种组合可用,所述可视化形式例如文字处理可视化形式;电子表格可视化形式;图表可视化形式;幻灯片可视化形式;日程表可视化形式;有组织的基于图形的可视化形式;大纲可视化形式;内容的表格等。所述设施是可扩展的,这在于可以随时间添加新的可视化形式。例如,可以添加新创建的可视化形式从而允许以新的方式来查看现有的文档内容。
[0021] 在一些实施例中,设施使其可用的可视化形式中的至少一些可视化形式显式地表示它们用来呈现的文档的组织结构。用户可以以这些可视化形式中的一个可视化形式来对文档进行编辑以便改变所述文档的组织结构,例如通过在文档的组织结构中插入新的节点,重新定位文档的组织结构内的节点,删除文档的组织结构中的节点等。
[0022] 每个可视化形式可以指定某种文档内容用于呈现。例如,文字处理可视化形式可以呈现所有文档内容,而幻灯片可视化形式则可以呈现更加适于在幻灯片呈现中显示的文档内容的子集(例如,标题、主题句、图像)。
[0023] 在一些实施例中,任何用户都可以选择他们用来呈现文档的可视化形式,并且可以在任何时间点切换至新的可视化形式。例如,用户可以以同样适于导航文档的结构化组织可视化形式开始;接着切换至其中易于插入新的图像的胶片(filmstrip)可视化形式;接着切换至其中易于编辑文本的文字处理可视化形式;接着切换至其中文档的大多数用户将查看它的幻灯片可视化形式。
[0024] 不同用户可以使用不同的可视化形式来呈现相同文档,甚至是同时呈现。所述设施所提供的许多可视化形式使得用户能够以改变文档的基本内容的方式来编辑文档,并且由此,所述文档的内容使用不同的可视化形式而被呈现给用户。
[0025] 在一些实施例中,所述设施使用被称作“文档片段”或简称为“片段”的构造来存储文档,其是由所述设施分别地表示文档内容的单元。所述文档由单个“根片段”组成,其可以直接包含内容以及包含引用其他片段的片段引用。被根片段所引用的那些片段自身可以直接包含内容以及对其他片段的片段引用等。当文档被打开时,所述设施通常通过取回根片段、取回被根片段中的片段引用所引用的其他片段、取回被那些片段中的片段引用所引用的另外的片段等等来收集并且合成其内容。在一些实施例中,任何片段都可以被视为文档,这是就其可以被编辑或呈现应用作为根片段来打开的意义而言的。
[0026] 在一些实施例中,所述设施将构成用户的文档的片段存储在基于云的服务中,其中它们可以从几乎任何位置被访问。在一些实施例中,该基于云的服务使用被称作“擦除编码”的技术,其中它将文档作者所定义的片段解构或“粉碎”成多个较小的组成片段或“碎片”,所述设施将它们中的每个存储在不同地理位置处的不同数据中心的多个存储设备上以提供灾难和断电存活能力。当所述基于云的服务接收到针对片段的请求时,其取回并组合这些碎片以重建所述片段。
[0027] 在一些实施例中,所述设施存储片段的新版本以反映对所述片段执行的每个编辑动作,每个动作由执行所述编辑动作的日期和时间来标识。例如,在一些实施例中,所述设施针对被插入(例如,通过键击或文本块粘贴)在片段中的每个字符或字符的分组并且针对被删除(例如,通过退格键按压或者选择和删除操作)的每个字符或字符的分组来创建新的片段版本。在一些实施例中,每个片段版本标识进行由所述片段版本所反映的编辑动作的作者。在一些实施例中,在被写之后,这些片段版本无法被改动,并且被称为是“不可改变的”。
[0028] 在一些实施例中,随着时间,所述设施删除片段的版本中的一些版本从而将两个或更多编辑动作拆解为片段的未删除的版本。在一些实施例中,在这样做时,所述设施仅仅删除全部反映由相同作者所进行的编辑动作的以及同样反映相同作者所进行的编辑动作的在未删除的片段版本紧接着之前的连续的片段版本。
[0029] 在一些实施例中,在内容从片段感知的源文档被并入的情况下,所述设施确保被并入的内容精确地对应于一个或多个完整片段;也就是说,在所选择的内容的跨度仅为源文档中的片段的一部分的情况下,所述设施将源文档中的该片段分成两个片段,第一个仅包含来自所选择的原始片段的内容,第二个则包含来自未被选择的原始片段的内容,从而第一个可以被并入到目标文档中而第二个则不能。在内容从片段未知的源文档被并入的情况下,所述设施创建新的片段以包含所并入的内容。
[0030] 响应于所述并入操作,所述设施在目标文档中在内容被并入所述目标文档的位置处创建片段引用以表示在所述目标文档中并入的内容。在一些实施例中,片段引用包含多个成分,例如当前片段ID成分和/或起源成分。所创建的片段引用的当前片段ID成分例如通过包含可以用于取回该片段的该片段的片段ID来标识所述引用所引用的片段。在被所述设施使用的情况下,起源成分在片段引用状态中保存所并入的内容所源自的片段的片段ID,这可以充当用于改变其中所并入的内容在所述片段引用的整个寿命期间在目标文档中被使用的模式的基础,以及用于跟踪片段的出处的基础。在一些实施例中,所述设施将片段ID的经排序的列表存储在起源成分中以反映所引用片段从中分流的一系列片段。
[0031] 在各种实施例中,在用户执行并入操作时,用户可以通过以下方式来指定所并入的内容在目标文档中的初始模式:例如在拖拽交互期间保持某一键盘按键按下,使用各种控制键组合将所并入的内容粘贴到目标文档中,响应于并入操作对由所述设施显示的上下文菜单或对话作出响应等。在一些实施例中,每种模式具有两种特性:(1)片段的内容在并入文档或片段的上下文中是否是可编辑的(“在上下文中可编辑”),以及(2)如何选择所引用片段的版本以用于在并入文档或片段时包括(“版本选择”)。在一些实施例中,以下类型的版本选择选项是可用的:(a)“最新”——具有最近事件的片段版本通过引用而被并入;(b)“指定时间”——与特定时间相关联的片段的特定版本通过引用而被并入(例如,在一些实施例中,任意指定的时间使得选择所述片段中其时间是不晚于指定的时间的最新片段版本);(c)“特殊”——用来指定选择片段的哪个版本以用于并入的特殊规则。特殊规则的示例是由合格的批准机构所批准的最新文档,或者是实施特定作者进行的编辑的最早版本。
[0032] 在各种实施例中,所述设施支持以下并入模式中的一些或全部:实时模式、跟随模式、可分流模式、固定模式、特殊可分流模式、以及特殊跟随模式。
[0033] 实时模式(1)是在上下文中可编辑的,并且(2)使用“最新”版本选择。因此,在实时模式中,作者可以改变片段的内容,这引起片段的新版本被创建以反映每个这样的改变。这些改变将出现在任何其他包含片段中,所述包含片段并入了相同片段并且其版本选择选项以利用选择该版本的选择规则选择了该版本(或者是(a)最新或者是(b)特殊)而结束。实时模式通常用于被包括以既修订所引用的片段又反映对其他片段的修订的引用。通过使用最新版本的选择选项,实时模式中的引用并入最新版本的片段,而无论其内容如何或者其反映哪个作者的修订。在选择实时模式的情况下,所述设施用作为起源成分的相同片段ID来填充片段引用的当前片段ID成分。片段引用的当前成分标识其内容要被取回以用于包括在目标文档中的片段。
[0034] 跟随模式(1)在上下文中是不可编辑的,并且(2)使用最新版本选择。在跟随模式中,片段的最新版本始终被并入,但是无法在包含跟随模式引用的文档或片段的上下文中进行编辑。跟随模式通常被用于以集中的方式并入由一个或多个其他作者所保存的动态内容。
[0035] 可分流模式(1)在上下文中是不可编辑的,并且(2)使用指定时间的版本选择。在可分流模式中,片段可以在指定的时间在来自片段状态的引用的上下文中进行编辑。执行这样的编辑将引用从可分流模式转换至实时模式;反映出新的片段ID的第一版本中的编辑;将新的片段ID存储在引用的上下文中;并且将原始的片段ID存储在引用的起源成分中。可分流模式通常在片段的特定状态要作为将不会影响并入有原始片段的文档或片段的一组新的编辑的基础的情况下被使用。类似地,可分流的以及所产生的实时引用不受可分流引用版本选择时间之后对原始片段的编辑的影响。
[0036] 固定模式(1)在上下文中是不可编辑的,并且(2)使用指定时间的版本选择。在片段引用处于固定模式时,所并入的内容不能通过用户编辑包含固定引用的文档或片段(因为在上下文中不可编辑排除了由这样的作者进行编辑)或者通过用户在不同的包含文档或片段的上下文中编辑片段(因为这样的编辑将在新的片段版本中被反映,所述新的片段版本将不被该引用的指定时间选择逻辑所选择)来改变。在选择了固定模式的情况下,所述设施用原始片段的片段ID来填充片段引用的当前成分。固定模式通常用于保持引用文档中的片段的特定状态。
[0037] 特殊可分流模式(1)在上下文中是不可编辑的,并且(2)指定特殊版本选择规则。在任何给定时间,所并入片段将示出特殊版本选择规则在该时刻所选择的源片段的版本的内容。当作者在上下文中编辑片段时,进行在上文中所描述的分流过程。特殊可分流模式例如可以用于使用演进模板,该演进模板的编辑受到作为创建新内容的实例的基础的定期批准。
[0038] 特殊跟随模式(1)在上下文中是不可编辑的,并且(2)指定特殊版本选择规则。因此,特殊跟随引用示出在任何给定时间满足版本选择规则的片段的版本,其在上下文中是不可编辑的。该模式例如可以用于将由其作者定期发布的集中创作的内容拉入到文档或片段中,以反映出自从最后发布以来所进行的所有编辑。
[0039] 用户可以在随后的任何时间通过以下方式经由各种用户接口技术来改变所并入的内容的模式:例如通过在所并入的内容上右键点击并且从所产生的上下文菜单中选择项目,选择所并入的内容并且选出菜单栏的菜单项目,与鼠标光标在所并入的内容上方悬停时所显示的专用控件进行交互,等等。在一些实施例中,所述设施并入机构方(authority)的系统或者与其交互操作,以及访问控制和其他内容管控措施对特定用户在各种环境中可以关于特定文档或片段采取的动作进行限制,包括改变现有片段引用的模式。
[0040] 在一些实施例中,在取回以固定模式并入的内容的指定时间的片段版本时,所述设施通知用户原始片段的版本是否比只读片段更为新从而使得用户能够将模式切换至实时,或者保持在固定模式但是用对应于最新版本的时间来替换针对引用中的版本所指定的时间。
[0041] 在一些实施例中,所述设施保存有关将片段并入到文档中的指标从而能够对各种“热片段”测量进行报告,其跨组织或用户的另一分组(在文档的分组或类别等中)标识被并入到最全面的文档中的片段,或者已经在最近一段时间期间被并入到最多文档中的片段。
[0042] 通过以在上文中所描述的方式中的一些或全部方式来操作,所述设施使得用户能够以多样且有力的方式来创建文档、修订文档、对文档进行协同、并且呈现文档。
[0043] 硬件
[0044] 图1是示出了其中所述设施在一些实施例中操作的环境的网络图。该网络图示出了各自由不同用户使用的客户端110。所述客户端中的每个客户端执行软件,所述软件使得其用户能够创建、修订、和呈现电子文档。客户端上的软件还使得客户端能够取回并合成远程存储的文档内容,包括文档片段。特别地,互联网120或者一个或多个其他网络将所述客户端中的每个客户端连接至多个不同的数据中心,例如数据中心131、141、和151,所述数据中心在一些实施例中在地理上分布从而在数据完整性方面和连续可用性方面提供灾害和断电存活能力。在地理上分布所述数据中心还有助于使得与各个地理位置的客户端的通信延迟最小化。所述数据中心中的每个数据中心包含服务器,例如服务器132、142、和152。服务器访问包含文档内容(其包括文档片段)的存储设备,并且执行软件以对来自客户端和其他服务器的用于存储和取回文档内容的请求进行响应,所述文档内容同样包括文档片段。在各种实施例中,所述设施使用对用于取回和组合客户端与服务器之间的文档片段的责任的各种不同的分布。
[0045] 尽管关于在上文中所描述的环境对各个实施例进行了描述,但是本领域技术人员将理解的是,所述设施可以在多种其他环境中实现,包括单个、单一计算机系统,以及以各种方式连接的计算机系统和类似设备的各种其他组合。在各种实施例中,各种计算系统或其他设备可以用作客户端,包括台式计算机系统、膝上型计算机系统、汽车计算机系统、平板计算机系统、智能电话、个人数字助理、电视、相机等。
[0046] 图2是示出了组件中的一些组件的框图,所述组件通常被包含在所述设施在其上操作的计算机系统和其他设备中的至少一些中。在各种实施例中,这些计算机系统和其他设备200可以包括服务器计算机系统、台式计算机系统、膝上计算机系统、上网本、移动电话、个人数字助理、电视、相机、汽车计算机、电子媒体播放机等。在各种实施例中,所述计算机系统和设备包括以下中的每个中的零个或多个:用于执行计算机程序的中央处理单元(“CPU”)201;用于在程序和数据被使用时对其进行存储的计算机存储器202,所述程序和数据包括所述设施和相关联的数据、包括内核的操作系统、以及设备驱动器;持久性存储设备203,例如用于持久地存储程序和数据的硬盘或闪存驱动器;计算机可读媒体驱动器204,例如软盘、CD-ROM、或DVD驱动器,其用于读取存储在计算机可读介质上的程序和数据;以及用于将计算机系统连接至其他计算机系统从而例如经由互联网或其他网络及其联网硬件来发送和/或接收数据的网络连接205,所述联网硬件例如交换机、路由器、中继器、电缆和光纤、光发射器和接收器、无线电发射机和接收机等。尽管如在上文中所描述的那样配置的计算机系统通常用于支持所述设施的操作,但是本领域技术人员将理解的是,所述设施可以使用各种类型和配置以及具有各种组件的设备来实现。
[0047] 片段管理
[0048] 图3-5是示出了对并入经共享的文档片段的文档的编辑和显示的显示图。图3是示出了在经共享的文档片段被并入之前的时刻的样本目标文档的显示图。目标文档300包括文本301。该文本可以直接被目标文档的根片段包含,或者可以被由目标文档的根片段内的片段引用所标识的片段包含。
[0049] 图4是示出了在经共享的文档片段被并入之后的时刻紧接着的样本目标文档的显示图。在该时刻,除了包含文本401之外,目标文档400还包含从源文档(未示出)传输的所并入的内容310。所并入的内容构成了公司信头,包括公司标志的图像411以及公司的文本地址412。
[0050] 在用户以固定模式并入信头内容的情况下,所述信头内容将在目标文档中保持不变,除非并且直到所述并入被改变至不同模式为止。在用户以可分流模式并入所述信头内容的情况下,用户可以在目标文档的上下文中改变信头内容;这样的改变将不会影响源文档中的信头内容,并且对源文档中的信头内容的任何改变将不会反映在目标文档中。在用户以实时模式并入所述信头内容的情况下,用户可以受制于任何可应用的许可而在目标文档的上下文中改变信头内容,并且这样做将会改变源文档以及以实时模式并入信头内容的任何其他文档中的信头内容。类似地,经由源文档或者以实时模式并入信头内容的任何其他文档而对所述信头内容的改变将会反映在目标文档中。
[0051] 图5是示出样本目标文档的显示图,其中经共享的文档片段以实时模式并入到目标文档之后,内容例如被另一用户在源文档的上下文中改变。可以看到的是,此时在目标文档500中,信头内容510包含新的公司标志511以及新的公司地址512,两者都在源文档的上下文中被替换,并且根据目标文档以实时模式对该内容的并入而反映在所述目标文档中。
[0052] 图6是流程图,其示出了通常由一些实施例中的设施执行以便将文档片段并入到文档中并且调节其并入的模式的步骤。在步骤601中,所述设施接收用于将片段添加至目标文档的用户交互。在各种实施例中,这样的交互可以是例如:将所选择的内容复制到剪贴板上,接着将它粘贴到目标文档中的目标位置处;将所选择的内容从源文档拖拽至目标文档中的目标位置;等等。在用户选择内容以添加至不完全对应于整个现有片段的目标文档时,所述设施例如通过细分出现在源文档中的片段来创建所选择内容与其完全对应的一个或多个片段。在一些情况下,这涉及在源文档中改变和/或增加片段引用,以及在一个或多个其他文档中以实时模式并入相同内容。
[0053] 在步骤602中,所述设施在目标文档中创建片段引用。在步骤603中,所述设施用添加至文档的片段的片段ID来填充片段引用的起源成分及其当前成分两者。在步骤604中,所述设施接收指定用于将片段并入目标文档中的模式的用户交互。在一些实施例中,单一交互或相关的一系列交互都可以将片段添加至文档并且指定模式。如果在步骤604中所接收的用户动作指定实时模式,则所述设施在步骤605中继续;如果其指定跟随模式,在所述设施在步骤606中继续;如果其指定了可分流模式,则所述设施在步骤607中继续;如果其指定了固定模式,则所述设施在步骤612中继续。如果其指定了特殊可分流模式,则所述设施在步骤613中继续;并且如果其指定了特殊跟随模式,则所述设施在步骤614中继续。
[0054] 在步骤605中,在指定了实时模式的情况下,所述设施针对引用将上下文中的编辑设置为是,并且将版本选择设置为最新。在步骤605之后,所述设施在步骤604中继续以允许用户随后指定针对该片段的新模式。在步骤606中,在指定了跟随模式的情况下,所述设施针对引用将上下文中的编辑设置为否(no),并且将版本选择设置为最新。在步骤606之后,所述设施在步骤604中继续。在步骤607中,在指定了可分流模式的情况下,所述设施针对引用将上下文中的编辑设置为是(yes),并且将版本选择设置为当前时间或者用户所选择的较早时间。在步骤608中,如果用户选择在引用的上下文中对片段进行编辑,则所述设施在步骤609中继续,否则所述设施在步骤604中继续。在步骤609中,所述设施创建反映对所添加的片段应用步骤608的编辑的新片段。所述新片段具有不同于所添加的片段的片段ID。在步骤610,所述设施用新片段的片段ID来填充片段引用的当前成分。在步骤611中,所述设施将引用的模式改变至实时。在步骤611之后,所述设施在步骤605中继续。在步骤612中,在指定了固定模式的情况下,所述设施针对引用将上下文中的编辑设置为否,并且将版本选择设置为当前时间或者用户所选择的较早时间。在步骤612之后,所述设施在步骤604中继续。在步骤613中,在指定了特殊可分流模式的情况下,所述设施将上下文中的编辑设置为是,并且将版本选择设置为版本选择规则,例如经由额外的用户交互所指定的版本选择规则、默认版本选择规则、推测的版本选择规则等。在步骤613之后,所述设施在步骤608中继续。
在步骤614中,在指定了特殊跟随模式的情况下,所述设施将上下文中的编辑设置为否,并且以类似于步骤613的方式将版本选择设置为版本选择规则。在步骤614之后,所述设施在步骤604中继续。
[0055] 本领域技术人员将理解的是,在图6以及下文中所讨论的流程图中的每个流程图中所示出的步骤可以以多种方式来改变。例如,可以重新安排步骤的顺序;可以并行地执行一些步骤;可以省略所示出的步骤,或者可以包括其他步骤;可以将所示出的步骤划分为子步骤,或者可以将所示出的多个步骤组合为单个步骤,等等。
[0056] 图7是流程图,其示出了通常由一些实施例中的设施执行以便将包含共享片段的文档具体化的步骤。在各种实施例中,所述设施在文档被打开时,在文档需要被显示时,在用户尝试将其添加至文档时等执行这些步骤。在各种实施例中,所述设施对这些步骤的执行以各种方式分布在客户端与服务器之间。在步骤701中,所述设施例如通过取回其根片段来取回文档。所述设施针对在文档中出现的每个片段引用而循环进行步骤702-704,所述片段引用包括从一个片段到另一个的转移片段引用。在步骤703中,所述设施取回使用在片段引用的当前成分中所包含的片段ID的片段的内容。该取回受制于在所述片段引用的条件成分中所包含的任何版本选择条件;也就是说,所述取回是关于指定所包含的任何版本选择条件的片段的最新版本来执行的,或者是在没有版本选择条件的情况下关于片段的最新版本来执行的。在各种实施例中,所述设施使用各种形式的片段版本选择逻辑。在一些实施例中,取回片段的过程指示与片段相关联的许可(包括片段是否可以由当前用户来编辑),其中所述设施使用所述许可来指示和控制用户是否可以在文档的上下文中对所述片段进行编辑。在下文中结合图8-11更加详细地讨论了片段取回。在步骤704中,所述设施基于片段引用的模式使得所述片段在上下文中是可编辑的。在步骤705中,如果还有额外的片段引用要处理,则所述设施在步骤702中继续以处理下一个片段引用,否则所述设施在步骤706中继续。在步骤706中,所述设施使用在步骤703中所取回的片段内容来将文档具体化。在步骤706之后,这些步骤结束。在一些实施例中(未示出),不同于循环地执行在图7中所示出的过程,所述设施将其作为树形图的递归下降来执行,其中,透镜(lens)充当内容节点的父节点,并且当文档被具体化时修改渲染行为。
[0057] 图8是表格图,其示出了由一些实施例中的设施用来存储关于片段的信息的片段目录表格的样本内容。在一些实施例中,所述片段目录表格以及在图9-11中所描述的其他表格被在数据中心中在能够由执行作为所述设施的一部分的服务器软件的服务器访问的存储设备上。在一些实施例中,这些表格中的一些或全部被存储在多个数据中心中以便为它们所存储的数据提供生存能力以及所在地的测量。片段目录表800由例如行801-802的行所组成,每一行对应于不同片段。每一行被划分为以下的列:片段ID列811,其包含标识该行所对应的片段的片段ID;由…创建列812,其包含标识创建了该片段的用户的信息;创建时间列813,其具有指示该片段被创建的时间的内容;以及访问许可列814,其指定该片段可以被各种用户访问的方式。例如,行801指示具有片段ID 894645的片段是由用户vision在9/6/200214:19:01创建的,并且可以被所有用户读和写。在一些实施例中,所述设施采用地理上不变的时间(例如,以格林威治标准时间表达的时间)以便协调位于不同时区的服务器和客户端。在服务器接收针对片段ID 894645的取回请求的情况下,其使用行801来确定针对该片段的访问许可。
[0058] 尽管图8以及在下文中所讨论的表格图中的每个表格图都示出了其内容和组织被设计为使得它们更易于由人类读者所理解的表格,但是本领域技术人员将理解的是,由所述设施用来存储该信息的实际的数据结构可以不同于所示出的表格,这在于它们例如可以以不同的方式来组织;可以包含比所示出的更多或更少的信息;可以被压缩、加密、和/或索引;可以包含比所示出的多很多的数量的行,等等。
[0059] 图9是表格图,其示出了由一些实施例中的设施用来存储关于片段版本的信息的片段版本表格的样本内容。特别地,所述设施使用片段版本表格来标识现存片段的不同版本及其时间顺序。在一些实施例中,所述设施仅保存每个片段的单个版本,在该情况下,片段版本表格不是必需的,并且片段ID被所述设施所保存的其他表格中的片段版本ID所替代。片段版本表格900由例如行901-903的行组成,每一行对应于不同的片段版本。行中的每一行被划分为以下的列:片段版本ID列911,其包含该行所对应于的片段版本的片段版本ID,其唯一地标识该片段版本;片段ID列912,其包含标识该片段版本所对应的片段的片段ID;以及更新时间列,其指示片段版本最后被更新的时间。例如,行901指示具有片段版本ID 65489151的片段版本对应于具有片段ID 894645的片段,并且在9/15/2002 9:17:12最后被更新。在服务器接收针对片段ID 894645的取回请求的情况下,其使用行901和902来标识针对该片段ID所存在的两个片段版本。这两行也可以用于确定哪个片段版本是较新的。
[0060] 在一些实施例中,在使用片段版本的情况下,一些片段版本是可写的,这使得作者至少在并没有被任何固定片段引用所引用的片段版本的情况下可以在内容被创建之后的时间对其进行改变。然而,在一些实施例中,每个片段版本都是只读的,并且对现有片段版本所包含的内容的任何修订都使得所述设施创建新的片段版本。在各种实施例中,新的片段版本的创建以各种粒度水平进行,包括针对每个编辑会话的新的片段版本,针对每次键击的新的片段版本,或者处于其间的某一水平,例如每五秒、每分钟、每15分钟等。
[0061] 图10是表格图,其示出了由一些实施例中的设施用来存储关于片段版本实例的信息的片段版本实例表格的样本内容。特别地,所述设施针对特定的片段版本使用片段版本示例目录表格来标识存储在不同服务器上的片段版本的实例,以使得所述设施可以选择片段版本中的一个片段版本来取回,并且使得如果片段版本在可能的情况下在实施例中进行改变,则它的每个实例可以被改变或无效。片段版本实例目录表格1000由例如行1001-1008的行组成,每一行对应于片段版本与片段版本的实例存储于其上的服务器的不同组合。每一行被划分为以下列:片段版本ID列1011,其包含标识片段版本的片段版本ID;以及服务器ID列1012,其标识片段版本的实例存储于其上的服务器。例如,行1001指示具有片段版本ID 12345498的片段版本具有存储在具有服务器ID 9103的服务器上的实例。在各种实施例中,所述设施使用各种其他方法来标识其中存储片段版本的实例的位置,例如通过使用数据中心ID、存储设备ID等。
[0062] 图11是表格图,其示出了由一些实施例中的设施用来存储片段版本实例的片段版本实例内容表格的样本内容。片段版本实例内容表格1100由例如行1101-1103的行组成,每一行对应于全部存储在特定服务器上的片段版本实例。片段版本实例内容表格1100特别地被存储在具有服务器ID 9103的服务器上。行中的每一行被划分为以下的列:片段版本ID列1111,其包含标识该行所对应的片段版本的片段版本ID;更新时间列1112,其指示片段版本实例最后被更新的时间;以及片段内容列1113,其包含片段版本实例的内容。例如,行1101指示具有片段版本ID 91285817和更新时间1/16/1987 16:02:54的片段版本实例包含特定的图像数据。片段1113包含所述设施响应于片段取回请求而返回的数据。
[0063] 在一些实施例中,不同于如在图11中所示的将每个片段版本实例作为单个实体来存储,所述设施采用“擦除编码”技术,在该技术中其将每个片段版本实例的内容作为任何数量的较小的碎片来分布,所述碎片可以被存储在服务器的任何布置上。
[0064] 变形文档
[0065] 图12是流程图,其示出了通常由一些实施例中的设施执行以便提供以用户任意选择的多个可用的可视化形式中的任何一个可视化形式来访问文档的步骤。在一些实施例中,所述设施在文档被打开或者以其他方式被用户访问的任何时候执行这些步骤。在一些实施例中,所述设施针对两个或更多个用户同时执行这些步骤,所述两个或多个用户全部都已经打开了相同文档;每个可以以他或她自己的可视化形式来查看该文档;并且他们对所述文档的修订被反映给打开了所述文档的其他用户。
[0066] 在步骤1201中,所述设施例如以在上文中关于片段管理系统所描述的方式来访问文档的内容。在步骤1202中,所述设施从用户征求对文档可视化形式的指示以用于呈现所述文档并与所述文档进行交互。在各种实施例中,所述设施向用户提供可视化形式的各种集合以用于例如经由用户界面来选择。在一些实施例中,所述设施最初基于多种因素自动地为用户选择文档虚拟化形式,但是该形式可以随后被用户更改。例如,在一些实施例中,所述设施基于用户针对该文档或另一个文档所使用的最后形式;用户、文档作者、或所述设施所设置的默认可视化形式等来自动地选择文档可视化形式。在步骤1203中,所述设施以用户选择的可视化形式来显示该文档。步骤1203在下文结合图13-20更加详细地进行讨论。在步骤1204中,如果用户对文档进行修订,则所述设施在步骤1205中继续,否则所述设施在步骤1206中继续。在步骤1205中,所述设施更新例如由片段管理系统持久地存储的文档的内容。在步骤1205之后,所述设施返回步骤1203。在步骤1206中,如果用户寻求切换当前可视化形式,则所述设施返回至步骤1202以从用户征求以其呈现和修订文档的新的文档可视化形式,否则所述设施返回至步骤1203。
[0067] 图13-20是描绘了其中多个用户同时编辑多种呈现形式的样本文档的示例的显示图。
[0068] 图13是示出了以片段图式呈现给第一用户的样本文档的显示图。显示1300包括文档节点的图,例如在片段管理系统内作为片段所存储的文档节点。根片段1310最集中表示文档,其包含文档的标题文本1311“History of Rocketry”。根节点具有三个子节点1320、1330、和1340。这些子节点中的每个子节点表示文档的章节。子节点1320表示文档的第一章节并且包含章节标题1321“Early Days”,以及正文文本1322“In March,1926,Robert H.Goddard…”。其他子节点1330和1340本身各自包含题目文本1331、1341、以及正文文本
1332、1342。第一用户可以通过删除节点、移动节点、插入节点、分割节点、以其他方式编辑节点内容等来以该可视化形式对所述文档进行编辑。
[0069] 图14是示出了相同文档以文本文档可视化形式向第二用户的呈现的显示图。该显示1400示出了在页面顶部居中的文档题目1410;分别来自片段图的节点1320和1330的标题1421和1431;以及来自相同节点的正文文本1422和1432。与第一用户相同,第二用户可以图该可视化形式来对文档进行编辑。
[0070] 应当理解的是,图14出于说明的目的而被表示为被呈现给第二用户,但是本公开不限于此。例如,在一些实施例中,所述设施例如响应于第一用户选择了新的可视化形式而将显示1400作为新的可视化呈现给第一用户。第一用户可以在任何可视化中进行修订,并且所述设施将更新文档内容以使得在一个可视化中进行的改变在第一用户切换至新的可视化形式时仍然可见。
[0071] 图15是示出了由第二用户对文档进行的修订的显示图。特别地,显示1500反映出用户已经编辑了正文文本1522以读出“On March 16,1926,...”而不是“In March 16,1926,...”。作为该修订的结果,所述设施针对已经打开了所述文档的用户分组中的每个用户来更新文档内容,例如如由图16所示。
[0072] 图16是示出了如在文档的片段图呈现中向第一用户反映的由第二用户进行的修订的显示图。通过将显示1600与显示1300进行比较可以看到,子节点1620的正文文本1622已经根据第二用户的修订而被更改了。
[0073] 图17是示出了由第一用户对文档进行的其他修订的显示图。通过将显示1700与显示1600进行比较可以看到,第一用户已经修改了片段图以将新的节点1750作为已有节点1720的子节点来添加。新节点1750包含示出了节点1720所对应的文档章节的图像1751。
[0074] 图18是示出了所述文档对第三用户的呈现的显示图。显示1800包含所述文档以幻灯呈现形式的呈现。特别地,来自节点1720的标题文本1821被示出在页面顶部居中。来自节点1720的正文文本1822被示出在页面左侧。来自节点1750的图像1851被示出在页面右侧。如应当理解的,在幻灯片上下文中,来自节点1710的题目可以被呈现在先前的幻灯片上,而不是由显示1800所描绘的幻灯片上。因此,每种可视化形式可以指定适于在该可视化形式的上下文中呈现的某些内容。与首先的两个用户相同,第三用户可以类似地以该第三用户所选择的可视化形式对文档进行修订。
[0075] 应当理解的是,图18出于说明的目的而被表示为呈现给第三用户,但是本公开不限于此。例如,在一些实施例中,所述设施例如响应于第一用户选择了新的可视化形式而将显示1800作为新的可视化呈现给第一用户。
[0076] 图19是反映由第三用户对文档进行的修订的显示图。通过将显示1900与显示1800进行比较可以看到,第三用户已经修订了标题文本1921以读出“Salad Days”而不是“Early Days”。
[0077] 图20是示出了如被反映给第一用户的第三用户的修订的显示图。通过将显示2000与显示1700进行比较可以看到,标题文本2021已经从“Early Days”改变至“Salad Days”。与其他修订相同,作为该修订的结果,所述设施针对已经打开了所述文档的用户分组中的每个用户而更新文档内容,例如如由图20所示。
[0078] 图21是表格图,其示出了由一些实施例中的设施用来表示可由用户使用以呈现文档的可视化形式的集合的可视化形式表格的样本内容。可视化形式表格2100由例如行2101-2105的行所组成,每一行对应于不同的可视化形式。每一行由以下列的组成:可视化形式列2111,其包含标识可视化形式的信息;以及可视化形式实现列2112,其包含可以由所述设施用来以该列所对应的可视化形式来呈现文档的信息。在各种实施例中,所述设施在可视化形式实现列中存储用于以所述可视化形式呈现文档的多种语言的代码;指向针对该目的的代码的各种指针;等等。例如,行2101在可视化形式实现列2112中包含用于以片段图可视化形式呈现文档的代码或者指向这样的代码的指针。
[0079] 在一些实施例中,所述设施提供了一种用于呈现文档内容的计算系统。所述计算系统包括:输入子系统,其被配置为接收表示对多个可视化形式中的一个可视化形式的选择的输入;渲染子系统,其被配置为根据其选择由被所述输入子系统所接收的输入表示的可视化形式来渲染所述文档内容;以及显示子系统,其被配置为使得经渲染的文档内容被显示。这些子系统中的每个子系统是计算相关的实体,包括硬件、硬件和软件的组合、软件、或者在计算机上执行的软件中的一个。
[0080] 在一些实施例中,所述设施提供了一种用于呈现文档内容的方法。所述方法包括:接收表示对多个可视化形式中的一个可视化形式的选择的输入;根据其选择由所接收的输入表示的可视化形式来对文档内容进行渲染;以及使得经渲染的文档内容被显示。
[0081] 在一些实施例中,所述设施提供了一种具有内容的计算机可读介质,所述内容被配置为为了协同地创作文档而使得计算系统:使得所述文档的一部分以第一形式被显示给第一用户;响应于从所述第一用户接收到指定对以所述第一形式显示给所述第一用户的所述文档的一部分的改变的第一输入:使得根据所述第一输入而改变的所述文档的一部分以所述第一形式被显示给所述第一用户;使得所述文档的持久性表示根据所述第一输入而更改;以及使得根据所述第一输入而改变的所述文档的一部分以不同于所述第一形式的第二形式被显示给第二用户。
[0082] 在一些实施例中,所述设施提供了一种用于协同地创作文档的方法。所述方法包括:使得所述文档的一部分以第一形式被显示给第一用户;以及响应于从第一用户接收到指定对以第一形式显示给第一用户的文档部分的改变的第一输入:使得根据所述第一输入而改变的所述文档的一部分以所述第一形式被显示给所述第一用户;使得所述文档的持久性表示根据所述第一输入而更改;以及使得根据所述第一输入而改变的所述文档的一部分以不同于所述第一形式的第二形式被显示给第二用户。
[0083] 在一些实施例中,所述设施提供了一种存储表示文档的数据结构的计算机可读介质。所述数据结构包括:多个条目,每个条目与多个可视化形式中的不同的可视化形式相对应,每个条目包括:第一信息,所述第一信息标识所述条目所对应的可视化形式;以及第二信息,所述第二信息指定将文档内容转换成根据所述条目所对应的可视化形式来可视化的文档内容的方式,这使得所述数据结构的内容能够用于(a)征求用户输入,所述用户输入选择所述多个可视化形式中的一个可视化形式以在呈现区别的文档内容时使用;以及(b)将所述区别的文档内容转换成根据所选择的可视化形式来可视化的文档内容。
[0084] 结论
[0085] 本领域技术人员将理解的是,在上文中所描述的设施可以以各种方式进行直接适配或扩展。尽管前述描述对特定实施例进行了参考,但是本发明的范围仅仅由以下的权利要求和其中所引用的元素来限定。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用