用于目标和未连接的设备的驱动程序安装的制作方法
【专利说明】
【背景技术】
[0001]计算设备通常包括可以被不时地更新的各种功能。例如,计算设备的部件设备(例如,图形卡、数据存储设备、输入设备等)可以与使得部件设备能够在计算设备的背景下运行的设备驱动程序相关联。与部件设备相关联的制造商或其它实体可以发布针对设备驱动程序的更新,诸如以改正软件错误,解决兼容性问题,增强部件设备的功能等。可以将该更新安装在计算设备上以替换或增补设备驱动程序的先前版本。
【发明内容】
[0002]提供本
【发明内容】
是为了以简化形式介绍下面在详细描述中进一步描述的概念的选择。本
【发明内容】
并不意图识别要求保护的主题的关键特征或本质特征,其也不意图用作确定要求保护的主题的范围的辅助。
[0003]在本文中提出了用于安装和更新的部件设备驱动程序的技术,其可改善这些过程的自动发起、执行和/或完成。根据这些技术,当驱动程序或更新可用于可连接设备时,操作系统可在设备不存在时(例如,从计算设备断开连接)获得并安装驱动程序。在某些情况下,可从可存储用于设备的驱动程序的网络可访问更新服务获得驱动程序。操作环境还可在设备从计算设备断开连接的同时用已更新驱动程序来替换用于先前连接设备的当前驱动程序,或者为先前未被连接到计算设备的设备安装驱动程序。以这种方式,操作环境可在部件设备被连接到计算设备时在更经济地使用用户的注意力并改善用户体验的同时检索用于设备的驱动程序和更新。
[0004]在某些实施例中,设想了用于管理可连接到计算设备的设备驱动程序的一个或多个方法。方法可包括但不限于请求用于可连接到计算设备的一个或多个设备的一个或多个驱动程序并作为响应而接收驱动程序更新集合。驱动程序更新集合可包括用于在该请求时被从计算设备断开连接的设备的一个或多个驱动程序。该方法还可包括在计算设备上安装用于断开连接设备的驱动程序并将驱动程序配置成在断开连接设备被计算设备检测到时激活。
[0005]还可提供一种存储用于管理设备驱动程序的指令的计算机可读存储介质。该指令在被执行时可促使计算设备执行一种方法,其包括从更新服务请求用于可连接到计算设备的一个或多个设备的一个或多个驱动程序。从更新服务请求驱动程序可包括编译存储在计算设备上的设备驱动程序列表。该驱动程序列表可包括用于在请求时被从计算设备断开连接的一个或多个设备的驱动程序、用于从未被连接到计算设备的一个或多个设备的驱动程序以及驱动程序的驱动程序版本信息。还可确定一个或多个计算设备属性并与设备驱动程序列表一起发送到更新服务。作为响应,可接收设备驱动程序更新集合,并且该集合可包括用于断开连接设备的至少一个驱动程序。该方法还可包括在计算设备上安装用于断开连接设备的驱动程序,并将用于断开连接设备的驱动程序配置成当由计算设备检测到该断开连接设备时激活。
[0006]还可设想用于管理设备驱动程序的一个或多个附加方法。该方法可包括但不限于接收针对可连接到计算设备的一个或多个设备的设备驱动程序更新的请求。连同该请求一起,可接收计算设备系统说明。该系统说明可包括关于断开连接设备的驱动程序的信息。该方法可将系统说明与存储的驱动程序信息相比较,并获得包括用于断开连接设备的驱动程序的驱动程序更新集合。该方法还可确定设备驱动程序是否可用于先前未被连接到计算设备的设备。该确定可基于包括在系统说明中的计算设备属性。如果驱动程序可用于先前未被连接到计算设备的设备,该方法可将该驱动程序添加到更新集合并将该更新集合提供给计算设备。
【附图说明】
[0007]参考附图来描述本详细描述。本描述和图中的不同实例中的相同附图标记的使用可指示类似或相同项目。
[0008]图1A是可操作用于采用在本文中讨论的技术的示例性环境的图示。
[0009]图1B是可操作用于采用在本文中讨论的技术的示例性环境的附加图示。
[0010]图2是描述根据一个或多个实施例的方法的示例性流程图。
[0011]图3是描述根据一个或多个实施例的方法的示例性流程图。
[0012]图4是描述根据一个或多个实施例的方法的示例性流程图。
[0013]图5是描述根据一个或多个实施例的方法的示例性流程图。
[0014]图6是描述根据一个或多个实施例的方法的示例性流程图。
[0015]图7是描述根据一个或多个实施例的方法的示例性流程图。
[0016]图8是描述根据一个或多个实施例的方法的示例性流程图。
[0017]图9是描述根据一个或多个实施例的方法的示例性流程图。
[0018]图10是描述根据一个或多个实施例的方法的示例性流程图。
[0019]图11是描述根据一个或多个实施例的方法的示例性流程图。
[0020]图12是描述根据一个或多个实施例的方法的示例性流程图。
[0021]图13是描述根据一个或多个实施例的方法的示例性流程图。
[0022]图14是描述根据一个或多个实施例的方法的示例性流程图。
[0023]图15是描述根据一个或多个实施例的方法的示例性流程图。
[0024]图16是图示出可被用来实施本发明的实施例的计算设备的示例性物理部件的框图。
[0025]图17A和17B是可被用来实施本发明的实施例的移动计算设备的简化框图。
[0026]图18是其中可实施本发明的实施例的分布式计算系统的简化框图。
【具体实施方式】
[0027]本公开的实施例提供了用于管理可连接到计算设备的部件设备的设备驱动程序的技术。本公开的实施方式提供了驱动程序在计算设备上的无缝安装和更新。驱动程序和更新可特别地由在线服务、第三方服务器、驱动程序供应商服务器或操作系统供应商服务器提供。在计算领域内,许多情形涉及到通过各种类型的有线和/或无线连接被附着到诸如计算机之类的计算设备的部件设备。例如,典型的计算设备可以利用如下设备:键盘、鼠标、显示设备声卡、总线控制器、诸如数字式照相机之类的视频捕捉设备、扬声器、显示适配器、声音适配器、存储设备、网络适配器、扩音器、通用串行总线设备、Firewire控制器和设备、DVD驱动器、网卡、DSL调制解调器、电缆调制解调器、监视器、打印机、传真机、扫描仪等。为了提供对部件设备的能力的访问,可在计算机上安装通常称为驱动程序的软件部件作为应用程序和操作环境可以与之相交互以操作部件设备的接口。例如,软件可接受由应用程序或操作环境请求的到部件设备的输入(例如,能力的调用或数据的传输)并可将该数据中继到部件设备。软件还可使得来自部件设备的输出(例如,状态报告、从用户输入设备接收到的用户输入或由照相机捕捉到的视频)能够被暴露或提供给各种应用程序和/或操作环境。软件可将部件设备配置成与其它设备互操作,并且可调解操作环境(诸如操作系统)中的部件设备的安装和/或设备从操作环境的卸载。
[0028]鉴于用于设备的可用驱动程序的范围,可将操作环境配置成以许多方式来管理用于设备的驱动程序的安装。通常,驱动程序例如每当用户向机器添加一件新硬件时被添加到系统。例如,用户可在安装设备的同时提供驱动程序,例如通过提供与设备一起打包的包含用于驱动程序的安装包的可移动介质。替换地,当设备第一次被连接到计算机时,操作环境可执行一系列搜索和选择以便识别要安装的驱动程序。在某些实施例中,操作环境可从通过诸如因特网或局域网(LAN)之类的网络可访问的驱动程序库或服务请求用于设备的驱动程序,可通过网络来接收驱动程序,并且可将该驱动程序安装在操作环境内。在某些情况下,操作环境可直接地从设备接收驱动程序,其可存储其驱动程序并能够在当前没有此类驱动程序被安装(例如,使用即插即用(PnP)技术)的同时在安装期间向操作环境提供该驱动程序。一般地,PnP是促进被插入系统中的硬件设备的识别和确认、从而促进该设备在操作系统内的自动安装和配置的方法。在其它情况下,操作环境可能已被预先加载用于设备的驱动程序,或者可包括默认驱动程序集合,包括用于一般类别的设备的默认驱动程序。还可更新驱动程序以改正驱动程序中的问题/错误,添加性能和/或添加附加设备特征。然而,设备驱动程序通常仅在设备被连接到计算设备时被更新。
[0029]如在本文中所讨论的,可针对各种部件设备管理驱动程序。本公开的系统和方法可结合客户端/服务器基础设施,其无论部件设备是否被连接到计算设备都允许支持部件设备。具体地,本公开的实施例提供了操作环境检测、下载并安装用于先前已被连接到计算机或者从未被连接到计算机的设备的驱动程序的能力,即使那些设备在驱动程序或更新的检测、下载和/或安装时未被连接到计算机。例如,操作环境可被配置成在安装之后检查对驱动程序的更新以用已更新驱动程序来替换当前驱动程序,或者检查用于先前未被连接到计算设备的设备的驱动程序(例如,因为设备是被已知可连接到计算设备的新发行产品)。在某些情况下,包括一个或多个驱动程序和/或驱动程序更新的更新集合可以可通过网络连接从外部源(例如,制造商、更新服务等)获得。为了在需要驱动程序的设备被连接时防止使用方面的延迟或故障,操作环境可被配置成当网络连接可用时检索驱动程序,存储检索到的驱动程序直至相应设备被连接为止,并在设备连接时激活驱动程序。如本文所使用的“被连接”包括被通信连接的设备,无论是否存在物理连接。
[0030]在以下讨论中,描述可操作用于采用本文所述技术的示例性操作环境和示例性实现情形。还描述了在本示例性环境中以及其它环境中可采用的涉及到在本文中讨论的技术的示例性程序。特别地,虽然参考客户端和服务器配置来描述本公开,但本公开的系统和方法可适用于任何两个或更多计算环境之间的通信,并且此类通信应被认为在本公开的范围内。特别地,本公开还可适用于移动和无线设备,其中用以支持新的或已更新驱动程序的传统驱动程序输送机制很麻烦。本文所述的特定实施例意图在所有方面是说明性而非限制性的。在不脱离本公开的范围的情况下,替换实施例将变得对于本公开所属领域的技术人员而言显而易见。因此,示例性环境不限于执行示例性程序。同样地,示例性程序不限于在示例性环境中实现。
[0031]图1A描绘了可操作用于提供用于管理在本文中讨论的设备驱动程序的技术的示例性环境100。图1B还描绘了图1A中所示的环境100的一部分,并且下面将更详细地描述。环境100 —般地包括可连接到更新服务122的计算设备102。计算设备102可被体现为任何适当的计算设备,以示例而非限制的方式,诸如台式计算机、便