A method for transferring data from an originating device to a destination device, the method comprising: transmitting data from the originating device to a first intermediate device in a first communication session, wherein: the originating device and the first intermediate device are both communicating with one another in a first ad hoc network; and wherein a communication session for an ad hoc network represents a group of devices in direct communication with each other at the same time after a setup process in which the devices negotiate their network addresses for communication, wherein said direct communication allows data exchange between a sending device and a receiving device in said group of devices; transmitting the data from the first intermediate device to a second intermediate device, wherein: the first and second intermediate devices are both communicating with one another in a second ad hoc network, the originating device is not a member of the second ad hoc network, and the first intermediate device has terminated the first communication session with the first ad hoc network; transmitting the data from the second intermediate device to a gateway device coupled to a wired network connection, wherein: the second intermediate device and gateway device are both communicating with one another in a third ad hoc network, the originating device and the first intermediate device are not members of the third ad hoc network, the second intermediate device has terminated a communication session with the second ad hoc network; and transmitting the data to the destination device from the gateway device over the wired network connection; wherein the originating device does not connect to a network of which the destination device is a member. transmitting data from the originating device to a first intermediate device in a first communication session, wherein: the originating device and the first intermediate device are both communicating with one another in a first ad hoc network; and wherein a communication session for an ad hoc network represents a group of devices in direct communication with each other at the same time after a setup process in which the devices negotiate their network addresses for communication, wherein said direct communication allows data exchange between a sending device and a receiving device in said group of devices; transmitting the data from the first intermediate device to a second intermediate device, wherein: the first and second intermediate devices are both communicating with one another in a second ad hoc network, the originating device is not a member of the second ad hoc network, and the first intermediate device has terminated the first communication session with the first ad hoc network; transmitting the data from the second intermediate device to a gateway device coupled to a wired network connection, wherein: the second intermediate device and gateway device are both communicating with one another in a third ad hoc network, the originating device and the first intermediate device are not members of the third ad hoc network, the second intermediate device has terminated a communication session with the second ad hoc network; and transmitting the data to the destination device from the gateway device over the wired network connection; wherein the originating device does not connect to a network of which the destination device is a member.