專利名稱:存儲和分發(fā)電子內(nèi)容的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種經(jīng)由網(wǎng)絡(luò)對電子內(nèi)容進(jìn)行分發(fā)、存儲和獲取(retrieve)的方法 和系統(tǒng)。具體地,本發(fā)明涉及高效地放置被劃分為片段(fragment)的內(nèi)容的不同部分。
背景技術(shù):
為了清楚和簡要的目的,以下的說明書涉及視頻點播(VoD)服務(wù)。然而,本發(fā)明還 可以應(yīng)用于提供文件所使用的任何一般的網(wǎng)絡(luò)。具體地,所述文件不一定是視頻文件。最近已經(jīng)引入了僅僅基于在網(wǎng)絡(luò)中分布的機頂盒的、通過內(nèi)容遞送網(wǎng)絡(luò)(CDN)的 點播視頻遞送。通常,在VoD服務(wù)中,一組也被稱為機頂盒的管理設(shè)備能夠存儲視頻內(nèi)容。 機頂盒還能夠?qū)⒃搩?nèi)容上載到其他機頂盒。每個視頻被劃分為多個也被稱為子流的互補 (complementary)片段。為了再現(xiàn)視頻,機頂盒需要下載缺失的子流,直到所有的子流在該 特定的機頂盒處可得到。可以在網(wǎng)絡(luò)的機頂盒中隨機地存儲片段或者子流。為了獲取文件,將來自客戶機 的請求重定向到存儲所請求的文件的片段的最近的機頂盒。請求文件的客戶機可以完全地 下載文件的所有片段,或者,例如在要對視頻文件進(jìn)行流傳輸?shù)那樾蜗拢梢哉埱笠园错樞?的(ordered)方式來對每個各自的片段進(jìn)行流傳輸。然而,文件片段的隨機分發(fā)可能導(dǎo)致向機頂盒分配片段的低效率,這又可能導(dǎo)致 遞送所請求的文件的增加的成本。例如,視頻文件的一個片段與相同視頻的其他片段相 比,被放置在距離請求的客戶機的更遠(yuǎn)處,同時相對靠近請求的客戶機的兩個機頂盒容納 (host)同樣的片段。在該示例中,兩個容納同樣片段的鄰近的機頂盒不能夠從彼此下載缺 失的片段,而不得不從很可能非常遠(yuǎn)的另一機頂盒下載內(nèi)容。該情境與其中與請求的客戶 機鄰近的機頂盒能夠提供文件的全部所需片段的情境相比,將在請求的客戶機與位于非常 遠(yuǎn)處的機頂盒之間產(chǎn)生一些不必要的網(wǎng)絡(luò)流量。具體地,當(dāng)必須穿過多個集線器或路由器 時,或者當(dāng)必須穿過不同的域(domain)來路由網(wǎng)絡(luò)流量時,到相對遙遠(yuǎn)的主機的網(wǎng)絡(luò)流量 可能占據(jù)稀缺的網(wǎng)絡(luò)資源。除非另外標(biāo)明,在以下說明書中通篇可互換地使用表述“距離”來表示地理距離、 網(wǎng)絡(luò)距離,所述網(wǎng)絡(luò)距離例如以路由器中繼段(router hop)、可用帶寬、或者傳送延遲來表 示。術(shù)語距離還可以指代網(wǎng)絡(luò)成本,即,從容納文件片段的網(wǎng)絡(luò)設(shè)備到請求該文件或文件片 段的網(wǎng)絡(luò)設(shè)備傳輸數(shù)據(jù)的成本??梢酝ㄟ^考慮穿過路由器級別的域的成本或者考慮穿越的 路由器的數(shù)量來計算網(wǎng)絡(luò)成本。該成本還可以與“網(wǎng)絡(luò)負(fù)荷”有關(guān),即,當(dāng)各個盒之間的數(shù) 據(jù)路徑中的網(wǎng)絡(luò)節(jié)點的數(shù)量增加時,該成本也增加。網(wǎng)絡(luò)成本還可以依賴于一日中的時段 或者當(dāng)前通過網(wǎng)絡(luò)的部分(segment)交換的數(shù)據(jù)量而動態(tài)地改變?!N已知的用于在內(nèi)容分發(fā)網(wǎng)絡(luò)內(nèi)放置內(nèi)容的算法被稱為k-PUFLP,或者“多產(chǎn) 品選址問題”算法。該算法例如在 A.Klose,A. Drexl 的 “Facility locationmodels for distribution system design", European Journal of Operational Research, vol.162, no. 1,pp. 4-29,2005中公開。k-PUFLP算法是“集中式”算法,S卩,中央實體知道網(wǎng)絡(luò)內(nèi)所有機頂盒的位置。每當(dāng)新的機頂盒被添加到網(wǎng)絡(luò)中,需要對所有的機頂盒重新計算各機頂 盒之間的文件的分發(fā)。由于放置、替換和重新安排(reshuffle)機頂盒中的內(nèi)容成本也很 高,因此該k-PUFLP算法不太適合其中機頂盒充當(dāng)客戶機和主機的內(nèi)容分發(fā)網(wǎng)絡(luò)中高效的 內(nèi)容放置。
發(fā)明內(nèi)容
期望提供一種用于優(yōu)化的和分布式的數(shù)據(jù)放置的方法和系統(tǒng),使得每個機頂盒將 通過采用正確的決策而參與到整個放置處理中,而不必依賴于中央控制實例。下文中,與機 頂盒互換地使用術(shù)語網(wǎng)絡(luò)站點。假設(shè)所有機頂盒的位置是已知的,本發(fā)明的一個目的是提供一種用于將“好的”子 流或者片段分配到每個機頂盒以便最小化這種內(nèi)容分發(fā)服務(wù)的整體成本的方法。用于內(nèi)容放置的本發(fā)明的方法考慮了盒之間的網(wǎng)絡(luò)成本/距離。具體地,對機頂 盒的子流或片段的分發(fā)考慮了到其鄰近的盒的網(wǎng)絡(luò)距離/成本以及這些鄰近的盒已經(jīng)存 儲了什么內(nèi)容。本發(fā)明的方法的結(jié)果是通過為本地存儲裝置選擇適當(dāng)?shù)淖恿骰蛘咂蝸碜?小化每個機頂盒的本地成本。根據(jù)本發(fā)明的一個或多個實施例,例如考慮到有限的存儲容量,假設(shè)每個機頂盒 僅僅存儲子流或片段的總數(shù)量中的一個子流或片段。然而,子流或片段的大小可以變化。另 外,子流或者片段不必由文件的連續(xù)的要素或部分的序列組成。本發(fā)明的方法可以用于在具有至少兩個網(wǎng)絡(luò)站點的網(wǎng)絡(luò)上分發(fā)電子內(nèi)容。所述網(wǎng) 絡(luò)站點適配于存儲內(nèi)容和獲取所存儲的內(nèi)容。按文件來組織所存儲的內(nèi)容,其中文件被劃 分為片段。給定文件的全部片段是重構(gòu)該給定文件所需要的。給定文件的一個或多個片段 被存儲在各個不同的網(wǎng)絡(luò)站點中。根據(jù)該方法,當(dāng)另一網(wǎng)絡(luò)站點被添加到該網(wǎng)絡(luò)中時,所添 加的網(wǎng)絡(luò)站點確定從網(wǎng)絡(luò)的位于預(yù)定最大距離內(nèi)的其他網(wǎng)絡(luò)站點中可得到給定文件的哪 些片段。表述“給定文件”用于指示唯一的和明確的可識別的文件。這不是意味著將本發(fā) 明限制于一個特定的文件或一種特定的文件類型。在從網(wǎng)絡(luò)的位于預(yù)定最大距離內(nèi)的一個 或多個網(wǎng)絡(luò)站點處給定文件的所有片段不都可得到的情況下,所添加的另一網(wǎng)絡(luò)站點從比 預(yù)定最大距離還要遠(yuǎn)的另一網(wǎng)絡(luò)站點處下載給定文件的一組缺失的片段中的隨機片段。在 從網(wǎng)絡(luò)的位于預(yù)定最大距離內(nèi)的一個或多個其他網(wǎng)絡(luò)站點處可得到給定文件的所有片段 情況下,所添加的網(wǎng)絡(luò)站點確定位于預(yù)定最大距離內(nèi)的一組網(wǎng)絡(luò)站點。被這樣確定的該組 網(wǎng)絡(luò)站點包含位置最靠近所添加的網(wǎng)絡(luò)站點的那些網(wǎng)絡(luò)站點,同時被這樣確定的該組網(wǎng)絡(luò) 站點的全體使得重構(gòu)完整的文件所需要的給定文件的所有片段可得到。然后所添加的網(wǎng)絡(luò) 站點從之前確定的該組網(wǎng)絡(luò)站點中位置最遠(yuǎn)的網(wǎng)絡(luò)站點下載給定文件的片段。在本發(fā)明的方法的一個實施例中,所添加的另一網(wǎng)絡(luò)站點確定它是否已存儲了文 件的片段,以及它目前存儲了文件的哪些片段。在本發(fā)明的方法的另一實施例中,所添加的另一網(wǎng)絡(luò)站點初始地完全沒有包含存 儲的內(nèi)容。在本發(fā)明的方法的另一實施例中,沒有一個網(wǎng)絡(luò)站點存儲給定文件的所有片段。應(yīng)注意,比預(yù)定最大距離還要遠(yuǎn)的網(wǎng)絡(luò)站點可能是容納了文件的所有片段的內(nèi)容 服務(wù)器,或者是網(wǎng)絡(luò)站點的另一編組中的一個或多個網(wǎng)絡(luò)站點。
在本發(fā)明的方法的另一實施例中,內(nèi)容服務(wù)器在網(wǎng)絡(luò)初始化(initialisation) 時確定要由哪個網(wǎng)絡(luò)站點來存儲哪些片段??梢詫⒊跏蓟幚硪曌髟趦?nèi)容服務(wù)器的控制 下對內(nèi)容的預(yù)推送(pre-push)。一旦網(wǎng)絡(luò)的初始化終止,內(nèi)容的進(jìn)一步分發(fā)可能依賴于來 自機頂盒的各個請求。內(nèi)容的進(jìn)一步分布還可以被視作是在各個機頂盒的控制下的預(yù)提取 (pre-fetch)0根據(jù)本發(fā)明的電子內(nèi)容分發(fā)系統(tǒng)包括具有至少兩個網(wǎng)絡(luò)站點的網(wǎng)絡(luò)。所述網(wǎng)絡(luò)站 點適配于執(zhí)行上述的方法。根據(jù)本發(fā)明的電子內(nèi)容分發(fā)系統(tǒng)的網(wǎng)絡(luò)站點可以包括用于發(fā)送和接收命令和數(shù) 據(jù)的網(wǎng)絡(luò)接口。所述網(wǎng)絡(luò)站點還可以包括微處理器以及程序和數(shù)據(jù)存儲器。數(shù)據(jù)存儲器可 以包括易失性以及非易失性存儲器,具體地可以包括閃存和磁盤或光盤存儲裝置。網(wǎng)絡(luò)站 點的程序存儲器可以被編程為執(zhí)行上述的方法步驟。在本發(fā)明的一個實施例中,網(wǎng)絡(luò)站點適配于以及時的和按順序的方式來流傳輸給 定文件的片段。另外,根據(jù)本發(fā)明的網(wǎng)絡(luò)站點可以適配于接收給定文件的片段以用于重現(xiàn) 或者重構(gòu)該文件。在優(yōu)選實施例中,網(wǎng)絡(luò)站點適配于在重現(xiàn)或重構(gòu)已經(jīng)接收的部分的同時 對給定文件的接收的片段進(jìn)行緩沖。本發(fā)明的方法導(dǎo)致如此放置片段以使得對于被任意選擇的任何機頂盒,到存儲補 足文件所需的片段的其他機頂盒的距離最小化。對要本地地存儲哪個片段的選擇基于鄰近 的機頂盒已經(jīng)存儲的片段。在一個實施例中,該方法考慮新添加的機頂盒關(guān)于鄰近機頂盒的受限制的知識 (awareness)以及它們各自存儲的內(nèi)容。然而,新添加的機頂盒知道重構(gòu)給定文件需要多少 個片段。新添加的機頂盒確定哪些片段在其相應(yīng)的緊鄰的相鄰者處是可得到的,并且下載 一個或多個缺失的片段用于本地存儲。被選擇的所述一個或多個片段可以從中央服務(wù)器處 下載,或者從位置更遠(yuǎn)的其他機頂盒處下載。在每個機頂盒存儲文件的僅僅一個片段的情 況下,該決策所考慮的相鄰者的數(shù)量是文件的片段的數(shù)量減1。片段可以是以字節(jié)為單位基本上大小相等,或者在視頻或音頻文件的情況下,可 以根據(jù)回放的持續(xù)時間來選擇片段,即,將片段選擇為具有基本上相等的回放持續(xù)時間。然 而,具有較大的存儲裝置,或者較高的帶寬,或者較低的用于上載的整體成本的機頂盒可以 取得較大的片段來存儲。該決策依賴于要優(yōu)化哪個參數(shù),例如,網(wǎng)絡(luò)負(fù)荷分布、每機頂盒或 者每網(wǎng)絡(luò)部分的網(wǎng)絡(luò)流量成本等等。
以下將參照附圖來描述本發(fā)明,其中圖1示出根據(jù)本發(fā)明的示例性系統(tǒng);圖2示意性地示出向新添加的機頂盒的文件片段的分發(fā);以及圖3示出根據(jù)本發(fā)明的示例性機頂盒的框圖。在圖中,利用相同的參考標(biāo)記來指代相同或類似的元素。
具體實施例方式圖1示出根據(jù)本發(fā)明的系統(tǒng)的一個示例。該系統(tǒng)包括內(nèi)容服務(wù)器101、跟蹤器102和多個機頂盒103、104。內(nèi)容服務(wù)器101負(fù)責(zé)準(zhǔn)備、存儲內(nèi)容并將內(nèi)容發(fā)送給機頂盒103、 104。內(nèi)容服務(wù)器101可以是中央服務(wù)器以及通用的內(nèi)容遞送網(wǎng)絡(luò)服務(wù)。在該圖中示出的示 例性實施例中,假設(shè)類似BitTorrent的對等體發(fā)現(xiàn)跟蹤器102負(fù)責(zé)通過向所有的機頂盒 發(fā)送活動的機頂盒的列表來連接所有的機頂盒。然而,可以使用任何其他的發(fā)現(xiàn)協(xié)議。還 假設(shè)機頂盒103、104初始時不存儲任何子流。應(yīng)注意,機頂盒103、104當(dāng)然可以在初始化 之前存儲內(nèi)容,例如這是由于網(wǎng)絡(luò)內(nèi)的機頂盒的位置的改變所引起的。機頂盒103、104必 須遵從所定義的協(xié)議來決定其應(yīng)存儲哪個子流,然后下載被這樣確定的子流。當(dāng)新的機頂盒104加入網(wǎng)絡(luò)時,它向跟蹤器102發(fā)送請求。在圖中加入網(wǎng)絡(luò)的新的 機頂盒104被標(biāo)記為“盒b”。如以上所注明的,在示例性實施例中,新添加的機頂盒104的 本地存儲裝置初始時是空的。由被標(biāo)記為“1”的虛線箭頭來指示對跟蹤器102的請求。當(dāng) 在機頂盒中存儲的子流之一變?yōu)閺U棄(obsolete)時,也可以發(fā)送該請求。在這種情形中, 該機頂盒也需要請求新的子流來替換廢棄的子流。類似于BitTorrent協(xié)議,示例性系統(tǒng)中的跟蹤器102負(fù)責(zé)連接所有的機頂盒。為 此,它可以維護(hù)所有活動的機頂盒的索引。當(dāng)跟蹤器102從新添加的機頂盒104接收到請求 時,它發(fā)送回活動的機頂盒103的列表。在圖中由被標(biāo)記為“2”的虛線箭頭來指示發(fā)送回 活動的機頂盒103的列表。這導(dǎo)致建立機頂盒103、104的重疊(overlay)網(wǎng)絡(luò)。應(yīng)注意, 還可以使用沒有跟蹤器的架構(gòu),例如,分布式哈希表(DHT)或者純分布式架構(gòu)。一旦新添加的機頂盒104 (盒b)接收到活動的機頂盒103的列表時,“盒b”測量 它與該列表中的所有機頂盒103的距離,并且檢查其他機頂盒103實際存儲了哪個子流。機 頂盒104然后確定3元組(tuple)數(shù)據(jù)集合,該3元組數(shù)據(jù)集合包括每個機頂盒103的唯一 的標(biāo)識符(boxID)、距離和/或成本的值,以及列表中每個機頂盒103容納的子流。如以上 提到的,網(wǎng)絡(luò)距離或成本的定義取決于優(yōu)化的目標(biāo)。例如,如果要減少網(wǎng)絡(luò)流量,則路由器 級別或者AS級別中繼段的數(shù)量可以指示網(wǎng)絡(luò)距離。AS是“自治系統(tǒng)(AutonomousSystem) ” 的縮寫,即,雖然是自足的(self-contained)但允許訪問其他自治系統(tǒng)的系統(tǒng)。新添加的 機頂盒104基于鄰近的機頂盒103的距離和內(nèi)容可用性這兩者的知識來確定要本地地存儲 哪個子流。應(yīng)注意,機頂盒104自身設(shè)置的對3元組數(shù)據(jù)集合的確定也可以被機頂盒104外 部的第三方服務(wù)所替換。例如,可以設(shè)想當(dāng)新添加的機頂盒104發(fā)出請求時,跟蹤器102將 該服務(wù)集成并且直接提供例如作為活動的機頂盒103的列表的一部分的測量結(jié)果。還可以 使用如Vivaldi或者M(jìn)eridian的分布式距離估算協(xié)議。優(yōu)選地,距離測量考慮了在實際數(shù)據(jù)下載期間使用的路由策略。例如,兩個機頂 盒103可以位于兩個直接連接的AS (自治系統(tǒng))中,但是不幸的是,在這兩個AS之間的 鏈路成本非常高。當(dāng)ASl從AS2下載內(nèi)容時,實際使用通過第三AS的另一路由(例如, AS1-AS3-AS2)而不是直接鏈路來用于數(shù)據(jù)分組。在這種情形下,應(yīng)該使用經(jīng)由AS3從ASl 到AS2的路由來進(jìn)行距離計算。新添加的機頂盒104基于在之前的步驟中獲得的測量結(jié)果來決定它應(yīng)該下載哪 個子流。為了限制計算的復(fù)雜性并減少由測量自身造成的網(wǎng)絡(luò)流量,設(shè)置閾值ο可能是 有用的。所有位于比ο大的距離的機頂盒103將不被測量并且在進(jìn)行決策時將不被考慮。
在所有所考慮的機頂盒103中,變量C表示這些機頂盒103的全體已經(jīng)存儲的子 流的集合。變量k表示完整數(shù)據(jù)文件或視頻文件的子流的數(shù)量。一旦C被計算,則存在兩 種可能的情境C| <k:這意味著C沒有包含所有必需的子流。在這種情形下,新添加的機頂盒 104從不是所考慮的機頂盒103的一部分的任何源下載C的所有缺失的子流中的隨機子流。C| = k 在機頂盒104的鄰近處可以找到視頻或數(shù)據(jù)文件的所有子流。在這種 情形下,機頂盒104將下載并存儲“最遠(yuǎn)的”子流?!白钸h(yuǎn)的”子流被定義為如果機頂盒104 想要使用預(yù)定的路由協(xié)議獲取其副本(replica),將產(chǎn)生最大成本的那一個子流。應(yīng)注意, “最遠(yuǎn)的”子流可以不同于最遠(yuǎn)的盒存儲的子流。圖2示出了被添加了新的機頂盒的示例性網(wǎng)絡(luò),并且在下文中該示例性網(wǎng)絡(luò)將用 于闡明確定要下載并存儲哪個片段的處理。 在所示出的示例中,假設(shè)文件X的片段總數(shù)為k = 2,S卩,文件X被劃分為2個子流 或者片段1/2、2/2。該系統(tǒng)包括機頂盒1031和1032,兩個機頂盒都存儲文件X的片段1/2。 機頂盒1034存儲文件X的片段2/2。新的機頂盒1033被添加并且發(fā)現(xiàn)其三個相鄰者,機頂 盒1031、1032和1034。如上提到的,它們中的每一個已經(jīng)容納一個子流。新的機頂盒1033 測量到它的相鄰者的距離并且還檢查它們存儲哪些子流。然后,新的機頂盒1033運行本發(fā) 明的方法來決定要本地地存儲哪個子流。根據(jù)本發(fā)明,它將選擇最遠(yuǎn)的子流(在該示例中 為子流2/2)而不是子流1/2。這是因為機頂盒1031已經(jīng)存儲了子流1/2并且位置靠近機 頂盒1033,而存儲子流2/2的機頂盒1034比機頂盒1031相對更遠(yuǎn)。雖然機頂盒1032位 置比機頂盒1034還要遠(yuǎn),但存儲子流1/2的另一拷貝將不會減少所有需要的子流的整個距 罔。機頂盒1033然后可以從內(nèi)容服務(wù)器和存儲該子流的其他活動的盒并行地下載所 選擇的子流。一旦下載結(jié)束,就完成了新添加的機頂盒1033所發(fā)送的請求。前面描述的步驟表示一個機頂盒怎樣選擇給定文件的一個子流??梢栽谙嗤臋C 頂盒中存儲不同文件的子流。根據(jù)本發(fā)明的一個方面,獨立的服務(wù)可以確定在每個機頂盒 中要存儲的文件的集合。該服務(wù)還可以考慮文件的受歡迎程度、用戶的偏好等等。一旦確 定文件的集合,就根據(jù)本說明書中描述的方法在機頂盒中放置相應(yīng)的片段。圖3示出根據(jù)本發(fā)明的機頂盒103的框圖。機頂盒包括用于發(fā)送和接收數(shù)據(jù)和命 令或請求的網(wǎng)絡(luò)接口 1103。另外,提供適配于執(zhí)行本發(fā)明的方法的微處理器2103。存儲器 3103可以伴隨微處理器來執(zhí)行程序。存儲器可以包括閃存、SRAM、SDRAM或者光或磁的存儲 裝置,或者它們的組合。前面描述的本發(fā)明提供了一種改進(jìn)的用于內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)的內(nèi)容分配/放置 的方法,該內(nèi)容分發(fā)網(wǎng)絡(luò)是所謂的“以盒為動力的”,即,使用分布式的用戶機頂盒來存儲和 分發(fā)。本發(fā)明有利地提高了分發(fā)和相關(guān)聯(lián)的流量的效率。此外,本發(fā)明有利地允許內(nèi)容分 發(fā)的分布式管理。另外,本發(fā)明的方法是高度自適應(yīng)的。服務(wù)提供商可以定義不同的自身 的距離/成本參數(shù)并且實現(xiàn)完全定制的優(yōu)化。
權(quán)利要求
用于在網(wǎng)絡(luò)上分發(fā)電子內(nèi)容的方法,所述網(wǎng)絡(luò)包括至少兩個網(wǎng)絡(luò)站點,所述至少兩個網(wǎng)絡(luò)站點適配于存儲內(nèi)容和獲取所存儲的內(nèi)容,其中按文件來組織所存儲的內(nèi)容,其中文件被劃分為片段,給定文件的全部片段是重構(gòu)該給定文件所需要的,其中給定文件的一個或多個片段被存儲在各個不同的網(wǎng)絡(luò)站點中,當(dāng)向該網(wǎng)絡(luò)添加網(wǎng)絡(luò)站點時,所述方法包括以下步驟-所添加的網(wǎng)絡(luò)站點確定從網(wǎng)絡(luò)的位于預(yù)定最大距離內(nèi)的其他網(wǎng)絡(luò)站點中可得到給定文件的哪些片段;其中,在從網(wǎng)絡(luò)的位于預(yù)定最大距離內(nèi)的一個或多個其他網(wǎng)絡(luò)站點處給定文件的所有片段不都可得到的情況下,所述方法進(jìn)一步包括以下步驟-所添加的網(wǎng)絡(luò)站點從位置比預(yù)定最大距離更遠(yuǎn)的另一網(wǎng)絡(luò)站點處下載給定文件的一組缺失的片段中的隨機片段;其中,在從網(wǎng)絡(luò)的位于預(yù)定最大距離內(nèi)的一個或多個其他網(wǎng)絡(luò)站點處可得到給定文件的所有片段的情況下,所述方法進(jìn)一步包括以下步驟-所添加的網(wǎng)絡(luò)站點確定位于預(yù)定最大距離內(nèi)的一組網(wǎng)絡(luò)站點,所確定的組包含位置最靠近所添加的網(wǎng)絡(luò)站點而同時使得可得到重構(gòu)完整文件所需要的給定文件的所有片段的那些網(wǎng)絡(luò)站點;-所添加的網(wǎng)絡(luò)站點從所確定的該組網(wǎng)絡(luò)站點中位于最遠(yuǎn)處的網(wǎng)絡(luò)站點下載給定文件的片段。
2.根據(jù)權(quán)利要求1的方法,其中沒有一個網(wǎng)絡(luò)站點存儲給定文件的所有片段。
3.根據(jù)權(quán)利要求1的方法,其中所述片段具有預(yù)定的最大尺寸。
4.根據(jù)權(quán)利要求1的方法,其中在一個網(wǎng)絡(luò)站點上存儲的文件的片段可以表示相應(yīng)總 的文件的連續(xù)的或非連續(xù)的部分。
5.根據(jù)權(quán)利要求1的方法,其中所添加的網(wǎng)絡(luò)站點確定它當(dāng)前已存儲了文件的哪些片段。
6.根據(jù)權(quán)利要求1的方法,其中所添加的網(wǎng)絡(luò)站點初始時未存儲內(nèi)容。
7.根據(jù)權(quán)利要求1的方法,其中所述比預(yù)定最大距離更遠(yuǎn)的網(wǎng)絡(luò)站點包括容納文件的 所有片段的內(nèi)容服務(wù)器。
8.根據(jù)權(quán)利要求1的方法,其中,當(dāng)初始化網(wǎng)絡(luò)時,內(nèi)容服務(wù)器確定要由哪些網(wǎng)絡(luò)站點 存儲哪些片段。
9.根據(jù)權(quán)利要求1的方法,其中距離的計算基于網(wǎng)絡(luò)成本、路由器中繼段、傳送等待時 間、傳送延遲,或者它們的組合。
10.電子內(nèi)容分發(fā)系統(tǒng)的網(wǎng)絡(luò)站點,所述網(wǎng)絡(luò)站點包括用于發(fā)送和接收命令和數(shù)據(jù)的 網(wǎng)絡(luò)接口、微處理器以及程序和數(shù)據(jù)存儲器,其中所述網(wǎng)絡(luò)站點適配于在被添加到網(wǎng)絡(luò)時 執(zhí)行根據(jù)權(quán)利要求1-9中的任一項的方法。
11.根據(jù)權(quán)利要求10的網(wǎng)絡(luò)站點,其中所述網(wǎng)絡(luò)站點適配于以及時的和按順序的方式 來流傳輸文件的片段,和/或適配于在重現(xiàn)在該網(wǎng)絡(luò)站點上已經(jīng)可得到的文件的部分的同 時接收文件的片段并且對所接收的片段進(jìn)行緩沖。
12.電子內(nèi)容分發(fā)系統(tǒng),包括具有至少兩個根據(jù)權(quán)利要求10或11所述網(wǎng)絡(luò)站點的網(wǎng)
全文摘要
內(nèi)容分發(fā)網(wǎng)絡(luò),具有至少兩個適配于存儲和獲取內(nèi)容的網(wǎng)絡(luò)站點。內(nèi)容被劃分為分散在不同網(wǎng)絡(luò)站點上的片段。當(dāng)將另一網(wǎng)絡(luò)站點添加到該網(wǎng)絡(luò)時,它確定從預(yù)定最大距離內(nèi)的其他網(wǎng)絡(luò)站點中可得到所期望的內(nèi)容的哪些片段。在從預(yù)定最大距離內(nèi)的其他網(wǎng)絡(luò)站點所期望的內(nèi)容的所有片段不可都得到的情況下,所添加的網(wǎng)絡(luò)站點從比預(yù)定最大距離更遠(yuǎn)的網(wǎng)絡(luò)站點下載所期望的內(nèi)容的一組缺失的片段中的隨機片段。否則,所添加的網(wǎng)絡(luò)站點確定位于預(yù)定最大距離內(nèi)具有與所添加的網(wǎng)絡(luò)站點的最靠近的距離、同時它們的全體使得可得到重構(gòu)完整文件所需要的期望的內(nèi)容的所有片段的一組網(wǎng)絡(luò)站點。然后所添加的網(wǎng)絡(luò)站點從之前確定的該組網(wǎng)絡(luò)站點中位于最遠(yuǎn)處的網(wǎng)絡(luò)站點下載所期望的內(nèi)容的片段。
文檔編號H04L29/06GK101888403SQ20101018079
公開日2010年11月17日 申請日期2010年5月13日 優(yōu)先權(quán)日2009年5月15日
發(fā)明者吉勒斯·斯特勞布, 格溫達(dá)爾·西蒙, 陳宜平 申請人:湯姆森特許公司