CN100527693C - 通信网络以及操作该通信网络以传送数据的方法 - Google Patents

通信网络以及操作该通信网络以传送数据的方法 Download PDF

Info

Publication number
CN100527693C
CN100527693C CNB2005100509489A CN200510050948A CN100527693C CN 100527693 C CN100527693 C CN 100527693C CN B2005100509489 A CNB2005100509489 A CN B2005100509489A CN 200510050948 A CN200510050948 A CN 200510050948A CN 100527693 C CN100527693 C CN 100527693C
Authority
CN
China
Prior art keywords
node
code
data
communication channel
section point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005100509489A
Other languages
English (en)
Other versions
CN1661979A (zh
Inventor
迈克尔·J·希恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Origin Asset Group Co ltd
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of CN1661979A publication Critical patent/CN1661979A/zh
Application granted granted Critical
Publication of CN100527693C publication Critical patent/CN100527693C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01DCONSTRUCTION OF BRIDGES, ELEVATED ROADWAYS OR VIADUCTS; ASSEMBLY OF BRIDGES
    • E01D19/00Structural or constructional details of bridges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01DCONSTRUCTION OF BRIDGES, ELEVATED ROADWAYS OR VIADUCTS; ASSEMBLY OF BRIDGES
    • E01D22/00Methods or apparatus for repairing or strengthening existing bridges ; Methods or apparatus for dismantling bridges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Abstract

描述一种传送数据的方法(200)和通信网络(100)。对于该方法来说,响应在通信网络中的第一节点(101)中执行第一代码,第一节点建立与第二节点(102)的通信信道,复制自身产生第二代码,并通过通信信道将第二代码提供给第二节点。响应执行第二节点中的第二代码,第二节点建立与第三节点(103)的通信信道,复制自身产生第三代码,并通过通信信道将第三代码提供给第三节点。第二节点随后通过通信信道从第一节点接收数据,并执行第二代码以便处理所述数据。第三节点随后通过通信信道从第二节点接收数据,并执行第三代码以便处理所述数据。

Description

通信网络以及操作该通信网络以传送数据的方法
技术领域
本发明涉及通信领域,更具体地说,涉及利用自复制代码向通信网络的节点传送数据。
背景技术
企业、公司、大学等一般具有互连数百或数千设备的网络。所述网络可以是局域网(LAN),城域网(MAN),广域网(WAN)或另一网络。网络人员可能想将数据,例如信息、文件、软件、指令等传送给网络上的多个设备。在大型网络上,对于网络人员来说,向每个设备单独传送数据是低效的。如果网络人员试图同时向多个设备传送数据,那么网络带宽可能很快被用尽,尤其是如果数据大小较大时。从而,网络人员一直在寻找向网络上的多个设备传送数据的方式,以便在不牺牲网络的带宽的情况下提高效率。
向网络上的多个设备传送数据的一种方式是通过网络组播数据。术语“组播”可用于描述向位于网络上的一组选择的设备广播消息或分组。受益于这种系统的典型应用可包括视频和音乐广播。网络人员可使用组播向LAN上的多个设备传送数据。这可解决单独应付每个设备的问题。例如,如果网络人员想在与LAN连接的多个设备上安装新软件,那么网络人员可通过LAN向所述多个设备组播所述软件。
关于组播的一个问题在于接收设备需要恰当的软件来接收组播。如果接收设备不具有恰当的软件,那么在接收数据之前,需要在接收设备上安装所述恰当的软件。
关于组播的另一个问题在于发送者不知道接收设备是否收到所述软件。用户数据报协议(UDP)是用于组播的一种协议,UDP并不保证消息的传送,或者要求来自接收设备的确认。从而,发送者不知道数据的传送状态。网络人员需要某一形式的确认来确保软件的传送是成功的。
网络人员所关心的另一问题是病毒。最著名的病毒之一是因特网蠕虫。由于因特网蠕虫的缘故,术语“蠕虫”一般被负面理解为在网络上反复复制自身,以“感染”网络的软件(即病毒)。但是,如同本领域的技术人员理解的那样,蠕虫只是自复制的软件。蠕虫不必被编程为无法控制地传播或者破坏网络。
传统的蠕虫在一系列的设备上复制自身。第一设备上的蠕虫(父蠕虫)可在另一设备上复制自身(子蠕虫),随后在另一设备上复制自身等等。在父蠕虫在另一设备上复制自身,从而产生子蠕虫之后,父蠕虫通常不保持与子蠕虫的通信信道。从而,父蠕虫和子蠕虫不能够相互通信以便传送数据。理想的是以积极的方式使用蠕虫,或者自复制代码或软件通过网络传送数据。
发明内容
通过在通信网络中使用自复制代码在节点之间传送数据,本发明解决了上述及其它问题。通信网络的节点最初并不具有数据传送所需的代码。本发明的自复制代码在通信网络的节点上复制自身,同时保持节点之间的通信信道。随后节点能够通过通信信道在彼此之间传送数据。
有利的是,网络人员使用自复制代码高效地向通信网络上的多个节点传送数据,而不必牺牲网络的带宽。另外,网络人员不需要在通信网络的节点上预先安装代码,从而简化了数据传送。自复制代码能够在网络的节点上复制自身,从而简化了数据传送。另外,由于节点上的代码保持节点之间的通信信道,因此当节点与控制节点交换和状态信息时,网络人员能够实时地监视数据传送的状态。
根据本发明,提供了一种操作通信网络以在所述通信网络的节点之间传送数据的方法,所述通信网络包括包含第一代码的第一节点,其中所述第一代码由始发进程复制,所述方法包括下述步骤:
在所述第一节点中执行第一代码,以建立与第二节点的通信信道,复制所述第一代码以产生第二代码,并且通过所述通信信道将所述第二代码提供给所述第二节点;
在所述第二节点中执行所述第二代码,以建立与第三节点的通信信道,复制所述第二代码以产生第三代码,并且通过所述通信信道将所述第三代码提供给所述第三节点;
在所述第二节点中通过通信信道接收来自所述第一节点的数据,并且在所述第二节点中执行所述第二代码,以便处理所述数据;和
在所述第三节点中通过通信信道接收来自所述第二节点的数据,并且在所述第三节点中执行第三代码,以便处理所述数据。
根据本发明,还提供了一种通信网络,所述通信网络提供所述通信网络的节点之间的数据传送,所述通信网络包括:
第一节点;
第二节点;和
由网络设施耦接的第三节点;
其中:
所述第一节点响应于执行第一代码,建立与所述第二节点的通信信道,复制所述第一代码以产生第二代码,并且通过所述通信信道将所述第二代码提供给所述第二节点,其中所述第一代码由始发进程复制;
所述第二节点响应于执行所述第二代码,建立与所述第三节点的通信信道,复制所述第二代码以产生第三代码,并且通过所述通信信道将所述第三代码提供给所述第三节点;
所述第二节点通过通信信道接收来自所述第一节点的数据,并且执行所述第二代码,以便处理所述数据;和
所述第三节点通过通信信道接收来自所述第二节点的数据,并且执行所述第三代码,以便处理所述数据。
本发明的一个例证实施例包括一种在通信网络中传送数据的方法。对于该方法来说,通信网络的第一节点执行第一代码,建立与第二节点的通信信道。第一节点还执行第一代码以复制自身,从而产生第二代码,并通过通信信道将第二代码提供给第二节点。第二节点执行第二代码,建立与第三节点的通信信道。第二节点还执行第二代码以复制自身,从而产生第三代码,并通过通信信道将第三代码提供给第三节点。所述方法可包括建立通信信道,并将代码提供给通信网络中的多个其它节点。
借助在第一节点和第二节点之间建立并保持的通信信道,第二节点通过通信信道接收来自第一节点的数据。所述数据可包括目标在于在通信网络中传送的任意信息、软件、指令等。第二节点可执行第二代码来处理所述数据。借助在第二节点和第三节点之间建立并保持的通信信道,第三节点通过通信信道接收来自第二节点的数据。第三节点可执行第三代码来处理所述数据。通信网络的其它节点可根据在节点之间传送数据并处理数据的方法,按照类似的方式工作。
本发明可包括下面说明的其它例证实施例。
附图说明
附图中,相同的附图标记代表相同的部件。
图1图解说明本发明的一个例证实施例中的通信网络。
图2A-2B是图解说明在本发明的一个例证实施例中,操作图1的通信网络,以便在该通信网络的节点之间传送数据的方法的流程图。
图3A-3D图解说明在本发明的一个例证实施例中,根据图2A-2B的方法,如何在图1的通信网络中传送代码和数据。
图4图解说明本发明的另一例证实施例中的通信网络。
图5图解说明本发明的一个例证实施例中的线性sworm布局。
图6图解说明本发明的一个例证实施例中的树形sworm布局。
具体实施方式
图1、2A-2B、3A-3D、4-6和下面的说明描述了本发明的具体例证实施例,以教导本领域的技术人员如何产生并使用本发明的最佳模式。为了便于教导本发明的原理,本发明的一些常规方法已被简化或省略。本领域的技术人员会认识到落入本发明的范围之内的这些实施例的各种变化。本领域的技术人员会认识到可按照各种方式组合下面说明的特征,形成本发明的多个变形。从而,本发明并不局限于下面说明的具体实施例,而只由权利要求及其等同物限定。
通信网络结构和操作-图1、2A-2B、3A-3D
图1图解说明本发明的一个例证实施例中的通信网络100。通信网络100包括能够通过网络设施110相互通信的多个节点101-104。网络设施110可包括LAN、MAN、WAN或另一种网络。节点可包括通信网络100的任意系统、设备、组件、卡等,例如计算机。通信网络100可包括图1中未示出的其它节点、组件、设备或系统。
图2A是图解说明在本发明的一个例证实施例中,操作通信网络100,在通信网络100的节点101-104之间传送数据的方法200的流程图。对于方法200的讨论,假定节点101-104分别被称为第一、第二、第三和第四节点。另外假定第一节点101包括第一代码,第二节点102和第三节点103不包括类似于或者对应于第一代码的代码。
在方法200的步骤202中,第一节点101执行第一代码,建立与第二节点102的通信信道。代码包括可由处理器执行的任意指令,例如机器语言指令,编程语言指令(已编译或未编译),解释语言指令等。在步骤204中,第一节点101执行第一代码以复制自身,从而产生第二代码并通过通信信道,将第二代码提供给第二节点102。当第一代码“复制”自身以产生第二代码时,第二代码代表第一代码的副本或复制品,第一代码的基本类似副本或复制品,或者第一代码的子集或衍生物。第一节点可多次执行步骤202和204,以建立与不同节点的通信信道,并向所述不同节点提供代码。
在步骤206中,第二节点102执行第二代码,从而建立与第三节点103的通信信道。第一节点101和第二节点102之间的通信信道可与第二节点102和第三节点103之间的通信信道一致,或者与第二节点102和第三节点103之间的通信信道分离。在步骤208中,第二节点102执行第二代码以复制自身,从而产生第三代码并通过通信信道,将第三代码提供给第三节点103。第二节点102可多次执行步骤206和208,以建立与不同节点的通信信道,并将代码提供给所述不同节点,如步骤“A”图解所示。
借助在第一节点101和第二节点102之间建立并保持的通信信道,在步骤210中,第二节点102通过通信信道,接收来自第一节点101的数据。数据可包含目标在于在通信网络中传送的任意信息、软件、指令等。第二节点102还可通过通信信道从第一节点101接收控制信息。控制信息可包括由通信网络中的节点使用的任意操作、控制、管理信息。响应收到所述数据,在步骤212中,第二节点102执行第二代码,处理所述数据。处理所述数据可包括对数据执行一个或多个本地处理。
例如,第二代码可包括在第二节点102本地执行的有效负载处理。当第二节点102收到数据时,第二节点102可复制该数据,并将复制的数据发送给本地有效负载处理。第二节点102随后可执行有效负载处理,从而接收复制的数据,并在第二节点102本地处理复制的数据。有效负载处理可将数据保存在特定的目录中,或者以其它方式处理该数据。
借助在第二节点102和第三节点103之间建立并保持的通信信道,在步骤214中,第三节点103通过通信信道,接收来自第二节点102的数据。第三节点103还可通过通信信道从第一节点101接收控制信息。响应收到所述数据,在步骤216中,第三节点103执行第三代码,处理所述数据。处理所述数据可包括对数据执行一个或多个本地处理。
方法200可包括更多步骤,以便按照这种方式线性地将数据传送给其它节点,直到数据被传送给所需节点为止。方法200图解说明通过通信网络100直线传送数据。但是,方法200并不局限于线性传送,如图2B中所示。
图2B是图解说明可用在方法200中的其它步骤的流程图。在步骤218中,除了建立与第三节点103的通信信道(参见图2A中的步骤206)之外,第二节点102还执行第二代码,建立与第四节点104的通信信道。在步骤220中,第二节点102执行第二代码以复制自身,从而产生第四代码并通过通信信道将第四代码提供给第四节点104。借助在第二节点102和第四节点104之间建立并保持的通信信道,在步骤222中,第四节点104通过通信信道接收来自第二节点102的数据。第四节点104还通过通信信道从第一节点101接收控制信息。响应收到所述数据,在步骤224中,第四节点104执行第四代码,处理所述数据。处理所述数据可包括对数据执行一个或多个本地处理。
方法200可继续类似的步骤,直到数据被传送给所需的节点为止。
图3A-3D图解说明在本发明的一个例证实施例中,根据方法200如何在通信网络100中传送代码和数据。图3A图解说明通信网络100的第一、第二和第三节点101-103。节点101包括第一代码301,节点102-103最初不包括类似于或者对应于代码301的代码。
节点101执行代码301,建立与节点102的通信信道311(参见图3B)。节点101还执行代码301以复制自身,从而产生第二代码302,并通过通信信道311,将代码302提供给节点102。节点101可对图3B中未示出的多个节点执行该操作。
节点102执行代码302,建立与节点103的通信信道312(参见图3C)。通信信道312可包括与通信信道311相同的信道。节点102还执行代码302以复制自身,从而产生第三代码303,并通过通信信道312,将代码303提供给节点103。节点102可对图3C中未示出的多个节点执行该操作。
节点102还执行代码302,建立与节点104的通信信道313(参见图3D)。通信信道313可包括与通信信道311-312相同的信道。节点102执行代码302以复制自身,从而产生第四代码304,并通过通信信道313,将代码304提供给节点104。
借助建立并保持的通信信道311,节点102通过通信信道311从节点101接收数据321(参见图3D)。数据可包含目标在于在通信网络中传送的任意信息、软件、指令等。响应收到数据321,节点102执行代码302以便处理数据321。例如,节点102可执行代码302,对数据321进行一个或多个本地处理。
借助建立并保持的通信信道312,节点103通过通信信道312从节点102接收数据321。响应收到数据321,节点103执行代码303以便处理数据321。例如,节点103可执行代码303,对数据321进行一个或多个本地处理。
借助建立并保持的通信信道313,节点104通过通信信道313从节点102接收数据321。响应收到数据321,节点104执行代码304以便处理数据321。例如,节点104可执行代码304,对数据321进行一个或多个本地处理。
有利的是,网络人员可使用本实施例中如上所述的自复制代码来有效地将数据传送给通信网络100上的多个节点101-104,而不必牺牲网络100的带宽。另外,网络人员不需要在通信网络100的节点102-104上预先安装代码,简化了数据传送。自复制代码能够在网络100的节点102-104上自我复制,简化了数据传送。
通信网络—图4-6
图4图解说明本发明的一个例证实施例中的通信网络400。通信网络400包括能够通过LAN410相互通信的多个节点401-409。LAN410可包括任意类型的可信网络,从LAN410对节点401-409的访问不被防火墙或者其它保护机构阻止。在其它实施例中,LAN410可包括企业内部网,MAN,WAN或者另一种企业网络。节点可包含通信网络400的任意系统、设备、组件、卡等,例如计算机。节点401-409彼此远离,意味着它们通过LAN410相互通信。通信网络400可包括图4中未示出的其它节点、组件、设备或系统。
假定节点401是由网络人员操作的控制器节点。此外假定网络人员想将大的数据流传送给通信网络400中的所有节点402-409。例如,网络人员可能需要在节点402-409上安装新软件,所述软件包含大的数据流。对于网络人员来说,在每台机器上单独安装所述软件是低效的。如果网络人员试图同时向多个节点402-409传送作为大数据流的软件,那么LAN410的带宽会受到损害。网络人员可使用根据本发明的自复制代码来有效地将软件传送给节点402-409,而不会损害LAN410的带宽。
本实施例中,自复制代码可被称为流式蠕虫。流式蠕虫(sworm)包含在使数据在节点之间流动的时候,能够在通信网络中的一组节点上复制自身,以及一大块任意有效负载代码的任意软件、代码或指令。每个sworm由能够按照各种布局排列的一个或多个swormlet组成。sworm由始发进程复制,始发进程可控制数据流的传送,要包括哪些节点等。
每个swormlet包括sworm代码,有效负载代码和数据流。sworm代码包含用于在节点上产生新的swormlet,保持节点之间的数据流的传送等的代码。有效负载代码包括将对节点本地执行的代码。数据流包括在通信网络400内传送的数据。
假定节点401包括发起sworm的始发进程(未示出)。由于网络人员想将大的数据流(即软件)传送给网络400的许多节点,线性sworm可能是传送大的数据流的最有效布局。线性sworm可最好地工作,因为LAN410的带宽不必在sworm的swormlet之间划分。如下所述,在线性sworm的时候,只需要通过LAN410传送大的数据流的一个副本。
图5图解说明本发明的一个例证实施例中的线性sworm布局。为了产生线性sworm布局,进行下述操作。节点401中的始发进程501产生swormlet 502(图5中称为S-LET)。更具体地说,始发进程501在节点401上启动连网进程521。连网进程521被配置成在节点401上执行,以便与远程端接节点建立通信信道,充当发送给远程节点和来自远程节点的程序代码,控制信息和数据流的管道。从而,连网进程521在节点401上执行,建立与节点402的通信信道。始发进程501随后使用连网进程521作为通过通信信道传送swormlet代码的副本的管道,如箭头525所示。
利用诸如remsh、rsh或ssh之类远程外壳命令,连网进程521可将swormlet代码的副本传送给节点402。连网进程521可使用远程外壳命令传送并在节点402上执行通过通信信道从节点401拖拉swormlet代码的在线Perl引导脚本。在本实施例中,每个swormlet 502跨越两个节点。
节点402执行swormlet代码,以便执行主swormlet进程522,路由进程523和关于swormlet 502的有效负载进程524。主swormlet进程522通过通信信道从始发进程501接收有效负载代码,如箭头526所示。主swormlet进程522复制有效负载代码,并将有效负载代码的副本转发给有效负载进程524。主swormlet进程522将有效负载代码转发给另一swormlet(如果需要),如下所述。主swormlet进程522启动有效负载进程524,以便执行有效负载代码。
为了形成线性sworm布局,主swormlet进程522产生swormlet 503。在其它实施例中,主swormlet进程522可产生其它swormlet。就产生swormlet 503来说,主swormlet进程522启动节点402上的连网进程531。连网进程531在节点402上执行,建立与节点403的通信信道。swormlet502随后使用连网进程531作为通过通信信道传送swormlet代码的副本的管道,如箭头535所示。
节点403执行swormlet代码,以便执行主swormlet进程532,路由进程533和关于swormlet 503的有效负载进程534。swormlet 503的主swormlet进程532通过通信信道从swormlet 502的主swormlet进程522接收有效负载代码,如箭头536所示。主swormlet进程532复制有效负载代码,并将有效负载代码的副本转发给有效负载进程534。主swormlet进程532将有效负载代码转发给另一swormlet(如果需要)。主swormlet进程532启动有效负载进程534,以便执行有效负载代码。
在始发进程501指定的通信网络400的节点401-409(参见图4)内,按照相同的方式产生swormlet。一旦swormlet被产生,并且在节点401-409之间建立了通信信道,那么可在节点401-409之间传送数据流。
始发进程501将数据流传送给swormlet502。本实施例中的数据流包括软件,所述软件是大的数据流。主swormlet进程522启动swormlet502中的路由进程523。swormlet502中的路由进程523通过通信信道从始发进程501接收数据流,如箭头527所示。路由进程523复制数据流,并将数据流的副本转发给有效负载进程524。路由进程523将数据流转发给始发进程501寻址或规定的另一swormlet(如果需要)。有效负载进程524从路由进程523接收数据流的副本。有效负载进程524执行有效负载代码以便本地处理数据流。例如,有效负载代码可指令有效负载进程524将数据流保存在节点402上的已知目录中。
路由进程523还可从始发进程501接收控制指令。路由进程523可执行关于有效负载进程524的控制指令。路由进程523还可将控制指令转发给另一swormlet(如果需要)或者节点。
就执行有效负载代码来说,有效负载进程524可产生输出数据。有效负载进程524将输出数据转发给主swormlet进程522。主swormlet进程522接收来自有效负载进程524的输出数据,和/或来自任意进程的状态信息。主swormlet进程522多路复用来自有效负载进程524以及来自子swormlet的输出数据和/或状态信息,并通过通信信道转发所述输出数据和/或状态信息,如箭头528所示。状态信息可包括关于成功地将大的数据流保存在节点402上的反馈。连网进程521保持节点401和402之间的通信信道,从而可在节点之间交换输出数据和/或状态信息。
swormlet503中的主swormlet进程523启动路由进程533。swormlet503中的路由进程533通过通信信道从swormlet502中的路由进程523接收数据流(即,本实施例中的软件),如箭头537所示。路由进程533复制数据流,将该数据流的副本转发给有效负载进程534。路由进程523将数据流转发给始发进程501寻址或规定的另一swormlet(如果需要)。有效负载进程534接收来自路由进程533的数据流的副本。有效负载进程534执行有效负载代码,以便本地处理数据流。例如,有效负载代码可指令有效负载进程534将数据流保存在节点403上的已知目录中。
始发进程501可根据映射,一组指令,寻址方案等,指定哪些节点要接收数据流,以及按照什么顺序。始发进程501可将数据流发送给一个或多个swormlet502-504,或者向所有swormlet502-504广播。根据始发进程501的指示,路由进程533将数据流转发给下一节点,或者准备将数据流转发给下一节点或其它另外的子节点。
路由进程533还可接收来自路由进程523的控制指令。路由进程533可执行关于有效负载进程534的控制指令。路由进程533还可将控制指令转发给另一swormlet(如果需要)。
就执行有效负载代码来说,有效负载进程534可产生输出数据。有效负载进程534将输出数据转发给主swormlet进程522。主swormlet进程532可接收来自有效负载进程534的输出数据和/或来自任意进程的状态信息。主swormlet进程532多路复用来自有效负载进程534和来自子swormlet的输出数据和/或状态信息,并通过通信信道转发所述输出数据和/或状态信息,如箭头538所示。状态信息可包括关于成功地将大的数据流保存在节点403上的反馈。连网进程531保持节点402和403之间的通信信道,从而可在节点之间交换数据和/或状态信息。
在始发进程501指定的通信网络400的节点404-409(参见图4)内,按照相同的方式传送数据流。由于本例中数据流是软件,因此网络人员能够将软件安装在每个节点402-409上。在传送数据流之后,或者在被用于传送其它数据流之后,swormlet可被卸下。
根据上述进程,向图4中的通信网络400的节点402-409传送数据流具有许多优点。首先,节点402-409不需要最初具有任意特殊代码来接收数据流。swormlet将在节点402-409上复制自身,从而提供所需的代码。节点随后可并行执行所述代码,从而更有效地传送数据流。其次,网络人员能够获得关于传送状态的反馈。每个swormlet保持节点之间的通信信道,并将状态信息返回给始发进程501。从而,网络人员能够查看状态信息,确定数据流传送的状态。第三,LAN410的带宽不会受到数据流传送的损害。在线性布局中,在任意时候,LAN410上应只存在数据流的一个副本,因为节点将数据流的一个副本逐块地从一个节点传送给另一节点,直到到达最终节点为止。
假定现在每个节点402-409包括先前传送的软件的副本,网络人员可能还想远程将所述软件安装在节点402-409上。通过传送包括用于安装软件的指令的数据流,网络人员可使用另一sworm来执行远程安装。该数据流可能不大,尤其是与软件本身相比。从而,为了在通信网络400中传送较小的数据流,线性sworm布局可能不是最高效的布局,因为传播延迟可能过长。树形布局可能是传送较小数据流的更好布局。
图6图解说明本发明的一个例证实施例中的树形sworm布局。为了产生树形sworm布局,进行下述操作。节点401中的始发进程501产生swormlet 602(在图6中称为s-let)。swormlet 602建立与节点402的通信信道,从而swormlet 602跨越两个节点401-402。swormlet 602可包括为了简洁起见,在本实施例中未示出的连网进程,主swormlet进程,路由进程和有效负载进程。
根据始发进程501提供的列表,swormlet 602产生swormlet 603和604。在节点402中工作的swormlet 603建立与节点403的通信信道,从而swormlet 603跨越两个节点402-403。swormlet 603产生swormlet605-606。在节点403中工作的swormlet 605建立与节点405的通信信道,从而swormlet 605跨越两个节点403和405。在节点403中工作的swormlet 606建立与节点406的通信信道,从而swormlet 606跨越两个节点403和406。在节点402中工作的swormlet 604产生swormlet607-608。在节点404中工作的swormlet 607建立与节点407的通信信道,从而swormlet 607跨越两个节点404和407。在节点404中工作的swormlet 608建立与节点408的通信信道,从而swormlet 608跨越两个节点404和408。swormlet可被复制到图6中未示出的多个其它节点。
当建立通信信道时,始发进程501将数据流的副本传送给swormlet602,如箭头625所示。本实施例中的数据流包括用于在节点上安装软件的一组指令。swormlet 602将数据流的副本转发给swormlet 603,如箭头626所示,并将数据流的副本转发给swormlet 604,如箭头627所示。swormlet 603将数据流的副本转发给swormlet 605,如箭头628所示,并将数据流的副本转发给swormlet 606,如箭头629所示。swormlet 604将数据流的副本转发给swormlet 607,如箭头630所示,并将数据流的副本转发给swormlet 608,如箭头631所示。
swormlet将数据流转发给始发进程501指令接收数据流的每个节点。图6表示用于传送数据的二叉树布局。但是,也可使用不对称的树形布局。
多个swormlet 602-608可并行流动数据流,以便更有效地传送数据流。按照上述方式传送数据流能够快速高效地向每个节点提供数据流。本实施例中的数据流包括安装软件的指令。从而,网络人员能够快速高效地将指令传送给多个节点,以致可将软件安装在节点上。
在图6中,始发进程501充当sworm的唯一始发进程。在其它实施例中,任意swormlet 602-608的有效负载进程可充当另一新的独立sworm的始发进程。从而,能够按照递归方式构成sworm的复杂树。

Claims (10)

1、一种操作通信网络(100)以在所述通信网络的节点(101-104)之间传送数据的方法(200),所述通信网络包括包含第一代码的第一节点(101),其中所述第一代码由始发进程复制,所述方法包括下述步骤:
在所述第一节点中执行(202、204)第一代码,以建立与第二节点(102)的第一通信信道,复制所述第一代码以产生第二代码,并且通过所述第一通信信道将所述第二代码提供给所述第二节点;
在所述第二节点中执行(206、208)所述第二代码,以建立与第三节点(103)的第二通信信道,复制所述第二代码以产生第三代码,并且通过所述第二通信信道将所述第三代码提供给所述第三节点;
在所述第二节点中通过第一通信信道接收(210)来自所述第一节点的数据,并且在所述第二节点中执行(212)所述第二代码,以便处理所述数据;和
在所述第三节点中通过第二通信信道接收(214)来自所述第二节点的数据,并且在所述第三节点中执行(216)所述第三代码,以便处理所述数据。
2、按照权利要求1所述的方法(200),还包括下述步骤:
在所述第二节点(102)中执行(218、220)所述第二代码,以建立与第四节点(104)的第三通信信道,复制所述第二代码以产生第四代码,并且通过所述第三通信信道将所述第四代码提供给所述第四节点;
在所述第四节点中通过第三通信信道接收(222)来自所述第二节点的数据,并且在所述第四节点中执行(224)所述第四代码,以便处理所述数据。
3、按照权利要求1所述的方法(200),其中所述在第二节点(102)中执行第二代码,以便处理所述数据的步骤还包括下述步骤:
在所述第二节点中执行所述第二代码,以便复制从所述第一节点接收的数据,并将所述复制的数据路由给所述第二节点中的有效负载进程;和
执行所述第二节点中的有效负载进程,以便在所述第二节点本地处理所述复制的数据,从而产生输出数据。
4、按照权利要求3所述的方法(200),还包括下述步骤:
在所述第二节点(102)中执行所述第二代码,以复用来自所述第二节点的输出数据和状态信息,并且通过第一通信信道将所述输出数据和状态信息转发给所述第一节点(101)。
5、按照权利要求1所述的方法(200),还包括下述步骤:
在所述第二节点(102)中通过第一通信信道接收来自所述第一节点(101)的控制信息;
利用所述第二节点中的控制信息处理数据;和
通过第二通信信道将所述数据和控制信息从所述第二节点路由到所述第三节点(103)。
6、一种通信网络(100),所述通信网络提供所述通信网络的节点(101-104)之间的数据传送,所述通信网络包括:
第一节点(101);
第二节点(102);和
由网络设施(110)耦接的第三节点(103);
其特征在于:所述第一节点响应于执行第一代码,建立与所述第二节点的第一通信信道,复制所述第一代码以产生第二代码,并且通过所述第一通信信道将所述第二代码提供给所述第二节点,其中所述第一代码由始发进程复制;
所述第二节点响应于执行所述第二代码,建立与所述第三节点的第二通信信道,复制所述第二代码以产生第三代码,并且通过所述第二通信信道将所述第三代码提供给所述第三节点;
所述第二节点通过第一通信信道接收来自所述第一节点的数据,并且执行所述第二代码,以便处理所述数据;和
所述第三节点通过第二通信信道接收来自所述第二节点的数据,并且执行所述第三代码,以便处理所述数据。
7、按照权利要求6所述的通信网络(100),还包括第四节点(104),其中:
所述第二节点(102)响应于执行所述第二代码,建立与所述第四节点的第三通信信道,复制所述第二代码以产生所述第四代码,并且通过第三通信信道将所述第四代码提供给所述第四节点;
所述第四节点通过第三通信信道接收来自所述第二节点的数据,并且执行所述第四代码,以便处理所述数据。
8、按照权利要求6所述的通信网络(100),其中所述第二节点(102):
通过第一通信信道接收来自所述第一节点(101)的数据,复制所述数据,并将所述复制的数据路由给所述第二节点中的有效负载进程;和
执行所述有效负载进程,以便本地处理所述复制的数据,从而产生输出数据。
9、按照权利要求8所述的通信网络(100),其中所述第二节点(102)响应于执行所述第二代码,复用来自所述第二节点的输出数据和状态信息,并且通过第一通信信道将所述输出数据和状态信息转发给所述第一节点(101)。
10、按照权利要求6所述的通信网络(100),其中所述第二节点(102)通过第一通信信道接收来自所述第一节点(101)的控制信息,使用所述控制信息处理数据,并且通过第二通信信道将所述数据和控制信息路由给所述第三节点(103)。
CNB2005100509489A 2004-02-25 2005-02-24 通信网络以及操作该通信网络以传送数据的方法 Expired - Fee Related CN100527693C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/786,911 2004-02-25
US10/786,911 US7474656B2 (en) 2004-02-25 2004-02-25 Data transfer to nodes of a communication network using self-replicating code

Publications (2)

Publication Number Publication Date
CN1661979A CN1661979A (zh) 2005-08-31
CN100527693C true CN100527693C (zh) 2009-08-12

Family

ID=34750499

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100509489A Expired - Fee Related CN100527693C (zh) 2004-02-25 2005-02-24 通信网络以及操作该通信网络以传送数据的方法

Country Status (6)

Country Link
US (2) US7474656B2 (zh)
EP (1) EP1569113B1 (zh)
JP (1) JP4602791B2 (zh)
KR (1) KR101110584B1 (zh)
CN (1) CN100527693C (zh)
DE (1) DE602005000044T2 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287623A1 (en) * 2005-11-23 2010-11-11 Thomas Banik Method for distributing a computer data structure to nodes of a network
US7698440B2 (en) * 2006-10-02 2010-04-13 Phonak Ag Method for controlling a transmission system as well as a transmission system
CN104348868A (zh) * 2013-08-02 2015-02-11 华为技术有限公司 节点安装处理方法、装置和系统
US11349557B2 (en) * 2018-11-30 2022-05-31 At&T Intellectual Property I, L.P. System model and architecture for mobile integrated access and backhaul in advanced networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0928089A2 (en) * 1997-11-13 1999-07-07 Mitsubishi Denki Kabushiki Kaisha Mobility of agents in a network
JP2003044637A (ja) * 2001-08-01 2003-02-14 Hitachi Ltd ワークフロー・システム制御方法、および、ワークフロー・システムを実行するためのプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9412553D0 (en) * 1994-06-22 1994-08-10 At & T Global Solutions Intern Method and apparatus for distributing software
JPH10171660A (ja) 1996-12-13 1998-06-26 Nec Corp データ通信装置
US6782398B1 (en) * 2000-06-14 2004-08-24 Microsoft Corporation Method for executing commands on multiple computers of a network
JP3549861B2 (ja) 2000-09-12 2004-08-04 日本電信電話株式会社 分散型サービス不能攻撃の防止方法および装置ならびにそのコンピュータプログラム
US7162538B1 (en) * 2000-10-04 2007-01-09 Intel Corporation Peer to peer software distribution system
US20030182398A1 (en) * 2002-02-14 2003-09-25 Morlang Keven P. Method of establishing a logical association between connections
EP1505797B1 (en) * 2003-08-04 2005-05-11 Alcatel A method, a communication network and a computer software product for distributing software packages or updates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233601B1 (en) * 1996-11-14 2001-05-15 Mitsubishi Electric Research Laboratories, Inc. Itinerary based agent mobility including mobility of executable code
EP0928089A2 (en) * 1997-11-13 1999-07-07 Mitsubishi Denki Kabushiki Kaisha Mobility of agents in a network
JP2003044637A (ja) * 2001-08-01 2003-02-14 Hitachi Ltd ワークフロー・システム制御方法、および、ワークフロー・システムを実行するためのプログラム

Also Published As

Publication number Publication date
KR101110584B1 (ko) 2012-02-15
KR20060042975A (ko) 2006-05-15
EP1569113A1 (en) 2005-08-31
US7474656B2 (en) 2009-01-06
US20050204053A1 (en) 2005-09-15
JP4602791B2 (ja) 2010-12-22
US20050185662A1 (en) 2005-08-25
DE602005000044T2 (de) 2007-07-19
EP1569113B1 (en) 2006-07-19
CN1661979A (zh) 2005-08-31
DE602005000044D1 (de) 2006-08-31
JP2005244985A (ja) 2005-09-08

Similar Documents

Publication Publication Date Title
EP2356753B1 (en) Link data transmission method, node and system
KR101383691B1 (ko) 무선 메쉬 네트워크에서의 협력적 무선 펌웨어 업데이트 장치 및 방법
CN101573940A (zh) 用于tcp高可用性的方法和装置
CN102546839B (zh) 面向大规模网络的高效、可靠的软件分发方法
CN103095565A (zh) 一种软件定义网络操作系统及其实现方法
CN100527693C (zh) 通信网络以及操作该通信网络以传送数据的方法
JP2004173238A (ja) 自動デジタルドキュメント処理方法およびシステム
US20070038699A1 (en) Method and device arrangement for managing a user application/device management server/client device environment
EP3961323A1 (en) Replacement of industrial field device
CN110290206B (zh) 一种用于网吧环境的分布式计算系统及方法
US8386692B2 (en) Method for communicating between nodes and server apparatus
CN113542415B (zh) 基于可配置订阅链的异构数据资源调度系统及方法
KR100929235B1 (ko) 무선 센서 네트워크의 동적 재구성방법 및 그 시스템
CN105052236A (zh) 多监听器无线介质访问方法
JPWO2022176031A5 (zh)
CN114640569A (zh) 动态消息管理装置、设备、系统、方法及存储介质
WO2022172331A1 (ja) 設定変更装置、設定変更方法及びプログラム
CN115037616B (zh) 一种基于tssdn网络的确定性流调度及其更新方法
CN112491624B (zh) 一种分布式数据分发方法
CN114500386B (zh) 一种基于强化学习和sdn的负载均衡系统
KR20010018796A (ko) 리눅스에 기반한 피씨 클러스터상에서의 에프엠지알엠/에프엠씨엠 원격 제어 방법
dos Santos et al. App2net: A platform to transfer and configure applications on programmable virtual networks
JP5040246B2 (ja) プロトコル変換システム及びその制御方法
CN102571542B (zh) 一种流量处理系统及方法
CN116055377A (zh) 一种面向电力业务的时间敏感网络流量调度方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: New jersey, USA

Patentee after: ALCATEL-LUCENT USA Inc.

Address before: New jersey, USA

Patentee before: Lucent Technologies Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190527

Address after: American New York

Patentee after: Origin Asset Group Co.,Ltd.

Address before: New jersey, USA

Patentee before: ALCATEL-LUCENT USA Inc.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090812

Termination date: 20190224