Download
internet peer to peer application infrastructure n.
Skip this Video
Loading SlideShow in 5 Seconds..
Internet Peer-to-Peer Application Infrastructure PowerPoint Presentation
Download Presentation
Internet Peer-to-Peer Application Infrastructure

Internet Peer-to-Peer Application Infrastructure

94 Vues Download Presentation
Télécharger la présentation

Internet Peer-to-Peer Application Infrastructure

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc <dnew@invisible.net>

  2. BEEP and APEX • Blocks Extensible Exchange Protocol • draft-ietf-beep-framework-11.txt • draft-ietf-beep-tcpmapping-06.txt • Application Exchange framework • draft-mrose-apex-core-00.txt • draft-mrose-apex-access-00.txt • draft-mrose-apex-presence-00.txt

  3. Why BEEP? • Stop Reinventing the Wheel • Design the Application, Not the Support • Framing, Encoding, Reporting • Parallelism, Synchronization, Flow-Control • Authentication, Privacy • Extensible but Simple (but not too simple!) • draft-mrose-beep-design-01.txt

  4. BEEP Introduction • Connection-Oriented • Message-Oriented • Peer-to-Peer

  5. BEEP is Connection-Oriented • Ordered Delivery of Messages • Reliable Delivery • Flow-Controlled • Multiple Sub-connections (“channels”) per Connection (“session”)

  6. BEEP is Message-Oriented • Loosely-Coupled • Application-Specific Syntax • 1 <-> 1 or 1 <-> N Messaging

  7. BEEP is Peer-to-Peer • Bi-directional Channel Initiation • Bi-directional Message Delivery • Multiple Independent Channels • Asynchronous Message Delivery • Can be Client-Server

  8. BEEP Architecture • Sessions • Channels • Profiles • Privacy and Authentication • Other Goodies • No Naming or Authorization

  9. BEEP Sessions • One or More Underlying Connections • (Right now, just a single TCP connection) • One User Identity • One Privacy Policy • One or More Channels • (One for control, many for application)

  10. BEEP Channels • Control Channel Always Open • Zero or More Data Exchange Channels • Messages Pass Both Ways on Channels • Intra-Channel is Sequential • Inter-Channel is Unsynchronized

  11. BEEP Profiles • Messages on Control Channel Open and Close Other Channels • Greeting Offers Multiple Profiles • Profiles Define Syntax and Semantics • Profiles Are Extensibility Mechanism • Tuning Profiles vs Data Exchange Profiles

  12. Privacy and Authentication • Use Initial Tuning Profiles First • Greeting Can Offer TLS • (All channels closed, encryption starts, new greeting sent) • Greeting Can Offer Any SASL Mechanism • (All channels take on new identity) • Either Peer Can Start TLS • Either or Both Peers Can Start SASL

  13. Other BEEP Goodies • Standardized Error-Reporting Available • Segmentation of Messages • Flow-Control of Delivery • Implementation-Checking Redundancy

  14. Naming and Authorization • Not Directly Addressed by BEEP • Each Profile Will Have Different Naming Requirements • Authorization Depends On Naming

  15. BEEP Tools • SpaceKits in Tcl, Java, Perl, Python • Ethereal and TCPDump modules • SEP, ASP, APEX, IDWG (maybe), reliable syslog, XRP, WCIP • Eventually, Apache2 Module, C library

  16. APplication EXchange Framework (APEX) • Extensible Asynchronous Application Message Relaying • Built on Top of BEEP • Applications Inject Requests to be Delivered to Other Applications • Relay Mesh Delivers Messages • Provides Naming, Authorization, Presence

  17. APEX Addresses • Addresses Are URIs in “im:” • Multiple Applications Per User • im:fred/appl=wb@example.com • Services Have Special Addresses • im:apex=presence@example.com

  18. APEX Messages • XML: Sender, Receivers, Flags, Content • (Internal or external reference to content) • Best-Effort Store-and-Forward Datagrams • (Applications generally use time-outs and cancellations) • Can Request Delivery Receipts, Traces • Routing Based on DNS SRV Records • Soon, End-System Reliable Multicast

  19. APEX Access Service • Determines Which Services May Do What For Each User Combination • Accessed via im:apex=access@domain • Get and Set Permissions for Data Delivery and Each Service’s Operations • Relay Mesh Enforces Permissions

  20. APEX Presence Service • Determines Available Communication Protocols and Applications for a User • Accessed via im:apex=presence@domain • Each User Specifies Set of • Destination URI (I.e., end-point identifier) • Application Info URI (defines protocol) • “Available Until” and “Capabilities” • Publish, Subscribe, Watch

  21. APEX Applications • Instant Messaging • Wide Area Multi-cache

  22. Summary • BEEP - High-Quality Standardized Framework for Peer-to-Peer Connection-Oriented Internet Protocols • APEX - High-Quality Standardized Application for Peer-to-Peer Datagram-Oriented Internet Protocols • http://www.bxxp.org/ for More Info