网络设备的简易动态配置的制作方法

文档序号:6437214阅读:160来源:国知局
专利名称:网络设备的简易动态配置的制作方法
技术领域
本发明一般涉及计算机,尤其涉及网络化设备的控制和管理。
背景技术
即插即用(PnP)技术允许本地连接的设备被自动检测,并被配置成在计算机上操作。PnP功能被集成到计算机操作系统中以允许计算机检测新连接的外围设备,并向计算机系统安装并注册该设备。在PnP技术之前,例如,用户必须通过指定通信信道以及中断请求值(IRQ)来手动设置外围设备。PnP允许计算机在系统启动时检测新连接的设备、标识该设备并自动分配资源、并配置该设备以与计算机系统一起工作。另外,在PnP技术中,操作系统可在系统启动后检测添加到热总线(hot bus)(如,通用串行总线(USB)、PCMCIA总线…)或与其断开连接的外围设备。连接到局部或热总线的设备在首次设置之后直接可用于计算机系统。操作系统可包含关于特定设备的特定信息和驱动程序。在这一情况下,操作系统可在到达系统之时简单地自动设置设备。在其它情况下,可从诸如CD-ROM或因特网等另外的源来检索驱动程序和信息,以便于设置设备。一旦设置了设备,可在注册表中保存该设置,使得如果设备被移除并随后重新连接时,系统可检索设备设置并加载适当的驱动程序以启用操作系统和设备之间的交互。
有线和无线的网络化设备正在变得越来越普及,常规地,采用了多种不同的网络技术来管理并控制网络化设备。例如,通常使用基于以太网的网络打印协议来实现网络打印机。另一示例是X10网络协议,它用于使用电力线网络远程控制设备(如,电灯开关、摄影机…)。尽管这些技术允许远程地访问和控制设备,然而许多消费者没有利用网络设备的好处。消费者没有利用网络设备的一个可能的原因可以是潜在的用户仅仅认为设置家庭网络(如,用于自动化、网络计算或网络打印)太复杂。
因此,期望一种用于连接并控制网络化设备的简单且有效的系统和方法。这一系统和方法将有利于确保网络化设备如同使用PnP本地连接的设备一样易于找到、关联并使用。

发明内容
下文呈现了本发明的简化概述,以提供本发明的某些方面的基本理解。概述并非本发明的广泛综述。它并不意味着指明本发明的关键/决定性元素,或描绘本发明的范围。其唯一的目的是以简化的形式呈现本发明的某些概念,作为后文所呈现的更详细描述的前序。
揭示了一种网络设备配置系统和方法。网络设备配置系统动态并自动地安装或配置网络设备,由此减轻或完全消除了最终用户的负担。依照本发明的一个方面,提供了一种监控组件,以检测网络设备的到达和离开。为方便这一功能,监控组件可使用多个发现协议,如简单服务发现协议(SSDP)和web服务发现(WS-发现)协议来有效地查找出现有的网络设备,或监控网络的新到达的网络设备。
依照本发明的另一方面,网络设备可与一个或多个其它网络设备相关联,如个人计算机(如,台式机、膝上计算机、个人数字助理(PDA))。因此,依照一个方面,本发明可被视为用于令外围设备能够远程地连接到个人计算机(PC)的组件的集合。因此,系统可使用计算机局域网(有线或无线)来管道传送(tunneling)I/O。此外,依照本发明的另一方面,此处所揭示的系统可被配置成将PC外围设备空间延伸到非常规设备(如,消费者电子设备、家庭自动化…)。因此,个人计算机可管理并控制多种网络设备,包括非传统设备。
依照本发明的另一方面,可调节为直接连接的外围设备建立的操作系统的现有即插即用系统,以启用具有少量或没有用户交互的网络设备的简单且健壮配置。为此目的,依照本发明的一个方面,本发明能使符合通用即插即用(UPnPTM)的设备能够被集成到操作系统的即插即用子系统中。UPnPTM仅是定义如何在网络化设备之间传输信息的有线协议或体系结构。
除设备发现和关联之外,本发明的若干方面也支持信道安全、验证、设备控制和流传送或等时行为。
依照本发明的又一方面,提供了一种图形用户界面来方便健壮网络设备管理和配置。该界面提供了一种用于关联、搜索并组织本地网络设备的图形机制。
为实现上述和相关目的,此处结合以下描述和附图描述了本发明的某些说明性方面。这些方面指明了可实践本发明的各种方式,所有的方式都旨在由本发明覆盖。当结合附图考虑并阅读以下本发明的详细描述时,可以清楚本发明的其它优点和新特征。


阅读以下详细描述以及简要描述的附图,可以清楚本发明的上述和其它方面。
图1是依照本发明的一个方面的网络设备交互系统的示意性框图。
图2是依照本发明的一个方面的网络设备配置系统的示意性框图。
图3是依照本发明的一个方面的配置组件的示意性框图。
图4是依照本发明的一个方面用于查找设备驱动程序的系统的示意性框图。
图5是依照本发明的一个方面用于动态地配置网络设备的系统的示意性框图。
图6是依照本发明的一个方面用于关联设备的系统的示意性框图。
图7所示是依照本发明的一个方面的示例性图形用户界面。
图8所示是依照本发明的一个方面用于与网络设备进行交互的方法的流程图。
图9所示是依照本发明的一个方面用于配置网络设备的方法的流程图。
图10所示是依照本发明的一个方面用于配置网络设备的方法的流程图。
图11所示是依照本发明的一个方面的合适的操作环境的示意性框图。
图12所示是本发明可与其交互的示例计算环境的示意性框图。
具体实施例方式
现在参考附图描述本发明,贯穿整个附图,相同的标号标识相同的元件。然而,应当理解,附图及其详细描述并非将本发明局限在所揭示的具体形式。相反,本发明覆盖落入其精神和范围之内的所有修改、等效方案和替换方案。
如本发明中所使用的,术语“组件”和“系统”指计算机相关的实体,可以是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是,但不限于,运行在处理器上的进程、处理器、对象、可执行码、执行线程、程序和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可驻留在进程和/或执行线程内,并且组件可在一个计算机上本地化和/或分布在两个或多个计算机之间。
此外,可使用标准编程和/或工程技术将本发明实现为方法、装置或制造物品,以产生软件、固件、硬件或其任一组合。本发明所使用的术语“制造物品”(或可选地为“计算机程序产品”)旨在包含可从任一计算机可读设备、载体或媒体访问的计算机程序。当然,本领域的技术人员可认识到,可以在不脱离本发明的范围或精神的情况下对该配置作出许多修改。
转向图1,依照本发明的一个方面描述了网络设备交互系统100。系统100包括应用程序组件110、设备配置系统120和网络设备130。应用程序组件110可以是包括系统和应用软件(如,操作系统、文字处理应用程序…)的任一软件程序。有价值的应用程序组件110通常使用外围网络化设备。例如,文字处理程序可使用网络打印机来打印文档和/或报告。然而,应当注意,网络设备130可对应于可连接到网络的任一物理实体。因此,典型的网络设备可包括如打印机、扫描仪、复印机、个人数字助理(PDA)和所有类型的计算机(如,台式机、膝上计算机、袖珍PC…)。尽管如此,网络设备也可包括其它类型的消费者电子产品,包括但不限于,钟、洗碗机、冰箱、电子相框、洗衣机、哄干机、电灯开关、恒温器、电视机、机顶盒、DVD播放器和游戏机或控制台(如,XBox)。应用程序组件110可查找以向网络设备提供I/O控制命令。例如,当用户在下午5:30下班回家时,打开厨房电灯、将恒温器设置为华氏70°、打开电视机并转到具体的频道。为启用应用程序组件110和网络设备130之间的通信,网络设备必须被配置成与应用程序组件一起运行。
设备配置系统120配置网络设备110以与应用程序组件130一起操作。依照本发明的一个方面,配置系统120可加载设备驱动程序。驱动程序是便于与关联的设备进行通信的软件组件。网络设备具有其自己的专用指令或命令集,而应用程序采用与设备不同的命令来指定相同的功能。因此,设备驱动程序组件通过将应用程序命令映射到具体的设备指令来担当转换器的作用。设备驱动程序(此处也称为设备驱动程序包)可从计算机的本地数据存储加载、从因特网下载、从计算机可读媒质检索(如,CD-ROM、软盘)或从网络设备检索。配置系统120也可设置计算机系统中的注册表键或其类似物。注册表可以简单的是包含持有应用程序的配置信息的键(文件)的数据库。例如,键可与用户偏好、文件关联、对象链接和应用程序设置等相关联。配置系统120也可自动并动态为网络设备110分配资源,例如,为来自中央处理单元(CPU)的请求服务选择并设置中断请求线(IRQ)、选择并设置通信信道以及动态存储器访问(DMA)信道、以及分配存储器的一部分以由该设备使用。此外,应当理解,配置系统120也可执行任务,如将设备固件更新为以该设备驱动程序包装的较新的固件版本。一旦安装并配置了网络设备(如,通过将驱动程序复制到设备),关联的应用程序组件可使用该设备。在最初的配置之后,例如,可将网络设备设置(如,IRQ、DMA信道、分配的存储器…)保存在注册表中或别处。如果且当设备离开网络并随后重新连接时,可由配置系统120查找、检索并使用保存的信息,以迅速并自动地重启用该设备,例如以在计算机上与具体的应用程序组件130一起操作。
转向图2,依照本发明的一个方面揭示了一种网络设备配置系统200。配置系统200包括监控器组件210、网络220、网络设备222(设备1到设备N,其中,N是大于或等于1的整数)以及配置组件230。监控器组件210检测网络设备222的到达和/或离开。在到达时,网络设备222被检测到,并且配置组件230自动配置设备222以在计算机系统上操作。例如,配置组件230可加载设备驱动程序或驱动程序包、开放专用通信信道、保存注册表键并分配存储器以由设备222使用。在离开时,配置组件230可释放存储器位置和通信信道以由其它的设备222使用。随后,在网络设备重连接时,配置组件222可自动并迅速地配置该设备以正常操作。由此,系统210方便了网络设备222无缝集成到计算机系统中。例如,通过这一集成,用户可更容易地从其个人计算机配置、管理并访问网络化设备222。由此,最终用户能够购买网络化设备并以很少或没有配置来将它们连接到其家庭或企业网络。当连接到网络时,网络设备可直接工作。
监控器组件210查询网络220来分析向其连接的网络设备222。网络220可以是有线和/或无线局域网(LAN)。LAN是具有适度地理尺寸的网络,仅举几个例子,它通常用于办公室建筑物、家庭、仓库和校园。网络设备222可以是能够被网络化的任何电子或类似的设备(如,闹钟、电话、照相机、电视机、冰箱、洗衣机、烘干机、DVD播放器、数字音频接收器(DAR)、个人数字助理(PDA)、计算机(台式机、膝上电脑、掌上电脑)、寻呼机、移动电话、打印机、扫描仪、复印机、机顶盒、游戏机、电子图片…)。网络化设备222可有线(如,双绞线、光纤、同轴电缆、电力线…)和/或无线(如,IEEE 802.11a、802.11b、802.11g、红外、无线电、蓝牙、卫星…)与网络220进行通信。监控器组件210可通过使用或查询一个或多个发现协议或插件来检测网络设备222的到达和/或离开。例如,监控器组件可采用简单服务发现协议(SSDP)来检测UPnP设备,并使用web服务发现(WS发现)协议来标识WS-发现/WS-描述设备。应当理解,可以主动或被动方式或其组合来使用发现协议。当以主动方式使用时,发现协议搜索连接到网络220上的现有设备。在被动监控系统中,发现协议仅倾听新到达的设备宣告其在网络220上的存在。此外,这些和其它协议不仅可指示网络设备的存在,也可收集可用于配置设备的关于设备的元数据(如,使用SSDP、HTTP和XML分析)。
配置组件230从监控器组件210接收关于连接的网络设备222的通知和元数据。网络设备元数据可包括但不限于,诸如硬件id、兼容性id、实例id、友好名、传输地址、验证参数和父实例id等信息。硬件id和兼容性id可由配置组件230用于标识用于设备安装的文件。实例id唯一地标识网络设备。友好名(如,主卧电视)可用于用户与设备的交互。传输地址可由驱动程序和中间设备用于联系该设备。验证参数可用于确定必须执行哪些验证(后文更详细讨论)。在通知最近添加的网络设备并接收关联的元数据之后,配置组件可继续自动安装并配置该网络设备。使用诸如硬件id和兼容性id等元数据信息,配置组件可查找计算机系统上的设备文件,并检索配置信息,包括但不限于要被复制的驱动程序文件和注册表键。如果计算机系统具有适当的驱动程序文件,将自动加载这些文件。如果文件不在计算机系统上(如,硬盘驱动程序),则可从因特网(如果已连接)上下载驱动程序文件,或可要求用户插入包含期望的文件的计算机可读媒质(如,光盘(CD)或软盘)。随后,加载驱动程序文件并配置设备特性和设置(如,分配系统资源、IRQ、通信端口…)。
图3依照本发明的一个方面示出了配置组件230。配置组件230包含关联组件310、枚举器组件320、PnP系统330以及PDO组件322和FDO组件332。关联组件310建立设备和计算机之间的关系(如,主—从)。这一关系通常由虚拟或物理连接为本地设备建立;然而,这不适用于附加的网络设备。另外,关联组件310可包括可防止对设备的未授权访问的验证组件312。验证组件312提供一种安全机制来确保仅关联的设备具有对网络设备的访问。例如,为使设备能够被关联,用户必须输入个人标识号(PIN)或通过某一其它的机制建立置信度。诸如证书等验证组件312提供的额外的安全机制在后文讨论。一旦成功地关联,设备随后可验证其本身,而无需用户标识。枚举器组件320在发现并关联设备之后生成一物理设备对象(PDO)组件322。PDO组件322向各种驱动程序和软件组件表示设备。PDO组件322可提供软件组件,尤其关于设备的状态(如,打开、关闭、挂起)的信息等等。因此,PDO组件322从各种其它软件组件(如,操作系统)抽象设备硬件I/O,并方便了与设备的交互。枚举器组件320将创建的PDO组件322传递到即插即用(PnP)系统330。PnP系统330协调硬件设备、设备驱动程序和计算机操作系统软件之间的交互。在接收PDO组件322之后,PnP系统300可检索储存在PDO中关于具体网络设备的信息,并使用该唯一的信息来查找与该PDO组件322关联的设备驱动程序。一旦找到了驱动程序,它被加载或执行,并生成可用于管理网络设备的功能的功能设备对象组件332。因此,应用程序可与功能设备对象组件进行交互来指定设备操作。
转向图4,依照本发明的一个方面示出了用于查找网络设备驱动程序的系统400。系统400包括驱动程序安装管理组件410、设备PDO组件420、信息组件430、驱动程序存储440和定位的驱动程序组件450。驱动程序组件450包含涉及与其关联的网络设备的正确安装和配置的信息。驱动程序组件450可包括动态链接库(DLL)、安装程序、协安装程序、应用程序或任何其它类型的文件。驱动程序安装管理组件410检索与具体的设备关联的驱动程序组件450。驱动程序安装管理组件410接收或检索设备PDO组件420。如上所述,可在检测到设备到达网络时生成设备PDO组件420。PDO组件420表示网络总线上的设备。PDO组件可包括关于设备的唯一信息,如硬件id和/或兼容性id。在接收PDO组件420之后,安装管理组件410可从PDO组件420检索诸如硬件id等唯一设备信息。驱动程序安装管理组件410可使用该唯一信息,并且信息组件430可确定设备的合适配置。信息组件410(如,INF文件或数据库)可担当设备配置信息的存储库。配置信息可包括但不限于,驱动程序组件和注册表键。这些配置信息可以方便信息的快速查找的方式排列。例如,配置可与硬件id关联地储存。因此,安装管理组件410可使用或向信息组件430提供检索的硬件id,信息组件430可检索设备的合适的配置信息。例如,可向安装管理组件通知合适的驱动程序组件的身份。安装管理组件随后可从驱动程序存储装置440检索驱动程序。驱动程序存储装置440可本地或远离计算机储存。在某些情况下,计算机可本地储存这些驱动程序,然后不能保证每一可能的网络设备的所有驱动程序都由如操作系统制造商本地储存。因此,例如,驱动程序储存可远程地位于集中式服务器上或与设备制造商关联的服务器上。驱动程序安装管理组件410可用于从远程地定位的服务器检索驱动程序组件和其它安装或配置信息(如,补丁、注册表键)。此外,依照本发明的一个方面,安装管理组件410可查找本地网络设备上的驱动程序存储。例如,网络上的另一驱动程序可具有必需的驱动程序组件,而与安装的驱动程序关联的计算机上不具备这一驱动程序组件。在这一情况下,管理组件410可从其它计算机接收或检索这一驱动程序组件。另外,应当注意,要安装或配置的组件可本地储存必需的驱动程序,并且驱动程序安装管理组件可从其检索驱动程序组件。此外,也应当理解,驱动程序存储440也可以是容纳合适的驱动程序组件450的计算机可读媒质(如,CD、DVD、软盘、存储卡、…)。
图5依照本发明的一个方面示出了用于动态地配置网络设备的系统500。系统500包括监控器组件210、网络功能设备对象(网络FDO)组件510、总线枚举器组件320、网络设备物理设备对象(设备PDO)520、设备驱动程序组件450以及网络设备功能设备对象(设备FDO)组件530。监控器组件210细察网络来确定新添加或离开的网络设备。为方便这一功能,可提供一网络FDO组件510。网络FDO组件510可向监控器组件510展现网络功能。例如,网络FDO组件510可启用发现协议来扫描网络节点。在发现新网络设备之后,可采用总线枚举器组件320来生成一设备PDO组件530。设备PDO组件530可包括描述网络设备和设备状态的信息。设备安装管理组件410(图4)然后可使用设备PDO组件530来查找并检索与网络设备关联并因此与设备PDO组件530关联的设备驱动程序组件450。设备驱动程序组件450可生成一与网络设备关联的设备FDO组件。设备FDO组件530可向期望控制该网络设备的一个或多个应用程序或应用编程接口(API)展现网络设备的功能。例如,如果网络设备是闹钟,则设备FDO组件530可展现用于设置时间并设置闹铃的服务。因此,可开发使用设备FDO组件530以在检测到停电的出现之后自动将闹钟上的时间设置成当前时间的应用程序。
转向图6,依照本发明的一个方面描述了用于关联网络设备的系统600。系统600包括监控器组件210、关联接口组件610和关联组件310。通过通用串行总线(USB)或某些其它的总线(如,PCI、PCMCIA)本地连接的设备固有地与计算机关联。由此,如果打印机通过USB电缆直接连接到计算机,则它与该计算机关联。对于网络设备并不如此。因此,当网络设备连接到网络上时,可给予用户选择诸如计算机等关联的网络设备的机会。在检测到网络上新网络设备的到达(如,使用网络发现协议)之后,监控器组件210可采用关联接口组件610来确定向其关联新到达的设备的另一网络设备。关联接口组件610也可用于收集关于网络的带外验证数据。例如,为关联打印机,用户可能需要核实该关联应当通过输入4位数字来完成。这是使用共享密钥的一个示例。然而,随后的引导程序(bootstrapping)进程可交换可用于建立安全、验证信道的更健壮的机密。例如,可采用基于证书的凭证,如设备证书(如,可信认证授权机构(CA)、制造商、网络管理员、自签名)或计算机证书(如,可信CA、网络管理员、自签名)。此外,当安全是真实的问题时,可通过加密建立安全信道或虚拟电缆。关联接口组件610可依赖于设备和计算机之间的已协商验证方法。然而,依照本发明的一个方面,关联接口组件610可被设计成跨所有验证方法和协议尽可能地统一。依照本发明的一个方面,关联接口组件可以是本领域已知的图形用户界面。具体地,图形用户界面可具有图形对象(如,按钮、菜单、进度条…),用于用户选择等,包括但不限于发现的设备的关联。然而,应当理解,界面也可仅是基于文本的或图形和文本的组合。关联接口组件610可向关联组件提供关联信息,用于储存和正确执行。此外,应当理解,用户可在初始的验证时通过某些步骤。一旦成功地完成,设备可验证其自身,而将来无需另外的用户干涉。例如,设备可被认为是可信的,并且相应的凭证可储存在关联的计算机和设备上。由此,如果监控器组件210例如通过检查其自己的内部数据库或关联的组件310的数据库确定该设备先前未见过,则可采用关联接口组件610来设置一个或多个关联。然而,如果设备被标记为“可信”(即,它先前被成功地验证),则不需要任何用户交互,这至少是由于该设备在前一时刻已被成功验证并授权。当网络设备被安装和配置、从网络上移除并随后重连接时,可出现这一情况。另一方面,如果发现设备被标记为不可信或验证或安装失败,则可将设备标记为忽略,并放弃任何关联提议。
此外,应当理解,例如,可启用与共享网络设备(如,打印机、照相机…)的两个或多个计算机的设备共享。本发明的系统也可被配置成允许按需求改变设备关联(如,用于多功能打印机和照相机)。再者,该系统可被配置成执行设备聚集、例如,可聚集多个设备以创建更丰富的最终用户体验。由此,多个web照相机可被聚集成单个更大的虚拟web照相机(即,从较小的个别web照相机图像形成单个大图像)。
转向图7,依照本发明的一个方面描述了一个示例性图形用户界面700。如果网络设备与计算机相关联,则操作系统可向用户显示可用的网络设备(如,在线的那些网络设备)。界面700示出了可向用户显示网络设备的一种方式。网络设备710可在窗格中的“Associated Network Devices(关联的网络设备)”标题下显示,在该窗格中还有诸如本地可移动存储设备720和硬盘730。显示的图标表示在该示例性系统上,网络设备包括打印机、掌上导向器和膝上电脑。应当理解,可个别示出网络设备或在逻辑上分组(如,打印机组、照相机组)。此外,然后可使用定位设备(如,鼠标、触摸板、跟踪球、触摸屏、输入笔…)来选择设备图标。在选择之后,可显示设备特性,包括但不限于名称、类型、型号、位置和状态。显示的图标可担当网络设备的代理,因此例如可通过删除或移除设备图标来操纵设备关联。另外,应当理解,图形用户界面700可支持虚象建立(ghosting)和虚象解除(un-ghosting)。例如,当用户将其膝上电脑从家里带到办公室时,该设备不再对家庭局域网可用。因此,用户界面700可示出网络设备在家庭网络中,但是给予它建立虚象的可视外观。当用户将其膝上电脑带回家庭网络时,可解除图标的虚象来指示该膝上电脑对网络的可用性。再者,界面700可提供一种方便搜索网络设备的机制(未示出)。例如,假定用户刚购买了一个新的蓝牙移动电话,并希望将其与他的个人计算机配对或关联。他访问该用户界面但是没看见显示的设备。用户可使用搜索机制或任务来查找电话。系统然后可以开始以可用设备填充该界面,应用过滤器以确保仅显示移动电话。此后,例如,用户可在搜索结果中查找其电话,并可将其添加到默认设备。
呈现了界面700来便于讨论图形用户界面。本领域的技术人员应当注意并理解,有各种方式来设计图形界面。例如,在选择之后网络设备旋转或转动到视图时,可以圆盘的布置来显示网络设备。因此,揭示的界面是示例性的,并不意味着以任一方式限制本发明的范围。
鉴于上文所描述的示例性系统,参考图8-10的流程图可以更好地理解依照本发明实现的方法。尽管为说明的简化目的,将方法示出和描述为一系列块,然而,可以理解并了解,本发明不被块的顺序所限制,依照本发明,从本发明的描述可知,某些块可以不同的顺序和/或与其它块并发地出现。此外,依照本发明,并非所有所示的块都需要用来实现本方法。
另外,还应当理解,后文及贯穿本说明书所揭示的方法能够储存在制造物品上,以便于向计算机传输并转移这些方法。使用的术语制造物品旨在包含可从任何计算机可读设备、载体或媒体访问的计算机程序。
图8描述了依照本发明的一个方面用于与网络设备交互的方法800。在810,检测到网络设备的到达。当通过线缆(如,双绞线、光纤、同轴电缆、电力线…)物理地连接到网络,或进入无线网络(如,IEEE 802.11a、802.11b、802.11g、红外、无线电、蓝牙、卫星…)的地理距离中时,网络设备到达网络。网络设备的检测可使用诸如简单服务发现协议(SSDP)和web服务发现(WS-发现)协议来实现。此外,检测可以是主动或被动的。例如,在主动的情况下,信号可以是网络上需要网络设备的响应的广播。在被动的情况下,发现协议可仅倾听网络并等候由设备通知其到达。在830,可自动配置网络设备。一般而言,配置可包括将设备与一个或多个网络设备关联,并加载与具体的网络设备关联的驱动程序组件。依照本发明的一个方面,设备可与个人计算机关联,它自动并动态地加载驱动程序组件并向计算机用户展现设备的功能。例如,如果新网络打印机连接到本地网络,则其到达可由多个发现协议的其中之一检测到。例如,打印机随后可与计算机关联。下一步,计算机可从本地存储加载驱动程序,或从远程存储(如,web服务器)检索并加载它。结果是计算机可使用该打印机,而需要很少或不需要用户的干涉。
图9示出了依照本发明的一个方面用于配置网络设备的方法900。在910,将网络设备与一个或多个其它网络设备关联。依照本发明的一个方面,网络设备与个人计算机关联。在920,查找与该网络设备关联的驱动程序组件。驱动程序组件包含涉及与其关联的网络设备的正确安装和配置的信息。驱动程序组件可包括动态链接库(DLL)、安装程序、协安装程序、应用程序或任何类型的文件。驱动程序可连同诸如个人计算机的本地存储中、远程服务器(如,制造商的web服务器、集中式驱动程序服务器)上的关联的网络设备一起位于与要配置的设备关联的本地存储中,或在任何其它网络设备中。在930,检索驱动程序组件。例如,可从远程服务下载驱动程序组件,或从网络设备检索。在940,加载或安装驱动程序组件来配置网络设备,并向关联的网络设备展现设备的功能。
转向图10,依照本发明的一个方面示出了用于配置并安装网络设备的方法1000的流程图。在1010,检测到网络设备的到达。如上所述,可使用诸如SSDP或WS发现等若干发现协议的其中之一细察该网络设备来确定设备的到达。此外,检测可以是主动或被动的。在1020,将设备与一个或多个其它网络设备(如,个人计算机)相关联。在1030,生成一物理设备对象组件。物理设备对象组件向驱动程序和其它软件表示网络设备。物理设备对象提供的信息包括但不限于,销售商名称、设备友好名和设备id。提供的信息足以查找关联的驱动程序组件。在1040,至少部分地基于物理设备对象组件所提供的信息查找与该网络设备关联的驱动程序组件。在1050,使用驱动程序组件来生成一向应用程序和/或应用编程接口(API)展现该设备的功能的功能设备对象组件。最后,在1060,在网络设备和关联的网络设备(如,个人计算机)之间建立通信的安全信道。例如,可采用各种加密技术来确保通信的安全性。
为向本发明的各方面提供环境,图11和12以及以下讨论旨在提供在其中可实现本发明的各方面的合适的计算环境的简要、一般描述。尽管上文在运行在一个和/或多个计算机上的计算机程序的计算机可执行指令的一般上下文中描述了本发明,然而本领域的技术人员将认识到,本发明也可结合其它程序模块实现。一般而言,程序模块包括例程、程序、组件、数据结构等,执行特定的任务和/或实现特定的抽象数据类型。此外,本领域的技术人员可以理解,本发明的方法可以采用其它计算机系统配置来实践,包括单处理器或多处理器计算机系统、小型机设备、大型机以及个人计算机、手持式计算设备、基于微处理器或可编程消费者电子设备等等、所示出的本发明的各方面也可在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
参考图1,用于实现本发明的各方面的示例性环境1110包括计算机1112。计算机1112包括处理单元1114、系统存储器1116和系统总线1118。系统总线1118将包括但不限于系统存储器1116等系统组件耦合至处理单元1114。处理单元可以是各种可用处理器的任一个。也可采用双微处理器和其它多处理器体系结构作为处理单元1114。
系统总线1118可以是若干类型总线结构的任一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用任一多种可用总线体系结构的局部中线,包括但不限于11位总线、工业标准体系结构(ISA)、微通道体系结构(MSA)、扩展ISA(EISA)、智能驱动程序电子设备(IDE)、VESA局部总线(VLB)、外围部件互连(PCI)、通用串行总线(USB)、先进图形端口(AGP)、个人计算机存储卡国际协会(PCMCIA)和小型计算机系统接口(SCSI)。
系统存储器1116包括易失存储器1120和非易失存储器1122。基本输入/输出系统(BIOS)包含如在启动时帮助在计算机1112的元件之间传输信息的基本例程,储存在非易失存储器1122中。作为说明而非局限,非易失存储器1122包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失存储器1120包括随机存取存储器(RAM),担当外部高速缓冲存储器。作为说明而非局限,RAM以许多形式可用,如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)和直接存储器总线RAM(DRRAM)。
计算机1112也包括可移动/不可移动、易失/非易失计算机存储媒质。例如,图11示出盘存储1124。盘存储1124包括但不限于,诸如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒。另外,盘存储1124可包括单独或与其它存储媒质组合的存储媒质,包括但不限于,光盘驱动器,如光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)。为方便将盘存储设备1124连接到系统总线1118,通常使用可移动或不可移动接口,如接口1126。
可以理解,图11描述的软件担当用户和操作环境1110中描述的基本计算机资源之间的中间人的作用。这类软件包括操作系统1128。操作系统1128可储存在盘存储1124上,控制并分配计算机系统1112的资源。系统应用程序1130利用操作系统1128通过储存在系统存储器1116或盘存储1124上的程序模块1132和程序数据1134对资源的管理。可以理解,本发明可以使用各种操作系统或操作系统的组合来实现。
用户通过输入设备1136向计算机1112输入命令或信息。输入设备1136包括但不限于,诸如鼠标、跟踪球、输入笔、触摸板的定位设备、键盘、麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机、web相机等等。这些和其它输入设备通过系统总线1118经接口端口1138连接到处理单元1114。接口端口1118包括,例如,串行端口、并行端口、游戏端口和通用串行总线(USB)。输出设备1140使用某些与输入设备1136同一类型的端口。由此,例如,USB端口可用于向计算机1112提供输入,并从计算机1112向输出设备1140输出信息。提供了输出适配器1142以说明有某些输出设备1140,如监视器、扬声器和打印机等需要特殊适配器等输出设备1140。作为说明而非局限,输出适配器1142包括提供输出设备1140和系统总线1118之间的连接手段的视频和声音卡。应当注意,其它设备和/或设备系统提供输入和输出能力,如远程计算机1144。
计算机1112可在使用到一个或多个远程计算机,如远程计算机1144的逻辑连接的网络化环境中操作。远程计算机1144可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器装置、对等设备或其它公用网络节点等等,并通常包括所描述的与计算机1112有关的许多或所有元件。为简明目的,仅示出远程计算机1144具有存储器存储设备1146。远程计算机1144通过网络接口1148逻辑地连接到计算机1112,然后通过通信连接1150物理地连接。网络接口1148包含通信网络,如局域网(LAN)和广域网(WAN)。LAN技术包括光纤分布数据接口(FDDI)、铜缆分布式数据接口(CDDI)、以太网/IEEE 802.3、令牌环/IEEE802.5等等。WAN技术包括但不限于,点对点链路、诸如综合业务数字网络(ISDN)及其各种变异等电路交换网、分组交换网和数字用户线(DSL)。
通信连接1150涉及用于将网络接口1148连接到总线1118的硬件/软件。尽管为说明性清晰的目的示出了计算机1112内部的通信连接1150,然而它也可以对计算机1112是外部的。仅为示例目的,连接到网络接口1148所必需的硬件/软件包括内部和外部技术,如包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器等的调制解调器、ISDN适配器和以太网卡。
图12是本发明可与其交互的示例计算环境1200的示意性框图。系统1200包括一个或多个客户机1210。客户机1210可以是硬件和/或软件(如,线程、进程、计算设备)。系统1200也包括一个或多个服务器1230。服务器1230也可以是硬件和/或软件(如,线程、进程、计算设备)。例如,服务器1230可容纳线程以通过采用本发明来执行变换。客户机1210和服务器1230之间的一个可能的通信可以适用于在两个或多个计算机进程之间传输的数据包的形式。系统1100包括可用于方便客户机1210和服务器1230之间的通信的通信框架1250。客户机1210可操作地连接到可用于储存对客户机1210本地的信息的一个或多个客户机数据存储1260。类似地,服务器1230可操作地连接到可用于储存对服务器1230本地的信息的一个或多个服务器数据存储1240。
上文所描述的内容包括本发明的示例。当然,不可能为描述本发明的目的而描述组件或方法的每一可考虑到的组合,但是本领域的普通技术人员可认识到,本发明的许多其它的组合和改变都是可能的。因此,本发明旨在包含落入所附权利要求书的精神和范围之内的所有这样的替换方案、修改和变化。此外,在详细描述或权利要求书中使用了术语“包括”的意义上,该术语以类似于当在权利要求书中用作过渡词语时所解释的术语“包含”类似的方式是包括性的。
权利要求
1.一种网络设备交互系统,其特征在于,它包括一应用程序组件,它试图使用网络设备;以及一配置系统,它自动配置所述网络设备以与所述应用程序组件一起操作。
2.如权利要求1所述的系统,其特征在于,所述网络设备的配置包括加载与所述设备关联的驱动程序。
3.如权利要求2所述的系统,其特征在于,所述系统的配置还包括设置一个或多个注册表键。
4.如权利要求2所述的系统,其特征在于,所述设备驱动程序从一本地数据存储中加载。
5.如权利要求2所述的系统,其特征在于,所述设备驱动程序通过因特网下载。
6.如权利要求2所述的系统,其特征在于,所述设备驱动程序从所述网络设备接收。
7.如权利要求2所述的系统,其特征在于,所述设备驱动程序从一计算机可读媒质中检索。
8.如权利要求2所述的系统,其特征在于,所述设备驱动程序从一局域网上的计算机中检索。
9.如权利要求2所述的系统,其特征在于,所述网络设备的配置还包括将所述设备固件更新到包装在所述设备驱动程序中的较新的固件版本。
10.如权利要求2所述的系统,其特征在于,所述网络设备的配置还包括将最近或当前的设备驱动程序包的副本写到所述网络设备上。
11.一种网络设备配置系统,其特征在于,它包括一监控器组件,它监控局域网上网络设备的到达;以及一配置组件,它自动配置由所述监控组件检测到的网络设备以结合计算机系统进行操作。
12.如权利要求11所述的系统,其特征在于,所述网络设备是无线设备。
13.如权利要求11所述的系统,其特征在于,所述网络是电力线网络。
14.如权利要求11所述的系统,其特征在于,所述监控器组件使用简单服务发现协议(SSDP)来检测网络设备的到达。
15.如权利要求11所述的系统,其特征在于,所述监控组件使用web服务发现(WS-发现)协议来检测网络设备的到达。
16.一种动态网络设备配置系统,其特征在于,它包括一关联组件,它指定所述网络组件与至少一个其它活动网络组件之间的关联;一枚举器组件,它生成一提供关于要被配置的所述设备的信息的物理设备对象(PDO)组件;一PnP系统,它使用所述PDO组件来生成一向关联的网络组件展现设备功能的功能设备对象(FDO)组件。
17.如权利要求16所述的系统,其特征在于,所述PnP系统包括一驱动程序安装管理组件,它接收所述PDO组件并查找生成所述PDO组件的驱动程序组件。
18.如权利要求16所述的系统,其特征在于,所述安装管理组件使用来自所述PDO组件的关于所述网络设备的抽象信息,并将此数据映射到一信息组件以确定与所述设备关联的驱动程序组件。
19.如权利要求18所述的系统,其特征在于,所述驱动程序组件从一数据存储装置检索并加载。
20.如权利要求16所述的系统,其特征在于,所述关联组件包括一验证组件,以确保对网络设备的访问被局限于关联的网络设备。
21.一种与网络设备进行交互的方法,其特征在于,它包括检测本地网络上设备的到达;以及在检测之后自动配置所述设备。
22.如权利要求21所述的方法,其特征在于,它使用简单服务发现协议来检测所述网络设备的到达。
23.如权利要求21所述的方法,其特征在于,它使用web服务发现(WS-发现)来检测所述网络设备的到达。
24.如权利要求21所述的方法,其特征在于,配置所述设备包括加载与所述设备关联的驱动程序。
25.如权利要求18所述的方法,其特征在于,配置所述设备包括将设备与至少一个其它网络设备相关联。
26.一种在其上储存了用于实现权利要求24所述的方法的计算机可执行指令的计算机可读媒质。
27.一种配置网络设备的方法,其特征在于,它包括将网络设备与至少一个其它已安装网络设备相关联;查找与所述网络设备关联的驱动程序组件;检索所述驱动程序组件;以及加载所述驱动程序组件以方便所述网络设备的安装。
28.如权利要求27所述的方法,其特征在于,所述至少一个其它网络设备是个人计算机。
29.如权利要求28所述的方法,其特征在于,查找驱动程序组件包括搜索所述计算机的本地数据存储装置。
30.如权利要求28所述的方法,其特征在于,查找驱动程序组件包括搜索远程服务器。
31.如权利要求30所述的方法,其特征在于,搜索远程服务器通过因特网来实现。
32.如权利要求27所述的方法,其特征在于,所述驱动程序组件是从所述网络设备中检索的。
33.如权利要求27所述的方法,其特征在于,所述驱动程序组件是从所述关联的网络设备中检索的。
34.一种在其上储存了用于实现权利要求27所述的方法的计算机可执行指令的计算机可读媒质。
35.一种网络设备的动态配置的方法,其特征在于,它包括检测网络上网络设备的到达;创建一表示所述设备的物理设备对象组件;查找与所述设备关联的驱动程序组件;使用所述驱动程序组件来生成一向应用程序展现所述设备功能的功能设备对象。
36.如权利要求35所述的方法,其特征在于,它还包括将所述网络设备关联到一个或多个活动的网络设备。
37.如权利要求36所述的方法,其特征在于,所述一个或多个网络设备的其中之一是个人计算机。
38.如权利要求36所述的方法,其特征在于,它还包括在所述网络设备和所述其它一个或多个网络设备之间建立一安全通信信道。
39.如权利要求35所述的方法,其特征在于,所述物理设备对象组件提供关于网络设备的标识和状态信息。
40.一种在其上储存了用于实现权利要求35所述的方法的计算机可执行指令的计算机可读媒质。
全文摘要
本发明涉及一种用于配置并管理网络设备的系统和方法。网络上设备的到达(和离开)可由监控器检测。在检测之后,如通过自动加载设备驱动程序并为设备分配资源,可以简单并动态地配置网络设备,而只需很少或不需要任何最终用户干涉。此外,网络设备可与诸如个人计算机等其它网络设备相关联,以方便网络设备与计算机操作系统的无缝集成。
文档编号G06Q50/00GK1617515SQ200410089859
公开日2005年5月18日 申请日期2004年10月27日 优先权日2003年10月27日
发明者D·A·萨瑟, G·西蒙内特, J·M·盖尔森, K·A·贾夫, R·A·莱普, R·J·阿亚拉, S·J·钱, T·W·库内尔, W·G·帕里 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1