CN102707963B - Device flags - Google Patents

Device flags Download PDF

Info

Publication number
CN102707963B
CN102707963B CN201210075509.3A CN201210075509A CN102707963B CN 102707963 B CN102707963 B CN 102707963B CN 201210075509 A CN201210075509 A CN 201210075509A CN 102707963 B CN102707963 B CN 102707963B
Authority
CN
China
Prior art keywords
equipment
software
computing device
driver
information
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
Application number
CN201210075509.3A
Other languages
Chinese (zh)
Other versions
CN102707963A (en
Inventor
C.I.卢普
S.C.卡利诺乌
C.G.佩特鲁塔
B.贾加尔塞罕
C.E.马蒂楚克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102707963A publication Critical patent/CN102707963A/en
Application granted granted Critical
Publication of CN102707963B publication Critical patent/CN102707963B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

Device flag techniques are described. In one or more implementations, responsive to detection by a computing device that a device has been communicatively coupled to bus of the computing device, a database is queried by the computing device to determine whether one or more flags have been set for the device. Responsive to a determination made as a result of the querying that the one or more flags have been set for the device identifier, information associated with the one or more flags is communicated to software that is associated with the device to configure the software.

Description

Device flag
Technical field
The present invention relates to a kind of method for safeguarding compatibility.
Background technology
Computing device can include various different hardware devices to extend the available function of computing device.For example, hardware Equipment can include internal unit and the external equipment that can configure in the casing of computing device, such as printer, photograph Machine etc..The communication between the operating system of computing device and these equipment is generally enabled using driver.
However, the sustainable development of the software of execution may lead to the mode that software interacted with driver in computing device Change.As a result, for example, the driver compatible with the operating system of former version may be not simultaneous with the operating system of version after a while Hold.Conventional art for tackling this incompatibility includes writing the driver of more redaction.Although this can recover to set Standby function, but the write of driver may relate to wait until that driver is available for propagating, is related to user's positioning Driver of more redaction etc., and this may lead to user's sense of defeat and lose productivity ratio.
Content of the invention
Description device flag technology.In one or more implementations, in response to equipment has been detected by computing device Through being communicatively coupled to the bus of this computing device, this computing device inquires about database to determine whether to be provided with one for this equipment Individual or multiple marks.In response to the determination being provided with one or more marks for device identifier made as a result, The information transmission associating with this one or more mark is given the software of this equipment association to configure this software.
In one or more implementations, computing device detects equipment and has been communicatively connected to the total of this computing device Line, and the device identifier of this equipment is by the bus driver acquisition executing and managing bus on the computing device.Should The device identifier of equipment is sent to the engine that can perform in this computing device by bus driver.Database is looked into by engine Ask to determine whether to be provided with one or more marks for device identifier, and in response to setting for device identifier Put the determination of one or more marks, the information transmission relevant with one or more marks to bus driver and has been somebody's turn to do Information is adopted by bus driver.
In one or more implementations, receive via network in one or more computing devices of network service and use Telemetry, identifies joining of the corresponding driver that equipment firmware, equipment communicates via it and driver using telemetry Put.One or more computing devices are processed and is determined using which equipment described in telemetry using telemetry Comprise the firmware being related to enable this equipment and the renewal of the operation of the function of each computing device otherwise will not being enabled.
There is provided this Summary to introduce in simplified form below specific embodiment partly in further The selection of the concept of description.This Summary is not intended as identifying the key feature of claimed theme or basic Feature, is intended to be used to assist in the scope of claimed theme.
Brief description
Detailed description is described in reference to the drawings.In the accompanying drawings, reference numeral leftmost (one or more) Digital ID This reference numeral first time occurs in that figure therein.Using identical reference number in the different instances of specification and drawings Word can indicate similar or identical item.
Fig. 1 is the explanation that can be used to execute the environment in the sample implementation of device flag technology.
Fig. 2 is the system showing in the sample implementation of interaction between equipment in Fig. 1, driver and flag engine Explanation
Fig. 3 is that the connection describing wherein equipment to computing device is detected and initiates whether verification is that equipment is provided with mark The flow chart of the process in the sample implementation of the process of will.
Fig. 4 is to describe wherein execution inquiry to determine whether to be provided with the sample implementation of mark for particular device Process flow chart.
Fig. 5 is to describe wherein by the use of the telemetry generating as the result by one or more mark configuration driven programs Sample implementation in process flow chart.
Specific embodiment
General introduction
Computing device can include (for example, being communicatively coupled to) various distinct device, so that computing device is permissible Function using equipment.For example, computing device can be communicatively coupled to printer, compact disk-read/write, thumb actuator or permissible It is the inside (for example, in casing) of this computing device or other ancillary equipment of outside.Driver can be utilized to make Communication between energy computing device and this equipment, being such as converted into the order data of the operating system from computing device can The form being understood by this equipment, and vice versa.However, the change for operating system may cause and driver Incompatibility, and therefore cause the incompatibility with this equipment.
Description device flag technology, can be safeguarded the software (for example, operating system) of such as computing device and set using it Compatibility between the standby and driver of equipment.This compatibility can provide in many ways.For example, flag engine (for example, it can as calking (shim) engine a part of realizing) hardware id and the data of corresponding mark can be safeguarded Storehouse.Therefore, when the equipment of detecting is connected to computing device (for example, via bus driver), flag engine can be inquired about Determine whether any mark for this equipment id setting.Then, the information relevant with this mark can be sent to driving journey Sequence is come such as in order to code path selects correspondingly to configure this driver, the specific function of enabled device etc., and it is further Discussion can be found with respect to following part.
In the following discussion, the example context being used according to driver calking technology is described first. The instantiation procedure that subsequently description can also adopt in this example context and other environment.Thus, the execution of instantiation procedure is simultaneously It is not limited to this example context, and this example context is not limited to execute these instantiation procedures.
Example context
Fig. 1 is the explanation being operable to using the environment 100 in the sample implementation of technology described herein.Illustrated Environment 100 include computing device 102, it can configure in every way.For example, computing device 102 may be configured to Portable game device, mobile phone, can be by computer (the such as desktop computer, one or more clothes of network service Business device, recreational facilities), be communicatively coupled to Set Top Box of display device etc..Thus, the scope of computing device 102 can be from having The wholly-owned source device (such as personal computer, game machine) of substantial amounts of memory and processor resource is to having limited memory And/or the low resource device (for example traditional Set Top Box, handheld game machine) of process resource.In addition although showing single calculating Equipment 102, but this computing device 102 can represent multiple different equipment, such as by trade company using executing the many of operation Individual server, remotely control and set-top box combination etc..
The entity that computing device 102 can also include leading to the hardware of this computing device 102 to execute operation is (for example, soft Part), such as processor, functional block etc..For example, computing device 102 can include computer-readable medium, and it can be configured to Keep leading to this computing device and especially leading to the hardware of this computing device 102 to execute the instruction operating.Thus, these instructions It is used for configuring hardware to execute operation, and so lead to the change of hardware to bring perform function.These instructions can be by computer Computer-readable recording medium is by various different configuration provides to computing device 102.
The such configuration of one kind of computer-readable medium is signal bearing medium (signal bearing medium), And thus be configured to such as send instruction (for example, as carrier wave) via network to the hardware of computing device.This computer can Read medium can also be configured to computer-readable recording medium and because rather than signal bearing medium.Computer-readable storage medium The example of matter includes random access memory (ram), read-only storage (rom), CD, flash memory, harddisk memory and can make With magnetic, light and other technology come other storage devices of store instruction and other data.
Computing device 102 can also be illustrated as including processor 104 and memory 106.Processor is not formed it Material or treatment mechanism employed in it restriction.For example, processor can include (one or more) semiconductor and/or Transistor (for example, electronic integrated circuit (ic)).In such context, processor executable can be that electronics can be held Row instruction.Alternatively, the mechanism of processor or for the mechanism of processor and the mechanism by this computing device or be used for calculating The mechanism of equipment can include but is not limited to quantum calculation, optical oomputing, mechanical calculations (for example, using nanometer technology) etc..Additionally, Although display single processor 104 and memory 106, can using the memory of various types and combination and/ Or processor.
Computing device 102 is illustrated as also including the operating system 108 with kernel 110 and one or more driver 114, wherein the one or more driver is configured to support the kernel 110 of operating system 108 and one or more equipment Communication between 112.Kernel 110 represents the assembly of operating system 108, and it is generally employed to such as processor 108, storage Device 106 is that the application being executed by computing device 102 is soft with other with the function modeling of the underlying device of miscellaneous equipment 112 etc Part.Although operating system 108 and kernel 110 are illustrated as execution on processor 104, these modules can also be stored in In memory 106.
These equipment 112 can represent the various different equipment that can be adopted by computing device 102.For example, these set Standby 112 can include ancillary equipment, printer, scanner, hard disk drive etc..These equipment 112 can also represent can The function of the other computing devices to be utilized by computing device 102, is such as used mobile phone as storage device, accesses and move Photo on phone etc..Thus, computing device 102 can utilize various different equipment 112, to be added to computing device 102 function.
In order to these equipment 112 communicate with computing device 102 and especially with the operating system 108 of this computing device and interior Core 110 communicates, and can adopt one or more drivers 114.Driver 114 is generally employed to abstract relevant device 112 function.For example, driver 114 may be configured to a series of layer, so that by the kernel from operating system 108 110 order is converted into each equipment " intelligible " device-specific order.
Computing device 102 can adopt various different drivers 114.For example, driver 114 can be configured to Class driver, such driver is configured to interact with multiple different types of equipment 112.For example, class driver can To be arranged to optical read/write device, storage device, network etc..Another example is related to bus driver, for example by usb, Pci or the driver of similar bus employing, the equipment of so shared puppy parc (for example, usb agreement) can be using same The driver of sample comes compatible with computing device 102.From other of device stack different types of driver (for example, bus Driver, class driver, filter drive program, device driver) these technology can be adopted.Additionally, it is various other Software can also utilize these technology, and the such as code path based on context for the carrying out based on mark selects and is based on equipment mark Know the application of the data retrieval of symbol.
However, as previously mentioned, it is understood that there may be some situations, wherein driver 114 no longer with such as operating system 108 The softwarecompatible of the computing device of kernel 110.For example, operating system 108 can be updated to the version updating, and applies service Bag etc., this may change the mode that operating system 108 is configured to communicate with driver 114.
Correspondingly, computing device 102 can adopt flag engine 116, and it represents to prop up using one or more marks 118 Hold the function of the compatibility between driver 114 and operating system 108.For example, when equipment 112 is communicatively coupled to computing device 102(is for example coupled to bus), flag engine 116 can receive the hardware id 120 of this equipment.Then hardware id 120 is permissible Flagged engine 116 is used for determining whether one or more marks 118 correspond to hardware id 120.Then driver 114 is permissible Support the communication and equipment 112 between using the relevant information of mark 118.So, the behavior of particular device can be beaten On indicate and be used as to determine the basis of " reparation " communicating with equipment 114.This can be used to support diversified function, it shows Example is that computing device 102 can adopt universal driver 114, and this driver can configure exclusively for particular device 112, its Further discussion can find with respect to Fig. 2.
Generally, any function described herein can be using software, firmware, hardware (for example, fixed logic circuit), artificial Process and to realize, or realized using the combination of these implementations.Term " module " used herein, " engine " and " work( Can " typically represent hardware, software, firmware or a combination thereof.In the case of a software implementation, module, functionally or logically on behalf of the instruction And hardware, its operation specified by execution hardware such as one or more processors and/or functional block.
Fig. 2 explanation is logical in order to the assembly of Fig. 1 computing device 102 using the marker technique for driver compatibility The sample implementation 200 of letter.In this illustration, equipment 112 initiates the communication with the bus 202 of computing device 102 of Fig. 1 Connect.Bus driver 204 can detect the equipment id 120 that this connects and provides mark equipment 112.For example, equipment id 120 can identify the specific hardware of equipment 112, firmware etc..Equipment id 120 can also be based on the function of being supported by equipment 112.
Then, flag engine 116 can receive this equipment id 120 and determine equipment 112 by checking database 208 One or more behaviors whether be labeled with indicating.For example, flag engine 116 can determine mark 118 whether corresponding device id 120.In the example that this illustrates, database 208 be illustrated as local positioned at computing device 102, but other example Contemplated, such as can by network 212 access in the available database of network service 210.
If equipment id 120 has corresponding mark 118 in database 208, flag engine 116 can accordingly Information 214 bus driver 204 is provided back.For example, information 214 can describe mark itself, such as " bit 5 is set " Mean that bus driver 204 will not provide specific power command to equipment 112.In another example, mark 118 can To associate with the payload 216 comprising can be used for the more details configuring bus driver 204.
For example, equipment 112 according to standard configuration, and can therefore comprise standardization behavior 218, i.e. the row consistent with standard For.The behavior 220 of the extension that equipment 112 can also include being not comprised in standard, such as can be added to the standard in future In and/or help equipment 112 commercially distinguish the extra feature of itself.However, by using technology described herein, this Bus driver 204 can be disposed for expanding by the behavior 220 of a little extensions by using mark 118 and/or payload 216 Exhibition behavior 220 and supported by bus driver 204.This configuration can be supported, in many ways such as using mark Will 118 so that code path selection is carried out by bus driver 204, for the payload 216 etc. of equipment specific function.
Flag engine 116 can also provide telemetry to network service 210, and it can be used for various different features. For example, as illustrated in Fig. 2, network service 210 is illustrated as processing, including representing, the telemetry receiving from flag engine 116 Function telemetry module 222.For example, it is possible to using telemetry module 222 so that the developer of software or equipment 112 can indicate that Whether to communicate with equipment 112 using the function of the previous version of software, and show this point using mark 118.
For example, telemetry can include such as equipment id 120 and for closing with bus driver 204 and equipment 112 The details of the context of connection event.Then this can be used for processing these events using data, such as determines for drawing The compatibility test entering renewal requires, and identification is related to the particular device on the market of renewal, determines whether equipment has adapted to later Version, and thus mark no longer related (for example, the firmware of equipment 112 is updated over processing the renewal of operating system 108 Version) etc..The discussed further of these and other technology can find with respect to procedure below.
Instantiation procedure
Discussed below description can access checking skill using the shared resource that the previously described system and equipment are realized Art.The each side of each process can be realized with hardware, firmware or software or a combination thereof.These processes are shown as one group Block, it specifies operation of being executed by one or more equipment, and executing these by each block and operate shown in being not necessarily limited to Order.Be discussed below partly in, by with reference to the environment 100 of Fig. 1 and the system 200 of Fig. 2.
The connection of Fig. 3 description wherein equipment to computing device is detected and initiates whether verification is that equipment is provided with mark The sample implementation of process in process 300.Computing device detects equipment and has been communicatively connected to the total of this computing device Line (block 302).For example, bus driver can be implemented in computing device 102, and equipment is detected during runtime 114 are already connected to bus 202.In another example, can initiate and the corresponding class driver of equipment 114 being connected, , the storage class driver being used for storage device, application can be special for the network call driver being such as used for the network equipment Door configuration (for example, and thus including the function as driver) etc..
Obtain the device identifier (block 304) of equipment by bus driver.For example, device identifier 120 can describe Hardware and/or firmware that this equipment adopts, specific function that this equipment is supported, are configured to the unique identifier of particular device (for example, sequence number) etc..Then, equipment id(block 306 is obtained by the flag engine of computing device), and it is next really to execute verification Whether calibration will is to should equipment id(block 308), its further discussion can find with respect to figure below.
Fig. 4 description wherein execution is inquired about to determine whether to be provided with the sample implementation of mark for particular device Process 400.The bus that equipment has been communicatively connected to this computing device is detected in response to computing device, this computing device is inquired about Database is determining whether to be provided with one or more marks (block 402) for this equipment.For example, flag engine 116 can be from Driver 114 receives and asks and inquire about database 208.
The determination made in response to the result having arranged for device identifier as this one or more mark of inquiry, The information associating with this one or more mark is transmitted to the software associating with this equipment to configure this software (block 404).As Front described, information 214 can configure in many ways.For example, information 214 can describe and can be used for generation by driver 114 The mark 118 of code Path selection, can include the payload 216 associating with mark, and this payload 216 can serve as configuring such as standard Outside the basis of equipment specific behavior of propagation behavior 220 etc..
Fig. 5 description is wherein by the use of the telemetry generating as the result by one or more mark configuration driven programs Process 500 in sample implementation.Receive telemetry via network at one or more computing devices of network service, This telemetry identifies the firmware of equipment, carries out the configuration (block of the respective drive program of equipment communication and driver by it 502).For example, flag engine 116 can store in database 208 and be described as and configuration driven program compatible with equipment 112 Mark 118 involved by 114, corresponding information 214, driver 114 and equipment 112(for example, equipment id 12) remote measurement number According to.Then this data is being sent to network in response to predetermined point of time during when the described operation of execution etc. via network 212 Service 210.
Process telemetry so that determined which equipment described in telemetry in one or more computing devices Comprise the firmware (block being related to enable this equipment and the renewal of the feature operation of each computing device otherwise will not being enabled 504).Continue example above, network service 210 can be processed using telemetry module 222 and can be used for the distant of multiple purposes Survey data.For example, the telemetry for equipment 112 can give particulars, this details with regard to which equipment 112(for example, and Corresponding firmware) continue to be related to mark 118 using providing compatibility, which equipment 112 carrys out enabled device using mark 118 Specific function (for example, the behavior 220 of extension), which device upgrade firmware and be no longer required for using mark 118, etc..Then Developer can using this information when introducing upgrading to software (operating system of such as redaction or services package update) come really Determine compatibility test to require, to guarantee dependence mark 118 to be carried out to the equipment of enabled device specific function, equipment compatibility is not fallen Move back.It is also contemplated for various other examples on the premise of without departing from its spirit and scope.
Conclusion
Although the present invention is described with architectural feature and/or the specific language of method action, it is to be understood that appended Invention defined in claims is not necessarily limited to these described specific features or action.On the contrary, these are specific Feature and action are disclosed as realizing the exemplary forms of claimed invention.

Claims (10)

1. a kind of method for safeguarding compatibility, comprising:
The bus that equipment has been communicatively coupled to this computing device is detected in response to computing device, this computing device inquires about data Storehouse is maintained in one or more of this database mark (402) to determine whether to be provided with for this equipment;With
In response to the determination being provided with one or more marks for equipment made as Query Result, will with this or The information transmission of multiple mark associations gives the software of this equipment association to configure this software (404).
2. the code path that the method for claim 1, wherein this information are arranged to this software selects.
3. the method for claim 1, wherein this information are used for carrying out configuration software for the equipment specific function of this equipment.
4. the method for claim 1, wherein this software are applications.
5. the method for claim 1, wherein this software are bus driver, class driver or filtration drive journey Sequence.
6. the method for claim 1, wherein this software are configured to handle the ability of the equipment consistent with standard, and This information is used for carrying out configuration software for the ability of the equipment being not related to this standard.
7. the method for claim 1, wherein this software are configured to handle consistent with the particular version of operating system The ability of equipment, and this information carrys out configuration software for the previous version for operating system.
8. the method for claim 1, further includes to transmit description software to information via network to network service The telemetry using.
9. method as claimed in claim 8, wherein telemetry can be used in determining the compatibility test for introducing renewal Require.
10. method as claimed in claim 8, wherein telemetry can be used in commercially identifying specifically described equipment, Described equipment is related to firmware and updates, and this firmware updates the function of enabling the equipment otherwise will not being enabled.
CN201210075509.3A 2011-03-21 2012-03-21 Device flags Active CN102707963B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/052,757 US9003363B2 (en) 2011-03-21 2011-03-21 Device flags
US13/052757 2011-03-21

Publications (2)

Publication Number Publication Date
CN102707963A CN102707963A (en) 2012-10-03
CN102707963B true CN102707963B (en) 2017-01-18

Family

ID=46878424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210075509.3A Active CN102707963B (en) 2011-03-21 2012-03-21 Device flags

Country Status (4)

Country Link
US (2) US9003363B2 (en)
EP (1) EP2689341B1 (en)
CN (1) CN102707963B (en)
WO (1) WO2012128978A2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519600B2 (en) 2011-03-04 2016-12-13 Microsoft Technology Licensing, Llc Driver shimming
US9798567B2 (en) 2014-11-25 2017-10-24 The Research Foundation For The State University Of New York Multi-hypervisor virtual machines
DE102015206666A1 (en) * 2015-04-14 2016-10-20 Siemens Aktiengesellschaft Method for operating a train protection arrangement, train protection arrangement and rail vehicle with a train protection arrangement
US10452459B2 (en) 2016-12-09 2019-10-22 Microsoft Technology Licensing, Llc Device driver telemetry
US10467082B2 (en) 2016-12-09 2019-11-05 Microsoft Technology Licensing, Llc Device driver verification
US10261933B2 (en) * 2017-01-23 2019-04-16 Wyse Technology L.L.C. Enabling session level restrictions for devices having disjoint stacks
US10642603B2 (en) 2018-01-16 2020-05-05 Nutanix, Inc. Scheduling upgrades in distributed computing systems
US10838754B2 (en) 2018-04-27 2020-11-17 Nutanix, Inc. Virtualized systems having hardware interface services for controlling hardware
US11016798B2 (en) 2018-06-01 2021-05-25 The Research Foundation for the State University Multi-hypervisor virtual machines that run on multiple co-located hypervisors
US10732957B2 (en) * 2018-07-30 2020-08-04 Dell Products L.P. Determining a stability index associated with a software update
CN112566052B (en) * 2020-11-30 2022-02-22 中国联合网络通信集团有限公司 Terminal determination method and device

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390301A (en) 1992-08-11 1995-02-14 Acer Incorporated Method and apparatus for communicating device-specific information between a device driver and an operating system in a computer system
JPH07117929B2 (en) * 1992-08-14 1995-12-18 インターナショナル・ビジネス・マシーンズ・コーポレイション Connectionless session oriented protocol first message generation system and method
US6363409B1 (en) 1995-04-24 2002-03-26 Microsoft Corporation Automatic client/server translation and execution of non-native applications
US5745763A (en) 1995-09-29 1998-04-28 International Business Machines Corporation Method and apparatus for device driver funnelling
US5809303A (en) 1995-10-18 1998-09-15 Sun Microsystems, Inc. Device I/O monitoring mechanism for a computer operating system
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
US6061796A (en) 1997-08-26 2000-05-09 V-One Corporation Multi-access virtual private network
US6745385B1 (en) 1999-09-01 2004-06-01 Microsoft Corporation Fixing incompatible applications by providing stubs for APIs
US6591417B1 (en) 1999-12-30 2003-07-08 International Business Machines Corporation Method of and system for testing compatibility with an external API upgrade
KR100671153B1 (en) 2001-04-25 2007-01-17 엘지전자 주식회사 Method for installing a device driver
US20020174264A1 (en) 2001-05-17 2002-11-21 David Fuller System and method for obtaining driver software and documentation for a detected hardware and software configuration
US20040003135A1 (en) * 2002-06-27 2004-01-01 Moore Terrill M. Technique for driver installation
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US7457831B2 (en) 2003-03-31 2008-11-25 Microsoft Corporation Peripheral device driver maintenance scheme for networked peripheral device clients
US8151280B2 (en) 2003-10-27 2012-04-03 Microsoft Corporation Simple and dynamic configuration of network devices
US7392527B2 (en) 2003-12-10 2008-06-24 Microsoft Corporation Driver-specific context for kernel-mode shimming
US7478381B2 (en) * 2003-12-15 2009-01-13 Microsoft Corporation Managing software updates and a software distribution service
US7323970B1 (en) * 2004-01-21 2008-01-29 Numerex Corporation Method and system for remote interaction with a vehicle via wireless communication
JP4622277B2 (en) 2004-03-19 2011-02-02 富士ゼロックス株式会社 Peripheral device driver installation apparatus, peripheral device, peripheral device driver installation system, and peripheral device driver installation method
DE102004062432A1 (en) * 2004-12-20 2006-06-29 Abb Research Ltd. System and method for automatically creating, installing, and configuring enhancements to the functionalities in the distributed network nodes
US7900201B1 (en) * 2004-12-21 2011-03-01 Zenprise, Inc. Automated remedying of problems in software application deployments
US20060149845A1 (en) 2004-12-30 2006-07-06 Xinnia Technology, Llc Managed quality of service for users and applications over shared networks
JP2006221327A (en) * 2005-02-09 2006-08-24 Hitachi Ltd Computer system and storage device
US7434128B2 (en) * 2005-03-24 2008-10-07 Hewlett-Packard Development Company, L.P. Systems and methods for identifying system links
US7400997B2 (en) * 2005-05-26 2008-07-15 The Mathworks, Inc. Integrated instrument driver network
US7870565B2 (en) * 2005-06-30 2011-01-11 Intel Corporation Systems and methods for secure host resource management
US20070100653A1 (en) * 2005-11-01 2007-05-03 Jorey Ramer Mobile website analyzer
US20070101342A1 (en) 2005-10-31 2007-05-03 Microsoft Corporation Automated device driver management
US20070209032A1 (en) * 2006-02-23 2007-09-06 Microsoft Corporation Driver verifier
US20070201059A1 (en) * 2006-02-28 2007-08-30 Radzykewycz Tim O Method and system for automatically configuring a device driver
US20070277248A1 (en) * 2006-05-25 2007-11-29 Microsoft Corporation Installation of an Application Module and a Temporary Certificate
JP4869050B2 (en) * 2006-12-11 2012-02-01 キヤノン株式会社 Management apparatus and management method
US8212677B2 (en) * 2007-02-12 2012-07-03 Alexander Ferguson Automated medication management system and method for use
US8234316B2 (en) 2008-09-30 2012-07-31 Microsoft Corporation Nested file system support
JP5229112B2 (en) * 2009-05-28 2013-07-03 セイコーエプソン株式会社 Controller control method and controller
DK2462507T3 (en) 2009-08-04 2019-09-23 Univ Carnegie Mellon METHODS AND APPLIANCES FOR USER-VERIFYABLE SECURE ROAD IN THE EXISTENCE OF MALWARE
US20110063304A1 (en) 2009-09-16 2011-03-17 Nvidia Corporation Co-processing synchronizing techniques on heterogeneous graphics processing units
CN101694642B (en) * 2009-10-21 2015-07-22 中兴通讯股份有限公司 Updating method of data card and device thereof
US8713053B2 (en) * 2010-03-09 2014-04-29 Cisco Technology, Inc Active tags
US8949502B2 (en) * 2010-11-18 2015-02-03 Nimble Storage, Inc. PCIe NVRAM card based on NVDIMM
US9519600B2 (en) * 2011-03-04 2016-12-13 Microsoft Technology Licensing, Llc Driver shimming
WO2012122563A1 (en) * 2011-03-10 2012-09-13 Agco Corporation Remote weather sensing for harvesting conditions
US9009738B2 (en) * 2011-03-17 2015-04-14 Microsoft Technology Licensing, Llc Device identification using device functions

Also Published As

Publication number Publication date
EP2689341A4 (en) 2014-10-08
CN102707963A (en) 2012-10-03
US20150277936A1 (en) 2015-10-01
US20120246632A1 (en) 2012-09-27
US9003363B2 (en) 2015-04-07
WO2012128978A3 (en) 2013-03-14
WO2012128978A2 (en) 2012-09-27
EP2689341A2 (en) 2014-01-29
EP2689341B1 (en) 2019-08-14

Similar Documents

Publication Publication Date Title
CN102707963B (en) Device flags
CN103809989B (en) The method that operating system occurs reading complete kernel daily record under core collapse case
CN101169718A (en) System and method for instantiating abstract class
CN109426613B (en) Method for retrieving debugging data in UEFI and computer system thereof
US11435985B2 (en) Electronic device and operation method thereof
CN109783346B (en) Keyword-driven automatic testing method and device and terminal equipment
CN1609764A (en) System and method for providing context to an input method
CN101004689A (en) Method and system for automated installation of system specific drivers
CN114398058A (en) Firmware component with self-describing compliance information
US10394756B2 (en) System and method for customizing archive of a device driver generator tool for a user
CN110515641A (en) The update method of server firmware, apparatus and system
CN111258563A (en) Interface document generation method and device, storage medium and electronic equipment
JP4890869B2 (en) A mechanism for transferring raw data between data structures that represent the same item
CN102236591B (en) System and method for customizing a SCSI error response received from a SCSI target in a storage network environment
CN110637521B (en) Data real-time storage method and system based on model simulation
US10481892B2 (en) Multiple domain embedded system
US20100058276A1 (en) Method for the integration of an integrated circuit into a standardized software architecture for embedded systems
CN111857839B (en) Linux-based PXI/PXIe bus device driving system
CN110704686B (en) Quality detection method and device for semi-structured data, storage medium and equipment
US9058184B2 (en) Run time generation and functionality validation of device drivers
US20090210589A1 (en) Dynamic Vital Product Data Update Based on an Installed Feature Card
CN114465839B (en) Modbus-based information translation device, method, system and recording medium
US7991932B1 (en) Firmware and/or a chipset determination of state of computer system to set chipset mode
US9720659B2 (en) Sparse object instantiation
US7818627B2 (en) Systems and methods for gathering debug information

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150618

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150618

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant