專利名稱:借助自動通信端口選擇的配置控制以及借助交換通信端口的交換配置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及計算機(jī)網(wǎng)絡(luò),尤其涉及一種多用戶軟件應(yīng)用。
背景技術(shù):
諸如局域網(wǎng)和互聯(lián)網(wǎng)的計算機(jī)網(wǎng)絡(luò)正被日益用作用戶之間的各種交易與相互作用的骨干。從其中銀行客戶可在計算機(jī)網(wǎng)絡(luò)上啟動金融交易的網(wǎng)上銀行到其中玩家可經(jīng)由互聯(lián)網(wǎng)參與不同游戲的在線游戲,業(yè)務(wù)提供商正日益通過計算機(jī)網(wǎng)絡(luò)提供各種業(yè)務(wù)。當(dāng)前存在多種不同的便利現(xiàn)有交易和相互作用的計算機(jī)網(wǎng)絡(luò)配置。
一種配置是經(jīng)典的客戶機(jī)-服務(wù)器配置,如圖1所示。在這種配置中,專用服務(wù)器計算機(jī)110經(jīng)由網(wǎng)絡(luò),例如通過互聯(lián)網(wǎng)通信鏈接到一個或多個客戶機(jī)計算機(jī)120。所述網(wǎng)絡(luò)由連接箭頭表示??蛻魴C(jī)計算機(jī)120向服務(wù)器計算機(jī)110發(fā)出業(yè)務(wù)請求,服務(wù)器計算機(jī)110通過將數(shù)據(jù)經(jīng)由網(wǎng)絡(luò)傳送到請求客戶機(jī)計算機(jī)120來執(zhí)行所述請求。所述服務(wù)器計算機(jī)110可連接至數(shù)據(jù)存儲設(shè)備或是其它便利客戶機(jī)與服務(wù)器計算機(jī)之間的事務(wù)的計算機(jī)設(shè)備。所述客戶機(jī)-服務(wù)器配置的一個特征是客戶機(jī)計算機(jī)無法直接相互通信,因為客戶機(jī)計算機(jī)被限制為與服務(wù)器計算機(jī)通信。
例如,當(dāng)在在線游戲環(huán)境中操作客戶機(jī)-服務(wù)器配置時,服務(wù)器計算機(jī)110負(fù)責(zé)維持與在線游戲相關(guān)的各種狀態(tài)。所述服務(wù)器計算機(jī)可連接至其它計算機(jī),例如維持游戲的一個或多個實例的存儲器引擎140,同時服務(wù)器計算機(jī)110管理諸如玩家匹配以及賬戶管理的管理事務(wù)??蛻魴C(jī)計算機(jī)120上的游戲玩家可登記或登陸到服務(wù)器計算機(jī)110,并接收可用游戲和參與玩家的列表。所述玩家選擇開始或加入的游戲,從而識別該玩家的計算機(jī)與其建立客戶機(jī)-服務(wù)器連接的存儲器引擎。這樣,所述服務(wù)器計算機(jī)110和存儲器引擎140共同管理一個或多個客戶機(jī)計算機(jī)120的游戲環(huán)境。
另一種配置被稱為集成服務(wù)器配置,如圖2所示。這種配置包括專用服務(wù)器計算機(jī)110和一個或多個客戶機(jī)計算機(jī)120,每個所述客戶機(jī)計算機(jī)都經(jīng)由計算機(jī)網(wǎng)絡(luò)連接至所述服務(wù)器計算機(jī)110。如先前所述配置,服務(wù)器計算機(jī)110將數(shù)據(jù)提供給客戶機(jī)計算機(jī)120。但是,所述客戶機(jī)計算機(jī)中的一個充當(dāng)集成服務(wù)器,例如客戶機(jī)計算機(jī)120a,因為所述客戶機(jī)計算機(jī)120a可將數(shù)據(jù)提供給其它客戶機(jī)計算機(jī)120。在在線游戲環(huán)境中,服務(wù)器計算機(jī)110可執(zhí)行諸如玩家匹配、賬戶管理以及聊天室管理的管理功能,而客戶機(jī)計算機(jī)/集成服務(wù)器120a可執(zhí)行上述存儲器引擎的功能。這減少了否則必須由游戲提供商提供的計算資源。
在另一種通信配置中,各個計算機(jī)被設(shè)置在對等配置內(nèi),如圖3所示。在對等網(wǎng)絡(luò)配置中,每個計算機(jī)可相互通信,從而使得所有網(wǎng)絡(luò)計算機(jī)充當(dāng)“同位體”。在一種形式的對等配置中,專用服務(wù)器110經(jīng)由網(wǎng)絡(luò)通信地連接至多個客戶機(jī)計算機(jī)120。在線會話最初由每個連接至諸如服務(wù)器計算機(jī)110的管理計算機(jī)的客戶機(jī)計算機(jī)120建立。所述客戶機(jī)計算機(jī)120然后相互通信連接,從而使得每個所述客戶機(jī)計算機(jī)120都能夠?qū)?shù)據(jù)提供給其它任何客戶機(jī)計算機(jī)120以及從其它客戶機(jī)計算機(jī)120接收數(shù)據(jù)。此外,每個客戶機(jī)計算機(jī)120可通過與專用服務(wù)器110成客戶機(jī)-服務(wù)器關(guān)系來操作。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,除了上述配置以外還存在其它通信配置。
上述不同配置使得計算機(jī)用戶能夠經(jīng)由計算機(jī)網(wǎng)絡(luò)相互作用,例如在其中游戲玩家可經(jīng)由計算機(jī)網(wǎng)絡(luò)進(jìn)行計算機(jī)游戲的在線游戲環(huán)境內(nèi)。在這種情況下,通常至少一個計算機(jī)充當(dāng)管理游戲各個方面的游戲管理員,例如協(xié)調(diào)玩家數(shù)量、跟蹤游戲狀態(tài)、將關(guān)于游戲狀態(tài)的更新發(fā)送到用戶。如果管理這些方面的計算機(jī)將要離開在線會話,則游戲的其他參與者的游戲環(huán)境可能會立即消失。這將會立即停止游戲。
一般而言,在游戲管理員計算機(jī)離開在線游戲會話的情況下,必需重新配置通信環(huán)境,從而使得剩下的參與者將經(jīng)由正確的媒介通信,例如通過與所述退出會話的游戲管理員不同的計算機(jī)。不幸的是,這種改變可能會對游戲環(huán)境造成阻礙和損害。
鑒于以上所述,需要一種可成功管理用戶之間的通信配置內(nèi)的改變的在線多用戶應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明涉及一種在多用戶環(huán)境和不同網(wǎng)絡(luò)通信配置內(nèi)操作的網(wǎng)絡(luò)應(yīng)用。所述應(yīng)用控制網(wǎng)絡(luò)計算機(jī)的通信端口以及相關(guān)通信協(xié)議的選擇,所述網(wǎng)絡(luò)計算機(jī)參與多用戶應(yīng)用的在線會話。在所述應(yīng)用的在線會話期間內(nèi),當(dāng)所述應(yīng)用在網(wǎng)絡(luò)計算機(jī)上執(zhí)行時,所述應(yīng)用打開所述計算機(jī)的多個通信端口,所述應(yīng)用通過這些端口可將通信信號發(fā)送到其它正參與在線會話的計算機(jī)。所述網(wǎng)絡(luò)計算內(nèi)的應(yīng)用然后使每個開放的通信端口與一個通信協(xié)議相關(guān),從而使得所述應(yīng)用發(fā)送和接收的通信信號將會符合所述通信端口的相關(guān)協(xié)議。網(wǎng)絡(luò)應(yīng)用然后指定通過其將發(fā)送并接收通信信號的有效通信端口。通信信號由網(wǎng)絡(luò)計算機(jī)內(nèi)的應(yīng)用發(fā)送到其它正參與在線會話的計算機(jī),以識別計算機(jī)網(wǎng)絡(luò)的有效通信端口和相關(guān)協(xié)議。
在所述在線會話期間內(nèi),所述網(wǎng)絡(luò)計算機(jī)可從其它參與在線會話的計算機(jī)接收配置改變消息。如果所述配置改變消息指示所述在線會話的通信配置已經(jīng)改變,則所述網(wǎng)絡(luò)計算機(jī)通過基于新接收的在線會話的通信配置指定新有效通信端口來響應(yīng)所述配置改變。所述網(wǎng)絡(luò)計算機(jī)還可確定何時這種改變是恰當(dāng)?shù)牟⒖蓡铀雠渲酶淖儭?br>
以下優(yōu)選實施例借助實例示出了本發(fā)明的原理,本發(fā)明的其它特征與優(yōu)點將從中顯而易見。
本發(fā)明的對象、優(yōu)點和特征將從以下與附圖結(jié)合閱讀的細(xì)節(jié)描述中輕易得到理解,在附圖中圖1示出了在客戶機(jī)-服務(wù)器網(wǎng)絡(luò)通信配置內(nèi)設(shè)置的計算機(jī)網(wǎng)絡(luò)。
圖2示出了在集成網(wǎng)絡(luò)通信服務(wù)器配置內(nèi)設(shè)置的計算機(jī)網(wǎng)絡(luò)。
圖3示出了在對等網(wǎng)絡(luò)通信配置內(nèi)設(shè)置的計算機(jī)網(wǎng)絡(luò)。
圖4示出了在其上運行根據(jù)本發(fā)明配置的多用戶應(yīng)用的計算機(jī)網(wǎng)絡(luò)系統(tǒng)。
圖5示出了數(shù)據(jù)結(jié)構(gòu),其包括如圖4所示配置的多用戶應(yīng)用的計算機(jī)索引以及會話主控信息。
圖6示出了其中多用戶應(yīng)用被設(shè)置在第一種通信配置內(nèi)的計算機(jī)網(wǎng)絡(luò)系統(tǒng),其中服務(wù)器計算機(jī)或客戶機(jī)計算機(jī)被指定為會話主控。
圖7示出了其中多用戶應(yīng)用被設(shè)置在另一種通信配置內(nèi)的計算機(jī)網(wǎng)絡(luò)系統(tǒng),其中多個客戶機(jī)計算機(jī)被指定為會話主控。
圖8是說明管理多用戶應(yīng)用的在線會話參與者退出的過程的流程圖。
圖9是說明與建立在線會話的多用戶應(yīng)用相關(guān)的操作步驟的流程圖。
圖10是圖4所示網(wǎng)絡(luò)內(nèi)的計算機(jī)的方框圖,示出了硬件部分。
圖11是圖4所示網(wǎng)絡(luò)內(nèi)的計算機(jī)娛樂系統(tǒng)的方框圖,示出了硬件部分。
具體實施例方式
圖4是計算機(jī)網(wǎng)絡(luò)系統(tǒng)400的方框圖,其由包括一個或多個客戶機(jī)計算機(jī)410、412的一個或多個網(wǎng)絡(luò)設(shè)備以及一個或多個為計算機(jī)專用服務(wù)器計算機(jī)420、422組成,它們是計算機(jī)網(wǎng)絡(luò)430的節(jié)點。因此,一些網(wǎng)絡(luò)計算機(jī)被配置為服務(wù)器,一些被配置為客戶機(jī)。所述計算機(jī)網(wǎng)絡(luò)430包括諸如互聯(lián)網(wǎng)的互連網(wǎng)絡(luò)的集合,并包括每個節(jié)點410、412、420、422處的一個或多個局域網(wǎng)。術(shù)語“互聯(lián)網(wǎng)”在本文是指標(biāo)準(zhǔn)通信協(xié)議組鏈接在一起以形成全球分布式網(wǎng)絡(luò)的互連(公用和/或?qū)S?網(wǎng)絡(luò)的集合。
所述客戶機(jī)計算機(jī)410、412可經(jīng)由網(wǎng)絡(luò)430將對數(shù)據(jù)的請求傳送到所述服務(wù)器計算機(jī)420、422中的一個,所述服務(wù)器計算機(jī)以眾所周知的方式被配置為將數(shù)據(jù)經(jīng)由網(wǎng)絡(luò)430提供給客戶機(jī)計算機(jī)。如本領(lǐng)域技術(shù)人員所知,所述服務(wù)器計算機(jī)420、422可相互包括并包括其它諸如數(shù)據(jù)基本服務(wù)器和/或應(yīng)用服務(wù)器的服務(wù)器,或是相互鏈接并鏈接到所述其它服務(wù)器。盡管圖4僅示出了兩個客戶機(jī)計算機(jī)410、412和兩個服務(wù)器計算機(jī)420、422,但應(yīng)當(dāng)理解所述網(wǎng)絡(luò)系統(tǒng)400可包括任意數(shù)量的客戶機(jī)計算機(jī)410、420和服務(wù)器計算機(jī)420、422。在本文中所述服務(wù)器計算機(jī)420、422和客戶機(jī)計算機(jī)410、412有時被共同稱為網(wǎng)絡(luò)計算機(jī)。
所述網(wǎng)絡(luò)系統(tǒng)400支持包括計算機(jī)程序的多用戶應(yīng)用440,多個用戶可借助所述計算機(jī)程序使用鏈接到計算機(jī)網(wǎng)絡(luò)430的網(wǎng)絡(luò)設(shè)備(例如客戶機(jī)計算機(jī)410、412)在在線會話中相互作用。所述應(yīng)用440被安裝在每個客戶機(jī)計算機(jī)內(nèi),即所述應(yīng)用的操作實例被存儲在每個運行(執(zhí)行)應(yīng)用440的客戶機(jī)計算機(jī)410、412的存儲器內(nèi)。每個將參與多用戶應(yīng)用的在線會話的服務(wù)器計算機(jī)同樣存儲所述應(yīng)用440的實例。出于描述的目的,第一服務(wù)器計算機(jī)420將被假定為由客戶機(jī)器410、420執(zhí)行的多用戶應(yīng)用的服務(wù)器,盡管兩個服務(wù)器420、422都被顯示為帶有安裝的應(yīng)用440。數(shù)據(jù)的交換在執(zhí)行期間內(nèi)發(fā)生在應(yīng)用440的實例之間,并通過在每個所述網(wǎng)絡(luò)計算機(jī)處建立網(wǎng)絡(luò)插座445得以實現(xiàn)。所述插座在圖4內(nèi)被顯示為每個對應(yīng)網(wǎng)絡(luò)計算機(jī)處的盒。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,網(wǎng)絡(luò)插座是兩個或更多在網(wǎng)絡(luò)系統(tǒng)400上運行的程序之間的多路通信鏈路的一端。
如以下將詳細(xì)描述,可根據(jù)各種通信配置在網(wǎng)絡(luò)系統(tǒng)400的網(wǎng)絡(luò)設(shè)備上運行所述應(yīng)用440,且可將各種與應(yīng)用相關(guān)的過程的職責(zé)指配給網(wǎng)絡(luò)430的不同計算設(shè)備。同樣如以下將詳細(xì)描述,應(yīng)用發(fā)展接口優(yōu)選的是被用于發(fā)展應(yīng)用440。所述應(yīng)用可被操作為相關(guān)網(wǎng)絡(luò)計算機(jī)可使用通信配置來實施如圖1、圖2、圖3所示的通信模式中的任何一個。
所述多用戶應(yīng)用440可以是用戶在鏈接到計算機(jī)網(wǎng)絡(luò)430的網(wǎng)絡(luò)計算機(jī)上運行的任何一種應(yīng)用。當(dāng)在客戶機(jī)計算機(jī)410、420上運行應(yīng)用440時,用戶可通過其它同樣運行應(yīng)用440的網(wǎng)絡(luò)計算機(jī)與其他用戶相互作用。所述服務(wù)器計算機(jī)420可充當(dāng)用戶通過其可建立接觸、維持?jǐn)?shù)據(jù)并啟動應(yīng)用440的在線會話的中心網(wǎng)絡(luò)“會合點”。一般而言,所述應(yīng)用440使得其中該應(yīng)用正在操作的網(wǎng)絡(luò)設(shè)備建立與其它網(wǎng)絡(luò)設(shè)備的通信,例如設(shè)備410、412、420,從而啟動在線會話。在所述在線會話期間內(nèi),網(wǎng)絡(luò)計算機(jī)將會相互作用,并交換符合應(yīng)用440的編程特征的數(shù)據(jù)。
當(dāng)發(fā)射所述應(yīng)用440并在適當(dāng)配置的計算機(jī)之中建立在線會話時,所述應(yīng)用使得所述計算機(jī)能夠在各種配置內(nèi)相互作用。在整個描述中,有時會在在線游戲情形中描述所述應(yīng)用440,其中所述應(yīng)用440包括多個用戶可使用客戶機(jī)計算機(jī)410、412接入并運行的計算機(jī)游戲。在這種情況下,所述應(yīng)用440建立包括網(wǎng)絡(luò)計算機(jī)參與的游戲的在線會話。但是,所述應(yīng)用440同樣可與除了游戲之外的其它情形相關(guān),例如涉及計算機(jī)網(wǎng)絡(luò)上多個計算機(jī)之間的相互作用的在線銀行或在線旅游計劃。
在應(yīng)用440執(zhí)行時其識別會話主控,所述會話主控是這樣一種網(wǎng)絡(luò)計算機(jī),其執(zhí)行與在線會話期間內(nèi)發(fā)生的計算機(jī)之間相互作用相關(guān)的應(yīng)用的各種管理與處理功能。所述應(yīng)用的在線會話使用向數(shù)據(jù)存儲器的登記或登陸過程,所述數(shù)據(jù)存儲器包括諸如用戶識別的信息。所述登陸過程還授權(quán)對所述應(yīng)用的網(wǎng)絡(luò)環(huán)境的其它參與。優(yōu)選的是,當(dāng)諸如客戶機(jī)計算機(jī)410的運行應(yīng)用440的客戶機(jī)計算機(jī)登陸到服務(wù)器計算機(jī)420以啟動在線會話時,將所述會話主控功能指配。但所述應(yīng)用自身確定何時并如何執(zhí)行所述指配的細(xì)節(jié),從而能夠在并不脫離本發(fā)明教義的情況下實施各種會話主控指配方案。
啟動應(yīng)用的在線會話的客戶機(jī)計算機(jī)410上應(yīng)用的操作實例被稱為主計算機(jī)。所述主計算機(jī)內(nèi)的應(yīng)用將會話主控功能指配給服務(wù)器計算機(jī)420或主計算機(jī)410。在新的客戶機(jī)計算機(jī)登陸(登記)到服務(wù)器計算機(jī)420以參與在線會話時,所述服務(wù)器計算機(jī)420將會話主控計算機(jī)的已指配身份通知給所述新客戶。
如以下將充分描述,所述會話主控功能使得其中所述應(yīng)用440可操作的不同網(wǎng)絡(luò)通信配置之間的平滑轉(zhuǎn)換得以實現(xiàn)。所述會話主控功能還使得所述應(yīng)用440能夠?qū)⑴c應(yīng)用相關(guān)任務(wù)的職責(zé)集中在特定網(wǎng)絡(luò)計算機(jī)內(nèi),或是將所述職責(zé)在兩個或更多網(wǎng)絡(luò)計算機(jī)之間分配??山柚粋€所述網(wǎng)絡(luò)計算機(jī)上的應(yīng)用440的實例來實現(xiàn)任務(wù)的這種分配,同時在指配會話主控功能時,可將會話主控任務(wù)指配給網(wǎng)絡(luò)430上的一個或多個計算機(jī),以提供所需功能。被指配會話主控的職責(zé)的一個或多個計算機(jī)在本文中被稱為對應(yīng)會話主控功能的“所有者”。應(yīng)當(dāng)理解的是,對于單獨會話主控的參考適用于一組計算機(jī),如果所述計算機(jī)共同執(zhí)行所述會話主控功能的話。因此,根據(jù)應(yīng)用研發(fā)商的指令以應(yīng)用所指定的方式執(zhí)行會話主控任務(wù)的指配。
被指配給會話主控的一類職責(zé)與特定于應(yīng)用的功能相關(guān),所述功能特定于正被執(zhí)行的特定類型的應(yīng)用440。例如,如果應(yīng)用440是游戲型應(yīng)用,則會話主控或會話主控組可跟蹤諸如游戲得分、游戲剩余時間的游戲型數(shù)據(jù),并執(zhí)行諸如在游戲結(jié)束時終止在線會話的游戲功能。同樣可將跟蹤特定游戲數(shù)據(jù)的職責(zé)指配給會話主控計算機(jī),所述游戲數(shù)據(jù)例如是游戲環(huán)境中諸如足球、飛機(jī)、海洋、樹木等的對象的狀態(tài)。這些職責(zé)中的每一個都可被集中在單個會話主控計算機(jī)內(nèi),或是被在若干會話主控計算機(jī)之中劃分,這根據(jù)應(yīng)用的操作。
所述主計算機(jī)執(zhí)行與參與在線會話的計算機(jī)相關(guān)的管理功能。例如,無論何時網(wǎng)絡(luò)計算機(jī)參與應(yīng)用440的在線會話,主計算機(jī)都會將識別索引號指配給參與所述會話的計算機(jī)。主計算機(jī)維持識別索引號及其相關(guān)網(wǎng)絡(luò)計算機(jī)的列表。在發(fā)送消息時使用所述索引號,其同樣被用于維持與會話主控功能相關(guān)的所有權(quán)記錄。
如上所述,在一個在線會話中可存在多個會話主控。如何向會話主控指配可由應(yīng)用根據(jù)其操作來確定。應(yīng)用440同樣可將發(fā)送更新消息以更新網(wǎng)絡(luò)計算機(jī)的職責(zé)指配給會話主控,所述更新消息關(guān)于所有參與在線會話的網(wǎng)絡(luò)計算機(jī)的狀態(tài)。如以下將充分描述,這種職責(zé)使得會話主控能夠在新的網(wǎng)絡(luò)計算機(jī)參與在線會話時,或是在當(dāng)前參與者退出應(yīng)用440的在線會話時通知參與網(wǎng)絡(luò)計算機(jī)。
將上述索引號指配給每個計算機(jī)的主計算機(jī)同樣維持所有正在參與在線會話的網(wǎng)絡(luò)計算機(jī)的列表。所述應(yīng)用440然后根據(jù)指配給計算機(jī)的索引號跟蹤會話主控所有權(quán)。為了跟蹤所述索引號與職責(zé)指配,所述應(yīng)用440可將數(shù)據(jù)結(jié)構(gòu)保持為包括網(wǎng)絡(luò)計算機(jī)索引列表的表格形式,例如圖5所示的表格500。所述表格500包括與每個參與在線會話的網(wǎng)絡(luò)計算機(jī)相關(guān)的索引號,還包括所述網(wǎng)絡(luò)計算機(jī)是否擁有會話主控功能的指示。包括表格500的索引列表數(shù)據(jù)結(jié)構(gòu)優(yōu)選的是還規(guī)定正用于每個網(wǎng)絡(luò)計算機(jī)的通信協(xié)議。圖5示出了不同的會話主控任務(wù)(C1、C2、C3)可歸不同的網(wǎng)絡(luò)計算機(jī)所有。
除了規(guī)定通信協(xié)議之外,所述數(shù)據(jù)結(jié)構(gòu)還為每個網(wǎng)絡(luò)計算機(jī)規(guī)定與所述通信協(xié)議相關(guān)的端口。應(yīng)用440的每個實例使得參與在線會話的相關(guān)網(wǎng)絡(luò)計算機(jī)能夠開放多個通信端口,每個所述端口都與特定通信協(xié)議相關(guān)。所述網(wǎng)絡(luò)計算機(jī)使用在包括圖5所示表格500的數(shù)據(jù)結(jié)構(gòu)內(nèi)規(guī)定的特定端口和特定協(xié)議與其它網(wǎng)絡(luò)計算機(jī)通信。所述端口可能包括通過其應(yīng)用440的實例經(jīng)由網(wǎng)絡(luò)通信的網(wǎng)絡(luò)插槽。所述網(wǎng)絡(luò)計算機(jī)優(yōu)選的是通過周期性地將通信消息經(jīng)由網(wǎng)絡(luò)發(fā)送到其它網(wǎng)絡(luò)計算機(jī)來通信端口/協(xié)議信息,以及在索引列表內(nèi)包括的其它信息。
優(yōu)選的是,所有參與在線會話的計算機(jī)都保持表格500索引列表的它們各自的拷貝。應(yīng)當(dāng)理解的是,所述表格500僅僅是示例性的,且啟動主應(yīng)用440可以其它方式使用更廣泛的數(shù)據(jù)結(jié)構(gòu)格式來跟蹤客戶索引號以及會話主控所有權(quán)。作為選擇,會話計算機(jī)可分享所述表格的一個或多個拷貝。
啟動應(yīng)用440可依據(jù)應(yīng)用440如何指配會話主控的所有權(quán)在各種通信配置內(nèi)操作。在圖6所示的第一配置中,啟動應(yīng)用440已將會話主控600的所有權(quán)指配給單個計算機(jī),例如專用服務(wù)器計算機(jī)420。因此,所述計算機(jī)420承擔(dān)與啟動應(yīng)用440所指令的會話主控功能相關(guān)的所有任務(wù)的職責(zé)。因此,所述應(yīng)用440在與會話主控功能相關(guān)的客戶機(jī)-服務(wù)器通信配置內(nèi)操作,所述服務(wù)器計算機(jī)420將與所述會話主控職責(zé)相關(guān)的數(shù)據(jù)提供給客戶機(jī)計算機(jī)410。
應(yīng)當(dāng)理解的是,任何參與應(yīng)用440的在線會話的計算機(jī)都可能具有一個或多個所述會話主控任務(wù)的所有權(quán),例如圖6內(nèi)以虛線所示,所述客戶機(jī)計算機(jī)之一410被示為擁有會話主控600a。這指示所述客戶機(jī)計算機(jī)已被指配,并連同或是替代名義會話主控服務(wù)器計算機(jī)420執(zhí)行一個或多個會話主控任務(wù)。換言之,參與在線會話的計算機(jī)之中存在會話主控的若干實例,會話主控的每個實例都被指配特定職責(zé),且每個會話主控任務(wù)都被指配給不同的網(wǎng)絡(luò)計算機(jī),或是多個任務(wù)被指配給相同的計算機(jī)。例如,圖6示出了這樣一種情況,其中存在兩個會話主控600和600a,每個所述會話主控都被指配與應(yīng)用440的在線會話相關(guān)的特定功能的職責(zé)。所述服務(wù)器計算機(jī)420具有特定的職責(zé),而所述客戶機(jī)計算機(jī)410同樣具有特定職責(zé),這由應(yīng)用確定。這是一種集成服務(wù)器配置,其中擁有會話主控600a的客戶機(jī)計算機(jī)410充當(dāng)集成服務(wù)器?!凹煞?wù)器”是指這樣一種情況,其中所有客戶都將信息發(fā)送到被指定為集成服務(wù)器的客戶機(jī),以及該集成服務(wù)器將所述信息傳播到其它客戶機(jī)。所述充當(dāng)集成服務(wù)器的客戶機(jī)還可擁有一個或多個會話主控任務(wù)。
在圖7所示的另一方案中,應(yīng)用440已將會話主控600的所有權(quán)在若干計算機(jī)之間分配。在圖示的實例中,兩個客戶機(jī)計算機(jī)410共享會話主控600的所有權(quán)。在這種情況下,兩個計算機(jī)都可能會執(zhí)行與會話主控相關(guān)的功能,從而使得圖7的網(wǎng)絡(luò)計算機(jī)成為對等配置。
每個所述網(wǎng)絡(luò)計算機(jī)優(yōu)選的是依據(jù)應(yīng)用440的在線會話建立用于發(fā)送和接收通信信號的通信端口。通信端口是與所述在線會話內(nèi)另一網(wǎng)絡(luò)計算機(jī)建立的邏輯連接的一端。每個所述網(wǎng)絡(luò)計算機(jī)都為每個通信端口指定一個通信協(xié)議。所述網(wǎng)絡(luò)計算機(jī)可以基于所述在線會話的通信配置來交換端口和對應(yīng)通信協(xié)議。
參照圖8所示的流程圖更為詳細(xì)地描述了這個過程,圖8示出了當(dāng)在線會話的通信配置改變時交換通信端口的過程。在由流程圖框符810表示的第一步操作中,網(wǎng)絡(luò)計算機(jī)開始建立應(yīng)用440的在線會話。這可在特定網(wǎng)絡(luò)計算機(jī)處通過在該計算機(jī)上運行應(yīng)用440得以實現(xiàn),這使得所述特定網(wǎng)絡(luò)計算機(jī)以眾所周知的方式連接至服務(wù)器計算機(jī)420。如上所述,服務(wù)器計算機(jī)420因而充當(dāng)用于網(wǎng)絡(luò)計算機(jī)建立在線會話的中心網(wǎng)絡(luò)會合點。
所述網(wǎng)絡(luò)計算機(jī)中的一個將充當(dāng)所述在線會話的會話主控,例如第一個連接至服務(wù)器計算機(jī)420的計算機(jī)。此外,當(dāng)所述第一計算機(jī)連接至服務(wù)器計算機(jī)并建立在線會話時,該計算機(jī)上的應(yīng)用440的實例優(yōu)選的是向其自身指配初始索引號,例如索引號一或是零。應(yīng)當(dāng)理解的是,所述初始索引號可以不同,并非必然是一或零,這取決于應(yīng)用的設(shè)計。所述服務(wù)器計算機(jī)420和/或建立會話的計算機(jī)然后生成如圖5所示的索引表500,以保持索引信息的記錄。在建立在線會話期間內(nèi),所述表格500被存儲在服務(wù)器計算機(jī)和會話主控計算機(jī)內(nèi)。將登陸的后續(xù)網(wǎng)絡(luò)計算機(jī)隨后將接收如服務(wù)器計算機(jī)420所指配的下一個可用索引。與建立在線會話相關(guān)的操作繼續(xù)由流程圖框符820-850表示的操作。
在下一個操作中,每個運行應(yīng)用440的網(wǎng)絡(luò)計算機(jī)都開放多個通信端口,所述應(yīng)用440可通過所述通信端口在所述在線會話期間內(nèi)發(fā)送通信消息。這個操作由流程圖框符820表示。所述應(yīng)用440使用所述通信端口中的一個發(fā)送并接收通信消息。
在由流程圖框符830表示的下一個操作中,所述應(yīng)用440使每個所述通信端口與特定通信協(xié)議相關(guān)。這是借助每個網(wǎng)絡(luò)計算機(jī)內(nèi)的應(yīng)用440的實例執(zhí)行的。例如,在特定網(wǎng)絡(luò)計算機(jī)上,所述應(yīng)用440可使所述通信端口中的一個與用戶數(shù)據(jù)報協(xié)議(UDP)相關(guān),而使另一個與傳輸控制協(xié)議(TCP)相關(guān)等。某些協(xié)議更適用于特定的通信配置,應(yīng)用440因而可被編程為使得其選擇適合于特定配置的協(xié)議。例如,在某些情況下,TCP協(xié)議更適合于客戶機(jī)-服務(wù)器通信配置,而UDP協(xié)議更適合于對等通信配置。應(yīng)用440每次在網(wǎng)絡(luò)計算機(jī)上的安裝優(yōu)選的是包括協(xié)議/端口聯(lián)系的技術(shù)規(guī)范庫。在所述應(yīng)用的實例執(zhí)行時,其依據(jù)通信配置協(xié)商適當(dāng)?shù)膮f(xié)議/端口聯(lián)系庫。
在下一個操作中,網(wǎng)絡(luò)計算機(jī)將相關(guān)通信端口中的一個指定為通過其網(wǎng)絡(luò)計算機(jī)將發(fā)送并接收用于在線會話的通信的有效端口。這個操作由流程圖框符840表示。在指定有效端口時,網(wǎng)絡(luò)計算機(jī)優(yōu)選的是確定哪個端口將提供帶寬的最為有效的使用,并提供等待時間的最佳控制。鑒于此,所述網(wǎng)絡(luò)計算機(jī)考慮當(dāng)前的通信配置以及最適合于該配置的協(xié)議。所述網(wǎng)絡(luò)計算機(jī)然后將與最適合的協(xié)議相關(guān)的端口指定為有效端口。
下一個操作由流程圖框符850表示。在這個操作中,網(wǎng)絡(luò)計算機(jī)中的一個傳送包括該計算機(jī)的端口與協(xié)議信息的通信消息。發(fā)送所述消息的會話參與者由應(yīng)用設(shè)計確定。例如,發(fā)送計算機(jī)可以是會話主控,或是擁有對應(yīng)會話主控任務(wù)的計算機(jī),或可由客戶機(jī)的判優(yōu)方案確定,或是主應(yīng)用。所述發(fā)送計算機(jī)可自動發(fā)送通信消息,作為建立在線會話的一部分。所述消息優(yōu)選的是包括識別網(wǎng)絡(luò)計算機(jī)的信息以及關(guān)于該計算機(jī)的數(shù)據(jù),包括網(wǎng)絡(luò)計算機(jī)索引號、正在使用的端口以及與該端口相關(guān)的協(xié)議。所述數(shù)據(jù)優(yōu)選的是被順序嵌入所述消息,例如從而使得所述計算機(jī)索引被首先列出,隨后緊跟該計算機(jī)的有效端口以及與有效端口相關(guān)的協(xié)議。
優(yōu)選的是將所述消息與端口和協(xié)議信息一起以避免多個發(fā)送該消息的網(wǎng)絡(luò)計算機(jī)之間沖突的方式發(fā)送。鑒于此,帶有最小索引號的計算機(jī)(可能為會話主控計算機(jī))通過將所述消息發(fā)送到與其次最大的索引號相關(guān)的計算機(jī)來始發(fā)所述消息。所述會話主控通過接入所述索引表500得到索引號。所述下一個計算機(jī)在接收所述消息時增加其自己的數(shù)據(jù),然后將所述消息轉(zhuǎn)發(fā)到下一個計算機(jī)。換言之,每個計算機(jī)在發(fā)送消息時都將其自己的端口/協(xié)議數(shù)據(jù)附加到已包括在所述消息內(nèi)的數(shù)據(jù)。這樣,最后接收所述消息的計算機(jī)具有所有參與在線會話的計算機(jī)的端口/協(xié)議數(shù)據(jù)。所述消息然后可通過參與在線會話的網(wǎng)絡(luò)計算機(jī)循環(huán),從而使得所有所述計算機(jī)都帶有更新后的消息。
每個網(wǎng)絡(luò)計算機(jī)都在本地存儲器內(nèi)維持包括數(shù)據(jù)陣的數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)陣包括所述會話內(nèi)的每個所述網(wǎng)絡(luò)計算機(jī)的端口與協(xié)議。所述網(wǎng)絡(luò)計算機(jī)在接收端口/協(xié)議消息時建立并更新所述數(shù)據(jù)陣。
下一個操作取決于在線會話是否經(jīng)歷通信配置的變化,例如在在線會話從對等通信配置交換到客戶機(jī)-服務(wù)器通信配置的情況下,如判定框符855所示。如果通信配置并未發(fā)生改變,則判定框符850導(dǎo)致“否”,“否”,然后網(wǎng)絡(luò)計算機(jī)繼續(xù)操作,而無任何關(guān)于通信端口的改變。
但是,當(dāng)在通信消息內(nèi)指定在線會話的通信配置的改變時,判定框符855導(dǎo)致“是”,然后所述網(wǎng)絡(luò)計算機(jī)中的一個,例如會話主控計算機(jī)向在線會話的其他參與者通知通信配置已經(jīng)改變或是將要改變。所述通知采取配置改變更新消息的形式,諸如會話主控計算機(jī)的計算機(jī)將所述配置改變更新消息發(fā)送到一個或多個在線會話參與者。所述配置改變更新消息例如通過規(guī)定與特定配置相關(guān)的編碼識別新的通信配置。
在一個實施例中,所述配置改變更新消息始發(fā)于會話主控計算機(jī),所述會話主控計算機(jī)將所述配置改變更新消息發(fā)送到第一網(wǎng)絡(luò)計算機(jī),例如帶有比會話主控計算機(jī)的索引號大一的索引號的網(wǎng)絡(luò)計算機(jī)。接收計算機(jī)然后將所述消息指向索引編號方案中的下一個計算機(jī),然后過程繼續(xù)。這保證了將配置改變有序通知給在線會話的所有參與者。其它通知方案可用于將配置改變通知給所述參與者。
過程然后繼續(xù)到由流程圖框符860表示的操作。在這個操作中,網(wǎng)絡(luò)計算機(jī)從其它網(wǎng)絡(luò)計算機(jī)中的一個接收配置改變更新消息。第一個接收所述配置改變更新消息的網(wǎng)絡(luò)計算機(jī)從會話主控計算機(jī)接收所述消息。如流程圖框符870所示,當(dāng)網(wǎng)絡(luò)計算機(jī)接收所述配置改變更新消息時,其指定新的有效端口以及適合于所述消息所規(guī)定的新通信配置的協(xié)議。每個網(wǎng)絡(luò)計算機(jī)都可通過其上的應(yīng)用440的實例選擇新的有效端口,或是會話主控可向其它計算機(jī)規(guī)定應(yīng)當(dāng)被指定為有效的端口。所述應(yīng)用440可自動使網(wǎng)絡(luò)計算機(jī)基于在所述配置改變更新消息內(nèi)識別的特定通信配置切換到特定的傳送協(xié)議,因而將會切換到對應(yīng)通信端口。例如,如果新的配置是對等配置,則所述應(yīng)用可使網(wǎng)絡(luò)計算機(jī)自動切換到與諸如UDP的特定協(xié)議相關(guān)的端口。
在網(wǎng)絡(luò)計算機(jī)指定新的有效端口之后,過程繼續(xù)到由流程圖框符880表示的操作。在這個操作中,所述網(wǎng)絡(luò)計算機(jī)根據(jù)某個用于指定下一個計算機(jī)的方案將一個或多個更新消息發(fā)送到參與在線會話的“下一個”網(wǎng)絡(luò)計算機(jī)。所述“下一個”計算機(jī)可以是帶有較當(dāng)前計算機(jī)的計算機(jī)索引號而言其次最大的計算機(jī)索引號的計算機(jī),但應(yīng)當(dāng)理解索引號不必是指定“下一個”計算機(jī)的基礎(chǔ)。例如,網(wǎng)絡(luò)登陸時間可能確定下一個計算機(jī),或是使用其它適合于網(wǎng)絡(luò)配置的方案。無論何種定義用于“下一個”計算機(jī),每個網(wǎng)絡(luò)計算機(jī)都會將所述配置改變更新消息轉(zhuǎn)發(fā)到下一個計算機(jī),從而將已發(fā)生通信配置改變通知給下一個計算機(jī)。
最后接收所述配置改變更新消息的網(wǎng)絡(luò)計算機(jī)依據(jù)框符810到850的會話建立過程了解其是網(wǎng)絡(luò)計算機(jī)序列中的最后一個,然后向會話主控通知其已接收到所述更新消息。所述通知意味著所述配置改變更新消息已通過所有參與在線會話的網(wǎng)絡(luò)計算機(jī)循環(huán)。所述會話主控然后以包括會話主控的端口與協(xié)議信息的消息開始新的消息循環(huán)。這個消息然后通過所述網(wǎng)絡(luò)計算機(jī)循環(huán),直至在線會話的所有參與者的端口/協(xié)議信息得到更新。
優(yōu)選的是使用提供在應(yīng)用440內(nèi)使用的對象與通信消息定義庫的軟件開發(fā)工具包(SDK)來開發(fā)所述應(yīng)用440。所述軟件開發(fā)工具包包括應(yīng)用接口,使用SDK開發(fā)的應(yīng)用可通過所述應(yīng)用接口在諸如網(wǎng)絡(luò)系統(tǒng)400的網(wǎng)絡(luò)系統(tǒng)上運行。SDK的應(yīng)用接口可存在于諸如服務(wù)器420的中心網(wǎng)絡(luò)服務(wù)器內(nèi),具有應(yīng)用440的網(wǎng)絡(luò)計算機(jī)可登陸到所述服務(wù)器以操作所述應(yīng)用的在線會話。這允許仔細(xì)測試正在開發(fā)中的應(yīng)用。通過使用由SDK提供的對象與消息類型,所述應(yīng)用440可被開發(fā)為包括上述特征。所述SDK優(yōu)選的是包括對象定義結(jié)構(gòu),其提供所述應(yīng)用440所利用對象的基于客戶的定義。所述對象定義包括多個與每個對象相關(guān)并由所述應(yīng)用使用以經(jīng)由計算機(jī)網(wǎng)絡(luò)引起與客戶相互作用的特征。
一旦使用SDK開發(fā)應(yīng)用440即生成該應(yīng)用的拷貝,并將應(yīng)用440裝入一個或多個網(wǎng)絡(luò)計算機(jī),從而根據(jù)圖9的流程圖框符所示的操作建立在線會話。在由流程圖框符910表示的第一個操作中,應(yīng)用440被裝在其上的網(wǎng)絡(luò)計算機(jī)連接至在存儲器內(nèi)包括該應(yīng)用接口軟件的網(wǎng)絡(luò)計算機(jī)。例如,圖4所示的網(wǎng)絡(luò)系統(tǒng)400的一個或多個客戶機(jī)計算機(jī)410具有裝入存儲器的應(yīng)用440,而服務(wù)器計算機(jī)420包括所述應(yīng)用接口。在這種情況下,所述客戶機(jī)計算機(jī)410經(jīng)由網(wǎng)絡(luò)430建立與服務(wù)器計算機(jī)410的通信連接。
在由流程圖框符920表示的下一個操作中,所述應(yīng)用440根據(jù)應(yīng)用接口庫內(nèi)可得到的對象定義登記對象。如流程圖框符920所示,所述應(yīng)用440還登記任何將在所述在線會話期間內(nèi)使用的消息過濾器。
在由流程圖框符950表示的下一個操作中,所述應(yīng)用440定義會話主控,并將會話主控的所有權(quán)指配給網(wǎng)絡(luò)計算機(jī)中的一個。會話主控的所有權(quán)可被指配給一個計算機(jī)或多個計算機(jī)。所述應(yīng)用440還規(guī)定所述會話主控的所有權(quán)是否專用于特定計算機(jī),或是所述所有權(quán)是否可移到其它計算機(jī)。
在此操作期間內(nèi),所述應(yīng)用440將客戶索引指配給每個將參與在線會話的網(wǎng)絡(luò)計算機(jī),并建立如上所述索引表。所述應(yīng)用440可被配置為,第一個將登陸到服務(wù)器計算機(jī)上的網(wǎng)絡(luò)計算機(jī)將成為會話主控并接收初始索引,例如索引一或是零。執(zhí)行登陸的后續(xù)網(wǎng)絡(luò)計算機(jī)然后將根據(jù)用于所述系統(tǒng)的“下一個”的定義來接收下一個可得到的索引。如流程圖框符950所示,在建立一個或多個會話主控的所有權(quán)之后,開始應(yīng)用440的在線會話。
如上所述,圖4的方框圖所示的網(wǎng)絡(luò)計算機(jī)包括計算機(jī)網(wǎng)絡(luò)系統(tǒng)400的節(jié)點。圖10是圖1系統(tǒng)400內(nèi)的計算機(jī)的方框圖,示出了包括在一個所述計算機(jī)內(nèi)的硬件部分。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解的是,設(shè)備410和420可能都具有相似的計算機(jī)構(gòu)造,或是具有與本文所述能力相一致的可選構(gòu)造。
圖10示出了示例性計算機(jī)1000包括所述網(wǎng)絡(luò)計算機(jī)中的任何一個。每個計算機(jī)1000都在中心處理器單元(CPU)1002的控制下操作,例如“Pentium”微處理器以及可從Santa Clara,California,USA的Intel公司得到的相關(guān)集成電路芯片。計算機(jī)用戶可從鍵盤和計算機(jī)鼠標(biāo)1004輸入指令與數(shù)據(jù),并可在顯示器1006上瀏覽輸入和計算機(jī)輸出。所述顯示器通常是視頻監(jiān)控器或平面控制板顯示器。所述計算機(jī)1000還包括直接存取存儲器設(shè)備(DASD)1008,例如硬盤驅(qū)動器。存儲器1010通常包括易失性半導(dǎo)體隨機(jī)存取存儲器(RAM)。每個計算機(jī)優(yōu)選的是包括程序產(chǎn)品閱讀器1012,其接受程序產(chǎn)品存儲設(shè)備1014,所述程序產(chǎn)品閱讀器可從所述程序產(chǎn)品存儲設(shè)備讀取數(shù)據(jù)(或是將所述數(shù)據(jù)可選地寫到所述存儲設(shè)備)。所述程序產(chǎn)品閱讀器例如可包括磁盤驅(qū)動器,而所述程序產(chǎn)品存儲設(shè)備包括可移動存儲介質(zhì),例如磁軟盤、CD-R盤、CD-RW盤或DVD盤。
每個計算機(jī)1000都可經(jīng)由計算機(jī)網(wǎng)絡(luò)1020(例如互聯(lián)網(wǎng)或內(nèi)聯(lián)網(wǎng))通過網(wǎng)絡(luò)接口1018與其它計算機(jī)通信,所述網(wǎng)絡(luò)接口能夠經(jīng)由連接1022實現(xiàn)網(wǎng)絡(luò)1020與計算機(jī)之間的通信。所述網(wǎng)絡(luò)接口1018通常包括允許經(jīng)由各種網(wǎng)絡(luò)通信的網(wǎng)絡(luò)接口卡(NIC)或調(diào)制解調(diào)器。
CPU 1002在暫時存儲在計算機(jī)1000的存儲器1010內(nèi)的編程步驟的控制下操作。在執(zhí)行所述編程步驟時,所述計算機(jī)執(zhí)行其功能。因此,所述編程步驟執(zhí)行應(yīng)用440的功能??蓮腄ASD 1008通過程序產(chǎn)品存儲設(shè)備1014或網(wǎng)絡(luò)連接1022接收所述編程步驟。所述程序產(chǎn)品存儲設(shè)備1012可接收程序產(chǎn)品1014,讀取存儲在其上的編程步驟,并將編程步驟傳送到存儲器1010內(nèi),以便CPU 1002執(zhí)行。如上所述,所述程序產(chǎn)品存儲設(shè)備可包括多個具有所記錄計算機(jī)可讀指令的可移動介質(zhì)中的任何一個,包括磁軟盤與CD-ROM存儲盤。其它適當(dāng)?shù)某绦虍a(chǎn)品存儲設(shè)備可包括磁帶與半導(dǎo)體存儲芯片。這樣,根據(jù)本發(fā)明的操作所需的處理步驟可體現(xiàn)在程序產(chǎn)品上。
作為選擇,可將所述程序步驟經(jīng)由網(wǎng)絡(luò)1020接收到操作存儲器1010內(nèi)。在網(wǎng)絡(luò)方法中,在借助本領(lǐng)域技術(shù)人員眾所周知因而不再贅述的方法經(jīng)由網(wǎng)絡(luò)連接1022建立網(wǎng)絡(luò)通信之后,計算機(jī)將包括程序步驟的數(shù)據(jù)通過網(wǎng)絡(luò)接口1018接收到存儲器1010內(nèi)。所述程序步驟然后由因而包括計算機(jī)過程的CPU 1002執(zhí)行。
應(yīng)當(dāng)理解的是,圖4所示的網(wǎng)絡(luò)系統(tǒng)400的所有網(wǎng)絡(luò)計算機(jī)可具有類似于圖10所示的構(gòu)造,因而應(yīng)當(dāng)理解根據(jù)圖10計算機(jī)1000描述的細(xì)節(jié)將適用于所述系統(tǒng)400的所有計算機(jī)。應(yīng)當(dāng)理解的是,所述網(wǎng)絡(luò)計算機(jī)中的任何一個都可具有可選構(gòu)造,只要該計算機(jī)可與圖4所示的其它計算機(jī)通信并支持本文所述功能。
例如參考圖11,客戶機(jī)計算機(jī)420可包括計算機(jī)娛樂系統(tǒng),例如視頻游戲系統(tǒng)1100。圖11是視頻游戲系統(tǒng)1100的示例性硬件配置的方框圖。
所述視頻游戲系統(tǒng)1100包括與主存儲器1105相關(guān)的中心處理單元(CPU)1100。所述CPU 1100在存儲在OS-ROM 1160內(nèi)或是從游戲程序存儲介質(zhì)傳送到主存儲器1105的編程步驟的控制下操作。所述CPU 1100被配置為根據(jù)所述編程步驟處理信息并執(zhí)行指令。
所述CPU 1100被經(jīng)由專用總線1125耦合到輸入/輸出(IOP)處理器1120。所述IOP 1120將CPU 1100耦合到OS ROM 1160,所述OSROM 1160包括存儲操作系統(tǒng)的程序指令的非易失性存儲器。優(yōu)選的是在起動主單元110時將所述指令經(jīng)由IOP 1120傳送到CPU。
所述CPU 1100被經(jīng)由專用總線1115耦合到圖形處理單元(GPU)1110。所述GPU 1100是畫圖處理器,其被配置為執(zhí)行畫圖過程,并根據(jù)從CPU 1100接收的指令形成圖像。例如,所述GPU 1110可以基于由CPU 1100生成并從CPU 1100接收的顯示列表再現(xiàn)圖形圖像。所述GPU可包括用于存儲圖形數(shù)據(jù)的緩存器。所述GPU 1110將圖像輸出到AV輸出設(shè)備175。
所述IOP 1120根據(jù)存儲在IOP存儲器1130內(nèi)的指令來控制數(shù)據(jù)在CPU 1100與多個外設(shè)元件之間的交換。所述外設(shè)元件可包括一個或多個輸入控制器1122、存儲卡1140、USB 1145和IEEE 1394串行總線1150。此外,總線1155被通信地耦合到IOP 1120。所述總線1155鏈接到若干附加元件,包括OS ROM 1160、聲音處理器單元(SPU)1165、光盤控制單元1175以及硬盤驅(qū)動器(HDD)1180。
所述SPU 1165被配置為根據(jù)從CPU 1100和IOP 1120接收的指令生成諸如音樂、音響效果和話音的聲音。所述SPU 1165可包括其內(nèi)存儲波形數(shù)據(jù)的聲音緩存器。所述SPU 1165生成聲音信號,并將該信號傳送到揚(yáng)聲器。
所述磁盤控制單元1175被配置為控制程序閱讀器,所述程序閱讀器包括接受諸如磁軟盤、光CD-ROM磁盤、CD-R磁盤、CD-RW磁盤、DVD盤等的可移動存儲介質(zhì)的光盤驅(qū)動器。
所述存儲卡1140包括CPU 1100可將數(shù)據(jù)寫并存到的存儲介質(zhì)。優(yōu)選的是,所述存儲卡1140可被從IOP 1120插入與拆除。用戶可使用存儲卡1140存儲或保存數(shù)據(jù)。此外,視頻游戲系統(tǒng)1100優(yōu)選的是帶有至少一個可將數(shù)據(jù)寫并存到的硬盤驅(qū)動器(HDD)1180。
諸如IEEE 1394串行總線1150或通用串行總線(USB)1145接口的數(shù)據(jù)I/O接口優(yōu)選的是通信地耦合到IOP 1120,以允許將數(shù)據(jù)傳送到視頻游戲系統(tǒng)1100內(nèi),并將所述數(shù)據(jù)從所述視頻游戲系統(tǒng)1100例如傳送至圖4的網(wǎng)絡(luò)430。
因此,本發(fā)明提供了一種系統(tǒng)與方法,其用于可在使用對等通信的集成服務(wù)器(IS)配置與帶有客戶機(jī)-服務(wù)器(例如TCP/IP)通信的專用服務(wù)器配置之間交替的計算機(jī)網(wǎng)絡(luò)多用戶程序環(huán)境。便利的是,在從IS改變到應(yīng)用服務(wù)器時,充當(dāng)IS的網(wǎng)絡(luò)用戶必須改變游戲應(yīng)用的操作,因此其將通過應(yīng)用服務(wù)器與其他玩家通信。如果并未執(zhí)行這種轉(zhuǎn)換操作,則在IS機(jī)器注銷時所述應(yīng)用環(huán)境將會立即消失。其他所有的應(yīng)用用戶都將必需執(zhí)行相似的通信改變。所述通信改變涉及所有用戶,所述用戶將其應(yīng)用操作從使用用于對等操作的UDP通信端口交換到使用用于客戶機(jī)-服務(wù)器操作的TCP端口。這種改變可能會對所述游戲環(huán)境帶來麻煩、不便與損害。本發(fā)明提供了一種技術(shù)方案,其中配置控制特征允許多用戶應(yīng)用在與特定通信配置相關(guān)的一個端口(例如UDP端口)和與不同通信配置相關(guān)的第二端口(例如TCP端口)之間的自動切換。這允許應(yīng)用環(huán)境的持續(xù)操作。
以上借助優(yōu)選實施例描述了本發(fā)明,從而能夠理解本發(fā)明。但存在多種本文并未專門描述但本發(fā)明仍然適用的系統(tǒng)與應(yīng)用的配置。本發(fā)明因而不應(yīng)當(dāng)被視為對本文所述特定實施例的限制,而應(yīng)當(dāng)理解的是本發(fā)明通常具有相對于多用戶應(yīng)用的廣泛適用性。所有在所附權(quán)利要求書范圍內(nèi)的修改、改變或同等布置與實施方式因而都應(yīng)當(dāng)被視為在本發(fā)明范圍內(nèi)。
權(quán)利要求
1.一種方法,其控制用于多用戶應(yīng)用的在線會話的通信端口,所述方法包括開放執(zhí)行所述應(yīng)用的第一網(wǎng)絡(luò)計算機(jī)上的多個通信端口,所述應(yīng)用可通過所述多個通信端口將通信信號發(fā)送到其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī);使所述第一計算機(jī)的每個所述通信端口都與一個協(xié)議相關(guān),從而使得所述應(yīng)用發(fā)送并接收的通信信號將會符合所述通信端口的所述協(xié)議;指定所述第一計算機(jī)的有效通信端口,所述應(yīng)用將通過所述有效通信端口發(fā)送并接收通信信號;將通信信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī),其中所述通信信號識別所述第一計算機(jī)的所述有效通信端口與相關(guān)協(xié)議。
2.如權(quán)利要求1的方法,還包括基于所述在線會話的通信配置改變來改變所述第一網(wǎng)絡(luò)計算機(jī)的有效通信端口。
3.如權(quán)利要求2的方法,其中所述通信配置從對等配置改變成客戶機(jī)-服務(wù)器配置。
4.如權(quán)利要求1的方法,其中所述通信配置從客戶機(jī)-服務(wù)器配置改變?yōu)閷Φ扰渲谩?br>
5.如權(quán)利要求1的方法,還包括從參與所述在線會話的第二網(wǎng)絡(luò)計算機(jī)接收通信信號,其中所述通信信號識別所述第二網(wǎng)絡(luò)計算機(jī)的有效通信端口和相關(guān)通信協(xié)議。
6.如權(quán)利要求5的方法,其中將通信信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī)包括,將有效端口與協(xié)議數(shù)據(jù)附加到從所述第二網(wǎng)絡(luò)計算機(jī)接收的通信信號以形成新的通信信號,以及此后將所述新的通信信號發(fā)送到其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī)。
7.如權(quán)利要求1的方法,還包括保持識別其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī)的有效通信端口與相關(guān)協(xié)議的記錄。
8.如權(quán)利要求2的方法,還包括將通信配置改變信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī),其中所述通信配置改變信號包括所述在線會話的通信配置已改變的通知。
9.一種方法,其控制用于多用戶應(yīng)用的在線會話的通信端口的交換,所述方法包括開放第一網(wǎng)絡(luò)計算機(jī)上的多個通信端口,所述應(yīng)用可通過所述多個通信端口將通信信號發(fā)送到其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī);使所述第一計算機(jī)的每個所述通信端口都與一個協(xié)議相關(guān),從而使得所述應(yīng)用發(fā)送并接收的通信信號將會符合所述通信端口的所述協(xié)議;指定所述第一計算機(jī)的有效通信端口,所述應(yīng)用將通過所述有效通信端口發(fā)送并接收通信信號;將通信信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī),其中所述通信信號識別所述第一計算機(jī)的所述有效通信端口與相關(guān)協(xié)議;從其它參與所述在線會話的計算機(jī)接收配置改變消息,所述配置改變消息指示所述在線會話的通信配置已改變;基于所述在線會話的新通信配置指定新的有效通信端口。
10.如權(quán)利要求9的方法,其中所述配置改變消息包括所述通信配置從對等配置改變?yōu)榭蛻魴C(jī)-服務(wù)器配置的通知。
11.如權(quán)利要求9的方法,其中所述配置改變消息包括所述通信配置從客戶機(jī)-服務(wù)器配置改變?yōu)閷Φ扰渲玫耐ㄖ?br>
12.如權(quán)利要求1的方法,還包括從參與所述在線會話的第二網(wǎng)絡(luò)計算機(jī)接收通信信號,其中所述通信信號識別所述第二網(wǎng)絡(luò)計算機(jī)的有效通信端口與相關(guān)通信協(xié)議。
13.如權(quán)利要求12的方法,其中將通信信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī)包括,將有效端口與協(xié)議數(shù)據(jù)附加到從所述第二網(wǎng)絡(luò)計算機(jī)接收的通信信號以形成新的通信信號,以及此后將所述新通信信號發(fā)送到其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī)。
14.如權(quán)利要求9的方法,還包括將所述配置改變消息轉(zhuǎn)發(fā)到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī)。
15.如權(quán)利要求9的方法,還包括保持識別其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī)的有效通信端口與相關(guān)協(xié)議的記錄。
16.一種系統(tǒng),其控制用于多用戶應(yīng)用的在線會話的通信端口的交換,所述系統(tǒng)包括一個或多個執(zhí)行程序指令并接收數(shù)據(jù)集的處理器,其中所述程序指令使所述系統(tǒng)執(zhí)行下述操作,所述操作包括開放第一網(wǎng)絡(luò)計算機(jī)上的多個通信端口,所述應(yīng)用可通過所述多個通信端口將通信信號發(fā)送到其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī);使所述第一計算機(jī)的每個所述通信端口都與一個協(xié)議相關(guān),從而使得所述應(yīng)用發(fā)送并接收的通信信號將會符合所述通信端口的所述協(xié)議;指定所述第一計算機(jī)的有效通信端口,所述應(yīng)用將通過所述有效通信端口發(fā)送并接收通信信號;將通信信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī),其中所述通信信號識別所述第一計算機(jī)的所述有效通信端口與相關(guān)協(xié)議。
17.如權(quán)利要求16的系統(tǒng),其中所述程序指令使所述系統(tǒng)執(zhí)行的操作還包括,基于所述在線會話的通信配置的改變來改變所述第一計算機(jī)的所述有效通信端口。
18.如權(quán)利要求16的系統(tǒng),其中所述程序指令使所述系統(tǒng)執(zhí)行的操作還包括,從參與所述在線會話的第二網(wǎng)絡(luò)計算機(jī)接收通信信號,其中所述通信信號識別所述第二網(wǎng)絡(luò)計算機(jī)的有效通信端口與相關(guān)通信協(xié)議。
19.如權(quán)利要求18的系統(tǒng),其中將通信信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī)包括,將有效端口與協(xié)議數(shù)據(jù)附加到從所述第二網(wǎng)絡(luò)計算機(jī)接收的通信信號以形成新的通信信號,以及此后將所述新通信信號發(fā)送到其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī)。
20.一種用于計算機(jī)系統(tǒng)的程序產(chǎn)品,所述計算機(jī)系統(tǒng)執(zhí)行記錄在計算機(jī)可讀介質(zhì)內(nèi)的程序步驟以執(zhí)行一種方法,所述方法控制用于多用戶應(yīng)用的在線會話的通信端口,所述程序產(chǎn)品包括可存儲程序指令的介質(zhì);多個計算機(jī)可讀指令,其被存儲在所述介質(zhì)上,并可由所述計算機(jī)執(zhí)行以實施一種方法,所述方法包括開放第一網(wǎng)絡(luò)計算機(jī)上的多個通信端口,所述應(yīng)用可通過所述多個通信端口將通信信號發(fā)送到其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī);使所述第一計算機(jī)的每個所述通信端口都與一個協(xié)議相關(guān),從而使得所述應(yīng)用發(fā)送并接收的通信信號將會符合所述通信端口的所述協(xié)議;指定所述第一計算機(jī)的有效通信端口,所述應(yīng)用將通過所述有效通信端口發(fā)送并接收通信信號;將通信信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī),其中所述通信信號識別所述第一計算機(jī)的所述有效通信端口與相關(guān)協(xié)議。
21.一種系統(tǒng),其控制用于多用戶應(yīng)用的在線會話的通信端口的交換,所述系統(tǒng)包括一個或多個執(zhí)行程序指令并接收數(shù)據(jù)集的處理器,其中所述程序指令使所述系統(tǒng)執(zhí)行以下操作,所述操作包括開放第一網(wǎng)絡(luò)計算機(jī)上的多個通信端口,所述應(yīng)用可通過所述多個通信端口將通信信號發(fā)送到其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī);使所述第一計算機(jī)的每個所述通信端口都與一個協(xié)議相關(guān),從而使得所述應(yīng)用發(fā)送并接收的通信信號將會符合所述通信端口的所述協(xié)議;指定所述第一計算機(jī)的有效通信端口,所述應(yīng)用將通過所述有效通信端口發(fā)送并接收通信信號;將通信信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī),其中所述通信信號識別所述第一計算機(jī)的所述有效通信端口與相關(guān)協(xié)議;從其它參與所述在線會話的計算機(jī)接收配置改變消息,所述配置改變消息指示所述在線會話的通信配置已改變;基于所述在線會話的新通信配置指定新的有效通信端口。
22.一種用于計算機(jī)系統(tǒng)的程序產(chǎn)品,所述計算機(jī)系統(tǒng)執(zhí)行記錄在計算機(jī)可讀介質(zhì)內(nèi)的程序步驟以執(zhí)行一種方法,所述方法控制用于多用戶應(yīng)用的在線會話的通信端口,所述程序產(chǎn)品包括可存儲程序指令的介質(zhì);多個計算機(jī)可讀指令,其被存儲在所述介質(zhì)上,并可由所述計算機(jī)執(zhí)行以實施一種方法,所述方法包括開放第一網(wǎng)絡(luò)計算機(jī)上的多個通信端口,所述應(yīng)用可通過所述多個通信端口將通信信號發(fā)送到其它正在參與所述在線會話的網(wǎng)絡(luò)計算機(jī);使所述第一計算機(jī)的每個所述通信端口都與一個協(xié)議相關(guān),從而使得所述應(yīng)用發(fā)送并接收的通信信號將會符合所述通信端口的所述協(xié)議;指定所述第一計算機(jī)的有效通信端口,所述應(yīng)用將通過所述有效通信端口發(fā)送并接收通信信號;將通信信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī),其中所述通信信號識別所述第一計算機(jī)的所述有效通信端口與相關(guān)協(xié)議;從其它參與所述在線會話的計算機(jī)接收配置改變消息,所述配置改變消息指示所述在線會話的通信配置已改變;基于所述在線會話的新通信配置指定新的有效通信端口。
全文摘要
網(wǎng)絡(luò)應(yīng)用(440)在多用戶(410、420)環(huán)境和各種網(wǎng)絡(luò)通信配置內(nèi)操作。所述應(yīng)用(440)控制網(wǎng)絡(luò)計算機(jī)(420)的通信端口與相關(guān)通信協(xié)議的選擇,所述網(wǎng)絡(luò)計算機(jī)(420)正參與所述多用戶應(yīng)用的在線會話。運行所述應(yīng)用的網(wǎng)絡(luò)計算機(jī)(420)開放所述應(yīng)用可通過其將通信信號發(fā)送到其它正參與所述在線會話的網(wǎng)絡(luò)計算機(jī)的多個通信端口。所述網(wǎng)絡(luò)計算機(jī)(420)然后使每個所述開放通信端口與一個通信協(xié)議相關(guān),從而使得所述應(yīng)用發(fā)送并接收的通信信號將會符合所述通信端口的所述協(xié)議。所述網(wǎng)絡(luò)計算機(jī)(420)此后指定所述第一計算機(jī)的有效通信端口,所述應(yīng)用將通過所述有效通信端口發(fā)送并接收通信信號。所述網(wǎng)絡(luò)計算機(jī)然后將通信信號發(fā)送到其它參與所述在線會話的網(wǎng)絡(luò)計算機(jī),所述通信信號識別所述第一計算機(jī)(420)的所述有效通信端口與相關(guān)協(xié)議。
文檔編號G06F13/00GK1688984SQ03800848
公開日2005年10月26日 申請日期2003年3月18日 優(yōu)先權(quán)日2002年5月17日
發(fā)明者格倫·范·達(dá)塔, 亞當(dāng)·哈里斯 申請人:索尼電腦娛樂美國公司