KR20030008425A - 데이터 패킷의 흐름제어 방법 - Google Patents
데이터 패킷의 흐름제어 방법 Download PDFInfo
- Publication number
- KR20030008425A KR20030008425A KR1020010043065A KR20010043065A KR20030008425A KR 20030008425 A KR20030008425 A KR 20030008425A KR 1020010043065 A KR1020010043065 A KR 1020010043065A KR 20010043065 A KR20010043065 A KR 20010043065A KR 20030008425 A KR20030008425 A KR 20030008425A
- Authority
- KR
- South Korea
- Prior art keywords
- transmission
- message
- transmission request
- request message
- transmitting
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 디지털 전송 시스템에서 데이터 패킷을 전송하기 위한 흐름 제어 방법에 관한 것이다. 수신 시스템은 데이터를 처리할 여력이 있을 때에 송신 시스템으로 전송요구 메시지를 전송하고 이에 응답하여 송신 시스템은 데이터 패킷들을 전송한다. 수신 시스템은 데이터 패킷들을 수신하여 수신 데이터 버퍼에 저장한다. 이때 수신 데이터 버퍼의 점유도가 미리 정해지는 전송중지 조건을 만족하면 수신 시스템은 송신 시스템에게 데이터 패킷의 전송 중지를 요구하고 이에 응답하여 송신 시스템은 데이터 패킷들을 송신 데이터 버퍼에서 대기시킨다. 이후 수신 데이터 버퍼의 점유도가 미리 정해지는 전송요구 조건을 만족하면 수신 시스템은 송신 시스템에게 데이터 패킷의 전송을 다시 요구한다. 따라서 본 발명은 디지털 전송 시스템에서 데이터 패킷 트래픽을 효율적으로 전송할 수가 있으며 구현 알고리즘이 간단하여 송신 및 수신 시스템에 미치는 영향이 적고 수신 데이터 버퍼의 오버플로우 현상을 방지할 수 있다.
Description
본 발명은 데이터 패킷의 전송 방법에 관한 것으로서, 특히 디지털 전송 시스템에서 데이터 패킷을 전송하기 위한 흐름 제어 방법에 관한 것이다.
전체 데이터 프레임을 복수개의 데이터 패킷으로 분할하여 전송하는 디지털전송 시스템은 송신과 수신시의 에러를 최소화하기 위하여 흐름제어(Flow Control) 기술을 사용한다. 흐름제어란 수신 시스템의 수신 데이터 버퍼가 넘치지 않도록 송신 시스템에서의 데이터 전송을 제어하는 기술을 말한다. 이러한 흐름제어는 구현상의 문제(Implementation issue)를 해소하는 것이 매우 중요하다.
알려져 있는 흐름제어 방식으로는 정지-대기(Stop-and-wait) 방식과 슬라이딩 윈도우(Sliding window) 방식이 있다.
정지-대기 방식에 따르면 송신 시스템은 하나의 데이터 패킷을 전송한 후 다음 데이터 패킷을 전송하기 전에 수신 시스템으로부터의 응답을 기다린다. 수신 시스템은 수신한 데이터 패킷에 에러가 없으면 ACK 신호를 보내고 그렇지 않으면 NACK신호를 보낸다. 이러한 정지-대기 방식은 간단하게 구현될 수 있지만 이전 패킷에 대한 응답이 수신된 후라야 다음 패킷을 전송할 수 있기 때문에 하나의 프레임이 링크를 점유하는 시간이 길어져서 데이터 처리효율(Throughput)이 좋지 않다.
이에 비해 슬라이딩 윈도우 방식에서는 송신 시스템은 ACK 신호를 기다리지 않고 n개의 데이터 패킷을 전송한다. 수신 시스템은 최대 n개의 데이터 패킷들을 순서대로 수신하여 데이터 버퍼에 저장하고 이미 수신된 모든 데이터 패킷들의 수신이 확인되면 다음 데이터 패킷의 전송을 요청하기 위한 ACK 신호를 송신한다. 만일 어떤 데이터 패킷이 유실되었거나 에러를 가지고 있다면 해당하는 데이터 패킷의 재전송을 요청한다. 여기서 파라미터 n은 다른 표현으로 윈도우 크기라 하며 송신 시스템이 ACK 신호를 받기 전에 계속 전송할 수 있는 데이터 패킷의 개수를 나타낸다. 이러한 슬라이딩 윈도우 방식은 정지-대기 방식에 비해서 성능은 개선되었지만 송신 및 수신 시스템에서 복수개의 데이터 패킷들을 처리하여야 하기 때문에 구현이 복잡하다는 단점을 가진다.
이와 같이 흐름제어에 관한 종래 기술들은 복잡도와 성능 측면에서 한쪽으로 치우쳐져 있었다. 즉 간단하면 성능이 나쁘고 성능이 좋으면 복잡했다. 따라서 비교적 간단하게 구현할 수 있으면서도 양호한 성능을 가지는 흐름제어 기술을 필요로 하게 되었다.
따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명의 목적은, 송신 시스템과 수신 시스템 사이에서 데이터 패킷을 전송함에 있어서 발생할 수 있는 수신 데이터 버퍼의 오버플로우 현상을 방지하기 위한 방법을 제공하는 것이다.
본 발명의 다른 목적은, 수신 시스템에서 데이터 버퍼에 저장된 데이터 트래픽의 점유도가 두 개의 기준값 내에 존재하도록 송신 시스템으로 데이터 전송 또는 전송 중지를 요구하는 방법을 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명의 실시예는, 수신 데이터 버퍼를 구비하고 제1 시스템으로부터 데이터 패킷들을 수신하여 상기 수신 데이터 버퍼에 저장하는 제2 시스템에서 데이터 패킷의 흐름제어를 위한 방법에 있어서,
상기 수신 데이터 버퍼의 현재 점유도를 미리 정해지는 제1 기준값과 비교하는 과정과,
상기 현재 점유도가 상기 제1 기준값보다 크면 미리 정해지는 전송중지 요구 주기에 따라서 상기 제1 시스템으로 전송중지 요구 메시지를 주기적으로 전송하는 과정과,
상기 현재 점유도가 상기 제1 기준값보다 작거나 같으면 상기 현재 점유도를 상기 제1 기준값보다 작도록 미리 정해지는 제2 기준값과 비교하는 과정과,
상기 현재 점유도가 상기 제2 기준값보다 작거나 같으면 미리 정해지는 제1 전송요구 주기에 따라서 상기 제1 시스템으로 전송요구 메시지를 주기적으로 전송하는 과정과,
상기 현재 점유도가 상기 제2 기준값보다 크면 상기 현재 점유도가 증가상태인지 또는 감소상태인지를 판별하는 과정과,
상기 현재 점유도가 증가상태이면 상기 제1 전송요구 주기보다 크도록 미리 정해지는 제2 전송요구 주기에 따라서 상기 제1 시스템으로 전송 요구 메시지를 주기적으로 전송하는 과정을 포함한다.
본 발명의 다른 실시예는, 전송하고자 하는 데이터 프레임을 복수개의 데이터 패킷들로 분할하여 제2 시스템으로 전송하는 제1 시스템에서 데이터 패킷의 흐름제어를 위한 방법에 있어서,
상기 제2 시스템으로부터 흐름제어에 관련된 제어 메시지가 수신되면, 상기 수신된 메시지가 전송요구 메시지인지 또는 전송중지 요구 메시지인지를 판별하는 과정과,
상기 수신된 메시지가 전송요구 메시지이면 상기 전송요구 메시지에 포함된 전송 요구량만큼의 데이터 패킷들을 상기 제2 시스템으로 전송하는 과정과,
상기 수신된 메시지가 전송중지 요구 메시지이면 데이터 패킷의 전송을 중지하는 과정을 포함한다.
도 1은 무선통신 시스템에 본 발명을 적용한 예에 대해서 설명한 것이다.
도 2는 본 발명을 적용하기 위해서 필요한 메시지들의 구성을 설명한 것이다.
도 3은 본 발명을 설명하기 위한 수신 데이터 버퍼의 시간적 변화를 도시한 것이다.
도 4는 본 발명에 대한 수신 시스템에서의 동작 절차를 흐름도로 설명한 것이다.
도 5는 본 발명에 대한 송신 시스템의 동작 절차를 흐름도로 설명한 것이다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명이 적용될 수 있는 셀룰러 무선통신 시스템의 구성도를 나타낸 것이다.
도 1을 참조하면, 셀룰러 무선통신 시스템은 전체 서비스영역을 복수개의 셀(cell)들로 분할하고 이러한 셀들을 각각 기지국(Base Transceiver Subsystem: BTS)(20)으로 서비스한다. 기지국 제어기(Base Station Controller: BSC)(10)는 기지국(20)의 통화를 제어하여 가입자의 이동 단말기(30)가 셀간을 이동하면서도 통화를 유지할 수 있도록 한다. 여기서 기지국 제어기(10)와 각각의 기지국(20)은 서로간에 중계선으로 연결되며 통상적으로 비동기전송모드(Asynchronous Transfer Mode: ATM)에 따라 패킷 형태의 데이터를 교환한다.
이를 보다 상세히 설명하면, 기지국(20)은 이동 단말기(30)와 무선채널을 통해 교환되는 데이터 트래픽을 처리하는 채널관리 블럭(25)을 가진다. 채널관리 블럭(25)은 이동 단말기(30)로부터의 데이터 트래픽을 소정의 포맷을 가지는 데이터 패킷으로 변환하여 기지국 제어기(10)로 전달하며 기지국 제어기(10)로부터 수신된 데이터 패킷을 분석하여 무선채널을 통해 이동 단말기(30)로 전달한다. 기지국 제어기(10)의 호 처리 블럭(15)은 기지국(20)으로부터 수신된 데이터 패킷을 통화 상대측 시스템으로 전달하며 또한 통화 상대측 시스템으로부터 수신된 데이터 패킷을 기지국(20)으로 전달한다.
본 발명에 의한 흐름제어 방식은 다양한 분야에 적용이 가능하지만 특히 기지국 제어기(10)로부터 기지국(20)의 방향으로 형성되는 순방향 링크에 대하여 적용 가능하다. 이는 이동 단말기(30)에서 기지국(20)을 통하여 데이터 서비스를 받는 경우에 보다 바람직하다. 이러한 경우 기지국 제어기(10)는 송신 데이터 버퍼(17)와 이를 제어하는 호 처리 블럭(15)을 가지고 데이터 패킷을 전송하는 송신 시스템이 되며, 기지국(20)은 수신 데이터 버퍼(27)와 이를 제어하는 채널 관리 블럭(25)을 가지고 데이터 패킷을 수신하는 수신 시스템이 된다. 본 발명은 이와 같이 데이터 패킷을 송신 및 수신하는 디지털 전송 시스템에서 송신 시스템이 수신 시스템에서 수신할 수 있는 여력 내에서 데이터 패킷 트래픽을 안전하게 전송하게 하는 흐름제어에 관한 것이다.
도 1을 참조하여 본 발명의 동작을 개략적으로 설명하면, 기지국(20)(이하 수신 시스템이라 한다.)은 데이터를 처리할 여력이 있을 때에 기지국 제어기(10)(이하 송신 시스템이라 한다.)로 전송요구 메시지를 전송하고, 이에 응답하여 송신 시스템은 데이터 패킷들을 전송한다. 수신 시스템은 데이터 패킷들을 수신하여 수신 데이터 버퍼에 저장한다. 이때 수신 데이터 버퍼의 점유도(예를 들어 점유율)가 미리 정해지는 전송중지 조건을 만족하면 수신 시스템은 송신 시스템에게 데이터 패킷의 전송 중지를 요구하고, 이에 응답하여 송신 시스템은 데이터 패킷들을 송신 데이터 버퍼에서 대기시킨다. 이후 수신 데이터 버퍼의 점유도가 미리 정해지는 전송요구 조건을 만족하면 수신 시스템은 송신 시스템에게 데이터 패킷의 전송을 다시 요구한다.
이때 전송중지 조건과 전송요구 조건을 판단함에 있어서 수신 시스템은 수신 데이터 버퍼의 점유도가 두 개의 기준값들 사이에 존재하도록 송신 시스템으로 데이터 전송 및 전송 중지를 요구한다. 여기서 두 개의 기준값들은 각각 THhigh, THlow로 표현되며 THhigh는 수신 데이터 버퍼의 최대 점유도보다 작고 THlow보다 큰 값으로 설정된다. 구체적인 기준값들은 실제 수신 데이터 버퍼의 크기와 부하량을 토대로 결정될 수 있다.
먼저 흐름제어를 위해서 사용되는 두 가지 메시지, 즉 전송요구 메시지와 전송중지 요구 메시지의 구성에 대해서 기술하기로 한다. 도 2는 본 발명에서 사용되는 메시지들의 구성을 나타낸 도면이다.
도 2의 (가)는 전송요구 메시지의 구성을 나타낸 것으로서 이는 전송요구 조건의 만족시 수신 시스템에서 송신 시스템으로 데이터 패킷의 전송을 요구하기 위한 것이다. 전송요구 메시지는 메시지 헤더(Message Header)와 페이로드(Payload)로 구성되는데, 여기서 메시지 헤더의 구성은 송신 시스템과 수신 시스템간에 사용되는 전송 프로토콜에 따라서 정해지지만 메시지 타입 값과 수신 시스템의 주소 및 송신 시스템의 주소를 적어도 포함한다. 또한 페이로드는 수신 시스템에서 송신 시스템으로 전송을 요구하는 데이터 패킷의 양(즉 개수)과 해당 메시지 전송 시의 시스템 시간을 적어도 포함한다.
도 2의 (나)의 전송중지 요구 메시지의 구성을 나타낸 것으로서 이는 전송중지 조건의 만족시 수신 시스템에서 송신 시스템으로 데이터 패킷의 전송을 중지할 것을 요구하기 위한 것이다. 전송중지 요구 메시지는 메시지 헤더와 페이로드로 구성되는데, 여기서 메시지 헤더의 구성은 전송요구 메시지와 동일하며 단지 메시지 타입의 값만이 다르고 페이로드는 해당 메시지 전송 시의 시스템 시간을 적어도 포함한다.
이러한 전송요구 메시지와 전송중지 요구 메시지는 하나의 패킷과 동일한 크기인 것이 바람직하다. 이는 메시지들의 전송과 분석에 너무 많은 시간이 소요되어 흐름제어에 영향을 미치는 것을 방지하기 위함이다.
도 3은 시간에 따라 변화하는 수신 데이터 버퍼의 점유도를 나타낸 도면으로서 이를 참조하여 본 발명의 전체적인 동작을 설명한다.
도 3의 (가) 구간에서는 수신 데이터 버퍼에 저장된 데이터 패킷의 양, 즉수신 데이터 버퍼의 점유도 Tc가 THlow값보다 작거나 같다. 따라서 수신 시스템은 송신 시스템으로 데이터 패킷의 전송을 요구하는 메시지를 주기적으로 전송한다. 즉 도 2의 전송요구 메시지를 사용해서 송신 시스템에게 데이터 패킷 트래픽 전송을 요구한다. 여기서 전송요구 메시지를 전송하는 주기는 Tfast로 정해진다.
(나) 구간으로 진입하면, 즉 수신 데이터 버퍼의 점유도가 THlow값을 초과하면, 수신 시스템에서 송신 시스템으로 전송요구 메시지를 전송하는 주기가 (가) 구간에 비하여 느려진다. (나) 구간에서 전송요구 메시지를 전송하는 주기는 Tslow값으로 정해지며 이는 Tfast보다 큰 값이다. 다시 말하면 수신 데이터 버퍼의 점유도가 THlow값을 초과할 때, 수신 시스템은 수신 데이터 버퍼의 여유공간이 (가) 구간에 비하여 비교적 적게 남은 것으로 판단하고 전송요구 메시지를 보다 덜 빈번하게 전송하여 수신 데이터 버퍼의 점유도가 증가하는 비율을 감소시킨다.
한편 전송요구 메시지의 페이로드에는 수신 시스템에서 송신 시스템에게 요구하는 전송 요구량이 기록되어 있다. 상기 전송 요구량은 수신 데이터 버퍼의 현재 점유도와 수신 시스템의 부하량을 고려하여 동적으로 설정할 수도 있지만, 구현의 편리화를 위해서는 고정된 값을 사용하는 것이 바람직하다.
또한 전송요구 메시지의 페이로드에는 전송 요구량 외에도 전송시의 시스템 시간 값이 기록되어 있다. 이는 수신 시스템에서 송신 시스템으로 송신한 전송요구 메시지가 필요 이상으로 늦게 송신 시스템에 도착하였을 경우에 발생할 수 있는 문제를 방지하기 위함이다. 예를 들어, 역방향 링크(수신 시스템으로부터 송신 시스템의 방향으로 형성되는 링크)의 부하 증가로 인해서 대량의 지연이 발생한 경우를 고려해 보면, 이 경우 역방향 링크에서 지체되었던 대량의 전송요구 메시지들은 송신 시스템에 한꺼번에 도착하게 될 수 있다. 결과적으로 송신 시스템은 대량의 전송요구 메시지들에 응답하여 많은 양의 데이터 패킷들을 매우 짧은 시간내에 한꺼번에 전송하게 된다. 이 패킷들이 수신 시스템에 도착하면 수신 버퍼에 오버플로우(Overflow) 현상이 발생하며 결과적으로 일부 데이터 패킷이 폐기될 수 있다.
따라서 전송요구 메시지가 허용치 이상으로 지연된 경우, 즉 메시지 지연시간 Tdelay가 미리 정해지는 제한 지연시간 Tlimit보다 클 경우 송신 시스템은 해당 전송요구 메시지를 폐기하여 수신 시스템의 수신 버퍼에서 오버플로우 현상이 발생하는 것을 방지한다. 여기서 상기 메시지 지연시간 Tdelay는 전송요구 메시지에 포함된 시스템 시간과 송신 시스템이 상기 전송요구 메시지를 수신한 시간의 차이로 계산된다.
한편 도 3의 (다) 구간으로 진입하면, 즉 수신 데이터 버퍼의 점유도가 THhigh를 초과하게 되면, 수신 시스템은 송신 시스템으로 전송중지 요구 메시지를 전송한다. 송신 시스템은 전송중지 요구 메시지를 수신하면 데이터 패킷의 전송을 즉각 중지한다. 여기서 THhigh는 수신 데이터 버퍼의 최대 점유도보다 작은 값으로 정해지는 것이 바람직하다. 이는 수신 시스템에서 전송중지 요구 메시지를 전송한 이후 송신 시스템에서 데이터 패킷의 전송을 중지하기 전까지의 시간 동안 수신 시스템으로 수신될 수 있는 데이터 패킷이 수신 데이터 버퍼에 저장될 수 있도록 하기 위해서이다.
데이터 패킷의 전송 재개는 수신 시스템으로부터 전송요구 메시지가 다시 수신되었을 때 이루어진다. 메시지의 유실을 방지하기 위하여 전송중지 요구 메시지는 미리 정해지는 주기에 따라 반복 전송된다. 전송중지 요구 메시지를 전송하는 주기는 Tstop으로 정해지며 이는 Tslow보다도 큰 값으로 설정된다. 이는 흐름제어에 따른 메시지 처리 부하를 줄이기 위해서이다.
또한 (라) 구간으로 진입하면, 즉 수신 데이터 버퍼의 점유도가 THhigh보다 작아지면, 수신 시스템은 송신 시스템으로 흐름제어에 관련한 어떠한 메시지도 전송하지 않는다. 따라서 송신 시스템은 여전히 데이터 패킷을 전송하지 않는다. 이는 수신 시스템에서 이미 저장된 데이터 패킷들을 처리하여 수신 데이터 버퍼의 점유도를 보다 낮출 수 있도록 하기 위해서이다.
그러다가 (마) 구간으로 진입하면, 즉 수신 데이터 버퍼의 점유도가 다시 THlow이하로 떨어지면 수신 시스템은 앞서 언급한 (가) 구간에서와 동일하게 주기 Tfast에 따라서 전송요구 메시지를 주기적으로 전송하게 된다. 이와 유사하게,(바) 구간에서의 동작은 (나) 구간에서와 동일하다. (사) 구간에서는 수신 데이터 버퍼의 점유도가 THlow와 THhigh의 사이에 있고 감소중이므로 (라) 구간에서와 동일하게동작하며 (아) 구간에서의 동작은 다시 (가) 구간에서와 동일하다.
이하 본 발명에 따른 데이터 패킷의 수신을 위한 흐름제어 절차를 도 4를 참조하여 설명하기로 한다. 여기서 수신 시스템은 제한된 개수의 데이터 패킷들을 수용 가능한 수신 데이터 버퍼를 구비하며 송신 시스템으로부터 데이터 패킷들을 수신하여 상기 수신 데이터 버퍼에 저장한다.
도 4의 단계(S110)에서 송신 시스템으로부터 데이터 패킷이 수신되어 수신 데이터 버퍼에 저장되면, 단계(S120)에서 수신 데이터 버퍼의 현재 점유도 Tc는 미리 정해지는 제1 기준값 THhigh와 비교된다. 상기 제1 기준값 THhigh는 데이터 패킷의 전송을 중지하기 위한 수신 데이터 버퍼 점유도의 상한 값으로 정해진다. 상기 비교결과 현재 점유도 Tc가 제1 기준값 THhigh를 초과하면 이는 도 3의 (다) 구간에 해당되므로 단계(S125)로 진행한다. 단계(S125)에서 수신 시스템은 송신 시스템으로 전송중지 요구 메시지를 전송하고 미리 정해지는 전송중지 요구 주기 Tstop동안 어떠한 제어 메시지도 전송하지 않으면서 수신되는 데이터 패킷들을 수신 데이터 버퍼에 저장한 이후 상기 단계(S110)로 되돌아가서 새로운 데이터 패킷의 수신을 기다린다. 반면에 상기 비교결과 현재 점유도 Tc가 제1 기준값 THhigh보다 작거나 같으면 단계(S130)로 진행한다.
단계(S130)에서 현재 점유도 Tc는 제2 기준값 THlow와 비교된다. 상기 제2 기준값 THlow는 데이터 패킷의 전송을 재개하기 위한 수신 데이터 버퍼 점유도의 하한값으로 정해지며 제1 기준값 THhigh보다 작다. 상기 비교결과 현재 점유도 Tc가 제2 기준값 THlow보다 작거나 같으면 이는 도 3의 (가), (마) 또는 (아) 구간에 해당되므로 단계(S135)로 진행한다. 단계(S135)에서 수신 시스템은 송신 시스템으로 전송요구 메시지를 전송하고 미리 정해지는 제1 전송요구 주기 Tfast동안 어떠한 제어 메시지도 전송하지 않으면서 수신되는 데이터 패킷들을 수신 데이터 버퍼에 저장한 이후 상기 단계(S110)로 되돌아가서 새로운 데이터 패킷의 수신을 기다린다. 여기서 상기 제1 전송요구 주기 Tfast는 전송중지 요구 주기 Tstop보다 큰 값으로 정해진다. 반면에 상기 비교결과 현재 점유도 Tc가 제2 기준값 THlow를 초과하면 단계(S140)로 진행한다.
단계(S140)에서는 수신 데이터 버퍼의 상태가 도 3의 (나) 구간인지 (라) 구간인지를 판별하기 위하여 수신 데이터 버퍼의 이전 상태가 함께 고려된다. 즉, 단계(S140)에서 수신 데이터 버퍼의 이전 상태를 고려하여 수신 데이터 버퍼의 점유도가 증가상태인지 감소상태인지를 판별한다. 이를 위해서 수신 시스템은 수신 데이터 버퍼의 시간에 따른 점유도 변화를 지속적으로 추적하고 이를 기울기로서 저장한다. 만일 상기 기울기가 0보다 크거나 같으면 증가상태인 것으로 판단하고 상기 기울기가 0보다 작으면 감소상태인 것으로 판단한다. 단계(S140)의 판별결과 수신 데이터 버퍼의 점유도가 감소상태이면 수신 시스템은 어떠한 제어 메시지도 전송하지 않고 단계(S110)로 되돌아가서 새로운 데이터 패킷의 수신을 기다린다. 반면에 수신 데이터 버퍼의 점유도가 증가상태이면 단계(S145)로 진행한다.
단계(S145)에서 수신 시스템은 송신 시스템으로 전송요구 메시지를 전송하고 미리 정해지는 제2 전송요구 주기 Tslow동안 어떠한 제어 메시지도 전송하지 않으면서 수신되는 데이터 패킷들을 수신 데이터 버퍼에 저장한 이후 상기 단계(S110)로 되돌아가서 새로운 데이터 패킷의 수신을 기다린다. 여기서 상기 제2 전송요구 주기 Tslow는 제1 전송요구 주기 Tfast보다 크고 전송중지 요구 주기 Tstop보다 작은 값으로 정해진다.
도 4에 따른 수신 시스템의 흐름제어 절차에 사용되는 주기들 Tslow, Tfast, Tstop의 값은 시스템들의 처리능력, 데이터 패킷의 전송속도, 전파경로에서의 지연 등에 따라서 정해질 수 있으나 예를 들어 Tfast가 20ms인 경우 Tslow는 100ms이고 Tstop은 수백ms이다. 상기 주기들 동안 수신되는 데이터 패킷들은 계속해서 수신 데이터 버퍼에 저장될 것이다.
한편, 송신 시스템은 기본적으로 수신 시스템으로부터 수신된 제어 메시지들에 따라서 동작한다. 이하 본 발명에 따른 데이터 패킷의 송신을 위한 흐름제어 절차를 도 5를 참조하여 설명하기로 한다. 여기서 송신 시스템은 전송하고자 하는 데이터 프레임을 복수개의 데이터 패킷들로 분할하여 송신 데이터 버퍼에 저장해 두었다가 수신 시스템으로 전송한다.
도 5의 단계(S210)에서 흐름제어에 관련된 메시지가 수신되면 단계(S220)에서 송신 시스템은 상기 메시지의 전파 지연시간 Tdelay를 계산한다. 즉, 송신 시스템은 상기 메시지를 분해하여 페이로드를 추출한 후 페이로드 내의 시스템 시간을 독출한다. 상기 메시지의 전파 지연시간은 상기 메시지를 수신한 시스템 시간에서 상기 독출된 시스템 시간을 감산함으로써 계산된다. 단계(S230)에서 상기 계산된 지연시간 Tdelay는 미리 정해지는 제한 지연시간 Tlimit와 비교된다. 상기 비교결과 상기 계산된 지연시간 Tdelay가 미리 정해지는 제한 지연시간 Tlimit보다 작거나 같으면 단계(S250)로 진행한다. 반면에 상기 비교결과 상기 계산된 지연시간 Tdelay가 미리 정해지는 제한 지연시간 Tlimit보다 크면 단계(S240)로 진행한다.
단계(S240)에서 송신 시스템은 연속으로 폐기된 메시지들의 개수가 미리 정해지는 개수 N을 초과하는지를 판단한다. 여기서 개수 N은 전파경로의 지연으로 인하여 연속으로 폐기하는 메시지들의 최대 개수를 나타내는 값으로서 시스템 구현시에 결정된다. 바람직하게는 상기 개수 N은 1 이상이고 10 보다 작다. 만일 연속으로 폐기된 메시지들의 개수가 미리 정해지는 개수 N보다 작거나 같으면 단계(S245)에서 상기 메시지는 폐기된다. 이는 상기 메시지가 제한 지연시간 이상으로 지연되어 더 이상 의미를 가지지 않는다고 판단되기 때문이다. 반면에 연속으로 폐기된 흐름제어 관련 메시지의 개수가 미리 정해지는 개수 N을 초과하면 단계(S250)로 진행한다. 이는 제한 지연시간 이상으로 지연된 메시지들이 연속으로 발생할 경우에는 역방향 링크(기지국으로부터 기지국 제어기의 방향으로 형성되는 링크)의 부하가 증가하였다고 판단하여 N번째 이후의 메시지는 폐기하지 않고 처리되도록 하기 위해서이다.
단계(S250)에서 송신 시스템은 상기 메시지가 전송요구 메시지인지를 판단한다. 즉, 송신 시스템은 상기 수신된 메시지의 메시지 헤더에서 독출된 메시지 타입 값에 따라 상기 수신된 메시지가 전송요구 메시지인지 또는 전송중지 요구 메시지인지를 판별한다. 만일 전송요구 메시지가 아니면 전송중지 요구 메시지이기 때문에 단계(S255)에서 송신 시스템은 데이터 패킷의 전송을 중지한다. 반면에 전송요구 메시지이면 단계(S260)에서 송신 시스템은 상기 수신된 메시지의 페이로드에서 독출된 전송 요구량만큼 송신 데이터 버퍼에 저장된 데이터 패킷들을 수신 시스템으로 전송한다.
본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은 디지털 전송 시스템에서 데이터 패킷 트래픽을 효율적으로 전송할 수가 있으며, 구현 알고리즘이 간단하여 송신 및 수신 시스템에 미치는 영향이 적고 수신 데이터 버퍼의 오버플로우 현상을 방지할 수 있다. 따라서 IMT-2000 시스템(특히 동기식 CDMA2000 시스템)에서 서브 시스템들간의 데이터 패킷 전송을 위한 흐름제어 관련 분야에 적용될 수 있다.
Claims (6)
- 수신 데이터 버퍼를 구비하고 제1 시스템으로부터 데이터 패킷들을 수신하여 상기 수신 데이터 버퍼에 저장하는 제2 시스템에서 데이터 패킷의 흐름제어를 위한 방법에 있어서,상기 수신 데이터 버퍼의 현재 점유도를 미리 정해지는 제1 기준값과 비교하는 과정과,상기 현재 점유도가 상기 제1 기준값보다 크면 미리 정해지는 전송중지 요구 주기에 따라서 상기 제1 시스템으로 전송중지 요구 메시지를 주기적으로 전송하는 과정과,상기 현재 점유도가 상기 제1 기준값보다 작거나 같으면 상기 현재 점유도를 상기 제1 기준값보다 작도록 미리 정해지는 제2 기준값과 비교하는 과정과,상기 현재 점유도가 상기 제2 기준값보다 작거나 같으면 미리 정해지는 제1 전송요구 주기에 따라서 상기 제1 시스템으로 전송요구 메시지를 주기적으로 전송하는 과정과,상기 현재 점유도가 상기 제2 기준값보다 크면 상기 현재 점유도가 증가상태인지 또는 감소상태인지를 판별하는 과정과,상기 현재 점유도가 증가상태이면 상기 제1 전송요구 주기보다 크도록 미리 정해지는 제2 전송요구 주기에 따라서 상기 제1 시스템으로 전송 요구 메시지를 주기적으로 전송하는 과정을 포함함을 특징으로 하는 상기 방법.
- 제 1 항에 있어서, 상기 전송중지 요구 주기의 값은 상기 제2 전송요구 주기보다 큰 값임을 특징으로 하는 상기 방법.
- 전송하고자 하는 데이터 프레임을 복수개의 데이터 패킷들로 분할하여 제2 시스템으로 전송하는 제1 시스템에서 데이터 패킷의 흐름제어를 위한 방법에 있어서,상기 제2 시스템으로부터 흐름제어에 관련된 제어 메시지가 수신되면, 상기 수신된 메시지가 전송요구 메시지인지 또는 전송중지 요구 메시지인지를 판별하는 과정과,상기 수신된 메시지가 전송요구 메시지이면 상기 전송요구 메시지에 포함된 전송 요구량만큼의 데이터 패킷들을 상기 제2 시스템으로 전송하는 과정과,상기 수신된 메시지가 전송중지 요구 메시지이면 데이터 패킷의 전송을 중지하는 과정을 포함함을 특징으로 하는 상기 방법.
- 제 3 항에 있어서, 상기 수신된 메시지의 전파 지연시간을 계산하는 과정과,상기 계산된 전파 지연시간이 미리 정해지는 제한 지연시간보다 크고 연속으로 폐기된 흐름제어 관련 제어 메시지들의 개수가 미리 정해지는 제한 개수를 초과하지 않으면, 상기 수신된 메시지를 폐기하는 과정을 더 포함함을 특징으로 하는 상기 방법.
- 제 1 항 또는 제 3 항에 있어서, 상기 전송요구 메시지는, 송신 시스템의 주소와 수신 시스템의 주소와 메시지 타입의 값을 포함하는 메시지 헤더와, 전송 요구량과 전송시 시스템 시간을 포함하는 페이로드로 구성됨을 특징으로 하는 상기 방법.
- 제 1 항 또는 제 3 항에 있어서, 상기 전송중지 요구 메시지는, 송신 시스템의 주소와 수신 시스템의 주소와 메시지 타입의 값을 포함하는 메시지 헤더와, 전송시 시스템 시간을 포함하는 페이로드로 구성됨을 특징으로 하는 상기 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0043065A KR100429503B1 (ko) | 2001-07-18 | 2001-07-18 | 데이터 패킷의 흐름제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0043065A KR100429503B1 (ko) | 2001-07-18 | 2001-07-18 | 데이터 패킷의 흐름제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030008425A true KR20030008425A (ko) | 2003-01-29 |
KR100429503B1 KR100429503B1 (ko) | 2004-05-04 |
Family
ID=27715475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0043065A KR100429503B1 (ko) | 2001-07-18 | 2001-07-18 | 데이터 패킷의 흐름제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100429503B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100773445B1 (ko) * | 2006-11-22 | 2007-11-05 | 삼성전자주식회사 | 무선 근거리 네트워크의 데이터 송수신 장치 및 그 방법 |
WO2014125337A1 (en) * | 2013-02-15 | 2014-08-21 | Freescale Semiconductor, Inc. | Apparatus, system and method for controlling packet data flow |
US10432496B2 (en) | 2016-09-09 | 2019-10-01 | Hyundai Autron Co., Ltd. | Apparatus and method for controlling message communications load |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6163140A (ja) * | 1984-09-05 | 1986-04-01 | Hitachi Ltd | 多重集配信装置のデ−タ抑止解除方法 |
JPH04839A (ja) * | 1990-04-17 | 1992-01-06 | Nippon Telegr & Teleph Corp <Ntt> | パケット通信方法 |
US5905729A (en) * | 1995-07-19 | 1999-05-18 | Fujitsu Network Communications, Inc. | Mapping a data cell in a communication switch |
US6377546B1 (en) * | 1998-05-12 | 2002-04-23 | International Business Machines Corporation | Rate guarantees through buffer management |
US6167029A (en) * | 1998-10-13 | 2000-12-26 | Xaqti Corporation | System and method for integrated data flow control |
-
2001
- 2001-07-18 KR KR10-2001-0043065A patent/KR100429503B1/ko not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100773445B1 (ko) * | 2006-11-22 | 2007-11-05 | 삼성전자주식회사 | 무선 근거리 네트워크의 데이터 송수신 장치 및 그 방법 |
WO2014125337A1 (en) * | 2013-02-15 | 2014-08-21 | Freescale Semiconductor, Inc. | Apparatus, system and method for controlling packet data flow |
US10225196B2 (en) | 2013-02-15 | 2019-03-05 | Nxp Usa, Inc. | Apparatus, system and method for controlling packet data flow |
US10432496B2 (en) | 2016-09-09 | 2019-10-01 | Hyundai Autron Co., Ltd. | Apparatus and method for controlling message communications load |
Also Published As
Publication number | Publication date |
---|---|
KR100429503B1 (ko) | 2004-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100619949B1 (ko) | 고속 이동통신망에서의 티씨피 흐름 제어방법 | |
KR100967150B1 (ko) | 채널 품질 조건에 기초한 데이터 흐름 제어 방법 및 그데이터 흐름 제어용 무선 통신 시스템 | |
US7003302B2 (en) | Wireless base station and packet transfer apparatus for dynamically controlling data transmission rate | |
EP1391128B1 (en) | Congestion and delay handling in a packet data network | |
EP2204017B1 (en) | Efficient flow control in an rnc | |
CN101304557B (zh) | 一种分组传输控制方法及装置 | |
US7382732B2 (en) | Method and system for flow control for route switching | |
US20110080874A1 (en) | Method of and Apparatus for Adaptive Control of Data Buffering in a Data Transmitter | |
JP2002525935A (ja) | 移動通信網間のハンドオーバ | |
JP2008053889A (ja) | ハンドオーバ方法、基地局、端末局、プログラム記録媒体及び集積回路 | |
KR100415115B1 (ko) | 통신시스템의 데이터 혼잡 통보 방법 및 장치 | |
JP2012019531A (ja) | 無線データ・ネットワークにおける伝送をスケジューリングする方法および装置 | |
KR20010082243A (ko) | 통신 시스템에서 데이터를 백홀하기 위한 방법 및 장치 | |
EP1045551A2 (en) | Method for transmission between data networks and wireless communication system | |
US20040090936A1 (en) | Method and system for reducting traffic flow to a mobile node during handoff situations | |
US20030139145A1 (en) | Data transmitting method and apparatus for guaranteeing quality of service in a data communication system | |
US6950422B2 (en) | Interference reduction within a communication system | |
KR100429503B1 (ko) | 데이터 패킷의 흐름제어 방법 | |
JP2000341338A (ja) | データパケットのバースト送信の期間を動的に制御する方法 | |
US20040202129A1 (en) | Method, network nodes and system for sending data in a mobile communication network | |
US8023449B2 (en) | Method of data preservation and minimizing reduction in data throughput in the event of a cell change | |
EP1506644B1 (en) | Shared-communications channel utilization for applications having different class of service requirements | |
KR101515595B1 (ko) | 무선망 전송 품질 향상을 위한 tcp 패킷 전송 최적화 시스템 및 방법 | |
KR100384820B1 (ko) | 디에스/시디엠에이 기반 슬롯티드-알로하 시스템의 전송확률 제어 방법 및 그 장치 | |
KR100938096B1 (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: 20120329 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20130328 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |