  Using smartphones for peer-to-peer communication over the Internet is
difficult without the aid of centralized services. These centralized services,
which usually reside in the cloud, are necessary for brokering communication
between peers, and all communication must pass through them. A reason for this
is that smartphones lack publicly reachable IP addresses. Also, because people
carry their smartphones with them, smartphones will often disconnect from one
network and connect to another. Smartphones can also go offline. Additionally,
a network of trusted peers (or friends) requires a directory of known peers,
authentication mechanisms, and secure communication channels. In this paper, we
propose a peer-to-peer middleware that provides these features without the need
for centralized services.
