KR102424130B1 - A network system for transferring real-time data and an operating method thereof - Google Patents

A network system for transferring real-time data and an operating method thereof Download PDF

Info

Publication number
KR102424130B1
KR102424130B1 KR1020200161505A KR20200161505A KR102424130B1 KR 102424130 B1 KR102424130 B1 KR 102424130B1 KR 1020200161505 A KR1020200161505 A KR 1020200161505A KR 20200161505 A KR20200161505 A KR 20200161505A KR 102424130 B1 KR102424130 B1 KR 102424130B1
Authority
KR
South Korea
Prior art keywords
terminal
packet
relay server
network system
real
Prior art date
Application number
KR1020200161505A
Other languages
Korean (ko)
Other versions
KR20220073441A (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 KR1020200161505A priority Critical patent/KR102424130B1/en
Publication of KR20220073441A publication Critical patent/KR20220073441A/en
Application granted granted Critical
Publication of KR102424130B1 publication Critical patent/KR102424130B1/en

Links

Images

Classifications

    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/169Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks 

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 실시간 데이터 전송을 위한 네트워크 시스템은, 특정 사설망 내에 배치된 제1 단말기로부터 공중망 또는 특정 사설망 내의 N개의 제2 단말기로 실시간 데이터 전송을 위한 네트워크 시스템에 관한 것으로, 상기 제1 단말기와 상기 제2 단말기 간의 연결을 위한 릴레이 서버;를 포함하고, 상기 제1 단말기는 하나의 제1 패킷을 생성하여 상기 릴레이 서버로 전송하되, 상기 제1 패킷은 상기 제2 단말기의 정보를 포함하고, 상기 릴레이 서버는 상기 제1 패킷에 저장된 상기 제2 단말기의 정보에 기초하여 N개의 제2 패킷을 생성한 후 N개의 상기 제2 단말기에 각각 전송한다.A network system for real-time data transmission according to an embodiment of the present invention relates to a network system for real-time data transmission from a first terminal disposed in a specific private network to N second terminals in a public network or a specific private network, the first a relay server for connection between a first terminal and the second terminal, wherein the first terminal generates one first packet and transmits it to the relay server, wherein the first packet transmits information of the second terminal and, the relay server generates N second packets based on the information of the second terminal stored in the first packet, and then transmits the generated N second packets to each of the N second terminals.

Figure R1020200161505
Figure R1020200161505

Description

실시간 데이터 전송을 위한 네트워크 시스템 및 이의 운용방법{A NETWORK SYSTEM FOR TRANSFERRING REAL-TIME DATA AND AN OPERATING METHOD THEREOF}A NETWORK SYSTEM FOR TRANSFERRING REAL-TIME DATA AND AN OPERATING METHOD THEREOF

본 발명은 실시간 데이터 전송을 위한 네트워크 시스템 및 이의 운용방법에 관한 것으로, 구체적으로는 원격강의를 위한 실시간 화면전송시 네트워크 상의 트래픽을 감소시킬 수 있는 실시간 데이터 전송을 위한 네트워크 시스템 및 이의 운용방법에 관한 것이다. The present invention relates to a network system for real-time data transmission and a method for operating the same, and more particularly, to a network system for real-time data transmission capable of reducing traffic on a network during real-time screen transmission for remote lectures, and an operating method thereof will be.

최근 COVID 19 확산에 의하여 비대면 서비스가 빠르게 확산되고 있는 상황이며, 학교의 수업이나 기업에서의 회의 진행시 비대면 화상회의로 진행하는 사례가 일반화되고 있는 상황이다. Recently, due to the spread of COVID-19, non-face-to-face services are rapidly spreading, and cases of non-face-to-face video conferencing are becoming common when conducting meetings at schools or companies.

예를 들면, 도 1에 도시된 바와 같이 선생님의 단말기(10)는 인터넷 네트워크와 같은 공중망(2)을 통하여 다수의 학생들의 단말기(20)와 TCP(Transmission Control Protocol) 방식으로 연결될 수 있으며, 이를 통하여 선생님의 단말기(10)로부터 다수의 학생들의 단말기(20)에 데이터를 전달할 수 있게 된다.For example, as shown in FIG. 1 , the teacher's terminal 10 may be connected to the terminals 20 of a plurality of students through a public network 2 such as an Internet network in a TCP (Transmission Control Protocol) method. Through this, it is possible to transfer data from the terminal 10 of the teacher to the terminals 20 of a plurality of students.

그러나, 학교 및 회사 등의 경우 일반적으로 내부의 인트라넷을 구축하고 있으며, 이로 인하여 선생님의 단말기(10)가 사설망(1) 내에 위치하는 경우 도 2에 도시된 바와 같이 공중망(2)을 통하여 학생들의 단말기(20)와의 통신을 수행할 수 없다는 문제점이 있다. However, in the case of schools and companies, in general, internal intranets are built, and for this reason, when the teacher's terminal 10 is located in the private network 1, as shown in FIG. There is a problem that communication with the terminal 20 cannot be performed.

이러한 문제점을 해결하기 위하여, 도 3에 도시된 바와 같이 TCP 대신 UDP(User Datagram Protocol) 및 홀펀칭(Hole-Punching) 방식을 사용하여 사설망(1) 내의 선생님의 단말기(10)와 공중망(2) 내의 학생들의 단말기(20) 간의 연결을 시도하는 방안이 제안되고 있다.In order to solve this problem, as shown in FIG. 3 , the teacher's terminal 10 in the private network 1 and the public network 2 using UDP (User Datagram Protocol) and hole-punching methods instead of TCP as shown in FIG. A method of attempting a connection between the terminals 20 of students in the school is proposed.

다만 이러한 홀펀칭 방식의 경우, 네트워크 상태에 따라 불가능한 상황이 발생할 수도 있으므로, 학생의 단말기(20)가 홀펀칭이 불가능한 환경에 위치할 경우 도 4에 도시된 바와 같이 선생님의 단말기(10)와 학생의 단말기(20) 사이의 연결을 담보하기 위한 릴레이 서버(100)를 구비하게 된다.However, in the case of such a hole punching method, since an impossible situation may occur depending on the network state, when the student's terminal 20 is located in an environment where hole punching is impossible, as shown in FIG. 4 , the teacher's terminal 10 and the student It is provided with a relay server 100 for securing the connection between the terminals 20 of the.

이러한 릴레이 서버(100)를 통하여 사설망(1) 내의 하나의 제1 단말기(10)가 공중망(2) 내에 위치한 N개의 제2 단말기(20)와의 연결이 가능하지만, 이때 중복된 패킷의 전송을 최소화하여 네트워크의 부하를 줄일 수 있는 기술이 요구되는 상황이다.Through this relay server 100, one first terminal 10 in the private network 1 can connect with N second terminals 20 located in the public network 2, but in this case, transmission of duplicate packets is minimized. Therefore, a technology that can reduce the load on the network is required.

한편, 하기 선행기술문헌은 네트워크에서의 부하 분산 방법에 관한 기술적 내용을 개시하고 있으며, 본 발명의 기술적 요지는 개시하고 있지 않다. On the other hand, the following prior art documents disclose technical content regarding a load balancing method in a network, but do not disclose the technical gist of the present invention.

대한민국 공개특허공보 제10-2017-078425호Republic of Korea Patent Publication No. 10-2017-078425

본 발명의 일 실시예에 실시간 데이터 전송을 위한 네트워크 시스템 및 이의 운용방법은 전술한 문제점을 해결하기 위하여 다음과 같은 해결과제를 목적으로 한다.In an embodiment of the present invention, a network system for real-time data transmission and an operating method thereof have the following object in order to solve the above-described problems.

사설망 내에 배치된 제1 단말기로부터 공중망 또는 특정 사설망 내의 N개의 제2 단말기로의 실시간 데이터 전송시 네트워크의 부하를 최소화함으로써 실시간 데이터 전송이 원활히 이루어질 수 있는 네트워크 시스템 및 이의 운용방법을 제공하는 것이다. An object of the present invention is to provide a network system capable of smoothly transmitting real-time data by minimizing the load on the network when transmitting real-time data from a first terminal disposed in a private network to N second terminals in a public network or a specific private network, and a method for operating the same.

본 발명의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당해 기술분야에 있어서의 통상의 지식을 가진 자에게 명확하게 이해되어 질 수 있을 것이다.The problems to be solved of the present invention are not limited to those mentioned above, and other problems not mentioned will be clearly understood by those of ordinary skill in the art from the following description.

본 발명의 일 실시예에 따른 실시간 데이터 전송을 위한 네트워크 시스템은, 특정 사설망 내에 배치된 제1 단말기로부터 공중망 또는 특정 사설망 내의 N개의 제2 단말기로 실시간 데이터 전송을 위한 네트워크 시스템에 관한 것으로, 상기 제1 단말기와 상기 제2 단말기 간의 연결을 위한 릴레이 서버;를 포함하고, 상기 제1 단말기는 하나의 제1 패킷을 생성하여 상기 릴레이 서버로 전송하되, 상기 제1 패킷은 상기 제2 단말기의 정보를 포함하고, 상기 릴레이 서버는 상기 제1 패킷에 저장된 상기 제2 단말기의 정보에 기초하여 N개의 제2 패킷을 생성한 후 N개의 상기 제2 단말기에 각각 전송한다.A network system for real-time data transmission according to an embodiment of the present invention relates to a network system for real-time data transmission from a first terminal disposed in a specific private network to N second terminals in a public network or a specific private network, the first a relay server for connection between a first terminal and the second terminal, wherein the first terminal generates one first packet and transmits it to the relay server, wherein the first packet transmits information of the second terminal and, the relay server generates N second packets based on the information of the second terminal stored in the first packet, and then transmits the generated N second packets to each of the N second terminals.

상기 릴레이 서버는, 상기 제1 단말기의 로그인 정보에 기초하여 생성되는 제1 단말기 데이터 블럭; 및 상기 제2 단말기의 상기 제1 단말기와의 연결요청에 기초하여 생성되는 제2 단말기 데이터 블럭;을 포함하는 것이 바람직하다.The relay server may include: a first terminal data block generated based on login information of the first terminal; and a second terminal data block generated based on a connection request of the second terminal with the first terminal.

상기 제1 단말기 데이터 블럭은 상기 제1 단말기와의 연결을 위한 제2 단말기의 슬롯넘버 및 상기 슬롯넘버와 대응되는 소켓정보를 포함하는 슬롯어레이를 포함하고, 상기 제2 단말기 데이터 블럭은 상기 제2 단말기에서 연결을 요청한 제1 단말기의 정보, 상기 제2 단말기의 슬롯넘버 및 상기 제2 단말기의 슬롯넘버와 대응되는 제2 단말기의 소켓정보를 포함하는 것이 바람직하다.The first terminal data block includes a slot array including a slot number of a second terminal for connection with the first terminal and socket information corresponding to the slot number, wherein the second terminal data block includes the second terminal data block. It is preferable to include information on the first terminal requesting the connection from the terminal, the slot number of the second terminal, and socket information of the second terminal corresponding to the slot number of the second terminal.

상기 제2 단말기가 자신의 슬롯넘버 및 연결하고자 하는 제1 단말기 정보를 입력하여 상기 네트워크 시스템에 로그인을 진행하면, 상기 릴레이 서버에는 상기 제2 단말기에 대한 제2 단말기 데이터 블럭이 생성되고, 상기 릴레이 서버는 상기 제1 단말기에게 로그인을 진행한 상기 제2 단말기의 슬롯넘버가 연결 가능한지 여부의 확인을 요청하는 것이 바람직하다.When the second terminal enters its own slot number and information on the first terminal to be connected and logs in to the network system, the relay server generates a second terminal data block for the second terminal, and the relay Preferably, the server requests the first terminal to check whether the slot number of the second terminal, which has logged in, is connectable.

상기 제1 단말기가 로그인을 진행한 상기 제2 단말기의 슬롯넘버가 연결 가능한 상태임을 상기 릴레이 서버에 통지하면, 상기 슬롯어레이에는 로그인을 진행한 상기 제2 단말기의 슬롯넘버 및 소켓정보가 저장되는 것이 바람직하다.When the first terminal notifies the relay server that the slot number of the second terminal in which the login is performed is in a connectable state, the slot number and the socket information of the second terminal in which the login is performed are stored in the slot array desirable.

상기 릴레이 서버는, 상기 제1 패킷을 분석하는 멀티패킷 분석모듈; 상기 멀티패킷 분석모듈의 분석 내용에 기초하여 N개의 제2 패킷을 생성하는 제2 패킷 생성모듈; 및 상기 N개의 제2 패킷을 N개의 제2 단말기에 각각 전송하는 제2 패킷 송신모듈;을 더 포함하는 것이 바람직하다.The relay server includes: a multi-packet analysis module for analyzing the first packet; a second packet generation module for generating N second packets based on the analysis contents of the multi-packet analysis module; and a second packet transmission module for transmitting the N second packets to the N second terminals, respectively.

상기 제1 패킷은, 데이터를 전송하여야 할 제2 단말기의 수신대상수 및 제2 단말기의 슬롯번호를 포함하는 수신대상정보를 포함하는 것이 바람직하다.The first packet preferably includes reception target information including the number of reception targets of the second terminal to which data is to be transmitted and the slot number of the second terminal.

상기 멀티패킷 분석모듈은 상기 제1 패킷에 포함된 제2 단말기의 수신대상수에 기초하여 상기 제2 패킷의 생성개수를 결정하고, 상기 제1 패킷에 포함된 제2 단말기의 슬롯번호에 기초하여 상기 제2 패킷을 송신할 제2 단말기를 결정하는 것이 바람직하다.The multi-packet analysis module determines the number of generation of the second packet based on the number of reception targets of the second terminal included in the first packet, and based on the slot number of the second terminal included in the first packet Preferably, the second terminal to which the second packet is to be transmitted is determined.

본 발명의 일 실시예에 따른 실시간 데이터 전송을 위한 네트워크 시스템의 운용방법은, 특정 사설망 내에 배치된 제1 단말기로부터 공중망 또는 특정 사설망 내의 N개의 제2 단말기로 실시간 데이터 전송을 위한 네트워크 시스템 운용방법에 관한 것으로, 상기 네트워크 시스템은 상기 제1 단말기와 상기 제2 단말기 간의 연결을 위한 릴레이 서버를 포함하고, 상기 제1 단말기의 로그인 정보에 기초하여 상기 릴레이 서버가 제1 단말기 데이터 블럭을 생성하는 단계; 상기 제2 단말기의 로그인 정보에 기초하여 상기 릴레이 서버가 제2 단말기 데이터 블럭을 생성하는 단계; 상기 제1 단말기가 상기 제2 단말기 데이터 블럭에 저장된 내용에 기초하여 상기 제2 단말기의 접속이 가능한지 여부를 확인하는 단계; 상기 제1 단말기 데이터 블럭에 포함된 슬롯어레이에 상기 제2 단말기의 슬롯넘버 및 소켓정보를 저장하는 단계; 상기 제1 단말기가 데이터를 포함하는 하나의 제1 패킷을 생성하여 상기 릴레이 서버로 전송하는 단계; 상기 릴레이 서버가 상기 제1 패킷에 기초하여 N개의 제2 패킷을 생성한 후 N개의 상기 제2 단말기에 각각 전송하는 단계;를 포함한다.A method of operating a network system for real-time data transmission according to an embodiment of the present invention includes a network system operating method for real-time data transmission from a first terminal disposed in a specific private network to a public network or N second terminals in a specific private network. wherein the network system includes a relay server for connection between the first terminal and the second terminal, and the relay server generates a first terminal data block based on login information of the first terminal; generating, by the relay server, a second terminal data block based on the login information of the second terminal; checking, by the first terminal, whether access to the second terminal is possible based on the contents stored in the second terminal data block; storing the slot number and socket information of the second terminal in a slot array included in the first terminal data block; generating, by the first terminal, one first packet including data and transmitting it to the relay server; and generating, by the relay server, N second packets based on the first packet and then transmitting each of the N second packets to the N second terminals.

상기 제1 패킷은, 상기 제1 단말기와의 연결을 요청하는 제2 단말기의 개수 및 제2 단말기의 슬롯번호를 포함하는 것이 바람직하다.Preferably, the first packet includes the number of second terminals requesting connection with the first terminal and a slot number of the second terminal.

상기 릴레이 서버는, 상기 제1 패킷에 포함된 제2 단말기의 개수에 기초하여 상기 제2 패킷의 생성개수를 결정하고, 상기 제1 패킷에 포함된 제2 단말기의 슬롯번호에 기초하여 상기 제2 패킷을 송신할 제2 단말기를 결정하는 것이 바람직하다. The relay server determines the number of generation of the second packet based on the number of second terminals included in the first packet, and the second packet based on the slot number of the second terminal included in the first packet. It is desirable to determine the second terminal to which to transmit the packet.

본 발명의 일 실시예에 따른 실시간 데이터 전송을 위한 네트워크 시스템 및 이의 운용방법은 사설망 내에 위치한 제1 단말기가 N개의 제2 단말기의 정보를 포함하는 하나의 멀티패킷을 생성하여 릴레이 서버로 전달하고, 릴레이 서버는 멀티패킷 내에 포함된 제2 단말기의 정보에 기초하여 복수 개의 패킷을 생성한 후 N개의 제2 단말기 각각에 전송함으로써 하나의 제1 단말기와 N개의 제2 단말기 사이의 네트워크 트래픽을 감소시킬 수 있는 효과를 기대할 수 있다. A network system for real-time data transmission and an operating method thereof according to an embodiment of the present invention, a first terminal located in a private network generates one multi-packet including information of N second terminals and transmits it to a relay server, The relay server generates a plurality of packets based on the information of the second terminal included in the multi-packet and transmits them to each of the N second terminals to reduce network traffic between one first terminal and the N second terminals. possible effects can be expected.

본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당해 기술분야에 있어서의 통상의 지식을 가진 자에게 명확하게 이해되어질 수 있을 것이다.Effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those of ordinary skill in the art from the following description.

도 1 및 도 2는 하나의 제1 단말기와 N개의 제2 단말기 간의 TCP 방식의 네트워크 연결방식을 도시한 개념도이다.
도 3는 하나의 제1 단말기와 N개의 제2 단말기 간의 UDP 홀펀칭 방식 및 릴레이 서버를 이용한 네트워크 연결방식을 도시한 개념도이다.
도 4는 도 3에서 릴레이 서버를 이용한 네트워크 연결방식만을 추출하여 간략히 도시한 개념도이다.
도 5는 도 4의 네트워크 시스템에서의 종래 패킷 전송방식을 도시한 개념도이다.
도 6은 본 발명의 일 실시예에 따른 네트워크 시스템의 패킷 전송방식을 도시한 개념도이다.
도 7은 본 발명의 일 실시예에 따른 네트워크 시스템의 구성을 간략히 도시한 개념도이다.
도 8은 도 7에서의 릴레이 서버의 세부 구성을 도시한 블록도이다.
도 9 내지 도 11은 본 발명의 일 실시예에 따른 네트워크 시스템에서의 릴레이 서버의 기능을 설명하기 위한 개념도이다.
도 12는 본 발명의 일 실시예에 따른 네트워크 시스템에서 이용되는 제1 패킷의 구성도이다.
도 13은 본 발명의 일 실시예에 따른 네트워크 시스템에서 이용되는 제2 패킷의 구성도이다.
도 14는 본 발명의 일 실시예에 따른 네트워크 시스템의 운용방법을 시계열적으로 도시한 플로우차트이다.
1 and 2 are conceptual diagrams illustrating a TCP-based network connection method between one first terminal and N second terminals.
3 is a conceptual diagram illustrating a UDP hole punching method between one first terminal and N second terminals and a network connection method using a relay server.
FIG. 4 is a conceptual diagram schematically illustrating only a network connection method using a relay server in FIG. 3 .
FIG. 5 is a conceptual diagram illustrating a conventional packet transmission method in the network system of FIG. 4 .
6 is a conceptual diagram illustrating a packet transmission method of a network system according to an embodiment of the present invention.
7 is a conceptual diagram schematically illustrating the configuration of a network system according to an embodiment of the present invention.
8 is a block diagram illustrating a detailed configuration of the relay server in FIG. 7 .
9 to 11 are conceptual diagrams for explaining a function of a relay server in a network system according to an embodiment of the present invention.
12 is a block diagram of a first packet used in a network system according to an embodiment of the present invention.
13 is a block diagram of a second packet used in a network system according to an embodiment of the present invention.
14 is a flowchart illustrating a method of operating a network system in time series according to an embodiment of the present invention.

첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. A preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted.

또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In addition, in the description of the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings.

이하 도 3 내지 도 13을 참조하여 본 발명의 일 실시예에 따른 실시간 데이터 전송을 위한 네트워크 시스템에 대하여 설명하도록 한다. Hereinafter, a network system for real-time data transmission according to an embodiment of the present invention will be described with reference to FIGS. 3 to 13 .

본 발명의 일 실시예에 따른 실시간 데이터 전송을 위한 네트워크 시스템은 도 3 및 도 4에 도시된 바와 같이 특정 사설망(1) 내에 배치된 제1 단말기(10)로부터 공중망(2) 또는 사설망 내의 N개의 제2 단말기(20)로 실시간 데이터 전송을 위한 네트워크 시스템에 관한 것으로, UDP 홀펀칭 방식을 이용하여 하나의 제1 단말기(10)와 N개의 제2 단말기(20)를 연결해주는 네트워크 시스템에 관한 것이다. A network system for real-time data transmission according to an embodiment of the present invention, as shown in FIGS. 3 and 4 , from a first terminal 10 disposed in a specific private network 1 to a public network 2 or N in the private network To a network system for real-time data transmission to the second terminal 20, and to a network system for connecting one first terminal 10 and N second terminals 20 using a UDP hole punching method .

특히 본 발명의 일 실시예에 따른 실시간 데이터 전송을 위한 네트워크 시스템에서는 홀펀칭에 의한 데이터 전송이 불가능한 환경에 위치한 제2 단말기(20)와의 데이터 전송을 위하여 릴레이 서버(100)를 포함하도록 구성된다.In particular, the network system for real-time data transmission according to an embodiment of the present invention is configured to include the relay server 100 for data transmission with the second terminal 20 located in an environment where data transmission by hole punching is impossible.

도 4에 도시된 바와 같이 특정 사설망(1) 내에 배치된 제1 단말기(10)는 릴레이 서버(100)로 데이터를 전달하면, 릴레이 서버(100)는 제1 단말기로부터 전달받은 데이터를 복수 개의 제2 단말기(20)로 전달해주는 기능을 수행한다. As shown in FIG. 4 , when the first terminal 10 disposed in the specific private network 1 transmits data to the relay server 100 , the relay server 100 transmits the data received from the first terminal to a plurality of second terminals. 2 It performs a function of transmitting to the terminal 20 .

한편, 제1 단말기(10)가 2개의 제2 단말기(20)로 데이터를 전송할 경우, Student 1 및 Student 2에게 각각 데이터 패킷을 보내주어야 하는데, 이때 Student 1 및 Student 2에게 전송되어야 하는 데이터가 동일한 데이터일 경우, 제1 단말기(10)는 도 5에 도시된 바와 같이 타겟(Target) 이외의 모든 내용이 동일한 데이터 패킷을 네트워크를 통하여 2차례를 전송하여야 한다. On the other hand, when the first terminal 10 transmits data to the two second terminals 20 , it is necessary to send data packets to Student 1 and Student 2 respectively. At this time, the data to be transmitted to Student 1 and Student 2 are the same. In the case of data, as shown in FIG. 5 , the first terminal 10 has to transmit data packets having the same contents except for the target twice through the network.

만약, 선생님이 30명의 학생과 원격 화상수업을 진행해야 할 경우 선생님의 제1 단말기(10)로부터 30개의 동일한 패킷이 네트워크를 통해 릴레이 서버(100)에 전달되고, 릴레이 서버(100)는 전송받은 패킷을 다시 30개의 학생들의 제2 단말기(20)에 일일이 전송해야 하는 상황이 발생하며, 이로 인하여 네트워크의 부하량이 크게 늘어나게 된다.If the teacher needs to conduct a remote video class with 30 students, 30 identical packets from the teacher's first terminal 10 are transmitted to the relay server 100 through the network, and the relay server 100 receives the transmitted packets. There arises a situation in which one by one has to be transmitted to the second terminals 20 of 30 students again, which greatly increases the load of the network.

본 발명의 일 실시예에 따른 네트워크 시스템은 상기의 문제점을 해결하기 위하여 도 6에 도시된 바와 같이 제1 단말기(10)로부터 제2 단말기로 패킷을 전송하도록 구성된다. In order to solve the above problem, the network system according to an embodiment of the present invention is configured to transmit a packet from the first terminal 10 to the second terminal as shown in FIG. 6 .

즉, 제1 단말기(10)는 하나의 제1 패킷(200)을 생성하여 릴레이 서버(100)로 전송하되, 제1 패킷(200)에는 제2 단말기(20)의 정보, 예를 들면 데이터 전송이 필요한 제2 단말기(20)의 개수 및 제2 단말기(20)의 ID 정보 등을 포함한다.That is, the first terminal 10 generates one first packet 200 and transmits it to the relay server 100 , and the first packet 200 includes information of the second terminal 20 , for example, data transmission. This includes the necessary number of second terminals 20 and ID information of the second terminal 20 .

릴레이 서버(100)는 제1 패킷(200)에 저장된 제2 단말기(20)의 정보에 기초하여 N개의 제2 패킷(300)을 생성한 후 N개의 제2 단말기(20)에 각각 전송하도록 구성되며, 이러한 제1 패킷(200) 및 제2 패킷(300)에 대한 자세한 설명은 후술하도록 한다.The relay server 100 is configured to generate N second packets 300 based on the information of the second terminal 20 stored in the first packet 200 and then transmit the N second packets 300 to each of the N second terminals 20 . and a detailed description of the first packet 200 and the second packet 300 will be described later.

한편, 상술한 릴레이 서버(100)는 상술한 기능의 수행을 위하여 도 8에 도시된 바와 같이 제1 단말기 데이터 블럭(110) 및 제2 단말기 데이터 블럭(120)을 포함하도록 구성될 수 있다.Meanwhile, the above-described relay server 100 may be configured to include a first terminal data block 110 and a second terminal data block 120 as shown in FIG. 8 in order to perform the above-described function.

제1 단말기 데이터 블럭(110)은 제1 단말기(10)의 로그인 정보에 기초하여 생성되는 블럭이며, 구체적으로 제1 단말기(10)에게 부여된 ID를 이용하여 선생님 등의 제1 단말기(10)의 사용자가 데이터 전송을 위한 프로그램을 실행한 후 프로그램을 통하여 로그인을 수행할 경우 릴레이 서버(100)에는 해당되는 제1 단말기(10)의 제1 단말기 데이터 블럭(110)이 생성된다. The first terminal data block 110 is a block generated based on the login information of the first terminal 10 , and specifically, the first terminal 10 such as a teacher using the ID given to the first terminal 10 . When a user of , executes a program for data transmission and then logs in through the program, the first terminal data block 110 of the corresponding first terminal 10 is generated in the relay server 100 .

이러한 제1 단말기 데이터 블럭(110)은 도 9에 도시된 바와 같이 제1 단말기 소켓저장부(111) 및 슬롯어레이(slot array)(112)를 포함하도록 구성된다.The first terminal data block 110 is configured to include a first terminal socket storage unit 111 and a slot array 112 as shown in FIG. 9 .

제1 단말기 소켓저장부(111)는 연결된 제1 단말기(10)의 프로그램과 통신할 수 있는 소켓(socket) 번호가 저장되며, 제1 단말기 슬롯어레이(112)에는 제1 단말기(10)와의 연결을 위한 제2 단말기(20)의 슬롯넘버 및 해당 슬롯넘버와 대응되는 제2 단말기(20)의 소켓정보를 포함하도록 구성된다. The first terminal socket storage unit 111 stores a socket number that can communicate with the program of the connected first terminal 10 , and the first terminal slot array 112 has a connection with the first terminal 10 . It is configured to include the slot number of the second terminal 20 and socket information of the second terminal 20 corresponding to the corresponding slot number.

제2 단말기 데이터 블럭(120)은 제2 단말기(20)의 제1 단말기(10)와의 연결요청에 기초하여 생성되는 블럭이다. The second terminal data block 120 is a block generated based on a connection request of the second terminal 20 with the first terminal 10 .

구체적으로 제2 단말기(20)의 사용자가 자신의 슬롯넘버 및 연결하고자 하는 제1 단말기(10)의 ID를 입력하여 로그인하게 되면, 릴레이 서버(100)에는 도 10에 도시된 바와 같이 제2 단말기(20)의 제2 단말기 데이터 블럭(120)이 임시로 생성된다.Specifically, when the user of the second terminal 20 enters his/her slot number and the ID of the first terminal 10 to be connected to log in, the relay server 100 is connected to the second terminal as shown in FIG. 10 . The second terminal data block 120 of (20) is temporarily created.

이러한 제2 단말기 데이터 블럭(120)에는 제2 단말기(20)의 로그인시 입력한 제1 단말기(10)의 ID, 해당 제2 단말기(20)의 슬롯넘버 및 소켓정보가 저장되며, 릴레이 서버(100)는 제2 단말기 데이터 블럭(120)에 기록된 제1 단말기(10)의 ID를 확인하여 해당되는 제1 단말기(10)에게 제2 단말기(20)의 슬롯넘버가 사용 가능한 상태인지 여부의 확인을 요청한다.The second terminal data block 120 stores the ID of the first terminal 10 input at the time of logging in the second terminal 20, the slot number and socket information of the corresponding second terminal 20, and the relay server ( 100) confirms the ID of the first terminal 10 recorded in the second terminal data block 120 to determine whether the slot number of the second terminal 20 is available to the corresponding first terminal 10 Ask for confirmation.

이후, 제1 단말기(10)가 제2 단말기(20)의 슬롯넘버 사용이 가능함을 릴레이 서버(100)에게 알려주면, 도 11에 도시된 바와 같이 제2 단말기 데이터 블럭(120)에 저장된 제2 단말기(20)의 슬롯넘버 및 소켓정보 등은 제1 단말기 데이터 블럭(110)의 슬롯어레이(112)에 저장된다. Thereafter, when the first terminal 10 informs the relay server 100 that the slot number of the second terminal 20 is available, the second terminal stored in the second terminal data block 120 as shown in FIG. 11 . The slot number and socket information of the terminal 20 are stored in the slot array 112 of the first terminal data block 110 .

상술한 과정을 통하여 제1 단말기(10)는 더 이상 제2 단말기(20)가 어떠한 IP를 갖고, 어떠한 소켓을 쓰고 있는지 몰라도, 자신이 보내고 싶은 제2 단말기(20)의 슬롯넘버만 알면 해당 슬롯넘버의 제2 단말기(20)에게 데이터를 전송할 수 있게 된다. Through the above-described process, the first terminal 10 no longer knows what IP the second terminal 20 has and what socket it uses, but only knows the slot number of the second terminal 20 it wants to send to the corresponding slot. It is possible to transmit data to the second terminal 20 of the number.

상술한 과정이 완료되면, 제1 단말기(10)는 릴레이 서버(100)에 제1 패킷(100)을 전송하고, 릴레이 서버(100)는 제1 패킷(100)의 분석 내용에 기초하여 제2 패킷(200)을 생성한 후 N개의 제2 단말기(20)에 전송하는데, 이를 위하여 릴레이 서버(100)는 멀티패킷 분석모듈(130), 제2 패킷 생성모듈(140) 및 제2 패킷 전송모듈(150)을 더 포함하도록 구성된다. When the above-described process is completed, the first terminal 10 transmits the first packet 100 to the relay server 100 , and the relay server 100 transmits the second packet 100 based on the analysis of the first packet 100 . After generating the packet 200, it is transmitted to the N second terminals 20. To this end, the relay server 100 includes the multi-packet analysis module 130, the second packet generation module 140, and the second packet transmission module. It is configured to further include 150 .

멀티패킷 분석모듈(130)은 제1 단말기(100)로부터 전달받은 제1 패킷(200)을 분석하는 기능을 수행하며, 제2 패킷 생성모듈(140)은 멀티패킷 분석모듈(130)의 분석 내용에 기초하여 N개의 제2 패킷(300)을 생성하는 기능을 수행하며, 제2 패킷 송신모듈(150)은 제2 패킷 생성모듈(140)에서 생성한 N개의 제2 패킷(300)을 N개의 제2 단말기(20)에 각각 전송하는 기능을 수행한다. The multi-packet analysis module 130 performs a function of analyzing the first packet 200 received from the first terminal 100 , and the second packet generation module 140 analyzes the contents of the multi-packet analysis module 130 . performs a function of generating N second packets 300 based on the It performs a function of transmitting each to the second terminal 20 .

특히 제1 패킷(200)은 도 12에 도시된 바와 같이 패킷헤더(210), 데이터의 수신대상수(220), 수신대상의 슬롯번호(230), 데이터의 크기정보(240) 및 실제 데이터(250)를 포함하도록 구성된다. In particular, as shown in FIG. 12 , the first packet 200 includes a packet header 210 , the number of data reception targets 220 , the reception target slot number 230 , data size information 240 , and actual data ( 250).

여기에서 데이터의 수신대상수(220)는 제1 단말기(10)가 데이터를 전송하여야 할 제2 단말기(20)의 개수를 의미하며, 제1 단말기(10)가 10개의 제2 단말기(20)에 데이터를 전송할 경우 데이터의 수신대상수(220)는 10로 특정된다. Here, the number of data reception targets 220 means the number of second terminals 20 to which the first terminal 10 should transmit data, and the first terminal 10 includes 10 second terminals 20 . When data is transmitted to , the number of data reception targets 220 is specified as 10.

또한 수신대상의 슬롯번호(230)는 제1 단말기(10)에서 데이터를 전송해야 할 제2 단말기(20)의 슬롯번호를 의미하며, 제1 단말기(10)가 10개의 제2 단말기(20)에 데이터를 전송할 경우 제1 패킷(200)에는 10개의 슬롯번호(230)를 포함하도록 구성된다.In addition, the slot number 230 of the reception target means the slot number of the second terminal 20 to which the first terminal 10 should transmit data, and the first terminal 10 includes ten second terminals 20 . When data is transmitted to , the first packet 200 is configured to include 10 slot numbers 230 .

릴레이 서버(100)의 멀티패킷 분석모듈(130)은 제1 단말기(10)로부터 전달받은 제1 패킷(100)의 수신대상정보를 분석하는데, 구체적으로 제1 패킷(100)에 포함된 수신대상수(220)에 기초하여 제2 패킷(200)의 생성개수를 결정하고 수신대상의 슬롯번호(230)에 기초하여 제2 패킷(200)을 송신할 제2 단말기(20)를 결정한다.The multi-packet analysis module 130 of the relay server 100 analyzes the reception target information of the first packet 100 received from the first terminal 10 , specifically, the reception target included in the first packet 100 . The number of generated second packets 200 is determined based on the number 220, and the second terminal 20 to which the second packet 200 is to be transmitted is determined based on the slot number 230 of the reception target.

이후 제2 패킷 생성모듈(140)은 멀티패킷 분석모듈(130)의 분석내용에 기초하여 복수 개의 제2 패킷(300)을 생성하는데, 제2 패킷(300)은 도 13에 도시된 바와 같이 수정된 패킷헤더(310), 데이터 크기정보(320) 및 실제 데이터(330)를 포함하도록 구성된다. Thereafter, the second packet generation module 140 generates a plurality of second packets 300 based on the analysis contents of the multi-packet analysis module 130, and the second packet 300 is modified as shown in FIG. 13 . It is configured to include the packet header 310 , data size information 320 , and actual data 330 .

마지막으로 제2 패킷 송신모듈(150)은 멀티패킷 분석모듈(130)에서 결정된 제2 단말기(20)로 제2 패킷을 각각 송신하게 된다. Finally, the second packet transmission module 150 transmits each second packet to the second terminal 20 determined by the multi-packet analysis module 130 .

즉, 제1 단말기(10) 및 제2 단말기(20)의 로그인 과정을 통하여 릴레이 서버(100)에는 데이터 전송을 위한 모든 준비를 갖추고 있으며, 제1 단말기(10)는 데이터를 보내고 싶은 제2 단말기(20)의 개수와, 슬롯번호만을 제1 패킷(200)에 추가해 주면, 나머지 작업은 릴레이 서버(100)에서 제1 패킷(200)을 분석하여, 필요한 만큼 패킷을 복사하여 제2 패킷(300)을 생성한 후 제2 단말기(20)로 송신하게 된다. That is, through the log-in process of the first terminal 10 and the second terminal 20, the relay server 100 is equipped with all preparations for data transmission, and the first terminal 10 is a second terminal that wants to send data. If only the number and slot number of (20) are added to the first packet 200, the rest of the work is to analyze the first packet 200 in the relay server 100, and copy the packets as needed to the second packet 300 ) is generated and then transmitted to the second terminal 20 .

이를 통하여 종래와 같이 제1 단말기(10)에서 N개의 제2 단말기(20)로 데이터를 전송할 때 제1 단말기(10)에서 릴레이 서버(100)로 N개의 패킷을 전송할 필요가 없이 1개의 패킷만을 전송할 수 있으므로, 네트워크 부하를 최소화할 수 있는 효과를 기대할 수 있게 된다.Through this, when data is transmitted from the first terminal 10 to the N second terminals 20 as in the prior art, there is no need to transmit N packets from the first terminal 10 to the relay server 100, and only one packet is transmitted. Since it can be transmitted, the effect of minimizing the network load can be expected.

이하에서는 도 14를 참조하여 본 발명의 일 실시예에 따른 실시간 데이터 전송을 위한 네트워크 시스템의 운용방법에 대하여 설명하되, 앞에서 이미 설명한 내용과 중복되는 내용은 그 자세한 설명을 생략하도록 한다. Hereinafter, a method of operating a network system for real-time data transmission according to an embodiment of the present invention will be described with reference to FIG. 14, but the detailed description of the content overlapping with the content already described above will be omitted.

본 발명의 일 실시예에 따른 실시간 데이터 전송을 위한 네트워크 시스템의 운용방법은 특정 사설망 내에 배치된 제1 단말기로부터 공중망 또는 특정 사설망 내의 N개의 제2 단말기로 실시간 데이터 전송을 위한 네트워크 시스템 운용방법에 관한 것으로, 여기에서 네트워크 시스템은 제1 단말기(10)와 제2 단말기(20) 간의 연결을 위한 릴레이 서버(100)를 포함한다. A method of operating a network system for real-time data transmission according to an embodiment of the present invention relates to a network system operating method for real-time data transmission from a first terminal disposed in a specific private network to a public network or N second terminals in a specific private network As such, the network system includes a relay server 100 for connection between the first terminal 10 and the second terminal 20 .

특히 본 발명의 일 실시예에 따른 실시간 데이터 전송을 위한 네트워크 시스템의 운용방법은 도 14에 도시된 바와 같이 먼저 제1 단말기(10)의 로그인 정보에 기초하여 릴레이 서버(100)가 제1 단말기 데이터 블럭(110)을 생성하는 단계(S100)와, 제2 단말기(20)의 로그인 정보에 기초하여 릴레이 서버(100)가 제2 단말기 데이터 블럭(120)을 생성하는 단계(S200)가 수행된다. In particular, in the method of operating a network system for real-time data transmission according to an embodiment of the present invention, as shown in FIG. 14 , first, the relay server 100 performs the first terminal data based on the login information of the first terminal 10 . The step (S100) of generating the block 110 and the step (S200) of the relay server 100 generating the second terminal data block 120 based on the login information of the second terminal 20 are performed.

이후, 제1 단말기(10)가 제2 단말기 데이터 블럭에 저장된 내용에 기초하여 제2 단말기(20)의 접속이 가능한지 여부를 확인하는 단계(S300)와, 제1 단말기 데이터 블럭에 포함된 슬롯어레이(slot array)에 제2 단말기(20)의 슬롯넘버 및 소켓정보를 저장하는 단계(S400)가 순차적으로 진행된다. Then, the first terminal 10 on the basis of the contents stored in the second terminal data block to determine whether the connection of the second terminal 20 is possible (S300), and the slot array included in the first terminal data block A step (S400) of storing the slot number and socket information of the second terminal 20 in (slot array) is sequentially performed.

