특허권

고속 통신 기기로부터 무선 네트워크로의 역방향 통신을위한 이동 단말의 데이터 흐름 제어 장치 및 방법

상품번호 2019081906285721
IPC 한국(KO) 등록
출원번호 1020070041333
공개번호 10-2007-0106446
등록번호 1008662040000
출원인 삼성전자주식회사
판매가 0원
 

꼭 읽어보세요!

기술거래는 양방향 경매방식으로 이루어집니다.

기술을 매수한 당사자는 거래금액의 전부 혹은 10퍼센트(%)를 당일 본원에 입금하여야 하며, 10% 나머지 잔금은 거래일로부터 2일 이내(거래일 익일)에 납부하여야 합니다. 만약 위 지정 기간내에 매수자가 입금하지 않으면 거래는 무효가 되며, 잔금도 기한내에 입금되지 않으면 매도자로 귀속됩니다. 이는 매도자의 기한의 이익상실을 보장함 입니다.

기술거래의 수수료는 기술의 이전 및 사업화 촉진에 관한 법률 시행규칙 산업통상자원부령 제48호 의거 기술이전 금액의 13퍼센트∼기술이전 금액의 17.5퍼센트로 되어있지만, 본 거래사이트에서는 매도‧매수인 각각 10%로 합니다.
이때 매수인의 매수금액(당사로 입금되는 금액)에서 수수료 각각10% 인 20%를 공제한 후 매도인에게 계좌이체를 하여야 합니다.
또한 권리이전(특허)비용은 기술양수인(매수자)부담이며 그 비용은 별도입니다.

 
본 발명은 무선 네트워크의 단말을 통해 고속 통신 기기의 데이터를 무선 네트워크로 전송하기 위한 단말의 데이터 흐름 제어 장치 및 방법에 관한 것이다. 상기 본 발명에 따른 고속 통신 기기로부터 무선 네트워크로의 역방향 통신을 수행하는 이동 단말의 데이터 흐름 제어 장치는, 상기 고속 통신 기기로부터 데이터를 수신하여 바이트 스트림 형태로 버퍼링하는 Rm 인터페이스부와, 상기 Rm 인터페이스부로부터의 인터럽트에 의해 호출되어, 상기 Rm 인터페이스부에 버퍼링된 데이터를 읽어내어 저장하기 위한 제1 패킷 버퍼 큐를 구비하고, 상기 제1 패킷 버퍼 큐에 저장된 데이터를 관리하기 위한 제1 링크된 리스트를 관리하는 운영체제 장치 드라이버와, 상기 제1 패킷 버퍼 큐와 동일한 버퍼 구조를 갖는 제2 패킷 버퍼 큐를 구비하고, 상기 제2 패킷 버퍼 큐에 저장된 데이터를 관리하기 위한 제2 링크된 리스트를 관리하며, 상기 제2 패킷 버퍼 큐에 저장된 데이터를 프레임 형태로 변환하여 무선 네트워크로 송신하기 위한 Um 인터페이스부와, 상기 제1 패킷 버퍼 큐에 저장된 데이터의 주소를 상기 제1 링크된 리스트에서 링크-제거하고, 상기 제2 링크된 리스트에 상기 링크-제거된 데이터의 주소를 링크시킴으로써, 상기 데이터를 상기 제1 패킷 버퍼 큐로부터 상기 제2 패킷 버퍼 큐로 전달하는 패킷 처리부와, 상기 제1 패킷 버퍼 큐의 데이터 흐름을 제어하는 제어부를 포함한다. 따라서 본 발명에 의하면, 고속 통신 기기로부터 무선 네트워크로의 역방향 통신을 수행하는 이동 단말에서 버퍼 구조를 일원화하여 데이터 흐름을 안정적으로 제어할 수 있다.


특허청구의 범위
청구항 1
고속 통신 기기로부터 무선 네트워크로의 역방향 통신을 수행하는 이동 단말의 데이터 흐름 제어 장치에있어서,상기 고속 통신 기기로부터 데이터를 수신하여 바이트 스트림 형태로 버퍼링하는 Rm 인터페이스부와,상기 Rm 인터페이스부로부터의 인터럽트에 의해 호출되어, 상기 Rm 인터페이스부에 버퍼링된 데이터를 읽어내어저장하기 위한 제1 패킷 버퍼 큐를 구비하고, 상기 제1 패킷 버퍼 큐에 저장된 데이터를 관리하기 위한 제1 링크된 리스트를 관리하는 운영체제 장치 드라이버와,상기 제1 패킷 버퍼 큐와 동일한 버퍼 구조를 갖는 제2 패킷 버퍼 큐를 구비하고, 상기 제2 패킷 버퍼 큐에 저장된 데이터를 관리하기 위한 제2 링크된 리스트를 관리하며, 상기 제2 패킷 버퍼 큐에 저장된 데이터를 프레임형태로 변환하여 상기 무선 네트워크로 송신하기 위한 Um 인터페이스부와,상기 제1 패킷 버퍼 큐에 저장된 데이터의 주소를 상기 제1 링크된 리스트에서 링크-제거하고, 상기 제2 링크된리스트에 상기 링크-제거된 데이터의 주소를 링크시킴으로써, 상기 데이터를 상기 제1 패킷 버퍼 큐로부터 상기제2 패킷 버퍼 큐로 전달하는 패킷 처리부와,상기 제1 패킷 버퍼 큐의 데이터 흐름을 제어하는 제어부를 포함하는 이동 단말의 데이터 흐름 제어 장치.
청구항 2
제 1 항에 있어서,상기 제1 및 제2 패킷 버퍼 큐들에 저장된 데이터의 주소들은상기 제1 및 제2 링크된 리스트들의 시작 주소 및 끝 주소를 각각 나타내는 헤드 포인터들 및 테일 포인터들로관리되는 이동 단말의 데이터 흐름 제어 장치.
청구항 3
제 1 항에 있어서,상기 패킷 처리부는,상기 제1 패킷 버퍼 큐에 저장된 데이터를 상기 Um 인터페이스부를 통해 전송 가능한 패킷 형태로 변환 처리하는 이동 단말의 데이터 흐름 제어 장치.
청구항 4
제 1 항에 있어서,상기 제어부는,상기 제1 패킷 버퍼 큐에 저장된 데이터의 버퍼량이 일정 임계 값을 초과할 때 CTS(Clear To Send) 대기 타이머에 의해 계수된 소정 대기 시간 동안 상기 고속 통신 기기로부터의 수신을 중단하도록 제어하는 이동 단말의 데이터 흐름 제어 장치.
청구항 5
제 4 항에 있어서,상기 제1 패킷 버퍼 큐의 용량은,상기 대기시간과, 상기 운영체제 장치 드라이버로부터 상기 Um 인터페이스부로 상기 패킷이 전달되기까지 걸리는 지연시간과, 상기 Um 인터페이스부의 버퍼 언더런을 방지하기 위해 설정된 버퍼링 시간이 합산된 시간 동안물리 계층에서 최대 전송속도로 전송할 수 있는 데이터 량으로 결정되는 이동 단말의 데이터 흐름 제어 장치.
청구항 6
제 1 항에 있어서,상기 운영체제 장치 드라이버는,상기 제1 패킷 버퍼 큐에 상기 Rm 인터페이스부로부터의 데이터를 저장할 패킷 버퍼 영역의 주소들 및 상기 주소들의 사용 상태를 관리하기 위한 패킷 버퍼 풀을 구비하는 이동 단말의 데이터 흐름 제어 장치.
청구항 7
고속 통신 기기로부터 무선 네트워크로의 역방향 통신을 수행하도록 상기 고속 통신 기기와 통신하기 위한 Rm인터페이스부와 상기 무선 네트워크와 통신하기 위한 Um 인터페이스부를 구비하는 이동 단말의 데이터 흐름 제어 방법에 있어서,상기 고속 통신 기기로부터 데이터를 수신하여 상기 Rm 인터페이스부에 바이트 스트림 형태로 버퍼링하는 과정과,상기 Rm 인터페이스부로부터의 인터럽트에 의해 운영체제 장치 드라이버를 호출하여, 상기 Rm 인터페이스부에버퍼링된 데이터를 읽어내어 상기 운영체제 장치 드라이버 내의 제1 패킷 버퍼 큐에 저장하는 과정과,상기 제1 패킷 버퍼 큐에 저장된 데이터의 주소를 상기 제1 패킷 버퍼 큐를 관리하기 위한 제1 링크된 리스트에서 링크-제거하고, 상기 Um 인터페이스부에 구비되는 제2 패킷 버퍼 큐를 관리하기 위한 제2 링크된 리스트에상기 링크-제거된 데이터의 주소를 링크시킴으로써, 상기 데이터를 상기 제1 패킷 버퍼 큐로부터 상기 제2 패킷버퍼 큐로 전달하는 과정과,상기 Um 인터페이스부에서 상기 제2 패킷 버퍼 큐에 저장된 데이터를 프레임 형태로 변환하여 상기 무선 네트워크로 송신하는 과정을 포함하는 이동 단말의 데이터 흐름 제어 방법.
청구항 8
제 7 항에 있어서,상기 제1 및 제2 패킷 버퍼 큐들에 저장된 데이터의 주소들은,상기 제1 및 제2 링크된 리스트들의 시작 주소 및 끝 주소를 각각 나타내는 헤드 포인터들 및 테일 포인터들로관리되는 이동 단말의 데이터 흐름 제어 방법.
청구항 9
제 7 항에 있어서,상기 제1 패킷 버퍼 큐에 저장된 데이터를 상기 제2 패킷 버퍼 큐로 전달하기 이전에, 상기 Um 인터페이스부를통해 전송 가능한 패킷 형태로 변환 처리하는 과정을 더 포함하는 이동 단말의 데이터 흐름 제어 방법.
청구항 10
제 7 항에 있어서,상기 제1 패킷 버퍼 큐에 저장된 데이터의 버퍼량이 일정 임계 값을 초과할 경우 CTS(Clear To Send) 대기 타이머에 의해 계수 된 소정 대기 시간 동안 상기 고속 통신 기기로부터의 수신을 중단하는 과정을 더 포함하는 이동 단말의 데이터 흐름 제어 방법.
청구항 11
제 10 항에 있어서,상기 제1 패킷 버퍼 큐의 용량은,상기 대기시간과, 상기 운영체제 장치 드라이버로부터 상기 Um 인터페이스부로 상기 패킷이 전달되기까지 걸리는 지연시간과, 상기 Um 인터페이스부의 버퍼 언더런을 방지하기 위해 설정된 버퍼링 시간이 합산된 시간 동안물리 계층에서 최대 전송속도로 전송할 수 있는 데이터 량으로 결정되는 이동 단말의 데이터 흐름 제어 방법.
명 세 서
발명의 상세한 설명
발명의 목적
발명이 속하는 기술 및 그 분야의 종래기술
본 발명은 무선 네트워크의 이동 단말에서 데이터 흐름을 제어하기 위한 장치 <10> 및 방법에 관한 것으로, 특히 컴퓨터 장치 등의 고속 통신 기기의 데이터를 무선 네트워크로 전송하기 위한 이동 단말의 데이터 흐름 제어 장치및 방법에 관한 것이다.
<11> 무선 네트워크는 전달하고자 하는 데이터를 소정의 주파수를 통해 무선(AIR) 상으로 전송하는 시스템이다. 이러한 무선 네트워크는 멀티미디어 기술의 발전에 따라 고속 패킷 데이터를 전송하는 시스템으로 발전하고 있다.
또한 사용자의 다양한 서비스 요구를 충족시키기 위해 무선 네트워크의 단말은 범용 컴퓨터 장치와 유무선으로연결되어 데이터 교환을 수행하거나 노트북 컴퓨터 등을 통해 무선 인터넷에 접속하기 위한 무선 모뎀의 기능을수행하는 등 복합 통신 기기로 진화되고 있다.
<12> 컴퓨터 장치(Personal Computer : PC)와 같은 고속 통신 기기(Terminal Equipment : 이하 "TE"라 칭함)로부터출력된 데이터를 무선 네트워크로 전송하기 위해 이동 단말(Mobile Terminal : 이하 "MT"라 칭함)을 무선 모뎀으로 이용하는 경우, 상기 MT는 상기 TE와 유선 또는 무선으로 접속되어 상기 TE로부터 출력된 데이터를 역방향링크를 통해무선 네트워크의 기지국(Base Station : 이하 "BS"라 칭함)으로 전송한다.
<13> 상기 TE로부터 BS로의 데이터 전송이 이루어지기 위해서는 상기 TE와 MT 그리고 상기 MT와 BS를 각각 유/무선으로 연결해주는 통신 인터페이스가 필요하다. 무선 이동통신 규격에서 상기 TE와 MT 간의 통신을 위한 인터페이는 Rm 인터페이스라 정의하고, 상기 MT와 BS 간의 통신을 위한 인터페이스는 Um 인터페이스라 정의한다.
<14> 무선통신 기술에서 상기 Rm 인터페이스는 예를 들어, 범용 시리얼 버스(Universal Serial Bus : 이하 "USB"라칭함.) 버전 2.0, 고속 이더넷(Fast Ethernet) 등다양한 통신 표준에 따라 수백 Mbps 전송 속도를 지원한다. 상기 Um 인터페이스는 예를 들어 동기식 단말의 경우 EV-DO(Evolution - Data Only)에서 최대 1.8Mbps의 전송 속도를 지원하고, 비동기식 단말의 경우 고속 상향 패킷 접속(High Speed Uplink Packet Access : HSUPA)에서 최대 5.8Mbps 속도를 지원한다. 즉 상기 Um 인터페이스는 상기 Rm 인터페이스에 비해 상대적으로 저속의 통신 속도를 지원함을 알 수 있다.
<15> 따라서 상기 TE로부터 처리된 데이터를 상기 MT를 통해 무선 네트워크로 전송하는 경우, 상기 Rm 인터페이스와Um 인터페이스 간의 전송 속도 차이로 인해 데이터 전송 오류가 발생될 수 있다. 이러한 데이터 전송 오류가 발생되는 원인은 고속인 Rm 인터페이스를 통해 버스트(Burst)하게 수신되는 데이터가 상대적으로 저속인 Um 인터페이스에서 데이터 병목현상을 겪음으로써 순간적으로 버퍼 오버플로우(Overflow) 혹은 버퍼 언더런(Underrun)이 발생되기 때문이다. 따라서 Rm 인터페이스와 Um 인터페이스 간의 전송 속도 차이로 인한 데이터 전송 오류발생을 최소화하기 위해 Rm 인터페이스와 Um 인터페이스 간의 데이터 흐름을 안정적으로 제어할 수 있는 데이터흐름 제어 방안이 필요하다.
<16> 이하에서는 Rm 인터페이스와 Um 인터페이스를 이용하는 종래 이동 단말의 데이터 흐름 제어 장치에 대해 설명하기로 한다.
<17> 도 1은 종래 이동 단말에서 데이터 흐름제어 장치의 구성을 나타낸 블록도이다.
<18> 도 1을 참조하면, MT에 구비되는 데이터 흐름제어 장치(100)는 TE(101)로부터 BS(102)로의 역방향 전송을 수행하기 위해 TE(101)과 MT간의 통신 인터페이스로 Rm 인터페이스부(110)를 구비하고, MT와 BS(102)간의 통신 인터페이스로 Um 인터페이스부(170)를 구비한다.
<19> 역방향 통신에 있어서 Rm 인터페이스부(110)는 TE(101)로부터 데이터를 수신하기 위한 인터페이스이다. 상기 Rm인터페이스부(110)는 TE(101)로부터 수신되는 데이터를 일시 저장하기 위한 버퍼를 내부에 구비하고, 워터마크(Watermark)에 기반한 기본적인 흐름제어를 수행한다. 운영체제(Operating System : OS) 장치 드라이버(130)는Rm 인터페이스부(110)로부터 전달된 데이터를 읽어서 MT내 버퍼에 저장한다. 운영체제 장치 드라이버(130)는 운체제 응용 프로그램 인터페이스(Application Program Interface : 이하 "API"라 칭함)를 통해 상위계층 모듈로의 접근이 가능하다. 패킷처리부(150)는 운영체제 장치 드라이버(130)에서 바이트 스트림 형태로 복사한 데이터를 패킷 형태로 변환하는 처리를 수행한다. Um 인터페이스부(170)는 패킷 처리부(150)로부터 수신한 패킷 형태의 데이터를 BS(102)로 송신하기 위한 인터페이스이다. 제어부(190)는 데이터 흐름 제어 장치(100)에서 이루어지는 통신 및 부가기능의 전반적인 동작의 제어를 수행하며, 특히 Rm 인터페이스부(110)로부터 운영체제 장치드라이버(130), 패킷처리부(150), 그리고 Um 송신 인터페이스부(170)를 경유하여 전송되는 데이터의 흐름을 제어한다.
도 2는 도 1에 도시된 데이터 흐름 제어 장치(100)에서 데이터 전송 과정을 나타낸 <20> 도면으로서, 도 2에서 도 1에 도시된 구성과 동일한 구성에 대해서는 동일한 참조번호를 사용하기로 한다.
<21> 도 2에서 Rm 인터페이스부(110)는 FIFO(First In First Out) 버퍼(111)를 구비하고, TE(101)로부터 수신되는데이터를 FIFO 버퍼(111)에 버퍼링하여 바이트 스트림으로 일시 저장한다. 그리고 Rm 인터페이스부(110)는 상기 FIFO 버퍼(111)에 일정량 이상의 데이터가 저장되면 운영체제 장치 드라이버(130)로 인터럽트를 전송한다.
<22> 상기 인터럽트를 통해 호출된 운영체제 장치 드라이버(130)는 FIFO 버퍼(111)로부터 데이터를 읽어와 바이트 스트림 버퍼(131)에 바이트 스트림 형태로 저장한다. 여기서 상기 바이트 스트림 버퍼(131)는 TE(101)로부터 수신되는 패킷 손실을 방지하기 위해 예상되는 최대 패킷 양 만큼의 버퍼 용량을 가져야 한다. 또한 운영체제 장치드라이버(130)는 바이트 스트림 버퍼(131)에 데이터를 저장한 후, 상위 계층인 패킷 처리부(150)로 이를 알리는이벤트(event) 신호를 보낸다. 이 과정에서 운영체제 장치 드라이버(130)는 바이트 스트림 버퍼(131)에 데이터저장량이 일정량 이상이 된 경우 데이터 손실을 방지하도록 TE(101)로부터의 데이터 송신을 제한하는 CTS(Clear To Send) 제어를 수행한다.
<23> 패킷처리부(150)는 운영체제 API를 이용하여 바이트 스트림 버퍼(131)에서 필요한 만큼의 데이터를 복사한다.
복사된 바이트 스트림 형태의 데이터는 패킷 형태로 변환되어 패킷 버퍼 풀(Packet Buffer Pool)(151)에서 할당된 패킷 버퍼 큐(153) 내의 패킷 버퍼 영역에 추가된다. 즉 패킷처리부(150)는 복사한 데이터가 패킷 형태로 변환될 때마다 효과적인 패킷 처리를 위해 해당 패킷을 자체 패킷 버퍼 큐(153)에 저장한다.
<24> Um 인터페이스부(170)는 바이트 스트림 버퍼(171)를 구비하고, 패킷처리부(150)로부터 복사한 데이터를 바이트스트림 버퍼(171)에 저장한 후, 무선망 전송규격에 적합한 프레임형태로 변환하여 BS(102)로 전송한다.
<25> 상기한 도 2의 데이터 흐름제어 장치(100)에서는 패킷 형태의 데이터와 바이트 스트림 형태의 데이터를 각각 버퍼링하도록, 운영체제 장치드라이버(130)와 Um 송신 인터페이스부(170)는 바이트 스트림 버퍼(131,171)를 구비하고, 패킷처리부(150)는 패킷 버퍼 풀(151)과 패킷 버퍼 큐(153)를 구비한다. 따라서 종래 데이터 흐름제어 장치(100)에서 버퍼구조는 Rm 인터페이스부(110)에서 Um 인터페이스부(170)까지 역방향 전송 경로에 관여하는 각모듈들이 각기 다른 버퍼 구조를 사용함으로 인해 일관되고 정확한 흐름제어가 어려운 문제점이 발생된다.
<26> 또한 종래 데이터 흐름제어 장치(100)에서 제어부(190)는 각기 다른 버퍼 구조를 사용하는 각 모듈들을 개별적으로 제어할 수 있는 인터페이스가 있어야 한다. 즉, Um 인터페이스부(170)에 버퍼 풀(Full) 상태가 발생된 경우에 TE(101)측으로 데이터 전송의 일시 중지를 요청하며, 이러한 일시 중지 요청은 단계적으로 Rm 인터페이스부(110)까지 전달되어 CTS 제어에 따라 데이터 전송 중지가 수행된다.
<27> 그러나 상기한 제어부(190)에서 수행되는 데이터 흐름 제어 과정은 데이터 흐름제어 장치(100)의 각 모듈들간에태스크 스케줄링(Task Scheduling)을 거쳐 수행되므로 Um 인터페이스부(170)의 버퍼 풀 상태가 Rm 인터페이스부(110)에 반영되는데 시간차가 발생하여 데이터 흐름 제어가 원하는 시점에 실시간으로 이루어지지 않는다. 따라서 종래 데이터 흐름제어 장치(100)는 불필요하게 많은 양의 데이터를 각 프로토콜 스택에 누적시켜 상위 계층에서의 재전송을 일으키게 되어 성능의 감소를 유발시킨다.
<28> 또한 상기한 종래 흐름 제어 과정에서 발생되는 시간차는 Rm 인터페이스부(110)의 FIFO 버퍼(111)가 비워진 경우에도 Rm 인터페이스부(110)에서의 데이터 수신 가능 상태를 지연시켜 BS(102)로의 데이터 전송이 일시적으로중단되는 버퍼 언더런(Buffer Underrun)을 발생시킨다.
<29> 상기 설명한 바와 같이, 종래 데이터 흐름 제어 장치에서는 상위 계층에 패킷이 얼마나 적체되어 있는지를 모르는 상태에서 흐름 제어가 수행되므로 Um 인터페이스부에서 버퍼 오버플로우 및 언더런의 가능성이 존재하며, 이에 대한 예측이 어려워 필요 이상의 버퍼 용량을 확보해야 하는 부담이 있다. 그러나 단말의 메모리 증가는 직접적으로 단말의 가격 경쟁력을 떨어뜨리는 요인이 될 수 있으며, 오버플로우 및 언더런은 패킷 전송에서의 성능 저하를 일으킨다. 또한 각기 다른 모듈들이 다른 구조를 갖는 버퍼들을 관리하는 종래 기술의 경우, 타 모듈의 버퍼 정보를 공유하기 위해서는 각 모듈의 S/W 독립성을 침범해야 하므로 전체 역방향 링크에 누적되어 있는버퍼량을 실시간으로 측정하고 데이터 흐름을 제어하는 것은 어려운 일이다. 그리고 피드백 메시지를 통해 모듈간 흐름 제어를 수행할 수 도 있으나 이 경우 버퍼 제어에 있어서 실시간으로 동기를 맞추어야 하는 어려움이존재한다.즉 종래 데이터 흐름제어 장치에서는 각 모듈에서 흐름 제어가 분산되어 있고,

<30> 적절한 시점에 흐름 제어가 이루어지지 않아 데이터 전송속도 저하 및 전송 변이가 발생할 가능성이 있다. 따라서 이러한 문제를 해결하기 위해복잡한 프로세싱이 요구된다. 또한 Rm 인터페이스부에 저장된 패킷을 상위 계층으로 전달하는 과정에서 수행되는 버퍼 복사(즉, Data Copy)로 인해 제어부의 프로세싱이 가중되고, 향후 업그레이드될 고속 데이터 통신에 있 성능 문제를 일으킬 소지가 있어 이에 대한 해결책이 요망된다.
발명이 이루고자 하는 기술적 과제
<31> 본 발명은 고속 통신 기기로부터 무선 네트워크로의 역방향 통신을 수행하는 이동 단말에서 데이터 흐름을 안정적으로 제어하는 장치 및 방법을 제공한다.
<32> 또한 본 발명은 고속 통신 기기로부터 무선 네트워크로의 역방향 통신을 수행하는 이동 단말에서 최적의 데이터흐름 제어를 위한 방법 및 장치를 제공한다.
<33> 또한 본 발명은 고속 패킷 데이터 통신에서 안정적인 성능을 제공하는 데이터 흐름 제어 장치 및 방법을 제공한다.
<34> 상기 본 발명에 따른 고속 통신 기기로부터 무선 네트워크로의 역방향 통신을 수행하는 이동 단말의 데이터 흐름 제어 장치는, 상기 고속 통신 기기로부터 데이터를 수신하여 바이트 스트림 형태로 버퍼링하는 Rm 인터페이스부와, 상기 Rm 인터페이스부로부터의 인터럽트에 의해 호출되어, 상기 Rm 인터페이스부에 버퍼링된 데이터를읽어내어 저장하기 위한 제1 패킷 버퍼 큐를 구비하고, 상기 제1 패킷 버퍼 큐에 저장된 데이터를 관리하기 위한 제1 링크된 리스트를 관리하는 운영체제 장치 드라이버와, 상기 제1 패킷 버퍼 큐와 동일한 버퍼 구조를 갖는 제2 패킷 버퍼 큐를 구비하고, 상기 제2 패킷 버퍼 큐에 저장된 데이터를 관리하기 위한 제2 링크된 리스트 관리하며, 상기 제2 패킷 버퍼 큐에 저장된 데이터를 프레임 형태로 변환하여 무선 네트워크로 송신하기 위한 Um 인터페이스부와, 상기 제1 패킷 버퍼 큐에 저장된 데이터의 주소를 상기 제1 링크된 리스트에서 링크-제거하고, 상기 제2 링크된 리스트에 상기 링크-제거된 데이터의 주소를 링크시킴으로써, 상기 데이터를 상기 제1패킷 버퍼 큐로부터 상기 제2 패킷 버퍼 큐로 전달하는 패킷 처리부와, 상기 제1 패킷 버퍼 큐의 데이터 흐름을제어하는 제어부를 포함한다.
<35> 또한 상기 본 발명에 따른 고속 통신 기기로부터 이동통신 시스템으로의 역방향 통신을 수행하도록 상기 고속통신 기기와 통신하기 위한 Rm 인터페이스부와 상기 이동통신 시스템과 통신하기 위한 Um 인터페이스부를 구비하는 이동 단말의 데이터 흐름 제어 방법은, 상기 고속 통신 기기로부터 데이터를 수신하여 상기 Rm 인터페이스부에 바이트 스트림 형태로 버퍼링하는 과정과, 상기 Rm 인터페이스부로부터의 인터럽트에 의해 운영체제 장치드라이버를 호출하여, 상기 Rm 인터페이스부에 버퍼링된 데이터를 읽어내어 상기 운영체제 장치 드라이버 내의제1 패킷 버퍼 큐에 저장하는 과정과, 상기 제1 패킷 버퍼 큐에 저장된 데이터의 주소를 상기 제1 패킷 버퍼 큐를 관리하기 위한 제1 링크된 리스트에서 링크-제거하고, 상기 Um 인터페이스부에 구비되는 제2 패킷 버퍼 큐를관리하기 위한 제2 링크된 리스트에 상기 링크-제거된 데이터의 주소를 링크시킴으로써, 상기 데이터를 상기 제1 패킷 버퍼 큐로부터 상기 제2 패킷 버퍼 큐로 전달하는 과정과, 상기 Um 인터페이스부에서 상기 제2 패킷 버퍼 큐에 저장된 데이터를 프레임 형태로 변환하여 무선 네트워크로 송신하는 과정을 포함한다.
발명의 구성 및 작용
<36> 이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다. 또한 본 발명을 설명함에있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에걸친 내용을 토대로 내려져야 한다.
<37> 먼저 본 발명의 기본 개념을 설명하면, 본 발명은 USB 단자 등을 통해 고속으로 데이터 통신을 수행하는 고속통신 기기와 접속되어 무선 네트워크로의 역방향 통신을 수행하는 이동 단말에서 전송 데이터의 흐름 제어를 최적화하도록 데이터 흐름 제어 장치내의 Rm 인터페이스부로부터 Um 인터페이스부에 이르는 전송 경로상에 구비되는 버퍼들의 구조를 일원화한다. 이로써 종래 서로 다른 버퍼들 사용으로 인해 빈번하게 발생되던 오버플로우및/또는 언더런의 문제를 해결함과 아울러 인접 모듈들간의 버퍼 복사 동작을 생략하고, 제어부의 부담을 경감시킴을 특징으로 한다.또한 본 발명에서는 TE로부터 Um 인터페이스부로 패킷이 전달되는 최대 지연

<38> 시간을 반영하여, 데이터 흐름 제어 장치의 Um 인터페이스부에서 발생되는 언더런 현상을 방지할 수 있는 최적의 버퍼 용량을 산출한다.
<39> 이하 도면을 참조하여 본 발명의 데이터 흐름제어 장치 및 방법을 설명하기로 한다.
<40> 도 3은 본 발명의 실시 예에 따른 이동 단말에서 데이터 흐름제어 장치의 구성을 나타낸 블록도이다.
<41> 도 3에서 Rm 인터페이스부(310)는 TE(101)로부터 데이터를 수신하기 위한, 일 예로서 USB와 같은 인터페이스이다. 운영체제 장치 드라이버(330)는 Rm 인터페이스부(310)로부터 데이터를 읽어서 후술할 패킷 버퍼 큐(도시하지 않음)에 저장한 후, 저장된 데이터를 패킷 처리부(350)로 전달한다. 이때 본 발명의 운영체제 장치 드라이버(330)는 도 1에서 설명한 종래 운영체제 장치 드라이버(130)에서와 같은 패킷에서 바이트 스트림 형태로의 데이
터 변환 동작이 요구되지 않는다. 상기 패킷 처리부(350)는 링크 이동을 통해 상기 패킷 버퍼 큐에 저장된 데이를 Um 인터페이스부(370)로 패킷 형태로 전달한다.
<42> 상기 Um 인터페이스부(370)는 TE(101)로부터 수신한 데이터를 상기 패킷 처리부(350)로부터 패킷 형태로 전달받아 BS(102)로 송신하기 위한, 일 예로서 무선 링크 프로토콜(Radio Link Protocol: 이하 "RLP"라 칭함) 및매체 액세스 제어(Media Access Control)과 같은 인터페이스이다.
<43> 그리고 제어부(390)는 통신 및 부가기능의 전반적인 동작의 제어를 수행하며, 운영체제 장치 드라이버(330)의데이터 흐름을 제어한다.
<44> 도 4는 도 3에 도시된 데이터 흐름 제어 장치(300)에서 데이터 전송 과정을 나타낸 도면으로서, 도 4에서 도 3에 도시된 구성과 동일한 구성에 대해서는 동일한 참조번호를 사용하기로 한다.
<45> 도 4에서 Rm 인터페이스부(310)는 FIFO 버퍼(311)를 구비하고, TE(101)로부터 수신되는 데이터를 FIFO 버퍼(311)에 버퍼링하여 바이트 스트림 형태로 일시 저장한다. 그리고 Rm 인터페이스부(310)는 상기 FIFO 버퍼(311)에 일정량 이상의 데이터가 저장되면 운영체제 장치 드라이버(330)로 인터럽트를 전송한다.
<46> 상기 인터럽트를 통해 호출된 운영체제 장치 드라이버(330)는 FIFO 버퍼(311)로부터 데이터를 읽어와 패킷 버퍼풀(Pool)(331)에서 할당된 패킷 버퍼에 데이터를 저장한 후, 패킷 버퍼를 패킷 버퍼 큐(335)에 넣는다. 이 과정에서 운영체제 장치 드라이버(330)는 제어부(390)의 제어하에 패킷 버퍼 큐(335)에 데이터 저장량이 일정량 이상이 된 경우 데이터 손실을 방지하도록 TE(101)로부터의 데이터 송신을 제한하는 본 발명에 따른 CTS(Clear ToSend) 제어를 수행한다. 본 발명에 따른 CTS 제어는 Um 인터페이스부(370)의 데이터 전송 특성을 고려하여 패킷버퍼 큐(335)가 비워지는 시간을 예측하고, Um 인터페이스부(370)내 패킷 버퍼 큐(335)의 저장량이 일정량 이상이 된 경우 데이터 손실을 방지하도록 최적의 CTS 대기시간을 결정한다. 본 발명에 따른 CTS 제어 방식은 하기 6에서 상세하게 설명하기로 한다. 아울러 상기 운영체제 장치 드라이버(330)는 제어부(390)와 함께 하나의블록(혹은 모듈)으로 구성되는 것도 가능할 것이다.
<47> 패킷처리부(350)는 운영체제 장치 드라이버(330)의 데이터에 대해 링크 이동만을 통해 상위 계층으로의 전송을수행한다. 이때 패킷 처리부(350)는 필요한 경우 패킷 버퍼 큐(335)의 데이터에 대해 패킷 형태로의 변환을 수행할 수 있다.
<48> Um 인터페이스부(370)는 운영체제 장치 드라이버(330)에 구비된 패킷 버퍼 큐(335)와 동일한 형태의 패킷 버퍼큐(371)를 구비하고, 패킷 처리부(350)의 링크 이동을 통해 전달받은 패킷을 무선망 전송규격에 적합한 프레임형태로 변환하여 BS(102)로 전송한다.
<49> 상기한 도 4의 데이터 흐름 제어 장치(300)는 전송 데이터를 패킷 형태로 처리하도록 운영체체 장치드라이버330)와 Um 인터페이스부(370)에 일원화된 패킷 버퍼 큐(335,371)를 채용하였다.
<50> 그리고 상기 운영체제 장치 드라이버(330)에서 패킷 버퍼 큐(335)는 운영체제 장치 드라이버(330)에 의해 참조되기 위한 제1 포인터들에 의해 관리되며, 상기 Um 인터페이스부(370)에서 관리되는 패킷 버퍼 큐(371)는 Um 인페이스부(370)에 의해 참조되기 위한 제2 포인터들에 의해 관리된다. 따라서 운영체제 장치 드라이버(330)로부터 Um 인터페이스부(370)로의 패킷 전송은 패킷 처리부(350)에서 상기 포인터들의 재설정에 의해 수행되며,이를 링크 이동이라 칭한다. 따라서 본 발명은 전반적으로 일원화된 패킷 버퍼 큐 구조를 적용하여 일관된 버퍼 제어가 가능하다.
<51> 즉, Rm 인터페이스(310)로부터 수신된 데이터는 동일한 데이터 형태를 유지하면서 패킷 버퍼 큐(335)의 포인터(Pointer)들의 재설정에 의해 Um 인터페이스부(370)로 최종 전달된다. 상기 패킷 버퍼 큐(335, 371)를이용하여, Rm 인터페이스부(310)에서 수신된 데이터를 Um 인터페이스부(370)로 전송하는 링크 이동 방식은 아래도 5a 내지 도 5c에서 상세히 설명하기로 한다. 또한 운영체제 장치 드라이버(330)내의 패킷 버퍼 풀(331)로부터 할당되어 사용되고 있는 패킷버퍼 양은 전체 데이터 스택에 누적된 데이터량과 일치하므로 흐름제어를 정확히 수행할 수 있으며, 각 모듈간에는 종래와 같은 데이터 복사 동작이 요구되지 않아 고속 데이터 통신에 유리하다.
이하, 도 5a 내지 도 5c에서 패킷 버퍼 큐(335, 371)를 이용하여 Rm 인터페이스(<52> 310)에서 수신된 데이터를 Um인터페이스부(370)로부터의 데이터를 Um 인터페이스부(370)로 전송하는 방식을 설명하기로 한다.
<53> 도 5a는 도 4의 운영체제 장치 드라이버에서 패킷 버퍼 풀의 초기 상태를 나타낸 도면이다.
<54> 도 5a에서 패킷 버퍼 풀(331)은 패킷 버퍼 큐에 포함된 모든 패킷 버퍼 영역들에 대한 개별 정보를 관리하는 개체이다. 각 패킷 버퍼 영역은 256 바이트(Byte)의 단위버퍼로 구성된다. 이에 따라 상기 패킷 버퍼 풀(331)은패킷 버퍼 큐에 포함된 모든 단위버퍼들에 대하여 개별적인 주소 정보와 사용상태를 관리한다.
<55> 또한 패킷 버퍼 풀(331)의 레코드(Record)는 패킷 버퍼 영역들의 주소를 가리킨다. 그리고 패킷 버퍼 풀(331)에서 사용되지 않은 패킷 버퍼 영역 및 반환된 패킷 버퍼 영역의 사용상태는 [플래그(Flag)=0]으로 설정되고, 사용된 패킷 버퍼 영역의 사용상태는 [플래그=1]로 설정된다. 초기 상태에서 패킷 버퍼 풀(331)의 모든 레코드에대한 플래그는 0, 즉 '사용되지 않음'으로 설정되어 있다.
<56> 도 5b는 도 4의 운영체제 장치 드라이버에서 패킷 버퍼 큐의 구성을 나타낸 도면이다.
<57> 도 5b를 참조하면, 운영체제 장치 드라이버(330)는 FIFO 버퍼(311)로부터 수신된 데이터량만큼 패킷 버퍼 풀(331)에서 패킷 버퍼 영역들을 할당받는다. 이때 패킷 버퍼 풀(331)에서 할당된 패킷 버퍼 영역들의 레코드들에대한 각 사용상태는 [플래그(Flag)=1]로 설정되어 '사용되고 있음'을 표시한다. 즉, 패킷 버퍼 풀(331)에서 버퍼 영역의 할당 및 반환이 발생할 때마다 현재 사용되고 있는 패킷 버퍼 영역들의 수 즉, 사용상태가 관리된다.
<58> 상기한 패킷 버퍼 풀(331)에서 사용상태 관리 방식은 예를 들어, 도 5b와 같이 나타낼 수 있다. 도 5b에서 패킷버퍼 풀(331)은 현재 3개의 패킷 버퍼 영역 인 '0x10000000', '0x10000100' 및 '0x10000200'가 할당된 사용상태들을 관리함을 나타낸다.
<59> 운영체제 장치 드라이버(330)는 상기 할당된 패킷 버퍼 영역들에 데이터를 저장한 후, 패킷 버퍼 큐(335)의 제1헤드 포인터와 제1 테일 포인터에 패킷 버퍼 영역들을 도 5b와 같이 링크시킨다. 다시 말해서 패킷 버퍼 큐335)의 제1 헤드 포인터는 운영체제 장치 드라이버(330)에서 사용 중인 첫번째 패킷 버퍼 영역의 주소인'0x10000000'을 저장하고 있는 멤버(Element #1)를 가리키며, 제1 테일 포인터는 운영체제 장치 드라이버(330)에서 사용중인 마지막 패킷 버퍼 영역의 주소인 '0x10000200'을 저장하고 있는 멤버(Element #3)를 가리킨다.
상기 패킷 버퍼 큐(335)는 링크된 리스트(linked list) 형태로 구성되며, 리스트의 각 멤버(Elements)는 개별패킷 버퍼 영역에 대한 정보 즉, 개별 패킷 버퍼 영역의 주소와 개별 패킷 버퍼 영역에 저장된 데이터 크기 및다음 패킷 버퍼 영역을 관리하는 멤버(Element)를 지시하는 다음 포인터를 저장하고 있다.
<60> 도 5c는 도 4의 패킷 처리부에서 링크 이동을 수행하는 방식을 나타낸 도면이다.
<61> 도 5c를 참조하면, 필요한 경우 패킷 처리부(350)는 패킷 버퍼 큐(335)에 링크된 패킷 버퍼 영역들의 데이터를패킷 형태로 변환 및 처리한다. 패킷 처리부(350)에서 패킷 변환 처리가 완료되면 해당 패킷 버퍼 영역의 데이터는 Um 인터페이스부(370)로 전달되어 네트워크로 전송되는데, 이를 위해 상기 패킷 버퍼 영역의 데이터는 메모리 복사를 거치지 않고, Um 인터페이스부(370)에서 관리되는 포인터들에 재링크된다. 즉, 도 5c에서 운영체제장치 드라이버(330)에서 관리되는 링크된 리스트의 첫번째 멤버(Element#1)는 상기 운영체제 장치 드라이버(330)의 링크된 리스트에서 링크-제거(de-link)되고, Um 인터페이스부(370)에서 관리되는 링크된 리스트에 링크된다. 다시 말해서 운영체제 장치 드라이버(330)의 제1 헤드 포인터는 첫번째 멤버(Element #1)에서 두번째 멤(Element#2)를 가리키도록 재설정되며, Um 인터페이스부(370)의 제2 헤드 포인터가 상기 첫번째 멤버(Element#1)를 가리키도록 재설정된다. Um 인터페이스부(370)에서 관리하는 패킷 버퍼 영역이 단지 하나뿐인 경우, 패킷버퍼 큐(371)의 제2 테일 포인터는 제2 헤드 포인터와 동일한 위치를 지시한다.
<62> 이에 따라 운영체제 장치 드라이버(330)에서 패킷 버퍼 큐(371)로 데이터가 이동되는 과정에서도 패킷 버퍼 큐(335)의 데이터는 변경 없이 그대로 유지된다.도 6은 도 4에 도시된 데이터 흐름 제어 장치에서의 동작을 나타낸 순서도이다.전송 동작을 제어하는 것을 의미한다. CTS 온(On)상태 일 경우 데이터 흐름 제어 장치(100)는 TE(101)로부터 데이터를 수신하고, CTS 오프(Off)상태 일 경우 TE(101)로부터 데이터 송신이 제한된다.
그리고 도 6의 CTS_ON_WAIT 타이머는 CTS Off후로부터 Um 인터페이스부(370)<64> 까지 데이터가 전달되어 최종적으로무선으로 송신되기까지 걸리는 시간(이하, "CTS 대기 시간"이라 칭함)을 카운트한다. 상기 CTS 대기 시간의 최적치는 Um 인터페이스(370)의 데이터 전송특성을 고려하여 패킷 버퍼 큐가 적절한 만큼의 비워지는 시간을 예측하여 결정된다. 즉 상기 CTS 대기 시간은 CTS 오프 상태에서 CTS 온 상태로 다시 복귀하는 최적의 시간을 카운하기 위한 것이다.
<65> 도 6의 동작을 살펴보면, 601 단계에서 제어부(390)는 현재 CTS 온 상태인지 오프 상태인지 확인하여 CTS 오프상태인 경우 603 단계로 진행한다. 상기 603 단계에서 제어부(390)는 CTS 대기 타이머(CTS_ON_WAIT 타이머)를통해 설정된 CTS 대기 시간이 경과되었는지 확인한다. 상기 확인 결과 CTS 대기 시간이 경과된 경우 제어부(390)는 605 단계로 진행하여 CTS 온 상태로 전환하여 TE(101)로부터의 데이터 수신을 재개하고, CTS 대기 시간이 경과되지 않은 경우 CTS 대기 시간 동안 CTS 오프 상태를 유지한다.
<66> 상기 601 단계에서 CTS 오프 상태가 아닌 경우 607 단계로 진행한다. 607 단계에서 Rm 인터페이스부(310)는TE(101)로부터 전송된 데이터를 수신한다. 상기 수신된 데이터는 FIFO(311) 버퍼에 저장된다. 그리고 Rm 인터페이스부(310)는 상기 FIFO 버퍼(311)에 일정량 이상의 데이터가 저장되면 운영체제 장치 드라이버(330)로 인터럽트를 전송한다. 상기 인터럽트를 통해 호출된 운영체제 장치 드라이버(330)는 609 단계 내지 613 단계에서 패킷버퍼 풀(331)에서 패킷 버퍼 영역들을 할당하고, FIFO 버퍼(311)로부터 읽어온 데이터를 할당된 패킷 버퍼 영역들에 저장한 후 패킷 버퍼 큐(335)에 넣는다.
<67> 615 단계에서 제어부(390)는 패킷 버퍼 풀(331)에서 할당 받아 사용한 버퍼 영역 개수를 카운트 하면서 패킷 버퍼 풀(331)로부터 할당된 버퍼 영역 개수가 일정 사용량(nTHRESHOLD)을 초과하는지 검사한다. 검사결과 일정 사용량을 초과하는 경우 617 단계에서 제어부(390)는 CTS 오프상태로 전환하여 Rm 인터페이스부(310)가 TE(101)로부터 더 이상 데이터를 수신하지 못하도록 하고, 619 단계에서 CTS 오프 상태가 유지되는 CTS 대기 시간을 카운트하는 타이머를 구동 시킨다. 그리고 상기 615 단계의 검사결과 패킷 버퍼 풀(331)로부터 할당된 버퍼 영역 개수가 상기 사용량을 초과하지 않는 경우 CTS 온 상태를 그대로 유지한다.
<68> 상기한 도 6의 데이터 흐름 제어 과정에서 데이터 흐름 제어 장치의 각 모듈들(기능 블록 혹은 Task)에 구비되는 버퍼들은 데이터 스택에 얼마나 많은 데이터가 누적되어 있는지를 정확히 측정할 수 있도록 도 4의 구성 예와 같이 일원화된 버퍼 구조를 갖는다. 따라서 상기한 본 발명에 의하면, 패킷 버퍼 풀(331)로부터 할당되어 사용되고 있는 패킷버퍼 양만을 확인하여도 전역적인 흐름 제어가 가능하므로 제어부(390)의 부담이 경감된다.
<69> 도 7은 본 발명의 실시 예에 따른 버퍼 용량 결정 방법을 나타낸 도면이다.
<70> 먼저 본 발명의 버퍼 용량 결정 방법에서는 CTS 대기 시간(TCTS_ON_WAIT), 전송 지연 시간(TTRANSFER_DELAY), 그리고 플러쉬 시간(TRLP_FLUSH_TIME)을 다음과 같이 정의하여 사용한다.
<71> 1. CTS 대기 시간(TCTS_ON_WAIT)(701) 은 도 6에서와 같이 CTS 오프(Off) 후 Um 인터페이스부(370)에서 일정량의데이터가 무선 네트워크로 송신되고 일정량의 가용 버퍼 용량이 확보될 것을 예측하여 CTS 온(On) 상태로 복귀하기 위한 대기 시간이다.
<72> 2. 전송 지연 시간(TTRANSFER_DELAY)(703)은 운영 체제 장치 드라이버(330)에서 데이터를 수신한 순간부터 패킷 버퍼풀(331)에서 패킷 버퍼들을 할당받아 데이터를 저장한 후 패킷 버퍼 큐(335)에 넣은 다음 Um 인터페이스부(370)를 통해 데이터가 최종적으로 무선 네트워크로 송신되는 데까지 걸리는 시간이다. 상기 전송 지연 시간(TTRANSFER_DELAY)(703)은 단말의 운영 체제(OS)에서 발생되는 태스크 스케줄링 지연(Task Scheduling Delay) 시간을 포함할 수 있다.
<73> 3. 플러쉬 시간(TRLP_FLUSH_TIME)(705)은 Um 인터페이스부(370)에서 송신한 데이터를 패킷 버퍼 큐에서 비우는 시점을 판단하기 위해 대기하는 시간이다.
<74> 이하 상기 정의한 세 개의 시간을 사용하여 데이터 스택에서 사용하는 최적의 버퍼 용량 산출 방법을 상세히 설명한다.
<75> 버퍼 용량은 Um 인터페이스부(370)의 RLP(Radio Link Protocol) 데이터 전송 블록에서 더 이상 보낼 데이터가없게 되는 상태(버퍼 언더런 상태)를 방지하는 수준에서 결정된다. 버퍼 언더런을 발생시키는 최악의 시나리오는 RLP에서 맨 처음 송신된 프레임이 유실되고, 나머지 모든 프레임이 잘 전송된 경우에 플러쉬 시간(TRLP_FLUSH_TIME)(705)의 만료로 인해 RLP 전송 큐(패킷 버퍼 큐)가 일시에 비워지고 뒤늦게 CTS On(TCTS_ON_WAIT)이 된후 수신한 데이터가 Um 인터페이스부(370)까지 전달되는데 걸리는 전송 지연 시간(TTRANSFER_DELAY)(703)이 가중되는경우이다. 이동통신 MAC 계층에서의 Um 인터페이스부는 매 프레임마다 시퀀스를 붙여서 전송하며 재전송을 위해버퍼링이 요구된다. 그러나 모든 프레임을 버퍼링을 할 수는 없으므로 peer측에서 정상적으로 수신했다는 응답이 오거나, 플러쉬 시간(TRLP_FLUSH_TIME)(705)이 만료되는 경우에 재전송버퍼의 내용을 비운다.
즉 RLP 계층에서는 SDU(Service Data Unit)를 작은 크기의 프레임으로 분할하고, <76> 매 프레임마다 일련번호를 넣어 전송하며 수신측에서 ACK(Acknowledgment) 신호가 오면 버퍼링하고 있던 데이터를 삭제하며, ACK신호가 전송되지 않으면 재전송을 위해 일정시간동안 버퍼링을 수행한다. 중간에 프레임을 잃어버리면, 그 이후에 전송된프레임도 잃어버린 프레임의 재전송이 완료될 때까지 같이 버퍼링된다. 이때 잃어버린 프레임의 재전송이 완료되면, 버퍼링 되어있던 모든 프레임이 일시에 삭제된다.
<77> Um 무선링크 송신부(370)에서의 언더런을 방지하려면 플러쉬 시간(TRLP_FLUSH_TIME)(705)동안 데이터가 최대로 버퍼링되어 있다가 일시에 삭제되는 경우에도 계속해서 다음 데이터를 전송할 수 있도록 해야 하며, 플러쉬 시간(TRLP_FLUSH_TIME)(705)동안 전송될 최대 데이터를 확보해야 한다. 따라서 운영체제 장치 드라이버(330)의 최대 버퍼용량은 (TRLP_FLUSH_TIME + TCTS_ON_WAIT + TTRANSFER_DELAY)동안 물리계층에서 최대 전송 속도로 송신할 수 있는 데이터의 양을 이용하여 산출할 수 있다.
<78> 한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
발명의 효과
<79> 이상 설명한 바와 같이 본 발명에 의하면, 고속 통신 기기로부터 무선 네트워크로의 역방향 통신을 수행하는 이동 단말에서 버퍼 구조를 일원화하여 데이터 흐름을 안정적으로 제어할 수 있다.
<80> 또한 본 발명에 의하면, 고속 데이터 처리가 요구되는 무선 환경에서 Rm 인터페이스와 Um 인터페이스를 사용하는 이동 단말의 최적 버퍼 용량 산출에 있어 안정적인 기준을 제시하며, 버퍼 사용량을 줄일 수 있다.
<81> 또한 본 발명에 의하면, 고속 통신 기기로부터 무선 네트워크로의 역방향 통신을 수행하는 이동 단말의 데이터흐름 제어 장치에서 각 모듈간에 발생되던 버퍼 복사(Buffer Copy) 과정을 제거하여 제어 부담을 줄일 수 있다.
<82> 또한 본 발명에 의하면, 데이터 흐름 제어 장치의 Rm 인터페이스에 Um 인터페이스의 전송 프로토콜 특성을 반영하면서 운영 체제 장치 드라이버의 고유 성격을 유지할 수 있다.
<83> 또한 본 발명에 의하면, 데이터 흐름 제어 장치에서 상위 계층에 종속적이지 않은 흐름 제어 방법을 사용함에따라 소프트웨어 요소로서의 재사용성에 완벽히 부합한다.
도면의 간단한 설명
<1> 도 1은 종래 이동 단말에서 데이터 흐름제어 장치의 구성을 나타낸 블록도,
<2> 도 2는 도 1에 도시된 데이터 흐름 제어 장치(100)에서 데이터 전송 과정을 나타낸 블록도,
<3> 도 3은 본 발명의 실시 예에 따른 이동 단말에서 데이터 흐름제어 장치의 구성을 나타낸 블록도,
<4> 도 4는 도 3에 도시된 데이터 흐름 제어 장치에서 데이터 전송 과정을 나타낸 도면,
<5> 도 5a는 도 4의 운영체제 장치 드라이버에서 패킷 버퍼 풀의 초기 상태를 나타낸 도면,
<6> 도 5b는 도 4의 운영체제 장치 드라이버에서 패킷 버퍼 큐의 구성을 나타낸 도면,
<7> 도 5c는 도4의 패킷 처리부에서 링크 이동을 수행하는 방식을 나타낸 도면,
<8> 도 6은 도 4에 도시된 데이터 흐름 제어 장치에서의 동작을 나타낸 순서도,
도 7은 본 발명의 실시 예에 따른 버퍼 <9> 용량 산출 방법을 나타낸 도면.
도면
도면1
도면2
도면3
도면4
도면5a
도면5b
도면5c
도면6
도면7 

등록된 상품문의

  • 상품문의가 없습니다.

등록된 사용후기

  • 사용후기가 없습니다.