Patent attributes
A system and method for establishing communications channels between and among peers in a peer-to-peer networking environment. Pipes may be used as communication channels for sending and receiving messages and other data between services or applications over input and output endpoints. Pipes may be asynchronous, unidirectional, stateless and unreliable. Bidirectional pipes may also be supported. Pipes may have ends that may be moved around and bound to different peers at different times. Point-to-point and propagate pipes may be supported. Pipes may connect peers that have a direct physical link and peers that do not have a direct link. Peers may communicate through pipes without knowing on which peer a pipe endpoint is bound. A message is sent to all peer endpoints currently connected (listening) to the pipe. The set of connected endpoints may be obtained from a pipe service using a pipe binding protocol.