專利名稱:用于無線自組織網(wǎng)絡(luò)的分布式重疊多信道媒體訪問控制(mac)的制作方法
用于無線自組織網(wǎng)絡(luò)的分布式重疊多信道媒體訪問控制(MAC)
背景
IEEE 802.il是用于WLAN (無線LAN)的技術(shù)標(biāo)準(zhǔn),該技術(shù)標(biāo)準(zhǔn)已經(jīng)廣泛用于基礎(chǔ)結(jié)構(gòu)和自組織網(wǎng)絡(luò)兩者。自組織網(wǎng)絡(luò)中的節(jié)點(diǎn)通常被配置成在單個(gè)(相同的)信道頻率上與該自組織網(wǎng)絡(luò)中的其他節(jié)點(diǎn)進(jìn)行通信。隨著傳輸網(wǎng)絡(luò)節(jié)點(diǎn)的增多,信道容量最終變成數(shù)據(jù)吞吐量瓶頸。
圖1示出了自組織網(wǎng)絡(luò)100,其包括某一數(shù)量的計(jì)算設(shè)備網(wǎng)絡(luò)節(jié)點(diǎn)("節(jié)點(diǎn)"),例如,節(jié)點(diǎn)1到6。在該示例中,節(jié)點(diǎn)1-6中的每一個(gè)都被配置成使用802.11標(biāo)準(zhǔn)通信來在相同的單個(gè)信道頻率(例如,信道1)上與其他節(jié)點(diǎn)中的特定節(jié)點(diǎn)進(jìn)行通信。然而,因?yàn)橹挥幸粋€(gè)節(jié)點(diǎn)能夠在任何特定時(shí)刻傳輸,所以每一節(jié)點(diǎn)對(duì)都最多利用信道的數(shù)據(jù)吞吐能力的1/3。如果太多節(jié)點(diǎn)試圖在同-信道上,在同一時(shí)刻進(jìn)行通信,則數(shù)據(jù)吞吐性能快速降低。
為了緩解同一頻譜帶上的相互數(shù)據(jù)傳輸干擾,IEEE 802.11提供多個(gè)正交頻道,從而在本質(zhì)上提高了網(wǎng)絡(luò)數(shù)據(jù)吞吐能力。例如,802.11b定義了十一(11)個(gè)信道,其中三(3)個(gè)是正交的(非重疊的),而802.11a定義了十三(13)個(gè)正交信道。圖2示出了自組織網(wǎng)絡(luò)200,其中節(jié)點(diǎn)對(duì)在不同的正交信道上進(jìn)行通信以減少相互傳輸干擾。在該示例中,節(jié)點(diǎn)對(duì)(1、 2)在信道6上操作,節(jié)點(diǎn)對(duì)(3、 4)在信道1上操作,節(jié)點(diǎn)對(duì)(5、 6)在信道11上操作。示出通信模式的箭頭202到206中的每一個(gè)都包括用于表示跨所示節(jié)點(diǎn)之間的鏈路中的相應(yīng)鏈路的不同通信量的不同填充(例如,交叉影線)。在這種情況下,盡管每一節(jié)點(diǎn)對(duì)都可同時(shí)傳送數(shù)據(jù),但在特定信道上進(jìn)行通信的節(jié)點(diǎn)將無法與被配置成在不同信道上進(jìn)行通信的任何節(jié)點(diǎn)進(jìn)行通信。
已開發(fā)了軟件控制的信道分配和切換技術(shù)以解決所述限制中的某一些。這些常規(guī)技術(shù)允許節(jié)點(diǎn)在各自的信道頻率上進(jìn)行通信,并且同時(shí)通過該允許來維護(hù)與被配置成在不同的信道上傳輸?shù)墓?jié)點(diǎn)的連接以適應(yīng)不同的通信模式。 一示例性的這樣的情況在圖3中示出,其中信道1上的節(jié)點(diǎn)3維護(hù)到信道6上的節(jié)點(diǎn)2和信道11上的節(jié)點(diǎn)6兩者的鏈路連接。然而,現(xiàn)有信道切換技術(shù)通常使用固定模式來仿真自組織網(wǎng)絡(luò)中的所有可能的任意通信和連接模式。這一仿真 實(shí)質(zhì)上是有問題的,因?yàn)樗僭O(shè)所有節(jié)點(diǎn)都將遵循類似的相同行為,但并非始 終如此。
--種常規(guī)信道切換技術(shù)例如允許傳輸節(jié)點(diǎn)在每一次分組傳輸后切換信道。 這一逐分組切換操作經(jīng)常由于相應(yīng)的費(fèi)時(shí)信道切換等待時(shí)間而導(dǎo)致非常大量
的處理開銷。例如,802.11中的分組傳輸時(shí)間大概是300微妙(us)。即使 NIC能夠如100微妙那樣快地切換并且兩個(gè)節(jié)點(diǎn)能夠精確到毫秒地進(jìn)行同步, 這一逐分組級(jí)信道切換方案中的分組切換開銷仍然過量33%。在另一示例中, 基于組件的常規(guī)信道切換技術(shù)將特定通信會(huì)話中的所有節(jié)點(diǎn)配置成在同一信 道上傳輸。在該技術(shù)中,信道不在該通信會(huì)話的持續(xù)時(shí)間內(nèi)改變。盡管該技術(shù) 與逐分組切換方案相比在本質(zhì)上減少了信道切換等待時(shí)間,但該技術(shù)在使用信 道分集時(shí)是最不靈活的。
例如,現(xiàn)有的基于組件的信道分配技術(shù)對(duì)于諸如圖4所示的、表示圖2 和3的組合模式的自組織網(wǎng)絡(luò)配置將無法實(shí)現(xiàn)吞吐量增益。參考圖4,示出了 跨信道l、 6和11中的各信道的通信模式402到410。如圖所示,某些節(jié)點(diǎn)始 終在同一信道上進(jìn)行通信。例如,該示例中的節(jié)點(diǎn)3和4僅在信道1上進(jìn)行通 信。其他節(jié)點(diǎn)跨多個(gè)信道工作。例如,該示例中的節(jié)點(diǎn)l有時(shí)在例如信道l上 工作以交換節(jié)點(diǎn)3。該示例中的節(jié)點(diǎn)l還被配置成在信道6上操作以便與節(jié)點(diǎn) 2進(jìn)行通信,等等。盡管現(xiàn)有MAC級(jí)信道切換方案對(duì)于圖4的說明性自組織 網(wǎng)絡(luò)可實(shí)現(xiàn)吞吐量增益并維護(hù)節(jié)點(diǎn)連接,但現(xiàn)有mac級(jí)信道切換模式在這些
情況下是稍微受限的。
例如,常規(guī)MAC級(jí)信道切換方案只在預(yù)定和固定時(shí)隙的邊緣切換信道, 其中特定時(shí)隙中的所有分組都在同一信道上傳輸。這一常規(guī)超幀級(jí)方案是受限 的。例如,現(xiàn)有MAC級(jí)信道切換方案一般要求節(jié)點(diǎn)始終在每一個(gè)超幀或時(shí)隙 的基礎(chǔ)上改變信道,從而使得這些方案太不靈活以至于無法適應(yīng)較長的信道切 換等待時(shí)間。另外,現(xiàn)有MAC級(jí)信道切換方案將超幀分成控制和數(shù)據(jù)時(shí)間, 這基本上可能是有問題的。例如,以此方式劃分超幀可導(dǎo)致(a)對(duì)數(shù)據(jù)時(shí)間 的利用不足;(b)由于每一個(gè)超幀一個(gè)服務(wù)機(jī)會(huì)而導(dǎo)致的每跳減少響應(yīng)時(shí)間的 大量數(shù)據(jù)吞吐量延遲以及(c)控制信道時(shí)間瓶頸,因?yàn)橥ǔR竺恳粋€(gè)節(jié)點(diǎn)在每-一個(gè)超幀的基礎(chǔ)上發(fā)送信令消息以競(jìng)爭(zhēng)訪問。此外,這些MAC級(jí)方案與傳 統(tǒng)的基于802.11的系統(tǒng)不兼容,從而或者需要修改802.11 MAC (例如,擴(kuò)展 省電模式)或者使用專用MAC。
概述
描述了用于無線自組織網(wǎng)絡(luò)的分布式重疊多信道MAC的系統(tǒng)和方法。在 一方面,這些系統(tǒng)和方法將由無線網(wǎng)絡(luò)協(xié)議定義的信道頻率分成單個(gè)主信道和 與該主信道正交的多個(gè)客信道。自組織網(wǎng)絡(luò)中的每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都在主信道上 操作并持續(xù)各自的可變且重疊的時(shí)間量,以維護(hù)與其他各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)連 接。另外,每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都確定是否及何時(shí)從主信道切換到這些客信道中的 特定客信道并持續(xù)可變時(shí)間量以增加自組織網(wǎng)絡(luò)中的一個(gè)或多個(gè)相應(yīng)的通信 鏈路上的與其他網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)吞吐量。
提供本概述是為了用簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的 一些概念。該概述不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不 旨在用于幫助確定所要求保護(hù)的主題的范圍。
附圖簡(jiǎn)述
在附圖中,組件參考標(biāo)號(hào)最左邊的數(shù)字標(biāo)識(shí)了該組件首次出現(xiàn)的特定附圖。
圖1示出包括計(jì)算設(shè)備網(wǎng)絡(luò)節(jié)點(diǎn)的自組織網(wǎng)絡(luò)。
圖2示出節(jié)點(diǎn)對(duì)在不同的正交信道上進(jìn)行通信以減少相互傳輸干擾的自 組織網(wǎng)絡(luò)。
圖3示出其中節(jié)點(diǎn)在各自的信道頻率上進(jìn)行通信同時(shí)維護(hù)到被配置成在 不同信道上傳輸?shù)墓?jié)點(diǎn)的連接的自組織網(wǎng)絡(luò)。
圖4示出其中某些節(jié)點(diǎn)始終在同一信道上進(jìn)行通信,其他節(jié)點(diǎn)跨多個(gè)信道 進(jìn)行通信,并且維護(hù)在不同信道上操作的節(jié)點(diǎn)之間的連接(本質(zhì)上是圖2和3 所示的特征的組合)的自組織網(wǎng)絡(luò)。
圖5示出根據(jù)一個(gè)實(shí)施例的用于自組織網(wǎng)絡(luò)的分布式重疊多信道MAC的 示例性系統(tǒng)。用的周期性時(shí)間周 期Te的示例性說明。
圖7示出根據(jù)一個(gè)實(shí)施例的用于自組織網(wǎng)絡(luò)的分布式重疊多信道MAC的 一組示例性節(jié)點(diǎn)、鏈路和信道圖。
圖8示出根據(jù)一個(gè)實(shí)施例的轉(zhuǎn)換成示出特定網(wǎng)絡(luò)節(jié)點(diǎn)處的數(shù)據(jù)吞吐量瓶 頸的鏈路圖的示例性節(jié)點(diǎn)圖。
圖9示出根據(jù)一個(gè)實(shí)施例的示例性信道切換調(diào)度協(xié)商協(xié)議實(shí)現(xiàn)。
圖10示出根據(jù)一個(gè)實(shí)施例的用于自組織網(wǎng)絡(luò)的分布式重疊多信道MAC 的示例性分組緩沖和調(diào)度節(jié)點(diǎn)體系結(jié)構(gòu)。
圖11示出了根據(jù)一個(gè)實(shí)施例的實(shí)現(xiàn)用于自組織網(wǎng)絡(luò)的分布式OMMAC的 網(wǎng)絡(luò)節(jié)點(diǎn)的示例性實(shí)現(xiàn)。
圖12示出根據(jù)一個(gè)實(shí)施例的用于自組織網(wǎng)絡(luò)的分布式重疊多信道MAC 的示例性過程。
圖13示出根據(jù)一個(gè)實(shí)施例的用于自組織網(wǎng)絡(luò)的分布式重疊多信道MAC 的另一示例性過程。
詳細(xì)描述 概覽
描述了用于自組織網(wǎng)絡(luò)的分布式重疊多信道MAC (OMMAC)的系統(tǒng)和 方法。分布式OMMAC提供用于維護(hù)節(jié)點(diǎn)到節(jié)點(diǎn)連接并優(yōu)化自組織網(wǎng)絡(luò)中的 數(shù)據(jù)吞吐量(即,性能)的框架。為此,這些系統(tǒng)和方法標(biāo)識(shí)各網(wǎng)絡(luò)節(jié)點(diǎn)("節(jié) 點(diǎn)")可周期性地在其上同步的信道頻率以維護(hù)節(jié)點(diǎn)到節(jié)點(diǎn)的連接。該同步信 道是"主信道",其對(duì)于自組織網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都是相同的。在該實(shí)現(xiàn)中, 主信道表示節(jié)點(diǎn)當(dāng)在最初配置(即,建立)的自組織網(wǎng)絡(luò)中時(shí)在其上首次同步 的信道頻率。這些系統(tǒng)和方法然后標(biāo)識(shí)與主信道正交的多個(gè)信道頻率。這些正 交信道是"客信道"。這些節(jié)點(diǎn)基于主信道和客信道來共同實(shí)現(xiàn)分布式且時(shí)間 同步的信道調(diào)度和切換算法。具體而言,所有節(jié)點(diǎn)都在主信道上操作并持續(xù)可 變且重疊的時(shí)間量以便周期性地向這些節(jié)點(diǎn)中的其他節(jié)點(diǎn)廣播通信和信道信 息并由此維護(hù)網(wǎng)絡(luò)連接。另外,自組織網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)都獨(dú)立確定是否及何時(shí)從主信道切換到特定客信道并持續(xù)可變時(shí)間量以便本地地優(yōu)化該自組織 網(wǎng)絡(luò)中的數(shù)據(jù)吞吐量。
用于自組織網(wǎng)絡(luò)的分布式OMMAC的系統(tǒng)和方法的這些和其它方面現(xiàn)將 更詳細(xì)地描述。
示例性系統(tǒng)
圖5示出根據(jù)一個(gè)實(shí)施例的用于自組織網(wǎng)絡(luò)的分布式重疊多信道MAC (OMMAC)的示例性系統(tǒng)500。在該實(shí)現(xiàn)中,系統(tǒng)500包括多個(gè)聯(lián)網(wǎng)的計(jì)算 設(shè)備502-1到502-N ("節(jié)點(diǎn)"),這些計(jì)算設(shè)備通過自組織網(wǎng)絡(luò)504彼此無 線耦合。每一個(gè)節(jié)點(diǎn)502都是相應(yīng)的計(jì)算設(shè)備,諸如通用計(jì)算設(shè)備(例如,個(gè) 人計(jì)算機(jī))、服務(wù)器、諸如膝上型計(jì)算機(jī)等便攜式計(jì)算設(shè)備、諸如個(gè)人數(shù)字助 理(PDA)等小型計(jì)算設(shè)備等。節(jié)點(diǎn)502直接通過網(wǎng)絡(luò)504來彼此通信而不使 用接入點(diǎn)。OMMAC是分布式的,因?yàn)槊恳粋€(gè)節(jié)點(diǎn)502-1到502-N (即,"節(jié) 點(diǎn)502")實(shí)現(xiàn)OMMAC的本地版本以維護(hù)節(jié)點(diǎn)到節(jié)點(diǎn)網(wǎng)絡(luò)連接并根據(jù)協(xié)議的 底層無線調(diào)制技術(shù)所指定的精確同步要求來強(qiáng)制實(shí)施信道切換策略。在該實(shí)現(xiàn) 中,協(xié)議是IEEE 802.11,但參考這些系統(tǒng)和方法描述的概念適用于各種無線 網(wǎng)絡(luò)協(xié)議。
每一個(gè)節(jié)點(diǎn)502都包括耦合到系統(tǒng)存儲(chǔ)器的一個(gè)或多個(gè)處理器,該系統(tǒng)存 儲(chǔ)器包括可由這些處理器中的相應(yīng)處理器來執(zhí)行以實(shí)現(xiàn)用于自組織網(wǎng)絡(luò)的分 布式OMMAC的計(jì)算機(jī)程序模塊。這一系統(tǒng)存儲(chǔ)器還包括由計(jì)算機(jī)程序中的 相應(yīng)計(jì)算機(jī)程序在程序模塊執(zhí)行期間生成和/或使用的程序數(shù)據(jù)。例如,節(jié)點(diǎn)
502-1包括耦合到系統(tǒng)存儲(chǔ)器508的一個(gè)或多個(gè)處理器506,該系統(tǒng)存儲(chǔ)器508 表示易失性隨機(jī)存取存儲(chǔ)器(RAM)和非易失性只讀存儲(chǔ)器(ROM)。系統(tǒng) 存儲(chǔ)器508包括包含由處理器506來執(zhí)行的計(jì)算機(jī)程序指令的程序模塊510。 系統(tǒng)存儲(chǔ)器508還包括由計(jì)算機(jī)程序指令中的相應(yīng)計(jì)算機(jī)程序指令在程序模塊 執(zhí)行期間生成和/或使用的程序數(shù)據(jù)512。在該實(shí)現(xiàn)中,例如,程序模塊508包 括重疊多信道MAC (OMMAC)模塊516、網(wǎng)絡(luò)接口控制(NIC)驅(qū)動(dòng)程序518 以及其他程序模塊520,諸如用于提供運(yùn)行時(shí)環(huán)境的操作系統(tǒng)、用于分別向/ 從OMMAC模塊516路由/接收信息的分組路由模塊等。
12示例性框架
OMMAC 516維護(hù)網(wǎng)絡(luò)504中的節(jié)點(diǎn)到節(jié)點(diǎn)502連接并根據(jù)協(xié)議的底層無 線調(diào)制技術(shù)所指定的精確同步要求來強(qiáng)制實(shí)施分布式信道切換策略。出于示出 一個(gè)示例性實(shí)施例的目的,OMMAC 516的操作參考IEEE 802.11的示例性協(xié) 議來描述。為了維護(hù)節(jié)點(diǎn)到節(jié)點(diǎn)502連接并根據(jù)底層同步要求來強(qiáng)制實(shí)施分布 式信道切換策略,OMMAC 516將可用通信信道頻率分成單個(gè)主信道和多個(gè)客 信道。該單個(gè)主信道和多個(gè)客信道在圖5中被共同表示為"信道集"521。每 一個(gè)節(jié)點(diǎn)502都使用主信道來維護(hù)與其他節(jié)點(diǎn)502的網(wǎng)絡(luò)連接??托诺烙晒?jié)點(diǎn) 502中的相應(yīng)節(jié)點(diǎn)(根據(jù)以下所描述的信道切換和調(diào)度算法)選擇性地使用以 增加網(wǎng)絡(luò)504數(shù)據(jù)吞吐量(性能)。
1. 主信道
在該實(shí)現(xiàn)中,主信道如下確定。發(fā)起者節(jié)點(diǎn)502掃描所有可用信道頻率并 將具有最少噪聲的信道頻率選為主信道。所有節(jié)點(diǎn)502都可由節(jié)點(diǎn)502在主信 道上經(jīng)由廣播消息來到達(dá)。在該實(shí)現(xiàn)中,每一個(gè)節(jié)點(diǎn)502都基于對(duì)主信道上的 噪聲的本地觀察經(jīng)由廣播消息(ACK/NACK消息)來對(duì)或針對(duì)該主信道進(jìn)行 投票。例如,在一個(gè)實(shí)現(xiàn)中,如果在超時(shí)模式(對(duì)于某一可配置數(shù)量的時(shí)間周 期)中所接收到廣播ACK消息的數(shù)量大于的某一百分比(例如,50%等)的 站,則節(jié)點(diǎn)502確定并投票表決新的主信道。在該實(shí)現(xiàn)中,主信道并不限于固 定信道頻率并且可由節(jié)點(diǎn)502根據(jù)通信鏈路狀態(tài)來動(dòng)態(tài)調(diào)整(遷移)。在一不 同的實(shí)現(xiàn)中,使用除了信道噪聲之外的準(zhǔn)則來選擇主信道。
2. 客信道
與主信道正交的信道頻率是客信道。節(jié)點(diǎn)502在客信道上與不同的節(jié)點(diǎn) 502進(jìn)行通信以增加網(wǎng)絡(luò)504的數(shù)據(jù)吞吐量(g卩,性能)。在該實(shí)現(xiàn)中,OMMAC 516根據(jù)在該信道上所觀察到的干擾來對(duì)客信道進(jìn)行分類。對(duì)特定節(jié)點(diǎn)502的 這一干擾是由該特定節(jié)點(diǎn)502的廣播范圍內(nèi)的所有其他節(jié)點(diǎn)502產(chǎn)生的平均觀 察。(許多OMMAC 516操作都基于來自其他節(jié)點(diǎn)的OMMAC 516信息來以節(jié)點(diǎn)級(jí)執(zhí)行,并由此產(chǎn)生術(shù)語"分布式OMMAC")。在該實(shí)現(xiàn)中,每一個(gè)節(jié)點(diǎn) 502都在節(jié)點(diǎn)恭敬地(respectfully)在其上操作主信道和客信道上檢測(cè)到各自 的干擾電平。在這種情況下,節(jié)點(diǎn)502用周期性的廣播消息來將這一信息傳送 給其廣播范圍內(nèi)的其他節(jié)點(diǎn)502。在該實(shí)現(xiàn)中,節(jié)點(diǎn)的本地OMMAC516實(shí)現(xiàn) 信道切換和調(diào)度操作以使得首先將具有最少干擾的客信道用于節(jié)點(diǎn)到節(jié)點(diǎn)通 信。
3.節(jié)點(diǎn)極點(diǎn)
節(jié)點(diǎn)502停留在主信道上的時(shí)間量是(a)可變的;(b)與覆蓋特定網(wǎng)絡(luò) 信標(biāo)的相鄰節(jié)點(diǎn)502也在該主信道上的時(shí)間部分重疊的;以及(c)取決于通過 節(jié)點(diǎn)502和該節(jié)點(diǎn)502的廣播范圍內(nèi)的其他節(jié)點(diǎn)502之間的通信鏈路的雙向通 信的。當(dāng)節(jié)點(diǎn)502不在主信道上時(shí),該節(jié)點(diǎn)502在客信道上。鑒于上述內(nèi)容, 每一個(gè)節(jié)點(diǎn)502都由其本地OMMAC516來分別配置成確定該節(jié)點(diǎn)是否以及何 時(shí)應(yīng)從主信道切換到所調(diào)度的客信道以提高數(shù)據(jù)吞吐量。每一個(gè)節(jié)點(diǎn)的本地 OMMAC516為該特定節(jié)點(diǎn)502定義信道切換點(diǎn)(即,"極點(diǎn)")。節(jié)點(diǎn)的極 點(diǎn)相對(duì)于基于所利用的無線協(xié)議(例如,IEEE 802.11等)的特定信標(biāo)間隔的 周期性時(shí)間周期("Tc")來定義。出于示例性說明的目的,節(jié)點(diǎn)的極點(diǎn)被示 為"極點(diǎn)"523。
圖6示出了根據(jù)一個(gè)實(shí)施例的由每一個(gè)節(jié)點(diǎn)的信道切換調(diào)度器邏輯(該邏 輯由OMMAC 516來實(shí)現(xiàn))利用的周期性時(shí)間周期Te的示例性說明。出于示 例性說明和描述的目的,圖6的各方面參考圖5的組件來描述。在該描述中, 附圖標(biāo)記最左邊的數(shù)字指示其中首次引入所引用的組件的特定附圖。參考圖6, 其示出Te表示每一個(gè)節(jié)點(diǎn)502被配置成在主信道和客信道的組合上操作的集 體時(shí)間量。具體而言,每一個(gè)節(jié)點(diǎn)502都被本地地(即,由OMMAC516)配 置成在單個(gè)主信道上操作并持續(xù)特定且可變的時(shí)間量("Th")。每一個(gè)節(jié)點(diǎn) 502都還被本地地配置成在多個(gè)客信道中的特定客信道上操作并持續(xù)特定且可 變的時(shí)間量("Tg")。由此,
Tc=Th + Tg (1)
在該實(shí)現(xiàn)中,周期長度通過將整數(shù)n乘以與底層無線協(xié)議相關(guān)聯(lián)的信標(biāo)間隔來確定。例如,被配置成實(shí)現(xiàn)IEEE 802.11標(biāo)準(zhǔn)的節(jié)點(diǎn)的默認(rèn)信標(biāo)間隔是100 個(gè)時(shí)間單位(TU),即1024毫秒。
如圖6所示,時(shí)間周期Te被分成多個(gè)數(shù)量m個(gè)時(shí)隙。時(shí)隙表示節(jié)點(diǎn)被調(diào) 度在信道上的時(shí)間粒度。例如,如果周期性周期是102.4毫秒(n=l),并且 m=8,即每一個(gè)周期都被分成8個(gè)時(shí)隙,則OMMAC 516按12.8毫秒的粒度來 調(diào)整主和客信道。極點(diǎn)指示節(jié)點(diǎn)500從一個(gè)信道跳轉(zhuǎn)/切換到另一個(gè)信道的特定 時(shí)間。不同的節(jié)點(diǎn)502可定義其自己的極點(diǎn),但特定無線鏈路的發(fā)送者和接收 者對(duì)同步各自的極點(diǎn)并同時(shí)跳轉(zhuǎn)到同一信道(以下將在題為"示例性時(shí)間同步" 的部分中更詳細(xì)地描述)。在該實(shí)現(xiàn)中,極點(diǎn)被限制在時(shí)隙的邊界處。因此, 整數(shù)值表示極點(diǎn)。例如,如果111=8,則可使用l字節(jié)(8位)來表示極點(diǎn)。在 該實(shí)現(xiàn)中,例如, 一個(gè)周期中可能存在多個(gè)極點(diǎn)。另外,兩個(gè)節(jié)點(diǎn)之間的鏈路 的極點(diǎn)根據(jù)該鏈路上的通信量來調(diào)整,如將在以下更詳細(xì)地討論的。
在周期的開始處,所有節(jié)點(diǎn)502都返回到主信道并在主信道上停留至少 Tb,該Tb被稱為廣播時(shí)間。OMMAC516調(diào)度在每一個(gè)周期中的該時(shí)間段內(nèi)傳 輸?shù)膹V播分組。在該實(shí)現(xiàn)中,例如,節(jié)點(diǎn)502可在主信道上停留超過Tb,艮口, Th>Tb。令T,-Th-Tb。在該時(shí)間期間,該節(jié)點(diǎn)仍然在主信道上但用于接收單播 消息。時(shí)隙中的極點(diǎn),即Th在范圍[b,m]內(nèi)有效。如果Th等于m,則對(duì)應(yīng)的節(jié) 點(diǎn)502仍然在主信道上并持續(xù)整個(gè)周期并且不為該特定節(jié)點(diǎn)調(diào)度客信道。在該 實(shí)現(xiàn)中,選擇b的值以使得保留信標(biāo)和廣播分組的傳輸機(jī)會(huì)(例如,b=l)。示例性信道切換調(diào)度
現(xiàn)在描述供每一節(jié)點(diǎn)502用于調(diào)度客信道來切換的分布式算法。在通 信鏈路處調(diào)度的調(diào)度客信道的各方面首先根據(jù)客信道的最大獨(dú)立集(MIS) 和著色問題的組合來一般化。然后該算法的示例性分布式實(shí)現(xiàn)基于對(duì)其使 用貪婪算法的MIS所產(chǎn)生的信令開銷和益處之間的折衷,根據(jù)上述示例性 框架來呈現(xiàn)。
4.用于最大化吞吐量的客信道調(diào)度
如上所示,節(jié)點(diǎn)502保持在主信道上的時(shí)間量是可變的,該時(shí)間量與覆蓋 信標(biāo)時(shí)間段的相鄰節(jié)點(diǎn)的時(shí)間量部分重疊。節(jié)點(diǎn)/站在每一個(gè)周期中將周期Tc 中的其余時(shí)間花費(fèi)在客信道上。如果鏈路的源和目的地節(jié)點(diǎn)502同時(shí)切換到同 一客信道,則該鏈路上的通信與主信道和其他客信道上的通信正交。因?yàn)?802.11提供用于處理鏈路層處的競(jìng)爭(zhēng)的CSMA/CA (載波偵聽多路存取/沖突避 免),所以將鏈路上的雙向通信視為原子并將其調(diào)度到周期Te中的相同時(shí)隙。 因此,信道切換是根據(jù)鏈路上的通信的;鏈路是雙向的。
OMMAC 516客信道調(diào)度操作確定選擇哪一個(gè)通信鏈路,并且還確定在相 應(yīng)的客信道上通信多久以便基本上最大化總數(shù)據(jù)吞吐量(不惡化)。如果對(duì)于 信道數(shù)不存在約束并且每一個(gè)鏈路上的通信都是貪婪的,并且因?yàn)槊恳粋€(gè) 802.11站一次都僅涉及一個(gè)鏈路,則OMMAC 516選擇最大數(shù)量的"非主要沖 突"活動(dòng)鏈路。如果兩個(gè)鏈路需要相同的節(jié)點(diǎn)502來進(jìn)行通信,則這兩個(gè)鏈路 是"主要沖突"。如果一通信鏈路上在每一個(gè)周期Te都存在特定通信量,則 該通信鏈路是"活動(dòng)的"。
令V和E分別表示網(wǎng)絡(luò)504中的整個(gè)節(jié)點(diǎn)502和鏈路集(鏈路被示為各 個(gè)通信鏈路532-1到532-N),而G表示該網(wǎng)絡(luò)的原始通信圖。假設(shè)G中的節(jié) 點(diǎn)總數(shù)為N,這些節(jié)點(diǎn)由I = 1, 2..N來索引,從而使得使用Vi來表示G中的 節(jié)點(diǎn)i。令1⑨表示節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的雙向鏈路532,從而使得l(i」)= OMMAC 516將網(wǎng)絡(luò)504的原始通信圖G (節(jié)點(diǎn)圖)轉(zhuǎn)換為鏈路圖G',其中該 鏈路圖中所表示的每一個(gè)節(jié)點(diǎn)502都是該原始節(jié)點(diǎn)圖中的活動(dòng)鏈路。如果G中 的兩個(gè)節(jié)點(diǎn)的對(duì)應(yīng)鏈路是主要沖突,則在G'中的這兩個(gè)節(jié)點(diǎn)之間存在鏈路。因此,圖G'中的最大獨(dú)立集對(duì)應(yīng)于G中的非主要沖突鏈路集以使得選擇最多 數(shù)量的鏈路(最大化吞吐量)。
該最大獨(dú)立集問題眾所周知是NP完整的,并因此已經(jīng)提議了大量試探性 算法以解其中不再可向其添加節(jié)點(diǎn)的MIS (最大獨(dú)立集)。在該實(shí)現(xiàn)中,G' 中的MIS對(duì)應(yīng)于G中的最大且不可再調(diào)度鏈路的鏈路集。 一種對(duì)MIS選擇的 公知試探是貪婪算法,該貪婪算法將圖G'中的所有節(jié)點(diǎn)按其等級(jí)來進(jìn)行排序 并首先移除具有最低等級(jí)的節(jié)點(diǎn),從而移除所選節(jié)點(diǎn)及其所有鄰居節(jié)點(diǎn)。該最 低等級(jí)節(jié)點(diǎn)選擇繼續(xù)直到移除所有節(jié)點(diǎn)。所有所選節(jié)點(diǎn)502都表示MIS,并且 MIS的數(shù)量在多個(gè)節(jié)點(diǎn)502具有相同等級(jí)的情況下可能不止一個(gè)。
5.信道數(shù)的約束
在生成了MIS后,OMMAC 516通過著色來解決信道數(shù)的約束。具體而 言,OMMAC 516將鏈路圖G,中的MIS轉(zhuǎn)換成圖G",其中G"中的每一個(gè)節(jié) 點(diǎn)都是G'的MIS中的節(jié)點(diǎn),并且如果G中的兩個(gè)節(jié)點(diǎn)的對(duì)應(yīng)鏈路是"次要沖 突",則在G,中的這兩個(gè)節(jié)點(diǎn)之間存在鏈路。此處,在原始信道圖G中,兩 個(gè)鏈路在這兩個(gè)鏈路無法同時(shí)在同一信道上并行工作時(shí)是次要沖突。因此,如 果兩個(gè)鏈路是主要沖突,則它們必須也是次要沖突,但反之不然。圖G"被稱 為信道圖并且利用著色算法來為G"中所表示的節(jié)點(diǎn)502調(diào)度信道。OMMAC 516選擇G"的MIS并將首先表示的客信道分配給MIS中的這些節(jié)點(diǎn)。OMMAC 516然后從G"中移除這些節(jié)點(diǎn)以及客信道集中的所使用的客信道。
OMMAC 516繼續(xù)MIS選擇和信道分配,直到分配了所有節(jié)點(diǎn)502或直 到客信道集為空。在該實(shí)現(xiàn)中,將最后一個(gè)MIS分配給主信道,因?yàn)橹餍诺酪?與所有客信道正交。如上所述,將鏈路分配給不同客信道以提升性能。因?yàn)樾?道切換引入某些切換等待時(shí)間,并且為了減少這些等待時(shí)間,鏈路集可被配置 成停留在主信道上,因?yàn)樵撝餍诺酪才c所有客信道正交。鑒于此,并且在集中 式算法中,被選擇在主信道上工作的MIS可以是任何MIS,例如,第一個(gè)MIS。 然而,為了打破分布式情形中的死鎖,選擇最后一個(gè)MIS。這一死鎖可能例如 在多個(gè)節(jié)點(diǎn)/鏈路同時(shí)將其自身認(rèn)為是在主信道上工作的節(jié)點(diǎn)/鏈路且不使用客 信道的情況下發(fā)生。
17圖7示出根據(jù)一個(gè)實(shí)施例的用于自組織網(wǎng)絡(luò)的分布式重疊多信道MAC的 一組示例性節(jié)點(diǎn)、鏈路和信道圖。在該示例中,圖7(a)示出了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和 通信模式,其出于示例性說明的目的而與圖4中的示例相同。該節(jié)點(diǎn)圖中的五 個(gè)活動(dòng)鏈路被轉(zhuǎn)換成圖7(b)的鏈路圖。OMMAC516基于上述貪婪算法首先 選擇具有最低等級(jí)的節(jié)點(diǎn),來選擇MIS。在圖7(b)的示例中,MIS是唯一的并 且OMMAC 516選擇MIS (鏈路(1,2)、 (3,4)和(5,6))中的節(jié)點(diǎn)。OMMAC 516 將該鏈路圖轉(zhuǎn)換成圖7(c)的示例性信道圖。因?yàn)楣?jié)點(diǎn)圖中的所有六個(gè)節(jié)點(diǎn)都處 于彼此的通信范圍內(nèi),所以所有鏈路都沖突。因此,只有一個(gè)鏈路能夠在任何 時(shí)刻工作。因此,在圖7(c)中的信道圖中,所有三個(gè)節(jié)點(diǎn)都是連接的,因此連 同主信道1 一起利用兩個(gè)客信道(6和11)??煞謩e對(duì)這三個(gè)鏈路使用信道1/6/11 (例如,請(qǐng)參考圖4)。
6. 信道切換的開銷
對(duì)于每一個(gè)節(jié)點(diǎn)502, OMMAC 516本地地解決由信道切換引入的開銷并 確定節(jié)點(diǎn)502是否是網(wǎng)絡(luò)504中的數(shù)據(jù)吞吐量瓶頸。具體而言,令Tsc和TNi 表示切換信道的時(shí)間開銷和節(jié)點(diǎn)Ni在每一個(gè)周期的信道占用時(shí)間,如果Tsc + TNi>Tc,則信道切換影響節(jié)點(diǎn)Ni中的吞吐量。圖8示出了根據(jù)一個(gè)實(shí)施例的 轉(zhuǎn)換成示出特定網(wǎng)絡(luò)節(jié)點(diǎn)502處的數(shù)據(jù)吞吐量瓶頸的鏈路圖(b)的示例性節(jié)點(diǎn) 圖(a)。具體而言,圖8示出了其中無法增加數(shù)據(jù)吞吐量,而相反數(shù)據(jù)吞吐量由 于信道切換的開銷而由于某種原因降低的情形。(圖3說明了類似的情形)。 例如,參考圖3,請(qǐng)注意,所有節(jié)點(diǎn)都在同一信道上,因此不存在信道切換的 成本。參考圖8(b),鏈路圖示出在對(duì)應(yīng)的MIS中只存在一個(gè)節(jié)點(diǎn),即鏈路(3,2) 或者鏈路(3,6)。如果選擇MIS—連路(3,2)來在客信道上工作,則在節(jié)點(diǎn)3處 存在特定開銷。然而,鏈路(3,2)和(3,6)兩者都需要涉及節(jié)點(diǎn)3。因此,如 果節(jié)點(diǎn)3正在實(shí)現(xiàn)信道切換操作,則降低總吞吐量。請(qǐng)注意,在調(diào)度一個(gè)鏈路 的情況下,無法增加數(shù)據(jù)吞吐量。在這一情形中,OMMAC516移除對(duì)于節(jié)點(diǎn) 502的信道切換調(diào)度。
7. 極點(diǎn)決定先前各段已經(jīng)描述了當(dāng)在特定信道上調(diào)度通信鏈路時(shí)OMMAC 516如何 建立。現(xiàn)在描述OMMAC 516如何確定用于節(jié)點(diǎn)的信道切換操作的極點(diǎn)。對(duì)于 節(jié)點(diǎn)H、 TNi,總信道占用時(shí)間由所有信道上的傳輸時(shí)間和接收時(shí)間兩者組成。 對(duì)于鏈路l(",令T(w表示所有信道上的信道占用時(shí)間。使得
<formula>formula see original document page 19</formula> ②
節(jié)點(diǎn)Nj上的鏈路1⑨的時(shí)間權(quán)重是
<formula>formula see original document page 19</formula> (3)
因此,將鏈路l(ij)的時(shí)間權(quán)重定義為
<formula>formula see original document page 19</formula>
對(duì)于鏈路l(ij),調(diào)度極點(diǎn)以使得
<formula>formula see original document page 19</formula>(5)
根據(jù)等式(5)的選擇客信道的時(shí)間保證(a)客信道上的時(shí)間根據(jù)該鏈路上 的通信量來調(diào)整,從而使得在通信增加的情況下分配更多的時(shí)間;以及(b)與 周期時(shí)間的比例確保不影響對(duì)應(yīng)節(jié)點(diǎn)502上的其他通信的需求的目標(biāo)。
在一個(gè)實(shí)現(xiàn)中,例如,OMMAC516實(shí)現(xiàn)用于為每一個(gè)節(jié)點(diǎn)502調(diào)度信道 切換的集中式算法。該集中式算法始終為自組織網(wǎng)絡(luò)通信和節(jié)點(diǎn)提供完整且已 更新的信息,而分布式算法提供本地化的這一信息。集中式算法MIS選擇可具 有多個(gè)解,而將只選擇一個(gè)MIS解。相反,使用分布式算法,結(jié)果由在鄰居節(jié) 點(diǎn)處采取的多個(gè)步驟來確定。這意味著使用分布式算法,每一個(gè)節(jié)點(diǎn)的決定都 影響整個(gè)結(jié)果,但不控制該整個(gè)結(jié)果。例如,與集中式算法相比,這一分布式 算法中所采取的步驟是異步的,并且可以是并行的、沖突的,或者甚至導(dǎo)致死鎖情形。(該后一種情形,如上所述,通過使用對(duì)應(yīng)于最后一個(gè)MIS的主信道 和信道協(xié)商協(xié)議來解決)。
在該實(shí)現(xiàn)中,例如,用于為每一個(gè)節(jié)點(diǎn)502調(diào)度信道切換的集中式算法如
下
(a) 評(píng)估對(duì)應(yīng)于節(jié)點(diǎn)502的信道占用時(shí)間并且在T^ + TN戶Te的情況下移除節(jié) 點(diǎn)N,;所得節(jié)點(diǎn)圖是G。
(b) 如上所述地將節(jié)點(diǎn)圖G轉(zhuǎn)換為鏈路圖G'并且使用貪婪算法來從G'中選 擇MIS。
(c) 將鏈路圖G,轉(zhuǎn)換成信道圖G,,并從G"中選擇MIS并且分配客信道,直 到G"或客信道為空。
(d) 根據(jù)鏈路的時(shí)間權(quán)重來調(diào)度信道切換極點(diǎn)。
用于信道切換 的示例性分布式算法
OMMAC 516如下設(shè)計(jì)1)每一個(gè)節(jié)點(diǎn)502僅具有網(wǎng)絡(luò)504的部分更新 信息,因此OMMAC 516本地地根據(jù)從一跳鄰居節(jié)點(diǎn)502獲取的信息來優(yōu)化信 道切換決定(該決定獨(dú)立于來自遠(yuǎn)于一跳范圍的節(jié)點(diǎn)的信息);2)每一個(gè)鏈 路都異步地在客信道上調(diào)度,因此在集中式模式中OMMAC 516鏈路調(diào)度根據(jù) 其他已調(diào)度的鏈路來調(diào)整;以及3) OMMAC 516實(shí)現(xiàn)用于分布式信道切換的客 信道協(xié)商的協(xié)議并適應(yīng)于通信。這些方面將在以下更詳細(xì)地描述。
8.本地MIS
無線網(wǎng)絡(luò)504中的每一個(gè)節(jié)點(diǎn)502通常都只獲取其通信范圍內(nèi)的通信和信 道的信息。由此,由每一個(gè)節(jié)點(diǎn)生成/觀察的網(wǎng)絡(luò)通信圖G是部分的。因此, 對(duì)于每一個(gè)節(jié)點(diǎn)502的MIS選擇可以是不同的。在該小節(jié)中,討論用來自鄰居 節(jié)點(diǎn)502的信息來更新節(jié)點(diǎn)的信息。具體而言,OMMAC框架516提供主信道 上的鏈路層廣播。由此,每一個(gè)節(jié)點(diǎn)502都被配置成傳送周期性廣播消息以便 與其他節(jié)點(diǎn)502交換通信和信道信息。在該實(shí)現(xiàn)中,例如,每一個(gè)節(jié)點(diǎn)502都 每秒傳送一次這一廣播消息,但可使用其他周期性時(shí)間幀。為了減少可能導(dǎo)致 過期信息的延遲消息的機(jī)會(huì),每一個(gè)節(jié)點(diǎn)502都廣播其通信和信道信息而不是為其他節(jié)點(diǎn)中繼信息。在另一實(shí)現(xiàn)中,這一信息交換獨(dú)立于廣播消息來實(shí)現(xiàn)。 例如,在一個(gè)實(shí)現(xiàn)中,節(jié)點(diǎn)的通信和信道信息被承載在正在進(jìn)行的通信首部中。
9.異步信道切換調(diào)用
在集中式模式中,OMMAC 516為網(wǎng)絡(luò)504的整個(gè)鏈路圖計(jì)算MIS。 OMMAC516然后使用貪婪算法(最低等級(jí)優(yōu)先)來分配所有鏈路。貪婪(最 低等級(jí)優(yōu)先)算法是已知著色算法的示例。在實(shí)際分布式模式中,每一個(gè)節(jié)點(diǎn) 502都異步地協(xié)商信道切換調(diào)度,這意味著節(jié)點(diǎn)502基于從鄰居節(jié)點(diǎn)502接收 到的所觀察到的信道切換調(diào)度來作出調(diào)度決定。這一異步調(diào)度通過協(xié)商消息來 平滑網(wǎng)絡(luò)504上的任何消息激增,并且在主信道時(shí)間上平衡數(shù)據(jù)吞吐量負(fù)載。 在一個(gè)實(shí)現(xiàn)中,并且為了進(jìn)一步減少協(xié)商消息的開銷,OMMAC516生成覆蓋 對(duì)應(yīng)于多個(gè)時(shí)間周期(例如,請(qǐng)參見圖6)的信道切換活動(dòng)的信道切換調(diào)度。
在一個(gè)實(shí)現(xiàn)中,OMMAC 516實(shí)現(xiàn)供節(jié)點(diǎn)Ni如下調(diào)度信道切換模式的分 布式算法。
節(jié)點(diǎn)502周期性地廣播節(jié)點(diǎn)502上的任何活動(dòng)鏈路的相關(guān)的占用時(shí)間TNi、 時(shí)間權(quán)重和信道。
節(jié)點(diǎn)502收集從鄰居節(jié)點(diǎn)502接收到的廣播消息以構(gòu)造表示所有二跳鄰居 節(jié)點(diǎn)和活動(dòng)鏈路的圖G。 例如,二跳節(jié)點(diǎn)信息通過評(píng)估來自一跳節(jié)點(diǎn)的 廣播消息來獲取。為了示出這點(diǎn),請(qǐng)假設(shè)存在五個(gè)節(jié)點(diǎn)的鏈拓?fù)浣Y(jié)構(gòu), 這五個(gè)節(jié)點(diǎn)為節(jié)點(diǎn)A到E,如下A-——B——C-——D…—E。 在該示例中, 節(jié)點(diǎn)A只能聽見B, B能夠聽見A和C, .... E只能聽見D。節(jié)點(diǎn)C從節(jié)點(diǎn) D接收廣播,該廣播包含與D》C和D》E相關(guān)聯(lián)的通信信息。因此節(jié)點(diǎn)C 知道存在節(jié)點(diǎn)E,并且E不是C的鄰居,因?yàn)镃無法直接聽見E。類似地, C知道A。以此方式,每一個(gè)節(jié)點(diǎn)都可從二跳內(nèi)的所有節(jié)點(diǎn)收集信息。
節(jié)點(diǎn)502評(píng)估對(duì)應(yīng)于每一個(gè)鄰居節(jié)點(diǎn)502的信道占用時(shí)間;如果Tcs + TNj>Te,則從G中移除鄰居節(jié)點(diǎn)Nj。
節(jié)點(diǎn)502將節(jié)點(diǎn)圖G轉(zhuǎn)換成鏈路圖G'。 然后節(jié)點(diǎn)502評(píng)估該鏈路圖以檢 查所有活動(dòng)鏈路的調(diào)度,在節(jié)點(diǎn)的對(duì)應(yīng)鏈路已被調(diào)度的情況下將該節(jié)點(diǎn)移 至MIS。 節(jié)點(diǎn)502繼續(xù)使用貪婪算法來從G'中標(biāo)識(shí)MIS中的節(jié)點(diǎn)。
21 節(jié)點(diǎn)502將鏈路圖G'轉(zhuǎn)換成信道圖G,',從G',中選擇MIS,如上所述,并且基于調(diào)度的鏈路信道設(shè)置來分配客信道,直到G"或客信道集為空。
如果鏈路l(w在G',中并且未被調(diào)度,則節(jié)點(diǎn)502根據(jù)該鏈路的時(shí)間權(quán)重來調(diào)度信道切換極點(diǎn)(請(qǐng)參見等式(3))。
10.用于調(diào)度協(xié)商的示例性協(xié)議
圖9示出根據(jù)一個(gè)實(shí)施例的示例性信道切換調(diào)度協(xié)商協(xié)議實(shí)現(xiàn)。在該示例中,每一個(gè)節(jié)點(diǎn)Ni和N」都表示圖5的各個(gè)節(jié)點(diǎn)502。參考圖9,并且基于上述分布式算法,如果節(jié)點(diǎn)H 902決定用鄰居Nj 904來調(diào)度信道切換,則H向節(jié)點(diǎn)N」發(fā)送切換信道(SC)請(qǐng)求消息以指示其希望用Nj來調(diào)度信道切換。(出于示例性說明的目的,這一 SC請(qǐng)求消息被示為圖5中的"其他程序數(shù)據(jù)"538的相應(yīng)部分)。在該實(shí)現(xiàn)中,SC請(qǐng)求消息包括所提議的極點(diǎn)和客信道。
參考框906、 908和910,并且在該實(shí)現(xiàn)中,各個(gè)消息發(fā)送和接收節(jié)點(diǎn)響應(yīng)于發(fā)送/接收消息來啟動(dòng)各自的定時(shí)器以避免對(duì)于節(jié)點(diǎn)502的鄰域內(nèi)的節(jié)點(diǎn)的同步的信道切換調(diào)度協(xié)商。(示例性定時(shí)器邏輯528將在以下段落
處的題為"定時(shí)器邏輯"的部分中更詳細(xì)地描述)。響應(yīng)于接收到該請(qǐng)求消息,
節(jié)點(diǎn)Nj檢查I^ + TN,Te是否成立。請(qǐng)回想,Tse和TNi分別表示切換信道的時(shí)間開銷和節(jié)點(diǎn)Ni在每一個(gè)周期的信道占用時(shí)間;如果T^ + lNi〉Te,則信道切
換影響節(jié)點(diǎn)Ni中的吞吐量。如果通過(即,Tse + TNj<Te),則Nj驗(yàn)證所提議的客信道是否已由任何一跳鄰居節(jié)點(diǎn)502保留。如果所提議的客信道尚未保留,則Nj用確認(rèn)(ACK)消息(單播)來向節(jié)點(diǎn)Ni確認(rèn)該請(qǐng)求。在這種情況下,所提議的極點(diǎn)處的已調(diào)度的信道切換動(dòng)作由H和Nj在每一個(gè)周期中執(zhí)行。在替換方案中,Nj向作出請(qǐng)求的節(jié)點(diǎn)發(fā)送非確認(rèn)(NACK)消息以拒絕和取消信道切換請(qǐng)求。在該實(shí)現(xiàn)中,節(jié)點(diǎn)Nj將拒絕這一請(qǐng)求的原因通知給Ni。如果拒絕信道切換請(qǐng)求的原因是由于已占用的信道,則Nj將不同的所建議的候選客信道承載到節(jié)點(diǎn)Ni,如果可能的話。
在一個(gè)實(shí)現(xiàn)中,節(jié)點(diǎn)502可以例如用ACK/NACK消息來向其他節(jié)點(diǎn)502提供反饋以確認(rèn)/拒絕切換請(qǐng)求。如果結(jié)果是NACK或者在可配置的時(shí)間量過去后(超時(shí))未在節(jié)點(diǎn)Nj處接收到反饋,則節(jié)點(diǎn)Ni將信道切換請(qǐng)求視作失敗的請(qǐng)求。否則,在該實(shí)現(xiàn)中,節(jié)點(diǎn)Ni和節(jié)點(diǎn)Nj兩者都廣播SC通知消息兩次:
第一個(gè)這樣的消息在分別在節(jié)點(diǎn)Nj或Ni處發(fā)送或接收SC響應(yīng)消息后廣播。
在該實(shí)現(xiàn)中,這一雙重通知基本上防止了丟失通知廣播的任何影響。如果節(jié)點(diǎn)
在當(dāng)前時(shí)間周期中的廣播信道時(shí)間實(shí)現(xiàn)信道切換協(xié)商,則第二個(gè)sc通知消息
在下一時(shí)間周期中的廣播時(shí)間傳送。后一種情形在圖9中示出。請(qǐng)注意,在該實(shí)現(xiàn)中,兩個(gè)節(jié)點(diǎn)502可能將例如由于極點(diǎn)變化或先前調(diào)度的客信道上的調(diào)度延長而協(xié)商新的切換調(diào)度。在這種情況下,并且在該特定實(shí)現(xiàn)中,本地OMMAC516分別基于下一個(gè)和第三個(gè)周期中的廣播時(shí)間來分別調(diào)度這兩個(gè)廣播。
示例性網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)
參考圖l,如上所述,每一個(gè)節(jié)點(diǎn)502都實(shí)現(xiàn)系統(tǒng)500的信道切換策略的相應(yīng)部分。在一個(gè)實(shí)現(xiàn)中,該信道切換策略是集中式的。在另一個(gè)實(shí)現(xiàn)中,該信道切換策略是分布式的。具體而言,OMMAC516包括用于控制NIC驅(qū)動(dòng)程序518,管理操作系統(tǒng)非實(shí)時(shí)軟件中斷并遵從任何傳統(tǒng)的NIC驅(qū)動(dòng)程序調(diào)度/緩沖要求的邏輯。例如,在一個(gè)實(shí)現(xiàn)中,OMMAC516包括通信測(cè)量邏輯522、信息交換邏輯524、信道切換調(diào)度器邏輯526 ("按切換邏輯調(diào)度"526)、定時(shí)器邏輯528以及分組緩沖邏輯530。該示例性次序不暗示或限制體系結(jié)構(gòu)次序或該邏輯的各部分之間的數(shù)據(jù)流。相反,所呈現(xiàn)的邏輯次序522到530是出于描述的目的?,F(xiàn)在描述這些模塊的各示例性方面。
示例性通信測(cè)量和信息交換
通信測(cè)量邏輯522例如生成已發(fā)送和接收到的分組的日志。通信測(cè)量邏輯522還為傳入和傳出分組計(jì)算相關(guān)聯(lián)的通信量。在該實(shí)現(xiàn)中,在邏輯522處測(cè)得的通信使用已知的時(shí)間滑動(dòng)窗平均算法來實(shí)現(xiàn)這些計(jì)算以便提供對(duì)應(yīng)于先前的可配置時(shí)間段的平均通信量。信息交換邏輯524傳播對(duì)應(yīng)于相應(yīng)節(jié)點(diǎn)502的信道切換時(shí)間表。出于示例性說明的目的,這些日志和信道切換時(shí)間表被示為"其他程序數(shù)據(jù)"538的相應(yīng)部分。信息交換邏輯524還組織從相鄰節(jié)點(diǎn)502接收到的通信信息和信道切換時(shí)間表。調(diào)度和切換邏輯526利用任何這樣的所接收到的信道切換時(shí)間表來實(shí)現(xiàn)示例性信道切換調(diào)度操作。
23示例性調(diào)度和切換邏輯
調(diào)度和切換邏輯526基于由通信測(cè)量邏輯522收集的節(jié)點(diǎn)專用信息(自信息)以及由信息交換邏輯524收集的鄰居節(jié)點(diǎn)502信息來執(zhí)行例如上述貪婪算法。調(diào)度和切換邏輯526還訪問/利用NIC驅(qū)動(dòng)程序518所展示的應(yīng)用程序編程接口 (API) 534。 API 534提供到NIC驅(qū)動(dòng)程序518的接口以切換信道并同步信道切換時(shí)間表以使得節(jié)點(diǎn)502中的相應(yīng)節(jié)點(diǎn)同時(shí)切換到同一信道。現(xiàn)在描述節(jié)點(diǎn)信道切換同步的示例性實(shí)現(xiàn)。
跨多個(gè)信道來同步節(jié)點(diǎn)之間的同步信道切換操作是有挑戰(zhàn)性的,因?yàn)樵诓煌诺郎瞎ぷ鞯墓?jié)點(diǎn)更有可能丟失同步。使用常規(guī)的信道切換技術(shù),網(wǎng)絡(luò)節(jié)點(diǎn)之間的信道切換時(shí)間的差異經(jīng)常導(dǎo)致分組重傳,并且甚至可能導(dǎo)致分組丟失。多個(gè)因素影響信道切換同步。這些因素包括例如,所利用的特定同步協(xié)議、時(shí)鐘漂移、溫度等。調(diào)度和切換邏輯526用允許節(jié)點(diǎn)502同時(shí)切換到特定信道頻率的實(shí)用節(jié)點(diǎn)信道切換同步方案來解決這些挑戰(zhàn)。
在該實(shí)現(xiàn)中,調(diào)度和切換邏輯526在基于802.11超幀的周期性時(shí)間周期上操作。(也請(qǐng)參考與描述這一周期性時(shí)間周期的圖6相關(guān)聯(lián)的上述描述)。802.11協(xié)議信標(biāo)在廣播消息時(shí)間段的開始處廣播。接收到的信標(biāo)指示802.11MAC時(shí)間。響應(yīng)于接收到信標(biāo),每一個(gè)節(jié)點(diǎn)502更新其各自的802.11時(shí)間戳(即,在每一個(gè)周期的廣播時(shí)間)。每一個(gè)節(jié)點(diǎn)502然后在每一個(gè)周期確定本地機(jī)器時(shí)間與MAC時(shí)間的任何差異。在調(diào)度和切換邏輯526計(jì)算對(duì)應(yīng)節(jié)點(diǎn)502的信道切換時(shí)間表時(shí),該調(diào)度和切換邏輯526將與該時(shí)間表相關(guān)聯(lián)的時(shí)間轉(zhuǎn)換成802.11 MAC時(shí)間。這些轉(zhuǎn)換在信息交換邏輯524將該時(shí)間表向鄰居節(jié)點(diǎn)502的任何傳送之前執(zhí)行。響應(yīng)于接收到來自其他節(jié)點(diǎn)502的這些信道切換時(shí)間表,調(diào)度和切換邏輯526將所指示的802.11 MAC時(shí)間轉(zhuǎn)換成相關(guān)聯(lián)的本地機(jī)器時(shí)間以調(diào)度信道切換事件。
在該實(shí)現(xiàn)中,NIC驅(qū)動(dòng)程序518展示API 534,其允許切換邏輯526請(qǐng)求NIC驅(qū)動(dòng)程序518向作出請(qǐng)求的節(jié)點(diǎn)502發(fā)送MAC時(shí)間(例如,802.11 MAC時(shí)間)。API 534的該相應(yīng)部分允許作出請(qǐng)求的節(jié)點(diǎn)502計(jì)算機(jī)器時(shí)間與MAC時(shí)間的差異。在該實(shí)現(xiàn)中,MAC時(shí)間粒度是1微秒,并且MAC時(shí)間的同步誤差是大致也是1微秒的傳播延遲誤差。機(jī)器時(shí)間粒度例如通常是100納秒。
因此,并且在該特定實(shí)現(xiàn)中,切換邏輯526提供微秒級(jí)節(jié)點(diǎn)信道切換同步。
此外,因?yàn)槊恳粋€(gè)節(jié)點(diǎn)502都在同一主信道上操作并且802.11 MAC只在該主信道上廣播信標(biāo),所以在向網(wǎng)絡(luò)504添加新節(jié)點(diǎn)時(shí),該新節(jié)點(diǎn)使用802.11掃描相位來實(shí)現(xiàn)網(wǎng)絡(luò)發(fā)現(xiàn)操作。定時(shí)器邏輯
出于示例性描述的目的,描述WINDOWS操作系統(tǒng)的定時(shí)器方面。這些所描述的方面類似于其他操作系統(tǒng)實(shí)現(xiàn)。WINDOWS上的默認(rèn)定時(shí)器粒度是10毫秒并且應(yīng)用程序通常能夠獲取100納秒級(jí)的準(zhǔn)確時(shí)間測(cè)量。對(duì)于內(nèi)核中的嚴(yán)格的定時(shí)器要求,WINDOWS提供用于將定時(shí)器粒度調(diào)整為大致1毫秒的API。然而,在調(diào)整定時(shí)器粒度后,并且盡管平均定時(shí)器誤差小于1毫秒,但定時(shí)器誤差在操作系統(tǒng)(OS)負(fù)載非常高時(shí)仍然可能大于IO毫秒。其一個(gè)原因是因?yàn)檐浖陀布录ǔ1恢糜诠┨幚淼幕趦?yōu)先級(jí)的隊(duì)列中。硬件事件通常具有從供處理的事件隊(duì)列中移除的最高優(yōu)先級(jí),而軟件事件具有許多可能的優(yōu)先級(jí)。因此,存在對(duì)基于操作系統(tǒng)定時(shí)器中斷使用軟件定時(shí)器來實(shí)現(xiàn)信道切換時(shí)間表的實(shí)際限制。
與常規(guī)信道切換定時(shí)器相反,OMMAC 516基于與操作系統(tǒng)相關(guān)聯(lián)的多處理時(shí)間片來實(shí)現(xiàn)軟件定時(shí)器邏輯528。系統(tǒng)500的定時(shí)器邏輯528解決常規(guī)軟件定時(shí)器的限制以便為分組和信道切換調(diào)度提供定時(shí)器。具體而言,定時(shí)器邏輯528將定時(shí)器線程的優(yōu)先級(jí)設(shè)為最高軟件優(yōu)先級(jí)以使得這些定時(shí)器線程將從事件隊(duì)列中迅速移除并進(jìn)行處理。這一優(yōu)先級(jí)調(diào)整基本上減少了在常規(guī)信道切換實(shí)現(xiàn)中很明顯的信道切換等待時(shí)間。對(duì)于分組和信道切換調(diào)度,定時(shí)器邏輯528響應(yīng)于分組時(shí)間表的定時(shí)器線程的到期/激發(fā)來通知分組緩沖邏輯530向特定鄰居節(jié)點(diǎn)502發(fā)送分組。(這一緩沖邏輯在以下題為"示例性分組緩沖邏輯"的部分中描述)。在另一示例中,當(dāng)信道切換定時(shí)器激發(fā)時(shí),定時(shí)器邏輯528通知切換邏輯526向NIC驅(qū)動(dòng)程序518傳送信道切換命令/請(qǐng)求(例如,經(jīng)由API 534)。
示例性數(shù)據(jù)流
圖IO示出了根據(jù)一個(gè)實(shí)施例的用于自組織網(wǎng)絡(luò)的分布式OMMAC的另一示例性節(jié)點(diǎn)體系結(jié)構(gòu)。具體而言,圖10示出了分組路由邏輯、OMMAC 516的數(shù)據(jù)和控制平面部分和NIC驅(qū)動(dòng)程序518之間的示例性數(shù)據(jù)流。數(shù)據(jù)平面表示分組緩沖邏輯。這一分組緩沖邏輯在圖5中被示為分組緩沖邏輯530。控制平面包括通信測(cè)量邏輯522、信息交換邏輯524、分布式通用調(diào)度和切換邏輯526和定時(shí)器邏輯528,如以上參考圖5所描述的。因此,并且出于示例性描述的目的,圖10的各方面參考圖5的組件來描述。在該描述中,當(dāng)組件附圖 標(biāo)記的最左邊的數(shù)字以"5"開頭時(shí),該組件在圖5中首次引入。
參考圖10, OMMAC 516包括數(shù)據(jù)平面和控制平面。該數(shù)據(jù)平面從分組 路由邏輯1002接收分組,如數(shù)據(jù)通信箭頭1004所示。該數(shù)據(jù)平面還從OMMAC 516的控制平面部分接收消息(例如,協(xié)商消息、信令消息等)。(來自控制 平面的消息用從控制平面到數(shù)據(jù)平面的、方向從左到右的黑色(填充的)箭頭 來表示)。如圖所示,數(shù)據(jù)平面分類器邏輯1006基于分組目的地并基于該分 組將會(huì)在主信道上還是在特定客信道上傳送來將所接收到的分組/消息(統(tǒng)稱為 分組)放入節(jié)點(diǎn)目的地隊(duì)列1008。這些目的地隊(duì)列在圖IO中被示為例如"目 的地1"到"目的地n"。節(jié)點(diǎn)目的地和信道標(biāo)識(shí)由相應(yīng)的分組首部來提供。 箭頭1010表示來自NIC驅(qū)動(dòng)程序518 (到NIC硬件1012的接口)的傳入(上 行鏈路)消息。如圖所示,OMMAC516將表示數(shù)據(jù)的傳入消息傳送到路由邏 輯1002。 OMMAC516將不是數(shù)據(jù)的傳入消息傳送到控制平面。
如先前部分中所指示的,網(wǎng)絡(luò)節(jié)點(diǎn)的本地OMMAC 516包括定時(shí)器邏輯 528,其用于觸發(fā)對(duì)應(yīng)節(jié)點(diǎn)的極點(diǎn)在周期性時(shí)間周期期間從主信道切換到相應(yīng) 客信道(在該周期性時(shí)間周期結(jié)束時(shí)該節(jié)點(diǎn)切換回主信道)。節(jié)點(diǎn)的極點(diǎn)基于 由通信測(cè)量邏輯522的通信測(cè)量提供的通信以及由其他節(jié)點(diǎn)提供的通信測(cè)量。 為此,該節(jié)點(diǎn)與其他節(jié)點(diǎn)交換其特定通信測(cè)量以使得這些其他節(jié)點(diǎn)可作出其自 己的極點(diǎn)決定。在圖IO的示例中,從控制平面到數(shù)據(jù)平面的從左到右的箭頭 表示數(shù)據(jù)通信,該數(shù)據(jù)通信的至少一部分是供排隊(duì)并傳送到自組織網(wǎng)絡(luò)中的其 他各個(gè)節(jié)點(diǎn)的該特定節(jié)點(diǎn)的通信測(cè)量。這一通信由箭頭1014示出。另外,并 且如先前部分中所描述的,分布式信道調(diào)度邏輯526調(diào)度對(duì)應(yīng)于該節(jié)點(diǎn)的信道 切換時(shí)間(例如,基于貪婪算法)并將這些時(shí)間表傳送到其他節(jié)點(diǎn)以供進(jìn)行信 道切換同步操作。
示例性分組緩沖邏輯
現(xiàn)在更詳細(xì)地描述圖10的數(shù)據(jù)平面(也由圖5的分組緩沖邏輯530來表 示)的操作。該分組緩沖邏輯緩沖來自分類器邏輯1006和來自控制平面的分 組以便將這些分組傳送到自組織網(wǎng)絡(luò)中的其他網(wǎng)絡(luò)節(jié)點(diǎn)。在該實(shí)現(xiàn)中,緩沖邏
27輯530將分組緩沖在按優(yōu)先級(jí)排序的目的地隊(duì)列1004中。(這一優(yōu)先級(jí)排序 不是先進(jìn)先出優(yōu)先級(jí)排序,而是基于由OMMAC 516的一個(gè)或多個(gè)相應(yīng)部分 (例如,定時(shí)器邏輯528)和/或其他程序模塊提供的特定優(yōu)先級(jí))。例如,在 優(yōu)先級(jí)隊(duì)列中,OMMAC516向諸如上述信道切換請(qǐng)求等信令消息提供比與其 他應(yīng)用通信相關(guān)聯(lián)的消息高的相應(yīng)優(yōu)先級(jí)。
在該實(shí)現(xiàn)中,例如,每一個(gè)節(jié)點(diǎn)502都實(shí)現(xiàn)用于控制分組向在不同時(shí)刻調(diào) 度的不同的目的地節(jié)點(diǎn)的傳輸?shù)拿抗?jié)點(diǎn)鄰居(per-node-neighbor)目的地隊(duì)列 1006。如果多個(gè)鄰居節(jié)點(diǎn)隊(duì)列1006在同一時(shí)間(例如,在主信道上)是活動(dòng) 的(例如,活動(dòng)隊(duì)列展示閾值通信量)且是有效的,則分組根據(jù)循環(huán)次序來服 務(wù)。如圖所示,分組緩沖和調(diào)度邏輯,而不是NIC驅(qū)動(dòng)程序518或?qū)?yīng)的硬件 1012維護(hù)優(yōu)先級(jí)隊(duì)列。這允許切換和調(diào)度邏輯526在調(diào)度對(duì)應(yīng)的信道時(shí)控制所 有分組傳輸時(shí)間。
根據(jù)循環(huán)次序來服務(wù)分組不同于根據(jù)先進(jìn)先出(FIFO)調(diào)度來服務(wù)分組。 這是因?yàn)楣?jié)點(diǎn)502根據(jù)不同隊(duì)列中的各個(gè)優(yōu)先級(jí)來緩沖分組。始終首先服務(wù)具 有較高優(yōu)先級(jí)的隊(duì)列,然后服務(wù)具有較低優(yōu)先級(jí)的隊(duì)列。具有相同優(yōu)先級(jí)的隊(duì) 列通過循環(huán)調(diào)度來服務(wù)。對(duì)于FIFO,分組根據(jù)到達(dá)時(shí)間來服務(wù)。相反,并且 在該實(shí)現(xiàn)中,服務(wù)來自隊(duì)列的較高優(yōu)先級(jí)分組,即使該較高優(yōu)先級(jí)分組晚于以 較低優(yōu)先級(jí)排隊(duì)的分組到達(dá)。循環(huán)操作也不同于FIFO隊(duì)列處理操作。例如, 請(qǐng)假設(shè)隊(duì)列1和隊(duì)列2具有某一優(yōu)先級(jí),并且隊(duì)列1的分組到達(dá)率兩倍于隊(duì)列 2的分組到達(dá)率。在FIFO的情況下,給予隊(duì)列1兩倍于隊(duì)列2的機(jī)會(huì),而在 循環(huán)的情況下,給予隊(duì)列1與隊(duì)列2相同的機(jī)會(huì)。
在常規(guī)信道切換模式切換信道時(shí),由MAC或在硬件中緩沖的分組通常由 于在切換信道處發(fā)生的硬件重置而被丟棄。另外,分配給數(shù)據(jù)吞吐性能的MAC 或硬件緩沖空間的大小通常是受限的,從而經(jīng)常導(dǎo)致緩沖區(qū)溢出情況。為了解 決常規(guī)系統(tǒng)的這些限制,分組緩沖和調(diào)度邏輯只在先前傳送的分組己由NIC驅(qū) 動(dòng)程序518服務(wù)時(shí)才向NIC驅(qū)動(dòng)程序518發(fā)送分組。為了提供該信息,NIC驅(qū) 動(dòng)程序518向信息交換模塊524傳送成功狀態(tài)(請(qǐng)參見上行鏈路箭頭1010)。 信息交換模型524然后將該狀態(tài)傳送到分組緩沖和調(diào)度邏輯。在這種情況下, 并且在先前的分組在NIC驅(qū)動(dòng)程序518處待決時(shí),分組緩沖和調(diào)度邏輯停止任何下一分組直到接收到這一成功狀態(tài)。另外,在該實(shí)現(xiàn)中,切換和調(diào)度邏輯526
使用定時(shí)器邏輯528來配置任何已調(diào)度的信道切換事件之前的分組消耗時(shí)間。 該分組消耗時(shí)間向無線NIC硬件1008提供在信道切換操作之前傳送任何緩沖 分組的時(shí)間。在該實(shí)現(xiàn)中,分組消耗時(shí)間是l毫秒。
示例性實(shí)現(xiàn)
圖11示出了根據(jù)一個(gè)實(shí)施例的實(shí)現(xiàn)用于自組織網(wǎng)絡(luò)的分布式OMMAC的 網(wǎng)絡(luò)節(jié)點(diǎn)的示例性實(shí)現(xiàn)1100。該特定示例示出了節(jié)點(diǎn)502 (也請(qǐng)參見圖5), 該節(jié)點(diǎn)505具有在WINDOWS平臺(tái)上實(shí)現(xiàn)的OMMAC 516。該表示只是出于 示例性目的,作為用于實(shí)現(xiàn)本地OMMAC 516的許多可能的平臺(tái)中的一個(gè)樣本 平臺(tái)。例如,節(jié)點(diǎn)的本地OMMAC也可以在Linux平臺(tái)、UNIX平臺(tái)等上實(shí)現(xiàn)。 參考圖ll,該實(shí)現(xiàn)的棧模塊在圖11中用單陰影填充來示出。例如,OMMAC 516 被實(shí)現(xiàn)為WINDOWS XP平臺(tái)上的IM (媒體間)NDIS (網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī) 范)驅(qū)動(dòng)程序。NIC小型端口驅(qū)動(dòng)程序518 (也請(qǐng)參見圖5)提供(a)提供 802.11 MAC時(shí)間(由對(duì)應(yīng)于802.11自組織網(wǎng)絡(luò)中的所有節(jié)點(diǎn)502的信標(biāo)來同 步)的接口 534 (也請(qǐng)參見圖5) ; (b)用于接收和響應(yīng)NIC驅(qū)動(dòng)程序處的對(duì) 信道切換的請(qǐng)求的接口 534以及(c)等等。命令行工具1102提供用于控制 OMMAC 516的行為的用戶界面。這一行為包括例如,改變諸如周期時(shí)間、時(shí) 隙大小、切換信道的保護(hù)時(shí)間等參數(shù)。該示例還示出與"Win套接字"進(jìn)行通 信的、在用戶空間中運(yùn)行的"應(yīng)用程序",與無線NIC進(jìn)行通信的內(nèi)核空間中 的"TCP/IP"和"NDIS"。同樣,這只是用于實(shí)現(xiàn)用于自組織網(wǎng)絡(luò)的分布式 重疊多信道MAC的系統(tǒng)和方法的網(wǎng)絡(luò)節(jié)點(diǎn)的一個(gè)是示例性實(shí)現(xiàn)。
示例性過程
圖12示出根據(jù)一個(gè)實(shí)現(xiàn)的用于自組織網(wǎng)絡(luò)的分布式重疊多信道MAC的 示例性過程。在一個(gè)實(shí)現(xiàn)中,過程1200的操作由圖5的網(wǎng)絡(luò)節(jié)點(diǎn)502的各個(gè) 程序模塊510來實(shí)現(xiàn)。出于示例性說明和描述的目的,過程1200的操作參考 圖5到11的組件和各方面來描述。在該描述中,范圍從100到999的組件/操 作(步驟)附圖標(biāo)記的最左邊的數(shù)字表示其中該組件/操作被首次引入的附圖。 類似地,范圍從1000到更大數(shù)字的組件/操作附圖標(biāo)記的最左邊的兩個(gè)數(shù)字表示其中該組件/操作被首次引入的附圖。
參考圖12,框1202的操作確定對(duì)應(yīng)于自組織無線網(wǎng)絡(luò)中的各網(wǎng)絡(luò)節(jié)點(diǎn)的 主信道頻率("主信道")。框1204的操作標(biāo)識(shí)與主信道正交的一組客信道 頻率("客信道")。從由無線網(wǎng)絡(luò)協(xié)議提供的多個(gè)信道頻率中選擇(即,確 定和標(biāo)識(shí))主信道和客信道。這一無線網(wǎng)絡(luò)協(xié)議包括例如,IEEE 802.11???1206的操作由自組織無線網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)來在主信道上操作并持續(xù)各自 可變且重疊的時(shí)間量以維護(hù)與其他網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)連接。框1208的操作由每 --個(gè)節(jié)點(diǎn)確定是否以及何時(shí)從主信道切換到各自被分配的客信道并持續(xù)可變 時(shí)間量以便本地地優(yōu)化自組織網(wǎng)絡(luò)中的數(shù)據(jù)吞吐量。
圖13示出根據(jù)一個(gè)實(shí)施例的用于自組織網(wǎng)絡(luò)的分布式重疊多信道MAC 的另一示例性過程???302的操作將無線網(wǎng)絡(luò)協(xié)議的周期性時(shí)間周期分成 兩個(gè)階段。這兩個(gè)階段包括節(jié)點(diǎn)連接階段和數(shù)據(jù)吞吐量提高階段。該周期性時(shí) 間周期與由這些網(wǎng)絡(luò)節(jié)點(diǎn)中的相應(yīng)節(jié)點(diǎn)根據(jù)無線網(wǎng)絡(luò)協(xié)議來傳送的周期性信 標(biāo)消息相關(guān)聯(lián)。在一個(gè)實(shí)現(xiàn)中,無線網(wǎng)絡(luò)協(xié)議基于IEEE 802.11無線網(wǎng)絡(luò)協(xié)議。
框1304的操作在連接階段期間將自組織網(wǎng)絡(luò)中的每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)配置成 維護(hù)多個(gè)可用信道頻率中的單個(gè)主信道頻率上的連接。該多個(gè)可用信道頻率由 無線網(wǎng)絡(luò)協(xié)議提供并根據(jù)該無線網(wǎng)絡(luò)協(xié)議???306的操作在連接階段期間將 至少兩個(gè)節(jié)點(diǎn)配置成在與主信道正交的多個(gè)客信道中的一個(gè)客信道上進(jìn)行通 信???308的操作在連接階段期間由每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)使用主信道來維護(hù)自組 織網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)之間的連接???310的操作在數(shù)據(jù)吞吐量提高階段期間 由網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個(gè)子集使用一個(gè)或多個(gè)各自被分配的客信道來優(yōu)化自組 織網(wǎng)絡(luò)中的數(shù)據(jù)吞吐量。以此方式,自組織網(wǎng)絡(luò)中的網(wǎng)絡(luò)節(jié)點(diǎn)維護(hù)節(jié)點(diǎn)到節(jié)點(diǎn) 網(wǎng)絡(luò)連接并提升該自組織網(wǎng)絡(luò)的性能。
結(jié)論
雖然以上各部分已經(jīng)用對(duì)結(jié)構(gòu)特征和/或方法操作或動(dòng)作專用的語言描述 了用于無線自組織網(wǎng)絡(luò)的分布式重疊多信道MAC,但在所附權(quán)利要求中定義 的實(shí)現(xiàn)不必限于所描述的具體特征或動(dòng)作。例如,OMMAC516 (請(qǐng)參見圖5) 信道切換等待時(shí)間可通過用硬件定時(shí)器來替換由非實(shí)時(shí)OS提供的軟件定時(shí)器
30來減少。或者,在一替換實(shí)現(xiàn)中,定時(shí)器準(zhǔn)確度通過向os添加實(shí)時(shí)支持來提 高。由此,上述用于無線自組織網(wǎng)絡(luò)的分布式重疊多信道MAC的具體特征和
操作是實(shí)現(xiàn)所要求保護(hù)的主題的示例性形式。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括確定對(duì)應(yīng)于組組織網(wǎng)絡(luò)中的網(wǎng)絡(luò)節(jié)點(diǎn)(“節(jié)點(diǎn)”)的主信道頻率(“主信道”);標(biāo)識(shí)與所述主信道正交的一組客信道頻率(“客信道”);由所述節(jié)點(diǎn)中的每一個(gè)節(jié)點(diǎn)來在所述主信道上操作并持續(xù)各自可變且重疊的時(shí)間量以維護(hù)與其他節(jié)點(diǎn)的網(wǎng)絡(luò)連接;以及由所述節(jié)點(diǎn)中的每一個(gè)節(jié)點(diǎn)確定是否以及何時(shí)從所述主信道切換到所述客信道中的一特定客信道并持續(xù)可變時(shí)間量以便本地地優(yōu)化所述自組織網(wǎng)路中的數(shù)據(jù)吞吐量。
2. 如權(quán)利要求1所述的方法,其特征在于,所述主信道和所述客信道由無 線網(wǎng)絡(luò)協(xié)議來定義。
3. —種互連網(wǎng)絡(luò)節(jié)點(diǎn)("節(jié)點(diǎn)")的自組織網(wǎng)絡(luò)中的計(jì)算機(jī)實(shí)現(xiàn)的方法, 所述方法包括將周期性時(shí)間周期分成兩個(gè)階段,所述周期性時(shí)間周期與無線網(wǎng)絡(luò)協(xié)議的 信標(biāo)時(shí)間相關(guān)聯(lián),所述兩個(gè)階段包括連接階段和數(shù)據(jù)吞吐量提高階段;在所述連接階段期間將所述節(jié)點(diǎn)中的每一個(gè)節(jié)點(diǎn)配置成維護(hù)多個(gè)可用信 道頻率中的單個(gè)信道頻率("主信道")上的連接,所述可用信道頻率由所述無線網(wǎng)絡(luò)協(xié)議來建立;在所述連接階段期間將所述節(jié)點(diǎn)的至少一個(gè)子集配置成在多個(gè)客信道中 的一特定客信道上進(jìn)行通信,每一個(gè)客信道都與所述主信道正交;在所述連接階段期間由每一個(gè)節(jié)點(diǎn)使用所述主信道來維護(hù)所述自組織網(wǎng) 絡(luò)中的連接;以及在所述數(shù)據(jù)吞吐量提高階段期間由所述節(jié)點(diǎn)的至少一個(gè)子集使用所述客 信道中的一個(gè)或多個(gè)客信道來優(yōu)化所述自組織網(wǎng)絡(luò)中的數(shù)據(jù)吞吐量。
4. 如權(quán)利要求3所述的方法,其特征在于,所述無線網(wǎng)絡(luò)協(xié)議基于IEEE(802.11。
5. 如權(quán)利要求3所述的方法,其特征在于,所述主信道是所述可用信道頻 率中具有與所述可用信道頻率中的其他信道上的噪聲相比最少的噪聲量的信道頻率。
6. 如權(quán)利要求3所述的方法,其特征在于,將每一個(gè)節(jié)點(diǎn)配置成維護(hù)所述 主信道上的連接還包括-確定所述周期性時(shí)間周期期間供每一個(gè)節(jié)點(diǎn)在所述主信道上操作的相應(yīng) 時(shí)間量;計(jì)算所述相應(yīng)時(shí)間量的最小值,所述最小值表示所有節(jié)點(diǎn)都在所述主信道上操作的時(shí)間量,所述最小時(shí)間量是廣播時(shí)間段r6;由所述自組織網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)來在r力期間廣播各自的廣播消息以維 護(hù)連接。
7. 如權(quán)利要求3所述的方法,其特征在于,與將至少所述子集配置成在所 述特定客信道上進(jìn)行通信相關(guān)聯(lián)的操作是分布式的,以使得每一個(gè)節(jié)點(diǎn)都被配 置成基于所述節(jié)點(diǎn)中的一跳鄰居節(jié)點(diǎn)的數(shù)據(jù)吞吐量和連接來在所述客信道中 的相應(yīng)信道上進(jìn)行通信。
8. 如權(quán)利要求3所述的方法,其特征在于,與將至少所述子集配置成在所 述特定客信道上進(jìn)行通信相關(guān)聯(lián)的操作還包括確定用于表示所述自組織網(wǎng)絡(luò)中的節(jié)點(diǎn)的數(shù)據(jù)通信模式的節(jié)點(diǎn)通信圖;將所述節(jié)點(diǎn)通信圖轉(zhuǎn)換成鏈路圖,所述鏈路圖表示由所述通信圖表示的活 動(dòng)節(jié)點(diǎn)之間的通信鏈路,每一個(gè)活動(dòng)節(jié)點(diǎn)都與閾值數(shù)據(jù)通信量相關(guān)聯(lián);從所述鏈路圖中標(biāo)識(shí)節(jié)點(diǎn)的最大獨(dú)立集(MIS) , MIS節(jié)點(diǎn)中的每一個(gè)都 是與另一節(jié)點(diǎn)沒有主要沖突的節(jié)點(diǎn), 一節(jié)點(diǎn)在該節(jié)點(diǎn)和另一節(jié)點(diǎn)都需要同一節(jié) 點(diǎn)來進(jìn)行數(shù)據(jù)通信時(shí)與該另一節(jié)點(diǎn)有主要沖突;將所述鏈路圖轉(zhuǎn)換成信道圖,所述信道圖表示所述客信道;以及如果對(duì)于所述節(jié)點(diǎn)的MIS中的每一個(gè)節(jié)點(diǎn)存在所述節(jié)點(diǎn)的MIS中所表示的至少兩個(gè)節(jié)點(diǎn),則將所述節(jié)點(diǎn)分配給所述信道圖中所表示的客信道中的相應(yīng)客信道。
9.如權(quán)利要求8所述的方法,其特征在于,如果所述節(jié)點(diǎn)的MIS僅表示 所述節(jié)點(diǎn)中的單個(gè)節(jié)點(diǎn),則所述方法還包括移除與所述單個(gè)節(jié)點(diǎn)相關(guān)聯(lián)的任何 信道切換時(shí)間表。
10. 如權(quán)利要求8所述的方法,其特征在于,所述節(jié)點(diǎn)的MIS使用貪婪 算法來確定。
11. 如權(quán)利要求3所述的方法,其特征在于,與維護(hù)所述連接和優(yōu)化所 述數(shù)據(jù)吞吐量相關(guān)聯(lián)的操作還包括在所述周期性時(shí)間周期期間對(duì)于每一個(gè)節(jié)點(diǎn)如果可提高所述節(jié)點(diǎn)和另一節(jié)點(diǎn)之間的數(shù)據(jù)吞吐量,貝!J:(a) 計(jì)算供所述節(jié)點(diǎn)在所述周期性時(shí)間周期中的極點(diǎn)處從所述主 信道切換到特定客信道的信道切換時(shí)間表;(b) 將所述信道切換時(shí)間表傳送到所述另一節(jié)點(diǎn)以使得所述節(jié)點(diǎn) 和所述另一節(jié)點(diǎn)能夠在同步時(shí)刻切換到所述客信道中的特定客信 道;以及(c) 在所述同步時(shí)刻將所述節(jié)點(diǎn)從所述主信道切換到所述特定客 信道以便將所述節(jié)點(diǎn)從所述連接階段轉(zhuǎn)移到所述數(shù)據(jù)吞吐量提高 階段,所述節(jié)點(diǎn)被配置成在所述周期性時(shí)間周期結(jié)束時(shí)切換回所 述主信道;并且如果無法提高所述節(jié)點(diǎn)和所述另一節(jié)點(diǎn)之間的數(shù)據(jù)吞吐量,則移除與所述 節(jié)點(diǎn)相關(guān)聯(lián)的任何信道切換時(shí)間表以使得所述節(jié)點(diǎn)保持在所述主信道上。
12. 如權(quán)利要求11所述的方法,其特征在于,所述同步的時(shí)刻由所述節(jié)點(diǎn)根據(jù)所述節(jié)點(diǎn)的第一本地機(jī)器時(shí)間來調(diào)度,所述另一節(jié)點(diǎn)根據(jù)與所述另一 節(jié)點(diǎn)相關(guān)聯(lián)的第二本地機(jī)器時(shí)間來表示所述同步的時(shí)刻,第一和第二本地機(jī)器 時(shí)間彼此獨(dú)立。
13. 如權(quán)利要求12所述的方法,其特征在于,計(jì)算所述信道切換時(shí)間 表還包括由所述節(jié)點(diǎn)來在所述主信道上接收信標(biāo)消息,所述信標(biāo)消息指示與所述無線網(wǎng)絡(luò)協(xié)議相關(guān)聯(lián)的媒體訪問控制(MAC)時(shí)間;由所述節(jié)點(diǎn)來確定所述第一本地機(jī)器時(shí)間與所述MAC時(shí)間之間的差異; 由所述節(jié)點(diǎn)使用所述差異來將表示所述同步的時(shí)刻的第一極點(diǎn)從所述節(jié)點(diǎn)的本地機(jī)器時(shí)間轉(zhuǎn)換成基于MAC的極點(diǎn)時(shí)間;將所述信道切換時(shí)間表中的基于MAC的極點(diǎn)時(shí)間傳送到所述另一節(jié)點(diǎn),所述另一節(jié)點(diǎn)對(duì)所述信道切換時(shí)間表的接收導(dǎo)致所述另一節(jié)點(diǎn)基于所述另一節(jié)點(diǎn)的本地機(jī)器時(shí)間來將所述基于MAC的極點(diǎn)時(shí)間 轉(zhuǎn)換成表示所述同步的時(shí)刻的第二極點(diǎn)時(shí)間; 在所述第二極點(diǎn)處從所述主信道切換到所述特定客信道。
14. 如權(quán)利要求3所述的方法,其特征在于,對(duì)于所述節(jié)點(diǎn)中的一節(jié)點(diǎn), 優(yōu)化所述數(shù)據(jù)吞吐量還包括將該節(jié)點(diǎn)配置成保持在客信道上持續(xù)一時(shí)間量,所述時(shí)間量(a) 根據(jù)對(duì)應(yīng)的通信鏈路上的通信量來調(diào)整;(b) 在所述通信鏈路上的通信增加的情況下增加,并且(c) 與所述周期性周期時(shí)間成比例以確保不影響該節(jié)點(diǎn)上的任何其他通信。
15. 如權(quán)利要求14所述的方法,其特征在于,對(duì)于所述節(jié)點(diǎn)(7V,),總 信道占用時(shí)間(rM.)表示與所述節(jié)點(diǎn)相關(guān)聯(lián)的所有信道上的傳輸時(shí)間和接收時(shí) 間,其中對(duì)于M和另一節(jié)點(diǎn)(iV/)之間的通信鏈路(々w),總占用時(shí)間(7>w)表示所有信道上的信道占用時(shí)間,并且其中所述方法還包括根據(jù)7f力=m/''7)7;來確定供所述節(jié)點(diǎn)從所述主信道切換到所述客信道的相應(yīng)的極點(diǎn);并且 其中,節(jié)點(diǎn)iV,上的鏈路/^的時(shí)間權(quán)重被表示為《力1,,,) ,以使得 鏈路/","的時(shí)間權(quán)重被表示為= min(《:力,w^'));并且其中^表示與所述周期性時(shí)間周期(t;.)成比例的、所述節(jié)點(diǎn)在所述 客信道上操作的時(shí)間量。
16. —種包括可由處理器執(zhí)行的計(jì)算機(jī)程序指令的有形計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)程序指令在被執(zhí)行時(shí)用于執(zhí)行以下操作,所述操作包括 如下調(diào)度對(duì)于多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)("節(jié)點(diǎn)")的信道頻率切換操作確定所述自組織網(wǎng)絡(luò)中的通信鏈路("鏈路")的最大獨(dú)立集(MIS); 由跨所述MIS鏈路中的一鏈路的、所述節(jié)點(diǎn)中的一節(jié)點(diǎn)來請(qǐng)求所述節(jié)點(diǎn)中的另一節(jié)點(diǎn)在所提議的極點(diǎn)處調(diào)度到多個(gè)客信道中的特定客信道 的信道切換,所述提議的極點(diǎn)被定義為周期性時(shí)間周期期間的同步的時(shí) 亥ij,所述周期性時(shí)間周期基于無線網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)信標(biāo),每一個(gè)客信道都與由全部所述節(jié)點(diǎn)用來維護(hù)網(wǎng)絡(luò)連接的主信道正交; 從所述另一節(jié)點(diǎn)接收確認(rèn)響應(yīng);以及響應(yīng)于接收到所述確認(rèn)響應(yīng),在所提議的極點(diǎn)處切換到所述特定客 信道以本地地優(yōu)化所述自組織網(wǎng)絡(luò)中的數(shù)據(jù)吞吐量。
17. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述節(jié)點(diǎn)的 所提議的極點(diǎn)基于與所述節(jié)點(diǎn)相關(guān)聯(lián)的本地機(jī)器時(shí)間,并且其中所述另一節(jié)點(diǎn) 的所提議的極點(diǎn)基于與所述另一節(jié)點(diǎn)相關(guān)聯(lián)的不同的本地機(jī)器時(shí)間。
18. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述MIS是 本地MIS并且每一個(gè)節(jié)點(diǎn)都確定各自的本地MIS,并且其中所述計(jì)算機(jī)程序 指令還包括用于執(zhí)行以下操作的指令-由所述節(jié)點(diǎn)中的每一個(gè)節(jié)點(diǎn)基于與這些節(jié)點(diǎn)中在所述節(jié)點(diǎn)的一跳范圍內(nèi) 的一個(gè)或多個(gè)鄰居節(jié)點(diǎn)相關(guān)聯(lián)的通信信息來確定各自的本地MIS,所述確定獨(dú) 立于與離所述節(jié)點(diǎn)遠(yuǎn)于一跳范圍的任何其他節(jié)點(diǎn)相關(guān)聯(lián)的通信信息。
19. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述MIS是 集中式MIS,并且其中用于確定所述集中式MIS的操作還包括基于所述節(jié)點(diǎn) 中的所有節(jié)點(diǎn)之間的通信鏈路來生成鏈路圖。
20. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述計(jì)算機(jī) 程序指令還包括用于執(zhí)行以下操作的指令由所述節(jié)點(diǎn)中的一節(jié)點(diǎn)來確定所述節(jié)點(diǎn)中的所有其他節(jié)點(diǎn)都可經(jīng)由廣播 消息來直接聯(lián)系;以及 響應(yīng)于所述確定將所述主信道遷移到不同的信道頻率;以及將所述自組織網(wǎng)絡(luò)中與所述主信道正交的其余信道頻率分類為客信道。
全文摘要
描述了用于無線自組織網(wǎng)絡(luò)的分布式重疊多信道MAC的系統(tǒng)和方法。在一方面,這些系統(tǒng)和方法將由無線網(wǎng)絡(luò)定義的信道頻率分成單個(gè)主信道和與該主信道正交的多個(gè)客信道。自組織網(wǎng)絡(luò)中的每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都在主信道上操作并持續(xù)各自可變且重疊的時(shí)間量以維護(hù)與其他各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)連接。另外,每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都確定是否及何時(shí)從主信道切換到這些客信道中的特定客信道并持續(xù)可變時(shí)間量以增加自組織網(wǎng)絡(luò)中的一個(gè)或多個(gè)相應(yīng)的通信鏈路上的與其他網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)吞吐量。
文檔編號(hào)H04L12/28GK101641909SQ200880009103
公開日2010年2月3日 申請(qǐng)日期2008年3月19日 優(yōu)先權(quán)日2007年3月19日
發(fā)明者H·吳, J·趙, K·譚, Y·張 申請(qǐng)人:微軟公司