一种支持联网设备的计算机系统和方法

文档序号:7593080阅读:166来源:国知局
专利名称:一种支持联网设备的计算机系统和方法
背景技术
近年来,计算机系统已经从可独立使用设备发展成日益增多的网络通信设备。网络环境向着家庭联网和其它小型网络环境前进。这些网络的一个好处是能具有多个计算工作站的同时使花费在外设上资本最小化。这些外设通常包括打印机、扫描仪和/或传真机。目前,有些使用的外设是多功能设备,常把诸如打印机、扫描仪和传真机组合于一身。现在,这些多功能设备正朝着可在网络环境中使用的模式前进。这些装置的制造商认识到在网络操作中的越来越多的收益,因此正离其它硬连接器和总线协议而去。此外,技术继续向无线环境中操作而发展。在这种无线环境中,外设与主机通信不经过硬连接或电缆连接。在这种无线通信模式中,底级是联网的。因此有必要支持和管理联网环境中的外设。
当前计算领域中,有许多不同的总线结构。每种不同的总线结构要求。同的支持软件,常称谓支持栈。例如,现在计算机上用的是1394、802.11和USB等不同总线。各种总线必须有一个支持栈,这个支持栈具有一个用户接口层、一个驱动器层和一个总线适配器层。总线适配器层是非平凡(nontrivial)软件段,当总线每改变一次和每次增加新总线时,这部分必须重做,这些改变、增加和替换要数年才能稳定。因此,可明白需要开发一种系统,其中总线适配器所在的传送层是通用的。如果开发一种所有外设在网络内通信的系统,则将有可能引入一个网络栈,即使外设驻留在本地总线上。这将允许单一栈支持全部外设,导致软件维护的低成本和稳定性。
认识到有必要向网络模式发展,某些设备诸如成象设备的制造商,已经开始制造包括有以太网连接的设备。这样允许用户把这种外设直接插入网络。这些设备还有相关软件,允许网络上的计算机和指定设备通信,使它完成一定功能,例如,扫描。但是这是一种完全设备专用的解决方法。这种方法要求对每种设备都要开发特定的软件。再说,这种书写的软件实质上是低级总线计数器(enumerator)。在微软视窗操作系统中,此软件用核心状态写成。一般来说,要在核心状态开发和更换软件是一件困难任务。因此,有必要将当今世界存在的设备专用的解决方法加以普遍化。如果所有的设备制造商,诸如成象设备制造商,能安装与该设备通信所需的驱动程序,安装后此设备的表现和功能与它在本地和该计算机连接时一样,则将是有益的。
在当前操作系统中,这种普遍化是不受支持的,从而不存在。例如,在视窗操作系统系列中,经网络相连接的一台成象设备,对操作系统来说,它并不是作为真实设备出现。这样,如果一台扫描仪,通过网络连到计算机,则该扫描仪在设备管理程序中不作为一件硬件出现。又如,网络设备不能像本地连接的设备那样,受到管理和控制。从而设备驱动程序不能适当地被管理,任何升级的驱动程序不能被找到和安装等等。因此,可看到需要一种计算机系统和方法,它将支持联网外设成象设备。这种需要应在全局基础上处理,而不需要设备专用解决方法所需的资源。
发明简述本发明指向支持联网外设的一种方法和计算机系统。更具体地说,本发明提供一种计算机实施的方法和系统,它支持通过网络与计算机连接的硬件设备。在这种方法中,检测与该网络连接的任何硬件设备的存在。然后,既可以从设备,亦可以从用户得到被联设备的信息描述。基于所得到的信息,生成被联设备的逻辑表示。然后,找出被检测设备的驱动程序,并进行安装。从这点来说,该联网硬件设备对计算机,是以与本地连接的硬件设备的同样方式出现。
此外,还提供了一种计算机实施的服务接收器(listener)部件。该服务接收器的部分作用是检测与该计算机所连同一网络上的所连接的硬件设备。它包括一接收模块部件,该部件容纳接收指明硬件设备联到该网络的信息的指令。服务接收器还包括含有找出和安装与该网络相联的硬件设备的驱动程序的指令。
本发明的其它优点和新颖特点会在以后的描述中阐明,尤其是对本专业的熟练的技术人员,通过对下面内容的研究会变得更加明瞭,或从本发明的的实践中能进步知晓。
几种视图简述以下参照附图,详细叙述本发明,其中

图1是适宜用于实施本发明的计算机系统环境框图;图2是本发明一实施例中基本部件原理图;图3是说明本发明某些方面的流程图。
发明详细叙述本发明提供了用于支持联网外设的一种方法和计算机系统。在这种方法中,计算机用户将图象设备联入网络。该方法会确定该设备是否是自动可发现的,例如通过用户初始化动作来搜索网络上可发现设备或通过自动设备通知。如果设备是自动可发现的,则在网络上检出新的图象设备。一旦发现了设备,生成此设备的逻辑表示,并安装被发现设备的驱动程序,驱动程序一旦被安装后,给计算机上运行的所有应用程序发布新设备来到了的消息。当收到了消息,服务应用程序会找到此设备相应的驱动程序,并进行装入。此后,已装入的驱动程序会很方便地与此设备通信。而此设备,从操作系统来看,与任何别的本地连接的外设一样。如果设备不是自动可发现的,则用户输入此设备信息,允许计算机系统支持此设备。
已经简单叙述了本发明的总的看法,下面将叙述本发明的一个例示操作环境。
示范操作环境图1说明适合本发明实施的计算机系统环境100的一个实例。计算机系统环境100仅是合适计算机环境的一个实例,不打算对本发明使用范围或功能作任何限制。不应该把计算机环境100解释为对示范计算机操作环境所示任何一个部件或任何部件组合有任何依赖或任何要求。
可以用通用的计算机可执行指令,诸如计算机可执行的程序模块,的范围来叙述本发明。通常,程序模块包括执行特殊任务或实施特殊抽象数据类型的例行程序、程序、对象、部件和数据结构等。然而,本专业的熟练的技术人员懂得本发明可用别的计算机系统体系结构实行。该体系结构包括手持设备、多处理器系统、基于微处理器的或可编程用户电子设备、微型计算机、大型计算机和类似设备。本发明还可用分布式计算机环境实行。在该环境中,用经通信网络连接的远程处理设备完成各种任务。在分布式计算机环境中,程序模块可装入本地和远程计算机存贮介质,其中亦包括存储器存贮设备。
参照图1,实施和使用本发明的示范系统100包括以计算机110方式的通用计算机设备。它包括处理单元120,系统存储器130和耦合包括系统内存到处理单元在内品各种系统部件的系统总线121。
计算机110一般包括多种计算机可读介质,作为实例,但不限於此,计算机可读介质可包括计算机存贮介质和通信介质。系统存储器130包括易失和非易失存贮器形式的计算机存贮介质,诸如只读存贮器(ROM)131和随机存贮器(RAM)132。基本输入/输出系统133(B1OS),一般存在ROM131。该系统包括有助于诸如启动期间,在计算机110内元件间传送信息的例行程序。RAM132一般包括经处理单元120立即可存取的和/或不久要操作的数据和/或程序模块。作为实例,但不限於此,图1所示的操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110还可包括其它可拆卸/不可拆卸、易失非易失计算机存贮介质。仅作为实例,图1示出读自或写入不可拆卸、非易失磁性介质的硬盘驱动器141,读自或写入可拆卸、非易失磁盘152的磁盘驱动器151和读自或写入可拆卸、非易失光盘156,诸如CDROM或别的光介质的光盘驱动器155。在示范操作环境中能用的其它可拆卸/不可拆卸、易失/非易失计算机存贮介质包括,但不限於盒式磁带、闪存卡、数字通用磁盘、数字视频磁带、固态RAM、固态ROM和类似存贮介质。硬盘驱动器141一般通过诸如接口140的不可拆卸存储器接口联到系统总线121,而磁盘驱动器151和光盘驱动器155一般用诸如接口150的可拆卸存储器接口联到系统总线121。
以上讨论并示于图1的驱动器和与其相关的计算机存贮介质提供了计算机110用的计算机可读指令、数据结构、程序模块和其它数据的存贮。在图1中,例如,硬盘驱动器141示为存贮操作系统144、应用程序145、其它程序模块146和程序数据147,要注意,这些部件,与操作系统134、应用程序135、其它程序模块136和程序数据137或者相同,或者不同。操作系统144、应用程序145、其它程序模块146和程序数据147在此给予不同编号,至少说明它们是不同的副本,用户可通过诸如键盘162和常称为鼠标、跟踪球或触摸垫的点击设备161的输入设备输入命令和信息,其他输入设备(未示出)可包括话筒、操纵杆、游戏垫,卫星盘、扫描器或类似设备。这些和其他输入设备常常通过与系统总线耦合的用户输入接口160联到处理单元120,但也可用诸如并行口,游戏口或通用串行总线(USB)等其它接口和总线结构联接。监示器191或其他类型的显示设备用诸如视频接口190的接口也连接到系统总线121。除监示器外,计算机还包括其他外围输出设备,如扬声器197和打印机196,通过输出外设接口联接到系统总线。
本发明中的计算机110运行在利用逻辑连接至如远程计算机180的一台或多台远程计算机的联网环境。远程计算机180可以是个人计算机,且一般包括与计算机110有关的许多或全部上述元件,虽然在图1中只示出存储器存贮设备181。图1中描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但还可包括其他网络。
当用在局域网LAN网络环境时,计算机110经网络接口或适配器170与LAN171联接。当用在广域网WAN网络环境时,计算机110一般包括调制解调器172或用于建立在WAN173,如因特网内进行通信的其他装置。调制解调器172,可以是内置或外置的,通过用户输入接口160或其他合适机制联接到系统总线121。在联网环境中与计算机110相关的程序模块或其部份可以存贮在远程存储器存贮设备。作为实例,但不限于此,图1把远程应用程序185表示为驻留在内存设备181,要明瞭所示网络连接是示例性的,还可使用建立计算机之间的通信链接的其他装置。
虽然没有示出计算机110的许多其他内部部件,但本专业的熟练的技术人员会明瞭这些部件和内部连接是众所周之的。因此,有关计算机110内部结构的附加细节不需要与本发明一起揭示。
支持网络设备的系统和方法在当今的操作系统中,对网络设备的处理一般不同于在本地连接的设备。例如,华盛顿雷得蒙微软公司视窗系列操作系统中对联网设备的处理不同于本地联在主机上的硬件设备。因此,目前没有办法把远程连接的联网设备逻辑表示为物理地连接到计算机的一件硬件。本发明通过提供用于寻找与网络相连接的设备和把它们处理为本地连接的设备的一种方法和机制,来处理这种缺陷。
为了要好理解本发明,图2的原理图说明本发明的基本部件和它们之间的关系。参照图2,它示出联网设备200。该设备可以是任意数量的各种外设,如图1的上述讨论过的那些外设。例如,设备200可能是与网络连接的扫描仪,设备200联到网络202,例如,网络202可以是以太网,从而设备200在那里有以太联接。网络通信通过总线栈204,在视窗操作环境,总线栈204可能是核心总线栈,用来和以太网202通信。网络栈204甚至能用于连接在本地总线上的设备。在这种环境中,所有设备甚至本地设备在网络内通信。为此,栈内提供转换或映射层,允许把网络栈放在本地连接栈之上。这样,无论是网络,还是本地总线都从最顶层抽出。允许用单一栈支持所有设备。单一栈的使用导致更稳定的系统和更低廉的维护成本。再说,单一网络栈的使用,在每次对总线作改变或每次增加总线时,不需要重写总线栈的总线适配层。所提供的映射层是操作系统提供的层,不需要第三方售主提供核心驱动程序。对每条总线,仍然是小的总线专用层,但该层的大小在网络环境中是最小化,可由操作系统而不是别的售主来提供。
继续用图2核心总线栈204与通信管道206通信。继续用视窗操作系统实例,通常称通信管道206为Winsock。实际上,总线栈204以核心模式操作,而通信管道206以用户模式操作。图2中线208指明模式差异。核心是操作系统的核,是管理存储器、文件和外设的系统部分。核心还要保持时间和日期,着手进行应用程序和通常分配系统资源。通常核心的改变和追加难以开发和实施。
提供的服务接收器210也通过管道106进行通信。服务通常是对其他程序提供支持的程序或例行程序。本例中服务接收器210定义一个接口,通过它,一个或多个收听模块212进行通信。收听模块212收听特殊设备在网络上的通告。例如收听模块212a可能是用于PnP设备的收听模块。PnP是一组说明,它允许计算机自动配置成能和诸如监示器,调制解调器和打印机的外设一起工作。这样,PnP收听模块212a在网络上收听与该网络连接的任一PnP设备的通告。或者,收听模块212b是收听专有设备的模块。例如,该收听模块是收听惠普(Hewlett Packard)扫描仪或其它设备。收听模块212与网络202通信并等待与网络连接设备的通告。继续用上述实例,如果网络上连接PnP设备200,则收听模块212a会发现网络通告,并识别该设备。然后收听模块212将通告通知服务接收器210。服务接收器210基于对新设备的知晓,确定是否已识别该设备,每台设备有一个用于识别的唯一的识别符ID。如果已经认出该设备的ID,则服务接收器210会确定是否还需要任何变更,例如该设备的IP地址。如果没识别该设备,则服务接收器请求创建该设备的逻辑表示。此功能由创建部件214完成。在微软视窗环境,设备的逻辑表示称作设备节点。这样,在微软视窗环境中,创建部件214将为已发现的设备创建一个设备节点。
一旦创建了设备节点,该设备的逻辑表示就向计算机显现,且该计算机理解该设备被连接。由此,把该设备处理为很像一台本地连接设备,创建部件214与核心安装部件216通信。在PnP实例中,部件216是PnP子系统。部件216以用户模式与设备安装程序218通信。设备安装程序可以是视窗图象采集(WIA)级安装程序或协同设备和该设备的驱动程序安装的其他工具性程序。这样,设备安装程序218会为任何新近附加的或发现的网络设备安装一个驱动程序。一旦安装了驱动程序,给另一个服务220广播一条消息。服务220是一个应用程序,它装载通信专用库,并知道如何与各种设备说话。它还提供一个通信用的接口。在视窗操作系统,将服务220称作WIA服务。服务220将广播消息通知给操作系统中运行的所有应用程序222,消息通知一个新设备已经来到并且被连上了。示范应用程序222可包括任意多个软件应用程序。一旦接到消息,服务220也会找到与新近通知和发现的设备有关的合适驱动程序224。然后要装载这合适的驱动程序。装载的驱动程序224知道如何与相关设备200说话以及通过管道206进行通信。此时,在计算机看来,设备200等同于物理连接的本地设备。因此,该设备也能和本地连接设备一样,受到同等程序的控制和管理。
图3表示一张简化流程图,说明图2中部件采用的基本方法。讨论过图3的流程后,将参照图2叙述更为详细的流程。在图3中,如步骤300所示,用户将设备连入网络。设备连好后,本发明方法会确定该设备是否被自动发现,如步骤302所示。计算机系统能自动发现现代网络设备的数量的不断增加。但是,现在仍在使用的老识别有时不能被自动发现。如果该设备不能被自动发现,则计算机提示用户加入设备,如步骤304所示。例如,能用引导程序(Wizard)或其它求助工具指导用户安装设备。作为此进程的一部分,用户会选择和提供用户想安装的设备制造商和型号的设备,如步骤306所示。此外,如步骤308所示,用户还要输入该设备的定址信息。
然而,如果设备不是自动可发现的,则当连入网络时,会受到检测,如步骤310所示。此检测是通过操作系统软件或其他第三方售出软件实现。当设备在步骤310被测时,通过从设备得到它的定址信息和设备描述,本发明方法继续,如步骤312所示。在步骤312和308之后,在步骤314创建新连接设备的逻辑表示。在微软视窗环境,用PnP子系统创建设备节点。随着设备节点的创建,安装部件安装该设备的相关驱动程序,如步骤316所示。装入驱动程序且通知用户该设备等待使用,如步骤318所示。
参照图2,能更详细了解此流程。在图2中,用户将设备200连到网络202,对于自动可发现设备,通过在网络发送消息,设备自身通知,这些消息快速传过总线栈204和管道206,到达相关的收听模块212。收听模块212通知服务接收器210设备已经到达。然后服务接收器210向操作系统报告该设备已经到达,并请求由部件214创建该设备的逻辑表示。在微软视窗例中,由部件214创建设备节点。服务接收器210,以用户模式,通过管道206和网络栈204传入核心模式,并请求创建一个设备节点。这样,事实上服务接收器起着很像一个总线计数器的作用,但不以用户模式进行。典型的总线计数器在核心的深处运作。用户模式服务接收器210造成不需要在特定总线上每连一次设备就写一次低级核心驱动程序。提供了一种发现联网设备的方法所以处于核心模式的总线驱动程序能保持很小。在比核心更高的级别定义发现该设备的机制。如上所述,核心层的修改和增加要比处于用户模式时的修改,通常更难予实施。创建部件是由操作系统提供的一种稀少的核心驱动程序,它允许调用它的任何人创建设备节点。
设备节点创建后,安装部件,如PnP子系统将初始化安装部件218,去安装设备200的驱动程序。该驱动程序一旦安装,新设备200已到达的消息立即通知到所有运行着的应用程序222。诸如WIA服务的服务220收到这通知消息,且找到和装入相应的驱动程序。然后被装入的驱动程序会与设备200通信,这样,建立了通向设备200的通信信道。此后,设备200表现为如同本地连到计算机的一个设备。这样,把联网设备处理为与计算机相连的任何其他一个硬件。例如,该设备的驱动程序能受到管理,以及计算机能为该设备搜索并安装升级的驱动程序,等等。因此,上述系统和方法适用于任何数量的联网设备,并可用更有意义的方式将它们并入现有的计算机系统。
虽然在此已对本发明的特定实施例作了说明和详细叙述,但是,应当理解只要不背离本发明的范围和意图,可以对本发明作各种修改和变动,这里叙述的实施例的在各方面的目的是例示性的,而不是限制性的。对于本专业的熟练的技术人员来说,与本发明有关但不背离其范围的可替换的实施例将是显而易见的。
从前文将看到连同对系统和方法的显而易见和固有优点,本发明是最适合获得上述所有目标和目的。将会明瞭某些特点和子组合是有用的,而且在采用时不必参照其他特点和子系统。这些将被仔细考虑并属于所附的权利要求中。
权利要求
1.一种用于支持联网硬件设备的计算机实施的方法,其特征在于,所示方法包括检测连接在网络上硬件设备的存在;得到所述连接设备的信息描述;以及基于所得信息,创建所述连接设备的逻辑表示。
2.如权利要求1所述的计算机实施方法,其特征在于,所述方法还包括为所述连接设备寻找和安装驱动程序。
3.如权利要求1所述的计算机实施方法,其特征在于,所述检测步骤是由服务完成的。
4.如权利要求1所述的计算机实施方法,其特征在于,所述检测步骤是在操作系统的用户模式中完成的。
5.如权利要求4所述的计算机实施方法,其特征在于,所述逻辑表示是设备节点。
6.如权利要求5所述的计算机实施方法,其特征在于,所述检测步骤还包括收听连接在所述网上的自动可发现设备的设备专用通告。
7.如权利要求1所述的计算机实施方法,其特征在于,所述硬件设备是数字成象设备。
8.一种具有处理器、存存储器和操作环境的计算机系统,其特征在于,所述计算机系统可操作执行如权利要求1所述的方法。
9.一种计算机可读介质,其特征在于,所述介质包括执行如权利要求1所述方法的指令。
10.一种为一台本地主机使用联网硬件设备的计算机实施方法,其特征在于,所述方法包括收听硬件设备和所述网络的连接;得到描述所述连接设备的信息;基于所述得到的信息,创建所述连接设备的逻辑表示;以及安装与所述连接设备相关的驱动程序。
11.如权利要求10所述的计算机实施方法,其特征在于,所述收听步骤是由服务完成的。
12.如权利要求11所述的计算机实施方法,其特征在于,所述描述信息是从用户得到的。
13.如权利要求11所述的计算机实施方法,其特征在于,所述描述信息是从自动可发现设备得到的。
14.如权利要求11所述的计算机实施方法,其特征在于,所述方法还包括通知所述用户所述联网设备的可利用性。
15.如权利要求10所述的计算机实施方法,其特征在于,所述收听步骤是在用户模式中完成的。
16.一种用于检测联网硬件设备的计算机实施的服务接收器,其特征在于,所述服务收听器包括至少一个收听模块部件,它包含接收表示硬件设备出现在所述网络上的消息的指令;以及包含为出现在所述网络上的所述硬件设备寻找和安装驱动程序指令的安装部件。
17.如权利要求16所述的计算机实施的服务接收器,其特征在于,所述收听模块包含接收表示特定级硬件出现在所述网络上的消息的指令。
18.如权利要求17所述的计算机实施的服务接收器,其特征在于,所述服务接收器是在用户模式中实施的。
19.如权利要求18所述的计算机实施的服务接收器,其特征在于,所述收听模块部件还包含为收到消息的任何硬件设备请求创建逻辑表示的指令。
20.如权利要求19所述的计算机实施的服务接收器,其特征在于,所述安装部件包含向所述计算上运行的应用程序通知所述联网硬件设备存在的指令。
全文摘要
为支持通过网络与计算机连接的硬件设备,提供一种计算机实施的方法和系统。在本方法中,检测连接在网络上设备的存在。然后,既可从该设备,也可以从用户得到描述该连接设备的信息。基于所得到的信息,创建该连接设备的逻辑表示。再后,寻找和安装该连接设备的驱动程序。此后,对该计算机来说,该联网硬件设备以与本地连接的硬件设备相同方式出现。
文档编号H04L29/06GK1573720SQ20041004748
公开日2005年2月2日 申请日期2004年5月28日 优先权日2003年5月29日
发明者O·罗森布鲁姆, V·萨多弗斯基 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1