CN103502977A - 通过预期的预处理减少所服务的应用程序的等待时间 - Google Patents
通过预期的预处理减少所服务的应用程序的等待时间 Download PDFInfo
- Publication number
- CN103502977A CN103502977A CN201280019564.9A CN201280019564A CN103502977A CN 103502977 A CN103502977 A CN 103502977A CN 201280019564 A CN201280019564 A CN 201280019564A CN 103502977 A CN103502977 A CN 103502977A
- Authority
- CN
- China
- Prior art keywords
- client end
- end response
- server
- state
- client
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明揭示一种服务器,所述服务器托管应用程序,将所述应用程序的状态传输到客户端。所述服务器确定期望对所述状态的响应且所述响应将是有限数目个可能的响应中的一者。所述服务器接着利用来自所述有限组的至少一个可能的响应产生一个或一个以上额外状态且将所述额外状态提供给所述客户端。在一些实施方案中,当实际上接收到所述响应时,所述服务器提供所述额外状态。然而,在其它实施方案中,当产生所述额外状态时所述服务器提供所述额外状态且当接收到等于所述响应的用户输入时所述客户端呈现所述额外状态。此外,在各种实施方案中,所述服务器可产生所述可能的响应中的每一者的额外状态。然而,在各种其它实施方案中,所述服务器可产生选定数目个可能的响应的额外状态。
Description
相关申请案的交叉参考
本申请案主张2011年4月19日申请的第13/090,024号美国非临时申请案的优先权。
技术领域
本发明大体上涉及服务的应用程序,且更具体来说涉及预期用户输入而预处理服务的应用程序的应用程序状态以减少提供对应于用户的输入的应用程序状态的等待时间。
背景技术
发明内容
本发明揭示用于通过预期的预处理减少服务的应用程序的等待时间的系统及方法。一个或一个以上服务器可托管一个或一个以上应用程序。作为托管应用程序的部分,服务器可将应用程序的一个或一个以上第一状态传输到一个或一个以上客户端,确定期望对第一状态的一个或一个以上客户端响应,及确定客户端响应将是有限数目个可能的响应中的一者或一者以上。服务器可接着利用来自有限组的可能的响应的至少一个可能的响应产生一个或一个以上额外状态且可将额外状态提供给客户端。
在一些实施方案中,当实际上从客户端接收到特定可能的响应时,服务器可提供额外状态。然而,在其它实施方案中,当产生额外状态时服务器可将额外状态提供给客户端,且当接收到等于特定可能的响应的用户输入时客户端可呈现所接收的额外状态。
此外,在各种实施方案中,服务器可产生可能的响应中的每一者的额外状态。然而,在各种其它实施方案中,服务器可产生选定数目个可能的响应的额外状态。在此类其它实施方案中,服务器可利用种类繁多的不同技术中的一者或一者以上来选择哪些可能的响应而针对其产生额外状态,例如通过产生定义为潜在的等待时间起因的可能的响应的额外状态;产生比其它可能的响应更可能实际上被接收的多个可能的响应的额外状态;产生基于服务器负载所选择的多个可能的响应的额外状态等。
应了解先前的一股描述及下文的详细描述两者是用于实例及说明目的且并不一定限制本发明。并入本说明书中且构成本说明书的一部分的附图说明本发明的标的物。描述及图式一起用来说明本发明的原理。
附图说明
图1是说明用于通过预期的预处理减少服务的应用程序的等待时间的系统的框图。
图2是说明用于通过预期的预处理减少服务的应用程序的等待时间的方法的流程图。此方法可由图1的系统执行。
图3A到3E是说明对应于由系统针对用户所显示的视频游戏的状态的视频游戏屏幕的图式。所述系统可为图1的系统。
具体实施方式
下文的描述包含具体实施本发明的各种元件的样本系统、方法及计算机程序产品。然而,应了解所描述的揭示内容可以除本文所描述的形式之外的种类繁多的形式实践。
软件应用程序(例如视频游戏、网页浏览器、电子邮件客户端、文字处理器、电子数据表等)执行用户的几乎不受限的种类繁多的操作,例如因特网访问、文字处理、电子数据表功能、电子邮件、娱乐等。可由一个或一个以上服务器(例如前端服务器、后端服务器等)托管此类软件应用程序。服务器可基于经由一个或一个以上客户端从一个或一个以上用户所接收的输入而执行软件应用程序的各种处理操作。此客户端可将用户输入传输到处理所接收的输入以产生软件应用程序的更新状态的此服务器。服务器可将更新状态提供给客户端,客户端可接着对一个或一个以上用户呈现所提供的更新状态。
然而,此客户端-服务器软件应用程序配置可引起延迟。举例来说,在服务器能够将软件应用程序的更新状态提供给客户端之前,服务器可能需要时间来处理从客户端接收的用户输入。当服务器从客户端接收用户输入时与当服务器能够将更新状态提供给客户端时之间的时间可引起用户利用客户端的延迟。取决于各种因素(例如服务器工作负载、在服务器与客户端之间通信所需要的时间等),由服务器处理所引起的延迟可能对用户来说是不可接受的。由于此类延迟,所以用户可能不满意此类软件应用程序的性能并且甚至可能中断使用此类软件应用程序。
本发明揭示用于通过预期的预处理减少服务的应用程序的等待时间的系统及方法。一个或一个以上服务器可托管一个或一个以上应用程序。作为托管应用程序的部分,服务器可将应用程序的一个或一个以上第一状态传输到一个或一个以上客户端。客户端可对一个或一个以上用户呈现第一状态并且可接收作为响应的用户输入,客户端可接着将用户输入传输到服务器。当服务器传输第一状态时,服务器可确定期望对第一状态的一个或一个以上客户端响应且客户端响应将是有限数目个可能的响应中的一者或一者以上。服务器可接着利用来自有限组的可能的响应的至少一个可能的响应产生一个或一个以上额外状态且可将额外状态提供给客户端。在一些实施方案中,当服务器接收到客户端响应且客户端响应等于用以产生额外状态的可能的响应时,服务器可将额外状态提供给客户端。在其它实施方案中,当产生额外状态时服务器可将额外状态传输给客户端,且当客户端确定客户端响应等于用以产生所接收的额外状态的可能的响应时客户端可利用所接收的额外状态。由于在接收客户端响应之前产生额外状态,所以可避免当服务器接收客户端响应时与当服务器提供更新状态时的时间之间的延迟。
图1是说明用于通过预期的预处理减少服务的应用程序的等待时间的系统100的框图。系统100包含一个或一个以上服务器101,一个或一个以上服务器101是经由一个或一个以上网络103而通信地耦合到一个或一个以上客户端102。服务器及客户端可为任何种类的计算装置,例如服务器计算机、个人计算机、桌上型计算机、膝上型计算机、移动计算装置、平板计算装置、蜂窝电话、智能电话及/或其它此类计算装置。网络可为任何种类的通信网络,例如局域网络、广域网络、因特网、WiFi网络、卫星通信网络、同轴通信网络、以太网络、蜂窝网络及/或任何其它种类的通信网络。尽管服务器及客户端被展示及描述为经由网络而连接,但是应了解在各种实施方案中,服务器可在不利用网络的情况下直接通信地耦合到客户端。
服务器101可包含一个或一个以上处理单元104、一个或一个以上非暂态存储媒体105(其可采取但不限于以下形式:磁性存储媒体;光学存储媒体;磁光型存储媒体;只读存储器;随机存取存储器;可擦除式可编程存储器;快闪存储器等)及一个或一个以上通信组件106。处理单元104可执行存储在非暂态存储媒体105中的指令以托管一个或一个以上软件应用程序。在托管应用程序中,处理单元可产生应用程序的一个或一个以上状态,处理经由通信组件106从客户端102所接收的用户输入以产生应用程序的一个或一个以上状态,及/或执行托管的应用程序的其它此类处理。
客户端102可包含一个或一个以上处理单元107、一个或一个以上非暂态存储媒体108(其可采取但不限于以下形式:磁性存储媒体;光学存储媒体;磁光型存储媒体;只读存储器;随机存取存储器;可擦除式可编程存储器;快闪存储器等)、一个或一个以上通信组件109;及一个或一个以上输入/输出组件110(其可从一个或一个以上相关联的输入/输出装置111(例如一个或一个以上监视器、键盘、鼠标及其它此类输入及/或输出装置)接收输入及/或将输出提供给一个或一个以上相关联的输入/输出装置111)。处理单元107可执行存储在非暂态存储媒体108中的指令以经由通信组件109从服务器101接收应用程序的一个或一个以上状态,经由输入/输出组件110将应用程序的此类状态提供给一个或一个以上用户,针对应用程序经由输入/输出组件而从用户接收输入,经由通信组件109将此输入传输到服务器,及/或执行应用程序的其它此类客户端侧操作。
服务器101可经由通信组件106而将应用程序的第一状态传输到客户端。服务器可确定对第一状态的一个或一个以上期望的客户端响应将是有限组的可能的响应中的一者或一者以上。由于可能的客户端响应是有限的,所以服务器可在此类响应的实际接收之前基于可能的响应中的一者或一者以上而产生一个或一个以上额外状态,以使当接收对应的客户端响应时可能额外状态已可用。服务器可经由通信组件106而将此类产生的额外状态提供给客户端102。
举例来说,托管视频游戏应用程序的服务器可提供视频游戏的起始状态。服务器可确定响应于视频游戏的起始状态而期望用户输入以便用户玩视频游戏。服务器也可确定所期望的用户输入将指示相关联的视频游戏控制器上的一个或一个以上按钮的选择,因为所述选择是视频游戏经配置以接收的唯一的用户输入。因此,预期用户可选择按钮中的一者或一者以上,服务器可基于按钮中的一者的选择而产生额外状态,因为预期响应于视频游戏的起始状态而可由用户选择相应按钮。此类视频游戏控制器可包含相对小数目个按钮,例如七个。如此以来,可仅需要服务器预期地产生七个不同状态以使当选择按钮中的一者时(而不管实际上选择哪个按钮)所产生的状态已可用。
在各种实施方案中,当实际上从客户端接收到特定可能的响应时,服务器101可将利用特定可能的响应所产生的额外状态提供给客户端102。在实际上接收到用以产生额外状态的特定可能的响应之前,可由服务器将所产生的额外状态存储在(例如)非暂态存储媒体105上。在此类实施方案中,如果存储一个或一个以上所产生的额外状态直到实际上接收到用以产生相应额外状态的特定可能的响应为止,则如果从客户端接收到不同的特定可能的响应,则服务器可中断存储针对特定可能的响应所产生的额外状态。
然而,在各种其它实施方案中,当产生利用特定可能的响应所产生的额外状态时,服务器101可将额外状态提供给客户端102。客户端可存储所接收的额外状态(例如在非暂态存储媒体108上)直到经由输入/输出组件110接收到等于特定可能的响应的用户输入为止,因此客户端可经由输入/输出组件而呈现额外状态。在此类其它实施方案中,如果存储一个或一个以上产生的额外状态直到实际上接收到用以产生相应额外状态的特定可能的响应为止,则如果经由输入/输出组件接收到对应于不同的特定可能的响应的用户输入,则客户端可中断存储针对特定可能的响应所产生的额外状态。
此外,在一些实施方案中,服务器101可产生可能的响应中的每一者的额外状态。如此以来,当实际上接收到对应的客户端响应时,对应于所接收的任何一个可能的响应的额外状态可能已可用。然而,在其它实施方案中,服务器可产生选定数目个可能的响应的额外状态。在此类其它实施方案中,服务器可利用种类繁多的不同技术中的一者或一者以上来选择哪些可能的响应而针对其产生额外状态。下文更详细讨论此类技术。
图2说明通过预期的预处理减少服务的应用程序的等待时间的方法200。方法200可由图1的服务器101执行。流程开始于块201处且前进到处理由服务器所托管的软件应用程序的块202。流程接着前进到服务器确定是否传输软件应用程序的状态的块203。如果是,则流程前进到块204。否则,流程前进到服务器确定软件应用程序是否已结束的块213。如果是,则流程前进到块214并结束。否则,流程返回到软件应用程序继续处理的块202。
在块204处,在服务器101确定传输软件应用程序的状态之后,服务器传输所述状态且流程前进到块205。在块205处,服务器确定是否期望对所传输的状态的响应及响应将是有限组的可能的响应中的一者。如果是,则流程前进到块206。否则,在流程前进到块212之前,流程前进到服务器等待所期望的响应的块211。在块212处,服务器确定是否已接收到响应。如果是,则流程返回到软件应用程序继续处理的块202。否则,流程返回到服务器继续等待所期望的响应的块211。
在块206处,在服务器101确定期望对传输的状态的响应及响应将是有限组的可能的响应中的一者之后,服务器基于所述有限组的可能的响应中的可能的响应而确定产生哪些状态。流程接着前进到服务器产生所确定的状态的块207。其次,在流程前进到块209之前,流程前进到服务器等待所期望的响应的块208。在块209处,服务器确定是否已接收到响应。如果否,则流程返回到服务器继续等待所期望的响应的块208。
否则,流程前进到服务器101传输对应于所接收的响应的所产生的状态的块210。流程接着前进到服务器确定是否期望对传输的所产生的状态的响应及响应将是有限组的可能的响应中的一者的块205。
尽管方法200说明及描述为当实际上接收到用以产生状态的响应时传输所产生的状态,但是应了解此仅是实例。在其它的可能性中,当产生所述状态时服务器101可传输所产生的状态。在此类可能性中,当接收到对应于用以产生所述状态的可能的响应的用户输入时,客户端102可利用此类接收的所产生的状态。
返回到图1,如上文所讨论,在一些实施方案中,服务器101可利用种类繁多的不同技术中的一者或一者以上来选择哪些可能的响应而针对其产生额外状态。现将钻研此类不同技术的实例。然而,本文所钻研的实例仅用于实例的目的。可在不背离本发明的范围的情况下利用选择哪些可能的响应而针对其产生额外状态的其它技术(及/或所呈现的技术的组合)。
在第一实例实施方案中,服务器101可分析有限组的可能的响应且将可能的响应中的每一者定义为潜在的等待时间起因或非潜在的等待时间起因。服务器可接着产生定义为潜在的等待时间起因的可能的响应中的每一者的额外状态,但是可能不产生定义为潜在的等待时间起因的可能的响应的额外状态。举例来说,服务器可将可能需要服务器来编码视频帧的可能的响应定义为潜在的等待时间起因,然而服务器可将将预先存在的菜单重叠在预先存在的视频帧上的可能的响应定义为非潜在的等待时间起因。
通过产生更可能引起较大时间延迟的可能的响应的额外状态,服务器需要在请求时即刻提供额外状态但不是不可能引起此类延迟的可能的响应的额外状态,服务器可最小化所花的预期的处理时间的量,同时最小化传输所请求的额外状态所需要的时间。即使可能必须在接收到请求此的实际响应之后产生不定义为等待时间起因的可能的响应的额外状态,但是由于此类额外状态较不可能引起处理中的等待时间,因此接着在接收到响应之后产生此类额外状态仍不会引起不可接受的等待时间。
在第二实例实施方案中,服务器101可产生比其它可能的响应更可能实际上被接收的可能的响应中的多个响应的额外状态。服务器可基于先前所接收的响应的统计分析而确定实际上将接收到特定可能的响应的可能性。举例来说,应用程序可经配置以响应于特定应用程序状态而接受十个不同输入,但是通常可响应于特定应用程序状态而选择所述输入中的仅四者。服务器可确定十个可能的输入中的四个输入在统计上比其它六个输入更为可能且可产生所述四个输入中的每一者的额外状态。
通过产生更可能实际上被选择的可能的响应的额外状态,服务器可最小化所花的预期的处理时间的量,同时最大化已产生所请求的状态的可能性且因此最小化响应时间。即使可能必须在接收到请求此的实际响应之后产生其它六个输入的额外状态,但是由于较不可能请求此类额外状态,所以关于随时间产生此类额外状态的延迟的频率可导致可接受的聚合的延迟时间。
在第三实例实施方案中,服务器101可产生基于服务器的目前负载(例如目前处理负载)选择的多个可能的响应的额外状态。以此方式,服务器可基于可用资源调整服务器尝试执行的预期的处理的量。服务器可接着产生选定数目个额外状态。举例来说,如果服务器目前不在执行任何其它任务,则服务器可选择产生所有可能的响应的额外状态。相比之下,如果服务器正在执行多个其它任务但仍具有可用资源,则服务器可产生一半的可能的响应的额外状态。此外,如果服务器不具有可用资源,则服务器可产生可能的响应中的一者的额外状态或不产生可能的响应的额外状态。通过基于服务器产生此类状态的能力而选择多个待产生的额外状态,当服务器具有用于此处理的可用资源时服务器可执行更多预期的处理,同时当服务器不具有此类可用资源时执行较少预期的处理。
图3A到3E是对应于由系统针对用户所显示的视频游戏的状态的视频游戏屏幕300A到300E。所述系统可为图1的系统。如在图3A中所说明,屏幕300A包含环境中的角色替身。在此状态中,视频游戏经配置以接受指示使角色替身右移、左移、弹踢及跳跃的用户输入。在响应于在屏幕300A中所描绘的状态而接收此用户输入之前,系统可产生上文四个可能的用户输入中的每一者的额外状态。
图3B说明描绘利用用户将指示使角色替身右移的假设所产生的状态的屏幕300B。图3C说明描绘利用用户将指示使角色替身跳跃的假设所产生的状态的屏幕300C。图3D说明描绘利用用户将指示使角色替身弹踢的假设所产生的状态的屏幕300D。图3E说明描绘利用用户将指示使角色替身左转的假设所产生的状态的屏幕300E。
再次参考图3A,在系统产生额外状态之后,系统可响应于由屏幕300A所描绘的状态而接收用户输入。系统可接着传输对应于由用户输入所指示的选项的对应的额外状态。举例来说,如果用户输入指定使角色替身右移,则系统可传输由图3B中的屏幕300B所描绘的额外状态。由于在接收到用户输入之前已产生所述状态,所以服务器不会因必须产生所述状态而引起延迟,且可替代地立即传送适当的状态。
在本发明中,所揭示的方法可实施为可由装置所读取的指令集或软件。此外,应了解所揭示的方法中的步骤的特定次序或阶层是样本途径的实例。在其它实施例中,方法中的步骤的特定次序或阶层可被重新布置而同时维持在所揭示的标的物内。所附方法权利要求按样本次序呈现各种步骤的元件,且并不一定意味着受限于所呈现的特定次序或阶层。
所述的揭示内容可提供为计算机程序产品或软件,所述计算机程序产品或软件可包含已将指令存储于其上的非暂态机器可读取媒体,所述指令可用以对计算机系统(或其它电子装置)进行编程以执行根据本发明的过程。非暂态机器可读取媒体包含用于按可由机器(例如,计算机)读取的形式(例如,软件、处理应用程序)存储信息的任何机构。非暂态机器可读取媒体可采取但不限于以下形式:磁性存储媒体(例如,软盘、视频卡带等);光学存储媒体(例如,CD-ROM);磁光型存储媒体;只读存储器(ROM);随机存取存储器(RAM);可擦除式可编程存储器(例如,EPROM及EEPROM);快闪存储器等。
据信将通过先前的描述而了解本发明及许多其伴随的优点,且将明白可在不背离所揭示的标的物的情况下或在不牺牲其所有材料优点的情况下对组件的形式、结构及布置做出各种变更。但是所描述的形式仅是说明性的,且下文的权利要求书既定涵盖且包含此类变更。
虽然已参考各种实施例描述本发明,但是应了解这些实施例是说明性的且本发明的范围不限于此类实施例。许多变动、修改、添加及改进是可能的。更一股来说,在上下文或特定实施例中已描述根据本发明的实施例。功能性可在本发明的各种实施例的不同块中被分开或组合或用不同术语来描述。这些变动、修改、添加及改进以及其它变动、修改、添加及改进可属于如在所附权利要求书中所定义的本发明的范围之内。
Claims (20)
1.一种通过预期的预处理减少所服务的应用程序的等待时间的方法,所述方法包括:
从至少一个服务器将至少一个应用程序的至少一个第一状态传输到至少一个客户端,所述至少一个服务器托管所述至少一个应用程序;
利用所述至少一个服务器确定来自所述至少一个客户端的对所述至少一个第一状态的至少一个期望的客户端响应将是有限组的可能的客户端响应中的至少一者;
在从所述至少一个客户端接收到所述至少一个期望的客户端响应之前,利用所述至少一个服务器利用来自所述有限组的可能的客户端响应的至少一个可能的客户端响应产生所述至少一个应用程序的至少一个额外状态;及
从所述至少一个服务器将所述至少一个额外状态提供给所述至少一个客户端。
2.根据权利要求1所述的方法,其中从所述至少一个服务器将所述至少一个额外状态提供给所述至少一个客户端的所述操作进一步包括:响应于接收到所述至少一个期望的客户端响应而从所述至少一个服务器将所述至少一个额外状态提供给所述至少一个客户端,其中所述至少一个期望的客户端响应等于所述至少一个可能的客户端响应。
3.根据权利要求1所述的方法,其中从所述至少一个服务器将所述至少一个额外状态提供给所述至少一个客户端的所述操作进一步包括:在接收到所述至少一个期望的客户端响应之前,从所述至少一个服务器将所述至少一个额外状态提供给所述至少一个客户端。
4.根据权利要求3所述的方法,其中当对应于所述至少一个期望的客户端响应的至少一个用户输入等于所述至少一个可能的客户端响应时,所述至少一个客户端利用所述所提供的至少一个额外状态。
5.根据权利要求1所述的方法,其中在从所述至少一个客户端接收到所述至少一个期望的客户端响应之前利用所述至少一个服务器利用来自所述有限组的可能的客户端响应的至少一个可能的客户端响应产生所述至少一个应用程序的至少一个额外状态的所述操作进一步包括:利用所述相应的可能的客户端响应产生所述有限组的可能的客户端响应中的每一个可能的客户端响应的至少一个状态。
6.根据权利要求1所述的方法,其中在从所述至少一个客户端接收到所述至少一个期望的客户端响应之前利用所述至少一个服务器利用来自所述有限组的可能的客户端响应的至少一个可能的客户端响应产生所述至少一个应用程序的至少一个额外状态的所述操作进一步包括:
将所述有限组的可能的客户端响应中的每一者定义为潜在的等待时间起因或非潜在的等待时间起因;及
利用所述相应的可能的客户端响应产生定义为潜在的等待时间起因的所述有限组的可能的客户端响应中的每一个可能的客户端响应的至少一个状态。
7.根据权利要求1所述的方法,其中在从所述至少一个客户端接收到所述至少一个期望的客户端响应之前利用所述至少一个服务器利用来自所述有限组的可能的客户端响应的至少一个可能的客户端响应产生所述至少一个应用程序的至少一个额外状态的所述操作进一步包括:
确定所述有限组的可能的客户端响应中的每一个可能的客户端响应将等于所述至少一个期望的客户端响应的可能性;及
利用所述相应的可能的客户端响应产生所述有限组的可能的客户端响应中的多个可能的客户端响应中的每一者的至少一个状态,所述多个可能的客户端响应具有比所述有限组的可能的客户端响应中的其它可能的客户端响应更高的确定的可能性。
8.根据权利要求7所述的方法,其中基于先前的客户端响应的统计分析而确定所述有限组的可能的客户端响应中的每一个可能的客户端响应将等于所述至少一个期望的客户端响应的所述可能性。
9.根据权利要求1所述的方法,其中在从所述至少一个客户端接收到所述至少一个期望的客户端响应之前利用所述至少一个服务器利用来自所述有限组的可能的客户端响应的至少一个可能的客户端响应产生所述至少一个应用程序的至少一个额外状态的所述操作进一步包括:
确定所述服务器的目前负载;及
利用所述相应的可能的客户端响应产生所述有限组的可能的客户端响应中的选定数目个可能的客户端响应中的每一者的至少一个状态,其中所述选定数目个客户端响应的选择是基于所述服务器的所述确定的目前负载。
10.根据权利要求1所述的方法,其中所述至少一个应用程序包括至少一个视频游戏。
11.一种用于通过预期的预处理减少服务的应用程序的等待时间的系统,所述系统包括:
至少一个通信组件,其经配置以与至少一个客户端通信;
至少一个非暂态存储媒体,其存储至少一个系列的指令;及
至少一个处理单元,其执行所述至少一个系列的指令以:
经由所述至少一个通信组件将由所述至少一个处理单元所托管的至少一个应用程序的至少一个第一状态传输到所述至少一个客户端;
确定来自所述至少一个客户端的对所述至少一个第一状态的至少一个期望的客户端响应将是有限组的可能的客户端响应中的至少一者;
在经由所述至少一个通信组件从所述至少一个客户端接收到所述至少一个期望的客户端响应之前,利用来自所述有限组的可能的客户端响应的至少一个可能的客户端响应产生所述至少一个应用程序的至少一个额外状态;及
经由所述至少一个通信组件将所述至少一个额外状态提供给所述至少一个客户端。
12.根据权利要求11所述的系统,其中所述至少一个处理单元确定目前的处理负载且利用所述相应的可能的客户端响应产生所述有限组的可能的客户端响应中的选定数目个可能的客户端响应中的每一者的至少一个状态,其中所述至少一个处理单元基于所述确定的目前处理负载选择所述选定数目。
13.根据权利要求11所述的系统,其中所述至少一个处理单元确定所述有限组的可能的客户端响应中的每一个可能的客户端响应将等于所述至少一个期望的客户端响应的可能性且利用所述相应的可能的客户端响应产生所述有限组的可能的客户端响应中的多个可能的客户端响应中的每一者的至少一个状态,所述多个可能的客户端响应具有比所述有限组的可能的客户端响应中的其它可能的客户端响应更高的确定的可能性。
14.根据权利要求13所述的系统,其中所述至少一个处理单元通过执行先前的客户端响应的统计分析而确定所述有限组的可能的客户端响应中的每一个可能的客户端响应将等于所述至少一个期望的客户端响应的所述可能性。
15.根据权利要求11所述的系统,其中所述至少一个处理单元将所述有限组的可能的客户端响应中的每一者定义为潜在的等待时间起因或非潜在的等待时间起因且利用所述相应的可能的客户端响应产生定义为潜在的等待时间起因的所述有限组的可能的客户端响应中的每一个可能的客户端响应的至少一个状态。
16.根据权利要求11所述的系统,其中所述至少一个处理单元利用所述相应的可能的客户端响应产生所述有限组的可能的客户端响应中的每一个可能的客户端响应的至少一个状态。
17.根据权利要求11所述的系统,其中在接收到所述至少一个期望的客户端响应之前,所述至少一个处理单元经由所述至少一个通信组件将所述至少一个额外状态提供给所述至少一个客户端。
18.根据权利要求11所述的系统,其进一步包括所述至少一个客户端,其中当对应于所述至少一个期望的客户端响应的至少一个用户输入等于所述至少一个可能的客户端响应时,所述至少一个客户端利用所述提供的至少一个额外状态。
19.根据权利要求11所述的系统,其中响应于经由所述至少一个通信组件接收到所述至少一个期望的客户端响应,所述至少一个处理单元经由所述至少一个通信组件将所述至少一个额外提供给所述至少一个客户端,其中所述至少一个期望的客户端响应等于所述至少一个可能的客户端响应。
20.一种计算机程序产品,其包括:
第一组指令,其存储在至少一个非暂态机器可读取媒体中,可由至少一个处理单元执行以从至少一个服务器将至少一个应用程序的至少一个第一状态传输到至少一个客户端,所述至少一个服务器托管所述至少一个应用程序;及
第二组指令,其存储在所述至少一个非暂态机器可读取媒体中,可由所述至少一个处理单元执行以确定来自所述至少一个客户端的对所述至少一个第一状态的至少一个期望的客户端响应将是有限组的可能的客户端响应中的至少一者;
第三组指令,其存储在所述至少一个非暂态机器可读取媒体中,可由所述至少一个处理单元执行以在从所述至少一个客户端接收到所述至少一个期望的客户端响应之前利用来自所述有限组的可能的客户端响应的至少一个可能的客户端响应产生所述至少一个应用程序的至少一个额外状态;及
第四组指令,其存储在所述至少一个非暂态机器可读取媒体中,可由所述至少一个处理单元执行以将所述至少一个额外状态提供给所述至少一个客户端。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/090,024 US8751564B2 (en) | 2011-04-19 | 2011-04-19 | Reducing latency for served applications by anticipatory preprocessing |
US13/090,024 | 2011-04-19 | ||
PCT/US2012/033935 WO2012145315A1 (en) | 2011-04-19 | 2012-04-17 | Reducing latency for served applications by anticipatory preprocessing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103502977A true CN103502977A (zh) | 2014-01-08 |
CN103502977B CN103502977B (zh) | 2016-08-24 |
Family
ID=46025941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280019564.9A Active CN103502977B (zh) | 2011-04-19 | 2012-04-17 | 通过预期的预处理减少所服务的应用程序的等待时间 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8751564B2 (zh) |
EP (1) | EP2700023B1 (zh) |
CN (1) | CN103502977B (zh) |
BR (1) | BR112013026571B1 (zh) |
CA (1) | CA2833346C (zh) |
MX (1) | MX2013012095A (zh) |
TW (1) | TWI475407B (zh) |
WO (1) | WO2012145315A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8739186B2 (en) | 2011-10-26 | 2014-05-27 | Autodesk, Inc. | Application level speculative processing |
US9009734B2 (en) * | 2012-03-06 | 2015-04-14 | Autodesk, Inc. | Application level speculative processing |
US11823016B2 (en) * | 2019-05-29 | 2023-11-21 | Bank Of America Corporation | Optimized IoT data processing for real-time decision support systems |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020054104A1 (en) * | 1998-11-03 | 2002-05-09 | Stephen C. Berczik | Anticipatory processing for a graphical user interface |
CN1664839A (zh) * | 2004-03-01 | 2005-09-07 | 微软公司 | 确定数据意向并基于该意向响应数据的系统和方法 |
US20070100890A1 (en) * | 2005-10-26 | 2007-05-03 | Kim Tae-Il | System and method of providing autocomplete recommended word which interoperate with plurality of languages |
CN1975715A (zh) * | 2005-11-30 | 2007-06-06 | 国际商业机器公司 | 用于对消息应用中收到的文本消息编写回复的方法和系统 |
US20080109401A1 (en) * | 2006-09-12 | 2008-05-08 | Microsoft Corporation | Presenting predetermined search results with query suggestions |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6791580B1 (en) * | 1998-12-18 | 2004-09-14 | Tangis Corporation | Supplying notifications related to supply and consumption of user context data |
WO2004036456A2 (en) * | 2002-10-18 | 2004-04-29 | International Business Machines Corporation | Method and system for online analytical processing (olap) |
AU2003269448B2 (en) | 2002-10-30 | 2008-08-28 | Nds Limited | Interactive broadcast system |
US7634570B2 (en) * | 2003-03-12 | 2009-12-15 | Microsoft Corporation | Managing state information across communication sessions between a client and a server via a stateless protocol |
US7685144B1 (en) | 2005-12-29 | 2010-03-23 | Google Inc. | Dynamically autocompleting a data entry |
US8130245B2 (en) * | 2007-01-18 | 2012-03-06 | Harris Corporation | System and method for processing map images |
US20090132582A1 (en) * | 2007-11-15 | 2009-05-21 | Kim Moon J | Processor-server hybrid system for processing data |
US9354804B2 (en) * | 2010-12-29 | 2016-05-31 | Microsoft Technology Licensing, Llc | Touch event anticipation in a computing device |
-
2011
- 2011-04-19 US US13/090,024 patent/US8751564B2/en active Active
-
2012
- 2012-04-17 BR BR112013026571-0A patent/BR112013026571B1/pt active IP Right Grant
- 2012-04-17 MX MX2013012095A patent/MX2013012095A/es active IP Right Grant
- 2012-04-17 CA CA2833346A patent/CA2833346C/en active Active
- 2012-04-17 CN CN201280019564.9A patent/CN103502977B/zh active Active
- 2012-04-17 EP EP12718511.4A patent/EP2700023B1/en active Active
- 2012-04-17 WO PCT/US2012/033935 patent/WO2012145315A1/en active Application Filing
- 2012-04-19 TW TW101114010A patent/TWI475407B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020054104A1 (en) * | 1998-11-03 | 2002-05-09 | Stephen C. Berczik | Anticipatory processing for a graphical user interface |
CN1664839A (zh) * | 2004-03-01 | 2005-09-07 | 微软公司 | 确定数据意向并基于该意向响应数据的系统和方法 |
US20070100890A1 (en) * | 2005-10-26 | 2007-05-03 | Kim Tae-Il | System and method of providing autocomplete recommended word which interoperate with plurality of languages |
CN1975715A (zh) * | 2005-11-30 | 2007-06-06 | 国际商业机器公司 | 用于对消息应用中收到的文本消息编写回复的方法和系统 |
US20080109401A1 (en) * | 2006-09-12 | 2008-05-08 | Microsoft Corporation | Presenting predetermined search results with query suggestions |
Also Published As
Publication number | Publication date |
---|---|
CA2833346A1 (en) | 2012-10-26 |
MX2013012095A (es) | 2014-04-16 |
BR112013026571A2 (pt) | 2016-12-27 |
US20120271876A1 (en) | 2012-10-25 |
CA2833346C (en) | 2016-07-19 |
EP2700023B1 (en) | 2021-05-26 |
TWI475407B (zh) | 2015-03-01 |
CN103502977B (zh) | 2016-08-24 |
TW201305832A (zh) | 2013-02-01 |
WO2012145315A1 (en) | 2012-10-26 |
BR112013026571B1 (pt) | 2021-11-03 |
EP2700023A1 (en) | 2014-02-26 |
US8751564B2 (en) | 2014-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070191100A1 (en) | Game builder for mobile device-based games | |
WO2009140386A1 (en) | Apparatus and methods for interacting with multiple information forms across multiple types of computing devices | |
JP2007241394A (ja) | 分割処理管理装置及び分割処理管理システム及び演算処理実行システム及び分割処理管理方法 | |
US11157320B2 (en) | Optimizing runtime environments | |
CN110399214B (zh) | 一种优化显卡负载的方法、装置及计算机设备 | |
US20090125880A1 (en) | Polymorphic software architecture | |
CN103502977A (zh) | 通过预期的预处理减少所服务的应用程序的等待时间 | |
CN110956500A (zh) | 一种广告实时竞价系统中降低广告请求耗时的方法及系统 | |
CN112295234B (zh) | 获取游戏道具的方法和装置 | |
US8949344B2 (en) | Asynchronous queued messaging for web applications | |
CN116954926A (zh) | 服务器资源分配方法及装置 | |
JP2021096817A (ja) | オンラインサービス接続制御装置および方法 | |
US20180061258A1 (en) | Data driven feature discovery | |
US8042061B1 (en) | Method and system for interface presentation | |
KR101417947B1 (ko) | 온라인 게임에서의 유저 제스처 입력 처리 방법 | |
CN112585985A (zh) | 提供有关数字内容的活动通知 | |
CN113144606B (zh) | 虚拟对象的技能触发方法及相关设备 | |
US11258838B2 (en) | Method, system, and non-transitory computer readable record medium for processing chatroom based on usage | |
CN114979686A (zh) | 直播互动方法、装置、电子设备及存储介质 | |
US20060064632A1 (en) | Method and system to inverse graphs | |
CN106776947A (zh) | 资源获取方法、装置及终端 | |
CN114679596B (zh) | 基于游戏直播的互动方法、装置、电子设备及存储介质 | |
CN118245237A (zh) | 算力资源访问方法、系统及计算设备 | |
KR20220139052A (ko) | 클라우드 게임 서비스 제공 장치 및 클라우드 게임 서비스 제공 방법 | |
CN118069524A (zh) | 仿真压力测试方法、系统、计算设备及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: American Colorado Patentee after: DISH Technologies LLC Address before: American Colorado Patentee before: ECHOSTAR TECHNOLOGIES LLC |