Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD, APPARATUS, AND SYSTEM FOR IMPLEMENTING ONLINE APPLICATION
Document Type and Number:
WIPO Patent Application WO/2013/143395
Kind Code:
A1
Abstract:
Embodiments of the present invention provide a method, an apparatus, and a system for implementing an online application, relate to the field of communications, and are used for implementing that, for a same application supporting single-machine-multiple-user in an online application platform, a user may implement application interaction through different terminals, so as to improve the user experience. The method comprises: receiving a first connection request message sent by a terminal, the first connection request message carrying a user identifier of the terminal and a device identifier of a first input device of the activated terminal; selecting a first virtual input unit for the first input device of the terminal; establishing a mapping relationship between the first virtual input unit and the first input device of the terminal according to the user identifier of the terminal and the device identifier of the first input device of the terminal; sending a first connection response message to the terminal; and sending an application preparation completion message to a terminal connected to a virtual machine. The present invention is applicable to an online application scenario.

Inventors:
QIN JIN (CN)
DANG PEI (CN)
GAUTAM DEEPANSHU (CN)
Application Number:
PCT/CN2013/072569
Publication Date:
October 03, 2013
Filing Date:
March 14, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
H04L29/06
Foreign References:
CN102204210A2011-09-28
CN102298536A2011-12-28
CN101520738A2009-09-02
CN102291452A2011-12-21
Download PDF:
Claims:
权利要求

1、 一种在线应用的实现方法, 其特征在于, 包括:

接收终端发送的第一连接请求消息;所述第一连接请求消息中携 带有所述终端的用户标识和已启动的所述终端的第一输入设备的设 备标识;

为所述终端的第一输入设备选择第一虚拟输入单元,所述第一虚 拟输入单元为虚拟机中空闲的虚拟输入单元;

根据所述终端的用户标识和所述终端的第一输入设备的设备标 识,建立所述第一虚拟输入单元与所述终端的第一输入设备的映射关 系;

向所述终端发送第一连接响应消息, 以便通知所述终端连接完 成;

向已连接到虚拟机的终端发送应用准备完成消息,以便虚拟机与 连接到虚拟机的终端进行指令和 /或数据的传输。

2、 根据权利要求 1所述的方法, 其特征在于, 还包括: 所述虚拟机还接收所述终端发送的第二连接请求消息;所述第二 连接请求消息携带有所述终端的用户标识和已启动的所述终端的第 二输入设备的设备标识;

为所述终端的第二输入设备选择第二虚拟输入单元,所述第二虚 拟输入单元为虚拟机中空闲的虚拟输入单元;

根据所述终端的用户标识和已启动的所述终端的第二输入设备 的设备标识,建立所述第二虚拟输入单元与所述终端的第二输入设备 的映射关系;

向所述终端发送第二连接响应消息。

3、 根据权利要求 1或 2所述的方法, 其特征在于, 在所述虚拟 机接收所述终端发送的第一连接请求消息之前, 该方法还包括: 接收虚拟机管理器所发送的第二应用启动请求消息;所述第二应 用启动请求消息中携带有第一标识和应用标识;所述第一标识用于指 示其他输入设备是否可加入到应用中;

根据所述第二应用启动请求消息中的第一标识建立至少一个虚 拟输入单元, 并 居所述应用标识启动应用; 发送第二应用启动响应消息至虚拟机管理器,以使得虚拟机管理 器发送携带有所述虚拟机地址信息的第一应用启动响应消息至所述 终端, 以便所述终端向所述虚拟机发送第一连接请求消息。

4、 根据权利要求 3所述的方法, 其特征在于, 所述第二应用启 动请求消息中还携带有所述终端设定的可连接的输入设备的数量。

5、 根据权利要求 4所述的方法, 其特征在于, 所述根据第二应 用启动请求消息中的第一标识建立至少一个虚拟输入单元具体为: 若所述第一标识指示不允许其他输入设备加入到该应用中,则建 立一个虚拟输入单元;

若所述第一标识指示允许其他输入设备加入到该应用中,且所述 第二应用启动请求消息中携带有所述第一终端设定的可连接的输入 设备的数量, 则建立与所述终端设定的可连接的输入设备的数量相 同数量的虚拟输入单元。

6、 根据权利要求 5所述的方法, 其特征在于, 若所述第一标识 指示允许其他输入设备加入到该应用中,且所述第二应用启动请求消 息中没有携带所述终端设定的可连接的输入设备的数量或所述终端 设定的可连接的输入设备的数量大于应用允许接入的最大连接数量, 则根据应用允许接入的最大连接数量建立虚拟输入单元。

7、 根据权利要求 3-6任一项所述的方法, 其特征在于, 所述已 向连接到虚拟机的终端发送应用准备完成消息包括:

根据所述第二应用启动请求消息中的应用标识确定此应用的类 型;

若所述应用的类型为应用不支持应用运行过程中添加用户的类型, 则检测是否有空闲的虚拟输入单元, 若没有空闲的虚拟输入单元, 则 向已连接到虚拟机的终端发送准备完成消息;

若所述应用的类型为应用支持应用运行过程中添加用户的类型,则 向已连接到虚拟机的终端发送应用准备完成消息。

8、 根据权利要求 1 -7任一项所述的方法, 其特征在于, 所述与 连接到虚拟机的终端进行指令和 /或数据的传输具体包括:

接收输入设备通过所述终端发送的指令和 /或数据;

根据所述指令和 /或数据更新应用的程序, 并获取应用处理响应 信息, 所述应用处理响应信息中包括响应的视频和 /或音频的数据信 息;

分别确定已连接到所述虚拟机的终端的编码方式,将所述应用处 理响应信息根据所述编码方式进行相应的编码,并将编码后的所述应 用处理响应信息发送至相应的终端。

9、 根据权利要求 8所述的方法, 其特征在于, 在所述根据所述 指令和 /或数据更新所述应用的程序中, 并获取应用处理响应信息, 所述应用处理响应信息中包括响应的视频和 /或音频的数据信息之 前, 该方法还包括:

若虚拟机的处理模块不识别所述终端发送的指令和 /或数据时, 将接收到的所述指令和 /或数据转换为虚拟机的处理模块 识别的指 令和 /或数据。

10、 一种在线应用的实现方法, 其特征在于, 包括:

终端向虚拟机发送第一连接请求消息;所述第一连接请求消息中 携带有所述终端的用户标识和已启动的所述终端的第一输入设备的 设备标识,以使得所述虚拟机根据所述终端的用户标识和所述终端的 第一输入设备的设备标识,建立第一虚拟输入单元与所述终端的第一 输入设备的映射关系;所述第一虚拟输入单元为虚拟机中空闲的虚拟 输入单元;

接收所述虚拟机发送的第一连接响应消息;

接收所述虚拟机发送的应用准备完成消息,以便与所述虚拟机进 行指令和 /或数据的传输。

11、 根据权利要求 10所述的方法, 其特征在于, 该方法进一步 包括:

所述终端向虚拟机管理器发送第一应用启动请求消息或应用加 入请求消息; 所述第一应用启动请求消息中携带有第一标识、应用标 识和终端性能信息;所述第一标识用于指示其他输入设备是否可加入 到应用中; 所述应用加入请求消息中携带有应用标识、 已连接到虚拟 机的终端的用户标识;

接收虚拟机管理器发送的第一应用启动响应消息或应用加入响 应消息,所述第一应用启动响应消息或应用加入响应消息中携带有虚 拟机地址信息。

12、 根据权利要求 11所述的方法, 其特征在于, 所述第一应用 启动请求消息中还携带有所述终端设定的可连接的输入设备的数量。

13、 根据权利要求 10-12任一项所述的方法, 其特征在于, 还包 括:

所述终端根据所述虚拟机地址信息向所述虚拟机发送第二连接 请求消息;所述第二连接请求消息中携带有所述终端的用户标识和已 启动的所述终端的第二输入设备的设备标识;以使得所述虚拟机根据 所述终端的用户标识和所述终端的第二输入设备的设备标识,建立第 二虚拟输入单元与所述终端的第二输入设备的映射关系;所述第二虚 拟输入单元为虚拟机中空闲的虚拟输入单元;

接收所述虚拟机发送的第二连接响应消息。

14、 一种在线应用的实现方法, 其特征在于, 包括:

虚拟机管理器接收第一终端发送的第一应用启动请求消息;所述 第一应用启动请求消息中携带有第一标识、应用标识和第一终端的终 端性能信息;所述第一标识用于指示其他输入设备是否可加入到应用 中;

根据所述第一应用启动请求消息中的应用标识和第一终端的终 端性能信息, 选择虚拟机;

向所述虚拟机发送第二应用启动请求消息;所述第二应用启动请 求消息中携带有第一标识和应用标识,以便于所述虚拟机根据所述第 二应用启动请求消息中的第一标识建立至少一个虚拟输入单元,并根 据所述应用标识启动应用;

接收所述虚拟机发送的第二应用启动响应消息,并发送第一应用 启动响应消息至所述第一终端,所述第一应用启动响应消息中携带有 虚拟机地址信息 ,以便于第一终端 居虚拟机地址信息向所述虚拟机 发送第一连接请求消息, 第一终端发送的所述第一连接请求消息中 携带有所述第一终端的用户标识和已启动的所述第一终端的第一输 入设备的设备标识。

15、 根据权利要求 14所述的方法, 其特征在于, 所述第二应用 启动请求消息中还携带有所述第一终端设定的可连接的输入设备的 数量。

16、 根据权利要求 14或 15所述的方法, 其特征在于, 若所述第 一标识指示允许其他输入设备加入到该应用中, 则所述方法还包括: 接收第二终端发送的应用加入请求消息 ,所述应用加入请求消息 中携带有应用标识、 已连接到虚拟机的终端的用户标识;

根据所述应用加入请求消息的应用标识和所述已连接到虚拟机 的终端的用户标识获取所述虚拟机地址信息;

向所述第二终端发送应用加入响应消息,所述应用加入响应消息 携带有获取的虚拟机地址信息,以使得所述第二终端根据虚拟机地址 信息向所述虚拟机发送第一连接请求消息,第二终端发送的所述第一 连接请求消息携带有所述第二终端的用户标识和已启动的所述第二 终端的第一输入设备的设备标识。

17、 一种虚拟机, 其特征在于, 包括:

第一接收模块, 用于接收终端发送的第一连接请求消息; 所述第 一连接请求消息中携带有所述终端的用户标识和已启动的所述终端 的第一输入设备的设备标识;

选择模块,用于为所述终端的第一输入设备选择第一虚拟输入单 元; 所述第一虚拟输入单元为虚拟机中空闲的虚拟输入单元;

第一建立模块,用于根据所述终端的用户标识和所述终端的第一 输入设备的设备标识,建立所述第一虚拟输入单元与所述终端的输入 设备的映射关系;

第一发送模块, 用于向所述终端发送第一连接响应消息, 以便通 知所述终端连接完成;以及向已连接到虚拟机的终端发送应用准备完 成消息, 以便虚拟机与连接到虚拟机的终端进行指令和 /或数据的传 输。

18、 根据权利要求 17所述的虚拟机, 其特征在于,

所述第一接收模块,还用于接收所述终端发送的第二连接请求消 息;所述第二连接请求消息携带有所述终端的用户标识和已启动的所 述终端的第二输入设备的设备标识;

所述选择模块,还用于为所述终端的第二输入设备选择第二虚拟 输入单元;

所述第一建立模块,还用于根据所述终端的用户标识和已启动的 所述终端的第二输入设备的设备标识建立所述第二虚拟输入单元与 所述终端的第二输入设备的映射关系;

所述第一发送模块, 还用于向所述终端发送第二连接响应消息。 19、根据权利要求 17或 18所述的虚拟机,其特征在于,还包括: 所述第一接收模块,还用于接收虚拟机管理器所发送的第二应用 启动请求消息;所述第二应用启动请求消息中携带有第一标识和应用 标识; 所述第一标识用于指示其他输入设备是否可加入到应用中; 启动模块, 用于根据所述应用标识启动应用;

第二建立模块,用于根据所述第二应用启动请求消息中的第一标 识建立至少一个虚拟输入单元;

所述第一发送模块,还用于发送第二应用启动响应消息至虚拟机 管理器,以使得虚拟机管理器发送携带有所述虚拟机地址信息的第一 应用启动响应消至所述终端,以便所述终端向所述虚拟机发送第一连 接请求消息。

20、 根据权利要求 19所述的虚拟机, 其特征在于, 所述第二应 用启动请求消息中还携带有所述终端设定的可连接的输入设备的数 量。

21、 根据权利要求 20所述的虚拟机, 其特征在于, 所述第二建 立模块具体用于:

若所述第一标识指示不允许其他输入设备加入到该应用中,则建 立一个虚拟输入单元;

若所述第一标识指示允许其他输入设备加入到该应用中,且所述 第二应用启动请求消息中携带有所述终端设定的可连接的输入设备 的数量, 则建立与所述终端设定的可连接的输入设备的数量相同数 量的虚拟输入单元;

若所述第一标识指示允许其他输入设备加入到该应用中,且所述 第二应用启动请求消息中没有携带所述终端设定的可连接的输入设 备的数量或所述终端设定的可连接的输入设备的数量大于应用允许 接入的最大连接数量,则根据应用允许接入的最大连接数量建立虚拟 输入单元。

22、 根据权利要求 19-21任一项所述的虚拟机, 其特征在于, 还 包括:

确定模块,用于根据所述第二应用启动请求消息中的应用标识确 定此应用的类型;

检测模块, 用于检测是否有空闲的虚拟输入单元; 所述第一发送模块具体用于:若所述确定单元模块所述应用的类 型为应用不支持应用运行过程中添加用户的类型, 且所述检测模块检测 到没有空闲的虚拟输入单元,则向所述已连接到虚拟机的终端发送准 备完成消息; 若所述确定模块确定应用的类型为应用支持应用运行过 程中添加用户的类型, 则向所述已连接到虚拟机的终端发送应用准备 完成消息。

23、 根据权利要求 17-22任一项所述的虚拟机, 其特征在于, 还 包括:

所述第一接收模块,还用于接收输入设备通过终端发送的指令和 /或数据;

处理模块, 用于根据所述指令和 /或数据更新所述应用的程序, 并获取应用处理响应信息,所述应用处理响应信息中包括响应的视频 和 /或音频的数据信息;

编码模块, 用于分别确定已连接到应用的终端的编码方式, 将所 述应用处理响应信息根据所述编码方式进行相应的编码;

所述第一发送模块,用于将编码后的所述应用处理响应信息发送 至相应的终端。

24、 根据权利要求 23所述的虚拟机, 其特征在于, 还包括: 转换模块, 用于若处理模块不识别所述指令和 /或数据, 则将接 收到的所述指令和 /或数据转换为处理模块识别的指令和 /或数据。

25、 一种终端, 其特征在于, 包括:

输入设备, 用于输入指令和 /或数据;

记录单元, 用于记录输入设备的设备标识;

第一发送单元, 用于向虚拟机发送第一连接请求消息; 所述第一 连接请求消息中携带有所述终端的用户标识和已启动的所述终端的 第一输入设备的设备标识,以使得所述虚拟机根据所述终端的用户标 识和所述终端的第一输入设备的设备标识建立第一虚拟输入单元与 所述第一输入设备的映射关系;所述第一虚拟输入单元为虚拟机中空 闲的虚拟输入单元;

第一接收单元, 用于接收所述虚拟机发送的第一连接响应消息; 以及用于接收所述虚拟机发送的应用准备完成消息,以便终端与所述 虚拟机进行指令和 /或数据的传输; 处理单元, 用于与所述虚拟机进行指令和 /或数据的传输。

26、 根据权利要求 25所述的终端, 其特征在于,

所述第一发送单元,还用于向虚拟机管理器发送所述第一应用启 动请求消息或应用加入请求消息;所述第一应用启动请求消息中携带 有第一标识、应用标识; 所述第一标识用于指示其他输入设备是否可 加入到应用中; 所述应用加入请求消息中携带有应用标识、 已连接到 虚拟机的终端的用户标识;

所述第一接收单元,还用于接收虚拟机管理器发送的第一应用响 应消息或应用加入响应消息,所述第一应用响应消息或应用加入响应 消息中携带有虚拟机地址信息。

27、 根据权利要求 25或 26所述的终端, 其特征在于, 所述第一 发送单元,还用于根据所述虚拟机地址信息向所述虚拟机发送第二连 接请求消息;所述第二连接请求消息中携带有所述终端的用户标识和 已启动的终端的第二输入设备的设备标识;以使得所述虚拟机根据所 述终端的用户标识和终端的第二输入设备的设备标识建立第二虚拟 输入单元与所述终端的第二输入设备的映射关系;所述第二虚拟输入 单元为虚拟机中空闲的虚拟输入单元;

所述第一接收单元,还用于接收所述虚拟机发送的第二连接响应 消息。

28、 一种虚拟机管理器, 其特征在于, 包括:

第一接收单元, 用于接收第一终端发送的第一应用启动请求消 息; 所述第一应用启动请求消息中携带有第一标识、应用标识和终端 性能信息; 所述第一标识用于指示其他输入设备是否可加入到应用 中;

选择单元, 用于根据所述应用标识和第一终端的终端性能信息, 选择虚拟机;

第一发送单元, 用于向所述虚拟机发送第二应用启动请求消息; 所述第二应用启动请求消息中携带有第一标识和应用标识,以便于所 述虚拟机根据所述第二应用启动请求消息中的第一标识建立至少一 个虚拟输入单元, 并 居所述应用标识启动应用;

第二接收单元,用于接收所述虚拟机发送的第二应用启动响应消 息; 第二发送单元, 用于发送第一应用启动响应消息至所述第一终 端, 所述第一应用启动响应消息中携带有虚拟机地址信息, 以便于第 一终端根据所述虚拟机地址信息向所述虚拟机发送第一连接请求消 息;第一终端发送的所述第一连接请求消息中携带有所述第一终端的 用户标识和已启动的所述第一终端的第一输入设备的设备标识。

29、 根据权利要求 28所述的虚拟机管理器, 其特征在于, 还包 括:

所述第一接收单元, 用于接收第二终端发送的应用加入请求消 息, 所述应用加入请求消息中携带有应用标识、 已连接到虚拟机的终 端的用户标识;

获取单元,用于根据所述应用加入请求消息的应用标识和所述已 连接到虚拟机的终端的用户标识获取所述虚拟机地址信息;

添加单元,用于将获取到的虚拟机地址信息添加至应用加入响应 消息中;

所述第一发送单元, 还用于向所述第二终端发送应用加入响应消 息, 所述应用加入响应消息携带有获取的虚拟机地址信息, 以使得所 述第二终端根据所述虚拟机地址信息向所述虚拟机发送第一连接请求 消息; 第二终端发送的所述第一连接请求消息携带有所述第二终端的 用户标识和已启动的所述第二终端的第一输入设备的设备标识。

Description:
一种在线应用的实现方法、 装置及系统 本申请要求于 2012年 3月 31 日提交中国专利局、 申请号为

201210092700. 9 , 发明名称为 "一种在线应用的实现方法、 装置及系统", 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。

技术领域

本发明涉及通信领域, 尤其涉及一种在线应用的实现方法、 装置 及系统。

背景技术

随着硬件设备的发展及用户不同需要的提升, 应用的种类也越来 越丰富。 在线应用场景中, 在线应用平台中可以部署各种第三方开发 的应用,终端可以远程连接到在线应用平台上 体验在在线应用平台上 部署的应用。

单机多用户, 指的是只在一个终端安装应用的客户端程序, 多个 用户通过连接到此终端的不同输入设备操控应 用。也就是说只有一个 应用程序, 不存在所有用户都要安装客户端程序的情况。 而对于在线 的网络游戏应用, 每个网络游戏应用都有需要安装的客户端的程 序; 各终端都需要安装与各网络游戏应用对应的客 户端程序,不同用户不 同的终端控制不同的客户端程序。所有客户端 程序连接到同一在线应 用服务器。

目前,对于单机多用户的应用, 在线应用平台可以通过支持一个 终端多个不同输入设备的方式实现多用户同时 使用此应用,具体实现 方式如下所述。

在线应用平台对于每一个应用都会建立终端的 输入设备与虚拟 输入单元的映射。 终端的每个输入设备都对应一个虚拟输入单元 , 当 用户通过终端输入设备发送输入指令时,输入 指令中携带有输入设备 标识符,虚拟输入单元根据输入设备标识符接 收输入指令并存储在此 虚拟输入单元的緩冲区中。应用服务器会釆用 轮询的方式依次从各个 虚拟输入单元的緩冲区中读取输入指令和数据 。

在实现上述在线应用平台支持单机多用户应用 的过程中,由于一 个终端只能管理一个区域内的终端输入设备, 这样就造成在同一个应 用中用户必须在同一区域内通过同一个终端进 行交互,降低了用户体 验。

发明内容

本发明的实施例提供一种在线应用的实现方法 、装置及系统, 用 以实现在在线应用平台中对于单机多用户的同 一个应用,用户可以通 过不同的终端, 在不同区域内对实现交互, 提升用户体验。

为达到上述目的, 本发明的实施例釆用如下技术方案: 一种在线应用的实现方法, 包括: 用于接收终端发送的第一连接 请求消息;所述第一连接请求消息中携带有所 述终端的用户标识和已 启动的所述终端的第一输入设备的设备标识; 为所述终端的第一输入 设备选择第一虚拟输入单元,所述第一虚拟输 入单元为虚拟机中空闲 的虚拟输入单元;根据所述终端的用户标识和 所述终端的第一输入设 备的设备标识,建立所述第一虚拟输入单元与 所述终端的第一输入设 备的映射关系; 向所述终端发送第一连接响应消息, 以便通知所述终 端连接完成; 向已连接到虚拟机的终端发送应用准备完成消 息, 以便 虚拟机与连接到虚拟机的终端进行指令和 /或数据的传输。

一种在线应用的实现方法, 包括: 终端向虚拟机发送第一连接请 求消息;所述第一连接请求消息中携带有所述 终端的用户标识和已启 动的所述终端的第一输入设备的设备标识,以 使得所述虚拟机根据所 述终端的用户标识和终端的第一输入设备的设 备标识 ,建立第一虚拟 输入单元与所述第一终端的第一输入设备的映 射关系,所述第一虚拟 输入单元为虚拟机中空闲的虚拟输入单元;接 收所述虚拟机发送的第 一连接响应消息; 接收所述虚拟机发送的应用准备完成消息, 以便所 述终端与所述虚拟机进行指令和 /或数据的传输。

一种在线应用的实现方法, 包括: 虚拟机管理器接收第一终端发 送的第一应用启动请求消息;所述第一应用启 动请求消息中携带有第 一标识、应用标识和第一终端的终端性能信息 ; 所述第一标识用于指 示其他输入设备是否可加入到应用中;根据所 述第一应用启动请求消 息中的应用标识和第一终端的终端性能信息, 选择虚拟机; 向所述虚 拟机发送第二应用启动请求消息;所述第二应 用启动请求消息中携带 有第一标识和应用标识,以便于所述虚拟机根 据所述第二应用启动请 求消息中的第一标识建立至少一个虚拟输入单 元,并根据所述应用标 识启动应用; 接收所述虚拟机发送的第二应用启动响应消息 , 并发送 第一应用启动响应消息至所述第一终端,所述 第一应用启动响应消息 中携带有虚拟机地址信息,以便于第一终端根 据所述虚拟机地址信息 向所述虚拟机发送第一连接请求消息;第一终 端发送的所述第一连接 请求消息中携带有所述第一终端的用户标识和 已启动的所述第一终 端的第一输入设备的设备标识。

一种虚拟机, 包括: 第一接收模块, 用于接收终端发送的第一连 接请求消息;所述第一连接请求消息中携带有 所述终端的用户标识和 已启动的所述终端的第一输入设备的设备标识 ; 选择模块, 用于为所 述终端的第一输入设备选择第一虚拟输入单元 ;所述第一虚拟输入单 元为虚拟机中空闲的虚拟输入单元; 第一建立模块, 用于根据所述终 端的用户标识和所述终端的第一输入设备的设 备标识,建立所述第一 于向所述终端发送第一连接响应消息, 以便通知所述终端连接完成; 以及向已连接到虚拟机的终端发送应用准备完 成消息,以便虚拟机与 连接到虚拟机的终端进行指令和 /或数据的传输。

一种终端, 包括: 输入设备, 用于输入指令和 /或数据; 记录单 元, 用于记录输入设备的设备标识; 第一发送单元, 用于向虚拟机发 送第一连接请求消息;所述第一连接请求消息 中携带有所述终端的用 户标识和已启动的所述终端的第一输入设备的 设备标识,以使得所述 虚拟机根据所述终端的用户标识和所述终端的 第一输入设备的设备 标识建立第一虚拟输入单元与所述第一输入设 备的映射关系;所述第 一虚拟输入单元为虚拟机中空闲的虚拟输入单 元; 第一接收单元, 用 于接收所述虚拟机发送的第一连接响应消息; 以及用于接收所述虚拟 机发送的应用准备完成消息, 以便终端与所述虚拟机进行指令和 /或 数据的传输; 处理单元, 用于与所述虚拟机进行指令和 /或数据的传 输。

一种虚拟机管理器, 包括: 第一接收单元, 用于接收第一终端发 送的第一应用启动请求消息;所述第一应用启 动请求消息中携带有第 一标识、应用标识和终端性能信息; 所述第一标识用于指示其他输入 设备是否可加入到应用中; 选择单元, 用于根据所述第一终端的应用 标识和第一终端的终端性能信息, 选择虚拟机; 第一发送单元, 用于 向所述虚拟机发送第二应用启动请求消息;所 述第二应用启动请求消 息中携带有第一标识和应用标识,以便于所述 虚拟机根据所述第二应 用启动请求消息中的第一标识建立至少一个虚 拟输入单元,并根据所 述应用标识启动应用; 第二接收单元, 用于接收所述虚拟机发送的第 二应用启动响应消息; 第二发送单元, 用于发送第一应用启动响应消 息至所述第一终端,所述第一应用启动响应消 息中携带有虚拟机地址 信息,以便于第一终端根据所述虚拟机地址信 息向所述虚拟机发送第 一连接请求消息;第一终端发送的所述第一连 接请求消息中携带有所 述第一终端的用户标识和已启动的所述第一终 端的第一输入设备的 设备标识。

一种在线应用的实现系统, 包括: 虚拟机,虚拟机管理器, 终端; 所述虚拟机为上述虚拟机, 所述虚拟机管理器为上述虚拟机管理器, 所述终端为上述终端。

本发明实施例提供了一种在线应用的实现方法 、装置及系统, 通 过终端的用户标识和终端的输入设备的设备标 识建立空闲虚拟输入 单元与终端的输入设备间的映射关系,可以使 得多个用户通过不同的 终端连接到在线应用平台中的同一个应用,实 现了在在线应用平台中 对于多用户使用同一个应用, 不同的用户通过不同的终端, 在不同区 域内实现应用的交互,或者不同的用户通过同 一个终端的不同输入设 备, 实现应用的交互, 从而提升用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中 的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作 简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例 ,对于本领域普通技术人员 来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附 图。

图 1 为本发明实施例提供的一种在线应用的实现方 法的示意图 之一;

图 2 为本发明实施例提供的一种在线应用的实现方 法的示意图 之二; 图 3 为本发明实施例提供的一种在线应用的实现方 法的示意图 之三;

图 4 为本发明实施例提供的一种在线应用的实现方 法的示意图 之四;

图 5 为本发明实施例提供的一种在线应用的实现方 法的示意图 之五;

图 6 为本发明实施例提供的一种在线应用的实现方 法的示意图 之六;

图 7为本发明实施例提供的一种虚拟机的结构示 图;

图 8为本发明实施例提供的另一种虚拟机的结构 意图; 图 9为本发明实施例提供的另一种虚拟机的结构 意图; 图 10为本发明实施例提供的另一种虚拟机的结构 意图; 图 11为本发明实施例提供的一种终端的结构示意 ;

图 12为本发明实施例提供的一种虚拟机管理器的 构示意图; 图 13 为本发明实施例提供的另一种虚拟机管理器的 结构示意 图;

图 14 为本发明实施例提供的一种在线应用的实现系 统的示意 图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明 实施例中的技术方案进 行清楚、完整地描述,显然,所描述的实施例 仅仅是本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例 , 本领域普通技术人员在没 有做出创造性劳动前提下所获得的所有其他实 施例,都属于本发明保护的 范围。

本发明实施例提供了一种在线应用的实现方法 , 如图 1所示, 包 括:

101、 虚拟机接收终端发送的第一连接请求消 ,包、。

其中,所述第一连接请求消息中携带有所述终 端的用户标识和已 启动的所述终端的第一输入设备的设备标识。 所述终端的用户标识可 以为终端的标识 (如终端的 IP地址, 手机号, IMEI号等) , 也可以 为终端的用户的帐户, 或其它的能唯一标识终端或终端的用户的标 识, 本发明在此不在详述。

需要说明的是,虚拟机接收至少一个终端发送 的第一连接请求消 息。

需要说明的是, 在本发明所有实施例中,一个终端可以对应多 个 输入设备。 例如, 机顶盒为一个终端, 安装在机顶盒中的手柄为输入 设备。 一个机顶盒中可以安装多个手柄。 将手柄称为机顶盒的输入设 备。

需要说明的是, 在本发明所有实施例中, 第一输入设备是指触发 终端发起此应用的一个输入设备; 或者在其他终端已发起此应用时, 关系时, 第一个触发终端加入此应用, 与此应用所在虚拟机的虚拟输 入单元建立映射关系的输入设备。将终端向虚 拟机发送的连接请求消 息中携带有已启动的第一输入设备的设备标识 的连接请求消息称为 第一连接请求消息。 例如, 按动手柄的某个键, 使得手柄触发机顶盒 发起应用, 此时称手柄称为已启动的第一输入设备。 已启动是指输入 设备向终端发送了触发操作。

102、 虚拟机为所述终端的第一输入设备选择第一输 入单元。 其中, 所述第一输入单元为虚拟机中空闲的虚拟输入 单元, 即还 没有被分配给输入设备, 也没有被建立与输入设备和终端, 或也没有 被建立与输入设备和终端的用户有映射关系的 虚拟输入单元。

103、 根据所述终端的用户标识和所述终端的第一输 入设备的设 备标识,建立所述第一虚拟输入单元与所述第 一终端的第一输入设备 的映射关系。

其中,虚拟机在已建立的至少一个虚拟输入单 元中, 为所述终端 的第一输入设备选择第一虚拟输入单元,根据 终端的用户标识和终端 的第一输入设备的设备标识建立选择的第一虚 拟输入单元与已启动 的第一终端的第一输入设备之间对应的映射关 系。

具体的 ,虚拟机在已建立的至少一个虚拟输入单元中 测至少一 个虚拟输入单元是否都已与输入设备建立了映 射关系,若有虚拟输入 单元没有与输入设备建立映射关系,则此虚拟 输入单元为空闲的虚拟 输入单元, 则将此空闲的虚拟输入单元作第一虚拟输入单 元。 虚拟机 建立终端的用户标识和终端的第一输入设备的 设备标识与第一虚拟 输入单元的单元标识的映射关系,使得第一虚 拟输入单元与第一输入 设备对应,以便于虚拟机将接收到的第一输入 设备通过终端发送的指 令和 /或数据存储至第一虚拟输入单元中。 具体的, 虚拟机可以记录 或改变虚拟输入单元的状态,以表示是否已经 建立了虚拟输入单元与 终端的输入设备的映射关系,也可以用特定的 标准表示已经建立了虚 拟输入单元与终端的输入设备的映射关系。

需要说明的是, 终端将第一输入设备发送的指令和 /数据进行数 据包封装处理,在此数据包的包头信息中有用 于标识终端用户标识的 字段, 有用于标识终端第一输入设备的字段。 终端将此数据包发送至 虚拟机,虚拟机根据数据包的包头信息中的标 识终端用户标识的字段 和标识终端第一输入设备的字段确定将此数据 包中的指令和 /或数据 信息发送至相应的第一虚拟输入单元中。

需要说明的是,虚拟机检测至少一个虚拟输入 单元是否都已与输 入设备建立了映射关系的方法可以是虚拟机每 次从第一个虚拟输入 单元开始检测虚拟输入单元是否都已与输入设 备建立了映射关系,也 可以是其他方法检测虚拟输入单元是否都已与 输入设备建立了映射 关系, 例如虚拟机可以记录或改变虚拟输入单元的状 态, 以表示是否 已经建立了虚拟输入单元与终端的输入设备的 映射关系,也可以用特 定的标准表示已经建立了虚拟输入单元与终端 的输入设备的映射关 系。 本发明对此不作限定。

1 04、 虚拟机向所述终端发送第一连接响应消息, 以便通知所述 第一终端连接完成。

1 05、 虚拟机向已连接到虚拟机的终端发送应用准备 完成消息, 以便虚拟机与连接到虚拟机的终端备进行指令 和 /或数据的传输。

具体的, 若虚拟机获知应用的类型为不支持应用运行过 程中添加 用户的应用, 则虚拟机在向所述终端发送第一连接响应消息 后, 先检 测建立的至少一个虚拟输入单元中是否有空闲 的虚拟输入单元;若没有空 闲的虚拟输入单元,则虚拟机向已连接到虚拟 机的终端发送应用准备完成 消息。 若虚拟机获知应用的类型为支持应用运行过程 中添加用户的应用, 则虚拟机在向终端发送完第一连接响应消息后 ,直接向所述终端发送应用 准备完成消息。 本发明实施例提供了一种在线应用的实现方法 ,虚拟机通过接收 终端发送的第一连接请求消息,第一连接请求 消息中所述终端的用户 标识和已启动的终端的第一输入设备的设备标 识,虚拟机根据第一连 接请求消息建立虚拟输入单元与终端的第一输 入设备的映射关系,并 发送第一连接响应消息至终端。虚拟机通过此 映射关系能够将不同终 端的不同输入设备或相同终端的不同输入设备 发送的指令和 /或数据 发送至相应的虚拟输入单元,从而可以实现在 在线应用平台中对于同 一应用的多个用户的使用, 不同的用户可以通过不同的终端, 在不同 区域内, 实现应用的交互, 也可以通过相同终端的不同输入设备实现 应用的交互, 从而提升用户体验。

本发明实施例提供了一种在线应用的实现方法 , 如图 2所示, 包 括:

201、 终端向虚拟机发送第一连接请求消息。

其中,所述第一连接请求消息中携带有所述终 端的用户标识和已 启动的所述终端的第一输入设备的设备标识, 以使得所述虚拟机根据 所述终端的用户标识和所述终端的第一输入设 备的设备标识,建立第 一虚拟输入单元与所述终端的第一输入设备的 映射关系,所述第一虚 拟输入单元为虚拟机中空闲的虚拟输入单元。

其中,所述第一连接请求消息中携带有所述终 端的用户标识和已 启动的所述终端的第一输入设备的设备标识。 所述终端的用户标识可 以为终端的标识 (如终端的 IP地址, 手机号, IMEI号等) , 也可以 为终端的用户的帐户, 或其它的能唯一标识终端或终端的用户的标 识, 本发明在此不在详述。

终端的第一输入设备触发终端发起应用或是加 入应用,在终端获 取到虚拟机地址信息后, 终端向虚拟机发送第一连接请求消息。

需要说明的是, 终端的第一输入设备在连接到终端时, 终端会记 录第一输入设备的设备标识。

202、 接收所述虚拟机发送的第一连接响应消息。

203、 接收所述虚拟机发送的应用准备完成消息, 以便所述终端 与所述虚拟机进行指令和 /或数据的传输。

具体的, 若虚拟机获知应用的类型为不支持应用运行过 程中添加 用户的应用, 则虚拟机在向所述终端发送第一连接响应消息 后, 先检 测建立的至少一个虚拟输入单元中是否有空闲 的虚拟输入单元;若没有空 闲的虚拟输入单元,则虚拟机向已连接到虚拟 机的终端发送应用准备完成 消息, 终端接收虚拟机发送的应用准备完成消息。 若虚拟机获知应用的类 型为支持应用运行过程中添加用户的应用,则 虚拟机在向终端发送完第一 连接响应消息后, 直接向所述终端发送应用准备完成消息, 则终端接收 完第一连接响应消息后, 接收应用准备完成消息。

本发明实施例提供了一种在线应用的实现方法 ,终端向虚拟机发 送携带有终端的用户标识和已启动的终端的输 入设备的设备标识的 第一连接请求消息,以使得虚拟机根据终端的 用户标识和已启动的终 端的输入设备的设备标识,建立虚拟输入单元 与终端的第一输入设备 的对应的映射关系。这样能够实现在在线应用 平台中对于同一应用的 多个用户的使用, 不同的用户可以通过不同的终端, 在不同区域内, 实现应用的交互,也可以通过相同终端的不同 输入设备实现应用的交 互, 从而提升用户体验。

本发明实施例提供了一种在线应用的实现方法 , 如图 3所示, 包 括:

301、虚拟机管理器接收第一终端发送的第一应 用启动请求消息。 其中, 所述第一应用启动请求消息中携带有第一标识 和应用标 识。 所述第一标识用于指示其他输入设备是否可加 入到应用中。

进一步的,第一应用启动请求消息中还携带有 终端的用户信息和 和终端性能信息。

可选的,所述第一应用启动请求消息中还携带 有所述第一终端设 定的可连接的输入设备的数量。

具体的, 用户信息包括终端的用户标识和用户登录密码 信息。 终 端性能信息指示终端所具有的性能。例如,终 端是否具有触摸屏功能, 是否具体带有键盘功能等。

需要说明的是,第一终端将第一应用启动请求 消息进行数据包封 装处理后, 发送至虚拟机管理器。 第一终端在进行数据包封装时, 将 数据包的包头信息中用于标识消息类型的字段 填写为第一应用启动 请求消息对应的编码,以使得虚拟机管理器获 知第一终端发送的;肖 ,包、 为第一应用启动请求消息。 虚拟机管理器接收到数据包后,通过查看数据 包包头信息的标识 消息类型的字段获知第一终端发送的消息为第 一应用启动请求消息, 进行解封装处理后得到第一应用启动请求消息 ,并根据第一应用启动 消息中的用户信息为发起应用的第一终端的用 户建立用户信息表,在 用户信息表中记录有第一终端的用户标识和第 一终端的终端性能信 息和第一终端要启动的应用的应用标识。 需要说明的是,虚拟机管理器为第一终端的用 户建立用户信息表 可以是为每个用户建立一张单独的表,也可以 是在已建立的用户信息 表中添加一个表项, 记录第一终端的用户的信息, 本发明对此不作限 定。

302、 根据所述应用标识和第一终端的终端性能信息 , 选择虚拟 机。

