基于网络的键盘、视频和鼠标(kvm)重定向的系统和方法及其应用

文档序号:9332678阅读:749来源:国知局
基于网络的键盘、视频和鼠标(kvm)重定向的系统和方法及其应用
【专利说明】基于网络的键盘、视频和鼠标(KVM)重定向的系统和方法及其应用
[0001]相关串请的交叉引用
[0002]本PCT申请要求申请日为2013年3月15日、申请序列号为N0.13/839,151、题为“基于网络的键盘、视频和鼠标(KVM)重定向的系统和方法及其应用”,且发明人为姗卓依.迈迪(Sanjoy Maity)、巴斯卡尔.帕斯本(Baskar Parthiban)、山维纳斯.克里斯夫(Samvinesh Christopher)以及瓦拉达查理.苏丹.阿雅曼(Varadachari SudanAyanam)的美国专利申请的优先权和权益,该申请在此全文引用,以供参考。
技术领域
[0003]本发明涉及计算机系统领域,并尤其涉及一种主机和计算设备之间的基于网络的键盘、视频和鼠标(KVM)重定向的系统和方法。
【背景技术】
[0004]在此描述的【背景技术】是用来概述本申请的内容。在该【背景技术】部分中描述的当前提及的发明人的工作,以及不可认定为在本申请提交日期的现有技术的说明书的方面,既没有明确地也没有隐含地承认为本申请的现有技术。
[0005]通常,用语“计算机系统”指的是独立系统或多个互联系统,例如客户端-服务器网络。不管其实施如何,构成计算机系统的各种部件通常在由性能协议或标准所定义的一系列参数范围内进行操作的。例如,通常对计算机机箱的温度进行监控,以在系统可能超过某一预设温度读数时检测其时间周期(per1ds in time)。计算机系统内被监控的其他形式的信息包括但不限于,与位于系统的基板上的半导体器件有关的电压、位于基板上或位于系统机箱内的散热风扇的速度(例如,单位为rpm),以及在硬盘驱动器内或光驱内的主轴电机的速度。
[0006]使用不同类型的传感器来检测与计算机系统及其组成部件相关的运行及性能相关参数。参见上述提供的例子,这些传感器包括温控器、电压表和速度计等。计算机系统典型地采用一个或多个管理模块来辅助采集和分析的各种传感器所感应到的用于测量系统内的操作和性能相关参数信息。这些管理模块可以为软件或硬件成分,但典型地既包括软件又包括硬件成分。一个这样的管理模块称为“基板管理控制器”(BMC)。该BMC为计算机系统的微处理器,并具有指定数量的触针(contact pin),通过该触针可以接收到由各种传感器感应的信息以供BMC分析。为了执行该分析,BMC通过固件(fireware)进行编程,以执行与系统的监控和恢复有关的程序。通过该固件对BMC进行编程,以监控计算机系统内感应到的各种运行和性能相关参数,并分析该信息以确定当前是否存在任意的感应参数超出预期或建议的工作范围,这些情况的发生俗称“事故”。
[0007]BMC可以执行键盘、视频和鼠标(KVM)的重定向。然而,在该KVM重定向的执行中仍存在未解决的需求。

【发明内容】

[0008]本申请的某些方面涉及一种执行键盘、视频和鼠标(KVM)重定向的方法。所述方法由由基板管理控制器(BMC)实施。所述方法包括:(a)在所述BMC上接收从主机重定向的第一视频帧和第二视频帧;其中所述BMC执行主机的管理功能;(b)在所述BMC的网络服务器上生成网页,并将所述网页通过网络发送至运行在计算设备中的浏览器程序;其中,所述网页被编程以指示所述浏览器程序启动(initiate)可绘制区域,并与所述网络服务器建立网络套接字连接;(C)生成代表所述第二视频帧的已处理的图像;(d)在所述网络服务器和所述浏览器程序之间建立网络套接字连接;以及(e)将所述已处理的图像通过所述网络套接字连接发送至所述浏览器程序。在某些实施例中,所述方法包括:(a)在所述BMC上,将所述第二视频帧与所述第一视频帧进行比较,以确定所述第二视频帧的第一像素;其中,所述第一像素具有与所述第一视频帧的对应像素的像素值不同的像素值;(b)生成第一贴片图像和相关的贴片参数,所述第一贴片图像代表包括所述第一像素的所述第二视频帧的一部分。在某些实施例中,所述方法包括:将所述第一贴片图像和贴片参数通过所述网络套接字连接发送至所述浏览器程序。在某些实施例中,对所述网页进行编程以指示所述浏览器程序将所述第一贴片图像在可绘制区域上,修补在所述贴片参数指明的位置处。
[0009]在某些实施例中,所述方法包括:(a)生成代表所述第一视频帧的重定向图像;以及(b)将所述重定向图像通过所述网络套接字连接发送至所述浏览器程序;其中,所述网页被编程以在所述可绘制区域显示所述重定向图像。其中,所述可绘制区域为由HTML5定义的画布。所述网页被编程以指示所述浏览器程序在所述画布上显示所述重定向图像,并将所述第一贴片图像修补在所述已显示的重定向图像上。
[0010]在某些实施例中,所述方法还包括:(a)将所述第二视频帧分成多个贴片;(b)将所述第二视频帧的每个像素的像素值与所述第一视频帧的对应像素的像素值进行比较;(c)确定所述第二视频帧中多个改变的像素;其中,所述改变的像素中的每个的像素值均与每个所述改变的像素在所述第一视频帧中的对应像素的像素值不同;(d)确定多个改变的贴片;其中,所述改变的贴片中的每个包括至少一个改变的像素;(e)生成多个改变的贴片图像;其中,每一所述改变的贴片图像分别代表所述改变贴片中的一个;以及(f)将所述多个改变的贴片图像通过所述网络套接字连接发送至所述浏览器程序;其中,所述网页被编程以指示所述浏览器程序将所述改变的贴片图像修补在所述绘制区域上。
[0011]在某些实施例中,所述方法还包括:(a)确定所述第二视频帧上每个改变的贴片的位置;以及(b)根据由每个所述改变的贴片图像所代表的各个改变的贴片的位置,生成每个所述改变的贴片图像的贴片参数。所述网页被编程以指示所述浏览器程序将每个所述改变的贴片图像在所述绘制区域上修补在由所述贴片参数所指明的位置处。所述贴片参数包括指明所述可绘制区域位置的坐标、每个所述改变的贴片图像的宽度,以及每个所述改变的贴片图像的高度。所述网页被编程以指示所述浏览器程序捕捉发生在所述可绘制区域上的第一事件,并将所述第一事件的事件数据发送至所述网络服务器;所述第一事件为鼠标事件或键盘事件。所述方法包括:(a)通过所述网络套接字连接接收来自所述浏览器程序的事件数据;(b)生成所述主机可兼容的并代表所述事件数据的输入数据;以及(C)将所述输入数据发送至所述主机的输入控制器。在某些实施例中,所述第一事件为鼠标事件,所述事件数据指明所述可绘制区域上发生事件的事件位置。所述方法包括:(a)根据所述事件位置确定所述主机的位置坐标;以及(b)生成代表所述鼠标事件以及位置坐标的输入数据。在某些实施例中,所述第一事件为键盘事件;其中,所述事件数据指明按键。所述方法包括:生成代表所述按键的输入数据。
[0012]在某些实施例中,所述方法包括:(a)根据包围给定像素的多个包围像素的像素值以及对应于所述给定像素和包围像素的所述第一视频帧上的像素的像素值,在所述BMC上生成所述第二图像的给定像素的预测值;以及(b)根据有损或者无损要求选择性地将所述给定像素的像素值替换成所述预测值,以生成编码图像。在某些实施例中,所述方法还包括对所述已编码的图像在所述网络服务器上进行压缩,以生成已处理的图像。所述网页被编程以指示所述浏览器程序调用JavaScript路径来对所述已处理的图像进行解压和解码,以在所述可绘制区域中显示已解压和已解码的图像。
[0013]本申请的某些方面涉及另一种执行键盘、视频和鼠标(KVM)重定向的方法。所述方法由由基板管理控制器(BMC)实施。所述方法包括:(a)在所述BMC上接收从主机重定向的第一视频帧和第二视频帧;其中所述BMC执行主机的管理功能;(b)在所述BMC的网络服务器上生成网页,并将所述网页通过网络发送至运行在计算设备中的浏览器程序;(C)生成代表所述第二视频帧的已处理的图像;(d)将Java对象存储在所述网络服务器中;其中,所述网页被编程以指示所述浏览器程序下载所述Java对象,其中所述Java对象定义了Java显示器;(e)在所述BMC和所下载的所述Java对象之间建立网络连接;其中所述Java对象在所述计算设备的Java虚拟机上执行;以及(f)将所述已处理的图像发送至已执行的所述Java对象。
[0014]在某些实施例中,所述方法还包括:(a)根据包围给定像素的多个包围像素的像素值以及对应于所述给定像素和包围像素的所述第一视频帧上的像素的像素值,在所述BMC上生成所述第二图像的给定像素的预测值;以及(b)根据有损或者无损要求选择性地将所述给定像素的像素值替换成所述预测值,以生成编码图像。在某些实施例中,所述方法还包括:(a)在所述网络服务器上压缩所述已编码的图像,以生成已处理的图像;(b)在所述已执行的Java对象上对所述已处理的图像进行解压和解码;以及(C)将所述已解压和已解码的图像显示在所述Java显示器上。
[0015]本申请的某些方面涉及一种非短暂性计算机存储介质。所述非短暂性计算机存储介质存储计算机可执行指令。当所述计算机可执行指令被基板管理控制器(BMC)计算机的处理器执行时,所述指令导致所述主机:(a)接收从所述主机重定向的第一视频帧和第二视频帧;其中所述BMC执行主机的管理功能;(b)在所述BMC的网络服务器上生成网页,并将所述网页通过网络发送至运行在计算设备中的浏览器程序;其中,所述网页被编程以指示所述浏览器程序启动可绘制区域,并与所述网络服务器建立网络套接字连接;(C)生成代表所述第二视频帧的已处理的图像;(d)在所述网络服务器和所述浏览器程序之间建立网络套接字连接;以及(e)将所述已处理的图像通过所述网络套接字连接发送至所述浏览器程序。
[0016]根据以下提供的具体的说明书,本申请的应用前景变得非常清楚。应理解,具体的说明书和特定的例子是只是用来阐述本申请并不是用于限制本申请的保护范围。
【附图说明】
[0017]从详细描述的说明书和附图中可更全面地理解本申请,其中:
[0018]图1示意性地描述了本发明一个实施例提供的基于网络的KVM重定向系统;
[0019]图2示意性地描述了本发明一个实施例提供的网络套接字连接(web socket);
[0020]图3A举例描述了使用GET指令的HTTP请求和HTTP应答;
[0021]图3B举例描述了本发明一个实施例提供的网络套接字握手请求和应答;
[0022]图4示意性地描述了本发明一个实施例提供的基于网络的KVM重定向;
[0023]图5示意性地描述了本发明一个实施例提供的基于网络的视频重定向;
[0024]图6示意性地描述了本发明一个实施例提供的视频帧和贴片(tile);
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1