developing great devices for windows pcs n.
Skip this Video
Loading SlideShow in 5 Seconds..
Developing Great Devices for Windows PCs PowerPoint Presentation
Download Presentation
Developing Great Devices for Windows PCs

Developing Great Devices for Windows PCs

92 Views Download Presentation
Download Presentation

Developing Great Devices for Windows PCs

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Developing Great Devices for Windows PCs Kosar A. Jaff Product Unit Manager Windows Device Experience Group Microsoft Corporation

  2. Key Topics • Evolution of PCs and Devices • Old Problems, New solutions • Advances in Device Driver Models, Installation • New Problems, New solutions • Advances in Connectivity • The Microsoft® Windows® PC’s Role • Create opportunity, Advance the Experience • Calls to Action • What you can do today on Windows XP • What you can do to get ready for Longhorn

  3. The PC of Today • Advanced CPUs -- Multiple Cores, 64-bit • Lots of memory – many threads, tasks • Lots of storage – easily expandable • Power friendly – on demand on/off/sleep • Rich Connectivity – any bus, any radio • Dependable Protocols – secure, powerful • Dependable Platforms – easy, stable

  4. The Power of a Distributed System • Powerful computational elements on a heterogeneous network • Marching to Moore’s and Metcalfe’s Drumbeats • Ex: 64-bit base data width  powerful machines at every price point • Ex: Multiple cores, HyperThreaded CPUs • Ex: Multiple radios / system (Bluetooth, UWB, 802.11x, WiMax) • Everything is connected • From the PC to the tiniest device • From Local connectivity to broad web-based connectivity • Ex: Microsoft SPOT-based Watch -- small, connected, and smart • Smart System Software & Protocols Link It All Together • Applications need not know if devices are near or far • Devices can depend on rich computational elements • Standardized protocols == massive interoperability • A whole new ecosystem, a whole new business model • Spreads the power of the PC platform across a broad network • Scale from local connectivity to local networks to the web

  5. Device Connectivity Landscape 32-bit System Advances 64-bit Wired Wireless USB 2.0 Advanced Wireless Devices Built-in Isoch, Rich Ecosystem, Software Support Ease of Use MBOA 802.15.3 802.15.1,2 WiFi, WiMax IEEE 1394 802.15.4 Device Functionality Simplified Ad-Hoc Nets Simple installation USB 1.x Bluetooth Rich Protocols (web services) IP Devices Automation/ Control Connectivity Complexity (Device models, Bus Speeds, Transfer Types, Ease of Use)

  6. The Device of Today • Critical question: where should I invest? • On standardized connectivity: invest in functionality • Ex: USB 2.0-based TV Tuner encoding to WMV • Ex: USB 2.0-based Hard Drive for AV uses • Ex: Bluetooth Audio Devices decoding SBC • On emerging connectivity: invest in the basics • Ex: Networked devices using UPnP – Ease of Deployment • Ex: Wireless USB using UWB – security, PnP • The Windows PC can help …

  7. The Windows PC and Devices… • Connects & Controls any device flawlessly • Good today (USB, 1394, Bluetooth, etc.) • Quality Quality Quality – WHQL, HCTs • Windows “Longhorn” – Devices “Just Work” • Finds Any Device • Discovery & Association Can Improve • Windows “PnP-X” Technologies – PnP Reinvented • Can offer services to other computers & devices • Good today for PC-to-PC (e.g., File & Print Sharing, SMB) • Opportunities for PC-to-Device • Windows “Network Connected Devices” initiative (NCD)

  8. Our Investments in Devices

  9. Advances in Driver Models

  10. Video -- Windows Driver Foundation View video at

  11. Windows Driver ModelOverview • Generic Model – WDM introduced in 1996 with Win95 OSR 2.1 • Specific driver models – Mini-ports for popular devices classes • WDM Features: • Asynchronous and packet-based IO • Layering of drivers • Dynamic loading and unloading of drivers • Plug and Play • Power management • Large device coverage • Flexible • Low-level high-performance interfaces

  12. New Model For DeviceClass Support Base Model (PnP/PM/IO/Synch) 64-bit Ready Base Model Device Specific Extension (Packet, Device I/O Control, CDB processing) Driver

  13. Windows Driver Foundation • WDF is the stepping stone to the ideal driver model • WDF Contains • A Model (independent of how it is implemented) • Framework (implementation of the model) • Multiple frameworks • Kernel Mode Framework (a.k.a Windows Driver Framework) • User Mode Framework • Driver Verification Tools • Static Driver Verifier • PREfast for Drivers • Device Interface Generation • Driver Isolation to be made available for kernel mode framework drivers

  14. WDF – Model • One conceptual model to learn for all (both kernel and user-mode) drivers • Model implies • Object model, object hierarchies, state machines • Does not refer to DDIs, data structures etc. • Note that a framework may only implement a subset of the model • E.g., User mode framework will not implement support for Interrupts • Supports rich and deep functionality (unlike WDM) • Intelligent defaulting • Fine-grained control at well-defined points in the PnP/PM state machine • Incremental development from simple to complex drivers • Extensible by device classes without duplication of functionality – by allowing device-class specific driver extensions • Allows implementation in many languages (C, C++, C#) • Allows verification by static tools • Enables Driver Isolation • Model will evolve over time to add more functionality

  15. Advances in Device Installation

  16. Consistent Device Installation • Longhorn will only install driver packages using Plug and Play mechanisms • Allows for a “trusted” package • Windows can verify package integrity • Able to track dependencies • Uninstall and rollback more reliable • Prevent unwanted side affects • Provided tools and infrastructure works on Windows 2000 and Windows XP • Allows you to create packages today that will migrate to Windows Longhorn

  17. CDI Architecture & Flow Driver Store UI (trust, EULA) Update Install UI Finish Install UI User’s context System context Add Driver Package to Driver Store Core Device Install

  18. Device Install Process • Driver Package Integrity and Validation • Happens in the user context • Ask user if they trust the publisher of the Driver Package • No UI if the user has chosen to always trust the publisher • EULA • Valid Driver Packages only • Add Driver Package to the driver store • Happens in the system context • Core Device Install • Happens in the system context • No UI is possible in the system context • Finish Install UI • Happens in the user context • Can ask questions or launch other processes

  19. Great Windows PC Experience • Simpler • No more Client Side verses Server Side • Same rules apply to class/co-installers all of the time • More user friendly • No more CD prompts for the same Driver Package • No more signature prompts for the same Driver Package • More flexible • You don’t have to be an administrator to install drivers • Rules engine for checking the user’s driver install policy • Domain administrators can push out drivers to lots of client machines at once • More secure • Single security check at strategic point based on the rules engine

  20. Advances in Plug and Play

  21. iSCSI SCSI Net ATA SATA UWB 1394 USB AGP BT PCI Device Connectivity Taxonomy • Goals • Consistent association/installation experience • Easy migration from Physically associated to Logically associated All Devices Backplane Devices Protocol & Bus Devices Physically-Associated Devices Logically-Associated Devices

  22. IP Network Directly Connected Historically: A dual approach Disparate programming models No single user experience IP devices limited in adoption Busses drive device adoption Limitations in protocols

  23. IP Network Moving Fwd: A Single, Simple Model Common Driver Framework Common Programming Models Common User Experience Common protocols Extensible & Secure Directly Connected

  24. Device Connectivity Trends • Easy Migration • Wired Busses to Wireless Busses (Wireless USB) • UPnP v1.0 to Web Services (Function Discovery) • Bluetooth Profiles to PAN (IP over Bluetooth) • Connectivity Quality • Reliable • Secure • Extensible • Consistent (User, Developer) • Scaleable (simple, complex) • Heterogeneous Wireless Connectivity • Fast at Near (UWB) • Reliable at Far (Zigbee, WiMax, etc)

  25. Emerging Connectivity • Build on existing platforms • Ex: USB  Wireless USB • Ex: SP2 BT  BT Audio • Powerful Protocols • Rich, Transport Independent • Unleash new device power • Powerful Radios • Ultra Wide Band, WiMax • Zigbee

  26. Plug And Play • First created for Windows 95 • Provides an infrastructure for • Discovery • Software Installation • Configuration • Starting Services and Loading Device Drivers • Bus Drivers are responsible for dealing with bus-specific issues • Device class-specific driver stacks and services responsible for hardware abstraction • Extensible

  27. PnP-X • PnP-X integrates network connected devices into the PnP infrastructure • New Windows services and UI components support special issues with Device Association • Associated device == has a PnP devnode • Bluetooth pairing experience will be our starting point

  28. Windows Applications Drive Devices Demo Cameron Brodeur Program Manager Network Connected Devices Microsoft Corporation

  29. Function Discovery • Function Discovery (FD) is a new API that addresses today’s problems by providing consistent interfaces for • Resource discovery and metadata retrieval • Providers expose the underlying resources as Function Instances (FIs) • Metadata retrieval • Activation • Notifications • Default management • FD also adds the following new capabilities • API layering • Flexible schema for resource categorization • Resources are not tied to a single category • Resources can be “re-categorized” as needed

  30. Simple Service Discovery Protocol (SSDP) • Used for discovery of UPnP devices • Users can’t use protocols; Some service needs to be running on the PC to do something when it sees a device • First version of UPnP places a link in My Network Places • Vendors want to produce devices that do more than present HTML UI • Because of lack of PnP integration, you create built-in UPnP support for: • Mouse • Camera • Scanner • Speakers • Portable Media Player • Block Storage • Joystick • …Or any other device supported by Windows natively • UPnP natively supported as PnP Device (through enumeration) • Built-in Function Discovery Provider

  31. WS-Discovery • WS-Discovery is our preferred discovery protocol for future devices • Aligned with web services efforts • Less chatty than SSDP • Will work well in the enterprise • Built-in Function Discovery Provider

  32. Security • 802.11x wireless devices may need WEP keys • PIN or other shared secret may be necessary for association • Want to leverage existing security infrastructures (ex., SSL) • Integration with Windows Connect Now • Once securely associated, higher level protocols will be responsible for session security • Windows Association infrastructure assists in transfer of secrets needed by higher level protocols • What you need to do: • Send mail to us at ncdinfo @ • Very cool stuff coming up here … stay tuned!

  33. Additional Platform Advances • 64-bit Programming (IA64, x64) • See the DDK 64-bit porting guide • See whitepaper on data alignment (MSDN) • WHQL Certify your drivers & test on 64-bit systems • Platform SDK Documentation • Windows Connect Now (Easy Networking) • Painless WiFi network set up • Available now (XPSP2) • More info: fconfigure @ • Send us mail today! • Build WCN devices today! • Get the Networked Devices SDK!

  34. So Many StandardsHow Microsoft Can Help • Key areas to work on together: • Wireless USB on Ultra Wide Band • Bluetooth Devices Support in Windows • Networked devices using UPnP 1.0 • Advanced Networked devices using Web Services • Windows Hardware & Driver Central • Great resources to build great devices: • Devices Profile for Web Services • Contribute to the Spec! • Workshops going on now! – • This will be in Longhorn • You can get ahead of the curve now • Networked Devices: • Send us email today! Ncdinfo @ • Beta Program for you to get early access to bits • Build great networked devices on Windows! • Ship great Applications for Networked Devices • UPnP, Web Services  great user experiences

  35. A New Wave of Device Innovation Starting Now (SP2)Through Longhorn LaunchandBeyond

  36. Call to Action • Make your drivers 64-bit compatible today • Build great wireless devices for Windows PCs today • Build on Windows Wireless Support today (Bluetooth, WCN, etc) • Windows Driver Foundation (WDF) • Consistent Device Install (CDI) • Plug and Play Extensions (PnP-X) • Function Discovery (FD) • Develop Windows apps to drive net devices, as if locally attached • Build Web Services protocols in your advanced devices today • Get the SDKs, come to the Workshops, use WHQL … AND TOGETHER, LET’S STRIVE FOR… Great new scenarios, happy customers, bigger markets