背景技术
云计算(Cloud Computing)是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美***。云计算的一个核心理念就是不断提高“云”的处理能力,进而减少用户终端的处理负担,最终使用户端简化成一个单纯的输入输出设备,并能按需享受“云”强大的计算处理能力。
云计算支持用户在任意位置、使用各种终端获取应用服务。在云中进行交互的时候,使用虚拟化技术可以实现远程动态访问和数据中心用以托管。在InfoWorld的2010年10大热点技术中,虚拟化技术名列第二,从2010年开始,桌面虚拟化将逐渐被大规模采用,在这种情况下,设计一种提供图形用户界面支持访问远程虚拟机上应用程序的交互协议具有重要的意义。
当前的虚拟化技术还面临巨大的挑战,如如何有效地监控本机应用程序的情况,如果支持大量数据批量和低负债、高性能图像信息传送,桌面虚拟化如何实现媒体应用的支持和对各类终端设备的支持等。虚拟化是把前台计算放到后台,然后再在前台显示出结果,那么必然涉及到前后台通信协议的问题,从某种意义上来说,协议效率决定了用户的体验,一种高校的云交互协议是必须的。
目前,提供虚拟化解决方案的主要厂商包括思杰、微软、VMware等,使用的访问协议主要有两种:RDP协议(Remote Display Protocol)和ICA(Independent ComputingArchitecture)协议。在RTP协议中,由于是显示协议,因此无法获得很好的多媒体性能,无法满足终端用户的体验要求,因此需要设计一种具有设备重定向和数据缓冲的云交互协议。
在虚拟桌面的实现上,VNC(Virtual Network Computing)一款优秀的远程控制工具软件,它是有美国Cambridgede的AT&T实验室说开发的,基本上它属于一种显示***,通过客户端的应用程序vncviewer和服务器端的应用程序vncserver实现远程控制,但是其安全性较差,认证特别简单,一般只适合在内部网络使用
发明内容
本发明提供了一种云交互协议的设计方法,通过提供一个图形界面支持用户访问远程虚拟机上的应用程序,通过协议支持,主机不仅可以临控本机应用程序情况,还能够支持大量低负荷、高性能的图像信息和其它数据的批量传送;而用户可以通过云交互协议启动和注销虚拟机上的应用程序。
本发明提供的云交互协议设计方法,所述功能包括:
1.网关提供Web单点登录***(SSO)和Web表单的身份验证,当用户第一次经过云中路网关时,被引导到认证***中进行单点登录;认证***根据用户提供的登录信息,在Web表单中进行身份验证,如果通过效验,返回给用户认证凭据(ticket);用户在通过云中其它路网关的时候带上这个ticket,作为自己认证的凭据,路网关接收到请求后把ticket送到认证***进行效验,如果通过效验,用户就可以在不用再次登录的情况下通过云中的其它路网关。
2.当用户访问个人虚拟桌面时,将使用新的远程桌面虚拟主机。作为服务器的个人台式电脑在连接过程中分配给每个用户一个虚拟的通道号,做为服务端和客户端一对一的基础,并为每个用户建立一个profile配置,并随着时间的推移保持相关的状态信息。
3.在虚拟桌面池中汇集多个用户之间的共享,应用程序独立于桌面操作***运行,并且动态发布给用户,保障应用程序、profile和操作***的动态组合,在满足前端用户使用需求的同时降低存储成本和管理成本,并能即时对所有改变做出响应,并根据改变决定用户回滚或用户注销。
4.连接时使用虚拟通道和登录信息的验证***,为每个用户建立username和password等相关的登录信息,有效的克服背景的授权认证的缺点。
5.实现现状与断开***托盘图标,实时监控本机应用程序连接情况,从而可以根据监控的信息有效地处理空闲和会话超时的情况。
6.通过整治行动方案管理远程客户端,通过更新信息向客户端提供最新的软件更新和设置。
7.通过设备重定向法则实现媒体播放器重定向和实现双向音频重定向录音设备,通过重定向将内容托管给客户端的解码用户计算机上的媒体播放器或客户端计算机上的麦克风。
8.多显示器支持,最多可支持16个监视器,并为工程远程桌面和RemoteApp程序。
具体实施方式
下面结合附图,对本发明做进一步的详细描述。
本发明实现的Web单点登录***(SSO)和Web表单身份验证如图1和图2所示。
图1中步骤1:客户端用户发送连接请求PDU(Protocol Data Unit),该请求包含用户单点登录信息数据到达云中网关(图2中消息1)。
图1中步骤2:网关解析PDU,获取用户单点登录相关信息,若发现用户还未登录,网关引导用户到认证***中进行登录(图2中消息2,3)。
图1中步骤3:基于Web表单身份的验证***进行身份验证,如果通过效验,返回用户一个认证凭据PDU,该PDU包含一个用于表征认证凭证的ticket数据(图2中消息4)。
图1中步骤4:用户再次访问时在请求PDU中附带这个ticket,作为自己认证的凭据(图2中消息5)。
图1中步骤5:网关接收到请求PDU后解析ticket送到认证***进行效验,检查ticket的合法性(图2中消息6)。
图1中步骤6:如果通过效验,发回验证通过PDU。用户将不用再次登录的情况下通过云中的其它网关(图2中消息7)。
图1中步骤7:网关将客户端的连接请求PDU发送到服务端(图2中消息8)。
本发明使用新的远程虚拟桌面实现远程虚拟桌面登录如图3所示。
该登录***的目标是在连接期间协商虚拟桌面登录的通常设置,使得服务端分配给用户一个一对一的基础,从而克服背景授权和认证的缺点。
客户端首先通过网关发送连接请求PDU到服务端,服务端发回Confirm PDU进行确认(图3消息1,2)。
用户发送自己登录信息PDU,该PDU包含用户的用户名和密码等相关登录信息,服务端通过自己的username和passward文件效验登录信息,效验通过后发回Confirm PDU确认信息(图3消息3,4)。
用户发送一个虚拟桌面通道请求PDU,该PDU将包含用户需要访问的服务端应用程序等相关信息,服务端接收到该PDU后建立一个新的虚拟桌面通道号用来表示用户所需求的特定虚拟桌面,并将该虚拟桌面通道号通过PDU发回给用户(图3中消息5,6)。
用户获取该虚拟通道号后,发送一个加入该通道的加入请求PDU,服务端收到请求后发回一个Confirm PDU确认消息(图3中消息7,8),在Confirm PDU中捎带一个Licensing(准许认证),客户端存储该准许并在后续的连接中发送这个准许以证明自己的有效性。同时,服务端通过虚拟桌面通道号Virtual Channel Number和Licensing建立一个用户和该虚拟桌面之间的一个一对一基础,并为用户建立一个相关的配置文件profile,并使用Client StateInfo和Server State Info(包括运行的应用程序,该程序的进程号,应用程序的日志信息等)用于保存用户和服务端的相关状态,并随着时间的推移刷新该配置文件以保持相关的状态,即每隔一定的时间间隔刷新和再生成Client State Info和Server State Info。
在连接建立以后,服务端发送一个Capability Setting PDU到客户端,在该PDU中,可以提供桌面分辨率、KDE或GNOME图形桌面环境等参数等相关设定,供用户选择;在用户选择完成后,生成一个Capability Update PDU发回服务端,服务端解析该PDU,配置自己的会话屏幕的矩形区域的图形数据,并生成图形输出数据,通过Output Data PDU发送图形输出到客户端。相应的,客户端通过Input Data PDU发送鼠标和键盘信息到服务端。
本发明使用新的虚拟桌面技术,在虚拟桌面池中汇集服务端多个用户之间的共享,只存放和维护一个操作***的影像,应用程序独立于桌面操作***运行,并且动态发布给用户,并使用漫游配置技术,管理用户配置文件,从而保障应用、profile和操作***的动态组合,在满足前端用户使用需求的同时降低存储成本和管理成本,同时即时监控所有改变并做出响应,并根据改变决定用户回滚或用户注销,通过提取profile中的Client State Info和ServerState Info实现用户回滚。
本发明使用的新的虚拟桌面技术将通过现状与断开***托盘图标实现对连接状态的实时监控,如图4所示。
通过***图标的监控可以有效地观察当前连接状态,若发现连接空闲或会话超时,则服务端可以发回一个Deactivate PDU,表明连接即将丢失(图4中消息1)。
在发送该消息后,若等待一段时间后没有响应自动断开连接;若客户收到该DeactivePDU,则可以发回一个Reactive PDU(图4中消息2)。
服务端接收到该PDU后,发送一个Active PDU到客户端,客户端发回一个Confirm PDU,从而重新激活连接(图4中消息3,4)。
本发明将使用数据压缩技术和数据缓冲技术来实现大量数据批量传送,也包括低负荷、高性能的图像信息的传送。通过设计采用特殊压缩技术的Bitmap PDU来传输位图影像,以及采用Palette PDU来发送调色板信息;通过减少和移除部分头信息来节约带宽,同时减少所需的CPU处理周期和编解码所需的持续时间;并采用数据冗余消除技术来优化用户和服务端之间的显示数据通信。
本发明使用设备重定向执法来解决双向音频设备和媒体播放器的重定向的问题。在服务端的输出中设计一个Play PDU,该PDU将包含应用程序托管的本地设备,用来指导重定向的目标。对于媒体播放器设备,服务端发回该PDU从而将需要播放的内容重定向到客户端的解码用户计算机上,对于双向音频,则可以通过该PDU重定向到客户端的录音设备上,如麦克风等。
本发明将使用整治行动方案来管理远程客户端如见的更新,如图5所示。
网关如果发现新的软件设置,则向远程客户端发生Software Setting PDU来获取远程客户端的软件相关信息(图5中消息1)。
客户端接收到该PDU后发回Software Info PDU告知自己的软件相关信息(图5中消息2)。
网关在获取该信息后将其和最新的软件设置进行比较,如果发现需要更新,则发回一个Software Update PDU通告客户端进行软件更新(图5中消息3)。
本发明采用多显示器支持,最多可达到16个监视器,并为工程远程桌面和RemoteApp程序。