CN110769907A - 用于安排视频游戏的游戏进行的方法和*** - Google Patents

用于安排视频游戏的游戏进行的方法和*** Download PDF

Info

Publication number
CN110769907A
CN110769907A CN201880041211.6A CN201880041211A CN110769907A CN 110769907 A CN110769907 A CN 110769907A CN 201880041211 A CN201880041211 A CN 201880041211A CN 110769907 A CN110769907 A CN 110769907A
Authority
CN
China
Prior art keywords
game
player
video game
players
play
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.)
Granted
Application number
CN201880041211.6A
Other languages
English (en)
Other versions
CN110769907B (zh
Inventor
N.R.亨特
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.)
Sony Interactive Entertainment LLC
Original Assignee
Sony Interactive Entertainment 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 Sony Interactive Entertainment LLC filed Critical Sony Interactive Entertainment LLC
Publication of CN110769907A publication Critical patent/CN110769907A/zh
Application granted granted Critical
Publication of CN110769907B publication Critical patent/CN110769907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/216Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
    • 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/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • 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/73Authorising game programs or game devices, e.g. checking authenticity
    • 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
    • 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/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • 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
    • 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/1021Server selection for load balancing based on client or server locations
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • 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/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • 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/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the 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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/493Resuming a game, e.g. after pausing, malfunction or power failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

用于预期从第二地理位置接收到来自用户账户的请求而分配所述第二地理位置中的数据中心以用于迁移数据的方法和***包括接收从第一地理位置到所述第二地理位置的用户的地理位置改变的指示。识别在所述第一地理位置处所述用户的保存数据。分析所述保存数据以确定针对所述多个游戏的所述用户的使用趋势。基于所述使用趋势识别所述保存数据的一部分,并且预期所述用户可能会在所述第二地理位置处访问所述保存数据而将所述保存数据的一部分传输到所述第二地理位置中的第二数据中心。所述保存数据可用于当在云游戏***上执行时的一个或多个游戏的游戏逻辑,以便提供相应一个或多个游戏的游戏进行的当前状态,以渲染在所述用户的用以访问所述游戏的客户端装置上。

Description

用于安排视频游戏的游戏进行的方法和***
技术领域
本公开涉及在云***上执行的交互式应用,且具体地说涉及在云游戏***上执行的视频游戏或游戏应用。更具体地说,本公开描述用于使一组玩家能够基于来自所述一组中的玩家的请求在安排的时间在线聚集以进行视频游戏的方法和***。
背景
相关技术的描述
随着视频游戏技术的进步,视频游戏已变得越来越流行。且随着基于云的处理(诸如高功率图形处理器)的发展,为用户呈现了理想且最佳的交互式体验。例如,基于云的***为执行交互式应用(诸如视频游戏)提供无限的处理能力和***资源,并且为用户提供大量的旧版和新版视频游戏,从而使用户可以访问和进行视频游戏,而不必升级自己的装置。这些基于云的***使得能够将内容流式传输到远程客户端,其中大多数处理在服务器上完成,所述服务器可以是分布式的。因此,基于云的游戏越来越流行,因为用户发现在没有复杂的硬件限制的情况下更容易访问更多的视频游戏标题,并且游戏供应商发现从集中位置管理游戏代码更容易。
用户可以选择视频游戏以进行游戏并且所选视频游戏在远程服务器上执行,并且与所述游戏进行相关联的信息通过一个或多个装置呈现给用户。类似地,用户可以选择一个或多个装置来提供游戏进行交互,并且此类交互由远程服务器处理,以推进所选视频游戏的游戏进行或增强游戏进行期间的用户体验。
视频游戏中的一些被配置成由单个玩家进行,而一些其他视频游戏被配置成由多个玩家进行。在多玩家游戏中,用户的朋友(例如,社交联系人或游戏联系人)可以通过在视频游戏的游戏进行期间使用相关联的多个装置中的一个查看信息并提供交互来与用户一起参加游戏进行。
正是在这种背景下,出现了本公开的实施方案。
发明内容
本发明的实施方案公开用于提供对由云托管***托管的游戏的即时访问以允许玩家从任一地理位置开始游戏的游戏进行的方法和***。云托管***被配置成使用云托管***可用的资源来托管用于用户交互的多个在线交互式应用(例如,视频游戏应用和其他交互式应用)。在云托管***托管游戏应用实例的中,云托管***在本文中也被称为“云游戏***”。由云游戏***托管的视频游戏(或简称为“游戏”)可以包括单玩家游戏和多玩家游戏。
广义上说,用户访问云游戏***并且发起与一个或多个玩家进行游戏的请求。请求包括用户希望进行游戏的安排的时间并识别他想要加入游戏进行的玩家。安排的时间是将来的某个时间,并且可以紧接在已发起请求之后,可以是已发起请求之后的几分钟或将来的某一其他时间或日期。云游戏***通过向在请求中识别的玩家发送通知来处理请求,以告知玩家用户希望在安排的时间进行视频游戏。检查从玩家接收的响应,以确定哪些玩家对在安排的时间与用户一起进行游戏感兴趣。取决于积极响应以在安排的时间进行游戏的一个或多个玩家,云游戏***提前预加载游戏,以便游戏在安排的时间可用于游戏进行。作为处理请求的一部分,云游戏***确定用户和同意与用户一起进行游戏的玩家中的每一个的当前地理位置。云游戏***接着执行等待时间和其他质量相关的测试,以识别玩家中的每一个和用户的地理位置附近的数据中心。云游戏***向所识别的数据中心发送信号,以使游戏在安排的时间可用于游戏进行。在地理位置中的数据中心处的服务器通过加载视频游戏的游戏代码来处理信号,并且提前更新游戏进行,直到将开始游戏进行的点,以使用户和玩家能够在安排的时间访问游戏并开始游戏进行。
在游戏进行期间由用户和玩家提供的交互用于更新在不同数据中心处的游戏的当前游戏状态。与游戏相关的交互也作为游戏数据被维持在相应数据中心处。游戏的当前游戏状态包括当前游戏等级、每个玩家和用户的当前游戏状态(包括游戏奖金、战利品、游戏积分、游戏币、武器、赠品、奖励、酬劳、比分、游戏生命等)、游戏定制、可用游戏进行选项、游戏度量、游戏剪辑、从游戏进行中创建的迷你游戏、与其他玩家的历史交流、游戏记录和任何其他与游戏相关或与玩家相关的属性。游戏的当前游戏状态允许云游戏***为用户和玩家重新创建游戏的游戏进行,以用于任何后续的游戏进行。
在云游戏***处预加载游戏并正好在由用户选择的安排的时间之前使游戏做好游戏进行的准备使用户和玩家能够立即访问和开始游戏的游戏进行,而不必经历任何设置例程。这种在安排的时间之前及时地预加载游戏确保云游戏***在需要时为视频游戏提供***和网络资源,并且避免在不需要时不必要地锁定***资源。本文中所描述的实施方案使用户能够在任何安排的时间将一组玩家集聚在一起以进行游戏,以便当用户和玩家访问游戏以进行游戏时,他们直接“进入”到游戏的游戏进行的流中。如本申请中所使用的,“进入”是指用户和玩家从将开始游戏的点起访问游戏的游戏进行,从而使用户和玩家看起来好像从未离开过游戏。应注意,如本文中所提及,玩家包括朋友或社交联系人或与游戏相关的联系人或与用户相关或不相关的任何其他用户。将玩家聚集在一起以进行游戏类似于“快闪族”概念,其中用户将人聚集在一起以执行事件的活动。
在一个实现方式中,提供一种方法。方法包括接收视频游戏的游戏进行的请求。请求源自第一玩家的客户端装置,并且识别游戏进行的安排的时间以及将受邀加入视频游戏的游戏进行的其他玩家的身份。响应于请求,向其他玩家发送通知,请求其他玩家在安排的时间加入视频游戏的游戏进行。评估对从其他玩家接收到的通知的响应来识别其他玩家中的已同意在安排的时间的视频游戏的游戏进行的特定玩家。基于评估,为第一玩家和其他玩家中的已同意游戏进行的特定玩家预加载视频游戏,直到将开始视频游戏的游戏进行的点。提前执行视频游戏的预加载,以使第一玩家和其他玩家中的特定玩家中的每一个能够通过在安排的时间访问视频游戏来开始视频游戏的游戏进行。视频游戏是多玩家视频游戏。
在另一实现方式中,提供一种用于在云游戏***上可用的视频游戏的游戏进行的方法。方法包括检测从第一玩家接收到的视频游戏的游戏进行的请求。请求识别游戏进行的安排的时间以及将受邀加入视频游戏的游戏进行的其他玩家的身份。其他玩家是当前与其他应用在线交互并从第一玩家的社交网络中识别的用户。响应于请求,向其他在线玩家发送通知,请求其他玩家在安排的时间加入视频游戏的游戏进行。评估从被发送通知的其他玩家中的一个或多个接收到的响应来识别其他玩家中的已同意在安排的时间的视频游戏的游戏进行的特定玩家。为第一玩家和其他玩家中的已同意在安排的时间进行游戏的特定玩家预加载视频游戏,进行所述预加载,直到将开始视频游戏的游戏进行的点。提前执行视频游戏的预加载,以使第一玩家和其他玩家中的特定玩家中的每一个能够通过在安排的时间访问视频游戏来立即开始视频游戏的游戏进行。视频游戏是多玩家视频游戏。
在又一实现方式中,公开一种用于在云游戏***上可用的视频游戏的游戏进行的方法。方法包括检测来自第一玩家的视频游戏的游戏进行的请求。请求识别加入其他玩家当前参与游戏进行的视频游戏的游戏进行的安排的时间。向当前正在进行视频游戏的其他玩家发送通知,请求在安排的时间加入视频游戏的游戏进行。评估对从其他玩家中的一个或多个接收到的通知的响应来识别其他玩家中的已同意允许第一玩家在安排的时间加入视频游戏的游戏进行的特定玩家。为第一玩家预加载视频游戏,直到当前游戏状态,而其他玩家中的特定玩家继续视频游戏的游戏进行。及时执行预加载,以使第一玩家能够在安排的时间从当前游戏状态立即加入视频游戏的游戏进行。
在另一实现方式中,公开一种云游戏***。云游戏***包括应用服务器,其被配置成执行由云游戏***托管的多个游戏,并且服务在安排的时间的游戏的游戏进行的请求,其中所述请求源自第一玩家的客户端装置。应用服务器包括游戏进行调度器。游戏进行调度器被配置成接收请求,分析请求以识别针对其请求游戏进行的游戏的游戏标识符和将受邀进行游戏的玩家的身份。游戏进行调度器内的数据中心管理器被配置成通过识别每个玩家(包括发起请求的第一玩家)的地理位置来处理请求,识别玩家的地理位置附近的数据中心,并且向所识别的数据中心生成信号,请求在所识别的数据中心内的一个或多个服务器上实例化游戏。游戏进行调度器内的游戏数据同步器被配置成同步为每个玩家在所识别的数据中心内的一个或多个服务器上预加载游戏的游戏数据,并且从离开先前游戏进行的点起使游戏可用于游戏进行。游戏数据同步器可以与时间表窗***互以识别用于预加载游戏的时间窗口,并且与应用调度器交互以识别需要被上传的每个玩家的游戏数据。游戏进行调度器被进一步配置成检测接受在安排的时间进行游戏的邀请的每个玩家,连接到云游戏***,并且提供对游戏的访问,以从暂停游戏的点起进行游戏。游戏进行调度器被配置成在游戏进行期间与相应客户端装置交换游戏数据,并更新服务器上以及相应客户端装置处的游戏的游戏状态。
从以下结合附图进行的通过举例说明本发明的原理的详细描述,本发明的其他方面和优点对于本领域技术人员将变得明显。
附图说明
通过参考以下结合附图进行的描述,可最好地理解本发明以及其另外的优点。
图1说明根据本发明的实现方式的示例***的简化框图,所述***用以检测用户的地理位置的改变,以便将用户的保存数据迁移到第二地理位置处的数据中心。
图2说明根据本发明的一种实现方式的在应用托管***内的示例用户账户数据处理引擎,以提供第一玩家和已同意在安排的时间与第一玩家一起进行视频游戏的其他玩家中的特定玩家的用户配置文件数据。
图3说明根据本发明的实现方式的在应用托管***内的示例数据中心管理器模块,以基于第一玩家和其他玩家中的特定玩家的地理位置识别一个或多个数据中心,以用于在安排的时间迁移视频游戏的与游戏相关的数据。
图4说明根据本发明的实现方式的在云游戏***内的示例游戏数据管理器模块(例如,游戏执行引擎),以识别需要被预加载的第一玩家和其他玩家中的特定玩家中的每一个的游戏数据。
图5说明根据本发明的实现方式的用于在安排的时间预加载视频游戏的游戏数据的简化数据流图。
图6a说明根据本发明的实现方式的方法的过程操作,所述方法用以将视频游戏的游戏数据预加载到在安排的时间安排进行游戏的云游戏***上。
图6b说明根据本发明的替代实现方式的方法的过程操作,所述方法用以将视频游戏的游戏数据预加载到在安排的时间安排进行游戏的云游戏***上。
图7说明根据本发明的一种实现方式的示例性信息服务提供商架构,以将信息内容和服务递送给地理上分散且经由网络连接的用户。
具体实施方式
在以下描述中,阐述许多具体细节以提供对本发明的透彻理解。然而,对于本领域技术人员将明显的是,可以在没有这些具体细节中的一些或全部的情况下实践本发明。在其他实例中,未详细描述众所周知的过程步骤,以免模糊本发明。
根据本发明的各种实现方式,用户通过用户账户访问云游戏***并选择游戏。请求包括用户为游戏进行安排的时间和用户为游戏的游戏进行希望邀请的玩家的身份。云游戏***检测源自用户的客户端装置的请求,并且作为响应,向其他玩家发送通知,以在由用户安排的时间加入游戏的游戏进行。评估其他玩家对通知作出的响应来确定其他玩家中的哪些玩家对在安排的时间的游戏的游戏进行表达出兴趣。基于评估,云游戏***在与云游戏***相关联的特定数据中心中预加载游戏,以使用户和其他玩家能够在访问云游戏***处的游戏时进行游戏。提前完成游戏的加载,以使用户和其他玩家能够访问和开始进行游戏。
及时执行对游戏的预加载以用于安排的时间处的游戏的游戏进行使云游戏***能够在需要网络和***资源时在一段时间内明智地分配这些资源,并且不会在用户和其他玩家将要访问云游戏***以进行游戏的剩余时间段不必要地占用资源。另外,使游戏做好在安排的时间进行游戏的准备允许用户和其他玩家直接“进入”到游戏流,而无需用户和其他玩家经历设置例程。本文中所描述的各种实现方式的其他优点将对于本领域的技术人员变得明显。
云游戏***可以查询用户和其他玩家的用户配置文件或使用从用户和其他玩家的客户端装置生成的信号,以确定用户和其他玩家的当前地理位置。识别用户和其他玩家的当前地理位置附近的一个或多个数据中心。评估数据中心中的服务器,以确定服务器是否具有进行游戏所需的足够的处理和通信资源。例如,可以基于可用的通信协议、可用的***资源、连接速度(即流传输速度)等评估数据中心中的服务器,并且服务器中的特定服务器可以被识别以正好在安排的时间之前上传游戏代码和游戏数据。游戏数据的及时上传允许与用户和已同意进行游戏的其他玩家相关联的客户端装置连接到云游戏***,并且在安排的时间立即开始游戏的游戏进行。
在游戏进行期间,监测在所识别的数据中心处的***资源和对应客户端装置与所识别的数据中心中的特定一个的服务器之间的连接的连接属性,以确保连接属性满足游戏的游戏进行的连接要求。进行定期的服务质量测试,以确保足够的***资源在游戏的游戏进行期间可用。用户和其他玩家可以正在从数据中心的单个服务器访问游戏。替代地,用户和其他玩家可以正在从单个数据中心中或多个数据中心中的多个服务器访问游戏。结果,所识别的数据中心内的服务器可被验证以确保服务器能够提供资源,以使用户和其他玩家具有满意的游戏进行体验。
游戏的游戏数据可以包括与游戏相关的数据和与用户相关的数据。与游戏相关的数据和/或与用户相关的数据可以包括游戏代码和游戏状态信息,所述游戏状态信息足以重新创建游戏,直到用户对恢复游戏的游戏进行感兴趣的点(例如,为游戏记录的当前游戏状态)。游戏的重新创建允许用户和响应于游戏进行请求的其他玩家从所述点起恢复游戏进行,并且完全沉浸在游戏的游戏进行中。
监测***资源和连接属性可以包括监测在用户或其他玩家的相应客户端装置与用以为玩家(即,用户或其他玩家)提供游戏数据的数据中心的对应服务器之间建立的通信连接的连接速度、所用的通信协议、在服务器处和在数据中心处的通信和***资源可用性、在安排的时间的预期的通信和***资源需求等中的一个或多个。对通信连接的监测可以通过在分配之前或之后在相应客户端装置与对应数据中心之间交换流数据包并评估所述交换来执行。此安排的时间处的和在游戏进行期间的这种监测是为了确保在游戏进行期间服务质量不会降低。如果资源或连接属性未达到预期的连接要求,那么可以在所分配的服务器内分配额外的资源,或数据中心内的服务器可以被切换到另一服务器,或数据中心可以被切换到相同地理位置内的另一数据中心,以便为用户提供最佳的游戏体验。
同步在一个或多个数据中心内的一个或多个服务器处的游戏代码的执行和游戏数据的加载,以便在几乎没有等待时间的情况下为用户和其他玩家呈现当前游戏数据。在游戏进行期间生成的数据用以影响游戏的游戏状态并且作为游戏数据存储在游戏数据数据存储区中。游戏数据用以更新所分配的数据中心的配置文件和用户和其他玩家的用户配置文件内的用户度量,并且包括足够的细节,以视需要且在需要时重新创建游戏。数据中心配置文件可以用于确定相应数据中心中资源的当前状态。例如,数据中心配置文件识别可用的连接属性、当为来自用户的请求提供服务时使用的连接属性、可用的***资源和在服务游戏进行的请求期间所消耗的***资源。数据中心配置文件用以确保所识别的数据中心具有足够的资源并且确保数据中心与对应客户端装置之间的连接的连接属性能够满足在安排的时间期间流式传输游戏图像的连接要求,以便避免在将游戏进行数据传输到用户和其他玩家的客户端装置期间的任何等待时间。
云游戏***提供使大量人在线聚集在一起以在同一时间播放相同内容的方式。云游戏***允许组织者(即,用户或第一玩家)安排用于游戏的游戏进行事件的时间。作为响应,云游戏***向由组织者识别的玩家发送通知。一个或多个服务器用于预加载游戏,以便组织者玩家可以在访问云游戏***后立即连接到游戏。预加载允许选择请求的玩家立即进入到游戏进行流中。云游戏***提供游戏流式传输服务和推送通知服务的组合,所述两种服务联合作用以使用户和玩家一起在安排的时间执行事件。
本文中将描述的各种实现方式允许云游戏***在由用户安排的时间智能地分配***和通信资源,以便视频游戏的用户和玩家可以能够直接“进入”到游戏并开始游戏进行。用户为事件(诸如游戏进行事件)安排或规划事件,并且服务器使用可用资源来预加载游戏,以便玩家和用户可以立即连接并开始游戏进行。用户可以定期(例如,一天一次、一周一次等)安排游戏进行事件,或可以在随机时间安排。各种实现方式允许一组人在安排的时间在线聚集在一起,以执行事件(诸如游戏应用的游戏进行),并且云游戏***以及时的方式分配资源,以在安排的时间执行事件。在总体理解本发明的情况下,现在将参考各个附图描述特定实现方式。
图1说明***的简化框图,所述***用于检测在安排的时间与应用的交互(诸如游戏应用的游戏进行)的请求。请求从第一玩家的客户端装置100接收。例如,第一玩家的客户端装置100可以与地理位置1相关联。客户端装置100通过网络200(诸如因特网)通信地连接到云游戏***300上的服务器,诸如应用服务器301。服务器可以是包括多个服务器、游戏控制台等的数据中心的一部分。
客户端装置100是包括处理模块(即,处理器)110、存储器和用于连接到网络的网络连接以及用于与服务器侧应用通信的适当的应用编程接口(API)的任何计算装置。处理器能够执行客户端侧应用,所述客户端侧应用可以独立运行,或可以通过通过网络连接连接到网络200来与服务器侧应用进行交互,并且可以使用API与服务器侧应用进行通信或访问服务器侧应用。网络连接可以是有线或无线连接。客户端装置100可以是瘦客户端、通用计算机、专用计算机、游戏控制台、个人计算机、膝上型计算机、平板计算装置、移动计算装置、便携式游戏装置、蜂窝电话、智能手机、机顶盒、流媒体接口/装置、智能电视或联网显示器或可用于访问本地或云游戏***的远程服务器上可用的应用的任何其他计算装置。使用的网络连接和通信协议使客户端装置100能够与远程服务器进行通信,以从远程服务器(诸如作为云游戏***300的一部分的应用服务器301)接收内容,包括接收多媒体内容的视频帧流。由远程服务器流式传输的视频帧已使用编码器进行了压缩。客户端装置100可以包括解码器,以解压缩由远程服务器传输的表示游戏进行内容的视频帧流,并且在客户端装置100的显示屏上渲染图像。所渲染的图像识别游戏的当前游戏状态。
游戏的当前游戏状态基本上在远程服务器上维持和执行,其中客户端装置100主要用于接收、解码、渲染来自游戏服务器或其他应用服务器的音频/视频数据,并且将用户输入传回到游戏服务器或其他应用服务器。客户端装置100是独立计算装置,所述独立计算装置连接到显示装置,以提供视频数据,以在显示装置上进行渲染。在其他实现方式中,显示装置可以集成到客户端装置100中。在一个实现方式中,客户端装置是显示装置,所述显示装置是联网显示装置,以利用显示装置的网络连接性为应用或“app”提供平台操作***。在这种实现方式中,客户端装置100可以由在由显示装置的操作***提供的平台上执行的应用限定。
如在此申请中所使用的应用服务器301是本地服务器、虚拟计算机、云游戏服务器、数字媒体服务器、用以提供游戏开发商/游戏赞助商的店面的服务器、网络服务器、终端服务器、控制台服务器、远程服务器或在数据中心305中可用的任何其他类型或形式的服务器计算装置,所述服务器计算装置能够托管一个或多个交互式应用(例如,游戏应用),包括提供或分配处理资源,以用于执行用户可以在使用期间访问和交互的交互式应用。应用服务器301可以包括编码器以压缩视频帧中的数据并使用遵循特定类型的通信协议的应用编程接口(API)调用来以数据流将压缩视频帧转发给客户端装置100。
例如,数据中心305中的云游戏服务器形式的应用服务器301执行可用于用户账户的各种视频游戏,基于在游戏进行期间提供的用户交互来不时地限定各种视频游戏的游戏状态,并将视频数据(包括图像数据、音频数据、触觉数据等)发送到分布在特定地理位置内或跨多个地理位置分布的一个或多个客户端装置100。在给定地理位置处的客户端装置100接收并处理来自进行视频游戏的用户的输入,并且将所处理的输入数据传输到云游戏服务器,所述云游戏服务器执行额外处理,以影响一个或多个视频游戏的游戏状态。基于云的游戏通过提供视频游戏的实例以供在可由所有玩家通过网络200访问的一个或多个远程云游戏服务器处执行来促进位于不同地理位置的玩家进行多玩家游戏。以这种方式,视频游戏的执行不取决于任何单个玩家的硬件或网络传导性,尽管这可能会影响所述给定玩家的用户体验。
使用本文中所描述的云游戏架构执行的操作形成需要多个服务器和/或执行平台以使得能够快速访问数据库并将内容(诸如游戏进行内容)呈现给用户的远程定位的客户端装置100的技术操作。云游戏服务器还在将游戏数据传输到客户端装置之前通过利用任何数量的压缩技术对游戏数据执行压缩操作。压缩技术可以使用标准编码器,所述标准编码器接着将允许客户端装置100上的标准解码器访问、解码和渲染客户端装置100上的图像、视频和音频数据,以使得实现视频游戏的游戏进行。视频游戏的执行以及游戏数据到多个客户端装置的分布的管理可能涉及多个数据中心(350-1到305-n)、方向服务器、服务质量测试仪或引擎、对较低等待时间数据中心的方向和重定向等。这些操作和任务可以利用专用服务器计算机,所述专用服务器计算机被设计用于流式传输和低等待时间,同时远程执行游戏并将数据递送到跨广泛地理区域分布的客户端装置100。
在一个实现方式中,数据中心305包括多个服务器(例如,游戏服务器)301、游戏控制台301a、存储***,所述存储***能够存储游戏代码(109)、应用代码(111)、与用户相关的数据(304)和与应用相关的游戏数据(107),并使其易于使用,从而使得能够处理来自多个用户的各种请求。应注意,在此申请中,用户和玩家可互换地用于指访问交互式应用(诸如游戏应用)以查看用户的先前游戏进行、另一用户的当前或先前游戏进行或用于提供输入以影响游戏应用的结果的人。数据中心还可以包括通讯装备,诸如路由器、交换机等,以在各种客户端装置与多个服务器之间建立通信连接。多个服务器中的每一个可以配备有服务器侧API(不同的或类似的)以与客户端装置100处的对应客户端侧API通信或与和第三方社交媒体或内容提供商相关联的服务器侧API通信。在一些实现方式中,数据中心中的服务器可以被配置成执行各种类型的应用,包括游戏应用等,并将应用内容流式传输到对应客户端装置100,以供渲染。服务器可以被配置成使用任何数量的压缩技术对由服务器生成或提供的任何数据执行压缩操作,并且使用通信和/或传输协议中的任何一种将压缩数据转发到客户端装置。
服务器可以包括终端服务器、控制台服务器、虚拟服务器等,这些服务器通常用于执行或实行特定功能、游戏或应用。服务器执行的功能、游戏或应用的一些示例可以包括数据库管理、文件管理、邮件服务、打印服务、音频服务、视频服务、网络服务、游戏管理、应用管理、媒体管理、目录服务、通信管理、计算服务和代理管理,仅举几例。在一些实现方式中,多个服务器和/或存储装置可以设置为机架安装式服务器或存储装置,其中每个数据中心含有几行服务器和/或存储机架。每个服务器可以能够执行多个应用和/或提供宽范围的服务。
对在安排的时间的视频游戏的游戏进行的请求是在托管***(诸如云游戏***300)处从客户端装置100接收的。对游戏进行的请求包括视频游戏的游戏标识符和受邀进行游戏的一个或多个玩家的身份。服务器(诸如应用服务器301)接收请求并使用用户账户数据处理引擎302来获取与用户相关的信息,以认证在客户端装置100处发起请求的用户。用户账户数据处理引擎302被配置成查询用户账户数据库304并接收用户配置文件和用户账户信息。用户账户数据库304存储云游戏***300的多个用户的用户配置文件和其他用户账户信息。用户配置文件和用户账户信息用以认证用户和由用户发起的请求。在成功认证请求后,将请求转发给游戏进行调度器311以用于服务。
作为认证用户的一部分,应用服务器301的用户账户数据处理引擎302查询用户账户数据库304以确定用户拥有的所有游戏和/或应用、可以***的所有游戏和/或应用,并且使用此信息来验证请求中所识别的游戏是授权用户与之进行交互的游戏中的一个。如果请求中所识别的游戏不是授权用户与之进行交互的游戏中的一个,那么在游戏服务器(即应用服务器301)处的用户账户数据处理引擎302生成错误或警告消息,并将警告消息转发给客户端装置100以供渲染。如果请求中所识别的游戏是授权用户与之进行交互的游戏中的一个,那么用户账户数据处理引擎302将请求转发给游戏进行调度器311以供服务请求。
作为认证请求的一部分,用户账户数据处理引擎302查询用户账户数据库304以获得请求中所识别的玩家的用户配置文件和用户账户信息,并使用此信息来确保请求中所识别的玩家中的每一个经授权以访问和进行游戏。玩家可以是用户的社交联系人,并且可以从社交网络或其他联系人列表中识别,或可以是在视频游戏或其他视频游戏的游戏进行期间或在与由云游戏***托管的其他应用进行交互期间发展的联系人。用户配置文件和用户账户中所提供的信息例如包括联系人信息、每个玩家可以或已访问的游戏和应用的列表、用户证书、用户技能、用户偏好、用于设置游戏或应用的登录例程等。基于用户配置文件中的信息,可以确定请求中所识别的玩家中的一个或多个不具有进行游戏的授权。在这种情况下,请求中所包括的邀请可以包括对云游戏***的信号,以向一个或多个玩家提供一次对游戏的访问以进行游戏,以允许这些玩家对游戏进行尝试。在验证后,用户账户数据处理引擎302将所检索的玩家的用户配置文件和用户账户信息转发到游戏进行调度器311。
游戏进行调度器311使用玩家的联系人信息来向请求中所识别的玩家中的每一个发送通知。游戏进行调度器311内的应用调度器351a可以用以向请求中所识别的玩家中的每一个发送通知。在一个实现方式中,通知可以包括发起对游戏的游戏进行的请求的用户的标识符、由用户规定的游戏进行的安排的时间、游戏的游戏标识符、将向其发送通知的玩家的标识符以及针对游戏进行选择的视频游戏的其他相关信息。在一些实现方式中,对每个玩家的通知还可以指示用户针对游戏的游戏进行已邀请的其他玩家的标识符。
响应于通知,玩家中的一个或多个可以接受邀请以进行游戏。从每个玩家接收的响应由应用调度器351a评估,以确定接受邀请的玩家中的哪些玩家在安排的时间进行视频游戏以及哪些玩家拒绝了邀请。响应可以包括授权或可以充当用于云游戏***的授权,以设置游戏,以用于在安排的时间的游戏进行会话。在一个实现方式中,应用调度器351a可以向发起请求的第一玩家提供接受邀请的玩家的详细情况。
应用调度器351a可以与用户账户数据处理引擎302进行交互以获得接受邀请以进行游戏的每个玩家的用户配置文件信息。每个玩家的用户配置文件信息包括识别玩家的地理位置的地理位置指示符。在一些实现方式中,例如,可以根据来自客户端装置100内可用的全球定位***(GPS)的、由玩家使用以响应邀请的信号来验证玩家的地理位置。替代地,可以根据从玩家检测到的在线活动(诸如网络浏览活动、社交媒体活动)或可用以识别玩家的当前地理位置的玩家的任何其他在线活动来验证地理位置指示符中所包括的玩家的地理位置。在一个实现方式中,游戏进行调度器311可以使用时间表窗口351b来识别在由用户规定以进行游戏的安排的时间之前的时间窗口,并且使用来自客户端装置100的GPS的或来自玩家的在线活动的信号在时间窗口的开头验证玩家的地理位置。游戏进行调度器311向数据中心(DC)管理器400提供每个玩家的当前地理位置。
对于每个玩家,DC管理器400使用玩家的当前地理位置来识别玩家的地理位置附近的数据中心。如果在玩家的地理位置附近识别出多于一个数据中心,那么DC管理器400评估不同数据中心的性能度量,以根据游戏的要求确定哪个数据中心最适合为游戏的游戏进行提供资源,以使玩家可以具有满意的游戏进行体验。DC管理器400可以使用DC性能度量评估器407来评估数据中心。即使在玩家的地理位置附近仅识别出一个数据中心,也要评估数据中心以查看数据中心中的一个或多个服务器是否能够提供资源,以实现游戏的游戏进行。DC性能度量评估器407识别数据中心的DC性能度量,其包括每个服务器上可用资源的类型、在不同时间段对资源的需求、每个服务器的能力、其他资源的能力等,以确定数据中心是否能够服务用户(即,第一玩家)在安排的时间的游戏的游戏进行的请求。服务质量(QOS)评估器408用于确定可用于游戏的游戏进行的资源能够为玩家提供满意的游戏进行体验。
基于评估,在地理位置处识别数据中心,以服务每个玩家的游戏进行请求。数据中心中的一个或多个服务器接着用于执行游戏的实例。在一个实现方式中,在玩家连接到云游戏***以在安排的时间开始与用户的游戏的游戏进行之前执行游戏的实例。在发起游戏进行会话之后,QoS评估器408便持续或定期监测资源(***和通信),以确保游戏进行的质量未降低。如果确定所识别的数据中心中的服务器的资源被其他应用占用或未按游戏所需的等级执行,那么QoS评估器408会向DC性能度量评估器407生成信号,以指示服务器处的资源问题。响应于来自QoS评估器408的信号,DC性能度量评估器407可以评估数据中心内的其他服务器或地理位置附近的其他数据中心,以识别不同服务器或不同服务中心来服务游戏进行的请求,并且向应用调度器351a提供服务器或数据中心标识符。
应用调度器351a可以与游戏数据同步器500进行交互以确定视频游戏的游戏状态。游戏数据同步器500查询游戏数据数据存储区107以获得视频游戏的游戏状态。分析视频游戏的游戏状态以识别请求中所识别的每个玩家和发起请求的用户的游戏状态。应注意,游戏数据数据存储区107维持在云游戏***300处可用的多个游戏的游戏状态,并且可以包括每个游戏的游戏进行的多个实例,其中游戏的每个实例可以识别进行过游戏的玩家中的特定玩家。如果游戏是由用户和请求中所识别的玩家先前进行的,那么当前请求可以是从先前游戏进行会话中暂停游戏的点恢复游戏的游戏进行。因此,游戏的游戏状态识别进行过游戏的每个玩家的游戏状态,其中每个玩家的游戏状态基于在先前游戏的游戏进行期间相应玩家的表现。另外,每个玩家的游戏状态可以提供信息以确定玩家的游戏进行证书、玩家的游戏技能等、玩家为游戏使用或定制的游戏图标、在设置游戏期间使用的例程集、在游戏的游戏进行期间提供的输入、玩家获得的游戏奖金和游戏等级、游戏偏好等。每个玩家的游戏状态中提供的信息足以重新创建相应玩家的游戏的游戏进行,直到在先前游戏进行期间暂停游戏的点。
替代地,用户可能根本没有进行过游戏,或者可能没有与请求中所识别的玩家中的任一个一起进行过游戏。显然,在这种情况下,游戏数据数据存储区107可能没有任何涉及用户或请求中所识别的玩家的游戏的游戏进行的记录。结果,请求可能是从头开始游戏。在这种情况下,游戏数据同步器500可以用以上传游戏数据以使玩家和用户能够从头开始游戏的游戏进行。在用户之前与其他玩家但未与请求中所识别的玩家中的任一个一起进行过游戏的情况下,游戏数据同步器500可以查询游戏数据数据存储区107以获得用户的游戏的游戏进行的历史并使用来自历史的信息来识别用户的游戏进行证书和用户在与其他玩家的游戏的游戏进行期间所提供的定制的类型。类似地,游戏数据同步器500可以查询游戏数据数据存储区107以获得云游戏***中由每个玩家进行过的多个游戏的游戏进行的历史,以识别玩家的游戏进行证书和/或玩家针对不同游戏通常所提供的定制的类型。用户和玩家中的每一个的所识别的证书、游戏偏好和游戏定制用于设置游戏以进行游戏。在一些实现方式中,游戏数据同步器500可以分析由每个玩家进行过的多个游戏的定制的偏好和类型,以识别与当前游戏所共同、或相关或兼容的定制和/或偏好中的特定一些,并且在为所述玩家设置游戏时应用这些定制和/或偏好。每个玩家的历史游戏进行信息用以在设置游戏以在安排的时间进行游戏期间为尚未进行过游戏的所识别的玩家和用户提供游戏进行定制。
游戏数据同步器500使用为用户和每个玩家获得的游戏状态信息或历史游戏进行信息来设置游戏,以进行游戏。游戏数据同步器500在由DC管理器400所识别的一个或多个数据中心中的一个或多个服务器处实例化游戏。游戏的实例化包括识别在设置先前游戏进行期间玩家中的每一个和用户所遵循的设置例程(例如登录例程、定制例程等),和由用户和每个玩家针对在设置期间和在先前游戏的游戏进行期间的例程中的每一个提供的输入(如果有的话)。游戏数据同步器500接着为每个玩家、用户执行游戏的游戏代码,并自动向在游戏的初始设置期间和在游戏的游戏进行期间发起的例程中的每一个提供输入,其中输入模仿在设置例程期间和在游戏的游戏进行期间每个玩家、用户提供的输入。为用户和请求中所识别的所有玩家同步游戏的执行。
在一个实现方式中,游戏数据同步器500使用由时间表窗口351b识别的时间窗口来开始在一个或多个数据中心中的一个或多个服务器处设置游戏以进行游戏,以便使游戏做好准备供玩家中的所选玩家和用户在安排的时间开始游戏进行。应注意,如本申请中所使用,用户是发起在安排的时间针对游戏的游戏进行请求的人(即,第一玩家),并且玩家是用户已邀请加入游戏进行的人(社交联系人、游戏进行联系人等)。仅仅为了提供每个人在游戏进行中的角色的清晰划分而对用户和玩家进行了单独的提及,而实际上用户也是游戏的玩家,并且有时被称为第一玩家。应注意,在请求中所识别的玩家可以是在先前游戏的游戏进行期间加入用户的玩家,或者可以被识别以开始新的游戏进行会话。
当向玩家发送通知以加入用户以在安排的时间进行游戏时,并非来自先前游戏进行的所有玩家都可以接受邀请来在安排的时间加入游戏进行。重新创建游戏,直到在用户与玩家之间的先前游戏进行(如果存在的话)中暂停游戏的点。在一个实现方式中,当接受邀请的玩家的数量少于先前游戏的游戏进行中涉及的玩家的数量时,游戏的重新创建包括用先前游戏进行中涉及的所有玩家的状态重新创建游戏,以便提供合适的视角来了解离开先前游戏进行的位置,但允许用户和仅那些接受邀请的玩家从暂停点起继续游戏的游戏进行。在替代实现方式中,游戏的重新创建包括用仅用户和那些接受邀请的玩家的游戏状态来重新创建游戏。
时间窗口是某个长度的时间块。在一些实现方式中,窗口中所识别的时间的长度可以取决于游戏的复杂度和设置游戏以进行游戏所需的时间量。例如,如果游戏具有许多需要在游戏进行之前完成的设置例程,那么与具有最少设置例程的游戏相比,游戏可能需要更长的时间来进行设置。类似地,在非常高级的阶段(例如,在20等级中的第18等级)暂停的游戏可能需要比在较早的阶段暂停的游戏更长的时间来设置。因此,根据游戏以及游戏暂停的位置,限定时间窗口的时间长度可能从几秒钟跨越到几分钟。在一个实现方式中,游戏数据同步器500分析先前游戏进行(如果可用)或游戏的游戏信息,以确定游戏的类型以及设置游戏所需的时间量,以基于分析来限定时间窗口。所识别的时间窗口包括足够的缓冲时间,以供游戏数据同步器500设置游戏。由于先前游戏进行可能会在任何阶段暂停,因此时间窗口中限定的时间长度可能会有所变化。例如,对于具有20等级的游戏,并且先前游戏进行在2等级处暂停,时间窗口中限定的时间长度可能是例如1分钟(包括缓冲时间)—比在先前游戏进行期间在18等级暂停同一游戏的情况下的例如3分钟的时间窗口短得多。本文中提到的时间窗口仅作为示例提供,且不应视为限制性的。在替代实现方式中,可以预先限定窗口中限定的时间长度。
游戏数据同步器500开始在安排的时间之前的窗口中限定的时间长度重新创建游戏。游戏数据同步器500可以同步为用户和所有玩家在一个或多个数据中心中的一个或多个服务器处重新创建游戏以进行游戏,使得用户和接受邀请的玩家可以能够在连接到云游戏***并选择游戏后立即开始游戏的游戏进行。重新创建包括加载所有玩家的游戏的游戏数据,直到游戏开始的点,使其看起来好像在当前游戏进行期间暂停游戏,而实际上游戏是从先前游戏进行中重建的,并及时为用户和玩家中的所选玩家恢复游戏做好准备。正好在游戏进行的安排的时间之前重新创建游戏允许云游戏***通过正好在安排的时间之前为用户和玩家中的所选玩家分配***和通信资源来使用这些资源,以恢复游戏进行,并且通过保持从在先前游戏进行期间暂停的时间到安排的时间加载游戏数据而不会不必要地占用***资源。此外,在安排的时间保持游戏准备就绪避免用户和玩家不必要地等待游戏加载,从而增强了用户和玩家的游戏进行体验。
图2识别在云托管***的应用服务器301内可用的用户账户数据处理引擎302内的各种模块。云托管***托管多个应用,包括游戏应用,并且在本文中也称为“云游戏***”300。当从用户(即,第一玩家)的客户端装置接收到在安排的时间的游戏的游戏进行的请求时,触发用户账户数据处理引擎302以验证发起请求的用户。用户账户数据处理引擎302使用用户账户模块303来检索存储在用户账户数据库304中的用户的用户账户信息,并使用用户账户信息来验证正在发起游戏的游戏进行的请求的用户。对用户的验证包括验证所述用户是云游戏***的有效用户并且可以访问游戏以进行游戏。用户账户信息将识别可用于用户账户查看和交互的应用(诸如游戏应用)的列表。用户账户模块303还用于检索在请求中识别的一个或多个玩家的用户账户。对于每个玩家(即,发起请求的用户或响应请求的玩家),用户账户提供与玩家相关的信息,包括标识符、屏幕名称、图标或头像、技能、排名、应用偏好、证书以及可以用来清楚识别玩家的其他数据(包括生物特征数据)。用户账户信息被转发到用户配置文件309。用户配置文件309分析每个玩家的用户账户信息,以确定玩家的用户配置文件。玩家的用户配置文件包括与玩家相关联的地理位置。
接着,验证从用户配置文件309识别的玩家的地理位置,以确保在用户配置文件中识别的地理位置确实是玩家的当前地理位置。可以使用位置处理器307来完成验证。位置处理器307可以通过获得从玩家的客户端装置生成的信号来验证地理位置,所述信号用于响应加入游戏的游戏进行的邀请。玩家可以使用一个客户端装置来响应游戏的游戏进行的请求,并且使用另一装置来进行游戏。因此,确定玩家的当前地理位置将有助于识别数据中心以在安排的时间之前加载游戏,以便使游戏为游戏进行做好准备。当玩家使用客户端装置上的网络浏览器与网络服务器进行交互,或使用任何其他客户端侧应用访问对应的服务器侧应用(例如,社交媒体向社交媒体提供商发帖等)时可以生成信号,并且此信号可用于确定客户端的IP地址、客户端的ping信息等。替代地,信号可以源自客户端装置内的全球定位***(GPS)机制。来自GPS机制的信号可以是脱网信号,可以对其进行分析以获得当前地理位置。脱网信号是从客户端装置生成的信号,不需要客户端装置连接到网络。位置处理器307可以使用直接位置数据处理器307a来解译从客户端装置生成的信号,以确定地理位置并验证玩家的当前地理位置。
在替代实现方式中,位置处理器307可以通过对适当的服务器进行API调用来从由玩家提供的交互中检索数据,诸如发布到社交媒体***服务器上的社交反馈,将此类交互更新到所述适当的服务器。当然,基于玩家授予的许可,可以在适当的服务器上访问此类反馈。位置处理器307可以接着使用上下文位置数据处理器307b以上下文相关联地分析社交反馈,例如以确定玩家的地理位置。位置处理器307接着用从信号或反馈获取的地理位置验证用户配置文件中所提供的玩家的地理位置,以确定玩家的当前地理位置。在验证时,将当前地理位置提供给数据中心管理器400并且还可以用以更新玩家的用户配置文件中的地理位置指示符。前述验证玩家的地理位置的方式仅是示例,并且其他类型的机制、工具、逻辑或交互可用以验证玩家的地理位置。可以确定多于一个玩家或所有玩家和用户可以具有相同的地理位置。
用户配置文件信息还用以识别玩家的使用历史,其中使用历史识别玩家在云游戏***300中与之交互的应用、此类交互的时间和频率、交互的长度、访问应用的地理位置等。玩家的使用历史可以用以确定玩家的偏好、玩家的登录例程、玩家的技能等。从对使用历史的分析获得的信息可以在加载游戏以进行游戏期间供玩家使用。
图3说明在一个实现方式中云游戏***300的用以针对玩家的当前地理位置识别数据中心的数据中心管理器400内的各种部件。数据中心(DC)管理器400从用户账户数据处理引擎302接收已同意在安排的时间进行游戏的每个玩家的地理位置指示符306a和游戏和/或应用使用历史308。DC管理器400使用地理位置指示符306a中提供的地理位置来识别地理位置内或附近的适当的数据中心,以便可以在所识别的数据中心内的一个或多个服务器上为玩家加载游戏的游戏数据。应用使用历史308中提供的信息由DC管理器400处理,以获得玩家的证书、玩家的偏好、玩家的定制等,在用户与请求中所识别的玩家之间没有为游戏登记的先前游戏进行活动的情况下这些信息可用于设置游戏。
DC管理器400使用DC选择引擎410来识别数据中心,所述数据中心能够提供足够的处理、网络和通信资源,以在安排的时间的游戏的游戏进行期间以最小的等待时间传输游戏数据。DC选择引擎410包括多个子引擎(例如,位置标识符420、DC标识符424),以接收由用户账户数据处理引擎302提供的地理位置指示符306a,以识别玩家的当前地理位置,且识别数据中心,以预加载游戏的游戏数据,以进行游戏。除了地理位置指示符306a之外,用户账户数据处理引擎302还可以向DC选择引擎410提供使用历史数据信息。
DC选择引擎410查询请求,以识别请求中针对游戏的游戏进行所识别的安排的时间,并使用安排的时间来确定哪个数据中心能够为每个玩家服务游戏进行请求。DC选择引擎410中的位置标识符420获得地理位置指示符306a并分析其中提供的信息,以识别与在玩家的用户配置文件中的玩家相关联的地理位置。此地理位置使用在使用历史数据信息中提供的信息验证。使用历史数据信息可以包括与玩家在与由云游戏***托管的各种应用交互时提供的任何和所有交互相关的信息。在一些实现方式中,位置标识符420可以从玩家的客户端装置内的GPS装置获得信号并分析信号以确定客户端装置的地理位置,且因此确定玩家的地理位置。
在一些实现方式中,使用历史数据信息可以提供玩家的网络浏览器交互、针对由云游戏***托管的其他应用(包括其他视频游戏应用)的交互、针对在客户端装置上执行的应用的交互等的细节。分析从玩家与不同应用中的一个或多个的交互获得的信息来确定玩家的地理位置。在一些实现方式中,在针对游戏进行的安排的时间限定的时间窗口内分析玩家的使用历史数据信息,以便获得玩家的最新地理位置。从玩家最近与各种应用的交互中为玩家识别的地理位置很可能是玩家的当前地理位置。位置标识符420将从玩家与其他应用的交互识别的玩家的地理位置与用户配置文件中的地理位置进行比较。当从交互或信号获得的玩家的地理位置不同于玩家的用户配置文件内的地理位置时,从与各种应用的交互识别的地理位置是玩家的当前地理位置并且用当前地理位置更新玩家的用户配置文件。位置标识符420向数据中心(DC)标识符424提供玩家的当前地理位置,以确定选择在当前地理位置中或玩家的地理位置附近的一个或多个数据中心。
DC标识符424与DC剖析器402交互以获得每个玩家的地理位置内或附近可用的数据中心的数据中心标识符。DC剖析器402内的DC位置子部件404被配置成查询维持在DC数据存储区(未示出)中的数据中心的列表,以识别每个玩家的当前地理位置内或附近的一个或多个数据中心。列表可以由地理位置组织。响应于查询,DC位置子部件404将所选一个或多个数据中心的数据中心标识符返回到DC选择引擎410。DC剖析器402内的DC应用和服务子部件406被配置成获得在由DC剖析器402返回的所选一个或多个数据中心中的每一个内可用的服务器和控制台的列表,以及每个数据中心内的每个服务器或控制台正在执行或能够执行的应用(App)或服务的列表。
基于由DC剖析器402提供的信息,DC标识符424识别特定数据中心,以用于地理位置,以为每个玩家设置游戏。为了确保为每个玩家选择的特定数据中心能够在安排的时间提供所需的通信连接和处理资源带宽,DC选择引擎410与DC性能度量评估器407交互,以检索针对每个玩家的地理位置的、由DC剖析器402识别的数据中心中的每一个的数据中心配置文件。数据中心配置文件识别每个数据中心的处理和通信属性。
DC性能度量评估器407维持在云游戏***300处可用的所有数据中心的数据中心配置文件。当由相应数据中心对一个或多个应用或游戏的请求进行服务时,当用户退出他们的游戏进行会话(或应用会话)时以及当接收到安排一个或多个游戏或应用的请求时,不断地更新这些配置文件。最新的数据中心度量限定相应数据中心中的每个服务器的当前状态和资源能力,以及安排在不同时间执行的游戏或应用对资源的需求。例如,最新的数据中心度量可以识别当前正在或被安排在任何时间执行的游戏的游戏实例(或应用的应用实例)的类型和数量、当前可用或在任何时间可能变得可用的处理和/或***资源的类型、数据中心中不同服务器处的处理资源中的每一个的状态、在数据中心处可用的服务和应用的类型等。DC选择引擎410使用这些数据中心属性来选择数据中心,以针对已接受游戏的游戏进行的邀请的每个玩家服务请求。
DC选择引擎410中的DC标识符424使用数据中心度量并将度量与预期用于游戏的性能要求、***要求、存储要求、处理资源要求、用于传达游戏数据的通信连接要求等匹配。例如,性能要求可以基于用户和玩家所期望的游戏进行强度。在另一示例中,处理和通信要求可以从由游戏的开发者所限定的游戏规格获得。
DC标识符424检索用户属性(诸如游戏进行强度、玩家证书等)、游戏的特征和数据中心度量信息,并使用此信息来识别地理位置中可以满足或超过游戏的游戏进行所规定的要求的数据中心。在一些实现方式中,可以确定玩家的地理位置附近的数据中心中的任何一个都不具有服务游戏的游戏进行会话所需的所有资源,从而为玩家提供可比的游戏进行体验。在此类实现方式中,DC标识符424可以为针对游戏所规定的资源要求中的每一个分配权重,并使用加权的资源要求来为玩家服务请求。例如,对于计算密集型游戏,处理和存储资源的权重可能比联网资源的权重更大。结果,DC标识符424可以识别玩家的地理位置内的数据中心,所述数据中心具有用于服务请求的足够的处理和存储资源。在另一示例中,对于速度密集型游戏,通信连接和网络资源的权重可能比处理和存储资源的权重更大。因此,具有足够通信连接和网络资源的数据中心被识别成用于针对玩家处理请求。
一旦针对每个玩家的地理位置识别数据中心,便将数据中心标识符信息426转发到游戏数据同步器500。游戏数据同步器500还从用户账户数据处理引擎302接收每个玩家的应用使用历史数据信息308。游戏数据同步器500处理信息并向所识别的数据中心生成信号,以在安排的时间之前上传相应玩家的游戏的游戏数据,以便在玩家中的每一个或用户登录到云游戏***之后立即使游戏做好游戏进行的准备。
游戏数据同步器500分析游戏的每个玩家的应用使用历史数据信息308,以识别玩家的游戏进行属性,以识别玩家的证书、玩家的定制、由玩家所遵循的用于设置游戏的例程集、由玩家在游戏的游戏进行期间提供的输入等。玩家的证书提供细节,诸如玩家标识符、游戏标识符、日期、当日时间、游戏类型、游戏的性能使用、玩家的技能或专业等级、玩家的当前地理位置、耗费的时间量、访问频率、游戏所需的性能要求等。
图4说明游戏数据同步器500的各种部件,所述部件用以识别每个玩家的与游戏进行相关的属性并使游戏做好准备以在安排的时间进行游戏。游戏数据同步器500内的游戏状态标识符502查询游戏数据数据存储区107以识别在用户与玩家之间在安排的时间进行游戏的请求中识别的游戏的游戏状态。游戏数据数据存储区107维持在先前游戏进行会话期间在各个玩家之间进行的各种游戏的游戏状态。游戏的游戏状态识别每个玩家(包括发起游戏进行请求的用户)的游戏状态,和与重新创建游戏直到将在安排的时间开始游戏进行的点相关的其他游戏数据。所有玩家的游戏状态构成游戏的整体游戏状态。对游戏数据数据存储区107的查询可以从发起请求的用户与接受游戏进行邀请的玩家之间的先前游戏进行中识别限定游戏的游戏状态的记录。在用户与玩家之间的先前游戏进行会话中,游戏进行可以已暂停并且来自用户的当前请求可能是从暂停的点恢复暂停游戏的游戏进行。当对游戏数据数据存储区107的查询未返回任何游戏记录时,这意味着在用户与玩家之间没有在游戏数据数据存储区107中登记的先前游戏进行。在这种情况下,在安排的时间进行游戏的请求将是从头开始游戏的游戏进行。
将游戏状态和用于重新创建游戏的其他相关信息提供给游戏数据传输器504。游戏数据传输器504处理由游戏状态标识符502传输的来自先前游戏进行的游戏状态信息,以识别每个玩家(即,其他玩家或用户)的游戏状态。从游戏状态信息中识别与每个玩家的游戏状态有关的相关数据,并将其提供给游戏数据更新管理器506。
游戏数据更新管理器506接收每个玩家的相关数据,包括由玩家在设置游戏期间和在游戏进行期间的不同时间提供的输入,并基于相应玩家的游戏状态识别每个玩家的对应的游戏数据508。游戏数据更新管理器506从时间表窗口351b获得时间窗口,以确定开始在由DC管理器400识别的相应数据中心处的一个或多个服务器上上传游戏数据508的时间。在一个实现方式中,时间窗口是在安排的时间之前的静态预限定时间长度。在另一实现方式中,可以基于游戏类型、游戏的游戏状态、需要上传的游戏数据量等中的一个或多个来动态地限定时间窗口。例如,如果游戏在游戏等级18处暂停,并且游戏具有20等级(即游戏先前在高等级处暂停),那么时间窗口可能比在等级2处暂停同一游戏的时间窗口更长。这可能是由于以下事实:与等级2需要上传的游戏数据相比,等级18需要上传更多的游戏数据(即,从等级1到等级18的游戏数据)。类似地,如果游戏具有大量需要上传的图形,那么时间窗口可以被限定成比具有较少上传图形的游戏的时间窗口更长。所限定的时间窗口包括上传游戏数据所需的时间量,并且在一些实现方式中,还可以包括内置缓冲时间,以完成每个玩家的游戏数据508的加载。例如,如果将游戏进行的安排的时间限定为星期二下午6:00,并且上传游戏数据的时间大约为15秒,那么时间窗口可以包括15秒和大约15分钟的缓冲时间,用于将游戏数据上传到服务器。因此,在上述示例中,游戏数据更新管理器506可以开始在星期二下午约5:44开始将每个玩家的游戏数据预加载到相应数据中心中的服务器,以便当玩家和用户连接到云游戏***以开始游戏进行时,游戏已完全加载并做好准备以供玩家和用户开始游戏进行。上述缓冲时间仅作为示例提供,且不应视为限制性的。
当达到由时间窗口限定的时间时,游戏数据更新管理器506与针对每个玩家的所识别的数据中心建立通信连接,并将具有玩家的相关游戏数据的信号发送到所识别的数据中心,请求数据中心在所识别的数据中心内的一个或多个服务器上自动上传游戏代码(如果在数据中心尚不可用)和玩家的相关游戏数据。数据中心中的一个或多个服务器接收游戏数据并使用游戏代码执行游戏的实例。玩家的游戏数据的加载包括服务器在设置游戏期间和在游戏进行期间自动为各种例程提供输入,其中由服务器提供的输入模仿在先前游戏的游戏进行期间由玩家提供的输入。每个玩家可以具有他自己的他遵循的用于设置游戏的例程集,并且可以在游戏进行期间提供输入,且每个玩家的此类输入被捕获在存储在游戏数据数据存储区107中的游戏的游戏数据中,并且由游戏数据更新管理器506提供给服务器,以便服务器可以使用来自每个玩家的这些输入来及时为玩家预加载游戏,以使得能够在安排的时间进行游戏。
在一些实现方式中,玩家可能没有进行过游戏,且因此,游戏数据数据存储区107可能没有玩家的输入的任何记录。在此类实现方式中,游戏数据更新管理器506可以使用来自其他游戏的游戏进行的玩家定制、偏好、游戏技能、兴趣、在游戏的设置期间以及在游戏进行期间为各种例程提供的输入等,以确定玩家的证书。玩家的证书被提供到所识别的数据中心中的服务器以供在游戏的预加载期间使用,直到玩家和用户将开始游戏的游戏进行的点。例如,对于在游戏数据数据存储区107中没有玩家与用户之间的游戏的游戏进行的记录的游戏,将开始游戏进行的点可以是游戏的开头。在此实例中,预加载包括加载游戏的游戏数据(例如,设置例程、登录例程等),直到游戏的开头,以便玩家和用户不必经历登录例程或设置例程,而可以直接“进入”到游戏中并开始游戏进行。
在另一实例中,即使游戏数据数据存储区具有玩家与用户之间的先前游戏的游戏进行的记录,用户也可以发起从头开始游戏的游戏进行的请求。在这种情况下,将对游戏进行预加载,直到游戏的开头,并且每个玩家的例程集(诸如登录例程、设置例程等)用模仿相应玩家的输入的输入执行。
游戏数据更新管理器506同步在一个或多个数据中心处为用户和接受游戏进行的邀请的所有玩家预加载游戏,以使游戏做好准备以供所有玩家和用户在安排的时间进行游戏。游戏的预加载在用户不必提供任何其他输入的情况下完成,并且响应于一个或多个玩家接受在由用户请求的安排的时间进行游戏的邀请而完成。另外,完成游戏的预加载,直到将开始游戏进行的点,如存储在游戏数据数据存储区107中的游戏的游戏状态所限定。除了连接到云游戏***以开始游戏进行,玩家无需提供任何其他输入。根据每个玩家的偏好设置游戏并且游戏包括玩家的定制等。地理位置处的数据中心被选择成使得服务器提供最小的等待时间并提供足够的处理和通信资源,以使用户和玩家将具有满意的游戏进行体验。
在一些实现方式中,允许玩家和用户连接到云游戏***,以在距安排的时间的预限定阈值时间段内开始游戏进行。例如,如果安排的时间是给定一天的下午6:00,那么玩家和用户可能能够连接到云游戏***,以直到下午6:15开始游戏进行。当然,预限定的阈值时间段的上述示例仅是示例。
如果玩家无法在预限定的阈值时间段内连接到游戏的游戏进行,那么游戏进行可以在没有玩家的情况下继续。然而,在一个实现方式中,游戏数据同步器500为玩家提供在不同时间加入游戏进行的选项。例如,用户可能已发起在安排的时间的游戏的游戏进行的请求,并且邀请约10个玩家加入游戏进行,且10个玩家中有8个接受了邀请。然而,在安排的时间或预限定的阈值时间段内,已接受邀请的玩家8无法加入游戏进行。其他7个玩家和安排进行游戏的用户将继续游戏进行。在此示例中,玩家8可以发起他自己的加入游戏的游戏进行的请求,并且规定在当前时间之后的某一时间加入游戏的时间。在一些实现方式中,当游戏进行在安排的时间期间仍进行时并且在特定条件下(例如,当仍处于特定等级时,或当仍继续满足)时,可以允许玩家8发起加入游戏的游戏进行的请求。例如,当其他玩家处于恢复游戏的等级或在从其恢复游戏的特定数目的等级内等时,可以允许玩家8发起加入游戏进行的请求。在验证来自玩家8的请求符合特定条件后,请求可立即转发给已在安排的时间加入游戏的游戏进行的所有玩家(即,7个玩家和用户)。响应于玩家8的请求,七个玩家或用户中的任一个可以接受玩家8的请求。响应于玩家8的请求被接受,游戏数据同步器500可以识别游戏的当前游戏状态,并将直到当前游戏状态的游戏数据转发到针对玩家8所识别的数据中心,以便玩家8可以连接到云游戏***并加入游戏的游戏进行。在此示例中,玩家8的地理位置已确定,数据中心已识别,并且预期玩家8将在或约在安排的时间开始游戏进行而在安排的时间之前已经提供游戏数据,直到将开始游戏进行的点。然而,当玩家8无法在安排的时间开始且游戏进行已恢复时,游戏数据同步器500为玩家8提供加入游戏进行的选项。游戏数据同步器500在与玩家8相关联的数据中心处更新游戏进行的一部分,所述部分是玩家8在于安排的时间开始的当前游戏进行会话期间错过的部分,以使玩家8能够恢复游戏进行。
在一个或多个数据中心处追踪在于安排的时间的游戏的游戏进行期间的玩家交互,并且将游戏的游戏状态更新到维持在云游戏***处的游戏数据数据存储区107。
如前所述,在由用户发起的游戏进行请求中所识别的玩家可以是从与社交网络相关联的社交图获得的用户的社交联系人或用户的游戏进行联系人。在一个实现方式中,基于发起请求时的在线活动来识别请求中所识别的玩家。例如,在请求中所识别的玩家可以是用户发起请求时在线的社交联系人或游戏进行联系人。玩家可能正在与包括其他游戏应用在内的其他应用在线交互。在此示例中,当玩家在线时将请求转发给玩家,以寻求他们对请求的响应。
当玩家在安排的时间访问云游戏***上的其用户账户时,在玩家的客户端装置与地理位置处的数据中心中的服务器(或游戏控制台)之间建立直接通信连接,在所述服务器上已为玩家预加载了游戏,从而允许所识别的数据中心的游戏服务器或游戏控制台与玩家的客户端装置之间的游戏进行数据的交换。在所选用户的游戏进行期间,云游戏***中可用的服务质量(QoS)评估器408可以通过测试由数据中心提供的服务质量来监测为每个玩家分配的数据中心所提供的服务质量,以确定服务质量是否满足游戏预期的所需服务水平。在一些实现方式中,服务质量测试可以在限定的时段执行或可以按规则间隔执行或在游戏进行期间持续执行。基于质量测试,QoS评估器408可以向云游戏***内的DC管理器发送信号,以在游戏的游戏进行期间保持分配的数据中心或切换到地理位置内的不同数据中心。在一些实现方式中,质量测试检查连接速度、资源的最佳分配、由资源中的每一个所提供的服务水平等,并且用在相应客户端装置与地理位置中的分配的数据中心之间交换的实际游戏数据执行此种测试,游戏数据从所述分配的数据中心流式传输到客户端装置。
在一些实现方式中,代替玩家发起安排视频游戏的游戏进行的请求,可以从组织者或管理者发起请求,所述组织者或管理者仅管理特定视频游戏的或针对在服务器上可用的或由特定开发者开发的多个视频游戏的或针对特定一组玩家的游戏进行时间表。在此实现方式中,组织者可以基于参与特定视频游戏或参与不同视频游戏的各种玩家或基于与玩家中的每一个相关联的用户属性或游戏进行证书(例如,游戏偏好、技能集、参与程度、视频游戏进行的频率、耗费的时间量、在每个等级进行的尝试次数或克服特定挑战的尝试次数等)来识别要邀请的玩家。
允许组织者安排视频游戏的游戏进行更好地控制谁安排视频游戏的游戏进行,并且避免用户滥用。当给定用户安排视频游戏的游戏进行的选项时,此种选项可能会被可能故意安排大量游戏进行的恶意用户滥用,从而使***过载并使***资源超负荷。替代地,用户可以与多个玩家一起安排视频游戏的游戏进行,从而预加载视频游戏,由此占用***的资源。当用户和/或接受加入游戏进行的邀请的大多数玩家实际上出现以在安排的时间进行游戏时,这将是有利的。然而,当用户和/或玩家未能在安排的时间出现时,便会不必要地占用***资源,从而浪费***的资源。为了防止这种误用或滥用,可以通过仅向特定玩家或用户提供对安排视频游戏的游戏进行的控制,来保护***资源并进行适当的负载平衡。在一些实现方式中,安排游戏进行的组织者可以或可以不在安排的时间进行视频游戏。因此,可以进行各种控制,以确保玩家具有满意的游戏进行体验,同时继续保护和平衡***资源以免被滥用。
图5说明在一个实现方式中简化的数据流图。当从第一玩家的客户端装置发起在安排的时间进行视频游戏的请求时数据流开始。通过网络将请求转发到云游戏***的服务器。在验证请求有效之后,云游戏***的服务器将通知转发到与在请求中所识别的多个其他玩家相关联的客户端装置。在图5中,向其发送通知的其他玩家包括玩家n1、玩家2、玩家3、玩家4、玩家5、玩家n2。其他玩家中的一些可能会响应通知以接受在安排的时间进行游戏的邀请,而其他玩家可能会采取明确的行动或通过不响应通知来拒绝邀请。如图5所示,玩家2、4、5和n2通过接受游戏进行请求来响应邀请。由云游戏***的服务器评估来自接受邀请的玩家的响应。响应充当服务器预加载游戏并在安排的时间使游戏准备就绪的授权。服务器查询时间表窗口351b,以确定在安排的时间之前用于预加载游戏的时间窗口,并使其可供玩家(第一玩家和接受邀请的其他玩家中的所选玩家)开始游戏进行。
作为预加载游戏的一部分,服务器可以确定将在安排的时间进行游戏的玩家的地理位置,确定玩家的地理位置附近的数据中心,在所述数据中心处将预加载游戏,并且通过网络将实例化信号发送到相应数据中心。实例化信号包括游戏标识符、数据中心标识符、玩家标识符、先前游戏进行会话标识符等,以使数据中心能够正确地识别用于预加载的游戏数据。基于玩家的地理位置,可以识别多于一个数据中心以进行预加载。结果,可以指示所识别的数据中心中的每一个为已接受游戏的游戏进行的邀请的玩家中的特定玩家预加载游戏。由于每个玩家的游戏状态可能不同,因此必须在适当的数据中心预加载正确的游戏状态,以使玩家能够具有满意的游戏进行体验。在由时间表窗口351b规定的时间窗口所限定的时间,在对应数据中心处的一个或多个服务器上为每个玩家预加载游戏,以便***资源及时而非更早地用于游戏进行。对玩家同步执行预加载,以便预加载游戏,直到离开先前游戏进行的点。
当玩家(第一玩家、玩家2、4、5和n2)访问云游戏***时,玩家会立即进入游戏进行的游戏流中,使其看起来好像玩家从未离开过游戏。使用所识别的数据中心的通信和***资源,通过网络在玩家的客户端装置与数据中心的服务器之间交换来自游戏进行的游戏数据。本文中所描述的实现方式为第一玩家提供一种方式以在安排的时间在线聚集其他玩家以进行视频游戏,并且***为玩家中的特定玩家预加载游戏数据并使游戏做好游戏进行的准备。这种预加载在确保所有玩家都拥有良好游戏进行体验的同时,最佳利用***资源。定期的QOS测试还确保分配的数据中心能够提供足够的资源,以确保玩家能够以最小的等待时间进行交互以获得满意的游戏进行体验。
图6a说明用于提前预加载视频游戏以使得在安排的时间实现视频游戏的游戏进行的各种方法操作。当从用户检测到对在安排的时间的视频游戏的游戏进行的请求时,方法开始于操作610。用户是发起请求的视频游戏的玩家。请求包括视频游戏的标识符和已受邀在安排的时间进行视频游戏的多个玩家的身份。响应于请求,向在请求中识别的多个玩家发送通知,以邀请玩家加入游戏的游戏进行,如操作620中所说明。请求中所识别的玩家中的一个或多个可以响应请求。在云游戏***上评估对从玩家接收到的请求的响应,如操作630中所说明。玩家中的一些可能接受邀请,且一些其他玩家可能拒绝邀请。当云游戏***检测到玩家中的一些已经接受游戏进行的邀请时,云游戏***开始提前预加载视频游戏,如操作640中所说明。可以完成预加载,直到将开始游戏进行的点。例如,对于在先前游戏进行期间暂停的视频游戏,可以将点限定为游戏暂停的位置。对于在将开始游戏进行的点之前未进行的视频游戏是从头开始的。在一些实现方式中,即使是在先前游戏进行期间暂停的视频游戏,基于用户的请求,在安排的时间开始游戏进行的点也可能从开头起。
图6b说明在替代实现方式中用于提前预加载视频游戏以使得在安排的时间实现视频游戏的游戏进行的各种方法操作。当从第一玩家检测到在安排的时间的视频游戏的游戏进行的请求时,方法开始于操作650。请求由第一玩家发起,并且包括视频游戏的标识符和当前与云游戏***托管的应用进行在线交互的其他玩家的身份,其中视频游戏在所述云游戏***上执行。所识别的其他玩家可能当前与第一玩家一起参与视频游戏的游戏进行,并且第一玩家可能正在尝试与当前正在进行视频游戏的其他玩家组织下一游戏进行会话。替代地,可以基于彼此之间进行视频游戏的其他玩家来识别其他玩家,并且第一玩家希望与其他玩家一起加入视频游戏的游戏进行。在一些其他实现方式中,其他玩家可以基于其当前参与云游戏***上的另一应用来识别,或可以基于先前与另一应用进行交互但当前在线。
响应于请求,向当前在线的其他玩家发送通知,邀请加入游戏的游戏进行,如操作660中所说明。请求中所识别的玩家中的一个或多个可以响应请求。在云游戏***上评估对从玩家接收到的请求的响应,如操作670中所说明。当前在线的玩家中的一些可能接受邀请,且一些其他玩家可能拒绝邀请。当云游戏***检测到玩家中的一些已经接受游戏进行的邀请时,在需要预加载视频游戏的游戏数据时云游戏***确定安排的时间的时间窗口,如操作680中所说明。在一些实现方式中,可以基于游戏的复杂度并且基于需要预加载多少游戏数据以使第一玩家和其他玩家能够开始游戏进行来动态地确定时间窗口。在其他实现方式中,时间窗口可以是为视频游戏预限定的静态值。
云游戏***识别一个或多个数据中心中的一个或多个服务器,并将信号发出到数据中心,以指示数据中心开始预加载视频游戏,在针对安排的时间所限定的时间窗口中开始,如操作690中所说明。完成预加载,直到将开始游戏进行的点,其中所述点可以是先前暂停游戏的位置或可以是开始点或可以是第一玩家在请求中限定的点。及时为第一玩家和其他玩家中的特定玩家完成视频游戏的预加载,以访问云游戏***并从请求中所限定的点起恢复视频游戏的游戏进行。
本文中所论述的各种实现方式提供一种在用户和玩家访问游戏以进行游戏之前预加载游戏的方式。视频游戏的预加载允许玩家和用户立即开始视频游戏的游戏进行,而不必等待游戏加载,直到将恢复游戏的点。另外,为每个玩家(包括发起请求的用户)预加载视频游戏是特定针对玩家的,因为***识别并提供各种例程的输入,所述各种例程的输入模仿当相应玩家设置游戏以进行游戏时由相应玩家提供的输入。由玩家提供的输入可以包括由玩家期望的游戏定制、游戏偏好等,并且可基于玩家的技能等级、证书、游戏的熟悉度等。通过响应于检测到用户对游戏的游戏进行的请求而由云游戏***自动完成通知的发送、对来自玩家的响应的评估和为用户预加载视频游戏,并且在这些操作期间不需要来自用户的另外输入。类似地,响应于玩家接受邀请而由***自动执行为每个玩家预加载游戏,并且不需要来自相应玩家的额外输入。正好在安排的时间之前执行预加载允许云游戏***在游戏未进行时保留处理和通信资源,并且正好在安排游戏进行时消耗***资源,从而使其成为一种分配云游戏***资源的更有效的方式,同时使得能够立即访问游戏以进行游戏。在阅读各种实现方式之后,其他优点对于本领域技术人员将变得明显。
图7说明可以用于提供对不同游戏的访问的信息服务提供商架构的实现方式。信息服务提供商(ISP)1070向地理分散且经由网络1086连接的用户1082递送大量信息服务。尽管已经参考提供对游戏的快速访问来论述各种实现方式,但是可以将实现方式扩展为提供一种或多种类型的其他服务。例如,ISP可以仅递送一种类型的服务,诸如游戏,或各种服务,诸如游戏、股价更新、广播媒体、新闻、体育、博弈等。另外,由每个ISP提供的服务可以是动态的,即,可以在任何时间点添加或删除服务。因此,向特定个人提供特定类型的服务的ISP可能会随时间变化。例如,当用户在她的家乡时,可以由靠近用户的ISP为用户提供服务,并且当用户前往不同城市时,可以由不同的ISP为用户提供服务。家乡的ISP将通过连接模块将所需的信息和数据从用户的游戏或访问配置文件传递到新的ISP,以使用户信息“跟随”用户到新的城市,从而使数据更接近用户,并且更容易访问。在另一实现方式中,在管理用于用户的信息的主机ISP与在主机ISP的控制下直接与用户介接的服务器ISP之间建立主机-服务器关系。在另一实现方式中,当客户端在世界范围内移动时,将数据从一个ISP传递到另一ISP(在切换分配给用户的数据中心期间),并且这种传递可以基于由相应ISP提供的服务能力,以使处于更好位置为用户提供服务的ISP 1070是递送这些服务的那个。
ISP 1070包括应用服务提供商(ASP)1072,所述ASP通过网络向顾客提供基于计算机的服务。使用ASP模型提供的软件有时还称为按需软件或软件即服务(SaaS)。提供对特定应用程序访问(诸如客户关系管理)的一种简单形式是使用标准协议,诸如HTTP。应用软件驻留在例如供应商的***上,并且用户通过使用HTML的网络浏览器或通过由供应商提供的专用客户端软件或经由其他远程接口(诸如瘦客户端)来访问所述应用软件。
在广泛的地理区域内递送的服务通常使用云计算。云计算是一种计算风格,其中可动态扩展且通常为虚拟化的资源被提供作为互联网上的服务。用户无需成为支持他们的“云”中的技术基础设施方面的专家。云计算可以被划分成不同的服务,诸如基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。云计算服务通常在线提供可从网络浏览器访问的通用业务应用,而软件和数据则存储于服务器上。术语云基于在计算机网络图中如何描绘互联网而用作互联网的隐喻,例如使用服务器、存储和逻辑等,并且是其所隐藏的复杂基础设施的抽象概念。
另外,ISP 1070包括游戏处理服务器(GaPS)1074,游戏客户端使用所述游戏处理服务器来进行单玩家和多玩家视频游戏。通过互联网进行的大多数视频游戏经由与游戏服务器的连接进行操作。通常,游戏使用从玩家收集数据并将所述数据分发给其他玩家的专用服务器应用。这比对等布置更有效且高效,但这需要单独的服务器来托管服务器应用。在另一实现方式中,GaPS建立玩家与他们相应的游戏进行装置之间的通信,以在不依赖于集中式GaPS的情况下交换信息。
专用GaPS是独立于客户端运行的服务器。此类服务器通常在位于数据中心中的专用硬件上运行,从而提供更多带宽和专用处理能力。专用服务器是托管大部分基于PC的多玩家游戏的游戏服务器的优选方法。大型多玩家在线游戏通常在拥有游戏标题的软件公司托管的专用服务器上运行,从而允许服务器控制并更新内容。
广播处理服务器(BPS)1076将音频或视频信号分发给观众。向很小范围的观众进行广播有时称为窄播。广播分发的最后一站是信号如何到达听众或观看者,并且它可能像无线电台或电视台一样通过空中到达天线和接收器,或可能经由电台或直接从网络通过有线电视或有线广播(或“无线电缆”)到达。互联网也可以将无线电广播或电视带给接收者,特别是通过多播,以允许共享信号和带宽。历史上,广播已经由地理区域界定,诸如国家广播或区域广播。然而,随着快速互联网的普及,广播不受地理限制,因为内容几乎可以到达世界任何国家。
存储服务提供商(SSP)1078提供计算机存储空间和相关管理服务。SSP还提供定期备份和存档。通过提供存储即服务,用户可以视需要订购更多存储装置。另一个主要优点是SSP包括备份服务,并且在计算机的硬盘驱动器发生故障的情况下用户将不会丢失所有数据。另外,多个SSP可以具有用户数据的全部或部分副本,从而允许用户以有效的方式访问数据,而与用户所在的位置或用于访问数据的装置无关。例如,用户可以在家用计算机以及当用户在移动中时在移动电话中访问个人文件。
通信提供商1080向用户提供连接性。一种通信提供商是提供对互联网的访问的互联网服务提供商(ISP)。ISP使用适合于递送互联网协议数据报的数据传输技术(诸如拨号、DSL、电缆调制解调器、光纤、无线或专用高速互连)来连接其顾客。通信提供商还可以提供消息收发服务,诸如电子邮件、即时消息收发和SMS短信收发。另一种类型的通信提供商是网络服务提供商(NSP),它通过提供对互联网的直接主干访问来出售带宽或网络访问。网络服务提供商可以由电信公司、数据运营商、无线通信提供商、互联网服务提供商、提供高速互联网访问的有线电视运营商等构成。
数据交换器1088互连ISP 1070内部的若干模块,并经由网络1086将这些模块连接到用户1082。数据交换器1088可以覆盖ISP 1070的所有模块紧密接近的小型区域,或者可以覆盖不同模块在地理上分散时的大型地理区域。例如,数据交换器1088可以包括在数据中心的机柜内的快速千兆以太网(或更快的千兆以太网)或洲际虚拟区域网络(VLAN)。
用户1082使用客户端装置1084访问远程服务,所述客户端装置至少包括CPU、存储器、显示器和I/O。客户端装置可以是PC、移动电话、上网本、平板电脑、游戏***、PDA等。在一个实现方式中,ISP 1070辨识由客户端使用的装置的类型并调整所采用的通信方法。在其他情况下,客户端装置使用标准的通信方法(例如HTML)来访问ISP 1070。
本发明的实施方案可以用各种计算机***配置来实践,所述配置包括手持装置、微处理器***、基于微处理器的或可编程的消费电子产品、小型计算机、大型计算机等。本发明还可以在分布式计算环境中实践,其中任务由通过有线或无线网络链接的远程处理装置执行。
考虑到上述实施方案,应理解,本发明可以采用涉及存储在计算机***中的数据的各种计算机实施的操作。这些操作是需要对物理量进行物理操控的操作。形成本发明的一部分的本文中所描述的任何操作都是有用的机器操作。本发明还涉及用于执行这些操作的装置或设备。所述设备可以出于所需目的而专门构造,或者所述设备可以是由存储在计算机中的计算机程序选择性地激活或配置的通用计算机。确切地说,各种通用机器可以与根据本文的教导写入的计算机程序一起使用,或者可以更方便地构造更专用的设备以执行所需的操作。
本发明也可体现为计算机可读介质上的计算机可读代码。替代地,可以使用上文所描述的数据交换互连从服务器下载计算机可读代码。计算机可读介质是可以存储数据的任何数据存储装置,所述数据其后可以由计算机***读取。计算机可读介质的示例包括硬盘驱动器、附网存储装置(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带和其他光学和非光学数据存储装置。计算机可读介质可包括分布在网络耦合的计算机***上的计算机可读有形介质,使得计算机可读代码以分布式方式存储和执行。
尽管按具体顺序描述了方法操作,但是应理解,可以在操作之间执行其他内部管理操作,或者可以调整操作以使它们在稍微不同的时间发生,或可以分布于允许按与处理相关联的各种间隔发生处理操作的***中,只要以期望方式执行覆盖操作的处理即可。
尽管为了清楚理解的目的已经在一些细节上描述了前述发明,但是明显的是,可以在所附权利要求的范围内实践某些改变和修改。因此,本发明的实现方式被视为说明性的而非限制性的,且本发明并不限于本文中给出的细节,而是可以在所描述的实现方式的范围和同等范围内修改。
本文中描述游戏控制台的示例性整体***架构。示例游戏控制台可以包括
Figure BDA0002326497620000391
Playstation(PS3)或Playstation
Figure BDA0002326497620000393
(PS4)娱乐装置,所述娱乐装置可以与用于实施本发明的实施方案的控制器兼容。尽管详细说明了PS3游戏控制台***架构,但应注意,本文中所描述的各种实现方式可以扩展到不同游戏控制台或计算装置的***架构。提供***单元,其中各种***装置可连接到所述***单元。***单元类似于图1的云游戏***300。***单元包括:处理器,所述处理器可以是8核处理器,如在PS3中,或多核处理器,如在PS4中;
Figure BDA0002326497620000394
动态随机存取存储器(XDRAM)单元,如在PS3中,或图形动态随机存取存储器,诸如GDDR5,如在PS4中;具有专用视频随机存取存储器(VRAM)单元的现实合成器图形单元(例如550MHz GPU),如在PS3中,或PS4和PS4 Pro中具有共享图形存储器的800或900MHz GPU;以及I/O桥接器。***单元还包括用于从磁盘读取的Blu
Figure BDA0002326497620000395
盘只读存储器
Figure BDA0002326497620000396
(可选的)光盘读取器和可通过I/O桥接器访问的可移动插槽式硬盘驱动器(HDD)。可选地,***单元还包括用于读取紧凑型闪存卡、Memory存储卡等的存储卡读取器,类似地,所述存储卡可通过I/O桥接器和在PS4中的内置DVR进行访问,以录制游戏。
I/O桥接器还连接到六个通用串行总线(USB)2.0端口;千兆位以太网端口;IEEE802.11b/g无线网络(Wi-Fi)端口;和能够支持多达七个蓝牙连接的无线链路端口。
在操作中,I/O桥接器处理所有无线、USB和以太网数据,包括来自一个或多个游戏控制器(如PS3中的DualShock 3控制器或如PS4中的PS4 DualShock 4控制器等)的数据。例如,当用户正在进行游戏时,I/O桥接器经由蓝牙链路从游戏控制器接收数据,并将所述数据导引到处理器(在PS3中)或多核处理器(在PS4中),所述处理器会相应地更新游戏的当前状态。另外,其他图像和移动传感器将在用户的游戏进行期间捕获的数据提供到I/O桥接器,其将所述数据导引到相应处理器。游戏控制器(例如,PS4的游戏控制器)包括用于共享游戏的按钮选项、可点击的触摸板、可充电的电池(锂离子电池或其他类型)等。
除了游戏控制器之外,无线、USB和以太网端口还为其他***装置提供了连接性,诸如:遥控器;键盘;鼠标;便携式娱乐装置(诸如,Sony Playstation
Figure BDA0002326497620000403
娱乐装置);视频相机(诸如,
Figure BDA0002326497620000404
视频相机);传声器头戴式耳机;和可移动硬盘驱动器。因此,此类***装置原则上可以无线地连接到***单元;例如,便携式娱乐装置可以经由Wi-Fi ad-hoc连接通信,而传声器头戴式耳机可以经由蓝牙链路通信。
提供这些接口意味着Playstation 3装置还可能与其他***装置兼容,所述***装置例如数字视频记录器(DVR)、机顶盒、数码相机、便携式媒体播放器、基于IP的语音电话、移动电话、打印机和扫描仪。
此外,旧式存储卡读取器可以经由USB端口连接到***单元,从而使得能够读取由
Figure BDA0002326497620000411
或Playstation装置所用种类的存储卡。
在本发明实现方式中,游戏控制器可以用来经由蓝牙链路与***单元无线通信。然而,游戏控制器可以替代地连接到USB端口,从而也提供用于为游戏控制器的电池充电的电源。除了一个或多个模拟操纵杆和常规控制按钮外,游戏控制器还对六个自由度的运动敏感,六个自由度对应于每个轴的平移和旋转。因此,除了常规按钮或操纵杆命令之外或代替常规按钮或操纵杆命令,游戏控制器的用户的手势和运动可以被转换为对游戏的输入。可选地,其他带无线功能的***装置(诸如PlaystationTM便携式装置)可以被用作控制器。在PlaystationTM便携式装置的情况下,在装置的屏幕上可以提供其他游戏或控制信息(例如控制指令或生命数)。也可以使用其他替代或补充控制装置,例如舞垫(未示出)、光枪(未示出)、方向盘和踏板(未示出)或定制控制器,诸如用于快速响应问答游戏(也未示出)的单个或若干大按钮。
遥控器还可用来经由蓝牙链路与***单元无线通信。遥控器包括适合于Blu RayTM磁盘BD-ROM读取器的操作以及适于磁盘内容导航的控制件。
除了常规预录制和可录制的光盘(CD)以及所谓的超级音频CD外,Blu RayTM磁盘BD-ROM读取器还可用来读取与Playstation和PlayStation 2装置兼容的光盘只读存储器(CD-ROM)。除了常规的预录制和可录制DVD外,Blu RayTM磁盘BD-ROM读取器还可用来读取与Playstation 2TM和PlayStation 3TM装置兼容的数字多功能光盘只读存储器(DVD-ROM)。Blu RayTM磁盘BD-ROM读取器还可用来读取与Playstation 3装置兼容的BD-ROM以及常规预录制和可录制蓝光磁盘。
***单元可用来通过音频和视频连接器将由Playstation 3或Playstation 4装置经由现实合成器图形单元生成或解码的音频和视频供应到显示器和声音输出装置,诸如具有显示器和一个或多个扬声器的监视器或电视机。音频连接器可以包括常规模拟和数字输出,而视频连接器可以各种不同地包括分量视频、S-视频、复合视频以及一个或多个高清晰度多媒体接口(HDMI)输出。因此,视频输出可以呈诸如PAL或NTSC等格式,或具有720p、1080i或1080p高清晰度以及4K、HDR。
音频处理(生成、解码等)由处理器执行。例如,Playstation 3装置的操作***支持5.1环绕声、
Figure BDA0002326497620000422
影院环绕声(DTS)、以及对来自
Figure BDA0002326497620000423
磁盘的7.1环绕声的解码。
在本发明实现方式中,视频相机包括CMOS(互补金属氧化物半导体)图像传感器(尽管也可以使用电荷耦合装置(CCD)图像传感器)、LED指示器和基于硬件的实时数据压缩和编码设备,以使压缩的视频数据可以适当的格式传输,诸如基于图像内的MPEG(运动图像专家组)标准,以供***单元解码。相机LED指示器被布置成响应于来自***单元的适当控制数据而点亮,例如以表示不利的照明条件。视频相机的实现方式可以经由USB、蓝牙或Wi-Fi通信端口以各种方式连接到***单元。视频相机的实现方式可以包括一个或多个相关联传声器,并且还能够传输音频数据。在视频相机的实现方式中,CCD可以具有适合于高清视频捕获的分辨率。在使用中,由视频相机捕获的图像可以例如被并入游戏内或被解译为游戏控制输入。
通常,为了经由***单元的通信端口中的一个与***装置(诸如视频相机或遥控器)成功进行数据通信,应提供适当的软件,诸如装置驱动程序。装置驱动程序技术是众所周知的,并且在这里将不进行详细描述,除了指出本领域的技术人员将意识到,在所描述的本发明的实现方式中可能需要装置驱动程序或类似的软件接口。
处理器具有包括四个基本部件的架构:外部输入和输出结构,包括存储器控制器和双总线接口控制器;主处理器,称为功率处理元件;八个协处理器,称为协同处理元件(SPE);以及连接上述部件的环形数据总线,称为“元件互连总线”。与Playstation 2装置的情感引擎的6.2GFLOP相比,处理器的总浮点性能为218GFLOP。
功率处理元件(PPE)基于以3.2Ghz的内部时钟运行的双向同时多线程功率兼容PowerPC核心(PPU)。它包括512kB的2级(L2)高速缓冲存储器和32kB的1级(L1)高速缓冲存储器。PPE能够每个时钟周期进行八次单位置操作,从而在3.2GHz转换为25.6GFLOP。PPE的主要作用是充当协同处理元件的控制器,所述协同处理元件处理大部分计算工作量。在操作中,PPE维护作业队列,为协同处理元件安排作业并监测其进度。因此,每个协同处理元件都运行一个内核,所述内核的作用是获取作业、执行作业并与PPE同步。
每个协同处理元件(SPE)包括相应的协同处理单元(SPU)和相应的存储器流控制器(MFC),其又包括相应的动态存储器存取控制器(DMAC)、相应的存储器管理单元(MMU)和总线接口(未示出)。每个SPU是RISC处理器,时钟为3.2GHz,并且包括256kB本地RAM,原则上可扩展到4GB。每个SPE给出理论25.6GFLOP的单精度性能。SPU可以在单个时钟周期内对4个单精度浮点成员、4个32位数字、8个16位整数或16个8位整数进行操作。在同一时钟周期内,它还可以执行存储器操作。SPU不直接访问***存储器XDRAM 1426;由SPU形成的64位地址被传递给MFC,所述MFC指示其DMA控制器经由元件互连总线和存储器控制器访问存储器。
元件互连总线(EIB)是处理器内部的逻辑循环通信总线,它连接上述处理器元件(即PPE)、存储器控制器、双总线接口和8个SPE,共有12个参与者。参与者可以同时在每个时钟周期以8个字节的速率对总线进行读取和写入。如先前所提及,每个SPE都包括DMAC,以用于安排更长的读取或写入序列。EIB包括四个通道,顺时针和逆时针方向上各两个。因此,对于十二个参与者,任何两个参与者之间最长的逐步数据流是在适当方向上的六步。因此,如果通过参与者之间的仲裁来充分利用,那么12个时隙的理论峰值瞬时EIB带宽为每个时钟96B。这相当于时钟频率为3.2Ghz(千兆赫兹)下理论峰值带宽为307.2GB/s(千兆字节/秒)。
存储器控制器包括由Rambus Incorporated开发的XDRAM接口。存储器控制器以25.6GB/s的理论峰值带宽与Rambus XDRAM 1426介接。
双总线接口包括Rambus
Figure BDA0002326497620000441
***接口。接口分为12个通道,每个通道8位宽,其中有五个路径是入站路径,且七个路径是出站路径。这样,经由控制器在处理器和I/O桥接器之间以及经由控制器在处理器和现实合成器图形单元之间提供62.4GB/s的理论峰值带宽(出站36.4GB/s,入站26GB/s)。
处理器发送给现实合成器图形单元的数据通常将包括显示列表,所述显示列表是绘制顶点、将纹理应用到多边形、指定照明条件等一系列命令。
实施方案可以包括捕获深度数据,以更好地识别真实世界的用户并指导化身或场景的活动。对象可以是人握着的东西,或也可以是人的手。在本说明书中,术语“深度相机”和“三维相机”是指能够获得距离或深度信息以及二维像素信息的任何相机。例如,深度相机可以利用受控的红外照明来获得距离信息。另一示例性深度相机可以是立体相机对,其使用两个标准相机对距离信息进行三角测量。类似地,术语“深度感测装置”是指能够获得距离信息以及二维像素信息的任何类型的装置。
三维成像的最新进展为实时交互式计算机动画的增加可能性打开了大门。确切地说,除了正常的二维视频成像外,新的“深度相机”还提供捕获和绘制三维的功能。利用新的深度数据,本发明的实施方案允许将计算机生成的对象实时地放置在视频场景内的各个位置,包括在其他对象之后。
此外,本发明的实施方案为用户提供实时交互式游戏体验。例如,用户可以与各种计算机生成的对象进行实时交互。此外,可以实时更改视频场景,以增强用户的体验。例如,可以将计算机生成的服装***用户的衣服上,并且可以将计算机生成的光源用于在视频场景内投射虚拟阴影。因此,使用本发明的实施方案和深度相机,用户可以在他们自己的客厅中体验交互式环境。类似于普通相机,深度相机捕获包括视频图像的多个像素的二维数据。这些值是像素的颜色值,通常是每个像素的红色、绿色和蓝色(RGB)值。以这种方式,相机捕获的对象看起来好像在监视器上的二维对象。
本发明的实施方案还考虑分布式图像处理配置。例如,本发明不限于在一个或甚至两个位置中发生的捕获图像和显示图像处理,诸如在CPU中或在CPU和一个其他元件中。例如,输入图像处理可以很容易地在可以执行处理的相关联CPU、处理器或装置中进行;基本上所有图像处理都可以分布在整个互连***中。因此,本发明不限于任何特定的图像处理硬件电路和/或软件。本文中所描述的实施方案也不限于通用硬件电路和/或软件的任何特定组合,也不限于由处理部件执行的指令的任何特定源。
考虑到上述实施方案,应理解,本发明可以采用涉及存储在计算机***中的数据的各种计算机实施的操作。这些操作包括需要对物理量进行物理操控的操作。通常但不一定,这些量采取能够被存储、传输、组合、比较和以其他方式操纵的电或磁信号的形式。另外,所执行的操纵通常用术语来指代,诸如产生、识别、确定或比较。
上文所描述的发明可以用其他计算机***配置来实践,所述配置包括手持装置、微处理器***、基于微处理器的或可编程的消费电子产品、小型计算机、大型计算机等。本发明还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理装置执行。
本发明也可体现为计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任何数据存储装置,所述数据之后可以由计算机***读取,包括电磁波载波。计算机可读介质的示例包括硬驱动器(诸如固态驱动器(SSD)、硬盘驱动器(HDD)、数字视频光盘(DVD)驱动器、
Figure BDA0002326497620000461
等)、附网存储装置(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带和其他光学和非光学数据存储装置。计算机可读介质也可以分布在网络耦接的计算机***上,使得计算机可读代码以分布式方式存储和执行。
尽管为了清楚理解的目的已经在一些细节上描述了前述发明,但是明显的是,可以在所附权利要求的范围内实践某些改变和修改。因此,本发明实施方案应被视为说明性的而非限制性的,且本发明并不限于本文中给出的细节,而是可以在所附权利要求的范围和等同范围内修改。

Claims (22)

1.一种用于在云游戏***上可用的视频游戏的游戏进行的方法,其包括:
检测所述视频游戏的游戏进行的请求,所述请求源自第一玩家的客户端装置,并且识别游戏进行的安排的时间以及将受邀与所述第一玩家一起加入所述视频游戏的游戏进行的其他玩家;
响应于所述请求,向所述其他玩家发送通知,邀请在所述安排的时间加入所述视频游戏的游戏进行;
评估对从所述其他玩家中的一个或多个接收到的所述通知的响应来识别所述其他玩家中的已接受在所述安排的时间与所述第一玩家的所述视频游戏的游戏进行的所述邀请的特定玩家;以及
预加载所述视频游戏,直到将开始所述视频游戏的游戏进行的点,对于所述第一玩家和所述其他玩家中的已接受游戏进行的所述邀请的特定玩家,在所述第一玩家和所述其他玩家中的所述特定玩家中的每一个连接到所述云游戏***以在所述安排的时间处或之后开始所述视频游戏的游戏进行之前执行所述预加载,
其中所述视频游戏是多玩家视频游戏,并且其中所述方法的操作由所述云游戏***中的处理器执行。
2.根据权利要求1所述的方法,其中在检测到所述请求时,由所述云游戏***中的服务器自动执行所述发送、所述评估和所述预加载,而无需用户交互。
3.根据权利要求1所述的方法,其中从玩家接收到的所述响应包括用于所述云游戏***的授权,以开始为所述玩家的游戏进行预加载所述视频游戏,以使所述玩家能够在所述安排的时间开始所述视频游戏的游戏进行,由所述服务器为所述玩家执行的所述视频游戏的所述预加载还包括,
检索在所述视频游戏的设置期间由所述玩家所遵循的例程集,所述例程集是从所述视频游戏的游戏数据中检索的;
检索在设置期间和在执行所述视频游戏直到所述点期间由所述玩家针对所述例程集中的每个例程所提供的输入;以及
在所述服务器上实例化所述视频游戏,所述实例化包括执行由所述玩家所遵循的所述例程集,以及自动针对所述例程集中的每个例程提供所述输入,以及在执行所述视频游戏直到所述点期间,对所述视频游戏进行所述预加载,以使所述视频游戏的游戏数据得到更新,直到将开始所述游戏进行的所述点,以使所述玩家能够从所述视频游戏暂停的所述点恢复游戏进行,
其中所述例程集和输入特定针对所述玩家,所述例程集和输入提供信息以识别所述玩家的证书、由所述玩家所提供的游戏定制、在所述例程集中的每个例程期间由所述玩家所提供的输入以及所述玩家的游戏状态,并且其中所述玩家是所述第一玩家或所述其他玩家中的接受在所述安排的时间加入所述视频游戏的游戏进行的所述邀请的所述特定玩家中的任一个。
4.根据权利要求1所述的方法,其还包括,
识别为所述安排的时间所限定的时间窗口,以执行所述视频游戏的所述预加载;以及
在所述时间窗口内为玩家执行所述预加载,
其中所述玩家是所述第一玩家或所述其他玩家中的所述特定玩家中的任一个,其中所述时间窗口被限定成包括预加载所述游戏数据所需的时间和完成所述视频游戏的预加载的缓冲时间。
5.根据权利要求1所述的方法,其中为玩家预加载所述游戏还包括,
在与所述玩家相关联的用户配置文件中查询地理位置指示符,以确定所述玩家的当前地理位置;以及
识别所述云游戏***中的在所述玩家的所述识别的地理位置附近的数据中心;
识别所述识别的数据中心内的一个或多个服务器,以预加载所述视频游戏以供游戏进行,
其中所述玩家是所述第一玩家或所述其他玩家中的接受在所述安排的时间加入所述视频游戏的游戏进行的所述邀请的所述特定玩家中的任一个。
6.根据权利要求5所述的方法,其中预加载所述视频游戏还包括,
在所述安排的时间之前的时间窗口期间,同步所述识别的数据中心内的所述一个或多个服务器上的所述视频游戏的所述预加载与在对应于包括所述第一玩家的所述其他玩家中的特定玩家的地理位置的一个或多个数据中心内的服务器上的所述视频游戏的预加载,
其中所述同步允许所述第一玩家和所述其他玩家中的所述特定玩家中的每一个在所述安排的时间立即开始所述视频游戏的游戏进行。
7.根据权利要求1所述的方法,其还包括提供距离所述安排的时间的额外预限定的阈值时间段,以使所述第一玩家和所述其他玩家中的所述特定玩家中的每一个能够访问所述云游戏***,以实现所述视频游戏的游戏进行。
8.根据权利要求1所述的方法,其中评估响应还包括向所述第一玩家发送确认通知,以通知所述其他玩家中的所述特定玩家已接受在所述安排的时间的所述视频游戏的游戏进行的所述邀请。
9.根据权利要求1所述的方法,其中所述其他玩家是所述第一玩家的社交联系人,并且从所述第一玩家的社交网络中识别。
10.根据权利要求1所述的方法,其中所述其他玩家是先前与所述第一玩家一起参与所述视频游戏的游戏进行的玩家,或所述第一玩家的当前在线和与另一应用交互的社交联系人。
11.一种用于在云游戏***上可用的视频游戏的游戏进行的方法,其包括:
检测来自第一玩家的所述视频游戏的游戏进行的请求,所述请求识别游戏进行的安排的时间和将受邀加入所述视频游戏的游戏进行的其他玩家的身份,其中所述其他玩家当前正在与由所述云游戏***托管的一个或多个应用在线交互;
向当前在线的所述其他玩家发送通知,邀请在所述安排的时间加入所述视频游戏的游戏进行;
评估对从所述其他玩家中的一个或多个接收到的所述通知的响应来识别所述其他玩家中的已接受在所述安排的时间的所述视频游戏的游戏进行的所述邀请的特定玩家;以及
预加载所述视频游戏,直到将开始所述视频游戏的游戏进行的点,对于所述第一玩家和所述其他玩家中的接受游戏进行的所述邀请的特定玩家,提前执行所述预加载,以使所述第一玩家和所述其他玩家中的所述特定玩家中的每一个能够在所述安排的时间访问所述云游戏***时立即开始所述视频游戏的游戏进行,
其中所述视频游戏是多玩家视频游戏,并且其中所述方法的操作由所述云游戏***中的一个或多个处理器执行。
12.根据权利要求11所述的方法,其中基于当前与所述第一玩家一起参与所述视频游戏的游戏进行的所述其他玩家,或从当前参与所述视频游戏的游戏进行的所述其他玩家中,或从与所述第一玩家一起参与其他视频游戏的游戏进行的所述其他玩家中,或从参与其他视频游戏的游戏进行的所述其他玩家中,或从当前参与与其他在线应用交互的所述其他玩家中或从先前参与与其他在线应用交互的所述其他玩家中识别所述其他玩家。
13.根据权利要求11所述的方法,其中为玩家预加载所述视频游戏还包括,
查询与发起所述请求的所述玩家相关联的地理位置指示符,以识别所述玩家的地理位置;
识别所述云游戏***中的在所述玩家的所述识别的地理位置附近的数据中心,以在所述识别的数据中心内的服务器上实例化所述视频游戏以实现游戏进行;以及
在所述识别的数据中心实例化所述视频游戏,所述实例化使所述视频游戏的游戏代码在所述识别的数据中心中的一个或多个服务器上执行并且使所述玩家的游戏数据上传,直到由所述玩家的游戏状态所限定的点,所述玩家的所述游戏状态由所述视频游戏的当前游戏状态限定,其中所述玩家是第一玩家或所述其他玩家中的接受所述视频游戏的游戏进行的所述邀请的一个。
14.根据权利要求13所述的方法,其中所述游戏的预加载还包括在针对所述安排的时间所限定的时间窗口中在一个或多个数据中心中为所述第一玩家和所述其他玩家中的所述特定玩家中的每一个同步所述视频游戏的实例化和上传所述视频游戏的游戏数据,以使所述第一玩家和所述其他玩家中的所述特定玩家能够从由所述当前游戏状态限定的所述点起在所述安排的时间开始所述视频游戏的游戏进行。
15.根据权利要求13所述的方法,其中根据从所述玩家的所述客户端装置内可用的全球定位***的信号获得的地理位置信息,或从所述玩家与网页浏览应用的交互获得的信息,或从所述玩家的社交媒体发布获得的信息,或从所述玩家与所述客户端装置内的应用的交互获得的信息,或从以上各项的两个或更多个组合来验证所述玩家的所述地理位置。
16.一种用于针对在云游戏***上可用的视频游戏的游戏进行聚集其他玩家的方法,其包括:
检测来自第一玩家的所述视频游戏的游戏进行的请求,所述请求识别加入所述视频游戏的游戏进行的安排的时间和当前与所述云游戏***上的应用在线交互的其他玩家的身份;
向所述其他玩家发送通知,邀请在所述安排的时间加入所述视频游戏的游戏进行;
评估对从所述其他玩家中的一个或多个接收到的所述通知的响应来识别所述其他玩家中的已接受在所述安排的时间的所述视频游戏的游戏进行的所述邀请的特定玩家;以及
预加载所述视频游戏,直到所述视频游戏的当前游戏状态,提前执行所述预加载,以使所述第一玩家和所述其他玩家中的所述特定玩家能够在所述安排的时间访问所述云游戏***时立即从所述当前游戏状态开始所述视频游戏的游戏进行,
其中所述视频游戏是多玩家视频游戏,并且其中由所述云游戏***中的一个或多个服务器的处理器执行所述方法的发送、评估和预加载操作,而无需来自所述第一玩家的额外输入。
17.根据权利要求16所述的方法,其中为玩家预加载所述游戏还包括,
确定与所述玩家相关联的地理位置;
识别所述云游戏***中的在所述玩家的所述地理位置附近的一个或多个数据中心,以实例化所述视频游戏,以实现游戏进行;以及
在针对所述玩家的所述地理位置识别的所述一个或多个数据中心中的特定一个中的一个或多个服务器上实例化所述视频游戏,所述实例化使所述视频游戏的游戏代码在所述特定数据中心中的一个或多个服务器上执行,并且使所述玩家的游戏数据加载,直到由所述玩家的所述视频游戏的当前游戏状态限定的点,其中所述玩家是所述第一玩家或所述其他玩家中的接受所述邀请的所述特定玩家中的任一个。
18.根据权利要求17所述的方法,其中同步所述玩家和所述其他玩家中的所述特定玩家中的每一个的所述视频游戏的所述实例化,以使所述第一玩家和所述其他玩家中的所述特定玩家从由所述当前游戏状态限定的所述点起在所述安排的时间开始所述视频游戏的游戏进行。
19.根据权利要求17所述的方法,其中确定所述玩家的所述地理位置还包括,
在所述玩家的用户配置文件内查询地理位置指示符;
从由所述玩家的客户端装置内可用的全球定位***生成的信号,或从所述玩家与在所述客户端装置上执行的应用的交互,或从所述玩家与在所述云游戏***上的所述应用的所述在线交互获取信息,所述信息在针对所述安排的时间所限定的时间窗口中获得,其中所述信息用以识别所述玩家的当前地理位置;
验证从所述玩家的所述用户配置文件获取的所述地理位置与所述当前地理位置匹配;以及
当所述当前地理位置不同于所述玩家的所述用户配置文件中所限定的所述地理位置时,使用所述玩家的所述当前地理位置,以预加载所述视频游戏并且在所述玩家的所述用户配置文件中更新所述当前地理位置。
20.根据权利要求17所述的方法,其中所述玩家的所述在线交互包括通过网络浏览器提供的交互或针对社交媒体应用提供的交互。
21.一种用于在云游戏***上可用的视频游戏的游戏进行的方法,其包括:
检测来自组织者的所述视频游戏的游戏进行的请求,所述请求识别游戏进行的安排的时间和受邀加入所述视频游戏的游戏进行的玩家的身份;
向所述玩家中的每一个发送通知,邀请在所述安排的时间加入所述视频游戏的游戏进行;
评估对从所述玩家中的一个或多个接收到的所述通知的响应来识别所述玩家中的已接受在所述安排的时间的所述视频游戏的游戏进行的所述邀请的特定玩家;以及
预加载所述视频游戏,直到将开始所述视频游戏的游戏进行的点,对于所述玩家中的接受游戏进行的所述邀请的所述特定玩家中的每一个,提前执行所述预加载,以使所述玩家中的所述特定玩家中的每一个能够在所述安排的时间访问所述云游戏***时从所述点起立即开始所述视频游戏的游戏进行,
其中所述组织者安排所述视频游戏的游戏进行,但不在所述安排的时间参加所述视频游戏的游戏进行,
其中所述视频游戏是多玩家视频游戏,并且其中所述方法的操作由所述云游戏***中的一个或多个处理器执行。
22.根据权利要求21所述的方法,其中基于用户属性、与相应玩家相关联的游戏进行证书识别所述玩家中的每个,其中所述游戏进行证书识别所述视频游戏的游戏进行中所述相应玩家的参与。
CN201880041211.6A 2017-06-19 2018-06-08 用于安排视频游戏的游戏进行的方法和*** Active CN110769907B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762522050P 2017-06-19 2017-06-19
US62/522,050 2017-06-19
US15/715,001 2017-09-25
US15/715,001 US10610779B2 (en) 2017-06-19 2017-09-25 Methods and systems for scheduling game play of a video game
PCT/US2018/036755 WO2018236603A1 (en) 2017-06-19 2018-06-08 METHODS AND SYSTEMS FOR PLANNING GAMING OF A VIDEO GAME

Publications (2)

Publication Number Publication Date
CN110769907A true CN110769907A (zh) 2020-02-07
CN110769907B CN110769907B (zh) 2023-10-24

Family

ID=64656957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880041211.6A Active CN110769907B (zh) 2017-06-19 2018-06-08 用于安排视频游戏的游戏进行的方法和***

Country Status (5)

Country Link
US (3) US10610779B2 (zh)
EP (1) EP3641900A1 (zh)
JP (1) JP6982684B2 (zh)
CN (1) CN110769907B (zh)
WO (1) WO2018236603A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111840991A (zh) * 2020-06-19 2020-10-30 杭州学会玩网络技术有限公司 一种游戏***
CN111840992A (zh) * 2020-06-19 2020-10-30 杭州学会玩网络技术有限公司 一种游戏触发方法及一种线上线下结合的游戏***
CN112402979A (zh) * 2020-12-02 2021-02-26 网易(杭州)网络有限公司 游戏数据处理方法、装置和电子设备
CN112650730A (zh) * 2020-12-18 2021-04-13 完美世界(重庆)互动科技有限公司 游戏数据迁移方法及装置、存储介质、计算机设备
CN112870711A (zh) * 2021-04-28 2021-06-01 腾讯科技(深圳)有限公司 一种云游戏的处理方法、装置、设备及存储介质
CN114191810A (zh) * 2021-12-02 2022-03-18 北京蔚领时代科技有限公司 Android云游戏用户数据的分布式存储方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10238965B2 (en) * 2016-04-28 2019-03-26 Sony Interactive Entertainment America Llc Cloud gaming device handover
US10681120B2 (en) * 2017-07-25 2020-06-09 Uber Technologies, Inc. Load balancing sticky session routing
US11372698B2 (en) * 2018-01-12 2022-06-28 Meta Platforms, Inc. Coordinated effects in experiences
US10967259B1 (en) * 2018-05-16 2021-04-06 Amazon Technologies, Inc. Asynchronous event management for hosted sessions
US11457277B2 (en) * 2019-08-28 2022-09-27 Sony Interactive Entertainment Inc. Context-based action suggestions
CN110535966B (zh) * 2019-09-05 2021-06-15 腾讯科技(深圳)有限公司 一种数据处理方法及相关设备
US11736553B1 (en) 2019-09-27 2023-08-22 Amazon Technologies, Inc. Selecting hosting servers for interactive electronic activities
JP7413832B2 (ja) 2020-02-27 2024-01-16 セイコーエプソン株式会社 半導体装置
CN111729293B (zh) * 2020-08-28 2020-12-22 腾讯科技(深圳)有限公司 一种数据处理方法、装置及存储介质
US11554320B2 (en) * 2020-09-17 2023-01-17 Bogie Inc. System and method for an interactive controller
US20220129295A1 (en) * 2020-10-25 2022-04-28 Meta Platforms, Inc. Server-side hosted environment for a cloud gaming system
US11863616B1 (en) * 2020-10-30 2024-01-02 Amazon Technologies, Inc. Selecting hosting servers for network services
US20220147616A1 (en) * 2020-11-11 2022-05-12 Red Hat, Inc. Implementing trusted clients using secure execution environments
GB202108686D0 (en) * 2021-06-17 2021-08-04 Immersive Group Gaming Ltd Game delivery system
US11658919B2 (en) * 2021-08-04 2023-05-23 Cyborg Phoenix Simulations Llc Device and method for interactive environment processing and communication
US20230085260A1 (en) * 2021-09-16 2023-03-16 Voyetra Turtle Beach Inc. Video game controller with social networking

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090075737A1 (en) * 2007-09-19 2009-03-19 Sony Computer Entertainment America Inc. Tracking, Correlating, and Processing Multi-User Online Sessions
US20100319062A1 (en) * 2009-06-16 2010-12-16 Damon Danieli Invitation service for multi-device application sessions
CN103885768A (zh) * 2012-12-21 2014-06-25 索尼电脑娱乐美国公司 第二用户对第一用户的游戏玩法的远程控制
US8808093B1 (en) * 2012-01-23 2014-08-19 Zynga Inc. Asynchronous social events in computer-implemented games
CN104470600A (zh) * 2012-07-20 2015-03-25 微软公司 游戏浏览
US20160256784A1 (en) * 2015-03-06 2016-09-08 Sony Interactive Entertainment America Llc Predictive Instant Play For An Application Over The Cloud
US20170087464A1 (en) * 2015-09-30 2017-03-30 Sony Interactive Entertainment America Llc Multi-user demo streaming service for cloud gaming

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030224852A1 (en) * 2002-04-19 2003-12-04 Walker Jay S. Method and apparatus for linked play gaming with combined outcomes and shared indicia
US20030125112A1 (en) * 2001-12-31 2003-07-03 Silvester Kelan C. Method and apparatus for providing a multiplayer gaming environment
US7311608B1 (en) * 2003-10-31 2007-12-25 Microsoft Corporation Online game invitations using friends list
US20060015560A1 (en) * 2004-05-11 2006-01-19 Microsoft Corporation Multi-sensory emoticons in a communication system
US8033906B2 (en) * 2004-10-21 2011-10-11 Wms Gaming Inc. Wagering game with invitation for playing a wagering game at a subsequent gaming session
CN100415331C (zh) 2005-08-19 2008-09-03 华为技术有限公司 一种用于游戏的邀请比赛方法和***
JP4302110B2 (ja) * 2006-02-16 2009-07-22 株式会社ソニー・コンピュータエンタテインメント ゲーム管理サーバ、ゲームシステム、ゲーム制御方法
US8641529B2 (en) * 2008-06-27 2014-02-04 Microsoft Corporation Scheduled programmatic game content
US20100306672A1 (en) * 2009-06-01 2010-12-02 Sony Computer Entertainment America Inc. Method and apparatus for matching users in multi-user computer simulations
US8412833B2 (en) * 2010-04-07 2013-04-02 Apple Inc. Apparatus and method for inviting users to online sessions
US8684820B2 (en) 2012-02-06 2014-04-01 Hothead Games, Inc. Virtual competitive group management systems and methods
US10130872B2 (en) * 2012-03-21 2018-11-20 Sony Interactive Entertainment LLC Apparatus and method for matching groups to users for online communities and computer simulations
US10322351B2 (en) * 2014-07-03 2019-06-18 Activision Publishing, Inc. Matchmaking system and method for multiplayer video games
US10166469B2 (en) * 2016-06-10 2019-01-01 Apple Inc. Persistent game sessions with multiplayer support

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090075737A1 (en) * 2007-09-19 2009-03-19 Sony Computer Entertainment America Inc. Tracking, Correlating, and Processing Multi-User Online Sessions
US20100319062A1 (en) * 2009-06-16 2010-12-16 Damon Danieli Invitation service for multi-device application sessions
US8808093B1 (en) * 2012-01-23 2014-08-19 Zynga Inc. Asynchronous social events in computer-implemented games
CN104470600A (zh) * 2012-07-20 2015-03-25 微软公司 游戏浏览
CN103885768A (zh) * 2012-12-21 2014-06-25 索尼电脑娱乐美国公司 第二用户对第一用户的游戏玩法的远程控制
US20160256784A1 (en) * 2015-03-06 2016-09-08 Sony Interactive Entertainment America Llc Predictive Instant Play For An Application Over The Cloud
US20170087464A1 (en) * 2015-09-30 2017-03-30 Sony Interactive Entertainment America Llc Multi-user demo streaming service for cloud gaming

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111840991A (zh) * 2020-06-19 2020-10-30 杭州学会玩网络技术有限公司 一种游戏***
CN111840992A (zh) * 2020-06-19 2020-10-30 杭州学会玩网络技术有限公司 一种游戏触发方法及一种线上线下结合的游戏***
CN112402979A (zh) * 2020-12-02 2021-02-26 网易(杭州)网络有限公司 游戏数据处理方法、装置和电子设备
CN112402979B (zh) * 2020-12-02 2023-11-17 网易(杭州)网络有限公司 游戏数据处理方法、装置和电子设备
CN112650730A (zh) * 2020-12-18 2021-04-13 完美世界(重庆)互动科技有限公司 游戏数据迁移方法及装置、存储介质、计算机设备
CN112650730B (zh) * 2020-12-18 2022-01-04 完美世界(重庆)互动科技有限公司 游戏数据迁移方法及装置、存储介质、计算机设备
CN112870711A (zh) * 2021-04-28 2021-06-01 腾讯科技(深圳)有限公司 一种云游戏的处理方法、装置、设备及存储介质
CN114191810A (zh) * 2021-12-02 2022-03-18 北京蔚领时代科技有限公司 Android云游戏用户数据的分布式存储方法

Also Published As

Publication number Publication date
US20220212098A1 (en) 2022-07-07
JP2020524066A (ja) 2020-08-13
US11278799B2 (en) 2022-03-22
US20200206610A1 (en) 2020-07-02
CN110769907B (zh) 2023-10-24
WO2018236603A1 (en) 2018-12-27
EP3641900A1 (en) 2020-04-29
US11759707B2 (en) 2023-09-19
JP6982684B2 (ja) 2021-12-17
US10610779B2 (en) 2020-04-07
US20180361235A1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
US11759707B2 (en) Methods and systems for scheduling game play of a video game
US12005355B2 (en) Using connection quality history to optimize user experience
CN110124319B (zh) 用于提供快速加载的快捷方式的方法和***
JP6526826B2 (ja) クラウド上のアプリケーションのための予測的なインスタントプレイ技術
CN106621326B (zh) 利用云转变的本地应用快速启动
CN109152955B (zh) 云游戏中的用户保存数据管理方法
US11882188B2 (en) Methods and systems for maintaining smooth frame rate during transmission of streaming video content
US9908047B2 (en) User save data migration based on location information
CN113226500A (zh) 使用对等流式传输的众包云游戏

Legal Events

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