专利名称:用于将动态内容引入合成环境中的分布式网络架构的制作方法
技术领域:
本发明的实施例大体上涉及基于计算机的模拟以及合成环境产生,且更明确地说,涉及用于以分布式架构产生合成环境以尤其引入动态内容的系统、计算机可读媒体、方法和设备。
背景技术:
传统的用于设计和模拟计算机产生的环境(例如大型多玩家在线("MMO")游戏中的虚拟世界)的技术并不容易便于新的或经修改的虚拟世界的高效开发和制作。而且,常规的用于产生虚拟世界的游戏平台进一步阻碍了尤其是相对于大型多玩家在线游戏的虚拟世界的开发和制作。通常,常规游戏平台使用一组游戏服务器来创建虚拟世界,其中每一额外组的游戏服务器用于创建虚拟世界的副本。此些副本通常被称为"碎片(shard)"。常规的游戏平台以例行方式将每一虚拟世界的地理范围划分成若干分区,且分配一个游戏服务器来产生每一单个分区。经配置以产生虚拟世界的分区的游戏服务器通常被称为"区域服务器"。此外, 一些常规游戏服务器是单片的,这意味着用于为虚拟世界产生分区的所冇游戏进程是在单个进程和/或服务器中创立的。虽然常规游戏平台以及开发计算机产生的世界的传统方法是有作用的,但存在与之相关联的多种缺陷。
某些常规游戏平台的缺陷在于,其为虚拟世界的分区分配一个游戏服务器。由此,游戏服务器及其功能性通常直接与分区及其活动联系起来。地理上相连的游戏服务器的性能因此依据所述分区处的玩家数目以及该处正在执行的活动的种类而变。此外,使用单片游戏服务器的常规游戏平台因为其无法调整其硬件能力以满足需求的增长而在某种程度上是受限的。因此,随着更多玩家移动到特定分区,支持所述分区的游戏服务器的负担变得越来越重。这又限制了可与对应的虚拟世界分区互动的玩家的数目。作为补救,某些大型多玩家在线游戏操作以将玩家从人数过多的游戏服务器迁移到人数相对较少的游戏服务器。这可能显著影响玩家体验。
传统游戏平台的又一缺点在于,每一游戏服务器与同一虚拟世界中的其它游戏服务器相比,通常具有单独的用于产生虚拟世界分区的进程空间。玩家越过为两个虚拟世界部分划定界线的地理边界而互动是常见的。由此,难题由于分区边界的缘故而出现,且常规游戏平台通常需要计算资源来尝试管理越分区互动。举例来说,与一个分区中的一个玩家相关联的游戏服务器通常需要某一种类的跟踪功能性来跟踪所述玩家与其它虚拟世界分区中的其它玩家的互动。作为另一实例,考虑通常需要计算资源来维持玩家作为不同进程空间中的代理。传统上,将玩家实施为代理要求将用于一个虚拟世界分区的玩家特有信息的一种表示(例如,角色识别符)转换成用于和另一虚拟世界分区的单独进程空间一起使用的另一表示。此外,游戏服务器通常使用(例如)远程程序调用来在游戏服务器G己之间就玩家互动进行通信,这增加了通信的复杂性以及越分区互动的等待时间。
常规游戏平台的进一步缺点在于,越过不同虚拟世界分区而互动的玩家(或玩家代理)可容易中断交易以不正当地为其自身获利。为了说明,考虑一个虚拟世界分区处的第一玩家提出用武器来交换另一虚拟世界分区处的第二玩家所拥有的金币。接下来,考虑第一玩家接收到金币,但在交出武器之前,第一玩家断开位于不同虚拟世界分区的游戏服务器之间的连接。因此,第一玩家将接收到金币但没有交换武器。
使用单片游戏服务器的一个缺陷在于,如果单片游戏服务器的游戏子进程中的一者(例如物理学进程)不稳定或关闭,那么所述游戏子进程驻存在其中的整个游戏服务器也容易经受不稳定或关闭。
使用当前的客户端-服务器架构来设计和模拟用于大型多玩家在线游戏的计算机产生环境存在其它缺陷。考虑连同为新的或经修改的虚拟世界创建新内容所需的开发活动--起,游戏设计者和开发者还定期修改可执行指令以适应所述新内容及其数据。修改可执行指令通常增加了开发时间,尤其是在用以剔除程序错误和其它问题的质量保证和可靠性测试期间。此外,大型多玩家在线游戏通常要求在与新内容互动之前,将经修改的可执行代码下载到客户端。举例来说,对于大型多玩家在线游戏平台,实施可包含经修改的可执行代码的大数据下载(例如,250 MB)是常见的。
鉴于上述内容,将需要提供用于以分布式架构产生合成环境以尤其将动态内容引入合成环境中的系统、计算机可读媒体、方法和设备,且需要进一步为高效开发和制作新的或经修改的合成环境作准备。
发明内容
本发明的实施例大体上涉及基于计算机的模拟和合成环境产生,且更明确地说,涉及用于以分布式架构产生合成环境以尤其引入动态内容的系统、计算机可读媒体、方法和设备。在一个实施例中,合成环境产生平台可实施通用数据结构和消息接发系统以便利合成环境的产牛。
1
连同以下结合附图而进行的详细描述将更全面地了解本发明,在附图中
图1A描绘根据本发明至少一个实施例的用于产生合成环境的系统。
图IB是根据本发明至少一个实施例的相对于准聚合进程空间而整体或部分产生合
成环境的游戏管理服务器的图解。
图2是展示根据本发明至少一个实施例的消息接发系统的实例的图。
图3描绘根据本发明至少一个实施例的用于产生实施通用消息接发接口的合成环境
的系统。
图4A描绘根据本发明至少一个实施例的用于将动态内容引入合成环境中的方法。图4B描绘根据本发明至少一个实施例的经配置以将动态内容引入合成环境中的合成环境产生平台。
图5是根据本发明至少一个实施例的用于在产生合成环境时使用的准聚合进程空间的图解。
图6是展示根据本发明至少一个实施例的实施经压縮通用消息的消息接发系统的一部分的实例的图。
图7描绘根据木发明至少一个实施例的用于产生实施主縮放服务器的合成环境的系统。
图8是展示根据本发明至少一个实施例的添加可縮放游戏子进程服务器的主縮放服务器的实例的图。
图9是根据本发明至少一个实施例的实施游戏子进程服务器的特定实施方案的合成
环境产生平台的图解。
图IO是展示根据本发明至少一个实施例的物理学进程的实施方案的图。图11是展示根据本发明至少一个实施例的用于确定能见度的技术的图。图12是根据本发明至少一个实施例的实施额外类型的游戏子进程服务器的合成环
境产生平台的图解。 .
13是展示根据本发明至少一个实施例的用于在打补丁期间允许玩游戏的技术的图。
图14是根据本发明至少一个实施例的实施事件服务器和事件编辑器的合成环境产生平台的图解。
图15描绘根据本发明至少一个实施例的用于创建用于引入各种程度的动态内容的事件的流程。
图16是展示根据本发明至少一个实施例的通用数据结构的特定实施方案的图。图17是描绘根据本发明至少一个实施例的特性类系统的要素的图。图18描绘根据本发明至少一个实施例的用于创建通用消息的流程。图9说明根据本发明至少一个实施例的用于创建通用消息的特性类系统的要素。图20说明根据木发明至少一个实施例的用于创建插接物的特性类系统的要素。图21是展示根据本发明至少一个实施例的实施经压縮通用消息的消息接发系统的一部分的实例的图。
图22是根据本发明至少一个实施例的实施用以与合成环境产生平台互动的通用消息接发接口的若干客户端的图解。
相同参考标号在附图的这几张图中始终指代对应的部分。请注意,大多数参考标号的一个或两个最左边的数字通常识别第一次引入所述参考标号的图。
具体实施例方式
图1A描绘根据本发明至少一个实施例的用于产生合成环境的系统。此系统的一个实例是合成环境产生平台100,其包含联网在一起以产生客户端150与之互动的合成环境的节点(和节点进程)。合成环境产生平台100表示客户端-服务器网络架构中的服务器侧结构和/或功能性,且客户端150表示客户端侧结构和/或功能性。所述节点包含游戏子进程服务器104、数据库112和游戏管理服务器122,其全部通过网络115耦合在一起,以分别实施游戏子进程102、数据库进程110以及游戏管理进程120。游戏子进程102可包含多于或少于子进程102a、 102b和102c的子进程。如图所示,游戏子进程服务器104至少相对于游戏管理服务器122以分布式布置而布置,从而使游戏子进程102与游戏管理进程120分离。在至少一个实施例中,游戏子进程服务器104a、游戏子进程服务器i(Mb以及游戏子进程服务器104c可经配置以分别作为物理学服务器、人工智能服务器以及交易服务器而操作,或作为任何其它游戏相关子进程而操作。此外,根据各种实施例,合成环境产生平台IOO经配置以实施准聚合进程空间152,其可在游戏管理服务器122之间或在合成环境产生平台100与其它类似的合成环境产生平台100 (未图示)之间共享,或两种情况均可。
通过与游戏管理进程120分离地分布游戏子进程102a、 102b和102c,游戏管理服务器122独立地操作,从而使得其较不容易受游戏子进程服务器104中的任一者的性能恶化影响。因此,可将硬件和软件故障定位到特定的游戏服务器子进程102,从而允许
13问题识别和解决加速,且常常不会中断游戏管理进程120。这允许客户端150 (例如, 客户端150a和客户端50b)继续与合成环境互动,而不会被游戏子进程服务器104所 发生的问题中断。另外,分布式游戏子进程102a、 102b和102c促进了可联机以充分提 供适当量的游戏子进程102a、 102b和102c的游戏子进程服务器104的量的独立縮放。 举例来说,如果合成环境需要额外的人工智能,那么可独立于其它游戏子进程102 (例 如物理学进程)的需要而使额外的人工智能服务器联机。因此,可实施适当量的硬件和 软件以便于合成环境产生,以供任一数目的客户端150与合成环境产生平台IOO所产生 的合成环境互动。此外,与其它类似的合成环境产生平台共享的准聚合进程空间152便 于平台间(即,越碎片(cross-shard))互动,从而尤其为经改进的通信和更安全的交易 作准备。
游戏管理服务器122每一者经配置以与游戏子进程102和数据库进程110合作以产 生参与者与之互动的合成环境。由此,游戏管理服务器122经配置以对与客户端150相 关联的若干参与者与合成环境的互动进行管理。请注意,可相应地縮放游戏子进程102 以支持客户端150的数目。在各种实施例中,客户端150可越过多个游戏管理服务器122 而分布,而不是限于一个游戏产生进程。为了说明,考虑客户端150a可与游戏管理服 务器122a互动,且客户端150b可与游戏管理服务器122c互动。虽然客户端150a和150b 与不同的游戏管理进程互动,但它们可共享准聚合进程空间152,不管客户端150a和 150b与之互动的合成环境如何。在一个实施例中,客户端150a和150b可共享准聚合进 程空间152作为共用进程空间。由此,越合成环境互动可容易发生。在一些实施例中, 游戏管理服务器122可操作以批准特定参与者所请求的动作,从而验证所述参与者有权 修改游戏数据。在至少一个实施例中,游戏管理服务器122a到122n以只读形式保存表 示客户端150与合成环境的互动的游戏数据。由此,无法操纵游戏数据来破坏交易,所 述交易否则可能会不正当地使参与者获利。
在一个实施例中,游戏子进程服务器104a可为物理学服务器,其可经配置以处理 例如合成环境中的参与者的移动和碰撞活动。举例来说,物理学服务器104a可处理物 理学相关事件,例如碰撞检测、刚性身体移动等。根据至少一个实施例,游戏子进程服 务器104b可为人工智能服务器,其可经配置以提供人工智能以模拟(例如)合成环境 中的非玩家角色("NPC")的移动。
在各种实施例中,游戏子进程服务器104c可为交易服务器,其可经配置以管理参 与者之间的交易以确保交易是原子形式的。也就是说,游戏子进程服务器104c可操作 以确保交易的所有部分均发生,或所有部分均不发生,从而保证存储在数据库进程110
14中的游戏数据不被更新,除非交易的所有部分均成功,从而减少供参与者寻求不正当获 利的漏洞。交易服务器是游戏授权方,其确保活动对两个参与者均正确地完成,或对两 个参与者均失败。在一个实施例中,合成环境产生平台100中的所有服务器均为只读除 外(read-only except)游戏子进程服务器104c (作为交易服务器)。因此,交易服务器 (如游戏子进程服务器104c)可作为用于交易游戏数据的单个授权方(即,其被授权修 改游戏数据)而操作。在至少一个实施例中,构成游戏子进程服务器104的交易服务器 可经配置以实施准聚合进程空间152作为一元进程空间,从而使参与者能够加入用于不 同合成环境的游戏管理服务器,同时在准聚合进程空间152所提供的模仿共用进程空间 内进行交易。
在操作中,客户端150a和150b产生致使参与者的表示(例如,化身)修改游戏管 理进程120中的游戏数据的请求。如本文所使用,至少在一个实施例中,术语"游戏管 理服务器"指代管理参与者与合成环境的互动的计算装置和/或进程。举例来说,游戏管 理服务器可接受来自客户端150的输入,且作为响应,与游戏子进程102和数据库进程 110合作以产生经修改的游戏数据(其表示基于客户端互动的经修改的合成环境),以供 传回到客户端150a和150b。如本文所使用,至少在一个实施例中,术语"游戏子进程 服务器"指代执行一游戏进程的子集的计算装置和/或进程(例如物理学服务器和人工智 能服务器),其结果由游戏管理服务器使用。
如本文所使用,至少在一个实施例中,术语"节点"指代影响合成环境的产生的计 算装置和/或进程,例如服务器、客户端、数据库等。如本文所使用,至少在一个实施例 中,术语"游戏数据"指代与合成环境的产生有关的数据的至少一子集。游戏数据可包 含用以(例如)产生合成环境的地形的地图数据。游戏数据还可包含参与者的状态,包 含角色数据、库存数据(例如,武器数据)、银行数据、合成家庭数据、奖品数据等。 如本文所使用,至少在一个实施例中,术语"合成环境"可指代作为既定供其参与者经 由(例如)化身而居住和互动的基于计算机的模拟环境的虚拟世界(或其一部分)。合 成环境也可指代碎片或永恒世界(或其一部分),永恒世界是在具有或不具有参与者互 动的情况下均在进行的虚拟世界。如本文所使用,至少在一个实施例中,术语"参与者" 指代玩家,或玩家的二维或三维图形表示(例如,化身)表示,或上述两者。参与者也 可指代玩家与之互动的客户端。如本文所使用,至少在一个实施例中,术语"准聚合进 程空间"指代为应用程序分配的且/或为供处理器(例如, 一个或一个以上中央处理单元 ("CPU"))执行指令而实施的存储器空间,藉此所述存储器空间经配置以起用于某些类 型的数据的经聚合的共用进程空间的作用,且进一步经配置以起用于一种或一种以上其它类型数据的单独进程空间的作用。
请注意,根据其它实施例,游戏子进程服务器104和游戏子进程102可经配置以实 施任何其它游戏相关进程,以便于(例如)大型多玩家在线游戏("MMO")。此外,一 个或一个以上数据库U2a到112c可经配置以存储(例如)用以尤其产生合成环境的数 据。由此, 一个或一个以上数据库112a到112c可存储与参与者账户、统计数据、审计 数据、游戏数据等有关的账户数据。在特定实施例中,合成环境产生平台IOO经配置以 经由链路140交换数据,链路140可通过(例如)若干网络(未图示)中的任一者(包 含因特网)来传达通信信号。在一个实施例中,链路140经配置以便以至少从约5 Kbs 到约IO Kbs或更高的速率来传输和/或接收数据。由此,链路140可尤其大体上同时支 持5 Kbs上游和5 Kbs下游。在其它实施例中,链路140是相对较高带宽链路,其可(例 如)使用数字订户线("DSL")技术、电缆技术、卫星技术等而实施为宽带连接。而且, 链路140可为无线链路。在一个实施例中,高带宽链路140可以比10Kbs快的速率传输 和/或接收数据,且由此,链路140可实施高于10Kbs的数据传送速率。此外,网络115 经配置以便以每秒至少1到16千兆位或更快的速率输送消息和/或包。在一个实施例中, 网络115是10千兆位以太网("10GbE")网络。
图1B是根据本发明至少一个实施例的整体或部分产生与进程空间相连的合成环境 的游戏管理服务器的图解。合成环境产生平台160经配置以产生用于客户端150a和150b 的合成环境162。在此实例中,合成环境162包含四个区 一区("R1") 163、 二区("R2") 165、三区("R3") 167、四区("R4") 169。接下来,考虑参与者170和参与者172分 别与客户端150a和150b相关联。合成环境产生平台160包含由游戏("mgmt")管理服 务器122a到122d实施的游戏管理进程120。合成环境产生平台160还包含可用其产生 合成环境162的准聚合进程空间161。
根据本发明的各种实施例,准聚合进程空间161经配置以在某些实例中作为共用进 程空间而操作,且在其它实例期间作为单独进程的集合而操作。明确地说,准聚合进程 空间161经配置以充当第一游戏数据子集的共用进程空间,且经配置以充当第二数据子 集的单独进程空间。举例来说,交易服务器190经配置以实施准聚合进程空间161,作 为(例如)非几何相关数据和交易相关数据的共用进程空间,而游戏管理服务器122经 配置以实施准聚合进程空间161,作为(例如)几何相关数据的单独进程空间。在至少 一个实施例中,合成环境产生平台160包含交易服务器190以整体或部分实施准聚合进 程空间161。明确地说,交易服务器l卯具有共用进程空间,其用以处理参与者170c的 第一数据子集192和参与者172的第一数据子集194两者。第一数据子集192和194的实例包含表示参与者希望进行贸易的物品的数据。举例来说,参与者170c和172的第 二数据子集可与例如游戏管理服务器122b和122d处理的几何数据有关。
在操作中,当参与者170登入时,合成环境产生平台160将所述参与者指派给游戏 管理服务器122b。作为对比,当参与者172登入时,合成环境产生平台160将参与者 172指派给游戏管理服务器122d。参与者170和172在会话期间保持分别与游戏管理服 务器122b和122d相关联。接下来,考虑两者均希望加入二区165处的活动,如同未图 示的许多其它参与者所做的那样。参与者170a在一区163处进入合成环境162,且接着 移动到二区165作为参与者170b。由于一区163和二区165两者均与准聚合进程空间 161有关,因此当(例如)准聚合进程空间161被作为共用进程空间而接入时,不需要 原本将需要的用来管理越分区互动的计算资源。参与者170c可进一步移动到三区167, 且接着移动到四区169作为参与者170d。请注意,随着更多的参与者进入二区165,增 加的数目并不会对应地使服务器停顿。这是因为根据本发明的各种实施例,产生合成环 境162的游戏相关进程并未链接到地理位置。在此实例中,没有一个游戏管理服务器122 承受全部负担,负担可作为整体分摊在游戏管理进程120上。因此,大量参与者可聚集 在一个区处,而不会显著倾覆单个游戏管理服务器122的性能。
图2是展示根据本发明至少一个实施例的消息接发系统的实例的图。图2展示合成 环境产生平台200,其实施消息接发系统250的至少一部分,所述消息接发系统250经 配置以经由网络230将数据库进程201、服务器进程206和客户端进程240 (全部为节 点)耦合在一起。网络230可为计算机网络或任何其它类型的通信网络。数据库进程201 包含数据库("d/B") 202和数据库管理系统("DBMS") 204,数据库管理系统204控 制数据库202中的数据的组织、存储和检索。在操作中,消息接发系统250经配置以传 播消息(例如,消息220a和220b),其包含通用数据结构260以将数据整合到例如服务 器进程206的节点(或节点进程)中。明确地说,消息接发系统250经配置以便以可由 所述进程中的每一者使用的数据布置在数据库进程201、服务器进程206和客户端进程 240之间交换数据。在一个或一个以上实施例中,与消息220a和220b相关联的数据布 置可直接由所述进程中的每一者使用。举例来说,服务器进程206可使用根据消息220a 所使用的通用数据结构("UDS") 260a而布置的数据。由此,数据库进程201、服务器 进程206和客户端进程240无需要求从与消息220a和220b相关联的数据结构到特定节 点原本可能要求的不同(或专用)形式的转换。因此,不存在原本可能需要的用来为此 转换作准备的可执行代码。
如图2所示,消息接发系统250可包含若干通用消息接口,例如通用消息接口 210a、通用消息接口 210b和通用消息接口 210c,其每一者可经配置以产生消息220a和220b, 以供在整个合成环境产生平台中且以客户端进程240传输。通用消息接口 210a、 210b 和210c每一者可经配置以接收消息220a和220b,以用于将其数据整合到节点进程中。 此外,当开发通用数据结构260时,不需要重新编译可执行代码,原本将需要重新编译 可执行代码以将一种类型的数据结构转换成不同的数据结构。如本文所使用,至少在一 个实施例中,术语"通用数据结构"指代可由节点通用的数据的表示,以及消息220a 和220b,其不需要转换成某一不同(或专用)数据结构。
在各种实施例中,图2的通用消息接口 210a、 210b和210c可相同或者可不同以适 应其与之有关的节点。通用消息接口210a、 210b和210c可在节点内部实施,或者通用 消息接口210a、 210b和210c可安置在合成环境产生平台内的任何地方。在至少一个实 施例中,通用消息接口210a、 210b和210c每一者可经配置以向任一或所有其它节点广 播出消息,例如消息220a。由此,通用消息接口210a、 210b和210c每一者可经配置以 检测消息中的每一者是否既定用于通用消息接口与之有关的节点。在另一实施例中,通 用消息接口210a、 210b和210c每一者可经配置以传输以一目的地为目标的消息。在一 个实施例中,客户端与合成环境产生平台之间的消息(例如消息220b)可以一个或一个 以上用户数据报协议("UDP")或因特网协议("IP")包的形式实施。在一个实施例中, 服务器进程206与数据库进程201之间的消息可以一个或一个以上传输控制协议 ("TCP")包的形式实施。在一个实施例中,网络230支持合成环境产生平台200的平台 内通信。在至少一个实施例中,客户端进程240经由网络232耦合到合成环境产生平台 200。在至少一个实施例中,网络232包含因特网或任何其它通信网络。在一些实例中, 客户端进程240经由中问进程(未图示)与数据库进程201和/或服务器进程206交换消 息。将此中问进程的实例展示为图12的用户服务器。
在一个实施例中,通用数据结构260是属于面向对象的编程语言的类别,例如C+十 或任何其它编程语言。在另一实施例中,所有类型的通用数据结构260可涉及单个类别。 通用消息接口 210a、 210b和210c可确定经配置以使节点能够以通用数据结构260来实 施(例如,直接实施)数据的实例管理纲要。在一个实施例中,节点可包含对指导节点 如何实施通用数据结构260的纲要的参考。在另一实施例中,通用消息220a包含所述 参考。在一些实施例中,通用消息接口210a、 210b和210c每一者可经配置以用与平台 无关的格式来格式化通用数据结构,所述格式可独立于处理器和/或操作系统而使用。与 平台无关的格式的一个实例是由(例如)可扩展标记语言(例如XML)定义的格式。 XML由万维网联盟("W3C")主张。图3描绘根据本发明至少一个实施例的用于产生实施通用消息接发接口的合成环境 的系统。在此实例中,合成环境产生平台300包含通用消息接口 ("UMI") 302、 304和 306,其经配置以传输和/或接收基于通用数据结构的消息。如图所示,通用消息接口 302a、 302b和302c分别安置丁游戏进程102a、 102b和102c处或附近。通用消息接口 302a、 302b和302c中的每一者均与游戏子进程服务器104相关联。在一些情况下,通用消息 接U 302a、 302b和302c每一者可具有等效的结构和/或功能性,且在其它情况下,通用 消息接U 302a、 302b和302c可具有不同的结构和/或功能性。举例来说,物理学服务器 可能需要与(例如)人工智能服务器不同的通用消息接口。图3还展示合成环境产生平 台300包含分别安置于数据库112a、 112b和112c处或附近的通用消息接口 304a、 304b 和304c,以及分别安置于游戏管理服务器122a、 122b、 122c和122n处或附近的通用消 息接口 306a、306b、306c和306n。通用消息接口 308a和308b相对于客户端150a和150b 而实施。请注意,304a、 304b、 304c、 306a、 306b、 306c、 306n、 308a和308b可相对 于彼此具有等效或不同的结构和/或功能性。还请注意,图3的类似命名的元件在某些情 况下可具有与图2中所陈述的那些元件等效的结构和/或功能性。
图4A描绘根据本发明至少一个实施例的用于将动态内容引入合成环境中的方法。 图401描绘根据- 个实施例使用合成环境产生平台开发(例如)大型多玩家在线 ("MMO")游戏。在代码开发和编译阶段431期间,游戏开发者可产生并编译源代码, 以形成对象代码421作为可执行代码。在开发源代码中,可产生并编译套接字代码423。 套接字代码423包含经配置以从插接物数据(plug data) 425接入数据的可执行指令和/ 或输入。由此,作为质量保证("QA")过程的一部分,可与套接字代码423和对象代 码421两者配合开发插接物数据425。在满足质量保证度量之后,可发布对象代码421 (包含套接字代码423)和插接物数据425以用于在线游戏。在代码开发和编译阶段433 之后,内容开发者可在后代码编译阶段433期间实施合成环境产生平台以创建其它插接 物数据427。在阶段433期间,可创建插接物数据427以与套接字代码423 —起使用, 而无需修订对象代码421。举例来说,内容开发者可用作为插接物数据427的神盾巡洋 舰(Aegis Cruiser)来代替由插接物数据425形成的皮艇(kayak),而不修改可执行代 码。通过前面的对象代码的重新编译,开发者可更快速地将新的动态内容传递到合成环 境实施套接字代码423中。此外,可创建未来插接物数据470而不影响对象代码,从而 便于相对迅速的内容开发。如本文所使用,至少在一个实施例中,术语"动态内容"指 代可作为计算机产生的视觉和/或声音内容引入合成环境中的内容数据,藉此可独立于内 容数据与之互动的可执行代码的修改而创建内容数据。由此,可在不影响对象代码的情况下开发内容数据。
图4B描绘根据本发明至少一个实施例的经配置以将动态内容引入合成环境中的合 成环境产生平台。在此实例中,系统400包含合成环境产生平台450,其经配置以产生 参与者与之互动且动态内容422被引入其中的合成环境420。系统400包含数据存储库 402、 430和460。明确地说,数据存储库402经配置以存储插接物对象410a和410b, 其包含用于分别引入皮艇和神盾巡洋舰作为动态内容422的内容数据。插接物对象410a 和410b可实施与各种实施例的通用数据结构类似或相同的数据布置。插接物对象410a 和410b还可包含表示位置、定位、速度和小船可沿着其航行的路径424的数据。数据 存储库430经配置以存储用于运行(例如)大型多玩家在线游戏的对象代码434。数据 存储库430还经配置以存储可形成对象代码434的一部分的套接字代码432。套接字代 码423包含经配置以从(图4A的)插接物数据425接入数据的可执行指令和/或输入, 以由对象代码434用于实现动态内容422的产生。数据存储库460经配置以存储世界数 据462以形成合成环境420。世界数据462和套接字代码432可共享用于界定套接字代 码423将引入动态内容422的位置的关系464。
合成环境产生平台450包含事件服务器452,其经配置以将动态内容422引入合成 环境420的至少一部分中。可大体上与对象代码指令的执行一致地引入动态内容422以 产生合成环境420。由此,合成环境产生平台450可经配置以初始化插接物插入进程440, 在此期间,插接物对象410a和410b中的一者被插入套接字代码432中以例示动态内容 422。在特定实施例中,事件服务器452经配置以在不修改对象代码434的情况下引入 动态内容422。在一个实施例中,插接物对象410a和410b属于包含至少一个通用数据 结构的通用对象系统。此外,插接物对象410a和410b以及通用对象系统免除了为引入 动态内容422而重新编译对象代码指令434。通过实施插接物对象410和套接字代码432, 至少一个游戏管理服务器可经配置以在不重新启动的情况下,例如在实施经修改的对象 代码之后,产生动态内容422。
图5是根据本发明至少一个实施例的供产生合成环境时使用的进程空间的图解。这 里,合成环境产生平台500经配置以产生用于客户端550a和550b的合成环境。合成环 境产生平台500包含由游戏管理("mgmt")服务器522a到522n实施的游戏管理进程 520。合成环境产生平台500还包含准聚合进程空间502,其中可将交易(例如交易504) 实施为原子形式交易。由此,执行交易的所有部分或不执行其任何部分。为了说明,考 虑以下实例,其中第一参与者("参与者l") 506与客户端550a相关联,且第二参与者 ("参与者2") 510与客户端550b相关联。第一参与者506和第二参与者510分别拥有
20物品("物品A") 508和物品("物品B") 512。接下来,考虑参与者506和510安排交 换物品508和512,但仍须确认其意愿。 一旦两个参与者506和510同意交换,则交易 被最后定下来。在例如此情况的交易期间,准聚合进程空间502经配置以起共用进程空 间的作用,从而使交易504较不容易受到操纵。在一个实施例中,交易服务器(未图示) 操作以与准聚合进程空间502互动或提供准聚合进程空间502。根据一个实施例,准聚 合进程空间502模仿共用进程空间,且由此,使参与者能够容易在由不同的合成环境产 生平台500创建的不同合成环境之间转移。如本文所使用,至少在一个实施例中,术语 "交易"指代构成涉及与合成环境互动的一个或一个以上参与者的活动的一组任务。
图6是展示根据本发明至少一个实施例的实施经压縮通用消息的消息接发系统的一 部分的实例的图。这里,消息系统部分600包含服务器进程606和客户端进程650,其 两者经由网络630而耦合以尤其用于交换消息。在此实例中,消息系统部分600可(例 如)响应于指示对合成环境的修改的客户端进程650而输送与服务器侧(或客户端侧) 通用数据结构660相关联的数据子集。服务器进程606和客户端进程650分别包含通用 消息接口 610a和通用消息接口 610b。服务器进程606可使用根据通用数据结构("UDS") 660而布置的数据,以响应于从客户端进程650传输的游戏数据修改而整体或部分地产 生合成环境。经修改游戏数据的实例是由客户端进程650产生的指示化身的移动的游戏 数据。在至少 个实施例中,服务器进程606和/或客户端进程650可交换消息,作为经 压縮通用消息620。由于服务器进程606和客户端进程650两者均可实施用以交换数据 的通用数据结构660,因此可在经压縮通用消息620中交换减少量的数据。明确地说, 仅与通用数据结构622相关联的经修改游戏数据624需要在通用消息中输送。在一个实 施例中,经压缩通用消息620还包含指定经修改游戏数据624与哪一属性有关的键628。 使用此信息,服务器进程606可修改合成环境。
图7描绘根据本发明至少一个实施例的用于产生实施主縮放服务器的合成环境的系 统。合成环境产生平台700包含进程间消息接发网络750和主縮放服务器752,其两者 经配置以縮放游戏子进程能力,以满足用于游戏子进程(例如物理学进程和人工智能进 程)的需求变化。合成环境产生平台700还包含各种游戏子进程702、数据库进程710 以及游戏管理进程720。在操作中,主缩放服务器752经配置以在适当时添加或移除游 戏子进程服务器。举例来说,如果需要更多物理学处理,那么主縮放服务器752可添加 额外的物理学服务器。但如果需要较少的人工智能,那么主縮放服务器752可使人工智 能服务器离线。
主縮放服务器752经配置以监视服务器列表,所述列表还包含关于服务器类型(例如,服务器是否为物理学服务器、人工智能服务器等)、游戏子进程服务器702所属的 合成环境等的信息。主縮放服务器752还经配置以监视经由进程间消息接发网络750来 自(例如) 一个或一个以上需要额外服务或容量的游戏管理服务器的对额外游戏子进程 的请求消息。作为响应,主縮放服务器752可协调新添加的游戏子进程服务器(例如游 戏子进程服务器704a、 704b和704c中的任一者)和发出请求的服务器(例如游戏管理 服务器)之间的连接的建立。
在一个实施例中,可縮放游戏子进程服务器在联机时经配置以将其身份和其它相关 信息传送到主縮放服务器752。其它相关信息可包含服务器类型、服务器所属的相关联 的合成环境等。作为响应,主缩放服务器752将可縮放游戏子进程服务器动态地分配给 (例如)需要此服务器类型的游戏管理服务器。明确地说,主缩放服务器752将命令和 连接信息(例如,主机和端口信息)发送到可縮放游戏子进程服务器,以连接到发出请 求的游戏管理服务器。在一些情况下,主縮放服务器752将连接信息(例如,主机和端 口信息)传送到发出请求的游戏管理服务器,以接收来自可縮放游戏子进程服务器的连 接。在至少一个实施例中,主縮放服务器752可经配置以监视游戏管理服务器的加载, 且自动添加或移除游戏子进程服务器。在一个实施例中,进程间消息接发网络750与经 由网络715实施的通用消息接发系统共生或相同。
图8是展示根据本发明至少一个实施例的添加可縮放游戏子进程服务器的主縮放服 务器的实例的图。明确地说,图800描绘游戏子进程服务器804,其提供由游戏管理服 务器(未图示)使用的游戏子进程802。还展示,主縮放服务器852正在添加可缩放物 理学服务器810以提升物理学处理能力。在一个实施例中,可缩放物理学服务器810和 游戏子进程服务器804每一者是同类硬件平台。使用同类硬件平台,主縮放服务器852 可在必要时增加按比例放大和按比例縮小的灵活性。
图9是根据本发明至少一个实施例的实施特定类型的游戏子进程服务器的合成环境 产生平台的图解。合成环境产生平台900包含游戏子进程901、经配置以存储游戏数据 的游戏数据库910,以及游戏管理进程920,其包含游戏管理服务器922a到922n。在此 实例中,游戏子进程卯l包含以下特定类型的游戏子进程服务器物理学服务器902a、 人工智能("AI")服务器902b以及交易服务器902c。通过在单独的服务器中实施这些 游戏子进程,合成环境产生平台900较不容易经受与游戏子进程相关联的问题。此外, 可适当縮放某些游戏子进程,以满足与其它游戏子进程需要无关的需求。
物理学服务器902a表示一个或一个以上经配置以处理针对合成环境的移动和碰撞 检测活动的物理学服务器。在各种实施例中,物理学服务器902a还可执行以下各项中的任一者能见度确定、实例化、移动批准和/或用于人工智能NPC的路径分段。在做 出能见度确定时,物理学服务器902a计算合成世界中的对象和/或其它参与者对一参与 者来说是否为可见的。当一实体在参与者的能见度范围内时,所述实体对所述参与者来 说是可见的,其中物理学服务器902a确定所述实体是否在能见度范围内。图ll说明根 据本发明实施例的用于确定能见度的替代技术。返回参看图9,物理学服务器902a还可 经配置以提供"实例化",藉此参与者的集合(以及相关联的物理学处理)在合成环境 的一部分内执行活动,例如在虚拟房间中,或在所述参与者将组队在一起与NPC (例如 首领怪物)战斗的区域中。
移动批准是批准参与者在合成环境的范围中的移动的动作。物理学服务器902a可 经配置以批准相对于虚拟地形和位于所要移动的路径中的任何实体(即,其它角色和/ 或对象)的移动。基于参与者的化身相对于虚拟地形移动的速率,可修改参与者的位置 以反映其在合成环境中的位置。物理学服务器902a可在将经修改的游戏数据发送到客 户端之前,运行模拟以证实所述位置是正确的。物理学服务器902a还可经配置以批准 参与者的移动,以确保参与者被许可加入某些活动或在合成环境的某些区域内移动。在 一个实施例中,物理学服务器902a每单位时间批准参与者的子组,且随着时间的过去 而循环通过不同的子组。对于未经授权在合成环境的某些区域附近或所述区域处移动的 任何参与者,可将所述参与者标记为被怀疑正在执行开拓。此外,物理学服务器902a 可将向人工智能("AI")服务器902b提供路径区段,使得NPC可避开其它由于地形和 /或静态对象而阻挡NPC的移动的对象。在各种实施例中,可将上文所论述的物理学进 程中的一者或一者以上实施为单独服务器中的单独进程。
人工智能("AI")服务器902b表示一个或一个以上人工智能服务器,其经配置以 向计算机实施的非玩家角色("NPC")等提供人工智能以确定NPC的行为。可添加额外 的人工智能服务器902b以在对人工智能的需求增加期间支持合成环境。举例来说,如 果一事件要求大量的NPC,那么可添加额外的人工智能服务器902b。在一个实施例中, 参与者可取得对NPC "扮演怪物"的控制权。
交易服务器902c表示一个或一个以上交易服务器,其经配置以尤其处理运行时参 与者游戏数据,不管参与者的位置如何。由此,交易服务器902c包含高速缓冲存储器 卯3,以便于角色(即,参与者)在(例如)永恒世界(即,合成环境)与实例(即, 合成环境的一部分,例如虚拟建筑)之间的移动。使用高速缓冲存储器卯3避免了当参 与者在合成环境与其部分之间移动时必须从数据库重新加载游戏数据。在一些实施例 中,在除交易服务器卯2c以外的进程中,将游戏数据的表示标记为只读,以(例如)避免对交易的操纵。此外,交易服务器卯2c便于准聚合进程空间内的原子形式交易。 在交易服务器902c执行交易的同时,游戏管理服务器922a到922n可经配置以批准参 与者在交易服务器902c响应于交易而修改数据之前确认其身份。
图IO是根据本发明至少一个实施例的展示物理学进程的实施的图。图1000展示能 见度进程和实例化进程正从物理学服务器1002分别卸载到单独的能见度服务器1004和 实例服务器1006中。能见度服务器1004经配置以确定合成世界中的对象和/或其它参与 者对一参与者来说是否为可见的。实例服务器1006经配置以提供"实例化",藉此参与 者集合以及相关联的物理学处理用于在合成环境的一部分内执行群组或局部化活动。通 过能见度进程和实例化进程与用于合成环境的物理学进程分离,物理学服务器1002的 负担减小。此外,能见度服务器1004和实例服务器1006较不容易经受与物理学服务器 1002有关的问题。
图11是展示根据本发明至少一个实施例的用于确定能见度的技术的图。图1100说 明用于为参与者1104确定能见度的技术的实例。在一种情况下,能见度服务器首先定 义用于界定参与者1104的能见度范围1102。由此,参与者可看见距离1106处的对象。 在至少一个实施例中,对象、NPC和其它玩家每一者与一 "可被看见"范围相关联。较 大的对象(例如山脉1114)可具有比具有"可被看见"范围1122的较小对象(例如老 鼠1124)大的"可被看见"范围1112。在一个实施例中,能见度服务器经配置以实施 球面求交测试,其中当山脉1114的"可被看见"范围(例如"可被看见"范围1112) 与能见度范围1102相交时,对象变为对参与者来说可见。可将"可被看见"范围表示 为圆形(即,2-D)或球体(即,3-D)。请注意,在特定实施例中,参与者1104具有两 个范围(1)由球体1102界定的参与者能见度范围,以及(2)"可被看见"范围1160, 如果实体或其能见度范围与"可被看见"范围1160相交,那么其它实体可在"可被看 见"范围1160处看见参与者1104。接下来,考虑巨人1150具有距所述巨人距离154 的能见度范围1152,且具有距所述巨人距离1155的"可被看见"范围1153。此外,参 与者1104具有距参与者1104距离1158的"可被看见"范围1160。因此当巨人1150接 近参与者1104,且其能见度范围1152与"可被看见"范围1160相交时,那么巨人1150 可看见参与者1104。但当能见度范围1152在能见度间隙1160内时,参与者无法看见巨 人1154。请注意, 一旦能见度范围1152与能见度范围1102相交,那么参与者1104就 可看见巨人1150。鉴于上述内容,图1100说明用以确定能见度的技术的实例,其减少 了当仅使用能见度范围来确定能见度时可能发生的不自然的视觉效应(例如,实体在越 过能见度范围1102时看起来像是"突然出现"的)。虽然未图示,但老鼠1124也可具有能见度范围。在各种实施例中,非玩家角色("NPC")和参与者每一者可具有一能见 度范围和一 "可被看见"范围。
图12是根据本发明至少一个实施例的实施额外类型的游戏子进程服务器的合成环 境产生平台的图解。合成环境产生平台1200包含游戏子进程1202、经配置以存储游戏 数据的游戏数据库1212a、经配置以存储审计数据(即,每一参与者做出的所有或大多 数互动的记录)和统计数据的审计数据库1212b,以及游戏管理进程1220,其包含游戏 管理服务器1222a到1222n。另外,合成环境产生平台1200包含用户服务器1270、补 丁程序服务器1272以及状态/审计服务器1274。
用户服务器1270可经配置以在游戏管理服务器1222a到1222n中的任一者与客户 端1250之间路由消息。然而, 一旦参与者登入以与合成环境互动,用户服务器1270就 将参与者及其客户端1250指派给游戏管理服务器1222a到1222n中的一者。其后,用 户服务器1270可将消息中继到游戏管理服务器1222中的一者和所述参与者且中继来自 其的消息。在会话期间,参与者可与同一游戏管理服务器保持关系。用户服务器1270 还可经配置以便以使客户端连接均匀分布在游戏管理服务器1222a到1222n上的方式连 接客户端1250,从而实现负载平衡。在一些情况下,用户服务器1270还可经配置以在 参与者注册后验证参与者。在至少一个实例中,用户服务器1270可选择性地对在游戏 管理服务器1222a到1222n与客户端1250之间交换的数据进行加密。在一个实施例中, 用户服务器1270先行加密移动相关消息,移动相关消息是量上占优势的消息。由此, 与加密相关联的延迟减少。补丁程序服务器1272可经配置以(例如)在逐文件基础上 将补丁程序以递增方式传输到客户端1250。在至少一个实施例中,补丁程序服务器1272 经配置以在适宜的时间(例如在登入时)以及在玩游戏期间(即,在参与者与合成环境 的互动期间)使补丁程序慢慢地移动。状态/审计服务器1274经配置以收集和使用对参 与者使用且/或对结合事件服务器的触发事件的统计资料。
图13是展示根据本发明至少一个实施例的用于允许在打补丁期间玩游戏的技术的 图。图1300说明作为新的"世界"、"大陆"或合成环境而添加的区。合成环境扩张的 进展由箭头1330展示。考虑区("1") 1302是用原先下载的游戏来实施的。接下来,考 虑区("2") 1312表示参与者为其下载补丁程序的经扩张的合成环境。最后,考虑参与 者仍必须为区("3") 1322实施下一补丁程序,但希望从区1302进入区1322。在参与 者从区1302行进到区312时,参与者将观察到树1304和树1314。但在参与者越过轮 廓1316时,参与者将在仍待完成的局部中。由此,如果用以渲染树的打补丁数据仍待 完成,那么合成环境产生平台将显示代理资产(即,替代对象)1324。由此,参与者无需被禁止进入新的区1322,而是可体验填入对象,直到打补丁进程完成为止。
图14是根据本发明至少一个实施例的实施事件服务器和事件编辑器的合成环境产 生平台的图解。合成环境产生平台1400包含游戏子进程1401、经配置以存储游戏数据 的游戏数据库1410,以及游戏管理进程1420,其包含游戏管理服务器1422a到1422n。 合成环境产生平台1400还包含事件服务器1430和事件编辑器1480。事件服务器1430 经配置以依据(例如)玩家活动(例如触发预定的触发物或条件,和/或预定的调度)来 控制动态内容向合成环境中的引入。举例来说,如果聚集在特定位置的参与者的数目超 过触发点,那么事件服务器1430可触发动态内容的引入。在一些实施例中,事件服务 器1430可修改大量生产的船或创造物的类型。事件服务器1430经配置以从事件库数据 库1412接入插接物对象以产生动态内容。在一个实施例中,事件服务器1430经配置以 产生用以驱动事件服务器指南1490的数据,事件服务器指南14卯显示经编程的事件以 供参与者预览和加入那些事件。事件编辑器1480经配置以聚合与若干套接字相关联的 插接物对象,以引入变化量的动态内容,藉此插接物对象的集合可将创造物、树、结构 等引入合成环境中。
图15描绘根据本发明至少一个实施例的用于创建用于引入各种程度的动态内容的 事件的流程。流程1500是使用插接物对象来创建事件的方法的实例,所述插接物对象 包含存储在事件库中的通用数据结构。在1502处,界定事件且指示要求。在1504处, 游戏设计者通过(例如)使用预制插接物对象来创建新事件,直到在1506处建立新事 件为止。在1508处,测试所述事件以确认新事件满足质量保证("QA")规范。如果事 件在1510处失败,那么流程1500返回1502以重新界定或校正事件定义和/或实施。如 果事件成功,那么在1512处将其存储在事件库中。在1522处,调度所述事件以用于引 入合成环境中。在1524处,事件服务器1526经配置以在预定时间触发事件。在预定的 时间,事件服务器1526从事件库1512获取与事件有关的数据,且致使合成环境产生平 台1528实施所述事件(例如,通过产生动态内容)。接着,在1530处将动态内容释放 到客户端以在计算机产生的世界中使用。
在一个实施例中,流程1500为借助于补丁程序服务器进程(如在补丁程序服务器 1580中实施)将动态内容引入合成环境中作准备。在此实例中,补丁程序服务器1580 经配置以检测何时在1512处将表示事件的数据存放到事件库中。此外,补丁程序服务 器1580经配置以将事件所需的数据作为小文件或数据片582向下推动或"慢慢地向下 移动"到客户端。因此,补丁程序服务器1580可在非高峰使用时间推送数据,且可避 免超过所分派的带宽容量,超过所分派的带宽容量的情况在高峰使用期期间发生较大下
26载(例如250 MB)时原本可能发生,其代价较高。在另一实施例中,补丁程序服务器 580确定待推送的数据量和到达所述事件的剩余时间,且因此计算每单位时间需要推送 的平均量数据。由此,补丁程序服务器1580可改变小文件1582中的数据量以实现最佳 输送。在特定实施例中,补丁程序服务器1580可经配置以接入数据库1584中的高峰阈 值监视数据,以确定何时改变小文件1582的大小,以便避免在高峰使用时间推送大量 的数据。
图16是展示根据木发明至少一个实施例的通用数据结构的特定实施方案的图。将 通用数据结构1602展示为由识别符1604识别的特性类对象(即,"特性类xxxxxx")。 特性类对象包含包括属性1606的数据布置,所述属性中的每一者可对应于特性类xxxxxx 的特性,例如下文相对于图16的通用数据结构规范文件1622所描述。此外,属性1606 可对应于特性值(例如,字符串、整数等),例如相对于图17的通用数据结构1702所 描述。在各种实施例中,通用数据结构1602可包含嵌套通用数据结构(或对其的参考)。 为了说明,考虑特性类xxxxxx可界定船的特性,例如图20中所描述。通用数据结构1602 于是可包含界定所述船拥有的"定位"特性的嵌套通用数据结构。
图16还展示包含根据本发明至少一个实施例的通用数据结构规范文件的实例的图。 通用数据结构规范文件1622提供实例管理纲要,其使用合成环境产生平台中的节点来 接入通用数据结构中所包含的数据。通用数据结构规范文件1622可包含用于每一特性 类对象的元数据,其可经配置以为所指派的属性提供对应的特性值。在一些实施例中, 特性类对象或PropertyClass对象(下文为"特性类对象")可为具有用于确定如何在合 成环境内渲染、产生或例示各种类型的对象、信息和其它参数的数据或信息的对象。此 外,特性类对象可经配置以提供减少的消息数据,其在与(例如)高速或大容量网络连 接一起使用时实现迅速或快速玩游戏、合成环境产生等。举例来说,特性类对象可包含 用于例示一对象的所有或一部分数据。合成环境产生平台(或其中的节点)可实施元数 据以用于创建、显示和/或实施游戏数据值。此外,通用数据结构规范文件1622可由识 别符1624 (即,"特性类规范yyyyy")参考,且可包含对在(例如)位置 "instance.mgmt.schema"处的实例管理纲要的参考1626。在一些实施例中,实例管理纲 要是描述使用节点来接入特性类对象中的数据的数据模型。此外,通用数据结构规范文 件1622可包含用于特性类对象1630的特性值(或对其的参考)。
图17是根据本发明至少一个实施例的描绘特性类系统的要素的图。在一些实施例 中,特性类1704可实施为通用数据结构1702,且可具有一个或一个以上特性("Property") 1706。这里,特性类1704被配置为指向对应特性值的特定特性指针的容器。此外,所述一个或一个以上特性1706可包含特性值,例如字符串("PropertyString") 1708a、整 数("Propertylnt") 1708b、大整数("PropertyBiglnt") 1708c等等。
将通用数据结构规范文件1722展示为包含特性类规范1724。由此,常见类型的特 性类1704的实例可涉及特性类规范1724。举例来说,名为"玩家"的特性类1704可具 有(例如)与特性类规范1724的关系,所述特性类规范1724指定特性以及特性值。此 外,特性类规范1724可包含指向一个或一个以上特性规范("PropertySpec") 1726的指 针的向量,所述特性规范1726中的每一者可含有与特性1706相关联的元数据。特性类 管理器("PropertyClassManager") 1742可包含用于将特性类名称和特性类规范确定为 键与值对的映射表(例如,査找表)。在运行时或执行期间,合成环境产生平台(或其 中的节点)可使用特性类管理器1742来管理数据结构的实施和来自特性类系统的游戏 数据。
图18描绘根据本发明至少一个实施例的用于创建通用消息的流程。流程1800展示 通用数据结构编辑器1802经配置以编辑或创建一个或一个以上特性类对象文件,例如 基于XML的对象数据文件1803。通用数据结构编辑器1802可为(例如)提供上下文 友好接口要素的编辑器,所述要素例如是下拉菜单和基于相关联特性类规范的数据范围 批准。此外,通用数据结构编辑器1802使用XML读取器1806和XML写入器1805使 到达和来自来源的数据串行化,所述来源可为基于XML的对象数据文件1803中的一者 或一者以上。在各种实施例中,通用数据结构编辑器1802可经配置以编辑根据可扩展 标记语言(即,XML)、超文本标记语言(即,HTML)和任何其它标记或格式化语言 而格式化的数据。在一些实例中,通用数据结构编辑器1802可由基于XML的编辑器 1807代替,因为特性类表示呈符合XML的格式。基于XML的编辑器1807可为若干市 售工具中的任一者,例如马萨诸塞州贝弗利市的奥托瓦公司(Altova, Inc.)生产的 XMLSpy。
可使用特性系统的串行化或XML读取器1806设施将特性类数据文件1803带入运 行时环境中。此从文件1803获得基于XML的特性类数据,且创建"存储器内"C+十特 性类对象表示1809。可使用XML写入器1805设施将任何修改反映回到原始来源。
为便于数据的串行化和扰乱的速度对比XML表示,可使用二进制读取器1808和二 进制写入器1801机制使特性类对象1809串行化为基于磁盘的二进制格式1810。这使开 发者能够使用常规工具来编辑人可读的格式(即,XML),且在执行和扰乱的速度较重 要时将XML转换成二进制格式。
如果〔++对象1809的任何实例需要经由网络而传输,那么将所述特性类对象"打包"或"包化"以用于在发射器1850中输送。1811处的包化进程将使用二进制写入器 1801的服务来创建包,且将在1812处经由链路1842传输所述包。同时接收器1852接 收所述包,目.将使用二进制读取器1801的服务来将数据拆包成存储器内€++特性类对 象表示1809的实例。请注意,根据本发明的各种实施例,发射器1850或接收器1852 或两者可在通用消息接口中实施。
图19说明根据本发明至少一个实施例的用于创建通用消息的特性类系统的要素。 图1900描绘通用消息创建进程1940,其使用以下特性类系统要素特性类对象,例如 特性类对象l卯2、 1卯4和1906;特性类声明1910;特性类管理器1920;以及特性类规 范文件1930。出于说明目的,考虑通用消息创建进程1940经配置以产生关于角色数据 的通用消息。由此,通用消息创建进程1940使用特性类对象("玩家")1906,其包含 嵌套特性类对象1902和1904。嵌套特性类对象("咒符")1902包含表示(例如)玩家 拥有的咒符的类型和强度的数据的数据布置。嵌套特性类对象("武器")1904包含表示 (例如)玩家拥有的武器的种类的数据的数据布置。
在至少一个实施例中,特性类声明1910经配置以提供用于列出或组合可由特性系 统用来例示特性类对象的信息和数据的空间。举例来说,特性类声明1910可包含特性 类识别符("ID")、规范文件(例如,规范文件1722 (图17))名称、用于每一列出以 帮助对特性类对象进行分组的类别标签等等的列表。此外,特性类声明1910可描述文 件名、特性类对象名以及用于创建通用消息的其它资源(或信息来源)。特性类管理器 1920可包含逻辑和物理资源与数据的映射表以管理特性类对象1902、 1904和1906的数 据结构和其中的游戏数据的实施。特性类规范文件1930可包含特性值或对特性值的参 考。
合成环境产生平台和/或其节点可实施通用消息创建进程1940和上文所述的特性类 系统要素以形成通用消息(或通用数据结构),其尤其可由例如图1和3中所示合成环 境产生平台的合成环境产生平台的节点使用。当一节点(例如,服务器、客户端、同等 装置(peer)或其它处理器)起始通用消息创建进程1940时,可将通用数据结构实施为 通用消息的一部分。接下来考虑进程1950接收所实施的通用消息。由此,进程1950可 使用直接来自消息的数据1952而无需对其源代码进行编译。
图20说明根据本发明至少一个实施例的用于创建插接物的特性类系统的要素。图 2000描绘插接物创建进程2040,其使用以下特性类系统要素特性类对象2002到2006、 特性类声明2010、特性类管理器2020以及特性类规范文件2030。出于说明目的,考虑 插接物创建进程2040经配置以产生插接物以用于渲染船(例如,货船、邮轮、战舰(例如,提康德罗加级(Ticonderoga-class)、神盾导弹巡洋舰)、巡航班轮、远洋班轮等)的 图像或游戏要素作为进入合成环境的动态内容。由此,插接物创建进程2040使用插接 物特性类对象("船")2006,其包含嵌套插接物特性类对象2002、 2004和2005。嵌套 特性类对象("定位")2002包含表示(例如)船将拥有的定位和相对运动的数据的数据 布置。嵌套特性类对象("速度")2004包含表示(例如)船在蒸气作用下前进(即,移 动)的速度的数据的数据布置。嵌套特性类对象("作为船出现")2005包含描述(例如) 看起来像所要船形状的船的出现的数据的数据布置。在至少一个实施例中,特性类声明 2010、特性类管理器2020和特性类规范文件2030可具有如图19中所述的类似功能和/ 或结构。在一些实施例中,插接物可尤其指代指定(例如)数据、资产、程序性动作列 表和条件性触发物的表示。数据表示的实例是特性类对象2004,其包含指定船的速度的 数据。资产表示的实例是插接物特性类对象2006,其包含将船指定为资产的数据。程序 性动作列表的表示的实例包含指定插接物对象应执行的动作的数据。举例来说,程序性 动作列表数据可指定船将(1)向港口转弯,(2)继续航行,以及(3)停靠在码头。 条件性触发物表示的实例包含指定一旦条件性触发物在事件Y时激发X就应发生的数 据。举例来说,条件性触发物数据可指定一旦船到达码头,船就应炸毁。
合成环境产生平台和/或其节点可实施插接物创建进程2040和上文所述的特性类系 统要素以形成插接物数据2052。接下来考虑进程2050是插接物数据2052的接收者。明 确地说,插接物数据2052包含一个或一个以上可向进程2050的套接字代码2054提供 游戏数据的通用数据结构。由此,进程2050可使用插接物数据2052来将动态内容引入 合成环境,而无需进一步或额外编译进程2050或套接字代码2054的源代码。在一个实 施例中,可将插接物数据2052作为船插接物数据2061存储在数据库("d/B") 2060中。 用户可使用事件编辑器2064来与事件服务器2062合作以创建船插接物数据2061 。此外, 用户可使用事件编辑器2064来调度船插接物数据2061插接到套接字代码2054中的日 期和时间,以用于(例如)在预定的时间产生动态内容。在一些实施例中,事件编辑器 2064可为建置在XML编辑器或特性类编辑器顶部上的应用程序。
图21是展示根据本发明至少一个实施例的实施经压縮通用消息的消息接发系统的 一部分的图。这里,消息系统部分2100包含服务器进程2106和客户端进程2150,其两 者经由网络2130耦合以尤其用于交换消息。在此实施例中,消息系统部分2100可输送 消息作为通用数据结构,所述消息包含与服务器侧(或客户端侧)特性类对象('、pcO") 2160相关联的数据子集。此消息的实例是来自客户端进程2150的指示对合成环境的修 改的响应。服务器进程2106和客户端进程2150分别包含通用消息接口 2110a和通用消息接口2110b。服务器进程2106可使用根据特性类对象2160布置的数据,以响应于从 客户端进程2150传输的游戏数据修改而整体或部分地产生合成环境。经修改游戏数据 的实例是由客户端进程2150产生以致使化身在合成环境中移动的数据。在至少一个实 施例中,服务器进程2106和/或客户端进程2150可交换作为经压縮的通用消息2120的 消息。由于服务器进程2106和客户端进程2150两者均可实施用以交换数据的特性类对 象2160,因此可在经压縮的通用消息2120中交换减少量的数据。在一些实施例中,与 特性类对象2122相关联的经修改游戏数据2124可在通用消息中输送。举例来说,考虑 经修改的游戏数据2124指定某一特性的经修改值,其可由索引来识别。由此,经压缩 的通用消息2120可包含索引2128以识别经修改游戏数据2124的相关属性。使用此信 息,服务器进程2106可经配置或实施以修改合成环境。
图22是根据本发明至少一个实施例的实施用以与合成环境产生平台互动的通用消 息接发接口的多个装置的图解。合成环境产生平台2800包含游戏子进程2282、数据库 进程2284,以及游戏管理进程2286,游戏管理进程2286包含游戏管理服务器2288a到 2288n。如图所示,实施通用消息接发接口 ("UMI") 2292的多种客户端2290可经由网 络2289与合成环境产生平台2200互动,网络2289例如是因特网。在此实例中,尤其 机顶盒2290a、移动装置2290b、计算装置2290c、游戏控制台2290d、卫星接收器("RX") 2290e、手机22卯g、个人数字助理("PDA") 2290h以及电视机2290i可经配置以实施 如本文所述的通用消息接发接口 ("UMI") 2292。在至少一个实施例中,包含逻辑(例 如,处理器和存储器)的任何装置2290f可实施各种实施例的通用数据结构和/或特性类 以参与合成环境。
在各种实施例中,特性类系统及其实例可实施为0++特性类对象,或其它编程语言 中的任何其它特性类。此外,虽然上文的论述在在线游戏的上下文中描述各种特征,但
本发明的实施例不限于在线游戏。相反,本文所描述的特征和技术可出于训练目的、教 育目的、社会目的等而应用于合成环境。还请注意,虽然上文的论述是在客户端-服务器 架构中的分布式服务器的上下文中,但各种实施例并非如此局限。举例来说,可将一个 或一个以上节点进程聚合成单个进程。此外,任何网络架构和拓扑可与本发明的实施例 一起实施。举例来说,合成环境产生平台可实施对等网络等。
在本发明实施例的至少一些实施例中,上述特征中的任一者的结构和/或功能可以软 件、硬件、固件、电路或其组合实施。请注意,上文的结构和组成元件以及其功能性可 与一个或一个以上其它结构或元件聚合。或者,可将元件及其功能性细分成组成子元件 (如果存在的话)。作为软件,可使用各种类型的编程或格式化语言、框架、语法、应用程序、协议、对象或技术(包含C、对象C、 C++、 C#、 FlexTM、 Fireworks⑧、JavaTM、 Javascript 、 AJAX、 COBOL、 Fortran 、 ADA,、 XML、 HTML、 DHTML 、 XHTML、 HTTP、 XMPP等)来实施上文所描述的技术。这些是可改变的且不限于所提供的实例 或描述。
出于阐释的目的,上述描述使用特定命名法来提供对本发明的详尽理解。然而所属 领域的技术人员将明白,为实践本发明,无需特定细节。事实上,此描述内容不应被解
读为将本发明的任何特征或方面限于任何实施例;相反一个实施例的特征和方面可容易 与其它实施例互换。
因此,出于说明和描述的目的而呈现对本发明的特定实施例的上述描述。不希望所
述描述是详尽的或将本发明限于所揭示的精确形式;鉴于上文的教示,许多替代方案、 修改、等效物和变化是可能的。出于清楚的目的,没有详细描述与实施例有关的技术领 域中已知的技术材料,以避免不必要地混淆描述内容。因此,在所附权利要求书的范围 和等效物内,可修改各种实施例。此外,选择和描述所述实施例是为了最佳地阐释本发 明的原理及其实践应用;它们因此使所属领域的其它技术人员能够以适于预期特定用途 的各种修改来最好地利用本发明和各种实施例。应注意,并不需要通过本发明的每一实 施例来实现本文所描述的每个益处;而是任一特定实施例均可提供上文所论述的优点'1' 的一者或--者以上。在权利要求书中,元件和/或操作并不暗示任何特定的操作次序,除 非在权利要求书中明确陈述。希望所附权利要求书及其等效物界定本发明的范围。
3权利要求
1.一种用于产生合成环境的系统,所述系统包括游戏管理服务器,其经配置以产生若干参与者与之互动的合成环境;以及可缩放游戏子进程服务器,其经配置以依据对游戏子进程的需要将游戏子进程结果告知所述游戏管理服务器,其中所述游戏管理服务器和所述可缩放游戏子进程服务器以分布式网络架构安置。
2. 根据权利要求1所述的系统,其进一步包括主縮放服务器,所述主缩放服务器经配 置以响应于对所述游戏子进程的所述需要而控制所述可縮放游戏子进程服务器的实施。
3. 根据权利要求1所述的系统,其中所述合成环境是永恒世界。
4. 根据权利要求1所述的系统,其中所述游戏管理服务器进一步经配置以在所述游戏 管理服务器处而不是在客户端处修改所述参与者与所述合成环境的互动。
5. 根据权利要求1所述的系统,其进一步包括消息接发系统,其经配置以传播经配置以将数据整合到节点中的包含通用数据结 构的消息。
6. 根据权利要求5所述的系统,其中所述节点进一步包括以下各项中的一者或一者以上所述游戏管理服务器、所述可縮放游戏子进程服务器、数据库以及客户端。
7. 根据权利要求5所述的系统,其中所述消息接发系统经配置以响应于客户端指示对 所述合成环境的修改而传输与服务器侧通用数据结构相关联的数据子集。
8. 根据权利要求5所述的系统,其进一步包括实例管理纲要,其经配置以使所述节点能够以所述通用数据结构实施数据。
9. 根据权利要求5所述的系统,其进一步包括多个通用消息接口,其每一者经配置以便以所述节点可使用的形式以所述通用数 据结构提供数据。
10. 根据权利要求5所述的系统,其中所述通用数据结构属于面向对象的编程语言的类 别。
11. 根据权利要求5所述的系统,其进一步包括多个通用消息接口,其每一者经配置以在不将所述通用数据结构转换成供所述节 点使用的数据布置的情况下以所述通用数据结构提供数据。
12. 根据权利要求11所述的系统,其中所述多个通用消息接口每一者经配置以检测所 述消息中的每一者是否既定用于所述节点。
13. 根据权利要求5所述的系统,其进一步包括多个通用消息接口,其中的至少一者经配置以便以与平台无关的格式来格式化所 述通用数据结构。
14. 根据权利要求13所述的系统,其中所述与平台无关的格式包含由可扩展标记语言 定义的格式。
15. 根据权利要求1所述的系统,其进一步包括多个游戏管理服务器,其包含所述游戏管理服务器;以及 多个可縮放游戏子进程服务器,其包含所述可縮放游戏子进程服务器。
16. 根据权利要求15所述的系统,其中所述多个游戏管理服务器中的至少两者经配置 以接入作为单独的进程空间的准聚合进程空间。
17. 根据权利要求15所述的系统,其中所述多个可縮放游戏子进程服务器中的至少一 者包括交易服务器,其经配置以执行与可作为共用进程空间而操作的准聚合进程空间相 关联的原子形式交易。
18. —种用于产生合成环境的系统,所述系统包括合成环境产生平台,其经配置以产生参与者在分布式服务器架构中与之互动的合成环境,所述合成环境产生平台包括至少一个游戏管理服务器,其经配置以执行产生所述合成环境的指令;事件服务器,其经配置以大体上与所述指令的所述执行一致地将动态内容引入所述合成环境的至少一部分中;以及通用对象系统,所述通用对象中的每一者包含通用数据结构, 其中所述通用对象中的至少一者经配置以便利所述动态内容。
19. 根据权利要求18所述的系统,其中所述事件服务器经配置以在不修改构成所述指 令的对象代码的情况下弓I入动态内容。
20. 根据权利要求18所述的系统,其中所述通用对象系统免除了在所述动态内容的所 述引入期间重新编译所述指令。
21. 根据权利要求18所述的系统,其中所述至少一个游戏管理服务器经配置以在不重 新启动的情况下产生所述动态内容。
22. 根据权利要求18所述的系统,其进一步包括数据库,其包括插接物对象,其包括用于实施所述动态内容的插接物数据,以及 与用于产生所述合成环境的所述部分的所述指令的子集相关联的套接字代码, 其中所述套接字代码经配置以实施所述动态数据,以相对于所述合成环境的所述部分而渲染所述动态内容。
23. 根据权利要求18所述的系统,其中所述事件服务器进一步经配置以响应于预定触 发物而引入所述动态内容。
24. 根据权利要求18所述的系统,其中所述合成平台包括多个游戏管理服务器、游戏子进程服务器和数据库,其经配置以产生所述合成环 境;分布式网络架构,其经配置以在所述多个游戏管理服务器、游戏子进程服务器和 数据库之间传播消息;以及多个通用数据结构接口,其每一者经配置以便以如在所述消息中格式化的所述通 用数据结构来实施数据。
25. —种用于产生计算机产生的合成环境的系统,所述系统包括多个游戏子进程服务器,其包括物理学服务器, 人工智能服务器,以及 交易服务器,多个游戏管理服务器,其每一者经配置以产生参与者与之互动的合成环境;以及数据库,其经配置以存储用于产生所述合成环境的数据,所述多个游戏管理服务 器、所述多个游戏子进程服务器以及所述数据库中的每一者以分布式网络布置,其中所述多个游戏管理服务器、所述多个游戏子进程服务器以及所述数据库实施 如被格式化成在所述分布式网络的至少一部分内传播的消息的通用数据结构。
26. 根据权利要求25所述的系统,其进一步包括主縮放服务器,其经配置以配置额外游戏子进程服务器的子集以添加以下各项中的任一者一个或一个以上物理学服务器、 一个或一个以上人工智能服务器,以及一个或 一个以上交易服务器。
27. 根据权利要求25所述的系统,其进一步包括能见度服务器,其经配置以检测参与者的能见度范围与实体的可被看见范围的相交,以确定所述实体对所述参与者来说是可见的;以及实例服务器,其经配置以卸载原本将由所述物理学服务器执行的针对所述参与者的群组的物理学处理。
28. 根据权利要求25所述的系统,其进一步包括用户服务器,其经配置以使请求与所述合成环境互动的多个客户端与多个游戏管理服务器相关联。
29. 根据权利要求25所述的系统,其进一步包括补丁程序服务器,其经配置以在与所述系统互动期间将经更新数据的多个部分传输到客户端,其中经更新数据的未被接收的部分由用于产生代理资产的默认数据代替。
30. —种用以便利大型多玩家在线游戏的方法,所述方法包括独立于游戏管理进程而初始化游戏子进程;通过所述游戏子进程与所述游戏管理进程之间的合作而产生合成环境;以及在所述游戏子进程中的一者或一者以上的不可操作期期间,实施所述游戏管理进程以产生所述合成环境的至少一部分。
31. 根据权利要求30所述的方法,其进一步包括在所述游戏子进程与所述游戏管理进程之间交换消息以产生所述合成环境。
32. 根据权利要求30所述的方法,其进一步包括-将一个或一个以上物理学服务器实施为所述游戏子进程的子集,所述游戏管理进程经配置以独立于所述一个或一个以上物理学服务器而操作。
33. 根据权利要求32所述的方法,其进一步包括与所述--个或一个以上物理学服务器分离地实施人工智能服务器进程。
34. 根据权利要求30所述的方法,其中产生所述合成环境进一步包括针对至少两个不同客户端实施至少两个不同的游戏管理进程;以及使所述至少两个不同客户端能够接入所述合成环境,其中所述至少两个不同客户端中的任一者可经由所述至少两个不同游戏管理进程中的任一者接入所述合成环境。
35. 根据权利要求30所述的方法,其进一步包括产生准聚合进程空间。
36. 根据权利要求35所述的方法,其中产生所述准聚合进程空间进一步包括产生其中参与者可针对第一数据子集而互动的共用进程空间,所述参与者与至少两个不同的游戏管理服务器相关联;以及针对第二数据子集为所述参与者产生单独的进程空间。
37. 根据权利要求36所述的方法,其中所述第一数据子集包含交易相关数据,且所述第二数据子集包含几何相关数据。
38. 根据权利要求35所述的方法,其进一步包括管理参与者之间的交易以确保所述交易是原子形式的。
39. 根据权利要求30所述的方法,其进一步包括独立于游戏管理进程服务器的数量而縮放子进程服务器的数量。
40. 根据权利要求39所述的方法,其进一步包括响应于对所述游戏子进程的需求而縮放子进程服务器的所述数量。
41. 根据权利要求39所述的方法,其进一步包括监视所述游戏管理进程服务器的负载;以及依据所述负载来縮放子进程服务器的所述数量。
42. —种用以便利大型多玩家在线游戏的计算机可读媒体,所述计算机可读媒体包括用于以下操作的可执行指令独立于个或个以上游戏子进程而初始化游戏管理进程;经由网络在实施所述游戏管理进程的服务器与实施所述一个或一个以上游戏子进程的服务器之间交换消息以产生合成环境;以及独立于实施所述一个或一个以上游戏子进程的所述服务器中的至少一者的不可操作性而执行所述游戏管理进程以便利所述合成环境的至少一部分。
43. 根据权利要求42所述的计算机可读媒体,其中所述用于交换消息的可执行指令包括用于以下操作的可执行指令在实施所述游戏管理进程的所述服务器与客户端子集之间建立通信;以及便利所述合成环境与所述客户端子集之间的互动,其中所述客户端子集以及与实施其它游戏管理进程的其它服务器相关联的其它客户端子集大体上同时与所述合成环境互动。
44. 根据权利要求42所述的计算机可读媒体,其中所述用于执行所述游戏管理进程的可执行指令包括用于以下操作的可执行指令确定与所述合成环境相关联的数据的一部分已改变;以及产生经压縮的通用消息以供传输到客户端,所述经压縮的通用消息包含所述数据的所述部分己改变的指示。
45. 根据权利要求44所述的计算机可读媒体,其中所述用于产生所述经压縮的通用消息的可执行指令进一步包括用于以下操作的可执行指令产生包含被布置为向量的多个特性值的对象;确定来自所述多个特性值的一特性值已被修改以识别经修改的特性值;以及形成所述经压縮的通用消息以将所述经修改的特性值和索引包含到所述向量中。
46. —种用以在分布式网络架构中的节点之间通信以便利大型多玩家在线游戏的方法,所述方法包括产生符合经配置以在合成环境产生平台中在节点之间交换游戏数据的通用数据结构的通用消息,所述节点包含经配置以为所述合成环境产生平台提供分布式进程的节点子集;将所述通用消息的至少一子集广播到所述节点的子集以修改合成环境;以及响应于节点的分布式进程而修改所述合成环境的至少一部分。
47. 根据权利要求46所述的方法,其中修改所述合成环境的所述部分包括将动态内容引入所述合成环境中。
48. 根据权利要求46所述的方法,其中产生所述通用消息包括从符合与平台无关的格式的数据布置提取所述游戏数据。
49. 根据权利要求46所述的方法,其中产生所述通用消息包括从符合由可扩展标记语言定义的格式的数据布置提取所述游戏数据。
50. 根据权利要求49所述的方法,其进一步包括根据面向对象的类结构来实施所述游戏数据。
51. 根据权利要求46所述的方法,其进一步包括接入一纲要以确定所述节点的使用;以及在不修改用以在所述通用数据结构与跟所述节点相关联的另 一数据布置之间交换所述游戏数据的可执行代码的情况下,配置所述节点以与所述通用数据结构介接。
52. 根据权利要求51所述的方法,其进一步包括基于所述纲要将来自所述通用消息的所述子集的通用消息的所述游戏数据与所述节点整合。
53. 根据权利要求46所述的方法,其进一步包括基于与所述通用消息相关联的节点属性,检测所述节点与来自所述通用消息的所述子集的通用消息兼容,其中所述节点属性指定所述节点。
54. 根据权利要求46所述的方法,其中修改所述合成环境的所述部分包括将动态内容引入所述合成环境中。
55. 根据权利要求46所述的方法,其中所述分布式进程包括游戏管理进程、游戏子进程以及数据库进程。
56. 根据权利要求55所述的方法,其进一步包括将所述通用消息的子集从所述游戏管理进程传输到所述游戏子进程或所述数据库进程,或两者。
57. —种用以产生与合成环境相关联的通用消息的计算机可读媒体,所述计算机可读媒体包括用于以下操作的可执行指令接收数据以供输送到合成环境产生平台中;产生通用消息以包含通用数据结构;以及传输所述通用消息。
58. 根据权利要求57所述的计算机可读媒体,其中所述用于产生所述通用消息的可执行指令包括用于以下操作的可执行指令根据具有与平台无关的格式的所述通用数据结构来格式化所述数据。
59. 根据权利要求57所述的计算机可读媒体,其中所述用于产生所述通用消息的可执行指令包括用于以下操作的可执行指令产生特性类对象以包含所述数据。
60. 根据权利要求57所述的计算机可读媒体,其中所述用于产生所述通用消息的可执行指令包括用于以下操作的可执行指令根据所述通用数据结构来格式化所述数据,其中所述通用数据结构可由与所述合成环境产生平台通信的节点使用。
61. 根据权利要求57所述的计算机可读媒体,其中所述用于接收数据以供输送的可执行指令包括用于以下操作的可执行指令从由可扩展标记语言定义的数据布置提取所述数据。
62. 根据权利要求61所述的计算机可读媒体,其中所述用于产生所述通用消息的可执行指令进一步包括用于以下操作的可执行指令使来自所述数据布置的所述数据串行化;以及产生特性类对象以包含所述数据。
63. 根据权利耍求62所述的计算机可读媒体,其进一步包括用于以下操作的可执行指令使所述特性类对象包化。
64. 根据权利要求57所述的计算机可读媒体,其中所述用于产生所述通用消息以包含 所述通用数据结构的可执行指令进一步包括用于以下操作的可执行指令产生经压縮的通用消息。
65. 根据权利要求64所述的计算机可读媒体,其中所述用于产生所述经压缩的通用消 息的可执行指令包括用于以下操作的可执行指令确定所述数据的一数据部分已被修改以识别经修改的数据部分; 确定所述经修改的数据部分的属性;以及形成所述经压縮的通用消息以包含指定所述经修改的数据部分的所述属性的键 以及所述属性的值。
66. 根据权利要求64所述的计算机可读媒体,其中所述用于产生所述经压縮的通用消 息的可执行指令包括用于以下操作的可执行指令产生包含布置为向量的多个特性值的对象;确定来自所述多个特性值的一特性值已被修改以识别经修改的特性值;以及 形成所述经压縮的通用消息以将所述经修改的特性值和索引包含到所述向量中。
全文摘要
本发明的实施例大体上涉及基于计算机的模拟和合成环境产生,且更明确地说,涉及用于以分布式架构产生合成环境以尤其引入动态内容的系统、计算机可读媒体、方法和设备。
文档编号A63F9/24GK101678236SQ200880006914
公开日2010年3月24日 申请日期2008年3月6日 优先权日2007年3月6日
发明者乔恩·爱德华·范卡内盖, 布赖恩·约瑟夫·法里纳, 戴维·奥尔德里奇, 罗伯特·E·李, 贾森·马尔森 申请人:诚恩环球网络公司