專利名稱:波長(zhǎng)選擇的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種選擇沿著光學(xué)網(wǎng)絡(luò)中的路徑傳輸光學(xué)數(shù)據(jù)的過程中使用的波長(zhǎng)的方法。
背景技術(shù):
在光學(xué)網(wǎng)絡(luò)中,數(shù)據(jù)是通過將網(wǎng)絡(luò)節(jié)點(diǎn)(通常稱為路由器或交換機(jī))互相連接起來的光纖加以傳輸?shù)摹T跀?shù)據(jù)穿過網(wǎng)絡(luò)時(shí),它將會(huì)穿過一個(gè)或更多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。在各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上,在輸入端口上接收到數(shù)據(jù)、從光學(xué)信號(hào)轉(zhuǎn)換到電信號(hào)、在電領(lǐng)域中進(jìn)行處理、從電信號(hào)轉(zhuǎn)換到光學(xué)信號(hào)并且在相關(guān)的輸出端口上傳送出去。這一從光學(xué)信號(hào)到電信號(hào)和再次回到光學(xué)信號(hào)的轉(zhuǎn)換稱為光電光(OEO)轉(zhuǎn)換。
在每個(gè)節(jié)點(diǎn)上都進(jìn)行OEO轉(zhuǎn)換有兩個(gè)主要的結(jié)果。首先,OEO轉(zhuǎn)換在每個(gè)節(jié)點(diǎn)上重新整形、重新定時(shí)和重新發(fā)送光學(xué)信號(hào),這意味著,可以獨(dú)立地考慮端到端路徑中的各個(gè)鏈路,并且一條鏈路上的任何故障或損傷不會(huì)對(duì)后續(xù)鏈路造成連鎖影響。其次,OEO轉(zhuǎn)換使得節(jié)點(diǎn)能夠接收給定波長(zhǎng)上的光學(xué)信號(hào)并且在不同波長(zhǎng)上對(duì)其進(jìn)行重新傳送,即,節(jié)點(diǎn)能夠進(jìn)行波長(zhǎng)轉(zhuǎn)換。不過,OEO轉(zhuǎn)換實(shí)現(xiàn)起來比較昂貴并且因?yàn)閷?shù)據(jù)從輸入端口切換到輸出端口的最大速度取決于各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)中的基礎(chǔ)電子裝置能夠進(jìn)行多快的操作,所以成為了網(wǎng)絡(luò)中的瓶頸。
在全光學(xué)網(wǎng)絡(luò)中,數(shù)據(jù)也是通過將網(wǎng)絡(luò)節(jié)點(diǎn)相互連接起來的光纖來進(jìn)行傳送的。不過,在各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上,數(shù)據(jù)是在輸入端口上接收、在光學(xué)域中切換并且在相關(guān)輸出端口上發(fā)出的,沒有進(jìn)行任何OEO轉(zhuǎn)換。全光學(xué)網(wǎng)絡(luò)連接節(jié)點(diǎn)(較經(jīng)常稱為光學(xué)交叉連接單元(OXC))中缺少OEO轉(zhuǎn)換的結(jié)果是網(wǎng)絡(luò)連接節(jié)點(diǎn)的成本降低。在全光學(xué)網(wǎng)絡(luò)中,通常通過利用波分復(fù)用(WDM)來在各個(gè)光纖上同時(shí)使用數(shù)個(gè)不同的波長(zhǎng)。
在全光學(xué)節(jié)點(diǎn)中缺少OEO轉(zhuǎn)換意味著節(jié)點(diǎn)不再能夠進(jìn)行波長(zhǎng)轉(zhuǎn)換,所以沿著整個(gè)端到端路徑需要使用相同的波長(zhǎng)。這稱作波長(zhǎng)連續(xù)性限制,并且會(huì)造成盡管網(wǎng)絡(luò)擁有空閑容量(即,不用于傳輸數(shù)據(jù)的波長(zhǎng)),但在端到端路徑的所有鏈路上沒有一個(gè)可用的公共波長(zhǎng),因而端到端路徑不可用的情況。
當(dāng)前選擇在傳輸數(shù)據(jù)的過程中使用的波長(zhǎng)的方法包括考慮所有可用在實(shí)際構(gòu)成路徑的各條鏈路上的波長(zhǎng)并且選擇一個(gè)端到端可用的波長(zhǎng)。在一種這樣的方法中,對(duì)鏈路上的所有波長(zhǎng)按順序編號(hào),并且選擇端到端可用的編號(hào)最小的波長(zhǎng)。與這些方法相關(guān)聯(lián)的缺點(diǎn)是,它們沒有考慮波長(zhǎng)選擇決定將會(huì)如何影響以后沿著具有與正在為其選擇波長(zhǎng)的路徑共有的一條或多條鏈路的路徑進(jìn)行的連接嘗試。結(jié)果,以后的連接嘗試可能受到阻礙,因?yàn)檠刂⒌恼麄€(gè)路徑?jīng)]有端到端可用的波長(zhǎng)。
最佳的(但是難以處理的)波長(zhǎng)選擇方法在做出波長(zhǎng)選擇決定時(shí)會(huì)考慮哪些波長(zhǎng)在整個(gè)網(wǎng)絡(luò)中可用。這樣的方法應(yīng)該能夠考慮到波長(zhǎng)選擇決定將會(huì)如何影響以后使用網(wǎng)絡(luò)中的任何鏈路進(jìn)行的連接嘗試。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一個(gè)方面,給出了一種選擇在沿著光學(xué)網(wǎng)絡(luò)中的路徑傳輸光學(xué)數(shù)據(jù)的過程中使用的波長(zhǎng)的方法,所述光學(xué)網(wǎng)絡(luò)包括多個(gè)由光纖鏈路相互連接起來的節(jié)點(diǎn),所述方法包括找出可用于沿著所述路徑端到端使用的波長(zhǎng);找出在與所述路徑上的各個(gè)節(jié)點(diǎn)連接在一起的各條鏈路上可用的波長(zhǎng);選擇端到端可用的并且在與所述路徑上的節(jié)點(diǎn)連接在一起的鏈路上比其它波長(zhǎng)更加可用的波長(zhǎng)。
通過找出可用于沿著所選路徑端到端使用的波長(zhǎng)和通過找出在與所選路徑上的各個(gè)節(jié)點(diǎn)連接在一起的各條鏈路上可用的波長(zhǎng)以及通過選擇端到端可用的并且在與所選路徑上的節(jié)點(diǎn)連接在一起的鏈路上比其它波長(zhǎng)更加可用的波長(zhǎng),做出了關(guān)于選用哪個(gè)波長(zhǎng)的更好決定,并且提高了路徑建立嘗試的成功率。
本發(fā)明給出了一種方法,該方法能夠考慮波長(zhǎng)選擇決定將會(huì)如何影響以后沿著具有一條或更多條與正在為其進(jìn)行波長(zhǎng)選擇的路徑共有的鏈路的路徑進(jìn)行的路徑建立嘗試。這樣,前面介紹的路徑建立嘗試受到阻礙的情形將會(huì)得到緩解,并且對(duì)于等同數(shù)量的嘗試,將會(huì)有更加成功的路徑建立。選擇在正與正為其選擇波長(zhǎng)的路徑上的節(jié)點(diǎn)連接在一起的鏈路上廣泛可用的波長(zhǎng)比選擇不廣泛可用的波長(zhǎng)更加不可能導(dǎo)致對(duì)后續(xù)的路徑建立嘗試的阻攔。結(jié)果,對(duì)于給定數(shù)量的配置好的波長(zhǎng)和光纖,能夠建立更多的端到端路徑,這能夠?qū)崿F(xiàn)更高的可用網(wǎng)絡(luò)容量的利用率。
在權(quán)利要求中定義了本發(fā)明的其它方面。
現(xiàn)在將參照附圖、僅僅作為示例介紹本發(fā)明的實(shí)施例,其中相同的附圖標(biāo)記指代相同的部分,并且其中圖1示出了光學(xué)網(wǎng)絡(luò);圖2是詳細(xì)列出構(gòu)成圖1的光學(xué)網(wǎng)絡(luò)的節(jié)點(diǎn)和鏈路的各種特性的表格;圖3到圖8表示圖1的光學(xué)網(wǎng)絡(luò)的不同構(gòu)成;圖9和10是介紹路徑選擇算法中的步驟的流程圖;圖11到13是介紹波長(zhǎng)選擇算法中的步驟的流程圖。
具體實(shí)施例方式
圖1示出了包括六個(gè)光學(xué)網(wǎng)絡(luò)節(jié)點(diǎn)(A、B、C、D、E和F)的全光學(xué)網(wǎng)絡(luò),所述光學(xué)網(wǎng)絡(luò)節(jié)點(diǎn)更經(jīng)常稱為光學(xué)交叉連接單元或OXC。當(dāng)前可得到的適用的OXC是可從美國弗吉尼亞州雷斯頓地區(qū)的λOpticalSystems公司得到的λNODE。數(shù)據(jù)是以特定的波長(zhǎng)通過將OXC互相連接起來的光纖鏈路加以傳輸?shù)?。將光纖鏈路的各個(gè)方向都看作是獨(dú)立的、單向的鏈路。在各個(gè)OXC上,數(shù)據(jù)是在輸入端口上接收、在光學(xué)域中切換并且在相關(guān)輸出端口上傳送出去的,沒有進(jìn)行任何光電光轉(zhuǎn)換。利用波分復(fù)用(WDM)可以在各條光纖鏈路上同時(shí)使用數(shù)個(gè)不同的波長(zhǎng)。每條光纖鏈路能夠支持的波長(zhǎng)的數(shù)量取決于所配置的網(wǎng)絡(luò)的確切性質(zhì)并且應(yīng)該是在網(wǎng)絡(luò)設(shè)計(jì)階段決定的(例如,網(wǎng)絡(luò)的配置者想要付多少錢、需要多少帶寬等)。本領(lǐng)域技術(shù)人員都知道光學(xué)網(wǎng)絡(luò)能夠每光纖鏈路支持多達(dá)160個(gè)波長(zhǎng);不過,在圖1的網(wǎng)絡(luò)中,各條光纖鏈路在各個(gè)方向上最多能夠支持5個(gè)波長(zhǎng)。要注意的很重要的一點(diǎn)是,并不是每條光纖鏈路(并且也并非單獨(dú)一條光纖鏈路的各個(gè)方向)都必須支持相同數(shù)量的波長(zhǎng);圖2中的表格示出了可在圖1的網(wǎng)絡(luò)的各條光纖鏈路上使用的波長(zhǎng)的數(shù)量。例如,在將OXC A與OXC B連接起來的光纖鏈路AB上有5個(gè)波長(zhǎng)可用,在將OXC C與OXC E連接起來的光纖鏈路CE上有3個(gè)波長(zhǎng)可用,而在將OXC B與OXC E連接起來的光纖鏈路BE上沒有波長(zhǎng)可用。小于5個(gè)波長(zhǎng)這一最大值的可用度可能是由技術(shù)局限(即,某一鏈路僅能夠支持例如3個(gè)波長(zhǎng))造成的或者是由使用(即,某一鏈路能夠支持多達(dá)5個(gè)波長(zhǎng),但是有3個(gè)波長(zhǎng)已經(jīng)在使用,因此只有2個(gè)波長(zhǎng)可用)造成的。此外,圖2還包括各條光纖鏈路對(duì)應(yīng)的波長(zhǎng)向量(WAVELENGTHS),其中1代表波長(zhǎng)可用,而0代表波長(zhǎng)不可用。用0到4為這些波長(zhǎng)標(biāo)號(hào),其中波長(zhǎng)0是所述向量中的第一個(gè)波長(zhǎng)(向量中最左邊一位),波長(zhǎng)4是該向量中的最后一個(gè)波長(zhǎng)(向量中最右邊一位)。這些編號(hào)直接映射到實(shí)際波長(zhǎng)值(例如波長(zhǎng)0映射到1510nm的波長(zhǎng))。在前面提到的例子中,波長(zhǎng)0到4在鏈路AB上可用(由向量{11111}表示),波長(zhǎng)0、3和4在鏈路CE上可用(由向量{10011}表示)并且沒有波長(zhǎng)在鏈路BE上可用(由向量{00000}表示)。
圖1的網(wǎng)絡(luò)在正常情況下還包括網(wǎng)絡(luò)管理系統(tǒng)(NMS)或操作支持系統(tǒng)(OSS)。NMS/OSS用于執(zhí)行各種不同的任務(wù),這些任務(wù)典型地包括但是不局限于配置管理,用來監(jiān)控網(wǎng)絡(luò)和系統(tǒng)配置并且可能按照要求對(duì)裝置進(jìn)行重新配置;故障管理,用來檢測(cè)、記錄和通知用戶網(wǎng)絡(luò)問題和/或故障并且有可能修復(fù)網(wǎng)絡(luò)問題和/或故障;性能管理和結(jié)算,用來對(duì)照著所簽定的服務(wù)等級(jí)協(xié)議衡量網(wǎng)絡(luò)性能、調(diào)整帶寬/用量配額和產(chǎn)生計(jì)費(fèi)信息。
圖3和圖4示出了與圖1的光學(xué)網(wǎng)絡(luò)連在一起的NMS/OSS。NMS/OSS通常是經(jīng)由帶外(OOB)網(wǎng)絡(luò)連在一起的,帶外網(wǎng)絡(luò)可能包含額外的物理網(wǎng)絡(luò),該額外的物理網(wǎng)絡(luò)包括將NMS/OSS一個(gè)個(gè)地與網(wǎng)絡(luò)中的各個(gè)OXC連接起來的管理/控制鏈路,如圖3所示。另外,可以為管理/控制數(shù)據(jù)通信保留將OXC相互連接起來的各條光纖鏈路上的波長(zhǎng),如圖4所示。在這種情況下,仍然需要將NMS/OSS與網(wǎng)絡(luò)連接并且這可以經(jīng)由專用鏈路(例如,NMS/OSS到OXC F的鏈路)或經(jīng)由光纖鏈路(例如,NMS/OSS到OCX D的鏈路)上的專用波長(zhǎng)來完成。通常,出于適應(yīng)能力(resiliency)的考慮,NMS/OSS將在多于一個(gè)的點(diǎn)處連接到網(wǎng)絡(luò)。
為了在光學(xué)網(wǎng)絡(luò)中的兩個(gè)OXC之間建立連接,必須選擇一條穿過該網(wǎng)絡(luò)的路徑并且必須為該路徑分配一個(gè)波長(zhǎng)。例如,在圖1的網(wǎng)絡(luò)中,在建立OXC A和OXC F之間的連接的過程中,有10種可能的路徑(ABCF、ABEF、ABECF、ABCEF、ADEF、ADECF、ADEBCF、AEF、AECF和AEBCF)和5個(gè)可能的波長(zhǎng)。必須選擇這些路徑之一和這些波長(zhǎng)之一。路徑選擇是用路徑選擇算法實(shí)現(xiàn)的,波長(zhǎng)選擇是用波長(zhǎng)選擇算法實(shí)現(xiàn)的。稍后將給出本實(shí)施例中使用的路徑選擇算法和波長(zhǎng)選擇算法的確切細(xì)節(jié)。
在圖3和圖4的例子中,路徑上的第一個(gè)節(jié)點(diǎn)(連接的入口節(jié)點(diǎn))將運(yùn)行路徑選擇算法和波長(zhǎng)選擇算法,因此計(jì)算所要使用的路徑(和波長(zhǎng)),并且將隨后使用適當(dāng)?shù)男帕顓f(xié)議沿著該路徑傳達(dá)這一信息。例如,如果請(qǐng)求的是OXC A和F之間的連接,則OXC A會(huì)運(yùn)行這些算法(因此選擇路徑和波長(zhǎng))并且隨后沿著路徑傳達(dá)這一信息。實(shí)際使用的信令協(xié)議取決于諸如網(wǎng)絡(luò)連接技術(shù)、個(gè)人偏好之類的因素。本領(lǐng)域技術(shù)人員在提供和實(shí)現(xiàn)適當(dāng)?shù)男帕顓f(xié)議方面不會(huì)有困難。因?yàn)檫B接有可能從網(wǎng)絡(luò)中的任何節(jié)點(diǎn)開始(即,任何節(jié)點(diǎn)都可能是入口節(jié)點(diǎn)),所以網(wǎng)絡(luò)中的所有OXC都具有路徑計(jì)算功能,并且因此這些算法可以在網(wǎng)絡(luò)中的任何一個(gè)OXC上運(yùn)行。不需要除了OXC中已經(jīng)存在的硬件以外的額外硬件。OXC僅僅需要知道在各條光纖上正在使用哪些波長(zhǎng),并且這一信息是可以導(dǎo)出的,因?yàn)樵撓到y(tǒng)知道在啟動(dòng)階段配置了多少波長(zhǎng)并且從啟動(dòng)開始對(duì)哪些波長(zhǎng)進(jìn)行過分配。
在另外一種可選的實(shí)施例中,可以在路徑計(jì)算服務(wù)器(PCS)上運(yùn)行所述算法(并且因此進(jìn)行路徑和波長(zhǎng)選擇)。參照?qǐng)D5和圖6,當(dāng)請(qǐng)求OXC A與F之間的連接時(shí),OXC A將會(huì)向PCS請(qǐng)求路徑(和波長(zhǎng)),PCS將會(huì)向節(jié)點(diǎn)A返回優(yōu)選路徑和波長(zhǎng),并且節(jié)點(diǎn)A將會(huì)象前面介紹的那樣用合適的信令協(xié)議通知并且建立連接。PCS可以是與網(wǎng)絡(luò)連在一起的只進(jìn)行路徑計(jì)算的專用服務(wù)器(如圖6中所示),或者按照另外一種可選方案,可以將路徑計(jì)算功能加到網(wǎng)絡(luò)中現(xiàn)有的OXC中(如在圖5中所示的OXC A和F中)。出于諸如適應(yīng)能力、可擴(kuò)縮性等原因,給定網(wǎng)絡(luò)可以具有不止一個(gè)PCS。
在其它一些實(shí)施方式中,算法(并且因此路徑和波長(zhǎng)選擇)可以如前面介紹的那樣在PCS上運(yùn)行,但是PCS可以與NMS/OSS相連(如圖7所示)或者可以將它集成到NMS/OSS中(如圖8所示)。在這兩種情況下,NMS/OSS從PCS中請(qǐng)求路徑/連接,PCS向NMS/OSS返回路徑/連接。然后NMS/OSS直接配置所選路徑上的OXC。出于諸如適應(yīng)能力、可擴(kuò)縮性等原因,給定網(wǎng)絡(luò)可以具有不止一個(gè)PCS。
如前面所提到的,對(duì)于給定的通信,數(shù)據(jù)是通過圖1的光學(xué)網(wǎng)絡(luò)以特定的波長(zhǎng)在將OXC相互連接起來的光纖鏈路上進(jìn)行傳輸?shù)?。在各個(gè)OXC上,數(shù)據(jù)是在輸入端口接收、在光學(xué)域中切換并且在相關(guān)輸出端口發(fā)送出去的??缭礁鱾€(gè)OXC有光學(xué)損耗,這一光學(xué)損耗是與在OXC內(nèi)對(duì)給定波長(zhǎng)的光進(jìn)行切換相關(guān)聯(lián)的損耗。由于在OXC內(nèi)不進(jìn)行光電光轉(zhuǎn)換,因此貫穿整個(gè)端到端路徑,需要使相同的波長(zhǎng)。由于沿著路徑長(zhǎng)度的惡化是路徑上的一個(gè)OXC或任何一條鏈路上的故障/損傷的影響的累積結(jié)果,因此檢查貫穿整個(gè)路徑的端到端光學(xué)損耗使得能夠做出路徑是否可用的判斷。
為了確定貫穿路徑的端到端光學(xué)損耗是否是可接受的并且因此路徑是否是可用的,可以進(jìn)行端到端可行性檢查(viability check)??尚行詸z查使用端到端路徑的物理特性;更加具體地,它將構(gòu)成路徑的各個(gè)OXC和光纖鏈路的物理特性結(jié)合起來。
在建立所選擇的路徑的時(shí)候(使用下面將要介紹的路徑選擇算法或者任何其它可供選用的路徑選擇算法),如果等于路徑P加上鏈路L的路徑Q(即,如果P=XYZ,則Q=XYZL)基于該路徑的物理(光學(xué))特性通過了端到端可行性測(cè)試,則可以將鏈路L包含在路徑P中(因此將端到端路徑延長(zhǎng)到包含鏈路L)。如果Q通過了端到端可行性檢查,則路徑Q光學(xué)上可行并且鏈路L可用于延長(zhǎng)路徑P。本實(shí)施例中使用的端到端可行性衡量標(biāo)準(zhǔn)是 其中光纖衰減=與網(wǎng)絡(luò)中使用的光纖鏈路相關(guān)聯(lián)的衰減(以dB/km為單位)。(值得注意的是,在實(shí)踐中,這在光纖鏈路與光纖鏈路之間變化,但是在本實(shí)施例中,假設(shè)鏈路與鏈路之間沒有變化。)在優(yōu)選實(shí)施例中,對(duì)單個(gè)的光纖衰減進(jìn)行求和。
最大路徑長(zhǎng)度=網(wǎng)絡(luò)中的光學(xué)器材能夠支持的最大路徑長(zhǎng)度(以km為單位)。這通常是由光學(xué)器材的制造商設(shè)定的限度,并且在本實(shí)施例中,假設(shè)網(wǎng)絡(luò)中的所有器材都來自同一廠家或者具有相同的最大長(zhǎng)度限度。
路徑長(zhǎng)度=路徑的總長(zhǎng)度,等于 鏈路長(zhǎng)度i,其中鏈路長(zhǎng)度i是沿著路徑的鏈路i的長(zhǎng)度(以km為單位)。
總OXC損耗=由沿著路徑的光學(xué)交叉連接造成的總光學(xué)損耗,等于 OXC損耗k,其中OXC損耗k是沿著路徑跨越OXC k的光學(xué)損耗(以dB為單位)。(數(shù)值可以通過對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)量/監(jiān)測(cè)獲得。)總PMD=跨越路徑的端到端偏振模式色散(PMD)(以ps為單位)的總量,即, ,其中PMDn是跨越路徑中第n個(gè)鏈路的PMD。(PMD是發(fā)生在支持兩種靠它們的偏振區(qū)分開來進(jìn)行傳播的模式的光纖中的電磁傳播現(xiàn)象。由于光纖中的光學(xué)雙折射,這兩種模式以不同的速度傳播,并且這一雙折射沿著光纖長(zhǎng)度的隨機(jī)變化會(huì)造成這兩種模式之間的隨機(jī)耦合。結(jié)果造成的PMD導(dǎo)致脈沖變形和系統(tǒng)損傷,這些都會(huì)限制光纖的傳輸能力。數(shù)值可以通過網(wǎng)絡(luò)的測(cè)量/監(jiān)測(cè)獲得。)如果M>0,則路徑(Q或等價(jià)的P+L)通過端到端可行性測(cè)試并且認(rèn)為該路徑是光學(xué)上可行的并能夠支持光學(xué)跟蹤(optical trail)。
如果M≤0,則路徑(Q或等價(jià)的P+L)未通過測(cè)試,并且在光學(xué)上是不可行的并不能夠支持光學(xué)跟蹤。
值得注意的是,對(duì)于給定網(wǎng)絡(luò),端到端可行性檢查的確切細(xì)節(jié)(即,所使用的確切公式)取決于多種因素,包括(但不局限于)在網(wǎng)絡(luò)中配置了什么光學(xué)器材以及網(wǎng)絡(luò)操作員希望在多大的誤差容限內(nèi)進(jìn)行操作。例如,網(wǎng)絡(luò)操作員可以決定僅僅接受他們確知可行的路徑。另外,網(wǎng)絡(luò)操作員可能不太挑剔并且愿意接受是‘邊界線’的路徑,因?yàn)樗麄兛赡苡X得通過能夠使這些邊界線連接中的一部分進(jìn)行工作而增加的收益超過了處理故障的邊界線連接的額外費(fèi)用。
端到端可行性檢查可以按照下述方式來實(shí)現(xiàn)令P為存儲(chǔ)當(dāng)前優(yōu)選路徑(是可行路徑)的變量;令P.TotalPMD為存儲(chǔ)路徑P的總PMD的變量(其中總PMD=PMD12+PMD22+PMD32+…+PMDn2);]]>(顯然,這個(gè)針對(duì)總PMD的公式稍稍不同于前面給出的公式,因?yàn)闆]有平方根。直到求得路徑中各條鏈路上的PMD的平方和之前,不能計(jì)算平方根。由于這個(gè)和不斷改變(隨著新的鏈路加入到路徑中),因此直到在計(jì)算出可行性衡量指標(biāo)之前,是不能計(jì)算平方根的。因此,稍后將介紹可行性衡量指標(biāo)M中的包含總PMD的項(xiàng)的差異。)令P.TotalLength為存儲(chǔ)路徑P的長(zhǎng)度(即,前面的路徑長(zhǎng)度)(以km為單位)總和的變量;令P.TotalOXCLoss為存儲(chǔ)由沿著路徑的光學(xué)交叉連接造成的總光學(xué)損耗(即,前面的總OXC損耗)的變量;令Q為存儲(chǔ)臨時(shí)路徑的變量(Q還包含變量Q.TotalPMD、Q.TotalLength和Q.TotalOXCLoss,這些變量的定義與前面針對(duì)P的定義類似);令L為存儲(chǔ)當(dāng)前優(yōu)選鏈路的變量,如果沒有找到更好的候選路徑,則路徑選擇算法會(huì)將這個(gè)優(yōu)選鏈路用作所選擇路徑中的下一個(gè)鏈路;令L.PMD為存儲(chǔ)跨越鏈路L的PMD的變量;令L.Length為鏈路L的長(zhǎng)度(以km為單位)(更加具體地講,是用于構(gòu)成鏈路L的光纖的以公里為單位的長(zhǎng)度);令L.OXCLoss為跨越與鏈路L相關(guān)聯(lián)的OXC的光學(xué)損耗(本實(shí)施例將跨越下游OXC的光學(xué)損耗與給定鏈路關(guān)聯(lián)起來,例如,如果鏈路L存在于節(jié)點(diǎn)A和B之間,則與L相關(guān)聯(lián)的OXCLoss是跨越OXC B的損耗)。
令MaxPathLength為常數(shù),該常數(shù)保存著網(wǎng)絡(luò)中的光學(xué)器材能夠支持的最大路徑長(zhǎng)度(以km為單位),即前面的最大路徑長(zhǎng)度;并且令FibreAttenuation為常數(shù),該常數(shù)保存著與網(wǎng)絡(luò)中使用的光纖相關(guān)聯(lián)的衰減(即,前面的光纖衰減)。
在第一次運(yùn)行該路徑選擇算法時(shí),所有的變量都從零值開始(P從作為未占用/空白路徑開始)并且常數(shù)MaxPathLength和FibreAttentuation存儲(chǔ)著它們各自的配置值。該路徑選擇算法將選擇鏈路L,推薦用作路徑P中的第一條鏈路。進(jìn)行端到端可行性檢查并且按照下列方式進(jìn)行計(jì)算(并存儲(chǔ))Q.TotalPMD=P.TotalPMD+(L.PMD*L.PMD)Q.TotalLength=P.TotalLength+L.LengthQ.TotalOXCLoss=P.TotalOXCLoss+LOXCLossM=2-10*log10((FibreAttenuation*Q.TotalLength)+Q.TotalOXCLossFibreAttenuation*MaxpathLength)-e(In2*Q.TotalPMD10)]]>如果(M>0),則令P=Q(即,用鏈路L延長(zhǎng)路徑P)。然后該路徑選擇算法繼續(xù)進(jìn)行,以選擇路徑中的下一條鏈路(更加具體地講,由路徑選擇算法選擇優(yōu)選路徑),并且重復(fù)前面對(duì)路徑P+L進(jìn)行的端到端可行性檢查。
如果(M≤0),則令P=P(即,不用鏈路L延長(zhǎng)路徑P,并且取而代之,按照路徑選擇算法的第二種鏈路選擇/推薦重復(fù)進(jìn)行可行性檢查,如果沒有鏈路通過可行性檢查,則沒有光學(xué)上可行的端到端路徑可用(因此連接嘗試失敗))。
通過進(jìn)行端到端可行性檢查,可以確定所選擇的路徑是否可用,并且如果不可用則選擇可用的不同路徑。這要比假設(shè)所有路徑都可用、然后在選擇了路徑之后發(fā)現(xiàn)所選擇的路徑不可用(會(huì)增加網(wǎng)絡(luò)的操作成本并且還可能在自動(dòng)準(zhǔn)備處理中牽涉到人工干預(yù))要好。
現(xiàn)在將更加詳細(xì)地介紹路徑選擇算法。下面列出的變量是在路徑選擇算法的介紹以及圖9到10中的相關(guān)流程圖中使用的。
NODEID[1]—保存網(wǎng)絡(luò)中第1個(gè)節(jié)點(diǎn)的NODEID。假設(shè)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都任意分配了連續(xù)編號(hào),以便簡(jiǎn)化對(duì)網(wǎng)絡(luò)中所有節(jié)點(diǎn)進(jìn)行的重讀。NODEID[1]在節(jié)點(diǎn)的任意編號(hào)與其實(shí)際NODEID之間進(jìn)行映射。
PATHSTART一設(shè)置給路徑上的第一個(gè)節(jié)點(diǎn)的NODEID,即,連接的入口節(jié)點(diǎn)。
PATHEND—設(shè)置給路徑上的最后一個(gè)節(jié)點(diǎn)的NODEID,即,連接的出口節(jié)點(diǎn)。
S—保存已經(jīng)由本算法檢查過的節(jié)點(diǎn)的NODEID的集合。
TOTALNUMNODES—保存網(wǎng)絡(luò)中節(jié)點(diǎn)的總數(shù)。
C[NODEID]—保存節(jié)點(diǎn)PATHSTART和節(jié)點(diǎn)NODEID之間的路徑的代價(jià)(cost)。
PATH[NODEID]—保存節(jié)點(diǎn)PATHSTART與節(jié)點(diǎn)NODEID之間的最短路徑。該最短路徑是代價(jià)最低的路徑。
INTERFACES[NODEID]—保存與節(jié)點(diǎn)NODEID連在一起的鏈路的數(shù)量。
REMOTENODEID[NODEID][INTFACE]—保存與節(jié)點(diǎn)NODEID連在一起的鏈路INTFACE的另一端上的節(jié)點(diǎn)的NODEID。
REMOTENODE—保存與當(dāng)前正在由所述算法進(jìn)行檢查的節(jié)點(diǎn)NODEID連在一起的鏈路INTFACE的另一端上的節(jié)點(diǎn)的NODEID。
LINKCOST[NODEID][INTFACE]—保存與節(jié)點(diǎn)NODEID連在一起的鏈路INTFACE的代價(jià)。
本路徑選擇算法基于公知的Dijkstra最短路徑算法(Dijkstra ShortestPath Algorithm)(Dijkstra,E.W.的《A note on two problems in connectionwith graphs》,Numerische Mathematik,第1卷,第269-271頁,1959年),將這一公知算法改造成基于鏈路的物理特性計(jì)算各條鏈路的代價(jià)。在優(yōu)選實(shí)施例中,鏈路i的代價(jià)LinkCosti=WavelengthsAvailablei-1,其中WavelengthAvailablei是鏈路i上可用的波長(zhǎng)的數(shù)量。
參照?qǐng)D9,在步驟901中,將集合S初始化為空集合(即,{}),并且對(duì)數(shù)組C[NODEID]進(jìn)行這樣的初始化使到所有節(jié)點(diǎn)的路徑的代價(jià)都為∞。本算法由路徑中的第一個(gè)節(jié)點(diǎn)(即,PATHSTART)開始并且用變量CURNODEID記住正在檢查的節(jié)點(diǎn)。本算法將PATH[CURNODEID]設(shè)置為{PATHSTART}并且將C[CURNODEID]設(shè)置為0(步驟901)。
本算法用變量CURINTFACE記住正在檢查的鏈路。為了檢查與CURNODEID連在一起的第一個(gè)鏈路,本算法然后將CURINTFACE設(shè)置為1并且將CURNODEID添加到集合S中(步驟903)。然后計(jì)算當(dāng)前正在檢查的鏈路CURINTFACE的另一端上的節(jié)點(diǎn)的NODEID(步驟905)。
在優(yōu)選實(shí)施例中,現(xiàn)在進(jìn)行前面介紹的可行性檢查(步驟906)。不過要注意,可以運(yùn)行本路徑選擇算法而不用進(jìn)行可行性檢查,在這種情況下,應(yīng)該跳過步驟906并且從步驟907開始進(jìn)行處理,后面將會(huì)對(duì)步驟907進(jìn)行介紹。如果包括當(dāng)前正在檢查的鏈路的路徑不可行(即,它未通過可行性檢查),則本算法繼續(xù)進(jìn)行,將CURINTFACE遞增1(步驟911)、檢查是否已經(jīng)檢驗(yàn)了與CURNODEID連在一起的所有鏈路(步驟913)并且如果還有鏈路需要檢驗(yàn),則重復(fù)步驟905和906。另一方面,如果包括當(dāng)前正在檢驗(yàn)的鏈路的路徑可行(即,它通過了可行性檢查),則本算法從步驟907開始繼續(xù)進(jìn)行。
在步驟907中,進(jìn)行這樣的測(cè)試檢查當(dāng)前正在檢驗(yàn)的節(jié)點(diǎn)的代價(jià)(C[CURNODEID])與當(dāng)前正在檢驗(yàn)的鏈路的代價(jià)(LINKCOST[CURNODEID][CURINTFACE])的總和是否小于到該鏈路的另一端相連的遠(yuǎn)程節(jié)點(diǎn)的當(dāng)前代價(jià)(C[REMOTENODEID])。如果測(cè)試結(jié)果是肯定的,則在步驟909中,本算法將到遠(yuǎn)程節(jié)點(diǎn)的代價(jià)設(shè)置為到當(dāng)前節(jié)點(diǎn)的代價(jià)加上當(dāng)前鏈路的代價(jià)的總和(即,C[REMOTENODE]=C[CURNODEID]+LINKCOST[CURNODEID][CURINTFACE])并且它將到遠(yuǎn)程節(jié)點(diǎn)的最短路徑設(shè)置為到當(dāng)前節(jié)點(diǎn)的路徑加上遠(yuǎn)程節(jié)點(diǎn)(即,PATH[REMOTENODE]=PATH[CURNODEID]+{REMOTENODE})。然后本算法繼續(xù)進(jìn)行,將CURINTFACE遞增1(步驟911)、檢查是否已經(jīng)檢驗(yàn)了與CURNODEID連在一起的所有鏈路(步驟913)并且如果還有更多的鏈路需要檢驗(yàn),則重復(fù)進(jìn)行步驟905到911。如果步驟907中的測(cè)試的結(jié)果總是否定的,則變量C[REMOTENODE]和PATH[REMOTENODE]不需要進(jìn)行更新,因?yàn)樗鼈円呀?jīng)保存了到正在檢驗(yàn)的遠(yuǎn)程節(jié)點(diǎn)的最低代價(jià)和最短路徑。在這種情況下,本算法跳轉(zhuǎn)到步驟911并且如前面介紹的那樣繼續(xù)進(jìn)行。
當(dāng)已經(jīng)檢驗(yàn)了與當(dāng)前節(jié)點(diǎn)連接在一起的所有鏈路時(shí),即,步驟913中的測(cè)試的結(jié)果是否定的,本算法進(jìn)而搜索網(wǎng)絡(luò)中的所有其它節(jié)點(diǎn),以決定接下來檢驗(yàn)?zāi)膫€(gè)節(jié)點(diǎn)。由本算法接下來檢驗(yàn)的節(jié)點(diǎn)是還沒有檢驗(yàn)過的代價(jià)最低的節(jié)點(diǎn),即,還沒有包含在集合S中的具有最低C[]值的節(jié)點(diǎn)。下面將參照?qǐng)D10介紹這一處理過程。
在這一對(duì)所有其它網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行的迭代搜索中,使用三個(gè)臨時(shí)變量CURNODE(記住當(dāng)前正在審查的節(jié)點(diǎn))、CHEAPESTNODE(記住當(dāng)前認(rèn)為具有最低代價(jià)的節(jié)點(diǎn))和COSTOFCHEAPNODE(記住到CHEAPESTNODE的代價(jià))。在步驟915中,初始化這三個(gè)變量。
在步驟917中進(jìn)行測(cè)試來檢查(1)當(dāng)前節(jié)點(diǎn)是否還沒有進(jìn)行過檢驗(yàn),即,節(jié)點(diǎn)CURNODE是否是集合S的一項(xiàng);和(2)當(dāng)前節(jié)點(diǎn)是否具有最低代價(jià),即,到CURNODE的代價(jià)是否小于COSTOFCHEAPNODE。如果這兩個(gè)條件都得到滿足,則當(dāng)前正在檢驗(yàn)的節(jié)點(diǎn)成為具有最低代價(jià)的節(jié)點(diǎn),即,將CHEAPESTNODE設(shè)置為CURNODE,并且將COSTOFCHEAPNODE設(shè)置為C[NODEID[CURNODE]](步驟919)。然后本算法繼續(xù)進(jìn)行,將CURNODE遞增1(步驟921)、檢查是否審查了所有的節(jié)點(diǎn)(步驟923)并且如果還有更多的節(jié)點(diǎn)需要審查,則重復(fù)步驟917到921。如果所述測(cè)試中的條件之一得不到滿足,即,如果已經(jīng)檢驗(yàn)過了當(dāng)前節(jié)點(diǎn)(是集合S中的一項(xiàng)),或者如果與其相關(guān)的代價(jià)不小于COSTOFCHEAPNODE,則變量CHEAPESTNODE和COSTOFCHEAPNODE不需要進(jìn)行更新。在這種情況下,本算法跳轉(zhuǎn)到步驟921并且按照前面介紹的那樣繼續(xù)進(jìn)行。
當(dāng)為了確定接下來要檢驗(yàn)?zāi)膫€(gè)節(jié)點(diǎn)而審查了網(wǎng)絡(luò)中的所有節(jié)點(diǎn)的時(shí)候,即,步驟923中的測(cè)試的結(jié)果是否定的,則本算法檢查CHEAPESTNODE變量的值(步驟925)。如果CHEAPESTNODE變量的值不是∞,則迭代搜索已經(jīng)得到了接下來要檢驗(yàn)的節(jié)點(diǎn)。將變量CURNODEID設(shè)置為最便宜的節(jié)點(diǎn)(步驟927)(即,CURNODEID=NODEID[CHEAPESTNODE]),并且重復(fù)進(jìn)行步驟903到925。
不過,如果值為∞,則本算法沒有在網(wǎng)絡(luò)中找到了滿足步驟917中的測(cè)試條件的任何節(jié)點(diǎn),即,已經(jīng)檢驗(yàn)了網(wǎng)絡(luò)中的所有節(jié)點(diǎn)。在這種情況下,路徑選擇算法結(jié)束,因?yàn)樗呀?jīng)計(jì)算出了從節(jié)點(diǎn)PATHSTART到網(wǎng)絡(luò)中的每一個(gè)其它節(jié)點(diǎn)的最短路徑。當(dāng)路徑選擇算法完成時(shí),將所選擇的路徑保存在PATH[PATHEND]并且將這個(gè)所選路徑的代價(jià)保存在C[PATHEND]中。
當(dāng)在圖1的網(wǎng)絡(luò)中運(yùn)行本路徑選擇算法時(shí),并且假設(shè)所要選擇的路徑開始于節(jié)點(diǎn)A并且結(jié)束于節(jié)點(diǎn)F(即,PATHSTART=A并且PATHEND=F),則應(yīng)該按照下列方式建立C[]表格和PATH[]表格。
最初
S={}
CURNODEID=PATHSTART=AS={CURNODEID}={A}
CURNODEID=BS=S+{CURNODEID}={A,B}
CURNODEID=CS=S+{CURNODEID}={A,B,C}
CURNODEID=ES=S+{CURNODEID}={A,B,C,E}
CURNODEID=DS=S+{CURNODEID}={A,B,C,E,D}
CURNODEID=FS=S+{CURNODEID}={A,B,C,E,D,F(xiàn)}
END因此,在路徑選擇算法完成時(shí)所選路徑=PATH[PATHEND]=PATH[F]={A,E,F(xiàn)}所選路徑的代價(jià)=C[PATHEND]=C[F]=0.8333。
使用上述路徑選擇算法的優(yōu)點(diǎn)在于,每次使用鏈路上的波長(zhǎng)時(shí),鏈路的代價(jià)/衡量標(biāo)準(zhǔn)會(huì)發(fā)生改變,即,它是‘動(dòng)態(tài)的’。這是因?yàn)榇鷥r(jià)/衡量標(biāo)準(zhǔn)本身是給定鏈路上可用的波長(zhǎng)數(shù)量的函數(shù)。因此,同一對(duì)端點(diǎn)之間的多次連接嘗試不必采用穿過網(wǎng)絡(luò)的相同路徑。如果使用‘靜態(tài)’的代價(jià)/衡量標(biāo)準(zhǔn)(即,每次分配波長(zhǎng)時(shí)不改變代價(jià)/衡量標(biāo)準(zhǔn),例如,鏈路上可用帶寬的某種函數(shù)),就象很多公知的最短路徑優(yōu)先(SPF)算法的情況那樣,則在為一對(duì)端點(diǎn)之間的所有連接使用相同的路徑直到沿著該路徑的鏈路之一的容量用盡的情況下,會(huì)出現(xiàn)過載。使用基于鏈路的使用量的代價(jià)/衡量標(biāo)準(zhǔn)能夠?qū)崿F(xiàn)對(duì)相同量的光纖/波長(zhǎng)進(jìn)行更多的連接,并且在鏈路故障時(shí)還會(huì)給出幫助。這是因?yàn)槭褂没阪溌肥褂昧康拇鷥r(jià)/衡量標(biāo)準(zhǔn)有助于比‘靜態(tài)’代價(jià)/衡量標(biāo)準(zhǔn)更加均勻地跨越網(wǎng)絡(luò)來散布波長(zhǎng)用量。因此即使鏈路發(fā)生故障,但由于本算法更加均勻地跨越網(wǎng)絡(luò)來散布連接,所以它很可能正承載著較少的連接,并且因此會(huì)使響應(yīng)于故障所需要的重新進(jìn)行路由的連接數(shù)量較少。
現(xiàn)在將更加詳細(xì)地介紹波長(zhǎng)選擇算法。下面列出的變量是在波長(zhǎng)選擇算法的介紹以及圖11到13中的相關(guān)流程圖中使用的。
E2EWAVELENGTHS—保存描述沿著所選路徑端到端可用的波長(zhǎng)的位向量。
PATHNODEID[1]—保存所選路徑上第1個(gè)節(jié)點(diǎn)的NODEID。
PATHINT[1]—保存所選路徑上第1個(gè)鏈路的鏈路編號(hào)。
WAVELENGTHS[NODEID][INTFACE]—保存描述節(jié)點(diǎn)NODEID上的鏈路INTFACE上可用的波長(zhǎng)的位向量。
PATHLENGTH—保存所選路徑上節(jié)點(diǎn)的數(shù)量。
WAVELENGTHCOUNTER[WAVELENGTH]-保存波長(zhǎng)WAVELENGTH‘接觸’所選路徑的次數(shù)。
INTERFACES[NODEID]—保存與節(jié)點(diǎn)NODEID連在一起的鏈路的數(shù)量。
WAVELENGTHSONLINK—保存對(duì)所選鏈路上可用的波長(zhǎng)進(jìn)行描述的位向量。
WAVELENGTHSONLINK[WAVELENGTH]-如果波長(zhǎng)WAVELENGTH可用在所選鏈路上則保存數(shù)值1,或者如果波長(zhǎng)WAVELENGTH不可用,則保存數(shù)值0。
E2EWAVELENGTHS[WAVELENGTH]—如果波長(zhǎng)WAVELENGTH可沿著所選路徑端到端使用(即,如果波長(zhǎng)WAVELENGTH包含在位向量E2EWAVELENGTHS中),則保存數(shù)值1,或者如果波長(zhǎng)WAVELENGTH不可端到端使用,則保存數(shù)值0。
TOTALWAVELENGTHSSUPPORTED—保存單獨(dú)一條鏈路上允許的波長(zhǎng)的最大數(shù)量。
MOSTUSEDINDEX—在波長(zhǎng)選擇算法的結(jié)尾,MOSTUSEDINDEX保存最頻繁‘接觸’所選路徑的波長(zhǎng),即,本算法選擇用來沿著所選路徑端到端可用的波長(zhǎng)。
在選擇了路徑之后(使用前面介紹的路徑選擇算法或者通過使用另一種可選路徑選擇算法),波長(zhǎng)選擇算法計(jì)算哪些波長(zhǎng)沿著所選路徑端到端可用(即,哪些波長(zhǎng)滿足波長(zhǎng)連續(xù)性限制)并且將結(jié)果存儲(chǔ)在E2EWAVELENGTHS位向量中。
為此,參照?qǐng)D11中的步驟1101,本算法一開始假設(shè)所有的波長(zhǎng)都端到端可用(即,E2EWAVELENGTHS={111...11})。本算法還通過將計(jì)數(shù)器CURNODE設(shè)置為1來對(duì)其進(jìn)行初始化。計(jì)數(shù)器CURNODE記住當(dāng)前正在由本算法檢驗(yàn)的節(jié)點(diǎn)和鏈路。
這樣,由所選路徑上的第一個(gè)節(jié)點(diǎn)和鏈路開始,本算法更新E2EWAVELENGTHS位向量(步驟1103),使其僅僅描述在所選路徑的當(dāng)前鏈路上可用并且可沿著所選路徑端到端可用的那些波長(zhǎng),即,E2EWAVELENGTHS=E2EWAVELENGTHS BITWISEANDWAVELENGTHS[CURNODEID][CURINTFACE]。
然后,在步驟1105中,本算法將計(jì)數(shù)器CURNODE遞增1,并且在步驟1107中,進(jìn)行一項(xiàng)測(cè)試來檢查沿著所選路徑的所有節(jié)點(diǎn)是否都已經(jīng)檢驗(yàn)過了。如果沒有,則重復(fù)步驟1103到1107。如果沿著所選路徑的所有節(jié)點(diǎn)都已經(jīng)檢驗(yàn)過了,則本算法繼續(xù)進(jìn)行,初始化所有的WAVELENGTHCOUNTER[WAVELENGTH]表格并且將計(jì)數(shù)器CURNODE重置為1(步驟1109)。
然后本波長(zhǎng)選擇算法繼續(xù)進(jìn)行,以檢驗(yàn)與沿著所選路徑的各個(gè)節(jié)點(diǎn)連在一起的所有鏈路。將參照?qǐng)D12介紹這個(gè)處理過程。
在步驟1111中,本算法得出與當(dāng)前節(jié)點(diǎn)連在一起的鏈路的數(shù)量,將該數(shù)值存儲(chǔ)為變量NUMINTFACES并且對(duì)計(jì)數(shù)器CURINTFACE進(jìn)行初始化,這個(gè)計(jì)數(shù)器用于記住當(dāng)前正由本算法檢驗(yàn)的鏈路。
在步驟1113中,本算法計(jì)算哪些波長(zhǎng)可用在當(dāng)前鏈路上,將結(jié)果存儲(chǔ)為變量WAVELENGTHSONLINK并且對(duì)計(jì)數(shù)器CURWAVELENGTH進(jìn)行初始化,該計(jì)數(shù)器用來記住當(dāng)前正由本算法檢驗(yàn)的波長(zhǎng)。
然后進(jìn)行測(cè)試(步驟1115)以檢查當(dāng)前波長(zhǎng)是否可用在當(dāng)前鏈路上以及是否沿著所選路徑端到端可用。如果測(cè)試結(jié)果是肯定的,則將用于當(dāng)前波長(zhǎng)的WAVELENGTHCOUNTER[WAVELENGTH]表格遞增1(步驟1117)并且將CURWAVELENGTH計(jì)數(shù)器遞增1(步驟1119)。如果測(cè)試結(jié)果是否定的(即,測(cè)試中的條件之一或全部條件得不到滿足),則本算法向前跳轉(zhuǎn)并且僅僅遞增CURWAVELENGTH計(jì)數(shù)器(步驟1119)。
然后進(jìn)行進(jìn)一步測(cè)試(步驟1121)來檢查當(dāng)前鏈路上的所有波長(zhǎng)是否都已經(jīng)檢驗(yàn)過了。如果測(cè)試結(jié)果表明還有更多的波長(zhǎng)要檢驗(yàn),則對(duì)各個(gè)波長(zhǎng)重復(fù)進(jìn)行步驟1115到1121。如果測(cè)試結(jié)果表明當(dāng)前鏈路上沒有其它的波長(zhǎng)要檢驗(yàn)了,則將CURINTFACE計(jì)數(shù)器遞增1(步驟1123)。
然后進(jìn)行另一測(cè)試(步驟1125)來檢查與當(dāng)前節(jié)點(diǎn)連在一起的所有鏈路是否都已經(jīng)檢驗(yàn)過了。如果測(cè)試結(jié)果表明還有更多的鏈路要檢驗(yàn),則對(duì)各條鏈路重復(fù)進(jìn)行步驟1113到1125。如果測(cè)試結(jié)果表明沒有剩下與當(dāng)前節(jié)點(diǎn)連在一起的鏈路要檢驗(yàn),則將CURNODE計(jì)數(shù)器遞增1(步驟1127)。
然后進(jìn)行另一測(cè)試(步驟1129)來檢查所選路徑上的所有節(jié)點(diǎn)是否都已經(jīng)檢驗(yàn)過了。如果測(cè)試結(jié)果表明還有更多的節(jié)點(diǎn)要檢驗(yàn),則對(duì)各個(gè)節(jié)點(diǎn)重復(fù)進(jìn)行步驟1111到1129。當(dāng)測(cè)試結(jié)果表明沒有剩下節(jié)點(diǎn)要檢驗(yàn)時(shí),從頭到尾重讀一遍WAVELENGTHCOUNTER[WAVELENGTH]表格并且將可在最多的與所選路徑連在一起的鏈路上使用的端到端波長(zhǎng)選擇為要使用的端到端波長(zhǎng)?,F(xiàn)在將參照?qǐng)D13介紹這一重讀處理。
在步驟1131中,初始化MOSTUSEDINDEX變量并且設(shè)置為1,同時(shí)將CURWAVELENGTH計(jì)數(shù)器重置為1。然后進(jìn)行一項(xiàng)測(cè)試(步驟1133)來檢查當(dāng)前波長(zhǎng)是否比由MOSTUSEDINDEX變量當(dāng)前存儲(chǔ)的波長(zhǎng)更多地出現(xiàn)在鏈路上。如果測(cè)試結(jié)果是肯定的(即,WAVELENGTHCOUNTER[CURWAVELENGTH]>W(wǎng)AVELENGTHCOUNTER[MOSTUSEDINDEX]),則對(duì)MOSTUSEDINDEX進(jìn)行更新,以使其存儲(chǔ)當(dāng)前波長(zhǎng)(步驟1135),然后將CURWAVELENGTH計(jì)數(shù)器遞增1(步驟1137)。如果測(cè)試結(jié)果是否定的,則本算法跳到步驟1137并且將CURWAVELENGTH計(jì)數(shù)器遞增1。
然后進(jìn)行進(jìn)一步的測(cè)試(步驟1139)來檢查是否所有的波長(zhǎng)都已經(jīng)檢驗(yàn)過了。如果測(cè)試結(jié)果表明還有更多的波長(zhǎng)要檢驗(yàn),則對(duì)各個(gè)波長(zhǎng)重復(fù)進(jìn)行步驟1133到1139。如果測(cè)試結(jié)果表明沒有更多的波長(zhǎng)要檢驗(yàn),則本波長(zhǎng)選擇算法結(jié)束。
當(dāng)本波長(zhǎng)選擇算法在圖1的網(wǎng)絡(luò)中運(yùn)行時(shí),并且假設(shè)已經(jīng)由路徑選擇算法選擇了路徑A-E-F,應(yīng)該按照下列方式建立WAVELENGTHCOUNTER[]表格E2EWAVELENGTHS={11111}[最初將所有的波長(zhǎng)都假設(shè)為可用]E2EWAVELENGTHS=E2EWAVELENGTHSBITWISEANDWAVELENGTHS[NODEA][LINKA-B]={11111}BITWISEAND{00101}={00101}[經(jīng)處理的節(jié)點(diǎn)A、鏈路A-E]E2EWAVELENGTHS=E2EWAVELENGTHSBITWISEANDWAVELENGTHS[NODEB][LINKB-C]={00101}BITWISEAND{00111}={00101}[經(jīng)處理的節(jié)點(diǎn)E、鏈路E-F]E2EWAVELENGTHS={00101}[即,編號(hào)為1、2和4的波長(zhǎng)不可端到端使用]WAVELENGTHCOUNTER[1]=0WAVELENGTHCOUNTER[2]=0等。
最初的WAVELENGTHCOUNTER表格
處理與節(jié)點(diǎn)A(路徑中的第一個(gè)節(jié)點(diǎn))連在一起的鏈路
處理與節(jié)點(diǎn)E(路徑中的第二個(gè)節(jié)點(diǎn))連在一起的鏈路
處理與節(jié)點(diǎn)F(路徑中的第三個(gè)/最后一個(gè)節(jié)點(diǎn))連在一起的鏈路
在已經(jīng)處理了路徑中與最后一個(gè)節(jié)點(diǎn)連在一起的鏈路之后,從頭到尾重讀一遍WAVELENGTHCOUNTER表格并且選擇出現(xiàn)最頻繁的波長(zhǎng)。
因此,在這個(gè)例子中,選擇和使用編號(hào)為5的波長(zhǎng)(WAVELENGTHCOUNTER[5])。
應(yīng)當(dāng)注意,要實(shí)現(xiàn)本發(fā)明的優(yōu)點(diǎn),并非必需選擇出現(xiàn)最頻繁的波長(zhǎng)。例如,在每條光纖鏈路上能夠支持多達(dá)160個(gè)波長(zhǎng)的網(wǎng)絡(luò)中,選擇出現(xiàn)次數(shù)第二多或者第三多的波長(zhǎng),或者選擇在與路徑上的節(jié)點(diǎn)連在一起的鏈路中的大多數(shù)鏈路上可用的波長(zhǎng),效果都是很好的。實(shí)際上,可用率比其它波長(zhǎng)高的任何波長(zhǎng)應(yīng)該都是有有益效果的。
在數(shù)個(gè)波長(zhǎng)具有相同的可用度(即,它們可用在相同數(shù)量的鏈路上)的情況下,選擇(這些可用度相等的波長(zhǎng)中的)第一個(gè)波長(zhǎng),其中第一個(gè)波長(zhǎng)是編號(hào)最低的波長(zhǎng),即,如果波長(zhǎng)3和5可用度一樣,則應(yīng)該選擇波長(zhǎng)3。
如已經(jīng)討論過的,使用上面介紹的方法的優(yōu)點(diǎn)是,通過考慮波長(zhǎng)選擇決定將會(huì)如何影響以后使用正在為其選擇波長(zhǎng)的路徑的鏈路中的一條或多條鏈路進(jìn)行的沿著路徑的連接嘗試,可以做出與選擇哪些波長(zhǎng)有關(guān)的更好的決定。在圖1的示例網(wǎng)絡(luò)中,如果在沿著路徑AEF傳輸光學(xué)信號(hào)的過程中需要使用波長(zhǎng),則選擇第一個(gè)可用波長(zhǎng),應(yīng)該是選擇波長(zhǎng)3?,F(xiàn)在考慮需要沿著路徑DEF的連接的情形。由于之前的波長(zhǎng)選擇結(jié)果(選了波長(zhǎng)3),在節(jié)點(diǎn)D和F之間無法供應(yīng)路徑(因?yàn)槲ㄒ谎刂麄€(gè)路徑DEF端到端可用的波長(zhǎng)是波長(zhǎng)3,而它已經(jīng)沿著鏈路EF在使用了)。因此連接嘗試受到阻礙。使用按照本發(fā)明的波長(zhǎng)選擇算法會(huì)得到選擇波長(zhǎng)5的結(jié)果,因?yàn)檫@個(gè)波長(zhǎng)可廣泛地用在與節(jié)點(diǎn)A、E和F連在一起的鏈路上。在這種情形下,因?yàn)榭梢赃x擇波長(zhǎng)3,所以沿著路徑DEF的連接嘗試將不會(huì)受到阻礙。
要注意,端到端可行性檢查、路徑選擇算法和波長(zhǎng)選擇算法是可以組合起來或單獨(dú)使用的。實(shí)際上,它們各自可以獨(dú)立地使用。例如,可以與前面介紹的端到端可行性檢查一起使用任何公知的路徑選擇算法(例如,任何公知的最短路徑首選或有條件最短路徑首選算法)和/或任何公知的波長(zhǎng)選擇算法。另外,可以在進(jìn)行或不進(jìn)行端到端可行性檢查的情況下,一起或獨(dú)立地使用前面介紹的路徑選擇和波長(zhǎng)選擇算法。其它形式的組合對(duì)本領(lǐng)域技術(shù)人員來說是明顯的。
從前面的說明中,顯而易見,可以對(duì)前面介紹的實(shí)施例進(jìn)行很多種改造或變化,而不會(huì)脫離本發(fā)明。
權(quán)利要求
1.一種選擇在沿著光學(xué)網(wǎng)絡(luò)中的路徑傳輸光學(xué)數(shù)據(jù)的過程中使用的波長(zhǎng)的方法,所述光學(xué)網(wǎng)絡(luò)包括多個(gè)由光纖鏈路相互連接起來的節(jié)點(diǎn),所述方法包括找出可用于沿著所述路徑端到端使用的波長(zhǎng);找出在與所述路徑上的各個(gè)節(jié)點(diǎn)連接在一起的各條鏈路上可用的波長(zhǎng);選擇端到端可用的并且在與所述路徑上的節(jié)點(diǎn)連接在一起的鏈路上比其它波長(zhǎng)更加可用的波長(zhǎng)。
2.根據(jù)權(quán)利要求1所述的方法,所述方法還包括使用最短路徑優(yōu)先算法而選擇所述路徑的再先步驟。
3.根據(jù)權(quán)利要求2所述的方法,其中在所述算法中使用的衡量標(biāo)準(zhǔn)與鏈路上的波長(zhǎng)使用情況有關(guān)。
4.根據(jù)權(quán)利要求2到3中任何一項(xiàng)所述的方法,其中所述路徑的選擇過程包括一次延長(zhǎng)所述路徑一個(gè)鏈路。
5.根據(jù)權(quán)利要求4所述的方法,所述方法還包括在用所提議的鏈路延長(zhǎng)所述路徑之前對(duì)包含所述所提議的鏈路的路徑進(jìn)行端到端可行性檢查。
6.根據(jù)權(quán)利要求5所述的方法,其中所述可行性檢查基于所述路徑的光學(xué)特性。
7.根據(jù)權(quán)利要求6所述的方法,其中所述可行性檢查確定包含所提議的鏈路的路徑的端到端光學(xué)損耗是否是可接受的。
8.一種數(shù)字?jǐn)?shù)據(jù)載體,所述數(shù)字?jǐn)?shù)據(jù)載體攜帶著可由處理設(shè)備執(zhí)行的、用來進(jìn)行權(quán)利要求1到7中任何一項(xiàng)所述的方法步驟的指令程序。
9.一種光學(xué)網(wǎng)絡(luò)中使用的節(jié)點(diǎn),所述光學(xué)網(wǎng)絡(luò)包括多個(gè)由光纖鏈路相互連接起來的節(jié)點(diǎn),所述節(jié)點(diǎn)包括找出用構(gòu)件,用于找出可用于沿著所述路徑端到端使用的波長(zhǎng);找出在與所述路徑上的各個(gè)節(jié)點(diǎn)連接在一起的各條鏈路上可用的波長(zhǎng);選擇構(gòu)件,用于選擇端到端可用的并且在與所述路徑上的節(jié)點(diǎn)連接在一起的鏈路上比其它波長(zhǎng)更加可用的波長(zhǎng)。
10.一種光學(xué)網(wǎng)絡(luò)中使用的節(jié)點(diǎn),所述光學(xué)網(wǎng)絡(luò)包括多個(gè)由光纖鏈路相互連接起來的節(jié)點(diǎn),所述節(jié)點(diǎn)包括存儲(chǔ)介質(zhì),在該存儲(chǔ)介質(zhì)中記錄有處理器可讀的代碼,該代碼可執(zhí)行用以選擇在沿著所述光學(xué)網(wǎng)絡(luò)中的路徑傳輸光學(xué)數(shù)據(jù)的過程中使用的波長(zhǎng)的處理,所述代碼包括波長(zhǎng)找出用代碼,可執(zhí)行用以找出可用于沿著所述路徑端到端使用的波長(zhǎng);找出在與所述路徑上的各個(gè)節(jié)點(diǎn)連接在一起的各條鏈路上可用的波長(zhǎng);波長(zhǎng)選擇代碼,可執(zhí)行用以選擇端到端可用的并且在與所述路徑上的節(jié)點(diǎn)連接在一起的鏈路上比其它波長(zhǎng)更加可用的波長(zhǎng)。
11.根據(jù)權(quán)利要求9或10所述的節(jié)點(diǎn),其中所述節(jié)點(diǎn)包括所述路徑上的節(jié)點(diǎn)。
12.根據(jù)權(quán)利要求11所述的節(jié)點(diǎn),其中所述節(jié)點(diǎn)包括所述路徑的入口節(jié)點(diǎn)。
13.一種包括多個(gè)由光纖鏈路相互連接起來的節(jié)點(diǎn)的光學(xué)網(wǎng)絡(luò),其中所述節(jié)點(diǎn)中的一個(gè)或多個(gè)包括根據(jù)權(quán)利要求9到12中任何一項(xiàng)所述的節(jié)點(diǎn)。
全文摘要
本發(fā)明提供了波長(zhǎng)選擇。公開了一種選擇沿著光學(xué)網(wǎng)絡(luò)中的路徑傳輸光學(xué)數(shù)據(jù)的過程中使用的波長(zhǎng)的方法。以前公知的選擇波長(zhǎng)的方法并沒有考慮波長(zhǎng)選擇決定將會(huì)如何影響以后沿著具有一條或多條與正在為其進(jìn)行波長(zhǎng)選擇的路徑共有的鏈路的路徑進(jìn)行的連接嘗試。因此,以后的連接嘗試可能受到阻礙,因?yàn)檠刂⒌恼麄€(gè)路徑?jīng)]有端到端可用的波長(zhǎng)。在所提出的方法中,找出可用于沿著路徑端到端使用的波長(zhǎng)、找出與路徑上的各個(gè)節(jié)點(diǎn)連接在一起的各條鏈路上可用的波長(zhǎng)并且選擇端到端可用的且在與路徑上的節(jié)點(diǎn)連接在一起的鏈路上比其它波長(zhǎng)更加可用的波長(zhǎng)。
文檔編號(hào)H04J14/02GK1998172SQ200580024296
公開日2007年7月11日 申請(qǐng)日期2005年7月12日 優(yōu)先權(quán)日2004年7月19日
發(fā)明者本杰明·保羅·尼文·詹金斯, 約翰·羅伯特·金 申請(qǐng)人:英國電訊有限公司