程序置放方法、分组传输装置、以及终端 【技术领域】
本发明涉及一种有源网络技术,更具体地说,涉及一种在网络节点置放程序的方法、以及使用该方法的分组传输装置和终端。
背景技术
由于宽带网络的使用在普通用户中已经变得非常普遍,因此,网络资源消耗服务,例如使用图像和音频的点对点实时通信、以及使用视频的码流分配等变得非常普及。结果,用户关于网络服务的质量的意识已经提高,并且用户对质量的恶化变得非常敏感。因此,确保服务质量(QoS)强烈要求因特网提供最佳效果的服务。除了个人计算机之外,移动电话和移动终端通常被用作利用网络的新装置,因此,还需要依据终端的通信类型,提供灵活的服务。在这样的情况下,已经希望诸如路由器、交换机等网络节点不仅执行简单地分组传输过程,而且具有一种考虑应用层的智能。
对网络进行访问的终端能够依据用户或者新网络技术的各种需要,很容易地进行模式改变,并且模式改变的周期变得较短。另一方面,由于在路由器或者交换机地情况下需要确保与旧模式的连接性和兼容性,并且需要标准化来对规范进行改变,因此,需要花费较长的时间来与新的技术相符合。很难立即符合多种多样的网络服务的需要。作为通过其可以灵活地改变网络的功能的技术,已经在诸如参考文件[1]中提出了有源网络的概念。有源网络通过在网络节点中置放程序,能够灵活地对网络的行为进行控制。由于通过采用有源网络的机制,它们能够在较早的阶段向网络系统中引入新的服务功能,而无须花费用于标准化所需的时间和金钱,因此,工业界及学术界已经对有源网络寄予了较高的期望。
为了满足用户对质量的需求,有源网络在有源网络的特定网络节点中置放用于对由终端发送和接收的分组执行特定的处理的程序。其中置放了这样的特定程序的节点被称为有源节点。已经提出了对这样的有源节点的数量和位置进行优化的方法。例如,从参考文件[2]中可以看到该方法。
为了有效地使用有源网络,问题在于在哪一个网络节点中置放程序。如果程序置放在具有较重的处理负载的节点中,则会违背用户的希望,使分组的传输延迟,并且使服务质量恶化。此外,终端可以按照各种方式对网络进行访问,并且可以使用无线接入点、以及有线接入点。因此,即使将有线网络中的节点置放为有源节点,服务质量的恶化也可能发生在无线和有线网络之间的边界,并且不能够获得所期望的效果。因此,为了确定将哪一个节点作为有源节点,以便在其中置放程序,必须考虑网络拥塞和访问环境,因而,难以统一地由简单的规则来确定所述的有源节点。
相关技术列表:
[1]Miki Yamamoto,《A Survey of Active Network Technology》,IEICETransaction on Communications,Vol.J84-B,No.8,PP.1401-1412,2001年8月。
[2]JP 2001-249910 A
【发明内容】
基于这些考虑,已经提出了本发明,本发明的目的是提出一种能够将合适的网络节点确定为有源节点,并且在所述的有源网络中置放程序的网络技术。
依据本发明的一个方面,提出了一种终端,该终端包括:发送单元,用于将对节点信息的请求消息发送到通信路径上的多个网络节点;接收单元,用于从已经接收到请求消息的每一个网络节点中接收包括节点信息的响应消息;确定单元,用于依据所述的响应消息,将多个网络节点中的至少一个确定为有源节点;以及上载单元,用于将用来对由终端发送或者接收的分组执行特定的处理的程序上载到该有源节点。
依据本发明的另一方面,提出了一种分组传输装置,所述的装置包括:确定单元,用于在从终端接收到有源节点确定请求消息时,为终端确定节点是否为有源节点;接收单元,用于当确定单元确定该节点为有源节点时,从终端接收用于对由终端发送或者接收的分组执行特定的处理的程序;存储器,用于存储接收到的程序;以及执行单元,用于通过将程序加入到分组处理中来执行所存储的程序。
所述的分组传输装置可以为诸如路由器、交换机、无线接入点等的网络节点,并且所述的装置可以具有依据用于有源节点的程序执行特定的分组处理的环境。
依据本发明的另一方面,提出了一种程序置放方法,所述的方法包括:从由终端发送或者接收的分组的通信路径上的多个网络节点中收集节点信息;依据所收集的节点信息,将多个网络节点中的至少一个确定为有源节点;以及将用于对由终端发送或者接收的分组执行特定的处理的程序上载到该有源节点。依据本发明的以上提到的方面的终端可以使用此方法。
依据本发明的另一方面,还提出了另一程序置放方法,所述的方法包括:在由终端发送或者接收的分组的通信路径上的节点上接收与终端的分组通信有关的要求信息;依据该要求信息,为终端确定节点是否为有源节点;如果确定节点为有源节点,从终端接收用于对由终端发送或者接收的分组进行特定的处理的程序,并且将接收到的程序加入到分组处理中。依据本发明的以上提到的方面的分组传输装置可以使用此方法。
而且,上述结构组件及步骤的任意替换或者替代、方法和装置之间以及方法和装置的合成物部分地或者整体地被替换或者替代后的表示、以及对系统、计算机程序、存储介质、传输介质等进行改变后的表示都是有效的,并且可以被包括在本发明之内。
此发明内容不需要包括所有的必要特征,从而也可以使本发明称为所描述的这些特征的子组合。
【附图说明】
图1示出依据一个实施例的有源网络的结构。
图2是图1的终端的方框图。
图3是图1所示的分组传输装置的方框图。
图4是示出由图1所示的终端所采用的用于确定有源节点并且上载程序的过程的流程图。
图5是示出由图1所示的分组传输装置用于确定是否为有源节点,并且接收上载程序的过程的流程图。
【具体实施方式】
下面将参考优选实施例对本发明进行描述。这并不是对本发明的范围的限定,而是为了举例说明本发明。
图1示出了依据一个实施例的有源网络的结构。分组传输装置12a到12e设置在有源网络的节点A到E。源终端(source terminal)10a与节点A上的分组传输装置12a无线地进行连接,并且与目的地终端10b交换数据。目的地终端10b与节点D上的分组传输装置12d无线地进行连接。节点A和D上的分组传输装置12a和12d为无线接入点,而节点B、C和E上的分组传输装置12b、12c和12e是通过有线网络相互连接的路由器。终端10a和10b是例如:个人计算机、诸如PDA(个人数据助理)的便携式电子设备、以及具有数据通信功能的移动电话等。
源终端10a向目的地终端10b发送节点信息请求消息14,以便收集网络节点信息。在设置在通信路径上的节点A、B、C和D的分组传输装置12a、12b、12c和12d中接收节点信息请求消息14。已经接收到分组信息请求消息14的分组传输装置12a、12b、12c和12d分别向源终端10a发回节点信息响应消息16a、16b、16c和16d。
源终端10a收集这些节点信息响应消息,从而将通信路径上的多个节点A到D中的至少一个确定为有源节点,并且将用于执行特定的分组处理的程序上载到该有源节点。如果将作为无线接入点的节点A上的分组传输装置12a确定为有源节点,则分组传输装置12a接收由终端10a发送的程序,并且将该程序加入到分组处理中,然后对在源终端10a和目的地终端10b之间传输的分组执行优先级控制等。此后,将源终端10a和目的地终端10b简称为终端10,将在通信路径上的分组传输装置12a到12d称为分组传输装置12。
图2是终端10的方框图,图3是分组传输装置12的方框图。这些结构可以由诸如任意计算机中的CPU、存储器、以及其他LSI(大规模集成电路)的硬件来实现,或者由诸如装在存储器中的具有分组处理功能的程序等的软件来实现。在这些图中,由方框示出通过组合这些硬件和软件实现的功能。本领域的技术人员应该理解:这些功能块可以只有硬件、只有软件、或者由软件或者硬件的结合的各种方式来实现。
参考图2,对终端10的结构进行解释。终端10通过切换模式,执行两种模式中的其中之一:一种模式为终端10将网络节点确定为有源节点,而另一模式为网络节点确定其是否为有源节点。首先,解释其中由终端10确定有源节点的模式。
请求消息产生单元28产生节点信息请求消息14,然后发送机22将该消息发送到分组传输装置12。接收机20从分组传输装置12中接收节点信息响应消息16,并且将该响应消息存储在节点信息存储器30中。
有源节点确定单元24依据已经收集到的、并且存储在节点信息存储器30中的节点信息响应消息16,确定有源节点,并且将有源节点的列表存储在有源节点列表存储器32中。
程序上载单元26查询在有源节点列表存储器32中存储的有源节点列表,并且执行将程序存储器34中存储的预先定义的程序上载到每一个有源节点中的过程。程序可以由发送机22通过FTP(文件传输协议)等来传输,也可以将程序添加到要发送的分组的一部分,然后由发送机22进行传输。
在其中网络节点确定其是否为有源节点的模式下,请求消息产生单元28产生有源节点确定请求消息15,然后发送机将该请求消息发送到分组传输装置12。接收机20从确定为有源节点的节点上的分组传输装置12中接收有源节点确定响应消息17,并且将该节点作为有源节点的其中之一存储在有源节点列表存储器32中。程序上载单元26执行与以上所述相同的过程。
下面参考图3,解释分组传输装置12的结构。接收机40从通信路径上的相邻节点接收分组。接收的分组可以包括:节点信息请求消息14、有源节点确定请求消息15、通信数据、程序数据等。
当接收机40接收到节点信息请求消息14时,响应消息产生单元50产生节点信息响应消息16,所述的节点信息响应消息包括:节点类型、处理负载、处理容量、与终端的相对位置等,然后发送机42将节点信息响应消息16作为分组发送回终端10。
当接收机40接收到有源节点确定请求消息15时,有源节点确定单元48依据在有源节点确定请求消息15中包括的通信要求信息,例如终端的连接类型、所期望的网络质量、要传输的数据的媒体类型等,确定节点是否为有源节点。如果该节点确定其为有源节点,则有源节点确定单元48产生有源节点确定响应消息17,其中所述的有源节点确定响应消息17包括:节点的识别信息、节点成为有源节点的理由,然后,发送机42将有源节点确定响应消息17作为分组发送回终端10。
当接收机40接收到通信数据分组时,分组处理单元46对数据执行基于协议的处理,然后,发送机42将处理后的分组转发到相邻的节点。当接收机40接收到其中添加有程序的通信数据分组时,分组处理单元46从该分组中分离出添加的程序数据,并且将该程序数据存储在程序存储器52中,然后对只包含通信数据的分组执行基于协议的处理,并且由发送机42将处理后的分组转发到相邻的节点。当接收机40接收到只包括程序的分组时,分组处理单元46简单地从分组中提取程序数据,并且将该程序存储在程序存储器52中。
当节点确定其为有源节点时,程序执行单元44执行在程序存储器52中存储的程序,并且由分组处理单元对分组传输过程执行优先级控制等。程序执行单元44可以将程序添加到正在由分组处理单元46处理的分组的一部分中。在由分组处理单元46执行的基于协议的处理中,可以将控制切换到程序执行单元44,并且可以在其中执行所述的程序。由发送机42将分组处理单元46已经处理的、并且程序执行单元44已经对其执行优先级控制等的分组,转发到相邻的节点。
下面将描述由依据上述置放的终端10和分组传输装置12进行的有源网络的程序置放方法。
图4是示出由终端10所采用的用于确定有源节点,并且上载程序的过程的流程图。终端10向通信路径上的多个节点发送节点信息请求消息14(S10)。终端10从已经接收到节点信息请求消息14的每一个节点上的分组传输装置12中接收节点信息响应消息16(S12)。
节点信息响应消息16包括:节点信息,例如,与诸如路由器、交换机、无线接入点等节点类型有关的信息、与诸如在节点上接收到的流量的当前值或者分组处理速度的处理负载有关的信息、与诸如硬件性能、接收到的流量的最大值、节点的最大分组处理速度的分组处理容量有关的信息、或者与节点离终端的相对位置例如跳数、IP地址等有关的信息。
终端10依据已经从这些节点中收集到的节点信息,将通信路径上的多个节点中的至少一个确定为有源节点(S14),然后,终端10将适当的程序上载到有源节点(S16)。
下面将解释用于确定有源节点的一些规则。
(A)终端10与无线接入点的连接的情况。
通过参考收集到的节点信息,终端10将其节点类型为无线接入点的节点确定为有源节点。将用于依据有线或者无线传输时带宽的差别、或者诸如误码率的通信质量来进行适当的分组处理的程序上载到有源节点。例如,该程序依据无线链路的传输带宽,对诸如内容转换的应用层进行处理。所述的内容终端为诸如依据无线带宽,降低图像的分辨率或者帧速率。
(B)终端10发送或者接收诸如实时音频或者运动画面的媒体数据的情况。
通过参考收集到的节点信息,终端10将具有较重处理负载的节点确定为有源节点。由于具有较重处理负载的节点非常可能成为传输媒体数据的瓶颈,因此,将该节点确定为有源节点,并且将用于对实时媒体分组执行优先级控制的程序上载到节点中,并且由该节点来执行此程序。例如,有源节点执行优先级控制,从而首先对诸如延迟或者延迟抖动的传输质量要求较严格的分组进行传输。可以将具有大于预定的阈值的处理负载的所有节点确定为有源节点。可以只将具有大于预定的阈值的处理负载的所有节点中具有最大的处理负载的一个节点确定为有源节点。
(C)依据节点的处理容量确定有源节点的情况。
通过参考收集到的节点信息,终端10将具有较小处理容量的节点确定为有源节点。由于具有较小处理容量的节点很可能成为传输分组的瓶颈,因此,将该节点确定为有源节点,并且将用于利用处理容量的程序上载到节点,并且由该节点来执行此程序。例如,该节点执行用于预先为终端10的分组传输预留网络资源的过程,或者通过流量许可控制来限制对除了终端10的流量之外的流量的许可。可以将具有小于预定的阈值的处理容量的所有节点确定为有源节点。可以只将具有最低的处理容量的一个节点确定为有源节点。
(D)依据节点的相对位置来确定有源节点的情况。
通过参考收集的节点信息,终端10将离终端具有较小的跳数的节点、或者离终端较近的节点确定为有源节点。可以依据节点的IP地址来确定节点和终端之间的距离。例如,可以将用于对由终端发送或者接收的分组进行优先级控制的程序上载到该有源节点,并且由该有源节点执行此程序。
图5是示出由分组传输装置12执行的用于确定其是否为有源节点,并且接收从终端10上载的程序的过程的流程图。终端10向通信路径上的多个节点发送包含终端10的分组通信要求信息的有源节点确定请求消息15(S20)。
所述的有源节点确定请求消息15包括:分组通信要求信息,例如,与诸如通过有线网络访问或者通过无线网络访问的终端连接类型有关的信息、与诸如由终端发送或者接收的分组的分组丢失率、延迟、或者抖动的所期望的网络质量有关的信息、与由终端发送或者接收的数据的媒体类型例如文本、静态图像、运动画面、音频等有关的信息。
已经接收到有源节点确定请求消息15的每一个节点依据终端信息,确定其是否为用于终端10的有源节点(S22)。如果任何节点确定其为有源节点,则该有源节点向终端10发送有源节点确定响应消息17(S24),其中,所述的有源节点确定响应消息17包括该节点的识别信息、以及将其确定为有源节点的理由。终端10把合乎在有源节点确定响应消息17中找到的、将其确定为有源节点的理由的程序,上载到该有源节点(S26)。
下面将解释将其确定为有源节点的理由。
(A)终端10的连接类型为无线的情况。
当在有源节点确定请求消息15中包含的终端10的连接类型表示无线时,并且如果该节点是与终端10直接通信的无线接入点,则该节点确定其为有源节点。将用于依据有线或者无线传输的带宽上的差别、或者诸如误码率的通信质量来执行适当的分组处理的程序上载到该有源节点,并且由该有源节点来执行此程序。
(B)依据网络的质量和媒体数据类型来确定有源节点的情况。
通过参考在有源节点确定请求消息15中包含的用户的网络质量要求和媒体数据类型,如果断定该节点在当前的分组处理负载下不能够满足终端10的质量要求,但是当该节点变为有源节点时,该节点能够执行来满足该质量要求的处理,则该节点确定其为有源节点。将用于执行控制来满足由终端发送或者接收的分组的质量要求的程序上载到该有源节点,并且由该有源节点来执行此程序。
(C)节点之间的通信质量较差,以及由终端10发送或者接收的分组的重新传输频繁发生的情况。
如果节点位于由于较高的分组丢失率造成的具有较低的通信质量水平的链路的末端,则该节点确定其为有源节点。将用于对该链路内的分组执行重新传输控制的程序上载到该有源节点,并且由该有源节点来执行此程序。在具有较差通信质量的链路的两端的节点都可以成为有源节点,或者这两个节点中的任一个可以成为有源节点。
依据本发明,如已经描述的,发送和接收分组的终端收集在分组传输路径上的网络节点的信息,从而该终端可以知道哪一个节点会受到分组流量的拥塞、或者哪一个节点会成为分组传输中的瓶颈。终端可以依据节点信息,确定节点为有源节点,并且有效地为有源节点置放程序。用于传输分组的节点可以获得终端对通信的要求信息,并且确定其是否为有源节点,从而指示终端上载用于有源节点的程序。
虽然已经通过典型的实施例对本发明进行了描述,应该理解:在不脱离由所附权利要求限定的本发明的范围的情况下,可以由本领域的技术人员来进行许多改变和替换。一些这样的变更的说明如下。
在上述的解释中,描述了由终端确定有源节点的方法、以及由节点确定其是否为有源节点的方法,然而,可以使用这两种方法的组合。由此,同时依据终端侧和节点侧的情形,对用于有源节点的程序进行有效地置放。在上述的解释中,将用于传输分组的路由器或者接入点当作有源节点,然而,也可以使用于提供内容的服务器成为有源节点。