在多用户网络游戏环境中管理用户的方法和系统的制作方法

文档序号:1625158阅读:248来源:国知局
在多用户网络游戏环境中管理用户的方法和系统的制作方法【专利摘要】本发明涉及在多用户网络游戏环境中管理用户的方法和系统。一种用于在游戏应用中进行阶梯式排名的方法,包括:从具有向所述游戏应用注册的用户帐户的玩家接收对于阶梯式排名列表的请求,其中,所述游戏应用与多个注册的用户帐户关联,并且对于阶梯式排名列表的所述请求包括按玩家识别的一个或多个游戏表现量度;执行存储在存储器中的指令,其中由处理器执行所述指令以:从向所述游戏应用注册的所有用户帐户取回游戏表现数据,所述游戏表现数据存储在应用服务器处;基于存储的游戏表现数据,对向所述游戏应用注册的所有用户帐户进行排序;以及基于所述一个或多个游戏表现量度,产生包括所有排序后的注册用户帐户的阶梯式排名列表。【专利说明】在多用户网络游戏环境中管理用户的方法和系统[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.·卡托,威廉·迈克卡隆申请人:索尼电脑娱乐美国有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1