本申請(qǐng)案依據(jù)35U.S.C.§119(e)主張2014年1月22日申請(qǐng)的第61/930,072號(hào)臨時(shí)美國(guó)申請(qǐng)案的優(yōu)先權(quán),所述臨時(shí)美國(guó)申請(qǐng)案的全部?jī)?nèi)容以引用的方式并入本文中。
背景技術(shù):
目前,內(nèi)容分配網(wǎng)絡(luò)(CDN)面臨與請(qǐng)求式音頻/視頻流的流行度的增加相關(guān)聯(lián)的容量及效率問(wèn)題。解決這些問(wèn)題的一個(gè)途徑是通過(guò)網(wǎng)絡(luò)高速緩存及網(wǎng)絡(luò)譯碼。舉例來(lái)說(shuō),常規(guī)內(nèi)容分配網(wǎng)絡(luò)(CDN)解決方案采用集中式算法將內(nèi)容副本放置在網(wǎng)絡(luò)內(nèi)的高速緩存位置中。常規(guī)解決方案還包含高速緩存替換策略(例如,LRU(最近最少使用)或LFU(最不常用))以局部管理分布式高速緩存以便提高高速緩存命中率。其它常規(guī)解決方案使用隨機(jī)線性網(wǎng)絡(luò)譯碼以按群組傳輸數(shù)據(jù)包,這可提高容量有限的網(wǎng)絡(luò)的處理量。
然而,常規(guī)網(wǎng)絡(luò)高速緩存及網(wǎng)絡(luò)譯碼解決方案未考慮高速緩存及傳輸資源的相對(duì)效率。這導(dǎo)致每遞送對(duì)象或文件的次優(yōu)化成本。此外,常規(guī)內(nèi)容遞送解決方案未利用網(wǎng)絡(luò)高速緩存及網(wǎng)絡(luò)譯碼的可能的組合益處。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)至少一個(gè)實(shí)例實(shí)施例,一種用于在網(wǎng)絡(luò)中傳輸數(shù)據(jù)文件的方法包含接收來(lái)自目的地裝置的針對(duì)所述數(shù)據(jù)文件的數(shù)據(jù)包的請(qǐng)求。所述方法包含構(gòu)造沖突圖使得(i)由每一目的地裝置請(qǐng)求的每一數(shù)據(jù)包由所述沖突圖的多個(gè)頂點(diǎn)中的不同頂點(diǎn)表示,(ii)所述多個(gè)頂點(diǎn)與所述目的地裝置相關(guān)聯(lián),及(iii)基于所述多個(gè)頂點(diǎn)中的哪些表示同一請(qǐng)求數(shù)據(jù)包及哪些請(qǐng)求數(shù)據(jù)包存儲(chǔ)在屬于目的地裝置的高速緩存中而在所述多個(gè)頂點(diǎn)之間創(chuàng)建鏈路。所述方法包含基于所述鏈路將所述多個(gè)頂點(diǎn)指派到群組。所述方法包含基于所述指派對(duì)所述多個(gè)頂點(diǎn)著色以標(biāo)記所述請(qǐng)求數(shù)據(jù)包。所述方法包含組合由具有相同顏色的頂點(diǎn)表示的數(shù)據(jù)包。所述方法包含發(fā)送所述經(jīng)組合的數(shù)據(jù)包。
根據(jù)至少一個(gè)實(shí)例實(shí)施例,創(chuàng)建所述鏈路使得所述多個(gè)頂點(diǎn)中的第一者與第二者之間存在鏈路,條件是(i)所述第一及第二頂點(diǎn)不表示同一數(shù)據(jù)包,及(ii)由所述第一頂點(diǎn)表 示的數(shù)據(jù)包未存儲(chǔ)在與所述第二頂點(diǎn)相關(guān)聯(lián)的目的地裝置的高速緩存中,或由所述第二頂點(diǎn)表示的所述數(shù)據(jù)包未存儲(chǔ)在與所述第一頂點(diǎn)相關(guān)聯(lián)的目的地裝置的高速緩存中。
根據(jù)至少一個(gè)實(shí)例實(shí)施例,所述群組指示到所述多個(gè)頂點(diǎn)的若干鏈路。
根據(jù)至少一個(gè)實(shí)例實(shí)施例,所述著色包含確定所述多個(gè)頂點(diǎn)中的哪些具有最少數(shù)目的鏈路且所述多個(gè)頂點(diǎn)中的哪些具有最多數(shù)目的鏈路。所述著色包含基于到具有最少數(shù)目的鏈路的所述頂點(diǎn)的鏈路的數(shù)目及到具有最多數(shù)目的鏈路的所述頂點(diǎn)的鏈路的數(shù)目而計(jì)算閾值。所述著色包含基于所述閾值構(gòu)造所述多個(gè)頂點(diǎn)的子集。
根據(jù)至少一個(gè)實(shí)例實(shí)施例,所述著色包含從所述子集選擇頂點(diǎn),確定連結(jié)到所述選定頂點(diǎn)的頂點(diǎn)的顏色,以及基于所述確定對(duì)所述選定頂點(diǎn)著色。
根據(jù)至少一個(gè)實(shí)例實(shí)施例,所述確定顏色將連結(jié)到所述選定頂點(diǎn)的頂點(diǎn)的顏色標(biāo)識(shí)為第一組顏色且將所述沖突圖的現(xiàn)有顏色標(biāo)識(shí)為第二組顏色。所述對(duì)所述選定頂點(diǎn)著色包含在所述第一組顏色與所述第二組顏色不一致的情況下使用所述第二組中的所要顏色對(duì)所述選定頂點(diǎn)著色,以及在所述第一組顏色與所述第二組顏色一致的情況下使用新顏色對(duì)所述選定頂點(diǎn)著色。
根據(jù)至少一個(gè)實(shí)例實(shí)施例,執(zhí)行所述著色直到所述多個(gè)頂點(diǎn)被著色。
根據(jù)至少一個(gè)實(shí)例實(shí)施例,所述方法包含更新所述第二組顏色以包含所述多個(gè)經(jīng)著色的頂點(diǎn)的顏色。
根據(jù)至少一個(gè)實(shí)例實(shí)施例,所述方法包含對(duì)所述多個(gè)經(jīng)著色的頂點(diǎn)執(zhí)行局部搜索以減少所述第二組中的顏色的數(shù)目。所述局部搜索包含從所述沖突圖的現(xiàn)有顏色中選擇一種顏色,用所述選定顏色標(biāo)識(shí)頂點(diǎn),以及在未使用不同顏色對(duì)連結(jié)到所述經(jīng)標(biāo)識(shí)的頂點(diǎn)的頂點(diǎn)著色的情況下用從所述現(xiàn)有顏色選擇的所述不同顏色替代所述選定顏色。
根據(jù)至少一個(gè)實(shí)例實(shí)施例,所述組合對(duì)由具有相同顏色的頂點(diǎn)表示的數(shù)據(jù)包執(zhí)行異或運(yùn)算或其它線性組合運(yùn)算。
應(yīng)理解,可由通信網(wǎng)絡(luò)中的網(wǎng)絡(luò)元件(例如,內(nèi)容源)來(lái)執(zhí)行以上方法。
附圖說(shuō)明
從以下本文中給出的具體實(shí)施方式及附圖將更全面理解實(shí)例實(shí)施例,其中相似元件由相似參考數(shù)字表示,其僅以說(shuō)明的方式給出且因此未限制實(shí)例實(shí)施例。
圖1展示根據(jù)至少一個(gè)實(shí)例實(shí)施例的內(nèi)容分配網(wǎng)絡(luò)。
圖2為說(shuō)明根據(jù)實(shí)例實(shí)施例的網(wǎng)絡(luò)元件的實(shí)例結(jié)構(gòu)的圖式。
圖3A到3B為說(shuō)明圖2中的網(wǎng)絡(luò)元件的實(shí)例操作的流程圖。
圖4說(shuō)明根據(jù)至少一個(gè)實(shí)例實(shí)施例的遞送階段的實(shí)例操作。
圖5說(shuō)明根據(jù)至少一個(gè)實(shí)例實(shí)施例的構(gòu)造無(wú)向沖突圖的實(shí)例操作。
圖6說(shuō)明根據(jù)至少一個(gè)實(shí)例實(shí)施例的對(duì)沖突圖著色的實(shí)例操作。
圖7A到7D說(shuō)明根據(jù)至少一個(gè)實(shí)例實(shí)施例對(duì)沖突圖著色。
具體實(shí)施方式
現(xiàn)將參考附圖更全面描述各種實(shí)例實(shí)施例,其中展示一些實(shí)例實(shí)施例。
本文揭示詳細(xì)說(shuō)明性實(shí)施例。然而,出于描述實(shí)例實(shí)施例的目的,本文揭示的特定結(jié)構(gòu)及功能細(xì)節(jié)僅為代表性的。然而,本發(fā)明可體現(xiàn)在許多替代形式中且不應(yīng)被解釋為僅限于本文所闡述的實(shí)施例。
因此,雖然實(shí)例實(shí)施例能夠具有各種修改及替代形式,但實(shí)施例僅以圖式中實(shí)例的方式展示且在本文中將不對(duì)其進(jìn)行詳細(xì)描述。然而,應(yīng)理解,不希望將實(shí)例實(shí)施例限于所揭示的特定形式。相反,實(shí)例實(shí)施例將涵蓋落入本發(fā)明范圍內(nèi)的所有修改、等效物及替代。相似數(shù)字貫穿圖式描述指代相似元件。
雖然可在本文中使用術(shù)語(yǔ)第一、第二等等以描述各種元件,但這些元件不應(yīng)受這些術(shù)語(yǔ)限制。這些術(shù)語(yǔ)僅用于區(qū)分一個(gè)元件與另一個(gè)元件。舉例來(lái)說(shuō),在不脫離本發(fā)明的范圍的情況下,第一元件可被稱為第二元件,且類似地,第二元件可被稱為第一元件。如本文中使用,術(shù)語(yǔ)“及/或”包含相關(guān)列舉項(xiàng)中的一或多者的任何及全部組合。
當(dāng)稱元件為“連接”或“耦合”到另一元件時(shí),其可直接連接或耦合到其它元件或可存在介入元件。相反,當(dāng)稱元件為“直接連接”或“直接耦合”到另一元件時(shí),不存在介入元件。應(yīng)以相似方式解釋用于描述元件之間的關(guān)系的其它詞語(yǔ)(例如,“位于……之間”對(duì)“直接位于……之間”、“鄰近”對(duì)“直接鄰近”等等)。
本文使用的術(shù)語(yǔ)僅用于描述特定實(shí)施例的目的且不希望為限制性的。如本文所使用,希望單數(shù)形式“一”及“所述”還包含復(fù)數(shù)形式,除非上下文以其它方式明確指示。進(jìn)一步將理解,當(dāng)在本文中使用術(shù)語(yǔ)“包括”及/或“包含”時(shí),指定所陳述的特征、整體、步驟、操作、元件及/或組件的存在,但不排除一或多個(gè)其它特征、整體、步驟、操作、元件、組件及/或其群組的存在或添加。
還應(yīng)注意的是,在一些替代實(shí)施方案中,所指出的功能/動(dòng)作可不按照?qǐng)D式中所指出的順序發(fā)生。舉例來(lái)說(shuō),連續(xù)展示的兩個(gè)圖式事實(shí)上可大體上并發(fā)地執(zhí)行或有時(shí)可按相反順序執(zhí)行,這取決于所涉及的功能性/動(dòng)作。
以下描述中提供特定細(xì)節(jié)以提供對(duì)實(shí)例實(shí)施例的透徹理解。然而,所屬領(lǐng)域的技術(shù) 人員將理解,可在不具有這些特定細(xì)節(jié)的情況下實(shí)踐實(shí)例實(shí)施例。舉例來(lái)說(shuō),可在框圖中展示系統(tǒng)以便不在不必要的細(xì)節(jié)方面使實(shí)例實(shí)施例混淆。在其它情況中,無(wú)需展示眾所周知的過(guò)程、結(jié)構(gòu)及技術(shù)的不必要的細(xì)節(jié)以便避免使實(shí)例實(shí)施例混淆。
在下文描述中,將參考操作的動(dòng)作及符號(hào)表示(例如,以流程圖表、流程圖、數(shù)據(jù)流程圖、結(jié)構(gòu)圖、框圖等等的形式)描述說(shuō)明性實(shí)施例,操作可被實(shí)施為程序模塊,或功能過(guò)程包含例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等,其執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型且可使用在現(xiàn)有網(wǎng)絡(luò)元件(例如,基站、基站控制器、NodeB、eNodeB等等)處的現(xiàn)有硬件來(lái)實(shí)施。此現(xiàn)有硬件可包含一或多個(gè)中央處理器(CPU)、數(shù)字信號(hào)處理器(DSP)、專用集成電路、現(xiàn)場(chǎng)可編程門陣列(FPGA)計(jì)算機(jī)或類似物。
雖然流程圖可將操作描述為循序過(guò)程,但可并行、并發(fā)或同時(shí)執(zhí)行許多操作。另外,可重新布置操作的順序。雖然過(guò)程可在其操作完成時(shí)終止,但還可具有未包含于圖式中的額外步驟。過(guò)程可對(duì)應(yīng)于方法、函數(shù)、程序、子例程、子程序等等。當(dāng)過(guò)程對(duì)應(yīng)于函數(shù)時(shí),其終止可對(duì)應(yīng)于函數(shù)返回到調(diào)用函數(shù)或主函數(shù)。
如本文揭示,術(shù)語(yǔ)“存儲(chǔ)媒體”或“計(jì)算機(jī)可讀存儲(chǔ)媒體”可表示用于存儲(chǔ)數(shù)據(jù)的一或多個(gè)裝置,其包含只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁性RAM、磁芯存儲(chǔ)器、磁盤存儲(chǔ)媒體、光學(xué)存儲(chǔ)媒體、快閃存儲(chǔ)器裝置及/或用于存儲(chǔ)信息的其它有形機(jī)器可讀媒體。術(shù)語(yǔ)“計(jì)算機(jī)可讀媒體”可包含(但不限于)便攜式或固定存儲(chǔ)裝置、光學(xué)存儲(chǔ)裝置及能夠存儲(chǔ)、含有或攜載指令及/或數(shù)據(jù)的各種其它媒體。
此外,可由硬件、軟件、固件、中間件、微碼、硬件描述語(yǔ)言或其任何組合來(lái)實(shí)施實(shí)例實(shí)施例。當(dāng)在軟件、固件、中間件或微碼中實(shí)施時(shí),執(zhí)行必要任務(wù)的程序代碼或代碼段可存儲(chǔ)在機(jī)器或計(jì)算機(jī)可讀媒體(例如計(jì)算機(jī)可讀存儲(chǔ)媒體)中。當(dāng)在軟件中實(shí)施時(shí),一個(gè)專用處理器或多個(gè)專用處理器將執(zhí)行必要任務(wù)。
代碼段可表示過(guò)程、函數(shù)、子程序、程序、例程、子例程、模塊、軟件包、類或指令、數(shù)據(jù)結(jié)構(gòu)或程序語(yǔ)句的任何組合??赏ㄟ^(guò)傳遞及/或接收信息、數(shù)據(jù)、自變量、參數(shù)或存儲(chǔ)器內(nèi)容將代碼段耦合到另一代碼段或硬件電路??山?jīng)由任何合適途徑(包含存儲(chǔ)器共享、消息傳遞、令牌傳遞、網(wǎng)絡(luò)傳輸?shù)鹊?傳遞、轉(zhuǎn)發(fā)或傳輸信息、自變量、參數(shù)、數(shù)據(jù)等等。
圖1展示根據(jù)至少一個(gè)實(shí)例實(shí)施例的內(nèi)容分配網(wǎng)絡(luò)。
如圖1中所展示,內(nèi)容分配網(wǎng)絡(luò)(CDN)可包含連接到多個(gè)目的地裝置200的網(wǎng)絡(luò)元件151。網(wǎng)絡(luò)元件151可為用于分配數(shù)據(jù)文件(例如電影文件)的內(nèi)容源(例如多播源)。目的地裝置200可為從所述內(nèi)容源請(qǐng)求數(shù)據(jù)的終端用戶裝置。舉例來(lái)說(shuō),每一目的地裝置 200可為允許用戶存取所請(qǐng)求數(shù)據(jù)的裝置的部分或與所述裝置相關(guān)聯(lián)。舉例來(lái)說(shuō),每一目的地裝置200可為機(jī)頂盒、個(gè)人計(jì)算機(jī)、平板計(jì)算機(jī)、移動(dòng)電話或用于流式音頻及視頻的任何其它相關(guān)聯(lián)裝置。目的地裝置200中的每一者可包含用于存儲(chǔ)從網(wǎng)絡(luò)元件151接收的數(shù)據(jù)的存儲(chǔ)器。以下將參考圖2及3更詳細(xì)描述網(wǎng)絡(luò)元件151及目的地裝置200的結(jié)構(gòu)及操作。
圖2為說(shuō)明根據(jù)實(shí)例實(shí)施例的網(wǎng)絡(luò)元件的實(shí)例結(jié)構(gòu)的圖式。根據(jù)至少一個(gè)實(shí)例實(shí)施例,網(wǎng)絡(luò)元件151可經(jīng)配置以用于通信網(wǎng)絡(luò)(例如,圖1的內(nèi)容分配網(wǎng)絡(luò)(CDN))。參考圖2,網(wǎng)絡(luò)元件151可包含(例如)數(shù)據(jù)總線159、發(fā)射器152、接收器154、存儲(chǔ)器156及處理器158。雖然為簡(jiǎn)明起見(jiàn),此處不包含單獨(dú)描述,但應(yīng)理解,每一目的地裝置200可具有與網(wǎng)絡(luò)元件151相同或類似的結(jié)構(gòu)。
發(fā)射器152、接收器154、存儲(chǔ)器156及處理器158可使用數(shù)據(jù)總線159相互發(fā)送數(shù)據(jù)及/或接收數(shù)據(jù)。發(fā)射器152是包含用于經(jīng)由到通信網(wǎng)絡(luò)中的其它網(wǎng)絡(luò)元件的一或多個(gè)無(wú)線連接來(lái)發(fā)射無(wú)線信號(hào)(其包含(例如)數(shù)據(jù)信號(hào)、控制信號(hào)及信號(hào)強(qiáng)度/質(zhì)量信息)的硬件及任何必要軟件的裝置。
接收器154是包含用于經(jīng)由到通信網(wǎng)絡(luò)中的其它網(wǎng)絡(luò)元件的一或多個(gè)無(wú)線連接來(lái)接收無(wú)線信號(hào)(其包含(例如)數(shù)據(jù)信號(hào)、控制信號(hào)及信號(hào)強(qiáng)度/質(zhì)量信息)的硬件及任何必要軟件的裝置。
存儲(chǔ)器156可為能夠存儲(chǔ)數(shù)據(jù)的任何裝置,其包含磁性存儲(chǔ)裝置、快閃存儲(chǔ)裝置等等。
處理器158可為能夠處理數(shù)據(jù)的任何裝置,其包含(例如)專用處理器,所述專用處理器經(jīng)配置以基于輸入數(shù)據(jù)執(zhí)行特定操作,或能夠執(zhí)行包含于計(jì)算機(jī)可讀碼中的指令。舉例來(lái)說(shuō),應(yīng)理解,下文所描述的修改及方法可存儲(chǔ)在存儲(chǔ)器156上且由網(wǎng)絡(luò)元件151內(nèi)的處理器158實(shí)施。
此外,應(yīng)理解,可由上文所描述的網(wǎng)絡(luò)元件151的元件中的一或多者執(zhí)行下文修改及方法。舉例來(lái)說(shuō),接收器154可執(zhí)行“接收”、“獲取”及類似行為的步驟;發(fā)射器152可執(zhí)行“發(fā)射”、“輸出”、“發(fā)送”及類似行為的步驟;處理器158可執(zhí)行“確定”、“產(chǎn)生”、“關(guān)聯(lián)”、“計(jì)算”及類似行為的步驟;且存儲(chǔ)器156可執(zhí)行“存儲(chǔ)”、“保存”及類似行為的步驟。
圖3A到3B為說(shuō)明圖2中的網(wǎng)絡(luò)元件的實(shí)例操作的流程圖表。舉例來(lái)說(shuō),圖3A到3B展示用于執(zhí)行通信網(wǎng)絡(luò)中的高速緩存方法的實(shí)例操作。圖4到6展示用于在已執(zhí)行高速緩存方法之后遞送數(shù)據(jù)文件的實(shí)例操作。
應(yīng)理解,圖3A到3B用于執(zhí)行與下文的算法1相關(guān)的高速緩存分配方法,其中每一數(shù)據(jù)文件‘f’被分成‘B’相等大小的數(shù)據(jù)包(由有限域的符號(hào)表示)且屬于庫(kù)‘F’:
算法1:高速緩存算法
在算法1中,‘pu=[pu,1,...pu,m]’是‘u’目的地裝置200的高速緩存分配,其中其中u=1、…、n,且0≤pu,f≤1/Mu,u=1、…、n,‘m’是由網(wǎng)絡(luò)元件151托管的文件的數(shù)目,且‘Mu’是在目的地裝置‘u’(即,目的地裝置200)處的高速緩存的存儲(chǔ)容量且Mu,f=pu,fMuB表示在用戶u處高速緩存的文件f的數(shù)據(jù)包。網(wǎng)絡(luò)元件151執(zhí)行算法1使得目的地裝置‘u’裝置200高速緩存文件‘f’的Mu,f=pu,fMuB數(shù)據(jù)包。此外,算法1的隨機(jī)性質(zhì)允許網(wǎng)絡(luò)裝置151執(zhí)行操作使得,如果兩個(gè)目的地裝置高速緩存給定文件‘f’的相同數(shù)目的數(shù)據(jù)包,那么兩個(gè)目的地裝置200中的每一者高速緩存同一文件‘f’的不同數(shù)據(jù)包??捎删W(wǎng)絡(luò)元件151根據(jù)下文圖3A到3B中所描述的操作來(lái)實(shí)施算法1。
參考圖3A,在操作300中,網(wǎng)絡(luò)元件151可確定多個(gè)數(shù)據(jù)文件的流行度。數(shù)據(jù)文件可為(例如)視頻及/或音頻文件。網(wǎng)絡(luò)元件151可基于來(lái)自目的地裝置200中的至少一者的針對(duì)多個(gè)數(shù)據(jù)文件的請(qǐng)求(例如用戶請(qǐng)求)而確定流行度。用戶請(qǐng)求可形成數(shù)據(jù)文件的需求分布。網(wǎng)絡(luò)元件151可根據(jù)所有目的地裝置200的需求分布確定流行度。在此情況中,需求分布可遵循齊夫(Zipf)分布。替代地,網(wǎng)絡(luò)元件151可確定每目的地裝置的流行度,其中每一目的地裝置200具有相關(guān)聯(lián)的需求分布。
網(wǎng)絡(luò)元件151可基于來(lái)自目的地裝置200的針對(duì)數(shù)據(jù)文件的請(qǐng)求的數(shù)目確定流行度。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151確定由目的地裝置200請(qǐng)求100次的數(shù)據(jù)文件比被請(qǐng)求50次的數(shù)據(jù)文件具有更高的流行度。因此,流行度可基于哪些數(shù)據(jù)文件被目的地裝置200的用戶最經(jīng)常請(qǐng)求及查看。
網(wǎng)絡(luò)元件151可將每一數(shù)據(jù)文件分成多個(gè)數(shù)據(jù)包。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151可將每一數(shù)據(jù)文件分成相同數(shù)目的數(shù)據(jù)包(例如三個(gè)數(shù)據(jù)包)。因此,在操作中310,網(wǎng)絡(luò)元件151可基于操作300中確定的流行度而將多個(gè)數(shù)據(jù)文件的隨機(jī)數(shù)據(jù)包發(fā)送到至少一個(gè)目的地裝置。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151可將每一數(shù)據(jù)文件的隨機(jī)數(shù)據(jù)包發(fā)送到目的地裝置200使得隨機(jī)數(shù)據(jù)包存儲(chǔ)(或高速緩存)于每一目的地裝置200處。
網(wǎng)絡(luò)元件151可發(fā)送隨機(jī)數(shù)據(jù)包使得每一目的地裝置200基于確定的流行度及輸入?yún)?shù)(例如,目的地裝置的數(shù)目、流行度分布、每一目的地裝置的高速緩存大小、位于網(wǎng)絡(luò)元件151處的數(shù)據(jù)文件庫(kù)的大小等等)接收針對(duì)數(shù)據(jù)文件中至少一者的給定數(shù)目的隨機(jī)數(shù)據(jù)包。舉例來(lái)說(shuō),如果目的地裝置200具有相同大小的高速緩存及相同需求分布(例如,目的地裝置是均勻的),那么網(wǎng)絡(luò)元件151可將相同數(shù)目的數(shù)據(jù)包發(fā)送到每一目的地裝置200。在一個(gè)實(shí)例中,假設(shè)存在兩個(gè)目的地裝置1及2及兩個(gè)文件A及B(分成十個(gè)數(shù)據(jù)包)。如果(i)目的地裝置1及2以相同頻率請(qǐng)求文件A及文件B,且文件A以比文件B更高的頻率被兩個(gè)目標(biāo)請(qǐng)求,及(ii)兩個(gè)目的地裝置1及2具有相同高速緩存大小(例如,按數(shù)據(jù)包計(jì)為六個(gè)單元),那么網(wǎng)絡(luò)元件151將執(zhí)行高速緩存方法,使得兩個(gè)目的地裝置1及2高速緩存文件A的四個(gè)數(shù)據(jù)包及文件B的兩個(gè)數(shù)據(jù)包。
如果網(wǎng)絡(luò)元件151在操作300中基于每個(gè)目的地裝置確定流行度,那么網(wǎng)絡(luò)元件151可在操作310中基于每個(gè)目的地裝置發(fā)送隨機(jī)數(shù)據(jù)包。舉例來(lái)說(shuō),如果目的地裝置200具有不同大小的高速緩存或不同需求分布,那么網(wǎng)絡(luò)元件151可將不同數(shù)目的數(shù)據(jù)包發(fā)送到每一目標(biāo)。在此情況中,參考以上的實(shí)例,目的地裝置1可接收文件A的七個(gè)數(shù)據(jù)包及文件B的三個(gè)數(shù)據(jù)包,而目的地裝置2可接收文件A的兩個(gè)數(shù)據(jù)包及文件B的五個(gè)數(shù)據(jù)包。此可歸因于以下事實(shí):目的地裝置1請(qǐng)求文件A比請(qǐng)求文件B多得多,且按數(shù)據(jù)包計(jì)具有十個(gè)單元的總高速緩存大小,而目的地2裝置請(qǐng)求文件A比請(qǐng)求文件B少得多,且按數(shù)據(jù)包計(jì)具有七個(gè)單元的總高速緩存大小。
圖3B說(shuō)明可根據(jù)需要在操作300與310之間執(zhí)行的網(wǎng)絡(luò)元件151的實(shí)例操作。舉例來(lái)說(shuō),在圖3A中的操作300之后,網(wǎng)絡(luò)元件151可基于所確定的流行度對(duì)數(shù)據(jù)文件進(jìn)行排名。舉例來(lái)說(shuō),在操作301中,網(wǎng)絡(luò)元件151可使用操作300中所確定的流行度對(duì)數(shù)據(jù)文件從最流行的數(shù)據(jù)文件到最不流行的數(shù)據(jù)文件進(jìn)行排名。
在操作302中,網(wǎng)絡(luò)元件151可基于排名選擇(針對(duì)每一數(shù)據(jù)文件)若干隨機(jī)數(shù)據(jù)包。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151根據(jù)每一數(shù)據(jù)文件的相應(yīng)排名及網(wǎng)絡(luò)的輸入?yún)?shù)(例如,目的地裝置的數(shù)目、流行度分布、每一目的地裝置的高速緩存大小、位于網(wǎng)絡(luò)元件151處的數(shù)據(jù)文件庫(kù)的大小等等)中的至少一者針對(duì)每一目標(biāo)200及針對(duì)數(shù)據(jù)文件中的每一者選擇 不同數(shù)目的隨機(jī)數(shù)據(jù)包。在操作302之后,網(wǎng)絡(luò)元件151可行進(jìn)回到圖3A中的操作310以發(fā)送針對(duì)每一數(shù)據(jù)文件的選定數(shù)目的隨機(jī)數(shù)據(jù)包。
應(yīng)了解,操作302可包含網(wǎng)絡(luò)元件151基于至少一個(gè)閾值將經(jīng)排名的數(shù)據(jù)文件至少分成第一子集及第二子集。所述至少一個(gè)閾值可基于經(jīng)驗(yàn)證據(jù)及/或用戶定義。第一子集可含有比第二子集排名更高的數(shù)據(jù)文件。因此,在操作310中,網(wǎng)絡(luò)元件151可發(fā)送僅針對(duì)第一子集中的數(shù)據(jù)文件的選定數(shù)目的隨機(jī)數(shù)據(jù)包。相較于常規(guī)多播技術(shù),這可允許數(shù)據(jù)包在目的地裝置200處的更有效的高速緩存,且減少遞送期間的傳輸數(shù)目。
應(yīng)理解,參考圖3A及3B描述的操作允許網(wǎng)絡(luò)改進(jìn)性能,這是因?yàn)橄噍^于常規(guī)多播技術(shù),方案能夠高速緩存更流行文件的更多數(shù)據(jù)包,增加(或替代地,最大化)由目的地裝置200共同高速緩存的每一文件的不同數(shù)據(jù)包的量,且減少遞送期間的傳輸數(shù)目。
結(jié)合以上描述的高速緩存方法,本申請(qǐng)案揭示用于遞送階段的實(shí)例方法,其中數(shù)據(jù)文件的請(qǐng)求的數(shù)據(jù)包經(jīng)遞送到目的地裝置200。用于遞送階段的實(shí)例方法是基于圖論。
圖4說(shuō)明根據(jù)至少一個(gè)實(shí)施例的遞送階段的實(shí)例操作。參考圖4,在操作400中,網(wǎng)絡(luò)元件151從目的地裝置200(或用戶裝置)接收對(duì)數(shù)據(jù)文件的數(shù)據(jù)包的請(qǐng)求。由于網(wǎng)絡(luò)元件151已執(zhí)行以上所描述的高速緩存方法,因此每一目的地裝置200僅請(qǐng)求未經(jīng)高速緩存(或存儲(chǔ))的那些數(shù)據(jù)包作為高速緩存方法的結(jié)果。因此,遞送階段包括:向每一目的地裝置200提供所請(qǐng)求的文件的丟失部分,即,從目的地裝置200的存儲(chǔ)器丟失的數(shù)據(jù)包。
在操作410中,網(wǎng)絡(luò)元件151構(gòu)造具有多個(gè)頂點(diǎn)的沖突圖,使得由每一目的地裝置200請(qǐng)求的每一數(shù)據(jù)包由所述沖突圖的多個(gè)頂點(diǎn)中的不同頂點(diǎn)表示。因此,即使同一數(shù)據(jù)包由K個(gè)不同用戶請(qǐng)求,所述數(shù)據(jù)包也被表示為沖突圖中的K個(gè)不同頂點(diǎn)。換句話說(shuō),沖突圖中的每一頂點(diǎn)與唯一一對(duì)目的地裝置200及所請(qǐng)求的數(shù)據(jù)包相關(guān)聯(lián)。因此,可以說(shuō),沖突圖的每一頂點(diǎn)與目的地裝置200相關(guān)聯(lián)且表示由那個(gè)目的地裝置200請(qǐng)求的數(shù)據(jù)包。此外,網(wǎng)絡(luò)元件151可基于所述多個(gè)頂點(diǎn)中的哪些表示同一請(qǐng)求數(shù)據(jù)包及哪些請(qǐng)求數(shù)據(jù)包存儲(chǔ)在屬于目的地裝置200的高速緩存中而構(gòu)造沖突圖。下文參考圖5及6進(jìn)一步詳細(xì)描述操作410。
仍參考圖4,在操作420中,網(wǎng)絡(luò)元件151可將多個(gè)頂點(diǎn)指派到群組。每一群組可指示到多個(gè)頂點(diǎn)的若干鏈路。舉例來(lái)說(shuō),每一頂點(diǎn)可具有到周圍頂點(diǎn)的給定數(shù)目的鏈路。在一個(gè)實(shí)例中,如果頂點(diǎn)A及頂點(diǎn)B各自具有到其它頂點(diǎn)的三個(gè)鏈路,且頂點(diǎn)C及頂點(diǎn)D各自具有到其它頂點(diǎn)的四個(gè)鏈路,那么頂點(diǎn)A及B屬于一個(gè)群組(例如群組3)且頂點(diǎn)C及D屬于不用群組(例如群組4)。
在操作445中,網(wǎng)絡(luò)元件151對(duì)多個(gè)頂點(diǎn)著色作為標(biāo)記沖突圖上的所請(qǐng)求的數(shù)據(jù)包的途徑。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151基于操作430中所指派的群組對(duì)多個(gè)頂點(diǎn)著色。下文參考圖6進(jìn)一步詳細(xì)論述操作445。
在操作480中,網(wǎng)絡(luò)元件151組合由具有相同顏色的頂點(diǎn)表示的所請(qǐng)求的數(shù)據(jù)包。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151對(duì)由具有相同顏色的頂點(diǎn)表示的數(shù)據(jù)包執(zhí)行異或(XOR)運(yùn)算(或有限域上的其它線性組合運(yùn)算)。
在操作490中,網(wǎng)絡(luò)元件151發(fā)送經(jīng)組合的數(shù)據(jù)包。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151經(jīng)由多播傳輸將經(jīng)組合的數(shù)據(jù)包發(fā)送到目的地裝置200。通過(guò)在傳輸之前組合數(shù)據(jù)包,應(yīng)理解,根據(jù)至少一個(gè)實(shí)例實(shí)施例的遞送方法可減少網(wǎng)絡(luò)元件151的傳輸數(shù)目,這可減少消耗并提高網(wǎng)絡(luò)效率。應(yīng)理解,目的地裝置200可使用XOR運(yùn)算(或有限域上的其它線性組合)接收并解碼所傳輸?shù)慕?jīng)組合的數(shù)據(jù)包。舉例來(lái)說(shuō),目的地裝置200可使用存儲(chǔ)在高速緩存中作為密鑰的數(shù)據(jù)包解碼經(jīng)組合的數(shù)據(jù)包。
圖5說(shuō)明根據(jù)至少一個(gè)實(shí)例實(shí)施例構(gòu)造沖突圖的實(shí)例操作。舉例來(lái)說(shuō),圖5進(jìn)一步詳細(xì)論述圖4的操作410。圖5說(shuō)明用于構(gòu)造無(wú)向沖突圖的實(shí)例操作。可結(jié)合著色方案使用無(wú)向沖突圖,所述著色方案在本申請(qǐng)案中是指貪心隨機(jī)算法搜索程序(GRASP)著色方案。下文參考圖6更詳細(xì)描述此著色方案。
參考圖5,在操作511中,網(wǎng)絡(luò)元件151分析來(lái)自在操作410中填入的多個(gè)頂點(diǎn)的兩個(gè)頂點(diǎn)‘Vi’及‘Vj’。在操作513中,如果網(wǎng)絡(luò)元件確定頂點(diǎn)Vi及Vj表示同一所請(qǐng)求的數(shù)據(jù)包,那么網(wǎng)絡(luò)元件151在操作515中不創(chuàng)建所述兩個(gè)頂點(diǎn)之間的鏈路(或邊)。接著,網(wǎng)絡(luò)元件151進(jìn)行到操作531以確定是否已分析沖突圖中的所有頂點(diǎn)。
在操作513中,如果網(wǎng)絡(luò)元件151確定頂點(diǎn)Vi及Vj不表示同一所請(qǐng)求的數(shù)據(jù)包,那么網(wǎng)絡(luò)元件151進(jìn)行到操作517且檢查請(qǐng)求由頂點(diǎn)Vi表示的數(shù)據(jù)包的與頂點(diǎn)Vi相關(guān)聯(lián)的目的地裝置200的高速緩存(或存儲(chǔ)器)。在操作519中,如果網(wǎng)絡(luò)元件151確定表示頂點(diǎn)Vj的數(shù)據(jù)包在請(qǐng)求由頂點(diǎn)Vi表示的數(shù)據(jù)包的與頂點(diǎn)Vi相關(guān)聯(lián)的目的地裝置200的高速緩存中不可用,那么在操作521中網(wǎng)絡(luò)元件151創(chuàng)建頂點(diǎn)Vi與頂點(diǎn)Vj之間的鏈路。接著,網(wǎng)絡(luò)元件151進(jìn)行到操作531以確定是否已分析沖突圖中的所有頂點(diǎn)。
在操作519中,如果網(wǎng)絡(luò)元件151確定表示頂點(diǎn)Vj的數(shù)據(jù)包在請(qǐng)求由頂點(diǎn)Vi表示的數(shù)據(jù)包的與頂點(diǎn)Vi相關(guān)聯(lián)的目的地裝置200的高速緩存中可用,那么在操作523中網(wǎng)絡(luò)元件151檢查請(qǐng)求由頂點(diǎn)Vj表示的數(shù)據(jù)包的與頂點(diǎn)Vj相關(guān)聯(lián)的目的地裝置200的高速緩存。在操作525中,如果表示頂點(diǎn)Vi的數(shù)據(jù)包在請(qǐng)求由頂點(diǎn)Vj表示的數(shù)據(jù)包的與頂點(diǎn)Vj相關(guān)聯(lián)的目的地裝置200的高速緩存中不可用,那么網(wǎng)絡(luò)元件151在進(jìn)行到 操作431之前在操作527中創(chuàng)建頂點(diǎn)Vi與Vj之間的鏈路以確定是否已分析沖突圖中的所有頂點(diǎn)。
在操作525中,如果網(wǎng)絡(luò)元件151確定表示頂點(diǎn)Vi的數(shù)據(jù)包在請(qǐng)求由頂點(diǎn)Vj表示的數(shù)據(jù)包的與頂點(diǎn)Vj相關(guān)聯(lián)的目的地裝置200的高速緩存中可用,那么網(wǎng)絡(luò)元件151在操作529中不創(chuàng)建頂點(diǎn)Vi與Vj之間的鏈路。接著,網(wǎng)絡(luò)元件151進(jìn)行到操作531以確定是否已分析沖突圖中的所有頂點(diǎn)。
一旦網(wǎng)絡(luò)元件151已分析沖突圖中的所有頂點(diǎn),那么網(wǎng)絡(luò)元件151在操作533中返回經(jīng)構(gòu)造的沖突圖。
鑒于圖5,應(yīng)理解,圖4中的構(gòu)造操作410可通過(guò)創(chuàng)建多個(gè)頂點(diǎn)中的第一者與第二者之間的鏈路的操作來(lái)總結(jié),條件是(i)第一頂點(diǎn)及第二頂點(diǎn)不表示同一數(shù)據(jù)包,且(ii)由第一頂點(diǎn)表示的數(shù)據(jù)包未存儲(chǔ)在與第二頂點(diǎn)相關(guān)聯(lián)的用戶裝置的高速緩存中,或由第二頂點(diǎn)表示的數(shù)據(jù)包未存儲(chǔ)在與第一頂點(diǎn)相關(guān)聯(lián)的用戶裝置的高速緩存中。
圖6說(shuō)明根據(jù)至少一個(gè)實(shí)例實(shí)施例的對(duì)沖突圖著色的實(shí)例操作。在此應(yīng)用中,著色方案可稱為貪心隨機(jī)算法搜索程序(GRASP)著色方案。圖6中的操作可對(duì)應(yīng)于以下算法。以下是一般GRASP著色方案算法:
將函數(shù)“BuildGreedyRandAdaptive”定義為:
將函數(shù)“MakeRCL”定義為:
將函數(shù)“GetColor”定義為:
將函數(shù)“LocalSearch”定義為:
在以上的偽代碼中,HM,W=(V,E)表示(無(wú)向)沖突圖,其中V及E分別表示如上文參考圖5所論述而構(gòu)造的無(wú)向沖突圖HM,W的頂點(diǎn)及邊(或鏈路)的集合。在HM,W中,對(duì)于每一頂點(diǎn)i∈V,Adj(i)={j∈V|[i,j]∈E}。cbest是表示通過(guò)所述算法找到的最佳關(guān)聯(lián)顏色-頂點(diǎn)。對(duì)于所有i∈V,令d(i)=|Adj(i)|為頂點(diǎn)i的度數(shù)(或到頂點(diǎn)i的鏈路的數(shù)目)。令為構(gòu)造解,即,頂點(diǎn)的集合已被指派到顏色(最初是空集),且令(最初為空集)為關(guān)聯(lián)到cbest中的至少一個(gè)頂點(diǎn)的顏色的集合。在每一迭代處,執(zhí)行以下運(yùn)算:
1.對(duì)于所有i∈V,令d(i)=|Adj(i)|為頂點(diǎn)i的度數(shù)(或到頂點(diǎn)i的鏈路的數(shù)目)。令為構(gòu)造解(最初是空集),即,頂點(diǎn)的集合已被指派到顏色,且令(最初為空集)為關(guān)聯(lián)到cbest中的至少一個(gè)頂點(diǎn)的顏色的集合。
2.隨機(jī)均勻地在[0,1]中選擇參數(shù)β。
3.計(jì)算(參見(jiàn)函數(shù)MakeRCL):
gmin,最小貪心值:
gmax,最大貪心值:
閾值tau(τ):
τ=gmin+[β·(gmax-gmin)],其中β∈[0,1];且
RCL作為其度數(shù)為至少τ的候選未經(jīng)著色的頂點(diǎn)的子集:
RCL={i∈V\c|d(i)≥τ};
4.執(zhí)行以下運(yùn)算直到所有頂點(diǎn)被著色:
a.從RCL隨機(jī)選擇頂點(diǎn)i(參見(jiàn)函數(shù)BuldGreedyRandAdaptive的行4,即,i=SelectIndex(RCL))。注意β∈[0,1]的值確定待于每一迭代處插入RCL中的頂點(diǎn)的選擇中的貪心度對(duì)隨機(jī)度的百分比。舉例來(lái)說(shuō),對(duì)于β=1,選擇為完全貪心且僅具有度數(shù)gmax的頂點(diǎn)插入RCL中。作為另一實(shí)例,對(duì)于β=0,選擇為完全隨機(jī)的且所有候選頂點(diǎn)插入RCL中(即,RCL=W);
b.選定頂點(diǎn)i,且分析其鄰近頂點(diǎn)(參見(jiàn)函數(shù)GetColor);可發(fā)生四種可能情況:
I.所有鄰近頂點(diǎn)仍未被著色且集合在此情況中,新顏色c被指派到頂點(diǎn)i且C=C∪{c}(圖7A);
II.所有鄰近頂點(diǎn)仍未被著色且集合在此情況中,使用可用的第一顏色c∈C對(duì)頂點(diǎn)i著色(圖7B);
III.用顏色c∈C對(duì)至少一個(gè)鄰近頂點(diǎn)著色且所有當(dāng)前使用的顏色c∈C已被指派到至少一個(gè)鄰近頂點(diǎn):在此情況中,用新顏色c'對(duì)頂點(diǎn)i著色且C=C∪{c'}(圖7C);且
IV.用顏色c∈C對(duì)至少一個(gè)鄰近頂點(diǎn)著色且存在未被指派到任一鄰近頂點(diǎn)的顏色c'∈C:在此情況中,用顏色c'對(duì)頂點(diǎn)i著色(圖7D)。
c.頂點(diǎn)i被插入構(gòu)造解(c[i]=c'或c[i]=c,根據(jù)情況(I)到(IV)及目標(biāo)函數(shù)值一致地更新(即,f(c)=|C|)。
5.一旦沖突圖的所有頂點(diǎn)被著色,那么函數(shù)BuldGreedyRandAdaptive返回解cbest。
6.實(shí)施局部搜索,其將cbest作為輸入且返回新有效顏色c*(參見(jiàn)函數(shù)LocalSearch)。迭代地,對(duì)于每一顏色c∈C計(jì)算用顏色c著色的所有頂點(diǎn)的集合Gc(函數(shù)LocalSearch的行2)且執(zhí)行以下步驟:
a.對(duì)于每一頂點(diǎn)i∈Gc,搜索頂點(diǎn)Adj(i),即,鄰近于頂點(diǎn)i的頂點(diǎn)。如果存在未指派到任何鄰近頂點(diǎn)j∈Adj(i)的顏色c'∈C,c'≠c,那么用顏色c'對(duì)頂點(diǎn)i著色;
b.當(dāng)且僅當(dāng)可能用某種顏色c'(c'≠c)替代與每一頂點(diǎn)i∈Gc相關(guān)聯(lián)的c時(shí),將顏色c從集合C移除。
7.如果c*中使用的顏色的數(shù)目小于cbest中使用的顏色的數(shù)目,那么集合cbest等于c*,否則將cbest保持為部分解。(參見(jiàn)GRASP算法的行8到12)。
8.重復(fù)所有以上運(yùn)算1到7直到k=MaxIterations且返回cbest作為解。
從以上描述,應(yīng)了解,GRASP著色方案執(zhí)行所要數(shù)目的迭代,直到滿足停止準(zhǔn)則(例如(舉例來(lái)說(shuō))最大數(shù)目的迭代或所要運(yùn)行時(shí)間)。在每一迭代處,貪心-隨機(jī)自適應(yīng)解c從c開始構(gòu)建作為初始解,且局部搜索階段經(jīng)執(zhí)行以返回局部最優(yōu)解c*。在迭代結(jié)束時(shí),最佳局部最優(yōu)解cbest(即,對(duì)應(yīng)于最佳函數(shù)目標(biāo)值f(cbest)的解)被返回作為最終解且算法停止。
GRASP著色方案能夠解決以任何圖形拓?fù)洹⒚芏?稀疏度及任何大小為特征的問(wèn)題實(shí)例。局部搜索策略通過(guò)專注于每一頂點(diǎn)(一次一個(gè))檢查冗余顏色。
現(xiàn)將參考圖6描述以上算法。在操作600中,網(wǎng)絡(luò)元件151設(shè)置初始條件。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151設(shè)置將針對(duì)GRASP著色方案而被執(zhí)行的若干迭代“maxiter”。迭代“maxiter”的數(shù)目可為用戶定義的及/或基于經(jīng)驗(yàn)證據(jù)。在以下操作中,‘V’是沖突圖的頂點(diǎn)的集合,‘V_1’是經(jīng)著色的頂點(diǎn)的集合,且‘V_2’是未經(jīng)著色的頂點(diǎn)的集合。在第一迭代處,V_1是空集且V_2=V。
在操作605中,網(wǎng)絡(luò)元件151基于經(jīng)指派為‘gmin’的群組確定V中頂點(diǎn)中的哪些具有最少數(shù)目的鏈路(或邊)。舉例來(lái)說(shuō),如果存在群組2到6,其中群組2頂點(diǎn)具有兩個(gè)鏈路,群組3頂點(diǎn)具有三個(gè)鏈路,等等,那么對(duì)于整個(gè)沖突圖來(lái)說(shuō),兩個(gè)鏈路是到頂點(diǎn)的最少數(shù)目的鏈路,且將gmin設(shè)置為‘2’。在操作610中,網(wǎng)絡(luò)元件151基于經(jīng)指派為‘gmax’的群組確定V中頂點(diǎn)中的哪些具有最多數(shù)目的鏈路(或邊)。在以上實(shí)例中,由于最大群組數(shù)目是群組6,因此可將gmax設(shè)置為‘6’,這就意味著到?jīng)_突圖中的頂點(diǎn)中的任一者的最大數(shù)目的鏈路是6個(gè)鏈路。在操作615中,網(wǎng)絡(luò)元件151基于‘gmin’及‘gmax’計(jì)算閾值tau。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151可計(jì)算閾值使得tau=gmin+β(gmax-gmin),其中β為用戶定義的及/或基于經(jīng)驗(yàn)證據(jù)的常數(shù)(例如,可在[0,1]中均勻隨機(jī)選擇β)。
在操作620中,網(wǎng)絡(luò)元件151可構(gòu)造屬于具有大于或等于閾值tau的鏈路的數(shù)目的群組的未經(jīng)著色的頂點(diǎn)的子集(或受限候選列表“RCL”)。應(yīng)理解,β的值取決于在待包含于子集中的頂點(diǎn)的選擇中的“貪心度”的量對(duì)“隨機(jī)度”的量。舉例來(lái)說(shuō),對(duì)于β=1,由于僅那些具有最大數(shù)目的鏈路的頂點(diǎn)將包含于子集中,因此選擇是完全貪心的。如果(舉例來(lái)說(shuō))β=0,那么所有頂點(diǎn)將包含于子集中。
在操作625中,網(wǎng)絡(luò)元件151從在操作620中創(chuàng)建的子集選擇(例如隨機(jī)選擇)頂點(diǎn)“Vi”。在操作630中,網(wǎng)絡(luò)元件151將鄰近于(或連結(jié)到)頂點(diǎn)Vi的頂點(diǎn)的顏色標(biāo)識(shí)為第一組顏色。作為操作630的部分,網(wǎng)絡(luò)元件151也可將沖突圖的現(xiàn)有顏色標(biāo)識(shí)為第二 組顏色。在操作635中,網(wǎng)絡(luò)元件151確定是否可將沖突圖的現(xiàn)有顏色指派到頂點(diǎn)Vi。舉例來(lái)說(shuō),在操作640中,在第一組顏色與第二組顏色不一致的情況下,網(wǎng)絡(luò)元件151用來(lái)自第二組的所要顏色對(duì)頂點(diǎn)Vi著色。否則,在操作645中,如果第一組顏色與第二組顏色一致,那么網(wǎng)絡(luò)元件151選擇新顏色,且在操作650中將所述新顏色指派到頂點(diǎn)Vi且使所述新顏色包含于用于對(duì)沖突圖著色的現(xiàn)有顏色的集合。下文參考圖7A到7C更詳細(xì)論述操作635。
在操作655中,網(wǎng)絡(luò)元件151確定是否所有頂點(diǎn)皆被著色。如果并非所有頂點(diǎn)皆被著色,那么網(wǎng)絡(luò)元件151返回到操作605。如果所有頂點(diǎn)皆被著色,那么網(wǎng)絡(luò)元件151在操作660中執(zhí)行局部搜索(例如上文的LocalSearch算法)以減少用于沖突圖的顏色的數(shù)目(即,減少來(lái)自集合V_1的顏色的數(shù)目)。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151可從沖突圖的現(xiàn)有顏色選擇顏色,用選定顏色標(biāo)識(shí)頂點(diǎn),且在未使用不同顏色對(duì)連結(jié)到所標(biāo)識(shí)的頂點(diǎn)的頂點(diǎn)著色的情況下使用選自現(xiàn)有顏色的不同顏色替代選定顏色。因此,將選定顏色從現(xiàn)有顏色的集合消除。
在操作665中,網(wǎng)絡(luò)元件可從由局部搜索產(chǎn)生的解選擇最佳解(即,導(dǎo)致用于沖突圖的最少數(shù)目的顏色的解)。在操作670中,網(wǎng)絡(luò)元件151確定當(dāng)前迭代“iter”是否小于操作600中設(shè)置的迭代“maxiter”的數(shù)目。如果當(dāng)前迭代“iter”小于操作600中設(shè)置的迭代“maxiter”的數(shù)目,那么網(wǎng)絡(luò)元件151返回到操作600且使迭代“iter”的數(shù)目增加一(即,設(shè)置iter=iter+1)。作為操作670的部分,網(wǎng)絡(luò)元件151可將局部搜索的結(jié)果存儲(chǔ)在存儲(chǔ)器中(其中結(jié)果是經(jīng)著色的沖突圖)。如果網(wǎng)絡(luò)元件151確定迭代“iter”的當(dāng)前數(shù)目等于“maxiter”,那么網(wǎng)絡(luò)元件151進(jìn)行到操作680且返回在由每一迭代發(fā)現(xiàn)的所存儲(chǔ)的解當(dāng)中的最佳解。舉例來(lái)說(shuō),網(wǎng)絡(luò)元件151返回使用最少數(shù)目的顏色的沖突圖。
圖7A到7D說(shuō)明根據(jù)至少一個(gè)實(shí)例實(shí)施例的經(jīng)著色的沖突圖。舉例來(lái)說(shuō),圖7A到7D展示與圖6中的操作625到650相關(guān)的實(shí)例。在圖7A到7D中,操作625中選擇的頂點(diǎn)Vi由頂點(diǎn)“i”表示,且在操作630中將頂點(diǎn)“j”、“k”、“x”及“y”標(biāo)識(shí)為鄰近于(或連結(jié)到)頂點(diǎn)“i”(即,Adj(i)={j,k,x,y})。
圖7A表示所有鄰近頂點(diǎn)j、k、x及y皆未被著色的情況。圖中現(xiàn)有顏色的集合(即,圖6中的V_1)為空集。在此情況中,網(wǎng)絡(luò)元件151在操作645中選擇新顏色‘c’(即,黃色)且將顏色黃色指派到頂點(diǎn)i?,F(xiàn)有顏色的集合V_1經(jīng)更新以包含顏色黃色。圖7B說(shuō)明另一情況,其中現(xiàn)有顏色的集合V_1已包含顏色黃色(且還包含藍(lán)色)。此處,由于頂點(diǎn)j、k、x及y皆未用黃色著色,因此網(wǎng)絡(luò)元件151通過(guò)將黃色(或甚至藍(lán)色,因?yàn)槿晕磳?duì)其它頂點(diǎn)著色)指派到頂點(diǎn)i來(lái)執(zhí)行操作640。
圖7C展示現(xiàn)有顏色的集合V_1包含已被指派到連結(jié)到頂點(diǎn)i的頂點(diǎn)的顏色的情況。在此情況中,網(wǎng)絡(luò)元件151執(zhí)行操作645及650以選擇新顏色‘c’(即,黃色)且更新現(xiàn)有顏色的集合V_1以包含顏色黃色。
圖7D展示網(wǎng)絡(luò)元件151將顏色藍(lán)色指派到頂點(diǎn)‘i’的情況,因?yàn)檫B結(jié)到頂點(diǎn)‘i’的頂點(diǎn)都不具有顏色藍(lán)色且因?yàn)轭伾{(lán)色已在現(xiàn)有顏色的集合V_1中。
應(yīng)理解,上文描述的操作允許網(wǎng)絡(luò)的改進(jìn)性能,這是因?yàn)閷?shí)例實(shí)施例允許能夠在目的地裝置200處高速緩存更流行文件的更多數(shù)據(jù)包,增加(或替代地,最大化)由目的地裝置200共同高速緩存的每一文件的不同數(shù)據(jù)包的量,且允許數(shù)據(jù)文件的所請(qǐng)求的數(shù)據(jù)包的完整集合內(nèi)的經(jīng)譯碼的多播傳輸。此外,通過(guò)在傳輸之前組合所請(qǐng)求的數(shù)據(jù)包,應(yīng)理解,根據(jù)至少一個(gè)實(shí)例實(shí)施例的遞送方法及/或裝置可減少網(wǎng)絡(luò)元件151的傳輸數(shù)目,這可減少消耗且提高網(wǎng)絡(luò)效率。
實(shí)例實(shí)施例的變型不應(yīng)被視為脫離實(shí)例實(shí)施例的精神及范圍。所屬領(lǐng)域的技術(shù)人員將清楚,所有此類變型希望包含于本發(fā)明的范圍內(nèi)。