Post on 27-Mar-2015
P2P in WindowsP2P in Windows
See-Mong TanSee-Mong Tan
Microsoft CorporationMicrosoft Corporation
A P2P Platform in A P2P Platform in Windows?Windows?Well-engineered, supported protocolsWell-engineered, supported protocols
Secure by default, scale without limits, Secure by default, scale without limits, no servers requiredno servers required
Let applications focus on end-user Let applications focus on end-user valuevalue
Platform does the heavy liftingPlatform does the heavy lifting
Simplify deploymentSimplify deploymentBroad reachBroad reach
Enterprise managementEnterprise management
P2P Platform in Windows P2P Platform in Windows VistaVista Experiences
IPv6IPv6
TeredoTeredoISATAPISATAP
6to46to4
P2P P2P IdentitieIdentitie
s, s, ContactsContacts
PNRPPNRP
People People Near MeNear Me
Serverless Serverless Presence Presence
and and PublicatioPublicatio
nn
ApplicatiApplication on
InvitatioInvitationn
Overlay Overlay NetworkNetwork
ss
Message Message MulticasMulticas
t and t and Web Web
ServicesServices
Shared Shared DatabasDatabas
ee
ReplicatReplicated Filesed Files
App and App and Desktop Desktop SharingSharing
Addressing/Connectivity
Identity & Naming
Discovery & Name Resolution
Session Initiation
Multiparty comm
Application Services
Addressing/ConnectivityAddressing/ConnectivityExperiences
IPv6IPv6
TeredoTeredoISATAPISATAP
6to46to4
P2P P2P IdentitieIdentitie
s, s, ContactsContacts
PNRPPNRP
People People Near MeNear Me
ServerleServerless ss
Presence Presence and and
PublcatiPublcationon
ApplicatiApplication on
InvitatioInvitationn
Overlay Overlay NetworkNetwork
ss
Message Message MulticasMulticas
t and t and Web Web
ServicesServices
Shared Shared DatabasDatabas
ee
ReplicatReplicated Filesed Files
App and App and Desktop Desktop SharingSharing
Addressing/Connectivity
Identity & Naming
Discovery & Name Resolution
Session Initiation
Multiparty comm
Application Services
IPv6IPv6Ubiquitous addressingUbiquitous addressing
Enables a world with no NATs!Enables a world with no NATs!
Automatic address configurationAutomatic address configurationNo delay in getting an address on adhoc networksNo delay in getting an address on adhoc networks
Improved connectivityImproved connectivityTeredo enables NAT traversal by tunneling through IPv4Teredo enables NAT traversal by tunneling through IPv4
Native support for IPsecNative support for IPsecAllows seamless operation over both unsecured and Allows seamless operation over both unsecured and secure IP networkssecure IP networks
Compatibility with emerging standardsCompatibility with emerging standardsFederal government mandate to move to IPv6 for their Federal government mandate to move to IPv6 for their internal systemsinternal systems
Name Resolution & Name Resolution & DiscoveryDiscoveryExperiences
IPv6IPv6
TeredoTeredoISATAPISATAP
6to46to4
P2P P2P IdentitieIdentitie
s, s, ContactsContacts
PNRPPNRP
People People Near MeNear Me
Serverless Serverless Presence Presence
and and PublicatioPublicatio
nn
ApplicatiApplication on
InvitatioInvitationn
Overlay Overlay NetworkNetwork
ss
Message Message MulticasMulticas
t and t and Web Web
ServicesServices
Shared Shared DatabasDatabas
ee
ReplicatReplicated Filesed Files
App and App and Desktop Desktop SharingSharing
Addressing/Connectivity
Identity & Naming
Discovery & Name Resolution
Session Initiation
Multiparty comm
Application Services
PNRPPNRP
PNRP = Peer Name Resolution PNRP = Peer Name Resolution ProtocolProtocol
PNRP securely resolves a name to the PNRP securely resolves a name to the current IP addresses and port that the current IP addresses and port that the name is registered atname is registered at
Name anything (hosts, applications, Name anything (hosts, applications, processes, …)processes, …)
Operates at Internet scaleOperates at Internet scale
Multiparty CommunicationsMultiparty CommunicationsExperiences
IPv6IPv6
TeredoTeredoISATAPISATAP
6to46to4
P2P P2P IdentitieIdentitie
s, s, ContactsContacts
PNRPPNRP
People People Near MeNear Me
ServerleServerless ss
Presence Presence and and
PublcatiPublcationon
ApplicatiApplication on
InvitatioInvitationn
Overlay Overlay NetworkNetwork
ss
Message Message MulticasMulticas
t and t and Web Web
ServicesServices
Shared Shared DatabasDatabas
ee
ReplicatReplicated Filesed Files
App and App and Desktop Desktop SharingSharing
Addressing/Connectivity
Identity & Naming
Discovery & Name Resolution
Session Initiation
Multiparty comm
Application Services
Multiparty CommunicationMultiparty CommunicationIdentified by nameIdentified by name
Used to locate some existing Used to locate some existing members and connect to themmembers and connect to them
Active members publish mesh Active members publish mesh name so others can find themname so others can find them
Mesh self-organizes active Mesh self-organizes active participantsparticipants
Adjusts to changing membershipAdjusts to changing membership
Resilient connectivityResilient connectivity
Dynamically optimized based on Dynamically optimized based on traffic patternstraffic patterns
Application ServicesApplication ServicesExperiences
IPv6IPv6
TeredoTeredoISATAPISATAP
6to46to4
P2P P2P IdentitieIdentitie
s, s, ContactsContacts
PNRPPNRP
People People Near MeNear Me
ServerleServerless ss
Presence Presence and and
PublcatiPublcationon
ApplicatiApplication on
InvitatioInvitationn
Overlay Overlay NetworkNetwork
ss
Message Message MulticasMulticas
t and t and Web Web
ServicesServices
Shared Shared DatabasDatabas
ee
ReplicatReplicated Filesed Files
App and App and Desktop Desktop SharingSharing
Addressing/Connectivity
Identity & Naming
Discovery & Name Resolution
Session Initiation
Multiparty comm
Application Services
Peer ChannelPeer Channel
Targets high throughput, low latency Targets high throughput, low latency applications at large scaleapplications at large scale
Part of the Windows Communication Part of the Windows Communication Foundation (WCF) in .NET 3.0Foundation (WCF) in .NET 3.0
Quite popular amongst enthusiastsQuite popular amongst enthusiasts
Open problem areasOpen problem areas
Power management -> How to let PCs Power management -> How to let PCs go to sleep, and wake up only when go to sleep, and wake up only when addressedaddressed
Metered connections -> How to Metered connections -> How to reduce protocol chattinessreduce protocol chattiness
Distributed hash tables for enterprise Distributed hash tables for enterprise data centers and broad Internet usedata centers and broad Internet use
Maintaining QOS and network friendly Maintaining QOS and network friendly operation for media streamingoperation for media streaming
ResourcesResources
Website: Website: http://www.microsoft.com/p2p
Blog: Blog: http://blogs.msdn.com/p2p
Discussion forum: Discussion forum: http://forums.microsoft.com/msdn/shohttp://forums.microsoft.com/msdn/showforum.aspx?forumid=1505&siteid=1 wforum.aspx?forumid=1505&siteid=1 (accessible from website)(accessible from website)
Email: peerfb at microsoft.comEmail: peerfb at microsoft.com