根据通信设备驱动装置的输出方法及输入方法

文档序号:6440590阅读:216来源:国知局
专利名称:根据通信设备驱动装置的输出方法及输入方法
技术领域
本发明涉及一种支持用户终端设备的服务器结构,尤其涉及根据通信设备驱动装置的输出方法和输入方法。
背景技术
在网络系统中,负责管理整个网络运作提供系统软件资源的电脑称为文件服务器(file server),提供打印能力的电脑称为打印服务器(Printer server),统称服务器。除了服务器以外,其余连接到此网络系统的电脑称为用户端(client),用户端通常调取文件服务器当中的应用软件来执行,所以它可以不需要硬盘驱动器,或是仅需要小量的存储空间,因为应用程序和操作系统都是储存在文件服务器上。但某些用户端电脑也可独立执行一些应用软件,或是不需要和其它电脑连线的单机软件。
在Windows操作环境当中,当我们利用动态数据嵌入(DDE)的功能,将某一个应用程序的资源放到另一个应用程序当中,负责接收资源的应用程序也称为用户端应用程序(client application),而控制数据来源的程序则称为服务器应用程序(server application)。
另外,一种便携式的用户端通常被称为轻型用户端(thin client),它是一部将电脑缩小在便携带的范围的电脑系统,通常有最大型的膝上型电脑(laptop)、目前正流行的笔记型电脑(notebook)以及稍小一型的大笔记型电脑(subnote)三种。
在Windows NT Terminal Server版本中已实现了对轻型用户端的支持,终端服务器提供强大的运算能力,可以在上面执行各种Windows程序,而轻型用户端作为图形终端显示程序执行结果。虽然如此,一般较常用的Windows操作系统上还没有这种功能,因此对于家庭和小型办公大多使用Windows操作系统,也就无法使用基于Windows的各种图形终端。
因此,有待一种新的实施服务结构,即在Windows操作系统上实现对图形用户终端设备的支持。本发明在Windows操作系统上显卡、图形通信协议等技术实现对轻型用户端设备的支持,使得家庭和小型办公可以在原有Windows操作系统上,使用短小、轻薄但又功能强大的无线或有线图形终端。

发明内容
鉴于上述发明背景中,传统的服务器结构所产生的诸多缺点。本发明提供一种在Windows操作系统平台上实现对图形用户终端设备支持的服务器结构,使得家庭和小型办公可以在原有的Windows操作系统上,使用短小、轻薄但又功能强大的无线或有线图形终端。
本发明的另一目的在即在Windows操作系统平台上实现对便携式用户端设备的支持。便携式用户端可控制服务器端执行各种Windows应用程序,这样就可以在轻便但运算能力较弱的便携式用户端上执行各种复杂的Windows程序。
根据以上所述的目的,本发明提供了一种实现对便携式工作站支持程序执行的服务器结构,此服务器结构至少包含储存模组,其储存有便携式工作砧所控制的多个应用程序;通信模组,其将功能操作转换成数据包;传输模组,其负责将通信模组传来的数据包经由网络系统传送至便携式工作站上;以及模拟设备驱动装置,其介于应用程序与通许模组之间,用以拦截来自便携式工作站控制的应用程序的功能操作,并将此功能操作传送至通信模组,再者此模拟设备驱动装置有可用于接收来自便携式工作站并经由通信模组传来的控制信号,使应用程序能得到正确的输入动作。


图1显示了服务器与便携式工作站之间的信息传输关系图2为本发明一实施例的图形显示重定向方块图;图3为本发明一实施例的音频操作重定向才块图;图4为本发明一实施例的控制信号重定向方块图;图5为本发明一实施例的T.120系列协议结构图;图6为本发明一实施例的整体方块流程图;图7为本发明一实施例的多点通信连接的系统结构图;图8为本发明一实施例的模拟设备驱动装置的输出程序流程图;以及图9为本发明一实施例的模拟设备驱动装置的输入程序流程图。
具体实施例方式
本发明的一实施例将利用图1至图9详细描述如下。然而,除了详细描述外,本发明还可以广泛地在其他的实施例中施行,且本发明的范围不受其限定,以下面的专利范围为准。请参照上述附图以配合本实施例的详细描述。
首先,请参照图1,其显示本发明在Windows操作系统平台上实现对便携式工作站100设备的支持。也就是以运行Windows操作系统的普通个人电脑作为服务器110,而短小轻薄的用户终端(例如,便携式电脑)作为便携式工作站100,它们之间通过有线或无线网卡连接。便携式工作站100传递控制信号至服务器110以控制服务器110执行各种Windows应用程序,服务器110相对于便携式工作站100有较强的运算能力,可以执行复杂的程序。然后,服务器110将程序执行的功能操作通过虚拟装置程序和便携式工作站100之间的网络设备重定向到便携式工作站100的输出设备上,这样就可以在轻便但运算能力较弱的便携式工作站上执行各种复杂的Windows程序。
在进入本实施例的整体结构之前,先依序介绍本实施例的主要特征,即图形显示重定向、音频操作重定向、控制信号重定向以及改装后的T.120系列通信协议。从图2中可以看出服务器端Windows操作系统负责显示操作显示硬件的显示驱动模组20、底层显示驱动模组(VDD)22以及硬件抽象层(HAL)24将被本实施例r虚拟显示驱动模组200取代,因为它们会操作显示硬件,而真正的显示硬件并不存在于此,所以将它们用虚拟显示驱动模组200代替。虚拟显示驱动模组在获得图形界面应用模组28或字符界面应用模组30通过图形显示界面32的图形操作后,并不会真的去操作硬件,而是将这些操作转化成可传输的图形操作传给图形通信协议210。值得注意的是,字符显示操作不能由虚拟显示驱动模组200直接传送,字符显示需转变成图形显示后经由图形抓取界面34再做传输。
虚拟显示驱动模组并不是一个程序,而是由pseudo display driver、pseudoVDD与Pseudo HAL三部分组成。如果对Direct Draw/3D 26不需要支持,则可以忽略pseudo HAL这部分。Pseudo display driver将提供普通显示驱动模组所具有的与上层软件的所有接口,以取得来自上层软件的所有操作。Pseudo VDD是用来替代原系统中的VDD,原系统中的VDD的主要功能是支持DOS窗口和全屏幕字符界面DDS模组的显示,在本发明中将不支持全屏幕字符界面DOS模组的显示。而只支持DOS窗口的显示。因此在Virtual VDD中将禁止全屏幕字符界面的显示,同时要支持DOS窗口的显示。
其次,对于某些应用程序有音频操作的情况,有必要将这些音频操作从服务器端重定向利用户端。图3所显示的音频操作重定向方块图系将对音频硬件设备操作的每个部分(如,音频装置驱动模组36、底层音频驱动模组38以及硬件抽象层24)用虚拟音频驱动模组202替换。虚拟音频驱动模组202主要是用来拦截来自用户端控制的应用程序的所有音频操作。如Win32/16应用程序40对音频装置驱动模组36和硬件抽象层24的操作,还有DOS应用程序42对底层音频驱动模组38的操作,都将被虚拟音频驱动模组202所获得,并将其转换成可传输的音频操作交给音频通信协议212。同样对于不对Direct Sound 44有要求的情况下将不会考虑硬件抽象层的问题,而只需考虑音频装置驱动模组和底层音频驱动模组的情况。
接下来,请参照图4,其为本实施例的控制信号重定向方块图。这里所讲的控制信号指的是来自用户端的键盘或鼠标操作,这些操作信号来自用户端,而要被送到在服务器端运行的应用程序46上,走的路线与上述的图形操作重定向和音频操作重定向相反,但基本原理相同。处于用户端的键盘或鼠标设备由用户使用向正在运行的应用程序46发出控制信号,如按下某个键或移动鼠标,这些动作将被用户端的键盘/鼠标驱动模组获得,键盘/鼠标驱动模组将这些控制信号传给用户端的通信协议,再经一系列的转换传到服务器端的控制信号通信协议214。服务器端的控制信号通信协议214将控制信号解包后传给虚拟输入驱动模组204,然后由虚拟输入驱动模组204向输入界面48(键盘或滑标界面)提供支持,使应用程序得到正确的键盘或鼠标操作。本实施例的虚拟输人驱动模组204是用来取代原有的键盘驱动模组50与鼠标驱动模组52。
紧接着,本发明所采用的通信协议是一个关键性的部分,它的主要作用是将来自上层的各种操作按照协议规定转化成数据包并通过网络传给网络上的其他设备,同时将来自底层的数据包解压,变成相应的动作传给正确的处理单元。现有可以使用的通信协议有T.120、X11、RDP、ICA等,由于T.120相对容易改装,有一定的文件可以查阅,所以本实施例采用T.120,在T.120基础上进行改写,形成适合本发明使用的通信协议。
从图5可以看出T.120系列协议大致上可以分成两大部分,一个是底层结构,其包括T.123(特定网络传输协议)和T.122(多点通信服务)这两个模块;另一个是与应用程序接口通信的协议模块组,包括T.126静态图像传输协议)、T127(文件传输协议)以及音频传输协议。T.123是在最底层,其负责网络数据传输的传输部分,在不同的网络环境下是不同的。T.122提供多点通信服务,使不同用户之间相互协调,确保数据包的发出和接收的正确性和有效性。T.126是静态图像传输协议,其不但提供了有关静态图像的传输协议,同时也包含了设备(键盘/鼠标)控制动作的传输协议。对于图像传输在服务器端是接收来自虚拟显示驱动模组的图像操作,将其按协议打包再向下传,在用户端则将接收到的协议包将其解压成对显示驱动模组的操作,再传至真实的显示驱动模组。T127是文件传输协议,原本存在于T.120协议系列中,在本发明中因不需考虑文件传输故将不予采用。音频传输协议是本发明中新加入的协议,其负责音频传输。
现在,请参照图6,其为本实施例的整体系统结构图,即结合了上述的图形显示重定向、音频操作重定向控制信号重定向以及改装后的T.120系列通信协议于一体。本系统结构图可分为两大部分,一为服务器端110,另一为便携式工作端100。本发明的一种实现对便携式工作端100支持程序执行的服务器端110结构至少包含储存模组,其储存有便携式工作端100所控制的多个应用程序46,例如图形界面应用模组、字符界面应用模组、DOS应用程序,Win32/16应用程序等;通信协议模组209,其至少包含有图形通信协议、音频通信协议和控制信号通信协议,通信协议模组209是用来将功能操作转换成数据包,或用来解压缩;传输协议模组220,其负责将通信协议模组209传来的数据包经由网络系统传送至便携式工作站100。传输协议模组220包括有其最下层的特定网络传输协议以及特定网络传输协议的上层的多点通信服务传输协议。用来传送数据包的网络系统可以是有线网络系统(如公共电话网络或区域网络等)或无线网络路系统(如卫星网络)。
服务器端110还包含模拟设备驱动装置,即上述的虚拟显示驱动模组200、虚拟音频驱动模组202和虚拟输入驱动模组204,其介于应用程序46与通信协议模组209之间,用以拦截来自便携式工作端100控制的应用程序的功能操作,并将此功能操作传送至通信协议模组209。再者,此模揿设备驱动装置亦可用于接收来自便携式工作端100并经由通信协议模组209传来的控制信号,使应用程序46能得到正确的输入动作。
便携式工作端100则至少包合键盘或鼠标等输入设备222,其用来向正在运作的应用程序发出键盘/滑标输入动作;输入驱动模组224,其接收输入设备222的输入动作,并将此输入动作转换至控制信号;用户端传输协议模组226,其用来接收服务器端110传来的数据包以及用来传送控制信号数据包经由网络系统至服务器端110;用户端通信协议模组228,其用来解压缩用户端传输协议模组226传来的数据包,并将其转换成功能操作,以便传送至显示驱动模组230或音频驱动模组232,并经由显示设备234或音频设备236显示/播放出来。用户端通信协议模组228亦可接收输入驱动模组224传来的控制信号,并将其转换成控制信号数据包传送至用户端传输协议模组226。
换言之,如上述的功能操作系图形操作,服务器端110的虚拟显示驱动模组200会截获所有便携式工作端100控制的应用程序的通过图形显示界面32后的图形操作。并将这些图形操作传给图形通信协议。图形通信协议再将图形操作转化成协议数据包传给传输协议模组220,传输协议模组负责将数据包传给便携式工作端100,便携式工作端的图形通信协议将数据包解压变成图形操作,传给便携式工作端的显示驱动模组230,这样便携式工作端的显示设备234就可以显示正确的图形。如上述的功能操作系音频操作,虚拟音频驱动模组202将拦截来自便携式工作端100控制的应用程序的所有音频操作并将其转损成可传输的音频操作交给音频通信协议。音频通信协议再将这些操作转化成数据包,通过传输协议模组220和网络传给便携式工作端100的音频通信协议,便携式工作端的音频通信协议将数据包转化成对音频驱动模组232的操作,从而使便携式工作端的音频设备236播放出动听的高质量声音来。
本发明的服务器端亦可同时与多个便携式工作端建立连接。从图7可以看出,服务器端负载网络数据传输的T.123的份数与便携式工作端的份数相同,也就是与便携式工作端的T.123是对应的。而处在每台机器的T.122是负责协调多点通信的。服务器端的T.126只接收图形操作数据,而便携式工作端的T.126只发送图形数据。可见T.120协议系列以对多点传输有了充分的支持,在本发明中可以较为容易地实现一个服务器端对多个便携式工作端的支持。
由于显示、音频等输出设及虚拟驱动模组有相近的结构,下面将用图8来说明它们的程序流程;而对于产生控制信号的输入设备的虚拟设备相对简单,用图9来说明其程序流程。
图8所示的模拟设备驱动模组的输出方法至少包含有下列步骤首先,接收执行中应用程序对设备的功能操作;以及运用相关软件完成此功能操作,如功能操作是对软件的操作,否则在予处理后转换成通信协议可接受的操作再传给通信协议。举例说明从图形显示界面传来画线的操作,这是一个对硬件进行的操作。先进行予处理,将线的起始位置和终止位置转换成在屏幕上的绝对位置。接着要转换成图形通信协议可接受的数据结构。将该数据结构填好使传给图形通信协议。又如从图形显示界面传来改变画线缺省线型的操作只需软件完成,将传来的线型存入缺省线型变量即可,不再需要传给图形通信协议。
图9所示的模拟设备驱动模组的输入方法至少包含有下列步骤首先接收来至通信协议的控制信号和数据;然后利用相关软件模拟输入/输出端口,并将数据放入其中;最后,将控制信号用模拟中断信号来通知上层设备接口,让上层设备接口读取输入/输出端口中的数据。举例说明从服务器端传来一个键按下的动作以及这个键的扫描码,键盘虚拟驱动模组先将扫描码放入软件模拟的输入/输出端口中,再向上层键盘接口发出软件模拟中断信号。然后结束,上层键盘接口会自动读取端口中的扫描码。
以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在所附权利要求书范围内。
权利要求
1.一种模拟通信设备驱动装置的输出方法,该方法至少包含下列步骤接收一应用程序存的功能操作;以及运用相关软件完成该功能操作,如该功能操作是对软件的操作,否则在预处理后转模成一通信协议可接受的操作再传给该通信协议。
2.如权利要求1所述的方法,其特征在于,上述模拟通信设备驱动装置至少包含虚拟显示驱动模组。
3.如权利要求1所述的方法,其特征在于,上述模拟通信设备驱动装置至少包含虚拟音频驱动模组。
4.如权利要求1所述的方法,其特征在于,上述应用程序至少包含图形界面应用程序。
5.如权利要求1所述的方法,其特征在于,上述应用程序至少包含字符界面应用程序。
6.如权利要求1所述的方法,其特征在于,上述应用程序至少包含DOS应用程序。
7.如权利要求1所述的方法,其特征在于,上述应用程序至少包含Win32/16应用程序。
8.如权利要求1所述的方法,其特征在于,上述功能操作至少包含图形操作。
9.如权利要求1所述的方法,其特征在于,上述功能操作至少包含音频操作。
10.如权利要求1所述的方法,其特征在于,上述通信协议至少包含T.120的图形通信协议。
11.如权利要求1所述的方法,其特征在于,上述通信协议至少包含T.120的音频通信协议。
12.如权利要求1所述的方法,其特征在于,上述可接受的操作系统是数据结构。
13.一种模拟通信设备驱动装置的输入方法,该方法至少包含下列步骤接收来至通信协议的控制信号和数据;利用相关软件模拟输入/输出端口,并将该数据放入其中;以及将该控制信号用模拟中断信号来通知上层设备接口,让该上层设备接口读取该输入/输出端口中的该数据。
14.如权利要求13所述的方法,其特征在于,上述模拟通信设备驱动装置至少包含虚拟键盘驱动模组。
15.如权利要求13所述的方法,其特征在于,上述模拟通信设备驱动装置至少包含虚拟鼠标驱动模组。
全文摘要
本发明揭示一种模拟通信设备驱动装置的输出方法,该方法至少包含下列步骤接收一应用程序存的功能操作;以及运用相关软件完成该功能操作,如该功能操作是对软件的操作,否则在预处理后转换成一通信协议可接受的操作再传给该通信协议。本发明还揭示一种模拟通信设备驱动装置的输入方法,该方法至少包含下列步骤接收来至通信协议的控制信号和数据;利用相关软件模拟输入/输出端口,并将该数据放入其中;以及将该控制信号用模拟中断信号来通知上层设备接口,让该上层设备接口读取该输入/输出端口中的该数据。
文档编号G06F15/17GK1503151SQ0310415
公开日2004年6月9日 申请日期2000年2月3日 优先权日2000年2月3日
发明者邱全成, 陈乃东, 蒋伟 申请人:英华达(上海)电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1