会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 对等网络 / 对等网络中的应用运行

对等网络中的应用运行

申请号 CN200480022490.X 申请日 2004-06-01 公开(公告)号 CN1833423B 公开(公告)日 2012-01-11
申请人 索尼电脑娱乐公司; 发明人 A·瓦斯; J·P·巴特斯; P·R·怀特; H·伯基;
摘要 本发明公开一种用于在对等网络中通信的互连性框架、方法及系统。互连性框架的对等体包括用于在对等网络上公布、传递消息和查找组件块的对等库以及用于响应要在对等体上运行的应用的要求来管理组件块的远程空间框架。对等库得到的组件块使应用能够在对等体上根据要求运行。要求定义应用的类型,使得可从对等网络获得适当的组件块。还包括组网器以实现与对等网络的特定网格的通信,以及实现由对等网络的网格的特定对等体所公布的对象的公布、消息传递和查找。
权利要求

1.一种用于在对等网络中通信的互连性系统,所述互连性系统的对等体包括:远程空间装置,用于响应要在所述对等体上运行的应用的要求而管理组件块,所述远程空间装置中的对等库得到的所述组件块使所述应用能够根据所述要求在所述对等体上运行,其中所述对等库在所述对等网络上公布、传递消息和查找组件块。

2.如权利要求1所述的用于在对等网络中通信的互连性系统,其特征在于,一个或多个组件块定义对象。

3.如权利要求1所述的用于在对等网络中通信的互连性系统,其特征在于,聚集的组件块定义实体。

4.如权利要求2所述的用于在对等网络中通信的互连性系统,其特征在于,所述远程空间装置还包括:公布和预订组件,所述公布和预订组件配置成通知对等网格的对等体关于对等体上的某些对象的可用性,并且请求来自所述网格上的其它对等体的对象的状态通知。

5.如权利要求1所述的用于在对等网络中通信的互连性系统,其特征在于,所述对等库包括使对等体能够与所述对等网络的所选网格的对等体进行通信的组网器组件。

6.如权利要求5所述的用于在对等网络中通信的互连性系统,其特征在于,所述组网器组件还包括:资源管理器,用于向所述对等网络的其它对等体公布所述对等体的资源以及用于从所述对等网络的其它对等体获取对象;

网格管理器,创建或加入所述对等网络的特定网格;以及

调度器,用于在对等体上从所述对等网络接收消息。

7.如权利要求6所述的用于在对等网络中通信的互连性系统,其特征在于,所述调度器配置成向所述应用传递所接收的消息或者向另一个对等体传递所述消息。

8.如权利要求6所述的用于在对等网络中通信的互连性系统,其特征在于,所述组网器组件还包括动态覆盖对象组件。

9.如权利要求8所述的用于在对等网络中通信的互连性系统,其特征在于,所述动态覆盖对象组件包括用于在所述对等网络中建立网格覆盖的全连接图组件和连枝组件。

10.一种用于在具有连接到对等网络的远程空间框架的对等体上运行应用的方法,包括:定义用于在所述对等网络上公布、传递消息和查找组件块的对等库;以及定义用于响应要在所述对等体上运行的应用的要求而管理组件块的远程空间框架,所述组件块由所述对等库获得,以便使所述应用能够根据所述要求在所述对等体上运行。

11.如权利要求10所述的用于在具有连接到对等网络的远程空间框架的对等体上运行应用的方法,其特征在于,所述应用的要求定义应用的类型。

12.如权利要求10所述的用于在具有连接到对等网络的远程空间框架的对等体上运行应用的方法,其特征在于,所述方法还包括:运行公布和预订组件,所述公布和预订组件配置成通知对等网格的对等体关于对等体上的某些对象的可用性,并且请求来自所述网格上的其它对等体的对象的状态通知。

13.如权利要求10所述的用于在具有连接到对等网络的远程空间框架的对等体上运行应用的方法,其特征在于,所述对等库包括使所述对等体能够与所述对等网络的所选网格的对等体进行通信的组网器组件。

14.如权利要求13所述的用于在具有连接到对等网络的远程空间框架的对等体上运行应用的方法,其特征在于,所述组网器组件包括:资源管理器,用于向所述对等网络的其它对等体公布所述对等体的资源以及用于从所述对等网络的所述其它对等体获取对象;

网格管理器,创建或加入所述对等网络的特定网格;以及

调度器,用于在所述对等体上从所述对等网络接收消息。

说明书全文

对等网络中的应用运行

[0001] 背景
[0002] 1.发明领域
[0003] 本发明涉及对等网络,更具体来说,涉及使对等体能够在虚拟/现实世界连接环境中访问数据、与应用交互以及浏览内容的框架基础结构。
[0004] 2.相关技术描述
[0005] 分散计算环境由经过互连以便相互通信的多个计算系统来定义,其中各计算系统可执行客户机以及服务器功能。对等(P2P)网络代表一种分散计算环境,在其中,P2P网络中的各计算系统被定义为网络中每个其它计算系统的对等体。为了便于论述,P2P网络中的各个对等计算系统称作节点。另外,P2P网络中的各节点配置成运行具有实质上等效的功能性的软件。因此,使每个节点能够用作P2P网络上的数据和服务的提供者和用户。
[0006] 虽然对等组网这些年来得到改进,并且新的使用继续利用这种组网,但是对等组网的主要功能没有太大改变。通常网络中的各对等体具有一个或多个应用,并且那些应用与其它对等体的其它应用进行通信。一些对等体向正请求对等体提供数据,而另一些对等体为其它对等体处理数据。这种配置有效,但是,各对等体成为网络的有效成员所需的投资可能相当大。对等组网应用必须加载到对等计算机中,可能需要安装驱动程序以访问某些应用,以及与其它对等体的通信受到对其请求连接的网络的对等协议的支配。
[0007] 由于上述情况,因此需要一种框架在可由一个或多个对等体网格所定义的连接对等网络上实现灵活通信以及与应用和数据进行交互。

发明内容

[0008] 一般地说,本发明提供体系结构、方法和计算机可读介质。体系结构和计算机实现的方法定义一种用于通过对等网络的网格运行组件形式的应用的框架。提供一种远程空间(telespace)框架,使应用能够定义用于运行特定类型的应用的必要组件或者传递消息。远程空间框架包括对等库(PeerLib),它实现与连接到对等网络的特定网格的对等体的通信功能性。应当理解,本发明可通过多种方式来实现,例如过程、设备、系统、装置或者计算机可读介质上的方法。下面描述本发明的几个创造性实施例。
[0009] 公开一种用于在对等网络中通信的互连性框架。互连性框架的对等体包括用于在对等网络上公布、传递消息和查找组件块的对等库以及用于响应要在对等体上运行的应用的要求来管理组件块的远程空间框架。由对等库得到的组件块使应用能够在对等体上根据要求运行。
[0010] 公开一种用于帮助对等网络中的对等体的应用编程接口(API)的组网器组件。组网器组件包括资源管理器,用于向对等网络的其它对等体公布对等体的资源以及用于为应用从对等网络的其它对等体获取对象。还包括网格管理器以便创建或加入对等网络的特定网格。还包括用于在对等体上从对等网络接收消息的调度器。而且,作为组网器的组成部分提供一种动态覆盖对象(DOO)组件,用于响应来自网格管理器的指令而创建特定网格。
[0011] 公开一种用于在具有连接到对等网络的远程空间框架的对等体上运行应用的方法。该方法首先包括定义用于在对等网络上公布、传递消息和查找组件块的对等库。然后,该方法包括定义用于响应要在对等体上运行的应用的要求来管理组件块的远程空间框架。组件块由对等库获取,以便使应用能够在对等体上根据要求运行。
[0012] 公开一种包含用于在具有连接到对等网络的远程空间框架的对等体上运行应用的程序指令的计算机可读介质。计算机可读介质包括定义用于在对等网络上公布、传递消息和查找组件块的对等库的程序指令。计算机可读介质还包括定义用于响应要在对等体上运行的应用的要求来管理组件块的远程空间框架的程序指令。由对等库得到的组件块使应用能够在对等体上根据要求运行。
[0013] 提供一种用于在对等网络中通信的互连性框架。互连性框架的对等体包括用于在对等网络上公布、传递消息和查找组件块的对等库部件。互连性框架还包括用于响应要在对等体上运行的应用的要求来管理组件块的框架部件。组件块由对等库部件获取,以便使应用能够在对等体上根据要求运行。
[0014] 通过以下结合附图举例说明本发明原理的详细描述,本发明的其它方面将变得非常明显。
[0015] 附图概述
[0016] 通过参照以下结合附图的描述,可以透彻地理解本发明的实施例。
[0017] 图1根据本发明的一个实施例定义对等网络中的对等体的远程空间框架。
[0018] 图2说明远程空间框架的实例,在其中,应用利用组件来定义应用,以及PeerLib实现与本发明的对等网络的网络的通信。
[0019] 图3是根据本发明的一个实施例的远程空间的图形表示,它被表示为连接到运行于对等计算机上的虚拟世界应用。
[0020] 图4说明根据本发明的一个实施例的PeerLib的组网器组件。
[0021] 图5至图7说明根据本发明的一个实施例、连接到网格覆盖的多个对等体的实例。
[0022] 详细描述
[0023] 图1说明远程空间组件100,它在作为对等网络的组成部分的对等体的操作系统114上起作用。在一个实施例中,远程空间组件100可包括应用。在这个实例中,应用为虚拟世界应用102。虚拟世界应用102是使用户能够访问任何应用的计算功能性的应用。应用可属于任何类型,以及所提供的功能性可包括与激励现实世界中的对象的组件和方面的交互性。例如,在现实世界中,人们采用大量源在日常现代生活中起作用。
[0024] 这类源可包括计算机、电话、蜂窝通信装置、博弈程序、视频和音频娱乐、报纸以及个人通信。根据人们所处的位置,现实世界将提供不同的体验和访问来与特定源交互。例如,在某个人处于办公室时可用的源可能不同于此人在家中或者在旅馆时可用的源。例如歌曲的音频库之类的源常常仅在个人的家用计算机上可用,而在办公室则不可用。在另一个实例中,沿街行走的人可能遇到在家中不可用的许多源。这类源可包括例如商店门面、气候条件、银行、他人、海报、旅馆、汽车等。因此,可以理解,人们往往在现实世界活动,根据他们的物理位置来了解什么源对他们是可用的。虚拟世界应用102尝试模拟现实世界,在其中,源的类型和内容的显示可虚拟地无约束,取决于人希望经过或者与之交互的位置。
[0025] 因此,虚拟世界应用102将允许用户进入一种环境,该环境将提供可能的“关注空间”的菜单,以及根据选择,虚拟世界中可用的选项将被过滤为子集。例如,如果用户希望进入游戏室,则关注空间将包括正在进行中的或者用户可用的游戏会话。作为关注空间的一部分,选择了相同关注空间的其它用户可能已经互连,并且能够相互共享信息、程序组件、数据以及传递消息。注意,基本对等网络互连性在本文中通过许多同义词来表示,其中包括“对等覆盖”、“网格”、“网络网格”或“网格覆盖”。对等组网意味着其中每一个节点具有发送和接收数据的大致相等的能力的网络通信形式。因此,虚拟应用102只是一个实例,当对等体选择进入关注空间时,对等体所属的网络网格将改变。根据用户(即,所连接的对等体)在关注空间中想要进行的活动,对等体将能够选择其它可用的应用。下面将描述的应用可显著改变。而且,在对等体上运行的应用根据分布组件体系结构来工作。
[0026] 关注空间管理将执行过滤,这使特定网格能够由特定对等体访问。过滤可能是任务相关的、优先级相关的、实体相关的、交互/实时评估的数据收集和高速缓存以及懒散评估和可扩展关注区。对等体的起始点最初可能是“归属空间”,它定义对等体用户最关注的网格覆盖。对归属空间的访问可能是基于预订的,或者可能像现实生活那样集中组织。本地空间与共享空间也可能是过滤中的决定因素,或者过滤可能是基于物理的(即,GPS到虚拟位置映射)。
[0027] 因此,在对等体上运行的应用将由作为远程空间框架104的组件体系结构106的一部分的组件块(对象)来定义。远程空间框架104还包括公布和预订(P&S)组件107、对等库(PeerLib)108以及作为PeerLib108的组成部分的P2P API 110。对等网络中的各对等体的远程空间组件100因而在其自己的操作系统114上运行。
[0028] 本文所使用的术语“远程空间”标识一种类型的空间,其中,对等网络的对等体可加入、进入、退出、在其中交互、通过其通信以及只是与其它对等体或对等体组通信。因此,特定远程空间的空间可包括所定义的受关注的特定网格或者多个网格,它们使可能已经加入特定网格的某些对等体能够彼此交互、共享数据(例如文件数据、组件数据、音频和/或视频数据、游戏数据、多媒体数据等)、共享组件或对象以及建立与一个或多个对等体的链接会话。因此,应当给予术语“远程空间”广泛的定义,它不应当把权利要求限制为具体空间,而是为所述结构和/或功能性提供上下文。
[0029] 记住上述定义,根据应用,远程空间框架API104将提供不同的功能性。在图2的简单实例中,应用作为有限的简单实例可包括连通性应用102a、游戏应用102b、游戏应用102c以及更大涵盖的虚拟世界应用102。参照虚拟世界应用102,定义虚拟世界应用102的应用要求某些组件块来定义应用。组件块由远程空间框架API的组件体系结构106来管理。
组件体系结构106的组件块是定义数据和/或方法的包装的对象。本申请中所使用的对象和组件块将可互换地使用。但是,一些对象可由一个以上组件块组成。这些聚集的块称作实体。
[0030] 在远程空间组件100的对等环境中,应用由组件体系结构106的组件块来定义。根据应用,将需要来自对等网格的对等体的某些组件块来定义应用的功能性。远程空间框架API104还包括公布和预订(P&S)组件107。P&S组件107与对等库(PeerLib)组件108进行通信。PeerLib组件108包括公布/传递消息/查找(PML)组件111和对等(P2P)API110。P2P API 110在下面更详细地描述,并定义为组网器302。
[0031] P&S组件107负责公布作为组件体系结构106的组成部分的组件块(即对象)的属性。这样,连接到网格覆盖的其它对等体将知道组件块的什么属性可能可用于共享。P&S组件107还负责预订。预订的功能使消息能够发送到网格覆盖上的其它已公布对象。因此,对等体可公布它们拥有可与网格覆盖上的其它对等体共享的对象,以及对等体可预订来自已经在网格覆盖上公布的对象的信息和状态。组件体系结构106的组件块将因此能够采用P&S组件107公布属性以及预订网格覆盖上的组件的属性。
[0032] P&S组件107是基于消息的(例如分级ASCII、二进制、XML之类的、等等)。物理表示独立于组件间通信的数据传输解决方案。因此,P&S机制对于给定计算机体系结构进行优化以及对于网络传输进行优化。因此,在一个实施例中,数据仅在被预订时才发送。这样,P&S组件107负责跟踪预订请求以及根据来自源组件的指令(例如,运行之后、标志变化等)以及根据来自包括远程复制组件在内的其它组件的请求来分发可公布属性。P&S组件107还负责预订数据的传送。实例包括消息队列处理、父调用(例如获取下一个消息)、自动数据设置(带有或没有通知)、半自动设置等。
[0033] 另一方面,PML组件111负责向网格覆盖和从网格覆盖公布对象本身、传递消息以及查找对象。除公布对象之外,PML组件111的公布代码还将处理P&S组件107的属性的公布。因此,PeerLib组件108负责响应应用的需要而通过P2P API 110获取组件块(即对象)。如上所述,特定对等体上运行的应用包 含由组件体系结构106管理的组件块。应用则访问组件块以形成功能应用。因此,根据预期应用,由PeerLib108的PML组件111通过网格覆盖来获得组件块。
[0034] 由于当对等体加入网格覆盖或者离开网格覆盖时,这些组件块通过网格覆盖来共享,因此,组件块可迁移到其它所连接的对等体。这样,需要特定组件块的功能性的对等体可从公布组件的可用性的另一个对等体获得组件块或者访问组件块。
[0035] 仍然参照图2,应用102a和102b利用可能不需要组件体系结构106的应用。例如,连通性应用102a可能只是通过P2P API100与网格交换消息(例如包含简单数据或文件)。因此,不需要组件来操作连通性应用102a,它可用于电话会议或文件共享。对于游戏应用102b不需要体系结构106的组件块,它只是采用消息传递通信与对等联机游戏交互。但是,在游戏应用102c中,这个游戏应用将需要某些组件来实现本地对等体上的功能性。
为此,组件体系结构106将请求和获取操作功能游戏应用102c所需的必要组件块。因此,应当理解,任何类型的应用可在形成远程空间的网格所定义的对等环境中处理。因此,远程空间在虚拟世界方面广义地来定义,以及以所选关注空间的更具体子集来定义。因此,对等体系结构被定义为用于路由消息和交换数据的对等体的分散自组织可缩放网格。
[0036] 图3是远程空间200的图形表示,表示为连接到运行于对等计算机上的虚拟世界应用102’。虚拟世界应用102’表示出城市街道的示例图片。城市街道可能是对等用户的家乡街道,在那个城市街道上,用户可能需要访问某些源。通过远程空间200,对等用户能够对诸如移动电话202、媒休204、远程控制(例如802.11)装置206、照相机208、PDA装置210、IP电话之类的各种装置进行通信或访问。对不同类型的源的可争论性在字面上是无限的,只要源是网格可用的。但是,特定网格覆盖中可用的源的类型将取决于网格覆盖中包含的关注空间的类型。
[0037] 图4说明组网器组件302,它类似于以上图1和图2的P2P API 110。在本发明的P2P网络中,组网器组件302是应用编程接口(API),它负责处理与对等体的网格覆盖的通信。组网器组件302包括资源管理器304、网格管理器306、调度器308以及动态覆盖对象(DOO)310。DOO包括全连接图(FCG)312组件和连枝314组件。FCG312和连枝314本身的基本功能性是本领域的技术人员众所周知的。但是,它们作为组网器组件302的组成部分来设置的方式提供PeerLib108中的效率和综合集成。为清楚起见,会理解,组网器组件302提供标识为P2P API 112的功能性,它是PeerLib108的组成部分,如图1和图2所示。
[0038] 资源管理器304配置成管理至和从对等体的网格覆盖网络上的已公布对象的可访问性。例如,对等体可向网格发送请求以便获取资源。一旦在网格的一个或多个对等体上找到资源,正请求对等体则可下载资源或者请求把资源流式传输到正请求对等体。因此,对等体将采用资源管理器304来公布它的可共享资源,以及对等体可请求查找资源供以后访问。
[0039] 网格管理器306配置成与DOO310通信。DOO310将提供把正请求对等体连接到适当的网格互连拓扑的服务。因此,根据对等体上运行的应用想要加入或创建的网格,网格管理器306将采用DOO310来选择和加载适当的覆盖。一旦对等体加入或创建网格覆盖,对等体可从连接到网格上的其它对等体接收消息或向其传递消息。
[0040] 调度器308负责为希望接收消息的已公布对象调度消息。希望接收消息的已公布对象采用消息处理器来公布。因此,当消息从网格进入并到达对等体时,消息到达调度器308。如果消息不是针对正接收对等体,则调度器将把消息传递到连枝314或者FCG312,从而把消息传递到另一个对等体。由于对等网络由网格的一组参与者来定义,因此,消息可通过链传递,直至消息到达目标对等体。除了把消息传递到中间相邻对等体之外,消息还可采用入口点通过FCG连接传递到其它对等体。但是,如果消息针对该对等体,则不是把消息传递到另一个对等体,而是可把消息传递到该对等体的应用。
[0041] 查找远程空间中的入口点的机制可包括例如集线器对等体(用于预定义的入口点服务器)、多层广播/跳环(hop-ring)多播、手动指定、随机尾部等。
[0042] 仍然参照图4,组网器组件302还表示为连接到套接字API400。套接字API400是以上图1和图2的操作系统114的组成部分。因此,组网器组件302提供对于对等体的网格的接口,它允许对等体在由对等体(及其共享资源)所定义的虚拟世界应用中工作。因此,应用的组件化实现网格中的有效资源共享,以及组网器组件302提供处理在本发明的所连接网格中工作所需的公布、预订、传递消息和查找所需的有效通信能力。
[0043] 图5至图7说明连接到网格覆盖的多个对等体502的实例。在图5的网格500a中,对等体502表示为根据“连枝”定义通过链路504连接。因此,按顺时针方向的链路504定义对等体502之间的后继连接,而逆时针方向的链路504则定义前导连接。中央的链路504定义指表连接。在这个实例中,对等体能够查找其它对等体并从该对等体取得所需资源。对于每个对等体,十六进制表示的装置Id定义各个对等体,并且十六进制数字沿顺时针方向增加。
[0044] 在图6的网格500b中,对等体502继续由以上定义的连枝互连,但是另外还添加了全连接网格(FCG)连接。FCG连接506a定义网格500b的对等体502用来玩游戏(即P2P游戏)的连接。由于游戏要求较小等待时间以便有效地进行游戏以及允许交互,因此,FCG连接提供这种附加覆盖,它由图4的DOO310提供。
[0045] 在图7的网格500c中,对等体502仍然通过“连枝”来连接,但是还包括若干其它FCG连接。在这个实例中,低等待时间要求的连接表示用于视频电话会议,并由连接506b来定义。另外还增加了即时消息传递聊天会话(例如Yahoo的IRC AIM)。因此,在这个网格500c中,对等体能够建立与网格以及其它特定对等体的连接,与其它对等体共享组件,以及与其它对等体进行消息传递。
[0046] 作为概述,提供虚拟世界应用,以便允许对等网格的已连接平台之间的可控数据交换。虚拟世界应用在本文中又称作“远程空间”。作为实例,虚拟世界应用提供常用接口和操作惯例。在一个实施例中,常用接口和操作惯例为已连接平台之间的可控数据交换提供API。API及关联框架允许创建分布场景图类型的应用。虚拟世界应用基于根据需要可适应以及可快速修改以便使用基于组件的网络间应用并与其通信的软件基础结构。虚拟世界应用设计用于对于众多应用、平台、用户、实体和数据库的高性能及可缩放性。
[0047] 对等网络是由定义网络节点的对等体组成的分散计算系统。在一些示范实施例中,对等体可包括任何计算装置,例如桌面级计算机、服务器级计算机、移动装置、手持装置、蜂窝电话、PDA、游戏机、游戏控制台等。但是,在其它实施例中,对等体可以是能够建立与另一个计算装置的通信的计算装置,只要计算装置连接到P2P网络。
[0048] 本发明的实施例可采用各种计算机系统配置来实施,其中包括手持装置、微处理器系统、基于微处理器或者可编程的消费电子产品、小型计算机、大型计算机等等。本发明还可在分布式计算环境中实施,在这些环境中,任务由通过基于有线或者无线网络链接的远程处理装置来执行。
[0049] 了解了以上实施例,应当理解,本发明可采用其中涉及存储于计算机系统中的数据的各种计算机实现的操作。这些操作是要求物理量的物理处理的那些操作。这些量通常但不一定采取电或磁信号的形式,它们能够被存储、传送、组合、比较以及以其它方式处理。
[0050] 构成本发明的组成部分的本文所述操作的任一个是有用的机器操作。本发明还涉及执行这些操作的装置或设备。设备可专门构造用于所需目的,或者设备可能是通过计算机中存储的计算机程序有选择地激活或配置的通用计算机。具体来说,各种通用机器可与根据本文的理论所编写的计算机程序配合使用,或者构建更专用的设备来执行所需操作可能更为便利。
[0051] 本发明还可体现为计算机可读介质中的计算机可读代码。计算机可读介质是可存储数据的任何数据存储装置,这些数据之后可由计算机系统读取。计算机可读介质的实例包括硬盘驱动器、网络连接存储器(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其它光和非光学数据存储装置。计算机可读介质还可分布在网络连接的计算机系统上,使得计算机可读代码以分布方式来存储和执行。
[0052] 虽然为了清楚地理解,略为详细地描述了上述发明,但应当清楚,在所附权利要求的范围内可实施某些变更和修改。因此,本实施例将被视作说明性而不是限制性的,以及本发明不限于在此提供的详细情况,而是可在所附权利要求的范围和等效物之内修改。