一种基于原语机制的外设网络调用方法

文档序号:7629999阅读:207来源:国知局
专利名称:一种基于原语机制的外设网络调用方法
技术领域
本发明属于网络计算机体系结构领域,特别是在该系统结构下计算机外设部件网络调用的设计方法。
背景技术
网格计算已经成为当前计算技术发展的一个重要方向,当前一些研究项目根据网格计算的思想提出一些基于散耦合思想的网格计算机体系结构,如Dagger[1],DSAG[2]等。Dagger,DSAG针对传统体系结构中硬件资源利用率低、资源静态部署、被动安全等问题,提出了对计算机的原有资源进行拆分,从资源、功能、服务的角度来定义网格计算机的部件。设备成为一个个单独的单元,这些设备单元根据需要,在网络中能够自动组织起来,提供给具体的网络中的计算机应用。
网格计算机体系结构中的散耦合就是说将目前计算机系统中紧密耦合的各种部件转化成松散耦合的独立部件,然后依靠这些部件在系统运行时绑定、动态部署、智能共享来构建计算机系统。外设部件是计算机部件的一类,网络化的外设是网络计算机体系结果中的一个重要组成部分。网络化的外设部件可以用于网络计算机监控,用户终端等多种应用场景。
当前也存在各种的网络外设调用的解决方案,具体到远程控制的网络外设的实现方案中,如图1所示,主要有以下两种1.基于硬件实现主要通过对鼠标、键盘、显示器的电信号截取、线缆或网络的传送和还原的过程,实现系统对外设的控制。例如KVM,这类的实现并不依赖于网络,并有距离的限制,需要配置专门的线缆环境。虽然目前存在KVM Over IP以VNC[3]作为核心技术利用了网络实现,但是其对硬件的需求相对比较高,在客户端和服务器端都需要专门的KVM硬件设备。
2.基于应用软件实现通过在操作系统上编写服务器和客户端软件实现。在字符界面的有telnet。图形界面有X Windows,windowsremote desktop,pc anywhere等软件。这类软件优点是灵活,但是最大的缺点是基于操作系统之上,控制力度有限。这类对网络的利用是在应用层次,实现过程如图1中应用软件实现部分所示,每次执行外设操作需要繁琐的执行过程,执行效率不高,而且需要控制方配备一个完整的计算机。
外设部件的网络化,可以很好的解决一些原有的问题。通过网格使能的实现,可以根据需要使用网络中的外设,更为广泛的利用网络中的设备;通过智能共享,可以让多个主机同时动态的使用单个外设,提高外设的利用率;通过无缝互连,可以使得主机对网络中外设的控制更为直接、全面。通过网格外设机制实现的网格控制台,不需要专门的CPU、内存等设备,提供了一个瘦的客户端,同时可以控制多台计算机主机,提高了控制台的利用率。而且控制台自身拥有网络接口,可以随时通过网络接入网络,对网络主机进行控制。
参考文献[1]孙凝晖,樊建平.Dagger一种散耦合的网格计算机体系结构.[J].计算机研究与发展,2003年12月,第40卷,第12期.1731-1736[2]樊建平,陈明宇.网格化的动态自组织体系结构DSAG.[J].计算机研究与发展,2003年12月,第40卷,第12期.1737-1742[3]T.Richardson,Q.Stafford-Fraser,K.R.Wood,and A.Hop-per.Virtualnetwork computing.[J].IEEE Intemet Computing,1998,2(1).33-38发明内容1.本发明解决的技术问题在网格计算机中,网络接口设备成为一个非常基本的设备,网格计算机外设的使用应该依赖于其自身网络接口设备而存在。而传统的体系结构中网络设备是作为外设的一种,和其他外设属于同等地位。传统的外设调用有以下的缺点设备利用率不高,支持网络调用的外设有限,目前通过网络调用的外设只是局限于某些具体的设备,扩展起来比较困难;网络外设控制力度有限,计算机通过互联网可以进行数据交互,达到资源的互相利用,然而基于传统的调用方式,操作系统对于网络外设的操作是相对高级的,无法进行一些原始的操作。执行效率不高,传统的网络外设操作过程复杂,操作一个网络上的设备,一般需要通过网络主机操作系统、网络调用、外设所在主机操作系统、驱动程序、设备一系列的操作,而操作一个传统本机设备只需要操作系统、驱动程序、设备三个步骤,我们如果能够对这些步骤进行精简,那么不但可以大大提高速度,而且能减少主机CPU、内存等资源占用率。
本发明所提出的设计方案就是解决了实现外设网络调用的技术问题。利用网格化外设的思路,基于具体的网格控制台的实现,能实现对计算机的远程控制、管理,特别是对于高性能计算机中计算节点的管理中有非常重要的作用。通过网格控制台的实现,验证了网格外设的设计实现。网格外设在下一代的高性能计算机发展中有重要的意义。高性能计算机可以提供高速、海量的应用服务,广泛的应用在科学计算、工业工程、商业计算各个方面。高性能计算机经过对不同部件进行拆分,按照功能、服务、资源重组[1]。这种散耦合的体系结构,能够提高设备利用率、设备复用率。而外设部件的网格化作为其中的一个组成部分,可以很好的提供外设利用率和复用率、减少核心部件用在外设上的资源。
2.本发明的软件实现模型本发明的软件实现模型如图2所示。
3.发明技术方案该方案主要有驱动模块、网络模块和外设相关设备原语几个模块。其中网格主机逻辑设备驱动负责和网格主机操作系统交互,提供操作系统对外设操作的需要,并通过网络模块传送到网格控制台。网格控制台驱动是真正操作外设硬件的驱动,它根据网格主要通过网络发送的请求对硬件操作,完成网格主机对网格外设的调用。网格主机和网格控制台之间通过基于TCP/IP协议的网格使能协议进行交互。
3.1网格主机逻辑设备驱动网格主机逻辑设备驱动提供给网格主机操作系统外设驱动,操作系统认为这个驱动是真正的外设驱动。和传统外设驱动一样进行操作,但是逻辑设备驱动接受到操作系统的调用后,实际上是通过网络模块调用网格控制台的外设进行外设操作。
3.2外设设备驱动网格控制台驱动提供真正的对具体硬件外设进行操作,这些操作包括I/O读写、显存读写、中断响应,网格控制台驱动一方面对硬件外设操作,另一方面通过设备原语和网格主机交互,最终和网格主机的操作系统达到交互。
3.3设备相关的设备原语设备原语是和直接外设相关的部分,是操作系统对硬件操作的集合。
如权利要求说明书中的介绍。设备原语分为三种1.命令服务器操作系统向设备发出的操作指令,比如显示器显示命令、键盘灯命令、存储数据读写命令等;2.结果设备返回给服务器操作系统的命令执行结果。并不是每一个命令都要返回结果,有的命令不需要返回结果;3.数据输入由设备主动发起的,向其服务器操作系统发送数据的情况,比如键盘输入,鼠标移动等。
同时具体定义了键盘、鼠标、显卡的设备原语,能够满足上述三个外设网络调用的需要。下面具体给出三种外设的设备原语定义1.鼠标设备原语

2.键盘设备原语


3.显卡设备原语


3.4设计方案的总体架构总体设计框图如图2所示。图2显示了多个网格主机和一个网格控制台之间交互的过程。图4,图5分别具体显示了网格控制台和网格主机的详细设计图。网格控制台的硬件操作通过其驱动程序完成,驱动程序使用设备接口层通过设备原语到达网络模块。网格主机则利用逻辑设备驱动完成和操作系统交互,并把驱动操作的设备原语通过设备接口层发送网络模块。同样,网格主机和网格控制台通过网络模块进行通信,传递设备原语进行硬件网络调用和控制。
技术方案一种基于原语机制通过网络远程调用外设部件的方法,改变传统计算机体系结构中主机与外设之间的紧密耦合方式,设计出一种基于消息机制的计算机主机与外设部件的松散耦合方式;这些消息具体表现为一系列标准的设备原语;计算机主机通过这些设备原语来调用位于网络中的远程外设部件;这种基于原语机制的外设调用接口提供了一种在网络环境下实现部件共享和复用的新方式。
所要求的基于消息机制的计算机主机与外设部件的松散耦合方式,外设部件并不直接连接到一台计算机,而是连接到网络,通过网络以消息传递的方式与主机进行交互。
所要求的计算机主机通过设备原语来调用位于网络中的远程外设部件,网络中的计算机本地直接连接的不再是一个实设备,而是远程设备的一个映像,也就是一个虚拟设备,本地设备映像与远程设备之间通过设备原语进行交互。
所要求的一种在网络环境下实现部件共享和复用的新方式,这种基于原语模式的外设调用方式使得一个设备可以被多个计算机主机访问,对于某些类型的外设(例如存储外设)甚至支持一个设备被多个计算机主机并发访问,这是一种新的计算机部件共享方式。
所要求的一系列设备原语,针对键盘、鼠标、显卡三种基本计算机外设部件制定的主要设备原语a)鼠标MOUSE_DATAIN_SCANCODE鼠标数据输入b)键盘KBD_CMD_SET_LEDS控制键盘Led灯KBD_DATAIN_SCANCODE键盘数据输入c)显卡VGA_CMD_SET_CURSOR_SIZE设置光标VGA_CMD_INVERT_REGION反转屏幕VGA_CMD_SCR_WRITEW写单个显存VGA_RLT_SCT_READW读单个显存的结果。
本发明提出的设计方案用在中科院计算所高性能服务器的节点控制台的设计中。


图1是传统远程控制实现示意图。
图2是基于网络外设的控制台实现框架图。
图3是外设详细设计图。
图4是网络主机端详细设计图。
图5是基于原语机制通过网络远程调用外设部件的方法流程图。
具体实施例方式
图2的基于网络外设的控制台实现框架,其中网格主机是一台安装了逻辑设备驱动程序、网格使能程序的主机,通过TCP/IP协议连接到网络中。网络外设键盘、鼠标、显卡都通过传统接口连接到一台计算机上面,我们称这台计算机为网格控制台,这台网格控制台也拥有独立的CPU、内存等设备,但是在硬件实现中可以是一个独立拥有网络接口的嵌入式的设备。网格控制台安装有设备驱动和网络模块。网格控制台与网格主机的网格使能模块进行通信,用户可以使用网格控制台的鼠标、键盘、显示器对网格主机进行控制。网格控制台可以同时对多个网格主机进行控制。
如图3所示,网格控制台驱动将网格主机发送过来的设备原语分解为具体的硬件操作指令,对硬件进行操作。同时还响应硬件的动作,总结为设备原语发送到网格主机至网格主机操作系统。
如图4所示,网格主机逻辑设备驱动把操作系统对它的调用总结为设备原语的调用,并通过网络模块发送到网格控制台的具体外设。同时还把因为网格控制台端硬件的响应发送过来的设备原语分解并提交给操作系统。
图5是基于原语机制通过网络远程调用外设部件的方法流程,其具体步骤如下步骤1,主机加载远程外设;步骤2,主机等待事件发生;步骤3,主机判断事件类别,如果是命令,执行步骤4;如果是命令返回,执行步骤6;如果是数据输入,执行步骤8;步骤4,将设备命令封装成设备原语;步骤5,将设备原语发送给远端设备后返回步骤2;步骤6,将返回的命令执行结果解码;步骤7,将返回结果发送给系统后返回步骤2;步骤8,将输入的数据解码;步骤9,向系统发送伪中断;步骤10,由伪中断处理程序处理数据后返回步骤2。
权利要求
1.一种基于原语机制通过网络远程调用外设部件的方法,其特征在于改变传统计算机体系结构中主机与外设之间的紧密耦合方式,设计出一种基于消息机制的计算机主机与外设部件的松散耦合方式;这些消息具体表现为一系列标准的设备原语;计算机主机通过这些设备原语来调用位于网络中的远程外设部件;这种基于原语机制的外设调用接口提供了一种在网络环境下实现部件共享和复用的新方式。
2.如权利要求1所述的基于原语机制通过网络远程调用外设部件的方法,其特征在于所要求的基于消息机制的计算机主机与外设部件的松散耦合方式,外设部件并不直接连接到一台计算机,而是连接到网络,通过网络以消息传递的方式与主机进行交互。
3.如权利要求1所述的基于原语机制通过网络远程调用外设部件的方法,其特征在于所要求的这些消息表现为一系列标准的设备原语,根据主机与外设之间交互的行为特征,总结出三种设备原语类型(1)命令服务器操作系统向设备发出的操作指令,比如显示器显示命令、键盘灯命令、存储数据读写命令;(2)结果设备返回给服务器操作系统的命令执行结果,并不是每一个命令都要返回结果,有的命令不需要返回结果;(3)数据输入由设备主动发起的,向其服务器操作系统发送数据的情况,比如键盘输入,鼠标移动。
4.如权利要求1所述的基于原语机制通过网络远程调用外设部件的方法,其特征在于所要求的计算机主机通过设备原语来调用位于网络中的远程外设部件,网络中的计算机本地直接连接的不再是一个实设备,而是远程设备的一个映像,也就是一个虚拟设备,本地设备映像与远程设备之间通过设备原语进行交互。
5.如权利要求1所述的基于原语机制通过网络远程调用外设部件的方法,其特征在于所要求的一种在网络环境下实现部件共享和复用的新方式,这种基于原语模式的外设调用方式使得一个设备可以被多个计算机主机访问,对于某些类型的外设甚至支持一个设备被多个计算机主机并发访问,这是一种新的计算机部件共享方式。
6.如权利要求3所述的基于原语机制通过网络远程调用外设部件的方法,其特征在于所要求的一系列设备原语,针对键盘、鼠标、显卡三种基本计算机外设部件制定的主要设备原语a)鼠标MOUSE_DATAIN_SCANCODE鼠标数据输入b)键盘KBD_CMD_SET_LEDS控制键盘Led灯KBD_DATAIN_SCANCODE键盘数据输入c)显卡VGA_CMD_SET_CURSOR_SIZE设置光标VGA_CMD_INVERT_REGION反转屏幕VGA_CMD_SCR_WRITEW写单个显存VGA_RLT_SCT_READW读单个显存的结果。
7.根据权利要求1所述的基于原语机制通过网络远程调用外设部件的方法,其具体步骤如下步骤1,主机加载远程外设;步骤2,主机等待事件发生;步骤3,主机判断事件类别,如果是命令,执行步骤4;如果是命令返回,执行步骤6;如果是数据输入,执行步骤;步骤4,将设备命令封装成设备原语;步骤5,将设备原语发送给远端设备后返回步骤2;步骤6,将返回的命令执行结果解码;步骤7,将返回结果发送给系统后返回步骤2;步骤8,将输入的数据解码;步骤9,向系统发送伪中断;步骤10,由伪中断处理程序处理数据后返回步骤2。
全文摘要
本发明属于网络计算机体系结构领域,提出了一种在网络环境下实现外设远程调用的设计方法,可以适用于网络中主机对网络中外设的调用和网格环境中网格控制台远程控制网格主机中。本方法中外设的调用通过定义设备原语实现,这些设备原语是主机和网络中外设进行操作的集合。根据操作系统和外设交互的分别,将设备原语分成命令、结果、数据输入三种类型。本发明定义了鼠标、键盘、显卡的设备原语。使得网络主机操作系统可以通过网络使用设备原语对网络中的鼠标、键盘、显卡等外设进行调用。此外针对其他外设,也可以通过定义对应的设备原语实现网络调用。
文档编号H04L29/06GK1794143SQ20051013659
公开日2006年6月28日 申请日期2005年12月30日 优先权日2005年12月30日
发明者杨毅, 张跃冬, 赵晓芳, 孙毓忠 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1