專利名稱:用于管理通信網(wǎng)絡(luò)中的鏈路資源的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于管理通信網(wǎng)絡(luò)中的鏈路資源的方法,該鏈路可以是無線鏈路,特別地該網(wǎng)絡(luò)包括了在無線鏈路幫助下互連的有線通信總線。
背景技術(shù):
在包括多個互連的傳輸媒介的網(wǎng)絡(luò)中,各個傳輸媒介的可用帶寬沒有必要相同。
例如,如果考慮到由5GHz ETSI BRAN HiperLAN 2無線鏈路連接在一起的兩個IEEE1394有線串行總線,每個有線總線的可用帶寬可以是100Mb/s或更大,而無線鏈路上的可用帶寬可能被限制在30Mb/s之內(nèi)。因此,對于使用這種鏈路的連接而言,無線鏈路造成了瓶頸。
圖1為這種網(wǎng)絡(luò)的一種示例圖。該網(wǎng)絡(luò)包括兩條總線11和12,分別將源設(shè)備13與宿設(shè)備14以及宿設(shè)備15與源設(shè)備16連接起來。例如源設(shè)備13可以是數(shù)字VCR,宿設(shè)備14和15為顯示器而源設(shè)備16為調(diào)諧器??偩€11還與入口17相連接,而總線12與入口18相連,這兩個入口形成了總線11和12之間的無線鏈路。假設(shè)在IEEE 1394層,該無線鏈路對于設(shè)備13和16是透明的,即就是說這些設(shè)備認為它們處于同一物理總線上。
假設(shè)無線鏈路上可用帶寬為30Mb/s,在VCR13與顯示器15之間建立20Mb/s的第一連接。由于鏈路對設(shè)備16和14來說是透明的,可以在調(diào)諧器16與顯示器14之間建立第二連接,但如果第二連接所需要的帶寬大于剩余的無線帶寬,不管大多少,顯示器14也不能顯示正確的圖像。至于涉及到的創(chuàng)建第二連接的應(yīng)用,在IEEE1394層仍然可以毫無意外地建立連接,這是因為該層中鏈路的透明性。
發(fā)明內(nèi)容
本發(fā)明的目的是一種用于管理包括總線的通信網(wǎng)絡(luò)中的鏈路資源的方法,所述總線由至少一個鏈路互聯(lián)以形成一個其中至少一個鏈路對于某些與總線相連的節(jié)點的協(xié)議層來說是透明的網(wǎng)絡(luò),所述方法的特征在于包括步驟使至少一個鏈路上的可用資源信息對于認識鏈路(link-aware)的應(yīng)用是可用的。
根據(jù)實施例,每個鏈路包括了多個入口,鏈路的至少一個入口包括了有關(guān)其鏈路的所述資源信息。
根據(jù)實施例,信息包括鏈路上的可用帶寬。該信息還包括鏈路上的可用信道。
根據(jù)實施例,一個應(yīng)用(application)通過包括以下步驟的方法在網(wǎng)絡(luò)的兩個節(jié)點之間建立連接a在總線上預(yù)約(reserving)用于連接的信道和帶寬;b識別要被連接的節(jié)點之間通路上的鏈路;c如果步驟a成功,為所述通路上的每一個鏈路預(yù)約資源。
根據(jù)實施例,為每一個鏈路預(yù)約資源的步驟包括步驟-使該應(yīng)用請求預(yù)約與在步驟a從各個鏈路預(yù)約的帶寬和信道相同的帶寬和信道。
根據(jù)實施例,為每一個鏈路預(yù)約資源的步驟進一步包括步驟-該應(yīng)用將要被連接節(jié)點的標(biāo)識符發(fā)送到資源要被預(yù)約鏈路的入口;-作為被連接節(jié)點的功能,使鏈路判斷請求的帶寬是否可用;-作為此判斷的功能,接受或拒絕帶寬預(yù)約請求。
根據(jù)實施例,為每一個鏈路預(yù)約資源的步驟進一步包括步驟-使鏈路檢查被請求的信道的可用性,如果該鏈路上的信道是可用的,接受信道預(yù)約;-檢查是否已經(jīng)達到了鏈路上被預(yù)約信道最大值并且在肯定情況下,拒絕其他的預(yù)約。
根據(jù)實施例,對于提供一個表示網(wǎng)絡(luò)的信道可用性的寄存器和一個表示各個鏈路的信道可用性的寄存器的步驟,其中上述兩個寄存器都包括相同的信道數(shù)和各個鏈路可以并行預(yù)約的信道數(shù)的最大值,所述最大值小于或等于寄存器中的信道數(shù),在接受了信道預(yù)約之后,為鏈路提供資源信息的入口檢查已經(jīng)被并行預(yù)約的信道是否達到了最大值,并在肯定的情況下修改鏈路的寄存器以表示對于該鏈路而言沒有可用的信道。
在附圖的幫助下,在對無限制實施例的說明中會公開本發(fā)明其他的特性及優(yōu)勢,在附圖中-已說明過的圖1所示為包括了無線鏈路的網(wǎng)絡(luò)框圖,并顯示了由該鏈路構(gòu)成的帶寬瓶頸;-圖2為根據(jù)本發(fā)明實施例的網(wǎng)絡(luò)框圖,該網(wǎng)絡(luò)包括無線鏈路并顯示了在構(gòu)成無線鏈路的入口設(shè)備中的軟件棧和實現(xiàn)本發(fā)明用到的寄存器;-圖3所示為預(yù)約信道方法的流程圖,該方法利用了指出無線鏈路上可用信道的寄存器;-圖4所示為釋放被預(yù)約的信道方法的流程圖;-圖5所示為根據(jù)本發(fā)明不同實施例的鏈路上帶寬的使用和預(yù)約的框圖;-圖6所示為釋放圖5所示帶寬的框圖;-圖7所示為根據(jù)本發(fā)明不同實施例,在不同類型網(wǎng)絡(luò)之間共享的多入口鏈路的框圖;-圖8所示為圖1中網(wǎng)絡(luò)的框圖,這里為了減少無線鏈路的使用,調(diào)整了節(jié)點與總線連接。
具體實施例方式
盡管本實施例是基于使用ETSI BRAN HiperLAN 2無線鏈路,也可以使用其他技術(shù),例如執(zhí)行Internet協(xié)議(IP)的鏈路。此外,盡管在下面說明的實施例中,有線總線之間的鏈路是無線的,但沒有必要必須如此。
有關(guān)IEEE1394的信息可參看由IEEE公布的IEEE文件1394-1995及IEEE 1394a-2000。
1、基本信息為了簡化說明,將在附圖的幫助下介紹本實施例,這些附圖給出了通常各包括兩個入口的鏈路。不過,本發(fā)明也可以應(yīng)用于包括兩個以上入口的鏈路。
圖2所示的網(wǎng)絡(luò)由兩個IEEE 1394總線(也稱為設(shè)備群集)21和22形成,每個總線各包括有線IEEE1394總線、多個設(shè)備(分別為節(jié)點23、24、29以及25、26、30)以及通往無線Hiperlan 2鏈路的入口。所有節(jié)點均為IEEE1394設(shè)備。應(yīng)用可以認識到無線鏈路的存在和位置。
根據(jù)本實施例,入口27和28對其他設(shè)備來說不是透明的,也可以認為這兩個入口是其各自總線上的節(jié)點,即,在總線復(fù)位之后其性質(zhì)為物理標(biāo)識符。然而在IEEE1394層的層面上,鏈路是透明的認為所有的節(jié)點均位于單-總線上并因此在復(fù)位之后的性質(zhì)為物理標(biāo)識符。當(dāng)執(zhí)行總線復(fù)位時,入口27和28發(fā)出自身的識別分組,以表示其各自群集上的節(jié)點。
各個節(jié)點都包括IEEE1394軟件棧,即就是物理層、鏈路層、事務(wù)層以及應(yīng)用層。每一個入口在其有線總線接口中也包括這些層。最后,這些入口利用Hiperlan 2協(xié)議棧進行通信。
2、鏈路資源管理器與相關(guān)聯(lián)的寄存器根據(jù)本發(fā)明,入口使與無線鏈路相關(guān)的資源預(yù)約信息對于不同群集中節(jié)點的應(yīng)用是可用的。根據(jù)本實施例,該信息包括鏈路上的可用帶寬和信道。該信息保留在無線鏈路的至少一個入口的“無線資源寄存器”中,并可以由應(yīng)用或不同總線上節(jié)點的中間件(middleware)訪問到。
眾所周知如IEEE1394 1995標(biāo)準(zhǔn)定義的IEEE 1394總線包括了所謂的同步資源管理器(或’IRM’),該管理器保留了兩個寄存器,‘BANDWITH_AVALABLE’和‘CHANNELS_AVALABLE’,分別指出了總線上的可用帶寬和在最多64個同步信道中的可用信道。
由于根據(jù)本實施例涉及IEEE1394層的無線鏈路是透明的,所以網(wǎng)絡(luò)中存在單一的IRM。
與上述標(biāo)準(zhǔn)所定義的相同,表1給出IRM BANDWITH_AVALABLE寄存器的格式
19比特 13比特表1bw_remaining的初始值等于0X1333個(在10進制系統(tǒng)中為4915)帶寬單元。當(dāng)每次節(jié)點的應(yīng)用期望預(yù)約有線總線上的帶寬時,應(yīng)用會檢查此值并且如果有足夠可用帶寬時,減去所需的帶寬。否則不能建立連接。
與上述標(biāo)準(zhǔn)所定義的相同,表2給出了IRM CHANNELS_AVALABLE寄存器的格式
32比特表2該寄存器的初始值為0XFFFFFFFF。每一位表示了特定信道的可用性。′channels_available_hi′的最低可用位表示信道0的可用性,而′channels_available_lo′的最高可用位表示信道63的可用性。當(dāng)每次應(yīng)用期望預(yù)約信道時,應(yīng)用會檢查該寄存器,選擇可用信道并將寄存器的對應(yīng)位置為′0′。當(dāng)沒有足夠多的可用信道時,不能建立連接。
為了預(yù)約帶寬或信道,首先由應(yīng)用通過讀取請求消息讀取寄存器。應(yīng)用接收包含了該寄存器內(nèi)容的讀取響應(yīng)消息。在檢查完被請求資源的可用性之后,應(yīng)用鎖定對應(yīng)的寄存器的訪問權(quán)并寫入適當(dāng)?shù)男轮怠fi定和寫入操作由應(yīng)用發(fā)送鎖定請求以及IRM發(fā)送鎖定響應(yīng)來完成。根據(jù)IEEE1394 1995,分開進行對各個寄存器的訪問。根據(jù)IEEE 1394 2000,萬一有鎖定請求不利沖突,由于鎖定響應(yīng)發(fā)回了實際值,則沒有必要進行讀取。
根據(jù)本實施例,資源管理器在鏈路層實現(xiàn)。以下論述中這種資源管理器被稱為“鏈路資源管理器”或LRM,以區(qū)別于IEEE 1394 1995定義的IRM。
根據(jù)本實施例,LRM在無線鏈路的一個入口執(zhí)行。它管理的兩個寄存器,LINK_BANDWIDTH_AVAILABLE和LINK_CHANNEL_AVAILABLE分別表示了無線鏈路上的可用帶寬和可用信道(除了其他信息之外)。
表3給出了根據(jù)本實施例的LRMLINK_BANDWIDTH_AVAILABLE寄存器的格式
6比特 6比特1 6比特13比特表3LRM_bw_remaining字段和IRM BANDWITH_AVALABLE寄存器中bw_remaining字段的作用相同。假設(shè)鏈路上的可用帶寬與有線總線上的可用帶寬不同,則該參數(shù)的初始值也不同。如果鏈路上的可用帶寬較低,這個字段的初始值也就較低,而如果鏈路上的可用帶寬較高,由于限制因子是與無線鏈路相連接的總線上的帶寬,所以當(dāng)進行預(yù)約時,該參數(shù)永遠也不會到0。
Source_PhyID字段包含了源設(shè)備的物理標(biāo)識符。Sink_PhyID字段包含了宿設(shè)備的物理標(biāo)識符。這些字段的內(nèi)容由進行預(yù)約的應(yīng)用來定義(利用鎖定請求消息),目的是形成講話者節(jié)點(源)與收聽者節(jié)點(宿)的身份LRM。通過這些標(biāo)識符,LRM可以判斷與LRM_BANDWIDTH_AVAILABLE寄存器的′link_bw_remaining′字段所指出的帶寬不相同的實際可用帶寬,這將在下文中進行解釋。
根據(jù)不同的實施例,請求的Source_PhyID和Sink_PhyID字段包含了要被預(yù)約的連接之間入口的物理標(biāo)識符。
在入口多于兩個的無線鏈路中,任意兩個入口之間的可用帶寬可能是不同的,例如是入口間傳送質(zhì)量的函數(shù)。為了指出這些入口對之間的實際帶寬,LRM必須知道哪兩個入口是連接的一部分。LRM可以從講話者和收聽者的身份推斷出入口。在特定情況下,′link_bw_remaining′字段指出的帶寬就不能反映任意兩個入口間的實際可用帶寬。
根據(jù)本實施例,′link_bw_remaining′字段指出了無線鏈路的任意兩對入口之間的最大可用帶寬。如果其請求的數(shù)量大于′link_bw_remaining′字段指出的數(shù)量,則應(yīng)用可以立即判斷出不可能預(yù)約帶寬。在其他所有情況下,LRM首先計算涉及到預(yù)約的兩個端口間的可用帶寬并最后在鎖定響應(yīng)中接受或拒絕預(yù)約,并在響應(yīng)的′link_bw_remaining′字段給出源和宿之間的真實可用帶寬。
根據(jù)一個變化實施例,′link_bw_remaining′字段包含假值(dummyvalue),此值大于任意應(yīng)用可能請求的帶寬。在這種情況下,由于應(yīng)用不能從其讀取請求中推斷出任何的無效帶寬信息,所以LRM始終會拒絕帶寬預(yù)約。
在將無線鏈路嚴格限制為兩個入口的情況下,鏈路上的可用帶寬不是源和宿設(shè)備的函數(shù)。根據(jù)不同的實施例,在包括了這種鏈路的網(wǎng)絡(luò)中,不需要LRM BANDWITH_AVALABLE寄存器的前兩個字段。不過,還有可能在無線鏈路上的兩個入口使用這些字段。
‘Channel’字段包括由應(yīng)用進行預(yù)約所請求的信道數(shù)目。此數(shù)目與分配給IRM的CHANNEL_AVAILABLE寄存器的數(shù)目相同,就像后面會看到的,這是因為應(yīng)用在向無線鏈路的LRM進行預(yù)約之前,首先要向IEEE1394網(wǎng)絡(luò)的IRM進行預(yù)約。為了訪問LRMLINK_BANDWIDTH_AVAILABLE,通過鎖定請求將該字段的內(nèi)容提供給LRM。
‘f’字段包括用于指示鏈路上被請求信道的可用性的標(biāo)記。該字段用于鎖定響應(yīng),以指示被請求的信道是可用(‘0’)還是無效(‘1’)。這由LRM設(shè)置。
表4定義了LRM LINK_CHANNELS_AVAILABLE寄存器的格式。此格式與IRM CHANNELS_AVAILABLE寄存器的格式相同,盡管二者功能并不同。
0 31
32 32比特 63表4該寄存器的內(nèi)容與IRM的CHANNELS_AVAILABLE寄存器的內(nèi)容有著相同的意義。
無線鏈路允許的信道最大值可能會小于或大于IEEE1394總線64個信道的界限。盡管鏈路容許比IEEE1394信道數(shù)更多的信道數(shù)目,但只能使用64,這是由于IEEE1394網(wǎng)絡(luò)的IRM僅限于這個數(shù)字。
如果無線鏈路允許更少的信道數(shù)目,則使用下列算法。圖3給出的算法用于預(yù)約機制而圖4的用于釋放機制。
將link_channels_available(link_channels_available_hi和link_channels_available_lo)位設(shè)為1作為初始值。
當(dāng)應(yīng)用請求被鏈路的LRM分配為空閑且不是最后一個可能的信道時,接受預(yù)約該信道并將該信道的標(biāo)記設(shè)為‘0’。
當(dāng)應(yīng)用請求信道且該信道為鏈路(盡管在IRM的CHANNELS_AVAILABLE寄存器中可能還有可用信道)上最后一個可用信道時,接受預(yù)約該信道并將LINK_CHANNELS_AVAILABLE寄存器的所有標(biāo)記設(shè)為‘0’,這是為了表示出通過這個鏈路已經(jīng)沒有可用信道了。
LRM將真正被應(yīng)用預(yù)約的寄存器的信道列表保存在存儲器中以與那些因為無線鏈路強加的限制而被簡單地設(shè)為無效的信道相比較。
當(dāng)應(yīng)用釋放信道時,將指定信道的標(biāo)記設(shè)為‘1’。如果該鏈路已被完全預(yù)約,這次信道釋放還會觸發(fā)將所有未預(yù)約信道的標(biāo)記設(shè)為‘1’的操作。
管理LINK_CHANNELS_AVAILABLE寄存器和管理IRM的CHANNELS_AVAILABLE寄存器的方式是不同的。前者會接受讀取請求,但不會接受鎖定請求。這樣,應(yīng)用會檢查無線鏈路上的信道是否保持可用。LRM會遵循BANDWIDTH_AVAILABLE寄存器上的應(yīng)用鎖定請求進行實際的信道預(yù)約。
3、寄存器的使用LINK_BANDWIDTH_AVAILABLE寄存器除了只指示可用帶寬之外,還有更多的功能。當(dāng)利用讀取請求進行讀取時,返回鏈路上的可用帶寬,但鎖定請求不僅要觸發(fā)帶寬的預(yù)約,還會觸發(fā)信道的預(yù)約。于是只需要在讀取模式下訪問LINK_CHANNELS_AVAILABLE寄存器,在鎖定模式下則不需要。
希望進行預(yù)約的應(yīng)用首先執(zhí)行IRM預(yù)約,接著利用獲得的信道數(shù)目和預(yù)約的帶寬進行源節(jié)點和宿節(jié)點之間無線鏈路上的預(yù)約。
當(dāng)在LINK_BANDWIDTH_AVAILABLE寄存器上執(zhí)行鎖定請求時,調(diào)用者必須提供IEEE 1394網(wǎng)絡(luò)上源設(shè)備的PhyID號、IEEE 1394網(wǎng)絡(luò)上宿設(shè)備的PhyID號、被請求信道(IRM已對該信道進行了分配)以及新的帶寬值,即讀取請求過程中讀出的值減去被預(yù)約的值。
用一條消息(即鎖定請求)來執(zhí)行所有的分配(帶寬和信道)。如果鏈路LRM有能力處理其入口設(shè)備之間不同的帶寬,則LRM使用源和宿PhyID。
通過表5至表7可以說明LINK_BANDWIDTH_AVAILABLE寄存器的行為,表5至表7所示分別為初始值、在讀取請求之后獲得的值以及在鎖定請求之后獲得的值。
初始值
6比特6比特 1 6比特 13比特表5讀出的值
6比特6比特1 6比特 13比特表6
鎖定結(jié)果
6比特6比特 1 6比特 13比特表7其中,(‘i’=忽略)當(dāng)執(zhí)行讀取請求時,link_bw_remaining值返回讀取響應(yīng)。
鎖定請求包括預(yù)先讀取的帶寬值(根據(jù)IEEE 1394 1995詞匯表為arg_value字段)和新的帶寬值(′data_value′)。LRM將link_bw_remaining字段的當(dāng)前值與鎖定請求接收到的值進行比較。如果這些值相等,由于在當(dāng)前讀取和鎖定請求之間沒有同意其他請求,則進行預(yù)約。寫入到link_bw_remaining字段的新帶寬值不必是在鎖定請求和鎖定響應(yīng)中發(fā)送的值,這是由于前面討論的用于多入口鏈路的計算規(guī)則。換句話說,下一次的讀取請求沒有必要導(dǎo)致保留上一次鎖定請求發(fā)送的帶寬值。
LINK_BANDWIDTH_AVAILABLE寄存器鎖定請求失敗的可能原因有1在當(dāng)前讀取和鎖定請求的時間間隔內(nèi)更改了鏈路上的可用帶寬,所以鎖定請求的′arg_value′無效。LRM管理這種情況的方式與IRM相同。
2鏈路上源和宿之間的可用帶寬不夠。當(dāng)讀取寄存器時,因為返回link_bw_remaining字段的值可能是該鏈路上用于最優(yōu)傳輸?shù)目捎脦?,所以可能檢測不到這一點。由于LRM知道來自鎖定請求消息的PhyID并能夠計算出用于該特定連接的真實可用帶寬,于是容量由相關(guān)入口確定的帶寬不同的鏈路可能會拒絕恢復(fù)源和宿PhyID之間通路上真實帶寬的鎖定。
3需要的信道不再可用。這只有在其他應(yīng)用分配了其他信道(因為被請求的信道仍然被分配在IRM)且這個其他信道是鏈路上最后一個可用信道才有可能發(fā)生,盡管在IRM的CHANNELS_AVAILABLE寄存器中某些信道仍保持空閑。在這種情況下,通過鏈路的LRM不能建立連接。為了反映這種情況,LRM在鎖定響應(yīng)中將‘f’位置為1。
通過表8和表9可以說明LINK_CHANNELS_AVAILABLE寄存器的行為,表8和表9所示分別為初始值、在讀取請求之后獲得的值以及在鎖定請求之后獲得的值。
初始值
32比特表8讀取的值
32比特表9在應(yīng)用從任意源節(jié)點和宿節(jié)點之間鏈路的LRM獲得需要的預(yù)約失敗的情況下,必須請求已預(yù)約資源的存儲單元分配。
4、利用LINK_BANDWIDTH_AVAILABLE寄存器的例子參照表10至表16,在下文中給出了一個利用LRM的LINK_BANDWIDTH_AVAILABLE寄存器的例子。假設(shè)在本例的結(jié)構(gòu)中鏈路最多支持兩個信道。
以總可用帶寬為4915單元為例,表10給出了寄存器的初始值。
6 6 1 6 13表10圖2中節(jié)點23的應(yīng)用希望分配節(jié)點23(源)和節(jié)點25(宿)之間的鏈路上的信道和帶寬。首先,遵循IEEE 1394 1995規(guī)則,在IRM請求信道和帶寬的分配。例如已分配的信道為信道7且?guī)挒?00個單元。于是節(jié)點23的應(yīng)用執(zhí)行LRM的LINK_BANDWIDTH_AVAILABLE寄存器上的鎖定請求,參數(shù)如表11所示。
Arg_valueData_value6 6 1 6 13表11如果接受了鎖定(并且更新了LINK_CHANNELS_AVAILABLE寄存器),按照表12的參數(shù)給出響應(yīng)。
New_value6 61 6 13表12接著,節(jié)點26決定分配節(jié)點26(源)和節(jié)點24(宿)之間的鏈路上的信道和帶寬。假設(shè)IRM已經(jīng)進行了預(yù)約。作為例子,該信道為信道號33且需要的帶寬為1000個單元。同時,如表13所示,節(jié)點25的應(yīng)用執(zhí)行LRM上的鎖定請求且請求信道12以及源節(jié)點29和宿節(jié)點30之間的2000個帶寬單元。
Arg_valueData_value6 6 1 613表13如果接受了鎖定(并且更新了LINK_CHANNELS_AVAILABLE寄存器),則按照表14給出響應(yīng)。
New_value6 6 1 6 13表14由于該鏈路只能提供兩個信道,拒絕節(jié)點26應(yīng)用的鎖定請求。
Arg_valueData_value6 6 1 613表15拒絕了鎖定響應(yīng)且寄存器的字段成為
New_value6 6 1 613表16將‘f’標(biāo)記設(shè)為1,表示在該鏈路上再也沒有信道了。link_bw_remaining字段顯示出最終的更新值,即就是同意節(jié)點25的應(yīng)用的請求之后。
鎖定響應(yīng)包括了Source_PhyID、Sink_PhyID和Channel字段的值,以幫助呼叫方恢復(fù)其請求的內(nèi)容。
當(dāng)預(yù)約或釋放資源時,可以采用以下操作“分配新值”該操作是分配新信道和帶寬的數(shù)量。信道為可用、空閑的,所需的帶寬是可用的。該操作被稱為分配是因為在請求(′arg_value′)下發(fā)送的預(yù)先讀取的帶寬值要大于寫入到link_bw_remaining字段(′data_value′)的新值。將channel_available標(biāo)記置為0。
LRM記住了信道和已分配帶寬之間的關(guān)系。
根據(jù)不同的實施例,可以預(yù)約信道而不預(yù)約帶寬。這種可能性可以由入口方?jīng)Q定。
“分配更多”
如果有足夠多的可用帶寬,該操作是向預(yù)先被分配的信道分配附加的帶寬。LRM根據(jù)鎖定請求的信道號對應(yīng)著已被分配的信道這一事實來識別這種操作。將請求的帶寬之差加到已被該信道預(yù)約的帶寬中。channel_available標(biāo)記保持為0。入口不能阻止在已分配信道預(yù)約帶寬的應(yīng)用發(fā)送另一個會在總線上引起混亂的數(shù)據(jù)流(同1394-1995一樣)。
“完全釋放”該操作是釋放信道以及分配給該信道帶寬。LRM將該操作識別為釋放是因為鎖定請求(包含了讀取請求的結(jié)果)的(′arg_value′)字段小于其′data_value′(包含了要寫入到link_bw_remaining字段的新值)。前兩個字段之差等于(或大于)分配給該信道的帶寬這一事實顯示出資源的釋放為完全釋放的情況。將LINK_CHANNELS_AVAILABLE寄存器的信道標(biāo)記置為空閑(1)。在鎖定請求指出不止要釋放已分配帶寬情況下,只釋放已分配的帶寬。
“部分釋放”該操作是只釋放給定信道的部分帶寬。LRM根據(jù)鎖定請求bw_remaining字段的′arg_value′小于其′data_value′這一事實將請求的操作識別為釋放,而因為差值小于分配給該信道的帶寬,則就是部分的。信道在LINK_CHANNELS_AVAILABLE寄存器中保持預(yù)約(對應(yīng)的標(biāo)記保持為值0)。減去信道被釋放的帶寬并且使LRM與其保持聯(lián)系。
在預(yù)約了鏈路上所有可用信道的情況下,將LINK_CHANNELS_AVAILABLE寄存器中所有的標(biāo)記置為0。LRM仍然保持那些真正被應(yīng)用預(yù)約的信道列表,以和那些只是在寄存器中被標(biāo)記的信道相比較。當(dāng)LRM接收到用于“分配更多”操作的鎖定請求時,只有當(dāng)該請求對應(yīng)著真正預(yù)約的信道時,才會給該請求分配附加的帶寬。
5、利用LINK_CHANNELS_AVAILABLE寄存器的例子分別參照給出不同時刻寄存器內(nèi)容的表17至表21,下文中給出了一個利用LINK_CHANNELS_AVAILABLE寄存器的例子。根據(jù)本例,無線鏈路的容量為三個信道。
最初,沒有使用無線鏈路上的信道。LINK_CHANNELS_AVAILABLE寄存器的狀態(tài)由表17給出
表17例如第一個應(yīng)用預(yù)約信道7。分配之后寄存器的狀態(tài)由表18給出。
表18接著第二個應(yīng)用預(yù)約信道33,寄存器的狀態(tài)變?yōu)?
表19在該鏈路上只剩下一個可用信道。當(dāng)?shù)谌齻€應(yīng)用分配信道2時,寄存器的狀態(tài)變?yōu)?
表20由于該鏈路不能提供更多信道,將所有的信道標(biāo)記置為0。如果第四個應(yīng)用讀取了該鏈路的寄存器,它就會推斷出沒有信道可以預(yù)約了。
現(xiàn)在,如果第二個應(yīng)用釋放了信道33,寄存器的狀態(tài)變?yōu)?
表21現(xiàn)在在無線鏈路上有一個信道是可用的所有未使用信道的標(biāo)記置為1。
有利地,首先需要由全局IRM來預(yù)約信道這一事實保證了不會出現(xiàn)與在多個無線鏈路上預(yù)約信道識別相關(guān)的沖突。如果首先不由IRM進行分配,則LRM不可能預(yù)約信道。
網(wǎng)絡(luò)的應(yīng)用可能認識或不認識到無線鏈路。在認識鏈路的應(yīng)用創(chuàng)建了包括一個或更多無線鏈路的情況下,這些鏈路的LRM可以通過其自身預(yù)約請求的資源,或根據(jù)其他實施例,給由認識鏈路的應(yīng)用做出的連接以優(yōu)先權(quán)。
6、連接建立的方法這里簡要給出幾種根據(jù)本實施例的認識鏈路使用的連接方法。這些方法涉及連接的打開、連接的破壞、總線復(fù)位之后連接的建立以及對已有連接的連接覆蓋。
在下面幾個方法的例子中,為了判斷在講話者節(jié)點與聽話者節(jié)點之間的通路上是否有一個或幾個資源被預(yù)約的鏈路,應(yīng)用需要獲得網(wǎng)絡(luò)的拓撲。
應(yīng)用可以從在總線復(fù)位之后建立一拓撲圖的IEEE 1394物理層得到該拓撲圖。該拓撲圖表示了不同的節(jié)點是如何連接的。
根據(jù)本實施例,每一個入口在其存儲器中包含了用于指示它是入口的標(biāo)識符。為了判斷這些節(jié)點是否是入口,一旦應(yīng)用得到拓撲圖——這只在復(fù)位之后需要——就會訪問網(wǎng)絡(luò)上所有節(jié)點的存儲器。當(dāng)在拓撲圖中連續(xù)檢測到兩個入口時,會識別鏈路。
6.1打開連接為了打開連接,應(yīng)用必須1判斷網(wǎng)絡(luò)的拓撲圖并檢查在源節(jié)點與宿節(jié)點之間的通路上是否有一個或幾個鏈路。
2如果呼叫方客戶(即應(yīng)用)沒有給出帶寬,在源節(jié)點的輸出插頭控制寄存器(′oPCR′,與IEC 61883的定義相同,說明了IEEE 1394總線上同步數(shù)據(jù)流的傳送)上執(zhí)行讀取請求以獲取所需的帶寬。
3在下面基礎(chǔ)上執(zhí)行讀取請求IRM BANDWIDTH_AVAILABLE寄存器(為了獲得IEEE 1394網(wǎng)絡(luò)上可用帶寬的數(shù)量);IRM CHANNELS_AVAILABLE寄存器(為了獲得IEEE 1394網(wǎng)絡(luò)上可用信道的列表);LRM LINK_BANDWIDTH_AVAILABLE寄存器(為了獲得各個鏈路上可用帶寬的數(shù)量),用于由連接交叉形成的各個鏈路;LRM LINK_CHANNELS_AVAILABLE(為了檢查信道的可用性),用于由連接交叉的各個鏈路;宿節(jié)點的輸入插頭控制寄存器(IEC 61883定義的′iPCR′),用于核實該節(jié)點為空閑且可以接收數(shù)據(jù)流。
4在下面的基礎(chǔ)上執(zhí)行鎖定請求IRM BANDWIDTH_AVAILABLE寄存器(為了在IEEE 1394網(wǎng)絡(luò)上預(yù)約帶寬);IRM CHANNELS_AVAILABLE寄存器(為了在IEEE 1394網(wǎng)絡(luò)上預(yù)約信道);5如果請求成功了,在下面的基礎(chǔ)上執(zhí)行鎖定請求LRM LINK_BANDWIDTH_AVAILABLE寄存器,用于由連接交叉形成的各個鏈路(為了預(yù)約各個鏈路上的帶寬),該寄存器包括源PhyID、宿PhyID以及在IRM已經(jīng)被分配的信道號;源的oPCR(為了調(diào)整該寄存器以顯示出連接的存在)宿的iPCR(為了調(diào)整該寄存器以顯示出連接的存在)6.2關(guān)閉連接為了關(guān)閉連接,應(yīng)用必須1在下面的基礎(chǔ)上執(zhí)行讀取請求源的oPCR核實該源沒有被覆蓋(即就是只連接了一個收聽者節(jié)點部分)IRM BANDWIDTH_AVAILABLE寄存器;LRM LINK_BANDWIDTH_AVAILABLE寄存器,用于由連接交叉形成的各個鏈路。
2在下面的基礎(chǔ)上執(zhí)行鎖定請求IRM BANDWIDTH_AVAILABLE寄存器
IRM CHANNELS_AVAILABLE寄存器LRM LINK_BANDWIDTH_AVAILABLE寄存器,用于由連接交叉形成的各個鏈路源節(jié)點的oPCR宿節(jié)點的iPCR6.2網(wǎng)絡(luò)復(fù)位之后重建連接總線復(fù)位由鏈路傳播。無論復(fù)位發(fā)生在何處,創(chuàng)建連接的應(yīng)用都能意識到總線復(fù)位的發(fā)生?;旧?,重建所遵循的規(guī)則與創(chuàng)建連接的規(guī)則相同。LRM寄存器與IRM寄存器復(fù)位的方式相同。
6.3覆蓋連接為了覆蓋連接,應(yīng)用必須1得到拓撲圖,并檢查在源節(jié)點與宿節(jié)點之間的通路上是否有一個或幾個鏈路。推斷出哪一個節(jié)點已經(jīng)被連接預(yù)約。
2在源的oPCR上執(zhí)行讀取請求,以了解所需的帶寬(如果呼叫方客戶沒有給出帶寬)。
3在下面的基礎(chǔ)上執(zhí)行讀取請求LRM LINK_BANDWIDTH_AVAILABLE寄存器(為了獲得各個鏈路上可用帶寬的數(shù)量),用于由連接交叉形成且沒有被預(yù)約的各個鏈路。
LRM LINK_CHANNELS_AVAILABLE寄存器(為了檢查信道的可用性),用于由連接交叉形成且沒有被預(yù)約的各個鏈路。
宿節(jié)點的iPCR,用于核實該節(jié)點為空閑。
4在下面的基礎(chǔ)上執(zhí)行鎖定請求LRM LINK_BANDWIDTH_AVAILABLE寄存器(為了獲得各個鏈路上可用帶寬的數(shù)量),用于由連接交叉形成且沒有被預(yù)約的各個鏈路;LRM LINK_CHANNELS_AVAILABLE寄存器,用于由連接交叉形成的各個鏈路,該寄存器包括源PhyID、宿PhyID以及在IRM已經(jīng)分配的信道號。
源節(jié)點的oPCR宿節(jié)點的iPCR利用上述,應(yīng)用可以檢測到是否建立了連接以及哪個鏈路未能提供充分的資源。根據(jù)不是這里所述目的的方法,為了避免失敗的連接,可以建議應(yīng)用更改網(wǎng)絡(luò)的拓撲圖。
圖8表示了圖1的網(wǎng)絡(luò),其中源13和16分別與總線12和11相連以響應(yīng)應(yīng)用對用戶的指示。
7、帶寬使用的改善如果第一個應(yīng)用在可提供30Mb/s的HiperLAN2鏈路上預(yù)約了20Mb/s帶寬,但只用了10Mb/s,浪費了10Mb/s的帶寬。需要15Mb/s的第二個應(yīng)用就不能實現(xiàn)預(yù)約。
根據(jù)變化實施例,鏈路的LRM核實與預(yù)約帶寬相比應(yīng)用的實際使用帶寬并得到可用差額以用于其他應(yīng)用的分配。
圖5所示的豎條表示了鏈路上的可用帶寬。出于本例的目標(biāo),總可用帶寬為10個單元。對于每一個應(yīng)用預(yù)約的信道來說,LRM保留了兩個參數(shù)。第一個參數(shù)(下文中標(biāo)為’R’)表示被預(yù)約帶寬。第二個參數(shù)(標(biāo)為’O’)表示被預(yù)約帶寬與信道上應(yīng)用實際使用帶寬之差。O表示用于該信道的最優(yōu)化帶寬。
根據(jù)圖5中例子,三個應(yīng)用(A1,A2,A3)依次預(yù)約帶寬。字母R和O旁邊的數(shù)值分別表示了用于各個應(yīng)用的帶寬值。
第一個應(yīng)用A1在信道7上預(yù)約了3個單元(步驟1),但LRM推斷出A1只使用了一個。將用于A1的參數(shù)O置為值2(步驟2)。接著應(yīng)用A2在信道33上預(yù)約了4個單元(步驟3),但只使用了兩個用于該應(yīng)用的參數(shù)O也為值2(步驟4)。最后,應(yīng)用A3在信道2上預(yù)約了4個單元并且全部都使用了(步驟5)。這樣可以將3個單元分配給其他的應(yīng)用并且LRM適當(dāng)?shù)卦O(shè)置新的link_bw_available值。
圖6表示了當(dāng)應(yīng)用開始釋放帶寬時圖5中的帶寬。由于應(yīng)用沒有意識到自己并沒有把預(yù)約的帶寬全部留給自己使用,它們會利用適當(dāng)?shù)逆i定請求釋放預(yù)約的數(shù)量。
假設(shè)應(yīng)用A1希望釋放其信道和帶寬(步驟6)。它會發(fā)送試圖將link_bw_available值增大到3的鎖定請求,即三個單元。LRM會利用包括link_bw_available值增加三個單元的正鎖定請求來假裝釋放應(yīng)用A1的三個單元,但實際上只會用實際使用的單元數(shù)量,即1,來有效地增加該值。應(yīng)用于A3和A2的資源釋放概念是相同的。
根據(jù)這個過程,應(yīng)用可能必須使在其鎖定請求中使用大于在LINK_BANDWIDTH_AVAILABLE寄存器中給出的最大帶寬的帶寬值。例如在步驟8,為了釋放帶寬的4個單元,由于寄存器的當(dāng)前值是8,應(yīng)用A2會在其鎖定請求中使用期待值(′data_value′)12。
不過,應(yīng)用的帶寬釋放肯定不會導(dǎo)致使用的帶寬值超過0X1FFF,這是因為該值表示的是為該目標(biāo)預(yù)約的13位編碼的最大值。因此,LRM提供的一個信道上帶寬的改善不會大于0X1FFF減去鏈路上可用帶寬的最大值。
例如,鏈路帶寬為0X1333時,用于任意一個信道改善的最大值不會超過0XCCC。
8、利用單一鏈路的多個網(wǎng)絡(luò)互連根據(jù)變化實施例,幾個類型的網(wǎng)絡(luò)可以同時使用網(wǎng)絡(luò)。圖8所示為包含了四個入口74至77的鏈路框圖。入口74和75分別與兩個IEEE 1394總線70和71相連接。入口76和77分別與兩個IP網(wǎng)絡(luò)72和73相連接。鏈路以透明方式連接兩個總線70和71,即就是說,在較低層認為所有的總線設(shè)備在單一總線上。對于IP網(wǎng)絡(luò)來說也是如此認為所有的IP設(shè)備在單一IP網(wǎng)絡(luò)上。總線70/71組成的網(wǎng)絡(luò)以及IP網(wǎng)72/73的網(wǎng)絡(luò)均忽略了其他網(wǎng)絡(luò)的存在。它們?nèi)匀豢梢怨蚕硎褂糜扇肟?4到77形成的鏈路資源。入口可以包括在單一設(shè)備中或由分離設(shè)備形成(例如在無線鏈路的情況下)。
入口必須將網(wǎng)絡(luò)資源分配給所有網(wǎng)絡(luò)類型。根據(jù)本實施例,會給各種類型的網(wǎng)絡(luò)提供單獨的LRM。在本例的情況下,給IEEE 1394總線的網(wǎng)絡(luò)提供了一個LRM,并給IP網(wǎng)絡(luò)提供了一個LRM。在下文中將這兩個LRM稱為LRM-1394和LRM-IP。LRM-IP向IP設(shè)備提供的接口不需要與LRM 1394向LRM 1394節(jié)點提供的相同。
由于這兩個LRM被分配了相同的資源,它們根據(jù)鏈路實際的操作交換有關(guān)資源分配的信息。
前面已經(jīng)討論過,即使鏈路的容量更大,例如在兩個總線之間鏈路上使用的帶寬通常也不會超過總線上的可用帶寬。在現(xiàn)在這種情況下,幾個網(wǎng)絡(luò)競爭相同資源這種情況對于僅在確定環(huán)境中的給定網(wǎng)絡(luò)會有限制效果。
考慮下面這種情況鏈路帶寬大于IEEE 1394帶寬。
在這種情況下,除非被IP網(wǎng)預(yù)約的帶寬使總的鏈路帶寬減少到小于0X1333帶寬單元(IEEE 1394單元),否則在IP網(wǎng)上預(yù)約的帶寬不會減少LRM-1394的LINK_BANDWIDTH_AVAILABLE寄存器中bw_remaining的值。
將同樣的行為應(yīng)用于信道。
預(yù)約是真實的(即IEEE 1394網(wǎng)絡(luò)的帶寬和信道預(yù)約)9、LRM選擇本發(fā)明作用于點對點鏈路(每個網(wǎng)絡(luò)只包括一對入口)和多點網(wǎng)絡(luò)(每個網(wǎng)絡(luò)包括多于兩個入口)。在這兩種情況下,在給定網(wǎng)絡(luò)中LRM設(shè)備的選擇存在兩種可能性一個入口(對每個網(wǎng)絡(luò)而言)承擔(dān)LRM的任務(wù)且所有應(yīng)用向該設(shè)備發(fā)送消息;或是各個應(yīng)用向與其連接的入口發(fā)送消息且鏈路內(nèi)部的專用協(xié)議使入口同步。
換句話說,在第一種情況下,由從所有候選入口中選出的單一入口來管理LRM,各個應(yīng)用都了解當(dāng)選的入口,而在第二種情況下,沒有進行選擇且各個應(yīng)用都不知道LRM的位置,只是簡單地將請求發(fā)送到距離它們最近的入口。
在包括了鏈路的網(wǎng)絡(luò)為IEEE 1394總線網(wǎng)絡(luò)情況下,現(xiàn)在對這兩種可能性進行說明。
(a)單一LRM入口選擇一個入口承擔(dān)LRM的任務(wù)。在網(wǎng)絡(luò)或總線復(fù)位期間執(zhí)行選擇。這里將介紹兩種選擇LRM入口的選擇方法。第一種方法基于對網(wǎng)絡(luò)拓撲圖的分析。第二種方法基于入口的選擇,隨后是向應(yīng)用宣布或公開當(dāng)選LRM的物理識別符。
拓撲算法根據(jù)本方法,候選入口中PhyID值最大的入口當(dāng)選為LRM。這種算法的優(yōu)點在于非常簡單,這是因為很容易利用到來自IEEE 1394層的拓撲。在每次總線復(fù)位之后,應(yīng)用必須檢查拓撲以確定各個鏈路的LRM。
專用鏈路選擇該方法執(zhí)行了鏈路(根據(jù)鏈路的特殊協(xié)議,即入口之間)“內(nèi)部”的動態(tài)協(xié)議,這意味著在總線復(fù)位之后可以更換LRM(例如如果刪除了是LRM的入口)。
而且,為了使IEEE 1394應(yīng)用了解哪個節(jié)點表示LRM,在入口的配置存儲器(′config rom′)中定義特定的條目,這個新條目存在于所有入口設(shè)備的配置存儲器中。
表22給出了根據(jù)本例的存儲器條目的格式??赡苁瞧渌袷?。
8比特 1比特6比特
表22‘s’為同步位。當(dāng)‘s’為’1’時,認為Phy ID值不是最新值且現(xiàn)在正在改變。這可能發(fā)生在例如總線復(fù)位之后。當(dāng)‘s’等于’0’時,Phy ID值表示用于此鏈路的LRM的Phy ID。更新Phy ID值的方法是鏈路專用的。
(b)無LRM入口選擇根據(jù)第二種方法,各個應(yīng)用向與其連接的入口發(fā)送消息(即讀取請求和鎖定請求)。每一個入口執(zhí)行LRM寄存器。鏈路內(nèi)部的專用協(xié)議實現(xiàn)了入口之間的同步以避免同時發(fā)生的多鎖定請求引起的沖突。
權(quán)利要求
1.一種用于管理包括總線的通信網(wǎng)絡(luò)中的鏈路資源的方法,該總線由至少一個鏈路互聯(lián)以形成一個其中至少一個鏈路對于某些與總線相連節(jié)點的協(xié)議層來說是透明的網(wǎng)絡(luò),所述方法的特征在于包括步驟使至少一個鏈路上的可用資源信息對于認識鏈路的應(yīng)用是可用的。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于每個鏈路包括多個入口,鏈路的至少一個入口包括有關(guān)該鏈路的所述資源信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于所述信息包括鏈路上的可用帶寬。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于所述信息包括鏈路上的可用信道。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于一個應(yīng)用通過以下步驟在網(wǎng)絡(luò)的兩個節(jié)點之間建立連接a在總線上預(yù)約用于連接的信道和帶寬;b識別要被連接的節(jié)點之間的通路上的鏈路;c如果步驟a成功,為所述通路上的每一個鏈路預(yù)約資源。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于為每一個鏈路預(yù)約資源的步驟包括步驟-使應(yīng)用請求預(yù)約與在步驟a從各個鏈路預(yù)約到的帶寬和信道相同的帶寬和信道。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于為每一個鏈路預(yù)約資源的步驟進一步包括步驟-由應(yīng)用將要與入口連接的節(jié)點的標(biāo)識符發(fā)送到資源要被預(yù)約鏈路的入口;-作為被連接節(jié)點的功能,使鏈路判斷請求的帶寬是否可用;-作為此判斷的功能,接受或拒絕帶寬預(yù)約請求。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于為每一個鏈路預(yù)約資源的步驟進一步包括步驟-使鏈路檢查被請求信道的可用性,如果該鏈路上的信道是可用的,接受信道預(yù)約;-檢查是否達到了鏈路上可預(yù)約信道最大值,并且在肯定的情況下拒絕其他的預(yù)約。
9.根據(jù)權(quán)利要求7的方法,該方法包括了提供一個表示網(wǎng)絡(luò)的信道可用性的寄存器和一個表示各個鏈路的信道可用性的寄存器的步驟,其特征在于兩個寄存器都包括相同的信道數(shù)和各個鏈路可以并行預(yù)約的信道數(shù)的最大值,所述最大值小于或等于寄存器中的信道號,在接受了信道預(yù)約之后,為鏈路提供資源信息的入口檢查已經(jīng)被并行預(yù)約的信道是否達到了最大值,并在肯定的情況下修改鏈路的寄存器以表示對于該鏈路而言沒有可用的信道。
全文摘要
本發(fā)明涉及一種用于包括總線的管理通信網(wǎng)絡(luò)中的鏈路資源的方法,該總線由至少一個鏈路互聯(lián)以形成一個其中至少一個鏈路對于某些與總線相連節(jié)點的協(xié)議層來說是透明的網(wǎng)絡(luò)。本發(fā)明方法的特征在于包括步驟使至少一個鏈路上的可用資源信息對于認識鏈路的應(yīng)用是可用的。
文檔編號H04L12/54GK1663193SQ02810757
公開日2005年8月31日 申請日期2002年5月24日 優(yōu)先權(quán)日2001年5月29日
發(fā)明者讓-巴普蒂斯特·亨利, 塞巴斯蒂安·佩洛特 申請人:湯姆森許可貿(mào)易公司