用于在高速緩沖存儲器中對命名數(shù)據(jù)網(wǎng)絡對象排序的系統(tǒng)和方法
【技術領域】
[0001] 本發(fā)明大體上涉及命名數(shù)據(jù)網(wǎng)絡(NDN)。更確切地說,本發(fā)明涉及在高速緩沖存儲 器中對內(nèi)容對象進行排序。
【背景技術】
[0002] 移動計算和蜂窩式網(wǎng)絡的擴增使得數(shù)字內(nèi)容比以往任何時候都更具有移動性。人 們可以使用他們的智能電話來生成內(nèi)容,消耗內(nèi)容或甚至提供對生成或消耗內(nèi)容的其它計 算裝置的互聯(lián)網(wǎng)訪問。時常,裝置的網(wǎng)絡位置可以隨著個人將此裝置帶到新物理位置而改 變。當裝置的新網(wǎng)絡位置未知時,這可以使得難以在傳統(tǒng)的計算機網(wǎng)絡(例如,互聯(lián)網(wǎng))下 與此裝置通信。
[0003] 為了解決此問題,信息中心網(wǎng)絡(ICN)架構已經(jīng)被設計為促進基于其名稱訪問數(shù) 字內(nèi)容,而無論內(nèi)容的物理或網(wǎng)絡位置如何。命名數(shù)據(jù)網(wǎng)絡(NDN)是以信息為中心的網(wǎng)絡 (ICN)的一個實例。不同于傳統(tǒng)的網(wǎng)絡,例如,其中包基于用于端點的地址轉發(fā)的互聯(lián)網(wǎng)協(xié) 議(IP)網(wǎng)絡,NDN架構將可路由的名稱(例如,地址)分配到內(nèi)容本身,使得可以從代管內(nèi) 容的任何裝置中檢索內(nèi)容。
[0004] 典型的NDN架構轉發(fā)兩種類型的包:興趣和內(nèi)容對象。興趣包含用于一條命名數(shù) 據(jù)的名稱,并且充當用于所述一條命名數(shù)據(jù)的請求。另一方面,內(nèi)容對象通常包含有效負 載,并且僅沿著已經(jīng)被具有匹配名稱的興趣橫越的網(wǎng)絡路徑轉發(fā),并且在通過興趣包獲取 的相反方向上橫越此路徑。典型的NDN架構僅作為到興趣包的響應發(fā)送內(nèi)容對象;內(nèi)容對 象不是未經(jīng)請求的發(fā)送的。
[0005] NDN架構可以通過允許發(fā)布者簽署內(nèi)容來確保內(nèi)容真實性,這允許消費者驗證內(nèi) 容簽名。然而,典型的NDN路由器并不在內(nèi)容對象上執(zhí)行內(nèi)容簽名驗證以避免招致額外的 網(wǎng)絡時延。一些NDN路由器還維持高速緩沖存儲內(nèi)容的內(nèi)容存儲區(qū)以將往返延遲降到最 小,方法是在任何可能的時候返回高速緩沖存儲的內(nèi)容對象。然而,路由器中高速緩沖存儲 的內(nèi)容打開門以用于拒絕服務(DoS)攻擊。
[0006] -個此類DoS攻擊涉及內(nèi)容中毒,其中對手注入虛假內(nèi)容到路由器的高速緩沖存 儲器中以用阻斷相同名稱的合法內(nèi)容的訪問的虛假內(nèi)容充溢NDN網(wǎng)絡。雖然消費者可以通 過執(zhí)行簽名驗證來檢測虛假內(nèi)容,但是典型的NDN架構并不搜索虛假內(nèi)容以從高速緩沖存 儲器中移除。
[0007] 客戶端可以通過推行自身證明內(nèi)容名稱的使用來避免變成內(nèi)容中毒攻擊的受害 者。客戶端可以發(fā)布通過包含其雜湊的其全稱指代內(nèi)容的興趣。然而,這僅在客戶端提前 知曉內(nèi)容的雜湊值時是可能的??蛻舳丝赡懿荒軌驈娭茍?zhí)行自身證明名稱的使用以用于可 以頻繁地改變的動態(tài)生成的內(nèi)容(例如,每分鐘更新的網(wǎng)頁),這是因為其內(nèi)容中的任何變 化導致了用于內(nèi)容的新的雜湊。
【發(fā)明內(nèi)容】
[0008] 一個實施例提供一種路由器,所述路由器可以選擇內(nèi)容對象以進行排序并且分析 所述內(nèi)容對象的歷史使用信息以確定接收用于內(nèi)容對象的一組排除。內(nèi)容對象可包含存儲 于本地高速緩沖存儲器或內(nèi)容存儲區(qū)中的高速緩沖存儲的內(nèi)容對象。路由器隨后基于用于 內(nèi)容對象的排除的組和一個或多個預定排除模式計算用于內(nèi)容對象的排序值,并且存儲與 內(nèi)容對象相關聯(lián)的排序值。
[0009] 在一些實施例中,路由器屬于命名數(shù)據(jù)網(wǎng)絡(NDN),所述命名數(shù)據(jù)網(wǎng)絡是信息中心 網(wǎng)絡(ICN)的一個實例。在ICN (和NDN)中,每一條內(nèi)容分別地得到命名,并且每一條數(shù)據(jù) 綁定到區(qū)分所述數(shù)據(jù)與任何其它條數(shù)據(jù)的唯一名稱,例如,相同數(shù)據(jù)的其它版本或來自其 它來源的數(shù)據(jù)。此唯一名稱允許網(wǎng)絡裝置通過散播指示所述唯一名稱的請求或興趣來請求 數(shù)據(jù),并且所述網(wǎng)絡裝置可獨立于數(shù)據(jù)的存儲位置、網(wǎng)絡位置、應用程序和運送手段而獲得 數(shù)據(jù)。以下術語描述CCN架構的元素:
[0010] 內(nèi)容對象:單條侖名數(shù)據(jù),其綁定到唯一名稱。內(nèi)容對象是"持久性的",這意味著 內(nèi)容對象可以在計算裝置內(nèi)來回移動,或跨越不同計算裝置移動,但是并不發(fā)生變化。如果 內(nèi)容對象的任何組分發(fā)生改變,那么造成所述改變的實體創(chuàng)建包含更新過的內(nèi)容的新內(nèi)容 對象,并且將所述新內(nèi)容對象綁定到新的唯一名稱。
[0011] 獨特名稱:NDN中的名稱通常是獨立于位置的并且唯一地識別內(nèi)容對象。數(shù)據(jù)轉 發(fā)裝置可以使用名稱或名稱前綴來朝向生成或存儲內(nèi)容對象的網(wǎng)絡節(jié)點轉發(fā)數(shù)據(jù)包,而無 論所述內(nèi)容對象的網(wǎng)絡地址或物理位置如何。在一些實施例中,名稱可以是階層結構式可 變長度標識符(HSVLI)。HSVLI可以劃分成若干階層組分,所述組分可以不同方式構造。舉 例來說,個體名稱組分parc、home、ndn及test, txt可以左向前綴為主方式(left-oriented prefix-major fashion)結構化以形成名稱"/parc/home/ndn/test.txt"。因此,名稱"/ parc/home/ndn" 可為"/parc/home/ndn/test. txt" 的"親代(parent) " 或"前綴"。額外組 分可以用于區(qū)分內(nèi)容項目的不同版本,例如,協(xié)作文檔。
[0012] 在一些實施例中,名稱可包含標識符,例如從內(nèi)容對象的數(shù)據(jù)(例如,校驗和值) 和/或從內(nèi)容對象的名稱的元素導出的雜湊值。基于雜湊的名稱的描述在由發(fā)明人伊格 納西奧?索利斯(Ignacio Solis)在2013年3月20日提交的第13/847, 814號美國專利 申請案(標題為"用于基于名稱的包轉發(fā)的有序元素命名(ORDERED-ELEMENT NAMING FOR NAME-BASED PACKET FORWARDING)")中描述,所述申請案特此通過引用并入本文中。名稱 還可以是扁平標簽。下文中,"名稱"用于指名稱數(shù)據(jù)網(wǎng)絡中的一條數(shù)據(jù)的任何名稱,例如階 層名稱或名稱前綴、平面名稱、固定長度名稱、任意長度名稱或標記(例如,多協(xié)議標記交 換(MPLS)標記)。
[0013] 豈趣:包,其指示對于一條數(shù)據(jù)的請求,并且包含所述條數(shù)據(jù)的名稱(或名稱前 綴)。數(shù)據(jù)消費者可跨越信息中心網(wǎng)絡散播請求或興趣,NDN路由器可朝向存儲裝置(例 如,緩存服務器)或可以提供所請求數(shù)據(jù)以滿足所述請求或興趣的數(shù)據(jù)產(chǎn)生者傳播所述請 求或興趣。
[0014] 在一些實施例中,NDN或ICN系統(tǒng)可包含內(nèi)容中心網(wǎng)絡(CCN)架構。然而,本文中 所揭示的方法也同樣適用于其它ICN架構。CCN架構的描述在(由發(fā)明人范· L ·雅各布 森(Van L. Jacobson)和黛安娜·Κ ·斯梅特斯(Diana K. Smetters)在 2008 年 12 月 18 日 提交的標題為"控制內(nèi)容中心網(wǎng)絡中的興趣和內(nèi)容的傳播(CONTROLLING THE SPREAD OF INTERESTS AND CONTENT IN A CONTENT CENTRIC NETWORK)")的第 12/338, 175 號美國專 利申請案中描述,所述申請案特此通過引用并入本文中。
[0015] 在一些實施例中,路由器選擇內(nèi)容對象以響應于在高速緩沖存儲器中存儲內(nèi)容對 象、接收其名稱匹配內(nèi)容對象的名稱或名稱前綴的興趣或接收包含內(nèi)容對象的例外的興趣 進行排序。
[0016] 在一些實施例中,路由器接收其名稱與多個高速緩沖存儲的內(nèi)容對象相關聯(lián)的興 趣,并且從多個高速緩沖存儲的內(nèi)容對象中選擇具有最高排序值的高速緩沖存儲的內(nèi)容對 象。所述路由器隨后返回選定的高速緩沖存儲的內(nèi)容對象以滿足所述興趣。
[0017] 在一些實施例中,路由器可以確定內(nèi)容對象是新的內(nèi)容對象,并且將最大排序值 分配到內(nèi)容對象。路由器可以確定內(nèi)容對象是新的內(nèi)容對象,例如,通過確定內(nèi)容對象尚未 返回以滿足興趣,和/或確定排除尚未接收用于內(nèi)容對象。
[0018] 在一些實施例中,路由器從一組預定排除模式中選擇一個或多個排除模式以用于 排序內(nèi)容對象。預定排除模式的組可包含排除速率模式、時間分配模式和/或排除-接口 模式。排除速率模式基于內(nèi)容對象接收排除的速率對內(nèi)容對象進行排序。時間分配模式基 于自內(nèi)容對象接收排除經(jīng)過的時間對內(nèi)容對象進行排序。排除-接口模式基于內(nèi)容對象從 中接收排除的本地接口的一部分對內(nèi)容對象進行排序。
[0019] 在一些實施例中,在計算排序值的同時,路由器基于用于內(nèi)容對象的排除的組計 算用于每個排除模式的因數(shù)。路由器隨后基于用于每個排除模式的個體因數(shù)計算總體因數(shù) F,并且使用總體因數(shù)F計算排序值。
[0020] 在這些實施例的一些變化形式中,在計算排序值的同時,路由器計算:
[_](剛⑴
[0022] 此處,rn|HW指定用于內(nèi)容對象的排序值,并且t指定內(nèi)容對象在高速緩沖存儲器 中的年齡。
【附圖說明】
[0023] 圖1說明根據(jù)一個實施例促進選擇最高排序的高速緩沖存儲的內(nèi)容對象以滿足 興趣的示例性網(wǎng)絡環(huán)境。