CN103618659A - 一种基于逻辑环的可靠多播方法 - Google Patents
一种基于逻辑环的可靠多播方法 Download PDFInfo
- Publication number
- CN103618659A CN103618659A CN201310597994.5A CN201310597994A CN103618659A CN 103618659 A CN103618659 A CN 103618659A CN 201310597994 A CN201310597994 A CN 201310597994A CN 103618659 A CN103618659 A CN 103618659A
- Authority
- CN
- China
- Prior art keywords
- data
- token
- logic
- multicast
- ring
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于逻辑环的可靠多播方法,包括如下步骤:创建多播组,将网络中的各成员逐一加入各多播组;同组中的成员按照加入的先后顺序形成一个环,令牌沿着该环在成员之间进行传递,持有令牌的成员作为响应代表对来自源的数据进行确认;接收方进行差错检测,在产生数据丢失的情形下发送重传请求要求数据源重新进行发送,本发明通过响应代表代表全组对数据源发出的数据进行确认,有效地减少了数据源所要处理的数据;同时在检测到数据丢失以后,采用随机延时的方法,尽量使得只有一个重传请求能够到达数据源,这样进一步减轻了网络负担,减小了网络拥塞的可能性,降低了数据源的负担。
Description
技术领域
本发明涉及通信网络的多播协议,特别是涉及一种基于逻辑环的可靠多播方法。
背景技术
网络的迅速发展带来了许多新的应用:视频会议、交互式游戏、音频/视频电话、实时多媒体点播以及协同计算等。这些应用的一个重要特征就是在一个会话期间涉及到多个参与者之间的交互。为了更好的支持这些应用的设计与开发,便诞生了多播协议。到目前为止,已经出现了许多多播协议,它们中的一些已经形成了相应的国际标准。今天Internet世界的四种主流的多播协议分别是:基于距离向量DVMRP、开放最短路径优先MOSPF、协议独立的PIM以及基于核心树的CBT。
关于可靠多播的问题,目前已有很多人从事该方面的研究并获得了一些成果。他们当中比较有代表性的是SRM(Scalable Reliable Multicast,可扩展的可靠组播协议)、RMTP(Reliable Multicast Transport Protocol,可靠组播传输协议)、MTP/MTP-2(Multicast Transport Protocol/Version 2,多路广播传送协议/版本2)、RAMP(Reliable Adaptive Multicast Protocol,可靠的自适应多播协议)。SRM将更多的功能与灵活性留给应用程序去处理,而自身致力于数据的可靠传送;RMTP采用层次树的方法,最初用来传送大批的文件;RAMP最初用于传送巨大的图象数据,因此支持数据的拆分与组装;MTP-2是MTP的改良版本,它们都利用一台特定的主机(Master)负责维护成员间的关系。
已有的结论表明:基于接收方的多播协议优于基于发送方的多播协议;在越大的网络区间里面,基于接收方的多播协议所获得的性能益处就越大。影响多播协议的一个重要问题是关于可靠性的界定问题,从实际的应用情形来看,它可以分为以下四种情况:(1)源顺序:来自同一数据源的数据按照发送的顺序递交给接收者。(2)目的顺序:目的成员按照相同的顺序接收数据,这个顺序不必同发送的顺序一致。(3)因果顺序:单个成员收到来自多个源的数据的时候,这些数据可能具有因果关系,必须按照一定的因果顺序递交给接收者。(4)原子顺序:这是最严格的情形,它要求组中的所有成员按照相同的顺序接收来自多个数据源的数据。
在上面所提到的协议中,SRM只保证数据端到端传输的可靠性而不保证顺序,MTP、RMTP只保证目的顺序,RAMP同时支持源顺序和目的顺序,而MTP-2则提供了全局顺序。
综上所述,多播协议的出现降低了很多应用的开发代价,提高了灵活性。然而,同传统的TCP相比,多播采用的是无连接的方式,它并不保证消息一定到达,也就更谈不上到达的顺序问题,总的说来,多播协议是不可靠的。然而在实际的应用中,特别是在CSCW(Computer Supported Cooperative Work,计算机支持的协同工作)中,确实存在这样的***:在一个会话期间有多个参与者,从参与者发出的消息要求可靠的分发到组中其他成员。新的需求需要新的协议,因此,亟待提出一种可靠性高、效率高,数据丢失率低的多播协议。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于逻辑环的可靠多播方法,其通过响应代表代表全组对数据源发出的数据进行确认,有效地减少了数据源所要处理的数据,从而抑制了确认***的问题;同时在检测到数据丢失以后,并不是所有丢失数据的站点都要发出重传请求,而是采用随机延时的方法,尽量使得只有一个重传请求能够到达数据源,这样进一步减轻了网络负担,减小了网络拥塞的可能性,降低了数据源的负担。
为达上述及其它目的,本发明提出一种基于逻辑环的可靠多播方法,包括如下步骤:
步骤一,创建多播组,将网络中的各成员逐一加入各多播组;
步骤二,同组中的成员按照加入的先后顺序形成一个环,令牌沿着该环在成员之间进行传递,持有令牌的成员作为响应代表对来自源的数据进行确认;
步骤三,接收方进行差错检测,在产生数据丢失的情形下发送重传请求要求数据源重新进行发送。
进一步地,在步骤一中,创建多播组及成员加入的原则为:如果待加入的多播组已经存在,则直接加入成为其中的一员;否则就创建新的多播组。
进一步地,在步骤二中,差错检测包括如下步骤:
发送方维护一个序号计数器,该计数器的数值为下一个待发送的数据包的序号;
每发送一次,计数器增加1;
接收方维护每个成员的期望接收的序号值,如果接收到的序号大于期望值,则说明发生了数据丢失。
进一步地,在步骤二中,差错检测包括如下步骤:
所述响应代表对数据源的数据进行响应,响应信息中包含了确认的对象;
其他成员通过对该响应信息进行分析判断数据是否丢失。
进一步地,在步骤二中,根据重传请求中包含的请求重传数据的序号,其他成员判断是否发生数据丢失。
进一步地,在步骤三中,所述重传请求以多播的方式发送到多播组中,并采取随机延时的方法,尽可能保证只有一个重传请求发送给发送方
进一步地,于步骤三之后,还包括如下步骤:
实时对令牌进行检测,若检测到令牌丢失,则进行令牌恢复。
进一步地,令牌检测方法如下:
如果一个数据源或响应代表的数据在发送数次以后都没有得到确认,则数相应的站点认为令牌已经丢失,进入恢复过程。
进一步地,令牌恢复通过所述响应代表重新构造并发送成员列表实现。
与现有技术相比,本发明一种基于逻辑环的可靠多播方法,通过响应代表代表全组对数据源发出的数据进行确认,有效地减少了数据源所要处理的数据,从而抑制了确认***的问题;同时在检测到数据丢失以后,并不是所有丢失数据的站点都要发出重传请求,而是采用随机延时的方法,尽量使得只有一个重传请求能够到达数据源,这样进一步减轻了网络负担,减小了网络拥塞的可能性,降低了数据源的负担。此外通过多种手段进行数据的丢失检测,能够很好地保证检测的正确性。
附图说明
图1为本发明一种基于逻辑环的可靠多播方法的步骤流程图;
图2为本发明较佳实施例的状态转换示意图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
在介绍本发明之前,首先给出本发明所使用的以下定义:
(1)定义1:环(Ring):由多播组中的计算机组成的逻辑结构,对应于数据结构中的循环链表;多播组中的每一台计算机都维护一个。
(2)定义2:令牌(Token):是一个标志,它可以在组中的计算机之间进行传递,拥有该标志的计算机就成为响应代表。
(3)定义3:响应代表(Token Holder):多播组中的一台计算机,由它代表组中的全体成员对来自源的信息进行确认。
图1为本发明一种基于逻辑环的可靠多播方法的步骤流程图,如图1所示,本发明一种基于逻辑环的可靠多播方法,包括如下步骤:
步骤101,创建多播组,将成员逐一加入各多播组。在本发明较佳实施例中,创建多播组及成员加入的原则是:如果待加入的多播组已经存在,则直接加入成为其中的一员;否则就创建新的多播组。具体算法简单描述如下:
算法1 新成员的加入
步骤102,同组中的成员按照加入的先后顺序形成一个环,令牌沿着该环在成员之间进行传递,持有令牌的成员作为响应代表对来自源的数据进行确认。
步骤103,接收方进行差错检测,在产生数据丢失的情形下发送重传请求要求数据源重新进行发送。
在本发明中,状态转换用Petri网表示如图2所示。其中,P1表示非组中成员,P2表示普通成员,P3表示等待数据,P4表示等待响应,P5表示错误状态,P6表示响应代表,T1表示加入,T2表示退出,T3表示数据丢失,T4表示发送数据,T5表示超时,T6表示收到响应,T7表示恢复,T8表示收到令牌,T9表示送出令牌。图中起始位置为P1。需要说明的是:收到重传请求以后发出的数据并不需要确认;错误状态P5代表了多种情形—本站点出错或者其他站点出错。在所提供的服务类别中,全局有序的取得主要是通过对确认的处理达到的。
当然,本发明在运行的过程中,不可避免的会出现例外或者产生差错,因此差错检测在本发明的实现过程中显得至关重要。下面来看一下数据的丢失检测及其处理。在本发明的具体实现过程中,可以通过以下多种方式来检测数据的丢失情形:
(1)发送方序列号方法:发送方维护一个序号计数器,该计数器的数值即为下一个待发送的数据包的序号;每发送一次,计数器增加1。接收方维护每个成员的期望接收的序号值,如果接收到的序号大于期望值,则说明发生了数据丢失,进入数据丢失处理过程。
(2)根据ACK确认信息:响应代表对数据源的数据进行响应,响应信息中包含了确认的对象,其他成员通过对该响应信息进行分析可以发现数据丢失。
(3)根据重传请求NACK:重传请求中包含了请求重传数据的序号,根据该序号,其他成员可以判断是否发生数据丢失。
在本发明较佳实施例中,同时使用了上面的三种方法,较好的保证了数据丢失检测的准确性。数据丢失的处理算法简单描述如下:
算法2 数据丢失处理
说明:重传请求以多播的方式发送到多播组中;延时的目的是尽可能保证只有一个重传请求送给发送方。从性能来看,这种做法要比所有的重传请求都发送到数据源要好。
在运行的过程中,由于各种原因(比如断电,操作***故障等)可能会造成持有令牌的站点退出多播组,从而造成发送的数据不能被确认。因此,及时发现令牌的丢失并执行恢复算法至关重要。因此,较佳的,在步骤102之后,本发明还包括如下步骤:
步骤104,实时对令牌进行检测,若检测到令牌丢失,则进行令牌恢复。
在本发明较佳实施例中,通过下面的方法对令牌进行检测:如果一个数据源的数据在发送数次以后都没有得到确认,则该站点认为令牌已经丢失,进入恢复过程。其他站点的非法退出的确定与此类似,只是它们的确定是在令牌传递过程中完成的——如果响应代表试图将令牌传递给下一个接收者而在规定的时间内没有得到确认的话,则认为该站点已经退出。它们的恢复过程比较简单,响应代表只要重新构造并发送成员列表即可。令牌丢失时的恢复算法简单描述如下:
算法3 令牌丢失的恢复算法
综上所述,本发明一种基于逻辑环的可靠多播方法,通过响应代表代表全组对数据源发出的数据进行确认,有效地减少了数据源所要处理的数据,从而抑制了确认***的问题;同时在检测到数据丢失以后,并不是所有丢失数据的站点都要发出重传请求,而是采用随机延时的方法,尽量使得只有一个重传请求能够到达数据源,这样进一步减轻了网络负担,减小了网络拥塞的可能性,降低了数据源的负担。此外通过多种手段进行数据的丢失检测,能够很好地保证检测的正确性。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (9)
1.一种基于逻辑环的可靠多播方法,包括如下步骤:
步骤一,创建多播组,将网络中的各成员逐一加入各多播组;
步骤二,同组中的成员按照加入的先后顺序形成一个环,令牌沿着该环在成员之间进行传递,持有令牌的成员作为响应代表对来自源的数据进行确认;
步骤三,接收方进行差错检测,在产生数据丢失的情形下发送重传请求要求数据源重新进行发送。
2.如权利要求1所述的一种基于逻辑环的可靠多播方法,其特征在于,在步骤一中,创建多播组及成员加入的原则为:如果待加入的多播组已经存在,则直接加入成为其中的一员;否则就创建新的多播组。
3.如权利要求1所述的一种基于逻辑环的可靠多播方法,其特征在于,在步骤二中,差错检测包括如下步骤:
发送方维护一个序号计数器,该计数器的数值为下一个待发送的数据包的序号;
每发送一次,计数器增加1;
接收方维护每个成员的期望接收的序号值,如果接收到的序号大于期望值,则说明发生了数据丢失。
4.如权利要求1所述的一种基于逻辑环的可靠多播方法,其特征在于,在步骤二中,差错检测包括如下步骤:
所述响应代表对数据源的数据进行响应,响应信息中包含了确认的对象;
其他成员通过对该响应信息进行分析判断数据是否丢失。
5.如权利要求1所述的一种基于逻辑环的可靠多播方法,其特征在于,在步骤二中,根据重传请求中包含的请求重传数据的序号,其他成员判断是否发生数据丢失。
6.如权利要求1所述的一种基于逻辑环的可靠多播方法,其特征在于:在步骤三中,所述重传请求以多播的方式发送到多播组中,并采取随机延时的方法,保证只有一个重传请求发送给发送方
7.如权利要求1所述的一种基于逻辑环的可靠多播方法,其特征在于,于步骤三之后,还包括如下步骤:
实时对令牌进行检测,若检测到令牌丢失,则进行令牌恢复。
8.如权利要求7所述的一种基于逻辑环的可靠多播方法,其特征在于,令牌检测方法如下:
如果一个数据源或响应代表的数据在发送数次以后都没有得到确认,则相应的站点认为令牌已经丢失,进入恢复过程。
9.如权利要求8所述的一种基于逻辑环的可靠多播方法,其特征在于:令牌恢复通过所述响应代表重新构造并发送成员列表实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310597994.5A CN103618659A (zh) | 2013-11-22 | 2013-11-22 | 一种基于逻辑环的可靠多播方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310597994.5A CN103618659A (zh) | 2013-11-22 | 2013-11-22 | 一种基于逻辑环的可靠多播方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103618659A true CN103618659A (zh) | 2014-03-05 |
Family
ID=50169363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310597994.5A Pending CN103618659A (zh) | 2013-11-22 | 2013-11-22 | 一种基于逻辑环的可靠多播方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103618659A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110574340A (zh) * | 2017-03-24 | 2019-12-13 | 甲骨文国际公司 | 在高性能计算环境中提供相对于分区成员资格定义的多播组成员资格的***和方法 |
US11405229B2 (en) | 2017-03-24 | 2022-08-02 | Oracle International Corporation | System and method to provide explicit multicast local identifier assignment for per-partition default multicast local identifiers defined as subnet manager policy input in a high performance computing environment |
US11968132B2 (en) | 2017-03-24 | 2024-04-23 | Oracle International Corporation | System and method to use queue pair 1 for receiving multicast based announcements in multiple partitions in a high performance computing environment |
-
2013
- 2013-11-22 CN CN201310597994.5A patent/CN103618659A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110574340A (zh) * | 2017-03-24 | 2019-12-13 | 甲骨文国际公司 | 在高性能计算环境中提供相对于分区成员资格定义的多播组成员资格的***和方法 |
CN110574340B (zh) * | 2017-03-24 | 2022-07-05 | 甲骨文国际公司 | 在高性能计算环境中提供相对于分区成员资格定义的多播组成员资格的***和方法 |
US11405229B2 (en) | 2017-03-24 | 2022-08-02 | Oracle International Corporation | System and method to provide explicit multicast local identifier assignment for per-partition default multicast local identifiers defined as subnet manager policy input in a high performance computing environment |
US11695583B2 (en) | 2017-03-24 | 2023-07-04 | Oracle International Corporation | System and method to provide homogeneous fabric attributes to reduce the need for SA access in a high performance computing environment |
US11949530B2 (en) | 2017-03-24 | 2024-04-02 | Oracle International Corporation | System and method to provide multicast group membership defined relative to partition membership in a high performance computing environment |
US11968132B2 (en) | 2017-03-24 | 2024-04-23 | Oracle International Corporation | System and method to use queue pair 1 for receiving multicast based announcements in multiple partitions in a high performance computing environment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7200455B2 (ja) | 時間的に正確なイベントストリームの作成のためのシステム及び方法 | |
US11743328B2 (en) | Computer-implemented system and method for propagation and communication of data in a network such as a blockchain network | |
CN105162868B (zh) | 一种教师端与学生端之间的可靠数据传输方法 | |
CN1816014A (zh) | 用于通过网络通信相关消息的排队会话 | |
Aziz | A formal model and analysis of the MQ telemetry transport protocol | |
US11895123B2 (en) | Systems and methods for random differential relay and network coding | |
CN104980450A (zh) | 一种消息传递方法和***及消息中间件 | |
TWI584620B (zh) | 檔案傳輸方法 | |
CN103618659A (zh) | 一种基于逻辑环的可靠多播方法 | |
CN113342838A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
US8161113B2 (en) | Rich signaling feedback mechanism for group communication | |
CN115277649A (zh) | 多媒体会议场景下的文档协同编辑的方法及装置 | |
KR102160818B1 (ko) | 신뢰성 확보를 위한 다중 멀티케스트 네트워크 시스템 및 그 방법 | |
CN104917661B (zh) | 消息检测方法及装置 | |
KNEzEVIC | A high-throughput byzantine fault-tolerant protocol | |
CN118400381A (zh) | 用于诸如区块链网络等网络中的数据传播和通信的计算机实现的***和方法 | |
Konwar | Complexity of resource discovery in network computing | |
Bagchi | A distributed algorithm for ordered, atomic and simultaneous group communication | |
Mihalcea et al. | Resource friendly Ibis | |
Krishnamurthy | Distributed reliable multicast protocol for the SOME-Bus network | |
CN102970112A (zh) | 一种传输***数据的***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140305 |
|
WD01 | Invention patent application deemed withdrawn after publication |