【技术实现步骤摘要】
【国外来华专利技术】具有远程设备输入同步的流应用环境
技术介绍
一些应用服务提供将软件应用(更简单地“应用”或“app”)交互“流传输”到远程设备(例如,诸如智能电话、平板电脑、车辆计算系统、可穿戴设备(例如,智能手表)等等的移动设备)的能力。这样的应用的流传输可以允许用户操作应用而无需在远程设备上本地实际下载和安装应用,这在具有有限处理和/或存储器资源的远程设备中可能是有用的,或者为了试用应用的目的。在一些实例中,可以通过在由一个或多个服务器(例如,共同形成的所谓的“云”)操作的虚拟机上安装应用来完成应用流传输,由此一个或多个输入/输出(“I/O”)流可以在虚拟机和远程设备之间建立以向虚拟机提供在远程设备处接收到的输入数据的各种模态,并且同样地向远程设备提供由来自于虚拟机的应用生成的输出数据的各种模态。在一些实例中,应用服务在能够支持一个或多个虚拟流应用以供一个或多个远程设备使用的流应用环境中实现。此外,在一些实例中,虚拟流应用生成的内容可以以被捕获、编码并流传输到远程设备以进行视频回放的渲染帧缓冲器的形式输出。然后,在远程设备上,诸如手势或触摸事件和其他输入的用户控制信息可以被捕获、编码并被上传到流应用环境并注入虚拟流应用以相应地渲染其内容。然而,即使超出在远程设备上的本地应用所渲染的同步挑战,将用户控制信息和其他输入的注入与远程设备上的应用内容的渲染同步也能够是有问题的。例如,在诸如移动设备的计算设备包括能够被用户的手指操纵的触摸屏的情况下,确保通过渲染的内容跟踪诸如手指滑动或滚动手势的用户输入即使对于本地已安装的应用也能够是挑战性的。作为示例,使用多个事件来处理针对触摸屏的 ...
【技术保护点】
1.一种方法,包括,在包括一个或多个处理器的流应用环境中:将虚拟流应用与通过分组交换网络耦合到流应用环境的远程设备对接,包括从所述分组交换网络接收在所述远程设备处生成的输入并且将响应于接收到的输入由所述虚拟流应用生成的输出显示表示通过所述分组交换网络流传输到所述远程设备;从所述远程设备接收帧刷新事件,每个帧刷新事件与所述远程设备上的帧相关联;从所述远程设备接收输入事件,每个输入事件与在所述远程设备上的帧期间生成的输入相关联;生成用于与和接收到的帧刷新事件相关联的所述帧相对应的所述虚拟流应用的虚拟帧;以及控制将接收到的输入事件注入到所述虚拟流应用中以将接收到的输入事件排列在与和接收到的输入事件相关联的所述帧相对应的所述虚拟帧内。
【技术特征摘要】
【国外来华专利技术】2016.11.18 US 62/424,167;2016.12.02 US 15/368,5351.一种方法,包括,在包括一个或多个处理器的流应用环境中:将虚拟流应用与通过分组交换网络耦合到流应用环境的远程设备对接,包括从所述分组交换网络接收在所述远程设备处生成的输入并且将响应于接收到的输入由所述虚拟流应用生成的输出显示表示通过所述分组交换网络流传输到所述远程设备;从所述远程设备接收帧刷新事件,每个帧刷新事件与所述远程设备上的帧相关联;从所述远程设备接收输入事件,每个输入事件与在所述远程设备上的帧期间生成的输入相关联;生成用于与和接收到的帧刷新事件相关联的所述帧相对应的所述虚拟流应用的虚拟帧;以及控制将接收到的输入事件注入到所述虚拟流应用中以将接收到的输入事件排列在与和接收到的输入事件相关联的所述帧相对应的所述虚拟帧内。2.根据权利要求1所述的方法,其中,所述分组交换网络包括因特网,并且其中所述远程设备包括移动电话、平板计算机、可穿戴计算机或车辆计算机。3.根据权利要求1或者权利要求2所述的方法,其中,来自所述远程设备的所述帧刷新事件基于所述远程设备的帧刷新率来生成,并且其中生成所述虚拟帧包括:控制虚拟帧刷新率以跟踪所述远程设备的所述帧刷新率。4.根据前述权利要求中的任意一项所述的方法,其中,生成用于所述虚拟流应用的虚拟帧包括:响应于从所述远程设备接收到的第一帧刷新事件生成第一虚拟帧刷新事件。5.根据权利要求4所述的方法,其中,生成所述第一虚拟帧刷新事件包括:控制在向所述虚拟流应用发出所述第一虚拟帧刷新事件和从所述远程设备接收所述第一帧刷新事件之间的延迟。6.根据权利要求5所述的方法,其中,控制所述延迟包括根据以下来调度所述第一虚拟帧刷新事件的发出:V(t)=A(t’)+(t-t’)+D其中,t是在从所述远程设备接收到的所述第一帧刷新事件内包括的时间戳,t'是相对最小的单向网络延迟,V(t)是发出所述第一虚拟帧刷新事件的所述流应用环境中的发出时间,A(t')是从所述远程设备接收所述第一帧刷新事件的所述流应用环境中的接收时间,并且D是最大回放延迟。7.根据权利要求5所述的方法,其中,控制所述延迟包括基于在所述分组交换网络中的观察到的网络抖动来改变所述延迟。8.根据权利要求4至7中的任意一项所述的方法,其中,生成用于所述虚拟流应用的虚拟帧包括:响应于发出所述第一虚拟帧刷新事件并且基于从接收自所述远程设备的先前帧刷新事件的外推来调度下一个虚拟帧刷新事件的发出,使得不管来自所述远程设备的下一个帧刷新事件的延迟或丢失如何也发出所述下一个虚拟帧刷新事件。9.根据权利要求4至7中的任意一项所述的方法,其中,生成用于所述虚拟流应用的虚拟帧包括:响应于发出所述第一虚拟帧刷新事件并且基于所述第一帧刷新事件和从所述远程设备接收到的稍后的帧刷新事件之间的内插来调度下一个虚拟帧刷新事件的发出,使得不管来自所述远程设备的下一个帧刷新事件的延迟或丢失如何也发出所述下一个虚拟帧刷新事件。10.根据前述权利要求中的任意一项所述的方法,其中,所述流应用环境进一步包括视频流组件,所述视频流组件被配置成流传输由所述虚拟流应用生成的所述输出显示表示,并且所述方法进一步包括:以相对于所述第一虚拟帧刷新事件的受控延迟调度第一流组件帧刷新事件到所述视频流组件的发出。11.根据前述权利要求中的任意一项所述的方法,其中,控制将接收到的输入事件注入到所述虚拟流应用中包括:对接收到的输入事件进行排队,包括针对每个接收到的输入事件排队相关联的时间戳;和在与所述远程设备上的第一帧相对应的第一虚拟帧期间:忽略是重复的任何排队输入事件;注入按时的任何排队输入事件;丢弃迟到的任何排队输入事件;并且继续排队早到的任何排队输入事件。12.根据前述权利要求中的任意一项所述的方法,其中,每个输入事件与指向所述远程设备的...
【专利技术属性】
技术研发人员:张倬领,吴平浩,
申请(专利权)人:谷歌有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。