KR101109874B1 - Multi-processing system for high efficient unified thread management device and method thereof - Google Patents

Multi-processing system for high efficient unified thread management device and method thereof Download PDF

Info

Publication number
KR101109874B1
KR101109874B1 KR1020090070704A KR20090070704A KR101109874B1 KR 101109874 B1 KR101109874 B1 KR 101109874B1 KR 1020090070704 A KR1020090070704 A KR 1020090070704A KR 20090070704 A KR20090070704 A KR 20090070704A KR 101109874 B1 KR101109874 B1 KR 101109874B1
Authority
KR
South Korea
Prior art keywords
module
processing
cores
core
task
Prior art date
Application number
KR1020090070704A
Other languages
Korean (ko)
Other versions
KR20110012825A (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 KR1020090070704A priority Critical patent/KR101109874B1/en
Publication of KR20110012825A publication Critical patent/KR20110012825A/en
Application granted granted Critical
Publication of KR101109874B1 publication Critical patent/KR101109874B1/en

Links

Images

Classifications

    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

고성능 UTM 장비를 위한 다중 프로세싱 시스템 및 그 방법을 개시한다. 다중 프로세싱 시스템은 중앙처리장치 내에 연산 처리를 담당하는 코어(core)를 두 개 이상 포함하고, 네트워크 드라이버에 의해 유입된 패킷에 대한 복수의 작업을 상기 코어를 통해 정해진 절차에 따라 처리하되, 상기 작업의 기능 별로 상기 코어가 구분되어 각 코어를 통해 해당 작업을 처리한다.Disclosed are a multiple processing system and method for high performance UTM equipment. The multi-processing system includes two or more cores in charge of arithmetic processing in a central processing unit, and processes a plurality of operations on packets introduced by a network driver according to a predetermined procedure through the cores. The cores are divided according to their functions to process corresponding tasks through each core.

UTM(Unified Thread Management), 다중 프로세싱 시스템(SMP, Symmetric Multi Processing), 코어, 멀티코어 프로세서 Unified Thread Management (UTM), Symmetric Multi Processing (SMP), Core, Multicore Processor

Description

고성능 UTM 장비를 위한 다중 프로세싱 시스템 및 그 방법{MULTI-PROCESSING SYSTEM FOR HIGH EFFICIENT UNIFIED THREAD MANAGEMENT DEVICE AND METHOD THEREOF}MULTI-PROCESSING SYSTEM FOR HIGH EFFICIENT UNIFIED THREAD MANAGEMENT DEVICE AND METHOD THEREOF

본 발명의 실시예들은 인터넷 연결로 인한 위협에 대비하여 여러 보안 기능을 하나의 장비로 대응하는 UTM(unified thread management) 장비에 있어 위협의 지속적인 변화에 장비의 성능을 보장하기 위한 소프트웨어 구조를 제공하는 UTM 장비의 다중 프로세싱 시스템 및 그 방법에 관한 것이다.Embodiments of the present invention provide a software structure for guaranteeing the performance of the equipment against the continuous change of threat in the unified thread management (UTM) equipment that responds to multiple security functions as a single device in preparation for the threat caused by the Internet connection A multiple processing system and method thereof for UTM equipment.

최근 중앙처리장치(CPU)의 연산 처리 속도가 급격히 높아지고, 메모리(Memory)의 저장 용량이 기하급수적으로 늘어나면서 컴퓨터의 성능이 매우 향상되었다. 하지만 메모리의 성능 향상과는 다르게 중앙처리장치의 연산 처리 속도는 선형적으로 증가시키기 힘든 특성이 있다.Recently, the computational processing speed of the CPU has sharply increased, and the storage capacity of the memory has increased exponentially, which greatly improves the performance of the computer. However, unlike memory performance improvement, the processing speed of the central processing unit is difficult to increase linearly.

최근에는 하나의 중앙처리장치의 연산 처리 속도 향상에 의존하지 않고 두 개 이상의 중앙처리장치(CPU)를 하나의 컴퓨터에 연결하거나, 하나의 중앙처리장치(CPU) 안에 두 개 이상의 코어(Core)가 포함된 구조의 SMP(Symmetric Multi Processing) 시스템을 사용하게 되었다.Recently, two or more CPUs can be connected to one computer, or two or more cores in one CPU, without depending on the processing speed of one CPU. A Symmetric Multi Processing (SMP) system with embedded architecture was used.

한편, 인터넷에서의 해킹이 갈수록 다양화, 복합화 되어 기존의 단일 기능 보안장비를 직렬로 연결하여 위협을 막는 방식은 관리비용의 증가, 보안의 문제점을 안고 있다. 따라서, 여러 보안 기능(방화벽(firewall), IPS(intrusion prevention system), VPN(virtual private network), Anti-Virus, Anti-Spam, Anti-DDoS 등)을 하나의 장비로 대응하는 UTM(Unified Thread Management) 장비를 필요로 한다. 그러나, 위협의 다양성과 이질성, 지속적인 변화로 인해 하드웨어 가속기를 적용할 수 없으며 소프트웨어로 처리할 수 밖에 없고 소프트웨어 처리는 필연적으로 성능의 한계를 갖고 있다.On the other hand, the hacking on the Internet is becoming more and more diversified and complex, and the existing single function security equipment is connected in series to prevent threats, which increases management costs and security problems. Therefore, UTM (Unified Thread Management) that supports multiple security functions (firewall, intrusion prevention system (IPS), virtual private network (VPN), Anti-Virus, Anti-Spam, Anti-DDoS, etc.) as a single device Requires equipment. However, due to the variety of threats, heterogeneity, and continuous changes, hardware accelerators cannot be applied, must be handled by software, and software processing inevitably has performance limitations.

중앙처리장치 내에 코어가 다수 내장된 구조의 멀티코어 프로세서가 등장하게 되면서 SMP 시스템 성능은 지속적으로 향상되고 있어 SMP 시스템 기반의 고성능 UTM 제품이 가능하게 되었다. 그러나, SMP 시스템에서 커널 기반 소프트웨어는 동기화라는 구조적 문제를 안고 있으며, 코어 수가 증가할수록 문제의 심각성은 더해지며, 리소스 취득 오버헤드로 인해 성능이 떨어지게 된다.With the advent of multicore processors with multiple cores in the central processing unit, SMP system performance continues to improve, enabling high-performance UTM products based on SMP systems. In SMP systems, however, kernel-based software suffers from a structural problem called synchronization, and as the number of cores increases, the severity of the problem increases and performance decreases due to resource acquisition overhead.

도 1은 SMP 시스템에서 종래의 UTM 소프트웨어 구조를 설명하기 위한 것으로 쿼드 코어(quad core) 투웨이(two-way) SMP 시스템의 일례를 도시한 것이다.1 illustrates an example of a conventional UTM software architecture in an SMP system and illustrates an example of a quad core two-way SMP system.

도 1을 참조하면, 각 코어(core#0~core#7)는 네트워크 드라이버(110)에 의해 유입된 패킷을 정해진 절차에 따라 처리한다. 각 보안 모듈에서는 예를 들어, 방화벽 모듈(120)의 세션 테이블(130), IPS 모듈(140)의 딥 패킷 검사(Deep-Packet Inspection)를 위한 DPI 테이블(150), VPN 모듈(160)의 보안 처리를 위한 SA 테이블(170) 등을 전역(global) 변수로 두고 있으며, 이러한 전역 변수는 여러 프로세 서에 접근하기 때문에 동기화 문제가 발생한다.Referring to FIG. 1, each core core # 0 to core # 7 processes a packet introduced by the network driver 110 according to a predetermined procedure. In each security module, for example, the session table 130 of the firewall module 120, the DPI table 150 for deep packet inspection of the IPS module 140, and the security of the VPN module 160. The SA table 170 for processing is set as a global variable, and since such a global variable accesses several processors, a synchronization problem occurs.

즉, 업데이트되는 전역 변수는 오직 하나의 프로세서에만 허용되며 나머지 프로세서는 "busy-wait" 상태로 대기하게 된다.In other words, the global variable being updated is only allowed to one processor and the other processor waits in the "busy-wait" state.

프로세서 개수Number of processors 2^n2 ^ n n / 2^n (성공율)n / 2 ^ n (success rate) 22 44 0.50.5 44 1616 0.250.25 66 6464 0.093750.09375 88 256256 0.031250.03125

표 1에서 알 수 있듯이 리소스 취득에 경쟁하는 프로세서가 n개 일 경우 요청 프로세서가 1개일 때 성공하게 되며 나머지 경우 리소스 요청 프로세서가 2개, 3개, …, n개 일 경우 모두 실패하게 된다.As Table 1 shows, if there are n processors competing for resource acquisition, it succeeds when there is one request processor. In other cases, two, three,… In case of n, all fail.

이러한 방식은 전형적인 SMP 운영체제 동기화 방법으로 프로세서가 비교적 적을 때(프로세서 수가 4개 이하인 경우) 효과적인 방법이나 프로세서가 많아짐에 따라 리소스 취득 실패율이 지수적으로 증가하여 시스템 전체 성능이 현격하게 떨어짐을 알 수 있다.This is a typical SMP operating system synchronization method, which is effective when the number of processors is relatively small (less than 4 processors) or as the number of processors increases, the resource acquisition failure rate increases exponentially, resulting in a significant drop in the overall system performance. .

본 발명의 일실시예는 인터넷 연결로 인한 위협의 다양성과 이질성, 지속적인 변화에 효과적으로 대응할 수 있는 UTM 소프트웨어 구조를 위한 다중 프로세싱 시스템 및 그 방법을 제공한다.One embodiment of the present invention provides a multi-processing system and method for a UTM software architecture that can effectively respond to the diversity, heterogeneity, and continuous change of threats caused by Internet connectivity.

본 발명의 일실시예는 UTM 장비의 성능 개선을 위하여 SMP 시스템에서의 동기화 문제를 완화시킨 하이브리드 모델의 소프트웨어 구조를 가진 다중 프로세싱 시스템 및 그 방법을 제공한다.One embodiment of the present invention provides a multiple processing system and method having a hybrid model software structure that mitigates the synchronization problem in the SMP system to improve the performance of the UTM equipment.

본 발명의 일실시예에 따른 다중 프로세싱 시스템은 중앙처리장치 내에 연산 처리를 담당하는 코어(core)를 두 개 이상 포함하고, 네트워크 드라이버에 의해 유입된 패킷에 대한 복수의 작업을 상기 코어를 통해 정해진 절차에 따라 처리하되, 상기 작업의 기능 별로 상기 코어가 구분되어 각 코어를 통해 해당 작업을 처리한다.A multi-processing system according to an embodiment of the present invention includes two or more cores in charge of arithmetic processing in a central processing unit, and determines a plurality of operations on packets introduced by a network driver through the cores. Process according to the procedure, the core is divided by function of the task to process the task through each core.

본 발명의 일실시예에 따른 다중 프로세싱 방법은 중앙처리장치 내에 연산 처리를 담당하는 코어를 두 개 이상 포함한 다중 프로세싱 시스템의 다중 프로세싱 방법에 있어서, 네트워크 드라이버에 의해 유입된 패킷에 대한 복수의 작업을 상기 코어를 통해 정해진 절차에 따라 처리하는 단계를 포함하고, 상기 코어는 상기 작업의 기능 별로 구분되고 상기 구분된 코어 간에 큐가 추가되는 것으로, 상기 복수의 작업을 처리하는 단계는, 상기 구분된 각 코어를 통해 해당 작업을 처리하되, 상기 코어 간에 추가된 큐에 이전 코어를 통해 처리된 작업 결과를 저장한 후 이후 코어를 통해 상기 저장된 작업 결과에 따라 다음 절차의 작업을 처리한다.In the multi-processing method according to an embodiment of the present invention, in the multi-processing method of a multi-processing system including two or more cores in charge of arithmetic processing in a central processing unit, a plurality of operations on packets introduced by a network driver are performed. And processing according to a predetermined procedure through the cores, wherein the cores are classified according to the function of the job and a queue is added between the divided cores. The processing of the plurality of jobs includes: The task is processed through the core, but the work result processed through the previous core is stored in the queue added between the cores, and then the work of the next procedure is processed according to the stored work result through the core.

본 발명의 일실시예에서 상기 복수의 작업은 보안 처리를 위한 작업으로 방화벽(firewall) 모듈, IPS(intrusion prevention system) 모듈, VPN(virtual private network) 모듈, 안티-바이러스(Anti-Virus) 모듈, 안티-스팸(Anti-Spam) 모듈, 안티-DDoS(Anti-DDoS) 모듈 중 두 개 이상의 모듈에 해당하는 보안 처리를 위한 작업을 의미할 수 있다.In an embodiment of the present invention, the plurality of operations are operations for security processing, such as a firewall module, an intrusion prevention system (IPS) module, a virtual private network (VPN) module, an anti-virus (Anti-Virus) module, This may mean an operation for security processing corresponding to two or more modules among an anti-spam module and an anti-DDoS module.

본 발명의 일실시예에서 상기 복수의 작업은 커널 레이어에서 처리되도록 구현되어 커널에 대한 방지(lock) 방식이 코스-그레인드 방지(coarse-grained lock)에서 파인 그레인드 방지(fine-grained lock) 방식으로 구현된다.In an embodiment of the present invention, the plurality of operations are implemented to be processed in the kernel layer so that the lock scheme for the kernel is fine-grained lock in coarse-grained lock. Is implemented in a way.

본 발명의 일실시예에 따르면, 보안 모듈의 기능 별로 코어를 구분한 UTM 소프트웨어 구조를 통해 인터넷 연결로 인한 위협의 다양성과 이질성, 지속적인 변화에 효과적으로 대비할 수 있어 UTM 성능을 향상시킬 수 있다.According to an embodiment of the present invention, the UTM software structure that divides cores by function of the security module can effectively prepare for the diversity, heterogeneity, and continuous change of threats caused by the Internet connection, thereby improving UTM performance.

본 발명의 일실시예에 따르면, 리소스 취득에 경쟁하는 코어의 수를 줄여 SMP 시스템에서의 동기화 문제를 완화시킴으로써 고성능의 UTM 장비를 구현할 수 있어 UTM 시장을 확보할 수 있다.According to one embodiment of the present invention, by reducing the number of cores competing for resource acquisition to alleviate the synchronization problem in the SMP system can implement a high-performance UTM equipment to secure the UTM market.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. Like reference numerals in the drawings denote like elements.

본 발명의 일실시예에 따른 UTM 장비의 다중 프로세싱 시스템은 각종 보안 모듈의 기능 별로 코어를 구분한 소프트웨어 구조를 제공한다. 본 발명의 일실시예에 따른 다중 프로세싱 방법은 기능 별로 코어가 구분된 소프트웨어 구조의 다중 프로세싱 시스템에 의해 실행될 수 있다.The multi-processing system of the UTM device according to an embodiment of the present invention provides a software structure in which cores are divided according to functions of various security modules. The multiple processing method according to an embodiment of the present invention may be executed by a multiple processing system having a software structure in which cores are divided according to functions.

도 2는 다중 프로세싱 시스템의 구성을 설명하기 위한 도면이다.2 is a diagram for describing a configuration of a multiple processing system.

도 2를 참조하면, 컴퓨터 시스템은 하나의 시스템에 두 개 이상의 중앙처리장치(201)를 연결하여 이용하는 방식을 사용할 수 있다. 이러한 다중 프로세싱 시스템은 두 개 이상의 중앙처리장치(201)와, 중앙처리장치(201)에서 접근 가능한 메모리(203)와, 중앙처리장치(201)에서 공유하는 I/O(입출력) 디바이스(205)와, 중앙처리장치(201)와 메모리(203) 및 I/O 디바이스(205)를 연결하는 브리지(bridge)(207)로 구성된다.Referring to FIG. 2, a computer system may use a method of connecting two or more CPUs 201 to one system. This multiple processing system includes two or more central processing units 201, a memory 203 accessible from the central processing unit 201, and an I / O (input / output) device 205 shared by the central processing unit 201. And a bridge 207 connecting the central processing unit 201 and the memory 203 and the I / O device 205.

상기한 구성의 다중 프로세싱 시스템은 두 개 이상의 중앙처리장치(201)가 하나의 운영체제(operating system)에 의하여 통제되며 운영체제에서 할당하는 일을 대칭적으로 수행한다.In the multiple processing system of the above-described configuration, two or more central processing units 201 are controlled by one operating system and perform symmetrical assignments.

기본적으로 프로세서 성능 향상은 동적 클럭 속도를 높임으로써 얻어질 수 있으나 클럭 속도가 올라감에 따라 시스템의 소비 전력이 문제가 된다. 따라서, 프로세서의 직접도를 높이는 방식으로 동작 전압을 낮춰 프로세서 성능을 향상시키게 된다.Basically, processor performance gains can be achieved by increasing the dynamic clock speed, but as the clock speed increases, the power consumption of the system becomes an issue. Thus, lowering the operating voltage in a manner that increases the directivity of the processor improves processor performance.

도 3은 멀티코어 기반 다중 프로세싱 시스템의 구성을 설명하기 위한 도면 이다.3 is a diagram for describing a configuration of a multicore-based multiprocessing system.

도 3을 참조하면, 컴퓨터 시스템은 하나의 중앙처리장치 안에 연산 처리를 담당하는 코어(310)가 두 개 이상 포함된 중앙처리장치(301)를 이용하는 방식을 사용할 수 있다. 멀티코어는 단일 중앙처리장치(301) 내에 코어(310)를 두 개 이상 내장시킨 것으로 구조적으로 다중 프로세싱 시스템과 동일하다.Referring to FIG. 3, a computer system may use a method of using a central processing unit 301 including two or more cores 310 that perform arithmetic processing in a central processing unit. Multicore is the same as the multiprocessing system in that two or more cores 310 are contained within a single CPU 301.

마찬가지로, 상기한 구성의 다중 프로세싱 시스템은 중앙처리장치(301) 내 두 개 이상의 코어(310)가 하나의 운영체제에 의하여 통제되며 운영체제에서 할당하는 일을 대칭적으로 수행한다.Similarly, the multiple processing system of the above-described configuration symmetrically assigns two or more cores 310 in the central processing unit 301 by one operating system and assigned by the operating system.

컴퓨터 시스템은 메모리, I/O 디바이스, 프로세서 등 내부 여러 자원을 효과적으로 운영하기 위해 운영체제가 필요하다. 도 2와 도 3에 도시한 바와 같이 다중 프로세싱 시스템은 메모리를 공유하기 때문에 운영체제 즉, 커널(kernel) 또한 여러 프로세서에 의해 동시에 실행될 수 있다. 다중 프로세싱 시스템에서 커널 기반 소프트웨어는 동기화 문제가 발생하기 때문에 동기화 오버헤드를 줄이고 프로세서 개수에 비례하여 시스템 성능을 향상시킬 수 있는 커널이 필요하다.Computer systems require an operating system to effectively operate internal resources such as memory, I / O devices, and processors. As shown in Figs. 2 and 3, since the multiple processing systems share memory, an operating system, that is, a kernel, may also be executed simultaneously by multiple processors. Kernel-based software in multiprocessing systems introduces synchronization problems and requires a kernel that can reduce synchronization overhead and improve system performance in proportion to the number of processors.

멀티코어는 단일 중앙처리장치 내에 코어를 많이 내장시킨 것으로 구조적으로 다중 프로세싱 시스템과 동일하므로 커널 입장에서 보면 다중 프로세싱 시스템의 프로세서 개수가 많은 것과 동일하다.Multicore is a core that contains many cores in a single central processing unit. It is structurally identical to a multiprocessing system, and from a kernel perspective, the number of processors in a multiprocessing system is the same.

다중 프로세싱 시스템에서 두 개의 중앙처리장치(제1 중앙처리장치와 제2 중앙처리장치)는 하나의 운영체제의 커널을 공유하면서 수행하기 때문에 제1 중앙처리장치가 커널 내에서 사용되는 주요 커널 변수와 같이 시스템에서 중요한 부 분(Critical Session)에 접근(Access)하는 경우에는 제2 중앙처리장치가 상기 중요한 부분에 접근할 수 없도록 방지 장치(Lock)를 사용한다(단일 중앙처리장치에서 코어를 두 개 이상 내장시킨 소프트웨어 구조 또한 마찬가지다.). 제2 중앙처리장치가 중요한 부분에 접근하기 위해서는 제1 중앙처리장치가 동작을 완료할 때까지 대기해야 하기 때문에, 연산이 늦어질 수 있다. 따라서, 두 개 이상의 중앙처리장치를 이용하거나 코어가 두 개 이상 포함된 단일 중앙처리장치를 이용하는 다중 프로세싱 시스템에 있어서 보다 효과적으로 시스템을 사용하도록 하기 위하여 커널에 대한 방지 장치를 코스-그레인드 방지(coarse-grained lock)에서 파인 그레인드 방지(fine-grained lock) 방식으로 설계한다.In a multiprocessing system, two central processing units (the first and second central processing units) share a single operating system's kernel so that the first central processing unit is the same as the main kernel variables used within the kernel. When accessing critical parts of the system, use a lock to prevent the second central processor from accessing the critical parts (more than one core in a single CPU) The same is true for built-in software). The operation may be delayed because the second central processing unit must wait until the first central processing unit completes the operation in order to access the important portion. Therefore, the coarse prevention mechanism for the kernel can be used to more effectively use the system in a multiple processing system using two or more central processing units or a single central processing unit with two or more cores. Design in fine-grained lock mode.

컴퓨터 시스템에 인터넷이 연결되면서 접근 통제, 서비스 보안, 외부로부터 불법적인 해킹 방지 등 보안의 역할이 점점 다양화 되고 있다. 이는 인터넷 기반 서비스가 고도화 되면서 이를 지원하는 소프트웨어 플랫폼을 필요로 하며 이들 소프트웨어가 매우 복잡하여 잠재적인 취약성을 안고 있어 다양한 보안의 필요성이 제기되는 것이다. 즉, 방화벽, IPS, VPN 등과 같이 용도 별로 특화된 보안 모듈에서 다중 위협을 통합적으로 방어 및 방지하는 UTM 장비를 필요로 한다.As the Internet is connected to computer systems, the role of security is becoming more diversified, including access control, service security, and prevention of illegal hacking from the outside. As Internet-based services are advanced, they need software platforms that support them, and these softwares are so complex that they have potential vulnerabilities, which raises the need for various security. In other words, there is a need for UTM equipment that integrates defense and prevention of multiple threats in application-specific security modules such as firewalls, IPS, and VPNs.

보안 기능에 대한 장비의 성능이 부족할 경우 전문적인 하드웨어 가속기를 사용하여 문제를 해결하는데(예를 들어, 암호화 연산을 위해 하드웨어 기반의 암/복호화 가속기를 사용) 유해 트래픽은 복합적이면서 다양하고 지속적으로 유형이 변하기 때문에 하드웨어 가속기를 적용할 수 없다. 따라서, 보안 기능을 소프트웨어로 처리해야 하며 구현 방식은 2가지(유저(user) 영역 구현 방식, 커널 영역 구 현 방식)로 구분될 수 있다.When equipment lacks security features, specialized hardware accelerators are used to solve the problem (for example, hardware-based encryption / decryption accelerators for cryptographic operations). Hazardous traffic is complex, diverse, and persistent. Because of this change, hardware accelerators cannot be applied. Therefore, security functions must be handled in software, and implementation methods can be divided into two types (user area implementation and kernel area implementation).

도 4는 유저 영역 구현 방식을 설명하기 위한 도면이고, 도 5는 커널 영역 구현 방식을 설명하기 위한 도면이다.FIG. 4 is a diagram illustrating a user region implementation method, and FIG. 5 is a diagram illustrating a kernel region implementation method.

도 4를 참조하면, 유저 영역에서 UTM 보안 기능을 구현하는 방식은 UTM 장비의 각 보안 기능을 어플리케이션 영역(401)에서 작성하는 방법으로 초기 프락시 기반 방화벽에서 많이 사용된 방식이다. 유저 영역 구현 방식은 개발 및 디버깅이 용이하나 네트워크 드라이버를 거쳐 수신되는 모든 패킷이 커널에서 어플리케이션 영역(401)으로 복사되는 오버헤드로 인해 고성능을 기대하기 어렵다.Referring to FIG. 4, a method of implementing a UTM security function in a user area is a method used in an initial proxy-based firewall as a method of creating each security function of a UTM device in an application area 401. The user area implementation method is easy to develop and debug, but it is difficult to expect high performance due to the overhead of copying all packets received through the network driver from the kernel to the application area 401.

도 5를 참조하면, 커널 영역에서 UTM 보안 기능을 구현하는 방식은 각 보안 모듈(예를 들어, 방화벽, IPS 등)(501)을 커널 레이어에서 구현하는 방식으로 패킷 별 메모리 복사가 필요 없어 고성능 보안 장비에 적합하다.Referring to FIG. 5, a method of implementing UTM security in a kernel area is a method of implementing each security module (for example, a firewall, an IPS, etc.) 501 in a kernel layer, and does not require a packet copy for each memory. Suitable for equipment

상기한 바와 같이 다중 프로세싱 시스템에서 커널 기반 보안 모듈을 설계할 경우 동기화 문제가 발생하게 된다.As described above, when a kernel-based security module is designed in a multiprocessing system, synchronization problems occur.

동기화는 각 보안 모듈이 접근하는 모든 전역 변수가 대상으로 포함되므로 커널에 대한 방지 장치를 코스-그레인드 방지 방식에서 파인 그레인드 방지 방식으로 설계해야 한다. 특히, 다중 프로세싱 시스템에서 단일 중앙처리장치 내 코어 수가 증가할수록 리소스 획득에 따른 코어 간 충돌(collision) 빈도 수가 코어 수의 제곱 승으로 증가하게 된다.Synchronization includes all global variables that are accessed by each security module as targets, so the protection against the kernel should be designed from a coarse-grained to a fine-grained one. In particular, as the number of cores in a single CPU increases in a multiple processing system, the frequency of collisions between cores according to resource acquisition increases as the square of the number of cores.

따라서, 본 발명의 일실시예에 따른 다중 프로세싱 시스템은 동기화 문제를 완화시킬 수 있는 UTM 소프트웨어 구조를 제안한다.Accordingly, a multiple processing system according to an embodiment of the present invention proposes a UTM software structure that can alleviate synchronization problems.

도 6은 본 발명의 일실시예에 따른 다중 프로세싱 시스템에서의 UTM 소프트웨어 구조를 도시한 것이다. 본 발명의 일실시예는 다중 프로세싱 시스템에서의 동기화 문제를 완화시켜 고성능의 UTM 장비를 위한 하이브리드 모델을 제안한다.6 illustrates a UTM software structure in a multiple processing system according to an embodiment of the present invention. One embodiment of the present invention proposes a hybrid model for high performance UTM equipment by mitigating synchronization problems in a multiple processing system.

도 6을 참조하면, 본 발명의 일실시예에 따른 다중 프로세싱 시스템은 컴퓨터 시스템에서 작동되는 보안 모듈(방화벽, IPS 모듈, VPN 모듈, Anti-Virus, Anti-Spam, Anti-DDoS 등)(630)의 기능 별로 코어(610)를 구분한 소프트웨어 구조를 제공한다. 기능이 분할된 코어(610)는 컴퓨터 시스템으로 유입되는 패킷을 정해진 절차에 따라 처리한다.Referring to FIG. 6, a multiple processing system according to an embodiment of the present invention may include a security module (firewall, IPS module, VPN module, Anti-Virus, Anti-Spam, Anti-DDoS, etc.) 630 operated in a computer system. It provides a software structure that divides the core 610 by function of the. The divided core 610 processes the packets flowing into the computer system according to a predetermined procedure.

코어(610)는 보안 모듈(630)에 따라 보안 기능이 분할되어 있는 관계로 코어와 코어 사이에 큐(Queue)(650)를 추가 구성한다. 생산자와 소비자 각각 1개인 경우 Lock-less Queue로 구현할 수 있어 큐(650)를 추가함에 따른 리소스 취득 비용은 무시할 수 있다.The core 610 further configures a queue 650 between the cores because the security functions are divided according to the security module 630. One producer and one consumer can be implemented as a lock-less queue, so that the cost of acquiring resources due to the addition of the queue 650 can be ignored.

큐(650)는 하나 이상의 데이터를 저장하고 관리하기 이한 데이터 구조로 리스트의 형태를 가진다. 큐의 리스트 한쪽 끝에서는 삽입(enqueue)만 가능하고 반대쪽 끝에서는 추출(dequeue)만 가능하기 때문에 큐에서는 먼저 삽입된 데이터가 먼저 추출되게 된다. 따라서, 코어(610) 간에 순차적으로 처리되는 작업 결과를 전달하는데 있어 큐(650)를 사용하는 것이 적합하다.Queue 650 takes the form of a list in a data structure that is easy to store and manage one or more pieces of data. Since one end of the list of queues can only be enqueued and the other end can only be dequeue, the first inserted data is extracted first. Thus, it is suitable to use queue 650 in transferring job results processed sequentially between cores 610.

상기한 소프트웨어 구조에 따르면, 본 발명의 다중 프로세싱 시스템은 네트워크 드라이버에 의해 유입된 패킷을 정해진 절차에 따라 처리하는데 있어 첫 절차의 작업에 할당된 코어(이전 코어)를 통해 해당 작업을 처리한 후 처리된 작업 결 과를 큐(650)로 전달한다. 이어, 다음 절차의 작업에 할당된 코어(이후 코어)를 통해 상기 큐(650)에 저장된 작업 결과에 따라 다음 절차의 작업을 처리한다.According to the above software structure, the multi-processing system of the present invention processes the received packet by the network driver according to a predetermined procedure and then processes the corresponding task through a core (previous core) assigned to the task of the first procedure. The result of the operation is transferred to the queue 650. Subsequently, the task of the next procedure is processed according to the task result stored in the queue 650 through the core (hereinafter, the core) assigned to the task of the next procedure.

즉, 코어(610)는 작업의 기능 별로 분할되어 있어 큐(650)를 이용함으로써 이전 코어를 통해 처리된 작업 결과를 큐(650)에 기록하는 방식으로 이후 코어를 통해 다음 절차의 작업을 순차적으로 처리할 수 있다.That is, the core 610 is divided according to the function of the job, so that the result of the job processed through the previous core is recorded in the queue 650 by using the queue 650. Then, the job of the next procedure is sequentially executed through the core. Can be processed.

도 7은 본 발명의 일실시예에 따른 다중 프로세싱 시스템에서의 UTM 소프트웨어 구조에 관한 것으로 쿼드 코어(quad core) 투웨이(two-way) SMP 시스템의 소프트웨어 구조를 일례로 설명하기 위한 것이다.FIG. 7 relates to a UTM software structure in a multi-processing system according to an embodiment of the present invention, and illustrates an example of a software structure of a quad core two-way SMP system.

도 7을 참조하면, 컴퓨터 시스템 내 보안 모듈 중 방화벽 모듈(720)에 코어(701)의 일군(#0~#3)을 할당하고 IPS 모듈(740), VPN 모듈(760), QoS 모듈(780) 등에 코어(701)의 다른 일군(#4~#7)을 할당한다. 상기한 소프트웨어 구조에 따른 각 코어(701)는 네트워크 드라이버(710)에 의해 유입된 패킷을 정해진 절차에 따라 처리하게 된다. 도 7에서 알 수 있듯이, 본 발명의 일실시예는 코어(701)가 기능 별로 구분된 UTM 소프트웨어 구조를 통해 결과적으로 리소스 취득에 경쟁하는 코어(701)의 수가 줄어 리소스 취득의 어려움을 완화시켜줄 수 있다. 일례로, 병화벽 모듈(720)은 세션 테이블(730)의 취득에 있어서 기존 소프트웨어 구조(도 1 참조)에서 8개의 코어가 경쟁하는 반면, 본 발명의 일실시예에 따른 소프트웨어 구조에서는 4개의 코어만 경쟁하므로 리소스 취득 성공률이 3%에서 25%로 8배 향상됨을 알 수 있다.Referring to FIG. 7, a group (# 0 to # 3) of the cores 701 is allocated to the firewall module 720 among the security modules in the computer system, and the IPS module 740, the VPN module 760, and the QoS module 780 are allocated. ) And other groups # 4 to # 7 of the core 701. Each core 701 according to the above software structure processes the packet introduced by the network driver 710 according to a predetermined procedure. As can be seen in FIG. 7, one embodiment of the present invention can reduce the difficulty of resource acquisition by reducing the number of cores 701 competing for resource acquisition through the UTM software structure in which the core 701 is divided by function. have. In one example, the firewall module 720 has eight cores competing in the existing software architecture (see FIG. 1) in obtaining the session table 730, while four cores in the software architecture according to one embodiment of the invention. As it competes only, the resource acquisition success rate is 8 times higher from 3% to 25%.

도 8은 본 발명에 따른 일실시예로 다중 프로세싱 시스템에서 방화벽 모듈 을 실행하는데 있어서 인터럽트(Interrupt)를 사용하는 과정을 설명하기 위한 도면이다.8 is a diagram for describing a process of using an interrupt in executing a firewall module in a multiple processing system according to an embodiment of the present invention.

일반적으로 인터럽트는 컴퓨터 시스템 상에 예기치 못한 문제가 발생했을 경우에, 상기 문제를 해결하도록 중앙처리장치에 알리는 것을 의미한다. 인터럽트가 발생하면 중앙처리장치는 처리하던 작업을 중단하고 인터럽트에 대응되는 작업을 우선 처리하게 된다. 기본적으로는 시스템에 문제가 발생한 경우 이를 해결하기 위하여 사용되는 것이지만, 중앙처리장치로 메시지를 전송하기 위한 방법으로도 널리 사용된다.In general, an interrupt means informing the central processing unit to solve the problem when an unexpected problem occurs in the computer system. When an interrupt occurs, the central processing unit stops the work it was processing and processes the work corresponding to the interrupt first. Basically, it is used to solve a problem in the system, but it is also widely used as a method for transmitting a message to the central processing unit.

도 8을 참조하면, 본 발명의 일실시예에서는 NIC(network interface card) 인터럽트 또는 타이머(timer) 인터럽트가 사용된다.Referring to FIG. 8, in one embodiment of the present invention, a network interface card (NIC) interrupt or a timer interrupt is used.

NIC 인터럽트 발생에 따라 방화벽 모듈은 네트워크 드라이버로부터 패킷을 수신하고(S801) 수신된 패킷이 IP 패킷인 경우 해당 패킷이 세션 테이블에 등록된 패킷인지 여부를 판단한다(S802~S803). 이때, 수신된 패킷에 대한 IP 패킷 여부는 5-tuple 정보(프로토콜, Src IP, Src Port, Dest IP, Dest Port)에서 해쉬 값을 계산함으로써 판단할 수 있다. 그리고, 해쉬 값은 세션 테이블의 인덱스 값으로 사용되므로 해쉬 값을 이용할 경우 수신된 패킷에 대한 세션 테이블의 등록 유무 또한 판단할 수 있다.In response to the NIC interrupt, the firewall module receives the packet from the network driver (S801). If the received packet is an IP packet, the firewall module determines whether the corresponding packet is a packet registered in the session table (S802 to S803). In this case, whether the received packet is an IP packet may be determined by calculating a hash value from 5-tuple information (protocol, Src IP, Src Port, Dest IP, Dest Port). Since the hash value is used as an index value of the session table, it is also possible to determine whether or not the session table is registered for the received packet when the hash value is used.

수신된 패킷이 세션 테이블에 등록되지 않은 신규 패킷인 경우 정책에 허용된 패킷인지 여부를 판단하는 검사를 통해 정책에 허용된 패킷이면 세션을 생성하고 정책에 허용된 패킷이 아니면 해당 패킷을 드롭(drop)한다(S804~S806). 한편, 수신된 패킷이 세션 테이블에 등록된 패킷인 경우 해당 패킷에 세션 테이블에 등록된 보안 기능(NAT, 컨텐트 필터링, 로그 처리)을 적용한 후 세션 정보에 대한 업데이트(세션 별 타이머 재등록, 사용량 업데이트)를 수행한다(S807~S808). 이어, 세션 테이블의 보안 기능을 적용한 패킷이 종결 패킷인지 여부를 판단하여 종결 패킷인 경우 IPS 모듈의 보안 단계를 수행하고 종결 패킷이 아닌 경우 해당 패킷에 대한 세션을 삭제한다(S809~S810).If the received packet is a new packet that is not registered in the session table, a check is made to determine if the packet is allowed in the policy. If the packet is allowed in the policy, a session is created. (S804 to S806). On the other hand, if the received packet is a packet registered in the session table, the security information (NAT, content filtering, log processing) registered in the session table is applied to the packet and then the session information is updated (session re-registration, usage update). (S807 ~ S808). Subsequently, it is determined whether the packet to which the security function of the session table is applied is a termination packet, and if it is a termination packet, the security step of the IPS module is performed, and if it is not a termination packet, the session for the corresponding packet is deleted (S809 to S810).

또한, 타이머 인터럽트 발생에 따라 방화벽 모듈은 세션 타이머를 동작시키고 세션 타임아웃(timeout)을 발생한 후 세션을 삭제한다(S811~S812, S810).In addition, when the timer interrupt occurs, the firewall module operates the session timer and deletes the session after generating a session timeout (S811 ~ S812, S810).

즉, 방화벽 모듈의 세션 테이블은 동적 자료구조이므로 세션 생성(S806). 세션 정보 업데이트(S808), 세션 삭제(S810) 과정에서 스핀락(spinlock) 등과 같은 동기화 연산으로 보호되어야 한다.That is, the session table of the firewall module is a dynamic data structure, thereby creating a session (S806). In the process of updating the session information (S808) and deleting the session (S810), it should be protected by a synchronization operation such as a spinlock.

본 발명의 일실시예는 보안 모듈의 기능 별로 코어를 구분한 UTM 소프트웨어 구조를 제공함으로써 인터넷 연결로 인한 위협의 지속적인 변화에 효과적으로 대비할 수 있으며 다중 프로세싱 시스템에서의 동기화 문제를 완화시킬 수 있다.One embodiment of the present invention provides a UTM software structure that divides cores by functions of security modules, which can effectively prepare for the continuous change of threats caused by Internet connection, and alleviate synchronization problems in multiple processing systems.

본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the present invention include computer readable media including program instructions for performing various computer implemented operations. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The media may be program instructions that are specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by specific embodiments such as specific components and the like. For those skilled in the art to which the present invention pertains, various modifications and variations are possible.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and all of the equivalents or equivalents of the claims as well as the claims to be described later will belong to the scope of the present invention. .

도 1은 SMP 시스템에서 종래의 UTM 소프트웨어 구조를 설명하기 위한 것으로 쿼드 코어(quad core) 투웨이(two-way) SMP 시스템의 일례를 도시한 것이다.1 illustrates an example of a conventional UTM software architecture in an SMP system and illustrates an example of a quad core two-way SMP system.

도 2는 다중 프로세싱 시스템의 구성을 설명하기 위한 도면이다.2 is a diagram for describing a configuration of a multiple processing system.

도 3은 멀티코어 기반 다중 프로세싱 시스템의 구성을 설명하기 위한 도면이다.3 is a diagram for describing a configuration of a multicore-based multiprocessing system.

도 4는 유저 영역에서 UTM 보안 기능을 구현하는 방식을 설명하기 위한 도면이다.4 is a diagram for describing a method of implementing a UTM security function in a user area.

도 5는 커널 영역에서 UTM 보안 기능을 구현하는 방식을 설명하기 위한 도면이다.5 is a diagram for describing a method of implementing a UTM security function in a kernel region.

도 6은 본 발명의 일실시예에 따른 다중 프로세싱 시스템에서의 UTM 소프트웨어 구조를 도시한 것이다.6 illustrates a UTM software structure in a multiple processing system according to an embodiment of the present invention.

도 7은 본 발명의 일실시예에 따른 다중 프로세싱 시스템에서의 UTM 소프트웨어 구조에 관한 것으로 쿼드 코어(quad core) 투웨이(two-way) SMP 시스템의 소프트웨어 구조를 일례로 설명하기 위한 것이다.FIG. 7 relates to a UTM software structure in a multi-processing system according to an embodiment of the present invention, and illustrates an example of a software structure of a quad core two-way SMP system.

도 8은 본 발명에 따른 일실시예로 다중 프로세싱 시스템에서 방화벽 모듈을 실행하는데 있어서 인터럽트(Interrupt)를 사용하는 과정을 설명하기 위한 도면이다.8 is a diagram for describing a process of using an interrupt in executing a firewall module in a multi-processing system according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

610: 코어610: core

630: 보안모듈630: security module

650: 큐650: queue

Claims (12)

중앙처리장치 내에 연산 처리를 담당하는 코어(core)를 두 개 이상 포함하고,At least two cores in the central processing unit responsible for the processing, 네트워크 드라이버에 의해 유입된 패킷에 대한 복수의 작업을 상기 코어를 통해 정해진 절차에 따라 처리하되, 상기 작업의 기능 별로 상기 코어가 구분되어 각 코어를 통해 해당 작업을 처리하며,Process a plurality of tasks for the packet introduced by the network driver in accordance with a predetermined procedure through the core, the core is divided by function of the task to process the corresponding task through each core, 상기 복수의 작업은,The plurality of jobs, 커널(kernel) 레이어에서 처리되도록 구현되어 커널에 대한 방지(lock) 방식이 코스-그레인드 방지(coarse-grained lock)에서 파인 그레인드 방지(fine-grained lock) 방식으로 구현되는, 다중 프로세싱 시스템.A multi-processing system implemented to be processed at the kernel layer such that the lock scheme for the kernel is implemented in a fine-grained lock scheme from a coarse-grained lock. 제1항에 있어서,The method of claim 1, 상기 작업은,The operation is, 보안 처리를 위한 작업인, 다중 프로세싱 시스템.Multiprocessing system, which is a task for secure processing. 제1항에 있어서,The method of claim 1, 상기 작업은,The operation is, 방화벽(firewall) 모듈, IPS(intrusion prevention system) 모듈, VPN(virtual private network) 모듈, 안티-바이러스(Anti-Virus) 모듈, 안티-스팸(Anti-Spam) 모듈, 안티-DDoS(Anti-DDoS) 모듈 중 두 개 이상의 모듈에 해당하는 보안 처리를 위한 작업인, 다중 프로세싱 시스템.Firewall module, intrusion prevention system (IPS) module, virtual private network (VPN) module, anti-virus module, anti-spam module, anti-DDoS (anti-DDoS) A multiprocessing system, a task for secure processing of two or more modules of a module. 제1항에 있어서,The method of claim 1, 상기 중앙처리장치는,The central processing unit, 상기 구분된 코어 간에 이전 코어를 통해 처리된 작업 결과를 저장하는 큐(queue)를 추가하는, 다중 프로세싱 시스템.Adding a queue to store work results processed through previous cores between the separated cores. 삭제delete 삭제delete 중앙처리장치 내에 연산 처리를 담당하는 코어를 두 개 이상 포함한 다중 프로세싱 시스템의 다중 프로세싱 방법에 있어서,In the multiple processing method of a multiple processing system including two or more cores in the central processing unit for processing, 네트워크 드라이버에 의해 유입된 패킷에 대한 복수의 작업을 상기 코어를 통해 정해진 절차에 따라 처리하는 단계를 포함하고,Processing a plurality of operations on packets introduced by a network driver according to a predetermined procedure through the core, 상기 코어는 상기 작업의 기능 별로 구분되고 상기 구분된 코어 간에 큐가 추가되는 것으로,The core is divided by the function of the job and the queue is added between the divided cores, 상기 복수의 작업을 처리하는 단계는,Processing the plurality of jobs, 상기 구분된 각 코어를 통해 해당 작업을 처리하되, 상기 코어 간에 추가된 큐에 이전 코어를 통해 처리된 작업 결과를 저장한 후 이후 코어를 통해 상기 저장된 작업 결과에 따라 다음 절차의 작업을 처리하며,Processing the corresponding job through each of the divided cores, storing the job result processed through the previous core in a queue added between the cores, and then processing the job in the following procedure according to the stored job result through the subsequent cores, 상기 복수의 작업은,The plurality of jobs, 커널 레이어에서 처리되도록 구현되어 커널에 대한 방지 방식이 코스-그레인드 방지에서 파인 그레인드 방지 방식으로 구현되는, 다중 프로세싱 방법.A processing method implemented at the kernel layer such that the protection against the kernel is implemented from coarse-grained to fine grained. 제7항에 있어서,The method of claim 7, wherein 상기 작업은,The operation is, 보안 처리를 위한 작업인, 다중 프로세싱 방법.A multiprocessing method, which is a task for secure processing. 제7항에 있어서,The method of claim 7, wherein 상기 작업은,The operation is, 방화벽(firewall) 모듈, IPS(intrusion prevention system) 모듈, VPN(virtual private network) 모듈, 안티-바이러스(Anti-Virus) 모듈, 안티-스팸(Anti-Spam) 모듈, 안티-DDoS(Anti-DDoS) 모듈 중 두 개 이상의 모듈에 해당하는 보안 처리를 위한 작업인, 다중 프로세싱 방법.Firewall module, intrusion prevention system (IPS) module, virtual private network (VPN) module, anti-virus module, anti-spam module, anti-DDoS (anti-DDoS) A multiprocessing method, which is an operation for security processing corresponding to two or more modules of a module. 삭제delete 삭제delete 제7항 내지 제9항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of any one of claims 7 to 9.
KR1020090070704A 2009-07-31 2009-07-31 Multi-processing system for high efficient unified thread management device and method thereof KR101109874B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090070704A KR101109874B1 (en) 2009-07-31 2009-07-31 Multi-processing system for high efficient unified thread management device and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090070704A KR101109874B1 (en) 2009-07-31 2009-07-31 Multi-processing system for high efficient unified thread management device and method thereof

Publications (2)

Publication Number Publication Date
KR20110012825A KR20110012825A (en) 2011-02-09
KR101109874B1 true KR101109874B1 (en) 2012-02-14

Family

ID=43772700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090070704A KR101109874B1 (en) 2009-07-31 2009-07-31 Multi-processing system for high efficient unified thread management device and method thereof

Country Status (1)

Country Link
KR (1) KR101109874B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090039156A (en) * 2007-10-17 2009-04-22 주식회사 케이티프리텔 Method for blocking packet data with abnormal data and advanced intrusion protection system using the same
KR20090061955A (en) * 2007-12-12 2009-06-17 한국전자통신연구원 A system and a method for dynamic loading and execution of module devices using inter-core-communication channel in multicore system environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090039156A (en) * 2007-10-17 2009-04-22 주식회사 케이티프리텔 Method for blocking packet data with abnormal data and advanced intrusion protection system using the same
KR20090061955A (en) * 2007-12-12 2009-06-17 한국전자통신연구원 A system and a method for dynamic loading and execution of module devices using inter-core-communication channel in multicore system environment

Also Published As

Publication number Publication date
KR20110012825A (en) 2011-02-09

Similar Documents

Publication Publication Date Title
RU2738021C2 (en) System and methods for decrypting network traffic in a virtualized environment
EP3314524B1 (en) Virtualized trusted storage
Zhang et al. {G-NET}: Effective {GPU} Sharing in {NFV} Systems
US10103892B2 (en) System and method for an endpoint hardware assisted network firewall in a security environment
Sun et al. Security-as-a-service for microservices-based cloud applications
Lee et al. On security and privacy issues of fog computing supported Internet of Things environment
EP3248132B1 (en) Detection of malicious invocation of application program interface calls
US11184323B2 (en) Threat isolation using a plurality of containers
US20080022094A1 (en) Method, apparatus and system for offloading encryption on partitioned platforms
US20210144157A1 (en) Threat intelligence on a data exchange layer
Kaffes et al. Syrup: User-defined scheduling across the stack
US20060156399A1 (en) System and method for implementing network security using a sequestered partition
US9917775B2 (en) Intelligent devices in a software-defined network
US9904782B2 (en) Synchronous execution of designated computing events using hardware-assisted virtualization
CN114745341A (en) Application level network queuing
US11599675B2 (en) Detecting data leakage to websites accessed using a remote browsing infrastructure
Simpson et al. Securing {RDMA} for {High-Performance} Datacenter Storage Systems
Sadok et al. We need kernel interposition over the network dataplane
CN113472820A (en) Cloud resource security isolation control method and system based on zero trust model
US8627467B2 (en) System and method for selectively storing web objects in a cache memory based on policy decisions
JP2017522637A (en) System and method for mitigating malicious calls
KR101109874B1 (en) Multi-processing system for high efficient unified thread management device and method thereof
US9473518B2 (en) Securing network communications with logical partitions
Konoplev et al. Tasks of providing information security in distributed computing networks
US11403397B2 (en) Cache system for consistent retrieval of related objects

Legal Events

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

Payment date: 20141027

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160114

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170118

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180117

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190117

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200114

Year of fee payment: 9