KR102633575B1 - Network data chaining apparatus, and control method thereof - Google Patents

Network data chaining apparatus, and control method thereof Download PDF

Info

Publication number
KR102633575B1
KR102633575B1 KR1020210142834A KR20210142834A KR102633575B1 KR 102633575 B1 KR102633575 B1 KR 102633575B1 KR 1020210142834 A KR1020210142834 A KR 1020210142834A KR 20210142834 A KR20210142834 A KR 20210142834A KR 102633575 B1 KR102633575 B1 KR 102633575B1
Authority
KR
South Korea
Prior art keywords
network
data
application
applications
connection order
Prior art date
Application number
KR1020210142834A
Other languages
Korean (ko)
Other versions
KR20230058952A (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 KR1020210142834A priority Critical patent/KR102633575B1/en
Publication of KR20230058952A publication Critical patent/KR20230058952A/en
Application granted granted Critical
Publication of KR102633575B1 publication Critical patent/KR102633575B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution

Abstract

본 발명은 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 어플리케이션 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법에 관한 것이다.The present invention relates to a chaining technology that builds a network by combining virtual resource-based applications in a predetermined connection order, and a network data chaining device that can dynamically change the connection combination between applications and the resulting data flow. This relates to the operation method of a network data chaining device.

Description

네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법{NETWORK DATA CHAINING APPARATUS, AND CONTROL METHOD THEREOF}Network data chaining device and operation method of the network data chaining device {NETWORK DATA CHAINING APPARATUS, AND CONTROL METHOD THEREOF}

본 발명은, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 어플리케이션 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경하기 위한 방안에 관한 것이다.The present invention relates to a chaining technology that builds a network by combining virtual resource-based applications in a predetermined connection order, and relates to a method for dynamically changing the connection combination between applications and the resulting data flow. .

서비스 사업자 및 통신 사업자를 중심으로 네트워크의 개방화와 가상화에 대한 관심이 높아지고 있으며, 이를 지원하는 기술로는 소프트웨어 정의 네트워킹(Software-Defined Networking, 이하 SDN) 기술과 네트워크 기능 가상화(Network Functions Virtualization, 이하 NFV) 기술이 존재한다.Interest in network openness and virtualization is increasing, especially among service providers and telecommunications providers, and technologies that support this include software-defined networking (SDN) technology and network functions virtualization (NFV). ) Technology exists.

NFV 기술은 하드웨어로 이루어진 네트워크 서비스 기능을 소프트웨어적으로 가상화함으로써 이들을 유연하게 재배치할 수 있다는 점에서 SDN의 대표적인 응용 분야 중의 하나로 여겨지고 있다.NFV technology is considered one of the representative application fields of SDN in that it can flexibly redeploy network service functions made up of hardware by virtualizing them in software.

특히 NFV을 기반으로 가상화된 복수개의 네트워크 컴포넌트들을 정해진 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Service Chaining) 기술의 경우 네트워크 사업자 및 서비스 사업자의 높은 관심을 이끌고 있다.In particular, service chaining technology, which builds a single network by combining multiple virtualized network components based on NFV in a given order, is attracting high interest from network operators and service providers.

이와 관련하여, 기존의 클라우드 환경에서 제공되던 다양한 IT 서비스 및 기술을 모바일 네트워크의 엣지에서 제공하고자 하는 개념인 모바일 엣지 컴퓨팅(MEC, Mobile-Edge Computing) 환경에서도 NFV 기술이 적용되므로, 체이닝 기술을 통해 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구현할 수 있다.In this regard, NFV technology is also applied in the Mobile-Edge Computing (MEC) environment, which is a concept that seeks to provide various IT services and technologies provided in the existing cloud environment at the edge of the mobile network, so chaining technology is used. A network can be implemented by combining virtual resource-based applications in a designated connection order.

한편, 이와 같이 어플리케이션이 조합된 네트워크에서는, 각 어플리케이션에서 처리된 데이터는 정해진 연결 순서에 따라 이웃한 다음 순서의 어플리케이션으로 전달되는데, 만약 이러한 어플리케이션 간 데이터 흐름의 변경이 요구되는 경우라면, 기존의 어플리케이션 간 연결을 종료하고, 어플리케이션 간의 연결을 새롭게 구성해야만 한다.Meanwhile, in a network where applications are combined like this, the data processed by each application is delivered to the next neighboring application according to a determined connection order. If a change in data flow between these applications is required, the existing application The inter-application connection must be terminated and a new inter-application connection must be established.

그러나, 어플리케이션 간 기존 연결을 종료하기 위해서는, 커널 및 네트워크 레벨에서 전송 대기 중인 데이터를 모두 전송해야만 하는데, 이는 어플리케이션 간 데이터 흐름을 실시간으로 변경하는 것을 어렵게 만들어 데이터 전송 지연을 발생시키게 되며, 무엇보다도 이러한 일련의 절차를 지원하기 위해서는 어플리케이션의 구현 로직이 복잡해지게 된다는 문제가 있다.However, in order to terminate the existing connection between applications, all data waiting to be transmitted at the kernel and network levels must be transmitted, which makes it difficult to change the data flow between applications in real time, causing data transmission delays. There is a problem that the implementation logic of the application becomes complicated in order to support a series of procedures.

이에 본 발명에서는 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝 기술과 관련하여, 어플리케이션 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 새로운 기법을 제안하고자 한다.Accordingly, the present invention proposes a new technique that can dynamically change the combination of connections between applications and the resulting data flow in relation to chaining technology, which builds a network by combining virtual resource-based applications in a predetermined connection order.

본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 어플리케이션 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 새로운 기법을 제안하는데 있다.The present invention was created in consideration of the above-described circumstances, and the purpose to be achieved by the present invention is to connect applications based on chaining technology, which builds a network by combining virtual resource-based applications in a set connection order. The goal is to propose a new technique that can dynamically change the combination of connections and the resulting data flow.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치는, 가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득부; 및 상기 네트워크체이닝정보를 기초로 상기 데이터를 상기 네트워크 내 어플리케이션 간 연결 순서에 따라 각 어플리케이션에 순차적으로 전달하여 어플리케이션 간에 직렬 처리되도록 하는 처리부를 포함하며, 상기 네트워크체이닝정보는, 상기 네트워크 내 어플리케이션 간 연결 순서를 정의하기 위해서 상기 출발지로부터 수신되는 데이터의 헤더(Header) 필드에 삽입되는 라벨정보를 포함하는 것을 특징으로 한다.A network data chaining device according to an embodiment of the present invention for achieving the above object includes: an acquisition unit that obtains network chaining information about network resources in which each virtual resource-based application is combined in connection order from data; And a processing unit that sequentially delivers the data to each application according to the connection order between applications in the network based on the network chaining information and serially processes the data between applications, wherein the network chaining information is connected to the applications in the network. It is characterized by including label information inserted into the header field of the data received from the source in order to define the order.

구체적으로, 상기 라벨정보는, 상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 추가되는 라벨을 포함하며, 상기 처리부는, 상기 라벨이 지시하는 바에 따라 상기 데이터를 상기 네트워크 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달할 수 있다.Specifically, the label information includes a label added to indicate an application in each connection order according to the connection order defined between applications in the network, and the processing unit stores the data as indicated by the label. It can be delivered to a specific application within the network, and the data processed by the specific application can be transferred to another application that is next to the specific application in the connection order.

구체적으로, 상기 처리부는, 상기 데이터를 상기 특정 어플리케이션의 입력 포트로 전달하며, 상기 특정 어플리케이션에서 처리된 데이터는, 상기 특정 어플리케이션의 출력 포트로부터 획득하여 상기 다른 어플리케이션의 입력 포트로 전달할 수 있다.Specifically, the processing unit transmits the data to the input port of the specific application, and data processed in the specific application can be obtained from the output port of the specific application and transmitted to the input port of the other application.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치의 동작 방법은, 가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득단계; 및 상기 네트워크체이닝정보를 기초로 상기 데이터를 상기 네트워크 내 어플리케이션 간 연결 순서에 따라 각 어플리케이션에 순차적으로 전달하여 어플리케이션 간에 직렬 처리되도록 하는 처리단계를 포함하며, 상기 네트워크체이닝정보는, 상기 네트워크 내 어플리케이션 간 연결 순서를 정의하기 위해서 상기 출발지로부터 수신되는 데이터의 헤더(Header) 필드에 삽입되는 라벨정보를 포함하는 것을 특징으로 한다.A method of operating a network data chaining device according to an embodiment of the present invention to achieve the above object includes an acquisition step of obtaining network chaining information about network resources in which each virtual resource-based application is combined in connection order from data; And a processing step of sequentially delivering the data to each application according to the connection order between applications within the network based on the network chaining information so that the data is serially processed between applications, wherein the network chaining information is transmitted between applications within the network. It is characterized by including label information inserted into the header field of the data received from the source in order to define the connection order.

구체적으로, 상기 라벨정보는, 상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 추가되는 라벨을 포함하며, 상기 처리단계는, 상기 라벨이 지시하는 바에 따라 상기 데이터를 상기 네트워크 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달할 수 있다.Specifically, the label information includes a label added to indicate the application in each connection order according to the connection order defined between applications in the network, and the processing step is to store the data according to the label. It can be delivered to a specific application within the network, and data processed by the specific application can be transferred to another application that is next in the connection order next to the specific application.

구체적으로, 상기 처리단계는, 상기 데이터를 상기 특정 어플리케이션의 입력 포트로 전달하며, 상기 특정 어플리케이션에서 처리된 데이터는, 상기 특정 어플리케이션의 출력 포트로부터 획득하여 상기 다른 어플리케이션의 입력 포트로 전달할 수 있다.Specifically, the processing step transfers the data to the input port of the specific application, and data processed in the specific application can be obtained from the output port of the specific application and transferred to the input port of the other application.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 프로그램은, 하드웨어와 결합되어, 가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득단계; 및 상기 네트워크체이닝정보를 기초로 상기 데이터를 상기 네트워크 내 어플리케이션 간 연결 순서에 따라 각 어플리케이션에 순차적으로 전달하여 어플리케이션 간에 직렬 처리되도록 하는 처리단계를 실행시키기 위해 매체에 저장되며, 상기 네트워크체이닝정보는, 상기 네트워크 내 어플리케이션 간 연결 순서를 정의하기 위해서 상기 출발지로부터 수신되는 데이터의 헤더(Header) 필드에 삽입되는 라벨정보를 포함하는 것을 특징으로 한다.A program according to an embodiment of the present invention for achieving the above object includes an acquisition step of acquiring network chaining information about network resources that are combined with hardware and each virtual resource-based application is combined in connection order from data; And based on the network chaining information, the data is sequentially delivered to each application according to the connection order between applications in the network to be serially processed between applications. The network chaining information is stored in a medium, It is characterized by including label information inserted into a header field of data received from the source in order to define the connection order between applications within the network.

이에, 본 발명의 네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법에 의하면, 어플리케이션과는 별도의 네트워크 단에서 데이터 전달이 수행됨에 따라 어플리케이션 간 연결 조합 및 그에 따른 데이터 흐름을 지연 없이 동적으로 변경할 수 있으며, 또한, 어플리케이션 단에서는 데이터 처리만이 요구되므로, 어플리케이션의 구현 로직을 최대한 간소화시킬 수 있다.Accordingly, according to the network data chaining device and the operating method of the network data chaining device of the present invention, the connection combination between applications and the resulting data flow can be dynamically changed without delay as data is transmitted at a network end separate from the application. Additionally, since only data processing is required at the application level, the implementation logic of the application can be simplified as much as possible.

도 1은 종래 기술에 따른 어플리케이션 체이닝 환경을 설명하기 위한 예시도.
도 2는 본 발명의 일 실시예에 따른 어플리케이션 체이닝 환경을 설명하기 위한 예시도.
도 3은 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치를 설명하기 위한 구성도.
도 4는 본 발명의 일 실시예에 따른 네트워크체이닝정보(라벨정보)를 설명하기 위한 예시도.
도 5는 본 발명의 일 실시예에 따른 데이터 흐름을 설명하기 위한 예시도.
도 6은 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치의 동작 방법을 설명하기 위한 순서도.
Figure 1 is an example diagram for explaining an application chaining environment according to the prior art.
Figure 2 is an example diagram for explaining an application chaining environment according to an embodiment of the present invention.
Figure 3 is a configuration diagram for explaining a network data chaining device according to an embodiment of the present invention.
Figure 4 is an example diagram for explaining network chaining information (label information) according to an embodiment of the present invention.
Figure 5 is an example diagram for explaining data flow according to an embodiment of the present invention.
Figure 6 is a flowchart illustrating a method of operating a network data chaining device according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the attached drawings.

본 발명의 일 실시예에서는, NFV을 기반으로 가상화된 복수개의 네트워크 컴포넌트들을 정해진 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Service Chaining) 기술을 다룬다.One embodiment of the present invention deals with chaining (Service Chaining) technology that builds one network by combining a plurality of network components virtualized based on NFV in a specified order.

이와 관련하여, 기존의 클라우드 환경에서 제공되던 다양한 IT 서비스 및 기술을 모바일 네트워크의 엣지에서 제공하고자 하는 개념인 모바일 엣지 컴퓨팅(MEC, Mobile-Edge Computing) 환경에서도 NFV 기술이 적용되므로, 체이닝 기술을 통해 가상 자원 기반의 어플리케이션(소프트웨어 모듈)을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구현할 수 있다.In this regard, NFV technology is also applied in the Mobile-Edge Computing (MEC) environment, which is a concept that seeks to provide various IT services and technologies provided in the existing cloud environment at the edge of the mobile network, so chaining technology is used. A network can be implemented by combining virtual resource-based applications (software modules) in a designated connection order.

한편, 이와 같이 어플리케이션이 조합된 네트워크에서는, 각 어플리케이션에서 처리된 데이터는 정해진 연결 순서에 따라 이웃한 다음 순서의 어플리케이션으로 전달되는데, 만약 이러한 어플리케이션 간 데이터 흐름의 변경이 요구되는 경우라면, 기존의 어플리케이션 간 연결을 종료하고, 어플리케이션 간의 연결을 새롭게 구성해야만 한다.Meanwhile, in a network where applications are combined like this, the data processed by each application is delivered to the next neighboring application according to a determined connection order. If a change in data flow between these applications is required, the existing application The inter-application connection must be terminated and a new inter-application connection must be established.

그러나, 어플리케이션 간 기존 연결을 종료하기 위해서는, 커널 및 네트워크 레벨에서 전송 대기 중인 데이터를 모두 전송해야만 하는데, 이는 어플리케이션 간 데이터 흐름을 실시간으로 변경하는 것을 어렵게 만들어 데이터 전송 지연을 발생시키게 된다.However, in order to terminate the existing connection between applications, all data waiting to be transmitted at the kernel and network levels must be transmitted, which makes it difficult to change the data flow between applications in real time, resulting in data transmission delay.

예를 들어, 도 1에서와 같이 출발지(External Source)로부터 수신되는 데이터를 제1어플리케이션(App1)에서 처리하고, 제1어플리케이션(App1)에서 처리된 데이터는 제2어플리케이션(App2)에서의 처리를 거쳐 목적지(Sinker)로 전달되는 기존 데이터 경로를, 출발지(External Source)로부터 제1어플리케이션(App1) 및 제3어플리케이션(App3)을 거쳐 목적지(Sinker)로 전달되는 신규 데이터 경로로 변경하고자 하는 경우를 가정해볼 수 있다.For example, as shown in Figure 1, data received from the source (External Source) is processed in the first application (App1), and data processed in the first application (App1) is processed in the second application (App2). When you want to change the existing data path that is delivered to the destination (Sinker) through a new data path that is delivered from the source (External Source) to the destination (Sinker) through the first application (App1) and the third application (App3). We can assume this.

이 경우, 제1어플리케이션(App1)에서의 데이터 처리 및 데이터 전송을 중단해야 하며(①), 이미 어플리케이션(App1 or App2) 단에서 전송되어 커널 및 네트워크 레벨에서 전송 대기 중인 데이터가 모두 전송되기를 기다린 후(②), 기존 데이터 전송을 위한 연결을 종료해야 하며(③), 이어서 제1어플리케이션(App1)과 제3어플리케이션(App3) 간 새로운 연결을 생성한 후(④), 다시 데이터 처리 및 데이터 전송을 시작해야만 하는(⑤) 일련의 과정들이 요구되고 있는 것이다.In this case, data processing and data transmission in the first application (App1) must be stopped (①), and after waiting for all data already transmitted from the application (App1 or App2) and waiting to be transmitted at the kernel and network levels to be transmitted, (②), the existing connection for data transmission must be terminated (③), and then a new connection between the first application (App1) and the third application (App3) must be created (④), and then data processing and data transmission are performed again. A series of processes that must begin (⑤) are required.

특히, 이처럼 어플리케이션 조합에 의해 구축되는 네트워크에서 어플리케이션의 조합 및 그에 따른 데이터 흐름을 변경하기 위해선, 어플리케이션 단에서 데이터 전송을 위한 L3(TCP/UDP) 데이터 채널 생성 및 변경을 지원해야만 하는데 이로 인해, 이를 지원하기 위한 어플리케이션의 구현 로직이 복잡해지는 문제가 발생하게 된다.In particular, in order to change the combination of applications and the resulting data flow in a network built by combining applications like this, the creation and change of L3 (TCP/UDP) data channels for data transmission must be supported at the application level. A problem arises where the implementation logic of the application to support becomes complicated.

이에 본 발명의 일 실시예에서는, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝 기술과 관련하여, 어플리케이션 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 새로운 기법을 제안하고자 하는 것이다.Accordingly, in one embodiment of the present invention, in relation to chaining technology that builds one network by combining virtual resource-based applications in a predetermined connection order, a new technique that can dynamically change the connection combination between applications and the resulting data flow I would like to suggest this.

이와 관련하여, 도 2에서는 본 발명의 일 실시예에 따른 어플리케이션 체이닝 환경을 예시적으로 보여주고 있다.In relation to this, Figure 2 exemplarily shows an application chaining environment according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어플리케이션 체이닝 환경에는, 가상 자원 기반의 어플리케이션(App1, App2, App3) 각각이 연결 순서대로 조합되는 네트워크에서 데이터 흐름을 제어하는 네트워크데이터체이닝장치(100)가 포함될 수 있다.As shown in FIG. 2, the application chaining environment according to an embodiment of the present invention includes network data chaining that controls data flow in a network where virtual resource-based applications (App1, App2, and App3) are each combined in connection order. Device 100 may be included.

여기서, 네트워크데이터체이닝장치(100)는 출발지(External Source)로부터 수신되는 데이터를 네트워크 내 어플리케이션(App1, App2, App3) 간 연결 순서에 따라 순차적으로 전달하여 어플리케이션(App1, App2, App3) 간에 직렬 처리되도록 하고, 처리 완료된 데이터를 목적지(Sinker) 전달하기 위한 장치를 일컫는다.Here, the network data chaining device 100 sequentially transmits the data received from the source (External Source) according to the connection order between the applications (App1, App2, and App3) within the network and serially processes them between the applications (App1, App2, and App3). It refers to a device for delivering processed data to its destination (sinker).

이러한, 네트워크데이터체이닝장치(100)는 예컨대, 가상 자원 기반의 어플리케이션(App1, App2, App3)과는 별도로 네트워크 레벨에서 가상화된 네트워크 컴포넌트의 형태로 구현될 수 있다.For example, the network data chaining device 100 may be implemented in the form of a virtualized network component at the network level separately from the virtual resource-based applications (App1, App2, and App3).

한편, 본 발명의 일 실시예에 따른 네트워크체이닝(100)는 예컨대, 미디어 데이터 처리용으로 적용될 수 있으며, 이 경우, 네트워크 내 각 어플리케이션(App1, App2, App3)에서는, 그 연결 순서에 따라 디코딩(Decoding, by App1), 업스케일링(UpScaling, by App2), 및 인코딩(Encoding, by App3) 등이 순차적으로 처리될 수 있다.Meanwhile, network chaining 100 according to an embodiment of the present invention can be applied, for example, to process media data. In this case, each application (App1, App2, App3) in the network decodes ( Decoding, by App1), upscaling (UpScaling, by App2), and encoding (Encoding, by App3) can be processed sequentially.

이상 본 발명의 일 실시예에 따른 어플리케이션 체이닝 환경에서는, 전술한 구성을 통해서 어플리케이션(App1, App2, App3) 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는데, 이하에서는 이를 실현하기 위한 네트워크데이터체이닝장치(100)의 구성을 보다 구체적으로 설명하기로 한다.In the application chaining environment according to an embodiment of the present invention, the connection combination and corresponding data flow between applications (App1, App2, App3) can be dynamically changed through the above-described configuration. Hereinafter, network data to realize this will be described. The configuration of the chaining device 100 will be described in more detail.

도 3은 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)의 개략적인 구성을 보여주고 있다.Figure 3 shows a schematic configuration of a network data chaining device 100 according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)는 출발지(External Source)로부터 수신되는 데이터로부터 네트워크체이닝정보를 획득하는 획득부(110), 및 네트워크체이닝정보에 기초하여 데이터 전달을 처리하는 처리부(120)를 포함하는 구성을 가질 수 있다.As shown in FIG. 3, the network data chaining device 100 according to an embodiment of the present invention includes an acquisition unit 110 that acquires network chaining information from data received from an external source, and network chaining information. It may have a configuration including a processing unit 120 that processes data transfer based on .

이러한, 네트워크데이터체이닝장치(100)의 전체 구성 내지는 적어도 일부는 소프트웨어 모듈 형태로 구현될 수 있는데, 여기서의 소프트웨어 모듈은, 가상 자원 기반의 어플리케이션(App1, App2, App3)과는 별도로 네트워크 레벨에서 가상화된 네트워크 컴포넌트의 형태인 것으로 이해될 수 있다.The entire configuration or at least part of the network data chaining device 100 may be implemented in the form of a software module, where the software module is virtualized at the network level separately from the virtual resource-based applications (App1, App2, App3). It can be understood as being in the form of a network component.

이상 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)는 전술한 구성을 기반으로, 어플리케이션(App1, App2, App3) 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는데, 이하에서는 이를 실현하기 위한 네트워크데이터체이닝장치(100) 내 구성에 대해서 보다 구체적인 설명을 이어 가기로 한다.The network data chaining device 100 according to an embodiment of the present invention can dynamically change the connection combination between applications (App1, App2, and App3) and the resulting data flow, based on the above-described configuration. Hereinafter, this will be described. We will continue with a more detailed explanation of the configuration within the network data chaining device 100 for realization.

획득부(110)는 출발지(External Source)로부터 수신되는 데이터로부터 네트워크체이닝정보를 획득하는 기능을 수행한다.The acquisition unit 110 performs the function of acquiring network chaining information from data received from an external source.

보다 구체적으로, 획득부(110)는 가상 자원 기반의 어플리케이션 어플리케이션(App1, App2, App3) 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 출발지(External Source)로부터 수신되는 데이터로부터 획득하게 된다.More specifically, the acquisition unit 110 acquires network chaining information about network resources that are combined in the connection order of each virtual resource-based application application (App1, App2, App3) from data received from an external source. do.

여기서, 네트워크체이닝정보는, 예컨대, 멀티프로토콜 라벨 스위칭(MPLS, Multiprotocol Label Switching) 기술과 관련하여, 네트워크 내 어플리케이션 간 연결 순서를 정의하기 위해서 출발지(External Source)로부터 수신되는 데이터의 헤더(Header) 필드에 삽입되는 정보인 라벨정보로 이해될 수 있다.Here, network chaining information is, for example, a header field of data received from an external source to define the connection order between applications within the network in relation to multiprotocol label switching (MPLS, Multiprotocol Label Switching) technology. It can be understood as label information, which is information inserted into .

이처럼, 출발지(External Source)로부터 수신되는 데이터의 헤더(Header) 필드에 삽입되는 라벨정보에는, 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위한 라벨이 추가될 수 있다.In this way, a label may be added to the label information inserted into the header field of data received from an external source to indicate the application of each connection order according to the connection order defined between applications in the network.

예를 들어, 출발지(External Source)로부터 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우, 출발지(External Source)로부터 수신되는 데이터의 헤더 필드에는, 도 4 (a)에서와 같이, 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 라벨(App1, App2, App3)이 각각 추가될 수 있다.For example, if you want to define the connection order from the source (External Source) to the destination (Sinker) through the first application (App1), the second application (App2), and the third application, from the source (External Source) In the header field of the received data, as shown in FIG. 4 (a), labels (App1, App2, App3) can be added respectively.

다른 예로서, 출발지(External Source)로부터 제1어플리케이션(App1)과 제3어플리케이션을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우, 출발지(External Source)로부터 수신되는 데이터의 헤더 필드에는, 도4 (b)에서와 같이, 제1어플리케이션(App1)과 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 라벨(App1, App3)이 추가될 수 있다.As another example, if you want to define the connection order in which the connection is delivered from the source (External Source) to the destination (Sinker) through the first application (App1) and the third application, the header field of the data received from the source (External Source) is , As shown in Figure 4 (b), labels (App1, App3) indicating the connection order of the first application (App1) and the third application (App3), respectively, may be added.

또 다른 예로서, 만약 출발지(External Source)로부터 제2어플리케이션(App2) 만을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우라면, 출발지(External Source)로부터 수신되는 데이터의 헤더 필드에는, 도 4 (c)에서와 같이 제2어플리케이션(App2)을 지시하는 라벨(App2)만이 존재하게 되는 것이다.As another example, if you want to define the connection order in which the data is transmitted from the source (External Source) to the destination (Sinker) through only the second application (App2), the header field of the data received from the source (External Source) includes, As shown in Figure 4 (c), only the label (App2) indicating the second application (App2) exists.

처리부(120)는 네트워크체이닝정보에 기초하여 데이터 전달을 처리하는 기능을 수행한다.The processing unit 120 performs the function of processing data transmission based on network chaining information.

보다 구체적으로, 처리부(120)는 네트워크체이닝정보에 기초한 네트워크 내 어플리케이션(App1, App2, App3) 간 연결 순서에 따라 출발지(External Source)로부터 수신되는 데이터를 각 어플리케이션(App1, App2, App3) 간에 순차적으로 전달하여 처리될 수 있도록 하며, 네트워크 내 어플리케이션(App1, App2, App3) 간에 데이터 처리가 완료되면, 처리 완료된 데이터를 목적지(Sinker)로 전달하게 된다.More specifically, the processing unit 120 sequentially processes data received from the source (External Source) between each application (App1, App2, App3) according to the connection order between applications (App1, App2, App3) in the network based on network chaining information. to be processed, and when data processing is completed between applications (App1, App2, App3) within the network, the processed data is delivered to the destination (Sinker).

이때, 처리부(120)는 네트워크체이닝정보 다시 말해, 출발지(External Source)로부터 수신되는 데이터의 헤더 필드에 추가된 라벨이 지시하는 바에 따라 출발지(External Source)로부터 수신되는 데이터를 네트워크 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달할 수 있다.At this time, the processing unit 120 delivers the data received from the source (External Source) to a specific application within the network according to the network chaining information, that is, the label added to the header field of the data received from the source (External Source) indicates. And, the data processed in the specific application can be transferred to another application that is next in the connection order next to the specific application.

특히, 처리부(120)는 이러한 데이터 전달 과정에서 출발지(External Source)로부터 수신되는 데이터를 상기 특정 어플리케이션의 입력 포트로 전달하며, 상기 특정 어플리케이션에서 처리된 데이터는, 상기 특정 어플리케이션의 출력 포트로부터 획득하여 상기 다른 어플리케이션의 입력 포트로 전달하게 된다.In particular, the processing unit 120 transfers data received from an external source to the input port of the specific application during this data transfer process, and data processed in the specific application is obtained from the output port of the specific application. It is transmitted to the input port of the other application.

예를 들어, 데이터의 헤더 필드에 추가된 라벨이 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 경우, 도 5 (a)에서와 같이, 출발지(External Source)로부터 수신되는 데이터를 제1어플리케이션(App1)의 입력 포트로 전달하며, 제1어플리케이션(App1)에서 처리된 데이터는 제1어플리케이션(App1)의 출력 포트로부터 제2어플리케이션(App2)의 입력 포트로 전달하며, 제2어플리케이션(App2)에서 처리된 데이터는 제2어플리케이션(App2)의 출력 포트로부터 제3어플리케이션(App3)의 입력 포트로 전달하며, 제3어플리케이션(App3)에서 처리된 데이터는 제3어플리케이션(App3)의 출력 포트로부터 목적지(Sinker)로 전달할 수 있는 것이다.For example, if the label added to the header field of the data indicates the connection order of the first application (App1), the second application (App2), and the third application (App3), as shown in Figure 5 (a) , Data received from the source (External Source) is delivered to the input port of the first application (App1), and data processed in the first application (App1) is transferred from the output port of the first application (App1) to the second application (App2). ), the data processed in the second application (App2) is transmitted from the output port of the second application (App2) to the input port of the third application (App3), and processed in the third application (App3) The data can be transferred from the output port of the third application (App3) to the destination (Sinker).

다른 예로서, 데이터의 헤더 필드에 추가된 라벨이 제1어플리케이션(App1)과 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 경우, 도 5 (b)에서와 같이, 출발지(External Source)로부터 수신되는 데이터를 제1어플리케이션(App1)의 입력 포트로 전달하며, 제1어플리케이션(App1)에서 처리된 데이터는 제1어플리케이션(App1)의 출력 포트로부터 제3어플리케이션(App3)의 입력 포트로 전달하며, 제3어플리케이션(App3)에서 처리된 데이터는 제3어플리케이션(App3)의 출력 포트로부터 목적지(Sinker)로 전달할 수 있는 것이다.As another example, when the label added to the header field of the data indicates the connection order of the first application (App1) and the third application (App3), as shown in Figure 5 (b), from the source (External Source) The received data is delivered to the input port of the first application (App1), and the data processed in the first application (App1) is transferred from the output port of the first application (App1) to the input port of the third application (App3). , Data processed in the third application (App3) can be transmitted from the output port of the third application (App3) to the destination (Sinker).

또 다른 예로서, 만약, 데이터의 헤더 필드에 추가된 라벨이 제2어플리케이션(App2) 만을 지시하는 경우라면, 도 5 (c)에서와 같이, 출발지(External Source)로부터 수신되는 데이터를 제2어플리케이션(App2)의 입력 포트로 전달하며, 제2어플리케이션(App2)에서 처리된 데이터는 제2어플리케이션(App2)의 출력 포트로부터 목적지(Sinker)로 전달할 수 있는 것이다.As another example, if the label added to the header field of the data indicates only the second application (App2), the data received from the source (External Source) is sent to the second application, as shown in Figure 5 (c). It is transmitted to the input port of (App2), and the data processed in the second application (App2) can be transmitted from the output port of the second application (App2) to the destination (Sinker).

이처럼, 본 발명의 일 실시예에서는 어플리케이션(App1, App2, App3) 간 데이터 전달이 어플리케이션(App1, App2, App3)과는 별도의 네트워크 단에서 수행되고 있음을 확인할 수 있는데, 이를 통해 어플리케이션(App1, App2, App3) 간 연결 조합 및 그에 따른 데이터 흐름을 지연 없이 동적으로 변경할 수 있으며, 또한, 어플리케이션(App1, App2, App3) 단에서는 입력 포트로 수신되는 데이터 처리 후 출력 포트로 처리된 데이터를 내보내는 동작만이 요구되므로, 어플리케이션의 구현 로직을 최소화시킬 수 있음을 알 수 있다.As such, in one embodiment of the present invention, it can be confirmed that data transfer between applications (App1, App2, App3) is performed on a separate network from the applications (App1, App2, App3), through which the applications (App1, The connection combination between App2, App3) and the resulting data flow can be changed dynamically without delay. Additionally, at the application (App1, App2, App3) level, the data received through the input port is processed and the processed data is exported to the output port. Since only this is required, it can be seen that the implementation logic of the application can be minimized.

한편, 처리부(120)는 네트워크체이닝정보 다시 말해, 출발지(External Source)로부터 수신되는 데이터의 헤더 필드에 추가된 라벨이 더 이상 존재하지 않는 경우, 네트워크 내 어플리케이션(App1, App2, App3) 간에 데이터 처리가 완료된 것으로 간주하며, 이처럼 처리가 완료된 데이터는 마지막 연결 순서에 해당하는 어플리케이션의 출력 포트로부터 목적지(Sinker)로 전달할 수 있다.Meanwhile, the processing unit 120 processes data between applications (App1, App2, App3) within the network when network chaining information, that is, the label added to the header field of data received from the source (External Source) no longer exists. is considered completed, and data that has been processed in this way can be delivered to the destination (sinker) from the output port of the application corresponding to the last connection order.

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)의 구성에 따르면, 가상 자원 기반의 어플리케이션(App1, App2, App3) 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 출발지(External Source)로부터 수신되는 데이터로부터 획득하고, 이러한 네트워크체이닝정보를 기초로 출발지(External Source)로부터 수신되는 데이터를 상기 네트워크 내 어플리케이션(App1, App2, App3) 간 연결 순서에 따라 각 어플리케이션(App1, App2, App3) 간에 순차적으로 전달하여 처리되도록 하며, 상기 네트워크 내 어플리케이션(App1, App2, App3) 간에 데이터 처리가 완료되면, 처리 완료된 데이터를 목적지(Sinker)로 전달함으로써, 어플리케이션(App1, App2, App3)과는 별도의 네트워크 단에서 데이터 전달이 수행됨에 따라 어플리케이션(App1, App2, App3) 간 연결 조합 및 그에 따른 데이터 흐름을 지연 없이 동적으로 변경할 수 있으며, 또한, 어플리케이션(App1, App2, App3) 단에서는 데이터 처리만이 요구되므로, 어플리케이션의 구현 로직을 최대한 간소화시킬 수 있다.As seen above, according to the configuration of the network data chaining device 100 according to an embodiment of the present invention, the network for network resources in which each of the virtual resource-based applications (App1, App2, and App3) is combined in connection order. Chaining information is obtained from data received from the source (External Source), and data received from the source (External Source) is based on this network chaining information according to the connection order between applications (App1, App2, App3) in the network. It is sequentially transmitted and processed between applications (App1, App2, App3), and when data processing is completed between applications (App1, App2, App3) within the network, the processed data is delivered to the destination (Sinker), and the application (App1 , App2, App3), the connection combination between applications (App1, App2, App3) and the resulting data flow can be changed dynamically without delay as data transfer is performed at a separate network level from App2, App3. , Since only data processing is required at the App3) stage, the implementation logic of the application can be simplified as much as possible.

이하에서는, 도 6을 참조하여 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(20)의 동작 방법을 설명하기로 한다.Hereinafter, a method of operating the network data chaining device 20 according to an embodiment of the present invention will be described with reference to FIG. 6.

먼저, 획득부(110)는 가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 출발지(External Source)로부터 수신되는 데이터로부터 획득한다(S110-S120).First, the acquisition unit 110 acquires network chaining information about network resources in which each virtual resource-based application is combined in connection order from data received from an external source (S110-S120).

여기서, 네트워크체이닝정보는, 예컨대, 멀티프로토콜 라벨 스위칭(MPLS, Multiprotocol Label Switching) 기술과 관련하여, 네트워크 내 어플리케이션 간 연결 순서를 정의하기 위해서 출발지(External Source)로부터 수신되는 데이터의 헤더(Header) 필드에 삽입되는 정보인 라벨정보로 이해될 수 있다.Here, network chaining information is, for example, a header field of data received from an external source to define the connection order between applications within the network in relation to multiprotocol label switching (MPLS, Multiprotocol Label Switching) technology. It can be understood as label information, which is information inserted into .

이처럼, 출발지(External Source)로부터 수신되는 데이터의 헤더(Header) 필드에 삽입되는 라벨정보에는, 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위한 라벨이 추가될 수 있다.In this way, a label may be added to the label information inserted into the header field of data received from an external source to indicate the application of each connection order according to the connection order defined between applications in the network.

예를 들어, 출발지(External Source)로부터 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우, 출발지(External Source)로부터 수신되는 데이터의 헤더 필드에는, 앞서 예시한 도 4 (a)에서와 같이, 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 라벨(App1, App2, App3)이 각각 추가될 수 있다.For example, if you want to define the connection order from the source (External Source) to the destination (Sinker) through the first application (App1), the second application (App2), and the third application, from the source (External Source) In the header field of the received data, as shown in FIG. 4 (a) above, a label (App1) indicating the connection order of the first application (App1), the second application (App2), and the third application (App3), respectively. , App2, App3) can be added respectively.

다른 예로서, 출발지(External Source)로부터 제1어플리케이션(App1)과 제3어플리케이션을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우, 출발지(External Source)로부터 수신되는 데이터의 헤더 필드에는, 앞서 예시한 도 4 (b)에서와 같이, 제1어플리케이션(App1)과 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 라벨(App1, App3)이 추가될 수 있다.As another example, if you want to define the connection order in which the connection is delivered from the source (External Source) to the destination (Sinker) through the first application (App1) and the third application, the header field of the data received from the source (External Source) is , As shown in FIG. 4 (b) previously illustrated, labels (App1, App3) that indicate the connection order of the first application (App1) and the third application (App3), respectively, may be added.

또 다른 예로서, 만약 출발지(External Source)로부터 제2어플리케이션(App2) 만을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우라면, 출발지(External Source)로부터 수신되는 데이터의 헤더 필드에는, 앞서 예시한 도 4 (c)에서와 같이 제2어플리케이션(App2)을 지시하는 라벨(App2)만이 존재하게 되는 것이다.As another example, if you want to define the connection order in which the data is transmitted from the source (External Source) to the destination (Sinker) through only the second application (App2), the header field of the data received from the source (External Source) includes, As shown in Figure 4 (c) illustrated above, only the label (App2) indicating the second application (App2) exists.

그리고 나서, 처리부(120)는 네트워크체이닝정보에 기초한 네트워크 내 어플리케이션(App1, App2, App3) 간 연결 순서에 따라 출발지(External Source)로부터 수신되는 데이터를 각 어플리케이션(App1, App2, App3) 간에 순차적으로 전달하여 처리될 수 있도록 한다(S130-S150).Then, the processing unit 120 sequentially transfers data received from the source (External Source) between each application (App1, App2, App3) according to the connection order between the applications (App1, App2, App3) in the network based on the network chaining information. Forward it so it can be processed (S130-S150).

이때, 처리부(120)는 네트워크체이닝정보 다시 말해, 출발지(External Source)로부터 수신되는 데이터의 헤더 필드에 추가된 라벨이 지시하는 어플리케이션을 확인하고, 확인된 바에 따라 출발지(External Source)로부터 수신되는 데이터를 네트워크 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달할 수 있다.At this time, the processing unit 120 checks the network chaining information, that is, the application indicated by the label added to the header field of the data received from the source (External Source), and as confirmed, the data received from the source (External Source) can be delivered to a specific application within the network, and data processed by the specific application can be transferred to another application that is next in the connection order next to the specific application.

특히, 처리부(120)는 이러한 데이터 전달 과정에서 출발지(External Source)로부터 수신되는 데이터를 상기 특정 어플리케이션의 입력 포트로 전달하며, 상기 특정 어플리케이션에서 처리된 데이터는, 상기 특정 어플리케이션의 출력 포트로부터 획득하여 상기 다른 어플리케이션의 입력 포트로 전달하게 된다.In particular, the processing unit 120 transfers data received from an external source to the input port of the specific application during this data transfer process, and data processed in the specific application is obtained from the output port of the specific application. It is transmitted to the input port of the other application.

예를 들어, 데이터의 헤더 필드에 추가된 라벨이 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 경우, 앞서 예시한 도 5 (a)에서와 같이, 출발지(External Source)로부터 수신되는 데이터를 제1어플리케이션(App1)의 입력 포트로 전달하며, 제1어플리케이션(App1)에서 처리된 데이터는 제1어플리케이션(App1)의 출력 포트로부터 제2어플리케이션(App2)의 입력 포트로 전달하며, 제2어플리케이션(App2)에서 처리된 데이터는 제2어플리케이션(App2)의 출력 포트로부터 제3어플리케이션(App3)의 입력 포트로 전달할 수 있는 것이다.For example, if the label added to the header field of the data indicates the connection order of the first application (App1), the second application (App2), and the third application (App3), respectively, as shown in Figure 5 (a) As in, data received from the source (External Source) is delivered to the input port of the first application (App1), and data processed in the first application (App1) is transmitted from the output port of the first application (App1) to the second It is transmitted to the input port of the application (App2), and data processed in the second application (App2) can be transmitted from the output port of the second application (App2) to the input port of the third application (App3).

다른 예로서, 데이터의 헤더 필드에 추가된 라벨이 제1어플리케이션(App1)과 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 경우, 앞서 예시한 도 5 (b)에서와 같이, 출발지(External Source)로부터 수신되는 데이터를 제1어플리케이션(App1)의 입력 포트로 전달하며, 제1어플리케이션(App1)에서 처리된 데이터는 제1어플리케이션(App1)의 출력 포트로부터 제3어플리케이션(App3)의 입력 포트로 전달할 수 있는 것이다.As another example, when the label added to the header field of the data indicates the connection order of the first application (App1) and the third application (App3), the source (External), as shown in FIG. 5 (b) above, Source) is delivered to the input port of the first application (App1), and data processed by the first application (App1) is transferred from the output port of the first application (App1) to the input port of the third application (App3). It can be conveyed by .

또 다른 예로서, 만약, 데이터의 헤더 필드에 추가된 라벨이 제2어플리케이션(App2) 만을 지시하는 경우라면, 앞서 예시한 도 5 (c)에서와 같이, 출발지(External Source)로부터 수신되는 데이터를 제2어플리케이션(App2)의 입력 포트로 전달할 수 있는 것이다.As another example, if the label added to the header field of the data indicates only the second application (App2), the data received from the source (External Source) is It can be transmitted to the input port of the second application (App2).

이처럼, 본 발명의 일 실시예에서는 어플리케이션(App1, App2, App3) 간 데이터 전달이 어플리케이션(App1, App2, App3)과는 별도의 네트워크 단에서 수행되고 있음을 확인할 수 있는데, 이를 통해 어플리케이션(App1, App2, App3) 간 연결 조합 및 그에 따른 데이터 흐름을 지연 없이 동적으로 변경할 수 있으며, 또한, 어플리케이션(App1, App2, App3) 단에서는 입력 포트로 수신되는 데이터 처리 후 출력 포트로 처리된 데이터를 내보내는 동작만이 요구되므로, 어플리케이션의 구현 로직을 최소화시킬 수 있음을 알 수 있다.As such, in one embodiment of the present invention, it can be confirmed that data transfer between applications (App1, App2, App3) is performed on a separate network from the applications (App1, App2, App3), through which the applications (App1, The connection combination between App2, App3) and the resulting data flow can be changed dynamically without delay. Additionally, at the application (App1, App2, App3) level, the data received through the input port is processed and the processed data is exported to the output port. Since only this is required, it can be seen that the implementation logic of the application can be minimized.

이후, 처리부(120)는 네트워크 내 어플리케이션(App1, App2, App3) 간에 데이터 처리가 완료되면, 처리 완료된 데이터를 목적지(Sinker)로 전달한다(S160).Afterwards, when data processing is completed between applications (App1, App2, and App3) in the network, the processing unit 120 delivers the processed data to the destination (Sinker) (S160).

이때, 처리부(120)는 네트워크체이닝정보 다시 말해, 출발지(External Source)로부터 수신되는 데이터의 헤더 필드에 추가된 라벨이 더 이상 존재하지 않는 경우, 네트워크 내 어플리케이션(App1, App2, App3) 간에 데이터 처리가 완료된 것으로 간주하며, 이처럼 처리가 완료된 데이터는 마지막 연결 순서에 해당하는 어플리케이션의 출력 포트로부터 목적지(Sinker)로 전달할 수 있다.At this time, the processing unit 120 processes data between applications (App1, App2, App3) within the network when network chaining information, that is, the label added to the header field of data received from the source (External Source) no longer exists. is considered completed, and data that has been processed in this way can be delivered to the destination (sinker) from the output port of the application corresponding to the last connection order.

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)의 동작 방법에 따르면, 가상 자원 기반의 어플리케이션(App1, App2, App3) 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 출발지(External Source)로부터 수신되는 데이터로부터 획득하고, 이러한 네트워크체이닝정보를 기초로 출발지(External Source)로부터 수신되는 데이터를 상기 네트워크 내 어플리케이션(App1, App2, App3) 간 연결 순서에 따라 각 어플리케이션(App1, App2, App3) 간에 순차적으로 전달하여 처리되도록 하며, 상기 네트워크 내 어플리케이션(App1, App2, App3) 간에 데이터 처리가 완료되면, 처리 완료된 데이터를 목적지(Sinker)로 전달함으로써, 어플리케이션(App1, App2, App3)과는 별도의 네트워크 단에서 데이터 전달이 수행됨에 따라 어플리케이션(App1, App2, App3) 간 연결 조합 및 그에 따른 데이터 흐름을 지연 없이 동적으로 변경할 수 있으며, 또한, 어플리케이션(App1, App2, App3) 단에서는 데이터 처리만이 요구되므로, 어플리케이션의 구현 로직을 최대한 간소화시킬 수 있다.As discussed above, according to the operating method of the network data chaining device 100 according to an embodiment of the present invention, each of the virtual resource-based applications (App1, App2, and App3) relates to network resources that are combined in connection order. Network chaining information is obtained from data received from the source (External Source), and data received from the source (External Source) is based on this network chaining information according to the connection order between applications (App1, App2, App3) in the network. It is sequentially transmitted and processed between each application (App1, App2, App3), and when data processing is completed between the applications (App1, App2, App3) in the network, the processed data is delivered to the destination (Sinker), so that the application ( As data transfer is performed on a separate network from App1, App2, App3), the connection combination and resulting data flow between applications (App1, App2, App3) can be dynamically changed without delay, and also, the connection combination between applications (App1, App2, App3) and the resulting data flow can be changed dynamically without delay. Since only data processing is required at the App2, App3) stage, the implementation logic of the application can be simplified as much as possible.

한편, 본 발명의 일 실시예에 따른 동작 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Meanwhile, the operating method according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Although the present invention has been described in detail with reference to preferred embodiments so far, the present invention is not limited to the above-described embodiments, and the technical field to which the present invention pertains without departing from the gist of the present invention as claimed in the following claims. Anyone skilled in the art will recognize that the technical idea of the present invention extends to the extent that various changes or modifications can be made.

본 발명에 따른 네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법에 따르면, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 어플리케이션 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the network data chaining device and the operating method of the network data chaining device according to the present invention, in relation to chaining technology that builds one network by combining virtual resource-based applications in a determined connection order, connection combination between applications And in that the resulting data flow can be dynamically changed, by going beyond the limitations of existing technology, not only is there sufficient possibility to market or sell the applied device, not only the use of related technology, but it is also possible to clearly implement it in reality. It is an invention that has industrial applicability.

100: 네트워크데이터체이닝장치
110: 획득부 120: 처리부
100: Network data chaining device
110: acquisition department 120: processing department

Claims (7)

가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득부; 및
상기 네트워크체이닝정보를 기초로 상기 데이터를 상기 네트워크 내 어플리케이션 간 연결 순서에 따라 각 어플리케이션에 순차적으로 전달하여 어플리케이션 간에 직렬 처리되도록 하는 처리부를 포함하며,
상기 네트워크체이닝정보는,
상기 네트워크 내 어플리케이션 간 연결 순서를 정의하기 위해서 출발지로부터 수신되는 상기 데이터의 헤더(Header) 필드에 삽입되는 라벨정보를 포함하며,
상기 처리부는,
상기 네트워크 내 어플리케이션 간 연결 순서에 따라 상기 데이터를 특정 어플리케이션의 입력 포트로 전달하여 처리되도록 하며, 상기 특정 어플리케이션에서 처리가 완료된 데이터는, 상기 특정 어플리케이션의 출력 포트로부터 획득하여 이웃한 다음 연결 순서인 다른 어플리케이션의 입력 포트로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치.
An acquisition unit that obtains network chaining information about network resources in which each virtual resource-based application is combined in connection order from data; and
A processing unit sequentially transmits the data to each application according to the connection order between applications in the network based on the network chaining information, so that the data is serially processed between applications,
The network chaining information is,
Includes label information inserted into the header field of the data received from the source to define the connection order between applications within the network,
The processing unit,
According to the connection order between applications within the network, the data is delivered to the input port of a specific application to be processed, and the data that has completed processing in the specific application is obtained from the output port of the specific application and connected to the next neighboring application. A network data chaining device characterized in that it is transmitted to the input port of the application.
제 1 항에 있어서,
상기 라벨정보는,
상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 추가되는 라벨을 포함하며,
상기 처리부는,
상기 라벨이 지시하는 바에 따라 상기 데이터를 상기 네트워크 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치.
According to claim 1,
The label information is,
Includes a label added to indicate the application of each connection order according to the connection order defined between applications in the network,
The processing unit,
A network data chaining device characterized in that the data is transmitted to a specific application in the network according to what the label indicates, and the data processed by the specific application is transmitted to another application that is next to the specific application and is in the next connection order. .
삭제delete 가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득단계; 및
상기 네트워크체이닝정보를 기초로 상기 데이터를 상기 네트워크 내 어플리케이션 간 연결 순서에 따라 각 어플리케이션에 순차적으로 전달하여 어플리케이션 간에 직렬 처리되도록 하는 처리단계를 포함하며,
상기 네트워크체이닝정보는,
상기 네트워크 내 어플리케이션 간 연결 순서를 정의하기 위해서 출발지로부터 수신되는 상기 데이터의 헤더(Header) 필드에 삽입되는 라벨정보를 포함하며,
상기 처리단계는,
상기 네트워크 내 어플리케이션 간 연결 순서에 따라 상기 데이터를 특정 어플리케이션의 입력 포트로 전달하여 처리되도록 하며, 상기 특정 어플리케이션에서 처리가 완료된 데이터는, 상기 특정 어플리케이션의 출력 포트로부터 획득하여 이웃한 다음 연결 순서인 다른 어플리케이션의 입력 포트로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
An acquisition step of obtaining network chaining information about network resources in which each virtual resource-based application is combined in connection order from data; and
It includes a processing step of sequentially transmitting the data to each application based on the network chaining information in the order of connection between applications in the network so that the data is serially processed between applications,
The network chaining information is,
Includes label information inserted into the header field of the data received from the source to define the connection order between applications within the network,
The processing step is,
According to the connection order between applications within the network, the data is delivered to the input port of a specific application to be processed, and the data that has completed processing in the specific application is obtained from the output port of the specific application and connected to the next neighboring application. A method of operating a network data chaining device, characterized in that it is transmitted to the input port of the application.
제 4 항에 있어서,
상기 라벨정보는,
상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 추가되는 라벨을 포함하며,
상기 처리단계는,
상기 라벨이 지시하는 바에 따라 상기 데이터를 상기 네트워크 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
According to claim 4,
The label information is,
Includes a label added to indicate the application of each connection order according to the connection order defined between applications in the network,
The processing step is,
A network data chaining device characterized in that the data is transmitted to a specific application in the network according to what the label indicates, and the data processed by the specific application is transmitted to another application that is next to the specific application and is in the next connection order. How it works.
삭제delete 하드웨어와 결합되어, 제 4 항 또는 제 5 항 중 어느 한 항의 각 단계를 실행시키기 위해 컴퓨터 판독 가능 비 일시적 기록 매체에 저장된 컴퓨터 프로그램.A computer program combined with hardware and stored in a computer-readable non-transitory recording medium to execute each step of any one of claims 4 or 5.
KR1020210142834A 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof KR102633575B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210142834A KR102633575B1 (en) 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210142834A KR102633575B1 (en) 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof

Publications (2)

Publication Number Publication Date
KR20230058952A KR20230058952A (en) 2023-05-03
KR102633575B1 true KR102633575B1 (en) 2024-02-02

Family

ID=86380978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210142834A KR102633575B1 (en) 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof

Country Status (1)

Country Link
KR (1) KR102633575B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101758207B1 (en) * 2016-04-04 2017-07-26 숭실대학교산학협력단 Apparatus for processing network packet using service function chaining and Method for controlling the same

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261814B2 (en) * 2014-06-23 2019-04-16 Intel Corporation Local service chaining with virtual machines and virtualized containers in software defined networking
KR101841026B1 (en) * 2016-02-29 2018-03-23 고려대학교 산학협력단 Service function chaining network system for path optimization
KR102071031B1 (en) * 2018-06-28 2020-01-29 한국전자통신연구원 Method and apparatus for providing service chaining in cloud environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101758207B1 (en) * 2016-04-04 2017-07-26 숭실대학교산학협력단 Apparatus for processing network packet using service function chaining and Method for controlling the same

Also Published As

Publication number Publication date
KR20230058952A (en) 2023-05-03

Similar Documents

Publication Publication Date Title
US10812378B2 (en) System and method for improved service chaining
US20200153897A1 (en) Early action on deploying and executing functions in a serverless environment
US10127140B2 (en) Automated problem determination for cooperating web services using debugging technology
US20160085722A1 (en) Data packet processing
US8914796B2 (en) Pluggable activation engine extensions via virtual disks
US20190196895A1 (en) Data tuple testing and routing for a streaming application
US20140112142A1 (en) Method of forwarding packet and apparatus thereof
KR102633575B1 (en) Network data chaining apparatus, and control method thereof
US11556401B2 (en) Method, device and computer program product for optimizing remote call
CN111163102B (en) Data processing method and device, network equipment and readable storage medium
US10754666B1 (en) Hardware micro-services platform
CN109787813B (en) SDN-based service chain configuration method, device, system and medium
US10289762B2 (en) Interconnection network simulator and method for simulating interconnection networks
KR102567132B1 (en) Network data chaining apparatus, and control method thereof
KR102633569B1 (en) Network data chaining apparatus, and control method thereof
US11604670B2 (en) Virtual machine live migration method, apparatus, and system
GB2530513A (en) Assembling response packets
CN112165430B (en) Data routing method, device, equipment and storage medium
CN108121587B (en) Data acceleration method and virtual accelerator
US8640147B2 (en) Method and system for virtualizing connection end-points in distributed, component based applications at runtime
CN109976876B (en) Accelerator management method and device
CN112437021B (en) Routing control method, device, routing equipment and storage medium
US11755522B1 (en) Method, electronic device, and computer program product for implementing blockchain system on switch
KR101799341B1 (en) Method for expansion of virtual network function
CN117336177A (en) Network performance optimization method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant