[go: up one dir, main page]

CN1316783C - Data restoring method for application layer group broadcast - Google Patents

Data restoring method for application layer group broadcast Download PDF

Info

Publication number
CN1316783C
CN1316783C CNB2004100626026A CN200410062602A CN1316783C CN 1316783 C CN1316783 C CN 1316783C CN B2004100626026 A CNB2004100626026 A CN B2004100626026A CN 200410062602 A CN200410062602 A CN 200410062602A CN 1316783 C CN1316783 C CN 1316783C
Authority
CN
China
Prior art keywords
data
node
recovery
nodes
controlling packet
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
CNB2004100626026A
Other languages
Chinese (zh)
Other versions
CN1588862A (en
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.)
ZHEJIANG XUNBO INFORMATION ENGINEERING Co Ltd
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2004100626026A priority Critical patent/CN1316783C/en
Publication of CN1588862A publication Critical patent/CN1588862A/en
Application granted granted Critical
Publication of CN1316783C publication Critical patent/CN1316783C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及数据通信技术领域,特别是用于应用层组播的数据恢复方法。1)利用现有的应用层组播协议,在群组通信的终端主机中构造数据发送树;2)确定需要发送的寻找数据恢复点的控制包的格式;3)修改应用层组播协议,使每个节点能够发送并处理寻找数据恢复点的控制包以及对数据恢复点认证和选择的控制包;4)修改应用层组播协议,使每个节点在检测到分组丢失后,向数据恢复点发送请求,并接收恢复数据。本发明通过在发送树中为每个成员寻找潜在节点作为数据恢复点,并在出现数据丢失的情况下利用恢复点向组成员提供恢复数据而做到避免数据丢失,提高传输可靠性的目的。本发明适合在利用应用层或终端主机进行组播数据传输服务的应用中实现。

Figure 200410062602

The invention relates to the technical field of data communication, in particular to a data recovery method for application layer multicast. 1) Utilize the existing application layer multicast protocol to construct a data transmission tree in the terminal host of group communication; 2) determine the format of the control packet that needs to be sent to find the data recovery point; 3) modify the application layer multicast protocol, Enable each node to send and process the control packet for data recovery point and the control packet for data recovery point authentication and selection; 4) Modify the application layer multicast protocol so that each node sends data recovery data to the data recovery point after detecting packet loss. Click Send Request and receive recovery data. The invention avoids data loss and improves transmission reliability by finding potential nodes for each member in the sending tree as data recovery points, and using the recovery points to provide recovery data to group members in the event of data loss. The present invention is suitable to be realized in the application that utilizes the application layer or the terminal host to perform multicast data transmission service.

Figure 200410062602

Description

一种用于应用层组播的数据恢复方法A data recovery method for application layer multicast

技术领域technical field

本发明涉及数据通信技术领域,特别是一种用于应用层组播的数据恢复方法。The invention relates to the technical field of data communication, in particular to a data recovery method for application layer multicast.

背景技术Background technique

在下一代互联网上提供群组通信服务是网络发展的必然趋势,这方面的应用包括视频/音频会议,远程教育,网络电视,网络游戏等等。最先提出的IP(Intemet Protocol)组播技术虽然能够降低数据发送源的负荷,有效利用网络资源,但由于需要路由器为每个组播地址保存状态,没有良好的传输控制机制而无法在网络中大规模配置。应用层组播利用终端主机来支持群组通信,把组播成员的管理,组播数据的复制等相关功能都放在应用层或终端主机来完成。已有路由器不用做任何变动,而且可以利用现有的TCP(Transmission Control Protocol)或UDP(User DatagramProtocol)传输数据,便于部署与实施,因此很有可能成为未来群组通信技术的标准。Providing group communication services on the next generation Internet is an inevitable trend of network development. Applications in this area include video/audio conferencing, distance education, Internet TV, online games and so on. Although the first proposed IP (Internet Protocol) multicast technology can reduce the load of the data sending source and effectively utilize network resources, it cannot be distributed in the network because the router needs to save the state for each multicast address, and there is no good transmission control mechanism. Large-scale configuration. The application layer multicast uses the terminal host to support group communication, and puts the management of multicast members, the replication of multicast data and other related functions at the application layer or the terminal host to complete. Existing routers do not need to make any changes, and can use the existing TCP (Transmission Control Protocol) or UDP (User Datagram Protocol) to transmit data, which is easy to deploy and implement, so it is likely to become the standard of future group communication technology.

然而应用层组播也有一些问题有待解决,其中最大的问题在于应用层组播拓扑变化非常频繁,任何组成员加入或离开组播组都会导致拓扑改变,从而影响到组播数据的传输,特别当组成员因为系统崩溃而脱离组播组时,会导致其它成员丢失组播数据,因此如何向组成员提供恢复数据就成为应用层组播中一个亟待解决的问题。目前已提出的应用层组播协议没有能很好的解决这方面的问题。However, there are still some problems to be solved in application layer multicast. The biggest problem is that the topology of application layer multicast changes very frequently. When a group member leaves the multicast group due to a system crash, other members will lose multicast data. Therefore, how to provide recovery data to group members becomes an urgent problem to be solved in application layer multicast. The application-layer multicast protocols that have been proposed so far have not been able to solve this problem well.

发明内容Contents of the invention

本发明的目的在于提供一种用于应用层组播的数据恢复方法。步骤包括:The purpose of the present invention is to provide a data recovery method for application layer multicast. Steps include:

通过在数据发送期间,为每一个组成员寻找可能的数据恢复点,对找到的可能的数据恢复点进行鉴别并选择合适的数据恢复点,并在出现数据丢失的情况下,利用数据恢复点向丢失数据的组成员传送丢失数据,达到在网络中可靠传输数据的目的。By looking for possible data recovery points for each group member during data transmission, identifying the possible data recovery points found and selecting the appropriate data recovery point, and using the data recovery point to send data to the group in case of data loss. The group members with lost data transmit the lost data to achieve the purpose of reliable data transmission in the network.

为每个组成员寻找可能的数据恢复点,是一种在发送树中随机游走,每个节点产生一对随机数u和v,首先向靠近数据源的方向走u跳,随后再向远离数据源的方向向下走v跳,向下游走的时候可以采取两种策略,从若干个孩子中随机选择一个作为下一跳节点,或者指定数据转发速度最慢的孩子作为下一跳节点。Finding possible data recovery points for each group member is a random walk in the sending tree, each node generates a pair of random numbers u and v, first walks u hops in the direction close to the data source, and then moves away The direction of the data source goes down v hops. When going downstream, two strategies can be adopted. Randomly select one of several children as the next hop node, or designate the child with the slowest data forwarding speed as the next hop node. .

对找到的节点进行鉴别并选择合适的数据恢复点,利用了全局唯一的应用层分组序号,根据请求节点与找到的节点接收数据的序号差来进行判断,只有当序号差大于零时,找到的节点才具备作为恢复节点的资格,而从若干个可作为恢复点的备选节点中选择出最终恢复点的方法,可根据不同业务的要求选取更合适的恢复点,对于文件传输业务,选择序号差最大的点,对于流媒体传输选择序号差最小的点。Identify the found nodes and select the appropriate data recovery point, using the globally unique application layer group number, and judge according to the difference in the number of the data received by the requesting node and the found node, only when the difference in the number is greater than zero, the found Nodes are qualified as recovery nodes, and the method of selecting the final recovery point from several candidate nodes that can be used as recovery points can select a more suitable recovery point according to the requirements of different services. For file transfer services, select the serial number The point with the largest difference, select the point with the smallest sequence number difference for streaming media transmission.

在出现数据丢失的情况下利用数据恢复点向丢失数据的组成员传送丢失数据,可采用两种不同的数据恢复策略,如果需要减少网络中出现的冗余数据,则可以只让失效节点的孩子节点进行数据恢复,并由这些节点向其他受影响的节点传输恢复数据,而如果要加快恢复数据的速度并提高恢复数据In the case of data loss, use the data recovery point to transmit the lost data to the group members who lost the data. Two different data recovery strategies can be used. If you need to reduce the redundant data in the network, you can only let the children of the failed node Nodes perform data recovery, and these nodes transmit recovery data to other affected nodes, and if you want to speed up recovery data and improve recovery data

本发明建立在计算机组成的网络,是通过计算机网络,利用终端主机或应用层进行点对多点或多点对多点的群组通信的过程,发明中提到的组成员、节点都是计算机,发明是由这些计算机相互通信而完成的。发明提供一种用于应用层组播的数据恢复方法。目的是为了解决在应用层组播数据发送期间,当某些组成员失效而导致相关的其它组成员丢失数据的问题。它通过在数据传输期间,判断每个组成员在组内接收数据的进度,为每个组成员寻找适合的数据恢复点,并在感知到数据丢失后,迅速向数据恢复点发出请求,由数据恢复点提供恢复数据,从而解决应用层组播中出现的数据丢失问题。The present invention is established on a network composed of computers, and is a process of performing point-to-multipoint or multipoint-to-multipoint group communication by using a terminal host or an application layer through a computer network. The group members and nodes mentioned in the invention are all computer , the invention is accomplished by these computers communicating with each other. The invention provides a data recovery method for application layer multicast. The purpose is to solve the problem that other related group members lose data when some group members fail during the application layer multicast data transmission. During data transmission, it judges the progress of each group member receiving data in the group, finds a suitable data recovery point for each group member, and quickly sends a request to the data recovery point after sensing data loss. Recovery points provide recovery data, thereby solving the data loss problem that occurs in application layer multicast.

本发明通过在数据发送树中为每个成员寻找潜在节点作为数据恢复点,并在出现数据丢失的情况下利用恢复点向组成员提供恢复数据而做到避免数据丢失,提供传输可靠性的目的。本发明的特点是,每个组成员独立寻找潜在的数据恢复点,数据恢复点的能力通过应用层分组序号加以确认以增强寻找到数据恢复点的可能性,可根据不同应用的需求选择不同的数据恢复点,在出现数据丢失后,组成员能够独立从不同的恢复点得到恢复数据,最终达到有效恢复丢失数据的目的。The present invention finds a potential node for each member in the data transmission tree as a data recovery point, and uses the recovery point to provide recovery data to group members in the event of data loss, so as to avoid data loss and provide transmission reliability . The feature of the present invention is that each group member independently searches for a potential data recovery point, and the ability of the data recovery point is confirmed through the application layer group sequence number to enhance the possibility of finding the data recovery point, and different data recovery points can be selected according to the needs of different applications. Data recovery point, after data loss occurs, group members can independently recover data from different recovery points, and finally achieve the purpose of effectively recovering lost data.

技术方案Technical solutions

为了进一步阐述本发明的创新之处,首先介绍与本发明有关的基本概念。参与群组通信的成员需要利用应用层组播协议构造一个数据发送树以进行数据发送,数据源为根节点。每个发送树上的节点(组成员)有一个父节点和零到多个孩子节点。没有孩子节点的节点称作叶节点。每个节点从父节点那里接收数据源发送的数据并把数据随后转发给孩子节点。在图1(a、b、c)中,pm是m的父节点,pn是n的父节点,而m和n分别是pm和pn的孩子节点,m和n都是叶节点。树中的节点按照它在发明中角色的不同,可做如下划分。能够向其他节点提供丢失数据的节点称作恢复节点,恢复节点需要具有空余度数。寻找恢复节点的节点称作请求节点,寻找过程中遇到的节点为中间节点,而有可能当作恢复节点的节点称作备选节点。在图1(a、b、c)中,m是请求节点,pm和pn都是中间节点,o和n是备选节点,n是恢复节点。In order to further illustrate the innovation of the present invention, the basic concepts related to the present invention are firstly introduced. Members participating in group communication need to use the application layer multicast protocol to construct a data transmission tree for data transmission, and the data source is the root node. Each node (group member) on the sending tree has a parent node and zero to many child nodes. Nodes that have no children are called leaf nodes. Each node receives the data sent by the data source from the parent node and then forwards the data to the child nodes. In Figure 1 (a, b, c), pm is the parent node of m, pn is the parent node of n, and m and n are the child nodes of pm and pn respectively, and both m and n are leaf nodes. The nodes in the tree can be divided as follows according to their different roles in the invention. A node that can provide lost data to other nodes is called a recovery node, and the recovery node needs to have a spare degree. The nodes looking for recovery nodes are called request nodes, the nodes encountered during the search process are intermediate nodes, and the nodes that may be used as recovery nodes are called candidate nodes. In Figure 1 (a, b, c), m is the request node, pm and pn are intermediate nodes, o and n are candidate nodes, and n is the recovery node.

数据源发送的分组具有应用层分组序号,能够在整个组内唯一标识一个分组。可以根据节点正在接收分组的应用层序号判断节点接收数据的进度(快慢)。The packet sent by the data source has an application layer packet sequence number, which can uniquely identify a packet in the entire group. The progress (speed) of the node receiving data can be judged according to the application layer sequence number of the node receiving the packet.

具体方案:specific plan:

1)利用现有的应用层组播协议,在需要进行群组通信的终端主机中构造数据发送树;1) Utilize the existing application layer multicast protocol to construct a data transmission tree in the terminal hosts that need to perform group communication;

2)确定需要发送的寻找数据恢复点的控制包的格式,以及对数据恢复点进行认证和选择的控制包的格式;2) Determine the format of the control packet that needs to be sent to find the data recovery point, and the format of the control packet that authenticates and selects the data recovery point;

3)修改应用层组播协议,使每个节点能够发送并处理寻找数据恢复点的控制包以及对数据恢复点进行认证和选择的控制包;3) Modify the application layer multicast protocol, so that each node can send and process the control packets for finding data recovery points and the control packets for authenticating and selecting data recovery points;

4)修改应用层组播协议,使每个节点在检测到分组丢失后,可以向数据恢复点发送请求,并接收恢复数据。4) Modify the application layer multicast protocol so that each node can send a request to the data recovery point and receive the recovery data after detecting the packet loss.

本发明的具体方法步骤如下:Concrete method steps of the present invention are as follows:

作为一个请求节点需要执行的步骤为:The steps to be performed as a requesting node are:

1)请求节点m生成格式为类型1的控制包,将此控制包发送给父节点;类型1的控制包的包含一对随机数(u,v);u表示从该节点顺着发送树向上(靠近数据源)需要经过的跳数,而v表示在经过u步回溯后,开始向下(远离数据源)经过的跳数。1) Request node m to generate a control packet in the format of type 1, and send the control packet to the parent node; the control packet of type 1 contains a pair of random numbers (u, v); u means to go up from the node along the sending tree (closer to the data source) the number of hops that need to be passed, and v represents the number of hops that start to go downward (away from the data source) after the u-step backtracking.

2)m收到类型2的控制包后,发送类型为3的控制包,类型3控制包的特点是携带当前时刻m收到的来自数据源的应用层分组序号seq1;2) After m receives the control packet of type 2, it sends a control packet of type 3. The characteristic of the type 3 control packet is that it carries the application layer packet sequence number seq1 received by m from the data source at the current moment;

3)m收到来自不同节点反馈的类型4的控制包后从中选择最适合的节点作为m的数据恢复节点;有两种选择恢复节点的策略,第一,选择序号差seq1-seq2最大的节点作为恢复节点,这样选择的恢复节点向m提供恢复数据的能力最强,适合于文件传输;第二,选择序号差seq1-seq2最小的节点最为恢复节点,这样选择的恢复节点提供恢复数据的时延最短,适合于流媒体传输;3) After m receives the control packets of type 4 fed back from different nodes, select the most suitable node as the data recovery node for m; there are two strategies for selecting the recovery node. First, select the node with the largest sequence number difference seq1-seq2 As a recovery node, the recovery node selected in this way has the strongest ability to provide recovery data to m, which is suitable for file transmission; secondly, the node with the smallest sequence number difference seq1-seq2 is selected as the recovery node, and the recovery node selected in this way provides recovery data when The shortest delay is suitable for streaming media transmission;

4)选定n作为恢复节点,m向n发送心跳消息以确保n在发送树中并且有能力作为m的恢复节点;4) Select n as the recovery node, and m sends a heartbeat message to n to ensure that n is in the sending tree and has the ability to be the recovery node of m;

5)如果m没有从任何节点收到类型4的控制包,或者在一段时间内没有收到恢复节点n发送的心跳消息,m从步骤2重新开始;5) If m does not receive a type 4 control packet from any node, or does not receive a heartbeat message sent by the recovery node n within a period of time, m restarts from step 2;

6)当m感知到数据丢失后,启动数据恢复机制;数据恢复机制有两种策略,如果期望减少网络中出现的冗余数据,那么执行步骤7,如果期望有更多的节点得到恢复数据,那么执行步骤8;6) When m perceives the data loss, start the data recovery mechanism; the data recovery mechanism has two strategies, if you expect to reduce the redundant data in the network, then perform step 7, if you expect more nodes to get the restored data, Then perform step 8;

7)节点m检查它的父结点是否正常工作,如果它的父结点正常工作,则m不启动数据恢复机制。整个发送树中只有崩溃节点的孩子节点执行数据恢复机制,它们向各自的恢复节点发送恢复请求,请求节点收到恢复数据后,向孩子节点转发恢复数据;7) Node m checks whether its parent node works normally, if its parent node works normally, then m does not start the data recovery mechanism. In the entire sending tree, only the child nodes of the crashed node implement the data recovery mechanism. They send recovery requests to their respective recovery nodes. After receiving the recovery data, the requesting node forwards the recovery data to the child nodes;

8)每个感知到数据丢失的节点分别启动数据恢复机制,向各自的恢复节点请求数据。请求节点收到恢复数据后,向孩子节点转发恢复数据,如果某个节点从它的父结点收到重复的恢复数据,则向父节点发送抑制消息,父节点收到抑制消息后,不再向子节点转发恢复数据。作为一个中间节点需要执行的步骤为:8) Each node that perceives the data loss starts the data recovery mechanism separately, and requests data from the respective recovery nodes. After the request node receives the recovery data, it forwards the recovery data to the child node. If a node receives duplicate recovery data from its parent node, it sends a suppression message to the parent node. After the parent node receives the suppression message, it no longer Forward recovery data to child nodes. The steps to be performed as an intermediate node are:

1)利用应用层分组序号追踪它的孩子节点接收数据的进度,记录接收数据最慢的孩子节点;1) Use the application layer group number to track the progress of its child nodes receiving data, and record the slowest child node receiving data;

2)收到类型1的控制包后,进行如下判断:如果u>0,并且本节点不是根节点,那么u减一,把控制包转发给父节点;如果u=0或者本节点已经是根节点,那么u=0,把控制包发送给孩子节点;如果u=0,v>0,并且本节点不是叶节点,那么v减一,把控制包转发给孩子节点;如果u=0,v=0或者本节点已经是叶子节点,那么v等于0,控制包转发工作结束,到达节点n。向孩子节点转发控制包有两种策略,一种策略是随机方式,即从所有孩子节点中随机选择一个,作为控制包转发的下一跳节点,另外一种方式则是把控制包转发给步骤1中记录的最慢的孩子节点;作为一个备选节点需要执行的步骤为:2) After receiving the control packet of type 1, make the following judgment: if u>0, and this node is not the root node, then u is reduced by one, and the control packet is forwarded to the parent node; if u=0 or this node is already the root node node, then u=0, send the control packet to the child node; if u=0, v>0, and this node is not a leaf node, then v minus one, and forward the control packet to the child node; if u=0, v = 0 or this node is already a leaf node, then v is equal to 0, and the forwarding work of the control packet is completed and reaches node n. There are two strategies for forwarding control packets to child nodes. One strategy is a random method, that is, randomly select one of all child nodes as the next hop node for control packet forwarding. The other method is to forward the control packet to the step The slowest child node recorded in 1; the steps to be performed as a candidate node are:

1)备选节点检查它是否具备作为数据恢复点的必要条件,即它是否有空余度数以连接新的节点。如果没有空余度数,那么节点不再作任何工作,如果有,节点需要向m发送格式为类型2的控制包,类型2的控制包包含备选节点的地址;1) The candidate node checks whether it has the necessary conditions as a data recovery point, that is, whether it has spare degrees to connect to a new node. If there is no spare degree, the node will no longer do any work. If there is, the node needs to send a type 2 control packet to m, and the type 2 control packet contains the address of the candidate node;

2)备选节点收到类型3的控制包后,比较它从数据源收到的分组序号seq2与seq1的关系,如果seq2<seq1,那么备选节点向m发送类型为4的控制包,否则备选节点不做任何事,类型4控制包包含分组序号差seq1-seq2;作为一个恢复节点需要执行的步骤为:2) After the candidate node receives the control packet of type 3, it compares the relationship between the packet sequence number seq2 and seq1 it received from the data source, if seq2<seq1, then the candidate node sends a control packet of type 4 to m, otherwise The candidate node does not do anything, and the type 4 control packet contains the packet sequence number difference seq1-seq2; the steps to be performed as a recovery node are:

1)向请求节点发送心跳消息;1) Send a heartbeat message to the requesting node;

2)收到请求节点的数据恢复请求后,向请求节点发送恢复数据;2) After receiving the data recovery request from the requesting node, send the recovery data to the requesting node;

本发明具有以下几个优点:首先极大的减轻了当网络中某个组成员崩溃,而导致的后代组成员丢失数据的问题。其次,数据恢复的任务由发送树中众多节点承担,避免了所有丢失数据的组成员一起向数据源请求恢复数据,造成数据源负荷太大且网络拥塞的问题,第三丢失数据的组成员能够独立从不同的恢复节点得到恢复数据,从而解决了丢失数据相关性问题,加快了丢失数据恢复的速度。最后,算法采用不同的数据恢复策略,可满足不同应用在数据恢复方面的不同要求。The present invention has the following advantages: first, it greatly alleviates the problem of data loss of descendant group members caused by the collapse of a certain group member in the network. Secondly, the task of data recovery is undertaken by many nodes in the sending tree, which prevents all group members who lost data from requesting data recovery from the data source together, causing the problem of too much load on the data source and network congestion. The third group member who lost data can The recovered data is obtained independently from different recovery nodes, thereby solving the problem of lost data correlation and speeding up the recovery of lost data. Finally, the algorithm adopts different data recovery strategies, which can meet the different requirements of different applications in data recovery.

本发明涉及到利用终端主机或应用层提供组播数据传输服务,是一种提高应用层组播数据传输可靠性的方法。本发明适合在利用应用层或终端主机进行组播数据传输服务的应用中实现。The invention relates to using terminal host or application layer to provide multicast data transmission service, and is a method for improving the reliability of application layer multicast data transmission. The present invention is suitable to be realized in the application that utilizes the application layer or the terminal host to perform multicast data transmission service.

附图说明Description of drawings

图1示意节点m寻找恢复点n并在丢失数据的情况下进行数据恢复的过程图。Fig. 1 shows the process diagram of node m looking for recovery point n and recovering data in the case of data loss.

图1a示意发送树中的节点m,发送随机游走控制包的过程图。Fig. 1a shows the process diagram of sending random walk control packets to node m in the sending tree.

图1b示意节点m利用应用层分组序号对节点n和节点o进行资格认证的过程图。Fig. 1b is a diagram illustrating the process of node m performing qualification authentication on node n and node o by using the application layer packet sequence number.

图1c示意节点m的父结点失效后,m利用n进行数据恢复的过程图。Figure 1c shows the process diagram of data recovery by m using n after the parent node of node m fails.

图2示意了发明中不同角色的节点需要执行的步骤。Figure 2 illustrates the steps that nodes with different roles need to execute in the invention.

具体实施方式Detailed ways

图1示意发送树中的节点m,利用本发明中的方法进行恢复点寻找以及数据恢复的全过程图Fig. 1 schematically shows the node m in the sending tree, and uses the method in the present invention to search for the recovery point and the whole process diagram of data recovery

图1a表示节点m利用随机游走策略寻找可能的恢复节点n的过程,节点m发送随机游走控制包(u=2,v=2),到达节点o,发送随机游走控制包(u=2,v=3),到达节点n。Figure 1a shows the process of node m using the random walk strategy to find a possible recovery node n. Node m sends a random walk control packet (u=2, v=2), reaches node o, and sends a random walk control packet (u= 2, v=3), reach node n.

图1b表示节点m利用应用层分组序号对节点o和节点n进行资格认证的过程,即节点m确认哪个节点能够作为数据恢复点,最终选择的数据恢复点为n。Figure 1b shows the process of node m using the application layer group number to authenticate node o and node n, that is, node m confirms which node can be used as the data recovery point, and finally selects the data recovery point as n.

图1c表示节点m的父节点失效后,m利用n进行数据恢复的过程。Figure 1c shows the process of data recovery by m using n after the parent node of node m fails.

图2说明了发明中不同角色的节点,请求节点,中间节点,被选节点,恢复节点的工作流程。Figure 2 illustrates the workflow of nodes with different roles in the invention, request nodes, intermediate nodes, selected nodes, and recovery nodes.

本发明是一种提高应用层组播数据传输可靠性的方法。本发明通过在发送树中为每个成员寻找潜在节点作为数据恢复点,并在出现数据丢失的情况下利用恢复点向组成员提供恢复数据而做到避免数据丢失,提高传输可靠性的目的。本发明适合在利用应用层或终端主机进行组播数据传输服务的应用中实现。The invention is a method for improving the reliability of multicast data transmission at the application layer. The invention avoids data loss and improves transmission reliability by finding potential nodes for each member in the sending tree as data recovery points, and using the recovery points to provide recovery data to group members in the event of data loss. The present invention is suitable to be realized in the application that utilizes the application layer or the terminal host to perform multicast data transmission service.

Claims (6)

1, a kind of method of the business that adopts end host to carry out group communication being carried out the data recovery, step comprises: during sending in data, for each group membership seeks possible data recovery point, the possible data recovery point that finds is carried out discriminated union select the suitable data recovery point, and occurring under the situation of loss of data, utilize the data recovery point to transmit obliterated data, reach the purpose of reliable transmitting data in network to the group membership of obliterated data;
Describedly seek possible data recovery point for each group membership, it is a kind of mode of random walk in sending tree, each node produces pair of random numbers u and v, at first jump to walking u near the direction of data source, jump to the v that is directed downwards away more subsequently away from data source, can take two kinds of strategies in the time of migration downwards, select one at random as next-hop node from several children, perhaps the slowest child of specific data forwarding speed is as next-hop node;
Describedly the node that finds is carried out discriminated union select the suitable data recovery point, utilized overall unique application layer packet sequence number, judge according to requesting node and the sequence number difference that the node that finds receives data, have only when the sequence number difference greater than zero the time, the node that finds just possesses the qualification as recovery nodes, and from can be used as the alternative node of recovery point, several select the method for final recovery point, can choose more suitably recovery point according to the requirement of different business, for the file transfer business, select the point of sequence number difference maximum, the point of sequence number difference minimum is selected in transmission for Streaming Media;
Describedly occurring utilizing the data recovery point to transmit obliterated data under the situation of loss of data to the group membership of obliterated data, can adopt two kinds of different data recovery policies, reduce the redundant data that occurs in the network if desired, then can only allow the child nodes of failure node carry out the data recovery, and by these nodes to other affected nodes transmission restore data, and if accelerate the speed of restore data and improve the probability of restore data, then can allow each affected node independently carry out the data recovery.
2, the method that the business that adopts end host to carry out group communication is carried out the data recovery according to claim 1, its step is as follows:
1) utilizes existing application layer multicast protocol, carry out at needs that construction data sends tree in the end host of group communication;
2) form of the controlling packet of the searching data recovery point that determine to need sends, and the form of the controlling packet that the data recovery point is authenticated and selects;
3) revise the application layer multicast agreement, make each node can send and handle the controlling packet of seeking the data recovery point and the controlling packet that the data recovery point is authenticated and selects;
4) revise the application layer multicast agreement, make each node after detecting packet loss, can send request, and receive restore data to the data recovery point.
3, the method that the business that adopts end host to carry out group communication is carried out the data recovery according to claim 1, the step that need carry out as a requesting node is:
1) requesting node m generation form is the controlling packet of Class1, and this controlling packet is sent to father node; The controlling packet of Class1 comprise pair of random numbers (u, v);
2) after m received the controlling packet of type 2, transmission types was 3 controlling packet, and the characteristics of type 3 controlling packet are to carry the application layer packet sequence number seq1 from data source that current time m receives;
3) m receives from the data recovery nodes of therefrom selecting optimal node as m after the controlling packet of different node type of feedback 4;
4) selected n is as recovery nodes, and m sends heartbeat message to n and sending in the tree and capable recovery nodes as m to guarantee n;
5) if m does not receive the controlling packet of type 4 from any node, perhaps in a period of time, do not receive the heartbeat message that recovery nodes n sends, m restarts from step 2;
6) after m perceives loss of data, the log-on data Restoration Mechanism; Time data recovery mechanism has two kinds of strategies, if expectation reduces the redundant data that occurs in the network, execution in step 7 so, if expect to have the more node data that are restored, execution in step 8 so;
7) if the node m father node operate as normal whether of checking it is its father node operate as normal, then m log-on data Restoration Mechanism not; Otherwise node is carried out time data recovery mechanism, to recovery nodes transmission recovery request separately, after requesting node is received restore data, transmits restore data to child nodes;
8) each perceives the node difference log-on data Restoration Mechanism of loss of data, to recovery nodes request msg separately, after requesting node is received restore data, transmit restore data to child nodes, if certain node is received the restore data of repetition from its father node, then send to father node and suppress message, father node is no longer transmitted restore data to child node after receiving and suppressing message.
4, the method that the business that adopts end host to carry out group communication is carried out the data recovery according to claim 1, the step that need carry out as an intermediate node is:
1) child nodes of utilizing the application layer packet sequence number to follow the trail of it receives the progress of data, the child nodes that the recorder data are the slowest;
2) receive the controlling packet of Class1 after, make the following judgment: if u>0, and this node is not root node, and u subtracts one so, and controlling packet is transmitted to father node; If u=0 or this node have been root nodes, u=0 sends to child nodes to controlling packet so; If u=0, v>0, and this node is not leaf node, v subtracts one so, and controlling packet is transmitted to child nodes; If u=0, v=0 or this node have been leaf nodes, v equals 0 so, controlling packet is transmitted end-of-job, arrives node n, transmits control to child nodes and is surrounded by two kinds of strategies, a kind of strategy is a random fashion, promptly select one at random from all child nodes, as the next-hop node that controlling packet is transmitted, another mode then is the slowest child nodes that controlling packet is transmitted to record in the step 1.
5, the method that the business that adopts end host to carry out group communication is carried out the data recovery according to claim 1, the step that need carry out as an alternative node is:
1) alternative node inspection it whether possess necessary condition as the data recovery point, be whether it is free remaining number to connect new node, if there are not the vacant number of degrees, node does not remake any work so, if have, node need send the controlling packet that form is a type 2 to m, and the controlling packet of type 2 comprises alternative address of node;
2) after alternative node is received the controlling packet of type 3, relatively its grouping serial number seq2 that receives from data source and the relation of seq1, if seq2<seq1, so alternative node is 4 controlling packet to the m transmission types, otherwise alternative node is not done anything, and type 4 controlling packet comprise grouping serial number difference seq1-seq2.
6, the method that the business that adopts end host to carry out group communication is carried out the data recovery according to claim 1, the step that need carry out as a recovery nodes is:
1) sends heartbeat message to requesting node;
2) receive the data recovery request of requesting node after, send restore data to requesting node.
CNB2004100626026A 2004-06-30 2004-06-30 Data restoring method for application layer group broadcast Expired - Fee Related CN1316783C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100626026A CN1316783C (en) 2004-06-30 2004-06-30 Data restoring method for application layer group broadcast

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100626026A CN1316783C (en) 2004-06-30 2004-06-30 Data restoring method for application layer group broadcast

Publications (2)

Publication Number Publication Date
CN1588862A CN1588862A (en) 2005-03-02
CN1316783C true CN1316783C (en) 2007-05-16

Family

ID=34603736

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100626026A Expired - Fee Related CN1316783C (en) 2004-06-30 2004-06-30 Data restoring method for application layer group broadcast

Country Status (1)

Country Link
CN (1) CN1316783C (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100396161C (en) * 2006-03-10 2008-06-18 华为技术有限公司 A method for realizing broadcast multicast service in mobile communication system
CN101192959B (en) * 2006-11-28 2011-04-20 中兴通讯股份有限公司 Method for recovering multicast service connection of automatic switching optical network
KR101971623B1 (en) 2012-05-10 2019-04-23 삼성전자주식회사 Method for contents and user's interactions among multiple devices
CN103916822B (en) * 2014-04-11 2017-12-22 华中师范大学 The quick reorientation method and system of Mobile solution layer multicast
CN106169947A (en) * 2016-07-11 2016-11-30 美的集团股份有限公司 Data transmission method, the first equipment and the second equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120917A1 (en) * 2001-12-20 2003-06-26 Nec Corporation Application layer multicast system and intermediate node therefor
US6735201B1 (en) * 1998-10-07 2004-05-11 Cisco Technology, Inc. Efficient network multicast switching apparatus and methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735201B1 (en) * 1998-10-07 2004-05-11 Cisco Technology, Inc. Efficient network multicast switching apparatus and methods
US20030120917A1 (en) * 2001-12-20 2003-06-26 Nec Corporation Application layer multicast system and intermediate node therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于层次结构的可靠组播协议的改进 常潘,张卫,计算机应用,第23卷第12期 2003 *

Also Published As

Publication number Publication date
CN1588862A (en) 2005-03-02

Similar Documents

Publication Publication Date Title
El-Sayed et al. A survey of proposals for an alternative group communication service
Banerjee et al. Scalable application layer multicast
Roca et al. A host-based multicast (HBM) solution for group communications
US9118691B2 (en) Content distribution with mutual anonymity
Gupta et al. An adaptive protocol for reliable multicast in mobile multi-hop radio networks
US8743881B2 (en) Link data transmission method, node and system
CN106656784B (en) Data stream propagation system and method for block chain network
US7920532B2 (en) Method and apparatus for providing distributed service composition model for ad hoc networks
JP2014519737A (en) Hitless switchover from active TCP application to standby TCP application
CN100440865C (en) Application Layer Multicast Method Combining Centralized and Distributed
Fei et al. A proactive tree recovery mechanism for resilient overlay multicast
CN1316783C (en) Data restoring method for application layer group broadcast
CN103944784A (en) Large-scale-cloud-data-center-oriented server cooperative monitoring method
CN101345678B (en) Multicast communication method, system and multicast communication equipment
US8605721B1 (en) Scalable island multicast for peer-to-peer media delivery
US7827243B2 (en) Method for transmitting file based on multiplex forwarder
Yamaguchi et al. An autonomous and decentralized protocol for delay sensitive overlay multicast tree
Qi et al. An improved sierpinski fractal based network architecture for edge computing datacenters
Jin et al. TCMM: hybrid overlay strategy for P2P live streaming services
Ripeanu et al. In search of simplicity: a self‐organizing group communication overlay
Kunichika et al. Application layer multicast with proactive route maintenance over redundant overlay trees
Zhang et al. Reliable end system multicasting with a heterogeneous overlay network
Said Accurate performance evaluation of internet multicast architectures: hierarchical and fully distributed vs. service-centric
Birrer et al. Resilient overlay multicast from the ground up
Adelstein et al. Building dynamic multicast trees in mobile networks

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
ASS Succession or assignment of patent right

Owner name: ZHEJIANG XUNBO INFORMATION ENGINEERING CO., LTD.

Free format text: FORMER OWNER: INSTITUTE OF COMPUTING TECHNOLOGY HINESE ACADEMY OF SCIENCES

Effective date: 20130105

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 HAIDIAN, BEIJING TO: 314300 HANGZHOU, ZHEJIANG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20130105

Address after: Hangzhou City, Zhejiang province Xiaoshan District 314300 City Center Road No. 72 Tianchen International Plaza 6

Patentee after: Zhejiang Xunbo Information Engineering Co., Ltd.

Address before: 100080 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

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

Granted publication date: 20070516

Termination date: 20150630

EXPY Termination of patent right or utility model