共享电子表格中的私有表格的制作方法

文档序号:6476635阅读:423来源:国知局
专利名称:共享电子表格中的私有表格的制作方法
技术领域
当前公开的主题涉及(但绝不限定于)计算领域,尤其涉及电子表格应用程序领域。
祸旦冃豕
电子表格应用程序给予用户容易地将帮助他们考虑如果怎么办的情形的快速计算或例如其实际数据内的信息认证等一些简单微建模摘记下来的能力。在将电子表格放置在服务器上来允许人们以协作性的方式编辑它们时,此编辑可能与另一个编辑冲突。此外,用户使用实际数据的左侧或右侧的区域作为剪贴板是常见的。在协作时,还共享此信息,从而将潜在"噪声"添加到其他用户处。
因此,拥有像其余电子表格一样工作(允许计算等等)但对其余工作簿不可见或不可访问的"私有"区域是有利的。拥有可以用作剪贴板的私有区域,从而利用了使用电子表格工作的所有功效,却不将数据传播给其余用户也将是有利的。
概述
在此处所公开的各方面中,公开了用于在例如电子表格等共享计算机应用程序中提供私有区域(或者,在一个非限制性示例中,称作"表")的系统、方法、计算机可读介质等等。例如,在一方面,公共表可由第一客户机和第二 客户机访问,而私有表仅可由(第一和第二客户机中的)第二客户机访问。私 有表被配置成访问公共表中的内容,但该公共表被阻止访问私有表中的内容。 以此方式,在公共表上与其他用户协作的同时,用户可以在旁边使用私有表来 执行计算或建模。
在另一方面,如果对公共表中的内容作出的改变被私有表引用,则可以对 公共表作出的这一改变可被反映在私有表中。例如,如果在公共表中改变的值 被私有表标记或引用来用于更新,则该值将相应地在私有表中改变。然而,对 私有表作出的改变不被反映在公共表中,因为个别用户的私人改变不应对其余 用户组的公共协作性工作起作用,所以不将对私有表格作出的表格反映在公共 表格中。
在还有一些方面中,公共表可以驻留在被配置成服务第一和第二客户机的 服务器上。因此,有其自己的私有表的客户机可以使用主存公共表的服务器来 进行协作性会话。然而,另选地,所公开的主题可以相当容易地在对等网络(与 客户机一服务器网络形成对比)上实现。无论最终的实现如何,可以在其它方 面中使用各种其它细节。例如,除了对第一客户机不可访问之外,私有表对第 一客户机可以是不可见的(根据上述讨论)。取决于应用,公共表和私有表可 以是相同电子表格应用程序的一部分。如此,可以实施某些规则,例如将私有 表配置成访问来自公共表的值而不访问公式。
应当注意,提供本概述以便用简化形式介绍下面在详细描述中进一步描述 的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也 不旨在用于帮助确定所要求保护的主题的范围。
附图简述
以上的概述以及以下的详细描述在结合附图阅读时能更好地理解。为例示 本发明,示出了本发明的各方面。然而,本发明不限于所讨论的各特定方面。 包括以下附图


图1示出其中客户机可以通过使用例如服务器等公共会合点来在应用程 序上协作的现有技术系统。图2示出图1的附加细节方面,其中表中的单元格可以创建对其它单元格 的各种引用、依赖性、以及接入点。
图3示出工作簿中的某些表可以只对某些客户机可见和/或可访问,而不 对其他客户机可见和/或可访问。
图4示出客户机可以对其自己的私有表和任何公共表作出改变,但不能对 彼此的私有表作出改变。
图5示出参考图4所讨论的改变是如何在私有和公共表之间影响的,艮P, 图5 (尤其是在结合图6的情况下)演示了此类表之间的影响的流如何不对称。 图6与图5形成对比,示出了私有表中的改变对公共表中的内容可以没有影响。
图7示出典型网络环境中的私有表存储和执行的位置。
图8示出涉及用于当前所公开的主题的一示例性、非限制性方面的对等
网络的情况(与图1所示的具有可用于当前所公开的主题的其它方面的客
户机一服务器体系结构的方面形成对比)。
图9以框图形式示出了当前所公开的主题的一示例性、非限制性实现的
流程图。
图IO示出了结合当前所公幵的主题的各个方面使用的示例性PC。 图11示出其中可以在多台图9所示的PC之间共享电子表格应用程序的 示例性网络环境。
详细描述 介绍和概览
在此详细描述中,详细研究了当前所公开的主题的示例性、非限制性方面。 然而,集中于电子表格的上下文中的私有表的此方面不限于"表"或"电子表 格"。本领域普通技术人员将容易理解,也可以相当容易地讨论"页面" 和"文字处理程序",或"调色板"和"绘图/草绘程序"等等。当前所公 开的主题适用于几乎任何计算机应用程序。然而,为简明并有效地具体化当前 所公开的主题起见,在以下讨论电子表格中的私有表的各个方面。
因此,此处所公开的是计算机程序,即电子表格中的私有表。根据在以下详细讨论的一方面,公共表可由第一客户机和第二客户机访问。此外,私有表 仅可由第二客户机访问。私有表被配置成访问公共表中的内容,但该公共表不 能访问私有表中的内容。以此方式,在公共表上与其他用户协作的同时,用户 可以在旁边使用私有表来执行计算或建模。根据也在以下详细研究的另一方 面,如果对公共表中的内容作出的改变被私有表引用,则对公共表作出的这一 改变可被反映在私有表中。然而,对私有表作出的改变不被反映在公共表中。 还公开了许多其它特定方面,例如私有表访问来自公共表的值而不访问公式。
电子表格中的私有表的各方面
在电子表格的上下文中,应用程序"工作薄"可以是包含一个或多个"工 作表"的文件,该文件可以用于组织各种类型的相关信息。可以同时在若干工 作表上输入和编辑数据,并且可以基于来自一个以上工作表的数据来执行计 算。例如,在创建图表时,可以将该图表放置在同一工作表上作为其相关数据, 或放置在单独的图表表上。给定例如"表"、"工作薄"等的概念,本领域 技术人员将容易理解典型的电子表格程序可以采用的各种排列。
现在转到第一张图,图1示出其中客户机可以通过使用例如服务器等公共 会合点来在应用程序上协作的现有技术系统。具体地,客户机A100可以通过 某一网络(参见下文以获得关于此处构想的网络的类型的广泛讨论)与服务器
U0通信。应注意,客户机A 100不仅可以是个人计算机(PC),还可以是例 如手持式、蜂窝电话等几乎任何计算设备(参见下文以获得关于此处构想的计 算设备的类型的广泛讨论)。
另一客户机,即,客户机B105也可以与该服务器110通信。因此,以此 方式,客户机A100和B105可以通过在服务器110上"会合"来在某些项目 上协作。例如,客户机A100和B105可以在运行于服务器110上的应用程序 145上协作。该应用程序145可以具有多个工作簿并且随这些工作薄可具有多 个表。具体地,工作薄A 115可具有表C 120和D 125,而工作薄B130可具 有表E 135和F 140。客户机A 100和B 105可以在这些工作薄115,、 130以及 驻留在其中的表120、 125、 135、 140中的任一个上一起工作或独立工作。
此外,图2示出图1的附加细节方面,其中表中的单元格可以创建对其它
8单元格的各种引用、依赖性、以及接入点。如在此处所使用的这些术语"引用"、 "依赖性"、以及"接入",它们被理解为宽泛地传达单元格能具有的与另一 个单元格的各种关系。例如,第一表的一个单元格中的值可以依赖于第二表的 第二单元格的值。类似地,单元格可以引用其它单元格来取得值(或者其它内 容,例如公式)。在任何情况下,给定合适的上下文,本领域技术人员将容 易理解这些术语意味着什么。换言之,此处没有给它们任何特殊限制性含义, 而正相反,它们涵盖用户在使用例如电子表格等计算机程序时通常参与的各种 情况。
接着,图3示出工作簿中的某些表可以只对一些客户可见和/或可访问,
而对其他用户不可。在图3中,客户A100可以看到和/或访问表C120。因为 此表120可被其它客户机看到和/或访问,所以它是"公共表"。应该注意,表 可以(1)被看到或不被看到,和/或(2)被访问或不被访问。在前一种情况下, 允许其它客户机看到私有表——在私有表在那里,但不允许用户读取其中的内 容的意义上看到——但不能够访问它们(例如编辑它们)可能不像首先即不显 示它们那样有用,但这些只是取决于使用需求的实现细节。在后一种情况下, "访问"被理解为至少需要读取和/或写入数据的能力。但是,还可以意味着(但 不限于)能够取得单元格中的值和/或公式。
与表C 120形成对比,表D 125仅可被客户机B 105看到和/或访问。实际 上,表C 120和表D 125都可被客户机B 105看到和/或访问。然而,客户机A 100仅可以看到和/或访问表C 120。虚线300、 305旨在示出此概念,因为内部 虚线300将客户机A 100的视野和/或访问限于表C 120,而外部虚线105允许 客户机B 105看到和/或访问两张表120、 125。
接着,图4示出客户机可以对他们自己的私有表和任何公共表作出改变, 但不能对彼此的私有表作出改变。在图4中,客户机A 100可以对表G 145 (该 客户机100的私有表),并且另外可以对公共表C120作出改变。类似地,客 户机B 105可以对其自己的私有表D 125和其公共表C 120作出改变。然而, 客户机A 100不能对客户机B105的私有表D 125作出改变,而相应地,客户 机B 105不能对客户机A100的私有表G 145作出改变。当然,可以理解,根 据上述讨论,此类限制不仅延及改变,还延及客户机仅仅读取其它客户机的私有页面的能力,或甚至延及其它客户机要用来开始私有页面的知识。
私有表145、 125的安全性和隐私级别可按照用户和/或系统和/或应用程序规 范来设置。在任何情况下,如之前一样,虚线框400、 405试图划定客户机的 可操作性的范围客户机A100具有对表G145和C120的可操作性,而客户 机B 105具有对表C 120和D 125的可操作性。
还应该注意,私有表可以或可以不被持久存储。换言之,它们可以是在用 户完成特定任务、会话、或工作薄时被删除的真正的剪贴板。另一方面,私有 表还可被认为重要或相关到足以被保留并变为作为给定工作薄的整合部分来 集成。
接着,图5示出参考图4所讨论的改变是如何在私有和公共表之间影响的, 即,图5(尤其是在结合图6的情况下)演示了此类表之间的影响的流如何不 对称。这意味着,例如,如有所需,公共表中的改变可以透入私有表,但私有 表中的改变不可以透入公共表。图5示出工作薄A 115的公共表C 120中的单 元格A 500可以对其范围内的另一单元格(即,也在表C 120中的单元格B 505) 具有一些作用(由箭头[l]示出)。如果单元格B 505受到单元格A 500的影响, 则图5示出私有表中的单元格C 510也可受到单元格B 505的影响(由箭头[2] 示出)。例如,这可以在单元格C510引用单元格B 505来取得其值时发生。
为了提供一种具体场景,单元格A 500最初可以具有值"100"(未示出), 而单元格B 505可以取得此值并将它与二相乘来获得"200",此外,单元格C 510又可以取得此值并与某一其它值相加,比如一,来获得最终结果"201"。 现在,如果单元格A 500将其值改变为例如"10",则单元格B 505会相应地 将其值改变为"20",而单元格C510会将其值改变为"21"。此处的要点是, 例如表C 120等公共表中的改变可以在例如表D125等某些私有表中的值上有 作用(但在例如表G145等其它私有表上没有作用)。
与图5形成对比,图6示出私有表中的改变对公共表中的内容可以没有影 响。因此,可以是某一用户的私有表的表G145被示为对例如表C120等公共 表不具有影响(或没有改变数据的能力)。类似地,还阻止来自在表C120上 协作的其它用户的其它私有表(表D 125)改变表C 120中的内容。这样做可 以有各种理由,其中之一是,公共空间120中的数据不应经受来自多个用户中
10只有一个用户能够访问的地方145、 125的改变。在任何情况下,带有"X"的 箭头(一X—和一X—)旨在可视地示出此概念。应该注意,此上下文中被阻 止实现的改变的种类可以不仅包括值,还包括公式。
在当前所公开的主题的另一方面,图7示出典型网络环境中的私有表 存储和执行的位置。如参考图1已经讨论的,在典型协作情形中,可以存在 允许多台客户机在某项目上协作的服务器。随着(除公共表以外的)私有表的 引入,出现此类私有表应在何处存储和执行的问题。在一种情形中,此类私有 表在其客户机上本地存储和/或执行,而任何公共表在服务器侧存储。
现在转到图7,可以看到,表G 145 (其是私有表)被存储在客户机A 700, 即用户的本地计算设备720上(或驻留在其上和/或在其上执行)。类似地, 私有表D 125被存储在客户机B 710,即另一用户的本地计算设备720上(或 驻留在其上和/或在其上执行)。任何协作用户之间的共享计算设备725,即服 务器705,存储和/或执行任何公共表,如表C120。因此,简而言之,在此方 面,私有表被存储在本地计算设备(客户机)上和/或在其上执行,而公共表被 存储在共享计算设备(服务器)上和/或在其上执行。
然而,尽管这可以是当前所公开的主题的较佳实施例,但是可以相当容易 地设想私有表也被存储在共享计算设备上,然而在此情形中,需要实现安全机 制来确保用户不能看到和/或修改彼此的私有表。此外,在对等网络中,从技术 上来说,公共表可被存储在本地计算设备中,因为服务器不会被用作用于协作 的会合地方(但服务器当然可以用在路由/网关能力中)。
实际上,图8示出涉及用于当前所公开的主题的一示例性、非限制性方面 的对等网络的情形(与图1所示的具有可用于当前所公开的主题的其它方面的 客户机一服务器体系结构的方面形成对比)。在图8中,私有表G145可以驻 留在对等计算设备A 800上/在其上执行,而私有表D 125和公共表C 120都驻 留在对等计算设备B 805上/在其上执行。当然,本领域的技术人员将容易地认 识到用于当前所公开的私有表/公共表主题的(客户机一服务器和对等情形之外 的)其它结构情形。例如,可以使用混合对等设置,其中中央服务器保持关于 对等体的信息并响应对该信息的请求,但是对等体负责主存可用资源(因为中 央服务器没有这些资源),以便让中央服务器知道它们想要共享什么资源,以及使其可共享资源对请求该资源的对等体可用。
图9以框图形式示出当前所公开的主题的一示例性、非限制性实现的流程
图。在框900处开始,维护服务器上的公共表,其中该公共表可由第一客户机 和第二客户机访问。随后,在框905处,在第二客户机上维护私有表,其中该 私有表仅可由第一客户机和第二客户机中的第二客户机访问,并且其中该私有 表被配置成访问公共表中的内容,但是公共表被阻止访问私有表中的内容。这 可被认为是私有表和公共表之间的不对称可访问性。
接着,在框910处,如果对公共表中的内容作出的改变被私有表引用,则 对公共表的这一改变在私有表中更新(但反之则不然,如上文详细解释的)。 该情形己经在上文中参考图5讨论,其中公共表中的改变透入私有表,因为此 类改变是单元格级别上的引用。例如,公共表中的单元格X中的改变可在私有 表中的单元格Y中更新,因为私有表单元格值可以依赖于公共表值。在某些方 面,此类引用可仅限于值,在其它方面,它还可以包括公式。在还有一些方面 中,可以明确地排除公式,即,私有表可以访问来自这一公共表的值但不可访 问公式。
已经注意到,可以阻止对私有表作出的任何改变透入公共表。这一概念在 框910中通过"仅"更新对公共表作出的改变而非相反来捕捉。如从框910回 到框900的反馈箭头所示,可以连续地执行此通用维护和更新机制。最后,公 共表和私有表可以作为电子表格应用程序的一部分主存,然而,如上文所解释 的,此类主存不限于电子表格应用程序,而是实际上适用于几乎任何其它计算 应用程序,例如具有页面的文字处理程序、或具有调色板的绘图程序等等。
用于电子表格的示例性PC和网络化方面
接着,转到图10,所示是表示适用于实现以上公开的主题的示例性计算 设备的框图。例如,实现用于在电子表格中提供私有表的过程和方法的计算机 可执行指令可以驻留在如图10中所示的这一计算环境中和/或在该计算环境中 执行。计算系统环境220仅为合适的操作环境的一个示例,并非旨在对所公开 的主题的使用范围或功能提出任何局限。也不应该把计算环境220解释为对示 例性操作环境220中示出的任一组件或其组合有任何依赖性或要求。
12当前所公开的主题的各方面可用于众多其它通用或专用计算系统环境或 配置。适合在本主题中使用的公知的计算系统、环境和/或配置的示例包括,但 不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基 于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型 计算机、包含上述系统或设备中的任一个的分布式计算环境等。
当前所公开的主题的各方面可在诸如程序模块等由计算机执行的计算机 可执行指令的一般上下文中描述。 一般而言,程序模块包括执行特定任务或实 现特定抽象数据类型的例程、程序、对象、组件、数据结构等。当前所公开的 主题的各方面也可以在其中任务由通过通信网络链接的远程处理设备执行的 分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器 存储设备在内的本地和远程计算机存储介质中。
用于实现当前所公开的主题的各方面的示例性系统包括计算机241形式
的通用计算设备。计算机241的组件可以包括,但不限于,处理单元259、系 统存储器222和将包括系统存储器在内的各种系统组件耦合至处理单元259的 系统总线221。系统总线221可以是数种类型的总线结构中的任何一种,包括 存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种 的局部总线。作为示例而非局限,这样的体系结构包括工业标准体系结构(ISA) 总线、微通道体系结构(MCA)总线、增强型ISA (EISA)总线、视频电子 技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层 (Mezzanine)总线)。
计算机241通常包括各种计算机可读介质。计算机可读介质可以是能由计 算机241访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不 可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通 信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程 序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动 和不可移动介质。计算机存储介质包括,但不限于,RAM、 ROM、 EEPROM、 闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、 磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以 由计算机241访问的任何其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据, 并包括任意信息传送介质。术语"已调制数据信号"指的是其一个或多个特征 以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介 质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、 红外线和其它无线介质。上述中任一组合也应包括在计算机可读介质的范围之 内。
系统存储器222包括易失性和/或非易失性存储器形式的计算机存储介质, 如只读存储器(ROM) 223和随机存取存储器(RAM) 260。基本输入/输出系 统224 (BIOS)包括如在启动时帮助在计算机241内的元件之间传输信息的基 本例程,它通常储存在ROM223中。RAM260通常包含处理单元259可以立 即访问和/或目前正在其上操作的数据和/或程序模块。作为示例而非局限,图 10示出了操作系统225、应用程序226、其它程序模块227和程序数据228。
计算机241也可以包括其它可移动/不可移动、易失性/非易失性计算机存 储介质。仅作为示例,图10示出了对不可移动、非易失性磁介质进行读写的 硬盘驱动器238,对可移动、非易失性磁盘254进行读写的磁盘驱动器239, 以及对诸如CD ROM或其它光学介质等可移动、非易失性光盘253进行读写 的光盘驱动器240。可以在示例性操作环境中使用的其它可移动/不可移动、易 失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、 数字录像带、固态RAM、固态ROM等等。硬盘驱动器238通常由诸如接口 234等不可移动存储器接口连接至系统总线221,磁盘驱动器239和光盘驱动 器240通常由诸如接口 235等可移动存储器接口连接至系统总线221。
以上描述和在图10中示出的驱动器及其相关联的计算机存储介质为计算 机241提供对计算机可读指令、数据结构、程序模块和其它数据的存储。例如, 在图10中,示出硬盘驱动器238储存操作系统258、应用程序257、其它程序 模块256和程序数据255。注意,这些组件可以与操作系统225、应用程序226、 其它程序模块227和程序数据228相同,也可以与它们不同。操作系统258、 应用程序257、其它程序模块256和程序数据255在这里被标注了不同的标号 是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘251和 定点设备252 (通常称为鼠标、跟踪球或触摸垫)向计算机241输入命令和信
14息。其它输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星 天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线的用户输入接口
236连接至处理单元259,但也可以由其它接口和总线结构,诸如并行端口、 游戏端口或通用串行总线(USB)连接。监视器242或其它类型的显示设备也 经由接口,诸如视频接口 232连接至系统总线221。除监视器以外,计算机也 可以包括其它外围输出设备,诸如扬声器244和打印机243,它们可以通过输 出外围接口 233连接。
计算机241可使用至一个或多个远程计算机,如远程计算机246的逻辑连 接在网络化环境中操作。远程计算机246可以是个人计算机、服务器、路由器、 网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机241 描述的许多或所有元件,尽管在图10中只示出存储器存储设备247。图10中 所示逻辑连接包括局域网(LAN) 245和广域网(WAN) 249,但也可以包括 其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网 中是常见的。
当在LAN联网环境中使用时,计算机241通过网络接口或适配器237连 接至LAN 245。当在WAN联网环境中使用时,计算机241通常包括调制解调 器250或用于通过诸如因特网等WAN 249建立通信的其它装置。调制解调器 250可以是内置或外置的,它可以经由用户输入接口 236或其它适当的机制连 接至系统总线221。在网络化环境中,相对于计算机241所描述的程序模块或 其部分可被储存在远程存储器存储设备中。作为示例而非局限,图IO示出了 远程应用程序248驻留在存储器设备247上。可以理解,所示的网络连接是示 例性的,且可以使用在计算机之间建立通信链路的其它手段。
应该理解,此处描述的各种技术可以结合硬件或软件,或在适当时以两者 的组合来实现。因此,当前公开的主题的方法和装置或其特定方面或部分可采 取包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有 形介质中的程序代码(即,指令)的形式,其中当程序代码被加载到诸如计算 机等机器内并由其执行时,该机器成为用于实现当前所公开的主题的装置。在 程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、该处理 器可读的存储介质(包括易失性和非易失性的存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。 一个或多个程序可以例如通过使用API、 可重用控件等实现或利用结合当前所公开的主题描述的过程。这样的程序优选 地用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。然而, 如果需要,程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以 是编译语言或解释语言,且与硬件实现相结合。
尽管示例性实施例可涉及在一个或多个独立计算机系统的上下文中利用 当前所公开的主题的各方面,但本主题不受此限制,而是可以结合任何计算环 境,诸如网络或分布式计算环境来实现。此外,当前所公开的主题的各方面可 在多个处理芯片或设备中或跨多个处理芯片或设备实现,且存储可类似地跨多 个设备来实现。这样的设备可以包括,个人计算机、网络服务器、手持式设备、 超级计算机或集成在诸如汽车和飞机等其它系统中的计算机。
考虑到可以根据图10中提供的通用架构构建的各种计算环境,此处提供 的系统和方法不能被解释为以任何方式限于某一特定的计算体系结构。相反, 当前所公开的主题不应限于任何单个实施例,而是应该根据所附权利要求书的 广度和范围来解释。
最后,参考图11,示出了其中可实现执行上述过程的计算机化过程的示 例性网络化计算环境。即,此网络环境可以允许用户如上所述在各个项目上协 作。例如,并行计算可以是这样的网络化环境的一部分,其中图11的网络上 的各个客户机使用和/或实现对来自丰富结构化类型的搜索特性的平面列表的 定义和提取。本领域的普通技术人员可以理解,网络可以连接任何计算机或其 它客户机或服务器设备,或处于分布式计算环境中。就此,含有任何数量的处 理、存储器或存储单元,以及同时发生的任何数量的应用程序和进程的任何计 算机系统或环境被认为适用于所提供的系统和方法。
分布式计算通过计算设备和系统之间的交换提供了计算机资源和服务的 共享。这些资源和服务包括信息的交换、文件的高速缓存存储和盘存储。分布 式计算利用网络连接,从而允许客户机利用它们的集体力量来使整个企业受
益。就此,各种设备可以含有其中蕴含此处所描述各进程的应用程序、对象或 资源。
图11提供了示例性的网络化或分布式计算环境的示意图。该环境包括计,以及对象273、 274和275,还有数据库278。 这些实体271、 272、 273、 274、 275、 276、 277和278中的每一个可以包括或 使用程序、方法、数据存储、可编程逻辑等。实体271、 272、 273、 274、 275、 276、 277和278可以横跨诸如PDA、音频/视频设备、MP3播放器、个人计算 机等相同或不同设备的各部分。每一实体271、 272、 273、 274、 275、 276、 277 和278可以经由通信网络270与另一实体271、 272、 273、 274、 275、 276、 277 和278通信。就此,任何实体可以负责维护和更新数据库278或其它存储元件。
该网络270本身可以包括向图3的系统提供服务的其它计算实体,且其本 身可以表示多个互连的网络。根据所公开的本主题的一方面,每一实体271、 272、 273、 274、 275、 276、 277和278可以包括可使用API或其它对象、软 件、固件和/或硬件来请求其它实体271、 272、 273、 274、 275、 276、 277和 278中的一个或多个的服务的离散的功能性程序模块。
也可以理解,诸如275等对象可以主存于另一计算设备276上。因此,尽 管所示的物理环境可以将连接的设备示为计算机,但是这样的图示仅是示例性 的,并且该物理环境可以被替换地描述或描绘成含有诸如PDA、电视机、MP3 播放器等的各种数字设备,以及诸如接口、 COM对象等软件对象。
存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统 可以通过有线或无线系统、本地网络或广泛分布的网络连接在一起。目前,许 多网络被耦合至因特网,后者从而为广泛分布的计算提供基础架构并涵盖多个 不同的网络。无论是否被耦合至因特网,任何这样的基础架构都可以用于所提 供的系统和方法。
网络基础架构可以允许诸如客户机/服务器、对等或混合体系结构等各种 网络拓扑结构。"客户机"是使用与它无关的另一类或组的服务的一个类或组 中的成员。在计算中,客户机是进程,即大致上是请求由另一程序提供的服务 的--组指令或任务。客户机进程利用所请求的服务,而不必"知道"有关其它 程序或服务本身的任何工作细节。在客户机/服务器体系结构中,尤其在网络化 系统中,客户机通常是访问由例如服务器等另一计算机提供的共享的网络资源 的计算机。在图11的示例中,取决于情境,任何实体271、 272、 273、 274、 275、 276、 277和278可以被认为是客户机、服务器或两者。
17服务器通常,但不必须是可通过诸如因特网等远程或本地网络访问的远程 计算机系统。客户机进程可以在第一计算机系统中活动,而服务器进程可以在 第二计算机系统中活动,它们通过通信介质彼此通信,从而提供分布式功能并 允许多个客户机利用服务器的信息收集能力。任何软件对象可以跨多个计算设
备或对象分布。
客户机和服务器利用由协议层提供的功能来彼此通信。例如,超文本传输
协议(HTTP)是结合万维网(WWW),即"Web"使用的常见协议。通常, 诸如网际协议(IP)地址等计算机网络地址或诸如统一资源定位器(URL)等 其它引用可以用于彼此标识服务器或客户计算机。网络地址可以被称为URL 地址。可以通过通信介质来提供通信,例如客户机和服务器可以通过TCP/IP 连接来彼此耦合以进行大容量通信。
考虑到可以根据图11中提供的通用架构构建的各种计算环境,以及在诸 如图11的网络环境中的计算中可能发生的进一步变化,此处提供的系统和方 法不能被解释为以任何方式限于某一特定的计算体系结构或操作系统。相反, 当前所公开的主题不应限于任何单个实施例,而是应该根据所附权利要求书的 广度和范围来解释。
最后,应当注意,此处描述的各种技术可以结合硬件或软件,或在适当时 以两者的组合来实现。因此,当前所公开的主题的方法、计算机可读介质、以 及系统或其特定方面或部分可采取包含在诸如软盘、CD-ROM、硬盘驱动器或 任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其 中当程序代码被加载到诸如计算机等机器内并由其执行时,该机器成为用于实 现本主题的装置。
在程序代码在可编程计算机上执行的情况下,计算设备通常可以包括处理 器、该处理器可读的存储介质(包括易失性和非易失性的存储器和/或存储元 件)、至少一个输入设备、以及至少一个输出设备。可例如通过使用数据处理 API等来利用本发明的域专用编程模型的创建和/或实现的各方面的一个或多 个程序较佳地用高级过程语言或面向对象的编程语言来实现以与计算机系统 通信。然而,如果需要,程序可以用汇编语言或机器语言来实现。在任何情形 中,语言可以是编译语言或解释语言,且与硬件实现相结合。最后,尽管已经结合较佳方面按各附图所示描述了本发明,但要理解,可 使用其它相似方面或者可对所述方面进行修改或添加来执行本发明的相同功 能而不脱离本发明。例如,在本发明的各种方面中,讨论了电子表格中的私有 表。然而,本文的教示还构想了与这些描述方面等价的其它机制。因此,本发 明应当不限于任何单一方面,而应按照所附权利要求书的宽度与范围来解释。
权利要求
1.一种在共享计算机应用程序中提供私有区域的系统,包括公共表120,所述公共表可由第一客户机100和第二客户机105访问;以及私有表125,所述私有表仅可由所述第一客户机和所述第二客户机中的所述第二客户机访问,并且其中所述私有表被配置成访问所述公共表中的内容,但所述公共表被阻止访问所述私有表中的内容。
2. 如权利要求1所述的系统,其特征在于,如果对所述公共表中的内容的改变被所述私有表引用,则对所述公共表作出的这一改变被反映在所述私有表中。
3. 如权利要求1所述的系统,其特征在于,对所述私有表作出的改变不被反映在所述公共表中。
4. 如权利要求1所述的系统,其特征在于,所述公共表驻留在被配置成服务所述第一客户机和所述第二客户机的服务器上。
5. 如权利要求1所述的系统,其特征在于,所述私有表驻留在所述第二客户机上。
6. 如权利要求1所述的系统,其特征在于,所述第一客户机和所述第二客户机是对等网络的一部分。
7. 如权利要求1所述的系统,其特征在于,所述私有表除了不可由所述第一客户机访问之外,对所述第一客户机还是不可见的。
8. 如权利要求1所述的系统,其特征在于,所述公共表和所述私有表是同一电子表格应用程序的一部分。
9. 一种在共享计算机应用程序中提供私有区域的方法,包括在服务器上维护公共表120,所述公共表可由第一客户机IOO和第二客户机105访问;以及在所述第二客户机上维护私有表125,所述私有表仅可由所述第一客户机和所述第二客户机中的所述第二客户机访问,并且所述私有表被配置成访问所述公共表中的内容,但所述公共表被阻止访问所述私有表中的内容。
10. 如权利要求9所述的方法,其特征在于,还包括如果对所述公共表中的内容的改变被所述私有表引用,则在所述私有表中更新对所述公共表作出的这一改变。
11. 如权利要求9所述的方法,其特征在于,还包括阻止在所述公共表中更新对所述私有表作出的任何改变。
12. 如权利要求9所述的方法,其特征在于,还包括阻止所述私有表对所述第一客户机可见。
13. 如权利要求9所述的方法,其特征在于,还包括将所述公共表和所述私有表作为至少一个电子表格应用程序的一部分主存。
14. 如权利要求9所述的方法,其特征在于,还包括将所述私有表配置成访问来自所述公共表的值而不访问来自所述公共表的公式。
15. —种承载有形地驻留于计算系统上的计算机可执行指令的计算机可读介质,所述指令在共享计算机应用程序中提供私有区域,包括在服务器上维护公共表120的第一指令,所述公共表可由第一客户机100和第二客户机105访问;以及在所述第二客户机上维护私有表125的第二指令,其中所述私有表仅可由所述第一客户机和所述第二客户机中的所述第二客户机访问,并且所述私有表被配置成访问所述公共表中的内容,但所述公共表被阻止访问所述私有表中的内容。
16. 如权利要求15所述的计算机可读介质,其特征在于,还包括第三指令,所述第三指令在对所述公共表中的内容的改变被所述私有表引用的情况下在所述私有表中更新对所述公共表作出的这一改变。
17. 如权利要求15所述的计算机可读介质,其特征在于,还包括第四指令,所述第四指令阻止在所述公共表中更新对所述私有表作出的任何改变。
18. 如权利要求15所述的计算机可读介质,其特征在于,还包括第五指令,所述第五指令阻止所述私有表对所述第一客户机可见。
19. 如权利要求15所述的计算机可读介质,其特征在于,还包括第六指令,所述第六指令允许将所述公共表和所述私有表作为至少一个电子表格应用程序的一部分主存。
20. 如权利要求15所述的计算机可读介质,其特征在于,还包括第七指令,所述第七指令将所述私有表配置成访问来自所述公共表的值而不访问来自所述公共表的公式。
全文摘要
公开了例如电子表格等共享计算机应用程序中的私有表。在一方面,公共表可由第一客户机和第二客户机访问;而此外,私有表仅可由第二客户机访问。私有表被配置成访问公共表中的内容,但公共表不能访问私有表中的内容。以此方式,当在公共表上与其他用户协作的同时,用户可以在旁边使用私有表来执行计算或建模。在另一方面,如果对公共表中内容的改变被私有表引用,则对公共表作出的这一改变可被反映在私有表中。然而,对私有表作出的改变不被反映在公共表中。还公开了许多其它特定方面,例如私有表访问来自公共表的值而不访问来自公共表的公式。
文档编号G06F15/16GK101632073SQ200880008372
公开日2010年1月20日 申请日期2008年2月28日 优先权日2007年3月15日
发明者E·梅格多, S·普里什 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1