WO2012103724A1 - 一种进程组和进程组中的异常组成员离开的方法 - Google Patents

一种进程组和进程组中的异常组成员离开的方法 Download PDF

Info

Publication number
WO2012103724A1
WO2012103724A1 PCT/CN2011/076591 CN2011076591W WO2012103724A1 WO 2012103724 A1 WO2012103724 A1 WO 2012103724A1 CN 2011076591 W CN2011076591 W CN 2011076591W WO 2012103724 A1 WO2012103724 A1 WO 2012103724A1
Authority
WO
WIPO (PCT)
Prior art keywords
group
group member
sending
abnormal
receiving
Prior art date
Application number
PCT/CN2011/076591
Other languages
English (en)
French (fr)
Inventor
刘颖
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2011/076591 priority Critical patent/WO2012103724A1/zh
Priority to CN201180001042.1A priority patent/CN102318272B/zh
Publication of WO2012103724A1 publication Critical patent/WO2012103724A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership

Definitions

  • the present invention relates to an Internet Group Management Protocol in a network, and more particularly to a method for leaving an abnormal group member in a process group and a process group.
  • IGMP Internet Group Management Protocol
  • the Internet Protocol family that is used by hosts to report their group membership to any directly adjacent router.
  • Communication between members of a process group often requires high reliability.
  • the sending process member should quickly identify the abnormal receiving process member in the process group and cannot interrupt communication. After the abnormal receiving process member is restored, the sending process member should notify the abnormal process member that the data is invalid and needs to rejoin the process group to obtain new data.
  • the sending group member when a process group member abnormally exits the process group, the sending group member sends a process group query message to confirm the process group member. If the group member abnormality does not respond, the sending group member sends the abnormal group member from the process group. delete.
  • the inventor has found that at least the following problems exist in the prior art: After deleting an abnormal group member, after the abnormal process group member resumes communication, there is no mechanism to notify the abnormal group member that it has been deleted from the process group, and needs to rejoin the process group. Therefore, it can only send packets to the process group, and cannot receive packets from the process group members.
  • Embodiments of the present invention provide a method for leaving an abnormal group member in a process group and a process group, and can determine that a group member in the process group reliably leaves the process group.
  • the method embodiment of the abnormal group member in the process group of the present invention reliably leaves the following technical solution:
  • a method for leaving an abnormal group member in a process group including:
  • the sending group member deletes the abnormal group member from its own local group member topology; the sending group member sends a forced leaving message to notify the abnormal group member to leave the process after the abnormal group member resumes data communication The group, the abnormal group member leaves the process group after receiving the forced leaving message.
  • a process group including:
  • a member of the sending group configured to send a packet to the member of the receiving group, and perform an abnormality detection on the group member in the process group to determine the abnormality of the receiving group member. After determining the abnormal receiving member, the abnormality occurs.
  • the receiving group member deletes the abnormal receiving group member from the local group member topology of the sending group member; the sending group member sends a forced leaving message notification station after the abnormal receiving group member resumes data communication The receiving group member that has an abnormality leaves the process group;
  • the receiving group member is configured to receive the packet sent by the sending group member, and leave the process group after receiving the forced leaving message sent by the sending group member.
  • the sending group member sends the forced leaving after the abnormal group member resumes the data communication.
  • the message requests the abnormal group member to leave the process group, and the abnormal group member leaves the process group after receiving the forced leaving message.
  • the forced leaving message is received to know that it has been deleted.
  • the abnormal group member needs to send not only the packet to the group but also other group members in the process group. You should rejoin the process group when you come.
  • Figure 1 shows a flow of an embodiment of a method for reliably leaving a group member in a process group in the present invention.
  • FIG. 2 is a flowchart of determining a group member who has an abnormality in an embodiment of the present invention
  • FIG. 3 is a flowchart showing another embodiment of a method for reliably leaving a group member in a process group according to the present invention
  • FIG. 4 is a flow chart showing still another embodiment of a method for reliably leaving a group member in a process group of the present invention.
  • Embodiments of the present invention provide a method for leaving an abnormal group member in a process group. As shown in Figure 1, the method includes the following steps:
  • S 1 0 The sending group member performs an abnormality detection on the group members in the process group to which it belongs and determines the group member in which the abnormality occurs;
  • a process group consists of multiple processes. Each process in a process group receives a packet from a group of the process group. The process is a member of the process group. A group in the process group.
  • S 1 2 the sending group member deletes the abnormal group member from the local group member topology; the local group member topology of the group member in the process group covers the relationship between each group member in the process group, the process group Each group member in the group has a local group member topology.
  • the sending group member detects the abnormal group member, the sending group member deletes the abnormal group member from the local group member topology to update the local group member topology. Record the topology relationship between group members in the process group in real time;
  • S1 4 the sending group member sends a forced leaving message to notify the abnormal group member to leave the process group after the abnormal group member resumes data communication;
  • S 1 6 The abnormal group member leaves the process group after receiving the forced leaving message.
  • the method sends a forced leaving message to notify the abnormal group member to leave the process group to notify the abnormal group member that it has been deleted, and the abnormal group member receives Forced to leave the process group after leaving the message.
  • the forced leaving message is received to know that it has been deleted.
  • the abnormal group member needs to send not only the packet to the process group but also other group members in the process group. The incoming message should be rejoined to the process group.
  • the sending group member multicasts the data packet to the other group members.
  • the sending group member sends a forced leaving message to notify the abnormal group member to leave the process group after the abnormal group member resumes data communication, including: the abnormal group member After the data communication is resumed, the acknowledgment receiving message is sent back to the sending group member; optionally, the acknowledgment receiving message may carry the group member identifier of the abnormal group member;
  • the sending group member After receiving the acknowledgment message, the sending group member determines whether the abnormal group member is present in the local group member topology; optionally, the sending group member according to the acknowledgment receiving message carries the The member group identifier of the abnormal group member queries the local group member topology, and determines whether the abnormal group member exists in the local group member topology.
  • a forced leaving message is sent to the abnormal group member to notify the abnormal group member to leave the process group.
  • the method includes: the sending group member multicasting a kick-off member message in the process group, and other group members receiving the same After the kicking off the member message, the abnormal group member is correspondingly deleted from the respective local group member topology.
  • the abnormal group member leaves the other group member to notify the abnormal group member to leave the process group; after receiving the leaving message, the other group member receives the leaving message
  • the exception group members are deleted correspondingly from their respective local group member topologies.
  • the method includes: the sending group member starts a timer to record whether a data packet is sent to other group members within a predetermined time; if the data packet is not sent, the group members in the process group are different. Often.
  • the method for determining an abnormal group member includes:
  • Step 22 The sending group member multicasts the probe packet to other group members in the process group to which the group belongs, and requests the other group members to feed back the serial number of the data packet that has been received in order;
  • the sending group member When the sending group member multicasts data packets to other group members in the process group, the other group members feed back the serial number of the received data packet to the sending group member; the sending group member receives and records The smallest data message sequence number among the sequentially received data message sequence numbers fed back by the other group members;
  • Step 24 After receiving the probe packet, the other group member feeds back, to the sending component member, the serial number of the received data packet.
  • Step 26 The sending group member determines the sequence number of the smallest data packet from the data packet sequence number fed back by the other group members.
  • Step 28 The sending group member determines whether the minimum data packet sequence number is compared with the minimum data packet sequence number recorded before sending the probe packet.
  • Step 30 If there is no update, the group member that feeds back the sequence number of the smallest data packet is unicast and the probe packet is unicast;
  • Step 31 After receiving the probe packet, the group member that feeds the minimum data packet sequence number returns the sequence number of the received data packet to the sending group member again; if the feedback is minimum If the group member of the sequence number of the data packet is abnormal, the serial number of the data packet received in sequence is not fed back;
  • Step 32 After receiving the feedback data packet sequence number, the sending group member determines that the feedback data packet sequence number is compared with the minimum data packet sequence number recorded before the first sending of the probe packet. No update; if no feedback message is received within the detection time limit, it is determined that there is no update;
  • Step 34 If there is still no update, it is determined that the member of the feedback minimum data message sequence number is an abnormal group member.
  • New process members outside the process group join the process group with the following steps:
  • a new process member outside the process group requests the group member id (identification) of the process group from the global group member database. Obtain the current group member information, including the multicast address. If Layer 3 multicast is the multicast IP address, if it is Layer 2 multicast, it is the multicast MAC address.
  • the new process member outside the process group multicasts the join message in the process group, waiting for all members to respond to the ACK (acknowledge) message. If no ACK message is received within the specified time, the join process group fails and the join operation is rolled back. If all ACK messages are received, the new process members outside the process group construct a top member group topology.
  • the group members in the process group learn that a new process member joins the process group, and adds the new process member location and member id to the local group member topology.
  • a new process member outside the process group joins the process group, it becomes a member of the group in the process group. It can send multicast packets and receive multicast messages. That is, the group members in the process group can act as members of the sending group. Can act as a member of the receiving group.
  • the sending group member records the receiving status of other group members.
  • the recorded content includes: The serial number of the data packet and the receiving window size that the receiving group member has correctly received.
  • the receiving group member records the local receiving status of the packets sent by each sending group member, including the sequence of the largest data packet received in sequence for each sending group member, and the data received sequentially for each sending group member. Message queue.
  • the sending group member maintains a fixed-length sending queue during communication to avoid congestion.
  • the sending group member saves the sent data packet acknowledged by the group member to be received in the sending queue.
  • the receiving group member confirms the serial number of the successfully received data packet and the current remaining receiving window size by sending a feedback ACK message to the sending group member.
  • the sending group member updates the sending queue according to the ACK message fed back by the receiving group member, and updates the sending window size.
  • the sending group member can only fill up the sending queue at most. After the sending queue is filled, if the sending queue is not updated, the new data packet will not be sent any more. If there is an update, it can be based on the updated sending pair.
  • the column continues to send new data messages.
  • Receiving components carrying the minimum received sequence number in the ACK message fed back by the receiving group members Members are referred to as the weakest receiving group members.
  • the sending group member calculates the current weakest receiving group member every time receiving an ACK message fed back by the receiving group member and records the serial number of the data packet received by the current weakest receiving group member, so as to receive the weakest receiving current message.
  • the serial number of the data packet received by the group member replaces the serial number of the data packet of the weakest receiving group member in the previous feedback.
  • the sequence number of the data packet received by the member of the weakest receiving group (ie, the minimum receiving sequence number) is used as the clearing basis of the sending queue of the sending group member, that is, according to the sequence number of the data packet of the weakest receiving group member.
  • the corresponding message in the queue is controlled by the minimum receiving window size in the current receiving window size of the receiving group member.
  • the receiving group member advertises the lost data packet to the sending group member through the NACK message, and requests the sending group member to retransmit the lost data packet.
  • FIG. 3 is a specific flowchart of an embodiment of a method for reliably leaving a group member in a process group of the present invention. As shown in FIG. 3, the method includes the following steps:
  • Step 1 02 The sending group member starts the probe timer, and uses the probe timer to record the number of data packets it sends during the predetermined time.
  • Step 1 04 Determine whether the number of transmitted packets recorded in the predetermined time is 0. If not 0, step 105 is performed, that is, the sending group member resumes sending; if 0, it means that the sending group member does not send the message, the minimum sequence number is not updated, and the abnormal group member appears in the process group. In the case of step 106, the sending group member multicasts the probe packet to other group members, and requests other group members to respond to the serial number of the data packet that has been received in sequence.
  • Step 1 08 Determine whether the minimum sequence number is updated, that is, determine whether the minimum sequence number of the sequence numbers fed back by the receiving group member is the same as the minimum data packet sequence number recorded before the sending of the probe message, if the same It means no update, if it is different, it means there is an update.
  • step 105 is performed, that is, the sending group member resumes sending; if there is no update, step 1 1 0 is performed, that is, the sending group member unicasts the detecting message to the weakest receiving group member that feeds the smallest sequence number. Requesting the weakest receiving group member to reply to the sequence number of the data message that has been received in order.
  • Step 1 1 2 Re-determine whether the minimum sequence number is updated, that is, whether the received sequence number fed back by the weakest receiving group member is the same as the minimum data packet sequence number recorded before the detecting packet is sent, if the same It means no update, if it is different, it means there is an update. If there is an update, step 105 is performed, that is, the sending group member resumes sending; if there is no update, it indicates that the weakest receiving group member does not process the data packet, and the weakest receiving group member may hang or exit abnormally, in this case Step 114 is executed, that is, the sending group member deletes the weakest receiving group member from the local group member topology.
  • Step 118 After receiving the acknowledgement message, the sending group member determines that the member is not in the group member topology, and then sends a forced leaving message to the weakest receiving group member, requesting the weakest receiving group member to leave the process group.
  • Step 120 After receiving the forced leaving message, the weakest receiving group member knows that the member of the sending group has been deleted from the local group member topology, but the other receiving group members in the process group do not know the weakest receiving group. The member has been deleted by the sending group member. To ensure that the group members saved by all group members have the same topology, the weakest receiving group member sends a leaving message to notify other group members in the process group to leave the process group.
  • Step 122 After receiving the leaving message, the other group members in the process group correspondingly delete the weakest receiving group member from the respective local topology.
  • Step 124 The weakest receiving group member leaves the process group and releases the group member id to the group member database.
  • 4 is a detailed flow chart showing another embodiment of a method for reliably leaving a group member in a process group of the present invention.
  • Step 202 The sending group member starts a sounding timer to record the number of data packets that it sends within a predetermined time.
  • Step 204 Determine whether the number of data packets sent and recorded in the predetermined time is 0. If not 0, step 205 is performed, that is, the sending group member resumes sending; if 0, the sending queue maintained by the sending group member is not updated, and the weakest receiving group member may hang or exit abnormally. Step 206 is executed, that is, the sending group member multicasts the probe packet to other group members in the process group, and requests all group members in the process group to respond to the serialized data packet sequence number. Step 208: Determine whether the minimum data packet sequence number is updated, that is, determine whether the minimum data packet sequence number among the data packet sequence numbers fed back by the receiving group member is the smallest data packet sequence number recorded before the probe packet is sent. The same, if the same, it means no update, if it is different, it means there is an update.
  • step 205 is performed, that is, the sending group member resumes sending; if there is no update, step 21 0 is performed, that is, the sending group member unicasts the detecting packet to the weakest receiving group member, and requests the weakest receiving group member. Responds to the sequence number of the data message that has been received in order.
  • Step 212 It is determined again whether the minimum data message sequence number is updated, that is, it is determined again whether the data packet sequence number fed back by the weakest receiving group member is the same as the minimum data packet sequence number recorded before the first transmission of the probe message.
  • step 205 is performed, that is, the sending group member resumes sending; if there is no update, the weakest receiving group member does not process the data packet, and the group member may hang or exit abnormally.
  • step 230 is performed. That is, the sending group member deletes the weakest receiving group member from the local group member topology, and ensures that the group members saved by all group members in the process group have the same topology, and the multicast group carries the weakest receiving group member in the process group. The id kicks off the group member message.
  • Step 232 After receiving the kick-off group member message, the other group members in the process group correspondingly delete the weakest receiving group member from the respective local group member topology. If, as in step 234, the weakest receiving group member process resumes data communication and feeds back a confirmation message to the sending group member.
  • step 236 after receiving the confirmation message, the sending group member determines that there is no member in the group member topology, and then sends a forced leaving message to the weakest receiving group member, requesting the weakest receiving group member to leave the process group.
  • Step 238 After receiving the forced leaving message, the weakest receiving group member knows that the member of the sending group has been deleted from the local group member topology, leaves the process group, and releases the group member i d to the group member database.
  • the process group member leaves the process group with the following steps:
  • the process group member sends a leave message within the group, waiting for other group members to respond to leave the ACK message. If the leave ACK message fed back by all other group members is not received within the specified time, the leave message is retransmitted. Leave ACK message on feedback received by all other group members After the N-way leaving message is retransmitted at most, the process group member exits the process group.
  • an embodiment of the present invention further provides a process group, including:
  • a member of the sending group configured to send a packet to the member of the receiving group, and perform an abnormality detection on the group member in the process group to determine the abnormality of the receiving group member. After determining the abnormal receiving member, the abnormality occurs.
  • the receiving group member deletes the abnormal receiving group member from the local group member topology of the sending group member; the sending group member sends a forced leaving message notification station after the abnormal receiving group member resumes data communication The receiving group member that has an abnormality leaves the process group;
  • the receiving group member is configured to receive the packet sent by the sending group member, and leave the process group after receiving the forced leaving message sent by the sending group member.
  • the sending group member is further configured to: after deleting the abnormal receiving group member, multicast the kicking member message in the process group, where the kicking member message includes the abnormality Receive the identity of the group member.
  • the receiving group member is further configured to send a leaving message to other receiving group members before leaving the process group.
  • the sending group member After the data communication is resumed, the sending group member sends a forced leaving message.
  • the abnormal group member leaves the process group, and the abnormal group member leaves the process group after receiving the forced leaving message.
  • the forced leaving message is received to know that it has been deleted.
  • the abnormal group member needs to send not only the packet to the group but also other group members in the process group. The incoming message should be rejoined into the process group.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

一种进程组和进程组中的异常组成员离开的方法 技术领域
本发明涉及网络中的因特网组管理协议, 尤其涉及一种进程组和进 程组中的异常组成员离开的方法。
背景技术
组播是指在发送者和每一接收者之间实现点对多点网络连接传输。 因特网组管理协议(Int erne t Group Management Pro toco l , I GMP)是因特 网协议家族中的一个组播协议, 用于主机向任一个直接相邻的路由器报 告它们的组成员情况。 在集群路由器、 分布式路由器中存在大量的进程 间通信。 如果一份数据多个进程都关心, 让相关进程加入一个进程组, 釆用组播通信方式来进行通信以便节省连接和带宽等操作系统资源。
进程组成员间的通信对可靠性往往有较高要求, 对组播通信而言, 当接收进程成员异常时, 发送进程成员应较快判别进程组中的异常接收 进程成员, 不能中断通信。 当异常接收进程成员恢复后, 发送进程成员 应通知异常进程成员之前数据失效, 需要重新加入进程组以获取新的数 据。
在现有技术中, 当进程组成员异常退出进程组时, 发送组成员会发 送进程组查询消息来确认进程组成员, 如果组成员异常没有回应, 则发 送组成员把异常组成员从进程组中删除。 发明人发现在现有技术中至少存在如下问题: 在删除异常组成员之 后, 当异常进程组成员恢复通信后, 没有一种机制来通知异常组成员已 从进程组中删除, 需要重新加入进程组, 因而其只能往该进程组发送报 文, 无法收到进程组成员发来的报文。
发明内容
本发明的实施例提供一种进程组和进程组中的异常组成员离开的方 法, 能够确定进程组中的组成员可靠地离开进程组。 为达到上述目的, 本发明进程组中的异常组成员可靠离开的方法实 施例釆用如下技术方案: 一种进程组中的异常组成员离开的方法, 包括:
出现异常的组成员;
所述发送组成员从自身的本地组成员拓朴中删除所述异常组成员; 所述发送组成员在所述异常组成员恢复数据通信后发送强迫离开消 息通知所述异常组成员离开所述进程组, 所述异常组成员收到所述强迫离开消息后离开所述进程组。
一种进程组, 包括:
发送组成员, 用于向接收组成员发送报文, 并对进程组中的组成员 进行异常检测, 确定出现异常的接收组成员, 在确定出出现异常的接收 组成员后, 将所述出现异常的接收组成员从该发送组成员的本地组成员 拓朴中删除所述出现异常的接收组成员; 所述发送组成员在所述出现异 常的接收组成员恢复数据通信后发送强迫离开消息通知所述出现异常的 接收组成员离开所述进程组;
接收组成员, 用于接收发送组成员发送的报文, 并在接收到发送组 成员发送的所述强迫离开消息后, 离开进程组。 本发明实施例进程组和进程组中的异常组成员离开的方法, 在发送 组成员探测出异常组成员并将其删除后, 当所述异常组成员恢复数据通 信后, 发送组成员发送强迫离开消息要求所述异常组成员离开进程组, 所述异常组成员收到强迫离开消息之后离开进程组。 由于所述异常组成 员离开进程组时, 已收到强迫离开消息知道自身已被删除, 这样, 所述 异常组成员在不仅需要往组内发送报文而且需要收到进程组内其它组成 员发来的才艮文时应重新加入进程组。
附图说明 为了更清楚地说明本实用新型实施例或现有技术中的技术方案, 下 面将对实施例或现有技术描述中所需要使用的附图作简单地介绍, 显而 易见地, 下面描述中的附图仅仅是本实用新型的一些实施例, 对于本领 域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些 附图获得其他的附图。
图 1 所示为本发明中进程组中的组成员可靠离开的方法实施例的流 程图;
图 2所示为本发明实施例中确定出现异常的组成员的流程图; 图 3所示为本发明进程组中的组成员可靠离开的方法另一实施例的 流程图;
图 4所示为本发明进程组中的组成员可靠离开的方法又一实施例的 流程图。
具体实施方式 为更好的理解本发明且使本发明能够易于实施。 下面结合附图及具 体实施例对本发明进行详细描述。 本发明实施例提供一种进程组中的异常组成员离开的方法。 如图 1 所示,该方法包括以下步骤:
S 1 0 :发送组成员对自身所属进程组中的组成员进行异常检测并从中 确定出现异常的组成员;
进程组由多个进程组成, 进程组中的各个进程为此进程组的一个组 组中接收报文的进程即为进程组中的接收组成员, 当进程组中的某个组
S 1 2 : 所述发送组成员从本地组成员拓朴中删除所述异常组成员; 进程组中组成员的本地组成员拓朴涵盖进程组中的各个组成员之间 的相互关系, 进程组中的各个组成员都保存有本地组成员拓朴, 当发送 组成员检测出异常组成员后, 发送组成员即从本地组成员拓朴中删除所 述异常组成员以便更新本地组成员拓朴, 实时记录进程组中组成员之间 的拓朴关系;
S 1 4 :所述发送组成员在所述异常组成员恢复数据通信后发送强迫离 开消息通知所述异常组成员离开所述进程组;
S 1 6 : 所述异常组成员收到所述强迫离开消息后离开所述进程组。 本方法在异常组成员恢复后, 通过发送强迫离开消息通知异常组成 员离开所述进程组来告知异常组成员其已被删除, 所述异常组成员收到 强迫离开消息后可靠地离开进程组。 由于所述异常组成员离开进程组时, 已收到强迫离开消息知道自身已被删除, 这样, 所述异常组成员在不仅 需要往进程组内发送报文而且需要收到进程组内其它组成员发来的报文 时应重新加入进程组。
前, 发送组成员向其它组成员组播数据报文; 所述发送组成员在所述异常组成员恢复数据通信后发送强迫离开消 息通知所述异常组成员离开进程组包括: 所述异常组成员在恢复数据通信后向所述发送组成员反馈确认接收 消息; 可选地, 所述确认接收消息中可以携带所述异常组成员的组成员 标识;
所述发送组成员在接收到所述确认消息后, 判断在本地组成员拓朴 中有无所述异常组成员; 可选地, 所述发送组成员根据所述确认接收消 息中携带的所述异常组成员的组成员标识查询本地组成员拓朴, 判断在 本地组成员拓朴中有无所述异常组成员;
若在本地组成员拓朴中没有所述异常组成员, 则向所述异常组成员 发送强迫离开消息通知所述异常组成员离开进程组。
进一步地, 在所述发送组成员从本地组成员拓朴中删除所述异常组 成员之后包括: 所述发送组成员在所述进程组内组播踢除成员报文, 其 的其它组成员接收到所述踢除成员报文后从各自的本地组成员拓朴中相 应删除所述异常组成员。
更进一步地, 所述异常组成员收到所述强迫离开消息后离开所述进 通知所述其它组成员所述异常组成员离开所述进程组; 所述其它组成员 接收到所述离开消息后从各自的本地组成员拓朴中相应删除所述异常组 成员。 包括: 所述发送组成员启动定时器记录在预定时间内是否有向其它组成 员发送数据报文; 若未发送数据报文, 则所述进程组中的组成员出现异 常。
图 2 显示本发明实施例中确定出现异常的组成员的流程图。 如图 2 所示, 所述确定出现异常的组成员的方法包括:
步骤 22 : 发送组成员向自身所属的进程组内的其它组成员组播探测 报文, 请求所述其它组成员反馈已按序接收的数据报文序列号;
发送组成员向进程组内的其它组成员组播数据报文时, 所述其它组成员 会向所述发送组成员反馈已按序接收的数据报文序列号; 所述发送组成 员接收和记录所述其它组成员反馈的按序接收的数据报文序列号当中的 最小数据报文序列号;
步骤 24 : 所述其它组成员接收到所述探测报文后, 向所述发送组成 员反馈所述已按序接收到的数据报文序列号;
步骤 26 : 所述发送组成员收到所述其它组成员反馈的数据报文序列 号后从中确定最小数据报文序列号;
步骤 28 : 所述发送组成员判断所述最小数据报文序列号与发送所述 探测报文之前记录的最小数据报文序列号相比有无更新;
步骤 30: 若无更新, 向反馈所述最小数据报文序列号的组成员再单 播探测报文;
步骤 31 : 所述反馈最小数据报文序列号的组成员接收到所述探测报 文后, 再次向所述发送组成员反馈所述已按序接收的数据报文序列号; 如果所述反馈最小数据报文序列号的组成员已经异常, 则不会反馈所述 已按序接收的数据报文序列号;
步骤 32 : 所述发送组成员接收到所述反馈的数据报文序列号之后, 再次判断所述反馈的数据报文序列号与首次发送探测报文之前记录的最 小数据报文序列号相比有无更新; 如果在探测时限内没有收到反馈报文, 则判断为无更新;
步骤 34 : 若仍无更新, 则确定所述反馈最小数据报文序列号的组成 员为异常组成员。
下面结合图 3和图 4来完整描述本发明进程组中的异常组成员可靠 离开方法实施例的具体流程。
进程组外的新进程成员要和进程组中的组成员进行通信之前, 必须 首先加入进程组。 进程组外的新进程成员加入进程组有以下步骤:
1.进程组外的新进程成员向全局组成员数据库请求进程组的组成员 id (identification,身份标识)。 同时获取当前的组成员信息, 包括组播 地址, 如果是三层组播就是组播 IP地址, 如果是二层组播就是组播 MAC
( Media Access Control,介质访问控制 ) 地址, 成员位置和成员 id。
2. 进程组外的新进程成员在进程组内组播加入消息, 等待所有组成 员回应加入 ACK (acknowledge, 确认)消息。 如果在规定时间内没有收到 所有加入 ACK消息, 则加入进程组失败, 回退加入操作。 若收到所有加 入 ACK 消息, 则所述进程组外的新进程成员就构建了一张全体组成员拓 朴结构。
3.进程组内的组成员收到加入消息后, 获知有新进程成员加入进程 组, 把新进程成员位置和成员 id添加到本地组成员拓朴结构中。 进程组外的新进程成员加入进程组后即成为进程组内的组成员, 可 以发送组播才艮文也可以接收组播才艮文, 即进程组内的组成员既可以充当 发送组成员也可以充当接收组成员。 发送组成员记录其它组成员的接收 情况, 记录内容包含: 接收组成员已正确接收的数据报文序列号和接收 窗口大小。 接收组成员记录每个发送组成员发送的报文在本地的接收情 况, 包括针对每个发送组成员按序接收到的最大数据报文序列号, 针对 每个发送组成员按序接收到的数据报文队列。
发送组成员在通信过程中维护一个长度固定的发送队列以避免拥 塞, 发送组成员在发送队列中保存待接收组成员确认的已发送数据报文。 接收组成员收到发送组成员发来的数据报文后通过反馈 ACK 消息向发送 组成员确认已按序成功接收到的数据报文序列号和当前剩余的接收窗口 大小。 发送组成员根据接收组成员反馈的 ACK 消息, 更新发送队列, 更 新发送窗口大小。 在任何时刻发送组成员最多只能把发送队列填满, 在 发送队列填满后, 若发送队列没有更新,则不再发送新的数据报文, 若有 更新, 则可根据更新后的发送对列继续发送新的数据报文。
诸接收组成员所反馈的 ACK消息中携带最小接收序列号的接收组成 员称为最弱接收组成员。 在通信过程中, 发送组成员每收到接收组成员 反馈的一个 ACK 消息就计算当前的最弱接收组成员并记录当前最弱接收 组成员收到的数据报文序列号, 以当前最弱接收组成员收到的数据报文 序列号来替代上一次反馈中的最弱接收组成员的数据报文序列号。 同时 以当前最弱接收组成员收到的数据报文序列号(即最小接收序列号)作为 发送组成员的发送队列的清除依据, 即根据最弱接收组成员的数据报文 序列号来清除发送队列中的相应报文。 同时以接收组成员当前接收窗大 小中的最小接收窗大小控制发送组成员当前可发送的数据报文个数。 在 数据报文丟失的情况中, 接收组成员通过 NACK消息向发送组成员通告丟 失的数据报文, 要求发送组成员重传丟失的数据报文。
在进程通信出现异常时, 进程组中的组成员需要可靠离开进程组。 图 3所示为本发明进程组中的组成员可靠离开的方法实施例的具体 流程图。 如图 3所示, 该方法包括以下步骤:
步骤 1 02 : 发送组成员启动探测定时器, 用探测定时器来记录其在 预定时间内所发送的数据报文数。
步骤 1 04 : 判断在所述预定时间内所记录的发送报文数是否为 0。 若不为 0 , 则执行步骤 1 05 , 即所述发送组成员恢复发送; 若为 0 , 则表示发送组成员没有发送报文, 最小序列号无更新, 进程组内出现异 常组成员, 在此情况下执行步骤 1 06 , 即所述发送组成员向其它组成员组 播探测报文, 请求其它组成员应答已按序接收到的数据报文序列号。
步骤 1 08 : 判断最小序列号有无更新, 即判断接收组成员所反馈的 序列号当中的最小序列号与发送所述探测报文之前记录的最小数据报文 序列号相比是否相同, 若相同则表示无更新, 若不同则表示有更新。
若有更新, 则执行步骤 1 05 , 即所述发送组成员恢复发送; 若没有 更新, 则执行步骤 1 1 0 , 即发送组成员向反馈最小序列号的最弱接收组成 员单播探测报文, 请求最弱接收组成员应答已按序接收到的数据报文序 列号。
步骤 1 1 2 : 再次判断最小序列号有无更新, 即判断最弱接收组成员 所反馈的接收序列号与发送所述探测报文之前记录的最小数据报文序列 号相比是否相同, 若相同则表示无更新, 若不同则表示有更新。 若有更新, 则执行步骤 105, 即所述发送组成员恢复发送; 若没有 更新, 说明最弱接收组成员没有处理数据报文, 最弱接收组成员可能挂 起或异常退出, 在此情况下执行步骤 114, 即发送组成员把此最弱接收组 成员从本地组成员拓朴中删除。 如果之后如步骤 116最弱接收组成员恢复数据通信并向发送组成员 反馈确认消息。 步骤 118, 发送组成员在接收到确认消息之后, 判断组成员拓朴中 没有该成员, 于是向最弱接收组成员发送强迫离开消息, 要求最弱接收 组成员离开进程组。
步骤 120, 最弱接收组成员在接收到强迫离开消息之后, 知道自己 已被发送组成员从本地组成员拓朴中删除, 但此时进程组中的其他接收 组成员并不知道最弱接收组成员已经被发送组成员删除, 为了保证所有 组成员保存的组成员拓朴一致, 最弱接收组成员发送离开消息, 通知进 程组内其他组成员 自己要离开进程组。
步骤 122, 所述进程组内其他组成员接收到离开消息之后, 相应地 从各自的本地拓朴中删除此最弱接收组成员。
步骤 124, 最弱接收组成员离开进程组, 并向组成员数据库释放组 成员 id。 图 4所示为本发明进程组中的组成员可靠离开的方法的另一实施例 的具体流程图。
如图 4所示, 该方法包括以下步骤: 步骤 202: 发送组成员启动探测定时器记录在预定时间内其发送的 数据报文数。
步骤 204: 判断在所述预定时间内记录发送的数据报文数是否为 0。 若不为 0, 则执行步骤 205, 即所述发送组成员恢复发送; 若为 0, 则发送组成员所维护的发送队列没有更新, 最弱接收组成员可能挂起或 异常退出, 在此情况下执行步骤 206, 即所述发送组成员向进程组内其他 组成员组播探测报文, 请求进程组内所有组成员应答已按序接收到的数 据报文序列号。 步骤 208 : 判断最小数据报文序列号有无更新, 即判断接收组成员 所反馈的数据报文序列号当中的最小数据报文序列号是否与发送探测报 文之前记录的最小数据报文序列号相同, 若相同则表示无更新, 若不同 则表示有更新。
若有更新, 则执行步骤 205所述, 即发送组成员恢复发送; 若没有 更新, 则执行步骤 21 0 , 即发送组成员向最弱接收组成员单播探测报文, 请求最弱接收组成员应答已按序接收到的数据报文序列号。
步骤 212 : 再次判断最小数据报文序列号有无更新, 即再次判断最 弱接收组成员所反馈的数据报文序列号是否与首次发送探测报文之前记 录的最小数据报文序列号相同。
若有更新, 则执行步骤 205 , 即所述发送组成员恢复发送; 若没有 更新, 说明最弱接收组成员没有处理数据报文, 组成员可能挂起或异常 退出, 在此情况下执行步骤 230 , 即所述发送组成员从本地组成员拓朴中 删除最弱接收组成员, 同时为保证进程组内所有组成员保存的组成员拓 朴一致, 在进程组内组播携带最弱接收组成员 i d的踢除组成员报文。 步骤 232 , 进程组内的其他组成员接收到此踢除组成员报文后, 相 应地从各自的本地组成员拓朴中删除此最弱接收组成员。 如果之后如步骤 234 , 最弱接收组成员进程恢复数据通信并向发送 组成员反馈确认消息。
在步骤 236 , 发送组成员在接收到确认消息之后, 判断组成员拓朴 中没有该成员, 于是便向最弱接收组成员发送强迫离开消息, 要求最弱 接收组成员离开进程组。
步骤 238 , 最弱接收组成员接收到强迫离开消息之后, 知道自己已 被发送组成员从本地组成员拓朴中删除, 离开进程组并向组成员数据库 释放组成员 i d。
在上面方法中, 进程组成员离开进程组有以下步骤:
1.进程组成员在组内发送离开消息, 等待其他组成员响应离开 ACK 消息。 若在规定时间内没有收到所述所有其他组成员反馈的离开 ACK消 息, 则重传离开消息。 在收到所述所有其他组成员反馈的离开 ACK 消息 或最多重传了 N次离开消息之后, 所述进程组成员退出进程组。
3.组内其他成员收到所述离开消息后, 把等待离开的所述进程组成 员从各自的本地拓朴中删除。 不再处理离开的所述组成员发来的数据报 文或 ACK/NACK (nega t i ve acknowl edge , 未确认)控制报文。
另外, 本发明实施例还提供一种进程组, 包括:
发送组成员, 用于向接收组成员发送报文, 并对进程组中的组成员 进行异常检测, 确定出现异常的接收组成员, 在确定出出现异常的接收 组成员后, 将所述出现异常的接收组成员从该发送组成员的本地组成员 拓朴中删除所述出现异常的接收组成员; 所述发送组成员在所述出现异 常的接收组成员恢复数据通信后发送强迫离开消息通知所述出现异常的 接收组成员离开所述进程组;
接收组成员, 用于接收发送组成员发送的报文, 并在接收到发送组 成员发送的所述强迫离开消息后, 离开进程组。
进一步地, 所述发送组成员, 还用于在删除所述出现异常的接收组 成员之后, 在进程组内组播踢除成员报文, 其中所述踢除成员报文包括 所述出现异常的接收组成员的身份标识。
进一步地, 所述接收组成员, 还用于在离开进程组之前, 向其它接 收组成员发送离开消息。
恢复数据通信后, 发送组成员发送强迫离 消息 ί求 述异常组成员离 开进程组, 所述异常组成员收到强迫离开消息之后离开进程组。 由于所 述异常组成员离开进程组时, 已收到强迫离开消息知道自身已被删除, 这样, 所述异常组成员在不仅需要往组内发送报文而且需要收到进程组 内其它组成员发来的报文时应重新加入进程组。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部 分步骤是可以通过程序来指令相关的硬件完成, 所述的程序可以存储于 一种计算机可读存储介质中, 所述存储介质可以是只读存储器、 磁盘或 光盘等。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不 局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围 可轻易想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 发明的保护范围应以所述权利要求的保护范围为准。

Claims

权 利 要 求 书
1、 一种进程组中的异常组成员离开的方法, 其特征在于, 包括: 发送组成员对自身所属进程组中的组成员进行异常检测, 并从中确 定出现异常的组成员;
所述发送组成员从本地组成员拓朴中删除所述异常组成员; 所述发送组成员在所述异常组成员恢复数据通信后, 发送强迫离开 消息通知所述异常组成员离开所述进程组; 所述异常组成员收到所述强迫离开消息后离开所述进程组。
2、 如权利要求 1所述的方法, 其特征在于, 在所述发送组成员对进 程组中的组成员进行异常检测之前, 发送组成员向进程组中的其它组成 员组播数据报文; 所述发送组成员在所述异常组成员恢复数据通信后发送强迫离开消 息通知所述异常组成员离开进程组包括: 所述异常组成员在恢复数据通信后向所述发送组成员反馈确认接收 消息; 所述发送组成员在接收到所述确认消息后, 判断在本地组成员拓朴 中有无所述异常组成员; 若没有所述异常组成员, 则向所述异常组成员发送强迫离开消息, 通知所述异常组成员离开进程组。
3、 如权利要求 1所述的方法, 其特征在于, 在所述发送组成员从本 地组成员拓朴中删除所述异常组成员之后包括:
所述发送组成员在所述进程组内组播踢除成员报文, 其中所述踢除 成员报文包括所述异常组成员的组成员标识;
所述进程组内的其它组成员接收到所述踢除成员报文后, 从各自的 本地组成员拓朴中相应删除所述异常组成员。
4、 如权利要求 1所述的方法, 其特征在于, 在所述异常组成员收到 所述强迫离开消息后离开所述进程组之前包括: 所述异常组成员向其它组成员发送离开消息, 通知所述其它组成员 所述异常组成员离开所述进程组; 所述其它组成员接收到所述离开消息后从各自的本地组成员拓朴中 相应删除所述异常组成员。
5、 如权利要求 1所述的方法, 其特征在于, 所述发送组成员对进程 组中的组成员进行异常检测包括:
所述发送组成员记录在预定时间内是否有向其它组成员发送报文; 的所述其它组成员出现异常。
6、 如权利要求 5所述的方法, 其特征在于, 在发送组成员对进程组 中的组成员进行异常检测之前, 所述发送组成员向其它组成员组播数据 报文, 并接收和记录所述其它组成员反馈的按序接收的数据报文序列号 当中的最小数据报文序列号;
所述确定出现异常的组成员包括:
所述发送组成员向其它组成员组播探测报文, 请求所述其它组成员 反馈所述已按序接收的数据报文序列号;
所述其它组成员接收到所述探测报文后, 向所述发送组成员反馈所 述按序接收到的数据报文序列号;
所述发送组成员收到所述其它组成员反馈的数据报文序列号后从中 确定最小数据报文序列号;
所述发送组成员判断所述最小数据报文序列号与发送所述探测报文 之前记录的最小数据报文序列号相比有无更新;
若无更新, 则向反馈所述最小数据报文序列号的组成员单播探测报 文;
所述反馈最小数据报文序列号的组成员接收到单播的所述探测报文 后, 再次向所述发送组成员反馈所述按序接收的数据报文序列号; 如果 所述反馈最小数据报文序列号的组成员已经异常, 则不会反馈所述按序 接收的数据报文序列号;
所述发送组成员接收到所述反馈的数据报文序列号之后再次判断所 述反馈的按序接收的数据报文序列号与所述组播发送的探测报文之前记 录的最小数据报文序列号相比有无更新; 如果所述发送组成员在探测时 限内没有收到所述反馈的数据报文序列号, 则判断最小数据报文序列号 没有更新; 若仍无更新, 则确定所述反馈最小数据报文序列号的组成员为异常 组成员。
7、 一种进程组, 其特征在于, 包括:
发送组成员, 用于向接收组成员发送报文, 并对进程组中的组成员 进行异常检测, 确定出现异常的接收组成员, 在确定出出现异常的接收 组成员后, 将所述出现异常的接收组成员从该发送组成员的本地组成员 拓朴中删除所述出现异常的接收组成员; 所述发送组成员在所述出现异 常的接收组成员恢复数据通信后发送强迫离开消息通知所述出现异常的 接收组成员离开所述进程组;
接收组成员, 用于接收发送组成员发送的报文, 并在接收到发送组 成员发送的所述强迫离开消息后, 离开进程组。
8、 如权利要求 7所述的进程组, 其特征在于,
所述发送组成员, 还用于在删除所述出现异常的接收组成员之后, 在进程组内组播踢除成员报文, 其中所述踢除成员报文包括所述出现异 常的接收组成员的身份标识。
9、 如权利要求 7所述的进程组, 其特征在于,
所述接收组成员, 还用于在离开进程组之前, 向其它接收组成员发 送离开消息。
PCT/CN2011/076591 2011-06-29 2011-06-29 一种进程组和进程组中的异常组成员离开的方法 WO2012103724A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2011/076591 WO2012103724A1 (zh) 2011-06-29 2011-06-29 一种进程组和进程组中的异常组成员离开的方法
CN201180001042.1A CN102318272B (zh) 2011-06-29 2011-06-29 一种进程组中的异常组成员离开的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/076591 WO2012103724A1 (zh) 2011-06-29 2011-06-29 一种进程组和进程组中的异常组成员离开的方法

Publications (1)

Publication Number Publication Date
WO2012103724A1 true WO2012103724A1 (zh) 2012-08-09

Family

ID=45429431

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/076591 WO2012103724A1 (zh) 2011-06-29 2011-06-29 一种进程组和进程组中的异常组成员离开的方法

Country Status (2)

Country Link
CN (1) CN102318272B (zh)
WO (1) WO2012103724A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162706B (zh) * 2014-05-28 2018-07-31 华为技术有限公司 组播传输方法、装置及系统
CN108123811B (zh) * 2016-11-28 2021-06-08 迈普通信技术股份有限公司 Igmp代理设备、通信异常检测方法及切换方法
CN112468317A (zh) * 2020-11-05 2021-03-09 苏州浪潮智能科技有限公司 一种集群拓扑更新方法、系统、设备及计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852311A (zh) * 2005-12-19 2006-10-25 华为技术有限公司 Ip机顶盒的工作方法
CN101145922A (zh) * 2006-09-13 2008-03-19 中兴通讯股份有限公司 一种实现组播终端可靠离开的系统和方法
CN101656614A (zh) * 2008-08-20 2010-02-24 中兴通讯股份有限公司 一种组播终端可靠离开组播组的方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026426A (en) * 1996-04-30 2000-02-15 International Business Machines Corporation Application programming interface unifying multiple mechanisms
CN1332531C (zh) * 2003-06-11 2007-08-15 华为技术有限公司 一种动态调整业务管理点系统服务性能的方法
CN100543683C (zh) * 2006-12-26 2009-09-23 华为技术有限公司 对进程进行监控的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852311A (zh) * 2005-12-19 2006-10-25 华为技术有限公司 Ip机顶盒的工作方法
CN101145922A (zh) * 2006-09-13 2008-03-19 中兴通讯股份有限公司 一种实现组播终端可靠离开的系统和方法
CN101656614A (zh) * 2008-08-20 2010-02-24 中兴通讯股份有限公司 一种组播终端可靠离开组播组的方法和系统

Also Published As

Publication number Publication date
CN102318272A (zh) 2012-01-11
CN102318272B (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
EP1747644B1 (en) Method and apparatus for group communication with end-to-end reliability
US8477779B1 (en) Method and system for reliable multicast
US6526022B1 (en) Detecting congestion by comparing successive loss of packets in windows to provide congestion control in reliable multicast protocol
KR101032512B1 (ko) 멀티캐스트 컨퍼런스 세션 참가 방법 및 컴퓨터 판독 가능 기록 매체
US20030031175A1 (en) Method of multicasting
EP2279585B1 (en) Method and apparatus for multicast group management
US20110267962A1 (en) Method and system for predictive designated router handover in a multicast network
US11863370B2 (en) High availability using multiple network elements
US8442046B2 (en) Sending routing protocol data on a multi-access network segment
WO2013104241A1 (zh) 数据重传方法、系统、组播服务器及用户终端
JP5857135B2 (ja) 複数の受信機にメッセージを伝送する装置および方法
US9210067B1 (en) Method and apparatus for exchanging routing information
WO2016172926A1 (zh) 通信系统中的通信方法和设备及系统
US20050188107A1 (en) Redundant pipelined file transfer
WO2003084129A1 (fr) Procede de collecte de donnees de topologie de reseau
US20100082822A1 (en) Technique for realizing high reliability in inter-application communication
WO2012103724A1 (zh) 一种进程组和进程组中的异常组成员离开的方法
CN104717144A (zh) 一种基于网内缓存和逐跳确认的可靠组播方法
US9948473B2 (en) Seamless connection handshake for a reliable multicast session
US8854949B2 (en) Network relay device and network relay method
EP1062766A1 (en) Method, apparatus, and medium for minimal time multicast graft/join restoration
CN111937327A (zh) 基于传输协议的点对点数据库同步
KR101405533B1 (ko) 고가용성 멀티캐스트 전송 기반의 메시지 전송 시스템
Shome et al. Performance enhancement of pragmatic general multicast (PGM) protocol using a local loss recovery strategy
WO2012043142A1 (ja) マルチキャストルータ及びマルチキャストネットワークシステム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180001042.1

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11857919

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11857919

Country of ref document: EP

Kind code of ref document: A1