KR20150048652A - 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법 - Google Patents

서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법 Download PDF

Info

Publication number
KR20150048652A
KR20150048652A KR1020140147076A KR20140147076A KR20150048652A KR 20150048652 A KR20150048652 A KR 20150048652A KR 1020140147076 A KR1020140147076 A KR 1020140147076A KR 20140147076 A KR20140147076 A KR 20140147076A KR 20150048652 A KR20150048652 A KR 20150048652A
Authority
KR
South Korea
Prior art keywords
queue
service
traffic
qos
network device
Prior art date
Application number
KR1020140147076A
Other languages
English (en)
Other versions
KR101877595B1 (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 주식회사 케이티
Priority to US15/032,707 priority Critical patent/US20160323189A1/en
Priority to PCT/KR2014/010169 priority patent/WO2015065003A1/ko
Publication of KR20150048652A publication Critical patent/KR20150048652A/ko
Application granted granted Critical
Publication of KR101877595B1 publication Critical patent/KR101877595B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • 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/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Landscapes

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

Abstract

소프트웨어 정의 네트워킹 환경에서 서비스 별 트래픽 처리를 통한 QoS 제어 방법이 개시된다. 컨트롤러가 QoS를 제어하는 방법은, 네트워크 장치의 출력 포트에 설정되는 적어도 하나의 큐(Queue)에 대한 추가, 삭제 및 변경 중 적어도 하나의 수행을 위한 큐의 설정 변경을 결정하는 단계와; 결정된 큐의 설정 변경에 대한 정보를 포함하는 큐 상태 변경 메시지를 네트워크 장치로 전송하여 큐의 설정 변경을 수행시키는 단계를 포함한다. 따라서, 다양한 서비스들을 트래픽 특성에 따라 차별화하여 처리해 줌으로써 서비스 별 품질을 만족시켜 주면서 네트워크 자원을 효율적으로 사용할 수 있도록 한다.

Description

서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법{METHOD FOR CONTROLLING QoS USING TRAFFIC PROCESSING BASED ON SERVICE}
본 발명은 QoS 제어에 관한 것으로, 더욱 상세하게는 소프트웨어 정의 네트워킹 환경에서 서비스 별 트래픽 처리를 통한 QoS 제어 방법에 관한 것이다.
최근 들어, 스위치의 트래픽 포워딩 기능과 스위치의 제어 기능을 분리하여 통신 시스템을 효율적으로 운용하는 기술에 대한 표준화가 ONF(Open Networking Foundation), IETF(Internet Engineering Task Force), ETSI(European Telecommunications Standards Institute) ISG NFV(Network Function Virtualization) 및 ITU-T(International Telecommunications Union Telecommunication) 등을 중심으로 진행되고 있다.
소프트웨어 정의 네트워킹(SDN: Software Defined Network)은 라우터나 스위치 등의 기본 네트워크 장치에 관계없이 사용자가 통제 권한을 가지며, 별도의 소프트웨어 컨트롤러가 트래픽 흐름을 제어하는 사용자 중심의 네트워크를 의미한다.
SDN의 기술 중의 하나인 OpenFlow 기술 표준화를 추진하고 있는 표준화 단체들 중 ONF(Open Networking Foundation)는 하드웨어(스위치)와 컨트롤러(Network OS) 사이를 연결하는 인터페이스를 정의하고 있다. 이는 네트워크를 통해 데이터 패킷을 어떻게 전달할 것인지 제어하기 위한 기능(Control Plane)을 물리적 네트워크와 분리하여 데이터 전달 기능(Data Plane)과 상호작용 하기 위한 프로토콜이다.
한편, 인터넷에서는 음성, 영상, 데이터, 유선, 무선 등 다양한 서비스들이 단일 네트워크로 통합되면서, 이들의 개별적인 특성에 맞는 서비스 품질을 보장하면서도 네트워크 자원을 효율적으로 사용할 수 있는 기법들이 매우 중요해졌다.
이에 따라 기존의 스위치에는 서비스들의 특성에 따라 트래픽을 차별적으로 처리해주기 위한 여러 가지 QoS 제어 방법들이 개발되어 사용되고 있으나, 현재의 ONF OpenFlow 표준안에는 기본적인 QoS 제어 방법들만 정의되어 있어서 다양한 특성을 갖는 서비스를 위한 트래픽들에 대해 효율적으로 QoS(Quality of Service)를 제어하기 어려운 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, SDN 환경에서의 QoS 제어 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은, 서비스에 따른 트래픽 처리를 위해 큐를 추가 또는 삭제하는 방법과 큐 통계 및 네트워크 종류에 따른 트래픽 처리를 이용한 QoS 제어 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 컨트롤러가 QoS를 제어하는 방법은, 네트워크 장치의 출력 포트에 설정되는 적어도 하나의 큐(Queue)에 대한 추가, 삭제 및 변경 중 적어도 하나의 수행을 위한 큐의 설정 변경을 결정하는 단계와; 결정된 큐의 설정 변경에 대한 정보를 포함하는 큐 상태 변경 메시지를 네트워크 장치로 전송하여 큐의 설정 변경을 수행시키는 단계를 포함한다.
여기에서, 상기 큐의 설정 변경을 결정하는 단계는, 서비스 요구사항 또는 QoS 정책 변경에 기반하여 큐의 설정 변경을 결정할 수 있다.
여기에서, 상기 방법은, 네트워크 장치의 출력 포트에 설정된 적어도 하나의 큐(Queue)에 대한 큐 특성 정보를 수신하는 단계와; 큐 특성 정보에 기반하여 서비스와 적어도 하나의 큐 사이를 매핑하는 플로우 엔트리(Flow entry)를 생성하는 단계와; 생성된 플로우 엔트리에 따라 서비스 별로 트래픽을 처리하도록 네트워크 장치를 제어하는 단계를 더 포함할 수 있다.
여기에서, 상기 큐 특성 정보를 수신하는 단계는, 큐 특성 정보를 포함한 큐 상태 메시지를 네트워크 장치로부터 수신할 수 있다.
여기에서, 상기 플로우 엔트리를 생성하는 단계는, Priority 큐 및 적어도 하나의 Weighted Round Robin(WRR) 큐로 구분하여 설정된 적어도 하나의 큐에 서비스 별 우선 순위에 기반하여 서비스를 각각 매핑할 수 있다.
여기에서, 상기 플로우 엔트리를 생성하는 단계는, 가장 높은 순위의 서비스를 위한 트래픽이 Priority 큐에 할당되도록 매핑하고, 다음 순위의 서비스들을 위한 트래픽이 적어도 하나의 WRR 큐에 순차적으로 할당되도록 매핑할 수 있다.
여기에서, 상기 플로우 엔트리를 생성하는 단계는, 가장 높은 순위의 서비스를 위한 트래픽을 처리하고 남은 트래픽의 범위에서 적어도 하나의 WRR 큐 각각에 적용된 가중치에 기반하여 다음 순위의 서비스들을 위한 트래픽이 순차적으로 할당되도록 매핑할 수 있다.
여기에서, 상기 플로우 엔트리를 생성하는 단계는, 적어도 하나의 중요 서버로 할당되는 트래픽을 서로 다른 WRR 큐에 매핑할 수 있다.
여기에서, 상기 네트워크 장치를 제어하는 단계는, 생성된 플로우 엔트리를 포함하는 플로우 테이블 변경 메시지를 네트워크 장치로 전송하는 단계와; 플로우 테이블 변경 메시지를 이용하여 네트워크 장치의 플로우 테이블을 업데이트시키는 단계와; 업데이트된 플로우 테이블에 기반하여 서비스 별로 트래픽을 처리하도록 상기 네트워크 장치를 제어하는 단계를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법은, 컨트롤러가 QoS를 제어하는 방법에 있어서, 네트워크 장치로부터 네트워크 장치의 출력 포트에 의해 지원 가능한 큐(Queue)에 대한 정보를 포함하는 큐 설정 정보 메시지를 수신하는 단계와; 큐 설정 정보 메시지 및 QoS 정책에 기반하여 서비스와 적어도 하나의 큐 사이를 매핑하는 단계와; 서비스와 적어도 하나의 큐 사이의 매핑 관계에 기반하여 적어도 하나의 큐를 설정하도록 큐 상태 변경 메시지를 상기 네트워크 장치로 전송하는 단계를 포함한다.
여기에서, 상기 서비스와 적어도 하나의 큐 사이를 매핑하는 단계는, 적어도 하나의 큐 각각을 Priority 큐 또는 적어도 하나의 Weighted Round Robin(WRR) 큐로 설정하는 단계와; 적어도 하나의 큐에 서비스 별 우선 순위에 기반하여 서비스를 각각 매핑하는 단계를 포함할 수 있다.
여기에서, 상기 적어도 하나의 큐에 서비스 별 우선 순위에 기반하여 서비스를 각각 매핑하는 단계는, 가장 높은 순위의 서비스를 위한 트래픽이 Priority 큐에 할당되도록 매핑하고, 다음 순위의 서비스들을 위한 트래픽이 적어도 하나의 WRR 큐에 순차적으로 할당되도록 매핑할 수 있다.
여기에서, 상기 적어도 하나의 큐에 서비스 별 우선 순위에 기반하여 서비스를 각각 매핑하는 단계는, 가장 높은 순위의 서비스를 위한 트래픽을 처리하고 남은 트래픽의 범위에서 적어도 하나의 WRR 큐 각각에 적용된 가중치에 기반하여 다음 순위의 서비스들을 위한 트래픽이 순차적으로 할당되도록 매핑할 수 있다.
여기에서, 상기 큐 상태 변경 메시지는, 네트워크 장치의 출력 포트에 큐가 추가 또는 삭제되도록 하는 명령을 포함할 수 있다.
여기에서, 상기 방법은, 네트워크 장치로부터 손실 패킷에 대한 정보를 수신하여 패킷 손실률을 계산하는 단계와; 패킷 손실률에 기반하여 적어도 하나의 WRR 큐 각각에 적용되는 가중치를 변경시키는 단계를 더 포함할 수 있다.
여기에서, 상기 적어도 하나의 WRR 큐 각각에 적용되는 가중치를 변경시키는 단계는, 큐 상태 변경 메시지에 가중치 변경을 위한 명령을 포함시켜 네트워크 장치로 전송함으로써 수행할 수 있다.
여기에서, 상기 방법은, 큐 상태 변경 메시지에 기반하여 설정된 적어도 하나의 큐에 대한 큐 특성 정보를 포함하는 큐 상태 메시지를 수신하는 단계와; 큐 특성 정보에 기반하여 서비스와 적어도 하나의 큐 사이를 매핑하는 플로우 엔트리(Flow entry)를 생성하는 단계와; 생성된 플로우 엔트리에 따라 서비스 별로 트래픽을 처리하도록 네트워크 장치를 제어하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법은, 네트워크 장치가 QoS를 제어하는 방법에 있어서, 네트워크 장치의 출력 포트에 의해 지원 가능한 큐(Queue)에 대한 정보를 포함하는 큐 설정 정보 메시지를 컨트롤러로 전송하는 단계와; 큐 설정 정보 메시지 및 QoS 정책에 기반하여 컨트롤러에 의해 생성된 큐 상태 변경 메시지를 수신하는 단계와; 큐 상태 변경 메시지에 따라 적어도 하나의 큐를 출력 포트에 설정하는 단계를 포함한다.
여기에서, 상기 큐 상태 변경 메시지는, 큐 설정 정보 메시지 및 QoS 정책에 기반하여 서비스와 적어도 하나의 큐 사이를 매핑하여 컨트롤러가 생성한 정보를 포함할 수 있다.
여기에서, 상기 큐 상태 변경 메시지는, 큐 설정 정보 메시지 및 QoS 정책에 기반한 네트워크 종류 별 우선 순위에 따라 네트워크와 적어도 하나의 큐 사이를 매핑하여 상기 컨트롤러가 생성한 정보를 포함할 수 있다.
여기에서, 상기 출력 포트에 설정하는 단계는, 가장 높은 순위의 서비스를 위한 트래픽이 Priority 큐에 할당되도록 설정하고, 다음 순위의 서비스들을 위한 트래픽이 적어도 하나의 WRR 큐에 순차적으로 할당되도록 설정할 수 있다.
여기에서, 상기 출력 포트에 설정하는 단계는, 가장 높은 순위의 서비스를 위한 트래픽을 처리하고 남은 트래픽의 범위에서 적어도 하나의 WRR 큐 각각에 적용된 가중치에 기반하여 다음 순위의 서비스들을 위한 트래픽이 순차적으로 할당되도록 설정할 수 있다.
상기와 같은 본 발명에 따른 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법은, 다양한 서비스들을 트래픽 특성에 따라 차별화하여 처리해 줌으로써 서비스 별 품질을 만족시켜 주면서 네트워크 자원을 효율적으로 사용할 수 있도록 한다.
또한, 컨트롤러가 스위치의 큐 상태를 실시간으로 정확히 파악하여 적합한 QoS 제어 명령을 스위치에 내려줄 수 있도록 할 수 있다.
도 1은 본 발명의 실시예에 따라 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법을 수행하는 컨트롤러와 네트워크 장치의 구성을 설명하기 위한 블록도이다.
도 2는 본 발명의 실시예에 따른 Priority 큐와 Weighted Round Robin 큐를 설명하기 위한 개념도이다.
도 3은 본 발명의 실시예에 따라 서비스 별로 큐를 매핑하여 QoS를 제어하는 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 실시예에 따른 큐 상태 메시지를 설명하기 위한 예시도이다.
도 5는 본 발명의 실시예에 따라 큐 상태 변경을 통하여 QoS를 제어하는 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 실시예에 따라 큐를 추가하는 절차를 설명하기 위한 순서도이다.
도 7은 본 발명의 실시예에 따라 큐를 삭제하는 방법을 절차를 설명하기 위한 순서도이다.
도 8은 본 발명의 실시예에 따라 손실 패킷률에 기반하여 큐 특성을 변경하는 절차를 설명하기 위한 순서도이다.
도 9는 본 발명의 실시예에 따라 중요 서버로 할당되는 트래픽을 서로 다른 큐에 매핑하는 절차를 설명하기 위한 순서도이다.
도 10은 본 발명의 실시예에 따라 네트워크 종류 별로 큐를 매핑하여 QoS를 제어하는 방법을 설명하기 위한 순서도이다.
도 11은 본 발명의 실시예에 따라 네트워크 종류 별로 큐를 매핑한 경우를 설명하기 위한 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에서 언급되는 컨트롤러는 통합 SDN 컨트롤러(Unified SDN controller)로, 트래픽의 흐름을 제어하기 위해 관련 구성 요소(예를 들면, 스위치, 라우터 등)를 제어하는 기능 요소(entity)를 의미할 수 있다.
또한, 컨트롤러는 물리적인 구현 형태나 구현 위치 등에 의해 한정되지 않는다. 예를 들어, 컨트롤러는 ONF(OpenFlow), IETF(Internet Engineering Task Force), ETSI(European Telecommunication Standards Institute) 및/또는 ITU-T(International Telecommunication Union Telecommunication) 등에서 정의하고 있는 컨트롤러 기능 요소(entity)를 의미할 수 있다.
본 발명에서 언급되는 네트워크 장치는 '스위치(switch)' 또는 '라우터(router)'와 같이 트래픽(또는 패킷)을 실질적으로 포워딩하거나 스위칭 또는 라우팅하는 기능 요소를 의미할 수 있다. 따라서, 본 발명에서 네트워트 장치는 스위치 또는 라우터로 명명될 수 있다.
예를 들어, 네트워크 장치는 ONF, IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 스위치, 라우터, 스위치 요소(Switching Element), 라우터 요소(Routing Element), 포워딩 요소(Forwarding Element) 등을 의미할 수 있다.
본 발명의 실시예들에서는 오픈플로우 스위치에서 QoS 제어를 위한 동작 과정에서 ONF에서 정의된 파라미터 및/또는 메시지 형태(예를 들면, Flow table entry)를 이용하는 것으로 예를 들어 도시하였으나, 본 발명의 기술적 사상이 ONF에 정의된 내용으로만 한정되는 것은 아니며 컨트롤러와 스위치간 QoS 제어 명령을 전달하는 과정에서 컨트롤러와 스위치를 구분할 수 있는 다양한 파라미터를 이용할 수 있고, QoS 제어를 위한 동작 과정에서 사용되는 메시지들도 후술하는 특정 메시지에 한정되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따라 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법을 수행하는 컨트롤러와 네트워크 장치의 구성을 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법은 컨트롤러와 스위치가 연동하여 수행할 수 있다.
먼저, 본 발명의 실시예에 따른 컨트롤러(100)는 QoS 정책 관리부(110), 스위치 제어부(120), 플로우 테이블 관리부(130) 및 스위치 연동 처리부(140)를 포함한다.
QoS 정책 관리부(110)는 컨트롤러(100)가 관리하는 도메인에 대한 QoS 정책을 관리할 수 있다.
스위치 제어부(120)는 스위치 연동 처리부(140)를 통하여 컨트롤러(100)와 통신하는 스위치(200)를 제어할 수 있다. 예를 들어, 스위치 제어부(120)는 QoS 정책 관리부(110)가 관리하는 QoS 정책에 기반하여 플로우 엔트리(Flow entry)의 추가, 수정 및 삭제 등을 위한 제어 명령을 생성할 수 있고, 제어 명령을 이용하여 스위치(200)를 제어할 수 있다.
플로우 테이블 관리부(130)는 플로우 테이블(Flow table)을 동기화하기 위한 파라미터와 플로우 테이블을 저장하고 관리할 수 있다.
스위치 연동 처리부(140)는 스위치(200)와 컨트롤러(100)가 통신할 수 있도록 프로토콜을 처리할 수 있다.
다음으로, 본 발명의 실시예에 따른 스위치(200)는 Qos 제어부(210), 스위치 제어부(220), 플로우 테이블 관리부(230) 및 컨트롤러 연동 처리부(240)를 포함한다.
QoS 제어부(210)는 출력 포트로 전달된 패킷에 대해 실제로 QoS 제어를 수행할 수 있다.
스위치 제어부(220)는 출력 포트에 대한 큐 특성 설정 등과 같은 스위치에 대한 제어를 실행할 수 있다. 또한, 스위치 제어부(220)는 컨트롤러(100)로부터 제어 명령을 수신하여 실행할 수 있다.
플로우 테이블 관리부(230)는 컨트롤러(100)로부터 전달받은 플로우 테이블을 관리할 수 있다. 즉, 플로우 테이블 관리부(230)는 스위치에 대한 플로우 테이블을 동기화하기 위한 파라미터와 플로우 테이블을 저장하고 관리할 수 있다.
컨트롤러 연동 처리부(240)는 컨트롤러(100)와 스위치(200)가 통신할 수 있도록 프로토콜을 처리한다.
도 2는 본 발명의 실시예에 따른 Priority 큐와 Weighted Round Robin 큐를 설명하기 위한 개념도이다.
도 2를 참조하면, 네트워크 장치의 출력 포트에는 적어도 하나의 큐(Queue)가 설정될 수 있다.
네트워크 장치의 출력 포트에 4개의 큐가 있는 경우를 예로 들어 보다 상세히 설명하면 다음과 같다.
네트워크 장치의 출력 포트에 4개의 큐가 있는 경우에 하나의 큐는 Priority 큐로 사용하고, 나머지 3개의 큐는 Weighted Round Robin(WRR) 큐로 사용하도록 할당하는 것에 대한 예시이다.
서비스 트래픽은 그 특성에 따라 우선 순위를 Gold, Silver, Bronze, Best effort(BE)로 나눌 수 있다.
Gold 트래픽은 Priority 큐에 할당되며 가장 높은 순위로 처리될 수 있다. 즉, 패킷이 Priority 큐에 있으면 다른 큐에 패킷이 있더라도 항상 먼저 처리될 수 있다.
Silver 트래픽은 Gold 트래픽 다음의 우선 순위를 갖는다. 그러나 모든 Silver 트래픽이 다른 Bronze 또는 Best effort 트래픽 보다 항상 먼저 처리되는 것은 아니고, 할당된 가중치(weight)만큼 처리되고 다음으로 Bronze 트래픽이 처리될 수 있다.
Bronze 트래픽도 할당된 가중치(weight)만큼 처리되고 다음으로 Best effort 트래픽이 처리될 수 있다.
예를 들어, Silver 트래픽은 Gold 트래픽이 사용하고 남은 대역의 50%를 사용할 수 있고, Bronze 트래픽은 Gold 트래픽이 사용하고 남은 대역의 30%를 사용할 수 있으며, Best effort 트래픽은 Gold 트래픽이 사용하고 남은 대역의 20%를 사용하도록 설정될 수 있다. 따라서, Silver 트래픽은 Bronze 트래픽에 비해 우선 순위가 높게 처리되고, Bronze 트래픽은 Best effort 트래픽에 비해 우선 순위가 높게 처리될 수 있다.
도 3은 본 발명의 실시예에 따라 서비스 별로 큐를 매핑하여 QoS를 제어하는 방법을 설명하기 위한 순서도이다.
도 3을 참조하면, 스위치는 CLI(Command Line Interface)나 configuration protocol을 이용하여 출력 포트 x에 대한 큐 특성(property)을 설정할 수 있다(S310).
보다 상세하게는, 스위치는 출력 포트 x에 대해 4개의 큐를 설정하고, 그 중 하나의 큐(Q1)를 Priority 큐로, 나머지 3개의 큐(Q2, Q3, Q4)를 WRR(Weighted Round Robin) 큐로 설정할 수 있다. 다만, 스위치가 출력 포트 x에 대해 큐를 4개 설정하는 것으로 예를 들어 설명하나, 스위치에서 제공 가능한 기능이나 성능에 따라 출력 포트에 설정할 수 있는 큐의 개수는 달라질 수 있고, 그에 따라 WRR 로 설정할 수 있는 큐의 개수도 3개 이상일 수 있다.
WRR로 설정된 3개의 큐(Q2, Q3, Q4)에 대해 가중치(weight)가 각각 w1%(Q2), w2%(Q3), w3%(Q4) 로 설정될 수 있다.
예를 들어, Q2에는 높은 가중치를 설정하고, Q3에는 중간 가중치를 설정하며, Q4에는 낮은 가중치를 설정할 수 있다.
스위치는 출력 포트 x에 대해 큐 특성을 새로 설정하거나, 기존에 설정된 큐 특성의 파라미터 값이 변경된 경우에는 이를 즉시 큐 상태 메시지를 통해서 컨트롤러에게 알려줄 수 있다(S320).
큐 상태 메시지는 큐 상태 변경이 발생한 출력 포트 x, 큐 리스트 및 큐 리스트에 포함된 큐에 대한 큐 특성 값들과 같은 큐 특성 정보를 포함할 수 있다. 여기서, 큐 특성 값은 해당 큐가 Priority 큐인지 WRR 큐인지 여부에 대한 정보 및 WRR 큐인 경우 가중치(weight)에 대한 정보를 포함할 수 있다.
컨트롤러는 스위치로부터 큐 상태 메시지를 수신하여 큐 특성 정보로부터 각각의 큐에 대한 특징을 알 수 있기 때문에 서비스 특성 별로 플루우(Flow)들을 어떤 큐에 할당할지 정해주기 위한 서비스 별 큐 매핑 테이블을 구성할 수 있다(S330).
서비스 별 어떤 큐에 할당할지는 네트워크 운용정책에 따라 서비스 별 중요도와 패킷의 지연이나 손실 등에 대한 민감도를 고려하여 QoS 정책을 수립해서 결정한다.
예를 들어, BcN(Broadband convergence Network) 서비스나 라우팅 프로토콜에 사용되는 매우 중요한 패킷들은 Gold 서비스로 정하여 Q1 큐에 할당하고, VoIP나 IPTV 서비스와 같이 중요한 패킷들은 Silver 서비스로 정하여 Q2 큐에 할당할 수 있다.
또한, VoD나 VPN 서비스와 같은 패킷들은 Bronze 서비스로 정하여 Q3 큐에 할당하고, 일반 인터넷 서비스는 Best effort 서비스로 정하여 Q4 큐에 할당할 수 있다.
컨트롤러는 서비스 별 큐 매핑 테이블을 구성하고 나면, 실제 서비스 별 플로우가 해당 큐에 매핑될 수 있도록 플로우 엔트리(Flow entry)를 구성 또는 생성할 수 있다(S340).
플로우 엔트리(Flow entry)는 플로우를 구분하기 위한 Match field와 해당 플로우 패킷에 대해 어떤 action을 수행할 지 나타내는 Action field로 나누질 수 있다.
예를 들어, 컨트롤러는 BcN이나 라우팅 프로토콜 패킷에 해당되는 Flow 1 은 Q1으로 보내고, VoIP나 실시간 IPTV 패킷에 해당되는 Flow 2는 Q2로 보내고, VoD나 VPN 패킷에 해당되는 Flow 3는 Q3로 보내며, 일반 인터넷 패킷에 해당되는 Flow 4는 Q4로 보내라는 명령을 스위치로 내려 보내기 위한 플로우 엔트리를 구성할 수 있다.
컨트롤러는 플로우 엔트리를 생성한 후에, 이들을 플로우 테이블 변경 메시지에 담아서 스위치로 전송할 수 있다(S350).
스위치는 컨트롤러로부터 플로우 테이블 변경 메시지를 수신하여 그 안에 포함된 플로우 엔트리 리스트(Flow entry list)를 이용하여 스위치의 플로우 테이블을 업데이트시킬 수 있다(S360).
따라서, 해당 플로우에 매칭되는 패킷이 들어오면 action field 에 설정된 action 내용에 따라 해당 출력 포트의 해당 큐로 전송하여 큐 특성에 따른 QoS 제어를 수행할 수 있다. 즉, 스위치는 서비스 별로 플로우들을 서로 다른 큐에 할당(예를 들어, Priority 큐 또는 WRR 큐)하여 QoS 제어를 수행할 수 있다(S370).
도 4는 본 발명의 실시예에 따른 큐 상태 메시지를 설명하기 위한 예시도이다.
도 4를 참조하여, 스위치가 컨트롤러로 전송하는 큐 상태 메시지를 예를 들어 설명하면 다음과 같다.
출력 포트 x에는 4개의 큐가 할당되었으며, 그 중에 Q1은 특성(property)을 Priorty Q로 할당하고 value를 Null로 할당할 수 있다.
Q2는 특성(property)을 WRR로 할당하고 value를 50 %로 할당할 수 있고, Q3는 특성(property)을 WRR로 할당하고 value를 30 %로 할당할 수 있으며, Q4는 특성(property)을 WRR로 할당하고 value를 20 %로 할당할 수 있다.
또한, WRR 방식에서 각각의 큐에 할당되는 value는 서비스 별로 우선 순위와 트래픽 양을 예측하여 정할 수 있으며, 운용 중에도 트래픽을 주기적으로 수집하여 value를 변경할 수 있다.
도 5는 본 발명의 실시예에 따라 큐 상태 변경을 통하여 QoS를 제어하는 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 컨트롤러는 큐 상태 변경 메시지를 스위치에 전송하여 QoS를 제어할 수 있다.
상세하게는, 컨트롤러가 스위치의 출력 포트 x의 큐 상태를 변경(예를 들어, Add/Modify/Delete)하기 위해서는 출력 포트 x에 설정할 수 있는 큐의 최대 개수 또는 지원 가능한 큐 특성과 같은 설정 정보를 알고 있어야 한다.
컨트롤러는 스위치의 큐 설정 정보를 알기 위해 큐 설정 정보 요청 메시지를 스위치로 전송할 수 있다(S510). 이때 출력 포트 파라미터를 x로 설정하면, 스위치는 출력 포트 x에 대한 큐 설정 정보 메시지를 컨트롤러로 전송할 수 있다(S520). 여기서, 큐 설정 정보 메시지는 출력 포트 x에 설정할 수 있는 큐의 최대 개수 또는 지원 가능한 큐 특성과 같은 설정 정보를 포함할 수 있다.
또한, 출력 포트 파라미터를 x 대신에 'ANY'를 설정하면, 스위치가 가지고 있는 모든 출력 포트에 대한 큐 설정 정보를 보내달라는 의미일 수 있다.
상세하게는, 스위치는 큐 설정 정보 요청 메시지를 수신하여 출력 포트 x에 대해 최대로 설정할 수 있는 큐 개수와 지원 가능한 큐 특성과 같은 설정 정보를 큐 설정 정보 메시지에 포함시켜 컨트롤러로 전송할 수 있다.
마찬가지로, 큐 설정 정보 요청 메시지에 출력 포트 파라미터가 'ANY'로 설정되어 있으면, 스위치는 모든 출력 포트에 대한 최대 큐 개수와 지원 가능한 큐 특성과 같은 설정 정보를 리스트 형태로 구성하여 컨트롤러로 전송할 수 있다.
스위치에 따라서는 모든 출력 포트에 대해 설정할 수 있는 최대 큐 개수와 지원 가능한 큐 특성과 같은 설정 정보가 동일할 수도 있다. 이러한 스위치의 경우에는 출력 포트 파라미터에 'ANY'를 사용하고 최대 큐 개수와 지원 가능한 큐 특성과 같은 설정 정보를 하나로 보내줄 수 있다.
컨트롤러는 큐 설정 정보 메시지를 받은 후에 QoS 정책에 따라 해당 큐들을 어떤 서비스에 매핑할지 결정할 수 있다(S530).
스위치는 출력 포트 x에 대해 4개의 큐를 설정하고, 그 중 하나의 큐(Q1)를 Priority 큐로, 나머지 3개의 큐(Q2, Q3, Q4)를 WRR(Weighted Round Robin) 큐로 설정할 수 있다.
예를 들어, 컨트롤러는 BcN 서비스나 라우팅 프로토콜에 사용되는 매우 중요한 패킷들은 Gold 서비스 매핑하여 Q1 큐에 할당하고, VoIP나 IPTV 서비스와 같이 중요한 패킷들은 Silver 서비스로 매핑하여 WRR 큐 중에서도 높은 가중치(weight)를 갖는 Q2 큐에 할당할 수 있다.
또한, VoD나 VPN 서비스와 같은 패킷들은 Bronze 서비스로 매핑하여 WRR 큐 중에서 중간 가중치를 갖는 Q3 큐에 할당하고, 일반 인터넷 서비스는 Best effort 서비스로 매핑하여 WRR 큐 중에서 낮은 가중치를 갖는 Q4 큐에 할당할 수 있다.
컨트롤러는 QoS 정책에 따른 서비스 별 큐 매핑을 수행하고 난 후, 이를 스위치에 반영하기 위하여 큐 상태 변경 메시지를 스위치로 전송할 수 있다(S540).
큐 상태 변경 메시지는 출력 포트 파라미터로 출력 포트 x, 명령(command), 큐 리스트 및 각각의 큐에 대한 특성(property) 정보를 포함할 수 있다. 여기서, 명령(command)는 큐를 추가(ADD)하거나, 삭제(DELETE)하거나 변경(MODIFY) 하라는 명령을 나타낼 수 있다. 또한, 큐 특성 정보는 도 4의 도시된 테이블을 참조하여 이해할 수 있다.
스위치는 컨트롤러로부터 큐 상태 변경 메시지를 수신하여 출력 포트 x에 대한 큐 특성을 설정할 수 있다(S550).
예를 들어, 스위치는 출력 포트 x에 대해 하나의 큐(Q1)는 Priority Q로 나머지 3개의 큐(Q2, Q3, Q4)는 WRR(Weighted Round Robin) 큐로 설정하고, Q2, Q3, Q4의 가중치(weight)를 각각 w1%, w2%, w3%로 설정할 수 있다.
출력 포트 x에 대한 큐 특성에 대한 설정이 끝나면 스위치는 큐 상태 메시지를 컨트롤러로 전송할 수 있다(S560). 여기서, 큐 상태 메시지는 출력 포트 x, 큐 리스트 및 큐 특성 값 등을 포함할 수 있다.
컨트롤러는 스위치로부터 큐 상태 메시지를 수신한 후에 QoS 제어를 위한 플로우 엔트리를 생성할 수 있고(S570), 생성된 플로우 엔트리를 플로우 테이블 변경 메시지에 실어서 스위치로 전송할 수 있다(S580).
따라서, 플로우 테이블 변경 메시지를 수신한 스위치는 플로우 테이블(Flow table)을 업데이트하고(S590), 실제 패킷에 대하여 QoS 제어를 실행할 수 있다(S593)
도 6은 본 발명의 실시예에 따라 큐를 추가하는 절차를 설명하기 위한 순서도이다.
도 6을 참조하면, 컨트롤러는 스위치에 'ADD' 명령을 전송을 하여 해당 출력 포트에 큐를 추가할 수 있다.
스위치의 출력 포트 x에 큐가 Q1 하나만 할당되어 있고, Q1의 특성(property)은 BE(Best Effort)로 할당되어 있는 경우를 예를 들어 설명한다.
이러한 경우, 출력 포트 x로 들어오는 모든 패킷들은 Q1을 통하여 동일하게 처리된다.
컨트롤러는 서비스 시스템의 요청이나 QoS 정책의 변경에 따라 스위치에 새로운 큐 특성을 갖는 큐를 추가할 수 있다.
예를 들어, 특정한 목적지로 가는 트래픽은 최소 어느 정도의 대역폭을 보장해 주어야 한다는 요구사항이 서비스 시스템이나 QoS 정책으로부터 요청되면 기존 스위치에 설정된 Q1 하나만으로는 이러한 요구사항을 처리해 줄 수 없기 때문에 새로운 특성을 갖는 큐의 추가가 필요하다.
도 6에 따르면, 컨트롤러는 QoS 정책에 따라 출력 포트 x에 Q2를 추가하기로 결정하고, Q2의 특성에 따른 대역폭은 min_rate=a 와 max_rate=b 로 할당할 수 있다(S610).
즉, Q2는 트래픽에 대해 최소 대역폭 a bps(kbps, Mbps) (예를 들어, 출력 포트 x가 1Gbps 포트이면, 최소 대역폭은 a × 10Mbps)를 보장하면서, 최대 대역폭은 b bps(kbps, Mbps) (예를 들어, 출력 포트 x가 1Gbps 포트이면, 최대 대역폭은 b × 10Mbps)까지로 제한하는 것을 의미할 수 있다.
컨트롤러는 큐 상태 변경 메시지를 스위치로 전송할 수 있다(S620). 여기서, 큐 상태 변경 메시지는 출력 포트 x, 새로운 큐를 ADD하라는 명령(command), 추가하는 큐의 id 및 추가하는 큐에 대한 특성(property) 정보 등과 같은 파라미터를 포함할 수 있다. 따라서, 새로운 큐를 추가(ADD)하라는 명령을 포함하는 큐 상태 변경 메시지를 이용하여 출력 포트 x에 Q2를 추가하고, Q2의 특성으로 최소 대역폭(min_rate)이 출력 포트 x의 최대 전송속도의 a% 이고, 최대 대역폭(max_rate)이 출력 포트 x의 최대 전송속도의 b% 가 되도록 설정할 수 있다.
보다 상세하게는, 스위치는 컨트롤러로부터 큐 상태 변경 메시지를 수신한 후에 출력 포트 x에 Q2를 추가로 설정할 수 있다(S630). 예를 들어, 출력 포트 x에는 두 개의 큐(Q1, Q2)가 설정될 수 있다.
출력 포트 x에 대한 새로운 큐(Q2) 설정이 끝나면, 스위치는 큐 상태 메시지를 컨트롤러로 전송할 수 있다(S640). 여기서, 큐 상태 메시지는 출력 포트 x, 큐 리스트(Q1, Q2) 및 큐 특성(property) 값 등을 포함할 수 있다.
컨트롤러는 스위치로부터 큐 상태 메시지를 수신한 후에, 이를 참조하여 QoS 제어를 위한 플로우 엔트리(Flow entry)를 생성할 수 있다(S650).
예를 들어, 컨트롤러는 목적지(Dest. IP)인 10.1.1.0로 가는 모든 패킷들을 출력 포트 x의 Q2로 보내라는 플로우 엔트리를 생성할 수 있다.
컨트롤러는 새로운 플로우 엔트리를 생성한 후에, 이를 플로우 테이블 변경 메시지에 실어서 스위치로 전송할 수 있다(S660). 여기서, 플로우 테이블 변경 메시지는 새로운 플로우 엔트리와 이를 플로우 테이블에 추가(ADD)하라는 명령(command)과 같은 파라미터를 포함할 수 있다.
플로우 테이블 변경 메시지를 수신한 스위치는 플로우 테이블에 새로 수신한 플로우 엔트리를 추가할 수 있다(S670). 따라서, 스위치는 스위치로 들어오는 패킷들 중 목적지(Dest. IP)인 10.1.1.0로 가는 모든 패킷들은 출력 포트 x의 Q2로 전달하여 Q2의 특성(property)에 따른 QoS 제어를 수행할 수 있다(S680).
도 7은 본 발명의 실시예에 따라 큐를 삭제하는 방법을 절차를 설명하기 위한 순서도이다.
도 7을 참조하면, 컨트롤러는 스위치에 'DELETE' 명령을 전송을 하여 해당 출력 포트에서 큐를 삭제할 수 있다.
스위치의 출력 포트 x에 현재 Q1과 Q2 두 개의 큐가 할당되어 있으며, Q1의 특성(property)은 BE(Best Effort)로 할당되어 있고, Q2의 특성은 최소 대역폭이 출력 포트 x의 최대 전송속도의 a%(min_rate=a)로, 최대 대역폭이 출력 포트 x의 최대 전송속도의 b%(max_rate=b)로 할당되어 있는 경우를 예로 들어 설명한다.
컨트롤러는 서비스 시스템의 요청이나 QoS 정책의 변경에 따라 스위치에 설정되어 있는 큐를 삭제할 것을 결정할 수 있다(S710). 예를 들어, 특정한 서버로 가는 트래픽에 대해 최소 어느 정도의 대역폭을 보장해 주다가 서버가 서비스를 중지하면 더 이상 대역폭을 보장해 줄 필요가 없어지게 된다. 또한, 특정 고객 사이트로 가는 트래픽에 대해 최소 어느 정도의 대역폭을 보장해 주다가 고객이 서비스를 해지하거나 변경하면 최소 대역폭 보장이 필요없게 될 수 있다. 이런 경우에는 스위치의 출력 포트 x에 설정된 Q2를 삭제할 필요가 있다.
컨트롤러는 스위치의 출력 포트 x에서 Q2를 삭제하기로 결정하였으면 큐 상태 변경 메시지를 스위치로 전송할 수 있다(S720). 여기서, 큐 상태 변경 메시지는 출력 포트 x, 큐를 DELETE하라는 명령(command), 삭제하려는 큐 id 등과 같은 파라미터를 포함할 수 있다.
스위치는 컨트롤러로부터 큐 상태 변경 메시지를 수신한 후에 출력 포트 x에서 Q2를 삭제할 수 있다(S730). 따라서 출력 포트 x에는 두 개의 큐(Q1, Q2)에서 Q2가 삭제되고 Q1 만 남을 수 있다.
Q2에 대한 삭제가 완료되면 스위치는 큐 상태 메시지를 컨트롤러로 전송할 수 있다(S740). 여기서, 큐 상태 메시지는 출력 포트 x, 큐 리스트(Q1), 큐 특성(property) 값 등을 포함할 수 있다.
또한, 스위치는 플로우 테이블에서 출력 포트 x의 Q2와 관련된 플로우 엔트리를 삭제하고(S750), 플로우 엔트리 삭제 메시지를 컨트롤러로 전송할 수 있다(S760).
컨트롤러는 스위치로부터 플로우 엔트리 삭제 메시지를 수신한 후에 해당 플로우 엔트리를 삭제할 수 있다(S770).
예를 들어, 스위치는 목적지(Dest. IP)인 10.1.1.0로 가는 모든 패킷들을 출력 포트 x의 Q2로 보내라는 플로우 엔트리를 삭제할 수 있다. 따라서, 스위치의 출력 포트 x로 들어오는 모든 패킷들은 Q1으로 전달되어 BE(Best Effort)로 처리될 수 있다(S780).
도 8은 본 발명의 실시예에 따라 손실 패킷률에 기반하여 큐 특성을 변경하는 절차를 설명하기 위한 순서도이다.
도 8을 참조하면, 컨트롤러는 스위치 운용 중에 QoS 정책의 변경뿐 아니라, 전체적인 트래픽 상황을 분석하여 필요에 따라 기존에 설정된 큐 특성(property) 변경할 수 있다.
예를 들어, 출력 포트 x에 WRR 큐가 적용되었다면, 트래픽 상황에 따라 큐의 가중치(weight)를 플렉서블(flexible)하게 변경할 수 있다.
보다 상세하게는, 컨트롤러는 주기적으로 큐 통계 요청 메시지를 스위치로 전송하여 큐들에 대한 트래픽 통계 데이터를 요청할 수 있다(S810). 여기서, 큐 통계 요청 메시지는 해당 출력 포트, 큐 id 등과 같은 파라미터를 포함할 수 있다.
스위치는 큐 통계 요청 메시지에 따른 해당 큐에 대한 트래픽 통계 데이터를 포함하는 큐 통계 메시지를 컨트롤러로 전송할 수 있다(S820). 여기서, 큐 통계 메시지는 출력 포트, 큐 id, 전송 패킷수 및 손실 패킷수를 포함할 수 있다.
컨트롤러는 큐 통계 메시지를 수신하여 해당 큐에 대한 패킷 손실률을 계산할 수 있다(S830). 여기서, 패킷 손실률은 손실 패킷수/(전송 패킷수 + 손실 패킷수)로 계산될 수 있다.
컨트롤러는 큐들의 패킷 손실률을 각 큐마다 미리 설정해 놓은 임계치와 비교하여 WRR 큐의 가중치들을 변경할 수 있다(S830).
예를 들어, 만일 Silver 서비스 트래픽이 초기에 예상했던 것보다 많이 증가하여 서비스 품질이 저하되면 Silver 서비스에 할당된 Q2의 가중치를 높여 주어 더 많은 트래픽을 처리할 수 있도록 한다.
컨트롤러는 큐 특성이 변경되면 변경된 큐 특성에 대한 정보를 큐 상태 변경 메시지에 실어서 스위치로 전송할 수 있다(S840). 여기서, 큐 상태 변경 메시지는 출력 포트 x, 큐 특성을 변경(MODIFY)하라는 명령(command), 변경하려는 큐 id 및 큐 특성에 대한 정보 등과 같은 파라미터를 포함할 수 있다.
스위치는 큐 상태 변경 메시지에 따라 각각의 큐에 대한 가중치를 변경하고(S850), 그 결과를 큐 상태 메시지에 실어서 컨트롤러로 전송할 수 있다(S860). 예를 들어, 스위치는 WRR 큐인 Q2, Q3, Q4에 적용되었던 가중치 w1%, w2%, w3% 각각을 y1%, y2%, y3%로 변경할 수 있다.
도 9는 본 발명의 실시예에 따라 중요 서버로 할당되는 트래픽을 서로 다른 큐에 매핑하는 절차를 설명하기 위한 순서도이다.
도 9를 참조하면, 컨트롤러는 중요 서버들로 가는 트래픽들을 일반 데이터 트래픽과 차별적으로 처리하도록 큐를 매핑할 수 있다.
먼저, 스위치는 출력 포트에 큐 및 설정된 큐의 특성을 각각 설정할 수 있다(S910). 컨트롤러는 스위치로부터 큐 상태 메시지를 수신함으로써 스위치에 설정된 큐에 대한 정보를 알 수 있다(S920).
컨트롤러는 QoS 정책에 따라 중요 서버들로 가는 트래픽들을 일반 데이터 트래픽과 차별적으로 처리해 주기 위한 큐 매핑 테이블을 구성할 수 있다(S930).
예를 들어, 컨트롤러는 SDN Controller로 가는 트래픽은 Silver 서비스로 처리해 주기 위하여 Q2에 매핑하고, SIP Call Server로 가는 트래픽은 Bronze 서비스로 처리해 주기 위하여 Q3에 매핑할 수 있다.
컨트롤러는 중요 서버들에 대한 큐 매핑 테이블을 구성한 후, 실제 플로우(Flow)가 해당 큐에 매핑될 수 있도록 플로우 엔트리를 생성할 수 있다(S940).
예를 들어, SDN Controller는 IP 주소로 10.1.1.1을 사용하고 스위치와 TCP 연결을 위한 port로 yyyy를 사용한다고 가정하고, SIP Call Server는 IP주소로 20.1.1.1을 사용하고 단말과 TCP 연결을 위한 port로 zzzz를 사용한다고 가정하여 설명한다.
컨트롤러가 생성한 플로우 엔트리는 플로우(Flow)를 구분하기 위한 Match field와 해당 플로우의 패킷에 대해 어떤 action을 수행할지 나타내는 Action field로 나뉘어 구성될 수 있다.
예를 들어, SDN Controller로 가는 트래픽의 플로우는 목적(destination) IP와 port만 지정해 주면 되기 때문에 소스(source) IP와 port는 Any를 나타내는 '*'로 표시될 수 있고, SIP Call Server로 가는 트래픽의 플로우도 목적(destination) IP와 port만 지정해 주면 되기 때문에 소스(source) IP와 port는 '*'로 표시될 수 있다.
또한, Action field는 SDN Controller 로 가는 트래픽 플로우는 Q2로 보내고, SIP Call Server로 가는 트래픽 플로우는 Q3로 보내라는 Action을 포함할 수 있다.
컨트롤러는 플로우 엔트리를 생성한 후에, 이를 플로우 테이블 변경 메시지에 실어서 스위치로 전송할 수 있다(S950).
스위치는 컨트롤러로부터 플로우 테이블 변경 메시지를 수신하고, 플로우 테이블 변경 메시지에 포함된 플로우 엔트리를 이용하여 스위치의 플로우 테이블을 업데이트할 수 있다(S960).
따라서, 스위치는 SDN Controller로 가는 패킷이 들어오면 출력 포트 x의 Q2로 전달하여 WRR 방식의 Silver 트래픽으로 처리하고, SIP Call Server로 가는 패킷이 들어오면 출력 포트 x의 Q3로 전달하여 WRR 방식의 Bronze 트래픽으로 처리할 수 있으며, 이를 통하여 해당 큐 특성(property)에 따른 QoS 제어를 수행할 수 있다(S970).
도 10은 본 발명의 실시예에 따라 네트워크 종류 별로 큐를 매핑하여 QoS를 제어하는 방법을 설명하기 위한 순서도이고, 도 11은 본 발명의 실시예에 따라 네트워크 종류 별로 큐를 매핑한 경우를 설명하기 위한 개념도이다.
도 10을 참조하면, 컨트롤러는 스위치와 연동하여 네트워크의 종류 따른 QoS 제어를 수행할 수 있다.
먼저, 스위치는 출력 포트에 큐 및 설정된 큐의 특성을 각각 설정할 수 있다(S1010). 컨트롤러는 스위치로부터 큐 상태 메시지를 수신함으로써 스위치에 설정된 큐에 대한 정보를 알 수 있다(S1020).
컨트롤러는 큐 상태 메시지를 참조하여 네트워크 종류에 따라 QoS 정책을 다르게 설정할 수 있는 큐 매핑 테이블을 구성할 수 있다(S1030).
예를 들어, 컨트롤러는 3G 또는 4G 무선 액세스망으로부터 들어오는 무선 인터넷 트래픽에 대해서는 Silver 서비스로 처리하도록 Q2에 매핑하고, WIBRO 무선 액세스망으로부터 들어오는 무선 인터넷 트래픽에 대해서는 Bronze 서비스로 처리하도록 Q3에 매핑하며, 유선 액세스 망으로부터 들어오는 유선 인터넷 트래픽에 대해서는 BE(Best Effort) 서비스로 처리하도록 Q4에 매핑할 수 있다.
일반적으로 동일한 데이터를 처리하기 위해 소요되는 비용은 3G/4G 무선 인터넷이 가장 높고, 그 다음으로 WIBRO 인터넷이 높으며, 유선 인터넷이 가장 낮다. 따라서, 3G/4G 무선 인터넷을 Silver 서비스로 처리하고, WIBRO 무선 인터넷을 Bronze 서비스로 처리하며, 유선 인터넷을 BE(Best Effort) 서비스로 처리하도록 QoS 정책을 세우고, 컨트롤러를 이러한 네트워크 종류 별 QoS 정책에 기반하여 QoS를 제어할 수 있다.
컨트롤러는 네트워크 종류 별로 트래픽을 차별화할 수 있도록 큐 매핑 테이블을 구성하고 난 후, 실제 플로우가 해당 큐에 매핑될 수 있도록 하는 플로우 엔트리를 생성할 수 있다(S1040).
도 10 및 도 11을 참조하면, 3G/4G 무선 인터넷 트래픽은 스위치의 Ingress 1으로 들어오고, WIBRO 무선 인터넷 트래픽은 Ingress 2로 들어오며, 유선 인터넷 트래픽은 Ingress 3로 들어오도록 설정할 수 있다.
예를 들어, 컨트롤러는 Match field의 Ingress 1으로 들어오는 플로우는 출력 포트 x의 Q2로 전달하도록 Action field를 설정하고, Match field의 Ingress 2로 들어오는 플로우는 출력 포트 x의 Q3로 전달하도록 Action field를 설정하며, Match field의 Ingress 3로 들어오는 플로우는 출력 포트 x의 Q4로 전달하도록 Action field를 설정할 수 있다.
컨트롤러는 플로우 엔트리를 생성한 후, 이를 플로우 테이블 변경 메시지에 실어서 스위치로 전송할 수 있다(S1050).
스위치는 컨트롤러로부터 플로우 테이블 변경 메시지를 수신하고, 플로우 테이블 변경 메시지에 포함된 플로우 엔트리를 이용하여 스위치의 플로우 테이블을 업데이트할 수 있다.
따라서, 스위치는 Ingress 1으로부터 들어오는 3G/4G 무선 인터넷 패킷은 출력 포트 x의 Q2로 전달하여 WRR 방식의 Silver 서비스로 처리하고, Ingress 2로부터 들어오는 WIBRO 무선 인터넷 패킷은 출력 포트 x의 Q3로 전달하여 WRR 방식의 Bronze 서비스로 처리하며, Ingress 3로부터 들어오는 유선 인터넷 패킷은 출력 포트 x의 Q4로 전달하여 WRR 방식의 BE(Best Effort) 서비스로 처리함으로써, 네트워크 종류 별로 QoS 제어를 수행할 수 있다(S1060).
상술한 본 발명의 실시예에 따르면, 오픈 플로우 스위치에서 서비스 별 트래픽 차별 처리를 통하여 QoS를 제어할 수 있다.
또한, 본 발명의 실시예에 따르면, WRR(Weighted Round Robin) 방법을 오픈 플로우 스위치에 적용하여 다양한 서비스들을 트래픽 특성에 따라 차별화하여 처리할 수 있다.
더 나아가, 본 발명의 실시예에 따르면, 스위치에서 큐 상태가 변경된 경우, 변경 내용을 컨트롤러에게 즉시 알려줌으로써, 컨트롤러가 네트워크 운용 정책이나 트래픽 상황에 따라 스위치의 큐 상태를 효과적으로 변경할 수 있으며, 이를 통하여 효과적으로 QoS 제어를 수행할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 컨트롤러 110: QoS 정책 관리부
120: 스위치 제어부 130: 플로우 테이블 관리부
140: 스위치 연동 처리부 200: 스위치
210: QoS 제어부 220: 스위치 제어부
230: 플로우 테이블 관리부 240: 컨트롤러 연동 처리부

Claims (22)

  1. 컨트롤러가 QoS를 제어하는 방법에 있어서,
    네트워크 장치의 출력 포트에 설정되는 적어도 하나의 큐(Queue)에 대한 추가, 삭제 및 변경 중 적어도 하나의 수행을 위한 큐의 설정 변경을 결정하는 단계; 및
    상기 결정된 큐의 설정 변경에 대한 정보를 포함하는 큐 상태 변경 메시지를 상기 네트워크 장치로 전송하여 큐의 설정 변경을 수행시키는 단계를 포함하는,
    QoS 제어하는 방법.
  2. 청구항 1에 있어서,
    상기 큐의 설정 변경을 결정하는 단계는,
    서비스 요구사항 또는 QoS 정책 변경에 기반하여 큐의 설정 변경을 결정하는 것을 특징으로 하는,
    QoS 제어하는 방법.
  3. 청구항 1에 있어서,
    상기 네트워크 장치의 출력 포트에 설정된 상기 적어도 하나의 큐에 대한 큐 특성 정보를 수신하는 단계;
    상기 큐 특성 정보에 기반하여 서비스와 상기 적어도 하나의 큐 사이를 매핑하는 플로우 엔트리(Flow entry)를 생성하는 단계; 및
    상기 생성된 플로우 엔트리에 따라 서비스 별로 트래픽을 처리하도록 상기 네트워크 장치를 제어하는 단계를 더 포함하는,
    QoS 제어 방법.
  4. 청구항 3에 있어서,
    상기 큐 특성 정보를 수신하는 단계는,
    상기 큐 특성 정보를 포함한 큐 상태 메시지를 상기 네트워크 장치로부터 수신하는 것을 특징으로 하는,
    QoS 제어 방법.
  5. 청구항 3에 있어서,
    상기 플로우 엔트리를 생성하는 단계는,
    Priority 큐 및 적어도 하나의 Weighted Round Robin(WRR) 큐로 구분하여 설정된 상기 적어도 하나의 큐에 서비스 별 우선 순위에 기반하여 서비스를 각각 매핑하는 것을 특징으로 하는,
    QoS 제어 방법.
  6. 청구항 5에 있어서,
    상기 플로우 엔트리를 생성하는 단계는,
    가장 높은 순위의 서비스를 위한 트래픽이 상기 Priority 큐에 할당되도록 매핑하고, 다음 순위의 서비스들을 위한 트래픽이 상기 적어도 하나의 WRR 큐에 순차적으로 할당되도록 매핑하는 것을 특징으로 하는,
    QoS 제어 방법.
  7. 청구항 6에 있어서,
    상기 플로우 엔트리를 생성하는 단계는,
    상기 가장 높은 순위의 서비스를 위한 트래픽을 처리하고 남은 트래픽의 범위에서 상기 적어도 하나의 WRR 큐 각각에 적용된 가중치에 기반하여 다음 순위의 서비스들을 위한 트래픽이 순차적으로 할당되도록 매핑하는 것을 특징으로 하는,
    QoS 제어 방법.
  8. 청구항 5에 있어서,
    상기 플로우 엔트리를 생성하는 단계는,
    적어도 하나의 중요 서버로 할당되는 트래픽을 서로 다른 WRR 큐에 매핑하는 것을 특징으로 하는,
    QoS 제어 방법.
  9. 청구항 3에 있어서,
    상기 네트워크 장치를 제어하는 단계는,
    상기 생성된 플로우 엔트리를 포함하는 플로우 테이블 변경 메시지를 상기 네트워크 장치로 전송하는 단계;
    상기 플로우 테이블 변경 메시지를 이용하여 상기 네트워크 장치의 플로우 테이블을 업데이트시키는 단계; 및
    상기 업데이트된 플로우 테이블에 기반하여 서비스 별로 트래픽을 처리하도록 상기 네트워크 장치를 제어하는 단계를 포함하는 것을 특징으로 하는,
    QoS 제어 방법.
  10. 컨트롤러가 QoS를 제어하는 방법에 있어서,
    네트워크 장치로부터 상기 네트워크 장치의 출력 포트에 의해 지원 가능한 큐(Queue)에 대한 정보를 포함하는 큐 설정 정보 메시지를 수신하는 단계;
    상기 큐 설정 정보 메시지 및 QoS 정책에 기반하여 서비스와 적어도 하나의 큐 사이를 매핑하는 단계; 및
    상기 서비스와 상기 적어도 하나의 큐 사이의 매핑 관계에 기반하여 상기 적어도 하나의 큐를 설정하도록 큐 상태 변경 메시지를 상기 네트워크 장치로 전송하는 단계를 포함하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  11. 청구항 10에 있어서,
    상기 서비스와 적어도 하나의 큐 사이를 매핑하는 단계는,
    상기 적어도 하나의 큐 각각을 Priority 큐 또는 적어도 하나의 Weighted Round Robin(WRR) 큐로 설정하는 단계; 및
    상기 적어도 하나의 큐에 서비스 별 우선 순위에 기반하여 서비스를 각각 매핑하는 단계를 포함하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  12. 청구항 11에 있어서,
    상기 적어도 하나의 큐에 서비스 별 우선 순위에 기반하여 서비스를 각각 매핑하는 단계는,
    가장 높은 순위의 서비스를 위한 트래픽이 상기 Priority 큐에 할당되도록 매핑하고, 다음 순위의 서비스들을 위한 트래픽이 상기 적어도 하나의 WRR 큐에 순차적으로 할당되도록 매핑하는 것을 특징으로 하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  13. 청구항 12에 있어서,
    상기 적어도 하나의 큐에 서비스 별 우선 순위에 기반하여 서비스를 각각 매핑하는 단계는,
    상기 가장 높은 순위의 서비스를 위한 트래픽을 처리하고 남은 트래픽의 범위에서 상기 적어도 하나의 WRR 큐 각각에 적용된 가중치에 기반하여 다음 순위의 서비스들을 위한 트래픽이 순차적으로 할당되도록 매핑하는 것을 특징으로 하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  14. 청구항 10에 있어서,
    상기 큐 상태 변경 메시지는,
    상기 네트워크 장치의 출력 포트에 큐가 추가 또는 삭제되도록 하는 명령을 포함하는 것을 특징으로 하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  15. 청구항 11에 있어서,
    상기 네트워크 장치로부터 손실 패킷에 대한 정보를 수신하여 패킷 손실률을 계산하는 단계; 및
    상기 패킷 손실률에 기반하여 상기 적어도 하나의 WRR 큐 각각에 적용되는 가중치를 변경시키는 단계를 더 포함하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  16. 청구항 15에 있어서,
    상기 적어도 하나의 WRR 큐 각각에 적용되는 가중치를 변경시키는 단계는,
    상기 큐 상태 변경 메시지에 상기 가중치 변경을 위한 명령을 포함시켜 상기 네트워크 장치로 전송함으로써 수행하는 것을 특징으로 하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  17. 청구항 10에 있어서,
    상기 큐 상태 변경 메시지에 기반하여 설정된 상기 적어도 하나의 큐에 대한 큐 특성 정보를 포함하는 큐 상태 메시지를 수신하는 단계;
    상기 큐 특성 정보에 기반하여 상기 서비스와 상기 적어도 하나의 큐 사이를 매핑하는 플로우 엔트리(Flow entry)를 생성하는 단계; 및
    상기 생성된 플로우 엔트리에 따라 서비스 별로 트래픽을 처리하도록 상기 네트워크 장치를 제어하는 단계를 더 포함하는 것을 특징으로 하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  18. 네트워크 장치가 QoS를 제어하는 방법에 있어서,
    상기 네트워크 장치의 출력 포트에 의해 지원 가능한 큐(Queue)에 대한 정보를 포함하는 큐 설정 정보 메시지를 컨트롤러로 전송하는 단계;
    상기 큐 설정 정보 메시지 및 QoS 정책에 기반하여 상기 컨트롤러에 의해 생성된 큐 상태 변경 메시지를 수신하는 단계; 및
    상기 큐 상태 변경 메시지에 따라 적어도 하나의 큐를 상기 출력 포트에 설정하는 단계를 포함하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  19. 청구항 18에 있어서,
    상기 큐 상태 변경 메시지는,
    상기 큐 설정 정보 메시지 및 상기 QoS 정책에 기반하여 서비스와 상기 적어도 하나의 큐 사이를 매핑하여 상기 컨트롤러가 생성한 정보를 포함하는 것을 특징으로 하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  20. 청구항 18에 있어서,
    상기 큐 상태 변경 메시지는,
    상기 큐 설정 정보 메시지 및 상기 QoS 정책에 기반한 네트워크 종류 별 우선 순위에 따라 네트워크와 상기 적어도 하나의 큐 사이를 매핑하여 상기 컨트롤러가 생성한 정보를 포함하는 것을 특징으로 하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  21. 청구항 18에 있어서,
    상기 출력 포트에 설정하는 단계는,
    가장 높은 순위의 서비스를 위한 트래픽이 Priority 큐에 할당되도록 설정하고, 다음 순위의 서비스들을 위한 트래픽이 적어도 하나의 WRR 큐에 순차적으로 할당되도록 설정하는 것을 특징으로 하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
  22. 청구항 21에 있어서,
    상기 출력 포트에 설정하는 단계는,
    상기 가장 높은 순위의 서비스를 위한 트래픽을 처리하고 남은 트래픽의 범위에서 상기 적어도 하나의 WRR 큐 각각에 적용된 가중치에 기반하여 다음 순위의 서비스들을 위한 트래픽이 순차적으로 할당되도록 설정하는 것을 특징으로 하는,
    서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법.
KR1020140147076A 2013-10-28 2014-10-28 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법 KR101877595B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/032,707 US20160323189A1 (en) 2013-10-28 2014-10-28 Method for controlling qos by handling traffic depending on service
PCT/KR2014/010169 WO2015065003A1 (ko) 2013-10-28 2014-10-28 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130128231 2013-10-28
KR20130128231 2013-10-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020160046161A Division KR20160047448A (ko) 2013-10-28 2016-04-15 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법

Publications (2)

Publication Number Publication Date
KR20150048652A true KR20150048652A (ko) 2015-05-07
KR101877595B1 KR101877595B1 (ko) 2018-07-12

Family

ID=53387087

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020140147076A KR101877595B1 (ko) 2013-10-28 2014-10-28 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법
KR1020160046161A KR20160047448A (ko) 2013-10-28 2016-04-15 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020160046161A KR20160047448A (ko) 2013-10-28 2016-04-15 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법

Country Status (2)

Country Link
US (1) US20160323189A1 (ko)
KR (2) KR101877595B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016180464A1 (en) * 2015-05-11 2016-11-17 Huawei Technologies Co., Ltd. Method and entities for service availability management
KR101706342B1 (ko) * 2015-08-21 2017-02-27 성균관대학교산학협력단 네트워크 상에서 패킷의 전송 속도를 지원하는 오픈플로우 기반 컨트롤러, 스위치 및 전송 속도 지원 방법
KR20200011230A (ko) * 2018-07-24 2020-02-03 한국과학기술원 소프트웨어 정의 네트워크 시스템에서 다중 중요도 모드에 따른 패킷 스케줄링 방법, 그 방법을 구현한 컴퓨터프로그램 및 그 방법을 수행하는 스위치 장치

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9692684B2 (en) * 2014-09-05 2017-06-27 Telefonaktiebolaget L M Ericsson (Publ) Forwarding table precedence in SDN
CN105515992B (zh) * 2014-09-26 2019-01-11 新华三技术有限公司 Vxlan网络中的流表项处理方法及装置
US9680762B2 (en) * 2015-01-05 2017-06-13 Futurewei Technologies, Inc. Method and system for providing QoS for in-band control traffic in an openflow network
TWI578737B (zh) * 2015-02-10 2017-04-11 鴻海精密工業股份有限公司 交換機、控制設備及其管理方法
TWI548267B (zh) * 2015-05-07 2016-09-01 鴻海精密工業股份有限公司 控制設備及其控制視訊點播的方法
CN106899514B (zh) * 2017-02-24 2020-04-14 西安电子科技大学 保障多媒体业务服务质量的队列调度方法
US11656992B2 (en) 2019-05-03 2023-05-23 Western Digital Technologies, Inc. Distributed cache with in-network prefetch
CN110636013B (zh) * 2019-09-30 2022-08-16 佛山科学技术学院 一种消息队列的动态调度方法及装置
US11765250B2 (en) * 2020-06-26 2023-09-19 Western Digital Technologies, Inc. Devices and methods for managing network traffic for a distributed cache
US11675706B2 (en) 2020-06-30 2023-06-13 Western Digital Technologies, Inc. Devices and methods for failure detection and recovery for a distributed cache
US11736417B2 (en) 2020-08-17 2023-08-22 Western Digital Technologies, Inc. Devices and methods for network message sequencing
JP7481627B2 (ja) 2020-09-02 2024-05-13 富士通株式会社 異常検知方法及び異常検知プログラム
EP4344148A4 (en) * 2021-06-30 2024-05-08 Huawei Technologies Co., Ltd. PARAMETER CONFIGURATION METHOD AND DEVICE, CONTROLLER, COMMUNICATION DEVICE AND COMMUNICATION SYSTEM

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
GB9520807D0 (en) * 1995-10-11 1995-12-13 Newbridge Networks Corp Fair queue servicing using dynamic weights
US5812526A (en) * 1995-12-21 1998-09-22 Industrial Technology Research Institute Traffic control mechanism in ATM communications network
US6094435A (en) * 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
US6975638B1 (en) * 2000-10-13 2005-12-13 Force10 Networks, Inc. Interleaved weighted fair queuing mechanism and system
US6970936B2 (en) * 2000-12-19 2005-11-29 International Business Machines Corporation Data processing system and method of communication that employ a request-and-forget protocol
US6687781B2 (en) * 2001-05-01 2004-02-03 Zettacom, Inc. Fair weighted queuing bandwidth allocation system for network switch port
US7095715B2 (en) * 2001-07-02 2006-08-22 3Com Corporation System and method for processing network packet flows
US7415477B2 (en) * 2001-07-05 2008-08-19 Broadcom Corporation Method and apparatus for allocating link bandwidth
US7421273B2 (en) * 2002-11-13 2008-09-02 Agere Systems Inc. Managing priority queues and escalation in wireless communication systems
JP2004260261A (ja) * 2003-02-24 2004-09-16 Nec Corp パケットスケジューリング方法及び移動通信システム
US7623524B2 (en) * 2003-12-22 2009-11-24 Intel Corporation Scheduling system utilizing pointer perturbation mechanism to improve efficiency
US7349334B2 (en) * 2004-04-09 2008-03-25 International Business Machines Corporation Method, system and program product for actively managing central queue buffer allocation using a backpressure mechanism
WO2006086553A2 (en) * 2005-02-09 2006-08-17 Sinett Corporation Queuing and scheduling architecture for a unified access device supporting wired and wireless clients
US8223642B2 (en) * 2006-04-28 2012-07-17 Tellabs San Jose, Inc. Differentiated services using weighted quality of service (QoS)
US7965638B1 (en) * 2006-05-22 2011-06-21 Atrica Israel Ltd. Policing machine incorporating randomization of rate threshold
US8619787B2 (en) * 2010-05-18 2013-12-31 Lsi Corporation Byte-accurate scheduling in a network processor
US8615013B2 (en) * 2010-05-18 2013-12-24 Agere Systems Llc Packet scheduling with guaranteed minimum rate in a traffic manager of a network processor
US8576714B2 (en) * 2009-05-29 2013-11-05 Futurewei Technologies, Inc. System and method for relay node flow control in a wireless communications system
US9065779B2 (en) * 2009-06-12 2015-06-23 Wi-Lan Labs, Inc. Systems and methods for prioritizing and scheduling packets in a communication network
JP5467558B2 (ja) * 2009-09-09 2014-04-09 アラクサラネットワークス株式会社 ネットワーク中継装置及びメモリ制御方法
KR101818243B1 (ko) * 2010-01-22 2018-02-22 삼성전자주식회사 통신 시스템의 적응적인 버퍼 관리 방법 및 장치
US8537846B2 (en) * 2010-04-27 2013-09-17 Hewlett-Packard Development Company, L.P. Dynamic priority queue level assignment for a network flow
KR101155012B1 (ko) * 2010-11-24 2012-06-14 한국과학기술정보연구원 오픈플로우 네트워크 시스템 및 그 제어방법
WO2012098774A1 (ja) * 2011-01-20 2012-07-26 日本電気株式会社 ネットワークシステム、コントローラ、及びQoS制御方法
US8797877B1 (en) * 2012-08-09 2014-08-05 Juniper Networks, Inc. Virtual output queue allocation using dynamic drain bandwidth
US9282052B2 (en) * 2013-05-29 2016-03-08 Verizon Patent And Licensing Inc. End-to-end quality of service optimization and reporting
JP2015149577A (ja) * 2014-02-06 2015-08-20 株式会社日立製作所 帯域制御装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016180464A1 (en) * 2015-05-11 2016-11-17 Huawei Technologies Co., Ltd. Method and entities for service availability management
KR20170139654A (ko) * 2015-05-11 2017-12-19 후아웨이 테크놀러지 컴퍼니 리미티드 서비스 이용 가능성 관리를 위한 방법 및 엔티티
US10530668B2 (en) 2015-05-11 2020-01-07 Huawei Technologies Co., Ltd. Method and entities for service availability management
US10972365B2 (en) 2015-05-11 2021-04-06 Huawei Technologies Co., Ltd. Method and entities for service availability management
US11805031B2 (en) 2015-05-11 2023-10-31 Huawei Technologies Co., Ltd. Method and entities for service availability management
KR101706342B1 (ko) * 2015-08-21 2017-02-27 성균관대학교산학협력단 네트워크 상에서 패킷의 전송 속도를 지원하는 오픈플로우 기반 컨트롤러, 스위치 및 전송 속도 지원 방법
KR20200011230A (ko) * 2018-07-24 2020-02-03 한국과학기술원 소프트웨어 정의 네트워크 시스템에서 다중 중요도 모드에 따른 패킷 스케줄링 방법, 그 방법을 구현한 컴퓨터프로그램 및 그 방법을 수행하는 스위치 장치

Also Published As

Publication number Publication date
KR20160047448A (ko) 2016-05-02
KR101877595B1 (ko) 2018-07-12
US20160323189A1 (en) 2016-11-03

Similar Documents

Publication Publication Date Title
KR101877595B1 (ko) 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법
KR102087226B1 (ko) 다수의 사업자 지원을 위한 sdn 기반의 네트워크 공유 방법
KR101621193B1 (ko) 멀티 플로우 그룹핑에 기반한 대역폭 제공 방법
JP4033773B2 (ja) ネットワークルーティングを実行する方法および装置
JP5440712B2 (ja) 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
KR101530594B1 (ko) 통신 시스템, 정보 처리 장치, 통신 노드, 통신 방법, 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
KR101618985B1 (ko) Sdn 환경에서 트래픽의 동적 제어를 위한 방법 및 장치
JP5450227B2 (ja) トラヒック制御指示装置、トラヒック制御指示プログラム、トラヒック制御指示システム、及びトラヒック制御指示方法
JP7288980B2 (ja) 仮想サービスネットワークにおけるサービス品質
US7525919B2 (en) Packet communication method with increased traffic engineering efficiency
JP2008529398A (ja) 電気通信ネットワークの帯域幅割り当て
MXPA03008475A (es) Control de admision qos por flujo basado en el margen, en una red de datos.
Luo et al. Enhancing responsiveness and scalability for OpenFlow networks via control-message quenching
KR20140052847A (ko) 소프트웨어 정의 네트워킹 기반 네트워크에서 서비스 품질 제공 방법 및 그 장치
CN110557333A (zh) 软件定义网络服务质量控制保障的方法及系统
EP2985963A1 (en) Packet scheduling networking device
KR101729944B1 (ko) Sdn 기반의 멀티 테넌트 지원 네트워크 시스템의 ip 주소 제공 방법
KR20140050461A (ko) 오픈 플로우 스위치와 컨트롤러를 사용한 가상망 구현 방법 및 그 장치
EP1978682A1 (en) QoS CONTROL METHOD AND SYSTEM
KR101729945B1 (ko) Sdn 기반의 네트워크 시스템의 멀티 테넌트 지원 방법
KR101729939B1 (ko) Sdn 기반의 멀티 테넌트 지원 네트워크 시스템
KR101587379B1 (ko) 큐 사이즈의 동적 제어 방법 및 이를 수행하는 장치
Thazin et al. Resource allocation scheme for SDN-based cloud data center network
WO2014010723A1 (ja) スイッチ、通信システム、スイッチ制御方法及びプログラム
KR101806376B1 (ko) Ip 주소 제공하는 sdn 기반의 멀티 테넌트 지원 네트워크 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J301 Trial decision

Free format text: TRIAL NUMBER: 2016101002230; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20160415

Effective date: 20180119

S901 Examination by remand of revocation
E902 Notification of reason for refusal
GRNO Decision to grant (after opposition)