專利名稱::對等網(wǎng)絡(luò)的虛擬環(huán)境的興趣管理的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及為多個用戶提供虛擬環(huán)境的對等網(wǎng)絡(luò)(peer-to-peernetworks)的興趣管理(interestmanagement)的規(guī)定,在線游戲環(huán)境即為這種環(huán)境的一個實(shí)例。本發(fā)明的各方面包括促進(jìn)興趣管理的方法、軟件、計算機(jī)系統(tǒng)、開發(fā)平臺以及對等網(wǎng)絡(luò)。
背景技術(shù):
:對等網(wǎng)絡(luò)為由節(jié)點(diǎn)組成的任何分布式計算機(jī)網(wǎng)絡(luò)結(jié)構(gòu),每個節(jié)點(diǎn)通常為計算機(jī)系統(tǒng)(即處理硬件)。由于該分布式結(jié)構(gòu)增強(qiáng)的可擴(kuò)展性和服務(wù)穩(wěn)健性,所以對等網(wǎng)絡(luò)通常用于文件共享應(yīng)用程序中,并且可用于提供分散式多用戶虛擬環(huán)境。對等網(wǎng)絡(luò)通常由以點(diǎn)對點(diǎn)增加的節(jié)點(diǎn)動態(tài)地形成,其中,對等(peer)為節(jié)點(diǎn)上運(yùn)行的虛擬環(huán)境的軟件應(yīng)用的實(shí)例。通常,每個節(jié)點(diǎn)具有一個對等,但是節(jié)點(diǎn)上可運(yùn)行軟件(即對等)的多個實(shí)例。虛擬環(huán)境內(nèi)的興趣管理能夠分享相關(guān)的空間信息。所述對等使用網(wǎng)絡(luò)的興趣管理服務(wù)(interestmanagementservice)將興趣管理提供給對等所分配的幾組實(shí)體。S卩,虛擬環(huán)境內(nèi)的每個實(shí)體具有興趣區(qū)域,該區(qū)域通常為虛擬環(huán)境內(nèi)可限定的區(qū)域并且以該實(shí)體為中心。實(shí)體僅僅需要與其共享同一個興趣區(qū)域的其他實(shí)體的信息。這樣一來,與共享網(wǎng)絡(luò)虛擬環(huán)境內(nèi)的全球信息相比,大大降低了網(wǎng)絡(luò)帶寬消耗。同樣,減輕了促進(jìn)興趣管理的每個對等的工作量。盡管興趣管理在客戶端-服務(wù)器模型網(wǎng)絡(luò)中是很容易的,但這給對等網(wǎng)絡(luò)提供了額外的挑戰(zhàn)。在結(jié)構(gòu)化對等網(wǎng)絡(luò)內(nèi),使用基于分布式哈希表(DHT,distributedhashtable)的索引可支持興趣管理。使用以分布式哈希表,可將虛擬環(huán)境分割成固定的小區(qū)。將權(quán)威節(jié)點(diǎn)(authoritativenode)動態(tài)地分配給每個小區(qū),并且通過保持信息的高速緩存,每個節(jié)點(diǎn)負(fù)責(zé)協(xié)調(diào)小區(qū)實(shí)體成員之間的興趣信息。資源密集型對等網(wǎng)絡(luò)的實(shí)例包括多用戶網(wǎng)絡(luò)游戲環(huán)境,網(wǎng)絡(luò)游戲環(huán)境越來越多地包括復(fù)雜的大型虛擬環(huán)境,在該環(huán)境內(nèi)具有大量實(shí)時參與的用戶。在線游戲平臺內(nèi)的興趣管理包括確保實(shí)體的游戲狀態(tài)精確并且最新。實(shí)體可為虛擬環(huán)境內(nèi)的任何對象,比如化身(用戶)、諸如怪獸之類的非玩家角色以及諸如燈開關(guān)或開動的汽車之類的動態(tài)內(nèi)容。通常,興趣區(qū)域大于所述實(shí)體可見到的區(qū)域,比如,化身實(shí)體的興趣區(qū)域稍微大于屏幕上實(shí)際可見的區(qū)域。表示動態(tài)內(nèi)容并具有可見區(qū)域的實(shí)體具有興趣區(qū)域,該區(qū)域?yàn)榱銌挝?zerounits)半徑的球體。本說明書內(nèi)已經(jīng)包含的文檔、行為、材料、裝置、物品等等的討論僅僅用于為本發(fā)明提供背景。不應(yīng)將其視為承認(rèn)這些物質(zhì)中任何物質(zhì)或所有物質(zhì)形成現(xiàn)有技術(shù)基礎(chǔ)或者曾經(jīng)為與本發(fā)明相關(guān)的領(lǐng)域中的公共常識,因?yàn)樵诒旧暾埖拿織l權(quán)利要求的優(yōu)先權(quán)日期之前該討論就存在。
發(fā)明內(nèi)容在第一方面,本發(fā)明提供了由對等執(zhí)行的方法,該方法用于促進(jìn)對等網(wǎng)絡(luò)的虛擬環(huán)境進(jìn)行興趣管理,該方法包括(a)在虛擬環(huán)境內(nèi),為實(shí)體進(jìn)行興趣管理,包括代表實(shí)體發(fā)送興趣管理信息的請求;(b)基于由滿足條件的對等進(jìn)行興趣管理的處理載荷,通過下列步驟選擇性地進(jìn)行興趣管理(i)將促進(jìn)實(shí)體子集的興趣管理分配給另一對等,或者(ii)減少發(fā)送興趣管理信息的請求的頻率。本發(fā)明的優(yōu)點(diǎn)在于,實(shí)現(xiàn)促進(jìn)興趣管理的方法隨著時間高效地變化,并且響應(yīng)于對等處理載荷的變化,使得興趣管理服務(wù)可擴(kuò)展并且可靠。興趣管理信息可包括發(fā)現(xiàn)信息,即將新實(shí)體引入對等進(jìn)行興趣管理的實(shí)體內(nèi)。所述實(shí)體可為虛擬環(huán)境中的任何對象,包括用戶和動態(tài)內(nèi)容。步驟(a)針對那些分配給對等的以促進(jìn)興趣管理的實(shí)體執(zhí)行。所述虛擬環(huán)境可為在線游戲環(huán)境,比如大型多人在線游戲(MMOG)。在步驟(a)中進(jìn)行興趣管理可包括向興趣管理服務(wù)發(fā)送興趣管理信息的請求,比如分布式哈希表(DHT)。該方法明顯減少了與分布式哈希表相關(guān)的通信開銷。這就減少了分布式哈希表上的載荷,并且可明顯提高系統(tǒng)的整體性能。在(i)情況下,以及基于由再次滿足條件的對等進(jìn)行興趣管理的處理載荷,該方法可進(jìn)一步包括將另一實(shí)體子集的興趣管理分配給另一對等。步驟(b)進(jìn)一步基于步驟(a)的現(xiàn)有興趣管理方法是否基于向信息管理服務(wù)發(fā)送請求和/或?yàn)橄惹斑x擇(i)或(ii)的結(jié)果。在(i)情況下,另一對等促進(jìn)興趣管理的實(shí)體子集可隨著時間改變。所述處理載荷條件可基于下列一個或多個所述對等促進(jìn)興趣管理的實(shí)體的數(shù)量;特定實(shí)體所具有的交集的數(shù)量;所述對等的處理能力,包括用于興趣管理通信的上游和下游帶寬;所述對等基于實(shí)體興趣的區(qū)域促進(jìn)興趣管理的實(shí)體的候選分組;所述對等促進(jìn)興趣管理的實(shí)體的估計比例。所述處理載荷條件對虛擬網(wǎng)絡(luò)的特定應(yīng)用程序來講可以是具體的。情況(ii)可根據(jù)本發(fā)明的下述四個方面。該方法可由所述對等對分配給對等以促進(jìn)興趣管理的每個實(shí)體。在第二方面,本發(fā)明提供一種軟件,執(zhí)行該軟件時,該軟件促使對等網(wǎng)絡(luò)虛擬環(huán)境中虛擬環(huán)境的對等根據(jù)本發(fā)明的第一方面促進(jìn)興趣管理。在第三方面,本發(fā)明提供一種計算機(jī)系統(tǒng),組織對等網(wǎng)絡(luò)虛擬環(huán)境中虛擬環(huán)境的對等,該對等可操作地促進(jìn)興趣管理,該計算機(jī)系統(tǒng)包括執(zhí)行根據(jù)本發(fā)明的第一方面的方法的處理器、通信端口、儲存裝置。在第四方面,本發(fā)明提供促進(jìn)第一實(shí)體在對等網(wǎng)絡(luò)的虛擬環(huán)境中進(jìn)行興趣管理的方法,該方法包括(a)將興趣管理信息發(fā)送給第一實(shí)體的相鄰的實(shí)體;(b)減少向興趣管理服務(wù)發(fā)送興趣管理信息的請求的頻率。由對等執(zhí)行該方法,該對等代表分配給其的實(shí)體,以促進(jìn)興趣管理。該方法可由對等針對每個分配給其的實(shí)體進(jìn)行促進(jìn)興趣管理。所述興趣管理信息可為存在信息,比如介紹??蓽p小步驟(b)中的頻率,確保該頻率不超過閾值。步驟(b)中的頻率可基于興趣管理服務(wù)的能力,比如適當(dāng)?shù)姆植际焦1淼男^(qū)服務(wù)器能力。步驟(b)中的頻率可包括首先確定第一實(shí)體的交集的估計數(shù)量與閾值的比例。步驟(b)可包括生成隨機(jī)數(shù)量,并只在該隨機(jī)數(shù)量表示要發(fā)送請求時發(fā)送該請求。可比較隨機(jī)數(shù)量和比例。采用比步驟(b)中的頻率更高的頻率執(zhí)行步驟(a)。執(zhí)行步驟(a)的頻率可基于帶寬數(shù)量,所述帶寬數(shù)量由所述對等分配用以執(zhí)行步驟(a)。所述第一實(shí)體的相鄰實(shí)體可包括與第一實(shí)體通常交換更新狀態(tài)信息的實(shí)體和/或所述對等進(jìn)行促進(jìn)興趣管理的實(shí)體。可將步驟(b)中的請求發(fā)送給興趣管理服務(wù),比如支持虛擬環(huán)境的分布式哈希表(DHT)。步驟(a)可包括在實(shí)體更新消息內(nèi)攜帶興趣管理信息,發(fā)送這些實(shí)體更新消息給關(guān)聯(lián)第一實(shí)體,如實(shí)時狀態(tài)同步消息。在第五方面,本發(fā)明提供一種軟件,執(zhí)行該軟件時,該軟件促使對等網(wǎng)絡(luò)虛擬環(huán)境的對等根據(jù)本發(fā)明的第四方面促進(jìn)興趣管理。在第六方面,本發(fā)明提供一種計算機(jī)系統(tǒng),組織對等網(wǎng)絡(luò)虛擬環(huán)境的對等,該對等可操作地促進(jìn)興趣管理,該計算機(jī)系統(tǒng)包括執(zhí)行本發(fā)明的第四方面的方法的處理器、通信端口、儲存裝置。在第七方面,本發(fā)明提供一種開發(fā)平臺軟件應(yīng)用,使游戲開發(fā)人員能夠設(shè)計出多人在線游戲,并能夠在所述游戲中根據(jù)本發(fā)明的第一和/或第三方面的方法促進(jìn)興趣管理。在第八方面,本發(fā)明提供一種對等網(wǎng)絡(luò)組織虛擬環(huán)境,其中根據(jù)本發(fā)明的第一和/或第三方面的方法促進(jìn)虛擬環(huán)境內(nèi)的興趣管理?,F(xiàn)在參看附圖描述本發(fā)明的實(shí)例,其中圖1為該實(shí)例的網(wǎng)絡(luò)引擎的示意圖;圖2為執(zhí)行小區(qū)協(xié)議的對等網(wǎng)絡(luò)的示意圖;圖3為執(zhí)行小區(qū)協(xié)議(Cellprotocol)并具有超負(fù)荷小區(qū)節(jié)點(diǎn)(服務(wù)器)的對等網(wǎng)絡(luò)的示意圖;圖4為包括執(zhí)行動態(tài)限界協(xié)議的對等網(wǎng)絡(luò)的示意圖;圖5示出了兩個限界區(qū)域的合并操作;圖6示出了限界區(qū)域的分裂操作;圖7示出了限界區(qū)域?qū)嶓w的兩個小組;圖8為閑談協(xié)議(gossipprotocol)的方法的流程圖;圖9為協(xié)議之間的切換算法的方法的流程圖;圖10為計算機(jī)系統(tǒng)的元件的示意圖,該計算機(jī)系統(tǒng)組織能夠執(zhí)行圖7和/或8的方法的對等。具體實(shí)施例方式在該實(shí)例中,虛擬環(huán)境為大型多人在線游戲的虛擬環(huán)境。該實(shí)例使用為虛擬環(huán)境設(shè)計的引擎,該引擎提供完整的網(wǎng)絡(luò)框架。包括網(wǎng)絡(luò)插件,該插件與現(xiàn)有的大型多人在線游戲(MMOG)相結(jié)合,使得網(wǎng)絡(luò)可高度擴(kuò)張。圖1中顯示了該引擎的邏輯元件的示意圖。本申請中的實(shí)例針對網(wǎng)絡(luò)引擎的興趣管理服務(wù)20。所述興趣管理服務(wù)負(fù)責(zé)為大型多人在線應(yīng)用程序內(nèi)的所有實(shí)體提供相關(guān)的實(shí)時信息并且確保游戲狀態(tài)精確并且最新。所述興趣管理服務(wù)將虛擬環(huán)境內(nèi)的所有對象視為實(shí)體。沒有集中索引服務(wù)器(indexingserver)時,該引擎依賴分布式空間索引算法,該算法可由對等在對等網(wǎng)絡(luò)上執(zhí)行。在該實(shí)例中,負(fù)責(zé)興趣管理的對等使用多層方法,該方法基于虛擬環(huán)境內(nèi)的網(wǎng)絡(luò)條件在三個不同的協(xié)議之間自動進(jìn)行切換。在該實(shí)例中,三個興趣管理協(xié)議為小區(qū)、動態(tài)限界區(qū)域、以及閑談(Gossip)。現(xiàn)在依次描述每個協(xié)議。小區(qū)協(xié)議將虛擬環(huán)境分為大小固定的區(qū)域(小區(qū)),并且將這些小區(qū)插在分布式哈希表所形成的對等網(wǎng)絡(luò)上。映射確保在網(wǎng)絡(luò)內(nèi)的所有對等上的負(fù)載均衡充足。每個小區(qū)的大小基于網(wǎng)絡(luò)內(nèi)對等的數(shù)量,也基于應(yīng)用程序的性質(zhì)。離所映射的小區(qū)最近的對等負(fù)責(zé)該小區(qū)。艮口,將組織該對等的節(jié)點(diǎn)視為小區(qū)節(jié)點(diǎn)(服務(wù)器)。比如,在圖2中,Pl為小區(qū)Cl的小區(qū)節(jié)點(diǎn)(服務(wù)器),P2為小區(qū)C2的小區(qū)節(jié)點(diǎn)(服務(wù)器)。當(dāng)對等向網(wǎng)絡(luò)介紹/宣告所分配的實(shí)體時,該對等使用小區(qū)協(xié)議將該實(shí)體和興趣區(qū)域插入虛擬環(huán)境內(nèi)。適當(dāng)?shù)男^(qū)服務(wù)器得到新實(shí)體(請求)的通知,并且反過來將新實(shí)體興趣區(qū)域內(nèi)的其他相關(guān)實(shí)體通知給進(jìn)行介紹的對等。如果新實(shí)體與其他實(shí)體的興趣區(qū)域相交,那么小區(qū)服務(wù)器還會通過各個對等向小區(qū)內(nèi)所有其他的實(shí)體提供關(guān)于該新實(shí)體的信息。小區(qū)內(nèi)的實(shí)體定期詢問相關(guān)小區(qū)節(jié)點(diǎn)(服務(wù)器),以找出其興趣區(qū)域內(nèi)的其他實(shí)體,也稱為要求興趣管理信息(見圖9的步驟900)。該小區(qū)服務(wù)器以更新后的與其他實(shí)體和興趣區(qū)域的交集組作為響應(yīng)。該小區(qū)節(jié)點(diǎn)(服務(wù)器)僅僅發(fā)送交集組的變化,而不發(fā)送整個交集組。由于給定實(shí)體的交集數(shù)量增加,比如虛擬環(huán)境內(nèi)某個空間的化身密度增大,所進(jìn)行的興趣管理算法切換到下面描述的動態(tài)限界方法。動杰限界區(qū)域協(xié)議使用小區(qū)協(xié)議的一個缺陷在于保持分布式哈希表需要大筆開銷。分布式哈希表的每次插入要重復(fù)幾次(取決于分布式哈希表的大小)。因此,如果虛擬環(huán)境內(nèi)具有大量的實(shí)體,那么這些實(shí)體會給分布式哈希表造成明顯的載荷,使得該分布式哈希表不穩(wěn)定。圖3顯示了多個實(shí)體(用30表示)如何能在虛擬空間內(nèi)聚集在一起使得分布式哈希表超載的實(shí)例。通過減少分布式哈希表的載荷,動態(tài)限界區(qū)域協(xié)議解決了該問題,并且即使虛擬環(huán)境的實(shí)體數(shù)量明顯增大也會確保分布式哈希表穩(wěn)定。2009年10月8日提交的PCT專利申請?zhí)朠CT/AU2009/001331(公開號WO2010/04179)中完整地描述了動態(tài)限界區(qū)域協(xié)議?,F(xiàn)在參考圖4,動態(tài)限界興趣管理(IM,InterestingManagement)區(qū)域32為任何形狀和尺寸的空間內(nèi)的區(qū)域。與小區(qū)不同,限界興趣管理區(qū)域?yàn)閯討B(tài),即該區(qū)域在虛擬空間內(nèi)可四處移動并且可按照要求調(diào)整其大小。而且,限界興趣管理區(qū)域本身為“實(shí)體”,因此該區(qū)域可插入其他興趣管理服務(wù)(比如小區(qū)或其他限界興趣管理區(qū)域)內(nèi)。限界興趣管理區(qū)域可采取任何由基本的對象系統(tǒng)支撐的形狀,比如球形。動態(tài)限界興趣管理區(qū)域在發(fā)現(xiàn)過程中引入額外的條件。每個實(shí)體及其相關(guān)的興趣區(qū)域的興趣管理由限界興趣管理區(qū)域提供。限界區(qū)域通過其限界區(qū)域管理對等詢問分布式哈希表,以找出其他實(shí)體和其他限界興趣區(qū)域。興趣區(qū)域內(nèi)的實(shí)體詢問其限界區(qū)域,以識別任何興趣實(shí)體。限界區(qū)域由管理對等控制,將特定限界區(qū)域的限界區(qū)域管理員的任務(wù)分配給網(wǎng)絡(luò)上的對等。這樣進(jìn)行對等選擇,以便在網(wǎng)絡(luò)上分布載荷。限界區(qū)域內(nèi)只有一個實(shí)體時,由本地對等(分配給該實(shí)體的對等)管理該限界區(qū)域。這就省去了實(shí)體和限界區(qū)域之間相關(guān)的通信開銷。限界區(qū)域管理對等產(chǎn)生限界區(qū)域,并且在該限界區(qū)域內(nèi)插入實(shí)體和其興趣區(qū)域,開始進(jìn)行系統(tǒng)操作(見圖9中的步驟902(i))。然后限界區(qū)域管理對等使用小區(qū)協(xié)議將限界興趣管理區(qū)域插入分布式哈希表。這些小區(qū)在空間內(nèi)檢測所插入的限界興趣管理區(qū)域和現(xiàn)有的實(shí)體之間的交集,并且通過負(fù)責(zé)的對等將新服務(wù)通知給這些實(shí)體。反過來,這些實(shí)體從小區(qū)中去除其區(qū)域并將這些區(qū)域插入限界興趣管理區(qū)域內(nèi)。如果某實(shí)體被限界興趣管理區(qū)域完全包含,那么該限界興趣管理服務(wù)的區(qū)域管理對等發(fā)送通知給該實(shí)體,通知該實(shí)體已經(jīng)與分布式哈希表分離。該有效效應(yīng)在于僅將一個區(qū)域插入覆蓋所有實(shí)體的分布式哈希表內(nèi),明顯減少了分布式哈希表復(fù)制造成的通信量。實(shí)體隨時自由進(jìn)入或離開限界興趣管理區(qū)域所覆蓋的空間區(qū)域。興趣管理服務(wù)將限界興趣管理區(qū)域和分布式哈希表的交集/分離通知給這些實(shí)體,然后按照要求更新興趣管理訂閱。同樣,限界區(qū)域可按照要求移動或調(diào)整大小,以最小化網(wǎng)絡(luò)通信量,興趣管理通知依然確保興趣管理訂閱的一致性。限界實(shí)體管理區(qū)域具有默認(rèn)大小,然而,這些區(qū)域的尺寸可增大或縮小,以便容納多個對象。具有最大的尺寸限制,計算該尺寸限制,以便優(yōu)化系統(tǒng)性能。限界區(qū)域可與其他區(qū)域合并(見圖5),或者基于區(qū)域內(nèi)的實(shí)體運(yùn)動,這些區(qū)域可分裂(見圖6)成多個限界區(qū)域??捎上旅娴乃惴枋鱿藿鐓^(qū)域的行為。假設(shè)限界區(qū)域B1包含N個實(shí)體O1,02,…,0N。每次實(shí)體從訂閱區(qū)域移出時,其負(fù)責(zé)的對等發(fā)送請求給限界區(qū)域,限界區(qū)域的管理對等反過來調(diào)用“更改_區(qū)域0函數(shù)(M0dify_Regi0n()function)”。為了理解這些算法,這里介紹小組的概念?;趯?shí)體的興趣區(qū)域的重疊,將區(qū)域內(nèi)的實(shí)體分為小組。小組內(nèi)的所有實(shí)體具有一定程度的重疊或者通過另外的實(shí)體連接。比如,在圖7中,限界區(qū)域X具有兩個小組。第一組包括A、B和C,第二組包括D和E。即使實(shí)體A和C的興趣區(qū)域彼此不相交,但是這些區(qū)域?yàn)橥粋€小組的一部分,因?yàn)檫@些區(qū)域通過實(shí)體B連接。更改_區(qū)域(),合并()和分裂()的算法如下ModifyRegion(RegionB)//更改_區(qū)域(區(qū)域B){OverlapregionlistL:={}//重疊區(qū)i或列表L:={}foreachRinLdo//對于L內(nèi)的每個R,進(jìn)行CalculateoverlapbetweenBandR;//計算B和R之間的重疊if(overlap>50%)//如果(重疊〉50%)Merge(B,R);//合并(B,R)EntitylistΧ:{}//實(shí)體清單X::{}ParseeachEinXandformsub-groups;//在X內(nèi)解析每個E并且形成子組;ResizeBsothatitenclosesalltheentitiesinX;//調(diào)整B的尺寸,以便將所有實(shí)體裝入X內(nèi);forthelargestsub-groupg//對于最大的子組gSplit(B,g);//分裂(B,g)}Merge(RegionB,RegionC)//合并(區(qū)域B,區(qū)域C){IncreasethesizeofBuntilitenclosesC;//增大B的尺寸,直到其圍住C;ShutdownC;//關(guān)閉C;TransferallentitiesfromCtoB;//將所有實(shí)體從C傳送到B;}Split(RegionB,Subgroupg)//分裂(區(qū)域B,子組g){CreatenewregionC;//產(chǎn)生新區(qū)域C;Entitylistforsub-groupgisX:={}//子組g的實(shí)體列表為X:={}EntitylistforregionBisY:={}//區(qū)域B的實(shí)體列表為Y:={}foreachentityEinXdo//對于X內(nèi)的每個實(shí)體E,進(jìn)行TransferEfromregionBtoregionC;//將E從區(qū)域B傳送到區(qū)i或C;ReducethesizeofBtoencloseallentitiesinY;//減小B的尺寸,以便將所有實(shí)體裝入Y內(nèi);}限界興趣管理區(qū)域與其區(qū)域內(nèi)的各個實(shí)體或分布式哈希表的連接(暫時或永久地)失敗或喪失。在這種情況下,所有的實(shí)體和限界興趣區(qū)域恢復(fù)使用小區(qū)協(xié)議,并且重新形成新限界興趣區(qū)域。當(dāng)限界興趣區(qū)域失效時,這就給興趣管理提供后退機(jī)制,確保限界興趣管理區(qū)域能夠以平穩(wěn)的方式從網(wǎng)絡(luò)和設(shè)備失效中恢復(fù),而不喪失連接。Gossip協(xié)議限界興趣管理減少了分布式哈希表上的載荷,從而隨后減少復(fù)制中附加的開銷。然而,限界區(qū)域限制了這些區(qū)域可支撐的實(shí)體的數(shù)量。由于限界區(qū)域由單個對等管理,所以如果大量的實(shí)體參與限界興趣管理區(qū)域,這些區(qū)域就會超載。如果大量的用戶聚集在小空間內(nèi),就會發(fā)生該情形。如圖3所示,所有的實(shí)體可為相同限界區(qū)域的一部分。這就造成該限界區(qū)域的管理對等超載,并且使得系統(tǒng)不穩(wěn)定。Gossip協(xié)議會確保無論多少實(shí)體進(jìn)入限界區(qū)域或小區(qū),對等均不超載。當(dāng)該實(shí)體的交集數(shù)量超過某個閾值(見圖9的步驟90時,對等使用閑談模式為實(shí)體提供興趣管理。進(jìn)入閑談模式的閾值與實(shí)體興趣區(qū)域內(nèi)的實(shí)體的總數(shù)成比例。每個實(shí)體第一次進(jìn)入虛擬環(huán)境時,總是通過負(fù)責(zé)的對等將自身插入分布式哈希表(使用小區(qū)協(xié)議)。然而,由于實(shí)體的交集數(shù)量超過預(yù)定的閾值(見圖9的步驟902),該實(shí)體的負(fù)責(zé)對等切換到Gossip協(xié)議,以促進(jìn)該實(shí)體的興趣管理。對分布式哈希表的限制要求Gossip協(xié)議確保興趣管理服務(wù)的大小可適合大量用戶(并且反過來適合實(shí)體),而不損害整個系統(tǒng)的性能。這由對該實(shí)體負(fù)責(zé)的對等通過減少代表該實(shí)體的適當(dāng)?shù)男^(qū)服務(wù)器進(jìn)行的興趣管理詢問的頻率,達(dá)到該目的(見圖8的步驟802和圖9的步驟902(ii))。這種減少的頻率可基于預(yù)定的和可編程的閾值。比如,基于適當(dāng)?shù)男^(qū)服務(wù)器的能力,所減少的詢問頻率由負(fù)責(zé)的對等確定或者提供給負(fù)責(zé)的對等。該減少的頻率也可基于其他參數(shù),比如實(shí)體區(qū)域密度和該對等交集的數(shù)量。以Gossip模式管理實(shí)體時,通過減少而非停止對興趣管理服務(wù)的詢問,確保小區(qū)服務(wù)器具有實(shí)體知識并可調(diào)整任何差異。使用概率函數(shù)計算實(shí)體ei詢問分布式哈希表的頻率,該函數(shù)考慮了該實(shí)體的交集數(shù)量。假定進(jìn)入閑談模式的實(shí)體的閾值為T個交集(在ei的興趣區(qū)域內(nèi)具有T個以上的實(shí)體)。對于給定的時間段P,假設(shè)ei的已知交集的數(shù)量為K(必須大于T,否則ei不在閑談模式內(nèi))。假定對ei負(fù)責(zé)的對等接收R個引入(introductions),同時在該時間段P內(nèi)與其相鄰的實(shí)體閑談。在整個R引入的實(shí)體中的實(shí)體子集U并非負(fù)責(zé)的對等先前已知的那些實(shí)體(即,某些所接收的閑談信息與該實(shí)體已知的那些實(shí)體相關(guān))。由于該對等未與小區(qū)服務(wù)器連通一段時間并且也不確切了解,所以計算ei興趣區(qū)域內(nèi)的實(shí)體Ni的總數(shù)的估算值。Ni計算如下Ni=(U/R)*K+K需要注意的是,所估算的Ni總是大于或等于K,K大于Τ。使用概率函數(shù)(PDF)Pi如下計算閑談頻率Pi=T/Ni需要注意的是,Pi總是為1或者小于1,因?yàn)镹i總大于T。每次對ei負(fù)責(zé)的對等預(yù)期詢問分布式哈希表時,均生成0和1之間的隨機(jī)數(shù)。如果該隨機(jī)數(shù)小于Pi,那么該對等詢問分布式哈希表,否則就不詢問。即,該頻率基于Ni大于閾值T的程度以及所生成的隨機(jī)數(shù)。該程序確保對小區(qū)服務(wù)器進(jìn)行詢問的總數(shù)不超過該時間段內(nèi)的閾值T。實(shí)體之間的閑談信息可替換的,實(shí)體通過其負(fù)責(zé)的對等依賴相鄰的實(shí)體,將虛擬空間內(nèi)的其他實(shí)體通知給彼此(見圖8的步驟800)。通常,每個對等了解幾個區(qū)域和這些區(qū)域的信息儲存在其本地存儲器內(nèi)。促進(jìn)閑談模式(Gossipmode)的實(shí)體進(jìn)行興趣管理時,該實(shí)體的負(fù)責(zé)對等將關(guān)于這種已知區(qū)域的信息發(fā)送給實(shí)體的其他對等,即對等與其他對等交流區(qū)域詳情(見圖8的步驟800)。比如,假設(shè)有四個對等A、B和C,其分別控制實(shí)體A、B和C。三個實(shí)體A、B和C分別具有區(qū)域A、B和C。A和B相鄰,因?yàn)閷?shí)體A(通過對等A)了解區(qū)域B,比如小區(qū)服務(wù)器已經(jīng)將區(qū)域B的詳情給予對等A,或者從限界興趣管理系統(tǒng)中可獲得該信息,因?yàn)閷?shí)體A和B在彼此的興趣區(qū)域內(nèi)。B和C相鄰,因?yàn)閷?shí)體C了解區(qū)域B。實(shí)體A和B以及實(shí)體B和C定期地(通過其對等)交換實(shí)體更新,比如位置信息。對等A目前正在Gossip協(xié)議內(nèi)管理實(shí)體A,將興趣信息添加到實(shí)體A定期發(fā)送給實(shí)體B和C的某些實(shí)體更新消息(見圖8的步驟802)。興趣信息為“閑談(Gossip)”,因?yàn)锳將實(shí)體C的存在通知給實(shí)體B。實(shí)體A也將實(shí)體B的存在通知給實(shí)體C。實(shí)體B(通過對等B)從A中接收信息更新包并且以常規(guī)的方式進(jìn)行處理。如果B檢測該消息內(nèi)的額外“閑談”信息,那么其對該信息進(jìn)行如下處理。如果B已經(jīng)意識到實(shí)體C,那么其簡單地忽略更新消息內(nèi)的額外信息。如果實(shí)體B未意識到實(shí)體C為實(shí)體B的興趣區(qū)域,那么將其視為介紹。然后,實(shí)體B試圖與實(shí)體C進(jìn)行連通(通過其各自的對等),以在以后分享更新消息。對等A將實(shí)體A切換到Gossip協(xié)議中時,為閑談分配固定的帶寬量。對等A使用該帶寬,引入其他的實(shí)體,同時與相鄰的實(shí)體閑談/交互。對等A確保僅僅發(fā)送關(guān)于某些隨機(jī)選擇的更新消息的興趣信息不會超過該帶寬。Gossip協(xié)議確保興趣管理服務(wù)穩(wěn)健并且穩(wěn)定,能夠支持密集的區(qū)域,而不造成對等網(wǎng)絡(luò)超載。在其間詵擇件地切換現(xiàn)在描述在興趣管理協(xié)議之間選擇性地切換的方法,該方法在結(jié)構(gòu)對等網(wǎng)絡(luò)內(nèi)由對等執(zhí)行。下面顯示選擇性切換算法的實(shí)例,其中對等能力P(intX,inty)對等的能力為保留給興趣管理的對等的預(yù)計帶寬。χ為興趣管理的預(yù)計上游帶寬,y為興趣管理的預(yù)計下游帶寬。交集整數(shù)η這為實(shí)體的交集的數(shù)量,即η表示實(shí)體興趣區(qū)域內(nèi)的實(shí)體的估計數(shù)量??傮w狀態(tài)水平G(float(浮動))此為實(shí)體興趣區(qū)域內(nèi)的實(shí)體的估計數(shù)量與網(wǎng)絡(luò)N內(nèi)的實(shí)體的總數(shù)之間的預(yù)計比率。在結(jié)構(gòu)對等網(wǎng)絡(luò)中,每個對等具有網(wǎng)絡(luò)的局部信息,因此并非每個對等了解網(wǎng)絡(luò)內(nèi)對等的總數(shù)。相反,在該實(shí)例中,對等如下預(yù)估網(wǎng)絡(luò)內(nèi)對等的總數(shù)。每個對等負(fù)責(zé)該空間內(nèi)的某個區(qū)域。比如,如果該網(wǎng)絡(luò)內(nèi)僅僅有一個對等,那么該對等負(fù)責(zé)整個虛擬空間(見圖7)。如果網(wǎng)絡(luò)內(nèi)具有三個對等,那么平均每個對等負(fù)責(zé)三分之一的虛擬空間,這是因?yàn)樯⒘泻瘮?shù)足夠隨機(jī),以便假定整體上均勻地分布對等,這在圖8中用示出了出。因此如果在虛擬網(wǎng)絡(luò)內(nèi)具有N個對等,那么平均每個對等負(fù)責(zé)整個虛擬空間的1/N。每個對等使用該方法估計N的值。由對等為每個所分配的實(shí)體進(jìn)行下面的算法,使用不同的協(xié)議興趣管理每個實(shí)體。選擇_協(xié)議(對等能力P,交集數(shù)量n,現(xiàn)有總體水平G){Constantt=f(P.x,P.y)//常量t=f(P.x,P.y)ConstantU=f(P.x)//常量U=f(P.x)EntityListX:{}//實(shí)體列表X:{}ParseeachEinXandformsubgroups;//在X內(nèi)解析每個E并形成小組;Lets=No.ofsub-groups//令s=小組的數(shù)量If(protocol=Cell)&&(s>t)//如果(協(xié)議=小區(qū))&&(s>t)Switch_Protocol(Boundedregion);//切換_協(xié)議(限界區(qū)域);If(protocol=CellorBoundedRegion)&&(η>U)//如果(協(xié)議=小區(qū)或限界區(qū)域)&&(n>U)Switch_Protocol(Gossip);//切換_協(xié)議(閑談);If(G>0.5)//如果(G>0.5)Switch_Protocol(Cell);//切換j辦議(小區(qū));If(G<=0.5)and(η<U)//哆口果(G<=0.5)并且(n<U)Switch—Protocol(BoundedRegion);//切換—協(xié)議(限界區(qū)域);If(G<=0.5)and(η>U)//哆口果(G<=0.5)并且(n>U)Switch—Protocol(Gossip);//切換—協(xié)議(閑談);}也就是說常量t=f(P.x,P.y)對等基于對等能力P計算閾值t。常量U=f(P.x)對等基于對等P能力計算閾值U。實(shí)體列表X:{}生成所有實(shí)體的列表,對等P將興趣管理提供給這些實(shí)體。在X內(nèi)解析每個E并形成子組S卩,基于其興趣區(qū)域,將分配給對等的實(shí)體分成子組。另S=子組的數(shù)量將參數(shù)s設(shè)定為上述子組的數(shù)量。如果(協(xié)議=小區(qū))&&(s>t)切換_協(xié)議(限界區(qū)域)如果對等P目前操作該實(shí)體的小區(qū)協(xié)議,并且子組的數(shù)量大于基于P的能力確定的閾值t,那么現(xiàn)在將對等P設(shè)為相對于該實(shí)體根據(jù)上述的限界區(qū)域協(xié)議進(jìn)行操作。如果(協(xié)議=小區(qū)或限界區(qū)域)&&(n>U)切換_協(xié)議(閑談)如果對等P目前操作該實(shí)體的小區(qū)或限界區(qū)域協(xié)議,并且該實(shí)體區(qū)域范圍內(nèi)的對等的數(shù)量大于基于興趣管理的對等P的下游帶寬的閾值U,那么現(xiàn)在將對等P設(shè)為根據(jù)上述的gossip協(xié)議管理該實(shí)體。如果(G>0.5)切換_協(xié)議(小區(qū))此文中,負(fù)載均衡閾值0.5為預(yù)定的閾值,該閾值可調(diào),并且基于應(yīng)用程序而變化。在其他的實(shí)施例中,變量可用于限定該閾值參數(shù),然后該參數(shù)可成為應(yīng)用程序特有的閾值。在該實(shí)例中,如果對等P對對等網(wǎng)絡(luò)內(nèi)預(yù)計不到50%的實(shí)體負(fù)責(zé),那么現(xiàn)在將對等P設(shè)為根據(jù)上述的小區(qū)協(xié)議進(jìn)行操作。如果(G<=0.5)并且(η<U)切換_協(xié)議(限界區(qū)域)在該實(shí)例中,如果對等P對對等網(wǎng)絡(luò)內(nèi)預(yù)計50%以上的實(shí)體負(fù)責(zé),并且該實(shí)體的交集的數(shù)量大于基于興趣管理的對等P的下游帶寬的閾值,那么現(xiàn)在將對等P設(shè)為根據(jù)上述的限界區(qū)域協(xié)議進(jìn)行操作。如果(G<=0.5)并且(η>U)切換_協(xié)議(閑談)在該實(shí)例中,如果對等P對對等網(wǎng)絡(luò)內(nèi)預(yù)計50%以上的實(shí)體負(fù)責(zé),并且該實(shí)體的交集的數(shù)量大于基于興趣管理的對等P的下游帶寬的閾值,那么現(xiàn)在將對等P設(shè)為根據(jù)上述的Gossip協(xié)議進(jìn)行操作。圖10為計算機(jī)系統(tǒng)100的示意圖,該計算機(jī)系統(tǒng)組織能夠執(zhí)行上述的切換算法和興趣管理協(xié)議的對等。計算機(jī)系統(tǒng)包括存儲器102,該存儲器包括儲存應(yīng)用軟件,在該應(yīng)用程序中,包括允許用戶在虛擬環(huán)境上參與的軟件,尤其是為對等提供器具的軟件。還提供儲存器,此外,該儲存器還儲存關(guān)于信息興趣管理的信息,比如,分配給對等的實(shí)體的區(qū)域的詳情。還提供處理器110,以執(zhí)行該軟件108并獲得106中儲存的信息,以便執(zhí)行上述方法。使用輸入輸出口104將處理器110生成的請求和更新消息發(fā)送到網(wǎng)絡(luò)上。在端口104處接收對請求和更新消息等的回復(fù),并且如上所述由處理器110處理這些回復(fù),可包括在存儲器106中儲存一些信息。在其他實(shí)施例中,可使用對等P的不同處理載荷措施以及閾值條件,并且按照不同的順序使用,以便在所述的三個興趣管理協(xié)議之間有效地進(jìn)行切換??梢M(jìn)其他的興趣管理協(xié)議,以便在四個或更多的興趣管理協(xié)議之間進(jìn)行選擇。該實(shí)例有利的是,興趣管理服務(wù)可擴(kuò)展,使得該服務(wù)可處理蜂擁而至的突發(fā)訪問,并且同時可靠精確。本
技術(shù)領(lǐng)域:
的技術(shù)人員要理解的是,如具體的實(shí)施例中所示,本發(fā)明可進(jìn)行大量的變更和/或更改,而不背離本發(fā)明所描述的廣泛范圍。要理解的是,使用各種技術(shù)可執(zhí)行該公開的技術(shù)。比如,合適的計算機(jī)可讀介質(zhì)上的一系列計算機(jī)可執(zhí)行指令可執(zhí)行此文中所描述的方法。合適的計算機(jī)可讀介質(zhì)可包括易失性(比如隨機(jī)存取存儲器)或非易失性(比如只讀存儲器,磁盤)存儲器、載波和傳輸介質(zhì)。示范性載波可采取電動、電磁或光學(xué)信號的形式,沿著局部網(wǎng)絡(luò)或可公開訪問的網(wǎng)絡(luò)(比如互聯(lián)網(wǎng))輸送數(shù)字?jǐn)?shù)據(jù)流。還要理解的是,除非另外在下面的討論中明顯地特別指出,否則要了解,在整個說明書中,討論所使用的術(shù)語,比如“構(gòu)造”、或“處理”、或“接收”、或“獲取”、或“包括”、或“計算”、或“執(zhí)行”等等,指計算機(jī)系統(tǒng)、或類似的電子計算裝置、或其他這種信息儲存器、傳輸或顯示裝置的行為和程序,類似的電子計算裝置處理由計算機(jī)系統(tǒng)的寄存器和存儲器內(nèi)的物理(電子)量所表示的數(shù)據(jù)并將其轉(zhuǎn)換成同樣由計算機(jī)系統(tǒng)的存儲器或寄存器內(nèi)的物理量所表示的其他數(shù)據(jù)。因此,在各個方面應(yīng)將這些實(shí)施例視為說明性,而非限制性。權(quán)利要求1.一種由對等執(zhí)行的用于促進(jìn)對等網(wǎng)絡(luò)的虛擬環(huán)境進(jìn)行興趣管理的方法,其特征在于,該方法包括(a)在虛擬環(huán)境內(nèi),為實(shí)體進(jìn)行興趣管理,包括代表實(shí)體發(fā)送興趣管理信息的請求;(b)基于由滿足條件的對等進(jìn)行興趣管理的處理載荷,通過下列步驟選擇性地進(jìn)行興趣管理(i)將促進(jìn)實(shí)體子集的興趣管理分配給另一對等,或者()減少發(fā)送興趣管理信息的請求的頻率。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在步驟(a)中進(jìn)行興趣管理包括向興趣管理服務(wù)發(fā)送興趣管理信息的請求。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,該方法進(jìn)一步包括在(i)情況下,以及基于由再次滿足條件的對等進(jìn)行興趣管理的處理載荷,將另一實(shí)體子集的興趣管理分配給另一對等。4.根據(jù)權(quán)利要求1、2或3所述的方法,其特征在于,步驟(b)進(jìn)一步基于步驟(a)的現(xiàn)有興趣管理方法是否基于向信息管理服務(wù)發(fā)送請求和/或?yàn)橄惹斑x擇(i)或(ii)的結(jié)^ο5.根據(jù)前述權(quán)利要求中任一項所述的方法,其特征在于,在(i)情況下,另一對等促進(jìn)興趣管理的實(shí)體子集隨著時間改變。6.根據(jù)前述權(quán)利要求中任一項所述的方法,其特征在于,所述處理載荷條件基于下列一個或多個所述對等促進(jìn)興趣管理的實(shí)體的數(shù)量;特定實(shí)體所具有的交集的數(shù)量;所述對等的處理能力;所述對等基于實(shí)體興趣的區(qū)域促進(jìn)興趣管理的實(shí)體的候選分組;所述對等促進(jìn)興趣管理的實(shí)體的估計比例。7.根據(jù)前述權(quán)利要求中任一項所述的方法,其特征在于,情況(ii)基于權(quán)利要求11到20中的任一項。8.根據(jù)前述權(quán)利要求中任一項所述的方法,其特征在于,所述方法由所述對等對分配給對等以促進(jìn)興趣管理的每個實(shí)體。9.一種軟件,其特征在于,執(zhí)行該軟件以促使對等網(wǎng)絡(luò)虛擬環(huán)境中虛擬環(huán)境的對等根據(jù)前述任一項權(quán)利要求促進(jìn)興趣管理。10.一種計算機(jī)系統(tǒng),其特征在于,該計算機(jī)系統(tǒng)組織對等網(wǎng)絡(luò)虛擬環(huán)境中虛擬環(huán)境的對等可操作地促進(jìn)興趣管理,該計算機(jī)系統(tǒng)包括執(zhí)行根據(jù)權(quán)利要求1到8中任一項所述的方法的處理器、通信端口、儲存裝置。11.一種促進(jìn)第一實(shí)體在對等網(wǎng)絡(luò)的虛擬環(huán)境中進(jìn)行興趣管理的方法,其特征在于,該方法包括(a)將興趣管理信息發(fā)送給與第一實(shí)體的相鄰的實(shí)體;(b)減少向興趣管理服務(wù)發(fā)送興趣管理信息的請求的頻率。12.根據(jù)權(quán)利要求11所述的方法,其特征在于,減小所述步驟(b)中的頻率,確保該頻率不超過閾值。13.根據(jù)權(quán)利要求11或12所述的方法,其特征在于,所述步驟(b)中的頻率基于興趣管理服務(wù)的能力。14.根據(jù)權(quán)利要求11、12或13所述的方法,其特征在于,所述步驟(b)中的頻率包括首先確定第一實(shí)體的交集的估計數(shù)量與閾值的比例。15.根據(jù)權(quán)利要求11到14中任一項所述的方法,其特征在于,所述步驟(b)包括生成隨機(jī)數(shù)量,并只在該隨機(jī)數(shù)量表示要發(fā)送請求時發(fā)送該請求。16.根據(jù)由權(quán)利要求15限定的權(quán)利要求14所述的方法,其特征在于,比較所述隨機(jī)數(shù)量和所述比例。17.根據(jù)權(quán)利要求11到16中任一項所述的方法,其特征在于,所述步驟(a)以比步驟(b)中的頻率更高的頻率執(zhí)行。18.根據(jù)權(quán)利要求11到17中任一項所述的方法,其特征在于,所述步驟(a)以基于帶寬數(shù)量的頻率執(zhí)行,所述帶寬數(shù)量由所述對等分配用以執(zhí)行步驟(a)。19.根據(jù)權(quán)利要求11到18中任一項所述的方法,其特征在于,所述步驟(b)中的請求發(fā)送給興趣管理服務(wù)。20.根據(jù)權(quán)利要求11到19中任一項所述的方法,其特征在于,所述步驟(a)包括在實(shí)體更新消息內(nèi)攜帶興趣管理信息,發(fā)送所述實(shí)體更新消息給關(guān)聯(lián)第一實(shí)體。21.一種軟件,其特征在于,執(zhí)行該軟件以促使對等網(wǎng)絡(luò)虛擬環(huán)境的對等根據(jù)權(quán)利要求11到19中任一項促進(jìn)興趣管理。22.—種計算機(jī)系統(tǒng),其特征在于,組織對等網(wǎng)絡(luò)虛擬環(huán)境的對等可操作地促進(jìn)興趣管理,該計算機(jī)系統(tǒng)包括執(zhí)行根據(jù)權(quán)利要求11到19中任一項所述的方法的處理器、通信端口、儲存裝置。23.一種開發(fā)平臺軟件應(yīng)用,其特征在于,使游戲開發(fā)人員能夠設(shè)計出多人在線游戲,并能夠在所述游戲中根據(jù)權(quán)利要求1到8、11到19中任一項所述的方法進(jìn)行促進(jìn)興趣管理。24.—種組織虛擬環(huán)境的對等網(wǎng)絡(luò),其特征在于,根據(jù)權(quán)利要求1到8、11到19中任一項所述的方法促進(jìn)虛擬環(huán)境內(nèi)的興趣管理。全文摘要本發(fā)明涉及一種對等網(wǎng)絡(luò)內(nèi)興趣管理的規(guī)定,對等網(wǎng)絡(luò)為多用戶提供虛擬環(huán)境。在線游戲環(huán)境為這種環(huán)境的一個實(shí)例。本發(fā)明包括切換算法(圖9),該算法將對等為實(shí)體提供的興趣管理有效地在三個協(xié)議(小區(qū)、興趣限界以及閑談)之間切換(902),以響應(yīng)于在相關(guān)對等上的處理載荷。這使得興趣管理服務(wù)可擴(kuò)展并且可靠。閑談協(xié)議(圖8)將興趣管理信息發(fā)送給實(shí)體的相鄰的實(shí)體,也減少了給該實(shí)體的興趣管理服務(wù)發(fā)送興趣管理信息請求的頻率。文檔編號G06F15/16GK102576346SQ201080032031公開日2012年7月11日申請日期2010年7月14日優(yōu)先權(quán)日2009年7月14日發(fā)明者圣陶許·庫爾卡尼,戴維·丘吉爾,斯考特·道格拉斯申請人:澳大利亞國家Ict有限公司