基于路由的ndn中支持有狀態(tài)任播的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及命名數(shù)據(jù)網(wǎng)絡(luò)(Named Data Networking, NDN)技術(shù)領(lǐng)域,尤其涉及一種基于路由的NDN中支持有狀態(tài)任播的方法和系統(tǒng)。
【背景技術(shù)】
[0002]目前,用戶對(duì)互聯(lián)網(wǎng)的訪問已經(jīng)從點(diǎn)對(duì)點(diǎn)通信為主轉(zhuǎn)為內(nèi)容獲取為主。而傳統(tǒng)的TCP/IP網(wǎng)絡(luò)僅傳輸內(nèi)容,并不感知內(nèi)容,從而造成了網(wǎng)絡(luò)上大量的冗余流量傳輸。為了解決由于內(nèi)容獲取而引發(fā)的內(nèi)容爆炸,研究界提出了以內(nèi)容為中心的網(wǎng)絡(luò)NDN,實(shí)現(xiàn)了內(nèi)容和地址以及發(fā)送者和接收者的解耦,并提供泛在的內(nèi)置緩存來滿足用戶對(duì)內(nèi)容的具有重尾特征的異步訪問。
[0003]現(xiàn)有互聯(lián)網(wǎng)存在許多大規(guī)模的具有億萬的服務(wù),如Google,F(xiàn)acebook,微信等。這些服務(wù)通常都有一組物理上分布但提供相同服務(wù)的服務(wù)器或服務(wù)器集群。對(duì)用戶而言,這類服務(wù)本質(zhì)上屬于任播服務(wù)。但是,現(xiàn)有NDN的傳輸模式將發(fā)送者和接收者解耦,難以保證同一會(huì)話中的請求路由到同一個(gè)服務(wù)節(jié)點(diǎn),導(dǎo)致無法直接實(shí)現(xiàn)有狀態(tài)任播服務(wù)。因此,有必要提出一種NDN中能支持有狀態(tài)任播的技術(shù)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明為解決上述技術(shù)問題,提供一種支持NDN中有狀態(tài)任播的方法和系統(tǒng),能不破壞CCN內(nèi)容路由器轉(zhuǎn)發(fā)引擎的轉(zhuǎn)發(fā)邏輯。所述技術(shù)方案如下:
[0005]第一方面,本發(fā)明提出一種NDN中支持有狀態(tài)任播的服務(wù)請求端方法,包括下述步驟:
[0006]根據(jù)通用服務(wù)名發(fā)送第一個(gè)請求;
[0007]接收某個(gè)服務(wù)器返回的第一個(gè)響應(yīng),其中至少包括與所述服務(wù)器綁定的服務(wù)名;
[0008]根據(jù)所述與服務(wù)器綁定的服務(wù)名發(fā)送同一會(huì)話中的后續(xù)請求。
[0009]其中,所述通用服務(wù)名標(biāo)識(shí)一組提供相同服務(wù)、物理上離散的服務(wù)器;并且,所述通用服務(wù)名需要在NDN的路由系統(tǒng)中進(jìn)行通告。
[0010]其中,所述第一個(gè)請求的請求名字,除了包括通用服務(wù)名,還可以選擇性地包括請求端相關(guān)的信息。
[0011]其中,所述某個(gè)服務(wù)器返回的第一響應(yīng),除了包括與所述服務(wù)器綁定的服務(wù)名,還可以可選地包括由服務(wù)器生成的唯一會(huì)話標(biāo)識(shí)。
[0012]其中,所述同一會(huì)話的后續(xù)請求的名字,除了包括與服務(wù)器綁定的服務(wù)名,還可以選擇性地包括與請求端相關(guān)的信息或由服務(wù)器生成的唯一會(huì)話標(biāo)識(shí)。
[0013]第二方面,本發(fā)明提出一種NDN中支持有狀態(tài)任播的系統(tǒng),主要包括:
[0014]服務(wù)請求端:用于構(gòu)造服務(wù)請求,接收服務(wù)響應(yīng);
[0015]服務(wù)端:用于接收服務(wù)請求,維持服務(wù)的會(huì)話狀態(tài),生成響應(yīng)消息;
[0016]中間路由器:用于通用服務(wù)名和與服務(wù)器標(biāo)識(shí)前綴的路由通告,轉(zhuǎn)發(fā)請求消息,返回響應(yīng)消息。
[0017]本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
[0018]通過本發(fā)明,能在NDN中支持有狀態(tài)的任播,并且該支持不會(huì)增加額外的往返時(shí)延,能夠?qū)⒄埱舐酚傻阶罱姆?wù)節(jié)點(diǎn)。另外,本發(fā)明所提出的技術(shù)沒有破壞NDN內(nèi)容路由器轉(zhuǎn)發(fā)引擎的轉(zhuǎn)發(fā)邏輯。
[0019]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【附圖說明】
[0020]圖1示出了依據(jù)本發(fā)明一實(shí)施方式的NDN中支持有狀態(tài)任播的服務(wù)請求端方法流程圖。
[0021]圖2示出了依據(jù)本發(fā)明一實(shí)施方式的NDN中支持有狀態(tài)任播的時(shí)序圖。
[0022]圖3示出了依據(jù)本發(fā)明一實(shí)施方式的NDN中支持有狀態(tài)任播的時(shí)序圖。
[0023]圖4示出了依據(jù)本發(fā)明一實(shí)施方式的NDN中支持有狀態(tài)任播的系統(tǒng)示意圖。
【具體實(shí)施方式】
[0024]下面詳細(xì)描述本發(fā)明的實(shí)施方式,所述實(shí)施方式的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
[0025]本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的任一單元和全部組合。
[0026]本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語)具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會(huì)用理想化或過于正式的含義來解釋。
[0027]圖1示出了依據(jù)本發(fā)明一實(shí)施方式的NDN中支持有狀態(tài)任播的服務(wù)請求端方法流程圖,包括:
[0028]101,根據(jù)通用服務(wù)名發(fā)送第一個(gè)請求;
[0029]102,接收某個(gè)服務(wù)器返回的第一個(gè)響應(yīng),其中至少包括與所述服務(wù)器綁定的服務(wù)名;
[0030]103,根據(jù)所述與服務(wù)器綁定的服務(wù)名發(fā)送同一會(huì)話中的后續(xù)請求。
[0031]其中,所述通用服務(wù)名用于標(biāo)識(shí)一組提供相同服務(wù)、物理上離散的服務(wù)器;而且,所述通用服務(wù)名需要在NDN的路由系統(tǒng)中進(jìn)行通告,并在FIB中建立到達(dá)該通用服務(wù)名的轉(zhuǎn)發(fā)表項(xiàng)。
[0032]由于多個(gè)物理上離散的服務(wù)器通告同一個(gè)通用服務(wù)名,當(dāng)一個(gè)服務(wù)請求端發(fā)送以該通用服務(wù)名為前綴的請求報(bào)文時(shí),路由系統(tǒng)將通過任播路由將請求轉(zhuǎn)發(fā)到路由意義上最近的服務(wù)節(jié)點(diǎn)。
[0033]其中,所述第一個(gè)請求的請求名字,除了包括通用服務(wù)名,還可以選擇性地包括請求端相關(guān)的信息。在請求名字中包括請求端相關(guān)信息的好處是可以在不改變NDN轉(zhuǎn)發(fā)邏輯的前提下保證不同請求者發(fā)出的對(duì)相同內(nèi)容的請求不會(huì)被中間路由節(jié)點(diǎn)抑制,也不會(huì)被緩存所服務(wù)。另一方面,在請求名字中包括請求端相關(guān)信息可以讓服務(wù)端獲取請求端的個(gè)性化信息,從而提供個(gè)性化的服務(wù)。
[0034]其中,所述某個(gè)服務(wù)器返回的第一響應(yīng)至少包括與所述服務(wù)器綁定的服務(wù)名,每個(gè)提供所述服務(wù)的物理上離散的服務(wù)器都有一個(gè)不同的服務(wù)名。該服務(wù)名同樣需要在路由系統(tǒng)中進(jìn)行通告,從而當(dāng)服務(wù)請求端發(fā)送與服務(wù)器綁定的服務(wù)名為前綴的請求時(shí),所述請求可以被路由到對(duì)應(yīng)的服務(wù)器??蛇x地,所述服務(wù)器返回的第一響應(yīng)還可以包括由服務(wù)器生成的唯一會(huì)話標(biāo)識(shí),服務(wù)器據(jù)此可以建立請求和會(huì)話的對(duì)應(yīng)關(guān)系。
[0035]其中,所述同一會(huì)話的后續(xù)請求,其請求名字以與服務(wù)器綁定的服務(wù)名為前綴,因此這些請求將會(huì)被路由到對(duì)應(yīng)的與該服務(wù)名對(duì)應(yīng)的服務(wù)器。所述請求名字還可以選擇性地包括與請求端相關(guān)的信息,以便服務(wù)器端可以據(jù)此將請求映射到某個(gè)服務(wù)請求端。或者,所述請求名字還可以選擇性地包含由服務(wù)器生成的唯一會(huì)話標(biāo)識(shí),從而,當(dāng)服務(wù)器接收到該請求時(shí),可以根據(jù)該唯一會(huì)話標(biāo)識(shí)將請求映射到對(duì)應(yīng)的會(huì)話。
[0036]圖2示出了依據(jù)本發(fā)明一實(shí)施方式的NDN中支持有狀態(tài)任播的時(shí)序圖。服務(wù)請求端Requestor首先以通用服務(wù)名作為請求名的前綴,并在后面附加請求端相關(guān)的信息,所發(fā)送的第一個(gè)請求的請求名為:/servicename/client-specific-1nfo。中間路由器將根據(jù)通用服務(wù)名/servicename將請求路由到其中一個(gè)服務(wù)器,假設(shè)其標(biāo)識(shí)為SN。該服務(wù)器獲取請求,并提取出請求端相關(guān)信息client-specif