By abstracting the implementation specific details of a peer to peer data transfer, the API allows the utilization of one set of software code which allows the application including the code to run on different computer systems, for example, computer systems not equipped with the packet switched router of the present invention.