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

Network data chaining apparatus, and control method thereof Download PDF

Info

Publication number
KR20230058974A
KR20230058974A KR1020210142898A KR20210142898A KR20230058974A KR 20230058974 A KR20230058974 A KR 20230058974A KR 1020210142898 A KR1020210142898 A KR 1020210142898A KR 20210142898 A KR20210142898 A KR 20210142898A KR 20230058974 A KR20230058974 A KR 20230058974A
Authority
KR
South Korea
Prior art keywords
data
application
network
applications
connection
Prior art date
Application number
KR1020210142898A
Other languages
Korean (ko)
Other versions
KR102633569B1 (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 KR1020210142898A priority Critical patent/KR102633569B1/en
Publication of KR20230058974A publication Critical patent/KR20230058974A/en
Application granted granted Critical
Publication of KR102633569B1 publication Critical patent/KR102633569B1/en

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

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 provides a dynamic connection combination between an application of an internal system and an application of an external system and the resulting data flow. It relates to a network data chaining device that can be changed and a method of operating the network data chaining device.

Figure P1020210142898
Figure P1020210142898

Description

네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법{NETWORK DATA CHAINING APPARATUS, AND CONTROL METHOD THEREOF}Network data chaining device and operation method of 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 provides dynamic It is about a plan to change to.

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

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

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

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

한편, 이와 같이 어플리케이션이 연결 조합된 형태로 구축되는 네트워크의 경우, 온프레미스 클라우드(On-Promise Cloud)와 같은 내부 시스템의 어플리케이션뿐만 아니라, 외부 네트워크 혹은 퍼블릭 클라우드(Public Cloud)와 같은 외부 시스템의 어플리케이션과의 연결이 요구될 수 있다.On the other hand, in the case of a network in which applications are built in a combination of connections, applications of external systems such as external networks or public clouds as well as applications of internal systems such as on-premise cloud (On-Promise Cloud) A connection may be required.

그러나, 기존의 체이닝(Chaining) 기술에 따르면, 어플리케이션의 구현 로직을 변경하는 복잡한 방법 이외에는, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 방안이 부재한 실정이다.However, according to the existing chaining technology, there is no way to dynamically change the connection combination between the application of the internal system and the application of the external system and the resulting data flow, other than a complicated method of changing the implementation logic of the application. The situation is.

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

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

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치는, 가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크의 구축과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간에 연결이 요구되는 것을 확인하는 확인부; 및 상기 내부 시스템 내 어플리케이션 간의 연결 순서를 정의하는 네트워크체이닝정보를 데이터에 설정하며, 상기 네트워크체이닝정보가 설정된 상기 데이터를 인캡슐레이션(Encapsulation)하여 상기 외부 시스템의 어플리케이션으로 전송하는 처리부를 포함하며, 상기 처리부는, 상기 외부 시스템의 어플리케이션에서 처리된 상기 데이터가 상기 외부 시스템의 어플리케이션으로부터 인캡슐레이션되어 수신되는 경우, 디캡슐레이션(Decapsulation) 시 상기 데이터로부터 확인되는 상기 네트워크체이닝정보에 따라 상기 데이터를 상기 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 하는 것을 특징으로 한다.Network data chaining device according to an embodiment of the present invention for achieving the above object, in connection with the construction of a network in which each virtual resource-based application is combined in a predefined connection order, the application of the internal system and the external system a confirmation unit confirming that connection between applications is required; and a processing unit that sets network chaining information defining a connection sequence between applications in the internal system to data, encapsulates the data for which the network chaining information is set, and transmits the data to an application of the external system, When the data processed by the application of the external system is encapsulated and received from the application of the external system, the processing unit converts the data according to the network chaining information identified from the data during decapsulation. It is characterized in that it is passed to an application in the next connection order in the internal system to be processed.

구체적으로, 상기 네트워크데이터체이닝장치는, 가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득부를 더 포함할 수 있다.Specifically, the network data chaining device may further include an acquisition unit for obtaining network chaining information about network resources in which virtual resource-based applications are combined in an order of connection, from data.

구체적으로, 상기 네트워크체이닝정보는, 상기 내부 시스템 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 헤더(Header) 필드에 추가되는 라벨을 포함하며, 상기 처리부는, 상기 라벨이 지시하는 바에 따라 출발지로부터 수신되는 데이터를 상기 내부 시스템 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달할 수 있다.Specifically, the network chaining information includes a label added to a header field of the data to indicate an application of each connection sequence according to a connection sequence defined between applications in the internal system, and the processing unit, As indicated by the label, data received from the source is transferred to a specific application in the internal system, and data processed in the specific application is transferred to another application that is adjacent to the specific application and in order of connection, and the internal system When data processing is completed between my applications, the processed data can be delivered to the destination.

구체적으로, 상기 네트워크체이닝정보는, 상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 목적지 MAC 주소로 갱신되는 어플리케이션 별 MAC 주소를 포함하며, 상기 처리부는, 상기 출발지로부터 수신되는 데이터의 목적지 MAC 주소를 상기 내부 시스템의 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달할 수 있다.Specifically, the network chaining information includes a MAC address for each application that is updated as a destination MAC address of the data to indicate an application of each connection sequence according to a connection sequence defined between applications in the network, and the processing unit, The destination MAC address of the data received from the source is set to the MAC address of a specific application of the internal system and delivered to the specific application, and for data processed in the specific application, the destination MAC address is set to the specific application and the neighboring It is updated with the MAC address of another application, which is the next connection sequence, and delivered to the other application, and when data processing is completed between applications in the internal system, the processed data can be delivered to the destination.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치의 동작 방법은, 가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크의 구축과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간에 연결이 요구되는 것을 확인하는 확인단계; 및 상기 내부 시스템 내 어플리케이션 간의 연결 순서를 정의하는 네트워크체이닝정보를 데이터에 설정하고, 상기 네트워크체이닝정보가 설정된 상기 데이터를 인캡슐레이션(Encapsulation)하여 상기 외부 시스템의 어플리케이션으로 전송하는 처리단계를 포함하며, 상기 처리단계는, 상기 외부 시스템의 어플리케이션에서 처리된 상기 데이터가 상기 외부 시스템의 어플리케이션으로부터 인캡슐레이션되어 수신되는 경우, 디캡슐레이션(Decapsulation) 시 상기 데이터로부터 확인되는 상기 네트워크체이닝정보에 따라 상기 데이터를 상기 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 하는 것을 특징으로 한다.In order to achieve the above object, a method of operating a network data chaining device according to an embodiment of the present invention relates to the construction of a network in which each virtual resource-based application is combined in a predefined connection order, the application of the internal system and A confirmation step of confirming that a connection is required between applications of an external system; and a processing step of setting network chaining information defining a connection sequence between applications in the internal system to data, encapsulating the data for which the network chaining information is set, and transmitting the data to an application of the external system; , In the processing step, when the data processed by the application of the external system is encapsulated and received from the application of the external system, according to the network chaining information identified from the data during decapsulation, It is characterized in that data is transferred to an application in the next connection order in the internal system to be processed.

구체적으로, 상기 방법은, 가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득단계를 더 포함할 수 있다.Specifically, the method may further include acquiring network chaining information about network resources in which virtual resource-based applications are combined in an order of connection, from data.

구체적으로, 상기 네트워크체이닝정보는, 상기 내부 시스템 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 헤더(Header) 필드에 추가되는 라벨을 포함하며, 상기 처리단계는, 상기 라벨이 지시하는 바에 따라 출발지로부터 수신되는 데이터를 상기 내부 시스템 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달할 수 있다.Specifically, the network chaining information includes a label added to a header field of the data to indicate an application of each connection sequence according to a connection sequence defined between applications in the internal system, and the processing step is , As indicated by the label, the data received from the source is transferred to a specific application in the internal system, and the data processed in the specific application is transferred to another application in the order of connection next to the specific application. When data processing is completed between applications within the system, the processed data may be delivered to a destination.

구체적으로, 상기 네트워크체이닝정보는, 상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 목적지 MAC 주소로 갱신되는 어플리케이션 별 MAC 주소를 포함하며, 상기 처리단계는, 상기 출발지로부터 수신되는 데이터의 목적지 MAC 주소를 상기 내부 시스템의 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달할 수 있다.Specifically, the network chaining information includes a MAC address for each application that is updated as a destination MAC address of the data to indicate an application of each connection sequence according to a connection sequence defined between applications in the network, and the processing step is , The destination MAC address of the data received from the source is set as the MAC address of a specific application of the internal system, and forwarded to the specific application, and for data processed in the specific application, the destination MAC address is set as a neighbor of the specific application. Then, the MAC address of another application in order of connection is updated and transmitted to the other application, and when data processing is completed between applications in the internal system, the processed data may be delivered to the destination.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 프로그램은, 하드웨어와 결합되어, 가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크의 구축과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간에 연결이 요구되는 것을 확인하는 확인단계; 및 상기 내부 시스템 내 어플리케이션 간의 연결 순서를 정의하는 네트워크체이닝정보를 데이터에 설정하고, 상기 네트워크체이닝정보가 설정된 상기 데이터를 인캡슐레이션(Encapsulation)하여 상기 외부 시스템의 어플리케이션으로 전송하는 처리단계를 실행시키기 위해 매체에 저장되며, 상기 처리단계는, 상기 외부 시스템의 어플리케이션에서 처리된 상기 데이터가 상기 외부 시스템의 어플리케이션으로부터 인캡슐레이션되어 수신되는 경우, 디캡슐레이션(Decapsulation) 시 상기 데이터로부터 확인되는 상기 네트워크체이닝정보에 따라 상기 데이터를 상기 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 하는 것을 특징으로 한다.A program according to an embodiment of the present invention for achieving the above object is combined with hardware, in connection with the construction of a network in which each virtual resource-based application is combined in a predefined connection order, the application of the internal system and the external A confirmation step of confirming that a connection is required between applications of the system; and executing a processing step of setting network chaining information defining a connection sequence between applications in the internal system to data, encapsulating the data for which the network chaining information is set, and transmitting the data to an application of the external system. In the case where the data processed by the application of the external system is encapsulated and received from the application of the external system, the processing step is performed by the network identified from the data during decapsulation. Characterized in that, according to the chaining information, the data is transferred to an application in the next connection sequence in the internal system for processing.

이에, 본 발명의 네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법에 의하면, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결이 요구되는 경우, L3 기반의 인캡슐레이션을 통해서 데이터에 설정된 내부 시스템의 체이닝 방식을 그대로 유지시킨 상태로 외부 시스템의 어플리케이션과 연계한 데이터 처리를 가능하게 하므로, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 지연 없이 동적으로 변경할 수 있음을 알 수 있다.Accordingly, according to the network data chaining device and the operating method of the network data chaining device of the present invention, in relation to the chaining technology of constructing a network by combining virtual resource-based applications in a predetermined connection order, the internal system When a connection between an application and an application of an external system is required, L3-based encapsulation enables data processing in conjunction with the application of the external system while maintaining the chaining method of the internal system set in the data as it is, so the internal system It can be seen that the connection combination between the application of the external system and the application of the external system and the resulting data flow can be dynamically changed without delay.

도 1 및 도 2는 종래 기술에 따른 네트워크 체이닝 환경을 설명하기 위한 예시도.
도 3은 본 발명의 일 실시예에 따른 네트워크 체이닝 환경을 설명하기 위한 예시도.
도 4는 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치를 설명하기 위한 구성도.
도 5 및 도 6은 본 발명의 일 실시예에 따른 데이터 흐름을 설명하기 위한 예시도.
도 7은 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치의 동작 방법을 설명하기 위한 순서도.
1 and 2 are exemplary diagrams for explaining a network chaining environment according to the prior art.
3 is an exemplary view for explaining a network chaining environment according to an embodiment of the present invention;
4 is a configuration diagram for explaining a network data chaining device according to an embodiment of the present invention.
5 and 6 are exemplary diagrams for explaining data flow according to an embodiment of the present invention.
7 is a flowchart illustrating an operating method of 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 accompanying drawings.

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

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

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

헌데, 어플리케이션 간 기존 연결을 종료하기 위해서는, 커널 및 네트워크 레벨에서 전송 대기 중인 데이터를 모두 전송해야만 하는데, 이는 어플리케이션 간 데이터 흐름을 실시간으로 변경하는 것을 어렵게 만들어 데이터 전송 지연을 발생시키게 된다.However, in order to terminate the existing connection between applications, all data waiting to be transmitted must be transmitted at the kernel and network level, 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 FIG. 1 , data received from an external source is processed by the first application (App1), and the data processed by the first application (App1) is processed by the second application (App2). If you want to change the existing data path that is delivered to the destination (Sinker) via the source (External Source) to a new data path that is delivered to the destination (Sinker) via the first application (App1) and the third application (App3). I can assume

이 경우, 제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 that has already been transmitted in the application (App1 or App2) and waiting to be transmitted in the kernel and network levels to be transmitted, the existing data A series of processes in which a connection for transmission must be terminated, a new connection must be created between the first application (App1) and the third application (App3), and then data processing and data transmission must be started again are required.

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

특히나, 이처럼 어플리케이션이 연결 조합된 형태로 구축되는 네트워크의 경우, 예컨대, 도 2에서와 같이, 내부 시스템의 어플리케이션(App1, App2, App4, App6)뿐만 아니라 외부 시스템의 어플리케이션(App3, App5)과의 연결이 요구될 수 있다.In particular, in the case of a network in which applications are built in the form of a connection combination, for example, as shown in FIG. A connection may be required.

여기서, 내부 시스템은, 온프레미스 클라우드(OnPromise Cloud)로 이해될 수 있으며, 외부 시스템은 외부 네트워크 혹은 퍼블릭 클라우드(Public Cloud)로 이해될 수 있다.Here, the internal system may be understood as an on-premise cloud, and the external system may be understood as an external network or public cloud.

그러나, 기존의 체이닝(Chaining) 기술에 따르면, 어플리케이션의 구현 로직을 변경하는 복잡한 방법 이외에는, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 방안이 부재한 실정이다.However, according to the existing chaining technology, there is no way to dynamically change the connection combination between the application of the internal system and the application of the external system and the resulting data flow, other than a complicated method of changing the implementation logic of the application. The situation is.

이에 본 발명에서는 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝 기술과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 새로운 기법을 제안하고자 하는 것이다.Therefore, in the present invention, in relation to the chaining technology that builds one network by combining virtual resource-based applications in a predetermined connection order, the connection combination between the application of the internal system and the application of the external system and the resulting data flow can be dynamically changed. It is to propose a new method that has

이와 관련하여, 도 3에서는 본 발명의 일 실시예에 따른 네트워크 체이닝 환경을 예시적으로 보여주고 있다.In this regard, FIG. 3 exemplarily shows a network chaining environment according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 체이닝 환경에는, 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 각각이 기 정의된 연결 순서대로 조합되는 네트워크에서 데이터 흐름을 제어하는 네트워크데이터체이닝장치(100)가 포함될 수 있다.As shown in FIG. 3, in the network chaining environment according to an embodiment of the present invention, applications (App1, App2, App4, and App6) of the internal system and applications (App3, App5) of the external system each have a predefined connection. A network data chaining device 100 for controlling data flow in a sequentially combined network may be included.

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

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

한편, 본 발명의 일 실시예에서 내부 시스템과 외부 시스템은, 각각의 L3(Layer 3) 트래픽 처리용 게이트웨이 노드(GW)를 통해서 서로 간에 트래픽을 전달할 수 있다.Meanwhile, in an embodiment of the present invention, an internal system and an external system may transfer traffic between each other through a gateway node (GW) for processing L3 (Layer 3) traffic.

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

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

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

도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)는 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결이 요구되는지 여부를 확인하는 확인부(110), 및 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간에 데이터 전달을 처리하는 처리부(120)를 포함하는 구성을 가질 수 있다.As shown in FIG. 4, in the network data chaining device 100 according to an embodiment of the present invention, connection between applications (App1, App2, App4, App6) of the internal system and applications (App3, App5) of the external system is established. A configuration including a confirmation unit 110 that checks whether or not a request is required, and a processing unit 120 that processes data transmission between applications (App1, App2, App4, App6) of the internal system and applications (App3, App5) of the external system. can have

또한, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)는 전술한 구성 이외에, 출발지(External Source)로부터 수신되는 데이터로부터 네트워크체이닝정보를 획득하는 획득부(130)를 더 포함할 수 있다.In addition, the network data chaining device 100 according to an embodiment of the present invention may further include an acquisition unit 130 that obtains network data chaining information from data received from an external source in addition to the above-described configuration. .

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

이상 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)는 전술한 구성을 기반으로, 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는데, 이하에서는 이를 실현하기 위한 네트워크데이터체이닝장치(100) 내 구성에 대해서 보다 구체적인 설명을 이어 가기로 한다.Based on the above configuration, the network data chaining device 100 according to an embodiment of the present invention is a connection combination between internal system applications (App1, App2, App4, App6) and external system applications (App3, App5) And it is possible to dynamically change the data flow accordingly. Hereinafter, a more detailed description of the internal configuration of the network data chaining device 100 for realizing this will be continued.

확인부(110)는 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결이 요구되는지 여부를 확인하는 기능을 수행한다.The checking unit 110 performs a function of checking whether or not a connection between applications (App1, App2, App4, App6) of the internal system and applications (App3, App5) of the external system is required.

보다 구체적으로, 확인부(110)는 출발지(External)로부터의 데이터 수신에 따라 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구되는지 여부를 확인하게 된다.More specifically, the check unit 110 determines whether a connection is required between the applications (App1, App2, App4, and App6) of the internal system and the applications (App3, App5) of the external system according to data reception from the source (External). will check

이때, 확인부(110)는 네트워크 구축을 위해 정의되는 설정 값으로부터 네트워크 구축에 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구되는지 여부를 확인할 수 있다.At this time, the check unit 110 checks whether or not a connection is required between the applications (App1, App2, App4, and App6) of the internal system and the application (App3, App5) of the external system for network establishment from the setting values defined for network establishment. can be checked.

여기서, 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구된다는 것은, 출발지(External Source)로부터 수신된 데이터가 내부 시스템의 제1어플리케이션(App1)과 제2어플리케이션(App2)을 거쳐 처리된 데이터가 외부 시스템의 제3어플리케이션(App3)으로 전달되어야 하고, 제3어플리케이션(App3)에서 처리된 데이터는 다시 내부 시스템의 제4어플리케이션(App4)에서의 처리를 거쳐 외부 시스템의 제5어플리케이션(App5) 그리고 내부 시스템의 제6어플리케이션(App6)의 처리 과정을 순차적으로 거친 후 목적지(Sinker)로 전달되어야 한다는 것으로 이해될 수 있다.Here, the request for connection between the applications (App1, App2, App4, App6) and the application applications (App3, App5) of the external system means that the data received from the source (External Source) is connected to the first application (App1) of the internal system. The data processed through the second application (App2) must be transferred to the third application (App3) of the external system, and the data processed by the third application (App3) is again processed by the fourth application (App4) of the internal system. It can be understood that the process of the fifth application (App5) of the external system and the sixth application (App6) of the internal system must be sequentially processed and then delivered to the destination (Sinker).

처리부(120)는 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간에 데이터 전달을 처리하는 기능을 수행한다.The processing unit 120 performs a function of processing data transmission between applications (App1, App2, App4, App6) of the internal system and applications (App3, App5) of the external system.

보다 구체적으로, 처리부(120)는 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간에 연결이 요구되는 경우, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 각 어플리케이션(App1, App2, App4, App6)으로 전달되어 처리된 데이터를 외부 시스템의 어플리케이션(App3, App5)으로 전달하고, 외부 시스템의 어플리케이션(App3, App5)에서 처리된 데이터는 다시 내부 시스템의 나머지 연결 순서에 따라 내부 시스템의 어플리케이션(App1, App2, App4, App6)에 전달하여 처리될 수 있도록 하며, 이를 통해서 어플리케이션(App1, App2, App3, App4, App5, App6) 간에 데이터 처리가 완료되면, 처리 완료된 데이터를 목적지(Sinker)로 전달하게 된다.More specifically, the processing unit 120, when a connection is required between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system, the application (App1, App2, App4, According to the connection order between App6), the processed data is transferred to each application (App1, App2, App4, App6) to the application (App3, App5) of the external system, and the processed data is transferred to the application (App3, App5) of the external system. The data is again passed to the applications (App1, App2, App4, App6) of the internal system according to the remaining connection order of the internal system so that they can be processed, and through this, between the applications (App1, App2, App3, App4, App5, App6) When data processing is completed, the processed data is delivered to the destination (Sinker).

이때, 처리부(120)는 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 각 어플리케이션(App1, App2, App4, App6)으로 전달되어 처리된 데이터를 인캡슐레이션(Encapsulation)한 후 외부 시스템의 어플리케이션(App3, App5)으로 전송하고, 반대로 외부 시스템의 어플리케이션(App3, App5)에서 처리된 데이터 또한 인캡슐레이션된 상태로 수신한다.At this time, the processing unit 120 encapsulates the processed data transmitted to each application (App1, App2, App4, App6) according to the connection order between the applications (App1, App2, App4, App6) of the internal system. Then, it is transmitted to the application (App3, App5) of the external system, and conversely, the data processed by the application (App3, App5) of the external system is also received in an encapsulated state.

이는, 내부 시스템의 체이닝 방식을 그대로 유지시키기 위한 방안으로서, 인캡슐레이션을 통해서 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간의 연결 순서를 정의하기 위해서 데이터에 설정되는 네트워크체이닝정보를 보호하기 위함이다.This is a way to maintain the chaining method of the internal system as it is, and to protect the network chaining information set in the data to define the connection order between applications (App1, App2, App4, App6) in the internal system through encapsulation. It is for

참고로, 이와 같이 내부 시스템과 외부 시스템의 어플리케이션(App3, App5) 간에 인캡슐레이션된 데이터를 송수신한 다는 것은, 내부 시스템과 외부 시스템의 어플리케이션(App3, App5) 간에 L3 기반의 인캡슐레이션 파이프 라인(L3 Encapsulation Pipeline)을 형성한다는 의미로 해석될 수 있다.For reference, the transmission and reception of encapsulated data between the internal system and the applications (App3, App5) of the external system in this way means that the L3-based encapsulation pipeline between the internal system and the external system's applications (App3, App5) (L3 Encapsulation Pipeline).

나아가, 처리부(120)는 외부 시스템의 어플리케이션(App3, App5)에서 처리된 데이터가 외부 시스템의 어플리케이션(App3, App5)으로부터 인캡슐레이션되어 수신되는 경우, 해당 데이터의 디캡슐레이션(Decapsulation) 시 데이터로부터 확인되는 네트워크체이닝정보에 따라 디캡슐레이션된 데이터를 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 한다.Furthermore, when the data processed by the applications (App3, App5) of the external system is encapsulated and received from the applications (App3, App5) of the external system, the processing unit 120 decapsulates the data when the corresponding data is decapsulated. The decapsulated data according to the network chaining information confirmed from the internal system is transferred to the application in the next connection order to be processed.

예를 들어, 도 5에서와 같이, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 제2어플리케이션(App2)에서 처리된 데이터를 제4어플리케이션(App4)으로 전달하는 과정에서 외부 시스템의 제3어플리케이션(App3)에 대한 데이터 전달이 요구되는 경우를 가정할 수 있다.For example, as shown in FIG. 5, in the process of transferring the data processed by the second application (App2) to the fourth application (App4) according to the order of connection between the applications (App1, App2, App4, and App6) of the internal system. It may be assumed that data transfer to the third application (App3) of the external system is required.

이 경우, 제2어플리케이션(App2)에서 처리된 데이터에는, 내부 시스템에서의 다음 연결 순서인 제4어플리케이션(App4)을 지시하기 위한 네트워크체이닝정보(App4)가 설정된다.In this case, network chaining information (App4) for indicating the fourth application (App4), which is the next connection sequence in the internal system, is set in the data processed by the second application (App2).

이와 관련하여, 제2어플리케이션(App2)에서 처리된 데이터는, 데이터에 설정된 네트워크체이닝정보(App4)를 그대로 유지시키기 위해 인캡슐레이션(목적지 주소: IP1)되어 제3어플리케이션(App3)으로 전달되고, 제3어플리케이션(App3)에서 처리된 데이터는 마찬가지로 제3어플리케이션(App3)에서 인캡슐레이션되어 내부 시스템으로 수신된다.In this regard, the data processed by the second application (App2) is encapsulated (destination address: IP1) to maintain the network chaining information (App4) set in the data, and is transmitted to the third application (App3), Data processed by the third application (App3) is similarly encapsulated in the third application (App3) and received into the internal system.

이처럼, 외부 시스템의 제3어플리케이션(App3)에서 인캡슐레이션되어 수신되는 데이터를 디캡슐레이션(Decapsulation)하는 경우, 해당 데이터에 설정된 네트워크체이닝정보(App4)를 확인할 수 있으며, 이에 따라, 디캡슐레이션된 데이터(제3어플리케이션에서 처리된 데이터)는 네트워크체이닝정보(App4)가 지시하는 바에 따라 내부 시스템 내 다음 연결 순서인 제4어플리케이션(App4)으로 전달될 수 있는 것이다.In this way, when encapsulated and received data is decapsulated by the third application (App3) of the external system, the network chaining information (App4) set in the data can be checked, and accordingly, decapsulation The processed data (data processed by the third application) can be delivered to the fourth application (App4), which is the next connection sequence in the internal system, according to the instruction of the network chaining information (App4).

또한, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 제4어플리케이션(App4)에서 처리된 데이터를 제6어플리케이션(App4)으로 전달하는 과정에서 외부 시스템의 제5어플리케이션(App5)에 대한 데이터 전달이 요구되는 경우를 가정할 수 있다.In addition, in the process of transferring the data processed by the fourth application (App4) to the sixth application (App4) according to the connection order between the applications (App1, App2, App4, and App6) of the internal system, the fifth application (App5) of the external system ), it can be assumed that data transfer is required.

이 경우, 제4어플리케이션(App4)에서 처리된 데이터에는, 내부 시스템에서의 다음 연결 순서인 제6어플리케이션(App6)을 지시하기 위한 네트워크체이닝정보(App6)가 설정된다.In this case, network chaining information (App6) is set in the data processed by the fourth application (App4) to indicate the sixth application (App6), which is the next connection sequence in the internal system.

이와 관련하여, 제4어플리케이션(App4)에서 처리된 데이터는, 데이터에 설정된 네트워크체이닝정보(App6)를 그대로 유지시키기 위해 인캡슐레이션(목적지 주소: IP2)되어 제5어플리케이션(App5)으로 전달되고, 제5어플리케이션(App5)에서 처리된 데이터는 다시 제5어플리케이션(App5)에서 인캡슐레이션되어 내부 시스템으로 수신된다.In this regard, the data processed by the fourth application (App4) is encapsulated (destination address: IP2) in order to maintain the network chaining information (App6) set in the data, and is transmitted to the fifth application (App5), Data processed by the fifth application (App5) is again encapsulated in the fifth application (App5) and received into the internal system.

이처럼, 외부 시스템의 제5어플리케이션(App3)으로부터 인캡슐레이션되어 수신되는 데이터를 디캡슐레이션(Decapsulation)하는 경우, 해당 데이터에 설정된 네트워크체이닝정보(App6)를 확인할 수 있으며, 이에 따라, 디캡슐레이션된 데이터(제5어플리케이션에서 처리된 데이터)는 네트워크체이닝정보(App4)가 지시하는 바에 따라 내부 시스템 내 다음 연결 순서인 제6어플리케이션(App6)으로 전달될 수 있는 것이다.In this way, when encapsulated and received data from the fifth application (App3) of the external system is decapsulated, it is possible to check the network chaining information (App6) set in the corresponding data, and accordingly, decapsulation The processed data (data processed by the fifth application) can be delivered to the sixth application (App6), which is the next connection sequence in the internal system, according to the instruction of the network chaining information (App4).

나아가, 제6어플리케이션(App6)에서 처리된 데이터는, 내부 시스템과 외부 시스템이 연계된 어플리케이션(App1, App2, App3, App4, App5, App6) 간의 데이터 처리 완료에 따라 목적지(Sinker)로 전달되고 있음을 확인할 수 있다.Furthermore, the data processed by the sixth application (App6) is transferred to the destination (Sinker) according to the completion of data processing between the applications (App1, App2, App3, App4, App5, App6) linked to the internal system and the external system. can confirm.

한편, 본 발명의 일 실시예에서 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간의 연결 순서를 정의하기 위해서 데이터에 설정되는 네트워크체이닝정보의 경우, 예컨대, 멀티프로토콜 라벨 스위칭(MPLS, Multiprotocol Label Switching) 기술과 관련하여, 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 데이터의 헤더(Header) 필드에 추가되는 라벨의 형태로 구현될 수 있다.On the other hand, in the case of network chaining information set in data to define the connection order between applications (App1, App2, App4, App6) in the internal system in an embodiment of the present invention, for example, Multiprotocol Label Switching (MPLS) Switching) technology, in the form of a label added to the header field of data to indicate the application of each connection sequence according to the connection sequence defined between applications (App1, App2, App4, App6) in the internal system. can be implemented

이를 위해서, 획득부(130)는 출발지(External Source)로부터 수신되는 데이터로부터 네트워크체이닝정보를 획득할 수 있다.To this end, the acquisition unit 130 may obtain network chaining information from data received from an external source.

이와 관련하여, 처리부(120)는 라벨이 지시하는 바에 따라 출발지(External Source)로부터 수신되는 데이터를 내부 시스템 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지(Sinker)로 전달할 수 있다.In this regard, the processing unit 120 transfers the data received from the source (External Source) to a specific application in the internal system as indicated by the label, and the data processed in the specific application is adjacent to the specific application and then connected. When data processing is completed between applications in the internal system, the processed data may be transferred to a destination (sinker).

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

예를 들어, 도 6 (a)에서와 같이 데이터의 헤더 필드에 추가된 라벨이 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 경우, 출발지(External Source)로부터 수신되는 데이터를 제1어플리케이션(App1)의 입력 포트로 전달하며, 제1어플리케이션(App1)에서 처리된 데이터는 제1어플리케이션(App1)의 출력 포트로부터 제2어플리케이션(App2)의 입력 포트로 전달하며, 제2어플리케이션(App2)에서 처리된 데이터는 제2어플리케이션(App2)의 출력 포트로부터 제3어플리케이션(App3)의 입력 포트로 전달하며, 제3어플리케이션(App3)에서 처리된 데이터는 제3어플리케이션(App3)의 출력 포트로부터 목적지(Sinker)로 전달할 수 있는 것이다.For example, as shown in FIG. 6 (a), when a label added to a header field of data indicates the connection order of the first application (App1), the second application (App2), and the third application (App3), respectively, The data received from the source (External Source) is transferred to the input port of the first application (App1), and the data processed by the first application (App1) is transferred from the output port of the first application (App1) to the second application (App2). The data processed by the second application (App2) is transferred from the output port of the second application (App2) to the input port of the third application (App3), and the data processed by the third application (App3) Data can be transferred from the output port of the third application (App3) 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 transmission between the applications (App1, App2, and App3) is performed on a network side separate from the applications (App1, App2, and App3). The connection combination between App2 and App3) and the resulting data flow can be dynamically changed without delay, and the application (App1, App2, App3) processes data received through the input port and exports the processed data through the output port. Since only is required, the implementation logic of the application can be minimized.

또한, 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간의 연결 순서를 정의하기 위해서 데이터에 설정되는 네트워크체이닝정보의 경우, 예컨대, 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 데이터의 목적지 MAC 주소로 갱신되는 어플리케이션 별 MAC 주소의 형태로 구현될 수 있다.In addition, in the case of network chaining information set in data to define the order of connection between applications (App1, App2, App4, App6) in the internal system, for example, It can be implemented in the form of a MAC address for each application that is updated as a destination MAC address of data to indicate the application of each connection sequence according to the connection sequence.

여기서, 어플리케이션 별 MAC 주소는, 가상 자원의 트래픽 전달을 위해서 생성되는 가상 포트의 MAC 주소에 해당될 수 있다.Here, the MAC address for each application may correspond to the MAC address of a virtual port generated to transfer traffic of virtual resources.

이와 관련하여, 처리부(120)는 라벨이 지시하는 바에 따라 출발지(External Source)로부터 수신되는 데이터의 목적지 MAC 주소를 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하며, 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지(Sinker)로 전달할 수 있다.In this regard, the processing unit 120 sets the MAC address of the destination of the data received from the source (External Source) as the MAC address of a specific application, delivers it to the specific application, and processes the data received from the specific application as indicated by the label. Regarding data, the destination MAC address is updated to the MAC address of another application in the next connection order adjacent to the specific application and delivered to the other application, and when data processing is completed between applications in the internal system, processed data It can be delivered to the destination (Sinker).

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

예를 들어, 도 6 (b)에서와 같이 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 연결 순서가 요구되는 경우, 출발지(External Source)로부터 수신되는 데이터의 목적지 MAC 주소를 제1어플리케이션의 MAC 주소로 설정하여 제1어플리케이션(App1)의 입력 포트로 전달하며, 제1어플리케이션(App1)에서 처리된 데이터는 목적지 MAC 주소를 제2어플리케이션(App2)의 MAC 주소로 갱신하여 제1어플리케이션(App1)의 출력 포트로부터 제2어플리케이션(App2)의 입력 포트로 전달하며, 제2어플리케이션(App2)에서 처리된 데이터는 목적지 MAC 주소를 제3어플리케이션(App3)의 MAC 주소로 갱신하여 제2어플리케이션(App2)의 출력 포트로부터 제3어플리케이션(App3)의 입력 포트로 전달하며, 제3어플리케이션(App3)에서 처리된 데이터는 제3어플리케이션(App3)의 출력 포트로부터 목적지(Sinker)로 전달할 수 있는 것이다.For example, as shown in FIG. 6 (b), when the connection order of the first application (App1), the second application (App2), and the third application (App3) is required, the data received from the source (External Source) The destination MAC address is set as the MAC address of the first application and transmitted to the input port of the first application (App1), and the data processed by the first application (App1) sets the destination MAC address to the MAC address of the second application (App2). and transfers from the output port of the first application (App1) to the input port of the second application (App2), and the data processed by the second application (App2) sets the destination MAC address to the MAC address of the third application (App3). and transfers from the output port of the second application (App2) to the input port of the third application (App3), and the data processed by the third application (App3) is transmitted from the output port of the third application (App3) to the destination (Sinker). ) can be transmitted.

이처럼, 본 발명의 일 실시예에서는 어플리케이션(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 transmission between the applications (App1, App2, and App3) is performed on a network side separate from the applications (App1, App2, and App3). The connection combination between App2 and App3) and the resulting data flow can be dynamically changed without delay, and the application (App1, App2, App3) processes data received through the input port and exports the processed data through the output port. Since only is required, the implementation logic of the application can be minimized.

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)의 구성에 따르면, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결이 요구되는 경우, L3 기반의 인캡슐레이션을 통해서 데이터에 설정된 내부 시스템의 체이닝 방식을 그대로 유지시킨 상태로 외부 시스템의 어플리케이션(App3, App5)과 연계한 데이터 처리를 가능하게 하므로, 어플리케이션의 로직 변경 없이도 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있음을 알 수 있다.As described above, according to the configuration of the network data chaining device 100 according to an embodiment of the present invention, chaining technology for building a network by combining virtual resource-based applications in a predetermined connection order, and In this regard, when a connection between applications (App1, App2, App4, App6) of the internal system and applications (App3, App5) of the external system is required, the chaining method of the internal system set in the data through L3-based encapsulation As it enables data processing in conjunction with external system applications (App3, App5) without changing the application logic, internal system applications (App1, App2, App4, App6) and external system applications (App3, App5) are possible. ) and the resulting data flow can be dynamically changed.

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

먼저, 확인부(110)는 출발지(External)로부터의 데이터 수신에 따라 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구되는지 여부를 확인한다(S110-S120).First, the confirmation unit 110 checks whether a connection is required between applications (App1, App2, App4, App6) of the internal system and applications (App3, App5) of the external system according to data reception from the source (External). Do (S110-S120).

이때, 확인부(110)는 네트워크 구축을 위해 정의되는 설정 값으로부터 네트워크 구축에 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구되는지 여부를 확인할 수 있다.At this time, the check unit 110 checks whether or not a connection is required between the applications (App1, App2, App4, and App6) of the internal system and the application (App3, App5) of the external system for network establishment from the setting values defined for network establishment. can be checked.

이처럼, 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션 어플리케이션(App3, App5) 간에 연결이 요구된다는 것은, 출발지(External Source)로부터 수신된 데이터가 내부 시스템의 제1어플리케이션(App1)과 제2어플리케이션(App2)을 거쳐 처리된 데이터가 외부 시스템의 제3어플리케이션(App3)으로 전달되어야 하고, 제3어플리케이션(App3)에서 처리된 데이터는 다시 내부 시스템의 제4어플리케이션(App4)에서의 처리를 거쳐 외부 시스템의 제5어플리케이션(App5) 그리고 내부 시스템의 제6어플리케이션(App6)의 처리 과정을 순차적으로 거친 후 목적지(Sinker)로 전달되어야 한다는 것으로 이해될 수 있다.As such, the request for connection between the applications (App1, App2, App4, App6) and the application applications (App3, App5) of the external system means that the data received from the source (External Source) is connected to the first application (App1) of the internal system. The data processed through the second application (App2) must be transferred to the third application (App3) of the external system, and the data processed by the third application (App3) is again processed by the fourth application (App4) of the internal system. It can be understood that the process of the fifth application (App5) of the external system and the sixth application (App6) of the internal system must be sequentially processed and then delivered to the destination (Sinker).

이어서, 처리부(120)는 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간에 연결이 요구되는 경우, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 각 어플리케이션(App1, App2, App4, App6)으로 전달되어 처리된 데이터를 외부 시스템의 어플리케이션(App3, App5)으로 전달한다(S130-S140).Then, the processing unit 120, when a connection is required between the applications (App1, App2, App4, App6) of the internal system and the applications (App3, App5) of the external system, the application (App1, App2, App4, App6) of the internal system According to the connection order, the processed data is delivered to each application (App1, App2, App4, App6) to the application (App3, App5) of the external system (S130-S140).

이때, 처리부(120)는 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 각 어플리케이션(App1, App2, App4, App6)으로 전달되어 처리된 데이터를 인캡슐레이션(Encapsulation)한 후 외부 시스템의 어플리케이션(App3, App5)으로 전송할 수 있다.At this time, the processing unit 120 encapsulates the processed data transmitted to each application (App1, App2, App4, App6) according to the connection order between the applications (App1, App2, App4, App6) of the internal system. After that, it can be transmitted to the application (App3, App5) of the external system.

이는, 내부 시스템의 체이닝 방식을 그대로 유지시키기 위한 방안으로서, 인캡슐레이션을 통해서 내부 시스템 내 어플리케이션(App1, App2, App4, App6) 간의 연결 순서를 정의하기 위해서 데이터에 설정되는 네트워크체이닝정보를 보호하기 위함이다.This is a way to maintain the chaining method of the internal system as it is, and to protect the network chaining information set in the data to define the connection order between applications (App1, App2, App4, App6) in the internal system through encapsulation. It is for

예를 들어, 앞서 예시한 도 5에서와 같이, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 제2어플리케이션(App2)에서 처리된 데이터를 제4어플리케이션(App4)으로 전달하는 과정에서 외부 시스템의 제3어플리케이션(App3)에 대한 데이터 전달이 요구되는 경우를 가정할 수 있다.For example, as shown in FIG. 5 previously illustrated, the data processed by the second application (App2) is transferred to the fourth application (App4) according to the order of connection between the applications (App1, App2, App4, and App6) of the internal system. It may be assumed that data transfer to the third application (App3) of the external system is required during the process.

이 경우, 제2어플리케이션(App2)에서 처리된 데이터에는, 내부 시스템에서의 다음 연결 순서인 제4어플리케이션(App4)을 지시하기 위한 네트워크체이닝정보(App4)가 설정된다.In this case, network chaining information (App4) for indicating the fourth application (App4), which is the next connection sequence in the internal system, is set in the data processed by the second application (App2).

이와 관련하여, 제2어플리케이션(App2)에서 처리된 데이터는, 데이터에 설정된 네트워크체이닝정보(App4)를 그대로 유지시키기 위해 인캡슐레이션(목적지 주소: IP1)되어 제3어플리케이션(App3)으로 전달될 수 있다.In this regard, the data processed by the second application (App2) may be encapsulated (destination address: IP1) and transmitted to the third application (App3) in order to maintain the network chaining information (App4) set in the data as it is. there is.

또한, 내부 시스템의 어플리케이션(App1, App2, App4, App6) 간 연결 순서에 따라 제4어플리케이션(App4)에서 처리된 데이터를 제6어플리케이션(App4)으로 전달하는 과정에서 외부 시스템의 제5어플리케이션(App5)에 대한 데이터 전달이 요구되는 경우를 가정할 수 있다.In addition, in the process of transferring the data processed by the fourth application (App4) to the sixth application (App4) according to the connection order between the applications (App1, App2, App4, and App6) of the internal system, the fifth application (App5) of the external system ), it can be assumed that data transfer is required.

이 경우, 제4어플리케이션(App4)에서 처리된 데이터에는, 내부 시스템에서의 다음 연결 순서인 제6어플리케이션(App6)을 지시하기 위한 네트워크체이닝정보(App6)가 설정된다.In this case, network chaining information (App6) is set in the data processed by the fourth application (App4) to indicate the sixth application (App6), which is the next connection sequence in the internal system.

이와 관련하여, 제4어플리케이션(App4)에서 처리된 데이터는, 데이터에 설정된 네트워크체이닝정보(App6)를 그대로 유지시키기 위해 인캡슐레이션(목적지 주소: IP2)되어 제5어플리케이션(App5)으로 전달될 수 있다.In this regard, the data processed by the fourth application (App4) may be encapsulated (destination address: IP2) and transmitted to the fifth application (App5) in order to maintain the network chaining information (App6) set in the data as it is. there is.

나아가, 처리부(120)는 외부 시스템의 어플리케이션(App3, App5)에서 처리된 데이터는 다시 내부 시스템의 나머지 연결 순서에 따라 내부 시스템의 어플리케이션(App1, App2, App4, App6)에 전달하여 처리될 수 있도록 한다(S150-180). Furthermore, the processing unit 120 transfers the data processed by the applications (App3, App5) of the external system to the applications (App1, App2, App4, App6) of the internal system according to the remaining connection order of the internal system to be processed. Do (S150-180).

이때, 처리부(120)는 외부 시스템의 어플리케이션(App3, App5)에서 처리된 데이터가 외부 시스템의 어플리케이션(App3, App5)으로부터 인캡슐레이션되어 수신되는 경우, 해당 데이터의 디캡슐레이션(Decapsulation) 시 데이터로부터 확인되는 네트워크체이닝정보에 따라 디캡슐레이션된 데이터를 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 할 수 있다.At this time, when the data processed by the applications (App3, App5) of the external system is encapsulated and received from the applications (App3, App5) of the external system, the processing unit 120 decapsulates the data. Depending on the network chaining information identified from the network chaining information, the decapsulated data can be transferred to the application in the next connection order within the internal system to be processed.

예를 들어, 앞서 예시한 도 5에서와 같이, 제3어플리케이션(App3)에서 처리된 데이터가 인캡슐레이션되어 내부 시스템으로 수신됨에 따라 이를 디캡슐레이션(Decapsulation)하는 경우, 해당 데이터에 설정된 네트워크체이닝정보(App4)를 확인할 수 있으며, 이에 따라, 디캡슐레이션된 데이터(제3어플리케이션에서 처리된 데이터)는 네트워크체이닝정보(App4)가 지시하는 바에 따라 내부 시스템 내 다음 연결 순서인 제4어플리케이션(App4)으로 전달될 수 있는 것이다.For example, as shown in FIG. 5 exemplified above, when the data processed by the third application (App3) is encapsulated and received as an internal system to decapsulate it, the network chaining set in the corresponding data The information (App4) can be checked, and accordingly, the decapsulated data (data processed by the third application) is transferred to the fourth application (App4), which is the next connection sequence in the internal system, as instructed by the network chaining information (App4). ) can be transmitted.

또한, 제5어플리케이션(App5)에서 처리된 데이터가 인캡슐레이션되어 내부 시스템으로 수신됨에 따라 이를 디캡슐레이션(Decapsulation)하는 경우, 해당 데이터에 설정된 네트워크체이닝정보(App6)를 확인할 수 있으며, 이에 따라, 디캡슐레이션된 데이터(제5어플리케이션에서 처리된 데이터)는 네트워크체이닝정보(App4)가 지시하는 바에 따라 내부 시스템 내 다음 연결 순서인 제6어플리케이션(App6)으로 전달될 수 있는 것이다.In addition, when the data processed by the fifth application (App5) is decapsulated as it is encapsulated and received into the internal system, it is possible to check the network chaining information (App6) set in the corresponding data. , The decapsulated data (data processed by the fifth application) can be delivered to the sixth application (App6), which is the next connection sequence in the internal system, as indicated by the network chaining information (App4).

이후, 처리부(1200는 어플리케이션(App1, App2, App3, App4, App5, App6) 간에 데이터 처리가 완료되면, 처리 완료된 데이터를 목적지(Sinker)로 전달한다(S190-S200).Thereafter, when data processing is completed between the applications (App1, App2, App3, App4, App5, and App6), the processing unit 1200 transfers the processed data to the destination (Sinker) (S190-S200).

예를 들어, 앞서 예시한 도 5에서와 같이, 제6어플리케이션(App6)에서 처리된 데이터는, 내부 시스템과 외부 시스템이 연계된 어플리케이션(App1, App2, App3, App4, App5, App6) 간의 데이터 처리 완료에 따라 목적지(Sinker)로 전달되고 있음을 확인할 수 있다.For example, as shown in FIG. 5 exemplified above, the data processed by the sixth application (App6) is data processing between applications (App1, App2, App3, App4, App5, App6) in which the internal system and the external system are linked. Upon completion, you can confirm that it is being delivered to the destination (Sinker).

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)의 동작 방법에 따르면, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결이 요구되는 경우, L3 기반의 인캡슐레이션을 통해서 데이터에 설정된 내부 시스템의 체이닝 방식을 그대로 유지시킨 상태로 외부 시스템의 어플리케이션(App3, App5)과 연계한 데이터 처리를 가능하게 하므로, 어플리케이션의 로직 변경 없이도 내부 시스템의 어플리케이션(App1, App2, App4, App6)과 외부 시스템의 어플리케이션(App3, App5) 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있음을 알 수 있다.As described above, according to the operating method of the network data chaining device 100 according to an embodiment of the present invention, chaining technology for constructing one network by combining virtual resource-based applications in a predetermined connection order Regarding, if a connection between the application (App1, App2, App4, App6) of the internal system and the application (App3, App5) of the external system is required, the chaining method of the internal system set in the data through L3-based encapsulation As it enables data processing in conjunction with external system applications (App3, App5) without changing the application logic, internal system applications (App1, App2, App4, App6) and external system applications (App3, It can be seen that the combination of connections between App5) and the resulting data flow can be dynamically changed.

한편, 본 발명의 일 실시예에 따른 동작 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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 in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in 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 hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to act 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, the present invention is not limited to the above embodiments, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the following claims. Anyone skilled in the art will extend the technical spirit of the present invention to the extent that various variations or modifications are possible.

본 발명에 따른 네트워크데이터체이닝장치 및 네트워크데이터체이닝장치의 동작 방법에 따르면, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(Chaining) 기술과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간의 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the network data chaining device and the method of operating the network data chaining device according to the present invention, in relation to chaining technology for constructing a network by combining virtual resource-based applications in a predetermined connection order, the application of the internal system In terms of dynamically changing the combination of connection between the application of the external system and the resultant data flow, it is possible to market or sell the applied device, not just the use of the related technology, as it goes beyond the limits of the existing technology. In addition, it is an invention with industrial applicability because it can be clearly implemented in reality.

100: 네트워크데이터체이닝장치
110: 확인부 120: 처리부
130: 획득부
100: network data chaining device
110: confirmation unit 120: processing unit
130: acquisition unit

Claims (9)

가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크의 구축과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간에 연결이 요구되는 것을 확인하는 확인부; 및
상기 내부 시스템 내 어플리케이션 간의 연결 순서를 정의하는 네트워크체이닝정보를 데이터에 설정하며, 상기 네트워크체이닝정보가 설정된 상기 데이터를 인캡슐레이션(Encapsulation)하여 상기 외부 시스템의 어플리케이션으로 전송하는 처리부를 포함하며,
상기 처리부는,
상기 외부 시스템의 어플리케이션에서 처리된 상기 데이터가 상기 외부 시스템의 어플리케이션으로부터 인캡슐레이션되어 수신되는 경우, 디캡슐레이션(Decapsulation) 시 상기 데이터로부터 확인되는 상기 네트워크체이닝정보에 따라 상기 데이터를 상기 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 하는 것을 특징으로 하는 네트워크데이터체이닝장치.
In connection with the establishment of a network in which each virtual resource-based application is combined in a predefined connection order, a confirmation unit confirming that a connection is required between an application of an internal system and an application of an external system; and
A processing unit that sets network chaining information defining a connection sequence between applications in the internal system to data, encapsulates the data for which the network chaining information is set, and transmits the data to an application of the external system;
The processing unit,
When the data processed by the application of the external system is encapsulated and received from the application of the external system, the data is stored in the internal system according to the network chaining information identified from the data during decapsulation. A network data chaining device characterized in that it is transmitted to an application in the next connection order to be processed.
제 1 항에 있어서,
상기 네트워크데이터체닝장치는,
가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득부를 더 포함하는 것을 특징으로 하는 네트워크데이터체이닝장치.
According to claim 1,
The network data chaining device,
The network data chaining device further comprises an acquisition unit for acquiring network chaining information about network resources in which each virtual resource-based application is combined in an order of connection, from data.
제 1 항에 있어서,
상기 네트워크체이닝정보는,
상기 내부 시스템 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 헤더(Header) 필드에 추가되는 라벨을 포함하며,
상기 처리부는,
상기 라벨이 지시하는 바에 따라 출발지로부터 수신되는 데이터를 상기 내부 시스템 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치.
According to claim 1,
The network chaining information,
Includes a label added to a header field of the data to indicate an application of each connection sequence according to a connection sequence defined between applications in the internal system,
The processing unit,
As indicated by the label, data received from the source is transferred to a specific application in the internal system, and data processed in the specific application is transferred to another application that is adjacent to the specific application and in order of connection, and the internal system A network data chaining device characterized in that when data processing is completed between my applications, the processed data is delivered to the destination.
제 1 항에 있어서,
상기 네트워크체이닝정보는,
상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 목적지 MAC 주소로 갱신되는 어플리케이션 별 MAC 주소를 포함하며,
상기 처리부는,
상기 출발지로부터 수신되는 데이터의 목적지 MAC 주소를 상기 내부 시스템의 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치.
According to claim 1,
The network chaining information,
In order to indicate an application of each connection sequence according to a connection sequence defined between applications in the network, a MAC address for each application updated as a destination MAC address of the data is included,
The processing unit,
The destination MAC address of the data received from the source is set to the MAC address of a specific application of the internal system and delivered to the specific application, and for data processed in the specific application, the destination MAC address is set to the specific application and the neighboring The network data chaining device characterized in that it updates the MAC address of another application, which is the next connection sequence, and transmits the MAC address to the other application, and when data processing between applications in the internal system is completed, the processed data is delivered to the destination.
가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크의 구축과 관련하여, 내부 시스템의 어플리케이션과 외부 시스템의 어플리케이션 간에 연결이 요구되는 것을 확인하는 확인단계; 및
상기 내부 시스템 내 어플리케이션 간의 연결 순서를 정의하는 네트워크체이닝정보를 데이터에 설정하고, 상기 네트워크체이닝정보가 설정된 상기 데이터를 인캡슐레이션(Encapsulation)하여 상기 외부 시스템의 어플리케이션으로 전송하는 처리단계를 포함하며,
상기 처리단계는,
상기 외부 시스템의 어플리케이션에서 처리된 상기 데이터가 상기 외부 시스템의 어플리케이션으로부터 인캡슐레이션되어 수신되는 경우, 디캡슐레이션(Decapsulation) 시 상기 데이터로부터 확인되는 상기 네트워크체이닝정보에 따라 상기 데이터를 상기 내부 시스템 내 다음 연결 순서의 어플리케이션으로 전달하여 처리되도록 하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
A confirmation step of confirming that a connection is required between an application of an internal system and an application of an external system in connection with building a network in which each virtual resource-based application is combined in a predefined connection order; and
A processing step of setting network chaining information defining a connection sequence between applications in the internal system to data, encapsulating the data for which the network chaining information is set, and transmitting the data to an application of the external system;
The processing step is
When the data processed by the application of the external system is encapsulated and received from the application of the external system, the data is stored in the internal system according to the network chaining information identified from the data during decapsulation. A method of operating a network data chaining device characterized in that it is transmitted to an application in the next connection order and processed.
제 5 항에 있어서,
상기 방법은,
가상 자원 기반의 어플리케이션 각각이 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 데이터로부터 획득하는 획득단계를 더 포함하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
According to claim 5,
The method,
A method of operating a network data chaining apparatus, characterized in that it further comprises an acquisition step of acquiring network chaining information about network resources in which virtual resource-based applications are combined in order of connection, from data.
제 5 항에 있어서,
상기 네트워크체이닝정보는,
상기 내부 시스템 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 헤더(Header) 필드에 추가되는 라벨을 포함하며,
상기 처리단계는,
상기 라벨이 지시하는 바에 따라 출발지로부터 수신되는 데이터를 상기 내부 시스템 내 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터는 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치.
According to claim 5,
The network chaining information,
Includes a label added to a header field of the data to indicate an application of each connection sequence according to a connection sequence defined between applications in the internal system,
The processing step is
As indicated by the label, data received from the source is transferred to a specific application in the internal system, and data processed in the specific application is transferred to another application that is adjacent to the specific application and in order of connection, and the internal system A network data chaining device characterized in that when data processing is completed between my applications, the processed data is delivered to the destination.
제 5 항에 있어서,
상기 네트워크체이닝정보는,
상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 상기 데이터의 목적지 MAC 주소로 갱신되는 어플리케이션 별 MAC 주소를 포함하며,
상기 처리단계는,
상기 출발지로부터 수신되는 데이터의 목적지 MAC 주소를 상기 내부 시스템의 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하며, 상기 내부 시스템 내 어플리케이션 간에 데이터 처리가 완료되는 경우에는, 처리 완료된 데이터를 목적지로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
According to claim 5,
The network chaining information,
In order to indicate an application of each connection sequence according to a connection sequence defined between applications in the network, a MAC address for each application updated as a destination MAC address of the data is included,
The processing step is
The destination MAC address of the data received from the source is set to the MAC address of a specific application of the internal system and delivered to the specific application, and for data processed in the specific application, the destination MAC address is set to the specific application and the neighboring The network data chaining device characterized in that it updates the MAC address of another application, which is the next connection sequence, and forwards it to the other application, and when data processing is completed between applications in the internal system, the processed data is delivered to the destination. how it works.
하드웨어와 결합되어, 제 5 항 내지 제 8 항 중 어느 한 항의 각 단계를 실행시키기 위해 매체에 저장된 프로그램.A program combined with hardware and stored in a medium to execute each step of any one of claims 5 to 8.
KR1020210142898A 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof KR102633569B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210142898A KR102633569B1 (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
KR1020210142898A KR102633569B1 (en) 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof

Publications (2)

Publication Number Publication Date
KR20230058974A true KR20230058974A (en) 2023-05-03
KR102633569B1 KR102633569B1 (en) 2024-02-02

Family

ID=86380498

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR102633569B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150146391A (en) * 2014-06-23 2015-12-31 인텔 코포레이션 Local service chaining with virtual machines and virtualized containers in software defined networking
KR101758207B1 (en) * 2016-04-04 2017-07-26 숭실대학교산학협력단 Apparatus for processing network packet using service function chaining and Method for controlling the same
KR20170102104A (en) * 2016-02-29 2017-09-07 고려대학교 산학협력단 Service function chaining network system for path optimization and the method for thereof
KR20200001926A (en) * 2018-06-28 2020-01-07 한국전자통신연구원 Method and apparatus for providing service chaining in cloud environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150146391A (en) * 2014-06-23 2015-12-31 인텔 코포레이션 Local service chaining with virtual machines and virtualized containers in software defined networking
KR20170102104A (en) * 2016-02-29 2017-09-07 고려대학교 산학협력단 Service function chaining network system for path optimization and the method for thereof
KR101758207B1 (en) * 2016-04-04 2017-07-26 숭실대학교산학협력단 Apparatus for processing network packet using service function chaining and Method for controlling the same
KR20200001926A (en) * 2018-06-28 2020-01-07 한국전자통신연구원 Method and apparatus for providing service chaining in cloud environment

Also Published As

Publication number Publication date
KR102633569B1 (en) 2024-02-02

Similar Documents

Publication Publication Date Title
TWI504193B (en) Method and system for offloading tunnel packet processing in cloud computing
JP5792894B2 (en) Port expansion topology information acquisition method, system, control bridge, and uplink port processing method and system
CN109088820B (en) Cross-device link aggregation method and device, computing device and storage medium
CN107925623A (en) The interconnection of overlay network
US20200007472A1 (en) Service insertion in basic virtual network environment
CN110505244B (en) Remote tunnel access technology gateway and server
CN109412922B (en) Method, forwarding device, controller and system for transmitting message
KR102383782B1 (en) Tunnel data update process method of data communication
CN110417632B (en) Network communication method, system and server
JP2023543831A (en) Microservices-based service mesh system and service-oriented architecture management method
CN113595927A (en) Method and device for processing mirror flow in bypass mode
CN114095587A (en) Client, message sending and receiving method, device and storage medium
CN108512737B (en) Data center IP layer interconnection method and SDN controller
KR102633569B1 (en) Network data chaining apparatus, and control method thereof
CN108494748B (en) Communication method, device and storage medium
US11604670B2 (en) Virtual machine live migration method, apparatus, and system
KR102567132B1 (en) Network data chaining apparatus, and control method thereof
CN113709015A (en) Data transmission method, electronic device and storage medium
KR102633575B1 (en) Network data chaining apparatus, and control method thereof
CN111147520B (en) Information processing method and device executed by firewall
US11924182B2 (en) ISO layer-two connectivity using ISO layer-three tunneling
CN113810425B (en) Parallel network transmission method, device, equipment and storage medium
KR102458785B1 (en) FPGA-based MEC data plane system for building private 5G network
US20230093985A1 (en) Providing a hybrid virtual network
EP4184888A1 (en) Systems and methods for tunneling network traffic to apply network functions

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