(NATs), and proxies, all of which complicate the creation of
incoming connections. As a result, when a user wants their
devices to communicate the only practical option is to route
all content and communication via the cloud. There are substantial
downsides to routing via the cloud as compared to
ad-hoc channels over local networks – e.g., inability to operate
without an Internet connection, increased potential for
privacy violation, the relative lack of bandwidth and higher
latency, as well as energy and financial costs [6, 2].