KR20160113273A - 데이터 트래픽 제한을 위한 방법 및 장치 - Google Patents

데이터 트래픽 제한을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20160113273A
KR20160113273A KR1020167023586A KR20167023586A KR20160113273A KR 20160113273 A KR20160113273 A KR 20160113273A KR 1020167023586 A KR1020167023586 A KR 1020167023586A KR 20167023586 A KR20167023586 A KR 20167023586A KR 20160113273 A KR20160113273 A KR 20160113273A
Authority
KR
South Korea
Prior art keywords
token
bucket
tokens
capacity
credit
Prior art date
Application number
KR1020167023586A
Other languages
English (en)
Other versions
KR101738657B1 (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 KR20160113273A publication Critical patent/KR20160113273A/ko
Application granted granted Critical
Publication of KR101738657B1 publication Critical patent/KR101738657B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • 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/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

본 발명은 데이터 트래픽 제한을 위한 방법과 장치를 제공하며, 방법과 장치는 링크 집성 그룹 인터페이스가 싱글 보드들의 상이한 칩셋들 상에 위치된 멤버 포트들을 포함하는 네트워크 디바이스에 적용되며, 먼저, 각 링크 집성 그룹 인터페이스에 대하여 각 멤버 포트에 대응하는 토큰 버킷으로부터 넘치는 토큰을 저장하기 위한 크레디트 버킷을 구성하고, 전달될 패킷을 수신하고, 토큰 버킷(token bucket)의 토큰의 개수가 전달될 패킷을 전달하는데 충분하지 않으면, 크레디트 버킷으로부터 비현용(non-current) 토큰 버킷으로부터 넘치는(overflowing) 토큰을 빌리고, 현용 토큰 버킷의 토큰과 빌린 토큰이 전달될 패킷을 전달하는데 충분하면, 전달된 패킷을 전달하고, 한편, 현용 토큰 버킷의 토큰과 크레디트 버킷의 토큰의 개수를 감소시키며, 상이한 토큰 버킷들로부터 넘치는 토큰들은 구별되게 라벨링된다. 네트워크 장비에서 각각의 링크 집성 그룹 인터페이스의 다수의 링크를 통한 데이터 트래픽의 동적인 제한이 달성됨으로써, 링크 집계 그룹 인터페이스의 멤버 포트를 통한 데이터 트래픽의 합이, 링크 집성 그룹 인터페이스에 대하여 제한된 전체 데이터 트래픽에 보다 매칭될 수 있다.

Description

데이터 흐름 제한을 위한 방법 및 장치{METHOD AND APPARATUS FOR DATA FLOW RESTRICTION}
본 특허출원은, 2014년 1월 29일에 출원되고 발명의 명칭이 "METHOD AND APPARATUS FOR DATA TRAFFIC RESTRICTION" 인 중국 출원 번호 No. 201410043708.5에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 그 전체로서 원용에 의해 본 명세서에 포함된다.
본 발명은 네트워크 통신 기술 분야에 관한 것으로, 더욱 상세하게 말하자면, 데이터 트래픽 제한을 위한 방법 및 장치에 관한 것이다.
통신 네트워크에서, 임의 링크를 통한 데이터 트래픽은 서비스 프로바이더와 계약한 서비스 레벨 협약(service level agreement)을 초과할 수 있으며, 이때, 통신 네트워크에서의 다른 링크의 대역폭이 이 링크에 의해 점유될 수 있으며, 결과적으로 다른 링크가 정상적인 대역폭 서비스를 얻을 수 없다. 이 경우, 통신 네트워크의 정상적인 운영을 보장하기 위하여, 링크를 통한 데이터 트래픽이 서비스 레벨 협약에서 계약된 대역폭 서비스를 초과하는 것을 방지하기 위해, 링크를 통한 데이터 트래픽의 제한이 통신 네트워크의 입구(entrance)에서 수행되어야 한다.
토큰 버킷(token bucket)은 일반적인 데이터 트래픽 제한 기술이며, 토큰 버킷은 네트워크 디바이스 내부의 저장 풀(storage pool)이고, 토큰은 주어진 레이트(rate)로 토큰 버킷을 채우는 가상 정보 패킷을 나타낸다. 링크에 할당된 데이터 트래픽에 따라 토큰을 토큰 버킷에 넣으며, 한편, 링크를 통한 실제 데이터 트래픽에 따라 토큰 버킷으로부터 토큰을 꺼낸다. 토큰 버킷에 토큰이 없는 경우, 데이터는 해당 링크에 더 이상 전달될 수 없다. 보통, 네트워크 디바이스는 싱글 보드(single board)의 각 칩셋에 대하여 토큰 버킷을 구성하며, 토큰 버킷에 토큰을 넣는 토큰 투입 레이트가 실제 데이터 트래틱보다 크면, 토큰 버킷이 가득 찬 다음에 수신되는 토큰은 폐기될 것이며, 토큰 버킷에 토큰을 넣는 토큰 투입 레이트가 실제 데이터 트래픽보다 적으면, 토큰 버킷에 토큰이 다 떨어진 다음에 데이터는 더 이상 전달될 수 없다. 그러나 이러한 토큰 액세스 모드는 링크 집성 그룹 인터페이스(link aggregation group interface)에서 다른 링크들의 나머지 데이터 트래픽을 완전히 사용할 수 없다.
스택(stacked) 디바이스를 횡단하는(crossing)(싱글 보드를 횡단하는) 멤버(member) 포트(port)를 포함하는 링크 집성 그룹 인터페이스(이더넷-트렁크(Eth-Trunk))에 대한 네트워크 토폴로지(topology)의 개략도인, 도 1에 도시된 바와 같이, 링크 집성 그룹 인터페이스는 2개의 멤버 포트를 포함하며, 두 개의 멤버 포트는 각각 링크를 통하여 스택 디바이스들의 2개의 상이한 칩셋들까지 이어진다(go up to). 도 1에 도시된 링크 집성 그룹 인터페이스에 대하여, 데이터 트래픽 제한을 위한 2개의 기존 방법들이 있다.
하나의 방법은 링크 집성 그룹 인터페이스에 대하여 설정된 전체 인정 정보 레이트(Commitjted Information Rate, CIR)를 링크 집성 그룹 인터페이스의 각 멤버 포트에 대해 동기적으로 확산시키는 것이며, 도 1에 도시된 링크 집성 그룹 인터페이스에 대하여 구성된 전체 CIR이 100M이고, 이 링크 집성 그룹 인터페이스의 각 멤버 포트에 의해 통과되도록 허용되는 데이터 트래픽이 또한, 100M라고 가정하면, 두 개의 멤버 포트에 의해 통과되도록 허용되는 데이터 트래픽의 합이 200M이며, 이는 100M로서 설정된 전체 CIR과 일치하지 않는다.
다른 방법은 통계 추정 방식으로 가중치를 설정하는 것이며, 도 1에 도시된 링크 집성 그룹 인터페이스에 대하여 구성된 전체 CIR이 100M이고, 2개의 멤버 포트에 대한 가중치가 1:1이며, 즉, 2개의 멤버 포트를 통한 제한된 데이터 트래픽이 50M인 것으로 가정한다. 하나의 멤버 포트에 대하여 분배된 데이터 트래픽이 60M이고, 다른 멤버 포트에 대하여 분배된 데이터 트래픽이 40M이면, 하나의 멤버 포트에 의해 통과되도록 허용된 최대 데이터 트래픽이 50M이기 때문에, 2개의 멤버 포트를 통한 실제 데이터 트래픽이 50M+40M=90M이며, 이는 서비스 프로바이더에 의해 요구되는 바와 같은, 예상된 전체 데이터 트래픽 즉, 100M를 만족하지 않는다. 데이터 트래픽 제한을 위한 이 방법에서, 링크 집성 그룹 인터페이스의 각 멤버 포트를 통한 실제 데이터 트래픽은 각 멤버 포트에 할당된 데이터 트래픽을 초과할 수 없으며, 임의 멤버 포트를 통한 실제 데이터 트래픽이 이 멤버 포트에 대하여 제한된 데이터 트래픽보다 낮은 경우, 전체 링크 집성 그룹 인터페이스의 전체 데이터 트래픽은 미리 설정된 전체 데이터 트래픽보다 적을 것이다.
결론적으로, 데이터 트래픽 제한을 위한 기존의 2개의 방법에서, 링크 집성 그룹 인터페이스의 전체 CIR 또는 링크 집성 그룹 인터페이스의 전체 PIR(Peak Information Rate)에 따라, 링크 집성 그룹 인터페이스의 각 멤버 포트를 통하는 데이터 트래픽의 실제 분배 상황을 유지하는 것이 매우 어렵다.
본 발명의 실시 예들은, 데이터 트래픽 제한을 위한 기존의 방법들이 링크 집성 그룹 인터페이스에 대하여 미리 설정된 전체 데이터 트래픽에 따라 데이터 트래픽을 정확하게 제어할 수 없는 기술적 문제점을 해결하기 위하여, 데이터 트래픽 제한을 위한 방법 및 장치를 제공한다.
전술한 기술적 문제를 해결하기 위하여, 본 발명의 실시 예들은 다음과 같은 기술적 해결방안들을 개시한다.
제1 측면에서, 본 발명은 데이터 트래픽 제한을 위한 방법을 제공하며, 상기 방법은, 전달될 패킷을 수신하는 경우, 상기 전달될 패킷에 대응하는 현용(current) 토큰 버킷(token bucket)의 토큰의 개수가 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하는 단계;
상기 현용 토큰 버킷의 토큰의 개수가 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 상기 현용 토큰 버킷의 토큰의 개수와 크레디트(credit) 버킷의 비현용(non-current) 토큰 버킷으로부터 넘치는(overflowing) 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하는 단계; 및
상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하면, 상기 전달될 패킷을 전달하고, 이에 대응하여(correspondingly) 상기 현용 토큰 버킷의 토큰과 상기 크레디트 버킷의 토큰의 개수를 감소시키는 단계를 포함하며,
상기 방법은 링크 집성 그룹(link aggregation group) 인터페이스가 싱글 보드들(single boards)의 상이한 칩셋들(chipsets) 상에 위치된 멤버 포트(member ports)들을 포함하는 네트워크 디바이스에 적용되며, 상기 네트워크 디바이스의 각 링크 집성 그룹 인터페이스는 크레디트 버킷으로 미리 구성되고, 상기 크레디트 버킷은 각 멤버 포트에 대응하는 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용되며, 상이한 토큰 버킷들로부터 넘치는 토큰들이 구별되게(distinctively) 라벨링되고(labeled), 상기 크레디트 버킷과 각 토큰 버킷의 버킷 파라미터는 미리 구성되며, 상기 버킷 파라미터는 상기 토큰 버킷에 토큰을 넣는 토큰 투입 레이트(a rate of putting tokens), 상기 토큰 버킷의 용량(space), 및 상기 크레디트 버킷의 용량을 포함한다.
제1 측면을 참조하여 제1 측면의 제1 가능한 구현에서, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하는 단계는,
상기 현용 토큰 버킷의 토큰의 개수와 상기 전달될 패킷을 전달하기 위한 토큰의 개수 사이의 토큰 차이(difference of tokens)를 결정하는 단계;
상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가, 상기 토큰 차이 이상(not less than)인지를 결정하는 단계;
상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 상기 토큰 차이 이상이면, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달한 것으로 결정하는 단계; 및
상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 상기 토큰 차이보다 적으면, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않은 것으로 결정하는 단계를 포함한다.
제1 측면 또는 제1 측면의 제1 가능한 구현을 참조하여, 제1 측면의 제2 가능한 구현에서, 상기 방법은, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 상기 전달될 패킷을 폐기하거나(discard) 또는 상기 전달될 패킷을 다시 라벨링(relabeling)하는 단계를 더 포함한다.
제1 측면을 참조하여, 제1 측면의 제3 가능한 구현에서, 상기 크레디트 버킷과 각 토큰 버킷의 상기 버킷 파라미터를 미리 구성하는 것은,
토큰 투입 레이트를 결정하기 위한 미리 설정된 방법에 따라, 각 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를 결정하는 단계; 및
미리 설정된 용량 결정 방법에 따라, 각 토큰 버킷의 용량을 결정하는 단계를 포함하고,
각 토큰 버킷에 토큰을 넣는 토큰 투입 레이트의 합은, 상기 링크 집성 그룹 인터페이스의 전체 인정 정보 레이트(committed information rate) 또는 상기 링크 집성 그룹 인터페이스의 피크(peak) 정보 레이트와 동일하고, 상기 토큰 투입 레이트를 결정하기 위한 상기 미리 설정된 방법은 레이트 동일 분할 결정(rate equal division determining) 방법 또는 레이트 가중치(weight) 결정 방법을 포함하며,
각 토큰 버킷의 용량의 합은 상기 링크 집성 그룹 인터페이스의 전체 인정 버스트 사이즈(committed burst size) 또는 상기 링크 집성 그룹 인터페이스의 피크 버스트 사이즈와 동일하고, 상기 미리 설정된 용량 결정 방법은 용량 동일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함하며,
상기 크레디트 버킷의 용량은 상기 전체 인정 버스트 사이즈 또는 상기 피크 버스트 사이즈와 동일하다.
제1 측면의 제3 가능한 구현을 참조하여, 제1 측면의 제4 가능한 구현에서, 상기 방법은, 상기 크레디트 버킷이 미리 설정된 조건을 만족하면, 상기 크레디트 버킷의 토큰을 폐기하는 단계를 더 포함하고,
상기 크레디트 버킷이 미리 설정된 조건을 만족하면, 상기 크레디트 버킷의 토큰을 폐기하는 단계는,
상기 크레디트 버킷의 토큰이 미리 설정된 기간(duration)을 초과하면, 미리 설정된 공정(fair) 스케줄링 알고리즘에 따라 상기 토큰을 폐기하는 단계; 및
토큰 버킷에 토큰이 없는 것으로 검출되면, 상기 크레디트 버킷에 저장되어 있으며 현재 주기(period) 전에 상기 토큰 버킷으로부터 넘친 토큰을 폐기하는 단계를 포함한다.
제1 측면을 참조하여, 제1 측면의 제5 가능한 구현에서, 상기 방법은, 상기 크레디트 버킷이 미리 설정된 공정 스케줄링 알고리즘에 따라 각 데빗(debit) 버킷으로부터 토큰을 가져오도록, 각 토큰 버킷에 대하여 데빗 버킷을 미리 구성하고, 미리 설정된 용량 결정 방법에 따라 상기 데빗 버킷의 용량을 설정하는 단계를 더 포함하고,
상기 데빗 버킷은 싱글 보드의 동일 칩셋에 속하는 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용되며,
각 데빗 버킷의 용량의 합이 전체 인정 버스트 사이즈 또는 피크 버스트 사이즈와 동일하며, 상기 미리 설정된 용량 결정 방법은 용량 동일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함한다.
제1 측면, 제1 측면의 제1 가능한 구현, 제1 측면의 제3 가능한 구현, 제1 측면의 제4 가능한 구현, 또는 제1 측면의 제5 가능한 구현을 참조하여, 제1 측면의 제6 가능한 구현에서, 상기 방법은,
미리 설정된 개수의 최근 주기들에서(a preset number of latest periods)에서, 상기 현용 토큰 버킷의 상기 크레디트 버킷으로부터 토큰을 빌리는 것에 관한 차용 정보(borrowing information)가 미리 설정된 버킷 조정(adjusting) 조건을 만족하면, 상기 현용 토큰 버킷의 상기 차용 정보에 따라 상기 현용 토큰 버킷의 용량을 증가시키는 단계; 및
상기 현용 토큰 버킷의 상기 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보(label distribution information)에 따라, 상기 현용 토큰 버킷을 제외한(other than) 토큰 버킷에 대응하는 용량을 감소시키는 단계;
토큰 투입 레이트를 계산하기 위한 방법과 각 토큰 버킷의 재결정된 용량에 따라, 각 토큰 버킷에 토큰을 넣는 신규 토큰 투입 레이트를 결정하는 단계를 더 포함하며,
상기 차용 정보는 빌린 토큰의 개수, 토큰을 빌리는 비율(a proportion of borrowing) 및/또는 토큰을 빌리는 횟수(a number of times for borrowing tokens)를 포함하며, 감소된 용량의 합이 증가된 용량의 합과 동일하다.
제1 측면, 제1 측면의 제1 가능한 구현, 제1 측면의 제3 가능한 구현, 제1 측면의 제4 가능한 구현, 또는 제1 측면의 제5 가능한 구현을 참조하여, 제1 측면의 제7 가능한 구현에서, 상기 방법은,
미리 설정된 개수의 최근 주기들에서, 상기 현용 토큰 버킷의 상기 크레디트 버킷으로부터 토큰을 빌리는 것에 관한 차용 정보가 미리 설정된 버킷 조정 조건을 만족하면, 상기 현용 토큰 버킷의 상기 차용 정보에 따라, 상기 현용 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를, 초기 토큰 투입 레이트에서 신규 토큰 투입 레이트로 증가시키는 단계를 더 포함하고,
상기 차용 정보는 빌린 토큰의 개수, 토큰을 빌리는 비율 및/또는 토큰을 빌리는 횟수를 포함한다.
제1 측면의 제7 가능한 구현을 참조하여, 제1 측면의 제8 가능한 구현에서, 상기 방법은,
상기 현용 토큰 버킷에 토큰을 넣는 상기 신규 토큰 투입 레이트, 그리고 상기 토큰 투입 레이트와 상기 토큰 버킷의 용량 사이의 대응 관계(corresponding relation)에 따라, 상기 현용 토큰 버킷의 용량을 조정하는 단계; 및
감소된 용량의 합이 증가된 용량의 합과 동일하도록, 상기 현용 토큰 버킷이 상기 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 상기 현용 토큰 버킷을 제외한 토큰 버킷에 대응하는 조정될 용량을 결정하는 단계를 더 포함한다.
제2 측면에서, 본 발명의 또한 데이터 트래픽 제한을 위한 장치를 제공하며, 상기 장치는, 제1 사전 구성(pre-configuring) 유닛, 수신 유닛, 제1 결정 유닛, 제2 결정 유닛, 전달 유닛, 및 토큰 관리 유닛을 포함하고,
상기 제1 사전 구성 유닛은, 네트워크 디바이스의 각 링크 집성 그룹 인터페이스에 대하여 크레디트 버킷을 미리 구성하고, 상기 크레디트 버킷과 각 토큰 버킷에 대하여 버킷 파라미터를 미리 구성하도록 구성되며, 상기 크레디트 버킷은 각 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용되며, 상이한 토큰 버킷들으로부터 넘치는 토큰들이 구별되게 라벨링되고, 상기 버킷 파라미터는 상기 토큰 버킷에 토큰을 넣는 토큰 투입 레이트, 상기 토큰 버킷의 용량, 및 상기 크레디트 버킷의 용량을 포함하며;
상기 수신 유닛은, 전달될 패킷을 수신하도록 구성되고;
상기 제1 결정 유닛은, 상기 전달될 패킷에 대응하는 현용 토큰 버킷의 토큰의 개수가 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하도록 구성되며;
상기 제2 결정 유닛은, 상기 현용 토큰 버킷의 토큰의 개수가 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 상기 현용 토큰 버킷의 토큰의 개수와 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하도록 구성되고;
상기 전달 유닛은, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하면, 상기 전달될 패킷을 전달하도록 구성되며;
상기 토큰 관리 유닛은, 이에 대응하여 상기 현용 토큰 버킷의 토큰과 상기 크레디트 버킷의 토큰의 개수를 감소시키도록 구성된다.
제2 측면을 참조하여, 제2 측면의 제1 가능한 구현에서, 상기 제2 결정 유닛은,
상기 현용 토큰 버킷의 토큰의 개수와 상기 전달될 패킷을 전달하기 위한 토큰의 개수 사이의 토큰 차이를 결정하도록 구성되는, 결정 서브 유닛;
상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 상기 토큰 차이 이상인지를 결정하도록 구성되는, 결정 서브 유닛;
상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 상기 토큰 차이 이상이면, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는 것으로 결정하도록 구성되는, 제1 결정 서브 유닛; 및
상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 상기 토큰 차이보다 적으면, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수가, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않은 것으로 결정하도록 구성되는, 제2 결정 서브 유닛을 포함한다.
제2 측면 또는 제2 측면의 제1 가능한 구현을 참조하여, 제2 측면의 제2 가능한 구현에서, 상기 장치는,
패킷 처리 유닛을 더 포함하고,
상기 패킷 처리 유닛은, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 상기 전달될 패킷을 폐기하거나; 또는
상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 상기 전달될 패킷을 다시 라벨링하도록 구성된다.
제2 측면 또는 제2 측면의 제1 가능한 구현을 참조하여, 제2 측면의 제3 가능한 구현에서, 상기 제1 사전 구성 유닛은,
토큰 투입 레이트를 결정하기 위한 미리 설정된 방법에 따라, 각 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를 결정하도록 구성되는, 토큰 투입 레이트 구성 유닛;
미리 설정된 용량 결정 방법에 따라, 각 토큰 버킷의 상기 용량을 결정하도록 구성되는, 제1 용량 구성 유닛; 및
상기 크레디트 버킷의 용량을 상기 전체 인정 버스트 사이즈 또는 상기 피크 버스트 사이즈로 구성하도록 구성되는, 제2 용량 구성 유닛을 포함하고,
각 토큰 버킷에 토큰을 넣는 토큰 투입 레이트의 합은, 상기 링크 집성 그룹 인터페이스의 전체 인정 정보 레이트 또는 상기 링크 집성 그룹 인터페이스의 피크 정보 레이트와 동일하고, 상기 토큰을 넣는 레이트를 결정하기 위한 상기 미리 설정된 방법은 레이트 동일 분할 결정 방법 또는 레이트 가중치 결정 방법을 포함하며,
각 토큰 버킷의 용량의 합은 상기 링크 집성 그룹 인터페이스의 전체 인정 버스트 사이즈 또는 상기 링크 집성 그룹 인터페이스의 피크 버스트 사이즈와 동일하고, 상기 미리 설정된 용량 결정 방법은 용량 동일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함한다.
제2 측면을 참조하여, 제2 측면의 제4 가능한 구현에서, 상기 장치는,
데빗 버킷이 미리 설정된 공정 스케줄링 알고리즘에 따라 각 데빗 버킷으로부터 토큰을 동일하게 가져오도록, 각 토큰 버킷에 대하여 데빗 버킷을 미리 구성하고, 미리 설정된 용량 결정 방법에 따라 상기 데빗 버킷의 용량을 설정하도록 구성되는, 제2 사전 구성 유닛을 더 포함하고,
각 데빗 버킷의 용량의 합이 전체 인정 버스트 사이즈 또는 피크 버스트 사이즈와 동일하며, 상기 미리 설정된 용량 결정 방법은 용량 동일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함하고, 상기 데빗 버킷은 싱글 보드의 동일 칩셋에 속하는 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용된다.
제2 측면, 제2 측면의 제1 가능한 구현, 또는 제2 측면의 제4 가능한 구현을 참조하여, 제2 측면의 제5 가능한 구현에서, 상기 장치는,
미리 설정된 개수의 최근 주기들에서, 상기 크레디트 버킷으로부터 현용 토큰 버킷이 빌린 토큰의 개수가 제1 문턱값을 초과하면, 상기 현용 토큰 버킷의 차용 정보에 따라 상기 토큰 버킷의 용량을 증가시키도록 구성되는, 제1 용량 조정 유닛;
상기 현용 토큰 버킷의 상기 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 상기 현용 토큰 버킷을 제외한 토큰 버킷에 대응하는 용량을 감소시키도록 구성되는, 제2 용량 조정 유닛; 및
토큰 투입 레이트를 계산하기 위한 방법과 각 토큰 버킷의 재결정된 용량에 따라, 각 토큰 버킷에 토큰을 넣는 신규 토큰 투입 레이트를 결정하도록 구성되는, 제1 토큰 투입 레이트 조정 유닛(a first rate of putting tokens adjusting unit)을 더 포함하며,
상기 차용 정보는 상기 토큰의 라벨과 대응하는 차용량(the corresponding amount of borrowing)을 포함한다.
제2 측면, 제2 측면의 제1 가능한 구현, 또는 제2 측면의 제4 가능한 구현을 참조하여, 제2 측면의 제6 가능한 구현에서, 상기 장치는,
미리 설정된 개수의 최근 주기들에서, 상기 크레디트 버킷으로부터 현용 토큰 버킷이 빌린 토큰의 개수가 제1 문턱값을 초과하면, 상기 현용 토큰 버킷의 차용 정보에 따라, 상기 현용 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를, 초기 토큰 투입 레이트에서 신규 토큰 투입 레이트로 증가시키도록 구성되는, 제2 토큰 투입 레이트 조정 유닛을 더 포함하고,
상기 차용 정보는 빌린 토큰의 개수, 토큰을 빌리는 비율 및/또는 토큰을 빌리는 횟수를 포함한다.
제2 측면의 제6 가능한 구현을 참조하여, 제2 측면의 제7 가능한 구현에서, 상기 장치는,
상기 현용 토큰 버킷에 토큰을 넣는 상기 신규 토큰 투입 레이트, 그리고 상기 토큰 투입 레이트와 상기 토큰 버킷의 용량 사이의 대응 관계에 따라, 상기 현용 토큰 버킷의 용량을 조정하도록 구성되는, 제3 용량 조정 유닛; 및
감소된 용량의 합이 증가된 용량의 합과 동일하도록, 상기 현용 토큰 버킷이 상기 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 상기 현용 토큰 버킷을 제외한 토큰 버킷에 대응하는 조정될 용량을 결정하도록 구성되는, 제4 용량 조정 유닛을 더 포함한다.
제3 측면에서, 본 발명은 제2 측면에 따른 장치들 중 어느 하나를 포함하는 네트워크 디바이스를 제공한다.
전술한 기술적 해결 방안으로부터 알 수 있는 바와 같이, 본 발명에서 제공되는 데이터 트래픽 제한을 위한 방법은 먼저, 네트워크 디바이스에서 각 링크 집성 그룹 인터페이스에 대하여, 각 토큰 버킷으로부터 넘치는 토큰을 저장하기 위한 크레디트 버킷을 구성하고, 상이한 토큰 버킷들으로부터 넘치는 토큰들이 구별되게 라벨링되고; 전달될 패킷을 수신하는 경우, 먼저, 전달될 패킷에 대응하는 토큰 버킷의 토큰의 개수가 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하며, 토큰 버킷의 토큰의 개수가 전달될 패킷을 전달하는데 충분하지 않으면, 크레디트 버킷으로부터, 비현용 토큰 버킷으로부터 넘치는 토큰을 빌리고, 현용 토큰 버킷의 토큰과 빌린 토큰이 전달될 패킷을 전달하는데 충분하면, 전달된 패킷을 전달하고, 한편, 현용 토큰 버킷과 크레디트 버킷의 대응하는 토큰의 개수를 감소시킨다. 네트워크 장비에서, 각 링크 집성 그룹 인터페이스의 다수의 링크들을 통한 데이터 트래픽의 동적 감소가 달성됨으로써, 링크 집성 그룹 인터페이스의 멤버 포트들을 통한 데이터 트래픽의 합이, 링크 집성 그룹 인터페이스에 대하여 제한된 전체 데이터 트래픽과 보다 매칭될 수 있다.
본 발명의 실시 예들 또는 기존 기술에서의 기술적 해결방안을 더욱 명확하게 기술하기 위하여, 다음에 실시 예들 또는 기존 기술을 기술하기 위하여 필요한 첨부된 도면을 간략하게 설명한다. 명백하게, 창작 능력 없이 당업자는 첨부된 도면들로부터 다른 도면들을 유추할 수 있다.
도 1은 크로스 프레임(cross-frame) 링크 집성 그룹 인터페이스의 개략적인 구조도이다.
도 2는 본 발명의 실시 예에 따른 데이터 트래픽 제한을 위한 방법의 개략적인 흐름도이다.
도 3은 본 발명의 실시 예에 따른 도 1에 대한 특정 애플리케이션 시나리오의 개략적인 도이다.
도 4는 도 1에 도시된 링크 집성 그룹 인터페이스의 데이터 트래픽 변동 곡선(variation curve)이다.
도 5는 본 발명의 실시 예에 따른 도 1에 대한 다른 특정 애플리케이션 시나리오의 개략적인 도이다.
도 6은 본 발명의 실시 예에 따른 데이터 트래픽 제한을 위한 다른 방법의 개략적인 흐름도이다.
도 7은 본 발명의 실시 예에 따른 데이터 트래픽 제한을 위한 장치의 개략적인 구조도이다.
도 8은 본 발명의 도 7에 도시된 제1 사전 구성(pre-configuring) 유닛의 개략적인 구조도이다.
도 9는 본 발명의 실시 예에 따른 데이터 트래픽 제한을 위한 다른 장치의 개략적인 구조도이다.
도 10은 본 발명의 실시 예에 따른 데이터 트래픽 제한을 위한 다른 장치의 개략적인 구조도이다.
본 발명의 실시 예들의 기술적 해결 방안들을 보다 이해할 수 있도록 하기 위하여, 이하에, 본 발명의 실시 예들의 첨부한 도면을 참조하여 본 발명의 실시 예들의 기술적 해결 방안들을 명확하게 완전하게 설명한다. 명백하게, 여기에 설명되는 실시 예들은 모든 실시 예들이라기 보다는 단지 본 발명의 일부 실시 예이다. 임의 창작 능력 없이 본 발명에서 설명되는 실시 예들을 토대로 당업자에 의해 획득되는 모든 다른 실시 예들은 본 발명의 보호 범위에 속할 것이다.
본 발명의 실시 예에 따른 데이터 트래픽 제한을 위한 방법은 네트워크 디바이스(예를 들어, 프레임 타입 디바이스 또는 스택(stacked) 디바이스 등)의 링크 집성 그룹 인터페이스에 적용될 수 있으며, 싱글 보드를 횡단하거나(crossing) 스택 디바이스를 횡단하는 멤버 포트들을 포함하는 링크 집성 그룹 인터페이스(이더넷-트렁크)는, 링크 집성 그룹 인터페이스의 멤버 포트들이 상이한 싱글 보드들의 칩셋들 상에 위치되어 있는 것을 의미한다. 서비스 프로바이더에 대하여, 이러한 종류의 링크 집성 그룹 인터페이스를 통한 데이터 트래픽에 대한 제한 파라미터가, 전체 링크 집성 그룹 인터페이스(the whole link aggregation group interface)에 특정되며, 즉, 링크 집성 그룹 인터페이스의 모든 멤버 포트들에 의해 통과되도록 허용된 데이터 트래픽의 합이, 링크 집성 그룹 인터페이스에 대하여 서비스 프로바이더에 의해 설정된 전체 데이터 트래픽(the entire data traffic)이다.
데이터 트래픽을 제한하기 전에, 먼저, 네트워크 디바이스(네트워크 디바이스에 다수의 링크 집성 그룹 인터페이스들이 있을 수 있음)의 각 링크 집성 그룹 인터페이스에 대하여 크레디트 버킷(credit bucket)을 구성한다. 크레디트 버킷은 링크 집성 그룹 인터페이스의 싱글 보드의 각 칩셋에 대응하는 토큰 버킷으로부터 넘치는(overflowing) 토큰들을 저장하기 위하여 사용되며, 상이한 토큰 버킷들로부터 넘치는 토큰들은 구별되게(distinctively) 라벨링된다(labeled)(예를 들어, 상이한 토큰 버킷들로부터 넘치는 토큰들을 상이한 색상으로 설정(dyeing)).
선택적으로, 크레디트 버킷은 미리 설정된 조건에 따라 크레디트 버킷의 토큰들의 일부 또는 모두를 폐기하며, 크레디트 버킷이 토큰을 폐기하는 경우, 크레디트 버킷의 토큰이 링크 집성 그룹 인터페이스의 각 멤버 포트의 나머지 데이터 트래픽의 상황을 정확하게 반영할 수 있음을 보장하기 위하여, 크레디트 버킷은 미리 설정된 공정 스케줄링 알고리즘(fair scheduling algorithm)에 따라 상이한 토큰 버킷들로부터 토큰들을 폐기한다. 미리 설정된 조건은 다음의 상황들을 포함할 수 있다.
①. 토큰 버킷이 크레디트 버킷으로부터 토큰을 빌리지(borrow) 않는 경우의 주기(period)간 동안에, 크레디트 버킷에 토큰을 저장하는 시간이 미리 설정된 기간(duration)을 초과하면, 미리 설정된 공정한 스케줄링 알고리즘에 따라 토큰을 폐기하고, 토큰 버킷의 토큰이 상이한 토큰 버킷들로부터 제공된 것이면, 미리 설정된 공정 스케줄링 알고리즘에 따라 상이한 토큰 버킷들로부터의 토큰들을 폐기하며, 주기는 CPU에서 미리 설정된 클락 주기의 소정 배수일 수 있다.
②. 토큰 버킷에 토큰이 없는 것으로 검출되는 경우, 크레디트 버킷에 저장되어 있으며 현재 주기 전에 토큰 버킷으로부터 넘친 토큰을 폐기한다.
크레디트 버킷과 각 토큰 버킷의 버킷 파라미터들은 미리 구성되며, 버킷 파라미터들은 토큰 버킷에 토큰을 넣는 토큰 투입 레이트(a rate of putting tokens into the token bucket), 토큰 버킷의 용량(space), 그리고 크레디트 버킷의 용량을 포함한다.
링크 집성 그룹 인터페이스에 속하는 싱글 보드의 칩셋(예를 들어 프레임 타입 디바이스의 싱글 보드 칩 또는 박스 타입((box-type) 디바이스의 칩)의 토큰 버킷의 개수가 M이라고 가정하고, 링크 집성 그룹 인터페이스의 전체 CIR(또는 PIR)은 N1이고, 전체 CBS 또는 PBS는 N2이며, i번째 토큰 버킷의 초기 용량은 CBSi(또는 PBSi)이고, i번째 토큰 버킷의 초기 토큰 투입 레이트가 CIRi(또는 PIRi)라고 가정하면, 각 토큰 버킷 파라미터는 다음의 수식(formulas):
Figure pct00001
을 만족하며, 여기서, CBS(Committed Burst Size, 인정 버스트 사이즈), PBS (Peak Burst Size, 피크 버스트 사이즈)이다.
크레디트 버킷의 용량은 모든 토큰 버킷의 전체 용량과 동일하며, 즉, 크레디트 버킷의 용량이 N2와 동일하다.
버킷 파라미터를 구성하는 절차는,
토큰 투입 레이트를 결정하기 위한 미리 설정된 방법, 예를 들어, 레이트 동일 분할 결정 방법 즉, CIRi=N1/M에 따라, 토큰 투입 레이트 CIRi를 결정하거나; 또는 i번째 멤버 포트의 가중치 값이 Pi이면, 멤버 포트의 가중치 값 즉, 레이트 가중치 결정 방법 즉,
Figure pct00002
에 따라 토큰 투입 레이트 CIRi를 결정하는 단계를 포함할 수 있다. 물론(Certainly), 토큰 투입 레이트는 다른 방법에 따라 결정될 수 있으며, 본 출원에서 한정되지 않는다.
토큰 버킷의 초기 용량 CBSi가 용량 결정 방법, 예를 들어, 용량 동일 분할 결정 방법 즉, CBSi=N2/M에 따라; 또는 i번째 멤버 포트의 가중치 값이 Pi라고 하면, 용량 가중치 결정 방법 즉,
Figure pct00003
에 따라, 결정될 수 있다. 물론, 토큰 버킷의 용량은 다른 방법에 따라 결정될 수 있다.
본 발명의 실시 예에 따른 데이터 트래픽 제한을 위한 방법의 개략적인 흐름도인 도 2를 참조하여, 도 2에 도시된 바와 같이, 방법은 다음의 단계들을 포함할 수 있다.
S10, 전달될 패킷을 수신한다.
S11, 전달될 패킷에 대응하는 멤버 포트의 현용 토큰 버킷의 토큰의 개수가, 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하고, 도달하지 않으면 단계 S13을 실행하고, 도달하면 단계 S12를 실행한다.
전달될 패킷을 수신한 다음에, 어떤 멤버 포트가 전달될 패킷에 속하는지를 결정하고, 멤버 포트에 대응하는 싱글 보드의 칩셋을 결정하며, 대응하는 토큰 버킷을 결정한다. 토큰 버킷을 결정한 다음에, 토큰 버킷의 토큰의 개수가, 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하며, 도달하면 단계 S12에서, 토큰 버킷의 토큰을 사용하여 전달될 패킷을 전달하고, 토큰 버킷의 토큰의 대응하는 개수를 감소시킨다.
현용 토큰 버킷의 토큰의 개수가 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 단계 S13에서, 현용 토큰 버킷의 토큰의 개수와 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하며, 도달하면 단계 S14를 실행하고, 도달하지 않으면 단계 S15를 실행한다.
본 발명의 실시 예에서, 단계 S13의 결정 절차는 다음의 단계들을 포함할 수 있다.
1). 현용 토큰 버킷의 토큰의 개수와 전달될 패킷을 전달하기 위한 토큰의 개수 사이의 토큰 차이를 결정한다.
2). 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 토큰 차이 이상인지를 결정한다.
크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 토큰 차이 이상이면, 단계 3)에서, 현용 토큰 버킷의 토큰과 크레디트 버킷의 그린색 토큰의 개수가 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는 것으로 결정하고;
크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 토큰 차이보다 적으면, 단계 4)에서, 현용 토큰 버킷의 토큰과 크레디트 버킷의 그린색 토큰의 개수가 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는 않은 것으로 결정한다.
현용 토큰 버킷의 토큰과 크레디트 버킷의 토큰의 개수의 합이 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하면, 단계 S14에서, 전달될 패킷을 전달하고, 이에 대응하여 현용 토큰 버킷과 크레디트 버킷의 토큰의 개수를 감소시킨다.
전달될 패킷을 전달하는데 부족한 토큰의 개수가 N이라고 가정하면, 전달될 패킷을 전달한 다음에, 현용 토큰 버킷의 토큰들이 소탕되며(wipe up), 한편, 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 N만큼 감소된다.
현용 토큰 버킷의 토큰과 크레디트 버킷의 토큰의 개수의 합이 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 단계 S15에서, 패킷을 폐기하거나 패킷을 다시 라벨링한다.
크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 토큰 차이보다 적으면, 즉, 전달될 패킷을 전달하기 위한 토큰들이 충분하지 않으면, 전달될 패킷을 폐기하거나 또는 전달된 패킷의 IP 우선순위(IP Precedence), DSCP, 또는 EXP와 같은 필드를 다시 라벨링하고, 다시 라벨링된 패킷을 전달한다. 이때, 토큰 버킷과 크레디트 버킷의 토큰의 개수는 모두 변경되지 않는다.
실시 예에 따른 데이터 트래픽 제한을 위한 방법은 먼저, 네트워크 디바이스의 각각의 링크 집성 그룹 인터페이스에 대하여 각 토큰 버킷으로부터 넘치는 토큰을 저장하기 위한 크레디트 버킷을 구성하며; 전달될 패킷을 수신하는 경우, 먼저, 전달될 패킷에 대응하는 토큰 버킷의 토큰의 개수가 전달될 패킷을 전달하기 위한 개수에 도달하는지를 결정하고, 토큰 버킷의 토큰의 개수가 전달될 패킷을 전달하는데 충분하지 않으면 크레디트 버킷으로부터, 비현용 토큰 버킷으로부터 넘치는 토큰을 빌리고, 현용 토큰 버킷의 토큰과 빌린 토큰이 전달될 패킷을 전달하는데 충분하면, 전달될 패킷을 전달하고, 한편, 현용 토큰 버킷과 크레디트 버킷의 대응하는 토큰의 개수를 감소시키며, 상이한 토큰 버킷들로부터 넘치는 토큰들은 구별가능하게 라벨링된다. 네트워크 장비에서 각각의 링크 집성 그룹 인터페이스의 다수의 링크를 통한 데이터 트래픽의 동적인 제한이 달성됨으로써, 링크 집성 그룹 인터페이스에서의 멤버 포트를 통한 데이터 트래픽의 합이, 링크 집성 그룹 인터페이스에 대하여 제한된 전체 데이터 트래픽에 보다 매칭될 수 있다.
도 3에서와 같이, 도 1에 도시된 실시 예에 대응하는 특정 애플리케이션 시나리오의 개략적인 도가 도시되어 있다.
도 3에 도시된 바와 같이, 현재 링크 집성 그룹 인터페이스의 2개의 멤버 포트가 싱글 보드의 칩셋(1)과 싱글 보드의 칩셋(2)에 각각 위치되어 있으며, 싱글 보드들의 2개의 칩셋에 대해 구성된 토큰 버킷들이 각각 토큰 버킷(11)과 토큰 버킷(21)이며, 크레디트 버킷(3)이 링크 집성 그룹 인터페이스에 대하여 구성되어 있다. 크레디트 버킷(3)은 토큰 버킷(11)으로부터 넘치는 토큰을 파란색으로 설정하고(dye), 토큰 버킷(21)으로부터 넘치는 토큰을 녹색으로 설정한다. 본 실시 예에 도시된 링크 집성 그룹 인터페이스는 2개의 링크들을 함유하며, 본 발명의 실시 예의 데이터 트래픽 제한을 위한 방법은 임의 개수의 링크들(an arbitrary number of links)를 함유하는 링크 집성 그룹 인터페이스에 적용될 수 있다.
설명을 용이하게 하기 위하여, 링크 집성 그룹 인터페이스의 전체 CIR은 100M이고, 토큰 버킷(11)과 토큰 버킷(21)의 CIR는 모두 데이터 트래픽의 50M로 설정되는 것으로 가정한다. 게다가, 링크 집성 그룹이 설치된 후에 동작하는 초기 모멘트(moment) t0에서, 모든 토큰 버킷들이 가득차고, 즉, 토큰 버킷들이 토큰들로 가득차고, 그 다음에 멤버 포트를 통한 실제 데이터 트래픽에 따라 토큰 버킷으로부터 토큰을 꺼내고, 토큰을 넣은 미리 설정된 레이트에 따라 토큰 버킷에 토큰을 넣는다.
도 4는 링크 집성 그룹 인터페이스의 2개의 멤버 포트들을 통한 데이터 트래픽이 시간에 따라 변화하는 곡선의 개략적인 도이며; 도 4에서, 수평축은 시간축이고, 수직축은 멤버 포트를 통한 데이터 트래픽이며, 도면에서 ○로 표시된 곡선은 싱글 보드의 칩셋(1)에 대응하는 멤버 포트의 데이터 트래픽 변동 곡선을 나타내고, 도면에서 □로 표시된 곡선은 싱글 보드의 칩셋(2)에 대응하는 멤버 포트의 데이터 트래픽 변동 곡선을 나타내며, 매 2개의 모멘트 포인트(moment point) 사이의 시간 간격(time interval)이 하나의 주기라고 가정하며, 즉, 도면은 9 주기의 데이터 트래픽 변동 곡선들을 나타내며, 여기서 주기는 CPU의 클락 주기의 미리 설정된 소정 배수이다.
t1부터 t2까지의 시간 간격 동안에, 칩셋(1)에 대응하는 멤버 포트들에 의해 공유되는 부하의 데이터 트래픽이 30M(50M의 데이터 트래픽을 초과하지 않음)이고, 칩셋(2)에 대응하는 멤버 포트들에 의해 공유되는 부하의 데이터 트래픽이 40M(50M의 데이터 트래픽을 초과하지 않음)이며, 링크 집성 그룹 인터페이스를 통한 전체 데이터 트래픽은 70M이다. 이 시간 간격 동안에, 토큰 버킷(11)에 토큰을 넣는 토큰 투입 레이트(50M)는 데이터 트래픽 레이트(30M)보다 크고, 토큰 버킷(21)에 토큰을 넣는 토큰 투입 레이트(50M)는 데이터 트래픽 레이트(40M)보다 크다. 즉, 토큰 버킷들 모두는 그들로부터 넘치는 토큰들을 가지며, 넘치는 토큰들은 임의 공정 스케줄링 알고리즘에 따라 크레디트 버킷이 가져가며, 그 다음에 크레디트 버킷에 의해 대응하는 색으로 설정되고, 토큰 버킷(11)으로부터 넘치는 토큰은 파란색으로 설정되어 크레디트 버킷(3)에 넣어지며, 토큰 버킷(21)으로부터 넘치는 토큰은 녹색으로 설정되어 크레디트 버킷(3)에 넣어지고, 토큰들이 미리 설정된 기간 동안 크레디트 버킷(3)에 저장되어 있는 경우, 미리 설정된 공정 스케줄링 알고리즘에 따라 상이한 색으로 설정된 토큰들을 폐기하며, 미리 설정된 기간이 주기인 것으로 가정하면, 크레디트 버킷(3)의 파란색 토큰과 녹색 토큰이 모두 폐기된다.
모멘트 t2에서, 칩셋(2)에 대응하는 멤버 포트에 의해 공유되는 부하의 데이터 트래픽은 40M에서 60M로 증가하며, 칩셋(1)에 대응하는 멤버 포트를 통한 데이터 트래픽은 변화되지 않으며, t2에서 t3의 시간 간격 동안에, 칩셋(2)에 대응하는 멤버 포트에 의해 공유되는 부하의 데이터 트래픽은 60M이며, 이때, 토큰 버킷(11)(50M)에 토큰을 넣는 토큰 투입 레이트는 데이터 트래픽 레이트(30M)보다 크며, 즉, 토큰 버킷(1)의 토큰은 넘치며, 넘친 토큰은 크레디트 버킷(3)에 의해 가져가서 파란색으로 설정되며, t2에서 t3의 시간 간격 동안에, 토큰 버킷(11)의 남겨진 20M*(t3-t2)의 토큰들이 크레디트 버킷(2)에 넣어진다. 토큰 버킷(21)에 토큰을 넣는 토큰 투입 레이트는 데이터 트래픽보다 적으며, 즉, 칩셋(2)에 대응하는 멤버 포트는 패킷을 전달하는 경우, 크레디트 버킷(3)으로부터 토큰 버킷(11)으로부터 넘치는 토큰을 빌려야 하며, 크레디트 버킷의 파란색 토큰의 개수는 20M*(t3-t2)이며, 이는 (60-50)M*(t3-t2)보다 크고, 그러므로 60M의 데이터 트래픽이 칩셋(2)에 대응하는 멤버 포트에 의해 통과되도록 허용되며, 링크 집성 그룹 인터페이스의 전체 데이터 트래픽은 30M+60M=90M이고, 이는 100M의 전체 데이터 트래픽을 초과하지 않는다. 모멘트 t3까지, 크레디트 버킷의 나머지 10M*(t3-t2) 파란색 토큰들이 폐기된다. t3에서 t7의 시간 간격 동안에, 두 개의 칩셋을 통한 데이터 트래픽의 변동 상황은 t2에서 t3의 시간 간격 동안의 변동 상황과 동일하며, 토큰을 할당하는 절차 또한 동일하고, 상세한 설명은 생략한다.
모멘트 t7에서, 칩셋(1)에 대응하는 멤버 포트에 의해 공유되는 부하의 데이터 트래픽은 30M에서 50M로 증가하며, t7에서 t8의 시간 간격 동안에, 이때, 토큰 버킷(21)에 토큰을 넣는 토근 투입 레이트는 토큰이 꺼내지는 레이트와 동일하고, 크레디트 버킷(3)에 넣을 남겨진 토큰이 없으며; 시간 간격 동안에, 칩셋(2)에 대응하는 멤버 포트에 의해 공유되는 부하의 데이터 트래픽은 여전히 60M이며, 즉, 토큰 버킷(11)에 토큰을 넣는 토큰 투입 레이트는 토큰이 꺼내지는 레이트보다 적으며, 통과되는 60M 데이터 트래픽을 허용하기 위해서는 10M 토큰이 트레디트 버킷으로부터 빌려져야 하며, 그러나 크레디트 버킷에 넣을 토큰 버킷(21)의 남은 토큰이 없기 때문에, 그러므로, 조건을 만족하는 크레디트 버킷의 토큰이 없고, 그래서 단지 50M 데이터 트래픽이 칩셋(2)에 대응하는 멤버 포트에 의해 통과되는 것이 허용되며, 2개의 멤버 포트에 대한 전체 데이터 트래픽의 합이 50M+50M=100M이며, 이는 링크 집성 그룹 인터페이스를 위하여 설정된 전체 CIR 또는 전체 PIR과 동일하다.
본 발명의 실시 예에 따른 다른 애플리케이션 시나리오의 개략적인 도면인 도 5를 참조하며, 도 3에 도시된 애플리케이션 시나리오에서, 데빗(debit) 버킷이 싱글 보드의 각 칩셋에 대하여 추가로 구성된다. 데빗 버킷을 설정한 다음에, 패킷을 전달하고 토큰을 할당하는 절차는 도 1에 도시된 실시 예의 대응하는 절차와 동일하며, 여기서는 상세한 설명을 생략한다.
현재 링크 집성 그룹 인터페이스의 2개의 멤버 포트는 싱글 보드의 칩셋(1)과 싱글 보드의 칩셋(2)에 각각 위치되어 있다. 싱글 보드의 칩셋(1)에 대하여 토큰 버킷(11)과 데빗 버킷(12)을 구성하고, 싱글 보드의 칩셋(2)에 대하여 토큰 버킷(21)과 데빗 버킷(22)을 구성한다. 데빗 버킷은 싱글 보드의 동일 칩셋의 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용되며, 데빗 버킷이 가득 차는 경우, 토큰 버킷으로부터 넘치는 토큰은 바로 폐기된다. 네트워크 디바이스의 링크 집성 그룹 인터페이스에 대하여 크레디트 버킷(3)을 구성하며, 주기 T 동안에, 크레디트 버킷(3)이 토큰이 넘친 토큰 버킷에 대응하는 데빗 버킷으로부터 동일하게 토큰을 가져오는 것을 보장(즉, 크레디트 버킷의 토큰의 라벨들이 균일하게 분포되거나 또는 토큰의 색상들이 미리 설정된 비율(proportion)에 따라 분포되는 것을 보장하는 것)하기 위하여, 미리 설정된 트리거링(triggering) 조건이 만족되는 경우, 크레디트 버킷(3)은 미리 설정된 공정 스케줄링 알고리즘에 따라 각 데빗 버킷으로부터 토큰을 가지고 오며, 추가적으로, 링크 집성 그룹 인터페이스의 멤버 포트들 중 임의 하나를 통한 데이터 트래픽이 갑자기 증가하는 경우, 그리고 다른 멤버 포트에 대한 남은 데이터 트래픽이 있는 경우, 데이터 트래픽이 갑자기 증가한 멤버 포트가 크레디트 버킷으로부터 토큰을 빌리 수 있음을 보장하기 위하여, 크레디트 버킷의 토큰이 모두 동일한 색상으로 토큰 버킷이 다른 색상의 토큰을 빌릴 수 없는 것을 유발시키는 현상을 방지하며, 이에 따라 크로스-칩셋 멤버 포트들을 포함하는 링크 집성 그룹 인터페이스를 통한 전체 데이터 트래픽을 정확하게 제어한다.
미리 설정된 트리거링 조건은 다음을 포함할 수 있다.
①. 크레디트 버킷으로부터 토큰을 빌리는 토큰 버킷이 없는 주기 동안에, 크레디트 버킷이 제1 미리 설정된 기간과 공정 스케줄링 알고리즘에 따라 각 데빗 버킷으로부터 동일하게 토큰을 가져오고;
②. 토큰 버킷이 크레디트 버킷으로부터 토큰을 빌리는 경우, 크레디트 버킷이 데빗 버킷으로부터 토큰을 가져온 마지막 시간 이후에 제2 미리 설정된 기간이 경과하면, 공정 스케줄링 알고리즘에 따라 각 크레디트 버킷으로부터 동일하게 토큰을 가져오며;
③. 크레디트 버킷의 토큰의 개수가 미리 설정된 값보다 적으면, 크레디트 버킷이 공정 스케줄링 알고리즘에 따라 각 데빗 버킷으로부터 토큰을 가져온다. 미리 설정된 값은 실제 필요에 따라 자유로이 설정될 수 있다.
각 데빗 버킷의 용량의 합이 링크 집성 그룹 인터페이스의 전체 CBS 또는 전체 PBS와 동일하며, 각 데빗 버킷의 용량은 동일 분할 결정 방법 또는 가중치 결정 방법에 따라 결정될 수 있으며, 물론 다른 방법도 또한 용량을 결정하기 위해 적용될 수 있다.
도 4의 데이터 트래픽 변동 예에 이어서, 특정 토큰 투입 레이트(50M)에 따라 토큰 버킷(11)과 토큰 버킷(21)에 토큰을 넣고, t1부터 t2까지의 시간 간격 동안에, 토큰 버킷(11)에 토큰을 넣는 토큰 투입 레이트(50M)가 데이터 트래픽(30M)보다 크고, 토큰이 넘치며, 넘친 토큰은 데빗 버킷(12)에 넣어지며; 한편, 토큰 버킷(21)에 토큰을 넣는 토큰 투입 레이트(50M)는 데이터 트래픽(40M)보다 크고, 토큰이 넘치며, 넘친 토큰은 데빗 버킷(22)에 넣어진다. 이때, 크레디트 버킷(3)이 임의 공정 스케줄링 알고리즘에 따라 데빗 버킷(12)과 데빗 버킷(22)으로부터 토큰을 가져오고, 2개의 데빗 버킷으로부터의 토큰을 상이한 색상으로 설정한다. 공정 스케줄링 알고리즘은 임의 공정 알고리즘일 수 있으며, 이는 본 출원에서 한정되지 않는다.
본 실시 예에서 제공되는 링크 집성 그룹 인터페이스 구조는 링크 집성 그룹 인터페이스의 싱글 보드의 각 칩셋에 대하여 데빗 버킷을 구성하고, 데빗 버킷을 싱글 보드의 동일 칩셋의 토큰 버킷으로부터 넘치는 토큰을 저장하는데 사용하며, 크레디트 버킷은 트리거링 시간 포인트에서 각 데빗 버킷으로부터 토큰을 가져오며, 이에 따라 토큰 버킷으로부터 넘치는 토큰이 있기만 하면 크레디트 버킷이 토큰 버킷으로부터 토큰을 가져오는 것을 방지할 수 있으며, 즉, 크레디트 버킷에 대응하는 메인 제어 패널(panel)과 토큰 버킷에 대응하는 싱글 보드 사이의 빈번한 상호작용을 방지할 수 있으므로, 크레디트 버킷에 대응하는 메인 제어 패널의 성능 파라미터에 대한 요구 사항을 감소시키고, 네트워크 디바이스의 코스트(cost)를 감소시킨다.
본 발명의 실시 예에 따른 데이터 트래픽 제한을 위한 다른 방법의 개략적인 흐름도인 도 6을 참조하여, 도 2에 도시된 실시 예를 토대로, 다음의 단계들을 추가로 포함한다.
단계 S14 이후에, 단계 S16을 실행하고, 빌린 토큰의 라벨 분포 정보를 분석하고; 즉, 각 색상으로 라벨링된 토큰을 카운트하며, 대응하는 차용량(the corresponding amount of borrowing)은 예를 들어, 빌린 녹색 토큰의 양이 50M이고, 라벨 분포 정보는 토큰의 라벨과 대응하는 차용량을 포함한다.
S17, 현용 토큰 버킷의 크레디트 버킷으로부터 토큰을 빌리는 것에 대한 차용 정보(borrowing information)가 미리 설정된 버킷 조정 조건을 만족하면, 현용 토큰 버킷의 토큰 차용 정보와 라벨 분포 정보에 따라 대응하는 토큰 버킷의 버킷 파라미터를 조정하며, 각 토큰 버킷의 조정된 버킷 파라미터가 여전히, 링크 집성 그룹 인터페이스를 통한 데이터 트래픽에 대하여 설정된 파라미터들을 따라야 하며, 버킷 파라미터는 토큰 투입 레이트와 용량을 포함한다. 차용 정보는 빌린 토큰의 양, 토큰을 빌리는 횟수, 및/또는 빌리는 비율을 포함하며, 빌리는 비율은 임의 토큰 버킷이 빌린 토큰의 개수와 전달될 패킷을 전달하기 위하여 필요한 토큰의 개수 사이의 레이션(ration)을 나타낸다.
미리 설정된 버킷 조정 조건은 임의 토큰 버킷의 크레디트 버킷으로부터 지속적으로 빌린 토큰의 개수가 제1 문턱값을 초과하는 것 및/또는 크레디트 버킷으로부터 임의 토큰 버킷에 의해 토큰을 지속적으로 빌린 횟수가 미리 설정된 횟수를 초과하는 것을 포함할 수 있으며, 이는 임의 멤버 포트를 통한 트래픽이 항상 그것에 대해 설정된 데이터 트래픽을 초과하고, 다른 멤버 포트를 통한 트래픽이 항상 설정된 데이터 트래픽보다 적은 것을 나타내며, 이때, 동적 버킷 조정(adjustment)을 트리거링하고, 크레디트 버킷으로부터 항상 토큰을 빌리는 토큰 버킷의 토큰 투입 레이트와 용량을 증가시키고, 항상 토큰이 넘치는 토큰 버킷의 토큰 투입 레이트와 용량을 감소시키며, 감소된 토큰 투입 레이트의 합이 증가된 토큰 투입 레이트의 합이 동일한 조건이 만족되며, 즉, 각 토큰 버킷의 조정된 토큰 투입 레이트의 합이 링크 집성 그룹 인터페이스의 전체 CIR 또는 링크 집성 그룹 인터페이스의 전체 PIR과 일치하는 것을 보장하며, 그리고 감소된 용량이 증가된 용량과 일치하는 조건을 만족하며, 즉, 각 토큰 버킷의 조정된 용량의 합이 링크 집성 그룹 인터페이스의 전체 CBS 또는 링크 집성 그룹 인터페이스의 전체 PBS와 일치하는 것을 보장한다. 제1 문턱값은 실제 필요에 따라 자유로이 설정될 수 있다.
본 발명의 실시 예에서, 현용 토큰 버킷의 버킷 파라미터를 조정하는 절차는 다음의 단계들을 포함할 수 있다.
11) 현용 토큰 버킷의 차용 정보(예를 들어, 빌린 비율)에 따라 현용 토큰 버킷의 용량을 증가시킨다;
12) 현용 토큰 버킷의 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 현용 토큰 버킷을 제외한 토큰 버킷에 대응하는 용량을 감소시키며, 감소된 용량의 합과 증가된 용량의 합이 동일하다;
13) 각 토큰 버킷의 재결정된 용량과 토큰 투입 레이트를 계산하기 위한 방법에 따라, 각 토큰 버킷에 토큰을 넣는 신규(new) 레이트를 결정한다.
도 4의 데이터 트래픽 변동 예에 이어서, t2에서 t5까지의 시간 간격 동안에, 칩셋(1)에 대응하는 멤버 포트에 의해 공유되는 부하의 데이터 트래픽이 항상 30M이고, 칩셋(2)에 대응하는 멤버 포트에 의해 공유되는 부하의 데이터 트래픽이 항상 60M이며, 토큰 버킷(21)이 지속적으로 크레디트 버킷(3)으로부터 토큰을 빌리고, 각 주기에서, 토큰 버킷(21)이 크레디트 버킷(3)으로부터 토큰을 빌리는 토큰 레이트가 10M이고, 빌린 토큰은 모두 토큰 버킷(11)으로부터 제공되는 것으로 가정한다. 그 다음에, 조정되어야 하는 용량과 조정 전략(adjusting strategy)을 산출하며, 조정 전략은 토큰 버킷(11)의 용량이 50M*T-10M*T=40M*T로 조정되고, 대응하는 토큰 투입 레이트는 40M로 조정되며; 한편, 토큰 버킷(21)의 용량이 50M*T+10M*T=60M*T로 조정되고, 대응하는 토큰 투입 레이트가 60M로 조정되는 것을 포함한다. 토큰 버킷의 버킷 파라미터들을 동적으로 조정한 다음에, t4에서 t7까지의 시간 간격 동안에, 각 토큰 버킷의 토큰 투입 레이트가 멤버 포트를 통한 데이터 트래픽을 따르고, 크레디트 버킷으로부터 토큰을 빌릴 필요가 없으며, 이에 따라 링크 집성 그룹 인터페이스의 전체 데이터 트래픽이 만족되는 것을 보장하면서, 멤버 포트를 통한 데이터 트래픽에 대한 동적 제어를 달성하며, 전체 데이터 트래픽의 제어 정확성을 증가시킨다.
본 발명의 다른 실시 예에서, 전술한 동적 버킷 조정 절차와는 달리, 먼저, 조정되어야 하는 토큰 투입 레이트를 결정하고, 그 다음에, 토큰 투입 레이트와 토큰 버킷의 용량 사이의 관계를 토대로, 조정되어야 하는 토큰 버킷의 용량과 최종 조정 전략을 결정한다. 현용 토큰 버킷의 버킷 파라미터를 조정하는 절차는 단계의 단계들을 포함한다.
21) 현용 토큰 버킷의 차용 정보에 따라 현용 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를, 초기 토큰 투입 레이트에서 신규 토큰 투입 레이트로 증가시킨다.신규 토큰 투입 레이트는 초기 토큰 투입 레이트 보다 크다.
22) 현용 토큰 버킷에 토큰을 넣은 신규 토큰 투입 레이트와, 토큰 투입 레이트와 토큰 버킷의 용량 사이의 관계에 따라 현용 토큰 버킷의 용량을 조정한다.
23) 현용 토큰 버킷의 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 현용 토큰 버킷을 제외한 토큰에 대응하는 토큰 버킷의 용량을 결정하고 조정함으로써, 감소된 용량의 합이 증가된 용량의 합과 동일하다.
선택적으로, 도 5에 도시된 애플리케이션 시나리오에서, 토큰 버킷의 버킷 파라미터들을 동적으로 조정한 다음에, 데빗 버킷의 용량 또한 동적으로 조정되며, 데빗 버킷의 용량은 토큰 버킷의 조정 비율에 따라 조정될 수 있다.
실시 예에 따른 데이터 트래픽 제한을 위한 방법에 따라, 링크 집성 그룹 인터페이스의 임의 토큰 버킷의 크레디트 버킷으로부터 토큰을 빌리는 것에 대한 차용 정보가 미리 설정된 버킷 조정 조건을 만족하면, 현용 토큰 버킷의 차용 정보에 따라 대응하는 토큰 버킷의 버킷 파라미터를 조정하며, 버킷 파라미터는 토큰 투입 레이트와 용량을 포함한다. 따라서, 링크 집성 그룹 인터페이스의 각 링크에 대한 토큰 버킷의 버킷 파라미터에 대한 동적 조정이 최종적으로 달성됨으로써, 각 토큰 버킷의 토큰 투입 레이트가 토큰 버킷에 대응하는 멤버 포트를 통한 데이터 트래픽과 매칭되며, 이에 따라 링크 집성 그룹 인터페이스의 전체 데이터 트래픽의 제어 정확성을 증가시킨다.
전술한 구현 방식의 설명을 통하여, 당업자는 본 발명이 소프트웨어와 필수적인 범용 하드웨어(universal hardware)를 사용하여 구현될 수 있으며, 물론 하드웨어를 사용하여 구현될 수 있음을 명확하게 이해할 수 있다. 그러나 대부분의 경우에, 전자가 바람직한 구현 방식이다. 이러한 이해를 토대로, 기본적으로(essentially) 본 개시의 기술적 해결 방안은 또는 종래 기술에 기여하는 파트는 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되며, 컴퓨터 디바이스(개인 컴퓨터, 서버, 또는 네트워크 디바이스일 수 있음)가 본 발명의 실시 예들에서 기술된 방법들의 모두 또는 일부를 수행하도록 명령하기 위한 다수의 명령들을 포함한다. 저장 매체는 예를 들어, 판독 전용 메모리(ROM, Read-Only Memory), 랜덤 액세스 메모리(RAM, Random Access Memory), 자기 디스크 또는 광학 디스크와 같은, 프로그램 코드를 저장할 수 있는 임의 매체를 포함한다.
본 발명에서 제공되는 데이터 트래픽 제한을 위한 방법의 실시 예들에 대응하여, 본 발명은 또한 데이터 트래픽 제한을 위한 장치의 실시 예들을 제공한다.
본 발명의 실시 예에 따른 데이터 트래픽 제한을 위한 장치의 개략적인 구조도인 도 7을 참조하여, 데이터 트래픽 제한을 위한 장치는 네트워크 디바이스에 적용되며, 네트워크 디바이스는 프레임 타입 디바이스, 스택 디바이스 또는 다른 디바이스일 수 있다. 도 7에 도시된 바와 같이, 장치는 제1 사전 구성 유닛(110), 수신 유닛(120), 제1 결정 유닛(130), 제2 결정 유닛(140), 전달 유닛(150), 그리고 토큰 관리 유닛(160)을 포함한다.
제1 사전 구성 유닛(110)이 네트워크 디바이스에서 각 링크 집성 그룹 인터페이스에 대하여 크레디트 버킷을 미리 구성하도록 구성되며, 크레디트 버킷은 각 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용되며, 상이한 토큰 버킷들로부터 넘치는 토큰들이 구별가능하게 라벨링되며, 버킷 파라미터는 토큰 버킷에 토큰을 넣는 토큰 투입 레이트, 토큰 버킷의 용량, 그리고 크레디트 버킷의 용량을 포함한다.
수신 유닛(120)은 전달될 패킷을 수신하도록 구성된다.
제1 결정 유닛(130)은 전달될 패킷에 대응하는 현용 토큰 버킷의 토큰의 개수가, 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하도록 구성된다.
제2 결정 유닛(140)은 현용 토큰 버킷의 토큰의 개수가 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 현용 토큰 버킷의 토큰의 개수와 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하도록 구성된다.
본 발명의 실시 예에서, 제2 결정 유닛은,
현용 토큰 버킷의 토큰의 개수와 전달될 패킷을 전달하기 위한 토큰의 개수 사이의 토큰 차이를 결정하도록 구성되는 결정 서브 유닛;
크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 토큰 차이 이상인지를 결정하도록 구성되는 결정 서브 유닛;
크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 토큰 차이 이상이면, 현용 토큰 버킷의 토큰과 크레디트 버킷의 토큰의 개수가 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는 것으로 결정하도록 구성되는 제1 결정 서브 유닛; 및
크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 토큰 차이보다 적으면, 현용 토큰 버킷의 토큰과 크레디트 버킷의 토큰의 개수가 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않은 것으로 결정하도록 구성되는 제2 결정 서브 유닛을 포함한다.
전달 유닛(150)은 현용 토큰 버킷의 토큰과 크레디트 버킷의 토큰의 개수가 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하면, 전달될 패킷을 전달하도록 구성된다.
토큰 관리 유닛(160)은 이에 대응하여 현용 토큰 버킷의 토큰과 크레디트 버킷의 토큰의 개수를 감소시키도록 구성된다.
선택적으로, 도 7에 도시된 장치의 실시 예는 패킷 처리 유닛(170)을 더 포함할 수 있으며, 패킷 처리 유닛(170)은 현용 토큰 버킷의 토큰의 개수와 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 전달될 패킷을 폐기하거나; 또는 현용 토큰 버킷의 토큰의 개수와 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 전달될 패킷을 다시 라벨링하고 전달하도록 구성된다.
선택적으로, 도 7에 도시된 데이터 트래픽 제한을 위한 장치는 또한 제2 사전 구성 유닛(180)을 포함할 수 있다.
제2 사전 구성 유닛(180)은 제1 사전 구성 유닛(110)과 연결되며, 각 토큰 버킷에 대하여 데빗 버킷을 미리 구성하고, 미리 설정된 용량 결정 방법에 따라 데빗 버킷의 용량을 설정하도록 구성되며, 각 데빗 버킷의 용량의 합은 전체 CBS 또는 전체 PBS와 동일하며, 미리 설정된 용량 결정 방법은, 용량 동일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함하고, 데빗 버킷은 싱글 보드의 동일 칩셋에 속하는 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용됨으로써, 데빗 버킷은 미리 설정된 조건에 따라, 각 데빗 버킷으로부터 동일하게 꺼내지는 토큰을 저장한다.
본 발명에서 제공되는 데이터 트래픽 제한을 위한 장치는, 먼저, 네트워크 디바이스의 각 링크 집성 그룹 인터페이스에 대하여, 각 토큰 버킷으로부터 넘치는 토큰을 저장하기 위한 크레디트 버킷을 구성하며; 전달할 패킷을 수신하는 경우, 바람직하게, 전달될 패킷을 전달하기 위하여 대응하는 토큰 버킷의 토큰을 사용하며, 토큰 버킷의 토큰의 개수가 전달될 패킷을 전달하는데 충분하지 않으면, 크레디트 버킷으로부터 비현용 토큰 버킷으로부터 넘치는 토큰들을 빌리고, 현용 토큰 버킷의 토큰과 빌린 토큰이 전달될 패킷을 전달하는데 충분하면, 전달될 패킷을 전달하고, 한편, 현용 토큰 버킷의 토큰과 크레디트 버킷의 토큰에 대응하는 개수를 감소시키며, 상이한 토큰 버킷으로부터 넘치는 토큰들은 구별가능하게 라벨링된다. 네트워크 장비에서 각각의 링크 집성 그룹 인터페이스의 다수의 링크를 통한 데이터 트래픽의 동적인 제한이 달성되며, 따라서, 링크 집성 그룹 인터페이스에서의 멤버 포트를 통한 데이터 트래픽의 합이, 링크 집성 그룹 인터페이스에 대하여 제한된 전체 데이터 트래픽에 보다 매칭될 수 있다.
도 7에 도시된 제1 사전 구성 유닛의 개략적인 구조도를 나타내는 도 8을 참조하여, 제1 사전 구성 유닛은,
토큰 투입 레이트를 결정하기 위한 미리 설정된 방법에 따라, 각 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를 결정하도록 구성되는 토큰 투입 레이트 구성 유닛(111);
미리 설정된 용량 결정 방법에 따라, 각 토큰 버킷의 용량을 결정하도록 구성되는 제1 용량 구성 유닛(112); 및
크레디트 버킷의 용량을 전체 CBS 또는 글러벌(global) PBS로 구성하도록 구성되는 제2 용량 구성 유닛(113)을 더 포함하며,
각 토큰 버킷에 토큰 투입 레이트들의 합이, 링크 집성 그룹 인터페이스의 전체 인정 정보 레이트(committed information rate, CIR)/ 링크 집성 그룹 인터페이스의 피크 정보 레이트(peak information rate, PIR)와 동일하며, 토큰 투입 레이트를 결정하기 위한 미리 설정된 방법은 레이트 균일 분할 결정 방법 또는 레이트 가중치 결정 방법을 포함하며,
각 토큰 버킷의 용량들의 합은, 링크 집성 그룹 인터페이스의 전체 인정 버스트 사이즈(committed burst size)와 동일하며, 미리 설정된 용량 결정 방법은 용량 균일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함한다.
본 발명의 실시 예에 따른 다른 데이터 트래픽 제한을 위한 장치의 개략적인 구조도인 도 9를 참조하여, 도 7에 대응하는 실시 예를 토대로, 제1 동적 조정 유닛(200)을 더 포함하며, 제1 동적 조정 유닛(200)은 미리 설정된 개수의 최근 주기들에서(in a preset number of latest periods), 현용 토큰 버킷의 크레디트 버킷으로부터 토큰을 빌리는 것에 대한 차용 정보가 미리 설정된 버킷 조정 조건을 만족하면, 현용 토큰 버킷의 토큰 차용 정보에 따라 대응하는 토큰 버킷의 버킷 파라미터를 조정하도록 구성되며, 각 토큰 버킷의 조정된 버킷 파라미터는 여전히 링크 집성 그룹 인터페이스를 통한 데이터 트래픽에 대하여 설정된 파라미터들을 따라야 하며, 버킷 파라미터는 토큰 투입 레이트와 용량을 포함한다. 차용 정보는 빌린 토큰의 개수, 빌리는 비율 및/또는 토큰을 빌리는 횟수를 포함한다.
본 발명의 한 실시 예에서, 제1 동적 조정 유닛은 제1 용량 조정 유닛, 제2 용량 조정 유닛 그리고 제1 토큰 투입 레이트 조정 유닛을 포함할 수 있다.
제1 용량 조정 유닛은 미리 설정된 개수의 최근 주기들에서, 크레디트 버킷으로부터 현용 토큰 버킷에 의해 빌린 토큰의 개수가 제1 문턱값을 초과하면, 현용 토큰 버킷의 차용 정보에 따라 현용 토큰 버킷의 용량을 증가시키도록 구성된다.
제2 용량 조정 유닛은 현용 토큰 버킷의 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 현용 토큰 버킷을 제외한 토큰에 대응하는 용량을 감소시키도록 구성되며, 감소된 용량의 합과 증가된 용량의 합이 동일하며, 라벨 분포 정보는 토큰의 라벨과 대응하는 차용량을 포함한다.
제1 토큰 투입 레이트 조정 유닛은, 각 토큰 버킷의 재결정된 용량과 토큰 투입 레이트를 계산하기 위한 방법에 따라, 각 토큰 버킷에 토큰을 넣는 신규 레이트를 결정하도록 구성된다.
본 발명의 다른 실시 예에서, 제1 동적 조정 유닛은 토큰 투입 레이트 조정 유닛, 제3 용량 조정 유닛 그리고 제4 용량 조정 유닛을 포함할 수 있다.
제2 토큰 투입 레이트 조정 유닛은 미리 설정된 개수의 최근 주기들에서, 크레디트 버킷으로부터 현용 토큰 버킷에 의해 빌린 토큰의 개수가 제1 문턱값을 초과하면, 현용 토큰 버킷의 데빗 정보에 따라 현용 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를, 초기 토큰 투입 레이트에서 신규 토큰 투입 레이트로 증가시키도록 구성되며, 신규 토큰 투입 레이트는 초기 토큰 투입 레이트 보다 크다.
제3 용량 조정 유닛은 현용 토큰 버킷에 토큰을 넣은 신규 토큰 투입 레이트, 그리고 토큰 투입 레이트와 토큰 버킷의 용량 사이의 관계에 따라 현용 토큰 버킷의 용량을 조정하도록 구성된다.
제4 용량 조정 유닛은 감소된 용량의 합이 증가된 용량의 합과 동일하도록, 현용 토큰 버킷의 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 현용 토큰 버킷을 제외한 토큰 버킷에 대응하는 조정될 용량을 결정하도록 구성된다.
선택적으로, 도 9에 도시된 장치는, 제2 동적 조정 유닛(300)을 더 포함할 수 있으며, 제2 동적 조정 유닛(300)은 데빗 버킷의 용량을 동적으로 조정하도록 구성되며, 데빗 버킷의 용량이 토큰 버킷의 조정 비율에 따라 조정될 수 있다.
실시 예에 따른 데이터 트래픽 제한을 위한 방법에 따라, 링크 집성 그룹 인터페이스의 임의 토큰 버킷의 크레디트 버킷으로부터 토큰을 빌리는 것에 대한 차용 정보가 미리 설정된 조정 조건을 만족하는 경우, 현용 토큰 버킷의 차용 정보에 따라 토큰 버킷의 버킷 파라미터를 증가시키며, 버킷 파라미터는 토큰 투입 레이트와 용량을 포함한다. 따라서, 링크 집성 그룹 인터페이스의 각 링크에 대한 토큰 버킷의 버킷 파라미터에 대한 동적 조정이 최종적으로 달성됨으로써, 각 토큰 버킷에 토큰을 넣는 토큰 투입 레이트가 토큰 버킷에 대응하는 멤버 포트를 통한 데이터 트래픽과 매칭되며, 이에 따라 링크 집성 그룹 인터페이스의 전체 데이터 트래픽의 제어 정확성을 증가시킨다.
본 발명의 실시 예에 따른 다른 데이터 트래픽 제한을 위한 장치의 개략적인 구조도인 도 10을 참조하여, 장치는, 프로세서(101), 메모리(102), 송신기(103) 및 수신기(104)를 포함한다.
수신기(104)는 전달될 패킷을 수신하도록 구성된다.
메모리(102)는 네트워크 디바이스에서 각 링크 집성 그룹 인터페이스에 대하여 미리 구성된 크레디트 버킷과 각 토큰 버킷의 버킷 파라미터들을 저장하도록 구성되며, 크레디트 버킷은 각 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용되며, 상이한 토큰 버킷들로부터 넘치는 토큰들이 구별가능하게 라벨링된다. 그리고 프로세서(101)에 의해 실행될 수 있는 동작 명령들이 여기에 저장되며, 프로세서는 메모리(102)에 저장된 동작 명령을 판독하여 다음의 기능들을 구현한다.
전달될 패킷을 수신하는 경우, 전달될 패킷에 대응하는 현용 토큰 버킷의 토큰의 개수가 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하고, 현용 토큰 버킷의 토큰의 개수가 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 현용 토큰 버킷의 토큰의 개수와 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하며; 현용 토큰 버킷의 토큰과 크레디트 버킷의 토큰의 개수의 합이 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하면, 이에 대응하여 현용 토큰 버킷의 토큰과 크레디트 버킷의 토큰의 개수를 감소시키며, 송신기(103)에 의해 전달될 패킷을 전달한다.
선택적으로, 본 발명의 특정 실시 예에서, 메모리(102)는 추가로 프로세서(101)에 의해 실행될 수 있는 동작 명령들을 포함함으로써, 프로세서는 메모리(102)에 저장된 동작 명령을 판독하여;
현용 토큰 버킷의 토큰의 개수와 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 크레디트 버킷의 토큰의 개수의 합이, 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 전달될 패킷을 폐기하거나 전달될 패킷을 다시 라벨링하는 기능을 구현한다.
선택적으로, 본 발명의 특정 실시 예에서, 메모리(102)는 추가로 프로세서(101)에 의해 실행될 수 있는 동작 명령들을 포함함으로써, 프로세서는 메모리(102)에 저장된 동작 명령을 판독하여:
각 싱블 보드 칩에 대하여 데빗 버킷을 미리 구성하고, 미리 설정된 용량 결정 방법에 따라 데빗 버킷의 용량을 설정하는 기능을 구현하며, 데빗 버킷이 동일 싱글 보드 칩에 속하는 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용됨으로써, 데빗 버킷은 미리 설정된 조건에 따라, 각 데빗 버킷으로부터 동일하게 토큰을 가져오며, 각 데빗 버킷의 용량의 합은 전체 CBS/PBS와 동일하며, 미리 설정된 용량 결정 방법은 용량 균일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함한다.
선택적으로, 본 발명의 특정 실시 예에서, 메모리(102)는 추가로 프로세서(101)에 의해 실행될 수 있는 동작 명령들을 포함함으로써, 프로세서는 메모리(102)에 저장된 동작 명령을 판독하여;
미리 설정된 개수의 최근 주기들에서, 크레디트 버킷으로부터 현용 토큰 버킷에 의해 빌린 토큰의 개수가 제1 문턱값을 초과하면, 현용 토큰 버킷의 차용 정보에 따라 현용 토큰 버킷의 용량을 증가시키고, 현용 토큰 버킷의 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 현용 토큰 버킷을 제외한 토큰 버킷에 대응하는 용량을 감소시키며, 각 토큰 버킷의 재결정된 용량과 토큰 투입 레이트를 계산하기 위한 방법에 따라, 각 토큰 버킷에 토큰을 넣는 신규 토큰 투입 레이트를 결정하는 기능을 구현하며, 감소된 용량의 합이 증가된 용량의 합과 동일하고, 차용 정보는 토큰의 라벨과 대응하는 차용량양을 포함하며, 라벨 분포 정보는 토큰의 라벨과 대응하는 차용량을 포함한다.
선택적으로, 본 발명의 특정 실시 예에서, 메모리(102)는 추가로 프로세서(101)에 의해 실행될 수 있는 동작 명령들을 포함함으로써, 프로세서는 메모리(102)에 저장된 동작 명령을 판독하여;
미리 설정된 개수의 최근 주기들에서, 크레디트 버킷으로부터 현용 토큰 버킷에 의해 빌린 토큰의 개수가 제1 문턱값을 초과하면, 현용 토큰 버킷의 차용 정보에 따라 현용 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를, 초기 토큰 투입 레이트에서 신규 토큰 투입 레이트로 증가시키며, 현용 토큰 버킷에 토큰을 넣은 신규 토큰 투입 레이트 그리고 토큰 투입 레이트와 토큰 버킷의 용량 사이의 대응 관계에 따라 현용 토큰 버킷의 용량을 조정하고; 감소된 용량의 합이 증가된 용량의 합과 동일하도록, 현용 토큰 버킷의 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 현용 토큰 버킷을 제외한 토큰 버킷에 대응하는 조정될 용량을 결정하는 기능을 구현한다.
다른 측면에서, 본 발명은 또한 네트워크 디바이스를 포함하며, 네트워크 디바이스는 전술한 실시 예들에서 데이터 트래픽 제한을 위한 장치 중 임의 하나를 포함한다.
본 명세서의 실시 예들은 진보적인 방식으로 설명된다. 각각의 실시 예들의 동일하거나 또는 유사한 요소(element)들은 서로를 참조할 수 있다. 임의 실시 예의 설명은 다른 실시 예들과 비교하여 차이점에 중점을 둔다. 특히, 장치 실시 예들에 대하여, 방법의 실시 예들과 유사하기 때문에, 중복되는 설명을 생략하기 위하여, 대응하는 방법의 실시 예들을 참조할 수 있다. 기술된 장치 실시 예들은 단지 예시이며, 개별적인 파트(part)로서 기술된 유닛들은 물리적으로 분리되거나 분리되지 않을 수 있으며, 유닛으로 디스플레이되는 파트는 물리적인 유닛이거나 아닐 수 있으며, 하나의 위치에 위치될 수 있으며, 또는 다수의 네트워크 유닛 상에 분포될 수 있다. 모듈의 일부 또는 모두는 실시 예들의 해결방안의 목적을 달성하기 위하여, 실제 필요에 따라 선택될 수 있다. 당업자는 창조적인 노력 없이 본 발명을 이해하고 구현할 수 있다.
명세서에서, 예를 들어, "제1" 및 "제2 "등의 용어(term)는 엔터티(entity)들이나 또는 동작들 하에서 임의 실제 관계나 또는 순서를 요구하거나 암시하기 보다는, 단지 다른 엔터티 또는 동작으로부터 하나의 엔터티나 동작을 구별하는데 사용된다. 게다가, "포함", "함유", 또는 다른 대체가능한 용어는 비배타적 포함(non-exclusive including)을 카버(cover)하기 위한 것을 목표로 함으로써, 절차, 방법, 아이템(item) 또는 일련의 요소들을 포함하는 장치는 이러한 요소들을 포함하며, 또한 명시적으로 나열되지 않은 다른 요소들을 더 포함하며, 또한 본 절차, 방법, 아이템, 또는 디바이스에 내재된 요소들을 더 포함한다. "~ 중의 하나를 포함하는"의 표현에 의해 한정되는 요소는, 추가적인 한정이 구체화되지 않는 한, 이 요소를 포함하는 절차, 방법, 아이템 또는 디바이스에 다른 동일 요소가 존재한다는 사실을 배제하지 않는다.
전술한 설명들은 단지 본 발명의 특정 실시 예들이며, 본 발명의 원리를 벗어나지 않고 당업자에 의해 쉽게 이해될 수 있는 일부 변경이나 수정은 본 발명의 보호 범위에 속한다.

Claims (18)

  1. 데이터 트래픽 제한을 위한 방법으로서,
    전달될 패킷을 수신하는 경우, 상기 전달될 패킷에 대응하는 현용(current) 토큰 버킷(token bucket)의 토큰의 개수가 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하는 단계;
    상기 현용 토큰 버킷의 토큰의 개수가 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 상기 현용 토큰 버킷의 토큰의 개수와 크레디트(credit) 버킷의 비현용(non-current) 토큰 버킷으로부터 넘치는(overflowing) 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하는 단계; 및
    상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하면, 상기 전달될 패킷을 전달하고, 이에 대응하여(correspondingly) 상기 현용 토큰 버킷의 토큰과 상기 크레디트 버킷의 토큰의 개수를 감소시키는 단계
    를 포함하며,
    상기 방법은 링크 집성 그룹(link aggregation group) 인터페이스가 싱글 보드들(single boards)의 상이한 칩셋들(chipsets) 상에 위치된 멤버 포트(member ports)들을 포함하는 네트워크 디바이스에 적용되며, 상기 네트워크 디바이스의 각 링크 집성 그룹 인터페이스는 크레디트 버킷으로 미리 구성되고, 상기 크레디트 버킷은 각 멤버 포트에 대응하는 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용되며, 상이한 토큰 버킷들로부터 넘치는 토큰들이 구별되게(distinctively) 라벨링되고(labeled), 상기 크레디트 버킷과 각 토큰 버킷의 버킷 파라미터는 미리 구성되며, 상기 버킷 파라미터는 상기 토큰 버킷에 토큰을 넣는 토큰 투입 레이트(a rate of putting tokens), 상기 토큰 버킷의 용량(space), 및 상기 크레디트 버킷의 용량을 포함하는, 방법.
  2. 제1항에 있어서,
    상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하는 단계는,
    상기 현용 토큰 버킷의 토큰의 개수와 상기 전달될 패킷을 전달하기 위한 토큰의 개수 사이의 토큰 차이(difference of tokens)를 결정하는 단계;
    상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가, 상기 토큰 차이 이상(not less than)인지를 결정하는 단계;
    상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 상기 토큰 차이 이상이면, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달한 것으로 결정하는 단계; 및
    상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 상기 토큰 차이보다 적으면, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않은 것으로 결정하는 단계
    를 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 상기 전달될 패킷을 폐기하거나(discard) 또는 상기 전달될 패킷을 다시 라벨링(relabeling)하는 단계
    를 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 크레디트 버킷과 각 토큰 버킷의 상기 버킷 파라미터를 미리 구성하는 것은,
    토큰 투입 레이트를 결정하기 위한 미리 설정된 방법에 따라, 각 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를 결정하는 단계; 및
    미리 설정된 용량 결정 방법에 따라, 각 토큰 버킷의 용량을 결정하는 단계
    를 포함하고,
    각 토큰 버킷에 토큰을 넣는 토큰 투입 레이트의 합은, 상기 링크 집성 그룹 인터페이스의 전체 인정 정보 레이트(committed information rate) 또는 상기 링크 집성 그룹 인터페이스의 피크(peak) 정보 레이트와 동일하고, 상기 토큰 투입 레이트를 결정하기 위한 상기 미리 설정된 방법은 레이트 동일 분할 결정(rate equal division determining) 방법 또는 레이트 가중치(weight) 결정 방법을 포함하며,
    각 토큰 버킷의 용량의 합은 상기 링크 집성 그룹 인터페이스의 전체 인정 버스트 사이즈(committed burst size) 또는 상기 링크 집성 그룹 인터페이스의 피크 버스트 사이즈와 동일하고, 상기 미리 설정된 용량 결정 방법은 용량 동일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함하며,
    상기 크레디트 버킷의 용량은 상기 전체 인정 버스트 사이즈 또는 상기 피크 버스트 사이즈와 동일한, 방법.
  5. 제4항에 있어서,
    상기 크레디트 버킷이 미리 설정된 조건을 만족하면, 상기 크레디트 버킷의 토큰을 폐기하는 단계
    를 더 포함하고,
    상기 크레디트 버킷이 미리 설정된 조건을 만족하면, 상기 크레디트 버킷의 토큰을 폐기하는 단계는,
    상기 크레디트 버킷의 토큰이 미리 설정된 기간(duration)을 초과하면, 미리 설정된 공정(fair) 스케줄링 알고리즘에 따라 상기 토큰을 폐기하는 단계; 및
    토큰 버킷에 토큰이 없는 것으로 검출되면, 상기 크레디트 버킷에 저장되어 있으며 현재 주기(period) 전에 상기 토큰 버킷으로부터 넘친 토큰을 폐기하는 단계
    를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 크레디트 버킷이 미리 설정된 공정 스케줄링 알고리즘에 따라 각 데빗(debit) 버킷으로부터 토큰을 가져오도록, 각 토큰 버킷에 대하여 데빗 버킷을 미리 구성하고, 미리 설정된 용량 결정 방법에 따라 상기 데빗 버킷의 용량을 설정하는 단계
    를 더 포함하고,
    상기 데빗 버킷은 싱글 보드의 동일 칩셋에 속하는 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용되며,
    각 데빗 버킷의 용량의 합이 전체 인정 버스트 사이즈 또는 피크 버스트 사이즈와 동일하며, 상기 미리 설정된 용량 결정 방법은 용량 동일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함하는, 방법.
  7. 제1항, 제2항, 제4항, 제5항 또는 제6항 중 어느 한 항에 있어서,
    미리 설정된 개수의 최근 주기들에서(a preset number of latest periods)에서, 상기 현용 토큰 버킷의 상기 크레디트 버킷으로부터 토큰을 빌리는 것에 관한 차용 정보(borrowing information)가 미리 설정된 버킷 조정(adjusting) 조건을 만족하면, 상기 현용 토큰 버킷의 상기 차용 정보에 따라 상기 현용 토큰 버킷의 용량을 증가시키는 단계; 및
    상기 현용 토큰 버킷의 상기 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보(label distribution information)에 따라, 상기 현용 토큰 버킷을 제외한(other than) 토큰 버킷에 대응하는 용량을 감소시키는 단계;
    토큰 투입 레이트를 계산하기 위한 방법과 각 토큰 버킷의 재결정된 용량에 따라, 각 토큰 버킷에 토큰을 넣는 신규 토큰 투입 레이트를 결정하는 단계
    를 더 포함하며,
    상기 차용 정보는 빌린 토큰의 개수, 토큰을 빌리는 비율(a proportion of borrowing) 및/또는 토큰을 빌리는 횟수(a number of times for borrowing tokens)를 포함하며, 감소된 용량의 합이 증가된 용량의 합과 동일한, 방법.
  8. 제1항, 제2항, 제4항, 제5항 또는 제6항 중 어느 한 항에 있어서,
    미리 설정된 개수의 최근 주기들에서, 상기 현용 토큰 버킷의 상기 크레디트 버킷으로부터 토큰을 빌리는 것에 관한 차용 정보가 미리 설정된 버킷 조정 조건을 만족하면, 상기 현용 토큰 버킷의 상기 차용 정보에 따라, 상기 현용 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를, 초기 토큰 투입 레이트에서 신규 토큰 투입 레이트로 증가시키는 단계
    를 더 포함하고,
    상기 차용 정보는 빌린 토큰의 개수, 토큰을 빌리는 비율 및/또는 토큰을 빌리는 횟수를 포함하는, 방법.
  9. 제8항에 있어서,
    상기 현용 토큰 버킷에 토큰을 넣는 상기 신규 토큰 투입 레이트, 그리고 상기 토큰 투입 레이트와 상기 토큰 버킷의 용량 사이의 대응 관계(corresponding relation)에 따라, 상기 현용 토큰 버킷의 용량을 조정하는 단계; 및
    감소된 용량의 합이 증가된 용량의 합과 동일하도록, 상기 현용 토큰 버킷이 상기 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 상기 현용 토큰 버킷을 제외한 토큰 버킷에 대응하는 조정될 용량을 결정하는 단계
    를 더 포함하는, 방법.
  10. 데이터 트래픽 제한을 위한 장치로서,
    제1 사전 구성(pre-configuring) 유닛,
    수신 유닛,
    제1 결정 유닛,
    제2 결정 유닛,
    전달 유닛, 및
    토큰 관리 유닛
    을 포함하고,
    상기 제1 사전 구성 유닛은, 네트워크 디바이스의 각 링크 집성 그룹 인터페이스에 대하여 크레디트 버킷을 미리 구성하고, 상기 크레디트 버킷과 각 토큰 버킷에 대하여 버킷 파라미터를 미리 구성하도록 구성되며, 상기 크레디트 버킷은 각 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용되며, 상이한 토큰 버킷들으로부터 넘치는 토큰들이 구별되게 라벨링되고, 상기 버킷 파라미터는 상기 토큰 버킷에 토큰을 넣는 토큰 투입 레이트, 상기 토큰 버킷의 용량, 및 상기 크레디트 버킷의 용량을 포함하며;
    상기 수신 유닛은, 전달될 패킷을 수신하도록 구성되고;
    상기 제1 결정 유닛은, 상기 전달될 패킷에 대응하는 현용 토큰 버킷의 토큰의 개수가 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하도록 구성되며;
    상기 제2 결정 유닛은, 상기 현용 토큰 버킷의 토큰의 개수가 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 상기 현용 토큰 버킷의 토큰의 개수와 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는지를 결정하도록 구성되고;
    상기 전달 유닛은, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하면, 상기 전달될 패킷을 전달하도록 구성되며;
    상기 토큰 관리 유닛은, 이에 대응하여 상기 현용 토큰 버킷의 토큰과 상기 크레디트 버킷의 토큰의 개수를 감소시키도록 구성되는, 장치.
  11. 제10항에 있어서,
    상기 제2 결정 유닛은,
    상기 현용 토큰 버킷의 토큰의 개수와 상기 전달될 패킷을 전달하기 위한 토큰의 개수 사이의 토큰 차이를 결정하도록 구성되는, 결정 서브 유닛;
    상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 상기 토큰 차이 이상인지를 결정하도록 구성되는, 결정 서브 유닛;
    상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 상기 토큰 차이 이상이면, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하는 것으로 결정하도록 구성되는, 제1 결정 서브 유닛; 및
    상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수가 상기 토큰 차이보다 적으면, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 토큰의 개수가, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않은 것으로 결정하도록 구성되는, 제2 결정 서브 유닛
    을 포함하는, 장치.
  12. 제10항 또는 제11항에 있어서,
    패킷 처리 유닛
    을 더 포함하고,
    상기 패킷 처리 유닛은, 상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 상기 전달될 패킷을 폐기하거나; 또는
    상기 현용 토큰 버킷의 토큰의 개수와 상기 크레디트 버킷의 비현용 토큰 버킷으로부터 넘치는 토큰의 개수의 합이, 상기 전달될 패킷을 전달하기 위한 토큰의 개수에 도달하지 않으면, 상기 전달될 패킷을 다시 라벨링하도록 구성되는, 장치.
  13. 제10항 또는 제11항에 있어서,
    상기 제1 사전 구성 유닛은,
    토큰 투입 레이트를 결정하기 위한 미리 설정된 방법에 따라, 각 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를 결정하도록 구성되는, 토큰 투입 레이트 구성 유닛;
    미리 설정된 용량 결정 방법에 따라, 각 토큰 버킷의 상기 용량을 결정하도록 구성되는, 제1 용량 구성 유닛; 및
    상기 크레디트 버킷의 용량을 상기 전체 인정 버스트 사이즈 또는 상기 피크 버스트 사이즈로 구성하도록 구성되는, 제2 용량 구성 유닛
    을 포함하고,
    각 토큰 버킷에 토큰을 넣는 토큰 투입 레이트의 합은, 상기 링크 집성 그룹 인터페이스의 전체 인정 정보 레이트 또는 상기 링크 집성 그룹 인터페이스의 피크 정보 레이트와 동일하고, 상기 토큰을 넣는 레이트를 결정하기 위한 상기 미리 설정된 방법은 레이트 동일 분할 결정 방법 또는 레이트 가중치 결정 방법을 포함하며,
    각 토큰 버킷의 용량의 합은 상기 링크 집성 그룹 인터페이스의 전체 인정 버스트 사이즈 또는 상기 링크 집성 그룹 인터페이스의 피크 버스트 사이즈와 동일하고, 상기 미리 설정된 용량 결정 방법은 용량 동일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함하는, 장치.
  14. 제10항에 있어서,
    데빗 버킷이 미리 설정된 공정 스케줄링 알고리즘에 따라 각 데빗 버킷으로부터 토큰을 동일하게 가져오도록, 각 토큰 버킷에 대하여 데빗 버킷을 미리 구성하고, 미리 설정된 용량 결정 방법에 따라 상기 데빗 버킷의 용량을 설정하도록 구성되는, 제2 사전 구성 유닛
    을 더 포함하고,
    각 데빗 버킷의 용량의 합이 전체 인정 버스트 사이즈 또는 피크 버스트 사이즈와 동일하며, 상기 미리 설정된 용량 결정 방법은 용량 동일 분할 결정 방법 또는 용량 가중치 결정 방법을 포함하고, 상기 데빗 버킷은 싱글 보드의 동일 칩셋에 속하는 토큰 버킷으로부터 넘치는 토큰을 저장하기 위하여 사용되는, 장치.
  15. 제10항, 제11항, 또는 제14항 중 어느 한 항에 있어서,
    미리 설정된 개수의 최근 주기들에서, 상기 크레디트 버킷으로부터 현용 토큰 버킷이 빌린 토큰의 개수가 제1 문턱값을 초과하면, 상기 현용 토큰 버킷의 차용 정보에 따라 상기 토큰 버킷의 용량을 증가시키도록 구성되는, 제1 용량 조정 유닛;
    상기 현용 토큰 버킷의 상기 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 상기 현용 토큰 버킷을 제외한 토큰 버킷에 대응하는 용량을 감소시키도록 구성되는, 제2 용량 조정 유닛; 및
    토큰 투입 레이트를 계산하기 위한 방법과 각 토큰 버킷의 재결정된 용량에 따라, 각 토큰 버킷에 토큰을 넣는 신규 토큰 투입 레이트를 결정하도록 구성되는, 제1 토큰 투입 레이트 조정 유닛(a first rate of putting tokens adjusting unit)
    을 더 포함하며,
    상기 차용 정보는 상기 토큰의 라벨과 대응하는 차용량(the corresponding amount of borrowing)을 포함하는, 장치.
  16. 제10항, 제11항, 또는 제 14항 중 어느 한 항에 있어서,
    미리 설정된 개수의 최근 주기들에서, 상기 크레디트 버킷으로부터 현용 토큰 버킷이 빌린 토큰의 개수가 제1 문턱값을 초과하면, 상기 현용 토큰 버킷의 차용 정보에 따라, 상기 현용 토큰 버킷에 토큰을 넣는 토큰 투입 레이트를, 초기 토큰 투입 레이트에서 신규 토큰 투입 레이트로 증가시키도록 구성되는, 제2 토큰 투입 레이트 조정 유닛
    을 더 포함하고,
    상기 차용 정보는 빌린 토큰의 개수, 토큰을 빌리는 비율 및/또는 토큰을 빌리는 횟수를 포함하는, 장치.
  17. 제8항에 있어서,
    상기 현용 토큰 버킷에 토큰을 넣는 상기 신규 토큰 투입 레이트, 그리고 상기 토큰 투입 레이트와 상기 토큰 버킷의 용량 사이의 대응 관계에 따라, 상기 현용 토큰 버킷의 용량을 조정하도록 구성되는, 제3 용량 조정 유닛; 및
    감소된 용량의 합이 증가된 용량의 합과 동일하도록, 상기 현용 토큰 버킷이 상기 크레디트 버킷으로부터 빌린 토큰의 라벨 분포 정보에 따라, 상기 현용 토큰 버킷을 제외한 토큰 버킷에 대응하는 조정될 용량을 결정하도록 구성되는, 제4 용량 조정 유닛
    을 더 포함하는, 장치.
  18. 청구항 10항 내지 청구항 17항 중 어느 한 항에 따른, 데이터 트래픽 제한을 위한 장치를 포함하는 네트워크 디바이스.
KR1020167023586A 2014-01-29 2014-09-25 데이터 트래픽 제한을 위한 방법 및 장치 KR101738657B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410043708.5A CN103763208B (zh) 2014-01-29 2014-01-29 数据流量限制方法及装置
CN201410043708.5 2014-01-29
PCT/CN2014/087395 WO2015113405A1 (zh) 2014-01-29 2014-09-25 数据流量限制方法及装置

Publications (2)

Publication Number Publication Date
KR20160113273A true KR20160113273A (ko) 2016-09-28
KR101738657B1 KR101738657B1 (ko) 2017-05-22

Family

ID=50530370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167023586A KR101738657B1 (ko) 2014-01-29 2014-09-25 데이터 트래픽 제한을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US10560395B2 (ko)
EP (1) EP3101851B1 (ko)
JP (1) JP6268623B2 (ko)
KR (1) KR101738657B1 (ko)
CN (1) CN103763208B (ko)
WO (1) WO2015113405A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763208B (zh) 2014-01-29 2017-08-29 华为技术有限公司 数据流量限制方法及装置
CN104702528B (zh) * 2015-04-09 2018-07-10 深圳中兴网信科技有限公司 流量控制方法和流量控制系统
CN104980779B (zh) * 2015-04-10 2018-04-20 腾讯科技(成都)有限公司 视频数据的传输控制方法和装置
CN104768188B (zh) * 2015-04-23 2018-07-20 新华三技术有限公司 一种流量控制方法和装置
CN107295572B (zh) * 2016-04-11 2021-10-01 北京搜狗科技发展有限公司 一种动态自适应限流方法及电子设备
CN106302211B (zh) * 2016-07-18 2018-04-03 网易无尾熊(杭州)科技有限公司 一种网络资源的请求量控制方法和装置
US10917353B2 (en) * 2018-02-28 2021-02-09 Microsoft Technology Licensing, Llc Network traffic flow logging in distributed computing systems
CN110275670B (zh) * 2018-03-16 2021-02-05 华为技术有限公司 控制存储设备中数据流的方法、装置、存储设备及存储介质
CN108667545B (zh) * 2018-04-17 2020-06-02 迈普通信技术股份有限公司 一种串口带宽同步方法及装置
GB2573573B (en) * 2018-05-11 2022-08-17 Cambridge Broadband Networks Group Ltd A system and method for distributing packets in a network
CN109194765B (zh) * 2018-09-26 2023-07-28 中国平安人寿保险股份有限公司 请求控制方法、装置、计算机设备和存储介质
TWI673613B (zh) * 2018-10-17 2019-10-01 財團法人工業技術研究院 伺服器及其資源調控方法
CN111078391A (zh) * 2018-10-22 2020-04-28 阿里巴巴集团控股有限公司 一种业务请求处理方法、装置及设备
CN109862069B (zh) * 2018-12-13 2020-06-09 百度在线网络技术(北京)有限公司 消息处理方法和装置
CN109714268B (zh) * 2019-01-23 2022-06-07 平安科技(深圳)有限公司 一种虚拟私有云的流量控制方法及相关装置
CN110213173B (zh) * 2019-06-06 2023-03-24 北京百度网讯科技有限公司 流量控制方法及装置、系统、服务器、计算机可读介质
CN110166376B (zh) * 2019-06-06 2022-11-01 北京百度网讯科技有限公司 流量控制方法及装置、系统、服务器、计算机可读介质
CN111404839B (zh) * 2020-03-20 2023-05-26 国家计算机网络与信息安全管理中心 报文处理方法和装置
CN111835655B (zh) * 2020-07-13 2022-06-28 北京轻网科技有限公司 共享带宽限速方法、装置及存储介质
US11652753B2 (en) * 2020-07-29 2023-05-16 Hewlett Packard Enterprise Development Lp Link aggregation group optimization
CN112631928A (zh) * 2020-12-30 2021-04-09 上海中通吉网络技术有限公司 基于令牌桶的性能测试方法、装置及设备
CN115080657A (zh) * 2021-03-10 2022-09-20 中国移动通信集团山东有限公司 一种应用于分布式存储的操作令牌分配方法、系统及设备
CN113726684A (zh) * 2021-07-12 2021-11-30 新华三信息安全技术有限公司 通信方法及装置
CN114172848B (zh) * 2021-11-18 2024-02-09 新华三技术有限公司合肥分公司 通信方法及装置
CN114401226B (zh) * 2022-02-21 2024-02-27 李超 一种流媒体数据的路由流量控制方法及系统
CN114860334B (zh) * 2022-04-24 2024-01-26 曙光信息产业(北京)有限公司 虚拟机启动风暴的处理方法、装置、设备及介质
CN117437038B (zh) * 2023-12-21 2024-03-26 恒丰银行股份有限公司 一种基于服务组件化的银行风控业务处理方法及设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790521A (en) * 1994-08-01 1998-08-04 The University Of Iowa Research Foundation Marking mechanism for controlling consecutive packet loss in ATM networks
US5596576A (en) 1995-11-03 1997-01-21 At&T Systems and methods for sharing of resources
US8032653B1 (en) * 2000-09-08 2011-10-04 Juniper Networks, Inc. Guaranteed bandwidth sharing in a traffic shaping system
KR100446516B1 (ko) * 2002-04-24 2004-09-04 삼성전자주식회사 패킷 교환망에서의 트래픽 감시 방법
US7292594B2 (en) * 2002-06-10 2007-11-06 Lsi Corporation Weighted fair share scheduler for large input-buffered high-speed cross-point packet/cell switches
CN1319326C (zh) * 2003-04-01 2007-05-30 华为技术有限公司 一种基于承诺接入速率的带宽统计复用方法
US7680049B2 (en) * 2005-02-08 2010-03-16 Cisco Technology, Inc. Methods and apparatus for allowing promotion in color-based policers
US7609634B2 (en) * 2005-03-22 2009-10-27 Alcatel Lucent Communication traffic policing apparatus and methods
US7646718B1 (en) * 2005-04-18 2010-01-12 Marvell International Ltd. Flexible port rate limiting
US20070070895A1 (en) * 2005-09-26 2007-03-29 Paolo Narvaez Scaleable channel scheduler system and method
CN101352005B (zh) * 2005-12-30 2012-03-21 艾利森电话股份有限公司 用于分组交换业务的调度策略
CN100384156C (zh) * 2006-03-24 2008-04-23 华为技术有限公司 一种剩余带宽复用的方法及网络设备
CN100384157C (zh) * 2006-03-24 2008-04-23 华为技术有限公司 一种剩余带宽复用的方法及网络设备
KR20080062215A (ko) 2006-12-29 2008-07-03 삼성전자주식회사 네트워크 프로세서에서 예외 패킷에 대한 속도 제한 장치및 방법
JP4823187B2 (ja) * 2007-09-26 2011-11-24 アラクサラネットワークス株式会社 帯域監視装置、帯域監視方法
US20110083175A1 (en) * 2009-10-06 2011-04-07 Sonus Networks, Inc. Methods and Apparatuses for Policing and Prioritizing of Data Services
CN101834786B (zh) * 2010-04-15 2012-04-25 华为技术有限公司 队列调度的方法和装置
CN102185777B (zh) * 2011-05-11 2014-04-30 烽火通信科技股份有限公司 多级层次化带宽管理的方法
CN102368741A (zh) * 2011-12-05 2012-03-07 盛科网络(苏州)有限公司 支持层次化队列调度和流量整形的方法及装置
US8908522B2 (en) * 2012-04-30 2014-12-09 Fujitsu Limited Transmission rate control
CN103326953B (zh) * 2013-03-28 2016-06-29 华为技术有限公司 一种基于令牌桶的流量限制方法和装置
US9450881B2 (en) * 2013-07-09 2016-09-20 Intel Corporation Method and system for traffic metering to limit a received packet rate
CN103763208B (zh) * 2014-01-29 2017-08-29 华为技术有限公司 数据流量限制方法及装置

Also Published As

Publication number Publication date
JP2017505065A (ja) 2017-02-09
CN103763208A (zh) 2014-04-30
JP6268623B2 (ja) 2018-01-31
WO2015113405A1 (zh) 2015-08-06
CN103763208B (zh) 2017-08-29
EP3101851A4 (en) 2017-02-15
EP3101851A1 (en) 2016-12-07
US20160337259A1 (en) 2016-11-17
EP3101851B1 (en) 2018-01-10
KR101738657B1 (ko) 2017-05-22
US10560395B2 (en) 2020-02-11

Similar Documents

Publication Publication Date Title
KR101738657B1 (ko) 데이터 트래픽 제한을 위한 방법 및 장치
US9722942B2 (en) Communication device and packet scheduling method
US8542586B2 (en) Proportional bandwidth sharing of the excess part in a MEF traffic profile
EP3556066B1 (en) Flow control in a virtualized communication network
US7355969B2 (en) Line card port protection rate limiter circuitry
US8213454B2 (en) Self-adapting mechanism for managing data streams in a multiple access shared network
CN103999414B (zh) 一种归因针对相应用户寄存器的共享资源的拥塞贡献的方法和装置
US11929911B2 (en) Shaping outgoing traffic of network packets in a network management system
US9264367B2 (en) Method and system for controlling packet traffic
EP2702731A1 (en) Hierarchical profiled scheduling and shaping
CN105791152B (zh) 一种流量控制方法、sdn控制器和sdn设备
EP3310093B1 (en) Traffic control method and apparatus
CN106341270B (zh) 一种故障处理方法及装置
Kesselman et al. Game-theoretic analysis of internet switching with selfish users
US9319325B2 (en) Adaptive method and system of regulation of yellow traffic in a network
EP1704491B1 (en) A method and systems for resource bunlding in a communications network
CN104009937B (zh) 一种增强型传输选择标准配置信息传输方法及装置
CN109039938A (zh) 负载均衡方法及装置
EP3247077B1 (en) Path selection method, device and system
US11870707B2 (en) Bandwidth management and configuration method for cloud service, and related apparatus
EP4262313A1 (en) Method, apparatus and system for scheduling service flow
CN109088752A (zh) 内部控制链路端口动态配置方法及相关装置
CN107078999A (zh) 传输数据的方法和装置
US20180212884A1 (en) Probabilistic metering
CN116887416A (zh) 流量数据的调度方法及装置、非易失性存储介质

Legal Events

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