首页> 中国专利> 具有分布式存储的联网计算机系统中的单个数据视图

具有分布式存储的联网计算机系统中的单个数据视图

摘要

主机计算机系统获得对应于一准则的、对计算机网络中的内容的聚集视图的请求。主机计算机系统查询联网计算机系统以标识对应于该准则的数据对象。每一作出响应的计算机系统向主机计算机系统提供储存在该作出响应的计算机系统处的指定数据对象的标识集。主机计算机系统合并各标识集以对用户形成内容的聚集视图。如果指定数据对象被复制到联网计算机,则主机计算机系统在查询结果中提供指定数据对象的一个实例。因此,促进了文件同步的并发利用以及数据对象的聚集视图。如果指定数据对象被储存在主机计算机系统处,则主机计算机系统阻断对联网计算机的关于指定数据对象的查询。

著录项

  • 公开/公告号CN101568919A

    专利类型发明专利

  • 公开/公告日2009-10-28

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN200680025293.2

  • 申请日2006-07-10

  • 分类号G06F17/30(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人陈斌

  • 地址 美国华盛顿州

  • 入库时间 2023-12-17 22:57:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-02

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20130116 终止日期:20140710 申请日:20060710

    专利权的终止

  • 2015-05-20

    专利权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20150505 申请日:20060710

    专利申请权、专利权的转移

  • 2013-01-16

    授权

    授权

  • 2009-12-23

    实质审查的生效

    实质审查的生效

  • 2009-10-28

    公开

    公开

说明书

背景

随着个人计算机的普及,用户通常拥有或使用一台以上机器。例如,许多商 用和个人用户同时拥有或使用台式机和膝上型计算机或其它移动客户机设备。拥有 或能够访问多台机器的用户可在不同的时刻为不同的目的而使用不同的机器,然而 仍经常期望查询或访问所有这些机器上的常用文件或其它内容。应用程序、数据库 和其它资源通常缺少支持用户在一组公共的机器之间漫游或共享文件的能力。

在企业和其它大规模计算网络中常见的受管计算网络环境中,计算网络包括 诸如主域控制器等通过维护口令和许可来调节用户访问的集中网络授权机构。该集 中网络授权机构还可管理网络的授权用户对本地储存的数据文件的访问。

与受管计算网络形成对比,在家庭和其它小规模网络中常见的非受管计算网 络通常不包含用于调节用户访问的主域控制器或集中数据文件存储。相反,许多非 受管计算网络在调节使用该网络上的各种计算设备的用户安全授权方面需要个别 用户管理。此外,大多数非受管网络需要额外的用户参与和知识来存储和取回储存 在网络上的各个计算设备上的内容。

联网计算设备之一上的共享存储位置的创建是在受管和非受管网络中提供更 集中的数据存储的一种尝试。该共享存储位置可用作数据的指定存储,而不管用户 当前正在使用哪一联网计算设备。尽管该方法试图集中化存储,但该方法因要求用 户记住集中共享存储位置的位置和名称而会变得不完善。此外,在共享存储位置被 重命名、移动或以其它方式修改的情况下,用户可能无法访问所需内容。

对定义数据储存在哪里的漫游用户配置文件的维护是用于受管网络中数据文 件的更集中化存储的另一种方法。尽管漫游用户配置文件能协助定位储存在各个位 置中的数据文件,但漫游配置文件的存储和更新对计算机网络的处理和存储器资源 造成了极大的负担。因此,当联网计算设备的数目增长时,漫游用户配置文件的负 担也随之增长。

将本地文件系统动作重定向到网络上的指定存储位置是受管和非受管网络中 的数据文件的更集中化存储的又一种方法。例如,对本地存储位置的内容的请求可 以被自动重定向以检索网络上的指定存储位置的内容,该位置可能远离计算设备。 类似地,本地地储存数据的请求可被自动重定向以将所选内容储存在网络上的指定 存储位置处。尽管该方法允许所有数据请求定向到中央存储位置而无需用户知道指 定位置的位置,但该方法阻碍了对本地机器上的内容的存储和检索。此外,在指定 存储位置被重命名、移动或以其它方式修改的情况下,用户可能无法访问所需内容。

用户通常希望以给定文件的最新或完整版本来工作,而不管他们碰巧正在使 用什么机器。

概述

主机计算机系统获得对计算机网络中对应于一准则的内容的聚集视图的请 求。该主机计算机系统查询联网计算机系统以根据该准则来标识数据对象。每一作 出响应的计算机系统提供了储存在响应计算机上的指定数据对象的标识集。主机计 算机系统合并该标识集以形成提供给用户的内容的聚集视图。

根据本发明的一个说明性方面,如果指定数据对象被复制到联网计算机,则 主机计算机系统在查询结果中提供指定数据对象的一个实例。因此,可促进对数据 对象的文件同步和聚集视图的并发利用。

根据本发明的另一说明性方面,如果指定数据对象被储存在主机计算机系统 上,则主机计算机系统阻断对联网计算机的关于指定数据对象的查询。

根据本发明的又一说明性方面,一计算机系统向联网计算机查询分布在计算 机网络中的数据对象。该计算机系统包括一内容查询服务模块,该模块接收标识指 定数据对象的请求、获得储存在联网计算机上的指定数据对象的标识集、删除复制 数据对象的多个标识、以及合并该标识集以向用户提供内容的聚集视图。

根据本发明的再一说明性方面,可响应于文件的聚集视图调用文件同步以在 计算机系统上复制出现在聚集列表中的文件。

提供本概述以用简化的形式提出对以下详细描述中进一步描述的一些概念。 本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于协助 确定所要求保护的主题的范围。

附图简述

当结合附图阅读时,可以更好地理解以上本发明的概述以及以下示例性实施 例的详细描述,附图作为示例而非对于所要求保护的本发明的局限被包括在内。

图1是可用于实现本发明的各方面的常规通用数字计算环境的示例的功能框 图。

图2是根据本发明的一个说明性方面的非受管计算机网络的框图,该网络包 括本地储存变化的内容的三个计算设备。

图3是根据本发明的一个说明性方面的图2的计算机网络的框图,它示出了 用户数据请求和内容查询的启动。

图4是根据本发明的一个说明性方面的图2的计算机网络的框图,它示出了 来自联网计算设备的匹配内容标识符的返回和合并。

图5是根据本发明的一个说明性方面的图2的计算机网络的框图,它示出了 网络中每一计算设备处处理聚集视图请求的结果。

图6是示出根据本发明的一个说明性方面的由联网计算设备实现的聚集视图 创建例程的流程图。

图7A-7D是示出根据本发明的一个说明性方面的用于显示对应于聚集视图 的合并的内容标识符的屏幕显示的框图。

图8是示出根据本发明的一个说明性方面的由联网计算设备实现的聚集视图 远程文档处理例程的流程图。

图9是根据本发明的各说明性实施例的用于自动化对等文件同步的系统和方 法可在其中操作的环境。

图10示出了根据本发明的各说明性实施例的描绘可结合文件同步使用的文件 版本管理逻辑的界面。

图11示出了根据本发明的某些说明性实施例的其中用于文件的对等同步的系 统和方法可用两台以上参与机器来操作的环境。

图12示出了根据本发明的各说明性实施例的总体文件漫游和同步处理的流程 图。

图13A-C示出了根据本发明的一个说明性实施例的对计算机网络中的分布式 存储的查询结果的情形。

图14示出了根据本发明的一个说明性实施例的支持对具有分布式存储的联网 计算机的查询的流程图。

图15示出了根据本发明的一个说明性实施例的查询具有分布式存储的联网计 算机的计算机系统。

详细描述

一般而言,本发明的各方面对应于一种用于生成储存在计算机网络中的各个 计算设备内的内容的聚集视图的系统和方法。本发明的某些具体方面对应于一种用 于自动查询定义的网络中的计算设备并生成合并的查询响应的视图的系统和方法。 尽管本发明将相对于其中所有网络计算设备都具有用于该网络的所有授权用户的 公共安全配置文件的计算设备网络来描述的,但相关领域的技术人员将认识到,本 发明可以在其中每一计算设备可对授权网络用户维护单独的安全配置文件的替换 计算网络中实现。此外,相关领域的技术人员将认识到,本发明的部分或全部方面 可在具有用于调节用户访问的集中网络授权机构的受管计算机网络中实施。因此, 相对于本发明所描述的实施例本质上是说明性的,并且不应被解释为限制。

转向附图,其中相同的标号指代相同的元素,本发明被视为在一合适的计算 环境中实现。尽管并非所需,但本发明将在诸如程序模块等由个人计算机执行的计 算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定的任务或 实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等等。此外,本领 域的技术人员可以理解,本发明可以用其它计算机系统配置来实施,包括手持式设 备、多处理器系统、基于微处理器或可编程消费者电子设备、网络PC、小型机、 大型计算机等。本发明也可以在其中任务由通过通信网络链接的远程处理设备来执 行的分布式计算环境中实施。在分布式计算环境中,程序模块可以位于本地和远程 存储器存储设备中。

以下描述以对可在根据本发明的某些方面的受保护网络组中使用的通用计算 设备的描述开始。现在转向图1,以常规个人计算机20的形式示出了通用计算设 备,包括处理单元21、系统存储器22以及将包括系统存储器的各类系统组件耦合 至处理单元21的系统总线23。系统总线23可以是若干种总线结构的任一种,包 括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构中任一种的局 部总线。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。 基本输入/输出系统(BIOS)26包含如在启动时协助在个人计算机20内的元件之 间传输信息的基本例程,它可被储存在ROM 24中。个人计算机20还包括用于对 硬盘60进行读写的硬盘驱动器27,用于对可移动磁盘29进行读写的磁盘驱动器 28,以及用于对可移动光盘31,如CD-ROM或其它光介质进行读写的光盘驱动器 30。

硬盘驱动器27、磁盘驱动器28以及光盘驱动器30分别通过硬盘驱动器接口 32、磁盘驱动器接口33和光盘驱动器接口34连接至系统总线23。驱动器及其相 关的计算机可读介质为个人计算机20提供了计算机可执行指令、数据结构、程序 模块和其它数据的非易失性存储。尽管这里描述的示例环境采用了硬盘60、可移 动磁盘29以及可移动光盘31,但本领域的技术人员可以理解,示例性操作环境中 也可以使用可储存数据的可由计算机访问的其它类型的计算机可读介质,诸如盒式 磁带、闪存卡、数字视频盘、Bernoulli盒式磁盘、随机存取存储器、只读存储器、 存储区域网等等。

多个程序模块可被储存在硬盘60、磁盘29、光盘31、ROM 24或RAM 25中, 包括操作系统35、一个或多个应用程序36、其它程序模块37以及程序数据38。 用户可以通过诸如键盘40和定点设备42等输入设备向个人计算机20输入命令和 信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、 扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的串行端口接口46连 接到处理单元21,但也可通过其它接口连接,如并行端口、游戏端口或通用串行 总线(USB)或网络接口卡。监视器47或其它类型的显示设备也通过接口,如视 频适配器48连接到系统总线23。除监视器之外,个人计算机通常包括其它外围输 出设备(未示出),如扬声器和打印机。

个人计算机20可以使用到一个或多个远程计算机,如远程计算机49的逻辑 连接在联网环境中操作。远程计算机49可以是另一个人计算机、服务器、路由器、 网络PC、对等设备或其它常见的网络节点,并通常包括许多或所有以上相对于个 人计算机20所描述的元件,尽管在图1中仅示出了存储器存储设备50。图1描述 的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这类联网环境常见于办 公室、企业范围计算机网络、内联网以及因特网。

当在LAN联网环境中使用时,个人计算机20通过网络接口或适配器53连接 至局域网51。当在WAN联网环境中使用时,个人计算机20通常包括调制解调器 54或用于通过WAN 52建立通信的其它装置。调制解调器54可以是内置或外置的, 它通过串行端口接口46连接至系统总线23。在联网环境中,相对于个人计算机20 所描述的程序模块或其部分可储存在远程存储器存储设备中。可以理解,示出的网 络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。

图2是示出根据本发明的各说明性方面的计算机网络100的框图,该网络包 括三个计算设备102、104和106。计算设备102、104和106可被实施为可用于将 内容保持到计算机网络100的各种设备中的任一种。计算设备的示例包括但不限 于,个人计算设备、手持式计算设备、基于服务器的计算设备、个人数字助理、移 动电话、单机存储器设备、具有某种类型的存储器的电子设备等等。

在本发明的一个说明性实施例中,每一计算设备102、104和106维护对应于 每一授权用户的唯一安全标识符(“SID”)的安全信息数据库108。数据库108 也可维护将唯一用户SID与诸如管理员、用户、审阅者等一组或多组用户以及该 组的唯一安全标识符相关联的信息。根据该说明性实施例,安全信息数据库108 在计算设备102、104和106中的每一个处复制,使得包括用户SID在内的用户的 安全配置文件可在计算设备102、104和106中的任一个处访问。

如图2所示,对特定用户,第一计算设备102“机器A”在诸如硬盘驱动器或 其它大容量存储设备等可由用户以某种方式访问的本地存储位置上维护第一文件 110“文件A”。类似地,第二计算设备104“机器B”维护第二文件“文件B”, 第三机器106“机器C”维护第三文件114“文件C”,该第二和第三文件都可由 用户以某种方式访问。(计算设备102、104和106可以是如图1所示的个人计算 机。)如将在以下更详细解释的,在本发明的一个说明性实施例中,每一文件110、 112、114维护指示哪些用户SID和组SID具有访问特定文件的许可的访问控制列 表(“ACL”)。另外,每一文件ACL还可指示对特定用户SID或组SID可具有 的访问类型的限制。例如,文件ACL可指示特定用户可访问文件以读取文件,但 是不能以任何方式修改该文件。此外,每一文件ACL还可指示对应于创建该文件 和/或最后编辑该文件的用户SID的文件的当前所有者。然而,在常规的数据管理 方法下,用户必须记住每一个数据的精确位置来远程地访问数据。尽管对数据的管 理是关于ACL来描述的,但是相关领域的技术人员将认识到,也可利用诸如安全 加密、数字权限管理等其它数据管理。

参考图3-5,将描述在计算机网络100的三个计算设备102、104和106中的 聚集视图请求的发起和处理。参考图3,该过程以用户在机器A 102处接收到内容 标识请求开始。基于与特定用户或用户帐号相关联的唯一SID,机器A 102启动对 应于该唯一SID以及可用于选择数据的各种准则中的任一个的本地内容查询。准 则的示例包括关键词搜索、文件类型、日期范围。与本地内容查询同时地,或在处 理本地查询之后,机器A 102自动向网络100中的计算设备104、106启动分布式 内容查询。由于说明性网络中的每一计算设备内的安全配置文件具有复制的安全配 置文件数据库108,因此机器A 102可向每一计算设备发出相同的内容查询。此外, 尽管图3示出了网络100上的每一计算设备接收分布式内容查询,机器A也可将 内容请求限于网络100内的计算设备的一个子集。

参考图4,接收内容请求的每一计算设备处理该请求,并返回标识匹配内容和 该内容的位置的信息。例如,在该说明性示例中,机器B 104将返回标识文件B 112 及其在机器B的存储系统内的具体位置的信息。同样,机器C 106将返回标识文 件C及其在机器C的存储系统内的具体位置的信息。在本发明的一个说明性实施 例中,位于每一计算设备处的内容不被发送到作出请求的计算设备。此外,如将在 以下更详细解释的,也可处理先前储存的内容请求响应或高速缓存的内容请求响 应。

一旦机器A 102接收到查询响应,查询结果即被合并。在本发明的一个说明 性实施例中,合并的结果被具体化为不带对内容的位置或起源的直接引用的所有匹 配内容的单个表示。然而,机器A 102可从用户获得附加指令以为作出请求的用户 排序或以其它方式组织合并的结果。例如,机器A 102可按照大小、日期、起源等 来排序合并的内容。再者,机器A 102可将附加视觉提示关联到合并的结果以标识 特定数据,诸如储存在当前不可用的计算设备上的数据。

图5是图2的计算机网络100的框图,它示出了在该网络中的每一计算设备 处处理聚集视图请求的结果。出于图5的目的,假定计算设备102、104和106中 的每一个发出了聚集视图请求,并且每一计算设备的内容未被更改。机器A 102 的聚集视图示出文件A 110、文件B 112和文件C 114,其中文件B和文件C以虚 线示出以表示它们在机器A的远程储存。类似地,机器B 104的聚集视图以虚线 示出与所示的文件A 110和文件C 114相同的内容,以表示它们被远程地储存。最 后,机器C 106的聚集视图以虚线示出与所示的文件A 110和文件B 112相同的内 容,以表示它们被远程地储存。基于每一计算设备102、104和106处的聚集视图, 用户可访问相同的内容而无需了解其实际位置。此外,在计算设备中的一个或多个 不可用的情况下,计算设备仍可用指示该内容当前不可用的附加视觉提示来示出储 存在不可用机器上的内容。

图6是示出根据本发明的各方面由诸如计算设备102、104、106等网络计算 设备实现的聚集视图创建例程600的流程图。在框602处,获得创建内容的聚集视 图的用户请求。在本发明的一个说明性实施例中,该聚集视图请求可直接对应于用 户对显示内容的任何类型的应用程序或模块的访问。例如,聚集视图请求可对应于 软件应用程序内的打开文件的请求。类似地,聚集视图创建请求可对应于文件系统 管理程序的启动。再者,聚集视图请求可在特定事件发生时,诸如在一天中特定的 时间、在计算设备通电之后、在计算设备连接到网络之后等等被自动生成。

在框604处,计算设备向本地计算设备文件系统查询匹配内容查询的内容。 在本发明的一个说明性实施例中,该内容查询采用了数据库查询的形式,诸如微软 公司的SQL数据库支持的查询函数。该数据库查询包括用于确定匹配内容的一组 准则。在本发明的一个说明性实施例中,该查询包括匹配由用户SID安全性令牌 标识的用户能访问的所有内容的请求。另外,该查询可包括可用于匹配内容的任意 数目的附加准则,诸如关键词搜索、文件类型、数据范围等等。计算设备存储系统 然后可接受该查询,并标识匹配该查询准则的任何内容。相关领域的技术人员将理 解,查询串的某些或所有部分,诸如用户SID,可被自动输入而无需另外的用户输 入。或者,查询串的某些部分,诸如附加搜索准则可由用户在请求搜索时指定,或 者可作为计算设备的配置的一部分被预定。

在判别框606处,进行测试以确定是否有额外的计算设备连接到网络100。在 本发明的一个说明性实施例中,对额外计算设备的测试可对应于对连接到网络的每 一计算设备的轮询。或者,对额外计算设备的测试可限于由系统管理员或用户定义 的计算设备的一个特定子集。如果网络内有额外计算设备,则在框608处,与用户 相关联的计算设备向该额外计算设备发送内容查询。在本发明的一个说明性实施例 中,由于用户的安全配置文件,例如SID被复制到每一计算设备,因此内容查询 可以是相同的。或者,如果用户的安全配置文件改变,则每一内容查询可以是独特 的以适应各种用户安全标识符。框606和608将重复,直到查询了网络100内的所 有计算设备或计算设备的子集。根据本发明的一个说明性实施例,查询结果以内容 标识符以及诸如统一名称位置(“UNC”)路径等用于定位该内容的路径的形式 被发送到作出请求的计算设备。如上所述,内容无需被移至该作出请求的计算设备。 另外,作出请求的计算设备无需制作该内容的副本。此外,在本发明的一个说明性 实施例中,计算设备可在诸如RAM或高速缓存等存储器中维护先前从远程计算机 接收到的内容请求回复的副本。除了从远程计算设备发出新内容请求之外,计算设 备还可取回对同一远程计算设备的先前已接收的内容请求,并开始处理该先前已接 收的内容请求。一旦接收到新的内容请求,计算设备就可更新该响应并储存新结果 以供随后使用。

一旦查询了所有联网的计算设备,在判别框610处,进行测试以确定是否有 当前不可用的任何先前联网的计算设备。本领域的技术人员将理解,任意数目的计 算设备可能临时不可用,诸如被断电、在无线通信范围之外、或当前未对接到网络 连接。如果有当前不可用的任何先前联网的计算设备,则在框612处,该计算设备 试图取回对该不可用计算设备的先前已储存的内容请求结果。

一旦查询了所有计算设备,在框614处,作出请求的计算设备合并内容查询 结果作为聚集列表。在本发明的一个说明性实施例中,该计算设备可过滤或以其它 方式处理合并结果。另外,该计算设备可归档、高速缓存或以其它方式储存合并结 果以在随后的聚集列表创建中使用。在框616处,生成合并内容标识符视图并将其 显示给用户以供操纵。在本发明的一个说明性实施例中,合并的结果以包括来自所 有计算设备的内容的平面视图表示给用户。此外,在该说明性实施例中,内容的起 源最初不被显示给用户。然而,相关领域的技术人员将理解,作出请求的计算设备 可执行附加过滤或组织来将匹配内容显示给用户。例如,作出请求的计算设备可按 照各种属性,诸如数据大小、数据类型、标题、日期准则等来排序匹配内容。此外, 内容的起源的位置可作为初始视图的一部分或作为用户请求上可用的附加数据的 一部分被直接提供给用户。再者,在计算设备之一不可用的情况下,合并视图可用 诸如透明图标等特殊视觉提示来表示给用户,该特殊视觉提示向用户指示该内容可 能储存在不可用计算设备上但是当前不能访问。在另一说明性实施例中,计算设备 可利用聚集视图的先前储存的记录,并将其与当前聚集视图进行比较。计算设备然 后可指示哪些文件已被修改、移除或添加。在框618处,例程600终止。

图7A-7D是示出根据本发明的一个说明性实施例的用于以聚集列表视图来显 示合并内容标识符的各种屏幕显示的框图。参考图7A,屏幕显示700可包括允许 用户选择感兴趣的各种文件位置的第一显示部分702。屏幕显示700还可包括用于 显示储存在所选文件空间中的特定内容的第二显示部分704。参考先前图2-5的示 例,如果用户要通过操纵对应于“我的文档”的图形图标706,或启动对查看对应 于当前用户的所有文件的请求来启动聚集视图请求,则计算设备将执行例程600。 所得的三个文件110、112、114然后在第二显示部分704中向用户显示,而无需用 户了解内容的来源。与其形成对比,在传统文件系统管理下,用户需要单独访问每 一计算设备文件系统以标识感兴趣的每一特定文件的位置。例如,如果文件110、 112和114分别对应于图标708、710和712,则用户通常需要单独访问每一图标来 查看由聚集视图创建的相同文件。

参考图7B,屏幕显示700的第二部分中的一个或多个内容标识符可包括协助 用户的视觉提示。例如,如果计算设备当前未连接到网络,且作出请求的计算设备 利用了先前高速缓存的或归档的内容请求,则该内容可如对文件112所示的在视觉 上作出区分。在本发明的一个说明性实施例中,不可用内容可用虚线边框和/或以 半透明方式来显示。在另一示例中,由计算设备确定为自从前一聚集视图请求以来 已被修改的内容可如对文件114所示地向用户高亮显示。在本发明的一个说明性实 施例中,修改的数据可在屏幕显示700上高亮显示。

参考图7C和7D,计算设备可自动排序合并的匹配内容请求。另外,计算设 备可获得排序合并的匹配内容请求的用户输入。在本发明的一个说明性实施例中, 合并的匹配内容可根据内容的位置来分组。参考图7C,屏幕显示700可包括指示 位置的标识的附加标识符714、716、718。也可在屏幕显示700上显示附加的存储 位置级别。在本发明的另一实施例中,合并的匹配内容可根据数据的各种属性来分 组。参考图7D,屏幕显示可包括显示数据的标题、存储中的数据的大小以及数据 文件的类型的列表视图。如果数据要如图7D所示按照大小来排序,则文件A 720 将在列表的顶部,之后是文件C 722和文件B 724。在该说明性实施例中,用户可 通过操纵屏幕显示700来改变排序准则。尽管图7C和7D示出了各种排序示例, 但相关领域的技术人员将理解,其它排序准则和/或屏幕显示也被包括在本发明的 范围之内。

参考图8,将描述用于操纵聚集视图中的内容的例程800。在框802处,获得 操纵显示在聚集视图中的内容的请求。相关领域的技术人员将理解,对内容的操纵 可包括用主机软件应用程序打开数据文件、修改内容、删除内容、复制内容和/或 移动内容。在框804处,作出请求的计算设备从本地安全信息数据库108中获得安 全标识符。

在判别框806处,进行测试以确定所选内容是否为本地储存的。如果内容是 本地储存的,则在框808处,该计算设备用本地安全信息来处理该请求以确定用户 是否被授权操纵所选内容。如果内容不是本地储存的,则在判别框810处,进行测 试以确定计算设备是否本地维护了所请求数据的副本。在本发明的一个说明性实施 例中,该计算设备可在诸如计算设备高速缓存等易失性存储器中维护先前访问的文 档的副本。如果文件的副本本地可用,则例程800前进到框808以如上所述用本地 安全信息来处理该请求。如果未本地维护所请求文件的副本,则在框812处,作出 请求的计算设备将特定用户的安全信息作为令牌连同操纵内容的请求一起发送到 实际储存该内容的计算设备。接收计算设备然后利用该安全令牌来处理该请求并发 送响应。在框814处,发送计算设备从接收计算设备接收响应。如果在框808或框 812处操纵被授权,则在框816处允许用户操纵内容。例程800在框818处终止。

除了如先前所讨论的对联网计算机系统(例如,图2所示的网络100)中的分 布式存储查询内容(数据对象)之外,用户通常使用几个计算机系统。例如,用户 可在家中或在工作地点具有台式计算机,并且具有用户在旅行时使用的膝上型计算 机。在这种情况下,用户可创建或修改一个计算机系统上的文件。用户通常希望将 (用户在一个计算机系统上创建或修改的)文件与另一计算机系统同步。以下本发 明的说明性实施例支持对相关联用户情形的数据对象同步。

图9示出了根据本发明的一个说明性实施例的用于文件或其它内容的对等同 步的系统和方法可在其中操作的环境。用户可使用或访问一组用于商业、个人或其 它用途的多个计算机、客户机或其它机器,包括说明性地示为台式计算机的第一机 器902,以及说明性地示为膝上型计算机或其它移动计算机的第二机器914。可同 步其它计算机、客户机或其它机器,包括例如启用网络的蜂窝电话、启用网络的电 子邮件客户机、启用网络的个人数字助理、启用网络的媒体播放器或其它硬件。在 所示的操作中,第一机器902和第二机器914可经由诸如通用串行总线连接、火线 (FireWire)TM连接、蓝牙(BlutTooth)TM连接、无线保真(WiFi)TM连接或其它 有线、无线、光学或其它信道或连接来连接。根据本发明的各说明性实施例,连接 918可以如在局域网(LAN)中那样被连续地维持,或者如在某些实施例中在两台 或多台参与机器之间间歇地连接。

根据本发明的各说明性实施例,第一机器902可生成并呈现用户界面904,诸 如图形用户界面、命令行界面、激活语音的或其它界面,以允许用户访问应用程序、 文件、操作系统和其它资源。根据如图所示的说明性实施例,用户可访问同步界面 906来激活、选择和管理文件或其它同步功能。同步界面906可以主存在第一机器 902的操作系统内,或者在其它实施例中可以被结合在一个或多个应用程序、模块 或其它资源中。根据如图所示的说明性实施例,同步界面906可向用户呈现用于标 识、激活和管理第一机器902和第二机器914或其它机器或目标之间的同步事件的 选择和选项。一般而言,这些同步活动可涉及参与机器之间所选或所发现的文件、 文件夹、目录、卷、盘或其它内容、信息、存储或媒体的同步。

根据本发明的各说明性实施例,用户可操纵同步界面906,来选择一组经同步 的文件926以便跨参与机器或系统来同步或漫游。该组经同步的文件926例如可包 含从储存在第一机器902上的一组本地文件912内,以及从储存在第二机器914 上的另一组本地文件916内,或其它文件或信息标识的文件或其它内容。该组经同 步的文件926可由主存在第一机器902中的同步引擎908标识、储存和管理。同步 引擎908可与在第一机器902内维护的文件系统日志910通信,以跟踪并记录被指 定来同步或在该组经同步的文件926内漫游或其它的文件、文件夹、目录、卷或其 它内容或信息的状态。在说明性实施例中,第二机器914或其它或另外的参与机器 同样可维护同步引擎908、文件系统日志910和其它文件管理资源的另一实例的形 式的相同或相似的逻辑,在各实施例中,其每一个同样可被主存在操作系统或其它 资源中。

根据本发明的各说明性实施例,该组经同步的文件926也可被配置成包括用 户最常使用的目录、文件夹或其它资源,例如,诸如我的文档、我的音乐、桌面、 收藏夹等文件夹或其它文件或源的示例性文件夹。常用目录、文件夹或其它源可被 配置成向同步引擎908或其它资源自动宣告其对于同步的可用性,以便于由用户通 过接受或高亮显示这些源和同步目的地来进行选择或激活。可选择或配置不是一个 用户专用的文件夹、目录或其它源来进行同步,例如对同步系统全局的文件夹或其 它内容,包括面向任务的项目文件夹、诸如c:\users\public形式的文件夹等公共文 件夹、或其它文件夹、目录或其它源。在本发明的这些和其它实施例中,除了手动 指定内容之外或作为其替代,文件夹、目录和其它源可由任何一台或多台机器上的 发现逻辑来自动发现。同样,在本发明的某些实施例中,除了手动注册目的地机器 的地址或标识符之外或作为其替代,可以是供包括在该组参与机器内的候选者的机 器也可使用诸如可检测局域网上连接的机器的逻辑或其它逻辑等发现逻辑来自动 检测。

为了同步管理,第一机器902、第二机器914或其它机器中的同步引擎908 可检测第一机器902、第二机器914或其它机器或硬件的连接状态来确定这些机器 享有彼此之间或与其它参与硬件之间经由连接918或其它连接或信道的连通性的 情况。例如,同步引擎908可建立通过第一机器902、第二机器914或其它参与机 器的可用通信端口的连接,包括通过适当的防火墙资源的隧道。

当例如经由USB或无线连接建立了连通性时,第一机器902中的同步引擎908 可认证各参与机器以确保文件同步被正确启动。当验证了经认证的连接时,第一机 器902中的同步引擎108可启动各参与机器之间的自动文件漫游、映像制作或同步 活动。例如,第一机器902中的同步引擎908可访问该组经同步的文件926以确定 位于第一机器902上的哪些文件、文件夹、目录、卷或其它内容需要被传输到第二 机器914,同样位于第二机器914上的哪些相似的内容需要被传输到第一机器902, 以维护这些机器之间的一组相干或一致的文件或其它信息。

第一机器902中的同步引擎908由此可检查第一机器902的文件系统日志910 或第二机器914的文件系统日志910以检查各参与机器上的文件和其它内容的状 态、行为或历史。关于该组经同步的文件926的状态、行为、历史或其它元数据或 信息不仅可包括指示文件的最近编辑、下载或访问的日期戳信息,而且还可包括诸 如文件大小、文件类型、关于文件的先前版本或传输的信息以及其它信息等进一步 的信息。

访问关于参与机器上的文件和其它内容的状态的这一和其它信息之后,第一 机器的同步引擎908可在一个或多个位置中删除、复制、编辑、重新格式化、改变 存储位置、或以其它方式操纵该组经同步的文件926。这些动作可被执行以确保在 第一机器902、第二机器914和其它参与机器中维护了给定文件的同一版本。根据 本发明的说明性实施例,第一机器902中的同步引擎可向经处理的文件应用增量同 步逻辑,以使在各参与机器之间仅漫游自从最后一次同步或其它点以来改变的文件 或文件部分。在涉及公司或其它组织LAN的本发明的说明性实施例中,系统管理 员可将第一机器902或其它机器的同步引擎908设置为限制特定文件向特定用户的 传播,或应用其它同步控制。当应用许可时,可以注意到许可应被安排为使得数据 可正确地迁移到所有参与的机器以确保到所有必要目的地的连接路径。根据本发明 的各实施例,其它配置也是可能的。

根据本发明的说明性实施例,用户、管理员或操作系统设置可将第一机器902 的同步引擎908、第二机器914的同步引擎908或其它资源执行的同步管理、文件 传输和其它活动设置为在期望的优先级上执行以作为后台任务来操作,或挂起并继 续文件传输活动直到建立或重新建立了宽带连通性,或在其它时间或在其它条件下 采取其它动作。根据本发明的说明性实施例,第一机器902、第二机器914或其它 参与机器、客户机、设备或硬件例如可由域名服务(DNS)或其它地址或标识符来 标识。第一机器902的同步引擎908、第二机器914的同步引擎908或其它同步引 擎实例或逻辑可采用自动发现逻辑来检测其它参与机器何时出现在因特网或其它 网络上,使得机器可在它们享有因特网或其它连通性的任何点处继续与其它机器的 同步活动。

用户可从用户的一组参与机器的任何一个或多个中选择性地或任意地选择用 户希望在这些机器之中复制、漫游或同步的文件或其它源内容而没有任何限制。此 外,第一机器902、第二机器914和任何其它参与机器可在组的基础上共享一组经 同步的文件926,但是这些机器无需直接连接到一起或同时连接在一起来执行本发 明的同步操作。相反,同步活动可取决于每一机器或机器的子组或子网络的连接、 网络和其它条件自动且有时机地发生。(然而,可以注意,在这些说明性实施例中, 该组参与机器能够在总体或累积的基础上实现全桥接或连接的网络,即使机器、机 器的子组或子网络在不同的时间、不同的地点或使用不同类型的网络连接来连接)。 用户可选择指定位于第一机器902、第二机器914或其它机器上的所有文件来漫游 或同步到另一参与机器,以在需要时实现对这些源文件的备份。

依照图10的本发明的说明性实施例,第一机器902的同步逻辑908、第二机 器914的同步逻辑或其它逻辑或实例可结合执行文件传输和更新来应用版本管理 逻辑1020。在如图所示的说明性实施例中,当同步逻辑908检测到文件的两个实 例之间的版本冲突时(例如,准备较老的文件来盖写该同一文件的较新版本),版 本管理逻辑1020可向用户呈现一对话框或查询以解决该冲突来重命名或移动过时 的文件、替换该文件的另一版本、或采取其它动作。可检测到其它基于版本的和其 它冲突。在某些实施例中,并非向用户呈现用于异常处理的丰富界面或除此之外, 而是版本管理逻辑1020也可向冲突文件或数据应用自动规则或处理,诸如执行一 比较功能来编辑或保存冲突文件、或以其它方式处理不同的版本。

再次可注意到,在本发明的说明性实施例中,诸如在图11中,两台以上机器 可在同一自动基础上参与文件同步和相关功能。如图所示的机器集合可至少包括第 一机器902、第二机器914、第三机器1122、第四机器1124或其它机器、客户机、 计算机或设备来同步所选的文件或其它内容。在各说明性实施例中,机器可经由诸 如图9所示的连接918等有线连接直接连接,或通过其它有线、无线或光学连接, 包括用于启用网络的蜂窝电话的空中接口来连接。然而,用户可以用相对较小的配 置工作来启动对所需文件的选择性同步,而不需要或不依赖于诸如因特网备份服务 器等中间存储、逻辑或控制资源。本发明的各实施例因此增强了文件漫游操作的可 靠性、速度和互操作性。

图12示出了根据本发明的各说明性实施例的总体文件共享和同步处理。在步 骤1202中,处理可以开始。在步骤1204中,用户可启动或登录到第一机器902, 诸如个人计算机、膝上型或移动计算机、启用网络的蜂窝电话或其它客户机、机器、 硬件或设备。在步骤1206中,用户可选择或激活一组源文件、文件夹、目录或其 它源文件、源位置或其它信息或内容,从而高亮显示第一机器902或其它位置上的 一组文件。在步骤1208中,用户可指定一组经同步的文件926要在一组工作的计 算机或其它机器之间自动同步和管理。在步骤1210中,可由同步引擎908或其它 逻辑自动发现指定的一个或多个机器的网络连接状态。在步骤1212中,用户可选 择,或者同步引擎908可检索所储存的对一个或多个目的地机器的指定来进行文件 或其它数据同步。

在步骤1214中,可建立并向诸如第二机器914或其它计算机、机器、客户机 或硬件等所选择的一个或多个机器认证诸如USB或其它有线或无线连接等连接 918。在步骤1216中,同步引擎908或其它控制逻辑可启动第一机器902和第二机 器914之间该组经同步的文件926的文件传输或其它内容传输。在步骤1218中, 第一机器902或第二机器914中的任一个或两者的同步引擎908可向所传输的该组 经同步的文件926或其它内容应用数字权限管理或保护逻辑。任何一个或多个参与 机器的同步引擎908可自动寻找复制诸如音乐或其它媒体内容等文件或内容的授 权或许可证。在授权被拒绝的情况下,可操作的同步引擎908可从目标机器上删除 未授权的一个或多个文件、通知用户未授权的副本已被移除、或采取其它动作。

在步骤1220中,第一机器902或第二机器914中的任一个或两者的同步引擎 908可向传输的该组经同步的文件926或其它内容应用版本管理逻辑1020以捕获 文件的不一致版本、尝试在较新版本上复制的文件的过时版本的实例,或检测其它 版本冲突。版本管理逻辑1020可向用户呈现一对话框以获得其优选的对版本冲突 的处置,诸如漫游文件的最新版本、重命名或备份文件的过时版本、对冲突版本替 换其它文件、或采取其它动作。在步骤1222中,一个或多个参与机器中的同步引 擎908或其它逻辑可更新该对应的本地机器或硬件中的文件系统逻辑910。在步骤 1224中,处理可重复、返回到前一处理点、跳转到另一处理点或结束。

在本发明的各说明性实施例中,用户可向联网计算机系统查询数据对象以及 启动在网络计算机系统中的多个计算机上对所选数据对象的同步。(数据对象是可 单独寻址的信息单元。数据对象的示例包括文件、文件夹、目录和电子媒体。)如 将讨论的,本发明的各说明性实施例支持可在多个计算机上复制数据对象的用户情 形,其中用户向网络计算机系统查询指定的数据对象。

图13A-C示出了根据本发明的一个实施例对计算机网络中的分布式存储的查 询结果的情形。图13A-C中的情形对应于由个人计算机1301、1303、1305和1307 构成的计算机网络。作为一个示例,当计算机1307的用户在用户的联网台式和膝 上型计算机上从家里工作时,该用户查询在2004年6月17日创建的文件。在该示 例中,文件A和B是用户在计算机1301上创建的文档,文件C和D是用户在计 算机1303上创建的文档,而文件E和F是具有音乐内容的文档。文件X、Y和Z (分别与计算机1301、1303和1305相关联)是在不同于2004年6月17日的日期 创建的。

参考图13A,计算机1301储存文件A和B,计算机1303储存文件C和D, 而计算机1305储存E和F。计算机1307处的用户生成查询网络1300的请求以获 得在2004年6月17日创建的数据对象的标识。计算机1307随后将带有日期准则 (2004年6月17日)的查询请求发送给计算机1301、1303和1305。因此,计算 机1307从计算机1301接收到带有文件A和B的标识的响应,从计算机1303接收 到带有文件C和D的标识的响应,并从计算机1305接收到带有文件E和F的标 识的响应。计算机1307组合来自各响应的对指定数据对象的标识,并将查询结果 呈现给用户。

图13B所示的情形类似于图13A,不同之处在于文件E和F被复制到计算机 1301。(文件的复制先前已讨论,例如,图12。)由此,计算机1301储存文件A、 B、E和F,计算机1303储存文件C和D,而计算机1305储存文件E和F。计算 机1307处的用户生成查询网络1300的请求以获得在2004年6月17日创建的数据 对象的标识。计算机1307然后将带有日期准则(2004年6月17日)的查询请求 发送给计算机1301、1303和1305。因此,计算机1307从计算机1301接收到带有 文件A、B、E和F的标识的响应,从计算机1303接收到带有文件C和D的标识 的响应,并从计算机1305接收到带有文件E和F的标识的响应。计算机1307组 合(合并)来自各响应的对指定数据对象的标识符,并将查询结果呈现给用户。然 而,如将在图14中更详细讨论的,计算机1307确定由计算机1301标识的文件E 和F是与计算机1307标识的相同的文件E和F。因此,显示给用户的查询结果仅 包含了文件E和F一次。由此,查询结果指示文件A、B、C、D、E和F而非文 件A、B、E、F、C、D、E和F。复制文件通常具有在各目标机器上都相同的名称。 然而,本发明的各实施例支持具有不同名称的复制文件。

图13C所示的情形类似于图13A,不同之处在于文件E和F被复制到计算机 1301,而文件A被复制到计算机1307。由此,计算机1301储存文件A、B、E和 F,计算机1303储存文件C和D,计算机1305储存文件E和F,而计算机1307 储存文件A。计算机1307处的用户生成查询网络1300的请求以获得在2004年6 月17日创建的数据对象的标识。计算机1307随后将带有日期准则(2004年6月 17日)的查询请求发送给计算机1301、1303和1305。然而,计算机1307已具有 复制文件A,并且不向计算机1301查询文件A。(在一个实施例中,当计算机1307 查询结果时,计算机1307首先检查其高速缓存的结果。如果计算机1307找到一文 件,则计算机1307修改对机器1301的传出查询,使得仅向机器1301查询计算机 1307上不存在的文件。)因此,计算机1307从计算机1301接收到带有文件B、E 和F的标识的响应,从计算机1303接收到带有文件C和D的标识的响应,并从计 算机1305接收到带有文件E和F的标识的响应。计算机1307组合来自各响应的 对指定数据对象的标识,并将查询结果呈现给用户。

图14示出了根据本发明的一个说明性实施例的支持对具有分布式存储的联网 计算机的查询的流程图1400。在步骤1401中,用户的计算机(例如,计算机1307) 通过用户界面(例如,如图15所示的用户界面1507)接收查询请求。在步骤1403 中,用户的计算机(本地计算机)确定用户计算机上的复制数据对象,并且不向联 网计算机(远程计算机)查询储存在用户计算机上的复制数据对象。因此,可增强 执行查询的性能。在步骤1405中,用户的计算机向联网计算机查询其余的数据对 象。用户的计算机在步骤1407中从联网计算机接收响应。在步骤1409中,仅标识 指定数据对象一次。步骤1411合并储存在联网计算机上的指定数据对象以及储存 在用户计算机上的数据对象的标识。如由步骤1411确定的查询结果可通过用户界 面向用户显示。

除了过程1400提供联网计算机系统中的指定对象的单个视图之外,过程1400 还可被扩展,使得未储存在联网计算机上的指定对象可被复制到联网计算机。例如, 如图13C所示,查询结果示出文件A、B、C、D、E和F,而仅文件A被储存在 计算机1307处。然后可启动文件同步,使得文件B、C、D、E和F也被储存在计 算机1307上。

图15示出了根据本发明的一个说明性实施例的查询具有通过网络1513分布 式存储的联网计算机的计算机系统1500。在本发明的一个说明性实施例中,计算 机系统1500基于如图1所示的计算机平台。计算机系统包括内容查询服务模块 1501、复制数据结构1503、对等状态数据结构1505、用户界面1507、网络接口1509 和高速缓冲存储器1511。用户界面1507可接口到用户输入设备(例如,键盘)和 用户输出设备(例如,显示设备)。

当用户通过用户界面1507请求时,内容查询服务模块1501执行如图14所示 的过程1400。内容查询服务模块1501查询联网计算机并通过网络接口1509和网 络1513从联网计算机接收响应。如果内容查询服务模块1501确定联网计算机是离 线的,则内容查询服务模块1501制止向离线的联网计算机发送查询。在这一情况 下,内容查询服务模块1501可向高速缓冲存储器(本地易失性存储器)1511查询 来自离线的联网计算机的最近访问的数据对象。

并且,内容查询服务模块1501还在复制数据结构1503中储存关于复制数据 对象的信息。例如,如果储存在计算机系统1500上的文件也在联网计算机上复制, 则内容查询服务模块1501不向联网计算机查询复制数据对象。在本发明的一个实 施例中,内容查询服务模块1501使用搜索索引来确定文件驻留在何处。如果文件 被本地复制,则本地机器上的搜索索引将包含该文件的名称。

当内容查询服务模块1501从联网计算机接收到响应时,内容查询服务模块 1501合并所选数据对象的标识,并可通过用户界面1507向用户显示查询结果。

如本领域的技术人员可以理解的,具有包含用于控制计算机系统的指令的相 关联的计算机可读介质的计算机系统可用于实现此处公开的说明性实施例。

尽管以对结构特征和/或方法动作专用的语言描述了本主题,但是可以理解, 所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征 和动作是作为实现权利要求书的示例形式来公开的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号