1 / 38

Device And PC Integration With Discovery, Plug And Play, Publication, And Network Explorer

Device And PC Integration With Discovery, Plug And Play, Publication, And Network Explorer . Roland Ayala, Cameron Brodeur, and Aaron Cunningham Program Managers Networking and Devices Microsoft Corporation. Session Outline.

devika
Download Presentation

Device And PC Integration With Discovery, Plug And Play, Publication, And Network Explorer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Device And PC Integration With Discovery, Plug And Play, Publication, And Network Explorer Roland Ayala, Cameron Brodeur, and Aaron Cunningham Program ManagersNetworking and DevicesMicrosoft Corporation

  2. Session Outline • This session discusses how to turn a network connected device into a PnP device • Overview • Function Discovery (FD) • Plug and Play (PnP) Extensions for Network Connected Devices (PnP-X) • Network Explorer • Demo • Questions

  3. Windows Connect NowThe Windows Networking and Device Connectivity Platform • Effortless • “It Just Works” experience for users • Simple protocols, APIs and DLLs for partnersand developers • Secure and Reliable • Built-in security to enable higher user confidence • Make reliability a fundamental part of the solution • Foundation for the Future • Continue enabling compelling new user experiences

  4. Windows Connect Now Programs ConsolidatedLicensing Program TechnicalGuidance Access to Windows Connect Now Technologies

  5. Windows Connect Now Technologies Applications Devices Class APIs (Digital Still Cameras, Portable Media Players, Printers, etc.) WMC, Media Renderers, MCE Function Discovery qWAVE Network Topology WCN Configuration PnP-X MTP/IP, RDP, other WS-D, UPnP IP Network (IPv4, IPv6) Ethernet/Wireless Windows Connect Now Technologies

  6. Device Connectivity Options • Wired busses • USB 1.x and 2.0 • IEEE 1394 • Wireless • Bluetooth • Wireless USB over UWB • IP connected • 802.11x • Ethernet

  7. Historically: Dual Approach • The IP “bus” is handled differently from other buses

  8. Problems With The Dual Approach • No single end-user experience • The device experience depends on the connector selected • Disparate programming models Well-understood experience when plugging into this port PNP • Fuels device adoption • Lowers support costs • A PnP device ? Undefined experience when plugging into this port • IP devices limited in adoption • Custom solutions for integrating with Windows • A non-PnP device

  9. The Future: Single Model • Unification of IP and directly connected devices • Users shouldn’t have to care about the bus

  10. Benefits • NCDs are simple to discover and use • Installed and managed just like local, bus-attached devices • Lower support costs • Broader device adoption • NCDs can be enumerated and accessed using standard Windows application programming interfaces (APIs) • Increased utilization • Improved end-user experience • NCDs benefit from existing Windows assets for device management • Windows PnP and device management infrastructure • Windows Update

  11. Problems To Solve • Goal: Make the NCD a PnP device • Problems to solve • Discovery • Association • Security

  12. Discovery • Before a device can be installed, it must be discovered • Network protocols replace the bus-specific electrical signals used for physically connected devices • Metadata exchange • Enough information about the device must be retrieved for installation purposes • Hardware ID • Class ID • Friendly Name • Etc.

  13. Association • With physical connections, the cable itself establishes the association • For NCDs, the following questions apply: • With which PC is the device associated? • Can the device be associated with more than one PC? ?

  14. Security • Physical connections (cables) are inherently secure • This is not the case for network connections • PnP-X provides a platform for: • Establishing trust • Can the device be trusted? • Is the PC authorized to access the device? • Establishing a secure channel • Encrypting the data path

  15. Enabling A Single Model Through PnP • The framework for enabling a single connectivity model already exists today: It’s Windows PnP (Plug and Play) • An IP bus enumerator (IPBusEnum) enumerates NCDs • A PDO is created for each enumerated device • PnP handles the installation of the device like any other device • The enabling components are collectively called PnP-X: PnP Extensions for NCDs PnP Class Drivers IPBusEnum PCI USB 1394 PCMCIA Physical Discovery Network Discovery

  16. PnP-X Architecture PC Application Class Installers NCD CI PnP IPBusEnum PCI USB 1394 PCMCIA WCN Configuration Device Application Physical Discovery Function Discovery WCN Config … WS-Disco SSDP WS-Disco SSDP TCP/IP PnP-X Components

  17. Function Discovery (FD) • FD is a new feature in Longhorn for resource discovery • Provides a uniform API • Utilizes a provider model for extensibility purposes • “In-box” providers • PnP • SSDP (for UPnP devices) • WS-Discovery (for WSD devices) • Registry • Third-party providers supported • Aggregates results from multiple providers • Resources can be discovered based on their function as opposed to how they are connected to the PC • The PnP-X IPBus Enumerator depends on FD for discovering NCDs • Provides protocol independence for PnP-X

  18. FD Architectural Overview Client Function Discovery API PnP WS-Discovery SSDP SDP Registry … FD Providers

  19. Why FD? • NCDs come in several different flavors… • WSD • UPnP • Bluetooth • Ultra-wide Band (UWB) coming soon • Other • Each with their own protocols for discovery and metadata exchange • A general solution requires an abstraction layer • FD provides the necessary layer of abstraction • PnP-X support for a new device protocol is enabled by writing an FD provider

  20. FD Feature Overview • Discovery • Clients can query for devices by category • Devices of the same type can be mapped into the same category regardless of how they are discovered • For example, a pair of speakers, a Bluetooth headset, and a UPnP audio renderer can all be found in the “Audio endpoint” category • Supports a flexible category hierarchy • Categories can be defined to suit virtually any type of resource categorization • For example, all network connected devices, all wireless devices, etc., or at an even higher level, “Devices near me” • Interface IDs and properties can be used to constrain the query

  21. FD Feature Overview • Notifications • Clients can register for notifications on a category • A notification is sent when an instance is added to or removed from the category • Asynchronous queries are implemented using notifications • Activation • Software objects associated with the resource can be instantiated and initialized through FD • Application provides the ClassID and interface desired • FD handles binding the object to the resource

  22. The Function Instance (FI) • The FI is the single unit of discovery in FD • Manufactured by the providers in response to a query • Properties • FIs have properties exposed through IPropertyStore • Properties can be used to get and set (where supported) information about the device • Metadata • Configuration data • State data • PnP-X requires that NCDs define certain properties in order to be supported • Defined by the PnP-X Implementers Guide • Examples include HardwareID, ClassID, FriendlyName, etc.

  23. PnP-X Drilldown Cameron Brodeur

  24. How PnP-X Uses FD • Network Explorer queries “Qualified Devices” • This results in 1+ discovery providers being queried • The results are cross-referenced with a query of the association database • Devices in the qualified devices category but not in the association database are presented to the user as “Installable” • The user can select to “associate” a device • Device entry made in the association database FD Categories Association UI IPBusEnum Association Database Function Discovery API Qualified Devices Network Discovery Providers

  25. How PnP-X Uses FD • IPBusEnum queries the association database • Registers for notifications • For each associated device, a PDO is created • IPBusEnum maintains device presence • Queries the qualified devices category to monitor presence • When IPBusEnum receives an FD notification about a device removal from the qualified category, the PDO for the device is removed from PnP FD Categories Association UI IPBusEnum Association Database Function Discovery API Qualified Devices Network Discovery Providers

  26. In-box Support • Inbox support is provided for the following discovery protocols in Longhorn • Web Services Discovery Protocol (WS-Discovery) • Part of the Web Services for Devices suite of protocols • Devices must support WS-Discovery as well as the Device Profile to be installable by PnP-X • Simple Services Discovery Protocol (SSDP) • Used by UPnP for device discovery • Devices must support SSDP as well as Device Description to be installable by PnP-X • Support for additional protocols can be enabled through the installation of a FD provider • Must conform to the requirements in the PnP-X Implementers Guide

  27. Device Description/ Metadata Exchange Phase • Occurs after the user selects and chooses to install the device • WS Devices • Device must support the Device Profile for Web Services • Retrieve the Metadata for the device • Extract XML elements • Create a series of Hardware IDs and Compatible IDs from the XML • UPnP Devices • Device must support the UPnP Description Phase • Retrieve the Device Description document • Extract XML elements • Create a series of Hardware IDs and Compatible IDs from the XML

  28. Example • Create a device-specific Hardware ID and Compatible ID • New devices will be able to explicitly define the Hardware ID and Compatible ID with new XML tags <?xml version="1.0" ?> <root xmlns="urn:schemas-upnp-org:device-1-0"> <specVersion> <major>1</major> <minor>0</minor> </specVersion> <URLBase>http://192.168.0.1:1234</URLBase> <device> <deviceType>urn:schemas-upnp-org:device:Printer:1</deviceType> <friendlyName>Microsoft Laser Printer 2000</friendlyName> <manufacturer>Microsoft</manufacturer> <manufacturerURL>www.microsoft.com</manufacturerURL> <modelDescription>B&W Laser Printer</modelDescription> <modelName>Laser Printer 2000</modelName> <modelNumber>1.0.34</modelNumber> <UDN>uuid:upnp-Microsoft_LaserPrinter-00045A0F79D6</UDN> ... </device> </root> Example Hardware ID from the above XML: Microsoft/Laser_Printer_2000/1.0.34/urn-schemas-upnp-org:device:Printer:1

  29. DevNode Creation • IPBusEnum creates a PnP DevNode for the device • Information discovered about the device during the Description Phase is stored in the DevNode property store, including • IP Address • Hardware IDs and Compatible IDs for the device • Device UUID - GUID • PnP installs a driver using the “standard” process • Search driver packages (INF files) looking for the best match based on hardware and compatible IDs • Invoke the specified class installer and optional coinstaller to carry out the installation process

  30. Driver Installation • Manufacturer can supply a kernel-mode or user-mode driver for the device • Driver can be a class driver supplied by Microsoft • Sample kernel mode driver supplied – umpass.sys • Supports retrieval of persisted and dynamic properties using pass-through IOCTLs in the driver • For proprietary devices or devices that are tied to a single application, the install process can simply install the application or service, with no driver

  31. Communicating With Your Device • Base-level functionality for an associated network connected device simply returns the IP address of the device • Communication with network connected devices will go through existing network stacks • .NET Framework • Windows Services for Devices Application Programming Interfaces (WSDAPI) • UPnP • WinSock • Protocol choice left up to the vendor

  32. Network Explorer • User interface for discovering computers and network-connected devices • Publishing • Use Function Discovery Platform to announce computer’s presence on the network • Continue to announce presence using NetBIOS Master Browser to support down-level computers and devices • Discovery • Retrieve list of discovered computers and network-connected devices from Function Discovery Platform • NetBIOS Provider for Function Discovery to enable discovery of down-level computers

  33. Device Presentation In Network Explorer • A manufacturer will be able to customize the presentation of its device in Network Explorer through • Custom actions • Custom icon • Register Shell verbs and icons for devices using the same implementation as exists today for file extensions • Consult PnP-X Implementer’s Guide for details

  34. Call To Action • Evaluate PnP-X for your NCDs • Review the PnP-X Implementers Guide • For Windows Server and UPnP devices, update your device to provide the information specified by the implementers guide • For other devices, write an FD provider that conforms to requirements specified by the implementers guide • Provide feedback to Microsoft

  35. Community Resources • Windows Hardware & Driver Central (WHDC) • www.microsoft.com/whdc/default.mspx • Technical Communities • www.microsoft.com/communities/products/default.mspx • Non-Microsoft Community Sites • www.microsoft.com/communities/related/default.mspx • Microsoft Public Newsgroups • www.microsoft.com/communities/newsgroups • Technical Chats and Webcasts • www.microsoft.com/communities/chats/default.mspx • www.microsoft.com/webcasts • Microsoft Blogs • www.microsoft.com/communities/blogs

  36. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

More Related