KR100285177B1 - Reliable Multiparty Information Transmission Method in Internet Protocol Multicasting Environment - Google Patents

Reliable Multiparty Information Transmission Method in Internet Protocol Multicasting Environment Download PDF

Info

Publication number
KR100285177B1
KR100285177B1 KR1019980026321A KR19980026321A KR100285177B1 KR 100285177 B1 KR100285177 B1 KR 100285177B1 KR 1019980026321 A KR1019980026321 A KR 1019980026321A KR 19980026321 A KR19980026321 A KR 19980026321A KR 100285177 B1 KR100285177 B1 KR 100285177B1
Authority
KR
South Korea
Prior art keywords
packet
host
data
transmission
information transmission
Prior art date
Application number
KR1019980026321A
Other languages
Korean (ko)
Other versions
KR20000004803A (en
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 KR1019980026321A priority Critical patent/KR100285177B1/en
Publication of KR20000004803A publication Critical patent/KR20000004803A/en
Application granted granted Critical
Publication of KR100285177B1 publication Critical patent/KR100285177B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/806Broadcast or multicast traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 신뢰성있는 다자간 정보 전송 방법에 관한 것임.The present invention relates to a reliable multi-party information transmission method.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명은 전송 제어 프로토콜(TCP)의 사용이 까다로운 다자간의 화상 회의 등에 필수적인 인터넷 프로토콜(IP) 멀티캐스트를 이용하여 정보 전송의 신뢰성을 강화한 다자간 정보 전송 방법을 제공하는데 그 목적이 있음.An object of the present invention is to provide a multi-party information transmission method that enhances reliability of information transmission by using Internet protocol (IP) multicast, which is essential for multi-party video conferencing, which is difficult to use transmission control protocol (TCP).

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은, 다자간 세션 응용의 패킷을 분류하는 제 1 단계; 작은 크기의 데이터의 경우에 돌발적이고 빠른 응답 시간을 중시하는 제어 데이터가 많으므로 단일 패킷 신뢰 전송을 수행하는 제 2 단계; 및 큰 크기의 메모리 전송으로 응답 시간 보다는 네트워크 트래픽을 줄이기 위하여 다중 패킷 신뢰 전송을 수행하는 제 3 단계를 포함한다.The present invention includes a first step of classifying a packet of a multiparty session application; A second step of performing a single packet reliable transmission since there is a lot of control data that emphasizes sudden and fast response time in case of small size data; And a third step of performing multi-packet reliable transmission to reduce network traffic rather than response time with large size memory transmissions.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 원격회의, 원격교육 등에 이용됨.The present invention is used for teleconference, distance education and the like.

Description

인터넷 프로토콜 멀티캐스팅 환경에서의 신뢰성있는 다자간 정보 전송 방법Reliable Multiparty Information Transmission Method in Internet Protocol Multicasting Environment

본 발명은 인터넷 프로토콜(IP) 멀티캐스팅 환경에서의 신뢰성있는 다자간 정보 전송 방법에 관한 것이다.The present invention relates to a method for reliable multiparty information transmission in an Internet Protocol (IP) multicasting environment.

종래에는 각각의 데이터의 성격을 무시하고, 같은 방법으로 전송하므로써 효율성이 떨어지는 문제점이 있었다.Conventionally, there is a problem that efficiency is lowered by ignoring the nature of each data and transmitting in the same manner.

최근 수년간 인터넷 기술은 급격하게 발전하였다. 이러한 인터넷 성공의 대표적인 사례라면 모두들 WWW(World Wide Web)와 멀티캐스트 백본(MBone : Multicast Backbone)을 꼽는데 주저하지 않을 것이다. 아직 멀티캐스트 백본(MBone)에 대한 국내의 호응은 WWW에 비해 그리 크지는 않다. 하지만, 늘어나는 원격강의, 원격회의, 인터넷 방송, 인터넷 라디오 등의 다자간 통신에 대한 기대에 부응하기 위해 국내에서도 다자간 통신에 적합한 멀티캐스트를 현재 연구하고 있다.In recent years, Internet technology has advanced rapidly. Representative examples of such Internet successes will not hesitate to list the World Wide Web and the Multicast Backbone (MBone). The domestic response to the multicast backbone (MBone) is still not as great as in the WWW. However, in order to meet the expectations of multilateral communication such as tele-learning, teleconference, internet broadcasting, and internet radio, we are currently researching multicast suitable for multilateral communication in Korea.

실시간 멀티미디어 통신에서 가장 시급한 문제는 인터넷 프로토콜(IP) 멀티캐스트 환경의 구축이다. 현재 국내에는 인터넷 프로토콜(IP) 멀티캐스트가 보편화되어 있지 않으므로, 다자간 회의를 하는 경우에 주로 전송 제어 프로토콜(TCP : Transmission Control Protocol)이나 사용자 데이터그램 프로토콜(UDP : User Datagram Protocol)을 이용한 리피팅(Repeating) 구조를 이용하고 있다. 이런 구조는 참여자가 많아질수록 급격하게 네트워크 대역폭을 점유하게 된다.The most urgent problem in real time multimedia communication is the construction of an Internet Protocol (IP) multicast environment. Currently, since Internet protocol (IP) multicast is not common in Korea, repeating using a transmission control protocol (TCP) or a user datagram protocol (UDP) is mainly used for multi-party conferences. Repeating) structure is used. This structure rapidly takes up network bandwidth as more participants participate.

반면에, 인터넷 프로토콜(IP) 멀티캐스트를 이용하면 참여자가 늘어날수록 최대 선형적으로 네트워크 점유율이 증가하며, 상위에서 세션 제어를 해 줄 경우에 네트워크 점유율은 1:1 세션과 비슷하다. 하지만, 아직 멀티캐스트에는 해결되어야 할 문제가 많다. 예를 들어, 대역폭을 제한하는 기구가 없어 임의의 사용자가 고의로 높은 TTL(Time To Live)의 네트워크 패킷을 남발하면 동일한 멀티캐스트 그룹에 가입한 호스트가 전세계에 걸쳐 존재하는 경우에 전세계적인 네트워크 대역폭 낭비를 초래하고, 같은 멀티캐스트 그룹에 가입한 호스트들에게 필요없는 패킷으로 인한 처리 부하를 갖게 하는 결과를 초래할 수 있다. 이것은 멀티캐스트 백본(MBone)에 관한 명확한 관리가 되지 않기 때문이다. 이로 인해 각기 무관한 세션간의 패킷으로 인한 간섭을 일으킬 수 있다.On the other hand, when using Internet Protocol (IP) multicast, the network occupancy increases linearly as the number of participants increases, and the network occupancy is similar to 1: 1 session when session control is performed at the upper level. However, there are still many problems to be solved in multicast. For example, if there is no mechanism to limit the bandwidth, and an arbitrary user deliberately abuses a high time-to-live (TTL) network packet, the global network bandwidth is wasted if there are hosts in the same multicast group worldwide. This can result in processing loads due to unnecessary packets on hosts that join the same multicast group. This is because there is no clear management of the multicast backbone (MBone). This can cause interference due to packets between unrelated sessions.

그리고, 응용 제작에 있어 가장 시급한 문제는 무엇보다 멀티캐스트가 비신뢰성 전송만을 제공한다는 것이다. 아직 멀티캐스트에는 신뢰 전송 표준이 없으며, 상업적으로 인정되어 널리 사용되는 소프트웨어도 없다. 1:1에 비해 N:M 통신은 처리 과정이 복잡하여 제작하기가 어렵고, 아직은 멀티캐스트가 발전 단계에 있기 때문이다. 현재 멀티캐스트의 신뢰 전송에 관하여 많은 연구가 진행되고 있지만 어느 것도 사용자가 응용 수준에서 쉽게 사용할 수 있으면서 각각의 응용 제작에 있어 프로그래머의 요구에 만족스러운 소프트웨어는 없다. 이와 같은 제약은 다중 참여자 회의를 제작할 경우에 상당한 걸림돌이 된다. 멀티캐스트의 신뢰 전송 프로토콜의 부재로 인하여, 멀티캐스트만으로 원격회의를 개발할 경우에 중요한 제어 패킷을 잃어버려 회의의 주재가 의도된 방향에서 벗어나는 경우가 있다. 그리고, 공용 화이트 보드를 사용할 경우에 패킷 손실로 인하여 서로의 화면 출력이 일치하지 않아 공동작업을 진행할 수 없게 되는 수도 있다.And, the most urgent problem in application production is that multicast only provides unreliable transmission. There is no reliable transport standard for multicast yet, and there is no commercially accepted and widely used software. Compared with 1: 1, N: M communication is difficult to manufacture due to the complicated processing process, and multicast is still in the development stage. Although much research is currently being conducted on reliable transmission of multicast, none of the software is easy to use at the application level and satisfies the programmer's requirements in producing each application. Such restrictions present significant obstacles when creating multiparticipant conferences. Due to the lack of a multicast reliable transport protocol, in the case of developing a teleconferencing with only multicast, important control packets are lost and the subject of the conference is out of the intended direction. In addition, when using a common white board, packet loss may cause the screen output of each other to be inconsistent, thereby making it impossible to collaborate.

결국 신뢰성을 응용 레벨에서 각각 처리해 주어야 하는데 응용이 복잡해질수록 각 응용에서 고려해 주어야 할 사항이 너무 많아지게 된다. 결국 이것을 라이브러리라든지 시스템의 서비스든지 어느 형태로든 전담하는 부분이 있어야 한다.As a result, reliability must be handled at the application level. As the complexity of the application grows, there are too many things to consider in each application. After all, there should be a part dedicated to this, whether it be a library or a system service.

본 발명의 프로토콜에서는 이것을 하부 네트워크 계층으로 구성하여 신뢰성을 제공하도록 한다. 하지만, 부하가 많은 네트워크 계층은 전체적 실행 시간에 치명적인 영향을 미치므로 하부 네트워크 계층은 처리 시간을 적게 점유하도록 하여야 한다.In the protocol of the present invention, it is configured as a lower network layer to provide reliability. However, a heavy network layer has a fatal effect on the overall execution time, so the lower network layer should occupy less processing time.

따라서, 본 발명은, 전송 제어 프로토콜(TCP)의 사용이 까다로운 다자간의 화상 회의 등에 필수적인 인터넷 프로토콜(IP) 멀티캐스트를 이용하여 정보 전송의 신뢰성을 강화한 다자간 정보 전송 방법을 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide a multi-party information transmission method that enhances reliability of information transmission by using Internet protocol (IP) multicast, which is essential for multi-party video conferencing or the like, in which transmission control protocol (TCP) is difficult to use.

도 1 은 본 발명이 적용되는 시스템의 구성예시도.1 is an exemplary configuration diagram of a system to which the present invention is applied.

도 2 는 본 발명에 따른 프로토콜의 계층적 분리도.2 is a hierarchical separation of a protocol according to the present invention.

도 3 은 본 발명에 따른 데이터 구조의 일예시도.3 is an exemplary view of a data structure in accordance with the present invention.

도 4 는 본 발명에 따른 네트워크 패킷의 포맷예시도.4 is an exemplary format of a network packet according to the present invention.

도 5 는 본 발명에 따른 단일 패킷의 신뢰성있는 다자간 전송 방법에 대한 일실시예 흐름도.5 is a flow diagram of an embodiment of a method for reliable multi-party transmission of a single packet in accordance with the present invention.

도 6 은 본 발명에 따른 복수 패킷의 신뢰성있는 다자간 전송 방법에 대한 일실시예 흐름도.6 is a flowchart illustrating an exemplary method for reliable multi-party transmission of multiple packets according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

11 : 멀티캐스트 그룹 분배 센터 12 : GMCSC 서버11: multicast group distribution center 12: GMCSC server

13 : GMCSC 데몬 14 : GMCSC 중계기13: GMCSC Daemon 14: GMCSC Repeater

15 : 응용 16 : 중계기를 이용한 GMCSC15: Application 16: GMCSC using a repeater

상기 목적을 달성하기 위하여 본 발명은, 인터넷 프로토콜(IP) 멀티캐스팅 장치에 적용되는 다자간 정보 전송 방법에 있어서, 다자간 세션 응용의 패킷을 분류하는 제 1 단계; 작은 크기의 데이터의 경우에 돌발적이고 빠른 응답 시간을 중시하는 제어 데이터가 많으므로 단일 패킷 신뢰 전송을 수행하는 제 2 단계; 및 큰 크기의 메모리 전송으로 응답 시간 보다는 네트워크 트래픽을 줄이기 위하여 다중 패킷 신뢰 전송을 수행하는 제 3 단계를 포함하여 이루어진 것을 특징으로 한다.In order to achieve the above object, the present invention provides a multi-party information transmission method applied to an Internet Protocol (IP) multicasting apparatus, comprising: a first step of classifying a packet of a multi-party session application; A second step of performing a single packet reliable transmission since there is a lot of control data that emphasizes sudden and fast response time in case of small size data; And a third step of performing multi-packet reliable transmission in order to reduce network traffic rather than response time with large size memory transmission.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

먼저, 신뢰성있는 다자간 전송 계층(RMTL : Reliable Multipoint Transport Layer)과 1:1 전송을 비교하여 보면 다음의 [표 1]과 같다.First, comparing the reliable multipoint transport layer (RMTL) and 1: 1 transmission is shown in Table 1 below.

항 목Item 1:1 전송1: 1 transmission RMTL(SPT)RMTL (SPT) RMTL(MPT)RMTL (MPT) 전체 패킷 수Total packets N*H +N*H = 2(N*H)N * H + N * H = 2 (N * H) N + N*H = N(1+H)N + N * H = N (1 + H) N+1+HN + 1 + H 패킷 전송에 필요한 시간Time required to send a packet (N*H-1)*T(N * H-1) * T (N-1)*T + R(N-1) * T + R (N)T + R(N) T + R

상기 [표 1]에서 N은 전송 패킷 수, T는 단일 패킷 전송 간격, H는 전체 수신자 호스트의 개수, R은 수신 확인 패킷을 보낼 때 임의의 기다리는 시간의 최대치를 각각 나타낸다.In Table 1, N denotes the number of transmission packets, T denotes a single packet transmission interval, H denotes the total number of recipient hosts, and R denotes the maximum value of an arbitrary waiting time when sending an acknowledgment packet.

먼저, 1:1 전송의 패킷 전송에 필요한 시간을 살펴보면, 송신자는 처음 호스트로 패킷을 보낸 후에 바로 응답(ACK) 패킷을 받는다. 이 과정을 각 패킷에 대하여 순차적으로 하는 경우의 시간이다. 여기서, R 시간은 필요하지 없다. 응답(ACK)을 받는 동안 다른 호스트로의 패킷 전송이 가능하다고 가정하였다. 따라서, (총 패킷 수 - 1)*T의 시간이 필요하다.First, the time required for the packet transmission of 1: 1 transmission, the sender receives the ACK packet immediately after sending the packet to the first host. This is the time when this process is performed sequentially for each packet. Here, R time is not necessary. It is assumed that packet transmission to another host is possible while receiving an acknowledgment (ACK). Therefore, a time of (total number of packets minus 1) * T is required.

그리고, RMTL(SPT)의 패킷 전송에 필요한 시간을 살펴보면, 각 패킷마다 멀티캐스트 하는데 (N-1)*T 시간이 필요하다. 그리고, 응답(ACK) 패킷은 송신 도중에 받고 있고, 마지막 응답(ACK) 패킷만이 R 시간내에 도착하게 된다. 따라서, 총 시간은 (N-1)*T + R 시간이 필요하다.In addition, looking at the time required for packet transmission of the RMTL (SPT), (N-1) * T time is required to multicast each packet. The acknowledgment packet is received during transmission, and only the last acknowledgment packet arrives in R time. Therefore, the total time needs (N-1) * T + R time.

다음으로, RMTL(MPT)의 패킷 전송에 필요한 시간을 살펴보면, (패킷 개수+1) 개의 데이터 패킷을 보내고 마지막으로 응답 요청 패킷을 보내므로 (N+1-1)의 시간이 필요하고, 각 수신자로부터 응답을 받는데 R 시간이 걸린다. 따라서, N*T + R의 시간이 필요하다.Next, look at the time required to send a packet of RMTL (MPT), the (N + 1-1) time is required, because the number of (packet + 1) data packets are sent and the last response request packet is sent, each receiver It takes R time to get a response from. Therefore, a time of N * T + R is needed.

이것을 임의의 값을 대입하여 구체적으로 수치화하여 직관적으로 살펴보면, 아래의 [표 2]와 같다.Looking at this intuitively by assigning an arbitrary value to the numerical value, it is as shown in Table 2 below.

항 목Item 1:1 전송1: 1 transmission RMTL(SPT)RMTL (SPT) RMTL(MPT)RMTL (MPT) 전체 패킷 수Total packets 2(N*H) = 6000개2 (N * H) = 6000 N(1+H) = 3100개N (1 + H) = 3100 N+1+H = 131개N + 1 + H = 131 패킷 전송에 필요한 시간Time required to send a packet (N*H-1)*T= 59980 ms= 59.98sec(N * H-1) * T = 59980 ms = 59.98sec (N-1)*T + R= 2000ms= 2 sec(N-1) * T + R = 2000ms = 2 sec (N)T + R= 2020 ms= 2.02sec(N) T + R = 2020 ms = 2.02sec

여기서, N은 100개의 패킷, T는 20 ms, H는 30개의 호스트, R은 20 ms이다.Here, N is 100 packets, T is 20 ms, H is 30 hosts, and R is 20 ms.

상기 [표 2]에서 보면 RMTL의 복수 패킷 전송은 총 패킷의 수와 전송 시간 측면에서 상당한 이점이 있다. 이러한 이점은, 큰 크기의 파일 전송, 영상 전송 등 큰 크기의 데이터 전송에 이용되어 큰 효율을 나타낸다.In Table 2, the multi-packet transmission of the RMTL has a significant advantage in terms of the total number of packets and the transmission time. This advantage is used for large data transmission such as large file transfer, video transmission, and the like, and shows great efficiency.

도 1 은 본 발명이 적용되는 시스템의 구성예시도이다.1 is an exemplary configuration diagram of a system to which the present invention is applied.

멀티캐스트 그룹 분배 센터(MGDC : Multicast Group Distribute Center)(11)는 멀티캐스트 그룹간의 독자적인 세션 운영을 위해, 멀티캐스트의 그룹을 관리한다. 각 인터넷 프로토콜(IP) 멀티캐스트 그룹을 이용하고자 하는 서버의 관리자나 프로그램은 여기에 메일이나 프로그램상으로 해당 인터넷 프로토콜(IP) 멀티캐스트 그룹을 할당받는다.The Multicast Group Distribute Center (MGDC) 11 manages a group of multicasts for independent session management between multicast groups. The administrator or program of a server that wants to use each Internet Protocol (IP) multicast group is assigned to the Internet Protocol (IP) multicast group by mail or program.

GMCSC(Global Multicast Conference Session Control) 서버(Server)(12)는 포트 관리(Port Management)를 주로 담당하는 서버로서, 멀티캐스트 그룹 분배 센터(MGDC)(11)에서 할당받은 인터넷 프로토콜(IP) 멀티캐스트 그룹에서 포트를 할당해준다.The Global Multicast Conference Session Control (GMCSC) Server (12) is a server mainly responsible for Port Management, and is an Internet Protocol (IP) multicast assigned by the Multicast Group Distribution Center (MGDC) 11. Assign ports from the group.

GMCSC 데몬(Daemon)(13)은 각각 호스트에서 초청 메시지 수신이나, 편지 등 네트워크 이벤트를 받아서 응용을 활성화시킨다.The GMCSC daemon (13) receives an invitation message from the host, receives a network event such as a letter, and activates an application.

그리고, 각 응용(15)은 하나의 데몬(Daemon)으로 각각 활성화된다.And, each application 15 is activated as one daemon (Daemon), respectively.

GMCSC 중계기(14)는 믹서나 트랜스레이터와 같이 패킷을 받아 재전송준다.The GMCSC repeater 14 receives and retransmits a packet like a mixer or a translator.

도 2 는 본 발명에 따른 프로토콜의 계층적 분리도이다.2 is a hierarchical separation of a protocol according to the present invention.

GMCSC(Global Multicast Conference Session Control)는 멀티캐스트를 이용한 글로벌 세션 제어(Global Session Control) 프로토콜로 전송 제어 프로토콜(TCP) 또는 인터넷 프로토콜(IP) 멀티캐스트와 본 알고리즘인 RMTL을 이용하여 전체적인 세션 관리 기능을 제공한다.Global Multicast Conference Session Control (GMCSC) is a global session control (Multicast) protocol using multicast, which enables overall session management by using Transmission Control Protocol (TCP) or Internet Protocol (IP) multicast and this algorithm, RMTL. to provide.

LMCSC(Local Conference Session Control)는 멀티캐스트를 이용한 근거리 세션 제어로 원거리와 다른 특성을 가진 세션 관리 프로토콜이다.Local Conference Session Control (LMCSC) is a session management protocol that has different characteristics from long-distance session control using multicast.

MCDT(Multicast Conference Data Transfer)는 데이터의 전송을 효율적으로 해 주는 프로토콜로서, 멀티포인트 동시 전송과 신뢰 전송 등이 특징이다.Multicast Conference Data Transfer (MCDT) is a protocol for efficient data transmission. It features multipoint simultaneous transmission and reliable transmission.

이 모든 프로토콜이 결국 RMTL상에서 동작하도록 설계되어 있다.All these protocols are designed to eventually run on RMTL.

도 3 은 본 발명에 따른 데이터 구조의 일예시도이다.3 is an example of a data structure according to the present invention.

먼저, 각 클래스 계층의 주요 기능을 살펴보면 다음과 같다.First, the main functions of each class hierarchy are as follows.

- CksStaticHostGroup : 호스트들의 수신 상태를 나타내는 가변 배열로 각 목적지 호스트마다 다음의 5가지 값을 가질 수 있다.CksStaticHostGroup: Variable array indicating the reception status of hosts. Each destination host can have the following five values.

- SHG_STATE_None : 초기상태SHG_STATE_None: Initial state

- SHG_STATE_Host_Received : 패킷을 전송받은 호스트SHG_STATE_Host_Received: Host that received the packet

- SHG_STATE_Host_NoAnswer : 일정 시간동안 응답(ACK 또는 NAK)이 전혀없는 호스트. 실제적인 구현은 SHG_STATE_Host_Droped와 같은 역할을 한다.SHG_STATE_Host_NoAnswer: Hosts with no response (ACK or NAK) for a certain period of time. The actual implementation acts like SHG_STATE_Host_Droped.

- SHG_STATE_Host_Denying : 어떤 이유로든 해당 패킷의 수신을 거부하는 호스트.SHG_STATE_Host_Denying Hosts that refuse to receive the packet for any reason.

- SHG_STATE_Host_Droped : 상위 세션 프로토콜로부터 호스트 탈락 (Host Drop)으로 통보 받은 경우에 이 값을 갖게되고, 잠시 후, 이 호스 트는 호스트 리스트에서 삭제된다.SHG_STATE_Host_Droped: This value is obtained when a host drop is notified from the higher session protocol. After a while, the host is deleted from the host list.

- CksStaticPacketGroup : 복수 패킷 전송의 경우에 각 패킷마다 해당 패킷을 잃어버린 호스트들의 리스트를 유지하는 클래스로, 송신자가 수신자로부터 비 응답(NAK)과 함께 손실 패킷 리스트를 받으면, 이것을 CksStaticPacketGroup 클래스에 저장하게 된다. 다음 전송시 이것을 이용하여 패킷마다 해당 패킷을 잃어버린 호스트들에게만 재전송해 준다.-CksStaticPacketGroup: In case of multi packet transmission, this class maintains a list of hosts that lost the packet for each packet. When the sender receives a lost packet list with non-response (NAK) from the receiver, it stores it in the CksStaticPacketGroup class. This is used on the next transmission to retransmit the packet only to lost hosts.

- CksDataManager : 패킷 데이터를 저장하고 처리하는데 필요한 루틴들이 들어 있다. 단일 패킷 데이터와 복수 패킷 데이터 모두에서 사용할 수 있는 데이터 구조로 패킷 분할에 관하여 편리하게 사용하도록 하는 기능을 가지고 있다.CksDataManager contains routines for storing and processing packet data. It is a data structure that can be used for both single packet data and multiple packet data, and has a function for convenient use in packet division.

- CKsSendQItemRoot : 신뢰 전송을 분류했을 때 각 모드의 성질중 공통된 요소를 추출하여 송신 큐의 아이템(Item)의 클래스 루트로 하였다.-CKsSendQItemRoot: When classifying trusted transmissions, the common elements of the properties of each mode were extracted to be the class root of the item of the transmission queue.

- CksQItemSPkt : 송신 큐의 아이템이 될 수 있는 클래스로, 단일 패킷 전송을 위한 큐의 아이템이다. CKsSendQItemRoot에서 상속을 받아 송신 큐에서 아이템이 될 자격을 얻고 CksStaticHostGroup을 상속 받아서 호스트의 상태 리스트를 가지고 있다. CKsDataManager를 상속 받아서 송신 데이터의 복사본을 가지고 있다.CksQItemSPkt: A class that can be an item of a transmission queue. An item of a queue for transmitting a single packet. It inherits from CKsSendQItemRoot to qualify as an item in the send queue, inherits CksStaticHostGroup, and holds the host's state list. Inherits CKsDataManager and holds a copy of the transmitted data.

- CksQItemMPkt : 송신 큐의 아이템이 될 수 있는 클래스로, 복수 패킷 전송 큐 아이템이다. CksQItemSPkt의 모든 부모 클래스를 상속 받으며, CksStaticPacketGroup을 상속받아서 송신 데이터를 세그먼트(Segment) 단위로 나눌 때, 각 서브 패킷마다의 패킷 손실 호스트 리스트를 관리하고 있다. 각 서브 패킷의 패킷 손실 호스트 리스트는 재전송 과정을 끝내고 다시 초기화한다.CksQItemMPkt: A class that can be an item of a transmission queue, and is a multiple packet transmission queue item. It inherits all the parent classes of CksQItemSPkt and manages the packet loss host list for each sub packet when inheriting CksStaticPacketGroup and dividing the transmission data by segment. The packet loss host list of each subpacket is reinitialized after completing the retransmission process.

- CksRMTLSendQ : RMTL의 신뢰 전송을 위한 송신 큐이다. 완전 순차(Totally-Ordered) 송신 구조로, 하나의 아이템이 전송되기 전까지는 다음 아이템이 전송될 수 없다.CksRMTLSendQ: This is a transmission queue for reliable transmission of RMTL. In a totally-ordered transmission structure, the next item cannot be transmitted until one item is transmitted.

- CksMPReceivingInfo : 복수 패킷 전송에서 수신에 사용되는 수신 버퍼이다. 서브 패킷중에서 처음 패킷을 수신하였을 경우에, 전체 데이터의 크기만큼 메모리를 할당하고, 이후 서브 패킷을 수신하여 할당된 메모리에 복사하게 된다. 모든 서브 패킷을 수신하여 데이터 블록을 형성하면 수신과정을 끝내고 완성된 데이터 블록을 상위 계층에게 보내게 된다.CksMPReceivingInfo: Receive buffer used for reception in multiple packet transmission. When the first packet is received among the subpackets, memory is allocated as much as the total data size, and then the subpacket is received and copied into the allocated memory. When all subpackets are received to form a data block, the reception process is completed and the completed data block is sent to a higher layer.

