Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Device And PC Integration With Discovery, Plug And Play, Publication, And Network Explorer Roland Ayala, Cameron Brodeur, and Aaron Cunningham Program."— Presentation transcript:

1 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

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 Now The Windows Networking and Device Connectivity Platform Effortless “It Just Works” experience for users Simple protocols, APIs and DLLs for partners and 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 Access to Windows Connect Now Technologies Technical Guidance Consolidated Licensing Program

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

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 Undefined experience when plugging into this port Fuels device adoption Lowers support costs A PnP device 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 PCIUSB1394 PCMCIA IPBusEnum Class Drivers Physical Discovery Network Discovery

16 PnP-X Architecture Application PnP PCIUSB1394PCMCIA IPBusEnum Physical Discovery Function Discovery WS-DiscoSSDP … WCN Configuration WCN Config WS-DiscoSSDP Application PC Device TCP/IP NCD CIClass Installers 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 Function Discovery API Client PnPWS-DiscoverySSDPSDPRegistry… 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 Function Discovery API IPBusEnum Association Database Association UI Qualified Devices FD Categories 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 Function Discovery API IPBusEnum Association Database Association UI Qualified Devices FD Categories 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 Microsoft/Laser_Printer_2000/1.0.34/urn-schemas-upnp-org:device:Printer:1 1 0 http://192.168.0.1:1234 urn:schemas-upnp-org:device:Printer:1 Microsoft Laser Printer 2000 Microsoft www.microsoft.com B&W Laser Printer Laser Printer 2000 1.0.34 uuid:upnp-Microsoft_LaserPrinter-00045A0F79D6... Example Hardware ID from the above XML:

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

35 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

36

37 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 Community Resources

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


Download ppt "Device And PC Integration With Discovery, Plug And Play, Publication, And Network Explorer Roland Ayala, Cameron Brodeur, and Aaron Cunningham Program."

Similar presentations


Ads by Google