|
Unix Programming - Application Protocol Metaformats - BEEP: Blocks Extensible Exchange Protocol
BEEP: Blocks Extensible Exchange Protocol
BEEP (formerly BXXP) is a generic protocol machine that competes
with HTTP for the role of universal underlayer for application
protocols. There is a niche open because there is not as yet
any other more established metaprotocol that is appropriate for truly
peer-to-peer applications, as opposed to the client-server
applications that HTTP handles well. A project
website provides access to standards and open-source
implementations in several languages.
BEEP has features to support both client-server and peer-to-peer
modes. The authors designed the BEEP protocol and support library so
that picking the right options abstracts away messy issues like data
encoding, flow control, congestion-handling, support of end-to-end
encryption, and assembling a large response composed of multiple
transmissions,
Internally, BEEP peers exchange sequences of self-describing
binary packets not unlike chunk types in
PNG. The design is tuned
more for economy and less for
transparency
than the classical Internet protocols or HTTP, and might be a better
choice when data volumes are large. BEEP also avoids the HTTP problem
that all requests have to be client-initiated; it would be better in
situations in which a server needs to send asynchronous status messages
back to the client.
BEEP is still new technology in mid-2003, and has only a few
demonstration projects. But the BEEP papers are good analytical
surveys of best practice in protocol design; even if BEEP itself fails
to gain widespread adoption, the papers will retain considerable tutorial
value.
[an error occurred while processing this directive]
|