使用在万维网浏览器中运行的HTML5KVM/vMEDIA客户端访问盘镜像文件的系统和方法_2

文档序号:8417541阅读:来源:国知局
本公开内容、应用或使用。应 当理解的是,贯穿附图,相应的附图标记表示相同的或相应的部件和特征。
[0017] 参照图1,示出了系统10,其中用户装置,在该示例中是其上运行有万维网浏览器 14的工作站计算机12,被用来与远程地位于数据中心17处的主机服务器16进行KVM会 话。KVM装置,在本示例中是KVM设备18,连接用户工作站12与主机服务器16。然而,应当 认识到,能够同样容易地实现BMC以替代KVM设备。然而,出于论述目的,将KVM装置称为 KVM设备。
[0018] 万维网浏览器14可以具有在该万维网浏览器14中运行的HTML5KVM/vMedia客户 端20。万维网浏览器14还提供"沙箱" 22,该"沙箱" 22是独立的存储器空间,在万维网浏 览器14中运行的JavaScript引擎23能够将文件带进所述"沙箱"22中。然而,如上所述, JavaScript引擎23不能够写出文件,也不允许直接访问被容纳在工作站12内或被物理连 接到工作站或可由工作站经由网络连接访问的任何物理装置(盘驱动器的盘、闪存驱动器 等)。
[0019] HTML5 KVM/vMedia客户端20与广域网连接(例如,因特网)通信。广域网连接 使得能够经由KVM设备18与主机服务器16通信、与KVM设备18内部的vMedia连接装置 24通信,以及与主机服务器16的USB端口 26通信。当从工作站12访问盘镜像文件并且 将其开放给主机服务器16时,以及当将状态更新(例如,所传送的字节数)从HTML5KVM/ vMedia客户端20发送至主机服务器16时,在HTML5KVM/vMedia客户端20与主机服务器16 之间传达消息,例如且不限于AVMP (Avocent虚拟消息传送协议)消息。AVMP是Avocent公 司的专有的消息传送协议,Avocent公司是艾默生网络能源公司(Emerson Network Power company)。然而,能够使用任何其他合适的消息传送协议。
[0020] 向主机服务器16开放盘镜像文件提供了允许主机服务器16访问存储在工作站12 上或被网络安装至工作站的整个盘镜像文件或仅盘镜像文件的所选部分的手段。相应地, 主机服务器16通过使用系统10可以访问可被物理连接到工作站12的任何虚拟介质装置 (例如,闪存驱动器、便携式存储器装置等),或工作站12可经由网络连接访问的任何盘镜 像文件。因此,在图1中,可以选择存在于工作站12的盘驱动器28上的盘镜像文件30以 供使用。可替选地,存在于经由网络36与工作站12通信的服务器32上的盘镜像文件34 可以被网络安装至工作站12,因此可供主机服务器16使用。
[0021] 参照图2,示出了流程图100,该流程图100示出了当在与主机服务器16进行KVM 会话期间使用HTML5 KVM/vMedia客户端20时,可以由系统10执行的一系列操作。该示例 假定被访问的盘镜像文件是工作站12的盘驱动器28上的盘镜像文件30。然而,如本文前 面所解释的,盘镜像文件能够同样容易地被定位在远离工作站的不同装置上(例如,在图1 中的服务器32上),以及被网络安装至工作站12上。
[0022] 在操作102处,用户经由在用户工作站12上的万维网浏览器14中运行的HTML5 KVM/vMedia客户端20与主机服务器16初始建立KVM会话。在操作104处,KVM设备18向 KVM/vMedia客户端20发送可用于在主机服务器16上映射,并因而可供KVM/vMedia客户端 20使用的vMedia设备的列表。在操作106处,用户选择要被映射的主机服务器装置,然后 用户选择特定的盘镜像文件,在该示例中为存储在工作站12的硬盘驱动器28上的盘镜像 文件30。但是如上面所提到的,可替选地,能够选择被网络安装到工作站12的盘镜像文件 34。当用户选择特定的盘镜像文件时,JavaScript引擎23确定盘镜像文件30的大小。例 如,并且没有限制地,盘镜像文件30可以是FAT32文件系统的镜像、IS09660文件系统的镜 像、或可能的任何其他类型的文件系统的镜像。在操作108处,HTML5 KVM/vMedia客户端 20可以向主机服务器16发送AVMP消息(或使用任何其他适当的消息传送协议),该消息 将可用的盘镜像文件30通知给主机服务器16,并且向主机服务器16开放盘镜像文件以供 使用。通过"开放",应当认识到,根据该示例中KVM设备18正在运行的LINUX?操作系 统的要求来安装盘镜像文件,然后使盘镜像文件可供主机服务器16使用。
[0023] 在操作110处,主机服务器16可以向HTML5 KVM/vMedia客户端20发送针对盘镜 像文件30的特定内容的读取请求消息(例如,AVMP消息)。在操作112处,JavaScript引 擎23可以接收所述读取请求消息,并且可以通过考虑所请求的字节数和偏移来确定要获 得所请求的数据字节而必须遍历(即,查找)盘镜像文件30多远。在操作114处,从偏移 位置处开始,JavaScript引擎23可以开始将盘镜像文件30的部分复制到万维网浏览器的 沙箱22中。通过该动作,JavaScript引擎23在沙箱22中创建了新文件,并且所述新文件 表示盘镜像文件30的所选(即,刚复制的)部分。应当理解的是,JavaScript引擎23的 上述操作是能够用于将来自沙箱22外部的盘镜像文件的数据获取到主机服务器16的唯一 手段。在沙箱22的内部创建新文件是浏览器的Java脚本引擎23能够将数据带进沙箱22 中的唯一手段。在vMedia JavaScript代码能够经由KVM设备18将数据传输至主机服务 器16之前,vMedia JavaScript代码需要沙箱22中的数据。
[0024] 然后,在操作116处,HTML5 KVM/vMedia客户端20可以将新文件从沙箱22传输 至KVM设备18 (或BMC)。被传输的新文件将包括表示盘镜像文件30的所选部分的数据字 T。
[0025] 在操作118处,主机服务器16从KVM设备18接收所传输的数据字节。数据字节 表示形成盘镜像文件30的所选部分的一个或更多个数据块。主机服务器16没有认识到数 据字节来自盘镜像文件30 ;在主机服务器16看来它正在从被连接到其USB端口 26的物理 装置获得数据字节。
[0026] 在操作120处,检查主机服务器16是否已经获得组成盘镜像文件30的所选部分 的数据字节,或者用户是否已经对盘镜像文件解除映射。如果答案是"否",则重新执行操 作110至操作118,以获得所选盘镜像30的一个或更多个数据块以完成读取请求。如果在 操作120处的检查得出"是"的答案,则在操作122处,当用户从HTML5 KVM/vMedia客户端 20对盘镜像文件30解除映射时,或者当用户将盘镜像文件30从主机服务器16 "弹出"时, KVM会话结束。通过术语"弹出",将要理解的是,在主机服务器16看来它正在访问其上具 有盘镜像文件30的物理装置。同样地,主机服务器16可以提供诸如USB "弹出"命令的命 令。USB弹出命令指示从KVM设备18对盘镜像文件30解除映射。此外,将要理解的是,这 时主机服务器16不知道正在与其交互的USB设备表示虚拟盘。在主机服务器16看来它好 像正在与真正的盘驱动器通信。在操作124处,KVM设备18固件接收弹出通知并且向HTML5 KVM/vMedia客户端20发送通知,例如通过AVMP消息,然后该HTML5 KVM/vMedia客户端20 对盘镜像文件30解除映射。
[0027] 通过本文所述的系统10和方法,远程主机服务器能够在KVM会话期间容易地访问 盘镜像文件,即使该盘镜像文件太大以致于不能被复制到用户的万维网浏览器的沙箱中。 通过选择盘镜像文件的部分以及连续地传输表示所选部分的数据块,能够访问几乎任何大 小的盘镜像文件,并将其复制到万维网浏览器的沙箱22中,并且通过HTML5 KVM/vMedia客 户端20将其传输至KVM设备18,以开放给主机服务器16以供使用。用户对万维网浏览器 14使用的熟悉对于进行KVM会话的用户通常是明显的优势。通过使HTML5 KVM/vMedia客 户端20运行
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1