KR20040086325A - 패킷 흐름을 네트워크 처리 수단에 순서적이고 동적으로분배하는 방법 및 시스템 - Google Patents

패킷 흐름을 네트워크 처리 수단에 순서적이고 동적으로분배하는 방법 및 시스템 Download PDF

Info

Publication number
KR20040086325A
KR20040086325A KR10-2004-7011870A KR20047011870A KR20040086325A KR 20040086325 A KR20040086325 A KR 20040086325A KR 20047011870 A KR20047011870 A KR 20047011870A KR 20040086325 A KR20040086325 A KR 20040086325A
Authority
KR
South Korea
Prior art keywords
processing means
packet
network processing
identifier
processed
Prior art date
Application number
KR10-2004-7011870A
Other languages
English (en)
Other versions
KR100570137B1 (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 KR20040086325A publication Critical patent/KR20040086325A/ko
Application granted granted Critical
Publication of KR100570137B1 publication Critical patent/KR100570137B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

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

Abstract

본 발명은 개개의 흐름이 단일 네트워크 처리 수단의 성능을 초과하는 트래픽에 대해서도, 패킷 흐름을 다수의 네트워크 처리 수단에 동적으로 분배하고, 처리 후 패킷 순서를 유지하면서 패킷 흐름을 재결합하는 방법 및 시스템에 관한 것이다. 본 발명의 순차 부하 분산 장치는 입력 패킷을 분석하여 그 패킷이 속한 흐름을 식별한 후에, 접속된 독립적인 네트워크 프로세서들에게 패킷을 동적으로 분배한다. 흐름마다 밸런스 히스토리를 생성하고, 흐름 패킷이 송수신될 때마다 갱신한다. 각 밸런스 히스토리는 흐름 패킷을 처리한 네트워크 프로세서의 식별자 및 이와 관련된 처리된 패킷수를 시간 순으로 기억한다. 처리된 패킷은 밸런스 히스토리의 현재의 상태에 따라서, 고속 링크에 다시 송신되거나, 나중에 고속 링크에 송신될 것으로 기억된다.

Description

패킷 흐름을 네트워크 처리 수단에 순서적이고 동적으로 분배하는 방법 및 시스템{METHOD AND SYSTEMS FOR ORDERED DYNAMIC DISTRIBUTION OF PACKET FLOWS OVER NETWORK PROCESSING MEANS}
네트워크 처리 시스템에 있어서, 일반적으로는 성능, 보안 및 서비스 품질 향상을 위해 패킷에 대해 라우팅, 세그먼트화 및 재조립, 필터링 및 바이러스 검사 등을 포함하는 기능들을 실행하는 네트워크 프로세서가 스위칭 네트워크를 통과하는 패킷을 분석한다. 그러나, 네트워크 프로세서가 패킷에 대해 실행해야 하는 기능의 종류가 더욱 복잡해지고, 네트워크 프로세서 처리 능력의 증가 속도에 비해 대역폭 및 패킷 전송률의 증가 속도가 더 빠르기 때문에, 전체적인 네트워크 프로세서의 처리 성능을 증가시키는 장치 및 방법이 요구된다.
단일 프로세서 또는 네트워크 프로세서보다 큰 처리 성능을 달성하기 위한일반적인 방법으로는 다수의 프로세서가 병렬로 동작하는 병렬 처리가 있다. 이러한 다수의 프로세서를 고속의 단일 네트워크 프로세서로 간주할 수도 있다.
네트워크 처리 환경에서, 종래의 병렬 처리는 부하 분산이나 채널 스트리핑으로 구현될 수 있다. 종래의 채널 스트리핑(부하 분담 또는 역다중화라고도 함)은 병목 처리나 단순히 비용 대 성능비 때문에 네트워킹에 흔히 이용된다. 이러한 체계에서는, 어느 한 스트림에 속한 패킷들을 다수의 채널에 스트리핑하는 데에 있어서 라운드 로빈 알고리즘이나 부하 분담 알고리즘을 이용한다. 스트리핑의 주요 문제점은 채널마다 지연이 다르고 패킷 사이즈가 다르기 때문에 패킷이 오정렬될 수 있다는 점이다. 이러한 오정렬 문제점에 대한 종래의 해결책으로는 다음의 세가지 방법이 있다:
1) 각 흐름을 단 하나의 채널에 유지하고, 하나의 흐름이 각 채널이 지원할 수 있는 대역폭보다 큰 대역폭을 이용할 수 없음을 감수하는 방법;
2) 오정렬 후 수신 패킷을 재정렬하고, 처리 대역폭의 낭비를 감수하는 방법;
3) 패킷을 네트워크 처리 수단이 예측 가능한 기간 내에 처리할 수 있는 고정 전송 단위로 분할하는 방법.
한편, 동적 부하 분산은 3개의 일반적인 컴퓨팅 엔티티인 계산, 태스크 및 데이터를 다루는 컴퓨터 병렬 처리 분야에서 일반적으로 이용된다. 이러한 경우에, 동적 부하 분산은 실행 시간을 단축시키고 전체적인 계산 효율을 증가시키기 위해서 각 컴퓨터가 대략 동일한 작업량을 갖도록 계산, 태스크 또는 데이터를 컴퓨터에 매핑시킨다.
2000년 4월 18일자로 미국 특허 상표청에 제출되고 IBM사에 양도된 미국 특허 출원 제09/551049호에는 고속 통신선으로부터 나오는 일련의 입력 데이터 패킷을 각각이 고속 통신선보다 작은 용량으로 동작하는 복수의 처리 수단에 분배하는 실시간 부하 분산 시스템이 개시되어 있다. 상기 시스템은 입력 패킷으로부터 구성 가능한 분류 비트 세트를 추출하여 압축 수단에 공급할 수 있는 파싱 수단을 포함한다. 압축 수단은 길이 K의 비트 패턴을 K분의 1인 길이 L의 비트 패턴으로 단축시킬 수 있다. 이 시스템은 또한 부하 분산이 결정될 때까지 입력 패킷을 지연시키는 파이프라인 블록과, 셀렉터로서 상기 압축 수단으로부터 출력된 포트 식별자를 수신하여 파이프라이닝된 패킷을 적절한 출력 포트로 지향시키는 역다중화기를 포함한다.
그러나, 특히 개개의 흐름이 단일 네트워크 프로세서의 성능을 초과하는 트래픽에 대해서도, 패킷의 정확한 순서를 유지할 필요가 있다. 패킷을 변경할 수 있다면 패킷 흐름을 순서적으로 재결합하는 것은 쉬운 일이다. 명백한 방법은 각 입력 패킷에 순번을 매기고, 단지 출력 패킷이 순서없이 나가는 것을 방지하는 것이다. 그러나, 패킷 변경의 단점은 변경된 패킷을 정확하게 처리할 수 있도록 개개의 네트워크 프로세서를 단일 네트워크 프로세서 구성이 아닌 집단 구성으로 구성해야 한다는 점이다.
그러한 필요성이 현재의 기술적 성능의 네트워크 처리 수단에 의해서 요구된다면, 이전 세대의 네트워크 처리 수단을 재활용하여 그들의 성능을 통합함으로써,원하는 성능을 얻고, 그러한 네트워크 처리 수단의 비용을 최적화해야 한다.
본 발명은 네트워크 처리 수단에 의해 패킷 스위칭 네트워크를 통과하는 패킷을 분석하는 네트워크 처리 분야에 관한 것으로, 더 구체적으로는 개개의 흐름이 단일 네트워크 처리 수단의 성능을 초과하는 트래픽에 대해서도, 패킷 흐름을 다수의 네트워크 처리 수단에 동적으로 분배하고, 처리 후 패킷 순서를 유지하면서 패킷 흐름을 재결합하는 방법 및 시스템에 관한 것이다.
도 1은 본 발명에 따른 순차 부하 분산 장치를 이용하는 네트워크 처리 시스템을 도시하는 도면.
도 2는 패킷 흐름을 네트워크 처리 수단에 동적으로 분배하는 본 발명의 시스템의 구성의 일례를 도시하는 도면.
도 3은 밸런스 히스토리 메모리의 내용을 도시하는 도면.
도 4는 본 발명에 따른 순차 부하 분산 장치에 기초한 처리 시스템을 포함하는 네트워크 스위칭 시스템을 도시하는 도면.
이와 같이, 전술한 종래 기술의 단점을 해결하는 것이 본 발명의 커다란 목적이다.
본 발명의 다른 목적은 개개의 흐름이 단일 네트워크 처리 수단의 성능을 초과하는 트래픽에 대해서도, 패킷을 변경하거나 각 단일 네트워크 처리 수단의 동작을 변경하는 일없이, 패킷 흐름을 다수의 네트워크 처리 수단에 동적으로 분배하고, 처리 후 패킷 순서를 유지하면서 패킷 흐름을 재결합하는 방법 및 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 개개의 흐름이 단일 네트워크 처리 수단의 성능을 초과하는 트래픽에 대해서도, 패킷 흐름을 상이한 처리 능력을 가진 다수의 네트워크 처리 수단에 동적으로 분배하고, 처리 후 패킷 순서를 유지하면서 패킷 흐름을 재결합하는 방법 및 시스템에 관한 것이다.
이러한 목적 및 다른 목적은,
패킷 흐름을 고속 링크로부터 네트워크 처리 수단에 순서적이고 동적으로 분배하는 방법에 있어서,
- 흐름 식별자를 추출하기 위해서 입력 패킷의 헤더를 파싱하는 단계;
- 상기 흐름 식별자와 관련된 밸런스 히스토리가 존재하지 않을 경우에 그 밸런스 히스토리를 생성하는 단계;
- 네트워크 처리 수단의 부하를 분석하여 현재의 네트워크 처리 수단을 설정하는 단계;
- 상기 현재의 네트워크 처리 수단의 식별자가 이전에 동일한 흐름의 적어도 하나의 패킷을 처리한 네트워크 처리 수단의 식별자와 상이한 경우에는, 상기 밸런스 히스토리에 상기 현재의 네트워크 처리 수단의 상기 식별자를 기억시키고, 상기 밸런스 히스토리에 있어서 상기 현재의 네트워크 처리 수단이 처리한 패킷수를 1로 설정하는 단계;
- 그 밖에 상기 현재의 네트워크 처리 수단의 식별자가 이전에 동일한 흐름의 적어도 하나의 패킷을 처리한 네트워크 처리 수단의 식별자와 동일한 경우에는, 상기 밸런스 히스토리에 있어서 상기 현재의 네트워크 처리 수단이 처리한 패킷수를 증가시키는 단계; 및
- 상기 현재의 네트워크 처리 수단으로 상기 입력 패킷을 라우팅하는 단계
를 포함하는 방법과,
전술한 방법에 따라 복수의 네트워크 처리 수단이 처리한 패킷을 재결합하는 방법에 있어서,
- 흐름 식별자를 추출하기 위해서 처리된 패킷의 헤더를 파싱하는 단계;
- 상기 흐름 식별자와 관련된 밸런스 히스토리로부터 최초의 네트워크 처리 수단의 식별자 및 이와 관련된 처리된 패킷수를 취득하는 단계;
- 최초의 네트워크 처리 수단에 의해 상기 처리된 패킷이 처리되지 않은 경우에는, 그 패킷이 패킷 메모리에 저장되는 단계;
- 그 밖에 최초의 네트워크 처리 수단에 의해 상기 처리된 패킷이 처리된 경우에는, 그 패킷이 고속 링크에 송신되고, 이와 관련된 처리된 패킷수가 감소되며, 이 처리된 패킷수가 0이 되면, 최초의 네트워크 처리 수단의 식별자가 상기 밸런스 히스토리의 그 다음 식별자로 변경되고, 이 새로운 최초의 네트워크 처리 수단의 식별자와 관련된 상기 패킷 메모리에 큐잉된 패킷들이 고속 링크에 송신된 후에 상기 패킷 메모리로부터 제거되는 단계
를 포함하는 방법에 의해서 달성된다.
본 발명의 또 다른 이점은 다음의 도면과 상세한 설명을 보면 당업자에게 명백해질 것이다. 또한 어떤 다른 이점들도 본원에 포함된다.
도 1은 집합적인 고속 링크의 트래픽 흐름을 복수의 독립적인 네트워크 처리 엔티티에 분배하는 본 발명에 따른 순차 부하 분산 장치를 이용하는 네트워크 처리 시스템을 도시하는 도면이다. 이 예에 있어서, 네트워크 처리 시스템은 본 발명에따른 순차 부하 분산 장치(100)와, 4개의 독립적인 네트워크 프로세서 A 내지 D(110-1 내지 110-4)를 포함한다. 이러한 시스템은 단지 예시용이며, 순차 부하 분산 장치(100)가 4개보다 많거나 적은 네트워크 프로세서에 접속될 수도 있다는 것을 알아야 한다. 입력 포트(120)와 출력 포트(130)로 이루어진 고속 링크는 네트워크나 네트워크 장치, 예컨대 스위칭 패브릭 등(설명의 편의 상 도시 생략)과 데이터를 교환하기 위해서 순차 부하 분산 장치(100)와 패킷 흐름을 송수신한다. 입력 포트(120-i)(i=1,...,m)와 출력 포트(130-j)(j=1,...,n)는 유사하거나 상이한 종류의 데이터를 처리할 수 있다. 마찬가지로, 입력 포트(120-i)(i=1,...,m)와 출력 포트(130-j)(j=1,...,n)는 요청되는 데이터 처리, 예컨대 라우팅, 필터링 등에 따라 상이한 종류의 네트워크나 네트워크 장치에 접속될 수 있다. 입력 포트(120)와 출력 포트(130)는 그 수가 같거나(n = m) 다를 수 있다(n ≠m). 네트워크 처리 시스템은 순차 부하 분산 장치(100)와 독립적인 네트워크 처리기(k) 사이에서 패킷을 교환하기 위한 커넥터(140-k, 150-k)(k=1,...,4)를 더 포함한다.
도 1에 도시한 네트워크 처리 시스템은 독립적인 네트워크 프로세서의 패킷 처리율이 고속 링크의 패킷 전송률보다 낮은 경우에 고속 링크의 패킷 흐름의 처리를 가능하게 한다. 이 때문에, 순차 부하 분산 장치(100)는 입력 패킷 흐름을 분석하여, 접속된 독립적인 네트워크 프로세서에 패킷을 동적으로 분배한다. 처리 후에는, 모든 패킷 흐름의 순서를 유지하면서, 순차 부하 분산 장치(100)에서 패킷을 재결합하여, 고속 링크에 다시 송신한다.
본 발명의 방법에 따라, 각 입력 패킷을 분석하여 이와 관련된 흐름 식별자를 판정하고, 네트워크 처리 수단의 부하에 따라 이 입력 패킷을 처리할 네트워크 처리 수단을 할당한다. 일련의 이용된 네트워크 처리 수단 및 이와 관련된 처리 패킷수를 기억하는 밸런스 히스토리를 흐름마다 생성한다. 네트워크 처리 수단이 처리한 패킷이 고속 링크에 다시 송신되는 경우에, 이 네트워크 처리 수단의 식별자 및 이와 관련된 처리된 패킷수가 밸런스 히스토리로부터 제거된다. 이와 같이, 입력 데이터를 처리하는 알고리즘은 다음의 단계들을 포함한다:
- 흐름 식별자를 추출하기 위해서 입력 패킷의 헤더를 파싱하는 단계;
- 흐름 버킷 식별자로 불리는 상이한 식별자를 생성하기 위해서 추출된 흐름 식별자를 해싱하는 단계;
- 네트워크 처리 수단의 부하를 분석하여 현재의 네트워크 처리 수단의 식별자를 판정하는 단계;
- 현재의 네트워크 처리 수단의 식별자가 이전에 동일한 흐름의 적어도 하나의 패킷을 처리한 네트워크 처리 수단의 식별자와 동일한 경우에는, 밸런스 히스토리 메모리에 기록되어 있는 현재의 네트워크 처리 수단이 처리한 패킷수를 증가시키는 단계;
- 그 밖에 현재의 네트워크 처리 수단의 식별자가 이전에 동일한 흐름의 적어도 하나의 패킷을 처리한 네트워크 처리 수단의 식별자와 상이한 경우에는, 밸런스 히스토리 메모리에 현재의 네트워크 처리 수단의 식별자를 기억시키고 현재의 네트워크 처리 수단이 처리한 패킷수를 1로 설정하는 단계;
- 현재의 네트워크 처리 수단으로 패킷을 라우팅하는 단계.
입력 패킷을 처리한 후에는, 고속 링크에 다시 송신하기 전에 패킷을 재결합할 필요가 있다. 따라서, 각 처리된 패킷을 분석하여 이와 관련된 흐름 식별자를 판정하고, 패킷 정렬과 관련하여 대응하는 밸런스 히스토리를 이용한다. 처리된 패킷은 동일한 흐름의 이전 패킷이 아직 처리되지 않은 경우에는 버퍼링될 수도 있다. 패킷을 고속 링크에 다시 송신한 후에는, 밸런스 히스토리를 갱신하고 버퍼링을 해제한다. 처리된 데이터를 처리하는 알고리즘은 다음의 단계들을 포함한다:
- 흐름 식별자를 추출하기 위해서 처리된 패킷의 헤더를 파싱하는 단계;
- 관련된 흐름 버킷 식별자를 생성하기 위해서 추출된 흐름 식별자를 해싱하는 단계;
- 밸런스 히스토리 메모리로부터 그 흐름 버킷에 대한 최초의 네트워크 처리 수단의 식별자 및 이와 관련된 처리된 패킷수를 취득하는 단계;
- 그 흐름 버킷용으로 기록된 최초의 네트워크 처리 수단에 의해 패킷이 처리되지 않은 경우에는, 그 패킷이 패킷 메모리에 저장되는 단계;
- 그 밖에 최초의 네트워크 처리 수단에 의해 패킷이 처리된 경우에는, 그 패킷이 고속 링크에 송신되고, 이와 관련된 처리된 패킷수가 감소되며, 이 처리된 패킷수가 0이 되면, 최초의 네트워크 처리 수단의 식별자가 밸런스 히스토리의 그 다음 식별자로 변경되고, 이 새로운 최초의 네트워크 처리 수단의 식별자와 관련된 패킷 메모리에 큐잉된 패킷이 고속 링크에 송신된 후에 그 패킷 메모리로부터 제거되는 단계.
도 2는 전술한 방법에 따라 패킷 흐름을 네트워크 처리 수단에 동적으로 분배하는 순차 부하 분산 장치(100)의 구성을 도시하는 도면이다. 순차 부하 분산 장치(100)는 입력 포트(120-i)(i=1,...,m)와 출력 포트(130-j)(j=1,...,n)로 이루어진 고속 링크와, 네트워크 프로세서(110-1 내지 110-4)와 패킷을 송수신하기 위한 커넥터(140-1 내지 140-4, 150-1 내지 150-4)를 포함한다. 또한, 이러한 구현예는 단지 예시용이며, 순차 부하 분산 장치(100)가 4개보다 많거나 적은 네트워크 프로세서에 접속될 수도 있다는 것을 알아야 한다.
순차 부하 분산 장치(100)의 수신측은 시분할 다중화(TDM) 유닛(200), 헤더 파싱 유닛(205), 해시 함수 유닛(210), 밸런스 히스토리 메모리(215), 역다중화 유닛(220), 파이프라인 유닛(225), FIFO 메모리 유닛(230-1 내지 230-4), 그리고 현재의 네트워크 프로세서 판정 유닛(235)으로 이루어진다. 순차 부하 분산 장치(100)는 고속 링크의 입력 포트(120)에 도달한 패킷들을 표준 TDM 알고리즘에 따라 TDM 유닛(200)에서 결합한 후에 검사한다. 각 패킷은 패킷 종류, 패킷이 속한 흐름 및 각 네트워크 프로세서(110-1 내지 110-4)의 현재의 부하량에 기초하여 수개의 네트워크 프로세서(110-1 내지 110-4) 중 하나로 라우팅된다. 헤더 파싱 유닛(205)에서 입력 패킷의 헤더를 파싱하여 흐름 식별자를 추출한 후에 해시 함수 유닛(210)에 송신하면, 여기서 흐름 식별자를 해싱하여 흐름 버킷 식별자로 불리는 상이한 식별자를 생성한다. 해시 함수 유닛(210)은 동일한 흐름에 속한 패킷들이 동일한 흐름 버킷과 일치하는지를 확인한다. 일반적으로, 해시 함수는 흐름 버킷 식별자의 수가 가능한 흐름 식별자의 수보다 매우 적어지도록 구성되는데, 이것은 본 발명의 요건이 아니다.
헤더 파싱 유닛(205)은 추출 흐름 식별자의 수 및 종류의 관점에서 유연성을 제공할 수 있어야 하고, 또한 각종 프로토콜에 대한 폭넓은 적용성을 보장할 수 있어야 한다. 헤더 파싱 유닛(205)의 바람직한 실시예는 재구성 가능한 유한 상태 머신 장치이다.
흐름 버킷은 밸런스 히스토리 메모리(215)에서 인덱스로서 이용되는데, 여기서는 현재의 네트워크 프로세서의 식별자를 현재의 패킷에 할당한다. 동일한 흐름의 패킷을 처리한 모든 네트워크 프로세서의 식별자 및 이와 관련된 처리된 패킷수는 처리 시간 순으로 흐름 버킷과 관련하여 밸런스 히스토리 메모리(215)에 저장된다.
도 3은 밸런스 히스토리 메모리(215)의 내용을 도시하는 도면인데, 여기서 테이블의 각 행은 흐름의 처리 히스토리를 나타낸다. 제1 열(300)은 전술한 흐름 버킷에 의한 흐름들을 나타내며, 다른 열들(305-i 및 310-i)은 각각 네트워크 프로세서의 식별자 및 이와 관련된 처리된 패킷수를 나타낸다. 이와 같이, 열(305-1)은 각 활성 흐름에 있어서 최근의 현재의 네트워크 프로세서의 식별자를, 열(310-1)은 이와 관련된 처리된 패킷수를 나타내며, 열(305-2)은 각 활성 흐름에 있어서 그 이전의 현재의 네트워크 프로세서의 식별자를, 열(310-2)은 이와 관련된 처리된 패킷수를 나타낸다. 다른 열들에 대해서도 마찬가지이다. 활성 흐름 버킷은 적어도 하나의 패킷이 출력 포트(130)에 다시 송신되지 않은 흐름 버킷으로 정의된다. 도 3에 도시한 예에 있어서, 흐름 버킷 6302의 흐름에 속한 125개의 패킷은 식별자 1의 현재의 네트워크 프로세서에 의해 처리되고 있고, 이 흐름 버킷의 265개의 패킷은식별자 2의 네트워크 프로세서에 의해 이전에 처리되었다.
다시 도 2로 되돌아가서, 현재의 네트워크 프로세서의 식별자를 역다중화 유닛(220)에 송신하여, 현재의 네트워크 프로세서의 식별자와 관련된 FIFO 메모리(230-1 내지 230-4)에 파이프라인 유닛(225)에 지연되어 있는 현재의 수신 패킷을 저장하고, 그곳으로부터 그것을 현재의 네트워크 프로세서에 송신한다. 현재의 네트워크 프로세서 판정 유닛(235)은 표준 통계 기술에 의한 FIFO 메모리(230-1 내지 230-4)의 부하 분석을 통해 네트워크 프로세서(110-1 내지 110-4)의 활성도를 판정하여 현재의 네트워크 프로세서를 설정한다. 예컨대, 네트워크 프로세서는 관련된 FIFO 메모리의 부하가 소정의 임계값보다 작을 때마다 현재의 네트워크 프로세서로서 설정될 수 있다. 현재의 네트워크 프로세서를 판정하는 다른 예로는 관련된 FIFO 메모리가 이제 막 비려하는 네트워크 프로세서를 선택하는 것이 있는데, 이러한 경우에는 순차 부하 분산 장치가 너무 자주 네트워크 프로세서를 스위칭하지 않을 것이다. 또한, 현재의 네트워크 프로세서의 선택을 최적화하기 위해서 흐름 히스토리를 이용할 수도 있다.
주의할 점은 순차 부하 분산 장치(100)를 아무런 변경없이 상이한 처리 능력을 갖는 네트워크 프로세서들에 접속할 수 있다는 점인데, 그 이유는 다른 네트워크 프로세서들보다 처리 능력이 더 큰 네트워크 프로세서가 관련된 FIFO 메모리를 더 빨리 비우더라도, 순차 부하 분산 장치(100)가 FIFO 메모리의 부하에 따라 현재의 네트워크 프로세서를 판정하므로 그 처리 능력이 더 큰 네트워크 프로세서를 더 자주 현재의 네트워크 프로세서로서 선택하기 때문이다. 순차 부하 분산 장치(100)의 변경을 요구하는 또 다른 해결책으로는 각 네트워크 프로세서의 처리 능력을 네트워크 프로세서의 식별자와 관련하여 현재의 네트워크 프로세서 판정 유닛(235)에 저장하는 것이 있다. 네트워크 처리 수단의 부하를 최적화하기 위해서는 현재의 네트워크 프로세서를 판정함에 있어서 FIFO 메모리(230-1 내지 230-4)의 부하와 함께 처리 능력 및 관련된 네트워크 프로세서의 식별자를 이용한다.
순차 부하 분산 장치(100)의 송신측은 다중화 유닛(240), 파이프라인 유닛(245), 역다중화 유닛(250), 패킷 메모리(255), 다중화 유닛(260), 그리고 스위칭 유닛(285)으로 이루어진다. 네트워크 프로세서(110-1 내지 110-4)에서 패킷을 처리한 후에, 그 패킷을 다중화 유닛(240)을 통해 파이프라인 유닛(245) 및 역다중화 유닛(250)에 송신한다. 패킷 흐름 상태에 따라, 입력 패킷을 패킷 메모리(255)에 저장하거나 다중화 유닛(260)에 송신하여 스위칭 유닛(285)을 통해 출력한다. 스위칭 유닛(285)은 패킷의 헤더를 분석하여, 패킷을 송신해야 하는 고속 링크의 출력 포트(130-j)를 판정한다.
순차 부하 분산 장치(100)는 또한 처리 후 패킷을 재결합하기 위한 데이터 흐름 제어를 포함하는데, 즉 헤더 파싱 유닛(205), 해시 함수 유닛(210), 밸런스 히스토리 메모리(215), 패킷 큐 및 디큐 유닛(265), 갱신 히스토리 유닛(270), 갱신 큐 포인터 유닛(275), 그리고 큐 포인터 메모리(280)를 포함한다. 주의할 점은 헤더 파싱 유닛(205), 해시 함수 유닛(210) 및 밸런스 히스토리 메모리(215)는 처리 전과 처리 후에 패킷을 분석하는 데에 이용된다는 점이다. 네트워크 프로세서(110-1 내지 110-4)에서 패킷을 처리한 후에, 그 패킷을 다중화 유닛(240)을 통해헤더 파싱 유닛(205)에 송신한다. 그러면 헤더 파싱 유닛(205)에서 처리된 패킷의 헤더를 파싱하여 흐름 식별자를 추출한 후에 해시 함수 유닛(210)에 송신하면, 여기서 흐름 식별자를 해싱하여 흐름 버킷을 생성한다.
흐름 버킷 식별자는 패킷 큐 및 디큐 유닛(265)이 처리된 패킷을 출력 포트(130-j)에 송신해야 하는지 패킷 메모리(255)에 기억시켜야 하는지를 판정하는 데에 이용하는 밸런스 히스토리에 액세스하는 데에 있어서 밸런스 히스토리 메모리(215)에서 인덱스로서 이용된다. 흐름 버킷 식별자는 또한 처리된 패킷을 저장해야 하거나 패킷 메모리(255)로부터 검색해야 하는 경우에 패킷 포인터를 큐 포인터 메모리(280)에 저장하는 데에 있어서 인덱스로서 이용된다.
패킷 큐 및 디큐 유닛(265)은 밸런스 히스토리 메모리(215)로부터 수신한 밸런스 히스토리를 분석하여, 현재의 패킷을 처리한 네트워크 프로세서의 식별자와 현재의 패킷이 속한 흐름 버킷의 최초의 네트워크 프로세서의 식별자와 비교한다. 양자가 동일하지 않은 경우에는, 현재의 처리된 패킷을 패킷 메모리(255)에 저장하고, 현재의 처리된 패킷의 흐름 버킷과 현재의 처리된 패킷을 처리한 네트워크 프로세서의 식별자와 관련된 포인터를 큐 포인터 메모리(280)에 저장한다. 그러나, 양자가 동일한 경우에는, 현재의 처리된 패킷을 바로 출력 포트(130-j)에 송신하고, 패킷 큐 및 디큐 유닛(265)은 갱신 히스토리 유닛(270)을 통해 최초의 네트워크 프로세서의 식별자와 관련된 처리된 패킷수를 감소시킨다. 이 처리된 패킷수가 0이 되면, 최초의 네트워크 처리 수단의 식별자도 갱신되는데, 즉 최초 네트워크 처리 수단의 식별자를 밸런스 히스토리의 그 다음 식별자로 설정하고 이 새로운 최초의 네트워크 처리 수단의 식별자와 관련된 패킷 메모리에 큐잉된 패킷을 고속 링크에 송신한 후에 그 패킷 메모리로부터 제거한다.
주의할 점은 입력 포트(120)의 수가 1인 경우에는, 시분할 다중화 유닛(200)을 필요로 하지 않는다는 점이다. 마찬가지로, 출력 포트(130)의 수가 1인 경우에는, 스위칭 유닛(285)을 필요로 하지 않는다.
도 4는 전술한 순차 부하 분산 장치(100)를 이용하는 하이 엔드 스위칭 또는 라우팅 시스템(400)을 도시하는 도면이다. 이러한 시스템(400)은 통상적으로 복수의 고속 링크를 갖는 적어도 하나의 스위칭 패브릭(410), 예컨대 각 포트가 40 Gb/s 트래픽의 전이중 방식을 지원하는 64x64 포트 스위치를 포함한다. 이 예에서, 4개의 네트워크 프로세서는 하나의 반이중 방식의 고속 링크, 즉 입력 또는 출력 포트를 처리할 수 있어야 한다. 따라서, 스위칭 시스템(400)은 반이중 방식의 링크와 같은 수의 순차 부하 분산 장치(100-r)를 포함하는데, 각 순차 부하 분산 장치(100-r)는 4개의 네트워크 프로세서(NP Ar, NP Br, NP Cr, NP Dr)와 접속한다. 순차 부하 분산 장치를 "U"자 형태로 도시하였는데, 이는 전체 도면을 간략화하고, 순차 부하 분산 장치와 네트워크 처리 수단의 집합체가 어떻게 나머지 시스템에 대해서 더 큰 능력을 갖는 단일 네트워크 처리 수단으로 보이는지를 명백하게 하기 위함이다.
도 4에 도시한 시스템의 동작을 설명하기 위해서, 먼저 특정 패킷 흐름이 입력 포트(120-s)를 통해 순차 부하 분산 장치(100-1)에 수신된다고 가정하자. 이 흐름의 패킷들은 본 발명의 방법에 따라 네트워크 프로세서(NP A1, NP B1, NP C1, NPD1)에 동적으로 분배되어 처리된다. 다음에, 패킷 순서를 유지하면서, 순차 부하 분산 장치(100-1)에서 패킷을 재결합하여, 출력 포트(130-t)를 통해 스위칭 패브릭(410)에 송신한다. 그러면, 스위칭 패브릭(410)에서 패킷을 라우팅하여 예컨대 순차 부하 분산 장치(100-2)의 입력 포트(120-u)에 송신한다. 또 다시, 패킷들은 본 발명의 방법에 따라 네트워크 프로세서(NP A2, NP B2, NP C2, NP D2)에 동적으로 분배되어 처리된다. 다음에, 패킷 순서를 유지하면서, 순차 부하 분산 장치(100-2)에서 패킷을 재결합하여, 출력 포트(130-v)를 통해 네트워크 또는 네트워크 장치(도시 생략)에 송신한다.
바람직한 실시예를 가지고 본 발명을 설명하였지만, 당업자라면 본 발명을 달리 구현할 수 있다는 것을 알 수 있을 것이다. 또한, 당업자라면 지역적이고 특정한 요건을 만족시키기 위해서 전술한 해결책을 다양하게 변경 및 변형할 수 있으나, 이러한 것들은 모두 다음의 청구 범위에 의해 규정되는 본 발명의 보호 범위 내에 포함된다.

Claims (10)

  1. 패킷 흐름을 고속 링크로부터 네트워크 처리 수단에 순서적이고 동적으로 분배하는 방법에 있어서,
    - 흐름 식별자를 추출하기 위해서 입력 패킷의 헤더를 파싱하는 단계;
    - 상기 흐름 식별자와 관련된 밸런스 히스토리가 존재하지 않을 경우에 그 밸런스 히스토리를 생성하는 단계;
    - 네트워크 처리 수단의 부하를 분석하여 현재의 네트워크 처리 수단을 설정하는 단계;
    - 상기 현재의 네트워크 처리 수단의 식별자가 이전에 동일한 흐름의 적어도 하나의 패킷을 처리한 네트워크 처리 수단의 식별자와 상이한 경우에는, 상기 밸런스 히스토리에 상기 현재의 네트워크 처리 수단의 상기 식별자를 기억시키고, 상기 밸런스 히스토리에 있어서 상기 현재의 네트워크 처리 수단이 처리한 패킷수를 1로 설정하는 단계;
    - 그 밖에 상기 현재의 네트워크 처리 수단의 식별자가 이전에 동일한 흐름의 적어도 하나의 패킷을 처리한 네트워크 처리 수단의 식별자와 동일한 경우에는, 상기 밸런스 히스토리에 있어서 상기 현재의 네트워크 처리 수단이 처리한 패킷수를 증가시키는 단계; 및
    - 상기 현재의 네트워크 처리 수단으로 상기 입력 패킷을 라우팅하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 현재의 네트워크 처리 수단으로 상기 입력 패킷을 라우팅하는 단계는,
    - 상기 현재의 네트워크 처리 수단과 관련된 기억 수단에 상기 입력 패킷을 저장하는 단계; 및
    - 상기 네트워크 처리 수단과 관련된 상기 기억 수단에 저장된 패킷을 상기 네트워크 처리 수단이 요청하는 경우에 송신하는 단계
    를 포함하는 것인 방법.
  3. 제2항에 있어서, 상기 네트워크 처리 수단의 부하를 분석하여 현재의 네트워크 처리 수단을 설정하는 단계는,
    - 상기 네트워크 처리 수단과 관련된 상기 기억 수단의 부하를 분석하는 단계; 및
    - 상기 네트워크 처리 수단과 관련된 상기 기억 수단의 부하에 따라 상기 현재의 네트워크 처리 수단을 설정하는 단계
    를 포함하는 것인 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 복수의 입력 포트를 통해 수신된 입력 패킷을 시간 영역 다중화하는 단계를 더 포함하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 기재된 방법에 따라 복수의 네트워크 처리 수단이 처리한 패킷을 재결합하는 방법에 있어서,
    - 흐름 식별자를 추출하기 위해서 처리된 패킷의 헤더를 파싱하는 단계;
    - 상기 흐름 식별자와 관련된 밸런스 히스토리로부터 최초의 네트워크 처리 수단의 식별자 및 이와 관련된 처리된 패킷수를 취득하는 단계;
    - 최초의 네트워크 처리 수단에 의해 상기 처리된 패킷이 처리되지 않은 경우에는, 그 패킷이 패킷 메모리에 저장되는 단계;
    - 그 밖에 최초의 네트워크 처리 수단에 의해 상기 처리된 패킷이 처리된 경우에는, 그 패킷이 고속 링크에 송신되고, 이와 관련된 처리된 패킷수가 감소되며, 이 처리된 패킷수가 0이 되면, 최초의 네트워크 처리 수단의 식별자가 상기 밸런스 히스토리의 그 다음 식별자로 변경되고, 이 새로운 최초의 네트워크 처리 수단의 식별자와 관련된 상기 패킷 메모리에 큐잉된 패킷들이 고속 링크에 송신된 후에 상기 패킷 메모리로부터 제거되는 단계
    를 포함하는 방법.
  6. 제5항에 있어서, 처리된 패킷을 패킷 헤더에 따라 복수의 출력 포트에 스위칭하는 단계를 더 포함하는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상이한 식별자를 생성하기 위해서 상기 추출된 흐름 식별자를 해싱하는 단계를 더 포함하는데, 상기 상이한 식별자는 동일한 흐름에 속한 패킷들에 대해서 동일한 것인 방법.
  8. 제7항에 있어서, 상기 상이한 식별자는 상기 추출된 흐름 식별자보다 적은 것인 방법.
  9. 제8항에 있어서, 더 적은 식별자를 생성하기 위해서 상기 추출된 흐름 식별자를 해싱하는 단계는 비선형 해싱 함수에 기초하는 것인 방법.
  10. 패킷 흐름을 고속 링크로부터 네트워크 처리 수단에 순서적이고 동적으로 분배하는 순차 부하 분산 장치에 있어서, 제1항 내지 제9항 중 어느 한 항에 기재된 방법을 수행하도록 구성된 수단을 포함하는 순차 부하 분산 장치.
KR1020047011870A 2002-03-05 2003-02-27 패킷 흐름을 네트워크 처리 수단에 순서적이고 동적으로분배하는 방법 및 시스템 KR100570137B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP02368023.4 2002-03-05
EP02368023 2002-03-05
PCT/EP2003/003249 WO2003075520A2 (en) 2002-03-05 2003-02-27 Method and system for ordered dynamic distribution of packet flows over network processors

Publications (2)

Publication Number Publication Date
KR20040086325A true KR20040086325A (ko) 2004-10-08
KR100570137B1 KR100570137B1 (ko) 2006-04-12

Family

ID=27771965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047011870A KR100570137B1 (ko) 2002-03-05 2003-02-27 패킷 흐름을 네트워크 처리 수단에 순서적이고 동적으로분배하는 방법 및 시스템

Country Status (9)

Country Link
US (1) US7359318B2 (ko)
EP (1) EP1483870B1 (ko)
JP (1) JP3809873B2 (ko)
KR (1) KR100570137B1 (ko)
CN (1) CN100440851C (ko)
AT (1) ATE308185T1 (ko)
AU (1) AU2003221530A1 (ko)
DE (1) DE60302045T2 (ko)
WO (1) WO2003075520A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100843184B1 (ko) * 2006-12-08 2008-07-02 한국전자통신연구원 패킷 전송의 최적 경로 선택 장치 및 그 방법
KR100896784B1 (ko) * 2007-06-05 2009-05-11 나리넷(주) 네트워크 프로세서 간 패킷인터페이스스위치 연결에 의한패킷처리장치
KR100899526B1 (ko) * 2007-09-07 2009-05-27 삼성네트웍스 주식회사 다중 프로세서 기반의 패킷 처리 장치 및 방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366092B2 (en) * 2003-10-14 2008-04-29 Broadcom Corporation Hash and route hardware with parallel routing scheme
US7440404B2 (en) * 2004-02-24 2008-10-21 Lucent Technologies Inc. Load balancing method and apparatus for ethernet over SONET and other types of networks
US7369557B1 (en) * 2004-06-03 2008-05-06 Cisco Technology, Inc. Distribution of flows in a flow-based multi-processor system
US7660897B2 (en) * 2004-08-03 2010-02-09 International Business Machines Corporation Method, system, and program for distributing application transactions among work servers
US7840731B2 (en) * 2004-08-25 2010-11-23 Cisco Technology, Inc. Accelerated data switching on symmetric multiprocessor systems using port affinity
CN100393162C (zh) * 2004-10-10 2008-06-04 中兴通讯股份有限公司 一种时分组网系统中扇区负载均衡的方法
DE602005018549D1 (de) * 2005-05-04 2010-02-04 Telecom Italia Spa Verfahren und system zum verarbeiten von paketflüssen und computerprogrammprodukt dafür
US8014401B2 (en) * 2005-06-03 2011-09-06 Koninklijke Philips Electronics N.V. Electronic device and method of communication resource allocation
CN100459575C (zh) * 2005-11-10 2009-02-04 中国科学院计算技术研究所 一种网络处理器中维护ip分组出入顺序的方法
JP4776412B2 (ja) * 2006-03-23 2011-09-21 エヌ・ティ・ティ・コミュニケーションズ株式会社 パケット転送装置、パケット転送方法、及びプログラム
US7792102B2 (en) 2006-03-31 2010-09-07 Intel Corporation Scaling egress network traffic
JP4630262B2 (ja) * 2006-11-21 2011-02-09 日本電信電話株式会社 キャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラム
JP5081847B2 (ja) * 2009-02-20 2012-11-28 株式会社日立製作所 マルチプロセッサによるパケット処理装置およびパケット処理方法
JP5325731B2 (ja) * 2009-09-30 2013-10-23 株式会社日立製作所 ネットワーク中継装置
JP5471581B2 (ja) 2010-02-23 2014-04-16 富士通株式会社 監視プログラム、監視装置、および監視方法
US8745264B1 (en) * 2011-03-31 2014-06-03 Amazon Technologies, Inc. Random next iteration for data update management
US8654643B2 (en) * 2011-07-27 2014-02-18 Ixia Wide field indexing for packet tracking
US8830838B2 (en) 2011-09-14 2014-09-09 Hewlett-Packard Development Company, L.P. Node interface indicators
US8705366B2 (en) * 2012-01-23 2014-04-22 Cisco Technology, Inc. Dynamic load balancing without packet reordering
WO2014010156A1 (ja) * 2012-07-13 2014-01-16 日本電気株式会社 集約型メータリング装置、集約型メータリング方法および集約型メータリングプログラムが格納された記憶媒体
EP2874362B1 (en) 2013-11-13 2019-10-02 Napatech A/S A system and a method of analysing a plurality of data packets
US9467384B2 (en) * 2013-12-05 2016-10-11 Mediatek Singapore Pte. Ltd. Packet forwarding apparatus and method using flow subgroup based path selection for dynamic load balancing
US10764179B2 (en) * 2017-07-19 2020-09-01 Corsa Technology Inc. Look up table based match action processor for data packets

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128305A (en) * 1997-01-31 2000-10-03 At&T Corp. Architecture for lightweight signaling in ATM networks
FI104672B (fi) * 1997-07-14 2000-04-14 Nokia Networks Oy Kytkinjärjestely
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
JP4078755B2 (ja) * 1999-06-02 2008-04-23 株式会社日立製作所 帯域監視方法
US7996670B1 (en) * 1999-07-08 2011-08-09 Broadcom Corporation Classification engine in a cryptography acceleration chip
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
JP3646638B2 (ja) * 2000-09-06 2005-05-11 日本電気株式会社 パケット交換装置及びそれに用いるスイッチ制御方法
US6901052B2 (en) * 2001-05-04 2005-05-31 Slt Logic Llc System and method for policing multiple data flows and multi-protocol data flows
JP3965283B2 (ja) * 2001-07-02 2007-08-29 株式会社日立製作所 複数種類のパケット制御機能を備えたパケット転送装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100843184B1 (ko) * 2006-12-08 2008-07-02 한국전자통신연구원 패킷 전송의 최적 경로 선택 장치 및 그 방법
KR100896784B1 (ko) * 2007-06-05 2009-05-11 나리넷(주) 네트워크 프로세서 간 패킷인터페이스스위치 연결에 의한패킷처리장치
KR100899526B1 (ko) * 2007-09-07 2009-05-27 삼성네트웍스 주식회사 다중 프로세서 기반의 패킷 처리 장치 및 방법

Also Published As

Publication number Publication date
CN1579075A (zh) 2005-02-09
DE60302045D1 (de) 2005-12-01
EP1483870B1 (en) 2005-10-26
JP3809873B2 (ja) 2006-08-16
ATE308185T1 (de) 2005-11-15
CN100440851C (zh) 2008-12-03
EP1483870A2 (en) 2004-12-08
AU2003221530A1 (en) 2003-09-16
JP2005519530A (ja) 2005-06-30
DE60302045T2 (de) 2006-07-20
AU2003221530A8 (en) 2003-09-16
KR100570137B1 (ko) 2006-04-12
WO2003075520A3 (en) 2004-03-04
WO2003075520A2 (en) 2003-09-12
US20050152354A1 (en) 2005-07-14
US7359318B2 (en) 2008-04-15

Similar Documents

Publication Publication Date Title
KR100570137B1 (ko) 패킷 흐름을 네트워크 처리 수단에 순서적이고 동적으로분배하는 방법 및 시스템
US20230231799A1 (en) Data center network with packet spraying
US11632606B2 (en) Data center network having optical permutors
US7283538B2 (en) Load balanced scalable network gateway processor architecture
EP1305915B1 (en) Interface for sonet lines of different capacities
US6094683A (en) Link bundling in a network
US7190695B2 (en) Flexible application of mapping algorithms within a packet distributor
US20030074473A1 (en) Scalable network gateway processor architecture
Wang et al. Implementation of multipath network virtualization with SDN and NFV
US6853638B2 (en) Route/service processor scalability via flow-based distribution of traffic
CN101981560A (zh) 用于网络节点的负载均衡网桥群集
CN103370911A (zh) 流通信系统
JP2016501474A (ja) 分散型スイッチレス相互接続
JP2016501475A (ja) 受動相互接続及び分散型スイッチレススイッチングを行うルータ
US7020153B2 (en) Method and system for processing data packets
Maksic et al. Improving utilization of data center networks
US20030021269A1 (en) Sequence-preserving deep-packet processing in a multiprocessor system
CN113612698A (zh) 一种数据包发送方法及装置
JP2015536621A (ja) 受動接続性光学モジュール
US8942232B1 (en) Multi-stage switching topology
Jin et al. Sandwich Tree: A new datacenter network based on passive optical devices
Li et al. Orthogonal-path Schedule Algorithm for MSM Clos-network Switching Fabric
Du et al. A Resource Pooling Switch Architecture with High Performance Scheduler
Chi et al. A new routing assignment model for Internet
Mohamed et al. Extensible communication architecture for grid nodes

Legal Events

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

Payment date: 20130320

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140324

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee