network location awareness vision and scenarios tracey yao program manager windows wireless...
TRANSCRIPT
Network Location Awareness Network Location Awareness Vision And ScenariosVision And Scenarios
Tracey YaoTracey YaoProgram ManagerProgram ManagerWindows Wireless NetworkingWindows Wireless Networkingtraceyy @ microsoft.comtraceyy @ microsoft.comMicrosoft CorporationMicrosoft Corporation
Session OutlineSession Outline
IntroductionIntroduction
ScenariosScenarios
FeaturesFeatures
ArchitectureArchitecture
DemoDemo
ResourcesResources
Q&AQ&A
IntroductionIntroduction
Windows users are becoming more Windows users are becoming more mobile; Applications must adapt to mobile; Applications must adapt to changing network environmentschanging network environments
The “Windows Longhorn” Network The “Windows Longhorn” Network Location Awareness (NLA) service Location Awareness (NLA) service provides the latest network informationprovides the latest network information
Applications can query or register with Applications can query or register with NLA for network change indicationsNLA for network change indications
Scenarios – LonghornScenarios – Longhorn
User Friendly Connections UX:User Friendly Connections UX:The updated connections User Interface (UI) shows a user that they The updated connections User Interface (UI) shows a user that they are connected to ABC Corpnet whenever any of the PC’s interfaces are connected to ABC Corpnet whenever any of the PC’s interfaces are connected to ABC’s corporate networkare connected to ABC’s corporate network
Switch Default Printer:Switch Default Printer:As a user travels between home and office, their default printer is As a user travels between home and office, their default printer is automatically switchedautomatically switched
Opportunistic Certificate Update:Opportunistic Certificate Update:The digital identity management service opportunistically connects to The digital identity management service opportunistically connects to the domain controller to refresh certificates that are about to expirethe domain controller to refresh certificates that are about to expire
Switch Firewall Profile:Switch Firewall Profile:The user’s firewall automatically applies the corporate profile when it The user’s firewall automatically applies the corporate profile when it is connected to a corporate networkis connected to a corporate network
Reduced Boot Time:Reduced Boot Time:At boot time, Group Policy attempts to connect to the domain At boot time, Group Policy attempts to connect to the domain controller to apply policy only when there is corporate controller to apply policy only when there is corporate network connectivitynetwork connectivity
Scenarios – OpportunitiesScenarios – Opportunities
Network Specific Settings:Network Specific Settings:Applications can associate settings with a Applications can associate settings with a specific networkspecific network
Adapt to Bandwidth Changes:Adapt to Bandwidth Changes:Applications can adjust their network usage based on Applications can adjust their network usage based on available bandwidth and network latencyavailable bandwidth and network latency
Opportunistic Use of Internet:Opportunistic Use of Internet:Applications can check for internet capability before Applications can check for internet capability before attempting to use resources on the internetattempting to use resources on the internet
Restrict Use of Corporate Applications:Restrict Use of Corporate Applications:Line of business applications can restrict access Line of business applications can restrict access or reduce functionality in the absence of corporate or reduce functionality in the absence of corporate network connectivitynetwork connectivity
Planned Longhorn FeaturesPlanned Longhorn Features
FeatureFeature DescriptionDescription Planned Planned ReleaseRelease
Network Network SignatureSignature
A unique identifier for each network to A unique identifier for each network to which the PC is connectedwhich the PC is connected Beta 1Beta 1
Intranet Intranet CapabilityCapability
A determination of whether a given A determination of whether a given network has a domain controllernetwork has a domain controller Beta 1Beta 1
Intranet Intranet AuthenticationAuthentication
A determination of whether the PC is A determination of whether the PC is authenticated with a domain controller on authenticated with a domain controller on a given networka given network
Beta 1Beta 1
Internet Internet CapabilityCapability
A determination of whether the PC can A determination of whether the PC can reach the internet on a given networkreach the internet on a given network
Beta 1Beta 1
SSIDSSID The SSID for a given wireless networkThe SSID for a given wireless network Beta 2Beta 2
802.1X Auth802.1X Auth A determination of whether the PC is A determination of whether the PC is 802.1X authenticated to a given network802.1X authenticated to a given network Beta 2Beta 2
Bandwidth Bandwidth and Latencyand Latency
The bandwidth and latency associated The bandwidth and latency associated with a given connection on a networkwith a given connection on a network Beta 2Beta 2
Hop IDLink ID
Network SignatureNetwork Signature
Network ID
48 bytes48 bytes
Subnet 1 Subnet 2
Internet
Firewall ConnectionUX
RAS App App App
API Client
ArchitectureArchitecture
Provided by:
MS Core
MS NLA Clients
ISV NLA Clients
IPHelper
NLA Service
WirelessService
React to network changes and collect network dataReact to network changes and collect network data
Indicate network characteristics of choiceIndicate network characteristics of choice
DNSDirectoryServices
Simple Internet Aware AppSimple Internet Aware App
Tracey YaoTracey YaoWindowsWindows
demodemo
DemoDemo
This demonstration illustrates how This demonstration illustrates how network location awareness (NLA) network location awareness (NLA) detects changes in network connectivitydetects changes in network connectivity
We implement a simple internet aware We implement a simple internet aware application that uses NLA to display the application that uses NLA to display the network connectivity statenetwork connectivity state
We launch the application to show changes We launch the application to show changes in network connectivityin network connectivity
DemoDemoNLA Data:NLA Data:
NLA_TRI_STATENLA_TRI_STATEA NLA_TRI_STATE object can have a value of TRUE, A NLA_TRI_STATE object can have a value of TRUE, FALSE, or UNKNOWN.FALSE, or UNKNOWN.
NLA data with the NLA data type NLA data with the NLA data type NLA_DATA_TYPE_INTERNET_CAPABILITY are NLA_DATA_TYPE_INTERNET_CAPABILITY are NLA_TRI_STATE objects.NLA_TRI_STATE objects.
NLA_QUERY_FILTERNLA_QUERY_FILTERThis is used to construct a NLA filter. Filters are used to This is used to construct a NLA filter. Filters are used to specify the conditions that the NLA data must satisfy specify the conditions that the NLA data must satisfy before an application is to be notified.before an application is to be notified.
DemoDemoNLA Data:NLA Data:
NLA_COMPLETIONNLA_COMPLETIONThis represents the mechanism in which an application This represents the mechanism in which an application wants to be notified. NLA supports notification through: wants to be notified. NLA supports notification through:
EventingEventing
Completion callsCompletion calls
Overlapped structureOverlapped structure
Windows messages Windows messages
DemoDemo
NLA Application Programming Interface NLA Application Programming Interface (API) Functions(API) Functions
NlaRegisterQueryNlaRegisterQueryThis function allows an application to register This function allows an application to register for notification with NLAfor notification with NLANlaGetInternetCapabilityNlaGetInternetCapabilityThis function allows an application to query for This function allows an application to query for the internet capability of a given networkthe internet capability of a given networkNlaCloseQueryNlaCloseQueryThis function closes the application session This function closes the application session with NLAwith NLA
DemoDemo
NLA API Supporting FunctionsNLA API Supporting FunctionsNlaCreateTypeSetNlaCreateTypeSetThis function creates a new type set to be used in constructing This function creates a new type set to be used in constructing the set and filter for an NLA querythe set and filter for an NLA query
NlaCreateFilterNlaCreateFilterThis function creates a filter to be used in an NLA queryThis function creates a filter to be used in an NLA query
NlaAddToTypeSetNlaAddToTypeSetThis function adds an NLA data type to an existing type setThis function adds an NLA data type to an existing type set
NlaNotEqualNlaNotEqualThis function creates an “NOT EQUALS” expression to be used This function creates an “NOT EQUALS” expression to be used in an NLA filterin an NLA filter
NlaDeleteFilterNlaDeleteFilterThis function deletes an existing filterThis function deletes an existing filter
NlaDeleteTypeSetNlaDeleteTypeSetThis function deletes an existing type setThis function deletes an existing type set
Lo
ca
l R
PC
ch
an
ne
l
DemoDemo
t
hQ ← NlaRegisterQuery(hFilter, hTypeSet)
Build application context
Sense network events (cable connected)
t
Update network state
Send network change notifications to applications
Network state is monitored continuouslyNotifications are delivered to each existentapplication session
Application is continuously updated on the network state, based on its needs
NlaCloseQuery(hQ) Cleanup context and terminate application session
NLA data acquisition processNLA ↔ Application interaction
Application Process NLA Service
Construct NLA Filter (hFilter)
Construct NLA type set (hTypeSet)
Receive WM_NLA notificationbInternet← NlaGetInternetCapability(hQ)
Receive WM_NLA notificationbInternet← NlaGetInternetCapability(hQ)
Simple Internet Aware AppSimple Internet Aware App
Tracey YaoTracey YaoWindowsWindows
demodemo
Call To ActionCall To Action
Determine how NLA can improve your Determine how NLA can improve your application experienceapplication experience
Read the NLA whitepapersRead the NLA whitepapers
Familiarize yourself with the network data Familiarize yourself with the network data types and APIs your application needstypes and APIs your application needs
Post comments and questions on our blogPost comments and questions on our blog
NLA Specific ResourcesNLA Specific Resources
E-Mail: E-Mail: nlafdbck @ microsoft.com
Web ResourcesWeb ResourcesWhitepapers:Whitepapers:
http://http://msdn.microsoft.com/library/default.asp?urlmsdn.microsoft.com/library/default.asp?url=/library/en-us/=/library/en-us/dnlong/html/lhnla.aspdnlong/html/lhnla.asp
http://www.microsoft.com/whdc/system/platform/mobilepc/http://www.microsoft.com/whdc/system/platform/mobilepc/NLA.mspxNLA.mspx
Blog: Blog: http://http://blogs.msdn.com/nlablogs.msdn.com/nla//
Related SessionsRelated SessionsTrack: NetworkingTrack: Networking
Wireless Vision: Windows Longhorn and BeyondWireless Vision: Windows Longhorn and Beyond
Community ResourcesCommunity Resources
Community SitesCommunity Siteshttp://www.microsoft.com/communities/http://www.microsoft.com/communities/default.mspxdefault.mspx
List of NewsgroupsList of Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-http://communities2.microsoft.com/communities/newsgroups/en-us/default.aspxus/default.aspx
Attend a free chat or WebcastAttend a free chat or Webcasthttp://www.microsoft.com/communities/chats/http://www.microsoft.com/communities/chats/default.mspxdefault.mspx
http://www.microsoft.com/seminar/events/http://www.microsoft.com/seminar/events/webcasts/default.mspxwebcasts/default.mspx
Locate a local user group(s)Locate a local user group(s)http://www.microsoft.com/communities/http://www.microsoft.com/communities/usergroups/default.mspxusergroups/default.mspx
Non-Microsoft Community SitesNon-Microsoft Community Siteshttp://www.microsoft.com/communities/related/http://www.microsoft.com/communities/related/default.mspxdefault.mspx
Community ResourcesCommunity Resources
Windows Hardware and Driver Central (WHDC)Windows Hardware and Driver Central (WHDC)www.microsoft.com/whdc/default.mspx www.microsoft.com/whdc/default.mspx
Technical CommunitiesTechnical Communitieswww.microsoft.com/communities/products/default.mspx www.microsoft.com/communities/products/default.mspx
Non-Microsoft Community SitesNon-Microsoft Community Siteswww.microsoft.com/communities/related/default.mspx www.microsoft.com/communities/related/default.mspx
Microsoft Public NewsgroupsMicrosoft Public Newsgroupswww.microsoft.com/communities/newsgroupswww.microsoft.com/communities/newsgroups
Technical Chats and WebcastsTechnical Chats and Webcastswww.microsoft.com/communities/chats/default.mspxwww.microsoft.com/communities/chats/default.mspx
www.microsoft.com/webcastswww.microsoft.com/webcasts
Microsoft BlogsMicrosoft Blogswww.microsoft.com/communities/blogswww.microsoft.com/communities/blogs