이후, 제1 단말기(10)가 데이터를 포함하는 하나의 제1 패킷(200)을 생성하여 릴레이 서버(100)로 전송하는 단계(S500)가 수행되며, 마지막으로 릴레이 서버(100)가 제1 단말기(10)로부터 전달받은 제1 패킷에 기초하여 N개의 제2 패킷(300)을 생성한 후 N개의 제2 단말기(20)에 각각 전송하는 단계(S600)가 수행된다. After that, the first terminal 10 generates one first packet 200 including data and transmits it to the relay server 100 ( S500 ) is performed, and finally, the relay server 100 sends the first packet 200 . After generating N second packets 300 based on the first packet received from the terminal 10, a step S600 of transmitting the N second packets 300 to each of the N second terminals 20 is performed.

본 명세서에서 설명되는 실시예와 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 예시적으로 설명하는 것에 불과하다. 따라서 본 명세서에 개시된 실시예들은 본 발명의 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이므로, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것이 아님은 자명하다. 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당해 기술분야에 있어서의 통상의 지식을 가진 자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시예는 모두 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다. The embodiments described in this specification and the accompanying drawings are merely illustrative of some of the technical ideas included in the present invention. Therefore, since the embodiments disclosed in the present specification are for explanation rather than limitation of the technical spirit of the present invention, it is obvious that the scope of the technical spirit of the present invention is not limited by these embodiments. Modifications and specific embodiments that can be easily inferred by a person of ordinary skill in the art within the scope of the technical idea included in the specification and drawings of the present invention are included in the scope of the present invention. will have to be interpreted.

1: 특정 사설망 2: 공중망
10: 제1 단말기 20: 제2 단말기
100: 릴레이 서버 200: 제1 패킷
300: 제2 패킷
1: Specific private network 2: Public network
10: first terminal 20: second terminal
100: relay server 200: first packet
300: second packet

Claims (11)

특정 사설망 내에 배치된 제1 단말기로부터 공중망 또는 특정 사설망 내의 N개의 제2 단말기로 실시간 데이터 전송을 위한 네트워크 시스템에 있어서,
상기 제1 단말기와 상기 제2 단말기 간의 연결을 위한 릴레이 서버;를 포함하고,
상기 제1 단말기는 하나의 제1 패킷을 생성하여 상기 릴레이 서버로 전송하되, 상기 제1 패킷은 상기 제2 단말기의 정보를 포함하고,
상기 릴레이 서버는 상기 제1 패킷에 저장된 상기 제2 단말기의 정보에 기초하여 N개의 제2 패킷을 생성한 후 N개의 상기 제2 단말기에 각각 전송하며, 또한
상기 릴레이 서버는,
상기 제1 패킷을 분석하는 멀티패킷 분석모듈; 상기 멀티패킷 분석모듈의 분석 내용에 기초하여 N개의 제2 패킷을 생성하는 제2 패킷 생성모듈; 및 상기 N개의 제2 패킷을 N개의 제2 단말기에 각각 전송하는 제2 패킷 송신모듈;을 포함하고,
상기 제2 패킷은,
수정된 패킷헤더, 데이터 크기정보 및 실제 데이터를 포함하는 것을 특징으로 하는 것을 특징으로 하는 실시간 데이터 전송을 위한 네트워크 시스템.
A network system for real-time data transmission from a first terminal disposed in a specific private network to N second terminals in a public network or a specific private network, the network system comprising:
and a relay server for connection between the first terminal and the second terminal.
The first terminal generates one first packet and transmits it to the relay server, wherein the first packet includes information of the second terminal,
The relay server generates N second packets based on the information of the second terminal stored in the first packet and then transmits them to the N second terminals, respectively, and
The relay server is
a multi-packet analysis module for analyzing the first packet; a second packet generation module for generating N second packets based on the analysis contents of the multi-packet analysis module; and a second packet transmission module for transmitting the N second packets to the N second terminals, respectively.
The second packet is
A network system for real-time data transmission, characterized in that it includes a modified packet header, data size information, and actual data.
청구항 1에 있어서, 상기 릴레이 서버는,
상기 제1 단말기의 로그인 정보에 기초하여 생성되는 제1 단말기 데이터 블럭; 및
상기 제2 단말기의 상기 제1 단말기와의 연결요청에 기초하여 생성되는 제2 단말기 데이터 블럭;
을 포함하는 실시간 데이터 전송을 위한 네트워크 시스템.
The method according to claim 1, The relay server,
a first terminal data block generated based on login information of the first terminal; and
a second terminal data block generated based on a connection request of the second terminal with the first terminal;
A network system for real-time data transmission comprising a.
청구항 2에 있어서,
상기 제1 단말기 데이터 블럭은 상기 제1 단말기와의 연결을 위한 제2 단말기의 슬롯넘버 및 상기 슬롯넘버와 대응되는 소켓정보를 포함하는 슬롯어레이를 포함하고,
상기 제2 단말기 데이터 블럭은 상기 제2 단말기에서 연결을 요청한 제1 단말기의 정보, 상기 제2 단말기의 슬롯넘버 및 상기 제2 단말기의 슬롯넘버와 대응되는 제2 단말기의 소켓정보를 포함하는 실시간 데이터 전송을 위한 네트워크 시스템.
3. The method according to claim 2,
The first terminal data block includes a slot array including a slot number of a second terminal for connection with the first terminal and socket information corresponding to the slot number,
The second terminal data block is real-time data including information on a first terminal requesting a connection from the second terminal, a slot number of the second terminal, and socket information of a second terminal corresponding to the slot number of the second terminal A network system for transmission.
청구항 3에 있어서,
상기 제2 단말기가 자신의 슬롯넘버 및 연결하고자 하는 제1 단말기 정보를 입력하여 상기 네트워크 시스템에 로그인을 진행하면, 상기 릴레이 서버에는 상기 제2 단말기에 대한 제2 단말기 데이터 블럭이 생성되고,
상기 릴레이 서버는 상기 제1 단말기에게 로그인을 진행한 상기 제2 단말기의 슬롯넘버가 연결 가능한지 여부의 확인을 요청하는 실시간 데이터 전송을 위한 네트워크 시스템.
4. The method according to claim 3,
When the second terminal enters its own slot number and information on the first terminal to be connected and logs in to the network system, a second terminal data block for the second terminal is generated in the relay server,
The relay server is a network system for real-time data transmission that requests the first terminal to check whether the slot number of the second terminal that has logged in is connectable.
청구항 4에 있어서,
상기 제1 단말기가 로그인을 진행한 상기 제2 단말기의 슬롯넘버가 연결 가능한 상태임을 상기 릴레이 서버에 통지하면, 상기 슬롯어레이에는 로그인을 진행한 상기 제2 단말기의 슬롯넘버 및 소켓정보가 저장되는 실시간 데이터 전송을 위한 네트워크 시스템.
5. The method according to claim 4,
When the first terminal notifies the relay server that the slot number of the second terminal in which the login is performed is in a connectable state, the slot number and socket information of the second terminal in which the login is performed are stored in the slot array in real time A network system for data transmission.
삭제delete 청구항 1에 있어서,
상기 제1 패킷은, 데이터를 전송하여야 할 제2 단말기의 수신대상수 및 제2 단말기의 슬롯번호를 포함하는 수신대상정보를 포함하는 실시간 데이터 전송을 위한 네트워크 시스템.
The method according to claim 1,
The first packet is a network system for real-time data transmission including reception target information including the number of reception targets of the second terminal to which data is to be transmitted and the slot number of the second terminal.
청구항 7에 있어서,
상기 멀티패킷 분석모듈은 상기 제1 패킷에 포함된 제2 단말기의 수신대상수에 기초하여 상기 제2 패킷의 생성개수를 결정하고, 상기 제1 패킷에 포함된 제2 단말기의 슬롯번호에 기초하여 상기 제2 패킷을 송신할 제2 단말기를 결정하는 실시간 데이터 전송을 위한 네트워크 시스템.
8. The method of claim 7,
The multi-packet analysis module determines the number of generation of the second packet based on the number of reception targets of the second terminal included in the first packet, and based on the slot number of the second terminal included in the first packet A network system for real-time data transmission for determining a second terminal to transmit the second packet.
특정 사설망 내에 배치된 제1 단말기로부터 공중망 또는 특정 사설망 내의 N개의 제2 단말기로 실시간 데이터 전송을 위한 네트워크 시스템 운용방법에 있어서,
상기 네트워크 시스템은 상기 제1 단말기와 상기 제2 단말기 간의 연결을 위한 릴레이 서버를 포함하고,
상기 제1 단말기의 로그인 정보에 기초하여 상기 릴레이 서버가 제1 단말기 데이터 블럭을 생성하는 단계;
상기 제2 단말기의 로그인 정보에 기초하여 상기 릴레이 서버가 제2 단말기 데이터 블럭을 생성하는 단계;
상기 제1 단말기가 상기 제2 단말기 데이터 블럭에 저장된 내용에 기초하여 상기 제2 단말기의 접속이 가능한지 여부를 확인하는 단계;
상기 제1 단말기 데이터 블럭에 포함된 슬롯어레이에 상기 제2 단말기의 슬롯넘버 및 소켓정보를 저장하는 단계;
상기 제1 단말기가 데이터를 포함하는 하나의 제1 패킷을 생성하여 상기 릴레이 서버로 전송하는 단계; 및
상기 릴레이 서버가 상기 제1 패킷에 기초하여 N개의 제2 패킷을 생성한 후 N개의 상기 제2 단말기에 각각 전송하는 단계;를 포함하되,
상기 릴레이 서버는,
상기 제1 패킷을 분석하는 멀티패킷 분석모듈; 상기 멀티패킷 분석모듈의 분석 내용에 기초하여 N개의 제2 패킷을 생성하는 제2 패킷 생성모듈; 및 상기 N개의 제2 패킷을 N개의 제2 단말기에 각각 전송하는 제2 패킷 송신모듈;을 포함하고,
상기 제2 패킷은,
수정된 패킷헤더, 데이터 크기정보 및 실제 데이터를 포함하는 것을 특징으로 하는 실시간 데이터 전송을 위한 네트워크 시스템의 운용방법.
A network system operating method for real-time data transmission from a first terminal disposed in a specific private network to N second terminals in a public network or a specific private network, the method comprising:
The network system includes a relay server for connection between the first terminal and the second terminal,
generating, by the relay server, a first terminal data block based on the login information of the first terminal;
generating, by the relay server, a second terminal data block based on the login information of the second terminal;
checking, by the first terminal, whether access to the second terminal is possible based on the contents stored in the second terminal data block;
storing the slot number and socket information of the second terminal in a slot array included in the first terminal data block;
generating, by the first terminal, one first packet including data and transmitting it to the relay server; and
Including, by the relay server, generating N second packets based on the first packet and then transmitting each of the N second packets to the N second terminals.
The relay server is
a multi-packet analysis module for analyzing the first packet; a second packet generation module for generating N second packets based on the analysis contents of the multi-packet analysis module; and a second packet transmission module for transmitting the N second packets to the N second terminals, respectively.
The second packet is
A method of operating a network system for real-time data transmission, comprising the modified packet header, data size information, and actual data.
청구항 9에 있어서,
상기 제1 패킷은, 상기 제1 단말기와의 연결을 요청하는 제2 단말기의 개수 및 제2 단말기의 슬롯번호를 포함하는 실시간 데이터 전송을 위한 네트워크 시스템의 운용방법.
10. The method of claim 9,
The method of operating a network system for real-time data transmission, wherein the first packet includes the number of second terminals requesting connection with the first terminal and the slot number of the second terminal.
청구항 10에 있어서, 상기 릴레이 서버는,
상기 제1 패킷에 포함된 제2 단말기의 개수에 기초하여 상기 제2 패킷의 생성개수를 결정하고, 상기 제1 패킷에 포함된 제2 단말기의 슬롯번호에 기초하여 상기 제2 패킷을 송신할 제2 단말기를 결정하는 실시간 데이터 전송을 위한 네트워크 시스템의 운용방법.
The method according to claim 10, The relay server,
The number of generation of the second packet is determined based on the number of second terminals included in the first packet, and the second packet to be transmitted is determined based on the slot number of the second terminal included in the first packet. 2 A method of operating a network system for real-time data transmission that determines a terminal.
KR1020200161505A 2020-11-26 2020-11-26 A network system for transferring real-time data and an operating method thereof KR102424130B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200161505A KR102424130B1 (en) 2020-11-26 2020-11-26 A network system for transferring real-time data and an operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200161505A KR102424130B1 (en) 2020-11-26 2020-11-26 A network system for transferring real-time data and an operating method thereof

Publications (2)

Publication Number Publication Date
KR20220073441A KR20220073441A (en) 2022-06-03
KR102424130B1 true KR102424130B1 (en) 2022-07-25

Family

ID=81982905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200161505A KR102424130B1 (en) 2020-11-26 2020-11-26 A network system for transferring real-time data and an operating method thereof

Country Status (1)

Country Link
KR (1) KR102424130B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101490082B1 (en) * 2014-08-14 2015-02-04 새서울정보통신 주식회사 IP broadcasting system and IP broadcasting method therefor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100356386B1 (en) * 2000-07-24 2002-10-19 주식회사 성진씨앤씨 Relaying system for broadcasting multi-channel internet television and networking method thereof
KR101022466B1 (en) * 2003-11-21 2011-03-16 삼성전자주식회사 Apparatus, method and system for controlling remote device in the communication network
KR20050079080A (en) * 2004-02-04 2005-08-09 이창원 Remote lecture storing system
KR101132163B1 (en) * 2010-10-14 2012-05-08 주식회사 마스터소프트 Power Management System and Method Thereof
KR101758326B1 (en) 2015-12-29 2017-07-14 성균관대학교산학협력단 Method of load balancing in network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101490082B1 (en) * 2014-08-14 2015-02-04 새서울정보통신 주식회사 IP broadcasting system and IP broadcasting method therefor

Also Published As

Publication number Publication date
KR20220073441A (en) 2022-06-03

Similar Documents

Publication Publication Date Title
US6789119B1 (en) Emulating a persistent connection using http
CN110798471B (en) Air conditioner management method and related device
CN1879382B (en) Method and apparatus for establishing encrypted communication channel between apparatuses
US6473406B1 (en) Method and apparatus for transparently proxying a connection
CN101478493A (en) Method and device for NAT through communication
US7136359B1 (en) Method and apparatus for transparently proxying a connection
US20120166593A1 (en) Data transmission system and method using relay server
US20150237027A1 (en) Apparatus, method and system for context-aware security control in cloud environment
CN104079571A (en) Method and device for recognizing Android simulator
CN108108546A (en) A kind of safety engineering training simulation system
Natarajan et al. SCTP: What, why, and how
JP3999785B2 (en) Communication method
CN111245831B (en) FTP data transmission method and device, and information interaction system of server and client
KR102424130B1 (en) A network system for transferring real-time data and an operating method thereof
CN106131039A (en) The processing method and processing device of SYN flood attack
US11637874B2 (en) Communications apparatus, systems, and methods for preventing and/or minimizing session data clipping
Hiesgen et al. Embedded Actors-Towards distributed programming in the IoT
US20100042677A1 (en) Two-way communication system, server unit, repeater, two-way communication method and program
US20080301305A1 (en) Method and related system for building up a network connection between clients and servers through a stream fork by utilizing http protocol
Gotsis et al. A test lab for the performance analysis of TCP over ethernet LAN on windows operating system
CN105991348B (en) TCP connection method for closing and device
WO2020259040A1 (en) Data transmission method, system and device
US9369523B2 (en) Method for exchanging network messages in distributed manner
CN108156269A (en) Network Address Translation Server And Network Address Translation Method Thereof
CN102377834A (en) Network address translation equipment and communication method

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant