Drew's Blog

The Joys of Technology Explored

PDC2003::Building Peer To Peer Applications

Indigo: Building Peer to Peer Applications

Todd R. Manion tells us all about how Indigo will help us design our P2P applications.

P2P Landscape

  • Collaboration
    • Project workspaces solving a goal
    • Sharing your files with other people
  • Content Distribution
    • Concert, company meeting, class
    • Distribution of product updates
  • Real-Time Communications
    • Instant messaging voice, video
    • Real-time game play/collaboration
  • Distributed Processing
    • Dissection and distribution of task
  • Improved Internet Technologies


Why something new?

  • Limited Supply of Public Addresses
  • NATs prevent sharing from the edge
  • Limited Name Resolution system
    • Does not handle dynamic addresses
    • Does not work in ad-hoc environments
    • Does not lend itself to consumer use
  • Inefficient Multipoint Communication
  • Everyone rewrites the infrastructure


Infrastructure Design Goals

  • Secure, robust in face of failure/attack
  • Scalable, from ad-hoc to the Internet
  • Server-less, no central point of failure
  • Self-tuning, adapts to constant change
  • Self-repairing, automatically fixes itself


P2P Technologies

  • Peer Name Resolution Protocol (PNRP)
    • Scalable, secure, serverless name resolution
  • "Indigo" PeerChannel
    • Efficient distribution of information between nodes
    • Auto-tuning, self-repairing communication layer
  • Peer Groups
    • Create and manage persistent securable groups
  • Peer Store (built using WinFS)
    • Distributed data management
    • Synchronized, replicated meta-data store


Name Registration/Resolution

  • Members of System.Net.PeerToPeer
  • Major Classes
    • PeerName
    • PeerIdentity
    • PnrpEndPoint
    • PnrpEndPointRegistration
    • PnrpEndPointResolver
    • Cloud/CloudWatcher
  • Available in Longhorn PDC Preview


Indigo PeerChannel

  • MajorClasses
    • PeerChannel
    • PeerManager
    • Node
    • Message
    • Port
  • Available in future Longhorn release (boo!)


PeerStore And PeerGroup

  • Major Classes
    • PeerIdentity
    • PeerGroup
    • Member
    • PeerStore
    • Record
    • GroupInfo
Posted: Oct 29 2003, 07:53 PM by drub0y | with no comments
Filed under:


No Comments