在多用戶網絡游戲環境中管理用戶的方法和系統的制作方法【專利摘要】本發明涉及在多用戶網絡游戲環境中管理用戶的方法和系統。一種用于在游戲應用中進行階梯式排名的方法,包括:從具有向所述游戲應用注冊的用戶帳戶的玩家接收對于階梯式排名列表的請求,其中,所述游戲應用與多個注冊的用戶帳戶關聯,并且對于階梯式排名列表的所述請求包括按玩家識別的一個或多個游戲表現量度;執行存儲在存儲器中的指令,其中由處理器執行所述指令以:從向所述游戲應用注冊的所有用戶帳戶取回游戲表現數據,所述游戲表現數據存儲在應用服務器處;基于存儲的游戲表現數據,對向所述游戲應用注冊的所有用戶帳戶進行排序;以及基于所述一個或多個游戲表現量度,產生包括所有排序后的注冊用戶帳戶的階梯式排名列表。【專利說明】在多用戶網絡游戲環境中管理用戶的方法和系統[0001]本申請是國際申請日為2003年4月21日的、名稱為“多用戶應用程序接口”的發明專利申請N0.03801033.X(PCT/US03/12668)的分案申請。【
技術領域:
】[0002]本發明一般涉及計算機網絡,特別涉及在計算機網絡上由多個用戶執行的應用。【
背景技術:
】[0003]計算機網絡如局域網和因特網日益用作各方之間的各種交易和交互的中樞。從銀行客戶可以在計算機網絡上發起金融交易的在線銀行到玩游戲者可以在因特網上參與實時游戲的在線游戲,服務提供商日益地在計算機網絡上支持各種各樣的服務。目前存在各種不同計算機網絡結構來促進所發生的交易和交互。[0004]很多在線應用涉及多用戶應用,它們是在計算機系統上執行的計算機程序,并且允許多個地理上分開的參與者與計算機程序和應用環境中的其他參與用戶進行交互。例如,游戲是日益大眾化的流行多用戶應用。飛行器模擬游戲可以允許多個參與者在一個空域內駕駛他們各自的虛擬飛行器,并且可以允許參與者與同一空域內位于各自飛行器中的其他參與者進行交互。因此,在線游戲應用提供多個參與者操縱的單個應用環境或世界(universe)。[0005]為了支持具有地理上分散的應用用戶如游戲參與者的多用戶應用如在線游戲以及支持應用環境中的用戶之間的實時交互,需要共享有關環境中的每一個參與者的信息。例如,在飛行器模擬應用中,需要共享有關每個參與者的飛機的信息,包括飛行器尺寸、速度、三維空間高度、外觀細節、虛擬環境細節(如建筑物和地形)等。該信息允許每個參與者的計算機正確地記住游戲發展,并且確定由每個參與者執行的動作。這允許每個參與者在其觀察顯示器上獲得正確表現的虛擬圖像。[0006]必須在所有參與者之間共享的信息量可能大得驚人,并且可能導致帶寬問題。必須在參與者之間共享的信息量大得限制了在線游戲和其他在線多用戶應用的發展。一種用于分布管理在線應用的技術在申請人:為R.Waters等人、名稱為“DistributedSystemforCommunicationNetworksinMult1-UserApplications(用于多用戶應用中的通信網絡的分布式系統)”的美國專利N0.5,841,980中有描述。[0007]’980專利描述了龐大服務器的功能分布在多個服務器之間的系統結構,其中每個服務器服務多個局部用戶。因此,雖然以前單個服務器用作所有應用信息如游戲狀態的源,’980專利描述了游戲服務器功能分布在多個計算機之間的情形。用戶(在線參與者)自由登錄到他們最方便的服務器。這樣,不存在可能限制玩游戲的單處“瓶頸”,并且減小在線游戲社區的帶寬要求。即使在減少整體帶寬需求的情況下,必須在用戶之間傳輸以支持在線環境的純數據量可能導致緊張帶寬容量的局部瓶頸(localpocket)。[0008]其他多用戶應用提供有些笨重的用戶接口,并且對于應用服務器的操作可能是低效的。例如,一些在線游戲門戶提供到感興趣游戲網站的鏈接。提供游戲門戶網站的服務器僅提供到游戲網頁或游戲網站的鏈接。因此,游戲門戶將把用戶重定向到適當的游戲服務器或主機以獲得有關當前游戲的信息。這就對游戲服務器施加了附加的工作負擔。[0009]不幸的是,當前多用戶應用沒有針對最大工作效率進行配置,并且不能支持大量應用用戶來為在線游戲制造生存的機會。因此,需要一種改進的更高效在線多用戶應用環境。本發明滿足了這一需要。【
發明內容】[0010]本發明提供了一種多用戶在線網絡應用結構,其中在門戶或前廳(lobby)服務器上而不是在各個應用服務器或主機機器上維護應用級信息。因此,用戶可以通過與前廳服務器的通信來了解和選擇所需應用如飛行器在線游戲。在適當的授權處理之后,用戶可以聯系相關應用服務器如游戲主機以開始他們的參與。這樣,游戲服務器的功能在前廳服務器和應用服務器之間劃分。因此,前廳服務器可以減輕對應用服務器的帶寬要求和其他工作需求。應用可以包括例如多用戶交互游戲應用。這將提高工作效率。在本發明的另一方面,實時跨應用通信通過前廳服務器概念得以促進。這樣,參與一個應用的用戶可以與參與不同應用的用戶進行通信。因此,第一用戶可以登錄到前廳服務器,并且通過一個應用服務器參與飛行器在線游戲環境,同時第二用戶可以登錄到同一前廳服務器,但是可以參與不同的應用如金融包(financialpackage)或不同在線游戲。如果愿意,第一用戶和第二用戶可以相互通信,或者他們可以選擇參與在通信上相互隔離的各自環境。[0011]在本發明的另一方面,提供了多個前廳服務器和應用服務器,并且這些服務器配置成可以獲得有關在線環境的完全信息。這樣,為支持系統操作而必須執行的很多任務可以根據最適合執行該任務的機器來執行。在本發明的另一方面,多用戶應用環境提供了用于維護用戶信息的公共數據模型。例如,可以在記錄用戶成績并且將其在用戶之間和在不同應用(即游戲)之間共享的在線游戲上下文中建立階梯式排名系統。[0012]根據本發明的第一方面,提供一種在多用戶網絡游戲環境中管理用戶的方法,所述方法包括:在認證服務器上建立對多用戶網絡游戲環境的訪問;建立對與在一個或多個用戶設備上執行的一個或多個多用戶網絡游戲相關的信息的訪問,其中所述訪問在前廳服務器建立;指定該一個或多個用戶設備中的一個為多用戶網絡游戲首領;向該一個或多個用戶設備中的至少一個發送加入由該首領創建的游戲團體的邀請;維護標識游戲團體、游戲首領和答復該邀請以加入該首領創建的游戲團體的一個或多個用戶設備的信息,其中該維護的信息可用于促進將來的游戲交互;以及通過與應用服務器進行通信參與該多用戶網絡游戲,其中,游戲參與者中的每一個都與游戲團體相關。[0013]根據本發明的第二方面,提供一種用于管理多用戶網絡游戲環境中的用戶的系統,所述系統包括:認證服務器,其被配置成確定是否用戶被授權訪問多用戶網絡游戲環境;前廳服務器,其被配置成與經過授權訪問多用戶網絡游戲環境的多個網絡用戶進行通信,并且提供對與在多用戶網絡游戲環境中一個或多個用戶設備處執行的一個或多個多用戶網絡游戲相關的信息的訪問;以及應用服務器,由前廳服務器根據用戶對多用戶網絡游戲的選擇將用戶向其定向,其中,應用服務器與可用多用戶網絡游戲相關聯,其中,游戲參與者各與由游戲首領創建的團體相關聯,每個游戲參與者被邀請加入該相同的游戲團體。[0014]根據本發明的第三方面,提供一種用于管理多用戶網絡游戲中的用戶的系統,所述系統包括:認證服務器,其通過網絡與用戶通信,從而管理用戶對多用戶網絡游戲環境的訪問;應用服務器,在接收到與在多用戶網絡游戲環境中于用戶設備處正在執行的一個或多個可用多用戶網絡游戲相關的多用戶網絡游戲信息之后,根據用戶選擇將用戶向其定向,其中,應用服務器與可用多用戶網絡游戲相關聯,并且為可用多用戶網絡游戲提供計算環境,以便用戶與應用服務器通信從而參與可用多用戶網絡游戲,其中,游戲參與者各與由游戲首領創建的游戲團體相關聯,每個游戲參與者被邀請加入該相同的游戲團體;以及統一管理器服務器,其管理網絡上用戶與認證服務器之間的數據通信。[0015]通過下面對作為示例闡述本發明原理的優選實施例的描述,本發明的其他特性和優點將會變得清楚。【專利附圖】【附圖說明】[0016]圖1是在其上運行根據本發明配置的多用戶應用的計算機網絡系統的示例圖;[0017]圖2是圖1所示的系統的詳細方框圖;[0018]圖3是由圖1的系統執行的操作的流程圖;[0019]圖4是示出除了圖3所示之外的其他系統操作的流程圖;[0020]圖5是示出除了圖3所示之外的其他系統操作的流程圖;[0021]圖6是圖1所示的網絡中的計算機的方框圖,其中示出各硬件組件;[0022]圖7是圖1所示的網絡中的計算機娛樂系統的方框圖,其中示出各硬件組件。【具體實施方式】[0023]系統構誥[0024]圖1是計算機網絡系統100的方框圖,該系統由一個或多個網絡設備組成,其中網絡設備包括一個或多個客戶端計算機102,客戶端計算機102與認證服務器104通信以訪問該系統,包括參與多用戶在線應用。如下面進一步所述,客戶端計算機可以包括以經典客戶端一服務器結構或對等結構配置的計算機102(a),或者可以包括以組合其他計算機功能與客戶端計算機功能的綜合服務器(integratedserver)結構配置的計算機102(b)。應該理解,對客戶端計算機102的引用是對任一種結構的統一引用,或者對一個結構子組102(a)、102(b)或其他的引用是對指定的特定子組的引用。認證服務器通過向數據庫服務器106查詢用戶記錄來判定是否給予授權。認證服務器還與統一管理器(universemanager)計算機108進行通信,統一管理器計算機108維護有關在線用戶的記錄并且幫助管理在線應用環境或世界。[0025]在認證服務器104授權用戶102繼續之后,用戶可以通過首先與前廳服務器110通信來獲得應用級信息來參與在線多用戶應用。應用級信息可以包括有關應用及其參與用戶的信息。例如,在在線游戲應用的上下文中,前廳服務器110可以提供有關游戲和有關當前參與用戶的信息。在選擇在線多用戶應用之后,用戶被重定向到適當的應用服務器112,從該服務器,用戶接收足以允許用戶加入多用戶應用的在線環境的信息。因此,在前廳服務器110上而不是在各個應用服務器或主機機器112上維護應用級信息。因此,用戶可以通過與前廳服務器的通信來了解和選擇所需應用,如飛行器在線游戲,從而讓應用服務器自由地駐留它們的特定應用。[0026]在圖1中,以云彩狀示出前廳服務器110和應用服務器112來表示這些服務器的功能可以分布在共同提供功能的多個計算機之間或者可以由一個或多個獨立網絡計算機提供。例如,應用服務器112可以包括用作分布式存儲器引擎(DME)的專用應用服務器計算機114。作為替代,如下面進一步所述,應用服務器可以包括綜合服務器102(b)與起代理作用來向統一管理器108提供接口的應用服務器112的組合。類似地,前廳服務器110的功能可以由與客戶端102直接通信的專用前廳服務器提供,或者前廳服務器的功能可以由與客戶端進行通信的其他計算機如認證服務器或統一管理器108提供。[0027]這樣,游戲服務器的功能在前廳服務器和應用服務器之間劃分。因此,前廳服務器可以減輕對應用服務器的帶寬要求和其他工作需求。應用可以包括例如多用戶交互式游戲應用。這將提高工作效率。[0028]根據本發明,實時跨用戶通信以及跨應用通信通過前廳服務器概念得以促進。參與一個應用的用戶可以與參與不同應用的用戶進行通信。這樣,第一用戶可以登錄到前廳服務器,并且可以通過應用服務器參與飛行器在線游戲環境,同時第二用戶可以登錄到同一前廳服務器,但是可以參與不同編程環境中的不同應用如金融包或不同在線游戲。如果他們愿意,第一用戶和第二用戶可以相互通信,或者他們可以選擇參與在通信上相互隔離的各自環境。[0029]統一管理器108起到全面管理的作用,維護有關向系統登記并且經過登錄的用戶(客戶端)102的信息,通過授權服務器104、前廳服務器110和應用服務器112與用戶通信。前廳服務器110向用戶提供應用級信息,從而擔當客戶端102的應用門戶和應用信息源。例如,不同于僅提供到游戲網站的鏈接的典型游戲門戶服務器,前廳服務器提供有關當前游戲的信息并且可以提供游戲級信息如有關在線參與游戲的玩家的信息。應用服務器112提供實際應用環境。例如,在在線應用為游戲的情形下,應用服務器為由該特定應用服務器112管理的游戲提供實際玩游戲的環境,包括玩家參與者、音頻和圖形信息以及客戶端102完全參與在線游戲經歷所需的其他數據。這樣,為支持系統操作而必須執行的很多任務可以根據最適合執行任務的機器來執行。[0030]如上所述,認證服務器104與用于認證、應用信息等的數據庫服務器106通信。圖2示出數據庫服務器的詳細信息,并且示出數據庫服務器可以包括多個服務器和相關數據庫存儲器。例如,圖2示出包括認證數據服務器202和相關認證數據庫204、事務數據服務器206和相關事務數據庫208以及應用數據服務器210和相關應用數據庫212的數據庫服務器106。這些組件的操作和結構將參照下面描述來得到更佳理解。[0031]系統操作[0032]圖3、4和5是示出根據本發明構造以提供改進在線多用戶應用操作的系統的功能的流程圖。[0033]在以流程圖方框301表示的第一操作中,用戶連接到諸如游戲門戶或其他因特網網站的網絡域名以試圖訪問和登錄諸如在線游戲的多用戶應用。在下一操作中,用戶被重定向到認證服務器之一。該操作(以方框303表示)可以包括通過負載均衡器或者用于服務器工作負載管理的類似結構的操作。在下一方框303,認證服務器向用戶分配一個會話密鑰。會話密鑰在用戶的當前在線會話期間將保持有效,并且將與權限(privilege)級別相關聯,從而提供一種手段來讓各系統組件(圖1所示)確定要給予用戶的訪問級別。然后,在方框304,用戶向認證服務器提供帳戶登錄信息,然后如方框305所示,認證服務器將認證請求轉發到(數據庫服務器的)認證數據服務器。帳戶登錄涉及用戶的登記賬號或者通過其可以確定用戶訪問權的其他標識符。在下一操作(方框306)中,以適當的負載均衡處理認證請求,并將其定向到一個特定認證服務器。[0034]在下一方框307,認證數據服務器與認證數據庫直接通信以判定是否應接受用戶登錄。該操作可以涉及例如檢查用戶帳戶歷史以確保支付了所有適當費用,并且確保用戶具有繼續下去的全部授權或資格。為了維護用戶歷史,該操作307還涉及將事務記錄(登錄嘗試)發送到事務數據服務器以進行非易失性存儲。該記錄操作還可以涉及負載均衡操作。[0035]在下一方框308,將登錄嘗試的成功或失敗回報給認證服務器。登記結果轉發回到用戶以及事務數據服務器。在下一方框309,對于用戶名稱登錄過程,重復類似的處理操作。如方框310所示,對于用戶的屏幕名稱,隨同應用標識一起,執行另一個類似的登錄操作。如果屏幕名稱登錄成功,則認證服務器將把用戶分配到一個前廳服務器,并且還將把會話權限級別提升(promote)到統一管理器,從而將準許用戶在會話期間進行所有適當的訪問。應該注意,通過向統一管理器請求適當的應用服務器,認證服務器知道與用戶所提供的應用ID相對應的可用前廳服務器。統一管理器通過前廳服務器在運行時不斷向統一管理器發送的“心跳”報告而了解可用的前廳服務器。該處理以下一方框310表示。[0036]下一步,在方框311,用戶與認證服務器斷開連接,并且建立與所分配前廳服務器的通信。在方框312,用戶向所分配的前廳服務器驗證在方框303從認證服務器獲得的會話密鑰,并且還驗證應用ID。前廳服務器向統一管理器驗證該數據以及權限級別。用戶權限在成功驗證時得到升級。[0037]在系統操作的下一階段,在方框313,用戶成功完成向前廳服務器的登錄,因此有權參與系統范圍內的功能。這些功能例如可以包括聊天、團體或社區管理、玩家配合活動如團隊或部落(clan)任務,以及成績或競爭性名次和階梯進度(ladderprogress)。對關于可用聊天頻道、可用游戲、其他用戶位置、消息傳輸功能等的信息的任何用戶請求從前廳服務器轉發到統一管理器。如果信息請求涉及非易失性存儲器,則將請求轉發到適當的數據庫服務器(圖2)。[0038]在與前廳服務器成功連接之后用戶可能想要參與的系統范圍內功能之一可以包括使用一個應用。在在線游戲環境的上下文中,該應用是游戲。本領域的技術人員應該理解,可以涉及其他在線多用戶應用。如上所述,客戶端可以作為客戶端-服務器結構或對等結構的一部分或者綜合應用服務器和客戶端結構的一部分來參與在線游戲。圖4涉及在客戶端-服務器或對等結構中工作的用戶,并且圖5涉及在綜合應用服務器結構中工作的用戶。[0039]在圖4中,第一操作(當用戶在完成圖3的最后一方框之后想要加入游戲時發生)是前廳服務器將用戶的應用(游戲)請求轉發到統一管理器。在圖4處理中,客戶端配置成傳統客戶端-服務器結構或對等結構。統一管理器將用戶分配到適合于所請求游戲的游戲服務器。游戲服務器以類似于前廳服務器的方式通過連續周期性心跳報告向統一管理器通知它們的狀態。這樣,統一管理器知道系統狀態,并且可以管理和響應來自前廳服務器和應用服務器的請求。在圖4所示的第一處理操作(方框414)之后,所分配的應用服務器將服務器相關密鑰(serverspecifickey)分配給用戶(方框415)。該密鑰提供額外的安全措施來防止非授權訪問。認證服務器向統一管理器或所分配的應用服務器詢問密鑰,并且通過統一管理器將密鑰轉發給用戶以及前廳服務器。[0040]在下一方框416,用戶與所分配的應用服務器相連,向它提供從方框415接收的服務器相關密鑰。如果服務器相關密鑰不匹配應用服務器上的記錄,則用戶將與應用服務器斷開。如果匹配,則允許用戶保持與應用服務器相連。應該注意,用戶在使用應用的整個期間,諸如在玩游戲會話期間,保持連接到前廳服務器。在方框417,將周期性用戶報告從應用參與用戶發送回到用戶的前廳服務器。另外,駐留用于所有參與者的應用的應用服務器(如游戲主機)將有關應用狀態的周期性報告發送到應用主機。前廳服務器和應用服務器不直接通信,從而更好管理前廳服務器上的處理負載。[0041]在應用會話的結束處(方框418),用戶與應用服務器斷連,并且返回到正常活動,包括通過前廳服務器的所有可用前廳功能。如上所述,這些功能可以包括聊天、團體或社區管理、消息傳輸等。應該注意,當用戶連接到前廳服務器時,包括應用使用期間(例如,玩游戲期間),這些功能總是可用于用戶。[0042]如果用戶執行注銷(logout)過程,或者如果用戶由于無活動而從活動連接超時,則從統一管理器的活動記錄中清除用戶會話。這在下一方框419表示。如果用戶希望參與另一應用,則用戶必須再次通過認證過程,包括登錄過程。[0043]不同于在由專用應用服務器提供應用的網絡結構中工作,網絡還可以在由綜合服務器提供多用戶應用的結構中工作。綜合服務器是指采用向用戶機器提供應用服務器功能的綜合服務器應用配置的用戶(客戶端)機器。實現該操作方法的系統在申請人:為C.Guy,G.VanDatta和J.Fernandes、名稱為“ApplicationDevelopmentInterfaceforMult1-UserApplicationsExecutableOverCommunicationNetworks(用于可在通信網絡上執行的多用戶應用的應用開發接口)”、申請日期:為2000年11月I日的共同未決的美國專利申請N0.09/704,514中有描述。在此將該申請的全文引作參考。如上所述,當用戶想要加入游戲時,系統操作從圖3的描述移到圖4(專用應用服務器)或圖5(綜合服務器)的描述。[0044]現在參照圖5,綜合服務器結構下的第一操作是想要駐留應用(如在線游戲)的用戶初始化已安裝在用戶計算機上的綜合服務器應用。綜合服務器應用與適當的域名如游戲門戶網站進行連接。然后,綜合服務器在與結合圖3所述的初始登錄過程類似的過程中,向認證服務器執行認證過程。這些操作以圖5的第一方框514表示。[0045]當成功地向認證服務器認證時,應用駐留用戶(hostinguser)的綜合服務器應用使得周期性服務器報告傳輸到代理應用服務器。如上所述,代理應用服務器包括在圖1的認證服務器云彩112內。代理應用服務器可以包括除了應用駐留用戶的綜合服務器應用之外或者與其集成在一起的應用,或者代理應用服務器可以包括作為圖1網絡的另一個節點并且與應用駐留用戶的計算機通信的單獨服務器。無論如何,用戶的綜合服務器應用都向代理應用服務器提供周期性、有規律的“心跳”報告,以確認所駐留應用的運行,并且將狀態信息提供給代理應用服務器。代理應用服務器與統一管理器通信,從而向統一管理器提供從應用駐留用戶機器接收的應用狀態信息。正如來自專用應用服務器和任何其他綜合服務器的類似報告一樣,統一管理器在其數據集合中包括這些報告。這些報告操作以圖5的第二方框515表不。[0046]在下一操作即方框516中,用戶向所分配的前廳服務器通知其狀態來作為活動應用服務器。該新執行的應用現在將在網絡上可用。然后,前廳服務器向統一管理器登記該新應用,統一管理器將適當的應用信息加到其數據集合。統一管理器以類似于響應任何其他服務器通過網絡應用變得可用所執行的方式執行該操作。[0047]在向統一管理器登記新應用之后,網絡節點將通過各自的前廳服務器知道該應用。因此,該應用對于網絡用戶變得可用,其中,網絡用戶可以加入由綜合服務器建立的程序環境。例如,如果應用是多用戶游戲,則其他網絡用戶可以加入由應用駐留用戶的綜合服務器管理的當前游戲。加入當前游戲的過程涉及上面結合圖4的方框414、415、416和417描述的相同操作。這些操作涉及與適當的應用服務器通信、接收服務器相關密鑰、向服務器提供該密鑰、得到授權,并且向前廳服務器提供有規律“心跳”報告。這些綜合服務器操作以圖5的“加入”方框517表不。[0048]在應用會話的結束處(方框518),參與用戶可以與綜合服務器斷連,并且返回到正常活動,包括通過前廳服務器的所有可用前廳功能。如上所述,這些功能可以包括聊天、團體或社區管理、消息傳輸等。應該注意,當用戶連接到前廳服務器時,包括應用使用期間(例如,玩游戲期間),這些功能總是可用于用戶。如果應用駐留用戶(綜合服務器)希望退出駐留應用,則網絡系統(圖1)可以實現保證應用的有序關閉或者向接替駐留應用的程序環境的不同綜合服務器的有序轉移所需的過程。[0049]如果用戶執行注銷過程,或者如果用戶由于無活動而從活動連接超時,則從統一管理器的活動記錄中清除用戶會話。這在下一方框519表示。如果用戶希望參與另一應用,則用戶必須再次通過認證過程,包括登錄過程。[0050]階梯式排名[0051]共同于圖1所示的所有組件而共享的應用程序接口還包括支持階梯式排名引擎。階梯式排名是按照預定變量或量度組織或排序的用戶列表。階梯式排名在游戲應用的上下文中是最容易理解的,其中,預定變量可能是指獲勝次數、失敗次數、所得點數等。當用戶提高他或她的成績時,用戶排名將提高,從而意味著用戶將沿著排名用戶的“階梯”上移。因此,階梯式排名信息可以用于各種競爭性目的,如競賽和比賽[0052]階梯式排名信息通過周期性地向相應應用服務器報告應用狀態的各多用戶應用中的功能來收集。該狀態可以包括諸如玩家游戲進度的信息。然后,應用服務器將該信息存儲到根據用戶帳戶和當前所用的應用索引的系統數據庫。該信息由可以在網絡任何位置例如在統一管理器上運行的階梯引擎來管理,并且數據可以存儲在統一管理器的數據存儲器或者數據庫服務器(圖1)上。[0053]系統接口最好支持任何登記用戶請求階梯式排名,階梯式排名將通過階梯式排名引擎來提供。請求可以經由用戶當前參與的應用來自用戶。這保證了非參與者不能欺詐性地獲得階梯式排名信息。階梯式排名請求可以由前廳服務器或應用服務器從用戶接收,并且請求可以轉發到統一管理器上的階梯式排名引擎或者管理階梯式排名的任何其他網絡實體。當請求階梯式排名列表時,根據所存儲的用戶成績數據對指定應用的所有用戶帳戶進行排序。應用狀態信息最好包括可以同時存儲在數據庫中的多個統計數據。例如,游戲應用可以記錄獲勝次數、失敗次數、所得點數、允許點數(pointsallowed)以及感興趣的其他成績統計數據。可以對每個量度進行排序,從而根據請求階梯式排名的用戶所選的量度產生階梯式排名。而且,階梯式排名引擎以升序或降序提供對階梯式排名的排序和檢索。例如,可以以從最大點數到最小點數或者從最小點數到最大點數的次序提供階梯式排名。[0054]系統的各個服務器和數據庫不知道統計數據的性質。也就是,服務器不分析底層數據來理解獲勝次數與失敗次數或者點數與目標之間的差別。相反,各應用定義要為該應用收集的數據集,并且服務器和數據庫簡單地在數據庫中存儲所收集的數據。因此,每個應用將定義其自己的數據收集格式,其中,該格式將由數據庫服務器支持。[0055]數據可以包括在一個256字節數據字段中,該字段針對系統通過接口與之相連的每個應用分配給每個用戶的帳戶。例如,應用代碼可以通過指定排序次序、起始字節、結束字節的數據參數來執行階梯式排名功能。當接收到帶有這些參數的階梯式排名消息時,系統的服務器或數據庫將檢索與調用應用相關聯的所有帳戶的所有數據字段。起始字節位置與結束字節位置之間的每個數據記錄中的數據將視作整數值。然后,將以取決于用戶提供的排序次序參數值的升序或降序對檢索數據執行排序操作。然后,可以根據整數數據的已知標題(heading)來向用戶顯示經過排序的整數值。例如,一個特定應用可能依次以獲勝次數、失敗次數、所得點數、允許點數的順序存儲成績數據。當檢索成績數據時,可以對數據進行解析以提取所請求的數據來進行適當的顯示。其他應用可以以不同的次序存儲不同的成績參數,這對于相應應用服務器是已知的。這樣,階梯式排名引擎提供了強大的一般性跨應用階梯式排名系統。[0056]部落引擎[0057]在此所述的系統的另一個特性是部落引擎,該引擎允許任何可信應用的指定用戶即稱作“首領”的用戶命名和創建一個部落。然后,首領可以向其他用戶發出邀請以加入部落。系統將把向在發送邀請的時候未在線的登記用戶發送的任何邀請放入隊列等候,以在被邀請者下一次登錄的時候遞送。接收到部落邀請的用戶可以肯定性或否定性地答復,并且如果需要,可以成為部落成員。[0058]該系統支持各種部落特性。部落成員可以發送私有電子消息給部落成員。部落消息可以存儲在系統的服務器上直到當每個成員完成下一次登錄過程時所發生的遞送為止。系統允許部落選舉新的首領,并且對他們的部落設置各種組織結構。組織結構的例子包括獨裁制,其中,一個首領負責部落的所有決策,或者民主制,其中,所有成員和首領在部落決策中具有相同的投票權。發起部落的首領可以選擇將利用這些或其他配置中的哪一種。[0059]包括部落全體成員列表、部落活動跟蹤、部落電子消息等在內的所有各種部落數據由系統的數據庫服務器保存。部落功能以類似于上面針對階梯式排名數據所述的方式通過本發明的程序接口訪問。這允許為每個部落提供和指定或刪除很多分立功能,從而使每個部落的組成規則和工作是潛在性地獨有的。而且,程序接口允許對于多個應用以一般性方式使用部落功能。例如,在游戲上下文中,不管應用是飛行模擬器、賽車游戲或者動作類射擊游戲,都可以應用相同的團隊或部落功能。[0060]另外,多個應用可以在不相互干擾的情況下共享相同的部落和全體成員服務器和數據庫。用戶帳戶可以與同一應用中的多個部落或者跨越多個應用的多個部落相關聯,而不影響用戶帳戶或部落功能。[0061]本發明的部落引擎使用服務器端處理而不是離線的、基于萬維網(Web)的部落管理技術或者客戶端仲裁來管理部落數據,而不將任何東西構建到實際應用本身中。因此,針對在此所述的程序接口開發的任何應用可以利用構建到圖1系統的接口規范、服務器和數據庫中的部落處理。[0062]網絡設各構誥[0063]圖1的方框圖所示的網絡計算機設備(客戶端和服務器)組成計算機網絡系統100的各節點。圖6是圖1的系統100中的計算機的方框圖,其中示出包括在提供服務器和客戶端的功能的計算機之一中的各硬件組件。本領域的技術人員應該理解,圖1所示的服務器和客戶端都可以具有類似的計算機構造,或者可以具有與在此所述的各能力及相應功能一致的替代構造。[0064]圖6示出示例性計算機600,它例如可能包括任何網絡計算機。每個計算機600在中央處理器單元(CPU)602例如英特爾公司,圣克拉拉,加州,美國出品的“奔騰”微處理器和相關集成電路芯片的控制下工作。計算機用戶可以從鍵盤和計算機鼠標604輸入命令和數據,并且可以在顯示器606上觀察輸入和計算機輸出。顯示器典型地是視頻監視器或平板顯示器。計算機600還包括直接存取存儲設備(DASD)608如硬盤驅動器。存儲器610典型地包括易失性半導體隨機存取存儲器(RAM)。每個計算機最好包括接納程序產品存儲設備614的程序產品讀取器612,從程序產品存儲設備614,程序產品讀取器可以讀取數據(并且它可以可選地向其寫入數據)。程序產品讀取器可以包括例如盤驅動器,并且程序產品存儲設備可以包括可移動存儲介質如磁性軟盤、CD-R盤、CD-Rff盤或DVD盤。[0065]每個計算機600可以通過網絡接口618在計算機網絡620(如因特網或內部網)上與其他計算機通信,網絡接口618允許通過網絡620與計算機之間的連接622進行通信。網絡接口618典型地包括例如允許在各種網絡上進行通信的網絡接口卡(NIC)或調制解調器。[0066]CPU602在臨時存儲在計算機600的存儲器610中的編程步驟的控制下工作。當執行編程步驟時,計算機執行其功能。因此,編程步驟實現各個客戶端或服務器的功能。編程步驟可以通過程序產品存儲設備614或者通過網絡連接622從DASD608接收。程序產品存儲驅動器612可以容納程序產品614、讀取記錄在其上的編程步驟,并且將編程步驟傳輸到存儲器610中以由CPU602執行。如上所述,程序產品存儲設備可以包括記錄了計算機可讀指令的多種可移動介質中的任一種,包括磁性軟盤和CD-ROM存儲盤。其他適合的程序產品存儲設備可以包括磁帶和半導體存儲器芯片。這樣,本發明的操作所需的處理步驟可以實施在程序產品上。[0067]可選地,可以在網絡620上將程序步驟接收到工作存儲器610中。在網絡方法中,通過本領域的技術人員應該理解因而不作進一步說明的公知方法在網絡連接622上建立了網絡通信之后,計算機通過網絡接口618將包括程序步驟在內的數據接收到存儲器610中。然后,由CPU602執行程序步驟,從而包括計算機過程。[0068]應該理解,圖1所示的網絡系統100的所有網絡計算機都可以具有類似于圖6所示的構造,從而應該理解參照圖6計算機600所述的細節適用于系統100的所有計算機。應該理解,任何網絡計算機都可以具有其他替代結構,只要計算機可以與圖4所示的其他計算機通信并且可以支持在此所述的功能即可。[0069]例如,參照圖7,客戶端計算機102可以包括計算機娛樂系統如視頻游戲控制臺系統700。圖7是視頻游戲控制臺系統700的示例性硬件結構的方框圖。[0070]視頻游戲控制臺系統700包括與主存儲器705相關聯的中央處理單元(CPU)701。CPU701在存儲在0S-R0M760中或者從游戲程序存儲介質傳輸到主存儲器705的編程步驟的控制下工作。CPU701配置成根據編程步驟處理信息和執行指令。[0071]CPU701通過專用總線725通信性地耦合到輸入/輸出處理器(IOP)720。10P720將CPU701耦合到OSR0M760,其中,OSROM760由存儲程序指令如操作系統的非易失性存儲器構成。這些指令最好在啟動主單元700的時候通過IOP720傳輸到CPU。[0072]CPU701通過專用總線715通信性地耦合到圖形處理單元(GPU)710。GPU710是配置成根據從CPU701接收的指令執行繪圖處理和表達(formulate)圖像的繪圖處理器。例如,GPU710可以根據由CPU701生成并從其接收的顯示列表表現圖形圖像。GPU可以包括用于存儲圖形數據的緩沖器。GPU710將圖像輸出到連接到控制臺系統700的AV輸出設備790。[0073]IOP720根據存儲在IOP存儲器730中的指令控制CPU700與多個外圍組件之間的數據交換。外圍組件可以包括一個或多個輸入控制器722、存儲卡740、USB745、以及IEEE1394串行總線750。另外,總線755通信性地耦合到IOP720。總線755鏈接到若干附加組件,包括OSROM760、聲音處理器單元(SPU)765、光盤控制單元775、以及硬盤驅動器(HDD)780。[0074]SPU765配置成根據從CPU701和IOP720接收的命令生成聲音如音樂、音響效果和語音。SPU765可以包括其中存儲了波形數據的聲音緩沖器。SPU765生成聲音信號,并且將信號傳輸到揚聲器。[0075]盤控制單元775配置成控制程序讀取器,程序讀取器例如可以包括接納可移動存儲介質如磁性軟盤、CD-ROM光盤、CD-R盤、CD-Rff盤、DVD盤等的光盤驅動器。[0076]存儲卡740可以包括CPU701可以向其寫入和存儲數據的存儲介質。最好,存儲卡740可以插入到IOP720,并且從其拆卸。用戶可以使用存儲卡740來存儲或保存數據。另外,視頻游戲系統700最好裝備有至少一個可以向其寫入和存儲數據的硬盤驅動器(HDD)780。[0077]數據I/O接口如IEEE1394串行總線750或通用串行總線(USB)745接口最好通信性地耦合到10P720,從而允許將數據傳入視頻游戲系統700以及從視頻游戲系統700傳出至例如圖1所示的網絡。[0078]本發明在上面是按照本優選實施例描述的,從而可以傳達本發明的理解。然而,存在很多未在此具體描述但本發明可適用的系統和應用的結構。因此,本發明不應看作受限于在此所述的特定實施例,而是應該理解,本發明對于一般多用戶應用具有廣泛適用性。因此,所附權利要求范圍內的所有變型、變體或等價方案和實現應被認為屬于本發明的范圍內。【權利要求】1.一種用于在游戲應用中進行階梯式排名的方法,包括:從具有向所述游戲應用注冊的用戶帳戶的玩家接收對于階梯式排名列表的請求,其中,所述游戲應用與多個注冊的用戶帳戶關聯,并且對于階梯式排名列表的所述請求包括由玩家識別的一個或多個游戲表現量度;執行存儲在存儲器中的指令,其中由處理器執行所述指令以:從向所述游戲應用注冊的所有用戶帳戶取回游戲表現數據,所述游戲表現數據存儲在應用服務器處;基于存儲的游戲表現數據,對向所述游戲應用注冊的所有用戶帳戶進行排序;以及基于所述一個或多個游戲表現量度,產生包括所有排序后的注冊用戶帳戶的階梯式排名列表。2.如權利要求1所述的方法,其中,存儲在應用服務器處的游戲表現數據是在定期的游戲應用報告期間收集的。3.如權利要求1所述的方法,其中,游戲表現量度包括獲勝次數。4.如權利要求1所述的方法,其中,游戲表現量度包括失敗次數。5.如權利要求1所述的方法,其中,游戲表現量度包括所得點數。6.如權利要求1所述的方法,其中,游戲表現量度包括允許點數。7.如權利要求1所述的方法,其中,所述階梯式排名列表按升序排序。8.如權利要求1所述的方法,其中,所述階梯式排名列表按降序排序。9.一種用于在游戲應用中進行階梯式排名的系統,包括:前廳服務器,用于從具有向所述游戲應用注冊的用戶帳戶的玩家接收對于階梯式排名列表的請求,其中,所述游戲應用與多個注冊的用戶帳戶關聯,并且對于階梯式排名列表的所述請求包括由玩家識別的一個或多個游戲表現量度;存儲在存儲器中的階梯引擎,其可由處理器執行以:從向所述游戲應用注冊的所有用戶帳戶取回游戲表現數據,所述游戲表現數據存儲在應用服務器處;基于存儲的游戲表現數據,對向所述游戲應用注冊的所有用戶帳戶進行排序;以及基于所述一個或多個游戲表現量度,產生包括所有排序后的注冊用戶帳戶的階梯式排名列表。10.如權利要求9所述的系統,其中,所述階梯引擎執行另外的指令以按升序對階梯式排名列表進行排序。11.如權利要求9所述的系統,其中,所述階梯引擎執行另外的指令以按降序對階梯式排名列表進行排序。12.—種其上實施有程序的非暫態計算機可讀存儲介質,所述程序可由處理器運行以執行一種用于在游戲應用中進行階梯式排名的方法,該方法包括:從具有向所述游戲應用注冊的用戶帳戶的玩家接收對于階梯式排名列表的請求,其中,所述游戲應用與多個注冊的用戶帳戶關聯,并且對于階梯式排名列表的所述請求包括由玩家識別的一個或多個游戲表現量度;從向所述游戲應用注冊的所有用戶帳戶取回游戲表現數據;基于存儲的游戲表現數據,對向所述游戲應用注冊的所有用戶帳戶進行排序;以及基于所述一個或多個游戲表現量度,產生包括所有排序后的注冊用戶帳戶的階梯式排名列表。【文檔編號】A63F13/71GK104069637SQ201410266012【公開日】2014年10月1日申請日期:2003年4月21日優先權日:2002年4月26日【發明者】謝卡·杜培利阿,格林·范達塔,布萊恩·費南德斯,艾科·E.·卡托,威廉·邁克卡隆申請人:索尼電腦娛樂美國有限責任公司