Microsoft patent makes Plug-and-Play smarter

Plug and PlayWhen you buy a computer peripheral today – whether it be a webcam, gamepad or a keyboard, the expectation is that when you plug it in it will work without any manual configuration. Thanks to Plug-and-Play support in all of today’s operating systems, motherboards and devices, that is very much a reality. Having said that, the system is not perfect.

The problem lies with device drivers. The device drivers which ship with each operating system release is only what is available at the time, so it cannot support new hardware which has been released after that time. This means when you plug in the device, the system is not going to find a suitable driver or it’s going to end up becoming a generic device. I’m sure you too will be quite pissed when you just installed a $300 gaming keyboard and mouse, and it defaults as a generic USB keyboard and mouse.

Up to and until now, operating systems and hardware vendors have tackled this problem by the use of internet updating mechanisms which seek out new drivers when you plug in a device. This of course relies on vendors actually actively updating the drivers in this drivers pool which so far they’ve failed, but more importantly, it requires an active internet connection. The paradox of installing a new network adapter which requires a network connection to download a new driver is a good example where this fails.

Self-Installing Computer PeripheralsMicrosoft has just patented an idea that solves both of these problems with one stone. Patent application 20080071935, “Self-Installing Computer Peripherals” for those of you playing at home.

The idea involves adding a tiny bit of non-volatile flash memory right into the device. It would only need to be large enough to store with it the device driver and any additional software required to support the device. In addition, a USB hub needs to be built into the device so both the functionality and flash memory parts of the device can be accessed by the system.

When the device is manufactured, the vendor can write to the memory the latest available drivers for the device. When plugged in, the operating system will automatically install the necessary components from the flash memory to utilize this device.

What’s more, because the memory can be written as well as read, if new driver or software is available, it can be automatically updated onto the device as well. This means if the device is plugged into another computer, the driver always up-to-date.

This might not sound like much for experienced users who have no problems finding and installing new drivers, but it’s pretty common to find a large majority of user using outdated or generic drivers just because they’re not even aware of drivers let alone driver updates. I think this has huge implications for them.

Especially when it seems like almost every other week a new webcam or keyboard and mouse set is released, having the best possible experience without any driver scavenging will certainly increase user satisfaction and decrease technical support calls.

For now, this seems to be only applicable to USB devices. I’d imagine it might take just a little more effort to get this working on expansion devices such as optical drives, motherboards, graphics cards and sound cards where drivers play a more critical role in the success of failure of utilizing the device in the first run. That, would sure be a hit with pro users too.

60 insightful thoughts

  1. @Karolynaz: If you know that you should download a driver even if you device seems to be working, then I think you’re a pro. After all, half my USB devices are installed as “Generic” and I didn’t know that wasn’t such a good thing until I read this.
    @Kjell-Ake Andersson: The same way they protect USB flash drives (i.e. not at all)
    @Long Zheng: Do you, like, troll the patent office website or something?

  2. Sorry MS but this is damned to fail!
    Because no one would pay a lot extra only for getting the device drivers on the device right away. And then it’s not even sure if your OS is supported. I mean if you use a 10 year older or younger computer than the device or even linux , the driver installation may fail, and the only chance to find a driver is trough the web.

  3. I like the idea (I have wondered why it hasn’t been done before). Although the only thing is that imagine if you have about 4/5 devices, plus a card reader. How many drive letters would that use…. and fill in the my computer win Hopefully Microsoft can add a control panel applet in the ;Computer’ window to manage them all instead of adding another ‘Removable Disk’ in ‘Computer’
    I think it will help the environment by not having as many CD’s pressed and wasted.

    @Philipp Kung – Flash drives are really cheap now, and if they include this small piece of hardware in new devices then I don’t think prices will be that different. And I am sure if they usually include drivers for many OS’s on CD they can do that with the internal flash memory. Also I don’t see how having an old computer or linux would be any different than it is now with the CDs’ that come with devices now.
    Also you have the option of adding that drivers which makes that much easier.

  4. @Chustar: Yes I do.

    @Phlipp Kung: I don’t think this will suceed or fail at the hands of Microsoft, but certainly there is a great amount of interest by vendors to ensure their customers get the best experience out of their device. If a customer ends up unsatisfied as a result of an outdated driver, I think that’s a big loss for them.

    All of this probably comes at an investment less than $10. If that’s all it costs to them, I think there’s a lot to gain from it. They sure spend more than $10 for a technical support call.

  5. @Matt: It doesn’t have to show up as a storage drive because the operating system would be smart enough to recognize that it is purely for the drivers, and choose to hide it.

  6. That’s true. But it’d still be good to know that it won’t silently reserve the drive letter for each device (I personally have many remote drives mapped) and hope it still provides an easy way to add/remove driver versions.

  7. = Fail, unless they future proof it, as in let the drivers be updated for new OSes, and they’d also need to include drivers for Mac, Windows, Linux, etc etc etc.

  8. Nice idea! But wouldn’t it be better if we think of ways that the OS could handle any device without special software? Or maybe we just get good drivers! It is a real big mess today (Windows Vista SP1 delay).

  9. Long, well if the Industry would get off its a** and implement EFI the other devices would have it at the Motherboard level. what you describe here is part of the EFI spec for locally connected devices. even the main USB hub on the motherboard could have this.


  10. lol, no “plug an pray” anymore =P I think windows 7 (or any other apps/os? that will contain this new idea) is going to be something special

  11. Actually, I have had this idea before at the time when Windows Vista newly came out and that I couldnt install one of my hardware, except for the USB Flash Memory part of it. But hey! I am happy Microsoft chose to have such ideas too! Rock on MS! Windows Rocks!

  12. Like mstq i had the same idea several years ago. Just with ROM instead of Flash Memory. I hope it becomes reality soon. It will make life so much easier 😀

  13. Beau – did you even read the article it allows the updating of the flash memory with new drivers. Also given that 95% of the hardware market targets Windows somehow I doubt it would fail given Linux is an after thought for the vast majority of companies and OSX takes the reaming niche on a closed platform so the need for a system like this isn’t so great.

    Overall it sounds like a really good idea providing they can build in support to the OS so it will hide the flash/usb hub on the device and it all works transparently.

  14. Paying a lot extra? do you know how little it costs for bulk buys of small flash memory? less than £1 for like 64mb I believe.. not to mension a lot of devices already have flash memory anyway that could be used..

  15. lol, funny, but HUAWEI modems already have something similar, the drivers and software are stored on a built-in RO flash drive(updateable), when you plug the device in autoplay launches an app that detects if the drivers are already installed, if not, install them, else, run the GUI app(which is useless), Windows will also look in that flash drive which is mounted as a usb cd drive while installing the device drivers so autoplay isn’t really necessary.

    So, what else’s new?

  16. Well, ok, that’s fine, but I’d still like Windows Update to download updated drivers as they become available.
    I guess this idea helps with initial configuration, when there’s no internet connection available.

  17. @Rob: Not trying to knock you’re idea (it’s good), but sorry, this is not the same thing. Read it again, maybe you need to read slower.

  18. @Marty – it is, fundamentally, the same thing. Does the device contain memory? Yes. Does the device hold a device driver in the memory? Yes. Can the device driver self-install? Yes. Can the device be pre-configured with Vendor-specific settings? Yes.

    Sounds the same to me. At least enough so that 90% of this application depends on prior art. Don’t get me wrong – I know there are some differences. The fundamental claims are the same though.

  19. @lmjabreu: wanted to mention the same thing :) Huawei uses that technique for installing their drivers in approximately all their consumer modems :)

  20. You know, I’ve had this concept in my head since I owned my first USB storage device. It just made sense to me to keep the drivers with the device. I’m beyond excited that Microsoft is actually doing something about it!

  21. This idea is not new. Here in Austria the USB-UMTS-Boxes sold by the mobile phone providers for mobile internet access already have the same idea implemented.

  22. Just to be clear, there is a difference between just putting the drivers on flash memory than making the operating system smart enough to use those drivers.

    Devices have always come with drivers, that’s not the problem. But its the difference between plugging the device in, putting in a CD, clicking on install then play, compared to just plugging it in and play that’s important.

  23. Prior art are the about 10 years old Handspring Visors, Palm OS devices with the Springboard-Slot. Hardware for the Springboard-Slot came with Memory for the Drivers and even the Applications. (I developed Hardware for them, back then.)

  24. And one more thing: You don’t need a Hub in this contraption because a MCU with multiple endpoints will do fine. What were they thinking?

  25. This is pure BS. The idea of having a “driver on board” isn’t new. Crap, even the Amiga “autoconfig” boards had thier own drivers built into the boards and the motherboard would just look to a standard memory location to start loading the driver. What it really is is Microsoft doing a mild variation of existion technology (the Amiga was what, 80s technology?) and calling it new and wonderful.
    A company I worked for put user interface apps on the the devices that you could download. The number of examples of stuff like this out there is staggering. What’s really sad is that the patent will probably go through….. Sad but true.
    And for those that wonder, what’s nice about this is no distribution CD or whatever is needed, but what happens is that the driver installed becomes obsolete, and that can be a problem for hardware that’s been lying aroud for a bit.

    Lars, you should write the patent office on this one.

    Long Zheng, if you’re going to hype crap like this, you really ought to do more homework.


  26. @Dr Obnxs: Sony Walkmans have been playing music portably for over a decade. It didn’t sell nearly as well as the iPod. The iPod can still be popular and “cool” because it made enough improvements to existing technology to a point where it is socially acceptable and mass marketable.

    If you insist every new technology must be mutually exclusive from any existing technology then that’s a very Utopian perspective of progress. The world we live in today of mashups and Creative Commons empowers people to build one on top of another. Now I’m using Firefox, built on top of Netscape technology, built on top of Windows Vista, which has been built on top of every Windows NT release since the first.

    I didn’t know about the Amiga implementation, but I’m not arguing this is a cool patent or patents are necessary, I’m arguing this is a good idea. Regardless of what technology it’s based on, there’s nothing like this in Windows today. If it makes the end-user experience better, even if they take technology from the Amiga, it can still be considered cool.

  27. See, just goes to show ya… I thought this was how Plug-n-Play originally worked, until I got my first Plug-n-Play device and was dissapointed. I should have patented the damn thing when I realized it wasn’t being done. But, then again, this isn’t really a “new” idea, it’s just the next step in a progression; however that’s what innovation is afterall.

  28. Pingback: i.M.Geeky
  29. Imran: I think that there would need to be something on the OS end of things (maybe something similar to the iSCSI initiator for Vista / Server 2008) where the OS is:

    1) Aware of a new device
    2) Able to establish a connection to and directly communicate with the device
    3) Within the context of that connection use the negotiation schema to pull the driver code from the device and finally,
    4) Instantiate the new device and enable / allow it’s use.

    Most of the process as shown above are already a part of the PNP framework, especially with hot-plug / warm-plug devices like USB drives, etc. The instantiation part is simple, since it (probably) follows the same CLSID / WM_DEVICE_HANDLE or WM_DEVICE_ID schema that is already part of Windows. I’ll have to dig deeper into the patent submission to verify it, but

    Imran, Matt, et al: These devices can be absolutely secure by taking one single step: making the memory in the device as NVRAM and as read-only by design in silicon – something akin to ROMs, PROMs & EPROMS used decades ago, only without the ability to re-program the in-situ code. This feature would obliviate several Methods from the Patent (6 through 9, 12, and others), but IMHO this is a saver route to follow.

    As for cost, you would probably see $/£/ϵ 1.00 or less added to the price of the device, once the implementation and production of that cool little chunk of technology is scaled-up to a “standard feature” level.

  30. It’s a great idea, but the “additional software” thing scares me. Does this mean my new keyboard might contain a self-installing Google toolbar that installs as soon as I plug it in?

  31. @Bas: Yes, that’s what it means. Some software (fingerprint sensors, webcams) have more functionality with their own software than with Windows defaults. I guess you’ll probably be given a choice to install any additional software.

  32. @Bas: Yeah I have the same concern. It seems like Google is a virus spreading to any free program. It is getting REALLY annoying. Purely because of the fact that I accidentally didn’t uncheck “install google toolbar” in an installer, and it installed, I got really pissed so I filled a complaint with the Ohio Attorney General’s Office on terms of unfiar practices :) Guess what? THEY WANT TO ESCALATE THE ISSUE!! Hah, quite funny that what is essentially a rant, is being escalated on the grounds of unfair business practices.

  33. @ Scott Kindorf: I see what you’re saying. But I don’t understand how different it really is to USB devices which install and work through simple plugging in only without the need of user intervention to install drivers. Apart from the bit where additional software might be installed.

  34. Erm, how exactly did they get a patent for this? I’ve already got loads of USB devices e.g. webcam, 3G modem, where you plug them in, it first installs a generic mass storage device (flash), then autoplays that device, which finds the drivers for the device’s main function. Same thing except for the mechanism for updating what’s on the flash, which is simply a security risk anyway.

  35. Pingback: Nuevo Plug & Play?
  36. Long, you’re missing my point entirely. Sure, this is a nice feature. What’s wrong is that it’s being introduced after IP protection that is “obvious to anyone versed in the arts” as patent language is so fond of saying. This is the same crap that muddies the patent office to a massive backlog, and also dilutes the value of good patents. At best it’s a specific implementation, at worst it is non-protectable IP submitted to create additional protection for monopolistic practices or with the intent to soley create trade barriers. The fact that you a) don’t see this and b) appearently don’t care is part of the reason that high tech IP is becomeing the cess-pool that it’s evolved into.


  37. I actually thought of that about 3 months ago! The patent is stamped with “March 20, 2008”, so I came up with this idea before MS filed the patent!

    I hope that they won’t be able to require people to pay for licenses to use this, because this Microsoft and me can’t possibly be the first ones to think of this. And does this really seem like something you could patent?
    It’s a flash drive inside the USB thingy with drivers on it that the OS reads and uses. Wow, that really requries an IQ of 500 to come up with of and build.

    (Yes, I hate MS and most patents)

  38. I just read all the other comments and want to add that wwe should notify these people about this:

    I would be *€$¤@#(%€} if MS gets this patent. I noticed a reference to something in June 2004 in the filed patent.

    [0001] This application is a continuation of prior application Ser. No. 10/864,409, filed Jun. 10, 2004, the entire contents of which are incorporated herein by reference.”

    Try to find stuff that uses technology that would becovered by the license that’s older than from June 2004 and tell EFF!

  39. Greetings I recently finished going through through your blog and I’m very impressed. I actually do have a couple concerns for you personally however. Do you think you’re thinking about doing a follow-up putting up about this? Will you be going to keep bringing up-to-date at the same time?

Leave a Reply