KR100922654B1 - 패킷 처리용 시스템 및 방법 - Google Patents

패킷 처리용 시스템 및 방법 Download PDF

Info

Publication number
KR100922654B1
KR100922654B1 KR1020047004273A KR20047004273A KR100922654B1 KR 100922654 B1 KR100922654 B1 KR 100922654B1 KR 1020047004273 A KR1020047004273 A KR 1020047004273A KR 20047004273 A KR20047004273 A KR 20047004273A KR 100922654 B1 KR100922654 B1 KR 100922654B1
Authority
KR
South Korea
Prior art keywords
packet
rules
identification
rule
processing
Prior art date
Application number
KR1020047004273A
Other languages
English (en)
Other versions
KR20040041175A (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 에릭슨 인크.
Publication of KR20040041175A publication Critical patent/KR20040041175A/ko
Application granted granted Critical
Publication of KR100922654B1 publication Critical patent/KR100922654B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Landscapes

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

Abstract

본 발명은 패스트 플로우-포워딩(FFF)을 이용하여 통신 스위치를 통해 패킷화 데이터 또는 패킷을 처리하는 시스템 및 방법을 제공한다. FFF는, 프로토콜층 경계를 넘는 패턴 매칭 및 데이터 조작 규칙에 기초하여 빠른 패킷 포워딩을 제공한다. 보다 상세하게, 본 발명은, 패킷이 하나 이상의 식별 규칙을 만족하는 경우 하나 이상의 변환 규칙을 이용하여 패킷이 수신되고 처리되는 패킷 처리 방법을 제공한다. 다른 방법으로, 이 패킷은 그 하나 이상의 식별 규칙을 만족하지 않는 경우 표준 프로세스를 이용하여 처리된다. 이 방법은 방법의 각 단계를 수행하도록 코드 세그먼트를 갖는 컴퓨터 프로그램을 이용하여 구현될 수 있다.
패킷 처리 방법, 식별 규칙, 변환 규칙, 패킷 플로우

Description

패킷 처리용 시스템 및 방법{SYSTEM AND METHOD FOR PROCESSING PACKETS}
본 발명은 일반적으로 통신 영역에 관한 것으로, 보다 구체적으로 패킷 처리용 시스템 및 방법에 관한 것이다.
데이터 통신에 대한 요구의 증가는, 더 많은 정보와 새로운 타입의 정보를 처리하기 위해 통신 네트워크를 사용하는 보다 비용 효율적이고 능률적인 수단을 제공하는 기술의 개발을 가져왔다. 이러한 기술의 하나로서, 음성 또는 데이터일 수 있는 정보를 패킷으로 분할하는 것이 있다. 패킷은 통상적으로, 적어도 데이터 및 제어 정보를 포함하는 2진수의 그룹으로 되어 있다. 집적된 패킷 네트워크(통상적으로 고속 패킷 네트워크)는, 예를 들어, 연속적인 비트율("CBR"), 스피치("패킷 보이스"), 데이터("프레임화된 데이터"), 영상 등을 포함할 수 있는, 적어도 두 개(2)의 트래픽 클래스를 전달하는데 사용된다. 패킷 네트워크는, 프로토콜 패킷을 소스, 싱크 및/또는 포워드한다. 각 패킷은 명확하게 정의된 포맷을 가지며, 하나 이상의 패킷 헤더 및 일부 데이터로 구성된다. 헤더는 통상적으로, 패킷의 소스 및 목적지와 같은 어드레스 정보 및/또는 제어를 제공하는 정보를 포함한다.
패킷 헤더의 생성은, 중앙 처리부("CPU") 및/또는 스위치와 같은 상당한 양의 시스템 자원을 요구한다. 그 결과, 통신 스위치의 처리량은, 스위치내의 CPU의 용량, 및/또는 CPU가 제공해야만 하는 다른 프로세싱 기능들에 의해 제한되거나 한정된다. 이러한 프로세싱 제약들은 스위치내의 혼잡 및 서비스 품질("QoS") 문제를 야기한다. 또한, 스위치의 처리량은 기본적으로 스위치 구조의 용량에 의해 결정된다. 더구나, 스위치의 프로세싱 용량의 대부분은 패킷 헤더를 프로세싱하는데 사용되고, 이는 통상적으로 연속적인 패킷들 사이에서 크게 변하지 않는다. 그 결과, 스위치의 처리량은, 프로세싱이 자주 반복된다는 사실에도 불구하고, 프로세싱할 수 있는 패킷의 수에 의해 제한된다. 따라서, 스위치의 처리량을 증가시키도록 패킷을 프로세싱하는 시스템 및 방법에 대한 요구가 존재한다.
본 발명은 패스트 플로우-포워딩("FFF";Fast Flow-Forwarding) 시스템을 사용하여 통신 스위치를 통해 패킷화된 데이터 또는 패킷을 프로세싱하기 위한 시스템 및 방법을 제공한다. FFF는 패턴 매칭, 및 프로토콜 계층 경계를 넘나드는 데이터 처리 규칙에 기초해서, 패킷의 포워딩을 신속하게 처리한다. FFF는 특정 플로우와 결합된 패킷을 식별함으로써, 스위치의 효율성을 향상시키도록 다수의 프로토콜 환경에서 구현될 수 있다. 플로우는 특정 소스로부터 나오며, 하나 이상의 특정 목적지로 전달되는 상관된 패킷들의 스트림이다. 통상적으로, 이러한 플로우는 동일한 소스 및 목적지 어드레스, 및 단일의 클라이언트-서버 세션으로부터 나오는 공통의 다른 기준을 가질 것이다.
본 발명은, 패킷이 하나 이상의 식별 규칙을 만족하는 경우, 하나 이상의 변환 규칙을 사용해서 수신되고 처리되는 패킷을 프로세싱하는 방법을 제공한다. 다 른 방법에서는, 패킷이 하나 이상의 식별 규칙을 만족하지 않는 경우, 표준 프로세스를 사용해서 패킷이 프로세싱된다. 이 방법은 각 단계를 실행하기 위한 코드 세그먼트를 갖는 컴퓨터 프로그램을 사용하여 구현될 수 있다.
또한, 본 발명은 하나 이상의 입력 카드, 하나 이상의 제어 카드, 하나 이상의 출력 카드, 및 통신 버스를 포함하는 통신 스위치를 제공한다. 통신 버스는 입력 카드, 제어 카드, 및 출력 카드를 함께 통신가능 하도록 접속시킨다. 각각의 제어 카드는 적어도 하나의 프로세서를 포함한다. 또한, 각 입력 카드는 하나 이상의 패킷을 수신하고, 패킷이 하나 이상의 식별 규칙을 만족하는 경우, 하나 이상의 변환 규칙을 사용해서 각 패킷을 프로세싱하고, 패킷이 하나 이상의 식별 규칙을 만족하지 않는 경우, 표준 프로세스를 사용해서 처리하기 위한 프로세서 중의 하나로 각 패킷을 송신한다.
본 발명은 또한, 하나 이상의 입력 카드, 하나 이상의 제어 카드, 하나 이상의 신호 처리 카드, 하나 이상의 출력 카드, 스위치 패브릭, 및 TDM 버스를 갖는 통신 스위치를 제공한다. 각 제어 카드는 적어도 하나의 프로세서를 갖는다. 또한, 각 신호 처리 카드는 디지털 신호 프로세서의 어레이를 포함한다. 각 디지털 신호 프로세서는 하나 이상의 패킷을 생성하고, 이 하나 이상의 패킷을 패스트 플로우 포워딩 엔진으로 송신한다. 각각의 패스트 플로우 포워딩 엔진은 하나 이상의 패킷을 수신하고, 패킷이 하나 이상의 식별 규칙을 만족하는 경우, 하나 이상의 변환 규칙을 사용해서 각 패킷을 프로세싱하고, 패킷이 하나 이상의 식별 규칙을 만족하지 않는 경우, 표준 프로세스를 사용해서 처리하기 위한 프로세서 중의 하나로 각 패킷을 송신한다. 각 스위치 패브릭은 입력 카드, 신호 처리 카드, 제어 카드 및 출력 카드를 함께 통신 가능하도록 접속시킨다. TDM 버스는 입력 카드, 신호 처리 카드, 제어 카드, 및 출력 카드를 통신 가능하도록 접속시킨다.
본 발명의 이해를 돕고, 본 발명이 효과적으로 수행되는 방법을 예시하기 위해서, 서로 다른 도면에서 대응하는 번호들이 대응하는 부분을 나타내는 첨부 도면에 따라서 본 발명의 상세한 설명을 참조 부호와 함께 설명한다.
도 1은 본 발명에 따른 통신 스위치의 일 실시예를 나타내는 블록도이다.
도 2는 본 발명에 따른 패스트 플로우 포워딩 제어기의 플로우 차트이다.
도 3은 본 발명에 따른 패스트 플로우 포워딩 엔진의 플로우 차트이다.
도 4는 본 발명의 일 실시예에 따른 패킷 네트워크 스위치를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 패킷 네트워크 스위치의 개략도이다.
본 발명의 다양한 실시예들의 구성 및 사용이 다음에서 상세하게 설명되겠지만, 본 발명은 다수의 적용가능한 새로운 개념을 제공하고, 이것이 광범위하고 다양한 특정 환경에서 통합될 수 있다는 것이 이해되어야 한다. 예를 들어, 통신 시스템 외에도, 본 발명은 다른 통신 형태들 또는 일반적 데이터 프로세싱에 적용가능하다. 다른 통신 형태들은 네트워크 사이의 통신, 위성을 통한 통신, 본 발명의 데이터로서 아직 공지되지 않은 소정의 통신 형태를 포함한다. 본 명세서에서 논의되는 특정 실시예들은 단지 본 발명을 구성하고 사용하기 위한 특정 방법에 대한 예시일 뿐, 본 발명의 범위를 제한하는 것은 아니다.
본 발명은 패스트 플로우 포워딩("FFF") 시스템을 사용하여 통신 스위치를 통해 패킷화된 데이터 또는 패킷을 프로세싱하기 위한 시스템 및 방법을 제공한다. FFF는 패턴 매칭, 및 프로토콜 계층 경계를 넘나드는 데이터 처리 규칙에 기초해서, 패킷의 포워딩을 신속하게 처리한다. FFF는 특정 플로우와 결합된 패킷을 식별함으로써, 스위치의 효율성을 향상시키도록 다수의 프로토콜 환경에서 구현될 수 있다. 플로우는 특정 소스로부터 나오며, 하나 이상의 특정 목적지로 전달되는 상관된 패킷들의 스트림이다. 통상적으로, 이러한 플로우는 동일한 소스 및 목적지 어드레스, 및 단일의 클라이언트-서버 세션으로부터 나오는 공통의 다른 기준을 가질 것이다.
예를 들어, 보이스 오버 인터넷 프로토콜("VoIP")의 경우, 음성 통화는 서로 다른 데이터를 갖는 다수의 인터넷 프로토콜("IP") 패킷으로 구성된다. VoIP는 IP 기반의 데이터 네트워크를 통해 전화 통화를 하고, 팩스를 송신할 수 있게 한다. 집적된 음성/데이터 네트워크는 보다 표준화될 수 있고, 필요한 전체 장비를 감소시킬 수 있다. VoIP는 멀티미디어 및 멀티-서비스 애플리케이션을 지원할 수 있다. 그러나, 특정 통화와 관련된 모든 패킷은 통상적으로 동일하거나 유사한 헤더 정보를 가지며, 따라서, 플로우로서 기술될 수 있다. 본 발명에서 플로우가 검출되고, 표준 프로세싱 단계가 기록되면, 동일한 프로세싱 처리는, 비교적 간단한 무지각(프로토콜-무지각; protocol-unware) 장치에 의해 적용될 수 있는 어느 정도의 일반 규칙에 의해 정의될 수 있다. 반면에, 표준 프로세싱 시스템(종래의 프로토콜 프로세싱)에서, 특정 플로우와 결합된 IP 패킷은, 프로토콜 스택으로 불리는 계층화된 프로토콜 소프트웨어 프로세스에 기초해서, 개별적으로 스위칭된다. 그러나, 이 방법은, 각 개별 패킷이 스위치의 프로세서를 통해 유사하게 처리되기 때문에, 스위치의 효율성을 저하시키고, 이에 따라, 시스템 처리량의 감소 및/또는 허용할 수 없는 패킷의 레이턴시를 가져오게 된다. 플로우의 잔여분에 대한 표준 프로세싱 경로의 계층화된 프로토콜 프로세싱을 피하기 위해서, 본 발명의 FFF를 사용하는 스위치는 플로우의 일부로서 식별되는 이러한 패킷에 대해서 매우 높은 처리량을 가능하게 한다.
IP는 데이터그램으로도 불리는 패킷의 포맷 및 어드레싱 기법을 특정한다. 대부분의 네트워크는 더 높은 레벨의 프로토콜을 IP와 결합한다. 이러한 하나의 프로토콜은 전송 제어 프로토콜("TCP";Transport Control Protocol)로 불리고, 이는 목적지와 소스 사이의 가상 접속을 설정한다. IP는 패킷을 어드레싱하여 시스템에 드롭되는 것을 허용하지만, 발신자와 수신자 사이에는 직접적인 링크가 없다. 반면에, TCP/IP는 2개의 호스트 사이의 접속을 설정하여, 일정 시간동안 메시지를 송수신할 수 있도록 한다.
또 다른 IP 패킷 헤더는 실시간 전송 프로토콜("RTP")이고, 이는 오디오 및 비디오를 포함하는 실시간 데이터의 전송에 대한 인터넷 표준이다. RTP는 특정 인코딩 포맷에서 음성 샘플링을 포함하는 것으로서 패킷을 식별하는데 사용된다. 타임스탬프 및 시퀀스 넘버는 통상적으로, RTP 패킷의 스트림으로부터 동기성 음성 스트림을 재집합하는데 사용된다. RTP는 또한, 서비스 요구 미디어, 및 IP 전화기와 같은 대화형 서비스에 대해 사용될 수 있다. 반면에, 사용자 데이터그램 프로토콜("UDP") 헤더는 효율적이지만 신뢰성이 없는(보장되지 않은) 데이터의 전송을 제공한다. 실시간 데이터의 재전송이 음성 통화에 너무 많은 지연을 부가하기 때문에, UDP 헤더는 실시간 음성 데이터를 전송하는데 사용된다. 그러나, IP는 네트워크를 통한 전송을 위한 데이터의 표준 캡슐화를 제공한다. IP는 라우팅에 사용되는 소스 및 목적지 어드레스를 포함한다. MAC은 관리 기능을 수행하고, 장치에 대한 어드레스 결정 프로토콜("ARP")을 처리한다.
이제 도 1을 참조하면, 본 발명에 따른 통신 스위치(100)의 일 실시예의 블록도가 도시되어 있다. 스위치(100)는 하나 이상의 제어 카드(102), 하나 이상의 입력 카드(104) 및 하나 이상의 출력 카드(106)를 포함한다. 제어 카드(102), 입력 카드(104) 및 출력 카드(106)는 주변 컴포넌트 상호접속("PCI") 버스 등의 통신 버스(108)를 통하여 서로 통신가능하게 접속된다. 제어 카드(102)는 또한 이더넷 인터페이스(112)를 통해 이더넷 접속(110)에 통신가능하게 접속된다.
제어 카드(102)는 하나 이상의 CPU를 포함하고 제어기(114)는 PCI 인터페이스(116)에 통신가능하게 접속되고 PCI 버스(108)에 액세스를 허가한다. 제어기(114)는 프토토콜 매니저(118)에 통신가능하게 접속되고 이 프로토콜 매니저는 프로토콜 스택(120)의 각 레벨에서 패킷을 프세스하는 하나 이상의 에이전트를 포함한다. 그 결과, 적어도 하나의 프로토콜 매니저(118) 및 각 타입의 프로토콜에 대한 프로토콜 스택(120)이 제어 카드(102)에 의해 처리된다. 예를들어, IP 프로토콜 스택은 하부에서 상부로 이더넷 층(120a), IP 층(120b), UDP층(120c) 및 RTP 층(120d)을 포함한다. 마찬가지로, 프로토콜 매니저(118)는 프로토콜 스택(120)의 각 층에 대응하는 층 매니저(118a, 118b, 118c 및 118d)를 갖는다. 프로토콜층 수와 층 매니저는 처리되는 프로토콜에 의지한다. 제어기(114), 프로토콜 매니저(118) 및 프로토콜 스택(120)은 본 발명을 처리하기 위한 표준 프로토콜을 제공한다.
본 발명의 제어 카드(102)는 또한 FFF 제어기(122)를 포함하고, 이것은 FFF 매니저(124) 및 FFF 애플리케이션(126) 중 적어도 하나의 예를 포함한다. FFF 제어기(122)는 제어기(114)에 통신가능하게 접속되고, PCI 인터페이스(116) 및 프로토콜 매니저(118)에 통신가능하게 접속된다. FFF 제어기(122), FFF 매니저(124) 및 FFF 애플리케이션(126)의 동작을 도 2를 참조하여 좀 더 상세히 설명하기로 한다. 제어 카드(102)는 또한 이더넷 인터페이스(112), 프로토콜 스택(120), FFF 제어기(122) 및 FFF 데이터베이스(130)에 통신가능하게 접속된 FFF 엔진(128)을 포함할 수 있다. FFF 엔진(128) 및 FFF 데이터베이스(130)의 동작을 도 3을 참조하여 설명하기로 한다. 다른 경우라면, 프로토콜 스택(120)이 이더넷 인터페이스(112)에 통신가능하게 접속된다.
하나 이상의 입력 카드(104)는 통신(134) 수신을 위한 입력 네트워크 인터페이스(132), PCI 버스(108)에 통신가능하게 접속된 PCI 인터페이스(136) 및 입력 네트워크 인터페이스(132) 및 PCI 인터페이스(136)에 통신가능하게 접속된 입력 드라이버(138)를 포함한다. 입력 카드(104)는 또한 입력 네트워크 인터페이스(132)에 통신가능하게 접속된 하나 이상의 FFF 엔진(140), PCI 인터페이스(136), 입력 드라 이버(138) 및 FFF 데이터베이스(142)를 포함한다. FFF 엔진(140) 및 FFF 데이터베이스(142)의 동작을 도 3을 참조하여 좀 더 상세히 설명하기로 한다. 하나 이상의 출력 카드(106)는 통신(146)을 수신을 위한 출력 네트워크 인터페이스(144), PCI 버스(108)에 통신가능하게 접속된 PCI 인터페이스(148), 및 출력 네트워크 인터페이스(144) 및 PCI 인터페이스(148)에 통신가능하게 접속된 출력 드라이버(150)를 포함한다.
하나 이상의 FFF 애플리케이션(126)은 프로토콜 매니저(118) 및 프로토콜 스택(120)을 감시하여 현재 플로우에서의 변화 및 새로운 플로우를 검출한다. FFF 애플리케이션(126)은 층 매니저(118a- 118d)와 함께 동작하여 특정 플로우에 대한 식별 규칙, 검증 규칙 및/또한 변환 규칙을 검출한다. FFF 애플리케이션(126)은 완전한 세트의 플로우 설정 규칙을 만들도록 구성되고 이것은 (128 또는 140)과 같은 FFF 엔진의 설치를 위한 하나 이상의 식별 규칙, 하나 이상의 검증 규칙, 및/또는 하나 이상의 변환 규칙을 포함할 수 있다. FFF 매니저(124)는 FFF 시스템에 대한 관리 인터페이스를 핸들링하고 FFF 애플리케이션(126)과 FFF 엔진(128 및 140) 사이에 통신을 제어한다. 더욱이, FFF 매니저(124)는 FFF 애플리케이션(126)으로부터 부가, 삭제 및/또는 질의 요청을 수용하고 이 요청을 FFF 엔진(128 및 140)에 의해 이해가능한 형태로 변환한다. 또한, FFF 매니저(124)는 식별, 검증 및/또는 변환 규칙을 FFF 엔진(128 및 140)에 통신하고, 이 FFF 엔진은 FFF 데이터베이스(130 및 142) 각각에 규칙을 저장한다. FFF 데이터베이스 매니저(도시안됨)는 FFF 데이터베이스(130 및 142)를 제어한다. FFF 엔진(128 및 140)과, FFF 데이터베이스 매니저(도시안됨)는 FFF에 참여하도록 구성된 입력 드라이버(138)와 같은 어떤 드라이버로 하나 이상의 라이브러리 루틴으로서 제공된다. 라이브러리 루틴은 소프트웨어로 구현되거나 하드웨어 가속형(hardware-accelerated)이다.
FFF 데이터베이스 매니저(도시안됨)는 FFF 엔진(128 및 140)에 의한 빠른 프레임 처리를 원활히하기 위해 식별, 검증 및/또는 변환 규칙을 판정 트리로서 저장한다. 판정 트리는 하나 이상의 노드를 포함하고 각 노드는 해시 테이블이다. 판정 트리에서 해시 테이블의 사용은 당업자에게 공지되어 있다. 또한, FFF 엔진(128 및 140)은 패킷이 현재의 플로우 패턴에 입력되는 프레임을 매치시킴으로서 식별된 플로의 일부인지 여부를 판정하고, 이것은 FFF 데이터베이스(130 및 142)에 저장된 하나 이상의 식별 규칙로서 저장된다. 하나 이상의 식별 규칙은 데이터 패턴 시퀀스, 데이터 마스크, 및/또는 특정 플로에 속하는 것으로서 IP 데이터 패킷을 고유하게 식별하는 IP 데이터 패킷의 상관 오프셋을 포함할 수 있다. FFF 엔진(128 및 140)은 또한 FFF 데이터베이스(130 및 142)에 저장된 하나 이상의 검증 규칙을 사용하여 입력 프레임을 검증할 수 있다. 하나 이상의 검증 규칙은 패킷은 FFF에 적격인 것을 좀 더 검증하기 위해 사용된다. 패킷이 성공적으로 식별되고 검증된다면, FFF 엔진(128 및 140)은 FFF 데이터베이스(130 및 142)에 저장된 하나 이상의 변환 규칙을 사용하여 이를 처리한다. 전형적으로, 최종 변환 규칙은 전송 출력될 변환된 패킷에 대한 출력 인터페이스의 식별을 포함한다. 일단 변환되면, 패킷은 PCI 버스(108) 및 PCI 인터페이스(136 및 148)을 통해 출력 카드(106)로 바로 전송된다. 그러나, 시스템이 동일한 인쇄 회로 기판 상에 FFF 엔진(128 및 140)로서 공존하는 출력 포트를 포함한다면, 패킷은 출력 포트를 통해 바로 송신될 수 있다.
시스템이 초기화되면, FFF 데이터베이스(130 및 142)(판정 트리)는 통상 비어있다(empty). 시스템 개시에 이어, 데이터베이스(130 및 142)(판정 트리)는 저장된 정보로 로드될 수 있다. 저장된 데이터베이스 정보가 이용불가하거나 또는 존재하지 않는다면, FFF 엔진(128 및 140)은 FFF 데이터베이스(130 및 142)가 플로우 셋으로 로드될때 까지 표준 프로세싱을 위한 프로토콜 스택(120)으로의 특정 플로로와 연관된 패킷 라우팅을 디폴트한다. 더욱이, 플로우 셋이 FFF 엔진(128 및 140)으로부터 추가, 변경 및 제거됨에 따라 FFF 데이터베이스(130 및 142)(판정 트리)는 동적으로 변경된다.
도 1 및 2를 참조하면, 도 2는 본 발명에 따른 빠른 플로우-포워딩 제어기의 플로우 차트를 도시한다. 플로우 설정 규칙(식별, 검증 및 변환)을 생성, 갱신 및 삭제하기 위한 프로세스가 블록(200)에서 개시한다. FFF 제어기(122), 및 좀 더 상세히는, 하나 이상의 FFF 애플리케이션(126)은 블록(202)에서 프로토콜 매니저(118)에 의해 프로토콜 스택(120)에서 패킷의 표준 프로세싱을 감시한다. FFF 제어기(122)가 판정 블록(204)에서 판정된 바와같이 호 설정 정보와 같은 어떤 외부 데이터를 수신하지 않는다면, 판정 블록(206)에서 판정된 바와 같이 새로운 플로우가 검출되고, 하나 이상의 식별 규칙, 하나 이상의 검증 또는 확인 규칙, 및 하나 이상의 변환 규칙이 블록(208)에서 생성된다. FFF 매니저(124)는 블록(210)에서 검출된 플로우를 핸들링하는 FFF 엔진(128 및 140)에 이용가능한 플로우 셋 규칙(하나 이상의 식별 규칙, 하나 이상의 검증 또는 확인 규칙 및 하나 이상의 변환 규칙)을 만든다. 그 결과, FFF 엔진(128 및 140)은 블록(212)에서 인에이블된다. 그 다음, FFF 제어기(122)는 블록(202)에서 FFF 애플리케이션(126)을 통해 패킷의 표준 프로세싱을 계속하여 감시한다.
그러나, FFF 제어기(122)가 판정 블록(204)에서 판정된 바와 같이 호 설정 정보 등의 외부 데이터를 수신한다면, 판정 블록(214)에서 판정된 바와 같이, 호에 대한 플로우 셋 규칙을 앞서 생성할 수 있도록 외부 데이터가 충분히 예측가능하다면, 이 플로우 셋 규칙(하나 이상의 식별 규칙, 하나 이상의 검증 또는 확인 규칙 및 하나 이상의 변환 규칙)은 블록(208)에서 생성되고 프로세스는 앞서 설명한 바와 같이 진행한다. 그러나, 판정 블록(214)에서 판정된 바와 같이, 호에 대한 플로우 셋 규칙을 앞서 생성할 수 있도록 외부 데이터가 충분히 예측가능하지 않다면, FFF 제어기(122)는 계속하여 블록(202)에서 FFF 애플리케이션(126)을 통해 패킷의 표준 프로세싱을 감시한다.
그러나, 판정 블록(206)에서 판정된 바와 같이 새로운 플로우가 검출되지 않지만, 판정 블록(216)에서 판정된 바와 같이 현재 플로우에서의 변화가 검출된다면, 하나 이상의 식별 규칙, 하나 이상의 검증 규칙 및 하나 이상의 변환 규칙들이 블록(218)에서 갱신된다. FFF 매니저(124)는 블록(220)에서 검출된 플로우를 핸들링하는 FFF 엔진(128 및 140)에 이용가능한 갱신된 플로우 셋 규칙들(하나 이상의 식별 규칙, 하나 이상의 검증 또는 확인 규칙 및 하나 이상의 변환 규칙)을 만든다. 그런다음, FFF 제어기(122)는 계속하여 블록(202)에서의 FFF 애플리케이션을 통해 패킷의 표준 프로세싱 감시를 계속한다.
그러나, 판정 블록(216)에서 판정된 바와 같이, 현재 플로우에서의 변화가 검출되지 않지만, 판정 블록(222)에서 판정된 바와 같이 타임아웃, 종료 또는 리셋 상태가 검출된다면, 블록(224)에서 하나 이상의 식별 규칙, 하나 이상의 검증 또는 확인 규칙 및 하나 이상의 변환 규칙이 클리어되거나 삭제된다. 그 결과, 적용가능한 FFF 엔진(128 또는 140)이 블록(226)에서 디스에이블된다. 그런다음, FFF 제어기(122)는 계속하여 블록(202)에서 FFF 애플리케이션(126)을 통해 패킷의 표준 프로세싱 감시를 계속한다.
이제 도 1 및 도 3을 참조하면, 도 3은 본 발명에 따른 패스트 플로우-포워딩 엔진의 플로챠트를 도시한다. 패킷의 FFF 엔진(128 또는 140) 프로세싱이 블록(300)에서 개시한다. FFF 엔진(128 또는 140)은 블록(302)에서 패킷을 수신한다. 판정 블록(304)에서 판정된 바와 같이, FFF 엔진(128 또는 140)이 디스에이블되거나 플로우 셋 규칙이 FFF 데이터베이스(130) 또는 142)에 로드되지 않는다면, 패킷은 블록(306)에서의 표준 프로세스를 사용하여 프로세스되고 송신된다. 이것은 패킷이 프로세싱을 위해 프로토콜 스택(120)으로 송신되지 않는다는 것을 의미한다. 그런 다음, FFF 엔진(128 또는 140)은 판정 블록(308)에서 판정된 바와 같이 타임아웃, 종료 또는 리셋 상태를 수신하고, 하나 이상의 식별 규칙, 하나 이상의 검증 또는 확인 규칙 및 하나 이상의 변환 규칙이 블록(310)에서 클리어되거나 삭제되고 FFF 엔진(128 또는 140)은 블록(312)에서 프로세스를 종료한다. 그 결과, 적용가능한 FFF 엔진(128 및 140)이 디스에이블된다.
그러나, 판정 블록(304)에서 판정된 바와 같이 FFF 엔진(128 및 140)이 인에이블되고 플로우 설정 규칙이 FFF 데이터베이스(130 또는 142)에 로드된다면, 패킷은 블록(314)에서 하나 이상의 식별 규칙에 대해 테스트된다. 식별 프로세스가 판정 블록(316)에서 판정된 바와 같이 성공적이지 않다면, 패킷은 블록(306)에서의 표준 프로세스를 사용하여 처리되고 송신되며 이러한 프로세스 진행은 이미 설명한 바 있다. 이것은 패킷이 프로세싱을 위해 프로토콜 스택(120)으로 송신됨을 의미한다. 그러나, 만약 판정 블록(316)에서 판정된 바와 같이 식별 프로세스가 성공적이라면, 패킷은 블록(318)에서 하나 이상의 검증 규칙에 대해 테스트된다. 판정 블록(320)에서 판정된 바와 같이 확인 또는 검증 프로세스가 성공적이지 않다면, 패킷은 블록(306)에서의 표준 프로세스를 사용하여 프로세스되고 송신되며 이 프로세스 진행은 이미 설명한 바 있다. 이것은, 패킷이 처리되도록 프로토콜 스택(120)에 전송되는 것을 의미한다. 그러나, 결정 블록(320)에서 결정된 바와 같이 확인 또는 검증 프로세스가 성공적이라면, 블록(322)에서 그 하나 이상의 변환 규칙을 이용하여 패킷이 처리되고 블록(324)에서 처리된 또는 변환된 패킷은 할당된 출력 포트에 직접 전송된다. 이후, 프로세스는 상기한 바와 같이 결정 블록(308)으로 루프백하며, 블록(302)에서 그 다음 패킷을 수신하여 그 프로세스를 반복할 가능성이 높다.
이제 도 4를 참조하여, 본 발명에 따른 통신 스위칭(400)를 설명한다. 패킷 네트워크 스위치(400)는 VoIP, 보이스 오버 프레임 릴레이(VoFR), 및 다른 종류의 호를 처리하는데 이용할 수 있다. 또한, 패킷 네트워크 스위치(400)는 비동기 전 송 모드(ATM) 스위치와 유사하다. ATM은 랜(LAN) 및 완(WAN) 환경 모두에서 이용되는 접속 지향 기술이다. 이것은, 각 채널에 대하여 자유로운 용량 할당이 가능한 패스트 패킷 스위칭 기술이다. 패킷 네트워크 스위치(400)는 하나 이상의 입력 카드(402a, 402b), 하나 이상의 신호 처리 카드(404), 하나 이상의 제어 카드(406), 하나 이상의 출력 카드(408a, 408b), 스위치 패브릭(410), 및 TDM 버스(412)를 포함한다. 각 신호 처리 카드(404)는 디지털 신호 프로세서(DSP; 도시하지 않음)의 어레이를 구비하고, 각 제어 카드(406)는 하나 이상의 프로세서(도시하지 않음)를 구비한다. 스위치 패브릭(410)은 입력 카드(402), 신호 처리 카드(404), 제어 카드(406), 및 출력 카드(408)에 통신가능하게 접속된다. 또한, TDM 버스(412)는 입력 카드(402), 신호 처리 카드(404), 제어 카드(406), 및 출력 카드(408)를 모두 접속한다. 바람직하게, 카드(402, 404, 406, 408)는 패킷 네트워크 스위치(400) 내에 임의의 순서로 삽입될 수 있다. 또한, 패킷 네트워크 스위치(400)는, 카드(402, 404, 406, 408)가 고장났을 때 백업 카드로서 기능할 수 있는 충분한 양의 리던던트 카드를 포함해야 한다.
패킷 네트워크 스위치(400)의 주 기능은 사용자 데이터 셀을 입력 포트로부터 적절한 출력 포트로 중계하는 것이다. 패킷 네트워크 스위치(400)에 의해 호 또는 통신이 처리될 때, 네트워크 제어기(도시하지 않음)는 제어 카드(408)에 필요한 호 설정 정보를 제공한다. 제어 카드(408)는, 이 호 설정 정보를 이용하여, 일반 전화 교환망(PSTN)으로부터의 호를 수신하도록 입력 카드(402a 또는 402b)에서의 포트를 할당하고, 처리 카드(404)내의 DSP가 그 호를 처리하도록 하고, 출력 카 드(408a, 또는 408b)의 포트가 그 호를 IP 네트워크(도시하지 않음)로 전송하도록 제어한다. 각 제어 카드(408)는 자신의 고유 메모리를 갖고 이에 따라 반복적 호 및 동기 및 충돌 문제와 같이 공유 메모리와 관련된 전형적인 문제점을 피하게 된다. TDM계 통신 또는 메시지는 입력 카드(402a 또는 402b)를 통해 입력되어 TDM 버스(412)를 통해 적절한 처리 카드(404)에 라우팅된다. 처리 카드(404) 내의 DSP는 아날로그와 디지털 정보포맷 간에 메시지를 변환하고, 디지털 압축 및 스위칭 기능을 제공한다. 일실시예에서, 각 처리 카드(404)는 1024개의 동시 세션을 처리할 수 있다. 이후, 처리 카드(404)는 메시지를 DSP로부터 셀 스위치 패브릭(410)에 전송하며, 이것은 스위치 소자 간에 기본적인 전송 유닛, 데이터 셀 또는 메시지의 라우팅 및 전송을 주로 담당한다. 또한, 스위치 패브릭(410)은, 셀 버퍼링, 트래픽 집중, 및 멀티플렉싱, 장해 허용성(fault tolerance)을 위한 리던던시, 멀티캐스팅 또는 브로드캐스팅, 및 지연 우선순위 및 정체현상(congestion) 감시에 기초하여 셀 스케쥴링을 제공한다. 스위치 패브릭(410)은 최종적으로 그 메시지를 출력 카드(408a 또는 408b)에 라우팅한다. 일실시예에서, 각 출력 카드(408)는 적어도 8000개의 호를 처리할 수 있다. 출력 카드(408a, 408b)는 전형적으로 그 메시지를 기가비트 이더넷(도시하지 않음)에 전송한다. 그 이름에서 의미하듯이, 기가비트 이더넷은 초당 1 기가비트(즉, 1000 메가비트)의 데이터 속도를 지원한다.
도 5를 참조하면, 본 발명의 일실시예에 따른 패킷 네트워크 스위치(500)가 개략적으로 도시되어 있다. 패킷 네트워크 스위치(500)는 TDM 버스(504)에 통신가능하게 접속된 입력 카드(502a, 502b)를 포함한다. TDM 버스(504)는 다수의 DSP(506a, 506b, 506c...506n)에 통신가능하게 접속된다. DSP(506a, 506b, 506c...506n)는 전형적으로 하나 이상의 신호 처리 카드 상에 위치한 DSP 어레이로 구성된다. 각 DSP(506a, 506b, 506c...506n)는 FFF 엔진(508a, 508b, 508c...508n)에 통신가능하게 접속되며, 각 엔진은 상기한 바와 같은 FFF 데이터베이스(도시하지 않음)를 갖는다. 각 FFF 엔진(508a, 508b, 508c...508n)은 스위치 패브릭(510)에 통신가능하게 접속된다. 스위치 패브릭(510)은 출력 카드(512a, 512b)에 통신가능하게 접속된다. 또한, 패킷 네트워크 스위치(500)는 하나 이상의 CPU(514)를 포함하며, 이것은 전형적으로 하나 이상의 제어 카드 상에 위치한다. CPU(514)는 입력 카드(502a, 502b), DSP(506a, 506b, 506c...506n), 및 출력 카드(512a, 512b)에 통신가능하게 접속된다. FFF 매니저(도시하지 않음) 및 하나 이상의 FFF 애플리케이션(도시하지 않음)을 포함하는 FFF 제어기(516)는 CPU(514) 및 FFF 엔진(508a, 508b, 508c...508n)에 통신가능하게 접속된다.
시분할 멀티플렉싱(TDM)계 통신(518a 또는 518b)으로부터 IP계 통신(520a 또는 520b)으로의 변환동안, CPU(514)는 호에 대한 시그널링 지시(522)를 수신하고 입력 카드(502a, 502b) 포트, 및 출력 카드(512a, 512b) 포트,및 DSP(506a, 506b, 506c...506n)를 할당하여 그 호를 처리한다. 유사한 방식으로, FFF 제어기(516) (FFF 매니저)는, 각 DSP(506a, 506b, 506c...506n)에 의해 패킷이 생성된 후 FFF 엔진(508a, 508b, 508c...508n)을 할당하여 그 패킷을 처리한다. DSP(506a, 506b, 506c...506n)는 CPU(514)로부터 호 설정 정보를 수신하고 호 설정 정보 또는 베어러(bearer) 타입에 기초하여 CPU(514)로부터 오버레이를 요구한다. DSP(506a, 506b, 506c...506n)는 그 오버레이를 수신 및 로드한다. 오버레이는 소정 타입의 호를 처리하도록 DSP(506a, 506b, 506c...506n)를 적절히 구성하는데 필요한 동작 파라미터를 포함한다. 오버레이의 실시간 로딩에 의해 각 DSP(506a, 506b, 506c...506n)는 임의의 호 종류를 처리할 수 있다. 또한, 오버레이 사용으로 인해, 패킷 네트워크 스위치(500)는 소프트웨어 갱신 또는 다운로드를 통해 새로운 호 타입을 처리하도록 또는 기존의 호 타입을 더 효율적으로 처리하도록 갱신될 수 있다. 또한, 패킷 네트워크 스위치(500)는 다양한 호 타입에 대한 대역폭 할당을 동적 제어하도록 오버레이 할당을 이용하여 QoS 표준 및/또는 라이센싱 제한의 준수를 보장할 수 있다.
다음으로, DSP(506a, 506b, 506c...506n)는 펄스 코드 변조(PCM) 데이터를 처리하고 그 데이터의 판별을 수행하여 상이한 오버레이가 필요한지 여부를 결정한다. 오버레이가 변경될 필요가 있으면, DSP(506a, 506b, 506c...506n)는 상이한 오버레이를 요구하고, 그 상이한 오버레이를 수신 및 로드한다. 예를 들어, 호 전달 타입은 실제로 음성 또는 팩스중 어느 하나일 수 있지만 이러한 호 전달 타입이 음성이라고 호 설정 정보가 가리킬 수 있다. 따라서, PCM 데이터의 추가 판별을 통해 그 호가 음성 호가 아닌 실제로 팩스임을 DSP(506a, 506b, 506c...506n)가 인식하면, DSP(506a, 506b, 506c...506n)는 그 팩스를 처리하기 위해 DSP(506a, 506b, 506c...506n)을 적절히 구성하도록 상이한 오버레이를 요구할 것이다.
일단 적절한 오버레이가 로드되면, DSP(506a, 506b, 506c...506n)는 할당된 입력 카드(502a, 502b) 포트로부터 TDM 버스(504)를 통해 호 데이터를 수신한다. 이후, DSP(506a, 506b, 506c...506n)는 호 데이터를 압축하고 패킷의 데이터부를 생성한다. 또한, DSP(506a, 506b, 506c...506n)는 압축된 호 데이터로부터 하나 이상의 디지털 샘플을 생성하고 이 하나 이상의 디지털 샘플을 이용하여 패킷의 데이터부를 생성할 수 있다. 또한, DSP(506a, 506b, 506c...506n)는, 호 데이터 및 호 설정 정보를 이용하여 RTP 헤더, UDP 헤더, IP 헤더 및 MAC 헤더와 같은 하나 이상의 헤더를 생성한다. 보다 상세하게, RTP 및 UDP 헤더는 호 데이터로부터 생성되는 한편 IP 및 MAC 헤더는 호 설정 정보로부터 생성된다. DSP(506a, 506b, 506c...506n)는 RTP 헤더, UDP 헤더, IP 헤더, 또는 MAC 헤더와 같이 임의의 특정 헤더 생성으로 한정되지 않으며, 패킷의 적절한 전달을 위해 필요한 임의의 헤더를 생성하는데 이용될 수 있음을 주목하길 바란다.
이후, DSP(506a, 506b, 506c...506n)는 하나 이상의 헤더를 패킷의 데이터부에 첨부한다. DSP(506a, 506b, 506c...506n)는 완전한 패킷(데이터 + 헤더)을 할당된 FFF 엔진(508a, 508b, 508c...508n)에 전송한다. 할당된 FFF 엔진(508a, 508b, 508c...508n)은, 패킷이 하나 이상의 식별 규칙 및/또는 검증 또는 확인 규칙을 만족하는 경우 하나 이상의 변환 규칙을 이용하여 그 패킷을 처리한다. 그렇지 않다면, 할당된 FFF 엔진(508a, 508b, 508c...508n)은, 패킷이 하나 이상의 식별 규칙 및/또는 검증 또는 확인 규칙을 만족하지 않는 경우 표준 프로세스를 이용하여 패킷을 처리한다. 표준 프로세스는 도 1을 참조하여 설명되어 있다. FFF 프로세스는 도 1 내지 도 3을 참조하여 설명되어 있다. 이후, 처리된 패킷은 IP 네트워크를 통한 전송을 위해 스위치 패브릭(510)을 통해 적절한 출력 카드(512a, 512b) 포트에 다시 전송된다.
상기한 실시예는 본 발명과 그 실제 응용을 설명하기 위한 것이며 이에 따라 당업자가 본 발명을 이용할 수 있게 하려는 것이다. 그러나, 당업자는 상기한 설명 및 예가 단지 예를 든 것일 뿐이라는 것을 인식할 것이다. 상기한 설명은 본 발명을 그 설명한 형태로 제한하지 않는다. 첨부한 청구범위의 사상 및 범위로부터 벗어나지 않고 상술한 본 발명의 교시에 따라 다양한 수정 및 변경을 행할 수 있다.

Claims (52)

  1. 패킷을 처리하는 방법에 있어서,
    상기 패킷을 수신하는 단계와,
    상기 패킷이 하나 이상의 식별 규칙을 만족하는 경우 하나 이상의 변환 규칙을 이용하여 상기 패킷을 처리하는 단계와,
    상기 패킷이 상기 하나 이상의 식별 규칙을 만족하지 않는 경우 표준 프로세스를 이용하여 상기 패킷을 처리하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 식별 규칙은 하나 이상의 확인 규칙을 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    외부 데이터에 기초하여 상기 하나 이상의 식별 규칙 및 상기 하나 이상의 변환 규칙을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 외부 데이터는 호 설정 정보인 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 하나 이상의 변환 규칙을 이용하여 상기 패킷이 처리된 후 상기 패킷을 출력 포트에 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 표준 프로세스를 감시하여 하나 이상의 패킷 플로우를 검출하는 단계와,
    패킷 플로우가 검출되는 경우 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 생성하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 패킷 플로우에서의 변화가 검출되는 경우 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 하나 이상의 식별 규칙은 결정 트리를 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 결정 트리는 하나 이상의 노드를 포함하고, 각 노드는 해시 테이블인 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    각 변환 규칙은 처리 명령어를 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 표준 프로세스는 프로토콜 스택인 것을 특징으로 하는 방법.
  12. 제1항에 있어서,
    상기 패킷은 IP 패킷인 것을 특징으로 하는 방법.
  13. 제1항에 있어서,
    상기 패킷은 이더넷 패킷인 것을 특징으로 하는 방법.
  14. 패킷을 처리하기 위한 컴퓨터 프로그램을 구현한 컴퓨터 판독가능 기록 매체로서,
    상기 컴퓨터 프로그램은
    상기 패킷을 수신하기 위한 코드 세그먼트와,
    패킷용 코드 세그먼트가 하나 이상의 식별 규칙을 만족하는 경우 하나 이상의 변환 규칙을 이용하여 상기 패킷을 처리하기 위한 코드 세그먼트와,
    상기 패킷이 상기 하나 이상의 식별 규칙을 만족하지 않는 경우 표준 프로세스를 이용하여 상기 패킷을 처리하기 위한 코드 세그먼트
    를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  15. 제14항에 있어서,
    상기 하나 이상의 식별 규칙은 하나 이상의 확인 규칙을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  16. 제14항에 있어서,
    상기 컴퓨터 프로그램은,
    외부 데이터에 기초하여 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 생성하기 위한 코드 세그먼트를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  17. 제16항에 있어서,
    상기 외부 데이터는 호 설정 정보인 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  18. 제14항에 있어서,
    상기 컴퓨터 프로그램은,
    상기 하나 이상의 변환 규칙을 이용하여 상기 패킷이 처리된 후 상기 패킷을 출력 포트에 전송하기 위한 코드 세그먼트를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  19. 제14항에 있어서,
    상기 컴퓨터 프로그램은,
    상기 표준 프로세스를 감시하여 하나 이상의 패킷 플로우를 검출하기 위한 코드 세그먼트와,
    패킷 플로우가 검출되는 경우 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 생성하기 위한 코드 세그먼트
    를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  20. 제19항에 있어서,
    상기 컴퓨터 프로그램은,
    상기 패킷 플로우에서의 변화가 검출되는 경우 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 갱신하기 위한 코드 세그먼트를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  21. 제14항에 있어서,
    상기 하나 이상의 식별 규칙은 결정 트리인 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  22. 제21항에 있어서,
    상기 결정 트리는 하나 이상의 노드를 포함하고, 각 노드는 해시 테이블인 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  23. 제14항에 있어서,
    각 변환 규칙은 처리 명령어를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  24. 제14항에 있어서,
    상기 표준 프로세스는 프로토콜 스택인 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  25. 제14항에 있어서,
    상기 패킷은 IP 패킷인 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  26. 제14항에 있어서,
    상기 패킷은 이더넷 패킷인 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  27. 하나 이상의 입력 카드와,
    적어도 하나의 프로세서를 각각 구비하는 하나 이상의 제어 카드와,
    하나 이상의 출력 카드와,
    상기 입력 카드, 상기 제어 카드, 및 상기 출력 카드에 모두 통신가능하게 접속된 통신 버스
    를 포함하고,
    각 입력 카드는, 하나 이상의 패킷을 수신하고, 상기 패킷이 하나 이상의 식별 규칙을 만족하는 경우 하나 이상의 변환 규칙을 이용하여 각 패킷을 처리하며, 상기 패킷이 상기 하나 이상의 식별 규칙을 만족하지 않는 경우 표준 프로세스를 이용하여 처리하도록 각 패킷을 상기 프로세서중 하나에 전송하는 것을 특징으로 하는 통신 스위치.
  28. 제27항에 있어서,
    상기 하나 이상의 식별 규칙은 하나 이상의 확인 규칙을 더 포함하는 것을 특징으로 하는 통신 스위치.
  29. 제27항에 있어서,
    각 제어 카드는, 외부 데이터에 기초하여 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 생성하는 패스트 플로우 포워딩 제어기를 더 포함하는 것을 특징으로 하는 통신 스위치.
  30. 제29항에 있어서,
    상기 외부 데이터는 호 설정 정보인 것을 특징으로 하는 통신 스위치.
  31. 제27항에 있어서,
    상기 패킷은, 상기 하나 이상의 변환 규칙을 이용하여 상기 패킷이 처리된 후 상기 출력 카드중 하나에 전송되는 것을 특징으로 하는 통신 스위치.
  32. 제27항에 있어서,
    각 제어 카드는, 상기 표준 프로세스를 감시하여 하나 이상의 패킷 플로우를 검출하고, 패킷 플로우가 검출되는 경우 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 생성하는 패스트 플로우 포워딩 제어기를 더 포함하는 것을 특징으로 하는 통신 스위치.
  33. 제32항에 있어서,
    상기 패스트 플로우 포워딩 제어기는, 상기 패킷 플로우에서의 변화가 검출되는 경우 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 갱신하는 것을 특징으로 하는 통신 스위치.
  34. 제27항에 있어서,
    상기 하나 이상의 식별 규칙은 결정 트리를 포함하는 것을 특징으로 하는 통신 스위치.
  35. 제34항에 있어서,
    상기 결정 트리는 하나 이상의 노드를 포함하고, 각 노드는 해시 테이블인 것을 특징으로 하는 통신 스위치.
  36. 제27항에 있어서,
    각 변환 규칙은 처리 명령어를 포함하는 것을 특징으로 하는 통신 스위치.
  37. 제27항에 있어서,
    상기 표준 프로세스는 프로토콜 스택인 것을 특징으로 하는 통신 스위치.
  38. 제27항에 있어서,
    상기 패킷은 IP 패킷인 것을 특징으로 하는 통신 스위치.
  39. 제27항에 있어서,
    상기 패킷은 이더넷 패킷인 것을 특징으로 하는 통신 스위치.
  40. 하나 이상의 입력 카드와,
    적어도 하나의 프로세서를 각각 구비하는 하나 이상의 제어 카드와,
    하나 이상의 신호 처리 카드와,
    하나 이상의 출력 카드와,
    상기 입력 카드, 상기 신호 처리 카드, 상기 제어 카드, 및 상기 출력 카드 모두에 통신가능하게 접속된 스위치 패브릭과,
    상기 입력 카드, 상기 신호 처리 카드, 상기 제어 카드, 및 상기 출력 카드 모두에 통신가능하게 접속된 TDM 버스
    를 포함하고,
    상기 신호 처리 카드의 각각은 디지털 신호 프로세서의 어레이를 포함하고,
    각 디지털 신호 프로세서는 하나 이상의 패킷을 생성하고 상기 하나 이상의 패킷을 패스트 플로우 포워딩 엔진에 전송하며,
    각 패스트 플로우 포워딩 엔진은 상기 하나 이상의 패킷을 수신하며, 상기 패킷이 하나 이상의 식별 규칙을 만족하는 경우 하나 이상의 변환 규칙을 이용하여 각 패킷을 처리하고, 상기 패킷이 상기 하나 이상의 식별 규칙을 만족하지 않는 경우 표준 프로세스를 이용하여 처리하도록 각 패킷을 상기 프로세서중 하나에 전송하는 것을 특징으로 하는 통신 스위치.
  41. 제40항에 있어서,
    상기 하나 이상의 식별 규칙은 하나 이상의 확인 규칙을 더 포함하는 것을 특징으로 하는 통신 스위치.
  42. 제40항에 있어서,
    각 제어 카드는, 외부 데이터에 기초하여 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 생성하는 패스트 플로우 포워딩 제어기를 더 포함하는 것을 특징으로 하는 통신 스위치.
  43. 제42항에 있어서,
    상기 외부 데이터는 호 설정 정보인 것을 특징으로 하는 통신 스위치.
  44. 제40항에 있어서,
    상기 패킷은, 상기 하나 이상의 변환 규칙을 이용하여 처리된 후 상기 출력 카드중 하나에 전송되는 것을 특징으로 하는 통신 스위치.
  45. 제40항에 있어서,
    각 제어 카드는, 상기 표준 프로세스를 감시하여 하나 이상의 패킷 플로우를 검출하고, 패킷 플로우가 검출되는 경우 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 생성하는 패스트 플로우 포워딩 제어기를 더 포함하는 것을 특징으로 하는 통신 스위치.
  46. 제45항에 있어서,
    상기 패스트 플로우 포워딩 제어기는, 상기 패킷 플로우에서의 변화가 검출되는 경우 상기 하나 이상의 식별 규칙과 상기 하나 이상의 변환 규칙을 갱신하는 것을 특징으로 하는 통신 스위치.
  47. 제40항에 있어서,
    상기 하나 이상의 식별 규칙은 결정 트리를 포함하는 것을 특징으로 하는 통신 스위치.
  48. 제47항에 있어서,
    상기 결정 트리는 하나 이상의 노드를 포함하고, 각 노드는 해시 테이블인 것을 특징으로 하는 통신 스위치.
  49. 제40항에 있어서,
    각 변환 규칙은 처리 명령어를 포함하는 것을 특징으로 하는 통신 스위치.
  50. 제40항에 있어서,
    상기 표준 프로세스는 프로토콜 스택인 것을 특징으로 하는 통신 스위치.
  51. 제40항에 있어서,
    상기 패킷은 IP 패킷인 것을 특징으로 하는 통신 스위치.
  52. 제40항에 있어서,
    상기 패킷은 이더넷 패킷인 것을 특징으로 하는 통신 스위치.
KR1020047004273A 2001-09-24 2002-09-23 패킷 처리용 시스템 및 방법 KR100922654B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/962,707 2001-09-24
US09/962,707 US7042888B2 (en) 2001-09-24 2001-09-24 System and method for processing packets
PCT/US2002/030057 WO2003028292A2 (en) 2001-09-24 2002-09-23 System and method for processing packets

Publications (2)

Publication Number Publication Date
KR20040041175A KR20040041175A (ko) 2004-05-14
KR100922654B1 true KR100922654B1 (ko) 2009-10-19

Family

ID=25506248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047004273A KR100922654B1 (ko) 2001-09-24 2002-09-23 패킷 처리용 시스템 및 방법

Country Status (8)

Country Link
US (1) US7042888B2 (ko)
EP (1) EP1430661B1 (ko)
JP (2) JP2005505171A (ko)
KR (1) KR100922654B1 (ko)
CN (1) CN100366024C (ko)
AU (1) AU2002331887A1 (ko)
ES (1) ES2388428T3 (ko)
WO (1) WO2003028292A2 (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088739B2 (en) * 2001-11-09 2006-08-08 Ericsson Inc. Method and apparatus for creating a packet using a digital signal processor
US7426209B2 (en) * 2002-12-13 2008-09-16 Telefonaktiebolaget L M Ericsson (Publ) System for content based message processing
US7474739B2 (en) * 2003-12-15 2009-01-06 International Business Machines Corporation Providing speaker identifying information within embedded digital information
US20050286512A1 (en) * 2004-06-28 2005-12-29 Atul Mahamuni Flow processing
US7738484B2 (en) * 2004-12-13 2010-06-15 Intel Corporation Method, system, and apparatus for system level initialization
US7734741B2 (en) * 2004-12-13 2010-06-08 Intel Corporation Method, system, and apparatus for dynamic reconfiguration of resources
JP4375303B2 (ja) * 2005-08-19 2009-12-02 ブラザー工業株式会社 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
CN100579146C (zh) * 2005-09-02 2010-01-06 深圳市东进通讯技术股份有限公司 综合电信平台中的模块配置管理方法
US9003292B2 (en) 2006-07-06 2015-04-07 LiveAction, Inc. System and method for network topology and flow visualization
US8929360B2 (en) * 2006-12-07 2015-01-06 Cisco Technology, Inc. Systems, methods, media, and means for hiding network topology
US8599747B1 (en) * 2006-12-20 2013-12-03 Radisys Canada Inc. Lawful interception of real time packet data
US7936677B2 (en) 2007-03-22 2011-05-03 Sharp Laboratories Of America, Inc. Selection of an audio visual stream by sampling
US8000329B2 (en) * 2007-06-29 2011-08-16 Alcatel Lucent Open platform architecture for integrating multiple heterogeneous network functions
US20090003375A1 (en) * 2007-06-29 2009-01-01 Martin Havemann Network system having an extensible control plane
US7843914B2 (en) * 2007-06-29 2010-11-30 Alcatel-Lucent Network system having an extensible forwarding plane
US8510791B2 (en) * 2007-09-19 2013-08-13 Trend Micro Incorporated Method and system for dynamic protocol decoding and analysis
US20090092136A1 (en) * 2007-10-09 2009-04-09 Broadcom Corporation System and method for packet classification, modification and forwarding
US8125908B2 (en) * 2007-12-04 2012-02-28 Extrahop Networks, Inc. Adaptive network traffic classification using historical context
US7908376B2 (en) * 2008-07-31 2011-03-15 Broadcom Corporation Data path acceleration of a network stack
KR200452383Y1 (ko) * 2009-03-09 2011-02-22 (주)아모레퍼시픽 뚜껑에 융기되는 퍼프가 설치된 화장품 용기
US8325733B2 (en) * 2009-09-09 2012-12-04 Exafer Ltd Method and system for layer 2 manipulator and forwarder
US9015318B1 (en) 2009-11-18 2015-04-21 Cisco Technology, Inc. System and method for inspecting domain name system flows in a network environment
US9009293B2 (en) * 2009-11-18 2015-04-14 Cisco Technology, Inc. System and method for reporting packet characteristics in a network environment
US9148380B2 (en) 2009-11-23 2015-09-29 Cisco Technology, Inc. System and method for providing a sequence numbering mechanism in a network environment
WO2011064923A1 (ja) 2009-11-26 2011-06-03 日本電気株式会社 中継装置
US8792495B1 (en) 2009-12-19 2014-07-29 Cisco Technology, Inc. System and method for managing out of order packets in a network environment
US8509069B1 (en) * 2009-12-22 2013-08-13 Juniper Networks, Inc. Cell sharing to improve throughput within a network device
CN102316012B (zh) * 2010-06-30 2014-05-14 杭州华三通信技术有限公司 一种实现ip快转的方法和三层转发设备
US8787303B2 (en) 2010-10-05 2014-07-22 Cisco Technology, Inc. Methods and apparatus for data traffic offloading at a router
US9003057B2 (en) 2011-01-04 2015-04-07 Cisco Technology, Inc. System and method for exchanging information in a mobile wireless network environment
US8743690B1 (en) 2011-06-14 2014-06-03 Cisco Technology, Inc. Selective packet sequence acceleration in a network environment
US8948013B1 (en) * 2011-06-14 2015-02-03 Cisco Technology, Inc. Selective packet sequence acceleration in a network environment
US8737221B1 (en) 2011-06-14 2014-05-27 Cisco Technology, Inc. Accelerated processing of aggregate data flows in a network environment
US10015048B2 (en) 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
US9300554B1 (en) 2015-06-25 2016-03-29 Extrahop Networks, Inc. Heuristics for determining the layout of a procedurally generated user interface
US11418632B2 (en) * 2015-12-15 2022-08-16 Intel Corporation High speed flexible packet classification using network processors
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
US10230633B2 (en) * 2016-01-21 2019-03-12 Red Hat, Inc. Shared memory communication in software defined networking
US10204211B2 (en) 2016-02-03 2019-02-12 Extrahop Networks, Inc. Healthcare operations with passive network monitoring
US9729416B1 (en) 2016-07-11 2017-08-08 Extrahop Networks, Inc. Anomaly detection using device relationship graphs
US9660879B1 (en) 2016-07-25 2017-05-23 Extrahop Networks, Inc. Flow deduplication across a cluster of network monitoring devices
US11223520B1 (en) 2017-01-31 2022-01-11 Intel Corporation Remote control plane directing data plane configurator
CN106656804B (zh) * 2017-02-05 2019-11-19 北京中航通用科技有限公司 低延时的报文转发方法、装置及交换机
US10476673B2 (en) 2017-03-22 2019-11-12 Extrahop Networks, Inc. Managing session secrets for continuous packet capture systems
US10686735B1 (en) 2017-04-23 2020-06-16 Barefoot Networks, Inc. Packet reconstruction at deparser
US11392317B2 (en) * 2017-05-31 2022-07-19 Fmad Engineering Kabushiki Gaisha High speed data packet flow processing
US10990326B2 (en) 2017-05-31 2021-04-27 Fmad Engineering Kabushiki Gaisha High-speed replay of captured data packets
US11036438B2 (en) 2017-05-31 2021-06-15 Fmad Engineering Kabushiki Gaisha Efficient storage architecture for high speed packet capture
US10523578B1 (en) 2017-07-23 2019-12-31 Barefoot Networks, Inc. Transmission of traffic management data to processing pipeline
US10063434B1 (en) 2017-08-29 2018-08-28 Extrahop Networks, Inc. Classifying applications or activities based on network behavior
US10771387B1 (en) 2017-09-28 2020-09-08 Barefoot Networks, Inc. Multiple packet data container types for a processing pipeline
US9967292B1 (en) 2017-10-25 2018-05-08 Extrahop Networks, Inc. Inline secret sharing
US10389574B1 (en) 2018-02-07 2019-08-20 Extrahop Networks, Inc. Ranking alerts based on network monitoring
US10264003B1 (en) 2018-02-07 2019-04-16 Extrahop Networks, Inc. Adaptive network monitoring with tuneable elastic granularity
US10038611B1 (en) 2018-02-08 2018-07-31 Extrahop Networks, Inc. Personalization of alerts based on network monitoring
US10270794B1 (en) 2018-02-09 2019-04-23 Extrahop Networks, Inc. Detection of denial of service attacks
US10116679B1 (en) 2018-05-18 2018-10-30 Extrahop Networks, Inc. Privilege inference and monitoring based on network behavior
US10411978B1 (en) 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
US10594718B1 (en) 2018-08-21 2020-03-17 Extrahop Networks, Inc. Managing incident response operations based on monitored network activity
US10965702B2 (en) 2019-05-28 2021-03-30 Extrahop Networks, Inc. Detecting injection attacks using passive network monitoring
US11165814B2 (en) 2019-07-29 2021-11-02 Extrahop Networks, Inc. Modifying triage information based on network monitoring
US10742530B1 (en) 2019-08-05 2020-08-11 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US11388072B2 (en) 2019-08-05 2022-07-12 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US10742677B1 (en) 2019-09-04 2020-08-11 Extrahop Networks, Inc. Automatic determination of user roles and asset types based on network monitoring
US11165823B2 (en) 2019-12-17 2021-11-02 Extrahop Networks, Inc. Automated preemptive polymorphic deception
EP4218212A1 (en) 2020-09-23 2023-08-02 ExtraHop Networks, Inc. Monitoring encrypted network traffic
US11463466B2 (en) 2020-09-23 2022-10-04 Extrahop Networks, Inc. Monitoring encrypted network traffic
US11686638B2 (en) 2021-05-08 2023-06-27 The Boeing Company Piezoelectric sensor having a membrane made of auxetic metamaterial for enhanced sensitivity
US11349861B1 (en) 2021-06-18 2022-05-31 Extrahop Networks, Inc. Identifying network entities based on beaconing activity
US11296967B1 (en) 2021-09-23 2022-04-05 Extrahop Networks, Inc. Combining passive network analysis and active probing
US11843606B2 (en) 2022-03-30 2023-12-12 Extrahop Networks, Inc. Detecting abnormal data access based on data similarity

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732079A (en) 1995-12-22 1998-03-24 Cisco Technology, Inc. Method and apparatus for skewing the start of transmission on multiple data highways

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321606A (en) * 1987-05-19 1994-06-14 Hitachi, Ltd. Data transforming method using externally provided transformation rules
US5307413A (en) * 1991-07-19 1994-04-26 Process Software Corporation Method and apparatus for adding data compression and other services in a computer network
JP3232711B2 (ja) * 1992-11-10 2001-11-26 松下電器産業株式会社 ルータ中継装置
JPH0998189A (ja) * 1995-09-29 1997-04-08 Toshiba Corp ネットワーク中継装置
US5828846A (en) * 1995-11-22 1998-10-27 Raptor Systems, Inc. Controlling passage of packets or messages via a virtual connection or flow
EP0814583A2 (en) * 1996-06-20 1997-12-29 International Business Machines Corporation Method and system for minimizing the connection set up time in high speed packet switching networks
US6016307A (en) * 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6009097A (en) * 1997-04-04 1999-12-28 Lucent Technologies Inc. System for routing packet switched traffic
US5946311A (en) * 1997-05-27 1999-08-31 International Business Machines Corporation Method for allowing more efficient communication in an environment wherein multiple protocols are utilized
US6104700A (en) * 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
US6032197A (en) * 1997-09-25 2000-02-29 Microsoft Corporation Data packet header compression for unidirectional transmission
US6259699B1 (en) * 1997-12-30 2001-07-10 Nexabit Networks, Llc System architecture for and method of processing packets and/or cells in a common switch
US6859438B2 (en) * 1998-02-03 2005-02-22 Extreme Networks, Inc. Policy based quality of service
US6115372A (en) * 1998-02-04 2000-09-05 Newcom Technologies, Inc. Synchronous packet switching
US6266707B1 (en) * 1998-08-17 2001-07-24 International Business Machines Corporation System and method for IP network address translation and IP filtering with dynamic address resolution
JP2000295274A (ja) * 1999-04-05 2000-10-20 Nec Corp パケット交換装置
JP3403971B2 (ja) * 1999-06-02 2003-05-06 富士通株式会社 パケット転送装置
US6674743B1 (en) * 1999-12-30 2004-01-06 3Com Corporation Method and apparatus for providing policy-based services for internal applications
JP3692054B2 (ja) * 2001-05-21 2005-09-07 株式会社東芝 文書構造変換方法および文書構造変換装置およびプログラム
US20020188732A1 (en) * 2001-06-06 2002-12-12 Buckman Charles R. System and method for allocating bandwidth across a network
US20030009585A1 (en) * 2001-07-06 2003-01-09 Brian Antoine Dynamic policy based routing
US7831733B2 (en) * 2001-07-06 2010-11-09 Avaya Holdings Limited Policy-based forwarding in open shortest path first (OSPF) networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732079A (en) 1995-12-22 1998-03-24 Cisco Technology, Inc. Method and apparatus for skewing the start of transmission on multiple data highways

Also Published As

Publication number Publication date
JP2005505171A (ja) 2005-02-17
JP4686531B2 (ja) 2011-05-25
WO2003028292A3 (en) 2003-07-10
US7042888B2 (en) 2006-05-09
JP2008086048A (ja) 2008-04-10
EP1430661A2 (en) 2004-06-23
WO2003028292A2 (en) 2003-04-03
KR20040041175A (ko) 2004-05-14
CN1589551A (zh) 2005-03-02
EP1430661B1 (en) 2012-05-30
AU2002331887A1 (en) 2003-04-07
ES2388428T3 (es) 2012-10-15
CN100366024C (zh) 2008-01-30
US20030058872A1 (en) 2003-03-27

Similar Documents

Publication Publication Date Title
KR100922654B1 (ko) 패킷 처리용 시스템 및 방법
US7088739B2 (en) Method and apparatus for creating a packet using a digital signal processor
KR100551859B1 (ko) 패킷 처리 장치
US6389038B1 (en) Voice IP bandwidth utilization
US7170900B2 (en) Method and apparatus for scheduling message processing
US6259695B1 (en) Packet telephone scheduling with common time reference
US6954460B2 (en) Method and apparatus for compressing packet headers
US20070104096A1 (en) Next generation network for providing diverse data types
US20020085567A1 (en) Metro switch and method for transporting data configured according to multiple different formats
JPH07288546A (ja) 回線アダプタおよび経路指定方法
CN1606860A (zh) 控制分组片段的地址翻译的方法和装置
WO2002054183A2 (en) Address learning technique in a data communication network
CA2420310C (en) Sharing of protocol processing
US7492767B2 (en) Methods, systems, and computer program products for throttling network address translation (NAT) learning traffic in a voice over IP device
JP4189965B2 (ja) 通信ノード
US20060120347A1 (en) Voice over internet protocol (VOIP) subcell multiplexing

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140925

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190927

Year of fee payment: 11