KR100542441B1 - 2 이상의 채널을 처리하기 위한 스케줄링 방법, 보이스오버 패킷 시스템, 및 기록 매체 - Google Patents

2 이상의 채널을 처리하기 위한 스케줄링 방법, 보이스오버 패킷 시스템, 및 기록 매체 Download PDF

Info

Publication number
KR100542441B1
KR100542441B1 KR1020030061084A KR20030061084A KR100542441B1 KR 100542441 B1 KR100542441 B1 KR 100542441B1 KR 1020030061084 A KR1020030061084 A KR 1020030061084A KR 20030061084 A KR20030061084 A KR 20030061084A KR 100542441 B1 KR100542441 B1 KR 100542441B1
Authority
KR
South Korea
Prior art keywords
processing
channel
channels
buffer
time
Prior art date
Application number
KR1020030061084A
Other languages
English (en)
Other versions
KR20050023700A (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 KR1020030061084A priority Critical patent/KR100542441B1/ko
Priority to US10/834,964 priority patent/US7529228B2/en
Publication of KR20050023700A publication Critical patent/KR20050023700A/ko
Application granted granted Critical
Publication of KR100542441B1 publication Critical patent/KR100542441B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/2416Real-time traffic
    • 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
    • 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/522Dynamic queue service slot or variable bandwidth allocation
    • 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
    • H04L47/562Attaching a time tag 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/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC

Landscapes

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

Abstract

본 발명은 보이스 오버 패킷(Voice over Packet) 시스템에서 2 이상의 채널을 처리하기 위한 스케줄링 방법에 관한 것이다. 본 발명에 따른 VoP 시스템은 패킷 네트워크로부터 전송된 패킷을 임시 저장하기 위한 패킷 버퍼; 2 이상의 채널의 알고리즘 모듈을 처리하기 위한 DSP(Digital Signal Processor); 일정 사이클마다 DSP에서 수행될 채널을 스케줄링하며, DSP가 채널의 알고리즘 모듈 중 고정된 수행 시간을 가지는 알고리즘 모듈을 수행하도록 한 후, 가변된 수행 시간을 가지는 알고리즘 모듈을 수행하도록 하는 스케줄러; 및 TDM 네트워크와의 입출력을 위한 TDM 버퍼를 포함한다. 본 발명에 따르면, 고정된 수행 시간을 가지는 알고리즘 모듈을 먼저 수행함으로써, 전체 모듈을 수행하지 않은 상태에서 채널의 처리 시간을 정확하게 알 수 있게 되고, 이에 기반하여 스케줄링을 함으로써 프로세싱 자원의 효율이 증가하게 된다.
VoP, 패킷 버퍼, 스케줄러, DSP, TDM 버퍼

Description

2 이상의 채널을 처리하기 위한 스케줄링 방법, 보이스 오버 패킷 시스템, 및 기록 매체{A Scheduling Method for Multi-channel DSP algorithms, Voice Over Packet System, and Recoding Medium}
도 1은 VoP 알고리즘의 DSP 에서의 논리적 처리 구조를 도시한 것이다.
도 2는 패킷 네트워크에서의 패킷의 지연 시간 분포와 지터 버퍼 시간의 관계를 예시적으로 도시한 확률 분포도이다.
도 3은 음성 채널의 DSP에서의 처리 부하와 시간의 관계를 예시적으로 도시한 부하 상태도이다.
도 4는 DSP에서 음성 채널의 연관 관계를 예시적으로 도시한 블록도이다.
도 5는 본 발명의 일실시예에 따른 버퍼 제어기의 동작을 도시한 순서도이다.
도 6은 본 발명의 일실시예에 따른 스케줄러의 동작을 도시한 순서도이다.
도 7은 기존의 방식과 본 발명의 일실시예에 따른 스케줄링 방식을 비교하여 도시한 것이다.
본 발명은 VoP (Voice Over Packet) 시스템에 관한 것으로서, 구체적으로는 VoP 시스템에서 DSP(Digital Signal Processor)가 2 이상의 채널을 처리할 수 있도록 하는 스케줄링 방법, 및 스케줄링 프로그램을 기록한 기록 매체에 관한 것이다.
VoP 시스템의 DSP는, 도 4에 도시된 바와 같이, 에코 제거, 팩스, 모뎀, 음성 코덱 등의 알고리즘을 수행하며, 음성과 같은 아날로그 신호를 코딩하여 패킷의 형태로 전달한다. 이 때, 패킷에는 데이터가 코딩된 시점이 기록되게 되고, 이를 바탕으로 음성의 재생을 위한 시각을 복원할 수 있다.
그러나, 일반적인 패킷 네트워크에서는 데이터의 전송시 지연차가 발생하게 되는데 이로 인한 영향을 제거하기 위하여, 도 2에 도시된 바와 같이, 지연 시간의 분포(201)를 예측하고 이의 영향을 최소화할 수 있을 만큼의 시간(202) 동안 패킷을 버퍼에 저장한다.
또한, 패킷 네트워크로부터 수신된 패킷을 디코딩하여 TDM(time division multiplexing) 네트워크로 전송하는 경우, 음질의 저하가 없도록 하기 위해서는 TDM 버퍼가 비는 시점이 없도록 DSP에서 수행되는 채널들을 적절히 스케줄링해야 한다. 또한, TDM 네트워크로부터 음성을 패킷 네트워크로 전송하는 경우, 지연이 최소화되도록 각 채널들을 스케줄링하여 처리하여야 한다.
DSP에서 처리되는 특정 채널 i에 대하여 네트워크에서의 평균 전송 지연이 Tid, 수신된 패킷이 지터 버퍼에 저장되어 있도록 지정된 시간이 Tij, DSP가 처리하는데 필요한 가장 긴 시간이 Tip, 처리된 음성이 TDM 또는 아날로그 전화 인터페이 스로 출력되기까지의 버퍼링 시간이 Tit인 경우, 네트워크에서 입력된 패킷이 실제 TDM 하드웨어 혹은 아날로그 전화 인터페이스로 출력되기까지의 시간은 Tij+Tip+T it가 된다. 네트워크로 전송되는 패킷은 송신측에서 송신시의 시간을 표시하는 타임 스탬프를 가지고 있다.
기존에는 Tij의 시간 동안 패킷을 처리하지 않고 저장함으로써, Tit가 매우 짧은 일정한 시간이 되도록 하였다. Tid+Tij의 시간에 채널에 대한 처리를 수행함으로써, 네트워크에서의 전달 지연의 변이를 흡수하여 연속적인 음성의 출력이 가능하게 된다. 이러한 방식을 사용할 경우, 네트워크의 지터는 지터 버퍼에 의하여 흡수되지만, Tit가 짧기 때문에 적절한 시점에 채널이 DSP에 의하여 스케줄링되어 처리되지 않으면 음질의 저하가 나타날 수 있다.
또한, DSP에서 수행되는 알고리즘들은 그 수행에 필요한 처리 시간이 일정하지 않기 때문에, DSP에서의 처리 부하는 도 3에 도시된 바와 같이 항상 변화하게 된다.
이 때, 각 채널이 충분한 수행 시간을 얻지 못하게 되면 정상적인 처리가 곤란하게 되므로, 종래에는 알고리즘의 수행에 필요한 최대 수행 시간을 기준으로 DSP에서 수용할 수 있는 최대 채널의 수를 결정하였다.
그러나, 이러한 결정 방식은 최대 수행 시간과 최소 수행 시간의 차가 큰 알고리즘을 수행하는 경우, DSP가 유휴 상태에 있게 되어 DSP를 효율적으로 사용하지 못하는 단점이 있다.
매 시점마다 다른 처리 능력을 필요로 하는 DSP 알고리즘들을 수행하기 위한 종래의 기술로서 미합중국 특허 제5,995,540호에 개시된 것이 있다.
미합중국 특허 제5,995,540호에 개시된 방법은 주기적으로 알고리즘을 수행한 후 여분의 프로세싱 자원을 사용자 응용 프로그램을 수행하는데 사용함으로써, DSP의 처리 효율을 높이는 것이다. 그러나, 이러한 방법은 VoP 게이트웨이와 같이 DSP가 사용자 응용 프로그램을 수행하지 않고 제한된 DSP 작업만을 반복 수행하는 시스템에는 적용이 곤란한 문제가 있다.
DSP 알고리즘을 스케줄링하기 위한 다른 종래 기술로서, 국제공개공보 제01/35228호에 개시된 것이 있다.
국제공개공보 제01/35228호는 각 알고리즘들이 필요로 하는 평균적인 처리 능력을 기준으로 하나의 DSP에 수용할 채널의 수를 결정하는 경우의 스케줄링 방법을 개시하고 있으며, 특히 정해진 시간 이내에 알고리즘을 모두 수행할 수 없는 경우에 대한 처리 방법을 제시하고 있다.
이러한 방법은 매 사이클마다 각 채널에 대해 필요로 하는 처리 용량을 할당받을 수 있는지 점검한다. 처리 용량이 부족할 경우 몇 채널을 선택하고 선택된 채널의 처리를 간략화 혹은 생략함으로써 보다 많은 수의 채널을 수용하도록 하고 있다. 이러한 방법은 기존의 기술에 비하여 많은 수의 채널을 수용할 수 있지만, 각 채널의 처리를 간략화하거나 생략하기 때문에 그 처리 결과의 품질이 저하될 수 있는 문제점을 가지고 있다.
본 발명의 목적은 VoP 시스템에 있어서, DSP의 처리 능력을 최대한 이용함으로써 하나의 DSP에서 보다 많은 채널을 처리할 수 있도록 하는 DSP 알고리즘의 스케줄링 방법을 제공함에 있다.
본 발명의 또 다른 목적은 VoP 시스템에 있어서, 보다 많은 채널을 수용하면서도 처리 결과의 품질이 우수한 다채널 DSP 알고리즘의 스케줄링 방법을 제공함에 있다.
상기 과제를 달성하기 위하여, 본 발명의 하나의 특징에 따른 VoP 시스템은 패킷 네트워크로부터 전송된 패킷을 임시 저장하기 위한 패킷 버퍼; 2 이상의 채널의 알고리즘 모듈을 처리하기 위한 DSP(Digital signal processor); 일정 사이클마다 상기 DSP에서 수행될 채널을 스케줄링하며, 상기 DSP가 상기 채널들의 알고리즘 모듈 중 고정된 수행 시간을 가지는 알고리즘 모듈을 수행하도록 한 후, 가변된 수행 시간을 가지는 알고리즘 모듈을 수행하도록 하는 스케줄러; 및 TDM 네트워크와의 입출력을 위한 TDM 버퍼를 포함한다.
본 발명의 하나의 특징에 따른 VoP 시스템에 있어서, 상기 스케줄러는 상기 DSP가 상기 고정된 수행 시간을 가지는 알고리즘 모듈을 실행한 결과를 이용하여, 상기 채널들이 수행되어야 할 데드 라인을 계산하여, 상기 데드 라인에 가까운 순서대로, 상기 가변된 수행 시간을 가지는 알고리즘 모듈이 실행되도록 한다.
본 발명의 하나의 특징에 따른 VoP 시스템에 있어서, 상기 스케줄러는 상기 가변된 수행 시간을 가지는 알고리즘 모듈을 실행하고도 상기 사이클 시간에 여분이 존재하는 경우 다른 채널의 알고리즘 모듈을 실행하도록 한다.
본 발명의 하나의 특징에 따른 VoP 시스템에 있어서, 상기 스케줄러는 스케줄링 리스트를 포함하고, 상기 스케줄링 리스트는 상기 DSP에서 처리되어야 할 채널들의 리스트를 포함한다.
본 발명의 하나의 특징에 따른 VoP 시스템에 있어서, 상기 스케줄링 리스트는 상기 채널들의 채널 번호, 방향, 채널 처리를 위한 알고리즘 모듈의 구성과 이들 상호 간의 연관 관계 및 수행 시간 등의 정보를 더 포함한다.
본 발명의 하나의 특징에 따른 VoP 시스템에 있어서, 상기 VoP 시스템은 상기 패킷 버퍼 및 상기 TDM 버퍼의 상태를 관찰하고, 상기 패킷 네트워크 또는 상기 TDM 네트워크로 데이터가 전송되는 경우 해당 채널에 대한 처리를 상기 스케줄러로 요청하는 버퍼 제어기를 더 포함한다.
본 발명의 하나의 특징에 따른 VoP 시스템에 있어서, 상기 버퍼 제어기는 상기 패킷 네트워크로부터 패킷이 도착하는 경우, 상기 TDM 버퍼가 비어 있는지를 검토하고, 상기 TDM 버퍼가 비어있는 경우에 상기 패킷 버퍼의 버퍼링 시간만큼 더미 데이터를 상기 TDM 버퍼에 삽입하고, 상기 스케줄링 리스트에 추가하며, 상기 TDM 버퍼가 비어있지 않은 경우에는 도착한 상기 패킷을 상기 패킷 버퍼에 삽입하고, 상기 패킷이 상기 패킷 버퍼의 맨 앞에 존재하는 경우 상기 스케줄링 리스트에 추가한다.
본 발명의 하나의 특징에 따른 VoP 시스템에 있어서, 상기 스케줄러는 상기 고정된 수행 시간을 가지는 알고리즘 모듈을 상기 DSP가 실행하도록 한 후 그 결과를 이용하여 해당 채널의 수행에 필요한 시간을 예측한다.
본 발명의 하나의 특징에 따른 VoP 시스템에 있어서, 상기 스케줄러가 상기 TDM 네트워크로부터 상기 패킷 네트워크로 채널을 스케줄링하는 경우, 상기 채널의 서비스가 요구하는 최대 지연 시간에서 상기 데이터가 상기 TDM 버퍼에서 소모된 시간과 상기 채널의 수행에 필요한 상기 예측된 시간을 뺀 값이 상기 사이클의 길이보다 긴 경우에 다음 사이클로 수행을 연기한다.
본 발명의 하나의 특징에 따른 VoP 시스템에 있어서, 상기 스케줄러가 상기 패킷 네트워크로부터 상기 TDM 네트워크로 채널을 스케줄링하는 경우, 상기 TDM 버퍼에 저장된 데이터가 모두 소모되기까지의 시간에서 해당 채널의 수행에 필요한 상기 예측된 수행 시간을 뺀 값이 상기 사이클의 길이 보다 큰 경우에 다음 사이클로 수행을 연기한다.
본 발명의 하나의 특징에 따른 VoP 시스템의 스케줄링 방법은 채널의 알고리즘 모듈 중 고정된 수행 시간을 가지는 알고리즘 모듈을 처리하는 제1 단계; 상기 제1 단계에서 처리된 결과를 이용하여 상기 채널들이 처리되어야 할 데드 라인을 계산하는 제2 단계; 상기 데드 라인에 가까운 순서대로, 상기 채널들의 알고리즘 모듈 중 가변된 수행 시간을 가지는 알고리즘 모듈을 처리하는 제3 단계; 및 상기 사이클 시간에 여분이 존재하는 경우 다른 채널의 알고리즘 모듈을 처리하는 제4 단계를 포함한다.
본 발명의 하나의 특징에 따른 VoP 시스템의 스케줄링 방법에 있어서, 상기 제1 단계는 상기 채널 각각에 대해 데드라인을 계산하는 단계, 채널별로 데드라인을 정렬하여 현재의 사이클에서 수행할 채널을 결정하는 단계, 및 상기 결정된 채널들의 고정 수행 시간 알고리즘 모듈을 실행시키는 단계를 포함한다.
본 발명의 하나의 특징에 따른 VoP 시스템의 스케줄링 프로그램을 기록한 기록 매체는 상기 채널들의 알고리즘 모듈 중 고정된 수행 시간을 가지는 알고리즘 모듈을 처리하는 기능; 상기 고정된 수행 시간을 가지는 알고리즘 모듈을 처리한 결과를 이용하여 상기 채널들이 처리되어야 할 데드 라인을 계산하는 기능; 상기 데드 라인에 가까운 순서대로, 상기 채널들의 알고리즘 모듈 중 가변된 수행 시간을 가지는 알고리즘 모듈을 처리하는 기능; 및 상기 사이클 시간에 여분이 존재하는 경우 다른 채널의 알고리즘 모듈을 처리하는 기능를 실행시키기 위한 스케줄링 프로그램을 기록한다.
이하, 본 발명의 일실시예를 도면을 참조하여 상세히 설명한다.
1. 본 발명의 일실시예에 따른 다채널 음성 처리 시스템
도 1은 VoP 알고리즘의 DSP 에서의 논리적 처리 구조를 도시한 것이다.
도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 다채널 음성 처리 시스템은 패킷 버퍼(101), 스케줄러(Scheduler, 102), 신호 처리 장치(DSP, 103), TDM 버퍼(104, 106), 및 버퍼 제어기(도시되지 않음)를 포함한다.
패킷 버퍼(101)는 패킷 네트워크로부터 패킷이 전송된 경우 임시 저장하기 위한 것이다. 패킷 버퍼(101)는 실시예에 따라서 패킷 전송 시 발생되는 지터의 영향을 흡수하기 위한 지터 버퍼로 구현될 수 있다.
스케줄러(102)는 스케줄링 리스트를 포함하고, 정해진 매 사이클마다 DSP(103)에서 수행될 채널들을 결정한다.
TDM 버퍼(104)는 DSP(103)에서 처리된 신호를 TDM 네트워크(105)로 전송하기 전에 임시 저장하기 위한 곳이다.
버퍼 제어기는 패킷 버퍼(101) 및 TDM 버퍼(104, 106) 등의 버퍼를 관리하고, 처리되어야 할 채널들을 상기 스케줄링 리스트에 추가함으로써, 해당 채널의 처리를 스케줄러(102)로 요청한다.
이하에서는 본 발명에 따른 다채널 처리 시스템의 스케줄링 방법에 대하여 보다 상세히 설명한다.
2. 본 발명의 일실시예에 따른 스케줄링 리스트의 구성
스케줄링 리스트는 스케줄러(102)의 동작을 위한 기본적인 정보들을 저장한다.
구체적으로는, 스케줄링 리스트에는 각 채널에 포함된 DSP 알고리즘 모듈의 수행 시간, 수행 시간이 일정한지 여부, 최대 및 최소 수행 시간 등의 정보가 사전에 측정되어 기록된다.
또한, 어떤 알고리즘 모듈이 먼저 수행되어야 하고 다른 알고리즘 모듈이 그 수행 결과를 가지고 수행되어야 하는지 등의 각 알고리즘 모듈의 연관 관계가 기록된다.
3. 본 발명의 일실시예에 따른 버퍼 제어기의 동작
본 발명의 일실시예에 따른 버퍼 제어기는 패킷 네트워크로부터 데이터가 전 송되는 경우 해당 채널에 대한 처리를 스케줄러(102)에 요청한다.
도 5는 본 발명의 일실시예에 따른 버퍼 제어기의 동작을 도시한 순서도이다.
도 5에 도시된 바와 같이, 버퍼 제어기는 패킷 네트워크로부터 패킷이 도착하면(501), 출력 TDM 버퍼(104)와 패킷 버퍼(101)의 상태를 관찰한다(502).
출력 TDM 버퍼(104)가 비어 있는 경우, 버퍼 제어기는 이미 계산된 패킷 버퍼링 기준만큼 더미 데이터를 출력 TDM 버퍼(104)에 넣어둔다(504). 즉, 연결이 새로이 설정된 경우, 혹은 연결이 설정된 후 패킷이 심하게 지연된 경우 TDM 버퍼(104)가 비어 있는 경우가 발생될 수 있으므로, 이 경우에 더미 데이터를 출력 TDM 버퍼(104)에 넣어두고, 이후 스케줄링 리스트에 해당 채널을 등록함으로써(506), 채널에 대한 서비스를 요청한다.
출력 TDM 버퍼(104)가 비어 있지 않은 경우, HOL(Head Of Line)이면 스케줄링 리스트에 등록하여 채널에 대한 서비스를 요청한다(505). HOL이 아닌 경우에는 패킷 버퍼(101)에 저장한다. 패킷 버퍼(101)에 저장된 패킷은 이후 현재 스케줄링 리스트에 등록된 HOL 패킷이 스케줄러(102)에 의하여 스케줄링되어 수행된 후 스케줄링 리스트에 등록된다.
4. 데드라인의 계산
스케줄러(102)는 각 채널의 품질 요구 사항을 만족시킬 수 있도록 각 채널의 처리에 대한 수행 순서를 결정한다.
패킷 네트워크에서 TDM 네트워크(105)로 전송하는 경우, TDM 버퍼(104)가 비 어 있는 순간이 없도록 해야 음성 등의 데이터를 끊기는 현상 없이 전달할 수 있다.
반면, TDM 네트워크(105)에서 패킷 네트워크로 전달하는 경우에는, 가능한 빠른 시간 내에 처리하는 것이 바람직하다. 그러나, 서비스가 요구하는 최대 지연 시간 보다 작은 시간 내에 처리하면 품질 요구 사항을 만족할 수 있다.
이에 따라 패킷 네트워크로부터 TDM 네트워크로(105)의 처리를 위한 여유시간은 (TDM 버퍼 소모 시간 - 수행 시간)으로 계산될 수 있고, TDM 네트워크(105)로부터 패킷 네트워크로의 처리를 위한 여유시간은 (지연 요구 시간 - TDM 버퍼 대기 시간 - 수행 시간)으로 계산될 수 있다. 즉, 여유 시간 이내에 처리를 시작한다면 요구되는 데드라인에 맞춰 처리를 완료할 수 있다.
본 발명의 일실시예에 따른 스케줄링을 위해서는 세 번의 데드라인 계산이 요구된다. 매 사이클마다 각 채널에 대하여 해당 사이클에 수행될 필요가 있는 채널들을 선별하기 위하여 데드라인을 계산한다.
패킷 네트워크로부터 TDM 네트워크(105)로의 처리 여유시간: TDM 버퍼 소모 시간 - 수행 시간
TDM 네트워크(105)로부터 패킷 네트워크로의 처리 여유시간: 최대 지연 요구 시간 - TDM 버퍼 대기 시간 - 수행 시간
이때 여유 시간이 사이클의 길이 보다 작은 채널들은 해당 사이클에 수행되어야 함을 의미한다. 또한 여유시간이 사이클의 길이보다 큰 채널들은 다음 사이클로 그 수행이 미루어 질 수 있음을 의미한다.
이렇게 선택된 해당 사이클에 수행될 채널들에 대해 고정된 수행 시간을 가지는 가변 수행 시간을 예측할 수 있는 모듈을 우선적으로 수행한다. 따라서, 사이클의 길이 Tc, 채널 i에 대한 고정 처리 시간 모듈의 수행 시간 Tipp에 대하여 Tc < Sum(Tipp)의 관계가 성립하면 이러한 채널들은 해당 사이클에 모두 수행될 수 있다.
이러한 고정 수행 시간을 가지는 모듈의 수행의 결과 수행되지 않은 모듈들의 수행 시간이 예측되면 다시 채널들의 데드라인을 소팅하여 가변 처리 시간 모듈을 처리한다. 선택된 채널 i에 대한 가변 처리 시간 모듈의 수행 시간을 Tipv라 할 때, 선택된 채널들의 가변 수행 시간의 합이 Sum(Tipv) < Tc - Sum(Tipp) 라면 선택된 채널은 모두 주어진 사이클에 처리될 수 있다.
이러한 관계가 성립하지 않는다면 선택된 채널의 가변 처리 시간 모듈은 주어진 사이클 이내에 처리될 수 없다. 이러한 경우, 연산의 간략화 혹은 처리 생략의 방법이 사용될 수 있다. 반면 Sum(Tipv) < Tc - Sum(Tipp)라면 Tc - Sum(T ipp) - Sum(Tipv)의 시간이 남게 되므로 추가로 첫번째 채널 선택에서 선택되지 않은 가장 작은 데드라인을 가진 채널을 선택하여 수행하게 된다.
5. 스케줄러(102)의 동작
스케줄러(102)는 스케줄링 리스트를 기반으로 동작하며, 적절한 시점에 각 채널이 프로세싱 자원을 사용할 수 있도록 하는 역할을 담당한다. 정해진 매 사이 클마다 스케줄러(102)는 수행될 채널을 결정한다.
사이클의 주기는 처리 알고리즘의 블록 사이즈에 따라 결정될 수 있다. 예를 들어 10ms 블록 크기와 30ms의 블록 크기를 가지는 알고리즘이 동시에 수행되어야 한다면 작은 블록 크기를 하나의 주기로 선택할 수 있다.
스케줄링 리스트는 "채널 번호", "방향", "수행 시간"의 정보를 포함할 수 있다. 또한, "수행 시간"은 고정 수행 시간과 가변 수행 시간으로 나뉠 수 있다.
스케줄러(102)는 일단 고정 수행시간을 가지는 블록을 우선적으로 수행한다. 고정 수행시간을 가지는 블록은 "VAD(Voice Activity Detection)"와 같이 이후의 알고리즘 수행의 복잡도를 판단할 수 있는 블록을 의미한다. 이러한 알고리즘의 수행의 결과로 입력된 데이터의 특성을 파악함으로써 이후 작업에 필요한 처리 시간을 예측한다. 이렇게 예측된 처리 시간을 기반으로 각 채널에 대한 처리가 완료되어야 하는 데드라인을 계산한다. 계산된 데드라인을 정렬하여 가장 임박한 데드라인을 가지는 채널을 우선적으로 수행되어야 할 채널로 결정한다.
도 6은 본 발명의 일실시예에 따른 스케줄러(102)의 동작을 도시한 순서도이다.
도 6에 도시된 바와 같이, 스케줄러(102)는 사이클의 길이 Tc마다 주기적인 인터럽트를 발생시키고(601), 사이클의 시작 시점에 각 채널마다의 데드라인을 계산한다(602).
그 후, 채널별 데드라인을 소팅하고(603), 데드라인이 사이클 타임보다 작은 채널들의 리스트를 작성한다(604).
리스트가 작성되면, 리스트에 포함된 채널들에 대하여 고정 수행 시간 처리부를 우선적으로 수행하고(605), 가변 수행 시간을 계산하여 스케줄링 리스트를 갱신한다(606).
이 후, 채널별 데드라인을 재 소팅하고(607), 가변 수행 시간의 합이 남아 있는 사이클 시간보다 작은지 여부를 판단한다(608). 가변 수행 시간의 합이 남아 있는 사이클 시간보다 작은 경우에는, 작은 데드라인을 가지는 채널의 순으로 가변 수행 시간 처리부를 수행한다(610). 가변 수행 시간의 합이 남아 있는 사이클 시간보다 큰 경우에는, 생략 채널을 선택하고(609), 작은 데드라인을 가지는 순으로 가변 수행 시간 처리부를 수행한다(610). 그리고, 스케줄러는 추가 채널을 선택하고 수행한다(611).
이러한 방법으로 스케줄링을 할 경우, 동일한 채널이 지속적으로 생략되는 채널로 선택되는 경우가 발생할 수 있으므로 이에 대한 대비로 생략되는 채널 선택에 있어 부가의 방법을 사용할 수 있다.
6. 종래의 스케줄링 방법과 본 발명의 일실시예에 따른 스케줄링 방법의 비교
본 발명의 일실시예에 따른 스케줄링 방법은, 네트워크로부터 전송된 패킷을 패킷 버퍼(101)에 버퍼링한 후 일정한 시점에 처리 알고리즘을 수행하는 기존의 방식과 달리, 계산량을 예측하고, 필수 처리를 수행하기 위한 전처리 과정과 가변적이거나 선택적으로 수행되는 후처리 과정으로 분리하여 수행한다. 또한, 본 발명에 따른 스케줄링 방법은 목표 지연에 따른 수행될 채널의 우선 순위를 조정하고, TDM 버퍼(104)에 쌓여 있는 데이터의 양과 목표 최대 지연 시간기준으로 수행 순서를 결정하며, 스케줄러(102)에 의해 예정된 채널을 모두 수행하고도 프로세싱 자원에 여유가 있는 경우 추가적으로 잉여 채널을 선정하여 수행한다.
도 7은 종래의 스케줄링 방법과 본 발명의 일실시예에 따른 스케줄링 방법을 비교하여 도시한 것이다. 도 7에서 상부 도면이 종래의 방법을 도시한 것이고, 하부 도면이 본 발명의 일실시예에 따른 스케줄링 방법을 도시한 것이다.
이하, 종래의 스케줄링 방법과 본 발명의 일실시예에 따른 스케줄링 방법을 비교하여 설명한다.
도 7에 도시된 바와 같이, 종래의 스케줄링 방법은 하나의 채널을 처리하기 위한 모듈을 한번에 수행한다. 따라서, 채널들의 평균 복잡도를 기준으로 스케줄링하게 되면, 낮은 복잡도를 요구하는 채널들이 하나의 사이클에 모인 경우에 처리 시간이 주어진 사이클의 시간보다 작게 된다(702). 반대로, 높은 복잡도를 요구하는 채널들이 하나의 사이클에 모인 경우에는, 처리 시간이 주어진 사이클의 시간을 초과하게 되어(703), 초과하는 시간에 해당하는 부분이 생략되거나 간략화되어 수행(706)되어야 하는 문제가 발생한다.
반면, 본 발명의 일실시예에 따른 스케줄링 방법은 각 채널을 처리하기 위한 모듈들을 선처리 모듈과 후처리 모듈로 나누어 처리한다. 구체적으로는, 스케줄링 시 각 채널들에 대한 선처리 모듈을 먼저 수행하여(704) 후처리 모듈의 수행에 필요한 프로세싱 시간을 정확하게 계산한다. 이로써, 각 채널들에 대한 후처리 모듈을 일괄적으로 수행할 수 있게 된다(705). 이러한 처리 방식으로 인하여 전체 모듈을 수행하지 않은 상태에서 정확하게 처리 시간을 알 수 있게 되고 이에 기반하여 스케줄링을 하게 되므로 프로세싱 자원의 효율이 증가하게 된다.
또한, 종래에는 일단 도착한 패킷을 지터 버퍼에 쌓아 두고 일정한 시점마다 처리 시점이 되었는지 확인한 후 처리하였다. 따라서 정해진 시점이 되기까지는 사이클에 여유가 있더라도 채널에 대한 처리가 시작되지 않는다(708).
이에 비해 본 발명의 일실시예에서는 도착한 패킷을 프로세싱에 필요한 자원이 허용하는 한 빠른 시점에 처리하여 그 결과를 TDM 버퍼(104)로 쌓아두는 정책을 사용한다. 이로 인하여 채널들을 처리한 후 사이클의 시간이 남는 경우 추가로 채널의 수행이 가능하다(707).
나아가, 종래에는 TDM 버퍼(104)로 전송된 데이터에 대하여 일정한 시간 간격으로 처리하였으나, 본 발명의 일실시예에서는 목표 지연 시간을 만족할 수 있는 한 처리 시점을 미룰 수 있도록 한다. 이로 인하여 평균 계산량을 기준으로 채널을 수용할 경우 발생할 수 있는 처리에 필요한 프로세싱 시간의 합이 순간적으로 처리가 이루어 져야 할 사이클의 길이보다 긴 경우에 대처할 수 있는 여유 시간을 확보할 수 있다. 따라서, 종래에는 생략 혹은 간략화되어 처리되어야 할 채널(706)을 추가로 수행할 수 있게 되므로 음질의 저하를 막을 수 있게 된다.
또한, 처리 시점의 결정이 패킷에 기록된 절대적인 타임 스탬프를 기준으로 이루어지지 않고 버퍼에 저장된 데이터를 기준으로 이루어지기 때문에 구현이 용이해 진다.
본 발명에 따르면, 각 채널을 처리하기 위한 모듈 중 고정된 수행 시간을 가 지는 알고리즘 모듈을 DSP가 실행되도록 한 후, 가변된 수행 시간을 가지는 알고리즘 모듈의 수행에 필요한 프로세싱 시간을 정확하게 계산함으로써, 각 채널들에 대한 가변된 수행 시간을 가지는 알고리즘 모듈을 일괄적으로 수행할 수 있게 된다. 이러한 처리 방식으로 인하여 전체 모듈을 수행하지 않은 상태에서 정확하게 처리 시간을 알 수 있게 되고 이에 기반하여 스케줄링을 하게 되므로 프로세싱 자원의 효율이 증가하게 된다.
또한, 도착한 패킷을 프로세싱에 필요한 자원이 허용하는 한 빠른 시점에 처리하여 그 결과를 TDM 버퍼로 쌓아둠으로써, 채널들을 처리한 후 사이클의 시간이 남는 경우 추가로 채널의 수행이 가능하게 된다.
나아가, 목표 지연 시간을 만족할 수 있는 한 모듈들의 처리 시점을 미룰 수 있도록 함으로써, 평균 계산량을 기준으로 채널을 수용할 경우 발생할 수 있는 처리에 필요한 프로세싱 시간의 합이 순간적으로 처리가 이루어 져야 할 사이클의 길이보다 긴 경우에 대처할 수 있는 여유시간을 확보할 수 있게 되어, 음질의 저하를 막을 수 있게 된다.
더 나아가, 처리 시점의 결정이 패킷에 기록된 절대적인 타임 스탬프를 기준으로 이루어지지 않고 버퍼에 저장된 데이터를 기준으로 이루어지기 때문에 구현이 용이해 진다.

Claims (13)

  1. 패킷 네트워크 및 TDM 네트워크와 연결되는 VoP 시스템에 있어서,
    상기 패킷 네트워크의 2 이상의 채널로부터 전송되는 패킷을 임시 저장하는 패킷 버퍼;
    신호 처리를 수행하는 DSP(Digital Signal Processor);
    상기 패킷 버퍼에 저장된 각 채널의 패킷에 대해 상기 DSP가 고정 수행 시간을 가지는 알고리즘 모듈을 수행하게 하여 예측되는 가변 수행 시간을 가지는 알고리즘 모듈의 예측 수행 시간에 따라 상기 패킷 네트워크의 2 이상의 채널 중 상기 DSP에서 수행될 채널을 결정하는 스케줄러;
    상기 DSP로부터의 신호 처리 결과가 상기 TDM 네트워크로 전송되기 이전에 임시 저장되는 TDM 버퍼를 포함하는 VoP 시스템.
  2. 제1항에 있어서,
    상기 스케줄러는 상기 TDM 버퍼의 소모 시간 및 상기 예측 수행 시간에 따라 데드라인을 계산하여 상기 데드라인에 근접한 순서에 따라 상기 채널을 상기 DSP에 할당하는 VoP 시스템.
  3. 제1항에 있어서,
    상기 스케줄러는 상기 DSP의 처리 능력에 여분이 존재하는 경우 신호 처리 시점이 도달하지 않은 채널을 상기 DSP에 할당하는 VoP 시스템.
  4. 제1항에 있어서,
    상기 스케줄러는 상기 DSP에서 처리되는 채널의 리스트를 포함하는 스케줄링 리스트를 포함하는 VoP 시스템.
  5. 제4항에 있어서,
    상기 스케줄링 리스트는 상기 DSP에서 처리되는 채널의 채널 번호, 방향, 채널 처리를 위한 알고리즘 모듈의 구성과 이들 상호 간의 연관 관계 및 수행 시간을 더 포함하는 VoP 시스템.
  6. 제1항에 있어서,
    상기 패킷 네트워크 또는 상기 TDM 네트워크로 데이터가 전송되는 경우 해당 채널에 대한 처리를 상기 스케줄러로 요청하는 버퍼 제어기를 더 포함하는 VoP 시스템.
  7. 제6항에 있어서,
    상기 버퍼 제어기는
    상기 패킷 네트워크로부터 패킷이 도착하는 경우, 상기 TDM 버퍼가 비어 있는 지를 확인하고,
    상기 TDM 버퍼가 비어있는 경우에 상기 패킷 버퍼의 버퍼링 시간만큼 더미 데이터를 상기 TDM 버퍼에 삽입하고,
    상기 TDM 버퍼가 비어있지 않은 경우에는 도착한 상기 패킷을 상기 패킷 버퍼에 삽입하는 VoP 시스템.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 2 이상의 채널을 처리하는 VoP 시스템의 스케줄링 방법에 있어서,
    a) 상기 채널들의 알고리즘 모듈 중 고정 수행 시간을 가지는 알고리즘 모듈을 처리하는 단계;
    b) 상기 a) 단계에서 처리된 결과를 바탕으로 상기 채널들이 처리되어야 하는 데드 라인을 계산하는 단계;
    c) 상기 데드 라인에 가까운 순서대로 상기 채널들의 알고리즘 모듈 중 가변 수행 시간을 가지는 알고리즘 모듈을 처리하는 단계;
    d) 신호 처리 능력에 여분이 존재하는 경우 신호 처리 시점이 도달하지 않은 채널을 추가로 처리하는 단계를 포함하는 스케줄링 방법.
  12. 제11항에 있어서,
    상기 a) 단계는 가변 수행 시간을 가지는 알고리즘 모듈의 예측 수행 시간을 계산하는 단계를 더 포함하고,
    상기 b) 단계는 상기 예측 수행 시간을 바탕으로 상기 데드 라인을 계산하는 스케줄링 방법.
  13. 2 이상의 채널을 처리하기 위한 VoP 시스템의 스케줄링 프로그램을 기록한 기록 매체에 있어서,
    상기 스케줄링 프로그램은,
    상기 채널들의 알고리즘 모듈 중 고정된 수행 시간을 가지는 알고리즘 모듈을 처리하는 기능;
    상기 고정된 수행 시간을 가지는 알고리즘 모듈을 처리한 결과를 이용하여 상기 채널들이 처리되어야 할 데드 라인을 계산하는 기능;
    상기 데드 라인에 가까운 순서대로, 상기 채널들의 알고리즘 모듈 중 가변된 수행 시간을 가지는 알고리즘 모듈을 처리하는 기능; 및
    상기 사이클 시간에 여분이 존재하는 경우 다른 채널의 알고리즘 모듈을 처리하는 기능;
    를 실행시키기 위한 스케줄링 프로그램을 기록한 기록 매체.
KR1020030061084A 2003-09-02 2003-09-02 2 이상의 채널을 처리하기 위한 스케줄링 방법, 보이스오버 패킷 시스템, 및 기록 매체 KR100542441B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030061084A KR100542441B1 (ko) 2003-09-02 2003-09-02 2 이상의 채널을 처리하기 위한 스케줄링 방법, 보이스오버 패킷 시스템, 및 기록 매체
US10/834,964 US7529228B2 (en) 2003-09-02 2004-04-28 Scheduling method for multi-channel DSP (Digital signal Processor) algorithm, VoP (Voice over Packet) system, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030061084A KR100542441B1 (ko) 2003-09-02 2003-09-02 2 이상의 채널을 처리하기 위한 스케줄링 방법, 보이스오버 패킷 시스템, 및 기록 매체

Publications (2)

Publication Number Publication Date
KR20050023700A KR20050023700A (ko) 2005-03-10
KR100542441B1 true KR100542441B1 (ko) 2006-01-11

Family

ID=34214788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030061084A KR100542441B1 (ko) 2003-09-02 2003-09-02 2 이상의 채널을 처리하기 위한 스케줄링 방법, 보이스오버 패킷 시스템, 및 기록 매체

Country Status (2)

Country Link
US (1) US7529228B2 (ko)
KR (1) KR100542441B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2082506B1 (en) 2006-11-01 2016-10-19 Telefonaktiebolaget LM Ericsson (publ) Method for content synchronization when broadcasting data in a wireless network
US8068429B2 (en) * 2007-05-31 2011-11-29 Ixia Transmit scheduling
CN101505503A (zh) * 2008-02-05 2009-08-12 华为技术有限公司 一种处理高速数据传输的方法、装置及系统
CN101610249A (zh) * 2008-06-18 2009-12-23 鸿富锦精密工业(深圳)有限公司 抖动缓冲器及抖动缓冲方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553056A (en) * 1992-04-02 1996-09-03 Applied Digital Access, Inc. Packetized remote test system for a telephone network
JP3197766B2 (ja) 1994-02-17 2001-08-13 三洋電機株式会社 Mpegオーディオデコーダ、mpegビデオデコーダおよびmpegシステムデコーダ
US5995540A (en) * 1997-01-08 1999-11-30 Altocom, Inc. System and method for reducing processing requirements of modem during idle receive time
WO2001035228A2 (en) 1997-11-13 2001-05-17 Surf Communication Solutions, Ltd. Stable operation of media gateway
US6292835B1 (en) * 1997-11-26 2001-09-18 International Business Machines Corporation Network bandwidth and object obsolescence sensitive scheduling method and apparatus for objects distributed broadcasting
US6269095B1 (en) * 1998-02-04 2001-07-31 Siemens Information And Communication Networks, Inc. B-channel synchronization for G 723 1 vocoding
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
US7140016B2 (en) * 2000-11-29 2006-11-21 Texas Instruments Incorporated Media accelerator quality of service
KR100438713B1 (ko) 2002-01-29 2004-07-05 삼성전자주식회사 외부 링크의 대역폭이 동적인 네트워크에서의 패킷 전송방법 및 장치

Also Published As

Publication number Publication date
KR20050023700A (ko) 2005-03-10
US20050047397A1 (en) 2005-03-03
US7529228B2 (en) 2009-05-05

Similar Documents

Publication Publication Date Title
US10397621B2 (en) Method for high performance on-demand video transcoding
Strosnider et al. The deferrable server algorithm for enhanced aperiodic responsiveness in hard real-time environments
US8499303B2 (en) Dynamic techniques for optimizing soft real-time task performance in virtual machine
US8000247B2 (en) Bandwidth management apparatus
CN104205770B (zh) 具有请求取消能力的改善的dash客户端和接收机
US20090316580A1 (en) Methods and Systems for Managing Variable Delays in Packet Transmission
WO2016115000A1 (en) Hybrid scheduler and power manager
US20080063004A1 (en) Buffer allocation method for multi-class traffic with dynamic spare buffering
JP4447521B2 (ja) パケットスケジューラおよびパケットスケジューリング方法
US20110246596A1 (en) Load-aware method of optimizing command execution in a cloud environment
US11166057B2 (en) System for high performance on-demand video transcoding
US9672076B2 (en) Scheduling process on a processor or an accelerator on a system driven by battery based on processing efficiency and power consumption
US20130044755A1 (en) Scalable Packet Scheduling Policy for Vast Number of Sessions
EP2957093A1 (en) System and method for compressing data associated with a buffer
KR100542441B1 (ko) 2 이상의 채널을 처리하기 위한 스케줄링 방법, 보이스오버 패킷 시스템, 및 기록 매체
CN110830388A (zh) 一种数据调度方法、装置、网络设备及计算机存储介质
US20130243009A1 (en) Energy-efficient network device with coordinated scheduling and rate control using non-zero base power
JP2013528977A (ja) 通信ネットワークにおいてキューを扱う方法及びシステム、並びに対応するコンピュータプログラム製品
EP2996293B1 (en) A packet scheduling networking device for deadline aware data flows
JPH10240548A (ja) タスクスケジューリング装置及び方法
KR101349603B1 (ko) 실시간 시스템에서 소프트웨어 업데이트 방법 및 이를 위한 장치
KR20120106313A (ko) 우선순위 큐 기반의 긴급 데이터 전달을 위한 라우팅 방법 및 이를 적용한 네트워크 시스템
EP1408636A2 (en) Method for adaptive and predictive playout for packet voice application
Jeong et al. A pre-scheduling mechanism for multimedia presentation synchronization
US7965730B2 (en) Frame transmitting apparatus and method utilizing a round-robin technique

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: 20090102

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee