KR100439185B1 - Method for loading programs in the active network model and hybrid active network node - Google Patents

Method for loading programs in the active network model and hybrid active network node Download PDF

Info

Publication number
KR100439185B1
KR100439185B1 KR10-2001-0086925A KR20010086925A KR100439185B1 KR 100439185 B1 KR100439185 B1 KR 100439185B1 KR 20010086925 A KR20010086925 A KR 20010086925A KR 100439185 B1 KR100439185 B1 KR 100439185B1
Authority
KR
South Korea
Prior art keywords
packet
active
aflow
node
flow
Prior art date
Application number
KR10-2001-0086925A
Other languages
Korean (ko)
Other versions
KR20030056651A (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 KR10-2001-0086925A priority Critical patent/KR100439185B1/en
Publication of KR20030056651A publication Critical patent/KR20030056651A/en
Application granted granted Critical
Publication of KR100439185B1 publication Critical patent/KR100439185B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

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

Abstract

혼합형 액티브 네트워크 모델 및 액티브 네트워크 모델에서의 패킷 처리 방법을 개시한다.Disclosed are a mixed active network model and a packet processing method in an active network model.

본 발명은 패킷 처리의 고속화와 패킷 전달의 지속성 여부에 따라 액티브 패킷을 'sigAflow' 패킷, 'Aflow' 패킷, 'non-Aflow' 패킷으로 각각 분류하여, 필요한 자원을 액티브 노드에 동적으로 적재하여 패킷을 처리하는 혼합형 액티브 노드 모델에 관한 것이다. 즉, 본 발명에 따른 액티브 네트워크 기술은, 액티브 노드가 액티브 패킷을 실행하기 위해 필요한 서비스와 이를 구현하는 프로그램 코드들을 네트워크 상의 액티브 노드에 동적으로 적재하고 확장하게 함으로써 유연한 네트워크 환경을 제공할 수 있으며, 빈번하게 요구되는 서비스와 프로그램 코드는 액티브 노드에 미리 장착하여 액티브 패킷이 액티브 노드에 도착하면 해당 패킷을 고속으로 처리할 수 있도록 구현한 것이다.According to the present invention, active packets are classified into 'sigAflow' packets, 'Aflow' packets, and 'non-Aflow' packets according to whether packet processing is accelerated and whether packet delivery is persistent. A hybrid active node model for processing That is, the active network technology according to the present invention can provide a flexible network environment by allowing the active node to dynamically load and expand a service necessary for executing an active packet and program codes for implementing the same into the active node on the network. Frequently required service and program codes are pre-installed in the active node and can be processed at high speed when the active packet arrives at the active node.

Description

혼합형 액티브 네트워크 모델 및 액티브 네트워크 모델에서의 패킷 처리 방법{METHOD FOR LOADING PROGRAMS IN THE ACTIVE NETWORK MODEL AND HYBRID ACTIVE NETWORK NODE}METHOD FOR LOADING PROGRAMS IN THE ACTIVE NETWORK MODEL AND HYBRID ACTIVE NETWORK NODE}

본 발명은 액티브 네트워킹 기술에 관한 것으로, 특히, 액티브 노드에서 액티브 패킷 실행에 필요한 자원을 동적으로 적재(active loading)하여 처리하는데 적합한 혼합형 액티브 네트워크 모델 및 액티브 네트워크 모델에서의 패킷 처리 방법에 관한 것이다.The present invention relates to an active networking technology, and more particularly, to a hybrid active network model and a packet processing method in an active network model suitable for dynamically loading and processing resources required for active packet execution in an active node.

액티브 노드가 네트워크 망을 따라 전송된 액티브 패킷을 실행시키는 데에는 크게 두 가지 방식이 적용될 수 있다.Two methods can be applied to the active node to execute the active packet transmitted along the network.

그 중 하나는, 필요한 서비스와 프로그램 코드들을 미리 노드에 상주시키는 방식으로서, 수행되기를 원하는 프로그램 식별자와 데이터를 포함한 패킷이 도착하면 프로그램 식별자에 해당하는 프로그램을 노드에 적재하여 데이터와 함께 처리하는 방식을 일컫는다.One of them involves residing necessary services and program codes in a node in advance. When a packet including a program identifier and data desired to be executed arrives, a program corresponding to the program identifier is loaded into the node and processed together with the data. It is called.

그런데, 이러한 방식은 노드에 이미 존재하는 프로그램에 대해서만 적용이 가능한 바, 새로운 프로그램을 추가시키기가 용이하지 않다는 문제가 있다.However, this method is applicable only to a program that already exists in the node, there is a problem that it is not easy to add a new program.

다른 하나는, 노드에 프로그램을 저장하지 않고 패킷에 프로그램과 데이터를 실어보내는 방식으로서, 패킷에 포함된 프로그램과 데이터를 노드 자신의 수행 환경에서 처리하는 방식이다.The other method is to load a program and data in a packet without storing the program in the node, and to process the program and data included in the packet in the node's own execution environment.

이러한 방식은, 특히, 전달해야 하는 프로그램의 크기가 큰 경우에 네트워크 상에서의 트래픽 문제, 패킷 분실시 재전송 문제 등이 발생할 수 있는 바, 패킷 전송 효율이 떨어질 수 있다는 문제를 초래한다.Such a method may cause a problem that packet transmission efficiency may be deteriorated, since a traffic problem on a network, a retransmission problem when a packet is lost, and the like may occur, particularly when a program to be delivered is large.

액티브 노드가 네트워크 망을 따라 전송된 액티브 패킷을 실행하기 위해서는 필요한 서비스와 이를 구현하는 프로그램 코드들을 노드에 적재하여야만 하는데, 빈번하게 사용되는 프로그램을 미리 노드에 적재하여 해당 프로그램을 요구하는 패킷이 노드에 전달되었을 때 신속하게 패킷을 처리할 필요가 있다.In order for an active node to execute an active packet transmitted along a network, it is necessary to load a node with necessary services and program codes for implementing the active packet. A frequently used program is loaded into the node in advance, and a packet requesting the corresponding program is loaded on the node. When delivered, it needs to process the packet quickly.

또한, 자주 사용되지 않는 프로그램은 패킷이 요구할 때만 코드 서버나 다른 액티브 노드로부터 다운로드하여 적재함으로써 불필요하거나 사용되는 빈도가 낮은 프로그램 및 서비스가 노드에 종속되지 않도록 하여 노드의 부하를 줄일 필요가 있다.In addition, infrequently used programs need to be loaded and loaded from a code server or other active node only when required by the packet, thereby reducing the load on the node so that unnecessary or less frequently used programs and services are not dependent on the node.

본 발명은 상술한 필요성에 의해 안출한 것으로, 패킷 처리의 고속화 및 실시간성 측면에서 패킷의 전달 주기의 지속성 여부에 따라 'Aflow' 패킷, 'non-Aflow' 패킷, 'sigAflow' 패킷으로 분류하여 액티브 패킷 실행에 필요한 자원들을 액티브 노드에 동적으로 적재함으로써 패킷 처리 속도의 고속화, 노드에 종속된 자원의 소량화, 그리고 네트워크 환경의 유연화를 구현하도록 한 혼합형 액티브 네트워크 모델 및 액티브 네트워크 모델에서의 패킷 처리 방법을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned necessity, and is classified into an 'Aflow' packet, a 'non-Aflow' packet, and a 'sigAflow' packet according to whether the packet delivery period is persistent in terms of speeding up the packet processing and real time. A hybrid active network model and a method for processing a packet in an active network model that dynamically load resources required for packet execution to an active node to realize a high packet processing speed, a small amount of node-dependent resources, and a flexible network environment. The purpose is to provide.

이러한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 혼합형 액티브 네트워크 모델에 있어서, 네트워크 디바이스로부터 수신되는 액티브 패킷을 분배하고, 액티브 패킷으로 분류된 패킷을 디먹스 키(demux key) 매칭 유무에 따라 해당 플로우 패킷으로 분류하며, 임의의 노드 자원을 할당, 제어 및 반환하는 노드 운영체제 블록과; 노드 운영체제 블록으로부터 제공되는 액티브 패킷의 패킷 헤더의 타입 값을 검출하고, 검출되는 타입 값에 따라 수신 패킷을 해당 플로우 패킷으로 분류하는 수행환경 블록을 구비하는 것을 특징으로 하는 혼합형 액티브 네트워크 모델을 제공한다.According to an embodiment of the present invention for achieving the above object, in the mixed active network model, the active packet received from the network device is distributed, and the packet classified as the active packet is used for demux key matching. A node operating system block classified into a corresponding flow packet and allocating, controlling, and returning arbitrary node resources; It provides a mixed active network model characterized in that it comprises a execution environment block for detecting the type value of the packet header of the active packet provided from the node operating system block, and classifies the received packet into the corresponding flow packet according to the detected type value .

본 발명의 목적을 달성하기 위한 다른 실시예에 따르면, 패킷 분류기, 플로우 분류기를 포함하는 노드 운영체제 블록과, 액티브 패킷 헤더의 타입 필드(type field)를 검출하는 수행환경 블록을 각각 구비하며, 네트워크 망을 통해 액티브 노드로 전송되는 패킷을 수신하는 액티브 네트워크 모델에서의 패킷 처리 방법에 있어서, 패킷 분류기로 임의의 패킷이 수신되면, 수신되는 패킷 헤더의 프로토콜 필드가 액티브 패킷임을 나타내는 값으로 설정되어 있는지를 판단하는 단계와; 판단 결과, 수신 패킷 헤더의 프로토콜 필드가 액티브 패킷임을 나타내는 값으로 설정되어 있으면, 패킷 분류기에서 수신 패킷을 액티브 패킷으로 구분하고, 패킷을 플로우 분류기로 제공하는 단계와; 플로우 분류기에서 패킷의 디먹스 키 필드가 일치하는지를 판단하고, 디먹스 키 필드가 일치하는 경우에 패킷을 'Aflow' 패킷으로 분류하는 단계와; 판단 결과, 디먹스 키 필드가 일치하지 않는 경우에 패킷을 수행환경 블록으로 제공하여 패킷 헤더의 타입 필드를 검출하는 단계와; 수행환경 블록에서 검출되는 패킷 헤더의 타입 값이 '0'인 경우에 상기 패킷을 'sigAflow' 패킷으로 분류하는 단계와; 수행환경 블록에서 검출되는 패킷 헤더의 타입 값이 '2'인 경우에 패킷을 'non-Aflow' 패킷으로 분류하는 단계를 포함하는 것을 특징으로 하는 액티브 네트워크 모델에서의 패킷 처리 방법According to another exemplary embodiment of the present invention, a network classifier includes a packet classifier, a node operating system block including a flow classifier, and an execution environment block for detecting a type field of an active packet header. In a packet processing method in an active network model that receives a packet transmitted to an active node through a packet, if any packet is received by the packet classifier, the protocol field of the received packet header is set to a value indicating that the packet is an active packet. Judging; If the protocol field of the received packet header is set to a value indicating that the packet is an active packet, the packet classifier classifies the received packet into an active packet and provides the packet to the flow classifier; Determining, by the flow classifier, whether the demux key field of the packet matches, and classifying the packet as an 'Aflow' packet if the demux key field matches; If the demux key field does not match, providing a packet to the execution environment block to detect the type field of the packet header; Classifying the packet as a 'sigAflow' packet when the type value of the packet header detected in the execution environment block is '0'; And classifying the packet into a 'non-Aflow' packet when the type value of the packet header detected in the execution environment block is '2'.

도 1은 본 발명에 따른 혼합형 액티브 네트워크 구성도,1 is a configuration diagram of a mixed active network according to the present invention;

도 2는 본 발명의 바람직한 실시예에 따른 액티브 네트워크 모델에서의 패킷 분류 과정의 흐름도,2 is a flowchart of a packet classification process in an active network model according to an embodiment of the present invention;

도 3은 도 2의 플로우 분류 결과로서, 'sigAflow' 패킷 분류시 그 처리 과정을 설명하기 위한 도면,FIG. 3 is a flow classification result of FIG. 2 for explaining a processing process when classifying a 'sigAflow' packet; FIG.

도 4는 도 2의 플로우 분류 결과로서, 'Aflow' 패킷 분류시 그 처리 과정을 설명하기 위한 도면,FIG. 4 is a flow classification result of FIG. 2 for explaining a process of classifying an 'Aflow' packet; FIG.

도 5는 도 2의 플로우 분류 결과로서, 'non-Aflow' 패킷 분류시 그 처리 과정을 설명하기 위한 도면.FIG. 5 is a flow classification result of FIG. 2 illustrating a processing process when classifying a non-Aflow packet. FIG.

<도면의 주요부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>

11 : 패킷 분류기11: packet classifier

12 : 플로우 분류기12: flow sorter

13 : 액티브 패킷 생성기13: active packet generator

14 : 플로우 관리기14: flow manager

15 : 채널 관리기15: channel manager

21 : 수행환경 제어기21: execution environment controller

22 : 센서 적재기22: sensor loader

23 : 노드상태 관리기23: node state manager

24 : 센서 처리기24: sensor processor

100 : 노드 운영체제 블록100: node operating system block

200 : 수행환경 블록200: execution environment block

300 : 능동응용 블록300: active application block

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

설명에 앞서, 본 발명의 핵심 기술 요지는 패킷 처리의 고속화와 패킷 전달의 지속성 여부에 따라 액티브 패킷을 분류하여, 패킷을 실행하기 위해 필요한 자원을 액티브 노드에 동적으로 적재하여 패킷을 처리한다는 것으로서, 이러한 기술 사상으로부터 본 발명에서 목적으로 하는 바를 용이하게 달성할 수 있을 것이다.Prior to the description, the core technical gist of the present invention is to classify active packets according to the speed of packet processing and the persistence of packet forwarding, and dynamically load the resources necessary to execute the packets to the active node to process the packets. From this technical idea, it is possible to easily achieve the object of the present invention.

도 1은 본 발명에 따른 혼합형 액티브 노드 구성도로서, 노드 운영체제 블록(100), 수행환경 블록(200), 능동응용 블록(300)으로 크게 구분될 수 있다.1 is a configuration diagram of a mixed active node according to the present invention, and may be broadly divided into a node operating system block 100, an execution environment block 200, and an active application block 300.

여기서, 노드 운영체제 블록(100)은 패킷 분류기(11), 플로우 분류기(12), 액티브 패킷 생성기(13), 플로우 관리기(14), 채널 관리기(15)를 포함하며, 수행환경 블록(200)은 수행환경 제어기(21), 센서 적재기(22), 노드상태 관리기(23), 센서 처리기(24)를 각각 포함한다.Here, the node operating system block 100 includes a packet classifier 11, a flow classifier 12, an active packet generator 13, a flow manager 14, and a channel manager 15. A performance environment controller 21, a sensor loader 22, a node state manager 23, a sensor processor 24, respectively.

노드 운영체제 블록(100)은 수행환경 블록(200)에서 필요한 노드 자원을 할당, 제어 및 반환하는 기능을 수행한다.The node operating system block 100 performs a function of allocating, controlling, and returning node resources required by the execution environment block 200.

또한, 노드 운영체제 블록(100)은 네트워크 디바이스로부터 수신되는 액티브 패킷을 수행환경 블록(200)으로 분배하고, 수행환경 블록(200)으로부터의 결과 데이터를 제3의 노드로 전달하는 기능을 수행한다.In addition, the node operating system block 100 distributes the active packet received from the network device to the execution environment block 200 and performs a function of transferring the result data from the execution environment block 200 to the third node.

이러한 노드 운영체제 블록(100)에는, 도 1에 도시한 바와 같이, 패킷 분류기(11), 플로우 분류기(12) 등이 구비되는데, 패킷 분류기(11)에서는 수신되는 패킷을 액티브 패킷 또는 일반 IP 패킷으로 분류하고, 플로우 분류기(12)에서는 패킷 분류기(11)에서 액티브 패킷으로 분류된 패킷을 후술하는 바와 같은 디먹스 키(demux key) 매칭 유무에 따라 해당 플로우 패킷으로 분류하는 작업을 수행한다. 이러한 패킷 분류 및 플로우 분류 과정은 하기 도 2의 흐름도에서 보다 상세히 기술하기로 한다.As shown in FIG. 1, the node operating system block 100 includes a packet classifier 11, a flow classifier 12, and the like, and the packet classifier 11 converts a received packet into an active packet or a general IP packet. The flow classifier 12 classifies a packet classified as an active packet in the packet classifier 11 into a corresponding flow packet according to whether or not a demox key is matched as described later. This packet classification and flow classification process will be described in more detail in the flowchart of FIG. 2.

한편, 수행환경 블록(200)은 일종의 가상머신(virtual machine)으로써, 노드 운영체제 블록(100)으로부터의 액티브 패킷을 실행 코드를 통해 처리한 후, 그 결과 데이터를 능동응용 블록(300)이나 노드 운영체제 블록(100)으로 전달하는 기능을 수행한다. 즉, 수행환경 블록(200)은 노드 운영체제 블록(100)으로부터 제공되는 액티브 패킷의 패킷 헤더의 타입 값을 검출하고, 검출되는 타입 값에 따라 수신 패킷을 해당 플로우 패킷으로 분류하는 기능을 수행한다.On the other hand, the execution environment block 200 is a virtual machine (virtual machine), after processing the active packet from the node operating system block 100 through the execution code, and as a result the data to the active application block 300 or node operating system Perform the function of passing to block 100. That is, the execution environment block 200 detects the type value of the packet header of the active packet provided from the node operating system block 100 and classifies the received packet into the corresponding flow packet according to the detected type value.

이하, 상술한 구성과 함께, 본 발명의 바람직한 실시예에 따른 액티브 네트워크 모델에서의 패킷 분류 과정을 첨부한 도 2의 흐름도를 참조하여 상세하게 설명한다.Hereinafter, the packet classification process in the active network model according to the preferred embodiment of the present invention will be described in detail with reference to the flowchart of FIG. 2.

먼저, 패킷 분류기(11)로 임의의 패킷이 수신되면(S200), 패킷 분류기(11)는 단계(S202)로 진행하여 패킷 내의 'ANEP' 헤더의 유무에 따라 수신되는 패킷을 액티브 패킷으로 구분할 것인지, 일반 IP 패킷으로 구분할 것인지를 판단한다.First, if any packet is received by the packet classifier 11 (S200), the packet classifier 11 proceeds to step S202 to determine whether the received packet is classified as an active packet according to the presence or absence of an 'ANEP' header in the packet. In this case, it is determined whether to classify as a general IP packet.

즉, IP 패킷 헤더의 프로토콜 필드가 액티브 패킷임을 나타내는 값으로 설정되어 있지 않으면 패킷 분류기(11)는 단계(S204)로 진행하여 해당 패킷을 일반 IP 패킷으로 간주하며, IP 패킷 헤더의 프로토콜 필드가 액티브 패킷임을 나타내는 값으로 설정되어 있으면 패킷 분류기(11)는 단계(S206)로 진행하여 해당 패킷을 액티브 패킷으로 간주하는 것이다.That is, if the protocol field of the IP packet header is not set to a value indicating that it is an active packet, the packet classifier 11 proceeds to step S204 to consider the packet as a general IP packet, and the protocol field of the IP packet header is active. If it is set to a value indicating that a packet, the packet classifier 11 proceeds to step S206 to regard the packet as an active packet.

이후, 단계(S208)에서는 액티브 패킷으로 분류된 패킷이 플로우 분류기(12)로 제공되어 플로우 분류 과정을 수행하고 단계(S210)로 진행한다.Thereafter, in step S208, the packet classified as the active packet is provided to the flow classifier 12 to perform a flow classification process and proceed to step S210.

단계(S210)에서 플로우 분류기(12)는 해당 패킷의 디먹스 키 필드(demux key field)를 참조하여 해당 액티브 패킷이 전달되어야 하는 수행환경이나 플로우를 선택한다.In step S210, the flow classifier 12 selects an execution environment or a flow to which the corresponding active packet should be delivered by referring to a demux key field of the corresponding packet.

즉, 플로우 분류기(12)는 단계(S210)에서 디먹스 키 필드가 일치하는지를 판단하고, 디먹스 키 필드가 일치하는 경우에는 단계(S212)로 진행하여 해당 패킷을 'Aflow' 패킷으로 분류한 후 해당 플로우의 입력 채널에 추가하며, 디먹스 키 필드가 일치하지 않는 경우에는 단계(S214)로 진행한다.That is, the flow classifier 12 determines whether the demux key field matches in step S210, and if the demux key field matches, classifies the packet into an 'Aflow' packet after proceeding to step S212. If the demux key field does not match, the flow proceeds to step S214.

단계(S214)부터는 수행환경 블록(200)내에서 처리되는 과정들이다.From step S214, the processes are performed in the execution environment block 200.

단계(S214)에서 수행환경 블록(200)은 액티브 패킷 헤더의 타입 필드(type field)를 검출하고 단계(S216)로 진행하여 그에 따른 판단 과정을 수행한다.In step S214, the execution environment block 200 detects a type field of the active packet header, and proceeds to step S216 to perform a determination process accordingly.

단계(S216)에서의 판단 결과, 검출되는 액티브 패킷 헤더의 타입 값이 '0'인 경우에는 단계(S218)로 진행하여 해당 패킷을 'sigAflow' 패킷으로 분류한다.As a result of the determination in step S216, if the type value of the detected active packet header is '0', the process proceeds to step S218 and classifies the packet as a 'sigAflow' packet.

만일, 검출되는 액티브 패킷 헤더의 타입 값이 '2'인 경우에는(S220), 수행환경 블록(200)은 단계(S222)로 진행하여 해당 패킷을 'non-Aflow' 패킷으로 분류한다.If the type value of the detected active packet header is '2' (S220), the execution environment block 200 proceeds to step S222 and classifies the packet as a 'non-Aflow' packet.

도 3은 이러한 도 2의 플로우 분류 결과로서, 'sigAflow' 패킷 분류시 그 처리 과정을 설명하기 위한 도면이다.FIG. 3 is a flow classification result of FIG. 2 illustrating a processing process when classifying a 'sigAflow' packet.

먼저, 'sigAflow' 패킷은 'Aflow' 패킷에 대한 플로우를 생성하고 종료하는데 필요한 정보와 센서 적재시 필요한 정보를 전달하기 위해 사용되는 패킷이다. 따라서, 'sigAflow' 패킷은 기본적으로 'Aflow' 패킷에 대한 플로우를 생성/종료 요청을 명시하고, 해당 'Aflow' 패킷을 구별하기 위해 필요한 정보와 해당 'Aflow' 패킷의 코드가 위치한 주소 정보를 포함한다.First, a 'sigAflow' packet is a packet used to deliver information necessary for generating and terminating a flow for an 'Aflow' packet and information necessary for loading a sensor. Therefore, the 'sigAflow' packet basically specifies a request to create / terminate a flow for the 'Aflow' packet, and includes information necessary to distinguish the 'Aflow' packet and address information where the code of the 'Aflow' packet is located. do.

'sigAflow' 패킷은 선택적으로 코드 적재 과정의 효율성을 위해 패킷의 데이터 부분에 다른 노드가 필요로 할만한 일반적인 액티브 코드를 포함시킴으로써 코드 요청 횟수와 비용을 줄일 수 있다.A 'sigAflow' packet can reduce the number and cost of code requests by optionally including the common active code that other nodes may need in the data portion of the packet for efficient code loading.

플로우 생성을 위한 'sigAflow' 패킷이 노드 운영체제 블록(100)을 통해 수행환경 블록(200)에 도달하면, 수행환경 블록(200)내의 수행환경 제어기(21)는 해당 'Aflow' 패킷을 위한 하나의 플로우를 생성하고 필요한 자원을 노드 운영체제 블록(100)으로 요청한다.When the 'sigAflow' packet for generating the flow reaches the execution environment block 200 through the node operating system block 100, the execution environment controller 21 in the execution environment block 200 generates a single packet for the corresponding 'Aflow' packet. Create a flow and request the necessary resources to the node operating system block 100.

이때, 'Aflow' 패킷을 위한 플로우 생성은 'Aflow' 패킷의 소스 노드에서 목적지 노드까지의 중간 노드에서 모두 이루어져야 하는데, 플로우 종료를 위한 'sigAflow' 패킷이 도달하면 해당 플로우를 종료시키고 할당되었던 자원들을 해제한다.At this time, the flow generation for the 'Aflow' packet should be performed at all intermediate nodes from the source node to the destination node of the 'Aflow' packet. When the 'sigAflow' packet for ending the flow arrives, the flow is terminated and the allocated resources are allocated. Release it.

도 4는 상술한 도 2의 플로우 분류 결과로서, 'Aflow' 패킷 분류시 그 처리 과정을 설명하기 위한 도면이다.FIG. 4 is a diagram illustrating a processing process when classifying an 'Aflow' packet as the flow classification result of FIG. 2 described above.

먼저, 'Aflow' 패킷은 시간, 자원할당, 데이터 공유 등의 상호 연관성을 유지하는 측면에서 능동응용 블록(300)에 의해 생성되는 패킷이다.First, an 'Aflow' packet is a packet generated by the active application block 300 in terms of maintaining correlation with time, resource allocation, data sharing, and the like.

이러한 상호 연관성을 유지하기 위해서는 능동응용 블록(300)의 소스 노드에서 목적지 노드까지의 중간 액티브 노드에서 이러한 패킷의 처리와 실행 결과에 대한 상태 정보를 유지해야 한다. 즉, 중간 액티브 노드에서 해당 'Aflow' 패킷에 대한 플로우를 생성하고 'Aflow'가 종료될 때까지 이를 지속적으로 유지해야 한다.In order to maintain such correlation, state information on the processing and execution result of these packets should be maintained at an intermediate active node from the source node to the destination node of the active application block 300. In other words, the intermediate active node must create a flow for the corresponding 'Aflow' packet and keep it continuously until the 'Aflow' ends.

이를 위해 상술한 도 3에서 설명한 바 있는 'sigAflow' 패킷을 사용한다.To this end, a 'sigAflow' packet as described above with reference to FIG. 3 is used.

'sigAflow' 패킷을 통해 소스에서 목적지까지의 중간 노드들에서 플로우가 생성된 후에 'Aflow'에 속한 패킷들이 전달되기 때문에, 'Aflow'에 속한 패킷을 받은 노드는 패킷 분류기(11)를 통해 빠르게 패킷을 분류하고, 기생성된 플로우를 사용해 처리하기 때문에 고속의 패킷 처리가 가능하다.Since the packets belonging to 'Aflow' are delivered after the flow is generated at the intermediate nodes from the source to the destination through the 'sigAflow' packet, the node receiving the packet belonging to the 'Aflow' is quickly transmitted through the packet classifier 11. Classifies and processes them using the pre-generated flow, thus enabling fast packet processing.

또한, 'sigAflow' 패킷에서 패킷의 디먹스 키와 코드 적재에 필요한 정보를제공하기 때문에, 'Aflow' 패킷 헤더에는 단지 기본적으로 필요한 버전(version)과 타입 필드만 존재한다.In addition, since the 'sigAflow' packet provides information for demux key and code loading of the packet, only the required version and type fields exist in the 'Aflow' packet header.

따라서, 'Aflow' 패킷은 고속의 패킷 처리와 QoS(Quality of Service) 보장을 요구하는 실시간 응용에 적합하다.Thus, 'Aflow' packets are suitable for real-time applications that require fast packet processing and quality of service (QoS) guarantees.

'Aflow' 패킷은 패킷 분류 과정을 거쳐 노드에 기설정된 플로우의 입력 채널로 전달된다. 패킷은 기설정된 플로우의 자원을 이용해 처리되며, 실행 결과를 노드 자신의 능동응용 블록(300)이나 다음 액티브 노드로 전달한다.An 'Aflow' packet is delivered to an input channel of a preset flow to a node through a packet classification process. The packet is processed using a resource of a predetermined flow, and delivers the execution result to the node's own active application block 300 or the next active node.

도 5는 도 2의 플로우 분류 결과로서, 'non-Aflow' 패킷 분류시 그 처리 과정을 설명하기 위한 도면이다.FIG. 5 is a diagram illustrating a processing process when classifying a non-Aflow packet as a flow classification result of FIG. 2.

먼저, 'non-Aflow' 패킷은 같은 능동 응용에 의해 생성되는 다른 액티브 패킷들과는 무관하게 독자적으로 전송 및 처리되는 패킷이다. 따라서, 액티브 노드에서 이들간의 상호 연관성을 지속할 필요가 없기 때문에, 노드에서는 'non-Aflow' 패킷을 위해 특정 플로우를 지속시킬 필요가 없으며, 또한 패킷 분류기(11)에서 이러한 패킷들을 특정 플로우로 전달하도록 할 필요가 없다.First, a 'non-Aflow' packet is a packet that is transmitted and processed independently of other active packets generated by the same active application. Therefore, since there is no need for the active node to maintain their interrelationships, the node does not need to continue specific flows for 'non-Aflow' packets, and also forwards these packets to specific flows in the packet classifier 11. You don't have to.

따라서, 'non-Aflow' 패킷은 패킷의 경로가 일정하지 않고, 패킷의 전달 주기가 지속적이지 않은 액티브 응용에 적합하다.Therefore, the 'non-Aflow' packet is suitable for active applications in which the path of the packet is not constant and the delivery period of the packet is not continuous.

이러한 'non-Aflow' 패킷은 패킷 분류기(12)를 통해 패킷 분류 과정을 거쳐 수행환경 블록(200)으로 전달된다. 'non-Aflow' 패킷 또한 'Aflow' 패킷과 마찬가지로 액티브 코드 수행을 필요로 하지만, 미리 설정된 자원이 없기 때문에 수행 환경은 일시적인 플로우를 생성하고 해당 'non-Aflow' 패킷을 처리한 후 곧바로 플로우를 종료시킨다.The 'non-Aflow' packet is delivered to the execution environment block 200 through a packet classification process through the packet classifier 12. Like the 'Aflow' packet, the 'non-Aflow' packet requires active code execution, but because there is no preset resource, the execution environment generates a temporary flow and terminates the flow immediately after processing the corresponding 'non-Aflow' packet. Let's do it.

즉, 본 발명은 네트워크 망을 통해 액티브 노드로 전송된 패킷들을 액티브 패킷과 일반 IP 패킷으로 분류한 후 분류된 액티브 패킷을 액티브 노드내의 해당 수행환경으로 분배할 때, 패킷 처리의 고속화 및 실시간성 측면에서 패킷의 전달 주기의 지속성 여부에 따라 'Aflow' 패킷과 'non-Aflow' 패킷의 두 가지 경우와, 패킷의 전달이 지속적으로 유지되어야 하는 경우를 위한 부가적인 'sigAflow' 패킷의 경우를 고려함으로써, 액티브 노드가 액티브 패킷을 실행하기 위해서 필요한 자원들을 액티브 노드에 동적으로 적재하도록 구현한 것이다.That is, the present invention classifies the packets transmitted to the active node through the network into the active packet and the general IP packet, and then distributes the classified active packet to the corresponding execution environment in the active node. By considering the two cases of 'Aflow' and 'non-Aflow' packets according to whether the packet delivery period is persistent, and the case of additional 'sigAflow' packets for the case where packet delivery should be maintained continuously In other words, the active node dynamically loads the resources needed to execute the active packet.

이상, 본 발명을 실시예에 근거하여 구체적으로 설명하였지만, 본 발명은 이러한 실시예에 한정되는 것이 아니라, 그 요지를 벗어나지 않는 범위내에서 여러 가지 변형이 가능한 것은 물론이다.As mentioned above, although this invention was concretely demonstrated based on the Example, this invention is not limited to this Example, Of course, various changes are possible within the range which does not deviate from the summary.

이상 설명한 바와 같이 본 발명에 따르면, 지속적이고 빈번하게 요구되는 네트워크 서비스 및 프로그램은 액티브 노드에 미리 장착해둠으로써 실제로 서비스를 요구하는 패킷이 액티브 노드에 도착하는 경우 해당 패킷을 고속으로 처리할 수 있는 효과가 있다. 또한, 지속적으로 사용하지 않는 서비스와 프로그램 코드들을 네트워크 상의 액티브 노드에 동적으로 적재하고 확장하게 함으로써 액티브 노드의 경량화, 네트워크 환경의 유연화를 추구할 수 있는 네트워크 환경을 구축할 수 있는 효과가 있다.As described above, according to the present invention, a network service and a program that is continuously and frequently required are pre-installed in an active node, so that when a packet actually requesting a service arrives at the active node, the packet can be processed at high speed. It works. In addition, by dynamically loading and expanding services and program codes that are not continuously used on the active node on the network, it is possible to construct a network environment that can pursue the lightweighting of the active node and the flexibility of the network environment.

Claims (6)

혼합형 액티브 네트워크 모델에 있어서,In the mixed active network model, 네트워크 디바이스로부터 수신되는 액티브 패킷을 분배하고, 액티브 패킷으로 분류된 패킷을 디먹스 키(demux key) 매칭 유무에 따라 해당 플로우 패킷으로 분류하며, 임의의 노드 자원을 할당, 제어 및 반환하는 노드 운영체제 블록과;Node operating system block that distributes active packets received from network devices, classifies packets classified as active packets into corresponding flow packets according to the presence or absence of demux key matching, and allocates, controls, and returns arbitrary node resources. and; 상기 노드 운영체제 블록으로부터 제공되는 액티브 패킷의 패킷 헤더의 타입 값을 검출하고, 검출되는 타입 값에 따라 수신 패킷을 해당 플로우 패킷으로 분류하는 수행환경 블록을 구비하는 것을 특징으로 하는 혼합형 액티브 네트워크 모델.And an execution environment block for detecting a type value of a packet header of an active packet provided from the node operating system block, and classifying a received packet into a corresponding flow packet according to the detected type value. 제 1 항에 있어서,The method of claim 1, 상기 분류되는 플로우 패킷은,The classified flow packet is, 'Aflow' 패킷, 'sigAflow' 패킷, 'non-Aflow' 패킷 중 어느 하나인 것을 특징으로 하는 혼합형 액티브 네트워크 모델.Hybrid active network model, characterized in that any one of the 'Aflow' packet, 'sigAflow' packet, 'non-Aflow' packet. 패킷 분류기, 플로우 분류기를 포함하는 노드 운영체제 블록과, 액티브 패킷 헤더의 타입 필드(type field)를 검출하는 수행환경 블록을 각각 구비하며, 네트워크 망을 통해 액티브 노드로 전송되는 패킷을 수신하는 액티브 네트워크 모델에서의 패킷 처리 방법에 있어서,An active network model including a node classifier block including a packet classifier and a flow classifier, and an execution environment block for detecting a type field of an active packet header, and receiving a packet transmitted to an active node through a network. In the packet processing method in 상기 패킷 분류기로 임의의 패킷이 수신되면, 수신되는 패킷 헤더의 프로토콜 필드가 액티브 패킷임을 나타내는 값으로 설정되어 있는지를 판단하는 단계와;If an arbitrary packet is received by the packet classifier, determining whether a protocol field of the received packet header is set to a value indicating that the packet is an active packet; 상기 판단 결과, 상기 수신 패킷 헤더의 프로토콜 필드가 액티브 패킷임을 나타내는 값으로 설정되어 있으면, 상기 패킷 분류기에서 상기 수신 패킷을 액티브 패킷으로 구분하고, 상기 패킷을 상기 플로우 분류기로 제공하는 단계와;If the protocol field of the received packet header is set to a value indicating that the packet is an active packet, the packet classifier classifies the received packet into an active packet and provides the packet to the flow classifier; 상기 플로우 분류기에서 상기 패킷의 디먹스 키 필드가 일치하는지를 판단하고, 디먹스 키 필드가 일치하는 경우에 상기 패킷을 'Aflow' 패킷으로 분류하는 단계와;Determining, by the flow classifier, whether the demux key field of the packet matches, and classifying the packet as an 'Aflow' packet when the demux key field matches; 상기 판단 결과, 상기 디먹스 키 필드가 일치하지 않는 경우에 상기 패킷을 상기 수행환경 블록으로 제공하여 상기 패킷 헤더의 타입 필드를 검출하는 단계와;If the demux key field does not match, providing the packet to the execution environment block to detect a type field of the packet header; 상기 수행환경 블록에서 검출되는 패킷 헤더의 타입 값이 '0'인 경우에 상기 패킷을 'sigAflow' 패킷으로 분류하는 단계와;Classifying the packet as a 'sigAflow' packet when a type value of a packet header detected in the execution environment block is '0'; 상기 수행환경 블록에서 검출되는 패킷 헤더의 타입 값이 '2'인 경우에 상기 패킷을 'non-Aflow' 패킷으로 분류하는 단계를 포함하는 것을 특징으로 하는 액티브 네트워크 모델에서의 패킷 처리 방법.And classifying the packet as a 'non-Aflow' packet when the type value of the packet header detected in the execution environment block is '2'. 제 3 항에 있어서,The method of claim 3, wherein 상기 'Aflow' 패킷은,The 'Aflow' packet is, 시간, 자원할당, 데이터 공유 등의 상호 연관성을 유지하면서 고속의 패킷 처리가 가능한 것을 특징으로 하는 액티브 네트워크 모델에서의 패킷 처리 방법.A packet processing method in an active network model, characterized in that high-speed packet processing is possible while maintaining correlation with time, resource allocation, and data sharing. 제 3 항에 있어서,The method of claim 3, wherein 상기 'sigAflow' 패킷은,The 'sigAflow' packet is, 상기 'Aflow' 패킷에 대한 플로우를 생성하고 종료하는데 필요한 정보와 센서 적재시 필요한 정보를 전달하기 위해 사용되는 패킷인 것을 특징으로 하는 액티브 네트워크 모델에서의 패킷 처리 방법.The packet processing method of the active network model, characterized in that the packet used to deliver the information necessary for generating and terminating the flow for the 'Aflow' packet and the sensor loading information. 제 3 항에 있어서,The method of claim 3, wherein 상기 'non-Aflow' 패킷은 독자적으로 전송 및 처리되는 패킷으로서, 패킷의 경로가 일정하지 않고 패킷의 전달 주기가 지속적이지 않은 액티브 응용에 적용되는 것을 특징으로 하는 액티브 네트워크 모델에서의 패킷 처리 방법.The 'non-Aflow' packet is a packet which is transmitted and processed independently, and is applied to an active application in which the path of the packet is not constant and the delivery period of the packet is not continuous.
KR10-2001-0086925A 2001-12-28 2001-12-28 Method for loading programs in the active network model and hybrid active network node KR100439185B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0086925A KR100439185B1 (en) 2001-12-28 2001-12-28 Method for loading programs in the active network model and hybrid active network node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0086925A KR100439185B1 (en) 2001-12-28 2001-12-28 Method for loading programs in the active network model and hybrid active network node

Publications (2)

Publication Number Publication Date
KR20030056651A KR20030056651A (en) 2003-07-04
KR100439185B1 true KR100439185B1 (en) 2004-07-05

Family

ID=32214831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0086925A KR100439185B1 (en) 2001-12-28 2001-12-28 Method for loading programs in the active network model and hybrid active network node

Country Status (1)

Country Link
KR (1) KR100439185B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970059952A (en) * 1996-01-20 1997-08-12 김광호 Distributed Multimedia Server
JP2000209228A (en) * 1999-01-19 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> Method for transferring ip packets
WO2001033774A1 (en) * 1999-10-29 2001-05-10 Advanced Micro Devices, Inc. Apparatus and method for identifying data packet types in real time on a network switch port
US20010053150A1 (en) * 2000-05-24 2001-12-20 David Clear Packet processor with programmable application logic

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970059952A (en) * 1996-01-20 1997-08-12 김광호 Distributed Multimedia Server
JP2000209228A (en) * 1999-01-19 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> Method for transferring ip packets
WO2001033774A1 (en) * 1999-10-29 2001-05-10 Advanced Micro Devices, Inc. Apparatus and method for identifying data packet types in real time on a network switch port
US20010053150A1 (en) * 2000-05-24 2001-12-20 David Clear Packet processor with programmable application logic

Also Published As

Publication number Publication date
KR20030056651A (en) 2003-07-04

Similar Documents

Publication Publication Date Title
JP6592595B2 (en) Method and system for managing data traffic in a computing network
RU2236761C2 (en) Data structure for implementing traffic design function in label based multiprotocol switching system
US6549946B1 (en) Apparatus and method for telecommunication routing and parameter negotiation
CN104219127B (en) A kind of creation method and equipment of virtual network example
US6556544B1 (en) Method and system for provisioning network resources for dynamic multicast groups
US7233569B1 (en) Tunnel reroute
US20010039576A1 (en) Network policy transmission method from policy server to network node
US20030074482A1 (en) Composable messaging protocol
JP2005529545A (en) Application of session service based on packet flow
KR20050095841A (en) An apparatus and method for configuring data plane behavior on network forwarding elements
KR20040062882A (en) Optimizing System Resources
EP1694001A1 (en) Adaptive queue method and system for realtime packet transfer
CN106789152A (en) Processor extended method and device based on many queue network interface cards
KR100487713B1 (en) Method for defining and controlling the overall behavior of a network processor device
Banaie et al. Performance analysis of multithreaded IoT gateway
Davoli et al. Implementation of service function chaining control plane through OpenFlow
KR102444813B1 (en) Method of controlling traffic policies from a security module in a mobile terminal
KR100854262B1 (en) Interprocessor communication protocol
KR20070016452A (en) Apparatus and method for resource management in portable internet network
FI112896B (en) Control of application quality optimizations for service quality
KR100439185B1 (en) Method for loading programs in the active network model and hybrid active network node
CN106789671B (en) Service message forwarding method and device
CN1540936B (en) Method for controlling priority for transmitting message based on virtual local area network
KR100585934B1 (en) Method of Dynamic Management of Traffic Conditioner Parameter and Table of Class of Service on Router
US20080298366A1 (en) Agnostic Network Architecture

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120611

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee