聚集和搜索来自多个服务的简档数据转让专利

申请号 : CN200880020079.7

文献号 : CN101689210A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : R·多林O·奥巴萨杰M·I·托雷斯J·C·弗格尔

申请人 : 微软公司

摘要 :

可从一个网络服务组合并查询来自多个网络服务的简档数据。主网络服务可存储一个或多个副网络服务以及该主网络服务的用户简档数据。在存储时,可聚集或合并来自多个网络的数据。所存储的数据可包括主网络服务具有其简档帐户的每一个网络服务的用户简档数据和关系数据。可构造存在于主网络服务和一个或多个副网络服务上的用户-联系人关系图并可对其进行查询。

权利要求 :

1.一种用于存储数据的计算机实现的方法,包括:

(610,630,660)标识与由主网络服务维护的第一简档数据集相关联的 所述主网络服务的第一用户;

(540)从第一副网络服务取得与所述第一用户相关联的第二简档数据集, 所述主网络服务和副网络服务彼此分开地存储其各自的用户简档数据;

(830)将与所述主网络服务相关联的第一简档数据集与同所述副网络服 务相关联的第二简档数据集聚集在一起;以及(850)将所聚集的数据存储在数据存储中。

2.如权利要求1所述的计算机实现的方法,其特征在于,所述第二简档数 据集由与所述一个或多个数据存储通信的爬行器机制来取得。

3.如权利要求1所述的计算机实现的方法,其特征在于,所述标识步骤包 括:接收具有所述主网络服务的帐户的用户的用户名和口令。

4.如权利要求1所述的计算机实现的方法,其特征在于,所述取得与所述 第一用户相关联的第二简档数据集的步骤包括:基于与所述副网络服务的帐户相关联的第一用户的用户标识符来确定与 所述副网络服务帐户相关联的第一用户的简档的位置信息;以及使用所述位置信息来访问所述副网络服务的用户简档。

5.如权利要求4所述的计算机实现的方法,其特征在于,所述确定位置信 息的步骤包括:基于所述用户标识符来确定URL。

6.如权利要求4所述的计算机实现的方法,其特征在于,所述确定位置信 息的步骤包括:根据所述用户标识符和包含在可由所述主网络服务访问的配置文件中的 URL数据来确定所述位置信息。

7.如权利要求1所述的计算机实现的方法,其特征在于,所述存储步骤包 括:将关于所述主网络服务的用户标识信息或认证信息以及与所述副网络服 务帐户相关联的简档用户数据存储在用户简档表中。

8.如权利要求1所述的计算机实现的方法,其特征在于,所述存储步骤包 括:将关于所述主网络服务的用户标识信息以及与所述副网络服务帐户相关 联的简档关系数据存储在用户关系表中。

9.如权利要求1所述的计算机实现的方法,其特征在于,还包括:将所聚集的第一简档数据集和第二简档数据集作为一组聚集的简档数据 提供给作出请求的实体。

10.如权利要求1所述的计算机实现的方法,其特征在于,所述提供聚集 的简档数据的步骤包括:从客户机接收查看所述第一用户的简档的请求;

取得所聚集的简档数据;以及

在将由浏览器应用程序查看的内容页面数据中将所聚集的简档数据传送 至所述客户机。

11.一种或多种其上包含有处理器可读代码的处理器可读存储设备,所述 处理器可读代码用于将一个或多个处理器编程为执行一种方法,所述方法包 括:(910,1010)接收对主网络服务的一个或多个用户简档的请求;

(1020)在数据存储中查询所请求的一个或多个简档,所述数据存储包含 根据所述主网络服务的一个或多个第一简档数据集以及一个或多个副网络服 务的一个或多个第二简档数据集来构建的聚集的简档数据,其中所述主网络服 务和副网络服务是通过网络提供的单独的服务;

(1035)基于包括在所述一个或多个第一简档数据集和所述一个或多个第 二简档数据集中的关系数据来访问所述聚集的简档数据的子集,(图4A、4B)其中所述副网络服务的一个或多个第二简档数据集中的关 系数据包括未在所述主网络服务的一个或多个第一简档数据集的关系数据中 指定的、所述主网络服务的两个用户之间的可信关系;以及(930)将所述聚集的简档数据的子集提供给所述客户机。

12.如权利要求11所述的一种或多种处理器可读存储设备,其特征在于, 所述查询数据存储的步骤包括:访问包含所述一个或多个副网络服务上的、所述主网络服务的用户之间的 关系数据的用户关系表。

13.如权利要求11所述的一种或多种处理器可读存储设备,其特征在于, 所述请求包括准则参数和关系分隔参数,所述查询包括对于所述数据存储的所 述准则参数和所述关系分隔参数。

14.如权利要求13所述的一种或多种处理器可读存储设备,其特征在于, 所述关系分隔参数指示所述主网络服务的指定简档和所述聚集的简档数据的 子集内的一个或多个简档中的每一个之间所允许的分隔等级。

15.如权利要求11所述的一种或多种处理器可读存储设备,其特征在于, 所述关系数据指示:存在于所述主网络服务中的第一用户和第二用户之间的第一可信关系;

存在于所述副网络服务中的所述第二用户和第三用户之间的第二可信关 系;以及存在于二级分隔的所述第一用户与所述第三用户之间的关系。

16.如权利要求11所述的一种或多种处理器可读存储设备,其特征在于, 所述聚集的数据的子集包括符合所述查询的一个或多个简档中的一个或多个 所选简档,所述所选简档中的至少一个包括从所述主网络服务和所述副网络服 务访问的聚集的简档数据。

17.一种用于访问数据的计算机实现的方法,包括:

(610,630,650)选择与由主网络服务维护的第一简档数据集相关联的 所述主网络服务的第一用户;

(540)从第一副网络服务取得与所述第一用户相关联的第二简档数据集;

(550)将所述第二简档数据集存储在与所述第一主网络服务相关联的一 个或多个数据存储中,其中所述存储步骤包括在所述一个或多个数据存储中将与所述主网络服 务相关联的第一简档数据集与同所述副网络服务相关联的第二简档数据集链 接;

(910)从客户机接收对主网络服务的一个或多个用户简档的请求,所述 请求与关系分隔参数相关联;

(1025)选择匹配所述关系分隔参数的链接的数据,(图4A,4B)其中所选链接的数据包括未在所述主网络服务的一个或多 个第一简档数据集的关系数据中指定的、所述主网络服务的两个用户之间的可 信关系;以及(930)将所述所选链接的数据提供给所述客户机。

18.如权利要求17所述的用于访问数据的计算机实现的方法,其特征在于, 所述链接的数据包括与来自所述副网络服务的简档数据聚集在一起的来自所 述主网络服务的简档数据。

19.如权利要求17所述的用于访问数据的计算机实现的方法,其特征在于, 所述链接的数据包括与来自所述副网络服务的简档数据合并的来自所述主网 络服务的简档数据和内容数据。

20.如权利要求17所述的用于访问数据的计算机实现的方法,其特征在于, 所述链接的数据通过与所述副网络服务和所述主网络服务相关联的关系数据 来相关,所述关系数据被存储在与所述主网络服务相关联的一个或多个数据存 储中。

说明书 :

背景

因特网以及诸如内联网和外联网等其它计算机网络的不断发展已经带来 了许多新的网络服务,包括个人和专业网络服务。许多人具有允许用户维护简 档的各个网络服务的一个或多个帐户。这些简档可包括社会和专业网络关系、 联系人信息、博客、共享的照片、视频、分类广告和其它内容。

尽管若干网络服务可用,但它们通常包含单独的数据并且相互独立地操 作。为了体验和查看在不同网络上的用户简档,进行查看的用户必须访问第二 用户已经订阅的每一个服务。遍历单独的网络服务以查看和搜索单独的简档是 很麻烦的,即使进行查看的用户知道要查看的每一个用户简档的位置(也可能 不是这样)。

概述

大致描述的本发明的技术使一个主网络服务的用户能够聚集并访问来自 多个网络服务的简档数据。一个或多个副网络服务和主网络服务的用户简档数 据在该主网络服务内聚集。所组合的副网络服务数据和主网络服务数据可包括 具有该主网络服务的帐户的用户的用户简档数据和关系数据。多个网络服务的 简档数据可作为聚集或合并的简档来同时示出。

存在于主网络服务和一个或多个副网络服务中的用户-联系人关系图可基 于存储在主网络服务中的每一个服务的关系数据来构建、遍历和搜索。在构造 时,可使用该图来遍历在任一个网络服务中都没有任何直接连接的用户之间的 间接连接。

在某些实施例中,取得来自一个或多个副网络服务的简档数据。这些数据 可通过爬行机制,经由应用程序接口、RSS订阅源或使用某种其它机制来取得。 存储并可任选地处理所取得的简档数据。所存储的数据包括所访问的副网络服 务简档中的每一个的用户简档数据和用户关系数据。在某些实施例中,可移除 所存储的与每一个联系人简档相关联的关系数据以防止重复的连接数据。随后 可基于所存储的简档内容和关系数据来查询和提供多个网络简档数据。

在一实施例中,第一主网络服务用户被标识为具有由主网络服务维护的简 档数据的用户。从副网络服务取得与该第一用户相关联的第二简档数据集。主 网络服务和副网络服务彼此分开存储它们各自的用户简档数据。所取得的第二 简档数据集被存储在与第一主网络服务相关联的一个或多个数据存储中。存储 数据可包括将主网络服务简档数据和副网络服务简档数据聚集在一个或多个 数据存储中。

在一实施例中,从多个网络聚集的数据可响应于请求而提供。可接收对主 网络服务的一个或多个用户简档的请求。随后可在数据存储中查询所请求的一 个或多个简档。数据存储可包含根据主网络服务简档数据(第一简档数据集) 和副网络服务简档数据(第二简档数据集)构建的聚集简档数据,其中主网络 服务和副网络服务是通过网络提供的单独的服务。所聚集简档数据的子集基于 一个或多个第一简档数据集和一个或多个第二简档数据集中所包括的关系数 据来访问。一个或多个第二简档数据集中的关系数据包括主网络服务的两个用 户之间的可信关系。该可信关系不是在主网络服务的一个或多个第一简档数据 集中的关系数据中指定的。随后将所聚集简档数据的子集提供给客户机。

提供本概述以便以简化的形式介绍将在以下的描述中进一步描述的一些 概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在 用于帮助确定所要求保护的主题的范围。

附图简述

图1是用于聚集和查询来自多个网络服务的用户简档的系统的实施例的 框图。

图2是数据存储中的用户简档数据的框图。

图3是用于实现本发明的技术的计算环境的实施例。

图4A是不同的网络服务中的用户关系的示例。

图4B是在多个网络上的用户间关系的示例。

图5是用于访问和存储用户简档数据的方法的实施例的流程图。

图6是用于构造简档访问信息的方法的流程图和实施例。

图7是用于输入副网络服务数据的用户界面的示例。

图8是用于存储副网络服务的简档数据的方法的流程图和实施例。

图9是用于响应于请求来提供简档数据的方法的实施例的流程图。

图10是用于取得简档数据的方法的实施例的流程图。

图11是提供具有其多个网络的关系数据的简档的内容页面的示例。

详细描述

可从一个网络服务组合并查询来自多个网络服务的简档数据。主网络服务 可存储一个或多个副网络服务和该主网络服务的用户简档数据。在存储时,可 聚集或合并来自多个网络的数据。所存储的副网络服务数据和主网络服务数据 可包括主网络服务具有其简档帐户的每一个网络服务的用户简档数据和关系 数据。在被请求时,可将多个网络服务的简档数据作为聚集或合并的简档来示 出。例如,由华盛顿州雷蒙德市的微软公司提供的主网络服务“Windows Live Spaces”可从副网络服务取得数据并存储这些数据。“Windows Live Spaces” 随后可为其自己的用户显示还包括关于这些用户的任何对应的“引入链接 (LinkedIn)”简档数据的简档。

可构建、遍历和搜索存在于主网络服务和一个或多个副网络服务中的用户 -联系人关系图。对这些数据的搜索和查询可基于每一个服务的关系数据(其 被存储在主网络服务中)来执行。在构造时,可使用该图来遍历那些在任一个 网络服务中都没有任何直接连接的用户之间的传递连接。

来自一个或多个副网络服务的简档数据由主网络服务的机制来取得。这些 数据可通过爬行机制,经由应用程序接口、RSS源或某种其它机制来取得。所 取得的简档数据可包括所访问的副网络服务简档中的每一个的用户简档数据 和用户关系数据。存储所取得的数据并可基于所存储的简档内容和关系数据来 查询这些数据。

图1是用于聚集和查询多个网络服务的用户简档的系统的实施例的框图。 图1的系统包括客户机110、主网络服务190、网络服务爬行器150、副网络服 务192、副网络服务194和网络180。

客户机110可通过网络180与主网络服务190和副网络服务192通信。客 户机110可被实现为移动设备、台式计算机、工作站或某种其它机器。客户机 110包括用于通过网络180访问来自网络服务器120和160的内容的网络浏览 器115或浏览器客户端。在某些实施例中,客户机110处的用户可访问如由服 务器120-130和数据存储140提供的主网络服务190的用户帐户。

网络180可被实现为因特网或其它广域网、局域网、内联网、外联网、专 用网络或一个或多个其它网络。

主网络服务190通过网络180与客户机110通信并且包括网络服务器120、 应用服务器130和数据存储140。网络服务器120可被实现为一个或多个服务 器并且接收并处理来自客户机110的请求。当服务器180是因特网时,网络服 务器120可被实现为web服务器,该web服务器响应于网络浏览器115的请 求来提供包括html内容的内容页面或其它内容。在处理这些请求时,网络服 务器120可调用应用服务器130上的一个或多个应用程序。

应用服务器130可被实现为一个或多个服务器,其处理来自网络服务器 120的请求、生成请求响应、并且可任选地高速缓存来自数据存储140的数据。 在被调用时,应用服务器130上的应用程序可访问数据存储140以取得构造对 网络服务器请求的响应所必需的数据或其它内容。

数据存储140可被实现为一个或多个数据库、SQL服务器或某种其它类 型的存储设备。在某些实施例中,数据存储140包含关于简档、电子邮件、即 时消息收发以及由主网络服务的一个或多个发布者提供的其它通信服务的用 户数据。在某些实施例中,存储在数据存储140中且由主网络服务190提供的 简档是被华盛顿州雷蒙德市的微软公司称为“Windows Live Spaces”的网络服 务的一部分。

网络服务爬行器150可用于访问来自副网络服务192和194的数据并且将 从这些服务取得的数据提供给数据存储140。例如,网络服务爬行器150可访 问位于由网络服务192或194提供的特定URL处的简档、取得简档数据并且 将所取得的数据本地地存储到数据存储140。在某些实施例中,爬行器150可 被实现为接收RSS源,访问应用程序接口或以某种其它方式访问副网络服务的 简档数据的机制。网络服务爬行器150的操作在下面更详细地讨论。

副网络服务192包括网络服务器160和数据库165。网络服务192还可包 括一个或多个应用服务器(未在图1中示出)。由网络服务器160和数据库165 提供的网络服务可允许一个或多个用户与具有副网络服务192的帐户的其它用 户联网。类似地,副网络服务194包括网络服务器170和数据库175并且为具 有该网络服务的帐户的一个或多个用户提供该网络服务。如同服务192,网络 服务194也可包含一个或多个应用服务器(未示出)。

副网络服务可以是聚合的、预定义的或未定义的网络服务。聚合的网络服 务可与主网络服务190有关。例如,聚合的网络服务可由诸如微软公司等与提 供主网络服务190的发布者或公司相同的发布者或公司来提供。聚合的网络服 务可包含与主网络服务190不同的简档,但这些数据可与同一用户标识符相关 联并且可在不需要构造诸如URL等简档位置的情况下访问。例如,聚合的网 络服务可由主网络服务的同一发布者来运作并且可以用标识主服务的发布者 的信息来联合标记(co-brand)(例如,“Helicopter Pilots R Us Spaces with Windows Live”)。

预定义的网络服务并非由与主网络服务相同的发布者来提供,而是由主网 络服务190来识别。主网络服务190可根据所存储的服务的URL信息和关于 要接收的简档的用户标识符信息来构造预定义的网络服务的用户简档的位置 信息(诸如URL)。未定义的网络服务是并非由主网络服务190定义的网络服 务。主网络服务190可根据由主网络服务的用户提供的简档URL信息和用户 简档标识符信息来构造未定义的网络服务的简档位置信息(诸如URL)。每一 种类型的副网络服务都在下面更详细地定义。

图2是数据存储140的框图。数据存储140包括用户表142、用户简档表 144、用户关系表146和配置文件148。

用户表142存储主网络服务190的用户简档数据。存储在用户表142中的 用户简档数据可包括用户姓名、地址、性别、职业、电子邮件、收藏夹和其它 用户数据。用户简档表144可包括由一个或多个副网络服务提供的、具有主网 络服务190的帐户的用户的一个或多个简档的列表。因此,对于具有主网络服 务190的帐户的用户,关于其在副网络服务192和194中的简档的数据被存储 在用户简档表144中。包含在用户简档表144中的数据可包括针对主网络服务 提供的用户标识符、与该用户在副网络服务中的简档相关联的副网络服务的标 识、以及包含在用户在副网络服务中的简档中的数据,诸如对应于该服务的用 户标识符、用户姓名、地址、性别、职业等,如该副网络服务的用户简档中所 提供的。

用户关系表146可包含副网络服务的两个用户之间的关系数据。包含在用 户关系表146中的数据包括主网络服务190的第一用户和第二用户的用户标识 符以及其中存在关系的副网络服务的标识。用户关系表146可将数据作为数组、 整数或某种其它值来存储。配置文件148可存储预定义网络和聚合网络的URL 和其它数据。该数据用于生成访问信息,诸如副网络服务中的简档的URL。对 配置文件148数据的利用在下面更详细地讨论。

图3是用于实现本发明的技术的计算环境的实施例。图3的计算环境可用 于实现客户机110、网络服务器120、应用服务器130、数据存储140、网络服 务爬行器150、网络服务器160和170、以及数据库165和175。

图3的计算环境300只是合适的计算环境的一个示例,并且不旨在对此处 的技术的使用范围或功能提出任何限制。也不应该把计算环境300解释为对示 例性操作环境300中示出的任一组件或其组合有任何依赖性或要求。

此处所描述的技术可用各种其它通用或专用计算系统环境或配置来操作。 适合与此处的技术一起使用的公知的计算系统、环境和/或配置的示例包括,但 不限于,个人计算机、服务器计算机、手持式或膝上型设备、移动电话或设备、 多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络 PC、小型机、大型计算机、包含上述系统或设备中的任一个的分布式计算机环 境等。

此处的技术可在诸如程序模块等由计算机执行的计算机可执行指令的通 用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据 类型的例程、程序、对象、组件、数据结构等等。此处的技术也可以在任务由 通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计 算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存 储介质中。

参考图3,用于实现此处的技术的一个示例性系统包括计算机310形式的 通用计算设备。计算机310的组件可以包括,但不限于,处理单元320、系统 存储器330和将包括系统存储器在内的各种系统组件耦合至处理单元320的系 统总线321。系统总线321可以是几种类型的总线结构中的任何一种,包括存 储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的 局部总线。作为示例而非局限,这样的体系结构包括工业标准体系结构(ISA) 总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子 技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层 (Mezzanine)总线)。

计算机310通常包括各种计算机可读介质。计算机可读介质可以是能由计 算机310访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不 可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通 信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程 序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动 和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、 闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、 磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以 由计算机310访问的任何其它介质。通信介质通常以诸如载波或其它传输机制 等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据, 并包括任意信息传送介质。术语“已调制数据信号”指的是以在信号中编码信 息的方式设定或更改其一个或多个特征的信号。作为示例而非限制,通信介质 包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、 红外线和其它无线介质。上述中任一组合也应包括在计算机可读介质的范围之 内。

系统存储器330包括易失性和/或非易失性存储器形式的计算机存储介质, 如只读存储器(ROM)331和随机存取存储器(RAM)332。基本输入/输出系 统333(BIOS)包括如在启动时帮助在计算机310内的元件之间传输信息的基 本例程,它通常储存在ROM 331中。RAM 332通常包含处理单元320可以立 即访问和/或目前正在其上操作的数据和/或程序模块。作为示例而非限制,图 3示出了操作系统334、应用程序335、其它程序模块336和程序数据337。

计算机310也可以包括其它可移动/不可移动、易失性/非易失性计算机存 储介质。仅作为示例,图3示出了从不可移动、非易失性磁介质中读取或向其 写入的硬盘驱动器340,从可移动、非易失性磁盘352中读取或向其写入的磁 盘驱动器351,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘 356中读取或向其写入的光盘驱动器355。可以在示例性操作环境中使用的其 它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、 闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱 动器341通常由不可移动存储器接口,诸如接口340连接至系统总线321,磁 盘驱动器351和光盘驱动器355通常由可移动存储器接口,诸如接口350连接 至系统总线321。

上文讨论并在图3中示出的驱动器及其相关联的计算机存储介质为计算 机310提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例 如,在图3中,硬盘驱动器341被示为存储操作系统344、应用程序345、其 它程序模块346和程序数据347。注意,这些组件可以与操作系统334、应用 程序335、其它程序模块336和程序数据337相同,也可以与它们不同。操作 系统344、应用程序345、其它程序模块346和程序数据347在这里被标注了 不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如 键盘362和定点设备361(通常指的是鼠标、跟踪球或触摸垫)向计算机310 输入命令和信息。其它输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、 圆盘式卫星天线、扫描仪等。这些和其它输入设备通常通过耦合至系统总线的 用户输入接口360连接至处理单元320,但也可以由其它接口和总线结构,诸 如并行端口、游戏端口或通用串行总线(USB)连接。监视器391或其它类型 的显示设备也经由接口,诸如视频接口390连接至系统总线321。除监视器以 外,计算机还可以包括其它外围输出设备,诸如扬声器397和打印机396,它 们可以通过输出外围接口390连接。

计算机310可使用至一个或多个远程计算机,如远程计算机380的逻辑连 接在联网环境中操作。远程计算机380可以是个人计算机、服务器、路由器、 网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机310 描述的许多或所有元件,尽管在图3中只示出存储器存储设备381。图3中所 示的逻辑连接包括局域网(LAN)371和广域网(WAN)373,但也可以包括 其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网 中是常见的。

当在LAN联网环境中使用时,计算机310通过网络接口或适配器370连 接至LAN 371。当在WAN联网环境中使用时,计算机310通常包括调制解调 器372或用于通过诸如因特网等WAN 373建立通信的其它装置。调制解调器 372可以是内置或外置的,它可以经由用户输入接口360或其它适当的机制连 接至系统总线321。在联网环境中,相对于计算机310所描述的程序模块或其 部分可被储存在远程存储器存储设备中。作为示例而非限制,图3示出了远程 应用程序385驻留在存储器设备381上。可以理解,所示的网络连接是示例性 的,且可以使用在计算机之间建立通信链路的其它手段。

图4A是不同的网络服务中的用户关系的示例。图4A示出了三个网络关 系。主网络服务中的第一关系在第一用户和第二用户之间。第一用户和第二用 户之间的线指示该第一用户可能已将该第二用户列为“朋友”,从而在该第一 用户所具有的主网络服务190的帐户中与该第二用户具有信任关系。第二关系 是对应于副网络服务A的,其中第二用户与第三用户具有信任关系。在第三网 络服务,即副网络服务B中,第一用户和第三用户两者在该服务中都具有简档, 但在该服务中彼此不具有信任关系,如在图4A中通过没有线连接这两个用户 来表示。

图4B是多个网络上的用户间关系的示例。具体地,示出第一用户和第二 用户通过主网络服务具有信任关系,而第二用户和第三用户通过副网络服务A 具有信任关系。因此,可以看出,第一用户和第三用户具有通过第二用户的二 级分隔的间接关系。第一用户和第三用户没有通过任何网络服务直接连接但在 这两个用户之间的连接可被视为两个不同网络服务上的二级关系。本发明的技 术可识别该二级关系并且允许用户遍历该二级关系并对其进行查询。这在下面 更详细地讨论。

图5是用于访问和存储用户简档数据的方法的实施例的流程图。首先,在 步骤510,由主网络服务提供用于允许用户输入副网络服务简档数据的用户界 面。所接收到的简档数据可与聚合的、预定义的和未定义的网络服务相关。用 于接收副网络服务数据的用户界面的示例在下面参考图7示出和讨论。

在步骤520,通过用户界面从用户接收副网络服务数据输入。用户可输入 与副网络服务有关的数据、这些服务中的用户标识符和其它信息。所接收到的 数据用于访问每一个副网络服务中的简档数据,例如以便生成可从其取得简档 数据的URL或者其他数据。参考图7,聚合的网络服务A的数据可在选择<测 试链接>按钮时接收,预定义的网络服务C到F可能需要用户标识符,而未定 义的网络服务750可能需要用户标识符、简档URL以及可选的其它数据。

在步骤530,根据所接收到的用户数据来构造简档访问信息。简档访问信 息可根据用户标识符、先前存储在配置文件148中的信息和其它数据来构造。 构造简档访问信息在下面参考图6更详细地讨论。

接着,在步骤540,由网络服务爬行器150从副网络服务取得所选用户的 用户简档数据和关系数据。该简档数据和关系数据可由爬行器150从在步骤 530处构造的简档访问信息URL取得。在某些实施例中,简档和关系数据可使 用在步骤530处生成的其它简档访问信息来取得。一旦知道或构造了数据位置, 就可通过屏幕搜刮(screen scraping)、调用拉取数据的服务API、调用将数据 推送至爬行器150的API、经由RSS源、或者以某种其它方式来取得该数据。

在步骤550,然后由爬行器150将所取得的简档数据存储在数据存储140 的用户简档数据表144中。在某些实施例中,所取得的简档数据可在存储时与 主网络服务的现有简档数据聚集或合并在一起。在某些实施例中,所取得的简 档数据可在该数据被请求时或者在与主网络服务帐户相关联的用户作出请求 时与主网络服务简档数据聚集或合并在一起。存储所取得的简档数据在下面参 考图8更详细地讨论。

在步骤560,由网络服务爬行器150将用户关系数据存储在用户关系表146 中。所存储的关系数据可包括取得其简档数据的用户的标识符、由副网络服务 简档指定的用户的联系人、以及该网络服务本身的标识。如果联系人具有主网 络服务的简档,则在步骤560处存储该联系人的主网络服务用户标识符。如果 联系人没有主网络服务简档,则使用在副网络联系人中的用户标识符。在某些 实施例中,在存储用户关系数据之后,在步骤570,将数据高速缓存在应用服 务器130中。该步骤是可任选的并且可向应用服务器130提供对网络服务器120 的特定简档请求的较快访问。

在步骤580,然后向作出请求的实体提供具有链接的简档数据的一个或多 个简档。链接的数据可包括以诸如通过聚集或合并数据等某种方式组合的两个 或更多简档和/或服务的简档数据。来自作出请求的实体的请求可指定一个或多 个参数并且请求一个或多个简档或者两个或更多简档之间的路径。这些参数可 包括准则参数和关系分隔参数。准则参数指定匹配请求的简档必须满足的要 求,诸如与特定性别或居住城市相关联的用户简档。关系分隔参数可指定用户 之间的分隔等级,诸如图4A-4B所示的第一用户与第三用户之间的二级分隔。 提供一个或多个链接的简档在下面参考图9更详细地讨论。

图6是用于构造简档访问信息的方法的实施例的流程图。在某些实施例 中,图6的方法为图5的方法中的步骤530提供更多的细节。在步骤520,通 过用户界面从用户接收副网络服务数据输入。该步骤是出于引用的目的而提供 的,并且等同于图5的方法中的步骤520。在步骤605,然后确定所接收到的 输入是否对应于聚合服务。如果是,则图6的方法继续至步骤610。如果否, 则在步骤607处确定所接收到的输入是否对应于预定义服务。如果该输入对应 于预定义服务,则图6的方法继续至步骤630。如果否,则该输入对应于未定 义服务并且图6的方法继续至步骤660。

在步骤610,从用户接收帐户确认。帐户确认可作为对图7的用户界面中 的对应于聚合的网络服务的“<测试链接>”图标的选择来接收。在其它实施例 中,帐户确认选择可作为对用户界面中的某个其它按钮或元素的选择来接收。 在接收到帐户确认之后,在步骤620,高速缓存聚合的网络服务数据并且图6 的方法结束。

如果在步骤607所接收到的副网络服务数据输入对应于预定义网络服务, 则在步骤630,将该输入作为对应于该预定义服务的用户标识符来接收。参考 图7,接收对应于图7的用户界面的部分740中的网络服务C和网络服务E的 用户标识符。在接收到用户标识符之后,根据所接收到的用户标识符和包含在 数据存储140的配置文件148中的预定义服务数据来构造用户简档URL。在步 骤650,然后高速缓存对应于副网络服务的用户简档URL并且图6的方法结束。

如果在步骤607所接收到的副网络服务输入被确定为对应于未定义网络 服务,则在步骤660,从关于该未定义服务的用户接收包括副网络服务名称、 用户标识符和服务简档URL的数据。参考图7的用户界面,未定义的网络服 务数据包括服务名称“BlogTime(博客时间)”、用户标识符“pmbloggr”和 简档URL www.blogtime.com/pmbloggr。在某些实施例中,也可接收关于未定 义的网络服务的其它信息,诸如订阅源URL。

接着,在步骤670,确定所接收到的用户数据是否匹配预定义的网络服务。 如果所接收到的用户数据匹配预定义的网络服务,则图6的方法继续至步骤 640。如果用户数据不匹配预定义服务,则在步骤680,高速缓存所接收到的简 档URL。为了确定用户数据是否匹配预定义服务,可将所接收的基础URL和 用户标识符与配置文件148和用户简档表144中的URL和用户标识符进行比 较。

在某些实施例中,在爬行用户的主和副简档的过程期间,网络爬行器能够 以高置信度查明用户何时具有副服务的帐户并且该帐户具有从用户的名字导 出的ID且具有匹配该用户在主网络服务中的简档的元素的内容。爬行器随后 可以按类似于此处所描述的方式取得与用户的副网络服务的帐户相关联的数 据并且存储关于该用户的数据。

图7是用于输入副网络服务数据的用户界面的示例。图7的用户界面由主 网络应用程序190在图6的方法期间提供给用户。图7包括网络服务菜单710、 简档动作按钮720、简档菜单窗口760和简档数据窗口770。网络服务菜单710 包括菜单标题:开始、邮件、简档、订阅源、管理和其它信息。简档按钮720 包括对应于主页、您的简档、事件、组、照片、博客、列表和简档功能的按钮。

简档菜单窗口760包括可选图标:外观、web简档、联系人信息和社会。 当前,在简档菜单窗口760中选择了web简档窗口选项。简档数据窗口770包 括所列出的关于若干副网络服务的信息。这些服务包括部分730中的聚合服务 A、部分740中的预定义服务C、D、E和F、以及部分750中的一个未定义服 务。聚合服务A包括服务标签“Pat Smith”。该聚合服务信息可用与主网络服 务的用户相关联的用户标识符来预先填充。

预定义副网络服务C-F包括用户可在其中输入对应于每一个服务的用户 标识符的框。如如所示,用户已经输入了对应于预定义服务C的用户标识符 “psmith778”以及对应于预定义服务E的用户标识符“PattySmith”。预定义 服务D和F具有其中未填写用户标识符的框。

简档数据窗口770中的对应于未定义服务的部分750包括对应于服务名 称、用户标识符和简档URL的框。如图所示,服务名称框已用“Blog Time” 来填充,用户标识符框已用“pmbloggr”来填充而简档URL已用 http://www.blogtime.com/pmbloggr来填充。

图8是用于存储副网络服务的简档数据的方法的流程图和实施例。在某些 实施例中,图8的流程图为图5的方法中的步骤550提供更多细节。首先,网 络服务爬行器150将所取得的简档数据发送至数据存储810。该数据是从副网 络服务取得的。接着,在步骤820访问用户表142中的现有用户数据。在步骤 830,然后将所取得的数据与用户表142中现有用户数据聚集在一起。聚集数 据可包括将从副网络服务取得的数据添加到与主网络服务190中的用户简档相 关联的用户数据。例如,用户的主网络服务简档和副网络服务简档中的用户缩 略图照片都可通过主网络服务来存储。其它数据诸如电话号码、电子邮件地址、 地址和关于用户的主网络服务简档和副网络服务简档的其它信息可被一起聚 集在用户数据表中。

或者,在步骤840,可将所取得的数据与用户数据和用户表142合并。合 并数据而非聚集数据可涉及选择单个用户图标、单个用户地址、单个喜欢的电 影以及以其它方式将不同版本的数据合并到一个用户简档中。例如,如果用户 的主网络服务简档和副网络服务简档具有相同的用户居住地址,则该居住地址 可只在用户数据表中存储一次。当不同简档之间的用户数据不匹配时,可根据 用户创建的规则、创建日期(其中最新创建的数据胜过较早创建的数据)来合 并数据,或者可提示用户选择要在合并的简档中包括哪些数据。

接着,在步骤850将副网络服务简档数据作为新条目存储在数据存储140 的用户简档表144中。将副网络服务简档数据作为新条目来存储包括存储用户 标识符、与所取得的简档相关联的网络服务和从副网络服务取得的简档数据。 要存储的其它数据可包括认证凭证和/或与副服务相关联的URL。图8的方法 随后在步骤860结束。

一旦已经由网络服务爬行器150从一个或多个副网络服务192-194取得数 据,就可响应于用户请求来请求、查询以及以其它方式取得该数据。图9是用 于响应于请求来提供简档数据的方法的实施例的流程图。首先,在步骤910, 由网络服务器120从客户机110接收具有任何参数的对用户简档数据的请求。 该请求可基于所请求的数据类型来包括参数。这些参数可包括准则参数和关系 分隔参数。如上所述,准则参数指定要包括在匹配请求的每一个简档中的简档 准则,而关系分隔参数指定用户关系上的分隔等级。例如,“列表”类型请求 可包括参数起始用户S、跳跃范围、或者用户的关系分隔等级N、以及要匹配 的准则F。列表类型查询可被表达为“向我显示生活在西雅图的朋友中的所有 朋友”。在这种情况下,跳跃数N是2,过滤器将会是居住在西雅图的用户, 而S将会是用户自己的简档。

另一种类型的请求可以是“路径”请求。路径请求可具有参数起始用户、 终止用户、跳跃数N和准则F。例如,路径请求可被表达为“向我显示在Acme 工作的戴夫和迈克之间的相互匹配”。在这种情况下,起始用户是戴夫,终止 用户是迈克,跳跃数可能未定,而准则可以是具有公司名为“Acme”的工作 地址。

在步骤920,由网络服务器120从数据存储140中取得与所接收到的请求 相关联的简档数据。该数据可由网络服务器120通过应用服务器130来取得。 这在下面参考图10的方法更详细地讨论。在取得与请求相关联的简档数据之 后,由网络服务器120响应于所接收到的请求来向客户机110提供所取得的包 含一个或多个简档的简档数据。在一个实施例中,不显示用户之间的重复关系。 因此,如果第一用户和第二用户在网络服务A和网络服务B中具有信任关系, 则仅示出这两个用户之间的一个连接。在某些实施例中,在用户界面中指示其 中用户和联系人具有信任关系的网络。示出多个网络上的关系数据的简档内容 页面的示例在图11中提供。

图10是用于取得简档数据的方法的实施例的流程图。在一个实施例中, 图10的方法为图9的方法中的步骤920提供更多细节。首先,在步骤1010, 确定所接收到的请求是与简档列表、路径还是与单独数据请求相关联。如果所 接收到的请求与简档列表或路径请求相关联,则在步骤1015网络服务器110 将请求参数发送至应用服务器130。在步骤1020,应用服务器130从网络服务 器120接收请求参数并且将这些参数发送至数据存储140。在步骤1025,数据 存储140从应用服务器130接收这些参数,并且查询用户表142和用户关系表 146以确定简档和/或简档路径匹配。如上所述,数据存储140可被实现为一个 或多个SQL服务器。由此,这些服务器可具有向其查询所请求的特定关系和/ 或简档数据的业务逻辑。

在步骤1030,数据存储140确定查询的结果,将匹配的简档打包到响应 中,并且将该响应发送至应用服务器130。接着,在步骤1035,应用服务器130 接收响应并且将该响应转发至网络服务器120。在步骤1040,网络服务器120 从应用服务器130接收响应。对于简档列表和路径请求,图10的方法随后在 步骤1040处结束。

在步骤1010,如果所接收到的请求与单独的简档数据请求相关联,则在 步骤1045网络服务器120将具有简档ID的请求发送至应用服务器130。在步 骤1050,应用服务器130从网络服务器120接收请求并且将该请求转发至数据 存储140。在步骤1055,数据存储140接收请求并且查询用户表142和用户简 档表144以访问与所请求的用户标识符相关联的简档数据。在步骤1060,数据 存储140然后将对应于查询结果的简档数据打包到响应中并且将该响应发送至 应用服务器130。在步骤1065。应用服务器130从数据存储140接收响应并且 将该响应发送至网络服务器120。在步骤1070,网络服务器120从应用服务器 130接收响应。

图11是提供具有对应于若干网络的关系数据的简档的内容页面的示例。 在一个实施例中,图11的内容页面1110中的简档包括主网络服务简档的数据 和从一个或多个副网络服务简档取得的数据。如该内容页面的顶部所示,这些 简档与称为“Pat Smith”的用户相关联。内容页面1110包括简档数据1120、 博客1130、网络服务列表1150和联系人列表1140。简档数据1120包括基本 简档信息,诸如兴趣、爱好、怪癖以及电子邮件和即时消息收发(IM)的联系 人信息。博客1130包括与该内容页面相关联的用户的当前博客条目以及一个 和多个先前的博客条目。

网络服务列表1150包括用户与其相关联的副网络服务的列表。该服务列 表包括服务A、服务C、服务E和“Blog Time”。这些服务对应于其中用户 提供图7的用户界面中的信息的副网络服务。内容页面1110的联系人列表1140 包括八个联系人。一指示与每一个联系人相关联,该指示关于除了提供该内容 页面的主网络服务之外的、其中每一个联系人与简档用户具有关系的上下文。 例如,当前简档的当前用户除了主网络服务之外还通过网络服务A与联系人2 具有关系。当前用户通过网络服务A和网络服务E与联系人4具有关系,如 在联系人4的图标下面直接指示的。简档所有者仅通过主网络服务与联系人1 具有连接,如通过未直接在联系人1的图标下面列出其他网络服务来指示的。 当前简档的用户通过未定义服务“Blog Time”与联系人5具有关系,如通过 直接在联系人5的下面列出“Blog Time”网络服务来指示的。应当理解,联 系人、联系人关系的和副网络服务的列表的列出可以按若干方式完成。图11 所示的示例和此处所讨论的其它示例仅旨在作为示例,并且不旨在限制显示该 信息的范围。

以上对此处的技术的详细描述是出于说明和描述的目的而呈现的。并非旨 在穷举本技术或将其限于所公开的精确形式。鉴于上述教导,许多修改和变型 都是可能的。选择上述实施例来最好地解释本技术的原理及其实践应用,从而 使本领域其他人能够在各种实施例中并用各种适于所构想的特定用途的修改 一起最好地利用本技术。本技术的范围旨在由所附权利要求书来定义。