專利名稱:分組交換網(wǎng)絡(luò)中的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及支持多播 的分組交換網(wǎng)絡(luò)(如IPv6網(wǎng)絡(luò))中的方法和設(shè)備,以及具體來說涉及用于實現(xiàn)內(nèi)容可搜索網(wǎng)絡(luò)的解決方案。
背景技術(shù):
因特網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)是包括多個服務(wù)器和路由器的分布式環(huán)境。這些服務(wù)器的其中一些可以是存儲要在其它服務(wù)器與用戶之間共享的內(nèi)容的內(nèi)容服務(wù)器。當搜索特定內(nèi)容時,問題在于查找提供該特定內(nèi)容的服務(wù)器。用于搜索內(nèi)容的現(xiàn)有機制有索引服務(wù)器、泛洪(flooding)和各種復(fù)雜的算法。在索引服務(wù)器中,內(nèi)容擁有方將資源的信息發(fā)布到索引服務(wù)器。當某人希望搜索內(nèi)容時,他向索引服務(wù)器發(fā)送請求,并且索引服務(wù)器響應(yīng)該請求。這是有效率的解決方案,但是如果索引服務(wù)器發(fā)生故障,則整個索引機制失效。在泛洪中,每個服務(wù)器記錄其鄰居的IP地址。當服務(wù)器希望搜索某個東西時,它向所有相鄰服務(wù)器發(fā)送請求。然后,相鄰服務(wù)器將該請求轉(zhuǎn)發(fā)到相鄰服務(wù)器的鄰居。這顯然不是有效率的解決方案,因為它占用大量帶寬,但是該解決方案不依賴于作為索引服務(wù)器的一個單點。如Chord、偽DHT的復(fù)雜算法能夠用于優(yōu)化泛洪的行為。這些算法使得僅向鄰居的子集發(fā)送請求成為可能。
發(fā)明內(nèi)容
因此,問題在于實現(xiàn)一種用于分布式環(huán)境中(如IP網(wǎng)絡(luò)中)的內(nèi)容搜索的解決方案。根據(jù)本發(fā)明的第一方面,提供一種用于在支持多播的網(wǎng)絡(luò)中發(fā)布內(nèi)容的服務(wù)器中的方法。該方法包括將內(nèi)容存儲在存儲器中,由第一關(guān)聯(lián)器將內(nèi)容與至少一個字符串關(guān)聯(lián)。對于至少一個字符串中的每個字符串,由第二關(guān)聯(lián)器將該字符串與多播地址關(guān)聯(lián),以及服務(wù)器通過輸入來監(jiān)聽所述多播地址以能夠在所述多播地址上接收對存儲內(nèi)容的請求。根據(jù)本發(fā)明的第二方面,提供一種在支持多播的網(wǎng)絡(luò)中用于搜索該網(wǎng)絡(luò)中的內(nèi)容的方法。在第一步驟中,由輸入接收要用于搜索所述內(nèi)容的字符串。即,用戶可以經(jīng)由輸入裝置手動輸入字符串。由關(guān)聯(lián)器將該字符串與多播地址關(guān)聯(lián)。在后一步驟中,將對所述內(nèi)容的請求發(fā)送到所述多播地址。該請求除了直接與內(nèi)容請求相關(guān)的信息外還可以包含驗證信息。根據(jù)本發(fā)明的第三方面,提供一種用于在支持多播的網(wǎng)絡(luò)中發(fā)布內(nèi)容的服務(wù)器。該服務(wù)器包括用于存儲內(nèi)容的存儲器和用于將該內(nèi)容與至少一個字符串關(guān)聯(lián)的第一關(guān)聯(lián)器。此外,提供用于將字符串與多播地址關(guān)聯(lián)的第二關(guān)聯(lián)器,以及提供用于監(jiān)聽所述多播地址以能夠在所述多播地址上接收對存儲內(nèi)容的請求的輸入。根據(jù)本發(fā)明的第四方面,提供一種調(diào)適成用于在支持多播的網(wǎng)絡(luò)中搜索內(nèi)容的節(jié)點。該節(jié)點包括用于接收要用于搜索所述內(nèi)容的字符串的輸入??梢越?jīng)由輸入裝置從最終用戶(例如經(jīng)由最終用戶終端)接收這個字符串。另外,提供用于將字符串與多播地址關(guān)聯(lián)的關(guān)聯(lián)器,以及用于向所述多播地址發(fā)送對所述內(nèi)容的請求的輸出。本發(fā)明實施例的優(yōu)點在于,該解決方案對于故障是健壯的。另外優(yōu)點在于,該解決方案是有效率且簡單的。
圖I示出可實現(xiàn)本發(fā)明的典型拓撲。圖2示出根據(jù)本發(fā)明的實施例的內(nèi)容擁有方。圖3示出根據(jù)本發(fā)明的實施例的搜索器。圖4示出根據(jù)本發(fā)明的實施例的內(nèi)容服務(wù)器和搜索器服務(wù)器。圖5和圖6是根據(jù)本發(fā)明的實施例的方法的流程圖。
具體實施例方式下文將參考附圖更全面地描述本發(fā)明,附圖中示出了本發(fā)明的優(yōu)選實施例。但是,本發(fā)明可以采用很多不同形式來實施,且不應(yīng)被解釋為限于本文所闡述的實施例;更確切地說,提供這些實施例使得本公開將是透徹且完整的,并且將全面地把本發(fā)明的范圍傳達給本領(lǐng)域技術(shù)人員。在附圖中,相似的參考符號指相似的單元。此外,本領(lǐng)域技術(shù)人員將領(lǐng)會,可以使用結(jié)合按照編程的微處理器或通用計算機來起作用的軟件和/或使用專用集成電路(ASIC)來實現(xiàn)下文中說明的裝置和功能。還將領(lǐng)會,雖然主要以方法和裝置的形式來描述本發(fā)明,但是還可以在計算機程序產(chǎn)品以及包括計算機處理器和耦合到處理器的存儲器的系統(tǒng)中實施本發(fā)明,其中存儲器編碼有可以執(zhí)行本文公開的功能的一個或多個程序。為了在分布式環(huán)境中(如IPv6網(wǎng)絡(luò)中)使能有效率的內(nèi)容搜索,設(shè)想是利用多播。可以實現(xiàn)本發(fā)明的分布式環(huán)境的示例是目前支持多播的IPv6網(wǎng)絡(luò),但是能夠在支持多播的所有網(wǎng)絡(luò)中使用本發(fā)明。分布式環(huán)境通常包括多個服務(wù)器和路由器,其中這些服務(wù)器的其中一些是內(nèi)容服務(wù)器。能夠?qū)⒚總€內(nèi)容與一個或多個字符串關(guān)聯(lián)。本發(fā)明涉及這樣的情況服務(wù)器或另一個實體希望通過使用字符串來搜索內(nèi)容且搜索器(searcher)然后將查找具有與所使用的字符串關(guān)聯(lián)的內(nèi)容的所有服務(wù)器。內(nèi)容的示例是TV劇場的劇集,其中字符串是參與該TV劇場的一個演員的姓名。因此,服務(wù)器存儲內(nèi)容并且至少一個字符串與該內(nèi)容關(guān)聯(lián)。應(yīng)該注意,雖然內(nèi)容與字符串之間的一對一映射可能是優(yōu)選的,但是多個字符串可以用于一個內(nèi)容。根據(jù)本發(fā)明,每個字符串在某個方面描述內(nèi)容,并且每個字符串與多播地址關(guān)聯(lián)。能夠通過例如對字符串應(yīng)用產(chǎn)生數(shù)序列(例如十六進制數(shù)序列或另一種序列)的函數(shù)來執(zhí)行與多播地址的關(guān)聯(lián)。然后可以將序列轉(zhuǎn)換成多播地址。內(nèi)容擁有方監(jiān)聽它能夠接收到對其存儲的內(nèi)容的請求的多播地址。因此,當服務(wù)器通過使用上述字符串來搜索內(nèi)容時,搜索服務(wù)器將該字符串與內(nèi)容服務(wù)器相同的多播地址關(guān)聯(lián),并將該請求發(fā)送到內(nèi)容擁有方監(jiān)聽的該多播地址。因此,如果內(nèi)容存在,則僅通過一個請求來查找內(nèi)容是可能的。多播地址可以是鏈路本地多播地址,在RFC 2373中對其有進一步描述。
圖I示出可實現(xiàn)本發(fā)明的實施例的典型拓撲。為了在網(wǎng)絡(luò)中使能多播,將支持多播的交換機或路由器104連接到服務(wù)器。另外,擁有內(nèi)容的服務(wù)器100、102必須具有至網(wǎng)絡(luò)(例如IPv6網(wǎng)絡(luò))的連接。另外,實現(xiàn)本發(fā)明的網(wǎng)絡(luò)應(yīng)該具有指派多播地址的權(quán)限,但是那并非要求?,F(xiàn)在將結(jié)合圖2和圖3來描述本發(fā)明的實施例。圖2和圖3示出服務(wù)器A 100擁有內(nèi)容(內(nèi)容A)的情形,其中內(nèi)容A 與字符串202 “任何字符串”(“any string”)關(guān)聯(lián),并且“任何字符串”在至少一個方面描述內(nèi)容A。內(nèi)容的示例可以是音樂視頻,并且字符串可以是音樂視頻的藝術(shù)家的姓名。另一個示例是內(nèi)容A是書籍,與該書籍關(guān)聯(lián)的第一字符串是該書籍的作者,以及與該書籍關(guān)聯(lián)的第二字符串是該書籍的標題。在這個示例中,服務(wù)器將監(jiān)聽兩個多播地址,每個字符串一個多播地址。另一個服務(wù)器(服務(wù)器B 102)搜索內(nèi)容A,并因此搜索擁有內(nèi)容A的服務(wù)器100。如圖2中所示,服務(wù)器A 100存儲與“任何字符串”202關(guān)聯(lián)的內(nèi)容,并且服務(wù)器A100調(diào)用函數(shù)204 (在這個示例中,函數(shù)204是散列函數(shù))以生成序列206,以十六進制數(shù)序列“AB⑶1234AB⑶1234AB⑶12345678”舉例說明。然后,由轉(zhuǎn)換器208將這個序列206轉(zhuǎn)換成多播地址210,例如鏈路本地多播地址,例如,由轉(zhuǎn)換器208轉(zhuǎn)換成FF02:ABra:1234:ABra:1234: ABCD: 1234:5678。通過監(jiān)聽多播地址 FF02: ABCD: 1234: ABCD: 1234: ABCD: 1234:5678,服務(wù)器A能夠接收對與關(guān)鍵字“任何字符串”關(guān)聯(lián)的內(nèi)容的請求。換言之,服務(wù)器A通過監(jiān)聽212這個多播地址將信息“我擁有與字符串“任何字符串”關(guān)聯(lián)的內(nèi)容”發(fā)布到分布式環(huán)境?,F(xiàn)在轉(zhuǎn)到圖3,其示出通過使用字符串“任何字符串”來搜索內(nèi)容的服務(wù)器102 (月艮務(wù)器102可以是包括多播功能性的任何實體),服務(wù)器B。服務(wù)器B 102對字符串302 “任何字符串”應(yīng)用與服務(wù)器A 100相同的函數(shù)304。這個函數(shù)304必須是在分布式環(huán)境中全局地已知的。因為對相同的字符串應(yīng)用相同的函數(shù)304,所以將獲得相同的序列306。在服務(wù)器B 102中以與服務(wù)器A 100中相同的方式轉(zhuǎn)換這個序列306,并因此獲得相同的多播地址210。為了搜索與字符串302 “任何字符串”關(guān)聯(lián)的內(nèi)容,服務(wù)器B 102向所獲得的多播地址210發(fā)送一個請求。監(jiān)聽該多播地址(即,加入該多播群)的所有服務(wù)器將接收到對該內(nèi)容的請求。并且,加入該多播地址的所有服務(wù)器具有與字符串“任何字符串”關(guān)聯(lián)的內(nèi)容。雖然所有服務(wù)器可能并非包含同樣的內(nèi)容。當內(nèi)容擁有方在該多播地址上接收到請求時,它回復(fù)搜索服務(wù)器。搜索服務(wù)器可以接收到多于一個回復(fù)。在該情況中,需要在回復(fù)之間進行選擇并選擇所找到的內(nèi)容之一的機制。但是,這種機制不在本發(fā)明的范圍內(nèi)。因此,如圖5的流程圖中所示,提供一種用于在支持多播的網(wǎng)絡(luò)中發(fā)布內(nèi)容的服務(wù)器中的方法。該方法包括將內(nèi)容存儲501在存儲器中,由第一關(guān)聯(lián)器將內(nèi)容與至少一個字符串關(guān)聯(lián)502。對于至少一個字符串中的每個字符串,由第二關(guān)聯(lián)器將該字符串與多播地址關(guān)聯(lián)503,以及服務(wù)器通過輸入來監(jiān)聽504所述多播地址以能夠在所述多播地址上接收對存儲內(nèi)容的請求。另外,將字符串與多播地址關(guān)聯(lián)的步驟還可以包括對字符串應(yīng)用503a函數(shù)以生成序列,并將序列轉(zhuǎn)換503b成多播地址。此外,圖6的流程圖中示出一種用于IP網(wǎng)絡(luò)中搜索內(nèi)容的方法。在第一步驟601中,由輸入接收要用于搜索所述內(nèi)容的字符串。即,用戶可以經(jīng)由輸入裝置手動輸入字符串。在步驟602中,由關(guān)聯(lián)器將該字符串與多播地址關(guān)聯(lián)。在后一步驟603中,將對所述內(nèi)容的請求發(fā)送到所述多播地址。該請求除了直接與內(nèi)容請求相關(guān)的信息外還可以包含驗證信息。根據(jù)一個實施例,將字符串與 多播地址關(guān)聯(lián)的步驟包括對字符串應(yīng)用602a函數(shù)以生成序列,并將序列轉(zhuǎn)換602b成多播地址。IPv6多播地址是一群節(jié)點的標識符。節(jié)點(例如,服務(wù)器)可以屬于任何數(shù)量的多播群。在RFC 2373中,多播群標識包括112個位。所以,理論上,可以使用2112=5. 19e+33個多播群。但是,多播群的總數(shù)量不一定限制字符串的可能數(shù)量。如果字符串的數(shù)量大于5. 19e+33 (即,可能多播群的數(shù)量),則可使用函數(shù)來將多個字符串映射到一個單個多播地址,并因此使能大于5. 19e+33個可能的字符串。作為另外備選,還可能利用IP地址的端口號,其也擴大可能字符串的數(shù)量,因為每個IP地址具有65535個端口號。要應(yīng)用于字符串的函數(shù)必須是在分布式環(huán)境中全局地已知的。希望作為根據(jù)本發(fā)明實施例的方法的一部分的每個服務(wù)器必須知悉這個函數(shù)。該函數(shù)以散列函數(shù)為例來說明,但是能夠?qū)⒆址鶆虻赜成涞嚼鐢?shù)空間的其它函數(shù)也是可能的。例如,如果有2112=5. 19e+33個不同字符串,則期望該函數(shù)應(yīng)該將每個字符串映射到一個專用的多播地址。如果服務(wù)器位于不同的鏈路中,即,服務(wù)器不能夠彼此直接訪問并且必須使用路由器或L3交換機,則使用站點本地或組織本地或全局范圍的多播群(多播IP路由選擇)是可能的,其具有 FF05:x:x:x:x:x:x:x、FF08:x:x:x:x:x:x:x 和 FF0E:x:x:x:x:x:x:x 的格式。內(nèi)容擁有方應(yīng)該監(jiān)聽以FF02、FF05或FFOE開頭的IP地址,并且搜索方也應(yīng)該向這些群發(fā)送請求。那意味著,可能需要IPv6多播路由選擇支持來跨IPv6路由器或交換機轉(zhuǎn)發(fā)請求。在這個情況中,所有這些網(wǎng)絡(luò)裝置應(yīng)該是IPv6多播路由選擇使能的?,F(xiàn)在轉(zhuǎn)到圖4,其示出用于IP網(wǎng)絡(luò)中發(fā)布內(nèi)容的服務(wù)器100。服務(wù)器100包括用于存儲內(nèi)容的存儲器402和用于將該內(nèi)容與至少一個字符串關(guān)聯(lián)的第一關(guān)聯(lián)器404。此外,提供用于將字符串與多播地址關(guān)聯(lián)的第二關(guān)聯(lián)器406,以及提供用于監(jiān)聽所述多播地址以能夠在所述多播地址上接收對存儲內(nèi)容的請求的輸入408。第二關(guān)聯(lián)器406還可以包括用于對字符串應(yīng)用如散列函數(shù)的函數(shù)以生成序列的應(yīng)用器,以及用于將序列轉(zhuǎn)換成多播地址的轉(zhuǎn)換器。圖4中還示出節(jié)點102,如服務(wù)器或最終用戶終端,其調(diào)適成用于IP網(wǎng)絡(luò)中搜索內(nèi)容。節(jié)點102包括用于接收要用于搜索所述內(nèi)容的字符串的輸入420??梢越?jīng)由輸入裝置從最終用戶(例如經(jīng)由最終用戶終端)接收這個字符串。另外,提供用于將字符串與多播地址關(guān)聯(lián)的關(guān)聯(lián)器422,以及用于向所述多播地址發(fā)送對所述內(nèi)容的請求的輸出424。這個關(guān)聯(lián)器422還可以包括用于對字符串應(yīng)用函數(shù)以生成序列的應(yīng)用器,以及用于將序列轉(zhuǎn)換成多播地址的轉(zhuǎn)換器。還應(yīng)該注意在小網(wǎng)絡(luò)中,廣播對內(nèi)容的請求是可能的,這意味著所有內(nèi)容擁有者將接收到所有請求??梢栽谌狈Χ嗖ブС值木W(wǎng)絡(luò)中和支持多播的網(wǎng)絡(luò)中均使用這個廣播解決方案,因為廣播解決方案可以比小網(wǎng)絡(luò)中的多播更低成本。本領(lǐng)域技術(shù)人員受益于前文描述和關(guān)聯(lián)附圖中提出的教導(dǎo),將想到所公開的本發(fā)明的修改和其它實施例。因此,要理解本發(fā)明不限于所公開的特定實施例,并且打算將修改和其它實施例包括在本公開的范圍內(nèi)。雖然本文可能采用特定的術(shù)語,但是僅是在通用和描述性意義上而非為了限制的目 的來使用它們。
權(quán)利要求
1.一種用于在支持多播的網(wǎng)絡(luò)中發(fā)布內(nèi)容的服務(wù)器中的方法,所述方法包括如下步驟 -存儲(501)內(nèi)容, -將所述內(nèi)容與至少一個字符串關(guān)聯(lián)(502 ), 對于所述至少一個字符串中的每個字符串 -將所述字符串與多播地址關(guān)聯(lián)(503),以及 -監(jiān)聽(504)所述多播地址以能夠在所述多播地址上接收對存儲內(nèi)容的請求。
2.根據(jù)權(quán)利要求I所述的方法,其中將所述字符串與多播地址關(guān)聯(lián)的步驟包括 -對所述字符串應(yīng)用(503a)函數(shù)以生成序列,以及 -將所述序列轉(zhuǎn)換(503b)成所述多播地址。
3.根據(jù)權(quán)利要求1-2中任一項所述的方法,其中所述函數(shù)是散列函數(shù)。
4.根據(jù)權(quán)利要求1-3中任一項所述的方法,其中所述多播地址是鏈路本地多播地址。
5.—種在支持多播的網(wǎng)絡(luò)中用于搜索所述網(wǎng)絡(luò)中的內(nèi)容的方法,所述方法包括如下步驟 -接收(601)要用于搜索所述內(nèi)容的字符串, -將所述字符串與多播地址關(guān)聯(lián)(602),以及 -將對所述內(nèi)容的請求發(fā)送(603)到所述多播地址。
6.根據(jù)權(quán)利要求5所述的方法,其中將所述字符串與多播地址關(guān)聯(lián)的步驟包括 -對所述字符串應(yīng)用(602a)函數(shù)以生成序列,以及 -將所述序列轉(zhuǎn)換(602b)成所述多播地址。
7.根據(jù)權(quán)利要求5-6中任一項所述的方法,其中所述函數(shù)是散列函數(shù)。
8.根據(jù)權(quán)利要求5-7中任一項所述的方法,其中所述多播地址是鏈路本地多播地址。
9.根據(jù)權(quán)利要求5-8中任一項所述的方法,其中經(jīng)由輸入裝置從最終用戶接收所述字符串。
10.一種用于在支持多播的網(wǎng)絡(luò)中發(fā)布內(nèi)容的服務(wù)器(100),所述服務(wù)器(100)包括用于存儲內(nèi)容的存儲器(402)、用于將所述內(nèi)容與至少一個字符串關(guān)聯(lián)的第一關(guān)聯(lián)器(404)、用于將所述字符串與多播地址關(guān)聯(lián)的第二關(guān)聯(lián)器(406)以及用于監(jiān)聽所述多播地址以能夠在所述多播地址上接收對存儲內(nèi)容的請求的輸入(408 )。
11.根據(jù)權(quán)利要求10所述的服務(wù)器(100),其中所述第二關(guān)聯(lián)器(406)還包括用于對所述字符串應(yīng)用函數(shù)以生成序列的應(yīng)用器,以及用于將所述序列轉(zhuǎn)換成所述多播地址的轉(zhuǎn)換器。
12.根據(jù)權(quán)利要求10-11中任一項所述的服務(wù)器(100),其中所述函數(shù)是散列函數(shù)。
13.根據(jù)權(quán)利要求10-12中任一項所述的服務(wù)器(100),其中所述多播地址是鏈路本地多播地址。
14.一種調(diào)適成用于在支持多播的網(wǎng)絡(luò)中搜索內(nèi)容的節(jié)點(102),包括用于接收要用于搜索所述內(nèi)容的字符串的輸入(420)、用于將所述字符串與多播地址關(guān)聯(lián)的關(guān)聯(lián)器(422)以及用于向所述多播地址發(fā)送對所述內(nèi)容的請求的輸出(424)。
15.根據(jù)權(quán)利要求14所述的節(jié)點(102),其中所述關(guān)聯(lián)器(422)還包括用于對所述字符串應(yīng)用函數(shù)以生成序列的應(yīng)用器,以及用于將所述序列轉(zhuǎn)換成所述多播地址的轉(zhuǎn)換器。
16.根據(jù)權(quán)利要求14-16中任一項所述的節(jié)點(102),其中所述函數(shù)是散列函數(shù)。
17.根據(jù)權(quán)利要求14-16中任一項所述的節(jié)點(102),其中所述節(jié)點是服務(wù)器。
18.根據(jù)權(quán)利要求14-16中任一項所述的節(jié)點(102),其中所述節(jié)點是移動終端。
19.根據(jù)權(quán)利要求14-16中任一項所述的節(jié)點(102),其中所述多播地址是鏈路本地多播地址。
全文摘要
本發(fā)明涉及分布式環(huán)境中(如IPv6網(wǎng)絡(luò)中)的內(nèi)容搜索。這通過根據(jù)與要搜索的內(nèi)容關(guān)聯(lián)的字符串導(dǎo)出多播地址來實現(xiàn)。搜索方和擁有內(nèi)容的服務(wù)器使用共同函數(shù)來導(dǎo)出這個多播地址。內(nèi)容擁有方監(jiān)聽這個多播地址,并且搜索方在該多播地址上發(fā)送對內(nèi)容的請求。
文檔編號H04L12/56GK102714616SQ200980163009
公開日2012年10月3日 申請日期2009年12月18日 優(yōu)先權(quán)日2009年12月18日
發(fā)明者王金輝 申請人:愛立信(中國)通信有限公司