1 / 22

Internet Peer-to-Peer Application Infrastructure

Internet Peer-to-Peer Application Infrastructure. Darren New Invisible Worlds, Inc <dnew@invisible.net>. 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

toby
Download Presentation

Internet Peer-to-Peer Application Infrastructure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related