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

Network data chaining apparatus, and control method thereof Download PDF

Info

Publication number
KR102567132B1
KR102567132B1 KR1020210142780A KR20210142780A KR102567132B1 KR 102567132 B1 KR102567132 B1 KR 102567132B1 KR 1020210142780 A KR1020210142780 A KR 1020210142780A KR 20210142780 A KR20210142780 A KR 20210142780A KR 102567132 B1 KR102567132 B1 KR 102567132B1
Authority
KR
South Korea
Prior art keywords
application
network
data
mac address
applications
Prior art date
Application number
KR1020210142780A
Other languages
Korean (ko)
Other versions
KR20230058933A (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 KR1020210142780A priority Critical patent/KR102567132B1/en
Publication of KR20230058933A publication Critical patent/KR20230058933A/en
Application granted granted Critical
Publication of KR102567132B1 publication Critical patent/KR102567132B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • H04L45/037Routes obligatorily traversing service-related nodes
    • H04L45/0377Routes obligatorily traversing service-related nodes for service chaining
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

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

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 method for dynamically changing a combination of connections between applications and the resultant data flow in relation to a chaining technology for building a network by combining virtual resource-based applications in a predetermined connection order. .

서비스 사업자 및 통신 사업자를 중심으로 네트워크의 개방화와 가상화에 대한 관심이 높아지고 있으며, 이를 지원하는 기술로는 소프트웨어 정의 네트워킹(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 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 and causes data transmission delays. In order to support a series of procedures, there is a problem that implementation logic of the application becomes complicated.

이에 본 발명에서는 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝 기술과 관련하여, 어플리케이션 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 새로운 기법을 제안하고자 한다.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 the chaining technology that builds one network by combining virtual resource-based applications in a predetermined connection order.

본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝(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 combination of connections and the resulting data flow.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치는, 가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 설정하는 설정부; 및 상기 네트워크체이닝정보를 기초로 데이터를 상기 네트워크 내 어플리케이션 간 연결 순서에 따라 각 어플리케이션에 순차적으로 전달하여 어플리케이션 간에 직렬 처리되도록 하는 처리부를 포함하며, 상기 네트워크체이닝정보는, 상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 갱신되는 어플리케이션 별 MAC 주소를 포함하는 것을 특징으로 한다.To achieve the above object, a network data chaining apparatus according to an embodiment of the present invention includes a setting unit configured to set network chaining information about network resources in which each virtual resource-based application is combined in a predefined connection order; and a processing unit that sequentially transfers data to each application according to a connection order between applications in the network based on the network chaining information so that data is serially processed between applications, wherein the network chaining information is defined between applications in the network It is characterized in that it includes a MAC address for each application that is updated to indicate the application of each connection sequence according to the connection sequence.

구체적으로, 상기 처리부는, 상기 네트워크체이닝정보에서 지시하는 연결 순서에 따라 상기 데이터의 목적지 MAC 주소를 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달할 수 있다.Specifically, the processing unit sets the destination MAC address of the data to the MAC address of a specific application according to the connection order indicated by the network chaining information and delivers it to the specific application, and for the data processed in the specific application, The destination MAC address may be updated with the MAC address of another application that is adjacent to the specific application and then transferred to the other application.

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

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치의 동작 방법은, 가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 설정하는 설정단계; 및 상기 네트워크체이닝정보를 기초로 데이터를 상기 네트워크 내 어플리케이션 간 연결 순서에 따라 각 어플리케이션에 순차적으로 전달하여 어플리케이션 간에 직렬 처리되도록 하는 처리단계를 포함하며, 상기 네트워크체이닝정보는, 상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 갱신되는 어플리케이션 별 MAC 주소를 포함하는 것을 특징으로 한다.To achieve the above object, a method of operating a network data chaining device according to an embodiment of the present invention includes a setting step of setting network chaining information for network resources in which virtual resource-based applications are combined in a predefined connection order. ; and a processing step of sequentially transferring data to each application according to a connection order between applications in the network based on the network chaining information so that data is serially processed between applications, wherein the network chaining information is defined between applications in the network. It is characterized in that it includes a MAC address for each application that is updated to indicate the application of each connection sequence according to the connection sequence.

구체적으로, 상기 처리단계는, 상기 네트워크체이닝정보에서 지시하는 연결 순서에 따라 상기 데이터의 목적지 MAC 주소를 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달할 수 있다.Specifically, in the processing step, the destination MAC address of the data is set to the MAC address of a specific application according to the connection order indicated by the network chaining information and delivered to the specific application, and for the data processed in the specific application , the destination MAC address may be updated with the MAC address of another application that is next to the specific application in connection order and delivered to the other application.

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

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 프로그램은, 하드웨어와 결합되어, 가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 설정하는 설정단계; 및 상기 네트워크체이닝정보를 기초로 데이터를 상기 네트워크 내 어플리케이션 간 연결 순서에 따라 각 어플리케이션에 순차적으로 전달하여 어플리케이션 간에 직렬 처리되도록 하는 처리단계를 실행시키기 위해 매체에 저장되며, 상기 네트워크체이닝정보는, 상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해 갱신되는 어플리케이션 별 MAC 주소를 포함하는 것을 특징으로 한다.A program according to an embodiment of the present invention for achieving the above object includes a setting step of setting network chaining information about network resources in which each virtual resource-based application is combined in a predefined connection order in combination with hardware; And based on the network chaining information, stored in a medium to execute a processing step of sequentially transferring data to each application according to the order of connection between applications in the network so that the data is serially processed between applications. It is characterized in that it includes a MAC address for each application that is updated to indicate an application of each connection sequence according to a connection sequence defined between applications in the network.

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

도 1은 종래 기술에 따른 네트워크 체이닝 환경을 설명하기 위한 예시도.
도 2는 본 발명의 일 실시예에 따른 네트워크 체이닝 환경을 설명하기 위한 예시도.
도 3은 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치를 설명하기 위한 구성도.
도 4는 본 발명의 일 실시예에 따른 네트워크체이닝정보(라벨정보)를 설명하기 위한 예시도.
도 5는 본 발명의 일 실시예에 따른 데이터 흐름을 설명하기 위한 예시도.
도 6은 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치의 동작 방법을 설명하기 위한 순서도.
1 is an exemplary diagram for explaining a network chaining environment according to the prior art;
2 is an exemplary diagram for explaining a network 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.
4 is an exemplary diagram for explaining network chaining information (label information) according to an embodiment of the present invention.
5 is an exemplary diagram for explaining data flow according to an embodiment of the present invention;
6 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) 데이터 채널 생성 및 변경을 지원해야만 하는데 이로 인해, 이를 지원하기 위한 어플리케이션의 구현 로직이 복잡해지는 문제가 발생하게 된다.In particular, in order to change the combination of applications and the corresponding data flow in the network built by the combination of applications, the application layer must support the creation and change of L3 (TCP/UDP) data channels for data transmission. A problem arises in which the implementation logic of the application to support becomes complicated.

이에 본 발명의 일 실시예에서는, 가상 자원 기반의 어플리케이션을 정해진 연결 순서대로 조합하여 하나의 네트워크를 구축하는 체이닝 기술과 관련하여, 어플리케이션 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는 새로운 기법을 제안하고자 하는 것이다.Accordingly, in one embodiment of the present invention, in relation to the 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 combination of connections between applications and the resulting data flow is to propose.

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

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

여기서, 네트워크데이터체이닝장치(100)는 출발지(External Source)로부터 수신되는 데이터를 네트워크 내 어플리케이션(App1, App2, App3) 간 연결 순서에 따라 순차적으로 전달하여 어플리케이션(App1, App2, App3) 간에 직렬 처리되도록 하고, 처리 완료된 데이터를 목적지(Sinker) 전달하기 위한 장치를 일컫는다.Here, the network data chaining device 100 sequentially transfers the data received from the source (External Source) according to the order of connection 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 a 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.

한편, 본 발명의 일 실시예에 따른 네트워크체이닝(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, App3) 간 연결 조합 및 그에 따른 데이터 흐름을 동적으로 변경할 수 있는데, 이하에서는 이를 실현하기 위한 네트워크데이터체이닝장치(100)의 구성을 보다 구체적으로 설명하기로 한다.In the network chaining environment according to an embodiment of the present invention, the combination of connections between applications (App1, App2, and App3) and the resulting data flow can be dynamically changed through the above configuration. Hereinafter, network data for realizing this The configuration of the chaining device 100 will be described in more detail.

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

도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(100)는 네트워크체이닝정보를 설정하는 설정부(110), 및 네트워크체닝정보에 기초하여 데이터 전달을 처리하는 처리부(120)를 포함하는 구성을 가질 수 있다.As shown in FIG. 3, the network data chaining apparatus 100 according to an embodiment of the present invention includes a setting unit 110 for setting network chaining information, and a processing unit for processing data transfer based on the network chaining information ( 120) may have a configuration including.

이러한, 네트워크데이터체이닝장치(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 apart from virtual resource-based applications (App1, App2, App3). It can be understood as being a network component that is built and built.

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

설정부(110)는 어플리케이션(App1, App2, App3) 간 조합에 관한 네트워크체이닝정보를 설정하는 기능을 수행한다.The setting unit 110 performs a function of setting network chaining information related to a combination between applications (App1, App2, and App3).

보다 구체적으로, 설정부(110)는 가상 자원 기반의 어플리케이션(App1, App2, App3) 각각이 기 정의된 연결 순서대로 조합되는 네트워크를 구축하고, 이러한 네트워크에서의 데이터 흐름을 제어하기 위한 정보인 네트워크체이닝정보를 설정하게 된다.More specifically, the setting unit 110 builds a network in which each of the virtual resource-based applications (App1, App2, and App3) is combined in a predefined connection order, and the network, which is information for controlling data flow in this network. Chaining information is set.

이때, 설정부(110)는 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해서 각각의 연결 순서에 맞는 어플리케이션 별 MAC 주소를 포함하도록 네트워크체이닝정보를 설정할 수 있다.At this time, the setting unit 110 may set network chaining information to include a MAC address for each application suitable for each connection sequence in order to indicate an application of each connection sequence according to a connection sequence defined between applications in the network.

여기서, 어플리케이션 별 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.

예를 들어, 출발지(External Source)로부터 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우, 도 4 (a)에서와 같이, 그 연결 순서에 따라 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 MAC 주소를 포함하도록 네트워크체이닝정보를 설정할 수 있는 것이다.For example, if you want to define a connection order that is transmitted from a source (External Source) to a destination (Sinker) via a first application (App1), a second application (App2), and a third application, in FIG. 4 (a) As such, network chaining information can be set to include the MAC addresses of the first application (App1), the second application (App2), and the third application (App3) according to the connection order.

다른 예로서, 출발지(External Source)로부터 제1어플리케이션(App1)과 제3어플리케이션을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우, 도4 (b)에서와 같이, 그 연결 순서에 따라 제1어플리케이션(App1)과 제3어플리케이션(App3)의 MAC 주소를 포함하도록 네트워크체이닝정보를 설정할 수 있다.As another example, if you want to define a connection sequence that is transmitted from the source (External Source) to the destination (Sinker) via the first application (App1) and the third application, as shown in FIG. 4 (b), the connection sequence Accordingly, network chaining information may be set to include the MAC addresses of the first application (App1) and the third application (App3).

또 다른 예로서, 만약 출발지(External Source)로부터 제2어플리케이션(App2) 만을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우라면, 도 4 (c)에서와 같이 제2어플리케이션(App2)의 MAC 주소만을 포함하도록 네트워크체이닝정보를 설정할 수 있는 것이다.As another example, if it is desired to define a connection sequence from a source (External Source) to a destination (Sinker) via only the second application (App2), the second application (App2) as shown in FIG. 4 (c). Network chaining information can be set to include only the MAC address of

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

보다 구체적으로, 처리부(120)는 네트워크체닝정보가 설정되면, 설정된 네트워크체닝정보에 따른 어플리케이션(App1, App2, App3) 간 연결 순서에 따라 출발지(External Source)로부터 수신되는 데이터를 각 어플리케이션(App1, App2, App3) 간에 순차적으로 전달하여 처리될 수 있도록 하며, 네트워크 내 어플리케이션(App1, App2, App3) 간에 데이터 처리가 완료되면, 처리 완료된 데이터를 목적지(Sinker)로 전달하게 된다.More specifically, when the network chaining information is set, the processing unit 120 transfers data received from the source (External Source) according to the connection order between the applications (App1, App2, and App3) according to the set network chaining information. App2, App3) are sequentially transmitted and 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)는 네트워크체이닝정보에서 지시하는 연결 순서에 따라 데이터의 목적지 MAC 주소를 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달할 수 있다.At this time, the processing unit 120 sets the destination MAC address of the data to the MAC address of a specific application according to the connection order indicated by the network chaining information and delivers it to the specific application, and for the data processed in the specific application, the destination MAC address The address may be updated to a MAC address of another application that is adjacent to the specific application and then connected in order, and transmitted to the other application.

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

예를 들어, 네트워크체이닝정보가 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 연결 순서를 지시하는 경우, 도 5 (a)에서와 같이, 출발지(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, when the network chaining information indicates the connection order of the first application (App1), the second application (App2), and the third application (App3), as shown in FIG. 5 (a), the source (External Source) The destination MAC address of the data received from is set as the MAC address of the first application and delivered 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 second application ( It is updated with the MAC address of App2) and transferred 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) transfers the destination MAC address to the third application (App2). The MAC address of App3) is transmitted 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 output from the third application (App3). It can be forwarded from the port to the destination (Sinker).

다른 예로서, 데이터의 헤더 필드에 추가된 라벨이 제1어플리케이션(App1)과 제3어플리케이션(App3)의 연결 순서를 각각 지시하는 경우, 도 5 (b)에서와 같이, 출발지(External Source)로부터 수신되는 데이터의 목적지 MAC 주소를 제1어플리케이션의 MAC 주소로 설정하여 제1어플리케이션(App1)의 입력 포트로 전달하며, 제1어플리케이션(App1)에서 처리된 데이터는 목적지 MAC 주소를 제3어플리케이션(App3)의 MAC 주소로 갱신하여 제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 order of connection of the first application (App1) and the third application (App3), respectively, as in FIG. 5 (b), from the source (External Source). The destination MAC address of the received data is set as the MAC address of the first application and forwarded to the input port of the first application (App1). ) and transfers it from the output port of the first application (App1) to the input port of the third application (App3), and the data processed by the third application (App3) is sent to the output port of the third application (App3). It can be transmitted from the destination to the sinker.

또 다른 예로서, 만약, 데이터의 헤더 필드에 추가된 라벨이 제2어플리케이션(App2) 만을 지시하는 경우라면, 도 5 (c)에서와 같이, 출발지(External Source)로부터 수신되는 데이터의 목적지 MAC 주소를 제2어플리케이션(App2)의 MAC 주소로 설정하여 제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), as in FIG. 5 (c), the destination MAC address of the data received from the source (External Source). is set as the MAC address of the second application (App2) and transmitted to the input port of the second application (App2), and the data processed by the second application (App2) is sent from the output port of the second application (App2) 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, it can be seen that the implementation logic of the application can be minimized.

한편, 처리부(120)는 네트워크체이닝정보 상에 어플리케이션(App1, App2, App3) 간 연결 순서를 지시하는 MAC 주소가 더 이상 존재하지 않는 경우, 네트워크 내 어플리케이션(App1, App2, App3) 간에 데이터 처리가 완료된 것으로 간주하며, 이처럼 처리가 완료된 데이터는 마지막 연결 순서에 해당하는 어플리케이션의 출력 포트로부터 목적지(Sinker)로 전달할 수 있다.On the other hand, the processing unit 120 performs data processing between the applications (App1, App2, and App3) in the network when the MAC address indicating the connection sequence between the applications (App1, App2, and App3) no longer exists on the network chaining information. It is regarded as completed, and the data processed in this way can be delivered from the output port of the application corresponding to the last connection sequence to the destination (sinker).

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(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 described above, according to the configuration of the network data chaining device 100 according to an embodiment of the present invention, each of the virtual resource-based applications (App1, App2, App3) is combined in a predefined connection order to the network. Obtains network chaining information about the source from data received from the source (External Source), and based on this network chaining information, data received from the source (External Source) is connected in the order of connection between applications (App1, App2, App3) in the network. According to this, each application (App1, App2, App3) is transmitted sequentially to be serially processed, and when data processing is completed between the applications (App1, App2, App3) in the network, the processed data is transmitted to the destination (Sinker), As data transmission is performed on a network side separate from the applications (App1, App2, App3), the connection combination between the applications (App1, App2, App3) and the resulting data flow can be dynamically changed without delay, and also, the application ( Since only data processing is required in the App1, App2, and App3) stages, the implementation logic of the application can be simplified as much as possible.

이하에서는, 도 6을 참조하여 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(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. 6 .

먼저, 설정부(110)는 가상 자원 기반의 어플리케이션(App1, App2, App3) 각각이 기 정의된 연결 순서대로 조합되는 네트워크를 구축하고, 이러한 네트워크에서의 데이터 흐름을 제어하기 위한 정보인 네트워크체이닝정보를 설정한다(S110).First, the setting unit 110 builds a network in which each of the virtual resource-based applications (App1, App2, and App3) is combined in a predefined connection order, and provides network chaining information, which is information for controlling data flow in this network. is set (S110).

이때, 설정부(110)는 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해서 각각의 연결 순서에 맞는 어플리케이션 별 MAC 주소를 포함하도록 네트워크체이닝정보를 설정할 수 있다.At this time, the setting unit 110 may set network chaining information to include a MAC address for each application suitable for each connection sequence in order to indicate an application of each connection sequence according to a connection sequence defined between applications in the network.

예를 들어, 출발지(External Source)로부터 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우, 앞서 예시한 도 4 (a)에서와 같이, 그 연결 순서에 따라 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 MAC 주소를 포함하도록 네트워크체이닝정보를 설정할 수 있는 것이다.For example, if you want to define a connection order that is transmitted from a source (External Source) to a destination (Sinker) via a first application (App1), a second application (App2), and a third application, FIG. 4 ( As in a), network chaining information can be set to include the MAC addresses of the first application (App1), the second application (App2), and the third application (App3) according to the connection order.

다른 예로서, 출발지(External Source)로부터 제1어플리케이션(App1)과 제3어플리케이션을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우, 앞서 예시한 도4 (b)에서와 같이, 그 연결 순서에 따라 제1어플리케이션(App1)과 제3어플리케이션(App3)의 MAC 주소를 포함하도록 네트워크체이닝정보를 설정할 수 있다.As another example, if you want to define a connection sequence that is transmitted from the source (External Source) to the destination (Sinker) via the first application (App1) and the third application, as in FIG. 4 (b) illustrated above, that Network chaining information may be set to include the MAC addresses of the first application (App1) and the third application (App3) according to the order of connection.

또 다른 예로서, 만약 출발지(External Source)로부터 제2어플리케이션(App2) 만을 거쳐 목적지(Sinker)로 전달되는 연결 순서를 정의하고자 하는 경우라면, 앞서 예시한 도 4 (c)에서와 같이 제2어플리케이션(App2)의 MAC 주소만을 포함하도록 네트워크체이닝정보를 설정할 수 있는 것이다.As another example, if it is desired to define a connection sequence from a source (External Source) to a destination (Sinker) via only the second application (App2), the second application as shown in FIG. 4 (c) illustrated above. Network chaining information can be set to include only the MAC address of (App2).

나아가, 처리부(120)는 네트워크체닝정보가 설정되면, 설정된 네트워크체닝정보에 따른 어플리케이션(App1, App2, App3) 간 연결 순서에 따라 출발지(External Source)로부터 수신되는 데이터를 각 어플리케이션(App1, App2, App3) 간에 순차적으로 전달하여 처리될 수 있도록 한다(S120-S160). Furthermore, when the network chaining information is set, the processing unit 120 transfers data received from the source (External Source) according to the order of connection between the applications (App1, App2, and App3) according to the set network chaining information. App3) so that it can be sequentially transferred and processed (S120-S160).

이때, 처리부(120)는 네트워크체이닝정보에서 지시하는 연결 순서에 따라 데이터의 목적지 MAC 주소를 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달할 수 있다.At this time, the processing unit 120 sets the destination MAC address of the data to the MAC address of a specific application according to the connection order indicated by the network chaining information and delivers it to the specific application, and for the data processed in the specific application, the destination MAC address The address may be updated to a MAC address of another application that is adjacent to the specific application and then connected in order, and transmitted to the other application.

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

예를 들어, 네트워크체이닝정보가 제1어플리케이션(App1)과 제2어플리케이션(App2) 그리고 제3어플리케이션(App3)의 연결 순서를 지시하는 경우, 앞서 예시한 도 5 (a)에서와 같이, 출발지(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)의 입력 포트로 전달할 수 있는 것이다.For example, when the network chaining information indicates the connection order of the first application (App1), the second application (App2), and the third application (App3), as in FIG. 5 (a) illustrated above, the origin ( The destination MAC address of the data received from the external source is set to the MAC address of the first application and forwarded to the input port of the first application (App1), and the data processed by the first application (App1) has a destination MAC address. 2It is updated with the MAC address of the application (App2) and transferred 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) has a destination MAC address. 3 It can be updated with the MAC address of the application (App3) and 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)로부터 수신되는 데이터의 목적지 MAC 주소를 제1어플리케이션의 MAC 주소로 설정하여 제1어플리케이션(App1)의 입력 포트로 전달하며, 제1어플리케이션(App1)에서 처리된 데이터는 목적지 MAC 주소를 제3어플리케이션(App3)의 MAC 주소로 갱신하여 제1어플리케이션(App1)의 출력 포트로부터 제3어플리케이션(App3)의 입력 포트로 전달할 수 있는 것이다.As another example, when a label added to a header field of data indicates a connection order of the first application App1 and the third application App3, as in FIG. 5 (b) illustrated above, the source (External The destination MAC address of the data received from Source is set as the MAC address of the first application, and the data is transmitted to the input port of the first application (App1). It can be updated with the MAC address of the application (App3) and transmitted from the output port of the first application (App1) to the input port of the third application (App3).

또 다른 예로서, 만약, 데이터의 헤더 필드에 추가된 라벨이 제2어플리케이션(App2) 만을 지시하는 경우라면, 앞서 예시한 도 5 (c)에서와 같이, 출발지(External Source)로부터 수신되는 데이터의 목적지 MAC 주소를 제2어플리케이션(App2)의 MAC 주소로 설정하여 제2어플리케이션(App2)의 입력 포트로 전달할 수 있는 것이다.As another example, if the label added to the header field of the data indicates only the second application (App2), as in FIG. The destination MAC address may be set as the MAC address of the second application (App2) and 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 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, it can be seen that the implementation logic of the application can be minimized.

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

이때, 처리부(120)는 네트워크체이닝정보 상에 어플리케이션(App1, App2, App3) 간 연결 순서를 지시하는 MAC 주소가 더 이상 존재하지 않는 경우, 네트워크 내 어플리케이션(App1, App2, App3) 간에 데이터 처리가 완료된 것으로 간주하며, 이처럼 처리가 완료된 데이터는 마지막 연결 순서에 해당하는 어플리케이션의 출력 포트로부터 목적지(Sinker)로 전달할 수 있다.At this time, if the MAC address indicating the connection sequence between the applications (App1, App2, and App3) no longer exists on the network chaining information, the processing unit 120 performs data processing between the applications (App1, App2, and App3) in the network. It is regarded as completed, and the data processed in this way can be delivered from the output port of the application corresponding to the last connection sequence to the destination (sinker).

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 네트워크데이터체이닝장치(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 described above, according to the operating method of the network data chaining device 100 according to an embodiment of the present invention, a network in which virtual resource-based applications (App1, App2, and App3) are combined in a predefined connection order. Network chaining information related to is obtained from data received from the source (External Source), and based on this network chaining information, data received from the source (External Source) is connected between applications (App1, App2, App3) in the network. According to this, each application (App1, App2, App3) is sequentially transmitted and serially processed, and when data processing is completed between the applications (App1, App2, App3) in the network, the processed data is transmitted to the destination (Sinker). , As data transfer is performed at a network side separate from applications (App1, App2, App3), the combination of connections between applications (App1, App2, App3) and the resulting data flow can be dynamically changed without delay. Since only data processing is required in the stages (App1, App2, App3), 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.On the other hand, 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 those specially designed and configured for the present invention or those 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, connection combination between applications And in that the data flow can be dynamically changed, as it goes beyond the limits of the existing technology, not only the use of the related technology, but also the possibility of marketing or sales of the applied device is sufficient, and it can be clearly implemented in reality. This is an invention with industrial applicability.

100: 네트워크데이터체이닝장치
110: 설정부 120: 처리부
100: network data chaining device
110: setting unit 120: processing unit

Claims (7)

가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 설정하는 설정부; 및
상기 네트워크체이닝정보를 기초로, 데이터를 상기 네트워크 내 어플리케이션 간 연결 순서에 따라 각 어플리케이션에 순차적으로 전달하여 어플리케이션 간에 직렬 처리되도록 하는 처리부를 포함하며,
상기 네트워크체이닝정보는,
상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해서 갱신되는 어플리케이션 별 MAC 주소를 포함하며,
상기 처리부는,
상기 네트워크체이닝정보에서 지시하는 연결 순서에 따라 상기 데이터의 목적지 MAC 주소를 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치.
a setting unit for setting network chaining information about network resources in which each virtual resource-based application is combined in a predefined connection order; and
Based on the network chaining information, a processing unit that sequentially transmits data to each application according to a connection order between applications in the network so that data is serially processed between applications;
The network chaining information,
Includes a MAC address for each application that is updated to indicate an application of each connection sequence according to a connection sequence defined between applications in the network;
The processing unit,
According to the connection order indicated by the network chaining information, the destination MAC address of the data is set to the MAC address of a specific application and delivered to the specific application, and for data processed in the specific application, the destination MAC address is set to the specific application MAC address. A network data chaining device characterized in that the MAC address of another application in the next connection order adjacent to is updated and transmitted to the other application.
삭제delete 제 1 항에 있어서,
상기 처리부는,
상기 데이터를 상기 특정 어플리케이션의 입력 포트로 전달하며, 상기 특정 어플리케이션에서 처리된 데이터는, 상기 특정 어플리케이션의 출력 포트로부터 획득하여 상기 다른 어플리케이션의 입력 포트로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치.
According to claim 1,
The processing unit,
The network data chaining device according to claim 1 , wherein the data is transmitted to an input port of the specific application, and data processed in the specific application is obtained from an output port of the specific application and transferred to an input port of another application.
가상 자원 기반의 어플리케이션 각각이 기 정의된 연결 순서대로 조합되는 네트워크 자원에 관한 네트워크체이닝정보를 설정하는 설정단계; 및
상기 네트워크체이닝정보를 기초로, 데이터를 상기 네트워크 내 어플리케이션 간 연결 순서에 따라 각 어플리케이션에 순차적으로 전달하여 어플리케이션 간에 직렬 처리되도록 하는 처리단계를 포함하며,
상기 네트워크체이닝정보는,
상기 네트워크 내 어플리케이션 간에 정의되는 연결 순서에 따라 각 연결 순서의 어플리케이션을 지시하기 위해서 갱신되는 어플리케이션 별 MAC 주소를 포함하며,
상기 처리단계는,
상기 네트워크체이닝정보에서 지시하는 연결 순서에 따라 상기 데이터의 목적지 MAC 주소를 특정 어플리케이션의 MAC 주소로 설정하여 상기 특정 어플리케이션으로 전달하고, 상기 특정 어플리케이션에서 처리된 데이터에 대해서는, 목적지 MAC 주소를 상기 특정 어플리케이션과 이웃한 다음 연결 순서인 다른 어플리케이션의 MAC 주소로 갱신하여 상기 다른 어플리케이션으로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
a setting step of setting network chaining information about network resources in which each virtual resource-based application is combined in a predefined connection order; and
Based on the network chaining information, a processing step of sequentially transferring data to each application according to a connection order between applications in the network so that data is serially processed between applications,
The network chaining information,
Includes a MAC address for each application that is updated to indicate an application of each connection sequence according to a connection sequence defined between applications in the network;
The processing step is
According to the connection order indicated by the network chaining information, the destination MAC address of the data is set to the MAC address of a specific application and delivered to the specific application, and for data processed in the specific application, the destination MAC address is set to the specific application MAC address. A method of operating a network data chaining device, characterized in that updating the MAC address of another application in the order of connection next to the next and transmitting it to the other application.
삭제delete 제 4 항에 있어서,
상기 처리단계는,
상기 데이터를 상기 특정 어플리케이션의 입력 포트로 전달하며, 상기 특정 어플리케이션에서 처리된 데이터는, 상기 특정 어플리케이션의 출력 포트로부터 획득하여 상기 다른 어플리케이션의 입력 포트로 전달하는 것을 특징으로 하는 네트워크데이터체이닝장치의 동작 방법.
According to claim 4,
The processing step is
Operation of the network data chaining device, characterized in that the data is transferred to the input port of the specific application, and the data processed in the specific application is acquired from the output port of the specific application and transferred to the input port of the other application. method.
하드웨어와 결합되어, 제 4 항 및 제 6 항 중 어느 한 항의 방법을 실행시키기 위해 컴퓨터 판독 가능 매체에 저장된 프로그램.A program stored in a computer readable medium to execute the method of any one of claims 4 and 6, combined with hardware.
KR1020210142780A 2021-10-25 2021-10-25 Network data chaining apparatus, and control method thereof KR102567132B1 (en)

Priority Applications (1)

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

Publications (2)

Publication Number Publication Date
KR20230058933A KR20230058933A (en) 2023-05-03
KR102567132B1 true KR102567132B1 (en) 2023-08-14

Family

ID=86380386

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR102567132B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102019212B1 (en) * 2018-11-21 2019-11-04 아토리서치(주) Method, apparatus and computer program for service fuction chainnig

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101746105B1 (en) * 2015-03-30 2017-06-27 쿨클라우드(주) Openflow switch capable of service chaining

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102019212B1 (en) * 2018-11-21 2019-11-04 아토리서치(주) Method, apparatus and computer program for service fuction chainnig

Also Published As

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

Similar Documents

Publication Publication Date Title
US10812378B2 (en) System and method for improved service chaining
US8363656B2 (en) Multiple virtual machines sharing a single IP address
US11023406B2 (en) Preservation of port control block information related to logins and states of remote ports during a code load in an embedded port
US10901725B2 (en) Upgrade of port firmware and driver software for a target device
US10942729B2 (en) Upgrade of firmware in an interface hardware of a device in association with the upgrade of driver software for the device
US11184281B2 (en) Packet processing method and apparatus
US10965750B2 (en) Distributed management of dynamic processing element connections in streaming applications
CN109194589B (en) MDC (media data center) implementation method and device
CN108347472B (en) Configuration method of IP address, cloud server, cloud platform and readable storage medium
KR102567132B1 (en) Network data chaining apparatus, and control method thereof
US8375123B2 (en) Remote session management
CN111163102B (en) Data processing method and device, network equipment and readable storage medium
CN108494748B (en) Communication method, device and storage medium
US11792289B2 (en) Live socket redirection
CN113556414B (en) Method, gateway device and storage medium for inter-network communication
KR102633569B1 (en) Network data chaining apparatus, and control method thereof
KR102633575B1 (en) Network data chaining apparatus, and control method thereof
US11604670B2 (en) Virtual machine live migration method, apparatus, and system
CN107454021B (en) Communication method and device
CN112965925B (en) Communication method, communication device, master equipment and slave equipment
CN113742079B (en) Method for realizing K8S seven-layer load balancing strategy and application
US8640147B2 (en) Method and system for virtualizing connection end-points in distributed, component based applications at runtime
CN115827474A (en) Software testing method and device based on virtualization platform
CN117036566A (en) Remote image rendering method, system, electronic device and readable storage medium
CN117097659A (en) Method and device for realizing SRv6 multiple programmable modules

Legal Events

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