KR100938096B1 - 통신시스템에서 버퍼를 관리하는 방법 및 장치 - Google Patents

통신시스템에서 버퍼를 관리하는 방법 및 장치 Download PDF

Info

Publication number
KR100938096B1
KR100938096B1 KR1020070122886A KR20070122886A KR100938096B1 KR 100938096 B1 KR100938096 B1 KR 100938096B1 KR 1020070122886 A KR1020070122886 A KR 1020070122886A KR 20070122886 A KR20070122886 A KR 20070122886A KR 100938096 B1 KR100938096 B1 KR 100938096B1
Authority
KR
South Korea
Prior art keywords
service
buffer
service class
available space
packet
Prior art date
Application number
KR1020070122886A
Other languages
English (en)
Other versions
KR20080052395A (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 US11/950,623 priority Critical patent/US7835277B2/en
Publication of KR20080052395A publication Critical patent/KR20080052395A/ko
Application granted granted Critical
Publication of KR100938096B1 publication Critical patent/KR100938096B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • 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/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

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

Abstract

본 발명은 통신 시스템에서 기지국의 버퍼를 관리하는 방법에 있어서, 서비스 클래스의 우선순위에 따라 상기 버퍼의 패킷 입출력을 스케쥴링을 하기 위한 서비스 클래스별 임계값을 각각 설정하는 과정과, 상기 버퍼로 패킷이 수신되면, 상기 패킷 수신 이후 상기 버퍼의 가용공간 크기를 추정하여 저장하는 과정과, 상기 패킷의 서비스 클래스인 제1서비스 클래스에 상응하는 제1임계값과 상기 추정된 버퍼의 가용공간 크기를 비교하여, 상기 버퍼의 패킷 입출력을 스케쥴링하는 과정을 포함하며; 서비스 클래스의 우선순위에 기반한 버퍼 관리를 통해서 낮은 우선순위를 가지는 패킷으로부터 높은 우선순위를 가지는 패킷의 서비스를 보호할 수 있고, 버퍼의 크기 변동 값이 서비스 클래스별로 정해진 서비스 중단 및 재개를 결정하는 문턱값과 근소한 차이를 가질 경우, 히스테리시스 구간 혹은 타이머를 정해서 불필요하게 서비스 중단 및 재개 시점이 스위칭 되는 시점이 반복되는 것을 막을 수 있고, 해당 서비스가 중단 혹은 재개될 경우를 나타내는 메시지를 송신하고, 일정 시간 동안 상기 메시지의 확인 메시지의 수신 여부에 따라 상기 메시지를 재전송함으로써, 손실되는 신호를 줄이는 효과가 있다.
WIMAX, Buffer Management, Quality of Service

Description

통신시스템에서 버퍼를 관리하는 방법 및 장치{THE METHOD AND APPARATUS FOR MANAGING BUFFER IN A COMMUNICAITON SYSTEM}
본 발명은 통신시스템에 서비스 우선 순위에 따라 버퍼를 관리하는 방법 및 장치에 관한 것이다.
이하, 본 발명은 IEEE 802.16 WMAN(Wireless Metropolitan Area Networks) 기반의 광대역 무선 접속 (Broadband Wireless Access) 시스템을 통신시스템의 일 예로 설명한다.
모바일 와이맥스(mobile WiMAX) 시스템으로도 불리우는 광대역 무선 접속 시스템은, 휴대용 단말기를 통해서 정지 및 이동 중에도 언제 어디서나 무선으로 음성 서비스를 비롯한 인터넷 접속 서비스, 고속 데이터 서비스, 영상 서비스 등 다양한 멀티미디어 서비스를 제공할 수 있다. 또한, 기존의 셀룰러(celluar) 이동 통신망에 비해 고속의 데이터 서비스가 가능하고 서비스 요금이 저렴하다. 또한, 서비스 영역이 넓고 전파 간섭이 적기 때문에 이동 중에서 고속으로 서비스가 가능하다는 장점을 가진다. 따라서, 상기 모바일 와이맥스 시스템은 급증하는 무선 인터넷 서비스에 대한 사용자의 욕구를 충족시킬 수 있는 차세대 무선 통신 기술로 부 각되고 있다.
상기 모바일 와이맥스 시스템이 제공하는 서비스로는 서비스 요구 사항에 따라 UGS(Unsolicited Grant Service), ERT-VR(Extended Real-Time Variable Rate) 서비스, RT-VR(Real-Time Variable Rate) 서비스, NRT-VR(Non-Real-Time Variable Rate)서비스 및 BE(Best Effort)서비스로 분류된다. 상기 UGS는 주기마다 일정한 크기의 자원을 할당하는 서비스로서VoIP(Voice over Internet Protocol)와 같은 응용프로그램을 위한 서비스이며, 상기 RT-VR은 비디오 스트리밍(vedio streaming)과 같이 주기마다 새로운 자원 할당을 요청받아 가변 크기의 패킷을 발생시키는 실시간 응용프로그램을 위한 서비스이다. 상기 ERT-VR 서비스는 송신할 패킷이 있을 경우 주기적으로 일정한 자원을 할당하다가 송신할 패킷이 없을 경우 자원을 할당하지 않거나 적은 자원을 할당하는 것을 반복함으로써, 한정된 무선자원을 UGS보다 효율적으로 이용할 수 있는 서비스이다. 상기 NRT-VR 서비스는 최소 송신 속도를 요구하는 비 실시간 응용프로그램을 서비스하기에 적합하고, 상기 BE 서비스는 기본적으로 어떠한 서비스 수준도 요구하지 않는다. 이러한 서로 다른 요구사항을 가지는 서비스의 품질을 만족시키기 위해서 서비스 클래스에 따라 서로 다른 형태의 스케줄링 및 자원 관리/할당 메커니즘이 구현되어 왔다.
도 1은 종래 기술에 따른 통신시스템의 구성도이다.
도 1을 참조하면, 통신시스템은, 서브넷#1(Subnet)(150)과, 서브넷#2(160)와, 상기 서브넷#1,#2를 연결하는 코어 네트워크(core Network)(120)와, 상기 코워 네트워크(120)와 연결된 PSTN(122)과, 인터넷(124)으로 구성된다.
상기 서브넷#1(150)은 제어국(Access Control Router, 이하, 'ACR'이라 칭한다)#1(100)과, 기지국(Radio Access Station, 이하, 'RAS'라 칭한다)#1~#4(102~108)와, 단말기(Mobile Station)#1(110)로 구성되고, 상기 서브넷#2(160)는 ACR#2(130)와, RAS#5~#8(132~138)과, 단말기#2(Mobile Station)(140)로 구성되어 된다. 이때, ACR로부터 기지국을 거쳐 단말기로 향하는 방향을 하향 링크(Down Link)라 하고, 그 반대 방향을 상향 링크(Up Link)라 한다. 상향/하향 링크 서비스는 각각의 알고리즘을 통해 QoS(Quality of Service)를 보장하는데, 이하, 본 발명에서는 논의의 범위를 하향 링크로 한정하여 설명한다.
도 2는 종래 기술에 따른 기지국의 내부 구성도이다.
도 2를 참조하면, 기지국의 채널카드(200)는 크게 프로세서 모듈(Processor Module)(202)과, 인터페이스 버퍼(Interface Buffer)(204)와, 모뎀 모듈(Modem Module)(206)로 구성된다.
상기 기지국에서의 하향 링크 패킷들은 다음과 같은 과정을 통해 서비스된다.
상기 프로세서 모듈(202)은 제어국으로부터 수신한 패킷들을 각 커넥션별로 임시 저장 버퍼(208)에 버퍼링하고, NPU(Network Processor Unit)(210)와 모뎀 스케쥴러(214)의 상호작용을 통해 상기 RTC(208)에 저장된 패킷들을 상기 인터페이스 버퍼(204)에 저장(writing)한다.
상기 인터페이스 버퍼(204)에 저장된 패킷들은 모뎀 모듈(206)을 통해서 스케줄링되어 무선으로 송신된다. 상기 모뎀 스케줄러(214)는 상기 인터페이스 버 퍼(204) 내의 각 커넥션에 대해 서비스 요구 사항과 채널 환경 및 형평성 등을 고려하여 상기 패킷들의 스케줄링 우선순위를 계산한다. 상기 모뎀 스케줄러(214)는 가장 높은 우선순위를 가진 커넥션을 선택하여 해당 커넥션의 패킷들을 서비스한다. 실시간 서비스의 서비스 품질을 향상시키기 위해서, 실시간 서비스는 비실시간 서비스에 비해 절대적으로 높은 우선순위를 부여받아 빠르게 서비스하여 송신 지연을 줄일 수 있다.
상기 프로세서 모듈(202)의 처리 속도는 무선 채널의 송신 속도에 비해 빠르고, 제어국과 기지국 사이의 링크 용량도 무선 채널 용량보다 훨씬 크다. 또한, 상기 프로세서 모듈(202) 내 임시 저장 버퍼(208)의 버퍼링 메모리는 저가의 대용량 메모리가 주로 사용되는데 반해, 상기 인터페이스 버퍼(204)는 정확한 시각에 읽기와 쓰기 동작이 동시에 가능한 DPRAM(Dual Port Random Access Memory)과 같은 고속의 저용량 메모리가 사용된다. 즉, 하향 링크 패킷 흐름에 있어서 상기 인터페이스 버퍼(204)가 병목 지점이 되기 때문에, 버퍼를 관리하는 기법에 따라 서비스 품질이 큰 영향을 받게 된다.
구체적으로, 상기 모뎀 스케쥴러(214)는 무선으로 패킷 송신 시, 각 커넥션의 서비스 요구 사항을 반영하여 우선순위가 높은 패킷 순으로 출력되도록 스케줄링한다. 반면, 상기 프로세서 모듈(202)로부터 상기 인터페이스 버퍼(204)로 패킷을 저장할 경우, 단순히 각 커넥션에 대해서 라운드-로빈(round-robin) 방식으로 스케쥴링한다. 상기 라운드로빈 방식은 상기 임시 저장 버퍼(208)에 저장된 패킷을 한번씩 순차적으로 돌아가면서 상기 인터페이스 버퍼(204)로 출력한다. 그러나, 상기 모뎀 모듈(206)은 상기 인터페이스 버퍼(204)로부터 서비스 우선순위가 높은 패킷 순으로 출력한다. 따라서, BE 서비스와 같이 낮은 서비스 우선순위를 가지는 패킷이 전체 버퍼를 차지하게 되므로, 높은 서비스 우선 순위 일 예로, UGS, NRT-VR 서비스 등을 갖는 패킷을 위한 가용 공간이 부족하여 서비스가 지연될 수 있다.
즉, 상기 인터페이스 버퍼(204) 내에 존재하는 서비스 우선순위가 높은 패킷들은 상기 모뎀 스케줄러(214)에 의해 서비스 우선순위가 낮은 패킷들 보다 우선적으로 서비스된다. 결국, 상기 인터페이스 버퍼(204) 내의 서비스 우선순위가 높은 패킷들은 서비스 우선순위가 낮은 패킷들에 비해 빠른 속도로 출력되지만, 상기 인터페이스 버퍼(204)로 유입되는 패킷들은 서비스 우선순위에 무관하게 각 커넥션 별로 라운드 로빈 방식으로 입력된다. 따라서, 상기 인터페이스 버퍼(204)의 패킷 입출력 속도 차이가 발생하여, 시간이 지남에 따라 상기 인터페이스 버퍼(204) 내부에는 서비스 우선순위가 높은 패킷은 점점 줄어들게 되고, 상기 인터페이스 버퍼(204)의 모든 가용 공간이 서비스 우선순위가 낮은 BE 서비스 패킷들로만 가득 채워지는 경우가 발생할 수 있다.
결국, 버퍼의 가용 공간이 부족하게 되면 버퍼의 오버 플로우(overflow)를 방지하기 위해서 가용 공간이 발생할 때까지 패킷의 유입이 지연된다. 이 경우, 우선순위가 높은 패킷이라 할지라도 버퍼의 가용 공간이 없기 때문에 버퍼 내의 BE 서비스 패킷들이 서비스되어 나갈 때까지 지연 시간이 증가하게 된다.
상기한 바와 같은, 라운드-로빈 방식을 따르는 인터페이스 버퍼 관리 기법에서는, 서비스의 우선순위가 반전(priority inversion)되어 서비스 품질이 저하되고 높은 우선순위를 가진 패킷들의 서비스가 보장되지 못하는 문제점이 있었다.
따라서, 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명의 목적은, 통신 시스템에서 서비스 클래스의 우선순위에 따른 차별화된 인터페이스 버퍼 관리를 제공하는 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은, 각 서비스 클래스 별로 문턱값을 설정하고, 버퍼의 가용공간 크기와 상기 문턱값을 비교하여 해당 서비스를 스케쥴링하는 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은, 불필요한 서비스 중지 및 재개의 스칭을 막기 위해서 히스테리시스(hysteresis) 또는 타이머를 설정하는 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은, 기지국이 서비스 중지/재개 신호 메시지 송신 시, 미리 정해놓은 시간 내에 상기 서비스 중지/재개 신호 확인 메시지를 수신하지 못할 경우, 상기 서비스 중지/재개 신호 메시지를 재송신하는 방법 및 장치를 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명의 실시 예에 따른 방법은, 통신 시스템에서 기지국의 버퍼를 관리하는 방법에 있어서, 서비스 클래스의 우선순위에 따라 상기 버퍼의 패킷 입출력을 스케쥴링을 하기 위한 서비스 클래스별 임계값을 각각 설정하는 과정과, 상기 버퍼로 패킷이 수신되면, 상기 패킷 수신 이후 상기 버퍼의 가용공간 크기를 추정하여 저장하는 과정과, 상기 패킷의 제1서비스 클래스에 상응하는 제1임계값과 상기 추정된 버퍼의 가용공간 크기를 비교하여, 상기 버퍼의 패킷 입출력을 스케쥴링하는 과정을 포함한다.
본 발명의 다른 실시 예에 따른 장치는, 통신 시스템에서 기지국의 버퍼를 관리하는 장치에 있어서, 서비스 클래스의 우선순위에 따라 상기 버퍼의 패킷 입출력을 스케쥴링을 하기 위한 서비스 클래스별 임계값을 각각 설정하고, 상기 버퍼로 패킷이 수신되면 상기 패킷 수신 이후 상기 버퍼의 가용공간 크기를 추정하여 저장하고, 상기 패킷의 제1서비스 클래스에 상응하는 제1임계값과 상기 추정된 버퍼의 가용공간 크기를 비교하여, 상기 버퍼의 패킷 입출력의 스케쥴링을 지시하는 버퍼 가용 공간 판단부와, 상기 버퍼 가용 공간 판단부의 지시에 따라 상기 버퍼의 패킷 입출력을 스케쥴링하는 프로세서 모듈을 포함한다.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형, 변경이 가능함을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명백할 것이다.
본 발명은, 서비스 클래스의 우선순위에 기반한 서비스 차별화 및 해당 서비스 트래픽의 특성을 고려한 버퍼 관리를 통해서 해당 서비스들의 품질이 향상되고, 낮은 우선순위를 가지는 패킷으로부터 높은 우선순위를 가지는 패킷의 서비스를 보호할 수 있고, 서비스 품질 및 채널 효율을 보장할 수 있는 효과가 있다. 또한, 버퍼의 크기 변동 값이 서비스 클래스별로 정해진 서비스 중단 및 재개를 결정하는 문턱값과 근소한 차이를 가질 경우, 히스테리시스 구간 혹은 타이머를 정해서 불필요하게 서비스 중단 및 재개 시점이 스위칭 되는 시점이 반복되는 것을 막을 수 있는 효과가 있다. 또한, 해당 서비스가 중단 혹은 재개될 경우를 나타내는 메시지를 송신하고, 일정 시간동안 상기 메시지의 확인 메시지의 수신 여부에 따라 상기 메시지를 재전송함으로써, 손실되는 신호를 줄이는 효과가 있다.
이하 본 발명에 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시 예를 상세히 설명하기로 한다. 우선, 도면들 중, 동일한 구성요소 또는 부품들은 가능한 한 동일한 참조부호를 나타내고 있음에 유의하여야 한다. 본 발명을 설명함에 있어, 관련된 공지기능 혹은 구성에 대한 구체적인 설명은 본 발명의 요지를 모호하지 않게 하기 위하여 생략한다.
본 발명은 각 서비스 클래스별로 인터페이스 버퍼의 가상적인 전용 버퍼 공간을 미리 설정하여 상기 버퍼의 가용 공간의 크기에 따라 패킷을 차별화하여 서비스하는 방법 및 장치와, 서비스 클래스별 요구사항에 따라 버퍼의 크기를 결정하는 방법 및 장치를 제안한다. 이하 설명에서 버퍼 할당 기술이 적용되는 장치는 기지국을 가정하며, 본 발명의 버퍼링 방식은 상기 기지국 외에 버퍼링이 필요한 다른 장치에서도 동일하게 적용될 수 있다. 본 발명의 제 1실시 예에서는 서비스 클래스별로 버퍼의 가용 공간이 최적의 크기를 갖는 문턱 값(threshold)을 정한다. 본 발명의 제2실시 예에서는 서비스 클스별 문턱값과 버퍼의 가용공간 크기 변동량을 비 교하여 해당서비스의 서비스 중단 및 재개의 불필요한 스위칭을 줄이기 위한 임계값 또는 타임머를 설정한다. 이후, 상기 제1실시 예 내지 제2실시 예에 따라 해당 서비스를 중지/재개한다.
도 3은 본 발명의 제1실시 예에 따라 인터페이스 버퍼를 관리하는 개념도이다. 여기서는, 서비스 클래스를 시간 지연에 민감한 RT 서비스 클래스와, 시간 지연에 관계없이 높은 우선순위를 가지는 NRT 서비스 클래스와, 아무런 서비스 요구 사항을 가지지 않는 BE 서비스 클래스 3가지의 경우를 일 예로 설명한다. 이때, 상기 RT 서비스 클래스에 UGC, RT-VR 서비스, ERT-VR 서비스 클래스가 매핑된다 가정한다.
도 3을 참조하면, 서비스 클래스별 최적의 문턱값을 설정하는 방법은 다음과 같다.
전체 인터페이스 버퍼(300)에서 가용 가능한 공간의 크기를 B_a(302)로 정의하고, 상기 RT, NRT, BE 서비스 클래스별 문턱값을 각각 B_RT, B_NRT, B_BE로 정의한다. 여기서, 상기B_RT와, 상기 B_NRT 및 상기 B_BE은 해당 서비스 클래스를 위한 패킷의 입출력 여부를 결정하기 위한 기준값을 의미한다.
상기 서비스 클래스들의 우선순위는 'RT> NRT> BE' 순이다. 이때, 상기 서비스 클래스들의 문턱 값들은 'B_RT<B_NRT<B_BE'순서로 설정된다. 이때, 상기 서비스 클래스들의 문턱 값들은 해당 서비스 클래스에 대한 요구 용량, 무선 채널의 송신 속도를 고려한 적절한 CAC(Call Admission Control) 알고리즘을 사용하여 설정된다.
첫 번째로, 상기 RT는 가장 높은 우선순위를 가지기 때문에, 상기 인터페이스 버퍼의 가용 공간이 존재하는 한 서비스를 중지하지 않기 위해서, 상기 B_RT의 값을 '0'으로 설정한다. 두 번째로, NRT는 RT 서비스 클래스를 위한 가상적인 전용 버퍼 공간을 확보하여 RT 서비스 클래스의 트래픽을 보호하기 위해서 설정된다. 즉, RT 서비스 클래스의 안정적인 서비스에 요구되는 버퍼량을 계산하여 B_NRT 값으로 설정한다. 이후, 상기 B_a(302)가 상기 설정된 B_NRT 값 미만이 되면, 상기 RT 서비스 클래스의 트래픽을 보호하기 위해서 NRT 서비스와 BE 서비스를 중지시킨다.
마지막으로, 상기 B_BE는 BE 서비스 클래스에 대해서 우선순위를 가지는 RT 서비스 클래스와 NRT 서비스 클래스의 가상적인 전용 버퍼 공간을 확보한 후, 상기 RT 서비스 클래스와 NRT 서비스 클래스의 트래픽을 보호하기 위한 값으로 설정된다. 즉, 상기 RT와 NRT 서비스 클래스에 의해 요구되는 버퍼량을 계산하여 B_BE 값으로 설정한다. 이후, 상기 B_a(302)가 상기 B_BE 미만으로 떨어지게 되면, BE 서비스는 중지하고 상기 NRT와 RT 서비스 클래스만 서비스 가능하게 된다.
하기, <수학식1> 내지 <수학식3>을 통해서 상기 B_a(302)의 크기와 다른 서비스 클래스들의 문턱 값에 따라 상기 인터페이스 버퍼(300)로 유입되는 해당 서비스 클래스를 결정하는 절차를 구체적으로 설명한다.
0 < B_a ≤ B_NRT
즉, 상기 B_a(302)가 0보다 크고 B_NRT보다 작을 경우, 상기 RT 서비스 클래 스의 패킷만이 상기 인터페이스 버퍼(300)로 유입 가능하다.
B_NRT < B_a ≤ B_BE
즉, 상기 B_a(302)가 B_NRT보다 크고 B_BE보다 작을 경우, 상기 RT, NRT 서비스 클래스의 패킷만이 유입가능하다.
B_a > B_BE
즉, 상기 B_a(302)가 B_BE보다 클 경우, 모든 패킷이 유입 가능하다.
이하, 본 발명에서 각 서비스 클래스들의 문턱값을 설정하는 방법을 구체적인 예를 들어 설명한다.
먼저, RT 서비스 클래스를 위해 요구되는 NRT 서비스 클래스의 문턱 값을 설정하는 구체적인 예를 설명한다.
첫 번째는, UGS를 고려한 버퍼량을 계산한다. 여기서, 송신 속도는 사용되는 음성 코덱에 따라 다르지만, 대부분 최대 송신속도는 100 Kbps를 초과하지 않는 VoIP인 경우이다. VoIP패킷의 샘플링 주기는 대략 20ms 수준이며, 지터 등의 요인으로 추가적인 시간 지연이 발생할 수 있는 점을 감안하여 패킷 간 송신 간격이 40ms라 가정하자. 그러면, VoIP 하나의 커넥션에 대해 요구되는 버퍼의 크기는 '최대 송신속도와 패킷 간 송신간격의 곱'이므로 하기 <수학식 4>와 같이 계산된다.
100 Kbps * 40ms = 12.5 Kbyte/s * 40 ms = 500B
이때, 인터페이스 버퍼의 기본 단위를 576 바이트(byte)인 블록으로 가정하면, VoIP 커넥션 당 하나의 버퍼 블록이 요구된다. 상기 인터페이스 버퍼는 채널 카드별로 관리되므로, 채널카드별 버퍼량을 계산한다.
일 예로, CAC 알고리즘에 의해 와이브로(WiBro) 규격의 모바일 와이맥스 시스템에서 허용되는 최대 VoIP 플로우 개수는, 여유롭게 잡아 서브셀 당 대략 60개 정도이다. 이때, 채널 카드별로 3개의 서브셀을 가진다 가정할 경우, 채널 카드당 요구되는 버퍼량은 하기 <수학식5>와 같이 계산된다.
1 block/flow * 60 flows/subcell * 3 subcells / channel card = 180 블록
두 번째는, RT-VR서비스와, ERT-VR서비스를 고려한 버퍼량을 계산한다.
와이브로 시스템의 평균 하향 서브셀 처리율을 고려하여 CAC 알고리즘을 RT-VR, ERT-VR 서비스에 적용할 경우, 256 Kbps의 평균 송신속도를 가지는 플로우는 서브셀 당 대략 10개까지 수용되며, 64 Kbps의 평균 송신속도를 가지는 플로우는 서브셀당 대략 40개까지 수용될 수 있다.한편, 상기 인터페이스 버퍼로 패킷이 유입되는 순간에서부터 모뎀의 스케줄러를 통해 서비스될 때까지의 시간 지연을 20ms로 가정하면, 버퍼의 한 블록당 수용 가능한 플로우의 송신 속도는 하기 <수학식 6>과 같이 계산된다.
576 * 8 bits / 20 ms = 230 Kbps
상기 RT-VR 서비스 또는 ERT-VR 서비스의 응용프로그램들로부터 요구되는 송 신 속도를 대략 64 Kbps ~ 1 Mbps로 가정하면, 플로우의 송신 속도가 64 Kbps인 경우 가장 많은 수의 플로우를 수용할 수 있기 때문에가장 많은 버퍼량이 요구된다. 이때, 하나의 서브셀 당 40개의 플로우를 서비스하기 위해서 요구되는 전체 버퍼량은 하기 <수학식 7>로 계산된다.
1 block/flow * 40 flows/subcell * 3 of subcells / channel card= 120
UGS 경우와 RT-VR (또는 ERT-VR)서비스 경우를 모두 고려하면, RT 서비스를 위해 요구되는 전체 블럭의 크기는 총 180 블록과 120 블록의 합이므로 300 블록으로 계산된다.
세 번째는, RT 서비스 및 NRT서비스를 위해 요구되는 BE 서비스 클래스의 문턱 값을 설정하는 예를 설명한다. 여기서, RT 서비스 클래스가 요구하는 전체 버퍼량은 상기 계산된 300 블록이라 가정한다.
상기 NRT 서비스 클래스의 패킷을 서비스할 때,평균 하향 서브셀 처리율을 고려하여 CAC 알고리즘을 적용할 경우, 서브 셀 당 수용 가능 플로우 개수는 플로우의 요구 전송 속도가 작을수록 증가한다. 예를 들어, 64 Kbps의 평균 전송 속도를 가지는 플로우의 경우 서브셀 당 대략 100개까지 수용될 수 있다. 따라서 상기 NRT 서비스를 위해 요구되는 버퍼량은, 하기 <수학식8>과 같이 계산된다.
1 block/flow * 100 flows/subcell * 3 of subcells / channel card =300 블록
상기한 바와 같은 계산 과정을 통해서 인터페이스 버퍼는, RT 서비스 클래스를 위한 300 블럭의 전용 공간과, NRT 서비스 클래스를 위한 300 블럭의 전용 공간이 필요하므로 B_BE는 600 블럭으로 설정된다.
이후, 상기 <수학식5> 내지 <수학식8>을 사용하여 UGS, RT, NRT 서비스 클래스의 서비스 요구 사항을 만족시키기 위한 버퍼량을 계산한다. 이때, 상기 인터페이스 버퍼의 전체 크기는 최소한 상기 계산된 서비스 클래스별 버퍼의 크기 값들의 합보다 커야 한다. 즉, 상기 버퍼의 크기가 상기 B_BE 값보다 크게 설정됨으로써, UGS, RT, NRT 서비스 클래스의 서비스가 원활하게 보장된다.
이하, 본 발명의 제1 내지 제2실시 예에 따른서비스 중지/재개를 위한 신호처리 방법을 설명한다.
도 4는 본 발명의 제1 실시 예에 따른 기지국의 내부 구성도이다.
도 4를 참조하면, 기지국의 채널카드(400)는 크게 프로세서 모듈(Processor Module)(410)과, 인터페이스 버퍼(Interface Buffer)(420) 및 모뎀 모듈(Modem Module)(430)로 구성된다. 상기 프로세서 모듈(410)은 메시지 수신부(412)와, '서비스 중지 플래그(Service Stop Flag, 이하, 'SSF'라 칭한다) 설정부(414)를 포함하고, 상기 인터페이스 버퍼(420)는 버퍼 가용 공간 판단부(422)와 SSF 조사부(424)를 포함하여 구성된다. 여기서는, 상기 기지국에서 서비스되는 하향 링크 패킷들의 처리인 경우를 예를 들어 설명한다.
상기 버퍼 가용공간 판단부(422)는, 수신된 패킷이 입/출력될 때마다 인터페이스 버퍼(420)의 가용 공간의 크기를 추정하여 그 크기가 해당 서비스 클래스별로 설정한 특정 문턱 값보다 작아지게 되면, 해당 서비스 클래스의 패킷 유입을 멈추도록 하기 위해서 서비스 중지 메시지를 발생시킨다. 즉, 상기 버퍼 가용공간 판단부(422)는 상기 인터페이스 버퍼(420)로 특정 서비스 클래스의 패킷이 유입되는 시점에서, 상기 인터페이스 버퍼(420)의 가용 공간의 크기와 미리 설정한 문턱 값을 비교한다. 상기 비교 결과 상기 문턱값보다 작을 경우, 별도의 신호 채널을 통해 해당 서비스 클래스의 서비스 중지메시지를 상기 메시지 수신부(412)로 송신한다.
상기 프로세서 모듈(410)이 상기 서비스 중지 지시 메시지를 수신하면, 상기 SSF 설정부(414)는 해당 서비스 클래스의 '서비스 중지 플래그(Service Stop Flag, 이하, 'SSF'라 칭한다)를 'ON'으로 설정하고, 상기 서비스 중지 확인 메시지를 상기 버퍼 가용공간 판단부(422)로 송신한다. 만약, 상기 버퍼 가용공간 판단부(422)는 미리 정해놓은 시간동안 상기 서비스 중지 확인 메시지를 수신하지 못할 경우, 상기 버퍼 가용공간 판단부(422)는 상기 서비스 중지 메시지를 상기 메시지 수신부(412)로 재송신한다.
한편, 상기 프로세서 모듈(412)로부터 각 커넥션별로 라운드-로빈 방식으로 상기 인터페이스 버퍼(404)에 패킷을 송신될경우, 상기 SSF 조사부(424)는 해당 커넥션 서비스 클래스의 SSF를 조사한다. 상기 조사 결과 상기 서비스 클래스의 SSF가 'ON'으로 설정되어 있을 경우, 상기 프로세서 모듈(410)은 해당 커넥션의 패킷은 송신하지 않고, 라운드 로빈 순서에 따라 다른 커넥션의 서비스 클래스를 조사하여 우선순위가 높은 서비스 클래스의 패킷들을 상기 인터페이스 버퍼(420)로 송신한다.
한편, 특정 서비스 클래스의 패킷이 서비스 되는 시점에서 해당 서비스 클래스의 SSF가 미리 설정되어 있고, 인터페이스 버퍼(420)의 가용 공간의 크기가 미리 설정한 문턱 값보다 클 경우, 상기 버퍼 가용 공간 판단부(422)는 상기 특정 신호 채널을 통해 해당 서비스 클래스의 서비스 중지를 해제하는 서비스 재개 메시지를 송신한다. 상기 메시지 수신부(412)가 상기 서비스 재개 메시지를 수신하면, 상기 SSF 설정부(414)로 하여금 해당 서비스 클래스의 SSF를 'OFF'로 설정하고, 상기 서비스 재개 확인 메시지를 상기 버퍼 가용공간 판단부(422)로 송신한다. 만약, 상기 버퍼 가용공간 판단부(422)는 미리 정해놓은 시간동안 상기 서비스 재개 확인 메시지를 수신하지 못할 경우, 상기 버퍼 가용공간 판단부(422)는 상기 서비스 중지 지시 메시지를 상기 메시지 수신부(412)로 재송신한다.
본 발명의 제2실시 예에서는, 상기 버퍼 가용공간 판단부(422)가, 수신된 패킷이 입/출력될 때마다 상기 인터페이스 버퍼(420)의 가용 공간의 크기를 추정하고, 해당 서비스 클래스별로 설정한 특정 문턱 값에서 히스테리시스 임계값(delta)을 더하거나 뺀 값을 상기 추정된 가용 공간의 크기와 비교한다.
즉, 상기 추정된 가용 공간의 크기가 해당 서비스 클래스별로 설정한 특정 문턱 값에서 delta를 뺀 값보다 작을 경우 해당 서비스 클래스의 패킷 유입을 멈추기 위해서 상기 버퍼 가용 공간 판단부(422)는 별도의 신호 채널을 통해 해당 서비스 클래스의 서비스 중지 메시지를 상기 메시지 수신부(412)로 송신한다.
반면, 상기 추정된 가용 공간의 크기가 상기 문턱값에 delta를 합한 값보다 클 경우, 중단된 서비스의 패킷 유입을 재개하기 위해서 상기 버퍼 가용 공간 판 단부(422)는 상기 특정 신호 채널을 통해 해당 서비스 클래스의 서비스 중지를 해제하는 서비스 재개 메시지를 송신한다. 상기 delta는 상기 추정된 가용 공간의 크기와 해당 서비스 클래스별 특정 문턱값이 별다른 차이가 없을 경우, 불필요한 서비스 중지/재개가 반복적으로 스위칭되는 경우를 막기 위해 설정한 임의의 임계값이다. 상기 delta는 각 서비스 클래스별로 다르게 설정될 수도 있고 동일하게 설정될 수도 있다.
일 예로, 추정된 B_a의 크기가B_BE(또는 B_NRT) 주변에서 변화할 경우, 상기 B_a 는 하기 <수학식9>범위 내에서는 서비스 중지/재개 상태를 변경하지 않는다.
B_BE+delta< B_a <B_BE+delta
본 발명의 제2실시 예에서는, 상기 버퍼 가용공간 판단부(422)가, 수신된 패킷이 입/출력될 때마다 상기 인터페이스 버퍼(420)의 가용 공간의 크기를 추정하고, 상기 추정된 가용 공간의 크기가 해당 서비스 클래스별로 설정한 특정 문턱 값을 비교한다. 이때, 상기 추정된 가용공간의 크기가 상기 문턱값 근처에서 움직일 때, 서비스 중단 및 재개 신호를 불필요하게 반복적으로 전송하는 문제점을 방지하기 위해서 타이머(timer)를 설정한다. 즉, 상기 추정된 가용공간의 크기가 상기 문턱값과 별 차이 없는 범위로 변화하는 시간이 서비스 중단 시점을 결정하기 위한 중단 타이머(stop-timer)와 해당 서비스의 재개 시점을 결정하기 위한 재개 타이머(replay-timer)에 설정된 시간보다 작을 경우 불필요한 서비스 중단 및 재개 스위칭 또는 메시지 송/수신을 막을 수 있다.
상기 타이머는 RF(Radio Freqeuncy) 스케쥴러(scheduler)의 최소 단위인 프레임 구간(duration)의 정수배로 설정되거나, 각 서비스 클래스의 구분없이 일정시간으로 설정되거나 아니면, 각 서비스 클래스별로 다르게 설정할 수 있다.
구체적으로, 상기 추정된 가용공간의 크기가 상기 문턱값보다 작을 경우, 상기 버퍼 가용 공간 판단부(422)는 상기 추정된 가용공간의 크기가 상기 문턱값보다 작은 상태에 머무르는 시간이 미리 설정해 놓은 중단 타이머에 설정된 시간보다 크거나 같아지면 해당 서비스를 중단한다. 이후, 상기 버퍼 가용 공간 판단부(422)는 별도의 신호 채널을 통해 해당 서비스 클래스의 서비스 중지메시지를 상기 메시지 수신부(412)로 송신한다.
반면, 상기 추정된 가용 공간의 크기가 상기 문턱값보다 클 경우, 상기 버퍼 가용 공간 판단부(422)는 상기 추정된 가용공간의 크기가 상기 문턱값보다 큰 상태에 머무르는 시간이 미리 설정해 놓은 재개 타이머에 설정된 시간보다 크거나 같아지면 해당 서비스를 재개한다. 이후, 상기 버퍼 가용 공간 판단부(422)는 별도의 신호 채널을 통해 해당 서비스 클래스의 서비스 중지 메시지를 상기 메시지 수신부(412)로 송신한다.도 5는 본 발명의 제1실시 예에 따른 인터페이스 버퍼에 패킷이 입력될 경우 버퍼 가용 공간 판단부의 동작을 보여주는 흐름도이다.
도 5를 참조하면, 500단계에서 인터페이스 버퍼는 상기 프로세서 모듈로부터 수신된 패킷이 있을 경우, 505단계로 진행한다. 505단계에서 상기 인터페이스 버퍼는 상기 패킷이 수신된 이후 감소된 버퍼 가용 공간의 크기(B_a)를 추정하여 저장한다.
510단계에서 상기 인터페이스 버퍼는, 상기 B_a의 크기가 미리 정해놓은 B_BE의 크기보다 작은지 비교한다. 상기 비교 결과 작을 경우, 515단계에서 상기 인터페이스 버퍼는 BE 서비스를 중지 즉, 상기 BE 서비스 클래스의 패킷 유입을 멈추고 525단계로 진행한다. 상기 비교 결과 크거나 같을 경우, 520단계에서 상기 인터페이스 버퍼는 상기 BE 서비스 클래스의 패킷 유입을 계속 진행한다.
525단계에서 상기 B_a의 크기가 미리 정해놓은 B_NRT보다 작은지 비교한다. 상기 비교 결과 작을 경우, 530단계에서 상기 인터페이스 버퍼는 상기 NRT 서비스를 중지 즉, 상기 NRT 서비스의 패킷 유입을 멈춘 후, 500단계로 복귀한다. 상기 비교 결과 크거나 같을 경우, 500단계에서 상기 인터페이스 버퍼는 상기 NRT 서비스 클래스의 패킷 유입을 계속 진행한다.
도 6은 본 발명의 제1 실시 예에 따른 인터페이스 버퍼에 패킷이 출력될 경우의 동작을 보여주는 흐름도이다.
도 6을 참조하면, 600단계에서 상기 인터페이스 버퍼는 송신할 패킷이 발생하면 605단계로 진행한다. 605단계에서 상기 인터페이스 버퍼는 상기 패킷 송신 이후의 버퍼 가용 공간의 크기(B_a)를 추정하여 저장한다.
610단계에서 상기 인터페이스 버퍼는, 상기 B_a의 크기가 미리 정해놓은 B_nrt의 크기보다 크거나 같은지 비교한다. 상기 비교 결과 클 경우, 620단계에서 상기 인터페이스 버퍼는 중지되어 있던 NRT 서비스를 재계하고 625단계로 진행한다. 상기 비교 결과 작을 경우, 615단계에서 상기 인터페이스 버퍼는 계속해서 중지된 NRT 서비스를 유지한다. 625단계에서 상기 B_a의 크기가 미리 정해놓은 B_BE 보다 큰지 비교한다. 상기 비교 결과 크거나 같을 경우, 630단계에서 상기 인터페이스 버퍼는 중지되어 있던 BE 서비스를 재계하고, 600단계로 복귀한다.
상기 비교 결과 작을 경우, 615단계에서 상기 인터페이스 버퍼는 BE 서비스를 계속해서 중지한다.
도 7은 본 발명의 제2실시 예에 따른 인터페이스 버퍼에 패킷이 입력될 경우의 동작을 보여주는 흐름도이다.
도 7을 참조하면, 700단계에서 인터페이스 버퍼는 상기 프로세서 모듈로부터 수신된 패킷이 있을 경우, 705단계로 진행한다. 705단계에서 상기 인터페이스 버퍼는 상기 패킷이 수신된 이후 감소된 버퍼 가용 공간의 크기(B_a)를 추정하여 저장한다.
710단계에서 상기 인터페이스 버퍼는 상기 B_a의 크기가 미리 정해놓은 B-BE에서 delta를 뺀 값의 크기보다 작은지 비교한다. 상기 비교 결과 작을 경우, 715단계에서 상기 인터페이스 버퍼는 BE 서비스 중지 메시지를 송신하고, 720단계로 진행한다. 상기 비교 결과 크거나 같을 경우, 700단계로 복귀한다.
720단계에서 상기 인터페이스 버퍼는 BE 서비스 중지 확인 메시지의 수신 여부를 검사한다. 상기 검사 결과 BE 서비스 중지 확인 메시지를 수신하지 않은 경우, BE 서비스 중지 메시지를 재송신한다.
상기 검사 결과 BE 서비스 중지 확인 메시지를 수신한 경우, 730단계에서 상기 인터페이스 버퍼는 BE 서비스가 중지됨을 인식하고, 상기 B_a의 크기가 B_NRT에서 delta를 뺀 값의 크기보다 작은지 비교한다. 상기 비교결과 크거나 같을 경우, 700단계로 복귀한다.
상기 비교결과 작을 경우, 740단계에서 상기 인터페이스 버퍼는 NRT 서비스 중지 메시지를 송신한 후, 745단계로 진행한다.
745단계에서 상기 인터페이스 버퍼는 NRT 서비스 중지 확인 메시지의 수신 여부를 검사한다. 상기 검사 결과 NRT 서비스 중지 확인 메시지를 수신한 경우, 755단계에서 상기 인터페이스 버퍼는 NRT 서비스를 중지됨을 인식하고, 700단계로 복귀한다. 상기 NRT 서비스 중지 확인 메시지를 수신하지 못한 경우, 750단계에서 상기 인터페이스 버퍼는 NRT 서비스 중지 확인 메시지를 재송신한다.
도 8은 본 발명의 제 2실시 예에 따른 인터페이스 버퍼에 패킷이 출력될 경우의 동작을 보여주는 흐름도이다.
도 8을 참조하면, 800단계에서 인터페이스 버퍼는 상기 프로세서 모듈로부터 수신된 패킷이 있을 경우, 805단계에서 상기 인터페이스 버퍼는 상기 패킷이 수신된 이후 증가된 버퍼 가용 공간의 크기(Ba)를 추정하여 저장한다.
810단계에서 상기 인터페이스 버퍼는 상기 B-a의 크기가 미리 정해놓은 B-NRT에 delta를 더한 값의 크기보다 큰지 비교한다. 상기 비교 결과 클 경우, 820단계에서 상기 인터페이스 버퍼는 중단된 NRT 서비스 재개 메시지를 송신한 후, 825단계로 진행한다. 상기 비교 결과 크거나 같을 경우, 800단계로 복귀한다.
825단계에서 상기 인터페이스 버퍼는 NRT 서비스 재개 확인 메시지의 수신 여부를 검사한다. 상기 검사 결과 NRT 서비스 중지 확인 메시지를 수신하지 않은 경우, NRT 서비스 재개 메시지를 재송신한다.
상기 검사 결과 NRT 서비스 재개 확인 메시지를 수신한 경우, 835단계에서 상기 인터페이스 버퍼는 NRT 서비스를 재개됨을 인식하고, 상기 B_a의 크기가 B_BE에 delta를 더한 값의 크기보다 큰지 비교한다. 상기 비교결과 클 경우, 800단계로 복귀한다.
상기 비교결과 작을 경우, 840단계에서 상기 인터페이스 버퍼는 BE 서비스 재개 메시지를 송신한 후, 845단계로 진행한다.
845단계에서 상기 인터페이스 버퍼는 BE 서비스 재개 확인 메시지의 수신 여부를 검사한다. 상기 검사 결과 BE 서비스 재개 확인 메시지를 수신한 경우 855단계에서 BE 서비스가 재개됨을 인식하고, 800단계로 복귀한다. 상기 BE 서비스 재개 확인 메시지를 수신하지 못한 경우, 850단계에서 상기 인터페이스 버퍼는 BE 서비스 재개 확인 메시지를 재송신한다.
도 9는 본 발명의 제 2실시 예에 따른 인터페이스 버퍼의 동작을 보여주는 흐름도이다.
도 9를 참조하면, 900단계에서 상기 인터페이스 버퍼가 패킷을 수신하면, 905단계로 진행한다. 905단계에서 상기 인터페이스 버퍼는 상기 패킷으로 인해 변동된 버퍼 가용 공간의 크기(B_a_n)가 상기 B_a_n 이전의 버퍼 가용 공간의 크기(B_a_n-1)보다 증가되었는지 아니면 감소되었는 지를 확인한다.
상기 확인 결과 감소된 경우 즉, 상기 B_a_n이 상기 B_a_n-1보다 작으면 915단계로 진행하고, 상기 확인 결과 증가된 경우 즉, 상기 B_a_n이 상기 B_a_n-1보다 크면 920단계로 진행한다.
915단계에서 상기 인터페이스 버퍼는 상기 B_a_n이 B_BE보다 작은 지 비교한다. 상기 비교결과 작지 않을 경우 900단계로 복귀한다. 상기 비교결과 작을 경우, 925단계에서 상기 인터페이스 버퍼는 925단계에서 서비스 중단 타이머를 실행하고, 930단계로 진행한다.
930단계에서 상기 인터페이스 버퍼는 중간 타이머가 만료되었지 여부를 확인하여, 만료되지 않은 경우 900단계로 복귀한다. 상기 확인결과 만료된 경우, 935단계에서 상기 타이머 시간 동안의 가용 버퍼 크기의 변동을 고려하여 B_a를 다시 추정한 후(B_a_n+1), 940단계에서 상기 B_a_n+1이 상기 B_BE보다 작은 경우 945단계에서 상기 인터페이스 버퍼는 BE 서비스 중단 메시지를 송신한 후, 950단계로 진행한다.
950단계에서 상기 인터페이스 버퍼는 상기 BE 서비스 중단 확인 메시지의 수신 여부를 확인한다. 상기 확인결과 BE 서비스 중단 확인 메시지가 수신된 경우, 1000단계에서 상기 인터페이스 버퍼는 BE 서비스를 중단하고 900단계로 복귀한다. 상기 확인 결과 BE 서비스 중단 확인 메시지가 수신되지 않은 경우, 955단계에서 상기 인터페이스 버퍼는 BE 서비스 중단 확인 메시지를 재송신한다.
920단계에서 상기 인터페이스 버퍼는 상기 B_a_n이 B_NRT보다 큰 지 비교한다. 상기 비교결과 크지 않을 경우 900단계로 복귀한다. 상기 비교결과 클 경우, 960단계에서 상기 인터페이스 버퍼는 서비스 재개 타이머를 실행하고, 965단계로 진행한다.
965단계에서 상기 인터페이스 버퍼는 중간 타이머가 만료되었지 여부를 확인 하여, 만료되지 않은 경우 900단계로 복귀한다. 상기 확인결과 만료된 경우, 970단계에서 상기 타이머 시간 동안의 가용 버퍼 크기의 변동을 고려하여 B_a를 다시 추정한 후,( B_a_n+1), 975단계에서 B_NRT보다 큰 경우] 980단계에서 상기 인터페이스 버퍼는 NRT 서비스 재개 메시지를 송신한 후, 985단계로 진행한다.
985단계에서 상기 인터페이스 버퍼는 상기 NRT 서비스 재개 확인 메시지의 수신 여부를 확인한다. 상기 확인결과 NRT 서비스 재개 확인 메시지가 수신된 경우, 990단계에서 상기 인터페이스 버퍼는 NRT 서비스를 재개하고 900단계로 복귀한다. 상기 확인 결과BE 서비스 중단 확인 메시지가 수신되지 않은 경우, 995단계에서 상기 인터페이스 버퍼는 NRT 서비스 재개 확인 메시지를 재송신한다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시 예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 종래 기술에 따른 통신시스템의 구성도.
도 2는 종래 기술에 따른 기지국의 내부 구성도.
도 3은 본 발명의 제1실시 예에 따라 인터페이스 버퍼를 관리하는 개념도.
도 4는 본 발명의 제1실시 예에 따른 기지국의 내부 구성도.
도 5는 본 발명의 제1실시 예에 따른 인터페이스 버퍼에 패킷이 입력될 경우의 동작을 보여주는 흐름도.
도 6은 본 발명의 제1실시 예에 따른 인터페이스 버퍼에 패킷이 출력될 경우의 동작을 보여주는 흐름도.
도 7은 본 발명의 제2실시 예에 따른 인터페이스 버퍼에 패킷이 입력될 경우의 동작을 보여주는 흐름도.
도 8은 본 발명의 제2실시 예에 따른 인터페이스 버퍼에 패킷이 출력될 경우의 동작을 보여주는 흐름도.
도 9는 본 발명의 제2실시 예에 따른 인터페이스 버퍼의 동작을 보여주는 흐름도.

Claims (21)

  1. 통신 시스템에서 기지국의 버퍼를 관리하는 방법에 있어서,
    서비스 클래스의 우선순위에 따라 상기 버퍼의 패킷 입출력을 스케쥴링을 하기 위한 서비스 클래스별 임계값을 각각 설정하는 과정과,
    상기 버퍼로 패킷이 수신되면, 상기 패킷 수신 이후 상기 버퍼의 가용공간 크기를 추정하여 저장하는 과정과,
    상기 패킷의 제1서비스 클래스에 상응하는 제1임계값과 상기 추정된 버퍼의 가용공간 크기를 비교하여, 상기 버퍼의 패킷 입출력을 스케쥴링하는 과정을 포함하는 버퍼 관리 방법.
  2. 제 1항에 있어서, 상기 스케쥴링하는 과정은,
    상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 작으면 상기 제1서비스 클래스의 서비스를 중단하고, 상기 제1서비스 클래스의 패킷 유입을 멈추는 과정을 포함하는 버퍼 관리 방법.
  3. 제 2항에 있어서,
    상기 제1서비스 클래스의 서비스 중단을 알리는 제1서비스 중단 메시지를 서비스 프로세서 모듈로 송신하는 과정과,
    상기 서비스 프로세서 모듈로부터 제1서비스 중단 확인 메시지를 수신한 경우, 상기 제1서비스 클래스의 서비스를 중단하는 과정과,
    상기 프로세서 모듈로부터 미리 설정된 재전송 시간 구간 동안 제1서비스 중단 확인 메시지를 수신하지 않은 경우, 상기 제1서비스 중단 메시지를 상기 프로세서 모듈로 재송신하는 과정을 더 포함하는 버퍼 관리 방법.
  4. 제 1항에 있어서, 상기 스케쥴링하는 과정은,
    상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 크거나 같으면, 이전에 중지된 상기 제1서비스 클래스의 패킷 유입을 재개하는 과정을 포함하는 상기 버퍼 관리 방법.
  5. 제 4항에 있어서,
    상기 제1서비스 클래스의 서비스 재개를 알리는 제1서비스 재개 메시지를 서비스 프로세서 모듈로 송신하는 과정과,
    상기 프로세서 모듈로부터 제1서비스 재개 확인 메시지를 수신한 경우, 상기 제1서비스를 재개하는 과정과,
    상기 프로세서 모듈로부터 제1서비스 재개 확인 메시지를 수신하지 않은 경우, 미리 설정된 재전송 시간 구간 동안 상기 제1서비스 재개 메시지를 상기 프로세서 모듈로 재송신하는 과정을 더 포함하는 버퍼 관리 방법.
  6. 제 1 항에 있어서,
    상기 서비스 클래스는,
    RT(Real-Time) 서비스 클래스와, NRT(Non-Real-Time) 서비스 클래스와, BE(Best Effort) 서비스 클래스를 포함함을 특징으로 하는 버퍼 관리 방법.
  7. 제6항에 있어서,
    상기 RT 서비스 클래스와, 상기 NRT 서비스 클래스 각각에 대해서 미리 정해져 있는 성능을 보장하는 가용 공간의 크기 범위 내에서 상기 버퍼의 전체 크기를 결정하는 과정을 더 포함하는 버퍼 관리 방법.
  8. 삭제
  9. 제1항에 있어서, 상기 스케쥴링하는 과정은,
    상기 제1서비스 클래스의 서비스 중단 및 재개 시점을 결정하기 위한 최소 변동폭인 제2임계값을 결정하는 과정과,
    상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값과 제2임계값의 차보다 작으면 상기 제1서비스 클래스의 서비스를 중단하고, 상기 제1서비스 클래스의 패킷 유입을 멈추는 과정을 포함하는 버퍼 관리 방법.
  10. 제 9항에 있어서, 상기 스케쥴링하는 과정은,
    상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값과 제2임계값의 합보다 크면 상기 제1서비스 클래스의 서비스를 재개하고, 상기 제1서비스 클래스의 패킷 유입을 재개하는 과정을 포함하는 버퍼 관리 방법.
  11. 제 1항에 있어서, 상기 스케쥴링하는 과정은,
    상기 제1서비스의 중단 및 재개 시점을 결정하기 위한 시간 구간을 결정하는 과정과,
    상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 작을 경우, 상기 시간 구간으로 설정된 타이머를 구동하는 과정과,
    상기 타이머 구동 이후에 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 작을 경우, 상기 제1서비스 클래스의 패킷 유입을 멈추는 과정을 포함하는 버퍼 관리 방법.
  12. 제 11항에 있어서, 상기 스케쥴링하는 과정은,
    상기 제1서비스 클래스의 서비스 중단 및 재개 시점을 결정하기 위한 시간 구간을 결정하는 과정과,
    상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 클 경우, 상기 시간 구간으로 설정된 타이머를 구동하는 과정과,
    상기 타이머 시간 이후에 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 클 경우,상기 제1서비스 클래스의 패킷 유입을 재개하는 과정을 포함하는 버퍼 관리 방법.
  13. 통신 시스템에서 기지국의 버퍼를 관리하는 장치에 있어서,
    서비스 클래스의 우선순위에 따라 상기 버퍼의 패킷 입출력을 스케쥴링을 하기 위한 서비스 클래스별 임계값을 각각 설정하고, 상기 버퍼로 패킷이 수신되면 상기 패킷 수신 이후 상기 버퍼의 가용공간 크기를 추정하여 저장하고, 상기 패킷의 제1서비스 클래스에 상응하는 제1임계값과 상기 추정된 버퍼의 가용공간 크기를 비교하여, 상기 버퍼의 패킷 입출력의 스케쥴링을 지시하는 버퍼 가용 공간 판단부와,
    상기 버퍼 가용 공간 판단부의 지시에 따라 상기 버퍼의 패킷 입출력을 스케쥴링하는 프로세서 모듈을 포함하는 버퍼 관리 장치.
  14. 제 13항에 있어서, 상기 버퍼 가용 공간 판단부는,
    상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 작으면, 상기 제1서비스 클래스의 서비스 중단을 알리는 제1서비스 중단 메시지를 상기 프로세서 모듈로 송신하고, 상기 프로세서 모듈로부터 제1서비스 중단 확인 메시지를 수신한 경우, 상기 제1서비스 클래스의 서비스가 중단됨을 인식하고,
    상기 프로세서 모듈로부터 미리 설정된 재전송 시간 구간동안 제1서비스 중단 확인 메시지를 수신하지 않은 경우, 상기 제1서비스 중단 메시지를 상기 프로세서 모듈로 재송신함을 특징으로 하는 버퍼 관리 장치.
  15. 제 14항에 있어서, 상기 버퍼 가용 공간 판단부는,
    상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 크면, 중단된 제1서비스 클래스의 서비스 재개를 알리는 제1서비스 재개 메시지를 상기 프로세서 모듈로 송신하고, 상기 프로세서 모듈로부터 제1서비스 재개 확인 메시지를 수신한 경우, 상기 제1서비스 클래스의 서비스가 재개됨을 인식하고,
    상기 프로세서 모듈로부터 미리 설정된 재전송 시간 구간동안 상기 제1서비스 재개 확인 메시지를 수신하지 않은 경우, 상기 제1서비스 재개 메시지를 상기 프로세서 모듈로 재송신함을 특징으로 하는 버퍼 관리 장치.
  16. 제13항에 있어서,
    상기 서비스 클래스는,
    RT( Real-Time) 서비스 클래스와, NRT(Non-Real-Time) 서비스 클래스와, BE(Best Effort) 서비스 클래스를 포함함을 특징으로 하는 버퍼 관리 장치.
  17. 제16항에 있어서,
    상기 RT 서비스 클래스와 상기 NRT 서비스 클래스 각각에 대해서 미리 정해져 있는 성능을 보장하는 가용 공간의 크기 범위 내에서 상기 버퍼의 전체 크기를 결정하는 버퍼 크기 결정부를 더 포함하는 버퍼 관리 장치.
  18. 삭제
  19. 제 13항에 있어서, 상기 버퍼 가용 공간 판단부는,
    상기 제1서비스 클래스의 서비스 중단 및 재개 시점을 결정하기 위한 최소 변동폭인 제2임계값을 결정하고, 상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값과 제2임계값의 차보다 작으면 제1서비스 중단 메시지를 프로세서 모듈로 송신하고, 상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값과 제2임계값의 합보다 크면 제1서비스 재개 메시지를 상기 프로세서 모듈로 송신함을 특징으로 하는 버퍼 관리 장치.
  20. 제 13항에 있어서, 상기 버퍼 가용 공간 판단부는,
    상기 제1서비스 클래스의 서비스 중단 및 재개 시점을 결정하기 위한 시구간을 결정하고, 상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 작을 경우, 상기 시구간으로 설정된 타이머를 구동한 후, 상기 타이머의 시구간 만료 이후에 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 작을 경우, 제1서비스 중단 메시지를 상기 프로세서 모듈로 송신함을 특징으로 하는 버퍼 관리 장치.
  21. 제 20항에 있어서, 상기 버퍼 가용 공간 판단부는,
    상기 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 클 경우, 상기 시구간으로 설정된 타이머를 구동하고, 상기 타이머의 시구간 만료 이후에 추정된 버퍼의 가용 공간 크기가 상기 제1임계값보다 클 경우 제1서비스 재개 메시지를 상기 프로세서 모듈로 송신함을 특징으로 하는 버퍼 관리 장치.
KR1020070122886A 2006-12-05 2007-11-29 통신시스템에서 버퍼를 관리하는 방법 및 장치 KR100938096B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/950,623 US7835277B2 (en) 2006-12-05 2007-12-05 Method and apparatus for managing a buffer in a communication system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060122434 2006-12-05
KR20060122434 2006-12-05

Publications (2)

Publication Number Publication Date
KR20080052395A KR20080052395A (ko) 2008-06-11
KR100938096B1 true KR100938096B1 (ko) 2010-01-21

Family

ID=39807195

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070122886A KR100938096B1 (ko) 2006-12-05 2007-11-29 통신시스템에서 버퍼를 관리하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100938096B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102197710B1 (ko) 2014-01-24 2020-12-31 한국전자통신연구원 재전송 트래픽 버스트 관리 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990087972A (ko) * 1998-05-12 1999-12-27 포만 제프리 엘 버퍼관리를통한속도보증
US20040160971A1 (en) 2002-11-27 2004-08-19 Edward Krause Apparatus and method for dynamic channel mapping and optimized scheduling of data packets
US6961307B1 (en) 1999-12-06 2005-11-01 Nortel Networks Limited Queue management mechanism for proportional loss rate differentiation
KR20070050579A (ko) * 2005-11-11 2007-05-16 한국전자통신연구원 휴대 인터넷 시스템의 기지국에서 순방향 패킷 스케쥴링장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990087972A (ko) * 1998-05-12 1999-12-27 포만 제프리 엘 버퍼관리를통한속도보증
US6961307B1 (en) 1999-12-06 2005-11-01 Nortel Networks Limited Queue management mechanism for proportional loss rate differentiation
US20040160971A1 (en) 2002-11-27 2004-08-19 Edward Krause Apparatus and method for dynamic channel mapping and optimized scheduling of data packets
KR20070050579A (ko) * 2005-11-11 2007-05-16 한국전자통신연구원 휴대 인터넷 시스템의 기지국에서 순방향 패킷 스케쥴링장치 및 방법

Also Published As

Publication number Publication date
KR20080052395A (ko) 2008-06-11

Similar Documents

Publication Publication Date Title
US7835277B2 (en) Method and apparatus for managing a buffer in a communication system
KR100645956B1 (ko) 무선 데이터 통신시스템에서 링크-효율성을 기반으로 한스케쥴링
US6108316A (en) Adaptive scheduling priorities based on battery power level in wireless access protocols
EP1985092B1 (en) Method and apparatus for solving data packet traffic congestion.
KR101299221B1 (ko) 이동통신 시스템의 상향 링크 트래픽에 대한 자원 요청 및패킷 스케줄링 방법, 그리고 그 장치
US5970062A (en) Method and apparatus for providing wireless access to an ATM network
RU2256299C2 (ru) Способ и устройство для поддержания информации о подтверждении радиосвязи для однонаправленного канала передачи пользовательских данных
KR101047228B1 (ko) 다중-반송파 통신 시스템들을 위한 분산형 순방향 링크 스케줄러
JP4444246B2 (ja) 通信システムにおけるデータのスケジューリング装置及び方法
RU2474968C2 (ru) Планирование с учетом приоритетов и управление доступом в сети связи
US7095717B2 (en) Method for multiplexing two data flows on a radio communication channel and corresponding transmitter
US20040170179A1 (en) Radio resource management with adaptive congestion control
US20110044262A1 (en) Apparatus and method for scheduler implementation for best effort (be) prioritization and anti-starvation
KR20050095307A (ko) 무선 통신 시스템에서 패킷 데이터 스케줄링 장치 및 방법
EP1433286A1 (en) A class of computationally parsimonious schedulers for enforcing quality of service over packet based av-centric home networks
JP2008053889A (ja) ハンドオーバ方法、基地局、端末局、プログラム記録媒体及び集積回路
JP2007520106A (ja) リアルタイム通信のための無線ローカルエリアネットワークにおけるアップリンクポール基礎省電力送出方法
Mahadevan et al. Architecture and experimental results for quality of service in mobile networks using RSVP and CBQ
US20040064467A1 (en) Method for scheduling of packet data and a packet data scheduler
US7082115B2 (en) Radio telecommunications system with improved use of timeslots
KR101512993B1 (ko) 통신을 위한 방법 및 그를 위한 라디오 스테이션
KR100938096B1 (ko) 통신시스템에서 버퍼를 관리하는 방법 및 장치
US20040202129A1 (en) Method, network nodes and system for sending data in a mobile communication network
CN112235833B (zh) 数据流参数动态配置方法、会话管理功能实体
KR100347733B1 (ko) 무선 이동 단말에서의 트래픽 제어 방법

Legal Events

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

Payment date: 20121228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee