Legion: Enriching Internet Services with Peer-to-Peer Interactions
Apr 2017
Many web applications are built around direct interactions among
users, from collaborative applications and social networks to multi-
user games. Despite being user-centric, these applications are usu-
ally supported by services running on servers that mediate all inter-
actions among clients. When users are in close vicinity of each
other, relying on a centralized infrastructure for mediating user
interactions leads to unnecessarily high latency while hampering
fault-tolerance and scalability.
In this paper, we propose to extend user-centric Internet ser-
vices with peer-to-peer interactions. We have designed a frame-
work named Legion that enables client web applications to securely
replicate data from servers, and synchronize these replicas directly
among them. Legion allows for client-side modules, that we dub
adapters, to leverage existing web platforms for storing data and
to assist in Legion operation. Using these adapters, legacy ap-
plications accessing directly the web platforms can co-exist with
new applications that use our framework, while accessing the same
shared objects. Our experimental evaluation shows that, besides
supporting direct client interactions, even when disconnected from
the servers, Legion provides lower latency for update propagation
with decreased network traffic for servers.