用于可重構一體化內容流的系統(tǒng)和方法
【技術領域】
[0001]本申請一般涉及內容中心網絡(CCN)。更具體地,本申請涉及在內容中心網絡(CCN)中使用單個命名流來下載內容對象集合的系統(tǒng)和方法。
【背景技術】
[0002]互聯(lián)網和電子商務的繁榮繼續(xù)引發(fā)網絡行業(yè)的革命性變化。當今,從在線觀看電影到每日新聞發(fā)送、零售和即時消息的相當大量的信息交互是在線進行的。日益增長的互聯(lián)網應用也變成移動的。然而,當前的互聯(lián)網基于大型的基于位置的尋址方案工作。兩個最普遍存在的協(xié)議即互聯(lián)網協(xié)議(IP)和以太網協(xié)議都以終端主機地址為基礎。即,內容的消費者可以只接收通過從通常與物理對象或位置關聯(lián)的地址(例如IP地址或以太網介質訪問控制(MAC)地址)顯式請求內容的內容。此限制性的尋址方案越來越不足以滿足不斷變化的網絡需求。
[0003]最近,行業(yè)中已經提出信息中心網絡(ICN)架構,其中,內容是直接命名和尋址的。內容中心網絡(CCN)是一種示例性ICN架構,它將新方法引入到內容傳輸。代替在應用等級以內容得以通過的端對端對話查看網絡流量,內容是基于其唯一的名稱請求或返回的,網絡負責將內容從提供者路由到消費者。注意,內容包括可以在通信系統(tǒng)中傳輸?shù)臄?shù)據(jù),包括任何形式的數(shù)據(jù),諸如文本、圖像、視頻和/或音頻。消費者和提供者可以是計算機處的個人或CCN內部或外部的自動化過程。一項內容可以指整個內容或內容的相應部分。例如,新聞文章可以由體現(xiàn)為數(shù)據(jù)包的多項內容表示。一項內容還可以與元數(shù)據(jù)關聯(lián),所述元數(shù)據(jù)描述或用諸如認證數(shù)據(jù)、創(chuàng)建日期、內容所有者等的信息加強該項內容。
[0004]在CCN中,名稱扮演重要角色。更具體地,內容對象和興趣是由其名稱標識的,名稱通常是分層結構的可變長度標識符(HSVLI)。興趣和內容對象基于其名稱在網絡中流動。在下載命名內容(可以是文件庫或網頁)時,請求者通常需要發(fā)布興趣消息的初始集合來獲得庫的目錄或網頁的標記文檔。在網頁情況下,一旦接收標記文檔,請求者需要解析標記文檔,然后開始下載由標記文檔引用的嵌入式對象。這種過程通常需要超過一個往返時間(RTT),因此給內容下載過程帶來大量的延遲。這個問題類似于IP網絡遇到的下載延遲問題。
[0005]在IP世界里,人們還不滿足超文本傳輸協(xié)議(HTTP)的性能,原因是盡管在傳輸個別文件時非常高效,但HTTP不能有效地傳輸大量的小文件。然而,今天的網絡目的地通常包括數(shù)十個或更多的嵌入式對象,諸如圖像、級聯(lián)樣式表(CSS)文件和外部JavaScript文件的頁面。加載所有這些個別文件占用時間,原因是單獨請求這些文件并等待TCP(傳輸控制協(xié)議)會話以探測網絡能力和上升到其傳輸速度的所有這些開銷。例如,在使用HTTP通過TCP請求網站內容時,請求者通常必須等待三次TCP握手完成來發(fā)送GET請求,之后開始下載期望的HTTP和HTML標記文檔。然后,在解析標記文檔之后,請求者可以請求個別嵌入式對象。為了降低這些下載延遲,在IP設置時已經開發(fā)出某些“零往返時間”協(xié)議,諸如由Google開發(fā)的SPTY? (加利福尼亞門洛帕克市Google公司的注冊商標)。然而,在CCN設置中不存在這種解決方案。
【發(fā)明內容】
[0006]本發(fā)明的一個實施例提供一種用于組合可重構內容流并通過網絡傳送可重構內容流的系統(tǒng)。操作中,所述系統(tǒng)獲得包括多個內容組成的內容集合并生成內容集合的清單。所述清單中的表項對應于內容組成。所述系統(tǒng)獲得流構造規(guī)則集合;通過將所述流構造規(guī)則集合附帶到所述清單來生成流構造清單;并基于所述流構造規(guī)則集合構造內容集合的流對象集合。相應的流對象可以包括內容組成的嵌入塊。所述系統(tǒng)還用加密方式對流對象集合簽名;以及通過包括之后跟隨所述流對象集合的所述流構造清單來組合可重構內容流,從而使網絡中的中間節(jié)點能夠提取并存儲一個或多個內容組成的嵌入塊,并在稍后時間基于所述流構造清單和存儲的嵌入塊重構所述一個或多個內容組成的流對象。
[0007]在此實施例的一個變形中,所述流構造規(guī)則集合包括以下的一個或多個:限定所述流對象集合的命名規(guī)范的規(guī)則;規(guī)定簽名密鑰的規(guī)則;以及規(guī)定在所述流構造清單中是否包括所述流對象集合的加密簽名的規(guī)則。
[0008]在此實施例的一個變形中,相應內容組成包括跨越多個流對象的多個塊,清單中的對應表項列出多個流對象中嵌入的多個塊的散列值。
[0009]在又一個變形中,所述流構造清單還包括在所述流構造清單上生成的加密簽名,從而使流對象的接收者能夠基于所述加密簽名認證所述流對象集合。
[0010]在此實施例的一個變形中,所述網絡是內容中心網絡,所述流對象是標準CCN內容對象。
[0011]本發(fā)明的一個實施例提供一種用于重構屬于內容流的一個或多個流對象以用于下載內容集合的系統(tǒng)。操作中,所述系統(tǒng)從所述內容集合的提供者接收所述內容流的流對象的初始集合。所述流對象的初始集合包括流構造清單,其中,所述流構造清單包括流構造規(guī)則集合和與所述內容集合中的內容組成對應的表項集合。響應于確定所述內容集合中包括的內容組成存在于本地緩存中,所述系統(tǒng)基于所述流構造規(guī)則集合重構所述內容組成的一個或多個流對象;并將重構的一個或多個流對象插入到所述內容流中。
【附圖說明】
[0012]圖1圖解說明根據(jù)本發(fā)明的實施例的網絡的示例性架構。
[0013]圖2呈現(xiàn)對傳統(tǒng)清單的格式進行圖解說明的圖。
[0014]圖3A呈現(xiàn)對網頁中包括的各個組成進行圖解說明的圖。
[0015]圖3B呈現(xiàn)對下載帶嵌入式對象的網頁的傳統(tǒng)過程進行圖解說明的圖。
[0016]圖4呈現(xiàn)對根據(jù)本發(fā)明的實施例的示例性一體化清單(all-1n-one manifest)的格式進行圖解說明的圖。
[0017]圖5呈現(xiàn)對根據(jù)本發(fā)明的實施例的一體化流中的示例性內容對象的格式進行圖解說明的圖。
[0018]圖6呈現(xiàn)對根據(jù)本發(fā)明的實施例使用一體化流下載內容集合的示例性過程的圖。
[0019]圖7呈現(xiàn)對根據(jù)本發(fā)明的實施例的示例性遞歸一體化流進行圖解說明的圖。
[0020]圖8呈現(xiàn)對根據(jù)本發(fā)明的實施例帶多段清單的示例性一體化流進行圖解說明的圖。
[0021]圖9呈現(xiàn)對根據(jù)本發(fā)明的實施例構造可以用來下載內容集合的一體化流的過程進行圖解說明的圖。
[0022]圖10呈現(xiàn)對根據(jù)本發(fā)明的實施例的示例性流構造清單進行圖解說明的圖。
[0023]圖11呈現(xiàn)對根據(jù)本發(fā)明的實施例如何構造流內容對象進行圖解說明的圖。
[0024]圖12呈現(xiàn)對根據(jù)本發(fā)明的實施例構造可重構一體化流的示例性過程進行圖解說明的流程圖。
[0025]圖13呈現(xiàn)對根據(jù)本發(fā)明的實施例重構一體化流的示例性過程進行圖解說明的流程圖。
[0026]圖14對根據(jù)本發(fā)明的實施例實現(xiàn)內容下載的可重構一體化流的示例性系統(tǒng)進行圖解說明。
[0027]在圖中,相同的附圖標記指相同的附圖元件。
【具體實施方式】
[0028]概沭
[0029]本發(fā)明的實施例提供使用可重構一體化流(all-1n-one stream)下載嵌入式對象(內容組成)的集合的系統(tǒng)和方法??芍貥嬕惑w化流允許在其緩存中有嵌入式對象的轉發(fā)者基于特殊清單(也稱作流構造清單)中攜帶的信息從其緩存的嵌入式對象構造可重構內容對象的集合。流構造清單包括常規(guī)的一體化清單加上流構造規(guī)則、元數(shù)據(jù)和加密簽名。這允許轉發(fā)者跳過獲得緩存的嵌入式對象的流封裝的過程。此外,流構造清單可以用作安全目錄,攜帶整個流的所有簽名。
[0030]通常,CCN使用兩種類型的消息:興趣和內容對象。興趣承載內容對象的分層結構的可變長度標識符(HSVLI),也稱作內容對象的“名稱”或“CCN名稱”,并用作對該對象的請求。如果網絡元件(例如路由器)接收對相同名稱的多個興趣,則它可以聚合這些興趣。在具有匹配的內容對象的興趣的路徑上的網絡元件可以緩存并返回該對象,以滿足興趣。內容對象遵循相反的興趣路徑到達興趣的(若干)原點。內容對象除其它信息外包含相同的HSVLI,對象的有效載荷,以及用來將HSVLI綁定到有效載荷的加密信息。
[0031]本申請中使用的詞語通常定義如下(但其解釋不限于此):
[0032]“HSVL1: ”分層結構的可變長度標識符,也稱作“名稱”。它是名稱組件的排序列表,它可以是可變長度的八位字節(jié)字符串。以人可讀的形式,HSVLI可以用諸如ccnx:/path/part的形式表示。同樣,HSVLI可能不是人可讀的。如上文提到的,HSVLI指內容,希望HSVLI能夠表示內容的組織結構,并至少部分對人是有意義的。HSVLI的個別組成可以具有任意長度。而且,HSVLI可以具有顯式界定的組成,可以包括任何字節(jié)序列,不局限于人可讀的字符。最長前綴匹配查詢在轉發(fā)具有HSVLI的包時是重要的。例如,指示對“/parc/home/bob” 的興趣的 HSVLI 會與 “/parc/home/bob/test.txt” 和 “/parc/home/bob/bar.txt”匹配。按照名稱組件的數(shù)目,最長匹配被認為是最佳的,原因是它是最具體的。對HSVLI的詳細描述可以在發(fā)明人Van L.Jacobson和James D.Thornton于2009年9月23日申請的名稱為“SYSTEM FOR FORWARDING A PACKET WITH A HIERARCHICHALLY STRUCTUREDVARIABLE-LENGTH IDENTIFIER”、律師案號為 PARC-20090115Q 的美國專利號 8,160, 069 中找到。
[0033]“興趣(Interest) ”:對內容對象的請求。興趣規(guī)定HSVLI名稱前綴和可以用來在具有相同名稱前綴的多個對象中選擇的其它可選的選擇器。其名稱與興趣的名稱前綴(并且可選的其它請求的參數(shù),諸如發(fā)布者密鑰-1D匹配)匹配的任何內容對象滿足興趣。
[0034]“內容對象(Content Object)”:響應于興趣發(fā)送的數(shù)據(jù)對象。它具有HSVLI名稱和通過加密簽