基于网络的虚拟媒体重定向的系统和方法
【专利说明】基于网络的虚拟媒体重定向的系统和方法
[0001]相关专利串请的交叉引用
[0002]本PCT申请主张于2013年3月15日提交的、申请号为13/841,220的美国专利申请的优先权和益处,该美国专利申请名称为“基于网络的虚拟媒体重定向的系统和方法”,申请人为姗卓依迈迪(Sanjoy Maity),巴斯卡尔帕斯本(Baskar Parthiban),山维纳斯克里斯夫(Samvinesh Christopher)和瓦拉达查理苏丹阿雅曼(Varadachari SudanAyanam),该美国申请的全部内容在此作为参考。
技术领域
[0003]本申请涉及计算机系统技术领域,尤其涉及一种主机和计算设备之间基于网络的虚拟媒体重定向系统和方法。
【背景技术】
[0004]在此描述的【背景技术】是用来概述本申请的内容。在该【背景技术】部分描述的本申请的发明人的工作,以及不可以认定为在本申请提交日期的现有技术的说明书的其他部分,既没有明确地也没有隐含地被承认为本申请的现有技术。
[0005]通常,术语“计算机系统”是指孤立系统或多个相互连接的系统,例如客户端-服务器网络。在不考虑实施的情况下,各种组成计算机系统的部件通常在由性能协议或标准定义的参数范围内工作的。例如,对计算机机箱内的温度进行监控以检测当系统可能上升超过某一预设温度读数的时间周期。其他在计算机中可能被监控的信息包括但不限于位于系统基板上的半导体器件的电压、位于基板上或机箱内的散热风扇的速度(如转/分)以及硬盘驱动器或光盘驱动中的主轴马达的速度。
[0006]各种类型的传感器被用来检测计算机系统及其组件中与运行和性能有关的参数。参照上面给出的例子,这些传感器包括温控器、电压表和转速表。计算机系统通常利用一个或多个管理模块来辅助采集和分析各种传感器感应到的用于测量系统中与运行和性能有关的参数信息。这些管理模块既可为软件组成又可为硬件组成,但通常同时包含软件和硬件组成。这样的管理模块被称为“基板管理控制器”(BMC)。BMC是计算机系统的微控制器并具有特定数量的触针,通过该触针BMC可接收各种传感器感应的信息以用于分析。为了执行这一分析,对BMC进行了固件编程以执行与系统监控和恢复有关的程序。通过该固件,对BMC进行了编程以监控各种在计算机系统内感应到的与运行和性能有关的参数并分析这些信息以确定当前是否有任何感应到的参数超出了建议的运行范围,如果有这种情况那么通常是被称为“事故”。
[0007]BMC可实施虚拟媒体重定向。然而,在实施虚拟媒体重定向时存在待解决的问题。
【发明内容】
[0008]本申请的某些方面旨在提供一种执行虚拟媒体重定向的方法。该方法包括:(a)在网络中建立基板管理控制器(BMC)的网络服务器与计算设备的浏览器程序之间的网络套接字连接,所述BMC执行主机的管理功能;(b)在所述BMC上将虚拟媒体模拟到所述主机;(c)在所述BMC上接收来自所述主机的指向被模拟的虚拟媒体的读指令,所述读指令详述第一文件;(d)根据所述读指令,通过所述网络套接字连接,在所述BMC上发送请求所述第一文件的请求到所述浏览器程序以响应所述读指令;以及(e)在所述网络服务器上通过所述网络套接字连接接收来自所述浏览器程序的所述第一文件。
[0009]在某些实施例中,所述方法包括:(a)在所述BMC的网络套接字模块上接收来自所述计算设备的网络套接字模块的网络套接字握手请求;以及(b)所述BMC的所述网络套接字模块发送与所述网络套接字握手请求相对应的握手应答到所述计算设备的所述网络套接字模块以建立所述网络套接字连接。在某些实施例中,所述方法还包括:(a)在所述BMC的所述网络服务器上生成重定向网页,对所述重定向网页编程以指示所述浏览器程序获取所述计算设备的存储器中的文件或文件系统结构;以及(b)在所述网络服务器上将所述重定向网页发送到所述浏览器程序。对所述重定向网页编程以指示所述浏览器程序(a)带着所述请求从所述存储器中获取第一文件以及(b)通过所述网络套接字连接将所述第一文件发送给所述网络服务器。
[0010]在某一实施例中,所述方法包括在所述网络服务器上发送Java对象到所述浏览器程序。编译所述Java对象以提供允许所述浏览器程序获取在所述存储器中的文件的功能。编译所述Java对象从而调用Java本机接口功能以获取所述存储器中的文件。对所述重定向网页编程以指示所述浏览器程序下载所述Java对象。对所述重定向网页编程以指示所述浏览器程序从所述存储器中的ISO镜像文件中获取所述文件或文件系统结构,所述第一文件位于所述ISO镜像文件中。所述存储器为所述计算设备的外部存储器。对所述重定向网页编程以指示所述浏览器程序通过所述网络套接字连接发送在所述存储器中选定的媒体的文件系统结构或文件到所述网络服务器。
[0011 ] 在某些实施例中,所述方法进一步包括将所述BMC连接至所述主机的输入/输出(I/o)接口从而所述主机可以通过所述I/O接口访问所述BMC模拟的虚拟媒体。在某些实施例中,所述I/O接口为USB接口。在某些实施例中,所述网络套接字连接为安全网络套接字连接。
[0012]本申请的某些方面旨在提供一种基板管理控制器(BMC)。所述BMC包括网络服务器,配置所述网络服务器以在网络中构建BMC和计算设备的浏览器程序之间的网络套接字连接以及通过网络套接字连接接收来自所述浏览器程序的第一文件。所述BMC还包括重定向模块,配置所述重定向模块以将虚拟媒体模拟到主机;从所述主机接收指向被模拟的虚拟媒体的读指令,所述读指令详述第一文件;以及根据所述读指令,通过所述网络套接字连接发送请求第一文件的请求到所述浏览器程序以响应所述读指令。所述BMC执行主机的管理功能。
[0013]本申请的某些方面旨在提供一种非暂时计算机存储介质。所述计算机存储介质存储了计算机可执行指令。当基板管理器(BMC)的处理器执行所述计算机可执行指令时,会导致所述处理器:(a)在网络中建立所述BMC的网络服务器和计算设备的浏览器程序之间的网络套接字连接,所述BMC执行主机的管理功能;(b)将虚拟媒体模拟到所述主机;(C)从所述主机接收指向被模拟的虚拟媒体的读指令,所述读指令详述第一文件;(d)根据所述读指令,通过所述网络套接字连接发送请求第一文件的请求到所述浏览器程序以响应所述读指令;以及(e)通过所述网络套接字连接,在所述网络服务器接收来自所述浏览器程序的第一文件。
[0014]根据以下提供的具体的说明书,本申请的应用前景变得非常清楚。应理解,具体的说明书和特定的例子是只是用来阐述本申请而并不是用于限制本申请的保护范围。
【附图说明】
[0015]从详细描述的说明书和附图中可更全面地理解本申请,其中:
[0016]图1示意性地描述了本发明一个实施例提供的基于网络的虚拟媒体重定向系统;
[0017]图2示意性地描述了本发明一个实施例提供的网络套接字连接;
[0018]图3A举例描述了使用GET指令的HTTP请求和HTTP应答;
[0019]图3B举例描述了本发明一个实施例提供的网络套接字握手请求和应答;
[0020]图4A示意性地描述了本发明一个实施例提供的基于网络的虚拟媒体重定向;
[0021]图4B示意性地描述了图4A所示的基于网络的虚拟媒体重定向的流程;
[0022]图5A示意性地描述了本发明另一实施例提供的基于网络的虚拟媒体重定向;以及
[0023]图5B示意性地描述了图5A所示的基于网络的虚拟媒体重定向的流程。
【具体实施方式】
[0024]以下例子更加详细地描述了本申请,这些例子只是用作说明性的,因为这些例子的各种修改和变形对于本领域技术人员来说是显而易见的。本发明不同的实施例此时将详细地描述。关于附图,整个附图中类似的编号,如果有的话,表示类似的结构。在此处的说明书中并贯穿后续的权利要求书,除非文中明确表明,“一”和“所述”的含义包含引用复数。同样,在此处的说明书中并贯穿后续的权利要求书,除非文中明确表明,“在…中”的含义包括“在…中”和“在…上”。而且,在说明书中使用的标题和子标题是用来方便读者,对于本申请的范围没有任何影响。另外,下面将更具体地定义说明书中使用的一些用语。
[0025]在本申请正文和用语使用的特定内容中,本说明书中使用的用语一般都是它们在本技术领域的通常含义。下面或说明书的其他地方将讨论一些本申请中使用的某些用语,以对本发明说明书的实践者(preactit1ner)提供指引。为了方便,某些用语将会被强调,例如使用斜体和/或引号。使用强调并不影响用语的范围和含义;不管是否被强调,在相同的内容中,用语的范围和含义相同。应理解,相同的事情可以有多种不同的表述。因此,在此讨论的任何一个或多个用语可有替代的语言和同义词,用语是否在此提及或讨论并没有任何重大的影响。提供了某些用语的同义词。列举的一个或多个同义词并不排除还可以使用其他同义词。本说明书中任何地方使用的例子,包括此处讨论的任何用语的例子只是用来说明,并不是用于限制本申请或任何列举的用语的范围和含义。同样地,本申请并不能被限制为说明书中给出的各种实施例。
[0026]除非明确说明,此处使用的所有技术和科技术语具有本申请所述领域技术人员所理解的常用含义。如有矛盾,本申请文件,包括定义,将会控制。
[0027]通常,本申请使用的“左右”、“大约”或“近似”是指相对于给定值或范围偏差在20 %以内,优选10 %以内、更优选5 %以内。此处给出的数字量是近似的,意味着如果没有明确指出,那么“左右”、“大约”或“近似”这些用语是可以推测的。
[0028]此中使用的“多个”意思是两个及以上。
[0029]此中使用的用语“包括”、“包含”、“具有”、“含有”等是表示开放式的,意思是包括但不限于。
[00