本申請案主張依據(jù)35U.S.C.§119(e)主張2014年1月22日申請的第61/930,072號臨時美國申請案的優(yōu)先權(quán),所述臨時美國申請案的全部內(nèi)容以引用的方式并入本文中。
背景技術(shù):
目前,內(nèi)容分配網(wǎng)絡(luò)(CDN)面臨與請求式音頻/視頻流的流行度的增加相關(guān)聯(lián)的容量及效率問題。解決這些問題的一個途徑是通過網(wǎng)絡(luò)高速緩存及網(wǎng)絡(luò)譯碼。舉例來說,常規(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ò)譯碼解決方案未考慮高速緩存及傳輸資源的相對效率。這導(dǎo)致每遞送對象或文件的次優(yōu)化成本。此外,常規(guī)內(nèi)容遞送解決方案未利用網(wǎng)絡(luò)高速緩存及網(wǎng)絡(luò)譯碼的可能的組合益處。
技術(shù)實現(xiàn)要素:
至少一個實例實施例涉及用于包含高速緩存階段及遞送階段的內(nèi)容分配的方法及/或裝置。
根據(jù)至少一個實例實施例,一種用于在網(wǎng)絡(luò)中傳輸數(shù)據(jù)文件的方法包含接收來自目的地裝置的針對所述數(shù)據(jù)文件的數(shù)據(jù)包的請求。所述方法包含構(gòu)造沖突圖使得由每一目的地裝置請求的每一數(shù)據(jù)包由所述沖突圖的多個頂點中的不同頂點表示,所述多個頂點與所述目的地裝置相關(guān)聯(lián)。所述方法包含將標(biāo)簽指派到所述多個頂點,每一標(biāo)簽為表示請求數(shù)據(jù)包的所述目的地裝置及存儲所述數(shù)據(jù)包的所述目的地裝置高速緩存的索引的集合。所述方法包含將等級指派到所述多個頂點,每一等級指示請求所述數(shù)據(jù)包的所述目的地裝置的數(shù)目及存儲所述數(shù)據(jù)包的目的地裝置高速緩存的數(shù)目。所述方法包含對所述多個頂點從具有最高等級的頂點到具有最低等級的頂點進(jìn)行排序。所述方法包含基于所述排序?qū)λ龆鄠€頂點著色。所述方法包含組合由具有相同顏色的所述多個頂點中的頂點表示的數(shù)據(jù)包。所述方法包含發(fā)送所述經(jīng)組合的數(shù)據(jù)包。
根據(jù)至少一個實例實施例,每一等級為請求數(shù)據(jù)包的目的地裝置的數(shù)目及存儲所述所請求的數(shù)據(jù)包的目的地裝置高速緩存的數(shù)目的總和。
根據(jù)至少一個實例實施例,所述組合在有限域上對由具有相同顏色的所述頂點表示的所述數(shù)據(jù)包執(zhí)行線性組合運算。
根據(jù)至少一個實例實施例,所述構(gòu)造包含創(chuàng)建所述多個頂點中的第一者與第二者之間的鏈路,條件是(i)所述第一及第二頂點不表示同一數(shù)據(jù)包,及(ii)由所述第一頂點表示的數(shù)據(jù)包未存儲在與所述第二頂點相關(guān)聯(lián)的所述目的地裝置的所述高速緩存中,或由所述第二頂點表示的所述數(shù)據(jù)包未存儲在與所述第一頂點相關(guān)聯(lián)的所述目的地裝置的所述高速緩存中。
根據(jù)至少一個實例實施例,所述著色包含選擇具有所述最高等級的未經(jīng)著色的頂點,且將相同顏色指派到所述選定頂點及所述多個頂點中的未經(jīng)著色的頂點的子集,條件是(i)所述子集中的所述頂點具有所要標(biāo)簽,所述所要標(biāo)簽基于輸入?yún)?shù)且基于所述選定頂點的所述標(biāo)簽,(ii)所述子集中的所述頂點不具有到所述選定頂點的鏈路,(iii)所述子集中的所述頂點彼此之間不具有鏈路,且(iv)所述子集的基數(shù)等于所述等級的值減一。
根據(jù)至少一個實例實施例,所述著色包含迭代地執(zhí)行所述選擇且指派相同顏色操作直到已選擇最高等級的所有頂點。
根據(jù)至少一個實例實施例,所述著色包含在未經(jīng)著色的最高等級中的頂點的數(shù)目大于或等于最高等級的情況下,對所述未經(jīng)著色的頂點執(zhí)行額外著色操作。所述著色包含將在所述額外著色操作之后仍未經(jīng)著色的所述最高等級的頂點的等級更新到低于所述最高等級的下一個等級。
根據(jù)至少一個實例實施例,執(zhí)行所述著色直到所述沖突圖的所述多個頂點被著色。
根據(jù)至少一個實例實施例,所述方法包含對所述多個經(jīng)著色的頂點執(zhí)行局部搜索以減少用于所述沖突圖的顏色的數(shù)目。
根據(jù)至少一個實例實施例,所述執(zhí)行局部搜索包含從所述沖突圖的現(xiàn)有顏色選擇顏色,用所述選定顏色標(biāo)識頂點,以及在未用選自所述現(xiàn)有顏色的不同顏色對連結(jié)到所述經(jīng)標(biāo)識的頂點的頂點著色的情況下用所述不同顏色替代所述選定顏色。
應(yīng)理解,可由通信網(wǎng)絡(luò)內(nèi)的網(wǎng)絡(luò)元件(例如,內(nèi)容源)來執(zhí)行以上方法。
附圖說明
從以下本文中給出的具體實施方式及附圖將更全面理解實例實施例,其中相似元件由相似參考數(shù)字表示,其僅以說明的方式給出且因此未限制實例實施例。
圖1展示根據(jù)至少一個實例實施例的內(nèi)容分配網(wǎng)絡(luò)。
圖2為說明根據(jù)實例實施例的網(wǎng)絡(luò)元件的實例結(jié)構(gòu)的圖式。
圖3A到3B為說明圖2中的網(wǎng)絡(luò)元件的實例操作的流程圖表。
圖4說明根據(jù)至少一個實例實施例的遞送階段的實例操作。
圖5說明根據(jù)至少一個實例實施例的用于構(gòu)造無向沖突圖的實例操作。
圖6說明根據(jù)至少一個實例實施例的用于對沖突圖著色的實例操作。
圖7說明根據(jù)至少一個實例實施例的經(jīng)著色的沖突圖。
具體實施方式
現(xiàn)將參考附圖更全面描述各種實例實施例,其中展示一些實例實施例。
本文揭示詳細(xì)說明性實施例。然而,出于描述實例實施例的目的,本文揭示的特定結(jié)構(gòu)及功能細(xì)節(jié)僅為代表性的。然而,本發(fā)明可體現(xiàn)在許多替代形式中且不應(yīng)被解釋為僅限于本文所闡述的實施例。
因此,雖然實例實施例能夠具有各種修改及替代形式,但實施例僅以圖式中實例的方式展示且在本文中將不對其進(jìn)行詳細(xì)描述。然而,應(yīng)理解,不希望將實例實施例限于所揭示的特定形式。相反,實例實施例將涵蓋落入本發(fā)明范圍內(nèi)的所有修改、等效物及替代。相似數(shù)字貫穿圖式描述指代相似元件。
雖然可在本文中使用術(shù)語第一、第二等等以描述各種元件,但這些元件不應(yīng)受這些術(shù)語限制。這些術(shù)語僅用于區(qū)分一個元件與另一個元件。舉例來說,在不脫離本發(fā)明的范圍的情況下,第一元件可被稱為第二元件,且類似地,第二元件可被稱為第一元件。如本文中使用,術(shù)語“及/或”包含相關(guān)列舉項中的一或多者的任何及全部組合。
當(dāng)稱元件為“連接”或“耦合”到另一元件時,其可直接連接或耦合到其它元件或可存在介入元件。相反,當(dāng)稱元件為“直接連接”或“直接耦合”到另一元件時,不存在介入元件。應(yīng)以相似方式解釋用于描述元件之間的關(guān)系的其它詞語(例如,“位于……之間”對“直接位于……之間”、“鄰近”對“直接鄰近”等等)。
本文使用的術(shù)語僅用于描述特定實施例的目的且不希望為限制性的。如本文所使用,希望單數(shù)形式“一”及“所述”還包含復(fù)數(shù)形式,除非上下文以其它方式明確指示。進(jìn)一步將理解,當(dāng)在本文中使用術(shù)語“包括”、“包含”時,指定所陳述的特征、整體、步驟、操作、元件及/或組件的存在,但不排除一或多個其它特征、整體、步驟、操作、元件、組件及/或其群組的存在或添加。
還應(yīng)注意的是,在一些替代實施放案中,所指出的功能/動作可不按照圖式中所指出的順序發(fā)生。舉例來說,連續(xù)展示的兩個圖式事實上可大體上并發(fā)地執(zhí)行或有時可按相反順序執(zhí)行,這取決于所涉及的功能性/動作。
以下描述中提供特定細(xì)節(jié)以提供對實例實施例的透徹理解。然而,由所屬領(lǐng)域的技術(shù)人員將理解,可在不具有這些特定細(xì)節(jié)的情況下實踐實例實施例。舉例來說,可在框圖中展示系統(tǒng)以便不在不必要的細(xì)節(jié)方面使實例實施例混淆。在其它情況中,無需展示眾所周知的過程、結(jié)構(gòu)及技術(shù)的不必要的細(xì)節(jié)以便避免使實例實施例混淆。
在下文描述中,將參考操作的動作及符號表示(例如,以流程圖表、流程圖、數(shù)據(jù)流程圖表、結(jié)構(gòu)圖、框圖等等的形式)描述說明性實施例,操作可被實施為程序模塊,或功能過程包含例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等的,其執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型且可使用在現(xiàn)有網(wǎng)絡(luò)元件(例如,基站、基站控制器、NodeB、eNodeB等等)處的現(xiàn)有硬件來實施。此現(xiàn)有硬件可包含一或多個中央處理器(CPU)、數(shù)字信號處理器(DSP)、專用集成電路、現(xiàn)場可編程門陣列(FPGA)計算機(jī)或類似物。
雖然流程圖可將操作描述為循序過程,但可并行、并發(fā)或同時執(zhí)行許多操作。另外,可重新布置操作的順序。雖然過程可在其操作完成時終止,但還可具有未包含于圖式中的額外步驟。過程可對應(yīng)于方法、函數(shù)、程序、子例程、子程序等等。當(dāng)過程對應(yīng)于函數(shù)時,其終止可對應(yīng)于函數(shù)返回到調(diào)用函數(shù)或主函數(shù)。
如本文揭示,術(shù)語“存儲媒體”或“計算機(jī)可讀存儲媒體”可表示用于存儲數(shù)據(jù)的一或多個裝置,其包含只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、磁性RAM、磁芯存儲器、磁盤存儲媒體、光存儲媒體、快閃存儲器裝置及/或用于存儲信息的其它有形機(jī)器可讀媒體。術(shù)語“計算機(jī)可讀媒體”可包含(但不限于)便攜式或固定存儲裝置、光存儲裝置及能夠存儲、含有或攜載指令及/或數(shù)據(jù)的各種其它媒體。
此外,可由硬件、軟件、固件、中間件、微碼、硬件描述語言或其任何組合來實施實例實施例。當(dāng)在軟件、固件、中間件或微碼中實施時,執(zhí)行必要任務(wù)的程序代碼或代碼段可存儲在機(jī)器或計算機(jī)可讀媒體(例如計算機(jī)可讀存儲媒體)中。當(dāng)在軟件中實施時,一個專用處理器或多個專用處理器將執(zhí)行必要任務(wù)。
代碼段可表示過程、函數(shù)、子程序、程序、例程、子例程、模塊、軟件包、類或指令、數(shù)據(jù)結(jié)構(gòu)或程序語句的任何組合??赏ㄟ^傳遞及/或接收信息、數(shù)據(jù)、自變量、參數(shù)或存儲器內(nèi)容將代碼段耦合到另一代碼段或硬件電路??山?jīng)由任何合適途徑(包含存儲器共享、消息傳遞、令牌傳遞、網(wǎng)絡(luò)傳輸?shù)鹊?傳遞、轉(zhuǎn)發(fā)或傳輸信息、自變量、參數(shù)、數(shù)據(jù)等等。
圖1展示根據(jù)至少一個實例實施例的內(nèi)容分配網(wǎng)絡(luò)。
如圖1中所展示,內(nèi)容分配網(wǎng)絡(luò)(CDN)可包含連接到多個目的地裝置(或用戶裝置)200的網(wǎng)絡(luò)元件151。網(wǎng)絡(luò)元件151可為用于分配數(shù)據(jù)文件(例如電影文件)的內(nèi)容源(例如多播源)。目的地裝置200可為從所述內(nèi)容源請求數(shù)據(jù)的終端用戶裝置。舉例來說,每一目的地裝置200可為允許用戶存取所請求數(shù)據(jù)的裝置的部分或與所述裝置相關(guān)聯(lián)。舉例來說,每一目的地裝置200可為機(jī)頂盒、個人計算機(jī)、平板計算機(jī)、移動電話或用于流式音頻及視頻的任何其它相關(guān)聯(lián)裝置。目的地裝置200中的每一者可包含用于存儲從網(wǎng)絡(luò)元件151接收的數(shù)據(jù)的存儲器。以下將參考圖2及3更詳細(xì)描述網(wǎng)絡(luò)元件151及目的地裝置200的結(jié)構(gòu)及操作。
圖2為說明根據(jù)實例實施例的網(wǎng)絡(luò)元件的實例結(jié)構(gòu)的圖式。根據(jù)至少一個實例實施例,網(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、存儲器156及處理器158。雖然為簡明起見,此處不包含單獨描述,但應(yīng)理解,每一目的地裝置200可具有與網(wǎng)絡(luò)元件151相同或類似的結(jié)構(gòu)。
發(fā)射器152、接收器154、存儲器156及處理器158可使用數(shù)據(jù)總線159相互發(fā)送數(shù)據(jù)及/或接收數(shù)據(jù)。發(fā)射器152是包含用于經(jīng)由到通信網(wǎng)絡(luò)中的其它網(wǎng)絡(luò)元件的一或多個無線連接來發(fā)射無線信號(其包含(例如)數(shù)據(jù)信號、控制信號及信號強度/質(zhì)量信息)的硬件及任何必要軟件的裝置。
接收器154是包含用于經(jīng)由到通信網(wǎng)絡(luò)中的其它網(wǎng)絡(luò)元件的一或多個無線連接來接收無線信號(其包含(例如)數(shù)據(jù)信號、控制信號及信號強度/質(zhì)量信息)的硬件及任何必要軟件的裝置。
存儲器156可為能夠存儲數(shù)據(jù)的任何裝置,其包含磁性存儲裝置、快閃存儲裝置等等。
處理器158可為能夠處理數(shù)據(jù)的任何裝置,其包含(例如)專用處理器,所述專用處理器經(jīng)配置以基于輸入數(shù)據(jù)執(zhí)行特定操作,或能夠執(zhí)行包含于計算機(jī)可讀碼中的指令。舉例來說,應(yīng)理解,下文所描述的修改及方法可存儲在存儲器156上且由網(wǎng)絡(luò)元件151內(nèi)的處理器158實施。
此外,應(yīng)理解,可由上文所描述的網(wǎng)絡(luò)元件151的元件中的一或多者執(zhí)行下文修改及方法。舉例來說,接收器154可執(zhí)行“接收”、“獲取”及類似行為的步驟;發(fā)射器152可執(zhí)行“發(fā)射”、“輸出”、“發(fā)送”及類似行為的步驟;處理器158可執(zhí)行“確定”、“產(chǎn)生”、“關(guān)聯(lián)”、“計算”及類似行為的步驟;且存儲器156可執(zhí)行“存儲”、“保存”及類似行為的步驟。
應(yīng)理解,實例實施例涉及高速緩存階段(下文參考圖3A及3B所描述)及遞送階段(下文參考圖4到7所描述)。
圖3到6為說明圖2中的網(wǎng)絡(luò)元件的實例操作的流程圖表。舉例來說,圖3A到3B展示用于執(zhí)行通信網(wǎng)絡(luò)中的高速緩存方法的實例操作。圖4到6展示用于在已執(zhí)行高速緩存方法之后遞送數(shù)據(jù)文件的實例操作。
應(yīng)理解,圖3A到3B是用于執(zhí)行與下文的算法1相關(guān)的高速緩存分布方法,其中每一數(shù)據(jù)文件‘f’被分成‘B’相等大小的數(shù)據(jù)包(由有限域的符號表示)且屬于庫‘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)處的高速緩存的存儲容量且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í)行操作使得,如果兩個目的地裝置高速緩存給定文件‘f’的相同數(shù)目的數(shù)據(jù)包,那么兩個目的地裝置200中的每一者高速緩存同一文件‘f’的不同數(shù)據(jù)包。可由網(wǎng)絡(luò)元件151根據(jù)下文圖3A到3B中所描述的操作來實施算法1。
參考圖3A,在操作300中,網(wǎng)絡(luò)元件151可確定多個數(shù)據(jù)文件的流行度。數(shù)據(jù)文件可為(例如)視頻及/或音頻文件。網(wǎng)絡(luò)元件151可基于來自目的地裝置200中的至少一者的針對多個數(shù)據(jù)文件的請求(例如用戶請求)而確定流行度。用戶請求可形成數(shù)據(jù)文件的需求分布。網(wǎng)絡(luò)元件151可根據(jù)所有目的地裝置200的需求分布確定流行度。在此情況中,需求分布可遵循齊夫(Zipf)分布。替代地,網(wǎng)絡(luò)元件151可確定每目的地裝置的流行度,其中每一目的地裝置200具有相關(guān)聯(lián)的需求分布。
網(wǎng)絡(luò)元件151可基于來自目的地裝置200的針對數(shù)據(jù)文件的請求的數(shù)目確定流行度。舉例來說,網(wǎng)絡(luò)元件151確定由目的地裝置200請求100次的數(shù)據(jù)文件比被請求50次的數(shù)據(jù)文件具有更高的流行度。因此,流行度可基于哪些數(shù)據(jù)文件被目的地裝置200的用戶被最經(jīng)常請求及查看。
網(wǎng)絡(luò)元件151可將每一數(shù)據(jù)文件分成多個數(shù)據(jù)包。舉例來說,網(wǎng)絡(luò)元件151可將每一數(shù)據(jù)文件分成相同數(shù)目的數(shù)據(jù)包(例如三個數(shù)據(jù)包)。因此,在操作中310,網(wǎng)絡(luò)元件151可基于操作300中確定的流行度而將多個數(shù)據(jù)文件的隨機(jī)數(shù)據(jù)包發(fā)送到至少一個目的地裝置。舉例來說,網(wǎng)絡(luò)元件151可將每一數(shù)據(jù)文件的隨機(jī)數(shù)據(jù)包發(fā)送到目的地裝置200使得隨機(jī)數(shù)據(jù)包存儲(或高速緩存)于每一目的地裝置200處。
網(wǎng)絡(luò)元件151可發(fā)送隨機(jī)數(shù)據(jù)包使得每一目的地裝置200基于確定的流行度及輸入?yún)?shù)(例如,目的地裝置的數(shù)目、流行度分布、每一目的地裝置的高速緩存大小、位于網(wǎng)絡(luò)元件151處的數(shù)據(jù)文件庫的大小等等)接收針對數(shù)據(jù)文件中至少一者的給定數(shù)目的隨機(jī)數(shù)據(jù)包。舉例來說,如果目的地裝置200具有相同大小的高速緩存及相同需求分布(例如,目的地裝置是均勻的),那么網(wǎng)絡(luò)元件151可將相同數(shù)目的數(shù)據(jù)包發(fā)送到每一目的地裝置200。在一個實例中,假設(shè)存在兩個目的地裝置1及2及兩個文件A及B(分成十個數(shù)據(jù)包)。如果(i)目的地裝置1及2以相同頻率請求文件A及文件B,且文件A以比文件B更高的頻率被兩個目的地請求,及(ii)兩個目的地裝置1及2具有相同高速緩存大小(例如,按數(shù)據(jù)包計為六個單元),那么網(wǎng)絡(luò)元件151將執(zhí)行高速緩存方法,使得兩個目的地裝置1及2高速緩存文件A的四個數(shù)據(jù)包及文件B的兩個數(shù)據(jù)包。
如果網(wǎng)絡(luò)元件151在操作300中基于每個目的地裝置確定流行度,那么網(wǎng)絡(luò)元件151可在操作310中基于每個目的地裝置發(fā)送隨機(jī)數(shù)據(jù)包。舉例來說,如果目的地裝置200具有不同大小的高速緩存或不同需求分布,那么網(wǎng)絡(luò)元件151可將不同數(shù)目的數(shù)據(jù)包發(fā)送到每一目的地。在此情況中,參考以上的實例,目的地裝置1可接收文件A的七個數(shù)據(jù)包及文件B的三個數(shù)據(jù)包,而目的地裝置2可接收文件A的兩個數(shù)據(jù)包及文件B的五個數(shù)據(jù)包。此可歸因于以下事實:目的地裝置1請求文件A比請求文件B多得多,且按數(shù)據(jù)包計具有十個單元的總高速緩存大小,而目的地2裝置請求文件A比請求文件B少得多,且按數(shù)據(jù)包計具有七個單元的總高速緩存大小。
圖3B說明可根據(jù)需要在操作300與310之間執(zhí)行的網(wǎng)絡(luò)元件151的實例操作。舉例來說,在圖3A中的操作300之后,網(wǎng)絡(luò)元件151可基于所確定的流行度對數(shù)據(jù)文件進(jìn)行排名。舉例來說,在操作301中,網(wǎng)絡(luò)元件151可使用操作300中所確定的流行度對數(shù)據(jù)文件從最流行的數(shù)據(jù)文件到最不流行的數(shù)據(jù)文件進(jìn)行排名。
在操作302中,網(wǎng)絡(luò)元件151可基于排名選擇(針對每一數(shù)據(jù)文件)若干隨機(jī)數(shù)據(jù)包。舉例來說,網(wǎng)絡(luò)元件151根據(jù)每一數(shù)據(jù)文件的相應(yīng)排名及網(wǎng)絡(luò)的輸入?yún)?shù)(例如,目的地裝置的數(shù)目、流行度分布、每一目的地裝置的高速緩存大小、位于網(wǎng)絡(luò)元件151處的數(shù)據(jù)文件庫的大小等等)中的至少一者針對每一目的地裝置及針對數(shù)據(jù)文件中的每一者選擇不同數(shù)目的隨機(jī)數(shù)據(jù)包。在操作302之后,網(wǎng)絡(luò)元件151可行進(jìn)回到圖3A中的操作310以發(fā)送針對每一數(shù)據(jù)文件的選定數(shù)目的隨機(jī)數(shù)據(jù)包。
應(yīng)了解,操作302可包含網(wǎng)絡(luò)元件151基于至少一個閾值將經(jīng)排名的數(shù)據(jù)文件至少分成第一子集及第二子集。所述至少一個閾值可基于經(jīng)驗證據(jù)及/或用戶定義。第一子集可含有比第二子集排名更高的數(shù)據(jù)文件。因此,在操作310中,網(wǎng)絡(luò)元件151可發(fā)送僅針對第一子集中的數(shù)據(jù)文件的選定數(shù)目的隨機(jī)數(shù)據(jù)包。這可允許數(shù)據(jù)包在目的地裝置200處的更有效的高速緩存。
應(yīng)理解,參考圖3A及3B描述的操作允許網(wǎng)絡(luò)的改進(jìn)的性能,這是因為相較于常規(guī)多播技術(shù),方案能夠高速緩存更流行文件的更多數(shù)據(jù)包且增加(或替代地,最大化)由目的地裝置200共同高速緩存的每一文件的不同數(shù)據(jù)包的量且減少傳輸數(shù)目。
結(jié)合以上描述的高速緩存方法,本申請案揭示用于遞送階段的實例方法,其中數(shù)據(jù)文件的請求數(shù)據(jù)包經(jīng)遞送到目的地裝置200。用于遞送階段的實例方法是基于圖論。
圖4說明根據(jù)至少一個實施例的遞送階段的實例操作。參考圖4,在操作400中,網(wǎng)絡(luò)元件151從目的地裝置200(或用戶裝置)接收針對數(shù)據(jù)文件的數(shù)據(jù)包的請求。由于網(wǎng)絡(luò)元件151已執(zhí)行以上所描述的高速緩存方法,因此每一目的地裝置200僅請求未經(jīng)高速緩存(或存儲)的那些數(shù)據(jù)包作為高速緩存方法的結(jié)果。因此,遞送階段包括:向每一目的地裝置200提供所請求的文件的丟失部分,即,從目的地裝置200的存儲器丟失的數(shù)據(jù)包。
在操作410中,網(wǎng)絡(luò)元件151構(gòu)造沖突圖。舉例來說,網(wǎng)絡(luò)元件151用多個頂點填入沖突圖,使得由每一目的地裝置200請求的每一數(shù)據(jù)包由所述沖突圖的多個頂點中的不同頂點表示。因此,即使同一數(shù)據(jù)包由K個不同用戶請求,所述數(shù)據(jù)包也被表示為沖突圖中的K個不同頂點。換句話說,沖突圖中的每一頂點與唯一一對目的地裝置200及所請求的數(shù)據(jù)包相關(guān)聯(lián)。因此,可以說,沖突圖的每一頂點與目的地裝置200相關(guān)聯(lián)且表示由目的地裝置200請求的數(shù)據(jù)包。此外,網(wǎng)絡(luò)元件151可基于所述多個頂點中的哪些表示同一請求數(shù)據(jù)包及哪些請求數(shù)據(jù)包存儲在屬于目的地裝置200的高速緩存中而構(gòu)造沖突圖。下文參考圖5及6進(jìn)一步詳細(xì)描述操作410。
仍參考圖4,在操作420中,網(wǎng)絡(luò)元件151可將多個頂點指派到原始等級。每一原始等級可指示針對數(shù)據(jù)包的請求的數(shù)目及存儲所述數(shù)據(jù)包的用戶目的地200高速緩存的數(shù)目。舉例來說,每一等級可為請求數(shù)據(jù)包的用戶目的地的數(shù)目及存儲所述所請求的數(shù)據(jù)包的用戶裝置高速緩存的數(shù)目的總和。因此,如果數(shù)據(jù)包由4個目的地裝置200請求且目的地裝置200中的3個目的地裝置正存儲所述數(shù)據(jù)包,那么與那個數(shù)據(jù)包相關(guān)聯(lián)的頂點的原始等級是3+4=7。
仍參考圖4,在操作420中,網(wǎng)絡(luò)元件151也可將標(biāo)簽指派到多個頂點。每一標(biāo)簽可指示請求對應(yīng)于頂點的數(shù)據(jù)包的目的地裝置200及存儲數(shù)據(jù)包的目的地裝置200高速緩存。舉例來說,每一標(biāo)簽可為對應(yīng)于請求數(shù)據(jù)包的目的地裝置200及對應(yīng)于存儲所請求的數(shù)據(jù)包的目的地裝置200的索引的集合。舉例來說,如果數(shù)據(jù)包由4個目的地裝置200(例如,用戶1、用戶3、用戶5、用戶10)請求且目的地裝置200中的3個目的地裝置正存儲所請求的數(shù)據(jù)包(例如,用戶2、用戶4、用戶8),那么與所請求的數(shù)據(jù)包相關(guān)聯(lián)的頂點的索引的集合是此處,標(biāo)簽的長度是7(即,請求數(shù)據(jù)包的目的地裝置的數(shù)目及存儲所述數(shù)據(jù)包的目的地裝置高速緩存的數(shù)目的總和)。
在操作430中,網(wǎng)絡(luò)元件151可基于經(jīng)指派的等級對頂點進(jìn)行排序。舉例來說,網(wǎng)絡(luò)元件151可從最高等級到最低等級對頂點進(jìn)行排序來為著色操作做準(zhǔn)備。
在操作445中,網(wǎng)絡(luò)元件151對多個頂點著色作為標(biāo)記沖突圖上的所請求的數(shù)據(jù)包的途徑。舉例來說,網(wǎng)絡(luò)元件151基于操作430中所確定的順序?qū)Χ鄠€頂點著色。下文參考圖6進(jìn)一步詳細(xì)論述操作445。
在操作480中,網(wǎng)絡(luò)元件151組合由具有相同顏色的頂點表示的所請求的數(shù)據(jù)包。舉例來說,網(wǎng)絡(luò)元件151對由具有相同顏色的頂點表示的數(shù)據(jù)包執(zhí)行異或(XOR)運算(或有限域上的其它線性組合運算)。
在操作490中,網(wǎng)絡(luò)元件151發(fā)送經(jīng)組合的數(shù)據(jù)包。舉例來說,網(wǎng)絡(luò)元件151經(jīng)由多播傳輸將經(jīng)組合的數(shù)據(jù)包發(fā)送到目的地裝置200。通過在傳輸之前組合數(shù)據(jù)包,應(yīng)理解,根據(jù)至少一個實例實施例的遞送方法可減少網(wǎng)絡(luò)元件151的傳輸數(shù)目,這可減少消耗且提高網(wǎng)絡(luò)效率。應(yīng)理解,目的地裝置200可使用一組XOR運算(或一組其它線性組合運算)接收并解碼所傳輸?shù)慕?jīng)組合的數(shù)據(jù)包。舉例來說,目的地裝置200可使用作為密鑰的其經(jīng)高速緩存的數(shù)據(jù)包解碼經(jīng)組合的數(shù)據(jù)包。
圖5說明根據(jù)至少一個實例實施例構(gòu)造沖突圖的實例操作。舉例來說,圖5進(jìn)一步詳細(xì)論述圖4的操作410。圖5說明用于構(gòu)造無向沖突圖的實例操作??山Y(jié)合著色方案使用無向沖突圖,所述著色方案在本申請案中是指分層貪心著色(HgC)方案。下文參考圖6更詳細(xì)描述此著色方案。
參考圖5,在操作511中,網(wǎng)絡(luò)元件151分析來自在操作410中填入的多個頂點的兩個頂點‘Vi’及‘Vj’。在操作513中,如果網(wǎng)絡(luò)元件確定頂點Vi及Vj表示同一所請求的數(shù)據(jù)包,那么網(wǎng)絡(luò)元件151在操作515中不創(chuàng)建兩個頂點之間的鏈路(或邊)。接著,網(wǎng)絡(luò)元件151進(jìn)行到操作531以確定是否已分析沖突圖中的所有頂點。
在操作513中,如果網(wǎng)絡(luò)元件151確定頂點Vi及Vj不表示同一所請求的數(shù)據(jù)包,那么網(wǎng)絡(luò)元件151進(jìn)行到操作517且檢查請求由頂點Vi表示的數(shù)據(jù)包的與頂點Vi相關(guān)聯(lián)的目的地裝置200的高速緩存(或存儲器)。在操作519中,如果網(wǎng)絡(luò)元件151確定表示頂點Vj的數(shù)據(jù)包在請求由頂點Vi表示的數(shù)據(jù)包的目的地裝置200的高速緩存中不可用,那么在操作521中網(wǎng)絡(luò)元件151創(chuàng)建頂點Vi與頂點Vj之間的鏈路。接著,網(wǎng)絡(luò)元件151進(jìn)行到操作531以確定是否已分析沖突圖中的所有頂點。
在操作519中,如果網(wǎng)絡(luò)元件151確定表示頂點Vj的數(shù)據(jù)包在與頂點Vi相關(guān)聯(lián)且請求由頂點Vi表示的數(shù)據(jù)包的目的地裝置200的高速緩存中可用,那么在操作523中網(wǎng)絡(luò)元件151檢查與頂點Vj相關(guān)聯(lián)且請求由頂點Vj表示的數(shù)據(jù)包的目的地裝置200的高速緩存。在操作525中,如果表示頂點Vi的數(shù)據(jù)包在與頂點Vj相關(guān)聯(lián)且請求由頂點Vj表示的數(shù)據(jù)包的目的地裝置200的高速緩存中不可用,那么網(wǎng)絡(luò)元件151在進(jìn)行到操作431之前在操作527中創(chuàng)建頂點Vi與Vj之間的鏈路以確定是否已分析沖突圖中的所有頂點。
在操作525中,如果網(wǎng)絡(luò)元件151確定表示頂點Vi的數(shù)據(jù)包在與頂點Vj相關(guān)聯(lián)且請求由頂點Vj表示的數(shù)據(jù)包的目的地裝置200的高速緩存中可用,那么網(wǎng)絡(luò)元件151在操作529中不創(chuàng)建頂點Vi與Vj之間的鏈路。接著,網(wǎng)絡(luò)元件151進(jìn)行到操作531以確定是否已分析沖突圖中的所有頂點。
一旦網(wǎng)絡(luò)元件151已分析沖突圖中的所有頂點,網(wǎng)絡(luò)元件151就在操作533中返回經(jīng)構(gòu)造的沖突圖。
鑒于圖5,應(yīng)理解,圖4中的構(gòu)造操作410可通過創(chuàng)建多個頂點中的第一者與第二者之間的鏈路的操作來總結(jié),條件是(i)第一頂點及第二頂點不表示同一數(shù)據(jù)包,且(ii)由第一頂點表示的數(shù)據(jù)包未存儲在與第二頂點相關(guān)聯(lián)且請求由第二頂點表示的數(shù)據(jù)包的用戶裝置的高速緩存中,或由第二頂點表示的數(shù)據(jù)包未存儲在與第一頂點相關(guān)聯(lián)且請求由第一頂點表示的數(shù)據(jù)包的用戶裝置的高速緩存中。
圖6說明根據(jù)至少一個實例的對沖突圖著色的實例操作。圖6的操作涉及下文論述的算法。
在以上算法(稱為“HgC算法”)中,令f(v)為由沖突圖中的頂點v表示的數(shù)據(jù)包。將U定義為用戶目的地裝置的集合,其中Qu為由用戶目的地裝置u請求的所有數(shù)據(jù)包的集合,且Cu為通過用戶目的地裝置u高速緩存的所有數(shù)據(jù)包的集合。我們將Kv稱為與頂點“v”相關(guān)聯(lián)的標(biāo)簽。舉例來說,如果表示數(shù)據(jù)包A1(f(v1)=A1)的頂點v1由用戶目的地裝置1及用戶目的地裝置2請求且高速緩存于用戶目的地裝置3及用戶目的地裝置4中,那么
令Gi={v:|Kv|=i}。我們將Gi視為原始層級(或等級)。我們從層級(或等級)n開始,其為最高層級或等級。首先,我們在以下情況中用相同顏色對Gn中的頂點的子集著色:其具有相同|Kv|=n,且此集合的基數(shù)等于n且在沖突圖中的此集合的任何兩個頂點之間不存在鏈路(即,以貪心方式搜索具有大小“n”的獨立集合)。(注意,具有相同|Kv|且未由沖突圖中的鏈路連接的兩個節(jié)點等于聲明其具有相同Kv)。接著我們合并Gn中的未經(jīng)著色的頂點的剩余部分與Gn-1(即,Gn-1≡Gn-1∪Gn,HgC算法的行35)以產(chǎn)生新的層級(或等級)n-1。
在層級(或等級)n-1中,對于所有Kv使得|Kv|=n-1,首先,我們在以下情況中用相同顏色對Gn-1中的頂點的子集著色:如果其具有相同|Kv|=n-1,此集合的基數(shù)等于n且在此集合的任何兩個頂點之間不存在鏈路。接著我們試圖對Gn-1中的頂點的剩余部分著色。
我們用來對Gn-1中的頂點的剩余部分著色的準(zhǔn)則是:首先,我們從HgC算法的行19中所展示的W1∈Gn-1隨機(jī)選擇頂點v,其中W1表示具有“較小”|Kv|(v∈Gn-1)或HC,Q中的“較大度數(shù)”的頂點的集合,且其中值a∈[0,1]控制W1的大小。舉例來說,如果a=0,那么W1表示具有最小|Kv|(v∈Gn-1)的頂點。
其次,我們試圖用相同顏色對選定頂點v及頂點著色,其中W2被定義為“i”層級中的未經(jīng)著色的頂點的集合,其|Kv'|(其中v'∈Gi\{v})以貪心方式“接近”|Kv|。類似于參數(shù)a∈[0,1],此接近度由另一參數(shù)b∈[0,1]捕獲,如算法中的行22中所展示。舉例來說,如果b=0,那么我們從頂點v'開始使得|Kv'|-|Kv|被最小化。在此,我們以貪心方式尋找第i層級(或等級)中的至少“i”的大小的獨立集合。
在此第二著色程序之后,我們合并未經(jīng)著色的頂點與下一個層級(或等級)(在此情況中其為Gn-2)的頂點。接著,我們對所有層級(或等級)重復(fù)相同程序。
最后,我們使用被稱作LocalSearch的函數(shù)進(jìn)一步減少用于HgC算法的行39中的最終沖突圖的顏色的數(shù)目。由以下算法給出LocalSearch的細(xì)節(jié)。
在此,令N(j)表示頂點“j”的相鄰頂點(不包含頂點“j”)。為了清楚起見,我們使用逗號將用戶目的地裝置請求A1與用戶目的地裝置高速緩存A1隔開。此外,c為展示著色的所要向量。HgC算法的復(fù)雜度是O(n3B2)。
應(yīng)理解,圖6中說明的操作涉及針對a=0且b=0的HgC算法且對應(yīng)于作為圖4中的操作445的部分執(zhí)行的操作。最初,網(wǎng)絡(luò)元件151將‘V’定義為沖突圖中的頂點,將V_1定義為經(jīng)著色的頂點的集合且將V_2定義為未經(jīng)著色的頂點的集合。在著色操作開始之前,將V_1設(shè)置為空集且V_2=V。
在操作600中,網(wǎng)絡(luò)元件151初始化等級j=n,其中n表示經(jīng)指派的等級當(dāng)中的最高等級(回想在操作430中,頂點基于其經(jīng)指派的等級被排序)。在操作605中,網(wǎng)絡(luò)元件151選擇等級“j”用于分析。
在操作610中,網(wǎng)絡(luò)元件151選擇具有等于j的標(biāo)簽長度的屬于等級j的頂點‘v’且將所述頂點標(biāo)記為正被分析。在操作615中,網(wǎng)絡(luò)元件151形成頂點的集合‘L’。網(wǎng)絡(luò)元件151形成具有等級j中的頂點的集合L,所述頂點i)與頂點v具有相同標(biāo)簽長度(即,具有相同|Kv|),ii)未經(jīng)著色,iii)未彼此連結(jié),及iv)未連結(jié)到頂點v。在操作620中,網(wǎng)絡(luò)元件151確定集合L(其包含頂點v)中的頂點的數(shù)目是否等于等級j的數(shù)目。如果不等于,那么網(wǎng)絡(luò)元件151不將顏色指派到集合L中的頂點且進(jìn)行到操作635以檢查是否已分析等級j中的所有頂點。如果集合L中的頂點的數(shù)目等于j,那么在操作625中網(wǎng)絡(luò)元件151選擇新顏色(例如,尚未在沖突圖中使用的顏色)。在操作630中,網(wǎng)絡(luò)元件151將新顏色指派到集合L中的頂點,包含集合V_1中的集合L中的頂點,且將集合L中的頂點從集合V_2消除。
接著,在操作635中,網(wǎng)絡(luò)元件151確定是否已分析具有j的標(biāo)簽長度的等級j中的所有頂點。如果未分析,那么網(wǎng)絡(luò)元件151返回到操作605。如果已分析,那么網(wǎng)絡(luò)元件151進(jìn)行到操作640。
在操作640中,網(wǎng)絡(luò)元件151確定等級j中的哪些頂點尚未被著色,將這些未經(jīng)著色的頂點標(biāo)記為未被分析,選擇其標(biāo)簽具有大于或等于等級j的長度的頂點‘w’,且將頂點‘w’標(biāo)記為已被分析。這等同于上文關(guān)于在a=0時對Gn-1中的頂點的剩余部分著色的描述。
在操作645中,網(wǎng)絡(luò)元件151將集合L復(fù)位到空集且形成集合L以包含具有最接近于(或大于或等于)j的長度的標(biāo)簽的等級j中仍未經(jīng)著色的頂點,其未彼此連結(jié)且未連結(jié)到頂點“w”。在操作650中,網(wǎng)絡(luò)元件151確定集合L(其包含頂點“w”)中的頂點的數(shù)目是否大于或等于“j”。如果不是,那么網(wǎng)絡(luò)元件151不對任何頂點著色且進(jìn)行到操作665以確定是否已分析在等級j處的所有頂點。
在操作650中,如果網(wǎng)絡(luò)元件151確定集合L中的頂點的總數(shù)目大于或等于j,那么在操作655中網(wǎng)絡(luò)元件151選擇新顏色(例如,尚未在沖突圖中使用的顏色)。在操作660中,網(wǎng)絡(luò)元件151將新顏色指派到集合L中的頂點,包含集合V_1中的集合L中的頂點,且將集合L中的頂點從集合V_2消除。在操作665中,網(wǎng)絡(luò)元件151確定是否已分析等級j處的所有頂點。如果未分析,那么網(wǎng)絡(luò)元件151返回操作640。如果已分析,那么在操作668中,網(wǎng)絡(luò)元件151將等級j中的所有未經(jīng)著色的頂點移動到下一個較低等級以創(chuàng)建新等級j-1,其通過將最初屬于等級j-1的所有頂點與屬于等級j的未經(jīng)著色的頂點合并而給出。接下來,在操作670中,網(wǎng)絡(luò)元件151確定等級j是否等于一(或經(jīng)指派的等級當(dāng)中的最低經(jīng)指派的等級)。
如果等級j等于一(或經(jīng)指派的等級當(dāng)中的最低經(jīng)指派的等級),那么網(wǎng)絡(luò)元件151進(jìn)行到操作677。否則,在操作675中,網(wǎng)絡(luò)元件151設(shè)置等級j到j(luò)-1且返回到操作605。在操作675中,應(yīng)理解,網(wǎng)絡(luò)元件151將保留在等級j中的任何未經(jīng)著色的頂點放置在下一個最低等級中(即,j-1)中以便確保沖突圖的所有頂點被指派顏色。在操作677中,網(wǎng)絡(luò)元件執(zhí)行局部搜索以試圖減少在沖突圖中使用的顏色的總數(shù)目。舉例來說,網(wǎng)絡(luò)元件151從沖突圖的現(xiàn)有顏色選擇顏色,用選定顏色標(biāo)識頂點,且在未用選自現(xiàn)有顏色的不用顏色對連結(jié)到經(jīng)標(biāo)識的頂點的頂點著色的情況下,用所述不同顏色替代選定顏色。因此,選定顏色被從現(xiàn)有顏色的集合消除。接著,網(wǎng)絡(luò)元件151返回經(jīng)著色的沖突圖作為680中的解。
鑒于圖6中所展示的操作,還應(yīng)理解,圖6的操作可對應(yīng)于網(wǎng)絡(luò)元件151選擇具有最高等級的未經(jīng)著色的頂點,且將相同顏色指派到選定頂點及多個頂點中未經(jīng)著色的頂點的子集,條件是(i)子集中的頂點具有具所要長度的經(jīng)指派的標(biāo)簽,所要長度基于輸入?yún)?shù)且基于選定頂點的標(biāo)簽的長度,(ii)子集中的頂點不具有到選定頂點的鏈路,(iii)子集中的頂點彼此之間不具有鏈路,且(iv)子集的基數(shù)等于等級的值減一。應(yīng)進(jìn)一步理解,圖6的操作對應(yīng)于網(wǎng)絡(luò)元件151迭代地執(zhí)行選擇且指派相同顏色操作直到已選擇最高等級的所有頂點,以及將仍未經(jīng)著色的最高等級的頂點的等級更新到低于最高等級的下一個等級。仍應(yīng)進(jìn)一步理解,圖6的操作由網(wǎng)絡(luò)元件151執(zhí)行直到?jīng)_突圖的所有頂點被著色。仍應(yīng)進(jìn)一步理解,等級也可被稱為層級,且被指派到等級(或?qū)蛹?“j”的頂點的集合用Gj表示,使得將保留在等級j中的所有未經(jīng)著色的頂點放置到等級j-1中的操作等同于執(zhí)行集合Gj-1。應(yīng)理解,形成Gj-1的此操作等同于操作668。
圖7說明根據(jù)至少一個實例實施例的經(jīng)著色的沖突圖。舉例來說,圖7說明根據(jù)圖5構(gòu)造且根據(jù)HgC方案及圖6的操作而著色的沖突圖。
在圖7中,我們考慮具有n=3目的地裝置(或用戶裝置)200(即,U={1,2,3})且m=3數(shù)據(jù)文件A、B、C(即,F(xiàn)={A,B,C})的共享鏈路網(wǎng)絡(luò)。每一數(shù)據(jù)文件被分成四個數(shù)據(jù)包。舉例來說,數(shù)據(jù)文件A具有{A1,A2,A3,A4}的四個數(shù)據(jù)包。對于高速緩存階段(即,參見圖3A及3B及相關(guān)描述),令用戶裝置1高速緩存{A1,B1,B2,B3,B4,C2}、用戶裝置2高速緩存{A1,A2,A3,A4,B1,C2,C3}及用戶裝置3高速緩存{A1,A2,A3,B1,B2,B3}。接著,令用戶裝置{1,2,3}分別請求數(shù)據(jù)文件{A,B,C}。等效地,用戶裝置1請求A2、A3、A4;用戶裝置2請求B2、B3、B4;且用戶裝置3請求C1、C2、C3、C4。接著,我們具有KA2={1,2 3}(逗號用于將請求數(shù)據(jù)包A2的用戶裝置與已高速緩存數(shù)據(jù)包A2的用戶裝置分離。此處,數(shù)據(jù)包A2由用戶裝置1請求,而數(shù)據(jù)包A2由用戶裝置2及3高速緩存);KA3={1;2,3};KA4={1;2};KB2={2;1,3};KB2={2;1,3};KB4={2;1};KC2={3;1,2};KC3={3;2};KC4={3}(此處,C4由用戶裝置3請求且不在任何地方被高速緩存)。
HgC方案工作如下(參考HgC算法及圖6)。對于j=n=3,G3={A2,A3,B2,B3,C2},令頂點v=A2,接著可發(fā)現(xiàn)B2及C2將在集合L中,因此集合L={A2,B2,C2}?,F(xiàn)在由于|L|=n=3,因此我們用黑色對A2、B2、C2著色。接著3=G3\L={A3,B3}。在以下循環(huán)中,由于我們無法找到|L|=n=3的集合I,因此我們移動到算法的行21。接著由于我們無法找到|L|≥n=3的集合L,接著我們進(jìn)行G2=G2∪{A3},且接著G2=G2∪{B3}。因此,我們獲得G2={A3,A4,B3,B4,C3}。現(xiàn)在我們行進(jìn)到算法的行3(即,開始下一個循環(huán))。對于j=j(luò)-1=n-1=2,在此循環(huán)中,我們首先挑選頂點v=A4,接著我們找到L={A4,B4}。我們用藍(lán)色對{A4,B4}著色(參見圖4)?,F(xiàn)在G2=G2\{A4,B4}={A3,B3,C3}。接著在算法的行21中,我們找到具有最小長度的Kv的頂點,其為具有KC3={3;2}的C3,接著我們找到L={C3,B3}。我們用紅色對L={C3,B3}著色?,F(xiàn)在G2=G2\{C3,B3}={A3}。由于不存在L≥2,因此接著我們進(jìn)行G1=G1∪{A3}={C4,A3}。接著我們行進(jìn)到下一個循環(huán)j=j(luò)-1=n-2=1。接著,我們可看見L={C4},且我們用紫色對{C4}著色。接著G1=G1\{C4}={A3}。因此,我們找到L={A3}且我們用棕色對{A3}著色。圖7中展示經(jīng)完全著色的沖突圖。
應(yīng)理解,上文描述的操作允許網(wǎng)絡(luò)的改進(jìn)性能,這是因為實例實施例允許能夠在目的地裝置200處高速緩存更多流行文件的更多數(shù)據(jù)包,增加(或替代地,最大化)由目的地裝置200共同高速緩存的每一文件的不同數(shù)據(jù)包的量,且允許數(shù)據(jù)文件的所請求的數(shù)據(jù)包的完整集合內(nèi)的經(jīng)譯碼的多播傳輸。通過在傳輸之前組合數(shù)據(jù)包,應(yīng)理解,根據(jù)至少一個實例實施例的遞送方法及/或裝置可減少網(wǎng)絡(luò)元件151的傳輸數(shù)目,這可減少消耗且提高網(wǎng)絡(luò)效率。舉例來說,在一些所關(guān)注的情況中,上文所描述的方法及裝置可將傳輸數(shù)目減少高達(dá)10倍。如果我們具有無限復(fù)雜性,那么增益可為無限的。此外,應(yīng)了解,每一用戶目的地的存儲器(或高速緩存)大小可用作帶寬多路倍增器。
實例實施例的變型不應(yīng)被視為脫離實例實施例的精神及范圍。所屬領(lǐng)域的技術(shù)人員將清楚,所有此類變型希望包含于本發(fā)明的范圍內(nèi)。