1 |
1
그래픽처리장치(Graphic Processing Unit)가 장착된 네트워크 아키텍처에 있어서, 패킷 처리와 관련하여 패킷의 입출력 제1 동작을 수행하도록 구성된 중앙처리장치; 및 입출력 허브를 통해서 상기 중앙처리장치와 연결되고, 상기 패킷 처리와 관련하여 IP 테이블 룩업, IPsec 암호화/복호화, 우선순위 대기열 처리, 오픈플로우 매칭 테이블 룩업, 침입 탐지 문자열 검색가운데 하나 이상인 제2 동작을 수행하도록 구성된 그래픽처리장치, 및 입력되는 전체 패킷에 대한 패킷 데이터를 저장하기 위한 두 개의 거대 패킷 버퍼(huge packet buffer)를 포함하고, 하나의 거대 패킷 버퍼는 메타데이터를 위한 버퍼이고, 다른 하나의 거대 패킷 버퍼는 패킷 데이터를 저장하기 위한 버퍼인 네트워크 아키텍처
|
2 |
2
삭제
|
3 |
3
제1항에 있어서, 상기 네트워크 아키텍처의 그래픽처리장치는 입력되는 패킷들을 병렬처리하도록 병렬 방식(parallel manner)으로 구현되고, 하드웨어 레벨, 장치 드라이버(device driver) 레벨 및 어플리케이션 레벨에서 배치 처리(batch processing)를 행하도록 구성되는 것을 특징으로 하는 네트워크 아키텍처
|
4 |
4
제 1항에 있어서, 상기 네트워크 아키텍처는 상기 중앙처리장치로부터 패킷 데이터를 수신할 때 선인출(prefetch) 방식으로 입력받도록 되어 있어, 그래픽처리장치의 장치 드라이버가 패킷을 처리함과 동시에 다음 패킷의 패킷 기술자(packet descriptor) 및 패킷 데이터(packet data)를 중앙처리장치의 캐시에 병렬로 선인출하도록 되어 있는 네트워크 아키텍처
|
5 |
5
제1항에 있어서, 상기 그래픽처리장치의 어플리케이션은 수신큐의 패킷들을 그래픽처리장치에 입력 데이터로 제공하기 위해 데이터 구조를 형성하는 프리-쉐이더(pre-shader);중앙처리장치의 호스트메모리로부터 입력데이터를 복사하여 패킷을 처리한 후 그 결과를 호스트 메모리로 전송하는 쉐이더(shader); 및 청크 내의 패킷들을 패킷 전송을 위해서 목적지 포트로 분할하는 포스트-쉐이더(post-shader)를 포함하는 네트워크 아키텍처
|
6 |
6
제1항에 있어서, 상기 중앙처리장치의 스레드는 그래픽장치에 의한 패킷처리의 가속화를 위해서 같은 노드에서 그래픽처리장치하고만 통신하는 매스터 스레드(master thread)와 패킷입출력을 담당하고 매스터 스레드로 하여금 그래픽처리장치와의 통신을 위한 프록시로 기능하도록 하는 워커 스레드(worker thread)로 구분되어 있는 것을 특징으로 하는 네트워크 아키텍처
|
7 |
7
제6항에 있어서, 상기 네트워크 아키텍처는 워커 스레드에서 청크 처리를 파이프라이닝해서 다수의 패킷들을 일괄적으로 처리하도록 되어 있는 것을 특징으로 하는 네트워크 아키텍처
|
8 |
8
삭제
|
9 |
9
삭제
|
10 |
10
삭제
|
11 |
11
중앙처리장치; 그래픽처리장치; 및 데이터 패킷 처리 어플리케이션을 포함하고, 상기 패킷 처리 어플리케이션은 상기 중앙처리장치에게 패킷 처리와 관련하여 패킷의 입출력인 제1 동작을 수행할 것을 지시하고, 상기 그래픽처리장치에게 상기 패킷 처리와 관련하여 IP 테이블 룩업, IPsec 암호화/복호화, 우선순위 대기열 처리, 오픈플로우 매칭 테이블 룩업, 침입 탐지 문자열 검색가운데 하나 이상인 제2 동작을 수행할 것을 지시하도록 구성된 제 1항 및 제3항 내지 제7항 중 어느 하나의 항의 네트워크 아키텍처를 포함하는 시스템
|
12 |
12
삭제
|
13 |
13
삭제
|
14 |
14
삭제
|
15 |
15
입력된 패킷을 중앙처리장치의 메모리로 이동시켜 패킷 처리와 관련하여 패킷의 입출력인 제1 단계 처리를 수행하는 단계;상기 중앙처리장치의 메모리로부터 그래픽처리장치의 메모리로 패킷을 이동시키는 단계;상기 그래픽처리장치에서 패킷 처리와 관련하여 IP 테이블 룩업, IPsec 암호화/복호화, 우선순위 대기열 처리, 오픈플로우 매칭 테이블 룩업, 침입 탐지 문자열 검색단계 가운데 하나 이상인 제2단계 처리를 수행하는 단계;상기 처리된 패킷을 중앙처리장치로 전송하여 출력하는 단계를 포함하고,여기서 상기 입력 패킷을 중앙처리장치의 메모리로 이동시키는 단계는 패킷을 커널 레벨 중앙처리장치 메모리(Kernel-level CPU memory로 이동)로 이동시키는 단계와 패킷을 사용자 -레벨 중앙처리장치 메모리(User-level CPU memory)로 이동시키는 단계를 포함하는 것을 특징으로 하는 패킷 처리 방법
|
16 |
16
제15항에 있어서, 상기 방법이 패킷 데이터 입력시 패킷 처리량을 소정의 임계값과 비교하여 상기 패킷 처리량이 상기 임계값 미만인 경우에는 패킷을 중앙처리장치에서 처리하고, 상기 패킷 처리량이 상기 임계값 이상인 경우에는 그래픽처리장치에 의한 패킷처리를 위해서 패킷데이터를 그래픽장치로 전송하는 단계를 추가로 포함하는 패킷 처리 방법
|
17 |
17
삭제
|
18 |
18
제15항에 있어서, 상기 커널-레벨 중앙처리장치의 메모리로 이동시키는 단계는 거대 패킷 버퍼에 큰 메모리를 할당하여 하나의 버퍼에 여러 개의 패킷을 저장하는 단계를 포함하는 것을 특징으로 하는 패킷 처리 방법
|
19 |
19
제15항에 있어서, 상기 사용자-레벨 중앙처리장치의 메모리로 이동시키는 단계는 패킷을 선인출 방식(prefetching)으로 처리하는 과정을 포함하는 패킷 처리 방법
|
20 |
20
제15항에 있어서, 상기 중앙처리장치에 의한 패킷 입출력 단계는 패킷들을 모아서 한꺼번에 배치로 처리하는 단계임을 특징으로 하는 패킷 처리 방법
|
21 |
21
제15항에 있어서, 상기 그래픽처리장치에 의한 패킷처리는 입력된 패킷들 병렬처리하는 단계임을 특징으로 하는 패킷 처리 방법
|
22 |
22
삭제
|
23 |
23
삭제
|
24 |
24
제15항에 있어서, 상기 중앙처리장치의 메모리로부터 그래픽처리장치의 메모리로 패킷을 이동시키는 단계는 패키의 내용 전체를 복사하는 대신에 라우팅 테이블 룩업에 필요한 일부분 만을 복사하는 단계임을 특징으로 하는 패킷 처리 방법
|