KR20150145049A - 트래픽 저장 장치 및 방법, 그리고 컴퓨터로 판독 가능한 기록 매체 - Google Patents

트래픽 저장 장치 및 방법, 그리고 컴퓨터로 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR20150145049A
KR20150145049A KR1020140074301A KR20140074301A KR20150145049A KR 20150145049 A KR20150145049 A KR 20150145049A KR 1020140074301 A KR1020140074301 A KR 1020140074301A KR 20140074301 A KR20140074301 A KR 20140074301A KR 20150145049 A KR20150145049 A KR 20150145049A
Authority
KR
South Korea
Prior art keywords
traffic data
thread
stored
traffic
virtual
Prior art date
Application number
KR1020140074301A
Other languages
English (en)
Other versions
KR101626279B1 (ko
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 KR1020140074301A priority Critical patent/KR101626279B1/ko
Publication of KR20150145049A publication Critical patent/KR20150145049A/ko
Application granted granted Critical
Publication of KR101626279B1 publication Critical patent/KR101626279B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

트래픽 데이터가 제1 스레드에 의하여 지정된 제1 가상 수신 버퍼에 저장되는 단계와 스레드 전환 트리거가 발생하면 대기중인 제2 스레드가 활성화되는 단계와 트래픽 데이터가 제2 스레드에 의하여 지정된 제2 가상 수신 버퍼에 저장하는 단계와 복수 개의 하드 디스크 중 제1 스레드에 지정된 하드 디스크에 제1 가상 수신 버퍼에 저장된 트래픽 데이터가 기록되는 단계를 포함하는 복수 개의 하드 디스크에 트래픽을 분산하여 저장하는 트래픽 저장 방법을 제공한다.

Description

트래픽 저장 장치 및 방법, 그리고 컴퓨터로 판독 가능한 기록 매체{APPARATUS AND METHOD OF TRAFFIC STORAGE, AND COMPUTER-READABLE RECORDING MEDIUM}
효율적으로 트래픽을 저장하기 위한 트래픽 저장 장치 및 방법에 관한 것이다.
네트워크 관련 기술과 네트워크 관련 서비스의 종류가 다양해짐에 따라 네트워크의 활용 범위가 방대해지고 있으며, 네트워크 환경 역시 복잡해지고 있다.
아울러, 정보통신기술의 발전에 따라 각종 멀티미디어 서비스의 도입으로 네트워크가 복잡해지고 네트워크와 서비스가 통합되어 트래픽 종류가 다양해지고 있다.
또한 고품질의 통신 서비스의 도입으로 예상하지 못한 다양한 트래픽이 발생하므로 트래픽 패턴을 예측하기 더욱 어렵게 되고 있다. 트래픽의 급속한 증가와 이로 인한 네트워크의 성능 저하라는 문제가 발생했을 때, 성능 저하의 원인 분석 및 개선을 위해서는 네트워크의 트래픽에 관한 정보가 필요하다.
또한, 네트워크의 보안성을 향상하기 위한 각종 연구, 예컨대, 네트워크의 보안 정책 또는 네트워크 보안장치(network forensics)가 트래픽 패턴에 기초하여 진행되고 있다.
상술한 바와 같이 네트워크의 안정하고 효율적인 관리를 위해서는 네트워크에서 발생하는 트래픽을 저장하고, 저장된 트래픽에 기초하여 트래픽의 패턴이 분석될 필요성이 있다.
다만, 하드 디스크와 같은 보조 저장 장치의 느린 저장 속도로 인하여 1Gbps이상의 네트워크 트래픽을 모두 저장하기 어려운 문제점이 있다.
트래픽 데이터를 효율적으로 분산 저장하는 트래픽 저장 장치 및 방법, 그리고 컴퓨터로 판독 가능한 기록 매체를 제공한다.
상술한 과제를 해결하기 위한 일 양상에 따른 트래픽 저장 장치는 복수 개의 하드 디스크에 트래픽을 분산하여 저장하는 트래픽 저장 방법에 있어서, 트래픽 데이터가 제1 스레드에 의하여 지정된 제1 가상 수신 버퍼에 저장되는 단계;와 스레드 전환 트리거가 발생하면 대기중인 제2 스레드가 활성화되는 단계;와 트래픽 데이터가 제2 스레드에 의하여 지정된 제2 가상 수신 버퍼에 저장하는 단계;와 복수 개의 하드 디스크 중 제1 스레드에 지정된 하드 디스크에 제1 가상 수신 버퍼에 저장된 트래픽 데이터가 기록되는 단계;를 포함한다.
또한, 제1,2 가상 수신 버퍼에 저장하는 단계는, 네트워크로부터 트래픽 데이터를 수신하는 단계;와 트래픽 데이터를 필터링하는 단계;를 포함할 수 있다.
또한, 제2 스레드가 활성화되는 단계는, 제1 가상 수신 버퍼가 임계치 이상 채워지면 전환 트리거가 발생하는 단계;를 포함할 수 있다.
또한, 트래픽 저장 방법은 제1 가상 수신 버퍼에 트래픽 데이터가 저장되고 미리 설정된 시간이 경과하면 전환 트리거가 발생하는 단계;를 포함할 수 있다.
또한, 트래픽 저장 방법은 제1 스레드가 복수 개의 대기 스레드 중에서 활성화될 제2 스레드를 결정하는 단계;를 포함할 수 있다.
또한, 제2 스레드가 활성화되는 단계는, 제1 스레드는 프로세서 간 통신(IPC)을 이용하여 제2 스레드를 활성화하는 단계;를 포함할 수 있다.
또한, 트래픽 저장 방법은 제1 가상 수신 버퍼에 저장된 트래픽 데이터가 모두 기록되면, 제1 스레드가 대기 상태로 전환되는 단계;를 포함할 수 있다.
또한, 트래픽 저장 방법은 트래픽 데이터가 전송량이 미리 설정된 기준치 이하로 낮아지면, 복수 개의 하드 디스크에 분산되어 저장된 트래픽 데이터가 병합되는 단계;를 포함할 수 있다. 이때, 트래픽 데이터는 고유한 식별자를 가진 파일 형태로 하드 디스크에 저장되는 트래픽 저장 방법.
상술한 과제를 해결하기 위한 일 양상에 따른 컴퓨터로 판독 가능한 기록 매체는 상술한 트래픽 저장 방법에 대한 프로그램이 저장할 수 있다.
상술한 과제를 해결하기 위한 일 양상에 따른 트래픽 저장 장치는 네트워크로부터 트래픽 데이터를 수신하는 네트워크 인터페이스와 복수 개의 수신 버퍼가 설정된 메모리와 복수 개의 수신 버퍼에 대응하여 마련된 복수 개의 하드 디스크와 제1 스레드에 의하여 지정된 제1 수신 버퍼에 트래픽 데이터를 저장하는 DMA 컨트롤러와 제1 수신 버퍼에 저장된 트래픽 데이터를 제1 하드 디스크에 기록하고, 전환 트리거에 따라 대기 상태인 제2 스레드를 활성화하는 제1 스레드, 및 활성화 되면 트래픽 데이터가 제2 수신 버퍼에 저장되도록 DMA 컨트롤러를 설정하고, 제2 수신 버퍼에 저장된 트래픽 데이터를 제2 하드 디스크에 기록하는 제2 스레드가 수행되는 프로세서를 포함한다.
또한, 네트워크 인터페이스는, 네트워크로부터 수신한 트래픽 데이터를 필터링하여 출력할 수 있다.
또한, 전환 트리거는 제1 수신 버퍼가 임계치 이상 채워지거나 제1 수신 버퍼에 트래픽 데이터가 저장되고 미리 설정된 시간이 경과하면 발생할 수 있다.
또한, 제1 스레드는 제1 수신 버퍼에 저장된 트래픽 데이터가 모두 기록되면 대기 상태로 전환될 수 있다.
또한, 복수 개의 하드 디스크에 분산 기록된 트래픽 데이터가 병합되어 저장되는 통합저장장치를 더 포함할 수 있다.
트래픽 데이터를 분산하여 저장하므로 많은 양의 트래픽 데이터를 효율적으로 저장할 수 있다.
도 1은 일 실시예에 따른 트래픽 저장 장치가 포함된 네트워크 시스템을 개략적으로 도시한 도면이다.
도 2는 일 실시예에 따른 트래픽 저장 장치를 설명하기 위한 제어 블록도이다.
도 3은 일 실시예에 다른 트래픽 저장 장치의 구체적인 적용예를 설명하기 위한 제어 블록도이다.
도 4은 트래픽의 분산 저장을 위한 멀티 스레딩에 대하여 설명하기 위한 도면이다.
도 5은 일 실시예에 따른 트래픽 저장 방법에서 트래픽 데이터의 흐름을 설명하기 위한 도면들이다.
도 6는 일 실시예에 따른 트래픽 저장 방법을 설명하기 위한 순서도이다.
도 7는 도 6의 S530단계를 상세히 설명하기 위한 순서도이다.
이하, 첨부된 도면을 참조하여 기술되는 실시예를 통하여 발명을 통상의 기술자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다. 다만, 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 발명 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
본 명세서에서 사용되는 용어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 후술하는 실시예들에서 사용된 용어의 의미는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 통상의 기술자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
아울러, 본 명세서에서 선택적으로 기재된 양상이나 선택적으로 기재된 실시예의 구성들은 비록 도면에서 단일의 통합된 구성으로 도시되었다 하더라도 달리 기재가 없는 한 통상의 기술자에게 기술적으로 모순인 것이 명백하지 않다면 상호간에 자유롭게 조합될 수 있는 것으로 이해하여야 한다.
"제1", "제2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
도 1은 일 실시예에 따른 트래픽 저장 장치가 포함된 네트워크 시스템을 개략적으로 도시한 도면이다.
도 1에 도시된 바와 같이 네트워크(20)를 통해 사용자 단말(VT1, VT2)과 서비스 제공 장치(S1, S2)가 연결된다. 사용자 단말(VT1, VT2)과 서비스 제공 장치(S1, S2)는 네트워크(20)를 통하여 서로 데이터를 교환할 수 있으며, 네트워크(20)를 통하여 사용자 단말(VT1, VT2) 간 또는 서비스 제공 장치(S1, S2) 간에도 서로 데이터를 교환할 수 있다
네트워크(20)에는 TAB 장치(21)가 포함되어 있을 수 있다. TAB 장치(21)는 네트워크(20)에서 발생하는 트래픽를 수집하여 트래픽 저장 장치(10)에 전달한다. 여기서, 트래픽은 통신의 흐름에 대한 정보를 말하는 것으로, 이하 설명의 편의를 위하여 트래픽은 적어도 하나의 패킷(packet)을 포함하는 것으로 설명한다.
또한, TAB 장치(21)에 의하여 연속적으로 트래픽 저장 장치(10)로 전달되는 트래픽의 집합을 트래픽 데이터라고 칭한다.
TAB 장치(21)는 패킷을 복제하여 트래픽 저장 장치(10)에 전달할 수 있다. 이를 위해, TAB 장치(21)는 네트워크(20)를 구성하는 서로 다른 라우터 사이에 마련되어 서로 다른 라우터 사이에서 전송되는 패킷을 복제하거나, 서비스 제공 장치(S1, S2)와 네트워크(20)를 구성하는 라우터 사이에 마련되어 서비스 제공 장치(S1, S2)에서 송수신되는 패킷을 복제하여 트래픽 저장 장치(10)에 전달할 수 있다.
또한, TAB 장치(21)는 전체 패킷 중 미리 설정된 조건을 만족하는 패킷만을 필터링하여 복제할 수도 있다. 예를 들어, TAB 장치(21)는 전체 패킷 중 특정 목적지 또는 출발지에 해당하는 패킷만을 필터링하여 복제하거나, 전체 패킷 중 데이터 패킷만을 필터링하여 저장할 수 있다.
또한, TAB 장치(21)는 패킷의 일부분만 복제할 수 있다. 예를 들어, TAB 장치(21)는 패킷의 흐름을 판단하기 위해 필요한 패킷의 해더 부분만 복제할 수 있다.
한편, TAB 장치(21)는 네트워크(20)에서 발생하는 트래픽을 수집하기 위한 장치의 일례로, TAB 장치(21)는 트래픽을 수집할 수 있는 어떠한 장치로 치환될 수 있음을 이해하여야 한다. 예를 들어, TAB 장치(21)는 스위칭 미러링 포트로 치환될 수 있다.
트래픽 저장 장치(10)는 TAB 장치(21)로부터 전송된 트래픽 데이터를 분산하여 저장할 수 있다. 이하, 도 2를 참조하여 트래픽 장치의 각 구성에 대하여 상세히 설명한다.
도 2는 일 실시예에 따른 트래픽 저장 장치를 개략적으로 설명하기 위한 제어 블록도이다.
도 2에 도시된 바와 같이, 트래픽 저장 장치(10)는 네트워크 인터페이스(11), 메모리(12), DMA 컨트롤러(13), 분산저장장치(14), 및 프로세서(15)를 포함할 수 있다.
네트워크 인터페이스(11)는 TAB 장치(21)로부터 트래픽 데이터를 수신하는 통신 장치로, 네트워크 인터페이스(11)는 직접 메모리 접근(Direct Memory Access, 이하 DMA) 방식에 따라 수신한 트래픽 데이터를 직접 메모리(12)에 저장할 수 있다.
또한, 네트워크 인터페이스(11)는 수신된 트래픽 데이터를 필터링할 수 있다. 구체적으로, 네트워크 인터페이스(11)는 프로세서(15)에 제어에 따라 특정 조건에 따라 트래픽 데이터를 필터링하여 출력할 수 있으며, 이에 따라 트래픽 저장 장치(10)의 관리자가 관심 있는 트래픽만이 저장될 수 있다.
메모리(12)는 트래픽 저장 장치(10)의 운용에 필요한 다양한 데이터를 저장한다. 아울러, 메모리(12)는 가상화되어 복수 개의 가상 버퍼로 설정될 수 있으며, 네트워크 인터페이스(11)를 통해 수신된 트래픽 데이터는 가상 버퍼에 분할되어 저장될 수 있다.
이때, 각 가상 버퍼는 정적으로 미리 할당될 수도 있으나, 동적으로 할당될 수도 있다.
DMA 컨트롤러(13)는 프로세서(15)의 제어에 따라 데이터의 입출력을 관리한다. DMA 컨트롤러(13)는 프로세서(15)의 명령에 따라 수신한 트래픽 데이터를 지정된 메모리(12) 주소에 저장할 수 있다. 이하, DMA 컨트롤러(13)가 네트워크 인터페이스(11)와 별도로 마련된 것으로 설명하나, 네트워크 인터페이스(11)에 DMA 컨트롤러(13)가 포함될 수 있다.
한편, DMA 컨트롤러(13)는 트래픽 데이터에 입출력 처리와 관련된 트리거를 생성할 수 있다. 예를 들어, DMA 컨트롤러(13)는 지정된 메모리(12)가 미리 설정된 기준 이상 채워지면 트리거를 생성할 수 있다. DMA 컨트롤러(13)에 의하여 생성된 트리거는 프로세서(15)로 전달될 수 있다. 이와 같이 DMA 방식에 따라 트래픽 데이터가 프로세서(15)를 거치지 않고 저장되므로, 대용량의 트래픽 데이터를 효율적으로 저장할 수 있다.
분산저장장치(14)는 수신된 트래픽 데이터를 분산하여 저장할 수 있다. 분산저장장치(14)는 트래픽 데이터의 분산 저장을 위하여 적어도 하나의 기억장치를 포함할 수 있다.
여기서, 기억장치는 대용량의 트래픽 데이터를 저장하기 위한 장치로 예컨대, 자기 테이프, 하드 디스크, 광디스크, 또는 플래시 메모리 등으로 구현될 수 있다.
다만, 설명의 편의를 위하여 이하 기억장치는 하드 디스크이고, 분산저장장치(14)는 복수 개의 하드 디스크로 구현되는 것으로 설명한다.
프로세서(15)는 트래픽 저장 장치(10)의 전반적인 동작을 관리한다. 구체적으로, 프로세서(15)는 연속적으로 수신되는 트래픽 데이터가 손실 없이 저장되도록 각 구성을 제어할 수 있다.
이를 위해, 프로세서(15)는 복수 개의 가상 수신 버퍼와 복수 개의 저장 장치에서 트래픽 데이터의 이동을 전반적으로 관리할 수 있다. 이와 같은 트래픽 데이터의 효율적인 분산 처리를 위하여 프로세서(15)는 멀티 스레딩(multi-threading) 방식으로 구동될 수 있다.
트래픽 저장 장치(10)는 통합저장장치(16)를 더 포함할 수 있다. 트래픽 데이터의 분석을 위해서는 분산되어 있는 트래픽 데이터의 병합이 필요하며, 프로세서(15)는 트래픽 데이터의 수신 양이 적은 때에 분산저장장치(14)에 분산되어 저장되어 있는 트래픽 데이터를 병합할 수 있다.
이와 같이 병합된 트래픽 데이터는 통합저장장치(16)에 저장되어 있을 수 있다. 이때, 통합저장장치(16)는 분산저장장치(14)의 각 저장장치보다 상대적으로 큰 저장용량을 가지는 저장장치로 구현될 수 있으나, 이에 한정되는 것이 아니다.
또한, 이하 병합된 트래픽 데이터가 통합저장장치(16)에 저장되는 것으로 설명하나, 이에 한정되는 것이 아니다. 예를 들어. 병합된 트래픽 데이터는 분산저장장치(14)의 특정 저장장치에 저장되거나, 트래픽 저장 장치(10) 이외의 장치로 전달될 수도 있다.
이와 같은 트래픽 저장 장치(10)는 다양한 범용 서버 등으로 구현될 수 있다. 이하, 도 3을 참조하여 일 실시예에 따른 트래픽 저장 장치(10)에 대하여 구체적으로 설명한다.
도 3은 일 실시예에 다른 트래픽 저장 장치의 구체적인 적용예를 설명하기 위한 제어 블록도이다. 상술한 바와 같이 트래픽 저장 장치(10)는 멀티 스레딩에 기초하여 트래픽 데이터를 분산하여 저장할 수 있다. 이하, 4개의 스레드(Thread)가 4개의 코어(151 내지 154)에서 수행되어 트래픽 데이터를 분산, 저장하는 트래픽 저장 장치(10)의 일 적용예를 상세히 설명한다.
도 3에 도시된 바와 같이 네트워크 인터페이스 카드(network interface card, 이하 NIC)(110)는 트래픽 데이터를 수신하기 위한 적어도 하나의 port(111)와 NIC(110)의 입출력을 위한 드라이버(112)를 포함하고 있을 수 있다. 이때, NIC(110)는 수신한 트래픽 데이터를 필터링하여 출력할 수 있다. 즉, NIC(110)는 프로세서(150)의 제어에 따라 수신된 트래픽 데이터 중 특정 트래픽 데이터만을 출력할 수 있다. 트래픽 데이터는 다양한 기준에 따라 필터링 될 수 있다.
구체적으로, 트래픽 데이터는 전송 형식(예컨대, FTP 형식)에 따라 필터링되거나, 트래픽의 이동 방향(예컨대, 목적지 MAC 주소, 수신지 MAC 주소)에 기초하여 필터링되거나, 전송 대상(예컨대, 데이터 트래픽)에 기초하여 필터링될 수 있다.
또한, NIC(110)는 필터링을 위하여 각 패킷의 해더를 열람하고, 해더 정보에 기초하여 필터링을 수행할 수 있다.
아울러, NIC(110)는 TAB 장치(21)로부터 수신한 패킷의 일부만을 출력할 수 있다. 예를 들어, NIC(110)는 패킷의 흐름을 판단하기 위해 필요한 패킷의 해더 부분만 복제할 수 있다.
프로세서(150)는 멀티 스레딩을 위하여 복수 개의 코어(151 내지 154)를 포함하고 있을 수 있다. 각 코어(151 내지 154)에서는 적어도 하나의 스레드가 수행될 수도 있으나, 이하 설명의 편의를 위하여 하나의 코어에서는 하나의 스레드가 수행되는 것으로 설명한다.
복수 개의 코어(151 내지 154)는 프로세서(150)간 통신(InterProcessor Communication, 이하 IPC)에 의하여 데이터 또는 제어 신호를 교환할 수 있다.
각 코어(151 내지 154)에서 수행되는 스레드를 위하여 메모리(120)에는 복수 개의 가상 수신 버퍼(121 내지 124)가 설정될 수 있다. 가상 수신 버퍼(121 내지 124)는 NIC(110)에서 수신된 트래픽 데이터가 임시 저장되는 공간으로 가상 수신 버퍼(121 내지 124)는 미리 스레드 별로 지정되어 설정되어 있을 수 있으나, 각 스레드에 의하여 동적으로 할당될 수도 있다.
아울러, 각 가상 수신 버퍼(121 내지 124)의 크기는 서로 상이하게 설정될 수 있다. 예를 들어, 가상 수신 버퍼(121 내지 124)의 크기는 가상 수신 버퍼(121 내지 124)에 저장된 트래픽 데이터가 저장될 하드 디스크의 기록에 영향을 주는 요인(예를 들어, 디스크의 회전 속도 또는 하드 디스크의 버퍼 크기)을 고려하여 기록 시간을 최소화하도록 결정될 수 있다.
또한, 이하에서는 하나의 스레드에 하나의 가상 버퍼를 할당된 것으로 설명하나, 하나의 스레드에 복수 개의 가상 수신 버퍼(121 내지 124)가 할당되거나, 하나의 가상 수신 버퍼(121 내지 124)를 복수 개의 스레드가 공유할 수도 있다.
DMA 컨트롤러(130)는 스레드의 제어 신호에 따라 트래픽 데이터의 입출력을 제어할 수 있다. 구체적으로, DMA 컨트롤러(130)는 NIC(110)에서 수신된 트래픽 데이터가 출력되면, 출력된 트래픽 데이터가 지정된 가상 수신 버퍼(121 내지 124)로 입력되도록 버스(170)를 제어할 수 있다.
또한, DMA 컨트롤러(130)는 스레드가 설정한 조건에 따라 트리거를 생성할 수 있다. 예를 들어, DMA 컨트롤러(130)는 스레드가 설정한 조건만큼 특정 수신 버퍼가 채워지면 트리거를 생성할 수 있다.
한편, 상술한 바와 같이 NIC(110)에 DMA 컨트롤러(130)가 포함될 수도 있다.
트래픽 저장 장치(10)의 각 구성들은 버스(170)를 통해 데이터를 서로 전송한다. 이때, 버스(170)는 각 구성들 사이에 데이터 전송을 위해 사용되는 데이터 버스, 데이터가 저장된 주소를 전송하기 위한 주소 버스, 제어 신호의 전송을 위해 사용되는 제어 버스를 포함할 수 있다.
이하, 도 4 및 도 5을 참조하여 NIC(110)에 의하여 수신된 트래픽 데이터의 분산 저장에 대하여 상세히 설명한다.
도 4은 트래픽의 분산 저장을 위한 멀티 스레딩에 대하여 설명하기 위한 도면이고, 도 5은 일 실시예에 따른 트래픽 저장 방법에서 트래픽 데이터의 흐름을 설명하기 위한 도면들이다.
도 3 내지 5를 참조하면, 복수 개의 코어(151 내지 154) 각각에서는 트래픽 데이터의 분산 저장을 관리하기 위한 스레드가 수행된다. 스레드는 복수 개의 가상 수신 버퍼(121 내지 124) 중 하나의 가상 수신 버퍼와 복수 개의 하드 디스크(141 내지 144) 중 하나의 하드 디스크를 관리할 수 있다.
예를 들어, 제1 스레드(Thread #1)는 제1 가상 수신 버퍼(121)와 제1 하드 디스크(141)를 관리하고, 제n 스레드는 제n 가상 수신 버퍼와 제n 하드 디스크를 관리할 수 있다.
도 4에 도시된 바와 같이, 스레드는 대기 상태에서 활성 상태로 전환되거나, 활성 상태에서 대기 상태로 전환하면서, 연속적으로 수신되는 트래픽 데이터를 여러 개의 하드 디스크(141 내지 144)에 분산하여 기록할 수 있다.
구체적으로, NIC(110)로부터 수신된 트래픽 데이터는 DMA 컨트롤러(130)에 의하여 제1 가상 수신 버퍼(121)에 순차적으로 저장된다. 이때, 제1 가상 수신 버퍼(121)에 저장된 트래픽 데이터는 제1 스레드(Thread #1)에 의하여 순차적으로 제1 하드 디스크(141)에 기록된다. 아울러, 제1 하드 디스크(141)에 기록이 완료된 트래픽 데이터가 저장된 제1 가상 수신 버퍼(121)에는 새로운 트래픽 데이터가 입력될 수 있다.
제1 가상 수신 버퍼(121)에 트래픽 데이터가 저장되고 있는 중 제1 전환 트리거(ST 1)가 발생되어, 제1 가상 수신 버퍼(121)에 오버플로우(Overflow)를 방지할 수 있다.
전환 트리거는 수신 버퍼의 오버플로우(Overflow)를 방지한다. 일반적으로, 하드 디스크와 같은 저장장치의 데이터 입출력 속도는 일정하다.
그러므로, 트래픽 발생이 증가하여 단위 시간당 수신 버퍼에 저장되는 트래픽 데이터의 양이 증가하게 되어 하드 디스크의 데이터 입출력 속도보다 빠른 속도로 메모리에 트래픽 데이터가 입력되면 오버플로우가 발생하다.
즉, 하드 디스크의 데이터 입출력 속도보다 빠른 속도로 메모리에 트래픽 데이터가 입력되면 수신 버퍼에 저장된 트래픽 데이터가 미쳐 하드 디스크에 저장되기 이전에 새로운 트래픽 데이터가 입력되어 일부 트래픽 데이터의 손실이 발생한다.
따라서, 전환 트리거는 수신 버퍼의 오버플로우(Overflow)가 발생하기 이전에 발생하여, NIC(110)에서 출력되는 트래픽 데이터가 저장되는 수신 버퍼를 변경시킬 수 있다.
이를 위해, 전환 트리거는 미리 설정된 조건이 만족되면 발생할 수 있다. 예를 들어, 전환 트리거는 NIC(110)로부터 수신된 트래픽 데이터가 저장되는 수신 버퍼가 일정 정도 이상 채워지면 발생할 수 있으며, 프로세서(150)는 트래픽 데이터가 저장되는 수신 버퍼가 일정 정도 이상 채워지면 전환 트리거가 발생하도록 DMA 컨트롤러를 설정할 수 있다.
구체적으로, 제1 스레드(Thread #1)는 DMA 컨트롤러(130)에 트래픽 데이터를 저장할 제1 가상 수신 버퍼(121)의 주소의 설정과 함께 제 1 가상 수신 버퍼(121)가 특정 크기로 채워지면 제1 전환 트리거(ST 1)를 발생시키도록 설정할 수 있다. DMA 컨트롤러(130)는 제 1 가상 수신 버퍼(121)가 특정 크기 이상 채워지면 제1 전환 트리거(ST 1)를 생성하여 제1 스레드(Thread #1)에 전달할 수 있다.
예컨대, 제1 스레드(Thread #1)가 제1 가상 수신 버퍼(121)가 90%이상 채워지면 제1 전환 트리거(ST 1)가 발생하도록 DMA 컨트롤러(130)를 설정하면, DMA 컨트롤러(130)는 도 5a에 도시된 바와 같이 제1 가상 수신 버퍼(121)가 90%이상 채워지면 제1 전환 트리거(ST 1)를 생성한다.
이와 같이 제1 전환 트리거(ST 1)가 발생하면 제1 스레드(Thread #1) 대기 상태의 제2 스레드(Thread #2)를 활성화할 수 있다. 이때, 제1 스레드(Thread #1)가 활성화할 제2 스레드(Thread #2)는 미리 설정된 것일 수 있으나 이에 한정되는 것이 아니다.
예를 들어, 제1 스레드(Thread #1)는 복수 개의 대기 스레드 중 미리 설정된 기준을 만족하는 하나의 스레드를 활성화될 제2 스레드(Thread #2)로 결정할 수 있다.
제1 스레드(Thread #1)는 제2 스레드(Thread #2)를 활성화하기 위하여 제1 활성 이벤트(AE 1)를 생성할 수 있다. 제1 스레드(Thread #1)에 의하여 생성된 제1 활성 이벤트(AE 1)는 IPC를 통하여 제2 스레드(Thread #2)로 전송될 수 있다.
제1 활성 이벤트(AE 1)를 수신한 제2 스레드(Thread #2)는 DMA 컨트롤러(130)에 소정의 제어 신호를 생성하여 NIC(110)에서 수신된 트래픽 데이터가 저장될 메모리(120)의 위치를 변경할 수 있다.
구체적으로, 제2 스레드(Thread #2)는 제2 가상 수신 버퍼(122)에 트래픽 데이터가 저장되도록 DMA 컨트롤러(130)에 제어 신호를 보낼 수 있다. 이때, 제2 스레드(Thread #2)는 DMA컨트롤러에 제2 가상 수신 버퍼(122)의 90%가 채워지면 제2 전환 트리거(ST 2)를 발생하라는 제어 신호를 함께 보낼 수도 있다.
즉, 제2 스레드(Thread #2)의 제어 신호에 따라, NIC(110)에서 수신된 트래픽 데이터는 제2 가상 수신 버퍼(122)에 저장되며, 제2 가상 수신 버퍼(122)에 저장된 트래픽 데이터는 제2 스레드(Thread #2)의 제어에 따라 제2 하드 디스크(142)에 기록된다. 한편, 제1 활성 이벤트(AE 1)를 생성한 제1 스레드(Thread #1)는 제1 가상 수신 버퍼(121)에 저장된 트래픽 데이터를 제1 하드 디스크(141)계속하여 기록할 수 있다.
한편, 제1 스레드(Thread #1)는 제1 하드 디스크(141)에 저장되는 트래픽 데이터를 식별자를 가진 파일 형태로 기록할 수 있다. 이때, 식별자는 서로 중복되지 않도록 부여될 수 있다. 예를 들어, 식별자는 동시에 발생할 수 없는 전환 트리거의 발생 시간에 기초하여 부여될 수 있다.
이와 같이 고유한 식별자를 각 트래픽 데이터 파일에 부여함으로써, 최한시의 분산 저장되어 있는 트래픽 데이터의 병합이 용이하도록 트래픽 데이터 파일을 저장할 수 있다. 이에 대해서는 아래에서 상세히 설명한다.
즉, 도 5a와 같은 트래픽 데이터가 저장되는 단계에서 제1 전환 트리거(ST 1)가 발생하면, 도 5b와 같이 트래픽 데이터의 저장 흐름이 변화하게 된다.
한편, 트래픽 데이터가 제 2 가상 수신 버퍼(122)의 90%이상 트래픽 데이터가 저장되면 DMA 컨트롤러(130)는 제2 전환 트리거(ST 2)를 발생시킬 수 있다.
제2 전환 트리거(ST 2)가 발생하면 제2 스레드(Thread #2)는 제2 활성 이벤트(AE 2)를 생성하고, 대기 상태인 제3 스레드(Thread #3)에 제2 활성 이벤트(AE 2)를 전달할 수 있다.
이때, 제2 활성 이벤트(AE 2)는 IPC를 통해 제3 스레드(Thread #3)로 전달될 수 있다.
제2 활성 이벤트(AE 2)를 수신한 제3 스레드(Thread #3)는 DMA 컨트롤러(130)에 소정의 제어 신호를 생성하여 NIC(110)에서 수신된 트래픽 데이터가 제3 가상 수신 버퍼(123)에 저장되도록 설정할 수 있다. 또한, 제3 스레드(Thread #3)는 DMA 컨트롤러(130)에 제3 가상 수신 버퍼(123)의 90% 이상 채워지면 제3 전환 트리거(ST 3)를 발생하라는 제어 신호를 함께 보낼 수도 있다.
따라서, 도 5b와 같은 트래픽 데이터가 저장되는 단계에서 제2 전환 트리거(ST 2)가 발생하면, 도 5c와 같이 NIC(110)에서 수신된 트래픽 데이터는 제3 가상 수신 버퍼(123)에 저장되고, 제3 가상 수신 버퍼(123)에 저장된 트래픽 데이터는 제3 스레드(Thread #3)의 제어에 따라 제3 하드 디스크(143)에 기록된다.
또한, 제1 스레드(Thread #1)와 제2 스레드(Thread #2)에 의해 각각 제1, 2 가상 수신 버퍼(121, 122)에 저장된 트래픽 데이터는 제1, 2 하드 디스크(141, 142)에 기록된다.
한편, 제1 가상 수신 버퍼(121)에 저장된 트래픽 데이터가 모두 제1 하드 디스크(141)에 저장되면 제1 스레드(Thread #1)는 대기 상태로 전환된다. 이때, 제1 가상 수신 버퍼(121)에 저장된 트래픽 데이터가 모두 제1 하드 디스크(141)에 저장되면 제1 종료 트리거(ET 1)가 발생할 수 있다.
이때, 제1 종료 트리거(ET 1)는 분산저장장치(140)의 각 하드 디스크(141 내지 144)를 전반적으로 관리하는 컨트롤러(미도시)에 의하여 발생할 수도 있으나, 제1 스레드(Thread #1)에 의하여 발생할 수도 있다.
이와 같이 제1 종료 트리거(ET 1)가 발생하면 제1 스레드(Thread #1)는 대기 상태로 전환된다. 그러므로, 제1 종료 트리거(ET 1)가 발생하면 도 4에 도시된 바와 같이 제1 스레드(Thread #1)는 대기 상태로 전환되고, 이에 따라. 트래픽 데이터의 흐름이 도 5d에 도시된 바와 같이 변화한다.
이후, 제 3 전환 트리거(ST 3)가 발생하면 제3 스레드(Thread #3)의 제3 활성 이벤트(AE 3)에 따라 제4 스레드(Thread #4)가 활성화되어, NIC(110)에서 출력되는 트래픽 데이터는 제4 가상 수신 버퍼(124)에 저장된다.
또한, 제2 스레드(Thread #2), 제3 스레드(Thread #3), 및 제4 스레드(Thread #2) 각각은 제2, 3, 4 가상 수신 버퍼(122, 123, 124)에 저장된 트래픽 데이터를 제2, 3, 4 하드 디스크(142, 143, 144)에 각각 저장한다,
또한, 제2 종료 트리거(ET 2)가 발생하면, 도 4에 도시된 바와 같이 제2 스레드(Thread #2)가 대기 상태로 전환되며, 트래픽 데이터의 흐름은 도 5e 같이 변화한다.
한편, 전환 트리거가 가상 수신 버퍼(121 내지 124)가 미리 설정된 임계치 이상 채워지면 발생하는 것으로 설명하였으나, 전환 트리거는 가상 수신 버퍼(121 내지 124)에서 오버플로우를 방지하기 위한 것으로 다른 조건에 의하여서도 발생할 수 있다.
예를 들어, 수신 버퍼에 트래픽 데이터가 전송된 시간이 미리 설정된 임계 시간을 경과하면 전환 트리거가 발생할 수 있다. 이때, 임계 시점은 트래픽 데이터의 전송 속도와 하드 디스크의 트래픽 데이터 입출력 속도 차이에 기초하여 계산될 수도 있다. 다시 말하면, 수신 버퍼에 데이터가 저장되는 입력 속도와 하드 디스크로 데이터가 출력되는 출력 속도의 차이에 기초하여 임계 시점을 설정할 수 있다.
트래픽 저장 장치(10)는 상술한 바와 같이 멀티 스레딩 방식에 따라 트래픽을 여러 개의 하드 디스크(141 내지 144)에 분산하여 저장할 수 있다. 구체적으로, 도 5에 도시된 바와 같이 한번에 복수 개의 하드 디스크(141 내지 144)에 트래픽 데이터를 저장하게 된다.
이와 같은 트래픽 데이터의 분산저장으로 인하여 하드 디스크(141 내지 144)의 느린 데이터 기록 속도를 보상하여 하드 디스크(141 내지 144)의 저장 지연으로 인한 트래픽 손실을 최소화할 수 있다.
한편, 트래픽 저장 장치(10)의 하드 디스크의 크기는 도 5에 도시된 바와 같이 서로 상이할 수 있는 바, 트래픽 저장 장치(10)를 용이하게 구성할 수 있다.
즉, 멀티 스레딩 방식에 따라 각 가상 수신 버퍼(121 내지 124)에 저장된 데이터를 서로 다른 하드 디스크에 저장하기 때문에 RAID와 같은 분산 저장 방식에 비하여 하드 디스크의 조합에 있어서 더 자유로울 수 있다.
아울러, 활성화될 스레드의 선택에 따라 트래픽 데이터가 저장될 하드 디스크를 결정할 수 있는 바, 특정 하드 디스크에 부하의 집중을 방지하여 하드 디스크의 수명을 연장시킬 수 있다.
프로세서(150)는 이와 같이 여러 개의 하드 디스크(141 내지 144)에 분산되어 저장된 트래픽 데이터를 통합할 수 있다.
트래픽 데이터의 병합에는 하드 디스크(141 내지 144)에 기록될 때 부여된 고유한 식별자가 이용될 수 있으며, 트래픽 데이터의 병합은 상대적으로 트래픽의 발생량이 적은 때에 수행될 수 있다.
이를 위해, 프로세서(150)는 트래픽 데이터의 전송량을 모니터링하고 트래픽 데이터의 전송량이 미리 설정된 기준치보다 낮아지면 트래픽 데이터의 병합을 수행하여 통합저장디스크(160)에 저장할 수 있다.
한편, 도 3 내지 4에서는 4개의 코어(151 내지 154)에 의하여 트래픽 데이터가 분산되어 저장되는 것으로 설명하였으나, 이에 한정되는 것이 아니다. 예를 들어, 하나의 코어에서 복수 개의 스레드가 수행되어 트래픽 데이터가 분산되어 저장될 수도 있다.
또한, 이상에서는 4개의 스레드에 의하여 트래픽 데이터가 분산되어 처리되는 설명하였으나, 트래픽 데이터의 전송량에 따라 동시에 수행되는 스레드의 개수는 달라질 수 있음을 이해하여야 한다.
이하, 도 3 내지 7을 참조하여 트래픽 데이터의 저장 방법에 대하여 구체적으로 설명한다.
도 6는 일 실시예에 따른 트래픽 저장 방법을 설명하기 위한 순서도이고, 도 7는 도 6의 S530단계를 상세히 설명하기 위한 순서도이다.
도 6에 도시된 바와 같이, 트래픽 저장 장치(10)는 트래픽 데이터를 수신할 수 있다(S510). 구체적으로, 네트워크 인터페이스 카드(network interface card, 이하 NIC(110))는 TAB 장치(31)로부터 트래픽 데이터를 수신할 수 있다. 이때, TAB 장치(31)는 전체 패킷 중 미리 설정된 조건을 만족하는 패킷만을 필터링하여 NIC(110)로 전송할 수 있다. 또한, TAB 장치(31)는 패킷의 일부분만 복제하여 NIC(110)로 전송할 수도 있다.
한편, 수신된 트래픽 데이터는 NIC(110)에 의하여 필터링될 수 있다(S520). 즉, NIC(110)는 프로세서(150)의 제어에 따라 수신된 트래픽 데이터를 필터링하여 특정 트래픽 데이터만을 출력할 수 있다.
필터링된 트래픽 데이터는 분산 기록될 수 있다(S530). 즉, 트래픽 데이터는 활성화된 스레드에 의하여 지정된 복수 개의 가상 수신 버퍼(121 내지 124) 중 특정 가상 수신 버퍼(121 내지 124)에 저장되고, 가상 수신 버퍼(121 내지 124)에 저장된 트래픽 데이터는 활성화된 스레드에 의하여 가상 수신 버퍼(121 내지 124)와 매핑된 하드 디스크(141 내지 144)에 분산되어 기록될 수 있다.
이때, 각 하드 디스크(141 내지 144)에 기록되는 트래픽 데이터는 미리 설정된 기준에 따라 고유한 식별자를 가진 파일로 저장될 수 있다.
분산 기록된 트래픽 데이터는 병합될 수 있다(S540). 트래픽 데이터의 병합에는 하드 디스크(141 내지 144)에 기록될 때 부여된 고유한 식별자가 이용될 수 있으며, 트래픽 데이터의 병합은 상대적으로 트래픽의 발생량이 적은 때에 수행될 수 있다.
이하, 7를 참조하여 도 6의 S530단계를 더 상세히 설명한다.
트래픽 데이터는 제1 하드 디스크에 기록된다(S531). 이때, 필터링된 트래픽 데이터는 활성화된 제1 스레드에 의하여 지정된 제1 가상 수신 버퍼에 저장될 수 있으며, 제1 스레드는 제1 가상 수신 버퍼에 저장된 트래픽 데이터를 제1 하드 디스크에 기록할 수 있다.
한편, 트래픽 데이터는 DMA 방식에 따라 프로세서(150)의 처리를 거치지 않고 직접 제1 가상 수신 버퍼에 저장될 수 있다. 이를 위해, 제1 스레드는 DMA 컨트롤러(130)에 제어 신호를 전송하여 트래픽 데이터가 저장될 제1 가상 수신 버퍼의 위치 및 크기를 지정할 수 있다.
제1 가상 수신 버퍼의 저장량이 임계치보다 작으면(S532의 아니오) NIC를 통해 입력된 트래픽 데이터는 계속하여 제1 가상 수신 버퍼에 저장되고, 제1 가상 수신 버퍼에 저장된 트래픽 데이터는 제1 스레드에 의하여 계속하여 제1 하드 디스크에 기록된다.(S531).
한편, 제1 하드 디스크의 기록 속도보다 제1 가상 수신 버퍼에 트래픽 데이터가 저장되는 속도가 빨라지면. 제1 가상 수신 버퍼의 저장량이 임계치보다 커진다(S532의 예).
이와 같이 제1 가상 수신 버퍼의 저장량이 임계치보다 커지면(S532의 예) 전환 트리거가 생성된다(S533). 여기서, 전환 트리거는 상술한 바와 같이 제1 가상 수신 버퍼에 오버플로우가 발생하지 않도록 하는 것으로 S531단계는 전환 트리거의 발생 조건에 따라 달라질 수 있음을 이해하여야 한다.
예를 들어, S532 단계는 미리 지정된 시간의 경과를 판단하는 단계로 치환될 수 있다.
아울러, 전환 트리거가 발생하면 대기 스레드 중 활성화 될 제2 스레드가 결정될 수 있다(S534). 예를 들어, 제1 스레드는 복수 개의 대기 스레드 중 미리 설정된 기준을 만족하는 하나의 스레드를 활성화될 제2 스레드로 결정할 수 있다.
이때, 제1 스레드는 결정된 제2 스레드에 IPC를 통해 활성화 이벤트를 전송할 수 있다.
제1 스레드는 지정된 제1 가상 수신 버퍼에 저장된 트래픽 데이터를 제1 하드 디스크에 기록할 수 있다(S535). 이때, 제1 스레드는 제1 가상 수신 버퍼에 저장된 트래픽 데이터가 모두 1 하드 디스크에 기록되면 대기 상태로 전환될 수 있다.
활성화된 제2 스레드는 필터링된 트래픽 데이터를 제2 하드 디스크에 기록한다(S536). 구체적으로, 활성화 된 제2 스레드는 DMA 컨트롤러(130)에 제어 신호를 전송하여 필터링된 트래픽 데이터가 저장될 제2 가상 수신 버퍼(122)를 지정할 수 있다.
따라서, 필터링된 트래픽 데이터는 DMA 컨트롤러에 의하여 제2 가상 수신 버퍼에 저장되고, 제2 가상 수신 버퍼에 저장된 트래픽 데이터는 제2 스레드에 의하여 제2 하드 디스크에 기록될 수 있다.
일 실시예에 따른 트래픽 저장 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media) 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.
100: 트래픽 저장 장치 110: NIC
111: Port 112: 드라이버
120: 메모리 130: DMA 컨트롤러
140: 분산저장장치 150: 통합저장디스크

Claims (15)

  1. 복수 개의 하드 디스크에 트래픽을 분산하여 저장하는 트래픽 저장 방법에 있어서,
    수신된 트래픽 데이터가 제1 스레드에 의하여 지정된 제1 가상 수신 버퍼에 저장되고, 상기 제1 가상 수신 버퍼에 저장된 트래픽 데이터가 제1 하드 디스크에 기록되는 기록 단계;
    스레드 전환 트리거가 발생하면 대기중인 제2 스레드가 활성화되는 활성 단계; 및
    상기 트래픽 데이터가 상기 제2 스레드에 의하여 지정된 제2 가상 수신 버퍼에 저장되고, 상기 제1, 2 가상 수신 버퍼에 저장된 트래픽 데이터가 각각 제1, 2 하드 디스크에 기록되는분산 기록 단계;
    를 포함하는 트래픽 저장 방법.
  2. 제1항에 있어서,
    상기 기록 단계는,
    네트워크로부터 상기 트래픽 데이터를 수신하는 단계; 및
    상기 트래픽 데이터를 필터링하는 단계;
    를 포함하는 트래픽 저장 방법.
  3. 제1항에 있어서,
    상기 활성 단계는,
    상기 제1 가상 수신 버퍼가 임계치 이상 채워지면 상기 전환 트리거가 발생하는 단계;
    를 포함하는 트래픽 저장 방법.
  4. 제1항에 있어서,
    상기 활성 단계는,
    상기 제1 가상 수신 버퍼에 트래픽 데이터가 저장되고 미리 설정된 시간이 경과하면 상기 전환 트리거가 발생하는 단계;
    를 포함하는 트래픽 저장 방법.
  5. 제1항에 있어서,
    상기 활성 단계는,
    상기 제1 스레드가 복수 개의 대기 스레드 중에서 활성화될 상기 제2 스레드를 결정하는 단계;를 포함하는 트래픽 저장 방법.
  6. 제1항에 있어서,
    상기 활성단계는,
    상기 제1 스레드는 프로세서 간 통신(IPC)을 이용하여 상기 제2 스레드를 활성화하는 단계;
    를 포함하는 트래픽 저장 방법.
  7. 제1항에 있어서,
    상기 분산 기록 단계는,
    상기 제1 가상 수신 버퍼에 저장된 트래픽 데이터가 모두 상기 제1 하드 디스크에 기록되면, 상기 제1 스레드가 대기 상태로 전환되는 단계;
    를 포함하는 트래픽 저장 방법.
  8. 제1항에 있어서,
    상기 트래픽 데이터가 전송량이 미리 설정된 기준치 이하로 낮아지면, 상기 복수 개의 하드 디스크에 분산되어 저장된 트래픽 데이터가 병합되는 단계;를 포함하는 트래픽 저장 방법.
  9. 제1항에 있어서,
    상기 트래픽 데이터는 고유한 식별자를 가진 파일 형태로 상기 하드 디스크에 저장되는 트래픽 저장 방법.
  10. 제1항 내지 제9항 중 어느 하나에 따른 방법에 대한 프로그램이 저장된 컴퓨터로 판독 가능한 기록 매체.
  11. 네트워크로부터 트래픽 데이터를 수신하는 네트워크 인터페이스;
    복수 개의 수신 버퍼가 설정된 메모리;
    상기 복수 개의 수신 버퍼에 대응하여 마련된 복수 개의 하드 디스크;
    제1 스레드에 의하여 지정된 제1 수신 버퍼에 상기 트래픽 데이터를 저장하는 DMA 컨트롤러;

    상기 제1 수신 버퍼에 저장된 트래픽 데이터를 제1 하드 디스크에 기록하고, 전환 트리거에 따라 대기 상태인 제2 스레드를 활성화하는 제1 스레드, 및 활성화 되면 상기 트래픽 데이터가 제2 수신 버퍼에 저장되도록 상기 DMA 컨트롤러를 설정하고, 상기 제2 수신 버퍼에 저장된 트래픽 데이터를 제2 하드 디스크에 기록하는 제2 스레드가 수행되는 프로세서;
    를 포함하는 트래픽 저장 장치.
  12. 제11항에 있어서,
    상기 네트워크 인터페이스는,
    네트워크로부터 수신한 트래픽 데이터를 필터링하여 출력하는 트래픽 저장 장치.
  13. 제11항에 있어서,
    상기 전환 트리거는 상기 제1 수신 버퍼가 임계치 이상 채워지거나 상기 제1 수신 버퍼에 트래픽 데이터가 저장되고 미리 설정된 임계 시간이 경과하면 발생하는 트래픽 저장 장치.
  14. 제11항에 있어서,
    상기 제1 스레드는 상기 제1 수신 버퍼에 저장된 트래픽 데이터가 모두 기록되면 대기 상태로 전환되는 트래픽 저장 장치.
  15. 제11항에 있어서,
    복수 개의 하드 디스크에 분산 기록된 트래픽 데이터가 병합되어 저장되는 통합저장장치를 더 포함하는 트래픽 저장 장치.
KR1020140074301A 2014-06-18 2014-06-18 트래픽 저장 장치 및 방법, 그리고 컴퓨터로 판독 가능한 기록 매체 KR101626279B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140074301A KR101626279B1 (ko) 2014-06-18 2014-06-18 트래픽 저장 장치 및 방법, 그리고 컴퓨터로 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140074301A KR101626279B1 (ko) 2014-06-18 2014-06-18 트래픽 저장 장치 및 방법, 그리고 컴퓨터로 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20150145049A true KR20150145049A (ko) 2015-12-29
KR101626279B1 KR101626279B1 (ko) 2016-06-13

Family

ID=56191310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140074301A KR101626279B1 (ko) 2014-06-18 2014-06-18 트래픽 저장 장치 및 방법, 그리고 컴퓨터로 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR101626279B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102080478B1 (ko) * 2019-06-20 2020-02-24 주식회사 쿼드마이너 패턴 기반 색인 처리 시스템 및 이를 이용한 패턴 기반 색인 처리 방법
KR102080479B1 (ko) * 2019-06-20 2020-02-24 주식회사 쿼드마이너 시나리오 중심 실시간 공격 감지 시스템 및 이를 이용한 시나리오 중심 실시간 공격 감지 방법
KR102080477B1 (ko) * 2019-06-20 2020-02-24 주식회사 쿼드마이너 고성능 패킷 스트림 저장 시스템 및 이를 이용한 고성능 패킷 스트림 저장 방법
WO2020256210A1 (ko) * 2019-06-20 2020-12-24 주식회사 쿼드마이너 네트워크 포렌식 시스템 및 이를 이용한 네트워크 포렌식 방법
KR102332727B1 (ko) * 2020-12-04 2021-12-01 한국서부발전 주식회사 발전소 제어망 자산의 트래픽의 분산 저장을 이용한 이상 감지 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177930B1 (en) * 2002-10-11 2007-02-13 Network General Technology Method and system for network traffic analysis with configuration enhancements

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177930B1 (en) * 2002-10-11 2007-02-13 Network General Technology Method and system for network traffic analysis with configuration enhancements

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102080478B1 (ko) * 2019-06-20 2020-02-24 주식회사 쿼드마이너 패턴 기반 색인 처리 시스템 및 이를 이용한 패턴 기반 색인 처리 방법
KR102080479B1 (ko) * 2019-06-20 2020-02-24 주식회사 쿼드마이너 시나리오 중심 실시간 공격 감지 시스템 및 이를 이용한 시나리오 중심 실시간 공격 감지 방법
KR102080477B1 (ko) * 2019-06-20 2020-02-24 주식회사 쿼드마이너 고성능 패킷 스트림 저장 시스템 및 이를 이용한 고성능 패킷 스트림 저장 방법
WO2020256210A1 (ko) * 2019-06-20 2020-12-24 주식회사 쿼드마이너 네트워크 포렌식 시스템 및 이를 이용한 네트워크 포렌식 방법
JP2022546879A (ja) * 2019-06-20 2022-11-10 クワッド マイナーズ ネットワークフォレンジックシステム及びこれを用いたネットワークフォレンジック方法
KR102332727B1 (ko) * 2020-12-04 2021-12-01 한국서부발전 주식회사 발전소 제어망 자산의 트래픽의 분산 저장을 이용한 이상 감지 시스템

Also Published As

Publication number Publication date
KR101626279B1 (ko) 2016-06-13

Similar Documents

Publication Publication Date Title
US9916275B2 (en) Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system
US20180176323A1 (en) System and Method for Managing Application Performance
KR101626279B1 (ko) 트래픽 저장 장치 및 방법, 그리고 컴퓨터로 판독 가능한 기록 매체
US10003649B2 (en) Systems and methods to improve read/write performance in object storage applications
US20190163371A1 (en) Next generation storage controller in hybrid environments
US8589919B2 (en) Traffic forwarding for virtual machines
US9785522B2 (en) Adaptive datacenter topology for distributed frameworks job control through network awareness
US9092259B2 (en) Apparatus and method for controlling a resource utilization policy in a virtual environment
CN112527494A (zh) 信息处理设备和方法以及非暂态计算机可读记录介质
US11265253B2 (en) Network resource management for hyperconverged infrastructures
US10705876B2 (en) Operation management system and operation management method
US9509637B1 (en) Methods and apparatus for virtualizing switch control plane engine
US9509627B2 (en) Resource over-subscription
JP2010102464A (ja) 計算機システムおよび計算機システムにおける複製作成方法
KR20150121891A (ko) 클라우드 스트리밍 서버 관리 시스템, 클라우드 스트리밍 서버 관리 방법 및 이를 위한 장치
US8458719B2 (en) Storage management in a data processing system
EP2746958B1 (en) Method and system of caching web content in a hard disk
US8612701B1 (en) Method and apparatus for accessing a tape drive from a plurality of nodes
CN113031857B (zh) 数据写入方法、装置、服务器及存储介质
CN112148644A (zh) 处理输入/输出请求的方法、装置和计算机程序产品
JP2008129828A (ja) ブレードサーバの動的割り当て方法
CN114064362B (zh) 用于分布式存储中的数据恢复方法、系统及计算机可读存储介质
KR102579474B1 (ko) 네트워크 부하 분산 방법 및 장치
KR101432745B1 (ko) 가상 클라우드 환경에서 클러스터의 분산 파일 시스템 및 데이터 복제 방법
US11698740B2 (en) Computer system

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: 20190328

Year of fee payment: 4