CN106796557B - 供应商专用的***设备类标识符 - Google Patents
供应商专用的***设备类标识符 Download PDFInfo
- Publication number
- CN106796557B CN106796557B CN201580054936.5A CN201580054936A CN106796557B CN 106796557 B CN106796557 B CN 106796557B CN 201580054936 A CN201580054936 A CN 201580054936A CN 106796557 B CN106796557 B CN 106796557B
- Authority
- CN
- China
- Prior art keywords
- identifier
- peripheral device
- peripheral
- namespace
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
- Traffic Control Systems (AREA)
Abstract
***设备类标识符针对***设备的类被生成,并且被用于识别指示如何在计算设备上安装或者否则设置***设备的所述类的设置记录。所述***设备类标识符是三个成分的组合:供应商标识符、名称空间标识符和名称空间条目标识符。所述供应商标识符是所述***设备的类的供应商的标识符。所述名称空间标识符是***设备的类型或者***设备的功能性的类型的不同的集合或者组的标识符。所述名称空间条目标识符是***设备的类型(或者***设备的功能性的类型)的所述不同的集合或者组中的***设备的特定类型(或者特定功能性)的标识符。
Description
背景技术
随着计算技术的进步,大量不同的***设备已变得可用于与计算设备一起使用。这些***设备具有允许它们与彼此区分开的不同的硬件标识符。每个***设备具有它自己的硬件标识符,从而允许正确的设置针对该***设备在计算设备上被执行,其诸如是安装或者否则访问使用该***设备所需要的软件。这对于***设备供应商来说可能是成问题的,因为其需要***设备供应商每个包都利用新的硬件标识符更新它们的软件包(例如,驱动器、安装器等),以及还有重新测试、换发新证和分发它们的软件包的成本。
发明内容
提供本概要以便以简化形式介绍下面在详细说明中进一步描述的概念的选择。本概要不旨在识别所要求保护的主题的关键特征或者必要特征,其也不旨在被用于限制所要求保护的主题的范围。
根据一个或多个方面,获取识别***设备的类的供应商的供应商标识符,获取识别***设备的类型的集合的名称空间标识符,并且获取识别***设备的特定类型或者***设备的特定功能性中的至少一项的名称空间条目标识符。基于所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符生成***设备类标识符,并且响应于确定所述***设备具有与所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符相对应的属性将所述***设备类标识符与针对所述***设备的设置记录相关联。
根据一个或多个方面,在计算设备中并且针对***设备,获取识别包括所述***设备的***设备的类的供应商的供应商标识符,获取识别包括所述***设备的类型的***设备的类型的集合的名称空间标识符,并且获取识别是所述***设备的特定类型的***设备的特定类型或者是所述***设备的特定功能性的***设备的特定功能性中的至少一项的名称空间条目标识符。基于所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符而针对所述***设备生成***设备类标识符,并且使用所述***设备类标识符来识别针对所述***设备的设置记录。
附图说明
参考附图描述了详细说明。在附图中,参考标号的最左边的数字识别该参考标号第一次出现在其中的图。在说明书和附图中的不同实例中对相同的参考标号的使用可以指示相似或者相同的项目。附图中所表示的实体可以指示一个或多个实体,并且因此可以在讨论中可互换地作出对单数或者复数形式的实体的引用。
图1是图示了根据一个或多个实施例的实施供应商专用的***设备类标识符的示例计算设备的方框图。
图2图示了根据一个或多个实施例的示例***设备类标识符。
图3是图示了根据一个或多个实施例的用于实施供应商专用的***设备类标识符的示例过程的流程图。
图4是图示了根据一个或多个实施例的用于实施供应商专用的***设备类标识符的另一个示例过程的流程图。
图5图示了包括示例计算设备的示例***,该示例计算设备代表可以实施本文中描述的各种技术的一个或多个***和/或设备。
具体实施方式
在本文中讨论了供应商专用的***设备类标识符。针对***设备的类生成***设备类标识符。可以将***设备类标识符与用于安装或者否则设置***设备的设置记录相关联(例如,将其包括在设置记录中)。设置记录例如可以识别要安装在计算设备上以允许该计算设备使用***设备的一个或多个驱动器(例如,软件驱动器)。在***设备被连接到计算设备时,计算设备也针对该***设备生成***设备类标识符,并且获取与该***设备类标识符相关联的设置记录作为针对该***设备的设置记录。
***设备类标识符由三个成分组成:供应商标识符、名称空间标识符和名称空间条目标识符。这三个成分被合并(例如,串接在一起)以生成***设备类标识符。供应商标识符是该类中的***设备的供应商的标识符。名称空间标识符是***设备的类型或者***设备的功能性的类型的不同的集合或者组的标识符。例如,用途的不同类型的集合或者组可以是通用桌上型控件、游戏控件等。名称空间条目标识符是***设备的类型或者***设备的功能性的类型的不同的集合或者组中的***设备的特定类型或者特定功能性的标识符。例如,用途的不同类型的集合或者组可以是通用桌上型控件,并且具体的用途的可以是键盘。
***设备类标识符识别***设备的类,并且因此可以(并且典型地确实)与多个不同的***设备相对应。例如,供应商可以构建25个轻微改变的不同的***设备(例如,键盘或者游戏控制器),并且供应商可以进一步创建被用于25个不同的***设备中的每个***设备的单一的驱动器以及识别该驱动器的单一的设置记录。相同的***设备类标识符被用于全部25个不同的***设备。25个不同的***设备中的每个***设备与相同的***设备类标识符相对应,从而有利地允许相同的设置记录和相同的驱动器被用于全部25个不同的***设备。
本文中讨论的技术允许***设备供应商将它们的***设备的集合分组在一起,并且通过提供设备的集合的标识符维持兼容性。因此,每当对针对***设备的集合的驱动器作出更新时,对设备的集合中的全部设备作出该更新。
图1是图示了根据一个或多个实施例的实施供应商专用的***设备类标识符的示例计算设备100的方框图。计算设备100可以是多种不同类型的设备,诸如是桌上型计算机、服务器计算机、膝上型或者上网本计算机、移动设备(例如,平板或者平板手机设备、蜂窝或者其它无线电话(例如,智能电话)、笔记本计算机、移动站)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐电器、通信地耦接到显示设备的机顶盒、游戏控制台)、电视机或者其它显示设备、汽车用计算机等。因此,计算设备100的范围可以从具有大量存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持型游戏控制台)。
计算设备100包括***设备设置***102和数据储存器104。数据储存器104包括一个或多个设置记录106,每个设置记录106包括描述如何在计算设备100上安装或者否则设置或使用***设备的信息。设置记录106可以是文件(例如,信息或者INF)文件、可以是文件的部分、可以是数据库的元素等。可以将各种信息包括在设置记录106中,所述信息诸如是针对***设备的一个或多个驱动器的名称和位置、针对***设备的驱动器的版本的识别、将被添加到注册储存器(例如,操作***注册表或者针对计算设备100的配置数据的其它储存器)的信息等。在一个或多个实施例中,设置记录106识别***设备的一个或多个驱动器被存储在其中的位置,但是替换地,设置记录106可以包括***设备的一个或多个驱动器的至少一部分。
***设备设置***102包括设置管理模块112和***设备类标识符生成模块114。设置管理模块112管理对用于与计算设备100一起使用的***设备的设置。该设置指适当地对计算设备100进行配置,以使得计算设备100可以与***设备通信。该设置可以包括在计算设备100上安装针对***设备的一个或多个驱动器(例如,软件驱动器)、在计算设备100上设置针对***设备的配置值(例如,在注册储存器中)、向计算设备100的其它构件或者模块通知***设备的存在等。
***设备类标识符生成模块114生成针对***设备的***设备类标识符。这些***设备类标识符包括如在下面更详细讨论的供应商标识符、名称空间标识符和名称空间条目标识符。这些***设备类标识符每个都识别***设备的特定类,并且因此与多个不同的***设备相对应。
还(例如,由计算设备100)维护***设备与描述如何设置计算设备100以使用***设备的设置记录106之间的关联。使用***设备类标识符维护该关联。由***设备类标识符识别***设备,并且***设备类标识符与描述如何设置计算设备100以使用所识别的***设备的设置记录之间的对应被维护。在一个或多个实施例中,通过将***设备类标识符包括在设置记录106中来维护该对应,因此每个设置记录106包括该设置记录106描述如何设置的***设备的类的***设备类标识符。替换地,可以以不同的方式维护该对应,所述方式诸如是通过维护将***设备类标识符映射到设置记录106的列表或者其它记录、将***设备类标识符用作设置记录106的文件名或者元素名等。
在一个或多个实施例中,***设备设置***102是计算设备100的操作***的部分。替换地,***设备设置***102或者***设备设置***102的部分可以被实施为与计算设备100的操作***分离的其它构件或者模块。
示例***设备120被图示为被耦接到计算设备100。可以使用实施各种不同的协议的多种不同的无线或者有线通信连接中的任一种将***设备102耦接到计算设备100。这些通信连接可以是公共的和/或私有的连接。例如,可以经由USB(通用串行总线)连接、无线USB连接、红外线连接、蓝牙连接、DisplayPort(显示端口)连接、PCI(***构件互连)特快连接、数据网络连接(例如,Wi-Fi网络连接)等将***设备102耦接到计算设备100。
***设备120具有识别***设备120的类的***设备类标识符122。***设备120的类指***设备120是其部分的***设备的集合或者组。***设备120的供应商定义***设备的集合或者组,并且因此定义***设备120是哪个类的部分。对***设备120是哪个类的部分的该定义是基于***设备120的各种属性或者特性的。
***设备120包括(例如,在***设备120的一个或多个寄存器中)***设备类标识符122的成分或者可以根据其确定***设备类标识符122的成分的其它信息。在***设备120被定位成被连接到计算设备100(例如,经由针对有线连接的线缆被附着、在无线连接的无线范围内、被耦接到与其相同的数据网络)时,设置管理模块112以多种不同的公共或者私有的方式中的任一种方式检测***设备120的存在。响应于***设备120的存在被检测到,***设备类标识符生成模块114生成***设备类标识符122,并且使用***设备类标识符122来识别与***设备120相对应的设置记录106。***设备类标识符生成模块114将***设备类标识符提供给设置管理模块112,从而允许设置管理模块112设置计算设备100以使用***设备122。
计算设备100使用***设备122指计算设备100与***设备122通信。该通信可以包括向***设备122传输数据或者信息和/或从***设备122接收数据或者信息。
图2图示了根据一个或多个实施例的示例***设备类标识符200。***设备类标识符200可以例如是图1的***设备类标识符122。***设备类标识符200包括供应商标识符202、名称空间标识符204和名称空间条目标识符206。
供应商标识符202是***设备的类的供应商的标识符。供应商标识符202是识别***设备的类的供应商(例如,销售商、制造商、分销商)的一串字符(例如,字母数字字符、标点符号)。不同的供应商具有不同的供应商标识符,并且单一的供应商可以具有多个供应商标识符。***设备包括(例如,在***设备的寄存器中)该***设备是其部分的***设备的类的供应商标识符202。
名称空间标识符204是***设备的类型或者***设备的功能性的类型的不同的集合或者组的标识符。名称空间标识符204是识别不同的***设备的类型或者***设备的功能性的类型的多个不同的集合或者组中的一个的一串字符(例如,字母数字字符、标点符号)。例如,不同的用途的类型的集合或者组可以是通用桌上型控件、游戏控件、LED、按钮等。
名称空间条目标识符206是***设备的类型(或者***设备的功能性的类型)的不同的集合或者组中的***设备的特定类型(或者特定功能性)的标识符。名称空间标识符204和名称空间条目标识符206一起提供对***设备和/或由***设备的类提供的功能性的类型的指示。例如,***设备的类型或者***设备的功能性的类型的集合或者组(如由名称空间标识符204指示的)可以是通用桌上型控件,并且***设备或者由***设备提供的功能性的特定类型(如由名称空间条目标识符206指示的)可以是键盘、操纵杆、小键盘、鼠标等。作为另一个示例,***设备的类型或者***设备的功能性的类型的集合或者组(如由名称空间标识符204指示的)可以是游戏控件,并且***设备或者由***设备提供的功能性的特定类型(如由名称空间条目标识符206指示的)可以是3维游戏控制器、弹球设备等。
在一个或多个实施例中,对于是人类接口设备(HID)的***设备来说,名称空间标识符204是用法页标识符,并且名称空间条目标识符206是用法标识符。用法页标识符识别HID标准或者规范(诸如是USB HID用法表规范,版本1.12,2004年10月28日)的用法页,并且用法标识符是HID标准或者规范的所识别的用法页上的用法的标识符。替换地,对于是USB设备的***设备来说,名称空间标识符204是类标识符,并且名称空间条目标识符206是子类标识符。类标识符识别USB标准或者规范(诸如是USB规范,版本3.1,2013年7月)的类,并且子类是USB标准或者规范的所识别的类的子类的标识符。
供应商标识符202、名称空间标识符204和名称空间条目标识符206被合并以生成***设备类标识符200。在一个或多个实施例中,该合并是对供应商标识符202、名称空间标识符204和名称空间条目标识符206的串接。例如,名称空间标识符204可以是VID-046D,名称空间标识符可以是UP:FFBC,并且名称空间条目标识符206可以是U:0088,它们被合并以创建***设备类标识符200 VID_046D&UP:FFBC_U:0088。然而,应当指出,可以按照其它次序串接供应商标识符202、名称空间标识符204和名称空间条目标识符206,并且替换地可以使用合并供应商标识符202、名称空间标识符204和名称空间条目标识符206的其它方式。
图3是图示了根据一个或多个实施例的用于实施供应商专用的***设备类标识符的示例过程300的流程图。过程300被供应商的设备执行,并且可以用软件、固件、硬件或者其组合来实施。过程300被示为一组动作,并且不限于所示的用于执行各种动作的操作的次序。过程300是用于实施供应商专用的***设备类标识符的示例过程;参考不同的图将对实施供应商专用的***设备类标识符的附加的讨论包括在本文中。
在过程300中,获取针对***设备的供应商标识符、名称空间标识符和名称空间条目标识符(动作302)。可以从诸如是由供应商提供的不同的源、从其它设备或者构件、从行业标准标识符定义等中获取这些标识符。
基于所获取的供应商标识符、名称空间标识符和名称空间条目标识符针对***设备生成***设备类标识符(动作304)。通过以如上面讨论的各种方式中的任一种方式合并供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符。
将所生成的***设备类标识符与针对***设备的设置记录相关联(动作306)。可以以如上面讨论的各种方式作出该关联,所述方式诸如是通过将***设备类标识符包括在设置记录中。***设备具有属性或者特性,其与在动作302中所获取的供应商标识符、名称空间标识符和名称空间条目标识符相对应,并且因此导致***设备与在动作302中所获取的供应商标识符、名称空间标识符和名称空间条目标识符的关联。还响应于***设备具有与所获取的供应商标识符、名称空间标识符和名称空间条目标识符相对应的属性或者特性而作出所述关联。
图4是图示了根据一个或多个实施例的用于实施供应商专用的***设备类标识符的另一个示例过程400的流程图。过程400被诸如是图1的计算设备100这样的正在被设置以使用***设备的计算设备执行,并且可以用软件、固件、硬件或者其组合来实施。过程400被示为一组动作,并且不限于所示的用于与实施各种动作的操作的次序。过程400是用于实施供应商专用的***设备类标识符的示例过程;参考不同的图将对实施供应商专用的***设备类标识符的附加的讨论包括在本文中。
在过程400中,获取针对***设备的供应商标识符、名称空间标识符和名称空间条目标识符(动作402)。从***设备获取这些标识符,诸如是如上面讨论的从***设备中的寄存器获取。替换地,可以从不同的源获取所述标识符中的一个或多个。这些不同的源可以例如是计算设备的管理员或者用户、计算设备的另一个构件或者模块、另一个设备等。
基于所获取的供应商标识符、名称空间标识符和名称空间条目标识符针对***设备生成***设备类标识符(动作404)。通过以如上面讨论的各种方式中的任一种方式合并供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符。在动作404中以与在图3的动作304中生成***设备类标识符相同的方式生成***设备类标识符。
使用所生成的***设备类标识符来识别针对***设备的设置记录(动作406)。如上面讨论的,设置记录是与***设备类相关联的。识别与***设备相关联的设置记录的方式可以基于设置记录被与***设备类标识符相关联的方式而改变。例如,可以对设置记录进行搜索以确定哪个设置记录包括所生成的***设备类标识符,可以对设置记录的数据库或者其它列表进行搜索以确定哪个设置记录包括或者否则识别所生成的***设备类标识符,等等。
使用所识别的设置记录来设置***设备以用于在计算设备上使用(动作408)。如上面讨论的,该设置包括将计算设备配置为与***设备通信,并且可以包括在计算设备上安装针对***设备的驱动器。
应当指出,本文中讨论的技术描述了特定类型的***设备标识符,其在本文中被称为***设备类标识符。然而,也可以将各种其它的***设备标识符与***设备相关联。例如,可以将供应商标识符与特定的***设备的产品标识符(而非名称空间标识符和名称空间条目标识符)合并(例如,串接)。产品标识符允许将特定的***设备与供应商的其它***设备区分开。可以与将***设备类标识符与***设备相关联并发地将这些各种其它的***设备标识符与***设备相关联(例如,设置记录可以包括***设备类标识符以及一个或多个其它***设备标识符两者,***设备的寄存器可以包括允许一个或多个其它***设备标识符被生成以及***设备类标识符被生成的信息)。
还应当指出,参考与计算设备一起使用***设备描述了本文中讨论的技术。可以与作为针对***设备的宿主设备操作的任何设备(例如,将***设备无线或者有线地连接到的任何设备)一起使用这些技术。例如,可以在其中将***设备连接到车载计算机的车载环境中使用本文中讨论的技术。作为另一个示例,可以与是物联网(IoT)环境的部分的***设备一起使用本文中讨论的技术。
还应当指出,本文中讨论的技术允许***设备供应商具有针对***设备的集合或者组的驱动器。可以使用多种不同的分发渠道或者机制中的任一种或者多种将驱动器分发给计算设备。例如,驱动器可以在供应商的网站或者其它网络位置上被使得是可得到的,可以作为操作***更新服务的部分被提供(例如,由操作***供应商连同其它操作***更新一起提供给计算设备)等。
本文中讨论的技术支持多种不同的使用场景。例如,如果供应商具有25个在它们之间具有轻微的差异的不同的***设备,则该供应商可以具有针对全部25个不同的***设备的单一的设置记录,该设置记录识别相同的驱动器。通过使计算设备(或者操作***)的供应商批准单一的设置记录和单一的驱动器,供应商可以使全部25个不同的***设备被批准用于被计算设备(或者操作***)的供应商使用。这种将单一的设置记录和驱动器用于多个***设备有利地减少被包括在计算设备上的设置记录和驱动器的数量(因此减少所使用的存储空间或者存储器,并且通过减少为识别针对特定的***设备的设置记录而被搜索的设置记录的数量改进了计算设备性能)。此外,如果供应商随后改变设置记录或者驱动器,仅单一的设置记录或者驱动器需要被改变——不需要作出对25个不同的设置记录或者驱动器的改变。另外,如果供应商创建新的***设备,可以有利地给予该新的***设备相同的***设备类标识符,从而允许该新的***设备使用与之前被计算设备(或者操作***)的供应商批准的相同的设置记录和驱动器,并且避免任何对于使设置记录和驱动器被重新批准的需要。因此提高了计算设备以及***设备的可用性。
尽管在本文中参考特定的模块讨论了特定的功能性,但应当指出,本文中讨论的单独的模块的功能性可以被分成多个模块,和/或多个模块的至少某种功能性可以被合并到单一的模块中。附加地,特定的模块在本文中被讨论为执行动作包括该特定的模块自己执行该动作,或者替换地该特定的模块调用或者否则访问执行该动作(或者结合该特定的模块执行该动作)的另一个构件或者模块。因此,特定的模块执行动作包括该特定的模块自己执行该动作和/或被该特定的模块调用或者访问的另一个模块执行该动作。
图5一般地在500处图示了包括示例计算设备502的示例计算***,示例计算设备502代表可以实施本文中描述的各种技术的一个或多个***和/或设备。计算设备502可以例如是服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上***和/或任何其它合适的计算设备或者计算***。计算设备502可以例如是图1的计算设备100、实施图3的过程300的计算设备、实施图4的过程400的计算设备等。
如所图示的示例计算设备502包括通信地耦接到彼此的处理***504、一个或多个计算机可读介质506和一个或多个I/O接口508。尽管未示出,但计算设备502可以进一步包括将各种构件耦接到彼此的***总线或者其它数据和命令传输***。***总线可以包括不同的总线结构中的任一种或者其组合,所述不同的总线结构诸如是存储器总线或者存储器控制器、***总线、通用串行总线和/或使用多种总线架构中的任一种总线架构的处理器或者本地总线。还设想了诸如是控制和数据线的多种其它示例。
处理***504代表用于使用硬件执行一个或多个操作的功能性。相应地,处理***504被图示为包括硬件元件510,其可以被配置为处理器、功能块等。这可以包括在硬件中的、作为使用一个或多个半导体形成的专用集成电路或其它逻辑设备的实施方案。硬件元件510不受形成其的材料或者在其中被使用的处理机制的限制。例如,处理器可以由半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,处理器可执行指令可以是可电子地执行的指令。
计算机可读介质506被图示为包括存储器/存储装置512。存储器/存储装置512代表与一个或多个计算机可读介质相关联的存储器/存储装置容量。存储器/存储装置512可以包括易失性介质(诸如是随机存取存储器(RAM))和/或非易失性介质(诸如是只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置512可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移除介质(例如,闪存、可移除硬盘驱动器、光盘等)。可以以如在下面进一步描述的多种其它的方式对计算机可读介质506进行配置。
一个或多个输入/输出接口508代表用于允许用户使用各种输入/输出设备向计算设备502输入命令和信息以及还允许使用各种输入/输出设备将信息呈现给用户和/或其它构件或者设备的功能性。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能性(例如,被配置为检测物理触摸的电容式或者其它传感器)、照相机(例如,其可以使用可见波长或者诸如是红外线频率这样的非可见波长来将不涉及触摸的移动检测为手势)等。输出设备的示例包括显示设备(例如,监视器或者投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,可以以如在下面进一步描述的多种方式将计算设备502配置为支持用户交互。
计算设备502还包括***设备设置***514。***设备设置***514可以执行如上面讨论的生成***设备类标识符、设置计算设备以便与***设备一起使用等中的一项或多项。***设备设置***514可以例如实施图1的***设备设置***102。
在本文中可能在软件、硬件元件或者程序模块的一般上下文中描述各种技术。一般地,这样的模块包括执行特定的任务或者实施特定的抽象数据类型的例程、程序、对象、元件、构件、数据结构等。如本文中使用的术语“模块”、“功能性”和“构件”一般地代表软件、固件、硬件或者其组合。本文中描述的技术的特征是平***立的,这意味着可以在具有多种处理器的多种计算平台上实施所述技术。
所描述的模块和技术的实施方案可以被存储在某种形式的计算机可读介质上或者跨其被传送。计算机可读介质可以包括可以被计算设备502访问的多种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
与仅信号传输、载波或者信号本身不同,“计算机可读存储介质”指使能够持久存储信息的介质和/或设备和/或有形的存储装置。因此,计算机可读存储介质指非信号承载介质。计算机可读存储介质包括硬件,其诸如是易失性和非易失性、可移除和非可移除介质和/或以适于存储诸如是计算机可读指令、数据结构、程序模块、逻辑元件/电路或者其它数据这样的信息的方法或者技术实施的存储设备。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或者其它存储器技术、CD-ROM、数字多功能盘(DVD)或者其它光学存储装置、硬盘、盒式磁带、磁带、磁盘存储装置或者其它磁存储设备、或者适于存储期望的信息并且可以被计算机访问的其它的存储设备、有形的介质或者制品。
“计算机可读信号介质”指被配置为诸如经由网络向计算设备502的硬件传送指令的信号承载媒介。信号介质典型地可以将计算机可读指令、数据结构、程序模块或者其它数据体现在诸如是载波、数据信号或者其它传输机制的经调制的数据信号中。信号介质还包括任何信息递送介质。术语“经调制的数据信号”意指这样的信号,所述信号使它的特性中的一个或多个以这样的方式被设置或者改变以便将信息编码在信号中。作为示例而非限制,通信介质包括诸如是有线网络或者直连线连接这样的有线介质和诸如是声波、RF、红外线和其它无线介质这样的无线介质。
如之前描述的,硬件元件510和计算机可读介质506代表以硬件形式被实施的指令、模块、可编程设备逻辑和/或固定设备逻辑,所述硬件形式可能在某些实施例中被利用来实施本文描述的技术的至少某些方面。硬件元件可以包括集成电路或片上***的构件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、以及采用硅或其它硬件设备的其它实施方案。在该上下文中,硬件元件可以操作为执行由被硬件元件体现的指令、模块和/或逻辑定义的程序任务的处理设备以及例如是之前描述的计算机可读存储介质这样的被用于存储用于执行的指令的硬件设备。
前述的组合也可以被用于实施本文中描述的各种技术和模块。相应地,软件、硬件或者程序模块和其它程序模块可以被实施为在某种形式的计算机可读存储介质上和/或通过一个或多个硬件元件510被体现的一个或多个指令和/或逻辑。计算设备502可以被配置为实施与软件和/或硬件模块相对应的特定的指令和/或功能。相应地,将模块实施为可以被计算设备502作为软件执行的模块可以例如通过使用处理***的计算机可读存储介质和/或硬件元件510至少部分地用硬件来实现。指令和/或功能可能可被一个或多个制品(例如,一个或多个计算设备502和/或处理***504)执行/操作以实施本文中描述的技术、模块和示例。
如在图5中进一步图示的,当在个人计算机(PC)、电视设备和/或移动设备上运行应用时,示例***500使能实现针对无缝用户体验的普适环境。服务和应用在全部三个环境中基本上类似地运行,以在使用应用、玩视频游戏、观看视频等的同时从一个设备转移到下一个设备时得到共同的用户体验。
在示例***500中,通过中央计算设备使多个设备互连。中央计算设备可以在多个设备的本地,或者可以与多个设备远程地被放置。在一个或多个实施例中,中央计算设备可以是通过网络、互联网或者其它数据通信链路连接到多个设备的一个或多个服务器计算机的云。
在一个或多个实施例中,该互连架构使功能性能够跨多个设备被递送以向多个设备的用户提供共同和无缝的体验。多个设备中的每个设备可以具有不同的物理要求和能力,并且中央计算设备使用平台来使得能够向设备递送既是为该设备定制的并且还是对全部设备共同的体验。在一个或多个实施例中,创建目标设备的类,并且为设备的通用类定制体验。可以通过设备的物理特征、用法的类型或者其它的共同特性定义设备的类。
在各种实施方案中,计算设备502可以采用多种不同的配置,诸如用于计算机516、移动设备518和电视机520用途。这些配置中的每种配置包括一般地可以具有不同的构造和能力的设备,并且因此可以根据不同的设备类中的一个或多个对计算设备502进行配置。例如,计算设备502可以被实施为计算机516类的设备,其包括个人计算机、桌上型计算机、多屏计算机、膝上型计算机、上网本等。
计算设备502还可以被实施为移动设备518类的设备,其包括诸如是移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏计算机等的移动设备。计算设备502还可以被实施为电视机520类的设备,其包括在休闲观看环境中具有或者连接到一般地较大的屏幕的设备。这些设备包括电视机、机顶盒、游戏控制台等。
本文中描述的技术可以被计算设备502的这些各种配置支持,并且不限于本文中描述的技术的具体的示例。该功能性还可以全部或者部分地通过使用分布式***来实施,诸如如下面描述的那样经由平台524通过“云”522来实施。
云522包括和/或代表针对资源526的平台524。平台524对云522的硬件(例如,服务器)和软件资源的底层功能性进行抽象。资源526可以包括当计算机处理在位于计算设备502远端的服务器上被执行时可以被使用的应用和/或数据。资源526还可以包括通过互联网和/或通过诸如是蜂窝或者Wi-Fi网络这样的订户网络提供的服务。
平台524可以对用于将计算设备502与其它计算设备连接在一起的资源和功能进行抽象。平台524还可以用于对资源进行抽象缩放,以便为所遇到的对于经由平台524被实施的资源526的需求提供对应水平的规模。相应地,在互连设备实施例中,本文中描述的功能性的实施方案可以遍布***500被分布。例如,功能性可以部分地在计算设备502上以及经由对云522的功能性进行抽象的平台524被实施。
在本文中的讨论中,描述了各种不同的实施例。应当领会和理解,可以独自地或者与本文中描述的一个或多个其它实施例结合地使用本文中描述的每个实施例。本文中讨论的技术的另外的方面涉及以下实施例中的一个或多个。
一种方法,包括:获取识别***设备的类的供应商的供应商标识符、识别***设备的类型的集合的名称空间标识符和识别***设备的特定类型或者***设备的特定功能性中的至少一项的名称空间条目标识符中的每项;基于供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符;以及,响应于确定***设备具有与供应商标识符、名称空间标识符和名称空间条目标识符相对应的属性,将***设备类标识符与针对***设备的设置记录相关联。
替换地或者附加于上面描述的方法,还有以下各项中的任一项或者其组合:生成***设备类标识符包括通过合并供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符;合并供应商标识符、名称空间标识符和名称空间条目标识符包括串接供应商标识符、名称空间标识符和名称空间条目标识符;***设备包括通用串行总线设备,名称空间标识符包括通用串行总线设备的类标识符,并且名称空间条目标识符包括通用串行总线设备的子类标识符;***设备包括人类接口设备,名称空间标识符包括人类接口设备的用法页标识符,并且名称空间条目标识符包括人类接口设备的用法标识符;将***设备类标识符与针对***设备的设置记录相关联包括将***设备类标识符包括在设置记录中;设置记录包括描述如何在计算设备上安装或者使用***设备的信息文件;设置记录识别要在计算设备上安装的用于允许计算设备与***设备通信的驱动器。
一种在计算设备中实施的方法,该方法包括:针对***设备,获取识别包括所述***设备的***设备的类的供应商的供应商标识符、识别包括所述***设备的类型的***设备的类型的集合的名称空间标识符和识别是所述***设备的特定类型的***设备的特定类型或者是所述***设备的特定功能性的***设备的特定功能性中的至少一项的名称空间条目标识符中的每项;针对所述***设备,基于供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符;以及,使用***设备类标识符来识别针对所述***设备的设置记录。
替换地或者附加于上面描述的方法中的任一种,还有以下各项中的任一项或者其组合:所述方法进一步包括使用设置记录来设置所述***设备以用于在计算设备上使用;使用设置记录来设置所述***设备以用于在计算设备上使用包括在计算设备上安装由设置记录识别的驱动器;生成***设备类标识符包括通过合并供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符;合并供应商标识符、名称空间标识符和名称空间条目标识符包括串接供应商标识符、名称空间标识符和名称空间条目标识符;所述***设备包括通用串行总线设备,名称空间标识符包括通用串行总线设备的类标识符,并且名称空间条目标识符包括通用串行总线设备的子类标识符;所述***设备包括人类接口设备,名称空间标识符包括人类接口设备的用法页标识符,并且名称空间条目标识符包括人类接口设备的用法标识符;设置记录包括描述如何在计算设备上安装或者使用所述***设备的信息文件。
一种计算设备,包括:包括一个或多个处理器的处理***;以及具有存储在其上的多个指令的一个或多个计算机可读存储介质,所述指令响应于被处理***执行导致处理***执行包括以下动作的动作:针对***设备,获取识别包括所述***设备的***设备的类的供应商的供应商标识符、识别包括所述***设备的类型的***设备的类型的集合的名称空间标识符、和识别是所述***设备的特定类型的***设备的特定类型或者是所述***设备的特定功能性的***设备的特定功能性中的至少一项的名称空间条目标识符中的每项;针对所述***设备,基于供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符;使用***设备类标识符来识别针对所述***设备的设置记录;以及使用设置记录来设置所述***设备以用于在计算设备上使用。
替换地或者附加于上面描述的计算设备,还有以下各项中的任一项或者其组合:使用设置记录来设置所述***设备以用于在计算设备上使用包括在计算设备上安装由设置记录识别的驱动器;所述***设备包括人类接口设备,名称空间标识符包括人类接口设备的用法页标识符,名称空间条目标识符包括人类接口设备的用法标识符,并且生成***设备类标识符包括通过串接供应商标识符、用法页标识符和用法标识符生成***设备类标识符;使用***设备类标识符来识别设置记录包括将计算设备上的多个设置记录中的一个识别为所述设置记录,所述多个设置记录中的所述一个包括所述***设备类标识符。
一种计算设备,包括:包括一个或多个处理器的处理***;以及具有存储在其上的多个指令的一个或多个计算机可读存储介质,所述指令响应于被处理***执行导致处理***执行包括以下动作的动作:针对***设备,获取识别包括所述***设备的***设备的类的供应商的供应商标识符、识别包括所述***设备的类型的***设备的类型的集合的名称空间标识符、和识别是所述***设备的特定类型的***设备的特定类型或者是所述***设备的特定功能性的***设备的特定功能性中的至少一项的名称空间条目标识符中的每项;针对所述***设备,基于供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符;以及,使用***设备类标识符来识别针对所述***设备的设置记录。
替换地或者附加于上面描述的计算设备中的任一种,还有以下各项中的任一项或者其组合:所述动作进一步包括使用设置记录来设置所述***设备以用于在计算设备上使用;使用设置记录来设置所述***设备以用于在计算设备上使用包括在计算设备上安装由设置记录识别的驱动器;生成***设备类标识符包括通过合并供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符;合并供应商标识符、名称空间标识符和名称空间条目标识符包括串接供应商标识符、名称空间标识符和名称空间条目标识符;所述***设备包括通用串行总线设备,名称空间标识符包括通用串行总线设备的类标识符,并且名称空间条目标识符包括通用串行总线设备的子类标识符;所述***设备包括人类接口设备,名称空间标识符包括人类接口设备的用法页标识符,并且名称空间条目标识符包括人类接口设备的用法标识符;设置记录包括描述如何在计算设备上安装或者使用所述***设备的信息文件。
一种***或者设备,包括:用于获取识别***设备的类的供应商的供应商标识符、识别***设备的类型的集合的名称空间标识符和识别***设备的特定类型或者***设备的特定功能性中的至少一项的名称空间条目标识符中的每项的装置;用于基于供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符的装置;以及,用于响应于确定***设备具有与供应商标识符、名称空间标识符和名称空间条目标识符相对应的属性,将***设备类标识符与针对***设备的设置记录相关联的装置。
替换地或者附加于上面描述的***或者设备,还有以下各项中的任一项或者其组合:用于生成***设备类标识符的装置包括用于通过合并供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符的装置;用于合并供应商标识符、名称空间标识符和名称空间条目标识符的装置包括用于串接供应商标识符、名称空间标识符和名称空间条目标识符的装置;***设备包括通用串行总线设备,名称空间标识符包括通用串行总线设备的类标识符,并且名称空间条目标识符包括通用串行总线设备的子类标识符;***设备包括人类接口设备,名称空间标识符包括人类接口设备的用法页标识符,并且名称空间条目标识符包括人类接口设备的用法标识符;用于将***设备类标识符与针对***设备的设置记录相关联的装置包括用于将***设备类标识符包括在设置记录中的装置;设置记录包括描述如何在计算设备上安装或者使用***设备的信息文件;设置记录识别要在计算设备上安装的用于允许计算设备与***设备通信的驱动器。
一种***或者设备,包括:用于针对***设备,获取识别包括所述***设备的***设备的类的供应商的供应商标识符、识别包括所述***设备的类型的***设备的类型的集合的名称空间标识符和识别是所述***设备的特定类型的***设备的特定类型或者是所述***设备的特定功能性的***设备的特定功能性中的至少一项的名称空间条目标识符中的每项的装置;用于针对所述***设备,基于供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符的装置;以及,用于使用***设备类标识符来识别针对所述***设备的设置记录的装置。
替换地或者附加于上面描述的***或者设备中的任一种,还有以下各项中的任一项或者其组合:进一步包括用于使用设置记录来设置所述***设备以用于在计算设备上使用的装置;用于使用设置记录来设置所述***设备以用于在计算设备上使用的装置包括用于在计算设备上安装由设置记录识别的驱动器的装置;用于生成***设备类标识符的装置包括用于通过合并供应商标识符、名称空间标识符和名称空间条目标识符生成***设备类标识符的装置;用于合并供应商标识符、名称空间标识符和名称空间条目标识符的装置包括用于串接供应商标识符、名称空间标识符和名称空间条目标识符的装置;所述***设备包括通用串行总线设备,名称空间标识符包括通用串行总线设备的类标识符,并且名称空间条目标识符包括通用串行总线设备的子类标识符;所述***设备包括人类接口设备,名称空间标识符包括人类接口设备的用法页标识符,并且名称空间条目标识符包括人类接口设备的用法标识符;设置记录包括描述如何在计算设备上安装或者使用所述***设备的信息文件。
尽管已经以专用于结构特征和/或方法动作的语言描述了主题,但应当理解,所附权利要求中定义的主题不必限于上面描述的具体的特征或者动作。相反,作为实施权利要求的示例形式公开了上面描述的具体的特征和动作。
Claims (20)
1.一种在计算设备中实施的方法,所述方法包括:
获取供应商标识符、名称空间标识符和名称空间条目标识符中的每项,所述供应商标识符识别***设备的类的供应商,所述名称空间标识符识别***设备的类型的集合,所述名称空间条目标识符识别***设备的特定类型或者***设备的特定功能性中的至少一项;
基于所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符生成***设备类标识符,所述***设备类标识符识别***设备的所述类,其中所述***设备类标识符对应于***设备的所述类内的多个不同的***设备,而不使用在所述多个不同的***设备中的各个***设备之间进行区分的产品标识符;
响应于确定***设备具有与所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符相对应的属性,将所述***设备类标识符与针对所述***设备的设置记录相关联;以及
使用所述设置记录来配置计算设备以与所述***设备通信。
2.根据权利要求1所述的方法,生成所述***设备类标识符包括:通过合并所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符来生成所述***设备类标识符。
3.根据权利要求2所述的方法,合并所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符包括:串接所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符。
4.根据权利要求1所述的方法,所述***设备包括通用串行总线设备,所述名称空间标识符包括所述通用串行总线设备的类标识符,并且所述名称空间条目标识符包括所述通用串行总线设备的子类标识符。
5.根据权利要求1所述的方法,所述***设备包括人类接口设备,所述名称空间标识符包括所述人类接口设备的用法页标识符,并且所述名称空间条目标识符包括所述人类接口设备的用法标识符。
6.根据权利要求1所述的方法,将所述***设备类标识符与针对所述***设备的所述设置记录相关联包括:将所述***设备类标识符包括在所述设置记录中。
7.根据权利要求6所述的方法,所述设置记录包括描述如何在所述计算设备上安装或者使用所述***设备的信息文件。
8.根据权利要求6所述的方法,所述设置记录识别要在所述计算设备上安装以允许所述计算设备与所述***设备通信的驱动器。
9.根据权利要求6所述的方法,所述设置记录包括要在所述计算设备上安装以允许所述计算设备与所述***设备通信的驱动器的至少一部分。
10.根据权利要求1所述的方法,所述***设备类标识符对应于多个供应商中的特定供应商的***设备的集合。
11.一种在计算设备中实施的方法,所述方法包括:
针对***设备,获取供应商标识符、名称空间标识符和名称空间条目标识符中的每项,所述供应商标识符识别包括所述***设备的***设备的类的供应商,所述名称空间标识符识别包括所述***设备的类型的***设备的类型的集合,所述名称空间条目标识符识别所述***设备的所述类型或者作为所述***设备的特定功能性的***设备的特定功能性中的至少一项;
针对所述***设备,基于所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符生成***设备类标识符,所述***设备类标识符识别***设备的所述类,其中所述***设备类标识符对应于***设备的所述类内的多个不同的***设备,而不使用在所述多个不同的***设备中的各个***设备之间进行区分的产品标识符;以及
使用所述***设备类标识符来识别针对所述***设备的设置记录,所述设置记录用于***设备的所述类。
12.根据权利要求11所述的方法,所述方法还包括使用所述设置记录来设置所述***设备以用于在所述计算设备上使用。
13.根据权利要求12所述的方法,使用所述设置记录来设置所述***设备以用于在所述计算设备上使用包括:在所述计算设备上安装由所述设置记录识别的驱动器。
14.根据权利要求11所述的方法,生成所述***设备类标识符包括:通过合并所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符生成所述***设备类标识符。
15.根据权利要求14所述的方法,合并所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符包括:串接所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符。
16.根据权利要求14所述的方法,所述***设备包括通用串行总线设备,所述名称空间标识符包括所述通用串行总线设备的类标识符,并且所述名称空间条目标识符包括所述通用串行总线设备的子类标识符。
17.一种计算设备,包括:
包括一个或多个处理器的处理***;以及
具有存储在其上的指令的一个或多个计算机可读存储介质,所述指令响应于被所述处理***执行导致所述处理***执行动作,所述动作包括:
针对***设备,获取供应商标识符、名称空间标识符和名称空间条目标识符中的每项,所述供应商标识符识别包括所述***设备的***设备的类的供应商,所述名称空间标识符识别包括所述***设备的类型的***设备的类型的集合,所述名称空间条目标识符识别所述***设备的所述类型或者作为所述***设备的特定功能性的***设备的特定功能性中的至少一项;
针对所述***设备,基于所述供应商标识符、所述名称空间标识符和所述名称空间条目标识符生成***设备类标识符,所述***设备类标识符识别***设备的所述类,其中所述***设备类标识符对应于***设备的所述类内的多个不同的***设备,而不使用在所述多个不同的***设备中的个体***设备之间进行区分的产品标识符;
使用所述***设备类标识符来识别针对所述***设备的设置记录,所述设置记录用于***设备的所述类;以及
使用所述设置记录来设置所述***设备以用于在所述计算设备上使用。
18.根据权利要求17所述的计算设备,使用所述设置记录来设置所述***设备以用于在所述计算设备上使用包括:在所述计算设备上安装由所述设置记录识别的驱动器。
19.根据权利要求17所述的计算设备,所述***设备包括人类接口设备,所述名称空间标识符包括所述人类接口设备的用法页标识符,所述名称空间条目标识符包括所述人类接口设备的用法标识符,生成所述***设备类标识符包括:通过串接所述供应商标识符、所述用法页标识符和所述用法标识符生成所述***设备类标识符。
20.根据权利要求17所述的计算设备,使用所述***设备类标识符来识别所述设置记录包括将所述计算设备上的多个设置记录中的一个设置记录识别为所述设置记录,所述多个设置记录中的所述一个设置记录包括所述***设备类标识符。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/512033 | 2014-10-10 | ||
US14/512,033 US10437742B2 (en) | 2014-10-10 | 2014-10-10 | Vendor-specific peripheral device class identifiers |
PCT/US2015/054106 WO2016057439A1 (en) | 2014-10-10 | 2015-10-06 | Vendor-specific peripheral device class identifiers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106796557A CN106796557A (zh) | 2017-05-31 |
CN106796557B true CN106796557B (zh) | 2020-08-28 |
Family
ID=54364675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580054936.5A Active CN106796557B (zh) | 2014-10-10 | 2015-10-06 | 供应商专用的***设备类标识符 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10437742B2 (zh) |
EP (1) | EP3204847A1 (zh) |
KR (2) | KR102370570B1 (zh) |
CN (1) | CN106796557B (zh) |
WO (1) | WO2016057439A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI670639B (zh) | 2017-05-18 | 2019-09-01 | 美商愛特梅爾公司 | 用於識別使用者介面元件之技術以及使用其之系統及裝置 |
US11113188B2 (en) | 2019-08-21 | 2021-09-07 | Microsoft Technology Licensing, Llc | Data preservation using memory aperture flush order |
CN111611189A (zh) * | 2020-05-28 | 2020-09-01 | 开元通信技术(厦门)有限公司 | 一种通信方法、装置及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003135A1 (en) * | 2002-06-27 | 2004-01-01 | Moore Terrill M. | Technique for driver installation |
US20040064594A1 (en) * | 2002-10-01 | 2004-04-01 | Subramaniyam Pooni | Method and apparatus for identifying multiple paths to a SCSI device |
US20070294430A1 (en) * | 2006-06-20 | 2007-12-20 | Microsoft Corporation | Generating a device address persistent across different instantiations of an electronic device |
CN101675419A (zh) * | 2007-05-07 | 2010-03-17 | 索尼爱立信移动通讯有限公司 | 自动提供usb兼容外设的备选usb配置以呈现给主机计算机的方法、设备以及计算机程序产品 |
CN102067066A (zh) * | 2008-06-20 | 2011-05-18 | 微软公司 | 计算***中***设备的输入和输出的关联 |
US8463951B1 (en) * | 2003-03-27 | 2013-06-11 | Nvidia Corporation | Unified driver architecture device identifier strategy |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974474A (en) * | 1996-03-15 | 1999-10-26 | Novell, Inc. | System for automatic hardware identification and configuration where instance values are unique within the computer system and resource requirement conflicts are resolved by modifying resource settings |
US5890014A (en) * | 1996-08-05 | 1999-03-30 | Micronet Technology, Inc. | System for transparently identifying and matching an input/output profile to optimal input/output device parameters |
US5875350A (en) * | 1997-04-21 | 1999-02-23 | International Business Machines Corporation | Compressed message exchange initiated by basic command accompanied by enhancement code |
US7047534B2 (en) | 2000-03-17 | 2006-05-16 | Microsoft Corporation | Simplified device drivers for hardware devices of a computer system |
US7076536B2 (en) | 2000-12-21 | 2006-07-11 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device at an address based on a peripheral device identifier |
US20030078980A1 (en) * | 2001-10-18 | 2003-04-24 | Jay Carstens | Electronic billboard for peripheral devices |
US20040006459A1 (en) * | 2002-07-05 | 2004-01-08 | Dehlinger Peter J. | Text-searching system and method |
US20040193860A1 (en) * | 2003-03-24 | 2004-09-30 | Rothman Michael A | Methods and apparatus to export information from hardware devices |
US7232063B2 (en) * | 2003-06-09 | 2007-06-19 | Fujitsu Transaction Solutions Inc. | System and method for monitoring and diagnosis of point of sale devices having intelligent hardware |
DE102004018579A1 (de) * | 2004-04-16 | 2005-11-03 | Airbus Deutschland Gmbh | Verkleidung für eine Struktur eines Flugzeugs |
US7802022B2 (en) | 2004-04-29 | 2010-09-21 | Microsoft Corporation | Generic USB drivers |
TWI301606B (en) * | 2004-08-09 | 2008-10-01 | Chi Mei Optoelectronics Corp | Device for generating gamma correction voltage and display ultilizing the same |
US7480740B1 (en) * | 2004-10-05 | 2009-01-20 | Lsi Corporation | Method and system for enforcing hardware/software compatibility constraints |
US7716382B2 (en) | 2005-01-11 | 2010-05-11 | Microsoft Corporation | Rich targeting criteria for selection of driver packages |
US8073997B2 (en) * | 2005-03-04 | 2011-12-06 | Cambridge Silicon Radio Limited | Software install automation |
US7584347B2 (en) * | 2005-06-10 | 2009-09-01 | Dell Products L.P. | System and method for identifying bootable device by generating a signature for each bootable device where the signature is independent of a location of the bootable device |
US8132186B1 (en) | 2007-03-23 | 2012-03-06 | Symantec Corporation | Automatic detection of hardware and device drivers during restore operations |
US20080276012A1 (en) | 2007-05-04 | 2008-11-06 | Joe Mesa | Driver Loading via a PnP Device |
JP5294892B2 (ja) | 2009-01-14 | 2013-09-18 | キヤノン株式会社 | 画像形成装置、装置、制御方法、及びプログラム |
US8554957B1 (en) * | 2010-02-24 | 2013-10-08 | Open Invention Network, Llc | Method for creation of device drivers and device objects for peripheral devices |
US8825909B1 (en) | 2011-02-28 | 2014-09-02 | Vmware, Inc. | Application directed dynamic driver substitution |
US9009738B2 (en) | 2011-03-17 | 2015-04-14 | Microsoft Technology Licensing, Llc | Device identification using device functions |
US20120284702A1 (en) * | 2011-05-02 | 2012-11-08 | Microsoft Corporation | Binding applications to device capabilities |
US20130036431A1 (en) * | 2011-08-02 | 2013-02-07 | Microsoft Corporation | Constraining Execution of Specified Device Drivers |
US9224359B2 (en) * | 2011-09-26 | 2015-12-29 | Google Technology Holdings LLC | In-band peripheral authentication |
US9058184B2 (en) | 2012-09-13 | 2015-06-16 | Vayavya Labs Private Limited | Run time generation and functionality validation of device drivers |
-
2014
- 2014-10-10 US US14/512,033 patent/US10437742B2/en active Active
-
2015
- 2015-10-06 WO PCT/US2015/054106 patent/WO2016057439A1/en active Application Filing
- 2015-10-06 CN CN201580054936.5A patent/CN106796557B/zh active Active
- 2015-10-06 KR KR1020177012395A patent/KR102370570B1/ko active IP Right Grant
- 2015-10-06 KR KR1020227006890A patent/KR102449372B1/ko active IP Right Grant
- 2015-10-06 EP EP15787746.5A patent/EP3204847A1/en not_active Ceased
-
2019
- 2019-03-21 US US16/360,427 patent/US10684962B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003135A1 (en) * | 2002-06-27 | 2004-01-01 | Moore Terrill M. | Technique for driver installation |
US20040064594A1 (en) * | 2002-10-01 | 2004-04-01 | Subramaniyam Pooni | Method and apparatus for identifying multiple paths to a SCSI device |
US8463951B1 (en) * | 2003-03-27 | 2013-06-11 | Nvidia Corporation | Unified driver architecture device identifier strategy |
US20070294430A1 (en) * | 2006-06-20 | 2007-12-20 | Microsoft Corporation | Generating a device address persistent across different instantiations of an electronic device |
CN101675419A (zh) * | 2007-05-07 | 2010-03-17 | 索尼爱立信移动通讯有限公司 | 自动提供usb兼容外设的备选usb配置以呈现给主机计算机的方法、设备以及计算机程序产品 |
CN102067066A (zh) * | 2008-06-20 | 2011-05-18 | 微软公司 | 计算***中***设备的输入和输出的关联 |
Also Published As
Publication number | Publication date |
---|---|
KR20170066586A (ko) | 2017-06-14 |
US10684962B2 (en) | 2020-06-16 |
KR102370570B1 (ko) | 2022-03-04 |
US20160103771A1 (en) | 2016-04-14 |
US20190220421A1 (en) | 2019-07-18 |
WO2016057439A1 (en) | 2016-04-14 |
US10437742B2 (en) | 2019-10-08 |
KR20220031764A (ko) | 2022-03-11 |
KR102449372B1 (ko) | 2022-09-29 |
CN106796557A (zh) | 2017-05-31 |
EP3204847A1 (en) | 2017-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9110754B2 (en) | Computing device update control | |
US9934129B1 (en) | Determining application test results using screenshot metadata | |
KR20180014199A (ko) | 다수의 애플리케이션 버전의 분배 | |
US10684962B2 (en) | Vendor-specific peripheral device class identifiers | |
US10191986B2 (en) | Web resource compatibility with web applications | |
US10762040B2 (en) | Schematized data roaming | |
US11720370B2 (en) | Electronic apparatus and method of executing application program | |
US10095794B2 (en) | Augmenting search results with device and application history | |
US10241772B1 (en) | Recommending substitute applications | |
KR20170062483A (ko) | 대화식 텍스트 미리보기 | |
US12034817B2 (en) | Methods and apparatus for user identification via community detection | |
US20150324188A1 (en) | Aggregation of Update Sets | |
US10621627B2 (en) | Running client experiments based on server-side user segment data | |
US20180349131A1 (en) | Windows support of a pluggable ecosystem for universal windows application stores | |
US11836503B2 (en) | Electronic device for executing heterogeneous operating systems and method therefor | |
KR20170055983A (ko) | 컴퓨터에서의 개별 디바이스 리셋 및 복구 | |
US20140181684A1 (en) | Modifying a user profile | |
KR101554076B1 (ko) | 타일드 디스플레이 시스템에서 다중 입력 장치에 기반한 사용자 인터랙션 제공 시스템 및 이를 이용하는 방법 | |
KR20210002394A (ko) | 응용 프로그램을 실행하는 전자 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |