KR20200114774A - Method, apparatus and computer program for transmitting data through multiple connection - Google Patents

Method, apparatus and computer program for transmitting data through multiple connection Download PDF

Info

Publication number
KR20200114774A
KR20200114774A KR1020190037051A KR20190037051A KR20200114774A KR 20200114774 A KR20200114774 A KR 20200114774A KR 1020190037051 A KR1020190037051 A KR 1020190037051A KR 20190037051 A KR20190037051 A KR 20190037051A KR 20200114774 A KR20200114774 A KR 20200114774A
Authority
KR
South Korea
Prior art keywords
data
sockets
virtual
application layer
socket
Prior art date
Application number
KR1020190037051A
Other languages
Korean (ko)
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 KR1020190037051A priority Critical patent/KR20200114774A/en
Publication of KR20200114774A publication Critical patent/KR20200114774A/en

Links

Images

Classifications

    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • 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/14Multichannel or multilink protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers

Abstract

The present invention relates to a data transmission apparatus using multiple connection. According to the present invention, the data transmission apparatus comprises a multiple connection control module for controlling a plurality of sockets of a transport layer, and a transmission unit. The multiple connection control module includes: a virtual socket management unit which creates a plurality of virtual sockets for communication with an external object based on data received from an application layer; and a data division unit which divides the data into segments. The transmission unit may transmit a plurality of segmented data divided in segment units to the external object through the plurality of sockets corresponding to the plurality of virtual sockets.

Description

다중 연결을 통한 데이터 전송 장치, 이를 이용한 데이터 전송 방법 및 컴퓨터 프로그램{METHOD, APPARATUS AND COMPUTER PROGRAM FOR TRANSMITTING DATA THROUGH MULTIPLE CONNECTION}Data transmission device through multiple connections, data transmission method and computer program using the same {METHOD, APPARATUS AND COMPUTER PROGRAM FOR TRANSMITTING DATA THROUGH MULTIPLE CONNECTION}

본 발명은 다중 연결을 통한 데이터 전송 장치, 이를 이용한 데이터 전송 방법 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to an apparatus for transmitting data through multiple connections, a method for transmitting data using the same, and a computer program.

병합 전송(aggregation transmission)은 복수의 무선망을 동시에 사용하여 데이터를 전송하는 기술로서, 각 경로로 전송된 데이터를 하나의 세션으로 처리한다. 병합 전송 기술을 통해, 단말은 한 시점에 복수의 접속망에 연결될 수 있고, 하나의 서비스/어플리케이션은 망 종류나 망의 수에 관계없이 복수의 망을 하나의 망처럼 병합하여 통신한다. 따라서, 병합 전송 시스템은 가용한 복수의 망자원을 이용하여 대량의 데이터를 빠르게 송수신할 수 있다.Aggregation transmission is a technology that transmits data using a plurality of wireless networks simultaneously, and processes data transmitted through each path as one session. Through the merged transmission technology, a terminal can be connected to a plurality of access networks at one point in time, and one service/application communicates by merging a plurality of networks like one network, regardless of the network type or number of networks. Accordingly, the merged transmission system can quickly transmit and receive a large amount of data by using a plurality of available network resources.

다중 경로 TCP(Multi-Path TCP, MPTCP) 기술은 복수의 IP 인터페이스를 동시에 사용하기 위한 L4 기술이다. 복수의 물리적 인터페이스를 구비한 단말은 MPTCP 기술을 통해, 한 시점에 복수의 접속망에 연결될 수 있고, 서브 플로우(subflow) 단위로 세션을 생성하여 단대단 통신을 수행한다.Multi-Path TCP (MPTCP) technology is an L4 technology for simultaneous use of multiple IP interfaces. A terminal having a plurality of physical interfaces can be connected to a plurality of access networks at one time through MPTCP technology, and performs end-to-end communication by creating a session in a subflow unit.

이와 같이, 복수의 무선망을 동시에 사용하여 데이터를 전송하는 기술에 대한 연구가 진행되고 있으나, 아직까지 모든 서버가 다중 경로 통신을 지원하지 않는다. 따라서, 현재 다중 통신 인터페이스를 구비한 단말은 모든 서버와 다중 경로 통신을 하기 어려운 한계가 있다.As described above, research on a technology for transmitting data by simultaneously using a plurality of wireless networks is being conducted, but not all servers support multipath communication yet. Therefore, a terminal equipped with a multi-communication interface currently has a limitation in that it is difficult to perform multipath communication with all servers.

대한민국 공개특허공보 제10-2017-0109979호Korean Patent Application Publication No. 10-2017-0109979

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, TCP/IP 프로토콜을 이용하는 인터넷 환경에서 복수의 TCP 소켓에 대응하는 가상 소켓을 생성하고, 수신되는 데이터를 세그먼트 단위로 분할하며, 이렇게 분할된 세그먼트 단위의 데이터를 상기 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 송수신함으로써, 보다 향상된 속도로 데이터를 송수신할 수 있는 다중 연결을 통한 데이터 전송 장치, 이를 이용한 데이터 전송 방법 및 컴퓨터 프로그램을 제공하고자 한다.The present invention is to solve the problems of the prior art described above, in an Internet environment using the TCP/IP protocol, a virtual socket corresponding to a plurality of TCP sockets is created, the received data is divided into segments, and thus divided To provide a data transmission device through multiple connections capable of transmitting and receiving data at a higher speed by transmitting and receiving data in segment units through a plurality of sockets corresponding to the plurality of virtual sockets, a data transmission method using the same, and a computer program do.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problems as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 다중 연결을 통한 데이터 전송 장치로서 전달 계층의 복수의 소켓을 제어하기 위한 다중 연결 제어 모듈 및 전송부를 포함하고, 상기 다중 연결 제어 모듈은, 어플리케이션 계층으로부터 수신되는 데이터에 기초하여 외부 객체와의 통신을 위해 복수의 가상 소켓을 생성하는 가상 소켓 관리부 및 상기 데이터를 세그먼트 단위로 분할하는 데이터 분할부를 포함하고, 상기 전송부는 상기 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 상기 세그먼트 단위로 분할된 복수의 분할 데이터를 상기 외부 객체로 전송할 수 있다.As a technical means for achieving the above technical problem, an embodiment of the present invention includes a multiple connection control module and a transmission unit for controlling a plurality of sockets of a transport layer as a data transmission device through multiple connections, the multiple The connection control module includes a virtual socket management unit that generates a plurality of virtual sockets for communication with an external object based on data received from an application layer, and a data division unit that divides the data into segments, and the transmission unit A plurality of segmented data divided by segment units may be transmitted to the external object through a plurality of sockets corresponding to the plurality of virtual sockets.

본 발명의 다른 일 실시예는, 전달 계층의 복수의 소켓을 제어하기 위한 다중 연결 제어 모듈을 이용한 다중 연결을 통한 데이터 전송 방법으로서 어플리케이션 계층으로부터 수신되는 신호에 기초하여 외부 객체와의 통신을 위해 상기 복수의 소켓에 대응하는 복수의 가상 소켓을 생성하는 단계, 어플리케이션 계층으로부터 수신되는 데이터를 세그먼트 단위로 분할하는 단계 및 상기 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 상기 세그먼트 단위로 분할된 복수개의 분할 데이터를 상기 외부 객체로 전송하는 단계를 포함할 수 있다.Another embodiment of the present invention is a data transmission method through multiple connections using a multiple connection control module for controlling a plurality of sockets of a transport layer, and for communication with an external object based on a signal received from an application layer. Generating a plurality of virtual sockets corresponding to a plurality of sockets, dividing data received from an application layer into segments, and a plurality of divided into segments through a plurality of sockets corresponding to the plurality of virtual sockets It may include transmitting the divided data to the external object.

본 발명의 또 다른 일 실시예는, 컴퓨터 프로그램으로서 컴퓨팅 장치에 의해 실행될 경우, 어플리케이션 계층으로부터 수신되는 신호에 기초하여 외부 객체와의 통신을 위해 상기 복수의 소켓에 대응하는 복수의 가상 소켓을 생성하고, 어플리케이션 계층으로부터 수신되는 데이터를 세그먼트 단위로 분할하고, 상기 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 상기 세그먼트 단위로 분할된 복수개의 분할 데이터를 상기 외부 객체로 전송하도록 하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다. In another embodiment of the present invention, when executed by a computing device as a computer program, a plurality of virtual sockets corresponding to the plurality of sockets are generated for communication with an external object based on a signal received from an application layer, and And a sequence of instructions for dividing data received from the application layer into segments, and transmitting a plurality of segmented data divided by segments to the external object through a plurality of sockets corresponding to the plurality of virtual sockets. A computer program stored in a medium may be provided.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary and should not be construed as limiting the present invention. In addition to the above-described exemplary embodiments, there may be additional embodiments described in the drawings and detailed description of the invention.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 TCP/IP 프로토콜을 이용하는 인터넷 환경에서 복수의 TCP 소켓에 대응하는 가상 소켓을 생성하고, 수신되는 데이터를 세그먼트 단위로 분할하며, 이렇게 분할된 세그먼트 단위의 데이터를 상기 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 송수신함으로써, 보다 향상된 속도로 데이터를 송수신할 수 있다.According to any one of the above-described problem solving means of the present invention, the present invention creates a virtual socket corresponding to a plurality of TCP sockets in an Internet environment using the TCP/IP protocol, and divides the received data into segments. By transmitting and receiving data in units of segments through a plurality of sockets corresponding to the plurality of virtual sockets, data may be transmitted and received at a higher speed.

또한, 본 발명은 세그먼트 단위의 데이터를 상기 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 송수신하되, 데이터를 송수신하는 가상 소켓의 소켓 정보 및 콜백 함수에 기초하여 어플리케이션 계층과 전달 계층간의 데이터를 송수신함으로써, 어플리케이션 계층과 전달 계층간의 보다 원활한 통신이 가능하도록 할 수 있다.In addition, the present invention transmits and receives data in segment units through a plurality of sockets corresponding to the plurality of virtual sockets, but transmits and receives data between an application layer and a delivery layer based on socket information and a callback function of a virtual socket for transmitting and receiving data. By doing so, it is possible to enable more smooth communication between the application layer and the delivery layer.

또한, 본 발명은 가상 소켓에 대응하는 소켓의 데이터 송수신 허용 대역폭 및 인터페이스 중 어느 하나 이상에 기초하여, 복수의 가상 소켓 중 어느 하나 이상에 대응하는 어느 하나 이상의 소켓을 통해 데이터를 송수신함으로써, 복수의 TCP 소켓 각각이 보다 효율적으로 사용되도록 할 수 있다.In addition, the present invention transmits and receives data through any one or more sockets corresponding to any one or more of a plurality of virtual sockets based on any one or more of an interface and a data transmission/reception allowable bandwidth of a socket corresponding to the virtual socket. Each TCP socket can be used more efficiently.

도 1은 본 발명의 일 실시예에 따른 다중 연결을 통한 데이터 전송 장치의 구성도이다.
도 2는 본 발명에 따른 다중 연결을 통한 데이터 전송 장치간의 통신에 대한 실시예를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 전달 계층의 복수의 소켓을 제어하기 위한 다중 연결 제어 모듈을 이용한 다중 연결을 통한 데이터 전송 방법을 나타낸 흐름도이다.
1 is a block diagram of an apparatus for transmitting data through multiple connections according to an embodiment of the present invention.
2 is a view for explaining an embodiment of communication between data transmission devices through multiple connections according to the present invention.
3 is a flowchart illustrating a data transmission method through multiple connections using a multiple connection control module for controlling a plurality of sockets of a transport layer according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In the present specification, the term "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, or two or more units may be realized using one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.In the present specification, some of the operations or functions described as being performed by the terminal or device may be performed instead by a server connected to the terminal or device. Likewise, some of the operations or functions described as being performed by the server may also be performed by a terminal or device connected to the server.

이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.Hereinafter, with reference to the accompanying configuration diagram or processing flow chart, specific details for the implementation of the present invention will be described.

도 1은 본 발명의 일 실시예에 따른 다중 연결을 통한 데이터 전송 장치의 구성도이다.1 is a block diagram of an apparatus for transmitting data through multiple connections according to an embodiment of the present invention.

도 1을 참조하면, 다중 연결을 통한 데이터 전송 장치(10)는 다중 연결 제어 모듈(200) 및 전송부(310)를 포함할 수 있다. 여기서, 데이터 전송 장치(10)는 서버 또는 클라이언트일 수 있다.Referring to FIG. 1, an apparatus 10 for transmitting data through multiple connections may include a multiple connection control module 200 and a transmission unit 310. Here, the data transmission device 10 may be a server or a client.

도 1에 도시된 어플리케이션 계층(100)은 사용자 단말(미도시)과 외부 객체(미도시) 간의 응용 서비스를 제공할 수 있다. 즉, 어플리케이션 계층(100)은 사용자 단말(미도시)의 네트워크 접속을 위한 인터페이스를 제공할 수 있다.The application layer 100 illustrated in FIG. 1 may provide an application service between a user terminal (not shown) and an external object (not shown). That is, the application layer 100 may provide an interface for network access of a user terminal (not shown).

여기서, 외부 객체(미도시)는 네트워크를 통해 데이터의 송수신이 가능한 객체로서 예를 들어, 서버 또는 다른 클라이언트를 포함할 수 있다.Here, the external object (not shown) is an object capable of transmitting and receiving data through a network, and may include, for example, a server or another client.

전송부(310)는 데이터를 외부 객체로 전송한다. 예를 들어, 전송부는 전달 계층(300)의 복수의 소켓으로서 기능할 수 있다. The transmission unit 310 transmits data to an external object. For example, the transmission unit may function as a plurality of sockets of the delivery layer 300.

이하에서는 도 2를 참조하여 다중 연결을 통한 데이터 전송에 대해 자세히 설명하도록 한다.Hereinafter, data transmission through multiple connections will be described in detail with reference to FIG. 2.

도 2는 본 발명에 따른 다중 연결을 통한 데이터 전송 장치간의 통신에 대한 실시예를 설명하기 위한 도면이다.2 is a view for explaining an embodiment of communication between data transmission devices through multiple connections according to the present invention.

도 2를 참조하면, 데이터 전송 장치(10, 20)는 다중 연결 제어 모듈(200, 200`) 및 전달 계층(300, 300`)을 통해 서로 통신할 수 있다. Referring to FIG. 2, the data transmission devices 10 and 20 may communicate with each other through the multiple connection control modules 200 and 200 ′ and the delivery layers 300 and 300 ′.

보다 구체적으로, 데이터 전송 장치(10, 20)는 다중 연결 제어 모듈(200, 200`)상에 형성되는 복수의 가상 소켓 및 이에 대응하는 전달 계층(300, 300`) 상의 복수의 소켓을 통해 데이터를 송수신할 수 있다. More specifically, the data transmission devices 10 and 20 provide data through a plurality of virtual sockets formed on the multiple connection control modules 200 and 200 ′ and a plurality of sockets on the corresponding delivery layers 300 and 300 ′. Can send and receive.

여기서 가상 소켓은 전달 계층(300, 300`) 상의 TCP/IP 소켓이 래핑된 것일 수 있다. 각 가상 소켓은 전달 계층(300, 300`) 상의 TCP/IP 소켓 각각에 대응되는 것으로서, 사전에 서로 매핑되어 있을 수 있다.Here, the virtual socket may be a TCP/IP socket on the transport layers 300 and 300 ′ wrapped. Each virtual socket corresponds to each of the TCP/IP sockets on the transport layers 300 and 300 ′, and may be mapped to each other in advance.

다중 연결 제어 모듈(200)은 어플리케이션 계층(100)과 전달 계층(300) 사이의 계층에 형성되어, 어플리케이션 계층(100)을 통해 제공되는 응용 서비스에 대한 데이터를 다중 연결을 통해 송수신하도록 한다.The multiple connection control module 200 is formed in a layer between the application layer 100 and the delivery layer 300 and transmits and receives data for an application service provided through the application layer 100 through multiple connections.

즉, 본 발명은 다중 연결 제어 모듈(200)이 어플리케이션 계층(100)과 전달 계층(300) 사이의 계층 상에서 가상 소켓을 통해 다중 연결을 통한 송수신을 지원한다.That is, in the present invention, the multiple connection control module 200 supports transmission/reception through multiple connections through a virtual socket on a layer between the application layer 100 and the delivery layer 300.

여기서, 다중 연결 제어 모듈(200)은 어플리케이션 계층(100) 및 전달 계층(300)과 네트워크 연결되기 위한 API(Application Program Interface)를 제공할 수 있다. Here, the multi-connection control module 200 may provide an application program interface (API) for network connection with the application layer 100 and the delivery layer 300.

예를 들어, 다중 연결 제어 모듈(200)은 API를 통해 가상 소켓을 연결그룹에 추가, 삭제함으로써 가용 대역폭을 손쉽게 증가 또는 감소시킬 수 있다. For example, the multiple connection control module 200 may easily increase or decrease the available bandwidth by adding or deleting a virtual socket to a connection group through an API.

즉, 본 발명에 따르면, 다중 연결을 통한 송수신을 위해 어플리케이션 계층(100)에서 전달 계층(300) 상의 TCP/IP 소켓을 직접 제어할 필요가 없다. 아래에서, 다중 연결 제어 모듈(200)에 대해 보다 자세히 설명하도록 한다.That is, according to the present invention, it is not necessary to directly control the TCP/IP socket on the transport layer 300 in the application layer 100 for transmission and reception through multiple connections. Hereinafter, the multiple connection control module 200 will be described in more detail.

전달 계층(300)은 복수의 소켓을 이용하여 데이터를 송수신한다.The delivery layer 300 transmits and receives data using a plurality of sockets.

다시 다중 연결 제어 모듈(200)에 대해 설명하면, 다중 연결 제어 모듈(200)은 가상 소켓 관리부(210), 데이터 분할부(220), 저장부(230)를 포함할 수 있다.Referring to the multiple connection control module 200 again, the multiple connection control module 200 may include a virtual socket management unit 210, a data division unit 220, and a storage unit 230.

가상 소켓 관리부(210)는 어플리케이션 계층(100)으로부터 수신되는 데이터에 기초하여 외부 객체(미도시)와의 통신을 위해 복수의 가상 소켓을 생성할 수 있다.The virtual socket management unit 210 may create a plurality of virtual sockets for communication with an external object (not shown) based on data received from the application layer 100.

보다 구체적으로, 어플리케이션 계층(100)으로부터 수신되는 데이터에 기초하여 제어 데이터를 송수신하는 제어 데이터용 가상 소켓(211)을 생성하고, 제어 데이터용 가상 소켓(211)에 대응하는 소켓(311)을 통해 수신되는 데이터에 기초하여 일반 데이터를 송수신하는 복수의 일반 데이터용 가상 소켓(212)을 생성할 수 있다. More specifically, based on data received from the application layer 100, a virtual socket for control data 211 for transmitting and receiving control data is created, and through a socket 311 corresponding to the virtual socket for control data 211 A plurality of virtual sockets for general data 212 for transmitting and receiving general data may be generated based on the received data.

즉, 제어 데이터용 가상 소켓(211)은 어플리케이션 계층(100)으로부터 수신되는 데이터에 기초하여 일반 데이터용 가상 소켓(212)을 생성할 수 있다. That is, the virtual socket 211 for control data may generate the virtual socket 212 for general data based on data received from the application layer 100.

여기서, 제어 데이터용 가상 소켓(211)은 어플리케이션 계층(100)과 네트워크 접속될 때 생성될 수 있다. 이러한, 제어 데이터용 가상 소켓(211)은 어플리케이션 계층(100)으로부터 수신되는 데이터에 기초하여 일반 데이터용 가상 소켓(212)을 생성하고, 기생성된 하나 이상의 일반 데이터용 가상 소켓(212)을 초기화할 수 있다.Here, the virtual socket 211 for control data may be created when the application layer 100 is connected to the network. The virtual socket 211 for control data creates a virtual socket 212 for general data based on data received from the application layer 100, and initializes one or more previously generated virtual sockets 212 for general data. can do.

또한, 가상 소켓 관리부(210)는 생성된 복수의 가상 소켓 각각을 전달 계층(300) 상의 복수의 소켓 각각과 매핑하여 관리할 수 있다. 보다 구체적으로, 가상 소켓 관리부(210)는 생성된 제어 데이터용 가상 소켓(211)을 전달 계층(300)의 제어 데이터용 소켓(311)에 매핑하여 관리할 수 있고, 생성된 일반 데이터용 가상 소켓(212)을 전달 계층(300)의 일반 데이터용 소켓(312)에 매핑하여 관리할 수 있다.In addition, the virtual socket management unit 210 may map and manage each of the generated virtual sockets with each of the plurality of sockets on the delivery layer 300. More specifically, the virtual socket management unit 210 may map and manage the generated virtual socket 211 for control data to the socket 311 for control data of the delivery layer 300, and manage the generated virtual socket for general data. It can be managed by mapping (212) to the general data socket 312 of the delivery layer 300.

즉, 가상 소켓 관리부(210)는 전송부(310)의 일반 데이터용 소켓(312) 수에 기초하여 하나 이상의 일반 데이터용 가상 소켓(212)을 생성할 수 있고, 이렇게 생성된 일반 데이터용 가상 소켓(212) 각각을 전송부(310)의 일반 데이터용 소켓(312) 각각에 매핑하여 관리할 수 있다.That is, the virtual socket management unit 210 may create one or more virtual sockets 212 for general data based on the number of sockets 312 for general data of the transmission unit 310, and the generated virtual sockets for general data Each of the 212 may be mapped to each of the sockets 312 for general data of the transmission unit 310 and managed.

데이터 분할부(220)는 어플리케이션 계층(100)으로부터 수신되는 데이터를 세그먼트 단위로 분할할 수 있다. 여기서, 데이터 분할부(220)는 세그먼트 단위로 분할된 복수의 분할 데이터 각각에 대한 세그먼트 고유 정보를 저장할 수 있다.The data dividing unit 220 may divide data received from the application layer 100 into segments. Here, the data dividing unit 220 may store segment-specific information for each of the plurality of pieces of divided data divided by segment units.

이로 인해, 다중 연결 제어 모듈(200)은 외부 객체(미도시)로부터 분할 데이터가 수신되는 경우, 저장된 세그먼트 고유 정보에 기초하여 분할 데이터를 복구할 수 있다.For this reason, when the divided data is received from an external object (not shown), the multiple connection control module 200 may recover the divided data based on the stored segment specific information.

즉, 본 발명의 일 실시예에 따른 다중 연결 제어 모듈(200)은 수신되는 데이터가 어플리케이션 계층(100) 및 외부 객체(미도시) 중 어느 곳으로부터 수신되는 것인지 분류하여, 어플리케이션 계층(100)으로부터 데이터가 수신되는 경우, 해당 데이터를 분할하고, 외부 객체(미도시)로부터 분할 데이터가 수신되는 경우, 분할 데이터를 복구할 수 있다.That is, the multiple connection control module 200 according to an embodiment of the present invention classifies whether received data is received from the application layer 100 and an external object (not shown), and When data is received, the data is divided, and when divided data is received from an external object (not shown), the divided data may be recovered.

저장부(230)는 복수의 가상 소켓 중 복수의 분할 데이터를 전송한 어느 하나 이상의 소켓에 대응하는 어느 하나 이상의 가상 소켓의 소켓 정보를 저장할 수 있다.The storage unit 230 may store socket information of one or more virtual sockets corresponding to one or more sockets that have transmitted a plurality of divided data among a plurality of virtual sockets.

또한, 저장부(230)는 어플리케이션 계층(100)으로부터 수신되는 데이터의 콜백 함수를 저장할 수 있다.Also, the storage unit 230 may store a callback function of data received from the application layer 100.

이로 인해, 다중 연결 제어 모듈(200)은 외부 객체(미도시)로부터 분할 데이터가 수신되는 경우, 분할 데이터를 복구하여 어플리케이션 계층(100)으로 전송하되, 복구된 데이터를 저장된 소켓 정보 및 콜백 함수 중 어느 하나 이상에 기초하여 어플리케이션 계층(100)으로 전송할 수 있다.Accordingly, when the divided data is received from an external object (not shown), the multi-connection control module 200 recovers the divided data and transmits it to the application layer 100, but stores the recovered data among the stored socket information and callback functions. It may be transmitted to the application layer 100 based on any one or more.

당업자라면, 가상 소켓 관리부(210), 데이터 분할부(220) 및 저장부(230) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.Those skilled in the art will fully understand that each of the virtual socket management unit 210, the data division unit 220, and the storage unit 230 may be implemented separately, or one or more of them may be integrated and implemented.

다시 전달 계층(300)에 대해 설명하면, 전송부(310)는 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 세그먼트 단위로 분할된 복수의 분할 데이터를 외부 객체(미도시)로 전송할 수 있다. 보다 구체적으로, 전송부(310)는 복수의 일반 데이터용 가상 소켓(212)에 대응하는 복수의 일반 데이터용 소켓(312)을 통해 세그먼트 단위로 분할된 복수의 분할 데이터를 외부 객체(미도시)로 전송할 수 있다.Referring to the delivery layer 300 again, the transmission unit 310 may transmit a plurality of segmented data divided by segment units to an external object (not shown) through a plurality of sockets corresponding to a plurality of virtual sockets. More specifically, the transmission unit 310 transmits a plurality of segmented data divided by segments through a plurality of general data sockets 312 corresponding to the plurality of general data virtual sockets 212 to an external object (not shown). Can be transferred to.

여기서, 전송부(310)는 복수의 일반 데이터용 가상 소켓(212)에 대응하는 복수의 일반 데이터용 소켓(312) 중 어느 하나 이상을 선택하고, 선택된 하나 이상의 일반 데이터용 소켓(312)을 통해 분할된 복수의 분할 데이터를 외부 객체(미도시)로 전송할 수 있다. 보다 구체적으로, 전송부(310)는 복수의 일반 데이터 가상 소켓(212)에 대응하는 일반 데이터용 소켓(312)의 데이터 송수신 허용 대역폭 및 인터페이스 중 어느 하나 이상에 기초하여, 복수의 일반 데이터 가상 소켓(212) 중 어느 하나 이상에 대응하는 어느 하나 이상의 일반 데이터용 소켓(312)을 통해 복수의 분할 데이터를 상기 외부 객체(미도시)로 전송할 수 있다.Here, the transmission unit 310 selects any one or more of the plurality of general data sockets 312 corresponding to the plurality of general data virtual sockets 212, and through the selected one or more general data sockets 312 A plurality of divided pieces of divided data may be transmitted to an external object (not shown). More specifically, the transmission unit 310 is based on one or more of the data transmission/reception allowable bandwidth and interfaces of the general data socket 312 corresponding to the plurality of general data virtual sockets 212, a plurality of general data virtual sockets A plurality of segmented data may be transmitted to the external object (not shown) through any one or more general data sockets 312 corresponding to one or more of 212.

즉, 전송부(310)는 하나 이상의 일반 데이터용 소켓(312)을 통해 복수의 분할 데이터를 상기 외부 객체(미도시)로 전송함으로써, 데이터의 전송 속도가 보다 향상될 수 있다.That is, the transmission unit 310 transmits a plurality of divided data to the external object (not shown) through one or more sockets 312 for general data, so that data transmission speed may be further improved.

여기서, 다중 연결 제어 모듈(200) 및 외부 객체(미도시)는 복수의 일반 데이터 가상 소켓(212) 및 이에 대응하는 일반 데이터용 소켓(312)을 통해 분할 데이터를 송수신할 수 있고, 분할 데이터가 수신되는 경우, 분할 데이터를 분할 전 데이터로 복구하여 이용할 수 있다.Here, the multiple connection control module 200 and an external object (not shown) may transmit and receive divided data through a plurality of general data virtual sockets 212 and corresponding general data sockets 312, and the divided data is When received, the divided data can be recovered and used as data before division.

도 3은 본 발명의 일 실시예에 따른 전달 계층의 복수의 소켓을 제어하기 위한 다중 연결 제어 모듈을 이용한 다중 연결을 통한 데이터 전송 방법을 나타낸 흐름도이다. 도 3에 도시된 다중 연결을 통한 데이터 전송 방법은 도 1 및 도 2에 도시된 실시예에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 및 도 2에 도시된 실시예에 따른 다중 연결을 통한 데이터 전송 방법에 적용될 수 있음을 유의해야 한다.3 is a flowchart illustrating a data transmission method through multiple connections using a multiple connection control module for controlling a plurality of sockets of a transport layer according to an embodiment of the present invention. The method of transmitting data through multiple connections illustrated in FIG. 3 includes steps processed in time series according to the embodiments illustrated in FIGS. 1 and 2. Therefore, it should be noted that even though the content is omitted below, it can be applied to the data transmission method through multiple connections according to the embodiment shown in FIGS. 1 and 2.

도 3을 참조하면, 단계 S310에서 가상 소켓 관리부(210)는 어플리케이션 계층(100)으로부터 수신되는 신호에 기초하여 외부 객체와의 통신을 위해 상기 복수의 소켓에 대응하는 복수의 가상 소켓을 생성할 수 있다.Referring to FIG. 3, in step S310, the virtual socket management unit 210 may generate a plurality of virtual sockets corresponding to the plurality of sockets for communication with an external object based on a signal received from the application layer 100. have.

여기서, 가상 소켓 관리부(210)는 복수의 가상 소켓 각각을 상기 복수의 소켓 각각과 매핑하여 관리할 수 있다.Here, the virtual socket management unit 210 may map and manage each of the plurality of virtual sockets with each of the plurality of sockets.

단계 S320에서 데이터 분할부(220)는 어플리케이션 계층(100)으로부터 수신되는 데이터를 세그먼트 단위로 분할할 수 있다.In step S320, the data dividing unit 220 may divide the data received from the application layer 100 into segments.

여기서, 데이터 분할부(220)는 세그먼트 단위로 분할된 복수의 분할 데이터 각각에 대한 세그먼트 고유 정보를 저장할 수 있고, 이로 인해, 다중 연결 제어 모듈(200) 및 외부 객체(미도시)는 저장된 세그먼트 고유 정보에 기초하여 분할 데이터를 복구할 수 있다.Here, the data dividing unit 220 may store segment-specific information for each of the plurality of divided data divided by segment units, and thus, the multiple connection control module 200 and an external object (not shown) are unique to the stored segment. The divided data can be recovered based on the information.

단계 S330에서 전송부(330)는 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 세그먼트 단위로 분할된 복수개의 분할 데이터를 외부 객체(미도시)로 전송할 수 있다.In step S330, the transmission unit 330 may transmit a plurality of segmented data divided into segments to an external object (not shown) through a plurality of sockets corresponding to the plurality of virtual sockets.

여기서, 전송부(330)는 세그먼트 단위로 분할된 복수개의 분할 데이터를 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 분배하여 전송함으로써, 데이터의 전송 속도가 보다 향상될 수 있다.Here, the transmission unit 330 distributes and transmits a plurality of segmented data divided by segments through a plurality of sockets corresponding to a plurality of virtual sockets, so that a data transmission speed may be further improved.

상술한 설명에서, 단계 S310 내지 S330은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S310 to S330 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between steps may be changed.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that other specific forms can be easily modified without changing the technical spirit or essential features of the present invention will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. .

10: 다중 연결을 통한 데이터 전송 장치
100: 어플리케이션 계층
200: 다중 연결 제어 모듈
210: 가상 소켓 관리부
220: 데이터 분할부
230: 저장부
300: 전달 계층
310: 전송부
10: Data transmission device over multiple connections
100: application layer
200: multiple connection control module
210: virtual socket management unit
220: data division
230: storage unit
300: forwarding layer
310: transmission unit

Claims (20)

다중 연결을 통한 데이터 전송을 지원하는 장치에 있어서,
전달 계층의 복수의 소켓을 제어하기 위한 다중 연결 제어 모듈; 및
전송부를 포함하고,
상기 다중 연결 제어 모듈은,
어플리케이션 계층으로부터 수신되는 데이터에 기초하여 외부 객체와의 통신을 위해 복수의 가상 소켓을 생성하는 가상 소켓 관리부; 및
상기 데이터를 세그먼트 단위로 분할하는 데이터 분할부를 포함하고,
상기 전송부는 상기 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 상기 세그먼트 단위로 분할된 복수의 분할 데이터를 상기 외부 객체로 전송하는 것인, 장치.
In a device that supports data transmission through multiple connections,
A multiple connection control module for controlling a plurality of sockets of the delivery layer; And
Including a transmission unit,
The multiple connection control module,
A virtual socket management unit that generates a plurality of virtual sockets for communication with external objects based on data received from the application layer; And
A data division unit for dividing the data into segments,
Wherein the transmission unit transmits a plurality of segmented data divided by segments to the external object through a plurality of sockets corresponding to the plurality of virtual sockets.
제 1 항에 있어서,
상기 가상 소켓 관리부는 복수의 가상 소켓 각각을 상기 복수의 소켓 각각과 매핑하여 관리하는 것인, 장치.
The method of claim 1,
Wherein the virtual socket management unit maps and manages each of a plurality of virtual sockets with each of the plurality of sockets.
제 1 항에 있어서,
상기 다중 연결 제어 모듈은 상기 전달 계층과 상기 어플리케이션 계층의 사이에 형성된 것인, 장치.
The method of claim 1,
The device, wherein the multiple connection control module is formed between the delivery layer and the application layer.
제 1 항에 있어서,
상기 복수의 가상 소켓 중 상기 복수의 분할 데이터를 전송한 어느 하나 이상의 소켓에 대응하는 어느 하나 이상의 가상 소켓의 소켓 정보를 저장하는 저장부를 더 포함하는 것인, 장치.
The method of claim 1,
The apparatus further comprises a storage unit for storing socket information of one or more virtual sockets corresponding to any one or more sockets that have transmitted the plurality of divided data among the plurality of virtual sockets.
제 4 항에 있어서,
상기 다중 연결 제어 모듈은,
상기 외부 객체로부터 상기 분할 데이터가 수신되는 경우, 상기 분할 데이터를 복구하여 상기 어플리케이션 계층으로 전송하되, 상기 복구된 데이터를 상기 저장된 소켓 정보에 기초하여 상기 어플리케이션 계층으로 전송하는 것인, 장치.
The method of claim 4,
The multiple connection control module,
When the divided data is received from the external object, the divided data is recovered and transmitted to the application layer, and the recovered data is transmitted to the application layer based on the stored socket information.
제 4 항에 있어서,
상기 저장부는,
상기 어플리케이션 계층으로부터 수신되는 상기 데이터의 콜백 함수를 저장하고,
상기 다중 연결 제어 모듈은,
상기 외부 객체로부터 상기 분할 데이터가 수신되는 경우, 상기 분할 데이터를 복구하여 상기 어플리케이션 계층으로 전송하되, 상기 복구된 데이터를 상기 저장된 콜백 함수에 기초하여 상기 어플리케이션 계층으로 전송하는 것인, 장치.
The method of claim 4,
The storage unit,
Store a callback function of the data received from the application layer,
The multiple connection control module,
When the divided data is received from the external object, the divided data is recovered and transmitted to the application layer, and the recovered data is transmitted to the application layer based on the stored callback function.
제 1 항에 있어서,
상기 데이터 분할부는,
상기 세그먼트 단위로 분할된 복수의 분할 데이터 각각에 대한 세그먼트 고유 정보를 저장하는 것인, 장치.
The method of claim 1,
The data division unit,
And storing segment-specific information for each of the plurality of divided data divided by the segment unit.
제 7 항에 있어서,
상기 다중 연결 제어 모듈은,
상기 외부 객체로부터 상기 분할 데이터가 수신되는 경우, 상기 저장된 세그먼트 고유 정보에 기초하여 상기 분할 데이터를 복구하는 것인, 장치.
The method of claim 7,
The multiple connection control module,
When the segment data is received from the external object, the segment data is recovered based on the stored segment unique information.
제 1 항에 있어서,
상기 가상 소켓 관리부는,
상기 데이터에 기초하여 제어 데이터용 가상 소켓을 생성하고, 상기 제어 데이터용 가상 소켓에 대응하는 소켓을 통해 수신되는 데이터에 기초하여 복수의 일반 데이터용 가상 소켓을 생성하는 것인, 장치.
The method of claim 1,
The virtual socket management unit,
And generating a virtual socket for control data based on the data, and generating a plurality of virtual sockets for general data based on data received through a socket corresponding to the control data virtual socket.
제 9 항에 있어서,
상기 다중 연결 제어 모듈은,
상기 복수의 일반 데이터 가상 소켓에 대응하는 소켓의 데이터 송수신 허용 대역폭 및 인터페이스 중 어느 하나 이상에 기초하여, 상기 복수의 일반 데이터 가상 소켓 중 어느 하나 이상에 대응하는 어느 하나 이상의 소켓을 통해 상기 복수의 분할 데이터를 상기 외부 객체로 전송하는 것인, 장치.
The method of claim 9,
The multiple connection control module,
The plurality of divisions through any one or more sockets corresponding to one or more of the plurality of general data virtual sockets based on any one or more of an interface and a data transmission/reception allowable bandwidth of a socket corresponding to the plurality of general data virtual sockets Transmitting data to the external object.
전달 계층의 복수의 소켓을 제어하기 위한 다중 연결 제어 모듈을 이용한 다중 연결을 통한 데이터 전송 방법에 있어서,
어플리케이션 계층으로부터 수신되는 신호에 기초하여 외부 객체와의 통신을 위해 상기 복수의 소켓에 대응하는 복수의 가상 소켓을 생성하는 단계;
어플리케이션 계층으로부터 수신되는 데이터를 세그먼트 단위로 분할하는 단계; 및
상기 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 상기 세그먼트 단위로 분할된 복수개의 분할 데이터를 상기 외부 객체로 전송하는 단계를 포함하는 것인, 데이터 전송 방법.
In the data transmission method through multiple connections using a multiple connection control module for controlling a plurality of sockets of a transport layer,
Generating a plurality of virtual sockets corresponding to the plurality of sockets for communication with an external object based on signals received from an application layer;
Dividing data received from the application layer into segments; And
And transmitting a plurality of segmented data divided by segment units to the external object through a plurality of sockets corresponding to the plurality of virtual sockets.
제 11 항에 있어서,
상기 가상 소켓을 생성하는 단계에서는 복수의 가상 소켓 각각을 상기 복수의 소켓 각각과 매핑하여 관리하는 것인, 데이터 전송 방법.
The method of claim 11,
In the step of creating the virtual socket, each of a plurality of virtual sockets is mapped and managed with each of the plurality of sockets.
제 11 항에 있어서,
상기 다중 연결 제어 모듈은 상기 전달 계층과 상기 어플리케이션 계층의 사이에 형성된 것인, 데이터 전송 방법.
The method of claim 11,
The multi-connection control module is formed between the transport layer and the application layer, data transmission method.
제 11 항에 있어서,
상기 복수의 가상 소켓 중 상기 복수의 분할 데이터를 전송한 어느 하나 이상의 소켓에 대응하는 어느 하나 이상의 가상 소켓의 소켓 정보를 저장하는 단계를 더 포함하고,
상기 다중 연결 제어 모듈은,
상기 외부 객체로부터 상기 분할 데이터가 수신되는 경우, 상기 분할 데이터를 복구하여 상기 어플리케이션 계층으로 전송하되, 상기 복구된 데이터를 상기 저장된 소켓 정보에 기초하여 상기 어플리케이션 계층으로 전송하는 것인, 데이터 전송 방법.
The method of claim 11,
The step of storing socket information of one or more virtual sockets corresponding to any one or more sockets that have transmitted the plurality of divided data among the plurality of virtual sockets,
The multiple connection control module,
When the divided data is received from the external object, the divided data is recovered and transmitted to the application layer, and the recovered data is transmitted to the application layer based on the stored socket information.
제 14 항에 있어서,
상기 저장하는 단계에서는,
상기 어플리케이션 계층으로부터 수신되는 상기 데이터의 콜백 함수를 저장하고,
상기 다중 연결 제어 모듈은,
상기 외부 객체로부터 상기 분할 데이터가 수신되는 경우, 상기 분할 데이터를 복구하여 상기 어플리케이션 계층으로 전송하되, 상기 복구된 데이터를 상기 저장된 콜백 함수에 기초하여 상기 어플리케이션 계층으로 전송하는 것인, 데이터 전송 방법.
The method of claim 14,
In the storing step,
Store a callback function of the data received from the application layer,
The multiple connection control module,
When the divided data is received from the external object, the divided data is recovered and transmitted to the application layer, and the recovered data is transmitted to the application layer based on the stored callback function.
제 11 항에 있어서,
상기 분할하는 단계에서는,
상기 세그먼트 단위로 분할된 복수의 분할 데이터 각각에 대한 세그먼트 고유 정보를 저장하는 것인, 데이터 전송 방법.
The method of claim 11,
In the dividing step,
To store segment-specific information for each of the plurality of pieces of divided data divided by the segment unit.
제 16 항에 있어서,
상기 다중 연결 제어 모듈은,
상기 외부 객체로부터 상기 분할 데이터가 수신되는 경우, 상기 저장된 세그먼트 고유 정보에 기초하여 상기 분할 데이터를 복구하는 것인, 데이터 전송 방법.
The method of claim 16,
The multiple connection control module,
When the segment data is received from the external object, the segment data is recovered based on the stored segment unique information.
제 11 항에 있어서,
상기 가상 소켓을 생성하는 단계에서는,
상기 데이터에 기초하여 제어 데이터용 가상 소켓을 생성하고, 상기 제어 데이터용 가상 소켓에 대응하는 소켓을 통해 수신되는 데이터에 기초하여 복수의 일반 데이터용 가상 소켓을 생성하는 것인, 데이터 전송 방법.
The method of claim 11,
In the step of creating the virtual socket,
And generating a virtual socket for control data based on the data, and generating a plurality of virtual sockets for general data based on data received through a socket corresponding to the control data virtual socket.
제 18 항에 있어서,
상기 외부 객체로 전송하는 단계에서는,
상기 복수의 일반 데이터 가상 소켓에 대응하는 소켓의 데이터 송수신 허용 대역폭 및 인터페이스 중 어느 하나 이상에 기초하여, 상기 복수의 일반 데이터 가상 소켓 중 어느 하나 이상에 대응하는 어느 하나 이상의 소켓을 통해 상기 복수의 분할 데이터를 상기 외부 객체로 전송하는 것인, 데이터 전송 방법.
The method of claim 18,
In the step of transmitting to the external object,
The plurality of divisions through any one or more sockets corresponding to one or more of the plurality of general data virtual sockets based on any one or more of an interface and a data transmission/reception allowable bandwidth of a socket corresponding to the plurality of general data virtual sockets To transmit data to the external object, data transmission method.
다중 연결을 통한 데이터 전송하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
어플리케이션 계층으로부터 수신되는 신호에 기초하여 외부 객체와의 통신을 위해 상기 복수의 소켓에 대응하는 복수의 가상 소켓을 생성하고,
어플리케이션 계층으로부터 수신되는 데이터를 세그먼트 단위로 분할하고,
상기 복수의 가상 소켓에 대응하는 복수의 소켓을 통해 상기 세그먼트 단위로 분할된 복수개의 분할 데이터를 상기 외부 객체로 전송하도록 하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a medium containing a sequence of instructions for transmitting data through multiple connections,
When the computer program is executed by a computing device,
Create a plurality of virtual sockets corresponding to the plurality of sockets for communication with an external object based on a signal received from the application layer,
Dividing the data received from the application layer into segments,
A computer program stored in a medium comprising a sequence of instructions for transmitting a plurality of segmented data divided by segments to the external object through a plurality of sockets corresponding to the plurality of virtual sockets.
KR1020190037051A 2019-03-29 2019-03-29 Method, apparatus and computer program for transmitting data through multiple connection KR20200114774A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190037051A KR20200114774A (en) 2019-03-29 2019-03-29 Method, apparatus and computer program for transmitting data through multiple connection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190037051A KR20200114774A (en) 2019-03-29 2019-03-29 Method, apparatus and computer program for transmitting data through multiple connection

Publications (1)

Publication Number Publication Date
KR20200114774A true KR20200114774A (en) 2020-10-07

Family

ID=72883343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190037051A KR20200114774A (en) 2019-03-29 2019-03-29 Method, apparatus and computer program for transmitting data through multiple connection

Country Status (1)

Country Link
KR (1) KR20200114774A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170109979A (en) 2016-03-22 2017-10-10 주식회사 케이티 Method and terminal for multi-path transmission

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170109979A (en) 2016-03-22 2017-10-10 주식회사 케이티 Method and terminal for multi-path transmission

Similar Documents

Publication Publication Date Title
US11336580B2 (en) Methods, apparatuses and computer program products for transmitting data
US11563669B2 (en) Method for implementing network virtualization and related apparatus and communications system
CN107465590B (en) Network infrastructure system, method of routing network traffic and computer readable medium
US8954992B2 (en) Distributed and scaled-out network switch and packet processing
KR20130088774A (en) System and method for delivering segmented content
US10193758B2 (en) Communication via a connection management message that uses an attribute having information on queue pair objects of a proxy node in a switchless network
US20150088995A1 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
CN107547391A (en) A kind of message transmitting method and device
CN112787913B (en) Intelligent network card assembly, physical machine, cloud service system and message sending method
US10362120B2 (en) Distributed gateways with centralized data center for high throughput satellite (HTS) spot beam network
US11050655B2 (en) Route information distribution through cloud controller
CN105376292A (en) Explicit strategy feedback in name-based forwarding
CN104508651A (en) Connection mesh in mirroring asymmetric clustered multiprocessor systems
CN104202364A (en) Autodiscovery and configuration method for controller, and equipment
CN104811383A (en) Message forwarding method and equipment
CN102170456A (en) Method, device and system for acquiring content in PPN (peer-to-peer network)
CN104994022A (en) Message transmission method and service board
CN110545230B (en) Method and device for forwarding VXLAN message
CN105897853A (en) Peer-to-peer network connection method and device
CN106411553B (en) Method and device for optimizing service chain path
CN107483628B (en) DPDK-based one-way proxy method and system
CN114020395A (en) Virtual desktop network acceleration method, device, terminal and storage medium
US11611632B2 (en) Cloud to on-premise port forwarding with IP address bound to loopback alias
US20140289307A1 (en) Method for transmitting data between electronic devices
KR20200114774A (en) Method, apparatus and computer program for transmitting data through multiple connection