具体的,虚拟机管理器根据应用标识和第一终 端的终端性能信息 选择虚拟机。 具体的选择方法为现有技术, 本发明实施例在此不做限 定和详细论述。

303、 向所述虚拟机发送第二应用启动请求消息。

其中, 所述第二应用启动请求消息中携带有第一标识 和应用标 识。 所述第一标识用于指示其他输入设备可加入到 应用中。

具体的,虚拟机管理器将第二应用启动请求消 息发送至选择的虚 拟机。 可选的, 若虚拟机管理器接收到的第一应用启动请求消 息中携 带有第一终端设定的可连接的输入设备的数量 ,则虚拟机管理器将第 一终端设定的可连接的输入设备的数量添加至 第二应用启动请求消 息中发送至选择的虚拟机。 进一步可选的, 若虚拟机管理器接收到的 第一应用启动请求消息中没有携带第一终端设 定的可连接的输入设 备的数量,则虚拟机管理器根据应用标识通过 查看应用的配置文件获 知应用允许接入的最大连接数量,并将应用允 许接入的最大连接数量 添加至第二应用启动请求消息中发送至选择的 虚拟机。

需要说明的是,应用允许接入的最大连接数量 存储在应用的配置 文件中,虚拟机管理器可以通过查看此文件获 知应用允许接入的最大 连接数量。 应用的配置文件中记录有应用的信息, 例如记录应用允许 接入的最大终端输入设备的数量, 记录应用的类型等信息。 虚拟机接收第二应用启动请求消息,若所述第 一标识指示不允许 其他输入设备加入到该应用中, 则虚拟机建立一个虚拟输入单元。 若 所述第一标识指示允许其他输入设备加入到该 的应用中, 可选的, 所 述第二应用启动请求消息中携带有第一终端设 定的可连接的输入设 备的数量,且第一终端设定的可连接的输入设 备的数量不大于应用允 许接入的最大连接数量, 或者, 第二应用启动请求消息中携带有应用 允许接入的最大连接数量,则虚拟机根据所述 第一终端设定的可连接 的输入设备数量, 或者, 根据应用允许接入的最大连接数量建立相同 数量的虚拟输入单元。若所述第一标识指示允 许其他输入设备加入到 该的应用中,且所述第二应用启动请求消息中 没有携带所述第一终端 设定的可连接的输入设备的数量,也没有携带 所述应用允许接入的最 大连接数量,则虚拟机通过查看应用的配置文 件获知此应用允许接入 的最大连接数量,根据应用允许接入的最大连 接数量建立相同数量的 虚拟输入单元。 或者, 所述第一终端设定的可连接的输入设备的数量 大于应用允许接入的最大连接数量,则虚拟机 根据应用允许接入的最 大连接数量建立相同数量的虚拟输入单元。 并启动应用, 将第二应用 启动响应消息发送至虚拟机管理器。

需要说明的是,应用的配置文件中记录有应用 的信息, 例如记录 应用允许接入的最大连接数量, 应用的类型等信息。

304、 接收所述虚拟机发送的第二应用启动响应消息 。

具体的,虚拟机管理器将接收到第二应用启动 响应消息后检测第 二应用响应启动消息中是否携带有虚拟机地址 信息,若第二应用启动 响应消息中没有携带虚拟机地址信息,则虚拟 机管理器将虚拟机地址 信息添加至第二应用启动响应消息中,并将携 带有虚拟机地址信息添 加至第二应用启动响应消息作为第一应用启动 响应消息,并将虚拟机 地址信息添加至用户信息表中。

305、 发送第一应用启动响应消息至所述第一终端, 所述第一应 用启动响应消息中携带有虚拟机地址信息,以 便于第一终端根据所述 虚拟机地址信息向所述虚拟机发送第一连接请 求消息;第一终端发送 的所述第一连接请求消息中携带有所述第一终 端的用户标识和已启 动的所述第一终端的第一输入设备的设备标识 。

本发明实施例提供了一种在线应用的实现方法 ,虚拟机管理器通 过接收第一终端发送的第一应用启动请求消息 , 选择虚拟机, 并向选 择的虚拟机发送第二应用启动请求消息。接收 到虚拟机发送的第二应 用启动响应消息,并将携带有虚拟机地址信息 的第一应用启动响应消 息发送至第一终端。 这样, 能使第一终端与虚拟机之间建立连接, 以 的映射关系。用于实现在在线应用平台中对于 同一应用的多个用户的 使用, 不同的用户可以通过不同的终端, 在不同区域内, 实现应用的 交互, 也可以通过相同终端的不同输入设备实现应用 的交互, 从而提 升用户体验。

本发明实施例提供了一种在线应用的实现方法 , 包括:

401、 与步骤 301相同, 本发明实施例在此不在详述。

402、 与步骤 302相同, 在此不在详述。

举例说明 ,虚拟机 1和虚拟机 2都安装有应用标识为 3的应用程 序, 应用标识为 3的应用程序并未启动。 并且, 虚拟机 1支持的终端 的屏幕分辨率为 320*480 , 虚拟机 2 支持的终端屏幕分辨率为 320*640。 虚拟机管理器接收到第一终端发送的应用标识 为 3的第一 应用启动请求消息, 并且第一终端的屏幕分辨率为 320*640 , 则虚拟 机管理器在接收第一应用启动请求消息后,将 选择虚拟机 2中的应用 程序作为第一终端发起的应用。

403、 与步骤 303相同, 在此不在详述。

如上例所述, 向虚拟机 2发送第二应用启动请求消息。

404、 虚拟机根据第二应用启动请求消息中的第一标 识建立至少 一个虚拟输入单元, 并 居所述应用标识启动应用。

具体的,若所述第一标识指示不允许其他输入 设备加入到该应用 中, 则虚拟机建立一个虚拟输入单元。 若所述第一标识指示允许其他 输入设备加入到该的应用中, 可选的, 所述第二应用启动请求消息中 携带有第一终端设定的可连接的输入设备的数 量,且第一终端设定的 可连接的输入设备的数量不大于应用允许接入 的最大连接数量, 或 者, 第二应用启动请求消息中携带有应用允许接入 的最大连接数量, 则虚拟机根据所述第一终端设定的可连接的输 入设备的数量, 或者, 根据应用允许接入的最大连接数量建立相同数 量的虚拟输入单元。若 所述第一标识指示允许其他输入设备加入到该 的应用中,且所述第二 应用启动请求消息中没有携带所述第一终端设 定的可连接的输入设 备的数量, 也没有携带所述应用允许接入的最大连接数量 , 则虚拟机 通过查看应用的配置文件获知此应用允许接入 的最大连接数量,根据 应用允许接入的最大连接数量建立相同数量的 虚拟输入单元。 或者, 所述第一终端设定的可连接的输入设备的数量 大于应用允许接入的 最大连接数量,根据应用允许接入的最大连接 数量建立相同数量的虚 拟输入单元。 并启动应用。

需要说明的是,应用允许接入的最大终端输入 设备的数量存储在 应用的配置文件中,虚拟机管理器可以通过查 看此文件获知应用允许 接入的最大终端输入设备的数量。应用的配置 文件中记录有应用的信 息, 例如记录应用允许接入的最大终端输入设备的 数量, 应用的类型 等信息。

405、 虚拟机将第二应用启动响应消息发送至虚拟机 管理器, 以 使得虚拟机管理器发送携带有所述虚拟机地址 信息的第一应用启动 响应消息至所述终端,以便所述终端向所述虚 拟机发送第一连接请求 消息。

可选的, 虚拟机将其地址信息添加至第二应用启动响应 消息。

406、 与步骤 304相同, 在此不在详述。

407、 与步骤 305相同, 在此不在详述。

408、 第一终端根据第一应用启动响应消息中的虚拟 机地址信息 向虚拟机发送第一连接请求消息。

具体的, 第一终端接收到第一应用启动响应消息后, 获知并存储 虚拟机地址信息与应用标识,第一终端跟虚拟 机地址信息向虚拟机发 送的第一连接请求消息中携带有第一终端的用 户标识和已启动的第 一终端的第一输入设备的设备标识,以使得虚 拟机根据第一终端的用 户标识和第一终端的第一输入设备的设备标识 ,建立空闲的虚拟输入 单元与第一终端的第一输入设备的映射关系。

其中, 第一终端的用户标识可以为第一终端的标识( 如第一终端 的 IP地址, 手机号, IMEI号等), 也可以为第一终端的用户的帐户, 或其它的能唯一标识第一终端或第一终端的用 户的标识,本发明在此 不在详述。

409、 虚拟机为所述第一终端的第一输入设备选择第 一虚拟输入 单元,并根据所述第一终端的用户标识和所述 第一终端的第一输入设 备的设备标识,建立所述第一虚拟输入单元与 所述第一终端的第一输 入设备的映射关系。

其中, 所述第一输入单元为虚拟机中空闲的虚拟输入 单元, 即还 没有被分配给输入设备, 也没有被建立与输入设备和终端, 或也没有 被建立与输入设备和终端的用户有映射关系的 虚拟输入单元。

具体的 ,虚拟机在已建立的至少一个虚拟输入单元中 测至少一 个虚拟输入单元是否都已与输入设备建立了映 射关系,若有虚拟输入 单元没有与输入设备建立映射关系,则此虚拟 输入单元为空闲的虚拟 输入单元, 则将此空闲的虚拟输入单元作第一虚拟输入单 元。 虚拟机 建立第一终端的用户标识和第一终端的第一输 入设备的设备标识与 第一虚拟输入单元的单元标识的映射关系,使 得第一虚拟输入单元与 第一终端的第一输入设备对应,以便于将虚拟 机将接收到的第一输入 设备通过第一终端发送的指令和 /或数据存储至相应的第一虚拟输入 单元中。

410、 虚拟机向所述第一终端发送第一连接响应消息 , 以便通知 所述第一终端连接完成。

需要说明的是,虚拟机根据所述第二应用启动 请求消息中的第一 标识获知是否允许其他输入设备加入到第一终 端发起的应用中。若第 一标识指示不允许其他输入设备加入到该应用 中, 则执行完步骤 410 之后, 执行步骤 510 , 511 , 如图 4所示。 若第一标识指示允许其他 输入设备加入到该应用中, 则在执行完步骤 410后, 执行步骤 411。

411、 根据所述第二应用启动请求消息中的应用标识 确定此应用 的类型。

其中, 在在线应用平台中, 单机多用户的应用可以分为不支持应用 运行过程中添加用户的应用和支持应用运行过 程中添加用户的应用两种 应用类型。

具体的, 虚拟机根据应用标识查找应用的配置文件,从 应用的配 置文件总获取应用的类型是不支持应用运行过 程中添加用户的应用的 类型还是支持应用运行过程中添加用户的应用 的类型。

若应用的类型为应用不支持应用运行过程中添 加用户的类型, 则需 要在应用运行前, 将其他输入设备加入到该应用中, 达到要求的连接数量 后才能运行此应用。要求的连接数量为由发起 此应用的第一终端设定的可 连接的输入设备的数量, 或者是应用允许接入的最大连接数量。 在步骤

411后, 执行步骤 501a-504a和 /或 501b-508b, 509-511 , 如图 5所示。 若 应用的类型为支持应用运行过程中添加用户的 应用,则虚拟机向第一终端 发送第一连接响应消息后, 直接向第一终端发送应用准备完成消息, 使得 第一终端接收到应用准备完成消息后即可直接 与虚拟机进行数据和 /或指 令的传输,其他输入设备的加入可在应用运行 过程中加入。在步骤 411后, 执行步骤 601 , 602, 603a-608a和 /或 603b-614b, 如图 6所示。

需要说明的是,加入到应用的其他输入设备的 用户可以是来自与 发起应用的输入设备的用户有相同终端的其他 输入设备的用户,也可 以是与发起应用的输入设备的用户不同终端的 其他输入设备的用户, 下面对于与发起应用的用户有相同终端的其他 输入设备的用户的添 加过程如步骤 501a-504a参考图 5所示。对于与发起应用的用户不同终 端的其他输入设备的用户的添加过程如步骤 501b-508b, 参考图 5所 示。

501a、第一终端的第二输入设备触发第一终端 第二输入设备加 入到应用中。

需要说明的是,第一终端的第二输入设备是指 除了第一输入设备 之外的已启动的第一终端的其他输入设备。已 启动是指输入设备向终 端发送了触发操作。 第二输入设备可以是多个, 也可以是一个, 本发 明对此不做限定。

502a、第一终端根据自身存储的应用的虚拟机 址信息向虚拟机 发送第二连接请求消息。

其中, 第二连接请求消息中携带有第一终端的用户标 识和已启 动的第一终端的第二输入设备的设备标识,以 使得所述虚拟机根据所 述第一终端的用户标识和第一终端的第二输入 设备的设备标识,建立 空闲的虚拟输入单元与所述第一终端的第二输 入设备的映射关系。

需要说明的是, 当第一终端有多个第二输入设备时, 第一终端分 别向虚拟机发送第二连接请求消息。 即第一终端有几个第二输入设 备, 向虚拟机发送几次第二连接请求消息。

需要说明的是,将终端的第二输入设备加入应 用时发送的连接请 求消息称为第二连接请求消息。

需要说明的是,第二连接请求消息中携带的第 一终端的用户标识 为发起此应用的终端的用户标识。

503a ,虚拟机为所述第一终端的第二输入设备选择 二虚拟输入 单元,并根据所述第一终端的用户标识和所述 第一终端的第二输入设 备的设备标识,建立所述第二虚拟输入单元与 所述第一终端的第二输 入设备的映射关系。

其中, 所述第二虚拟输入单元为虚拟机中空闲的虚拟 输入单元。 举例说明, 第一终端为一个机顶盒, 输入设备为手柄。 机顶盒的 第一手柄已与虚拟机的第一虚拟输入单元建立 了映射关系。第二手柄 和第三手柄要加入此应用中。 首先, 机顶盒根据存储的虚拟机地址信 息, 向虚拟机发送第二连接请求消息, 第二连接请求消息中携带有机 顶盒的用户标识和第二手柄的手柄标识。虚拟 机接收到第二连接请求 消息后, 为机顶盒的第二手柄选择一个第二虚拟输入单 元, 根据第二 连接请求消息中的机顶盒的用户标识和第二手 柄的手柄标识,选择的 第二虚拟输入单元的单元标识,建立机顶盒的 第二手柄与选择的第二 虚拟输入单元的映射关系,使得选择的第二虚 拟输入单元与机顶盒的 第二手柄对应,以便于将虚拟机将接收到的第 二手柄通过机顶盒发送 的指令和 /或数据存储至相应的第二虚拟输入单元中。 然后, 机顶盒 根据虚拟机地址信息再次向虚拟机发送第二连 接请求消息,第二连接 请求消息中携带有机顶盒的用户标识和第三手 柄的手柄标识,虚拟机 接收到第二连接请求消息后,为机顶盒的第三 手柄选择一个第二虚拟 输入单元,根据第二连接请求消息中的机顶盒 的用户标识和第三手柄 的手柄标识, 选择的第二虚拟输入单元的单元标识, 建立机顶盒的第 三手柄与选择的第二虚拟输入单元的映射关系 ,使得选择的第二虚拟 输入单元与机顶盒的第三手柄对应,以便于将 虚拟机将接收到的第三 手柄通过机顶盒发送的指令和 /或数据存储至相应的第二虚拟输入单 元中。 504a, 虚拟机向所述第一终端发送第二连接响应消息 。

501b , 第二终端的第一输入设备触发第二终端加入此 应用。 例如,第二终端的第一输入设备的用户通过与 已连接到虚拟机的 终端的用户通信获知已连接到虚拟机的终端的 用户的用户标识和应 用标识,则第二终端的第一输入设备的用户通 过第一输入设备触发第 二终端加入获知的应用标识对应的应用中。

502b , 第二终端向虚拟机管理器发送应用加入请求消 息。

其中,应用加入请求消息中携带有应用标识、 已连接到虚拟机的 终端的用户标识。应用加入请求消息中还携带 有所述第二终端的用户 信息和第二终端的终端性能信息。 第二终端在此次做为类指, 表示后 续加入到应用的多个终端。

具体的, 所述第二终端的用户信息包括用户标识和用户 登录密 码。 第二终端的终端性能信息指示第二终端所具有 的性能。 例如, 第 二终端是否具有触摸屏功能, 是否具体带有键盘功能等。

第二终端将应用加入请求消息进行数据包封装 处理后,发送至虚 拟机管理器。 第二终端在进行数据包封装时, 将数据包的包头信息中 用于标识消息类型的字段填写为应用加入请求 消息对应的编码,以使 得虚拟机管理器获知第二终端发送的消息为应 用加入请求消息。

如上例所述,第二终端的第一输入设备的用户 与已连接到虚拟机 的终端的用户通信时获知了已连接到虚拟机的 终端的用户标识,第二 终端向虚拟机管理器发送应用加入请求消息时 ,将获得的已连接到虚 拟机的终端的用户标识添加至应用加入请求消 息中 ,发送至虚拟机管 理器。

需要说明的是,第二终端获取已连接到虚拟机 的终端的用户标识可 以通过已连接到运行此应用的虚拟机的终端的 用户获取,也可以通过 其他方式获取,本发明对第二终端获取已连接 到虚拟机的终端用户标 识的方法不做限定。

503b、 虚拟机管理器接收所述第二终端发送的应用加 入请求消 息。

其中,虚拟机管理器根据应用加入请求消息中 的第二终端的用户 信息和第二终端性能信息为所述第二终端的用 户建立用户信息表。 需要说明的是, 若第二终端为多个, 则虚拟机管理器为每一个第 二终端都建立一个用户信息表。

需要说明的是,终端向虚拟机管理器发送第一 应用启动请求消息 或发送应用加入请求消息都需先将第一应用启 动请求消息或发送应 用加入请求消息进行数据包封装处理。在此数 据包的包头信息中有用 于标识消息类型的字段,虚拟机管理接收到数 据包后根据查看包头信 息中此字段便可获知消息的类型。 例如, 第一应用启动请求消息在数 据包标识消息类型的字段用 01表示, 应用加入请求消息在数据包包 头信息的标识消息类型的字段用 10表示, 若虚拟机管理器在接收到 数据包后查看包头此字段为 10 , 则虚拟机管理器获知此数据包封装 的为应用加入请求消息。

504b、虚拟机管理器根据应用加入请求消息中 带的应用标识和 已连接到虚拟机的终端的用户标识获取虚拟机 地址信息。

具体的,虚拟机管理器根据应用加入请求消息 中携带的应用标识 和已连接到虚拟机的终端的用户标识查找已建 立的用户信息表,并在 查找到的用户信息表中获取相应的虚拟机地址 信息,并将此虚拟机地 址信息添加至为第二终端的用户建立用户信息 表中。

505b、将携带有虚拟机地址信息的应用加入响 消息发送至所述 第二终端。

具体的,虚拟机管理器将获取的虚拟机地址信 息添加至应用加入 响应消息中。将应用加入响应消息发送给要加 入此应用的所述第二终 端。

506b、所述第二终端 居应用加入响应消息中的虚拟机地址信息 向虚拟机发送第一连接请求消息。

第二终端接收到应用加入响应消息后存储虚拟 机地址信息与应 用标识,根据应用加入响应消息中的虚拟机地 址信息向虚拟机发送第 一连接请求消息。

其中,第二终端发送的第一连接请求消息中第 二终端的用户标识 和已启动的所述第二终端的第一输入设备的设 备标识。

具体的, 第二终端的用户标识可以为第二终端的标识( 如第二终 端的 IP地址, 手机号, IMEI号等) , 也可以为第二终端的用户的帐 户, 或其它的能唯一标识第二终端或第二终端的用 户的标识, 本发明 在此不在详述。

507b、虚拟机为所述第二终端的第一输入设备 择第一虚拟输入 单元,并根据所述第二终端的用户标识和已启 动的所述第二终端的第 一输入设备的设备标识,建立所述第一虚拟输 入单元与所述第二终端 的第一输入设备的映射关系。

508b ,虚拟机向所述第二终端发送应用连接响应消 , 以便通知 所述第二终端连接完成。

需要说明的是,第二终端的第二输入设备加入 此应用时的过程与 上述第一终端的第二输入设备加入此应用的过 程相同,可参考上述步 骤 501a-504a, 具体如下所述。

第二终端的第二输入设备触发第二终端将第二 输入设备加入到 应用中。第二终端根据自身存储的应用的虚拟 机地址信息向虚拟机发 送第二连接请求消息。

其中, 第二终端发送的第二连接请求消息中携带有第 二终端的 用户标识和已启动的第二终端的第二输入设备 的设备标识 ,以使得所 述虚拟机根据所述第二终端的用户标识和第二 终端的第二输入设备 的设备标识,建立第二虚拟输入单元与所述第 二终端的第二输入设备 的映射关系。

虚拟机接收第二连接请求消息。虚拟机为所述 第二终端的第二输 入设备选择第二虚拟输入单元,并根据所述第 二终端的用户标识和所 述第二终端的第二输入设备的设备标识,建立 所述第二虚拟输入单元 与所述第二终端的第二输入设备的映射关系。 虚拟机向所述第二终端 发送第二连接响应消息。

509、 虚拟机检测是否有空闲的虚拟输入单元。

具体的, 若没有空闲的虚拟输入单元, 则执行步骤 510。

若有空闲的虚拟输入单元,则说明加入应用的 终端的用户还没有 达到要求的连接数量, 则需要等待其他输入设备加入到该应用中。

510、 虚拟机向已连接到虚拟机的终端发送应用准备 完成消息, 以便虚拟机与连接到虚拟机的终端备进行指令 和 /或数据的传输。

511、 终端接收到虚拟机发送的准备完成消息, 与虚拟机进行指 令和 /或数据的传输。

具体的, 与虚拟机进行指令和 /或数据的传输的具体的过程如下: 虚拟机接收输入设备通过终端发送的指令和 /或数据, 并将接收 到的输入设备通过所述终端发送的指令和 /或数据存储至相应的虚拟 输入单元。 虚拟输入单元将存储的指令和 /或数据发送至虚拟机的处 理模块。

若虚拟机的处理模块 不识别所述终端发送的指令和 /或数据时, 将接收到的所述指令和 /或数据转换为虚拟机的处理模块 识别的指 令和 /或数据。

需要说明的是, 虚拟机的处理模块 是指虚拟机中处理应用的指 令和 /或数据的单元。

进一步的, 虚拟机有可能根据程序的逻辑, 将接收到的指令和 / 或数据转换为应用特定的指令和 /或数据, 并根据转换后的指令和 /或 数据更新应用程序。 例如, 终端的输入设备为键盘, 而应用的默认输 入为手柄轴事件,就需要虚拟机将键盘的按键 事件转换为手柄的轴事 件, 抛送给应用, 控制应用的执行。

虚拟机根据所述指令和 /或数据更新所述应用的程序, 并获取应 用处理响应信息, 所述应用处理响应信息中包括响应的视频和 /或音 频数据信息。

虚拟机分别确定连接到所述虚拟机的终端的编 码方式,将所述应 用处理响应信息根据所述编码方式进行相应的 编码,并将编码后的所 述应用处理响应信息发送至相应的终端。

其中,虚拟机根据已连接到虚拟机的终端可处 理的编码方式对所 述应用处理响应信息进行编码,并将编码后的 所述应用处理响应信息 相应的发送到各个终端,各个终端接收到应用 处理响应信息并进行解 码, 将解码后的应用处理响应信息发送至输出设备 。

需要说明的是,虚拟机在根据以连接到虚拟机 的终端可处理的编 码方式对所述应用处理响应信息进行编码时, 对于不同终端的相同编 码方式, 虚拟机对应用处理响应信息按此种编码方式只 进行一次编 码, 将编码后的应用处理响应信息发送至同种编码 方式的不同终端。

以下对支持应用运行过程中添加用户的应用, 如图 6 所示, 在步骤 411之后, 直接执行步骤 510和 511 , 对于其他输入设备添加的过程与步 骤 501a-504a和 501b-509b相同, 在其他输入设备与虚拟机建立完虚 拟机输入单元的映射关系后, 便直接可以与虚拟机进行指令和 /数据 的交互。 具体的运行过程如下:

601、 与步骤 511相同, 不在详述。

602、 与步骤 512相同, 不在详述。

603a-606a、 与步骤 501a-504a相同, 不在详述。

607a, 与步骤 510相同, 不在详述。

608a, 与步骤 511相同, 不在详述。

603b-610b、 与步骤 501b-508b相同, 不在详述。

611b , 与步骤 510相同, 不在详述。

612b , 与步骤 511相同, 不在详述。

本发明实施例提供了一种在线应用的实现方法 ,通过终端的用户 标识和终端的输入设备的设备标识建立空闲虚 拟输入单元与终端的 输入设备间的映射关系,可以使得多个用户通 过不同的终端连接到在 线应用平台中的同一个应用,实现了在在线应 用平台中对于多用户使 用同一个应用, 不同的用户通过不同的终端, 在不同区域内实现应用 的交互, 或者不同的用户通过同一个终端的不同输入设 备, 实现应用 的交互, 从而提升用户体验。

本发明实施例提供了一种虚拟机, 如图 7所示, 包括: 第一接收模块 801 , 用于接收终端发送的第一连接请求消息; 所 述第一连接请求消息中携带有所述终端的用户 标识和已启动的所述 终端的第一输入设备的设备标识。

选择模块 802 , 用于为所述终端的第一输入设备选择第一虚拟 输 入单元; 所述第一虚拟输入单元为虚拟机中空闲的虚拟 输入单元。

第一建立模块 803 , 用于根据所述终端的用户标识和所述终端的 第一输入设备的设备标识,建立所述第一虚拟 输入单元与所述终端的 输入设备的映射关系。

第一发送模块 804 , 用于向所述终端发送第一连接响应消息, 以 便通知所述终端连接完成;以及向已连接到虚 拟机的终端发送应用准 备完成消息, 以便虚拟机与连接到虚拟机的终端进行指令和 /或数据 的传输。 上述第一接收模块 801 , 还用于接收所述终端发送的第二连接请 求消息;所述第二连接请求消息携带有所述终 端的用户标识和已启动 的所述终端的第二输入设备的设备标识。

上述选择模块 802 , 还用于为所述第一终端的第二输入设备选择 第二虚拟输入单元。

上述第一建立模块 803 , 还用于根据所述终端的用户标识和已启 动的所述终端的第二输入设备的设备标识建立 所述第二虚拟输入单 元与所述终端的第二输入设备的映射关系。

上述第一发送模块 804 , 还用于向所述第一终端发送第二连接响 应消息。

上述虚拟机, 如图 8所示, 还包括:

第一接收模块 801 , 还用于接收虚拟机管理器所发送的第二应用 启动请求消息;所述第二应用启动请求消息中 携带有第一标识和应用 标识; 所述第一标识用于指示其他输入设备是否可加 入到应用中。

其中, 可选的, 所述第二应用启动请求消息中还携带有所述终 端 设定的可连接的输入设备的数量。

启动模块 805 , 用于根据所述应用标识启动应用。

第二建立模块 806 , 用于根据所述第二应用启动请求消息中的第 一标识建立至少一个虚拟输入单元。

具体的,若所述第一标识指示不允许其他输入 设备加入到该应用 中, 则建立一个虚拟输入单元。

若所述第一标识指示允许其他输入设备加入到 该应用中,且所述 第二应用启动请求消息中携带有所述第一终端 设定的可连接的输入 设备的数量, 则建立与所述第一终端设定的可连接的输入设 备的数 量相同数量的虚拟输入单元。

若所述第一标识指示允许加添加其他输入设备 ,且所述第二应用 启动请求消息中没有携带所述第一终端设定的 可连接的输入设备的 数量或所述第一终端设定的可连接的输入设备 的数量大于应用允许 接入的最大连接数量,则根据应用允许接入的 最大连接数量建立虚拟 输入单元。

第一发送模块 804 , 还用于发送第二应用启动响应消息至虚拟机 管理器,以使得虚拟机管理器发送携带有所述 虚拟机地址信息的第一 应用启动响应消至所述终端,以便所述终端向 所述虚拟机发送第一连 接请求消息。

上述虚拟机, 如图 9所示, 还包括:

确定模块 807 , 用于根据所述第二应用启动请求消息中的应用 标 识确定此应用的类型。

检测模块 808 , 用于检测是否有空闲的虚拟输入单元。

所述第一发送模块 804具体用于:若确定模块 807确定所述应用 的类型为应用不支持应用运行过程中添加用户 的类型, 且所述检测模块 808检测到没有空闲的虚拟输入单元, 则向所述已连接到虚拟机的终 端发送准备完成消息;若确定模块 807确定所述应用的类型为应用支 持应用运行过程中添加用户的类型, 则向所述已连接到虚拟机的终端发 送应用准备完成消息。

上述虚拟机, 如图 10所示, 还包括:

第一接收模块 801 , 还用于接收输入设备通过终端发送的指令和

/或数据。

处理模块 809 , 用于根据所述指令和 /或数据更新所述应用的程 序, 并获取应用处理响应信息, 所述应用处理响应信息中包括响应的 视频和 /或音频的数据信息。

编码模块 810 , 用于分别确定已连接到应用的所有终端的编码 方 式, 将所述应用处理响应信息根据所述编码方式进 行相应的编码。

第一发送模块 804 , 还用于将编码后的所述应用处理响应信息发 送至相应的终端。

上述虚拟机, 参考图 10所示, 还包括:

转换模块 811 , 用于若处理模块 809不识别所述指令和 /或数据, 则将接收到的所述指令和 /或数据转换为虚拟机处理模块 809识别的 指令和 /或数据。

本发明实施例提供了一种终端, 如图 11所示, 包括:

输入设备 121 , 用于输入指令和 /或数据。

记录单元 122 , 用于记录输入设备 121的设备标识。

第一发送单元 123 , 用于向虚拟机发送第一连接请求消息。

其中,所述第一连接请求消息中携带有所述终 端的用户标识和已 启动的所述终端的第一输入设备的设备标识, 以使得所述虚拟机根据 所述终端的用户标识和所述终端的第一输入设 备的设备标识建立第 一虚拟输入单元与所述第一输入设备的映射关 系,所述第一虚拟输入 单元为虚拟机中空闲的虚拟输入单元。

第一接收单元 124 , 用于接收所述虚拟机发送的第一连接响应消 息。

第一接收单元 124 , 还用于接收所述虚拟机发送的应用准备完成 消息, 以便终端与所述虚拟机进行指令和 /或数据的传输。

处理单元 125 , 用于与所述虚拟机进行指令和 /或数据的传输。 上述第一发送单元 123 , 用于向虚拟机管理器发送所述第一应用 启动请求消息或应用加入请求消息。

其中,所述第一应用启动请求消息中携带有第 一标识、应用标识。 第一应用启动请求消息中还携带有所述终端的 用户信息和终端性能 信息。 所述第一标识用于指示其他输入设备是否可加 入到应用中; 所 述应用加入请求消息中携带有应用标识、已连 接到虚拟机的终端的用 户标识。

可选的,第一应用启动请求消息中携带有终端 设定的可连接的输 入设备的数量。

第一接收单元 124 , 用于接收虚拟机管理器发送的第一应用响应 消息或应用加入响应消息,所述第一应用响应 消息或应用加入响应消 息中携带有虚拟机地址信息。

上述第一发送单元 123 , 还用于根据所述虚拟机地址信息向所述 虚拟机发送第二连接请求消息;所述第二连接 请求消息中携带有终端 的用户标识和已启动的终端的第二输入设备的 设备标识;以使得所述 虚拟机根据所述终端的用户标识和终端的第二 输入设备的设备标识 建立第二虚拟输入单元与所述终端的第二输入 设备的映射关系,所述 第二虚拟输入单元为虚拟机中空闲的虚拟输入 单元。

所述第一接收单元 124 , 还用于接收所述虚拟机发送的第二连接 响应消息。

本发明实施例提供了一种虚拟机管理器, 如图 12所示, 包括: 第一接收单元 131 , 用于接收第一终端发送的第一应用启动请求 消息。 其中,所述第一应用启动请求消息中携带有第 一标识、应用标识。 第一应用启动请求消息中还携带有所述终端的 用户信息和终端性能 信息; 所述第一标识用于指示其他输入设备是否可加 入到应用中。

可选的,第一应用启动请求消息中携带有第一 终端设定的可连接 的输入设备的数量,

选择单元 132 , 用于根据所述应用标识和第一终端的终端性能 信 息, 选择虚拟机。

第一发送单元 133 , 用于向所述虚拟机发送第二应用启动请求消 息; 所述第二应用启动请求消息中携带有第一标识 和应用标识, 以便 于所述虚拟机根据所述第二应用启动请求消息 中的第一标识建立至 少一个虚拟输入单元, 并 居所述应用标识启动应用。

可选的,第二应用启动请求消息中携带有第一 终端设定的可连接 的输入设备的数量, 或携带有应用允许接入的最大连接数量。

第二接收单元 134 , 用于接收所述虚拟机发送的第二应用启动响 应消息。

第二发送单元 135 , 用于发送第一应用启动响应消息至所述第一 终端, 所述第一应用启动响应消息中携带有虚拟机地 址信息, 以便于 第一终端根据所述虚拟机地址信息向所述虚拟 机发送第一连接请求 消息;第一终端发送的所述第一连接请求消息 中携带有第一终端的用 户标识和已启动的所述第一终端的第一输入设 备的设备标识。

上述虚拟机管理器, 如图 13所示, 还包括:

第一接收单元 131 , 用于接收至少一个第二终端发送的应用加入 请求消息, 所述应用加入请求消息中携带有应用标识、 已连接到虚拟 机的终端的用户标识。

其中,应用加入请求消息中还携带有所述终端 的用户信息和终端 性能信息。

获取单元 136 , 用于根据所述应用加入请求消息的应用标识和 所 示已连接到虚拟机的终端的用户标识获取虚拟 机地址信息。

添加单元 137 , 用于将获取到的虚拟机地址信息添加至应用加 入 响应消息中。

第一发送单元 133 , 还用于向所述第二终端发送应用加入响应消 息, 所述应用加入响应消息携带有获取的虚拟机地 址信息, 以使得所 述第二终端根据所述虚拟机地址信息向所述虚 拟机发送第一连接请 求消息。第二终端发送的所述第一连接请求消 息携带有第二终端的用 户标识和已启动的所述第二终端的第一输入设 备的设备标识。

本发明实施例提供了一种在线应用的实现装置 ,通过终端的用户 标识和终端的输入设备的设备标识建立空闲虚 拟输入单元与终端的 输入设备间的映射关系,可以使得多个用户通 过不同的终端连接到在 线应用平台中的同一个应用,实现了在在线应 用平台中对于多用户使 用同一个应用, 不同的用户通过不同的终端, 在不同区域内实现应用 的交互, 或者不同的用户通过同一个终端的不同输入设 备, 实现应用 的交互, 从而提升用户体验。

本发明实施例提供了一种单机多用户的实现系 统,如图 14所示, 包括: 虚拟机 151, 虚拟机管理器 152, 终端 153。

所述虚拟机 151, 用于接收终端 153发送的第一连接请求消息; 所述第一连接请求消息中携带有终端 153 的用户标识和已启动的所 述终端 153的第一输入设备的设备标识;为所述终端 153的第一输入 设备选择第一虚拟输入单元,所述第一虚拟输 入单元为虚拟机中空闲 的虚拟输入单元;根据所述终端 153的用户标识和所述终端 153的第 一输入设备的设备标识, 建立所述第一虚拟输入单元与所述终端 153 的第一输入设备的映射关系; 向所述终端 153 发送第一连接响应消 息, 以便通知所述终端 153连接完成; 向已连接到虚拟机 151的终端 153发送应用准备完成消息, 以便虚拟机 151与连接到虚拟机 151的 终端 153进行指令和 /或数据的传输。

所述终端 153, 用于向虚拟机 151发送第一连接请求消息; 所述 第一连接请求消息中携带有所述终端 153 的用户标识和已启动的所 述终端 153的第一输入设备的设备标识,以使得所述虚 拟机 151根据 所述终端 153的用户标识和终端 153的第一输入设备的设备标识,建 立第一虚拟输入单元与所述第一终端 153 的第一输入设备的映射关 系, 所述第一虚拟输入单元为虚拟机 151中空闲的虚拟输入单元; 接 收所述虚拟机 151 发送的第一连接响应消息; 接收所述虚拟机 151 发送的应用准备完成消息,以便所述终端 153与所述虚拟机 151进行 指令和 /或数据的传输。

所述虚拟机管理器 152, 用于接收第一终端 153发送的第一应用 启动请求消息; 所述第一应用启动请求消息中携带有第一标识 、应用 标识和第一终端 153的终端性能信息;所述第一标识用于指示其 他输 入设备是否可加入到应用中;根据所述第一应 用启动请求消息中的应 用标识和第一终端 153的终端性能信息, 选择虚拟机 151 ; 向所述虚 拟机 151发送第二应用启动请求消息;所述第二应用 启动请求消息中 携带有第一标识和应用标识,以便于所述虚拟 机 151根据所述第二应 用启动请求消息中的第一标识建立至少一个虚 拟输入单元,并根据所 述应用标识启动应用;接收所述虚拟机 151发送的第二应用启动响应 消息, 并发送第一应用启动响应消息至所述第一终端 153 , 所述第一 应用启动响应消息中携带有虚拟机地址信息, 以便于第一终端 153 根据所述虚拟机地址信息向虚拟机发送第一连 接请求消息;第一终端 153发送的所述第一连接请求消息中携带有第一 终端 153的用户标识 和已启动的所述第一终端 153的第一输入设备的设备标识。

本发明以上实施例中虚拟机和虚拟机管理器可 以为计算机等硬件设 备, 而执行上述功能的方法可以为计算机的处理器 , 虚拟机和虚拟机管理 器上述的功能单元也可以为运行于计算机的处 理器中的单元。 终端可以为 任何终端设备, 如手机, PDA, 笔记本电脑, 计算机, 机顶盒等, 本发明 在此不做限定。 终端的各功能单元都可以为终端的处理器。

本发明实施例提供了一种在线应用的实现系统 ,通过终端的用户 标识和终端的输入设备的设备标识建立空闲虚 拟输入单元与终端的 输入设备间的映射关系,可以使得多个用户通 过不同的终端连接到在 线应用平台中的同一个应用,实现了在在线应 用平台中对于多用户使 用同一个应用, 不同的用户通过不同的终端, 在不同区域内实现应用 的交互, 或者不同的用户通过同一个终端的不同输入设 备, 实现应用 的交互, 从而提升用户体验。

以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并 不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露 的技术范 围内, 可轻易想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范围应以所述权利要求的保护范 围为准。