CN102436350A - 远程应用窗口显示方法、服务器及用户终端 - Google Patents

远程应用窗口显示方法、服务器及用户终端 Download PDF

Info

Publication number
CN102436350A
CN102436350A CN2011104020918A CN201110402091A CN102436350A CN 102436350 A CN102436350 A CN 102436350A CN 2011104020918 A CN2011104020918 A CN 2011104020918A CN 201110402091 A CN201110402091 A CN 201110402091A CN 102436350 A CN102436350 A CN 102436350A
Authority
CN
China
Prior art keywords
application window
user terminal
server
windowed
request
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
Application number
CN2011104020918A
Other languages
English (en)
Other versions
CN102436350B (zh
Inventor
胡春明
于伟仁
李建欣
沃天宇
怀进鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201110402091.8A priority Critical patent/CN102436350B/zh
Publication of CN102436350A publication Critical patent/CN102436350A/zh
Application granted granted Critical
Publication of CN102436350B publication Critical patent/CN102436350B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种远程应用窗口显示方法、服务器及用户终端。其中方法包括:用户终端选择应用窗口,并向虚拟化环境中的远程服务器发送标识获取请求,以使服务器返回应用窗口对应的句柄标识;用户终端接收句柄标识,生成携带句柄标识的窗口化显示请求,将窗口化显示请求发送给服务器,以使服务器设置应用窗口对应的窗口化显示信息;用户终端接收服务器返回的窗口化显示信息,并根据窗口化显示信息在用户终端的屏幕上显示应用窗口。本发明技术方案在远程访问方式下实现应用窗口的远程显示,解决因显示整个桌面造成的时间开销、流量开销等较大而无法被接受的问题,降低远程显示实现时的时间开销和流量开销。

Description

远程应用窗口显示方法、服务器及用户终端
技术领域
本发明涉及虚拟化技术,尤其涉及一种远程应用窗口显示方法、服务器及用户终端。
背景技术
随着计算机和互联网技术的发展,网络上聚合了各种计算资源、数据资源、软件资源和服务资源。如何利用分散在互联网上的众多类型的资源成为越来越重要的问题。以3G网络为标志的移动互联网时代的到来,为人们高效利用资源提供了一个新的思路,也是IT服务行业的机遇。
随着硬件设备的发展,用户对于访问多样化的互联网的方式需求越来越明显,从而出现了众多不同类型的用户终端,其中以智能电话、上网本等尤为突出。但在突出了用户终端的可移动性的同时,其处理能力,存储能力和展现能力都受到了限制。
随着计算模式的发展,人们对如何在用户终端能力有限的条件下充分利用网络上的计算资源和存储资源提出了多种解决方案,例如:从客户端/服务器的计算模型演进到现在的云计算与虚拟计算。逐渐地,以虚拟化为基础的云计算成为主流,并演化出新的以网络为基础的软件应用模式,即软件即服务的方式,允许用户终端,特别是移动用户终端通过网络使用软件,并获取网络上强大的计算资源和虚拟资源。
随着技术的进步,人们在移动用户终端上可以实现的功能也越来越多,并且引入了网络软件服务的概念。软件的网络化使用方式相比传统桌面软件的使用,使用户终端的处理能力和资源使用能力与其便利性都有了较大的提升。在软件使用方面,通过远程交互协议和服务器通信,将用户终端的鼠标、键盘等输入传送到服务器处理,再获取服务器返回的处理结果并在用户终端上显示,用户终端自己不需要维护和购买软件,不需要在运行故障时进行调试和纠错的操作,用户不需要关心软件的安装、部署等细节,只需要关心软件的执行结果并为每次使用付费。在资源的使用方面,由于软件在网络环境中运行,而不局限于用户终端的存储资料,使得用户终端在理论上可以无限扩展资源访问。这种方式更加有利于用户的使用,同时保证数据安全性。
由上述介绍可以看出,远程访问技术的展现性是实现网络软件服务的一个关键环节,但现有的展现方式还存在着很大的限制。首先,由于移动互联网络中用户终端移动性的突出,使其在设备性能和尺寸等方面都受到了很大的限制,尤其是和电脑屏幕尺寸及分辨率的差异较大,现有远程交互协议的编码粒度都是以整个桌面为基准,而在多数使用场景下,用户在某个时间内通常只关心一个程序的运行状况,这样在使用过程中,用户就不得不将大量精力分散到通过桌面选择关心地应用程序的操作上,导致了操作上的不便,在时间上的浪费是不能承受的。其次,由于整个桌面的传输导致的流量开销往往难以接受,其较低的有效数据率产生了大量不必要的开销,这使得远程桌面访问方式在广域网中的使用受到了限制,使得许多服务因此不能得到推广。
发明内容
本发明提供一种远程应用窗口显示方法、***、服务器及用户终端,用以在远程访问方式下实现应用窗口的远程显示,解决因显示整个桌面造成的时间开销、流量开销等较大而无法被接受的问题,降低远程显示实现时的时间开销和流量开销。
本发明一方面提供一种远程应用窗口显示方法,包括:
用户终端选择应用窗口,并向虚拟化环境中的远程服务器发送标识获取请求,以使所述服务器返回所述应用窗口对应的句柄标识;
所述用户终端接收所述服务器返回的所述句柄标识,生成携带所述句柄标识的窗口化显示请求,将所述窗口化显示请求发送给所述服务器,以使所述服务器根据所述窗口化显示请求设置所述应用窗口对应的窗口化显示信息;
所述用户终端接收所述服务器返回的所述应用窗口对应的窗口化显示信息,并根据所述窗口化显示信息在所述用户终端的屏幕上显示所述应用窗口。
本发明另一方面提供一种用户终端,包括:
选择发送模块,用于选择应用窗口并向虚拟化环境中的远程服务器发送标识获取请求,以使所述服务器返回所述应用窗口对应的句柄标识;
生成发送模块,用于接收所述服务器返回的所述句柄标识,生成携带所述句柄标识的窗口化显示请求,将所述窗口化显示请求发送给所述服务器,以使所述服务器根据所述窗口化显示请求设置所述应用窗口对应的窗口化显示信息;
第一接收显示模块,用于接收所述服务器返回的所述应用窗口对应的窗口化显示信息,并根据所述窗口化显示信息在所述用户终端的屏幕上显示所述应用户窗口。
本发明又一方面提供一种服务器,包括:
第一接收模块,用于接收用户终端在选择应用窗口时发送的标识获取请求;
第一返回模块,用于向所述用户终端返回所述应用窗口对应的句柄标识;
第二接收模块,用于接收所述用户终端发送的携带所述句柄标识的窗口化显示请求;
获取设置模块,用于根据所述窗口化显示请求设置所述应用窗口对应的窗口化显示信息;
第二返回模块,用于向所述用户终端返回所述应用窗口对应的窗口化显示信息,以使所述用户终端根据所述窗口化显示信息在所述用户终端的屏幕上显示所述应用窗口。
本发明一方面提供的远程应用窗口显示方法,用户终端选择应用窗口,并向服务器发送标识获取请求,使远程的服务器将用户终端选择的应用窗口的句柄标识返回给用户终端,然后用户终端向远程的服务器发送携带句柄标识的窗口化显示请求,以使远程的服务器设置显示应用窗口所需的窗口化显示信息,并提供给用户终端,用户终端根据服务器提供的窗口化显示信息在屏幕上显示该应用窗口,与现有技术以整个桌面为粒度进行显示相比,用户不用在各个应用窗口之间进行切换,降低了远程显示的时间开销,另外,应用窗口与整个桌面相比其信息量要小很多,降低了远程显示时的流量开销。
本发明另一方面提供的用户终端,选择应用窗口,并向服务器发送标识获取请求,使远程的服务器将用户终端选择的应用窗口的句柄标识返回给用户终端,然后用户终端向远程的服务器发送携带句柄标识的窗口化显示请求,以使远程的服务器设置显示应用窗口所需的窗口化显示信息,并提供给用户终端,用户终端根据服务器提供的窗口化显示信息在屏幕上显示该应用窗口,与现有技术以整个桌面为粒度进行显示相比,用户不用在各个应用窗口之间进行切换,降低了远程显示的时间开销,另外,应用窗口与整个桌面相比其信息量要小很多,降低了远程显示时的流量开销。
本发明又一方面提供的服务器,根据用户终端的标识获取请求,向用户终端返回其所选择的应用窗口的句柄,服务器根据用户终端发送携带句柄标识的窗口化显示请求设置显示应用窗口所需的窗口化显示信息,并提供给用户终端,以使用户终端根据服务器提供的窗口化显示信息在屏幕上显示该应用窗口,与现有技术以整个桌面为粒度进行显示相比,用户不用在各个应用窗口之间进行切换,降低了远程显示的时间开销,另外,应用窗口与整个桌面相比其信息量要小很多,降低了远程显示时的流量开销。
附图说明
图1为本发明一实施例提供的远程应用窗口显示方法的流程图;
图2为本发明另一实施例提供的远程应用窗口显示方法的流程图;
图3为本发明又一实施例提供的远程应用窗口显示方法的流程图;
图4为本发明一实施例提供的用户终端的结构示意图;
图5为本发明另一实施例提供的用户终端的结构示意图;
图6为本发明一实施例提供的服务器的结构示意图。
具体实施方式
图1为本发明一实施例提供的远程应用窗口显示方法的流程图。如图1所示,本实施例的方法包括:
步骤101、用户终端选择应用窗口,并向虚拟化环境中的远程服务器发送标识获取请求,以使服务器返回应用窗口对应的句柄标识。
本实施例适用于采用虚拟化的***。本实施例采用客户端/服务器(Client/Server;简称为:C/S)架构,主要包括三部分:客户端,(即用户终端)、位于远程的服务器和所使用的通信协议。
举例说明:本实施例的用户终端可以为智能手机,例如可以使用Android2.1或以上操作***,但并不限于此。服务器可以使用Windows7操作***,但并不限于此。用户终端和服务器之间使用的通信协议可以是远程帧缓存(Remote Frame Buffer;简称为:RFB)协议,并且在本实施例中还对RFB协议进行了功能扩展,使其能够支持窗口级显示和显示窗口之间的动态切换功能,但并不限于此。
另外,在本实施例中,用户终端上安装有实现虚拟机的客户端软件,而服务器上安装有实现虚拟机的服务器软件,用户终端通过实现虚拟机的客户端软件与服务器所实现的虚拟空间相连接。
在本实施例中,用户终端支持窗口化显示功能,窗口化显示功能是与桌面显示功能相对应的,仅显示某个应用窗口,而不是显示整个桌面。其中,应用窗口可以是某个应用程序,还可以是某个文档。
当用户通过用户终端选择服务器上的某个应用窗口时,用户终端同时向服务器发送标识获取请求。对服务器而言,能够识别用户终端选择的是哪个应用窗口,故服务器在接收到用户终端发送的标识获取请求后,会根据用户终端的标识获取请求,获取用户终端所选择的应用窗口的句柄标识。其中,句柄标识用于标识应用窗口,例如可以是应用窗口的身份标识(ID)。
其中,用户终端可以使用RFB协议向服务器发送标识获取请求。
步骤102、用户终端接收服务器返回的句柄标识,生成携带句柄标识的窗口化显示请求,将窗口化显示请求发送给服务器,以使服务器根据窗口化显示请求设置应用窗口对应的窗口化显示信息。
当服务器获取到所有应用窗口的句柄标识后,将所获取的句柄标识发送给用户终端。例如:服务器可以使用RFB协议将句柄标识发送给用户终端。
用户终端接收到服务器返回的句柄标识后,向服务器发送窗口化显示请求,以请求显示该应用窗口。其中,用户终端可能会打开多个应用窗口,为了识别是哪个应用窗口,用户终端将标识应用窗口的句柄标识添加在窗口化显示请求中一并发送给服务器。
服务器接收到窗口化显示请求后,从中获取句柄标识,根据获取的句柄标识识别出用户终端请求进行显示的应用窗口;然后,设置该应用窗口对应的窗口化显示信息。服务器设置应用窗口对应的窗口化显示信息主要是指将应用窗口前置,设置截取区域,获取顶点坐标,并将上述消息进行组合,实现对应用窗口的捕获与编码。其中,应用窗口前置主要是指在当前桌面环境中将应用窗口置顶。当前桌面环境可以分为单个桌面环境与多个桌面环境,所谓多个桌面环境是由独立的单个桌面环境所组合成的,用户可以在各个独立桌面环境之间切换,但必须保持单个桌面环境之间的独立性;在多个桌面环境中,只能将应用窗口在当前桌面环境中置顶。设置截取区域主要是指服务器程序通过当前应用窗口具有唯一性的句柄标识,向服务器的操作***请求当前应用窗口的矩形区域参数的过程。成功后,服务器将当前截屏区域设置为应用窗口的区域,并通知用户终端进行窗口大小的改变。获取定点坐标主要是指服务器在获取当前应用窗口的区域后,获取应用窗口左顶点坐标,以对鼠标时间进行位置同步的过程。当客户端发送过来鼠标按键事件时,其点击位置是基于客户端屏幕的,也就是当前应用窗口,此时将该坐标映射到服务器的桌面上,需要加上左顶点坐标以进行位移。例如,当前窗口左顶点是(50,50),客户端发送的是(20,20),那么服务器桌面上的真实坐标应该是(70,70)。
步骤103、用户终端接收服务器返回的应用窗口对应的窗口化显示信息,并根据窗口化显示信息在用户终端的屏幕上显示应用窗口。
当服务器设置好窗口化显示信息后,首先将包含顶点坐标等信息的窗口化显示信息发送给用户终端。
用户终端接收到窗口化显示信息后,获取其中的顶点坐标信息,并根据所获取的顶点坐标信息获知操作成功。用户终端根据顶点坐标信息进行显示调整、坐标同步等,为将所选择的应用窗口显示在用户终端的屏幕上打基础。另外,用户终端还可以将顶点坐标信息进行存储,用以计算服务器桌面真实坐标。
进一步,在屏幕更新时,服务器会自动检查应用窗口的区域面积是否发生改变,如果改变,则通知用户终端改变显示区域面积。即服务器还会通过窗口化显示信息将截取区域信息发送给用户终端,以使用户终端根据截取区域信息在其屏幕上显示应用窗口。其中,在显示区域发生变化时,显示区域的面积可以保持不变,通常所关心的是显示区域的大小。
同理,服务器可以使用RFB协议向用户终端返回窗口化显示信息。
其中,服务器向用户终端返回窗口化显示信息的方式可以是:服务器首先根据用户终端的窗口显示请求,向用户终端返回携带顶点坐标信息的窗口化显示信息,用户终端首先接收服务器返回的窗口显示化信息中的顶点坐标信息;然后,用户终端向服务器发送更新显示请求;而服务器在接收到更新显示请求后通过窗口化显示信息向用户终端返回用户终端请求显示的应用窗口的截取区域信息。此时,用户终端接收服务器在接收到更新显示请求后返回的窗口化显示信息中的截取区域信息,最终用户终端根据窗口化显示信息中的顶点坐标信息和截取区域信息在屏幕上显示该应用窗口。在该实施方式中,当用户终端需要更新其屏幕上所显示的信息时,需要向服务器发送更新显示请求。
另外,服务器向用户终端返回窗口化显示信息的方式还可以是:服务器首先根据用户终端的窗口显示请求,向用户终端返回携带顶点坐标信息的窗口化显示信息,用户终端首先接收服务器返回的窗口显示化信息中的顶点坐标信息;然后,服务器可以预先设定更新时间,并在设置好应用窗口对应的截取区域信息时,通过定时器、计数器等方式开始对更新时间进行计时,当更新时间到达时,通过窗口化显示信息主动向用户终端返回设置好的应用窗口的截取区域信息。对用户终端来说,就是在接收到顶点坐标信息后,继续接收服务器在预设更新时间到达后返回的窗口化显示信息中的截取区域信息,并根据窗口化显示信息中的顶点坐标信息和截取区域信息在其屏幕上显示所对应的应用窗口。
其中,为了保持用户终端的显示画面的稳定性,在用户终端显示某一应用窗口或整个桌面期间,服务器会以一定频率不停的向用户终端发送窗口化显示信息,以实现对用户终端屏幕的刷新,保持显示的稳定性。
在本实施例中,用户终端在选择应用窗口时,向服务器发送标识获取请求,获取应用窗口的句柄标识,然后向服务器发送携带句柄标识的窗口化显示请求,以使服务器返回进行窗口化显示所需的窗口化显示信息,进而根据窗口化显示信息实现对应用窗口的显示。与现有技术以桌面为粒度进行远程显示的技术相比,本实施例允许用户在一定时间内只关心一个应用程序或文档的运行状况,避免了用户在使用过程中将大量精力被分散到切换操作上,节约了远程显示在时间上的浪费;另外,本实施例所传输的是显示某个应用窗口所需的信息,与显示整个桌面所需的信息相比,其信息量小的多,节约了流量,降低了远程显示技术中的流量开销。再者,本实施例在桌面显示的基础上,做到指定显示某一应用窗口,给用户对应用窗口进行控制和访问带来了很大的便利性,并且通过这种方式使得用户可以通过触摸操作对应用窗口进行控制,极大地提高了用户操作上的便利性。
图2为本发明另一实施例提供的远程应用窗口显示方法的流程图。如图2所示,本实施例的方法包括:
步骤200、用户终端判断窗口化显示功能是否开启;当判断结果为是,即用户终端的窗口化显示功能开启时,执行步骤201;反之,执行步骤205。
在本实施例中,用户终端不仅支持窗口化显示功能,还支持桌面显示功能。
用户终端使用哪种显示功能可以进行设置,例如用户可以手动设置启用哪种显示功能。
用户终端可以通过判断显示功能的设置参数来判断是否开启窗口化显示功能。
步骤201、用户终端向服务器发送告知消息,以告知服务器用户终端的窗口化显示功能开启,并执行步骤202。
当用户终端确定其开启了窗口化显示功能时,向服务器发送告知消息,以告知服务器其窗口化显示功能已经开启,以便于服务器在接收到用户终端的窗口化显示请求后执行相应操作。
步骤202、用户终端选择应用窗口,并向虚拟化环境中的远程服务器发送标识获取请求,以使服务器返回应用窗口对应的句柄标识,并执行步骤203。
例如:用户终端可以通过虚拟机客户端软件将用户终端的鼠标、键盘等操作输送到服务器,去对服务器上的软件或资源进行操作。用户终端可以通过这种方式选择某个应用窗口。
用户终端在选择应用窗口时,向服务器发送标识获取请求,以请求服务器返回应用窗口的句柄标识,为请求显示该应用窗口打下基础。
关于步骤202的其他描述可参见步骤101的描述,在此不再赘述。
步骤203、用户终端接收服务器返回的句柄标识,生成携带句柄标识的窗口化显示请求,将窗口化显示请求发送给服务器,以使服务器根据窗口化显示请求设置应用窗口对应的窗口化显示信息,并执行步骤204。
步骤204、用户终端接收服务器返回的应用窗口对应的窗口化显示信息,并根据窗口化显示信息在用户终端的屏幕上显示应用窗口,结束此次操作。
其中,步骤203和步骤204可参见步骤102和步骤103的描述,在此不再赘述。
步骤205、用户终端向服务器发送桌面化显示请求,并根据服务器返回的桌面化显示信息显示整个桌面。
当用户终端的窗口化显示功能未开启时,意味着用户终端开启了桌面显示功能,则用户终端向服务器发送桌面化显示请求。服务器会根据桌面化显示请求,将显示整个桌面所需的信息(即桌面化显示信息)返回给用户终端,用户终端会根据桌面化显示信息进行显示调整、坐标同步等操作,实现整个桌面的显示。
该步骤与现有技术相类似,在此不再详细论述。
在本实施例中,用户终端同时支持桌面级别显示和窗口级别的显示,并允许用户对显示方式进行设置,提高了远程显示的灵活性。
图3为本发明又一实施例提供的远程应用窗口显示方法的流程图。如图3所示,本实施例的方法包括:
步骤300、用户终端向服务器发送窗口遍历请求,以向服务器请求当前所有开启的应用窗口的信息。
在本实施例中,用户终端支持窗口化显示功能,也可以同时支持桌面化显示功能。
其中,较为优选地,用户终端在执行步骤300之前,可以先确定其窗口化显示功能已经开启,但并不限于此。例如:用户终端在执行步骤300之前也可以不执行判断窗口化显示功能是否已经开启的操作。
例如:用户终端可以在初始阶段,通过RFB协议向服务器发送窗口遍历请求。服务器接收到窗口遍历请求后,获知需要将该用户终端当前所有开启的应用窗口信息并返回给用户终端。于是,服务器就会获取所有由该用户终端开启的应用窗口的信息,并通过RFB协议发送给用户终端。其中,每个应用窗口的信息例如可以为应用窗口的名称和句柄标识。
步骤301、用户终端接收服务器返回的所有已开启应用窗口的名称和句柄标识,并在屏幕上显示所有已开启应用窗口的名称和句柄标识,以供用户选择需要显示的应用窗口。
用户终端接收到服务器返回的所有已开启应用窗口的名称和句柄标识后,可以通过但并不限于列表的形式,将所有已开启应用窗口的名称和句柄标识显示在其屏幕上。这样,用户可以看到该用户终端当前所有已开启的应用窗口及其信息,一方面有利于用户选择所要显示的应用窗口,另一方面允许用户切换所要显示的应用窗口,即实现应用窗口之间的显示切换。
进一步,在该步骤中,用户终端在其屏幕上显示所有已开启应用窗口的信息时,还可以在屏幕上增加桌面显示选项,以供用户选择从显示应用窗口状态切换到显示桌面状态。通过增加桌面显示选项,允许用户从显示应用窗口的状态切换会显示整个桌面的状态。
在此说明,用户通过桌面显示选项由窗口显示状态切换到桌面显示状态的操作与用户终端请求显示某个应用窗口的操作流程相同,即也需要向服务器发送桌面化显示请求,然后接收服务器在接收到更新显示请求后或在预设更新时间到达后发送的桌面化显示信息后才能显示整个桌面,这与现有技术中直接进行桌面显示的操作不同。通过这种方式可以使以任何一种显示方式进行显示时的操作流程相一致,有利于实现。
步骤302、用户终端选择应用窗口,并向虚拟化环境中的远程服务器发送标识获取请求,以使服务器返回应用窗口对应的句柄标识。
在本实施例中,用户终端可以通过虚拟机客户端软件将用户终端的鼠标、键盘等操作输送到服务器,去选择某个应用窗口。另外,用户终端还可以通过屏幕上显示的应用窗口的信息来选择,例如可以通过点击操作来选择某个应用窗口。在用户终端显示出所有已开启的应用窗口的信息的条件下,用户终端优选使用所显示的信息来选择应用窗口。
无论用户终端以何种方式选择应用窗口,当选择应用窗口时,都会向服务器发送标识获取请求。
该步骤的其他描述可参见步骤101的描述,在此不再赘述。
步骤303、用户终端接收服务器返回的句柄标识,生成携带句柄标识的窗口化显示请求,将窗口化显示请求发送给服务器,以使服务器根据窗口化显示请求设置应用窗口对应的窗口化显示信息。
步骤304、用户终端接收服务器返回的应用窗口对应的窗口化显示信息,并根据窗口化显示信息在用户终端的屏幕上显示应用窗口。
其中,上述步骤303和步骤304详见步骤102和步骤103的描述,在此不再赘述。
在本实施例中,用户终端通过向服务器发送窗口遍历请求,获取所有已开启应用窗口的信息,并基于此选择应用窗口,简化了用户终端选择所要显示的应用窗口的操作,进一步提高了远程显示的时间效率。另外,用户终端通过以列表等形式将所有已开启的应用窗口的信息显示在屏幕上,使得用户可以在显示某个应用窗口的过程方便的进行应用窗口的切换,即由显示某一应用窗口切换到显示另一应用窗口。
在上述实施例中,用户终端是在初始阶段发送窗口遍历请求,获取所有已开启的应用窗口的信息的,但并不限于此。例如:用户终端可以在任意时刻向服务器发送窗口遍历请求,来获取所有已开启的应用窗口的信息。例如:用户终端可以在显示某一应用窗口的过程中,向服务器发送窗口遍历请求,获取所有已开启的应用窗口的信息,并以某种方式(例如列表)显示在屏幕上。其中,在显示应用窗口过程中显示所有已开启的应用窗口的信息的方式可以是在以小窗口形式将所有已开启的应用窗口的信息放置在屏幕的某个角上进行显示。
以用户终端获取到并显示所有已开启的应用窗口的信息为基础,当用户终端需要切换显示的应用窗口时,用户终端可以通过显示的所有已开启的应用窗口的信息选择新的应用窗口,并向服务器发送携带新的应用窗口的句柄标识的窗口切换请求。在该情况下,新的应用窗口的句柄标识是已知的。服务器根据窗口切换请求中的句柄标识,识别出新的应用窗口,然后设置新的应用窗口所对应的窗口化显示信息。在设置好窗口化显示信息后,服务器将新的应用窗口所对应的窗口化显示信息发送给用户终端。其中,服务器设置新的应用窗口对应的窗口化显示信息的方法与之前描述的设置应用窗口对应的窗口化显示信息的方法相同,在此不再赘述。
其中,用户终端可以先获取服务器通过窗口化显示信息返回的新的应用窗口的顶点坐标信息,然后向服务器发送更新显示请求,以使服务器返回新的应用窗口对应的截取区域信息。或者,服务器在通过窗口化显示信息向用户终端返回新的应用窗口的顶点坐标信息后,根据预设的更新时间,在更新时间到达后,再通过窗口化显示信息主动向用户终端返回新的应用窗口对应的截取区域信息。
对用户终端来说,接收服务器返回的新的应用窗口对应的窗口化显示信息,并根据窗口化显示信息中的顶点坐标信息和截取区域信息在其屏幕上显示新的应用窗口。
在本实施例中,用户终端通过获取并显示所有已开启的应用窗口的信息,并基于此实现应用窗口之前的动态切换,具有实现简单、切换效率高等优点。另外,本实施例实现动态应用窗口的切换,达到了多任务处理的效果。在现有技术中,在远程桌面多任务操作环境下,只能通过和在电脑上相同的办法来切换应用程序,这样的操作在用户终端上实现会给用户带来了不便利,而本实施例实现了在操作过程中自由切换应用窗口,给用户操作带来了极大的便利性。
图4为本发明一实施例提供的用户终端的结构示意图。如图4所示,本实施例的用户终端包括:选择发送模块41、生成发送模块42和第一接收显示模块43。
其中,选择发送模块41,与服务器连接,用于选择应用窗口并向虚拟化环境中的远程服务器发送标识获取请求,以使服务器返回应用窗口对应的句柄标识。生成发送模块42,与服务器连接,用于接收服务器返回的句柄标识,生成携带句柄标识的窗口化显示请求,将窗口化显示请求发送给服务器,以使服务器根据窗口化显示请求设置应用窗口对应的窗口化显示信息。第一接收显示模块43,与服务器连接,用于接收服务器返回的应用窗口对应的窗口化显示信息,并根据窗口化显示信息在用户终端的屏幕上显示应用户窗口。
其中,第一接收显示模块43具体可以用于先接收服务器返回的窗口显示化信息中的顶点坐标信息;然后,向服务器发送更新显示请求,接收服务器在接收到更新显示请求后返回的窗口化显示信息中的截取区域信息,并最终根据窗口化显示信息中的顶点坐标信息和截取区域信息在屏幕上显示该应用窗口。
另外,第一接收显示模块43还可以具体用于先接收服务器返回的窗口显示化信息中的顶点坐标信息;然后,接收服务器在预设更新时间到达后返回的窗口化显示信息中的截取区域信息,并根据窗口化显示信息中的顶点坐标信息和截取区域信息在其屏幕上显示所对应的应用窗口。
本实施例用户终端的各功能模块可用于执行图1所示远程应用窗口显示方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的用户终端在选择应用窗口时,向服务器发送标识获取请求,获取应用窗口的句柄标识,然后向服务器发送携带句柄标识的窗口化显示请求,以使服务器返回进行窗口化显示所需的窗口化显示信息,进而根据窗口化显示信息实现对应用窗口的显示。与现有技术以桌面为粒度进行远程显示的技术相比,本实施例地用户终端允许用户在一定时间内只关心一个应用程序或文档的运行状况,避免了用户在使用过程中将大量精力被分散到切换操作上,节约了远程显示在时间上的浪费;另外,本实施例的用户终端在桌面显示的基础上,做到指定显示某一应用窗口,给用户对应用窗口进行控制和访问带来了很大的便利性,并且通过这种方式使得用户可以通过触摸操作对应用窗口进行控制,极大地提高了用户操作上的便利性。
图5为本发明另一实施例提供的用户终端的结构示意图。本实施例基于图4所示实施例实现,如图5所示,本实施例的用户终端还包括:判断模块51和发送告知模块52。
其中,判断模块51,用于在选择发送模块41执行选择应用窗口并向虚拟化环境中的远程服务器发送标识获取请求,以使服务器返回所述应用窗口对应的句柄标识的操作之前,判断窗口化显示功能是否开启。
发送告知模块52,与判断模块51和服务器连接,用于在判断模块51的判断结果为是时,向服务器发送告知消息,以告知服务器用户终端的窗口化显示功能开启。
上述功能模块可用于执行图2所示远程应用窗口显示方法中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
进一步,本实施例的用户终端还包括:遍历请求发送模块53、第二接收显示模块54和添加模块55。
其中,遍历请求发送模块53,与服务器连接,用于向服务器发送窗口遍历请求,以向服务器请求当前所有开启的应用窗口的信息。第二接收显示模块54,与服务器连接,用于接收服务器返回的所有已开启应用窗口的名称和句柄标识,并在屏幕上显示所有已开启应用窗口的名称和句柄标识,以供用户选择需要显示的应用窗口。添加模块55,与第二接收显示模块54连接,用于在第二接收显示模块54在屏幕上显示所有已开启应用窗口的名称和句柄标识时,在屏幕上增加桌面显示选项,以供用户选择从显示应用窗口状态切换到显示桌面状态。
进一步,本实施例的用户终端还包括:切换请求发送模块56和第三接收显示模块57。
切换请求发送模块56,与服务器连接,用于在用户根据屏幕上显示的所有已开启应用窗口的名称和句柄标识选择新的应用窗口时,向服务器发送携带新的应用窗口的句柄标识的窗口切换请求,以使服务器根据所述窗口切换请求设置所述新的应用窗口对应的窗口化显示信息。第三接收显示模块57,与服务器连接,用于接收服务器返回的新的应用窗口对应的窗口化显示信息,并根据窗口化显示信息在用户终端的屏幕上显示新的应用窗口。
上述功能模块可用于执行图3所示远程应用窗口显示方法中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的用户终端,通过获取并显示所有已开启的应用窗口的信息,并基于此实现应用窗口之前的动态切换,具有实现简单、切换效率高等优点。另外,本实施例的用户终端实现动态应用窗口的切换,达到了多任务处理的效果。在现有技术中,在远程桌面多任务操作环境下,只能通过和在电脑上相同的办法来切换应用程序,这样的操作在用户终端上实现会给用户带来了不便利,而本实施例的用户终端实现了在操作过程中自由切换应用窗口,给用户操作带来了极大的便利性。
图6为本发明一实施例提供的服务器的结构示意图。如图6所示,本实施例的服务器包括:第一接收模块61、第一返回模块62、第二接收模块63、获取设置模块64和第二返回模块65。
其中,第一接收模块61,与用户终端连接,用于接收用户终端在选择应用窗口时发送的标识获取请求。第一返回模块62,与第一接收模块61和用户终端连接,用于向用户终端返回应用窗口对应的句柄标识。第二接收模块63,与用户终端连接,用于接收用户终端发送的携带句柄标识的窗口化显示请求。获取设置模块64,与第二接收模块63和用户终端连接,用于根据窗口化显示请求设置应用窗口对应的窗口化显示信息。第二返回模块65,与获取设置模块64和用户终端连接,用于向用户终端返回应用窗口对应的窗口化显示信息,以使用户终端根据窗口化显示信息在用户终端的屏幕上显示应用窗口。
本实施例服务器的各功能模块可用于执行图1-图3任一方法实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的服务器与本发明各实施例提供的用户终端相配合,根据用户终端发送的标识获取请求,向其返回应用窗口的句柄标识,并根据用户终端发送的携带句柄标识的窗口化显示请求,向其返回窗口化显示信息,使得用户终端根据窗口化显示信息实现对应用窗口的显示。与现有技术以桌面为粒度进行远程显示的技术相比,本实施例的服务器使用户终端显示某个应用窗口,进而允许用户在一定时间内只关心一个应用程序或文档的运行状况,避免了用户在使用过程中将大量精力被分散到切换操作上,节约了远程显示在时间上的浪费;另外,本实施例的服务器在桌面显示的基础上,使用户终端做到指定显示某一应用窗口,给用户对应用窗口进行控制和访问带来了很大的便利性,并且通过这种方式使得用户可以通过触摸操作对应用窗口进行控制,极大地提高了用户操作上的便利性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种远程应用窗口显示方法,其特征在于,包括:
用户终端选择应用窗口,并向虚拟化环境中的远程服务器发送标识获取请求,以使所述服务器返回所述应用窗口对应的句柄标识;
所述用户终端接收所述服务器返回的所述句柄标识,生成携带所述句柄标识的窗口化显示请求,将所述窗口化显示请求发送给所述服务器,以使所述服务器根据所述窗口化显示请求设置所述应用窗口对应的窗口化显示信息;
所述用户终端接收所述服务器返回的所述应用窗口对应的窗口化显示信息,并根据所述窗口化显示信息在所述用户终端的屏幕上显示所述应用窗口。
2.根据权利要求1所述的远程应用窗口显示方法,其特征在于,所述用户终端选择应用窗口,并向所述服务器发送标识获取请求,以使所述服务器返回所述应用窗口对应的标识之前包括:
所述用户终端判断窗口化显示功能是否开启,并在判断出所述窗口化显示功能开启时,向所述服务器发送告知消息,以告知所述服务器所述用户终端的窗口化显示功能开启。
3.根据权利要求1所述的远程应用窗口显示方法,其特征在于,还包括:
所述用户终端向所述服务器发送窗口遍历请求,以向所述服务器请求当前所有开启的应用窗口的信息;
所述用户终端接收所述服务器返回的所有已开启应用窗口的名称和句柄标识,并在所述屏幕上显示所有已开启应用窗口的名称和句柄标识,以供用户选择需要显示的应用窗口,同时在所述屏幕上增加桌面显示选项,以供所述用户选择从显示应用窗口状态切换到显示桌面状态。
4.根据权利要求3所述的远程应用窗口显示方法,其特征在于,还包括:
当所述用户根据所述屏幕上显示的所有已开启应用窗口的名称和句柄标识选择新的应用窗口时,所述用户终端向所述服务器发送携带所述新的应用窗口的句柄标识的窗口切换请求,以使所述服务器根据所述窗口切换请求设置所述新的应用窗口对应的窗口化显示信息;
所述用户终端接收所述服务器返回的所述新的应用窗口对应的窗口化显示信息,并根据所述窗口化显示信息在所述用户终端的屏幕上显示所述新的应用窗口。
5.根据权利要求1-4任一项所述的远程应用窗口显示方法,其特征在于,所述用户终端接收所述服务器返回的所述应用窗口对应的窗口化显示信息,并根据所述窗口化显示信息在所述用户终端的屏幕上显示所述应用窗口包括:
所述用户终端接收所述服务器返回的所述应用窗口对应的窗口显示化信息中的顶点坐标信息,并向所述服务器发送更新显示请求,接收所述服务器在接收到所述更新显示请求后返回的所述应用窗口对应的窗口化显示信息中的截取区域信息,然后根据所述窗口化显示信息中的顶点坐标信息和截取区域信息在所述用户终端的屏幕上显示所述应用窗口;或者
所述用户终端接收所述服务器返回的所述应用窗口对应的窗口显示化信息中的顶点坐标信息,并接收所述服务器在预设更新时间到达后返回的所述应用窗口对应的窗口化显示信息中的截取区域信息,然后根据所述窗口化显示信息中的顶点坐标信息和截取区域信息在所述用户终端的屏幕上显示所述应用窗口。
6.一种用户终端,其特征在于,包括:
选择发送模块,用于选择应用窗口并向虚拟化环境中的远程服务器发送标识获取请求,以使所述服务器返回所述应用窗口对应的句柄标识;
生成发送模块,用于接收所述服务器返回的所述句柄标识,生成携带所述句柄标识的窗口化显示请求,将所述窗口化显示请求发送给所述服务器,以使所述服务器根据所述窗口化显示请求设置所述应用窗口对应的窗口化显示信息;
第一接收显示模块,用于接收所述服务器返回的所述应用窗口对应的窗口化显示信息,并根据所述窗口化显示信息在所述用户终端的屏幕上显示所述应用户窗口。
7.根据权利要求6所述的用户终端,其特征在于,还包括:
判断模块,用于在所述选择发送模块执行选择应用窗口并向虚拟化环境中的远程服务器发送标识获取请求,以使所述服务器返回所述应用窗口对应的句柄标识的操作之前,判断窗口化显示功能是否开启;
发送告知模块,用于在所述判断模块的判断结果为是时,向所述服务器发送告知消息,以告知所述服务器所述用户终端的窗口化显示功能开启。
8.根据权利要求6所述的用户终端,其特征在于,还包括:
遍历请求发送模块,用于向所述服务器发送窗口遍历请求,以向所述服务器请求当前所有开启的应用窗口的信息;
第二接收显示模块,用于接收所述服务器返回的所有已开启应用窗口的名称和句柄标识,并在所述屏幕上显示所有已开启应用窗口的名称和句柄标识,以供用户选择需要显示的应用窗口;
添加模块,用于在所述第二接收显示模块在所述屏幕上显示所有已开启应用窗口的名称和句柄标识时,在所述屏幕上增加桌面显示选项,以供所述用户选择从显示应用窗口状态切换到显示桌面状态。
9.根据权利要求8所述的用户终端,其特征在于,还包括:
切换请求发送模块,用于在所述用户根据所述屏幕上显示的所有已开启应用窗口的名称和句柄标识选择新的应用窗口时,向所述服务器发送携带所述新的应用窗口的句柄标识的窗口切换请求,以使所述服务器根据所述窗口切换请求设置所述新的应用窗口对应的窗口化显示信息;
第三接收显示模块,用于接收所述服务器返回的所述新的应用窗口对应的窗口化显示信息,并根据所述窗口化显示信息在所述用户终端的屏幕上显示所述新的应用窗口。
10.一种服务器,其特征在于,包括:
第一接收模块,用于接收用户终端在选择应用窗口时发送的标识获取请求;
第一返回模块,用于向所述用户终端返回所述应用窗口对应的句柄标识;
第二接收模块,用于接收所述用户终端发送的携带所述句柄标识的窗口化显示请求;
获取设置模块,用于根据所述窗口化显示请求设置所述应用窗口对应的窗口化显示信息;
第二返回模块,用于向所述用户终端返回所述应用窗口对应的窗口化显示信息,以使所述用户终端根据所述窗口化显示信息在所述用户终端的屏幕上显示所述应用窗口。
CN201110402091.8A 2011-12-06 2011-12-06 远程应用窗口显示方法、服务器及用户终端 Expired - Fee Related CN102436350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110402091.8A CN102436350B (zh) 2011-12-06 2011-12-06 远程应用窗口显示方法、服务器及用户终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110402091.8A CN102436350B (zh) 2011-12-06 2011-12-06 远程应用窗口显示方法、服务器及用户终端

Publications (2)

Publication Number Publication Date
CN102436350A true CN102436350A (zh) 2012-05-02
CN102436350B CN102436350B (zh) 2014-11-12

Family

ID=45984437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110402091.8A Expired - Fee Related CN102436350B (zh) 2011-12-06 2011-12-06 远程应用窗口显示方法、服务器及用户终端

Country Status (1)

Country Link
CN (1) CN102436350B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049262A (zh) * 2012-12-12 2013-04-17 广州尚融网络科技有限公司 基于远程帧缓存的窗口还原方法
WO2014029091A1 (zh) * 2012-08-22 2014-02-27 华为技术有限公司 窗口图像的传输方法、显示方法、终端、服务器及***
WO2014032286A1 (zh) * 2012-08-31 2014-03-06 华为技术有限公司 网络平台操作方法和网络平台设备
CN108121491A (zh) * 2017-12-18 2018-06-05 威创集团股份有限公司 一种显示方法及装置
CN111078491A (zh) * 2019-10-12 2020-04-28 中国平安财产保险股份有限公司 监控信息显示方法、装置、监控终端和计算机存储介质
CN112423101A (zh) * 2020-11-06 2021-02-26 深圳市创凯智能股份有限公司 远程展示方法、装置、设备及计算机可读存储介质
CN112685109A (zh) * 2020-12-03 2021-04-20 南京机敏软件科技有限公司 一种动态标识与识别远程应用窗口的方法及***
CN114327712A (zh) * 2021-12-24 2022-04-12 阿里巴巴(中国)有限公司 云应用***、窗口管理方法及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040028026A1 (en) * 2002-08-07 2004-02-12 Cisco Technology, Inc. Providing telephony services using intelligent end points
US20050246726A1 (en) * 2004-04-28 2005-11-03 Fujitsu Limited Task computing
CN101924798A (zh) * 2010-09-08 2010-12-22 北京大学 一种基于文件类型的Android构件透明加载方法及***
CN102004655A (zh) * 2010-11-25 2011-04-06 北京飞天诚信科技有限公司 自动安装驱动程序的装置及方法
US20110138295A1 (en) * 2009-12-09 2011-06-09 Georgy Momchilov Methods and systems for updating a dock with a user interface element representative of a remote application
CN102096574A (zh) * 2010-12-01 2011-06-15 广东威创视讯科技股份有限公司 一种多窗口拼接显示方法
CN102118643A (zh) * 2009-12-30 2011-07-06 新奥特(北京)视频技术有限公司 一种网络字幕播放***及其播放方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040028026A1 (en) * 2002-08-07 2004-02-12 Cisco Technology, Inc. Providing telephony services using intelligent end points
US20050246726A1 (en) * 2004-04-28 2005-11-03 Fujitsu Limited Task computing
US20110138295A1 (en) * 2009-12-09 2011-06-09 Georgy Momchilov Methods and systems for updating a dock with a user interface element representative of a remote application
CN102118643A (zh) * 2009-12-30 2011-07-06 新奥特(北京)视频技术有限公司 一种网络字幕播放***及其播放方法
CN101924798A (zh) * 2010-09-08 2010-12-22 北京大学 一种基于文件类型的Android构件透明加载方法及***
CN102004655A (zh) * 2010-11-25 2011-04-06 北京飞天诚信科技有限公司 自动安装驱动程序的装置及方法
CN102096574A (zh) * 2010-12-01 2011-06-15 广东威创视讯科技股份有限公司 一种多窗口拼接显示方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014029091A1 (zh) * 2012-08-22 2014-02-27 华为技术有限公司 窗口图像的传输方法、显示方法、终端、服务器及***
CN103959246A (zh) * 2012-08-22 2014-07-30 华为技术有限公司 窗口图像的传输方法、显示方法、终端、服务器及***
CN103959246B (zh) * 2012-08-22 2017-03-08 华为技术有限公司 窗口图像的传输方法、显示方法、终端、服务器及***
WO2014032286A1 (zh) * 2012-08-31 2014-03-06 华为技术有限公司 网络平台操作方法和网络平台设备
CN103049262A (zh) * 2012-12-12 2013-04-17 广州尚融网络科技有限公司 基于远程帧缓存的窗口还原方法
CN103049262B (zh) * 2012-12-12 2016-02-03 广州尚融网络科技有限公司 基于远程帧缓存的窗口还原方法
CN108121491A (zh) * 2017-12-18 2018-06-05 威创集团股份有限公司 一种显示方法及装置
CN111078491A (zh) * 2019-10-12 2020-04-28 中国平安财产保险股份有限公司 监控信息显示方法、装置、监控终端和计算机存储介质
CN111078491B (zh) * 2019-10-12 2022-09-20 中国平安财产保险股份有限公司 监控信息显示方法、装置、监控终端和计算机存储介质
CN112423101A (zh) * 2020-11-06 2021-02-26 深圳市创凯智能股份有限公司 远程展示方法、装置、设备及计算机可读存储介质
CN112685109A (zh) * 2020-12-03 2021-04-20 南京机敏软件科技有限公司 一种动态标识与识别远程应用窗口的方法及***
CN112685109B (zh) * 2020-12-03 2021-09-21 南京机敏软件科技有限公司 一种动态标识与识别远程应用窗口的方法及***
CN114327712A (zh) * 2021-12-24 2022-04-12 阿里巴巴(中国)有限公司 云应用***、窗口管理方法及设备

Also Published As

Publication number Publication date
CN102436350B (zh) 2014-11-12

Similar Documents

Publication Publication Date Title
CN102436350A (zh) 远程应用窗口显示方法、服务器及用户终端
CN109582425A (zh) 一种基于云端与终端gpu融合的gpu服务重定向***及方法
CN102750067B (zh) 一种基于手持设备的大屏幕交互方法
CN104426967B (zh) 一种跨平台和跨设备的移动应用开发***
CN103493010A (zh) 交叉环境事件通知
CN103986752A (zh) 在智能电视的输入界面中输入信息的方法、设备和***
CN102752369B (zh) 电视应用服务的提供方法及虚拟化内容服务平台
JP2015529878A (ja) ウェブクライアントを介したリモートアプリケーションへのアクセスの提供
CN103902692A (zh) 一种应用界面更新的方法、设备和***
CN101836201A (zh) 翻译声明性模型
CN103593111A (zh) 一种移动终端屏幕共享的方法和移动终端
CN103414579A (zh) 一种适用于云计算的跨平台监控***及其监控方法
CN103699635B (zh) 信息处理方法和装置
CN109032587B (zh) 一种数据流管理框架、方法、终端设备及存储介质
CN103176804A (zh) 一种用户界面实现方法
CN111078104A (zh) 一种云桌面上的多点触控设备的重定向方法及计算机设备
CN102681845A (zh) 一种输入事件管理方法及装置
CN103200237B (zh) 一种保持远程桌面同步的方法和装置
CN107092507A (zh) 应用程序的换肤方法、装置及***
CN109802989A (zh) 数据传输方法和装置、服务器和终端
CN105808313B (zh) 智能终端数据交互***及方法
CN105468747A (zh) 一种推荐信息的展示方法及装置
CN103379015A (zh) 网站服务器与im客户端的数据传输方法及其装置和***
CN102355475A (zh) 资讯信息订阅***
CN102970310A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141112

Termination date: 20171206

CF01 Termination of patent right due to non-payment of annual fee