具有动态拓扑有机数据网络的制作方法

文档序号:7728634阅读:195来源:国知局
专利名称:具有动态拓扑有机数据网络的制作方法
技术领域
本发明涉及用于构建或维持具有动态拓扑有机网络(organicnetwork)的设备,方法以及具有用于其软件的载体。
背景技术
例如由US-A-6.052.718可知,在网络环境中通过备份服务器,可减轻主服务器的负担。然而在这些情形中,需要备份服务器的整个服务器软件和所有服务器的文件。对于备份而言,这首先是极大的负担。此外,并非任何给定的计算机均适合于此用途,更不用说任何给定向的服务器请求信息的计算机(客户机)。另外,以此方式,通过智能选路或也许其他途径不能使客户机获得接近于(关于传输速度)(备份)服务器的,最佳的内容传输速度。
此外,由U-A-5.944.783可知,为处理数据包提供软件(Java小应用程序,Java Applet),通过该软件在接收计算机上对数据包或其他数据的内容进行处理。然而在此情形,通信并不成问题,但对于分布式处理却成问题。一个大型任务被分割到数个代理(agent)上执行,其中每个代理执行一部分任务,并且与通用服务器(commonserver)通信。
另外,由美国专利5.511.167可知节点的网络(“多播网络”),然而在其中,节点为分级系统的各部分。各节点由中心节点(central node)集中控制。
在Onn Shehory等人于1998年7月发表于IEEECommunications Magazine上的Agent Cloningan Approach toAgent Mobility and Resource Allocation中,描述了一种多代理系统(multiagent system),该多代理系统包括当代理过载时在远程计算机上对它们进行备份的代理。备份代理(duplicate agent)分级地放置在原始代理(original agent)之下。这需要自顶向下的结构(overhead structure)。为执行任务派生出(sent out)代理,并由其向其原始代理回报消息。
在美国专利6.085.240中描述了一种代理系统。代理设备通过层叠结构来管理。从而,该系统需要自顶向下的结构。

发明内容
本发明的目的在于至少部分地克服显式或暗示地提到的缺点。
为此,本发明提供了一种用于构建或维持具有动态拓扑的有机数据网络的设备,它包括数据处理单元,至少一个到数据网络的数据连接,通过数据连接将数个具有数据处理单元的设备连接到数据网络上,以及软件,该软件具有用于接收数据网络中至少一个发送设备的数据包的接收程序,用于发送数据包的发送程序,它将从数据网络中一个或多个发送设备接收到的数据包发送到至少一个与该数据网络相连的接收设备上,此程序独立于一个或多个发送设备。
通过选用这种设备,可构建和构建有机数据网络,在该网络中,根据本发明的独立设备能向其他根据本发明的独立设备提供数据,以便例如使网络可用数据为网络中任意给定设备快速访问。
此外,有可能构建与传统网络和Internet相比不分层的数据网络。毕竟,当服务器失效或过载时,很多计算机将联不上网。因此,可使用根据本发明的设备,构建或维持具有很低失效敏感性的网络。
另外,可通过Internet或其他相似的有机网络建立可靠的“流”视频或音频广播。
对此,已知有所谓对等(peer-to-peer)网络的多种应用,该对等网络可具有或不具有客户机/服务器技术。
然而,在这些发明之中,还从未描述过其中像本发明设备中所实现在服务器和客户机之间数据传输的具有动态拓扑的有机网络。依照根据本发明的设备,也就有可能实现在某一个时刻作为服务器的同一对等体(第二个对等体作为客户机)在另一时刻作为客户机(此时第二个对等体作为服务器),且无须基于其中的某些控制。这两种设备自主地改变其自身角色。
本发明所指的内容涉及如数字格式的音乐,转换成数字格式的图像,数据库信息,简单ASCII码数据,但还可为所有其他可能的数据。当请求该信息时,必须将信息分布到尽可能多的设备上。例如就Internet而言,可考虑流视频或流音频。在此情况,数据连接的质量格外重要。即,通常将内容分成更小的数据包(data package)顺序发送。对于流音频或视频应用的情形,由于在数据包传输期间途中延迟导致不一致广播,因而数个数据包的序列顺序显得尤为重要。
根据本发明的数据处理单元首先涉及如从所谓PC或其他类似计算机所知的数字数据处理单元;或具有ALU的中央处理单元,CPU;计算单元。更广泛意义的处理器可考虑那些可放置在移动电话及其他设备中用于内部处理(电子)控制的处理器。
根据本发明所指的数据存储单元可为通常所知的计算机内存(RAM),但也可为硬盘或其他动态数据存储介质。
根据本发明,数据网络不仅指物理上线缆连接的网络,还可包括一系列使用传播在空气或光缆中电磁波的数据连接。也有可能为上述的组合。物理上线缆连接的网络还可包括使用通电(供电电压)电线的数据网络。在本发明中数据网络也简称网络。
本发明中所通过的连接首先指物理连接,如电缆,光缆,电力线,或任何可能在其上以电磁形式传输数据包的物理连接。所通过的连接(有时称为数据连接)也指无线连接,如通过红外或无线电波等。
最好是软件具有独立于发送设备的用于发送软件和数据包的发送程序。这样,可较快地在网络中添加新设备。
在一实施例中,软件具有用于测试与数据网络中其他设备连接的测试程序。
另外,在根据本发明设备的同一或另一实施例中,除在网络中为实现其目的提供发送和接收设备外,在数据网络设备中软件具有用于将数据包发送到接收设备的发送程序。
在本发明的同一或另一实施例中,软件包括用于转换数据包的转换程序。
在本发明的同一或另一实施例中,软件具有用于评估数据连接质量的评估程序。
在本发明的同一或另一实施例中,软件还具有清单程序,用于编制在数据网络中至少多个其他设备的清单,并在现有连接中断或低于阈值时为发送和/或接收而尝试与数据网络中另一设备的连接。
在本发明的同一或另一实施例中,设备具有用于存储数据网络中至少一个其他设备数据网络地址的内存。
在本发明的同一或另一实施例中,软件具有判决程序,该判决程序基于预定的标准决定创建到其他设备或到另一发送设备的连接。
在本发明的同一或另一实施例中,设备具有环境评估程序,用于请求与发送和/或接收设备的相连设备的地址。这样,在网络中设备可更自主地操作并改变拓扑。
另外,本发明所涉及的软件适合于上述设备。例如,所述软件可置于如(作为示例)CD,DVD,光磁盘,磁带的数据载体上,但也可置于如PROM,EPROM的IC卡中,或直接置于所生产的IC卡上。
此外,本发明涉及用于构建和维持有机数据网络的方法,其中节点具有数据处理单元和软件,该软件具有用于接收数据网络中至少一个发送设备的数据包的接收程序,用于发送数据包的发送程序,它将从数据网络中一个或多个发送设备接收到的数据包发送到至少一个与该数据网络相连的接收设备上,此程序独立于一个或多个发送设备。
其中,软件从一个或多个发送设备接收分成数据包的内容,或者从设备自身检索内容,并且将内容转发或传递到一个或多个接收设备,发送的内容可以或不以数据包的形式,该软件独立于发送设备。
这样,可构建和维持上述的有机网络。
在根据本发明方法的同一或另一实施例中,根据本发明的方法,当与发送设备的连接质量恶化或不符合要求时,软件从与该设备相连的发送和接收设备请求其他设备的地址,与所述其他设备中至少一个通信,测试与一个或多个其他设备连接的质量,如果一个或多个这种连接具有满意的性能则实现到适合的其他设备的连接,并将其作为发送设备添加到设备,而且反复此请求,直到全部数据包的接收符合预定标准。
在根据本发明方法的同一或另一实施例中,根据本发明的方法,当质量低于预定标准时,软件中断到发送设备的连接。
另外,本发明具体涉及包括根据本发明设备的移动通信设备,媒体播放器,通信设备,或交通信息系统。还可对传统电话提供根据本发明的这种设备。此外,卫星通信,尤其是卫星之间通信,也可包括根据本发明的设备,方法或软件。
在此情形,所涉及的移动通信设备指移动电话,步话机(walkie-talkie),卫星电话,袖珍式计算机(pocket computer),PDA,可以或不可便携的游戏计算机(game computer),其中,通过游戏计算机可以无线方式玩游戏,等等。
所涉及的媒体播放器指用于播放事先录制音乐和电影的电视,收音机或播放设备,不过个人计算机也适于此目的。
所涉及的交通信息系统例如指用于汽车,火车,飞机,船只的路线导航系统,可对汽车导航系统使用或不用GPS,不过对车辆提供信息的系统,如汽车无线通信以及任何可能的系统还可使用其他雷达系统。
另外,本发明涉及用于构建或维持具有动态拓扑的有机数据网络的软件,该软件包括,用于接收多个发送机的数据包的接收程序,用于将数据包发送到多个接收机的发送程序,用于保持接收数据包,发送数据包,数据包发送机和接收机地址的管理程序,用于评估数据包输入流的流量,时间间隔以及质量的评估程序,用于经由发送机和接收机寻找新潜在发送机的寻找程序,用于测试到新潜在发送机的数据连接质量的测试程序,以及用于决定建立到新发送机连接和关闭到发送机连接的判决程序。
根据本发明的设备可能为用户节点,这在以下将会讨论。不过根据本发明的设备并不限于此。
在通过使用根据本发明设备可构建或维持的有机数据网络中,可区分出多种节点。并不是所有这些类型的节点都对数据网络的功能来说必不可少。最好是使节点适应于通过软件该节点可改变类型,或甚至在同一时间具有数种类型。考虑到获得有机网络的最大灵活性,最好采用后者。
第一种节点为当其他节点请求内容时将内容发送到其他节点的节点。这种节点还称为产生节点(production node)。
另外,还可定义多个入口节点(portal node)。这些节点保持有网络中节点的表,并能够插入新插入数据网络的节点。所述节点对于根据本发明的有机网络并非至关重要。
在网络的中心为用户节点。对所述节点具有独立于源的且将内容接收并转发到请求信息节点的软件。此外,该软件可具有测试数据连接质量并对于网络中多个其他节点位置保持更新的程序。用户节点最好是自身还可生成内容,并由此获得产生节点的部分或全部功能。
最后可存在有所谓的路由器节点。这种节点只根据产生节点或用户节点的指令将内容接收和发送到网络中其他节点。
如上所述,节点确保对于任何人(客户机)请求所述内容的内容有效性。有机网络可按如下方式扩展或启动。当第一个客户机自产生节点请求(部分)内容时,产生节点将发送该内容,但由于第一个客户机成为第一个用户节点,因而此时还随同发送软件。这时,当第二个客户机与产生节点通信时,如果对第二个客户机还不具有使其成为根据本发明设备的软件时,产生节点将发送必要的软件,或将新客户机指向现有的用户节点例如第一个用户节点,以实现此目的。之后,第二个客户机又成为第二个用户节点,且在必要时寻找更好的连接。当到第一个用户节点的连接比到产生节点的连接更快时,若可能的话,第二个用户节点可(完全或部分地)连接到第一个用户节点,并由于所述客户机成为第二个用户节点,同时还将根据本发明的软件发送过去。所述第二个用户节点可从产生节点或从第一个用户节点获取其内容,而无论它所判断哪一个数据连接为更好的连接。然而,对于用户节点特别是能够完全自治并独立于产生节点。更好是,若需要用户节点能改编内容的话,其自身可添加内容(例如在流视频内容中以某种语言添加字幕)和生成它自己的内容,如本地广告消息,或本地消息。其结果是,作为用户节点同时还是产生节点。
新的用户节点最初与产生节点或入口节点通信时通常会将其添加到网络中。所述节点将使新来的节点与节点连接有效,最好是(一次)使其与现有用户节点或节点连接有效。新节点可主动地,完全自治地查找更好的连接。由于新节点可从与其相连的节点获取关于它们依次相连节点的消息,因而可支持所述过程。可使用所述邻居信息(neighbour information)来改善自身的连接或在失效时使空闲连接(spare connection)有效。最好是中央控制通常不会出任何问题,以致于减弱了灵活性和失效敏感性。
若可能的话,除了仅转发所请求的内容外,节点自身可添加内容或改变内容。例如本地字幕,广告消息,文件格式转换,增加安全性等。之后,事实上该节点同时成为产生节点。产生节点或用户节点还可增加可靠安全性以使接收节点了解内容是否可靠。内容源也能做到这些,且每一发送节点例如能够检查它所发送的内容是否可靠。这样,可构建关于内容可靠性的高速可靠的网络。
随着用户节点数量的增长,从而构建起数据网络。由于所述用户节点自己可处理关于内容的请求,并能够选择最佳的连接(考虑可靠性和/或传输速度方面),以及可对其提供以其他功能,因而还可称用户节点为智能节点(intelligent node)。最终数据网络具有有机体(organism)的特性,其中多个部分(节点)能够独立的“生存”。在数据传输期间,具体是在序列顺序非常重要的数据传送期间,例如在Internet应用的流音频和流视频,最佳的数据连接至关重要。另外,提供内容的服务器的容量通常仅能为有限数量的客户机服务,然而相对而言,根据本发明的有机网络具有随用户数量增长的近乎无限的容量。
在根据本发明的设备中,当将每个用户节点添加到所述网络中时,都具有一部分特定的剩余容量(overcapacity)作为网络全部分布容量的增长。通过使用根据本发明的设备,当网络越大,即节点越多,可获得的容量也越多,潜在地可使网络速度更快,而且无需扩展服务器的容量。根据本发明的设备利用在网络中所存在的固有的剩余容量,举例来说是由于大多数计算机具有全双工的数据连接而在某一时刻仅执行发送或接收。经由具有多个用户节点的网络,使用这些用户节点未使用的容量,则具有有限发送容量的产生节点或用户节点还能发送相对较多的内容。未使用的接收和发送容量可为其他节点所使用,以获取内容或将内容发送到其他节点。甚至在产生节点的发送容量变得更小时(所达到的某种程度为至少一个接收机自然应能获得足够的流入内容),由于用户节点的相互协作,将使通过网络的流速增加。
可将如上所述的多个入口节点定义为,包含有多个可运作的用户节点和可能的多个产生节点的列表。新的客户机可不与产生节点通信,而与从用户节点列表选出最近的一个(对于数据传输速度而言)入口节点通信。可能该入口节点还可(启动)发送软件以便将新的客户机安装成为用户节点。新的客户机将随后与现有用户节点通信并变成为新的用户节点。
在上述过程或数据网络中,描述了数种类型的节点。多数这些节点还可被定义为一个基节点(base node)。
一个基节点的特征在于具有所有功能,但可依据在本发明的有机网络中节点的功能将其中数个部分开启或关闭。
例如,每个节点都具有输入管理器及输出管理器,缓冲器,路由器逻辑(router logics),本地产生连接管理器(local productionconnection manager),和本地用户连接管理器(local consumerconnection manager)。
下面将描述其中可采用根据本发明的有机网络的一些示例。所述示例仅为了说明本发明,但本发明并不限于这些示例。本领域专业人员能够基于所述示例想到在本发明权利要求保护范围内的多种其他实施例。
流的Internet应用流视频和流音频作为已知的Internet应用,其中,是从服务器或工作站将含有内容的数据包发送到客户机或用户。对这些数据包需特别关注之处在于多个数据包的时间序列非常重要例如,无线广播具有固定的时间行(time line)。另外,数据流的连续性非常重要,否则,广播将时断时续。这种流Internet应用的基本原理是专业人员所熟知的。
通过使用根据本发明的设备,以下述方式利用有机数据网络可实现经由Internet或其他数据网络的流视频或音频的广播。
首先安装所谓的产生节点。产生节点是根据本发明的,用于生成对于一个或多个其他设备有效内容的设备,内容由该设备产生或存在于该设备自身中。所述内容可以为流音频或视频的广播。
计算机一旦例如通过Internet与产生节点通信,则该产生节点就启动发送内容,并附带发送如“Java applet”或“Java bean”形式的软件,该软件还可如所谓的Windows“Cabinet file”形式。随后,软件将自身安装到计算机上,并将该计算机调整成所谓的用户节点。正如以上所述,当有其他设备请求内容时,这种用户节点能够从某一设备(在此情形中为产生节点)接收内容,并将内容发送给其他设备。
当例如第二个设备本身也向产生节点请求获得内容时,在必要时所述产生节点将向所述第二个设备发送软件,或当例如占用了所有输出连接时,向该第二个设备通知所存在的早先安装的用户节点。
产生节点或直接发送软件,或通过用户节点使第二个设备作为用户节点向第二个设备发送软件,并且将第二个设备安装成第二个用户节点。该第二个用户节点将检测与产生节点或与第一个用户节点的连接是否最佳,并随之决定内容将必须来自于产生节点,还是通过第一个用户节点,或是来自两者。第一个用户节点能够完全独立于产生节点将内容发送到第二个用户节点。
如果第二个用户节点与产生节点具有更好的连接,则所述直接通信将导致第一个用户节点决定通过第二个用户节点获取内容。根据这种动态拓扑,显然可以得出节点互换其角色(roll)。
下面将基于说明本发明多个方面的数个附图,进一步描述本发明。显然所述附图用于说明本发明,而不应视为本发明限于附图所示的实施例。


图1表示如前所述的基节点。
图2A~2Q表示启动和维持根据本发明的有机网络的各个连续阶段。
图3A~3L表示将根据本发明的设备应用于移动电话。
图4A~4E表示将根据本发明的设备应用于交通信息系统。
图5A~5E表示将根据本发明的设备应用于有线电视网络。
图6A~6J表示通过具有本发明设备节点的网络以多个数据包传输内容。
图7~15表示根据本发明,在本发明具体实施例中的数据流。在图7~11中,表示出在产生节点一侧发生的事情,图12~15表示在用户节点一侧发生的事情。
具体实施例方式
图1表示如前所述的基节点1.0,它具有所有功能,使该基节点能用作产生节点,用户节点,路由器节点或入口节点。通过打开或关闭各功能,基节点可用作所述节点其中之一,或甚至用作上述节点的组合或者在多种能力中彼此并列地起作用。
基节点具有输入管理器1.1和输出管理器1.4。它们是在软件中管理输入和输出内容的程序。另外,节点具有所谓的路由器逻辑1.5来转发所接收的内容。
另外,基节点具有一个或多个缓冲器1.6来存储可能继续发送的数据。
最后,基节点具有本地产生管理器1.2用来产生准备发送的内容,以及具有本地用户管理器1.3用于将输入内容准备用于处理并有可能播放(对于流音频或视频情形)。
图2A~2Q表示启动有机网络的数个阶段。粗线表示节点之间的连接。条状虚线表示到节点的消息,点状虚线表示有关与现有节点相接节点的信息,细线表示通信以及测试连接质量。
图2A显示具有产生节点1的有机网络。产生节点经由Internet向两个用户节点2和2’发送如流音频广播的内容。在此情形,将内容分成经由Internet发送的数据包。对于两个用户节点中各个用户节点分别连接用户节点3和3’。对于3’,连接下一个用户节点4。另外还显示出两个入口节点0和0’。
用户节点2和2’将从产生节点接收的内容发送到用户节点3和3’,依次再由用户节点3将内容发送4。上述结果是仅有两个用户节点直接与产生节点相连。
下面将参照图2B~2Q,描述对如图2A所示某种情形有机网络可能的扩展。
在图2B中,产生节点1向用户节点2发送消息,其中提到存在有用户节点2’。
在图2C中可以看到,用户节点2正在检测到用户节点2’的连接。显然,用户节点2’具有多余容量并具有到生产节点更快的连接。例如在Internet应用的情形中,通过用波特率为56k6的模拟调制解调器连接用户节点2,而通过例如cable modem(线缆模拟调制解调器)连接用户节点2’,而且产生节点与用户节点2之间的实际连接速率最大为28k8。然而用户节点2能够在56k6的速率下运作用户节点2’从产生节点以高于56k6的高速接收内容,并开始向用户节点2发送内容,此过程独立于产生节点,而且不在28k8的速率下运作。现在,用户节点2以56k6的速率,而不以(例如)28k8的速率获得内容。此情形如图2D所示。在图2D中,产生节点还保持向用户节点2发送内容。节点3还获取从节点2发送的关于与所述节点相连节点的信息。
在图2E中,例如由于用户节点3的连接并非为最佳,因而用户节点3正在测设对于到它目前(直接或间接)所知存在于网络中各个节点的连接。例如可能由于到用户节点2的连接变得愈来愈差,而进行该测试。在此情形,用户节点3测试到产生节点1和用户节点2’的连接。显然用户节点2’还具有剩余容量。从而,用户节点2’还向用户节点3开始发送内容(如图2F所示)。
在图2G中,可以看到通过入口节点0如何实现新的用户节点5。该用户节点即将与入口节点0通信。如果所述节点还不是用户节点,则仍必须接收软件以将其安装,该节点(即将通信的)能从入口节点0获得所述软件。当安装了该软件后,此节点也就成为用户节点(且实际上如果需要时它还可开始操作成为产生节点)。
在图中入口节点从其保持更新的列表中选择用户节点,在此情形中为用户节点4,可在最后添加或不添加该节点。如果所要新添加的节点还不是用户节点,则它将从入口节点获得必要的软件(在此情形)以及关于所存在的用户节点4(如图2H所示)的信息。用户节点5接下来测试与用户节点4(图2I)并与用户节点4通信(图2J)。
在图2K中,用户节点5从用户节点4获得关于用户节点3的信息,并随之测试到用户节点3的连接(图2L)。当用户节点3具有剩余的发送容量且用户节点5具有剩余的接收容量时,用户节点3还会独立于产生节点或用户节点2向用户节点5发送内容(图2M)。用户节点5调整为适合于要从4和3接收内容。
在图2N中,用户节点3通知用户节点2存在有节点2’,4和5。然后在图2O中可以看到,可能由于其连接恶化或到5的连接更好,节点正在测试到5的连接。
在图2P中,创建了用户节点5和2之间的连接。
在图2Q中显然得出,在2和5以及5和3之间的连接较好,以至于现在3将由5而并非2来获得其数据包。在3和2之间的连接被切断。
在图3A~3L中,表示在移动电话网络中应用根据本发明的设备。此处,白箭头表示短暂的控制信号,灰箭头表示具有一路会话的信号,黑箭头表示具有两路会话的信号。
在图3A中,移动电话11希望建立通信。内置在移动电话11中的根据本发明的设备随之寻找在附近可直接通信的移动电话是否已与支持发送机(support transmitter)10通信。在附近可直接通信的移动电话都不与支持发送机10通信。根据本发明的设备随之建立移动电话11与支持发送机10之间的通信(图3B)。移动电话11启动与图外移动电话的首次会话。
在图3C中可以看到,还在移动电话12中所应用的根据本发明的设备如何寻找在附近可直接通信的移动电话是否已与支持发送机10通信。在图3D中可以看到,移动电话12与现在向支持发送机10转发双路会话的移动电话11进行通信。
在图3E中可以看到,移动电话11的会话已经结束,但所述电话还转发移动电话12的会话。
在图3F中可以看到,移动电话12也结束了它的会话。移动电话14想要呼叫移动电话13,但处在支持发送机10所达到的范围之外。其信号由能够与支持发送机建立通信的11所接收。移动电话11现在将14的信号转发到支持发送机10,支持发送机10将信号转发送移动电话13(图3G)。
同时,例如通过支持发送机10通知移动电话13它距离11相对较近(他们毕竟使用相同的支持发送机)。移动电话13随后发送(小范围)信号请求移动电话11与14建立通信,信号由11所接收(图3H),11承担支持发送机10的功能并确保13与14之间的连接(图3I)。加密确保连接的保密性。
由于移动电话11失效而中断连接(图3J)。13和14都会发出请求帮助的呼叫。移动电话12接收到这两种呼叫,并承担起11的角色(图3L)。
由于根据本发明的设备具有自治性,有可能首先直接建立在各自附近区域移动电话之间的通信。另外,由于拓扑的动态特性,可以处理失效。
此外,通过根据本发明的设备,有可能采用弱支持发送机(最好是尽可能的弱,这会使移动电话查找更快的可选路径),并使在各自附近区域的多个移动电话与具有最小发送容量的支持发送机10具有较好的连接。
在图4A中显示出交通的情况,其中,在公路的一侧48存在有障碍物40,限制或阻塞了交通,致使汽车43和42停滞不前。在公路的另一侧47行驶汽车41到达此处。在障碍物40之前足以具有出口49作为可选路经。汽车装备有根据本发明的设备。
在图4B中可以看出,驶近的汽车41如何从静止汽车42获得其停滞不前的信息。汽车41开走后,在图4C中可以看到在公路该侧48的汽车44如何靠近障碍物。
在图4D中,汽车41不依赖于发送汽车42向请求的汽车44发送信息。
在图4E中可以看到,汽车44决定走经由出口49的其他条路径。
在此情形中,应用在车辆信息系统(car-information system)中根据本发明的设备,从发送汽车42接收信息,且不依赖于发送汽车而将信息转发到汽车44。这样,汽车41独立于汽车(在此例中为汽车42)通知后面驶来的汽车关于障碍物的信息。
根据本发明设备应用的另一示例为电视应用。在图5A所示的情形中,通过有线网络61将多个电视机54,55,57,58,59连接到发送/广播站50。电视机56自身连接有卫星天线51。电视机不仅连接到电网60,还具有用于经由电网发送和接收数据包的装置。
电视53不经有线网络与其他电视相连,但确实可经由电网60,以及其自身的卫星天线相连接。电视56和53通过使用根据本发明设备向其他电视机发送卫星天线51和52的信号。白圈表示来自卫星天线51和52的内容,该内容经由电网由电视机53和56向其他电视机转发。灰圈表示由发送机50经由线缆61向电视机54,55,57,58和59发送的内容。
在图5B中可以看到,如何应对电视机56与55之间出现连接失效。电视机54和55经由电网发送紧急信号(灰方块),由仍获取信号电视机中的本发明设备接收该信号,所述电视机(实际为根据本发明的设备),在图5C中,电视机57,58和59接收此紧急信号。所述电视机经由它们能用于发送的电网向54和55发送信号,并应电视机54和55的请求开始经由电网发送(灰白圈,图5D)。在图5E中可以看出,电视机54和55实际上获取了线缆信号。灰白圈延伸到了电视机54和55。
当然,此例还涉及经由网络或无线(可能通过例如蓝牙协议)连接的个人计算机,游戏计算机,或甚至家用电器。经由可选信道(但可选信道在某些线路还有可能过剩),可纠正错误或解决例如数据传输的惰性问题(inertia)。
图6A~6K显示出通过网络从一点以数据包的形式发送内容,这些数据对于任何人都有效。例如,它可以为流视频或音频。
产生节点120具有处理的内容“12345678”,并将其发送到请求该内容的两个用户节点122和123。经由123的数据流比经由122的数据流更快。在图6B中可以看出,123已经接收第一个数据包“1”,而122还没有任何数据包。同时,122和123分别接收到来自124,126和127,125的请求。到123的数据包很快会到达以致于123已经接收两个数据包的同时,123到127的连接很好,使得127也接收了一个数据包。因此能够准予用户节点129的请求开始转发数据包(图6C)。
在图6D中,用户节点123已经接收了三个数据包的同时,由于123和127的连接非常快,127也同样接收了两个数据包。此时,通过123通知了节点125存在有127,节点125测试到127的数据连接。还由于此数据连接较好,比到123的数据连接更快,节点125决定请求127转发数据包。另外,131也请求向其转发内容,并连接到用户节点129。
由于经由122的用户节点126的连接较慢,用户节点126开始寻找更好的连接并最终找到节点129。在用户节点126的请求下,用户节点129现在也开始向126转发数据包。这样,看来已经呈现出动态的拓扑,并最终形成动态拓扑。然后,用户节点126断开到用户节点122的连接。同时,也将节点128和180作为用户节点添加到网络。该情形如图6E所示。
由于用户节点122到产生节点120的连接较慢,用户节点124也开始寻找更好的连接,并找到用户节点126。在用户节点124的请求下,用户节点126现在也开始向用户节点124转发数据包。此情形如图6F所示。同时,用户节点128和130还从120-122-124的链路接收到数据包“1”。
在图6G中可以看出,从下面123-127-129的链路转发数据包比从产生节点120到用户节点122转发更快。另外还可以看出,用户节点128和130到用户节点124的连接并不是最佳的用户节点128和130已接收2个数据包,而用户节点131就已接收4个数据包。用户节点128和130将寻找更好的连接,且128选择使用用户节点131的过剩容量。此情形如图6H所示。还可看出,用户节点123现在接收了所有的内容,并不再使用到产生节点的连接。
在图6I中可以看出,仅用户节点128,130和122还仍未接收所有内容。在图6J中除122外所有用户节点都接收了全部内容。
在此示例中,对于用户节点122显然不可能找到更好的另一节点的连接。然而,当例如经由用户节点124的连接比到产生节点的直接连接更好时,用户节点122决定请求用户节点124能否转发数据包,事实上结果为部分用户节点已从接收用户节点转变为转发用户节点。最好是仅当现有连接不(再)符合要求时,通过查找新的或另外的连接建立用户节点。
图7~15显示根据本发明的产生节点的具体实施例,并具体显示出通过该产生节点(图7~11)以及通过用户节点(图12~15)的数据流。所发送的数据流可为mp3流。在该实施例中的流通过Internet发送。所描述的附图将被引作参考来说明mp3流。然而,必须清楚的是使用该产生节点可发送任何数据流。在产生节点与用户节点的不同结构单元如缓冲器,路由器逻辑等,在于软件对象,该软件对象可以以任何适合的通用目标编程语言(general purpose programminglanguage)如C++,Java,或任何任务专用语言(task-specific)编制。这些对象为本技术流域技术人员所熟知。
图7显示通过产生节点(PN,Production Node)打开媒体流的过程。流目的地(Stream Target,即媒体播放器)通过入口http//localhost123/192.1.0.10/stream.mp3请求媒体流。
将执行下面的步骤步骤1用户管理器(CM,Consumer Manager)接收并识别请求步骤2CM向路由逻辑(RL,Router Logic)请求动作步骤3RL向入口(192.1.0.10)请求流源(SS,StreamSource)的IP地址步骤4入口(Portal)返回SS的IP地址24.25.26.27步骤5RL向产生管理器(PM,Production Manager)请求呼叫SS
步骤6PM向SS请求http//24.25.26.27/stream.mp3步骤7SS返回媒体流和http头步骤8aPM解析数据并向缓冲器(Buffer)发送媒体流步骤8bPM将http头返回到RL步骤9RL将http头返回到CM步骤10CM将http头返回到流目的地在图8中,产生节点(PN)启动接收媒体流。当将http头转发到流目的地(在图7中的步骤10)时,用户管理器(CM)启动数据检索循环用户管理器从缓冲器请求数据并等待回复。缓冲器响应可为■数据媒体流(CM将请求更多)或■数据还未准备好(CM将等待并稍后进行尝试)或■流结束(CM将关闭连接)。
然后执行下列步骤步骤1用户管理器(CM)向缓冲器请求数据媒体流步骤2缓冲器启动向CM发送媒体流步骤3CM将流转发到流目的地在图9中,产生节点(PN)接收来自用户节点(CN)的输入请求。来自用户节点的输入请求由产生节点的输出管理器(OM)所接收。该请求包括,传送给路由器逻辑(RL)的网络信息,和对将由缓冲器所处理的媒体流(数据块)中特定部分的请求。
随后,执行下列步骤步骤1输出管理器(OM)接收输入节点网络请求(incomingnode network request)步骤2aOM将网络信息转发到路由逻辑步骤2bOM向缓冲器请求所有的块,包括最佳的第一个块(preferred first block),不考虑用户节点。
在图10和11中,显示了产生节点(PN)对用户节点(CN)输入请求的响应。可具有以下两种情况
1.所请求的数据块有效2.数据块无效对这两种可能的情况将进一步讨论。
1.块有效(图10)在产生节点的缓冲器中所请求的块有效,则将该数据与网络信息一起返回到请求用户节点。从而执行下列步骤步骤1a获悉有关PN的网络信息和节点PN,并由路由器逻辑(RL)将它们返回到输出管理器(OM)步骤1b缓冲器将所请求的部分媒体流(数据块)返回到OM步骤2OM将所述信息打包,并将其返回给CN。
2.块无效(图11)在产生节点的缓冲器中所请求的块无效,则将该数据与网络信息一起返回到请求用户节点。
步骤1a获悉有关PN的网络信息和节点PN,并由路由器逻辑(RL)将它们返回到输出管理器(OM)步骤1b缓冲器不返回任何有效数据步骤2OM将RL的网络信息返回到CN。
现在在图12中显示当打开媒体流时在用户节点侧发生的不同处理步骤。流目的地(媒体播放器)通过用户节点以以下入口请求媒体流http//localhost123/192.1.0.10/stream.mp3。
从而将执行以下步骤步骤1用户管理器(CM)接收并识别请求步骤2CM向路由逻辑(RL)请求动作步骤3RL向入口(192.1.0.10)请求加入节点网络中的其他节点的IP地址步骤4入口返回其他节点的IP地址步骤5RL向输入管理器(IM,Input Manager)请求连接其他节点步骤6IM向其他节点请求连接步骤7其他节点返回媒体流和http头步骤8aIM解析数据并向缓冲器发送媒体流步骤8bIM将http头返回到RL步骤9RL将http头返回到CM步骤10CM将http头返回到流目的地在图13中显示,当用户节点(CN)启动接收媒体流时所发生的事情。当将http头转发到流目的地时,用户管理器(CM)启动数据检索循环用户管理器从缓冲器请求数据并等待回复。缓冲器响应可为■数据媒体流(CM将请求更多)或■数据还未准备好(CM将等待并稍后进行尝试)或■流结束(CM将关闭连接)。
从而执行下列步骤步骤1用户管理器(CM)向缓冲器请求数据媒体流步骤2a缓冲器启动向CM发送媒体流步骤2b路由器逻辑(RL)将CN注册为在入口的主动节点(active node),并确保其与其他节点的连接步骤3CM将流转发到流目的地在图14中显示,当用户节点从另一节点接收媒体流之后连接失效时将发生的事情。例如,从用户节点到其他节点(A)的连接失效。用户节点通过请求在节点网络中的另一节点(B)对上述事件作出响应。这通过执行以下步骤来实现步骤1输入管理器(IM)与其他节点(A)的连接失效步骤2IM向路由器逻辑(RL)请求在节点网络中另一IP地址步骤3路由器逻辑(RL)返回另一节点(B)的IP地址步骤4IM向另一节点(B)发送连接请求图15以简要形式概括地显示出在主动用户节点(CN)中对流的不同处理。这显示出用户节点的不同部件如何交互连接。
在所有示例中根据本发明的设备具有从数据网络检索内容,并不依赖于发送端而将其转发到其他根据本发明设备的自治能力。另外,每个设备能够测试在所达到的范围内是否有更好的连接,并完全独立地选择是否使用所述连接。
应该理解,上述描述仅为说明优选实施例的操作,本发明覆盖的范围并不限于以上描述。本发明覆盖的范围仅限定于后面的权利要求。从上述讨论,在本技术领域的技术人员显然会想到在本发明精神和范围内所包括的多种变型。
权利要求
1.一种用于构建或维持具有动态拓扑的有机数据网络的设备,它包括数据处理单元,至少一个到数据网络的数据连接,通过数据连接将数个具有数据处理单元的设备连接到数据网络上,以及软件,该软件具有用于接收在所述数据网络中至少一个发送设备的数据包的接收程序,发送程序,用于独立于所述一个或多个发送设备,将从所述数据网络中所述一个或多个发送设备接收到的数据包发送到至少一个与所述数据网络相连的接收设备上。
2.根据权利要求1所述的设备,其中所述软件具有独立于所述发送设备的用于发送所述软件和所述数据包的发送程序。
3.根据权利要求1或2所述的设备,其中所述软件具有用于测试与所述数据网络中其他设备连接的测试程序。
4.根据权利要求1,2或3所述的设备,其中所述软件具有发送程序,用于将数据包发送到所述数据网络中的接收设备,和除在网络中为实现其目的的所述发送和接收设备以外的设备。
5.根据以上权利要求中任何一个权利要求所述的设备,其中所述软件包括用于转换或变换所述数据包的转换程序。
6.根据以上权利要求中任何一个权利要求所述的设备,其中所述软件具有用于评估所述数据连接的质量的评估程序。
7.根据以上权利要求中任何一个权利要求所述的设备,其中所述软件还具有清单程序,所述清单程序用于编制在数据网络中至少多个所述其他设备的清单,并在现有连接中断或低于阈值时为发送和/或接收而尝试与所述数据网络中另一设备的连接。
8.根据以上权利要求中任何一个权利要求所述的设备,还具有用于存储在所述存储数据网络中至少一个其他设备数据网络地址的存储器。
9.根据以上权利要求中任何一个权利要求所述的设备,其中所述软件具有判决程序,所述判决程序基于预定的标准决定创建到附加设备或另一发送设备的连接。
10.根据以上权利要求中任何一个权利要求所述的设备,还具有环境评估程序,用于请求与包括有发送设备和接收设备组的设备相连设备的地址。
11.根据以上权利要求中任何一个权利要求所述的设备,其中所述接收程序包括请求子程序,所述请求子程序用于自所述数据网络中至少一个发送设备请求数据包。
12.根据以上权利要求中任何一个权利要求所述的设备,其中所述发送程序包括请求处理子程序,所述请求处理子程序用于处理来自至少一个接收设备的请求,以将从所述数据网络中所述一个或多个发送设备接收的数据包发送到所述至少一个接收设备。
13.根据以上权利要求中任何一个权利要求所述的设备,其中所述接收程序包括请求子程序,用于自所述数据网络中至少一个发送设备请求数据包;所述发送程序包括请求处理子程序,用于处理来自至少一个接收设备的请求,以将从所述数据网络中所述一个或多个发送设备接收的数据包发送到所述至少一个接收设备。
14.一种用于构建或维持具有动态拓扑的有机数据网络的设备,它包括数据处理单元,至少一个到数据网络的数据连接,通过数据连接将数个具有数据处理单元的设备连接到数据网络上,以及软件,该软件具有接收程序,用于接收在所述数据网络中至少一个发送设备的数据包,所述接收程序包括请求子程序,用于自所述数据网络中至少一个发送设备请求数据包;和发送程序,用于独立于所述一个或多个发送设备,将从所述数据网络中所述一个或多个发送设备接收到的数据包发送到至少一个与所述数据网络相连的接收设备上,所述发送程序包括请求处理子程序,用于处理来自至少一个接收设备的请求,以将从所述数据网络中所述一个或多个发送设备接收的数据包发送到所述至少一个接收设备。
15.一种用于构建或维持具有动态拓扑有机数据网络的软件,所述软件包括接收程序,用于接收在数据网络中至少一个发送设备的数据包,发送程序,用于独立于一个或多个发送设备,将从数据网络中一个或多个发送设备接收到的数据包发送到至少一个与数据网络相连的接收设备上。
16.根据权利要求15所述的软件,还包括判决程序,所述判决程序基于评估参数来决定创建到新发送机的连接和关闭到发送机的连接。
17.根据权利要求15或16所述的软件,还包括评估程序,所述评估程序用于评估数据包输入流的量,时间间隔和质量,并向判决程序提供评估参数。
18.根据以上权利要求15~17中任何一个权利要求所述的软件,还包括用于经由发送机和接收机寻找新潜在的发送机的查找程序,和用于测试到新潜在发送机数据连接质量的测试程序。
19.根据以上权利要求15~18中任何一个权利要求所述的软件,还包括管理程序,用于保持接收的数据包,发送的数据包,数据包发送机和接收机的地址,并向评估程序提供输入数据。
20.数据载体,具有根据以上权利要求15~19中任何一个权利要求所述的软件。
21.一种用于构建和维持有机数据网络的方法,其中节点具有数据处理单元和软件,所述软件具有用于接收数据网络中至少一个发送设备的数据包的接收程序,发送程序,用于独立于一个或多个发送设备,将从数据网络中的一个或多个发送设备接收到的数据包发送到至少一个与该数据网络相连的接收设备上,其中,该软件独立于发送设备从一个或多个发送设备接收分成各数据包的内容,或者从设备自身检索内容,并且将内容转发或传递到一个或多个接收设备,发送的内容可以或不以数据包的形式。
22.根据权利要求21所述的方法,其中当与发送设备的连接质量恶化或不充分时,该软件从与该设备相连的发送和接收设备请求其他设备的地址,与所述其他设备中至少一个通信,测试与一个或多个其他设备连接的质量,如果一个或多个这种连接具有满意的性能则实现到适合的其他设备的连接,并将其添加到作为发送设备的设备,并且重复此请求直到全部数据包的接收符合预定标准。
23.根据权利要求22所述的软件,其中当质量低于预定标准时所述软件关闭到发送设备的连接。
24.一种包括移动通信系统和卫星通信的通信系统,它包括用于构建或维持具有动态拓扑的有机数据网络的设备,所述设备包括数据处理单元,至少一个到数据网络的数据连接,通过数据连接将数个具有数据处理单元的通信系统连接到数据网络上,以及软件,该软件具有接收程序,用于接收在所述数据网络中至少一个发送通信系统的数据包,发送程序,用于独立于所述一个或多个发送系统,将从所述数据网络中所述一个或多个发送系统接收到的数据包发送到至少一个与所述数据网络相连的接收系统上。
25.根据权利要求24所述的通信系统,其中所述接收程序包括请求子程序,所述请求子程序用于自所述数据网络中至少一个发送通信系统请求数据包;所述发送程序包括请求处理子程序,该请求处理子程序用于处理来自至少一个接收通信系统的请求,以将从所述数据网络中所述一个或多个发送通信系统接收的数据包发送到所述至少一个接收通信系统。
26.一种媒体播放器,包括用于构建或维持具有动态拓扑的有机数据网络的设备,所述设备包括数据处理单元,至少一个到数据网络的数据连接,通过数据连接将数个具有数据处理单元的媒体播放器连接到数据网络上,以及软件,该软件具有接收程序,用于接收在所述数据网络中至少一个发送媒体播放器的数据包,发送程序,用于独立于所述一个或多个发送播放器,将从所述数据网络中所述一个或多个发送播放器接收到的数据包发送到至少一个与所述数据网络相连的接收媒体播放器上。
27.根据权利要求26所述的媒体播放器,其中所述接收程序包括请求子程序,所述请求子程序用于自所述数据网络中至少一个发送播放器请求数据包;所述发送程序包括请求处理子程序,该请求处理子程序用于处理来自至少一个接收播放器的请求,以将从所述数据网络中所述一个或多个发送播放器接收的数据包发送到所述至少一个接收播放器。
28.一种交通信息系统,包括用于构建或维持具有动态拓扑的有机数据网络的设备,所述设备包括数据处理单元,至少一个到数据网络的数据连接,通过数据连接将数个具有数据处理单元的交通信息系统连接到数据网络上,以及软件,该软件具有接收程序,用于接收在所述数据网络中至少一个发送系统的数据包,发送程序,用于独立于所述一个或多个发送系统,将从所述数据网络中所述一个或多个发送系统接收到的数据包发送到至少一个与所述数据网络相连的接收交通信息系统上。
29.根据权利要求28所述的交通信息系统,其中所述接收程序包括请求子程序,所述请求子程序用于自所述数据网络中至少一个发送交通信息系统请求数据包;所述发送程序包括请求处理子程序,该请求处理子程序用于处理来自至少一个接收系统的请求,以将从所述数据网络中所述一个或多个发送系统接收的数据包发送到所述至少一个接收系统。
30.一种用于构建或维持具有动态拓扑的有机数据网络的软件,包括用于接收不同发送机的数据包的接收程序,用于将数据包发送到不同接收机的发送程序,用于保持接收的数据包,发送的数据包,数据包发送机和接收机地址的管理程序,用于评估数据包输入流的量、时间间隔以及质量的评估程序,用于经由发送机和接收机寻找新潜在的发送机的寻找程序,用于测试到新潜在发送机的数据连接的质量的测试程序,以及用于决定建立到新发送机的连接和关闭到发送机的连接的判决程序。
31.根据权利要求30所述的软件,还包括请求处理程序,用于处理来自新接收机的用于接收数据包的请求,以及用于准许发送程序向新接收机发送数据包。
32.一种通信系统,包括根据权利要求31的软件。
33.一种媒体播放器,包括根据权利要求31的软件。
34.一种交通信息系统,包括根据权利要求31的软件。
全文摘要
本发明涉及用于构建或维持具有动态拓扑有机网络的设备,该设备包括数据处理单元;至少一个到数据网络的数据连接,通过数据连接将数个具有数据处理单元的设备连接到数据网络上;以及具有接收程序和发送程序的软件,接收程序用于接收在所述数据网络中至少一个发送设备的数据包,发送程序用于将从所述数据网络中所述一个或多个发送设备接收到的数据包发送到至少一个与所述数据网络相连的接收设备,此程序独立于一个或多个发送设备。另外,本发明还涉及用于将从发送设备接收的数据包发送到至少一个接收设备的,独立于所述发送设备的方法和软件。根据本发明的设备可用于例如移动电话,流Internet应用和有线电视。
文档编号H04L29/06GK1504040SQ02808244
公开日2004年6月9日 申请日期2002年2月15日 优先权日2001年2月16日
发明者马奇·凡·欧登伯格, 马奇 凡 欧登伯格, 尼瑞普, 马逖津·尼瑞普 申请人:无限创造公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1