KR20110061609A - 개선된 무선 애드혹 통신기술 - Google Patents

개선된 무선 애드혹 통신기술 Download PDF

Info

Publication number
KR20110061609A
KR20110061609A KR1020117007836A KR20117007836A KR20110061609A KR 20110061609 A KR20110061609 A KR 20110061609A KR 1020117007836 A KR1020117007836 A KR 1020117007836A KR 20117007836 A KR20117007836 A KR 20117007836A KR 20110061609 A KR20110061609 A KR 20110061609A
Authority
KR
South Korea
Prior art keywords
node
nodes
proximity
data
wireless
Prior art date
Application number
KR1020117007836A
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
Priority claimed from US12/418,363 external-priority patent/US8060017B2/en
Application filed by 파워웨이브 코그니션, 인크. filed Critical 파워웨이브 코그니션, 인크.
Publication of KR20110061609A publication Critical patent/KR20110061609A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/18Communication route or path selection, e.g. power-based or shortest path routing based on predicted events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • H04W48/14Access restriction or access information delivery, e.g. discovery data delivery using user query or user detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/16Code allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0202Channel estimation
    • H04L25/0224Channel estimation using sounding signals
    • H04L25/0226Channel estimation using sounding signals sounding signals per se
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2602Signal structure
    • H04L27/261Details of reference signals
    • H04L27/2613Structure of the reference signals

Abstract

최적화된 무선 라우팅, 멀티 캐스트(multicast) 라우팅, 신속한 네트워크 엔트리(entry), 개선된 시간 슬롯 스케쥴(time slot scheduling)을 위한 콘텐션 도메인 및 노드(contention domains and node weighting)의 이용 등을 포함한 무선 애드혹 네트워킹을 위한 개선들이 있다.
서비스의 품질은, 트래픽(traffic) 등에 따라 다수의 서비스 레벨들이 네트워크 사용자들에게 제공되도록 노드 군(group)들을 거쳐 스케줄링 알고리듬(scheduling algorithms)내에서 각각의 노드에서 지원될 수 있다. 상기 개선들 및 다른 개선들이, 무선 애드혹 네트워크의 작동 및 지원 스케일러빌러티(scalability), 라우팅, 트래픽 관리, 서비스 전달 품질 및 다른 특징들을 개선하기 위해 개별적으로 또는 조합하여 이용될 수 있다.

Description

개선된 무선 애드혹 통신기술{ENHANCED WIRELESS AD HOC COMMUNICATION TECHNIQUE}
본 출원은, 하기 미국부분 특허출원들의 우선권을 청구한다. 2008년 9월 5일 출원된 미국특허출원 제 61/094,546 호, 2008년 11월 26일 출원된 미국특허출원 제 61/118,232 호, 2008년 9월 5일 출원된 미국특허출원 제 61/094,584 호, 2008년 9월 5일 출원된 미국특허출원 제 61/094,591 호, 2008년 9월 5일 출원된 미국특허출원 제 61/094,594 호, 2008년 9월 5일 출원된 미국특허출원 제 61/094,611 호, 2008년 9월 8일 출원된 미국특허출원 제 61/094,298 호, 2008년 9월 8일 출원된 미국특허출원 제 61/09,310 호, 2008년 10월 6일 출원된 미국특허출원 제 61/103,106호, 2008년 11월 5일 출원된 미국특허출원 제 61/111,384 호, 2008년 11월 6일 출원된 미국특허출원 제 61/112,131호, 2008년 12월 9일 출원된 미국특허출원 제 61/121,169 호, 2008년 9월 4일 출원된 미국특허출원 제 61/094,394 호.
본 출원은 또한 2009년 4월 3일 출원된 미국출원 제 12/418,363 호의 우선권을 청구한다.
하기 출원은 또한, 본 공개내용과 관련된다.
2008년 4월 4일 출원된 미국특허출원 제 61/042,431 호, 2008년 4월 4일 출원된 미국특허출원 제 61/042,442호, 2008년 6월 23일 출원된 미국특허출원 제 61/074/930 호, 2008년 7월 22일 출원된 미국특허출원 제 61/082,618 호, 2008년 7월 22일 출원된 미국특허출원 제 61/082,642 호, 2008년 7월 30일 출원된 미국특허출원 제 61/084,738 호, 2008년 7월 30일 출원된 미국특허출원 제 61/084,773호, 2008년 8월 5일 출원된 미국특허출원 제 61/086,242호.
법으로 허용되는 한, 추가로 상기 각각의 출원들의 우선권이 상기 각각의 우선권을 청구한 미국특허출원 제 12/418,363 호를 통하거나 직접 청구된다.
상기 각각의 출원들은 전체적으로 참고한다.
본 출원은, 일반적으로 네트워킹에 관한 것이고 특히, 무선 애드혹 네트워킹(ad hoc networking)에 관한 것이다.
무선장비 군들이 무선네트워크내에서 상호연결될 수 있다. 인터넷 연결작용(internet connectivity)와 같은 인터넷 워킹(internetworking)을 지원하기 위하여, 전형적으로 국소 영역 네트워크를 위한 와이파이(WiFi) 라우터와 같은 중앙의 라우터(router)가 이용되거나 셀룰라 E는 와이맥스(WiMax) 네트워크를 위해 기지국이 이용된다. 상기 네트워크는 중앙집중화된(contralized) 관리를 위한 기반구조가 부족하기 때문에, 다양한 네트워크 기능들을 지원하고 인터넷과 같은 지구적인 공용 네트워크에 대한 백홀(backhaul)을 제공하기 위하여, 애드혹(ad hoc) 기술들이 이용될 수 있다. 그러나, 상대적으로 강하고, 인터넷 라우팅이 가능한 자체형성(self-forming) 네트워크, 서비스전달 품질(Quality of Service delivery) 및 다른 고도의 네트워크 특징들을 지원하기 위한 개선된 무선 애드혹 네트워크 시스템 및 방법이 필요하다.
최적화된 무선 라우팅, 멀티 캐스트(multicast) 라우팅, 신속한 네트워크 엔트리(entry), 개선된 시간 슬롯 스케쥴(time slot scheduling)을 위한 콘텐션 도메인 및 노드(contention domains and node weighting)의 이용 등을 포함한 무선 애드혹 네트워킹을 위한 개선들이 있다.
서비스의 품질은, 트래픽(traffic) 등에 따라 다수의 서비스 레벨들이 네트워크 사용자들에게 제공되도록 노드 군(group)들을 거쳐 스케줄링 알고리듬(scheduling algorithms)내에서 각각의 노드에서 지원될 수 있다. 상기 개선들 및 다른 개선들이, 무선 애드혹 네트워크의 작동 및 지원 스케일러빌러티(scalability), 라우팅, 트래픽 관리, 서비스 전달 품질 및 다른 특징들을 개선하기 위해 개별적으로 또는 조합하여 이용될 수 있다.
무선 애드혹 네트워크 통신을 용이하게 하기 위해 다양한 방법, 기술, 장치 등이 설명된다. 한 실시예에서, 무선 애드혹 네트워크내에서 무선 통신을 위한 방법은, 복수 개의 트래픽 형태들 각각에 대한 다변량 루트 비용계산을 위해 기준 및 가중치들을 확인하고, 백홀 접속 점 라우팅 도메인(backhaul access point domail)내에서 각 목적지에 대한 가능한 루트들을 확인하며, 복수 개의 트래픽 형태들 각각에 대한 백홀 접속 점 라우팅 도메인내에서 각 목적지에 대하여 최저 비용 루트를 결정하기 위해 가능한 다변량 루트 비용계산을 적용하여 라우팅 데이터를 제공하고, 트래픽형태와 목적지에 의해 접속될 수있는 라우팅 매트릭스(routing matrix)내에서 라우팅 데이터를 저장하며,
트랜스미트 큐(transmit queue)내에서 데이터를 위한 트랜스미트 목적지 및 트랜스미트 트래픽 형태(transmit traffic type)를 확인하고 라우팅 매트릭스내에서 트랜스미트 트랙픽 형태를 위한 트랜스미트 목적지에 대한 최저비용 루트를 대조하며, 최저비용에 따라 트랜스미트 목적지에 데이터를 전송한다.
실시예에서, 상기 방법은 또한, 범위결정된(scoped) 링크 상태 라우팅 알고리듬을 이용하여 라우팅 매트릭스를 업데이팅한다. 복수 개의 트래픽형태들은, 인터넷 프로토콜에 대한 보이스(Voice over Internet Protocol)을 포함하고, 트랜스미트 목적지에 대해 다수의 홉(hop)들을 최소화하기 위해 다변량 루트 비용계산을 위한 가중치(weighting)들이 선택된다. 상기 복수 개의 트래픽형태들은 한 개이상의 서비스 품질 레벨들을 포함한다. 상기 복수 개의 트래픽형태들은 한 개이상의 호스트 트래픽(host traffic), 보이스 데이터, 오디오 다운로드 데이터, 스트림밍 비디오 및 바이네리(binary) 정보를 포함한다. 상기 기준은 한 개이상의 파워 레벨, 링크 품질, 노드 밴드폭(bandwidth) 및 다수의 홉(hop)들을 포함한다. 상기 기준은 노드, 노드의 모빌러티(mobility), CPU 처리 요건들, 구성요건들, 특정 노드들에서 정체(congestion), 적응 데이터 속도(Adaptive data rate: ADR) 정보에 의해 파워이용 군으로부터 선택된 한 개이상의 아이템을 포함한다. 한 개이상의 기준을 위한 가중치는 사용자에 의해 선택된다. 트랜스미트 목적지는 백홀접속 점 라우팅 도메인외부의 목적지를 위한 백홀 접속점을 포함한다.
일부 실시예에서, 무선 애드혹 네트워크내부의 노드는, 데이터 소스, 무선 애드혹 네트워크내부에서 작동하기 위한 라디오(radio), 라우팅 정보를 저장하기 위한 메모리, 및 복수 개의 트래픽형태 각각을 위한 다변량 루트 비용계산을 위한 기준과 가중치들을 확인하고, 백홀 접속점 라우팅 도메인내에서 각 목적지에 대한 가능한 루트를 확인하며, 최저비용 루트를 계산하기 위한 다변량 루트 비용계산을 복수 개의 트래픽형태 각각을 위한 백홀 접속점 라우팅 도메인내부의 각 목적지에 대해 적용하여 라우팅 데이터를 제공하고, 트래픽형태와 목적지에 의해 접속될 수 있는 라우팅 매트릭스내에 라우팅 데이터를 저장하며, 트랜스미트 큐내에서 데이터를 위한 트랜스미트 목적지와 트랜스미트 트래픽 형태를 확인하고, 라우팅 매트릭스내에서 트랜스미트 트래픽형태를 위한 트랜스미트 목적지에 대한 최저 비용 루트를 대조하며, 최저비용 루트에 따라 트랜스미트 목적지로 데이터를 전속하기 위해 프로그램된 프로세서를 포함한다. 실시예들에서, 상기 프로세서는 추가로, 범위결정된 링크 상태 라우팅 알고리듬을 이용하여 라우팅 매트릭스를 업데이트하도록 프로그램된다.
일부 실시예에서, 다중 캐스트 통신을 위한 방법은,
다중 캐스트 트래픽을 위한 수용 노드로서 무선 애드혹 네트워크내에 다중 캐스트 그룹을 연결하고, 상기 수용노드로부터 조인 리퀘스트 패킷(Join Request Packet:JRP)으로 다중 캐스트 그룹을 플러딩(flooding)화하며, 상기 JRP를 수용하는 다중 캐스트 그룹내에서 전송 노드(sending node)로부터 조인 테이블 패킷(Join Table Packet:JTP)을 수용하고 상기 JTP는 JRP에 의해 전송노드까지 형성되는 경로를 따라 수용노드까지 귀환하며 상기 JTP는 상기 경로를 따라 각 노드에 대한 서로 다른 데이터 속도를 가지는 한 개이상의 큐들을 확인하고, 상기 JTP를 기초하는 다중 캐스트 그룹내에서 다중 캐스트 트래픽을 전달하기 위한 다중 캐스트 트리(multicast tree)를 구성하며, 상기 다중 캐스트 트리를 따라 다중 캐스트 메세지를 수용하고 상기 다중 캐스트 메세지는 상기 다중 캐스트 그룹내에서 각 노드를 위한 한 개이상의 모드 큐(mode queues)들 중에 구해질 수 있는 최고 모드 큐를 이용하여 수용노드에 의해 수용된다. 상기 방법은 또한, 복수개의 전송 노드들로부터 복수 개의 JTP들을 수용하고, 복수 개의 JTP 들을 기초한 다중 캐스트 트리를 구성한다. 최고모드의 구해진 큐는, 다중 캐스트그룹내에서 구해지는 가장 흔한 최고 모드 큐(a most common highest mode available queue)이다. 상기 다중 캐스트 메세지는 서비스 품질에 따라 우선순위가 주어진다. 상기 서비스품질은, 모든 한 개이상의 모드큐들에 걸쳐 우선순위 결정 데이터를 위한 최고 서비스품질을 포함한다. 상기 서비스품질은, 한 개이상의 모드 큐들로부터 다음 서비스품질 데이터가 전송되기 전에 상기 모든 데이터가 모든 한 개이상의 모드 큐로부터 전송되는 최고 서비스품질을 포함한다. 상기 방법은 또한, 제 2 수용노드로부터 다중 캐스트 그룹을 연결시키고 제 2 수용 노드로부터 JRP를 가지고 다중 캐스트 그룹를 프러딩화하는 것을 포함한다. 상기 방법은 또한, 다중 캐스트 그룹을 업데이트하는 것을 포함한다. 다중 캐스트 그룹을 업데이트하는 작업은, 링크 품질에 과한 다중 캐스트 그룹내부의 정보를 교환하는 것을 포함한다. 전송되는 다중 캐스트 트래픽은, 구해진 최고모드 큐로부터 전송모드와 수용모드사이에서 적어도 한 개의 중간 노드내에서 더 낮은 모드 큐로 복사될 수 있다.
일부 실시예에서, 무선 애드혹 네트워크내부의 노드는, 무선 애드혹 네트워크내에서 작동하기 위한 라디오, 메모리, 다중 캐스트 트래픽을 위한 수용노드로서 무선 애드혹 네트워크냉내에서 다중 캐스트 그룹을 연결하기 위한 라디오를 작동시키고 수용노드로부터 Join Request Packet (JRP)로 다중 캐스트 그룹을 플러딩화하며 JRP를 수용하는 다중 캐스트 그룹내에서 전송 노드로부터 Join Table Packet (JTP)를 수용하며, 상기 JTP가 상기 JRP에 의해 상기 전송노드까지 형성된 경로를 따라 수용노드로 귀환하고, 상기 JTP가 상기 경로를 따라 각 노드를 위한 서로 다른 데이터 속도를 가진 한 개이상의 모드 큐들을 확인하며, 상기 JTP에 기초한 다중 캐스트 그룹내에서 다중 트래픽 을 전송하기 위한 다중 캐스트 트리를 구성하고 상기 메모리내에 다중 캐스트 트리를 저장하고, 상기 다중 캐스트 트리에 따라 다중 캐스트 메세지를 수용하고, 상기 다중 캐스트 메세지는 다중 캐스트 그룹내에서 각 노드를 위한 한 개이상의 모드 큐들중에서 구해진 최고모드 큐를 이용하여 수용노드에 의해 수용되도록 프로그램되는 프로세서를 포함한다. 상기 프로세서는 또한, 복수 개의 전송노드들 로부터 복수 개의 JTP들을 수용하고 상기 복수개의 JTP를 기초한 다중 캐스트 트리를 구성하도록 프로그램된다. 상기 프로세서는 또한 다중 캐스트 그룹을 업데이트하도록 프로그램된다.
상기 프로세서는 또한, 링크 품질에 관한 다중 캐스트 그룹내에서 정보교환에 기초하는 다중 캐스트 그룹을 업데이트하도록 프로그램된다.
일부 실시예에서, 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법은, 무선 애드혹 네트워크내에서 한 개의 노드에 대한 한 개이상의 근접한 노드들을 발견하고, 한 개이상의 근접한 노드들에 관한 정보를 구하며 노드에 관한 근접 테이블내에 정보를 저장하고 백홀 접속 점에 대해 한 개이상의 근접 노드들 중 어느 것이 저비용 루트를 가지는 지를 결정하며, 노드로부터 백홀 접속점까지 디폴트(default) 루트로서 한 개이상의 근접 노드들로부터 저비용 루트를 선택하며, 상기 디폴트 루트에 따라 백홀 접속점에 대해 통신을 위한 한 개이상의 근접 노드들중 한 개에 대해 데이터를 전송하는 단계들을 포함한다. 상기 방법은 또한, 노드로부터 백홀 접속점까지 최저비용 루트를 결정하기위한 루트비용분석을 수행하고 상기 디폴트루트를 상기 노드로부터 상기 백홀 접속점까지 저비용 루트로 교체하는 단계를 포함한다. 상기 방법은 또한, 상기 디폴트 루트상에서 노드로부터 단일 캐스트(unicast) 루트를 전송하는 단계를 포함한다. 상기 방법은 또한, 상기 디폴트 루트의 일부분인 한 개이상의 근접 노드들 중 한 개에서 디폴트 루트를 따라 반대 루트 테이블을 형성하는 단계를 포함한다. 상기 방법은 또한, 백홀 접속점으로부터 루트 업데이트를 발생시키는 단계를 포함한다. 상기 방법은 또한 백홀 접속점으로부터 노드까지 루트 리퀘스트 확인(route request acknowledgement)을 포함한다. 상기 디폴트 루트는 한 개이상의 근접 노드들로부터 저비용루트와 다른 루트로 수정될 수 있다.
상기 루트 리퀘스트 확인은 백홀 접속점으로 부터 수용되는 것이 아니기 때문에, 상기 디폴트루트는 수정될 수 있고, 다른 루트는 한 개싱의 근접노드들로부터 다음(next) 저비용 루트이다. 상기 발견은 노드에 파워가 제공될 때 일어날 수 있다. 상기 노드가 이동(mobile)할 때 상기 발견이 일어날 수 있고 상기 노드가 한 개이상의 새로운 근접 노드들을 가지는 위치들을 이동시킨다.
일부 실시예에서, 무선 애드혹 네트워크내부의 노드는, 무선 애드혹 네트워크내부에서 작동하는 라디오, 메모리, 라디오를 가진 상기 무선 애드혹 네트워크내부에서 상기 노드에 대한 한 개이상의 근접노드들을 발견하고, 라디오를 가진 한 개이상의 근접노드들에 관한 정보를 구하며 노드를 위한 근접 테이블로서 상기 메모리내에 상기 정보를 저장하고 한 개이상의 근접노드들 중 백홀 접속점에 대해 저비용 루트를 가지는 노드를 결정하고, 디폴트루트로서 노드로부터 백홀접속점까지 저비용 루트를 선택하며, 디폴트경로에 따라 백홀접속점까지 통신을 위해 한 개이상의 근접노드들 중 한 개에 대해 라디오를 가진 데이터를 전송하도록 프로그램된 프로세서를 포함한다. 상기 프로세서는 또한, 상기 노드로부터 상기 백홀접속점까지 저비용 루트를 결정하고 상기 디폴트 루트를 노드로부터 백홀접속점까지 저비용 루트로 교체하도록 프로그램된다. 상기 프로세서는 또한, 상기 디폴트 루트상의 상기 노드로부터 단일 캐스트 루트 리퀘스트를 전송하도록 프로그램된다. 상기 프로세서는 또한, 상기 디폴트루트의 일부분인 한 개이상의 근접노드들 중 한 개에서 디폴트 루트를 따라 반대 루트 테이블(reverse route table)을 형성하도록 프로그램된다. 상기 프로세서는 또한, 상기 백홀 접속점으로부터 루트업데이트를 발생시키도록 프로그램된다. 상기 프로세서는 E한 상기 백홀접속점으로부터 상기 노드까지 루트 리퀘스트 확인을 전송하도록 프로그램된다.
일부 실시예에서, 무선 통신을 위한 방법은, 무선 애드혹 네트워크와 근접한 위치에서 한 개이상의 근접 노드들과 노드사이에서 동기화 타이밍(synchronizing timing)을 포함하고, 한 개이상의 근접 노드들 중 적어도 한 개와 상기 노드사이에서 링크 품질을 결정하며, 상기 노드를 위한 근접테이블내에 링크품질을 저장하고, 상기 노드에 의해 통신용 시간 슬롯을 확인하고, 상기 시간슬롯이 제어슬롯들 및 데이터슬롯들을 포함하며, 상기 제어슬롯은 또한 콘텐션 베이시스(contention basis) 및 근접부내에서 미리 정해진 베이시스상에 접속이 예정된 예정 제어 슬롯들에 임의로 접근할 수 있는 네트워크 엔트리 슬롯들을 포함하고, 상기 네트워크 엔트리 슬롯들 중 한 개를 이용하여 한 개이상의 근접 노드로 네트워크 엔트리 정보를 전송하며, 상기 네트워크 엔트리 정보는 링크품질과 노드에 관한 노드 아이덴티티를 포함하고, 상기 노드에 할당된 예정 제어슬롯들 중 한 개를 이용하여 근접정보를 전송하며, 상기 근접정보는 한 개이상의 근접노드들에서 근접테이블을 업데이트하기 위한 데이터를 포함한다. 동기화 타이밍은, 무선 애드혹 네트워크외부로부터 타이밍을 구하는 것을 포함한다. 동기화타이밍은 한 개이상의 GPS 위성들로부터 타이밍을 구하는 것을 포함한다. 동기화타이밍은 타이밍 오실레이터(timing oscillator)를 동기화하기 위해 노드와 한 개이상의 근접노드들사이에 타이밍 정보의 교환을 포함한다. 일부 실시예에서, 상기 방법은, 네트워크 엔트리 정보를 전송할 때 충돌의 감지를 포함한다. 상기 방법은 또한, 네트워크 엔트리 슬롯들 중 한 개내에서 네트워크 엔트리 정보를 재전송하기 전에 랜덤 백오프(random backoff)를 카운트다운하는 것을 포함한다. 상기 방법은 근접부내에서 다수의 노드들을 기초한 랜덤 백오프 카운터의 세팅을 포함한다. 상기 방법은 또한, 예정 제어슬롯들 중 한 개내에 데이터중 한 개를 동적으로 변환하는 단계를 포함한다. 상기 방법은 또한, 노드가 예정 제어슬롯들 중 한 개에 전송된 이후에 경과한 다수의 시간슬롯들에 대해 임계값이 초과될 때 상기 데이터중 한 개를 한 개의 예정 제어슬롯으로 동적으로 변환시키는 단계를 포함한다. 상기 방법은 또한, 예정 제어슬롯들 중 한 개를 데이터슬롯들 중 한 개내부로 동적변환시키는 단계를 포함한다.
한 실시예에서, 무선 애드혹 네트워크내부의 노드는, 상기 무선 애드혹 네트워크내에서 작동하기 위한 라디오, 메모리 및, 노드(node) 및 무선 애드혹 네트워크(ad hoc network)의 근접영역내에서 한 개이상의 근접노드들사이에서 동기화 타이밍(synchrozizing timing)을 형성하고, 상기 노드 및 적어도 한 개의 상기 근접노드들사이에 링크 품질을 결정하며, 상기 노드를 위한 근접 테이블(neighbor table)내에 링크 품질(link quality)을 저장하고, 상기 노드에 의해 통신을 위한 시간 슬롯들을 확인하며, 상기 시간슬롯들은 제어슬롯들 및 데이터슬롯들을 포함하고, 상기 제어슬롯들은 또한 상기 근접영역내에서 미리 정해진 베이시스(basis)상에 접속이 예정된 예정 제어슬롯과 콘텐션 베이시스(contention basis)에 임의로 접근할 수 있는 네트워크 엔트리 슬롯(network entry slot)들을 포함하며, 상기 네트워크 엔트리 슬롯들 중 한 개를 이용하여 한 개이상의 근접노드들에 대해 라디오를 가진 네트워크 엔트리 정보를 전송하고, 상기 네트워크 엔트리 정보는 상기 노드를 위한 노드 엔티티(node entity)와 링크품질을 포함하며, 상기 노드에 할당된 예정 제어슬롯들 중 한 개를 이용하여 라디오를 가진 근접정보를 전송하고, 상기 근접정보가 한 개이상의 근접노드들에서 근접테이블을 업데이트하기 위한 데이터를 포함하도록 프로그램된 프로세서를 포함한다. 상기 프로세서는, 무선애드혹 네트워크외부로 부터 타이밍을 구하여 동기화타이밍을 형성하도록 프로그램된다. 상기 프로세서는, 한 개이상의 GPS 위성들로부터 타이밍을 구하여 동기화타이밍을 형성하도록 프로그램된다. 상기 프로세서는, 동기화타이밍 오실레이터들에 대해 상기 노드와 한 개이상의 근접노드들사이의 타이밍정보를 교환하여 동기화타이밍을 형성하도록 프로그램된다. 상기 프로세서는, 네트워크 엔트리정보를 전송할 때 충돌을 감지하도록 프로그램된다. 상기 프로세서는, 네트워크 엔트리슬로들 중 한 개내에서 네트워크 엔트리정보를 재전송하기 전에 임의 백오프(backoff)를 카운트다운하도록 프로그램된다. 상기 프로세서는, 근접영역내부의 다수의 노드들을 기초하여 임의 백오프 카운터를 설정하도록 프로그램된다. 상기 프로세서는, 예정제어 슬롯들 중 한 개내부로 데이터 슬롯들 중 한개를 동적변환하도록 프로그램된다. 상기 프로세서는, 데이터 슬롯들 중 한 개를 상기 노드가 상기 예정 제어슬롯들 중 한 개에 전송된 이후에 통과한 시간슬롯들의 개수에 대해 임계값이 초과될 때 예정제어슬롯들 중 한 개로 동적변환시키도록 프로그램된다. 상기 프로세서는, 예정제어슬롯들 중 한 개를 데이터슬롯들 중 한 개로 동적변환시킨다.
실시예들에 있어서, 무선 네트워크내부의 노드를 작동시키기 위한 방법은, 노드와 한 개이상의 근접노드들을 포함한 근접영역내에서 복수 개의 노드들을 확인하는 단계, 상기 노드에 관한 트래픽 정체(traffic congestion)를 표시하는 근접노드 스코어 및 상기 노드에 관한 접속요건을 표시하는 노드 가중치를 수용하는 단계, 상기 근접영역내에서 통신을 위한 시간슬롯을 확인하는 단계, 상기 노드를 위한 상기 노드 가중치가 노드가중치 요건을 충족하지 못할 때, 노드에 의해 시간슬롯에 대한 접근을 제한하는 단계, 노드가 노드 가중치 요건을 충족하는 노드 가중치를 가질 때, 상기 노드가 시간슬롯에 접근할 수 있는 지를 결정하기 위해 상기 노드 스코어와 노드 가중치를 기초한 스케줄 알고리듬을 적용하는 단계, 상기 노드가 상기 시간 슬롯에 대한 접근이 예정될 때 상기 시간슬롯내에서 상기 노드로부터 데이터를 전송하는 단계를 포함한다. 상기 노드가중치요건은, 노드가중치에 관한 최소임계치 또는 노드가중치에 관한 최대임계치를 포함한다. 상기 노드가중치요건은, 노드가중치에 관한 인크루시브(inclusive)임계치 또는 노드가중치에 관한 익스크루시브(exclusive)임계치를 포함한다. 알고리듬의 스케줄링은, 한 개이상의 근접노드들을 위한 근접노드 가중치 및 한 개이상의 근접노드들을 위한 근접노드 스코어에 기초한다. 알고리듬의 스케줄링은, 근접영역내에서 복수 개의 노드들 사이에 교환되고 메모리의 근접테이블내에 저장되는 근접데이터에 기초한다. 일부 실시예에서, 추가로 노드 가중치요건을 충족하지 못하는 근접노드 가중치를 가진 각각의 근접노드들에 의해 시간슬롯으로 접근을 제한한다. 접근을 제하는 단계는, 상기 노드가 시간슬롯으로 접근을 위한 알고리듬 스케줄링에 참여하는 것을 억제한다. 상기 근접영역은, 상기 노드를 위한 두 개의 홉(hop) 근접영역을 포함한다. 일부 실시예에서, 추가로, 특정 노드가중치를 가진 근접영역내에서 복수 개의 노드들 각각을 위한 난수(ramdom number)를 발생시키고 또한 상기 난수에 기초한 시간슬롯에 접근을 제한한다. 상기 노드 가중치는, 파워레벨, 지정학적 위치, 모빌리티(mobility), 노드 형태, 및 작동주파수 중 한 개이상에 기초하여 계산된다.
일부 실시예에서, 무선 애드혹 네트워크내부의 노드는, 데이터소스,
상기 무선 애드혹 네트워크내에서 작동하기 위한 라디오, 메모리 및 노드와 한 개이상의 근접노드들을 포함한 근접영역내에서 복수 개의 노드들을 확인하고, 상기 노드에 관한 트래픽 정체(traffic congestion)를 표시하는 노드 스코어 및 상기 노드에 관한 접속요건을 표시하는 노드 가중치를 계산하며, 상기 트레픽정체를 표시하는 근접노드 스코어 및 상기 한 개이상의 근접 노드들 각각으로부터 접속요건을 표시하는 노드 가중치를 메모리내에 수용하고 저장하며, 상기 근접영역내에서 통신을 위한 시간슬롯을 확인하고, 상기 노드를 위한 상기 노드 가중치가 노드가중치 요건을 충족하지 못할 때 노드에 의해 시간슬롯에 대한 접근을 제한하고, 노드가 노드 가중치 요건을 충족하는 노드 가중치를 가질 때, 상기 노드가 시간슬롯에 접근할 수 있는 지를 결정하기 위해 상기 노드 스코어와 노드 가중치를 기초한 스케줄 알고리듬을 적용하며, 상기 시간 슬롯이 노드를 위해 예정될 때 라디오를 가진 데이터 소스로부터 상기 시간슬롯내부에 데이터를 전송하도록 프로그램되는 프로세서를 포함한다. 상기 프로세서는 추가로, 노드 가중치요건을 충족하지 못하는 근접노드 가중치를 가진 각각의 근접노드들에 의해 시간슬롯으로 접근을 제한하도록 프로그램된다. 상기 프로세서는, 상기 노드가 시간슬롯으로 접근을 위한 알고리듬 스케줄링에 참여하는 것을 억제하여 접근을 제한하도록 추가로 프로그램된다. 상기 프로세서는, 특정 노드가중치를 가진 근접영역내에서 복수 개의 노드들 각각을 위한 난수(ramdom number)를 발생시키고 또한 상기 난수에 기초한 시간슬롯에 접근을 제한한다.
실시예들에 있어서, 무선 네트워크내에서 노드를 작동시키기 위한 방법은, 노드와 한 개이상의 근접노드들을 포함한 근접영역내에서 복수 개의 노드들을 확인하는 단계, 상기 노드에 관한 트래픽 정체(traffic congestion)를 표시하는 근접노드 스코어 및 상기 노드에 관한 접속요건을 표시하는 노드 가중치를 수용하는 단계, 상기 노드로부터 전달되는 데이터를 위해 서비스 품질(QoS)를 결정하는 단계, 근접영역내에서 각 노드를 위해 QoS 노드 가중치를 제공하기 위해 QoS 요건을 기초한 각 근접 노드를 위한 근접노드 가중치 및 상기 노드를 위한 노드 가중치를 스큐잉(skewing)하는 단계, 상기 근접영역내에서 통신을 위한 시간슬롯을 확인하는 단계, 상기 노드를 위한 상기 QoS 노드 가중치가 노드가중치 요건을 충족하지 못할 때 노드에 의해 시간슬롯에 대한 접근을 제한하는 단계, 노드가 노드 가중치 요건을 충족하는 노드 가중치를 가질 때, 상기 노드가 시간슬롯에 접근할 수 있는 지를 결정하기 위해 상기 노드를 위한 QoS 노드 스코어와 노드 가중치를 기초한 스케줄 알고리듬을 적용하는 단계, 상기 노드가 상기 시간 슬롯에 대한 접근이 예정될 때 상기 시간슬롯내에서 상기 노드로부터 데이터를 전송하는 단계를 포함한다. 상기 스큐잉은 해쉬함수를 이용하는 것을 포함한다. 상기 스큐잉은, QoS 요건을 기초하여 데이터의 우선순위를 결정하는 것을 포함한다. 상기 스큐잉은, 상기 근접영역내에서 각 노드에서 트래픽에 관한 QoS 요건에 따르는 스큐잉을 포함한다. 상기 노드로부터 전달되는 데이터에 관한 상기 QoS 요건은, 데이터에 관한 복수 개의 QoS 레벨들 중 한 개를 포함한다. 데이터에 관한 QoS 요건의 결정은, QoS 정보에 관한 데이터의 헤더(header)의 조사를 포함한다. 데이터에 관한 QoS 요건의 결정은, 데이터의 트래픽형태의 결정을 포함한다. 알고리듬 스케줄링은, 근접영역내에서 복수 개의 노드들사이에 교체되고 상기 노드의 근접 테이블에 저장된 근접 데이터에 기초한다. 접속의 제한은, 상기 노드가 시간슬롯에 대한 접속에 관해 알고리듬을 스케줄링에 참여하는 것을 억제하는 것을 포함한다. 근접영역은, 상기 노드를 위한 두 개의 홉 근접영역을 포함한다.
실시예에서, 무선 애드혹 네트워크내부의 노드는, 데이터소스, 상기 무선 애드혹 네트워크내에서 작동하기 위한 라디오, 메모리 및, 노드와 한 개이상의 근접노드들을 포함한 근접영역내에서 복수 개의 노드들을 확인하는 단계,
상기 노드에 관한 트래픽 정체(traffic congestion)를 표시하는 노드 스코어 및 상기 노드에 관한 접속요건을 표시하는 노드 가중치를 계산하는 단계,
상기 한 개이상의 근접 노드들 각각으로부터 상기 트레픽정체를 표시하는 근접노드 스코어 및 상기 한 개이상의 근접 노드들 각각으로부터 접속요건을 표시하는 노드 가중치를 라디오와 함께 수용하는 단계, 상기 데이터소스로부터 전송되는 데이터에 관한 서비스품질(QoS) 요건을 결정하는 단계, 메모리내에 저장된 근접영역내에 각각의 노드에 관한 QoS 노드 가중치를 제공하기 위해 QoS요건을 기초한 각각의 근접 노드를 위한 근접노드 가중치 및 노드에 관한 노드 가중치를 스큐잉하는 단계, 상기 근접영역내에서 통신을 위한 시간슬롯을 확인하는 단계, 상기 노드를 위한 상기 QoS 노드 가중치가 노드가중치 요건을 충족하지 못할 때 노드에 의해 시간슬롯에 대한 접근을 제한하는 단계, 노드가 노드 가중치 요건을 충족하는 노드 가중치를 가질 때, 상기 노드가 시간슬롯에 접근할 수 있는 지를 결정하기 위해 상기 노드 스코어와 QoS 노드 가중치를 기초한 스케줄 알고리듬을 적용하는 단계, 상기 노드가 상기 시간 슬롯에 대한 접근이 예정될 때, 라디오를 가진 데이터 소스로부터 상기 시간슬롯내부에 데이터를 전송하는 단계를 수행하도록 프로그램되는 프로세서를 포함한다.
실시예들에서, 무선 애드혹 네트워크내에서 무선통신을 위한 방법은, 무선 애드혹 네트워크내에서 한 개의 노드에 대한 한 개이상의 근접노드들을 발견하고, 한 개이상의 근접노드들이 한 개의 홉(hop) 근접영역내에 위치하는 단계, 상기 한 개이상의 근접노드들을 위한 근접 테이블을 형성하는 단계, 상기 한 개이상의 근접노드들로부터 데이터를 수집하고, 상기 데이터가 인터노드(internode) 링크 손실 및 유클리디안 링크거리(Euclidean link distance)를 포함하는 단계, 상기 노드 및 상기 한 개이상의 근접노드들로부터 노드들의 공통세트(common set)를 확인하고, 각각의 공통 세트는 노드들의 공통세트내에서 서로의 한 개 홉(hop) 근접노드(neighbor)들인 단계, 근접 테이블내에서 수집된 데이터를 감소시켜서 감소된 근접 테이블이 단지 노드 공통세트에 관한 정보를 포함하는 단계, 공통세트 노드들사이에 다수의 링크들을 제한하기 위해 근접노드들을 선택하는 단계, 각 라우팅 트리의 루트(root)에서 접속점을 가진 라우팅 트리를 구성하고 선택된 근접노드들을 통해 루트들에 관한 노드 공통세트로부터 한 개이상의 노드들을 포함하는 단계, 상기 라우팅 트리를 통해 각각의 공통세트 노드들로부터 최저비용 루트를 결정하는 단계, 상기 라우팅 트리들상에 지원될 수 있는 트래픽을 최대화하기 위해 주파수 및 시간 슬롯들을 할당하는 단계, 할당된 시간슬롯들과 주파수에 대해 라우팅 슬롯들을 통해 신호들을 전송하는 단계를 포함한다. 링크들의 갯수를 제한하기 위해 근접노드들을 선택하는 단계는, 상기 링크손실 및 유클리디안 링크거리를 포함한 그룹 중 한 개에 기초한 델로네이 테셀레이션(Delaunay tessellation)을 조립하는 단계를 추가로 포함한다. 링크들의 갯수를 제한하기 위해 근접노드들을 선택하는 단계는, 노드들의 공통세트 각각으로부터 비용루트 분석을 수행하고 상기 루트분석으로부터 형성된 루트들의 그래프분석을 수행하는 단계를 추가로 포함한다. 상기 루트분석은 최소 트랜스미트 에너지에 기초한다.
다양한 실시예들에 관한 여러 가지 특징들, 특성 및 장점들이 하기 설명으로부터 더욱 명확해진다.
본 발명 및 본 발명의 실시예들에 관한 하기 상세한 설명은, 하기 도면들을 참고하여 이해된다.
도 1은, 모바일 애드혹 네트워크(Mobile Ad Hoc Network: MANET)의 블록선도.
도 2는, MANET내에서 장치들에 의해 이용될 수 있는 MANET 무선 프로토콜을 도시하는 도면.
도 3은, 무선 애드혹 네트워크내부의 노드를 도시한 블록선도.
도 4는 두 개의 MANET BAP 도메인들을 포함한 MANET를 도시한 도면.
도 5는, MANET 프로토콜내의 노들들에 의해 유지되는 정보를 도시한 도면.
도 6은, BAP 도메인내부의 BAP에 대한 선택적인 최소비용 경로를 도시한 도면.
도 7은, 비용기초 라우팅을 수행하기 위한 방법을 도시한 플로우 차트.
도 8은, 루트 비용을 결정하기 위한 방법을 도시한 플로우 차트.
도 9는, 각 모드들과 함께 이용되는 MANET 내부의 다수의 노드들을 도시한 도면.
도 10은, QoS의 서로 다른 레벨들을 지원하는 다중 모드 큐들을 도시한 도면.
도 11은, 다중 캐스트 라우팅을 수행하기 위한 방법에 관한 플로우차트.
도 12는, 백홀 도메인으로 신속한 엔트리를 제공하기 위한 방법을 도시한 플로우차트.
도 13은, TDMA 시간 슬롯 구조를 도시한 도면.
도 14는, 한 개의 홉(hop) 및 두 개의 홉 근접영역들을 가진 MANET 을 도시한 도면.
도 15는, 비- GPS 노드를 가진 네트워크로 진입하기 위한 방법을 도시한 플로우 차트.
도 16은, GPS 작동식 노드를 가진 네트워크로 진입하기 위한 방법을 도시한 플로우차트.
도 17은, 네트워크내에 이미 존재하는 노드를 위한 정보를 업데이트하기 위한 방법을 도시한 플로우차트.
도 18은, 네트워크를 떠나는 노드를 위한 방법에 관한 플로우차트.
도 19는, 링크 품질을 업데이트하기 위한 방법을 도시한 플로우차트.
도 20은, 노드 스코어를 가진 MANET을 도시한 도면.
도 21은, 노드 가중치를 가진 MANET을 도시한 도면.
도 22는, 수정된 노드 스코어를 가진 MANET을 도시한 도면.
도 23은, 서브세트의 노드 가중치를 고려한 MANET을 도시한 도면.
도 24는, 노드 가중작용을 위한 TDMA를 도시한 도면.
도 25는 가중된 전송을 위한 방법을 도시한 플로우차트.
도 26은, 가중치들을 기초한 전송 방법을 도시한 플로우차트.
도 27은, QoS에 기초한 전봉 방법을 도시한 플로우차트.
도 28은 MANET내에서 커패시티의 증가를 위한 프로세스를 도시한 도면.
본 발명은 이동 노드들을 돕는 장치에 특히 초점을 둔 무선 애드 혹 네트워크에서의 다양한 방법, 장치 및 기술에 대한 설명을 제공한다.
일반적으로, MANET(100)(본원 명세서에서 네트워크 100으로 칭하여지기도 한다.)는 가입자 장치(100), 접근 포인트(120), 그리고 백홀 접근 포인트(130)(인터넷과 같은 코어 네트워크(150)로 연결하기 위한)를 포함할 수 있으며, 도 1에서 도시된 바와 같이 서로 연결되어 있다.
앞서 설명을 제한함이 없이, 하나 또는 둘 이상의 가입자 유닛(110)이 상기 MANET(100) 내에 기하학적으로 이동하지 않는 고정 장치(170)일 수 있다. 도 1에서 도시된 장치-장치 링크들은 설명의 목적인 것이며, 어떠한 의미로도 상기 MANET(100) 내 장치의 어떠한 상응하는 프로토콜에 따라 시간에 따라 발생되고, 제거되며, 수정될 수 있는 상기 MANET(100) 내 장치 들 사이 링크의 특성 또는 수에 제한을 가하고자 함이 아니다.
일반적으로, 상기 MANET(100) 내 장치 또는 컴포넌트들 사이 링크들은 무선 링크들이다. 그러나 상기 백홀 접근 포인트(130) 및 코어 네트워크(150) 사이와 같은 다양한 위치에서 유선 링크가 선택적으로 사용될 수 있기도 하다. 상기 MANET(100)을 유지시키기 위해, 대표적으로 하나 또는 둘 이상의 프로토콜이 상기 장치들 사이 개별 데이터 링크의 발생, 제거, 및 수정을 조정하고, 그리고 상기 장치들 사이의 트래픽 및 제어 정보를 경로 배정하기 위해 참석 장치들 사이에서 공유된다.
가입자 장치(110)는 적절한 프로토콜에 따른 상기 MANET(100)에 참석하는 범용 노드들을 포함할 수 있다. 가입자 장치(110)는 가령, 데이터를 송신하거나 수신하는 터미널 노드를 포함한다. 가입자 장치(110)는 또한 혹은 대신하여 다른 가입자 장치(110)로 그리고 다른 가입자 장치로부터 트래픽을 경로 배정하기 위한 중간 노드로 적절하게 사용될 수 있기도 하다. 따라서 본원 명세서에서 설명되는 한 애드 혹 네트워크는 확장 가능하며, 새로운 가입자 장치(110)가 상기 MANET(100)에서 출현할 수 있기 때문에, 이들은 다른 노드들 사이에서 트래픽을 경로배정하는 MANET(100) 조직의 일부를 형성한다.
한 새로운 가입자 장치(112)가 상기 MANET(100)내로 안내되며, 새로운 링크(114)가 상기 새로운 가입자 장치(112)가 탐지되는 때 추가된다. 상기 장치들은 또한 주기적으로 떠나는 가입자 장치(116)와 같이 주기적으로 상기 MANET(100)을 떠나기도 한다. 상기 떠나는 가입자 장치(116)가 상기 네트워크를 떠나기 때문에, 상기 떠나는 가입자 장치(116)와 다른 가입자 장치(110), 접근 포인트(122), 고정 장치(170), 백홀 접근 포인트(130) 및/또는 다른 장치들 사이 링크들은 단절될 수 있다.
가령 한 장치가 상기 MANET(100)의 기하학적인 경계를 지나 이동하는 때, 상기 MANET(100) 내 장치들을 꺼지는 때(또는 이들의 무선 또는 네트워킹 능력이 중단되는 때), 또는 하드웨어 또는 소프트웨어 오작동이 발생되는 때 상기와 같은 경우가 발생된다. 상기 MANET(100)는 중앙 통제 방식 또는 분산 방식으로 새로운 및/또는 떠나는 장치 및/또는 링크들을 탐지하여 상기 MANET(100) 내 장치들에 대한 연속 연결을 유지시키도록 한다.
일반적으로, 가입자 장치(100)는 상기 MANET(100)에 참석하도록 된, 무선 인터페이스, 네트워크 프로토콜 스택(들)을 포함하는 네트워크 또는 컴퓨팅 장치를 포함할 수 있다. 상기 인터네 프로토콜은 잘 구축된 어드레싱 기법 등을 사용하기위해 상기 MANET(100)내 가입자 장치(110)에서 사용될 수 있다.
한 가입자 장치(100)가 한 셀룰러 폰, 개인 디지털 어시스턴트(PDA), 무선 전자 메일 클라이언트, 랩탑 컴퓨터, 팜탑 컴퓨터, 데스크탑 컴퓨터, 비디오 장치, 디지털 카메라, 전기 장치, 센서, 탐지기, 디스플레이, 미디어 플레이어, 네비게이션 장치, 스마트 전화, 무선 네트워킹 카드, 무선 라우터(가령 지역 와이파이 네트워크), 저장 장치, 프린터, 또는 네트워크에 유용하게 참석할 수 있는 각종 다른 장치를 포함할 수 있다. 다른 실시 예에서는 가입자 장치가 위치와 타이밍 레퍼런트를 제공하는 GPS 수신기를 포함할 수 있기도 하다. 실시 예에서, 각 가입자 장치(110)는 상기 MANET(100)로의 허여된 접근이 있기 전에 인증되거나 허가를 받을 수 있다.
접근 포인트(120)가 상기 상기 MANET(100)로 영구 또는 안정된 인프러스트럭쳐을 만들도록 제공될 수 있다. 안 접근 포인트(120)가 고정되거나 이동 할 수 있는 크기로 제한 될 수 있다. 하나 또는 둘 이상의 접근 포인트(120)는 상기 상기 MANET(100) 내에서 자유롭게 이동할 수 있는 이동 접근 포인트(122)일 수 있다. 상기 접근 포인트(120)는 상기 설명된 가입자 장치(110)에서와 동일한 네트워크 기능 및 프로토콜 스택을 사용할 수 있다. 상기 접근 포인트(120)는 또한 혹은 대신하여 상기 MANET(100) 내 더욱 특별한 역할과 상통하는 다른 기능을 포함할 수 있기도 하다.
한 특징에 따라, 상기 접근 포인트(120)는 네트워크 트래픽을 소모하거나 이들로부터 기원하는 어떠한 관련 계산 장치도 갖지 않을 수 있다. 즉, 상기 접근 포인트(120)는 상기 MANET(100)내 참석자들 그물망을 형성할 뿐일 수 있으며, 다른 네트워크 참석자들 사이에서 트래픽을 릴레이하기만 할 수 있다. 한 접근 포인트(120)는 또한 한 파워 인프라로의 물리적 연결을 포함하여, 한 위치에서 물리적으로 설치되고 배터리 교체 등을 위한 규칙적인 유지 없이도 자동으로 동작하도록 할 수 있다.
또 다른 특징에 따라, 접근 포인트(120)가 상태 및 진단과 관련된, 또는 소프트웨어 업데이트 등을 위한 최소한의 추가 회로를 포함할 수 있기도 하다. 접근 포인트(120)의 스패닝(spanning) 네트워크를 배치함으로써, 가입자 장치(110)가 존재하지 않거나 규칙적으로 존재할 것으로 기대되지 않는 지역에서, 네트워크가 계속해서 개선될 수 있도록 한다. 실시 예에서, 한 접근 포인트(120)는 벽, 마루, 지면, 천청, 지붕, 유틸리티 폴 등에 설치하는 것을 포함하여, 실내 및 실외의 다양한 장소에서 설치되거나 또는 숨겨질수 있도록, 적절한 크기와 중량을 갖도록 만들어진다.
접근 포인트(120) 각각은 RFC 778, RFC 891, RFC 956, RFC 958, RFC 1305, RFC 1361, RFC 1769, RFC 2030, 및 RFC 4330에서 설명된 네트워크 타이밍 프로토콜 어느 것에서든 사용된 타이밍 레퍼런스를 포함하거나 사용하며, 이들 모두는 The Internet Engineering Task Force(더 인터넷 엔지니어링 테스크 포스)에서 공개된다. 접근 포인트 각각은 또한 혹은 대신하여, 위치와 타이밍 레퍼런스를 제공하는 GPS 수신기를 포함하며, 혹은 어떤 다른 개방된 또는 독점사용의 타이밍 시스템이 사용될 수 있다.
실시 예에서, 상기 접근 포인트(120)는 이동 가입자 장치(110) 보다 큰 전송 파워 및/또는 안테나 이득을 가질 수 있으며, 따라서 상기 MANET(100)내 어떤 다른 장치보다 물리적으로 큰 커버리지를 제공한다.
상기 MANET(100)는 상기 MANET(100)내 노드를 인터넷과 같은 한 코어 네트워크(150)로 연결시키도록 동작하는 하나 또는 둘 이상의 백홀 접근 포인트(130)를 포함할 수 있다. 한 인터페이스에서, 한 백홀 접근 포인트(130)가 무선 라디오 인터페이스, 프로토콜 스택(들) 그리고 상기 MANET(100)내 다른 노드들의 다른 컴포넌트들을 가질 수 있다. 또 다른 인터페이스에서, 상기 백홀 접근 포인트(130)는 상기 코어 네트워크(150)로 적절한 인터페이스를 제공할 수 있다.
상기 백홀 접근 포인트(130)는 가령, 인터넷 트래픽 등을 위해 고속 데이터 용량을 제공하는 조직 접근 포인트 등에서 사용될 수 있다. 가령, 상기 조직 접근 포인트는 Gig-E 라우터 사이트 또는 OC-3/12 에드-드롭 멀티플렉서를 포함할 수 있다. 한 실시 예에서, 상기 백홀 접근 포인트(130)는 백홀 연결을위해 두 개의 Gig-E 인터페이스를 포함할 수 있다. 본원 명세서에서 설명한 바와 같이, 백홀 연결을 위해 수에 관계없이 다양한 적절한 인터페이스들이 한 백홀 접근 포인트(130)와 함께 사용될 수 있다.
한 백홀 접근 포인트(130)가 상기 MANET(100)내 다수 접근 포인트(120)에 서비스 할 수 있으며, 그와 같은 접근 포인트에서 네트워크 적재를 분산시키도록 할 수 있다. 선택적으로, 단일 백홀 접근 포인트(130)가 단일 접근 포인트(120)에 서비스되기도 한다. 한 백홀 접근 포인트(130)에 의해 서비스된 접근 포인트(120)의 수는 인트라-MANET 트래픽 및 엑스트라-MANET 트래픽 양, 멀티캐스트 대 유니캐스트 데이터 특성 및 방향과 같은 다양한 인수들에 달려 있다.
백홀 액세스 포인트(130) 그리고 접근 포인트(120) 사이 이 같은 관계는 때때로 지역 내 다른 가입자 장치(110) 존재, 네트워크 조건들, 네트워크 트래픽 수요 등에 따라 변경될 수 있다. 어떤 경우 혹은 어떤 동작 조건하에서는, 한 접근 포인트(120)가 하나 이상의 백홀 접근 포인트(130)와 관련될 수 있다.
한 가장자리 라우터(160)가 상기 코어 네트워크(150)와 하나 또는 둘 이상의 백홀 접근 포인트(130) 사이에 포함될 수 있다. 상기 가장자리 라우터(160)는 상기 MANET(100)내와 상기 코어 네트워크(150) 사이 경로배정을 용이하게 할 수 있다. 상기 코어 네트워크(150)는 한 가장자리 라우터(160)를 통하여 한 백홀 접근 포인트(130)에 연결될 수 있으며, 혹은 상기 가장자리 라우터(160)를 통하지 않고 한 백홀 접근 포인트(130)에 직접 연결될 수 있다. 두개 이상의 가장자리 라우터(160)가 사용되어 다수의 백홀 접근 포인트(130)들을 접촉하도록 할 수 있다.
실시 예에서, 한 가장자리 라우터(160)가 멀티플 백홀 접근 포인트(130)에 접촉할 수 있다. 상기 가장자리 라우터(160)는 상기 MANET(100)와 상기 코어 네트워크(150) 사이 연결을 유지시키기 위한 어떠한 장치 또는 시스템을 포함할 수 있으며, 상기 MANET(100)내에서 네트워크 활동을 더욱 지지하거나 향상시킬 수 있다. 가령 상기 가장자리 라우터(160)로는 산업 표준 및/또는 사설 어드레스 레절루션 프로코콜 서버, 애플리케이션 서버, 방화벽, 도메인 네임 시스템 서버, 다이네믹 호스트 구성 프로코콜 서버, 및/또는 오퍼레이션스, 어드미니스트레이션, 메인트넌스 및 프로비젼널 서버, 등등, 그리고 이들의 조합을 포함한다.
이들 다양한 컴포넌트는 상기 가장자리 라우터(160)내로 통합될 수 있으며, 혹은 상기 가장자리 라우터(160)의 동작을 지짖하는 분리된 (물리적 및/또는 논리적) 시스템으로 제공될 수 있다. 이들 지원 시스템은 일반적으로 상기 MANET(100)내 광대역 인터넷 연결, 상기 MANET(100)과 상기 코어 네트워크(150) 사이 방송 통신 등을 지원하고, 그리고 멀티플 백홀 접근 포인트(130)를 사용하여 가입자 장치(110)들 사이인터-MANET(및/또는 인트라-MANET) 트래픽을 효율적으로 경로 배정하도록 한다.
상기 코어 네트워크(150)는 상기 MANET(100) 바깥 어떠한 네트워크 자원도 포함할 수 있다. 도 1에 도시된 바와 같이, 어떠한 수의 각기 다른 코어 네트워크가 될 수 있으며, 이들은 가령 한 백홀 접근 포인트(130)를 통해 상기 MANET(100)로 연결된 제 2 코어 네트워크(152)를 포함할 수 있다. 상기 제 2 코어 네트워크(152)는 상기 코어 네트워크(150)로부터 완전히 독립적일 수 있거나, 혹은 고정된 또는 다른 타입의 네트워크를 통해 상기 코어 네트워크(150)에 연결될 수 있다. 상기 코어 네트워크(150)는 단일 네트워크를 형성하기 위해 상기 MANET(100)의 본질적으로 다른, 지리적으로 원격한 및/또는 지역 인스턴스들을 연결시킬 수 있다.
상기 코어 네트워크(150)는 LANs, MANs, WANs 등을 포함하는 IP 네트워크의 모든 형태를 포함할 수 있다. 상기 코어 네트워크(150)는 또한 또는 대신에 공중 인터넷, 공중 스위치 전화 네트워크, 셀룰러 통신 네트워크, 또는 어떠한 다른 네트워크, 또는 데이터 트래픽, 음성 트래픽, 미디어 방송 등의 네트워크 조합 등을 포함할 수 있다. 다른 실시 예에서, 상기 코어 네트워크(150)는 배타적으로 단일 영역의 행정구역, 또는 다수의 행정 구역, 또는 행정 구역의 조합으로 구성될 수 있다.
상기 고정 장치(170)는 어떤 이유로 상기 MANET(100)내에서 물리적으로 이동하지 않는 가입자 장치(110)를 포함할 수 있다. 일반적으로, 상기 MANET(100)내 이 같이 고정된 물리적 포인트들은 적재 밸런싱, 중복 등에 사용될 수 있는, 트래픽을 위한 유용한 경로배정 선택을 제공할 수 있다. 일례로서 가령 상기 MANET(100)내 고정되 데스크 탑 컴퓨터를 포함할 수 있다.
상기 MANET(100)내 통신은 본원 명세서에서 MANET 무선 프로토콜(MWP)로 칭하여 지는 프로토콜을 통해 달성될 수 있다. 일반적으로, MWP에 따라 상기 MANET(100)에 참석한 상기 노드 들어는 것도 무선 소프트웨어와 폼웨어 엎그레이드를 가능하게 하는 하드웨어 플렛폼을 포함할 수 있으며, 이는 가령 특정 또는 범용 계산 장치, 메모리, 디지털 신호 처리기, 무선-주파수 컴포넌트, 안테나, 및 상기 참석 노드들에서 상기 MWP를 실행하기 위해 적절한 다른 적절한 하드웨어 및/또는 소프트웨어를 포함할 수 있다.
도 2는 도 1의 MANET(100)내 장치들에 의해 사용된 한 MANET 무선 프로토콜(MWP)을 도시한다.
일반적으로, 한 프로토콜 스택은 네트워크 장치들 사이에서 통신하기 위한 한 기준 모델을 제공하여, 각 기증 층이 이웃하는 층들의 실현 세부사항에 관계없이 디자인되고, 수정되며, 또는 배치되면서, 네트워크 통신을 위해 필요한 또는 유용한 기능이 이용될 수 있도록 한다. 본원 명세서에서 설명된 방법 및 시스템은 적절한 프로토콜 스택을 사용하여 장치들 사이에서 무선 통신을 지원할 수 있도록 한다.
이는 MANET에서 사용하기에 적합하게 적용시키거나 또는 변경시키거나, 혹은 완전히 상이한 컴퓨터 네트워크 프로토콜 디자인으로, 가령 오픈 시스템 인터커넥션(Open Systems Interconnection)(OSI) 기준 모델(7개 층 레벨 애플리케이션이 있는, 프리젠테이션, 센션, 트랜스포트, 네트워크, 데이터 링크(LLC & MAC), 그리고 피지컬), 또는 TCP/IP 모델(4 개층 레벨 애플리케이션이 있는, 트랜스포트, 인터넷, 링크)을 포함한다.
물리적인 인터페이스, 미디엄 접근 제어, 라우팅 등을 지원하는 한 프로토콜 스택의 낮은 층(들)은 수정이 되어, 이동 무선 애드혹을 수용하도록 하며, 산업-표준 프로토콜이 상기 라우팅 층(가령 MANET 경계에서 및/또는 경계를 지나 경로 배정하기 위해) 및 그 층 위에서 지원된다. 이와 같이 하여, 산업 표준 애플리케이션 및 장치들이 상기 MANET내에서 사용되며 상기 MANET 인프라를 사용하여 통신을 관리한다. 따라서, 캐리어 또는 서비스 제공자의 경우에서와 같이, 간섭없이 상기 고정된 인터넷을 위해 디자인된 애플리케이션들은 상기 MANET내에서 사용될 수 있으며, 그 반대의 경우도 가능하다.
다양한 실시 예에서, 각 층 내 기능들이 장치-장치에 따라 증가되고, 줄어들며, 혹은 수정될 수 있다. 가령, 상기 층들 각각의 기능들은 본 발명의 범위를 벗어나지 않는 한도에서 특정 요구에 부합하도록 될 수 있다. 특정한 한 층의 기능이 본 발명의 범위를 벗어나지 않는 한도에서 소프트웨처 및/또는 하드웨어로 실현될 수 있다.
다양한 실시예에서, 장치 대 장치를 기초하여 각 층내부의 기능들이 추가되거나 감소되거나 수정될 수 있다. 예를 들어 각 층들의 기능성은 본 발명의 범위로부터 벗어나지 않고 특정요건을 충족하도록 수정될 수 있다. 특수 층의 기능(들)이 본 발명의 범위로부터 벗어나지 않고 소프트웨어 및/또는 하드웨어로 수행될 수 있다.
도 2에서 도시된 바와 같이, 한 MANET 무선 프로토콜(MWP) 스택 층들은 경로배정 층(202), 미디엄 접근 제어("MAC") 층(204), 그리고 한 물리적 층(206)을 포함한다. 일례로서, 이들 층들 각각 그리고 관련된 기능들이 하기에서 상세히 설명된다.
상기 경로배정 층(202)은 IPv4/RFC 791 및 BGP4/RFC 4271과 같은 산업 표준을 실시 하여, 스코프 링크 상태 경로배정(scoped link state routing) 및/또는 수신기-오리엔트 멀티캐스트와 같은 OSPF/RFC 2740을 대체하도록 한다. 상기 경로배정 층(202)은 또한 무선 애드 혹 네트워킹 기술을 실현하여 MANET와 고정된 네트워크 사이 경계에서 산업-표준 유니캐스트 및 멀티캐스트 경로배정 프로토콜을 지원하며 상기 MANET내에서 적정 유니캐스트 및 멀티캐스트 경로배정 제공한다.
상기 MAC 층(204)은 인캡슐레이션, MAC 802.3, ARP/RFC 826, 및 DHCP 위해 RFCs 894/1042 와 같은 미디엄 접근 제어를 위한 산업 표준을 실현한다. 상기 MAC 층(204)은 또한 무선 애드 혹 네트워킹 기술을 실현하여 가령 이웃하는 발견 관리, 적응성 데이터 속도, 및 사설의 대기 행렬 서빙과 같은 802.2 LLC and 802. Iq 을 대체하도록 한다. 이와 유사하게 PPP/RFC's 1661/2516는 사설의 링크 스케듈링 및/또는 노드 활성 멀티플 접근(NAMA) 채널 접근으로 대체될 수 있다.
상기 MAC 층(204)은 가령, 지연-민감 트래픽을 우선순위 결정하도록 하는, 채널 접근 및/또는 대기 행렬을 사용하여 서비스 품질 차별화를 지원한다. 이 같은 층에서, 이웃하는 매니즈먼트는 한-홉(one-hop) 이웃들과의 메세지 교환을 통하여, 각 노드'의 로컬 한-홉 및 두-홉 각각에서 장치들과 트랙 변경을 위한 네트워크 엔트리를 만들수 있다.
상기 MAC 층(204)은 가령 링크 조건들과 노드가 접속된 방식(버스 토폴로지)에 따라 간섭을 최소로 하면서 전송 용량을 최대로 하여, MANET 내 링크-링크 베이스로 전송 파워를 조정하여 적응성 있는 파워 조정을 지원할 수 있다. 적응성 데이터 속도가 링크-링크 베이스로 사용되어 개별 링크 조건에 따라 전송 용량을 최대로 한다. 대기 행렬 서비스는 물리적 층(206)을 통해 데이터 대기 전송을 위한 버퍼를 제공하며, 차별화된 서비스 품질을 사용할 수 있다. 동시에, 채널 접근이 사용되어 어느 노드가 각 TDMA 타임 슬롯 내에서 전송되는 가를 결정하도록 하며, 한 스케듈이 서비스 품질 파라미터에 의해 영향을 받는다.
상기 물리적 층(206)은 물리적 층 통신, 로컬 지역 노드 트래킹 알고리즘(LANTA) 네트워크 타이밍, 그리고 슬롯-슬롯 구성 파형의 세그먼트 및 재 결합과 같은 무선 기술을 실현할 수 있으며, 뿐 만아니라, 타임 도메인 멀티플 접근 및 주파수 도메인 멀티플 접근 파형, 또는 시간, 주파수, 코딩 등을 기반으로 하는 멀티플렉싱 또는 멀티플 접근을 지원하는 파형을 포함하는 멀티플 파형 모드를 실현할 수 있다. 일반적인 네트워크 타이밍이 또한 상기 물리적 층(206)내에 제공되며, 시간과 주파수 에러를 교정하여 모든 노드가 공통 타임베이스로 동작할 수 있도록 한다. 동시에, 파형 모드 셀프-발견이 사용되어 수신기 각각이 어느 파형 모드가 송신기로부터 보내졌는 가를 독자적으로 발견할 수 있도록 한다.
이들 및 다른 기능들이 그리고 한 MANET 무선 프로토콜 스택의 동작 세부사항들이 가령 2009.4.3. 미국 출원 12/418,363 에서 상세히 설명되며, 본원 명세서에서 참고로 인용된다.
도 3은 상기에서 설명된 MANET과 같은 무선 애드 혹 네트워크에서의 한 노드 블록도이다. 상기 노드는 가입자 장치, 접근 포인트, 또는 백홀 접근 포인트와 같이 상기에서 설명된 장치 가운데 어느 하나 일 수 있다. 일반적으로, 상기 노드(300)는 데이터 소스(302), 데이터 링크(304), 신호 처리기(306), 라디오(308), 데이터 대기행렬(310), 경로배정 정보(312), 그리고 이웃 정보(140를 포함할 수 있다. 다음 설명은 기본적으로 일반적인 사항에 대한 것이며, 다수의 처리 장치, 저장 장치, 그리고 무선 주파수 하드웨어가 적절히 사용되어 유사한 효과를 가져올 수 있다. 상기 설명은 본원 명세서에서 설명된 시스템 및 방법에 관련한 MANET 노드 동작을 아웃라인하는 것이며, 어떠한 의미로도 본 발명을 도 3에서 도시된 특정한 기술로 제한하고자 함이 아니다.
상기 데이터 소스(302)는 상기 노드(300)와 관련된 다른 하드웨어 및/또는 소프트웨어 또는 어떠한 애플리케이션도 포함할 수 있다. 이는 가령 랩탑 또는 다른 포터블 계산 장치에서 사용되는 프로그램, 웹 서버 또는 클라이언트, 디지털 카메라 또는 비디오 등등 과 같은 멀티미디어 입/출력 장치를 포함할 수 있다. 더욱 더 일반적으로, 데이터를 송신하거나 수신하는 장치, 센서, 탐지기 등이 상기 노드(300)에서 데이터 소스(302)로서 동작할 수 있다. 접근 포인트(104)와 같은 몇몇 노드는 독립한 데이터 소스(302)를 가질 수 없으며 다른 노드들 사이에서 데이터를 릴레이하는 MANET(100) 네트워크 요소로서 배타적으로 작용할 수 있으며, 상기 설명된 바와 같은 네트워크 안정도를 제공한다.
상기 데이터 링크(304)는 하드웨어 및/또는 소프트웨어를 포함하며, 이들은 이웃 관리, 데이터 패킷의 세그먼트화 및 재조합, 서비스 품질(QoS) 관리, 데이터 대기행렬 서비스, 채널 접근, 적응성 데이터 속도, 그리고 다른 적절한 데이터 링크 기능과 같은 데이터 링크 층 기능을 실현한다.
일반적으로, 상기 데이터 링크(304)는 데이터 소스(302)의 참석을 조정하며, 더욱 일반적으로, 한 MANET 내의 노드(300)의 참석을 조정한다. 도 3에서의 상기 데이터 링크(304)는 종래의 오픈 시스템 인터컨넥션(OSI) 모델로부터 그 수에 관계없이 하측 층(가령 물리적 층) 또는 상측 층(가령, 경로 배정, 운반, 세션, 프리젠테이션, 애플리케이션) 프로토콜을 실현 할 수 있으며, 어떠한 그와 같은 프로토콜 및 관련 기능도 상기 데이터 소스(302) 에서 실행되는 IP 스택에서, 또는 단일 처리기(306) 또는 라디오(308)내 폼웨어에서, 또는 도 3에서 도시되지 않은 추가의 기능 블럭에서와 같은, 상기 노드(300)내 어느 곳에서도 실현될 수 있다.
가령, 경로배정 프로토콜은 상기 데이터 링크(304) 하드웨어/소프트웨어 내에서 실현될 수 있으며, 상기 MANET(100) 내 노드들이 적절한 경로 배정 기능을 공유하도록 한다. 따라서 본원 명세서에서 설명된 일정 요소들이 한 정식 프로토콜 스택 데이터 링크 층 내에 적절히 위치하여질 수 있으며, 이 같은 발명 시스템 및 방법은 종래 프로토콜 스택에 대한 다양한 변경을 가하여 또는 어떠한 형식적인 프로토콜 스택에도 관계없이 실시될 수 있는 것임을 이해할 것이다.
상기 데이터 링크(304)는 상기 데이터 링크 층으로부터 이웃 정보를 수지바는 링크 매니저를 포함하며, 상기 노드(300)를 위한 이웃 정보(314)를 형성하고 유지시킨다. 이 같은 테이블이 사용되어 이웃들로의 경로 배정을 설정하도록 하며, 하기에서 더욱 설명되는 바와 같이 하나 그리고 두 합(hop) 이웃으로부터의 정보로 주기적으로 갱신된다. 상기 링크 매니저는 링크-링크 베이스로 한 노드에 대한 모든 활성 링크에서의 통계를 모니터하여 링크 품질 게산 그리고 여기서 설명된 다른 기능들을 지원하도록 한다.
메타데이터라는 용어는 상기 노드(300)에 대한 이웃 정보(314)를 의미하는 것이며, 또는 하나 또는 둘 이상의 정보 특징 노드, 데이터 링크 또는 다른 네트워크 특징에 대한 이웃 정보로서, 노드들 사이에서 공유되어 노드들이 참석하는 그리고 통신하는 네트워크를 설명하도록 하는 것이다. 일반적으로, 상기 메타데이터는 적어도 하나의 메타데이터 항목을 포함하며, 어떠한 수의 메타데이터 항목도 이웃하는 노드 수 그리고 노드 들 사이에서 교환될 정보의 양에 따라 유용하게 사용될 수 있다.
상기 신호 처리기(306)는 상기 노드(300)에서 데이터를 송수신함과 관련된 파형 처리 및 타이밍 기능을 포함할 수 있다. 이는 가령 네트워크 타이밍, 시간-슬롯 및/또는 프레임-기반 파형 구성, 하나 또는 둘 이상의 직교 주파수 분할 멀티플렉싱 파형 모드 패밀리 유지(또는 다른 전송 모드 파형), 파형 모드의 수신기 탐지, 에러 교정 코딩 등등을 포함할 수 있다.
일반적으로, 상기 신호 처리기(306)는 디지털 신호 처리기, 필드 프로그램 가능 게이트 어레이, 애플리케이션-특정 집적 회로, 마이크로처리기, 또는 다른 범용 또는 특정-목적 계산 장치의 적절한 조합으로 실시 될 수 있다.
한 실시 예에서, 직교 주파수 분할 멀티플레싱(OFDM) 파형은 적응성 데이터 속도 통신을 위해 사용될 수 있다. 상기 OFDM 파형의 모드들은 가령 7.2 MHz 구상 위상-이동 키잉(Quadrature Phase-Shift Keying)(QPSK), 4.8 MHz QPSK, 2.4 MHz QPSK, 1.2 MHz QPSK, 1.2 MHz 이진 위상-이동 키잉(Binary Phase-Shift Keying) (BPSK)을 포함한다.
상기 파형을 송신하기 위한 유효 데이터 속도는 에러 교정과 같은 다른 파라미터에 의해 영향을 받을 수 있다. 적응성 속도 시스템의 실시를 용이하게 하기 위해, 상기 전송 모드가 한 주문된 리스트로 조직(organized)될 수 있으며, 이 리스트는 신호 러바스트니스(robustness)를 줄이는 것에 상응하여 데이터 속도의 단조롭게 증가시킴을 포함하는 것이며, 따라서 전송 모드로 링크 품질을 고유하게 맵핑함을 허용한다. 한 특징에 따라, 한 링크를 통해 데이터를 전송하도록 선택된 실제 파형 모드가 이웃 노드들로의 링크를 위한 링크 품질 적절한 평가에 따라 적응성있게 선택될 수 있다.
상기 라디오(308)는 일반적으로 MANET 내 다른 노드들로 무선 에어 인터페이스를 통해 데이터 대기 행렬(310)으로부터 데이터를 전송하도록 동작되며 그리고 보충 데이터 수신을 수행하도록 하고, 상기 데이터 링크(304) 그리고 상기 신호 처리기(306)(제어 정보, 패킷 헤더 정보와 함께)에 의해 조직되고 암호화된다.
상기 라디오(308)는 어떠한 무선 주파수 아날로그 회로 등도 포함하며, 상기 신호 처리기(306)로 결합되어 노드(300)에서 사용된 디지털 리프리젠테이션과 다른 노드들과의 무선 주파수 통신에서 사용된 아날로그 리프리젠테이션 사이 데이터 및 제어 정보를 변환시킨다.
실시 예에서, 낮은 파워 라디오(308)가 사용되며, 여기서 상기 노드(300)가 배터리-파워 이동 장치이다. 다른 실시 예에서, 높은-파워 라디오(308)가 사용되며, 여기서 상기 노드(300)는 고정된 파워 인프라에 연결된 접근 포인트 또는 백홀 접근 포인트이다. 실시 예에서, 상기 라디오(308) 및 신호 처리기(306)는 측정된 링크 품질에 따라 송신 모드를 변경시킬 수 있는 적응성 데이터 속도 코딩, 에러 교정, 등등을 제공한다.
상기 데이터 대기행렬(310)은 노드(300)으로부터 전송하기위해 어떠한 데이터도 포함할 수 있다. 이는 가령 데이터 소스(302)로부터의 데이터, 상기 MANET내 다른 노드들로부터 노드(300)에 의해 릴레이된 데이터, 및/또는 상기 노드(300)로부터 데이터 패킷 내에 전송하도록 된 제어 정보를 포함할 수 있다. 상기 데이터 대기 행렬(310)은 적절한 방식으로 조직될(organized) 수 있으며 단일의 선입 선출 대기 행렬, 멀티플 대기행렬, 우선순위 정해진 대기행렬 등을 포함할 수 있다.
한 실시 예에서, 상기 노드(300)는 멀티플 우선순위 대기행렬을 포함하여, QoS 트래픽과 같은 다양한 서비스 레벨을 제공하는 데 도움이 되도록 할 수 있다. 일반적으로, 상기 데이터 대기행렬(310) 내 데이터는 상기 MANET 내에서 전송을 위한 상기 데이터 링크(304), 신호 처리기(306), 그리고 라디오(308)로 적절한 대기행렬 메카니즘에 따라 전달된다.
경로 배정 또는 포워딩 테이블과 같은 라우팅 정보(312)는 상기 노드(300)에 의해 라우팅 기능을 지원하도록 제공될 수 있다. 일반적으로, 일반적으로, 이는 가령 수신자 주소 또는 식별자, 수신자로의 경로 비용(적절한 비용 계산과 함께), 그리고 그 같은 경로을 통한 다음 홉(hop)을 포함한다. 서비스 품질과 같은 다른 정보 및 다양한 경로 및 링크에 대한 다른 매트릭스가 더욱더 세밀한 라우팅 결정을 위해 제공될 수 있다.
이웃 정보(314)는 데이터베이스, 플랫 파일, 라우팅 테이블, 또는 상기 노드(300) 내 다른 적절히 조직된 휘발성 또는 비 휘발성 저장장치내에 유지될 수 있다. 상기 이웃 정보(314)는 상기 MANET 유지 및 MANET 노드 각각의 라우팅 기능들을 지원한다.
상기 MANET 내에서, 노드 각각은 다른 노드와 상호 작용하여 지역 네트워크 연결, 이동 용량을 독자적으로 식별하도록 하며, 상기 네트워크를 통하여 경로를 동적으로 형성시키도록 한다. 상기 노드의 라우팅 기능(상기 이웃 정보(314)에 의해 지원되는)은 지연-민감(가령 음성) 트래픽, 지연-인내 트래픽 등등을 서비스(QoS) 우선순위 품질과 함께 수용할 수 있다.
상기 이웃 정보(314)는 이들 노드들과 관련된 정보와 함께 이웃 노드들의 식별을 포함할 수 있다. 이는 한-홉 이웃(즉, 상기 노드(300)와 직접 무선 통신하는 이웃 노드), 두-홉 이웃(즉, 단 하나의 다른 노드만을 통해 상기 노드(300)와 통신하는 이웃 노드), 또는 어떤 다른 노드 또는 상기 MANET 내 참석자를 포함할 수 있다.
한 특징에서, 이웃 정보(314)는 상기 라디오(308)를 위한 링크 품질 정보를 포함하며, 이는 물리적 층 그리고 데이터 링크 데이터 조합으로부터 얻어질 수 있고, 현재 존재하는 채널 조건에 따라 상기 통신 데이터 전송 속도를 적응시키도록 사용될 수 있다. 상기 이웃 정보는 또한 QoS 데이터를 위한 다음 홉들을 선택하도록 사용된 QoS 데이터를 포함할 수 있다. 다른 유용한 정보로는 대역폭 사용, 노드 웨이트, 노드 위치(논리적 또는 물리적), 그리고 QoS 타입 각각 및/또는 다른 우선순위 타입에 대한 대기행렬 대기 시간을 포함할 수 있다.
한 특징에 따라, 상기 이웃 정보(314)는 이웃 노드와 주기적 교환 동안에(제어 전송동안과 같은) 모아질 수 있으며, 이는 상기 데이터 링크(304)의 링크 메니저 조정하에 발생될 수 있다. 가령, 상기 노드(300)는 상기 노드(300)가 이웃과 함께 가질 수 있는 링크 각각에 대하여 출력 대역폭(즉, 데이터 전송 요구)을 결정할 수 있으며, 이를 한-홉(hop) 이웃들로 전송할 수 있다.
이와 유사하게, 상기 노드(300)는 한-홉 이웃 각각으로부터 출력 대역폭을 수신할 수 있다. 이 같은 데이터를 사용하여, 노드(300) 각각은 그 자신의 입력 대역 폭(즉, 데이터 수신 요구)을 이웃 노드로의 링크 각각으로부터 더욱 계산할 수 있으며, 그리고 이 같은 정보가 다음에 한-홉 이웃과 교환될 수 있다. 한-홉 이웃과의 시스템-와이드 교환에 이어, 상기 노드(300)(그리고 상기 MANET 내 모든 다른 노드)가 상기 노드(300)에 대한 상대적인 출력 요구를 나타내는 한 노드 웨이트를 계산할 수 있다. 가령, 상기 노드 웨이트, W.는 다음과 같이 계산될 수 있다.
W = (BWout)/(BWout +BWin) [Eq. 1]
여기서 BWout은 상기 노드(300)의 링크 각각을 위한 총 출력 또는 전송 요구이며, BW1n 는 총 입력이거나, 상기 노드(300)의 링크 각각에 대한 요구를 수신한다. 마지막으로, 상기 노드(300)는 상기 노드 웨이트를 이웃하는 노드 각각으로 전송할 수 있으며, 그리고 다음에 한 노드 웨이트를 이웃하는 노드 각각으로부터 수신한다.
상기 노드 웨이트, W.는 제어 정보를 위해 사용된 비트 수에 따라 그 값을 제한함으로써, 또는 경로배정 또는 다른 MANET 기능을 더욱 미세하게 제어하기 위해 상기 노드 웨이트에 대한 보충 조정을 제공함으로써, 다른 이웃 정보(314)와 함깨 사용하기 위해 더욱 처리될 수 있다. 상기 이웃 정보(314)의 유지를 위해 정보의 공유가 가령, 상기 데이터 링크(304)에 의해 제어될 수 있으며, 이는 언제 한 홉 이웃과 정보를 공유할 것인지를 결정하기 위해 적절한 기술을 적용시킨다. 한 특징에 따라, 상기 데이터 링크(304)는 상기 MANET 에서 한 노드의 추가 또는 삭제와 같은 변경이 탐지되는 때마다 데이터를 전송할 수 있다.
상기에서 지적된 바와 같이, 이웃 정보(314), 라우팅 정보(312), 및/또는 데이터 대기행렬(310) 어느 하나, 그리고 앞선 예 어느 하나와 관련된 상태 또는 다른 정보가 한 네트워크에 참석하는 노드 사이에서 공유되며, 모든 그와 같은 정보가 본원 명세서에서 사용된 메타데이터 의미에 포함되는 것이다.
또 다른 특징에 따라, 위치-알고 있는 노드(300)를 갖고 있는 MANET의 경우(가령, 글로벌 위치 확인 시스템(GPS) 데이터, 신호 세기 데이터, 등등을 사용하여), 상기 이웃 정보(314)가 위치 데이터를 포함하여 위치-기초 라우팅 등등을 지원하도록 한다.
상기 설명에서는 일반적인 의미로 MANET를 설명하였지만, 하기에서 이동 노드의 더욱 세부적인 처리에 대하여 설명될 것이다.
도 4는 두 개의 MANET BAP 도메인을 포함하는 MANET(400)을 도시하고 있다. 일반적으로, 임의의 MANET 클라우드 또는 BAP 도메인(410)은 MANET(400)를 인터넷과 같은 또 다른 네트워크에 접속하는 Backhaul Access Point(BAP)(420) 주위로 형성될 수 있다. 제 2의 임의의 MANET 클라우드 또는 BAP 도메인(430)은 또 다른 BAP(440)을 포함하여 도시된다. 도 4에 도시된 것과 같이, MANET BAP 도메인(410, 430)은 서로 분할할 수 있으며, BAP는 해당 BAP 도메인의 중앙에서 위치할 필요가 없다. 일반적으로, BAP 도메인에서의 참여는 각각의 노드에 의해 명확하게 결정되며, 멤버십 정보(membership information)는 노드가 이동될 때와 같이 종종 선택적으로 업데이트되고 조장된다.
하나의 BAP 도메인으로부터 다른 BAP 도메인으로 변환할 때, 뿐만 아니라 BAP 도메인 내에서 멤버십을 결정하기 위해 다양한 기술들이 사용될 수 있는데, 이는 밑에서 상세하게 논의될 것이다. 예를 들어, 이웃 발견(neighbor descovery)을 통해, MANET 내의 다양한 이동 노드(mobile node), 고정 노드(fixed node), 액세스 포인트 등은 이들 주변을 식별할 수 있으며, 각각의 BAP 주위에서 BAP 도메인을 형성하는 노드와 함께, 인터넷 또는 BAP를 통한 그 외의 다른 고정 네트워크 스트럭쳐로의 경로(path)를 식별할 수 있다. 특정 노드가 두 개 이상의 BAP 기반 네트워크 커버리지에 잠재적으로 속할 수 있지만, BAP 도메인 내에서 노드로의 인터-노드 커뮤니케이션을 제한하는 것은 라우팅, 멀티캐스팅 등과 같은 네트워크 오퍼레이션을 상대적으로 작고 잘-정의된(또는 적어도, 더 잘 정의된) 노드 그룹들에 국한(confining)하기 위해 유용한 추상화(abstraction)를 제공할 수 있다. 특정 구체예에서, 노드는 밑에서 기술된 특정의 특징들이 각각의 노드가 오직 단일 BAP 도메인에만 속하는 환경에 제한된다 하더라도 두 개 이상의 BAP에 속할 수 있다. BAP 도메인은 일반적으로 BAP가 파워 업(powered up 될 때 BAP 주위에서 생성될 수 있으며, BAP 주위의 여러 노드들은 새로운 BAP 도메인에 합류(join)되거나 또는 임의의 적합한 할당 스킴(allocation scheme) 또는 알고리즘을 사용하여 (만약 존재한다면) 기존의 BAP 도메인 내에 유지될 수 있다. BAP 도메인 내의 커뮤니케이션을 통해, BAP 도메인 내의 여러 노드들은 필요 시에 BAP 도메인을 업데이트 한다. 예를 들어, 이동 노드는 BAP 도메인 영역 내로 이동될 수 있다. 정보가 이동 노드로 교환될 때, BAP 도메인은 이동 노드를 도메인에 추가할 수 있다. 이동 노드는 BAP 도메인과 결합된 BAP를 통해 인터넷으로 소통할 수 있으며, BAP 도메인 내의 그 외의 다른 노드들과 소통하도록 결합될 수 있다. 이와 유사하게, 그 외의 다른 BAP 도메인의 특징들은 BAP 도메인을 포함하는 여러 노드들 사이에서 정보의 교환을 통해 업데이트될 수 있다.
도 5는 MANET 프로토콜 내에서 노드에 의해 유지된 정보를 예시하고 있다. 보다 구체적으로, 도 5는 세 개의 이동 노드 N1(510), N2(520), 및 N3(530) 및 제 1 BAP 도메인(550) 내의 BAP N4(540)를 도시하고 있다. 이동 노드 N3(530)은 중첩하는 BAP 도메인(560)에 속하며 그 외의 다른 노드 N1(510)과 N2(520)과 함께 공존한다(co-exist). 이 노드들은 모두 링크 비용(link cost), QoS, 파워 레벨 및 BAP 도메인들과 같은 추가 정보와 함께, 적절한 MANET 프로토콜 마다, 링크 스테이트(link state)를 나타낼 수 있다(advertise). 이동 노드는 서로 다른 기준(criteria)에 따른 상이한 기술들을 생성하기 위해 이동 노드의 정보를 사용할 수 있다. 예를 들어, 심지어 단일 전송 노드와 단일 수신 노드 (또는 멀티캐스트 컨텍스트 내의 다수의 노드) 사이에서, 하나의 라우팅 트리(routing tree), 경로 또는 이와 같은 것은 QoS 전달에 최적화될 수 있으며, 또 다른 서로 다른 라우팅 트리, 경로, 또는 이와 같은 것은 파워 소모에 최적화될 수 있다. 이와 비슷하게, BAP 도메인의 멤버들은 포함될 때 사용되는 범위에 따라 변경될 수 있다.
이동 노드들은 여러 특성들을 나타낼 수 있는데(advertise), 이 특성들은 MANET 라우팅 또는 데이터링크 프로토콜 내 또는 MANET 라우팅 또는 데이터링크 프로토콜의 상부에 있는 노드둘 중에서 교환될 수 있다.
1. 링크 비용(제공됨)
2. 링크 비용(발견됨)
3. 라우트 비용(제공됨)
4. 라우트 비용(발견됨)
5, 노드 비용(제공됨)
6. 노드 비용(발견됨)
7. QoS(제공됨)
8. QoS(발견됨)
9. 파워 사용량
10.BAP에 대한 홉 (비용)
11.이동성 (차량, 보행자 노드 또는 고정 노드)
한 형태에서, MANET 도메인 내에 있는 네트워크 층이 상기 도메인 내에 있는 라우터 컨트롤 정보의 브로드캐스트를 조정하도록(coordinate) 사용될 수 있다. 아우터 컨트롤 정보는 다음을 포함한다:
1. 링크 비용 - 특정 링크를 사용하기 위한 임의의 비용 측정치
2. 라우트 비용 - (링크 개수, 또는 라우트 내의 링크 비용의 합 또는 그 외의 측정치를 포함하는) 라우트를 이용하는 임의의 측정치
3. 파워 비용 - 라우트 및/또는 링크를 위한 파워 사용량의 임의의 측정치
4. CPU 비용 - 라우트 및/또는 링크를 위해 필요한 프로세싱의 임의의 측정치
5. 컨피규레이션 가능 비용(Configurable Cost) - 라우트 또는 라우트 내의 노드를 변경하기 위한 임의의 측정치
6. 어댑티브 데이터 레이트(ADR 정보 -
라우트 또는 노드의 링크를 위한 트랜스미션 모드 및/또는 데이터 레이트의 임의의 측정치.
이 정보는 (네트워크 층 내와 같은) 라우팅 프로토콜 내에서 모여져서 유지될 수 있으며 프로토콜 및/또는 MANET의 관련 프로토콜에 따른 임의의 적절한 인터벌(interval)에서 브로드캐스팅 될 수 있다. 컨트롤 정보를 위한 각각의 리시빙 노드는 파워, 링크 비용 등과 같은 다양한 기준에 따라 데스트네이션으로의 상이한 라우트를 생성할 수 있다. 일단 MANET 라우팅 프로토콜이 상기 부가적인 정보와 수렴하면(converge), 모든 노드들은 이 기준에 따라 상이한 라우팅 토폴로지를 가질 수 있다.
상기 부가적인 라우터 컨트롤 정보는 트래픽을 라우팅하기 위해 어떠한 기준이 사용되는 지를 결정하거나 또는 식별하기 위해 네트워크 트래픽을 태깅(tagging) 함으로써 활용될 수 있다. 예를 들어, 모든 호스트 트래픽(host traffic)은 프로그래밍 가능한 애플리케이션 인지 논리(awaremess logic)에 따른 한 세트의 QoS 값들을 태깅하고 할당될 수 있다. 이러한 애플리케이션 인지 논리는 예를 들어 VOIP(또는 그 외의 보이스 데이터), MP3 다운로드(또는 그 외의 오디오 데이터 다운로드), 스트리밍 비디오 등과 같은 주어진 데이터 플로를 위한 트래픽 요건들을 결정할 수 있다. 일단 트래픽이 적절하게 태깅되고 나면, 릴레이 노드(relay node)들은 라우터 컨트롤 정보와 함께 트래픽을 라우팅하기 위해 상기 정보를 사용할 수 있다. 예를 들어, 릴레이 노드는 배터리 파워를 절약하기 위해 링크 비용 대신 파워 사용량에 따라 라우트하기를 결정할 수도 있다.
본 명세서에 기술된 한 형태에서, 트래픽이 서로 다른 트래픽 타입들로 분류되는 MANET 라우팅 프로토콜, 및 트래픽 타입의 각각의 클래스(class)를 위한 최적화된 라우트가 MANET 도메인 내에서 공유되는 라우터 컨트롤 정보와 서비스 클래스에 따라 결정된다. 본 명세서에 기술된 또 다른 형태에서, MANET 라우팅 프로토콜은 MANET 도메인 내에서 공유되는 라우터 컨트롤 정보를 이용하여 이동 노들를 위한 배터리 사용량을 최적화한다. 본 명세서에 기술된 시스템과 방법들은, 특정 노드에서 상이한 트래픽 타입들을 라우팅하기 위해 서로 다른 기중을 사용함으로써 및/또는 MANET 도메인 내에서 특정 트래픽 타입을 위해 다수로 동일하게 적합한 라우트를 식별함으로써와 같이, 네트워크 내에서 그리고 특정 노드에서의 혼잡(congestion)을 감소시키도록 사용될 수 있다.
도 6은 백홀 액세스 포인트(670)에 대한 대안의 저-비용 경로(680 및 690)를 도시하고 있다. 경로(680)는 최소 지연 경로(minimum delay path)를 구현하기 위해 노드(610, 620 및 630)를 횡단할 수 있다. 경로(690)는 최소 파워 경로(minimum power path)를 구현하기 위해 노드(610, 640, 650, 및 660)를 횡단할 수 있다. 노드와 BAP를 따르는 상기 두 경로는 두 경로 모두 MANET(615) 내에 위치될 수 있다. 일반적으로, 상이한 경로, 및 더 일반적으로, 상이한 네트워크 토폴로지(network topology)는 여러 노드, 링크 및 MANET 내의 커뮤니케이션 타입들에 대해 상이한 기준, 파라미터, 특성 등을 사용하여 기인될 수 있음을 이해할 수 있을 것이다. 도 6은 구체적으로 한 예로서 최소 파워 이용 옵션에 대한 최소 지연의 최적화를 사용하여 BAP(670)로의 두 개의 서로 다른 최단 경로를 도시하고 있다. 도 6에는 두 개의 경로가 도시되었지만, 서로 다른 파라미터에 대해 그 외에 다른 다수의 경로들이 제공될 수 있으며 특정 경우에서는 하나 이상의 동일 비용을 가질 수 있다.
도 7은 비용 기반 라우팅을 실행하기 위한 방법의 플로차트이다. 프로세스(700) 내에 여러 블록 또는 단계들이 예시되고 있음을 유의해야 한다. 정확한 순서는 변경될 수 있으며 특정 단계들은 반복될 수 있고, 변형될 수 있거나 또는 본 발명의 범위를 벗어나지 않고 삭제될 수도 있다. 일반적으로, 프로세스(700)는 라우팅 매트릭스(705)를 개발하기 위해 종래의 트래픽 식별(traffic identification) 및 라우트 비용 절차(route cost procedure)를 사용한다. 모든 가능한 데스티네이션과 트래픽 타입들을 완전히 커버함으로써, 라우팅 매트릭스(705)는 단순한 룩-업 테이블 프로세스(look-up table process)에 있는 노드로부터 아웃바운드 트래픽(outbound traffic)을 위한 라우트를 신속히 선택하도록 제공될 수 있다. 이 기술을 단일 BAP 도메인에 국한하고, BAP 도메인 내에 있는 멤버십을 적절한 개수의 노드에 제한시킴으로써, 상기 도메인을 위한 컴프리헨시브 라우팅 매트릭스(705)의 생성은 전형적인 MANET 노드를 위한 트랙터블 오퍼레이션(컴퓨테이션 및 네트워크 오버헤드 둘 모두)으로 감소될 수 있다.
단계(710)에서 볼 수 있듯이, 네트워크 데이터를 위한 트래픽 타입이 식별될 수 있다. 이 단계는, 인프라스트럭쳐 레벨(예를 들어, MANET에 들어가기 전에 노드 내로의 하드-코드)에서 사전결정되고, (BAP에 의해서와 같이) 특정 BAP 도메인에 대해 나타내고(advertised), BAP 도메인 내에서 그 외의 다른 노드들을 문의함으로써(querying) 결정되거나, 또는 노드를 통과하는 트래픽을 검사하여 노드에 의해 ad hoc 기반에 따라 식별된 트래픽 타입들을 식별하는 단계를 포함할 수 있다. 또 다른 형태에서, 트래픽 타입들은 (Internet Engineering Task Force("IETF") Request for Comments("RFC") 2475에서 기술된 것과 같이) Differential Services, 또는 그 외의 유사한 Layer 3 또는 상위 QoS 메커니즘을 사용하여 식별될 수 있다. VOIP, (스트리밍 오디오 또는 비디오와 같은) 스트리밍된 데이터, MP3 데이터, 파일 트랜스퍼, 전자 메일, 웹 정보, 인트라-MANET 피어-투-피어 트래픽, MANET 노드 정보 등을 포함하는, 다양한 트래픽 타입들이 MANET를 이동할 수 있으며, 크리티컬 네트워크 트래픽을 위한 보증된 서비스로부터 MANET 노드로부터 검색하는 웹과 같은 논-크리티컬 트래픽(non-critical traffic)을 위한 최고-효과 서비스(best-effort service)로까지 범위가 변하는 상이한 트래픽 타입들에 상이한 서비스 레벨(service level)을 제공하기 위해, 각각의 트래픽 타입은 서로 다른 방식으로 취급될 수 있다. 트래픽 타입들은, 내부적으로, 본 발명의 범위를 벗어나지 않고, 특정 타입(예를 들어, VOIP, 스트리밍 비디오 등), 또는 보편 타입(예를 들어, 타입 1, 타입 2 등등)으로서 나타날 수 있음을 이해해야 한다. 일반적이고 밑에서 기술한 것과 같이, 각각의 노드는 다양한 레벨의 서비스를 함축적으로(라우트 비용을 통한 것과 같이) 또는 명시적으로(예를 들어 노드로부터의 트랜스미션을 우선순위화(prioritizing) 하는 것과 같이) 제공하여 협력할 수 있다. 복수의 트래픽 타입들은 하나 이상의 QoS 레벨을 포함할 수 있다. 또한 복수의 트래픽 타입들은 하나 이상의 우선순위화 레벨을 포함할 수 있다. 또한 복수의 트래픽 타입들은 하나 이상의 호스트 트래픽, 보이스 데이터, 오디오 다운로드 데이터, 스트리밍 비디오, 및 바이너리 정보(binary information)를 포함할 수 있다.
단계(712)에 도시된 것과 같이, 라우팅 기준(routing criteria)이 식별될 수 있다. 몇몇 기준은 파워, 대역폭(bandwidth), 딜레이(delay), 딜레이 지터(delay jitter), 패킷 로스 레이트(packet loss rate), 링크 퀄리티(link quality), 레이턴시(latency), QoS, 데이터 레이트, 트래픽 타입, 거리(예를 들어, 홉 카운트(hop count)), 및 혼잡 회피(avoidance of congestion)를 포함하지만, 넓고 다양한 범위의 적절한 라우팅 거리(routing metrics)가 공지되어 있으며 본 명세서에 기술된 시스템과 방법들 내에서 사용하도록 구성될 수 있음을 이해할 수 있을 것이다. 이 기준은 노드에 의한 파워 사용량(power usage), 노드 이동성(mobility), CPU 처리 요건, 콘피규레이션 요건, 특정 노드에서의 혼잡, 및 어댑티브 데이터 레이트(adaptive data rate; ADR) 정보의 그룹으로부터 선택된 하나 이상을 포함할 수 있다. 상기 기준은 하나 이상의 파워 레벨, 링크 퀄리티, 노드 대역폭(node bandwidth), 및 홉 개수 들 중 하나 이상을 포함한다. 이 기준은 단계(710)에서 식별된 트래픽 타입에 따라 자동적으로 탐지되거나, 또는 예를 들어, 노드 내로 하드-코드될 수 있고, 이웃 노드들로부터 얻어질 수 있으며, BAP로부터 얻어질 수 있거나, 또는 인간 또는 컴퓨터 유저에 의해 구체화될 수 있는 사전결정된 기준 세트로서 제공될 수 있다. 또 다른 형태에서, 상기 기준은 트래픽 타입과 연관된 다양한 목적에 따라 선택될 수 있다. 예를 들어, 특정 노드들은 잔여 배터리 수명의 양에 따라 또는 노드 이동성에 따른 릴레이 데이터(relay data)에 대한 유용성(availability)을 제한하기를 바랄 수도 있어서, 이와 상이한 기준이 MANET를 통한 라우트에 비용을 할당하도록 사용될 수 있게 한다. 일반적으로, 상이한 트래픽 타입을 위해 MANET을 통한 라우트를 평가하기 위해 코스팅 알고리즘(costing algorithm) 또는 이와 같은 것에 다수의 기준들이 사용될 수 있다. 본 명세서에서 사용되는 것과 같이, 용어 "식별하다(identify)" 또는 "식별하는(identifying)"은 코스팅 및 밑에서 기술되는 그 외의 다른 알고리즘을 위한 라우팅 기준을 얻기 위해 광범위하게 언급할 수 있다는 점을 이해할 수 있을 것이다. 이는 노드 내에 있는 메모리로부터 기준을 검색(retrieval)하고, (BAP 또는 에지 라우터(edge router)와 같은) 외부 리소스(external resource)로부터 검색하거나, 또는 컴퓨터 또는 인간 유저에 의한 구체화(specification) 단계를 포함할 수 있다.
단계(714)에서 볼 수 있듯이, 각각의 기준에 대해 웨이팅하는 단계(weighting)는 트래픽 타입을 위해 정의될 수 있는데, 이 단계는 메모리로부터 웨이트를 검색하고, 임의의 개수의 환경 요인(environmental factor)들에 따라 웨이트를 계산하며, 또 다른 노드, BAP, 또는 BAP 도메인용 에지 라우터와 같은 외부 리소스로부터 웨이트를 검색하고, 인간 또는 컴퓨터 유저로부터 수동으로-특정화된 웨이트(manually-specified weights)를 검색하는 단계 등을 포함할 수 있다. 각각의 기준에 대해, 상기 웨이팅하는 단계는 특정 기준을 강조하고, 강조된 웨이트를 줄이며, 제거하거나, 또는 그 외에 달리 웨이팅되어 취급할 수 있게 할 수 있다. 예를 들어, 파워 보존(power conservation) 또는 감소도 중요하고, 임의의 파워 사용량 기준도 그 외의 다른 기준보다 더 크게 웨이팅될 수도 있다. 또 다른 예로서, 데이터 레이트 또는 전달 시간(delivery time)이 핵심적인 곳에서, 딜레이 기준이 더 크게 웨이팅될 수 있으며, 파워 사용량은 그 웨이트가 감소될 수도 있다. 특정 기준은 비연관적이라고 여겨질 수도 있으며, 따라서 이 특정의 기준에 대한 웨이트는 매우 작거나 또는 심지어 그 웨이트를 영(zero)으로 설정될 수도 있다. 상기 웨이팅 하는 단계는 한 트래픽 타입으로부터 다른 트래픽 타입으로 변경될 수 있으며 MANET 토폴로지에 대한 변경사항과 같은 그 외의 다른 네트워크 상태들로 변경될 수 있다. 일반적으로, 이 단계들은 기준을 식별하는 단계와 복수의 트래픽 타입들 각각을 위한 다변량 라우트 비용(multivariate route cost) 계산에 대한 웨이팅하는 단계를 포함할 수 있다. 하나 이상의 기준을 위한 웨이팅하는 단계는 유저에 의해 선택된다.
단계(716)에 도시된 것과 같이, 상기 프로세스는 백홀 액세스 포인트 라우팅 도메인 내의 각각의 데스티네이션에 대한 가능 라우트(possible route)를 식별하는 단계를 포함할 수 있다. MANET를 통한 각각의 가능 데스티네이션에 대한 가능 라우트들이 식별될 수 있다. 특정의 경우에서 하위세트(subset)의 가능 라우트들이 식별될 수 있다. 예를 들어, 노드-투-노드 트래픽(node-to-node traffic)이 최소가 되도록 예상되는 곳에서, 라우트 선택은 BAP 도메인을 위한 BAP에 도달하는 라우트 및, 연장하여(by extension), BAP 도메인 외부에 있는 모든 데스티네이션에 초점이 모아질 수 있다. 또 다른 예로서, 특정 개수 이상의 홉을 포함하는 라우트들은 배제될 수 있다(excluded). 그 외의 다른 적절한 임의의 알고리즘 또는 휴리스틱(heuristic)도 적절히 사용될 수 있다. 예를 들어, (예를 들어, VOIP와 같이) 높은 우선순위의 트래픽 타입에 대해서, 데이터 레이트, 링크 퀄리티, 또는 잠재 임계점(latency threshold)를 충족시키지 못하는 임의의 링크들은 가능 라우트 내에서 사용되는 것이 배제될 수도 있다. 또 다른 예로서, 낮은 우선순위의 트래픽 타입에 대해서, 사전결정된 임계점 밑에 파워 리저브(power reserve)를 가지는 임의의 노드들은 배제될 수 있다. 이 고려사항들은 적절한 코스팅 알고리즘을 통해 적절하게 나타내어질 수 있지만; 상기와 같이 전체적으로 배제함으로써 이득을 주는 상태들을 식별함으로써, 라우팅 매트릭스(750)를 유지하는 데 있어서의 계산 요건(computational demand)들이 감소될 수 있음을 이해할 수 있을 것이다.
단계(718)에 도시된 것과 같이, 상기 프로세스는 복수의 트래픽 타입들 중 각각의 하나에 대한 백홀 액세스 포인트 라우팅 도메인 내의 각각의 데스티네이션에 대해 최소-비용의 라우트를 결정하기 위해 다변량 라우트 비용 계산을 제공하여 라우팅 데이터를 제공하는 단계를 포함할 수 있다. 식별된 각각의 가능 라우트들은 계산된 각각의 비용을 가질 수 있다. 일반적으로, 이는 예를 들어 위에서 기술된 기준과 웨이트들을 사용하여 각각의 라우트를 위한, 웨이팅된 다변량 비용 기능을 평가하는 단계를 포함하는 임의의 적절한 라우트용 기술을 포함할 수 있다. 기준과 웨이트에 따라 각각의 소스로부터 각각의 데스티네이션으로 가는 각각의 라우트의 비용은 트래픽 타입을 위해 계산될 수 있다. 복수의 트래픽 타입들은 VOIP를 포함할 수 있으며 다변량 라우트 비용 계산을 위한 웨이팅하는 단계는 각각의 트랜스미션 데스티네이션에 대해 홉 개수를 최소화하도록 선택될 수 있다.
단계(720)에서 볼 수 있듯이, 상기 프로세스는 트래픽 타입과 데스티네이션에 의해 접근할 수 있는 라우팅 매트릭스 내에 라우팅 데이터를 저장하는 단계를 포함한다. 각각의 소스로부터 각각의 데스티네이션으로의 저비용-라우트는 각각의 트래픽 타입을 위해 라우팅 매트릭스(705) 내에 저장될 수 있다. 이 데이터는 트래픽 타입, 소스 식별자(source identifier), 및 데스티네이션 식별자(destination identifier)에 의해 인덱스되는(indexed) 방식으로 저장될 수 있으며, 이에 따라 트랜스미션을 위한 데이터를 가진 노드가 또 다른 계산 또는 오버헤드 없이 라우팅 정보를 신속하게 룩 업 할 수 있다. 그러면, 상기 프로세스(700)는 새로운 트래픽 타입이 식별되는 단계(710)로 돌아갈 수 있다. 일반적으로, 전술한 단계들은 각각의 트래픽 타입에 대해 일련 순으로(serially) 또는 병행하여(in parallel) 수행될 수 있다. 네트워크 토폴로지, 네트워크 트래픽 요건, 네트워크 상태(예를 들어, 링크 퀄리티, 노드용 배터리 파워 등) 및 이와 유사한 것들이 변경될 때 라우팅 정보를 업데이트하기 위하여 상기 프로세스(700)가 주기적으로 반복될 수 있다는 점을 이해할 수 있을 것이다. 상기 프로세스(700)는 주기적으로(예를 들어 고정 또는 가변적인 스케쥴에 따라), 연속적으로(예를 들어, 모든 트래픽 타입들이 최저 비용 라우트를 위해 분석되고 난 즉시 반복되는), 또는 네트워크 토폴로지, 노드 상태 등, 또는 MANET 내의 새로운 트래픽 타입의 외관(appearance)에서 탐지되는 변화와 같은 몇몇 유발 경우에 따라 반복될 수 있다. 한 형태에서, 하나 이상의 차선-최저-비용 라우트(next-lowest-cost route)가 라우팅 매트릭스(705) 내에 저장되고 평가될 수 있는데, 이는 예를 들어 실패(failure)의 경우 데스티네이션에 대안의 라우트를 제공하도록 사용될 수 있다.
라우팅 매트릭스(705)는 위에서 기술한 것과 같이 각각의 트래픽 타입을 위한 최저-비용 라우트에 대한 정보를 저장할 수 있으며, 소스 노드 식별자, 데스티네이션 노드 식별자, 및 트래픽 타입에 의해 데이터를 검색하기 위해 구성될 수 있거나 또는 인덱스될 수 있다. 라우팅 매트릭스(705)는 관련 데이터베이스 또는 이와 유사한 것으로서 적절하게 조직될 수 있으며, 노드에서 사용하기에 적합한 휘발성 또는 비-휘발성 메모리 형태로 구현될 수 있다. 상기 프로세스는 스코프 링크 스테이트 라우팅 알고리즘(scoped link routing algorithm)을 사용하여 라우팅 매트릭스를 업데이트하는 단계를 포함할 수 있다.
단계(760)에 도시된 것과 같이, 데이터는 트랜스미션을 위한 노드의 큐(queue)를 전송하는 것과 같이 데이터 소스로부터 선택될 수 있다. 노드의 데이터 소스는 다수의 큐를 포함할 수 있으며, 각각의 큐는 서로 다른 코딩 스킴(coding schemes)을 사용하고 및/또는 서로 다른 데이터 레이트를 제공하는 다수의 전달 모드를 가질 수 있다. 다양한 MANET 토폴로지에 따라서, 서로 다른 큐가 허용될 수 있다.
단계(762)에 도시된 것과 같이, 상기 프로세스는 전달 큐에서 데이터를 위한 전달 데스티네이션과 전달 트래픽 타입을 식별하는 단계를 포함할 수 있다. 전달되어야 하는 데이터용 트래픽 타입이 식별될 수 있다. 이는 데이터를 위한 헤드 정보(header information)에서 트래픽 타입 식별자를 판독하는 단계, 또는 내용, 소스, 데스티네이션, 큐 내의 그 외의 다른 데이터에 대한 연관성, 또는 그 외의 다른 가용 데이터를 유추하는 단계(inferring)를 포함할 수 있다. 가능 타입들은 단계(710)에서 평가되는 타입들에 해당한다. 새로운 타입의 데이터가 나타나면, MANET(또는 노드)는 위에서 기술한 것과 같이 라우팅 매트릭스(705)로 업데이트 하는 것을 유발할 수 있으며, 이에 따라 새로운 트래픽 타입을 위한 최저-비용 라우트들이 라우팅 매트릭스(705)에 저장되고 평가될 수 있다. 한 형태에서, 시스템은 본 명세서에 기술된 프로세스(700)를 적절하게 변경시킨 데스티네이션 정보를 사용할 수 있다.
단계(764)에 도시된 것과 같이, 상기 프로세스는 라우팅 매트릭스에서 전달 트래픽 타입을 위한 전달 데스티네이션에 대한 최저-비용 라우트를 룩 업 하는 단계를 포함할 수 있다. 라우팅 매트릭스(705)는 데이터용 최저-비용 라우트를 룩 업 하도록 사용될 수 있다. 이렇게 룩 업 하는 단계는 데이터 트래픽 타입, 데이터 소스, 데이터 데스티네이션, 및 라우팅 매트릭스(705)로부터 최저-비용 라우트를 검색하고 및/또는 식별하기에 유용한 그 외의 임의의 정보를 포함할 수 있다.
단계(766)에 도시된 것과 같이, 상기 프로세스는 최저-비용 라우트에 따라 전달 데스티네이션에 데이터를 전송하는 단계를 포함할 수 있다. 전달 데스티네이션은 백홀 액세스 포인트 라우팅 도메인 외부에 있는 임의의 데스티네이션을 위한 백홀 액세스 포인트를 포함한다. 데이터는 최저-비용 라우트를 사용하여 전송될 수 있다. 이는, 일반적으로, 데이터를 데이터 소스로부터 특정 전송 모드를 사용하여 이웃 노드로 전달하기 위한 주파수(radio)로 전달하는 단계를 포함한다. 최저-비용 라우트는 일반적으로 위에서 기술된 것과 같은 여러 기준과 웨이트들에 기초할 수 있다. 한 형태에서, 성공하지 못한 트랜스미션이 감지될 수 있으며 차선-최저-비용 라우트가 라우팅 매트릭스(705)로부터 검색될 수도 있다. 데스티네이션에 대한 모든 라우트들이 실패할 때 완전한 라우트 비용 분석 유발 또는 데스티네이션 노드 탐지와 같이, 다양한 실패 메커니즘들이 추가로 제공될 수 있다.
단계(768)에서 볼 수 있듯이, 주어진 라우트에 대한 홉의 갯수들이 계산될 수 있다. 위에서 기술한 것과 같이 라우트 비용에서 기준으로서 많은 홉들이 사용될 수 있지만, 라우트 선택을 위해 한계 또는 임계점으로서 전달 시간에서 독립적으로 상기 개수의 홉들이 사용될 수 있다. 따라서, 예를 들어, 홉의 개수가 트래픽 타입을 위한 사전결정된 임계점을 초과하면, 차선-최저-비용 라우트를 선택하고, 라우트 비용에 대한 업데이트를 요구하며, 에러 메시지를 전달하는 등과 같은 임의의 개수의 예외사항들이 제공될 수 있다. 단계(768)가 단계(766)에서 데이터 전송 후에 실행되는 것으로 나타나면, 독립적인 홉 카운트 분석은, 큐를 전달하는 것으로부터 데이터가 선택된 바로 직후 또는 (홉 카운트 임계점을 결정할 수 있는) 트래픽 타입이 식별되고 난 바로 직후와 같이, 상기 프로세스(700) 동안의 그 외의 시간에서 유용하게 수행될 수 있음을 이해할 수 있을 것이다. 이러한 모든 변화들은 본 발명의 범위 내에 있을 것이다.
도 8은 백홀 액세스 포인트로의 라우트 비용을 결정하기 위한 방법의 플로차트이다. BAP 도메인 또는 이와 유사한 것 내의 트래픽의 대부분이 백홀 액세스 포인트를 통해 이동하도록 예상되는 곳에서, 이러한 타입의 라우트 비용이 특히 유용할 수 있으며 BAP 도메인 내의 그 외의 다른 라우팅 분석과 무관하게 수행될 수 있다.
단계(810)에서 볼 수 있듯이, 상기 프로세스(800)는 라우트 내에서 각각의 링크를 위한 비용을 계산하는 단계로부터 시작할 수 있다. 단계(820)에서 볼 수 있듯이, 비용은 라우트 내에서 사용되는 각각의 노드를 위해 계산될 수 있다. 단계(830)에서 볼 수 있듯이, 비용이 BAP에 도달하도록 결정될 수 있다. 단계(840)에서 볼 수 있듯이, 가능 라우트들에 대한 전체 비용이 결정될 수 있다. 이 계산은, 각각의 라우트가 평가되는 동안, 각각의 링크의 비용의 하위세트, 각각의 노드의 비용, 및 BAP에 대한 비용들 모두 또는 이 중 하나만을 포함할 수 있다.
여러 요인들이 라우트의 비용에 영향을 미칠 수 있다. 이동 ad hoc 네트워크에서 중요한 이점과 같이, 네트워크 트래픽은 단순히 BAP를 추가하거나 또는 제거시킴으로써 기술들을 사용하여 다이내믹 방식으로 추가로 조절될 수 있다. MANET BAP 도메인들이 자체적으로 형성될 수 있기 때문에, BAP는 사이트 설문 또는 그 외의 스킴 없이 추가될 수 있다. 트래픽은 BAP를 단순하고 물리적으로 추가시킴으로써 MANET를 라우트-오프(routed off)될 수 있다. MANET 라우팅에 대해서, 다양한 타입의 비용 정보들이 노드 사이에서 공유될 수 있으며 MANET 및/또는 BAP 도메인 내에서 라우트를 결정하도록 사용될 수 있음을 이해할 수 있을 것이다. 백홀 도메인 매니티먼트를 사용하고 라우팅 프로토콜을 사용하여 임의의 MANET 위에서 상이한 타입의 비용/QoS 정보를 사용함으로써, 이동 네트워크를 통한 최적 경로가 계산될 수 있다.
한 형태에서, 노드는 예를 들어, 라우트/링크 비용, QoS, 파워 레벨 등과 같은 MANET 라우팅 알고리즘에 있어서 비용을 최소화 또는 최적화하기 위한 파라미터들을 제공할 수 있다. BAP 도메인 내의 이웃 데이터의 교환을 통해, 그 외의 노드는 이러한 파라미터와 함께 위에서 기술된 것과 같이 MANET 라우팅 정보를 볼 수 있으며 최저 비용을 결정할 수 있다. 예를 들어, 낮은 파워 장치인 것으로 나타내는 노드는 설령 이 장치가 우수한 링크/라우트 비용을 가진다 하더라도 특정 라우팅에 대해 훌륭한 선택일 수 없다.
또 다른 형태에서, 노드는 최적의 네트워크 라우트를 결정하기 위해 여분의 정보와 함께 MANET 라우팅 프로토콜에 의해 제공된 모든 정보를 이용할 수 있다. 노드들은 (위에서 언급한 것과 같이) 상이한 기준에 따라 데스티네이션에 대한 다수의 경로를 생성할 수 있다.
또 다른 형태에서, 추가의 BAP가 배치될 때(deployed) 다수의 MANET BAP 도메인들이 생성될 수 있다. MANET BAP 도메인 개념은 다수의 이동 노드들이 또 다른 네트워크 인프라스트럭쳐에 접속된 고정 네트워크 요소들에 속하는 셀룰러 셀(cellular cell) 개념과 거의 비슷하지만; 현저한 차이점이 존재한다. MANET에서, BAP 도메인은 여러 노드와 백홀 액세스 포인트 사이에서 절충(negotiation) 문제인 특정 도메인 내에 포함된 (또는 이 특정 도메인으로부터 배제된) 논리적 구성(logical construct)이다. 또한, 셀룰러 시스템과 다르게, BAP 도메인 내의 멤버십은 백홀 액세스 포인트와 직접적인 커뮤니케이션 링크(direct communication link)를 나타내지 않는다. 대신, BAP 도메인 내의 멥버십은 노드가 직접적으로 또는 또한 BAP 도메인의 멤버들이기도 한 하나 이상의 중간 노드들을 통해 백홀 액세스 포인트에 도달할 수 있음을 나타낸다. 일반적으로, 그 외의 다른 네트워크에 대한 이러한 라우트들은 적절한 BAP에 도달하기 위한 다중-홉(multi-hop) 무선 MANET를 통한 훌륭한 경로를 나타낸다. 또한, BAP 도메인은 MANET 내의 또 다른 특징을 가지며, MANET 라우팅 프로토콜 업데이트, 이웃 정보 교환, 피어-투-피어 데이터 커뮤니케이션(peer-to-peer data communication) 등의 범위를 제한하도록 사용될 수 있다. 일단 MANET BAP 도메인이 생성되고 나면, 이들은 MANET 트래픽을 위한 백홀 엑시트 포인트(backhaul exit point)를 제공할 수 있다. MANET BAP 도메인들은 그 외의 다른 MANET BAP 도메인들과 MANET 라우팅 프로토콜들과 함께 작동할 수 있다(work). 이는 백홀 실패의 경우에 대안의 라우트에 대한 정보를 유리하게 제공할 수 있다. MANET BAP 도메인들은 백홀 액세스 포인트들이 배치될 때 인접한 경계들로 자동적으로 생성될 수 있으며, 이에 따라 기존 시스템 재-제공 및/또는 사이트 설문이 필요하지 않고도 커패시티(capacity)를 추가할 수 있다. 일반적으로, 이러한 요인들 중 몇몇 요인들 또는 이 모든 요인들은 무선 ad hoc 네트워크 내에서 라우팅을 최적화하려 할 때 설명될 수 있다.
도 9는 MANET(900) 내에 있는 다수의 노드를 도시하고 있다. MANET 내에서 사용될 수 있는 리시버-지향 멀티캐스트(Receiver-Oriented Multicast) 기술을 위해 각각의 노드에 대한 전달 모드(transmit mode)가 도시되어 있다. 리시버 지향 멀티캐스트(ROM)은 세 개의 현저한 변화를 가진 온-디멘드 멀티캐스트 라우팅 프로토콜(On-Demand Multicast Routing Protocol; ODMRP)의 변형된 형태이다. 우선, ROM은 센더 지향(Sender Oriented)이 아니라 리시버 지향 방식이다. 이는 즉 멀티캐스트 그룹 내에서 리시버들이 멀티캐스트 라우트 형성 프로세스를 시작한다는 의미이다. 두 번째로, ODMRP가 그물형 프로토콜(mesh protocol)인 반면, ROM은 멀티캐스트 트리(multicast tree)를 구성한다. 세 번째로, ROM은 일반적으로 온-디멘드 모드에서 작동하지 않지만, 대신, 멀티캐스트 그룹들을 설정하고 이 멀티캐스트 그룹들을 주기적인 기반(periodic basis)에 유지시킨다. ROM은 네트워크가 리시버 노드보다 더 많은 소스 노드(source node)를 가질 때 네트워크 상에서 전체적인 컨트롤 메시지 트래픽을 감소시킬 수 있다. 트래픽에서의 이러한 감소는 ROM 프로토콜이 센더로부터라기 보다는 멀티캐스트 그룹의 리시버들로부터의 조인 리퀘스트 패킷(Join Request Packet; JRP) 컨트롤 패킷들을 플러딩(flood)하기 때문이다. 네트워크에 21개의 노드가 있으면, 20개의 노드는 센더를 위한 것이며 1개의 노드가 리시버를 위한 것이고, 그럴 경우 1개의 JRP 플러드 대 ODMRP를 사용하는 20개의 JRP 플러드가 있을 것이다. 본 명세서에 기술된 시스템과 방법들은 ROM 또는 ODMRP를 사용하는 무선 네트워크에만 제한되지 않으며, 이 원리들은 하기 기술되는 그 외의 형태들과 적절하게 조합될 수 있는 유사한 특징들을 가진 임의의 멀티캐스트 프로토콜에도 보다 일반적으로 적용될 수 있음을 이해할 수 있을 것이다.
예(900)에서, 노드 A(910)가 노드 B(920), 노드 C(930), 노드 D(940), 및 노드 E(950)에 연결되고, 이들의 모드들은 각각의 노드(노드 B, 노드 C, 노드 D, 및 노드 E에 대해 각각 1, 5, 3, 및 3) 옆에 기록된다. 노드 A가 노드 B, 노드 C, 노드 D, 및 노드 E에 정보를 브로드캐스할 때(broadcast), 최소 공배수 모드는 1이며 이에 따라 브로드캐스트 패킷은 노드 A의 Mode 1 큐에 놓여질 수 있다. 노드 A가 노드 B, 노드 C, 노드 D 및 노드 E에 대해 패킷을 멀티캐스트 하길 원할 때(이들은 모두 노드 A에 대한 멀티캐스트 수신 그룹이라고 가정할 때) 노드 A는 패킷을 Mode 1, 3 및 5에 대한 큐로 카피(copy)할 수 있다. 이 카피는 패킷의 실제 카피를 감소시키기 위해 스마트 포인터 레퍼런스 카운트(smart pointer reference counts)를 사용하여 수행될 수 있다. 본 명세서에 기술된 모드들은 예를 들어 위에서 기술된 OFDM 파형 모드 또는 상이한 데이터 레이트, 엔코딩 스킴(encoding scheme), 또는 이와 유사한 것을 사용하는 그 외의 다른 임의의 파형을 포함할 수 있다.
도 10은 상이한 레벨의 QoS를 지지하는 데이터를 전송하기 위한 노드 내에서 다중 모드 큐(1000)를 도시하고 있다. 엔큐된 패킷(enqueued packet)들은 Mode(예시되어 있는 모드 1 내지 4) 및 QoS(예시되어 있는 QoS 1 내지4)에 따른 큐에 추가될 수 있다. 전달 모드를 결정하기 위하여, 최고 QoS를 위한 모든 모드들을 가로질러 큐들이 횡단될 수 있으며(1050), 그 뒤 Mode들을 가로질러 QoS가 감소되고 제 1의 비어있지 않은 큐(non-empty queue)를 찾기 위해 계속된다. 아웃바운드 데이터를 위한 슬롯이 상기 슬롯이 채워질 때까지 이 큐로부터 데이터로 채어질 수 있다. 또 다른 슬롯 캐패시티가 유지되면, 상기 슬롯은 동일한 Mode 큐로부터 상대적으로 낮은 QoS 패킷으로 채워질 수 있다. 노드 세트가 멀티캐스트 그룹을 형성할 때, 이 노드들은 멀티캐스트 트래픽(multicast traffic)을 전송하기 위해 데이터 링크 모드 큐를 사용할 수 있다. 멀티캐스트 트래픽은 트래픽을 전송하기 위해 가장 공통적인 최고 모드 큐를 사용할 수 있는데, 이는 모드를 지지하고 있는 모든 한 홉 이웃(hop neighbor)들이 동시에 트래픽을 볼 수 있기 때문에 각각의 노드에 의한 트래픽 반복(traffic replication)을 감소할 수 있다. 최고 모드 큐를 사용하는 것은 멀티캐스트 트래픽이 상이한 노드들에 대해 트래픽을 반복하기 위하여 오버웰밍 노드(overshelming node) 없이 MANET를 통해 상대적으로 높은 비율로 이동할 수 있게 도움을 줄 수 있다. 네 개의 QoS 레벨과 네 개의 모드가 도시되어 있지만, 본 발명의 범위를 벗어나지 않고도 임의의 개수의 모드와 QoS 레벨이 사용될 수 있음을 이해할 수 있을 것이다.
도 11은 멀티캐스트 라우팅을 수행하기 위한 방법의 플로차트이다. 한 형태에서, MANET에서 멀티캐스트 트래픽을 라우팅하기 위하여 본 명세서에 기술된 것과 같이 포워딩 그룹(forwarding group)이 생성되고 유지될 수 있다.
단계(1110)에서 볼 수 있듯이, 상기 프로세스(1100)는 멀티캐스트 트래픽을 위한 수신 모드와 같이 무선 ad hoc 네트워크 내에서 멀티캐스트 그룹과 조인하는 단계(join)를 포함할 수 있다. 이는, 예를 들어, 조인(join)을 리퀘스트하는 그 외의 표지자(indicator) 또는 플래그(flag)를 가진 임의의 이웃 노드들로 메시지를 브로드캐스팅하는 단계를 포함할 수 있다. 이 메시지는 상기 메시지가 예를 들어 (노드의 중간 이웃일 수도 있는) 멀티캐스트 그룹 내에서 포워딩 노드에 도달할 때까지 전달될 수 있는데, 이때 패킷들을 새로운 노드로 전달하는데 책임이 있는 포워딩 노드를 처음에 할당함으로써 노드는 멀티캐스트 그룹에 추가된다. 다양한 조인 기술들이 공지되어 있으며 본 명세서에 기술된 시스템과 방법들에서 멀티캐스트 그룹들을 조인하는 노드에 적절하게 적용될 수 있다.
단계(1115)에서 볼 수 있듯이, 상기 프로세스는 리시빙 노드(receiving mode)로부터 조인 리퀘스트 패킷(JRP)로 멀티캐스트 그룹을 플러딩하는(flooding) 단계를 포함할 수 있다. 상기 리시빙 노드(및 멀티캐스트 그룹에 속하는 그 외의 다른 임의의 리시버 노드)들은 JRP로 네트워크를 플러딩할 수 있다. 제 2 리시빙 노드, 또는 임의의 개수를 가진 추가적인 리시빙 노드들은 제 1 리시빙 노드와 동시에 또는 제 1 리시빙 노드 후에 멀티캐스트 그룹과 플러딩할 수 있다. 이 프로세스는 제 2 리시빙 노드로부터 멀티캐스트 그룹을 조인하는 단계와 제 2 리시빙 노드로부터 JRP로 멀티캐스트 그룹을 플러딩하는 단계를 포함할 수 있다. 이 프로세스는 멀티캐스트 그룹을 업데이트하는 단계를 포함할 수 있으며 링크 퀄리티에 대해 멀티캐스트 그룹 내에서 정보를 교환하는 단계를 포함할 수 있다.
단계(1116)에서 볼 수 있듯이, 노드 소싱 멀티캐스트 데이터(node sourcing multicast data)는 JRP를 수신할 수 있다. 이 프로세스는 JRP를 수신하는 멀티캐스트 그룹 내에서 전송 노드(sending node)로부터 조인 테이블 패킷(Join Table Packet; JTP)을 수신하는 단계를 포함할 수 있으며, 이 JTP는 JRP에 의해 전송 노드로 이동되는 경로를 따라 수신 노드로 돌아가고 상기 경로를 따라 각각의 노드에 대한 상이한 데이터 레이트를 가진 하나 이상의 모드 큐를 식별한다. 전송 노드는 단계(1117)에 도시된 것과 같이 상응하는 조인 테이블 패킷(JTP)을 생성할 수 있으며, 단계(1118)에 도시된 것과 같이, JRP가 횡단될 때 동일한 경로를 통과하는 멀티캐스트 수신 노드를 향해 JTP가 다시 전달될 수 있다.
단계(1120)에 도시된 것과 같이, 수신 노드는 JRP를 수신하는 멀티캐스트 그룹 내의 하나 이상의 전송 노드들로부터 하나 이상의 JTP를 수신할 수 있다. 하나 이상의 JTP들은 각각 JRP의 상응하는 경우에 의해 이동되는 경로를 따라 노드를 수신하도록 돌아올 수 있다. 각각의 JTP는 (여러 중간 노드들을 위한 이웃 데이터에서 식별될 수 있거나, 또는 JTP를 향할 때 각각의 중간 노드에 의해 추가될 수 있는) 경로를 따라 각각의 노드를 위한 하나 이상의 모드를 식별할 수 있다. 리시버와 센더들 사이의 경로의 일부분인 노드들은 특정 멀티캐스트 그룹의 트래픽을 위한 포워딩 그룹에서 포워딩 노드들로서 표시될 수 있다. 상기 프로세스는 복수의 JTP에 따라 멀티캐스트 트리를 구성하고 복수의 전송 노드로부터 복수의 JTP를 수신하는 단계를 포함할 수 있다.
단계(1125)에 도시된 것과 같이, 상기 프로세스는 JTP에 따른 멀티캐스트 그룹 내에서 멀티캐스트 트래픽을 포워딩하기 위한 멀티캐스트 트리를 구성하는 단계를 포함할 수 있다. 멀티캐스트 트리는 멀티캐스트 트래픽을 포워딩하기 위해 구성될 수 있다.
단계(1130)에 도시된 것과 같이, 상기 프로세스는 멀티캐스트 트리에 따라 멀티캐스트 메시지를 수신하는 단계를 포함할 수 있는데, 상기 멀티캐스트 메시지는 멀티캐스트 그룹 내에서 각각의 노드를 위한 하나 이상의 모드 큐의 최고 모드 가용 큐(highest mode available queue)를 사용하는 수신 노드에 의해 수신된다. 멀티캐스트 트래픽은 멀티캐스트 그룹 내에 각각의 노드를 위한 하나 이상의 큐의 최고 모드 가용 큐를 사용하는 멀티캐스트 트리에 따라 전달될 수 있다. 상기 최고 모드 가용 큐는 멀티캐스트 그룹 내에서 가장 공통적인 최고 모드 가용 큐일 수 있다. 멀티캐스트 메시지는 QoS에 따라 우선순위화될 수 있다. QoS는 하나 이상의 모든 모드 큐들을 가로질러 데이터를 우선순위화 하기 위해 최고의 QoS를 포함할 수 있다. QoS는 이러한 데이터가 차후의 QoS 데이터가 하나 이상의 모드 큐들 중 하나로부터 전달되기 전에 하나 이상의 모든 모드 큐로부터 전달되는 최고 QoS를 포함한다. 전달될 수 있는 멀티캐스트 트래픽은 전송 노드와 수신 노드 사이에서 하나 이상의 중간 노드에서 최고 모드 가용 큐로부터 하위 모드 큐로 카피될 수 있다.
한 형태에서, MANET 도메인(예를 들어, 노드 그룹)들은 각각의 멀티캐스팅 네트워크의 범위를 제한하고 이에 따라 멀티캐스트 트래픽을 분할하도록 사용될 수 있다. 또한, 백홀 액세스 포인트(BAP)는 멀티캐스트 트래픽을 수신해야 하는 그 외의 다른 BAP 도메인(예를 들어 백혹 액세스 포인트를 공유하는 노드 그룹)들로 백홀 멀티캐스트 트래픽을 취급하여 추가로 멀티캐스트 트래픽을 최적화하도록 사용될 수 있다.
상기 프로세스(1100)는 MANET 내에서 멀티캐스트 트래픽을 전송/수신하고 멀티캐스트 그룹과 조인하기 위한 이동 노드의 커패시티를 유용하게 향상시킬 수 있다. 일반적으로, 멀티캐스트 데이터를 위한 포워딩 그룹은 멀티캐스트 데이터 센더로부터 기존의 포워딩 그룹, 및 대응하는 조인 테이블 패킷들에서 리시버들로부터 플러딩된 조인 리퀘스트 패킷들의 주기적이고 상호보완적인 오퍼레이션들을 통해 유지될 수 있다. 센더와 리시버 사이에 포워딩 그룹이 형성될 수 있다. 또 다른 형태에서, 멀티캐스트 트랜스미션은 센더 리소스(sender resource)를 최소화시키기 위해 파형 모드(waveform mode), 보다 구체적으로는 그룹 중 공통 모드들을 사용하여 최적화될 수 있다. 멀티캐스트 트래픽의 범위는 MANET 도메인과 BAP 도메인을 사용하여 컨트롤되고 최적화될 수 있다.
도 12는 백홀 도메인(backhaul domain)으로의 신속한 진입을 제공하기 위한 방법의 플로차트이다. 이동 노드들이 코어 네트워크(core network)에 접근하고 백홀 액세스를 필요로 하는 그 외의 노드들을 위해 유저 데이터와 라우트를 전송하고 수신하기 시작하기 위하여 백홀 액세스 포인트로의 양-방향 라우트를 신속하게 형성하는 것이 유리할 수 있다. 이는 이동 노드가 코어 네트워크(들)에 대한 접속(connectivity)이 일시적으로 중단될 수 있는 곳에서 BAP 도메인 경계를 가로지를 때, 또는 노드가 우선적으로 파워 업될 때나 또는 그 외의 경우 BAP 도메인으로 진입될 때 특히 중요할 수 있다.
단계(1210)에 도시된 것과 같이, 노드가 파워 업 또는 부팅될 때, 또는 초기에 노드가 이웃 BAP 도메인에서 나올 때와 같이 BAP 도메인에 진입될 때, 노드가 BAP 도메인에 진입할 수 있다. BAP 도메인 내로 진입하는 시간에, 노드는 이웃에 대해, BAP로의 라우팅 경로에 대해, 또는 이전의 오퍼레이션에 대해 어떠한 지식도 가질 수 없다.
단계(1215)에 도시된 것과 같이, 상기 프로세스는 무선 ad hoc 네트워크에서 노드로의 하나 이상의 이웃 노드들을 발견하는 단계를 포함할 수 있다. 상기 이웃 노드들을 발견하는 단계는 노드가 파워 업될 때 발생될 수 있다. 이 발견 단계는 노드가 이동 중이며 노드가 하나 이상의 새로운 이웃 노드를 가지는 위치로 이동할 때 발생될 수 있다. 이 노드는 이웃 노드들에 대한 정보를 얻도록 이웃 발견(neighbor discovery)을 시작할 수 있다. 이는 노드의 이웃들 내에서 모든 노드뿐만 아니라 라우트 비용에서 사용될 수 있는 개별 노드들에 대한 정보와 그 외의 다른 네트워크 기능들을 식별하는 단계를 포함할 수 있다. 예를 들어, 이웃 내의 노드들 중 정보를 교환하는 단계는 전송 요건(예를 들어 전송 큐에서 아웃바운드 데이터의 양), 혼잡(congestion), 링크 퀄리티, 가용 전송 모드 등과 같은 하나 이상의 이웃 노드들에 대한 정보를 제공할 수 있다.
단계(1220)에 도시된 것과 같이, 상기 프로세스는 하나 이상의 이웃 노드 상에서 정보를 얻는 단계와 노드를 위한 이웃 테이블(neighbor table)에 정보를 저장하는 단계를 포함할 수 있다. 이 노드는 이웃 테이블 또는 이와 유사한 것으로서 메모리 내에서 이웃들에 대해 발견된 정보를 저장할 수 있다. 한 형태에서, 발견된 정보는 이웃들에 서비스를 제공하는 백홀 액세스 포인트에 대한 라우트 비용을 포함할 수 있다.
단계(1225)에 도시된 것과 같이, 상기 프로세스는 하나 이상의 이웃 노드들이 백홀 액세스 포인트로의 최저-비용 라우트를 가지는 것을 결정하는 단계를 포함할 수 있다. 이 프로세스는 상기 노드로부터 백홀 액세스 포인트로의 기본 라우트(default route)로서 하나 이상의 이웃 노드들로부터 최저-비용 라우트를 선택하는 단계를 추가로 포함할 수 있다. 이 노드는 상기 노드가 백홀 액세스 포인트로의 최저-비용 라우트를 계산하거나 또는 그 외의 경우 백홀 액세스 포인트로의 최저-비용 라우트를 결정하는 기회를 가질 때까지 백홀 액세스 포인트로의 기본 라우트로서 사용하기 위해 이웃 노드로부터 백홀 액세스 포인트로의 라우트를 선택할 수 있다. 상기 기본 라우트는 예를 들어 백홀 액세스 포인트로의 최저-비용 라우트를 가지는 이웃을 통과하는 라우트일 수 있다.
단계(1230)에 도시된 것과 같이, 상기 노드는 BAP로의 기본 라우트 상에서 유니캐스트 라우트 리퀘스트 메시지(unicast route request message)를 전송할 수 있다. 최저-비용 라우트를 가진 상기 이웃 노드는 라우트 리퀘스트 메시지를 수신할 수 있고 백홀 액세스 포인트를 향해 기본 라우트를 따라 상기 라우트 리퀘스트 메시지를 포워딩할 수 있다.
단계(1235)에 도시된 것과 같이, 상기 프로세스는 기본 라우트의 일부분인 하나 이상의 이웃 노들들 중 하나에서 상기 기본 라우트를 따라 리버스 라우트 테이블(reverse route table)을 형성하는 단계(building)를 포함할 수 있다. 노드(이 노드는 최근 BAP 도메인과 조인되었음)를 리퀘스트하기 위한 리버스 라우트 테이블이 유니캐스트 라우트 메시지가 백홀 액세스 포인트에 대한 네트워크를 횡단할 때 각각의 노드에서 형성될 수 있으며, 애드레스 레졸루션 프로토콜(adress resolution protocol; ARP) 테이블 캐쉬는 라우트 리퀘스트 메시지에 따라 업데이트될 수 있다.
단계(1240)에 도시된 것과 같이, 상기 프로세스는 백홀 액세스 포인트로부터 라우트 업데이트를 이슈하는 단계(issuing)를 포함할 수 있다. 일단 라우트 리퀘스트 메시지가 BAP에 도달하고 나면, BAP는 (OSPF 표시(advertisement), Grantuitous ARP, Mobile IP 업데이트 등과 같은 여러 기술들 중 하나를 사용하여) 코어 라우터 또는 그 외의 다른 네트워크 인프라스트럭쳐에 대한 라우트 업데이트를 이슈할 수 있으며, 시작 노드(initiating node)로 다시 라우트 리퀘스트 승인(route request acknowlegement)을 전송할 수 있다.
단계(1245)에 도시된 것과 같이, 상기 프로세스는 백홀 액세스 포인트로부터 노드로 라우트 리퀘스트 승인을 전송하는 단계(sending)를 포함할 수 있다. 상기 시작 노드는 BAP로부터 라우트 리퀘스트 승인을 수신할 수 있으며 상기 기본 라우트 또는 "패스트 라우트(fast route)"를 사용하여 즉시 라우팅을 시작할 수 있다(용어 "패스트"는 데이터 레이트 또는 라우트를 위한 그 외의 거리(metrics) 보다는 라우트가 결정되었던 방식을 의미함).
단계(1250)에 도시된 것과 같이, 상기 프로세스는 기본 라우트 상에서 노드로부터 유니캐스트 라우트 리퀘스트를 전송하는 단계를 포함할 수 있다. 이 시작 노드는 기본 라우트 상에서 유니캐스트 트랜스미션을 시작할 수 있다. 상기 프로세스는 기본 라우트에 따라 백홀 액세스 포인트로 소통하기 위해 하나 이상의 이웃 노드 중 하나에 데이터를 전송하는 단계를 포함할 수 있다.
단계(1255)에 도시된 것과 같이, 어떠한 라우트 리퀘스트 승인도 컨피규레이션 가능한 시간 주기(configurable time period) 내에 수신되지 않으면, 노드는 기본 라우트와 같이 또 다른 경로를 사용하여 새로운 라으트 리퀘스트 메시지를 시작할 수 있다. 기본 라우트는 하나 이상의 이웃 노드들로부터 최저-비용 라우트와는 상이한 라우트로 변형될 수 있다. 이 기본 라우트는 라우트 리퀘스트 승인이 백홀 액세스 포인트로부터 수신되지 않고 상이한 라우트가 하나 이상의 이웃 노드들로부터 차후 최저-비용 라우트이기 때문에 변형될 수 있다. 상기 새로운 라우트는 BAP로의 차후 최저-비용 라우트일 수 있다. 상기 차후 최저-비용 라우트는 동일한 이웃 노드들로부터 나올 수 있거나 또는 시작 노드의 상이한 이웃 노드들로부터 나올 수 있다. 오퍼레이션 플로우는 새로운 기본 라우트 상에서 유니캐스트 라우트 리퀘스트를 전송하기 위해 단계(1230)로 가지를 칠 수 있다(branch).
단계(1260)에 도시된 것과 같이, 상기 프로세스는 노드로부터 백홀 액세스 포인트로의 최저-비용 라우트를 결정하기 위해 라우트 비용 분석을 수행하는 단계와 상기 기본 라우트를 상기 노드로부터 백홀 액세스 포인트로의 최저-비용 라우트로 대체하는 단계를 포함할 수 있다. 정상적인 라우트 발견 단계가 수행될 수 있다. 이 라우트 발견 단계는 위에서 기술된 임의의 라우트 비용 분석을 이용하여 BAP로의 최저-비용 라우트를 결정하는 단계를 포함할 수 있다. 완전한 라우트 발견 또는 분석이 기본 라우트 발견 및 사용과 병행하여(in parallel) 또는 기본 라우트가 선택된 직후에 수행될 수 있음을 이해할 수 있을 것이다.
단계(1265)에 도시된 것과 같이, 일단 최저-비용 라우트가 라우트 비용 분석 또는 라우트 선택을 위한 그 외의 다른 임의의 기술로 결정되고 나면, 상기 기본 라우트는 상기 최저-비용 라우트로 대체될 수 있다.
도 13은 MANET 내에서 사용될 수 있는 TDMA 타임 슬롯 스트럭쳐를 도시하고 있다. 일반적으로, TDMA 타임 슬롯(1310, 1320, 1330 등)들은 의도하는 타임 슬롯에 해당하는 서로 다른 '역할(role)'들로 루스하게 분할될 수 있다(loosely partitioned). 하이 레벨에서, 슬롯들은 제 1 역할(primary role)을 위한 '컨트롤 슬롯(control slot)'과 '데이터 슬롯(data slot)'으로 분할될 수 있지만, 이 역할은 데이터 슬롯이 컨트롤 정보를 전송하도록 사용되는 곳과 같이 이웃 발견 및 유지(neighborhood discovery and maintenance; NDM)를 위해 적합할 수 있다. 컨트롤 슬롯은 '네트워크 진입(network entry)' 컨트롤 슬롯들과 '스케줄링된(scheduled)' 컨트롤 슬롯들로 추가로 분할될 수 있다. 네트워크 진입 컨트롤 슬롯들은 네트워크와 조인하기 원하는 노드들에 대한 랜덤 액세스(random access)를 제공하기 위해 컨텐션-기반(contention-based)일 수 있다. 새로운 노드들이 MANET 내에서 이러한 타임 슬롯들을 위해 맞서게 하기 위하여(contend), 각각의 노드는 랜덤 백오프 카운터(random backoff counter)를 유지할 수 있다. 이 카운터가 0에 도달할 때, 상기 노드는 차후 가용한 네트워크 진입 컨트롤 슬롯 상에서 전송할 수 있고 랜덤 백오프 카운터를 재-설정(re-set)할 수 있다. 상기 노드는 노드의 백오프 카운터를 국부 이웃(local neighborhood) 또는 그 외의 다른 정보의 크기에 따른 값으로 다이내믹 방식으로(dynamically) 재설정할 수 있다. 스케줄링된 컨트롤 슬롯들은 국부 이웃에 대한 업데이트된 정보를 전송하기 위해 이미 네트워크 내에 있는 노드를 위한 기화를 제공할 수 있다. 다수의 서로 다른 스케줄링된 프로토콜들이 공지되어 있으며 스케줄링된 컨트롤 슬롯들과 사용하기에 적합하도록 구성될 수 있다. 예를 들어, 이 노드들은 2-홉 이웃(hop neighborhood) 위로 디스트리뷰트 채널 액세스(distributed channel access)를 위한 노드 액티베이티드 멀티플 액세스(Node Activated Multiple Access; NAMA) 프로토콜을 사용할 수 있다. 평균적으로, 두 개의 홉 이웃에 있는 각각의 노드는 매 N2 스케쥴링된 컨트롤 슬롯들마다 한 번 전송되는데, 여기서 N2는 2-홉 이웃의 크기이다. 이러한 방식으로, 가용 컨트롤 슬롯들은 이웃 크기에 따라 균일하게 분포된다. 추가로, 이웃 크기가 성장할 때(grow) 시간에 맞게 이웃의 업데이트를 유지하기 위하여, 데이터 슬롯들은 컨트롤 슬롯들로 변환될 수 있다(converted). 각각의 노드는 마지막에 노드가 스케줄링된 컨트롤 슬롯에 전송되기 때문에 얼마나 많은 슬롯이 통과하는 지를 표시하는(indicating) 카운터를 유지한다. 컨피규레이션 가능한 임계점(configurable threshold)이 노드가 전송되었기 때문에 통과한 타임 슬롯들의 개수에 대해 초과하는 경우, 상기 노드를 위한 차후 데이터 슬롯은 스케줄링된 컨트롤 슬롯들로 변환될 수 있다. 이 기능은 더 작은 이웃들에 대해 오버헤드를 초과할 필요없이 증가된 이웃 크기들에 대한 실측비율(scalibility)을 제공한다. 논의된 것과 같이, TDMA를 구동하는 MANET에서, 트랜스미션은 통상 개별 타임 슬롯 경계들과 나란하게 정렬되어 발생된다. 이와 유사하게, 데이터 링크 내에서 측정가능한(scalable) 이웃 발견과 유지 프로토콜은 MANET 내에서 노드를 위한 국부 이웃 지식(local neighborhood knowledge)을 얻을 수 있다.
MANET과 같은 ad hoc 네트워크에는 TDMA 또는 그 외의 다른 타임-슬롯 또는 타임-멀티플렉스 데이터 트랜스미션을 위한 고정 시간 기반(fixed time base)을 제공하는 중앙 타임 소스가 없을 수 있다. 이러한 환경에서, 제 3자 리소스(third-party resource)는 GPS 시스템, 이동 통신용 위치 확인 시스템(GSM) 시스템, IEEE 802.16("와이맥스(WiMax)") 무선 네트워크와 같은 타임 레퍼런스(time reference), 또는 그 외의 다른 임의의 안정적인 타임 레퍼런스를 제공할 수 있다. 그 외의 구체예에서, 네트워크 내의 노드들은, 예를 들어, 2009년 4월 3일에 출원되고 발명의 명칭이 "Methods and systems for a mobile, broadband, routable Internet"인 미국특허출원번호 12/418,363호에 기술되어 있는 것과 같이 서로 자체-동기화(self-synchronize)될 수 있으며, 이 미국특허출원은 본 명세서에서 참조문헌으로 통합된다.
도 14는 1-홉 이웃과 2-홉 이웃을 가진 MANET용 토폴로지(1400)를 도시하고 있다. 이웃 발견 및 유지 프로토콜은 각각의 노드가 국부 1-홉 이웃과 2-홉 이웃 도면을 개발하고 유지할 수 있게 하기 위해 각각의 노드에서 구동될 수 있다. 노드의 1-홉 이웃(1410)은 단일의 라디오 링크(radio link) 위에서 직접 안정적으로 소통할 수 있는 모든 노드들을 포함할 수 있다. 이와 유사하게, 2-홉 이웃(1420)은 2 홉 또는 이보다 적은 홉에서 도달될 수 있는 모든 노드들을 포함할 수 있다. 양쪽 경우에서, 이웃은 통상 0 홉이 이웃 내에서 멀어지는 노드 자체를 포함한다. 예를 들어, 도시된 토폴로지(1400)에서, 노드(1405)는 4개의 그 외의 노드들 가진 1-홉 이웃(1410)과 8개의 그 외의 노드를 가진 2-홉 이웃(1420)을 가진다.
이웃 발견 및 유지 프로토콜의 일부분으로서, 각각의 노드는 각각의 1-홉 이웃을 위한 진입부(entry)를 가진 각각의 노드의 메모리에 저장될 수 있는 이웃 테이블을 유지할 수 있다. 각각의 이웃용 진입부는 다음의 정보를 포함할 수 있다:
- 노드 ID
- 수신된 링크 퀄리티
- RSSI - 수신된 시그널 강도
- SNR - 시그널-대-노이즈 비율
- 전송된 링크 퀄리티
- 예상된 패킷 카운터
- 제안된 링크 데이터 레이트(전송하기 위한)
- 제안된 링크 데이터 레이트(수신하기 위한)
- 실제 링크 데이터 레이트(전송하기 위한)
- 실제 링크 데이터 레이트(수신하기 위한)
- 노드 웨이트(즉, 필요한 스케쥴링된 우선순위의 표시)
- 타이밍 레퍼런스 안정성의 표시
- 장치 타입(예를 들어, 액세스 포인트, 백홀 액세스 포인트, 서브스크라이버 장치(Subscriber Device))
- 도메인 ID(즉 어떻게 고정 네트워크에 도달할 것인지에 대한 표시)
- 도메인 비용(즉 노드가 고정 네트워크에 얼마나 가까이 있는 지에 대한 표시)
- 라우터가능성(routability)의 표시(즉 이 노드를 통해 데이터를 라우트하기 위하여 그 외의 다른 노드들을 위한 "비용" 표시)
- 승인(이웃이 상기 노드를 이웃 테이블에 포함하는 지에 대한 표시)
- 전달 파워 - 상기 이웃에 도달하기 위해 필요한 전달 파워
- 링크 비용(즉 데이터를 이 링크 위로 전송하는 상대적 비용의 표시)
- 1-홉 이웃 - (2-홉 이웃을 형성하도록 사용되는) 노드의 1-홉 이웃의 1-홉 이웃
- 2-홉 이웃에 대한 그 외의 정보(예를 들어 노드 웨이트)
- 이웃에 대한 그 외의 다른 임의의 정보.
근접노드 테이블은, 일반적으로 상기 MANET를 효과적으로 이용하기 위해 노드의 근접노드 각각에 관한 유용한 매개변수들을 추적할 수 있다. 링크 품질 표시기(link quality indicator)는 예를 들어, 상기 노드가 근접노드로부터 전송을 얼마나 양호하게 수용하는 가를 추적하기 위해 이용될 수 있다. 규정된 시간 구간동안 상기 근접노드로부터 제어수용(control reception)에 관한 예상 갯수가 상기 스케줄(shchedule)로부터 계산되고 실제 수용 갯수와 비교된다. 상기 비교에 기초하여, 상기 근접노드의 링크품질이 증가되거나 일정하게 남게되거나 감소될 수 있다. 상기 노드가 근접노드 테이블내에 존재하기 않는 노드로부터 제어메세지를 수용할 때, 상기 노드는 새로운 엔트리를 형성하고 낮은 링크 품질을 할당한다. 노드가 계속해서 상기 노드로부터 전송을 수용하면, 상기 링크품질은 적극적으로 증가된다. 일단 링크품질이 규정된 임계치를 초과하면, 노드는 라우터에게 전송데이타를 위한 새로운 링크를 알려준다. 노드 모빌리티에 의해 노드가 범위밖으로 이동하면, 전송이 수용되지 않기 때문에 상기 링크품질은 적극적으로 감소된다. 일단 링크품질이 영에 도달하면, 상기 노드는 근접노드 테이블로부터 제거될 수 있다.
근접노드 테이블내에 엔트리들을 형성하기 위해, 노드들은 한 개의 홉 근접노드 테이블(one-hop neighbor table)내에 서브세트의 정보를 포함하는 제어메세지를 전송한다. 다음에, 전송 노드에 해당하는 근접노드 테이블내에 엔트리 또는 엔트리들을 업데이트하기 위해, 패킷 수용(packet reception)고 관련된 메타데이터(metadata)와 함께 수용된 정보가 이용될 수 있다. 효과적인 채널 접근을 위해, 노들의 근접노드 테이블내에 서브세트(subset)의 정보만을 전송하도록 노드들이 선택되어, 상기 전송은 단일 시간슬롯의 페이로드(payload)를 초과하지 못한다. 어댑티브 데이터 속도(ADR)를 지원하는 네트워크내에서, 제어메세지들이 가장 강한 파형 모드를 이용하여 전송될 수 있다.
도 15는, 비- GPS 노드를 가진 네트워크로 유입되는 방법의 플로우차트이다노드들은 새로운 근접노드속으로 이동하거나 출력발생에 관한 정보를 교환한다. 정보교환에 의해, 노드들은 서로를 확인하여, 정보를 수용하고 필요한 대로 무선네트워크를 업데이트한다.
단계(1510)에 도시된 것처럼, (예를 들어, BAP 도메인, 근접영역 또는 MANET 내에서 노드들을 관리하기 위한 다른 적합한 영역일 수 있는) 네트워크내부의 위치로 이동할 때와 같이, 노드는 네트워크로 유입한다.
단계(1515)에 도시된 것처럼, 상기 노드는 슬롯수용(slot reception)을 기다린다. 노드가 GPS 위성들로부터 정보를 수용할 수 없을 때, 주변의 근접노드들로부터 타이밍이 구해질 수 있다. 네트워크의 존재를 감지하기 위해 노드는 TDMA 정보를 수용하고 시간슬롯을 기다린다.
단계(1520)에 도시된 것처럼, 과정은 무선 애드혹 네트워크의 근접영역내에서 한 개의 노드와 한 개이상의 근접 노드들사이의 동기화 타이밍(synchronizing timing)의 형성을 포함한다. 상기 노드로부터 오실레이터(oscillator)가 근접노드들내부에서 다른 타이밍 오실레이터와 동기화될 수 있다. 일단 오실레이터가 동기화되면, 다음에 상기 노드와 노드의 근접노드들이 작동하고 TDMA 환경에서 상호작용할 수 있다. 동기화 타이밍은 동기화 타이밍 오실레이터에 대해 상기 노드와 한 개이상의 근접 노드들사이의 타이밍정보의 교환을 포함한다. 상기 동기화 타이밍은, 무선 애드혹 네트워크외부로부터 타이밍을 구하는 과정을 포함하고, 한 개이상의 GPS 위성들로부터 타이밍을 구하는 과정을 포함한다.
단계 (1525)에 도시된 것과 같이, 과정은 한 개이상의 근접노드들 중 적어도 한 개와 상기 노드들사이의 링크 품질을 결정하는 과정을 포함한다. TDMA 슬롯들에 걸쳐서 통신에 기초하여, 다양한 노드들사이의 링크품질이 결정될 수 있다.
단계 (1530)에 도시된 것처럼, 과정은 상기 노드를 위한 근접테이블내에서 링크품질을 저장하는 단계를 포함한다. 상기 링크품질은 상기 노드를 위한 근접테이블내에 저장될 수 있다.
상기 과정은 상기 노드에 의해 통신(communication)을 위한 시간슬롯들을 확인하는 단계를 포함하고, 상기 시간슬롯들은 제어슬롯들과 데이터슬롯들을 포함하며, 상기 제어슬롯들은 추가로 콘텐션 베이시스(contention basis)에 임으로 접근할 수 있는 네트워크 엔트리 슬롯(network entry slot)들 및 근접영역내에서 미리 정해진 베이시스에 접속이 예정된 제어슬롯들을 추가로 포함한다. 단계 (1535)에 도시된 것처럼, 전송은 네트워크 엔트리 슬롯상에 발생된다. 상기 전송과정동안, 한 개의 노드가 주변 노드들에 대해 자신을 알린다. 상기 전송은 링크 품질 및 노드 아이덴티티(indentity)를 포함한다. 상기 주변 노드들은 다음에, 노드들의 근접테이블내에서 노드들에 관한 정보를 저장한다. 상기 과정은 네트워크 엔트리 슬롯들 중 한 개를 이용하여 한 개이상의 근접노드들에 대해 네트워크 엔트리정보를 전송하는 과정을 포함하고, 네트워크 엔트리정보는 상기 노드와 링크품질을 위한 노드 아이덴티티를 포함한다.
단계(1540)에 도시된 것처럼, 상기 노드는 네트워크 엔트리 또는 제어슬롯들상에 근접 노드로부터 전달되는 노드를 감지할 수 있다. 최초 엔트리가 실패하거나 네트워크엔트리 전송시 네트워크 엔트리슬롯내에서 충돌이 감지되면, 노드는 (예를 들어, 랜덤 백오프 카운터(ramdom backoff counter)를 가지고) 임의 양을 백오프하고 구해지는 다음 네트워크 엔트리 슬롯을 재전송한다. 상기 과정은 네트워크 엔트리 정보를 전송할 때 충돌을 감지하는 과정을 포함한다. 상기과정은, 네트워크 엔트리 슬롯들 중 한 개내에 네트워크 엔트리 정보를 재전송하기 전에 랜덤 백오프 카운터를 카운트다운하는 과정을 추가로 포함한다. 또한, 상기 과정은 근접영역내에서 다수의 노드들을 기초하여 랜덤 백오프 카운터를 설정하는 과정을 포함한다.
단계 (1545)에 도시된 것처럼, 상기 노드와 노드의 근접노드들을 위한 근접 테이블내부의 엔트리들이 노드들사이의 링크들을 표시할 때, 상기 노드가 네트워크로 유입된다. 노드가 네트워크로 허용되기 전에 링크품질에 관한 임계치 또는 다른 요건이 존재한다.
단계(1550)에 도시된 것처럼, 제어슬롯이 예정(scheduled)될 수 있다. 이것은 애드 혹 네트워크내에서 노드들에 대한 시간슬롯들을 허용하기 위한 적합한 기술을 포함한다. 상기 예정시간슬롯이 노드에 할당될 때, 노드는 시간슬롯에 접속하고 제어데이터를 전송할 수 있다.
단계(1555)에 도시된 것처럼, 상기 과정은 상기 노드에 할당된 예정 제어슬롯들 중 한 개를 이용하여 근접 정보를 전송하는 과정을 포함하고, 상기 근접 노드 정보는 한 개이상의 근접노드들에서 근접테이블을 업데이트하기 위한 데이터를 포함한다. 근접노드정보는 예정제어슬롯상에 전송될 수 있다. 상기 근접노드 정보는 다음에 근접노드 테이블을 업데이트하기 위해 상기 전송을 수용하는 한 개이상의 근접노드들에 의해 이용될 수 있다. 대조적으로, 예정된 제어슬롯이 다른 노드들에 할당되면, 상기 노드는 예정제어슬롯상에서 데이터를 수용하고 사기 노드의 근접노드 테이블을 업데이트하기 위해 상기 데이터를 이용한다. 상기 과정은 예정된 제어슬롯들 중 한 개내부로 데이터 슬롯들 중 한 개를 동적변환하는 과정을 포함한다. 상기 과정은 추가로, 상기 노드가 예정 제어슬롯들 중 한 개에 전송된 이후로 경과한 시간슬롯의 갯수에 대해 임치가 초과될 때 예정제어슬롯들 중 한 개속으로 데이터 슬롯들 중 한개를 동적으로 변환시키는 과정을 포함한다. 상기 과정은, 상기 데이터슬롯들 중 한 개속으로 예정제어슬롯들 중 한개를 동적으로 변환시키는 과정을 포함한다.
도 16은, GPS-가능 노드를 가지고 네트워크속으로 유입되는 과정을 도시한 플로우차트이다. 타이밍 또는 동기화과정이 GPS를 통해 직접 구해질 수 있기 때문에, GPS 가능 노드(GPS enabled nodes)들을 위해 상대적으로 적은 단계들이 요구된다.
단계 (1610)에 도시된 것처럼, 노드의 출력이 발생되거나 그렇지않으면 네트워크의 물리적 풋트 프린트(footprint)속으로 이동할 때 노드가 네트워크속으로 유입될 수 있다.
단계(1615)에 도시된 바와 같이, 노드는 슬롯 리셉션(slot reception)을 위해 대기할 수 있다. 노드가 범지구 위치결정 시스템(GPS) 위성으로부터 정보를 수신할 능력을 가질 때, 타이밍(timing)이 GPS로부터 획득될 수 있다. 노드는 TDMA 정보를 수신하기 위해 필요할 수 있으며, 네트워크의 존재를 식별하기 위해 타임 슬롯(time slot) 동안 대기할 필요가 있다.
단계(1620)에 도시된 바와 같이, 링크 품질(link quality)이 측정될 수 있다. TDMA 슬롯을 가로지르는 통신에 기초하여, 다양한 노드들 간의 링크 품질이 측정될 수 있다.
단계(1625)에 도시된 바와 같이, 단계(1620)에서 측정된 링크 품질은 노드를 위한 이웃 테이블 내에 저장될 수 있다.
단계(1630)에 도시된 바와 같이, 네트워크 전체 슬롯에서 전송이 수행될 수 있다. 이러한 전송 동안, 노드는 주변 노드로 자체적으로 알려질 수 있다(announce). 그 뒤, 주변 노드는 자체의 이웃 테이블 내의 노드에 정보를 저장할 수 있다.
단계(1635)에 도시된 바와 같이, 노드는 네트워크로 진입될 수 있다. 네트워크로의 진입은 노드를 위한 이웃 테이블 내에서의 진입 시 수행될 수 있으며, 이의 이웃한 것들은 노드들 사이의 링크를 나타낸다. 노드가 네트워크에 적응하기 전(admit), 링크 품질을 위한 임계값 또는 그 외의 다른 요구사항이 있을 수 있다. 또한, 단순히 진입은 리셉션 슬롯을 탐지하고, 네트워크 진입 슬롯 상에서 노드를 나타냄으로써 수행될 수 있다. 노드는 네트워크 진입 또는 제어 슬롯 상에서 이웃한 노드로부터 전송되는 노드 id를 탐지할 수 있거나 또는 그 외의 다른 노드로부터 그 외의 다른 제어 데이터에 기초하여 참여(participation)를 추론할 수 있다.
단계(1640)에 도시된 바와 같이, 제어 슬롯이 스케줄링될 수 있다(scheduled). 이는 ad hoc 네트워크 내에서 타임 슬롯을 노드로 할당하기 위한 임의의 적합한 기술을 포함할 수 있다. 스케줄링된 타임 슬롯이 노드에 할당될 때, 노드는 타임 슬롯에 액세스할 수 있으며, 제어 데이터를 전송할 수 있다.
단계(1645)에 도시된 바와 같이, 이웃 정보는 스케줄링된 제어 슬롯에 전송될 수 있다. 그 뒤, 이웃 정보는 각각의 이웃 테이블을 업데이트하기 위해 수신 노드(receiving node)에 의해 이용될 수 있다.
도 17은 이미 네트워크 내에 있는 노드를 위한 정보를 업데이트하는 방법(1700)의 플로우차트이다. 단계(1710)에 도시된 바와 같이, 노드는 리셉션 슬롯 동안 대기할 수 있다. 대안으로, TDMA 슬롯은 이미 할당될 수 있으며, 이러한 단계는 생략될 수 있다.
단계(1720)에 도시된 바와 같이, 노드는 노드와 이웃한 그 외의 다른 노드 사이에서 링크 품질을 측정할 수 있다.
단계(1730)에 도시된 바와 같이, 측정되어 진 링크 품질은 이웃 테이블 내에 저장될 수 있다.
단계(1740)에 도시된 바와 같이, 제어 슬롯이 스케줄링될 수 있다.
단계(1750)에 도시된 바와 같이, 이웃 정보는 스케줄링된 제어 슬롯에 전송될 수 있다. 보다 통상적으로, 노드 및 이의 이웃 노드는 임의의 적합한 프로토콜 또는 TDMA 타임 슬롯에 조직화된 액세스를 하는 알고리즘을 이용하여 라우팅 계산, 액세스 제어 및 이와 유사한 것에 이용되는 이웃 정보를 교환할 수 있다.
도 18은 네트워크를 떠나는(leave) 노드에 대한 방법의 플로우차트이다. 시간이 지남에 따라, 링크 품질 감소 또는 이웃한 테이블로부터의 노드 식별자의 명시적인 제거와 같은 다양한 이벤트가 노드의 이웃 테이블 내에서 진입의 감소를 야기할 수 있다. 몇몇 지점에서, 노드용 이웃 테이블이 단계(1810)에 도시된 바와 같이 비워질 수 있다. 노드가 GPS 가능하다면, 단계(1820)에 도시된 바와 같이 유동(flow)은 단계(1840)에 브랜칭될 수 있다. 노드는 GPS 가능하다면, 노드는 예를 들어 노드가 그 외의 다른 액션을 중단하거나 또는 수행한 뒤 사전정해진 기간 동안 또는 무기한으로 지속될 수 있는 이웃 노드를 지속적으로 탐지할 수 있다. 단계(1840)에 도시된 바와 같이, 노드는 리셉션 슬롯 동안 지속적으로 대기할 수 있다.
단계(1820)에 도시된 바와 같이, 노드가 GPS 불가능하다면, 유동은 단계(1830)로 브랜칭된다. 단계(1830)에 도시된 바와 같이, 그 뒤 노드는 네트워크를 떠날 수 있다. 노드가 네트워크를 떠나자마자, 단계(1840)에 도시된 바와 같이, 노드는 임의의 그 외의 다른 적합한 액션을 취하거나 또는 진입하기 위해 네트워크를 탐지할 수 있는 리셉션 슬롯 동안 대기할 수 있다.
도 19는 링크 품질을 업데이트하기 위한 방법의 플로우차트이다. TDMA 환경에서, 슬롯은 레귤러 베이시스(regular basis)를 만족시킬 수 있으며, 예상된 측정에 대해 실제 측정을 기초할 수 있고, 링크 품질이 측정될 수 있다. 단계(1910)에 도시된 바와 같이, 제어 리셉션 슬롯의 예상된 개수가 계산될 수 있다. 단계(1920)에 도시된 바와 같이, 제어 슬롯 리셉션의 실제 개수가 관찰될 수 있다. 단계(1930)에 도시된 바와 같이, 업데이트 링크 품질 메트릭(update link quality metrics)이 제어 리셉션 슬롯의 예상되고 관찰된 개수에 기초하여 계산될 수 있다. 링크 메크릭이 0에 도달된다면, 단계(1940)에 도시된 바와 같이, 유동은 단계(1950)로 브랜칭된다. 단계(1950)에 도시된 바와 같이, 진입(entry)은 링크 메트릭이 0에 도달되기 때문에 이웃 테이블로부터 제거될 수 있다.
링크 메트릭이 0이 아니라면, 단계(1940)에 도시된 바와 같이, 유동은 단계(1920)로 브랜칭된다. 단계(1920)에서, 실제 제어 리셉션의 개수는 링크 품질 메트릭을 가능하게 업데이트하기 위하여 지속될 수 있다.
도 20은 노드(2005)용 노드(2005)를 위한 1 홉 이웃들(one hop neighborhood, 2010)과 2 홉 이웃들(2020)을 포함한 MANET(2000)를 도시한다. 채널 액세스 프로토콜은 TDMA 환경이 주어진 타임 슬롯 내에서 이웃들이 전송될 수 있는 노드를 측정하기 위해 이용될 수 있다. 채널 액세스 알고리즘의 2개의 통상 클래스는 경쟁-기반이고(contention-based), 스케줄링된다. 멀티미디어 인터넷 데이터는 데이터 속도(data rate), 대기 시간(latency) 및 지터 요건(jitter requirement)을 포함하는 다양한 특성과 전달 요건을 가질 수 있다. 충분한 수준의 서비스 품질(Quality of Service, QoS)을 제공하기 위하여, 선순위 채널 액세스(priority channel access)가 몇몇의 노드에 주어질 수 있으며, 이에 따라 이러한 노드는 이의 데이터의 QoS 요건에 부합될 수 있다. 경쟁-기반 스케줄러는 이웃 노드가 전송하기 위한 선순위 데이터를 가질 때 노드가 통상적으로 선순위화된 채널 액세스를 필요한 것으로 알려지지 않기 때문에 선순위화된 채널 액세스를 제공하기가 곤란하다. 스케줄링된 채널 액세스 알고리즘의 클래스 내에서, 집중화된 노드(centralized node)는 채널 액세스 스케줄을 연산하고 스케줄을 모든 작용 노드에 분배할 수 있다.
대안으로, 분배식 채널 액세스 스케줄(distributed channel access schedule)은 노드들 간에 분배되는 스케줄링 메타데이터의 통상 세트를 이용하여 모든 개별 노드에 의해 부분적으로 연산될 수 있다. 노드 활성화 멀티플 액세스(Node Activated Multiple Access, NAMA) 스케줄러는 MANET 내에서 채널 액세스를 위한 분배식 스케줄러의 실례이다. 각각의 노드는 2-홉 이웃들에서 모든 노드를 위한 채널 액세스 "스코어"를 연산할 수 있다. MANET 토폴로지 및 2-홉 이웃부(2020)의 실례는 선순위화된 액세스가 주어지지 않는 싱글 타임 슬롯을 위한 실례의 계산된 노드 스코어와 함께 도 20에 도시된다. 스코어는 그 외의 다른 것들 중 간에 노드들 중 각각의 하나의 노드에서 데이터 혼잡도(data congestion)의 수준을 반영할 수 있다. 노드 스코어는 선순위, 링크 품질, 신호 강도, 드롭된 패킷, 또는 노드로부터 전송가능한 데이터 링크와 노드의 데이터 전송 요건들 중 하나 또는 이들 모두를 측정하기 위한 임의의 그 외의 다른 유용한 메트릭을 포함하는 노드에서의 데이터 또는 노드의 그 외의 다른 특성을 반영할 수 있다.
도 21은 QoS 요건을 구현하기 위해 노드 스코어를 조절하는데 이용될 수 있는 노드 웨이트(node weight)를 도시한다. NAMA 스케줄링 메타데이터의 일부로서, 노드 웨이트 파라미터는 노드가 노드에서의 데이터를 위한 QoS 요건에 부합되는 것과 같이 비교적 큰 채널 액세스를 필요로 할 때를 나타내는 각각의 노드에 대해 이용될 수 있다. 통상적으로, 0의 웨이트를 갖는 노드는 스케줄링 알고리즘 내에서 완전히 디-웨이팅된다(de-weighted). 하나의 웨이트를 갖는 노드는 웨이팅 없이 스코어와 동일한 스코어를 수신할 것이다. 2개의 웨이트를 갖는 노드는 노드 스코어가 스케줄링 알고리즘에 제공 시 2개의 스코어를 가질 것이다. 도 21에는 정수가 도시될지라도, 임의의 적합한 웨이트가 상대적으로 높은 QoS 요건에 따라 노드를 향하여 타임 슬롯 할당을 바이어싱하기 위해 이용될 수 있다(해당 스케줄링 알고리즘과 일치되어).
도 22는 데이터 전달을 위한 QoS 또는 그 외의 다른 요건에 부합되는 또 다른 기술을 도시한다. 이러한 방법에서, 노드 스코어를 위한 웨이트는 타임 슬롯 액세스를 바이어싱하기 위한 해시 함수(hash function)와 같은 임의의 적합한 함수에 따라 스큐될 수 있다(skewed). 따라서, 예를 들어 몇몇의 노드가 도 20에 도시된 사전-스큐된 노드와 같이 스큐된 이후 동일한 스코어를 가질지라도, 그 외의 다른 노드가 스큐잉(skewing)으로부터 야기된 증가된 스코어를 갖는다. 명시적인 노드 웨이팅에 따라, 이는 비교적 높은 QoS 요건을 갖는 하나 또는 이보다 많은 노드를 향하여 타임 슬롯 할당을 바이어싱하기 위해 제공될 수 있다. 스큐잉이 상대적으로 큰 노드 웨이트를 갖는 노드가 채널 액세스를 획득하는 통계학적 경향을 개선시킬 수 있을지라도, 이는 타임 슬롯을 위한 경쟁을 가담하기 위해 0으로 완전히 디-웨이팅된 노드를 위한 선택을 제공하는 방식으로 도 21에 도시된 바와 같이 특정의 노드 웨이팅에 따라 이용될 수 있다. 즉, 특정의 노드 웨이트는 노드 웨이트를 0으로 보내는데 이용될 수 있으며, 노드는 0-웨이트 노드가 몇몇의 양의 값으로 상승되는 방식으로 후속하여 스큐될 수 있다. 0과 같은 특정의 값(완전히 디-웨이팅하기 위해)과 하나의 값(뉴트럴 웨이팅을 위해)이 기술될지라도, 임의의 적합한 값 또는 값들의 범위가 본 발명의 범위로부터 벗어남이 없이 유사한 효과에 대해 이용될 수 있다.
또 다른 양태에서, 경쟁 도메인(contention domain)이 스케줄링 알고리즘에 제공되는 2-홉 이웃들 내에서 노드를 제한하기 위해 형성될 수 있다. 이러한 기술은 임의의 적합한 임계치, 메트릭 또는 경쟁 도메인 내에서(또는 이로부터의 노드의 서브세트를 배제) 노드의 서브세트를 사전선택하기 위한 그 외의 다른 경쟁을 이용할 수 있다. 사전-선택을 위한 가능한 임계치는 특정 수준과 동일한 노드 웨이트, 특정 수준과 동일하거나 또는 이보다 큰 노드 웨이트, 특정 수준보다 작은 노드 웨이트, 장치 타입(예를 들어, 액세스 포인트, 서브스크라이버 장치, 등등), SLA(service level agreement), 및 기타 등등을 포함하지만 이에 제한되지 않는다.
도 23은 경쟁 노드가 0.5 초과 또는 이와 동일한 노드 웨이트를 갖는 모든 노드로 제한되는 도 20의 노드에 대해 설립될 수 있는 실례를 도시한다. 수치 값은 자유선택적이며, 임의의 수치 값 또는 이러한 수치 값의 범위는 유사한 효과에 대해 이용될 수 있다. 경쟁 도메인 외측을 모든 노드는 변형된 노드 스코어를 가질 수 있으며, 스케줄링의 목적으로 0으로 설정될 수 있다. 이에 따라, 노드(2305)(0.98의 노드 스코어를 포함)는 경쟁 도메인 내에 포함될 수 있는 반면 노드(2340)(0.44의 노드 스코어를 포함)는 경쟁 도메인으로부터 배제될 수 있다. 유사한 효과가 비록 실질적인 차이는 있을지라도 포함 또는 배제를 나타내는 하나 또는 0의 노드 웨이트를 이용하여 구현될 수 있다. 예를 들어, 경쟁 도메인 내에서, 노드 스코어가 계산될 수 있고, 경쟁 도메인을 식별하기 위한 하나 이상의 룰에 따라 처리될 수 있으며, 반면 상기 언급된 웨이팅 어프로치(weighting approach)에서 웨이트는 특정 노드 스코어에 대한 사전 정보 없이 측정될 수 있다. 경쟁 도메인은 노드-필요 선순위 채널 액세스가 TDMA 에포치 내에서 타임 슬롯을 위한 채널 액세스를 획득하기 위해(또는 획득의 기회를 향상시키기 위해) 이용될 수 있다. 경쟁 도메인 내에서 가담하기에 선출된 노드가 없다면, 경쟁 도메인은 2-홉 이웃들 내에서 모든 노드를 포함하도록 확장될 수 있다. 이러한 어프로치로부터 야기될 수 있는 이점은 스케줄링 알고리즘에 의해 처리될 필요가 있는 노드의 개수를 감소시킴으로써 감소된 연산 복잡성이다.
경쟁 도메인의 이용을 보충하기 위한 또 다른 기술은 반복 프레임 구저 내에서 각각의 타임 슬롯에 대한 한정된 경쟁 도메인을 연계시키는 것이다. 이의 실례는 도 24에 도시된다. 타임 슬롯(2410, 2420, 2430, 및 등등)이 도시되었다. 특정의 타임 슬롯은 특정의 용도를 위해 제공될 수 있다. 예를 들어, 타임 슬롯(2420)은 액세스 포인트에 의한 단지 사용을 위해서 허용가능하다. 타임 슬롯(2430)은 하나의 웨이트를 포함한 노드에 대해서만 허용가능하다. 타임 슬롯(2470)은 3개 초과 또는 이와 동일한 웨이트를 포함한 노드에 대해서만 허용가능하다. TDMA 환경 내에서 다양한 타임 슬롯에 대해 그 외의 다른 유사한 제한(restriction)이 제공될 수 있다.
도 25는 가중된 전송을 위한 방법(2500)의 플로우차트이다. 단계(2510)에 도시된 바와 같이, 노드 웨이트가 초기화될 수 있다. 모든 노드는 네트워크에 진입할 때 또는 파워 업(power up) 시 동일한 값에 따라 개시될 수 있다. 대안으로, 노드는 액세스 포인트인 노드와 같이 노드의 특성에 기초한 비교적 큰 웨이트를 수신할 수 있다. 특정 노드는 비교적 선순위의 사용자 또는 사용자가 프리미엄 서비스를 위한 비용을 지불하는 사용자에게 알려질 수 있으며, 이에 따라 비교적 큰 노드 웨이트에 따라 개시된다. 그 외의 다른 특성이 노드가 수신되는 초기 노드 웨이트에 영향을 미칠 수 있다. 노드 웨이트는 정수값일 수 있고, 몇몇 실시예에서 0에서 5의 범위일 수 있다. 각각의 노드는 노드에서 데이터 혼잡도의 함수인 스코어를 가질 수 있다(또는 임의의 그 외의 다른 적합한 메트릭 또는 파라미터). 몇몇 실시예에서, 노드 스코어는 소수값일 수 있고, 데이터 혼잡도가 상대적으로 작은 정도를 나타내는 0.1과 같은 작은 수와 노드에서 데이터 혼잡도가 상당한 것을 나타내는 0.95와 같은 비교적 큰 값에 따라 0에서 1까지의 범위일 수 있다. 노드 스코어는 노드에 대해 채널 액세스가 스케줄링될 때 노드 웨이트에 기초하여 변형될 수 있다.
단계(2515)에 도시된 바와 같이, 데이터는 전송 중 노드에 의해 수신될 수 있다. 이러한 데이터는 노드 내에서 데이터 소스에 의해 내부적으로 생성된 데이터 또는 네트워크 내에서 또 다른 노드로부터의 노드에 도달되는 데이터를 포함할 수 있다. 보다 많은 데이터가 노드에 도달되거나 또는 노드를 위한 전송 큐(transmit queue)가 전송되지 않은 데이터의 백로그(backlog)에 따라 성장될수록 노드 스코어는 노드에서 비교적 높은 혼잡도를 나타내기 위해 변형될 수 있다. 또 다른 양태에서, 혼잡도는 하나 이상의 그 외의 다른 이웃 노드에서 노드를 위한 아웃바운드 데이터(outbound data)의 큐의 측정치를 획득함으로써 순향적으로 예견될 수 있다.
단계(2520)에 도시된 바와 같이, 난수가 노드에서 생성될 수 있다. 새로운 난수는 각각의 새로운 타임 슬롯에 대해 생성될 수 있거나 또는 난수는 노드의 비교적 긴 작업 기간 동안 유지될 수 있다. 난수는 이용가능하여 동일한 노드 웨이트 또는 노드 스코어를 갖는 노드는 노드가 우선적으로 전송해야하는 지를 결정하기 위해 중재될 수 있다. 몇몇 실시예에서, 난수화가 발생되지 않고, 이러한 단계는 생략될 수 있다. 몇몇 실시예에서, 노드 스코어, 노드 웨이트 및 난수의 조합이 노드가 주어진 타임 슬롯 내에서 전송할 수 있을지를 결정하기 위해 이용될 수 있다.
단계(2525)에 도시된 바와 같이, 노드 스코어는 현재의 노드 웨이트에 기초하여 변형될 수 있다. 또한 노드 스코어는 상기 기술된 바와 같이 구성되거나 또는 노드를 가로지르는 웨이팅을 스큐하기 위한 하시 함수를 이용하여 변형될 수 있다.
단계(2530)에 도시된 바와 같이, 노드는 변형된 노드 스코어에 기초한 무선 네트워크에서 전송이 시도될 수 있다. 난수는 노드들 간의 중재를 위해 임의의 적합한 방식으로 이용될 수 있고, 가중화된 페어 코인 플립(weighted fair coin flip) 또는 각각의 노드를 위한 타임 슬롯을 선택하기 위한 이와 유사한 것과 같이 전송해야 하는 것의 선택을 도울 수 있다.
단계(2535)에 도시된 바와 같이, 노드 웨이트는 임의의 적합한 간격으로 네트워크 상태 및 노드 내의 변화에 따라 업데이트될 수 있으며, 프로세스(2500)는 새로운 데이터가 노드에 의해 전송 중 수신될 수 있는 단계(2515)로 복귀될 수 있다.
도 26은 웨이트에 기초하여 전송을 하기 위한 프로세스(2600)의 플로우차트이다. 웨이트가 노드 스코어를 변형하기 위해 이용될 때, 낮은 노드를 포함한 노드는 주어진 타임 슬롯에 전송을 하기 위하여 경쟁을 주기적으로 이길 수 있다. 대안으로 특정의 타임 슬롯에서 특정의 웨이트가 전송을 할 수 있는 것으로 기술된다.
단계(2610)에 도시된 바와 같이, 노드 웨이트는 노드에 대해 초기화될 수 있다. 단계(2615)에 도시된 바와 같이, 데이터는 전송 중 노드에서 수신되거나 또는 생성될 수 있다. 단계(2620)에 도시된 바와 같이, 이러한 프로세스는 특정의 노드 웨이트를 갖는 이웃들에서 복수의 노드들 중 각각의 한 노드를 위한 난수를 생성하는 단계와 난수에 기초하여 타임 슬롯에 대한 액세스를 추가로 제한하는 단계를 포함한다. 난수는 전송 중 노드의 선택에 도움이 되도록 생성될 수 있다. 단계(2625)에 도시된 바와 같이, 하시 함수는 노드 웨이트에 기초하여 노스 스코어를 변형하기 위해 이용될 수 있다. 이러한 단계들은 상기에서 기술된 단계와 유사할 수 있다. 이러한 프로세스는 노드 및 하나 이상의 이웃 노드를 포함하는 이웃들 내에서 복수의 노드를 식별하는 단계를 포함할 수 있다. 이웃들은 노드를 위한 2 홉 이웃들을 포함할 수 있다. 이러한 프로세스는 노드를 위한 액세스 요건을 나타내는 노드 웨이트 및 노드에 대한 트래픽 혼잡도를 나타내는 노드 스코어를 계산하는 단계를 포함할 수 있다. 추가로, 이러한 프로세스는 하나 이상의 이웃 노드들 중 각각의 노드로부터의 액세스 요건을 나타내는 이웃 노드 웨이트 및 하나 이상의 이웃 노드들 중 각각의 노드로부터의 트래픽 혼잡도를 나타내는 이웃 노드 스코어를 수신하는 단계를 포함할 수 있다.
단계(2630)에 도시된 바와 같이, 노드는 노드를 위한 현재의 노드 웨이트로 나타내어진 타임 슬롯 동안 대기할 수 있다 이러한 프로세스는 이웃들 내에서 통신을 위한 타임 슬롯을 식별하는 단계를 포함할 수 있다. TDMA 타임 슬롯은 특정의 노드 웨이트에 대해 할당될 수 있다. 또한, 타임 슬롯은 하나 이상의 모든 노드 웨이트에 대한 특정의 타임 슬롯과 같이 노드 웨이트의 모임 또는 범위에 대해 할당될 수 있다. 노드는 적절한 타임 슬롯 동안 대기할 수 있다.
단계(2635)에 도시된 바와 같이, 이웃들 내에서의 노드가 주어진 타입 슬롯 동안 특정의 기준에 부합되지 않는다면, 모든 노드 또는 이러한 노드들의 상이한 서브세트가 타임 슬롯 동안에 완료될 수 있다. 예를 들어, 타임 슬롯을 이용하지 않고 비워진 상태가 아닌, 타임 슬롯이 4의 웨이트를 포함하는 노드가 제공되지 않지만 4의 노드 웨이트에 대해 제공된다면, 이웃들 내에서의 모든 노드는 전송을 위해 완료될 수 있다. 이러한 프로세스는 노드에 대한 노드 웨이트가 노드 웨이트 요건에 부합되지 않을 때 노드에 의해 타입 슬롯으로의 액세스를 제한하는 단계를 포함할 수 있다. 또한, 이러한 프로세스는 노드 웨이트 요건에 부합되지 않는 이웃 노드 웨이트를 갖는 이웃 노드들 중 한 이웃 노드에 의해 타임 슬롯으로의 액세스를 제한하는 단계를 포함할 수 있다. 액세스를 제한하는 단계는 타임 슬롯으로의 액세스 동안 스케줄링된 알고리즘 내에서 참여(participation)로부터 노드를 보류시키는 단계를 포함할 수 있다. 노드 웨이트 요건은 노드 웨이트를 위한 최대 임계치 또는 노드 웨이트를 위한 최소 임계치를 포함할 수 있다. 노드 웨이트 요건은 노드 웨이트를 위한 배타적 임계치 또는 노드 웨이트를 위한 포괄적 임계치를 포함할 수 있다.
단계(2640)에 도시된 바와 같이, 노드는 타임 슬롯에 도달되자마자 주어진 노드 웨이트를 위한 해당 슬롯에서 데이터의 전송을 시도할 수 있다. 다수의 노드가 타임 슬롯에 대한 기준에 부합된다면, 생성된 난수는 타임 슬롯에 전송해야할지를 결정하기 위해 이들 간에 중재를 위해 이용될 수 있다. 이러한 프로세스는 노드가 노드 웨이트 요건에 부합되는 노드 웨이트를 가질 때 노드가 타임 슬롯에 액세스될 수 있는지를 결정하기 위하여 노드 웨이트와 노드 스코어에 기초한 스케줄링 알고리즘을 적용하는 단계를 포함할 수 있다. 이러한 프로세스는 노드가 타임 슬롯으로의 액세스를 위해 스케줄링될 때 타임 슬롯 내의 노드로부터 데이터를 전송하는 단계를 추가로 포함할 수 있다. 스케줄링 알고리즘은 하나 이상의 이웃 노드를 위한 이웃 노드와 하나 이상의 이웃 노드들을 위한 이웃 노드 웨이트에 기초할 수 있다. 스케줄링 알고리즘은 노드의 이웃 테이블에 저장되고 이웃들 내에서 복수의 노드들 간에 교환된 이웃 데이터에 기초할 수 있다.
단계(2645)에 도시된 바와 같이, 필요한 타임 슬롯에 대한 허용가능한 타임 슬롯의 개수가 평가될 수 있다. 허용가능한 타임 슬롯보다 주어진 웨이트를 위한 특정의 타임 슬롯을 위한 데이터가 많을 수 있다. 단계(2650)에 도시된 바와 같이, 노드를 위한 노드 웨이트는 타임 슬롯 허용성에 기초하여 업데이트될 수 있다. 게다가, 노드 웨이트는 파워 레벨, 기하학적 위치, 모빌리티, 노드 타입 및 오퍼레이션의 주기들 중 하나 이상에 기초하여 계산될 수 있다.
도 27은 서비스 품질("QoS") 요건에 기초한 전송 프로세스의 플로우차트이다. 낮은 QoS 데이터 이전에 높은 QoS 데이터를 전송할 수 있는 기술이 기술된다. 이러한 프로세스는 노드 및 하나 이상의 이웃 노드를 포함하는 이웃들 내에서 복수의 노드를 식별하는 단계를 포함할 수 있다. 이러한 프로세스는 노드를 위한 액세스 요건을 나타내는 노드 웨이트 및 노드를 위한 트래픽 혼잡도를 나타내는 노드 스코어를 계산하는 단계를 추가로 포함할 수 있다. 이웃들은 노드를 위한 2-홉 이웃들을 포함할 수 있다.
단계(2710)에 도시된 바와 같이, 노드 웨이트는 노드에 대해 초기화될 수 있다. 단계(2715)에 도시된 바와 같이, 데이터는 전송을 위해 노드에서 수신되거나 또는 생성될 수 있다. 이러한 단계는 상기 언급된 단계와 유사할 수 있다. 이러한 프로세스는 하나 이상의 이웃 노드들 중 각각의 노드로부터의 액세스 요건을 나타내는 이웃 노드 웨이트 및 하나 이상의 이웃 노드들 중 각각의 노드로부터의 트래픽 혼잡도를 나타내는 이웃 노드 스코어를 수신하는 단계를 포함할 수 있다.
단계(2720)에 도시된 바와 같이, 이러한 프로세스는 노드로부터 전송되는 데이터에 대한 서비스 품질(QoS) 요건을 결정하는 단계를 포함할 수 있다. 수신된 데이터를 위한 QoS 요건은 결정될 수 있다. QoS 요건은 데이터의 트래픽 타입 자체에 의존될 수 있거나 또는 임의의 그 외의 다른 적합한 메트릭 또는 데이터의 소스 또는 데스티네이션(destination)에 기초하여 결정될 수 있다. 노드로부터 전송되는 데어터에 대한 QoS 요건은 데이터에 대한 복수의 QoS 수준들 중 한 수준을 포함할 수 있다. 데이터에 대한 QoS 요건의 결정은 QoS 정보에 대한 데이터의 헤더(header)를 조사하는 단계를 포함할 수 있다. 데이터에 대한 QoS 요건의 결정은 데이터의 트래픽 타입을 결정하는 단계를 포함할 수 있다.
단계(2725)에 도시된 바와 같이, 이러한 프로세스는 이웃들 내에서 각각의 노드에 대한 QoS 노드 웨이트를 제공하기 위하여 QoS 요건에 기초한 각각의 이웃 노드에 대한 이웃 노드 웨이트 및 노드를 위한 노드 웨이트를 스큐잉하는 단계(skewing)를 포함할 수 있다. 노드 스코어는 QoS 요건에 기초하여 스큐될 수 있다. 스큐잉은 하시 함수를 이용하는 단계를 포함할 수 있다. 비교적 높은 QoS 요건은 노드 스코어를 보다 높도록 스큐할 것이다. 또한, 노드 웨이트는 QoS에 기초하여 스큐되거나 또는 대신에 스큐될 수 있다. 높은 QoS는 높은 노드 웨이팅에 따라 반영될 수 있다. 몇몇 실시예에서, 단지 높은 노드 웨이팅은 높은 QoS 요건에 도달될 수 있다. 예를 들어, 4 또는 5의 노드 웨이팅은 단지 높은 QoS 데이터와 함께 사용되는데 제한될 수 있다. 스큐잉은 QoS 요건에 기초한 데이터를 선순위화하는 단계(prioritizing)를 포함할 수 있다. 스큐잉은 이웃들 내에서 각각의 노드에서의 트래픽에 대한 QoS 요건에 따라 스큐잉되는 단계를 포함할 수 있다.
단계(2730)에 도시된 바와 같이, 이러한 프로세스는 이웃들 내에서 통신을 위한 타임 슬롯을 식별하는 단계를 포함할 수 있다. 노드는 상기 언급된 바와 같이 노드에 대한 노드 웨이트에 제공된(또는 가중화된 노드 스코어) 타임 슬롯 동안 대기할 수 있다. 예를 들어, 타임 슬롯은 스케줄링의 목적으로 다양한 수준으로 분할될 수 있으며, 이에 따라 타임 슬롯 요건(예를 들어 값 이하, 값 이상 또는 이러한 값들의 범위 내에서)에 부합되는 노드 웨이트 또는 스코어를 포함한 노드만이 타임 슬롯에 적용된 스케줄링 알고리즘 내에서 참여된다. 이러한 어프로치는 증가된 채널 액세스에 대한 요건에 부합되도록 초당 보다 많은 개수의 슬롯을 획득하기 위해 보다 많은 노드 웨이트 또는 스코어를 포함한 노드를 선택하기 위해 바이어싱될 수 있다. 이러한 프로세스는 노드가 노드 웨이트 요건에 부합될 때 노드가 타임 슬롯에 액세스될 수 있을지를 결정하기 위해 노드에 대한 QoS 노드 웨이트 및 노드 스코어에 기초한 스케줄링 알고리즘을 이용하는 단계를 포함할 수 있다. 스케줄링 알고리즘은 노드의 이웃 테이블 내에 저장되고, 이웃들 내에서 복수의 노드들 간에 교환된 이웃 데이터에 기초할 수 있다.
단계(2735)에 도시된 바와 같이, 이러한 프로세스는 노드에 대한 QoS 노드 웨이트가 노드 웨이트 요건에 부합되지 않을 때 노드에 의해 타임 슬롯으로의 액세스를 제한하는 단계를 포함할 수 있다. 이웃들 내에서의 노드가 주어진 타입 슬롯 동안 특정의 기준에 부합되지 않는다면, 모든 노드 또는 이러한 노드들의 상이한 서브세트가 타임 슬롯 동안에 완료될 수 있다. 예를 들어, 타임 슬롯을 이용하지 않고 비워진 상태가 아닌, 타임 슬롯이 4의 웨이트를 포함하는 노드가 제공되지 않지만 4의 노드 웨이트에 대해 제공된다면, 이웃들 내에서의 모든 노드는 전송을 위해 완료될 수 있다. 액세스를 제한하는 단계는 타임 슬롯으로의 액세스 동안 스케줄링된 알고리즘 내에서 참여(participation)로부터 노드를 보류시키는 단계를 포함할 수 있다.
단계(2740)에 도시된 바와 같이, 이러한 프로세스는 노드가 타임 슬롯으로의 액세스를 위해 스케줄링될 때 타임 슬롯 내의 노드로부터 데이터를 전송하는 단계를 추가로 포함할 수 있다. 노드는 타임 슬롯에 도달되자마자 주어진 노드 웨이트를 위한 해당 슬롯에서 데이터의 전송을 시도할 수 있다. 다수의 노드가 타임 슬롯에 대한 기준에 부합된다면, 생성된 난수는 타임 슬롯에 전송해야할지를 결정하기 위해 이들 간에 중재를 위해 이용될 수 있다.
단계(2745)에 도시된 바와 같이, 필요한 타임 슬롯에 대한 허용가능한 타임 슬롯의 개수가 평가될 수 있다. 허용가능한 타임 슬롯보다 주어진 웨이트를 위한 특정의 타임 슬롯을 위한 데이터가 많을 수 있다. 단계(2750)에 도시된 바와 같이, 노드를 위한 노드 웨이트는 타임 슬롯 허용성(time slot availability)에 기초하여 업데이트될 수 있다.
추가로, 데이터에 대한 서비스 품질(QoS) 또는 선순위에 따라 트랙픽에 대한 채널 액세스를 선택적으로 제공하기 위해 MANET 내포 가중치 라운드 로빈 큐(MANET nested weighted round robin queue)가 이용될 수 있다. 그 외의 다른 큐 내에 큐를 네스팅하고(nesting), 각각의 큐를 제공하기 위한 가중치 라운드 로빈 기술을 적용함으로써, 상대적으로 임의의 서비스 메트릭이 클래스-기반 트래픽을 위한 노달 QoS, 큐 스타베이션(queue starvation)의 배제, 및 등등을 위한 노달 QoS를 포함하도록 구현될 수 있다. 선순위의 큐는 높은 선순위 트래픽의 선제 전달을 위해 제공될 수 있다. 서비스의 다양한 품질이 트래픽의 클래스들 간에 그리고 노드들 사이에 채널 이용을 할당함으로써 제공될 수 있다. 이는 조합된 데이터 큐잉(combined data queuing)을 통해 구현될 수 있으며, 이는 트랙픽이 채널 상에서 허용되는 데에 영향을 미치고, 채널 액세스는 채널이 사용될 수 있는 데에 영향을 미친다.
MANET(100)의 용량(capacity)은 하기에서 기술되는 바와 같이 이웃들 선택 알고리즘 및 링크 컬러링을 이용하여 개선되거나 또는 최대화될 수 있다. 통상적으로, 이러한 기술은 선택된 이웃들 내에서 통신 요건을 밝힘으로써 MANET(100)을 가로질러 파워 레벨을 감소시키는 데 있다. 통상적인 어프로치는 MANET(100) 내에서 통상적인 노드의 연산 능력(computational capabiliy)(및 네트워크 오버헤드 제한사함) 내에서 남겨지도록 트리가 업데이트되는 주파수 및 트리의 크기를 적용함으로써 MANET 100의 크기 및 동적 특징에 의존하여 가변될 수 있다. 추가로, 그래프 이론이 다양한 기술을 제공하며, 이들 중 임의의 하나 이상의 기술이 특정 문헌 내의 선호되는 기술일 수 있다.
도 28은 MANET 내에서 용량을 증가시키기 위한 프로세스(2800)를 도시한다. 유용한 알고리즘은 스케줄링 시 5 기초 단계에 따라 전개될 수 있으며, 어프로치는 서브옵티면 결과치(suboptimum result)를 산출할 수 있지만 제한된 연산 리소스 에 따라 환경을 위한 연산 복잡성을 줄일 수 없다. 이러한 프로세스는 하나 이상의 이웃 노드가 1-홉 이웃들 내에 있는 무선 ad hoc 네트워크 내에서의 노드에 대해 하나 이상의 이웃 노드를 탐색하는 단계를 포함할 수 있다. 또한, 하나 이상의 이웃 노드에 대한 이웃 테이블을 생성하는 단계를 포함할 수 있다. 단계(2802)에 도시된 바와 같이, 제 1 단계는 데이터 수집 및 초기 데이터 감소를 포함할 수 있다. 후속 알고리즘을 구동하기 위한 데이터는 수집되고, 이질적인 데이터는 후속 단계에서 연산을 줄이기 위해 삭제된다. 단계(2804)에 도시된 바와 같이, 제 2 단계는 라우팅 알고리즘에서의 링크와 같이 이용될 수 있는 캔디데이트 노드 링크를 결정하는 이웃 선택 단계(neighbor selection)를 포함할 수 있다. 단계(2806)에 도시된 바와 같이, 제 3 단계는 모든 리프 노드(leaf node)가 도달될 수 있는 각각의 호프에서 루트(root) 및 라우트 거리에서 액세스 포인트(backhaul 액세스 포인트와 같이)를 포함한 라우팅 트리의 구조를 포함할 수 있다. 단계(2808)에 도시된 바와 같이, 제 4 단계는 트리 내의 그 외의 다른 노드들 간의 동시 통신을 방지할 수 있는 것과 간섭 존을 고려하는 트리 상에 서포트될 수 있는 트래픽을 최대화하기 위해 주파수(frequency) 및 시간 할당(time assignment)을 포함할 수 있다.
하기 기술내용에 따르면, 각각의 노드는 이웃 탐색 프로세스 동안 최대의 파워를 이용하여 도달될 수 있는 이웃의 리스트를 가지며, 모든 1 호프 이웃은 탐색 송정으로 공지되었지만 이러한 가정은 나머지 처리 단계에 대해 적합한 적용으로써 완화될 수 있다.
단계(2802)에 도시된 바와 같이, 이러한 프로세스는 하나 이상의 이웃 노드로부터 데이터를 수집하는 단계를 포함할 수 있으며, 여기서 데이터는 인터-노드 링크 로스 및 유클리드(Euclidean) 링크 거리를 포함한다. 이러한 단계는 데이터 수집 및 감소를 포함할 수 있다. 이웃 테이블은 물리적 층으로 제공된 메타데이터로부터의 범위 데이터(range data) 및 링크 로스에 관해 링크 비용과 높은 파워/낮은 변조 순서 파형(modulation order waveform)을 이용하여 도달가능한 1 호프 이웃 모두로부터 생성될 수 있다. 노드는 로컬 모드 1 호프 이웃(local node one hop neighbor)과 공동으로 이의 1 호프 이웃을 포함하는 1 호프 이웃으로부터의 정보를 수집하고 수신할 수 있다. 이는 인터 노드 링크 로스 및 범위와 같은 정보를 포함할 수 있다. 사용된 공통 데이터 베이스가 주어짐에 따라 모든 노드는 로컬 알고리즘을 이용하여 동일한 이웃을 선택할 수 있다. 이러한 프로세스는 유클리드 링크 거리와 링크 로스를 포함하는 그룹들 중 한 그룹에 기초한 들로네 테셀레이션(Delaunay tessellation)를 어셈플링하는 단계를 추가로 포함한다. 링크의 개수를 제한하기 위해 이웃을 선택하는 단계는 라우트 분석으로부터 야기된 라우트의 그래프 분석을 수행하고, 각각의 노드의 공통 세트로부터 비용 라우트 분석(cost route analysis)을 수행하는 단계를 추가로 포함한다. 이러한 라우트 분석은 최소의 전송 에너지에 기초할 수 있다.
MANET 실시예에서, 물리적인 층이 통상 모드에서 전송된 파워 변조 모드, RSSI, SNR 및 대략 1 dB과 200 ns의 레졸루션(resolution)을 포함한 링크 딜레이와 같은 모든 리셉션을 위한 메타데이터를 리포트할 수 있다. 비교적 높은 레졸루션은 높은 레졸루션 모드가 존재할 수 있지만 가능한 특정의 스케줄링 셀에 의존된다. 메타데이터로부터 1 호프 이웃 테이블이 생성될 수 있고 유지될 수 있다. 이러한 테이블은 1 호프 이웃(one hop neighbor) 및 공통 이웃 정보(common neighbor information)을 포함할 수 있으며, 이에 따라 삼각형으로 링크된 모든 노드는 다음의 단계에서 공지된다. 바람직하게, 이웃 테이블은 이러한 이웃 트리플로의 용이한 액세스를 위해 배열된다(3개의 노드 ID 및 노드들 간의 거리 메트릭).
단계(2804)에 도시된 바와 같이, 이러한 프로세스는 공통 세트의 노드 각각이 공통 세트의노드 내에서 각각의 그 외의 다른 노드의 1-호프 이웃인 하나 이상의 이웃 노드 및 노드로부터의 공통 세트의 노드를 식별하는 단계를 포함할 수 있다. 이러한 단계는 이웃 선택을 포함할 수 있다. 이러한 프로세스는 이웃 테이블 내에 수집되는 데이터를 감소시키는 단계를 포함할 수 있으며, 이에 따라 감소된 이웃 테이블은 단지 공통 세트의 노드에 대한 정보만을 포함한다. 또한, 이러한 프로세스는 공통 세트의 노드 사이에서 링크의 개수를 한정하기 위해 이웃을 선택하는 단계를 포함할 수 있다. 이러한 단계는 스케줄링 단계와 라우팅 시 서치 공간을 감소시키기 위한 사전처리 단계와 같은 알고리즘의 라우팅 단계에서 고려하기 위한 노드들 사이의 링크의 개수를 제한하는데 이용될 수 있다. 이는 예를 들어 로컬 노드를 위한 도달가능한 이웃 테이블로부터 유클리드 거리 또는 링크 감쇠 데이터를 이용하여 메쉬의 들로네 테셀레이션을 구성하는 단계를 포함할 수 있다. 이러한 테셀레이션으로부터, 이웃 테이블은 단지 들로네 이웃(Delaunay neighbor)만을 포함하도록 삭제될 수 있다. 또한, 이는 공통 데이터를 이용하여 그 외의 다른 노드와 같이 동일한/일관된 이웃을 산출할 것이다. 대안으로, 유사한 알고리즘을 이용하는 최단 라우트가 각각의 노드로부터의 최저 비용 라우트를 탐색하기 위해 이용될 수 있으며, 이에 따른 라우트(route)의 그래프가 생성될 수 있다. 예를 들어, 액세스 포인트로의 메시지를 릴레이하기 위해 가능한 최저 전체 에너지가 제공되도록 링크 비용 메트릭(리니어 스케일)과 같은 최소 전송 에너지(transmit energy)를 이용하여 비용이 결정될 수 있다. 또한, 이러한 어프로치는 간섭 영역을 최소화하기 위한 균등물이며, 이에 따라 보다 잠재적으로 동시의 전송이 야기된다. 모든 라우트 구조는 보다 효율적인 스케줄링을 야기하는 싱글 조상(single parent)를 갖기 위해 각각의 노드를 다소 제한한다. 특정 알고리즘의 선택이 MANET 네트워크를 가로질러 분배됨의 용이성 효율성에 의존될 수 있을지라도, Dijkstra 이외의 다른 알고리즘이 이용될 수 있다.
다수의 이웃 선택 방법(neighbor selection method)이 종래 기술에 공지되었으며, 적절히 이용될 수 있다. 일 양태에서, 다수의 다양한 방법이 이용될 수 있고, 특정 환경에 대해 선호되는 방법을 결정하기 위해 성능 비교될 수 있다.
한 기술에서, 이웃 테이블 내의 트리플(triple)이 현재의 노드를 둘러싸는 들로네 테셀레이션을 형성하기 위해 이용될 수 있다. 테셀레이션에 기여하지 않는 노드는 새로운 삽입된 노드가 현재의 Vonoroi 이웃 외측에 놓이는 것을 결정하기 위한 알고리즘을 이용하여 신속히 제거될 수 있다. 통상적인 상태에서, 상당한 다수의 후보 삽입 노드(candidate insertion node)가 이웃들 외측에 놓이며, 이용을 위해 이러한 구조를 위한 충분한 알고리즘을 산출할 수 있다. 대부분의 방법은 테셀레이션을 완료하기 위한 O(log n) 작업을 필요로 한다. 테설레이션으로부터, 새로운 이웃 테이블이 단지 Delaunay 이웃만을 포함하도록 생성될 수 있다. 이러한 삭제된 1 호프 이웃 테이블로부터 라우트는 다음의 단계에서 연산될 수 있다. 그 외의 다른 알고리즘이 공지되었더라고 테셀레이션에서 후속 알고리즘이 이용될 수 있고, 특정 상태 하에서보다 효과적으로 작동될 수 있다.
1) 현재 노드(n0)를 위치(x0 y0) = (0,0)로 할당함.
2) 현재 노드(n0)로부터 가장 근접한 이웃(n1)과 이의 거리(do1)를 찾음. 위치 n1=(d01, 0)가 생성.
3) 노드(1, 2)들간의 거리(d12)와 현재의 노드로부터의 거리(d02) 및 가장 인접한 이웃(n2)을 찾음. 위치(x2 y2)의 삼각 분할(triangulate) 및 할당(assign).
4) 노드(0, 1, 2)들 간의 거리와 가장 인접 노드를 찾음, 이의 적어도 직사각형 위치를 삼각 분할함.
5) 모든 노드가 캔디데이트 (x, y) 위치를 가질 때까지 반복함.
6) 적어도 스퀘어 반복(squares iteration)을 이용하여 노드의 위치를 세분화함.
7) 표준 Delaunay 알고리즘을 이용하여 O(n log n) 단계에서 테셀레이션을 찾음.
이러한 프로세스는 허용가능한 로컬 정보(모든 1 호프 이웃)와 그 외의 다른 목적을 위해 이미 연산된 링크 딜레이를 이용하여 용이하게 분담될 수 있다.
그 외의 다른 실시예에서, 또 다른 라우팅 알고리즘이 노드로부터의 액세스 포인트 또는 액세스 포인트로부터 노드에 도달되기 위해 필요한 최소의 에너지를 소비하는 경로를 찾기 위하여 이용될 수 있다. 이러한 어프로치는 라우팅 및 이웃 선택 프로세스를 조합할 수 있다. 예를 들어, Dijkstra 알고리즘은 경로 손실 평가가 주어진 링크 상에서 리시버에 도달되기 위해 필요한 선형 전송 파워(linear transmit power)와 동일한 링크 메트릭과 함께 이용될 수 있다. 종래 기술에 공지된 그 외의 다른 알고리즘은 단순히 이용될 수 있으며, 다양한 메쉬 네트워크 토폴로지에 대해 보다 충분할 수 있다. 예를 들어, 특정의 허용가능한 경로 내에서 모든 노드는 액세스 포인트에 대한 라우트를 따라 단지 하나의 조상(parent)을 가질 수 있다. 이러한 특정을 활용하는 것은 필요한 연산을 상당히 감소시킬 수 있다.
단계(2806)에 도시된 바와 같이, 이러한 프로세스는 선택된 이웃을 통해 라우트 상에 노드의 공통 센트로부터 하나 이상의 노드를 포함하고, 각각의 라우팅 트리의 루트(root)에서 액세스 포인트(S)와 함께 라우팅 트리를 구성하는 단계를 포함할 수 있다. 이러한 단계는 트리 생성(tree generation)을 라우팅하는 단계를 포함할 수 있다. 이러한 라우팅 단계는 노드와 액세스 포인트(backhaul 액세스 포인트와 같은)로부터 그리고 이에 대해 투팅을 위해 필요한 이전의 단계로부터 단지 링크를 선택함으로써 스케줄링 단계에서 고려될 필요가 있는 링크의 개수를 추가로 감소시킬 수 있다. P2P 통신(Peer to peer communication)은 리프 노드(leaf node)와 액세스 포인트 간에 라우트(route)를 직접적으로 제공하지 않는 리스트로부터 삭제될 수 있다. 상당한 트래픽이 부분적으로 수용됨은 예상되지 못한다. 게다가, 대부분의 트래픽은 액세스 포인트에서 종료되거나 또는 이로부터 발산되는 것이 예상된다. 이러한 가정은 모든 환경에서 적합하지 않을 수 있으며, 그 외의 다른 예상된 거동 타입이 트리 생성을 라우팅하기 위한 그 외의 다른 어프로치에서 야기될 수 있다. 이러한 프로세스는 라우팅 트리를 통해 각각의 노드의 공통 세트로부터 최저 비용 라우트를 결정하는 단계를 포함할 수 있다.
트리는 링크를 이웃으로 제한하는 모든 이웃에 대한 루트(root)로서 각각의 액세스 포인트로부터 생성될 수 있다(Delaunay 또는 최저 에너지 라우트). 이러한 트리 빌딩은 트리 구조를 제한하기 위한 몇몇의 잠재적 ad-hoc 룰 및 다양한 라우트 비용 선택에 노출될 수 있다. 트리의 구조에서, 예를 들어 액세스 포인트와 루트된 모든 노드를 위해 단지 하나의 조상만이 제공될 수 있다. 이러한 트리는 테셀레이션에 영향을 미치는 Vonoroi 이웃에 진입되는 새로운 이웃과 같이 토폴로지의 변경이 감지될 때 업데이트되어야 한다. 각각의 노드는 라우팅 트리의 재-연산(re-computation)을 필요로 하는 토폴로지 변경의 이웃을 알려 줄어야 한다. 분배된 라우팅 토폴로지가 가능하도록, (a) 조상 노드의 삽입/제거 및 (b) 자식 노드의 삽입/제거와 같은 2가지의 조건이 고려될 수 있다. 몇몇의 노드는 액세스 포인트에 도달될 수 없다. 이 경우, 라우트에 따라 모든 도달가능한 노드가 구성될 수 있어서 P2P 트래픽은 도달가능한 이웃들을 가로질러 서포트될 수 있다. 이러한 크러스터(cluster)는 상이하게 처리될 수 있다.
일반적으로, 라우팅 트리는 단지 Delaunay 링크만을 사용하도록 제약된 링크 메트릭에 기초한 적어도 비용 라우트인 액세스 포인트로 모든 노드로부터의 라우트를 선택하기 위해 라우트 메트릭을 이용하여 생성될 수 있다. 몇몇의 가능한 라우팅 방법은 목적을 구현하기 위해 이용될 수 있다. 라우팅의 아웃풋은 한 쌍의 [전송 노드, 수신 노드]가 각각 진입하는 링크의 리트스이다. 일 구현예에서, 모든 링크는 대칭인 것으로 고려될 수 있다(링크는 양 방향으로 데이터를 송신할 수 있음).
한 적합한 알고리즘이 액세스 포인트로부터 호프를 계수한다. 이러한 액세스 포인트는 0의 호프 카운트가 할당된다. 액세스 포인트에 대한 링크를 갖는 각각의 노드는 하나의 호프 카운트, 등등을 갖는다. 각각의 노드의 호프 카운트는 통지될 수 있다. 노드가 할당된 호프 카운트를 갖지 않는다면, 노드는 이웃 테이블을 찾을 수 있으며, 최소의 호프 카운트에 따라 노드를 찾을 수 있다. 그 뒤, 노드는 이의 호프 카운트가 호프 카운트(+1)가 되도록 할당하고, 최소의 거리에 따라 노드에 대해 조상 라우트를 선택한다. 이러한 정보는 모든 노드가 호프 카운트를 가질 때까지 Datalink Control Message ("DCM") 이웃 알림(neighbor advertisement)을 이용하여 전파된다. 특정 조건 하에서 하나의 유용한 변조(modification)는 시블링(sibling)을 찾기 위한 현재 노드에 대한 것이며, 가장인접한 시블링이 가장인접한 조상에 비해 상당히 낮은 링크 비용을 갖는다면 조상으로서 시블링을 채택하는 현재 노드를 갖는다. 이 경우, 호프 카운트는 비교적 단순한 상기 알고리즘보다 1이 크다.
이러한 라우팅 알고리즘은 라우트가 통상적으로 우수하고(good) 조상 노드를 선택하기 위해 집중식 또는 균일하게 분포된 계수(computation)가 필요치 않는 경우에 효과적이다. 기하학적 테셀레이션에서, 액세스 포인트는 평균적으로 5-6 자식을 가지며, 각각의 자식은, 라우팅 트리 내에서 제한된 브랜칭에 따라(평균적으로) 액세스 포인트에 대해 낮은 호프 카운트를 야기하는, 평균적으로 2 자식을 갖는다. 개선된 성능을 제공하기 위한 트리 특정을 향상시키는데 몇몇의 휴리스틱(heuristic)이 이용될 수 있다. 일 실시예에서, 자식의 수가 임계치를 넘는다면, 자식의 리스트가 삭제될 수 있다. 이러한 어프로치는 하나의 호트 테셀레이션 리스트로부터 도프된 자식으로 전달되는 몇몇의 추가 로컬 정보를 추가로 필요로 한다.
단계(2808)에 도시된 바와 같이, 이러한 프로세스는 라우팅 트리 상에서 서포트가능한 트래픽을 최대화하기 위해 주파수(frequency)와 타임 슬롯을 할당하는 단계를 포함할 수 있다. 이러한 단계는 주파수 시간 할당을 포함한다.
이는 구속 생성(constraint generation)에 따라 개시될 수 있다. 2가지의 구속 매트릭스는 링크에 대해 생성될 수 있다. 제 1 구속 메트릭스(constraint matrix)는 주파수 할당과 독립적일 수 있으며, 하기의 룰(a 및 b)만을 이용할 수 있다. 제 2 매트릭스는 하기의 모든 룰을 이용할 수 있다(및 주파수 및 특정 슬롯 상의 링크에 대한 스케줄링 구속을 생성하기 위해 이용될 수 있다). 이러한 룰은 슬롯 베이시스 및 퍼 프리컨시(per frequency)에 적용될 수 있다.
a. 각각의 링크는 전송이 필요할 수 있다. 수신과 같이 이러한 노드를 이용하는 모든 링크는 이러한 주파수/슬롯에 대한 장래의 고려 사항에 대해 제거된다.
b. 각각의 링크는 수신이 필요할 수 있다. 전송과 같이 이러한 노드를 이용하는 모든 링크가 제거된다.
c. 전송으로부터의 간섭은 경로 손실 및 필요한 전송 파워에 기초한 고려사항으로부터 그 외의 다른 링크를 무력화시킬 수 있다. 이러한 간섭된 수신 노드의 리스트가 형성될 수 있으며, 수신 노드를 이용하는 모든 링크가 제거될 수 있다.
d. 그 외의 다른 전송이 캔디데이트 수신(candidate receive)과 간섭될 수 있다. 이러한 수신과 간섭될 수 있는 수신을 이용하는 모든 링크가 제거될 수 있다.
e. 캔디데이트 링크 내에서 전송 노드는 또 다른 링크에서 이러한 주파수를 이미 전송하였다며, 이는 고려사항으로부터 제거될 수 있다.
f. 캔디데이트 링크 내의 수신 노드가 동일한 주파수에 따라 또 다른 링크 상에서 이미 사용되었다면, 이는 제거될 수 있다.
실제 통신을 위한 주파수 및 슬롯 할당을 생성하기 위해, 구속 만족 매트릭스(constraint satisfaction matrix)가 예를 들어 경로 손실(path loss), 유클리드 거리, 또는 몇몇의 그 외의 다른 매트릭스를 이용하여 생성될 수 있다. 주파수는 일련의 허용가능한 주파수를 위한 라우팅 트리로부터의 분배식 구속 만족 알고리즘을 이용하여 할당될 수 있다. 모든 링크가 임의의 적합한 그래프 컬러링 기술을 이용하여 "컬러드(colored)"된다면, 자유 주파수(free frequency)가 헤비 로드된 링크(heavily loaded link)(통상적으로 조상 링크)에 할당될 수 있다. 이러한 스케줄은 토폴리지 변경이 라우팅 트리의 재-계산을 필요로 할 때까지 모든 데이터 슬롯에 대해 이용될 수 있다. 모든 링크가 "컬러드"되지 않는다면, 다수의 슬롯 스케줄이 생성될 수 있다. 이전의 단계의 결과치를 이용하여, 새로운 타임 슬롯이 2개의 슬롯 스케줄에 대해 생성될 수 있으며, 주파수는 제 1 슬롯에 할당되지 않은 링크에 할당될 수 있다. 할당이 실패한다면, 이러한 분할은 모든 링크가 할당될 때까지 귀납적으로 반복될 수 있다. 최종 분할에서 이용될 수 있는 임의의 나머지 주파수가 비교적 높은 트래픽 링크에 할당될 수 있다. 이러한 알고리즘을 이용함으로써, 링크의 개수는 논액세스 포인트 노드의 개수와 동일하다. 이는 최소 개수의 필요 링크(적어도 간섭)를 제공하며, 네트워크 용량을 최대화하기 위해 액세스 포인트 노드로부터 데이터가 신속히 전개될 수 있으며(fanning out), 최대의 호프 카우트 가 작게 유지될 수 있다. 이러한 프로세스는 할당되는 주파수 및 타임 슬롯에서 라우팅 트리를 통해 신호를 통신하는 단계를 포함한다.
보다 통상적으로, 다양한 기술이 상기 기술된 예비 단계에 기초하여 시단 및 주파수 할당을 위해 이용될 수 있다. 일 실시예에서, 그래프 컬러링 기술이 이용될 수 있다. 그래프 컬러링 어프로치에서, 그래프는 에지/링크와 연결된 정점(vertex) 또는 노드로 구성된다. 종래의 그래프 컬러링 문제점에 있어서, 컬러로 각각의 정점을 컬러링하는 것이 목적이며, 이에 따라 2개의 연결된 정점(에지/링크에 의해)은 최소 개수의 색상으로 동일한 색상이 제공되지 않는다. 그래프(G)를 컬러링하기 위해 필요한 최소 컬러의 개수가 χ(G)로 나타내진다. 이러한 컬러링 문제점에 대한 최적의 해결방법이 NP hard일지라도(노드의 개수가 지수적), 이러한 문제점은 작은 그래프 크기에 따라 다루기 쉬우며, 최적의 해결 방법은 상당 컬러링(단순한 컬러 치환 및 그 외의 다른 균등 변환)을 배제하는 몇몇의 단순한 제한사항(restriction)과 포괄적인 검색(exhaustive search)에 기초로 할 수 있다. 그래프가 뿌리가 있는 트리인 경우(모든 트리가 액세스 포인트에서 뿌리가 있는 경우와 같이), 포괄적인 검색은 크기가 늘어날 수 있다. 그래프가 최적의 상태로 컬러링하기에 너무 큰 경우(노드의 연산 용량에 기초하여) 탐욕적 알고리즘(greedy algorithm)은 뿌리가 있는 트리에 대한 거의 최적화된 해결방법을 구현하기 위해 이용될 수 있다. 그래프 컬러링 문제점과 계산 방법을 추가로 최적화하기 위한 그 외의 다른 기술이 공지되었으며, 이들 중 다수는 본 명세서에 기술된 방법 및 시스템과 함께 이용되기에 적합할 수 있다.
또 다른 양태에서, 상기 기술된 프로세스(2800)의 다양한 단계는 주파수 및 시간 할당의 보다 집중화되거나 분산된 결정을 구현하기 위해 세분화되거나 또는 변형될 수 있다. 특정의 전개에서 실제로 이용되는 집중화(또는 탈집중화)의 정도는 노드들 간에 데이터를 교환하기 위한 오버헤드의 크기, 이웃들 내의 노드의 개수, 노드의 이웃들에서 변경 속도, 개별 노드의 처리 용량 및 등등과 같은 다양한 요인에 기초할 수 있다.
통상적으로 데이터 수집은 실질적으로 분할된다. 각각의 노드는 이의 이웃으로부터 데이터를 수집하고, 노드에 대해 한정된다. 알고리즘 내에서 이러한 단계를 할당하기 위한 특별한 처리가 필요치 않지만 증가된 오버헤드 통신은 결과 데이터에 기초한 계산을 집중화하기 위해 필요할 수 있다. 구속을 위해, 다수의 분산 구속 만족("DCS") 알고리즘이 이용될 수 있다. 그러나, 주파수 할당의 포괄적 최적화는 O(NΛ2)에 의해 구획되고 이용하기가 단순하기 때문에, 포괄적이 정보는 포괄적인 최적화(global optimization)를 구현하기 위해 리프 노드(leaf node)로 분포될 수 있으며, 통상적으로 최적화(optimization)는 연산 리소스가 통상적으로 큰 액세스 포인트에 평가되는 것이 선호된다. 상기 언급된 그래프 컬러링 어프로치 내에서, 각각의 노드는 그 외의 다른 이웃으로부터의 데이터를 이용하여 좌표 방식으로 이의 이웃들을 컬러링하여야 한다. 이러한 어프로치를 이용하여, 실현가능한 그래프 크기 및 상대적으로 단순한 연산이 이웃들의 크기가 작은 상태로 유지되도록 제공될 수 있으며, 이에 따라 알고리즘은 스케일링된다.
전술한 방법과 시스템은 Mobile Ad Hoc Network 내에서 스케줄링을 향상시키기 위해 유용하게 이용될 수 있다. 특정의 전개 시, 287 노드 및 23 액세스 포인트 노드를 포함한 테스트 데이터 세트에 따라 특정 시 산은 타당하고 최적의 결과치에 접근된다. 로컬 프로세싱이 제한되고, 느리게 증가되며(O(log n), 여기서 n은 로컬 이웃의 개수이고), 글로벌 스케줄링이 적합하다(O(N), 여기서 N은 트리 내의 노드의 전체 개수이다). 통신은 O(NΛ2)이지만 정보는 압축 없이 합당한 라우터 트리 크기에 대해 여전히 적합하다.
각각의 플로우차트에 대해, 도시된 단계는 단지 도시 및 설명의 목적으로 제공되며, 이러한 단계는 변경되거나 생략되거나 또는 재-순서화될 수 있고, 그 외의 다른 단계는 본 발명의 범위로부터 벗어남이 없이 추가될 수 있다. 전술한 도면과 기술 내용이 공개된 시스템의 기능적 특징에 기초할지라도, 이러한 기능적 특징들을 수행하기 위한 소프트웨어 및/또는 하드웨어의 특정의 배열이 본 명세서에서 명확히 언급되거나 달리 언급되지 않는 한 이러한 기술내용으로부터 추론되며, 모든 소프트웨어 및/또는 하드웨어의 배열이 본 발명의 범위 내에 있는 것으로 의도되어진다.
본 명세서에 기술된 방법 또는 프로세스는 해당 단계를 수행하는 컴퓨터 판독가능한 저장 매체 내에 구성된 컴퓨터 프로그램 제품 또는 프로세서, 메모리 및/또는 그 외의 다른 회로를 포함한 장치 또는 상기 기술된 단계를 수행하기 위한 이와 유사한 것으로서 구현될 수 있다. 통상적으로, 컴퓨터 프로그램은 연산 지시 또는 프로그램 지시의 한정된 시퀀스로 구성된다. 프로그램가능한 장치는 컴퓨터 프로그램을 수신가능하고, 이의 연산 지시를 처리함으로써 추가적인 기술적 효과를 생성한다. 연계된 컴퓨터 프로그램 또는 컴퓨터의 타입을 고려하지 않고, 컴퓨터 프로그램이 이의의 그리고 모든 표시된 기능을 수행할 수 있는 특정 머신을 생성하기 위해 컴퓨터에 로딩될 수 있다. 이러한 특정의 머신은 임의의 그리고 모든 표시된 기능을 수행하기 위한 수단을 제공한다.
본 명세서에 기술된 프로세서 또는 프로그램가능한 장치는 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 임베드 마이크로컨트롤러, 프로그램가능한 디지털 시그널 프로세서, 프로그램가능한 장치, 프로그램가능한 게이트 어레이, 프로그램가능한 어레이 로직, 메모리 장치, 특정 집적 회로, 정량 컴퓨팅 장치(quantum computing device), 광학 컴퓨팅 장치 또는 컴퓨터 프로그램 지시를 처리하고 컴퓨터 로직을 실행하며, 컴퓨터 데이터를 저장하고, 및 기타 등등을 위해 적절히 이용하고 구성할 수 있는 이와 유사한 것을 포함할 수 있다. 본 명세서에 기술된 컴퓨터 또는 프로세서는 통상적 용도의 컴퓨터, 특수 용도의 컴퓨터, 프로그램가능한 데이터 처리 장치, 프로세서 및 이들의 임의의 조합을 포함할 수 있다.
하나 이상의 판독가능한 매체의 임의의 조합이 이용될 수 있다. 컴퓨터 판독가능한 매체가 컴퓨터 판독가능한 신호 매체 또는 컴퓨터 판독가능한 저장 매체일 수 있다. 예를 들어, 컴퓨터 판독가능한 저장 매체는 전자적, 자기적, 광학적, 전자기적, 적외선 또는 반도체 시스템, 또는 장치, 또는 이들의 임의의 적합한 조합일 수 있다. 컴퓨터 판독가능한 저장 매체의 보다 구체적인 예는 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 롬(ROM), 삭제가능한 프로그램식 읽기 전용 메모리(EPROM 또는 Flash memory), 휴대용 컴팩트 디스크 읽기 전용 메모리(CD-ROM), 광학 저장 장치, 자성 저장 장치 또는 이들의 임의의 적합한 조합을 포함한다. 본 명세서의 내용에서, 통상적으로 컴퓨터 판독가능한 저장 매체는 명령어 수행 시스템 또는 장치에 의해 또는 조합하여 프로그램을 저장하거나 또는 내포할 수 있는 임의의 유형 매체를 포함할 수 있다.
컴퓨터 판독가능한 신호 매체는 예를 들어 캐리어 웨이브(carrier wave)의 일부로서 또는 베이스밴드(baseband) 내에 구성된 컴퓨터 판독가능한 프로그램 코드와 함께 전파 데이터 신호를 포함할 수 있다. 이러한 전파 신호(propagated signal)는 전자-자기적, 광학적 또는 이들의 임의의 적합한 조합을 포함하는 임의의 다양한 형태를 가질 수 있지만 이에 제한되지 않는다. 컴퓨터 식별가능한 신호 매체는 명령어 실행 시스템 또는 장치에 의해 도는 이와 공동으로 프로그램을 통신하고, 전파하며 또는 운반할 수 있는 컴퓨터 판독가능한 저장 매체가 아닌 임의의 컴퓨터 판독가능한 매체일 수 있다.
컴퓨터 판독가능한 매체에 구성된 프로그램 코드는 와이어리스, 와이어라인, 광학 섬유 케이블, RF, 기타 등등 또는 이들의 임의의 적합한 조합을 포함하는(이에 제한되지 않음) 임의의 적합한 매체를 이용하여 전송될 수 있다.
도면에 대한 블록다이어그램 및 플로우차트에 도시된 요소들은 요소들 간의 논리적 경계를 내포한다. 그러나, 도시된 요소 및 이의 기능들은 일체식 소프트웨어 구조로서, 독립형 소프트웨어 모듈로서, 또는 외부 라우틴, 코드, 서비스, 및 기타 등등을 포함하는 모듈로서 또는 이들의 임의의 조합으로서 이용될 수 있음을 이해할 수 있다. 동시에, 도시된 프로세스의 수행은 하나 이상의 프로세서에서 수행되도록 구성되거나 및/또는 단일 또는 멀티-스레딩될 수 있다.
전술한 내용에서, 블록 다이어그램 및 플로우차트의 요소들은 특정의 기능을 수행하기 위한 수단의 조합, 특정 기능을 수행하기 위한 단계의 조합, 특정 기능을 수행하기 위한 컴퓨터 실행가능한 코드, 및 기타 등등을 뒷받침한다.
컴퓨터 실행가능한 코드는 임의의 프로그램 지기 또는 이와 유사한 것을 포함할 수 있다. 컴퓨터 프로그램 지시를 표현하기 위한 다양한 언어는 C, C++, 자바, 자바스크립트, 어셈블리 언어, Lisp, 및 등등과 같은 구조화된 프로그래밍 언어를 포함하지만 이에 제한되지 않는다. 또한, 이러한 언어는 어셈블리 언어, 하드웨어 디스크립션 언어, 데이터베이스 프로그래밍 언어, 기능적 프로그래밍 언어, 객체 지향 프로그래밍 언어, 스크립팅 언어, 하이-레벨 언어, 로우-레벨 언어, 및 기타 등등을 포함할 수 있다. 몇몇 실시예에서, 컴퓨터 프로그램 지시가 저장되거나 또는 축적되거나 또는 컴퓨터, 프로그램가능한 데이터 처리 장치, 프로세서의 이질적이 조합 또는 프로세서 아키텍처, 및 기타 등등에서 구동되도록 해석될 수 있다. 제한 없이, 본 발명의 실시예는, 클라이언트/서버 소프트웨어, 서비스로서의 소프트웨어(software-as-a-service), P2P 소프트웨어, 또는 기타 등등을 포함하는, 웹-기반 컴퓨터 소프트웨어의 형태를 가질 수 있다.
기술 내용에 명확히 언급되거나 또는 달리 언급되지 않는 한, 용어 "실행" 및 "프로세스"는 실행, 프로세스, 번역, 어셈블, 컴파일, 링크, 로드, 및 등등 또는 임의의 적합한 조합을 나타내는 것으로 상호 호환적으로 이용된다. 따라서, 컴퓨터 프로그램 지시, 컴퓨터-실행가능한 코드 또는 이와 유사한 것을 실행하거나 또는 처리하는 실시예는 지시 또는 코드 시 기술된 임의의 방식 또는 모든 방식에 따라 적절히 구현될 수 있다.
본 발명은 선호되는 실시예에 따라 구체적으로 기술되고 도시될지라도, 이의 다양한 수정 및 개선이 종래 기술의 당업자에게 자명할 것이다. 따라서, 본 발명의 범위는 전술한 실시예에의해 한정되는 것이 아니라 법에 의해 허용된 가장 넓은 범위로 이해되어야 한다.
100...MANET
120....접근 포인트
130....백홀 접근 포인트
150....코어 네트워크
170.....고정 장치

Claims (124)

  1. 무선 애드혹 네트워크내에서 무선 통신을 위한 방법은,
    복수 개의 트래픽 형태들 각각에 대한 다변량 루트 비용계산을 위해 기준 및 가중치들을 확인하는 단계,
    백홀 접속 점 라우팅 도메인(backhaul access point domail)내에서 각 목적지에 대한 가능한 루트들을 확인하는 단계,
    복수 개의 트래픽 형태들 각각에 대한 백홀 접속 점 라우팅 도메인내에서 각 목적지에 대하여 최저 비용 루트를 결정하기 위해 가능한 다변량 루트 비용계산을 적용하여 라우팅 데이터를 제공하는 단계,
    트래픽형태와 목적지에 의해 접속될 수 있는 라우팅 매트릭스(routing matrix)내에서 라우팅 데이터를 저장하는 단계,
    트랜스미트 큐(transmit queue)내에서 데이터를 위한 트랜스미트 목적지 및 트랜스미트 트래픽 형태(transmit traffic type)를 확인하는 단계
    라우팅 매트릭스내에서 트랜스미트 트랙픽 형태를 위한 트랜스미트 목적지에 대한 최저비용 루트를 대조하는 단계,
    최저비용에 따라 트랜스미트 목적지에 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신을 위한 방법.
  2. 제 1 항에 있어서, 범위결정된(scoped) 링크 상태 라우팅 알고리듬을 이용하여 라우팅 매트릭스를 업데이팅하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신을 위한 방법.
  3. 제 1 항에 있어서, 복수 개의 트래픽형태들은, 인터넷 프로토콜에 대한 보이스(Voice over Internet Protocol)을 포함하고, 트랜스미트 목적지에 대해 다수의 홉(hop)들을 최소화하기 위해 다변량 루트 비용계산을 위한 가중치(weighting)들이 선택하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신을 위한 방법.
  4. 제 1 항에 있어서, 상기 복수 개의 트래픽형태들은 한 개이상의 서비스 품질 레벨들을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신을 위한 방법.
  5. 제 1 항에 있어서, 상기 복수 개의 트래픽 형태들은 한 개이상의 우선순위 레벨을 포함한다. 하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신을 위한 방법.
  6. 제 1 항에 있어서, 상기 복수 개의 트래픽형태들은 한 개이상의 호스트 트래픽(host traffic), 보이스 데이터, 오디오 다운로드 데이터, 스트림밍 비디오 및 바이네리(binary) 정보를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신을 위한 방법.
  7. 제 1 항에 있어서, 상기 기준은 한 개이상의 파워 레벨, 링크 품질, 노드 밴드폭(bandwidth) 및 다수의 홉(hop)들을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신을 위한 방법.
  8. 제 1 항에 있어서, 상기 기준은 노드, 노드의 모빌러티(mobility), CPU 처리 요건들, 구성요건들, 특정 노드들에서 정체(congestion), 적응 데이터 속도(Adaptive data rate: ADR) 정보에 의해 파워이용 군으로부터 선택된 한 개이상의 아이템을 포함 하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신을 위한 방법.
  9. 제 1 항에 있어서, 한 개이상의 기준을 위한 가중치는 사용자에 의해 선택되는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신을 위한 방법.
  10. 제 1 항에 있어서, 트랜스미트 목적지는 백홀접속 점 라우팅 도메인외부의 목적지를 위한 백홀 접속점을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신을 위한 방법.
  11. 무선 애드혹 네트워크내부의 노드에 있어서,
    데이터 소스,
    무선 애드혹 네트워크내부에서 작동하기 위한 라디오(radio),
    라우팅 정보를 저장하기 위한 메모리, 및
    복수 개의 트래픽 형태 각각을 위한 다변량 루트 비용계산을 위한 기준과 가중치들을 확인하고, 백홀 접속점 라우팅 도메인내에서 각 목적지에 대한 가능한 루트를 확인하며, 최저비용 루트를 계산하기 위한 다변량 루트 비용계산을 복수 개의 트래픽형태 각각을 위한 백홀 접속점 라우팅 도메인내부의 각 목적지에 대해 적용하여 라우팅 데이터를 제공하고, 트래픽형태와 목적지에 의해 접속될 수 있는 라우팅 매트릭스내에 라우팅 데이터를 저장하며, 트랜스미트 큐내에서 데이터를 위한 트랜스미트 목적지와 트랜스미트 트래픽 형태를 확인하고, 라우팅 매트릭스내에서 트랜스미트 트래픽형태를 위한 트랜스미트 목적지에 대한 최저 비용 루트를 대조하며, 최저비용 루트에 따라 트랜스미트 목적지로 데이터를 전속하기 위해 프로그램된 프로세서를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  12. 제 11 항에 있어서, 상기 프로세서는, 범위결정된(scoped) 링크 상태 라우팅 알고리듬을 이용하여 라우팅 매트릭스를 업데이팅하도록 추가로 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  13. 제 11 항에 있어서, 복수 개의 트래픽형태들은, 인터넷 프로토콜에 대한 보이스(Voice over Internet Protocol)을 포함하고, 트랜스미트 목적지에 대해 다수의 홉(hop)들을 최소화하기 위해 다변량 루트 비용계산을 위한 가중치(weighting)들이 선택하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  14. 제 11 항에 있어서, 상기 복수 개의 트래픽형태들은 한 개이상의 서비스 품질 레벨들을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  15. 제 11 항에 있어서, 상기 복수 개의 트래픽 형태들은 한 개이상의 우선순위 레벨을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  16. 제 11 항에 있어서, 상기 복수 개의 트래픽형태들은 한 개이상의 호스트 트래픽(host traffic), 보이스 데이터, 오디오 다운로드 데이터, 스트림밍 비디오 및 바이네리(binary) 정보를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  17. 제 11 항에 있어서, 상기 기준은 한 개이상의 파워 레벨, 링크 품질, 노드 밴드폭(bandwidth) 및 다수의 홉(hop)들을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  18. 제 11 항에 있어서, 상기 기준은 노드, 노드의 모빌러티(mobility), CPU 처리 요건들, 구성요건들, 특정 노드들에서 정체(congestion), 적응 데이터 속도(Adaptive data rate: ADR) 정보에 의해 파워이용 군으로부터 선택된 한 개이상의 아이템을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  19. 제 11 항에 있어서, 한 개이상의 기준을 위한 가중치는 사용자에 의해 선택되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  20. 제 11 항에 있어서, 트랜스미트 목적지는 백홀접속 점 라우팅 도메인외부의 목적지를 위한 백홀 접속점을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  21. 무선 다중 캐스트 통신을 위한 방법에 있어서,
    다중 캐스트 트래픽을 위한 수용 노드로서 무선 애드혹 네트워크내에 다중 캐스트 그룹을 연결하고,
    상기 수용노드로부터 조인 리퀘스트 패킷(Join Request Packet:JRP)으로 다중 캐스트 그룹을 플러딩(flooding)화하며,
    상기 JRP를 수용하는 다중 캐스트 그룹내에서 전송 노드(sending node)로부터 조인 테이블 패킷(Join Table Packet:JTP)을 수용하고 상기 JTP는 JRP에 의해 전송노드까지 형성되는 경로를 따라 수용노드까지 귀환하며 상기 JTP는 상기 경로를 따라 각 노드에 대한 서로 다른 데이터 속도를 가지는 한 개이상의 큐들을 확인하고, 상기 JTP를 기초하는 다중 캐스트 그룹내에서 다중 캐스트 트래픽을 전달하기 위한 다중 캐스트 트리(multicast tree)를 구성하며,
    상기 다중 캐스트 트리를 따라 다중 캐스트 메세지를 수용하고 상기 다중 캐스트 메세지는 상기 다중 캐스트 그룹내에서 각 노드를 위한 한 개이상의 모드 큐(mode queues)들 중에 구해질 수 있는 최고 모드 큐를 이용하여 수용노드에 의해 수용하는 것을 특징으로 하는 무선 다중 캐스트 통신을 위한 방법.
  22. 제 21 항에 있어서, 추가로 복수개의 전송 노드들로부터 복수 개의 JTP들을 수용하고, 복수 개의 JTP 들을 기초한 다중 캐스트 트리를 구성하는 것을 특징으로 하는 무선 다중 캐스트 통신을 위한 방법.
  23. 제 21 항에 있어서, 최고모드의 구해진 큐는, 다중 캐스트그룹내에서 구해지는 가장 흔한 최고 모드 큐인 것을 특징으로 하는 무선 다중 캐스트 통신을 위한 방법.
  24. 제 21 항에 있어서, 상기 다중 캐스트 메세지는 서비스 품질에 따라 우선순위가 주어지는 것을 특징으로 하는 무선 다중 캐스트 통신을 위한 방법.
  25. 제 24 항에 있어서, 상기 서비스품질은, 모든 한 개이상의 모드큐들에 걸쳐 우선순위 결정 데이터를 위한 최고 서비스품질을 포함하는 것을 특징으로 하는 무선 다중 캐스트 통신을 위한 방법.
  26. 제 24 항에 있어서, 상기 서비스품질은, 한 개이상의 모드 큐들로부터 다음 서비스품질 데이터가 전송되기 전에 상기 모든 데이터가 모든 한 개이상의 모드 큐로부터 전송되는 최고 서비스품질을 포함하는 것을 특징으로 하는 무선 다중 캐스트 통신을 위한 방법.
  27. 제 21 항에 있어서, 제 2 수용노드로부터 다중 캐스트 그룹을 연결시키고 제 2 수용 노드로부터 JRP를 가지고 다중 캐스트 그룹를 프러딩화하는 것을 포함하는 것을 특징으로 하는 무선 다중 캐스트 통신을 위한 방법.
  28. 제 21 항에 있어서, 추가로 다중 캐스트 그룹을 업데이트하는 것을 포함하는 것을 특징으로 하는 무선 다중 캐스트 통신을 위한 방법.
  29. 제 28 항에 있어서, 다중 캐스트 그룹을 업데이트하는 작업은, 링크 품질에 관한 다중 캐스트 그룹내부의 정보를 교환하는 것을 포함하는 것을 특징으로 하는 무선 다중 캐스트 통신을 위한 방법.
  30. 제 21 항에 있어서, 전송되는 다중 캐스트 트래픽은, 구해진 최고모드 큐로부터 전송모드와 수용모드사이에서 적어도 한 개의 중간 노드내에서 더 낮은 모드 큐로 복사되는 것을 특징으로 하는 무선 다중 캐스트 통신을 위한 방법.
  31. 무선 애드혹 네트워크내부의 노드에 있어서,
    무선 애드혹 네트워크내에서 작동하기 위한 라디오,
    메모리,
    다중 캐스트 트래픽을 위한 수용노드로서 무선 애드혹 네트워크냉내에서 다중 캐스트 그룹을 연결하기 위한 라디오를 작동시키고 수용노드로부터 Join Request Packet(JRP)로 다중 캐스트 그룹을 플러딩화하며 JRP를 수용하는 다중 캐스트 그룹내에서 전송 노드로부터 Join Table Packet (JTP)를 수용하며, 상기 JTP가 상기 JRP에 의해 상기 전송노드까지 형성된 경로를 따라 수용노드로 귀환하고, 상기 JTP가 상기 경로를 따라 각 노드를 위한 서로 다른 데이터 속도를 가진 한 개이상의 모드 큐들을 확인하며, 상기 JTP에 기초한 다중 캐스트 그룹내에서 다중 트래픽 을 전송하기 위한 다중 캐스트 트리를 구성하고 상기 메모리내에 다중 캐스트 트리를 저장하고, 상기 다중 캐스트 트리에 따라 다중 캐스트 메세지를 수용하고, 상기 다중 캐스트 메세지는 다중 캐스트 그룹내에서 각 노드를 위한 한 개이상의 모드 큐들중에서 구해진 최고모드 큐를 이용하여 수용노드에 의해 수용되도록 프로그램되는 프로세서를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  32. 제 31 항에 있어서, 상기 프로세서가 추가로, 추가로 복수개의 전송 노드들로부터 복수 개의 JTP들을 수용하고, 복수 개의 JTP 들을 기초한 다중 캐스트 트리를 구성하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  33. 제 31 항에 있어서, 상기 최고모드의 구해진 큐는, 다중 캐스트그룹내에서 구해지는 가장 흔한 최고 모드 큐인 하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  34. 제 31 항에 있어서, 상기 다중 캐스트 메세지는 서비스 품질에 따라 우선순위가 주어지는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  35. 제 34 항에 있어서, 상기 서비스품질은, 모든 한 개이상의 모드큐들에 걸쳐 우선순위 결정 데이터를 위한 최고 서비스품질을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  36. 제 34 항에 있어서, 상기 서비스품질은, 한 개이상의 모드 큐들로부터 다음 서비스품질 데이터가 전송되기 전에 상기 모든 데이터가 모든 한 개이상의 모드 큐로부터 전송되는 최고 서비스품질을 포함하는 하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  37. 제 31 항에 있어서, 상기 제 2 수용노드로부터 다중 캐스트 그룹을 연결시키고 제 2 수용 노드로부터 JRP를 가지고 다중 캐스트 그룹를 프러딩화하는 것을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  38. 제 31 항에 있어서, 상기 프로세서는 추가로 다중 캐스트 그룹을 업데이트하는 것을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  39. 제 38 항에 있어서, 상기 프로세서는 추가로, 다중 캐스트 그룹을 업데이트하는 작업은, 링크 품질에 관한 다중 캐스트 그룹내부의 정보를 교환하는 것을 기초하여 다중캐스트 그룹을 업데이트하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  40. 제 31 항에 있어서, 전송되는 다중 캐스트 트래픽은, 구해진 최고모드 큐로부터 전송모드와 수용모드사이에서 적어도 한 개의 중간 노드내에서 더 낮은 모드 큐로 복사되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  41. 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법에 있어서,
    무선 애드혹 네트워크내에서 한 개의 노드에 대한 한 개이상의 근접한 노드들을 검색하는 단계,
    한 개이상의 근접한 노드들에 관한 정보를 구하는 단계,
    노드에 관한 근접 테이블내에 정보를 저장하고 백홀 접속 점에 대해 한 개이상의 근접 노드들 중 어느 것이 저비용 루트를 가지는 지를 결정하는 단계,
    노드로부터 백홀 접속점까지 디폴트(default) 루트로서 한 개이상의 근접 노드들로부터 저비용 루트를 선택하는 단계,
    상기 디폴트 루트에 따라 백홀 접속점에 대해 통신을 위한 한 개이상의 근접 노드들중 한 개에 대해 데이터를 전송하는 단계들을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법.
  42. 제 41 항에 있어서, 노드로부터 백홀 접속점까지 최저비용 루트를 결정하기위한 루트비용분석을 수행하고 상기 디폴트루트를 상기 노드로부터 상기 백홀 접속점까지 저비용 루트로 교체하는 단계를 추가로 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법.
  43. 제 41 항에 있어서, 상기 디폴트 루트상에서 노드로부터 단일 캐스트(unicast) 루트를 전송하는 단계를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법.
  44. 제 43 항에 있어서, 상기 디폴트 루트의 일부분인 한 개이상의 근접 노드들 중 한 개에서 디폴트 루트를 따라 반대 루트 테이블을 형성하는 단계를 추가로 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법.
  45. 제 44 항에 있어서, 백홀 접속점으로부터 루트 업데이트를 발생시키는 단계를 추가로 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법.
  46. 제 45 항에 있어서,
    백홀 접속점으로부터 노드까지 루트 리퀘스트 확인을 추가로 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법.
  47. 제 41 항에 있어서, 상기 디폴트 루트는 한 개이상의 근접 노드들로부터 저비용루트와 다른 루트로 수정하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법.
  48. 제 47 항에 있어서, 상기 루트 리퀘스트 확인은 백홀 접속점으로 부터 수용되는 것이 아니기 때문에, 상기 디폴트루트는 수정될 수 있고, 다른 루트는 한 개싱의 근접노드들로부터 다음(next) 저비용 루트인 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법.
  49. 제 41 항에 있어서, 상기 검색은 노드에 파워가 제공될 때 일어나는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법.
  50. 제 41 항에 있어서, 상기 노드가 이동(mobile)할 때 상기 발견이 일어날 수 있고 상기 노드가 한 개이상의 새로운 근접 노드들을 가지는 위치들을 이동하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선 통신 및 라우팅을 위한 방법.
  51. 무선 애드혹 네트워크내부의 노드에 있어서,
    무선 애드혹 네트워크내부에서 작동하는 라디오,
    메모리,
    라디오를 가진 상기 무선 애드혹 네트워크내부에서 상기 노드에 대한 한 개이상의 근접노드들을 발견하고, 라디오를 가진 한 개이상의 근접노드들에 관한 정보를 구하며 노드를 위한 근접 테이블로서 상기 메모리내에 상기 정보를 저장하고 한 개이상의 근접노드들 중 백홀 접속점에 대해 저비용 루트를 가지는 노드를 결정하고, 디폴트루트로서 노드로부터 백홀접속점까지 저비용 루트를 선택하며, 디폴트경로에 따라 백홀접속점까지 통신을 위해 한 개이상의 근접노드들 중 한 개에 대해 라디오를 가진 데이터를 전송하도록 프로그램된 프로세서를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  52. 제 51 항에 있어서, 상기 프로세서는 추가로, 상기 노드로부터 상기 백홀접속점까지 저비용 루트를 결정하고 상기 디폴트 루트를 노드로부터 백홀접속점까지 저비용 루트로 교체하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  53. 제 51 항에 있어서, 상기 프로세서는 추가로, 상기 디폴트 루트상의 상기 노드로부터 단일 캐스트 루트 리퀘스트를 전송하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  54. 제 53 항에 있어서, 상기 프로세서는 추가로, 상기 디폴트루트의 일부분인 한 개이상의 근접노드들 중 한 개에서 디폴트 루트를 따라 반대 루트 테이블을 형성하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  55. 제 54 항에 있어서, 상기 프로세서는 추가로, 상기 백홀 접속점으로부터 루트업데이트를 발생시키도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  56. 제 55 항에 있어서, 상기 프로세서는 추가로 상기 백홀접속점으로부터 상기 노드까지 루트 리퀘스트 확인을 전송하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  57. 제 51 항에 있어서, 상기 디폴트루트는 한 개이상의 근접노드들로부터 최저비용 루트와 다른 루트로 수정되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  58. 제 57 항에 있어서, 상기 디폴트루트는, 루트 리퀘스트 확인이 상기 백홀(backhaul) 접속점으로부터 수용되지 못하기 때문에 수정되고 상기 다른 루트는 한 개이상의 근접루트로부터 다음 최저비용 루트인 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  59. 제 51 항에 있어서, 상기 프로세서는 추가로, 상기 노드에 출력이 제공될 때 한 개이상의 근접노드들을 발견하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  60. 제 51 항에 있어서, 상기 프로세서는 추가로, 상기 노드가 이동할 때 한 개이상의 근접노드들을 발견하고 상기 노드가 한 개이상의 새로운 근접노드들을 가지는 위치들을 이동시키도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  61. 무선 통신을 위한 방법에 있어서,
    노드(node) 및 무선 애드혹 네트워크(ad hoc network)의 근접영역내에서 한 개이상의 근접노드들사이에서 동기화 타이밍(synchrozizing timing)을 형성하는 단계,
    상기 노드 및 적어도 한 개의 상기 근접노드들사이에 링크 품질을 결정하는 단계,
    상기 노드를 위한 근접 테이블(neighbor table)내에 링크 품질(link quality)을 저장하는 단계,
    상기 노드에 의해 통신을 위한 시간 슬롯들을 확인하며, 상기 시간슬롯들은 제어슬롯들 및 데이터슬롯들을 포함하고, 상기 제어슬롯들은 또한 상기 근접영역내에서 미리 정해진 베이시스(basis)상에 접속이 예정된 예정 제어슬롯과 콘텐션 베이시스(contention basis)에 임의로 접근할 수 있는 네트워크 엔트리 슬롯(network entry slot)들을 포함하는 단계,
    상기 네트워크 엔트리 슬롯들 중 한 개를 이용하여 한 개이상의 근접노드들에 대해 네트워크 엔트리 정보를 전송하고, 상기 네트워크 엔트리 정보는 상기 노드를 위한 노드 엔티티(node entity)와 링크품질을 포함하는 단계,
    상기 노드에 할당된 예정 제어슬롯들 중 한 개를 이용하여 근접정보를 전송하고, 상기 근접정보가 한 개이상의 근접노드들에서 근접테이블을 업데이트하기 위한 데이터를 포함하는 단계를 포함하는 것을 특징으로 하는 무선 통신을 위한 방법.
  62. 제 61 항에 있어서, 상기 동기화타이밍을 형성하는 단계는, 무선애드혹 네트워크외부로 부터 구해지는 것을 특징으로 하는 무선 통신을 위한 방법.
  63. 제 62 항에 있어서, 상기 동기화타이밍을 형성하는 단계는, 한 개이상의 GPS 위성들로부터 타이밍을 구하는 것을 포함하는 것을 특징으로 하는 무선 통신을 위한 방법.
  64. 제 61 항에 있어서, 상기 동기화타이밍을 형성하는 단계는, 동기화타이밍 오실레이터들에 대해 상기 노드와 한 개이상의 근접노드들사이의 타이밍정보를 교환하는 것을 포함하는 것을 특징으로 하는 무선 통신을 위한 방법.
  65. 제 61 항에 있어서, 추가로 네트워크 엔트리정보를 전송할 때 충돌을 감지하는 것을 특징으로 하는 무선 통신을 위한 방법.
  66. 제 65 항에 있어서, 네트워크 엔트리슬롯들 중 한 개내에서 네트워크 엔트리정보를 재전송하기 전에 임의 백오프(backoff)를 카운트다운하는 것을 추가로 포함하는 것을 특징으로 하는 무선 통신을 위한 방법.
  67. 제 66 항에 있어서, 근접영역내부의 다수의 노드들을 기초하여 임의 백오프 카운터를 설정하는 것을 추가로 포함하는 것을 특징으로 하는 무선 통신을 위한 방법.
  68. 제 61 항에 있어서, 예정제어 슬롯들 중 한 개내부로 데이터 슬롯들 중 한개를 동적변환하는 것을 추가로 포함하는 것을 특징으로 하는 무선 통신을 위한 방법.
  69. 제 68 항에 있어서, 데이터 슬롯들 중 한 개를 상기 노드가 상기 예정 제어슬롯들 중 한 개에 전송된 이후에 통과한 시간슬롯들의 개수에 대해 임계값이 초과될 때 예정제어슬롯들 중 한 개로 동적변환하는 것을 추가로 포함하는 것을 특징으로 하는 무선 통신을 위한 방법.
  70. 제 61 항에 있어서, 예정제어슬롯들 중 한 개를 데이터슬롯들 중 한 개로 동적변환하는 것을 추가로 포함하는 것을 특징으로 하는 무선 통신을 위한 방법.
  71. 무선 애드혹 네트워크내부의 노드에 있어서,
    상기 무선 애드혹 네트워크내에서 작동하기 위한 라디오,
    메모리 및,
    노드(node) 및 무선 애드혹 네트워크(ad hoc network)의 근접영역내에서 한 개이상의 근접노드들사이에서 동기화 타이밍(synchrozizing timing)을 형성하고, 상기 노드 및 적어도 한 개의 상기 근접노드들사이에 링크 품질을 결정하며, 상기 노드를 위한 근접 테이블(neighbor table)내에 링크 품질(link quality)을 저장하고, 상기 노드에 의해 통신을 위한 시간 슬롯들을 확인하며, 상기 시간슬롯들은 제어슬롯들 및 데이터슬롯들을 포함하고, 상기 제어슬롯들은 또한 상기 근접영역내에서 미리 정해진 베이시스(basis)상에 접속이 예정된 예정 제어슬롯과 콘텐션 베이시스(contention basis)에 임의로 접근할 수 있는 네트워크 엔트리 슬롯(network entry slot)들을 포함하며, 상기 네트워크 엔트리 슬롯들 중 한 개를 이용하여 한 개이상의 근접노드들에 대해 라디오를 가진 네트워크 엔트리 정보를 전송하고, 상기 네트워크 엔트리 정보는 상기 노드를 위한 노드 엔티티(node entity)와 링크품질을 포함하며, 상기 노드에 할당된 예정 제어슬롯들 중 한 개를 이용하여 라디오를 가진 근접정보를 전송하고, 상기 근접정보가 한 개이상의 근접노드들에서 근접테이블을 업데이트하기 위한 데이터를 포함하도록 프로그램된 프로세서를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  72. 제 71 항에 있어서, 상기 프로세서는, 무선애드혹 네트워크외부로 부터 타이밍을 구하여 동기화타이밍을 형성하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  73. 제 72 항에 있어서,
    상기 프로세서는, 한 개이상의 GPS 위성들로부터 타이밍을 구하여 동기화타이밍을 형성하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  74. 제 71 항에 있어서, 상기 프로세서는, 동기화타이밍 오실레이터들에 대해 상기 노드와 한 개이상의 근접노드들사이의 타이밍정보를 교환하여 동기화타이밍을 형성하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  75. 제 71 항에 있어서, 상기 프로세서는, 네트워크 엔트리정보를 전송할 때 충돌을 감지하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  76. 제 75 항에 있어서, 상기 프로세서는, 네트워크 엔트리슬로들 중 한 개내에서 네트워크 엔트리정보를 재전송하기 전에 임의 백오프(backoff)를 카운트다운하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  77. 제 76 항에 있어서, 상기 프로세서는, 근접영역내부의 다수의 노드들을 기초하여 임의 백오프 카운터를 설정하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  78. 제 71 항에 있어서, 상기 프로세서는, 예정제어 슬롯들 중 한 개내부로 데이터 슬롯들 중 한개를 동적변환하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  79. 제 78 항에 있어서, 상기 프로세서는, 데이터 슬롯들 중 한 개를 상기 노드가 상기 예정 제어슬롯들 중 한 개에 전송된 이후에 통과한 시간슬롯들의 개수에 대해 임계값이 초과될 때 예정제어슬롯들 중 한 개로 동적변환시키도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  80. 제 71 항에 있어서, 상기 프로세서는, 예정제어슬롯들 중 한 개를 데이터슬롯들 중 한 개로 동적변환시키는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  81. 무선 네트워크내부의 노드를 작동시키기 위한 방법에 있어서,
    노드와 한 개이상의 근접노드들을 포함한 근접영역내에서 복수 개의 노드들을 확인하는 단계,
    상기 노드에 관한 트래픽 정체(traffic congestion)를 표시하는 근접노드 스코어 및 상기 노드에 관한 접속요건을 표시하는 노드 가중치를 수용하는 단계,
    상기 근접영역내에서 통신을 위한 시간슬롯을 확인하는 단계,
    상기 노드를 위한 상기 노드 가중치가 노드가중치 요건을 충족하지 못할 때, 노드에 의해 시간슬롯에 대한 접근을 제한하는 단계,
    노드가 노드 가중치 요건을 충족하는 노드 가중치를 가질 때, 상기 노드가 시간슬롯에 접근할 수 있는 지를 결정하기 위해 상기 노드 스코어와 노드 가중치를 기초한 스케줄 알고리듬을 적용하는 단계,
    상기 노드가 상기 시간 슬롯에 대한 접근이 예정될 때 상기 시간슬롯내에서 상기 노드로부터 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  82. 제 81 항에 있어서, 상기 노드가중치요건은, 노드가중치에 관한 최소임계치 또는 노드가중치에 관한 최대임계치를 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  83. 제 81 항에 있어서, 상기 노드가중치요건은, 노드가중치에 관한 인크루시브(inclusive)임계치 또는 노드가중치에 관한 익스크루시브(exclusive)임계치를 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  84. 제 81 항에 있어서, 알고리듬의 스케줄링은, 한 개이상의 근접노드들을 위한 근접노드 가중치 및 한 개이상의 근접노드들을 위한 근접노드 스코어에 기초하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  85. 제 81 항에 있어서, 알고리듬의 스케줄링은, 근접영역내에서 복수 개의 노드들 사이에 교환되고 메모리의 근접테이블내에 저장되는 근접데이터에 기초하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  86. 제 81 항에 있어서, 추가로 노드 가중치요건을 충족하지 못하는 근접노드 가중치를 가진 각각의 근접노드들에 의해 시간슬롯으로 접근을 제한하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  87. 제 81 항에 있어서, 접근을 제하는 단계는, 상기 노드가 시간슬롯으로 접근을 위한 알고리듬 스케줄링에 참여하는 것을 억제하는 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  88. 제 81 항에 있어서, 상기 근접영역은, 상기 노드를 위한 두 개의 홉(hop) 근접영역을 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  89. 제 81 항에 있어서, 추가로, 특정 노드가중치를 가진 근접영역내에서 복수 개의 노드들 각각을 위한 난수(ramdom number)를 발생시키고 또한 상기 난수에 기초한 시간슬롯에 접근을 제한하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  90. 제 81 항에 있어서, 상기 노드 가중치는, 파워레벨, 지정학적 위치, 모빌리티(mobility), 노드 형태, 및 작동주파수 중 한 개이상에 기초하여 계산되는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  91. 무선 애드혹 네트워크내부의 노드에 있어서,
    데이터소스,
    상기 무선 애드혹 네트워크내에서 작동하기 위한 라디오,
    메모리 및
    노드와 한 개이상의 근접노드들을 포함한 근접영역내에서 복수 개의 노드들을 확인하고, 상기 노드에 관한 트래픽 정체(traffic congestion)를 표시하는 노드 스코어 및 상기 노드에 관한 접속요건을 표시하는 노드 가중치를 계산하며, 상기 트레픽정체를 표시하는 근접노드 스코어 및 상기 한 개이상의 근접 노드들 각각으로부터 접속요건을 표시하는 노드 가중치를 메모리내에 수용하고 저장하며, 상기 근접영역내에서 통신을 위한 시간슬롯을 확인하고, 상기 노드를 위한 상기 노드 가중치가 노드가중치 요건을 충족하지 못할 때 노드에 의해 시간슬롯에 대한 접근을 제한하고, 노드가 노드 가중치 요건을 충족하는 노드 가중치를 가질 때, 상기 노드가 시간슬롯에 접근할 수 있는 지를 결정하기 위해 상기 노드 스코어와 노드 가중치를 기초한 스케줄 알고리듬을 적용하며, 상기 시간 슬롯이 노드를 위해 예정될 때 라디오를 가진 데이터 소스로부터 상기 시간슬롯내부에 데이터를 전송하도록 프로그램되는 프로세서를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  92. 제 91 항에 있어서, 상기 노드가중치요건은, 노드가중치에 관한 최소임계치 또는 노드가중치에 관한 최대임계치를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  93. 제 91 항에 있어서, 상기 노드가중치요건은, 노드가중치에 관한 인크루시브(inclusive)임계치 또는 노드가중치에 관한 익스크루시브(exclusive)임계치를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  94. 제 91 항에 있어서, 알고리듬의 스케줄링은, 한 개이상의 근접노드들을 위한 근접노드 가중치 및 한 개이상의 근접노드들을 위한 근접노드 스코어에 기초하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  95. 제 91 항에 있어서, 알고리듬의 스케줄링은, 근접영역내에서 복수 개의 노드들 사이에 교환되고 메모리의 근접테이블내에 저장되는 근접데이터에 기초하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  96. 제 91 항에 있어서, 노드 가중치요건을 충족하지 못하는 근접노드 가중치를 가진 각각의 근접노드들에 의해 시간슬롯으로 접근을 제한하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  97. 제 91 항에 있어서, 상기 프로세서는, 상기 노드가 시간슬롯으로 접근을 위한 알고리듬 스케줄링에 참여하는 것을 억제하여 접근을 제한하도록 프로그램되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  98. 제 91 항에 있어서, 상기 근접영역은, 상기 노드를 위한 두 개의 홉(hop) 근접영역을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  99. 제 91 항에 있어서, 상기 프로세서는, 특정 노드가중치를 가진 근접영역내에서 복수 개의 노드들 각각을 위한 난수(ramdom number)를 발생시키고 또한 상기 난수에 기초한 시간슬롯에 접근을 제한하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  100. 제 91 항에 있어서, 상기 노드 가중치는, 파워레벨, 지정학적 위치, 모빌리티(mobility), 노드형태, 및 작동주파수 중 한 개이상에 기초하여 계산되는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  101. 무선 네트워크내에서 노드를 작동시키기 위한 방법에 있어서,
    노드와 한 개이상의 근접노드들을 포함한 근접영역내에서 복수 개의 노드들을 확인하는 단계,
    상기 노드에 관한 트래픽 정체(traffic congestion)를 표시하는 근접노드 스코어 및 상기 노드에 관한 접속요건을 표시하는 노드 가중치를 수용하는 단계,
    상기 노드로부터 전달되는 데이터를 위해 서비스 품질(QoS)를 결정하는 단계,
    근접영역내에서 각 노드를 위해 QoS 노드 가중치를 제공하기 위해 QoS 요건을 기초한 각 근접 노드를 위한 근접노드 가중치 및 상기 노드를 위한 노드 가중치를 스큐잉(skewing)하는 단계,
    상기 근접영역내에서 통신을 위한 시간슬롯을 확인하는 단계,
    상기 노드를 위한 상기 QoS 노드 가중치가 노드가중치 요건을 충족하지 못할 때 노드에 의해 시간슬롯에 대한 접근을 제한하는 단계,
    노드가 노드 가중치 요건을 충족하는 노드 가중치를 가질 때, 상기 노드가 시간슬롯에 접근할 수 있는 지를 결정하기 위해 상기 노드를 위한 QoS 노드 스코어와 노드 가중치를 기초한 스케줄 알고리듬을 적용하는 단계,
    상기 노드가 상기 시간 슬롯에 대한 접근이 예정될 때 상기 시간슬롯내에서 상기 노드로부터 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  102. 제 101 항에 있어서, 사기 스큐잉은 해쉬함수를 이용하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  103. 제 101 항에 있어서, 상기 스큐잉은, QoS 요건을 기초하여 데이터의 우선순위를 결정하는 것을 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  104. 제 101 항에 있어서, 상기 스큐잉은, 상기 근접영역내에서 각 노드에서 트래픽에 관한 QoS 요건에 따르는 스큐잉을 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  105. 제 101 항에 있어서, 상기 노드로부터 전달되는 데이터에 관한 상기 QoS 요건은, 데이터에 관한 복수 개의 QoS 레벨들 중 한 개를 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  106. 제 101 항에 있어서, 데이터에 관한 QoS 요건의 결정은, QoS 정보에 관한 데이터의 헤더(header)의 조사를 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  107. 제 101 항에 있어서, 데이터에 관한 QoS 요건의 결정은, 데이터의 트래픽형태의 결정을 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  108. 제 101 항에 있어서, 알고리듬 스케줄링은, 근접영역내에서 복수 개의 노드들사이에 교체되고 상기 노드의 근접 테이블에 저장된 근접 데이터에 기초하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  109. 제 101 항에 있어서, 접속의 제한은, 상기 노드가 시간슬롯에 대한 접속에 관해 알고리듬을 스케줄링에 참여하는 것을 억제하는 것을 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  110. 제 101 항에 있어서, 근접영역은, 상기 노드를 위한 두 개의 홉 근접영역을 포함하는 것을 특징으로 하는 무선 네트워크내에서 노드를 작동시키기 위한 방법.
  111. 무선 애드혹 네트워크내부의 노드에 있어서,
    데이터소스,
    상기 무선 애드혹 네트워크내에서 작동하기 위한 라디오,
    메모리 및,
    노드와 한 개이상의 근접노드들을 포함한 근접영역내에서 복수 개의 노드들을 확인하는 단계,
    상기 노드에 관한 트래픽 정체(traffic congestion)를 표시하는 노드 스코어 및 상기 노드에 관한 접속요건을 표시하는 노드 가중치를 계산하는 단계,
    상기 한 개이상의 근접 노드들 각각으로부터 상기 트레픽정체를 표시하는 근접노드 스코어 및 상기 한 개이상의 근접 노드들 각각으로부터 접속요건을 표시하는 노드 가중치를 라디오와 함께 수용하는 단계,
    상기 데이터소스로부터 전송되는 데이터에 관한 서비스품질(QoS) 요건을 결정하는 단계,
    메모리내에 저장된 근접영역내에 각각의 노드에 관한 QoS 노드 가중치를 제공하기 위해 QoS요건을 기초한 각각의 근접 노드를 위한 근접노드 가중치 및 노드에 관한 노드 가중치를 스큐잉하는 단계,
    상기 근접영역내에서 통신을 위한 시간슬롯을 확인하는 단계,
    상기 노드를 위한 상기 QoS 노드 가중치가 노드가중치 요건을 충족하지 못할 때 노드에 의해 시간슬롯에 대한 접근을 제한하는 단계,
    노드가 노드 가중치 요건을 충족하는 노드 가중치를 가질 때, 상기 노드가 시간슬롯에 접근할 수 있는 지를 결정하기 위해 상기 노드 스코어와 QoS 노드 가중치를 기초한 스케줄 알고리듬을 적용하는 단계,
    상기 노드가 상기 시간 슬롯에 대한 접근이 예정될 때, 라디오를 가진 데이터 소스로부터 상기 시간슬롯내부에 데이터를 전송하는 단계를 수행하도록 프로그램되는 프로세서를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  112. 제 111 항에 있어서, 스큐잉은 해쉬(hash) 함수의 이용을 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  113. 제 111 항에 있어서, 상기 스큐잉은, QoS 요건에 기초한 데어터의 우선순위를 결정하는 것을 포함하는것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  114. 제 111 항에 있어서, 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  115. 제 111 항에 있어서, 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  116. 제 111 항에 있어서, 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  117. 제 111 항에 있어서, 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  118. 제 111 항에 있어서, 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  119. 제 111 항에 있어서, 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  120. 제 111 항에 있어서, 것을 특징으로 하는 무선 애드혹 네트워크내부의 노드.
  121. 무선 애드혹 네트워크내에서 무선통신을 위한 방법에 있어서,
    무선 애드혹 네트워크내에서 한 개의 노드에 대한 한 개이상의 근접노드들을 발견하고, 한 개이상의 근접노드들이 한 개의 홉(hop) 근접영역내에 위치하는 단계,
    상기 한 개이상의 근접노드들을 위한 근접 테이블을 형성하는 단계,
    상기 한 개이상의 근접노드들로부터 데이터를 수집하고, 상기 데이터가 인터노드(internode) 링크 손실 및 유클리디안 링크거리(Euclidean link distance)를 포함하는 단계,
    상기 노드 및 상기 한 개이상의 근접노드들로부터 노드들의 공통세트(common set)를 확인하고, 각각의 공통 세트는 노드들의 공통세트내에서 서로의 한 개 홉(hop) 근접노드(neighbor)들인 단계,
    근접 테이블내에서 수집된 데이터를 감소시켜서 감소된 근접 테이블이 단지 노드 공통세트에 관한 정보를 포함하는 단계,
    공통세트 노드들사이에 다수의 링크들을 제한하기 위해 근접노드들을 선택하는 단계,
    각 라우팅 트리의 루트(root)에서 접속점을 가진 라우팅 트리를 구성하고 선택된 근접노드들을 통해 루트들에 관한 노드 공통세트로부터 한 개이상의 노드들을 포함하는 단계,
    상기 라우팅 트리를 통해 각각의 공통세트 노드들로부터 최저비용 루트를 결정하는 단계,
    상기 라우팅 트리들상에 지원될 수 있는 트래픽을 최대화하기 위해 주파수 및 시간 슬롯들을 할당하는 단계,
    할당된 시간슬롯들과 주파수에 대해 라우팅 슬롯들을 통해 신호들을 전송하는 단계를 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선통신을 위한 방법.
  122. 제 121 항에 있어서, 링크들의 갯수를 제한하기 위해 근접노드들을 선택하는 단계는, 상기 링크손실 및 유클리디안 링크거리를 포함한 그룹 중 한 개에 기초한 델로네이 테셀레이션(Delaunay tessellation)을 조립하는 단계를 추가로 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선통신을 위한 방법.
  123. 제 121 항에 있어서, 링크들의 갯수를 제한하기 위해 근접노드들을 선택하는 단계는, 노드들의 공통세트 각각으로부터 비용루트 분석을 수행하고 상기 루트분석으로부터 형성된 루트들의 그래프분석을 수행하는 단계를 추가로 포함하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선통신을 위한 방법.
  124. 제 123 항에 있어서, 상기 루트분석은 최소 트랜스미트 에너지에 기초하는 것을 특징으로 하는 무선 애드혹 네트워크내에서 무선통신을 위한 방법.
KR1020117007836A 2008-09-04 2009-09-04 개선된 무선 애드혹 통신기술 KR20110061609A (ko)

Applications Claiming Priority (28)

Application Number Priority Date Filing Date Title
US9439408P 2008-09-04 2008-09-04
US61/094,394 2008-09-04
US9459108P 2008-09-05 2008-09-05
US9458408P 2008-09-05 2008-09-05
US9461108P 2008-09-05 2008-09-05
US9459408P 2008-09-05 2008-09-05
US9454608P 2008-09-05 2008-09-05
US61/094,584 2008-09-05
US61/094,591 2008-09-05
US61/094,611 2008-09-05
US61/094,594 2008-09-05
US61/094,546 2008-09-05
US9529808P 2008-09-08 2008-09-08
US61/095,298 2008-09-08
US9531008P 2008-09-09 2008-09-09
US61/095,310 2008-09-09
US10310608P 2008-10-06 2008-10-06
US61/103,106 2008-10-06
US11138408P 2008-11-05 2008-11-05
US61/111,384 2008-11-05
US11213108P 2008-11-06 2008-11-06
US61/112,131 2008-11-06
US11823208P 2008-11-26 2008-11-26
US61/118,232 2008-11-26
US12116908P 2008-12-09 2008-12-09
US61/121,169 2008-12-09
US12/418,363 2009-04-03
US12/418,363 US8060017B2 (en) 2008-04-04 2009-04-03 Methods and systems for a mobile, broadband, routable internet

Publications (1)

Publication Number Publication Date
KR20110061609A true KR20110061609A (ko) 2011-06-09

Family

ID=41797534

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020117007838A KR20110061610A (ko) 2008-09-04 2009-09-04 차량 이동 벡터를 이용한 라우팅
KR1020117007836A KR20110061609A (ko) 2008-09-04 2009-09-04 개선된 무선 애드혹 통신기술

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020117007838A KR20110061610A (ko) 2008-09-04 2009-09-04 차량 이동 벡터를 이용한 라우팅

Country Status (3)

Country Link
EP (1) EP2366261A4 (ko)
KR (2) KR20110061610A (ko)
WO (3) WO2010028307A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012081823A1 (ko) * 2010-12-17 2012-06-21 이화여자대학교 산학협력단 피어링 제의 리스트를 제공하는 방법, p2p 네트워크를 형성하는 방법, p2p 어플리케이션 장치, p2p 네트워크를 형성하는 단말 및 네트워크 장치
KR20150123120A (ko) 2014-04-24 2015-11-03 울산대학교 산학협력단 무선 애드혹 네트워크에서의 서비스품질 제어장치
CN106507485A (zh) * 2016-12-09 2017-03-15 北京邮电大学 一种面向服务质量的无线分层组播传输资源分配方法
KR20210067452A (ko) * 2019-11-29 2021-06-08 주식회사 보아스에스이 IoT 무선 네트워크의 노드 통신경로 결정방법
KR102274562B1 (ko) 2020-02-28 2021-07-07 국방과학연구소 애드혹 네트워크 시스템 및 기준 노드 기반의 그룹 간 동기 방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US8300615B2 (en) 2008-04-04 2012-10-30 Powerwave Cognition, Inc. Synchronization of time in a mobile ad-hoc network
US8504052B2 (en) * 2010-05-06 2013-08-06 Nokia Corporation Measurements and fast power adjustments in D2D communications
CN102497616B (zh) * 2011-12-01 2014-07-02 中国空间技术研究院 一种基于北斗导航系统的区域性Ad-Hoc通信网络组网方法
US8774147B2 (en) 2012-02-23 2014-07-08 Dahrwin Llc Asynchronous wireless dynamic ad-hoc network
US9940118B2 (en) 2012-02-23 2018-04-10 Dahrwin Llc Systems and methods utilizing highly dynamic wireless ad-hoc networks
US9143984B2 (en) 2012-04-13 2015-09-22 Intel Corporation Mapping of enhanced physical downlink control channels in a wireless communication network
EP2979373A4 (en) * 2013-03-29 2016-12-28 Intel Ip Corp DEVICE DEVICE PREAMBLE DESIGN (D2D)
ES2594610T3 (es) 2013-04-26 2016-12-21 Airbus Defence And Space Limited Enrutamiento de datos dentro de una red de comunicaciones
WO2014175919A1 (en) 2013-04-26 2014-10-30 Intel IP Corporation Shared spectrum reassignment in a spectrum sharing context
EP2797268B1 (en) 2013-04-26 2015-12-23 Airbus DS Limited Transmitting information across a communications network
US9407559B2 (en) * 2013-09-23 2016-08-02 Mitsubishi Electric Research Laboratories, Inc. Discovering stable routes in wireless networks
US10264500B2 (en) 2016-03-31 2019-04-16 International Business Machines Corporation Selection of inter-network communication
KR101785461B1 (ko) 2016-04-08 2017-10-16 국방과학연구소 무선 애드 혹 네트워크에서 Weighted DESYNC 기반의 계층 간 자원할당 기법
US10834725B2 (en) 2016-07-26 2020-11-10 At&T Intellectual Property I, L.P. Radio resource pooling associated with communication devices
WO2019125096A1 (es) * 2017-12-18 2019-06-27 Torres Ramirez Miguel Angel Sistema global de telecomunicaciones
CN110300452B (zh) 2018-03-21 2020-06-30 上海朗帛通信技术有限公司 一种被用于无线通信的用户设备、基站中的方法和装置
CN108777618A (zh) * 2018-04-25 2018-11-09 厦门科华恒盛股份有限公司 一种量子集控站通信方法以及量子网络控制中心
FR3087080B1 (fr) * 2018-10-08 2020-10-16 Safran Electronics & Defense Procede et dispositif de transmission d'un paquet
CN111586709A (zh) * 2019-02-15 2020-08-25 华为技术有限公司 一种映射方法、节点、通信装置及存储介质
CN109617597A (zh) * 2019-02-19 2019-04-12 亚太卫星宽带通信(深圳)有限公司 多轨道卫星联合组网系统及卫星通信方法
US11929907B2 (en) 2022-03-08 2024-03-12 T-Mobile Usa, Inc. Endpoint assisted selection of routing paths over multiple networks

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983161A (en) * 1993-08-11 1999-11-09 Lemelson; Jerome H. GPS vehicle collision avoidance warning and control system and method
US5973601A (en) * 1995-12-06 1999-10-26 Campana, Jr.; Thomas J. Method of radio transmission between a radio transmitter and radio receiver
US6904110B2 (en) * 1997-07-31 2005-06-07 Francois Trans Channel equalization system and method
US6889372B1 (en) * 2000-07-15 2005-05-03 Cadence Design Systems Inc. Method and apparatus for routing
JP2005509323A (ja) * 2001-04-18 2005-04-07 スカイパイロット ネットワーク, インコーポレイテッド ネットワーク・チャネル・アクセス・プロトコル−干渉および負荷適応
US20030036374A1 (en) * 2001-06-04 2003-02-20 Time Domain Corporation Wireless local area network using impulse radio technology to improve communications between mobile nodes and access points
US7027409B2 (en) * 2002-01-10 2006-04-11 Harris Corporation Method and device for establishing communication links and for estimating overall quality of a directional link and reporting to OLSR in a communication system
US20050201340A1 (en) * 2002-05-13 2005-09-15 Xudong Wang Distributed TDMA for wireless mesh network
EP1638265A1 (en) * 2004-09-15 2006-03-22 Institut Eurecom G.I.E. Process for regulating the traffic of an Adhoc network
US7333026B2 (en) * 2005-06-29 2008-02-19 Denso Corporation Collaborative multicast for dissemination of information in vehicular ad-hoc networks
US8874477B2 (en) * 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US8107366B2 (en) * 2006-08-22 2012-01-31 Embarq Holdings Company, LP System and method for using centralized network performance tables to manage network communications
US7822384B2 (en) * 2006-10-12 2010-10-26 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for providing mobile ad hoc cooperative communication systems and related devices

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012081823A1 (ko) * 2010-12-17 2012-06-21 이화여자대학교 산학협력단 피어링 제의 리스트를 제공하는 방법, p2p 네트워크를 형성하는 방법, p2p 어플리케이션 장치, p2p 네트워크를 형성하는 단말 및 네트워크 장치
KR20150123120A (ko) 2014-04-24 2015-11-03 울산대학교 산학협력단 무선 애드혹 네트워크에서의 서비스품질 제어장치
CN106507485A (zh) * 2016-12-09 2017-03-15 北京邮电大学 一种面向服务质量的无线分层组播传输资源分配方法
KR20210067452A (ko) * 2019-11-29 2021-06-08 주식회사 보아스에스이 IoT 무선 네트워크의 노드 통신경로 결정방법
KR102274562B1 (ko) 2020-02-28 2021-07-07 국방과학연구소 애드혹 네트워크 시스템 및 기준 노드 기반의 그룹 간 동기 방법

Also Published As

Publication number Publication date
KR20110061610A (ko) 2011-06-09
EP2366261A4 (en) 2013-02-13
WO2010028307A1 (en) 2010-03-11
EP2366261A1 (en) 2011-09-21
WO2010028311A1 (en) 2010-03-11
WO2010028315A1 (en) 2010-03-11

Similar Documents

Publication Publication Date Title
KR20110061609A (ko) 개선된 무선 애드혹 통신기술
US20110164527A1 (en) Enhanced wireless ad hoc communication techniques
US7965671B2 (en) Dynamic channel sharing using bandwidth metrics
EP2899930B1 (en) Gateways and routing in software-defined manets
US7948966B2 (en) Multi-metric routing calculations
EP2899931B1 (en) Service-oriented routing in software-defined manets
US10356629B2 (en) Mesh islands
US20110225312A1 (en) Unified cache and peer-to-peer method and apparatus for streaming media in wireless mesh networks
US20110225311A1 (en) Unified cache and peer-to-peer method and apparatus for streaming media in wireless mesh networks
US20110164546A1 (en) Vehicular mobility vector based routing
KR20110050460A (ko) 개선형 애드혹 무선 통신
Asokan A review of Quality of Service (QoS) routing protocols for mobile Ad hoc networks
Houaidia et al. Inter-flow and intra-flow interference mitigation routing in wireless mesh networks
Kajioka et al. A QoS-aware routing mechanism for multi-channel multi-interface ad-hoc networks
JP2009260720A (ja) 経路制御方法、通信システムおよび通信装置
Islam et al. EFT: a high throughput routing metric for IEEE 802.11 s wireless mesh networks
Zhou et al. A QoS routing protocol with bandwidth allocation in multichannel ad hoc networks
Chiu et al. A joint routing and scheduling algorithm for efficient broadcast in wireless mesh networks
Nassiri et al. Molecular MAC for multichannel wireless mesh networks
Zhao et al. Interference-aware QoS routing and dynamic channel assignment for multi-radio multi-channel wireless mesh network
Loscrì On the Interaction Between Multiple Paths and Wireless Mesh Networks Scheduler Approaches.
Yuan ACO-based routing algorithms for wireless mesh networks
Boshoff Improving end-to-end delay for real-time multimedia traffic in mobile ad-hoc networks
Jurdak Network Layer
Cavalcanti de Castro Enhancing P2P Systems over Wireless Mesh Networks

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid