KR101103687B1 - 적응형 클록 복구 방법 및 장치 - Google Patents

적응형 클록 복구 방법 및 장치 Download PDF

Info

Publication number
KR101103687B1
KR101103687B1 KR1020100070419A KR20100070419A KR101103687B1 KR 101103687 B1 KR101103687 B1 KR 101103687B1 KR 1020100070419 A KR1020100070419 A KR 1020100070419A KR 20100070419 A KR20100070419 A KR 20100070419A KR 101103687 B1 KR101103687 B1 KR 101103687B1
Authority
KR
South Korea
Prior art keywords
clock frequency
buffer
clock
filling level
packet
Prior art date
Application number
KR1020100070419A
Other languages
English (en)
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 KR1020100070419A priority Critical patent/KR101103687B1/ko
Application granted granted Critical
Publication of KR101103687B1 publication Critical patent/KR101103687B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0033Correction by delay
    • H04L7/0037Delay of clock signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/005Correction by an elastic buffer

Landscapes

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

Abstract

본 발명은 패킷 망을 매개로 전송되는 데이터의 클록 주파수를 적응적으로 복구하는 방법을 개시한다. 본 발명의 적응형 클록 복구 방법은 소스 노드에서의 클록 주파수와 목적지 노드에서의 예측된 클록 주파수 간의 차이인 클록 주파수 변량을 예측하는 단계; 목적지 노드로 전달되는 상기 패킷들의 주파수 플럭추에이션을 보정하기 위한 클록 주파수 보정값을 계산하는 단계; 및 상기 클록 주파수 변량과 상기 클록 주파수 보정값을 이용하여 클록 주파수를 복구하는 단계를 포함한다. 본 발명에 따르면, 수신된 패킷으로부터 원래의 데이터 출력을 위한 클록을 빠르고 안정적으로 복구할 수 있고, 작은 버퍼 사이즈로도 패킷 지터 버퍼에서의 언더플로우 및 오버플로우의 가능성을 낮출 수 있다.

Description

적응형 클록 복구 방법 및 장치{Adaptive clock recovery method and apparatus}
본 발명은 적응형(adaptive) 클록 복구 방법 및 장치에 관한 것으로서, 특히 패킷이 네트워크의 채널을 통과할 때 발생하는 패킷의 지연 및 손실을 고려하여 클록 주파수를 적응형으로 복구하는 방법 및 장치에 관한 것이다. 본 발명의 클록 복구 방법은 시분할변조(TDM) 등의 변조 방법에 의하여 변조된 데이터를 패킷으로 변환시키고, 변환된 패킷을 패킷 망을 통해 전송한 후, 전달된 패킷으로부터 클록 주파수를 복구하는 데 사용될 수 있다.
시분할변조(TDM)에 의해 변조된 데이터는 소스 노드 측에서 동기화된 패킷으로 전송되며, 이러한 패킷은 비동기된 패킷망을 통과하면서 패킷의 지연 또는 손실이 발생한다. 이 경우 목적지 노드에서 지연 또는 손실된 패킷으로부터 TDM 데이터 복원하기 위해서는 클록 복구가 필요하다.
일반적으로 TDM 기반의 회선 교환 서비스는 동기화된 데이터 전송에 따른 서비스 품질을 보장해 주지만, TDM 전용 회선망의 설비가 패킷망에 비해 비싸고 망의 확장이 쉽지 않다. TDM 회선은 임의의 클록 주파수에 의해 일정한 비트율을 갖는 데이터를 전송하는 동기화된 회선이지만, TDM 회선과 연결되는 패킷 망은 소스 노드와 목적지 노드 간에 직접적인 링크가 존재하지 않기 때문에 패킷의 클록 주파수가 동기화되어 있지 않다.
여기에서 TDM 회선 에뮬레이션을 제공하기 위해서는 TDM 데이터를 패킷으로 만드는 소스 노드와 수신되는 패킷으로 부터 TDM 데이터를 만들어내는 패킷 망의 에지에 있는 인터페이스 노드들이 서로 동기화되고, 패킷 망과 TDM 간의 링크를 고려하여 클록 주파수를 복구하는 것이 필요하다.
이는 고객 에지(customer edge) 방향으로의 패킷망의 입구 부분에서의 TDM 서비스 주파수 f1가 패킷망의 출구 부분에서 TDM 서비스 주파수 f2로 재생되어야 한다는 것을 의미한다. 또한, 이러한 클록 복구 과정에서 인터페이스 양단의 클록 주파수들의 불일치는 패킷망의 출구 부분에 위치한 큐의 패킷에 언더플로우나 오버플로우를 발생시키는데, 이는 데이터의 손실 및 서비스의 열화의 원인이 된다.
도 1은 이러한 문제점을 해결하기 위한 네트워크 시스템을 나타내는 블록도이다. 도 1에 도시된 네트워크 시스템은 제1 TDM 회로(10), 소스 노드(20), 목적지 노드(30) 및 제2 TDM 회로(40)를 포함한다. 도 1의 네트워크 시스템은 패킷망을 통해 TDM 데이터를 전송한 뒤에, 수신된 패킷으로부터 TDM 데이터를 복원하는 예이다.
제1 TDM 회로는 TDM 변조에 의해 클록 주파수 f1을 갖는 데이터를 소스 노드로 전달한다. 소스 노드(20)는 TDM 입력부, IWF부(interworking function unit) 및 IP(Internet Protocol) 출력단자를 포함하며, 제1 TDM 회로로부터 전달된 데이터를 IP 패킷으로 변형시킨다.
도 1에 도시된 패킷 망에서의 패킷의 지연 및 손실이 없다면, TDM 데이터는 소스 노드에서 일정한 클록 주파수로 IP 패킷으로 변환된 후 패킷 망을 통과하더라도 소스 노드와 목적지 노드 간에 클록 주파수는 서로 동일하게 유지될 수 있다. 이 경우 수신되는 소스 노드의 클록 주파수는 패킷의 버퍼 채워짐 레벨로부터 클록 주파수 정보를 에스티메이션(estimation)함으로써 계산할 수 있다. 이러한 클록 복구 방법이 적응형 클록 복구 방법(adaptive clock recovery)이다.
그러나, 소스 노드(20)로 부터의 패킷이 패킷 망을 통하여 전송될 때, 패킷은 장비의 노화, 패킷망에서의 트래픽에 따른 패킷 지터(jitter)나 지연(delay)을 겪게 된다. 수신측에 전달되는 패킷은 적절한 클록 복구 방법을 통하여 동기화 되지 않을 경우 패킷이 TDM 데이터로 복원될 때 타이밍 문제가 발생할 수 있으며, 패킷 지터 버퍼에서의 언더플로우 및 오버플로우의 문제를 발생시킬 수 있다.
그렇기 때문에, 패킷 망을 통하여 전달된 패킷을 TDM 통신망을 통하여 다시 전달시키고자 할 때, TDM 전달을 위한 패킷의 클록 주파수를 정확하게 복원하는 것은 통신의 품질 측면에서 매우 중요하다.
클록 주파수를 복구하는 종래의 방법으로는, 전송하고자 하는 데이터를 TDM 신호에 실어보내는 프로바이더 에지(privider edge)와 패킷을 수신하고 다시 TDM 신호를 실어 보내는 고객 에지(customer edge)에 공통의 정교한 클록을 주기적으로 공급하여 클록을 복원하는 방법이 있다. 그러나, 이 방법은 그 시스템 비용이 매우 비싼 단점이 있다.
시스템 비용의 측면에서 유리한 방법으로는 프로바이더 에지에서 고객 에지로 타임 스탬프를 이용한 클록 정보를 이용하는 방법이 있다. 그러나, 이 방법은 타임 스탬프를 포함한 패킷이 패킷망에서 손실(loss) 및 지연(delay)이 발생할 경우에는 클록 복구의 정교성이 떨어질 뿐만 아니라, 패킷망이 과부하인 경우에는 패킷 버퍼에서의 언더플로우 및 오버플로우의 가능성이 증가하는 문제가 있다.
실제의 패킷망에서는 패킷 지연 및 손실이 발생하는데, 지연된 패킷은 버스트하게 도착하는 특성이 있다. 이 때문에 기존의 적응형 클록 복구 방법에 의할 경우, 상황에 따라 보다 실시간으로 클록이 빠르게 적용되어야 하는데, 일시적인 지연 특성에 너무 급격한 클록 주파수의 변화는 오히려 다른 문제를 야기 시킬 수 있다.
한편, 빠른 클록 적용을 위해서 에스티메이션을 위한 샘플링 시간을 줄이면 급격한 클록 주파수 변화가 발생하게 되고, 긴 샘플링 시간을 적용하면 실시간으로 빠르게 클록이 적용되지 않게 된다. 또한, 패킷 손실의 발생시 잘못된 클록 주파수로 TDM 데이터가 출력되므로, 큰 버퍼 사이즈가 필요하게 된다.
기존의 적응형 클록 복구 방법의 경우, 작은 클록 드리프트(drift)로 안정적인 클록 복구에 중점을 두게 되면 큰 사이즈의 패킷 지터 버퍼가 필요하다. 이는 시스템 제작의 비용과 큐 대기 시간에 의한 서비스 품질에서 좋지 못하다. 이를 향상시키기 위해 큰 클록 드리프트로 빠른 클록 복구에 중점을 두게 되면, 보다 작은 사이즈의 패킷 지터 버퍼가 요구되어 진다. 그러나, 큰 클록 드리프트의 분산 크기 이상의 버퍼 사이즈가 요구될 뿐 만 아니라, 급격한 드리프트 변화에 의한 언더플로우 및 오버플로우의 가능성이 증가하며, 큰 클록 드리프트가 빈번하게 발생하여 클록의 안정화에 좋지 않다는 단점이 있다.
도 2a와 2b는 종래의 클록 복구 방법에 의할 경우 클록 주파수의 변화 및 버퍼 채워짐 레벨의 변화를 나타낸다.
도 2a는 패킷망에서의 패킷 전달시 지연이 없다고 가정할 경우, 소스 노드에서의 클록을 1500packet/sec라 하고 목적지 노드에서의 초기 클록을 1400packet/sec라고 했을 때, 에스티메이션된 클록 주파수의 차에 어느 정도의 비중으로 적용하는가에 따라 복구되어가는 클록 주파수와 버퍼 채워짐 레벨의 변화를 나타낸 것이다.
도 2a에서 보는 바와 같이 빠르고 안정적인 클록 드리프트와 비용 및 서비스 품질을 위한 버퍼 사이즈에는 상호 타협이 필요하다. 뿐만 아니라, 기존의 적응형 클록 복구 방법에서는 두 클록 사이의 차가 클 경우 보다 더 큰 사이즈의 패킷 지터 버퍼가 필요하거나 클록이 복구되어 안정화되기까지 더 많은 시간이 필요하다.
도 2b에서는 소스 노드에서의 클록을 1500packet/sec라 하고 목적지 노드에서의 초기 클록을 1300packet/sec라고 하였을 때, 클록 주파수의 차가 적용되어지는 비중에 따라 복구되어지는 클록 주파수와 버퍼 채워짐 레벨의 변화를 나타낸 것이다.
본 발명은 상술한 종래 기술의 한계를 고려하여 안출된 것으로서, 패킷으로 변환된 데이터가 패킷 망을 통과하면서 지연 및 손실이 발생할 경우, 버퍼에 수신되는 패킷의 확률 분포를 고려하여 클록 주파수 복원하고, 클록 드리프트를 최소화하며, 작은 사이즈의 패킷 지터 버퍼의 언더플로우(underflow) 및 오버플로우(overflow)를 방지할 수 있는 적응형 클록 복구 방법 및 장치를 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위한 본 발명의 적응형 클록 복구 방법은 소스 노드에서의 클록 주파수와 목적지 노드에서의 예측된 클록 주파수 간의 차이인 클록 주파수 변량을 예측하는 단계; 상기 목적지 노드로 전달되는 상기 패킷들의 플럭추에이션(fluctuation)을 보정하기 위한 클록 주파수 보정값을 계산하는 단계; 및 상기 클록 주파수 변량과 상기 클록 주파수 보정값을 이용하여 클록 주파수를 복구하는 단계를 포함한다. 여기에서 주파수 플럭추에이션은 상기 패킷들이 패킷 망을 통과할 때 발생하는 랜덤 지터에 의하여 발생하는 것이고, 클록 주파수 보정값을 계산하는 것은 미리 결정된 확률 분포 모델을 이용하여 계산할 수 있다.
본 발명에서 상기 클록 주파수 보정값 계산은 미리 결정된 버퍼 채워짐 레벨의 기준값과 버퍼 채워짐 레벨의 차이값을 계산하는 단계; 상기 미리 결정된 확률 분포 모델을 기반으로 상기 차이값에 대한 발생 확률을 결정하는 단계; 및 상기 버퍼 채워짐 레벨의 차이값과 상기 발생 확률을 이용하여 클록 주파수 보정값을 계산하는 단계를 포함한다.
본 발명에서 클록 주파수 변량 예측은 클록 주파수를 복구하고자 하는 제1 시점에서의 버퍼 채워짐 레벨과 상기 제1 시점에 선행하는 제2 시점에서의 버퍼 채워짐 레벨의 차이를 계산하는 단계; 상기 버퍼 채워짐 레벨의 차이를 이용하여 상기 제2 시점에서 상기 소스 노드에서의 송신측 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 클록 주파수 변량을 예측하는 단계를 포함한다.
상기 본 발명의 또 다른 과제를 해결하기 위하여, 본 발명의 적응형 클록 복구 장치는 상기 소스 노드에서의 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 차이인 클록 주파수 변량을 예측하는 클록 주파수 변량 예측부; 상기 목적지 노드로 전달되는 상기 패킷들의 플럭추에이션(fluctuation)을 보정하기 위한 클록 주파수 보정값을 계산하는 보정부; 및 상기 클록 주파수 변량과 상기 클록 주파수 보정값을 이용하여 클록 주파수를 복구하는 복원부를 포함한다.
본 발명에서 클록 주파수 변량 예측부는 상기 패킷을 저장하는 버퍼의 버퍼 채워짐 레벨을 이용하여 예측하는 것이고, 상기 보정부는 미리 결정된 버퍼 채워짐 레벨의 기준값과 버퍼 채워짐 레벨의 차이값을 계산하는 채워짐 레벨 차이값 계산부; 상기 미리 결정된 확률 분포 모델을 기반으로 상기 차이값에 대한 발생 확률을 결정하는 확률 계산부; 및 상기 버퍼 채워짐 레벨의 차이값과 상기 발생 확률을 이용하여 클록 주파수 보정값을 계산하는 보정값 계산부를 포함한다.
본 발명에서 클록 주파수 변량 예측부는 클록 주파수를 복구하고자 하는 제1 시점에서의 버퍼 채워짐 레벨과 상기 제1 시점에 선행하는 제2 시점에서의 버퍼 채워짐 레벨의 차이를 계산하는 차감부; 상기 버퍼 채워짐 레벨의 차이를 이용하여 상기 제2 시점에서 상기 소스 노드에서의 송신측 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 클록 주파수 변량을 예측하는 예측부를 포함한다.
또한, 본 발명은 상술한 적응형 클록 복구 방법을 컴퓨터상에서 수행하기 위한 프로그램이 기록된 컴퓨터에서 판독가능한 기록 매체를 개시한다.
본 발명에 따르면, 버퍼에 수신되는 패킷의 확률 분포를 고려하여 클록 주파수 복원함으로써 클록 드리프트를 최소화할 수 있고, 패킷 지터 버퍼의 언더플로우(underflow) 및 오버플로우(overflow)를 방지할 수 있다. 또한, 본 발명에 따르면 동기화된 TDM 데이터로부터 변환된 패킷이 비동기의 패킷망을 통해 전달되면서 지연 및 손실을 겪은 경우, 수신된 패킷으로부터 TDM 데이터 출력을 위한 클록을 빠르고 안정적으로 복구할 수 있고, 작은 버퍼 사이즈로도 패킷 지터 버퍼에서의 언더플로우 및 오버플로우의 가능성을 최소화할 수 있으며, 시스템 유지 비용을 줄 일 수 있다.
도 1 은 적응형 클록 복구 시스템의 일반적인 예를 나타낸 블록도이다.
도 2a와 2b는 종래의 클록 복구 방법에 의할 경우 클록 주파수의 변화 및 버퍼 채워짐 레벨의 변화를 나타낸다.
도 3은 본 발명의 적응형 클록 복구 장치를 포함하는 목적지 노드에 대한 상세도이다.
도 4는 도 3에서 적응형 클록 복구 장치(36)를 나타내는 상세도이다.
도 5는 목적지 노드에서 클록 주파수 변량을 예측하기 위한 모델을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 클록 주파수 복구 방법을 나타내는 흐름도이다.
도 7은 지터 노이즈에 대한 확률 함수를 적용하는 개념을 나타내는 참고도이다.
도 8a, 8b는 종래 기술과 본 발명에서의 클록 컨트롤 방법의 차이점을 설명하기 위한 참고도이다.
도 9a 내지 9i는 기존의 클록 주파수 복구 방법과 본 발명의 클록 주파수 복구 방법을 적용할 경우 채워짐 레벨의 변화를 비교한 참고도이다.
이하에서는 첨부된 도면과 실시예를 참고하여 본 발명의 적응형 클록 복구 방법 및 장치에 대하여 상세히 설명한다. 도면 부호를 병기하여 각 도면의 구성 요소들을 설명함에 있어서, 동일한 구성 요소들은 비록 다른 도면상에 표시되더라도 가능한 한 동일한 도면 번호를 참조하여 설명되고 있음에 유의해야한다. 이때 도면에 도시되고 또 이것에 의하여 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의하여 본 발명의 기술적 사상과 핵심 구성 및 작용이 제한되는 것은 아니다.
도 3은 도 1에서 본 발명의 적응형 클록 복구 장치를 포함하는 목적지 노드에 대한 상세도이다. 도 3에 도시된 목적지 노드는 IP 패킷 입력 포트(32), 패킷 지터 버퍼(34), 적응형 클록 복구 장치(36) 및 TDM 처리 장치(38)을 포함한다.
IP 패킷 입력 포트(32)는 IP 패킷 네트워크를 통해 전달되는 패킷을 수신하고, 수신된 패킷을 패킷 지터 버퍼에 전달한다. 소스 노드로 부터 생성된 패킷은 패킷 네트워크로 전달되지만, 비동기 패킷 네트워크를 지나면서 라우팅과 네트워크 트래픽 양에 의해 지연 또는 손실된 상태로 목적지 노드(destination node)에 도달한다.
패킷 지터 버퍼(packet jitter buffer, 34)는 수신된 패킷을 큐 형태로 저장하고, 먼저 저장된 순서대로 저장된 패킷을 TDM 처리 장치(38)에 전달한다.
적응형 클록 복구 장치(36)는 클록 주파수 변량과 클록 주파수 보정값을 이용하여 클록 주파수 f2 를 복원하고, 복원된 클록 주파수 정보를 TDM 처리 장치에 전달한다. 또한, 적응형 클록 복구 장치(36)는 복원된 클록 주파수 정보를 이용하여 패킷 지터 버퍼의 채워짐 레벨을 제어하기 위한 제어 신호를 생성하고, 이 제어 신호를 이용하여 패킷 지터 버퍼의 채워짐 레벨 제어를 수행할 수 있다.
TDM 처리 장치(38)는 적응형 클록 복구 장치(36)로 부터 복원된 클록 주파수값을 전달 받고, 복원된 클록 주파수에 따른 TDM 데이터를 생성한다.
도 4는 도 3에서 적응형 클록 복구 장치(36)를 나타내는 상세도이다. 본 실시예에서 적응형 클록 복구 장치(36)는 채워짐 레벨 판독부(110), 클록 주파수 변량 예측부(120), 보정부(130), 클록 주파수 복원부(140), 채워짐 레벨 제어부(150)를 포함할 수 있다.
채워짐 레벨 판독부(110)는 패킷 지터 버퍼의 채워짐 레벨값을 판독하고, 채워짐 레벨값을 클록 주파수 변량 예측부(120)에 전달한다. 클록 주파수 변량 예측부(120)는 소스 노드에서의 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 차이인 클록 주파수 변량을 예측한다.
클록 주파수 변량 예측부(120)는 차감부(122)와 예측부(124)를 포함할 수 있다. 차감부(122)는 클록 주파수를 복구하고자 하는 제1 시점에서의 버퍼 채워짐 레벨과 상기 제1 시점에 선행하는 제2 시점에서의 버퍼 채워짐 레벨의 차이를 계산한다. 예측부(124)는 버퍼 채워짐 레벨의 차이를 이용하여 상기 제2 시점에서 상기 소스 노드에서의 송신측 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 클록 주파수 변량을 예측한다. 클록 주파수 변량을 예측하는 상세한 방법은 후술한다.
보정부(130)는 목적지 노드로 전달되는 상기 패킷들의 주파수 플럭추에이션(fluctuation)을 보정하기 위한 클록 주파수 보정값을 계산한다. 보정부(130)는 채워짐 레벨 차이값 계산부(132), 확률 계산부(134), 보정값 계산부(136)을 포함할 수 있다.
채워짐 레벨 차이값 계산부(132)는 미리 결정된 버퍼 채워짐 레벨의 기준값과 버퍼 채워짐 레벨의 차이값을 계산한다. 확률 계산부(134)는 미리 결정된 확률 분포 모델을 기반으로 상기 차이값에 대한 발생 확률을 결정한다. 보정값 계산부는 버퍼 채워짐 레벨의 차이값과 상기 발생 확률을 이용하여 클록 주파수 보정값을 계산한다. 클록 주파수 보정값을 계산하는 상세한 방법은 후술한다.
채워짐 레벨 제어부(150)는 클록 주파수 복원부(140)에서 계산된 클록 주파수를 고려하여 패킷 지터 버퍼의 채워짐 레벨을 적응적으로 제어할 수 있다.
이하에서는 클록 주파수 변량과 클록 주파수 보정값을 계산하는 방법에 대하여 상세히 설명한다.
제1 TDM 회로(10)에서 생성된 TDM 데이터는 일정한 클록 주파수(f1)를 가지며, 소스 노드(20)에서 일정한 전송률을 갖는 패킷으로 변환되고, 상기 패킷은 패킷 망을 통해 목적지 노드로 전달된다. 패킷의 지터가 없다고 가정할 경우 목적지 노드(30)에서 수신되는 패킷은 소스 노드(20)의 클록 주파수 정보를 갖지만, 일반적으로는 패킷 지연 또는 패킷 손실을 겪으면서 왜곡이 발생한다.
본 실시예의 적응형 클록 복구 장치(36)는 클록 주파수의 복원을 위하여, 패킷 지터 버퍼의 채워짐 레벨을 통하여 목적지 노드 입력 포트로 수신되는 패킷에 대한 에스티메이션(estimation)을 수행한다. 클록 주파수는 클록 컨트롤 법칙(clock control's law)을 따라 적용될 수 있으며, 클록 주파수는 패킷 지터 버퍼(34)의 버퍼 채워짐 레벨로부터 클록 주파수를 에스티메이션 될 수 있는데, 이는 하기 수학식1로 표현된다.
[수학식1]
Figure 112010047049177-pat00001
여기서, f2(j+1)는 갱신하고자 하는 j+1 시점에서의 클록 주파수이고, f2(j)는 현재의 j 시점에서의 클록 주파수이며, △f2(j)는 소스 노드에서의 주파수 f1과 목적지 노드에서 예측된 클록 주파수 f2 간의 차이를 의미하며, r은 클록 주파수의 차이에 대한 가중치로서 0에서 1사이의 값을 갖는다.
특히, r의 값이 크면 두 소스 노드와 목적지 노드 사이의 클록 주파수의 차이에 보다 민감하게 반응할 수 있다. 그러나, 패킷망에서의 지연을 고려할 때 너무 큰 r 값은 불필요한 큰 클록 드리프트(drift)를 가중시키고 클록을 불안정하게 한다. 또한, r 값이 작으면 클록 주파수의 차이에 둔감하게 반응할 뿐만 아니라 필요한 버퍼 사이즈를 증가시켜 큐잉 시간의 증가로 서비스 품질을 저하시킨다. 이를 고려하여, 본 발명은 패킷 망에서의 지터가 평균적으로는 0에 근접하지만 랜덤 확률 분포 특성을 갖는다고 가정하고, 버퍼 채워짐 레벨로부터 클록 주파수의 차이를 에스티메이션하는 방법을 채택한다.
상기 수학식1에서 △f2(j)는 원래 정의대로라면 f1(j) - f2(j)이지만, 본 실시예에서는 하기 수학식2에 따라 △f2(j)를 새롭게 정의한다.
[수학식2]
Figure 112010047049177-pat00002
여기에서,
Figure 112010047049177-pat00003
는 소스 노드에서의 클록 주파수와 목적지 노드에서 예측된 클록 주파수 간의 차이인 클록 주파수 변량을 의미하고,
Figure 112010047049177-pat00004
는 패킷이 패킷망을 통과할 때 플럭추에이션(fluctuation)되는 것을 보정하기 위한 클록 주파수 보정값을 의미한다.
클록 주파수(f1)를 갖는 TDM 데이터들은 소스 노드(20)에서 일정한 전송률을 갖는 패킷으로 변환되고, 이러한 패킷들은 패킷망에서의 라우팅 및 패킷 지연 등으로 인해 왜곡된다. 목적지 노드의 IP 패킷 입력포트(32) 측에서는 각 시간 시점에서 패킷간 샘플링 시간 T1(j, i) 동안 f1'(j, i) 클록 주파수를 갖는 패킷들이 수신된다.
이러한 예는 도 5에 도시되어 있다. 변수 j는 클록 주파수의 예측이 수행되는 시점을 나타내기 위한 변수이지만, 클록 주파수의 예측은 일정한 패킷 그룹에 대하여 행해질 수 있다. 어떤 시점 j에 속하는 하위 시점 i는 j와 동일한 클록 주파수 에스터메이션이 행해지게 된다.
지터 노이즈를 고려할 때, 시점 j에서의 클록 주파수는
Figure 112010047049177-pat00005
로 표현될 수 있다. 여기에서, n(j)는 패킷이 패킷 망을 통과하면서 발생하는 랜덤 지터를 나타내며, 이는 클록 주파수에 대하여 랜덤 플럭추에이션(random fluctuation)을 발생시킨다.
△f2(j)에 대한 기본 정의인
Figure 112010047049177-pat00006
Figure 112010047049177-pat00007
의 관계를 이용하면, 버퍼 레벨과 클록 주파수의 관계는 다음의 수학식3으로 표현된다.
[수학식3]
Figure 112010047049177-pat00008
여기에서,
Figure 112010047049177-pat00009
는 j 시점에서의 버퍼 채워짐 레벨이고,
Figure 112010047049177-pat00010
는 j+1 시점에서의 버퍼 채워짐 레벨이며,
Figure 112010047049177-pat00011
는 j 시점에서의 셈플링 시간, 즉 클록 주파수 예측을 수행하는 j시점에서의 시간 인터벌을 의미한다.
상기 수학식3은 변수 j와 i를 모두 고려하면, 다음 수학식 4와 같이 변형될 수 있다.
[수학식4]
Figure 112010047049177-pat00012
Figure 112010047049177-pat00013

상기 수학식에서 △f2(j)는 f1, f2에 비하여 상대적으로 매우 작은 값을 갖기 때문에, 도 5에 도시된 모델에서 클록 주파수 업데이트를 위한 각 j 지점에 따른 각각의 패킷 샘플링 시간 T(j,0) ≒ 1/f2(j,0)라고 할 수 있다. 또한, 업데이트를 위한 각 j 시점 간의 간격의 상대적으로 i 시점에 비해 긴 간격이므로, E[n(j,0)] ≒ 0 이라고 할 수 있으며, 에스티메이션된 클록 주파수의 변량을 계산할 수 있다. 상기 수학식4의 양변을 k로 나누면, 수학식4는 하기 수학식5로 표현할 수 있다.
[수학식5]
Figure 112010047049177-pat00014
수학식5에서 지터 노이즈와 관련된 우측의 두번째 항은 그 값이 0이고, 양변을 T(j,0)로 나누면 수학식5는 하기 수학식6으로 표현된다.
[수학식6]
Figure 112010047049177-pat00015
[수학식7]
Figure 112010047049177-pat00016
여기에서
Figure 112010047049177-pat00017
는 클록 주파수 변량 예측부(120)에서 에스터메이트된 클록 주파수 변량을 의미한다. 그러나 패킷망에서의 랜덤 지터와 같은 노이즈에 의한 랜덤 플럭추에이션 n(j,0)은 샘플링 시간 T(j,0) 동안 평균값이 0에 근접할 수 있지만, 0이 아닌 분산값을 갖는다. 그렇기 때문에 이를 보정하기 위한 추가 함수가 필요하다.
본 발명에서는 랜덤 플럭추에이션을 모델링하기 위한 함수를 네트워크의 상황을 고려하여 미리 결정하고, 결정된 함수의 분포를 고려하여 클록 주파수를 보정하기 위한 클록 주파수 보정값을 계산한다. 함수의 종류에 특별한 제한은 없지만, 가우시안 (Gaussian) 분포를 갖는 확률 밀도 함수가 바람직하다. 랜덤 플럭추에이션이 가우샨 분포를 따른다고 할 때, 확률 분포 함수는 하기 수학식8로 표현될 수 있다.
[수학식 8]
Figure 112010047049177-pat00018
여기에서,
Figure 112010047049177-pat00019
는 버퍼 채워짐 레벨의 기준값이고, σ는 버퍼 채워짐 레벨의 표준편차이다. 랜덤 플럭추에이션이 일반적인 가우시안 확률 밀도 함수를 따른다고 할 경우, 시간 구간 j에서의 버퍼 채워짐 레벨의 평균값을 기준값으로 사용할 수 있다. 수학식8에서, 버퍼 채워짐 레벨의 기준값을 평균값 대신 임의의 기준값으로 설정하는 것도 가능하다. 이 경우 시스템 내에서 주어진 버퍼에서 언더프로우 및 오버플로우의 가능성이 가장 낮은 지점이 되도록 기준값을 동적으로 또는 정적으로 조절할 수 있기 때문에, 시스템 열화를 줄이면서도 버퍼에서의 큐잉 시간을 줄일 수 있다. 또한, 주어진 기간 동안의 버퍼 채워짐 레벨의 중간값을 기준값으로 사용하는 것도 가능하다. 또한, 버퍼 채워짐 레벨의 기준값은 네트워크의 상태를 고려하여 정적 또는 동적으로 결정할 수 있으며 이에 대하여는 후술한다.
수학식8에서 표준편차 σ는 예를들어, 현재 시점 j로부터 이전의 임의의 j-x 시점까지의 최근 버퍼 레벨의 값을 기준으로 하는 값으로 정의될 수 있다. 그러나, 가우시안(Gaussian) 분포에서 정규화된 변수가 3σ를 포함할 때
Figure 112010047049177-pat00020
이므로, 시스템의 계산 복잡도를 줄이기 위해
Figure 112010047049177-pat00021
로 하여 값을 할당하는 것도 가능하다. 또한, σ는 망의 특성이 고려된 결정된 값을 사용하는 것도 가능하다.
랜덤 노이즈에 대한 클록 주파수 보정값도 버퍼의 채워짐 레벨에서 계산할 수 있다.
Figure 112010047049177-pat00022
라 할 때, 클록이 안정화되었을 경우
Figure 112010047049177-pat00023
이되므로,
Figure 112010047049177-pat00024
는 하기 수학식9와 같이 표현된다.
[수학식9]
Figure 112010047049177-pat00025
여기에서
Figure 112010047049177-pat00026
는 클록 주파수 보정값이며, 위의 수학식에서 얻은 클록 주파수 보정값을 이용하면 다음과 같이 정리될 수 있다.
[수학식10]
Figure 112010047049177-pat00027
Figure 112010047049177-pat00028
Figure 112010047049177-pat00029
Figure 112010047049177-pat00030
랜덤 플럭추에이션을 크기가 0에서 1까지 변하는 노말라이즈된(normalized) 가우샨(Gaussian) 분포 함수를 따른다고 가정할 경우, 상기 수학식10은 다음과 같이 정리된다.
[수학식11]
Figure 112010047049177-pat00031
위와 같이 지터에 대한 발생 확률 분포를 클록 주파수 갱신시 클록 주파수의 보정을 위한 함수로 이용할 경우, 빈번한 큰 클록 드리프트를 막아 안정적이면서도 패킷 지연 및 버스트 입력에 대해 보다 동적으로 대처가 가능하다. 또한, 버퍼 레벨에서도 분산이 줄어들고 필요에 따라 기준점으로의 빠른 회귀가 가능할 뿐만 아니라, 임의의 버퍼 레벨의 기준점에서의 분포가 이루어지기 때문에 작은 버퍼 사이즈로도 같은 서비스가 가능하다. 또한, 버퍼 사이즈를 작게 유지할 수 있기 때문에 버퍼에서의 대기 시간을 줄여 서비스 품질 향상에도 기여할 수 있다.
또한,
Figure 112010047049177-pat00032
에 추가적인 계수 m를 사용하여 그 성능을 달리할 수 있다.
[수학식12]
Figure 112010047049177-pat00033
여기에서 m은 클록 주파수 보정값에 대한 가중치를 조절하기 위한 상수이다.
버퍼 채워짐 레벨의 범위에 따라 다음의 상이한 수학식을 적용할 수 있다.
[수학식13]
Figure 112010047049177-pat00034
본 발명에서 클록 주파수 보정값은 버퍼 채워짐 레벨의 기준값에 의존하는데, 이하에서는 상술한 버퍼 채워짐 레벨의 기준값에 대하여 구체적으로 설명한다.
패킷 입력부로 패킷이 들어와서 패킷 지터 버퍼에 쌓여, TDM 데이터로 다시 변환하여 보내기 전에 변환 유닛을 구동하기까지의 초기 버퍼 레벨(initial buffer level)을
Figure 112010047049177-pat00035
, 시스템에 있는 패킷 지터 버퍼의 사이즈를
Figure 112010047049177-pat00036
, 임의의 시간 시점 j 에서의 버퍼 채워짐 레벨 기준값을
Figure 112010047049177-pat00037
, 초기 버퍼 레벨을 기점으로 하여 클록 주파수를 맞춰가서 세츄레이션 되는 지점을
Figure 112010047049177-pat00038
라 하고 정의할 수 있다.
일반적으로 시스템의 패킷 지터 버퍼는 언더플로우 및 오버플로우를 방지하기 위해,
Figure 112010047049177-pat00039
으로 조절하는 것이 바람직하다. 세츄레이션(saturation) 지점인
Figure 112010047049177-pat00040
에서 패킷 망의 지연 및 손실로 인해 발생할 수 있는 플럭츄에이션을 대비하고, 클록 주파수 차에 비례하여 증가하는 세츄레이션 버퍼 레벨
Figure 112010047049177-pat00041
를 고려하여, 버퍼의 사이즈는
Figure 112010047049177-pat00042
가 바람직하다. 여기에서
Figure 112010047049177-pat00043
는 예상되어지는 또는 시스템에서 허용되는 한에서 최대로 차이가 나는 클록 주파수에 의해 세츄레이션 되는 최대 버퍼 레벨이고,
Figure 112010047049177-pat00044
는 여기에 곱하여 지는 비례 상수이다. 그러나, 적용되는 시스템의 스펙에 따라 개발자가 버퍼 사이즈를 언더플로우 및 오버플로우를 방지하는 한에서 다르게 가져갈 수 있다.
<정적 기준값 설정 방법>
버퍼 채워짐 레벨 기준값
Figure 112010047049177-pat00045
은 개발자에 의해 시스템 내부 또는 외부에서 입력 받을 수 있다. 버퍼 채워짐 레벨 기준값을 최소한으로 할수록 버퍼 사이즈가 줄어 시스템 제작 비용이 줄어들 뿐 아니라 큐잉 대기 시간의 감소로 서비스 품질 또한 향상된다. 그러나, 버퍼 채워짐 레벨은 패킷 망을 통해 지연 및 손실로 인한 랜덤 플럭츄에이션에 대해서 언더플로우 및 오버플로우를 일으키지 않는 범위로 설정되는 것이 바람직하다.
패킷 지터 버퍼는 기본적으로 TDM 데이터로 변환하기 위한 유닛을 구동하기 위해 초기 버퍼 레벨
Figure 112010047049177-pat00046
에서 시작되기 때문에
Figure 112010047049177-pat00047
이고, 정적인 버퍼 채워짐 레벨 기준값은
Figure 112010047049177-pat00048
로 하여 초기 버퍼 레벨의 중앙에 위치시킬 수 있다. 그러나, 언더플로우나 오버플로우의 가능성은 버퍼의 중앙부를 기준으로 할 때 가장 작기 때문에,
Figure 112010047049177-pat00049
가 더욱 바람직하다. 그러나 망의 특성에 따라 1/2은 다른 계수로 대체할 수 있다.
<동적 기준값 설정방법1>
랜덤 플럭츄에이션이 클 경우에 언더플로우가 발생할 수 있다. 플럭츄에이션에 의한 최소 버퍼 레벨을
Figure 112010047049177-pat00050
라 하고, 플럭츄에이션에 의한 최대 버퍼 레벨을
Figure 112010047049177-pat00051
이라 할 때, 하기 수학식14에 따라 동적으로 버퍼 채워짐 레벨 기준값을 설정할 수 있다.
[수학식14]
Figure 112010047049177-pat00052
여기에서 r은 버퍼 채워짐 레벨 기준값을 조절하기 위한 조정 계수로서, 일반적으로는 1/2이 바람직하다. 만약, 플럭츄에이션에 의한 최소 및 최대 버퍼 레벨에 대한 정보를 얻을 수 없을 경우, 예상되는 망의 특성을 고려하여 선택되어 질 수 있다. 위의 그림에서 보는 것과 같이 이렇게 하여 목표값을 설정할 경우, 훨씬 더 적은 버퍼 레벨을 얻을 수 있다.
<동적 기준값 설정 방법2>
또한, 버퍼 채워짐 레벨 기준값을 동적으로 설정할 경우에는 네트워크 트래픽 양에 대해 동적으로 동작하므로, 패킷 망의 상태에 따라 동적으로 대처할 수 있다. 동적인 기준값은 패킷 망을 통과하여 입력된 패킷 지터 버퍼에서의 평균적으로 유지하는 버퍼 레벨을 기준으로 하여 다음과 같이 설정될 수 있다.
[수학식15]
Figure 112010047049177-pat00053
그러나, 상기 수학식15에 따른 버퍼 채워짐 레벨 기준값을 초기부터 설정하여 지속적으로 적용할 경우, 버퍼 레벨이 최소한으로 조절되지 않기 때문에, 다음과 같이 일정 시간 τ이후에 적용하는 방법을 사용할 수 있다.
[수학식16]
Figure 112010047049177-pat00054
여기에서, r1, r2는 버퍼 채워짐 레벨 기준값을 조절하기 위한 조정 계수로서, 일반적인 경우 1/2가 바람직하고,τ는 시간 기준값이다. 이전에 사용된 목표 버퍼 레벨 또는 현재 버퍼 레벨에 더 가중치를 두고 싶을 경우, 상기 수학식15는 하기 수학식17으로 수정될 수 있다.
[수학식17]
Figure 112010047049177-pat00055
여기에서
Figure 112010047049177-pat00056
는 곱하여지는 가중치이며
Figure 112010047049177-pat00057
이다.
[수학식18]
Figure 112010047049177-pat00058
상기 수학식18은 수학식17에 의하여 새롭게 정의되는
Figure 112010047049177-pat00059
를 이용하여 버퍼 레벨 기준값을 정의하는 수식으로서, r1 및 r2가 1/2인 경우이다.
<동적 기준값 설정 방법3>
상술한 방법3은 네트워크의 트래픽 양에 따라
Figure 112010047049177-pat00060
를 다르게 하는 것이 가능하다. 네트워크의 트래픽 상태는 현재 버퍼 레벨에 반영된다. 그렇기 때문에 아래와 같은 방법은 패킷 지연으로 인한 큰 클록 드리프트를 줄이면서 클록 주파수 복구를 위한 목표 버퍼 레벨 값으로 사용될 수 있다. 현재 버퍼 레벨이 평균적인 버퍼 레벨에서 크게 떨어져 있다는 것은 패킷 지연이 발생했다는 것을 의미한다고 생각할 수 있다. 그렇기 때문에, 이런 경우에는 일반적인 상황에서 보다 확률적으로 언더플로우 및 오버플로우 가능성이 작은 목표 버퍼 레벨을 택하는 것이 합리적이다. 하기 수학식18은 가중치 wc에 대한 수식이다.
[수학식18]
Figure 112010047049177-pat00061
가중치를 결정하는 방법은 상술한 방법에 국한되지 않으며, 상술한 방법 이외에도 다양한 함수를 통한 방법을 통하여 결정할 수 있다. 가중치
Figure 112010047049177-pat00062
값을 이용하여,
Figure 112010047049177-pat00063
을 설정하여 목표 버퍼 레벨
Figure 112010047049177-pat00064
을 설정할 수 있다.
도 6은 본 발명의 일 실시예에 따른 클록 주파수 복구 방법을 나타내는 흐름도이다. 본 실시예의 클록 주파수 복구 방법은 적응형 클록 복구 장치(36)에서 시계열적으로 수행되는 하기 단계들을 포함한다. 상술한 클록 복구 장치와 관련한 설명과 공통된 부분은 생략한다.
210단계에서 차감부(122)는 채워짐 레벨 판독부(110)를 통해 전달 받은 현재 시점 j에서의 버퍼 채워짐 레벨과 복구하고자 하는 시점 j+1에서의 버퍼 채워짐 레벨 간의 차이
Figure 112010047049177-pat00065
를 계산한다.
220단계에서 예측부(124)는
Figure 112010047049177-pat00066
를 T(j,0)로 나누어서 클록 주파수 변량
Figure 112010047049177-pat00067
를 계산한다.
230단계에서 채워짐 레벨 차이값 계산부(132)는 현재 시점의 버퍼 채워짐 레벨과 버퍼 채워짐 레벨의 기준값과의 차이값를 계산한다.
240단계에서 확률 계산부(134)는 미리 정해진 확률 분포 함수, 예를 들어 가우시안 확률 분포 함수를 기반으로 현재 시점의 버퍼 채워짐 레벨이 발생할 확률을 계산한다.
250단계에서 보정값 계산부(136)은 240단계에서 계산된 확률값과 230단계에서 계산된 차이값, 그리고 T(j,0)를 이용해서 클록 주파수 보정값을 계산한다.
260단계에서 클록 주파수 복원부(140)는 220단계에서 계산된 클록 주파수 변량과, 250단계에서 계산된 클록 주파수 보정값, 그리고 현재 시점 j에서의 클록 주파수를 이용하여 복구하고자 하는 시점 j+1에서의 클록 주파수를 계산한다.
상술한 본 발명은 버퍼 채워짐 레벨로 에스티메이션(estimation)하여 클록 주파수 차를 결정할 때, 언더플로우 및 오버플로우를 방지하기 위한 패킷 지터 버퍼에서 가장 안정적인 기준으로 이동하면서 클록 복구가 가능하다. 따라서, 패킷 망에서의 TDM 데이터의 패킷 지연 발생 정도에 따라 버퍼 채워짐 레벨이 계속적으로 줄어들거나 커져가는 종래의 복구 방법에 비하여 버퍼의 언더플로우 및 오버플로우의 가능성이 적고, 작은 사이즈의 버퍼를 사용하여도 시스템 구현이 가능하다.
도 7은 본 발명에서 패킷 지터 버퍼에서의 오버플로우와 언더플로우를 제어하기 위한 개념을 설명하는 참고도이다. 도 7에서 보는 것과 같이 특정한 범위에서 언더플로우와 오버플로우에 대한 가능성을 낮추면서도 평균적인 클록 주파수 변화에 잘 대처할 수 있도록, 채워짐 레벨의 기준값을 정적 또는 동적으로 선택하는 것이 가능하다.
본 발명은 클록 주파수의 플럭추에이션은 채워짐 레벨 기준점을 중심으로 확률 분포를 따르면서 평균적으로 결정된 기준점 근처로 회귀하는 특성을 이용한 것으로서, 기준점 근처에서는 보다 작은 클록 드리프트로 이동하고 기준점에서 먼 곳에서는 보다 큰 클록 드리프트로 버퍼의 언더플로우 및 오버플로우의 가능성을 줄이면서도 지연되는 패킷이나 버스트하게 도착하는 패킷의 발생시에도 보다 안정적으로 대처하는 것이 가능하다.
도 8a, 8b는 종래 기술과 본 발명에서의 클록 컨트롤 방법의 차이점을 설명하기 위한 개략도이다. 적응형 클록 복구 방법은 목적지 노드에서의 버퍼 채워짐 레벨을 이용하기 때문에, 버퍼의 언더플로우와 오버플로우를 방지하면서 빠르게 클록 주파수의 복구가 가능해야 한다.
도 8a, 8b에서 보는 것과 같이 패킷 지터 버퍼의 상위에 음영으로 있는 버퍼 채워짐 레벨은 아래 음영으로 있는 현재의 버퍼 채워짐 레벨에 근거해 이를 토대로 에스티메이션하여 클록 주파수를 적용한다. 도 8a는 기존의 적응형 클록 복구 방법에서의 예이며, 도 8b는 본 발명의 적응형 클록 복구 방법에서의 예를 나타낸다.
도 8b에서 확인할 수 있듯이, 작은 클록 드리프트로도 보다 적절하게 패킷 지연에 대처할 수 있고 버퍼 채워짐 레벨의 분산이 적기 때문에 필요한 버퍼 사이즈를 줄일 수 있다. 뿐만 아니라 버퍼 채워짐 레벨의 기준점을 낮출 경우, 보다 더 적은 사이즈의 버퍼로도 빠르고 안정적인 클록 복구가 가능해진다.
본 발명에 따르면 기존의 적응형 클록 복구 방법이 패킷 지연이나 클록 주파수 차이가 크더라도, 큰 버퍼 사이즈가 필요로 하지 않고도 임의의 안정적인 기준점을 근거로 움직이기 때문에 패킷 지연이나 클록 주파수의 차이가 큰 경우에 대해서도 개별적인 셋팅을 하지 않고도 적용이 가능한 잇점이 있다.
도 9a 내지 9i는 기존의 클록 주파수 복구 방법과 본 발명의 클록 주파수 복구 방법을 적용할 경우 채워짐 레벨의 변화를 비교한 참고도이다.
도 9a 내지 9c는 패킷 망에서 지터가 발생하지 않았을 경우에 기존의 적응형 클록 복구 방법과 본 발명의 적응형 클록 복구 방법에 따른 클록 주파수의 변화 및 버퍼 채워짐 레벨의 변화를 나타내는 그래프이다. 도 9a는 f1 = 1500 packet/sec, f2 = 1400 packet/sec, r= 0.1, m=1 인 경우이고, 도 9b는 f1 = 1500 packet/sec, f2 = 1400 packet/sec, r= 0.5, m=1 인 경우이며, 도 9c는 f1 = 1500 packet/sec, f2 = 1400 packet/sec, r= 0.9, m=1 인 경우이다.
도 9d는 패킷 망에서 지터의 표준 편차가 2ms로 발생하고, f1 = 1500 packet/sec, f2 = 1400 packet/sec, r= 0.1, m=1 인 경우이다. 도 9e는 패킷 망에서 지터의 표준 편차가 2ms로 발생하고, f1 = 1500 packet/sec, f2 = 1400 packet/sec, r= 0.5, m=1 인 경우이다. 도 9f는 패킷 망에서 지터의 표준 편차가 2ms로 발생하고, f1 = 1500 packet/sec, f2 = 1400 packet/sec, r= 0.9, m=1 인 경우이다. 도 9g는 패킷 망에서 지터의 표준 편차가 10ms로 발생하고, f1 = 1500 packet/sec, f2 = 1400 packet/sec, r= 0.1, m=1 인 경우이다. 도 9h는 패킷 망에서 지터의 표준 편차가 10ms로 발생하고, f1 = 1500 packet/sec, f2 = 1400 packet/sec, r= 0.5, m=1 인 경우이다. 도 9i는 패킷 망에서 지터의 표준 편차가 10ms로 발생하고, f1 = 1500 packet/sec, f2 = 1400 packet/sec, r= 0.9, m=1 인 경우이다.
각각의 도에서 적응형 클록 복구 방법은 버퍼 채워짐 레벨을 기준으로 클록 주파수의 차이를 에스티메이션하여 적용하기 때문에, 버퍼 채워짐 레벨의 변화와 클록 주파수의 변화가 비슷하게 변화함을 알 수 있다. 각각의 도에서 보는 것과 같이 기존의 방법의 경우 상대적으로 큰 사이즈의 버퍼를 필요로 하게 되고 이러한 경우 버퍼에서의 큐잉 시간이 증가하게 되어 서비스 품질이 저하될 뿐만 아니라, 큰 버퍼 사이즈로 인하여 제품 비용이 증가하게 된다. 또한 시스템별로 각기 다른 버퍼 사이즈를 가질 경우 또는 패킷망의 상태가 변할 경우에 기존의 적응형 클록 복구 방법은 더 큰 안정화된 버퍼 레벨이 필요하게 되므로 시스템의 오버플로우 발생 가능성이 증가되나, 본 발명에서의 적응형 클록 복구 방법은 시스템 장치의 버퍼 사이즈의 특성을 고려해 자체적으로 적응하기 때문에 네트워크 망의 변화에 보다 유연하다.
한편 본 발명의 클록 복구 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트 들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이제까지 본 발명에 대하여 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로, 상기 개시된 실시예 들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.

Claims (17)

  1. 소스 노드로부터 송신된 패킷들의 클록 주파수를 목적지 노드에서 적응적으로 복구하는 적응형 클록 복구 방법에 있어서,
    a) 상기 소스 노드에서의 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 차이인 클록 주파수 변량을 예측하는 단계;
    b) 상기 목적지 노드로 전달되는 상기 패킷들이 패킷 망을 통과할 때 랜덤 지터에 의하여 발생하는 상기 패킷들의 주파수 플럭추에이션(fluctuation)을 보정하기 위하여 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델을 이용하여 클록 주파수 보정값을 계산하는 단계; 및
    c) 상기 클록 주파수 변량과 상기 클록 주파수 보정값을 이용하여 클록 주파수를 복구하는 단계를 포함하는 것을 특징으로 하는 적응형 클록 복구 방법.
  2. 삭제
  3. 제1 항에 있어서,
    상기 클록 주파수 변량을 예측하는 것은 상기 패킷을 저장하는 버퍼의 버퍼 채워짐 레벨을 이용하여 예측하는 것이며, 상기 b) 단계는
    b1) 미리 결정된 버퍼 채워짐 레벨의 기준값과 버퍼 채워짐 레벨의 차이값을 계산하는 단계;
    b2) 상기 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델을 기반으로 상기 차이값에 대한 발생 확률을 결정하는 단계; 및
    b3) 상기 버퍼 채워짐 레벨의 차이값과 상기 발생 확률을 이용하여 클록 주파수 보정값을 계산하는 단계를 포함하는 것을 특징으로 하는 적응형 클록 복구 방법.
  4. 제1 항에 있어서, 상기 a) 단계는
    a1) 클록 주파수를 복구하고자 하는 제1 시점에서의 버퍼 채워짐 레벨과 상기 제1 시점에 선행하는 제2 시점에서의 버퍼 채워짐 레벨의 차이를 계산하는 단계; 및
    a2) 상기 버퍼 채워짐 레벨의 차이를 이용하여 상기 제2 시점에서 상기 소스 노드에서의 송신측 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 클록 주파수 변량을 예측하는 단계를 포함하는 것을 특징으로 하는 적응형 클록 복구 방법.
  5. 제4 항에 있어서, 상기 클록 주파수 변량은 하기 수학식에 따라 예측하는 것을 특징으로 하는 적응형 클록 복구 방법.
    [수학식]
    Figure 112010047049177-pat00068

    여기에서, j+1은 상기 제1 시점이고, j는 상기 제2 시점이며,
    Figure 112010047049177-pat00069
    는 j시점에서의 클록 주파수 변량이고,
    Figure 112010047049177-pat00070
    는 j 시점에서의 버퍼 채워짐 레벨이고,
    Figure 112010047049177-pat00071
    는 j+1 시점에서의 버퍼 채워짐 레벨이며,
    Figure 112010047049177-pat00072
    는 j 시점에서의 셈플링 시간을 의미한다.
  6. 제3 항에 있어서,
    상기 버퍼 채워짐 레벨의 기준값은
    주어진 시간 또는 샘플링 시간 동안의 버퍼 채워짐 레벨의 평균값, 주어진 시간 또는 샘플링 시간 동안의 버퍼 채워짐 레벨의 중간값, 또는 주파수 플럭추에이션에 의한 최소 버퍼 채워짐 레벨과 최대 버퍼 채워짐 레벨을 이용하여 결정되는 버퍼 채워짐 레벨값인것을 특징으로 하는 적응형 클록 복구 방법.
  7. 제6 항에 있어서, 상기 주파수 플럭추에이션에 의한 최소 버퍼 채워짐 레벨과 최대 버퍼 채워짐 레벨을 이용하여 결정되는 버퍼 채워짐 레벨값은,
    미리 결정된 기준 시간 이전에는 초기 버퍼 레벨 시점의 버퍼 채워짐 레벨값에 미리 결정된 제1 조정 계수를 곱한값과, 플럭추에이션에 의한 최소 버퍼 채워짐 레벨과 최대 버퍼 채워짐 레벨의 차이값에 미리 결정된 제2 조정 계수를 곱한값 중 큰 값으로 결정되고,
    상기 기준 시간 이후에는 초기 버퍼 레벨 시점의 버퍼 채워짐 레벨값에 미리 결정된 제1 조정계수를 곱한값과, 주파수 플럭추에이션에 의한 최소 버퍼 채워짐 레벨과 최대 버퍼 채워짐 레벨의 차이값에 미리 결정된 제2 조정 계수를 곱한값 중 큰 값과, 클록 주파수가 이미 복구된 이전 시점에서의 버퍼 채워짐 레벨의 평균값 중 작은 값으로 결정되는 것을 특징으로 하는 적응형 클록 복구 방법.
  8. 제1 항에 있어서, 상기 c)단계에서 클록 주파수를 복구하는 것은 하기 수학식을 이용하여 복구하는 것을 특징으로 하는 적응형 클록 복구 방법.
    [수학식]
    Figure 112010047049177-pat00073

    여기에서, j+1는 클록 주파수를 복구하고자 하는 시점이고, j는 클록 주파수가 복구된 시점 또는 이전 시점이며, f(j+1)은 j+1 시점에서의 클록 주파수이고, f(j)는 j 시점에서의 클록 주파수이며,
    Figure 112010047049177-pat00074
    는 상기 예측된 클록 주파수 변량이고,
    Figure 112010047049177-pat00075
    는 상기 클록 주파수 보정값이며, r은 클록 주파수 변화에 따른 영향의 정도를 결정하기 위한 파라메타이다.
  9. 제1 항에 있어서, 상기 c)단계에서 클록 주파수를 복구하는 것은 하기 수학식을 이용하여 복구하는 것을 특징으로 하는 적응형 클록 복구 방법.
    [수학식]
    Figure 112011078524440-pat00076

    여기에서, j+1는 클록 주파수를 복구하고자 하는 시점이고, j는 클록 주파수가 복구된 시점 또는 이전 시점이며, f2(j+1)는 목적지 노드에서 복구되는 j+1 시점의 클록 주파수이고,
    Figure 112011078524440-pat00077
    는 상기 예측된 클록 주파수 변량으로서
    Figure 112011078524440-pat00078
    Figure 112011078524440-pat00079
    이며,
    Figure 112011078524440-pat00080
    는 j 시점에서의 버퍼 채워짐 레벨이고,
    Figure 112011078524440-pat00081
    는 j+1 시점에서의 버퍼 채워짐 레벨이며,
    Figure 112011078524440-pat00082
    는 j 시점에서의 셈플링 시간이고,
    Figure 112011078524440-pat00083
    는 상기 클록 주파수 보정값이며,
    Figure 112011078524440-pat00084
    이고,
    Figure 112011078524440-pat00085
    는 버퍼 채워짐 레벨의 기준값이며,
    Figure 112011078524440-pat00086
    는 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델에 따른 확률값이다.
  10. 제9 항에 있어서,
    상기 c)단계는 상기 버퍼 채워짐 레벨의 기준값은 네트워크의 상태를 고려하여 정적 또는 동적으로 결정하고, 상기 결정된 버퍼 채워짐 레벨의 기준값을 이용하여 클록 주파수를 복구하는 것을 특징으로 하는 적응형 클록 복구 방법.
  11. 제9 항에 있어서,
    상기 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델은 정규화된(normalized) 가우시안(Gaussian) 확률 분포를 따르는 모델이며,
    상기 P는
    Figure 112011078524440-pat00087
    이고,
    Figure 112011078524440-pat00088
    는 버퍼 채워짐 레벨의 확률 분포의 분산으로 장치 내부 또는 외부로부터 얻어질 수 있는 계산값 또는 설정값인 것을 특징으로 하느 적응형 클록 복구 방법.
  12. 제1 항에 있어서,
    상기 c)단계에서 클록 주파수의 복구는 목적지 노드에서의 클록 주파수와 클록 주파수 변량 및 상기 클록 주파수 보정값을 이용하여 계산하되, 상기 클록 주파수 보정값의 가중치 조절을 통해 클록 주파수를 복구하는 것을 특징으로 하는 적응형 클록 복구 방법.
  13. 제1 항 및 제3항 내지 제 12항 중 어느 한 항의 적응형 클록 복구 방법을 컴퓨터상에서 수행하기 위한 프로그램이 기록된 컴퓨터에서 판독가능한 기록 매체.
  14. 소스 노드로부터 송신된 패킷들의 클록 주파수를 목적지 노드에서 적응적으로 복구하는 적응형 클록 복구 장치에 있어서,
    상기 소스 노드에서의 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 차이인 클록 주파수 변량을 예측하는 클록 주파수 변량 예측부;
    상기 목적지 노드로 전달되는 상기 패킷들이 패킷 망을 통과할 때 랜덤 지터에 의하여 발생하는 상기 패킷들의 주파수 플럭추에이션(fluctuation)을 보정하기 위하여 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델을 이용하여 클록 주파수 보정값을 계산하는 보정부; 및
    상기 클록 주파수 변량과 상기 클록 주파수 보정값을 이용하여 클록 주파수를 복구하는 복원부를 포함하는 것을 특징으로 하는 적응형 클록 복구 장치.
  15. 삭제
  16. 제14 항에 있어서, 상기 클록 주파수 변량 예측부는 상기 패킷을 저장하는 버퍼의 버퍼 채워짐 레벨을 이용하여 예측하는 것이고, 상기 보정부는
    미리 결정된 버퍼 채워짐 레벨의 기준값과 버퍼 채워짐 레벨의 차이값을 계산하는 채워짐 레벨 차이값 계산부;
    상기 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델을 기반으로 상기 차이값에 대한 발생 확률을 결정하는 확률 계산부; 및
    상기 버퍼 채워짐 레벨의 차이값과 상기 발생 확률을 이용하여 클록 주파수 보정값을 계산하는 보정값 계산부를 포함하는 것을 특징으로 하는 적응형 클록 복구 장치.
  17. 제14 항에 있어서, 상기 클록 주파수 변량 예측부는
    클록 주파수를 복구하고자 하는 제1 시점에서의 버퍼 채워짐 레벨과 상기 제1 시점에 선행하는 제2 시점에서의 버퍼 채워짐 레벨의 차이를 계산하는 차감부;
    상기 버퍼 채워짐 레벨의 차이를 이용하여 상기 제2 시점에서 상기 소스 노드에서의 송신측 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 클록 주파수 변량을 예측하는 예측부를 포함하는 것을 특징으로 하는 적응형 클록 복구 장치.
KR1020100070419A 2010-07-21 2010-07-21 적응형 클록 복구 방법 및 장치 KR101103687B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100070419A KR101103687B1 (ko) 2010-07-21 2010-07-21 적응형 클록 복구 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100070419A KR101103687B1 (ko) 2010-07-21 2010-07-21 적응형 클록 복구 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101103687B1 true KR101103687B1 (ko) 2012-01-11

Family

ID=45613945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100070419A KR101103687B1 (ko) 2010-07-21 2010-07-21 적응형 클록 복구 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101103687B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060140135A1 (en) 2004-12-28 2006-06-29 Bonta Jeffrey D Ad hoc cluster idle node coordination

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060140135A1 (en) 2004-12-28 2006-06-29 Bonta Jeffrey D Ad hoc cluster idle node coordination

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
S. Lv 외, IEEE Comm. Lett., Vol. 13, No. 10, pp. 791-792, Oct. 2009
S. Lv 외, Proceedings of IC-BNMT2009, pp. 71

Similar Documents

Publication Publication Date Title
US8400911B2 (en) System and method for packet timing of circuit emulation services over networks
US8422367B2 (en) Method of estimating congestion
JP3960385B2 (ja) パケットネットワーク上のクロック同期
JP5123403B2 (ja) ステップ遅延事前補償を伴う適応クロック回復
US20050220088A1 (en) Method and system for estimating performance metrics in a packet-switched communication network
EP2140590B1 (en) Method of transmitting data in a communication system
CN105324965B (zh) 用于针对无线电基站缓冲失控恢复数据分组流控制的方法和装置
CN103888381A (zh) 用于控制抖动缓冲器的装置和方法
US10637788B2 (en) Stability of delay-based congestion control in a computer network using an alpha-beta filter and round-trip-time predictor
KR20040018226A (ko) 적응형 클록 복구
CN115347994B (zh) 网内状态反馈方法、装置、介质、无线接入设备及系统
EP2448195A1 (en) Apparatus and method for ensuring fairness of udp data transmission in ethernet environment
KR20120033847A (ko) 지터버퍼 조정장치, 전자장치 및 그 방법
JP7251604B2 (ja) 制御装置及びその方法
KR101103687B1 (ko) 적응형 클록 복구 방법 및 장치
JP2006050488A (ja) 通信端末装置およびバッファ制御方法
JP2007097144A (ja) 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム
US10291446B2 (en) Clock synchronization method, receiver, transmitter, and clock synchronization system
JP4425115B2 (ja) クロック同期装置およびプログラム
US10284484B1 (en) Accelerated ramp up for delay-based rate adaptation
JP2010136159A (ja) データ受信装置
US20230308395A1 (en) Communication system, device, method and program for shaping
US9438379B2 (en) Communication device, communication program, communication method, and information processing device
US12040886B2 (en) System and method of clock recovery in a packet-compatible network
JP4907517B2 (ja) タイムスレービング装置

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161219

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee