專利名稱:多播組管理的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及改進(jìn)的數(shù)據(jù)處理系統(tǒng),具體地說(shuō),涉及系統(tǒng)區(qū)域網(wǎng)。更具體地說(shuō),本發(fā)明提供一種具有發(fā)送不接受組成員的多播組管理的方法和設(shè)備。
背景技術(shù):
InfiniBand(IB)(這是系統(tǒng)區(qū)域網(wǎng)(SAN)的一種形式)定義一種多播設(shè)施,所述多播設(shè)施允許信道適配器(CA)向單個(gè)地址發(fā)送分組,并把分組傳送給多個(gè)端口。在InfiniBand標(biāo)準(zhǔn)中描述了InfiniBand體系結(jié)構(gòu),InfiniBand標(biāo)準(zhǔn)作為參考包含于此。
單播分組從一個(gè)節(jié)點(diǎn)發(fā)送給另一節(jié)點(diǎn)。單播分組包括報(bào)頭中目標(biāo)節(jié)點(diǎn)的唯一地址。路由器和交換機(jī)根據(jù)所述唯一地址或標(biāo)識(shí)符,把分組發(fā)送給目標(biāo)節(jié)點(diǎn)。
相反,多播分組被發(fā)送給稱為多播組的多個(gè)端口的所有端口。這些端口可在SAN中的相同或不同節(jié)點(diǎn)上。每個(gè)多播組由唯一的多播本地標(biāo)識(shí)符(MLID)識(shí)別。MLID用于在子網(wǎng)內(nèi)引導(dǎo)分組。MLID是IB分組的報(bào)頭。
當(dāng)節(jié)點(diǎn)加入多播組時(shí),使用借助子網(wǎng)管理分組(SMP)的IB管理操作,此時(shí),節(jié)點(diǎn)上端口的LID被鏈接到多播組。子網(wǎng)的子網(wǎng)管理器(SM)隨后利用SMP,把該信息保存在其子網(wǎng)的交換機(jī)中。借助SMP,SM把各個(gè)多播組的路由信息告知交換機(jī),交換機(jī)保存該信息,從而交換機(jī)能夠把多播分組發(fā)送給正確的節(jié)點(diǎn)。
當(dāng)節(jié)點(diǎn)將要向多播組發(fā)送分組時(shí),它使用它希望分組被傳送給的那個(gè)多播組的MLID。子網(wǎng)中的交換機(jī)檢測(cè)分組的目的地本地標(biāo)識(shí)符(DLID)字段中的MLID,并復(fù)制該分組,將其發(fā)送給先前SM確定的恰當(dāng)端口。
多播組成員可在不接收的情況下發(fā)送分組。例如通常需要稱為發(fā)送不接收(SWR,send-without-receive)成員的這些組成員流出數(shù)據(jù)多播,或者與其它常見多播實(shí)現(xiàn)例如網(wǎng)際協(xié)議(IP)多播的兼容性。
諸如InfiniBand之類交換媒介并不自動(dòng)允許參與者在不加入組的情況下進(jìn)行發(fā)送。所有通信必須由交換部件明確路由,包括發(fā)送數(shù)據(jù)而不接收數(shù)據(jù)。當(dāng)發(fā)送加入請(qǐng)求時(shí),SM程控交換機(jī),把多播分組轉(zhuǎn)發(fā)給已請(qǐng)求加入組并接收分組的節(jié)點(diǎn)。
但是,當(dāng)SWR成員最初加入某一組,并且該組未存在時(shí),則存在SWR成員在無(wú)任何接收器的情況下進(jìn)行發(fā)送的問(wèn)題?,F(xiàn)在,IB體系結(jié)構(gòu)不產(chǎn)生該組。相反,SWR加入者必須簽字參加,以接收每當(dāng)產(chǎn)生任意組時(shí)發(fā)出的俘獲(trap)消息。SWR隨后檢查每個(gè)俘獲消息,了解已產(chǎn)生哪一組。當(dāng)它發(fā)現(xiàn)產(chǎn)生了所關(guān)心的一組時(shí),SWR加入者可重復(fù)其請(qǐng)求,以便具有一定成功希望地加入該組。通過(guò)向與SM相聯(lián)系的稱為“子網(wǎng)管理機(jī)構(gòu)”(SA)的實(shí)體發(fā)送消息,完成接收俘獲消息的“簽字參加”(signingup)。當(dāng)已成功加入該組時(shí),SWR加入者通常通過(guò)發(fā)送請(qǐng)求刪除其對(duì)這些俘獲消息的預(yù)定的另一消息,消除其對(duì)這些俘獲消息的預(yù)定。
另外,當(dāng)最后的接收成員留開該組時(shí),IB體系結(jié)構(gòu)通常刪除該組,即使SWR仍在發(fā)送。于是,SWR必須簽名以接收額外的俘獲消息,該俘獲消息用信號(hào)通知任意組的刪除,并不斷檢查這些俘獲消息,查看它所關(guān)心的組是否已被刪除。在發(fā)現(xiàn)該刪除之后,SWR隨后必須清除其關(guān)于該組的MLID信息,因?yàn)镾M可能把相同的MLID值重新用于不同的組。否則SWR可能把分組發(fā)送給錯(cuò)誤的組。
當(dāng)SWR正在向其發(fā)送的組被刪除時(shí),SWR必須再次簽字參加,以便每當(dāng)產(chǎn)生一個(gè)組時(shí)接收俘獲消息,重復(fù)該過(guò)程,直到SWR停止向該組發(fā)送為止。這樣,只有當(dāng)存在接收者時(shí),SWR才加入組中,當(dāng)不存在接收者時(shí),SWR被強(qiáng)制等待。
但是,對(duì)于SM和SWR加入者來(lái)說(shuō),這種過(guò)程導(dǎo)致很大的開銷。SWR接收所產(chǎn)生的每個(gè)組的一條消息,不論該組是否是它所關(guān)心的組。SWR還必須接收每個(gè)被刪除組的消息,不僅僅只在關(guān)心的特定組被刪除時(shí)。每當(dāng)SWR試圖向組發(fā)送時(shí),SM產(chǎn)生這些消息,SWR加入者接收這些消息。
于是,有利的是提供一種InfiniBand中多播組管理的改進(jìn)方法和設(shè)備。
發(fā)明內(nèi)容
本發(fā)明提供一種在產(chǎn)生和刪除多播組時(shí),不使用俘獲的情況下,管理具有發(fā)送不接收(SWR)加入者的多播組的方法和設(shè)備。當(dāng)SWR成員存在時(shí),本發(fā)明的機(jī)制連續(xù)保持組信息。當(dāng)嘗試SWR加入,并且多播組還未存在時(shí),組信息(MLID)被標(biāo)記成已用,路由SWR分組被發(fā)往的第一交換機(jī)以丟棄發(fā)送給該組的所有分組。當(dāng)接收成員加入該組時(shí),路由選擇被更新,從而SWR成員開始向接收成員發(fā)送。當(dāng)最后的接收成員離開該組時(shí),再次為第一交換機(jī)提供路由以丟棄分組。
在附加權(quán)利要求中陳述了本發(fā)明特有的新特征。但是,結(jié)合附圖,參考例證實(shí)施例的下述詳細(xì)說(shuō)明,將更好地理解發(fā)明本身,及其優(yōu)選模式,其它目的和優(yōu)點(diǎn),其中圖1是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的系統(tǒng)區(qū)域網(wǎng)的一個(gè)例子;圖2根據(jù)本發(fā)明的優(yōu)選實(shí)施例,圖解說(shuō)明了交換機(jī);圖3A-3D根據(jù)本發(fā)明的優(yōu)選實(shí)施例,圖解說(shuō)明了例證的多播路由數(shù)據(jù)結(jié)構(gòu);圖4A是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,圖解說(shuō)明多播組加入請(qǐng)求的處理的流程圖;和圖4B是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,圖解說(shuō)明多播組離開請(qǐng)求的處理的流程圖。
具體實(shí)施例方式
參見圖1,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,圖解說(shuō)明了系統(tǒng)區(qū)域網(wǎng)(SAN)的一個(gè)例子。系統(tǒng)區(qū)域網(wǎng)由多個(gè)端節(jié)點(diǎn)102-112構(gòu)成。這些端節(jié)點(diǎn)通過(guò)通信鏈路,一個(gè)或多個(gè)交換機(jī)122、124、126,和一個(gè)或多個(gè)路由器132相互耦接。交換機(jī)是把分組從一個(gè)鏈路發(fā)送給同一子網(wǎng)的另一鏈路的設(shè)備。路由器是在網(wǎng)絡(luò)子網(wǎng)之間發(fā)送分組的設(shè)備。端節(jié)點(diǎn)是網(wǎng)絡(luò)中為分組最終目的地的節(jié)點(diǎn)。
在圖1中所示的網(wǎng)絡(luò)中,端節(jié)點(diǎn)110被表示成包含子網(wǎng)管理器(SM)和子網(wǎng)管理機(jī)構(gòu)(SA)。這些對(duì)應(yīng)于(1)SM,只發(fā)送和接收能夠影響路由和網(wǎng)絡(luò)硬件配置的特殊消息的實(shí)體;和(2)SA,只發(fā)送和接收不能影響網(wǎng)絡(luò)配置的常規(guī)通信消息的實(shí)體之間SAN管理功能的InfiniBand體系結(jié)構(gòu)的劃分。SA被用作利用常規(guī)消息與SM通信的裝置。這樣做只是出于說(shuō)明的目的;討論的本發(fā)明可使用其它設(shè)施管理子網(wǎng)。
在圖1中所示的網(wǎng)絡(luò)中,端節(jié)點(diǎn)之一可請(qǐng)求加入多播組。這是通過(guò)向節(jié)點(diǎn)110的SA發(fā)送加入請(qǐng)求來(lái)實(shí)現(xiàn)的。SA隨后可產(chǎn)生多播組,向該多播組分配一個(gè)多播本地標(biāo)識(shí)符(MLID),并使SM更新交換機(jī),從而把分組發(fā)送給多播組的成員。
多播組的成員也可在不接收的情況下發(fā)送分組。這些多播組成員被稱為發(fā)送不接受(SWR)成員。例如,端節(jié)點(diǎn)102可向SA節(jié)點(diǎn)110發(fā)送加入請(qǐng)求,其中該請(qǐng)求規(guī)定節(jié)點(diǎn)102將成為多播組的一個(gè)SWR成員。從而,子網(wǎng)中的交換機(jī)被更新,從而把來(lái)自節(jié)點(diǎn)102的分組發(fā)送給多播組的其它成員,但是不把任意分組發(fā)送給節(jié)點(diǎn)102。
但是,當(dāng)SWR成員最初加入多播組,并且該多播組還未存在時(shí),則存在SWR成員在無(wú)任何接收者的情況下,進(jìn)行發(fā)送的問(wèn)題。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,當(dāng)SWR成員請(qǐng)求產(chǎn)生多播組時(shí),SA產(chǎn)生該多播組,分配MLID,并更新第一交換機(jī)(這種情況下是交換機(jī)122),以便丟棄來(lái)自SWR節(jié)點(diǎn)102的多播分組。這在IB交換機(jī)硬件中規(guī)定得有。
當(dāng)接收節(jié)點(diǎn)加入多播組時(shí),SA隨后更新交換機(jī),從而SWR成員開始向接收成員發(fā)送分組。類似地,當(dāng)最后的接收成員離開多播組,但是SWR成員留下時(shí),SA再次為第一交換機(jī)提供路由(route)(圖1中所示例子中的交換機(jī)122)以丟棄來(lái)自SWR節(jié)點(diǎn)102的多播分組。
本發(fā)明還包含(沒(méi)有變化)跨越多個(gè)子網(wǎng)的多個(gè)多播組的情況。例如,如果節(jié)點(diǎn)112是一個(gè)子網(wǎng)中的一個(gè)多播組的接收成員,節(jié)點(diǎn)102是另一子網(wǎng)中的一個(gè)多播組的SWR成員(如圖1中所示),則來(lái)自節(jié)點(diǎn)102的分組將通過(guò)交換機(jī)122被發(fā)送給路由器132,隨后通過(guò)交換機(jī)126被發(fā)送給節(jié)點(diǎn)112。如果節(jié)點(diǎn)112離開多播組,該多播組未留下任何成員,則SM更新交換機(jī)122的路由,從而丟棄從節(jié)點(diǎn)102發(fā)送的分組。這些分組隨后不再被發(fā)送給節(jié)點(diǎn)112。
現(xiàn)在參見圖2,圖2根據(jù)本發(fā)明的優(yōu)選實(shí)施例,圖解說(shuō)明了交換機(jī)。本例中,交換機(jī)200包括八個(gè)端口,端口0~端口7。在本發(fā)明的范圍內(nèi),交換機(jī)可具有更多或更少的端口,取決于具體實(shí)現(xiàn)。例如,常見的IB交換機(jī)只具有四個(gè)端口。端口編號(hào)慣例也根據(jù)使用的具體硬件或特定的具體實(shí)現(xiàn)而變化。
交換機(jī)200還包括多播本地標(biāo)識(shí)符(MLID)表210。MLID表被用于把多播分組發(fā)送給多播組的接收成員。例如,交換機(jī)200可在端口5接收多播分組。根據(jù)MLID表210,交換機(jī)可復(fù)制該分組,并把該分組轉(zhuǎn)發(fā)給端口1、端口3和端口7。但是,在任意這種實(shí)現(xiàn)中,交換機(jī)不把分組回送出接收該分組的端口;否則,多播分組會(huì)永不停止循環(huán)。
MLID表可指示特定MLID的分組將被丟棄。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,交換機(jī)200還被配置成當(dāng)需要時(shí),丟棄分組。例如,交換機(jī)200(從任意端口)接收具有特定值的MLID的多播分組。MLID表210指示該MLID的分組將被丟棄。交換機(jī)200只是丟棄該分組,而不是復(fù)制并轉(zhuǎn)發(fā)該分組。
圖3A-3D根據(jù)本發(fā)明的優(yōu)選實(shí)施例,圖解說(shuō)明例證的多播路由數(shù)據(jù)結(jié)構(gòu)。更具體地說(shuō),根據(jù)圖3A,MLID表300包括MLID列和端口列。MLID表300是根據(jù)本發(fā)明的多播路由數(shù)據(jù)結(jié)構(gòu)的一個(gè)例子。當(dāng)子網(wǎng)管理員(administrator)產(chǎn)生多播組時(shí),向該多播組分配一個(gè)MLID,并且MLID的一條記錄,一行或一個(gè)條目被加入恰當(dāng)?shù)亩嗖ヂ酚蓴?shù)據(jù)結(jié)構(gòu)中??墒褂闷渌椒?。例如,每個(gè)MLID可隱含地與其在表格中的索引相聯(lián)系。從而,MLID列不會(huì)明確存在,可提供一些機(jī)制來(lái)指示某一條目沒(méi)有使用。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例,當(dāng)SWR節(jié)點(diǎn)加入還未存在的多播組時(shí),SA將產(chǎn)生該多播組,并更新第一交換機(jī)的多播路由表,以便丟棄該分組。圖3B圖解說(shuō)明了具有關(guān)于多播組的一個(gè)條目的例證多播路由表,所述多播組具有一個(gè)SWR成員。該例子中,為“1”的MLID被分配給該多播組,在MLID表310中保存一個(gè)條目。交換機(jī)被設(shè)置成只是丟棄給該多播組的分組,而不是把分組轉(zhuǎn)發(fā)給特定的一個(gè)或多個(gè)端口??墒褂枚喾N機(jī)制來(lái)指示該分組將被丟棄,包括(但不限于)指示不存在的端口號(hào);或者包含某個(gè)二進(jìn)制位,當(dāng)為“1”時(shí),所述二進(jìn)制位指示分組將被丟棄。
例如,如果圖1中的SWR節(jié)點(diǎn)102加入還未存在的多播組時(shí),則節(jié)點(diǎn)110的SA產(chǎn)生該多播組,并向該多播組分配一個(gè)MLID。SM隨后更新交換機(jī)122的多播路由表,以便丟棄給該多播組的分組。圖3B中表示了交換機(jī)122的多播路由表的一個(gè)例子。
下面,參見圖3C,圖中表示了在接收成員加入多播組之后,例證的多播路由數(shù)據(jù)結(jié)構(gòu)。本例中,利用圖2中所示的端口編號(hào)慣例,MLID表320指示給MLID為“1”的多播組的分組將被轉(zhuǎn)發(fā)給端口7。
例如,如果SWR節(jié)點(diǎn)102是MLID為“1”的多播組的成員,并且一個(gè)或多個(gè)節(jié)點(diǎn)104、106、108是接收成員,則在交換機(jī)122從節(jié)點(diǎn)102接收的分組將被轉(zhuǎn)發(fā)給交換機(jī)124。SM隨后更新交換機(jī)122的多播路由表,以便據(jù)此轉(zhuǎn)發(fā)這些分組。圖3C中表示了交換機(jī)122的這種多播路由表的一個(gè)例子。
現(xiàn)在參見圖3C,關(guān)于多個(gè)接收成員,表示了例證的多播路由數(shù)據(jù)結(jié)構(gòu)。本例中,利用圖2中所示的端口編號(hào)慣例,MLID表330指示給MLID為“1”的多播組的分組將被轉(zhuǎn)發(fā)給端口1、端口3和端口7。
例如,如果圖1的節(jié)點(diǎn)104和108是MLID為“1”的多播組的成員,則利用圖2中所示的端口編號(hào)慣例,在交換機(jī)124接收的分組被轉(zhuǎn)發(fā)給端口1和端口7(除非這些分組是從端口1或7收到的)。隨后,SM更新交換機(jī)124的多播路由表,從而據(jù)此更新這些分組。如果在另一子網(wǎng)上存在接收成員,則還更新交換機(jī)124,以便通過(guò)端口3,把分組轉(zhuǎn)發(fā)給路由器132。圖3D中表示了交換機(jī)124的這種多播路由表的一個(gè)例子。
類似地,當(dāng)最后的接收成員離開多播組,但是SWR成員留下時(shí),SA再次為第一交換機(jī)提供路由,丟棄來(lái)自SWR節(jié)點(diǎn)的多播分組。繼續(xù)圖1中所示的例子,如果接收節(jié)點(diǎn)104、108和所有其它接收節(jié)點(diǎn)離開多播組,則SA更新交換機(jī)122的多播路由表,丟棄給該多播組的分組。交換機(jī)122的這種多播路由表的一個(gè)例子同樣示于圖3B中。
雖然在圖3A-3D中,MLID路由數(shù)據(jù)結(jié)構(gòu)被表示成表格,但是這些表格只是對(duì)本發(fā)明的舉例說(shuō)明,而不是對(duì)本發(fā)明的限制。實(shí)際上,可稱為MLID表的MLID路由數(shù)據(jù)結(jié)構(gòu)可被實(shí)現(xiàn)成由一系列二進(jìn)制位組成的多個(gè)條目。如果某一端口的二進(jìn)制位為“1”,則分組被發(fā)送給該端口,如果所述二進(jìn)制位為“0”,則分組不被發(fā)送給該端口。
此外,MLID路由數(shù)據(jù)結(jié)構(gòu)可能不包括“MLID”列。相反,可依據(jù)MLID索引數(shù)據(jù)結(jié)構(gòu)。換句話說(shuō),MLID數(shù)據(jù)結(jié)構(gòu)內(nèi)的位置表示出MLID值。從而,所有MLID表固有包括介于0和表?xiàng)l目的數(shù)目減1之間的MLID值的條目??上蛎總€(gè)MLID提供一個(gè)二進(jìn)制位,所述二進(jìn)制位指示對(duì)于多播組,分組是否將被丟棄。從而,如果對(duì)于特定的MLID,該二進(jìn)制位具有為“1”的值,則關(guān)于該MLID接收的所有分組將被丟棄。
圖4A是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,圖解說(shuō)明多播組加入請(qǐng)求的處理的流程圖。當(dāng)收到多播組加入請(qǐng)求,開始該過(guò)程,并確定多播組是否已存在(步驟402)。如果多播組已存在,則該過(guò)程更新MLID表(步驟404)。
如果在步驟402中,多播組不存在,則該過(guò)程產(chǎn)生該多播組(步驟408),向該多播組分配MLID。隨后,該過(guò)程為第一交換機(jī)提供路由,從而給該多播組的所有分組被丟棄(步驟410)。之后,該過(guò)程結(jié)束。從而,當(dāng)產(chǎn)生只具有一個(gè)成員的多播組時(shí),分配MLID,并且允許存在的單個(gè)節(jié)點(diǎn)向該多播組發(fā)送分組。節(jié)點(diǎn)不必接收和產(chǎn)生的及刪除的多播組無(wú)關(guān)的分組。根據(jù)上面描述的過(guò)程,當(dāng)接收成員加入該多播組時(shí),MLID表被更新,從而把分組發(fā)送給接收成員節(jié)點(diǎn)。
現(xiàn)在參見圖4B,圖中根據(jù)本發(fā)明的優(yōu)選實(shí)施例,表示了圖解說(shuō)明多播組離開請(qǐng)求的處理的流程圖。當(dāng)收到多播組離開請(qǐng)求,開始該過(guò)程,并確定請(qǐng)求者是否是最后的多播組成員(步驟452)。如果請(qǐng)求者是最后的多播組成員,該過(guò)程把MLID標(biāo)記成未用(步驟454),從交換機(jī)中的MLID表中清除MLID(步驟456),并結(jié)束。
如果在步驟452中,請(qǐng)求者不是最后的多播組成員,則確定是否單個(gè)成員留在多播組中(步驟458)。如果一個(gè)以上的成員留在多播組中,則過(guò)程更新MLID表(步驟460)并結(jié)束。
否則,在步驟458中,如果單個(gè)成員留在多播組中,則該過(guò)程給與剩余成員相連的第一交換機(jī)提供路由,從而丟棄給該多播組的所有分組(步驟462)。之后,該過(guò)程結(jié)束。從而,當(dāng)接收成員離開多播組,以致只有一個(gè)成員留下時(shí),仍然允許留下的節(jié)點(diǎn)向該多播組發(fā)送分組。留下的節(jié)點(diǎn)不必接收和產(chǎn)生的及刪除的多播組無(wú)關(guān)的分組,即使該節(jié)點(diǎn)是SWR節(jié)點(diǎn)。根據(jù)上面描述的過(guò)程,當(dāng)接收成員加入多播組時(shí),MLID表再次被更新,從而把分組發(fā)送給接收成員節(jié)點(diǎn)。
于是,通過(guò)提供一種在產(chǎn)生和刪除多播組時(shí),不使用俘獲的情況下,管理具有發(fā)送不接收(SWR)加入者的多播組的方法和設(shè)備,本發(fā)明解決了現(xiàn)有技術(shù)的缺陷?,F(xiàn)有技術(shù)避免向無(wú)接收者的多播組分配MLID。當(dāng)可分配的MLID的數(shù)目有限時(shí),這是所關(guān)心的。但是,本發(fā)明認(rèn)識(shí)到可能MLID的數(shù)目不是問(wèn)題。此外,當(dāng)IB交換機(jī)中存儲(chǔ)器的數(shù)量增大時(shí),可保存的MLID條目的數(shù)目也增大。事實(shí)上,目前的交換機(jī)可包括支持一千或更多條目(這多于通常存在的多播組)的MLID表。
當(dāng)存在SWR成員時(shí),本發(fā)明的機(jī)制連續(xù)保持多播組信息。SWR節(jié)點(diǎn)不必接收和產(chǎn)生的或刪除的每個(gè)多播組無(wú)關(guān)的消息。從而,本發(fā)明減輕了SWR節(jié)點(diǎn)的負(fù)擔(dān),子網(wǎng)管理節(jié)點(diǎn)的負(fù)擔(dān),以及中間的所有交換機(jī)的負(fù)擔(dān)。另外,只要SWR是成員,則MLID仍然被分配給該多播組。于是,減小了SWR節(jié)點(diǎn)向錯(cuò)誤多播組發(fā)送分組的可能性。
重要的是注意雖然在全功能數(shù)據(jù)處理系統(tǒng)的環(huán)境下說(shuō)明了本發(fā)明,但是本領(lǐng)域的普通技術(shù)人員會(huì)認(rèn)識(shí)到,本發(fā)明的過(guò)程能夠以指令的計(jì)算機(jī)可讀媒介的形式,以及各種形式被分布,并且本發(fā)明同樣適用,與實(shí)際用于實(shí)現(xiàn)所述分布的信號(hào)承載媒介的特定類型無(wú)關(guān)。計(jì)算機(jī)可讀媒介的例子包括可記錄型媒介,例如軟盤、硬盤驅(qū)動(dòng)器、RAM、CD-ROM、DVD-ROM,和傳輸型媒介,例如數(shù)字和模擬通信鏈路,使用傳輸形式的有線或無(wú)線通信鏈路,例如射頻和光波傳輸。計(jì)算機(jī)可讀媒介可采取編碼格式,所述編碼格式被解碼,以便在特定的數(shù)據(jù)處理系統(tǒng)中實(shí)際使用。
出于舉例說(shuō)明的目的,給出了本發(fā)明的說(shuō)明,但是本發(fā)明并不局限于公開的形式。對(duì)本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),許多修改和變化是顯而易見的。選擇并描述了實(shí)施例,以便更好地解釋本發(fā)明的原理,實(shí)際應(yīng)用,并使本領(lǐng)域的普通技術(shù)人員能夠理解具有各種修改的各種實(shí)施例適合于所考慮的特定應(yīng)用。
權(quán)利要求
1.一種管理系統(tǒng)區(qū)域網(wǎng)中的多播組的方法,所述方法包括接收來(lái)自一節(jié)點(diǎn)的加入多播組的加入請(qǐng)求,其中所述節(jié)點(diǎn)與第一交換機(jī)連接,并且其中加入請(qǐng)求是發(fā)送-不接收請(qǐng)求;確定多播組是否存在;和如果多播組不存在,則產(chǎn)生多播組,并為第一交換機(jī)提供路由以丟棄給該多播組的所有分組。
2.按照權(quán)利要求1所述的方法,其中產(chǎn)生多播組的步驟包括向多播組分配多播標(biāo)識(shí)符。
3.按照權(quán)利要求1所述的方法,其中為第一交換機(jī)提供路由的步驟包括在第一交換機(jī)的多播路由數(shù)據(jù)結(jié)構(gòu)中,插入關(guān)于多播組的一個(gè)條目。
4.按照權(quán)利要求3所述的方法,其中依據(jù)多播標(biāo)識(shí)符索引多播路由數(shù)據(jù)結(jié)構(gòu)。
5.按照權(quán)利要求3所述的方法,其中關(guān)于多播組的條目包括分組將被丟棄的指示。
6.按照權(quán)利要求1所述的方法,還包括響應(yīng)來(lái)自接收節(jié)點(diǎn)的加入請(qǐng)求,更新系統(tǒng)區(qū)域網(wǎng)中至少一個(gè)交換機(jī)的至少一個(gè)多播路由表,以便把給多播組的分組發(fā)送給接收節(jié)點(diǎn)。
7.按照權(quán)利要求6所述的方法,還包括接收來(lái)自第二節(jié)點(diǎn)的離開多播組的離開請(qǐng)求;確定單個(gè)節(jié)點(diǎn)是否留在多播組中;和如果單個(gè)節(jié)點(diǎn)留在多播組中,則路由和單個(gè)節(jié)點(diǎn)最接近的交換機(jī)丟棄給多播組的所有分組。
8.一種管理系統(tǒng)區(qū)域網(wǎng)中的多播組的方法,所述方法包括接收來(lái)自第二節(jié)點(diǎn)的離開多播組的離開請(qǐng)求,其中多播組具有位于與第一交換機(jī)連接的第一節(jié)點(diǎn)的第一成員;確定單個(gè)節(jié)點(diǎn)是否留在多播組中;和如果單個(gè)節(jié)點(diǎn)留在多播組中,則為第一交換機(jī)提供路由丟棄給多播組的所有分組。
9.按照權(quán)利要求8所述的方法,其中第一成員是發(fā)送-不接收成員。
10.按照權(quán)利要求8所述的方法,其中為第一交換機(jī)提供路由的步驟包括在第一交換機(jī)的多播路由數(shù)據(jù)結(jié)構(gòu)中,插入關(guān)于多播組的一個(gè)條目。
11.按照權(quán)利要求10所述的方法,其中依據(jù)多播標(biāo)識(shí)符索引多播路由數(shù)據(jù)結(jié)構(gòu)。
12.按照權(quán)利要求10所述的方法,其中關(guān)于多播組的條目包括分組將被丟棄的指示。
13.按照權(quán)利要求8所述的方法,還包括響應(yīng)來(lái)自接收節(jié)點(diǎn)的加入請(qǐng)求,更新系統(tǒng)區(qū)域網(wǎng)中至少一個(gè)交換機(jī)的至少一個(gè)多播路由表,以便把給多播組的分組發(fā)送給接收節(jié)點(diǎn)。
14.一種管理系統(tǒng)區(qū)域網(wǎng)中的多播組的設(shè)備,所述設(shè)備包括接收來(lái)自某一節(jié)點(diǎn)的加入多播組的加入請(qǐng)求的接收裝置,其中所述節(jié)點(diǎn)與第一交換機(jī)連接,其中加入請(qǐng)求是發(fā)送-不接收請(qǐng)求;確定多播組是否存在的確定裝置;和產(chǎn)生多播組的產(chǎn)生裝置;和如果多播組不存在,則為第一交換機(jī)提供路由以丟棄給該多播組的所有分組的路由裝置。
15.按照權(quán)利要求14所述的設(shè)備,其中產(chǎn)生裝置包括向多播組分配多播標(biāo)識(shí)符的裝置。
16.按照權(quán)利要求14所述的設(shè)備,其中路由裝置包括在第一交換機(jī)的多播路由數(shù)據(jù)結(jié)構(gòu)中,插入關(guān)于多播組的一個(gè)條目的裝置。
17.按照權(quán)利要求14所述的設(shè)備,還包括響應(yīng)來(lái)自接收節(jié)點(diǎn)的加入請(qǐng)求,更新系統(tǒng)區(qū)域網(wǎng)中至少一個(gè)交換機(jī)的至少一個(gè)多播路由表,以便把給多播組的分組發(fā)送給接收節(jié)點(diǎn)的裝置。
18.一種管理系統(tǒng)區(qū)域網(wǎng)中的多播組的設(shè)備,所述設(shè)備包括接收來(lái)自第二節(jié)點(diǎn)的離開多播組的離開請(qǐng)求的接收裝置,其中多播組具有位于與第一交換機(jī)連接的第一節(jié)點(diǎn)的第一成員;確定單個(gè)節(jié)點(diǎn)是否留在多播組中的確定裝置;和如果單個(gè)節(jié)點(diǎn)留在多播組中,則為第一交換機(jī)提供路由以丟棄給多播組的所有分組的路由裝置。
19.按照權(quán)利要求18所述的設(shè)備,其中第一成員是發(fā)送-不接收成員。
20.按照權(quán)利要求18所述的設(shè)備,其中路由裝置包括在第一交換機(jī)的多播路由數(shù)據(jù)結(jié)構(gòu)中,插入關(guān)于多播組的一個(gè)條目的裝置。
21.按照權(quán)利要求18所述的設(shè)備,還包括響應(yīng)來(lái)自接收節(jié)點(diǎn)的加入請(qǐng)求,更新系統(tǒng)區(qū)域網(wǎng)中至少一個(gè)交換機(jī)的至少一個(gè)多播路由表,以便把給多播組的分組發(fā)送給接收節(jié)點(diǎn)的裝置。
22.計(jì)算機(jī)可讀媒介中的管理系統(tǒng)區(qū)域網(wǎng)中的多播組的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括接收來(lái)自一節(jié)點(diǎn)的加入多播組的加入請(qǐng)求的指令,其中所述節(jié)點(diǎn)與第一交換機(jī)連接,其中加入請(qǐng)求是發(fā)送-不接收請(qǐng)求;確定多播組是否存在的指令;和如果多播組不存在,則產(chǎn)生多播組,并為第一交換機(jī)提供路由丟棄給該多播組的所有分組的指令。
23.計(jì)算機(jī)可讀媒介中的管理系統(tǒng)區(qū)域網(wǎng)中的多播組的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括接收來(lái)自第二節(jié)點(diǎn)的離開多播組的離開請(qǐng)求的指令,其中多播組具有位于與第一交換機(jī)連接的第一節(jié)點(diǎn)的第一成員;確定單個(gè)節(jié)點(diǎn)是否留在多播組中的指令;和如果單個(gè)節(jié)點(diǎn)留在多播組中,則為第一交換機(jī)提供路由以丟棄給多播組的所有分組的指令。
全文摘要
提供一種在產(chǎn)生和刪除多播組時(shí),不使用俘獲的情況下,管理具有發(fā)送不接收(SWR)加入者的多播組的機(jī)制。當(dāng)SWR成員存在時(shí),多播組信息被連續(xù)保持。當(dāng)嘗試SWR加入,并且多播組還未存在時(shí),組信息(MLID)被標(biāo)記成已用,路由SWR分組被發(fā)往的第一交換機(jī)丟棄發(fā)送給該組的所有分組。當(dāng)接收成員加入該組時(shí),路由被更新,從而SWR成員開始向接收成員發(fā)送。當(dāng)最后的接收成員離開該組時(shí),再次為第一交換機(jī)提供路由以丟棄分組。
文檔編號(hào)H04L12/18GK1581852SQ20041005862
公開日2005年2月16日 申請(qǐng)日期2004年7月23日 優(yōu)先權(quán)日2003年7月31日
發(fā)明者維維科·卡斯雅普, 格雷戈里·弗朗西斯·費(fèi)斯特 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司