两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

通信網(wǎng)中的方法和設(shè)備的制作方法

文檔序號(hào):7596275閱讀:224來源:國知局
專利名稱:通信網(wǎng)中的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信網(wǎng),具體地,涉及在這種網(wǎng)絡(luò)中的應(yīng)用的幾個(gè)用戶之間的實(shí)時(shí)通信。
相關(guān)技術(shù)描述當(dāng)前正在開發(fā)例如用于多用戶的游戲的多用戶通信應(yīng)用。這樣的游戲可以由連接到同一個(gè)LAN(局域網(wǎng))或甚至更大的網(wǎng)絡(luò)(諸如互聯(lián)網(wǎng))的不同的部分的多個(gè)用戶參加。對(duì)于這樣的應(yīng)用,使用三個(gè)主要模型客戶機(jī)-服務(wù)器同步,對(duì)等體到對(duì)等體的同步,或廣播同步。今天在互聯(lián)網(wǎng)上的某些多用戶游戲涉及多達(dá)100 000個(gè)參加者,其中的幾千人可同時(shí)參加游戲。今天使用的所有的同步方法都會(huì)造成相當(dāng)長的延時(shí)。所以,今天在互聯(lián)網(wǎng)上進(jìn)行的多用戶游戲都是那些速度不是關(guān)鍵性問題的游戲。例如,對(duì)于快速動(dòng)作的游戲(諸如賽車游戲或戰(zhàn)斗游戲,其中用戶必須對(duì)在幾分之一秒內(nèi)發(fā)生的事情作出反應(yīng)),就不能通過使用任何標(biāo)準(zhǔn)同步方法并以可接受的質(zhì)量來玩游戲。
撥號(hào)接入網(wǎng)絡(luò)典型地使用客戶機(jī)-服務(wù)器同步。在這種情形下,服務(wù)器接收來自所有的游戲者的數(shù)據(jù)。它必須找出每個(gè)游戲者需要的信息以及發(fā)送這些信息。中央服務(wù)器是系統(tǒng)中明顯的瓶頸。中央客戶機(jī)-服務(wù)器游戲可以支持2-250個(gè)游戲者。較高的數(shù)目要涉及到更新速率低到2Hz的服務(wù)器。中央服務(wù)器會(huì)附加上等待時(shí)間是因?yàn)樵黾拥妮斔途嚯x和在服務(wù)器中的處理與安排延時(shí)。例如考慮一種情形,其中客戶機(jī)在美國西海岸而服務(wù)器在美國東海岸。將會(huì)由客戶機(jī)-服務(wù)器的運(yùn)行模式造成約80ms的輸送等待時(shí)間和至少10ms的處理等待時(shí)間。
所以,客戶機(jī)-服務(wù)器同步不適用于其中延時(shí)是關(guān)鍵性的、具有大量游戲者的實(shí)時(shí)應(yīng)用。
對(duì)等體到對(duì)等體同步是指所有的客戶機(jī)把應(yīng)用數(shù)據(jù)直接發(fā)送到所有其它的客戶機(jī)。這種模型常常被使用于在公共互聯(lián)網(wǎng)上參加的游戲。游戲開發(fā)者提供一個(gè)免費(fèi)應(yīng)用接待廳服務(wù)器,在其中使得游戲者相遇建立游戲以及參加正在進(jìn)行的游戲。一旦游戲開始,它以同級(jí)模式進(jìn)行,而不從游戲開發(fā)者場(chǎng)地提取任何資源。
對(duì)等體到對(duì)等體同步具有明顯的可縮放性問題,因?yàn)榫W(wǎng)絡(luò)負(fù)載正比于游戲者數(shù)目的平方;客戶機(jī)接入帶寬和CPU功率要求正比于游戲者的數(shù)目。在每個(gè)分組中的有用負(fù)載是10-40字節(jié),這意味著協(xié)議附加開銷通常是大于50%。小的游戲分組給出大的協(xié)議附加開銷。然而,通過標(biāo)題壓縮方法,這個(gè)附加開銷可被大大地減小。在互聯(lián)網(wǎng)上的同級(jí)游戲受到不可預(yù)測(cè)的延時(shí),以及常常因?yàn)橥降膩G失而中斷。
由此看到,對(duì)等體到對(duì)等體同步也最好地適用于小的網(wǎng)絡(luò),在相當(dāng)短的距離上以及在有限數(shù)目的用戶之間進(jìn)行通信。
廣播同步可以被局域網(wǎng)(LAN)上有限數(shù)目的用戶使用,但不適合于較大的網(wǎng)絡(luò)。
因?yàn)槭芡椒椒ㄊ┘拥南拗?,以?dāng)前的技術(shù)達(dá)到具有良好實(shí)時(shí)特性的多個(gè)參加者的通信是不可能的。
通過多點(diǎn)傳播(multicast),必須在網(wǎng)絡(luò)中進(jìn)行發(fā)送的信息可被大大地減少,因?yàn)樾畔⒅恍枰l(fā)送到每個(gè)多點(diǎn)傳播服務(wù)器一次,而不是發(fā)送給每個(gè)用戶一次。每個(gè)多點(diǎn)傳播服務(wù)器然后復(fù)制該信息以及把它發(fā)送到所連接的用戶。可以選擇每個(gè)用戶需要接收的信息。這可以減小服務(wù)器之間的和每個(gè)服務(wù)器與它的用戶之間的業(yè)務(wù)量。用于游戲的這樣的解決方案在美國專利5,841,980中被揭示。
在美國專利5,841,980中所揭示的系統(tǒng)中,每個(gè)用戶只具有與游戲部分有關(guān)的信息,這個(gè)信息是與當(dāng)前情形中的用戶有關(guān)的,例如,有關(guān)他所處在的地理區(qū)域的信息。如果環(huán)境改變,例如,如果用戶移動(dòng)到另一個(gè)房間,則在新的環(huán)境中的重要信息將不提供給用戶。
發(fā)明目的本發(fā)明的一個(gè)目的是改進(jìn)在通信網(wǎng)中的實(shí)時(shí)性能,特別是對(duì)于在大量參加者之間共同進(jìn)行的通信。
發(fā)明概要按照本發(fā)明,這個(gè)目的是通過一種在通信網(wǎng)中使用的服務(wù)器單元而達(dá)到的,所述服務(wù)器單元包括接收裝置,用于接收來自至少第一客戶機(jī)單元的信息,所述信息包括至少一部分有關(guān)分布互動(dòng)應(yīng)用的狀態(tài)信息,所述服務(wù)器單元的特征在于,它包括-狀態(tài)信息存儲(chǔ)裝置,用于存儲(chǔ)被包括在通過接收裝置從所述第一和第二客戶機(jī)單元之一接收的信息中的應(yīng)用狀態(tài)信息,-第一發(fā)送裝置,用于把從所述至少第一客戶機(jī)單元接收的狀態(tài)信息轉(zhuǎn)發(fā)到網(wǎng)絡(luò)中的至少另一個(gè)節(jié)點(diǎn),-第二發(fā)送裝置,用于把被存儲(chǔ)在所述狀態(tài)信息存儲(chǔ)裝置中的至少一部分信息發(fā)送到所述至少一個(gè)客戶機(jī)單元。
這使得能夠把應(yīng)用的整個(gè)狀態(tài)保持在網(wǎng)絡(luò)中的一個(gè)或多個(gè)單元中,這樣就消除了每個(gè)客戶機(jī)存儲(chǔ)整個(gè)狀態(tài)的需要,由此減小每個(gè)客戶機(jī)處的存儲(chǔ)器容量的需要以及對(duì)于與每個(gè)客戶機(jī)進(jìn)行通信所需要的帶寬。如果應(yīng)用狀態(tài)的每個(gè)部分被存儲(chǔ)在一個(gè)以上的網(wǎng)絡(luò)節(jié)點(diǎn)或客戶機(jī)中,則有利于實(shí)現(xiàn)備份。
按照本發(fā)明,這個(gè)目的是通過在通信網(wǎng)中的終端中使用的客戶機(jī)單元達(dá)到的,包括用于分布互動(dòng)應(yīng)用的應(yīng)用軟件,該客戶機(jī)單元的特征在于,它包括-至少一個(gè)輸入裝置,用于讀出來自所述終端的輸入,所述輸入至少構(gòu)成用于分布互動(dòng)應(yīng)用的應(yīng)用狀態(tài)信息,-發(fā)送裝置,用于把應(yīng)用狀態(tài)信息發(fā)送到應(yīng)用接入服務(wù)器,-接收裝置,用于從所述應(yīng)用接入服務(wù)器至少接收用于分布互動(dòng)應(yīng)用的應(yīng)用狀態(tài)信息,-用于顯示所述狀態(tài)信息的裝置。
按照本發(fā)明的方法和設(shè)備對(duì)于分布互動(dòng)應(yīng)用特別有用的,特別是涉及到實(shí)時(shí)通信的情況下。
優(yōu)選地,所述服務(wù)器裝置的接收裝置適用于-接收來自至少所述第一客戶機(jī)的預(yù)約信息,所述預(yù)約信息標(biāo)識(shí)這樣一些分布互動(dòng)應(yīng)用對(duì)象,其中所述第一客戶機(jī)希望接收有關(guān)于這些對(duì)象的信息。
-根據(jù)從該客戶機(jī)單元接收的預(yù)約信息,發(fā)送信息到所述至少一個(gè)客戶機(jī)單元,-所述服務(wù)器單元還包括至少一個(gè)客戶機(jī)預(yù)約表,用于存儲(chǔ)所述預(yù)約信息。
因此,所述客戶機(jī)單元還包括用于設(shè)置預(yù)約信息以便規(guī)定應(yīng)當(dāng)由其中接收可供使用的信息的分布互動(dòng)應(yīng)用的至少一個(gè)對(duì)象的裝置;以及用于發(fā)送所述預(yù)約信息到所述應(yīng)用接入服務(wù)器的裝置。
這減小了要被發(fā)送到每個(gè)用戶的信息量,由此,減小傳輸延時(shí),并且也有助于每個(gè)用戶分析信息,因?yàn)橹挥袑?duì)于特定用戶最重要的信息才顯示給該用戶。每個(gè)客戶機(jī)能夠?yàn)樽约簺Q定哪些是重要的信息。
在一個(gè)優(yōu)選實(shí)施例中,接收裝置用來從至少第二客戶機(jī)接收有關(guān)所述第一客戶機(jī)的緊急信息。緊急信息可被發(fā)送到第一客戶機(jī),或有關(guān)所述第二客戶機(jī)的應(yīng)用狀態(tài)信息可以根據(jù)所述緊急信息而被轉(zhuǎn)發(fā)到至少所述第一客戶機(jī)。緊急信息也可被使用來指示某個(gè)應(yīng)用狀態(tài)信息不應(yīng)當(dāng)被轉(zhuǎn)發(fā)到所述第一客戶機(jī)。緊急信息可被使用來改變客戶機(jī)預(yù)約。
在所述優(yōu)選實(shí)施例中,客戶機(jī)單元還包括用于設(shè)置緊急數(shù)據(jù)以便規(guī)定應(yīng)當(dāng)盡可能快地接收來自該客戶機(jī)的狀態(tài)信息的至少一個(gè)其它客戶機(jī)的裝置。
有利地,用于發(fā)送應(yīng)用狀態(tài)信息的客戶機(jī)單元的發(fā)送裝置被用來在把對(duì)象信息分組發(fā)送到服務(wù)器單元之前安排該對(duì)象信息分組中的信息,其中與一個(gè)對(duì)象有關(guān)的分組構(gòu)成了應(yīng)用的一部分,以及所述接收裝置被用來從服務(wù)器單元接收的分組中提取信息。
應(yīng)用接入服務(wù)器系統(tǒng)與應(yīng)用無關(guān),所以,它可以支持很寬范圍的不同的應(yīng)用。
共同工作的應(yīng)用接入服務(wù)器可以在優(yōu)選地提供保留的或被管理的傳輸容量的網(wǎng)絡(luò)上進(jìn)行通信。應(yīng)用的集合的帶寬要求可以由網(wǎng)絡(luò)管理系統(tǒng)來估值,以及足夠的網(wǎng)絡(luò)資源可被分配給正在連接應(yīng)用接入服務(wù)器單元的保留的網(wǎng)絡(luò)。新的應(yīng)用只有在資源是可提供時(shí)才是允許的。網(wǎng)絡(luò)管理也控制應(yīng)用接入服務(wù)器單元的重新發(fā)送和復(fù)制政策。多點(diǎn)傳播和資源保留協(xié)議可被使用于各個(gè)應(yīng)用接入服務(wù)器單元之間的集合的數(shù)據(jù)流。這個(gè)系統(tǒng)的優(yōu)點(diǎn)在于,在游戲者級(jí)別上的資源保留是不必要的。如果總的統(tǒng)計(jì)性能是良好的話,應(yīng)用客戶機(jī)通??晒芾砼紶杹G失的分組。使用按照本發(fā)明的應(yīng)用接入服務(wù)器將意味著游戲客戶機(jī)決不會(huì)永久地失去同步,因?yàn)閼?yīng)用接入服務(wù)器單元總是保持游戲狀態(tài)。
附圖簡(jiǎn)述下面將參照附圖更詳細(xì)地描述按照本發(fā)明的設(shè)備和方法,其中

圖1顯示按照本發(fā)明的網(wǎng)絡(luò)的實(shí)施例;
圖2顯示按照本發(fā)明的第一實(shí)施例的應(yīng)用接入服務(wù)器;圖3顯示按照本發(fā)明的應(yīng)用狀態(tài)記錄的實(shí)施例;圖4顯示按照本發(fā)明的一個(gè)實(shí)施例的應(yīng)用客戶機(jī);圖5顯示按照本發(fā)明的一個(gè)實(shí)施例使用的通信堆棧;圖6顯示按照本發(fā)明的應(yīng)用接入服務(wù)器的第二實(shí)施例;圖7顯示在應(yīng)用接入服務(wù)器的第二實(shí)施例中使用的應(yīng)用路由器;圖8是在本發(fā)明的實(shí)施例中使用的應(yīng)用接入服務(wù)器的分級(jí)結(jié)構(gòu)的示意性代表。
實(shí)施例詳細(xì)描述圖1顯示按照本發(fā)明的通信網(wǎng)的一個(gè)實(shí)施例。按照本發(fā)明,網(wǎng)絡(luò)包括至少一個(gè)應(yīng)用接入服務(wù)器。在圖1上,顯示第一1、第二3和第三5應(yīng)用接入服務(wù)器,通過網(wǎng)絡(luò)7(例如保留的電信網(wǎng))而互相連接。它也可以是任何其它類型的網(wǎng)絡(luò),然而,那些不可能預(yù)約網(wǎng)絡(luò)資源的網(wǎng)絡(luò)(諸如互聯(lián)網(wǎng))如果負(fù)載很重,則可能會(huì)提供較低的質(zhì)量。多個(gè)客戶機(jī)11、12、13、14、15也被連接到網(wǎng)絡(luò)7??蛻魴C(jī)可以以技術(shù)上已知的任何方式連接到適當(dāng)?shù)膽?yīng)用接入服務(wù)器1、3或5,正如下面更詳細(xì)地描述的。
客戶機(jī)可以通過用于運(yùn)行分布互動(dòng)應(yīng)用的應(yīng)用接入服務(wù)器互相通信,其中大量參加者同時(shí)對(duì)應(yīng)用(例如,實(shí)時(shí)多用戶游戲)的狀態(tài)起作用和影響該狀態(tài)。在每個(gè)客戶機(jī)和與其相連接的應(yīng)用接入服務(wù)器之間,通常將會(huì)有低容量連接,諸如調(diào)制解調(diào)器連接。另一方面,在兩個(gè)應(yīng)用接入服務(wù)器之間,高的和可變的網(wǎng)絡(luò)容量是可提供的。所以,按照本發(fā)明的應(yīng)用接入服務(wù)器適用于這樣地處理有關(guān)應(yīng)用狀態(tài)的信息,以便通過只把與該客戶機(jī)最相關(guān)的信息發(fā)送到每個(gè)客戶機(jī)從而減小發(fā)送到每個(gè)客戶機(jī)的信息量。在應(yīng)用接入服務(wù)器之間,傳輸容量通常將不是問題,所以,在應(yīng)用接入服務(wù)器之間可以傳輸更多的信息。
在網(wǎng)絡(luò)中也可以存在一個(gè)或多個(gè)其本身已知的種類的應(yīng)用接待廳服務(wù)器21。這些服務(wù)器典型地包括允許客戶機(jī)登錄特種類型的業(yè)務(wù)的功能、處理收費(fèi)功能等等。
按照本發(fā)明,對(duì)于應(yīng)用所需要的軟件在客戶機(jī)11、12、13、14、15處找到。為了使用按照本發(fā)明的通信功能,用戶必須確保他具有所需要的應(yīng)用軟件。應(yīng)用軟件可以以技術(shù)上已知的任何方式被檢索,例如,從互聯(lián)網(wǎng)下載或從CD-ROM上安裝。如果應(yīng)用需要,他也必須向應(yīng)用接待廳服務(wù)器登錄。典型地,應(yīng)用接待廳服務(wù)器21將提供一個(gè)或多個(gè)應(yīng)用接入服務(wù)器1、3、5的地址(通常是IP地址)和端口號(hào)碼,但這個(gè)地址也可以以任何其它方式得出。
用戶以技術(shù)上通用的方式,通常是通過輸入應(yīng)用接入服務(wù)器或應(yīng)用接入服務(wù)器的庫的IP地址而連接到應(yīng)用接入服務(wù)器。存在幾個(gè)算法,可用于選擇由同一個(gè)地址所識(shí)別的、網(wǎng)絡(luò)中多個(gè)節(jié)點(diǎn)中的適當(dāng)?shù)墓?jié)點(diǎn)。應(yīng)用接入服務(wù)器接收來自用戶的信息,以及開始發(fā)送信息給用戶,正如下面更詳細(xì)地描述的。替代將客戶機(jī)登錄到應(yīng)用接入服務(wù)器,應(yīng)用接待廳服務(wù)器也可以把客戶機(jī)網(wǎng)絡(luò)地址發(fā)送到應(yīng)用接入服務(wù)器。
假定應(yīng)用包含一組由參加者控制的對(duì)象。一個(gè)對(duì)象是由參加人控制的或在客戶機(jī)處產(chǎn)生的應(yīng)用中的一個(gè)項(xiàng)目,以及不能在每個(gè)應(yīng)用客戶機(jī)處被局部地重新產(chǎn)生,例如,受隨機(jī)數(shù)產(chǎn)生器或其它不能預(yù)測(cè)的計(jì)算處理過程的控制。應(yīng)用對(duì)象可以是參加者直覺地認(rèn)作為對(duì)象或游戲圖形的事物,但它們也可以是背景數(shù)據(jù)結(jié)構(gòu),諸如由游戲者控制的環(huán)境變量。應(yīng)用對(duì)象由一個(gè)或幾個(gè)游戲者控制。每個(gè)對(duì)象典型地具有一組性質(zhì)和屬性,它們?cè)趹?yīng)用運(yùn)行的同時(shí)可以被改變。在游戲中,這些性質(zhì)可以是角色的力量和其它能力,或汽車的最大速度,以及屬性可以是由角色所集合成的項(xiàng)目。
從用戶處接收的信息,除了信令附加開銷以外,通常將包括三種不同類型的信息狀態(tài)信息、預(yù)約信息、控制數(shù)據(jù)和緊急信息。狀態(tài)信息是關(guān)于由用戶控制的對(duì)象的信息,它應(yīng)當(dāng)被分配給應(yīng)用的其它用戶。預(yù)約信息列出有關(guān)由應(yīng)用接入服務(wù)器提供的不同的應(yīng)用對(duì)象的客戶機(jī)優(yōu)先級(jí)。例如,有關(guān)某個(gè)對(duì)象組的信息在它成為可提供時(shí)應(yīng)當(dāng)立即或盡可能經(jīng)常地被接收,而來自另一組對(duì)象的信息不是緊急的。在缺乏帶寬的情形下,可以以可接受的延時(shí)或領(lǐng)先的方式設(shè)置幾個(gè)優(yōu)先級(jí)級(jí)別。由客戶機(jī)產(chǎn)生的緊急信息可被使用來超越或改變另一個(gè)客戶機(jī)的預(yù)約,以使得其它的客戶機(jī)接受有關(guān)那些沒有被包括在它的預(yù)約中的對(duì)象的信息,或確??蛻魴C(jī)不接收某些信息。下面更詳細(xì)地討論所有三種類型的信息。
作為一個(gè)例子,將描述由大量用戶參加的實(shí)時(shí)游戲的應(yīng)用。這樣的游戲今天由位于局域網(wǎng)(LAN)中互相很靠近的、有限數(shù)目的游戲者參加。在廣域網(wǎng)上進(jìn)行的這樣的游戲在將來可以涉及典型地分布在大的游戲區(qū)或虛擬的地理區(qū)域的幾千個(gè)游戲者。對(duì)于現(xiàn)有技術(shù)的方法,這將不可能具有可接受的質(zhì)量,正如上面討論的。
每個(gè)游戲者只是立即被在虛擬游戲區(qū)域中在他附近發(fā)生的事情影響。另一個(gè)游戲者離得越遠(yuǎn),這個(gè)游戲者的變化影響就越小。例如,一個(gè)游戲者可能介入與第一敵方游戲者打仗,一個(gè)友方游戲者可能正在過來救助,以及第二敵方游戲者可能正在嘗試制止該友方游戲者。同時(shí),其它的游戲者正在做在以后的時(shí)間變成為有趣的事情,但是目前游戲者的主要關(guān)心的問題是在戰(zhàn)斗中存活下來。所以,第一敵方游戲者的運(yùn)動(dòng)必須立即被顯示。該友方游戲者和第二敵方游戲者的運(yùn)動(dòng)也應(yīng)當(dāng)給予高的優(yōu)先級(jí),而離得較遠(yuǎn)的地方發(fā)生的事情應(yīng)當(dāng)給予低的優(yōu)先級(jí)。
在上面討論的例子中,顯然,游戲者的配置將改變,以使得在另一個(gè)時(shí)間,來自其它游戲者的信息將具有最高的優(yōu)先級(jí),這里通常是指那些在任何給定的時(shí)間位于用戶附近的游戲者。
應(yīng)用接入服務(wù)器可處理與應(yīng)用客戶機(jī)的通信。它接收有關(guān)影響應(yīng)用狀態(tài)的客戶機(jī)的行動(dòng)的信息和其它信息。它也按照參加者的預(yù)約把來自其它參加者的應(yīng)用狀態(tài)信息發(fā)送給參加者。每個(gè)應(yīng)用客戶機(jī)設(shè)置關(guān)于要接收的應(yīng)用信息的預(yù)約,以及把有關(guān)這些預(yù)約的信息發(fā)送給應(yīng)用接入服務(wù)器。應(yīng)用接入服務(wù)器存儲(chǔ)和更新由應(yīng)用接入服務(wù)器提供服務(wù)的客戶機(jī)的預(yù)約的記錄。每個(gè)客戶機(jī)的預(yù)約被使用來確定哪些數(shù)據(jù)要被發(fā)送給這個(gè)客戶機(jī)??蛻魴C(jī)也可以設(shè)置對(duì)于另一個(gè)客戶機(jī)的預(yù)約。在一個(gè)運(yùn)行模式下,主客戶機(jī)可以設(shè)置所有其它的客戶機(jī)的預(yù)約。
客戶機(jī)被連接到的應(yīng)用接入服務(wù)器是客戶機(jī)的本地的應(yīng)用接入服務(wù)器,以及該客戶機(jī)被稱為該應(yīng)用接入服務(wù)器的本地客戶機(jī)。
應(yīng)用接入服務(wù)器也保持客戶機(jī)權(quán)限表。每個(gè)客戶機(jī)具有改變一個(gè)或多個(gè)游戲?qū)ο蟮臓顟B(tài)的權(quán)利。客戶機(jī)權(quán)限表對(duì)于每個(gè)客戶機(jī)具有一個(gè)項(xiàng)目,在其中存儲(chǔ)由客戶機(jī)控制的對(duì)象的識(shí)別號(hào)。應(yīng)用接入服務(wù)器在每次從客戶機(jī)處接收對(duì)象狀態(tài)信息時(shí)檢驗(yàn)合法性。游戲狀態(tài)只在信息分組中找到的識(shí)別號(hào)與在權(quán)限表中對(duì)于客戶機(jī)的項(xiàng)目中的一個(gè)號(hào)碼相匹配的情況下才被更新,否則該信息被忽略。從其它應(yīng)用接入服務(wù)器單元送來的對(duì)象狀態(tài)信息不被驗(yàn)證,因?yàn)榘l(fā)送的應(yīng)用接入服務(wù)器已檢驗(yàn)合法性。
每個(gè)應(yīng)用接入服務(wù)器也與其它應(yīng)用接入服務(wù)器單元通信、發(fā)送應(yīng)用狀態(tài)信息和可任選地聚集的預(yù)約給它們、以及接收來自它們的相同類型的信息。通常,要被發(fā)送到其它應(yīng)用接入服務(wù)器的信息按照適當(dāng)?shù)膮f(xié)議被打包以及被發(fā)送,而并不以任何方式被附加優(yōu)先級(jí)或被存儲(chǔ)。當(dāng)然,有可能根據(jù)它的本地客戶機(jī)的用戶預(yù)約來選擇要被發(fā)送到每個(gè)應(yīng)用接入服務(wù)器的信息。聚集的預(yù)約是來自屬于給定的應(yīng)用接入服務(wù)器的客戶機(jī)的所有的應(yīng)用對(duì)象請(qǐng)求的總和。例如,應(yīng)用接入服務(wù)器可以使用至其它應(yīng)用接入服務(wù)器單元的多點(diǎn)傳播方式。這確保每個(gè)應(yīng)用接入服務(wù)器單元接收所有的需要的更新,以及游戲狀態(tài)被有效地分配在應(yīng)用接入服務(wù)器單元上。
緊急數(shù)據(jù)由一個(gè)客戶機(jī)設(shè)置,如果數(shù)據(jù)對(duì)于另一個(gè)客戶機(jī)是重要的話,但另一個(gè)客戶機(jī)不知道這一情況,所以,不能設(shè)置他自己的預(yù)約。所以,緊急情況由發(fā)送的客戶機(jī)規(guī)定,以及它對(duì)于不同的接收客戶機(jī)可以是不同的。如果正在等待緊急數(shù)據(jù),則應(yīng)用接入服務(wù)器提醒正在接收的客戶機(jī)。緊急信息也可以被使用來禁止某些信息轉(zhuǎn)發(fā)到一個(gè)或多個(gè)客戶機(jī)。
每個(gè)應(yīng)用接入服務(wù)器也存儲(chǔ)和更新應(yīng)用狀態(tài)的全部的或部分的副本。那些被分配給通信進(jìn)程的應(yīng)用接入服務(wù)器單元必須在它們之間存儲(chǔ)完整的應(yīng)用狀態(tài)。在最簡(jiǎn)單的情形下,每個(gè)應(yīng)用接入服務(wù)器存儲(chǔ)完整的應(yīng)用狀態(tài),但也有可能在應(yīng)用接入服務(wù)器之間分割信息,從而使它們帶有或不帶有重疊的信息。重要的解決方案協(xié)議特別的軟件來處理把適當(dāng)?shù)臄?shù)據(jù)分布到每個(gè)應(yīng)用接入服務(wù)器。
應(yīng)用接入服務(wù)器與應(yīng)用接待廳服務(wù)器進(jìn)行通信,以便建立該應(yīng)用,從而在正在運(yùn)行應(yīng)用和處理錯(cuò)誤和網(wǎng)絡(luò)故障的同時(shí),添加和去除參加者。
圖2顯示按照本發(fā)明的一個(gè)實(shí)施例的應(yīng)用接入服務(wù)器以及其它的功能實(shí)體。這個(gè)應(yīng)用接入服務(wù)器可以用硬件或軟件來實(shí)施。在圖2上,只給出一般的描述。后面將討論適當(dāng)?shù)母袷胶蛥f(xié)議。
應(yīng)用接入服務(wù)器通過輸入緩存器51來接收來自網(wǎng)絡(luò)的每個(gè)客戶機(jī)的數(shù)據(jù),以及來自其它單元(諸如其它應(yīng)用接入服務(wù)器)的數(shù)據(jù)。對(duì)于每個(gè)客戶機(jī),遠(yuǎn)端應(yīng)用接入服務(wù)器和應(yīng)用接待廳服務(wù)器各有一個(gè)輸入緩存器,雖然在圖2上為了簡(jiǎn)明起見只顯示了一個(gè)輸入緩存器。
每個(gè)本地參加者的動(dòng)作作為到達(dá)與這個(gè)客戶機(jī)有關(guān)的應(yīng)用接入服務(wù)器的輸入緩存器的應(yīng)用對(duì)象分組中的有用負(fù)載而被發(fā)送。這些應(yīng)用對(duì)象分組可以更新由參加者控制的應(yīng)用對(duì)象。應(yīng)用對(duì)象分組通過一組插入規(guī)則而被寫入到應(yīng)用狀態(tài)記錄。
從客戶機(jī)處接收到的數(shù)據(jù)可以包括三種類型的數(shù)據(jù)有關(guān)應(yīng)用的狀態(tài)的數(shù)據(jù)(狀態(tài)數(shù)據(jù))、有關(guān)客戶機(jī)的預(yù)約的數(shù)據(jù)(優(yōu)先級(jí)數(shù)據(jù))和其它控制信息,諸如對(duì)于時(shí)間基準(zhǔn)、其它客戶機(jī)的狀態(tài)和來自系統(tǒng)的其它信息的請(qǐng)求。狀態(tài)數(shù)據(jù)通過應(yīng)用對(duì)象分組流水線53被傳送到應(yīng)用狀態(tài)記錄55。應(yīng)用狀態(tài)記錄55保持對(duì)于所有的相關(guān)的對(duì)象的所有的狀態(tài)數(shù)據(jù),諸如將在下面更詳細(xì)地討論的那樣。應(yīng)用狀態(tài)記錄也保持如上所述的緊急數(shù)據(jù)。
客戶機(jī)組可以被加以規(guī)定,所述客戶機(jī)組包括在一個(gè)工作組中的參加者,或在游戲的情形下是同一個(gè)隊(duì)中的參加者。在這種情形下,預(yù)約和或緊急數(shù)據(jù)也可以是針對(duì)用戶組規(guī)定的,而不僅僅對(duì)于單獨(dú)的用戶。
控制數(shù)據(jù),特別是不必實(shí)時(shí)處理的數(shù)據(jù)(諸如關(guān)于添加上和去除掉應(yīng)用對(duì)象的信息)從輸入緩存器51被傳送到應(yīng)用接入服務(wù)器控制單元57。在硬件實(shí)施方案中,控制單元57可以是微處理器。由控制單元處理的控制數(shù)據(jù)可以涉及創(chuàng)建和取消游戲者和對(duì)象以及游戲者組和對(duì)象組。
預(yù)約通過應(yīng)用優(yōu)先級(jí)控制協(xié)議消息流水線59被傳送到客戶機(jī)優(yōu)先級(jí)清單(CPL)61,后者包含由應(yīng)用接入服務(wù)器支持的每個(gè)客戶機(jī)的預(yù)約。預(yù)約可以由客戶機(jī)和由應(yīng)用接入服務(wù)器控制單元來更新。控制單元可以根據(jù)從另一個(gè)客戶機(jī)處接收的緊急消息來決定更新客戶機(jī)的預(yù)約。
幾個(gè)不同的優(yōu)先級(jí)策略可以通過應(yīng)用接入服務(wù)器系統(tǒng)而被應(yīng)用客戶機(jī)采用。一種簡(jiǎn)單的方法是應(yīng)用客戶機(jī)把對(duì)象的已列舉的清單發(fā)送到CPL 61。在這種情形下,當(dāng)在清單上的所有的對(duì)象被更新時(shí),沒有在清單上的對(duì)象可以以循環(huán)方式被更新。如果在清單上的所有的對(duì)象被更新,則其余對(duì)象可以以循環(huán)方式被更新。特定的客戶機(jī)的預(yù)約包括由該客戶機(jī)設(shè)置預(yù)約的所有對(duì)象的清單。此外,被存儲(chǔ)在應(yīng)用接入服務(wù)器中的清單優(yōu)選地包括對(duì)于每個(gè)對(duì)象的標(biāo)志,表示是否接收到對(duì)于該對(duì)象的新的信息。標(biāo)志被使用來確定關(guān)于某個(gè)對(duì)象的信息是否需要被發(fā)送到客戶機(jī)。當(dāng)信息被發(fā)送到客戶機(jī)時(shí),標(biāo)志被復(fù)位。當(dāng)由應(yīng)用接入服務(wù)器接收到對(duì)于對(duì)象的新的更新時(shí),標(biāo)志再次被設(shè)置。
客戶機(jī)預(yù)約也可以用與每個(gè)對(duì)象有關(guān)的時(shí)間間隔來規(guī)定。客戶機(jī)然后發(fā)送一系列以下格式的請(qǐng)求<object number(對(duì)象號(hào)碼)>,<object priority(對(duì)象優(yōu)先級(jí))>,<object update time interval(對(duì)象更新時(shí)間間隔)>,<flag(標(biāo)志)>。簡(jiǎn)單的清單可以只有格式<object number>,<objectpriority>。應(yīng)用接入服務(wù)器將試圖發(fā)送更新給客戶機(jī),以使得每個(gè)對(duì)象在每個(gè)時(shí)間間隔期間以按照在請(qǐng)求中的<object ptiority>域給定的優(yōu)先級(jí)至少被更新一次。無窮大符號(hào)可被使用來使得某些對(duì)象完全不被更新。可以設(shè)置一個(gè)特別的“只發(fā)送新的完整的對(duì)象狀態(tài)”標(biāo)志。這個(gè)任選方案在客戶機(jī)想要接收對(duì)于具有長的時(shí)間間隔(幾秒)的對(duì)象的更新時(shí)被使用。如果想要的時(shí)間分辨率長于狀態(tài)刷新時(shí)間間隔,發(fā)送增量更新是浪費(fèi)的。
輸出流水線63接收來自客戶機(jī)優(yōu)先級(jí)清單的預(yù)約信息,以及使用這個(gè)信息來搜索應(yīng)用狀態(tài)記錄55,從而通過使用上述的適當(dāng)?shù)乃惴▽ふ乙话l(fā)送到所討論到的客戶機(jī)的信息。選擇的狀態(tài)信息從應(yīng)用狀態(tài)記錄55通過輸出流水線63傳送到輸出緩存器65,以及從輸出緩存器傳送到客戶機(jī)。例如,控制單元57發(fā)送控制消息給客戶機(jī)和遠(yuǎn)端服務(wù)器以便使時(shí)鐘與客戶機(jī)同步或提供等待時(shí)間估值給客戶機(jī)。
雖然圖2所示的應(yīng)用接入服務(wù)器被顯示為只有一個(gè)每種類型的單元,但優(yōu)選地,應(yīng)用接入服務(wù)器對(duì)于應(yīng)用接入服務(wù)器與其交換信息的網(wǎng)絡(luò)中每個(gè)客戶機(jī)和每個(gè)其它服務(wù)器,都包括一個(gè)輸入緩存器51、一條應(yīng)用對(duì)象分組輸入流水線53、一條優(yōu)先級(jí)消息流水線55、以及一條輸出處理流水線63和一個(gè)輸出緩存器65。替換地,一組客戶機(jī)或一組服務(wù)器可共享一個(gè)輸入緩存器51、一條應(yīng)用對(duì)象分組輸入流水線53、一條優(yōu)先級(jí)消息流水線55、以及一條輸出處理流水線63和一個(gè)輸出緩存器65。應(yīng)用接入服務(wù)器也包括對(duì)于每個(gè)客戶機(jī)、服務(wù)器等的一個(gè)客戶機(jī)優(yōu)先級(jí)清單。
從其它應(yīng)用接入服務(wù)器接收的數(shù)據(jù)包括來自其它客戶機(jī)的對(duì)象狀態(tài)數(shù)據(jù)。它也可包括來自這些客戶機(jī)的優(yōu)先級(jí)信息,該信息優(yōu)選地以這樣的方式被聚集,以使得每個(gè)對(duì)象在優(yōu)先級(jí)清單上只出現(xiàn)一次。在這種情形下,信息將被打包,這樣,對(duì)于每個(gè)應(yīng)用接入服務(wù)器有一個(gè)優(yōu)先級(jí)清單,也就是,每個(gè)應(yīng)用接入服務(wù)器像一個(gè)客戶機(jī)那樣被處理。從另一個(gè)應(yīng)用接入服務(wù)器接收的信息以與從客戶機(jī)接收的信息相同的方式被對(duì)待,除非輸入和輸出緩存器51,65也必須執(zhí)行一定的協(xié)議處理,正如下面將討論的。替換地,從其它應(yīng)用接入服務(wù)器沒有接收預(yù)約信息,在這種情形下,所有的狀態(tài)信息將被發(fā)送到這些應(yīng)用接入服務(wù)器。
應(yīng)用接入服務(wù)器也可以處理任選的公正游戲(fairplay)模式,在其中所有的游戲者同時(shí)被更新(見下面)。
如上所述,一個(gè)或多個(gè)其本身已知的種類的應(yīng)用接待廳服務(wù)器(圖1上的21)可以存在于網(wǎng)絡(luò)中。應(yīng)用接待廳服務(wù)器負(fù)責(zé)更新在游戲期間的配置數(shù)據(jù),從而提供以下的數(shù)據(jù)給應(yīng)用接入服務(wù)器·進(jìn)入游戲的、新的應(yīng)用接入服務(wù)器單元的IP地址或其它網(wǎng)絡(luò)地址·標(biāo)識(shí)由應(yīng)用接入服務(wù)器服務(wù)的參加者的、更新的網(wǎng)絡(luò)地址清單。這使得新的參加者能夠參加正在進(jìn)行的應(yīng)用。
·更新的已列舉的游戲?qū)ο笄鍐巍?duì)于每個(gè)對(duì)象,規(guī)定哪個(gè)應(yīng)用接入服務(wù)器負(fù)責(zé)存儲(chǔ)狀態(tài),如果狀態(tài)被分布在應(yīng)用接入服務(wù)器之間的話。也可以規(guī)定誰被許可來更新狀態(tài)。這使得能夠創(chuàng)建、取消和改變游戲?qū)ο蟮目刂啤?蛻魴C(jī)也可以創(chuàng)建和取消游戲?qū)ο蟆?br> ·新的完整的或局部的游戲狀態(tài)。這使得當(dāng)應(yīng)用接入服務(wù)器系統(tǒng)拋棄游戲狀態(tài)時(shí)能夠在游戲中暫停或失敗后恢復(fù)。
圖3顯示按照本發(fā)明的應(yīng)用接入服務(wù)器中使用的應(yīng)用狀態(tài)記錄的例子每個(gè)應(yīng)用對(duì)象的狀態(tài)被存儲(chǔ)在應(yīng)用狀態(tài)記錄中作為一組已列舉的應(yīng)用對(duì)象狀態(tài)AOS1-AOS4。每個(gè)應(yīng)用對(duì)象狀態(tài)分別包含一系列應(yīng)用對(duì)象分組AOP11-AOP13、AOP21-AOP24、AOP31和AOP41-AOP42。對(duì)象分組是用于對(duì)象數(shù)據(jù)的容器。從應(yīng)用發(fā)送到遠(yuǎn)端應(yīng)用客戶機(jī)或服務(wù)器的所有的數(shù)據(jù)被打包在應(yīng)用對(duì)象分組中,這樣,它可以由應(yīng)用接入服務(wù)器系統(tǒng)來處理。
由應(yīng)用接入服務(wù)器從它連接到的所有的其它應(yīng)用接入服務(wù)器處接收的信息被使用來更新在應(yīng)用狀態(tài)記錄中的應(yīng)用對(duì)象信息。優(yōu)選地,有兩種類型的應(yīng)用對(duì)象分組(1)參考應(yīng)用對(duì)象分組,包括有關(guān)對(duì)象的所有的當(dāng)前的數(shù)據(jù),以及(2)增量分組,只包括有關(guān)自從由增量分組涉及到的APO的時(shí)間印記給出的時(shí)間以來已改變的內(nèi)容的信息。在AOS中的第一AOP必須是參考分組,后面跟隨一組增量分組或一個(gè)參考分組。某些游戲只嘗試參考分組。
應(yīng)用狀態(tài)記錄也保存那些需要被傳送到其它應(yīng)用接入服務(wù)器單元的應(yīng)用對(duì)象分組的記錄。這可以通過使用數(shù)據(jù)結(jié)構(gòu)new_client_data被完成,該數(shù)據(jù)結(jié)構(gòu)可被實(shí)施為矩陣new_client_data(i,k),其中每個(gè)元素是一個(gè)標(biāo)志。參量i是客戶機(jī)號(hào)碼,以及參量k是應(yīng)用接入服務(wù)器號(hào)碼。如果應(yīng)用對(duì)象分組應(yīng)當(dāng)被傳送到外部應(yīng)用接入服務(wù)器,則該標(biāo)志被設(shè)置,圖3顯示應(yīng)用對(duì)象狀態(tài)AOS1,作為應(yīng)用對(duì)象狀態(tài)可以被怎樣使用來描述應(yīng)用對(duì)象的例子。這個(gè)對(duì)象可以描述在賽車游戲中汽車的位置。汽車的位置(x1,y1)首先作為在參考應(yīng)用對(duì)象分組AOP11中的游戲有用負(fù)載在游戲時(shí)間t1而被發(fā)送。為了節(jié)省帶寬,在游戲時(shí)間t2位置的相對(duì)改變(Δx2,Δy2)被發(fā)送作為增量應(yīng)用對(duì)象分組AOP12。增量應(yīng)用對(duì)象分組AOP12指向參考應(yīng)用對(duì)象分組AOP11以作為參考。在游戲時(shí)間t3,新的增量位置在第三應(yīng)用對(duì)象分組AOP13中被發(fā)送。第三應(yīng)用對(duì)象分組AOP13以第二應(yīng)用對(duì)象分組AOP12作為參考。在接收所有三個(gè)應(yīng)用對(duì)象分組AOP11、AOP12、AOP13后,客戶機(jī)可以按照(Δx1+Δx2+Δx3,Δy1+Δy2+Δy3)計(jì)算在時(shí)間t3時(shí)汽車的位置。
當(dāng)新的參考應(yīng)用對(duì)象分組針對(duì)特定的對(duì)象而被接收時(shí),應(yīng)用狀態(tài)記錄可以刪除屬于對(duì)象的所有以前的分組,以及正好存儲(chǔ)新的參考分組。注意,游戲有用負(fù)載的句法和語義學(xué)只能被運(yùn)行在客戶機(jī)終端的游戲應(yīng)用所理解。應(yīng)用應(yīng)當(dāng)經(jīng)常發(fā)送參考分組,以便避免由丟失的數(shù)據(jù)造成的長的中斷。
編碼應(yīng)用的另一個(gè)方式是讓第三應(yīng)用對(duì)象分組AOP13在時(shí)間t3使用參考應(yīng)用對(duì)象分組AOP11作為參考,以及只說明相對(duì)于(x1,y1)的位置改變?chǔ)膞,δy。這將節(jié)省應(yīng)用接入服務(wù)器存儲(chǔ)器,因?yàn)橹灰谌龖?yīng)用對(duì)象分組AOP13一到達(dá),第二應(yīng)用對(duì)象分組AOP12就可在時(shí)間t2被刪除。客戶機(jī)現(xiàn)在可以按照(x1+δx3,y1+δy3)計(jì)算在時(shí)間t3時(shí)汽車的位置。應(yīng)用接入服務(wù)器使用在應(yīng)用對(duì)象分組標(biāo)題中的信息,以便確定先前的應(yīng)用對(duì)象分組是否滿時(shí)以及可被刪除。在圖3上,AOS2包含三個(gè)應(yīng)用對(duì)象分組AOP21、AOP22、AOP23和AOP24,其中第一個(gè)應(yīng)用對(duì)象分組AOP21是參考分組,以及三個(gè)后面的應(yīng)用對(duì)象分組AOP22、AOP23和AOP24是增量的。最后的增量具有時(shí)間印記t8。AOS2因此描述對(duì)象2的狀態(tài)直到游戲時(shí)間t8為止。圖3上的AOS 3只包含一個(gè)參考應(yīng)用對(duì)象分組AOP31,這對(duì)于描述對(duì)象是足夠的。
在允許新的客戶機(jī)開始向該應(yīng)用廣播之前,按照優(yōu)選實(shí)施例,應(yīng)用接入服務(wù)器可以估計(jì)所需要的增量帶寬,確保這個(gè)帶寬在網(wǎng)絡(luò)中是可提供的。用于做到這一點(diǎn)的方法在技術(shù)上是熟知的。如果沒有預(yù)見容量問題,則不需要這個(gè)步驟。
圖4顯示按照本發(fā)明的客戶機(jī)正在其上運(yùn)行的計(jì)算機(jī)的實(shí)施例。計(jì)算機(jī)包括處理單元101,在其中運(yùn)行程序,例如是按照本發(fā)明的應(yīng)用程序103。處理單元還借助于通信軟件105與應(yīng)用接入服務(wù)器(未示出)通信,以及可能與網(wǎng)絡(luò)中的其它單元通信。應(yīng)用程序103通過網(wǎng)絡(luò)應(yīng)用接口107與通信軟件105通信。網(wǎng)絡(luò)應(yīng)用接口具有用于發(fā)送和接收來自應(yīng)用程序的應(yīng)用數(shù)據(jù)的功能。
計(jì)算機(jī)還包括屏幕109以用于顯示有關(guān)應(yīng)用的數(shù)據(jù)(例如,對(duì)參加者立即感興趣的游戲的一部分的總貌)。為了輸入數(shù)據(jù)到應(yīng)用,計(jì)算機(jī)可以具有鍵盤111、鼠標(biāo)113和/或被連接到計(jì)算機(jī)的游戲棒115,借助于它們,游戲中的對(duì)象可被移動(dòng),或可以輸入其它類型的改變。
客戶機(jī)應(yīng)用103接收所述輸入,對(duì)其進(jìn)行處理以及把它的結(jié)果顯示在屏幕109上,和/或借助于揚(yáng)聲器和或觸覺顯示裝置。它也根據(jù)所述輸入把應(yīng)用狀態(tài)數(shù)據(jù)轉(zhuǎn)發(fā)到網(wǎng)絡(luò)應(yīng)用接口107,再從后者把數(shù)據(jù)轉(zhuǎn)發(fā)到應(yīng)用接入服務(wù)器。
通過通信軟件105和網(wǎng)絡(luò)應(yīng)用接口107,應(yīng)用103也從游戲接入服務(wù)器接收有關(guān)其它對(duì)象的應(yīng)用狀態(tài)信息,對(duì)其進(jìn)行處理,以及把結(jié)果顯示在屏幕105上。
在本實(shí)施例中,網(wǎng)絡(luò)應(yīng)用接口107包括兩個(gè)部分應(yīng)用保持接口107A和應(yīng)用接入接口(AAI)107B。這個(gè)解決方案被選擇來啟動(dòng)對(duì)標(biāo)準(zhǔn)程序模塊(諸如微軟的DirectPlay)的使用,以便實(shí)施網(wǎng)絡(luò)AAI107B,正如下面討論的。
應(yīng)用接入接口(AAI)107B是在客戶機(jī)終端處的軟件模塊。它是在網(wǎng)絡(luò)接口與網(wǎng)絡(luò)API 107A之間的中間模塊。應(yīng)用接入接口107B接收和終結(jié)應(yīng)用對(duì)象分組和控制消息,以及在應(yīng)用對(duì)象分組有用負(fù)載被傳送到網(wǎng)絡(luò)應(yīng)用接口107之前去除應(yīng)用對(duì)象分組標(biāo)題。它也轉(zhuǎn)譯控制消息以及把它們傳送到API 107A,或直接處理它們。AAI 107B處理對(duì)于與應(yīng)用接入服務(wù)器通信所需要的功能,起到在客戶機(jī)應(yīng)用程序中不能實(shí)施的功能。所以,它對(duì)于已被開發(fā)用于按照本發(fā)明的應(yīng)用接入服務(wù)器的客戶機(jī)不一定必要。例如,AAI可以控制時(shí)鐘,使得將時(shí)間印記安排在應(yīng)用對(duì)象分組上,如果客戶機(jī)沒有這方面的功能的話。
在上游方向,AAI 107B接收來自API的消息和對(duì)象。來自客戶機(jī)的、有關(guān)應(yīng)用對(duì)象的數(shù)據(jù)被變換成應(yīng)用對(duì)象分組格式。應(yīng)用對(duì)象分組在通信鏈路上被發(fā)送到應(yīng)用接入服務(wù)器。
AAI 107B也產(chǎn)生上游應(yīng)用控制協(xié)議消息,特別是應(yīng)用控制協(xié)議預(yù)約消息。對(duì)于建立預(yù)約所需要的信息和其它應(yīng)用控制協(xié)議信息必須通過網(wǎng)絡(luò)API從應(yīng)用中提取,以及從應(yīng)用接入服務(wù)器的緊急名單消息中提取。
實(shí)際的客戶機(jī)(例如游戲控制臺(tái))可以參與幾個(gè)游戲,或招待在同一個(gè)游戲中的幾個(gè)游戲者。每個(gè)實(shí)際應(yīng)用客戶機(jī)可以運(yùn)行幾個(gè)邏輯應(yīng)用客戶機(jī),其中邏輯應(yīng)用客戶機(jī)相應(yīng)于被連接到一個(gè)應(yīng)用接入接口事例的一個(gè)應(yīng)用事例。這個(gè)文件中的應(yīng)用客戶機(jī)對(duì)應(yīng)于邏輯應(yīng)用客戶機(jī)。一個(gè)指向邏輯應(yīng)用客戶機(jī)的網(wǎng)絡(luò)地址可以包含與應(yīng)用接入接口的端口號(hào)相組合的物理客戶機(jī)的IP地址。
如果在開發(fā)應(yīng)用程序時(shí)考慮應(yīng)用接入服務(wù)器系統(tǒng),則可以達(dá)到最好的性能。用于確定表示接收數(shù)據(jù)的優(yōu)選的次序的預(yù)約的功能可被包括在應(yīng)用程序中。如果從運(yùn)行中的情形看到接收的游戲者不能預(yù)測(cè)消息的高的優(yōu)先級(jí),則消息可以以高的緊急度直接傳送給共同游戲者。例如,考慮游戲中的一種情形,其中游戲者1正在與游戲者2對(duì)峙。突然,游戲者2受到游戲者1的攻擊,而不作任何警告。游戲者2不能設(shè)置來自游戲者1的消息的正確的優(yōu)先級(jí),但游戲者1可以發(fā)送高度的緊急消息給游戲者2。
對(duì)于開發(fā)網(wǎng)絡(luò)API,例如,可以使用微軟DirectPlay API。然后,需要AAI來格式化輸出,諸如ACP和AOP,以及可被寫作為DirectPlay業(yè)務(wù)提供者。
通過使用微軟DirectPlay API,至少有兩種不同的提取預(yù)約的方式。注意,預(yù)約應(yīng)當(dāng)表明本地參加者接收有關(guān)列舉的應(yīng)用對(duì)象的更新的優(yōu)先級(jí)。在本文件中的應(yīng)用對(duì)象是與DirectPlay注解中的“游戲者”相同的,因?yàn)镈irectPlay“游戲者”是可以發(fā)送和接收消息的應(yīng)用實(shí)體。DirectPlay“游戲者”可以由游戲者控制,或它可以是自主的游戲?qū)ο蟆?br> 在第一種方法中,使用從DirectPlay的接收方法中得到的信息。通過設(shè)置DPRECEIVE_FROMPLAYER標(biāo)志和適當(dāng)?shù)匾?guī)定lpidFrom參量,該方法可以從由lpidFrom參量所標(biāo)識(shí)的“游戲者”中檢索第一消息。這個(gè)信息可被應(yīng)用接入接口使用來作出預(yù)約。如果在DirectPlay消息隊(duì)列中沒有來自標(biāo)識(shí)的“游戲者”的消息可供使用,則合理地把被標(biāo)識(shí)的應(yīng)用對(duì)象放置在優(yōu)先級(jí)清單的頂部。
在第二種方法中,使用DirectPlay的發(fā)送方法,在其中idTo參量標(biāo)識(shí)應(yīng)當(dāng)接收消息的“游戲者”或游戲者組??梢院侠淼丶俣ń邮战?jīng)常消息的“游戲者”與本地游戲者當(dāng)前正在與之進(jìn)行交互的應(yīng)用對(duì)象有關(guān)。AAI因而能預(yù)約由idTo參量標(biāo)識(shí)的“游戲者”。
圖5顯示可以按照本發(fā)明被使用的通信堆棧的例子。一個(gè)通信堆棧被使用于在諸如圖4所示的客戶機(jī)與應(yīng)用接入服務(wù)器之間的通信??蛻魴C(jī)和應(yīng)用接入服務(wù)器實(shí)際上包括相同類型的堆棧。在客戶機(jī)處,堆棧的最高層與圖4的應(yīng)用接入接口層10通信,以及在應(yīng)用接入服務(wù)器處,也顯示了堆棧與應(yīng)用接入服務(wù)器軟件通信。圖5也顯示在應(yīng)用接入服務(wù)器與網(wǎng)絡(luò)的另一個(gè)單元之間使用的通信堆棧。這另一個(gè)單元可以是另一個(gè)應(yīng)用接入服務(wù)器或是應(yīng)用接待廳服務(wù)器。所使用的通信堆棧遵從OSI模型。
客戶機(jī)通信堆棧與客戶機(jī)處的應(yīng)用編程接口107通信。堆棧的最高級(jí)別是ACP/AOP層109。這個(gè)級(jí)別由圖4上的應(yīng)用接入接口107處理。
包含諸如應(yīng)用對(duì)象數(shù)據(jù)的信息或預(yù)約信息的ACP/AOP分組從ACP/AOP層109被傳送到鏈路層111。鏈路協(xié)議可以是例如PPP。在相反方向,ACP/AOP層109從應(yīng)用接入服務(wù)器接收的信息分組中去除標(biāo)題信息,以及把應(yīng)用狀態(tài)信息轉(zhuǎn)發(fā)到客戶機(jī)應(yīng)用。ACP分組可以終結(jié)在AAI處。如果客戶機(jī)包括用于處理預(yù)約的功能,則預(yù)約本身可以由客戶機(jī)本身處理。
最低層是信道層113,它包括信道編碼和實(shí)際的物理連接。
應(yīng)用接入服務(wù)器實(shí)際上包括用于與客戶機(jī)通信的相同類型的堆棧信道層113’相應(yīng)于客戶機(jī)的信道層。信道層113’通過鏈路層111’被連接到AOP/ACP層109’。
應(yīng)用接入服務(wù)器中的AOP/ACP層109’直接與被安排來處理AOP和ACP信息的應(yīng)用接入服務(wù)器軟件115通信。
應(yīng)用接入服務(wù)器可以被構(gòu)建成帶有去向許多不同的客戶機(jī)鏈路協(xié)議的接口。理想地,應(yīng)用接入服務(wù)器應(yīng)當(dāng)能夠處理任何鏈路協(xié)議,包括UDP、TCP和RTP。RTP是特別為傳輸話音和視頻數(shù)據(jù)而開發(fā)的協(xié)議。
鏈路協(xié)議應(yīng)當(dāng)被設(shè)計(jì)成使得從應(yīng)用接入服務(wù)器到客戶機(jī)的鏈路上的協(xié)議附加開銷保持為低的。這可以通過例如使用適當(dāng)?shù)逆溌穮f(xié)議(其中沒有使用IP/UDP/RTP)或通過有效的IP/UDP/RTP標(biāo)題壓縮來完成。鏈路層應(yīng)當(dāng)進(jìn)一步減小等待時(shí)間,以及提供有關(guān)鏈路的性質(zhì)的信息給應(yīng)用接入服務(wù)器。這樣的信息可包括預(yù)期的帶寬、誤碼率和鏈路等待時(shí)間。
適當(dāng)?shù)妮斔蛥f(xié)議(這里稱為應(yīng)用輸送協(xié)議ATP)應(yīng)當(dāng)被使用在鏈路上,但應(yīng)用對(duì)象分組和應(yīng)用控制分組信息也可以通過鏈路協(xié)議被直接發(fā)送。
對(duì)于在兩個(gè)或多個(gè)應(yīng)用接入服務(wù)器之間的通信,IP分組流從本地應(yīng)用接入服務(wù)器的輸出緩存器65(見圖2)被發(fā)送到參加正在進(jìn)行的應(yīng)用的一個(gè)或多個(gè)遠(yuǎn)端應(yīng)用接入服務(wù)器單元。每個(gè)IP分組包含TCP或UDP分組,以及TCP或UDP有用負(fù)載是應(yīng)用輸送協(xié)議(ATP)分組。
用于在兩個(gè)應(yīng)用接入服務(wù)器之間的通信的通信堆棧的最高協(xié)議層是類似于在客戶機(jī)通信堆棧中使用的那種的AOP/ACP層117。應(yīng)用對(duì)象分組可以相當(dāng)小,也就是,約40字節(jié)或更小。為了使得在兩個(gè)應(yīng)用接入服務(wù)器之間的通信更有效,把幾個(gè)應(yīng)用對(duì)象分組聚集在一個(gè)應(yīng)用輸送協(xié)議(ATP)層119中。下一個(gè)層是TCP或UDP層121,以及最低層是IP層123,這兩個(gè)層121、123在本領(lǐng)域是熟知的。信息分組從IP層被發(fā)送到遠(yuǎn)端應(yīng)用接入服務(wù)器單元。輸出緩存器單元(圖2上的65)保持一組分類緩存器,用于收集將成為ATP有用負(fù)載的應(yīng)用對(duì)象分組。這些緩存器的結(jié)構(gòu)取決于分布策略。對(duì)于每個(gè)遠(yuǎn)端應(yīng)用接入服務(wù)器可以有一個(gè)分類緩存器。
應(yīng)用對(duì)象分組可以包括一個(gè)用于列舉出應(yīng)當(dāng)?shù)玫礁碌目蛻魴C(jī)的域。這個(gè)域被變換成那些應(yīng)當(dāng)接收應(yīng)用對(duì)象分組的應(yīng)用接入服務(wù)器單元的名單。應(yīng)用接入服務(wù)器保持一個(gè)表,它使得客戶機(jī)數(shù)目與應(yīng)用接入服務(wù)器數(shù)目相匹配。這意味著,所有的有關(guān)的應(yīng)用接入服務(wù)器單元最終將得到更新。應(yīng)用接入服務(wù)器單元然后把應(yīng)用對(duì)象分組分配到它們的本地客戶機(jī)。簡(jiǎn)單的可任選的工作模式是所有的應(yīng)用接入服務(wù)器單元接收所有的應(yīng)用數(shù)據(jù)。
本地應(yīng)用接入服務(wù)器識(shí)別那些需要通過遠(yuǎn)端應(yīng)用接入服務(wù)器單元被發(fā)送的應(yīng)用對(duì)象分組。本地應(yīng)用接入服務(wù)器的應(yīng)用狀態(tài)接收機(jī)因而被加以掃描,從而可尋找到帶有new_client_data(新客戶機(jī)數(shù)據(jù))標(biāo)志的應(yīng)用對(duì)象分組。應(yīng)用對(duì)象分組標(biāo)題包括接收者組域,它列出應(yīng)用對(duì)象分組應(yīng)當(dāng)被發(fā)送到的一個(gè)或多個(gè)客戶機(jī)地址。這個(gè)接收者組域被檢驗(yàn)。客戶機(jī)地址被轉(zhuǎn)換成遠(yuǎn)端應(yīng)用接入服務(wù)器地址,以及應(yīng)用對(duì)象分組的副本被放置在對(duì)應(yīng)于接收者應(yīng)用接入服務(wù)器單元的分類緩存器中。該接收者組域針對(duì)每個(gè)應(yīng)用對(duì)象分組副本而被更新,這樣,只有屬于接收的應(yīng)用接入服務(wù)器或應(yīng)用接入服務(wù)器組的接收者客戶機(jī)才保留。new_client_data標(biāo)志被復(fù)位。
應(yīng)用對(duì)象分組包含來自游戲應(yīng)用的有用負(fù)載。應(yīng)用接入服務(wù)器系統(tǒng)不能讀出游戲的內(nèi)部有用負(fù)載格式。所以這樣的消息被打包在應(yīng)用對(duì)象分組(AOP)中。AOP的標(biāo)題可以被應(yīng)用接入服務(wù)器系統(tǒng)讀出。它被使用來添加那些對(duì)于及時(shí)傳遞游戲有用負(fù)載所需要的信息。
在這里討論的實(shí)施例中,除了標(biāo)準(zhǔn)互聯(lián)網(wǎng)協(xié)議(諸如IP、TCP、UDP和RTP)以外,還使用三個(gè)非標(biāo)準(zhǔn)協(xié)議·應(yīng)用對(duì)象分組(AOP)是用于游戲數(shù)據(jù)的容器。從游戲應(yīng)用發(fā)送到遠(yuǎn)端游戲客戶機(jī)或服務(wù)器的所有的數(shù)據(jù)被打包在AOP中,這樣,它可以被應(yīng)用接入服務(wù)器系統(tǒng)處理。
·應(yīng)用控制協(xié)議(ACP)被使用來發(fā)送控制消息??刂葡⒃趹?yīng)用接入服務(wù)器單元、客戶機(jī)和應(yīng)用接待廳服務(wù)器之間進(jìn)行發(fā)送。
·應(yīng)用輸送協(xié)議(ATP)被使用來在應(yīng)用接入服務(wù)器單元之間和可任選地也在應(yīng)用接入服務(wù)器與客戶機(jī)之間發(fā)送聚集的游戲數(shù)據(jù)。
應(yīng)用對(duì)象分組包含來自游戲應(yīng)用的消息。應(yīng)用接入服務(wù)器系統(tǒng)不能讀出游戲的內(nèi)部消息格式。這樣的消息因而被打包在應(yīng)用對(duì)象分組(AOP)中。AOP的標(biāo)題可以被應(yīng)用接入服務(wù)器系統(tǒng)讀出。它被使用來添加那些對(duì)于定時(shí)傳遞游戲有用負(fù)載所需要的信息。
應(yīng)用消息可完整地規(guī)定應(yīng)用對(duì)象的狀態(tài),或它們可替換地相對(duì)于參考狀態(tài)來描述應(yīng)用對(duì)象。AOP因而具有兩種類型參考分組(BP)和增量分組(IP)。
應(yīng)用對(duì)象分組包含標(biāo)題,其后面跟隨游戲特定的有用負(fù)載可被使用于AOP的標(biāo)題域包括(1)應(yīng)用對(duì)象號(hào)碼。(2)時(shí)間印記,用于表示當(dāng)AOP被產(chǎn)生時(shí)游戲中的時(shí)間。(3)可任選的分組號(hào)碼。通過與對(duì)象號(hào)和時(shí)間印記相組合,它創(chuàng)建分組的獨(dú)特的識(shí)別號(hào)。分組號(hào)碼只在屬于同一個(gè)游戲?qū)ο蟮膸讉€(gè)AOP具有相同的時(shí)間印記時(shí)才被使用。(4)如果話音和或視頻信息可被發(fā)送,則可以包括表示分組是否包含這種類型的信息的標(biāo)志。(5)表示AOP是參考分組還是增量分組的標(biāo)志。(6)如果AOP是遞增的,則指針指向參考AOP。這個(gè)指針可包含時(shí)間印記和參考AOP的分組數(shù)目。參考AOP可以是基本AOP或是增量AOP。(7)用于描述應(yīng)當(dāng)接收消息的客戶機(jī)的記錄。這可以通過列出客戶機(jī)或使用預(yù)定的客戶機(jī)組而完成。缺省是所有的客戶機(jī)接收數(shù)據(jù)。緊急域與每個(gè)接收的客戶機(jī)或客戶機(jī)組有關(guān)。這個(gè)域被使用來提醒接收機(jī)該消息是否緊急。三個(gè)緊急標(biāo)題將是足夠的??杀辉O(shè)置在緊急區(qū)域的標(biāo)志是ForbiddenAOP不應(yīng)當(dāng)被分布給客戶機(jī)或客戶機(jī)組Fair_Play使用公正游戲模式(見下面)
Very_Urgent超越客戶機(jī)優(yōu)先級(jí)Urgent客戶機(jī)將被提醒Normal按照客戶機(jī)優(yōu)先級(jí)而傳遞Not_Urgent最盡力地傳遞簡(jiǎn)單的格式可以是<number of entries><clientl><urgency for client l><client2><urgency for client 2>…在列表中后面的項(xiàng)目超越前面的項(xiàng)目。該域2,all Forbidden,client_3 Urgent是指所有的客戶機(jī)被禁止接收AOP,除了在緊急模式中將得到AOP的客戶機(jī)號(hào)3以外。(8)有用負(fù)載的規(guī)模應(yīng)用控制協(xié)議(ACP)被使用來在游戲客戶機(jī)、應(yīng)用接入服務(wù)器單元和應(yīng)用接待廳服務(wù)器(ALS)之間發(fā)送控制消息。在這里提供ACP的概況。每個(gè)ACP分組包含標(biāo)題和消息體。
ACP消息可以包括以下的域(1)ACP消息類型。(2)時(shí)間印記,表示當(dāng)消息被產(chǎn)生時(shí)游戲中的時(shí)間。(3)消息的規(guī)模。(4)消息體。
注意,消息源由更高的協(xié)議級(jí)別來標(biāo)識(shí)。在下面,將概述可以通過使用ACP發(fā)送的消息。
從客戶機(jī)到應(yīng)用接入服務(wù)器的ACP消息可包括以下項(xiàng)目·終結(jié)客戶機(jī)。應(yīng)用接入服務(wù)器管理系統(tǒng)去除來自所有的記錄的客戶機(jī),以及通知應(yīng)用接待廳服務(wù)器(ALS)??蛻魴C(jī)負(fù)責(zé)通知ALS它是否正在離開游戲。ALS負(fù)責(zé)通過發(fā)送最后的得分和通知其它游戲者而最終與終結(jié)的客戶機(jī)接觸。
·預(yù)約。
·添加游戲?qū)ο?。新的游戲?qū)ο筇?hào)由應(yīng)用接入服務(wù)器產(chǎn)生,以及應(yīng)用接入服務(wù)器存儲(chǔ)器被分配用于接收來自客戶機(jī)的對(duì)象狀態(tài)信息。
·去除游戲?qū)ο?。在所有的客戶機(jī)和遠(yuǎn)端應(yīng)用接入服務(wù)器單元已接收上一個(gè)更新后,該對(duì)象從所有的應(yīng)用接入服務(wù)器存儲(chǔ)器中被去除。
·發(fā)送對(duì)于對(duì)象的估計(jì)的等待時(shí)間。這個(gè)請(qǐng)求包括對(duì)象號(hào)碼清單。應(yīng)用接入服務(wù)器通過發(fā)送對(duì)于對(duì)象的估計(jì)的端到端等待時(shí)間來作出應(yīng)答。客戶機(jī)應(yīng)用使用對(duì)于等待時(shí)間隱蔽的估值。
·定義對(duì)象組。對(duì)象組對(duì)于那些否則將必須在客戶機(jī)鏈路上被發(fā)送的長的對(duì)象號(hào)碼清單給予短的名字時(shí)是有用的。Direct-Play處理分級(jí)結(jié)構(gòu)“游戲者”組,這樣,游戲API將能夠提供有用的組定義。應(yīng)用接入服務(wù)器存儲(chǔ)對(duì)象組信息,以及作為對(duì)于對(duì)象清單的同義名來對(duì)待對(duì)象組。消息可以具有以下格式消息類型=定義對(duì)象組;><object group name(對(duì)象組名稱)><list ofobject(對(duì)象清單)>
·定義客戶機(jī)組??蛻魴C(jī)組對(duì)于那些否則將必須在AOP域中在客戶機(jī)鏈路上被發(fā)送的長的客戶機(jī)號(hào)碼清單上設(shè)置短的名字時(shí)是有用的。應(yīng)用接入服務(wù)器存儲(chǔ)客戶機(jī)組信息,以及作為對(duì)于客戶機(jī)清單的同義名來對(duì)待客戶機(jī)組。該消息可以具有以下格式消息類型=定義客戶機(jī)組<client group name(客戶機(jī)組名稱)><listof client(客戶機(jī)清單)>
·發(fā)送時(shí)間參考。這個(gè)消息被使用來從應(yīng)用接入服務(wù)器下載參考時(shí)間。
從應(yīng)用接入服務(wù)器到客戶機(jī)的ACP消息可包括以下項(xiàng)目·緊急清單。如果緊急的未讀出的AOP正在等待,這個(gè)消息被使用來提醒客戶機(jī)。應(yīng)用接入服務(wù)器掃描在AOP接收者清單上所有的具有現(xiàn)在的客戶機(jī)的未讀出的AOP。緊急清單可以具有以下格式<urgency class 1><list of object numbers(對(duì)象號(hào)碼清單)><urgency class 2><list of object numbers>等·等待時(shí)間估計(jì)。這包含按照以下格式的項(xiàng)目組<game object number(游戲?qū)ο筇?hào)碼)><upstream latency><upstream latency variance><downstream latency><downstreamlatency variance>
“不知道”符號(hào)可被使用于任何域(除了第一域以外)。
·確認(rèn)對(duì)象組號(hào)碼。應(yīng)用接入服務(wù)器從客戶機(jī)接收“定義對(duì)象組”消息。它確認(rèn)全部對(duì)象組號(hào)碼已被分配。消息體將包括<global object group number><client’s object group name>
用于分配對(duì)象號(hào)的簡(jiǎn)單的方法將是假定N個(gè)應(yīng)用接入服務(wù)器單元的總數(shù)是有效的。計(jì)數(shù)所有的有效的應(yīng)用接入服務(wù)器單元。如果應(yīng)用接入服務(wù)器號(hào)k請(qǐng)求新的對(duì)象號(hào),它從序列{k,N+k,2N+k,3N+k,...}中分配最低的自由對(duì)象號(hào)。
·確認(rèn)客戶機(jī)組號(hào)碼。應(yīng)用接入服務(wù)器從客戶機(jī)接收“定義客戶機(jī)組消息”。它確認(rèn)全部客戶機(jī)組號(hào)碼已被分配。消息體將包括<global client group number><client’s client group name>
用于分配全部對(duì)象組名稱的相同的算法可被使用來分配客戶機(jī)組名稱。
·時(shí)鐘同步。應(yīng)用接入服務(wù)器按照下式發(fā)送時(shí)間參考<client time>=<time>+<client link latency>
客戶機(jī)具有一個(gè)用于按照一系列接收時(shí)鐘同步消息來調(diào)節(jié)本地時(shí)鐘的算法。
從一個(gè)應(yīng)用接入服務(wù)器到另一個(gè)應(yīng)用接入服務(wù)器的ACP消息包括·集合的預(yù)約。集合的優(yōu)先級(jí)清單顯示那些屬于發(fā)送應(yīng)用接入服務(wù)器的客戶機(jī)需要看到的對(duì)象,也就是,那些其信息應(yīng)當(dāng)被發(fā)送的發(fā)送應(yīng)用接入服務(wù)器的對(duì)象。該清單具有與簡(jiǎn)單的客戶機(jī)優(yōu)先級(jí)清單相同的格式。它是通過添加所有的合法的本地客戶機(jī)優(yōu)先級(jí)清單和去除重復(fù)的內(nèi)容而構(gòu)建的。
·重新發(fā)送請(qǐng)求。這個(gè)消息具有與簡(jiǎn)單的優(yōu)先級(jí)清單相同的格式,以及被解譯為對(duì)于重新發(fā)送列出的對(duì)象的狀態(tài)的請(qǐng)求。
·定義對(duì)象組。對(duì)象組定義可被分布在應(yīng)用接入服務(wù)器之間。使用對(duì)于對(duì)象號(hào)碼的長的清單的完全的名稱有助于減小業(yè)務(wù)量。
·定義客戶機(jī)組??蛻魴C(jī)組定義可被分布在應(yīng)用接入服務(wù)器之間。
從應(yīng)用接入服務(wù)器到應(yīng)用接待廳服務(wù)器的ACP消息包括
·客戶機(jī)已被終結(jié)。這個(gè)消息在客戶機(jī)自愿從游戲斷開時(shí)被發(fā)送。
·客戶機(jī)超時(shí)。如果客戶機(jī)在長的時(shí)間內(nèi)是靜默的或如果通向客戶機(jī)的鏈路被關(guān)閉,應(yīng)用接入服務(wù)器可以發(fā)送一個(gè)消息給ALS。該ALS決定另一個(gè)行動(dòng),諸如從游戲中去除該客戶機(jī)。
ALS可以起到客戶機(jī)的作用。ALS可以控制保持游戲的得分的游戲?qū)ο?。ALS的端口然后被連接到作為使用“鏈路”協(xié)議(諸如TCP/IP)的客戶機(jī)的AAS。ALS因而可以使用與客戶機(jī)相同的消息。其它的ALS或AAS消息在這里被列出應(yīng)用建立信息,它包括·包括標(biāo)識(shí)ALS的端口號(hào)碼的網(wǎng)絡(luò)地址。
·獨(dú)特地標(biāo)識(shí)游戲的URL。
·參加游戲的其它應(yīng)用接入服務(wù)器單元的IP地址。
·包括用于標(biāo)識(shí)客戶機(jī)的應(yīng)用端口號(hào)碼的網(wǎng)絡(luò)地址的清單。
·可任選地,已列舉的游戲?qū)ο蟮那鍐巍?duì)于每個(gè)對(duì)象,規(guī)定哪個(gè)應(yīng)用接入服務(wù)器負(fù)責(zé)存儲(chǔ)該狀態(tài)。也可以規(guī)定誰被許可去更新該狀態(tài)。
·可任選地,要被存儲(chǔ)的初始游戲狀態(tài)。
·任選的規(guī)定控制策略(諸如超時(shí))的數(shù)據(jù)。
·添加上應(yīng)用接入服務(wù)器。規(guī)定新的應(yīng)用接入服務(wù)器的網(wǎng)絡(luò)地址、數(shù)目和客戶機(jī)清單。
·去除應(yīng)用接入服務(wù)器。規(guī)定要被去除的應(yīng)用接入服務(wù)器的數(shù)目。
·添加客戶機(jī)。這包括新的客戶機(jī)的網(wǎng)絡(luò)地址;可任選地,由新的客戶機(jī)控制的新游戲?qū)ο蟮某跏紶顟B(tài)。
·去除客戶機(jī)。應(yīng)用接入服務(wù)器系統(tǒng)從游戲中去除客戶機(jī)。
·已修改的客戶機(jī)狀態(tài)。這個(gè)消息改變客戶機(jī)控制游戲?qū)ο蟮臋?quán)限或把客戶機(jī)與不同的應(yīng)用接入服務(wù)器相聯(lián)系。格式可以是<client number(客戶機(jī)號(hào))><application access servernumber(應(yīng)用接入服務(wù)器號(hào))><object number(對(duì)象號(hào))>其中對(duì)象號(hào)表示由客戶機(jī)控制的游戲?qū)ο蟆?br> 應(yīng)用輸送協(xié)議(ATP)被使用來輸送應(yīng)用對(duì)象分組(AOP)和應(yīng)用控制協(xié)議(ACP)消息。ATP具有在有用負(fù)載中的一系列AOP和ACP消息,以及主要被使用來在應(yīng)用接入服務(wù)器單元之間發(fā)送聚集的數(shù)據(jù)。應(yīng)用接入服務(wù)器單元典型地通過使用協(xié)議堆棧IP/UDP/ATP通信。ATP因而處在與RTP協(xié)議相同的邏輯級(jí)別。
ATP標(biāo)題包括·用于標(biāo)識(shí)游戲的URL。
·最早的AOP或ACP時(shí)間印記。
·最遲的AOP或ACP時(shí)間印記。
·AOP和ACP消息的數(shù)目。
ATP通常只被使用于在應(yīng)用接入服務(wù)器之間的通信,正如所顯示的。如果在客戶機(jī)與應(yīng)用服務(wù)器之間的連接的帶寬是足夠大的,則它可被使用于這些連接。
傳統(tǒng)的協(xié)議(諸如TCP/IP和或UDP/IP)被使用于與應(yīng)用接待廳服務(wù)器和其它應(yīng)用接入服務(wù)器單元的通信。由于以下的原因,TCP/IP應(yīng)當(dāng)被使用來建立游戲、以及UDP/IP應(yīng)當(dāng)被使用來發(fā)送實(shí)時(shí)游戲數(shù)據(jù)對(duì)于游戲應(yīng)用,TCP重新發(fā)送和記錄是太慢和太復(fù)雜。
TCP重新排序可能延遲對(duì)最近的更新的傳遞,以便傳遞太老的數(shù)據(jù)。對(duì)不再需要的數(shù)據(jù)的重新發(fā)送顯然是很浪費(fèi)。應(yīng)用接入服務(wù)器單元知道精確的優(yōu)先級(jí),以及如果需要的話,可以請(qǐng)求從幾個(gè)源重新發(fā)送。
RTP可被使用來發(fā)送時(shí)間印記,但RTP被設(shè)計(jì)用于音頻和視頻流,以及不太適合于游戲數(shù)據(jù)流。然而,RTP可被使用來載送與游戲有關(guān)的音頻和視頻流。
“公正游戲模式”也可以在系統(tǒng)中被實(shí)施。在這種模式下,應(yīng)用接入服務(wù)器單元對(duì)關(guān)鍵的應(yīng)用信息的傳遞進(jìn)行同步,這樣,這些更新被所有有關(guān)的客戶機(jī)同時(shí)接收。這個(gè)模式可被使用于各種競(jìng)賽。
應(yīng)用接待廳服務(wù)器在建立應(yīng)用的同時(shí)判定公正游戲模式是否可提供的。如果允許公正游戲模式,則發(fā)送的客戶機(jī)針對(duì)每個(gè)發(fā)送的AOP來判定是否應(yīng)當(dāng)使用公正游戲傳遞。這是通過在AOP的緊急域中設(shè)置Fair_Play標(biāo)志而完成的。應(yīng)用接入服務(wù)器系統(tǒng)現(xiàn)在負(fù)責(zé)把AOP“同時(shí)地”傳遞到所有的客戶機(jī)。這個(gè)要求超越所有其它客戶機(jī)優(yōu)先級(jí)。
對(duì)于這一點(diǎn)的可能的技術(shù)解決方案是“存儲(chǔ)桶(bucket)同步”方法。應(yīng)用接入服務(wù)器單元一致地以固定的絕對(duì)延時(shí)來更新客戶機(jī)。那些較早到達(dá)的更新必須等待一致的時(shí)隙。這個(gè)方法具有增加系統(tǒng)的總延時(shí)的缺點(diǎn)。公正游戲模式可替換地由游戲應(yīng)用來進(jìn)行處理。在這個(gè)模式下,客戶機(jī)應(yīng)用通過使用每個(gè)游戲?qū)ο蟮臅r(shí)間印記把一致的延時(shí)施加到接收的游戲數(shù)據(jù)上,以便計(jì)算分組應(yīng)當(dāng)被延時(shí)多久從而便可得到一致的絕對(duì)延時(shí)。
圖6顯示按照本發(fā)明的應(yīng)用接入服務(wù)器150的另一個(gè)實(shí)施例。除了這里所說到的,這個(gè)實(shí)施例類似于以上討論的實(shí)施例。在本實(shí)施例中,應(yīng)用接入服務(wù)器的通信功能在一個(gè)或多個(gè)應(yīng)用路由器152與應(yīng)用服務(wù)器154之間進(jìn)行劃分。應(yīng)用服務(wù)器154包括應(yīng)用狀態(tài)記錄155和客戶機(jī)優(yōu)先級(jí)清單161,諸如結(jié)合圖1描述的。應(yīng)用路由器152通過客戶機(jī)應(yīng)用編程接口API 172(這將在下面更詳細(xì)地討論)與一個(gè)或多個(gè)客戶機(jī)170通信。每個(gè)應(yīng)用接入服務(wù)器150包括一個(gè)應(yīng)用服務(wù)器154,后者服務(wù)于一個(gè)或多個(gè)應(yīng)用路由器152。應(yīng)用路由器152也與網(wǎng)絡(luò)中其它節(jié)點(diǎn)(諸如與在其它應(yīng)用接入服務(wù)器中的應(yīng)用路由器(未示出))通信。優(yōu)選地,應(yīng)用服務(wù)器154和應(yīng)用路由器152被實(shí)施為分開的硬件單元,以使得其每個(gè)相對(duì)于它們的特定的功能最佳化。替換地,它們可以具有已分配給它們的分開的處理器資源。特別是,應(yīng)用路由器必須不中斷地運(yùn)行,因?yàn)橹袛鄷?huì)負(fù)面地影響客戶機(jī)應(yīng)用的實(shí)時(shí)性能。
正如前面那樣,與客戶機(jī)相連接的應(yīng)用接入服務(wù)器是該客戶機(jī)的本地應(yīng)用接入服務(wù)器,以及客戶機(jī)是該應(yīng)用接入服務(wù)器的本地客戶機(jī)。同樣地,服務(wù)于客戶機(jī)的應(yīng)用服務(wù)器和應(yīng)用路由器是客戶機(jī)的本地應(yīng)用服務(wù)器和應(yīng)用路由器。
應(yīng)用服務(wù)器通過應(yīng)用路由器接收包含基本對(duì)象的ATP分組(見下面)和來自客戶機(jī)的控制消息。在通過把基本對(duì)象放置在它的應(yīng)用狀態(tài)數(shù)據(jù)庫來處理基本對(duì)象以前,應(yīng)用服務(wù)器檢驗(yàn)發(fā)送的客戶機(jī)是否被允許更新對(duì)象。如果不許可該客戶機(jī)更新對(duì)象,則對(duì)象被拒絕,以及發(fā)送的客戶機(jī)可能接收錯(cuò)誤的消息。在處理控制消息以前,應(yīng)用服務(wù)器檢驗(yàn)發(fā)送的客戶機(jī)是否被允許請(qǐng)求所被指示的操作,以及如果沒有,則拒絕控制消息和任選地把錯(cuò)誤消息發(fā)送返回給正在發(fā)送的客戶機(jī)。考慮當(dāng)發(fā)送的客戶機(jī)請(qǐng)求刪除一個(gè)對(duì)象組時(shí)的情形。這個(gè)組可以由內(nèi)容服務(wù)器創(chuàng)建,它是特別的客戶機(jī),負(fù)責(zé)管理游戲狀態(tài)和通過標(biāo)準(zhǔn)客戶機(jī)API與應(yīng)用接入服務(wù)器進(jìn)行通信。內(nèi)容服務(wù)器把鑒權(quán)規(guī)則上載給禁止客戶機(jī)刪除對(duì)象組的游戲接入服務(wù)器。在這種情形下,應(yīng)用服務(wù)器將拒絕那個(gè)請(qǐng)求刪除對(duì)象組的控制消息。
這個(gè)合法性檢驗(yàn)是通過使用鑒權(quán)規(guī)則表來執(zhí)行的,鑒權(quán)規(guī)則表表明客戶機(jī)被允許執(zhí)行的操作的種類。鑒權(quán)規(guī)則表由客戶機(jī)或控制單元通過使用初始化文件來建立。
客戶機(jī)如果被許可這樣做的話,就請(qǐng)求創(chuàng)建對(duì)象組。客戶機(jī)也可以添加成員、去除成員和刪除對(duì)象組。對(duì)象組的成員是對(duì)象或?qū)ο蠼M。對(duì)于對(duì)象組的任何的這樣的操作的請(qǐng)求由客戶機(jī)作為控制消息而被發(fā)送,這些控制消息由應(yīng)用路由器廣播到參加該進(jìn)程的所有的應(yīng)用服務(wù)器。對(duì)象組由具有與對(duì)象識(shí)別符相同的格式的識(shí)別符標(biāo)識(shí)。每個(gè)應(yīng)用服務(wù)器包括對(duì)象組數(shù)據(jù)庫162,它為每個(gè)應(yīng)用進(jìn)程存儲(chǔ)在進(jìn)程期間創(chuàng)建的對(duì)象組。對(duì)象組數(shù)據(jù)庫162為每個(gè)對(duì)象組至少存儲(chǔ)以下的域(1)對(duì)象組識(shí)別符,(2)對(duì)象組的成員名單,(3)對(duì)象組的母成員名單。對(duì)象組A的母成員是具有作為其成員的對(duì)象組A的對(duì)象組。對(duì)象數(shù)據(jù)庫被組織成為先前的實(shí)施例中的對(duì)象數(shù)據(jù)庫,但對(duì)于每個(gè)對(duì)象,有一個(gè)對(duì)于對(duì)象是母成員的對(duì)象組名單。
從客戶機(jī)和從其它應(yīng)用接入服務(wù)器接收的對(duì)象應(yīng)當(dāng)構(gòu)成應(yīng)用狀態(tài)的一部分,該狀態(tài)被從應(yīng)用路由器152轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器154,以及被存儲(chǔ)在應(yīng)用狀態(tài)記錄155。從客戶機(jī)和從其它應(yīng)用接入服務(wù)器接收的預(yù)約信息被轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器154,以及被存儲(chǔ)在客戶機(jī)優(yōu)先級(jí)清單161中。
站址管理器174優(yōu)選地通過連接到應(yīng)用路由器152控制一個(gè)或多個(gè)應(yīng)用接入服務(wù)器150的功能。每個(gè)應(yīng)用接入服務(wù)器包括一個(gè)或多個(gè)應(yīng)用路由器152和應(yīng)用服務(wù)器154。站址管理器也可使用標(biāo)準(zhǔn)協(xié)議SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)來控制站址。
所以,一個(gè)站址包括一個(gè)站址管理器和被一個(gè)站址管理器174控制的多個(gè)應(yīng)用接入服務(wù)器150。站址管理器174的主要任務(wù)是連接管理、客戶機(jī)連接、資源管理、應(yīng)用服務(wù)器和路由器的配置、許可控制、客戶機(jī)的鑒權(quán)、對(duì)于站址的時(shí)間同步、網(wǎng)絡(luò)管理以及應(yīng)用服務(wù)器和應(yīng)用路由器的負(fù)載和狀態(tài)的監(jiān)管。
站址管理器可任選地接收應(yīng)用輸送協(xié)議(ATP)分組,其中包含來自客戶機(jī)的控制消息。應(yīng)當(dāng)指出,在本實(shí)施例中的ATP不同于在以前的實(shí)施例中描述的ATP,以及將在下面描述。在處理控制消息之前,SM檢驗(yàn)正在發(fā)送的客戶機(jī)是否被許可請(qǐng)求所指示的運(yùn)行,如果不許可,則控制消息被拒絕,以及正在發(fā)送的客戶機(jī)接收任選的錯(cuò)誤消息。這個(gè)合法性檢驗(yàn)是通過使用鑒權(quán)規(guī)則表來執(zhí)行的,鑒權(quán)規(guī)則表表明客戶機(jī)被允許執(zhí)行的操作的種類。鑒權(quán)規(guī)則表由客戶機(jī)或接待廳接入服務(wù)器178通過使用初始化文件來建立。
一個(gè)或多個(gè)接待廳接入服務(wù)器178被提供來連接到應(yīng)用接待廳服務(wù)器176、一個(gè)或多個(gè)接待廳接入服務(wù)器178。應(yīng)用接待廳服務(wù)器在圖2中被討論。接待廳接入服務(wù)器178被連接到站址管理器174。接待廳接入服務(wù)器處理來自接待廳服務(wù)器的游戲進(jìn)程請(qǐng)求,以及安排和管理游戲進(jìn)程。這包括接待廳服務(wù)器的登錄和鑒權(quán)、以及計(jì)費(fèi)。它也把有關(guān)游戲和接待廳服務(wù)器的信息保存到數(shù)據(jù)庫。中央控制單元(未示出)可被使用來監(jiān)管和保持應(yīng)用通信系統(tǒng)。
應(yīng)用通信系統(tǒng)包括一個(gè)或多個(gè)互聯(lián)的站址和接待廳接入服務(wù)器。中央控制單元(未示出)可被使用來監(jiān)管和保持應(yīng)用通信系統(tǒng)。
接待廳接入服務(wù)器178可包括或被連接到數(shù)據(jù)庫180,后者包括有關(guān)在網(wǎng)絡(luò)中存在的應(yīng)用接待廳服務(wù)器的信息,諸如哪些應(yīng)用接待廳服務(wù)器被允許把客戶機(jī)添加到特定的允許或特定的應(yīng)用接入服務(wù)器。應(yīng)用接待廳服務(wù)器176可包括或被連接到數(shù)據(jù)庫182,后者包括客戶機(jī)數(shù)據(jù),諸如對(duì)于每個(gè)客戶機(jī)的鑒權(quán)資料。
在站址管理器和它控制的應(yīng)用服務(wù)器之間的通信包括添加和去除進(jìn)程,以及從進(jìn)程中添加和去除客戶機(jī)。在站址管理器和應(yīng)用路由器之間的通信包括與以上相同的部分,以及對(duì)于客戶機(jī)的登錄許可。另外,錯(cuò)誤消息從應(yīng)用服務(wù)器或應(yīng)用路由器發(fā)送到站址管理器。
優(yōu)選地,本地應(yīng)用路由器152可以處理從客戶機(jī)、其它應(yīng)用路由器或網(wǎng)絡(luò)中的其它單元接收的數(shù)據(jù)流對(duì)象和基本對(duì)象??蛻魴C(jī)將基本對(duì)象的每個(gè)更新的一個(gè)副本發(fā)送到本地應(yīng)用接入服務(wù)器。對(duì)象包含游戲者的化身的狀態(tài)?;緦?duì)象被轉(zhuǎn)發(fā)到進(jìn)程中所有的相關(guān)的應(yīng)用服務(wù)器。由應(yīng)用路由器從客戶機(jī)或其它應(yīng)用接入服務(wù)器單元接收的基本對(duì)象被存儲(chǔ)在相關(guān)的應(yīng)用服務(wù)器的應(yīng)用狀態(tài)記錄中。想要接收數(shù)據(jù)流對(duì)象的游戲者向本地應(yīng)用服務(wù)器發(fā)布預(yù)約。應(yīng)用服務(wù)器按照預(yù)約的參量發(fā)送來自本地應(yīng)用狀態(tài)的一系列對(duì)象更新。數(shù)據(jù)流對(duì)象不存儲(chǔ)在應(yīng)用服務(wù)器中?;緦?duì)象和數(shù)據(jù)流對(duì)象將在下面更詳細(xì)地討論。應(yīng)用路由器從客戶機(jī)、本地應(yīng)用服務(wù)器、從其它應(yīng)用路由器、以及可任選地從本地站址管理器接收應(yīng)用輸送協(xié)議(ATP)分組。ATP分組通過其它網(wǎng)絡(luò)協(xié)議(諸如UDP/IP)而被輸送。其它應(yīng)用路由器是遠(yuǎn)端的(屬于遠(yuǎn)端應(yīng)用接入服務(wù)器)或是本地的(屬于與應(yīng)用路由器相同的應(yīng)用接入服務(wù)器)。接收的ATP分組具有三種不同的類型在應(yīng)用對(duì)象分組(AOP)中的基本對(duì)象和數(shù)據(jù)流對(duì)象、在應(yīng)用控制分組(ACP)中的控制數(shù)據(jù)、以及在客戶機(jī)消息分組(CMP)中的客戶機(jī)消息。ATP分組被刪除掉,或者通過單一廣播或多址傳播而傳送到正在接收的客戶機(jī)、應(yīng)用路由器、本地應(yīng)用路由器、或傳送到本地站址管理器。不同的路由情況被顯示在表上。那些被尋址到正在接收的應(yīng)用路由器的控制分組將被終結(jié)以及不被路由。
下面的表中顯示應(yīng)用路由器的路由表



數(shù)據(jù)流對(duì)象不存儲(chǔ)在應(yīng)用服務(wù)器中。客戶機(jī)典型地將它們用于發(fā)送移動(dòng)項(xiàng)目在虛擬世界中的位置。它們可以在網(wǎng)絡(luò)中非常快速地輸送。只有數(shù)據(jù)流對(duì)象的最近的版本被假定為對(duì)正在接收的客戶機(jī)是重要的。對(duì)數(shù)據(jù)流對(duì)象進(jìn)行處理典型地是不可靠的,因?yàn)樗鼈兛梢杂捎糜诹鞒炭刂频膽?yīng)用路由器被謹(jǐn)慎地除去。由應(yīng)用路由器接收的所有的數(shù)據(jù)流對(duì)象被轉(zhuǎn)發(fā)到已預(yù)約數(shù)據(jù)流對(duì)象或預(yù)約包括數(shù)據(jù)流對(duì)象的數(shù)據(jù)流對(duì)象組的所有的本地客戶機(jī)。應(yīng)用路由器152還包括對(duì)于數(shù)據(jù)流對(duì)象的優(yōu)先級(jí)或預(yù)約信息,因?yàn)檫@些對(duì)象不被應(yīng)用服務(wù)器處理,正如下面將討論的。
典型地,想要參加應(yīng)用進(jìn)程(例如特定的正在進(jìn)行的多游戲者進(jìn)程)的客戶機(jī)通過互聯(lián)網(wǎng)而連接到應(yīng)用接待廳服務(wù)器176。應(yīng)用接待廳服務(wù)器提供有關(guān)正在進(jìn)行的應(yīng)用進(jìn)程的信息,以及通常也允許客戶機(jī)創(chuàng)建新的進(jìn)程以及邀請(qǐng)其它客戶機(jī)參加??蛻魴C(jī)可以發(fā)送一個(gè)請(qǐng)求給應(yīng)用接待廳服務(wù)器176,以便創(chuàng)建、刪除、參加或離開應(yīng)用進(jìn)程。如果應(yīng)用接待廳服務(wù)器接受任何這樣的進(jìn)程控制請(qǐng)求,則它把請(qǐng)求轉(zhuǎn)發(fā)到接待廳接入服務(wù)器178。如果請(qǐng)求創(chuàng)建一個(gè)進(jìn)程,則接待廳接入服務(wù)器178通過發(fā)出應(yīng)用進(jìn)程識(shí)別符來進(jìn)行應(yīng)答。對(duì)于諸如請(qǐng)求刪除進(jìn)程或添加或去除客戶機(jī)那樣的請(qǐng)求,應(yīng)用接待廳服務(wù)器176把應(yīng)用進(jìn)程識(shí)別符包括在一個(gè)被發(fā)送到接待廳接入服務(wù)器178的請(qǐng)求中。接待廳接入服務(wù)器178以調(diào)查在應(yīng)用接入服務(wù)器系統(tǒng)中是否可提供匹配于被請(qǐng)求的運(yùn)行的資源來作為對(duì)它的應(yīng)答。如果資源是可提供的,則接待廳接入服務(wù)器178將執(zhí)行請(qǐng)求的運(yùn)行。
如果請(qǐng)求創(chuàng)建一個(gè)進(jìn)程,則接待廳接入服務(wù)器178將選擇一組服務(wù)于該進(jìn)程的站址,以及發(fā)送包括進(jìn)程識(shí)別符的控制消息給相關(guān)的站址管理器174,以便請(qǐng)求在適當(dāng)?shù)膽?yīng)用接入服務(wù)器150上發(fā)起該進(jìn)程。
如果是請(qǐng)求刪除一個(gè)進(jìn)程,則接待廳接入服務(wù)器178將發(fā)送包括進(jìn)程識(shí)別符的控制消息給正在運(yùn)行該進(jìn)程的站址的站址管理器174,請(qǐng)求刪除該進(jìn)程。
如果請(qǐng)求客戶機(jī)參加,則應(yīng)用接待廳服務(wù)器176至少把客戶機(jī)170的網(wǎng)絡(luò)地址、進(jìn)程識(shí)別符和任選地站址識(shí)別符包括在控制消息中以便送到接待廳接入服務(wù)器178。網(wǎng)絡(luò)地址可以是IP地址和客戶機(jī)應(yīng)用處理過程的端口號(hào)碼。接待廳接入服務(wù)器178選擇適當(dāng)?shù)恼局芬约鞍芽刂葡l(fā)送到那個(gè)請(qǐng)求客戶機(jī)170參加游戲進(jìn)程的站址的站址管理器174。這個(gè)控制消息至少包括客戶機(jī)170的網(wǎng)絡(luò)地址和進(jìn)程識(shí)別符,該控制消息送到該站址的站址管理器174。站址管理器選擇在負(fù)責(zé)服務(wù)于客戶機(jī)的該單元內(nèi)的適當(dāng)?shù)膽?yīng)用接入服務(wù)器和適當(dāng)?shù)膽?yīng)用路由器,以及發(fā)送控制消息給客戶機(jī),邀請(qǐng)客戶機(jī)參加游戲。將要服務(wù)于客戶機(jī)的應(yīng)用路由器的網(wǎng)絡(luò)地址和密碼被包括在該消息中??蛻魴C(jī)170聯(lián)系相關(guān)的應(yīng)用接入服務(wù)器150,把密碼包括在控制消息中。應(yīng)用接入服務(wù)器150把客戶機(jī)170包括在本地客戶機(jī)數(shù)據(jù)庫中,以及客戶機(jī)可以進(jìn)行發(fā)送和接收游戲數(shù)據(jù)。
替換地,站址管理器174可以把將服務(wù)于客戶機(jī)170的應(yīng)用路由器152的網(wǎng)絡(luò)地址發(fā)送到接待廳接入服務(wù)器178,接待廳接入服務(wù)器178將把網(wǎng)絡(luò)地址和密碼轉(zhuǎn)發(fā)到應(yīng)用接入服務(wù)器150。應(yīng)用接待廳服務(wù)器176將把網(wǎng)絡(luò)地址和密碼轉(zhuǎn)發(fā)到如上所述的、與相關(guān)的應(yīng)用接入服務(wù)器相聯(lián)系的請(qǐng)求的客戶機(jī)170。
雖然圖6上未顯示緩存器、軟件處理等等,但本領(lǐng)域技術(shù)人員將會(huì)看到,可能需要它們來實(shí)施本發(fā)明的應(yīng)用接入服務(wù)器。
客戶機(jī)170、應(yīng)用接入服務(wù)器150和站址管理器174通過使用應(yīng)用輸送協(xié)議(ATP)進(jìn)行通信。ATP分組典型地作為UDP分組中的有用負(fù)載被載送,正如先前的實(shí)施例中討論的。本實(shí)施例中應(yīng)用的ATP將在下面討論。應(yīng)用輸送協(xié)議(ATP)包括兩個(gè)協(xié)議級(jí)別(1)復(fù)合ATP分組,(2)常規(guī)ATP分組。
復(fù)合ATP分組包括一個(gè)源標(biāo)題和幾個(gè)常規(guī)的ATP分組。源標(biāo)題包括以下的域(1)應(yīng)用進(jìn)程識(shí)別符。
(2)表示正在發(fā)送的客戶機(jī)的客戶機(jī)識(shí)別符。
(3)由協(xié)議使用的、用于被保證的傳輸?shù)目扇芜x的域,其中包括應(yīng)答域和分組計(jì)數(shù)。
常規(guī)的ATP分組(在以下也稱為“ATP分組”)包含ATP標(biāo)題、ATP任選的標(biāo)題、任選的ATP目標(biāo)標(biāo)題和ATP內(nèi)容分組。
ATP標(biāo)題可以包括以下域(1)類型域,它是一組標(biāo)志,表示內(nèi)容分組的類型和在內(nèi)容分組中任選域的存在。內(nèi)容分組類型是控制消息、客戶機(jī)消息、基本對(duì)象或數(shù)據(jù)流對(duì)象。該消息的預(yù)期的接收者可以在類型域中被表示。
(2)表示ATP分組究竟是在可靠的還是非可靠的模式下發(fā)送的標(biāo)志。
(3)表示是否存在目標(biāo)標(biāo)題的標(biāo)志。
(4)表示ATP任選的標(biāo)題的存在和內(nèi)容的一組標(biāo)志。
(5)表示內(nèi)容分組的尺寸的域。
ATP任選的標(biāo)題包含以下的任選的域(1)進(jìn)程識(shí)別符。
(2)客戶機(jī)識(shí)別符。
(3)對(duì)象識(shí)別符。
ATP任選的標(biāo)題被使用來標(biāo)識(shí)內(nèi)容分組。與基本對(duì)象有關(guān)的應(yīng)用有用負(fù)載可以在內(nèi)容分組中被發(fā)送。ATP任選的標(biāo)題被使用來通過利用下面描述的相對(duì)尋址系統(tǒng)來標(biāo)識(shí)基本對(duì)象。
ATP目標(biāo)標(biāo)題TH被使用來直接尋址ATP分組。接收機(jī)的ATP地址被表示在ATP目標(biāo)標(biāo)題中。TH中的第一位置是保持TH的尺寸的字節(jié)。TH包含一系列動(dòng)態(tài)地址域(它是客戶機(jī)識(shí)別符清單,表示消息的預(yù)期的接收者,或是數(shù)據(jù)流對(duì)象密鑰清單)。密鑰是可由發(fā)送者設(shè)置的、數(shù)據(jù)流對(duì)象的屬性??蛻魴C(jī)可預(yù)約那些載送特定的密鑰的數(shù)據(jù)流對(duì)象,而不必知道想要的數(shù)據(jù)流對(duì)象的對(duì)象識(shí)別符。在像Quake那樣的游戲中,密鑰可被使用來選擇屬于不同的房間的數(shù)據(jù)流對(duì)象。數(shù)據(jù)流對(duì)象被使用來發(fā)送化身在游戲中的位置。密鑰被分配給游戲中的每個(gè)房間。正在發(fā)送數(shù)據(jù)流對(duì)象的游戲者添加相應(yīng)于其中化身所位于的房間的密鑰。正在接收數(shù)據(jù)的游戲者通過相應(yīng)于他們感興趣的房間的密鑰預(yù)約數(shù)據(jù)流對(duì)象。數(shù)據(jù)流對(duì)象密鑰可替換地被使用來標(biāo)識(shí)一個(gè)團(tuán)隊(duì)或用來對(duì)對(duì)象進(jìn)行分類,例如分類為危險(xiǎn)的。在本地應(yīng)用接入服務(wù)器中的數(shù)據(jù)流對(duì)象過濾器接收游戲者對(duì)于數(shù)據(jù)流對(duì)象密鑰的預(yù)約以及確保游戲者通過請(qǐng)求的密鑰而得到數(shù)據(jù)流對(duì)象。
ATP內(nèi)容分組(CP)可以具有以下類型中的任一種類型(1)基本對(duì)象,(2)數(shù)據(jù)流對(duì)象,(3)控制消息(4),客戶機(jī)消息?;緦?duì)象、數(shù)據(jù)流對(duì)象和客戶機(jī)消息CP包括應(yīng)用有用負(fù)載??刂葡ㄏ㈩愋秃拖⒘俊?yīng)用控制協(xié)議規(guī)定消息類型域的格式和每個(gè)消息的參量。
進(jìn)程識(shí)別符、客戶機(jī)識(shí)別符和對(duì)象識(shí)別符是動(dòng)態(tài)地址域,正如下面描述的??蛻魴C(jī)組和對(duì)象組分別具有與客戶機(jī)和對(duì)象相同的識(shí)別符格式。
以下的名稱和定義被使用于本文件中。應(yīng)用對(duì)象分組是包含內(nèi)容分組中的應(yīng)用對(duì)象的ATP分組。應(yīng)用控制協(xié)議分組是包含內(nèi)容分組中的控制消息的ATP分組。發(fā)送基本對(duì)象、數(shù)據(jù)流對(duì)象或客戶機(jī)消息的過程總是意味著發(fā)送帶有適當(dāng)?shù)念愋偷膬?nèi)容分組的ATP分組。客戶機(jī)消息分組是包含接收機(jī)地址和內(nèi)容分組中的客戶機(jī)消息的ATP分組。
ATP用法的例子包括以下情形(A)客戶機(jī)正在發(fā)送基本對(duì)象到本地應(yīng)用服務(wù)器。把對(duì)象識(shí)別符而不是客戶機(jī)識(shí)別符或進(jìn)程識(shí)別符放置在ATP任選的標(biāo)題中。不需要ATP目標(biāo)標(biāo)題。對(duì)象有用負(fù)載被放置在內(nèi)容分組中。任選的標(biāo)題和動(dòng)態(tài)地址域的使用意味著標(biāo)題附加開銷可以小到四個(gè)字節(jié)。這是重要的,因?yàn)閷?duì)象常常通過低的帶寬連接而被發(fā)送。
(B)客戶機(jī)正在發(fā)送客戶機(jī)消息給另一個(gè)客戶機(jī)。對(duì)象識(shí)別符和發(fā)送到客戶機(jī)的客戶機(jī)識(shí)別符被放置在ATP任選的標(biāo)題中。不需要進(jìn)程識(shí)別符。使用了包含正在接收的客戶機(jī)的客戶機(jī)識(shí)別符的對(duì)象標(biāo)題。消息有用負(fù)載被放置在內(nèi)容分組中。在發(fā)送一側(cè)的應(yīng)用路由器的輸入過濾器把進(jìn)程識(shí)別符添加到對(duì)象標(biāo)題中。在把分組轉(zhuǎn)發(fā)到正在接收的客戶機(jī)之前,在接收一側(cè)的應(yīng)用路由器的輸出過濾器去除進(jìn)程識(shí)別符。
ATP使用動(dòng)態(tài)地址域。動(dòng)態(tài)地址域是可變長度前綴碼。前綴碼是一種其中比特流中每個(gè)代碼域可以唯一地被譯碼而不用參考先前的碼字的代碼。簡(jiǎn)單的例子是數(shù)字電碼{10,110,1110,...}。Huffman碼是對(duì)于符號(hào)的給定的統(tǒng)計(jì)分布的最佳(最短的預(yù)期長度)前綴碼。
動(dòng)態(tài)地址域的另一種格式是動(dòng)態(tài)尺寸整數(shù)。動(dòng)態(tài)尺寸整數(shù)在計(jì)算機(jī)科學(xué)中是熟知的。動(dòng)態(tài)尺寸整數(shù)被使用在無論何時(shí)小的數(shù)值是最普通的、但大的數(shù)值必須是可能的時(shí)。對(duì)于2-字節(jié)動(dòng)態(tài)尺寸整數(shù),最高位說明整數(shù)的尺寸,1是指一個(gè)字節(jié),以及0是指兩個(gè)字節(jié)。對(duì)于4字節(jié)動(dòng)態(tài)尺寸整數(shù),兩個(gè)最高位說明整數(shù)的尺寸,01指一個(gè)字節(jié),10指兩個(gè)字節(jié),11指3個(gè)字節(jié)以及00指4個(gè)字節(jié)。
動(dòng)態(tài)地址域可以按照以下兩個(gè)方法之一被使用在第一個(gè)方法中,ATP具有用于三個(gè)不同的識(shí)別符的域(1)應(yīng)用進(jìn)程識(shí)別符,(2)客戶機(jī)識(shí)別符,和(3)對(duì)象識(shí)別符。應(yīng)用識(shí)別符是全局唯一的,以及由中央權(quán)力機(jī)構(gòu)(諸如網(wǎng)絡(luò)管理器或接待廳接入服務(wù)器)進(jìn)行分配。每個(gè)客戶機(jī)、應(yīng)用路由器、應(yīng)用服務(wù)器和任選地站址管理器具有客戶機(jī)識(shí)別符,以及在下面被稱為節(jié)點(diǎn)??蛻魴C(jī)組識(shí)別符具有客戶機(jī)識(shí)別符的格式。
客戶機(jī)識(shí)別符只在特定的應(yīng)用進(jìn)程中是獨(dú)特的。中央權(quán)力機(jī)構(gòu)(諸如接待廳接入服務(wù)器或中央控制單元)分配客戶機(jī)識(shí)別符??蛻魴C(jī)識(shí)別符只在應(yīng)用進(jìn)程識(shí)別符已知時(shí)才標(biāo)識(shí)該節(jié)點(diǎn)。ATP把客戶機(jī)識(shí)別符存儲(chǔ)在動(dòng)態(tài)域。應(yīng)用進(jìn)程中的每個(gè)節(jié)點(diǎn)被分配以帶有盡可能少的比特的客戶機(jī)識(shí)別符。常常使用的客戶機(jī)識(shí)別符可以按照Huffman編碼程序過程被分配最短的代碼。
對(duì)象識(shí)別符對(duì)于給定的進(jìn)程中的給定的客戶機(jī)是唯一的??蛻魴C(jī)分配對(duì)象識(shí)別符。對(duì)象識(shí)別符只在進(jìn)程識(shí)別符和客戶機(jī)識(shí)別符是已知時(shí)才標(biāo)識(shí)該對(duì)象。ATP把對(duì)象識(shí)別符存儲(chǔ)在動(dòng)態(tài)域中。每個(gè)對(duì)象被分配以帶有盡可能少的比特的對(duì)象識(shí)別符。經(jīng)常使用的對(duì)象識(shí)別符可以按照Huffman編碼程序過程被分配最短的代碼。
第二方法除了以下的不同之外,是與第一方法相同的??蛻魴C(jī)識(shí)別符包含兩個(gè)動(dòng)態(tài)域。第一域是正在服務(wù)于客戶機(jī)的應(yīng)用路由器的識(shí)別符。第二動(dòng)態(tài)域是客戶機(jī)索引。這個(gè)索引被選擇為盡可能短,以及在給定應(yīng)用進(jìn)程識(shí)別符和本地應(yīng)用路由器客戶機(jī)識(shí)別符是已知時(shí),對(duì)于客戶機(jī)是唯一的。本地應(yīng)用服務(wù)器的客戶機(jī)識(shí)別符替換地可被使用來代替本地應(yīng)用路由器的客戶機(jī)識(shí)別符。
使用動(dòng)態(tài)地址域和如上所述地相對(duì)尋址的優(yōu)點(diǎn)在于帶寬使用和延時(shí)被最小化。只有相關(guān)的地址域才被發(fā)送。這方面的例子是(1)一個(gè)客戶機(jī)只參加一個(gè)應(yīng)用進(jìn)程。含有來自客戶機(jī)的對(duì)象的ATP分組只包含對(duì)象識(shí)別符。應(yīng)用進(jìn)程識(shí)別符和客戶機(jī)識(shí)別符不被發(fā)送,因?yàn)閼?yīng)用路由器隱含地知道它。
(2)含有從本地應(yīng)用服務(wù)器發(fā)送到客戶機(jī)的對(duì)象的ATP分組只需要包括對(duì)象識(shí)別符和擁有該對(duì)象的客戶機(jī)的客戶機(jī)識(shí)別符。
(3)一個(gè)創(chuàng)建新的對(duì)象的客戶機(jī)可立即分配對(duì)象識(shí)別符。完全獨(dú)特的對(duì)象識(shí)別符的集中的分配在新的對(duì)象可被創(chuàng)建之前需要與中央權(quán)力機(jī)構(gòu)通信。
客戶機(jī)組尋址按照以下方式被處理客戶機(jī)組在ATP中由客戶機(jī)識(shí)別符來標(biāo)識(shí)。識(shí)別符通過使用與對(duì)于其它客戶機(jī)識(shí)別符相同的方法而被創(chuàng)建。在應(yīng)用進(jìn)程期間由客戶機(jī)來請(qǐng)求創(chuàng)建客戶機(jī)組,或者客戶機(jī)組的創(chuàng)建是作為進(jìn)程的初始化的一部分來執(zhí)行。
每個(gè)ATP分組包括ATP標(biāo)題中的類型域。類型域標(biāo)識(shí)內(nèi)容的性質(zhì)。類型域中不同的代碼表示內(nèi)容是基本對(duì)象、數(shù)據(jù)流對(duì)象、控制分組或客戶機(jī)消息。應(yīng)用路由器在某些情形下可以把類型域用于缺省路由,而不必讀出和分析地址域?;陬愋陀虻娜笔÷酚傻睦邮?1)所有的基本對(duì)象被路由到本地應(yīng)用服務(wù)器。(2)帶有類型域中一個(gè)特定的代碼的控制分組被路由到本地應(yīng)用服務(wù)器,以及帶有類型域中另一個(gè)特定的代碼的控制分組被路由到本地站址管理器。
圖7顯示在圖6上討論的實(shí)施例中使用的應(yīng)用路由器152,以及ATP分組如何流過應(yīng)用路由器。應(yīng)用路由器152包含一組輸入過濾器190和192、路由器核心194,和一組輸出過濾器196,198。應(yīng)用路由器對(duì)于與它通信的每個(gè)節(jié)點(diǎn)具有一個(gè)輸入過濾器和一個(gè)輸出過濾器。路由器核心194包括多個(gè)路由表199,用于執(zhí)行ATP分組的路由。
分組來自于三種類型的源來自同一個(gè)應(yīng)用接入服務(wù)器的應(yīng)用服務(wù)器,以及其它類似的單元(例如站址管理器)來自于其它應(yīng)用路由器;以及來自被連接到這個(gè)應(yīng)用路由器的應(yīng)用客戶機(jī)。對(duì)于所有三種類型具有不同的路由表199。對(duì)于到另一個(gè)應(yīng)用路由器或應(yīng)用客戶機(jī)的每個(gè)連接有一個(gè)進(jìn)入過濾器190、192和一個(gè)外出過濾器196、198。對(duì)于到應(yīng)用服務(wù)器的連接,不需要輸入或輸出過濾器。過濾器實(shí)施把幾個(gè)應(yīng)用分組組裝成輸送數(shù)據(jù)包,以及對(duì)于可靠的分組還進(jìn)行重新發(fā)送。應(yīng)用客戶機(jī)輸出過濾器196、198去除在客戶機(jī)線上的冗余的信息,以及對(duì)于到應(yīng)用客戶機(jī)170的下行鏈路還提供負(fù)載平衡。
與輸出過濾器有關(guān)的客戶機(jī)170或任何其它被鑒權(quán)的客戶機(jī),可以發(fā)送對(duì)于數(shù)據(jù)流對(duì)象或數(shù)據(jù)流對(duì)象密鑰的預(yù)約給正在接收的客戶機(jī)的輸出過濾器。預(yù)約作為控制消息被發(fā)送,表示預(yù)約的內(nèi)容和正在接收的客戶機(jī)的客戶機(jī)識(shí)別符。輸出過濾器將對(duì)到達(dá)應(yīng)用路由器的數(shù)據(jù)流對(duì)象進(jìn)行掃描。與該預(yù)約相匹配的數(shù)據(jù)流對(duì)象被發(fā)送到客戶機(jī),這多半是發(fā)生在應(yīng)用丟失率(drop rate)后。如果數(shù)據(jù)流對(duì)象的對(duì)象識(shí)別符等于在預(yù)約中給定的對(duì)象識(shí)別符、或如果由數(shù)據(jù)流對(duì)象載送的數(shù)據(jù)流對(duì)象密鑰與在預(yù)約中給定的數(shù)據(jù)流對(duì)象密鑰相匹配,則數(shù)據(jù)流對(duì)象與預(yù)約相匹配。
考慮當(dāng)客戶機(jī)(它與輸出過濾器有關(guān))已預(yù)約數(shù)據(jù)流對(duì)象和從發(fā)送的客戶機(jī)接收到數(shù)據(jù)流對(duì)象時(shí)的情形。被鑒權(quán)的該客戶機(jī)或任何其它客戶機(jī)可以設(shè)置與給定的數(shù)據(jù)流對(duì)象有關(guān)的丟失率。這個(gè)丟失率在控制消息中被發(fā)送到本地應(yīng)用路由器。如果丟失率被設(shè)置為數(shù)值0≤R≤1,則輸出過濾器將謹(jǐn)慎地刪除一部分(R)的數(shù)據(jù)流對(duì)象。例如如果R=0.9,只有到達(dá)的分組中的10%被允許傳送到客戶機(jī)。
輸出過濾器將刪除不需要被發(fā)送到客戶機(jī)的ATP標(biāo)題域。來自另一個(gè)客戶機(jī)的直接尋址的消息在標(biāo)題中包含應(yīng)用進(jìn)程識(shí)別符和正在接收的客戶機(jī)的客戶機(jī)識(shí)別符。這個(gè)信息對(duì)于正在接收的客戶機(jī)是沒有用的,因而被應(yīng)用路由器輸出過濾器刪除。
對(duì)于特定的節(jié)點(diǎn)(諸如客戶機(jī))的輸入過濾器接收ATP分組,這其中包含數(shù)據(jù)流對(duì)象、基本對(duì)象、控制消息和來自節(jié)點(diǎn)的直接尋址客戶機(jī)消息。在把ATP分組發(fā)送到路由核心之前,執(zhí)行以下的操作(1)輸入過濾器檢驗(yàn)客戶機(jī)是否被許可更新數(shù)據(jù)流對(duì)象或基本對(duì)象,或檢驗(yàn)發(fā)送客戶機(jī)是否被許可把直接尋址消息發(fā)送到那個(gè)在消息中被表示的客戶機(jī)。這個(gè)合法性檢驗(yàn)是通過使用鑒權(quán)表來執(zhí)行的,鑒權(quán)表表示客戶機(jī)被許可執(zhí)行哪種操作。鑒權(quán)表由客戶機(jī)或由LAS使用初始化文件通過站址管理器來建立。
(2)輸入過濾器把發(fā)送的客戶機(jī)的地址加到適當(dāng)?shù)腁TP域。這個(gè)地址不在正在發(fā)送的客戶機(jī)與應(yīng)用路由器之間的通信鏈路上進(jìn)行發(fā)送,以便節(jié)省帶寬。
(3)應(yīng)用路由器存儲(chǔ)客戶機(jī)組清單。這樣的清單把表示客戶機(jī)組的客戶機(jī)識(shí)別符與表示客戶機(jī)的客戶機(jī)識(shí)別符清單相聯(lián)系??蛻魴C(jī)組清單由客戶機(jī)或由LAS通過站址管理器來建立。如果在接收者地址域中帶有客戶機(jī)組的ATP分組被輸入過濾器接收,它將執(zhí)行以下的三個(gè)可替換的操作之一(A)找到屬于客戶機(jī)組的客戶機(jī)識(shí)別符清單。找到應(yīng)當(dāng)接收ATP分組的至少一個(gè)副本的應(yīng)用路由器的數(shù)目N。做出被放置在到每個(gè)正在接收的應(yīng)用路由器的輸出過濾器之中的ATP分組的N個(gè)副本。在ATP標(biāo)題中可以有這樣一個(gè)標(biāo)志,它表示該內(nèi)容不應(yīng)當(dāng)被分配給任何遠(yuǎn)端接收機(jī),而是只分配給本地客戶機(jī)。這個(gè)標(biāo)志被設(shè)置在每個(gè)輸出分組。這是優(yōu)選的工作模式。
(4)找到屬于客戶機(jī)組的客戶機(jī)識(shí)別符清單。找到那些應(yīng)當(dāng)接收ATP分組的至少一個(gè)副本的應(yīng)用路由器的數(shù)目N。做出被放置在到每個(gè)接收的應(yīng)用路由器的輸出過濾器中的ATP分組的N個(gè)副本。在每個(gè)分組中用正在接收的客戶機(jī)清單來代替客戶機(jī)組識(shí)別符,其中該清單只包括客戶機(jī)組的成員,它們對(duì)于正在接收的應(yīng)用路由器是本地客戶機(jī)。復(fù)制ATP分組,以使得在每個(gè)復(fù)制中客戶機(jī)組識(shí)別符被一個(gè)獨(dú)特的客戶機(jī)識(shí)別符所代替,這個(gè)客戶機(jī)識(shí)別符表示在與客戶機(jī)組有關(guān)的客戶機(jī)識(shí)別符清單中的一個(gè)客戶機(jī)。
(5)缺省的標(biāo)題被輸入過濾器存儲(chǔ)起來,以便用于與輸入過濾器有關(guān)的客戶機(jī)正在發(fā)送的每個(gè)數(shù)據(jù)流對(duì)象。這個(gè)缺省的標(biāo)題包含與數(shù)據(jù)流對(duì)象有關(guān)的數(shù)據(jù)流對(duì)象密鑰。如果客戶機(jī)發(fā)送一個(gè)包含數(shù)據(jù)流對(duì)象密鑰的明顯的標(biāo)題,這個(gè)標(biāo)題將代替被輸入過濾器存儲(chǔ)的缺省的標(biāo)題。如果客戶機(jī)發(fā)送不帶有包含數(shù)據(jù)流對(duì)象密鑰的標(biāo)題的數(shù)據(jù)流對(duì)象,則輸入過濾器在發(fā)送它到路由器核心之前把缺省標(biāo)題添加到數(shù)據(jù)流對(duì)象上。這意味著正在發(fā)送的客戶機(jī)不必對(duì)于數(shù)據(jù)流對(duì)象的每個(gè)副本發(fā)送數(shù)據(jù)流對(duì)象密鑰的一個(gè)副本。在每次密鑰改變時(shí)和數(shù)據(jù)流對(duì)象第一次被發(fā)送時(shí),發(fā)送包含數(shù)據(jù)流對(duì)象密鑰的標(biāo)題就足夠了。
常規(guī)ATP分組載送這樣一個(gè)內(nèi)容,該內(nèi)容是應(yīng)用對(duì)象(數(shù)據(jù)流對(duì)象或基本對(duì)象)、控制消息、或客戶機(jī)消息。復(fù)合的ATP分組包含可任選的小的復(fù)合標(biāo)題以及至少一個(gè)和通常是幾個(gè)常規(guī)ATP分組。復(fù)合ATP分組作為標(biāo)準(zhǔn)輸送協(xié)議中的有用負(fù)載被發(fā)送。通常復(fù)合ATP分組作為UDP分組中的有用負(fù)載被發(fā)送。
用于收集復(fù)合ATP分組中常規(guī)ATP分組的方法對(duì)于達(dá)到在帶寬效率與低的等待時(shí)間之間的正確的平衡是很重要的。大的復(fù)合ATP分組給出高的傳輸?shù)却龝r(shí)間和低的標(biāo)題附加開銷,從而給出的是有效的帶寬利用。在該系統(tǒng)的幾個(gè)模塊中把常規(guī)ATP分組聚集到復(fù)合ATP分組中。
對(duì)于在應(yīng)用客戶機(jī)中用于發(fā)送到本地應(yīng)用路由器的聚集,可以使用兩個(gè)替換的方法在第一方法中,聚集是在應(yīng)用程序的直接控制下進(jìn)行的。常規(guī)的ATP分組被發(fā)送到輸出緩存器。應(yīng)用程序判決緩存器的內(nèi)容何時(shí)被放置在復(fù)合ATP分組中以及被發(fā)送到本地應(yīng)用路由器。在第二方法中,聚集是通過客戶機(jī)處的自動(dòng)算法執(zhí)行的。常規(guī)的ATP分組由該應(yīng)用程序發(fā)送到輸出緩存器。算法判決緩存器的內(nèi)容何時(shí)被放置在復(fù)合ATP分組中以及被發(fā)送到本地應(yīng)用路由器。一種適當(dāng)?shù)乃惴ǖ睦邮侨绻彺嫫鞒叽绯^給定的尺寸S,則復(fù)合分組被發(fā)送。如果自從復(fù)合分組的上一次傳輸之后已超過了給定的時(shí)間間隔T,則復(fù)合分組被發(fā)送。參量S和T由應(yīng)用程序設(shè)置。
對(duì)于在應(yīng)用路由器中用于發(fā)送到客戶機(jī)的聚集,可以使用與第二方法相同的算法。
對(duì)于在應(yīng)用路由器中用于發(fā)送到應(yīng)用路由器的聚集,發(fā)送被下一個(gè)協(xié)議級(jí)別(例如UDP)許可的最大尺寸的ATP復(fù)合分組通常是效果很好的,因?yàn)樵趹?yīng)用路由器之間的通信鏈路可被假定為非常快速,因而常規(guī)分組很頻繁地被發(fā)送。
如果帶寬受限制或ATP分組不是頻繁地被發(fā)送,則對(duì)于應(yīng)用客戶機(jī)中的聚集,建議使用與前一節(jié)的方法2中相同的算法。
尺寸(以比特計(jì))應(yīng)當(dāng)被選擇為S<V*TO,其中V是在兩個(gè)應(yīng)用路由器之間的鏈路的通信速度,以每秒的比特?cái)?shù)計(jì),并且T0是允許的傳輸?shù)却龝r(shí)間,通常為1-10ms。時(shí)間間隔T應(yīng)當(dāng)是在1-10ms。
客戶機(jī)可以把對(duì)于基本對(duì)象的預(yù)約作為控制消息發(fā)送到本地應(yīng)用路由器。預(yù)約規(guī)定了正在接收的客戶機(jī)、預(yù)約的對(duì)象和預(yù)約參量。預(yù)約是要求應(yīng)用服務(wù)器發(fā)送一系列基本對(duì)象給接收客戶機(jī)的指令。每個(gè)基本對(duì)象的一系列更新按照預(yù)約的參量以及根據(jù)基本對(duì)象的源如何更新它而進(jìn)行發(fā)送。
發(fā)送預(yù)約的客戶機(jī)通常是正在接收的客戶機(jī),但客戶機(jī)也可以代表另一個(gè)客戶機(jī)進(jìn)行預(yù)約。在客戶機(jī)組中所有的客戶機(jī)然后就接收到預(yù)約的結(jié)果。
預(yù)約的目標(biāo)是按照ATP協(xié)議由對(duì)象識(shí)別符標(biāo)識(shí)的一組基本對(duì)象。該對(duì)象可以由以下識(shí)別符描述(1)對(duì)象識(shí)別符,(2)對(duì)象識(shí)別符的集合,(3)對(duì)象組識(shí)別符,(4)對(duì)象識(shí)別符與對(duì)象組識(shí)別符的混合的集合,(5)通用的布爾表示式,其中包括對(duì)象組和作為操作數(shù)的對(duì)象以及邏輯算子AND(與)、OR(或)和NOT(非)。正確地規(guī)定的目標(biāo)表示式由應(yīng)用服務(wù)器通過使用對(duì)象數(shù)據(jù)庫和對(duì)象組數(shù)據(jù)庫中的信息來進(jìn)行估值。這個(gè)估值的結(jié)果常常是一個(gè)有限的基本對(duì)象集合。
預(yù)約參量可被使用來規(guī)定預(yù)約的內(nèi)容將按怎樣的頻度傳遞、傳遞多少次和傳遞多長時(shí)間。這可以被規(guī)定為應(yīng)當(dāng)接收對(duì)象的更新版本所采取的最大速率。如果對(duì)象的擁有者以較慢的速率更新它,則每個(gè)新的版本在它一傳遞就被接收。如果對(duì)象以快于所選擇的最大速率被更新,則這些更新將精確地以所選擇的速率被接收。某些中間的版本在這種情形下將不被接收。
內(nèi)容服務(wù)器或主客戶機(jī)可能最好地知道游戲的狀態(tài)。所以,由主客戶機(jī)代表對(duì)象客戶機(jī)預(yù)約基本對(duì)象,可能是適合的。主客戶機(jī)然后建立預(yù)約并將其提交給系統(tǒng)。本地應(yīng)用接入服務(wù)器把在預(yù)約中請(qǐng)求的基本對(duì)象直接傳遞給對(duì)象客戶機(jī)或?qū)ο罂蛻魴C(jī)組。
預(yù)約屬于客戶機(jī)或客戶機(jī)組,預(yù)約是指一組游戲?qū)ο蟆_@組對(duì)象可被表示為包括對(duì)象組和對(duì)象在內(nèi)的通用布爾表示式。
應(yīng)用接入服務(wù)器單元(AAS)試圖以預(yù)約頻率傳遞對(duì)象。傳遞時(shí)間是預(yù)約頻率的倒數(shù)。在發(fā)出預(yù)約時(shí)存在于數(shù)據(jù)庫中的對(duì)象將在傳遞時(shí)間內(nèi)被傳遞。如果在預(yù)約有效的同時(shí)數(shù)據(jù)庫中的對(duì)象被修改,則AAS將嘗試在傳遞時(shí)間內(nèi)傳遞它。
預(yù)約類別是一個(gè)正整數(shù)。這里描述按照預(yù)約類別傳遞數(shù)據(jù)的兩個(gè)方法。
方法1具有最高類別的預(yù)約首先被完全滿足。接著,AAS將嘗試完全滿足在次最高類別中的預(yù)約。這意味著,在較低的類別這的預(yù)約可能決不被滿足。如果帶寬不夠因而不能用于以請(qǐng)求的頻率去傳遞預(yù)約類別內(nèi)的對(duì)象,則AAS將變換類別內(nèi)的所有頻率的比例,以使得變成為易于傳遞給客戶機(jī)。
方法2使用三種不同的類別。不同的類別被稱為1=高,2=中等,3=低。對(duì)于類別1,對(duì)象總是以最大速率被發(fā)送到預(yù)約用戶,直至緩存器充滿和速率降低到零為止。對(duì)于類別2,對(duì)象發(fā)送到預(yù)約用戶的速率正比于緩存器負(fù)載。緩存器容量越小,速率越低。對(duì)于類別3,對(duì)象只在緩存器中沒有其它對(duì)象時(shí)才被發(fā)送到預(yù)約用戶。
在一個(gè)特定的實(shí)施方案中,應(yīng)用對(duì)象分組可以包括幾個(gè)已列舉的有用負(fù)載。在這種情形下,預(yù)約具有任選的權(quán)因子參量。權(quán)因子參量是整數(shù)。權(quán)因子=n意味著在對(duì)象中的前n個(gè)有用負(fù)載被傳遞。
某些對(duì)象不是按常規(guī)時(shí)間間隔被更新,而是按精確的次數(shù)被更新。所以,有可能請(qǐng)求對(duì)于特定的對(duì)象的特定的更新次數(shù)。應(yīng)用服務(wù)器然后把與對(duì)象有關(guān)的計(jì)數(shù)值設(shè)置為在預(yù)約中所規(guī)定的一個(gè)整數(shù)值。每次對(duì)象被傳遞時(shí),計(jì)數(shù)值被遞減一個(gè)單位。如果計(jì)數(shù)值=0,預(yù)約被去除。
客戶機(jī)可以請(qǐng)求對(duì)象按請(qǐng)求的頻率來發(fā)送,即使以前已發(fā)送過同一個(gè)更新。這是通過設(shè)置“強(qiáng)制發(fā)送”FS標(biāo)志而完成的。
另外,為了防止與老的預(yù)約有關(guān)的信息使網(wǎng)絡(luò)過載,應(yīng)當(dāng)設(shè)置預(yù)約的存活時(shí)間或持續(xù)時(shí)間。在預(yù)約存活時(shí)間到期后,預(yù)約被去除。
數(shù)據(jù)流對(duì)象通過使用以下的一種方法在應(yīng)用路由器之間被分配方法(1),由一個(gè)應(yīng)用路由器接收的數(shù)據(jù)流對(duì)象被復(fù)制,以及被發(fā)送到那些參加應(yīng)用進(jìn)程的所有其它的應(yīng)用路由器。這可以通過把那些參與應(yīng)用進(jìn)程的所有的應(yīng)用路由器與IP多址傳播地址相聯(lián)系而有效地完成。
方法(2),每個(gè)應(yīng)用路由器從本地客戶機(jī)那里接收對(duì)于數(shù)據(jù)流對(duì)象和數(shù)據(jù)流對(duì)象密鑰的一組預(yù)約。所有這樣的預(yù)約被聚集到一個(gè)包括那些被本地客戶機(jī)預(yù)定的所有數(shù)據(jù)流對(duì)象和數(shù)據(jù)流對(duì)象密鑰的聯(lián)合預(yù)約,而不用作任何復(fù)制。數(shù)據(jù)流對(duì)象(但不是由本地客戶機(jī)產(chǎn)生的數(shù)據(jù)流對(duì)象密鑰)將從集中的預(yù)約中被去除。聚集的預(yù)約被發(fā)送到所有其它的應(yīng)用路由器。一個(gè)可接收來自另一個(gè)應(yīng)用路由器的聚集的預(yù)約、和發(fā)現(xiàn)在聚集的預(yù)約中任何數(shù)據(jù)流對(duì)象和數(shù)據(jù)流對(duì)象密鑰的來源是在本地客戶機(jī)中間的應(yīng)用路由器將把該部分預(yù)約發(fā)送到預(yù)約的應(yīng)用路由器。
方法(3),每個(gè)應(yīng)用路由器準(zhǔn)備一個(gè)像方法2那樣的聚集的預(yù)約組。聚集的預(yù)約被發(fā)送到一個(gè)已被站址管理器分配的母應(yīng)用路由器。母應(yīng)用路由器把可提供的聚集預(yù)約子組傳遞到第一母應(yīng)用路由器,該子組包括被發(fā)送到已被分配的母應(yīng)用路由器的、它自己的聚集的預(yù)約中的剩余部分。這假定管理系統(tǒng)已組構(gòu)了一個(gè)用于應(yīng)用進(jìn)程的應(yīng)用路由器的分級(jí)結(jié)構(gòu)。
基本對(duì)象被分布在應(yīng)用服務(wù)器之間。應(yīng)用服務(wù)器總是通過它的相關(guān)的本地應(yīng)用路由器之一而達(dá)到。當(dāng)應(yīng)用服務(wù)器發(fā)送基本對(duì)象到另一個(gè)應(yīng)用服務(wù)器時(shí),第一應(yīng)用服務(wù)器總是把帶有在ATP分組的接收者地址域中的第二應(yīng)用服務(wù)器的識(shí)別符的基本對(duì)象發(fā)送到一個(gè)本地應(yīng)用路由器。這個(gè)應(yīng)用路由器將會(huì)把對(duì)象發(fā)送到第二應(yīng)用服務(wù)器的本地應(yīng)用路由器。第二應(yīng)用服務(wù)器的本地應(yīng)用路由器把對(duì)象發(fā)送到第二應(yīng)用服務(wù)器。
基本對(duì)象通過使用以下的一種方法在應(yīng)用服務(wù)器之間進(jìn)行分配方法(1),由一個(gè)應(yīng)用服務(wù)器接收到的基本對(duì)象將被復(fù)制以及被發(fā)送到參與應(yīng)用進(jìn)程的所有其它的應(yīng)用服務(wù)器。這可以任選地通過把參與應(yīng)用進(jìn)程的每個(gè)應(yīng)用服務(wù)器與IP多址傳播地址相聯(lián)系而有效地完成。
方法(2),每個(gè)應(yīng)用服務(wù)器從本地客戶機(jī)處接收對(duì)于基本對(duì)象的一組預(yù)約。所有這樣的預(yù)約被聚集到一個(gè)包括本地客戶機(jī)預(yù)定的所有基本對(duì)象的聯(lián)合預(yù)約,而不需要任何預(yù)約參量。由本地客戶機(jī)產(chǎn)生的基本對(duì)象從聚集的預(yù)約中被去除。聚集的預(yù)約被發(fā)送到所有其它的應(yīng)用服務(wù)器。接收來自另一個(gè)應(yīng)用服務(wù)器的聚集的預(yù)約、和發(fā)現(xiàn)在聚集的預(yù)約中任何基本對(duì)象的來源是處在本地客戶機(jī)之中的應(yīng)用路由器將把這樣的對(duì)象立即發(fā)送到預(yù)約的應(yīng)用服務(wù)器以及存儲(chǔ)該預(yù)約的相關(guān)的部分。相關(guān)的對(duì)象的任何進(jìn)一步的更新也將立即被發(fā)送到預(yù)約的應(yīng)用服務(wù)器。
方法(3),每個(gè)應(yīng)用服務(wù)器準(zhǔn)備一個(gè)像方法2那樣的聚集的預(yù)約組。聚集的預(yù)約被發(fā)送到一個(gè)已被站址管理器分配的母應(yīng)用服務(wù)器。母應(yīng)用路由器把可提供的聚集的預(yù)約子組傳遞到第一母應(yīng)用服務(wù)器,該子組包括被發(fā)送到已被分配的母應(yīng)用服務(wù)器的、它自己的聚集的預(yù)約中的其余部分。這里假定管理系統(tǒng)已經(jīng)組構(gòu)了用于應(yīng)用進(jìn)程的應(yīng)用服務(wù)器的分級(jí)結(jié)構(gòu)。
那些需要被分配在參與進(jìn)程的所有的應(yīng)用接入服務(wù)器之中的控制數(shù)據(jù)包括例如客戶機(jī)參加和離開以及創(chuàng)建和破壞客戶機(jī)組。這樣的控制數(shù)據(jù)應(yīng)當(dāng)被多址傳播到在進(jìn)程中的所有應(yīng)用路由器。應(yīng)用路由器將終結(jié)控制消息,或者把它轉(zhuǎn)發(fā)到本地應(yīng)用服務(wù)器或站址管理器(如有需要的話)。
某些客戶機(jī)可以作為監(jiān)視者被登錄到應(yīng)用接入服務(wù)器。監(jiān)視者不被許可上載應(yīng)用動(dòng)作,但他們可上載取決于監(jiān)視者在游戲中的觀點(diǎn)的預(yù)約。
按照本發(fā)明的應(yīng)用接入服務(wù)器也可被使用于分級(jí)結(jié)構(gòu)系統(tǒng)。圖8顯示這樣的結(jié)構(gòu)的例子,其中較高級(jí)別的應(yīng)用接入服務(wù)器201服務(wù)于其它應(yīng)用接入服務(wù)器單元203、205、207,后者又服務(wù)于應(yīng)用客戶機(jī)209。較高級(jí)別的應(yīng)用接入服務(wù)器201從被認(rèn)為是“客戶機(jī)”的下游應(yīng)用接入服務(wù)器單元處接收帶有游戲數(shù)據(jù)和聚集的預(yù)約的ATP分組。較高級(jí)別的應(yīng)用接入服務(wù)器單元201與其它同級(jí)應(yīng)用接入服務(wù)器單元通信,以及在可能情況下與處在分級(jí)結(jié)構(gòu)中更高級(jí)別的應(yīng)用接入服務(wù)器單元通信。分級(jí)結(jié)構(gòu)應(yīng)用接入服務(wù)器系統(tǒng)被使用來創(chuàng)建游戲狀態(tài)的分級(jí)結(jié)構(gòu)分布的代表物,以用于涉及數(shù)目很大的客戶機(jī)的應(yīng)用。
遠(yuǎn)端應(yīng)用接入服務(wù)器單元可被組織成一個(gè)多址傳播樹形結(jié)構(gòu),在這種情形中,每個(gè)多址傳播組有一個(gè)分類緩存器??梢允褂靡环N其中所有的信息被發(fā)送到所有的遠(yuǎn)端應(yīng)用接入服務(wù)器單元的簡(jiǎn)單分配策略。在這種情況下,只有一個(gè)緩存器。
應(yīng)用客戶機(jī)組可以具有提供低的等待時(shí)間接入的寬帶連接,這樣,不需要任何應(yīng)用接入服務(wù)器。典型的例子是所有的游戲者處在同一個(gè)LAN中。如果游戲應(yīng)用和API仍舊期望一個(gè)應(yīng)用接入服務(wù)器,則有可能以軟件形式在客戶機(jī)的機(jī)器上運(yùn)行應(yīng)用接入服務(wù)器功能。
應(yīng)用接入服務(wù)器單元也可以位于網(wǎng)絡(luò)中的任何中間的位置。這意味著,在客戶機(jī)與應(yīng)用接入服務(wù)器之間的“鏈路”協(xié)議可任選地是UDP/IP或TCP/IP。替換地,運(yùn)行撥號(hào)游戲業(yè)務(wù)的中央游戲服務(wù)器可以把應(yīng)用接入服務(wù)器單元作為部件使用。中央站址然后包含一組調(diào)制解調(diào)器庫,后者被連接到應(yīng)用接入服務(wù)器單元和應(yīng)用接待廳服務(wù)器。這將是用于構(gòu)建中央站址的有效而且可縮放的結(jié)構(gòu),但它將不具有早期聚集游戲業(yè)務(wù)量的優(yōu)點(diǎn)。
權(quán)利要求
1.在通信網(wǎng)中使用的服務(wù)器單元,所述服務(wù)器單元包括接收裝置,用于接收來自至少第一節(jié)點(diǎn)的信息,每個(gè)第一節(jié)點(diǎn)被表示為第一客戶機(jī)單元,所述信息包括至少一部分有關(guān)分布互動(dòng)應(yīng)用的狀態(tài)信息,所述服務(wù)器單元的特征在于,它包括-狀態(tài)信息存儲(chǔ)裝置,用于存儲(chǔ)被包括在通過接收裝置從所述第一節(jié)點(diǎn)接收的信息中的應(yīng)用狀態(tài)信息,-第一發(fā)送裝置,用于把來自狀態(tài)信息存儲(chǔ)裝置的至少一部分信息發(fā)送到網(wǎng)絡(luò)中的至少一個(gè)第二節(jié)點(diǎn),-第二發(fā)送裝置,用于把被存儲(chǔ)在所述狀態(tài)信息存儲(chǔ)裝置中的至少一部分信息發(fā)送到所述至少第一節(jié)點(diǎn)。
2.按照權(quán)利要求1的服務(wù)器單元,還包括客戶機(jī)優(yōu)先級(jí)清單,用于存儲(chǔ)通過接收裝置從所述至少一個(gè)第一節(jié)點(diǎn)接收的優(yōu)先級(jí)信息,所述優(yōu)先級(jí)信息標(biāo)識(shí)分布互動(dòng)應(yīng)用的對(duì)象,有關(guān)這些對(duì)象的信息是所述第一節(jié)點(diǎn)處的第一客戶機(jī)希望接收的,以及標(biāo)識(shí)第一節(jié)點(diǎn)希望接收這些對(duì)象的優(yōu)選的次序,第二發(fā)送裝置用來根據(jù)從該第一節(jié)點(diǎn)接收的優(yōu)先級(jí)信息發(fā)送來自所述狀態(tài)信息存儲(chǔ)裝置的信息到所述至少一個(gè)客戶機(jī)單元。
3.按照權(quán)利要求1的服務(wù)器單元,還包括一個(gè)預(yù)約清單,用于存儲(chǔ)通過接收裝置從所述至少一個(gè)第一節(jié)點(diǎn)接收的預(yù)約信息,所述預(yù)約信息標(biāo)識(shí)在第一節(jié)點(diǎn)中要以怎樣的頻度來接收有關(guān)某個(gè)對(duì)象的信息。
4.按照權(quán)利要求1或3的服務(wù)器單元,還包括一個(gè)預(yù)約清單,用于存儲(chǔ)通過接收裝置從所述至少一個(gè)第一節(jié)點(diǎn)接收的預(yù)約信息,所述預(yù)約信息標(biāo)識(shí)在第一節(jié)點(diǎn)中要接收有關(guān)某個(gè)對(duì)象的信息的次數(shù)。
5.按照前述的權(quán)利要求的任一項(xiàng)的服務(wù)器單元,其中接收裝置用來至少從被表示為一個(gè)客戶機(jī)節(jié)點(diǎn)的第三節(jié)點(diǎn)接收有關(guān)所述第一節(jié)點(diǎn)的優(yōu)先級(jí)信息,以及根據(jù)所述緊急信息轉(zhuǎn)發(fā)或不轉(zhuǎn)發(fā)在所述第三節(jié)點(diǎn)發(fā)起的應(yīng)用狀態(tài)信息到至少所述第一節(jié)點(diǎn)。
6.按照前述的權(quán)利要求的任一項(xiàng)的服務(wù)器單元,其中接收裝置用來從至少第三節(jié)點(diǎn)接收有關(guān)所述第一節(jié)點(diǎn)的優(yōu)先級(jí)信息,以及把優(yōu)先級(jí)信息通知所述第一節(jié)點(diǎn)。
7.按照前述的權(quán)利要求的任一項(xiàng)的服務(wù)器單元,其中狀態(tài)信息存儲(chǔ)裝置用來在預(yù)定的時(shí)間間隔后丟棄存儲(chǔ)的狀態(tài)信息。
8.按照前述的權(quán)利要求的任一項(xiàng)的服務(wù)器單元,其中發(fā)送到所述至少第一節(jié)點(diǎn)的信息是從至少一個(gè)其它節(jié)點(diǎn)接收的狀態(tài)信息。
9.按照前述的權(quán)利要求的任一項(xiàng)的服務(wù)器單元,其中所述狀態(tài)信息存儲(chǔ)裝置用來存儲(chǔ)有關(guān)對(duì)象的性質(zhì)的應(yīng)用狀態(tài)信息,所述對(duì)象構(gòu)成應(yīng)用狀態(tài)。
10.按照權(quán)利要求9的服務(wù)器單元,其中所述狀態(tài)信息存儲(chǔ)裝置用來存儲(chǔ)描述在給定的時(shí)間時(shí)的對(duì)象的狀態(tài)的參考分組或數(shù)據(jù)報(bào)。
11.按照權(quán)利要求10的服務(wù)器單元,其中所述狀態(tài)信息存儲(chǔ)裝置用來存儲(chǔ)描述自從特定的先前的分組以來對(duì)象狀態(tài)的改變的增量分組,以及標(biāo)識(shí)所述先前的分組的信息。
12.按照前述的權(quán)利要求的任一項(xiàng)的服務(wù)器單元,還包括登錄裝置,用于登錄對(duì)于所述至少一個(gè)第一節(jié)點(diǎn)的鑒權(quán)信息,所述鑒權(quán)信息標(biāo)識(shí)所述第一節(jié)點(diǎn)被許可改變的應(yīng)用狀態(tài)對(duì)象。
13.按照前述的權(quán)利要求的任一項(xiàng)的服務(wù)器單元,包括至少一個(gè)應(yīng)用路由器,它包括第一和第二發(fā)送裝置和接收裝置,應(yīng)用服務(wù)器,包括信息存儲(chǔ)裝置。
14.按照權(quán)利要求13的服務(wù)器單元,其中應(yīng)用服務(wù)器和所述至少一個(gè)應(yīng)用路由器被實(shí)施為分開的硬件單元。
15.按照權(quán)利要求13的服務(wù)器單元,其中應(yīng)用服務(wù)器和所述至少一個(gè)應(yīng)用路由器用軟件實(shí)施,所述軟件分別與應(yīng)用服務(wù)器和至少一個(gè)應(yīng)用路由器有關(guān)的軟件,具有保留計(jì)算資源。
16.按照權(quán)利要求13-15的任一項(xiàng)的服務(wù)器單元,其中應(yīng)用路由器用來接收數(shù)據(jù)流對(duì)象和將其發(fā)送到至少一個(gè)其它應(yīng)用接入服務(wù)器。
17.按照權(quán)利要求14的服務(wù)器單元,其中應(yīng)用路由器被安排來數(shù)據(jù)流對(duì)象廣播到通信進(jìn)程中涉及的所有其它應(yīng)用接入服務(wù)器。
18.按照權(quán)利要求13-17的任一項(xiàng)的服務(wù)器單元,其中應(yīng)用路由器被安排來接收基本對(duì)象和把它轉(zhuǎn)發(fā)到至少一個(gè)應(yīng)用服務(wù)器,以便貯存在應(yīng)用服務(wù)器的數(shù)據(jù)庫中,以及從應(yīng)用服務(wù)器接收有關(guān)基本對(duì)象的已尋址的數(shù)據(jù)分組和把它轉(zhuǎn)發(fā)到客戶機(jī)和/或至少一個(gè)其它的應(yīng)用服務(wù)器。
19.按照權(quán)利要求13-18的任一項(xiàng)的服務(wù)器單元,其中應(yīng)用路由器被安排來從應(yīng)用服務(wù)器接收控制信息和把它轉(zhuǎn)發(fā)到客戶機(jī)和/或至少一個(gè)其它服務(wù)器單元和/或站址管理器。
20.在通信網(wǎng)中的終端中使用的客戶機(jī)單元,包括用于分布互動(dòng)應(yīng)用的應(yīng)用軟件,所述客戶機(jī)單元的特征在于,它包括-至少一個(gè)輸入裝置,用于讀出來自所述終端的輸入,所述輸入構(gòu)成用于分布互動(dòng)應(yīng)用的至少的應(yīng)用狀態(tài)信息,-發(fā)送裝置,用于把應(yīng)用狀態(tài)信息發(fā)送到通信網(wǎng)中的應(yīng)用接入服務(wù)器,-接收裝置,用于從所述應(yīng)用接入服務(wù)器接收對(duì)于分布互動(dòng)應(yīng)用的至少的應(yīng)用狀態(tài)信息,-用于顯示由所述接收裝置接收的所述狀態(tài)信息的裝置。
21.按照權(quán)利要求20的客戶機(jī)單元,還包括優(yōu)先級(jí)設(shè)置裝置,用于設(shè)置優(yōu)先級(jí)信息,以便規(guī)定其可提供的信息應(yīng)當(dāng)盡可能快地被接收的至少一個(gè)其它應(yīng)用狀態(tài)對(duì)象,以及發(fā)送裝置,用于把來自所述優(yōu)先級(jí)設(shè)置裝置的所述優(yōu)先級(jí)信息發(fā)送到所述應(yīng)用接入服務(wù)器。
22.按照權(quán)利要求20或21的客戶機(jī)單元,還包括優(yōu)先級(jí)數(shù)據(jù)裝置,用于設(shè)置優(yōu)先級(jí)數(shù)據(jù),以便規(guī)定應(yīng)當(dāng)盡可能快地從客戶機(jī)接收狀態(tài)信息的至少一個(gè)其它節(jié)點(diǎn)。
23.按照權(quán)利要求20-22的任一項(xiàng)的客戶機(jī)單元,其中用于發(fā)送應(yīng)用狀態(tài)信息的所述發(fā)送裝置被用來在把分組發(fā)送到接入服務(wù)器之前安排在應(yīng)用對(duì)象分組中的信息,每個(gè)分組與應(yīng)用的一個(gè)對(duì)象組成部分有關(guān),以及所述接收裝置用來從接入服務(wù)器接收的分組中提取有關(guān)應(yīng)用對(duì)象的信息。
24.一種通信網(wǎng),其特征在于它包括按照權(quán)利要求1-19的任一項(xiàng)的至少一個(gè)服務(wù)器單元。
25.按照權(quán)利要求24的通信網(wǎng),還包括按照權(quán)利要求20到23的任一項(xiàng)的至少一個(gè)客戶機(jī)單元。
26.按照權(quán)利要求24-25的任一項(xiàng)的通信網(wǎng),還包括至少第二應(yīng)用接入服務(wù)器和連接所述第一與第二應(yīng)用接入服務(wù)器的連接裝置,其中通信資源可以被保留在所述連接裝置。
27.按照權(quán)利要求24-26的任一項(xiàng)的通信網(wǎng),還包括至少第三應(yīng)用接入服務(wù)器,它與所述第一應(yīng)用接入服務(wù)器通信但不與所述第二應(yīng)用接入服務(wù)器通信,從而使得在網(wǎng)絡(luò)中實(shí)現(xiàn)應(yīng)用接入服務(wù)器的分級(jí)結(jié)構(gòu)。
28.按照權(quán)利要求24-27的任一項(xiàng)的通信網(wǎng),還包括至少一個(gè)站址管理器,它被安排來控制至少一個(gè)應(yīng)用接入服務(wù)器。
29.按照權(quán)利要求28的通信網(wǎng),還包括接待廳接入服務(wù)器,它被安排來構(gòu)成在至少一個(gè)應(yīng)用接待廳服務(wù)器與至少一個(gè)站址管理器之間的接口。
全文摘要
借助于服務(wù)器單元可以改進(jìn)在通信網(wǎng)中的實(shí)時(shí)性能,特別是在大量參加者之間的通信,該服務(wù)器單元包括接收裝置,用于接收來自至少一個(gè)客戶機(jī)單元的信息,所述信息包括至少一部分有關(guān)分布互動(dòng)應(yīng)用的狀態(tài)信息,所述服務(wù)器單元包括:狀態(tài)信息存儲(chǔ)裝置,用于存儲(chǔ)從至少一個(gè)所述客戶機(jī)單元接收的應(yīng)用狀態(tài)信息,發(fā)送裝置,用于把從所述客戶機(jī)單元接收的狀態(tài)信息轉(zhuǎn)發(fā)到網(wǎng)絡(luò)中的至少一個(gè)其它的節(jié)點(diǎn),以及用于把被存儲(chǔ)在所述狀態(tài)信息存儲(chǔ)裝置中的至少一部分信息發(fā)送到所述至少一個(gè)客戶機(jī)單元。這樣,該應(yīng)用的整個(gè)狀態(tài)被保持在網(wǎng)絡(luò)中的一個(gè)或多個(gè)單元中,它去除每個(gè)客戶機(jī)存儲(chǔ)整個(gè)狀態(tài)的需要,由此減小每個(gè)客戶機(jī)處的存儲(chǔ)器和帶寬的需要。
文檔編號(hào)H04L12/56GK1350677SQ0080738
公開日2002年5月22日 申請(qǐng)日期2000年5月10日 優(yōu)先權(quán)日1999年5月10日
發(fā)明者T·布蘭德特, P·海格布拉德, J·榮松, M·延德爾, K·卡爾松, R·卡爾松, E·盧恩貝里, S·奧斯博尼, M·斯滕霍夫 申請(qǐng)人:艾利森電話股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
富源县| 临城县| 崇义县| 莱芜市| 仙游县| 察隅县| 砀山县| 旺苍县| 衡山县| 石棉县| 攀枝花市| 突泉县| 山阴县| 昌江| 湘西| 长宁区| 乌鲁木齐市| 康平县| 万州区| 二连浩特市| 修水县| 云和县| 英吉沙县| 错那县| 铁力市| 保亭| 淮北市| 霍林郭勒市| 积石山| 普洱| 拉孜县| 新郑市| 凤庆县| 河南省| 天等县| 朝阳市| 淮北市| 崇明县| 奉贤区| 博兴县| 阿坝县|