CN105473196B - 向远程游戏环境中的游戏标题的资源分配 - Google Patents

向远程游戏环境中的游戏标题的资源分配 Download PDF

Info

Publication number
CN105473196B
CN105473196B CN201480029445.0A CN201480029445A CN105473196B CN 105473196 B CN105473196 B CN 105473196B CN 201480029445 A CN201480029445 A CN 201480029445A CN 105473196 B CN105473196 B CN 105473196B
Authority
CN
China
Prior art keywords
game
session
title
services
gaming session
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480029445.0A
Other languages
English (en)
Other versions
CN105473196A (zh
Inventor
J.P.布鲁诺
D.J.麦克纳马拉
A.钱德拉塞卡兰
C.L.贝迪黑默
P-O.A.奥尔文达尔
J.库西马诺
S.Q.隆斯特里特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105473196A publication Critical patent/CN105473196A/zh
Application granted granted Critical
Publication of CN105473196B publication Critical patent/CN105473196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/401Secure communication, e.g. using encryption or authentication
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture
    • A63F2300/513Server architecture server hierarchy, e.g. local, regional, national or dedicated for different tasks, e.g. authenticating, billing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5566Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明的实施例监视并动态地分配计算资源到游戏服务。游戏服务提供用户通过诸如因特网之类的广域网连接到的远程游戏环境。游戏会话运行游戏标题的单个实例。游戏会话运行负责为用户创建玩耍体验的视频游戏代码。在另一实施例中,监视活动游戏会话的数目并随着会话的数目增加或减少而动态地分配计算资源。

Description

向远程游戏环境中的游戏标题的资源分配
背景技术
视频游戏已经变得越来越流行。某些视频游戏允许多个玩家使用相互远离地定位的客户端设备在同一游戏内进行交互。例如,在对等游戏环境中,遍及世界的多个客户端可以通过网络连接到由客户端设备中的一个容宿的游戏。在另一示例中,服务器可以容宿多个客户端设备通过广域网加入的游戏。
发明内容
本发明内容被提供来以简化形式介绍下面在详细描述中进一步描述的概念的选择。本发明内容并不意图识别要求保护的主题的关键特征或必要特征,其也不意图孤立地用作确定要求保护的主题的范围的辅助。
本发明的实施例基于活动游戏会话的数目监视并动态地分配计算资源到游戏服务。游戏服务提供用户通过诸如因特网之类的广域网连接到的远程游戏环境。例如,游戏服务可以利用位于遍及世界的一系列服务器或者一系列服务器群以容宿视频游戏。玩家然后使用包括游戏控制台、智能电话、平板电脑、个人计算机以及其它计算设备之类的各种不同客户端设备来连接到游戏服务。
本发明的实施例运行针对游戏服务编写的游戏标题。针对游戏服务编写的标题不使用管理服务器资源或其它计算资源的代码。替代地,分配给游戏服务的计算资源通过监视游戏服务计算使用特性的变化而根据需要被动态地更新。在一个实施例中,游戏会话运行的总数被监视。
游戏会话运行游戏标题的单个实例。游戏会话可被许多玩家共享。游戏会话运行负责创建针对用户的玩耍体验的视频游戏代码。数百或数千个游戏会话可同时在游戏服务内运行。
附图说明
下面参考附图来详细地描述本发明的实施例,在所述附图中:
图1是适合于实施本发明的实施例的示例性计算环境的框图;
图2是根据本发明的实施例的在线游戏环境的图;
图3是根据本发明的实施例的远程游戏计算环境的图;
图4是根据本发明的实施例的用活动和备用计算资源来运行活动游戏会话的游戏执行环境的图;
图5是图示出根据本发明的实施例的、响应于游戏执行环境中的新游戏会话的备用计算资源的重新分配的图;
图6是图示出根据本发明的实施例的、游戏执行环境中的备用计算资源的补充的图;
图7是图示出根据本发明的实施例的、在游戏执行环境中逐个标题地监视备用计算资源的图;
图8是示出了根据本发明的实施例的、管理分配给远程游戏服务的计算资源的方法的流程图;
图9是示出了根据本发明的实施例的、管理分配给远程游戏服务的计算资源的方法的流程图;以及
图10是示出了根据本发明的实施例的、管理分配给远程游戏服务的计算资源的方法的流程图。
具体实施方式
在本文中用具体特性描述了本发明的实施例的主题以满足法定要求。然而,本描述本身并不意图限制本专利的范围。相反地,本发明人已经设想还可能结合其它当前和未来技术用其它方式来体现要求保护的主题,以包括不同步骤或与在本文档中所述的那些类似的步骤的组合。此外,虽然在本文中可使用术语“步骤”和/或“方框”来暗示所采用方法的不同元素,但不应将所述术语解释为暗示在本文中公开的各种步骤之中或之间的任何特定顺序,除非且除了在明确地描述了单独的步骤的顺序时。
本发明的实施例监视并动态地分配计算资源给游戏服务。游戏服务提供用户通过诸如因特网之类的广域网连接到的远程游戏环境。例如,游戏服务可以利用位于全世界的一系列服务器或者一系列服务器群以容宿视频游戏。玩家然后使用包括游戏控制台、智能电话、平板电脑、个人计算机及其它计算设备之类的各种不同客户端设备来连接到游戏服务。
本发明的实施例监视游戏服务计算使用的特性以确定是应添加还是从游戏服务减除计算资源。游戏服务可容宿同一游戏的多个实例以及其它游戏的实例。游戏的每个实例都在游戏会话中运行。游戏会话运行负责创建针对用户的玩耍体验的视频游戏代码。游戏服务的不同部分可被分配以运行针对特定游戏标题的游戏会话。可在游戏服务级上总体地、在逐个标题基础级对游戏服务的一部分或者其组合完成资源的监视和分配。
游戏会话运行被一个或多个玩家访问的视频游戏标题。本发明的实施例运行针对游戏服务编写的游戏标题。针对游戏服务编写的标题不使用代码来管理服务器资源或其它远程计算资源。替代地,分配给游戏服务的计算资源响应于游戏服务计算特性的变化而被动态地更新。
游戏服务的各种特性可被监视并被用来分配计算资源。可直接地监视诸如中央处理单元(“CPU”)之类的计算资源的使用。在另一实施例中,监视运行的活动游戏会话的数目,并随着游戏会话的数目增加或减小而动态地重新分配计算资源。引起计算资源的重新分配的游戏会话的数目可根据在游戏会话中运行的游戏标题而改变。在一个实施例中,与计算资源的特定单元相关联的游戏会话的数目以编辑方式被建立并保存在分配表中。例如,第一标题可每个游戏会话使用计算资源的一个单元。因此,每当附加游戏会话被添加到游戏服务时,计算资源的附加单元将被添加到游戏服务。
当游戏会话结束时,可使计算资源回收利用到运行同一标题的其它游戏会话。回收利用到同一标题允许机器在游戏代码不需要被重新加载到该机器上的情况下运行游戏。当仅游戏标题的块(例如,级别)被加载到机器的活动存储器中时,然后计算设备可被回收利用到运行同一级别的游戏会话。
此外,可监视与游戏会话或与游戏会话相关联的计算资源的健康。在一个实施例中,从游戏会话移除显示出不健康特性(诸如比预期处理时间慢)的计算资源并添加健康资源。
可用物理机或虚拟机来区分计算资源的单元。在一个实施例中,为物理机的附加服务器被作为计算单元分配给游戏会话。在这种情况下,物理服务器与计算单元或资源具有一对一关系。在另一实施例中,使用虚拟机。虚拟机将单个物理计算设备人为地分离成两个或更多虚拟机。每个虚拟机能够执行完整服务器的能力,但是与一个或多个附加虚拟机共享硬件设备的CPU以及其它构件的能力。在一个实施例中,单个真实或虚拟机容宿多个游戏会话。
真实或虚拟机的能力可不同。因此,可向游戏服务指派不同尺寸的物理或虚拟机。游戏服务可以根据需要为各种游戏标题选择具有第一能力或第二能力的计算资源。针对第一游戏标题的游戏会话可以在具有第一能力的服务器上运行,以及针对第二游戏标题的游戏会话可以在具有第二能力的服务器上运行。在一个实施例中,游戏会话使用几个虚拟机。在另一实施例中,单个虚拟机运行多个游戏会话。
除根据需要通过向游戏服务添加和减除计算资源来管理计算资源之外,还可由游戏服务来管理网络资源以便利于客户端设备与游戏会话之间的通信。因此,随着附加计算设备被分配给游戏服务,可更新网络资源以将通信适当地路由到游戏服务正在其上面运行的计算设备。
当向游戏服务分配新资源时,资源可以因为其与已正在为该游戏服务提供服务的计算资源的接近度而被选择。例如,在正运行在多个服务器群上的游戏服务中,位于同一服务器群内的计算资源可以比不同服务器群中的计算资源更受偏爱。类似地,与已是游戏会话的部分的机器在机架内具有紧密接近度或具有紧密虚拟关系的服务器可以比具有不太接近关系的那些更优选。计算资源可以从结束的活动游戏会话被回收利用到可能处在同一游戏阶段的、正在运行同一标题的活动游戏会话。
被连接到游戏会话的客户端设备可针对不同的游戏扮演不同角色。在一个实施例中,客户端设备仅向游戏会话发送控制信号。在游戏会话中运行的游戏代码处理控制信号以改变游戏状态。例如,游戏内的玩家或对象可响应于控制输入而移动。游戏实例可生成反映已更新游戏状态的再现视频游戏图像并将再现图像传送至被连接到在游戏会话中运行的游戏实例的一个或多个客户端。每个客户端从与客户端相关联的玩家的角度可接收不同的再现视频游戏图像。虽然从游戏服务的角度被描述为客户端,但该客户端对于其它计算设备而言可以是服务器。例如,住宅内的计算设备可以通过局域网向包括平板电脑或智能电话的其它计算设备提供游戏内容。
在另一实施例中,游戏几何结构及其它游戏信息从服务器被发送并被与常驻于客户端上的图像数据组合以在客户端设备上生成再现视频游戏图像。客户端与游戏服务之间的处理的其它划分是可能的。
已经简要地描述了本发明的实施例的概要,下面描述适合于在实施本发明的实施例时使用的示例性操作环境。
示例性操作环境
一般地参考附图,并且特别地首先参考图1,用于实施本发明的实施例的示例性操作环境被示出并一般地指定为计算设备100。计算设备100是合适计算环境的仅一个示例,并且不旨在对本发明的使用或功能性的范围建议任何限制。计算设备100也不应当解释为具有与所图示的构件的任一个或组合有关的任何依赖或要求。
本发明可以在计算机代码或机器可用指令的一般上下文中进行描述,所述计算机代码或机器可用指令包括诸如程序构件的计算机可执行指令,其由计算机或者诸如个人数据助理或其它手持设备这样的其它机器执行。一般说来,包括例程、程序、对象、构件、数据结构等的程序构件指执行特定任务或实施特定抽象数据类型的代码。本发明的实施例可以以各种系统配置来实践,包括手持设备、消费电子、通用计算机、专用计算设备等。本发明的实施例也可以在分布式计算环境中被实践,其中,任务由通过通信网络链接的远程处理设备执行。
继续参考图1,计算设备100包括直接或间接耦接以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现构件116、输入/输出(I/O)端口118、I/O构件120以及说明性电源122。总线110表示可以是一条或多条总线(例如地址总线、数据总线或其组合)的东西。尽管为清晰起见用线条示出了图1的各种框,但实际上,勾画各种构件并不如此清晰,并且比喻地,所述线条更准确来说将是灰色和模糊的。例如,人们可以将诸如显示设备的呈现构件看作I/O构件120。同样,处理器具有存储器。于此,发明人认识到这是本领域的本质,并且重申图1的图仅图示了可以结合本发明的一个或多个实施例使用的示例性计算设备。未在诸如“工作站”、“服务器”、“膝上电脑”、“手持设备”等的类别之间做出区分,因为全部都在图1的范围内被设想,并且指“计算机”或“计算设备”。
计算设备100通常包括各种计算机可读介质。计算机可读介质可以是任何可被计算设备100访问的可用介质,并且包括易失性和非易失性介质、可移除和非可移除介质两者。作为示例且非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括用任何用于存储信息的方法或技术实施的易失性和非易失性、可移除和非可移除介质两者,所述信息例如是计算机可读指令、数据结构、程序模块或其它数据。
计算机存储介质包括RAM、ROM、EEPROM、闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光盘存储装置,盒式磁带、磁带、磁盘存储装置或其它磁存储设备。计算机存储介质不包括传播的数据信号。
通信介质通常将计算机可读指令、数据结构、程序模块或其它数据体现在诸如载波或其它传输机制的已调制数据信号中,并且包括任何信息递送介质。术语“已调制数据信号”指这样的信号,所述信号使其特性中的一个或多个以使得将信息编码到该信号中的方式被设置或改变。作为示例且非限制,通信介质包括:诸如有线网络或直接连线连接的有线介质,以及诸如声学、RF、红外和其它无线介质的无线介质。以上的任意的组合也应当包括在计算机可读介质的范围内。
存储器112包括采用易失性和/或非易失性存储器形式的计算机存储介质。存储器112可以是可移除的、非可移除的或其组合。示例性存储器包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括一个或多个处理器114,其从诸如总线110、存储器112或I/O构件120这样的各种实体读取数据。呈现构件116向用户或其它设备呈现数据指示。示例性呈现构件116包括显示设备、扬声器、打印构件、振动构件等。I/O端口118允许计算设备100被逻辑耦接到包括I/O构件120的其它设备,所述其它设备中的一些可以是内置的。说明性I/O构件120包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。
示例性在线游戏环境
现在转向图2,示出了根据本发明的实施例的在线游戏环境200。在线游戏环境200包括通过网络220连接到游戏服务230的各种游戏客户端。示例性游戏客户端包括游戏控制台210、平板电脑212和个人计算机214。使用诸如智能电话的其它游戏客户端也是可能的。游戏控制台210可以具有通信地耦接到其的一个或多个游戏控制器。在一个实施例中,平板电脑212可以充当游戏控制台210或个人计算机214的输入设备。在另一实施例中,平板电脑是独立游戏客户端。网络220可以是诸如因特网这样的广域网。
关联于游戏控制台210的控制器包括游戏手柄231、平板电脑232、头戴式耳麦236和深度相机234。游戏控制台可以与生成丰富输入和基本输入这两者的控制设备关联。单独的控制器能够生成不同种类的输入,以及单个控制器可以生成丰富输入和基本输入这两者。
游戏手柄231可能能够生成基本控制信号,所述基本控制信号例如是通过按钮选择和操纵杆移动生成的那些。诸如由游戏手柄231内的加速度计和陀螺仪生成那些的移动数据可以是丰富感觉数据的示例。在某些实施方案中,不将移动数据看作丰富感觉数据。
平板电脑232可以是游戏控制器和如先前与平板电脑212一起提到的游戏客户端这两者。平板电脑232被示为直接耦接到游戏控制台210,但该连接可以是通过因特网或子网而间接的。在一个实施例中,游戏服务230帮助构成平板电脑232和游戏控制台之间的连接。平板电脑232能够生成众多输入流,并且还可以用作显示输出机制。除作为主显示器之外,平板电脑232可以提供与示出在耦接到游戏控制台210的主显示器上的信息接近的补充游戏信息,或简单地是控制表面。由平板电脑232生成的输入流包括视频和图片数据、音频数据、移动数据、触摸屏数据和键盘输入数据。
头戴式耳麦236捕获来自玩家和玩家的周围环境的音频输入,并且如果其与头戴式耳机或其它扬声器耦接则还可以充当输出设备。
深度相机234生成深度云,该深度云被用作控制输入。深度相机234可以使用红外相机来针对每个所捕获像素确定深度或与该相机的距离。立体镜深度相机也是可能的。另外,深度相机234可以捕获典型颜色流或图片。深度相机234可以具有几个图像收集构件。例如,深度相机234可以具有多个相机。
游戏服务230可以包括彼此通信地耦接的多个计算设备。在一个实施例中,游戏服务230使用一个或多个服务器群来实施。服务器群可以跨包括遍及世界的城市的各种地理区域分散。在该场景中,游戏客户端可以连接到最近的服务器群。本发明的实施例不限于该设置。
游戏服务230允许游戏在由游戏服务230提供的计算设备内被执行。游戏服务与游戏客户端之间的通信会话将输入流量携带给游戏服务230,并返回所再现的游戏图像和/或其它游戏输出。
用于远程游戏的示例性游戏客户端和游戏服务
现在转向图3,示出了根据本发明的实施例的示例性远程游戏环境300。远程游戏环境300包括通过网络330通信地耦接到游戏服务器340的游戏客户端310。在一个实施例中,所述网络可以是因特网。游戏客户端310连接到第一游戏输入设备312、第二游戏输入设备314和显示器316。示例性游戏输入设备包括游戏手柄、键盘、鼠标、触摸板、触摸屏、用于接收语音命令的麦克风、深度相机、视频相机和轨迹球。本发明的实施例不限于这些输入设备。显示器316能够显示视频游戏内容。例如,显示器316可以是电视或计算机屏幕。在另一实施例中,显示器316是与游戏客户端310集成到一起的触摸屏。
游戏客户端310是能够执行视频游戏的计算设备。游戏客户端310可以是平板电脑或膝上电脑。在另一实施例中,游戏客户端310是游戏控制台,以及显示器316是通信地耦接到该游戏控制台的远程显示器。游戏客户端310包括操作环境320、视频合成构件321、游戏执行环境322和游戏数据储存器324。为简单起见,游戏客户端310的其它构件未被示出。
操作环境320可以由管理硬件并向正在游戏客户端310上运行的应用提供服务的操作系统提供。所述操作环境可以向作为游戏和通信功能的部分的不同应用分配客户端资源。
游戏数据储存器324存储已下载的游戏、游戏采样和/或已部分下载的游戏。游戏可以在可玩的框中被下载。为玩游戏,可能需要将游戏从游戏数据储存器324加载到关联于游戏执行环境322的活动存储器中。游戏数据储存器324还可以存储玩家进度文件。
游戏执行环境322包括执行游戏的部分或游戏的实例所需的客户端310上的游戏资源。在某些实施例中,客户端310不包括游戏执行环境或用于执行游戏的计算资源。游戏执行环境322包括活动存储器以及计算和视频处理资源。游戏执行环境322接收游戏控制,并使游戏根据游戏编程被操纵和进展。在一个实施例中,游戏执行环境322输出已再现的视频流,该已再现的视频流被传送给显示器316。游戏执行环境322可以执行游戏的部分以生成游戏图像,由视频合成构件321将所述游戏图像与从游戏服务器340接收的已再现图像组合。
视频合成构件321将从游戏服务器340接收的已再现视频游戏图像与由客户端310再现的已再现视频游戏图像合并,以便形成单个图像,该单个图像被输出给显示器316。已再现视频游戏图像可以指用来成功地合成服务器和客户端图像的仅单个颜色图像或者颜色图像和深度缓存数据。视频合成构件可以执行比例换算和其它功能以生成合适的视频输出。本发明的某些实施例不使用或包括视频合成构件321。
游戏服务器340包括连接管理器342、玩家简档数据储存器344、资源管理器346、游戏执行环境348、游戏数据储存器350、游戏管理器352和游戏媒介354。尽管被描绘为单个盒子,但游戏服务器340可以是包括众多机器的服务器群或甚至几个服务器群。所述服务器的几个可以充当协调游戏体验的中央服务器的客户端。
连接管理器342在客户端310与服务器340之间建立连接。连接管理器342还可以提供各种认证机制以确保用户被授权访问由服务器340提供的游戏服务。连接管理器可以在服务器和虚拟机被添加到游戏会话时为服务器和虚拟机提供安全、加密和认证信息。连接管理器342还可以分析连接内的可用带宽,并根据需要将该信息提供给构件。例如,视频游戏图像的分辨率可以被降低以适应有限的带宽。
玩家简档数据储存器344可以结合连接管理器342工作,以便建立和存储玩家信息。玩家简档的部分可以包括诸如玩家的名称、地址和信用卡信息这样的人口统计和金融信息,或者其它用于支付或购买由游戏服务提供的游戏和体验的机制。
另外,玩家简档数据储存器344可以存储在单独的游戏内玩家的进度。可以存储玩家的分数、成就和通过游戏级别的进度。进一步地,玩家简档数据储存器344可以存储诸如语言偏好的关于单独的玩家偏好的信息。玩家可以访问来自多个客户端的游戏级别信息。例如,玩家的进度可以从好友的游戏控制台或在玩家的移动设备上被访问。
关于玩家的游戏客户端和网络连接的速度的信息也可以存储在玩家简档数据储存器344中,并用于优化游戏体验。例如,在一个实施例中,当地理上接近的服务器群繁忙时,具有较高等待时间因特网连接的玩家可以优先被连接到接近的服务器群,而具有较低等待时间连接的玩家可以连接到更远的服务器群。这样,具有能最好地处理附加等待时间的网络连接的玩家被连接到由于他们的位置而产生附加等待时间的服务器群。
玩家简档数据储存器344还可以存储单独的玩家的使用历史。可以存储玩家的购买游戏、采样游戏或通过不要求购买游戏的游戏服务玩游戏的历史。
资源管理器346监视游戏服务的计算机资源使用,并在计算机使用的特性改变时根据需要来分配计算资源。在一个实施例中,每个游戏标题具有负责将游戏服务内的计算资源分配给游戏标题的专用资源管理器346。随着运行游戏标题的更多游戏会话被添加,更多的计算资源可被分配给负责游戏标题的游戏服务的一部分。在另一实施例中,资源管理器346监视多个游戏标题,包括与不同的开发或公布实体相关联的游戏标题,并根据需要来分配计算资源。随着跨多个游戏标题检测到更多的游戏会话,附加计算资源被分配给游戏服务。资源管理器346可根据按视频游戏标题改变的需要来分配计算资源。例如,不同的视频游戏标题可要求具有不同能力的机器。
如更详细地解释的,资源管理器346可监视多少活动游戏会话在进行中、多少计算单元在活动地运行活动游戏会话以及多少计算单元在备用。备用计算单元被分配给游戏服务或者游戏服务的一部分,但并不活动地支持游戏会话。随着游戏服务内的会话的数目增加或减少,可自动地向游戏服务添加或从其减除计算资源。在一个实施例中,可随着跨过各种门限而添加计算资源。门限被确立以优化分配给游戏服务的计算资源。门限可以是基于每个游戏标题的或者是针对整个服务的或者针对两者。例如,可在八个、十六个、三十二个、六十四个以及九十个游戏会话在活动时添加计算机资源。每个门限可与添加不同量的附加计算资源相关联。添加的计算资源的量可以不是线性的。游戏会话门限与计算资源之间的关系可被建立并存储在表格中,该表格被资源管理器346用来确定何时和多少计算资源应被添加到负责游戏标题的游戏服务或游戏服务的一部分。除将这样的门限存储在表格中之外,可基于观察到的使用模式来利用算法以确定游戏服务需要多少计算资源。
当管理计算资源和创建新的游戏会话时,资源管理器346可从运行同一标题的另一游戏会话回收利用计算资源。计算资源在游戏代码不需要被重新加载到活动存储器中的意义上被回收利用。替代地,可以提供新的游戏状态信息,并且可在具有新玩家的新游戏会话中使用已加载代码。
游戏执行环境348包括执行游戏的实例所需的游戏资源。这些是由游戏管理器352和其它构件管理的先前描述的资源。游戏执行环境348包括活动存储器以及计算和视频处理。游戏执行环境348通过I/O通道接收诸如减少的控制器输入这样的游戏控制,并且使得游戏根据其编程而被操纵和进展。在一个实施例中,游戏执行环境348输出被传送给游戏客户端的已再现视频流。在其它实施例中,游戏执行环境348输出游戏几何结构或其它表示,其可以与游戏客户端上的本地对象组合以便再现游戏视频。
游戏数据储存器350存储可用的游戏。游戏可以从该数据储存器被检索并被加载到活动存储器中以便在游戏会话中使用。游戏数据储存器350可以被描述为被动或辅助存储器。一般说来,游戏不可以脱离游戏数据储存器350而被玩。然而,在某些实施例中,该辅助存储器可以用作虚拟存储器,在此情况下,游戏数据储存器350的部分也可以充当活动存储器。这说明,活动存储器不必由特定硬件构件定义,而由游戏资源为执行游戏而活动地操纵和访问存储器内的对象的能力定义。
游戏管理器352管理玩家与活动游戏的连接。在一个实施例中,存在针对通过游戏服务可用的每个游戏的单独的游戏管理器。以单个游戏为例,游戏管理器将把玩家投入请求的游戏中。在一个实施例中,玩家可以通过游戏管理器352连接到游戏。换句话说,游戏管理器352可以充当针对单独的游戏实例之间的通信和连接的看门人。当玩家退出游戏时,指令可以去往游戏管理器352,以便检索该玩家的进度并将其保存到玩家简档数据储存器344内该玩家的简档中。
游戏媒介354跟踪正在进行的游戏会话,并帮助玩家找到要加入的游戏会话。游戏媒介354可以生成界面,该界面允许准玩家搜索好友正在参与的游戏会话。媒介354可以允许玩家搜索具有这样的玩家的活动游戏会话,所述玩家具有类似的技能级别,所述技能级别例如由玩家等级、游戏进度或在游戏内获得的成就指示。在一个实施例中,媒介354仅返回这样的游戏会话,所述游戏会话具有对更多玩家可用的空间。
在另一实施例中,媒介354可以返回当前已关闭的游戏会话的列表,所述已关闭的游戏会话具有在开放可用之前玩家可以期望的估计等候。所述等候可以通过分析针对会话的流失来计算。所述流失测量玩家离开游戏会话的速率。所述流失可以使用针对同一游戏标题的全部游戏会话的平均来计算。所述流失可以专用于特定游戏会话。等候时间还可以考虑等候加入的其他玩家。由此,如果四个玩家正在等候加入平均每30秒一次开放的会话,则估计的等候时间将是两分钟。媒介354可以管理等候加入游戏的玩家的队列,并在开放变得可用时将他们添加到该游戏。
媒介354还可以生成开放游戏会话的列表以便玩家加入。甚至在没有准玩家的输入的情况下,该列表可以被过滤,以便仅列出具有类似级别玩家或另外适合该准玩家的会话。例如,可以仅列出玩家有玩的许可的游戏标题。在另一实施例中,列出全部游戏,但指示使玩家知道哪些游戏将需要购买附加的许可。玩家被给予通过界面购买用于玩游戏的许可的机会。
媒介354可以通过操纵为新玩家加入列出的游戏会话而在杀掉其它的同时努力保持游戏会话满。玩家以最小化总的计算资源使用的方式被导向到游戏会话。例如,代替具有两倍之多的半满的游戏会话,可以努力保持玩家的游戏会话满。由此,如果游戏会话接近其中计算资源可以被移除的玩家门限数目,则该游戏会话可以不被列出,除非是响应于针对另一玩家的特定查询或对该会话唯一的其它寻找到的特性。这允许游戏会话落在门限之下,以及允许资源被移除。另一方面,在努力保持游戏会话满时可以首先列出具有仅少量开放的游戏会话。
由此,媒介354提供搜索工具以帮助玩家找到满足他们的需求的开放游戏会话。当多个游戏会话满足玩家的需求时,玩家可以以最小化在给定时间运行的游戏会话的总数的方式被添加到游戏会话。
媒介354还可以为了节约网络资源和提供更好游戏体验而为玩家选择游戏会话。媒介354可以查看玩家的本地能力的特性以便选择合适的游戏会话计算资源。作为示例,玩家正在使用的控制台的类型或游戏的版本可以影响哪些计算资源被选择用于运行游戏会话。进一步地,玩家的地理位置影响玩家连接到哪个数据中心以便最小化网络等待时间。媒介354将使与正在优选数据中心中运行的游戏会话的连接优先化。一般说来,地理上更靠近的数据中心将具有较少等待时间,但网络状况可以改变。在一个实施例中,对网络状况进行监视,并且将玩家与在数据中心内运行的对该特定玩家来说有最少等待时间的游戏会话相匹配。
现在转到图4,根据本发明的实施例图示出正在用活动和备用计算资源分配来运行活动游戏会话的游戏执行环境428。游戏执行环境428可类似于先前描述的游戏执行环境348。游戏执行环境428是游戏服务的一部分,诸如先前参考图2和3所描述的。为了简单起见,未示出游戏服务内的其它构件。游戏执行环境428被通过网络420连接到各种游戏客户端。客户端中的某些可以是其它服务器,而其它客户端是游戏控制台。如前所述,诸如授权和连接管理构件和游戏管理器之类的其它构件可在网络420与游戏执行环境428之间路由通信。
如可以看到的,客户端设备410上的玩家1、客户端设备412上的玩家2、客户端设备414上的玩家3以及客户端设备416上的玩家N通过网络420被连接到游戏执行环境428。玩家N意图说明任何数目的玩家可能被远程地连接到执行环境。为了简单起见,已连接玩家和客户端中的许多未被示出。如前所述,当玩家被连接时,其玩家简档信息及其它I/O信道细节可被并入到活动游戏中以允许其玩游戏。
游戏执行环境428包括八个会话。每个会话具有为其分配的计算资源。第一会话430正在运行标题一。计算资源462被分配给会话430。计算资源462可以是单个机器或虚拟机。
第二会话432也在运行标题一。会话432与计算资源464和计算资源466相关联。在本示例中,计算资源464和计算资源466具有相同能力。如随后将说明的那样,情况不需要如此。
第三会话434也在运行标题一。会话434与计算资源468相关联。
第四会话440正在运行第二视频游戏标题。标题二不同于标题一。计算资源470被分配给游戏会话440。
第五会话442也在运行标题二。计算资源472、计算资源474以及计算资源476全部被分配给会话422。如可以看到的,三个资源被分配给会话422且一个资源被分配给440。不同的游戏会话可由于各种原因而使用计算机资源。例如,相应会话中的玩家的不同数目可使不同量的计算机资源被分配。
第六会话444正在运行标题三。标题三不同于标题一和标题二。如前所述,被用来分配资源的玩家的门限可根据标题而不同。可监视另外的历史使用模式以基于每个标题分配资源。例如,通常吸引大量玩家的标题可以用更多的资源开始。这由分配给第六会话444的计算资源478的较大尺寸指示。较小计算资源480也被分配给第六会话444。因此,在适当时可向游戏会话分配不同尺寸的计算资源。
不同的尺寸可反映具有不同计算能力的虚拟机或物理机的尺寸。计算资源482也与第六会话444相关联并与计算资源480尺寸相同。这说明游戏标题可首先以较大计算能力开始,但是可以使用较小尺寸的计算资源递增地增加。
第七会话446也在运行标题三。计算资源484和计算资源486被分配给第七会话446。如可以看到的,计算资源486大于计算资源484。
第八会话448正在运行标题三。计算资源488被分配给第八会话448。
除与活动游戏会话相关联的计算资源之外,向游戏服务分配一组备用资源。所述备用资源并未与活动游戏会话或特定标题相关联。在另一实施例中,备用资源被预先分配给特定游戏标题或游戏开发者。备用计算资源包括资源490、资源491、资源492、资源493、资源494以及资源495。
在一个实施例中,活动游戏会话的数目被监视并被与门限相比较。该门限可以是分配给游戏服务的计算资源可以处理的总游戏会话的百分比。不同的游戏会话可由于运行的标题、会话中的玩家及其它因素而要求不同量的计算机资源。该门限可基于运行平均会话所需的计算机资源。当基于游戏标题来监视计算机资源时,如图7中所示,可以针对不同的标题使用不同的门限。
现在转到图5,根据本发明的实施例示出了具有被分配给新游戏会话的已更新计算资源的游戏执行环境428。虽然在图5中未示出,但游戏执行环境428以及具体地环境428内的会话被资源管理器(诸如先前参考图3所描述的资源管理器346)监视。
在图5中,先前参考图4所描述的所有会话是相同的,除了添加了三个新会话。第九会话532正在运行标题一且与计算资源493相关联。第十会话534正在运行标题二并与计算资源494相关联。第十一会话536正在运行标题三并与计算资源495相关联。资源493、494和495先前是备用资源。在资源被分配给新游戏会话之后,仅留下三个备用资源以供可能需要的任何新游戏会话使用。对于本示例而言,具有仅三个备用资源下降到门限以下,从而使更多计算资源被分配给该游戏服务。
现在转到图6,根据本发明的实施例示出了具有已更新备用计算机资源的游戏执行环境。会话与先前参考图5所示的那些相同。然而,四个新的计算机资源已被分配给游戏服务并在备用中。新资源包括资源690、资源691、资源692以及资源693。请注意,添加了四个资源以创建总共七个备用资源而不是图4中的最初的六个。备用的计算机资源的总数可随着玩耍条件改变而改变。例如,如果在一天的特定时间期间游戏服务上的资源需求正在增长(活动游戏会话的数目正在增加),则更多的资源可以备用以准备好处理该增长。另一方面,如果需求在减少,则较少的资源可备用,因为可需要较少的余量。
现在转到图7,根据本发明的实施例示出了基于逐个游戏标题来分配计算资源的游戏服务728的图。游戏服务728被划分成三个不同的监视组。监视组可由于各种原因而形成。在一个实施例中,为每个游戏标题指派监视组。与游戏标题相关联的监视组将包括运行游戏标题的活动游戏会话所需的计算资源。在另一实施例中,监视组由游戏开发者或发行者组织。游戏开发者可编写使用类似计算资源的游戏。将运行该开发者的标题的游戏会话分组在一起可能是有利的。在某些情况下,开发者可能希望具有其自己的自定义在线体验,其通过在同一监视组中具有专用计算资源来便于实现。此外,可基于游戏标题和位置来形成监视组。例如,在第一数据中心中运行游戏标题的所有游戏会话可形成第一监视组,而在第二数据中心中运行同一标题的游戏会话形成第二监视组。其它游戏特性或资源可被孤立地或组合地使用以形成有利监视组。
监视组730包括运行两个不同标题的游戏会话。监视组730是多标题监视组。监视组730内的两个标题可与同一发行者相关联或由于某个其它原因而被分组在一起。会话组732包括运行游戏标题一的六个游戏会话。会话组734包括运行标题二的四个游戏会话。在监视组730内,活动资源组736包括10个计算单元。另外,备用组738包括两个计算单元。活动计算单元在游戏标题之间被共享。在本示例中,在活动计算单元与活动游戏会话之间存在一对一关系,但是情况不需要如此。随着针对标题一或标题二的新游戏会话变成活动的,可向新会话分配备用资源并向监视组730分配新计算资源。
监视组740与单个游戏标题相关联。活动会话组742包括标题3的20个游戏会话。第二监视组740包括具有12个计算资源的活动资源组744。备用组746包括四个计算单元。
监视组750还包括单个游戏标题。活动会话组752包括标题四的18个游戏会话。活动资源组754包括11个计算单元。不存在与监视组750相关联的备用单元。然而,附加资源756一般地可用于游戏服务。这四个计算资源可以根据需要被分配给不同的监视组。在一个实施例中,专用计算资源被分配给利用它们的监视组。利用默认计算设置的监视组可共享备用池。另外,监视组750可能不具有被直接地分配的备用计算资源,因为对标题四的需求正在减少。当对游戏标题的需求正在减少时,可向关联的监视组分配比对游戏标题的需求正在增加时更少的备用资源。还可使用会话流失来确定用于向监视组分配计算资源的门限,该会话流失是在一定时间期间多少会话被发起和去激活的度量。
现在转到图8,根据本发明的实施例示出了向远程游戏服务分配计算资源的方法800。如先前所解释的,远程游戏服务提供了用于在线游戏的平台。游戏服务可使用多个服务器以及甚至多个服务器群来提供服务。游戏会话运行单个视频游戏标题并可包括多个玩家。玩家使用客户端而连接到游戏服务,所述客户端通过诸如因特网之类的广域网连接到游戏服务硬件。在一个实施例中,游戏会话和游戏会话内的游戏代码不具有对游戏会话、对游戏服务或在游戏服务内监视或分配计算资源的能力。游戏代码被编写成关于被用来运行该游戏代码的计算机资源是不可知的。替代地,游戏代码是针对具有由如先前参考图3所描述的资源管理器为其分配的计算资源的游戏会话所编写的。资源管理器可监视运行不同标题或专用于单个标题的游戏会话。
在步骤810处,监视在游戏服务上运行的游戏会话的量。游戏会话正在执行用于视频游戏标题的代码且被远程游戏客户端通过一个或多个网络连接访问。游戏服务可具有游戏会话,每个游戏会话运行不同的标题。
在步骤820处,活动游戏会话的量被确定以满足用于向游戏服务添加更多资源的门限准则。如所述,该门限可基于被用来运行活动会话的资源的百分比。该门限可随着需求改变和需求改变的速率而改变。一般地,当需求改变且需求的速率高时,门限可改变以创建更多的备用资源。
门限小于用于分配给游戏服务的硬件构件的总能力。本发明的实施例可监视被识别为有效玩游戏的瓶颈的任何硬件构件。换言之,具有在玩游戏期间被首先消耗的能力的硬件构件可被监视为用以分配附加计算资源的触发器。不同的游戏可以以不同的方式强调或利用机器的能力。某些游戏可能是更加图形密集的,并且利用更多的图形资源,而其它游戏可能由于接收到的控制信号的类型或输出密度而是更加网络密集的。例如,利用诸如音频控制或图像数据之类的更丰富控制源的游戏可比其消耗可用CPU或图形处理能力更快地消耗网络接口能力。可基于逐个标题确定和监视限制性因素并根据需要来分配特定类型的计算资源。
在步骤830处,向游戏服务分配附加计算资源。如所述,所分配的计算资源可以是物理设备或虚拟设备。此外,所分配的计算资源可具有与原始计算资源不同的尺寸,并且计算资源可针对不同的游戏标题被以不同的量递增。例如,相对小的计算资源量可分配给通常不经历游戏会话的数目快速地改变的游戏标题。相反地,具有高游戏会话流失率(例如,被发起和终止的游戏会话的数目)的游戏标题可更快速地扩张。可挖掘历史使用数据以确定要添加到服务或每个游戏标题的最佳资源量。在一个实施例中,以偶数CPU数目来添加物理计算资源。例如,可以同时地向游戏服务添加两个、四个或八个CPU和关联的资源。
现在转到图9,根据本发明的实施例提供了向远程游戏服务分配计算机资源的方法900。在步骤910处,监视在游戏服务上运行特定游戏标题的游戏会话的量。如所述,游戏服务提供可被玩家使用诸如智能电话、平板电脑以及游戏控制台之类的其客户端设备远程地访问的视频游戏标题。在一个实施例中,由游戏服务来提供监视。在游戏会话内运行的视频游戏代码可不监视可用资源。
在步骤920处,游戏会话的量被确定以满足用于改变分配给游戏服务的计算资源的门限。该门限可限制与不同水平的计算资源相关联的游戏会话的高和低范围。例如,当满足低门限时,可从游戏服务取走计算资源。当满足高门限时,可向游戏服务添加附加计算资源。在步骤930处,动态地向游戏服务分配附加计算资源。
现在转到图10,根据本发明的实施例示出了一种管理分配给远程游戏服务的计算资源的方法1000。在步骤1010处,监视在游戏服务上运行的游戏会话的量。该监视没有来自在游戏会话中运行的代码的输入。换言之,监视服务或功能与被用来生成针对玩家的游戏体验的游戏代码分开。另外,可能跨多个视频游戏标题监视游戏会话的多个组。游戏会话的组可被描述为监视组。
在步骤1020处,基于针对游戏服务的需求特性来计算游戏会话的动态门限。该动态门限尝试通过在不具有丰富的未使用计算资源的情况下为玩家的游戏体验分配足够资源来高效地利用计算资源。在一个实施例中,它们对游戏服务的使用并不是恒定的。因此,计算该门限以动态地添加计算资源和从游戏服务减除计算资源。
在一个实施例中,需求特性是历史需求。历史需求可指示在特定时间的用于游戏服务的游戏会话的正常范围。历史信息还可指示用于特定游戏标题的游戏会话的正常范围。某些游戏标题可能在晚上受欢迎,而其它游戏标题可能在早晨或下午受欢迎。所述历史信息可用来确认实时需求趋势。如果当前趋势是对特定标题的游戏会话的递减需求且这与在过去的相同或类似时间段期间的历史趋势匹配,则可以以较高的置信度和较小的误差余量来设定门限。在另一实施例中,使用针对游戏标题的动态需求来计算门限。按游戏会话的活动数目测量的实际需求和需求变化的速率两者都可用来确定门限。
给定当前需求和当前部署时间,例如六分钟,可进行预测以估计在六分钟内需求将是什么。换言之,分析性预测估计在目前所采取的任何部署活动实际上将开始生效的时间处需求将在哪里。该分析性预测是基于历史数据的最后x量分钟价值的“历史观察”的,以理解简档和业务量看起来趋势如何,“x”可以是基于不同因素而改变的门限。例如,所使用的门限可以是基于部署时间的。如果部署仅花费几分钟,则门限可为约几分钟,但是如果资源部署花费一小时,则门限可约为一小时。基于此数据,与历史数据点匹配的多项式使用最小二乘法被计算,并且然后使用该多项式被外推。可将此过程描述为预测。可基于来自最后24小时的显示出需求尖峰的历史数据来调谐该预测数字,例如以计算安全余量。
除预测需求之外,已知尖峰可以被虑及并用来临时地重写需求预测。本发明的实施例支持有限时间段的配置,其中在预期例如游戏发行日、新内容可用性、竞赛或锦标赛或者周末奖金之类的流行事件的情况下设定资源的较高最小门限。可提供允许报告事件实现需求的需求界面。该需求界面可以是开发者和游戏服务管理员可访问的。该界面可允许指定预期需求。例如,可以将需求指定为1000个用户将在本周二7:00PM玩耍。替换地,可以通过该界面来提供事件细节,包括时间段、游戏标题以及事件类别。可使用事件细节来识别先前发生的一个或多个类似事件。可使用(一个或多个)先前事件的需求特性来预测在事件发生的时间段期间的对游戏标题的需求。
可在任何时间重新计算需求。随着需求改变,可将资源从具有过剩资源的池移动至具有资源短缺的池。替换地,资源可完全远离游戏服务被分配并在数据中心中出于某个其它目的被使用。本发明的实施例允许以编辑方式设定需求重新计算之间的时间段,例如每五分钟,以产生较不或更加积极的资源分配。
在步骤1030,当所述量超过游戏会话的动态门限时,向游戏服务分配附加计算资源。因此,该门限是游戏标题所特定的,并且可以根据不同的游戏标题而不同。门限还可因玩家的偏好和游戏使用改变而根据小时和天的不同而改变。
已将本发明的实施例描述成说明性而非限制性的。将理解的是特定特征和子组合具有实用性,并且可在不参考其它特征和子组合的情况下被采用。这可被权利要求的范围设想且在该权利要求的范围内。

Claims (9)

1.一种方法,包括:
监视由游戏服务提供的游戏标题的多个游戏会话中的所有活动游戏会话的计数以及被分配到在虚拟机上运行所述游戏标题的所述多个游戏会话的所述游戏服务的备用资源的量,其中所述虚拟机中的每个虚拟机被配置为容宿所述多个游戏会话,其中备用资源的所述量被分配到所述游戏服务但是不被所述所有活动游戏会话活动地使用,其中所述所有活动游戏会话中的每个活动游戏会话与所述游戏标题的不同实例相关联并且被配置为由多个玩家访问;
确定到所述游戏服务的备用资源的所述量低于阈值并且所有活动游戏会话的所述计数已经递增;以及
基于确定备用资源的所述量低于所述阈值并且所有活动游戏会话的所述计数已经递增,向所述备用资源动态地分配附加资源量,其中所述备用资源被包括在根据需要被分配给所述多个游戏会话中的任何游戏会话的单个备用资源池中。
2.根据权利要求1所述的方法,其中所述阈值基于用于呈现备用资源使用的变化率而被调整。
3.根据权利要求1所述的方法,还包括:基于对于可能使用所述附加资源量的游戏标题的需求比对于由所述游戏服务提供的其他游戏标题的需求增加更快,确定所述游戏标题。
4.根据权利要求1所述的方法,还包括:
确定所有活动游戏会话的所述计数在递减;以及
响应于备用资源的所述量低于所述阈值并且所有活动游戏会话的所述计数在递减,将一个或多个备用资源动态回收利用到所述游戏服务。
5.一种系统,包括:
处理器;以及
计算机存储存储器,其具有存储在其上的计算机可执行指令,所述计算机可执行指令在由所述处理器执行时实现管理被分配到远程游戏服务的计算资源的方法,所述方法包括:
监视由游戏服务提供的游戏标题的多个游戏会话中的所有活动游戏会话的计数以及被分配到在虚拟机上运行所述游戏标题的所述多个游戏会话的所述游戏服务的备用资源的量,其中所述虚拟机中的每个虚拟机被配置为容宿所述多个游戏会话,其中备用资源的所述量被分配到所述游戏服务但是不被所述所有活动游戏会话活动地使用,其中所述所有活动游戏会话中的每个活动游戏会话与所述游戏标题的不同实例相关联并且被配置为由多个玩家访问;
确定到所述游戏服务的备用资源的所述量低于阈值并且所有活动游戏会话的所述计数已经递增;以及
基于确定备用资源的所述量低于所述阈值并且所有活动游戏会话的所述计数已经递增,向所述备用资源动态地分配附加资源量,其中所述备用资源被包括在根据需要被分配给所述多个游戏会话中的任何游戏会话的单个备用资源池中。
6.根据权利要求5所述的系统,其中所述阈值基于用于呈现备用资源使用的变化率而被调整。
7.根据权利要求5所述的系统,还包括:
基于对于可能使用所述附加资源量的游戏标题的需求比对于由所述游戏服务提供的其他游戏标题的需求增加更快,确定所述游戏标题。
8.根据权利要求5所述的系统,还包括:
确定所有活动游戏会话的所述计数在递减;以及
响应于备用资源的所述量低于所述阈值并且所有活动游戏会话的所述计数在递减,将一个或多个备用资源动态回收利用到所述游戏服务。
9.一种存储计算机可用指令的计算机可读存储介质,所述计算机可用指令当被一个或多个计算设备执行时,使所述一个或多个计算设备执行根据权利要求1-4中任一权利要求的方法。
CN201480029445.0A 2013-05-20 2014-05-20 向远程游戏环境中的游戏标题的资源分配 Active CN105473196B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/897,876 US9628332B2 (en) 2013-05-20 2013-05-20 Resource allocation to game titles in a remote gaming environment
US13/897876 2013-05-20
PCT/US2014/038682 WO2014189867A1 (en) 2013-05-20 2014-05-20 Resource allocation to game titles in a remote gaming environment

Publications (2)

Publication Number Publication Date
CN105473196A CN105473196A (zh) 2016-04-06
CN105473196B true CN105473196B (zh) 2019-07-16

Family

ID=51023058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480029445.0A Active CN105473196B (zh) 2013-05-20 2014-05-20 向远程游戏环境中的游戏标题的资源分配

Country Status (4)

Country Link
US (2) US9628332B2 (zh)
EP (1) EP2999528A1 (zh)
CN (1) CN105473196B (zh)
WO (1) WO2014189867A1 (zh)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9421464B2 (en) * 2013-05-22 2016-08-23 Dell Products, Lp System and method for providing performance in a personal gaming cloud
CA2915582A1 (en) * 2013-06-17 2014-12-24 Square Enix Holdings Co., Ltd. Image processing apparatus, image processing system, image processing method and storage medium
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9830193B1 (en) * 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9563472B2 (en) * 2014-12-04 2017-02-07 International Business Machines Corporation Concurrent workload deployment to synchronize activity in a design palette
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US11075976B2 (en) 2014-12-24 2021-07-27 Vmware, Inc. Remoting application user interfaces
US10693923B2 (en) 2015-01-28 2020-06-23 Vmware, Inc. Establishing streaming sessions during remote sessions
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US10547711B2 (en) * 2015-03-25 2020-01-28 Vmware, Inc. Using off-screen user interface data during remote sessions
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10248459B2 (en) 2016-03-15 2019-04-02 Microsoft Technology Licensing, Llc Operating system support for game mode
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
US10970101B2 (en) 2016-06-03 2021-04-06 Vmware, Inc. System and method for dynamically configuring virtual displays and virtual inputs for different remote sessions that each present content for a virtual machine
US10469562B2 (en) 2016-06-24 2019-11-05 Vmware, Inc. Virtual machine pixel remoting
US10860347B1 (en) * 2016-06-27 2020-12-08 Amazon Technologies, Inc. Virtual machine with multiple content processes
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10454844B2 (en) * 2017-03-08 2019-10-22 A10 Networks, Inc. Dynamic capacity planning for application delivery platform across multiple cloud deployment
CN106991013B (zh) * 2017-04-18 2018-09-07 腾讯科技(深圳)有限公司 一种对资源请求进行处理的方法及装置
WO2019074952A2 (en) 2017-10-10 2019-04-18 Google Llc GAMING PROFILING BASED ON DISTRIBUTED SAMPLE WITH GAME AND MEASUREMENT METADATA, AND GAME API PLATFORM SUPPORTING THIRD CONTENT
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
CN111417441A (zh) 2018-03-22 2020-07-14 谷歌有限责任公司 用于渲染和编码在线交互式游戏会话的内容的方法和系统
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
KR20230017925A (ko) 2018-04-02 2023-02-06 구글 엘엘씨 대화형 클라우드 게임용 방법, 디바이스 및 시스템
EP4345731A1 (en) 2018-04-10 2024-04-03 Google LLC Memory management in gaming rendering
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11500685B2 (en) * 2018-07-24 2022-11-15 Citrix Systems, Inc. Mixed instance catalogs
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
CN112204529A (zh) 2018-11-16 2021-01-08 谷歌有限责任公司 用于复杂系统分析的实时交互式仿真的影子追踪
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US11077362B2 (en) * 2018-12-03 2021-08-03 Sony Interactive Entertainment LLC Machine learning driven resource allocation
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11338200B2 (en) * 2019-03-15 2022-05-24 Sony Interactive Entertainment Inc. Server load prediction and advanced performance measures
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
CN114095487B (zh) * 2020-07-30 2024-03-19 中移(苏州)软件技术有限公司 一种远程任务执行方法、装置及存储介质
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11745109B2 (en) 2022-02-08 2023-09-05 Sony Group Corporation Methods for controlling use of computing resources, such as virtual game consoles
CN114598931A (zh) * 2022-03-08 2022-06-07 杭州雾联科技有限公司 一种多开云游戏的串流方法、系统、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863061A (zh) * 2005-09-28 2006-11-15 华为技术有限公司 移动终端在联网游戏中断时自动恢复的方法及其系统
CN101073708A (zh) * 2007-06-14 2007-11-21 腾讯科技(深圳)有限公司 一种参与游戏的方法以及系统、和游戏服务系统
WO2012054568A1 (en) * 2010-10-20 2012-04-26 Sony Computer Entertainment America Llc Resource management of server hosts in online game environment
WO2012145541A3 (en) * 2011-04-19 2013-03-21 Seven Networks, Inc. Social caching for device resource sharing and management

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6747985B1 (en) * 1998-08-03 2004-06-08 Samsung Electronics Co., Ltd. Systems and methods for optimizing communications in an ethernet network
US20030169460A1 (en) * 2002-03-11 2003-09-11 Siemens Technology-To-Business Center, Llc On-demand service performance upgrade for wireless network
US6684807B1 (en) * 2003-01-30 2004-02-03 Joseph Alan Smith Smith Moses hydro lift flaps
US7707583B2 (en) * 2004-05-20 2010-04-27 Sap Ag Robust sharing of runtime systems
US20070288274A1 (en) * 2006-06-05 2007-12-13 Tian Jy Chao Environment aware resource capacity planning for service delivery
US7613848B2 (en) * 2006-06-13 2009-11-03 International Business Machines Corporation Dynamic stabilization for a stream processing system
JP4064430B2 (ja) * 2006-07-26 2008-03-19 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲーム端末およびサーバ装置
FR2922120B1 (fr) 2007-10-16 2015-01-02 F4 Systeme serveur de jeux informatiques en ligne.
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US8694638B2 (en) * 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine
US8556724B2 (en) * 2009-09-30 2013-10-15 Zynga Inc. Apparatuses, methods and systems for an online game manager
US8880679B2 (en) 2009-12-07 2014-11-04 Oracle International Corporation Techniques for web server management
US9641876B2 (en) * 2011-06-28 2017-05-02 Cox Communications, Inc. Systems and methods for combining variable bit rate data streams
US20130072308A1 (en) 2011-09-15 2013-03-21 Qonqr, Llc Location-Based Multiplayer Game System and Method
US9364743B2 (en) * 2012-12-21 2016-06-14 Sony Interactive Entertainment America Llc Generation of a multi-part mini-game for cloud-gaming based on recorded gameplay

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863061A (zh) * 2005-09-28 2006-11-15 华为技术有限公司 移动终端在联网游戏中断时自动恢复的方法及其系统
CN101073708A (zh) * 2007-06-14 2007-11-21 腾讯科技(深圳)有限公司 一种参与游戏的方法以及系统、和游戏服务系统
WO2012054568A1 (en) * 2010-10-20 2012-04-26 Sony Computer Entertainment America Llc Resource management of server hosts in online game environment
WO2012145541A3 (en) * 2011-04-19 2013-03-21 Seven Networks, Inc. Social caching for device resource sharing and management

Also Published As

Publication number Publication date
US10374974B2 (en) 2019-08-06
US20140344457A1 (en) 2014-11-20
US20170195251A1 (en) 2017-07-06
US9628332B2 (en) 2017-04-18
WO2014189867A1 (en) 2014-11-27
EP2999528A1 (en) 2016-03-30
CN105473196A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
CN105473196B (zh) 向远程游戏环境中的游戏标题的资源分配
CN105451838B (zh) 远程游戏环境中的游戏可用性
KR102258278B1 (ko) 시즌별 보상 분배 시스템
US9032307B2 (en) Computational delivery system for avatar and background game content
JP7320672B2 (ja) 人工知能(ai)制御のカメラパースペクティブジェネレータ及びaiブロードキャスタ
CN106470742A (zh) 多模服务器的数据中心管理
US11065550B2 (en) Local game execution for spectating and spectator game play
CN111641843A (zh) 直播间中虚拟蹦迪活动展示方法、装置、介质及电子设备
JP7224715B2 (ja) 人工知能(ai)制御のカメラパースペクティブジェネレータ及びaiブロードキャスタ
US11501503B2 (en) Machine learning curated virtualized personal space
CN113710336B (zh) 服务器负载预测和高级性能度量
CN110325965A (zh) 虚拟场景中的对象处理方法、设备及存储介质
Hingston et al. Mobile games with intelligence: A killer application?
US11614795B2 (en) Co-evolved user experience orchestrator
US11992761B2 (en) Artificial intelligence (AI) controlled camera perspective generator and AI broadcaster
CN117122915A (zh) 用于在视频游戏的游戏玩法期间自动控制用户打断的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant