專利名稱:可用帶寬估計(jì)的制作方法
可用帶寬估計(jì)
背景技術(shù):
諸如因特網(wǎng)的大網(wǎng)絡(luò)為許多對等系統(tǒng)(peer-to-peer system)提 供基礎(chǔ)設(shè)施,并且現(xiàn)在正用于向用戶提供各種各樣的服務(wù)。近來的一些 因特網(wǎng)應(yīng)用需要高帶寬?,F(xiàn)場高質(zhì)量流視頻、視頻會議和圖形密集的多 玩家游戲是高帶寬應(yīng)用的示例。
在有效利用高帶寬網(wǎng)絡(luò)服務(wù)方面的基本挑戰(zhàn)是在不影響服務(wù)質(zhì)量 的情況下提供這些服務(wù)和其它數(shù)椐傳輸。服務(wù)質(zhì)量(QoS)路由是提供這 些服務(wù)的主要因素。然而,選擇提供該服務(wù)所需性能的路由是困難的。
準(zhǔn)確測量計(jì)算網(wǎng)絡(luò)路由的度量可能是困難的。當(dāng)確定帶寬時尤其如 此。測量帶寬是計(jì)算和資源密集的過程。對于具有大量路徑的大網(wǎng)絡(luò)(諸 如因特網(wǎng))進(jìn)行帶寬測量是困難的。同時在多個路徑上進(jìn)行測量可能引 起對測量工具的干擾,并且可能產(chǎn)生交叉流量(cross traffic),由 此使得難以獲得實(shí)時的準(zhǔn)確測量。而且,帶寬相當(dāng)快速地改變,并且需 要頻繁地更新測量。在大網(wǎng)絡(luò)中,由于大的測量開銷,不斷地測量帶寬 將是不可行的。
能夠更全面地認(rèn)識實(shí)施例的各種特征,因?yàn)閰⒖冀Y(jié)合附圖考慮的實(shí) 施例的如下詳細(xì)描迷,可以更好理解這些特征,在附圖中 圖1示出根據(jù)實(shí)施例的包含節(jié)點(diǎn)的網(wǎng)絡(luò);
圖2A-B示出根椐實(shí)施例的可被群集以及不可被群集的節(jié)點(diǎn)的示例; 圖3示出了根據(jù)實(shí)施例的用于估計(jì)可用帶寬的方法的流程圖;以及 圖4示出根據(jù)實(shí)施例的計(jì)算機(jī)系統(tǒng)。
具體實(shí)施例方式
根據(jù)本文所描述的實(shí)施例,提供了用于估計(jì)端到端路徑的可用帶寬 的高效且可擴(kuò)縮(scalable)的方法。在一個實(shí)施例中,與可用帶寬比 較時相對穩(wěn)定的網(wǎng)絡(luò)度量被用于識別可能與網(wǎng)絡(luò)中其它節(jié)點(diǎn)具有類似 的可用帶寬的節(jié)點(diǎn)的群集。穩(wěn)定網(wǎng)絡(luò)度量的示例包括但不限于容量和網(wǎng)絡(luò)路徑中的最后m跳(last m-hops)。從每個群集中選擇代表節(jié)點(diǎn),稱為群集頭,并且測量從群集頭到網(wǎng)絡(luò)中的該群集外的所有其它節(jié)點(diǎn)的可用帶寬。從群集頭測量的可用帶寬可用作來自群集中每一個節(jié)點(diǎn)的可用帶寬的估計(jì)。由此,為確定網(wǎng)絡(luò)中所有節(jié)點(diǎn)之間的可用帶寬執(zhí)行少得多的可用帶寬測量。這表示在用于確定網(wǎng)絡(luò)中節(jié)點(diǎn)之間的可用帶寬的網(wǎng)絡(luò)流量和時間方面的重大節(jié)約。
在確定節(jié)點(diǎn)之間的可用帶寬之后,可以存儲、顯示可用帶寬,或?qū)⑵鋫鬟f給網(wǎng)絡(luò)中的用戶或另一個節(jié)點(diǎn)??捎脦捒捎糜谶x擇用于向目的地傳輸數(shù)椐的路徑。在一個示例中,可用帶寬被用于選擇滿足提供服務(wù)的要求的路徑。例如,通過諸如因特網(wǎng)的網(wǎng)絡(luò)提供給用戶的服務(wù)可能需要最小可用帶寬。在網(wǎng)絡(luò)中選擇可用帶寬大于或等于所需的最小可用帶寬的路徑。當(dāng)選擇路徑時,除了可用帶寬,也可以考慮其它網(wǎng)絡(luò)度量,諸如等待時間、吞吐量、損失率等。
本文所用的容量是鏈路或端到端路徑上數(shù)據(jù)傳輸?shù)淖畲髠鬏斔俾?,其中假設(shè)該數(shù)據(jù)傳輸全權(quán)使用(have full access to)該鏈路或路徑,而該鏈路或路徑上沒有任何其它網(wǎng)絡(luò)流量。容量測量產(chǎn)生網(wǎng)絡(luò)流量。然而,容量測量對于長得多的時間段通常是有效的,因此執(zhí)行用于確定可用帶寬的這些測量的周期性較小。
可用帶寬是在鏈路或路徑上有其它網(wǎng)絡(luò)流量的情況下在該鏈路或路徑上的數(shù)據(jù)傳輸?shù)膫鬏斔俾省>W(wǎng)絡(luò)流量通常隨時間改變,因此可用帶寬隨時間改變并且通常不如容量穩(wěn)定。
公式1將路徑的可用帶寬的更正式描述提供為在時間間隔(t,, t2)期間該路徑的最小未用容量。
公式l: <formula>formula see original document page 5</formula>
在公式l中,AB是對于時間間隔(t,, t》的可用帶寬,單位是比特/秒(bps), C是路徑的容量,而B是在該時間間隔期間在該路徑上測量的流量。
網(wǎng)絡(luò)中源與目的地之間的端到端路徑(也稱為路徑或網(wǎng)絡(luò)路徑)可由一個或多個鏈路組成。由多個鏈路組成的路徑的可用帶寬或容量可由該路徑中具有最低容量或最低可用帶寬的鏈路進(jìn)行表征。該鏈路可稱為瓶頸鏈路。圖1示出包含節(jié)點(diǎn)的網(wǎng)絡(luò)100。網(wǎng)絡(luò)100的示例包括大規(guī)模網(wǎng)絡(luò)諸
如因特網(wǎng)。然而,可在^^小網(wǎng)絡(luò)中實(shí)現(xiàn)這些實(shí)施例。
節(jié)點(diǎn)是可經(jīng)由網(wǎng)絡(luò)發(fā)送和/或接收消息并且通??刹僮饕詧?zhí)行某種類型的數(shù)據(jù)處理的任何裝置。節(jié)點(diǎn)的示例包括路由器、服務(wù)器和終端用
戶裝置,諸如個人數(shù)字助理(PDA)、個人計(jì)算機(jī)、膝上型計(jì)算機(jī)和蜂窩電話。節(jié)點(diǎn)IIO可操作以沿著網(wǎng)絡(luò)路徑在網(wǎng)絡(luò)IOO中路由數(shù)據(jù)。
圖1示出了源節(jié)點(diǎn)110x和目的地節(jié)點(diǎn)110y。源節(jié)點(diǎn)110x與目的地節(jié)點(diǎn)110y之間的路徑130包含鏈路131a-e和中間節(jié)點(diǎn)U0r-u。路徑130例如是用于在源節(jié)點(diǎn)110x與目的地節(jié)點(diǎn)110y之間路由數(shù)據(jù)的IP網(wǎng)絡(luò)路徑,如本領(lǐng)域眾所周知的。
路徑130的最慢鏈路確定整個路徑130的最大可用帶寬。例如,如果鏈路131a-e的可用帶寬分別是20、 50、 100、 30和1Mbps,則路徑130的最大可用帶寬是1Mbps。如果諸如流媒體或要提供給目的地節(jié)點(diǎn)110y的數(shù)據(jù)的批量傳送(bulk transfer)之類的服務(wù)需要1Mbps以上來提供該服務(wù),則如果具有大于1Mbps的可用帶寬的到目的地節(jié)點(diǎn)110y的另一個路徑可用于提供該服務(wù)的話,可以不選擇路徑130來提供該服務(wù)。例如,提供相同服務(wù)的另一個路徑和/或另一個源可用于提供該服務(wù)。如果該服務(wù)需要的可用帶寬小于或等于1Mbps,則可以選擇路徑UO。類似于可用帶寬,路徑130中具有最低容量的鏈路可用作整個路徑130的最大容量。
根椐實(shí)施例,將節(jié)點(diǎn)群集以用降低的開銷估計(jì)可用帶寬。基于在網(wǎng)絡(luò)度量(諸如帶寬、容量、最后m跳等)方面節(jié)點(diǎn)對網(wǎng)絡(luò)的視圖(view)的一致性(sameness),來群集所述節(jié)點(diǎn)。圖2A-B示出了基于它們對網(wǎng)絡(luò)的視圖能夠群集或不能夠群集的節(jié)點(diǎn)的示例。
圖2A示出了網(wǎng)絡(luò)100中的節(jié)點(diǎn)llOe-j。節(jié)點(diǎn)UOe-j的每一個測量到所有其它節(jié)點(diǎn)的網(wǎng)絡(luò)度量,在這個示例中是帶寬。圖2A示出了所測量的帶寬,它們是每一個節(jié)點(diǎn)的接入帶寬(access bandwidth)。接入帶寬是最接近提供到網(wǎng)絡(luò)的接入的節(jié)點(diǎn)的鏈路上的傳輸速率。在圖2A-B中所示的示例中,任何路徑的最低帶寬(即路徑中瓶頸鏈路的帶寬)碰巧為該路徑的兩個端節(jié)點(diǎn)之一的接入帶寬,并且由此端節(jié)點(diǎn)的接入帶寬的最小值可被認(rèn)為是整個路徑的帶寬。如圖2A中所示,節(jié)點(diǎn)UOe-j的接入帶寬分別是!OO、 10、 50、 50、 l和100Mbps。節(jié)點(diǎn)110e的網(wǎng)絡(luò)視圖(示為201e)是本例中分別從節(jié)點(diǎn)11 Oe到節(jié)點(diǎn)nOf-i的每一個路徑的帶寬。f見圖201e包含10、 50、 50和lMbps,它們分別是節(jié)點(diǎn)llOe與節(jié)點(diǎn)llOf-i之間的路徑的帶寬。類似地,節(jié)點(diǎn)110j的網(wǎng)絡(luò)一見圖(示為201j)包含IO、 50、 50和lMbps,它們分別是節(jié)點(diǎn)llOf-i的接入帶寬。視圖201j表示分別從節(jié)點(diǎn)110e到節(jié)點(diǎn)110f-i的每一個路徑的帶寬。視圖201e和201j是相同的,并且由此可以群集節(jié)點(diǎn)110e和110j來估計(jì)可用帶寬。
圖2B是不能群集的節(jié)點(diǎn)的示例。如圖2B所示,節(jié)點(diǎn)110e的網(wǎng)絡(luò)視圖(示為201e)包含IO、 50、 50和1Mbps,如上面所述的。節(jié)點(diǎn)UOk的視圖201k是l、 1、 1、 1Mbps,它們分別是節(jié)點(diǎn)110k與節(jié)點(diǎn)110f-i之間的路徑的帶寬。該帶寬對于每個路徑都是1Mbps,因?yàn)槠涫敲總€路徑的瓶頸鏈路的帶寬。視圖201e和201k大不相同。由此,節(jié)點(diǎn)110e和110k不能被群集。
圖2A-B中所示的示例是簡化的,并且本領(lǐng)域普通技術(shù)人員顯而易見的是,也可使用其它度量來確定網(wǎng)絡(luò)的視圖。而且,視圖可以不精確匹配,但是仍可認(rèn)為是對于將相應(yīng)節(jié)點(diǎn)放入同一群集中來說足夠接近。下面更詳細(xì)地描述用于比較視圖以確定是否將節(jié)點(diǎn)放入同 一 群集中的準(zhǔn)則。
通過測試,已經(jīng)觀察到,大網(wǎng)絡(luò)(諸如因特網(wǎng))中的許多路徑是共享的。而且,大多數(shù)瓶頸鏈路在源節(jié)點(diǎn)與目的地節(jié)點(diǎn)之間路徑中的最初或最后四跳中。而且,路徑中的緊鏈路(tight link)和狹窄鏈路是相同的。緊鏈路是路徑中具有最小容量的鏈路。狹窄鏈路是路徑中具有最小可用帶寬的鏈路。基于這些觀察,參考圖3描述根據(jù)實(shí)施例的用于確定路徑的可用帶寬的群集方法。
圖3示出了一種使用群集方法估計(jì)可用帶寬的方法u作為示例而非限制,參考圖1和2A-B來描述圖3。
在步驟301,為每個節(jié)點(diǎn)確定特征向量。視圖201e、 201j和201k是特征向量的示例。例如,每個節(jié)點(diǎn)測量它自己與網(wǎng)絡(luò)中所有其它節(jié)點(diǎn)或網(wǎng)絡(luò)中一組節(jié)點(diǎn)之間的網(wǎng)絡(luò)度量。該測量是特征向量。圖2A-B中所示的斗見圖201e、 201j和201k是特征向量的示例,并且網(wǎng)絡(luò)度量是那些特征向量的帶寬。
在一個實(shí)施例中,特征向量包含容量測量。例如,圖2A中所示的節(jié)點(diǎn)llOe-j各測量到彼此的容量,以確定每一個節(jié)點(diǎn)的特征向量??墒褂帽绢I(lǐng)域已知的帶寬和容量測量工具執(zhí)行這些測量。
容量測量產(chǎn)生網(wǎng)絡(luò)流量。然而,與諸如可用帶寬的其它度量比較時,容量是相對穩(wěn)定的網(wǎng)絡(luò)度量并且通常對于長得多的時間段是有效的,所述可用帶寬取決于當(dāng)前的網(wǎng)絡(luò)流量。由此,為用于確定可用帶寬的特征向量執(zhí)行容量測量的周期性較小。而且,由于已經(jīng)觀察到,路徑中的緊鏈路和狹窄鏈路往往是相同的,因此可以利用(leverage)容量來確定路徑的可用帶寬。
在另一個實(shí)施例中,特征向量包含每個路徑的最后m跳。例如,圖2A中所示的每一個節(jié)點(diǎn)U0e-j執(zhí)行到彼此的跟蹤路由(traceroute)。跟蹤路由用于確定每一個節(jié)點(diǎn)110e-j之間每個路徑的最后m跳。例如,如果m-4,則節(jié)點(diǎn)110e的特征向量包含在節(jié)點(diǎn)110e與節(jié)點(diǎn)U0f-i之間的每個路徑中的最后4跳。這可以包含每個路徑中最后四個節(jié)點(diǎn)的唯一ID,或者每個路徑中最后四個節(jié)點(diǎn)的某種其它表示。由于已經(jīng)觀察到,大網(wǎng)絡(luò)中的許多路徑是共享的,所以為兩個不同路徑共用的節(jié)點(diǎn)可以用作群集的度量。
在步驟302,使用特征向量來形成群集?;谠诰W(wǎng)絡(luò)度量(諸如容量、路徑中最后跳等)方面節(jié)點(diǎn)對網(wǎng)絡(luò)的視圖的"一致性",形成群集。根椐特征向量和由特征向量計(jì)算的距離度量確定一致性,如下面所迷。
根據(jù)實(shí)施例,特征向量由容量測量組成。使用容量測量,計(jì)算網(wǎng)絡(luò)中任何兩個給定節(jié)點(diǎn)之間的距離度量以確定這些節(jié)點(diǎn)之間的 一致性并形成群集。例如,給定節(jié)點(diǎn)對并假設(shè)在網(wǎng)絡(luò)中有n個節(jié)點(diǎn),距離度量是從該對中第一節(jié)點(diǎn)到所有其它(n-"個節(jié)點(diǎn)的容量與從該對中第二節(jié)點(diǎn)到所有其它(n-2)個節(jié)點(diǎn)的容量之間的歸一化差值的平均值。例如,比較圖2A中所示的兩個節(jié)點(diǎn),諸如節(jié)點(diǎn)110e和節(jié)點(diǎn)U0j。假設(shè)網(wǎng)絡(luò)IOO包含n個節(jié)點(diǎn),計(jì)算從節(jié)點(diǎn)U0e到其它(n-2)個節(jié)點(diǎn)的每一個的容量與從節(jié)點(diǎn)110j到其它(n-2)個節(jié)點(diǎn)的每一個的容量之間的歸一化差值的平均值。對于每個節(jié)點(diǎn)對,執(zhí)行這種計(jì)算。每個計(jì)算的結(jié)果例如是O與1之間的數(shù)。取決于在哪里設(shè)置閾限,將該對放入同一群集中,或者不放入同一群集中。備選地,將計(jì)算結(jié)果用作已知群集函數(shù)(諸如k均值群集)的輸入,并且該函數(shù)確定群集。
如下所述計(jì)算每一對節(jié)點(diǎn)的距離度量給定網(wǎng)絡(luò)中的n個節(jié)點(diǎn),對
8于每個節(jié)點(diǎn)對(i, j)執(zhí)行計(jì)算。在步驟301,例如,測量從節(jié)點(diǎn)i和j 的每一個到網(wǎng)絡(luò)中的所有其它節(jié)點(diǎn)的容量,以確定特征向量。從節(jié)點(diǎn)i 到節(jié)點(diǎn)k的容量測量表示為Cap(Ni.J,并且Cap(Nj.k)表示網(wǎng)絡(luò)中從節(jié)點(diǎn) j到節(jié)點(diǎn)k的容量測量。計(jì)算差值。該差值是從節(jié)點(diǎn)i到節(jié)點(diǎn)k的容量 減去從節(jié)點(diǎn)j到節(jié)點(diǎn)k的容量。將該差值除以從節(jié)點(diǎn)i到節(jié)點(diǎn)k和從節(jié) 點(diǎn)j到節(jié)點(diǎn)k的容量中的最大值。該計(jì)算由公式2表示如下
公式2: _ Mjx(0^(A^),C。/7(A^))
在網(wǎng)絡(luò)中所有其它(n-2)個節(jié)點(diǎn)上對公式2中計(jì)算的差值求平均。 由此,對每個節(jié)點(diǎn)k計(jì)算公式2,其中k表示網(wǎng)絡(luò)中不同于節(jié)點(diǎn)i和j 的節(jié)點(diǎn)。節(jié)點(diǎn)數(shù)k是(n-2)。用于在所有其它(n-2)個節(jié)點(diǎn)上對差值求平 均的計(jì)算顯示在如下的公式3中
公式3: ("-2)
在公式3中計(jì)算的歸一化差值例如是0與1之間的數(shù),并且是該對 的距離度量。如果容量是相同的,則該差值是0,并且節(jié)點(diǎn)i和j則具 有相同的視圖并被放入同一群集中。 一般地,如果歸一化差值更接近O, 則將節(jié)點(diǎn)放入同一群集中。如果歸一化差值更接近1,則不將節(jié)點(diǎn)放入 同一群集中。在一個實(shí)施例中,網(wǎng)絡(luò)中的每個節(jié)點(diǎn)對的公式3的結(jié)果被
用作已知群集函數(shù)(諸如k均值群集)的輸入,并且該函數(shù)確定群集。 可為網(wǎng)絡(luò)中的節(jié)點(diǎn)子集而不是網(wǎng)絡(luò)中的所有節(jié)點(diǎn)計(jì)算距離度量。例 如,n是網(wǎng)絡(luò)中節(jié)點(diǎn)子集中的節(jié)點(diǎn)數(shù);(n-2)是除了節(jié)點(diǎn)對以外該子集中 的節(jié)點(diǎn)數(shù);并且k表示子集中的每個節(jié)點(diǎn)。
根椐另一個實(shí)施例,使用路徑來確定特征向量。例如,如上所述, 在每個節(jié)點(diǎn)的特征向量中提供到所有目的地節(jié)點(diǎn)的最后m跳。計(jì)算表示 路徑相似性的距離度量,其測量從節(jié)點(diǎn)對中的兩個節(jié)點(diǎn)到公共目的地的 路由之間共用的節(jié)點(diǎn)的份額(fraction)并在所有目的地上求平均。然 后可以應(yīng)用任何標(biāo)準(zhǔn)群集技術(shù)來獲得群集。距離度量1意味著可以群集
節(jié)點(diǎn),距離度量O意味著不能群集節(jié)點(diǎn)。
按如下計(jì)算每一對節(jié)點(diǎn)的距離度量給定網(wǎng)絡(luò)中的n個節(jié)點(diǎn),對于
每對源節(jié)點(diǎn)i和j以及目的地節(jié)點(diǎn)k執(zhí)行計(jì)算。在步驟301,例如,對于節(jié)點(diǎn)i和k以及節(jié)點(diǎn)j和k之間的兩個路徑確定最后m跳。對于范圍 從1到m的每一跳h,如下面在公式4中所示的,計(jì)算跳相似性函數(shù) W《/^,其中M 和W分別是節(jié)點(diǎn)i和k以及節(jié)點(diǎn)j和k之間的路徑上 的第h跳的節(jié)點(diǎn)ID。注意,Wi和W二可以是之前所討論的節(jié)點(diǎn)!和j
的特征向量中AA哲,'入夂q "如八
公式4. //<(/0-1如果(;^-<*),否則/^,。(/0 = 0
例如,對于111=4,在計(jì)算節(jié)點(diǎn)i的特征向量時,使用到每個目的地 節(jié)點(diǎn)k的最后4跳(h。, h,,h2,h》處的中間節(jié)點(diǎn)。假設(shè)從節(jié)點(diǎn)i到節(jié)點(diǎn)k 的最后4跳是110h、 110i、 U0j和U0k,并且從節(jié)點(diǎn)j到節(jié)點(diǎn)k的最 后4跳是110h、 U0i、 110x、 110y。節(jié)點(diǎn)i和j相對于目的地k的公式 4的結(jié)果是K 1、 O和O,因?yàn)閔。和h,在兩個特征向量中是相同的,而 h2和h是不同的。
如下計(jì)算作為m個跳的每一個的KSt(力)的和的函數(shù)的從節(jié)點(diǎn)i到k
以及從節(jié)點(diǎn)j到k的兩個路徑的路徑相似性(PS): 公式5: " m
在上例中,從節(jié)點(diǎn)i到節(jié)點(diǎn)k的最后4跳是UOh、 110i、 110j和 110k,并且從節(jié)點(diǎn)j到節(jié)點(diǎn)k的最后4跳是UOh、 110i、 UOx、 UOy, 公式5的結(jié)果是2/4。
在所有其它目的地節(jié)點(diǎn)k的集合上求PSi,J的平均,使得k # i,j。 歸一化的PS是距離度量并使用公式6計(jì)算
<formula>formula see original document page 10</formula>
由此,在步驟302,產(chǎn)生包含每個節(jié)點(diǎn)對的距離度量的距離度量矩 陣。如果使用已知群集函數(shù)諸如k均值群集函數(shù)形成群集,則將距離度 量矩陣連同形成的群集數(shù)一起輸入到群集函數(shù)中以形成節(jié)點(diǎn)的群集。
在步驟3G3,為每個群集選摔群集頭。例如, 一旦產(chǎn)生了群集,每 個群集就選擇它的群集代表,即群集頭,其然后對群集外的節(jié)點(diǎn)進(jìn)行帶 寬測量??赏ㄟ^許多技術(shù)選擇群集代表。
在用于確定群集頭的直接方法中,例如隨機(jī)地選擇群集頭,并且從群集頭的可用帶寬測量被認(rèn)為是對群集中所有節(jié)點(diǎn)的估計(jì)。
也執(zhí)行可用帶寬測量來獲得每個群集內(nèi)節(jié)點(diǎn)之間的帶寬。這些測量
可用于識別接近源的瓶頸鏈路,并使用稱為最小使用(min-use)方法 的第二方法選擇群集頭。在這個方法中,如果稱為群集中源節(jié)點(diǎn)的群集 中的節(jié)點(diǎn)與群集頭之間的可用帶寬小于群集頭與稱為群集外目的地節(jié) 點(diǎn)的群集外節(jié)點(diǎn)之間的可用帶寬,則群集中源節(jié)點(diǎn)與群集頭之間的可用 帶寬被用作源節(jié)點(diǎn)與該目的地節(jié)點(diǎn)之間的可用帶寬的估計(jì)。最小使用方 法計(jì)及可能更接近源節(jié)點(diǎn)而不是目的地節(jié)點(diǎn)的瓶頸鏈路。這些瓶頸鏈路 可用作來自群集中節(jié)點(diǎn)的可用帶寬的估計(jì)。如果群集頭與群集外節(jié)點(diǎn)之 間的帶寬小于群集中節(jié)點(diǎn)與群集頭之間的帶寬,則瓶頸鏈路可能接近目 的地。那么,群集頭與群集外節(jié)點(diǎn)之間的帶寬可用作群集中節(jié)點(diǎn)的可用 帶寬的估計(jì)。
例如,節(jié)點(diǎn)110e和110j在同一群集中,并且使用直接方法選擇節(jié) 點(diǎn)110e作為群集頭。節(jié)點(diǎn)110e測量到群集外所有節(jié)點(diǎn)的可用帶寬。假 設(shè)節(jié)點(diǎn)110g在群集外。如果llOe與110g之間的可用帶寬是10Mbps, 并且110e與110j之間的可用帶寬是5Mbps,則5Mbps可用作從節(jié)點(diǎn)110j 到目的地110g的可用帶寬。如果群集中另一節(jié)點(diǎn)與110e之間的可用帶 寬小于5Mbps,則該可用帶寬可用作從那個節(jié)點(diǎn)到目的地110g的可用帶 寬。
在步驟304,將來自群集中單個節(jié)點(diǎn)的可用帶寬測量用作來自群集 中所有節(jié)點(diǎn)的可用帶寬的估計(jì)。
圖4示出可用作網(wǎng)絡(luò)100中的節(jié)點(diǎn)的計(jì)算機(jī)系統(tǒng)400的示范框圖。 計(jì)算機(jī)系統(tǒng)400包含一個或多個處理器,諸如處理器402,用于提供執(zhí) 行軟件的執(zhí)行平臺。
通過通信總線405傳遞來自處理器402的命令和數(shù)據(jù)。計(jì)算機(jī)系統(tǒng) 400還包含主存儲器404和輔助存儲器406,主存儲器諸如隨機(jī)存取存 儲器(RAM),在運(yùn)行時間期間軟件可駐留在其中。輔助存儲器406例如 包含硬盤驅(qū)動器和/或可拆卸存儲驅(qū)動器(代表軟盤驅(qū)動器、磁帶驅(qū)動 器、緊致盤(compact disk)驅(qū)動器等),或者可存儲軟件拷貝的非易 失性存儲器。輔助存儲器406還可包含ROM(只讀存儲器)、EPROM(可擦 除可編程ROM)、 EEPROM(電可擦除可編程ROM)。除了用于路由和本文描 迷的其它步驟的軟件,路由表、重疊路徑的容量、重疊路徑的可用帶寬
ii和其它數(shù)據(jù)可存儲在主存儲器404和/或輔助存儲器406中。存儲器404 和/或406可存儲網(wǎng)絡(luò)度量測量,包括特征向量和所測量的可用帶寬。
用戶用一個或多個I/O裝置404 (諸如鍵盤、鼠標(biāo)、指示筆、顯示 器等)與計(jì)算機(jī)系統(tǒng)400對接。提供網(wǎng)絡(luò)接口 416以用于與網(wǎng)絡(luò)100中 的其它節(jié)點(diǎn)通信。
方法300的一個或多個步驟以及本文所述的其它步驟可實(shí)現(xiàn)為嵌入 在計(jì)算機(jī)可讀媒介(諸如存儲器404和/或406 )上并在計(jì)算機(jī)系統(tǒng)400 上例如由處理器402執(zhí)行的軟件。這些步驟可以由計(jì)算機(jī)程序?qū)嵤?,?述計(jì)算機(jī)程序可以以各種形式(活動的(active)和不活動的 (inactive))存在。例如,它們可作為由源代碼、目標(biāo)代碼、可執(zhí)行
代碼或其它格式的用于執(zhí)行一些步驟的程序指令組成的軟件程序存在。 以上任何一項(xiàng)都可實(shí)施在計(jì)算機(jī)可讀士某介上,所述計(jì)算才幾可讀纟某介包含 存儲裝置和壓縮或未壓縮形式的信號。適當(dāng)?shù)挠?jì)算機(jī)可讀存儲裝置的示 例包含常規(guī)計(jì)算機(jī)系統(tǒng)RAM (隨機(jī)存取存儲器)、ROM (只讀存儲器)、 EPROM (可擦除可編程ROM) 、 EEPROM (電可擦除可編程ROM)和磁盤或磁帶 或光盤或光學(xué)帶。計(jì)算機(jī)可讀信號的示例(不管是否使用栽波調(diào)制)是 主控(host)或運(yùn)行計(jì)算機(jī)程序的計(jì)算機(jī)系統(tǒng)可配置成訪問的信號,包 括通過因特網(wǎng)或其它網(wǎng)絡(luò)下栽的信號。前面的具體示例包括程序在CD ROM上的分布,或經(jīng)由因特網(wǎng)下栽。在某種意義上,因特網(wǎng)本身作為抽 象實(shí)體是計(jì)算機(jī)可讀媒介。對于一般的計(jì)算機(jī)網(wǎng)絡(luò)來說同樣成立。因此 要理解,下面枚舉的那些功能可由能夠執(zhí)行上述功能的任何電子裝置執(zhí)行。
雖然已經(jīng)參考示例描述了這些實(shí)施例,但是本領(lǐng)域技術(shù)人員能夠?qū)?所描述的實(shí)施例進(jìn)行各種修改,而不脫離所要求保護(hù)的實(shí)施例的范圍。
1權(quán)利要求
1.一種估計(jì)網(wǎng)絡(luò)100中節(jié)點(diǎn)110之間的可用帶寬的方法,所述方法包括基于網(wǎng)絡(luò)度量確定每個節(jié)點(diǎn)的特征向量(步驟301);基于所述特征向量確定所述節(jié)點(diǎn)的群集(步驟302);為每個群集選擇群集頭(步驟303);對于每個群集,確定所述群集頭與所述群集外節(jié)點(diǎn)之間的可用帶寬(步驟304);以及對于每個群集頭,使用所述群集頭與所述群集外節(jié)點(diǎn)之間的所述可用帶寬作為所述群集中所述節(jié)點(diǎn)的可用帶寬的估計(jì)(步驟304)。
2. 如權(quán)利要求1所述的方法,其中確定特征向量包括 測量從所迷網(wǎng)絡(luò)100中每個節(jié)點(diǎn)到所迷網(wǎng)絡(luò)100中所有其它節(jié)點(diǎn)的容量以確定所述特征向量。
3. 如權(quán)利要求1所述的方法,其中確定特征向量包括 確定所述網(wǎng)絡(luò)100中每個節(jié)點(diǎn)與所迷網(wǎng)絡(luò)100中所有其它節(jié)點(diǎn)之間的路徑中的最后m跳以確定所述特征向量。
4. 如權(quán)利要求1所述的方法,其中基于所述特征向量確定所迷節(jié)點(diǎn) 的群集包括對于每對節(jié)點(diǎn),基于所迷網(wǎng)絡(luò)度量確定所述節(jié)點(diǎn)的一致性;以及 基于所述一致性將每對節(jié)點(diǎn)放入同一群集中。
5. 如權(quán)利要求4所述的方法,其中確定一致性包括 根據(jù)所述特征向量為每對節(jié)點(diǎn)計(jì)算距離度量;以及 基于所述距離度量確定該對節(jié)點(diǎn)的一致性。
6. 如權(quán)利要求5所述的方法,其中確定群集包括 使用所有節(jié)點(diǎn)對的所迷距離度量作為群集函數(shù)的輸入以確定所述群集。
7. 如權(quán)利要求5所述的方法,其中所述特征向量包括容量測量,每 個節(jié)點(diǎn)對由(i, j)表示,且所述網(wǎng)絡(luò)中有n個節(jié)點(diǎn),并且計(jì)算所迷距離 度量包括對于每對節(jié)點(diǎn),計(jì)算從節(jié)點(diǎn)i和從節(jié)點(diǎn)j到其它(n-2)個節(jié)點(diǎn)中每 一個的容量之間的歸 一化差值的平均值。
8. 如權(quán)利要求5所述的方法,其中所迷特征向量包括最后m跳,每個節(jié)點(diǎn)對由U, j)表示,且所迷網(wǎng)絡(luò)中有n個節(jié)點(diǎn),計(jì)算所述距離度量 包括對于每對節(jié)點(diǎn),計(jì)算指示從節(jié)點(diǎn)i和j到所述網(wǎng)絡(luò)中所有其它節(jié)點(diǎn) 的路由之間共用的節(jié)點(diǎn)的份額的值;以及 在n-2上求所述值的平均。
9. 一種群集中的多個節(jié)點(diǎn)中的節(jié)點(diǎn),其中所迷節(jié)點(diǎn)是所述群集的 群集頭,并且所述多個節(jié)點(diǎn)在網(wǎng)絡(luò)100中,所述節(jié)點(diǎn)包括存儲器404,存儲所述節(jié)點(diǎn)與所述網(wǎng)絡(luò)100中所述群集外的節(jié)點(diǎn)之 間的可用帶寬測量;以及處理器402,其可操作以基于瓶頸鏈路是接近所述群集外節(jié)點(diǎn)定位 還是接近所述群集頭定位來確定所述節(jié)點(diǎn)與所述群集外節(jié)點(diǎn)之間的可 用帶寬測量是否是所述群集中所有節(jié)點(diǎn)的可用帶寬的估計(jì)。
10. 如權(quán)利要求9所述的節(jié)點(diǎn),其中所述存儲器404存儲網(wǎng)絡(luò)度量 值的特征向量,并且所述網(wǎng)絡(luò)度量值與所述節(jié)點(diǎn)和所迷網(wǎng)絡(luò)100中其它 節(jié)點(diǎn)之間的網(wǎng)絡(luò)路徑相關(guān)聯(lián),其中基于所述節(jié)點(diǎn)的所述特征向量與所述 群集中所述多個節(jié)點(diǎn)中所有其它節(jié)點(diǎn)的所述特征向量的比較,將所述節(jié) 點(diǎn)放入與所述多個節(jié)點(diǎn)中所述所有其它節(jié)點(diǎn)相同的群集中。
全文摘要
基于網(wǎng)絡(luò)度量計(jì)算網(wǎng)絡(luò)100中節(jié)點(diǎn)的特征向量?;谔卣飨蛄啃纬晒?jié)點(diǎn)群集。為每個群集選擇群集頭。確定群集頭與群集外節(jié)點(diǎn)之間的可用帶寬。群集頭與群集外節(jié)點(diǎn)之間的可用帶寬可用作群集中節(jié)點(diǎn)的可用帶寬的估計(jì)。
文檔編號H04L12/28GK101682548SQ200880020035
公開日2010年3月24日 申請日期2008年4月2日 優(yōu)先權(quán)日2007年4月13日
發(fā)明者A·什里拉姆, P·亞拉甘杜拉, S·-J·李, S·班納吉 申請人:惠普開發(fā)有限公司