- CksReceivingItem : CksMPReceivingInfo를 상속받았고 추가로 각 호스트마다의 주 순차 번호(Main Sequence Number)와 상태정보를 가지고 있어 수신에 관한 것을 담당한다. 패킷을 수신하면 먼저 해당 호스트의 CksReceivingItem을 참조하여 주 순차 번호 비교 과정과 상태정보를 통하여 수신 패킷이 이미 수신 한 패킷인지, 현재 조합처리 중인지, 새로운 조합을 필요로하는 패킷인지를 결정할 수 있다. 그리고, 본 클래스는 CdynHostGroupLocal에서 호스트에 대한 해쉬 테이블의 아이템으로 동작한다. RMTL은 완전한 대칭 구조이기에, 하나의 호스트는 다른 모든 호스트의 송신 상태를 감시해야 한다. CydnHostGroupLocal의 해쉬 테이블이 이런 일을 담당한다.-CksReceivingItem: Inherits CksMPReceivingInfo and additionally has main sequence number and status information for each host to handle receiving. When receiving a packet, it is possible to first determine whether the received packet is a received packet, a current combination, or a packet requiring a new combination through the main sequence number comparison process and status information by referring to the CksReceivingItem of the corresponding host. This class acts as an item in the hash table for the host in CdynHostGroupLocal. Since RMTL is a fully symmetrical structure, one host must monitor the transmission status of all other hosts. The hash table of CydnHostGroupLocal does this.

- CksDynHostGroupGlobal : RMTL의 상위 계층인 세션 제어 계층에서 사용하는 호스트 그룹 관리자(Manager)로 세션의 전체적인 호스트 리스트를 관리한다. 하나의 응용에서 하나의 CksDynHostGroupGlobal 클래스를 관리하면서 여러 개의 CksDynHostGroupLocal 중에서 하나의 인스턴스(Instance)로부터 호스트 탈락(Host Drop) 메시지를 받으면 CksDynHostGroupGlobal에서는 이것을 각 CksDynHostGroupLocal에 통보해 준다. 이리하여 다른 CksDynHostGroupLocal에서 호스트 탈락으로 인한 처리 부하를 줄여준다.CksDynHostGroupGlobal: Host group manager used in the session control layer, which is the upper layer of RMTL, to manage the entire host list of the session. When an application manages one CksDynHostGroupGlobal class and receives a Host Drop message from one instance among several CksDynHostGroupLocal, CksDynHostGroupGlobal notifies each CksDynHostGroupLocal. This reduces the processing overhead of dropping hosts from other CksDynHostGroupLocal.

- CksDynHostGroupLocal : 세션중의 여러 통신 채널에서 각 채널의 호스트 그룹을 관리한다. CksDynHostGroupGlobal을 통하여 다른 CksDynHostGroupLocal과 호스트의 상태 정보를 교환한다.CksDynHostGroupLocal manages the host group of each channel in multiple communication channels during a session. Exchange host state information with other CksDynHostGroupLocal through CksDynHostGroupGlobal.

상기에서 살펴본 바와 같이, CKsRMTLSendQ는 데이터를 신뢰전송하기 위해 사용되는 전송 Q이다. 데이터는 단일 패킷 데이터(CKsQItemSPkt)와 다중 패킷 데이터(CksQItemMPkt)로 나누어지며, 여기서는 하는 일에 따라 각 클래스(class)으로 분리된다. CKsDynHostGroupGlobal은 세션에 참가하고 나가는 참여자들의 리스트를 유지하여 수신 대상을 지정하는데 사용하는 자료 구조이다. 여기서, 송신 요구 당시 참여자의 리스트를 CKsStaticHostGroup에 복사하여 그들에게서 응답을 받아 수신 여부를 결정한다. CKsStaticPacketGroup은 1개 이상의 패킷을 전송하여 조합하여 하나의 데이터 블록을 만들 경우에 사용되는 자료 구조이다.As discussed above, CKsRMTLSendQ is a transmission Q used for reliable transmission of data. Data is divided into single packet data (CKsQItemSPkt) and multiple packet data (CksQItemMPkt), and are separated into classes according to what is done here. CKsDynHostGroupGlobal is a data structure used to specify a destination by maintaining a list of participants who join and leave a session. Here, the list of participants at the time of the transmission request is copied to the CKsStaticHostGroup to receive a response from them and decide whether to receive it. CKsStaticPacketGroup is a data structure used when one or more packets are sent and combined to form a data block.

도 4 는 본 발명에 따른 네트워크 패킷의 포맷예시도이다.4 is an exemplary format of a network packet according to the present invention.

CPktRoot는 모든 패킷의 루트로써, 다른 패킷과의 구별과 서브 패킷의 종류 등 기본적인 기능을 제공한다. CPktRMTLRoot는 실질적으로 RMTL을 구현하기 위해 사용되는 패킷이다. RMTL에서는 이 패킷의 형태와 하위 클래스의 형태를 이용하여 다자간 신뢰전송과 큰 크기의 데이터 신뢰전송을 제공한다. CPktMRTPSession 등 이외의 패킷을 RMTL과 같은 레벨에서 정의할 수 있다. RMTL의 하위 클래스(class)들은 모두 RMTL을 구현하기 위한 서브 패킷 헤더이다.CPktRoot is the root of all packets. It provides basic functions such as distinguishing from other packets and types of subpackets. CPktRMTLRoot is actually a packet used to implement RMTL. In RMTL, this packet type and subclass type provide multi-party reliable transmission and large data reliable transmission. Packets other than CPktMRTPSession can be defined at the same level as RMTL. Subclasses of RMTL are all subpacket headers for implementing RMTL.

도 5 는 본 발명에 따른 단일 패킷의 신뢰성있는 다자간 전송 방법에 대한 일실시예 흐름도이다.5 is a flowchart illustrating an exemplary method for reliable multi-party transmission of a single packet according to the present invention.

단일 패킷 신뢰 전송의 경우에는 다음과 같은 간단한 알고리즘을 사용한다. 작은 크기의 데이터의 경우에 돌발적이고 빠른 응답 시간을 중시하는 제어 데이터가 많은 점을 고려한 알고리즘이다.For single packet reliable transmission, the following simple algorithm is used. In the case of small data, the algorithm considers a lot of control data that emphasizes sudden and fast response time.

송신자측이 먼저 데이터 패킷을 목적지 호스트 그룹(32 비트 인터넷 프로토콜 주소 리스트를 패킷내에 가지고 있다)에 전송한다(51).The sender side first transmits the data packet to the destination host group (having a 32-bit Internet protocol address list in the packet) (51).

이후에, 수신자측이 데이터 패킷을 수신 후에, 수신된 패킷내의 주 순차 번호와 CKsDynHostGroupLocal의 주 순차 번호를 비교하여 이미 수신하여 처리한 데이터 블록이면 상위 계층에 넘기지 않고, 한번도 수신하지 않은 패킷이면 상위 계층으로 넘겨 처리한 후에(52) 긍정적 응답(ACK) 패킷을 유니캐스트로 전송한다(53).After receiving the data packet, the receiver side compares the main sequence number in the received packet with the main sequence number of the CKsDynHostGroupLocal and if it has already received and processed the data block, does not pass it to the upper layer. After processing (52), an ACK packet is transmitted by unicast (53).

다음으로, 송신자측이 긍정적 응답(Positive ACK) 패킷을 수신하여, CKsStaticHostGroup에 해당 호스트를 SHG_STATE_Host_Received로 세트한다. 만약 CKsStaticHostGroup의 모든 호스트가 SHG_STATE_None 상태가 아닌 경우에 성공적인 전송 종료이므로, 다음 데이터 블록의 전송을 준비한다. 모든 호스트의 처리가 끝나지 않은 경우에 [t, t, 2t, 4t, 8t 16t ]초 후에(54), 다시 처음 과정(51)부터 재전송을 시작한다. 단, t는 네트워크 대역폭에 따라 결정되는 시간 간격으로 t는 기본적으로 100ms(Milli-Second)를 가지며 전송중 송수신 상태를 고려하여 증감된다.Next, the sender receives a positive ACK packet and sets the host as SHG_STATE_Host_Received in the CKsStaticHostGroup. If all hosts of the CKsStaticHostGroup are not in the SHG_STATE_None state, successful transmission ends, so the next data block is prepared for transmission. If the processing of all the hosts is not finished, after [t, t, 2t, 4t, 8t 16t] seconds (54), retransmission starts from the first process (51). However, t is a time interval determined according to the network bandwidth, and t basically has 100 ms (Milli-Second) and is increased or decreased in consideration of a transmission / reception state during transmission.

그리고, 송신자측은 마지막 재전송 후에도, SHG_STATE_None에 있는 호스트(아무 반응이 없는 호스트)는 탈락 호스트로 간주하여 CKsDynHostGroupLocal 클래스에 통보하여 다음 해당 채널의 다음 전송 때부터 이 호스트에는 데이터를 전달하지 않게 된다. 그리고, CKsDynHostGroupGlobal 클래스에 통보하여 같은 응용내의 다른 채널에도 사실을 통보해 줄 수 있도록 한다.And, even after the last retransmission, the sender side considers the host in SHG_STATE_None (the host with no response) to be a dropout host and notifies the CKsDynHostGroupLocal class so that data will not be delivered to this host from the next transmission of the corresponding channel. It also notifies the CKsDynHostGroupGlobal class so that it can also notify other channels in the same application.

도 6 은 본 발명에 따른 복수 패킷의 신뢰성있는 다자간 전송 방법에 대한 일실시예 흐름도이다.6 is a flowchart illustrating an exemplary method for reliable multi-party transmission of multiple packets according to the present invention.

복수 패킷 전송의 경우에는 단일 패킷 전송과는 달리 비응답(NAK)을 주로 이용한다. 매 서브 패킷마다 응답(ACK)을 전송하는 경우에 상당한 네트워크 부하가 존재하기 때문이다. 복수 패킷 전송에 이용하는 알고리즘은 다음과 같다. 복수 패킷 전송의 경우에 큰 크기의 메모리 전송으로 응답 시간 보다는 네트워크 트래픽을 줄이는 방향으로 설계된다.In the case of multiple packet transmission, unlike single packet transmission, non-response (NAK) is mainly used. This is because there is a significant network load when transmitting an acknowledgment (ACK) every subpacket. The algorithm used for multiple packet transmission is as follows. In the case of multi-packet transmission, it is designed to reduce network traffic rather than response time with large memory transfer.

먼저, 송신자측이 하나의 주 순차 번호에서 세그먼트화된 서브 패킷 개수 만큼의 데이터 패킷을 목적지 호스트 그룹에 전송한다(61).First, the sender transmits 61 data packets as many as the number of subpackets segmented in one main sequence number to the destination host group.

그러면, 수신자측이 해당 주 순차 번호의 서브 패킷을 수신한 후에, 수신된 패킷내의 주 순차 번호와 CKsDynHostGroupLocal의 주 순차 번호를 비교하여, 이미 수신하여 처리한 데이터 블록이면 바로 처리를 종료한다. 아직 수신하지 않은 패킷이면 조합 처리를 한다. 응답/비응답(ACK/NAK) 패킷은 지금 전송하지 않는다.Then, after the receiver receives the subpacket of the corresponding main sequence number, the main sequence number in the received packet is compared with the main sequence number of the CKsDynHostGroupLocal, and if the data block has already been received and processed, the process ends immediately. If the packet has not been received, the combination process is performed. ACK / NAK packets are not sent now.

상기 조합 처리 과정을 상세히 살펴보면, 주 순차 번호를 비교하여 처음 수신한 패킷이라면 패킷의 전체 데이터 크기(Total Data Size) 필드만큼 메모리를 할당한다. 메모리 할당에 실패할 경우에 수신 거부(Receive Denying) 패킷을 전송하고, 주 순차 번호를 증가시켜 다음 패킷을 수신할 때 바로 긍정적 응답(ACK) 패킷을 전송하고 처리를 종료하도록 한다(63). 메모리 할당에 성공하면, 패킷 데이터를 CKsDynHostGroupLocal의 할당된 메모리에 복사한다.Looking at the combination process in detail, if the packet is first received by comparing the main sequence number, the memory is allocated as much as the Total Data Size field of the packet. If the memory allocation fails, a receive denying packet is transmitted, and the main sequential number is increased to immediately transmit an ACK packet and terminate processing when receiving the next packet (63). If the memory allocation is successful, copy the packet data to the allocated memory of CKsDynHostGroupLocal.

그리고, 해당 주 순차 번호중에서 처음 수신한 패킷이 아니면 계속 서브 패킷을 할당된 메모리에 복사한 후에, CKsReceivingItem의 패킷 조합 상태 배열에 해당 패킷을 "수신됨(Received)" 상태로 세트한다(62).If the packet is not the first packet received in the corresponding main sequence number, the sub packet continues to be copied to the allocated memory, and then the packet is set to the "Received" state in the packet combination state array of CKsReceivingItem (62).

이후에, 송신자측이 서브 패킷을 모두 전송한 후에, 응답(ACK) 요청 패킷을 전송한다(64).Thereafter, after the sender side has transmitted all the subpackets, it transmits an ACK request packet (64).

이후에, 수신자측의 응답(ACK) 요청 패킷을 받은 수신 호스트가 CksDynHostGroupLocal의 CKsStaticPacketGroup에서 손실 패킷 그룹을 얻어 개수가 0일 경우(서브 패킷을 모두 받아 데이터가 완성된 경우) 완성된 데이터를 상위 계층으로 보내 처리를 마친 다음, 주 순차 번호에 맞추어 긍정적 응답(ACK)을 보내고, CKsReceivingItem에서 그 호스트의 주 순차 번호를 1 증가시켜 데이터 블록의 재 처리를 막는다. 손실 패킷 그룹의 개수가 0이 아닌 경우(손실 패킷이 존재하는 경우) 응답(ACK) 요청 패킷을 받은 다음 비응답(NACK) 패킷에 손실 패킷 리스트를 실어 송신자에게 전송한다(65).Subsequently, when the receiving host receiving the ACK request packet of the receiver side obtains a lost packet group from CKsStaticPacketGroup of CksDynHostGroupLocal and the number is 0 (when all the sub packets are received and the data is completed), the completed data is transferred to a higher layer. After the send process is completed, a positive response (ACK) is sent according to the main sequence number, and the CKsReceivingItem increases the host's main sequence number by 1 to prevent reprocessing of the data block. If the number of lost packet groups is not zero (when a lost packet is present), an acknowledgment (ACK) request packet is received, and a loss packet list is transmitted to a sender in a non-response (NACK) packet (65).

다음에, 송신자측은 응답(ACK) 패킷을 받은 경우에, CKsStaticHostGroup에 상태를 SHG_STATE_Host_Received로 설정한다. 모두 0이 아닌 값으로 설정된 경우에 복수 패킷 전송을 성공적 종료한다. 비응답(NACK) 패킷을 받은 경우, CKsStaticPacketGroup에 호스트를 추가한다(66). 모든 수신자의 수신 처리가 끝나지 않은 경우, [t, t, 2t, 4t, 8t 16t ]초 후에 다시 처음 과정부터 재전송을 시작한다(67). 단 t는 네트워크 대역폭에 따라 결정되는 시간 간격으로 t는 기본적으로 100ms를 갖고, 전송중 송수신 상태를 고려하여 증감된다.(각 서브 패킷에 따라 해당 서브 패킷 손실 호스트 그룹을 목적지로 하여 해당 패킷을 재전송해 준 후에 CKsStaticPacketGroup의 호스트 그룹을 초기화한다. 마지막 손실 패킷을 전송한 후에 응답 요청 패킷을 전송한다.)Next, when the sender side receives the acknowledgment packet, the sender sets the state to CKsStaticHostGroup as SHG_STATE_Host_Received. If all are set to a non-zero value, the multi-packet transmission ends successfully. If the NACK packet is received, the host is added to the CKsStaticPacketGroup (66). If the reception processing of all receivers is not finished, retransmission starts from the first process again after [t, t, 2t, 4t, 8t 16t] seconds (67). However, t is a time interval determined according to the network bandwidth, and t basically has 100 ms, and is increased or decreased in consideration of the transmission / reception status during transmission. (Retransmit the corresponding packet to the corresponding sub packet loss host group as the destination for each sub packet. Initialize the host group of the CKsStaticPacketGroup after sending the last lost packet.

이후에, 송신자측은 마지막 재전송 후에, SHG_STATE_None에 있는 호스트는 탈락 호스트로 간주하여 CKsDynHostGroupLocal 클래스와 CKsDynHostGroupGlobal 클래스에 통보되어 다음 전송 때부터 이 호스트에는 패킷을 전달하지 않게 된다.Thereafter, after the last retransmission, the sender side considers the host in SHG_STATE_None to be a dropped host and notifies the CKsDynHostGroupLocal and CKsDynHostGroupGlobal classes so that the packet will not be delivered to this host from the next transmission.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

상기와 같은 본 발명은, 전송 제어 프로토콜(TCP)의 사용이 까다로운 다자간의 화상 회의 등에 필수적인 인터넷 프로토콜(IP) 멀티캐스트를 이용하여 정보 전송의 신뢰성을 강화하여 프로그램의 오동작을 막고, 견고한 프로그램을 만들 수 있는 효과가 있다.The present invention as described above, by using the Internet Protocol (IP) multicast, which is essential for multi-party video conferencing, which is difficult to use the transmission control protocol (TCP), to enhance the reliability of information transmission to prevent malfunction of the program, to create a robust program It can be effective.

Claims (6)

인터넷 프로토콜(IP) 멀티캐스팅 장치에 적용되는 다자간 정보 전송 방법에 있어서,In the multi-party information transmission method applied to the Internet Protocol (IP) multicasting device, 다자간 세션 응용의 패킷을 분류하는 제 1 단계;Classifying packets of a multiparty session application; 작은 크기의 데이터의 경우에 돌발적이고 빠른 응답 시간을 중시하는 제어 데이터가 많으므로 단일 패킷 신뢰 전송을 수행하는 제 2 단계; 및A second step of performing a single packet reliable transmission since there is a lot of control data that emphasizes sudden and fast response time in case of small size data; And 큰 크기의 데이터 전송의 경우에 응답 시간 보다는 네트워크 트래픽을 줄이기 위하여 다중 패킷 신뢰 전송을 수행하는 제 3 단계Third step of performing multi-packet reliable transmission in order to reduce network traffic rather than response time in case of large data transmission 를 포함하여 이루어진 다자간 정보 전송 방법.Multi-party information transmission method comprising a. 제 1 항에 있어서,The method of claim 1, 상기 제 2 단계는,The second step, 송신자측이 데이터 패킷을 목적지 호스트 그룹에 전송하는 제 4 단계;A fourth step in which the sender sends the data packet to a destination host group; 수신자측이 데이터 패킷을 수신한 후에, 주 순차 번호를 비교하여 이미 수신하여 처리한 데이터 블록이면 상위 계층에 넘기지 않고, 한번도 수신하지 않은 패킷이면 상위 계층으로 넘겨 처리한 다음에 긍정적 응답(AOK) 패킷을 유니캐스트로 전송하는 제 5 단계; 및After the receiver receives the data packet, it compares the main sequence number and passes it to the upper layer if the data block has already been received and processed. Transmitting a unicast message; And 상기 송신자측이 긍정적 응답(Positive ACK) 패킷을 수신하면, 목적지 호스트 리스트에서 상태를 수신으로 바꾸고, 모든 호스트의 상태가 넌(None)이 아니면 성공적으로 종료하고, 어느 한 호스트라도 넌(None)이면 호스트를 상태로 재전송을 수행하는 제 6 단계If the sender side receives a positive ACK packet, the state is changed to receive in the destination host list, and if all the hosts are non-none, the operation is terminated successfully, and if either host is non-one. Sixth Step of Performing Retransmission of Host to State 를 포함하여 이루어진 다자간 정보 전송 방법.Multi-party information transmission method comprising a. 제 2 항에 있어서,The method of claim 2, 상기 송신자측은 마지막 재전송 후에도, 초기상태(SHG_STATE_None)에 있는 호스트(아무 반응이 없는 호스트)는 탈락 호스트로 간주하여 다음 해당 채널의 전송 때부터는 이 호스트에 데이터가 전달되지 않도록 하고, 같은 응용내의 다른 채널에도 이 사실을 통보해 주는 제 7 단계Even after the last retransmission, the sender side regards the host in the initial state (SHG_STATE_None) as a host that is not responding so that data is not transmitted to this host from the next transmission of the corresponding channel, and other channels in the same application 7th step to inform you of this fact 를 더 포함하여 이루어진 다자간 정보 전송 방법.The multi-party information transmission method further comprises. 제 1 항 내지 제 3 항중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 제 3 단계는,The third step, 상기 송신자측이 하나의 주 순차 번호에서 세그먼트화된 서브 패킷 개수 만큼의 데이터 패킷을 상기 목적지 호스트 그룹에 전송하는 제 8 단계;An eighth step of sending by the sender side to the destination host group as many data packets as the number of subpackets segmented in one main sequence number; 상기 수신자측이 해당 주 순차 번호의 서브 패킷을 수신한 후에, 주 순차 번호를 비교하여, 이미 수신하여 처리한 데이터 블록이면 바로 처리를 종료하고, 아직 수신하지 않은 패킷이면 조합 처리를 하는 제 9 단계;A ninth step of receiving a subpacket of the corresponding main sequence number by comparing with the main sequence number, immediately ending the processing if the data block has already been received and processed, and performing a combining process if the packet has not been received yet; ; 상기 송신자측이 서브 패킷을 모두 전송한 후에, 응답(AOK) 요청 패킷을 전송하는 제 10 단계; )A tenth step of transmitting a response (AOK) request packet after the sender transmits all sub packets; ) 상기 수신자측의 응답(AOK) 요청 패킷을 받은 수신 호스트가 손실 패킷 그룹을 얻어, 서브 패킷을 모두 받아 데이터가 오나성된 경우에 완성된 데이터를 상위 계층으로 보내 처리를 마친 다음에 주 순차 번호에 맞추어 긍정적 응답(AOK)을 보내고, 호스트의 주 순차 번호를 증가시켜 데이터 블록의 재 처리를 방지하고, 손실 패킷이 존재하는 경우에 응답(AOK) 요청 패킷을 받은 다음에 비응답(NACK) 패킷에 손실 패킷 리스트를 실어 상기 송신자측으로 전송하는 제 11 단계; 및The receiving host receiving the AOK request packet from the receiver receives the lost packet group, receives all the subpackets, sends the completed data to the upper layer when the data is on, and finishes processing the main sequence number. Sends a positive response (AOK) accordingly, prevents reprocessing of the data block by increasing the host's primary sequence number, receives a response (AOK) request packet if there is a missing packet, and then sends a non-response (NACK) packet. An eleventh step of carrying a lost packet list to the sender; And 상기 송신자측은 응답(AOK) 패킷을 받은 경우에, 수신 상태를 설정하여 모두 수신 상태로 설정된 경우에 복수 패킷 전송을 성공적으로 종료하고, 비응답(NACK) 패킷을 받은 경우에 손실 패킷 리스트에 호스트를 추가하는 제 12 단계When the sender side receives the AOK packet, the receiver sets the reception state and successfully terminates the multi-packet transmission when all are set to the reception state. When the sender side receives the NACK packet, the sender sends the host to the lost packet list. 12th step to add 를 포함하여 이루어진 다자간 정보 전송 방법.Multi-party information transmission method comprising a. 제 4 항에 있어서,The method of claim 4, wherein 상기 송신자측은 마지막 재전송 후에도, 초기상태(SHG_STATE_None)에 있는 호스트(아무 반응이 없는 호스트)는 탈락 호스트로 간주하여 다음 해당 채널의 전송 때부터는 이 호스트에 데이터가 전달되지 않도록 하고, 같은 응용내의 다른 채널에도 이 사실을 통보해 주는 제 13 단계Even after the last retransmission, the sender side regards the host in the initial state (SHG_STATE_None) as a host that is not responding so that data is not delivered to this host from the next transmission of the corresponding channel, and other channels in the same application are not transmitted. 13th step to inform you of this fact 를 더 포함하여 이루어진 다자간 정보 전송 방법The multi-party information transmission method further comprises 제 4 항에 있어서,The method of claim 4, wherein 상기 제 9 단게의 조합 처리 과정은,The combination process of the ninth step, 주 순차 번호를 비교하여 처음 수신한 패킷이면 패킷의 전체 데이터 크기(Total Data Size) 필드만큼 메모리를 할당하되, 메모리 할당에 실패할 경우에 수신 거부(Receive Denying) 패킷을 전송하고 주 순차 번호를 증가시켜 다음 패킷을 수신할 때 바로 긍정적 응답(AOK) 패킷을 전송하고 처리를 종료하도록 하고, 메모리 할당에 성공하면 패킷 데이터를 할당된 메모리에 복사하며, 해당 주 순차 번호 중에서 처음 수신한 패킷이 아니면 계속 서브 패킷을 할당된 메모리에 복사한 후에, 패킷 조합 상태 배열에 해당 패킷을 수신 상태로 세트하는 것을 특징으로 하는 다자간 정보 전송 방법.If the packet is first received by comparing the primary sequential number, the memory is allocated as much as the Total Data Size field of the packet, but if the memory allocation fails, the receive denying packet is transmitted and the primary sequential number is increased. When the next packet is received, it transmits an AOK packet and terminates the processing. If the memory allocation is successful, the packet data is copied to the allocated memory. And copying the subpacket into the allocated memory, and then setting the packet to a reception state in a packet combination state array.
KR1019980026321A 1998-06-30 1998-06-30 Reliable Multiparty Information Transmission Method in Internet Protocol Multicasting Environment KR100285177B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980026321A KR100285177B1 (en) 1998-06-30 1998-06-30 Reliable Multiparty Information Transmission Method in Internet Protocol Multicasting Environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980026321A KR100285177B1 (en) 1998-06-30 1998-06-30 Reliable Multiparty Information Transmission Method in Internet Protocol Multicasting Environment

Publications (2)

Publication Number Publication Date
KR20000004803A KR20000004803A (en) 2000-01-25
KR100285177B1 true KR100285177B1 (en) 2001-03-15

Family

ID=19542641

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980026321A KR100285177B1 (en) 1998-06-30 1998-06-30 Reliable Multiparty Information Transmission Method in Internet Protocol Multicasting Environment

Country Status (1)

Country Link
KR (1) KR100285177B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040071200A (en) * 2001-12-15 2004-08-11 톰슨 라이센싱 소시에떼 아노님 Videoconference bandwidth selection mechanism
KR101610229B1 (en) 2014-06-16 2016-04-08 강중식 Attaching and detaching device for tire

Also Published As

Publication number Publication date
KR20000004803A (en) 2000-01-25

Similar Documents

Publication Publication Date Title
Kasera et al. Scalable reliable multicast using multiple multicast groups
Braudes et al. Requirements for multicast protocols
Obraczka Multicast transport protocols: a survey and taxonomy
Towsley et al. A comparison of sender-initiated and receiver-initiated reliable multicast protocols
Koifman et al. RAMP: A reliable adaptive multicast protocol
US7710961B2 (en) System and method for sending packets over a computer network
Pasquale et al. The multimedia multicast channel
US7673060B2 (en) Systems and methods for providing reliable multicast messaging in a multi-node graphics system
JP3720026B2 (en) Device identification method supporting MCAP on the same network and multicast communication method using the same
Lee et al. IRMA: A reliable multicast architecture for the Internet
Mostafa et al. A taxonomy of multicast protocols for Internet applications
KR100285177B1 (en) Reliable Multiparty Information Transmission Method in Internet Protocol Multicasting Environment
Fisher Multicast issues for collaborative virtual environments
Mauthe et al. Multimedia group communications: towards new services
Kausar et al. End to end reliable multicast transport protocol requirements for collaborative multimedia systems
Dempsey et al. The multidriver: A reliable multicast service using the Xpress transfer protocol
Zuehlke et al. GCP: A Group Communication Protocol for Supporting Closed Groups in the Internet
Ramasivan Enhanced communication services for many-to-many multicasting using XTP
Diot Reliability in multicast services and protocols; A survey
Smith et al. A distributed interactive simulation intranet using RAMP, a reliable adaptive multicast protocol
Mauthe et al. Group support in multimedia communications systems
KR100562145B1 (en) Information Transmitting Method By Network Grouping
Brandt Reliable multicast protocols and their application on the Green Bank Telescope
Pejhan Protocols for Multipoint, Multimedia Communications
Wolf Designing Application-Tailored Multicast Protocols

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee