用于ccn管道流的可靠?jī)?nèi)容交換的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)一般涉及內(nèi)容中心網(wǎng)絡(luò)(CCN)。更具體地,本申請(qǐng)涉及在CCN節(jié)點(diǎn)之間建立信道以通過CCN進(jìn)行可靠?jī)?nèi)容交換。
【背景技術(shù)】
[0002]移動(dòng)計(jì)算和蜂窩網(wǎng)絡(luò)的繁榮使數(shù)字內(nèi)容比以往任何時(shí)候變得更加移動(dòng)。人們可以使用自己的智能手機(jī)來生成內(nèi)容、消費(fèi)內(nèi)容或者甚至向生成或消費(fèi)內(nèi)容的其它計(jì)算裝置提供互聯(lián)網(wǎng)接入。通常,當(dāng)人們攜帶著自己的移動(dòng)計(jì)算裝置來到新的物理位置時(shí),裝置的網(wǎng)絡(luò)位置可能變化。當(dāng)裝置的新網(wǎng)絡(luò)位置未知時(shí),在傳統(tǒng)計(jì)算機(jī)網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))下,與此裝置的通信可能變得困難。
[0003]為了解決此問題,設(shè)計(jì)出內(nèi)容中心網(wǎng)絡(luò)(CCN)架構(gòu),此架構(gòu)不管內(nèi)容的物理或網(wǎng)絡(luò)位置如何,促進(jìn)基于其名稱訪問數(shù)字內(nèi)容。典型的CCN架構(gòu)轉(zhuǎn)發(fā)兩種類型的包:興趣和內(nèi)容對(duì)象。興趣包括一項(xiàng)命名數(shù)據(jù)的名稱(并用作對(duì)該項(xiàng)命名數(shù)據(jù)的請(qǐng)求)。另一方面,內(nèi)容對(duì)象通常包括有效載荷,并且是沿著由具有匹配名稱的興趣遍歷(traverse)的網(wǎng)絡(luò)路徑轉(zhuǎn)發(fā)的,并且在興趣包采用的相反方向上遍歷此路徑。
[0004]一些內(nèi)容生產(chǎn)者允許代管裝置代表內(nèi)容生產(chǎn)者通過CCN托管內(nèi)容。這種代管通常在代管沿著內(nèi)容的轉(zhuǎn)發(fā)路徑時(shí)或者通過顯式地從內(nèi)容生產(chǎn)者請(qǐng)求內(nèi)容來接收內(nèi)容。然而,如果代管通過傳播對(duì)內(nèi)容組塊的興趣,通過CCN從內(nèi)容生產(chǎn)者檢索數(shù)據(jù)流,則代管可能從除了內(nèi)容生產(chǎn)者以外的裝置接收內(nèi)容,或者不接收內(nèi)容的一些組塊。例如,因?yàn)橹灰?jié)點(diǎn)可以產(chǎn)生滿足興趣的內(nèi)容對(duì)象,CCN架構(gòu)允許任何CCN節(jié)點(diǎn)對(duì)典型興趣做出響應(yīng),所以惡意實(shí)體可能將惡意或錯(cuò)誤數(shù)據(jù)注入到到達(dá)托管服務(wù)(hosting service)的數(shù)據(jù)流中。同樣,如果數(shù)據(jù)組塊對(duì)應(yīng)于活動(dòng)的數(shù)據(jù)流(例如流式視頻),則內(nèi)容生產(chǎn)者可能可以刪除已經(jīng)發(fā)送給代管的數(shù)據(jù)組塊,甚至在由于網(wǎng)絡(luò)錯(cuò)誤組塊未能到達(dá)代管時(shí)也如此。
【發(fā)明內(nèi)容】
[0005]—個(gè)實(shí)施例提供一種通過內(nèi)容中心網(wǎng)絡(luò)(CCN)可以建立與托管服務(wù)的內(nèi)容交換會(huì)話的客戶端裝置。操作中,客戶端裝置可以對(duì)與托管服務(wù)的控制信道進(jìn)行初始化,并使用此控制信道來建立與托管服務(wù)的一個(gè)或多個(gè)交換會(huì)話。當(dāng)客戶端裝置需要向托管服務(wù)發(fā)送內(nèi)容時(shí),客戶端裝置可以建立用于將內(nèi)容傳輸?shù)酵泄芊?wù)的交換會(huì)話。例如,客戶端裝置可以生成用來將內(nèi)容發(fā)送到托管服務(wù)的新交換會(huì)話的交換標(biāo)識(shí)符(XID),并通過控制信道將交換初始化請(qǐng)求發(fā)送到托管服務(wù)。交換初始化請(qǐng)求包括與內(nèi)容關(guān)聯(lián)的集合名稱和交換會(huì)話的XID。然后,響應(yīng)于接收通過交換會(huì)話對(duì)內(nèi)容的片斷進(jìn)行請(qǐng)求的興趣,客戶端可以返回有效載荷包括所請(qǐng)求的內(nèi)容片斷的內(nèi)容對(duì)象。
[0006]在內(nèi)容中心網(wǎng)絡(luò)(CCN)中,每項(xiàng)內(nèi)容是分別被命名的,每項(xiàng)數(shù)據(jù)被綁定到將該數(shù)據(jù)與任何其它項(xiàng)數(shù)據(jù)相區(qū)分的唯一名稱,諸如相同數(shù)據(jù)的其它形式或來自其它源的數(shù)據(jù)。此唯一名稱允許網(wǎng)絡(luò)裝置通過傳播指示唯一名稱的請(qǐng)求或興趣來請(qǐng)求數(shù)據(jù),可以獲得與數(shù)據(jù)的存儲(chǔ)位置、網(wǎng)絡(luò)位置、應(yīng)用和傳輸裝置無(wú)關(guān)的數(shù)據(jù)。以下詞語(yǔ)描述CCN架構(gòu)的元件:
[0007]內(nèi)容對(duì)象(Content Object):單——項(xiàng)命名數(shù)據(jù),其綁定到唯一名稱。內(nèi)容對(duì)象是“永久的”,這意味著內(nèi)容對(duì)象可以在計(jì)算裝置內(nèi)或者在不同的計(jì)算裝置中移動(dòng),但不會(huì)改變。如果內(nèi)容對(duì)象的任何組成變化,則出現(xiàn)變化的實(shí)體創(chuàng)建包括更新內(nèi)容的新內(nèi)容對(duì)象,并且將新內(nèi)容對(duì)象綁定到新唯一名稱。
[0008]唯一名稱(Uniaue Name):CCN中的名稱通常是與位置無(wú)關(guān)的,唯一地標(biāo)識(shí)內(nèi)容對(duì)象。數(shù)據(jù)轉(zhuǎn)發(fā)裝置不管內(nèi)容對(duì)象的網(wǎng)絡(luò)地址或物理位置如何,可以使用名稱或名稱前綴將包向生成或存儲(chǔ)內(nèi)容對(duì)象的網(wǎng)絡(luò)節(jié)點(diǎn)轉(zhuǎn)發(fā)。在一些實(shí)施例中,名稱可以是層次結(jié)構(gòu)的可變長(zhǎng)度標(biāo)識(shí)符(HSVLI)。HSVLI可以分成幾個(gè)層次組成,這些組成可以以各種方式構(gòu)造。例如,個(gè)別的名稱組成pare,home, ccn和test, txt可以以左對(duì)齊的前綴為主的方式構(gòu)造,形成名稱“/parc/home/ccn/test.txt”。因此,名稱“/parc/home/ccn” 可以是“/parc/home/ccn/test.txt”的“父”或“前綴”。附加組成可以用來區(qū)分內(nèi)容項(xiàng)目的不同形式,諸如合作文檔。
[0009]在一些實(shí)施例中,名稱可以包括標(biāo)識(shí)符,諸如從內(nèi)容對(duì)象的數(shù)據(jù)(例如檢驗(yàn)和值)和/或從內(nèi)容對(duì)象的名稱的元素導(dǎo)出的散列值?;谏⒘械拿Q的描述在發(fā)明人Ignac1Solis 于 2013 年 3 月 20 日提交的名稱為 “Ordered-Element Naming for Name-BasedPacket Forwarding”的美國(guó)專利申請(qǐng)?zhí)?3/847,814中描述。名稱還可以是扁平標(biāo)簽。后文中“名稱”用來指名稱數(shù)據(jù)網(wǎng)絡(luò)中的一條數(shù)據(jù)的任何名稱,諸如層次名稱或名稱前綴、扁平名稱、固定長(zhǎng)度的名稱、任意長(zhǎng)度的名稱或標(biāo)簽(例如多協(xié)議標(biāo)簽交換(MPLS)標(biāo)簽)。
[0010]^(Interest):指示對(duì)一條數(shù)據(jù)的請(qǐng)求的包,包括該條數(shù)據(jù)的名稱(或名稱前綴)。數(shù)據(jù)消費(fèi)者可以在信息中心網(wǎng)絡(luò)中傳播請(qǐng)求或興趣,CCN路由器可以向可以提供所請(qǐng)求數(shù)據(jù)的存儲(chǔ)裝置(例如緩存服務(wù)器)或數(shù)據(jù)生產(chǎn)者播送,以滿足請(qǐng)求或興趣。
[0011]盡管本文公開的方法是基于CCN架構(gòu)描述的,但本文中公開的方法同樣還適應(yīng)于其它信息中心網(wǎng)絡(luò)(ICN)架構(gòu)。對(duì)CCN架構(gòu)的描述在美國(guó)專利申請(qǐng)?zhí)?2/338,175中有描述(律師案號(hào)為 PARC-20080626-US-NP,發(fā)明人 Van L.Jacobson 和 Diana K.Smetters 于2008年 12月 18 日提交,名稱為“Controlling the Spread of Interests and Content ina Content Centric Network,,)。
[0012]在一些實(shí)施例中,所述內(nèi)容包括按順序編號(hào)的數(shù)據(jù)組塊的集合,并且其中,所述集合名稱包括所述內(nèi)容的組塊名稱。
[0013]在一些實(shí)施例中,在所述客戶端裝置對(duì)與所述托管服務(wù)的控制信道進(jìn)行初始化時(shí),所述客戶端裝置向所述托管服務(wù)提供認(rèn)證信息。
[0014]在一些實(shí)施例中,所述集合名稱包括所述內(nèi)容的清單名稱,其中,所述清單名稱是基于所述內(nèi)容的清單中命名的對(duì)象導(dǎo)出的。
[0015]在一些實(shí)施例中,在向所述托管服務(wù)發(fā)送交換初始化請(qǐng)求時(shí),所述客戶端裝置發(fā)送第二興趣消息,所述第二興趣消息的名稱包括所述托管服務(wù)的第一名稱前綴、所述控制信道的會(huì)話標(biāo)識(shí)符(SID)、與所述內(nèi)容關(guān)聯(lián)的名稱和XID。
[0016]在一些實(shí)施例中,響應(yīng)于向所述托管服務(wù)發(fā)送交換初始化請(qǐng)求,所述客戶端裝置可以接收包括XID和所述控制信道的會(huì)話標(biāo)識(shí)符(SID)的確認(rèn)(ACK)消息。
[0017]在這些實(shí)施例的一些變形中,所述第二興趣消息的名稱包括內(nèi)容名稱和使用與所述控制信道關(guān)聯(lián)的會(huì)話密鑰加密的XID。
[0018]在一些實(shí)施例中,客戶端裝置可以向托管服務(wù)發(fā)送包括標(biāo)識(shí)交換會(huì)話的XID的狀態(tài)請(qǐng)求消息。客戶端然后接收包括累計(jì)ACK名稱(CAN)的ACK消息,以對(duì)通過交換會(huì)話接收的排序內(nèi)容對(duì)象的集合進(jìn)行確認(rèn)。CAN包括排序內(nèi)容對(duì)象的集合中最近的內(nèi)容對(duì)象的名稱,這對(duì)名稱直至(up to)并包括最近的內(nèi)容對(duì)象的名稱的排序內(nèi)容對(duì)象的集合進(jìn)行確認(rèn)。
[0019]在一些實(shí)施例中,客戶端裝置可以向托管服務(wù)發(fā)送規(guī)定可以由托管服務(wù)請(qǐng)求的下一對(duì)象的下一(NEXT)消息。
[0020]在一些實(shí)施例中,客戶端裝置可以關(guān)閉交換會(huì)話。為了關(guān)閉交換會(huì)話,客戶端裝置可以發(fā)送包括交換關(guān)閉請(qǐng)求的興趣,所述交換關(guān)閉請(qǐng)求包括XID。然后,響應(yīng)于接收對(duì)交換關(guān)閉請(qǐng)求進(jìn)行確認(rèn)的內(nèi)容對(duì)象,客戶端裝置關(guān)閉交換會(huì)話。
[0021]—個(gè)實(shí)施例提供對(duì)來自一個(gè)或多個(gè)客戶端或內(nèi)容生產(chǎn)者的內(nèi)容進(jìn)行托管的托管服務(wù)。操作中,托管服務(wù)可以初始化與客戶端裝置的控制信道,并向客戶端裝置發(fā)送控制信道的會(huì)話標(biāo)識(shí)符(SID)。托管服務(wù)可以通過控制信道從客戶端裝置接收交換初始化請(qǐng)求。交換初始化請(qǐng)求可以包括交換會(huì)話的交換標(biāo)識(shí)符(XID),并且可以包括與從交換初始化請(qǐng)求接收的內(nèi)容關(guān)聯(lián)的集合名稱。托管服務(wù)可以通過交換會(huì)話發(fā)送請(qǐng)求內(nèi)容片斷的興趣來接收內(nèi)容片斷。然后,響應(yīng)于接收有效載荷包括所請(qǐng)求的內(nèi)容片斷的內(nèi)容對(duì)象,托管服務(wù)與內(nèi)容關(guān)聯(lián)地存儲(chǔ)內(nèi)容對(duì)象。
[0022]在一些實(shí)施例中,托管服務(wù)可以接收第二興趣消息中的交換初始化請(qǐng)求,所述第二興趣消息包括與托管服務(wù)關(guān)聯(lián)的第一名稱前綴、SID、與內(nèi)容關(guān)聯(lián)的名稱和XID。
[0023]在一些實(shí)施例中,第二興趣消息包括內(nèi)容名稱和使用與控制信道關(guān)聯(lián)的會(huì)話密鑰加密的XID。
[0024]在一些實(shí)施例中,響應(yīng)于從客戶端裝置接收交換初始化請(qǐng)求,托管服務(wù)發(fā)送包括SID和XID的確認(rèn)(ACK)消息。
[0025]在一些實(shí)施例中,托管服務(wù)可以接收包括SID和XID的狀態(tài)請(qǐng)求消息。托管服務(wù)可以通過返回ACK消息對(duì)狀態(tài)