|
Augmented
reality (AR) seamlessly overlays virtual objects onto the real world,
enabling an exciting new range of applications. Multiple users view and
interact with virtual objects, which are replicated and shown on each
user’s display. A key requirement of AR is that the replicas should be
quickly updated and converge to the same state; otherwise, users may
have laggy or inconsistent views of the virtual object, which
negatively affects their experience. A second key requirement is that
the movements of virtual objects in space should preserve certain
integrity properties either due to physical boundaries in the real
world, or privacy and safety preferences of the user. For example, a
virtual cup should not sink into a table, or a private virtual
whiteboard should stay within an office. The challenge tackled in this
paper is the coordination of virtual objects with low latency, spatial
integrity properties and convergence. We introduce “well-organized”
replicated data types that guarantee these two properties. Importantly,
they capture a local notion of conflict that supports more concurrency
and lower latency. To implement well-organized virtual objects, we
introduce a credit scheme and replication protocol that further
facilitate local execution, and prove the protocol’s correctness. Given
an AR environment, we automatically derive conflicting actions through
constraint solving, and statically instantiate the protocol to
synthesize custom coordination. We evaluate our implementation,
Hambazi, on off-the-shelf Android AR devices and show a latency
reduction of 30.5-88.4% and a location staleness reduction of
35.6-75.6%, compared to three baselines, for varying numbers of
devices, AR environments, request loads, and network conditions.
|
|