KR20050025582A - 무선 네트워크에서 클록 드리프트의 정정 및 동기의유지를 위한 시스템 및 방법 - Google Patents

무선 네트워크에서 클록 드리프트의 정정 및 동기의유지를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20050025582A
KR20050025582A KR1020057000177A KR20057000177A KR20050025582A KR 20050025582 A KR20050025582 A KR 20050025582A KR 1020057000177 A KR1020057000177 A KR 1020057000177A KR 20057000177 A KR20057000177 A KR 20057000177A KR 20050025582 A KR20050025582 A KR 20050025582A
Authority
KR
South Korea
Prior art keywords
clock
node
client
value
drift
Prior art date
Application number
KR1020057000177A
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 메시네트웍스, 인코포레이티드
Publication of KR20050025582A publication Critical patent/KR20050025582A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/0015Synchronization between nodes one node acting as a reference for the others
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 무선 네트워크에서 노드의 클록 동기를 설정하고 유지하기 위한 시스템 및 방법(200)에 관한 것이다. 본 발명의 시스템 및 방법은 무선 네트워크에서 선택된 기준 노드와 클라이언트 노드 간의 제어 알고리즘과 일련의 메시지 교환을 이용하여 클록 천이와 전파 지연의 값들을 계산하고(과정 214), 그 다음 이 값들을 사용하여 클라이언트 노드 클록을 기준 노드 클록에 동기하게 된다(과정 216).

Description

무선 네트워크에서 클록 드리프트의 정정 및 동기의 유지를 위한 시스템 및 방법{A SYSTEM AND METHOD FOR CORRECTING THE CLOCK DRIFT AND MAINTAINING THE SYNCHRONIZATION IN WIRELESS NETWORKS}
본 발명은 무선 네트워크에 있어서 노드의 클록을 동기화하기 위한 시스템 및 방법에 관한 것이다. 더 상세하게는, 본 발명은 무선 네트워크에서 하나의 선택된 기준 노드와 클라이언트 노드 간의 클록 시프트(shift:천이), 클록 드리프트(clock drift: 편차), 및 전파 지연을 계산하기 위한 시스템 및 방법에 관한 것이다. 상기 계산된 클록의 시프트, 드리프트 및 전파 지연 값들은 기준 노드와 클라이언트 노드 클록들 간의 정확한 클록 동기를 위해, 그리고 노드들 간의 거리를 계산하기 위해 이용된다.
최근 몇 년 동안 "애드-혹(ad-hoc)"네트워크라 칭하는 이동통신 네트워크의 한 형태가 전통적인 기반구조 장치의 커버리지를 벗어나 복수의 이동 장치간의 통신을 수행케 할 필요성을 해결하기 위한 목적으로 개발되어 왔다. 이러한 형태의 네트워크에 있어서 각각의 사용자 단말(이하 "이동 노드"라 칭함)은 네트워크 내에서 다른 이동 노드들에 대한 이동형 라우터 또는 이동형 중계기(repeater)로서 동작이 가능하게 됨으로써 고정된 기반구조의 기지국들을 설치할 필요성이 점차 없어지고 있다. 따라서 발신 이동 노드로부터 착신 이동 노드로 전송되는 데이터 패킷들은 착신지 노드에 도달하기 전에 다수의 중간 이동 노드들을 거쳐 경로가 설정되는 것이 전형적이다.
한편 더 정교한 애드-혹 네트워크가 또한 개발되고 있는데, 이것은 전통적인 애드-혹 네트워크에서와 마찬가지로 이동 노드들이 서로 통신하는 것을 가능하게 할뿐만 아니라, 그 이동 노드들이 고정 네트워크에 접속되어 공중전화교환망(PSTN: Public Switched Telephone Network)이나 인터넷상의 사용자 단말들과 같은 다른 형태의 사용자 단말장치들과 통신하는 것을 가능하게 해준다. 이러한 형태의 진보된 애드-혹 네트워크들에 대한 자세한 내용은 2001년 6월 29자로 출원된 "Ad-Hoc Peer-to-Peer Mobile Radio Access System Interfaced to the PSTN and Cellular Network"라는 명칭의 미국 특허출원 제09/987,790호에서, 또한 2001년 3월 22자로 출원된 "Time Division Protocol for an Ad-Hoc, Peer-to-Peer Radio Network Having Coordinating Channel Access to Shared Parallel Data Channels with Separate Reservation Channel"라는 명칭의 미국 특허출원 제09/815,157호에서, 또한 2001년 3월 22자로 출원된 "Prioritized-Routing for an Ad-Hoc, Peer-to-Peer, Mobile Radio Access System"라는 명칭으로 된 미국 특허출원 제09/815,164호에서 기술되고 있는바, 이들의 모든 내용은 참고로 본 출원의 일원으로서 포함된다.
유선이던 또는 무선이던 이러한 네트워크들의 목적은 한 노드에서 다른 노드로 데이터를 전송함에 있다. 무선 네트워크에서는 이러한 정보는 노드들 간의 일련의 메시지 시퀀스로서 전달된다. 그러나 그러한 정보를 실질적으로 함유하는 데이터 메시지를 전송하기 전에 어떠한 제어 메시지들, 또는 "고정적(overhead) 정보"가 네트워크에 참여하는 구성원들 간에 교환된다. 이것은 데이터 전송 중에 동일 채널에서 어떤 다른 행위(즉, 전송)가 일어나지 않고 양쪽의 통신장치(correspondent)들이 동일 주파수 상에서 조정되도록, 즉 한 쪽의 통신요소는 송신할 준비가 되어 있고 다른 쪽의 통신요소는 수신할 준비가 되어 있도록 함을 보증한다. 그러한 데이터 전송이 완료된 후에, 수신측은 수신된 데이터의 품질을 확인하는 메시지로써 응답한다. 이것은 만일 데이터가 정확하게 수신되지 않았으면 데이터의 송신측이 다음 데이터 전송의 특성을 조절하거나 다른 전송 특성을 가지고 마지막 전송을 반복하도록 하는 것을 가능하게 한다.
이러한 무선 네트워크들에서 교환되는 고정적인 정보(오버헤드 정보)의 양은 매우 크게 되므로 특히 데이터 패킷이 크기가 작고 빈번하게 전송이 일어날 때에는 네트워크의 능력에 부정적인 영향을 미치게 될 수도 있다. 그러나 이러한 고정적인 정보 교환의 양은 타임 슬롯 기술을 이용하여 계획된 작업을 구현함으로써 실질적으로 감소되게 할 수가 있다. 불행하게도 이러한 작업 계획 기법은 네트워크에 있는 이동 노드들 간의 어느 정도의 클록 동기화를 필요로 하며, 이것은 낮은 품질의 클록을 갖는 시스템에서는 어렵다는 문제점이 있다.
매우 많은 양의 데이터 패킷들의 전송이나 빈도수가 적은 전송의 경우에는 전송을 준비하기 위한 고정적(오버헤드) 정보는 그리 중요치 않다. 그러나 전송되는 정보가 작은 크기의 패킷으로 제공되고 이러한 패킷들이 빈번하게 전송될 때에는 고정 정보의 전송은 부담이 된다. 음성 데이터 패킷들은 크기가 작고 빈번하게 이루어지는 데이터 패킷 전송의 좋은 예이다. 음성 패킷들은 통상 128바이트미만의 데이터로 이루어지며 초당 30회 정도로 반복된다. 크기가 작고 빈도수가 높은 전송에서 제공되는 데이터 스트림과 관련되는 오버헤드 정보의 양은 다양한 계획 기법들을 이용하여 감소될 수가 있다. 이러한 기법들은 한 주파수에서 단지 하나의 전송이 수행되고 각각의 통신장치가 그러한 높은 수준의 오버헤드 전송을 사용하지 않고 동일 주파수로 동시에 동조되도록 하는 것을 보장하는 데에 필요한 모든 정보를 양쪽의 통신 당사자들에게 제공하게 된다.
효율적인 데이터 전송을 계획하기 위한 하나의 방법은 전송 시간을 타임 프레임(TF)으로 분할하고, 각각의 타임 프레임은 타임 슬롯(TS)으로 더 분할하는 것이다. 이러한 시간적 분할은 타임 프레임(Time Frame) 레벨에서 빈도수가 높은 전송들에 대한 계획을 가능하게 해준다. 타임 슬롯(TS)의 활용은 하나의 타임 프레임에서 다른 타임 프레임으로의 변경을 하지 않기 때문에 상기한 오버헤드 정보는 통신을 개시하기 전에 단지 한번만 교환되고 전송 도중에 또는 전송의 재-라우팅(re-routing)이 필요할 때까지는 액티브 상태를 유지하게 된다. 그러나 상기한 TS 및 TF를 이용하는 방법을 실현하기 위해서는 먼저 네트워크 구성원 노드들의 클록 신호들의 동기를 맞추는 것이 요구된다.
클록 동기화는 유선 또는 무선 네트워크의 하나 또는 다수의 노드들에서 클록 조정(clock adjustments)을 다루는 임의의 기법을 기술하기 위하여 종종 사용된다. 이것들은 변환 기능을 사용하여 원격 타임 베이스에 부합하도록 로컬 타임 베이스를 변환시키는 과정, 또는 참조 목적으로 원격 타임 베이스에 관한 정보를 단지 수신하는 과정을 포함할 수도 있다. 예를 들면, 노드들 간의 타이밍에 관한 정보는 각 노드 사이에 존재하는 기본적인 변환 기능을 결정하기 위하여 교환될 수도 있다. 그러한 메시지 교환에 대해서는 200년 12월 5일자로 "Jean-Marc Berthaud"에게 허여된 미국특허 제6,157,957호(발명의 명칭: Clock Synchronization System And Method Using A Continuous Conversion Function For A Communication Network)에 기술되어 있으며, 그 전체 내용은 참고로 본 출원의 일원으로 포함된다. 상기한 버트하우드의 미국특허에서 제시된 방법은 하나의 이력(History) 데이터 레지스터에 대한 다수의 메시지 교환들의 집합 및 저장을 안내해 준다. 그 다음 상기 레지스터는 로컬 클록 값을 마스터 타임 베이스로 변환하기 위한 변환 기능을 계산하기 위해 사용되어도 좋다. 그러나 버트하우드의 특허는 통신 트래픽에 의해 야기되는 네트워크 대기행렬(queue)들로부터 초래하는 교환 지연의 비대칭성을 고려하지는 못한다. 더욱이 변환 기능들을 제공하기 위한 상기한 이력 데이터 레지스터들의 광범위한 프로세싱은 이동 노드의 어플리케이션 사용에 있어 제한되는데, 이것은 낮은 속도의 CPU에 의해 제어되는 것이 전형적이고 종종 부동 포인트(부동 소수점) 연산을 실행하는 능력의 결여를 가져온다. 로컬 타임 베이스를 조절함이 없이 다른 노드들에서 타임 베이스를 계산하기 위한 또 다른 기법들은 1995년 3월 28일자로 발행된 "Klaus Turski"의 미국특허 제5,402,394호(발명의 명칭: "Process For Generating A Common time Base For A System With Distributed Computing Units")에 제시되어 있는데, 그의 전체 내용은 참고로 본 출원에 포함된다.
동기를 위한 노드들 간의 실제적인 메시지 교환은 노드의 네트워크 구성배열에 대해 종종 종속적으로 된다. 하나의 구성 예는 폐쇄형 루프(closed loop) 통신 링인데, 이것은 메시지(및 어떠한 연관된 데이터)가 링 내에서 발신 노드로 귀환될 때까지 상기 링의 각 노드를 통해 메시지들을 전달할 수도 있다. 그러한 방법은 링 네트워크가 단지 두 개의 노드로 이루어져 있는 가장 간단한 구성에 있어서의 링 네트워크의 요구조건들을 만족시킬지도 모르지만, 메시지 교환이 과도하게 될 지도 모른다. 통신 링에서의 동기 교환에 대한 더 이상의 상세한 사항들은 1999년 5월 25일자로 발행된 "John R. Douceur"의 미국특허 제5,907,685호(발명의 명칭: System And Method for Synchronizing Clocks In Distributed Computer Nodes)에, 그리고 1995년 1월 31일자로 "Brann et al."에게 허여된 미국특허 제5,386,542호(발명의 명칭: System For Generating A Time Reference Value In The MAC Layer Of An ISO/OSI Communications Model Among A plurality of Nodes)에 기술되어 있으며, 그들 각각의 내용 전체는 참고로 본 출원의 일원으로 포함된다.
원격지 클록과 상응하도록 로컬 클록을 조정하기 위한 교환 기능이 이용되는 경우에는 메시지 전파 시간과 같은 여러 가지의 메시지 교환 변수들이 고려되어야만 한다. 더욱이 애드-혹 무선 네트워크에 있어서 이동 노드들 간의 클록 동기는 클록 시프트 및 클록 드리프트와 같은 부가적인 어려움에 직면하게 된다. 예를 들면, 무선 네트워크에서 노드들 A와 B가 있다고 간주하자. 소정의 시간 t에서 각각의 노드 A와 B 상의 클록 레지스터들은 변수 tA 및 tB를 나타낼 것이다. 두 개의 값들 사이의 차(tA - tB)는 두 개의 노드들 간의 "클록 시프트"에 해당한다. 이 클록 시프트 값은 각 클록이 같은 값을 나타내도록 만들기 위해서는 어느 하나의 클록에 대한 정정으로서 추가되어야만 한다. 하기의 수학식(1)에는 노드 A에서 클록 값에 적용될 보정에 해당하는 Δ AB 가 표시되며, 또한 노드 B에서 클록 값에 적용될 보정에 해당하는 Δ BA 가 나타나 있다.
여기서, 변수 t B 는 시간 t에서 노드 B의 클록 값이고 t A 는 시간 t에서 노드 A의 클록 값이다.
만일 어떤 다른 클록 조정도 행해지지 않는다면 잠시 후에 클록 레지스터 A 및 B는 변수 값 t' A t' B 를 나타낼 것이며, 여기서 각각에 대한 클록 시프트는 상기한 수학식(1)을 이용하여 다시 결정되어도 무방하다.
Δ' AB = t' B - t' A = Δ' BA
여기서, 변수 t' B 는 시간 t'에서 노드 B에서의 클록 값이고, t' A 는 동일한 시간 t'에서 노드 A에서의 클록 값이다.
Δ AB Δ' AB 는 동일하지 않다는 것을 관찰하는 것은 이상하지 않다. Δ AB Δ' AB 사이의 변동은, 부분적으로는, 노드 A 및 B 양자가 다른 주파수에서 동작하는 발진기들에 의해 구동되는 클록들을 가질지도 모른다는 사실에 기인한다. 특히, 각각의 노드는 다른 유닛들에서 같은 시간(t - t')을 측정하였다. 주파수의 변동은 하나의 클록으로 측정될 때 두 번째 클록으로써 측정된 동일한 기간보다 더 길거나 짧은 시간 주기로 귀결될 것이다(즉, 노드 A 클록은 노드 B 클록과는 상이하게 동일 시간 주기를 측정하였음). 더욱이 어떠한 측정도 상기 주기 동안 표준 값의 실제적 지속시간과 같지 않을지도 모른다(즉, 어떠한 클록도 시간주기를 정확하게 측정치 않음).
또 하나의 직면하는 어려움은 "클록 드리프트(편차)"이다. 시간 t에서 시간 t'로의 클록 시프트 값들의 변동은 그 클록의 클록 드리프트가 되며, 다음의 수학식(2)을 이용하여 결정될 수 있다.
여기서, Δ AB 는 시간 t에서 노드 A 및 B 사이의 시프트 값이고, Δ' AB 는 시간 t'에서의 노드 A 및 B 사이의 시프트 값이다. 변수들 tA 및 tB 는 각각 시간 t에서 노드 A 및 B의 클록 레지스터 값들이고, 마지막으로 변수들 t'A 및 t'B 는 각각 시간 t'에서 노드 A 및 B의 클록 레지스터 값이다.
상기 수학식(2)의 클록 드리프트 사이의 관계는 다음의 수학식(3)에 의해 나타난다.
전술한 바와 같이, 변동은 부분적으로는 노드들 A 및 B 양자가 상이한 주파수들에서 동작하는 발진기들에 의해 구동되는 클록들을 가질 수도 있다는 사실에 기인한다. 상기한 바와 같은 클록 드리프트를 일으키는 주파수 차이는 피피엠(parts-per-million: PPM) 단위로 통상 측정된다. 어떤 시스템 하드웨어의 회로기판에 있는 발진기를 제어하는 수정 발진기(quartz crystal)는 ±1 ppm 보다 더 양호한 정밀도를 가질 수 있는데, 이것은 1초의 시간주기 내에서 두 개의 회로기판 상의 클록 값들이 2㎲ 미만으로 클록 드리프트를 할 수 있거나 또는 약 17분에 2㎳ 미만의 드리프트를 할 수 있다는 것을 의미한다. 그러한 클록 드리프트가 큰 것으로 보일지 모르지만 수정 발진기로 제어되는 발진기들은 상대적으로 긴 시간 주기 동안 일정한 주파수를 유지하며, 이것은 그러한 드리프트를 크기와는 관계없이 거의 일정하게 유지되도록 한다. 그러나 어느 정도까지는 클록 드리프트 값이 서서히 변동하게 되는데, 이것은 온도 변화 또는 차폐되지 않은 기판 상에서의 주변의 용량 효과(capacitance effect)로부터 기인할 수도 있다.
클록 동기화에 대한 전술한 논의로부터 노드 클록들 간의 주파수 차이 또는 비대칭성(skew)으로부터 기인하는 어려움이 인식될 수 있다. 이에 대한 하나의 해법은 로컬 클록을 제어하기 위해 루프 필터에 의해 처리되는 위상-정정 조건의 생성인데, 이것은 전압-제어형(voltage-controlled) 발진기로서 작용하게 된다. 그러나 이러한 해결책은 예외적으로 안정된 국부 발진기들과 루프 필터들을 구비하는 로컬 클록들을 구현하는 노드들에는 제한성이 있게 된다. 클록의 제어에 있어서의 전압-제어형 발진기에 대한 부가적인 세부사항들은 "Davis L. Mills"이 저술한 "Internet Time Synchronization: The Network Time Protocol"이라는 명칭의 논문에 기술되고 있는데, 그의 전체 내용은 참고로 본 출원의 일원으로서 포함된다.
이동 노드의 클록 동기화에 있어서 이러한 애로사항들을 감안하면, 노드 클록에 대한 빠른 클록 동기 및 다이내믹한 드리프트 정정을 실행하는 한편 긴 기간동안 동기를 유지하기 위한 시스템 및 방법에 대한 필요성이 존재하게 된다.
도 1은 본 발명의 일 실시예를 이용하는 다수의 노드들을 포함하는 예시적인 애드-혹 무선통신 네트워크의 개념적 블록도;
도 2는 도 1에 도시된 무선 노드의 구성의 일례를 나타내는 블록도;
도 3은 본 발명의 일 실시예에 따른 클록 동기 메시지 교환의 일례를 예시하는 블록도;
도 4는 본 발명의 일 실시예에 따른 클록 드리프트 컨트롤을 위한 인터럽트 서비스 처리순서(ISR)의 일례를 나타내는 흐름도;
도 5는 본 발명의 일 실시예에 따른 클록 동기 중에 존재하는 서버 상태의 일례를 예시하는 흐름도;
도 6은 본 발명의 일 실시예에 따른 클록 동기 중에 존재하는 클라이언트 상태의 일례를 나타내는 흐름도;
도 7은 본 발명의 일 실시예에 따른 매 5초마다 드리프트 컨트롤을 사용하는 경우의 시프트 오류의 일례를 도시하는 그래프 도면;
도 8은 본 발명의 일 실시예에 따른 매 0.5초마다 드리프트 컨트롤을 사용하는 경우의 시프트 오류의 일례를 도시하는 그래프도; 그리고
도 9는 본 발명의 일 실시예에 따른 드리프트 추정(estimation)의 일례를 나타내는 그래프이다.
따라서 본 발명의 목적은 애드-혹 무선 네트워크에서 노드들 간의 클록 시프트 및 클록 드리프트를 계산하기 위한 시스템 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 클록 시프트 및 클록 드리프트 값을 이용하여 애드-혹 무선 네트워크에서 노드 클록들의 동기를 맞추기 위한 시스템 및 방법을 제공함에 있다.
전술한 본 발명의 목적 내지는 다른 목적들은 클라이언트 노드와 선택된 기준 노드 사이의 다수의 동기 메시지들을 교환하여, 그로부터 클록 드리프트, 클록 시프트 및 전파 지연 값들이 결정되고, 그 다음 이 값들을 이용하여 클라이언트 노드 클록에 대해 기준 노드 클록의 동기를 맞춰 이동 노드의 위치를 계산하도록 하는 시스템 및 방법에 의해 실질적으로 달성된다.
전술한 바와 같은 본 발명의 목적, 이점 및 새로운 특징들은 첨부한 도면들과 함께 아래와 같은 설명을 참조함으로써 더욱 용이하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예를 채용하고 있는 애드-혹(ad-hoc) 패킷 교환(packet-switched) 무선통신 네트워크(100)의 일례를 예시하는 블록도이다. 특히, 상기 네트워크(100)는 다수의 이동 무선 사용자 단말들 102-1 내지 102-n(총괄하여, 노드들 또는 이동 노드들(102)로 지칭하기로 함)을 포함하고, 그리고 다수의 접속 포인트(access point)들 106-1, 106-2, …, 106-n(총괄하여, 노드들 또는 접속 포인트들(106)로 지칭하기로 함)들을 갖는 고정 네트워크(104)를 포함하여 이루어지는데, 이들은 상기 노드들(102)에 고정 네트워크(104)에 대한 접속을 제공하기 위한 것이다. 상기 고정 네트워크(104)는 예컨대 코어 로컬 접속 네트워크(LAN) 및 다수의 서버들과 게이트웨이 라우터(gateway router)들을 포함하여, 상기 이동 노드들(102)에 다른 애드-혹 통신망, 공중 교환망(PSTN) 및 인터넷 등과 같은 다른 네트워크들에 대한 접속을 제공한다. 상기 통신 네트워크(100)는 다른 노드(102, 106, 또는 107) 사이에서 데이터 패킷들을 라우팅 하기 위한 다수의 고정 라우터들 107-1 내지 107-n(총괄하여, 노드들 또는 고정 라우터들(107)로 지칭하기로 함)을 또한 더 구비한다. 본 출원에서, 설명의 편의상 전술한 노드들은 "노드들 102, 106 및/또는 107"또는 단순히 "노드(들)"로 집합적으로 언급될 수도 있음을 주목하여야 한다.
당해 기술 분야의 전문가라면 이해할 수 있는 바와 같이, 상기한 노드들(102, 106, 107)은 서로 직접적으로 통신이 가능하거나 또는 노드들 사이에서 전송되는 데이터 패킷들에 대한 라우터(들)로서 동작하는 하나 또는 다수의 다른 노드들(102, 106 또는 107)을 경유하여 통신이 가능한데, 이러한 형태의 애드-혹 네트워크에 관하여는 메이어(Mayor)의 미국특허 제5,943,322호에, 그리고 전술한 미국 특허출원 제09/987,790호, 미국 특허출원 제09/815,157호, 및 미국 특허출원 제09/185,164호에 상세하게 기술되어 있으며, 이들 각각의 내용은 참고로 본 출원의 일원으로서 포함된다. 특히, 도 2에 도시된 바와 같이, 각각의 노드들(102, 106 및 107)은 집합적으로 하나의 모뎀으로 언급될 수도 있는 안테나(110)에 결합되어, 제어기(112)의 제어 하에 상기 노드(102, 106 또는 107)로 또는 그로부터 패킷화 된 데이터 신호들과 같은 신호들을 송신하거나 수신할 수 있는 송수신기(transceiver)(108)를 포함한다. 상기 패킷화된 데이터 신호들은 예를 들면, 음성, 데이터 또는 멀티미디어 정보를 포함할 수도 있다.
각각의 노드(102, 106 및 107)는 다른 무엇보다도 자기 자신과 네트워크(100)의 다른 노드들(102, 106 또는 107)에 관한 라우팅(routing) 정보를 저장할 수 있는 랜덤 액세스 메모리(RAM)와 같은 메모리(114)를 추가로 구비한다. 상기 노드들(102, 106, 107)은, 예컨대 새로운 노드(102)가 통신 네트워크(100)에 들어갈 때 또는 상기 네트워크 내에 존재하는 노드들이 이동할 때에 소정의 브로드캐스팅(broadcasting) 장치를 경유하여, 주기적으로, 라우팅 공지사항(routing advertisement) 또는 라우팅 테이블 정보로서 지칭되는 그들 각각의 라우팅 정보를 서로 교환한다.
도 2에 도시된 바와 같이, 어떤 노드들, 특히 이동 노드들(102)은 노트북 컴퓨터 단말, 휴대전화 단말기 유닛, 이동 데이터 유닛, 또는 기타 적절한 장치와 같은 임의의 수의 장치들로 이루어지는 호스트 116을 포함할 수도 있다. 각각의 노드 102, 106 및 107은 또한 인터넷 프로토콜(IP)과 어드레스 분석 프로토콜(Address Resolution Protocol: ARP)을 수행하기 위한 적절한 하드웨어와 소프트웨어를 포함하는데, 이들의 기능과 목적은 당해 기술 분야의 전문가라면 쉽게 이해할 수가 있을 것이다. 또한 전송 제어 프로토콜(Transmission Control Protocol: TCP)과 사용자 데이터그램 프로토콜(user datagram protocol: UDP)을 수행하기 위한 적절한 하드웨어와 소프트웨어가 포함될 수 있다. 부가적으로 각각의 노드는 도달시간(time of Arrival: TOA) 계산을 하기 위한 적절한 하드웨어와 소프트웨어를 포함할 수도 있다.
본 출원의 배경기술 부분에서 서술하였듯이, 무선 네트워크에서 교환되는 오버헤드 정보의 양은 데이터 패킷의 크기가 작고 전송이 빈번하게 이루어질 때 매우 크게 되어 네트워크의 능력을 저하시킬 수가 있다. 부가적으로, 그러한 오버헤드 정보의 교환을 감소시키는 방법들은 네트워크의 노드들 간의 정확한 클록 동기를 종종 필요로 하게 된다. 예를 들면, 오버헤드 정보의 교환을 감소시키기 위해 타임 프레임(TF)과 타임 슬롯(TS) 방법을 실행하기 위해서는 네트워크에 관련된 노드들의 클록을 동기화하는 것이 요구된다. 상기 클록들은, 도 2에서 예를 들면, 제어기(컨트롤러) 112의 일부이거나 또는 완전히 분리된 클록발생 유닛으로부터 제공될 수 있다. 다음에 기술된 본 발명의 실시예는 수정(quartz)으로 구동되는 발진기로써 제어되는 클록들을 포함하여 모든 그러한 노드 클록들을 동기화하고 긴 시간주기 동안 클록 동기를 유지하게 된다.
본 발명의 일 실시예에 따른 무선 네트워크에 있어서 두 개 또는 그 이상의 노드 클록들의 동기를 위해서는 먼저 하나의 클록을 기준 노드 클록으로 선택하는 것을 필요로 하고, 그 다음 나머지 각각의 노드 클록은 필요에 따라 그 기준 노드 클록에 대해 동기화가 이루어져도 좋다. 도 1의 네트워크(100)와 같은 이동 노드들로 이루어진 네트워크에서 특정한 하나의 노드(102, 106 또는 107)가 상기 기준 클록을 제공하기 위해 선택된다. 예시의 편의상, 노드 106-2가 기준 노드로서 선택되고 노드 102-4가 상기 노드 106-2의 클록과 동기가 이루어지는 것으로 한다면, 그 노드들 106-2 및 102-4 사이의 메시지 교환은 도 3에 도시된 바와 같이 시작된다.
도 3의 예에서, 노드 106-2(노드 A) 및 노드 102-4(노드 B)는 무선 네트워크에 위치하고 통신 목적상 클록 동기를 필요로 하는 것으로 표현된다. 노드 A가 "기준"노드로서 선택되면, 노드 A에 관한 노드 B의 클록 시프트(Δ BA )와 클록 드리프트(δ BA )가 먼저 결정되어야만 한다. 다음의 설명에서 상위의 자릿수는 이벤트 숫자(event number)이다. 예를 들면, 는 두 번째 이벤트가 발생하였을 때의 노드 B에서의 읽은 수치이고, 나머지도 마찬가지이다.
상기한 클록 시프트(Δ BA )와 클록 드리프트(δ BA )를 결정하기 위해서는 도 3의 노드 A는 클록 동기 정차를 개시하기 위한 메시지(118)를 노드 B로 전송하고 그 메시지가 전송되었던 시간 를 기록한다. 그 시점에서 스테이션 B에서의 클록은 시간 을 나타내고, 이것은 아래의 수학식(4)에 도시된 바와 같이 시간 에 클록 시프트를 더한 것과 동일하다.
노드 A로부터의 메시지(118)는 시간 시점에 노드 B에서 수신되는데, 이것은 아래의 수학식(5)에 도시된 바와 같이 노드 A와 B 사이의 메시지 전파 시간에 를 더한 것과 동일하게 된다.
상기 식에서, ρ AB 는 노드 A로부터 노드 B로의 신호 전파 시간이다.
시점 에서 스테이션 B는 노드 A로부터의 메시지(118)가 수신되었을 때(즉, 에서) 노드 B에서의 클록 값을 포함하는 메시지(120)와 함께 노드 A에 의해 전송된 상기 메시지(118)에 대해 응답한다. 노드 B로부터의 메시지(120)는 시점 에서 노드 A에 의해 수신되는데, 이것은 새로운 값들로써 상기한 수학식(5)을 사용하여 나타낸 바와 같이, 노드 A와 B 사이의 메시지 전파 시간과 클록 시프트에 시간 를 더한 것과 동일하다.
간단히 말하면, 노드 B는 이전의 메시지(120)가 노드 B에 의해 노드 A로 전송될 때의 시간 를 포함하여 노드 A로 또 다른 메시지(122)를 전송한다.
노드 A에 의해 직접적으로 알려진 값들인 시간 로부터, 그리고 노드 B로부터 수신된 메시지들로부터 노드 A에 의해 간접적으로 알려진 값들인 시간 로부터, 양 방향에서의 전파 시간이 동일하다는 것을 전제로 하면, 상기 노드 A는 아래의 수학식(6)을 이용하여 노드 A와 B 사이에 존재하는 클록 시프트(Δ BA )와 전파 시간(δ AB )를 계산할 수 있다.
상기 수학식(6)에서 클록 시프트와 전파 시간을 계산한 연후에 노드 A는 Δ AB ρ AB 의 값들을 메시지(124)의 노드 B로 전송한다. 그 다음 노드 B는 노드 A로부터의 Δ AB ρ AB 의 값들을 사용하여 그의 클록을 노드 A의 클록과 동기하도록 한다.
시점 에서, 서버 또는 노드 A에서 읽은 클록 값들은 32비트로 된 값들이다. 전송 시간을 절약하기 위하여, 클라이언트 또는 노드 B에서 시점 의 읽은 클록 값들은 8비트로 된 값으로서 메시지로 전송된다. 모든 값들은 양의 값이지만, 어느 한 값에 대하여 소위 "랩 어라운드(wrap around: 겹침)"가 발생할 수도 있다. 이벤트들이 순서에서 벗어날 때 그러한 "랩 어라운드" 시간이 인식된다. 이벤트들의 정상적인 순서는 이다(수학식(6)에 관하여). 이들 값들이 순서에서 벗어날 때 상기한 시간 랩 어라운드 정정(232 또는 28)이 적용되어야만 한다.
몇 초 후, 시간 t'에서 노드들 A와 B 사이의 도 3에 도시된 메시지 교환이 반복되고, 두 번째 시리즈의 값들이 노드 B에서 적용할 필요가 있는 새로운 클록 시프트와 새로운 전파 시간을 계산하기 위해 사용된다.
만일 노드들 A 및 B의 클록 주파수가 서로 크게 다르지 않다면, 상기한 수학식(7)에서 결정된 새로 계산된 클록 시프트 Δ' BA 는 영이 되어야만 한다. 만일 그것이 영이 아니면, 클록 드리프트가 일어나지 않는다는 것을 나타내고, 노드 B의 클록을 노드 A의 클록과 다시 한번 동기하기 위하여 그리고 본원의 부록(Appendix)에 제공된 드리프트 제어 알고리즘을 이용하여 클록 드리프트에 대해 보상하기 위하여 상기한 새로운 클록 시프트 Δ' BA 가 사용되는데, 이것은 아래에서 더 상세히 기술된다.
클록 시프트 정정의 주파수는 어플리케이션에 기초해 변경될 수도 있다. 만일 영의 정정 값이 동기 과정 중에 발생되면, 다음 번 클록 제어 세션(control session)까지의 시간 간격은 배가되어 약 900초까지 이를 수 있다. 제1 세션(session)과 제2 세션 사이의 시간 간격은 임의의 값을 가질 수 있지만, 1초미만의 값은 비현실적이다.
여기에 기술된 본 발명의 실시예에 있어서 노드 B의 클록은 +/-1㎲의 정확성을 갖는 것으로 간주된다. 더욱이, 노드 A로부터 노드 B로의 전파시간은 노드 B로부터 노드 A로의 전파시간과 같다고 간주된다. ρ AB = ρ BA 의 관계를 유지하기 위해서는 노드 A와 노드 B 사이의 거리가 도 3의 동기 과정 중에 300미터이상으로 변화하지 않는 것이 필요하다. 노드 A와 노드 B 간의 메시지들의 교환은 100㎳ 미만에서 완료되기 때문에 ρ AB ρ BA 의 관계는 노드 A 또는 B가 3,000㎧ 이상의 속도로 또는 음속의 거의 9배로 이동하고 있는 경우에만 단지 발생할 것이다. 따라서 신호 전파시간이 양 방향에서 같지 않더라도 노드 B의 전형적인 클록은 노드의 이동으로 인한 어떠한 결과적인 오류도 측정이 불가능하게 된다.
전술한 바와 같이, 노드 A와 B의 클록 주파수가 서로 크게 상이하지 않다면, 새로 계산된 클록 시프트(Δ' BA )는 영이어야만 한다. 만일 영이 아니면, 클록 드리프트가 일어나고 있다는 것을 나타내고, 새로운 클록 시프트(Δ' BA )가 사용되어 노드 B의 클록을 노드 A의 클록과 다시 한번 동기하게 되고, 또한 드리프트 제어 알고리즘을 이용하여 클록 드리프트에 대해 보상하도록 한다. 클록 드리프트의 정정은 타이머 인터럽트 시에 활성화되고, 후술하는 드리프트 제어 알고리즘을 실행하는 드리프트 조절 기능을 작동시킨다. 특히, 클라이언트에서의 주기적인 타이머 인터럽트는 상기 드리프트 조절 기능을 작동시키기 위해 이용되며, 예기되는 정밀도에 따라서는 그 기능은 100㎳ 내지 5초 사이의 일정한 간격으로 활성화 된다. 2ppm의 상대적인 클록 정밀도를 위해서는 500㎳ 또는 그 이하의 작동 간격이라면 서버와 클라이언트 클록들 간의 오류 레벨을 2㎲를 넘지 않도록 유지할 것이다. 5초의 작동 간격은 12㎲만큼 큰 서버와 클라이언트 클록들 간에 정정되지 않은(uncorrected) 클록 시프트를 초래할 것이다.
상기한 부록의 코드 예에서 구현된 드리프트 제어 알고리즘은 다음과 같은 방법으로 클록 드리프트를 위한 정정에 이용되어도 좋다. 상기 알고리즘은 마지막 시프트 정정 값을 드리프트 제어 알고리즘에 전달하기 위하여 글로벌 변수(global variable)인 "G_ClockShift"를 사용한다. 상기 클록 시프트의 절대치는 클록 동기 구간의 마지막에서 계산된 클록 시프트의 값을 포함하여 상기 변수 "G_ClockShift"에 저장되고, 클록 서버에 의해 계산되어 클라이언트로 전달된다. 상기한 알고리즘은 클라이언트에서 클록 조절을 실행하고 드리프트의 평가 및 정정을 위한 클록 시프트 변수를 사용하는데, 여기서 상기 드리프트는 분수(fractional number)이다. 드리프트의 소수부분들 중의 일부를 무시하는 것은 어떠한 단시간의 효과를 갖지는 않지만 종국에는 상당히 중요할지도 모른다.
드리프트 제어 알고리즘은 드리프트 값을 어림잡는 두 개의 정수들의 분할을 모의로 수행한다(simulate). 상기 드리프트 값은 미리 알려져 있지 않기 때문에 그 알고리즘은 클록 시프트 변수 "G_ClockShift"의 값에 따른 두 개의 정수들의 값들에 대한 연속적인 조정을 수행한다. 각각의 조정으로써 상기한 근사화는 드리프트의 정확한 값에 더 가깝게 된다.
상기한 알고리즘의 "drift_Init" 기능은 클라이언트 스테이션이 새로운 클록 서버에 연결되고 로컬 및 글로벌 변수들의 초기 값들을 설정하는 매 시간마다 요구된다. 이러한 기능은 첫 번째 클록 동기 세션을 시작하기 바로 전에 요구되어야만 한다.
상기한 알고리즘의 "drift_ISR" 기능은 인터넷 서비스 루틴(Internet Service Routine: ISR)에 해당하고 일정한 시간 간격으로 작동된다. 이러한 ISR에 대한 더 상세한 정보는 도 4에 도시되어 있다. 만일 TDMA 클록이 이러한 인터럽트를 제어하기 위해 사용된다면, 그 인터럽트에 연관된 레지스터는 인터럽트들 사이에 동일한 수의 틱(tick)을 유지하기 위하여 상기 TDMA 클록이 조절될 때마다 적합하게 조절되어야만 한다. 도 4에서 드리프트 제어를 위한 ISR의 일례를 예시하는 흐름도(200)가 도시된다.
도면 200의 왼쪽에는 단말의 시동 시에 실행되는 초기화 과정(202)이 도시되어 있다. 상기 과정 202는 블록 204에서 모든 변수들을 영으로 세트한다. 상기한 도면 200의 오른쪽에는 클록 드리프트 제어 과정(206)이 도시된다. 그 중 처음 두 개의 블록들(208 및 210)은 단지 부차적인 중요성을 갖는다. 클록 동기화 세션이 실행되는 동안 변수 "G_ClockSession"은 일의 값을 갖는다. 상기 ISR의 첫 번째 블록(208)은 하나의 클록 세션이 진행되고 있는 동안 어떤 드리프트 정정도 실행되지 않음을 보장한다. 만일 "G_ClockSession"이 진행 중이면 이것은 블록 208에서 검출되고 그 과정은 블록 222에 존재한다. 그러한 정정은 클록 세션의 마지막에 계산되는 클록 시프트를 훼손하게 될지도 모른다. 만일 어떤 G_ClockSession도 진행 중이 아니면, 제어 과정은 블록 210으로 이동한다.
블록 210은 상기한 "remoteClock" 변수에 저장된 수의 크기를 점검한다. 만일 그 값이 블록 210에서 검출되는 것만큼 너무 크다면, 모든 로컬 변수들은 블록 218에서 둘로 분할되고 제어 과정은 블록 214로 이동한다. ISR의 반복되는 작동 중에 이러한 변수들은 증분이 이루어지는데, 이것은 산술적인 오버플로우(arithmetic overflow)를 야기할 수 있다는 사실을 의미한다. 만일 상기 값이 너무 크지 않다면 다음 과정은 블록 212로 이동된다.
블록 212에서는 영(zero)에 의해 나눠지는 것을 방지하기 위하여 블록 210에서와 같은 동일한 변수의 값을 점검한다. 만일 변수 remoteClock가 영이 아니면, 다음번 정정은 변수 "corr"으로서 계산되고 변수 "corectionClock"은 블록 220에서의 나누기 연산의 나머지를 값으로 취한다. 만일 상기 변수 remoteClock가 영이면, 제어 과정은 블록 214로 이동되어 거기서 상기 "remoteClock"은 일(one)만큼 증가되고, 클록 세션의 말미에 계산된 시프트 정정과 상기 corr 값 사이의 더하기로서 "driftControl"이 계산된다. 상기한 G_ClockShift는 그것의 값이 이미 사용되었으므로 영으로 세트된다. 마지막으로, 상기한 corectionControl은 driftControl의 절대값으로써 증가된다.
마지막 단계로서 이 실시예의 경우에는 TDMA 클록과 같은 하드웨어 클록의 레지스터는 블록 216에서 corr 변수의 값에 따라 정정된다. 이러한 ISR에서 두 개의 로컬 변수들인 correctionControl 및 remoteClock 은 정적(static) 상태이다. 정적 변수들로서 그 각각은 하나의 ISR 작동으로부터 다음 작동으로 그들의 변수들을 보존한다. 다른 두 개의 변수들, 즉 G_ClockSession 및 G_ClockShift 는 글로벌 변수이고, 그들의 값들은 클록 세션을 제어하는 기능에 의해 설정된다.
상술한 실시예는 노드들 A 및 B 양자에서 개별적인 작업(task) 실행 프로그램을 이용하여 달성된다. 특히, 예를 들면, 네트워크 서버가 될 수도 있는 기준 노드 A는"클록 서버"작업들(여기서는 또한 기준 작업으로 지칭되기도 함)로 적절하게 기술된 작업 기능들을 실행하며, 반면에 상기 기준 노드에 동기되는 어떠한 노드(102)가 될 수도 있는 노드 B는 "클록 클라이언트" 작업들(여기서는 또한 클라이언트 작업으로 칭하기도 함)로 기술된 작업 기능들을 실행한다.
도 1의 애드-혹(ad-hoc) 네트워크 환경(100)에 있어서 전형적으로 IAP 노드들(106) 또는 분리된 네트워크들의 루트 노드는 단지 클록 서버 작업들만 제공하는 것으로 제한되며, 결코 클록 클라이언트 작업들을 실행하도록 선택되지 않을 것이다. 즉, 하나의 IAP 또는 루트 노드는 전형적으로 본 발명의 실시예에 따른 하나의 기준 노드로서만 단지 선택될 수도 있다. 네트워크(100)의 나머지 노드들 102 및 107은 양자의 작업들을 실행하도록 선택될 수도 있는데, 그 각각은 기준 클록에 동기되어도 무방하기 때문이며, 그리고 그 각각은 다른 노드들에 대한 클록 기준을 제공할 수도 있다. 따라서 동일 노드 상에서는 많은 서버 작업들이 동시에 돌아갈 수도 있지만 단지 하나의 클라이언트 작업만이 작동되어도 좋다. 서버 작업들의 수는 그들의 클록들을 동기하도록 요구되는 이웃 노드들의 수와 같을 것이다. 하나의 노드에서 동작하는 각각의 서버 작업은 하나의 인접 노드에만 클록 데이터를 제공할 것이다.
도 3에서 먼저 설명된 바와 같이, 클록 동기화를 위하여 노드 A와 B 간에 교환되는 메시지들은 다음을 포함한다.
CLOCKSYNC - 타임아웃 시에 요구 노드(requesting node)에 의해 서버에 전송되는, 클록 동기 세션을 개시하기 위한 요구(request);
CLOCKTIME - 서버 타임을 32 비트 값으로 포함하는, 상기한 요구 노드 CLOCKSYNC 메시지에 대한 서버에 의한 응답;
CLOCKREPL1 - 서버로부터의 CLOCKTIME 메시지가 상기 요구 노드에 의해 수신될 때의 시간 를 포함하는, 상기 서버 CLOCKTIME 메시지에 대한 요구 노드에 의한 첫 번째의 응답;
CLOCKREPL2 - CLOCKREPL1 메시지가 상기 요구 노드로부터 전송될 때 시간 를 포함하는, 상기 서버 CLOCKTIME 메시지에 대한 요구 노드에 의한 두 번째의 응답; 그리고
CLOCKDATA - 상기한 요구 노드에서의 클록을 서버에서의 클록과 동기시키기 위하여 요구 노드에 의해 필요로 하는 클록 시프트 및 전파시간 값들을 포함하는, 동기 세션을 종결하는 상기 요구 노드에 대한 서버에 의한 응답.
메시지 118에 선행하는 첫 번째의 CLOCKSYNC 메시지는 노드 B로부터 노드 A로 전송되어도 좋다(이 메시지는 여기서 설명은 되지만 도시되지는 않는다). 이 메시지는 동기 세션을 탐색하는 상기한 요구 노드(requesting node) B 또는 클라이언트로부터 나오는 요구(request)이다. 그것은 클록 클라이언트 식별 정보 및 클록 서버 식별 정보를 함유한다.
도 3의 메시지 CLOCKTIME(118)은 클록 동기 세션을 개시하도록 서버에 의해 전송된다. 이 메시지는 클록 서버 식별, TDMA 레지스터(32비트), 도약(hop) 수, 연결 관계(접속 또는 비접속), 및 네트워크 종류(분리형 또는 랜드(land) 형) 정보를 함유한다. 여기에 제시된 실시예에서 서버 접속관계는 서버와 네트워크 간의 접속에 관련된다. 비접속형(disconnected) 서버는 네트워크에 대한 어떤 연결성도 갖지 않으며, 따라서 어떤 인접 노드들에 대한 접속도 갖지 않는다. 네트워크 종류는 서버가 접속되는 네트워크의 유형을 지정한다. 분리형(isolated) 네트워크는 어떠한 랜드 접속도 갖지 않는데, 여기서 랜드 접속은 하나 또는 다수의 IAP들을 통해 단지 네트워크들에 의해서만 이루어질 수 있다.
도 3의 CLOCKREPL1 메시지(120)는 상기한 CLOCKTIME 메시지(118)에 대한 첫 번째의 응답이다. 상기 메시지(120)의 내용은 클록 서버 식별, 클록 클라이언트 식별 및 상기 CLOCKTIME 메시지(118)가 수신되었을 때의 클록을 읽은 값()을 포함한다. 도 3의 CLOCKREPL2 메시지(122)는 상기 CLOCKTIME 메시지(118)에 대한 두 번째의 응답이며 또한 클록 서버 식별, 클록 클라이언트 식별 및 상기 CLOCKREPL1 메시지(120)가 전송되었을 때의 클록을 읽은 값()을 포함한다.
노드 A 및 B의 모뎀이 소정의 시간에 메시지 전송을 개시하는 능력을 구비하는 본 발명의 또 다른 실시예에 있어서, 상기한 메시지들 CLOCKREPL1 및 CLOCKREPL2 양자는 하나의 메시지 CLOCKREPL로 바꿔질 수도 있다. 이 경우에 상기 메시지가 전송되는 시간()은 메시지가 전송되기 전에 미리 계산되어 그 메시지에 포함될 수도 있다.
CLOCKDATA 메시지(124)는 클록 서버 식별, 클록 클라이언트 식별, 클라이언트 클록 시프트 및 서버와 클라이언트 간의 전파 시간 정보를 함유한다.
도 3에서, 기준 노드(126) 또는 본 실시예에서의 서버 노드 A는 클록 서버 작업들에 교환 메시지들을 통합하게 되는데, 그로써 클라이언트 노드 클록들에 대한 동기가 이루어진다. 그렇게 함으로써 상기 서버는 각각의 클라이언트 노드에 대하여 일련의 동작 상태들을 진행하게 되는데, 이로써 도 5에 도시되어 있는 것과 같이 동기가 일어나게 된다. 도 5에서, 서버는 어느 시점에서도 하나 이상의 인접 노드에 서비스를 제공할 수 있기 때문에 분리된 서버 상태 사이클은 동기를 요구하는 각각의 인접 노드와 연관된다.
도 5의 첫 번째 상태 또는 "시작(Start)" 상태(130)에서 기준 노드에서의 클록 서버 작업이 개시된다. 하나의 새로운 인접 노드가 테이블에 추가될 때 그 추가된 노드와 연관된 클록 서버 작업은 서버에서 "시작"상태(130)로 세트된다. 해당 노드의 초기화가 완료될 때 "시작"상태에서 "아이들(idle)"상태(132)로의 상태 변화가 이루어진다.
도 5의 "아이들" 상태(132)에서 클록 서버 작업은 CLOCKSYNC 또는 CLOCKREPL1 메시지 중의 먼저 발생하는 것을 대기한다. 전술한 바와 같이, CLOCKSYNC 메시지는 요구 노드에 의해 서버에 전송된 클록 동기 세션을 개시하는 요구 메시지이다. CLOCKREPL1 메시지는 상기 서버로부터의 CLOCKTIME 메시지가 요구 노드에 의해 수신되었을 때의 시간()을 포함하는, 서버 CLOCKTIME 메시지에 대한 요구 노드에 의한 첫 번째 응답이다.
도 5의 과정 134에서 CLOCKSYNC 메시지가 서버에 의해 수신될 때, 서버 작업은 모뎀에게 과정 136에서 CLOCKTIME 메시지를 전송하도록 지시하고 그 다음 과정 138에서 "Wait TxC" 상태로 들어간다. 이 상태에서, 상기 작업은 과정 154에서 TxC 인터럽트를 발생하는 동기과정의 순서가 완료되기를 대기한다. 이전 메시지의 전송 시간은 과정 152에서 으로 저장되고 작업은 140에서 "Wait Repl1" 상태로 들어간다.
도 5의 과정 142에서 CLOCKREPL1 메시지가 서버에 의해 수신될 때, 서버 작업은 과정 144에서 시간( )를 저장하도록 서버에게 지시하고, 과정 146에서 "Wait Repl2" 상태로 들어간다. 과정 148에서 상기 CLOCKREPL2 메시지가 수신될 때, 클록 표시치 이 이용 가능하게 되고 또한 상기 서버는 인접하는 클록 시프트를 계산하는 것이 가능하다. 그것은 CLOCKDATA 메시지와 함께 과정 150에서 클라이언트에게 다시 전송된다.
노드가 다음 클록 동기를 요구할 필요가 있을 때까지 5초미만의 시간을 갖는 어떤 인접 노드도 그것을 수신한 후에는 5㎳ 내에 CLOCKTIME 메시지를 응답해야만 한다. 상기 클록 서버가 통신 참여자로부터의 메시지를 대기하고 있는 어떠한 상태에 있을 때, 어떤 메시지도 제시간에 수신되지 않는다면 그것은 "아이들" 상태로 돌아간다.
도 3을 참조하면, 본 실시예에서 클라이언트 노드 B로서 동작하는 상기한 요구 노드(128)는 클록 서버 작업들과 메시지들을 교환한다. 그렇게 함으로써 클라이언트는 도 6에 도시된 바와 같은 노드 관련의 일련의 동작 상태들을 진행하게 된다. 도 6의 과정 156에서의 "시작"으로부터 작업은 클라이언트에서의 "time out(시간 경과)" 변수를 1초로 초기화 하고, 과정 158에서 변수 "G_ClockShift"를 영으로 초기화 한다. 상기한 G_ClockShift 변수는 클록 세션의 말미에서 계산되고 클록 정정을 포함한다. 정정 그 자체는 클록 드리프트를 정정하는 인터럽트 서비스 루틴(ISR) 도중에 클록에 적용된다.
도 6의 과정 160의 "아이들"상태에서 클라이언트 작업은 과정 168에서 타임아웃 인터럽트 또는 과정 162에서 CLOCKTIME 메시지의 수신을 대기하게 된다. 작업은 만일 그 메시지가 클록 서버로부터 입력되고 다음번 타임아웃 인터럽트가 있기까지 5초미만이면 상기 CLOCKTIME 메시지에 응답한다.
도 6에서 클라이언트에서의 타임아웃 인터럽트 168 시에 작업은 클라이언트 노드의 모뎀에게 클록 동기 세션을 개시하기 위한 요구를 송신하도록 지시하고, CLOCKSYNC 메시지를 과정 170에서 서버에 송신하고, 그 다음 과정 172에서 "WaitCLOCKTIME" 상태에 들어가도록 지시한다. 상기 "WaitCLOCKTIME" 상태에서, 작업은 수 마이크로 초(32비트) 정도의 서버에서의 시간을 포함하여 서버로부터 CLOCKTIME 메시지를 기대한다.
도 6의 과정 174에서 CLOCKTIME 메시지를 처음으로 수신할 때 클라이언트는 과정 176에서 그 자신의 클록 레지스터에 서버 클록을 복사하는 소위 거친(hoarse) 과정의 클록 정정기능을 수행하고 과정 178에서는 CLOCKREPL1 로써 응답한다. 이것은 클라이언트가 CLOCKTIME 메시지를 수신한 최초 시점에 시간 가 상기한 CLOCKTIME 메시지의 클록 값과 동일한 것을 보증하도록 한다. 이러한 거친 과정의 정정을 수행함으로써 시스템이 정밀성을 잃지 않고 클록 레지스터들의 단지 마지막 8비트만을 교환하는 것을 가능하게 해준다. CLOCKTIME 메시지의 연속적인 수신은 클라이언트 및 서버 클록들의 내용이 단지 몇 개의 유닛만 다른 값들을 나타내야만 하기 때문에 그러한 거친 과정의 정정기능을 필요로 하지 않는다.
도 6에서, 만일 CLOCKTIME 메시지가 과정 162에서의 "아이들" 상태인 동안 클라이언트에 의해 수신된다면, CLOCKREPL1 응답 메시지가 과정 178에서 서버에 전송되기 전에 5㎳까지의 임의의 지연이 과정 190에서 제공된다. 상기 CLOCKREPL1 메시지의 전송 시간을 읽은 다음에 CLOCKREPL2 응답 메시지가 과정 180에서 서버에 전송된다. 소정의 시간에 메시지들의 전송을 개시하는 것이 가능한 모뎀들(즉, 클록이 지정된 값을 나타낼 때까지 전송을 보류하는 기능을 갖는 모뎀)을 구비한 시스템에 있어서는 단일 메시지인 CLOCKREPL이 사용될 수도 있다. 이 경우에 메시지는 모든 정보를 함유하게 된다. 서버로부터 CLOCKDATA 메시지를 대기하는 동안 클록 클라이언트 작업은 과정 182에서 "WaitCLOCKDATA" 상태에 들어간다.
도 6의 과정 184에서 서버로부터 수신된 CLOCKDATA 메시지는 클록 시프트 정정 값을 포함한다. 상기 정정 값은 과정 186에서 그 메시지로부터 회수되어 변수 G_ClockShift 에 저장된다. 이 값은 로컬 클록의 드리프트와 시프트를 정정하기 위하여 도 4에 제공된 ISR의 실행 중에 사용된다. 만일 상기 클록 시프트가 영 또는 단지 일 유닛이면, 작업은 과정 188에서 다음 클록 세션에 대한 타임아웃을 실제적인 값의 두 배로 설정한다. 이러한 과정은 만일 클록 시프트가 하나의 세션으로부터 다음 세션까지 실질적으로 변화하지 않는다면 시스템이 연속적인 클록 세션들 사이의 시간을 지수 함수적으로 증가시키는 것을 가능하게 한다. 이것은 전형적으로 작은 값의 클록 시프트가 제공된다는 것은 드리프트 정정 알고리즘이 정확한 파라미터들을 갖고 있고 이러한 파라미터들에 대한 빈번한 조절의 필요성이 없다는 것을 정확하게 지시한다는 사실과도 일치한다.
전술한 바와 같은 두 개의 클록 동기 세션들 간의 시간은 노드 클록을 구동하는 수정 발진기(quartz oscillator)의 "지터(jitter)" 현상 때문에 클록 틱(tick)의 상실을 야기하지 않는 임의의 값으로 증가될 수 있다. 대부분의 발진기들에 대해 그러한 간격은 대략 20 내지 30 분이다. 만일 클록 시프트의 크기가 2 내지 4 유닛이면, 세션들 사이의 시간 간격은 변화되지 않는다. 만일 클록 시프트가 4 유닛을 넘어선다면, 다음번 세션에 대한 시간 간격은 이전의 간격의 반으로 축소되지만 1초미만으로 가지는 않는다.
전술한 서버는 접속형(connected) 및 분리형(isolated) 네트워크 양자에서 동작이 가능하고 네트워크 구성에 근거하여 클라이언트에 의해 기준을 잡기 위한 목적으로 선택된다. 접속형 네트워크들은 랜드 서비스에 대한 접속 기능을 제공하고 또한 하나 또는 다수의 액티브 IAP들을 포함하는 것이 전형적이다. 그러나 분리형 네트워크는 그러한 IAP 접속을 갖지 않는다. 이 경우 네트워크의 구성원은 랜드 서비스에 대한 접속을 갖지는 않지만 그 네트워크 내에서 서비스를 제공할 수는 있다. 클라이언트에 의한 서버의 선택은 이것을 고려하여 이루어진다.
전술한 본 발명의 일 실시예에 따른 동기 과정을 개시할 때, 제1 클라이언트 또는 도 1의 네트워크(100)의 노드 102는 분리형이고 그의 통신 "도약 수(hop number)"를 영으로 설정한다고 가정한다. 당해 기술 분야의 전문가라면 인식할 수 있듯이, "도약"이란 애드-혹 무선 네트워크에서 한 노드에서 다른 노드로의 "도약(hopping)"에 의해 데이터 패킷들이 발신자(source)로부터 착신자(destination)로 라우팅 되는 통신 경로의 설정을 지칭한다. 일상적인 라우팅 통지(routing advertisement: RA)와 같은 이웃 노드들로부터의 메시지들을 수신한 다음에 클라이언트는 수신된 가장 작은 도약 수를 식별하고 수신된 최소 도약 수에 1을 더한 값으로 그 자신의 도약 수를 설정한다. 클라이언트 자신의 도약 수보다 더 작은 도약 수를 갖는 모드 인접한 노드들로부터 클라이언트는 그의 클록 서버 또는 기준 노드로서 가장 강한 수신 신호를 갖는 인접 노드를 선택한다. 가장 신뢰성 있는 클록 서버를 선택하기 위하여 적응형 전송 프로토콜(Adaptive Transmission Protocol: ATP)에 대해 이용 가능한 5초 예보(5-second prediction) 시스템이 사용될 수 있다.
만일 클라이언트가 접속된 네트워크에 실질적으로 위치해 있다면, 클라이언트는 적어도 하나의 이웃 노드가 IAP에 대한 그러한 연결을 하고 있을 지라도 그 자신의 도약 수를 설정하는 동안 IAP에 접속되지 않은 모든 이웃 노드들을 무시하게 된다. 클라이언트 자신의 도약 수보다 작은 도약 수로써 IAP에 접속된 모든 이웃 노드들로부터 클라이언트는 가장 강한 수신된 신호를 갖는 접속된 이웃 노드를 그의 클록 서버로서 선택한다.
전술한 바와 같이, 이웃 노들 중의 어느 것도 랜드 서비스에 대한 접속을 갖지 않는다면 네트워크는 고립(분리)된다. 만일 클라이언트가 고립된 네트워크에 위치한다면, 그 네트워크의 루트 노드는 전체 네트워크에 대한 클록 기준을 제공한다. 고립된 네트워크에 접속된 클라이언트는 가장 작은 도약 수와 가장 큰 신호를 갖는 이웃 노드를 그의 클록 서버로서 선택한다. 두 개의 분리된 클라이언트들이 서로 통신을 시작할 때 먼저 통신이 이루어지는 쪽이 네트워크의 루트로서 선택되고 클록 기준을 제공한다.
따라서 서버가 선택될 시점에서 그것은 클라이언트에 도달하기 위한 가정 작은 수의 도약들을 필요로 하고 가장 양호한 신호를 제공하는 것이 가능하다. 이동통신 환경에서 이러한 특성들은 클라이언트, 서버 또는 네트워크 중의 어느 하나의 이동으로 인하여 시간적으로 변화하고 있다. 이것은 차례로 클라이언트가 서버의 상태를 계속적으로 모니터하고, 또한 다른 서버가 최적의 선택이 된다면 서버를 변경하는 것을 필요로 한다. 만일 이전의 서버가 이웃 테이블로부터 제거되거나, 클록 동기를 위한 두 번의 연속적인 요구에 응답하지 않거나, 네트워크로부터 분리되거나, 또는 서버 도약 수가 스테이션의 도약 수보다 크거나 같게 된다면, 클라이언트는 단지 다른 서버를 찾아야만 할 것이다. 서버가 상실될 때, 또는 서버를 변경시키는 작업 중에, 이하에서 설명된 드리프트 정정을 위한 현재의 알고리즘은 이전에 계산된 데이터를 사용하여 액티브 상태로 유지된다.
더욱이, 클록 서버를 위한 탐색과정이 무한 루프(indefinite loop)에 들어가는 것을 방지하기 위하여, 클록 클라이언트는 클록 서버를 찾는 동안 그의 도약 수를 증가시키지 말아야 한다. 만일 클라이언트가 그의 실제적인 도약 수보다 더 적은 도약 수를 갖는 어떠한 이웃도 발견할 수 없다면, 클라이언트는 그 자신을 "분리 상태(isolated)"로 공지하고 적어도 하나의 공지 사이클(advertising cycle)을 찾기 위하여 클록 서버를 탐색하는 것을 중지하여야만 한다. 그러한 중지가 있은 다음에 클라이언트는 클록 서비스를 제공할 수 있는 이웃 노드를 탐색하는 것을 다시 한번 시작해도 좋다.
전술한 실시예의 적용 결과는 도 7, 도 8 및 도 10에 도시된다. 도 7은 드리프트 정정 알고리즘이 매 5초마다 한번씩 동작될 때의 2.15ppm의 상대적인 드리프트를 갖는 두 개의 클록들에 대한 예기된 오류(에러)들을 나타내는 그래프이다. 그 도표는 매초의 시작부분에서 측정된, 대략 9 시간동안 두 개의 클록들 사이의 오류들의 변화를 나타낸다. 처음 다섯 개의 5초를 제외하면 도 7의 클록 오류들은 ±15 마이크로 초(㎲) 내의 변화를 갖는다. 도 7의 라인 192는 왼쪽 수직 눈금과 관련되며 클록 세션들 사이의 간격을 초단위로 나타내고 있다. 세션들 간의 간격은 세션들 사이에서 3초의 초기치를 가지며 두 개의 연속하는 세션들 사이에서 2000초정도까지 급격하게 증가한다.
유사한 방식으로 도 8은 2.15 ppm 클록 드리프트를 갖는 한 쌍의 클록들에 대하여 매 500㎳만큼 드리프트가 정정될 때의 시프트 오류들의 그래프를 도시하고 있다. 도 7과 비교하면, 오류들은 훨씬 더 작은 반면에 세션들 사이의 간격은 훨씬 더 빠르게 2000초를 향하여 수렴하게 된다. 따라서 전술한 바와 같은 발명의 실시예를 활용하면, 클록 드리프트에 대한 더 양호한 제어 덕분에 더 적은 수의 클록 동기 세션들로 귀결된다.
본 발명의 실시예를 테스트하는 것은 서버와 클라이언트 노드들에 대한 드리프트 값들을 근사화(approximation)함으로써 달성될 수 있다. 성공적인 드리프트 근사치(δ n )는 아래의 수학식(8)으로 계산된다.
여기서, 근사치(δ n )의 급수는 n → ∞일 때 δ n → δ의 특성을 갖는다.
상기한 드리프트 근사치(δ n )를 계산하기 위하여 클록 동기 세션들로부터 그리고 드리프트 제어 알고리즘으로부터 초래하는 TDMA 레지스터에 대해 행해지는 모든 Δ i 정정들이 그러한 정정들이 이루어지는 시간들(t i )과 함께 수집된다. 여기서 개별적인 값들을 수집하는 것은 필요치 않지만 그 값들의 합은 필요하다.
모든 δ n 값들이 수학식(8)으로써 계산되고 그 다음 적절히 그래프화 된다. 수학식 (8)에서 t 0 은 첫 번째의 클록 정정이 이루어질 때의 시간이다. 그러나 시간 t 0 에서 계산된 첫 번째 정정 값(Δ 0 )은 수학식 (8)에서 사용되지 않는다. 수학식 (8)에서 총합은 i = 0 으로부터가 아니라 i = 1 로부터 시작된다. δ n 값들의 결과적인 그래프는 도 9에 나타난다. δ n 의 가장 정확한 값은 도 9의 맨 오른쪽에 있는 단계 196에서 나타난다. 만일 발진기가 온도 변화 또는 어떤 다른 이유로 드리프트 변화를 갖는다면 라인 198은 수평대신에 진동하는 형태를 보일 것이다.
여기에 제시된 본 발명의 실시예는 드리프트가 얼마나 큰지에 상관없이 거의 일정한 드리프트를 갖는 클록들을 사용하여 노드들의 동적(dynamic)인 드리프트 정정과 신속한 클록 동기를 가능하게 해준다. 본 실시예는 음성 데이터 전송을 위한 오버헤드의 양을 음성 패킷당 적어도 1.4㎳ 만큼 또는 35%정도로 감소시키는 것이 가능하다. 예를 들면, ±3㎲미만의 간격을 두고 동기가 된, ±1 ppm 드리프트에 의해 영향을 받는 두 개의 클록들을 유지하면서, 본 발명은 매초마다 내부 클록의 드리프트를 정정하기 위하여, 각각 60비트로 된 다섯 개의 메시지들로 이루어지는 매35분마다의 교환을 필요로 하게 된다. 이러한 동작을 유지하기 위한 16MHz CPU에 대한 부가적인 로드는 대략 0.0002% 정도인 반면에, 공중(air) 트래픽 오버헤드는 매2,000초당 2㎳ 또는 0.0001%이다.
본 발명은 무선 네트워크에 있어서 노드의 클록을 동기화하기 위한 시스템 에 이용된다.
전술한 바와 같은 본 발명은 특히 예시된 몇 가지의 실시예들을 참조하여 주로 설명하였지만, 당해 기술 분야의 전문가라면 본 발명의 정신과 교시를 크게 이탈함이 없이도 여러 가지의 변형이 가능하다는 것을 이해할 것이다. 따라서 그러한 모든 변형(물)은 청구범위에서 정의된 본 발명의 영역 내에 포함되는 것으로 의도될 것이다.
[부록]

Claims (32)

  1. 무선 애드-혹 통신 네트워크에서 다수의 노드들 중의 적어도 두 개의 노드들 간의 클록 동기를 제어하기 위한 방법에 있어서,
    상기 다수의 노드들로부터 하나의 기준 노드를 선택하고 상기 기준 노드에 제1 통신신호를 전송하도록 상기 다수의 노드들 중의 클라이언트 노드를 제어하는, 상기 클라이언트 노드는 클라이언트 클록을 구비함과 아울러 상기 기준 노드는 기준 클록을 구비하도록 하는 과정과;
    상기 제1 통신신호를 수신하고, 그에 대한 응답으로서 상기 클라이언트 노드에 제1 응답을 전송하도록 상기 기준 노드를 제어하는 과정과;
    상기 제1 응답을 수신하고, 그 응답으로서 상기 기준 노드에 제2 및 제3의 통신신호를 전송하도록 상기 클라이언트 노드를 제어하는 과정과; 그리고
    상기 제2 및 제3 통신신호들을 수신하고, 응답으로서 상기 클라이언트 노드와 기준 노드 간에 존재하는 제1 클록 시프트 및 전파 값을 계산하고 상기 값을 제2 응답으로서 상기 클라이언트 노드에 전송하도록 상기 기준 노드를 제어하는 과정을 포함하여 이루어짐을 특징으로 하는 제어 방법.
  2. 제1항에 있어서, 네트워크 접속관계에 기초하여 상기 기준 노드를 선택하도록 상기 클라이언트 노드를 제어하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 제1 통신신호는 클록 동기를 위한 요구를 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서, 상기 제1 통신신호는 클라이언트 클록 및 기준 클록 정보를 포함하는 CLOCKSYNC 메시지를 포함하되, 상기 CLOCKSYNC 메시지는 상기 클라이언트 및 기준 노드들 간의 클록 동기 세션을 요구하도록 구성함을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 제1 응답은 제1 기준 클록 값을 포함하는 CLOCKTIME 메시지를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 제1 기준 클록은 상기 기준 노드로부터 상기 클라이언트 노드로의 상기 제1 응답의 전송시점에 기준 클록 값을 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기기준 클록 값은 32비트 값을 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 제2 통신신호는 제1 클라이언트 클록 값을 포함하는 CLOCKREPL1 메시지를 포함하고, 상기 제3 통신신호는 제2 클라이언트 클록 값을 포함하는 CLOCKREPL2 메시지를 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서, 상기 제1 클라이언트 클록 값은 상기 클라이언트 노드에 의한 상기 기준 노드로부터의 상기 제1 응답의 수신 시점에서 하나의 클라이언트 클록 값을 포함하는 것을 특징으로 하는 방법.
  10. 제8항에 있어서, 상기 제2 클라이언트 클록 값은 상기 클라이언트 노드로부터 상기 기준 노드로 상기 제2 통신신호의 전송 시점에서 하나의 클라이언트 클록 값을 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서, 상기 제1 클록 시프트 및 전파 값을 이용하여 상기 클라이언트 클록을 상기 기준 클록과 동기하도록 상기 클라이언트 노드를 제어하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서, 상기 제어 방법은:
    제2 클록 시프트 및 전파 값을 계산하기 위하여 그리고 그 응답으로서 상기 클라이언트 클록의 클록 드리프트를 결정하기 위해 상기 클라이언트 노드 및 상기 기준 노드 중의 적어도 하나를 제어하는 과정과; 그리고
    상기한 결정된 클록 드리프트 및 드리프트 제어 알고리즘을 사용하여 상기 클라이언트 클록의 상기 클록 드리프트를 정정하도록 상기 클라이언트 노드 및 상기 기준 노드 중의 적어도 하나를 제어하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서, 상기 드리프트 제어 알고리즘은 애드-혹 무선 네트워크의 하나의 노드에서 클록 드리프트 정정을 제어하기 위한 컴퓨터로 읽기가 가능한 명령어 매개체를 포함하고, 상기 방법은:
    드리프트 정정 값을 생성하고 상기 드리프트 정정 값을 사용하여 상기 클라이언트 클록의 상기 클록 드리프트를 정정하도록 상기 클라이언트 노드 및 상기 기준 노드 중의 적어도 하나를 제어하도록 구성된 제1 세트의 명령들을 포함하는 것을 특징으로 하는 방법.
  14. 제1항에 있어서, 상기한 제1 클록 시프트 및 전파 값을 계산하고 상기 값을 상기 클라이언트 노드와 교환하도록 상기 기준 노드를 제어하는 상기 과정은:
    상기 클라이언트 노드를 초기화하도록 구성된 제1 기준 노드 작업과;
    상기 클라이언트 노드와 클록 동기 메시지들을 교환하기 위해 상기 기준 노드를 지시하도록 구성된 제2 기준 노드 작업과; 그리고
    상기 제1 클록 시프트 및 전파 값을 계산하고 상기 클라이언트 노드에 상기 값을 전송하기 위해 상기 기준 노드를 지시하도록 구성된 제3 기준 노드 작업 중의 적어도 하나를 포함하는 기준 노드 작업들을 사용하여 이루어짐을 특징으로 하는 방법.
  15. 제1항에 있어서, 상기한 제1 클록 시프트 및 전파 값을 계산하고 상기 값을 상기 기준 노드와 교환하도록 상기 클라이언트 노드를 제어하는 상기 과정은:
    상기 클라이언트 노드를 초기화하기에 적합하게 구성된 제1 클라이언트 노드 작업과;
    상기 기준 노드와 클록 동기 메시지들을 교환하기 위해 상기 클라이언트 노드를 지시하도록 구성된 제2 클라이언트 노드 작업과; 그리고
    상기 동기 메시지들을 사용하여 상기 클라이언트 클록을 정정하기 위해 상기 클라이언트 노드를 지시하도록 구성된 제3 클라이언트 노드 작업 중의 적어도 하나를 포함하는 클라이언트 노드 작업들을 사용하여 이루어짐을 특징으로 하는 방법.
  16. 애드-혹 무선통신 네트워크에서 다수의 노드들 중의 적어도 두 개의 노드들 간의 클록 동기를 제어하기 위한 방법에 있어서,
    상기 다수의 노드들 중의 기준 노드와 클라이언트 노드 사이의 클록 동기 메시지의 교환을 제어하는 과정과;
    상기 클록 동기 메시지의 교환에 응답하여 상기 클라이언트 노드와 기준 노드 간에 존재하는 제1 클록 시프트 및 전파 값을 계산하고 상기 값을 상기 클라이언트 노드에 제공하도록 상기 기준 노드를 제어하는 과정과; 그리고
    상기 값과 드리프트 제어 알고리즘 중의 적어도 하나를 이용하여 상기 클라이언트 노드에서의 클라이언트 클록을 상기 기준 노드에서의 기준 클록과 동기화하도록 상기 클라이언트 노드를 제어하는 과정을 포함하여 이루어짐을 특징으로 하는 제어 방법.
  17. 제16항에 있어서, 네트워크 접속관계에 기초하여 클록 동기 메시지 교환을 위한 상기 기준 노드를 선택하도록 상기 클라이언트 노드를 제어하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  18. 제16항에 있어서, 상기 클록 동기 메시지 교환은 다음 작업들:
    상기 기준 노드를 초기화하고, 클록 동기 메시지들을 상기 클라이언트 노드와 교환하기 위해 상기 기준 노드를 지시하도록 구성된 기준 노드 작업들의 세트와; 그리고
    상기 클라이언트 노드를 초기화하고, 클록 동기 메시지들을 상기 기준 노드와 교환하기 위해 상기 클라이언트 노드를 지시하도록 구성된 클라이언트 노드 작업들의 세트 중의 적어도 하나를 포함하는 노드 작업들을 사용하여 이루어짐을 특징으로 하는 방법.
  19. 제16항에 있어서, 상기 알고리즘은 애드-혹 무선 네트워크의 어느 한 노드에서 클록 드리프트 정정을 제어하기 위한 컴퓨터로 읽기가 가능한 명령들의 매개체를 포함하고, 상기 방법은 드리프트 정정 값을 생성하고 상기 드리프트 정정 값을 이용하여 상기 클라이언트 클록의 상기 클록 드리프트를 정정하도록 상기 기준 노드와 상기 클라이언트 노드 중의 적어도 하나를 제어하도록 구성된 제1 세트의 명령들을 포함하여 이루어짐을 특징으로 하는 방법.
  20. 애드-혹 무선통신 네트워크에서 다수의 노드들 중의 적어도 두 개의 노드들 간의 클록 동기를 제어하기 위한 컴퓨터로 독출 가능한 명령들의 매개체에 있어서,
    상기 다수의 노드들로부터 하나의 기준 노드를 선택하고 상기 기준 노드에 제1 통신신호를 전송하기 위해 상기 다수의 노드들 중의 클라이언트 노드를 제어하도록 구성된, 상기 클라이언트 노드는 클라이언트 클록을 구비함과 아울러 상기 기준 노드는 기준 클록을 구비하도록 구성된 제1 세트의 명령들과;
    상기 제1 통신신호를 수신하고, 그에 대한 응답으로 상기 클라이언트 노드에 제1 응답을 전송하도록 상기 기준 노드를 제어하도록 구성된 제2 세트의 명령들을 포함하고;
    상기 제1 세트의 명령들은 또한, 상기 제1 응답을 수신하고, 그에 대한 응답으로 상기 기준 노드에 제2 및 제3의 통신신호를 전송하도록 상기 클라이언트 노드를 제어하도록 구성되고; 그리고
    상기 제2 세트의 명령들은 또한. 상기 제2 및 제3 통신신호들을 수신하고, 응답으로서 상기 클라이언트 노드와 기준 노드 간에 존재하는 제1 클록 시프트 및 전파 값을 계산하고 상기 값을 제2 응답으로서 상기 클라이언트 노드에 전송하도록 상기 기준 노드를 제어하도록 구성됨을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  21. 제20항에 있어서, 상기 제1 세트의 명령들은 네트워크 접속관계에 기초하여 상기 기준 노드를 선택하도록 상기 클라이언트 노드를 제어하도록 구성됨을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  22. 제20항에 있어서, 상기 제1 통신신호는 클록 동기를 위한 요구를 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  23. 제22항에 있어서, 상기 제1 통신신호는 클라이언트 클록 및 기준 클록 정보를 포함하는 CLOCKSYNC 메시지를 더 포함하되, 상기 CLOCKSYNC 메시지는 상기 클라이언트 및 기준 노드들 간의 클록 동기 세션을 요구하도록 구성함을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  24. 제20항에 있어서, 상기 제1 응답은 제1 기준 클록 값을 포함하는 CLOCKTIME 메시지를 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  25. 제24항에 있어서, 상기 제1 기준 클록 값은 상기 기준 노드로부터 상기 클라이언트 노드로의 상기 제1 응답의 전송시점에서의 기준 클록 값을 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  26. 제25항에 있어서, 상기기준 클록 값은 32비트 값을 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  27. 제20항에 있어서, 상기 제2 통신신호는 제1 클라이언트 클록 값을 포함하는 CLOCKREPL1 메시지를 포함하고, 상기 제3 통신신호는 제2 클라이언트 클록 값을 포함하는 CLOCKREPL2 메시지를 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  28. 제27항에 있어서, 상기 제1 클라이언트 클록 값은 상기 클라이언트 노드에 의한 상기 기준 노드로부터의 상기 제1 응답의 수신 시점에서의 하나의 클라이언트 클록 값을 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  29. 제27항에 있어서, 상기 제2 클라이언트 클록 값은 상기 클라이언트 노드로부터 상기 기준 노드로의 상기 제2 통신신호의 전송 시점에서의 하나의 클라이언트 클록 값을 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  30. 제20항에 있어서, 상기 제1 세트의 명령들은 상기 제1 클록 시프트 및 전파 값을 이용하여 상기 클라이언트 클록을 상기 기준 클록과 동기화하기 위해 상기 클라이언트 노드를 제어하도록 구성됨을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  31. 제20항에 있어서,
    상기 제1 세트의 명령들은 제2 클록 시프트 및 전파 값을 계산하기 위하여 그리고 그 응답으로서 상기 클라이언트 클록의 클록 드리프트를 결정하기 위해 상기 클라이언트 노드 및 상기 기준 노드 중의 적어도 하나를 제어하도록 구성되고;
    상기 제1 세트의 명령들은 또한 상기한 결정된 클록 드리프트 및 드리프트 제어 알고리즘을 사용하여 상기 클라이언트 클록의 상기 클록 드리프트를 정정하도록 상기 클라이언트 노드 및 상기 기준 노드 중의 적어도 하나를 제어하도록 구성됨을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
  32. 제31항에 있어서, 상기 알고리즘은 드리프트 정정 값을 생성하고 상기 드리프트 정정 값을 이용하여 상기 클라이언트 클록의 클록 드리프트를 정정하도록 상기 클라이언트 노드 및 상기 기준 노드 중의 적어도 하나를 제어하도록 구성된 제3 세트의 명령들을 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 명령들의 매개체.
KR1020057000177A 2002-07-05 2003-07-03 무선 네트워크에서 클록 드리프트의 정정 및 동기의유지를 위한 시스템 및 방법 KR20050025582A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/188,982 US7072432B2 (en) 2002-07-05 2002-07-05 System and method for correcting the clock drift and maintaining the synchronization of low quality clocks in wireless networks
US10/188,982 2002-07-05

Publications (1)

Publication Number Publication Date
KR20050025582A true KR20050025582A (ko) 2005-03-14

Family

ID=29999584

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057000177A KR20050025582A (ko) 2002-07-05 2003-07-03 무선 네트워크에서 클록 드리프트의 정정 및 동기의유지를 위한 시스템 및 방법

Country Status (9)

Country Link
US (1) US7072432B2 (ko)
EP (1) EP1520365B1 (ko)
JP (1) JP4224025B2 (ko)
KR (1) KR20050025582A (ko)
AT (1) ATE441984T1 (ko)
AU (1) AU2003281454A1 (ko)
CA (1) CA2490258A1 (ko)
DE (1) DE60329102D1 (ko)
WO (1) WO2004006493A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150125245A (ko) * 2014-04-30 2015-11-09 주식회사 이에스엠연구소 다시점 카메라를 위한 분산 시스템에서 제어 신호 전달 방법 및 다시점 카메라를 위한 분산 시스템

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221686B1 (en) * 2001-11-30 2007-05-22 Meshnetworks, Inc. System and method for computing the signal propagation time and the clock correction for mobile stations in a wireless network
US7200158B2 (en) * 2002-06-24 2007-04-03 Honeywell International Clock synchronizing method over fault-tolerant Ethernet
KR100758145B1 (ko) 2003-06-06 2007-09-13 메시네트웍스, 인코포레이티드 수신된 신호 강도 표시자 및 신호 전파 시간을 사용하여 도움이 필요한 소방관이 위치한 층 번호를 식별하기 위한 시스템 및 방법
US7286444B1 (en) * 2003-08-26 2007-10-23 United States Of America As Represented By The Secretary Of The Army Method and system for synchronizing separated clocks
US6885969B2 (en) * 2003-08-26 2005-04-26 Mitsubishi Electric Research Laboratories, Inc. Location estimation in partially synchronized networks
US7814188B2 (en) * 2003-12-16 2010-10-12 Honeywell International Inc. Synchronized wireless communications system
JP4442338B2 (ja) * 2004-02-06 2010-03-31 ソニー株式会社 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
US7551892B1 (en) 2004-02-26 2009-06-23 Bbn Technologies Corp Low-power ad hoc network entry
US7684015B2 (en) * 2004-03-15 2010-03-23 University Of Maryland, Baltimore County System and method for clock synchronization and position determination using entangled photon pairs
FR2871006B1 (fr) 2004-05-28 2008-09-12 Thales Sa Procede et systeme de synchronisation distribuee
US7239626B2 (en) 2004-06-30 2007-07-03 Sharp Laboratories Of America, Inc. System clock synchronization in an ad hoc and infrastructure wireless networks
US7599398B1 (en) * 2004-07-01 2009-10-06 Cisco Technology, Inc. Method and apparatus for dynamically adjusting system timers in wireless networks to optimize connection performance
ATE426289T1 (de) * 2004-11-25 2009-04-15 Fraunhofer Ges Forschung Verfahren zur synchronisation und datenuebertragung
CN100379183C (zh) * 2004-11-30 2008-04-02 西安电子科技大学 移动无线自组织网络的互同步方法
GB0426446D0 (en) * 2004-12-02 2005-01-05 Koninkl Philips Electronics Nv Measuring the distance between devices
US8145201B2 (en) 2004-12-17 2012-03-27 Raytheon Bbn Technologies Corp. Methods and apparatus for reduced energy communication in an ad hoc network
JP4173141B2 (ja) * 2005-01-31 2008-10-29 沖電気工業株式会社 通信タイミング制御装置、通信タイミング制御方法、ノード及び通信システム
US7773569B2 (en) * 2005-05-19 2010-08-10 Meshnetworks, Inc. System and method for efficiently routing data packets and managing channel access and bandwidth in wireless multi-hopping networks
US7349362B2 (en) * 2005-06-29 2008-03-25 Meshnetworks, Inc. Method and system for implementing the time division multiple access method to AD-HOC multihopping wireless networks
US20070032245A1 (en) * 2005-08-05 2007-02-08 Alapuranen Pertti O Intelligent transportation system and method
US20070070983A1 (en) * 2005-09-28 2007-03-29 Bbn Technologies Corp. Methods and apparatus for improved efficiency communication
US7826374B2 (en) * 2005-12-19 2010-11-02 Trilliant Networks, Inc. Method and apparatus for efficient transfer of data over a network
US7571340B2 (en) * 2006-06-13 2009-08-04 Intel Corporation Eliminating receiver clock drift caused by voltage and temperature change in a high-speed I/O system that uses a forwarded clock
US7738611B2 (en) * 2006-08-07 2010-06-15 Harris Stratex Networks, Inc. Remote monitoring and calibration of system reference clock using network timing reference
US7924728B2 (en) * 2006-08-25 2011-04-12 Raytheon Bbn Technologies Corp Systems and methods for energy-conscious communication in wireless ad-hoc networks
US7729336B2 (en) 2007-03-28 2010-06-01 Harris Corporation Synchronization and timing source priority in an ad-hoc network
US20080240163A1 (en) * 2007-04-02 2008-10-02 Texas Instruments Incorporated System and method for maintaining transmission synchrony
US7974264B2 (en) * 2007-07-13 2011-07-05 Michael Rothschild Method and a system for determining the spatial location of nodes in a wireless network
US8149716B2 (en) 2007-08-20 2012-04-03 Raytheon Bbn Technologies Corp. Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks
US7961554B2 (en) * 2008-01-11 2011-06-14 Cellnet Innovations, Inc. Methods and systems for accurate time-keeping on metering and other network communication devices
EP2245772B1 (en) * 2008-02-19 2019-04-10 Innovative Concepts, Incorporated Mimo slotted aloha (msa) system
AU2014200874B2 (en) * 2008-02-19 2015-10-08 Innovative Concepts, Inc. Mimo slotted aloha (msa) system
ES2435553T3 (es) 2008-03-12 2013-12-20 Genelec Oy Método y sistema de transferencia de datos para altavoces en un sistema de reproducción de sonido digital
US8073976B2 (en) * 2008-03-27 2011-12-06 Microsoft Corporation Synchronizing clocks in an asynchronous distributed system
US8254293B2 (en) * 2008-05-28 2012-08-28 Nivis, Llc Methods and systems for location estimation
US8130146B2 (en) * 2008-07-29 2012-03-06 Motorola Solutions, Inc. Method for measuring the time of arrival of radio signals
US8107989B2 (en) * 2008-07-31 2012-01-31 Honeywell International, Inc. Apparatus and method for transmit power control in a wireless network
WO2010014875A1 (en) * 2008-08-01 2010-02-04 Nivis, Llc Systems and methods for regulating clock precision in distributed devices
WO2010014872A1 (en) * 2008-08-01 2010-02-04 Nivis, Llc Systems and methods for determining link quality
US8139489B2 (en) * 2008-08-06 2012-03-20 International Business Machines Corporation Robust jitter-free remote clock offset measuring method
US8699406B1 (en) 2009-05-13 2014-04-15 Dust Networks, Inc. Timing synchronization for wireless networks
KR101705592B1 (ko) * 2009-05-18 2017-02-10 삼성전자주식회사 노드 간의 시간 동기화를 수행하는 네트워크 동기화 방법 및 장치
US8533355B2 (en) 2009-11-02 2013-09-10 International Business Machines Corporation Techniques for improved clock offset measuring
US8121050B2 (en) * 2010-04-08 2012-02-21 Exelis Inc. Maintaining time of day synchronization
NL2006699A (en) 2010-06-03 2011-12-06 Asml Netherlands Bv Stage apparatus and lithographic apparatus comprising such stage apparatus.
EP2429105B1 (en) * 2010-09-13 2013-03-27 Ntt Docomo, Inc. Node in a wireless system with time and clock frequency synchronizing and corresponding method
WO2012095120A1 (de) * 2011-01-11 2012-07-19 Siemens Enterprise Communications Gmbh & Co.Kg Verfahren zur taktsynchronisation einer mehrzahl von baugruppen
EP2544387B1 (en) * 2011-07-04 2016-03-16 Mitsubishi Electric R&D Centre Europe B.V. Methods and devices for performing synchronization and compensating clock drift among communication devices
ES2503568T3 (es) * 2011-10-31 2014-10-07 Itron, Inc. Sincronización de los nodos en una red
US8737378B2 (en) 2011-10-31 2014-05-27 Itron, Inc. Synchronization of nodes in a network
US8867421B2 (en) 2012-04-12 2014-10-21 Gainspan Corporation Correction of clock errors in a wireless station to enable reduction of power consumption
DE102012209680A1 (de) * 2012-06-11 2013-12-12 Rohde & Schwarz Gmbh & Co. Kg Verfahren und mobiles ad-hoc-Netzwerk zur effektiven Identifizierung von benachbarten Knoten
US9651672B2 (en) * 2012-09-25 2017-05-16 Intel Corporation Systems and methods for time synchronization
US9226251B2 (en) 2012-11-30 2015-12-29 Qualcomm Incorporated Systems and methods for optimization of synchronization message transmission intervals in a peer-to-peer network
US9078050B2 (en) 2012-12-28 2015-07-07 Elster Solutions, Llc Techniques for clock recovery in a mobile information collection network following a power outage
JPWO2014174806A1 (ja) 2013-04-22 2017-02-23 株式会社Joled El表示装置の製造方法
JP2014238357A (ja) * 2013-06-10 2014-12-18 ソニー株式会社 受信装置、時刻差算出方法、およびプログラム
US9226253B2 (en) * 2013-12-04 2015-12-29 Mitsubishi Electric Research Laboratories, Inc. Passive synchronization in wireless networks
US9602270B2 (en) 2014-02-21 2017-03-21 Landis+Gyr Innovations, Inc. Clock drift compensation in a time synchronous channel hopping network
CN103874177B (zh) * 2014-03-27 2017-12-08 北京工业大学 基于移动参考节点的无线传感器网络实时同步方法
MX2016014037A (es) * 2014-05-08 2017-02-14 ERICSSON TELEFON AB L M (publ) Metodo y aparato para determinar el retardo de propagacion en una red de comunicaciones.
IN2015CH03249A (ko) * 2015-06-27 2015-07-10 Wipro Ltd
US10069839B2 (en) 2016-02-11 2018-09-04 Microsoft Technology Licensing, Llc Determine approximate current time on a client using secure protocol metadata
US10298346B2 (en) * 2016-06-02 2019-05-21 Cisco Technology, Inc. Directed acyclic graph optimization based on timing information for generating optimized network clock
GB2551327B (en) * 2016-06-10 2020-02-19 Bluwireless Tech Ltd Clock synchronisation in wireless mesh communications networks
GB2551328B (en) * 2016-06-10 2020-02-19 Bluwireless Tech Ltd Clock synchronisation in wireless mesh communications networks
AU2018276459B2 (en) * 2017-06-02 2021-03-11 Sony Corporation Wireless device and processing method for wireless device
US10433197B2 (en) 2017-07-20 2019-10-01 Itron Networked Solutions, Inc. Compensating for oscillator drift in wireless mesh networks
US10849086B2 (en) 2017-07-20 2020-11-24 Itron Networked Solutions, Inc. Compensating for oscillator drift in wireless mesh networks
EP3656071A4 (en) * 2017-07-20 2021-04-21 Itron Networked Solutions, Inc. COMPENSATION OF THE OSCILLATOR DEVIATION IN WIRELESS MESH NETWORKS
JP7072078B2 (ja) * 2017-12-06 2022-05-19 テアテ オーユー 自己組織化ノード及び自己組織化ノードを有するセンサネットワーク
IL257997B (en) * 2018-03-08 2019-09-26 Connected Intelligence Systems Ltd Method and system for synchronizing a mesh network
US11836721B2 (en) * 2018-06-29 2023-12-05 Intel Corporation Protection of information in an information exchange
EP3813444A1 (en) * 2019-10-23 2021-04-28 Mitsubishi Electric R&D Centre Europe B.V. Synchronizing a connected node
JP7439474B2 (ja) 2019-11-25 2024-02-28 富士電機株式会社 プログラマブルコントローラシステムおよびモジュール
US11367014B2 (en) 2020-05-05 2022-06-21 Qubit Moving And Storage, Llc System and method for quantum cache
US11614771B2 (en) 2020-11-25 2023-03-28 Qubit Moving And Storage, Llc Method for synchronizing and locking clocks
US11616644B2 (en) 2020-11-25 2023-03-28 Qubit Moving And Storage, Llc System and method of verification and authentication using entangled photons
US12003626B2 (en) 2020-11-25 2024-06-04 Qubit Moving And Storage, Llc System and method of verification, authentication, and/or certification using entangled photons
US20230327779A1 (en) 2022-04-06 2023-10-12 Qubit Moving And Storage, Llc System and Method for Entangled State Identification Using Metadata
US11933608B2 (en) 2022-05-19 2024-03-19 Qubit Moving And Storage, Llc Quantum interferometer with improved entangled photon identification
US12007272B2 (en) 2022-10-15 2024-06-11 Qubit Moving And Storage, Llc Entangled photon identification system and method for quantum optical measurement

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910521A (en) 1981-08-03 1990-03-20 Texas Instruments Incorporated Dual band communication receiver
US4494192A (en) 1982-07-21 1985-01-15 Sperry Corporation High speed bus architecture
JPS59115633A (ja) 1982-12-22 1984-07-04 Toshiba Corp 情報伝送方式
US4677614A (en) * 1983-02-15 1987-06-30 Emc Controls, Inc. Data communication system and method and communication controller and method therefor, having a data/clock synchronizer and method
US4675863A (en) 1985-03-20 1987-06-23 International Mobile Machines Corp. Subscriber RF telephone system for providing multiple speech and/or data signals simultaneously over either a single or a plurality of RF channels
US4747130A (en) 1985-12-17 1988-05-24 American Telephone And Telegraph Company, At&T Bell Laboratories Resource allocation in distributed control systems
CA1261080A (en) 1985-12-30 1989-09-26 Shunichiro Tejima Satellite communications system with random multiple access and time slot reservation
US4742357A (en) 1986-09-17 1988-05-03 Rackley Ernie C Stolen object location system
GB2229064B (en) 1987-06-11 1990-12-12 Software Sciences Limited An area communications system
US5210846B1 (en) 1989-05-15 1999-06-29 Dallas Semiconductor One-wire bus architecture
US5555425A (en) 1990-03-07 1996-09-10 Dell Usa, L.P. Multi-master bus arbitration system in which the address and data lines of the bus may be separately granted to individual masters
US5068916A (en) 1990-10-29 1991-11-26 International Business Machines Corporation Coordination of wireless medium among a plurality of base stations
US5369748A (en) 1991-08-23 1994-11-29 Nexgen Microsystems Bus arbitration in a dual-bus architecture where one bus has relatively high latency
US5241542A (en) 1991-08-23 1993-08-31 International Business Machines Corporation Battery efficient operation of scheduled access protocol
US5386542A (en) 1991-10-31 1995-01-31 International Business Machines Corporation System for generating a time reference value in the MAC layer of an ISO/OSI communications model among a plurality of nodes
DE4140017C2 (de) 1991-12-04 1995-01-05 Nec Electronics Germany Verfahren zum Betreiben von über einen Datenbus durch seriellen Datenaustausch miteinander kommunizierenden Rechnereinheiten
US5231634B1 (en) 1991-12-18 1996-04-02 Proxim Inc Medium access protocol for wireless lans
US5392450A (en) 1992-01-08 1995-02-21 General Electric Company Satellite communications system
US5896561A (en) 1992-04-06 1999-04-20 Intermec Ip Corp. Communication network having a dormant polling protocol
FR2690252B1 (fr) 1992-04-17 1994-05-27 Thomson Csf Procede et systeme de determination de la position et de l'orientation d'un mobile, et applications.
US5233604A (en) 1992-04-28 1993-08-03 International Business Machines Corporation Methods and apparatus for optimum path selection in packet transmission networks
GB9304638D0 (en) 1993-03-06 1993-04-21 Ncr Int Inc Wireless data communication system having power saving function
US5696903A (en) 1993-05-11 1997-12-09 Norand Corporation Hierarchical communications system using microlink, data rate switching, frequency hopping and vehicular local area networking
US5408506A (en) 1993-07-09 1995-04-18 Apple Computer, Inc. Distributed time synchronization system and method
US5317566A (en) 1993-08-18 1994-05-31 Ascom Timeplex Trading Ag Least cost route selection in distributed digital communication networks
US5631897A (en) 1993-10-01 1997-05-20 Nec America, Inc. Apparatus and method for incorporating a large number of destinations over circuit-switched wide area network connections
US5857084A (en) 1993-11-02 1999-01-05 Klein; Dean A. Hierarchical bus structure access system
US5412654A (en) 1994-01-10 1995-05-02 International Business Machines Corporation Highly dynamic destination-sequenced destination vector routing for mobile computers
JP2591467B2 (ja) 1994-04-18 1997-03-19 日本電気株式会社 アクセス方式
US5502722A (en) 1994-08-01 1996-03-26 Motorola, Inc. Method and apparatus for a radio system using variable transmission reservation
JP3043958B2 (ja) 1994-09-29 2000-05-22 株式会社リコー 無線通信によるネットワーク通信方式
US6029217A (en) 1994-10-03 2000-02-22 International Business Machines Corporation Queued arbitration mechanism for data processing system
EP0709982B1 (en) 1994-10-26 2004-06-30 International Business Machines Corporation Medium access control scheme for wireless LAN using a variable length interleaved time division frame
US5535217A (en) 1994-12-20 1996-07-09 International Business Machines Corporation Method and apparatus for probabilistic clock synchronization with interval arithmetic
US5618045A (en) 1995-02-08 1997-04-08 Kagan; Michael Interactive multiple player game system and method of playing a game between at least two players
US5555540A (en) 1995-02-17 1996-09-10 Sun Microsystems, Inc. ASIC bus structure
US5796741A (en) 1995-03-09 1998-08-18 Nippon Telegraph And Telephone Corporation ATM bus system
US5572528A (en) 1995-03-20 1996-11-05 Novell, Inc. Mobile networking method and apparatus
US5886992A (en) 1995-04-14 1999-03-23 Valtion Teknillinen Tutkimuskeskus Frame synchronized ring system and method
US5517491A (en) 1995-05-03 1996-05-14 Motorola, Inc. Method and apparatus for controlling frequency deviation of a portable transceiver
US5822309A (en) 1995-06-15 1998-10-13 Lucent Technologies Inc. Signaling and control architecture for an ad-hoc ATM LAN
US5623495A (en) 1995-06-15 1997-04-22 Lucent Technologies Inc. Portable base station architecture for an AD-HOC ATM lan
US5781540A (en) 1995-06-30 1998-07-14 Hughes Electronics Device and method for communicating in a mobile satellite system
GB2303763B (en) 1995-07-26 2000-02-16 Motorola Israel Ltd Communications system and method of operation
US5907685A (en) 1995-08-04 1999-05-25 Microsoft Corporation System and method for synchronizing clocks in distributed computer nodes
GB9517943D0 (en) 1995-09-02 1995-11-01 At & T Corp Radio communication device and method
US6132306A (en) 1995-09-06 2000-10-17 Cisco Systems, Inc. Cellular communication system with dedicated repeater channels
US6192053B1 (en) 1995-09-07 2001-02-20 Wireless Networks, Inc. Enhanced adjacency detection protocol for wireless applications
US5615212A (en) 1995-09-11 1997-03-25 Motorola Inc. Method, device and router for providing a contention-based reservation mechanism within a mini-slotted dynamic entry polling slot supporting multiple service classes
US5805593A (en) 1995-09-26 1998-09-08 At&T Corp Routing method for setting up a service between an origination node and a destination node in a connection-communications network
US5805842A (en) 1995-09-26 1998-09-08 Intel Corporation Apparatus, system and method for supporting DMA transfers on a multiplexed bus
US5701294A (en) 1995-10-02 1997-12-23 Telefonaktiebolaget Lm Ericsson System and method for flexible coding, modulation, and time slot allocation in a radio telecommunications network
US5717689A (en) 1995-10-10 1998-02-10 Lucent Technologies Inc. Data link layer protocol for transport of ATM cells over a wireless link
US5920821A (en) 1995-12-04 1999-07-06 Bell Atlantic Network Services, Inc. Use of cellular digital packet data (CDPD) communications to convey system identification list data to roaming cellular subscriber stations
US5991279A (en) 1995-12-07 1999-11-23 Vistar Telecommunications Inc. Wireless packet data distributed communications system
US5878036A (en) 1995-12-20 1999-03-02 Spartz; Michael K. Wireless telecommunications system utilizing CDMA radio frequency signal modulation in conjunction with the GSM A-interface telecommunications network protocol
KR100197407B1 (ko) 1995-12-28 1999-06-15 유기범 전전자 교환기에 있어서 프로세서들간 통신버스구조
US5680392A (en) 1996-01-16 1997-10-21 General Datacomm, Inc. Multimedia multipoint telecommunications reservation systems
US5684794A (en) 1996-01-25 1997-11-04 Hazeltine Corporation Validation of subscriber signals in a cellular radio network
US5706428A (en) 1996-03-14 1998-01-06 Lucent Technologies Inc. Multirate wireless data communication system
US5652751A (en) 1996-03-26 1997-07-29 Hazeltine Corporation Architecture for mobile radio networks with dynamically changing topology using virtual subnets
US5796732A (en) 1996-03-28 1998-08-18 Cisco Technology, Inc. Architecture for an expandable transaction-based switching bus
US5805977A (en) 1996-04-01 1998-09-08 Motorola, Inc. Method and apparatus for controlling transmissions in a two-way selective call communication system
US5943322A (en) 1996-04-24 1999-08-24 Itt Defense, Inc. Communications method for a code division multiple access system without a base station
US5787080A (en) 1996-06-03 1998-07-28 Philips Electronics North America Corporation Method and apparatus for reservation-based wireless-ATM local area network
US5845097A (en) 1996-06-03 1998-12-01 Samsung Electronics Co., Ltd. Bus recovery apparatus and method of recovery in a multi-master bus system
SE518132C2 (sv) 1996-06-07 2002-08-27 Ericsson Telefon Ab L M Metod och anordning för synkronisering av kombinerade mottagare och sändare i ett cellulärt system
US5774876A (en) 1996-06-26 1998-06-30 Par Government Systems Corporation Managing assets with active electronic tags
US5844905A (en) 1996-07-09 1998-12-01 International Business Machines Corporation Extensions to distributed MAC protocols with collision avoidance using RTS/CTS exchange
US5909651A (en) 1996-08-02 1999-06-01 Lucent Technologies Inc. Broadcast short message service architecture
US5987011A (en) 1996-08-30 1999-11-16 Chai-Keong Toh Routing method for Ad-Hoc mobile networks
US6044062A (en) 1996-12-06 2000-03-28 Communique, Llc Wireless network system and method for providing same
US5903559A (en) 1996-12-20 1999-05-11 Nec Usa, Inc. Method for internet protocol switching over fast ATM cell transport
US5877724A (en) 1997-03-25 1999-03-02 Trimble Navigation Limited Combined position locating and cellular telephone system with a single shared microprocessor
US6073005A (en) 1997-04-22 2000-06-06 Ericsson Inc. Systems and methods for identifying emergency calls in radiocommunication systems
US6052594A (en) 1997-04-30 2000-04-18 At&T Corp. System and method for dynamically assigning channels for wireless packet communications
US5881095A (en) 1997-05-01 1999-03-09 Motorola, Inc. Repeater assisted channel hopping system and method therefor
TW375529B (en) * 1997-05-14 1999-12-01 Sega Corp Data transmission method and game system using the same
US5870350A (en) 1997-05-21 1999-02-09 International Business Machines Corporation High performance, high bandwidth memory bus architecture utilizing SDRAMs
US6240294B1 (en) 1997-05-30 2001-05-29 Itt Manufacturing Enterprises, Inc. Mobile radio device having adaptive position transmitting capabilities
GB2326065B (en) 1997-06-05 2002-05-29 Mentor Graphics Corp A scalable processor independent on-chip bus
US6108738A (en) 1997-06-10 2000-08-22 Vlsi Technology, Inc. Multi-master PCI bus system within a single integrated circuit
US5987033A (en) 1997-09-08 1999-11-16 Lucent Technologies, Inc. Wireless lan with enhanced capture provision
US6163699A (en) 1997-09-15 2000-12-19 Ramot University Authority For Applied Research And Industrial Development Ltd. Adaptive threshold scheme for tracking and paging mobile users
US6067291A (en) 1997-09-23 2000-05-23 Lucent Technologies Inc. Wireless local area network with enhanced carrier sense provision
US6034542A (en) 1997-10-14 2000-03-07 Xilinx, Inc. Bus structure for modularized chip with FPGA modules
US5936953A (en) 1997-12-18 1999-08-10 Raytheon Company Multi-mode, multi-channel communication bus
US6047330A (en) 1998-01-20 2000-04-04 Netscape Communications Corporation Virtual router discovery system
US6157957A (en) 1998-01-22 2000-12-05 Cisco Technology, Inc. Clock synchronization system and method using a continuous conversion function for a communication network
US6065085A (en) 1998-01-27 2000-05-16 Lsi Logic Corporation Bus bridge architecture for a data processing system capable of sharing processing load among a plurality of devices
GB2353450B (en) * 1998-03-25 2001-09-12 Alstom Uk Ltd Method for detecting processor-clock drift in a communication system
US6130881A (en) 1998-04-20 2000-10-10 Sarnoff Corporation Traffic routing in small wireless data networks
US6078566A (en) 1998-04-28 2000-06-20 Genesys Telecommunications Laboratories, Inc. Noise reduction techniques and apparatus for enhancing wireless data network telephony
US6400683B1 (en) * 1998-04-30 2002-06-04 Cisco Technology, Inc. Adaptive clock recovery in asynchronous transfer mode networks
US6064626A (en) 1998-07-31 2000-05-16 Arm Limited Peripheral buses for integrated circuit
US6304556B1 (en) 1998-08-24 2001-10-16 Cornell Research Foundation, Inc. Routing and mobility management protocols for ad-hoc networks
US6115580A (en) 1998-09-08 2000-09-05 Motorola, Inc. Communications network having adaptive network link optimization using wireless terrain awareness and method for use therein
US6208870B1 (en) 1998-10-27 2001-03-27 Lucent Technologies Inc. Short message service notification forwarded between multiple short message service centers
US6285892B1 (en) 1998-11-24 2001-09-04 Philips Electronics North America Corp. Data transmission system for reducing terminal power consumption in a wireless network
US6104712A (en) 1999-02-22 2000-08-15 Robert; Bruno G. Wireless communication network including plural migratory access nodes
US6147975A (en) 1999-06-02 2000-11-14 Ac Properties B.V. System, method and article of manufacture of a proactive threhold manager in a hybrid communication system architecture
US6275707B1 (en) 1999-10-08 2001-08-14 Motorola, Inc. Method and apparatus for assigning location estimates from a first transceiver to a second transceiver
US6349091B1 (en) * 1999-11-12 2002-02-19 Itt Manufacturing Enterprises, Inc. Method and apparatus for controlling communication links between network nodes to reduce communication protocol overhead traffic
US6349210B1 (en) * 1999-11-12 2002-02-19 Itt Manufacturing Enterprises, Inc. Method and apparatus for broadcasting messages in channel reservation communication systems
US7103124B1 (en) 1999-12-30 2006-09-05 Telefonaktiebolaget Lm Ericsson (Publ) Synchronization of nodes
US6839547B2 (en) * 2000-03-30 2005-01-04 Cellguide Ltd. Enhanced GPS receiver utilizing wireless infrastructure
US6873839B2 (en) 2000-11-13 2005-03-29 Meshnetworks, Inc. Prioritized-routing for an ad-hoc, peer-to-peer, mobile radio access system
US7047435B2 (en) * 2000-12-19 2006-05-16 Siemens Corporate Research, Inc. System and method for clock-synchronization in distributed systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150125245A (ko) * 2014-04-30 2015-11-09 주식회사 이에스엠연구소 다시점 카메라를 위한 분산 시스템에서 제어 신호 전달 방법 및 다시점 카메라를 위한 분산 시스템

Also Published As

Publication number Publication date
EP1520365A1 (en) 2005-04-06
DE60329102D1 (de) 2009-10-15
ATE441984T1 (de) 2009-09-15
CA2490258A1 (en) 2004-01-15
AU2003281454A1 (en) 2004-01-23
WO2004006493A1 (en) 2004-01-15
JP4224025B2 (ja) 2009-02-12
US20040005902A1 (en) 2004-01-08
EP1520365A4 (en) 2007-04-11
EP1520365B1 (en) 2009-09-02
US7072432B2 (en) 2006-07-04
JP2005536919A (ja) 2005-12-02

Similar Documents

Publication Publication Date Title
KR20050025582A (ko) 무선 네트워크에서 클록 드리프트의 정정 및 동기의유지를 위한 시스템 및 방법
JP4810169B2 (ja) 無線通信ネットワークにおいて送信機の送信クロックと受信機の受信クロックとを同期させるための方法
US10284359B2 (en) Clock synchronization frequency offset estimation method adapted to WIA-PA network
KR20100131015A (ko) 시분할 다중 접속 방법을 애드-혹 멀티호핑 무선 네트워크에 구현하는 방법 및 시스템
Jasperneite et al. Enhancements to the time synchronization standard IEEE-1588 for a system of cascaded bridges
EP2429105B1 (en) Node in a wireless system with time and clock frequency synchronizing and corresponding method
JP2004186877A (ja) 無線アクセスネットワークシステム、無線通信方法、同期サーバ及びノード装置
US20130155945A1 (en) Methods And Apparatus For Communication Synchronization
US9651984B2 (en) Feed-forward time transfer mechanism for time synchronization
JP2014238357A (ja) 受信装置、時刻差算出方法、およびプログラム
US7440474B1 (en) Method and apparatus for synchronizing clocks on packet-switched networks
JP2007184687A (ja) 伝搬遅延時間測定方法、同期方法、及び無線lanシステム
JP4467478B2 (ja) 伝送装置および時刻同期方法
Lennvall et al. A new wireless sensor network TDMA timing synchronization protocol
Krummacker et al. Intra-network clock synchronization for wireless networks: From state of the art systems to an improved solution
WO2018098791A1 (zh) 适用于多跳无线传感器网络的时钟同步频率偏移估计方法
Zhou et al. A scalable and adaptive clock synchronization protocol for IEEE 802.11-based multihop ad hoc networks
CN106162856A (zh) 一种无线AdHoc网络中的节点同步方法
König et al. Maintaining constructive interference using well-synchronized sensor nodes
Lam et al. An improved precision time protocol for industrial WLAN communication systems
Diarra et al. Improved clock synchronization start-up time for Ethernet AVB-based in-vehicle networks
EP2627040B1 (en) Method for eliminating systematical error components in a set of one-way delay measurement results for communications between two or more computing systems in a communication network, apparatus for performing the method and computer program product
CN108924922A (zh) 一种wsn簇型拓扑的链同步时间同步方法
KR20100048124A (ko) 근거리 통신망에서의 시간 동기화 방법
Zhou et al. On the scalability of IEEE 802.11 ad-hoc-mode timing synchronization function

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application