云控制台服务器的动态网络存储的制作方法
本分案申请是申请日为2016年9月6日、申请号为201610805879.6、发明名称为“云控制台服务器的动态网络存储”的分案申请。
本公开的方面涉及存储虚拟化。本公开的其它方面涉及设计用于嵌入式平台的云计算应用的存储虚拟化。
背景技术:
随着通信系统的带宽和数据转移速率持续发展,今日的计算需求中的多数正转向通常称为“云计算”的网络型分布计算系统。通常而言,云计算涉及将某些计算任务卸载到一个或多个远程计算资源和利用所述远程计算资源来提供服务。在许多个例中,计算资源可完全或几乎完全被卸载到云,其中终端用户的装置提供极少或至多用户界面用于云计算任务,允许潜在的任何连网装置用作特定应用的客户端。云计算先前已经被实施为客户端-服务器模型,其中远程服务器提供本地客户端装置所希望的计算能力,避免了本地客户端装置在其自身上进行某些计算任务的需要。最近,云计算演进成涵盖通过跨资源动态扩展和加载平衡而提供计算资源的弹性的远程执行。云计算已经变得越来越以远程运行但是无需往回报告给本地客户端的功能为特征。在云上运行的许多功能报告给云上的其它功能以支持资源的弹性计算和动态分配。
云计算已用于各种各样的计算服务,包括远程数据存储解决方案、音乐和视频串流服务和各种各样的其它消费者和商业解决方案。一般而言,云计算提供若干熟知优点,包括通过使用共享资源增加的效率、访问内容而不限于特定装置的增加的灵活性、当硬件升级变得可用时降低先期成本以及其它优点。
云计算尚未实现广泛采用的一个舞台是广受欢迎的视频游戏领域。包括个人计算机(pc)游戏、家庭控制台游戏、手持控制台游戏等的视频游戏保持为消费者中的流行的娱乐来源。随着可用视频游戏标题合集的大型和日益增长,云游戏对许多视频游戏需要提供极有吸引力的解决方案。理想上,在云游戏框架内,用户将能够在众多远程存储的标题合集中立即访问任何视频游戏标题,而无需游戏的实体副本、无须等待标题加载,且无需本地拥有运行游戏所需的硬件系统或资源。不幸的是,这种类型的服务在传统云计算服务器设计内的实施呈现迄今为止阻止许多视频游戏平台广泛采用云游戏的若干技术挑战。
一个挑战是今日视频游戏中的多数节奏极快且内容丰富,需要大量计算资源渲染的高级图形。尤其在所有游戏计算和图形渲染计算被远程执行的视频串流型服务设计中,游戏需要能够进行所有这些任务且以响应于控制输入最小到没有可感知延迟的情况下将压缩的音频/视频流传送给客户端装置。否则,这可能打乱玩家的时机且无法复制传统的本地执行的游戏会话的响应性。
另一挑战源于一方面被设计来运行在个人计算机、膝上型计算机和通用特性的其它计算系统上的pc游戏与另一方面被设计来运行在已知为视频游戏控制台的专用系统上的控制台游戏之间传统上已经存在区别的事实。视频游戏控制台通常设计为具有专用于视频游戏环境的唯一计算架构的嵌入式平台。使用专用控制台硬件作为视频游戏平台提供了若干优点,尤其是在出于产生今日视频游戏中的多数所需的图形渲染和游戏计算的高计算资源需要优化硬件的形式上。结果,虽然pc游戏实现了一些普及度,但是传统上,控制台游戏仍支配视频游戏市场且在未来可能继续如此。
然而,使视频游戏控制台和其它嵌入式平台适用于云串流服务呈现若干挑战。专业平台的硬件或软件架构的广泛修改可呈现设计用于专业平台的应用的复杂度议题。结果,传统存储服务器和存储虚拟化技术并非设计用于这些平台中的多数的基于云的应用串流的可行解决方案。此外,现代控制台架构响应于用户需求和希望而不断变化且更新。因此,如果未将云串流服务使用的系统更新到最新架构,那么可能产生问题。
本公开正是基于此背景产生。
技术实现要素:
本公开的实施可包括可以是控制台、pc或甚至虚拟机的‘游戏服务器’。这个系统最终实施计算机应用以串流到远程客户端计算装置,且除了运行各种服务之外,还例如管理系统、开始应用和串流应用。本公开的额外实施方案包括管理游戏服务器的任选管理服务器。管理服务器可以是(作为实例)对游戏服务器供电、在存储服务器上分配资源或发起软件更新。管理服务器可以在存储服务器上分配存储供游戏服务器使用。管理服务器可以在游戏服务器上电之前进行这个功能。
在系统启动期间,游戏服务器尝试从存储服务器加载其操作系统(或其部分);关于如何访问存储服务器的信息可例如经由dhcp由管理服务器提供。应注意,存储服务器位置只是可提供的引导程序配置信息的一个特定方面。举例而言(且不是通过限制),管理服务器还可提供其它配置信息,诸如联网、日期/时间、日志、主机名和其它每个主机配置。虽然dhcp可能是最常用协议,但是可使用其它协议,诸如tftp、http。在对游戏服务器供电之后,管理服务器可以进行操作以使游戏服务器就绪用于串流。游戏服务器然后可以将应用数据串流到远程客户端计算装置。
在本公开的另一实施中,用户可以使用串流客户端发起与客户端计算装置的串流会话。然后可由云服务操作或服务器对客户端计算装置指派游戏服务器。这个云服务操作可以为串流客户端提供允许其从给定游戏服务器进行串流的指令和证书。串流客户端可以经由网络连接或互联网例如经由tcp或udp连接连接到游戏服务器上的‘串流服务’。一旦连接到串流服务,就可发起串流会话。在这个时间期间,用户数据和应用数据可经由存储服务器用于游戏服务器。一旦游戏服务器接收适当应用、使用应用数据执行所述应用所需的用户数据和操作系统数据,就可由游戏服务器执行所述应用且通过使用应用数据执行所述应用生成的输出可被串流到串流客户端。
在本公开的一个实施方案中,提供了一种系统,包括:处理器;和存储器,其耦合到所述处理器;其中所述处理器被配置来执行方法,所述方法包括:从网络存储装置接收运行计算机应用所需的操作系统(os)数据和应用数据;使用所述os数据和应用数据来运行所述计算机应用;以及将通过使用所述os数据和应用数据运行所述计算机应用生成的输出串流到远程客户端计算装置。
在本公开的另一实施方案中,提供了一种在服务器上被配置来在网络上操作的方法,所述方法包括:从网络存储装置接收运行计算机应用所需的操作系统(os)数据和应用数据;使用所述os数据和应用数据来运行所述计算机应用;以及将通过使用所述os数据和应用数据运行所述计算机应用生成的输出串流到远程客户端计算装置。
在本公开的另一实施方案中,提供了一种非暂时性计算机可读介质,在其中体现有处理器可执行指令,其中所述指令由处理器执行造成所述处理器实施用于共享资产的方法,所述方法包括:从网络存储装置接收运行计算机应用所需的操作系统(os)数据和应用数据;运行所述计算机应用;以及将通过使用所述os数据和应用数据运行所述计算机应用生成的输出串流到远程客户端计算装置。
附图说明
通过结合附图考虑以下详细描述可容易理解本公开的教导,其中:
图1是说明根据本公开的方面的服务器架构的方框图。
图2是说明根据本公开的方面的客户端发起的游戏开始的流程图。
图3是说明根据本公开的方面的从串流用户界面(ui)发起的游戏开始的流程图。
图4是根据本公开的方面的存储架构的方框图。
图5是根据本公开的某些方面的实例系统的方框图。
具体实施方式
虽然以下详细描述出于说明的目的含有许多具体细节,但是所属领域的任何技术人员应明白,以下详细描述的许多变动和改动落在本发明的范围内。因此,在对所主张发明的普遍性没有任何损失且不对其强加限制的情况下提出下文所述的本发明和示例性实施方案。
引言
本公开的方面涉及使用操作地耦合到主机系统的网络存储装置虚拟化大容量存储的系统和方法。在各个实施中,网络存储装置和主机系统可为另一“终端”计算系统共同地仿真大容量存储装置。在使用主机系统的最小可行存储器时可进行这种仿真,因为网络存储装置除了含有实施计算机应用所需的游戏和用户数据之外还含有用于主机系统的操作系统数据。
服务器架构
为了更好地说明本公开的各个方面,在图1中描绘根据本公开的方面的服务器架构100的第一说明实例。图1中描绘的服务器架构100涉及多个计算装置,其包括经由诸如互联网或本地网络111的网络连接的游戏服务器102、管理服务器104和存储服务器106。在某些实施中,并非所有这些装置需要连接到外部网络111。例如,游戏服务器102可出于串流目的而可从外部网络111到达且可玩在线多人游戏。由于用于串流流量的某一类型的‘路由器’,管理服务器104可支持连接到网络111。举例而言(且不是通过限制),对于常规互联网流量,管理服务器可充当标准网络地址转换器(nat)路由器。
在实例服务器架构中,游戏服务器102将在游戏服务器102上执行的应用的输出串流到远程客户端计算装置108。如本文使用,“执行”指的是在诸如cpu的处理器上运行应用。客户端计算装置可以包括例如服务器、嵌入式系统、移动电话、个人计算机、膝上型计算机、平板计算机、便携式游戏装置、工作站、游戏控制台、诸如智能手表的可穿戴装置、虚拟现实(vr)装置和/或诸如“google眼镜”或微软hololens的增强现实(ar)装置等等。应用输出可经由网络诸如互联网串流。应用输出可另外通过串流客户端130的个例被串流,所述串流客户端可用来将客户端计算装置108连接到游戏服务器102。举例而言(且不是通过限制),可以在由计算装置执行的软件中实施串流客户端。串流客户端130可经由云服务应用被指派给游戏服务器102,且可经由串流服务125与剩余系统架构通信。
应注意,管理服务器104不一定必须执行串流路由器/加载平衡的角色,因此如存储服务器106不一定需要互联网连接。在替代实施中,服务器架构100可在串流服务125与串流客户端130之间任选包括单独路由器135。在一些实施中,一个装置可以进行路由器135和串流客户端130两者的功能。在其它实施中,路由器功能可由与串流客户端130分离的另一装置进行。
存在可实施云服务应用的许多方法。特定而言,幕后可发生与计账、监控服务器可用性、日志等相关的各种服务。举例而言(且不是通过限制),管理服务141可以将其管理多少游戏服务器、这些游戏服务器中有多少正在使用中、有多少已‘损坏’且有多少未被使用周期性报告给‘云控制器’。在这种实例中,在会话启动期间,串流客户端130对‘认证服务器’进行某一形式的认证,以核实是否允许用户玩某一游戏。在成功之后,串流客户端130可进行互联网连接测试,在此期间,可测量至若干就近数据中心的网络带宽和等待时间以便确定从其中串流的最佳数据中心。基于测试结果,云控制器指派串流客户端130给未使用游戏服务器102。
连接测试还可与认证并行完成,以例如允许用户看到其网络连接是否符合串流的最小需求。此外,对于可预测用户连接的属性存在高置信度的情况(例如,在来自已知ip地址的后续串流的情形中),专用连接测试可省略。
除了进行串流会话的授权之外,‘云控制器’还可进行服务器指派。这种系统必须平衡各种竞争因素,诸如决定何处且何时分配用户给串流服务器时的容量、可用性、队列、客户端的网络连接、有效硬件使用率、维护和外部服务依赖性。
在所示实例中,可提供多个游戏服务器(102、102’、102”等)使得多个客户端计算装置(108、108’、108”等)每个可连接到独立游戏服务器,以便接收特定应用的输出数据的串流。此外,每个各自客户端计算装置108可使用串流客户端的特定个例130、130’、130”等),以连接到游戏服务器102。
游戏服务器102可运行与执行应用和串流执行应用的输出相关的各种服务,包括游戏机用户界面121、游戏发动服务123、机器管理器124和/或能够经由串流客户端130连接到客户端装置108的串流服务125。任选管理服务器104管理游戏服务器102。管理服务器104可使用管理服务141以进行若干功能,例如对游戏服务器102供电、在存储服务器106上分配供游戏服务器102使用的资源和/或初始化用于游戏服务器102和/或存储服务器106的软件更新。管理服务器104可经由管理总线112连接到游戏服务器102。通常,服务器架构100的各个组件已被供电且被放置成准备好串流状态以最小化启动延迟。然而,可出于维护或省电原因不时地关停一个或多个组件。
管理服务器104可使用管理服务141来在分配存储服务器106上的存储供游戏服务器102使用之后开启游戏服务器102。然后,管理服务器104可通过硬件控制界面120对游戏服务器102供电。可经由使用通用输入输出(gpio)切换电力开关信号而由管理服务器104使用硬件控制界面120。或者,管理服务器104可以使用经由局域网络(lan)或通用异步接收器/发射器(uart)命令端口发送的唤醒信号。
在启动期间,游戏服务器102可尝试从由存储服务器106存储的信息加载其操作系统,或其部分。如本文使用,“加载”指的是从大容量存储装置检索代码和/或数据到存储器中的进程。存储服务器106可运行与存储和传送应用、操作系统(os)和/或用户数据到游戏服务器102相关的各种服务,包括存储服务161和存储管理器服务162;下文将参考图2-图4讨论存储服务器的这些方面。关于对游戏服务器102所需的操作系统数据的访问的信息可被管理服务器104提供给游戏服务器,且可以经由动态主机配置协议(dhcp)提供。或者,存储服务器106可提供这个信息,尤其是在存储os数据的实施中。在管理服务器104上进行此的优点是其用作游戏服务器的最终授权(从发现和配置直到运行时间操作)。
一旦游戏服务器102已被供电且从存储服务器106接收必需的应用、用户和/或os数据,管理服务器104就可进行操作以使游戏服务器102就绪用于将应用输出数据串流到客户端计算装置108。管理服务器104可使用管理服务141来指示机器管理器124开始应用;机器管理器124然后使用游戏发动服务123来开始应用。如果游戏服务器102成功就绪,那么游戏服务器102可将应用数据的输出串流到客户端计算装置108。
上述服务器架构允许可初始化应用或游戏且将其输出数据后续串流到客户端计算机装置的若干方法。然而,应理解,根据本文原理的存储虚拟化可以在其它背景中实施,包括游戏串流之外的云计算应用,和计算装置希望尤其是不对计算装置进行修改的情况下希望有存储虚拟化的本地实施。
关于图2提供初始化应用或游戏用于串流到客户端计算装置的方法的说明性实例。图2中描绘客户端发起游戏开始200,其中用户使用串流客户端206来发送请求270以开始特定游戏“游戏id”。所述请求270任选通过管理服务器发送且由管理服务212使用以便进行如关于图1所述的那些管理功能(对游戏服务器供电,等)。请求被传送给游戏服务器上的游戏发动服务224。游戏发动服务224然后可以从位于存储服务器上的存储管理器服务236请求272游戏信息。存储管理器服务可以检查游戏是否可用于串流且可额外检查是否允许请求的用户玩所请求的游戏。在替代实施方案中,还可在管理服务器上且出于额外安全在其它处进行这种安全检查。如果用户具有玩游戏的适当许可,那么存储管理器服务236使游戏可用于存储服务器上且将‘game_mount_info’证书274往回提供给游戏发动服务224。在替代实施中,这种权利检查还可经由检查外部服务(例如,与游戏控制台相关联的在线服务,诸如来自sonycomputerentertainment的playstation网络(psn))或云控制器而完成。
在替代实施中,游戏开始200可来自‘云’,即并非直接来自客户端206。在这种实施中,先前所提及的‘云控制器’可直接有效发送认证结果给管理服务212。部分出于设计原因且部分出于安全原因,这可以是有利的。明确而言,在理论上,客户端可以仿冒游戏名。这在游戏开始并非来自客户端装置时更有困难。认证结果可以尤其含有游戏id。在其它实施中,客户端206将认证结果发送给管理服务212。
在其它替代实施中,可以在客户端206进行开始会话(发动请求)的情况下实施游戏开始200。
游戏发动服务224然后可从存储游戏数据260的存储服务器安装游戏数据“安装游戏(game_mount_info)”276。存储服务248控制游戏数据的数据转移。一旦已经正确安装数据276,游戏发动服务224就可开始游戏“开始游戏进程”278,且开始的游戏280的输出数据然后可被串流到串流客户端206,假设串流服务(未示出,关于图1进行讨论)发起到串流客户端206的音频和视频串流。
提前未知或要按需访问的用户数据或任何其它数据,例如补丁、dlc、媒体、调试工具等,还可以这种形式安装,且用户数据和用户保存游戏数据可在存储服务器上或通过云服务可用,如下文讨论。通常,访问用户数据常常在访问应用前面(例如访问访问系统设置,如语言),但是在游戏应用请求保存数据之前可能不对其进行访问。
在串流客户端206启动之后,‘用户id’可从串流客户端206行进到游戏服务器,其触发获得存储服务器中存储的用户数据的访问。存储服务器再次为用户准备用户数据,其可涉及获得对云存储的访问(如果存储在其它处);图4高亮显示关于云存储的潜在存储架构。不幸的是,user_mount_info被返回到游戏服务器,这允许其安装用户数据。取决于系统的架构,这个安装可以是游戏发动服务224的部分或者可以存在用户登录服务。在本公开的替代实施方案中,一旦会话已经开始,额外用户就可以“加入”串流会话。额外用户可以例如通过将周边计算装置连接到正串流游戏输出数据的客户端计算装置而连接到串流会话。在替代实施方案中,额外用户可例如经由在网络上连接到如由客户端装置网络的特征许可的串流会话而远程连接到串流会话。一旦额外用户连接或请求对串流会话的连接,串流客户端206就可以通知游戏服务器添加额外用户。额外用户将以类似于安装用户最初请求串流会话的用户数据和游戏数据的上述方式的方式被添加到串流会话。
在图3中提供初始化应用或游戏且将输出数据串流到客户端计算装置的第二方法的说明性实例。在图3的实例技术300中,与使串流客户端发送如图2所示的预选应用标题的请求相反,用户从串流应用标题目录中选择所希望的串流应用。因此,可以类似于图2所描绘的方式的方式实施图3的实例技术300。然而,图3假设用户可从用户界面321选择从游戏服务器串流到串流客户端的应用。用户界面可为用户提供可用于串流的应用清单。在发动客户端计算装置上的应用之后,可将这个用户界面(ui)串流到客户端,其中应用的发动可能导致串流客户端根据图1所述的架构连接到游戏服务器的串流服务。ui还可以是渲染的客户端侧,例如,使用从cdn服务或嵌入在客户端app中的html5-型ui。
虽然出于当前讨论的目的,可假定从最终运行游戏的相同游戏服务器串流用户界面(ui),但是本公开的方法不限于这些实施。或者,ui和游戏可在不同机器上运行。如果是这样,那么可存在‘ui服务器’和‘游戏服务器’。在这种情况中,ui服务器可通知游戏服务器其需要开始哪个游戏。在一些(但并非全部)实施中,在游戏服务器上可排外地发生用户/游戏数据安装。
一旦用户从用户界面选择用于串流的应用,那么通过用户界面将开始特定游戏“从ui中开始游戏”的请求370从客户端计算机装置发送到游戏发动服务324。请求370任选通过管理服务器发送且由管理服务使用以便进行如关于图1所述的那些管理功能(对游戏服务器供电等)。在替代实施中,管理服务器可以在接收请求之后进行关于图1所述的那些管理功能以将客户端计算装置连接到游戏机ui。
如果ui是例如如上文所谈论的完全服务器侧,那么这种从ui中开始游戏可以保持在完全服务器侧。在这种实施中,当用户选择玩游戏时,可在发生游戏启动之后进行某一形式的认证。在一些实施中,ui还可只示出用户被授权要玩的游戏而无须在启动时进行额外认证。如果ui是完全服务器侧,那么游戏启动可以通过ui发送游戏开始请求给游戏发动服务224而发生,其将发起如上所述包括游戏数据安装的游戏开始。
或者,如果ui是完全客户端侧,从ui中开始游戏请求可以来自客户端。例如,在一些实施中,游戏目录可以位于客户端,导致图2所描绘的启动流程。客户端与用于游戏启动的游戏服务器之间不存在直接通信流。然而,对于下一代服务器,客户端与游戏服务器之间由于新的特征可存在某一形式的通信路径。这可以为客户端与服务器之间的直接的从ui中开始游戏请求铺路。举例而言(且不是通过限制),一个可能的使用情形是‘相同服务器上的游戏切换’。当前如果用户正玩游戏a且希望玩游戏b,那么在不存在开始游戏服务器上的新游戏的能力的情况下发生游戏服务器的切换。利用组合本公开的方面的新一代游戏系统,可在相同游戏服务器上切换到新游戏。图3的流程隐含地描述上述切换过程。在游戏切换使用情形中,假设游戏服务器仍被指派给该用户,客户端侧ui只可告知游戏服务器102切换到新游戏。
参考图3,请求370被传送给游戏服务器上的游戏发动服务324。游戏发动服务324然后可从位于存储服务器上的存储管理器服务336中请求372游戏信息。存储管理器服务可以检查游戏是否可用于串流且可额外检查是否允许请求的用户玩所请求的游戏。在替代实施方案中,还可在管理服务器上且出于额外安全在其它处进行这种安全检查。如果用户具有玩游戏的适当许可,那么存储管理器服务336使游戏可用于存储服务器上且将‘game_mount_info’证书374往回提供给游戏发动服务224。认证证书可以只是game_mount_info中的存储目标的一部分,其可包括协议(例如,nfs、iscsi、http、某一群集的存储协议等)、证书和地址的组合。根据本公开的方面,存储需由单个服务器提供,由于内容可用性或竞争性能需求,这可是有利的。
游戏发动服务324然后可从存储游戏数据360的存储服务器安装游戏数据“安装游戏(game_mount_info)”376。存储服务348控制游戏数据的数据转移。一旦已经正确安装数据376,游戏发动服务324就可开始游戏“开始游戏进程”378,且开始的游戏380的输出数据然后可被串流到客户端计算装置,假设串流服务(未示出,关于图1进行讨论)发起到用户305的音频和视频串流。
还可以这种方式安装用户数据,且用户数据和用户保存游戏数据可以在存储服务器上或通过云服务可用,如下文讨论。在用户305连接到游戏机ui321之后,‘用户id’可以从串流客户端行进到游戏服务器,其触发获得对存储服务器中存储的用户数据的访问。存储服务器再次为用户准备用户数据,其可涉及获得对云存储的访问(如果存储在其它处);图4高亮显示关于云存储的潜在存储架构。不幸的是,user_mount_info被返回到游戏服务器,这允许其安装用户数据。取决于系统的架构,这个安装可以是游戏发动服务324的部分或者可以存在用户登录服务。在本公开的替代实施方案中,一旦会话已经开始,额外用户就可以“加入”串流会话。额外用户可以例如通过将周边计算装置连接到正串流游戏数据的客户端计算装置而连接到串流会话。在替代实施方案中,额外用户可例如经由在网络上连接到如由客户端装置网络的特征许可的串流会话而远程连接到串流会话。一旦额外用户连接或请求对串流会话的连接,串流客户端就可以通知游戏服务器添加额外用户。额外用户将以类似于安装用户最初请求串流会话的用户数据和游戏数据的上述方式的方式被添加到串流会话。
图4提供根据本公开的各个实施的存储架构的更详细概览。在实例存储服务器架构400中,游戏服务器402经由网络连接404连接到存储服务器406。网络连接可以是本地连接或互联网连接,例如传输控制协议(tcp)或用户数据报协议(udp)连接。游戏服务器402可以含有引导加载程序411。引导加载程序可以含有操作系统核心413和少量的用户应用空间415。因此,游戏服务器不会从游戏服务器内含有的硬盘驱动器或光学装置加载操作系统或用户应用空间数据。根据本公开的各个实施,引导加载程序411的功能是提供充分的指令给游戏服务器402,使得游戏服务器可以定位且使用存储服务器406上存储的操作系统数据425。可关于图1的实例架构进行这个功能,其中管理服务器帮助游戏服务器定位必需的操作系统数据。此外,关于以上图2和图3的实例实施方案,一旦已经发起串流会话,游戏服务器402就可以含有安装的操作系统数据405、安装的游戏数据407和安装的用户数据409。
存储服务器406可以含有用于一个或多个游戏服务器的操作系统数据425、用于一个或多个应用或游戏的应用或游戏数据427以及用于一个或多个用户的用户数据429。存储服务器406中存储的数据可以被加密,使得所述数据只可被游戏服务器402读取。实际上通常加密游戏和用户数据。由于使用相同加密密钥,当前任何游戏服务器总是能够打开任何用户数据。在一些实施中,可通过为每个用户提供不同密钥而实施额外安全。在这种实施中,游戏服务器102可被配置来获得给定用户能够读取数据所需的密钥。在其它实施中,在存储服务器106给定对特定用户的数据的访问之前,可存在一些额外认证步骤。这将防止侵入游戏服务器的某些人能够访问任意用户的数据。
某些实施还可使用网络型访问控制(例如ip地址/端口筛选)、网络认证和操作系统许可(游戏服务器操作限于单个系统用户账户且这多数经由只读网络出口)以进一步限制游戏服务器402可以访问的信息。在其它实施中,还可以经由在其预期用途之后被吊销的时限访问令牌(例如kerberos令牌)而不是固定证书(例如,用户id或密码)实施认证。
存储服务器406可以能够以与操作和初始化最新版本的对应系统或应用一致的方式更新存储在其中的数据。存储服务器还可以能够从可含有用户数据的保存数据服务器475请求和接收额外用户数据480,诸如用户账号数据或例如关于保存的具体应用的游戏状态的用户数据。存储服务器406可经由云或网络连接450或经由管理总线或本地连接连接到保存数据服务器475。
举例而言(且不是通过限制),图5提供根据本公开的各个实施的分布式计算系统的更详细概览,其包括两个装置502和506,且计算系统502和506根据本公开的某些方面被配置来经由网络转移数据。这些装置502和506可被配置来执行具有与关于图1-图4所述方面有共同之处的一个或多个方面的指令。可用适当软件和/或硬件配置装置502和506中的任一个或两个以实施本文所述方法的各个方面。装置502和506中的任一个或两个可以是服务器、嵌入式系统、移动电话、个人计算机、膝上型计算机、平板计算机、便携式游戏装置、工作站、游戏控制台、诸如智能手表的可穿戴装置等等。
根据某些实施,装置502可以是游戏服务器,且装置506可以是存储服务器。游戏服务器502可使用互联网或本地连接经由网络599将游戏数据554的请求发送给存储服务器506。请求552最初可由例如远程客户端计算装置、串流客户端、使用用户界面和可用应用标题目录的串流应用或管理服务器发送或处理。
装置502和506中的任一个可以包括一个或多个处理器单元570,其可根据熟知架构配置,诸如例如单核心、双核心、四核心、多核心、处理器-协处理器、蜂窝式处理器等等。装置502和506中的任一个还可以包括一个或多个存储器单元572(例如,ram、dram、rom等等)。处理器单元570可以执行可存储在存储器572中的一个或多个程序574,且处理器570可以例如通过经由数据总线576访问存储器而操作耦合到存储器572。存储器单元572可以包括数据577,且处理器单元570可在实施程序574时使用数据577。根据本公开的各个方面,用于系统502和506中的任一个的数据577可以包括例如从游戏服务器502发射到存储服务器506的游戏数据552的请求、和从存储服务器506到游戏服务器502的操作系统数据554、用户数据556或请求的游戏数据558。程序574可以包括任选指令,当由处理器执行时所述指令进行与提供游戏数据552的请求或者传送操作系统数据554、用户数据556或请求的游戏数据558相关联的一个或多个操作,诸如例如具有与图1、图2、图3和/或图4的方法有共同之处的一个或多个特征的方法。例如,游戏服务器502的程序574可包括指令,当由处理器570执行时所述指令造成装置根据图1所描绘的服务器架构和/或图2和/或图3所描绘的串流会话发起方法的方面从至少一个接收装置506请求游戏数据,和/或响应于由游戏服务器502传送的来自远程客户端计算装置(未绘示)的资产552的请求传送所请求的游戏数据558。存储服务器506的程序574可以包括指令,当由处理器570执行时所述指令造成存储服务器根据图2和/或图3所描绘的串流会话发起方法的方面传送然后可由游戏服务器102使用的操作系统数据554、用户数据556或所请求的游戏数据558。
在一些实施中,根据图4所描绘的服务器架构的方面,存储在游戏服务器502的存储器572中的数据577将只含有os核心513和用户应用空间数据515。因此,在这个实例实施中,由游戏服务器502传送到存储服务器506的游戏数据552的请求将导致存储服务器506将必需的操作系统数据554传送给游戏服务器502,使得游戏服务器502可执行发起用于传送到串流客户端或客户端计算装置的游戏数据556所需的所希望程序574。
在本公开的某些实施中,存储服务器506可包括用于存储操作系统数据554、用户数据556或应用或游戏数据558的大容量存储装置584的一个或多个装置。举例而言(且不是通过限制),大容量存储装置584可包括磁盘驱动器、cd-rom驱动器、闪存存储器、磁带驱动器、蓝光驱动器等等以存储程序和/或数据。大容量存储装置可含有os核心和用户应用空间数据。存储在大容量存储装置584中的数据可被加密,且无法被存储服务器506读取。在某些实施中,存储在大容量存储装置584中的数据只可被游戏服务器502读取。根据图1所描绘的串流架构的方面,管理服务器可以能够将游戏服务器502或存储服务器506指向关于游戏数据请求552的适当应用或游戏数据554。然而,在某些实施方案中,管理服务器还无法读取所存储的游戏数据554。
装置502和506中的任一个还可包括可例如经由总线576与系统的其它组件通信的熟知支持电路578,诸如输入/输出(i/o)电路579、电源(p/s)580、时钟(clk)581和高速缓存582。装置502和506中的任一个可任选包括大容量存储装置584,诸如硬盘驱动器、cd-rom驱动器、磁带驱动器、闪存存储器等等,且大容量存储装置584可存储程序和/或数据。然而,在某些实施中,游戏服务器装置502可能不含有大容量存储装置584。装置502和506中的任一个还可以任选包括显示单元586。显示单元586可以是显示文字、数字、图形符号或其它视觉对象的阴极射线管(crt)、平面屏幕、触摸屏或其它装置的形式。在一些实施中,游戏服务器502和存储服务器506可忽略这些组件中的一些(例如,hdmi端口、声卡、wifi、usb和其它界面端口)以例如在不存在与游戏服务器硬件的物理用户交互时减少成本。在这种情形中,游戏服务器502和存储服务器506仍可包括专用图形加速器(gpu),但是其无需将其渲染到显示器586。在一些实施中,显示器本身可以忽略。
装置502和506中的任一个还可包括用户界面588以促进装置502/506与用户之间的交互。用户界面588可以包括键盘、鼠标、光笔、游戏控制垫、触摸界面或其它装置。用户界面还可包括音频i/o装置,诸如扬声器和/或麦克风。用户界面588的部分可以包括可显示在显示单元586上的图形用户界面(gui)以便促进与系统502/506的用户交互。
用户可以通过用户界面588与计算机系统中的任一个交互。举例而言,装置502可以是云游戏服务器,且装置506可以是云存储服务器,且用户可以与由游戏服务器502执行且通过经由网络界面连接到游戏服务器502的串流客户端被串流到客户端计算装置的视频游戏或应用交互。系统502/506可包括网络界面590,其被配置来支持使用wi-fi、以太网端口、或其它通信方法,例如可以可接受带宽和等待时间提供连接的本地网络或通过服务的蜂窝通信,诸如lte。网络界面590可根据本公开的某些方面并入适当硬件、软件、固件或其一些组合以促进经由电信网络的通信,并且可支持使用不可靠协议的数据输送。网络界面590可被配置来经由局域网络和诸如互联网的广域网络实施有线或无线通信。装置502和506中的任一个可以通过网络经由一个或多个数据包599发送和接收数据和/或文件请求。
以上组件可以硬件、软件、固件或其一些组合实施。
结论
应注意,已经参考云游戏作为特定实例描述本公开的方面,其中可能希望有根据本公开的各个实施的大容量存储虚拟化的需要,但是本公开的实施并无如此限制。本公开的实施可提供大容量存储装置供可能未涉及云计算或云游戏的任何计算装置仿真。
虽然上文是本发明的优选实施方案的完整描述,但是可使用各种替代、修改和等效。因此,不应参考以上描述确定本发明的范围,而应代以参考随附权利要求及其等效物的完整范围予以确定。本文所述优选或非优选的任何特征可组合本文所述优选或非优选的任何其它特征。在以下权利要求中,除非另有明示,不定冠词“a或an”指的是冠有冠词的项中的一个或多个的量。随附权利要求不应解译为包括手段加功能限制,除非在给定权利要求中使用短语“用于...的手段”明确陈述这种限制。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除