CN1086531C - 多处理器环境运行的进程间的数据包传送方法 - Google Patents

多处理器环境运行的进程间的数据包传送方法 Download PDF

Info

Publication number
CN1086531C
CN1086531C CN95196711A CN95196711A CN1086531C CN 1086531 C CN1086531 C CN 1086531C CN 95196711 A CN95196711 A CN 95196711A CN 95196711 A CN95196711 A CN 95196711A CN 1086531 C CN1086531 C CN 1086531C
Authority
CN
China
Prior art keywords
node
message
datagram
packet
serial number
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 - Lifetime
Application number
CN95196711A
Other languages
English (en)
Other versions
CN1169224A (zh
Inventor
理查德·约翰·巴克
安德鲁·迈克尔·勒金
詹姆斯·克里斯托弗·泰德·查普曼
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of CN1169224A publication Critical patent/CN1169224A/zh
Application granted granted Critical
Publication of CN1086531C publication Critical patent/CN1086531C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • 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
    • 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/14Multichannel or multilink protocols

Abstract

在一个多处理器环境中(图2),由若干个网络(10,21,22)连接起来的众多节点中(10,11,12),每一个都运行着若干个用户进程(31,32等,图3),各进程之间传送的消息是经由用于待发送的每个数据报的不同的网络从发送节点向接收节点顺序发送的。

Description

多处理器环境运行的进程间的数据包传送方法
本发明涉及多处理器环境,特别涉及到运行于此种环境中的进程间数据传送的设置。在复杂系统中,例如电话网络,“智能”在许多不同的点上都有体现。若干个控制处理器提供了网络的主要功能,但是,在中央处理单元以外的一些单元中也有一定的处理能力。
特别地,一些智能化的外围设备,如包含数据处理决策能力的外围设备,将在距离用户更近的地方出现。
由智能外围设备提供的这些功能可能不需要经由特定网络建立物理连接。因此,某些这样的智能化外围设备可能代表几个不同网络中的一个节点。另外,当一个网络包括若干台主机时,某台主机上的一个进程可能需要与另一台主机上的某个进程直接交互。
所以,运行于不同主机上进程间的交互处理通信必须可靠。
当进程间的永久链路有较高的可靠性时,就意味着要大量的投资且不够灵活。因此通过共享的公共网络如Internet主机将会更频繁地被访问。
Interet提供一种简单的数据报功能,使数据在主进程之间相互传送。传送中使用Internet提供的简单的用户数据报协议(UDP)。这种协议在诸如Postel,J的APRANET工作组的请求(编号768)中作了说明。当进程间进行数据传输时,UCP数据报不是一种可靠的进行固定的或PSTN链路中的数据传输方法。
以前的数据报传输功能,包括广为人知的TCP.,会导致数据报中数据的分解,因为它不保留消息边界而且将花很多时间来通报传输中的任何失败,如果这种通报是可能的话。
因此,本发明寻求提供一种方法在Internet这样的网络上进行可靠的数据传输。
根据本发明,提供一种方法,在由众多可被访问的主机(从众多的网络节点地址)构成的多处理器环境中运行的进程间可以传输数据包。这种方法包括:为每一个被寻址的进程创建一个目的主机标识号和目的主机端口号;为每一个目的主机标识号创建一个由众多相应的网络节点地址构成的地址列表;为两个节点间传输的每一个数据包循环地从目的主机相对应的地址列表中选择下一个网络节点地址直到最后一个地址;在数据包前加一个首部来定义所选择的网络节点地址和目的端口号;监视数据包应答的返回数据并对任何未被确认的数据包重新传给地址列表中的下一个网络节点地址。
进程间传输的每一个消息首部可能包含一个消息顺序编号,它由发送处理器累加,这样接收处理器就能将接收到的多个消息以正确的顺序重新组装起来,并据此判断接收到的一系列消息中缺少的一条或多条消息。
对于较长的数据包,首部可能还包含有与将被传输的特定数据包相对应的块序号。在第一台主机上多于一个的进程与第二台主机上的一个或多个进程交互的情况下,顺序编号代表节点间传输的消息,它可能不再与块序号相一致,这里块序号代表进程间传送的一系列端口消息,以便使得在接收用户进程消息之前能够对整个消息进行再次确认。
现在参考下面的附图仅以举例的形式来说明利用本发明的分布式多处理器网络,其中附图如下:
图1所示为远程通信系统的示意图部分;
图2所示为分布式多处理器网络示意方块图;
图3所示为与图2中的网络的通信进程的进程交互示意图;
图4所示为协议中使用的数据和首部信息的示意图;
图5为发端处理器动作的状态转换图;
图6为接收端处理器动作的状态转换图;
图7到图9为表明在图1的设置下发送节点的一个模块(图3)的操作流程图;及
图11到图13为接收节点中模块(如图3所示)的部分操作流程图。
首先参考图1,一个典型的通信布置中,中央交换机包括若干个控制处理器1(图中只显示一个)和资源2,它提供诸如交换选择、遥测和其他的基于网络的服务。
这样,当通过运行应用软件3,控制处理器识别出待用的一个特定的资源2来执行请求的功能,对控制处理器1来说必须按照消息的格式向资源2发送信息。
为完成这种操作,控制处理器要包含通信软件(如4所示)和若干通信输出端口5。远程通信端口5通过一个或多个网络连接到所要求的资源上,这些网络由如图1中的消息接口6所示。后面将对消息传输操作的细节问题作更清晰的描述。
资源2中相应的通信端口7用于接收来自于不同网络的消息。
再参考图2,若干个节点10-1n通过相应的通信端口10a、10b、10c等连接到若干个网络20-2m上,这些端口用来表示图1中的通信端口5和7。应该注意的是节点10-1n的连接模式是变化的,不是所有节点都连接到所有的网络上。例如节点10通过其相应的端口连接到网络20、21和2m上,而节点11没有连接到网络21但连接到网络22上。
如上面参考的内容,网络20-2m的通信链路有时类似于Internet中所提供的简单的数据报传输协议如UDP。在用户数据报协议(UPP)中,存在用于应用程序向其他程序发送消息的过程。待传送的消息被集中为一定数目的数据字节,通信协议为其加上源标识号、目的标识号、长度和校验和字节。UDP软件模块利用源和目的地址形成Internet的消息首部并实现两个处理器间的数据消息的传输。图4a中所示的一个典型的UDP消息将在后面说明。
现在参考图1和图3,图1中控制资源2的软件和控制处理器1的应用软件3由用户进程31-3p代表。如果一个用户进程31-3p要向同一个或不同处理器上的另一个用户进程31-3p传送信息,它将把目的首部与要传送的数据组装成一个数据报。
再参考图4a,已知系统中的数据报40和首部42中的目的节点(Internet地址)、端口地址一起被传给处理器上的UDP进程41。UDP进程41使用首部42中的Internet地址并将另外一些附加信息加入到它自己的首部43中。附加信息包括源进程31-3p的端口地址44、从数据报40中获取的长度字节45和校验和字节46,目的节点可以利用这个校验和来检查传输中是否有错误发生。
UDP进程41将把整个UDP数据报47传送给Internet协议模块48,此模块再通过到网络上的(如20)适当的驱动器49将数据包传送到目的进程。在目的端,从网络20接收到的数据再通过相应的驱动器49经由Internet模块48传送到UDP模块41,这样就可以传送到目的进程31-3p。
在本发明的系统中,在用户进程31-3p和UDP进程41间引入了另一个进程。这个进程为RDP驱动器50,它通过操作系统接口51-5p从用户进程31-3p接收数据报40。当系统协议使用UDP进程41时,这些接口可以用来传输数据;在为此而指定的内存区域中,这些接口可以有效地作为用于各进程的数据传输的数据存储区域。现在参考图4b,这种情况下首部42转发RDP节点61和RDP端口62的地址。
在一些系统中,用户进程31-3p在由用户进程分配的内存区域中将待传送的数据报进行编辑。接下来,通过操作系统接口51-5p,所存储的数据报的地址传送给RDP模块50,然后该模块从指定区域内恢复数据报以便进一步处理。在另外一些情况中,组装的数据报可通过操作系统接口51-5p直接被传送。
在接收节点上,RDP模块50一旦接收到数据报就将此数据报放置到用于接收进程31-3p的端口队列而分配的内存区。
在RDP驱动器50中,根据查询表来确定是哪一个网络连接了源节点和目的节点。
这样,考虑图2、3和4如果运行在节点10上的进程31要传送一个数据报40给运行在节点12上的进程32,则两个节点均通过以太网20和21连接。因此RDP驱动器50将从这些网络中选择一个并将目的节点地址(16)以16比特的一个DN字节传送出去。源节点(SN)和源端口(SP)被识别为相似时,目的端口也被组装到一个16位的字节(DP)中。
为了免除疑问,应当注意相对于目的进程来说用户进程31-3p仅使用一个节点地址,而且节点地址61也被UDP使用,RDP模块50所做的到几个Internet地址之一的转换对用户是透明的。
同时还应注意,即使在向该逻辑节点传送数据包的过程当中,逻辑(RDP)地址的地址列表可以由用户进行修正,以指定附加的或替代的地址。从地址列表中删除地址也是允许的,这样向目的节点传送后续数据报时将使用修改过的地址列表。这使得在节点端口间传送数据报时,用户可在不丢失任何数据报的前提下修复网络。
应当注意的是,节点间每个传输都使用地址列表中下一个可使用的地址,除非这个地址被标明为失效。这样,当一个逻辑(RDP)地址具有多于一个的与其相关的Internet地址时,Internet地址可以被循环地使用。
RDP首部63中的其他字节包括一个8位的错误域(E)、一个标识域(FL)、块序号和顺序编号(分别是FRAG和SEQ)和一个数据长度域。后三个域每个都是32位。标识(FL)字节的每位的含义如下:
位1第一段当数据报被分开时,它表明这是数据的第一段,同时段序号(在FRAG域中)被标识为第一段;
位2最后一段  表示被分开的数据报的最后一段;
位3设置顺序  用于初使化两节点间顺序编号的消息;
位4          应答上一个接收的数据报的应答;
位5          上一个数据报的否定应答;
位6          测试指示器;
位7          高优先级指示器;
位8通告位    用于指示由于进程队列没有空间目的RDP进程不能发送一个有效的数据报。
为了进下理解本项发明,可以考虑一个用户进程与另一个用户进程之间的数据报传输。待传送的数据,即由用户进程(比方说31)提供的数据,在RDP的数据报内被打包,同时RDP本身又在UDP的数据报中被打包,也就是说,整个RDP数据报(包括首部)看作如图4a中所示形式的数据报,其上增加了适当的UDP首部43。
目的节点标识符DN被转换成相应的Internet目的地址,且数据报被传送到其目的节点。传输RDP进程开始作超时判断处理,如果是两个节点间的第一条消息,而不考虑数据报起始的节点中的端口,设置顺序标识S将被置入FL字节且顺序编号字节(SEQ)也将包含一个编号。此时,可方便地暂时忽略与数据报的该块有关的那些字节。上述的UDP模块41将如前面描述的那样发送包含有RDP首部的数据报到目的节点。在目的节点UDP首部被剥离,于是数据报被传送到目的节点12的RDP驱动器50中。在原发节点10的RDP驱动器50中启动的超时判断处理等待接收目的节点12发来的数据报。
目的节点12的RDP驱动器50接收第一条消息后,按它的数据报接收的顺序编号设置其顺序编号到顺序字节中指定的顺序值中,用于接收来自SN字节标识的相应源节点的数据报。接收RDP驱动器将返回一个内含顺序编号的数据报和设定在标识域中的应答位(A)。
发送节点10和目的节点12之间传送的第一个数据报通常不含有任何来自用户进程的数据,尽管它可以包含来自用户进程的数据。数据长度这节将被设置为0,后面不跟有数据。在当前的系统开发中,传送的第一个数据报用于修改一个滑动窗口,该窗口决定应答消息发送之前发送节点与目的节点间可能传送的数据报的数目。
在这种情况下,当发送节点10开始第一次传送时,节点中将包含一个值,它表示发送端能够正常工作的窗口最大值。接收消息后的目的节点12如果处于其容易范围内,则接收发送方提供的这个值。但如果接收节点12的最大容量(窗口)小于发送节点10所提供的值,则在返回给发送节点一个ACK(应答信号),目的节点12提出其最大值。调整后的值即被发送节点10采用。
如果第一个节点10的RDP进程在超时之前未接收到第一次传送的应答消息,其RDP驱动器50将试图从另一个网络(如21)再发送一个相同的数据报,并将标出第一个RDP的转换即那个标明节点12与网络20的连接失败。如果向由RDP转换确定的某一特定地址的重发努力失败一预定的数目后,则RDP模块41可以将其标识为链路故障并将该链路标记为失效,直到测度数据报成功地标出链路已经重新建立为止。
应当注意在节点10与12之间,可能同时有多于一个的进程在传送数据,一旦第一次数据已被成功传送且最初的发送节点10已经收到了包含正确顺序编号和A标志设置的有效返回数据报后,这些数据将依次被传送。后续的数据报将由源节点10发送,其中不设置S标志。
RDP进程50制定一个在源节点10和目的节点12间试图多次重发一个数据报的次数,而且会通过不同的网络地址来连续地试图传送这个数据报直到预先设定的重试次数为止。进行一个预先设定的重发次数的努力后,则根据接收节点失败这一事实返回一条失败消息到源节点上的起始进程。如想在两个节点间还要试图建立一条路由,则要通过用上面所述的新的顺序编号来初始化两节点间的数据报传送来执行。
应用确认信息、重发信息、顺序编号和多个以太网络互连,不同节点上的进程间的数据传送的可靠性可以得以保证。作为一个节点上的一个端口的发送进程(31-3p)与作为另一个节点上端口的接收进程31-3p之间的链路是非连接的。所以,一个发达进程可以同时向不同的接收进程发达一系列数据报,同样,一个接收进程可能接收来自于若干个不同发送进程的数据报。
建立完一个带有应答顺序编号的数据传送通路后,从源节点向目的节点发送数报及依次增大的顺序编号。RDP驱动器50保持所有已传送消息的拷贝直到接收到所发送数据的应答消息为止。一旦接收到了一个应答消息后,其后续消息仅从第一个节点向第二个节点发送。然而在上文提及的较好的操作方法中,在接收到应答消息以前,“N”消息的窗口是可接收的,这样消息可以顺序地被传送直到最大数目的未完成等待ACK的数据报被发送。因此,对每一个被传送的数据报,其顺序编号是由发送节点RDP驱动器50递增,如果未接收到应答消息则对其复位。接收RDP驱动器50收到每个数据报后检查消息的顺序编号。接收节点12的RDP驱动器50能有效接收的顺序编号是有限的,如果驱动程序接收到一个不正确的超过了其最大允许值或有某种其它错误(例如数据报首部所指明的端口对接收RDP驱动程度来说是未知的)的顺序编号,它将返回一个带有“N”标识的数据报,于是使发送RDP模块或者重发初始数据报或者根据错误原因将此数据报返回给起始进程。
这里注意,通过快速识别任何故障和立即经由传送节点返回一否定应答(NACK)信号,可接收任何故障的快速通知。
接收节点12的RDP进程50期望按顺序接收一个数据报,然而假如接收的数据报的顺序编号在滑动窗口的限制之内,这样接收的数据报与最后接收和应答的数据报相比不会大于N,于是,这个模块将保留最新接收的早期编号的数据报的未完成回执。如果接收模块中出现超时或者新近接收的数据报顺序编号比以前接收的数据报的顺序编号要大,则接收模块将传送与最近连续接收的顺序已编号的数据报相对应的应答。这个应答过程也向发送模块确认所有以前顺序编号的数据报。这样,传送节点10的RDP进程50接收到应答消息后,能根据接收节点12最新接收的应答数据报的内容复置它的传送窗口。如果当前传送的顺序编号数据报与最后应答的顺序编号的数据报的差达到“N”,则超时了。更多的数据报被传送直到接收到一个应答,否则重新传送以前的数据报。
如上所述,发送的未收到应答的数据报的数量可以在起始节点10和接收节点12之间协商。此外,在将要发送失败的数据报后面的数据报的应答之前,可以利用另外的安全措施将由接收驱动器发送的带有“N”标志的数据报由起始RDP驱动器50来应答。这样,如果系统正在工作,带有一个顺序编号窗口10,则如果先前数据报1、2、4、5等的顺序编号已经被接收,而数据报3尚未被接收,则接收节点12的RDP驱动器模块50将发送数据报2的应答。发送RDP模块50将重新传送数据报3。
接收到数据报3后,接收节点12的RDP模块50可能传送带有更大的顺序编号的以前所接收的数据报的应答消息。这样数据报8的应答可能是对数据报3重新传送的响应。
当接收节点12上的目的用户进程接受数据报的速度不如它们的数据报被接收的速度那样快时,RDP模块50将把每个接收到的数据报放到队列中。如果主机的队列大小有限且接收排队的数据变得太大的话,则目的RDP模块50试图再次将数据加入队列的同时,短期内不再给发送节点10以应答。将数据报加入到队列可以请求一定次数,但当最大的重试次数耗尽后,一个否定应答将随着数据报返回给起始节点10,使得此节点的用户进程重新传送该失败的数据报。
正常情况下,RDP模块不向用户进程传送任何数据报发送的确认信息,因为从可靠性角度看用户进程不希望接收这种应答。但是用户进程可能特别地要求确认,这时从接收节点接收应答后,RDP模块将通过操作系统接口51-50转发传输确认信息。
如果RDP驱动器50接收的带有顺序编号的应答消息与任何一个已发送送但尚未确认的数据报都不相符合,则将忽略这个应答。超时发生后,所有从源到目的的失败传送都将被更正。
在接收节点中,RDP模块能接受接收的带有顺序编号在(n-s)到(n+s-1)范围内的数据报,这里n为已接收但未确认的最小顺序编号,S为发送模块在未接收应答时可发送的数据报个数。在这种情况下,返回的应答将带有最近按顺序接收的数据报的顺序编号。这种情况可能发生在接收RDP驱动器给以前接收的数据报发送一个应答消息且递增其顺序编号,但返回的应答消息没有被源节点接收时。随着第一个RDP驱动器超时,源节点10上的第一个RDP驱动程序50将试图重发。
应当注意,当两个节点之间要建立一条新的传送路径时,设置的顺序标识和顺序编号从源节点传送到目的节点。当数据交换在两个方向同时发生时,这两个传送是独立进行的,也就是说源节点,比方说是10,初始化设置发送给目的节点12的第一条消息的顺序号,同时一个独立的消息序列也将开始从节点12(作为源节点)向节点10(作为目的节点)传送。第一个方向即从节点10到节点12上的数据传送可能使用与节点12到节点10传送不同的网络。
现在考虑段字节FRAG和第一个及最后一个段的标识F和L。如果一个从用户进程31-3p接收的数据报40的长度很大,则可能需要该数据报以一系列的段来发送。这样两个节点间的第一次传送将指明本数据段是第一段F,其段编号可以等于或不等于1。在数据报40的后续每一段的传送时,段编号FRAG都累加1直到数据报40的最后一段被传送完,即L标识被置位为此。
整个数据报40可以在目的节点重新组装起来,即使数据报中的某些段不是按顺序接收的,这是由于传送数据包括一个说明哪一段是第一段哪一段是最后一段的信息,并且使用FRAG中的顺序编号策略。
注意当用户进程数据报不需要分段时,如可能是定长,为分段进程而分配的字节和位可以用于其他目的或根本不使用。当分段方案被采用时,两节点间传送的未被分段的数据包可在标识(FL)字节中设置第一段与最后一段的对应位(F和L),首部其他室闲字节可以用于以后系统功能的扩展,这可以在两节点间传送的最初设置中指定。
可以理解,若运行在一个特定节点的不同端口上的若干个进程在与运行在同一目的节点上的不同端口上的一个或多个进程通信,则两个节点数据的交换可能不再是一个数据报的连续数据段。
任何时候当RDP模块50处理多个数据报时,数据报要排成队等待从发送节点向接收节点传送。任何由用户进程31-3p通过在FL字节中设置P位而声明为高优无级的数据报将由模块50优先于处理其他数据报进行处理。当多个高优先级的数据报排成队时,RDP模块50将按照接收的顺序发送这些高优先级的数据报。
在如上面描述的情况下,当确认一个特定RDP目的节点的特定目的地址不再有效时,RDP进程可以在该失败的路由上发送测试消息,直到接收到此消息的应答为止。这种消息是通过在标识域中设置T标识来标明的。一旦成功地发送了一个或多个测试消息,标明地址失效的标志就被废弃。活动的数据是不能用来测试失败路由的。
当第一次标注地址列表中的一个特定目的地址为失效时,RDP模块50可以通知本节点上的一个端口这个特定的地址链路发生故障,本特定地址处于失效状态。在端口处运行的进程可以利用这个通知来提醒用户注意节点间单Internet链路故障,否则用户将感觉不到该链路故障。
应当注意,因为RDP驱动器50具有识别未到达目的节点的数据报,以及在数据报中数据段未按特定顺序接收时重建数据报的能力,它保证了在可靠性方面比通常的UDP进程有很大的提高。这样,网络20-2m之一的任何故障都被RDP进程克服,同时进程间仅由UDP互连接的反复重试也可以取消。
现在参考图5,通过提供目的节点等的地址列表,发送状态机完成初始化,然后它就自等待发送设置顺序状态。自用户进程收到一有效的数据报后,再参考图7和图4b,图3中的RDP进程50暂时将此数据报存储起来(700步),然后准备好从地址列表中取出的一个与指定目的节点相对应的新的网络目的节点地址的待发送的数据报。数据报的DN域被设置为给定地址。在715步时将目的端口地址传送到目的端口域DP中,在第720步中将SN位设置为当前传送过程中的消息顺序编号。最后,在730步启动定时器之前,RDP首部63中FL域的S标志被置为1,这个重新传送定时器近似地等于与此节点有关的任何地址向接收节点传送一个数据报到接收到应答后所花的最大时间与应答窗口大小加2的积。现在在735步处,为了向Internet上传送,完整的RDP数据报和从地址列表中获得的目的节点的循环地址(从205步获取)一起传给图3中的UDP模块41。然后RDP模块50进入等待设置窗口状态80。
图8中对等待设置窗口状态80作了更为详细的说明。当用图3中的UDP模块41从接收节点接收一个数据报时,则生成第一条出口通路。在810步RDP进程50通过查询空白域来决定“S”位是否被设定。如果S位被设定则在815步顺序编号位将被检查以确定它是0,还是等于初始的消息编号。
如果顺序编号是0,它代表接收端有能力处理以非顺序的方式接收的数据报且最大的窗口尺寸将保持在数据报部分40中。如果数据报40中保持的N不超过适合于发送节点工作的最大N值(如在第820步中确定的)则在825步中将窗口值设置为N,否则在830步中将窗口设置为发送端能处理的最大值。然后设置窗口应答数据报被发送到接收端。它包括一个含有一个应答的数据报,flag域中的设置位被设定,顺序编号设置为0且数据报设置成825步和830步由传送节点选定的窗口的尺寸。接下来RDP模块进入等待设定顺序应答状态100。
但是,如果在815步中确定顺序编号不为0时,则在805步中查询应答位。如果这个应答位被置位,它代表接收端要求任何时刻只能传送一条消息。假设805步没有设置应答位,则在840步断否定应答是否被置位,如果没被置位,则???窗口不退出。但如在840步中否定应答被置位,它代表通信尝试中发生了错误,在845步任何准备传送给特定目的节点和端口的数据报将带有错误标识返回给用户,这些都是在进入“等待发送设定顺序”前完成,并重新初始化发送和接收节点间的通信。
现在转到图9,在等待应答状态中识别以下事件:以前设置的超时、来自于UDP模块41的数据报含有在首部63的标识域中设置的应答位以及接收来自用户进程的其它的数据报。
首先考虑接收包含应答标志的数据报的情况,在第900步中,应答顺序编号以前保持的所有消息都被废弃,因为最近接收的消息的应答意味着以前传送的消息瑞无需再保存。在第905步中,以前设置的计时器被复位,用于确定特定节点的地址列表中失败的地址重试计数器也被复位。
在第910步中作续后的数据是否位于发送队列的判断,如果不是,则在915步中,检查是否所有前面传送过的数据报都被应答过,如果所有以前接收的数据报都已被应答过且以后再没有数据报要发送,则RDP模块50进入空闲状态等待来自用户或来自接收端的其它动作。
如果在910步中检测出在发送队列中有续后的数据报,则在第920步中判断下一个要发送的数据报是否落在先前设置的窗口(N)中。如果它在允许的未完成应答的数目之内,则在此时生成消息首部,接下来在第930步最近的消息被传送给UDP模块41以进一步传送到网络上。此时系统可能检查是否还有数据报要发送。
在第935步中从一个用户进程接收到一个新的数据报后,这个接收的消息被加入到存放的待发送的消息的队列中。接下来参见上面描述的第920步中后续需要传送的数据报。
如果在等待接收方的应答时发生了超时重新传送,则已被存储的最早的数据报,也就是最早接收的但未被应答的数据报在第940步中被恢复,并且用来发送数据报的地址列表中的目的节点地址被标注为失效一如果这个指定地址对应的重发数据报的次数超过的话(图中未显示此步)。在第945步中,如对应于指定数据报的数据传送重成计数器超过设定值,则所请求的目的节点的地址列表中几个或所有地址将依次试验,这个目的可以被假定认为失效。这导致返回给用户进程一个出错信息(带有所有后续的未发送的数据包)。假定重试计数器没有超过设定值,则重试计数器在950步中被修订,在第955步中,做进一步的尝试以向地址列表中的不同地址发送最早的数据报。
对空闲状态进一步详细的描述对于本发明的实现来说不是必需的,除了注意从用户进程接收一个有效的数据报后RDP模块50将返回到935步以发送这个数据报(如上所述)。
关于等待设定顺序应答状态100,当如图8中805-860步中所示出的那样接收到设定顺序应答后,系统将进入等待应答状态90。或者,例如如果一个否定应答如图8的第840步中确定或通过发生在图7中740-745步中所设置的方式下的超时而被发送,则设定顺序应答系统将导致系统复位以再从等待发送设定顺序状态开始。
现在参见图6,图3中的RDP模块50的接收单元一方初始时处于等待设定顺序状态200。另外再参见图10,当从UDP模块41接收到一个FL域的“S”位被设定的数据报后,将导致此模块从此状态转移到检查接收到的数据报状态。
在210步,保存在RDP首部63中的顺序编号被存储起来,对首部做进一步检查,以确认图2中的传送节点10是否有能力处理多于一个的未完成应答。这样,在第215步如果多个未完成的数据报是允许的,则在在第220步中接收节点12所能处理的最大数目的未完成消息从存储器中被恢复。在第225步中,这个值被传给RDP数据报的消息部分,应答位被清除,首部63标志域FL的设置位被置位且顺序编号被消除来向传送节点表明这是一个设置窗口请求消息。在第230步中,这个值被传给RDP数据报的消息部分,应答位被清除,首部63标志域FL的设置位被置位且顺序编号被清除来向传送节点表明这是一个设置窗口请示消息。在第230步中,这个数据报被传送给UDP模块41以将其传送到Internet网上。
在第235步中定时器被启动,这个定时器被设置成应答窗口的尺寸乘以发送节点10和接收节点12之间最坏往返时间所得的积。接下来,模块50进入等待设定窗口应答状态300。
现在在第215步中,如果确定传送节点10没有能力处理滑动窗口协议,则在第240步中接收窗口被置位以确保未完成的没有确认的数据报是不允许的,同时应答窗口被置位以确保所有数据报在接收到顺序号后被应答。
现在在第250步中,已建立一个数据报,其应答位被置位但设置窗口应答不被请求。这样返回的数据报包括存储且接收的顺序编号,A位置位,“S”位清零,接下来在第255步这个数据报被传送给用户数据报协议模块41,RDP模块50的接收端进入空闲状态以接收后面的数据报。
最后参考图10,在等待设定顺序200的动作中,如果接收到一个无效的数据报,在第260步中返回一个包含否定应答的错误消息,以及“N”位和接收的顺序编号在第265步通过用户数据报协议返回。这种情况中RDP模块50保持在初始状态,也就是说处于等待设置顺序中状态200。
再参考图6,在处于等待设置窗口应答状态300时,图3中的RDP模块50等待前面在第230步传送的窗口尺寸设置消息的应答。如果从此模块接收的应答数据报中含有与该数据报中存有的N值不同的N值且“S”位已经置位,则接收的窗口尺寸被调整到新的N值,同时在RDP模块进入空闲状态等待接收从传送节点发送的其它数据报之前,设定顺序应答被设置成如图10中250和255步那样的方式。
另外,如果在第235步设定的定时器超时,则RDP模块可能返回到等待设定顺序状态200,或者再次接收到设定顺序请示时,进程从图10中的210步开始重复执行。
在空闲状态400时,退出是通过来自网络的数据报作出的。参考图11,此使接收到数据报后的第一步是从首部63中获取消息的顺序编号,在第405步中,此顺序编号从首部中剥离,并在第410步中进行比较以确保它处在(n-s)和((n+s)-1)之间,此外n是已接收但尚未被应答的最小的顺序编号,S是发送模块在尚未接收到应答消息时可以发送的数据报的数目。这是第410步,如果此消息的顺序编号超出范围则该数据报就被废弃,同时模块50保持在空闲状态。假设此顺序编号在规定的范围之内,则在第415步要检查是否这是一个重复的数据报。这样,如果接收到的消息顺序编号与以前接收到的消息的顺序编号相同,则表明与此数据报相关的应答消息尚未被发送节点10接收到,则在第415步中要重发送此应答消息。
如果在第415步中认定这不是一个重复消息,则在第430步中要进行检查以确保只有按顺序编号的消息才传送到目的队列。这样,如果象第430步描述的那样所有以前编号的消息已被接收并传到了端口队列,且在第435步中确定指定端口的队列中还有空闲空间存放此消息,则在第440步中这条消息被传送然后进入等待发送应答状态。
但是,如果一个数据报丢失的话,也就是说顺序编号中出现了空缺,则在第450步中将这个接收到的数据报暂时存放起来然后进入等待丢失消息的状态。相同地,如果在第435步中端口队列充满的话,即表明目的进程不能充分迅速地处理这些消息,则在第460步中将这些消息暂时存储起来。在第465步中设置重新发送次数计数器,然后系统进入等待重新传送状态-如果端口队列有空间的话。
现在参考图12,如果在等待发送应答消息的状态时,从UDP模块41中又接收到一个数据报,则图11的消息处理进程继续。从消息处理进程返回后,在第510步中RDP模块50判断是否最大数目的可允许接收但不应答的数据报已被接收。如果这步中,接收到但没有应答的顺序接收的数据报没有达到最大数目时,则此模块在等待回送应答消息状态保持不动。但如果已接收但尚未被应答的数据报的数目超过了第510步所设定的值,或者在静止状态中第一个接收但尚未被应答的消息的定时超过时,则在第515步中将向发送节点传送一个应答消息,接下来在第520和525步中将分别调整接收窗口和应答窗口的值。
此处很容易注意到,发送与接收节点间的数据报流的控制处在对三个窗口限制的控制之下,即在发送状态机上的发送窗口和接收状态机上的接收和应答窗口。发送状态机上的发送窗口限制未送完的接收和应答窗口。发送状态机上的发送窗口限制未发送完的数据报的数目,即那些已经发送的但尚未被应答的数据报。当数据报被应答后,它们将从发送队列中删除,发送窗口也随着顺序编号相应调整以接收后面要传送的数据报。注意,发送窗口不能比接收窗口大。
接收窗口限制可以接收并存储的数据报的数目,即可以被RDP模块50组装的数据报的数目,因此限制了在丢失的数据报后可以被接收的数据报的数目。应答窗口限制可以按顺序接收并在发送应答前存储在接收队列中的数据报的数目。
翻到图13,在等待重发处状态600,如果应答消息定时器超时或如605步中指出的那样消息中包含的顺序编号在以前接收的消息中已经存在,则系统向发送节点发一个特殊的标识消息,以此来指示不必象接收进程31-3p没有处理以前排队的数据报那样重新传送内含挂起的应答或否定应答信息的数据报,但在第605步如果接收到一个有效的数据报,则将其添加在暂存区中等待发送。
如果重发送定时器发生超时,则进入第三种状态,在这种情况下,在第620步检查进程队列,如果未满,则在第625步中重新试图向用户进程队列发送最早的未完成的数据报。在第630步中发送完最早的数据报后要检查一下是否还有后续的数据报等待传送,如果没有,并且所有以前接收的数据报都已被应答,则RDP模块50进入空闲状态。
如果在第630步中判定有后续的数据报等待传送,则在由620、625和630步构成的循环中将试图发送这些数据报。
如果在第620步中判定队列已满且重试计数器尚未到达最大值,则重发超时在645步重新启动。
如果通过查询重发计数器判定向此队列的重发次数表示用户进程已经失效,在第650步中发达一个否定应答,并且系统等待发送的此否定应答的应答。
从最近接收的数据报识别为未按正确的顺序的状态进入到等待丢失的数据报的状态。此状态后面接着图11中开始的一系列执行步骤直到所有已接收的数据报都处于一个正确的顺序为止。
为避免疑问,注意在任何时候设定顺序请示被接收,任何未完成的接收数据报都被忽略且发送节点与接收节点间的通信要重新被初始化。也要注意一旦两个节点间通信建立起来以后,除非网络完全失效,一个重复设定顺序请示信号是不可能被发送的。与接收节点间的通信要重新被初始化。也要注意一旦两个节点间通信建立起来以后,除非网络完全失效,一个重复设定顺序请示信号是不可能被发送的。

Claims (15)

1、一种由多台主机构成的且每台主机都可以从多个网络地址被访问的多处理器环境中运行的进程间的数据包传送方法,这个方法包括:为每个被寻址的进程建立一个目的主机标识号和一个目的主机端口号;为每个目的主机标识号建立一个包含多个相应网络节点地址的地址列表;为两个节点间传输的每一个数据包循环地从目的主机相对应的地址列表中选择下一个网络节点直到最后一个地址;为数据包加一个首部来定义选择的网络地址和目的端口号;监测数据包应答的返回数据和向地址列表中下一个网络节点地址重新传送任何未被应答的数据包。
2、如权利要求1的传送数据包的方法,其特征在于:附加到进程间传送的数据包的每个消息首部都包括一个消息顺序编号,它由传送节点进行增加,使接收节点可以识别消息列中缺少的一条或多条消息。
3、如权利要求2中的传送数据包的方法,其特征在于:传送节点对来自于接收节点的应答消息的顺序编号进行增加。
4、如权利要求2或权利要求3的传送数据包的方法,其特征在于:接收节点保持最后接收到的顺序编号的记录并且收到包含正确顺序编号的数据包,即返回给传送节点应答消息并增加其顺序编号。
5、如权利要求4的传送数据包的方法,其特征在于:在检测到非正确的顺序编号比正确的顺序编号小1时,接收节点返回给传送节点一个应答消息。
6、如权利要求4或5的传送数据包的方法,其特征在于:在正确接收的顺序编号缺少时,接收节点将返回一个带有接收顺序编号的消息,同时附带一个表明接收了一个不附合顺序的数据包的标志位。
7、如权利要求1,2,3中任一项的传送数据包的方法,其特征在于:首部包含一个段号,它表示这个传送的数据包仅是待在发送进程与接收进程间传送的整个数据包的一部分,而且接收节点要将传送给该接收进程的若干个传送数据包的整个数据包的各段重新组装。
8、如权利要求1,2,3中任一项的传送数据包的方法,其特征在于:相应地址列表中的任何网络地址,超过事先定义的数据包失效次数后,将从地址到表中删除。
9、如权利要求8的传送数据包的方法,其特征在于:以周期性的间隔时间多次试图建议连接以删除网络节点地址。
10、如权利要求2或3的传送数据包的方法,其特征在于:从消息列中识别出一个缺少的消息后,接收节点保持来自于传送节点的应答消息。
11、如权利要求10的传送数据包的方法,其特征在于:传送节点将重发那些以前已被发送但尚未被应答的消息是在一个预先定义的时间段内缺少应答消息时才执行的。
12、如权利要求2或3的传送数据包的方法,其特征在于:接收节点从发送节点接收多个数据包并且在接收到预先定义好数目的数据包或预先定义的时间段超时发送一个应答。
13、如权利要求12的传送数据包的方法,其特征在于:接收到一个包含特定消息顺序编号的应答消息后,传送节点确定所有以前编号的数据包都已被接收。
14、如权利要求13的传送数据包的方法,其特征在于:接收一个超出顺序消息编号的数据包时,接收节点将此数据包存储起来直到在发送此数据包应答前所有以前编好号的数据都已被接收。
15、如权利要求14的传送数据包的方法,其特征在于:如果最后接收到的数据包的接收节点消息顺序编号超过还未在预先定义的次数内接收的最低消息顺序编号时,接收节点传送带有最大消息顺序编号的最后接收的数据包的应答消息。
CN95196711A 1994-12-09 1995-12-08 多处理器环境运行的进程间的数据包传送方法 Expired - Lifetime CN1086531C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP94309231.2 1994-12-09
EP94309231 1994-12-09

Publications (2)

Publication Number Publication Date
CN1169224A CN1169224A (zh) 1997-12-31
CN1086531C true CN1086531C (zh) 2002-06-19

Family

ID=8217936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95196711A Expired - Lifetime CN1086531C (zh) 1994-12-09 1995-12-08 多处理器环境运行的进程间的数据包传送方法

Country Status (11)

Country Link
US (1) US5931916A (zh)
EP (1) EP0796533B1 (zh)
JP (1) JPH10510403A (zh)
KR (1) KR980700762A (zh)
CN (1) CN1086531C (zh)
CA (1) CA2205068C (zh)
DE (1) DE69531410T2 (zh)
FI (1) FI972404A (zh)
NO (1) NO972619D0 (zh)
NZ (1) NZ296583A (zh)
WO (1) WO1996018256A2 (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3489983B2 (ja) * 1997-12-26 2004-01-26 富士通株式会社 データ転送システム、端末装置、及びその方法
US6192414B1 (en) * 1998-01-27 2001-02-20 Moore Products Co. Network communications system manager
US20070078978A1 (en) * 1998-06-01 2007-04-05 Sri International Method and apparatus for updating information in a low-bandwidth client/server object-oriented system
US6611495B1 (en) * 1999-02-22 2003-08-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for improved data transfer in packet-switched communication networks
WO2000065786A1 (en) * 1999-04-26 2000-11-02 Stanford Global Link Corporation Global unified messaging system and method
US6335933B1 (en) * 1999-05-21 2002-01-01 Broadcom Homenetworking, Inc. Limited automatic repeat request protocol for frame-based communication channels
KR100324281B1 (ko) * 1999-08-31 2002-02-25 서평원 중앙 집중식 고속 데이터 전송 장치
FI109438B (fi) * 1999-10-15 2002-07-31 Nokia Corp Menetelmä tiedon siirtämiseksi pakettidatakanavalla
JP2001142845A (ja) * 1999-11-17 2001-05-25 Toshiba Corp コンピュータシステムおよびデータ転送制御方法
US20010032271A1 (en) * 2000-03-23 2001-10-18 Nortel Networks Limited Method, device and software for ensuring path diversity across a communications network
AU2001257132A1 (en) * 2000-04-20 2001-11-07 Ciprico Inc. Method and apparatus for providing fault tolerant communications between network appliances
US6701449B1 (en) 2000-04-20 2004-03-02 Ciprico, Inc. Method and apparatus for monitoring and analyzing network appliance status information
US6894976B1 (en) * 2000-06-15 2005-05-17 Network Appliance, Inc. Prevention and detection of IP identification wraparound errors
US7305486B2 (en) * 2000-06-30 2007-12-04 Kanad Ghose System and method for fast, reliable byte stream transport
US6530056B1 (en) * 2000-08-25 2003-03-04 Motorola, Inc. Method for setting a timer based on previous channel request statistics
CA2355473A1 (en) * 2000-09-29 2002-03-29 Linghsiao Wang Buffer management for support of quality-of-service guarantees and data flow control in data switching
US6898213B1 (en) * 2000-10-16 2005-05-24 Iprad Ltd. Circuit emulation service (CES) over IP
US6687700B1 (en) * 2000-11-09 2004-02-03 Accenture Llp Communications system for supporting inter-dependent data messages
JP3740982B2 (ja) * 2001-01-15 2006-02-01 日本電気株式会社 ネットワークに接続されたホストコンピュータの死活監視方法
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7165107B2 (en) * 2001-01-22 2007-01-16 Sun Microsystems, Inc. System and method for dynamic, transparent migration of services
US7197565B2 (en) * 2001-01-22 2007-03-27 Sun Microsystems, Inc. System and method of using a pipe advertisement for a peer-to-peer network entity in peer-to-peer presence detection
US7272636B2 (en) * 2001-04-24 2007-09-18 Sun Microsystems, Inc. Peer group name server
EP1255379B1 (de) * 2001-05-04 2008-01-23 Nokia Siemens Networks Gmbh & Co. Kg Verfahren zur Flusskontrolle bei mehreren Sendern mit unbekannter und/oder verschiedener Sendeleistung
US6976085B1 (en) * 2001-11-20 2005-12-13 Cisco Technology, Inc. Methods and apparatus for inserting data into a communications session
US20050021821A1 (en) * 2001-11-30 2005-01-27 Turnbull Rory Stewart Data transmission
US7143169B1 (en) * 2002-04-04 2006-11-28 Cisco Technology, Inc. Methods and apparatus for directing messages to computer systems based on inserted data
US20030206549A1 (en) * 2002-05-03 2003-11-06 Mody Sachin Satish Method and apparatus for multicast delivery of information
US7092990B2 (en) * 2002-06-26 2006-08-15 International Business Machines Corporation Handling node address failure in a distributed nodal system of processors
US7987271B1 (en) * 2002-08-12 2011-07-26 Cisco Technology, Inc. Methods and apparatus for inserting content within a content page
US7849140B2 (en) 2002-08-29 2010-12-07 Oracle America, Inc. Peer-to-peer email messaging
US7263560B2 (en) * 2002-08-30 2007-08-28 Sun Microsystems, Inc. Decentralized peer-to-peer advertisement
KR100964657B1 (ko) * 2002-12-07 2010-06-21 엘지전자 주식회사 홈 네트워크 시스템의 데이터 다운로드 방법
US20040210537A1 (en) * 2003-04-15 2004-10-21 Grubb Christopher J. User-controlled sale and delivery tracking system
US20050039184A1 (en) * 2003-08-13 2005-02-17 Intel Corporation Assigning a process to a processor for execution
US7389411B2 (en) 2003-08-29 2008-06-17 Sun Microsystems, Inc. Secure transfer of host identities
US7444396B2 (en) 2003-08-29 2008-10-28 Sun Microsystems, Inc. Transferring system identities
GB2405965B (en) * 2003-08-29 2005-11-02 Sun Microsystems Inc Transferring system identities
US7814188B2 (en) 2003-12-16 2010-10-12 Honeywell International Inc. Synchronized wireless communications system
US8015154B1 (en) * 2004-06-07 2011-09-06 Teradata Us, Inc. Starting database software in response to a broadcast message
JP4271160B2 (ja) * 2005-03-23 2009-06-03 ファナック株式会社 生産システムにおけるネットワーク開通方法
CN100471180C (zh) * 2006-02-09 2009-03-18 华为技术有限公司 一种消息传递的方法、装置和系统
JP5494646B2 (ja) * 2009-02-25 2014-05-21 日本電気株式会社 通信ネットワーク管理システム、方法、及び管理計算機
US8504818B2 (en) * 2010-04-15 2013-08-06 Microsoft Corporation Method and system for reliable protocol tunneling over HTTP
CN102014055B (zh) * 2010-11-23 2015-09-16 中兴通讯股份有限公司 Mtp2协议中流量控制的方法及系统
JP6294002B2 (ja) 2013-02-08 2018-03-14 株式会社Nttドコモ 距離推定方法、及びユーザ装置
US9325586B1 (en) * 2014-03-26 2016-04-26 Marvell Israel (M.I.S.L.) Ltd. Packet duplication measurement in a network device
CN105933307A (zh) * 2016-04-19 2016-09-07 深圳市东微智能科技有限公司 一种支持多处理器的数据封装方法及系统
CN105897781B (zh) * 2016-06-30 2019-05-31 北京奇虎科技有限公司 移动终端与服务器之间数据传输的控制方法及装置
CN111291104B (zh) * 2020-01-20 2023-07-28 中国银联股份有限公司 一种基于异步应答的传输数据的方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4058672A (en) * 1976-11-10 1977-11-15 International Telephone And Telegraph Corporation Packet-switched data communications system
US4223380A (en) * 1978-04-06 1980-09-16 Ncr Corporation Distributed multiprocessor communication system
US4554656A (en) * 1982-08-11 1985-11-19 At&T Bell Laboratories Method and system for controlling the interconnecting of a plurality of local data networks
US4918686A (en) * 1987-07-27 1990-04-17 Hitachi, Ltd. Data transfer network suitable for use in a parallel computer
US5088032A (en) * 1988-01-29 1992-02-11 Cisco Systems, Inc. Method and apparatus for routing communications among computer networks
CA1294347C (en) * 1988-05-05 1992-01-14 Man Him Hui Remote interconnection of local area networks
US4947389A (en) * 1989-06-06 1990-08-07 At&T Bell Laboratories Multi-channel ring architecture for distributed networks
US5161156A (en) * 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery
JPH03270529A (ja) * 1990-03-20 1991-12-02 Fujitsu Ltd 総合ディジタル通信サービス網でのマルチホストシステム
EP0512174B1 (en) * 1991-05-08 1997-02-26 Semaphore, Inc. Parallel rule-based data transmission method and apparatus
DE69123149T2 (de) * 1991-09-03 1997-03-13 Hewlett Packard Co Nachrichtweglenking-Apparat
US5432907A (en) * 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
US5260933A (en) * 1992-05-15 1993-11-09 International Business Machines Corporation Acknowledgement protocol for serial data network with out-of-order delivery
US5541911A (en) * 1994-10-12 1996-07-30 3Com Corporation Remote smart filtering communication management system

Also Published As

Publication number Publication date
NO972619L (no) 1997-06-06
EP0796533A2 (en) 1997-09-24
FI972404A0 (fi) 1997-06-06
WO1996018256A2 (en) 1996-06-13
DE69531410D1 (de) 2003-09-04
NZ296583A (en) 1998-04-27
US5931916A (en) 1999-08-03
DE69531410T2 (de) 2004-05-06
FI972404A (fi) 1997-06-06
KR980700762A (ko) 1998-03-30
AU689005B2 (en) 1998-03-19
WO1996018256A3 (en) 1996-09-06
EP0796533B1 (en) 2003-07-30
MX9703743A (es) 1997-09-30
AU4122296A (en) 1996-06-26
CN1169224A (zh) 1997-12-31
CA2205068C (en) 2000-08-01
NO972619D0 (no) 1997-06-06
CA2205068A1 (en) 1996-06-13
JPH10510403A (ja) 1998-10-06

Similar Documents

Publication Publication Date Title
CN1086531C (zh) 多处理器环境运行的进程间的数据包传送方法
CN1310149C (zh) 用于重定序和重发实体之间的层间控制的方法和系统
CN1207674C (zh) 在分布式计算环境中进行拓扑传播的方法和系统
US8612617B2 (en) Reliable multicast transport protocol
JP2825120B2 (ja) マルチキャスト伝送のための方法及び通信ネットワーク
US20050174972A1 (en) Reliable message distribution in an ad hoc mesh network
US20030031175A1 (en) Method of multicasting
CN100420207C (zh) 一种实现通信接管的方法及装置
US8780772B2 (en) Communication protocol for wireless enhanced controller area networks
CN101444032B (zh) 用于高速数据处理的重发装置和方法
CN1697354A (zh) 用组播和单播协议可靠传输数据的方法及接收数据的主机
CN1339749A (zh) 一种将tcp用于不可靠传输网络的局域重传方法
CN1531262A (zh) 实现网络负载分担功能的网络通信方法
CN101056194A (zh) 一种简单网络管理协议消息传送方法及装置
CN1859219A (zh) 基于设备容灾的业务接管方法、业务转接设备及备份机
Jones et al. Protocol design for large group multicasting: the message distribution protocol
CN101938533B (zh) 地址解析的处理方法及装置
JPH09160858A (ja) データ再送方法及びサーバ
CN1423197A (zh) 基于多tcp连接映像的高可用系统
JPH10190637A (ja) データ伝送方式
CN1617525A (zh) 一种保证通用路由封装隧道传输可靠的方法
CN1551553A (zh) 接收设备、发送设备和程序
EP1225741B1 (en) High speed interconnection for embedded systems within a computer network
CN1956421A (zh) Web服务消息可靠传递方法
JPWO2008105030A1 (ja) バックアップ装置

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