虚拟接口的扩充装置及其网络伺服系统的制作方法

文档序号:12486265阅读:171来源:国知局
虚拟接口的扩充装置及其网络伺服系统的制作方法

本发明涉及一种服务器的硬件装置,且特别是涉及一种扩充服务器功能的硬件装置。



背景技术:

近年来,随着云端运算服务的盛行,也带动了虚拟桌面技术的运用。虚拟桌面技术可快速部署资源或获得服务,并减少使用者终端的处理负担,更可为企业节省成本。

虚拟桌面基础架构(Virtual Desktop Infra-structure,VDI)是一种虚拟桌面技术所使用的模型,虚拟桌面基础架构可让使用者存取服务器中执行的操作系统映像文件,使得每一个使用者都可以从任何经授权的装置来存取个人桌面。使用虚拟桌面基础架构的好处在于,企业可根据不同部门与员工的工作需求,选择最适合的硬件部署方式。举例来说,财会部门或业务部门采用精简型计算机(Thin Client)即可,而不需部署高规格的计算机。如此一来,企业整体使用的营运成本可以大幅降低。

常用的虚拟桌面基础架构大致可分成两类:终端机服务模式与系统虚拟化模式。终端机服务模式指服务器通过一些特殊软件或操作系统,使得多个使用者可以通过远程操作来使用该服务器的资源或应用程序。系统虚拟化模式则是在服务器上设置多个虚拟机器(Virtual Machine)。每一个虚拟机器可以被提供给一个使用者,且使用者可以通过虚拟机器存取服务器的硬件资源。

然而,传统的虚拟桌面基础架构存在一个问题:传统的虚拟桌面基础架构均以软件方式来划分服务器的硬件资源,并利用各种不同的通信协议与远程软件来实现其功能。换句话说,服务器上建置越多使用者,则服务器的中央处理器使用率(以下简称CPU使用率)亦会随着上升,使得服务器的整体效能降低。



技术实现要素:

本发明提供一种虚拟接口的扩充装置。所述虚拟接口的扩充装置被设置于服务器的主机板,用以取得服务器的N个实体资源的控制权,进而分担服务器的中央处理单元的运算工作,其中N为大于等于1的正整数。所述虚拟接口的扩充装置包括虚拟接口需求控制模块与资源管理模块。虚拟接口需求控制模块耦接于M个用户设备,其中M为大于等于N的正整数。资源管理模块耦接于虚拟接口需求控制模块与所述实体资源间。资源管理模块包括传输单元与服务器实体资源协议单元。虚拟接口需求控制模块用以取得所述用户设备的控制权,进而编排所述用户设备的需求时序,产生至少M个接口操作信号。传输单元用以管理所述接口操作信号通过该主机板传输到所述实体资源的数据串流,进而降低该中央处理单元的运算工作。服务器实体资源协议单元用以根据所述接口操作信号控制所述实体资源,并回传所述实体资源提供的服务予所述用户设备。

优选地,虚拟接口需求控制模块包括压缩单元。压缩单元用以压缩所述实体资源提供的执行结果,以降低传输过程中所消耗的频宽。

本发明提供一种网络伺服系统。所述网络伺服系统包括M个用户设备以及至少一服务器。服务器包括虚拟接口的扩充装置。虚拟接口的扩充装置被设置于服务器的主机板,用以取得服务器的N个实体资源的控制权,进而分担服务器的中央处理单元的运算工作,其中N为大于等于1的正整数,且M为大于等于N的正整数。虚拟接口的扩充装置包括虚拟接口需求控制模块以及资源管理模块。虚拟接口需求控制模块耦接于所述用户设备。资源管理模块耦接于虚拟接口需求控制模块与所述实体资源间。虚拟接口需求控制模块用以取得所述用户设备的控制权,进而编排所述用户设备的需求时序,产生至少M个接口操作信号。虚拟接口需求控制模块对所述用户设备与所述虚拟机器间的通信进行流量控制,并集中管理所述用户设备所使用的资源,且该虚拟接口需求控制模块隔离所述实体资源各自的封包(Packet)。

优选地,资源管理模块包括传输单元以及服务器实体资源协议单元。传输单元用以管理接口操作信号通过主机板传输到实体资源的数据串流,进而降低中央处理单元的运算工作。服务器实体资源协议单元用以根据接口操作信号,控制实体资源,并回传实体资源提供的服务予用户设备。

优选地,虚拟接口需求控制模块依据实体资源所使用的虚拟操作系统对接口操作信号执行格式转换,使得实体资源根据格式转换后的接口操作信号产生对应的执行结果。接着虚拟接口需求控制模块依据用户设备所使用的通信协议对执行结果执行格式转换,并将格式转换后的执行结果回传至对应的用户设备。

优选地,用户设备包括精简型用户设备、极简型用户设备、个人电脑或笔记本电脑。

优选地,虚拟接口需求控制模块包括压缩单元。压缩单元用以压缩实体资源提供的执行结果,以降低传输过程中所消耗的频宽。

优选地,管理员设备耦接于虚拟接口需求控制模块。管理员设备用以判断是否允许用户设备的注册。当管理员设备允许用户设备的注册,虚拟接口需求控制模块建立用户设备与实体资源间的连结。当管理员设备不允许用户设备的注册,虚拟接口需求控制模块拒绝虚拟机器的注册。

综上所述,本发明实施例所提供的虚拟机器的扩充装置及网络伺服系统可以分担服务器的中央处理单元及网络卡在此方面的使用率,并以硬件方式解决服务器的中央处理单元及网络卡在此方面的使用率随着用户设备数量增加而升高的问题。此外,本发明实施例所提供的扩充装置还可以集中管理用户设备所使用的资源,以有效的运用现有的资源。

为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,但是此等说明与所附图式仅是用来说明本发明,而非对本发明的权利范围作任何的限制。

附图说明

图1是本发明实施例提供的网络伺服系统的示意图。

图2是本发明实施例提供的服务器的结构方块图。

图3是本发明实施例提供的CPU使用率与用户设备数量的关系图。

图4是本发明其它实施例提供的服务器的结构方块图。

具体实施方式

在下文将参看随附图式更充分的描述各种例示性实施例,在随附图式中 展示一些例示性实施例。然而,本发明概念可能以许多不同形式来体现,且不应解释为限于本文中所阐述的例示性实施例。确切而言,提供此等例示性实施例使得本发明将为详尽且完整,且将向熟习此项技术的技术人员充分传达本发明概念的范畴。在诸附图中,可为了清楚而夸示层及区的大小及相对大小。类似数字始终指示类似组件。

应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件或信号等,但此等组件或信号不应受此等术语限制。此等术语乃用以区分一组件与另一组件,或者一信号与另一信号。另外,如本文中所使用,术语「或」视实际情况可能包括相关联的列出项目中的任一个或者多个的所有组合。

请参阅图1,图1是本发明实施例提供的网络伺服系统的示意图。网络伺服系统1包括至少一服务器10以及多个用户设备11_1、11_2…11_M(M为大于0的正整数)。所述用户设备11_1、11_2…11_M分别连接于服务器10。本实施例是以网络伺服系统1仅包括一个服务器10以及M个用户设备11_1、11_2…11_M为例,但并不以此为限。于其它实施例中,网络伺服系统1亦可包括多个服务器10。

服务器10可以是一般的计算机主机,其包含适当的逻辑、电路或编码,用以运行一个或多个虚拟机器(Virtual Machine)。具体来说,服务器10包括中央处理器(Central Processing Unit,CPU)以及存储器(Memory)(图1未绘示)等实体资源。存储器例如为硬盘,用以储存操作系统(Operating System,OS)以及相关的软件与程序。中央处理器用以控制并执行服务器10的操作。举例来说,中央处理器可以控制虚拟机器的运行,以仿真真实的计算机主机。

服务器10中运行的虚拟机器可以执行不同的虚拟操作系统。举例来说,服务器10中的第一虚拟机器运行Windows操作系统,而服务器10中的第二虚拟机器则运行Linux操作系统。附带一提,本实施例并不限定服务器10中各虚拟机器所运行的虚拟操作系统的类型。

用户设备11_1、11_2…11_M例如为精简型用户设备(Thin Client)、极简型用户设备(Zero Client)、个人电脑或或笔记本电脑,其包含适当的逻辑、电路或编码,用以与服务器10建立连结,并操作服务器10中运行的虚拟机器。附带一提,用户设备11_1、11_2…11_M可能是以无线传输、有线传输或其它通信方式与服务器10建立连结,本发明并不对此作限制。

精简型用户设备与极简型用户设备指一个基本无需应用程序的计算机终端。此类用户设备通过鼠标、键盘等输入设备传输输入信号至服务器10,服务器10再把处理结果回传至用户设备显示。与一般的个人电脑与或笔记本电脑不同的是,一般的个人电脑与或笔记本电脑是将数据进行本的数据处理,故一般的个人电脑与或笔记本电脑在与服务器10的通信中只会传输必要的通信数据。而精简型用户设备与极简型用户设备则无需硬盘,所有的数据处理均由服务器10来完成。

前述用户设备11_1、11_2…11_M的类型仅为举例说明,并不用以限制本发明。所属技术领域技术人员可依实际情况与需求自行选择用户设备11_1、11_2…11_M的类型。

用户设备11_1、11_2…11_M可各自通过不同的通信协议与服务器10建立连结。举例来说,用户设备11_1通过远程桌面协议(Remote Desktop Protocol,RDP)与服务器10中的第一虚拟机器建立连结。用户设备11_2通过独立计算架构协议(Independent Computing Architecture Protocol,ICA)与服务器10中的第二虚拟机器建立连结。用户设备11_N通过传输控制协议(Transmission Control Protocol,TCP)和因特网协议(Internet Protocol,IP)与服务器10中的第N虚拟机器建立连结。

需注意的是,前述通信协议仅为举例说明,并不用以限制本发明。于其它实施例中,用户设备11_1、11_2…11_M亦可通过虚拟网络计算协议(Virtual Network Computing Protocol,VNC)、独立计算环境简易协议(Simple Protocol for Independent Computing Environment,SPICE)、PC-over-IP协议、精简型客户网络计算协议(Thin-Client Internet Computing Protocol,THINC)、X Window System(X11R6)协议或X显示监控协议(X Display Manager Control Protocol,XDMCP)等通信协议来与服务器10建立连结,以操作对应的虚拟机器。

为进一步说明服务器10的功能与结构,请参阅图2,图2是本发明实施例提供的服务器的结构方块图。服务器10包括虚拟接口的扩充装置13以及多个实体资源。所述实体资源分别运行虚拟机器101_1、101_2…101_N。扩充装置13被设置于服务器10的主机板上,其包括虚拟接口需求控制模块130以及资源管理模块131,且扩充装置13用以取得服务器10的所述虚拟机器 101_1、101_2…101_N的控制权限。虚拟接口需求控制模块130耦接于多个用户设备11_1、11_2…11_M。此处所谓耦接可以是实体的电性连接,或非实体的信号连接。资源管理模块131耦接于虚拟接口需求控制模块130以及所述虚拟机器101_1、101_2…101_N。

虚拟接口需求控制模块130包含适当的逻辑、电路或编码,用以管理所述用户设备11_1、11_2…11_M与所述虚拟机器101_1、101_2…101_N间的通信。虚拟接口需求控制模块130取得了所述用户设备11_1、11_2…11_M的部分控制权,进而能够可选择的(Optional)切换其所对应的接口数量。

虚拟接口需求控制模块130包括收发器以及处理单元(图2未绘示)。收发器包含适当的逻辑、电路或编码,用以接收所述用户设备11_1、11_2…11_M输出的信号。处理单元例如为中央处理单元、微处理器(Micro-Processor)或嵌入式控制器(Embedded Controller),其包含适当的逻辑、电路或编码,用以协助所述用户设备11_1、11_2…11_M与所述虚拟机器101_1、101_2…101_N建立连结。虚拟接口需求控制模块130通过处理单元取得所述用户设备11_1、11_2…11_M的控制权,进而编排所述用户设备11_1、11_2…11_M的需求时序,以对应的产生接口操作信号。

具体来说,当收发器接收用户设备11_1所输出的信号后,处理单元根据用户设备11_1所使用的通信协议以及所述虚拟机器101_1、101_2…101_N所使用的虚拟操作系统,来选择适当的虚拟机器(例如为虚拟机器101_1)。接着,每当用户设备11_1输出信号,处理单元先判断用户设备11_1是对应于虚拟机器101_1,接着将该信号连同虚拟机器101_1所对应的虚拟硬件的址输出至服务器10的中央处理器。服务器10的中央处理器再依据虚拟机器101_1所对应的虚拟硬件地址对应的操作虚拟机器101_1。

资源管理模块131包括传输单元1310与服务器实体资源协议单元1311。传输单元1310包括通用串行总线(Universal Serial Bus,USB)或其它数据总线,用以管理虚拟接口需求控制模块130提供的接口操作信号通过该主机板传输到所述虚拟机器101_1、101_2…101_N的数据串流,进而降低服务器10的中央处理单元(图2未绘示)的运算工作。或者,传输单元1310将所述虚拟机器101_1、101_2…101_N提供的视频信号(Video)输出至虚拟接口需求控制模块130。

服务器实体资源协议单元1311包括PCI-E总线、单径I/O虚拟化(Single Root I/O virtualization,SRIOV)总线或多径I/O虚拟化(Multi Root I/O virtualization,MRIOV)总线。资源管理模块131包含适当的逻辑、电路或编码,用以根据所述接口操作信号控制所述虚拟机器101_1、101_2…101_N,并回传所述虚拟机器101_1、101_2…101_N提供的服务(例如视频信号)予所述用户设备11_1、11_2…11_M。

以下将进一步介绍网络伺服系统1的运作流程。当使用者欲通过用户设备(例如用户设备11_1)操控虚拟机器时,用户设备11_1发出注册信号至服务器10的扩充装置13。扩充装置13的虚拟接口需求控制模块130根据用户设备11_1所使用的通信协议从所述虚拟机器101_1、101_2…101_N中选择一个适当的虚拟机器(例如虚拟机器101_1)。虚拟接口需求控制模块130记录用户设备11_1的用户识别码以及虚拟机器101_1所对应的虚拟硬件地址。如此一来,用户设备11_1与虚拟机器101_1间的连结便建立完成。

接着,使用者可以操作用户设备11_1产生控制信号以控制虚拟机器101_1。当虚拟接口需求控制模块130的收发器接收用户设备11_1所输出的控制信号后,处理单元依据虚拟机器101_1所使用的虚拟操作系统对控制信号执行格式转换,并将控制信号转换为适当的硬件信号,例如转换为USB格式的接口操作信号。

扩充装置13通过传输单元1310将USB格式的接口操作信号输出至服务器实体资源协议单元1311。接着服务器实体资源协议单元1311将USB格式的接口操作信号转换成PCI-E格式的操作信号,并将PCI-E格式的接口操作信号输出至服务器10的中央处理器。中央处理器再根据PCI-E格式的接口操作信号控制虚拟机器101_1去执行对应的功能,并产生执行结果。

虚拟机器101_1通过资源管理模块131将执行结果输出至虚拟接口需求控制模块130。虚拟接口需求控制模块130再根据用户设备11_1所使用的通信协议对执行结果进行格式转换,接着通过收发器将格式转换后的执行结果回传给用户设备11_1。如此一来,用户设备11_1便可显示执行结果给使用者。

用户设备11_2至用户设备11_M控制对应的虚拟机器101_2至虚拟机器101_N的流程类似于虚拟机器101_1,于此不再多加冗述。

附带一提,将接口操作信号转换为适当的硬件信号可以是由虚拟接口需求控制模块130执行,亦可以由资源管理模块131执行。只要扩充装置13能够根据所述虚拟机器101_1、101_2…101_N所使用的虚拟操作系统将操作信号转换为适当的硬件信号即可。

于其它实施例中,虚拟接口需求控制模块130亦可直接将操作信号转换成PCI-E格式,并通过资源管理模块131将PCI-E格式的操作信号输出至对应的虚拟机器。

为使本发明实施例更加明确,以下将举一具体例子作为说明。当使用者移动用户设备11_1的鼠标时,用户设备11_1输出操作信号至扩充装置13。以本实施例来说,用户设备11_1使用远程桌面协议与服务器10建立连结。

如同前述,扩充装置13的虚拟接口需求控制模块130对接口操作信号进行格式转换后,将格式转换后的接口操作信号输出至虚拟机器101_1。虚拟机器101_1根据接口操作信号对应的移动鼠标光标,并产生执行结果(鼠标光标移动的视频信号)。虚拟接口需求控制模块130接收视频信号后,将视频信号转换为对应于远程桌面协议的格式,并将格式转换后的视频信号回传给用户设备11_1。据此,使用者便可看见鼠标光标移动的图像。

根据以上所述,所述用户设备11_1、11_2…11_M通过扩充装置13与所述虚拟机器101_1、101_2…101_N进行通信。扩充装置13以其处理单元对所述用户设备11_1、11_2…11_M进行排程,并控制所述用户设备11_1、11_2…11_M与所述虚拟机器101_1、101_2…101_N间的通信,以将接收到的封包传送到对应的目的地。此外,扩充装置13还隔离所述虚拟机器101_1、101_2…101_N各自传送或接收的封包与流量。

对服务器10来说,扩充装置13可以取代服务器10原本的软件运算。服务器10的中央处理单元可以减少花费在分配虚拟机器或信号格式转换的资源。中央处理单元只要控制虚拟机器产生视频数据并输入扩充装置13即可。对所述用户设备11_1、11_2…11_M来说,用户设备通过网络连接至扩充装置13,而不是连接至服务器10的操作系统或应用程序。

值得一提的是,扩充装置13仅需使用服务器10的主机板上的一个PCI-E总线。相较于传统的服务器,本发明实施例提供的服务器10更多了数个PCI-E总线可以耦接其它的组件。

附带一提,扩充装置13还可以对所述用户设备11_1、11_2…11_M与所述虚拟机器101_1、101_2…101_N间的通信进行流量控制。由前述内容可知,所述用户设备11_1、11_2…11_M与所述虚拟机器101_1、101_2…101_N间的通信需通过扩充装置13。换句话说,扩充装置13的虚拟接口需求控制模块130可以集中管理或监视通信过程中各用户设备所使用的资源。当其中一台用户设备的连结出问题时,管理者只要调阅扩充装置13的记录即可知晓是哪一台用户设备故障,以及故障的时间点。

行笔至此,我们可以打一个有趣的比方,若把服务器比喻成一家本身有生产线的公司;使用者就相当于客户,会下单给公司,然后由公司的生产管理部门,即资源管理模块131决定根据客户需求,由哪条产线在哪个时间点提供哪些产品给客户。

但是,在现有的架构中,这个服务器本身没有配置业务人员,只能被动的由用户设备的数量来决定收到的生产订单数量,然后通过中央处理单元决定生产排程,再转交给习知相当于资源管理模块131的固件(Firmware)应用层去执行。

而本实施方式架构,则是针对各个用户,配置了业务,也就是虚拟接口需求控制模块130,每一位业务可以服务至少一位客户,前提在于虚拟接口需求控制模块130可以取得一定程度的使用者硬设备控制权,将原本一位使用者在一个设备上可操作的一个接口,扩充成两个以上的虚拟操作接口。由此,每位业务(即虚拟接口需求控制模块130)便能够可切换的(Optional)将至少一位客户的订单,安排进生产排程中,使产线(即实体资源)的产能稼动率提升。

从系统工程师的角度来看,可以用一般计算机的独立显示卡来解释本实施方式的虚拟接口的扩充装置13。独立显示卡具有图像处理单元(GPU),并且能够对主机板的数据串流取得一定程度的控制权,即将长线程(Thread)等不适合由中央处理器(CPU)进行运算的图像信息自应用程序发出的需求中拦截或包揽过来,待处理完成后,再反馈给应用程序。

反观本具体实施方式,则是将远程多个用户的需求包揽过来,利用传输单元在服务器的主机板上另辟数据串流,提供给资源管理模块131。但是,在这里,本具体实施方式的虚拟接口的扩充装置与显示卡的运作概念,有一 个极大的不同,即在于为了能够服务更多的、需求型态离散的用户设备,本具体实施方式的虚拟接口的扩充装置13主动从用户设备取得一定程度的控制权,由此在客户端产生虚拟的、扩充的操作接口。从使用者的角度来看,一个操作接口可因此被扩充成两个以上的操作接口;而从服务器系统端来看,则是服务器10运作系统本体内产生了理论上可以将实体资源使用到极限的多个虚拟机器(Virtual Machine)。

另一方面,网络伺服系统1还可以包括管理员设备12。管理员设备12耦接于扩充装置13的虚拟接口需求控制模块130,其包含适当的逻辑、电路或编码,用以判断所述用户设备11_1、11_2…11_N是否可与所述虚拟机器101_1、101_2…101_N建立连结。例如,用户设备11_2向扩充装置13发出注册信号时,管理员设备12判断用户设备11_2是否为不合规定的用户设备。若用户设备11_2被判定为不合规定的用户设备,管理员设备12命令虚拟接口需求控制模块130拒绝用户设备11_2的注册请求。反之,管理员设备12同意用户设备11_2与虚拟接口需求控制模块130建立连结。

此外,管理员设备12还可以主动的分配所述用户设备11_1、11_2…11_N所使用的资源。例如,用户设备11_1的优先度比用户设备11_2来的高,则管理员设备12可以控制管理设备100将用户设备11_1可用的频宽增加,以符合用户设备11_1的实际需求。

请参阅图3,图3是本发明实施例提供的CPU使用率与用户设备数量的关系图。于图3中,纵轴代表CPU使用率(%),而横轴代表连接至服务器10的用户设备的数量(台)。图3提供了两条曲线,其中曲线S301对应于传统的网络伺服系统,而曲线S302则对应于本发明实施例提供的网络伺服系统1。值得一提的是,传统的网络伺服系统与本发明实施例提供的网络伺服系统1的差别仅在于,本发明实施例提供的网络伺服系统1的服务器10更包括了扩充装置13。

曲线S301是一条线性的直线。换句话说,随着用户设备的数量上升,服务器的CPU使用率亦会跟着上升。另一方面,由曲线S302可知,当用户设备的数量低于一特定值(以本实施例来说特定值为18)时,服务器10的CPU使用率维持低使用率(例如10%)。当用户设备的数量高于特定值时,服务器10的CPU使用率才会开始提升。由此可见,本发明实施例提供的网络伺服 系统1通过扩充装置13来分担服务器10的中央处理器的负担,可以有效的降低服务器10的CPU使用率。相较于传统的网络伺服系统,本发明实施例提供的网络伺服系统1可以解决因用户设备过多造成的高CPU使用率问题。

请参阅图4,图4是本发明其它实施例提供的服务器的结构方块图。图4的网络伺服系统4同样包括多个用户设备41_1、41_2…41_M以及服务器40。服务器40包括虚拟接口需求控制模块430、资源管理模块431以及多个实体资源(即虚拟机器401_1、401_2…401_N)。资源管理模块431包括传输单元4310与服务器实体资源协议单元4311。网络伺服系统4的结构与运作类似于图2的网络伺服系统1,以下仅针对不同处进行描述。

与网络伺服系统1不同的是,虚拟接口需求控制模块430更包括压缩单元4300。压缩单元4300包含适当的逻辑、电路或编码,用以对所述虚拟机器401_1、401_2…401_N输出的执行结果(例如视频数据)进行压缩。如此一来,扩充装置43在传输执行结果至所述用户设备41_1、41_2…41_N时所消耗的频宽可以大幅降低。

综上所述,本发明实施例所提供的虚拟接口的扩充装置及网络伺服系统可以分担服务器的中央处理单元及网络卡在此方面的使用率,并以硬件方式解决服务器的中央处理单元及网络卡在此方面的使用率随着用户设备数量增加而升高的问题。此外,本发明实施例所提供的扩充装置还可以集中管理用户设备所使用的资源,以有效的运用现有的资源。

从固件工程师的角度来看,由于系统功能依旧为通过视频(Videos)和USB来实现,只有数量上的变化,然后对应到任何虚拟机器,所以十分容易完成相关修改,可扩充的虚拟接口相当于在任何虚拟机器、虚拟操作系统中,增加更多的虚拟机器。

以上所述,仅为本发明最佳的具体实施例,而本发明的特征并不局限于此,任何本领域技术人员在本发明的领域内,可轻易思及的变化或修饰,皆可涵盖在以下本案的专利范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1