CN107430519B - 内容部署、扩展和遥测 - Google Patents
内容部署、扩展和遥测 Download PDFInfo
- Publication number
- CN107430519B CN107430519B CN201680016104.9A CN201680016104A CN107430519B CN 107430519 B CN107430519 B CN 107430519B CN 201680016104 A CN201680016104 A CN 201680016104A CN 107430519 B CN107430519 B CN 107430519B
- Authority
- CN
- China
- Prior art keywords
- content item
- instances
- instance
- information
- virtual machine
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3225—Data transfer within a gaming system, e.g. data sent between gaming machines and users
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/326—Game play aspects of gaming systems
- G07F17/3272—Games involving multiple players
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本文描述用于内容部署、扩展和遥测的技术。一旦使内容项可访问以用于部署,所述内容项的一个或多个实例就可作为图像安装在虚拟机实例上。所述内容项的另外实例随后可在同一虚拟机实例上启动和/或通过将所述图像复制到任何数目的另外虚拟机实例上来启动。内容项的一个或多个实例可配置以用多个同时指配的用户会话执行。可收集与内容项实例相关联的信息,例如占用的用户会话的数目、未被占用的用户会话的数目、内容项实例持续时间、存储器使用率及类似者。在一些情况下,此信息可用于将授权用户匹配并指配给适合的内容项实例。
Description
相关申请案的交叉引用
本申请案要求以下申请案的权益:2015年3月17日提交的第14/660,850号美国专利申请案;2015年3月17日提交的第14/660,821号美国专利申请案;以及2015年3月17日提交的第14/660,865号美国专利申请案,这些申请案的公开内容通过引用以其全文并入本文中。
背景技术
近年来,电子呈现的内容的使用已变得越来越流行和广泛。在一些实例中,某些电子呈现的内容,例如多人游戏,可由大量不同的用户同时访问和参与。为使用户可容易地获得其内容,内容开发者通常被迫精通服务器开发和管理技术,所述内容开发者本来并没有兴趣投资于服务器开发和管理技术。确切地说,许多内容开发者将偏爱专注于正开发的内容的创造性方面。许多内容开发者将服务器开发和管理视为从所述内容开发者的尝试创建内容、使所述内容令人愉悦并准时推出所述内容的核心业务分散注意力。除获得基于服务器的开发和管理系统的专业知识所必需的时间外,许多内容开发者通常不满意这些系统的其它特征。例如,许多内容开发者通常不满意从此类系统接收到的关于所述内容开发者的内容的操作和使用的反馈水平。此类反馈的可用性通常可为受限的且难以获得。
附图说明
以下具体实施方式可通过结合附图阅读时得到更好的理解。出于说明的目的,在图式中示出本公开的各种方面的实例实施方案;然而,本发明并不限于所公开的特定方法和工具。
图1是说明根据本公开的可使用的实例内容部署、扩展和遥测系统的图式。
图2是示出根据本公开的可使用的实例内容扩展和执行系统的图式。
图3是说明根据本公开的可使用的实例遥测信息路由和处理系统的图式。
图4是说明根据本公开的可使用的实例内容部署和扩展过程的图式。
图5是说明根据本公开的实例过程内容执行的图式。
图6是说明根据本公开的可使用的实例遥测信息路由过程的图式。
图7是说明根据本公开的可使用的实例计算系统的图式。
具体实施方式
本文中描述用于内容部署、扩展和遥测的技术。在一些实例中,内容开发者或其他方可提供各种类型的电子呈现的内容项,例如视频游戏和其它应用,以用于部署到各种用户。在一些情况下,可同时或在不同的时候提供不同的内容版本并使所述不同的内容版本为可获得的,例如正被测试的内容和/或完全开发好的内容。在一些实例中,所述内容可使用软件开发工具包(SDK)或与各种后端或其它服务或部件相关联和/或集成在一起的其它元件来创建,其可管理所部署的内容项的实例或以其它方式与所部署的内容项的实例交互,例如内容项实例信息服务、实例接口和/或内容执行部件,其各自在下文中详细描述。在这些实例中,SDK或其它元件可将代码和其它内置的功能性提供给通过开发者创建的内容,所述开发者可例如允许更加容易且快速地完成内容的摄取、配置、供应以及部署,例如通过允许内容更高效地与多人视频游戏或其它多用户环境交互。例如,用于创建内容的SDK可辅助一个或多个用户的新用户会话的配置和关于执行内容项实例的信息的收集,例如占用的用户会话的数目、未被占用的用户会话的数目、内容项实例持续时间、存储器使用率及类似者。
除内容本身外,开发者和其他方还可提供与被授权使用所述内容的各种用户的身份以及在一些情况下各种用户的相应的内容权限相关联的信息。例如,如果内容的不同构建和/或版本为可获得的,那么不同的授权用户可被指示不同的构建和/或版本。一旦使内容项可访问以用于部署,内容项的一个或多个实例就可作为图像安装在虚拟机实例上。内容项的另外实例随后可在同一虚拟机实例上启动和/或通过将图像复制到任何数目的另外虚拟机实例上来启动。借助这些和其它技术,可以快速、高效、可靠且安全的方式使大量用户获得内容项。
在一些实例中,所部署的内容可经设计以允许多个不同的用户控制所述内容并与所述内容交互,例如可在多人视频游戏或其它多用户应用中进行。为允许此类多用户控制和交互,所公开的技术可采用例如用户会话和内容项实例等概念。在一些实例中,内容项的一个或多个实例可配置以用多个同时指配的用户会话执行。这可例如允许多个用户彼此一起玩游戏或对抗彼此,或以其它方式合作以向执行中的内容项实例提供输入并从所述内容项实例接收输出。在一些情况下,每一内容项实例可具有相关联的量的可获得用户会话。在一些实例中,可收集与内容项实例相关联的信息,例如占用的用户会话的数目、未被占用的用户会话的数目、内容项实例持续时间、存储器使用率及类似者。在一些情况下,此信息可用于将授权用户匹配并指配给适合的内容项实例。例如,在一些情况下,当授权用户连接到系统时,用户可指示某些用户内容偏好,例如偏好的情节线索、故事框架、虚拟位置、水平、模式、角色、武器及类似者。此偏好信息可用于匹配用户与具有至少一个未被占用的用户会话的特定内容项实例。在一些实例中,如果不可获得此类内容项实例,那么可开始另外的内容项实例,所述另外的内容项实例可更好地适应于用户的偏好。
如上文所阐述,在一些实例中,可收集与内容项实例相关联的信息,例如占用的用户会话的数目、未被占用的用户会话的数目、内容项实例持续时间、存储器使用率及类似者。在一些情况下,此信息可周期性地提供到路由功能,所述路由功能将所述信息路由到一个或多个可获得接收方。在一些实例中,可获得接收方可与内容项实例信息服务、内容项队列信息服务以及历史信息服务等相关联。内容项实例信息服务可例如将用于以下各项的信息提供到内容开发者和其他方:用户会话到内容项实例的匹配和指配,新内容项实例的启动,以及内容项实例级反馈和度量。内容项队列信息服务可例如将内容项队列级反馈和度量提供到开发者和其他方。内容项队列是相同或相关内容项的实例的分组,例如全都执行内容项的相同版本的内容项实例的分组。历史信息服务可例如将历史反馈和度量提供到开发者和其他方。在一些实例中,内容项实例信息服务、内容项队列信息服务以及历史信息服务的路由功能和/或处理功能可分配有基于计算(例如,基于云)的功能,所述功能至少部分基于事件来执行代码,所述事件例如接收到遥测信息以用于路由和/或处理。一般来说,此类基于云的功能和提供此类功能的服务可响应于事件而运行代码,并自动地管理计算资源。另外,此类基于云的功能和服务可在较少量的时间内运行代码或触发计算资源,且那些计算资源在代码已运行后可被消除。
图1示出根据本公开的可使用的实例内容部署、扩展和遥测系统150的图式。如图所示,内容开发者计算节点100可包含例如通过内容开发者或其他方操作的各种界面、控制台和/或仪表盘。用户计算节点110可使用例如一个或多个网络(包含例如因特网等一个或多个广域网(WAN)和/或一个或多个局域网(LAN))与身份和权限服务105、内容项实例信息服务115和/或遥测部件125通信。如应了解,尽管图1中示出仅单一开发者计算节点100,但系统150可包含部署任何数目的不同内容项的任何数目的不同开发者和其他方。在一些情况下,内容开发者计算节点100可执行一个或多个集成开发环境(IDE)应用或其部分,以辅助内容的开发。通常,如下文将更详细描述,内容开发者计算节点100可允许例如开发者设计并开发内容项,提供到内容项的访问以用于部署,提供用户身份和/或权限信息,监视并获得与内容项实例、内容项队列以及历史信息相关联的反馈和度量,以及其它操作。如下文还将更详细描述,当开发者准备部署某一内容项时,可例如将用于访问所述内容的信息提供到内容执行部件120,所述内容执行部件可执行各种操作以用于执行内容项的实例,使所述内容项的实例可由各种用户访问。
在一些实例中,除内容的开发和提供外,开发者和其他方还可为各种用户提供身份和/或权限信息以访问所提供的内容。确切地说,开发者计算节点100有时可与身份和权限服务105交互,以提供此身份和/或权限信息。在其它实例中,信息可由其他方提供到身份和权限服务105。在一些情况下,开发者或其他方可通过提供可访问一个或多个内容项的授权用户的指示来配置身份池。在一些实例中,身份和权限服务105可产生或接收身份认证信息,例如用户名、密码及类似者,以用于认证各种用户的身份。用户身份及其相关联的认证信息可例如存储在身份信息107中。并且,在一些实例中,开发者或其他方可提供权限信息106,所述权限信息可指示内容项,每一授权用户有权与所述内容项交互。在一些实例中,某些用户可仅被准许访问测试版本、或完全开发好的版本、用户已购买或订阅的特定版本或任何其它类型的内容。
用户计算节点110可被用户用来请求访问内容,例如用于与特定内容项实例交互的用户会话。用户计算节点110可使用例如一个或多个网(包含例如因特网等一个或多个广域网(WAN)和/或一个或多个局域网(LAN))与身份和权限服务105、内容项实例信息服务115和/或内容执行部件120通信。如应了解,尽管图1中示出仅单一用户计算节点110,但系统150可包含访问相同或不同内容的任何数目的不同用户。在一些情况下,为使用户请求访问内容,可确定用户是否被授权访问通过系统150部署的内容。在一些实例中,系统接口111可将用户的身份认证信息提供到身份和权限服务105,所述身份和权限服务可尝试匹配所提供的用户身份认证信息与存储在身份信息107中的用户的身份认证信息。如果确定无匹配,那么可例如拒绝用户访问任何内容和/或可提示用户注册、付款和/或订阅以用于访问内容,和/或可将用户重新引导至用于执行那些操作的各种服务。另一方面,如果用户的所提供身份认证与所存储的身份认证信息相匹配,那么可认证用户的身份且可准许用户进一步与系统150交互并请求访问内容。
用户计算节点110的内容客户端112随后可与内容项实例信息服务115通信,以将关于用户的信息提供到内容项实例信息服务115。继而,内容项实例信息服务115可与身份和权限服务105通信,以至少部分基于权限信息106来确定用户被授权并有权访问的内容。如下文将更详细描述,用户随后可请求访问用户有权访问的选定内容项,且内容项实例信息服务115可将用户的用户会话匹配且指配到在内容执行部件120内执行的选定内容项的特定实例。此指配信息可被转发到内容执行部件120,所述内容执行部件可在内容客户端112与所述内容客户端的所指配的匹配的内容项实例之间建立通信。
除内容的扩展和执行外,内容执行部件120还可收集关于执行中的内容项实例的各种遥测信息,例如占用的用户会话的数目、未被占用的用户会话的数目、内容项实例持续时间、存储器使用率及类似者。内容执行部件120可将此收集的遥测信息提供到遥测部件125,如下文将更详细论述,所述遥测部件可路由并处理遥测数据。例如,遥测部件可将内容项实例信息提供到内容项实例信息服务115。此内容项实例信息可例如针对内容开发者和其他方实现用户会话到内容项实例的匹配和指配,新内容项实例的启动,以及内容项实例级反馈和度量。除内容项实例信息服务115外,遥测信息还可被提供到其它服务,例如内容项队列信息服务和历史信息服务。这些和其它遥测数据服务在下文参考图3更详细描述。
图2是示出根据本公开的可使用的实例内容扩展和执行系统的图式。如图2中所示,内容执行部件120(还在图1中示出)包含扩展部件230,所述扩展部件可执行各种操作以用于扩展所部署的内容。确切地说,当内容项准备用于使用系统150来部署时,可经由开发者计算节点100发送消息,所述消息指示内容项准备用于部署并提供用于访问内容的信息,例如位置和/或地址信息。在一些实例中,开发者还可提供另外的信息,例如内容项队列的名称、开发阶段以及内容项的描述。访问信息和在一些情况下的另外信息可被提供到内容扩展部件230,所述内容扩展部件可发出指令以将内容项的一个或多个实例作为图像安装在虚拟机实例上。如下文将更详细论述,内容项的另外实例随后可在同一虚拟机实例上启动和/或通过将所述图像复制到任何数目的另外虚拟机实例上来启动。
所部署的内容项的内容项实例的分组被称为内容项队列。在图2中,内容执行部件120执行实例内容项队列210。如应了解,尽管图2中示出仅单一内容项队列210,但内容执行部件120可在相同或不同时间处执行任何数目的不同内容项队列。在图2的特定实例中,内容项队列210包含两个虚拟机实例220A和220N,每一虚拟机实例执行三个内容项实例。确切地说,虚拟机实例220A执行内容项实例201A-N,而虚拟机实例220N执行内容项实例221A-N。然而,注意,根据所公开的技术的内容项队列可包含各自执行任何数目的不同内容项实例的任何数目的虚拟机实例。在一些实例中,内容项实例201A-N和221A-N中的一个或多个,以及在一些情况下所有内容项实例201A-N和221A-N,可配置以用多个同时指配的用户会话执行。这可例如允许多个用户彼此一起玩游戏或对抗彼此,或以其它方式在单一内容项实例内合作,例如可在多人视频游戏或其它多用户应用中进行。
在一些实例中,每一内容项实例201A-N和221A-N可从其指配的用户会话接收输入,例如控制输入(例如,角色移动、武器射击、菜单选择等)。并且,在一些实例中,每一内容项实例201A-N和221A-N随后可将内容信息发送到用户计算节点以用于所指配的用户会话,所述内容信息例如状态数据更新、事件数据更新以及其它信息。用户计算节点可使用此数据来在所述用户计算节点相应的内容计算节点处显现并呈现内容。在一些实例中,每一用户节点可包含一个或多个图形处理单元(GPU)以用于显现与内容项相关联的图形数据。
在一些其它实例中,内容可通过内容执行部件120基于通过内容项实例201A-N和221A-N产生和/或维持的内容信息来显现。在这些实例中,内容项实例201A-N和221A-N可在一些情况下各自访问一个或多个GPU。所显现的内容随后可通过内容项实例201A-N和221A-N发送到用户计算节点以用于所指配的用户会话。
如图2中所示,每一内容项实例201A-N和221A-N包含相应的实例接口202A-N和222A-N。在一些实例中,每一实例接口202A-N和222A-N可与软件开发工具包(SDK)相关联和/或使用所述软件开发工具包实施,且可辅助实现内容项实例的配置、内容项实例中的用户会话的开始以及从内容项实例收集信息,例如遥测信息。例如,在一些情况下,与实例接口202A-N和222A-N相关联的各种指令,例如一个或多个SDK,可被暴露和/或提供到开发者。这些指令可辅助使得内容项实例201A-N和221A-N能够执行上文所描述的任务和可能的其它任务。开发者可继而包含嵌入式指令,或以其它方式使这些指令与可访问以用于部署的内容项相关联。通过实例接口202A-N和222A-N提供的遥测信息可包含例如关于执行中的内容项实例的信息,例如占用的用户会话的数目、未被占用的用户会话的数目、内容项实例持续时间、存储器使用率及类似者。
如图2中所示,实例接口202A-N可与虚拟机实例220A的代理部件203通信,同时实例接口222A-N可与虚拟机实例220N的代理部件223通信。代理部件203和223通常可允许在内容项202A-N和222A-N与在虚拟机实例220A-N外部的部件之间交换信息和命令,所述在虚拟机实例外部的部件例如扩展部件230和遥测着陆台301。确切地说,在一些实例中,代理部件203和223可从扩展部件230接收命令,例如启动内容项实例的命令和将用户会话添加到特定内容项实例的命令。在一些实例中,代理部件203和223还可将关于执行中的内容项实例的信息提供到扩展部件230和/或遥测着陆台301。通过代理部件203和223提供的信息可包含例如,通过实例接口202A-N和222A-N收集的信息中的任何信息,例如上文描述的遥测信息中的任何信息或其它相关信息。代理部件203和223可以任何期望的间隔例如以规律重复的间隔(例如,每分钟或每五分钟),响应于特定的事件或条件,以连续或间歇的流,或使用这些或其它技术的任何组合,来提供内容项实例信息。
在一些实例中,扩展部件230可基于例如通过代理部件203和223提供的信息(例如上文所描述)来监视内容项队列210。在一些情况下,扩展部件230可通过以下操作使用此信息来自动地扩展内容项队列210:将另外的虚拟机实例和/或内容项实例分配给内容项队列210,和/或从内容项实例210解除分配现有的虚拟机实例和/或内容项实例。在一些实例中,某些可配置条件可使得扩展部件230将另外的虚拟机实例和/或内容项实例分配给内容项队列。这些条件可包含例如确定队列中的所有内容项实例的未被占用的用户会话的总数和/或平均数已满足特定量或降低至特定量之下,确定队列中的一个或多个个别的内容项实例的未被占用的用户会话的总数已满足特定量或降低至特定量之下,和/或其它条件。并且,在一些实例中,扩展部件230可基于确定内容项队列的特定子集,例如具有特定内容属性(例如,模式、虚拟位置、角色、武器、情节线索、故事框架等)的内容项实例的子集,满足上文描述的实例分配条件或其它条件中的任何条件,将另外的虚拟机实例和/或内容项实例分配给内容项队列。
并且,在一些实例中,某些可配置条件可使得扩展部件230从内容项队列解除分配虚拟机实例和/或内容项实例。这些条件可包含例如确定队列中的所有内容项实例的未被占用的用户会话的总数和/或平均数已满足或超出特定量,确定队列中的一个或多个个别的内容项实例的未被占用的用户会话的总数已满足或超出特定量,和/或其它条件。并且,在一些实例中,扩展部件230可基于确定内容项队列的特定子集,例如具有特定内容属性(例如,模式、虚拟位置、角色、武器、情节线索、故事框架等)的内容项实例的子集,满足上文描述的实例解除分配条件或其它条件中的任何条件,从内容项队列解除分配虚拟机实例和/或内容项实例。解除分配的虚拟机随后可最后终止和/或重新目的化。注意,在一些情况下,在确定解除分配条件已出现后立即终止和/或重新目的化特定的虚拟机实例可能并不是有利的。这是因为选定用于解除分配的虚拟机实例可仍为具有所指配的用户会话的执行中的内容项实例。在一些实例中,可确定停止将另外的用户会话指配给选定用于解除分配的虚拟机实例上的内容项实例。解除分配的虚拟机实例随后可在当前存在的用户会话已到期后终止和/或重新目的化。
如上文所阐述,除将信息提供到扩展部件230外,代理部件203和223可将信息提供到遥测着陆台301。此信息可通过各种遥测部件路由和处理,现在详细描述所述遥测部件。确切地说,图3是说明根据本公开的可使用的实例遥测信息路由和处理系统的图式。如图3中所示,通过内容执行部件120(包含例如代理部件203和223,如图2中所示)提供的信息可被传递到遥测部件125(还如图1中所示)的遥测着陆台301。在被传递到遥测着陆台301后,遥测信息可通过遥测路由功能302访问,所述遥测路由功能通常可检查所提供的信息,且基于各种因素,将所提供的信息路由到一个或多个接收方,例如处理功能303A-D。确切地说,实例级处理功能303A接收并处理用于内容项实例信息服务115(还在图1和图2中示出)的信息。队列级信息处理功能303B接收并处理用于内容项队列信息服务304的信息。历史信息处理功能303C接收并处理用于历史信息服务305的信息。另外,遥测路由功能302可将信息路由到任何数目的另外的处理功能303D,所述处理功能可接收并处理用于任何数目的另外服务306的信息。
在一些实例中,当将遥测信息写入到遥测着陆台301时,代理部件203和223可根据惯例的集合而用特定关键字或其它识别信息来标记所述信息或以其它方式识别所述信息。这些惯例可辅助遥测路由功能302快速且高效地将遥测信息路由到适合的接收方。例如,在一些情况下,遥测信息可使用以下格式来识别:队列识别符/实例识别符/路由识别符/时间戳/全球唯一识别符(GUID)。队列识别符可为特定内容项队列的识别符,所述信息与所述特定内容项队列相关联。实例识别符可为特定内容项实例的识别符,所述信息与所述特定内容项实例相关联。路由识别符可为指示一个或多个接收方(例如,处理功能303A-D中的任何或全部功能)的识别符,所述信息应被发送到所述接收方。时间戳可为与所述信息相关联的时间戳,例如收集信息的时间。在一些情况下,此识别信息可为遥测路由功能302将相应的遥测信息路由到适合的接收方所需的所有识别信息。
在一些实例中,遥测路由功能302和/或处理功能303A-D中的任何功能可为基于分布式计算(例如,基于云)的功能,所述功能至少部分基于事件来执行代码,所述事件例如接收到遥测信息以用于路由和/或处理。例如,在一些情况下,遥测路由功能302可在遥测着陆台301处检测到遥测信息和/或可被告知在所述遥测着陆台处接收遥测信息。响应于此,遥测路由功能302可基于例如识别信息(例如上文所描述)而自动地开始用于路由遥测信息的代码的执行。同样地,处理功能303A-D随后可检测到和/或可被告知已路由到其的遥测信息,且随后可自动地开始用于处理接收到的信息的代码的执行,例如通过组织且存储接收到的信息并产生任何适合的告警或通知。在一些实例中,使用至少部分基于事件来执行代码的基于分布式计算(例如,基于云)的功能来实施遥测路由功能302和/或处理功能303A-D可为有利的,有利之处在于例如,减少路由和/或处理服务可需要的计算资源和成本的量,所述路由和/或处理服务维持恒定的执行,即使是在没有新遥测信息可用于路由和/或处理的时间期间。
内容项实例信息服务115通常可接收并提供关于通过内容执行部件120执行的个别内容项实例的信息,所述内容项实例包含例如图2的内容项实例201A-N和221A-N。此信息可包含例如每一执行中的内容项实例的占用的用户会话的数目、每一执行中的内容项实例的未被占用的用户会话的数目、内容项实例持续时间信息、在每一执行中的内容项实例的存储器使用率及类似者。内容项实例信息服务115可使用此信息(例如)以辅助将用户会话匹配并指配到特定的内容项实例。确切地说,返回参考图1,可以看到,用户计算节点110的内容客户端112可与内容项实例信息服务115通信以请求关于可获得内容的信息,且请求访问可获得内容。还如图1中所示,内容项实例信息服务115可与身份和权限服务105通信,以至少部分基于权限信息106来确定用户有权访问哪些内容项。注意,权限信息106可指示在各种不同粒度级处的用户权限。例如,在一些情况下,权限信息106可指示通常是否允许用户访问通过系统150执行的内容。在其它情况下,权限信息106可在较细粒度级处提供,且可指示用户有权访问的特定内容,例如特定标题、特定版本、特定故事框架或情节线索、特定虚拟位置、特定模式、特定角色、特定武器及类似者。
在一些实例中,内容客户端112可请求内容项实例信息服务115提供关于用户有权访问的可获得内容项的信息,所述可获得内容项例如所有可获得内容项或具有某些内容属性的内容项的列表,所述属性例如某些情节线索、故事框架、虚拟位置、水平、模式、角色、武器及类似者。在一些实例中,在接收此信息后,用户可选择特定的内容项并经由内容客户端112提交访问选定内容项的请求。另外,内容客户端112还可将关于用户所期望的某些内容偏好的信息提供到内容项实例信息服务115,所述内容偏好例如某些情节线索、故事框架、虚拟位置、水平、模式、角色、武器及类似者。内容项实例信息服务115随后可至少部分基于用户的请求、用户的偏好以及从遥测部件125接收到的遥测信息,匹配用户的请求与用户的选定内容项的特定实例。
在一些实例中,内容项实例信息服务115可尝试识别具有内容属性的选定内容项的一个或多个实例,所述内容属性与用户的请求偏好的内容属性相匹配或至少部分相匹配。内容项实例信息服务115可通过多种不同技术获得执行中的内容项实例的内容属性信息。在一些实例中,内容属性信息可被收集并提供为可从遥测部件125获得的遥测信息的一部分,可从图2的扩展部件230检索到,或可以其它方式变得可用于内容项实例信息服务115。在识别具有至少部分与用户的偏好相匹配的内容属性的一个或多个内容项实例之后,内容项信息服务随后可至少部分基于来自遥测部件125的遥测信息,确定是否存在用于所识别的内容项实例中的任何内容项实例的任何未被占用的用户会话。在一些实例中,内容项实例信息服务115随后可将用户指配给具有至少一个未被占用的用户会话的所识别的内容项实例中的一个。在一些实例中,用户可被指配给具有至少一个未被占用的用户会话的所识别的内容项实例,所述内容项实例具有与用户的偏好最紧密相配的内容属性。在其它实例中,用户可基于包含以下各项的因素的组合而指配给内容项实例:例如,用户的偏好、未被占用的用户会话的数目及类似者。例如,考虑用户指定五个不同的内容属性偏好以供内容项实例接合的情境。现在假设第一内容项实例与全部五个用户的偏好相匹配但仅具有一个未被占用的用户会话,而第二内容项实例与用户的偏好中的五分之四相匹配但具有十个未被占用的用户会话。在此情境中,可有利地将用户指配给第二内容项实例,以便保持第一内容项实例的单个剩余未被占用的用户会话可用于偏好可与第一内容项实例甚至更强相关的其他用户。并且,在一些实例中,内容项实例信息服务115可将关于与用户的偏好至少部分相匹配的具有至少一个未被占用的用户会话的所识别内容项实例的信息提供到内容客户端112,以便允许用户选择所识别的内容项实例中的一个用于指配或以其它方式提供输入以用于做出此选择。
在一些实例中,内容项实例信息服务115可请求扩展部件230启动将用户指配给的另外的内容项实例,而非将用户匹配和指配给现有的已启动且执行中的内容项实例。这可在以下情况下发生:例如,当队列内没有现有内容项实例具有任何剩余的未被占用的用户会话时,和/或当队列内没有现有内容项实例具有被确定为与用户的请求的内容属性偏好充分匹配的内容属性时。
一旦用户已被匹配并指配给特定的内容项实例,内容项实例信息服务115就可将所指配的内容项实例的指示(或启动新内容项实例的指令)提供到扩展部件230。扩展部件230可继而通过例如指示所指配的内容项实例与在用户计算节点110处的内容客户端112通信,在用于用户的用户会话与所指配的内容项实例之间建立通信。如上文所阐述,在一些实例中,这些通信可包含通过所指配的内容项实例将状态信息、事件信息、所显现的图形和音频和/或与内容项实例相关联的其它信息发送到对应于用户会话的内容客户端112。并且,在一些实例中,这些通信可包含通过内容客户端112将输入,例如控制输入(例如,角色移动、武器射击、菜单选择等),发送到所指配的内容项实例。
因此,如上文所描述,内容项实例信息服务115可使用通过遥测部件125提供的内容项实例级遥测信息来辅助将用户会话匹配并指配给内容项实例的过程。除这些匹配技术外,提供到内容项实例信息服务115的内容项实例级遥测信息还可用于例如将内容项实例级反馈和度量提供到开发者以及可能的其他方。确切地说,如图1和图3两者中所示,开发者计算节点100可访问内容项实例信息服务115以请求内容项实例级信息,例如每一执行中的内容项实例的占用的用户会话的数目、每一执行中的内容项实例的未被占用的用户会话的数目、内容项实例持续时间信息、在每一执行中的内容项实例的中的存储器使用率及类似者。
返回参考图3,除内容项实例信息服务115外,遥测路由功能302可通过相应的处理功能303B-D将遥测信息路由到内容项队列信息服务304、历史信息服务305以及其它另外的服务306。内容项队列信息服务304通常可接收内容项队列级遥测信息并将所述信息提供到开发者和/或其他方。内容项队列级信息可包含关于以下各项的信息:队列内的占用的用户会话、队列内的未被占用的用户会话、队列的实例持续时间信息、队列的存储器使用率、队列内的执行中的实例的数目、实例终止信息及类似者。对于占用的用户会话,队列级信息可包含例如所有队列实例的占用的用户会话的总数、所有队列实例的占用的用户会话的平均数、在具有最少占用会话的队列实例中的占用会话的数目、在具有最多占用会话的队列实例中的占用会话的数目及类似者。对于未被占用的用户会话,队列级信息可包含例如所有队列实例的未被占用的用户会话的总数、所有队列实例的未被占用的用户会话的平均数、在具有最少未被占用会话的队列实例中的未被占用会话的数目、在具有最多未被占用会话的队列实例中的未被占用会话的数目及类似者。对于实例持续时间信息,队列级信息可包含例如在特定时段内终止的队列实例的总、平均、最大以及最小持续时间以及在特定时段内终止的实例数目。对于存储器使用率信息,队列级信息可包含例如队列实例的总、平均、最大以及最小存储器使用率。
在一些实例中,内容项队列信息服务304和/或内容项实例信息服务115可允许开发者或其他方设定告警和/或其它通知,使得所述开发者或其他方可被告知与内容项队列和/或实例相关联的某些事件或条件。可触发告警的一些实例条件是占用的队列会话的总数满足、超出指定水平或降低至指定水平之下,一个或多个队列实例具有小于指定数目的占用会话,未占用的队列会话的总数满足、超出指定水平或降低至指定水平之下,队列实例具有小于指定平均时间的持续时间,队列实例具有大于指定平均或最大值的存储使用率以及其它条件。
历史信息服务305通常可接收、维持并提供关于内容项队列和/或内容项实例的历史信息。在一些实例中,历史信息服务可包含关于先前已终止的内容项队列和/或内容项实例的历史信息,和/或关于可全部部分地继续执行的内容项队列和/或内容项实例的信息。历史信息服务305可例如提供上文详细阐述的实例级信息和/或队列级信息中的任何或全部信息,和/或任何其它相关历史信息。在一些实例中,历史信息可允许开发者和/或其他方请求用于某些可指定历史时段的信息,例如用于过去的六十或九十天或任何其它相关时段的信息。
现将详细描述用于执行所公开的技术的各种方面的一些实例过程。确切地说,图4是说明根据本公开的可使用的实例内容部署和扩展过程的图式。如上文所阐述,内容可使用内容项的多个实例(在本文中称为内容项队列)来部署。在一些实例中,队列中的内容项实例中的一个或多个实例可配置以具有多个同时指配的用户会话。在一些实例中,队列中的所有内容项实例可配置以具有多个同时指配的用户会话。并且,在一些实例中,队列中的至少两个内容项实例可在单一虚拟机实例上执行。如图4中所示,在操作410处,可接收内容项准备用于部署的指示。如上文所阐述,内容项可包含正被开发和/或测试的内容,例如视频游戏,或完全开发和测试好且正被出售或以其它方式部署给客户或其他用户的内容。还如上文所阐述,在一些实例中,内容可使用SDK或与各种后端或其它服务或部件相关联和/或集成在一起的其它元件来创建,其可管理所部署的内容项的实例或以其它方式与所部署的内容项的实例交互,例如内容项实例信息服务115、实例接口220A-N和222A-N和/或图2的内容执行部件120。在这些实例中,SDK或其它元件可将代码和其它内置的功能性提供给通过开发者创建的内容,所述开发者可允许例如更加容易且快速地完成内容的摄取、配置、供应以及部署,例如通过允许内容更高效地与多人视频游戏或其它多用户环境交互。例如,用于创建内容的SDK可辅助一个或多个用户的新用户会话的配置和关于执行内容项实例的信息的收集,例如占用的用户会话的数目、未被占用的用户会话的数目、内容项实例持续时间、存储器使用率及类似者。所述指示可例如通过内容执行部件,例如图1的内容执行部件120,从开发者计算节点,例如图1的开发者计算节点100接收。在操作412处,接收内容项信息。此类内容项可包含文件、二进制数或代码,例如与视频游戏相关联的二进制文件,所述视频游戏已用与内容项实例信息服务115和/或内容执行部件120相关联的SDK创建。在操作412处接收到的信息可包含例如用于访问内容的信息,例如与内容项相关联的其它数据的代码存储的位置或用于访问内容项的其它信息。在操作412处接收到的信息还可包含例如内容项的实例的队列的名称、内容项的开发的阶段、内容项的描述以及其它信息。在操作414处,内容项的至少一个实例作为图像安装在虚拟机实例上。操作414可基于例如内容项准备用于部署的指示和任何相关联的内容项信息来执行。在一些实例中,图2的扩展部件230可接收内容项代码的位置信息,并发出指令以用于将内容项代码作为图像从在接收到的位置信息中所识别的位置安装在特定虚拟机上。
在操作416处,接收用户的身份信息。用户身份信息,例如图1的身份信息107,可从开发者或从其他方接收。如上文所阐述,用户的身份信息可包含例如用于认证授权用户的身份的身份认证信息,例如用户名和密码。如应了解,用户身份信息可在任何时间处接收,且不必必须在特定内容项实际部署之前或之后接收。在操作418处,接收权限信息。权限信息,例如图1的权限信息106,可从开发者或从其他方接收。如上文所阐述,权限信息可包含例如用于各种授权用户的权限信息和对授权用户有权访问哪些内容项的指示。也如上文所阐述,权限信息可指示在各种粒度级处的权限,例如特定标题、特定版本、特定故事框架或情节线索、特定虚拟位置、特定模式、特定角色、特定武器及类似者。如应了解,权限信息可在任何时间处接收,且不必必须在特定内容项实际部署之前或之后接收。
在操作420处,从授权并有权限的用户接收访问内容项的请求。用于认证用户和确定并实施用户的相应权限的一些实例技术在上文详细描述且不在此处重复。在操作422处,基于例如在操作420处接收到的用户请求来扩展内容项的内容项队列。内容项队列的扩展可通过例如图2的扩展部件230执行。在一些实例中,在操作422处执行的扩展可包含至少部分基于在操作420处接收到的用户请求,将在操作414处安装的图像复制到另外的虚拟机实例上。并且,在一些实例中,内容项队列的扩展可包含检测分配和/或解除分配条件,以及响应于所述检测而执行各种操作。
确切地说,在子操作424处,确定是否检测到分配条件。如上文所阐述,分配条件可包含例如确定队列中的所有内容项实例的未被占用的用户会话的总数和/或平均数已满足特定量或降低至特定量之下,确定队列中的一个或多个个别的内容项实例的未被占用的用户会话的总数已满足特定量或降低至特定量之下,和/或其它条件。如果在子操作424处检测到分配条件,那么在子操作426处,可将另外的虚拟机实例分配给内容项队列。此分配可基于例如检测到分配条件来进行。在操作428处,将在操作414处安装的图像复制到另外的虚拟机实例上,由此实现另外的内容项实例的启动。另外的虚拟机可处理一个或许多个另外的用户或会话。
如果在子操作424处未检测到分配条件,那么在子操作430处,确定是否检测到解除分配条件。如上文所阐述,解除分配条件可包含例如确定队列中的所有内容项实例的未被占用的用户会话的总数和/或平均数已满足或超出特定量,确定队列中的一个或多个个别的内容项实例的未被占用的用户会话的总数已满足或超出特定量,和/或其它条件。如果在子操作430处未检测到解除分配条件,那么所述过程可返回到子操作424。如果在子操作430处检测到解除分配条件,那么在子操作432处,可从内容项队列解除分配虚拟机实例。此解除分配可基于例如检测到解除分配条件来进行。在子操作434处,解除分配的虚拟机实例可终止和/或重新目的化。如上文所阐述,在一些情况下,在确定解除分配条件已出现后立即终止和/或重新目的化解除分配的虚拟机实例可能并不是有利的。相反,可确定停止将另外的用户会话指配给解除分配的虚拟机实例上的内容项实例,并且在解除分配的虚拟机实例的现有用户会话已到期后终止和/或重新目的化所述虚拟机实例。
注意,在子操作424和430处检测分配和解除分配条件仅为可如何扩展内容项队列的实例。确切地说,并不需要子操作424和430必须以图4中示出的次序执行,且所述子操作可以不同次序执行和/或可相对于彼此完全或部分依赖地或独立地执行。例如,在一些情况下,确定解除分配条件是否存在可至少部分基于清理过程来执行,所述清理过程可以特定的间隔运行和/或响应于例如用户会话的终止等某些可配置事件来运行。另外,在一些实例中,确定分配条件是否存在可以特定的间隔执行和/或响应于例如用户会话的产生等某些可配置事件来执行。此外,注意,分配和/或解除分配确定还可基于历史数据来执行,所述历史数据例如在特定的时间段上已产生或终止的用户会话的数目。
图5是说明根据本公开的内容执行的实例过程的图式。在操作510处,可从尝试访问内容的用户接收身份信息。例如,在操作510处,图1的身份和权限服务105可从图1的用户计算节点110的系统接口111接收身份信息。如上文所阐述,在操作510处接收到的身份信息可包含例如用户的用户名和密码。在操作511处,确定接收到的身份信息是否与所存储的身份信息匹配。例如,图1的身份和权限服务105可尝试匹配在操作510处接收到的身份信息与所存储的身份信息,例如图1的身份信息107。在一些实例中,在操作510处接收到的用户名和密码可与在所存储的身份信息内的用户名和密码匹配。如果在操作511处检测到匹配,那么在操作512处,用户可得到认证。如果在操作511处未检测到匹配,那么在操作513处,用户未得到认证。如上文所阐述,如果用户无法得到认证(例如,如果确定无匹配),那么可例如拒绝用户访问任何内容和/或可提示用户注册、付款和/或订阅以用于访问内容,和/或可将用户重新引导至用于执行那些操作的各种服务。
在操作514处,可确定用户的内容权限。例如,如图1中所示,内容项实例信息服务115可从身份和权限服务105请求用户的内容权限信息。在一些实例中,所存储的权限信息,例如图1的权限信息106,可指示认证用户的内容权限信息,例如用户有权访问的各种内容项。在操作516处,将关于用户享有权限的内容项的信息提供到用户。例如,内容项实例信息服务115可提供关于用户有权访问的可获得内容项的信息到内容客户端112,所述可获得内容项例如所有可获得内容项或具有某些内容属性的内容项的列表,所述属性例如某些情节线索、故事框架、虚拟位置、水平、模式、角色、武器及类似者。
在操作518处,接收用户访问内容项的请求。例如,用户可采用在操作516处提供的信息来选择用户希望访问的特定内容项。内容客户端112随后可提交访问选定内容项的请求,所述请求可在操作518处通过内容项实例信息服务115接收。另外,在操作520处,接收针对选定内容项的用户偏好。用户偏好可包含例如用户期望的某些情节线索、故事框架、虚拟位置、水平、模式、角色、武器及类似者。在操作522处,接收遥测信息。例如,关于内容项队列中的内容项实例的遥测信息可通过内容项实例信息服务115经由遥测部件125接收。在一些实例中,接收到的遥测信息可包含在内容项队列上的用户会话可用性的指示,例如是否存在用于队列中的一个或多个内容项实例的任何未被占用的用户会话的指示、队列中的一个或多个内容项实例的未被占用的用户会话的数目或其它可用性信息。可通过内容项实例信息服务115接收的某些其它遥测信息的实例在上文详细描述并不在此处重复。注意,遥测信息可通过内容项实例信息服务115反复地接收和更新,例如以一分钟或五分钟的间隔或以任何其它期望的时间或间隔接收和更新。
在操作524处,基于例如遥测信息和/或用户偏好,将与用户相关联的用户会话指配给内容项实例。例如,在一些情况下,内容项实例信息服务115可基于遥测信息,识别具有至少一个未被占用的用户会话的一个或多个执行中的内容项实例,所述内容项实例具有与用户的偏好匹配或部分匹配的内容属性。在一些实例中,内容项实例信息服务115随后可将用户指配给所识别的内容项实例中的一个。并且,在一些实例中,内容项实例信息服务115可将用户指配给与用户偏好中的一个或多个至少部分匹配的内容项实例。用于用户指配的一些其它实例技术在上文详细阐述且不在此处重复。还如上文所阐述,在一些实例中,内容项实例信息服务115可请求扩展部件230启动将用户指配给的另外的内容项实例,而非将用户匹配和指配给现有的已启动且执行中的内容项实例。这可在以下情况下发生:例如,当队列内没有现有内容项实例具有任何剩余的未被占用的用户会话时,和/或当队列内没有现有内容项实例具有被确定为与用户的请求的内容属性偏好充分匹配的内容属性时。
在操作526处,所指配的内容项实例的指示可提供到扩展部件,例如图2的扩展部件230。如果用户正被指配给尚未启动的内容项实例,那么这还可被指示为在操作526处提供的指示的一部分。在操作528处,提供指令以在用户会话与所指配的内容项之间建立通信。例如,扩展部件230可指示所指配的内容项实例与用户会话通信,所述用户会话与在通过用户操作的用户计算节点110处的内容客户端112相关联.
图6是说明根据本公开的可使用的实例遥测信息路由过程的图式。在操作610处,从内容项实例收集遥测信息。在一些实例中,遥测信息可在操作610处通过图2的代理部件203和223收集,所述代理部件可通过实例接口202A-N和222A-N相应地从内容项实例201A-N和221A-N接收信息。如上文所阐述,在一些实例中,与实例接口202A-N和222A-N例如一个或多个软件开发工具包(SDK)相关联的各种指令可被暴露和/或提供到开发者。这些指令可辅助使得内容项实例201A-N和221A-N能够通过实例接口202A-N和222A-N将遥测信息报告给代理部件203和223。开发者可继而包含嵌入式指令,或以其它方式使这些指令与可访问以用于部署的内容项相关联。如上文详细描述,从每一内容项实例收集的遥测信息可包含例如关于以下各项的信息:占用的用户会话的数目、未被占用的用户会话的数目、内容项实例持续时间、存储器使用率及类似者。
在操作612处,可将识别信息指配给在操作610处接收到的遥测信息。例如,如上文所阐述,代理部件203和223可根据惯例的集合而用特定关键字或其它识别信息来标记遥测信息。在一个特定实例中,遥测信息可使用以下格式来识别:队列识别符/实例识别符/路由识别符/时间戳/全球唯一识别符(GUID)。队列识别符可为特定内容项队列的识别符,遥测信息与所述特定内容项队列相关联。实例识别符可为特定内容项实例的识别符,遥测信息与所述特定内容项实例相关联。路由识别符可为指示一个或多个接收方(例如,图3的处理功能303A-D中的任何或全部功能)的识别符,所述信息应被发送到所述接收方。
在操作614处,将遥测信息和识别信息提供到可由路由功能访问的位置,例如图3的遥测着陆台301(所述遥测着陆台可由遥测路由功能302访问)。如上文所阐述,在一些实例中,遥测信息可以规律重复的间隔,例如每分钟或每五分钟,提供到遥测着陆台301。在一些其它实例中,遥测信息可提供为连续的信息流或以任何其它时间或间隔提供。
在操作616处,基于例如识别信息和/或遥测信息本身,将遥测信息和识别信息路由到一个或多个接收方。例如,如上文所阐述,可将遥测信息路由到例如图3的处理功能303A-D中的任一个或多个等接收方,所述接收方可与内容项实例信息服务115、内容项队列信息服务304、历史信息服务305以及另外的服务306相关联且可处理用于这些服务的信息。处理功能303A-D可与用于内容项实例信息分析的各种服务相关联,所述服务例如服务115和304-306。如上文所阐述,在一些实例中,实例级信息处理功能303A可为针对与内容项实例的队列中的每一实例相关联的信息,队列级信息处理功能303B可为针对与内容项实例的队列相关联的信息,且历史信息处理功能303C可为针对历史信息。在一些情况下,可基于例如在操作612处指配的识别信息内的路由识别符,将遥测信息路由到处理功能303A-D中的一个或多个或其它接收方。在操作618处,将遥测信息和识别信息发送到在操作616处确定的一个或多个接收方。如上文所阐述,在一些实例中,遥测路由功能302和/或处理功能303A-D中的任何功能可包含计算服务,所述计算服务至少部分基于事件来执行,所述事件例如接收到遥测信息以用于路由和/或处理。在一些实例中,使用至少部分基于事件来执行代码的基于分布式计算(例如,基于云)的功能来实施遥测路由功能302和/或处理功能303A-D可为有利的,有利之处在于例如,减少遥测信息的路由和/或处理可需要的计算资源和成本的量。
在操作620处,通过一个或多个接收方,例如处理功能303A-D中的一个或多个,接收遥测信息和识别信息。在操作622处,可处理遥测信息,这可包含更新先前接收到的遥测信息,组织遥测信息使得所述遥测信息可通过开发者、用户或其他方高效地访问,并且基于遥测信息,例如上文描述的遥测信息,产生任何告警或其它通知。另外,在操作622处,处理功能303A-D中的一个或多个可将遥测信息提供到适合的服务(例如,服务115和/或304-306中的一个或多个)。如上文所阐述,在一些实例中,在操作612处指配的识别信息内的路由识别符可通过遥测路由功能302和处理功能303A-D中的任何处理功能访问,以指示将遥测信息路由到的一个或多个接收方。还如上文所阐述,在一些实例中,实例级处理功能303A可将信息提供到内容项实例信息服务115,队列级信息处理功能303B可将信息提供到内容项队列信息服务304,历史信息处理功能303C可将信息提供到历史信息服务305,且任何数目的另外的处理功能303D可将信息提供到任何数目的另外的服务306。在一些实例中,服务115和304-306中的任何或全部服务可至少部分由内容项开发者项访问以用于将信息提供到内容项开发者。
在至少一些实施方案中,实施本文中描述的技术中的一个或多个的一部分或全部的一个或多个计算节点可包含计算机系统或可与计算机系统相关联,所述计算机系统包含或经配置以访问一个或多个计算机可访问介质。计算节点,还可被称为运算节点,可在广泛多种计算环境上实施,例如商品硬件计算机、虚拟机、web服务、计算集群以及计算设备。这些计算装置或环境中的任何计算装置或环境可为了方便而描述为计算节点。图7描绘包含或经配置以访问一个或多个计算机可访问介质的计算机系统。在所说明的实施方案中,计算装置15包含一个或多个处理器10a、10b和/或10n(所述处理器在本文中以单数形式称为“处理器10”或以复数形式称为“处理器10),所述处理器经由输入/输出(I/O)接口30耦合到系统存储器20。计算装置15另外包含耦合到I/O接口30的网络接口40。
在各种实施方案中,计算装置15可为包含一个处理器10的单处理器系统,或包含若干处理器10(例如,两个、四个、八个或另一合适的数目)的多处理器系统。处理器10可为能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器10可为实施多种指令集架构(ISA)中的任何指令集架构的嵌入式处理器,例如x86、PowerPC、SPARC或MIPS ISA或任何其它合适的ISA。在多处理器系统中,处理器10中的每一个可常常但未必实施相同的ISA。
系统存储器20可经配置以存储可由处理器10访问的指令和数据。在各种实施方案中,系统存储器20可使用任何合适的存储器技术来实施,所述存储器技术例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/型存储器或任何其它类型的存储器。在所说明的实施方案中,实施一个或多个期望的功能的程序指令和数据,例如上文描述的那些方法、技术以及数据,示出作为代码25和数据26存储在系统存储器20内。
在一个实施方案中,I/O接口30可经配置以在处理器10、系统存储器20以及装置中的任何外设之间协调I/O流量,包含网络接口40或其它外围接口。在一些实施方案中,I/O接口30可执行任何必要的协议、定时或其它数据变换以将来自一个部件(例如,系统存储器20)的数据信号转换成适合于通过另一部件(例如,处理器10)使用的格式。在一些实施方案中,I/O接口30可包含对通过各种类型的外围总线附接的装置的支持,例如外围部件互连(PCI)总线标准或通用串行总线(USB)标准的变化型式。在一些实施方案中,I/O接口30的功能可分成两个或多个单独的部件,例如北桥和南桥。并且,在一些实施方案中,I/O接口30的功能性中的一些或全部,例如到系统存储器20的接口,可直接地并入到处理器10中。
网络接口40可经配置以允许在计算装置15和附接到一个或多个网络50的其它一个或多个装置60之间交换数据,所述其它装置例如其它计算机系统或装置。在各种实施方案中,网络接口40可经由任何合适的有线或无线通用数据网络,例如多种以太网络,支持通信。另外,网络接口40可经由例如模拟话音网络或数字光纤通信网络等电信/电话网络、经由例如光纤通道SAN(存储区域网络)等存储区域网络或经由任何其它合适类型的网络和/或协议来支持通信。
在一些实施方案中,系统存储器20可为计算机可访问介质的一个实施方案,所述计算机可访问介质经配置以存储如上文所描述的程序指令和数据以用于实施对应的方法和设备的实施方案。然而,在其它实施方案中,程序指令和/或数据可在不同类型的计算机可访问介质上接收、发送或存储。一般来说,计算机可访问介质可包含非暂时性存储介质或存储器介质,例如磁性或光学介质,例如,经由I/O接口30耦合到计算装置15的光盘或DVD/CD。非暂时性计算机可访问存储介质还可包含任何易失性或非易失性介质,例如RAM(例如,SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM(只读存储器)等,所述易失性或非易失性介质可作为系统存储器20或另一类型的存储器包含在计算装置15的一些实施方案中。另外,计算机可访问介质可包含传输介质或信号,例如经由通信介质传送的电信号、电磁信号或数字信号,所述通信介质例如网络和/或无线链路,例如可经由网络接口40实施的那些。多个计算装置中的部分或全部,例如图7中所说明的那些计算装置,可用于在各种实施方案中实施所描述的功能性;例如,在多种不同装置和服务器上运行的软件部件可合作以提供功能性。在一些实施方案中,所描述的功能性的各部分可使用存储装置、网络装置或专用计算机系统来实施。如本文中所使用,术语“计算装置”是指至少所有这些类型的装置且不限于这些类型的装置。
在先前的部分中所描述的过程、方法以及算法中的每一个可在通过一个或多个计算机或计算机处理器执行的代码模块中实施,且完全或部分通过所述代码模块自动化。代码模块可存储在任何类型的非暂时性计算机可读介质或计算机存储装置上,例如硬盘驱动器、固态存储器、光盘和/或类似者。所述过程和算法可部分或完全在专用电路中实施。所公开的过程和过程步骤的结果可持久地或以其它方式存储在任何类型的非暂时性计算机存储装置中,例如,易失性或非易失性存储装置。
前文可鉴于以下条款而得到更好的理解:
1.一种用于电子呈现的内容项的执行的系统,所述系统包括:
一个或多个计算装置;以及
一个或多个存储器,所述存储器上存储有计算机可执行指令,所述指令在执行时使得所述系统执行包括以下各项的操作:
接收用户访问所述内容项的请求;
接收与所述内容项的多个实例相关联的信息,其中所述多个实例中的一个或多个可配置以具有多个同时指配的用户会话,并且其中所述信息包括在所述多个实例上的用户会话可用性的指示;
至少部分基于所述信息,将与所述用户相关联的用户会话指配给所述内容项的实例;以及
提供指令以在所述用户会话与所述内容项的所述实例之间建立通信。
2.根据权利要求1所述的系统,其中所述操作还包括接收指示与所述内容项相关联的一个或多个用户偏好的信息,并且其中所述用户会话还至少部分基于所述一个或多个用户偏好而指配给所述内容项的所述实例。
3.根据权利要求1所述的系统,其中所述用户会话可用性的指示包括用于所述多个实例中的每一个的未被占用的用户会话的数目的指示。
4.根据权利要求1所述的系统,其中所述多个实例中的至少两个在单一虚拟机实例上执行。
5.一种用于电子呈现的内容项的执行的方法,所述方法包括:
接收用户访问所述内容项的请求;
接收与所述内容项的多个实例相关联的信息,其中所述多个实例中的一个或多个可配置以具有多个同时指配的用户会话,并且其中所述信息包括在所述多个实例上的用户会话可用性的指示;
至少部分基于所述信息,将与所述用户相关联的用户会话指配给所述内容项的实例;以及
提供指令以在所述用户会话与所述内容项的所述实例之间建立通信。
6.根据权利要求5所述的方法,所述方法还包括接收指示与所述内容项相关联的一个或多个用户偏好的信息,并且其中所述用户会话还至少部分基于所述一个或多个用户偏好而指配给所述内容项的所述实例。
7.根据权利要求5所述的方法,其中所述内容项使用与管理所述内容项的所述多个实例的服务相关联的SDK来创建。
8.根据权利要求5所述的方法,其中所述内容项的所述实例在将所述用户会话指配给所述内容项的所述实例时启动并执行。
9.根据权利要求5所述的方法,其中所述内容项的所述实例在将所述用户会话指配给所述内容项的所述实例之后启动以执行。
10.根据权利要求5所述的方法,其中所述用户会话可用性的指示包括用于所述多个实例中的每一个的未被占用的用户会话的数目的指示。
11.根据权利要求5所述的方法,所述方法还包括:
至少部分基于所存储的信息,确定所述用户有权访问的一个或多个内容项;以及
提供所述用户有权访问的所述一个或多个内容项中的至少一个的指示,其中所述用户请求访问的所述内容项包含在所述所提供的指示内。
12.根据权利要求5所述的方法,其中所述多个实例中的至少两个在单一虚拟机实例上执行。
13.一个或多个非暂时性计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令在于至少一个计算节点上执行时,使得所述至少一个计算节点执行包括以下各项的操作:
接收用户访问电子呈现的内容项的请求;
接收指示与所述内容项相关联的一个或多个用户偏好的信息;
接收与所述内容项的多个实例相关联的信息,其中所述信息包括在所述多个实例上的用户会话可用性的指示;
至少部分基于与所述多个实例相关联的所述信息和所述一个或多个用户偏好,将与所述用户相关联的用户会话指配给所述内容项的实例;以及
提供指令以在所述用户会话与所述内容项的所述实例之间建立通信。
14.根据权利要求13所述的一个或多个非暂时性计算机可读存储介质,其中所述内容项使用与管理所述内容项的所述多个实例的服务相关联的SDK来创建。
15.根据权利要求13所述的一个或多个非暂时性计算机可读存储介质,其中所述多个实例中的一个或多个可配置以具有多个同时指配的用户会话。
16.根据权利要求13所述的一个或多个非暂时性计算机可读存储介质,其中所述内容项的所述实例在将所述用户会话指配给所述内容项的所述实例时启动并执行。
17.根据权利要求13所述的一个或多个非暂时性计算机可读存储介质,其中所述内容项的所述实例在将所述用户会话指配给所述内容项的所述实例之后启动以执行。
18.根据权利要求13所述的一个或多个非暂时性计算机可读存储介质,其中所述用户会话可用性的指示包括用于所述多个实例中的每一个的未被占用的用户会话的数目的指示。
19.根据权利要求13所述的一个或多个非暂时性计算机可读存储介质,其中所述操作还包括:
至少部分基于所存储的信息,确定所述用户有权访问的一个或多个内容项;以及
提供所述用户有权访问的所述一个或多个内容项中的至少一个的指示,其中所述用户请求访问的所述内容项包含在所述所提供的指示内。
20.根据权利要求13所述的一个或多个非暂时性计算机可读存储介质,其中所述多个实例中的至少两个在单一虚拟机实例上执行。
前文还可鉴于以下条款而得到更好的理解:
1.一种用于电子呈现的内容项的部署的系统,所述系统包括:
一个或多个计算装置;以及
一个或多个存储器,所述存储器上存储有计算机可执行指令,所述指令在执行时使得所述系统执行包括以下各项的操作:
接收所述内容项准备好部署的指示,其中所述内容项使用多个内容项实例来部署,并且其中所述多个内容项实例中的一个或多个可配置以具有多个同时指配的用户会话;
至少部分基于所述指示,将至少第一内容项实例作为图像安装在第一虚拟机实例上;
检测与将另外的虚拟机实例分配给所述多个内容项实例相关联的条件;
至少部分基于所述条件,将所述另外的虚拟机实例分配给所述多个内容项实例;以及
将所述图像复制到所述另外的虚拟机实例上。
2.根据权利要求1所述的系统,其中与分配相关联的所述条件包括以下项中的至少一个:确定所述多个内容项实例的未被占用的用户会话的总数已满足特定量或降低至特定量之下,或确定所述多个内容项实例的未被占用的用户会话的平均数已满足特定量或降低至特定量之下。
3.根据权利要求1所述的系统,其中所述操作还包括:
检测与从所述多个内容项实例解除分配虚拟机实例相关联的条件;
至少部分基于所述条件,从所述多个内容项实例解除分配所述虚拟机实例;以及
执行终止虚拟机实例或重新目的化虚拟机实例中的至少一个。
4.根据权利要求3所述的系统,其中与解除分配相关联的所述条件包括以下项中的至少一个:确定所述多个内容项实例的未被占用的用户会话的总数满足或超出特定量,或确定所述多个内容项实例的未被占用的用户会话的平均数满足或超出特定量。
5.根据权利要求1所述的系统,其中所述内容项使用与管理所述多个内容项实例的服务相关联的SDK来创建。
6.一种用于电子呈现的内容项的部署的方法,所述方法包括:
接收所述内容项准备好部署的指示,其中所述内容项使用多个内容项实例来部署,并且其中所述多个内容项实例中的一个或多个可配置以具有多个同时指配的用户会话;
至少部分基于所述指示,将至少第一内容项实例作为图像安装在第一虚拟机实例上;
接收用户访问所述内容项的多个请求;以及
至少部分基于所述多个请求,将所述图像复制到一个或多个其它虚拟机实例上。
7.根据权利要求6所述的方法,所述方法还包括:
检测与将另外的虚拟机实例分配给所述多个内容项实例相关联的条件;
至少部分基于所述条件,将所述另外的虚拟机实例分配给所述多个内容项实例;以及
将所述图像复制到所述另外的虚拟机实例上。
8.根据权利要求7所述的方法,其中所述条件包括以下项中的至少一个:确定所述多个内容项实例的未被占用的用户会话的总数已满足特定量或降低至特定量之下,或确定所述多个内容项实例的未被占用的用户会话的平均数已满足特定量或降低至特定量之下。
9.根据权利要求6所述的方法,所述方法还包括:
检测与从所述多个内容项实例解除分配虚拟机实例相关联的条件;
至少部分基于所述条件,从所述多个内容项实例解除分配所述虚拟机实例;以及
执行终止虚拟机实例或重新目的化虚拟机实例中的至少一个。
10.根据权利要求9所述的方法,其中所述条件包括以下项中的至少一个:确定所述多个内容项实例的未被占用的用户会话的总数满足或超出特定量,或确定所述多个内容项实例的未被占用的用户会话的平均数满足或超出特定量。
11.根据权利要求6所述的方法,所述方法还包括认证所述用户,针对所述用户接收到所述多个请求。
12.根据权利要求6所述的方法,所述方法还包括至少部分基于所存储的信息,确定所述用户有权访问所述内容项。
13.根据权利要求6所述的方法,其中所述多个内容项实例中的至少两个在单一虚拟机实例上执行。
14.根据权利要求6所述的方法,其中所述内容项使用与管理所述多个内容项实例的服务相关联的SDK来创建。
15.根据权利要求6所述的方法,其中所述内容项为视频游戏。
16.一个或多个非暂时性计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令在于至少一个计算节点上执行时,使得所述至少一个计算节点执行包括以下各项的操作:
接收电子呈现的内容项准备好部署的指示,其中所述内容项使用多个内容项实例来部署,并且其中所述多个内容项实例中的一个或多个可配置以具有多个同时指配的用户会话;
至少部分基于所述指示,将至少第一内容项实例作为图像安装在第一虚拟机实例上;
接收用户访问所述内容项的多个请求;以及
至少部分基于所述多个请求,将所述图像复制到一个或多个其它虚拟机实例上。
17.根据权利要求16所述的一个或多个非暂时性计算机可读存储介质,其中所述操作还包括:
检测与将另外的虚拟机实例分配给所述多个内容项实例相关联的条件;
至少部分基于所述条件,将所述另外的虚拟机实例分配给所述多个内容项实例;以及
将所述图像复制到所述另外的虚拟机实例上。
18.根据权利要求17所述的一个或多个非暂时性计算机可读存储介质,其中所述条件包括以下项中的至少一个:确定所述多个内容项实例的未被占用的用户会话的总数已满足特定量或降低至特定量之下,或确定所述多个内容项实例的未被占用的用户会话的平均数已满足特定量或降低至特定量之下。
19.根据权利要求16所述的一个或多个非暂时性计算机可读存储介质,其中所述操作还包括:
检测与从所述多个内容项实例解除分配虚拟机实例相关联的条件;
至少部分基于所述条件,从所述多个内容项实例解除分配所述虚拟机实例;以及
执行终止虚拟机实例或重新目的化虚拟机实例中的至少一个。
20.根据权利要求19所述的一个或多个非暂时性计算机可读存储介质,其中所述条件包括以下项中的至少一个:确定所述多个内容项实例的未被占用的用户会话的总数满足或超出特定量,或确定所述多个内容项实例的未被占用的用户会话的平均数满足或超出特定量。
21.根据权利要求16所述的一个或多个非暂时性计算机可读存储介质,其中所述操作还包括认证所述用户,针对所述用户接收到所述多个请求。
22.根据权利要求16所述的一个或多个非暂时性计算机可读存储介质,其中所述操作还包括至少部分基于所存储的信息,确定所述用户有权访问所述内容项。
23.根据权利要求16所述的一个或多个非暂时性计算机可读存储介质,其中所述多个内容项实例中的至少两个在单一虚拟机实例上执行。
24.根据权利要求16所述的一个或多个非暂时性计算机可读存储介质,其中所述内容项使用与管理所述多个内容项实例的服务相关联的SDK来创建。
25.根据权利要求16所述的一个或多个非暂时性计算机可读存储介质,其中所述内容项为视频游戏。
前文还可鉴于以下条款而得到更好的理解:
1.一种用于从多个内容项实例中的实例提供信息的系统,所述系统包括:
一个或多个计算装置;以及
一个或多个存储器,所述存储器上存储有计算机可执行指令,所述指令在执行时使得所述系统执行包括以下各项的操作:
从所述多个内容项实例中的所述实例收集所述信息,其中所述多个实例中的每一实例可配置以具有多个同时指配的用户会话,其中所述信息包括以下各项的至少一个的指示:所述实例的占用的用户会话的数目、所述实例的开放的用户会话的数目、所述实例的持续时间或所述实例的存储器使用率;
至少部分基于所述信息,确定将所述信息路由到的多个接收方中的至少一个,其中所述多个接收方中的第一接收方是针对与所述多个内容项实例中的每一实例相关联的信息,并且其中所述多个接收方中的第二接收方是针对与所述多个内容项实例相关联的信息;以及
将所述信息发送到所述多个接收方中的所述至少一个。
2.根据权利要求1所述的系统,其中所述确定和所述路由通过路由功能执行,并且其中所述路由功能中的至少一个或所述多个接收方中的至少一个是基于云的功能,所述基于云的功能至少部分基于事件来执行代码。
3.根据权利要求1所述的系统,其中所述操作还包括将识别信息指配给来自所述多个内容项实例中的所述实例的所述信息,其中所述确定至少部分基于所述识别信息。
4.根据权利要求3所述的系统,其中所述识别信息包括以下各项中的至少一个:内容项队列识别符、内容项实例识别符、路由识别符、时间戳以及全球唯一识别符(GUID)。
5.一种用于从多个内容项实例中的实例提供信息的方法,所述方法包括
从所述多个内容项实例中的所述实例收集所述信息;
确定将所述信息路由到的多个接收方中的至少一个,其中所述多个接收方中的第一接收方是针对与所述多个内容项实例中的每一实例相关联的信息,并且其中所述多个接收方中的第二接收方是针对与所述多个内容项实例相关联的信息;以及
将所述信息发送到所述多个接收方中的所述至少一个。
6.根据权利要求5所述的方法,其中所述信息包括以下各项中的至少一个的指示:所述实例的占用的用户会话的数目、所述实例的开放的用户会话的数目、所述实例的持续时间或所述实例的存储器使用率。
7.根据权利要求5所述的方法,其中所述确定和所述路由通过路由功能执行,并且其中所述路由功能中的至少一个或所述多个接收方中的至少一个是基于云的功能,所述基于云的功能至少部分基于事件来执行代码。
8.根据权利要求5所述的方法,所述方法还包括将识别信息指配给来自所述多个内容项实例中的所述实例的所述信息,其中所述确定至少部分基于所述识别信息。
9.根据权利要求8所述的方法,其中所述识别信息包括以下各项中的至少一个:内容项队列识别符、内容项实例识别符、路由识别符、时间戳以及全球唯一识别符(GUID)。
10.根据权利要求5所述的方法,其中所述多个接收方还包括历史信息的第三接收方。
11.根据权利要求5所述的方法,其中所述多个实例中的每一个可配置以具有多个同时指配的用户会话。
12.根据权利要求5所述的方法,其中与所述多个内容项实例中的每一实例相关联的所述信息用于将用户会话指配给所述多个内容项实例中的每一实例。
13.根据权利要求5所述的方法,其中所述多个接收方与用于内容项实例信息分析的多个服务相关联。
14.根据权利要求13所述的方法,其中所述多个服务可至少部分由所述内容项的开发者访问以用于将信息提供到所述开发者。
15.一个或多个非暂时性计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令在于至少一个计算节点上执行时,使得所述至少一个计算节点执行包括以下各项的操作:
从多个内容项实例中的实例收集信息;
确定将所述信息路由到的多个接收方中的至少一个,其中所述多个接收方中的第一接收方是针对与所述多个内容项实例中的每一实例相关联的信息,并且其中所述多个接收方中的第二接收方是针对与所述多个内容项实例相关联的信息;以及
将所述信息发送到所述多个接收方中的所述至少一个。
16.根据权利要求15所述的一个或多个非暂时性计算机可读存储介质,其中所述信息包括以下各项中的至少一个的指示:所述实例的占用的用户会话的数目、所述实例的开放的用户会话的数目、所述实例的持续时间或所述实例的存储器使用率。
17.根据权利要求15所述的一个或多个非暂时性计算机可读存储介质,其中所述确定和所述路由通过路由功能执行,并且其中所述路由功能中的至少一个或所述多个接收方中的至少一个是基于云的功能,所述基于云的功能至少部分基于事件来执行代码。
18.根据权利要求15所述的一个或多个非暂时性计算机可读存储介质,其中所述操作还包括将识别信息指配给来自所述多个内容项实例中的所述实例的所述信息,其中所述确定至少部分基于所述识别信息。
19.根据权利要求18所述的一个或多个非暂时性计算机可读存储介质,其中所述识别信息包括以下各项中的至少一个:内容项队列识别符、内容项实例识别符、路由识别符、时间戳以及全球唯一识别符(GUID)。
20.根据权利要求15所述的一个或多个非暂时性计算机可读存储介质,其中所述多个接收方还包括历史信息的第三接收方。
21.根据权利要求15所述的一个或多个非暂时性计算机可读存储介质,其中所述多个实例中的每一个可配置以具有多个同时指配的用户会话。
22.根据权利要求15所述的一个或多个非暂时性计算机可读存储介质,其中与所述多个内容项实例中的每一实例相关联的所述信息用于将用户会话指配给所述多个内容项实例中的每一实例。
23.根据权利要求15所述的一个或多个非暂时性计算机可读存储介质,其中所述多个接收方与用于内容项实例信息分析的多个服务相关联。
24.根据权利要求23所述的一个或多个非暂时性计算机可读存储介质,其中所述多个服务可至少部分由所述内容项的开发者访问以用于将信息提供到所述开发者。
上文描述的各种特征和过程可独立于彼此使用,或可以各种方式组合。所有可能的组合和子组合既定落入本公开的范围内。另外,某些方法或过程块在一些实施中可省略。本文中描述的方法和过程也不限于任何特定顺序,且与所述方法和过程相关的块或状态可以适合的其它顺序执行。例如,所描述的块或状态可以与具体公开的次序不同的次序执行,或多个块或状态可在单一块或状态中组合。实例块或状态可串行、并行或以某一其它方式执行。可将块或状态添加到所公开的实例实施方案或从所公开的实例实施方案去除块或状态。本文中描述的实例系统和部件可以与所描述不同的方式配置。例如,可将元件添加到所公开的实例实施方案、从所公开的实例实施方案去除元件或相比于所公开的实例实施方案重新布置元件。
还应了解,各项被说明为在使用时被存储在存储器中或存储在存储装置上,且这些项或其部分可在存储器和其它存储装置之间传递以用于存储器管理和数据完整性的目的。替代地,在其它实施方案中,软件模块和/或系统中的一些或全部可在另一装置上的存储器中执行,并经由计算机间通信与所说明的计算系统通信。此外,在一些实施方案中,系统和/或模块中的一些或全部可以其它方式实施或设置,例如至少部分用固件和/或硬件实施或设置,包含但不限于,一个或多个专用集成电路(ASIC)、标准集成电路、控制器(例如,通过执行适合的指令,且包含微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑装置(CPLD)等。模块、系统以及数据结构中的一些或全部还可存储(例如,作为软件指令或结构化数据)在计算机可读介质上,所述计算机可读介质例如硬盘、存储器、待通过适合的驱动器或经由适合的连接读取的网络或便携式介质制品。系统、模块以及数据结构还可作为所产生的数据信号(例如,作为载波或其它模拟或数字传播信号的一部分)在多种计算机可读传输介质(包含基于无线和基于有线/缆线的介质)上传输,且可采用多种形式(例如,作为单一或多路复用的模拟信号的一部分,或作为多个离散的数字包或帧)。在其它实施方案中,此类计算机程序产品还可采用其它形式。因此,本发明可用其它计算机系统配置实践。
除非另外具体陈述或在如所使用的上下文内另外理解,否则本文中使用的条件语言,例如尤其是,“能”、“能够”、“可”、“可以”、“例如”及类似者,通常意图表达某些实施方案包含而其它实施方案不包含某些特征、元件和/或步骤。因此,此条件语言通常并不意图意指一个或多个实施方案无论如何都需要特征、元件和/或步骤,或一个或多个实施方案必定包含用于在作者输入或提示的情况下或在没有作者输入或提示的情况下判定这些特征、元件和/或步骤是否包含在任何特定实施方案中或将在任何特定实施方案中执行的逻辑。术语“包括”、“包含”、“具有”及类似者是同义的,且以包含性开放方式使用,且并不排除另外的元件、特征、动作、操作等等。并且,术语“或”用于包含性意义(而非排他性意义),使得在用于例如连接一列元件时,术语“或”意指所述列表中的元件中的一个、一些或全部。
虽然已描述特定实例实施方案,但这些实施方案已仅作为实例呈现且并不意图限制本文中所公开的本发明的范围。因此,前述描述中没有内容意图意指任何特定的特征、特性、步骤、模块或块为必要的或不可或缺的。事实上,本文中描述的新颖方法和系统可以多种其它形式实施;此外,在不脱离本文中所公开的本发明的精神的情况下,可做出在本文中所描述的方法和系统的形式中的各种省略、替换和改变。随附的权利要求书及其等效物意图涵盖此类形式或修改,此类形式或修改将落入本文中所公开的发明中的某些发明的范围和精神内。
Claims (20)
1.一种用于内容项的部署的系统,所述系统包括:
一个或多个计算装置;以及
一个或多个存储器,所述存储器上存储有计算机可执行指令,所述指令在执行时使得所述系统执行包括以下各项的操作:
接收所述内容项准备好部署的指示,其中所述内容项使用多个内容项实例来部署,并且其中所述多个内容项实例中的一个或多个可配置以具有多个同时指配的用户会话,其中,所述内容项使用与管理所述内容项的服务相关联的软件开发工具包来创建,其中,由所述多个内容项实例中的每一个来报告与未被占用的用户会话的量有关的信息,以及其中,所述软件开发工具包提供嵌入到所述内容项中的代码,所述代码报告所述与未被占用的用户会话的量有关的信息;
至少部分基于所述指示,将至少第一内容项实例作为图像安装在第一虚拟机实例上;
检测与将另外的虚拟机实例分配给所述多个内容项实例相关联的第一条件,其中,所述第一条件包括确定所述多个内容项实例的未被占用的用户会话的第一平均数满足或降低至第一量之下,所述第一平均数基于在第一时间提供的信息;
至少部分基于所述第一条件,将所述另外的虚拟机实例分配给所述多个内容项实例;
将所述图像复制到所述另外的虚拟机实例上;
检测与从所述多个内容项实例解除分配第二虚拟机实例相关联的第二条件,其中,所述第二条件包括确定未被占用的用户会话的第二平均数满足或超出第二量,所述第二平均数基于在第二时间提供的信息;以及
至少部分基于所述第二条件,从所述多个内容项实例解除分配所述第二虚拟机实例。
2.根据权利要求1所述的系统,其中所述第一条件还包括:确定所述多个内容项实例的未被占用的用户会话的总数满足或降低至第三量之下。
3.根据权利要求1所述的系统,其中,所述操作还包括:
检测与从所述多个内容项实例解除分配虚拟机实例相关联的第二条件;
至少部分基于所述条件,从所述多个内容项实例解除分配所述第二虚拟机实例;以及
执行以下至少一项:终止所述第二虚拟机实例,或重新目的化所述第二虚拟机实例。
4.根据权利要求1所述的系统,其中所述第二条件还包括确定所述多个内容项实例的未被占用的用户会话的总数满足或超出第三量。
5.一种用于内容项的部署的方法,所述方法包括:
接收所述内容项准备好部署的指示,其中所述内容项使用多个内容项实例来部署,并且其中所述多个内容项实例中的一个或多个可配置以具有多个同时指配的用户会话,其中,所述内容项使用与管理所述内容项的服务相关联的软件开发工具包来创建,其中,由所述多个内容项实例中的每一个来报告与未被占用的用户会话的量有关的信息,以及其中,所述软件开发工具包提供嵌入到所述内容项中的代码,所述代码报告所述与未被占用的用户会话的量有关的信息;
至少部分基于所述指示,将至少第一内容项实例作为图像安装在第一虚拟机实例上;
检测与将另外的虚拟机实例分配给所述多个内容项实例相关联的第一条件,其中,所述第一条件包括确定所述多个内容项实例的未被占用的用户会话的第一平均数满足或降低至第一量之下,所述第一平均数基于在第一时间提供的信息;
至少部分基于所述第一条件,将所述另外的虚拟机实例分配给所述多个内容项实例;
将所述图像复制到所述另外的虚拟机实例上;
检测与从所述多个内容项实例解除分配第二虚拟机实例相关联的第二条件,其中,所述第二条件包括确定未被占用的用户会话的第二平均数满足或超出第二量,所述第二平均数基于在第二时间提供的信息;以及
至少部分基于所述第二条件,从所述多个内容项实例解除分配所述第二虚拟机实例。
6.根据权利要求5所述的方法,其中所述第一条件还包括:确定所述多个内容项实例的未被占用的用户会话的总数满足或降低至第三量之下。
7.根据权利要求5所述的方法,所述方法还包括:
执行以下至少一项:终止所述第二虚拟机实例,或重新目的化所述第二虚拟机实例。
8.根据权利要求5所述的方法,其中所述第二条件还包括:确定所述多个内容项实例的未被占用的用户会话的总数满足或超出第三量。
9.根据权利要求5所述的方法,所述方法还包括:对针对其接收到多个访问所述内容项的请求的用户进行授权。
10.根据权利要求5所述的方法,所述方法还包括:至少部分地基于所存储的信息,确定所述用户有权访问所述内容项。
11.根据权利要求5所述的方法,其中所述多个内容项实例中的至少两个在单一虚拟机实例上执行。
12.根据权利要求5所述的方法,其中所述内容项是视频游戏。
13.一种存储有指令的非暂时性计算机可读存储介质,所述指令当在至少一个计算节点上执行时,使所述至少一个计算节点执行包括以下各项的操作:
接收内容项准备好部署的指示,其中所述内容项使用多个内容项实例来部署,并且其中所述多个内容项实例中的一个或多个可配置以具有多个同时指配的用户会话,其中,所述内容项使用与管理所述内容项的服务相关联的软件开发工具包来创建,其中,由所述多个内容项实例中的每一个来报告与未被占用的用户会话的量有关的信息,以及其中,所述软件开发工具包提供嵌入到所述内容项中的代码,所述代码报告所述与未被占用的用户会话的量有关的信息;
至少部分基于所述指示,将至少第一内容项实例作为图像安装在第一虚拟机实例上;
检测与将另外的虚拟机实例分配给所述多个内容项实例相关联的第一条件,其中,所述第一条件包括确定所述多个内容项实例的未被占用的用户会话的第一平均数满足或降低至第一量之下,所述第一平均数基于在第一时间提供的信息;
至少部分基于所述第一条件,将所述另外的虚拟机实例分配给所述多个内容项实例;
将所述图像复制到所述另外的虚拟机实例上;
检测与从所述多个内容项实例解除分配第二虚拟机实例相关联的第二条件,其中,所述第二条件包括确定未被占用的用户会话的第二平均数满足或超出第二量,所述第二平均数基于在第二时间提供的信息;以及
至少部分基于所述第二条件,从所述多个内容项实例解除分配所述第二虚拟机实例。
14.根据权利要求13所述的非暂时性计算机可读存储介质,其中所述第一条件还包括:确定所述多个内容项实例的未被占用的用户会话的总数满足或降低至第三量之下。
15.根据权利要求13所述的非暂时性计算机可读存储介质,其中所述操作还包括:
执行以下至少一项:终止所述第二虚拟机实例,或重新目的化所述第二虚拟机实例。
16.根据权利要求13所述的非暂时性计算机可读存储介质,其中所述第二条件还包括:确定所述多个内容项实例的未被占用的用户会话的总数满足或超出第三量。
17.根据权利要求13所述的非暂时性计算机可读存储介质,其中所述操作还包括:对针对其接收到多个访问所述内容项的请求的用户进行授权。
18.根据权利要求13所述的非暂时性计算机可读存储介质,所述操作还包括:至少部分地基于所存储的信息,确定所述用户有权访问所述内容项。
19.根据权利要求13所述的非暂时性计算机可读存储介质,其中所述多个内容项实例中的至少两个在单一虚拟机实例上执行。
20.根据权利要求13所述的非暂时性计算机可读存储介质,其中所述内容项是视频游戏。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/660,821 US10463957B2 (en) | 2015-03-17 | 2015-03-17 | Content deployment, scaling, and telemetry |
US14/660,821 | 2015-03-17 | ||
US14/660,865 | 2015-03-17 | ||
US14/660,850 US20160277484A1 (en) | 2015-03-17 | 2015-03-17 | Content Deployment, Scaling, and Telemetry |
US14/660,865 US20160277508A1 (en) | 2015-03-17 | 2015-03-17 | Content Deployment, Scaling, and Telemetry |
US14/660,850 | 2015-03-17 | ||
PCT/US2016/022791 WO2016149462A2 (en) | 2015-03-17 | 2016-03-17 | Content deployment, scaling, and telemetry |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107430519A CN107430519A (zh) | 2017-12-01 |
CN107430519B true CN107430519B (zh) | 2021-01-12 |
Family
ID=56098325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680016104.9A Active CN107430519B (zh) | 2015-03-17 | 2016-03-17 | 内容部署、扩展和遥测 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP3271817A2 (zh) |
JP (2) | JP2018514023A (zh) |
KR (2) | KR102073461B1 (zh) |
CN (1) | CN107430519B (zh) |
CA (1) | CA2979691C (zh) |
WO (1) | WO2016149462A2 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491715B (zh) * | 2018-11-06 | 2021-10-22 | 深圳市风云实业有限公司 | 基于Windows NT的应用管理方法、装置及终端 |
WO2022245126A1 (ko) * | 2021-05-18 | 2022-11-24 | 주식회사 카카오 | 액세스 카드를 이용한 서비스 제공 방법, 서비스 필터링 방법 및 상기 방법을 수행하는 장치 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013109548A (ja) * | 2011-11-21 | 2013-06-06 | Sony Computer Entertainment Inc | 情報処理システム、情報処理方法、プログラム及び情報記憶媒体 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3844404B2 (ja) * | 1998-07-17 | 2006-11-15 | 株式会社バンダイナムコゲームス | ゲームシステム及び情報記憶媒体 |
US20070093297A1 (en) * | 2005-10-26 | 2007-04-26 | Waterleaf Ltd. | On-line, real-time game playing with search facility |
US8458530B2 (en) * | 2010-09-21 | 2013-06-04 | Oracle International Corporation | Continuous system health indicator for managing computer system alerts |
JP5617712B2 (ja) * | 2011-03-17 | 2014-11-05 | 沖電気工業株式会社 | コンテンツ配信サーバ、コンテンツ配信システム、コンテンツ配信プログラム及びコンテンツ配信方法 |
CN103460611B (zh) * | 2011-04-14 | 2015-08-19 | 株式会社村田制作所 | 高频前端电路 |
US8924930B2 (en) * | 2011-06-28 | 2014-12-30 | Microsoft Corporation | Virtual machine image lineage |
US9189285B2 (en) * | 2012-12-14 | 2015-11-17 | Microsoft Technology Licensing, Llc | Scalable services deployment |
US8870661B2 (en) * | 2012-12-21 | 2014-10-28 | Sony Computer Entertainment America Llc | Cloud-based game slice generation and frictionless social sharing with instant play |
US9433862B2 (en) * | 2013-02-12 | 2016-09-06 | Microsoft Technology Licensing, Llc | Dynamic allocation of computing resources in remote gaming environment |
US20140245319A1 (en) * | 2013-02-27 | 2014-08-28 | Greenbutton Limited | Method for enabling an application to run on a cloud computing system |
US9295915B2 (en) * | 2013-05-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Game availability in a remote gaming environment |
-
2016
- 2016-03-17 CA CA2979691A patent/CA2979691C/en active Active
- 2016-03-17 EP EP16726989.3A patent/EP3271817A2/en not_active Ceased
- 2016-03-17 CN CN201680016104.9A patent/CN107430519B/zh active Active
- 2016-03-17 WO PCT/US2016/022791 patent/WO2016149462A2/en active Application Filing
- 2016-03-17 KR KR1020177029729A patent/KR102073461B1/ko active IP Right Grant
- 2016-03-17 JP JP2017548900A patent/JP2018514023A/ja active Pending
- 2016-03-17 KR KR1020197019080A patent/KR102168740B1/ko active IP Right Grant
-
2019
- 2019-11-29 JP JP2019216884A patent/JP2020053079A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013109548A (ja) * | 2011-11-21 | 2013-06-06 | Sony Computer Entertainment Inc | 情報処理システム、情報処理方法、プログラム及び情報記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
WO2016149462A3 (en) | 2016-11-03 |
WO2016149462A2 (en) | 2016-09-22 |
EP3271817A2 (en) | 2018-01-24 |
CA2979691C (en) | 2021-09-07 |
CN107430519A (zh) | 2017-12-01 |
KR102073461B1 (ko) | 2020-02-04 |
JP2018514023A (ja) | 2018-05-31 |
JP2020053079A (ja) | 2020-04-02 |
KR20190080990A (ko) | 2019-07-08 |
CA2979691A1 (en) | 2016-09-22 |
KR102168740B1 (ko) | 2020-10-23 |
KR20170134493A (ko) | 2017-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9662588B2 (en) | Spawning new timelines during game session replay | |
US10092833B2 (en) | Game session sharing | |
US9971593B2 (en) | Interactive content development | |
US9393486B2 (en) | Character simulation and playback notification in game session replay | |
WO2017048996A1 (en) | Visual content development | |
US11120212B2 (en) | Creating and modifying applications from a mobile device | |
CN107567705B (zh) | 维护用户组数字权利列表的方法、目录服务器及计算设备 | |
CN107430519B (zh) | 内容部署、扩展和遥测 | |
CA2989061C (en) | Content testing during image production | |
US20160277484A1 (en) | Content Deployment, Scaling, and Telemetry | |
US20160277508A1 (en) | Content Deployment, Scaling, and Telemetry | |
US10463957B2 (en) | Content deployment, scaling, and telemetry | |
CN114514730B (zh) | 过滤群组消息的方法和系统 | |
CN110968368B (zh) | 一种直播数据的处理方法及其相关设备 | |
Lovisetto et al. | A foundation for extensible and decentralized social networks | |
Farrow et al. | USENIX ANNUAL TECHNICAL CONFERENCE (USENIX’04) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |