KR20070023750A - Network devices and traffic shaping methods - Google Patents

Network devices and traffic shaping methods Download PDF

Info

Publication number
KR20070023750A
KR20070023750A KR1020067026561A KR20067026561A KR20070023750A KR 20070023750 A KR20070023750 A KR 20070023750A KR 1020067026561 A KR1020067026561 A KR 1020067026561A KR 20067026561 A KR20067026561 A KR 20067026561A KR 20070023750 A KR20070023750 A KR 20070023750A
Authority
KR
South Korea
Prior art keywords
queue
interval
traffic
type traffic
pdu
Prior art date
Application number
KR1020067026561A
Other languages
Korean (ko)
Other versions
KR100867451B1 (en
Inventor
티모 코코
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Priority to KR1020067026561A priority Critical patent/KR100867451B1/en
Publication of KR20070023750A publication Critical patent/KR20070023750A/en
Application granted granted Critical
Publication of KR100867451B1 publication Critical patent/KR100867451B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • 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/22Traffic shaping

Abstract

광대역 액세스 디바이스의 네트워크 디바이스에서, 큐 속도들의 입도는 통례적으로 제공되는 속도들에 추가하여 중간 속도들을 도입함으로써 개선된다. 가령, 제 1의 10 Mbps 큐 속도와 제 2의 5 Mbps 큐 속도간의 중간 속도가 트래픽 흐름에 대해 원해지는 때에, 트래픽 쉐이퍼의 스킵 간격이 5 Mbps 속도에 따라 스킵 간격 값을 계산하도록 구성되며, 특정 트래픽 흐름의 각 PDU는 추가적인 대체-간격-계산 결정을 받게 되는데, 트래픽 쉐이퍼에서 PDU에 대해 계산된 스킵 간격 값 대신에, 스킵 제로 큐 간격(10 Mbps 속도에 사용되는)이 가령, 50% 확률로 PDU에 적용된다. 결과로서, 7.5 Mbps와 같은 중간 속도가 획득된다.In a network device of a broadband access device, the granularity of queue speeds is improved by introducing intermediate speeds in addition to the speeds conventionally provided. For example, when an intermediate rate between the first 10 Mbps queue rate and the second 5 Mbps queue rate is desired for the traffic flow, the skip interval of the traffic shaper is configured to calculate a skip interval value according to the 5 Mbps rate. Each PDU in the traffic flow will receive an additional alternate-interval-calculation decision. Instead of the skip interval value calculated for the PDU in the traffic shaper, the skip zero queue interval (used at 10 Mbps rate) has a 50% chance, for example. Applies to PDUs. As a result, an intermediate speed such as 7.5 Mbps is obtained.

트래픽 흐름, 데이터 큐, 트래픽 쉐이퍼, 패킷 데이터 유닛들. Traffic flow, data queue, traffic shaper, packet data units.

Description

네트워크 디바이스들 및 트래픽 쉐이핑 방법들{NETWORK DEVICES AND TRAFFIC SHAPING METHODS}Network Devices and Traffic Shaping Methods {NETWORK DEVICES AND TRAFFIC SHAPING METHODS}

본 발명은 광대역 액세스 시스템들에 관한 것으로서, 특히 DSL(디지털 가입자 라인) 액세스 시스템용 네트워크 디바이스에 관한 것이다. TECHNICAL FIELD The present invention relates to broadband access systems and, more particularly, to network devices for digital subscriber line (DSL) access systems.

현재에, 가정들로의 주요 광대역 서비스는 고속 인터넷 액세스인데, 이는 가정용 컴퓨터들을 "항상-온(always-on)" 가정용 기기들로 전환시켰다. 공중 전화망들은 통상적으로 가령, 56 kbps의 속도로 데이터를 전송하는 모뎀들을 이용한다. 전화망에서, 모뎀들은 스피치(speech)를 전송하기 위해 전화기들과 동일한 주파수 범위를 이용하는데, 그 범위는 대략 400 Hz 내지 4 kHz이다. 그러나, 교환국과 사용자간의 라인(즉, 가입자 라인)은 사용되는 0 내지 4 kHz보다 훨씬 높은 주파수들을 허용하며, 이에 따라 보다 많은 데이터가 전송되게 한다. 이러한 4 kHz의 제한은 교환국들에 위치되어 있으며, 백본 네트워크에 제공된 신호로부터 추가적인 주파수들을 필터링하는 필터들로 인한 것이다. 실제로, 전형적으로 연동선(twisted copper pair)으로 이루어진 가입자 라인에서, 수 MHz만큼 높은 주파수들이 전송될 수 있다. At present, the main broadband service to homes is high speed internet access, which has transformed home computers into "always-on" home appliances. Public telephone networks typically use modems that transmit data at, for example, 56 kbps. In a telephone network, modems use the same frequency range as telephones to transmit speech, which is approximately 400 Hz to 4 kHz. However, the line between the switching center and the user (ie subscriber line) allows frequencies much higher than 0 to 4 kHz to be used, thus allowing more data to be transmitted. This 4 kHz limit is due to filters located at the switching centers and filtering additional frequencies from the signal provided to the backbone network. In practice, in subscriber lines, typically made of twisted copper pairs, frequencies as high as several MHz may be transmitted.

DSL(디지털 가입자 라인)은 통상적인 구리 전화선들을 통해 높은 대역폭 정 보를 예를 들어, 가정들 및 작은 회사들에 공급하는 기술이다. 디지털 가입자 라인은 디지털 데이터가 아날로그 형태로의(및 그 역방향으로의) 어떠한 변경을 요구하지 않는 것임을 가정하는 기술이다. 디지털 데이터는 디지털 데이터로서 직접적으로 가입자에게 전송되며, 이는 데이터를 전송함에 있어서 전통적인 전화 시스템들에서보다 훨씬 넓은 대역폭이 사용되게 한다. ADSL(비대칭 DSL), SHDSL(단일-쌍 고속 DSL), 및 VDSL(초고속 DSL)과 같은 여러 DSL 인터페이스들이 이용가능하다.DSL (Digital Subscriber Line) is a technology that supplies high bandwidth information, for example, to homes and small businesses over conventional copper telephone lines. A digital subscriber line is a technique that assumes that digital data does not require any change in analog form (and vice versa). Digital data is transmitted directly to the subscriber as digital data, which allows much wider bandwidth to be used in transmitting data than in traditional telephone systems. Several DSL interfaces are available, such as ADSL (Asymmetric DSL), SHDSL (Single-Pair High Speed DSL), and VDSL (Ultra High Speed DSL).

xDSL 시스템의 예가 도 1에 도시된다. 네트워크 서비스들을 이용하여 고객에 의해 소유되거나 제어되는 구내들(premises)에 위치되어 있는 (라우터, 모뎀, 또는 네트워크 인터페이스 카드(NIC)와 같은) 가입자의 엔드-사용자 장비(1)는 종종 고객 구내 장비(CPE)로서 칭해진다. 네트워크 측에서, 트래픽을 데이터 네트워크에 접속하기 위한 밀집된 중앙 오피스 분배기들, xDSL 모뎀들, 및 다른 전자 장비를 포함할 수 있는 멀티플렉싱 장비(2)는 종종 디지털 가입자 라인 액세스 멀티플렉서(DSLAM)로 칭해진다. DSLAM은 기존의 구리 전화선들을 통해 매우 고속의 데이터 전송을 전달하며, CPE들과 ATM/IP 네트워크와 같은 네트워크 서비스 제공자의 네트워크간의 디지털 가입자 라인(xDSL) 트래픽을 제어 및 라우팅한다. An example of an xDSL system is shown in FIG. Subscriber end-user equipment 1 (such as a router, modem, or network interface card (NIC)) located in premises owned or controlled by a customer using network services is often a customer premises equipment. It is called (CPE). On the network side, the multiplexing equipment 2, which may include dense central office distributors, xDSL modems, and other electronic equipment for connecting traffic to the data network, is often referred to as a digital subscriber line access multiplexer (DSLAM). DSLAM delivers very high speed data transmission over existing copper telephone lines and controls and routes digital subscriber line (xDSL) traffic between CPEs and network of network service providers such as ATM / IP networks.

DSL 운용자들에 대한 과제들 중 하나는 광대역 서비스들을 위한 정확한 배치 모델을 선택하고 전개하는 것이다. 현재에, 운용자들은 서로 다른 모델들을 선택하고 있는데, 소수의 운용자들은 ATM을 통한 점-대-점 프로토콜(PPP)을 이용하며, 일부 운용자들은 1483 라우티드(1483 routed)를 이용하며, 그리고 대부분의 운용자들은 이더넷 또는 1483 bridged를 통한 PPP를 이용한다. 운용자들은 배치 모델을 선 택하기 위해 다른 조건을 갖는다. 이 선택은 예를 들어, 필요한 공용 IP 어드레스들의 수, CPE 또는 CPE 설비 가격 및 대규모형 모델(wholesale model)에 기반할 수 있다. 오늘날의 핵심 조건 중 하나는 액세스 네트워크에서 사용되는 계층 2 기술이다.One of the challenges for DSL operators is to select and deploy the correct deployment model for broadband services. Currently, operators are choosing different models, with a few operators using Point-to-Point Protocol (PPP) over ATM, some operators using 1483 routed, and most Operators use PPP over Ethernet or 1483 bridged. Operators have different conditions for choosing a deployment model. This selection may be based, for example, on the number of public IP addresses required, the CPE or CPE facility price, and the wholesale model. One of the key conditions today is the Layer 2 technology used in access networks.

표준은 물리적 ADSL 계층의 정상에 있는 전송 계층에서 사용되는 ATM을 특정한다. 만일 ATM이 또한 네트워크 측에서 사용되는 경우에, DSL 가입자들로부터의 접속들은 쉽게 확립되며, ATM PVCs(permanent virtual connections)을 이용하여 스위칭되며, IP 레벨 지능은 요구되지 않는다. ATM 액세스 네트워크는 기본적으로 모든 배치 모델들을 지원하지만, 불필요한 오버헤드를 도입하며, 관리하기에 어려운 반면에, 이더넷 기반 액세스 네트워크들은 ATM이 존재하는 배치 모델들을 지원할 수가 없다. 이더넷 네트워크들에 있어서, 전통적인 ATM 스위칭 모델은 패킷 스위칭에 의해 교체될 필요가 있는데, 패킷 스위칭은 선택된 배치 모델에 따라 이더넷 계층(계층 2) 또는 IP 계층(계층 3)에서 수행될 수 있다. The standard specifies the ATM used at the transport layer on top of the physical ADSL layer. If ATM is also used at the network side, connections from DSL subscribers are easily established, switched using ATM permanent virtual connections (PVCs), and no IP level intelligence is required. ATM access networks basically support all deployment models, but introduce unnecessary overhead and are difficult to manage, while Ethernet-based access networks cannot support deployment models where ATM exists. In Ethernet networks, the traditional ATM switching model needs to be replaced by packet switching, which can be performed at the Ethernet layer (layer 2) or IP layer (layer 3) depending on the chosen deployment model.

액세스 기술들 모두는 이점들뿐만 아니라 제한들을 가지며, 모든 가능성들의 지원은 DSLAM들에 대한 보다 많은 요건들을 생성한다. DSLAM은 ATM 및 IP 인터페이스들로부터의 동시적인 피드(feed)들을 지원해야 하며, 이는 동시에 QoS (ATM) 및 CoS (IP) 접속들 및 흐름들 모두를 통해 동시적으로 요구되는 서비스 레벨들을 제공해야 한다. ATM QoS(서비스 품질)는 서비스 제공자들로 하여금 이용가능한 대역폭을 완전히 이용하게 할 수 있으며, 고정 비트율(CBR), 가변 비트율 실시간(VBR-rt), 및 가변 비트율 비-실시간(VBR-nrt)과 같은 복수의 서비스 클래스를 관리한 다. IP CoS는 IP 흐름들을 어떻게 관리하는지에 관한 룰들을 제공한다. 서비스 클래스들의 전형적인 IP 클래스는 Expedited Forwarding(EF), Assured Forwarding(AF), 및 Default Forwarding(DF)를 포함한다. All of the access technologies have limitations as well as advantages, and support of all possibilities creates more requirements for DSLAMs. DSLAM must support simultaneous feeds from ATM and IP interfaces, which must simultaneously provide the required service levels over both QoS (ATM) and CoS (IP) connections and flows . ATM QoS (Quality of Service) allows service providers to fully utilize the available bandwidth, and provides fixed bit rate (CBR), variable bit rate real time (VBR-rt), and variable bit rate non-real time (VBR-nrt) Manage multiple service classes. IP CoS provides rules on how to manage IP flows. Typical IP classes of service classes include Expedited Forwarding (EF), Assured Forwarding (AF), and Default Forwarding (DF).

DSLAM을 구체화하는 일 접근이 도 2에 도시된다. 패킷들 및 셀들 ATM 및 IP 트래픽 흐름들은 DSLAM에 들어가는 때에 이들이 수반하는 정보 또는 서비스들 타입에 대해 적절하게 처리되는 것임을 보증하기 위해, 4개의 주요 단계들(분류 및 마크(marking), 정책화(policing), 큐잉, 그리고 스케줄링 및 쉐이핑(shaping))을 통과할 수 있다. 이러한 동작들은 유연성있는 프로그래밍 환경에 와이어스피드(wire-speed) 성능을 제공함과 아울러 동시에 많은 서로 다른 통신 프로토콜들을 지원할 수 있는 네트워크 프로세서를 이용하여 수행될 수 있다. 하나의 이러한 프로세서가 아기어 시스템스(Agere Systems)로부터의 PayloadPlus 트래픽 관리 네트워크 프로세서이다. DSLAM 애플리케이션에서, 네트워크 프로세서는 중앙 스위치로서 기능하도록 구성될 수 있으며, 각각이 많은 포트를 갖는 복수의 DSL 라인 카드들을 공급할 수 있다. 내부 로직은 네트워크 프로세서 스케줄링 기능들의 고-레벨 제어(즉, 트래픽 관리자(TM) 및 트래픽 쉐이퍼(TS) 연산 엔진(CE))를 제공한다. 네트워크 프로세서에서 TM 연산 엔진(CE)은 감소된, 최적화된 C 명령 세트를 통해 버퍼 관리 정책들을 포함하는 전체적으로 프로그램가능 트래픽 관리 성능들을 제공한다. 버퍼 관리 정책을 시행하기 위해, 짧은 스크립트가 버퍼 관리-프로세싱 엔진에서 실행된다. 트래픽 관리 스크립트는 트래픽을 폐기할지 또는 스케줄 되게 할지 여부를 결정한다. 이 결정은 사용자 프로그래밍된 폐기 정책에 기초한다. 이에 추가하여, 네 트워크 프로세서는 다수의 스케줄링 알고리즘들을 이용하여 셀 및 프레임-기반 트래픽을 스케줄하는 설비들을 구비한다. 프로세서의 구성, 트래픽 쉐이퍼(TS) 연산 엔진(CE), 및 프로그램가능 큐 정의들은 트래픽 쉐이핑을 정의한다. 예를 들어, 전통적인 ATM 고정 비트율(CBR), 가변 비트율(VBR) 및 비특정 비트율(UBR) 스케줄러들이 네트워크 프로세서에서 프로그램가능하다. 트래픽 쉐이퍼 연산 엔진은 모든 스케줄링 이벤트에서 정의된 프로그램을 실행한다. 트래픽 쉐이퍼는 또한 가중된 라운드 로빈(round robin)과 같은 알고리즘들을 이용하여 프레임-기반 트래픽에 대한, 듀얼 리키 버킷(dual leaky bucket) 알고리즘들을 이용하여 가변-비트율 셀-기반 트래픽 스케줄링에 대한, 그리고 각 큐에 대한 레이트 크레디트들(rate credits)을 추적함으로써 프레임-기반의, 스무디드(smoothed), 부족-가중된. 라운드 로빈 스케줄링에 대한 서비스 큐 선택 클래스를 지원하는데에 이용될 수 있다.One approach to specifying the DSLAM is shown in FIG. 2. Packets and Cells ATM and IP traffic flows are entered into the DSLAM in order to ensure that they are properly handled for the type of information or services involved (sorting and marking, policing). ), Queuing, and scheduling and shaping. These operations can be performed using a network processor that can support many different communication protocols while providing wire-speed performance in a flexible programming environment. One such processor is the PayloadPlus traffic management network processor from Agere Systems. In DSLAM applications, the network processor may be configured to function as a central switch, and may supply a plurality of DSL line cards, each with many ports. Internal logic provides high-level control of network processor scheduling functions (ie, traffic manager (TM) and traffic shaper (TS) computational engine (CE)). The TM computation engine (CE) in the network processor provides globally programmable traffic management capabilities including buffer management policies through a reduced, optimized C instruction set. To enforce the buffer management policy, short scripts are run on the buffer management-processing engine. The traffic management script decides whether to discard or schedule the traffic. This decision is based on a user programmed revocation policy. In addition, the network processor has facilities for scheduling cell and frame-based traffic using multiple scheduling algorithms. The processor's configuration, traffic shaper (TS) computation engine (CE), and programmable queue definitions define traffic shaping. For example, traditional ATM fixed bit rate (CBR), variable bit rate (VBR) and non-specific bit rate (UBR) schedulers are programmable in the network processor. The traffic shaper computation engine executes the defined program on every scheduling event. The traffic shaper can also be used for variable-bit rate cell-based traffic scheduling, using dual leaky bucket algorithms, for frame-based traffic using algorithms such as weighted round robin, and each. Frame-based, smoothed, under-weighted by tracking rate credits for the queue. It can be used to support a service queue selection class for round robin scheduling.

트래픽 쉐이퍼 컴퓨터 엔진의 각 로직 출력 포트(예를 들어, xDSL 포트에 맵핑됨)에 대해, 여러 큐들 및 트래픽 쉐이핑 스케줄러들이 존재할 수 있다. 큐들로부터 논리 출력 포트로의 셀들 또는 블록들의 전송은 소위 메인 스케줄링 타임 휠(main scheduling time wheel) 원리에 기초하여 스케줄된다. 논리 출력 포트는 소정의 포트 속도(예를 들어, 10 Mbps)를 갖는다. QoS(ATM) 및/또는 CoS(IP) 접속들 및 흐름들은 포트 속도를 공유한다. 이러한 목적을 위해, 큐 간격은 각 큐에 대해 동적으로 결정된다. 큐 간격은 후속 블록 또는 셀이 특정 큐로부터 전송되기 이전에 스킵(skip)될 메인 스케줄링 타임 슬롯의 수를 정의한다. 만일 스킵될 타임 슬롯들의 수가 제로(zero)인 경우에, 또한 후속 블록은 큐가 비어있지 않은 경우 동일한 큐로부터 전송된다. 이는 큐 속도가 10 Mbps임을 의미한다. 만일 스킵될 타임 슬롯들의 수가 1인 경우에, 트래픽 쉐이퍼 CE는 제 1 큐로부터 다시 전송하기 이전에 후속 최고의 우선순위를 갖는 또 하나의 큐로부터 전송한다. 이는 큐 속도가 5 Mbps임을 의미한다. 유사하게, 스킵될 타임 슬롯들의 수가 2 또는 3인 때에, 각각 3.33 Mbps 또는 2.5 Mbps의 큐 속도가 획득된다. For each logic output port (eg, mapped to xDSL port) of the traffic shaper computer engine, there may be several queues and traffic shaping schedulers. The transmission of cells or blocks from the queues to the logical output port is scheduled based on the so-called main scheduling time wheel principle. The logical output port has a predetermined port speed (eg 10 Mbps). QoS (ATM) and / or CoS (IP) connections and flows share port speed. For this purpose, the queue interval is determined dynamically for each queue. The queue interval defines the number of main scheduling time slots that will be skipped before subsequent blocks or cells are sent from a particular queue. If the number of time slots to be skipped is zero, then subsequent blocks are also sent from the same queue if the queue is not empty. This means that the queue rate is 10 Mbps. If the number of time slots to be skipped is 1, the traffic shaper CE transmits from another queue with the next highest priority before sending back from the first queue. This means that the queue rate is 5 Mbps. Similarly, when the number of time slots to be skipped is 2 or 3, a queue rate of 3.33 Mbps or 2.5 Mbps, respectively, is obtained.

이러한 접근에서의 문제점은 일반적인 QoS/CoS 트래픽 쉐이핑을 이용하는 때 QoS 제공에서의 부적절한 입도이다. 10 Mbps 포트에 대해, 큐 속도들로서 10, 5, 3.3, 2.5, 2, 1.7, 1.3 및 1 Mbps만을 획득한다. 또한, 충분히 인식되는 스케줄링 파라메터들에서 상당한 대기 시간이 쉽게 있을 수 있으며, 따라서, QoS 제공은 매우 정확하지 않게 된다. 또한 추가적으로, 매우 제한된 스크립팅(scripting) 인터페이스로 인해, 정교한 스크립팅이 ATM과 패킷 데이터 트래픽의 합성을 용이하게 하는데에 요구된다. 트래픽 스케줄러들은 각 블록에 대해 실행되는 프로그램가능한 스크립트들을 통해 제어된다. 아기어(Agere) 네트워크 프로세서에서, 이는 스크립트가 알고리즘들에 부과될 수 있는 복잡도를 엄격하게 제한하는 22개의 클록 사이클들(RSP 글로벌 펄스) 내에서 실행되어야 함을 의미한다. The problem with this approach is inadequate granularity in QoS provisioning when using typical QoS / CoS traffic shaping. For a 10 Mbps port, only 10, 5, 3.3, 2.5, 2, 1.7, 1.3 and 1 Mbps are obtained as queue speeds. In addition, there may easily be significant latency in sufficiently recognized scheduling parameters, so QoS provisioning will not be very accurate. Additionally, due to the very limited scripting interface, sophisticated scripting is required to facilitate the synthesis of ATM and packet data traffic. Traffic schedulers are controlled through programmable scripts that are executed for each block. In an Agere network processor, this means that the script must be executed in 22 clock cycles (RSP global pulse), which strictly limits the complexity that algorithms can impose.

본 발명의 목적은 상기 문제점들 중 적어도 하나를 완화하거나 극복하기 위해 스케줄링 및 트래픽 쉐이핑을 개선하는 것이다. It is an object of the present invention to improve scheduling and traffic shaping to mitigate or overcome at least one of the above problems.

본 발명의 주요 목적들은 첨부된 독립 청구항들에서 개시된다. 본 발명의 추가적인 목적들은 종속 청구항들에서 개시된다.The main objects of the invention are disclosed in the appended independent claims. Further objects of the invention are disclosed in the dependent claims.

본 발명의 일 양상에 따르면, 큐 속도들의 입도(granularity)는 전통적으로 제공되는 속도들에 추가하여 중간 속도들을 도입함으로써 개선된다. 비교적 보다 높은 제 1 큐 속도(예를 들어, 10 Mbps)와 제 2의 보다 낮은 큐 속도(예를 들어, 5 Mbps)간의 중간 속도가 트래픽 흐름에 대해 원해지는 때에, 트래픽 쉐이퍼에서의 스킵 간격이 제 2의 보다 낮은 속도(예를 들어, 5 Mbps)에 따라 스킵 간격 값을 계산하도록 구성된다. 이는 통례적으로 제 2 속도(예를 들어, 5 Mbps)에 일치하는 큐 속도를 발생시킬 수 있다. 그러나, 본 발명의 일 실시예에 따르면, 특정 트래픽 흐름의 각 PDU는 추가적인 대체(override)-간격-계산 결정을 받게 되며, 트래픽 쉐이퍼에서의 PDU에 대해 계산된 스킵 간격 값 대신에, 스킵 제로 큐 간격이 기설정된 확률로, 바람직하게 대략 50%로 PDU에 적용된다. According to one aspect of the invention, the granularity of the queue speeds is improved by introducing intermediate speeds in addition to the speeds that are traditionally provided. When an intermediate speed between a relatively higher first queue rate (eg 10 Mbps) and a second lower queue rate (eg 5 Mbps) is desired for the traffic flow, the skip interval in the traffic shaper is Calculate a skip interval value according to a second lower rate (eg, 5 Mbps). This can typically result in a queue rate that matches the second rate (eg, 5 Mbps). However, according to one embodiment of the present invention, each PDU of a particular traffic flow is subject to additional override-interval-calculation decisions, and instead of skipped interval values calculated for the PDUs in the traffic shaper, a skip zero queue The interval is applied to the PDU with a predetermined probability, preferably at approximately 50%.

본 발명의 또 하나의 양상에 따르면, 종래기술에서 직면하게 되는 대기시간 및 타이밍 문제들은 완화되며, 이에 따라 PDU 길이가 (블록들의 수의 관점에서) 결정되며, 큐 간격이 큐로부터 이미 판독된 PDU의 제 1 블록에 대해 계산되며, 간격 레지스터에 기록된다. 결과로서, PDU의 마지막 블록이 큐로부터 판독되어 송신되기 이전에, (고유의 대기 시간 이후에) 레지스터에서의 간격 설정이 실행된다. According to another aspect of the invention, the latency and timing problems encountered in the prior art are mitigated, whereby the PDU length is determined (in terms of the number of blocks), and the PDU with the queue interval already read from the queue. Is calculated for the first block of and written to the interval register. As a result, before the last block of the PDU is read from the queue and sent, the spacing setting in the register is performed (after a unique wait time).

이러한 양상들은 QoS 트래픽 및 CoS 트래픽 모두에 적용가능하며, 포트 당 3개의 서로 다른 패킷 CoS 트래픽 타입들 및 5개의 서로 다른 ATM QoS 트래픽 타입들이 모두 동시에 대체되며 스케줄되게 한다. These aspects are applicable to both QoS traffic and CoS traffic, allowing three different packet CoS traffic types and five different ATM QoS traffic types per port to be replaced and scheduled at the same time.

하기에서, 본 발명은 바람직한 실시예들과 관련하여, 첨부 도면들을 참조하여 더욱 상세히 설명될 것이다.In the following, the invention will be described in more detail with reference to the accompanying drawings, in connection with preferred embodiments.

도 1은 xDSL 시스템의 예를 도시한다. 1 shows an example of an xDSL system.

도 2는 DSLAM을 구체화하는 일 방식을 도시한다.2 illustrates one way of embodying the DSLAM.

도 3은 본 발명의 일 실시예에 따라 라우팅 스위치 프로세서(RSP)의 스케줄링 구성요소들의 예를 도시한다.3 illustrates an example of scheduling components of a routing switch processor (RSP) in accordance with an embodiment of the present invention.

도 4는 본 발명의 일 양상을 도시하는 흐름도이다.4 is a flowchart illustrating one aspect of the present invention.

도 5는 본 발명의 추가적인 양상을 도시하는 흐름도이다.5 is a flowchart illustrating additional aspects of the present invention.

비록 본 발명이 DSL 액세스 시스템과 관련하여 하기에서 설명될 것이지만은, 이는 본 발명의 다른 액세스 및 통신 시스템들에의 응용을 제한하지 않는다.Although the present invention will be described below in connection with a DSL access system, this does not limit the application of the present invention to other access and communication systems.

도 2에 도시된 기능 블록들은 많은 대안 방식들로 네트워크 프로세서의 서로 다른 부분들간에서 분산될 수 있다. 예를 들어, Agere Payload Plus 네트워크 프로세서는 3개의 주요 유닛들, 고속 패턴 프로세서(FPP), 아기어 시스템 인터페이스(ASI), 및 라우팅 스위치 프로세서(RSP)를 포함한다. 분류, 마크 및 정책화(21)는 FPP 및/또는 ASI에 위치될 수 있으며, 트래픽 관리(22), 큐들(23), 트래픽 쉐이핑(24), 및 스트림 에디터(25)는 예를 들어, RSP에 위치될 수 있다. The functional blocks shown in FIG. 2 may be distributed among different parts of the network processor in many alternative ways. For example, the Agere Payload Plus network processor includes three main units, a fast pattern processor (FPP), an Age system interface (ASI), and a routing switch processor (RSP). Classification, mark and policy 21 may be located in FPP and / or ASI, traffic management 22, queues 23, traffic shaping 24, and stream editor 25, for example, RSP It can be located at.

일반적으로, 분류(classification)는 PDU를 식별하며, 정책화는 부합성(conformance)을 보증하며, 스케줄링은 큐들에 대한 적절한 서비스를 제공하며, 이에 따라 트래픽은 클래스 우선순위들에 관해 적절한 방식으로 네트워크에 제시될 수 있다. 접속-기반 프로토콜로서의 ATM이 IP와 같은 패킷 기반 프로토콜과 다르기 때문에, 트래픽 관리는 또한 프로토콜에 따라 다르게 된다. ATM QoS에 있어서, 엄격한 성능 값들이 보증될 수 있는 반면에, IP CoS는 상대적인 우선순위 패킷의 사양만을 허용한다. 이는 일정한 우선순위의 패킷들에 대한 다른 드롭-우선순위(drop precedence)를 특정하지 못하게 된다. In general, classification identifies a PDU, policyization ensures conformance, and scheduling provides adequate service for queues, so that traffic can be networked in an appropriate manner with respect to class priorities. Can be presented. Since ATM as a connection-based protocol is different from packet-based protocols such as IP, traffic management also depends on the protocol. In ATM QoS, strict performance values can be guaranteed, while IP CoS only allows the specification of relative priority packets. This makes it impossible to specify other drop precedence for packets of constant priority.

본 발명의 바람직한 실시예는 4개의 ATM 서비스 품질 클래스들(즉, CBR, rt-VBR, nrt-VBR 및 UBR)과 3개의 IP 클래스 서비스 클래스들(즉, EF, AF 및 DF)을 지원한다. 예를 들어, ATM에서 CBR을 요구하는 서비스들은 트래픽이 IP 흐름인 경우에 EF를 요구할 것이다. 본 발명의 바람직한 실시예들에서, 트래픽은 ATM 또는 IP인지에 관계없이 트래픽 파라메터들 및 우선순위 레벨들에 관해 처리되며, 따라서 프로토콜에 관계없이 동일한 레벨의 서비스 품질을 제공할 것이다.The preferred embodiment of the present invention supports four ATM quality of service classes (ie, CBR, rt-VBR, nrt-VBR, and UBR) and three IP class service classes (ie, EF, AF, and DF). For example, services that require CBR in ATM will require EF if the traffic is IP flow. In preferred embodiments of the present invention, traffic is handled with respect to traffic parameters and priority levels regardless of whether it is ATM or IP, thus providing the same level of quality of service regardless of protocol.

트래픽 정책화는 능동 프로세스(active process)들이 트래픽 계약에서 구체화된 룰들을 모니터링하며 시행하는 것임을 의미한다. 정책화 프로세스는 ATM 및 IP 트래픽 모두에 대해 동일한 방식으로 수행될 수 있다. 인입 패킷들은 속도와 우선순위를 설명하는 식별자로 마크된다. 트래픽 정책화는 네트워크에 받아들여진 트래픽이 접속에 대해 설정된 트래픽 디스크립터(descriptor)들을 벗어나지 않음을 보증한다. 트래픽 정책화는 예를 들어, 셀들에 대한 Generic Cell Rate Algorithm(GCRA) 또는 패킷들에 대한 TrTCM에 기반하여 내부적인 사용을 위해 PDU들을 마크한다. Traffic policy means that active processes monitor and enforce the rules specified in the traffic contract. The policying process can be performed in the same way for both ATM and IP traffic. Incoming packets are marked with identifiers that describe their speed and priority. Traffic policy ensures that traffic received on the network does not deviate from the traffic descriptors set for the connection. Traffic policy marks PDUs for internal use based on, for example, Generic Cell Rate Algorithm (GCRA) for cells or TrTCM for packets.

트래픽 관리 연산 엔진(22)에서, PDU들은 정책화 결과들(마크) 및 목적지 큐의 충만(fullness) 정도에 기반하여 큐잉되거나 폐기된다. 만일 PDU가 폐기되지 않 는 경우에, PDU는 스케줄링을 위해 적절한 큐(23)에 추가된다. 적절한 큐(23)는 분류 및 정책화 스테이지들(21)로부터 획득된 정보에 기반하여 결정된다. 큐(23)는 서로 다른 방식들로 PDU들을 프로세싱하도록, 즉 서로 다른 서비스 품질(QoS) 및 서비스 클래스(CoS) 큐들을 구체화하도록 프로그래밍된다.In the traffic management computational engine 22, PDUs are queued or discarded based on policy results (mark) and the degree of fullness of the destination queue. If the PDU is not discarded, the PDU is added to the appropriate queue 23 for scheduling. The appropriate queue 23 is determined based on the information obtained from the classification and policy stages 21. Queue 23 is programmed to process PDUs in different ways, i.e., to specify different quality of service (QoS) and class of service (CoS) queues.

도 3은 본 발명의 일 실시예에 따라 라우팅 스위치 프로세서(RSP)의 스케줄링 구성요소들의 예를 도시한다. RSP 출력 포트(33)는 트래픽을 전송하기 위한 물리적 인터페이스이다. RSP 출력 포트는 예를 들어, 가입자 접속에 대한 xDSL 인터페이스가 될 수 있다. 포트 관리자(PM)(32)는 하나 이상의 논리 포트들(34)에 대한 속도를 정의한다. 도 3의 예에서, 각 RSP 유닛(RSP 1 내지 4)에 5개의 포트 관리자들(32)과 각 포트 관리자 블록들이 있다. 논리 포트(34)는 개별 트래픽 흐름에 대한 접속을 정의한다. 각 논리 포트(34)는 스케줄러들의 테이블로 구성된다. 각 스케줄러(35, 36 및 37)는 특정 타입(들)의 트래픽을 지원한다. 도 3에서, 3개의 스케줄러들이 구성되는데, 이는 제 1 동적 스케줄러(35), 제 2 동적 스케줄러(36) 및 선입선출(FIFO) 스케줄러(37)이다. 각 스케줄러는 큐들의 테이블을 유지한다. 제 1 및 제 2 동적(예를 들어, VBR) 스케줄러들(35 및 36)에 대해, 그리고 또한 FIFO 스케줄러(37)에 대해, 큐들의 테이블은 큐들에 타임 슬롯들을 할당하기 위한 타임-슬롯 테이블이 될 수 있다. 제 1 및 제 2 동적 스케줄러들(35 및 36)은 트래픽 특성들 및 RSP 상태를 포함할 수 있는 트래픽 쉐이퍼 연산 엔진(24)의 스크립트 프로그래밍에 기반하여 동적으로 타임-슬롯들을 할당한다. UBR 트래픽과 같은, 쉐이핑을 요구하지 않는 트래픽은 FIFO 스케줄러(37)를 사용하여 스케줄된다. 3 illustrates an example of scheduling components of a routing switch processor (RSP) in accordance with an embodiment of the present invention. RSP output port 33 is a physical interface for transmitting traffic. The RSP output port can be, for example, an xDSL interface to a subscriber connection. Port manager (PM) 32 defines the speed for one or more logical ports 34. In the example of FIG. 3, there are five port managers 32 and respective port manager blocks in each RSP unit RSP 1 to 4. Logical port 34 defines the connection for the individual traffic flow. Each logical port 34 consists of a table of schedulers. Each scheduler 35, 36, and 37 supports traffic of a particular type (s). In FIG. 3, three schedulers are configured, a first dynamic scheduler 35, a second dynamic scheduler 36, and a first-in first-out (FIFO) scheduler 37. Each scheduler maintains a table of queues. For the first and second dynamic (eg VBR) schedulers 35 and 36, and also for the FIFO scheduler 37, the table of cues is a time-slot table for assigning time slots to the queues. Can be. The first and second dynamic schedulers 35 and 36 dynamically allocate time-slots based on script programming of the traffic shaper computation engine 24, which may include traffic characteristics and RSP status. Traffic that does not require shaping, such as UBR traffic, is scheduled using the FIFO scheduler 37.

도 3의 예에서, QoS 및 CoS 타입 데이터 흐름들에 대해 5개의 큐들이 구성된다. 큐 ID(Q1D1)를 갖는 제 1 큐는 CBR 트래픽 흐름들에 대해 구성된다. 제 2 큐(Q1D2)는 VBRrt 및 EF 트래픽 흐름들에 대해 구성된다. 제 3 큐(Q1D3)는 w/o 태그 트래픽 흐름들 및 AF41 트래픽 흐름들을 갖는 VBRnrt에 대해 구성된다. 제 4 큐(Q1D4)는 w 태그 트래픽 흐름들을 갖는 VBRnrt에 대해 구성된다. 제 5 큐(Q1D5)는 UBR 및 DF 트래픽 흐름들에 대해 구성된다. In the example of FIG. 3, five queues are configured for QoS and CoS type data flows. The first queue with queue ID Q1D1 is configured for CBR traffic flows. The second queue Q1D2 is configured for VBRrt and EF traffic flows. The third queue Q1D3 is configured for VBRnrt with w / o tag traffic flows and AF41 traffic flows. The fourth queue Q1D4 is configured for VBRnrt with w tag traffic flows. The fifth queue Q1D5 is configured for UBR and DF traffic flows.

큐들(Q1D1 및 Q1D2)은 제 1 동적 스케줄러(35)에 할당되며, 큐(Q1D3)는 제 2 동적 스케줄러(36)에 할당되며, 큐들(Q1D4 및 Q1D5)은 FIFO 스케줄러(37)에 할당된다. Queues Q1D1 and Q1D2 are assigned to the first dynamic scheduler 35, queues Q1D3 are assigned to the second dynamic scheduler 36, and queues Q1D4 and Q1D5 are assigned to the FIFO scheduler 37.

본원에서 설명되는 예들에서, 동적 스케줄링의 기본 기능은 큐(Queue)- 64/48 바이트 데이터 블록- 타임 슬롯 테이블- 큐 간격 요소들을 통해, 그리고 메인 스케줄링 타임 휠에 의해 수행된다. 64 또는 48 바이트들의 일 데이터 블록은 일 타임 슬롯에서 논리 포트로 전송될 수 있다. 따라서, 큐들의 PDU들은 64 또는 48 바이트들의 블록으로 스케줄된다. RSP가 또 하나의 블록을 전송할 준비를 하는 때마다, 글로벌(global) 속도 클록이 발사되는데, 즉 이는 타임-슬롯 구성을 정의한다. RSP가 데이터 블록을 송신할 준비를 하는 때마다. 스케줄링 프로세스는 포트 관리자(32)의 선택으로 시작되며, 이후에 논리 포트(34)를 선택한다. 이후에, 스케줄러(35, 36 또는 37)의 선택이 수행된다. 전형적으로, 스케줄러들은 선택되는 우선 순위를 갖는다. 본원에서 상술한 예에서, 제 1 동적 스케줄러(35)가 최고 우선순위를 가지며, FIFO 스케줄러(37)가 최저 우선순위를 갖는다. 마지막으로, 스케줄 러들(35 내지 37)은 타임-슬롯들이 어떻게 각 스케줄러의 큐들에 할당되는지를 정의하는 타임-슬롯 테이블들을 구비한다. In the examples described herein, the basic functionality of dynamic scheduling is performed through the Queue-64 / 48 Bytes Data Block-Time Slot Table-Queue Interval Elements and by the Main Scheduling Time Wheel. One data block of 64 or 48 bytes may be sent to a logical port in one time slot. Thus, the PDUs of the queues are scheduled in blocks of 64 or 48 bytes. Each time the RSP prepares to send another block, a global rate clock is fired, which defines the time-slot configuration. Each time the RSP prepares to send a block of data. The scheduling process begins with the selection of port manager 32 and then selects logical port 34. Thereafter, selection of the scheduler 35, 36 or 37 is performed. Typically, schedulers have a priority selected. In the example described above herein, the first dynamic scheduler 35 has the highest priority, and the FIFO scheduler 37 has the lowest priority. Finally, schedulers 35-37 have time-slot tables that define how time-slots are assigned to the queues of each scheduler.

큐 간격은 각 큐에 대해 동적으로 결정된다. 큐 간격은 후속 블록 또는 셀이 특정 큐로부터 전송되기 이전에 스킵될 메인 스케줄링 타임 슬롯들의 개수를 정의한다. 따라서, 간격은 큐의 데이터율과 관련을 갖는다. 간격 값 제로는 스킵될 타임 슬롯들의 개수가 제로이며, 큐가 비어있지 않은 경우에, 또한 후속 타임 슬롯에서 블록이 동일한 큐로부터 전송됨을 의미한다. 이는 PDU 크기가 일 블록보다 작은 경우에 논리 포트 속도와 관련된 100% 대역폭을 발생시킨다. 유사하게, 간격 값 일은 일 타임 슬롯의 스킵을 의미하며, 트래픽 쉐이퍼 CE(24)는 이후에 제 1 큐로부터 다시 전송하기 이전에 후속 최고의 우선순위를 갖는 또 하나의 큐로부터 전송한다. 이는 포트 속도의 50% 속도를 발생시킨다. 원리상으로, 속도는 기본 식(y=1/2X)에 대응하는데, 여기서 y는 속도이며, x는 간격 값이다. 포트 속도가 10 Mbps인 것으로 가정한다. 간격 값들(0, 1, 2. 3. 4. 5. 6. 7, 8 및 9)은 이후에 각각 10 Mbps, 5 Mbps, 3.33 Mbps, 2.5 Mbps, 2 Mbps, 1.7 Mbps, 1.3 Mbps, 1.1 Mbps, 및 1 Mbps의 큐 속도들을 발생시킬 것이다. 이러한 입도는 특히 포트 속도에 대해 보다 높은 속도들로 큐를 조정하는 매우 정확한 속도를 허용하지 않는다. The queue interval is determined dynamically for each queue. The queue interval defines the number of main scheduling time slots to be skipped before subsequent blocks or cells are sent from a particular queue. Thus, the interval is related to the data rate of the queue. An interval value of zero means that the number of time slots to be skipped is zero, and if the queue is not empty, then also blocks are sent from the same queue in subsequent time slots. This results in 100% bandwidth associated with logical port speed when the PDU size is smaller than one block. Similarly, the interval value day implies the skip of one time slot, and the traffic shaper CE 24 then transmits from another queue with the next highest priority before sending back from the first queue. This results in 50% speed of the port speed. In principle, velocity corresponds to the basic equation (y = 1/2 X ), where y is velocity and x is the interval value. Assume that the port speed is 10 Mbps. Interval values (0, 1, 2. 3. 4. 5. 6. 7, 8, and 9) are then respectively 10 Mbps, 5 Mbps, 3.33 Mbps, 2.5 Mbps, 2 Mbps, 1.7 Mbps, 1.3 Mbps, 1.1 Mbps Will generate queue speeds of, and 1 Mbps. This granularity does not allow for very precise speeds, especially for tuning the queue to higher speeds for port speeds.

트래픽 관리자(TM) 및 트래픽 쉐이퍼(TS)는 TM의 경우에 각 PDU에 대해, 그리고 TS의 경우에 각 블록에 대해 실행되는 프로그램가능한 스크립트들을 통해 제어된다. 일 스케줄러마다 하나의 스크립트만이 사용될 수 있다. 만일 스케줄러가 ATM QoS 및 패킷 CoS 트래픽을 동시에 처리해야 하는 경우에, 새로운 종류의 스크립트 및 쉐이핑 방법이 필요하다. 전통적인 개별 ATM 및 패킷 트래픽 쉐이핑 스크립들은 이러한 목적에 적용가능하지 않다. The traffic manager TM and traffic shaper TS are controlled via programmable scripts that are executed for each PDU in the case of TM and for each block in the case of TS. Only one script can be used per scheduler. If the scheduler must handle ATM QoS and packet CoS traffic at the same time, a new kind of script and shaping method is needed. Traditional discrete ATM and packet traffic shaping scripts are not applicable for this purpose.

본 발명의 일 실시예에 따라, 큐 속도의 입도는 전통적으로 제공되는 것들에 추가하여 중간 속도들을 도입함으로써 개선된다. 비교적 보다 높은 제 1 큐 속도(R1)(예를 들어, 10 Mbps)와 제 2의 보다 낮은 큐 속도(R1/N)(예를 들어, 5 Mbps)간의 중간 속도가 트래픽 흐름에 대해 원해지는 때에, 트래픽 쉐이퍼에서의 스킵 간격은 제 2의 보다 낮은 속도(예를 들어, 5 Mbps)에 따라 스킵 간격 값을 계산하도록 구성된다. 이는 통례적으로 제 2 속도(5 Mbps)에 일치하는 큐 속도를 발생시킬 것이다. 그러나, 본 발명의 일 실시예에 따라, 특정 트래픽 흐름의 각 PDU는 추가적인 대체-간격-계산 결정을 받게 되는데, 트래픽 쉐이퍼에서 계산된 스킵 간격 값 대신에, PDU는 기설정된 확률로, 바람직하게 대략 50% 확률로 스킵 제로 스케줄링을 수신하도록 마크된다. 바꾸어 말하면, 트래픽 쉐이퍼 스케줄러는 계산된 간격 값 대신에, 50% 확률로 PDU에 대한 간격 값 제로를 사용한다. 통계적으로, 이는 제 1 큐 속도와 제 2 큐 속도 사이에 중간 큐 비트율 값을 추가하는 효과를 갖는다. 만일 제 1 및 제 2 큐 속도들이 10 Mbps와 5 Mbps인 경우에, 대략 50%의 확률이 사용되는 때에, 획득된 중간 큐 속도는 대략 평균 7.5 Mbps이다. 유사하게, 임의의 2개의 통례적인 큐 속도들 사이에 중간 큐 속도가 제공될 수 있다. According to one embodiment of the invention, the granularity of the cue speed is improved by introducing intermediate speeds in addition to those conventionally provided. When a medium rate between a relatively higher first queue rate R1 (eg 10 Mbps) and a second lower queue rate R1 / N (eg 5 Mbps) is desired for the traffic flow. The skip interval in the traffic shaper is configured to calculate the skip interval value according to the second lower rate (eg, 5 Mbps). This will typically generate a queue rate that matches the second rate (5 Mbps). However, according to one embodiment of the present invention, each PDU of a particular traffic flow is subject to an additional alternate-interval-calculated decision, instead of the skip interval value calculated in the traffic shaper, the PDU is at a predetermined probability, preferably approximately A 50% probability is marked to receive skip zero scheduling. In other words, the traffic shaper scheduler uses a 50% probability of interval value zero for the PDU instead of the calculated interval value. Statistically, this has the effect of adding an intermediate cue bit rate value between the first queue rate and the second queue rate. If the first and second queue rates are 10 Mbps and 5 Mbps, when approximately 50% probability is used, the intermediate queue rate obtained is approximately 7.5 Mbps on average. Similarly, an intermediate queue rate may be provided between any two conventional queue rates.

바람직한 실시예에서, PDU는 분류 또는 정책화 스테이지에서 또는 트래픽 관리 연산 엔진에서 대체-간격 계산 결정으로 마크된다. 이는 동작이 각 PDU에 대해 한 번만 수행될 필요가 있기 때문에 유익하다. 대체-간격 계산 결정의 결과는 임의의 파라메터, 비트(들), 바이트(들), 또는 임의의 기타 적합한 데이터 구조에 의해 형성될 수 있는 특정 간격 대체 플래그를 갖는 트래픽 쉐이퍼에 전달된다. 대체-간격 플래그는 TRUE 또는 1과 같은 제 1 상태와 FALSE 또는 0과 같은 제 2 상태를 채택할 수 있다. 임의의 적합한 랜덤 알고리즘이 플래그를 설정하는데 사용될 수 있으며, 이에 따라 2개의 상태들은 동일 확률을 갖는 것으로 보여진다. 트래픽 쉐이퍼에 랜덤 0/1 플래그 비트를 제공하는 명령들을 포함하는 트래픽 관리자 스크립트의 일 예가 부록 1에서 보여진다.In a preferred embodiment, the PDU is marked with a substitution-interval calculation decision at the classification or policy stage or at the traffic management computation engine. This is beneficial because the operation only needs to be performed once for each PDU. The result of the substitution-interval calculation decision is passed to a traffic shaper with a particular interval substitution flag that can be formed by any parameter, bit (s), byte (s), or any other suitable data structure. The alternate-interval flag may adopt a first state such as TRUE or 1 and a second state such as FALSE or 0. Any suitable random algorithm can be used to set the flag, so that the two states are shown to have the same probability. An example of a traffic manager script including instructions for providing a random 0/1 flag bit to the traffic shaper is shown in Appendix 1.

트래픽 쉐이퍼는 전통적으로 또는 하기에서 설명되는(도 4의 단계(41)) 새로운 발명 사상에 따라 PDU에 대한 큐 간격을 계산할 수 있다. 간격이 어떻게 계산되는지에 관계없이, 트래픽 쉐이퍼는 간격-대체 플래그의 상태를 체크한다(단계 42 및 43). 만일 상태가 FALSE/0인 경우에, 트래픽 쉐이퍼는 간격 레지스터에 제로 스킵 간격 값을 기입한다(단계 45). 만일 상태가 TRUE/1인 경우에, 계산된 간격 값을 간격 레지스터에 기입한다(단계 44). 랜덤 0/1 플래그 비트를 체크함과 아울러 이에 따라 간격 레지스터에 기입하기 위한 명령들을 포함하는 트래픽 쉐이퍼 스크립트의 일 예가 부록 2에서 보여진다. 결과로서, 간격 "0.5"(0과 1 각각에 대한 50%)의 존재로 인해, 75% 유효 대역폭을 얻게 된다. 만일 50% 대신에 또 하나의 확률이 사용되는 경우에, 유효 대역폭은 이에 따라 변경된다.The traffic shaper may calculate the queue interval for the PDU traditionally or in accordance with the new inventive concept described below (step 41 of FIG. 4). Regardless of how the interval is calculated, the traffic shaper checks the state of the interval-alternate flag (steps 42 and 43). If the state is FALSE / 0, the traffic shaper writes a zero skip interval value in the interval register (step 45). If the state is TRUE / 1, the calculated interval value is written to the interval register (step 44). An example of a traffic shaper script including instructions for checking a random 0/1 flag bit and writing to the interval register accordingly is shown in Appendix 2. As a result, due to the presence of the interval "0.5" (50% for 0 and 1 respectively), 75% effective bandwidth is obtained. If another probability is used instead of 50%, the effective bandwidth is changed accordingly.

종래기술에서, PDU의 모든 블록들이 큐로부터 판독되고 카운트된 이후에만, 큐 간격이 계산되고 간격 레지스터에 기입된다. 새로운 설정의 간격 레지스터가 실 행하기 이전에, 4개의 블록들의 지속 기간에 대한 고유의 대기 시간이 있다. 따라서, 실제 PDU 이후에, 큐의 후속 PDU로부터의 4개의 블록들이 판독되고 송신될 수 있다. 이 원하지않는 이벤트는 트래픽 쉐이퍼 연산 엔진의 타이밍을 왜곡시키며, 이에 따라 동일 논리 포트의 다른 큐들에 영향을 미친다.In the prior art, the queue interval is calculated and written to the interval register only after all blocks of the PDU have been read and counted from the queue. Before the new register's interval register is executed, there is an inherent wait time for the duration of the four blocks. Thus, after the actual PDU, four blocks from subsequent PDUs in the queue can be read and transmitted. This unwanted event distorts the timing of the traffic shaper computation engine, thus affecting other queues on the same logical port.

본 발명의 추가적인 양상에 따르면, 종래기술의 이러한 문제점들은 완화되는데, 따라서, PDU 길이가 (블록들의 개수의 관점에서) 결정되고(도 5의 단계(52)), 큐 간격이 계산되고(단계 53), 큐로부터 이미 판독된 PDU의 제 1 블록(단계 51)에 대한 간격 레지스터에 기입된다(단계 54). 후속 블록들이 큐로부터 판독된다(단계 55). 결과로서, PDU의 마지막 블록이 큐로부터 판독되어 송신되기 이전에, (4개의 블록 대기 시간 이후에) 레지스터의 간격 설정이 실행된다. PDU 길이는 CE 하드웨어에 의해 제공된 TS 레지스터로부터 판독될 수 있다. According to a further aspect of the present invention, these problems of the prior art are mitigated, so that the PDU length is determined (in terms of the number of blocks) (step 52 of FIG. 5), and the queue interval is calculated (step 53). Is written to the interval register for the first block (step 51) of the PDU already read from the queue (step 54). Subsequent blocks are read from the queue (step 55). As a result, before the last block of the PDU is read from the queue and sent, the spacing of the registers is performed (after four block wait times). The PDU length can be read from the TS register provided by the CE hardware.

본 발명의 이러한 추가적인 양상을 적용하는 일 실시예에서, 기본 간격은 우선 큐 속도 대 포트 속도에 대해 제공된 유효 대역폭에 기초하여, 이중 수학(double math)을 이용한 소프트웨어에 의해 계산된다. 이 기본 간격은 임의의 추가적인(정수) 계산들에서 보다 큰 정확도를 허용하기 위해 64에 의해 곱해진다. 값(64)은 비트 연산 "좌측 쉬프트 6"에 대응하기 때문에 선택되며, 비트 쉬프팅은 트래픽 쉐이퍼 TS 스크립트들에서 수학을 수행하는 유일한 실행 방법이다. 이후에, 이 기본 간격은 (각 64 바이트 블록에 대해) TS 스크립트가 실행되는 때마다 판독되기 위해 큐에 대한 TS 파라메터로서 제공된다. In one embodiment applying this additional aspect of the present invention, the base interval is first calculated by software using double math, based on the effective bandwidth provided for queue speed versus port speed. This base interval is multiplied by 64 to allow greater accuracy in any additional (integer) calculations. The value 64 is chosen because it corresponds to the bit operation “left shift 6”, and bit shifting is the only execution method for performing math in traffic shaper TS scripts. This default interval is then provided as the TS parameter for the queue to be read each time the TS script is executed (for each 64 byte block).

바람직하게, 트래픽 쉐이핑 및 간격 계산은 또한 스케줄되는 PDU 길이를 고 려한다. 본 발명의 일 실시예에서, 이는 TS 스크립트에서 수행되며, 이에 따라 PDU 크기는 대응하는 좌측 쉬프트 카운트에 의한 간격 곱셈(즉, 길이간격 = 기본간격 * 2pduLengthShiftLeft) 결과를 변경시킨다. PDU 길이는 CE 하드웨어에 의해 제공된 TS 레지스터로부터 판독될 수 있다. 따라서, PDU 크기는 하기의 방식으로 좌측 쉬프트의 개수에 영향을 미친다. Preferably, traffic shaping and interval calculation also consider the scheduled PDU length. In one embodiment of the invention, this is done in a TS script, whereby the PDU size changes the result of the interval multiplication (ie, length interval = fundamental interval * 2 pduLengthShiftLeft ) by the corresponding left shift count. The PDU length can be read from the TS register provided by the CE hardware. Therefore, the PDU size affects the number of left shifts in the following manner.

PDU 크기 좌측 쉬프트PDU Size Left Shift

<=64 0<= 64 0

513-102 1513-102 1

513-103 2513-103 2

513-104 3513-104 3

513-105 4513-105 4

1025> 51025> 5

실제 간격 값은 길이 간격을 64로 나눔으로써, 즉 비트 연산 "우측 쉬프트 6"에 의해 계산되며, 이에 따라 소프트웨어에 의해 기본 간격에 대해 수행되는 본래의 64 곱셈을 배제한다. 이 간격 값은 상술한 바와 같이 간격 레지스터에 기입될 수 있다. 이러한 단계들을 수행하는 TS 스크립트의 일 예가 부록 2에서 예시된다. The actual interval value is calculated by dividing the length interval by 64, ie by the bit operation "right shift 6", thus excluding the original 64 multiplication performed by the software for the base interval. This interval value can be written to the interval register as described above. An example of a TS script that performs these steps is illustrated in Appendix 2.

본 발명의 이러한 추가적인 양상은 다른 큐들의 데이터 흐름들에서의 서로 다른 PDU 크기들의 영향을 크게 평탄하게 하며, 관련 문제로서 RSP 스케줄링 메커니즘에서 간격 레지스터 처리와 관련된 4개 정도의 블록 시간 대기시간들의 영향을 감소시킨다. This additional aspect of the invention greatly flattens the impact of different PDU sizes on the data flows of different queues and, as a related issue, affects the effect of four or so block time latencies associated with interval register processing in the RSP scheduling mechanism. Decrease.

또한, 본 발명의 추가적인 양상과 관련하여, 중간 속도는 본 발명의 제 1 양상에 관하여 상술한 바와 같이 계산된 간격 값을 제로 스킵 간격 값으로 랜덤으로 대체함으로써 달성될 수 있다. 따라서, 길이 간격이 64로 나뉘어진 이후에, 그리고 간격을 TS 레지스터에 기입하기 이전에, 계산된 간격 값 또는 제로가 기입되어 있는지가 체크된다. 이는 이 특정 PDU의 모든 블록들에 대해 TM으로부터 TS에 전달된 특정 비트 또는 플래그에 의해 결정될 수 있다. 상술한 바와 같이, TM은 비트 계산을 위해 랜덤 함수(random function)를 이용하며, 비트는 50% 확률로 설정된다. 이러한 단계들을 수행하는 TS 스크립트의 일 예가 부록 2에서 예시된다.In addition, with respect to a further aspect of the present invention, the intermediate velocity may be achieved by randomly replacing the interval value calculated as described above with respect to the first aspect of the present invention with a zero skip interval value. Thus, after the length interval is divided by 64, and before writing the interval into the TS register, it is checked whether the calculated interval value or zero is written. This may be determined by the specific bit or flag passed from the TM to the TS for all blocks of this particular PDU. As mentioned above, the TM uses a random function for bit computation, and the bits are set with a 50% probability. An example of a TS script that performs these steps is illustrated in Appendix 2.

기술이 발전함에 따라, 본 발명의 기본 사상은 다양한 방식들로 수행될 수 있음이 기술분야의 당업자에게 분명할 것이다. 따라서, 본 발명 및 그 실시예들은 상술한 예들에 국한되지 않으며, 청구범위의 범주 내에서 변할 수 있다. As the technology evolves, it will be apparent to those skilled in the art that the basic idea of the invention may be implemented in a variety of ways. Accordingly, the invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.

Figure 112006093197571-PCT00001
Figure 112006093197571-PCT00001

Figure 112006093197571-PCT00002
Figure 112006093197571-PCT00002

Figure 112006093197571-PCT00003
Figure 112006093197571-PCT00003

Figure 112006093197571-PCT00004
Figure 112006093197571-PCT00004

Figure 112006093197571-PCT00005
Figure 112006093197571-PCT00005

Figure 112006093197571-PCT00006
Figure 112006093197571-PCT00006

Figure 112006093197571-PCT00007
Figure 112006093197571-PCT00007

Claims (21)

트래픽 스케줄링 및 쉐이핑(shaping) 방법으로서,Traffic scheduling and shaping method, 포트 속도(R1)를 갖는 논리 출력 포트로의 후속적인 전송을 위해 큐(queue)에서의 트래픽 흐름의 패킷 데이터 유닛들(PDU)의 데이터 블록들을 버퍼링하는 단계와;Buffering data blocks of packet data units (PDUs) of the traffic flow in the queue for subsequent transmission to a logical output port having a port rate R1; 상기 큐로부터 스케줄러로의 PDU의 데이터 블록들을 판독하는 단계와;Reading data blocks of a PDU from the queue to a scheduler; 상기 PDU의 길이 및 속도(R1/N)에 기반하여 상기 PDU의 데이터 블록들에 대한 큐 간격을 계산하는 단계와, 여기서, N은 1과 일치하거나 더 큰 정수이며, 상기 큐 간격은 현재 PDU 이후에 상기 큐로부터 후속 데이터 블록들을 판독하기 이전에, 스킵(skip)될 타임 슬롯들의 개수를 나타내며; 그리고Calculating a queue interval for the data blocks of the PDU based on the length and rate (R1 / N) of the PDU, where N is an integer equal to or greater than 1 and the queue interval is after the current PDU Indicates the number of time slots to be skipped before reading subsequent data blocks from the queue at; And 기설정된 확률로, 바람직하게 대략 50%로 상기 계산된 큐 간격을 소정의 보다 짧은 또는 제로 큐 간격으로 랜덤으로 대체(overriding) 함으로써, 속도(R1)와 속도(R1/N) 사이의 유효 중간 큐 속도를 제공하는 단계를 포함하는 것을 특징으로 하는 트래픽 스케줄링 및 쉐이핑 방법.Effective intermediate queue between speed R1 and speed R1 / N, by randomly overriding the calculated queue interval with a predetermined shorter or zero queue interval, with a predetermined probability, preferably at approximately 50%. Providing a rate of traffic scheduling and shaping. 제 1항에 있어서,The method of claim 1, 네트워크 프로세서의 선행 분류, 마크, 정책화 또는 트래픽 관리 스테이지에서 상기 PDU에 대한 대체-간격 플래그를 발생하는 단계와, 여기서, 상기 플래그는 50%의 확률로 제 1 상태를 랜덤으로 채택하며; 그리고Generating a substitute-interval flag for the PDU at a prior classification, mark, policy or traffic management stage of the network processor, wherein the flag has a 50% probability of randomly adopting a first state; And 상기 대체-간격 플래그를 상기 스케줄러에 전달하는 단계를 포함하며,Passing the substitute-interval flag to the scheduler; 여기서, 상기 랜덤으로 대체하는 단계는 상기 스케줄러에서 상기 대체-간격 플래그를 체크하는 단계와, 만일 상기 대체 간격 플래그가 상기 제 1 상태에 있는 경우에, 상기 계산된 큐 간격을 상기 소정의 보다 짧은 또는 제로 큐 간격으로 대체하는 단계와, 그리고 만일 그렇지 않은 경우에, 상기 계산된 큐 간격을 이용하는 단계를 더 포함하는 것을 특징으로 하는 트래픽 스케줄링 및 쉐이핑 방법.Wherein the step of randomly replacing includes checking the substitute-interval flag in the scheduler, and if the substitute interval flag is in the first state, replacing the calculated queue interval with the predetermined shorter or Substituting zero queue intervals, and if not, using the calculated queue intervals. 제 1항 또는 제 2항에 있어서, R1=10 Mbps이며, N=2이며, R1/N=5 Mbps이며, 그리고 상기 중간 큐 속도는 대략 7.5 Mbps인 것을 특징으로 하는 트래픽 스케줄링 및 쉐이핑 방법.3. A method according to claim 1 or 2, wherein R1 = 10 Mbps, N = 2, R1 / N = 5 Mbps, and the intermediate queue rate is approximately 7.5 Mbps. 트래픽 스케줄링 및 쉐이핑 방법으로서,As a traffic scheduling and shaping method, 포트 속도(R1)를 갖는 논리 출력 포트로의 후속적인 전송을 위해 큐에서의 트래픽 흐름의 패킷 데이터 유닛들(PDU)의 데이터 블록들을 버퍼링하는 단계와;Buffering data blocks of packet data units (PDUs) of traffic flow in the queue for subsequent transmission to a logical output port having a port rate (R1); 상기 큐로부터 스케줄러로의 PDU의 제 1 데이터 블록을 판독하는 단계와; Reading a first data block of a PDU from the queue to a scheduler; 상기 PDU의 길이를 결정함과 아울러 상기 PDU의 길이 및 속도(R1/N)에 기반하여 상기 PDU의 상기 제 1 데이터 블록에 대한 큐 간격을 계산하는 단계와, 여기서, N은 1과 일치하거나 더 큰 정수이며, 상기 큐 간격은 현재의 PDU 이후에 상기 큐로부터 후속 데이터 블록들을 판독하기 이전에 스킵될 타임 슬롯들의 개수를 나타내며; 그리고Determining a length of the PDU and calculating a queue interval for the first data block of the PDU based on the length and speed (R1 / N) of the PDU, where N is equal to or greater than 1 A large integer, wherein the queue interval represents the number of time slots to be skipped after reading a current data block from the queue after a current PDU; And 상기 큐로부터 상기 PDU의 후속 데이터 블록을 판독하는 단계를 포함하는 것을 특징으로 하는 트래픽 스케줄링 및 쉐이핑 방법.And reading a subsequent block of data of the PDU from the queue. 트래픽 스케줄링 및 쉐이핑 방법으로서,As a traffic scheduling and shaping method, 포트 속도(R1)를 갖는 논리 출력 포트로의 후속적인 전송을 위해 적어도 2개의 큐들에서의 적어도 2개의 트래픽 흐름들의 패킷 데이터 유닛들(PDU)의 데이터 블록들을 버퍼링하는 단계와;Buffering data blocks of packet data units (PDUs) of at least two traffic flows in at least two queues for subsequent transmission to a logical output port having a port rate (R1); 상기 논리 출력 포트에 대해 적어도 2개의 동적 스케줄러들을 할당하는 단계와;Allocating at least two dynamic schedulers for the logical output port; 또 하나의 데이터 블록을 상기 출력 포트에 송신할 준비가 된 때에, 전송될 트래픽 및 최고의 우선순위를 갖는 상기 스케줄러들 중 하나를 선택하는 단계와; When ready to transmit another data block to the output port, selecting one of the schedulers having the highest priority and the traffic to be transmitted; 큐들의 상기 선택된 스케줄러 세트 사이에서 서비스될 후속 큐를 선택하는 단계와; Selecting a subsequent queue to be serviced between the selected scheduler set of queues; 상기 선택된 큐에서 대기하는 후속 PDU로부터 상기 선택된 스케줄러로의 제 1 데이터 블록을 판독하는 단계와;Reading a first block of data from the subsequent PDU waiting in the selected queue to the selected scheduler; 상기 PDU의 길이를 결정함과 아울러 상기 PDU의 결정된 길이 및 속도(R1/N)에 기반하여 상기 PDU의 상기 제 1 데이터 블록에 대한 큐 간격을 계산하는 단계와, 여기서, N은 1과 일치하거나 더 큰 정수이며, 상기 큐 간격은 현재 PDU 이후에 동일한 큐로부터 후속 데이터 블록들을 판독하기 이전에 스킵될 타임 슬롯들의 개수를 나타내며; Determining a length of the PDU and calculating a queue interval for the first data block of the PDU based on the determined length and speed (R1 / N) of the PDU, where N equals to 1 or A larger integer, where the queue interval represents the number of time slots to be skipped after reading the next data blocks from the same queue after the current PDU; 기설정된 확률로, 바람직하게 대략 50%로 상기 계산된 큐 간격을 소정의 보다 짧은 또는 제로 큐 간격으로 랜덤으로 대체함으로써, 속도(R1)와 속도(R1/N) 사이에 유효 중간 큐 속도를 제공하는 단계와; 그리고With a predetermined probability, preferably at approximately 50%, randomly replacing the calculated queue interval with a predetermined shorter or zero queue interval, thereby providing an effective intermediate queue rate between speed R1 and speed R1 / N. Making a step; And 상기 선택된 큐로부터 상기 PDU의 후속 데이터 블록들을 판독하는 단계를 포함하는 것을 특징으로 하는 트래픽 스케줄링 및 쉐이핑 방법.Reading subsequent data blocks of the PDU from the selected queue. 포트 속도(R1)를 갖는 논리 출력 포트로의 후속적인 전송을 위해 큐에서의 트래픽 흐름의 패킷 데이터 유닛들(PDU)의 데이터 블록들을 버퍼링하는 수단과;Means for buffering data blocks of packet data units (PDUs) of traffic flow in a queue for subsequent transmission to a logical output port having a port rate (R1); 상기 큐로부터 스케줄러로의 PDU 데이터 블록들을 판독하는 수단과;Means for reading PDU data blocks from the queue to a scheduler; 상기 PDU의 길이 및 속도(R1/N)에 기반하여 상기 PDU의 상기 데이터 블록들에 대한 큐 간격을 계산하는 수단과, 여기서, N은 1과 일치하거나 더 큰 정수이며, 상기 큐 간격은 현재 PDU 이후에 동일한 큐로부터 후속 데이터 블록들을 판독하기 이전에 스킵될 타임 슬롯들의 개수를 나타내며; 그리고Means for calculating a queue interval for the data blocks of the PDU based on the length and rate (R1 / N) of the PDU, where N is an integer equal to or greater than 1 and the queue interval is the current PDU Then indicates the number of time slots to be skipped before reading subsequent data blocks from the same queue; And 50% 확률로, 상기 계산된 큐 간격을 소정의 보다 짧은 또는 제로 큐 간격으로 랜덤으로 대체함으로써, 속도(R1)와 속도(R1/N) 사이에 유효 중간 큐 속도를 제공하는 수단을 포함하는 것을 특징으로 하는 네트워크 디바이스.Including a means for providing an effective intermediate queue rate between rate R1 and rate R1 / N by randomly replacing the calculated queue interval with a predetermined shorter or zero queue interval with a 50% probability. Characterized by a network device. 제 6항에 있어서,The method of claim 6, 네트워크 프로세서의 선행 분류, 마크, 정책화 또는 트래픽 관리 스테이지에서 상기 PDU에 대한 대체-간격 플래그를 발생하는 수단과, 여기서, 상기 플래그는 기설정된 확률로, 바람직하게 대략 50%로 제 1 상태를 랜덤으로 채택하며; 그리고Means for generating a substitute-interval flag for the PDU at a prior classification, mark, policy or traffic management stage of the network processor, wherein the flag randomizes the first state with a predetermined probability, preferably approximately 50%. To adopt; And 상기 대체-간격 플래그를 상기 스케줄러에 전달하는 수단을 포함하며,Means for passing the substitute-interval flag to the scheduler, 여기서, 상기 대체 수단은 상기 스케줄러에서 상기 대체-간격 플래그를 체크하는 수단과, 만일 상기 대체-간격 플래그가 상기 제 1 상태에 있는 경우에, 상기 계산된 큐 간격을 상기 소정의 보다 짧은 또는 제로 큐 간격으로 대체하는 수단과, 그리고 만일 그렇지 않은 경우에, 상기 계산된 큐 간격을 이용하는 수단을 더 포함하는 것을 특징으로 하는 네트워크 디바이스.Wherein the alternate means includes means for checking the alternate-interval flag in the scheduler and, if the alternate-interval flag is in the first state, the calculated queue interval to the predetermined shorter or zero queue. Means for replacing with an interval and, if not, means for utilizing the calculated queue interval. 제 6항 또는 제 7항에 있어서, R1=10 Mbps이며, N=2이며, R1/N=5 Mbps이며, 그리고 중간 큐 속도는 대략 7.5 Mbps인 것을 특징으로 하는 네트워크 디바이스.8. A network device according to claim 6 or 7, wherein R1 = 10 Mbps, N = 2, R1 / N = 5 Mbps, and the intermediate queue rate is approximately 7.5 Mbps. 제 6항 내지 제 8항 중 어느 한 항에 있어서, The method according to any one of claims 6 to 8, 포트 속도(R1)를 갖는 논리 출력 포트로의 후속적인 전송을 위해 적어도 2개의 큐들에서의 적어도 2개의 트래픽 흐름들의 패킷 데이터 유닛들(PDU)의 데이터 블록들을 버퍼링하는 적어도 2개의 큐 버퍼들과; At least two queue buffers buffering data blocks of packet data units (PDUs) of at least two traffic flows in at least two queues for subsequent transmission to a logical output port having a port rate R1; 적어도 2개의 스케줄러들과, 여기서, 상기 큐들 중 적어도 하나는 각 스케줄러에 할당되며; 그리고At least two schedulers, where at least one of the queues is assigned to each scheduler; And 또 하나의 데이터 블록을 상기 출력 포트에 송신할 준비가 된 때에, 전송될 트래픽 및 최고의 우선순위를 갖는 상기 스케줄러들 중 하나를 선택하는 메인 스케줄링 제어를 포함하며,A main scheduling control for selecting one of the schedulers with the highest priority and the traffic to be transmitted when ready to send another data block to the output port, 여기서, 상기 선택된 스케줄러는 상기 스케줄러에 할당된 상기 적어도 하나의 큐에서 서비스될 후속 큐를 선택함과 아울러 상기 선택된 큐에서 대기하는 후속 PDU의 데이터 블록들을 판독하는 것을 특징으로 하는 네트워크 디바이스.Wherein the selected scheduler selects a subsequent queue to be serviced in the at least one queue assigned to the scheduler and reads data blocks of subsequent PDUs waiting in the selected queue. 제 9항에 있어서,The method of claim 9, 제 1 서비스 품질(QoS) 타입 트래픽을 위한 제 1 큐와;A first queue for first quality of service (QoS) type traffic; 제 2 QoS 타입 트래픽 및 제 1 서비스 클래스(CoS) 타입 트래픽을 위한 제 2 큐와;A second queue for second QoS type traffic and first class of service (CoS) type traffic; 제 3 QoS 타입 트래픽 및 제 2 CoS 타입 트래픽을 위한 제 3 큐와;A third queue for third QoS type traffic and second CoS type traffic; 제 4 QoS 타입 트래픽을 위한 제 4 큐와; A fourth queue for fourth QoS type traffic; 제 5 QoS 타입 트래픽 및 제 3 CoS 타입 트래픽을 위한 제 5 큐와;A fifth queue for fifth QoS type traffic and third CoS type traffic; 상기 제 1 및 제 2 큐들을 위한 제 1 동적 스케줄러와;A first dynamic scheduler for the first and second queues; 상기 제 3 큐들을 위한 제 2 동적 스케줄러와; 그리고A second dynamic scheduler for the third queues; And 상기 제 4 및 제 5 큐들을 위한 선입선출(FIFO) 스케줄러를 포함하는 것을 특징으로 하는 네트워크 디바이스.A first-in first-out (FIFO) scheduler for the fourth and fifth queues. 제 10항에 있어서,The method of claim 10, 상기 제 1 QoS 타입 트래픽은 고정 비트율(CBR) 타입 트래픽을 포함하며,The first QoS type traffic includes fixed bit rate (CBR) type traffic, 상기 제 2 QoS 타입 트래픽은 가변 비트율 비-실시간(VBR-nrt) 타입 트래픽을 포함하며,The second QoS type traffic includes variable bit rate non-real time (VBR-nrt) type traffic, 상기 제 3 QoS 타입 트래픽은 가변 비트율 비-실시간(VBR-nrt) w/o 태그 타입 트래픽을 포함하며,The third QoS type traffic includes variable bit rate non-real time (VBR-nrt) w / o tag type traffic, 상기 제 4 QoS 타입 트래픽은 가변 비트율 비-실시간(VBR-nrt) w 태그 타입 트래픽을 포함하며, The fourth QoS type traffic includes variable bit rate non-real time (VBR-nrt) w tag type traffic, 상기 제 5 QoS 타입 트래픽은 비특정 비트율(UBR) 타입 트래픽을 포함하는 것을 특징으로 하는 네트워크 디바이스.And the fifth QoS type traffic comprises non-specific bit rate (UBR) type traffic. 제 10항 또는 제 11항에 있어서,The method according to claim 10 or 11, wherein 제 1 CoS 타입 트래픽은 Expedited Forwarding(EF) 타입 트래픽을 포함하며,The first CoS type traffic includes Expedited Forwarding (EF) type traffic, 제 2 CoS 타입 트래픽은 Assured Forwarding(AF) 타입 트래픽을 포함하며,The second CoS type traffic includes Assured Forwarding (AF) type traffic, 제 3 CoS 타입 트래픽은 Default Forwarding(DF) 타입 트래픽을 포함하는 것을 특징으로 하는 네트워크 디바이스.And the third CoS type traffic comprises Default Forwarding (DF) type traffic. 포트 속도(R1)를 갖는 논리 출력 포트로의 후속적인 전송을 위해 적어도 2개의 큐들에서의 적어도 2개의 트래픽 흐름들의 패킷 데이터 유닛들(PDU)의 데이터 블록들을 버퍼링하는 적어도 2개의 큐 버퍼들과;At least two queue buffers buffering data blocks of packet data units (PDUs) of at least two traffic flows in at least two queues for subsequent transmission to a logical output port having a port rate R1; 적어도 2개의 스케줄러들과, 여기서, 상기 큐들 중 적어도 하나는 각 스케줄러에 할당되며;At least two schedulers, where at least one of the queues is assigned to each scheduler; 또 하나의 데이터 블록을 상기 출력 포트에 송신할 준비가 된 때에, 전송될 트래픽 및 최고의 우선순위를 갖는 상기 스케줄러들 중 하나를 선택하는 메인 스케 줄링 제어와; Main scheduling control for selecting one of the schedulers having the highest priority and the traffic to be transmitted when ready to send another data block to the output port; 여기서, 상기 선택된 스케줄러는 상기 스케줄러에 할당된 상기 적어도 하나의 큐 사이에서 서비스될 후속 큐를 선택함과 아울러 상기 선택된 큐에서 대기하는 후속 PDU의 제 1 데이터 블록을 판독하며,Wherein the selected scheduler selects a subsequent queue to be serviced between the at least one queue assigned to the scheduler and reads a first data block of a subsequent PDU waiting in the selected queue, 상기 PDU의 길이 및 속도(R1/N)에 기반하여 상기 PDU의 제 1 데이터 블록에 대해 계산하는 계산 수단과, 여기서, N은 1과 일치하거나 더 큰 정수이며, 상기 큐 간격은 현재 PDU 이후에 상기 큐로부터 후속 데이터 블록들을 판독하기 이전에 스킵될 타임 슬롯들의 개수를 나타내며; 그리고 Calculation means for calculating on the first data block of the PDU based on the length and rate (R1 / N) of the PDU, where N is an integer equal to or greater than 1 and the queue interval is after the current PDU Indicate the number of time slots to be skipped before reading subsequent data blocks from the queue; And 기설정된 확률로, 바람직하게 대략 50%로 상기 계산된 큐 간격을 소정의 보다 짧은 또는 제로 큐 간격으로 랜덤으로 대체함으로써, 속도(R1)와 속도(R1/N) 사이에 유효 중간 큐 속도를 제공하는 대체 수단을 포함하는 것을 특징으로 하는 네트워크 디바이스.With a predetermined probability, preferably at approximately 50%, randomly replacing the calculated queue interval with a predetermined shorter or zero queue interval, thereby providing an effective intermediate queue rate between speed R1 and speed R1 / N. Network comprising a replacement means. 제 13항에 있어서,The method of claim 13, 제 1 서비스 품질(QoS) 타입 트래픽을 위한 제 1 큐와;A first queue for first quality of service (QoS) type traffic; 제 2 QoS 타입 트래픽과 제 1 서비스 클래스(CoS) 타입 트래픽을 위한 제 2 큐와; A second queue for second QoS type traffic and first class of service (CoS) type traffic; 제 3 QoS 타입 트래픽과 제 2 CoS 타입 트래픽을 위한 제 3 큐와;A third queue for third QoS type traffic and second CoS type traffic; 제 4 QoS 타입 트래픽을 위한 제 4 큐와;A fourth queue for fourth QoS type traffic; 제 5 QoS 타입 트래픽과 제 3 CoS 타입 트래픽을 위한 제 5 큐와;A fifth queue for fifth QoS type traffic and third CoS type traffic; 상기 제 1 및 제 2 큐들을 위한 제 1 동적 스케줄러와;A first dynamic scheduler for the first and second queues; 상기 제 3 큐를 위한 제 2 동적 스케줄러와; 그리고A second dynamic scheduler for the third queue; And 상기 제 4 및 제 5 큐들을 위한 선입선출(FIFO) 스케줄러를 포함하는 것을 특징으로 하는 네트워크 디바이스.A first-in first-out (FIFO) scheduler for the fourth and fifth queues. 제 14항에 있어서, The method of claim 14, 상기 제 1 QoS 타입 트래픽은 고정 비트율(CBR) 타입 트래픽을 포함하며,The first QoS type traffic includes fixed bit rate (CBR) type traffic, 상기 제 2 QoS 타입 트래픽은 가변 비트율 비-실시간(VBR-nrt) 타입 트래픽을 포함하며,The second QoS type traffic includes variable bit rate non-real time (VBR-nrt) type traffic, 상기 제 3 QoS 타입 트래픽은 가변 비트율 비-실시간(VBR-nrt) w/o 태그 타입 트래픽을 포함하며,The third QoS type traffic includes variable bit rate non-real time (VBR-nrt) w / o tag type traffic, 상기 제 4 QoS 타입 트래픽은 가변 비트율 비-실시간(VBR-nrt) w 태그 타입 트래픽을 포함하며, The fourth QoS type traffic includes variable bit rate non-real time (VBR-nrt) w tag type traffic, 상기 제 5 QoS 타입 트래픽은 비특정 비트율(UBR) 타입 트래픽을 포함하는 것을 특징으로 하는 네트워크 디바이스.And the fifth QoS type traffic comprises non-specific bit rate (UBR) type traffic. 제 14항 또는 제 15항에 있어서,The method according to claim 14 or 15, 제 1 CoS 타입 트래픽은 Expedited Forwarding(EF) 타입 트래픽을 포함하며,The first CoS type traffic includes Expedited Forwarding (EF) type traffic, 제 2 CoS 타입 트래픽은 Assured Forwarding(AF) 타입 트래픽을 포함하며,The second CoS type traffic includes Assured Forwarding (AF) type traffic, 제 3 CoS 타입 트래픽은 Default Forwarding(DF) 타입 트래픽을 포함하는 것 을 특징으로 하는 네트워크 디바이스.And the third CoS type traffic comprises Default Forwarding (DF) type traffic. 제 14항 내지 제 16항 중 어느 한 항에 있어서,The method according to any one of claims 14 to 16, 상기 스케줄러들 중 적어도 하나에 상기 계산 수단이 제공되며,The calculating means is provided in at least one of the schedulers, 상기 계산 수단은:The calculation means is: 상기 큐 속도 대 상기 포트 속도에 대해 제공된 유효 대역폭에 기반하여 기본 간격을 계산하는 수단과; 그리고Means for calculating a base interval based on the available bandwidth provided for the queue rate versus the port rate; And 상기 기본 간격과 상기 PDU 길이에 기초하여 상기 큐 간격을 계산하는 비트 쉬프팅 수단을 더 포함하는 것을 특징으로 하는 네트워크 디바이스.And bit shifting means for calculating the queue interval based on the basic interval and the PDU length. 제 14항 내지 제 17항 중 어느 한 항에 있어서, The method according to any one of claims 14 to 17, 50%의 확률로 상기 계산된 큐 간격을 소정의 보다 짧은 또는 제로 큐 간격으로 랜덤으로 대체함으로써, 속도(R1)와 속도(R1/N) 사이에 유효 중간 큐 속도를 제공하는 수단을 포함하는 것을 특징으로 하는 네트워크 디바이스.And means for providing an effective intermediate queue rate between rate R1 and rate R1 / N by randomly replacing the calculated queue interval with a predetermined shorter or zero queue interval with a 50% probability. Characterized by a network device. 제 6항 내지 제 18항 중 어느 한 항에 따른 네트워크 디바이스를 포함하는 디지털 가입자 라인 액세스 멀티플렉서.A digital subscriber line access multiplexer comprising a network device according to any one of claims 6 to 18. 제 1항 내지 제 6항 중 어느 한 항에 따른 단계들을 수행하도록 프로세서에서 실행되는 머신-판독가능 프로그램 코드를 포함하는 프로그램 물(product).A program product comprising machine-readable program code executed in a processor to perform the steps according to any of claims 1 to 6. 제 1항 내지 제 6항 중 어느 한 항에 따른 단계들을 수행하도록 프로세서에서 실행되는 프로그램 코드를 포함하는 머신-판독가능 데이터 기억 매체. A machine-readable data storage medium comprising program code executed in a processor to perform the steps according to any of claims 1 to 6.
KR1020067026561A 2004-06-15 2005-06-14 Network devices and traffic shaping methods KR100867451B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020067026561A KR100867451B1 (en) 2004-06-15 2005-06-14 Network devices and traffic shaping methods

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20045222 2004-06-15
KR1020067026561A KR100867451B1 (en) 2004-06-15 2005-06-14 Network devices and traffic shaping methods

Publications (2)

Publication Number Publication Date
KR20070023750A true KR20070023750A (en) 2007-02-28
KR100867451B1 KR100867451B1 (en) 2008-11-10

Family

ID=41647467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067026561A KR100867451B1 (en) 2004-06-15 2005-06-14 Network devices and traffic shaping methods

Country Status (1)

Country Link
KR (1) KR100867451B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10700937B2 (en) 2016-12-20 2020-06-30 Lsis Co., Ltd. Method for setting link speed of dual port switch

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950396B2 (en) * 2001-03-20 2005-09-27 Seabridge Ltd. Traffic control method and system
US7339890B2 (en) * 2002-02-01 2008-03-04 Broadcom Corporation Scalable, high-resolution asynchronous transfer mode traffic shaper and method
US7471688B2 (en) * 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10700937B2 (en) 2016-12-20 2020-06-30 Lsis Co., Ltd. Method for setting link speed of dual port switch

Also Published As

Publication number Publication date
KR100867451B1 (en) 2008-11-10

Similar Documents

Publication Publication Date Title
JP4611382B2 (en) Network device and traffic shaping method
US7596086B2 (en) Method of and apparatus for variable length data packet transmission with configurable adaptive output scheduling enabling transmission on the same transmission link(s) of differentiated services for various traffic types
Vegesna IP quality of service
US7523188B2 (en) System and method for remote traffic management in a communication network
JP4619584B2 (en) Method for scheduling packets at a router in a packet switched network
EP1527568B1 (en) Programmable scheduling for ip routers
US20070206602A1 (en) Methods, systems and apparatus for managing differentiated service classes
EP1250776A1 (en) Method and arrangements for congestion control in packet networks using thresholds and demoting of packet flows
CN1972248A (en) Network node with control plane processor overload protection
JP2014187421A (en) Communication device and packet scheduling method
JP4163044B2 (en) BAND CONTROL METHOD AND BAND CONTROL DEVICE THEREOF
CA2462793C (en) Distributed transmission of traffic streams in communication networks
US7116680B1 (en) Processor architecture and a method of processing
KR100867451B1 (en) Network devices and traffic shaping methods
Bechler et al. Traffic shaping in end systems attached to QoS-supporting networks
Ziviani et al. Evaluating the expedited forwarding of voice traffic in a differentiated services network
US20050195742A1 (en) Packet scheduler for access networks
US7376140B1 (en) System and method for assignment of ATM virtual circuits to queues in a DSLAM
Vila-Carbó et al. Analysis of switched Ethernet for real-time transmission
JP4391346B2 (en) COMMUNICATION CONTROL METHOD, COMMUNICATION CONTROL DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM
Tsou et al. Design and simulation of an efficient real-time traffic scheduler with jitter and delay guarantees
F AL-Allaf et al. Simevents/Stateflow base Reconfigurable Scheduler in IP Internet Router
Martinez et al. Deadline-based QoS algorithms for high-performance networks
Bayle et al. Supporting real-time IP traffic with enhanced service classes in DiffServ networks
Mabe QoS scheduling in integrated services packet-switching networks

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
LAPS Lapse due to unpaid annual fee