控制合作文档中的评注的系统与方法

文档序号:6467779阅读:141来源:国知局
专利名称:控制合作文档中的评注的系统与方法
技术领域
本发明涉及控制合作文档中评注的系统与方法。更具体地,本发明涉及 将文档中的评注呈现给所选择的人以及需要时保证评注安全的系统与方法。
背景技术
文档(例如,字处理文档)是通信与文档管理的重要形式。由于其重要 性,对于特定文档的读者可能包括各种类型的人。例如, 一个文档可以具有 一个以上的作者和一个以上的评论者。每一个作者和评论者可能具有关于文 档的不同程度的重要性和范围,因此某些人可能负责编写或者评论整个文档, 而其他人关注特定的部分。另外,某些评论文档的人可能是对那些编写或者 评论文档的人的管理者。由于存在着不同类型的编写和评论文档的人,所以 由于这样的文档对文档的所有用户可见,因而通常从传统评论中省去^t感的 或保密的特性的文档。
一种仅向所选择的人提供评注的方案是经由另一个介质比如在独立的电 子邮件记录中发送评注。对这一方案的明显的挑战是,被包括在一个独立的 电子邮件记录中的评注与实际文档相分离,使得难以确定评注应用在哪里。 这一方案的另一个挑战是,基于电子邮件的评注与文档的生命期不同步,因 此作者与评论者较难在时间上估计是否应在将来的草稿中适当地给出评注。

发明内容
已经发现可以使用 一种在打开包括文档内容和在文档内容中的不同插入 点处所插入的评注的字处理文档时而操作的系统、方法以及计算机程序产品, 解决上述挑战。由对应于具体的用户标识符的用户打开文档。被包括在文档 中的评注包括一个或多个接收者标识符。选择用户的标识符被包括在相应评 注的接收者标识符中的评注的第 一集合,并且选择用户的标识符未被包括在 相应评注的接收者标识符中的评注的第二集合。字处理器将评注的第一集合 显示在文档内容中的它们的各个插入点处,而不呈现评注的第二集合。在一个实施例中,任何不具有接收者标识符的评注可以由任何人浏览,因此它们 被包括在评注的第一集合中。
在另一个实施例中, 一组评注被包括在评注的第一集合中。该组评注包 括一组接收者标识符。通过确定用户标识符被包括在与组接收者标识符对应 的标识符列表中,将组评注包括在评注的第一集合中。在另一个实施例中, 在显示组评注之前,把组评注标识为被加密的。检索包括组加密密钥的接收 者包。用户加密密钥用于对接收者包进行解密,并且与组评注对应的组加密 密钥被4企索并被用于对加密的组评注进行解密。
在一个实施例中,加密的评注的第 一集合被标识为被包括在评注的第一 集合中。为了打开加密的评注,检索与用户标识符对应的加密密钥。然后使 用所检索的加密密钥对加密的评注进行解密。注意,不能使用用户的加密密 钥对被包括在评注的第二集合中的加密的评注进行解密,因为被包括在评注
的第二集合中的评注未#:导向与用户标识符对应的用户。在另 一个实施例中, 使用与用户标识符对应的公共加密密钥对加密的评注进行加密,并且用于对 加密的评注进行解密的加密密钥是与该公共加密密钥对应的私有加密密钥。
以上是概述,并因此必然包含简化、概括和细节的省略,因而,本领域 技术人员将会意识到,此概述仅为说明性的,而非旨在以任何方式进行限制。 在以下所给出的非限制性详细描述中,仅由权利要求加以定义的本发明的其 它方面、发明特性以及优点将变得明显。


参照附图,将更好地理解本发明,以及对本领域技术人员显而易见的本
发明的诸多目的、特性以及优点,附图中
图l是其中可以实现在此所述的方法的数据处理系统的结构图; 图2提供了图l中所示的信息处理系统环境的扩展,用于图示可以在操 作于网络环境中的各种信息处理系统上进行在此所述的方法; 图3是被插入和导向于所选的接收者的评注的屏幕描述;
图4A是当所选的接收者之一浏览具有图3中所插入的评注的文档时该 文档的屏幕描述;
图4B是当非所选的接收者浏览具有图3中所插入的评注的文档时该文档 的屏幕描述;图5是示出用于建立接收者组的步骤的示范流程图; 图6是示出用于打包图5中所建立的各个组的步骤的示范流程图; 图7是示出用于创建导向于特定接收者的评注的步骤的示范流程图; 图8是示出用于从导向于所选的接收者的文档中检索评注的步骤的示 流程图;以及
图9是示出检索导向于一组接收者的加密的评注的步骤的示范流程图
具体实施例方式
在以下的描述和图中,阐述了某些具体的细节,以提供对本发明的不同 实施例的全面理解。然而,在以下公开中,未阐述某些通常与计算和软件技 术相关的公知的细节,以避免不必要地模糊本发明各实施例。另外,相关技 术领域普通技术人员将理解,他们可以实践本发明的其它实施例,而不采用 以下所描述的一或多个细节。最后,尽管参考以下公开中的步骤与序列描述 了不同的方法,但这种描述用于提供对本发明实施例的清楚实现,而不应把 这些步骤与步骤序列视为实践本发明所要求的。替代地,以下旨在提供对本 发明的例子的详细描述,并且不应将其视为对本发明自身的限制。而是,任 何数目的变更均可能落入本发明的范围,这由此描述之后的权利要求加以定 义。
以下的详细描述将总体上遵循以上所给出的本发明的概述,并将在需要 时进一步解释和扩展本发明的各个方面的定义与实施例。为此,该详细描述 首先阐述图1中的计算环境,其适合于实现与本发明相关的软件和/或硬件 技术。图2中将网络环境图示为对基本的计算环境的扩展,以强调可以通过 多个离散的设备进行现代计算技术。
图1图示了信息处理系统100,其是能够进行在此所述的计算操作的计 算机系统的简化例子。信息处理系统100包括耦合于处理器接口总线112的 一个或多个处理器110。处理器接口总线112把处理器110连接于北桥115, 北桥115已知作为存储器控制器集线器(MCH)。北桥115连接到系统存储器 120,并且向处理器IIO提供用于存取系统存储器的手段。图形控制器125也 连接于北桥115。在一个实施例中,PCI Express总线118用于把北桥115连 接于图形控制器125。图形控制器125连接于诸如计算机监视器的显示设备 130。使用总线119把北桥115和南桥135相互连接。在一个实施例中,总线 是在北桥115和南桥135之间的每一方向上以高速传送数据的直接介质接口
(DMI)总线。在另一个实施例中,使用外围组件互连(PCI)总线来连接北 桥和南桥。已知作为1/0控制器集线器(ICH)的南桥135是通常实现以低 于北桥所提供的性能的速度而操作的性能的芯片。南桥135典型地提供了用 于连接各种组件的各种总线。这些总线可以包括PCI和PCI Express总线、ISA 总线、系统管理总线(SMBus或SMB)、低插针数(LPC)总线。通常把LPC 总线用于连接诸如引导ROM 196和"遗留(legacy)"l/0设备(使用"超级I/ O"芯片)的低带宽设备。"遗留"I/0设备(198)可以包括串行和并行端口、 键盘、鼠标、软盘控制器。LPC总线还用于把南桥135连接于可信平台模块
(Trusted Platform module ) (TPM) 195。通常被包括在南桥135中的其它组 件包括直接存储器存取(DMA)控制器、可编程中断控制器(PIC)、存储设 备控制器,其使用总线184把南桥135连接于诸如硬盘驱动器的非易失存储 设备185。
ExpressCard 155是用于把可热插设备连接于信息处理系统的插槽。当使 用通用串行总线(USB)和PCI Express总线两者将ExpressCard 155连接于 南桥135时,ExpressCard 155支持PCI Express和USB连接性两者。南桥135 包括USB控制器140, USB控制器140向连接到USB的设备提供USB连 接性。这些设备包括网络摄像机(摄像机)150、红外(IR)接收器148、提 供无线个人局域网(PAN)的蓝牙设备146、键盘与跟踪板144、以及其它各 种USB连接的设备142,比如鼠标、便携式存储设备、调制解调器、网卡、 ISDN连接器、传真机、打印机、USB集线器、以及许多其它类型的USB连 接的设备。
无线局域网(LAN )设备175经由PCI或PCI Express总线172连接于南 桥135。 LAN设备175典型地实现了空中调制技术(over-the-air modulation technique)的IEEE802.il标准之一,这些技术全部使用了相同的协议,以在 信息处理系统100和另一个计算机系统或者设备之间无线通信。使用串行 ATA ( SATA )总线188把光存储设备190连接于南桥135。串行ATA适配器 与设备通过高速串行链接来通信。串行ATA总线也用于把南桥135连接于其 它形式的存储设备,比如硬盘驱动器。经由总线158把诸如声卡的音频电路 160连接于南桥135。音频电路160用于提供诸如音频线输入与光数字音频输入端口 162、光数字输出与耳机插孔164、内部扬声器166、以及内部麦克风 168的功能性。使用诸如PCI或PCI Express总线的总线把以太网控制器170 连接于南桥135。以太网控制器170用于把信息处理系统100与诸如局域网
(LAN)、因特网、以及其它公共和私有计算机网络的计算机网络相连。
尽管图示出了 一个信息处理系统,但是信息处理系统可以采取多种形式。 例如,信息处理系统可以釆取台式机、服务器、便携式、膝上型、笔记本的 形式或者其它形状因素的计算机或者数据处理系统。另外,信息处理系统还 可以采取诸如个人数字助手(PDA)、游戏设备、ATM机、便携式电话设备、 通信设备、或者包括处理器和存储器的其它设备的其它形状因素。
图1中所示和在此所述的用于提供安全功能的可信平台模块(TPM 195 ) 仅为硬件安全模块(HSM)的一个例子。因此,在此所述和要求保护的TPM 包括任何类型的HSM,该HSM包括但不限于符合可信计算组(Trusted Computing Groups) ( TCG)标准的硬件安全设备,并且被称为"可信平台模块
(TPM)规范版本1.2"。 TPM是可以被并入任何数目的信息处理系统例如图 2中所示的信息处理系统的硬件安全子系统。
图2提供了图1中所示的数据处理系统环境的扩展,用于图示可以在网 络环境中操作的各种信息处理系统上进行在此所述的方法,。信息处理系统的 类型涵盖从诸如手持计算机/移动电话210的小型手持设备到诸如主机计算 机270的大型主机系统的一个宽泛的范围。手持计算机210的例子包括个人 数字助手(PDA)、诸如MP3播放器的个人娱乐设备、便携式电视、以及紧 致盘播放器。信息处理系统的其它例子包括输入笔或写字板计算机220、膝 上型或笔记本计算机230、工作站240、个人计算机系统250、以及服务器260。 图2中未单独示出的其它类型的信息处理系统由信息处理系统280表示。如 所示,可以使用计算机网络200把各种信息处理系统一起连网。可用于互连 各种信息处理系统的计算机网络的类型包括局域网(LAN)、无线局域网
(WLAN)、因特网、公共交换电话网络(PSTN)、其它无线网络、以及可用 于互连信息处理系统的任何其它网络拓朴。许多信息处理系统包括诸如硬驱 动器和/或非易失存储器的非易失数据存储器。将图2中所示的某些信息处 理系统描绘为具有单独的非易失数据存储器(示出服务器260具有非易失数 据存储器265、示出主机计算机270具有非易失数据存储器275、以及示出信 息处理系统280具有非易失数据存储器285 )。非易失数据存储器可以是在各种信息处理系统外部的组件,或者可以在信息处理系统之一的内部。另外, 尽管未示出,但是可以使用各种技术在两个或多个信息处理系统之间共享单 一的非易失数据存储器。
图3是被插入和导向所选的接收者的评注的屏幕描述。图3绘出了字处 理应用300,字处理应用300包括菜单栏310和评注按钮320。使用字处理器 书写文档内容330。根据字处理应用300的用户的请求,把评注添加到文档。 在一个实施例中,使用了诸如评注按钮320的可视图标。如本技术领域技术 人员将意识到的,存在许多其他手段用于请求诸如键盘动作、话音激活命令 等字处理应用的动作或操作。用户把光标放置在将插入评注的插入点340处, 然后请求评注。尽管这些评注通常不出现在诸如打印出的最终结果中,但是 其可以用于通信,特别是文档的一个或多个书写者和文档的一个或多个评论 者的多个用户之间的通信。另外,也可以与每一个人或者仅与所选的接收者 共享评注。所选的接收者可以被包括在组中,比如评论者的组和书写者的组。 最后,由于评注可能包括仅仅旨在与一个或多个所选的接收者共享的敏感或 保密的信息,因此可以对评注加密,以便未选择的接收者不能够"窃用(hack)" 文件以浏览这种评注。使用评注插入对话窗口 350来管理接收者的选择。
当选择了评注请求(例如,评注按钮320)时,评注插入对话窗口 350 出现。对话窗口 350包括各种组件,这些组件包括评注内容区360,用户 在那里输入评注;评注接收者选择区370,用户在那里选择哪些接收者将能 够浏览评注;加密检验框385,当用户希望对评注内容进行加密以致其他未 被选择的接收者不能窃用字处理文档以便浏览评注内容时,选择该加密检验 框385。另外,对话窗口 350包括添加评注命令按钮3卯和取消命令按钮395。 在用户已于评注内容区360中键入了评注内容并从接收者选择区370选择了 一个或多个接收者之后,则用户选择"添加评注"命令按钮,以便在插入点处 将评注添加到文档。如果用户决定不添加评注,则用户可以选择"取消"命令 按钮395,以取消评注的添加。在所示例子中,可能的接收者的列表包括各 种组和个人。用户能够在使用诸如鼠标或键盘键选择接收者的同时,通过使 用输入技术比如按下键盘键(例如"控制,,键)来选择多个组或者个人。在所 示例子中,所选的接收者380包括:故标识为文档的作者的"Andrew"和^L标识 为文档的评论者的"Rene"。在一个实施例中,自动地选择评注的书写者 ("Richard,,381 ),以便书写者可以继续浏览评注。如前所述,可能的接收者的列表包括诸如"所有接收者"、"所有作者"、或者"所有评论者,,的组。这些 组简单的例子,并且可以基于文档的类型创建和使用另外的或者不同的组。 例如,当文档属于组织的结构或者管理时,接收者组可以包括"管理者"、"雇 员"、"销售方"等。
图4A是当所选的接收者之一浏览具有图3中所插入的评注的文档时该 文档的屏幕描述。当所选的接收者之一使用字处理器300打开具有评注的文 档时,评注窗口 400出现。评注窗口 400包括所插入的评注内容以及相应于 评注的元数据。元数据包括评注的作者(在本例中,作者名为"Richard")以 及相应于何时插入评注的时间标签。
图4B是当非所选的接收者之一浏览具有图3中所插入的评注的文档时该 文档的屏幕描述。与图4A所示的图相比,在图4B中,评注不出现,因为字 处理应用300的用户不是所选的接收者之一。使用图3中所提供的样本名字, 由"Alice"、 "Oscar"、 "Wendy"或者"Xavier"的任何一个操作图4B中所示的字 处理应用,因为没有把这些人中的任何一个选择为评注的接收者。
'图5是示出示用于建立接收者组的步骤的示范流程图。处理开始于500 处,于是,在步骤510处,系统4妄收组名(例如,从用户那里),并且把所接 收的组名存储在组数据存储器520中。如所示,组数据存储器520用于存储 组名和与各个组相关的公共密钥以及唯一标识每一个组的成员的诸如用户登 录标识符或者电子邮件地址的成员(接收者)标识符。在步骤525,对于在 步骤510中所接收和存储的组名,生成非对称的公共密钥/私有密钥对。公 共密钥被存储在组数据存储器520中,而私有密钥与各个组名一起被存储在 私有组存储器530中。此时,单个组名与私有组存储器530中的私有密钥以 及公共组数据存储器520中的公共密钥相关联。
在步骤540,从接收者数据存储器550中选择包括在新形成的组中的第 一个成员(接收者)。如所示,接收者数据存储器550包括可能的接收者的名 字以及接收者的标识符(例如,用户登录、电子邮件地址等)。另外,对于每 个接收者生成了非对称的公共密钥/私有密钥对。对应于每个接收者的公共 密钥与各个接收者相关联,并且被存储在接收者数据存储器550中。在步骤 555,在步骤540所检索的接收者标识符被存储在组数据存储器520中,并且 与接收者所属的一个(或多个)组相关联。使用图3的例子,示出Alice、 Andrew、 Oscar以及Wendy都作为"作者,,,因此应将他们添加到文档的"作者"组。同样,示出Rene、 Richard以及Wendy都作为"评论者",因此应将他们 添加到文档的"评论者"组。注意,把Wendy被包括在这两个组中,因为她既 被标记为文档的作者,也被标记为文档的评论者。而且注意,Xavier既未被 标记为文档的作者,也未被标记为文档的评论者,因此不应将其包含在任何 组中。返回至图5,在于步骤555存储了所选择接收者之后,判断是否还存 在包括在组中的更多成员(决定560)。如果存在更多要包括的成员,则决定 560转向"是"分支562,该分支循环回去以便用户可以选择包括在组中的下一 个成员(接收者),并且相应地保存接收者的数据。该循环继续,直至不再存 在要包括在所选的组中的成员,此时,决定560转向"否"分支564,于是,进 行判断是否还存在要创建的更多的组(决定565 )。如果还存在更多要创建的 组,则决定565转向"是"分支566,该分支循环回去以接收和存储关于下一个 组的数据,包括对于该组的组成员(单个接收者)的选择与存储。该循环继 续,直至用户不再创建任何组,此时,决定565转向"否"分支568。
在已经创建了组并存储了关于组的数据之后,则对组进行打包(预定过 程570,参见图6以及对处理细节的相应文本)。组的打包产生了一或多个加 密的接收者包575,每个加密的接收者包575仅可由特定的接收者打开。在 步骤580,加密的接收者包575和组数据存储器520被包括在与接收者和组 相关联的一个(或多个)文档585中。在一个实施例中,通过把组数据、加 密的接收者包以及接收者数据附于将对其进行评注的文档来创建文档585。 以此方式,创建和浏览导向具体组或者个人的评注所需的组数据和接收者数 据被保持在一起,以便当浏览或者编辑文档时每个用户具有对所有所需数据 的存取,而不管用户的位置如何或者是对集中化的有组织的数据存储器的存 取。在步骤590,文档585被提供给各个接收者。可以使用传统的方法比如 把文档存储在共享的非易失数据存储设备上、把文档附接于电子邮件消息并 经由诸如因特网的网络发送到接收者、或者使用其它已知的方法来实现文档 的提供。然而,既然字处理文档585包括组数据、加密的接收者包以及接收
或接收者的组的文本所包括的评注,以下将进一步加以说明。其后处理在595 处结束。
图6是示出了用于打包图5中所建立的各个组的步骤的示范流程图。处 理开始于600,于是,在步骤610,从接收者数据存储器550中选择第一接收者。在步骤620,从包括所选的接收者的组数据存储器520中(使用接收者 的标识符)标识第一组。确定所选的接收者是否属于任何组(决定630)。如 果所选的接收者不属于任何组,则决定630转向"否,,分支632,该分支循环回 去,以从接收者数据存储器550选择下一个接收者,并进行处理。当选择了 属于至少一个组的接收者时,则决定630转向"是"分支638,以创建接收者包。 在步骤640,从私有组存储器530中检索组的私有密钥和组的名字,并 且把它们存储在接收者包650中。在步骤660,试图标识包括所选的接收者 作为成员的下一个组。确定是否标识了包括所选的接收者作为成员的下一个 组(决定670)。如果发现了下一个组,则决定670转向"是"分支672,该分 支循环回去,以从私有组存储器530中检索新选择的组的名字和私有密钥, 并且将所检索的名字和私有密钥存储在接收者包650中。该循环继续,直到 已经标识了所选择接收者所属的所有组,并且把组的名字和私有密钥存储在 接收者的包中。在已经发现所选的接收者所属的所有组,并且对它们进行了 处理之后,决定670转向"否,,分支674,于是,在步骤675,使用接收者的公 共密钥对刚刚创建的接收者的包(650)进行加密,从而产生加密的接收者包 680。
然后,判断可用的接收者数据存储器550中是否存在要处理的更多接收 者(决定685 )。如果存在更多接收者,则决定685转向"是"分支688,该分 支循环回去,以处理数据存储器中的下一个接收者。对于作为一个或多个组 的成员的那些接收者,创建另外的加密的接收者包680,并且将它们添加于 加密的接收者包682的组中。将加密的接收者包682随字处理文档而包括, 并且由于仅可以使用接收者的私有密钥来打开各个加密的接收者包,因此可 以针对未经授权的接收者或字处理文档的使用保护被存储在加密的包中的组 密钥。在已经处理了所有的接收者之后,决定685转向"否"分支690,并且处 理在695处返回至调用例程(参见图5)。
图7是示出了用于创建导向具体接收者的评注的步骤的示范流程图。处 理开始于700,于是,在步骤705,检索文档中的评注插入点。在一个实施例 中,评注插入点是文档中光标的当前位置。在步骤710,从用户处接收要显 示在插入点处的评注内容。在步骤715,从用户处接收第一评注接收者(例 如,从诸如图3中所示的接收者列表370的接收者列表中选择)。确定用户是 否已经选择使评注对所有接收者可见(决定720 )。在一个实施例中,当已经选择了"所有接收者,,(例如,从诸如图3中所示的接收者列表370的接收者 列表中选择"所有接收者")时,或者当还没有选择具体的接收者时,确定所 有接收者是所预期的读者。如果确定已经选择了所有接收者,则决定720转 向"是,,分支722,于是,在步骤725,插入点与评注内容一起被存储,以致评 注内容将可由字处理文档的任何接收者浏览,其后,处理在730结束。
返回到决定720,如果没有选择所有接收者,则决定720转向"否"分支 732,以处理不同的接收者。在步骤735,把将被插入文档中的评注接收者标 签初始化为第一评注接收者的标识符。注意,每个接收者既可以是单个的接 收者,也可以是一組接收者。确定用户是否请求对评注进行加密(决定740)。 如果用户请求加密评注,则决定740转向"是"分支742,于是,在步骤745, 从接收者数据存储器550(在单个接收者的情况下),或者>^人组数据存储器520 (在组接收者的情况下)检索与该单个或者组接收者相对应的非对称的"公 共,,密钥。在步骤750,使用所检索的公共密钥来加密评注,并且在步骤755, 把插入点与评注接收者标签和加密的评注内容(例如,评注内容、图形、多 媒体等) 一起存储在字处理文档中。在步骤760,从接收者的列表中检索下 一个评注接收者(单个接收者或者组接收者)。确定是否在列表中发现了下一 个接收者(决定765 )。如果发现了另一个接收者,则决定765转向"是"分支 768,于是,在步骤770,将评注接收者标签重新设置为下一个评注接收者的 标识符,然后处理循环回去,以处理该接收者(检索接收者的公共密钥、加 密评注内容、以及把数据存储在文档中)。该循环继续,直至已经处理了在接 收者列表中所选择的所有接收者,此时,决定765转向"否,,分支772,并且加 密的评注创建处理在795结束。
返回至决定740,如果评注未被加密,则决定740转向"否"分支774,于 是,在步骤775,试图从接收者的列表中检索由用户选择的下一个评注接收 者(组或个人)。确定用户是否选择了下一个接收者(决定780,即,是否发 现了下一个接收者)。如果发现了另一个所选的接收者,则决定780转向"是,, 分支782,于是,在步骤785,把新发现的接收者标识符(组标识符或者个人 标识符)附于评注接收者标签,并且处理循环回去,以;险索另外的所选择的 接收者标识符。该循环继续,直至不再存在要处理的所选接收者,此时,决 定780转向"否"分支788,于是,在步骤790,将插入点与评注内容一起存储, 以便可由其标识符被包括在评注接收者标签中的任何接收者浏览评注内容。其后,对于所选择的受者的未加密的评注创建在795结束。
图8是示出了用于从被导向所选的接收者的文档中检索评注的步骤的示 例流程图。处理开始于800,于是,在步骤805,接收者之一打开具有已经才艮 据本发明而插入的评注的字处理文档585。而且,在步骤805中,从用户的 存储器810中检索用于浏览加密的评注的用户的私有密钥。在步骤815,检 索组数据。在一个实施例中,如图6中先前所示,属于一个组的每个接收者 具有为各个接收者所创建的加密的接收者包。使用各个接收者的公共密钥来 加密每个加密的接收者包。在此实施例中,检索为接收者所创建的组包,并 且使用该接收者的与用于加密该接收者的组包的公共密钥相对应的私有密钥 来对其解密。加密的接收者组包内的是接收者所属的组名字(组标识符)以 及用于解密已经被导向该组的评注的私有密钥。例如,如果该接收者是"作者" 组的成员,则该接收者的组包内的将是组标识符(例如,"作者")以及对应 于"作者,,组的私有加密密钥。当遇到导向接收者或者导向接收者所属的组之 一的加密的评注时,则接收者的私有密钥被用于解密被导向接收者的评注, 并且组的私有密钥被用于解密被导向接收者所属的组之一的评注。字处理文 档585的组数据部分包括已经建立的组名字(标识符)、对应于每个组的公共 加密密钥、以及在一个实施例中的每个组的组成员的列表。在步骤820,标 识此接收者所属的组,并且将它们存储在诸如存储器位置的存储区825中。
在步骤830,扫描包括评注数据的文档的文本部分,以便查找第一评注 插入点。确定是否在文档中发现了评注插入点(决定832)。如果在文档中发 现了评注插入点,则决定832转向"是"分支834,以处理刚刚发现的评注。确 定是否把评注导向文档的所有接收者(决定835 )。在一个实施例中,当已经 选择了"所有接收者,,(例如,从诸如图3中所示的接收者列表370的接收者 列表中选择"所有接收者")时,或者当还没有选择具体的接收者时,确定所 有接收者都是预期的读者。如果评注被导向文档的所有接收者,则决定835 转向"是,,分支838,于是,在步骤840,检索评注,并且在评注插入点处将其 提交(例如,显示等)给接收者。然后处理循环回去,以在文档中查找下一 个评注插入点。
返回至决定835,如果不将评注导向所有接收者,则决定835转向"否" 分支848,于是,在步骤850,解析评注接收者标签,以便确定接收者的标识 符是否被包括在评注接收者标签中,或者接收者所属的组标识符之一是否被包括在评注接收者标签中。确定用户的标识符是否^L包括在评注接收者标签 中(决定885 )。如果用户的标识符被包括在评注接收者标签中,则决定855 转向"是,,分支858,以处理评注。确定被导向接收者的评注是否被加密(决定 860)。如果评注被加密了,则决定860转向"是"分支862,于是,在步骤865, 使用在步骤805中所检索的接收者的私有密钥来解密评注内容。在步骤870, 在评注插入点处把解密的评注内容呈现给接收者。然后处理循环回去,以查 找文档中的下一个评注插入点。返回到决定860,如果被导向接收者的评注 未^皮加密,则决定860转向"否"分支872,于是,在步骤886,在评注插入点 处把未加密的评注内容呈现给接收者。然后处理循环回去,以查找文档中的 下一个"i平注4i入点。
返回至决定855,如果用户的标识符未被包括在评注4妄收者标签中,则 决定855转向"否"分支876,用于进一步处理。判断评注接收者标签是否包括 接收者所属的组标识符(决定878 )。如果评注接收者标签包括接收者所属的 组标识符,则决定878转向"是"分支880,于是,确定导向组的评注是否被加 密(决定882)。如果导向组的评注未被加密,则决定882转向"否"分支884, 于是,在步骤886,在评注插入点处将未加密的评注内容呈现给接收者。然 后处理循环回去,以查找文档中的下一个评注插入点。另一方面,如果导向 组的评注被加密了,则决定882转向"是"分支888,于是,在预定的过程890, 对加密的导向组的评注进行解密,并且将其呈现给用户(参见图9以及对于 处理细节的相应文本)。然后处理循环回去,以查找文档中的下一个评注插入 点。
返回至决定878,如果用户不属于被包括在评注接收者标签中的任何组, 则决定878转向"否"分支892,于是,在894,跳过评注,并且不将其呈现给 用户。然后处理循环回去,以查找文档中的下一个评注插入点。
上述处理继续查找字处理文档585中的评注,直到不再存在要处理的评 注。当已经处理了所有的评注时,决定832转向"否"分支892,并且处理结束 于895。
图9是示出了检索被导向一组接收者的加密的评注的步骤的示例流程 图。处理开始于900,于是,确定该用户的接收者包是否已经被解密。如果 用户的接收者包还未被解密,则决定905转向"否"分支908,于是,在步骤 910,在文档585中查找用户的加密的接收者包925。在一个实施例中,用接收者标识符标记用户的加密的接收者包。 一旦查找到,在步骤920,使用用 户的私有密钥来解密用户的加密的接收者包,并且将其作为解密的接收者包 930存储在存储器区域中。返回到决定905,如果已经解密了用户的接收者包, 则旁路步骤910和920,决定905转向"是"分支935。
在步骤940,搜寻解密的接收者包来寻找在评注接收者标签中所发现的 组标识符。判断该组是否是解密的接收者包930中所列的组之一(决定950 )。 如果该组是解密的接收者包930中所列的组之一,则决定950转向"是"分支 955,于是,在步骤960,使用对应于该组的并且从用户的解密的接收者包中 930所检索的组的私有密钥对加密的导向组的评注进行解密。确定使用所枱, 索的组私有密钥对组评注的解密是否成功(决定970)。如果解密成功,则决 定970转向"是"分支975,于是,在步骤980,在评注插入点处把解密的组评 注呈现给接收者,并且在995,处理返回至调用例程(例如,图8)。另一方 面,如果解密不成功,则决定970转向"否"分支984,于是,在990,跳过评 注,并且不将其呈现给用户,并且在995处,处理返回至调用例程。返回至 决定950,如果该组不是解密的接收者包930中所列的组之一,则决定950 转向"否,,分支988,于是,在990,跳过评注,并且不将其呈现给用户,并且 在995,处理返回至调用例程。
本发明的优选实现之一是客户端应用,即,可以存在于例如计算机的随 机存取存储器中的代码模块中的指令(程序代码)的集合或其它功能的描述 素材。在计算机需要之前,可以将指令的集合存储在另一个计算机存储器中, 例如,存储在硬盘驱动器中,或者存储在诸如光盘(用于CD ROM中的可能 使用)或者软盘(用于软盘驱动器中的可能使用)的可移除存储器中,或者 经由因特网或者其它计算机网络下载。因此,本发明可以被实现为用于在计 算机中使用的计算机程序产品。另外,尽管在由软件选择性地激活或者重新 配置的通用计算机中方便地实现了所述的各种方法,然而本领域普通技术人 员还将意识到,可以在硬件、固件、或者在被构造用于进行所要求的方法步 骤的更加专门化的装置中实现这样的方法。功能性描述素材是将功能性告知 机器的信息。功能性描述示出包括但不局限于计算机程序、指令、规则、事 实、可计算函数的定义、对象以及数据结构。
尽管已经示出和描述了本发明的具体实施例,然而对于本领域技术人员 很明显,基于此处的教授,在不脱离本发明及其较宽泛的方面的情况下,可以进行变动与修改。因此,所附权利要求将在其范围内涵盖只要处于本发明 的真实精神与范围内的所有这样的变动与修改。而且,应理解,本发明仅由
所附权利要求而限定。本领域技术人员将理解,如果意指特定数量的所介绍 的权利要求要素,则将在权利要求中明确地阐述这一意图,并且在不存在这 样的阐述的情况下,不存在这样的限制。对于非限制性的例子,为了有助于
理解,以下所附^L利要求包含对介绍性短语"至少一个(at least one)"和"一 个或多个(oneormore),,的使用,以介绍权利要求要素。然而,不应将这样 的短语的使用认为是暗示具有不定冠词"一个(a)"或者"一个(an),,的权利
要求要素的介绍将包含如此介绍的权利要求要素的任何具体的权利要求限制 为仅包含一个这样的要素的发明,即使是当同一权利要求包括介绍性短语"一 个或多个(oneormore),,或者"至少一个(atleastone),,以及诸如"一个(a)" 或者"一个(an),,的不定冠词时也是如此,对于权利要求中使用定冠词的情 况同样如此。
权利要求
1. 一种计算机实现的方法,包含打开包括文档内容和在所述文档内容中的多个插入点处所插入的多个评注的字处理文档,其中,所述打开发生在当前被分配给用户标识符的字处理应用期间,并且其中,所述多个评注的一个或多个包括一个或多个接收者标识符;从所述用户标识符被包括在相应评注的接收者标识符中的多个评注中选择评注的第一集合;从所述用户标识符未被包括在相应评注的接收者标识符中的多个评注中选择评注的第二集合;显示所述评注的第一集合,所述评注的第一集合中的每个被显示在所述文档内容中的它们各自的插入点处;以及禁止显示所述评注的第二集合。
2. 根据权利要求l所述的方法,其中,不包括一个或多个接收者标识符 的多个评注中的至少一个被包括在所述评注的第一集合中。
3. 根据权利要求1所述的方法,其中, 一組评注被包括在评注的第一集 合中,其中,该組评注包括一组接收者标识符,并且其中,所述评注的第一 集合的选择还包含确定所述用户标识符被包括在对应于所述组接收者标识符的标识符列表中。
4. 4艮据权利要求3所述的方法,还包含 在显示所述组评注之前确定所述组评注被加密;响应于确定所述组评注被加密查找与所迷用户标识符对应的加密的接收者包,其中,所述接收者包包括一个或多个组加密密钥;-险索与所述用户标识符对应的用户加密密钥;使用所检索的用户加密密钥来对所述加密的接收者包解密;从解密的接收者包中检索所选择的组加密密钥,其中,所选择的组加密密钥对应于所述组接收者标识符;以及使用所选择的组加密密钥对加密的组评注解密。
5. 根据权利要求1所述的方法,还包含标识在所述评注的第 一集合中所包括的 一个或多个加密的评注的第 一 集合;检索与所述用户标识符对应的加密密钥;以及 -使用所;险索的加密密钥对所述加密的评注的第一集合解密。
6. 根据权利要求5所述的方法,其中, 一个或多个加密的评注的第二集 合被包括在所述评注的第二集合中,并且其中,所检索的加密密钥不能够对 所述加密的评注的第二集合解密。
7. 根据权利要求5所述的方法,其中,使用与所述用户标识符对应的公 共加密密钥对从所述加密的评注的第一集合中所选择的加密的评注的至少一 个进行加密,并且其中,用于对所选择的加密的评注进行解密的加密密钥是 与所述^^共加密密钥对应的私有加密密钥。
8. —种信息处理系统,包含 一个或多个处理器;可由所述处理器的至少一个存取的存储器;可由所述处理器的至少 一个存取的非易失存储区;被存储在所述存储器中并且由所述处理器的至少 一个执行以便进行下列 动作的指令集合打开包括文档内容和在所述文档内容中的多个插入点处所插入的多个评 注的字处理文档,其中,所述打开发生在当前被分配给用户标识符的字处理 应用期间,并且其中,所述多个评注的一个或多个包括一个或多个接收者标 识符;^v所述用户标识符:故包括在相应评注的^"收者标识符中的多个评注中选择评注的第一集合;从所述用户标识符未4st包括在相应评注的接收者标识符中的多个评注中 选择评注的第二集合;显示所述评注的第一集合,所述评注的第一集合中的每个被显示在所述文 档内容中的它们各自的插入点处;以及禁止显示所述评注的第二集合。
9. 根据权利要求8所述的信息处理系统,其中,不包括一个或多个接收者标识符的多个评注中的至少一个被包括在所述评注的第一集合中。
10. 根据权利要求8所述的信息处理系统,其中, 一组评注被包括在所述评注的第一集合中,其中,所述组评注包括一组接收者标识符,并且其中, 所述评注的第一集合的选择还包含另外的指令,当被执行时,所述指令致使所述处理器的至少一个进行进一步的动作,包含确定所述用户标识符被包括在对应于所述组接收者标识符的标识符列表中。
11. 根据权利要求IO所述的信息处理系统,其中,当被执行时,所述指 令集合致使所述处理器的至少一个进行进一步的动作,包含在显示所述组评注之前 确定所述组评注被加密; 响应于确定所述组评注:故加密查找与所述用户标识符对应的加密的接收者包,其中,所述接收者包包4奮一个或多个组加密密钥;检索与所述用户标识符对应的用户加密密钥;使用所检索的用户加密密钥来对所述加密的接收者包解密;从解密的接收者包中检索所选择的组加密密钥,其中,所选择的组加密密钥对应于所述组接收者标识符;以及使用所选^t奪的组加密密钥对加密的组评注解密。
12. 根据权利要求8所述的信息处理系统,其中,当被执行时,所述指 令集合致使所述处理器的至少一个进行进一步的动作,包含标识在所述评注的第 一集合中所包括的一个或多个加密的评注的第 一集合;-险索与所述用户标识符对应的加密密钥;以及 使用所检索的加密密钥对所述加密的评注的第一集合解密。
13. 根据权利要求12所述的信息处理系统,其中,使用与所述用户标识 符对应的公共加密密钥对从所述加密的评注的第 一 集合中所选择的加密的评 注的至少一个进行加密,并且其中,用于对所选择的加密的评注进行解密的 加密密钥是与所述公共加密密钥对应的私有加密密钥。
全文摘要
提供了一种在打开在文档中的各个插入点处所插入的文档内容的字处理文档时操作的系统、方法以及程序产品。由对应于具体的用户标识符的用户打开文档。被包括在文档中的评注包括接收者标识符。选择用户的标识符被包括在相应评注的接收者标识符中的评注的第一集合,并且选择用户的标识符未被包括在相应评注的接收者标识符中的评注的第二集合。字处理器将评注的第一集合显示在文档内容中的它们各自的插入点处,而不呈现评注的第二集合。
文档编号G06F17/21GK101436175SQ20081017405
公开日2009年5月20日 申请日期2008年11月12日 优先权日2007年11月16日
发明者威廉·A·赖克特三世, 帕特里克·R·沃德罗普, 珍妮弗·E·金, 蒂莫西·R·查维斯, 雅各布·D·艾辛格 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1