KR102408176B1 - 클라이언트 전송 방법 및 디바이스 - Google Patents

클라이언트 전송 방법 및 디바이스 Download PDF

Info

Publication number
KR102408176B1
KR102408176B1 KR1020227006386A KR20227006386A KR102408176B1 KR 102408176 B1 KR102408176 B1 KR 102408176B1 KR 1020227006386 A KR1020227006386 A KR 1020227006386A KR 20227006386 A KR20227006386 A KR 20227006386A KR 102408176 B1 KR102408176 B1 KR 102408176B1
Authority
KR
South Korea
Prior art keywords
client service
client
data blocks
transmitting
counter
Prior art date
Application number
KR1020227006386A
Other languages
English (en)
Other versions
KR20220025306A (ko
Inventor
위제 천
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20220025306A publication Critical patent/KR20220025306A/ko
Application granted granted Critical
Publication of KR102408176B1 publication Critical patent/KR102408176B1/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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/502Frame based
    • 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/20Traffic policing
    • 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/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank

Landscapes

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

Abstract

본 출원은, 출력 라인 인터페이스에서 혼잡(congestion) 확률을 감소시키고, 혼잡의 발생까지도 피하기 위해 사용되는, 클라이언트 서비스 전송 방법 및 디바이스를 개시한다. 클라이언트 서비스 전송 방법은, 클라이언트 서비스를 수신하는 단계 - 여기서, 클라이언트 서비스는 복수의 데이터 블록을 포함하고, 클라이언트 서비스는 카운터에 대응하고, 카운터는 클라이언트 서비스의 출력 레이트를 제어하기 위해 사용됨 - ; 및 다수의 송신 사이클에서 복수의 데이터 블록을 송신하는 단계 - 여기서, 각각의 송신 사이클에서, 카운터의 카운트 값이 미리 설정된 임계 값에 도달하는 경우, 복수의 데이터 블록 중 적어도 하나의 데이터 블록이 송신됨 - 를 포함할 수 있다. 설명된 기술은 전송 노드가 클라이언트 서비스를 전송하는 시나리오에 적용될 수 있다.

Description

클라이언트 전송 방법 및 디바이스{CLIENT SERVICE TRANSMISSION METHOD AND DEVICE}
본 발명은 데이터 전송 기술 분야, 특히 클라이언트 서비스 전송 방법 및 장치에 관한 것이다.
패킷 서비스 시스템에서, 기존의 전송 노드는 최선 노력 전달 메커니즘(best effort delivery mechanism)에 기초하여 클라이언트 서비스를 전송한다. 예를 들어, 클라이언트 디바이스 A가 전송 노드를 사용하여 클라이언트 서비스를 클라이언트 디바이스 B에 송신하고, 전송 노드의 출력 라인 인터페이스 대역폭(output line interface bandwidth)이 100 Gbps(기가비트/초)이면, 전송 노드가 클라이언트 서비스를 출력하는 레이트(즉, 클라이언트 서비스의 출력 레이트)는 가능한 한 100 Gbps에 가까울 수 있다. 이를 기초로, 초당 전송 노드로 입력되는 클라이언트 서비스의 크기가 10 M(메가비트)이면, 전송 노드에서의 클라이언트 서비스의 전송 시간은 이론적으로 10 M/100 Gbps일 수 있고, 초당 전송 노드로 입력되는 클라이언트 서비스의 크기가 100 M이면, 전송 노드에서의 클라이언트 서비스의 전송 시간은 이론적으로 100 M/100 Gbps일 수 있다.
이 경우, 복수의 클라이언트 디바이스가 동시에 하나의 전송 노드에 클라이언트 서비스를 전송하면, 각각의 클라이언트 디바이스에 의해 송신된 클라이언트 서비스에 대해, 전송 노드는 최선 노력 전달 메커니즘을 사용하여 클라이언트 서비스를 전송한다. 이에 따라, 혼잡(congestion)이 불가피하게 발생한다.
본 발명의 실시 예는, 출력 라인 인터페이스 상에서 혼잡의 발생 가능성을 감소시키고 혼잡 발생까지도 피할 수 있는 클라이언트 서비스 전송 방법 및 장치를 제공한다.
전술한 목표를 달성하기 위해, 본 발명은 다음과 같은 기술적 해결 방안을 제공한다.
제1 측면에 따르면, 본 출원은 클라이언트 서비스 전송 방법을 제공하며, 클라이언트 서비스 전송 방법은: 클라이언트 서비스를 수신하는 단계 - 여기서, 클라이언트 서비스는 복수의 데이터 블록을 포함하고, 클라이언트 서비스는 카운터에 대응하고, 카운터는 클라이언트 서비스의 출력 레이트를 제어하기 위해 사용됨 - ; 및 복수의 송신 기간에서 복수의 데이터 블록을 송신하는 단계 - 여기서, 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달하는 경우, 복수의 데이터 블록 중 하나 이상의 데이터 블록이 송신됨 - 를 포함한다. 클라이언트 서비스 전송 방법은 전송 노드에 의해 수행될 수 있다. 기술적 해결 방안에서, 카운터는 전송 노드에서 설정되고, 출력 데이터 블록의 수량은 각각의 송신 기간에서 카운터의 카운트 값에 기초하여 제어된다. 이러한 방식으로, 데이터 블록의 출력 레이트가 제어될 수 있으며, 즉, 클라이언트 서비스의 출력 레이트가 제어된다. 기술적 해결 방안에 따라, 전송 노드에 입력되는 각각의 클라이언트 서비스의 출력 레이트가 제어되면, 출력 라인 인터페이스에서 혼잡 발생 가능성을 감소시키고 혼잡 발생까지도 피하는 것에 도움이 될 수 있다.
가능한 설계에서, 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달하기 전에, 상기 클라이언트 서비스 전송 방법은: 카운터의 각각의 카운팅 기간에서 카운터의 카운트 값을 C만큼 증가시키는 단계 - 여기서, C는 미리 설정된 임계 값 이하임 - 를 더 포함할 수 있다. C의 물리적 의미는 본 출원에서 제한되지 않는다. 예를 들어, C는 카운터의 카운트 횟수의 양일 수 있다. 이 경우, C는 1과 같다. 다른 예로, 클라이언트 서비스의 대역폭에 따라 C가 결정될 수 있고, 출력 라인 인터페이스 대역폭에 따라 미리 설정된 임계 값이 결정될 수 있다. 물론, 이것은 특정 구현으로 제한되지 않는다.
가능한 설계에서, 제어의 용이성을 위해, 단위 대역폭(unit bandwidth) 개념이 본 출원에 도입된다. 이를 기초로, C는 클라이언트 서비스의 대역폭 대 단위 대역폭의 비율일 수 있고, 미리 설정된 임계 값은, 출력 라인 인터페이스 대역폭 대 단위 대역폭의 조정 값(adjustment value)의 비율일 수 있고, 단위 대역폭의 조정 값은 단위 대역폭 이상이다.
가능한 설계에서, 카운터는 각각의 송신 기간의 초기 값으로부터 카운팅을 시작한다. 선택적으로, 카운터의 초기 값은 상이한 송신 기간에서 동일할 수 있으며, 예를 들어, 초기 값은 0이다. 대안적으로, 카운터의 초기 값은 상이한 송신 기간에서 상이할 수 있다. 예를 들어,(i+1)번째 송신 기간에서, 카운터의 초기 값은, i번째 송신 기간의 끝에서 카운터의 카운트 값으로부터 미리 설정된 임계 값을 감산함으로써 획득한 값이고, i는 1 이상의 정수이다. 물론, 이것은 특정 구현으로 제한되지 않는다.
가능한 설계에서, 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달한 때, 복수의 데이터 블록 중 적어도 하나의 데이터 블록이 송신되는 단계는: 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달한 때, 클라이언트 서비스가 캐싱되면 복수의 데이터 블록 중 적어도 하나의 데이터 블록이 송신되는 단계를 포함한다.
가능한 설계에서, 클라이언트 서비스 전송 방법은: 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달한 때, 클라이언트 서비스가 캐싱되지 않은 경우 카운터의 카운팅을 중지하는 단계를 더 포함할 수 있다. 이를 기초로, 클라이언트 서비스 전송 방법은: 클라이언트 서비스가 캐싱될 때, 복수의 데이터 블록 중 적어도 하나의 데이터 블록을 송신하고, 카운터에 의해, 초기 값부터 카운팅을 시작하는 단계; 또는 클라이언트 서비스가 수신된 후, 적어도 하나의 데이터 블록을 캐싱하지 않고 적어도 하나의 데이터 블록을 직접 송신하는 단계를 더 포함한다.
가능한 설계에서, 클라이언트 서비스가 수신된 후, 클라이언트 서비스 전송 방법은: 클라이언트 서비스를 캐시 큐에 저장하는 단계; 및 카운터의 카운트 값이 미리 설정된 임계 값에 도달하는 경우, 캐시 큐로부터 적어도 하나의 데이터 블록을 획득하는 단계를 더 포함한다. 각각의 클라이언트 서비스는 하나의 캐시 큐에 대응할 수 있다. 본 출원에서, 클라이언트 서비스가 캐싱된 다음, 적어도 하나의 데이터 블록이 캐시 큐로부터 획득되고 송신된다. 이것은 데이터 블록의 출력 레이트를 제어하는 프로세스에서 패킷 손실 레이트를 감소시킬 수 있다.
가능한 설계에서, 복수의 데이터 블록의 각각의 데이터 블록은 고정 길이를 갖는다. 따라서 이것은 간단한 구현이라는 유리한 효과를 갖는다. 물론, 특정 구현에서, 상이한 데이터 블록의 길이는 상이할 수 있다.
가능한 설계에서, 복수의 데이터 블록 중 적어도 하나의 데이터 블록이 송신되는 단계는: 클라이언트 서비스의 우선 순위에 따라 복수의 데이터 블록 중 적어도 하나의 데이터 블록을 송신하는 단계 - 여기서, 예상 전송 지연(expected transmission delay)이 짧을 수록 더 높은 우선 순위를 나타냄 - 를 포함할 수 있다. 일 구현에서, 다른 클라이언트 서비스가 출력되는 경우, 예상 전송 지연이 고려되어, 다른 클라이언트 서비스의 전송 지연 요구 사항을 보다 더욱 잘 충족시켜서, 사용자 경험을 향상시킬 수 있다.
제2 측면에 따르면, 본 출원은 클라이언트 서비스 전송 장치를 제공하며, 클라이언트 서비스 전송 장치는, 전술한 방법 실시 예의 각 단계를 구현하는 기능을 갖는다. 기능은 하드웨어를 이용하여 구현되거나, 대응하는 소프트웨어를 실행함으로써 하드웨어에 의해 구현될 수 있다. 하드웨어 또는 소프트웨어는 전술한 기능에 대응하는 하나 이상의 모듈을 포함한다.
가능한 설계에서, 클라이언트 서비스 전송 장치는: 프로세서, 메모리, 버스 및 통신 인터페이스를 포함할 수 있으며, 메모리는 컴퓨터로 실행 가능한 명령을 저장하도록 구성되고; 프로세서, 메모리 및 통신 인터페이스는 버스를 사용하여 연결되고; 클라이언트 서비스 전송 장치가 실행될 때, 프로세서는 메모리에 저장된 컴퓨터로 실행 가능한 명령을 실행하여, 클라이언트 서비스 전송 장치는 제1 측면에 따른 임의의 클라이언트 서비스 전송 방법을 수행한다.
제3 측면에 따르면, 본 출원은 전술한 클라이언트 서비스 전송 장치에 의해 사용되는 컴퓨터 프로그램 명령을 저장하도록 구성된 컴퓨터로 판독 가능한 저장 매체를 제공하고; 컴퓨터 프로그램 명령이 컴퓨터 상에서 실행될 때, 컴퓨터는 제1 측면에 따른 임의의 클라이언트 서비스 전송 방법을 수행할 수 있다.
제4 측면에 따르면, 본 출원은 컴퓨터 프로그램 제품을 제공하며, 컴퓨터 프로그램 제품은 명령을 포함하고; 명령이 컴퓨터 상에서 실행될 때, 컴퓨터는 제1 측면에 따른 임의의 클라이언트 서비스 전송 방법을 수행할 수 있다.
상기 제공된 장치, 컴퓨터로 판독 가능한 매체 또는 컴퓨터 프로그램 제품 중 어느 하나의 기술적 효과에 대해서는, 대응하는 방법으로 인해 발생되는 기술적 효과를 참조할 수 있다. 상세한 내용은 여기서 다시 설명되지 않는다.
도 1은 본 출원의 일 실시 예에 따른 기술적 해결 방안에 적용 가능한 시스템 아키텍처의 개략도이다.
도 2는 본 출원의 일 실시 예에 따른 클라이언트 서비스 전송 장치의 개략 구조도이다.
도 3a는 본 출원의 일 실시 예에 따른 추가/삭제 노드의 개략 구조도이다.
도 3b는 본 출원의 일 실시 예에 따른 다른 추가/삭제 노드의 개략 구조도이다.
도 4a는 본 출원의 일 실시 예에 따른 전송 노드의 개략 구조도이다.
도 4b는 본 출원의 일 실시 예에 따른 라인 프로세싱 유닛의 개략 구조도이다.
도 4c는 본 출원의 일 실시 예에 따른 다른 전송 노드의 개략 구조도이다.
도 5는 본 출원의 일 실시 예에 따른 기술적 해결 방안에 적용 가능한 다른 시스템 아키텍처의 개략도이다.
도 6은 본 출원의 일 실시 예에 따른 클라이언트 서비스 전송 방법의 개략 상호 작용도이다.
도 7은 본 출원의 일 실시 예에 따른 데이터 블록의 개략 구조도이다.
도 8은 본 출원의 일 실시 예에 따른 라벨 교체 프로세스의 개략도이다.
도 9는 본 출원의 일 실시 예에 따른 추가/삭제 노드의 프로세싱 프로세스의 개략도이다.
도 10은 본 출원의 일 실시 예에 따른 전송 노드의 프로세싱 프로세스의 개략도이다.
도 11은 본 출원의 일 실시 예에 따른 레이트 감독 방법의 개략 흐름도이다.
도 12는 본 출원의 일 실시 예에 따른 레이트 감독 방법의 프로세스의 개략도이다.
도 13은 본 출원의 일 실시 예에 따른 정책 스케줄링 방법의 프로세스의 개략도이다.
도 14는 본 출원의 일 실시 예에 따른 다른 클라이언트 서비스 전송 장치의 개략 구조도이다.
도 1은 본 출원의 일 실시 예에 따른 기술적 해결 방안에 적용 가능한 시스템 아키텍처의 개략도를 도시한다. 시스템 아키텍처는 베어러 네트워크 디바이스(bearer network device) 및 복수의 클라이언트 디바이스(100)를 포함할 수 있다. 본 시스템에서, 하나 이상의 클라이언트 디바이스는 베어러 네트워크 디바이스를 사용하여 하나 이상의 다른 클라이언트 디바이스에 클라이언트 서비스를 송신한다. 이해를 돕기 위해, 이하에서는 클라이언트 서비스를 송신하는 클라이언트 디바이스를 전송 단 클라이언트 디바이스(transmit end client device)라고 하고, 클라이언트 서비스를 수신하는 클라이언트 디바이스를 수신 단 클라이언트 디바이스(receive end client device)라고 한다. 하나의 클라이언트 디바이스가 전송 단 클라이언트 디바이스 및 수신 단 클라이언트 디바이스 모두로서 사용될 수 있음을 이해할 수 있다. 베어러 네트워크 디바이스는 전송 단 클라이언트 디바이스 또는 수신 단 클라이언트 디바이스에 연결된 추가/삭제(add/drop) 노드(200), 및 추가/삭제 노드(200) 사이에 배치된 하나 이상의 전송 노드(300)를 포함할 수 있다. 임의의 하나 이상의 전송 노드(300)는, 임의의 하나 이상의 추가/삭제 노드(200)와 통합될 수 있거나, 독립적으로 배치될 수 있다. 본 출원에서, 설명을 위해, 추가/삭제 노드(200) 및 전송 노드(300)가 독립적으로 배치되는 예가 사용된다.
클라이언트 서비스는 이더넷 클라이언트 서비스, 동기식 디지털 계층(synchronous digital hierarchy, SDH) 클라이언트 서비스, 저장 서비스 및 비디오 서비스를 포함할 수 있지만 이에 제한되지는 않는다. 하나의 전송 단 클라이언트 디바이스는 하나 이상의 클라이언트 서비스를 하나 이상의 수신 단 클라이언트 디바이스로 전송할 수 있다. 복수의 전송 단 클라이언트 디바이스는 하나 이상의 클라이언트 서비스를 동일한 수신 단 클라이언트 디바이스로 전송할 수 있다.
도 1에 도시된 시스템은 광 네트워크일 수 있고, 구체적으로 액세스 네트워크, 예를 들어 수동 광 네트워크(passive optical network, PON)일 수 있고; 또는 수송 네트워크(transport network), 예를 들어, 광학 수송 네트워크(optical transport network, OTN), 패킷 네트워크 또는 패킷 스위치 네트워크(packet switched network)일 수 있다.
클라이언트 디바이스(100)(전송 단 클라이언트 디바이스 및/또는 수신 단 클라이언트 디바이스를 포함함)는 스위치, 라우터, 컴퓨터, 데이터 센터 또는 기지국 중 임의의 하나를 포함할 수 있으나 이에 제한되는 것은 아니다. 추가/삭제 노드(200) 및 전송 노드(300)는 각각, OTN 디바이스 또는 라우터 중 임의의 하나를 포함할 수 있으나, 이에 제한되는 것은 아니다.
추가/삭제 노드(200)는: 데이터 패킷 형태 또는 연속 데이터 스트림 형태로 전송 단 클라이언트 디바이스에 의해 송신된 클라이언트 서비스를 수신하고, 데이터 패킷 형태 또는 연속 데이터 스트림 형태의 클라이언트 서비스를 복수의 데이터 블록(슬라이스)으로 분할하고, 라우팅 정보에 따라 복수의 데이터 블록을 대응하는 전송 노드(300)에 교환하거나; 또는 전송 노드(300)에 의해 송신된 데이터 블록을 수신하고, 동일한 클라이언트 서비스에 속하는 복수의 데이터 블록을 데이터 패킷 형태 또는 연속 데이터 스트림 형태로 복원하고, 데이터 패킷 또는 연속 데이터 스트림을 대응하는 수신 단 클라이언트 디바이스로 송신하도록 구성될 수 있다. 각각의 추가/삭제 노드(200)는 하나 이상의 입력/출력 단을 포함할 수 있다. 각각의 입력/출력 단은 하나 이상의 클라이언트 디바이스(100)(전송 단 클라이언트 디바이스 또는 수신 단 클라이언트 디바이스를 포함함)에 연결되거나, 하나 이상의 전송 노드(300)에 연결될 수 있다.
전송 노드(300)는 라우팅 정보에 따라 데이터 블록을 다른 전송 노드(300) 또는 추가/삭제 노드(200)로 전달하도록 구성될 수 있다. 각각의 전송 노드(300)는 하나 이상의 입력/출력 단을 포함할 수 있다. 각각의 입력/출력 단은 하나 이상의 전송 노드(300)에 연결되거나, 하나 이상의 추가/삭제 노드(200)에 연결될 수 있다. 이하의 출력 라인 인터페이스는 전송 노드(300)의 출력 단으로서 간주될 수 있음을 유의하여야 한다.
일부 시나리오에서 추가/삭제 노드(200) 또는 전송 노드(300) 중 하나의 입력 단은, 다른 일부 시나리오에서 디바이스의 출력 단으로서 기능할 수 있음을 이해할 수 있다. 구체적으로, 입력 단 또는 출력 단으로 기능하는 것은, 이번에는 클라이언트 서비스를 전송하는 프로세스의 경로와 관련되며, 경로는 라우팅 정보에 따라 결정될 수 있다. 이번에 전송된 클라이언트 서비스의 라우팅 정보는 제어 계층에 의해 구성될 수 있고, 경로상의 라우팅 노드(추가/삭제 노드(200) 및 전송 노드(300)를 포함함)로 송신된다. 구체적인 구현 프로세스에 대해서는 종래 기술을 참조할 수 있다. 제어 계층은 추가/삭제 노드(200) 또는 전송 노드(300) 중 어느 하나에 통합된 기능 모듈일 수 있거나, 추가/삭제 노드(200) 및 전송 노드(300)와 무관한 디바이스일 수 있다. 이것은 본 출원에서 제한되지 않는다. 각각의 출력 단은 하나의 라인 인터페이스 대역폭에 대응하며, 라인 인터페이스 대역폭은 출력 단의 베어러 기능을 나타내기 위해 사용된다.
도 1은 본 출원에 적용 가능한 시스템 아키텍처의 예에 불과하다. 시스템 아키텍처에 포함된 클라이언트 디바이스(100), 추가/삭제 노드(200) 및 전송 노드(300)의 수량 및 이들 사이의 연결 관계는 본 출원으로 제한되지 않는다. 특정 구현에서, 네트워크 레이아웃은 실제 응용 시나리오에 따라 수행될 수 있다.
본 출원의 일 실시 예에서, 도 1의 임의의 하나 이상의 추가/삭제 노드(200) 및 전송 노드(300)의 개략 구조도가 도 2에 도시되어 있다. 도 2에 도시된 디바이스는: 적어도 하나의 프로세서(21), 메모리(22), 통신 인터페이스(23) 및 통신 버스(24)를 포함할 수 있다.
프로세서(21)는 디바이스의 제어 센터이며, 구체적으로는 하나의 프로세싱 요소일 수 있거나, 복수의 프로세싱 요소의 총칭일 수 있다. 예를 들어, 프로세서(21)는 중앙 처리 장치(central processing unit, CPU)일 수 있거나, ASIC(application specific integrated circuit) 또는 본 출원의 실시 예에서 제공되는 기술적 해결 방안을 구현하도록 구성된 하나 이상의 집적 회로일 수 있다. 예를 들어, 프로세서(21)는 하나 이상의 마이크로 프로세서(디지털 신호 프로세서, DSP) 또는 하나 이상의 FPGA(field programmable gate array)일 수 있다. 프로세서(21)는 메모리(22)에 저장된 소프트웨어 프로그램을 실행 또는 수행하고, 메모리(22)에 저장된 데이터를 호출함으로써 디바이스의 다양한 기능을 수행할 수 있다.
특정 구현에서, 일 실시 예에서, 프로세서(21)는 하나 이상의 CPU, 예를 들어, 도 2에 도시된 CPU 0 및 CPU 1을 포함할 수 있다.
특정 구현에서, 일 실시 예에서, 디바이스는 복수의 프로세서, 예를 들어 도 2에 도시된 프로세서(21) 및 프로세서(25)를 포함할 수 있다. 이들 프로세서 각각은 단일 코어(단일 CPU) 프로세서 또는 다중 코어(다중 CPU) 프로세서일 수 있다. 본 명세서에서 프로세서는 데이터(예를 들어, 컴퓨터 프로그램 명령)를 처리하도록 구성된 하나 이상의 디바이스, 회로 및/또는 프로세싱 코어일 수 있다.
메모리(22)는 ROM(read-only memory) 또는 정적 정보 및 명령을 저장할 수 있는 다른 유형의 정적 저장 디바이스 또는 RAM(random access memory) 또는 정보 및 명령을 저장할 수 있는 다른 유형의 동적 저장 디바이스일 수 있거나; 또는 EEPROM(electrically erasable programmable read-only memory), CD-ROM(compact disc read-only memory) 또는 다른 컴팩트 디스크 스토리지, 광 디스크 스토리지(컴팩트 디스크, 레이저 디스크, 광 디스크, 디지털 다용도 디스크, 블루 레이 디스크 등을 포함함), 자기 디스크 저장 매체 또는 다른 자기 저장 디바이스 또는, 명령 및 데이터 구조 형태를 갖는 예상 프로그램 코드(expected program code)를 운반 또는 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체일 수 있다. 그러나, 이것은 여기에 제한되지 않는다. 메모리(22)는 독립적으로 존재할 수 있고 통신 버스(24)를 사용하여 프로세서(21)에 연결된다. 대안적으로, 메모리(22)는 프로세서(21)와 통합될 수 있다. 메모리(22)는 본 출원의 실시 예에서 제공되는 기술적 해결 방안의 디바이스에 의해 실행되는 소프트웨어 프로그램을 저장 및 실행하도록 구성되고, 실행은 프로세서(21)에 의해 제어된다.
통신 인터페이스(23)는 임의의 트랜시버(예를 들어, 광 수신기 또는 광 모듈)를 사용하는 장치의 일 유형일 수 있으며, 다른 디바이스 또는 통신 네트워크, 예를 들어 이더넷, RAN(radio access network) 또는 WLAN(wireless local area network)와 통신을 하도록 구성될 수 있다. 통신 인터페이스(23)는 수신 기능을 구현하는 수신 유닛 및 송신 기능을 구현하는 송신 유닛을 포함할 수 있다.
통신 버스(24)는 ISA(Industry Standard Architecture) 버스, PCI(Peripheral Component Interconnect) 버스, EISA(Extended Industry Standard Architecture) 버스 등일 수 있다. 버스는 어드레스 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 표현의 용이성을 위해, 버스는 도 2에서 단 하나의 굵은 선으로 표현되지만, 이것은 버스가 하나만 있거나 버스의 유형이 하나만 있음을 나타내는 것은 아니다.
본 출원의 일 실시 예에서, 도 1의 추가/삭제 노드(200)의 개략 구조도가 도 3a에 도시될 수 있다. 도 3a에 도시된 추가/삭제 노드(200)는 하나 이상의 지류 프로세싱 유닛(tributary processing unit)(31), 서비스 스위칭 유닛(service switching unit)(32) 및 하나 이상의 라인 프로세싱 유닛(line processing unit)(33)을 포함할 수 있다. 지류 프로세싱 유닛(31)은: 추가/삭제 노드(200)의 입력 단을 이용하여, 전송 단 클라이언트 디바이스에 의해 송신된 클라이언트 서비스를 수신하고, 수신된 클라이언트 서비스를 데이터 블록으로 분할, 예를 들어, 클라이언트 서비스를 고정 길이 데이터 블록으로 분할하도록 구성될 수 있다. 그리고, 서비스 스위칭 유닛(32)은 데이터 블록을, 대응하는 라인 프로세싱 유닛(33)에 교환한다. 서비스 스위칭 유닛(32)이, 지류 프로세싱 유닛(31)으로부터 전송된 클라이언트 서비스를 특정 라인 프로세싱 유닛(33)에 교환하는 것은 본 출원으로 제한되지 않는다. 구체적인 구현 프로세스에 대해서는 종래 기술을 참조할 수 있다. 라인 프로세싱 유닛(33)은, 추가/삭제 노드(200)의 출력 단을 이용하여 추가/삭제 노드(200)로부터, 수신된 데이터 블록을 출력하도록 구성될 수 있다.
하드웨어 구현에서, 도 3b에 도시된 바와 같이, 지류 프로세싱 유닛(31)은 지류 보드(31a)일 수 있고, 서비스 스위칭 유닛(32)은 교차 연결 보드(cross-connect board)(32a)일 수 있으며, 라인 프로세싱 유닛(33)은 라인 보드(line board)(33a)일 수 있다. 지류 보드(31a), 교차 연결 보드(32a) 및 라인 보드(33a)는 메인 제어 보드(34a)에 연결될 수 있다. 메인 제어 보드(34a)는 추가/삭제 노드(200)의 제어 중심이며, 본 출원에서 제공되는 방법의 대응하는 단계를 수행하도록 지류 보드(31a), 교차 연결 보드(32a) 및 라인 보드(33a)를 제어하도록 구성된다. 간결성을 위해, 도 3b는 하나의 지류 보드(31a) 및 하나의 라인 보드(33a)가 메인 제어 보드(34a)에 연결되는 것을 도시한다. 실제 구현에서, 각각의 지류 보드(31a) 및 각각의 라인 보드(33a)는 메인 제어 보드(34a)에 연결될 수 있다. 선택적으로, 추가/삭제 노드(200)는 보조 광 프로세싱 유닛(35a)을 더 포함할 수 있고, 보조 광 프로세싱 유닛(35a)은 광 증폭(optical amplification, OA) 유닛, 광 다중화(optical multiplexing, OM) 유닛, 및 광 역 다중화(optical de-multiplexing, OD) 유닛, 단일 채널 광 감독 채널(optical supervisory channel, OSC) 유닛, 섬유 인터페이스 유닛(fiber interface unit, FIU) 등을 포함할 수 있다.
본 출원의 일 실시 예에서, 도 1의 전송 노드(300)의 개략 구조도는 도 4a에 도시될 수 있다. 도 4a에 도시된 전송 노드(300)는 하나 이상의 소스 라인 프로세싱 유닛(source line processing unit)(41), 서비스 스위칭 유닛(service switching unit)(42) 및 하나 이상의 목적지 라인 프로세싱 유닛(destination line processing unit)(43)을 포함할 수 있다. 소스 라인 프로세싱 유닛(41)은, 전송 노드(300)의 입력 단을 사용하여, 추가/삭제 노드(200) 또는 다른 전송 노드(300)에 의해 송신된 데이터 블록을 수신하도록 구성될 수 있고, 이후 서비스 스위칭 유닛(42)은 대응하는 목적지 라인 프로세싱 유닛(43)에 데이터 블록을 교환한다. 서비스 스위칭 유닛(42)이, 소스 라인 프로세싱 유닛(41)으로부터 전송된 클라이언트 서비스를 특정 목적지 라인 프로세싱 유닛(43)에 교환하는 것은 본 출원으로 제한되지 않는다. 구체적인 구현 프로세스에 대해서는 종래 기술을 참조할 수 있다. 목적지 라인 프로세싱 유닛(43)은, 전송 노드(300)의 출력 단을 사용하여 전송 노드(300)로부터, 수신된 클라이언트 서비스를 출력하도록 구성될 수 있다.
도 4b에 도시된 바와 같이, 라인 프로세싱 유닛(라인 프로세싱 유닛(33) 및/또는 목적지 라인 프로세싱 유닛(43)을 포함함)은 큐 캐시 모듈(queue cache module)(431) 및 레이트 감독 모듈(rate supervision module)(432)을 포함할 수 있고, 선택적으로 정책 스케줄링 모듈(policy scheduling module)(433)을 더 포함할 수 있다. 선택적으로, 라인 프로세싱 유닛은, 레이트 조정 모듈(rate adaptation module)(434)을 더 포함할 수 있다. 모듈들 사이의 연결 관계의 예가 도 4a에 도시되어 있다. 각 모듈의 기능에 대해서는 아래의 설명을 참조할 수 있다.
하드웨어 구현에서, 소스 라인 프로세싱 유닛(41)은 소스 라인 보드(source line board)(41a)일 수 있고, 서비스 스위칭 유닛(42)은 교차 연결 보드(42a)일 수 있고, 목적지 라인 프로세싱 유닛(43)은 목적지 라인 보드(destination line board)(43a)일 수 있다. 도 4c에 도시된 바와 같이, 소스 라인 보드(41a), 교차 연결 보드(42a) 및 목적지 라인 보드(43a)는 메인 제어 보드(44a)에 연결될 수 있다. 메인 제어 보드(44a)는 전송 노드(300)의 제어 센터이며, 소스 라인 보드(41a), 교차 연결 보드(42a) 및 목적지 라인 보드(43a)를 제어하여, 본 출원에서 제공되는 방법에서 대응하는 단계를 수행하도록 구성된다. 간결성을 위해, 도 4c는 하나의 소스 라인 보드(41a) 및 하나의 목적지 라인 보드(43a)가 메인 제어 보드(44a)에 연결된 것을 도시한다. 실제 구현에서, 각각의 소스 라인 보드(41a) 및 각각의 목적지 라인 보드(43a)는 메인 제어 보드(44a)에 연결될 수 있다. 선택적으로, 전송 노드(300)는 보조 광 프로세싱 유닛(45a)을 더 포함할 수 있다. 보조 광 프로세싱 유닛(45a)의 구체적인 구현에 대해서는 보조 광 프로세싱 유닛(35a)을 참조할 수 있다.
본 명세서에서 용어 "일/복수의"는 적어도 2를 지칭한다는 점을 유의하여야 한다.
본 명세서에서 용어 "제1", "제2" 등은 단지 상이한 객체를 구별하기 위한 것이며, 객체의 순서를 제한하지는 않는다. 예를 들어, 제1 추가/삭제 노드 및 제2 추가/삭제 노드는 단순히 상이한 추가/삭제 노드를 구별하기 위한 것이며, 제1 추가/삭제 노드 및 제2 추가/삭제 노드의 순서를 제한하지는 않는다.
본 명세서에서 용어 "및/또는"은, 연관 객체를 설명하기 위한 연관 관계만을 설명하고, 3가지 관계가 존재할 수 있음을 나타낸다. 예를 들어, A 및/또는 B는 다음 세 가지 경우를 나타낼 수 있다: A만 존재하는 경우, A와 B가 모두 존재하는 경우, 그리고 B만 존재하는 경우. 또한, 본 명세서에서 문자 "/"는 일반적으로 연관 객체 사이의 "또는" 관계를 나타낸다. 식에서 "/"는, 일반적으로 연관 객체가 "나누어질 수 있는(divisible)" 관계를 갖는 것으로 이해될 수 있다.
이하에서는 본 출원의 실시 예에서의 기술적 해결 방안을 상세히 설명한다.
이하의 특정 예는, 본 출원에 제공되는 기술적 해결 방안이 도 5에 도시된 시스템 아키텍처에 적용되는 예를 사용하여 설명됨에 유의하여야 한다. 도 5에 도시된 시스템 아키텍처는 도 1에 도시된 시스템 아키텍처의 특정 구현에 해당한다. 도 5에서, 클라이언트 디바이스(1)는, 추가/삭제 노드(1), 전송 노드(1) 및 추가/삭제 노드(2)를 이용하여 클라이언트 서비스(1)를 클라이언트 디바이스(4)로 전송하고; 클라이언트 디바이스(2)는, 추가/삭제 노드(1), 전송 노드(1) 및 추가/삭제 노드(2)를 이용하여 클라이언트 서비스(2)를 클라이언트 디바이스(5)에 전송하고; 클라이언트 디바이스(3)는 추가/삭제 노드(1), 전송 노드(2) 및 추가/삭제 노드(3)를 사용하여 클라이언트 서비스(3)를 클라이언트 디바이스(5)로 전송한다. 실제로, 본 출원에서 제공되는 기술적 해결 방안은, 하나의 전송 단 클라이언트 디바이스가 복수의 클라이언트 서비스를 추가/삭제 노드에 전송하는 시나리오에 적용될 수도 있다. 시나리오의 기본 원리에 대해서는, 이하의 설명을 참조할 수 있다.
또한, 이하에서의 설명을 위해, 클라이언트 서비스의 데이터 블록에 대한 캐싱(caching), 레이트 감독(rate supervision), 정책 스케줄링(policy scheduling), 레이트 조정(rate adaptation) 등의 동작이 전송 노드에 적용되는 예가 사용됨을 유의하여야 한다. 실제 구현에서, 이들 동작 중 하나 이상은 또한, 추가/삭제 노드(제1 추가/삭제 노드 및/또는 제2 추가/삭제 노드를 포함함)에 적용될 수 있다. 본 시나리오의 구체적인 구현 프로세스에 대해서는, 이러한 동작을 전송 노드에 적용하는 것에 관한 설명을 참조할 수 있다. 본 출원에서, 상세한 내용은 여기에서 다시 설명되지 않는다.
도 6은 본 출원의 일 실시 예에 따른 클라이언트 서비스 전송 방법의 개략 상호 작용도를 도시한다. 도 6에 도시된 방법은 이하의 단계 S101 내지 S104를 포함할 수 있다.
S101. 복수의 전송 단 클라이언트 디바이스는 클라이언트 서비스를 제1 추가/삭제 노드로 송신하며, 여기서 클라이언트 서비스는 데이터 패킷 형태 또는 연속 데이터 스트림의 형태로 전송된다. 제1 추가/삭제 노드는 도 5의 추가/삭제 노드 1일 수 있고, 이는 아래에서의 설명을 위한 예로서 사용될 수 있다.
복수의 전송 단 클라이언트 디바이스는 추가/삭제 노드(1)에 연결된 임의의 복수의 전송 단 클라이언트 디바이스일 수 있다. 복수의 전송 단 클라이언트 디바이스 중 임의의 하나 이상의 전송 단 클라이언트 디바이스는, 클라이언트 서비스를 추가/삭제 노드(1)에 연속적으로 또는 비 연속적으로 송신할 수 있다.
도 5에 도시된 시스템 아키텍처에 기초하여, S101은: 클라이언트 디바이스(1)가 클라이언트 서비스(1)를 추가/삭제 노드(1)로 송신하고, 클라이언트 디바이스(2)가 클라이언트 서비스(2)를 추가/삭제 노드(1)로 송신하고, 클라이언트 디바이스(3)가 클라이언트 서비스(3)를 추가/삭제 노드(1)로 송신한다.
S101 이전에, 상기 방법은: 각각의 전송 단 클라이언트 디바이스에 의해, 클라이언트 서비스(예를 들어, 클라이언트 서비스(1, 2 또는 3))의 대역폭에 대한 제어 계층에 적용하여, 제어 계층이, 전송 단 클라이언트 디바이스가 클라이언트 서비스를 전송하기 위한 특정 대역폭을 예약하기 위해 추가/삭제 노드(1)을 제어하는 단계를 더 포함한다. 클라이언트 서비스의 대역폭은 요구 사항(예를 들어, 전송될 클라이언트 서비스의 크기 및 예상 전송 지연 요구 사항)에 따라 전송 단 클라이언트 디바이스에 의해 결정될 수 있다. 동일한 전송 단 클라이언트 디바이스가 다른 클라이언트 서비스를 송신하는 경우, 클라이언트 서비스의 대역폭은 동일할 수도 있고 상이할 수도 있다. 다른 전송 단 클라이언트 디바이스가 동일한 클라이언트 서비스를 송신하는 경우, 클라이언트 서비스의 대역폭은 동일하거나 상이할 수 있다. 이것은 본 출원으로 제한되지 않는다.
본 출원의 일 실시 예에서, 제어의 용이성을 위해, 시스템에서 단위 대역폭(즉, 최소 대역폭 입도(granularity))이 설정된다. 각각의 전송 단 클라이언트 디바이스는, 클라이언트 서비스의 대역폭을 단위 대역폭의 정수 배로 설정할 수 있다. 예를 들어, 단위 대역폭이 2 Mbps인 경우, 클라이언트 서비스의 대역폭은 n x 2 Mbps일 수 있으며, 여기서 n은 1 이상의 정수일 수 있다.
S102. 제1 추가/삭제 노드는, 복수의 전송 단 클라이언트 디바이스에 의해 송신된 클라이언트 서비스를 수신하고, 수신된 클라이언트 서비스를 고정 길이 데이터 블록으로 분할하고, 각각의 데이터 블록을 사용하여 하나의 슬라이스를 생성하고, 라우팅 정보에 따라, 각각의 슬라이스를, 대응하는 전송 노드에 출력한다.
단계 S102는 다음과 같이 이해될 수 있다: 추가/삭제 노드(1)는 수신된 클라이언트 서비스를 베어러 컨테이너(bearer container)에 매핑하며, 각각의 베어러 컨테이너는 하나의 데이터 블록을 운반하기 위해 사용된다. "베어러 컨테이너"는, 데이터 블록 분할 프로세스를 보다 생생하게 설명하기 위해 제안된 논리적 개념이며, 실제로 존재하지 않을 수 있음을 이해할 수 있다.
도 5에 도시된 시스템 아키텍처에 기초하여, S102는: 추가/삭제 노드(1)가 클라이언트 디바이스(1)에 의해 송신된 클라이언트 서비스(1), 클라이언트 디바이스(2)에 의해 송신된 클라이언트 서비스(2) 및 클라이언트 디바이스(3)에 의해 송신된 클라이언트 서비스(3)를 수신하고, 클라이언트 서비스(1, 2 및 3)를 고정 길이 데이터 블록으로 균등하게 분할하고, 각각의 데이터 블록을 사용하여 하나의 슬라이스를 생성하는 단계를 포함할 수 있다. 그리고, 추가/삭제 노드(1)는 클라이언트 서비스(1)의 각각의 슬라이스를 전송 노드(1)에 출력하고, 클라이언트 서비스(2)의 각각의 슬라이스를 전송 노드(1)에 출력하고, 클라이언트 서비스(3)의 각각의 슬라이스를 전송 노드(2)에 출력한다.
하나 이상의 데이터 패킷 또는 연속 데이터 스트림을 수신하는 경우, 추가/삭제 노드(1)는, 수신 시간의 시퀀스에 따라, 수신된 데이터 패킷 또는 연속 데이터 스트림을 데이터 블록으로 분할할 수 있다. 각각의 데이터 블록은 고정 길이를 가질 수 있고, 즉, 추가/삭제 노드(1)는, 임의의 전송 단 클라이언트 디바이스에 의해 송신된 임의의 수신된 클라이언트 서비스를 고정 길이 데이터 블록으로 균등하게 분할한다. 설명의 편의를 위해, 데이터 블록이 고정 길이를 갖는 예가 본 출원에서 설명을 위해 사용된다. 실제 구현에서, 다른 데이터 블록의 길이는 동일하지 않을 수 있다. 본 명세서에서 "데이터 블록"은 클라이언트 서비스를 포함하고, 선택적으로, 클라이언트 서비스의 일부 연관 정보 등을 더 포함할 수 있음을 이해할 수 있다.
예를 들어, 고정 길이 데이터 블록의 길이가 123 바이트라고 가정할 수 있다. 클라이언트 서비스의 대역폭이 2 Mbps인 경우, 추가/삭제 노드(1)에 입력되는 데이터 블록의 평균 레이트는 2 Mbps/123 바이트 데이터 블록/초이고, 즉, 추가/삭제 노드(1)의 지류 프로세싱 유닛이 컨테이너를 형성하는 경우, 평균적으로 초당 2 Mbps/123 바이트 데이터 블록이 생성된다. 클라이언트 서비스의 대역폭이 4 Mbps인 경우, 추가/삭제 노드(1)에 입력되는 데이터 블록의 평균 레이트는 4 Mbps/123 바이트 데이터 블록/초이다.
베어러 네트워크 디바이스(bear network device)(제1 추가/삭제 노드, 제2 추가/삭제 노드 및/또는 전송 노드를 포함함)가 데이터 블록에 대한 프로세싱(예를 들어, 교환 및 전송) 중 데이터 블록을 인식할 수 있도록 하기 위해, 본 출원의 일 실시 예에서, 수신된 데이터 패킷 또는 연속 데이터 스트림을 고정 길이 데이터 블록으로 분할한 후, 추가/삭제 노드(1)는 하나의 라벨(label)을 각각의 데이터 블록에 추가할 수 있다. 전송 단 클라이언트 디바이스에 의해 추가/삭제 노드(1)로 송신되는 상이한 유형의 클라이언트 서비스의 전송 포맷은 상이할 수 있기 때문에, 구현의 용이성을 위해, 본 출원은 도 7에 도시된 바와 같은 데이터 블록의 포맷을 제공한다. 추가/삭제 노드(1)로 전송되는 임의의 유형의 클라이언트 서비스의 포맷은 도 7에 도시된 포맷으로 변환될 수 있다. 도 7에서, 데이터 블록의 포맷은 라벨 및 페이로드(payload) 영역을 포함할 수 있다. 선택적으로, 데이터 블록의 포맷은 CRC(cyclic redundancy check) 영역을 더 포함할 수 있다.
라벨은 전역 라벨(global label)일 수 있거나, 라인 인터페이스 로컬 라벨(line interface local label)일 수 있다. 전역 라벨은 시스템의 각각의 디바이스에 의해 인식될 수 있는 라벨일 수 있다. 라인 인터페이스 로컬 라벨은 서로 직접 통신하는 두 디바이스에서 인식할 수 있는 라벨일 수 있다. 전역 라벨과 비교하여, 라인 인터페이스 로컬 라벨은 적은 양의 비트를 차지한다. 라벨이 라인 인터페이스 로컬 라벨인 예가 아래의 설명에 사용된다. 데이터 블록의 라벨은 여러 클라이언트 서비스들을 구별하기 위해 추가로 사용될 수 있음을 이해할 수 있다. 데이터 블록의 라벨은 제어 계층에 의해 구성될 수 있다. 페이로드 영역은 클라이언트 서비스를 운반하기 위해 사용되며, 선택적으로, 클라이언트 서비스의 일부 연관 정보 등을 운반하기 위해 추가로 사용될 수 있다. CRC 영역은 검사 비트를 운반하기 위해 사용되며, 검사 비트는 페이로드 영역에서 운반되는 정보의 무결성을 검사하기 위해 사용될 수 있다. 물론, 특정 구현에서, 무결성 검사는 대안적으로 다른 방식으로 구현될 수 있으며, 이것은 CRC로 제한되지 않는다.
라벨, 페이로드 영역 또는 CRC 영역 중 임의의 하나가 차지하는 비트 크기는 본 출원으로 제한되지 않는다. 도 7에서, 라벨이 4 바이트(Byte)를 차지하고, 페이로드 영역이 123 바이트를 차지하고, CRC 영역이 1 바이트를 차지하는 예가 설명을 위해 사용된다. 도 7에 도시된 "데이터 블록"을, 추가/삭제 노드(1)가 수신된 클라이언트 서비스를 분할하는 "데이터 블록"으로부터 구별하기 위해, 본 출원에서, (도 7에 도시된 바와 같은) 라벨을 포함하는 데이터 블록은 "슬라이스(slice)"로 참조됨을 유의하여야 한다. 각각의 데이터 블록은 하나의 슬라이스에 대응하고, 각각의 데이터 블록은, 데이터 블록에 대응하는 슬라이스의 페이로드 영역에서 운반되는 정보로 간주될 수 있다.
선택적으로, 추가/삭제 노드(1)의 입력 단과 출력 단 사이에 일대 다 관계(one-to-many relationship)가 있는 경우, 예를 들어, 하나의 클라이언트 서비스는 다른 경로를 사용하여 다른 수신 단 클라이언트 디바이스로 전송되고, 추가/삭제 노드(1)에 의해 데이터 블록을 프로세싱하는 절차는 다음을 포함할 수 있다: 추가/삭제 노드(1)는 데이터 블록에 라벨 a를 추가하고, 라우팅 정보에 따라 라벨 a를 라벨 b로 교체하고, CRC를 재계산한다. 라벨 교체는, 추가/삭제 노드(1)의 지류 프로세싱 유닛, 서비스 스위칭 유닛 또는 라인 프로세싱 유닛 중 어느 하나에 의해 수행될 수 있다. 특정 구현 프로세스가 도 8에 도시될 수 있다.
도 9는 S102의 구현 프로세스의 개략도를 도시한다. 도 9에서, 추가/삭제 노드(1)의 지류 프로세싱 유닛(31)이, 수신된 데이터 패킷 또는 연속 데이터 스트림을 데이터 블록으로 분할하고, 각각의 데이터 블록을 사용하여 하나의 슬라이스를 생성하는 예가 설명을 위해 사용된다.
S103. 전송 노드는, 제1 추가/삭제 노드에 의해 송신된, 클라이언트 서비스의 슬라이스를 수신하고, 라우팅 정보에 따라 수신된 슬라이스에 대한 교환 동작을 수행하고; 교환된 슬라이스가 속하는 클라이언트 서비스에 따라, 교환된 슬라이스를 캐싱하며, 여기서 각각의 클라이언트 서비스는 하나의 캐시 큐에 대응하고; 각각의 클라이언트 서비스의 슬라이스에 대해 레이트 감독 동작을 개별적으로 수행하고, 레이트 감독 클라이언트 서비스(rate-supervised client service)에 대해 정책 스케줄링 동작, 레이트 조정 동작 등을 수행하고, 전술한 동작이 수행된 슬라이스를 다음 라우팅 노드로 전송한다. 다음 라우팅 노드는, 다음 전송 노드 또는 제2 추가/삭제 노드일 수 있다. 다음 라우팅 노드가 제2 추가/삭제 노드인 경우, S104가 수행된다. 다음 라우팅 노드가 전송 노드인 경우, 전송 노드는, 다음 라우팅 노드가 제2 추가/삭제 노드가 될 때까지 S103, ...,을 계속 수행한 다음, S104가 수행된다.
캐시 공간은 일반적으로 모든 캐시 큐에 의해 공유되는 것으로 이해될 수 있다. 전송 노드가 전송 노드의 베어러 능력 범위 내에서 클라이언트 서비스를 수신 할 때마다, 전송 노드는 클라이언트 서비스를 위한 캐시 큐를 할당할 수 있다.
도 5에 도시된 시스템 아키텍처에 기초하여, 제2 추가/삭제 노드는 추가/삭제 노드(2)및 추가/삭제 노드(3)을 포함할 수 있다. S103은 다음을 포함할 수 있다: 전송 노드(1)는 추가/삭제 노드(1)에 의해 송신된 클라이언트 서비스(1 및 2)의 슬라이스를 수신하고, 클라이언트 서비스(1 및 2)의 슬라이스를 추가/삭제 노드(2)에 전송하고; 전송 노드(2)는 추가/삭제 노드(1)에 의해 송신된 클라이언트 서비스(3)의 슬라이스를 수신하고, 클라이언트 서비스(3)의 슬라이스를 추가/삭제 노드(3)에 전송한다.
전송 노드가, 라우팅 정보에 따라, 수신된 슬라이스에 대해 교환 동작을 수행하는 것은: 전송 노드가, 라우팅 정보에 따라, 슬라이스의 다음 라우팅 노드를 결정한 다음 교환 동작을 수행하는 것을 포함할 수 있다는 점을 이해할 수 있다. 선택적으로, 데이터 블록의 라벨이 라인 인터페이스 로컬 라벨인 경우, 전송 노드는 또한, 교환 동작을 수행하는 프로세스에서 라벨 교체 동작을 수행할 필요가 있다. 예를 들어, 도 5에 도시된 시스템 아키텍처에 기초하여, 추가/삭제 노드(1)에 의해 전송 노드(2)로 송신된 클라이언트 서비스(3)의 데이터 블록 라벨이 라벨 b인 경우, 전송 노드(2)는 교환 동작을 수행하는 프로세스에서 라벨 b를 라벨 c로 교체할 수 있고, 선택적으로, 전송 노드(2)는 데이터 블록의 CRC를 재계산할 수 있다. 프로세스의 구체적인 구현에 대해서는 도 8을 참조할 수 있다. 라벨 b는 추가/삭제 노드(1) 및 전송 노드(2)에 의해 인식될 수 있는 라벨이고, 라벨 c는 전송 노드(2) 및 추가/삭제 노드(3)에 의해 인식될 수 있는 라벨이다.
본 출원의 일 실시 예에서, 클라이언트 서비스의 슬라이스를 수신한 후, 전송 노드는 슬라이스에 포함된 CRC에 따라 무결성 검사를 수행할 수 있고; 검사가 성공하면, 레이트 감독, 정책 스케줄링 및 레이트 조정을 수행한다. 선택적으로, 검사가 실패하면, 슬라이스는 폐기된다.
전송 노드의 개략 구조도가 도 4a에 도시된 경우, 교환 동작은 서비스 스위칭 유닛(42)에 의해 수행될 수 있고, 캐시 동작은 큐 캐시 모듈(431)에 의해 수행될 수 있고, 레이트 감독 동작은 레이트 감독 모듈(432)에 의해 수행될 수 있고, 정책 스케줄링 동작은 레이트 스케줄링 모듈(433)에 의해 수행될 수 있고, 레이트 조정 동작은 레이터 조정 모듈(434)에 의해 수행될 수 있다. 레이트 감독 동작, 정책 스케줄링 동작 및 레이트 조정 동작에 대한 관련 설명 및 구체적인 구현에 대해서는, 이하의 설명을 참조할 수 있다.
도 10은 S103의 구현 프로세스의 개략도를 도시한다. 도 10에서, 전송 노드의 2 개의 입력 단으로 입력되는 복수의 클라이언트 서비스가 하나의 출력 단으로 전송되는 예가 설명을 위해 사용된다. 각각의 작은 사각형 격자는 하나의 슬라이스를 나타내고, 각각의 작은 음영 격자는 하나의 클라이언트 서비스를 나타내며, 캐시 큐의 각각의 작은 빈 격자는 캐시 큐에 슬라이스가 저장되지 않았 음을 나타낸다. 큐 캐싱 및 레이트 감독은 각각의 클라이언트 서비스에 대해 별도로 수행된다. 정책 스케줄링 및 레이트 조정이 복수의 클라이언트 서비스에 대해 균일하게 수행된 후, 복수의 클라이언트 서비스는 출력 단으로부터 출력된다.
S104. 제2 추가/삭제 노드는, 전송 노드에 의해 송신된, 클라이언트 서비스의 슬라이스를 수신하고 각각의 슬라이스의 데이터 블록을 획득하고; 동일한 클라이언트 서비스의 데이터 블록을, 수신 시간의 시퀀스에 따라 데이터 패킷 형태 또는 연속 데이터 스트림 형태로 복원하고; 대응하는 수신 단 클라이언트 디바이스로 클라이언트 서비스를 송신한다. 수신 단 클라이언트 디바이스는 제2 추가/삭제 노드에 의해 송신된 클라이언트 서비스를 수신한다.
도 5에 도시된 시스템 아키텍처에 기초하여, S104는 다음을 포함할 수 있다: 추가/삭제 노드(2)가 전송 노드(1)에 의해 송신된 클라이언트 서비스(1)의 슬라이스를 수신하고, 클라이언트 서비스(1)의 슬라이스를 데이터 패킷의 형태 또는 연속 데이터 스트림의 형태로 복원하고, 데이터 패킷 또는 연속 데이터 스트림을 클라이언트 디바이스(4)에 송신한다. 클라이언트 디바이스(4)는 추가/삭제 노드(2)에 의해 송신된 클라이언트 서비스(1)를 수신한다. 추가/삭제 노드(2)는 전송 노드(1)에 의해 송신된 클라이언트 서비스(2)의 슬라이스를 수신하고, 클라이언트 서비스(2)의 슬라이스를 데이터 패킷 형태 또는 연속 데이터 스트림 형태로 복원하고, 데이터 패킷 또는 연속 데이터 스트림을 클라이언트 디바이스(5)에 송신한다. 추가/삭제 노드(3)는 전송 노드(2)에 의해 송신된 클라이언트 서비스(3)의 슬라이스를 수신하고, 클라이언트 서비스(3)의 슬라이스를 데이터 패킷의 형태 또는 연속 데이터 스트림의 형태로 복원하고, 데이터 패킷 또는 연속 데이터 스트림을 클라이언트 디바이스(5)에 송신한다. 클라이언트 디바이스(5)는 추가/삭제 노드(3)에 의해 송신된 클라이언트 서비스(2 및 3)을 수신한다.
본 출원의 일 실시 예에서, 클라이언트 서비스의 슬라이스를 수신한 후, 제2 추가/삭제 노드는, 슬라이스에 포함된 CRC에 따라 무결성 검사를 수행할 수 있고; 검사에 성공하면, 슬라이스의 라벨을 삭제하고 슬라이스의 데이터 블록을 획득한다.
S104의 특정 구현 프로세스의 개략도는 도 9의 역 프로세스일 수 있다.
이하에서는, S103의 레이트 감독, 정책 스케줄링 및 레이트 조정 등의 동작에 대해 설명한다.
1. 레이트 감독
레이트 감독은 본 출원에서 제공되는 클라이언트 서비스의 출력 레이트를 제어하는 기술이며, 혼잡 발생 가능성을 감소시키고 혼잡 발생까지도 피할 수 있도록 돕는다. 구체적으로, 복수의 카운터가 전송 노드에 설정되고, 각각의 클라이언트 서비스는 하나의 카운터에 대응할 수 있고, 각각의 카운터는 클라이언트 서비스의 출력 레이트를 제어하기 위해 사용된다. 그리고, 복수의 송신 기간에 복수의 데이터 블록이 송신된다. 각각의 송신 기간에서, 카운터의 카운트 값이 미리 설정된 임계 값에 도달하면, 복수의 데이터 블록 중 적어도 하나의 데이터 블록이 송신된다. 카운터는 소프트웨어 또는 하드웨어에 의해 구현될 수 있으며, 이것은 본 출원으로 제한되지 않는다. 전송 노드는 각각의 클라이언트 서비스에 대해 개별적으로 레이트 감독을 수행할 수 있다.
본 출원의 일 실시 예에서, 레이트 감독은 클라이언트 서비스의 출력 레이트에 대해 수행된다. 도 11에 도시된 바와 같이, 각각의 송신 기간에서, 전송 노드(특히 전송 노드에서 레이트 감독 모듈(432)일 수 있음)는 다음 단계 S201 내지 S205를 수행할 수 있다.
S201. 카운터의 각각의 카운팅 기간에서 카운터의 카운트 값을 C만큼 증가시키고, 여기서, C는 미리 설정된 임계 값 이하이다.
S202. 카운터의 카운트 값이 미리 설정된 임계 값에 도달했는지 여부를 결정한다.
카운터의 카운트 값이 미리 설정된 임계 값에 도달한 경우, S203이 수행되고; 또는 카운터의 카운트 값이 미리 설정된 임계 값에 도달하지 않은 경우, S201이 수행된다.
S203. 클라이언트 서비스의 캐시 큐가, 카운터에 대응하는 클라이언트 서비스의 데이터 블록을 캐싱하는지 여부를 결정한다.
클라이언트 서비스의 캐시 큐가, 카운터에 대응하는 클라이언트 서비스의 데이터 블록을 캐싱하는 경우, S204가 수행된다. 클라이언트 서비스의 캐시 큐가, 카운터에 대응하는 클라이언트 서비스의 데이터 블록을 캐싱하지 않는 경우, S205가 수행된다.
S204. 캐시 큐에서 하나 이상의 데이터 블록을 획득하고 하나 이상의 데이터 블록을 송신한다.
S204가 수행된 후, 이 송신 기간은 종료된다.
S205. 카운터의 카운팅을 중지한다.
S205가 수행된 후, S203이 수행된다.
레이트 감독을 수행하는 프로세스에서, 전송 노드는 제1 추가/삭제 노드에 의해 송신된 클라이언트 서비스를 연속적으로 또는 비 연속적으로 수신하거나, 또는 다른 전송 노드에 의해 송신된 클라이언트 서비스를 정기적으로 수신할 수 있음을 이해할 수 있다. 따라서, 캐시 큐가 클라이언트 서비스를 캐싱하지 않으면, S205가 잠시 수행된 후, S203이 수행되고; 이 경우에, 캐시 큐는 클라이언트 서비스를 캐싱할 후 있어서, S204가 수행될 수 있다. 또한, 특정 구현에서, 시간의 지속 기간이 또한 설정될 수 있다. 이러한 방식으로, 카운터가 해당 기간 동안 카운팅을 중지하는 경우, S203이 수행되면, 캐시 큐는 여전히 클라이언트 서비스를 캐싱하지 않으며, 클라이언트 서비스의 전송이 종료되는 것으로 간주될 수 있다. 지속 시간의 특정 값은 본 출원으로 제한되지 않는다.
전술한 S201 내지 S205는 하나의 송신 기간에서의 레이트 감독 프로세스를 설명한다. 복수의 송신 기간에 대해, 선택적으로, 카운터는 각각의 송신 기간의 초기 값으로부터 카운팅을 시작한다. 다른 송신 기간에 대한 초기 값은 동일할 수도 있고 다를 수도 있다. 본 출원의 일 실시 예에서, (i+1)번째 송신 기간에서, 카운터의 초기 값은, i번째 송신 기간의 끝에서 카운터의 카운트 값으로부터 미리 설정된 임계 값을 감산함으로써 획득한 값이고, i는 1 이상의 정수이다. 본 출원의 다른 실시 예에서, 각각의 송신 기간에서, 카운터의 초기 값은 미리 설정된 임계 값보다 작은 고정 값, 예를 들어, 0일 수 있다.
송신 기간은 데이터 블록을 송신하는 2 개의 연속적인 시점 사이의 시간 간격을 말하며, 매번 하나 이상의 데이터 블록이 송신될 수 있다. 송신 기간은 미리 설정된 값이 아닐 수 있으며, 카운터의 카운트 값과 관련이 있다. 또한, 카운트 값이 미리 설정된 임계 값에 도달하면, 송신 기간은 클라이언트 서비스가 캐싱되는지 여부와 관련된다. 임의의 2 개의 송신 기간에서, 카운트 값이 미리 설정된 임계 값에 도달하는 경우 캐시 큐가 클라이언트 서비스를 캐싱하면, 2 개의 송신 기간은 동일하다. 대안적으로, 카운트 값이 미리 설정된 임계 값에 도달하는 경우 캐시 큐는 클라이언트 서비스를 캐싱하지 않지만, 카운터가 카운팅을 중지하는 시간이 동일하면, 2 개의 송신 기간은 동일한다. 카운트 값이 미리 설정된 임계 값에 도달하는 경우 캐시 큐가 클라이언트 서비스를 캐싱하지 않고 카운터가 카운팅을 중지하는 시간이 동일하지 않으면, 2 개의 송신 기간은 동일하지 않다.
카운트 값이 미리 설정된 임계 값에 도달하는 경우 캐시 큐가 클라이언트 서비스를 캐싱하면, 송신 기간은 미리 정해진 양의 카운팅 기간과 동일하고; 카운트 값이 미리 설정된 임계 값에 도달하는 경우 캐시 큐가 클라이언트 서비스를 캐싱하지 않으면, 송신 기간은 미리 설정된 양의 카운팅 기간 및 카운트 중지를 위한 기간과 같음을 이해할 수 있다. 이에 기초하여, 본 출원에서 제공되는 레이트 감독 프로세스는 다음과 같이 이해될 수 있다: 카운터의 카운트 값이 미리 설정된 임계 값에 도달하면, 클라이언트 서비스를 송신할 기회가 한 번 있고, 즉, 전송 노드는 클라이언트 서비스의 데이터 블록을 송신하기 위한 한 번의 기회를 갖는다. 각각의 송신 기회에서 적어도 하나의 데이터 블록이 송신될 수 있다. 이에 기초하여, 데이터 블록의 출력 레이트가 제어되고, 즉, 클라이언트 서비스의 출력 레이트가 제어된다.
모든 송신 기간에서 송신된 데이터 블록의 양은 동일하거나 다를 수 있다. 출력 레이트가 특정 범위 내에서 일정하게 유지되도록 하기 위해, "데이터 블록 전송 기간"의 개념이 본 출원에 도입된다. 데이터 블록 전송 기간은 하나 이상의 송신 기간을 포함할 수 있고, 모든 데이터 블록 전송 기간에서 전송되는 데이터 블록의 양은 동일하다.
예를 들어, 각각의 데이터 블록 전송 기간은 2 개의 송신 기간을 포함하고, 하나의 데이터 블록은 2 개의 송신 기간 중 하나에서 송신되고, 2 개의 데이터 블록은 다른 송신 기간에서 송신된다. 이 경우, 복수의 송신 기간에서 송신된 데이터 블록의 양은 1, 2, 1, 2, 1, 2, ..., 또는 1, 2, 2, 1, 1, 2, 1, 2, 2, 1,?? 일 수 있다. 각각의 송신 기간에서 송신된 데이터 블록의 양을 제어함으로써 모든 데이터 블록 전송 기간에서 송신되는 데이터 블록의 양을 동일하게 하여, 데이터 블록의 출력 레이트가 데이터 블록 전송 기간마다 일정하도록 보장할 수 있다는 것을 예로부터 알 수 있다. 데이터 블록의 실제 출력 레이트는 일정한 출력 레이트보다 낮다는 것을 이해할 수 있다. 따라서, 각각의 송신 기간의 지속 기간 및 각각의 송신 기간에서 송신되는 데이터 블록의 양이 제어된다면 일정한 출력 레이트가 유지될 수 있다. 이것은 출력 라인 인터페이스에서 혼잡 가능성을 줄이는 데 도움이 된다.
다른 예에서, 각각의 데이터 블록 전송 기간은 하나의 송신 기간을 포함하고, 2 개의 데이터 블록이 송신 기간에서 송신된다. 이 경우, 복수의 송신 기간에서 송신된 데이터 블록의 양은 2, 2, 2,...일 수 있다. 본 예에서, 데이터 블록 전송 기간은 송신 기간과 동일함을 이해할 수 있다. 따라서, 각각의 송신 기간의 지속 기간 및 각각의 송신 기간에서 송신된 데이터 블록의 양이 제어된다면 일정한 출력 레이트가 유지될 수 있다. 이것은 출력 라인 인터페이스 상의 혼잡 발생 가능성을 줄이는 데 도움이 된다.
카운팅 기간은, 매번 카운터의 카운트 값을 업데이트하는 데 필요한 기간을 나타낸다. 실제 구현에서, 카운팅 기간은 펄스 신호를 사용하여 구현될 수 있다. 예를 들어, 펄스 기간이 카운팅 기간과 동일하면, 카운터의 카운트 값은 각각의 펄스 기간에서 C만큼 증가한다. 선택적으로, 카운팅 기간은 라인 인터페이스의 데이터 블록 전송 시간과 동일할 수 있다. 예를 들어, 출력 라인 인터페이스 대역폭이 100 Gbps이고 데이터 블록이 위치한 슬라이스의 길이가 128 바이트인 경우, 라인 인터페이스의 데이터 블록 전송 시간은 128 바이트/100 Gbps = 10.24 ns(nanosecond)이다. 물론, 카운팅 기간은 대안적으로 라인 인터페이스의 데이터 블록 전송 시간보다 클 수 있다.
카운터의 카운트 값의 물리적 의미는 본 출원으로 제한되지 않는다. 이하에서는 여러 가지 구현을 열거한다.
방식 1: C는 카운트 횟수의 양이다. 이 경우, 카운터의 카운트 값은 각각의 카운팅 기간에서 1만큼 증가한다. 미리 설정된 임계 값은 다음과 같은 방식 2에 따른 값 변환에 의해 획득될 수 있다. 상세한 내용은 여기서 다시 설명하지 않는다. 물론, 미리 설정된 임계 값은 대안적으로 다른 방식으로 획득될 수 있으며, 이것은 본 출원에서 제한되지 않는다.
방식 2: C는 클라이언트 서비스의 대역폭에 따라 결정된다. 이 경우, 선택적으로, 미리 설정된 임계 값은 출력 라인 인터페이스 대역폭에 따라 결정된다.
선택적으로, C는 클라이언트 서비스의 대역폭 대 단위 대역폭의 비율이고, 미리 설정된 임계 값은 출력 라인 인터페이스 대역폭 대 단위 대역폭의 조정 값의 비율이며, 단위 대역폭의 조정 값은 단위 대역폭 이상이다. 구현의 용이성을 위해, 미리 설정된 임계 값은 정수로 설정될 수 있음에 유의하여야 한다. 이 경우, 출력 라인 인터페이스 대역폭 대 단위 대역폭의 조정 값의 비율이 정수가 아닌 경우, 미리 설정된 임계 값은 정수가 아닌 값을 반올림(rounding down)함으로써 얻은 정수일 수 있다. 물론, 특정 구현에서, 미리 설정된 임계 값은 대안적으로 정수가 아닌 것으로 설정될 수 있으며, 이것은 본 출원에서 제한되지 않는다.
단위 대역폭의 조정 값이 클수록, 더 작은 결정된 미리 설정된 임계 값을 나타내는 것으로 이해될 수 있다. 이 경우 카운터의 카운트 값은 미리 설정된 임계 값에 더 쉽게 도달한다. 따라서, 송신 기간이 짧을수록, 더 많은 송신 기회와 더 높은 출력 레이트를 나타낸다. 가속(acceleration)은, 클라이언트 서비스의 출력 레이트에서 약간의 급격한 변화를 제거하여 혼잡 발생을 방지하기 위한 것이다.
본 출원의 일 실시 예에서, C가 클라이언트 서비스의 대역폭 대 단위 대역폭의 비율인 경우, 미리 설정된 임계 값은 출력 라인 대역폭(즉, 라인 물리적 레이트) 이하일 수 있고, 단위 대역폭의 정수 배에 가속 계수를 곱한 값이다. 예를 들어, 단위 대역폭이 2 Mbps이고 클라이언트 서비스의 대역폭이 10 Mbps인 경우 C는 10 Mbps/2 Mbps = 5일 수 있다. 출력 라인 인터페이스 대역폭이 100 Gbps이고 단위 대역폭의 조정 값이 단위 대역폭의 1001/1000, 즉 가속 계수가 1001/1000이며, 미리 설정된 임계 값(P로 표시됨)은 100 Gbps/(2M bps x 1001/1000)를 반올림하여 얻은 값, 즉, 49950일 수 있다. 다시 말해서, 본 출원에서, 레이트 감독을 통해, 데이터 블록의 실시간 출력 레이트는 클라이언트 서비스의 대역폭과 대략 같거나 작을 수 있다. 이를 기초로, 제어 계층은 전송 노드의 출력 라인 대역폭의 합이, 출력 라인 인터페이스 대역폭을 통해 전송되는 클라이언트 서비스의 대역폭 합 이하가 되도록 제어할 수 있다. 따라서, 전술한 방법에 따라 각각의 클라이언트 서비스가 제어된다면, 이것은 출력 라인 대역폭에서 혼잡의 발생 확률을 감소시키는 것을 돕는다.
본 출원의 일 실시 예에서, 임의의 송신 기간의 각각의 카운팅 기간에서 카운터의 카운트 값은 C만큼 증가된다. 카운터의 카운트 값이 P에 도달하면 클라이언트 서비스를 송신하기 위한 기회가 한 번 있다. 클라이언트 서비스에 대응하는 캐시 큐가 클라이언트 서비스를 캐싱하는 경우, 클라이언트 서비스의 적어도 하나의 데이터 블록이 송신된다. 이 시점에서, 이 송신 기간은 종료된다. 클라이언트 서비스에 대응하는 캐시 큐가 클라이언트 서비스를 캐싱하지 않는 경우 카운터는 카운팅을 중지하고; 캐시 큐가 클라이언트 서비스를 캐싱하는 경우, 이 송신 기간은 종료된다. 이 송신 기간이 종료하면, 카운터의 카운트 값은 초기 값으로 설정된다. 이 시점에서, 다음 송신 기간이 시작한다.
프로세스는 도 12에 도시된 프로세스를 사용하여 구현될 수 있다. 도 12에서, 레이트 감독 모듈(432) 내에 배치된, 트리거링된 포화 누출 버킷(triggered saturated leaky bucket)은 제어 모듈과 동일할 수 있다. 제어 모듈은 카운터의 카운트 값이 각각의 펄스 기간에서 C만큼 증가되도록 제어할 수 있다. 카운터의 카운트 값이 P에 도달하는 경우, 큐 캐시 모듈(431)에 의해 송신된 널이 아닌(non-null) 표시가 검출되면, 캐시 큐의 적어도 하나의 데이터 블록이 정책 스케줄링 모듈(433)에 출력되도록 제어된다. 트리거링된 포화 누출 버킷은, 자원 스케줄링을 요청하기 위해, 스케줄링 요청을 정책 스케줄링 모듈(433)에 송신할 수 있다.
2. 정책 스케줄링
전송 노드는 각각의 클라이언트 서비스에 대해 개별적으로 레이트 감독을 수행하고, 전송 노드에 입력된 다른 클라이언트 서비스는 동일한 출력 단으로 교환될 수 있다. 따라서, 서로 다른 클라이언트 서비스의 데이터 블록이 레이트 감독 모듈(432)로부터 동시에 출력되어 동일한 출력 단에 입력되는 경우가 있을 수 있다. 이것은 혼잡을 발생시킬 수 있으며 결과적으로 일부 데이터 블록이 손실된다. 이를 기초로, 본 출원은 속도 감독 동작 후 및 출력 전에, 추가적인 정책 스케줄링 동작을 제공한다. 정책 스케줄링은, 상이한 클라이언트 서비스의 지연 요구 사항에 따라 상이한 클라이언트 서비스의 우선 순위가 결정되고, 상이한 클라이언트 서비스가 우선 순위에 따라 전송 노드로부터 출력되는 스케줄링 기술이다. 구체적으로, 정책 스케줄링은 레이트 감독 모듈(432)로부터 동시에 출력되고 동일한 출력 단에 입력되는 상이한 클라이언트 서비스를 위해 설계된 스케줄링 기술이다. 선택적으로, 정책 스케줄링은 다음 내용을 포함할 수 있다:
클라이언트 서비스의 임의의 복수의 슬라이스에 대해, 복수의 슬라이스가 순차적으로 정책 스케줄링 모듈(433)에 입력되면, 복수의 슬라이스는 입력 시간의 시퀀스에 따라 출력된다. 복수의 슬라이스가 정책 스케줄링 모듈(433)에 동시에 입력되면, 복수의 슬라이스는, 슬라이스가 속하는 클라이언트 서비스의 엄격한 우선 순위(strict priority, SP)에 따라 출력된다. 우선 순위가 낮은 클라이언트 서비스의 슬라이스 전에 우선 순위가 높은 클라이언트 서비스의 슬라이스가 출력된다. 임의의 복수의 슬라이스가 속하는 클라이언트 서비스의 우선 순위가 동일하면, 이들 슬라이스는 라운드 로빈(round robin, RR) 방식으로 출력된다. 이 프로세스의 개략도가 도 13에 도시된다. 도 13은 제1 우선 순위, 제2 우선 순위 및 제3 우선 순위를 나타낸다. 제1 우선 순위는 제2 우선 순위보다 높고, 제2 우선 순위는 제3 우선 순위보다 높다. 도 13에서, "H"는 SP를 준수하는 두 개의 클라이언트 서비스 중 우선 순위가 높은 클라이언트 서비스를 나타내고, "L"은 SP를 준수하는 두 개의 클라이언트 서비스 중 우선 순위가 낮은 클라이언트 서비스를 나타낸다.
특정 구현에서, 전송 노드가 정책 스케줄링을 수행하기 전의 임의의 단계에서, 상기 방법은: 전송 노드에 의해, 클라이언트 서비스의 예상 전송 지연에 따라 클라이언트 서비스의 우선 순위를 결정하는 단계를 더 포함할 수 있다. 예상 전송 지연은 실제 요구 사항에 따라 설정되는 예상 값(expected value)이며, 미리 설정된 값일 수 있다. 다른 클라이언트 서비스의 예상 전송 지연은 동일하거나 다를 수 있다. 다른 시나리오에서 동일한 클라이언트 서비스의 예상 전송 지연은 동일하거나 다를 수 있다. 선택적으로, 각각의 우선 순위 레벨은 하나의 예상 전송 지연 범위에 대응할 수 있다. 예를 들어, 예상 전송 지연이 5 μs(microsecond) 이하인 클라이언트 서비스의 우선 순위는 제1 우선 순위이고, 예상 전송 지연이 20 μs(microsecond) 이하인 클라이언트 서비스의 우선 순위는 제2 우선 순위이고, 예상 전송 지연이 50 μs(microsecond) 이하인 클라이언트 서비스의 우선 순위는 제3 우선 순위이다. 제1 번째 우선 순위는 제2 우선 순위보다 높고, 제2 우선 순위는 제3 우선 순위보다 높다. 예를 들어, 클라이언트 서비스의 예상 전송 지연이 5 μs이면, 제1 우선 순위만이 항상 예상 전송 지연을 충족할 수 있다. 제2 우선 순위와 같은 다른 우선 순위는 때때로 예상 전송 지연을 충족시킬 수 있지만, 항상 예상 전송 지연을 충족시킬 수는 없다. 따라서 클라이언트 서비스의 우선 순위는 제1 우선 순위이다. 다른 예는 열거되지 않는다.
본 출원에서 제공되는 레이트 감독 방법에 기초하여, 본 출원의 일 실시 예에서, 제어 계층은 클라이언트 서비스의 지연 요구 사항 및 시스템의 지원 능력에 따라 대응하는 전송 자원을 할당하여, 다른 클라이언트 서비스의 지연 요건을 충족시킬 수 있다. 예를 들어, 출력 라인 인터페이스 대역폭이 100 Gbps이고, 전송 노드가 하나의 데이터 블록을 스케줄링하는 시간은 10.24 ns이고, 서비스 스위칭 모듈을 이용하여 데이터 블록이 전송 노드의 입력 단에서 대응하는 캐시 큐에 교환되는 시간이 3 μs 미만이라고 가정할 수 있다. 이 경우, 예상 전송 지연이 5 μs 미만이면 클라이언트 서비스의 우선 순위는 제1 우선 순위이다. 엄격한 레이트 감독이 수행된 후의 클라이언트 서비스는 혼잡하지 않을 수 있기 때문에, 전송 지연의 도입은 제1 우선 순위 클라이언트 서비스의 클라이언트 서비스 파이프의 수량(즉, 제1 우선 순위 클라이언트 서비스의 수량)에만 관련된다. 시스템은 전송 지연이 5 μs 미만인 최대(5 μs - 3 μs)/10.24 ns = 195개의 클라이언트 서비스를 지원할 수 있다. 즉, 할당된 모든 제1 우선 순위 클라이언트 서비스 파이프의 수량이 195를 초과하지 않는 경우, 전송 지연이 5μs 이내임을 보장할 수 있다. 제2 우선 순위 클라이언트 서비스의 경우, 예상 전송 지연이 20 μs 미만인 경우, 시스템은, 동일한 방법에 따라, 전송 지연이 20 μs 미만인 (20 μs - 3 μs)/10.24ns = 1660개의 클라이언트 서비스 파이프를 지원할 수 있다. 195 개의 제1 우선 순위 큐가 있을 수 있음을 고려하여, 시스템은 전송 지연이 20 μs 미만인 1660 - 195 = 1465개의 클라이언트 서비스 등을 지원할 수 있으므로, 시스템에 의해 지원될 수 있는 제3 우선 순위 클라이언트 서비스의 수량 및 시스템에 의해 지원될 수 있는 제4 우선 순위 클라이언트 서비스의 수량을 획득할 수 있다. 이러한 방식으로, 대응하는 전송 자원은, 상이한 클라이언트 서비스의 지연 요구 사항을 충족시키기 위해, 클라이언트 서비스의 전송 지연 요구 사항 및 시스템의 지원 능력에 따라 할당될 수 있다.
3. 레이트 조정
가속과 같은 요인의 영향으로 인해, 출력 라인 인터페이스 대역폭은 출력 라인 인터페이스가 전송하는 모든 클라이언트 서비스의 대역폭의 합보다 크다. 따라서 속도 조정이 필요하다. 특히, 특정 순간에서의 모든 클라이언트 서비스의 실시간 출력 비율의 합이 출력 라인 인터페이스 대역폭보다 작으면. 이 시점에서 유효하지 않은 데이터 블록이 채워지고, 모든 클라이언트 서비스와 함께 출력된다. 레이트 조정 프로세스에서 채워진 유효하지 않은 데이터 블록은 데이터 블록과 동일한 포맷일 수 있고, 특수 라벨을 사용하여 식별되거나, 다른 길이 또는 다른 포맷의 데이터 블록이 사용될 수 있다. 이것은 본 출원에서 제한되지 않는다.
전술한 내용은 주로 네트워크 요소들 간의 상호 작용의 관점에서 본 출원의 실시 예에서 제공되는 해결 방안을 설명한다. 전술한 기능들을 구현하기 위해, 추가/삭제 노드, 전송 노드 또는 클라이언트 디바이스와 같은 각각의 네트워크 요소는 각각의 기능을 수행하기 위한 대응하는 하드웨어 구조 및/또는 소프트웨어 모듈을 포함하는 것으로 이해될 수 있다. 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자는, 본 명세서에서 제공되는 실시 예를 참조하여 설명된 예에서의 유닛 및 알고리즘 단계가 본 출원에서 하드웨어 또는 하드웨어 및 컴퓨터 소프트웨어의 조합 형태로 구현될 수 있음을 쉽게 인식할 수 있다. 기능이 하드웨어에 의해 수행되는지 또는 컴퓨터 소프트웨어가 하드웨어를 구동하는 방식으로 수행되는지 여부는 특정 응용 및 기술적 해결 방안의 설계 제약 조건에 의존한다. 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자는, 각각의 특정 응용에 대해 설명된 기능을 구현하기 위해 상이한 방법을 사용할 수 있지만, 해당 구현이 본 출원의 범위를 벗어나는 것으로 간주되어서는 안된다.
본 출원의 실시 예에서, 기능 모듈 분할은 전술한 방법 예들에 따라 추가/삭제 노드, 전송 노드 또는 클라이언트 디바이스에 대해 수행될 수 있다. 예를 들어, 각각의 기능 모듈은, 대응하는 기능에 따라 분할에 의해 획득될 수 있거나, 적어도 2 개의 기능이 하나의 프로세싱 모듈에 통합될 수 있다. 전술한 통합 모듈은 하드웨어 형태로 구현되거나 소프트웨어 기능 모듈 형태로 구현될 수 있다. 본 출원의 실시 예에서의 모듈 분할은 예에 불과하고, 논리적 기능 분할일 뿐이며 실제 구현에서 다른 분할일 수 있음에 유의하여야 한다.
예를 들어, 각각의 기능 모듈이 해당 기능에 따른 분할에 의해 획득되는 경우, 도 14는 전술한 실시 예에서 제공되는 클라이언트 서비스 전송 장치(구체적으로 전송 노드 또는 추가/삭제 노드일 수 있음)의 가능한 개략 구조도를 도시한다. 클라이언트 서비스 전송 장치는 수신 유닛(501) 및 송신 유닛(502)을 포함할 수 있다.
수신 유닛(501)은 클라이언트 서비스를 수신하도록 구성될 수 있고, 여기서 클라이언트 서비스는 복수의 데이터 블록을 포함하고, 클라이언트 서비스는 카운터에 대응하고, 카운터는 클라이언트 서비스의 출력 레이트를 제어하기 위해 사용된다.
송신 유닛(502)은 복수의 송신 기간에서 복수의 데이터 블록을 송신하도록 구성될 수 있고, 여기서 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달하는 경우, 복수의 데이터 블록 중 적어도 하나의 데이터 블록이 송신된다.
선택적으로, 클라이언트 서비스 전송 장치는, 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달하기 전에, 카운터의 각각의 카운팅 기간에서 카운터의 카운트 값을 C만큼 증가시키도록 구성된 제어 유닛(503)을 더 포함할 수 있고, 여기서 C는 미리 설정된 임계 값 이하이다.
선택적으로, C는 클라이언트 서비스의 대역폭에 따라 결정되고, 미리 설정된 임계 값은 출력 라인 인터페이스 대역폭에 따라 결정된다. 선택적으로, C는 클라이언트 서비스의 대역폭 대 단위 대역폭의 비율이고, 미리 설정된 임계 값은 출력 라인 인터페이스 대역폭 대 단위 대역폭의 조정 값의 비율이며, 단위 대역폭의 조정 값은 단위 대역폭 이상이다.
선택적으로 카운터는 각각의 송신 기간의 초기 값부터 카운팅을 시작한다.
선택적으로, (i+1)번째 송신 기간에서, 카운터의 초기 값은 i번째 송신 기간의 끝에서 카운터의 카운트 값으로부터 미리 설정된 임계 값을 감산함으로써 획득한 값이고, i는 1 이상의 정수이다.
선택적으로, 제어 유닛(503)은, 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달하는 경우, 클라이언트 서비스가 캐싱되지 않으면 카운터의 카운팅을 중지하도록 추가로 구성될 수 있다.
선택적으로, 클라이언트 서비스 전송 장치는, 클라이언트 서비스를 캐시 큐에 저장하도록 구성된 저장 유닛(504); 및 카운터의 카운트 값이 미리 설정된 임계 값에 도달하는 경우, 캐시 큐로부터 적어도 하나의 데이터 블록을 획득하도록 구성된 획득 유닛(505)을 더 포함한다.
선택적으로, 복수의 데이터 블록의 각각의 데이터 블록은 고정 길이를 갖는다.
선택적으로, 송신 유닛(502)은 구체적으로, 클라이언트 서비스의 우선 순위에 따라 복수의 데이터 블록 중 적어도 하나의 데이터 블록을 송신하도록 구성될 수 있으며, 여기서 예상 전송 지연이 낮을수록 더 높은 우선 순위를 나타낸다.
전술한 방법 실시 예의 단계에 대한 모든 관련 내용은, 대응하는 기능 모듈의 기능 설명에 인용될 수 있다. 상세한 내용은 여기에 설명되지 않는다.
본 출원의 일 실시 예에서, 클라이언트 서비스 전송 장치는, 대응하는 기능에 따라 분할에 의해 획득된 기능 모듈의 형태로 제시되거나, 클라이언트 서비스 전송 장치는 통합 방식으로 분할에 의해 획득된 기능 모듈의 형태로 제시된다. 본 명세서에서 "유닛"은 ASIC, 회로, 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하는 프로세서, 메모리, 집적 논리 회로 및/또는 전술한 기능을 제공할 수 있는 다른 구성 요소일 수 있다.
간단한 실시 예에서, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자는, 전술한 클라이언트 서비스 전송 장치가 도 2에 도시된 형태로 구현될 수 있음을 알 수 있다. 예를 들어, 도 14의 수신 유닛(501) 및 송신 유닛(502)은 도 2의 통신 인터페이스(23)를 사용하여 구현될 수 있다. 도 14의 저장 유닛(504)은 도 2의 메모리(22)를 이용하여 구현될 수 있다. 도 14의 제어 유닛(503) 및 획득 유닛(505)은 도 2의 프로세서(21)를 이용하여 구현되어, 메모리(22)에 저장된 응용 프로그램 코드를 호출할 수 있다. 본 출원의 본 실시 예는 이에 아무런 제한을 두지 않는다.
기능 모듈 분할은, 상이한 관점에서, 도 4a 또는 도 5에 도시된 클라이언트 서비스 전송 장치 및 도 14에 도시된 클라이언트 서비스 전송 장치에 대해 수행되는 것으로 이해될 수 있다. 예를 들어, 도 14의 제어 유닛(503), 저장 유닛(504) 및 획득 유닛(505)은 도 4a의 목적지 라인 프로세싱 유닛(43)을 이용하여 구현될 수 있다. 구체적으로, 제어 유닛(503)은 도 5의 레이트 감독 모듈(432)을 이용하여 구현될 수 있다. 저장 유닛(504) 및 획득 유닛(505)은 도 5의 큐 캐시 모듈(431)을 이용하여 구현될 수 있다.
전술한 실시 예들 중 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합에 의해 구현될 수 있다. 실시 예를 구현하기 위해 소프트웨어 프로그램이 사용될 때, 실시 예는 컴퓨터 프로그램 제품의 형태로 전체적으로 또는 부분적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령을 포함한다. 컴퓨터 프로그램 명령이 컴퓨터에 로딩되어 실행될 때, 본 출원의 실시 예에 따른 절차 또는 기능은 전체적으로 또는 부분적으로 생성된다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크 또는 다른 프로그램 가능한 장치일 수 있다. 컴퓨터 명령은 컴퓨터로 판독 가능한 저장 매체에 저장될 수 있거나 컴퓨터로 판독 가능한 저장 매체로부터 다른 컴퓨터로 판독 가능한 저장 매체로 전송될 수 있다. 예를 들어, 컴퓨터 명령은 유선 방식(예를 들어, 동축 케이블, 광섬유 또는 DSL(digital subscriber line)) 또는 무선 방식(예를 들어, 적외선, 라디오, 마이크로웨이브)으로 웹 사이트, 컴퓨터, 서버 또는 데이터 센터에서 다른 웹 사이트, 컴퓨터, 서버 또는 데이터 센터로 전송될 수 있다. 컴퓨터로 판독 가능한 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 사용 가능한 매체, 또는 하나 이상의 사용 가능한 매체를 통합하는 서버 또는 데이터 센터와 같은 데이터 저장 디바이스일 수 있다. 사용 가능한 매체는 자기 매체(예를 들어, 플로피 디스크, 하드 디스크 또는 자기 테이프), 광학 매체(예를 들어, DVD), 반도체 매체(예를 들어, SSD(solid state disk) 등일 수 있다.
본원 발명의 추가 실시예가 다음에서 제공된다. 다음 섹션에서 사용된 번호가 반드시 이전 섹션에서 사용된 번호를 따라야 하는 것이 아니라는 점에 유의해야 한다.
실시예 1. 클라이언트 서비스 전송 방법으로서, 클라이언트 서비스를 수신하는 단계 - 상기 클라이언트 서비스는 복수의 데이터 블록을 포함하고, 상기 클라이언트 서비스는 카운터에 대응하고, 상기 카운터는 상기 클라이언트 서비스의 출력 레이트를 제어하기 위해 사용됨 - ; 및
복수의 송신 기간에서 상기 복수의 데이터 블록을 송신하는 단계 - 상기 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달하는 경우, 상기 복수의 데이터 블록 중 적어도 하나의 데이터 블록이 송신됨 - 을 포함하는, 클라이언트 서비스 전송 방법.
실시예 2. 실시예 1에 있어서,
상기 카운터의 상기 카운트 값이 각각의 송신 기간에서 상기 미리 설정된 임계 값에 도달하기 전에, 상기 클라이언트 서비스 전송 방법은,
상기 카운터의 각각의 카운팅 기간에서 상기 카운터의 상기 카운트 값을 C만큼 증가시키는 단계 - 여기서, C는 상기 미리 설정된 임계 값 이하임 - 를 더 포함하는 클라이언트 서비스 전송 방법.
실시예 3. 실시예 2에 있어서,
C는 상기 클라이언트 서비스의 대역폭에 따라 결정되고, 상기 미리 설정된 임계 값은 출력 라인 인터페이스 대역폭에 따라 결정되는, 클라이언트 서비스 전송 방법.
실시예 4. 실시예 3에 있어서,
C는 상기 클라이언트 서비스의 상기 대역폭 대 단위 대역폭의 비율이고, 상기 미리 설정된 임계 값은, 상기 출력 라인 인터페이스 대역폭 대 상기 단위 대역폭의 조정 값(adjustment value)의 비율이고, 상기 단위 대역폭의 상기 조정 값은 상기 단위 대역폭 이상인, 클라이언트 서비스 전송 방법.
실시예 5. 실시예 1 내지 4 중 어느 하나에 있어서,
상기 카운터는 각각의 송신 기간의 초기 값으로부터 카운팅을 시작하는, 클라이언트 서비스 전송 방법.
실시예 6. 실시예 5에 있어서,
(i+1)번째 송신 기간에서, 상기 카운터의 초기 값은, i번째 송신 기간의 끝에서 상기 카운터의 카운트 값으로부터 상기 미리 설정된 임계 값을 감산함으로써 획득한 값이고, i는 1 이상의 정수인, 클라이언트 서비스 전송 방법.
실시예 7. 실시예 1 내지 6 중 어느 하나에 있어서,
상기 클라이언트 서비스 전송 방법은,
상기 카운터의 상기 카운트 값이 각각의 송신 기간에서 상기 미리 설정된 임계 값에 도달한 때, 상기 클라이언트 서비스가 캐싱되지 않은 경우 상기 카운터의 카운팅을 중지하는 단계를 더 포함하는 클라이언트 서비스 전송 방법.
실시예 8. 실시예 1 내지 7 중 어느 하나에 있어서,
상기 클라이언트 서비스를 수신하는 단계 후에, 상기 클라이언트 서비스 전송 방법은,
상기 클라이언트 서비스를 캐시 큐에 저장하는 단계; 및
상기 카운터의 상기 카운트 값이 상기 미리 설정된 임계 값에 도달하는 경우, 상기 캐시 큐로부터 상기 적어도 하나의 데이터 블록을 획득하는 단계를 더 포함하는 클라이언트 서비스 전송 방법.
실시예 9. 실시예 1 내지 8 중 어느 하나에 있어서,
상기 복수의 데이터 블록 중 각각의 데이터 블록은 고정 길이를 갖는, 클라이언트 서비스 전송 방법.
실시예 10. 실시예 1 내지 9 중 어느 하나에 있어서,
상기 복수의 데이터 블록 중 적어도 하나의 데이터 블록이 송신되는 것은,
상기 클라이언트 서비스의 우선 순위에 따라 상기 복수의 데이터 블록 중 상기 적어도 하나의 데이터 블록을 송신하는 것 - 여기서, 낮은 예상 전송 지연(expected transmission delay)은 더 높은 우선 순위를 나타냄 - 을 포함하는, 클라이언트 서비스 전송 방법.
실시예 11. 클라이언트 서비스 전송 장치로서,
클라이언트 서비스를 수신하도록 구성된 수신 유닛 - 여기서, 상기 클라이언트 서비스는 복수의 데이터 블록을 포함하고, 상기 클라이언트 서비스는 카운터에 대응하고, 상기 카운터는 상기 클라이언트 서비스의 출력 레이트를 제어하기 위해 사용됨 - ; 및
복수의 송신 기간에서 상기 복수의 데이터 블록을 송신하도록 구성되는 송신 유닛 - 상기 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달하는 경우, 상기 복수의 데이터 블록 중 적어도 하나의 데이터 블록이 송신됨 - 을 포함하는, 클라이언트 서비스 전송 장치.
실시예 12. 실시예 11에 있어서,
상기 카운터의 상기 카운트 값이 각각의 송신 기간에서 상기 미리 설정된 임계 값에 도달하기 전에, 상기 카운터의 각각의 카운팅 기간에서 상기 카운터의 상기 카운트 값을 C만큼 증가시키도록 구성된 제어 유닛 - 여기서, C는 상기 미리 설정된 임계 값 이하임 - 을 더 포함하는 클라이언트 서비스 전송 장치.
실시예 13. 실시예 12에 있어서,
C는 상기 클라이언트 서비스의 대역폭에 따라 결정되고, 상기 미리 설정된 임계 값은 출력 라인 인터페이스 대역폭에 따라 결정되는, 클라이언트 서비스 전송 장치.
실시예 14. 실시예 13에 있어서,
C는 상기 클라이언트 서비스의 상기 대역폭 대 단위 대역폭의 비율이고, 상기 미리 설정된 임계 값은, 상기 출력 라인 인터페이스 대역폭 대 상기 단위 대역폭의 조정 값의 비율이고, 상기 단위 대역폭의 상기 조정 값은 상기 단위 대역폭 이상인, 클라이언트 서비스 전송 장치.
실시예 15. 실시예 11 내지 14 중 어느 하나에 있어서,
상기 카운터는 각각의 송신 기간의 초기 값으로부터 카운팅을 시작하는, 클라이언트 서비스 전송 장치.
실시예 16. 실시예 15에 있어서,
(i+1)번째 송신 기간에서, 상기 카운터의 초기 값은, i번째 송신 기간의 끝에서 상기 카운터의 카운트 값으로부터 상기 미리 설정된 임계 값을 감산함으로써 획득한 값이고, i는 1 이상의 정수인, 클라이언트 서비스 전송 장치.
실시예 17. 실시예 11 내지 16 중 어느 하나에 있어서,
상기 카운터의 상기 카운트 값이 각각의 송신 기간에서 상기 미리 설정된 임계 값에 도달한 때, 상기 클라이언트 서비스가 캐싱되지 않은 경우 상기 카운터의 카운팅을 중지하도록 구성된 상기 제어 유닛을 더 포함하는 클라이언트 서비스 전송 장치.
실시예 18. 실시예 11 내지 17 중 어느 하나에 있어서,
상기 클라이언트 서비스를 캐시 큐에 저장하도록 구성된 저장 유닛; 및
상기 카운터의 상기 카운트 값이 상기 미리 설정된 임계 값에 도달하는 경우, 상기 캐시 큐로부터 상기 적어도 하나의 데이터 블록을 획득하도록 구성된 획득 유닛을 더 포함하는 클라이언트 서비스 전송 장치.
실시예 19. 실시예 11 내지 18 중 어느 하나에 있어서,
상기 복수의 데이터 블록 중 각각의 데이터 블록은 고정 길이를 갖는, 클라이언트 서비스 전송 장치.
실시예 20. 실시예 11 내지 19 중 어느 하나에 있어서,
상기 송신 유닛은 구체적으로,
상기 클라이언트 서비스의 우선 순위에 따라 상기 복수의 데이터 블록 중 상기 적어도 하나의 데이터 블록을 송신하도록 구성되는 - 여기서, 낮은 예상 전송 지연은 더 높은 우선 순위를 나타냄 -, 클라이언트 서비스 전송 장치.
실시예 21. 클라이언트 서비스 전송 장치로서, 프로세서, 메모리, 버스 및 통신 인터페이스를 포함하고,
상기 메모리는 컴퓨터로 실행 가능한 명령을 저장하도록 구성되고;
상기 프로세서, 상기 메모리 및 상기 통신 인터페이스는 상기 버스를 사용하여 연결되고;
상기 장치가 실행될 때, 상기 프로세서는 상기 메모리에 저장된 상기 컴퓨터로 실행 가능한 명령을 실행하여, 상기 장치가 실시예 1 내지 10 중 어느 하나에 따른 클라이언트 서비스 전송 방법을 수행하도록 하는,
클라이언트 서비스 전송 장치.

Claims (14)

  1. 클라이언트 서비스 전송 방법으로서, 상기 클라이언트 서비스 전송 방법은 광학 수송 네트워크(optical transport network, OTN)에 적용되고,
    복수의 데이터 블록을 수신하는 단계 - 여기서, 상기 복수의 데이터 블록은 복수의 클라이언트 서비스를 운반하기 위해 사용됨 - ;
    상기 복수의 데이터 블록의 각각의 데이터 블록에 포함된 라벨에 기초하여, 상기 데이터 블록에 대한 스위칭을 수행하는 단계;
    복수의 큐(queue)를 획득하는 단계 - 여기서, 상기 복수의 큐에서 동일한 큐에 속하는 데이터 블록은 동일한 클라이언트 서비스를 운반함 - ;
    상기 복수의 큐의 제1 큐에 대한 카운터를 설정하는 단계 - 상기 카운터는 상기 제1 큐에 대응하는 클라이언트 서비스의 출력 레이트를 제어하기 위해 사용됨 - ; 및
    복수의 송신 기간에서 상기 제1 큐의 복수의 데이터 블록을 송신하는 단계 - 상기 카운터의 카운트 값이 각각의 송신 기간에서 미리 설정된 임계 값에 도달하는 경우, 상기 복수의 데이터 블록 중 적어도 하나의 데이터 블록이 송신됨 - 를 포함하는
    클라이언트 서비스 전송 방법.
  2. 제1항에 있어서,
    상기 라벨은 전역 라벨(global label) 또는 라인 인터페이스 로컬 라벨(line interface local label)인, 클라이언트 서비스 전송 방법.
  3. 제2항에 있어서,
    상기 라벨이 상기 라인 인터페이스 로컬 라벨인 경우, 상기 클라이언트 서비스 전송 방법은, 상기 복수의 데이터 블록에 대해 라벨 교체(label replacement)를 수행하는 단계를 더 포함하는 클라이언트 서비스 전송 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 복수의 데이터 블록의 각각의 데이터 블록에 포함된 라벨에 기초하여, 상기 데이터 블록에 대한 스위칭을 수행하는 단계는,
    상기 데이터 블록에 포함된 상기 라벨에 기초하여, 상기 데이터 블록의 다음 라우팅 노드를 결정하는 단계; 및
    상기 다음 라우팅 노드에 기초하여 상기 데이터 블록에 대한 스위칭을 수행하는 단계를 포함하는, 클라이언트 서비스 전송 방법.
  5. 제1항에 있어서,
    상기 카운터의 상기 카운트 값이 각각의 송신 기간에서 상기 미리 설정된 임계 값에 도달하기 전에, 상기 클라이언트 서비스 전송 방법은,
    상기 카운터의 각각의 카운팅 기간에서 상기 카운터의 상기 카운트 값을 C만큼 증가시키는 단계 - 여기서, C는 상기 미리 설정된 임계 값 이하임 - 를 더 포함하는 클라이언트 서비스 전송 방법.
  6. 제5항에 있어서,
    C는 상기 클라이언트 서비스의 대역폭에 기초하여 결정되고, 상기 미리 설정된 임계 값은 출력 라인 인터페이스 대역폭에 기초하여 결정되는, 클라이언트 서비스 전송 방법.
  7. 제6항에 있어서,
    C는 상기 클라이언트 서비스의 상기 대역폭 대 단위 대역폭의 비율이고, 상기 미리 설정된 임계 값은, 상기 출력 라인 인터페이스 대역폭 대 상기 단위 대역폭의 조정 값(adjusted value)의 비율이고, 상기 단위 대역폭의 상기 조정 값은 상기 단위 대역폭 이상인, 클라이언트 서비스 전송 방법.
  8. 제1항에 있어서,
    상기 카운터는 각각의 송신 기간의 초기 값으로부터 카운팅을 시작하는, 클라이언트 서비스 전송 방법.
  9. 제8항에 있어서,
    (i+1)번째 송신 기간에서, 상기 카운터의 초기 값은, i번째 송신 기간의 끝에서 상기 카운터의 카운트 값으로부터 상기 미리 설정된 임계 값을 감산함으로써 획득한 값이고, i는 1 이상의 정수인, 클라이언트 서비스 전송 방법.
  10. 제5항 내지 제9항 중 어느 한 항에 있어서,
    상기 클라이언트 서비스 전송 방법은,
    상기 카운터의 상기 카운트 값이 각각의 송신 기간에서 상기 미리 설정된 임계 값에 도달한 때, 어느 데이터 블록도 캐싱되지 않은 경우 상기 카운터의 카운팅을 중지하는 단계를 더 포함하는 클라이언트 서비스 전송 방법.
  11. 제1항 내지 제3항 및 제5항 내지 제9항 중 어느 한 항에 있어서,
    상기 복수의 데이터 블록 중 각각의 데이터 블록은 고정 길이를 갖는, 클라이언트 서비스 전송 방법.
  12. 제1항 내지 제3항 및 제5항 내지 제9항 중 어느 한 항에 있어서,
    상기 클라이언트 서비스 전송 방법은,
    상기 복수의 큐에 대응하는 상기 클라이언트 서비스의 우선 순위에 기초하여 상기 복수의 큐의 상기 복수의 데이터 블록 중 상기 적어도 하나의 데이터 블록을 송신하는 단계 - 여기서, 클라이언트 서비스의 예상 전송 지연(expected transmission delay)이 짧을 수록 더 높은 우선 순위를 나타냄 - 를 더 포함하는, 클라이언트 서비스 전송 방법.
  13. 클라이언트 서비스 전송 장치로서, 프로세서, 메모리, 버스 및 통신 인터페이스를 포함하고,
    상기 메모리는 컴퓨터로 실행 가능한 명령을 저장하도록 구성되고;
    상기 프로세서, 상기 메모리 및 상기 통신 인터페이스는 상기 버스를 사용하여 연결되고;
    상기 장치가 실행될 때, 상기 프로세서는 상기 메모리에 저장된 상기 컴퓨터로 실행 가능한 명령을 실행하여, 상기 장치가 제1항 내지 제3항 및 제5항 내지 제9항 중 어느 한 항에 따른 클라이언트 서비스 전송 방법을 수행하도록 하는,
    클라이언트 서비스 전송 장치.
  14. 광학 수송 네트워크(OTN) 시스템으로서, 제13항에 따른 클라이언트 서비스 전송 장치, 제1 디바이스 및 제2 디바이스를 포함하고,
    상기 제1 디바이스는, 상기 클라이언트 서비스 전송 장치에 상기 복수의 데이터 블록을 송신하도록 구성되고;
    상기 복수의 데이터 블록을 송신하기 전에, 상기 제1 디바이스는,
    복수의 클라이언트 서비스를 수신하고, 상기 복수의 클라이언트 서비스를 분할하여 복수의 다른 데이터 블록을 획득하고;
    상기 복수의 다른 데이터 블록에 라벨이 추가된 후, 상기 복수의 데이터 블록을 획득하도록 추가로 구성되고; 및
    상기 제2 디바이스는,
    상기 클라이언트 서비스 전송 장치에 의해 송신된 데이터 블록을 수신하고;
    상기 수신된 데이터 블록에 포함된 라벨을 삭제하여 클라이언트 서비스를 획득하는,
    광학 수송 네트워크(OTN) 시스템.
KR1020227006386A 2017-04-24 2017-04-24 클라이언트 전송 방법 및 디바이스 KR102408176B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020197033779A KR102369305B1 (ko) 2017-04-24 2017-04-24 클라이언트 전송 방법 및 디바이스
PCT/CN2017/081729 WO2018195728A1 (zh) 2017-04-24 2017-04-24 一种客户业务传输方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197033779A Division KR102369305B1 (ko) 2017-04-24 2017-04-24 클라이언트 전송 방법 및 디바이스

Publications (2)

Publication Number Publication Date
KR20220025306A KR20220025306A (ko) 2022-03-03
KR102408176B1 true KR102408176B1 (ko) 2022-06-10

Family

ID=63917918

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227006386A KR102408176B1 (ko) 2017-04-24 2017-04-24 클라이언트 전송 방법 및 디바이스
KR1020197033779A KR102369305B1 (ko) 2017-04-24 2017-04-24 클라이언트 전송 방법 및 디바이스

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197033779A KR102369305B1 (ko) 2017-04-24 2017-04-24 클라이언트 전송 방법 및 디바이스

Country Status (7)

Country Link
US (1) US11785113B2 (ko)
EP (1) EP3605975B1 (ko)
JP (1) JP6962599B2 (ko)
KR (2) KR102408176B1 (ko)
CN (1) CN109314673B (ko)
TW (1) TWI680663B (ko)
WO (1) WO2018195728A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110545241B (zh) * 2018-05-28 2022-05-17 华为技术有限公司 一种报文处理方法和装置
CN112217733B (zh) * 2019-07-09 2024-02-02 中兴通讯股份有限公司 一种报文处理方法及相关装置
CN110688208A (zh) * 2019-09-09 2020-01-14 平安普惠企业管理有限公司 线性递增的任务处理方法、装置、计算机设备和存储介质
CN114124831A (zh) * 2020-08-28 2022-03-01 ***通信集团终端有限公司 数据发送方法、装置、设备及存储介质
CN112437017A (zh) * 2020-11-17 2021-03-02 锐捷网络股份有限公司 一种数据流控***、方法、装置、设备及介质
CN112540724A (zh) * 2020-11-20 2021-03-23 普联技术有限公司 一种数据发送方法、装置及设备
CN114520937B (zh) * 2020-11-20 2023-05-09 华为技术有限公司 Pon中的数据传输方法、装置和***
CN113225241B (zh) * 2021-04-19 2022-09-06 中国科学院计算技术研究所 面向环形数据报文网络的数据传输拥塞控制方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860481A (zh) 2010-05-25 2010-10-13 北京邮电大学 一种MPLS-TP over OTN多层网络中区分优先级的业务传送方法及其装置
US20120328288A1 (en) 2011-06-23 2012-12-27 Exar Corporation Method for aggregating multiple client signals into a generic framing procedure (gfp) path

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4429415A (en) * 1981-11-30 1984-01-31 Rca Corporation Signal-seeking tuning system with signal loss protection for a television receiver
JPH04257145A (ja) * 1991-02-12 1992-09-11 Hitachi Ltd パケット流量制御方法およびパケット交換システム
JP3478100B2 (ja) * 1997-12-09 2003-12-10 三菱電機株式会社 無線回線割当装置及び無線回線割当方法
JP4006169B2 (ja) * 2000-05-30 2007-11-14 株式会社日立製作所 ラベルスイッチング型パケット転送装置
US7114009B2 (en) * 2001-03-16 2006-09-26 San Valley Systems Encapsulating Fibre Channel signals for transmission over non-Fibre Channel networks
JP3644404B2 (ja) * 2001-04-27 2005-04-27 三菱電機株式会社 光加入者線端局装置及びaponシステム及びセル遅延ゆらぎ抑制方法
JP3994774B2 (ja) * 2002-03-28 2007-10-24 三菱電機株式会社 光加入者線終端装置及びユーザトラヒック収容方法
EP2365667A1 (en) * 2003-02-03 2011-09-14 Nippon Telegraph And Telephone Corporation Data transfer apparatus and data transfer system
ES2327626T3 (es) * 2003-08-11 2009-11-02 Alcatel Lucent Un metodo de suministro de un servicio multimedia en una red de comunicacion inalambrica digital.
WO2005122493A1 (fr) * 2004-06-07 2005-12-22 Huawei Technologies Co., Ltd. Procede de realisation d'une transmission d'acheminement dans un reseau
CN100512207C (zh) * 2004-12-10 2009-07-08 华为技术有限公司 一种流量控制方法
US20060242319A1 (en) * 2005-04-25 2006-10-26 Nec Laboratories America, Inc. Service Differentiated Downlink Scheduling in Wireless Packet Data Systems
JP4648833B2 (ja) * 2005-12-28 2011-03-09 富士通株式会社 帯域管理装置
US7649910B1 (en) * 2006-07-13 2010-01-19 Atrica Israel Ltd. Clock synchronization and distribution over a legacy optical Ethernet network
JP4839266B2 (ja) * 2007-06-07 2011-12-21 株式会社日立製作所 光通信システム
CN102164067B (zh) * 2010-02-20 2013-11-06 华为技术有限公司 交换网流控实现方法、交换设备及***
US9025467B2 (en) * 2011-09-29 2015-05-05 Nec Laboratories America, Inc. Hitless protection for traffic received from 1+1 protecting line cards in high-speed switching systems
US9059915B2 (en) * 2012-08-31 2015-06-16 Cisco Technology, Inc. Multicast replication skip
EP2887590B1 (en) * 2012-09-25 2017-09-20 Huawei Technologies Co., Ltd. Flow control method, device and network
JP6113861B2 (ja) * 2012-12-05 2017-04-12 華為技術有限公司Huawei Technologies Co.,Ltd. データ処理方法、通信ボードおよびデバイス
US10455301B2 (en) * 2013-01-17 2019-10-22 Infinera Corporation Method to re-provision bandwidth in P-OTN network based on current traffic demand
US9584429B2 (en) * 2014-07-21 2017-02-28 Mellanox Technologies Ltd. Credit based flow control for long-haul links
US9538264B2 (en) * 2014-08-07 2017-01-03 Ciena Corporation ODUflex resizing systems and methods
CN107078967A (zh) * 2014-09-16 2017-08-18 华为技术有限公司 调度器、发送器、接收器、网络节点及其方法
EP3200499B1 (en) * 2014-11-19 2019-03-13 Huawei Technologies Co. Ltd. Mobility management entity and home subscriber server for handling callee service according to csfb and a faulty state of a pgw
US9807024B2 (en) * 2015-06-04 2017-10-31 Mellanox Technologies, Ltd. Management of data transmission limits for congestion control
WO2017059550A1 (en) * 2015-10-07 2017-04-13 Szymanski Ted H A reduced-complexity integrated guaranteed-rate optical packet switch
US10027594B1 (en) * 2016-03-30 2018-07-17 Amazon Technologies, Inc. Congestion control for label switching traffic
CN105915468B (zh) * 2016-06-17 2019-03-29 北京邮电大学 一种业务的调度方法及装置
CN106506119B (zh) * 2016-11-16 2019-05-17 南京津码智能科技有限公司 一种窄带非对称信道的rtu数据可靠传输控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860481A (zh) 2010-05-25 2010-10-13 北京邮电大学 一种MPLS-TP over OTN多层网络中区分优先级的业务传送方法及其装置
US20120328288A1 (en) 2011-06-23 2012-12-27 Exar Corporation Method for aggregating multiple client signals into a generic framing procedure (gfp) path

Also Published As

Publication number Publication date
CN109314673A (zh) 2019-02-05
CN109314673B (zh) 2022-04-05
TW201840169A (zh) 2018-11-01
JP6962599B2 (ja) 2021-11-05
KR20190138861A (ko) 2019-12-16
EP3605975A4 (en) 2020-04-08
EP3605975A1 (en) 2020-02-05
WO2018195728A1 (zh) 2018-11-01
KR102369305B1 (ko) 2022-02-28
JP2020518172A (ja) 2020-06-18
KR20220025306A (ko) 2022-03-03
US11785113B2 (en) 2023-10-10
EP3605975B1 (en) 2024-02-14
TWI680663B (zh) 2019-12-21
US20200059436A1 (en) 2020-02-20

Similar Documents

Publication Publication Date Title
KR102408176B1 (ko) 클라이언트 전송 방법 및 디바이스
CN107347198B (zh) 一种限速方法、限速控制节点和限速设备
US8913549B2 (en) Congestion control in an optical line terminal
EP2466769B1 (en) Bandwidth allocation method and optical line terminal
JP2007142764A (ja) 局側装置における帯域割当装置、帯域割当方法および帯域割当プログラム
JP6765572B1 (ja) ネットワーク制御装置、通信リソース割り当て方法および通信システム
US10735129B2 (en) Bandwidth allocation apparatus and method for providing low-latency service in optical network
US11985455B2 (en) Optical communication device and resource management method
CN109428827B (zh) 一种流量自适应的缓存分配装置及方法、onu设备
CN113992594A (zh) 流量控制方法、装置、电子设备和计算机可读存储介质
US20110318009A1 (en) Pon system, optical network unit used therein, and transmission control method therefor
EP2323317A1 (en) Band control method and band control device for node device
KR20170111455A (ko) QoS 보장을 위한 맵핑 방법이 적용된 유무선 통합 네트워크 및 업스트림 데이터 전송 방법
KR102288487B1 (ko) Sdn 기반 수동형 광네트워크의 트래픽 폭주 해결 장치 및 방법
JP2004289780A (ja) 光加入者線端局装置、光加入者線終端装置およびそれらによって用いられる帯域割当方法
JP2014033251A (ja) 通信システム及びパケット送信方法
KR100503417B1 (ko) 이더넷 수동형 광 네트워크에서의 QoS 보장형 스케쥴링시스템 및 방법
CN114070776B (zh) 一种改进的时间敏感网络数据传输方法、装置及设备
JP2018125671A (ja) 通信装置およびデータ伝送プログラム
CN115484516B (zh) 一种无源光网络中带宽分配方法及装置
JP7193787B2 (ja) 通信システム、ブリッジ装置、通信方法、及びプログラム
JP6042284B2 (ja) Tdmネットワークシステムおよびスケジューリング方法
KR102644302B1 (ko) 패킷형 광 신호 스위치의 제어 장치 및 방법
JP2004129172A (ja) 光加入者線端局装置、光加入者線終端装置およびそれらによって用いられる帯域割当方法
CN113746746A (zh) 数据处理方法及设备

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant