KR101103687B1 - 적응형 클록 복구 방법 및 장치 - Google Patents
적응형 클록 복구 방법 및 장치 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0037—Delay of clock signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/005—Correction 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) 클록 복구 방법 및 장치에 관한 것으로서, 특히 패킷이 네트워크의 채널을 통과할 때 발생하는 패킷의 지연 및 손실을 고려하여 클록 주파수를 적응형으로 복구하는 방법 및 장치에 관한 것이다. 본 발명의 클록 복구 방법은 시분할변조(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는 기존의 클록 주파수 복구 방법과 본 발명의 클록 주파수 복구 방법을 적용할 경우 채워짐 레벨의 변화를 비교한 참고도이다.
도 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]
여기서, 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]
여기에서, 는 소스 노드에서의 클록 주파수와 목적지 노드에서 예측된 클록 주파수 간의 차이인 클록 주파수 변량을 의미하고, 는 패킷이 패킷망을 통과할 때 플럭추에이션(fluctuation)되는 것을 보정하기 위한 클록 주파수 보정값을 의미한다.
클록 주파수(f1)를 갖는 TDM 데이터들은 소스 노드(20)에서 일정한 전송률을 갖는 패킷으로 변환되고, 이러한 패킷들은 패킷망에서의 라우팅 및 패킷 지연 등으로 인해 왜곡된다. 목적지 노드의 IP 패킷 입력포트(32) 측에서는 각 시간 시점에서 패킷간 샘플링 시간 T1(j, i) 동안 f1'(j, i) 클록 주파수를 갖는 패킷들이 수신된다.
이러한 예는 도 5에 도시되어 있다. 변수 j는 클록 주파수의 예측이 수행되는 시점을 나타내기 위한 변수이지만, 클록 주파수의 예측은 일정한 패킷 그룹에 대하여 행해질 수 있다. 어떤 시점 j에 속하는 하위 시점 i는 j와 동일한 클록 주파수 에스터메이션이 행해지게 된다.
지터 노이즈를 고려할 때, 시점 j에서의 클록 주파수는 로 표현될 수 있다. 여기에서, n(j)는 패킷이 패킷 망을 통과하면서 발생하는 랜덤 지터를 나타내며, 이는 클록 주파수에 대하여 랜덤 플럭추에이션(random fluctuation)을 발생시킨다.
[수학식3]
여기에서, 는 j 시점에서의 버퍼 채워짐 레벨이고, 는 j+1 시점에서의 버퍼 채워짐 레벨이며, 는 j 시점에서의 셈플링 시간, 즉 클록 주파수 예측을 수행하는 j시점에서의 시간 인터벌을 의미한다.
상기 수학식3은 변수 j와 i를 모두 고려하면, 다음 수학식 4와 같이 변형될 수 있다.
[수학식4]
상기 수학식에서 △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]
수학식5에서 지터 노이즈와 관련된 우측의 두번째 항은 그 값이 0이고, 양변을 T(j,0)로 나누면 수학식5는 하기 수학식6으로 표현된다.
[수학식6]
[수학식7]
여기에서 는 클록 주파수 변량 예측부(120)에서 에스터메이트된 클록 주파수 변량을 의미한다. 그러나 패킷망에서의 랜덤 지터와 같은 노이즈에 의한 랜덤 플럭추에이션 n(j,0)은 샘플링 시간 T(j,0) 동안 평균값이 0에 근접할 수 있지만, 0이 아닌 분산값을 갖는다. 그렇기 때문에 이를 보정하기 위한 추가 함수가 필요하다.
본 발명에서는 랜덤 플럭추에이션을 모델링하기 위한 함수를 네트워크의 상황을 고려하여 미리 결정하고, 결정된 함수의 분포를 고려하여 클록 주파수를 보정하기 위한 클록 주파수 보정값을 계산한다. 함수의 종류에 특별한 제한은 없지만, 가우시안 (Gaussian) 분포를 갖는 확률 밀도 함수가 바람직하다. 랜덤 플럭추에이션이 가우샨 분포를 따른다고 할 때, 확률 분포 함수는 하기 수학식8로 표현될 수 있다.
[수학식 8]
여기에서, 는 버퍼 채워짐 레벨의 기준값이고, σ는 버퍼 채워짐 레벨의 표준편차이다. 랜덤 플럭추에이션이 일반적인 가우시안 확률 밀도 함수를 따른다고 할 경우, 시간 구간 j에서의 버퍼 채워짐 레벨의 평균값을 기준값으로 사용할 수 있다. 수학식8에서, 버퍼 채워짐 레벨의 기준값을 평균값 대신 임의의 기준값으로 설정하는 것도 가능하다. 이 경우 시스템 내에서 주어진 버퍼에서 언더프로우 및 오버플로우의 가능성이 가장 낮은 지점이 되도록 기준값을 동적으로 또는 정적으로 조절할 수 있기 때문에, 시스템 열화를 줄이면서도 버퍼에서의 큐잉 시간을 줄일 수 있다. 또한, 주어진 기간 동안의 버퍼 채워짐 레벨의 중간값을 기준값으로 사용하는 것도 가능하다. 또한, 버퍼 채워짐 레벨의 기준값은 네트워크의 상태를 고려하여 정적 또는 동적으로 결정할 수 있으며 이에 대하여는 후술한다.
수학식8에서 표준편차 σ는 예를들어, 현재 시점 j로부터 이전의 임의의 j-x 시점까지의 최근 버퍼 레벨의 값을 기준으로 하는 값으로 정의될 수 있다. 그러나, 가우시안(Gaussian) 분포에서 정규화된 변수가 3σ를 포함할 때 이므로, 시스템의 계산 복잡도를 줄이기 위해 로 하여 값을 할당하는 것도 가능하다. 또한, σ는 망의 특성이 고려된 결정된 값을 사용하는 것도 가능하다.
[수학식9]
[수학식10]
랜덤 플럭추에이션을 크기가 0에서 1까지 변하는 노말라이즈된(normalized) 가우샨(Gaussian) 분포 함수를 따른다고 가정할 경우, 상기 수학식10은 다음과 같이 정리된다.
[수학식11]
위와 같이 지터에 대한 발생 확률 분포를 클록 주파수 갱신시 클록 주파수의 보정을 위한 함수로 이용할 경우, 빈번한 큰 클록 드리프트를 막아 안정적이면서도 패킷 지연 및 버스트 입력에 대해 보다 동적으로 대처가 가능하다. 또한, 버퍼 레벨에서도 분산이 줄어들고 필요에 따라 기준점으로의 빠른 회귀가 가능할 뿐만 아니라, 임의의 버퍼 레벨의 기준점에서의 분포가 이루어지기 때문에 작은 버퍼 사이즈로도 같은 서비스가 가능하다. 또한, 버퍼 사이즈를 작게 유지할 수 있기 때문에 버퍼에서의 대기 시간을 줄여 서비스 품질 향상에도 기여할 수 있다.
[수학식12]
여기에서 m은 클록 주파수 보정값에 대한 가중치를 조절하기 위한 상수이다.
버퍼 채워짐 레벨의 범위에 따라 다음의 상이한 수학식을 적용할 수 있다.
[수학식13]
본 발명에서 클록 주파수 보정값은 버퍼 채워짐 레벨의 기준값에 의존하는데, 이하에서는 상술한 버퍼 채워짐 레벨의 기준값에 대하여 구체적으로 설명한다.
패킷 입력부로 패킷이 들어와서 패킷 지터 버퍼에 쌓여, TDM 데이터로 다시 변환하여 보내기 전에 변환 유닛을 구동하기까지의 초기 버퍼 레벨(initial buffer level)을 , 시스템에 있는 패킷 지터 버퍼의 사이즈를 , 임의의 시간 시점 j 에서의 버퍼 채워짐 레벨 기준값을 , 초기 버퍼 레벨을 기점으로 하여 클록 주파수를 맞춰가서 세츄레이션 되는 지점을 라 하고 정의할 수 있다.
일반적으로 시스템의 패킷 지터 버퍼는 언더플로우 및 오버플로우를 방지하기 위해, 으로 조절하는 것이 바람직하다. 세츄레이션(saturation) 지점인 에서 패킷 망의 지연 및 손실로 인해 발생할 수 있는 플럭츄에이션을 대비하고, 클록 주파수 차에 비례하여 증가하는 세츄레이션 버퍼 레벨 를 고려하여, 버퍼의 사이즈는 가 바람직하다. 여기에서 는 예상되어지는 또는 시스템에서 허용되는 한에서 최대로 차이가 나는 클록 주파수에 의해 세츄레이션 되는 최대 버퍼 레벨이고, 는 여기에 곱하여 지는 비례 상수이다. 그러나, 적용되는 시스템의 스펙에 따라 개발자가 버퍼 사이즈를 언더플로우 및 오버플로우를 방지하는 한에서 다르게 가져갈 수 있다.
<정적 기준값 설정 방법>
버퍼 채워짐 레벨 기준값 은 개발자에 의해 시스템 내부 또는 외부에서 입력 받을 수 있다. 버퍼 채워짐 레벨 기준값을 최소한으로 할수록 버퍼 사이즈가 줄어 시스템 제작 비용이 줄어들 뿐 아니라 큐잉 대기 시간의 감소로 서비스 품질 또한 향상된다. 그러나, 버퍼 채워짐 레벨은 패킷 망을 통해 지연 및 손실로 인한 랜덤 플럭츄에이션에 대해서 언더플로우 및 오버플로우를 일으키지 않는 범위로 설정되는 것이 바람직하다.
패킷 지터 버퍼는 기본적으로 TDM 데이터로 변환하기 위한 유닛을 구동하기 위해 초기 버퍼 레벨 에서 시작되기 때문에 이고, 정적인 버퍼 채워짐 레벨 기준값은 로 하여 초기 버퍼 레벨의 중앙에 위치시킬 수 있다. 그러나, 언더플로우나 오버플로우의 가능성은 버퍼의 중앙부를 기준으로 할 때 가장 작기 때문에, 가 더욱 바람직하다. 그러나 망의 특성에 따라 1/2은 다른 계수로 대체할 수 있다.
<동적 기준값 설정방법1>
랜덤 플럭츄에이션이 클 경우에 언더플로우가 발생할 수 있다. 플럭츄에이션에 의한 최소 버퍼 레벨을 라 하고, 플럭츄에이션에 의한 최대 버퍼 레벨을 이라 할 때, 하기 수학식14에 따라 동적으로 버퍼 채워짐 레벨 기준값을 설정할 수 있다.
[수학식14]
여기에서 r은 버퍼 채워짐 레벨 기준값을 조절하기 위한 조정 계수로서, 일반적으로는 1/2이 바람직하다. 만약, 플럭츄에이션에 의한 최소 및 최대 버퍼 레벨에 대한 정보를 얻을 수 없을 경우, 예상되는 망의 특성을 고려하여 선택되어 질 수 있다. 위의 그림에서 보는 것과 같이 이렇게 하여 목표값을 설정할 경우, 훨씬 더 적은 버퍼 레벨을 얻을 수 있다.
<동적 기준값 설정 방법2>
또한, 버퍼 채워짐 레벨 기준값을 동적으로 설정할 경우에는 네트워크 트래픽 양에 대해 동적으로 동작하므로, 패킷 망의 상태에 따라 동적으로 대처할 수 있다. 동적인 기준값은 패킷 망을 통과하여 입력된 패킷 지터 버퍼에서의 평균적으로 유지하는 버퍼 레벨을 기준으로 하여 다음과 같이 설정될 수 있다.
[수학식15]
그러나, 상기 수학식15에 따른 버퍼 채워짐 레벨 기준값을 초기부터 설정하여 지속적으로 적용할 경우, 버퍼 레벨이 최소한으로 조절되지 않기 때문에, 다음과 같이 일정 시간 τ이후에 적용하는 방법을 사용할 수 있다.
[수학식16]
여기에서, r1, r2는 버퍼 채워짐 레벨 기준값을 조절하기 위한 조정 계수로서, 일반적인 경우 1/2가 바람직하고,τ는 시간 기준값이다. 이전에 사용된 목표 버퍼 레벨 또는 현재 버퍼 레벨에 더 가중치를 두고 싶을 경우, 상기 수학식15는 하기 수학식17으로 수정될 수 있다.
[수학식17]
[수학식18]
<동적 기준값 설정 방법3>
상술한 방법3은 네트워크의 트래픽 양에 따라 를 다르게 하는 것이 가능하다. 네트워크의 트래픽 상태는 현재 버퍼 레벨에 반영된다. 그렇기 때문에 아래와 같은 방법은 패킷 지연으로 인한 큰 클록 드리프트를 줄이면서 클록 주파수 복구를 위한 목표 버퍼 레벨 값으로 사용될 수 있다. 현재 버퍼 레벨이 평균적인 버퍼 레벨에서 크게 떨어져 있다는 것은 패킷 지연이 발생했다는 것을 의미한다고 생각할 수 있다. 그렇기 때문에, 이런 경우에는 일반적인 상황에서 보다 확률적으로 언더플로우 및 오버플로우 가능성이 작은 목표 버퍼 레벨을 택하는 것이 합리적이다. 하기 수학식18은 가중치 wc에 대한 수식이다.
[수학식18]
가중치를 결정하는 방법은 상술한 방법에 국한되지 않으며, 상술한 방법 이외에도 다양한 함수를 통한 방법을 통하여 결정할 수 있다. 가중치 값을 이용하여, 을 설정하여 목표 버퍼 레벨 을 설정할 수 있다.
도 6은 본 발명의 일 실시예에 따른 클록 주파수 복구 방법을 나타내는 흐름도이다. 본 실시예의 클록 주파수 복구 방법은 적응형 클록 복구 장치(36)에서 시계열적으로 수행되는 하기 단계들을 포함한다. 상술한 클록 복구 장치와 관련한 설명과 공통된 부분은 생략한다.
210단계에서 차감부(122)는 채워짐 레벨 판독부(110)를 통해 전달 받은 현재 시점 j에서의 버퍼 채워짐 레벨과 복구하고자 하는 시점 j+1에서의 버퍼 채워짐 레벨 간의 차이 를 계산한다.
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)
- 소스 노드로부터 송신된 패킷들의 클록 주파수를 목적지 노드에서 적응적으로 복구하는 적응형 클록 복구 방법에 있어서,
a) 상기 소스 노드에서의 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 차이인 클록 주파수 변량을 예측하는 단계;
b) 상기 목적지 노드로 전달되는 상기 패킷들이 패킷 망을 통과할 때 랜덤 지터에 의하여 발생하는 상기 패킷들의 주파수 플럭추에이션(fluctuation)을 보정하기 위하여 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델을 이용하여 클록 주파수 보정값을 계산하는 단계; 및
c) 상기 클록 주파수 변량과 상기 클록 주파수 보정값을 이용하여 클록 주파수를 복구하는 단계를 포함하는 것을 특징으로 하는 적응형 클록 복구 방법. - 삭제
- 제1 항에 있어서,
상기 클록 주파수 변량을 예측하는 것은 상기 패킷을 저장하는 버퍼의 버퍼 채워짐 레벨을 이용하여 예측하는 것이며, 상기 b) 단계는
b1) 미리 결정된 버퍼 채워짐 레벨의 기준값과 버퍼 채워짐 레벨의 차이값을 계산하는 단계;
b2) 상기 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델을 기반으로 상기 차이값에 대한 발생 확률을 결정하는 단계; 및
b3) 상기 버퍼 채워짐 레벨의 차이값과 상기 발생 확률을 이용하여 클록 주파수 보정값을 계산하는 단계를 포함하는 것을 특징으로 하는 적응형 클록 복구 방법. - 제1 항에 있어서, 상기 a) 단계는
a1) 클록 주파수를 복구하고자 하는 제1 시점에서의 버퍼 채워짐 레벨과 상기 제1 시점에 선행하는 제2 시점에서의 버퍼 채워짐 레벨의 차이를 계산하는 단계; 및
a2) 상기 버퍼 채워짐 레벨의 차이를 이용하여 상기 제2 시점에서 상기 소스 노드에서의 송신측 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 클록 주파수 변량을 예측하는 단계를 포함하는 것을 특징으로 하는 적응형 클록 복구 방법. - 제3 항에 있어서,
상기 버퍼 채워짐 레벨의 기준값은
주어진 시간 또는 샘플링 시간 동안의 버퍼 채워짐 레벨의 평균값, 주어진 시간 또는 샘플링 시간 동안의 버퍼 채워짐 레벨의 중간값, 또는 주파수 플럭추에이션에 의한 최소 버퍼 채워짐 레벨과 최대 버퍼 채워짐 레벨을 이용하여 결정되는 버퍼 채워짐 레벨값인것을 특징으로 하는 적응형 클록 복구 방법. - 제6 항에 있어서, 상기 주파수 플럭추에이션에 의한 최소 버퍼 채워짐 레벨과 최대 버퍼 채워짐 레벨을 이용하여 결정되는 버퍼 채워짐 레벨값은,
미리 결정된 기준 시간 이전에는 초기 버퍼 레벨 시점의 버퍼 채워짐 레벨값에 미리 결정된 제1 조정 계수를 곱한값과, 플럭추에이션에 의한 최소 버퍼 채워짐 레벨과 최대 버퍼 채워짐 레벨의 차이값에 미리 결정된 제2 조정 계수를 곱한값 중 큰 값으로 결정되고,
상기 기준 시간 이후에는 초기 버퍼 레벨 시점의 버퍼 채워짐 레벨값에 미리 결정된 제1 조정계수를 곱한값과, 주파수 플럭추에이션에 의한 최소 버퍼 채워짐 레벨과 최대 버퍼 채워짐 레벨의 차이값에 미리 결정된 제2 조정 계수를 곱한값 중 큰 값과, 클록 주파수가 이미 복구된 이전 시점에서의 버퍼 채워짐 레벨의 평균값 중 작은 값으로 결정되는 것을 특징으로 하는 적응형 클록 복구 방법. - 제1 항에 있어서, 상기 c)단계에서 클록 주파수를 복구하는 것은 하기 수학식을 이용하여 복구하는 것을 특징으로 하는 적응형 클록 복구 방법.
[수학식]
여기에서, j+1는 클록 주파수를 복구하고자 하는 시점이고, j는 클록 주파수가 복구된 시점 또는 이전 시점이며, f2(j+1)는 목적지 노드에서 복구되는 j+1 시점의 클록 주파수이고, 는 상기 예측된 클록 주파수 변량으로서 는 이며, 는 j 시점에서의 버퍼 채워짐 레벨이고, 는 j+1 시점에서의 버퍼 채워짐 레벨이며, 는 j 시점에서의 셈플링 시간이고, 는 상기 클록 주파수 보정값이며, 이고, 는 버퍼 채워짐 레벨의 기준값이며, 는 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델에 따른 확률값이다. - 제9 항에 있어서,
상기 c)단계는 상기 버퍼 채워짐 레벨의 기준값은 네트워크의 상태를 고려하여 정적 또는 동적으로 결정하고, 상기 결정된 버퍼 채워짐 레벨의 기준값을 이용하여 클록 주파수를 복구하는 것을 특징으로 하는 적응형 클록 복구 방법. - 제1 항에 있어서,
상기 c)단계에서 클록 주파수의 복구는 목적지 노드에서의 클록 주파수와 클록 주파수 변량 및 상기 클록 주파수 보정값을 이용하여 계산하되, 상기 클록 주파수 보정값의 가중치 조절을 통해 클록 주파수를 복구하는 것을 특징으로 하는 적응형 클록 복구 방법. - 제1 항 및 제3항 내지 제 12항 중 어느 한 항의 적응형 클록 복구 방법을 컴퓨터상에서 수행하기 위한 프로그램이 기록된 컴퓨터에서 판독가능한 기록 매체.
- 소스 노드로부터 송신된 패킷들의 클록 주파수를 목적지 노드에서 적응적으로 복구하는 적응형 클록 복구 장치에 있어서,
상기 소스 노드에서의 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 차이인 클록 주파수 변량을 예측하는 클록 주파수 변량 예측부;
상기 목적지 노드로 전달되는 상기 패킷들이 패킷 망을 통과할 때 랜덤 지터에 의하여 발생하는 상기 패킷들의 주파수 플럭추에이션(fluctuation)을 보정하기 위하여 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델을 이용하여 클록 주파수 보정값을 계산하는 보정부; 및
상기 클록 주파수 변량과 상기 클록 주파수 보정값을 이용하여 클록 주파수를 복구하는 복원부를 포함하는 것을 특징으로 하는 적응형 클록 복구 장치.
- 삭제
- 제14 항에 있어서, 상기 클록 주파수 변량 예측부는 상기 패킷을 저장하는 버퍼의 버퍼 채워짐 레벨을 이용하여 예측하는 것이고, 상기 보정부는
미리 결정된 버퍼 채워짐 레벨의 기준값과 버퍼 채워짐 레벨의 차이값을 계산하는 채워짐 레벨 차이값 계산부;
상기 미리 결정된 랜덤 주파수 플럭추에이션에 관한 확률 분포 모델을 기반으로 상기 차이값에 대한 발생 확률을 결정하는 확률 계산부; 및
상기 버퍼 채워짐 레벨의 차이값과 상기 발생 확률을 이용하여 클록 주파수 보정값을 계산하는 보정값 계산부를 포함하는 것을 특징으로 하는 적응형 클록 복구 장치. - 제14 항에 있어서, 상기 클록 주파수 변량 예측부는
클록 주파수를 복구하고자 하는 제1 시점에서의 버퍼 채워짐 레벨과 상기 제1 시점에 선행하는 제2 시점에서의 버퍼 채워짐 레벨의 차이를 계산하는 차감부;
상기 버퍼 채워짐 레벨의 차이를 이용하여 상기 제2 시점에서 상기 소스 노드에서의 송신측 클록 주파수와 상기 목적지 노드에서의 예측된 클록 주파수 간의 클록 주파수 변량을 예측하는 예측부를 포함하는 것을 특징으로 하는 적응형 클록 복구 장치.
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)
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 |
-
2010
- 2010-07-21 KR KR1020100070419A patent/KR101103687B1/ko not_active IP Right Cessation
Patent Citations (1)
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)
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 |