Distributed applications with components (e.g., K8s pods) that span the public Internet must contend with unpredictable network performance and disconnection. Application-specific adaptation strategies, such as placing components to minimize Internet traffic or adjusting video bitrates to match observed network bandwidth, are crucial to maintaining acceptable service in the face of network volatility. Unfortunately, there are no services or programming abstractions to ease the burden of developing these adaptive applications.
The System for Highly Adaptive & Resilient Edges (SHARE) is an ongoing project within the Mobility and Networking Research (MNR) group that simplifies the development of adaptive distributed applications through (1) a network monitoring and prediction service, (2) a notification API for adjusting new network messages to changing network conditions, and (3) an in-network processing API for adapting in-flight messages.
SHARE has the potential to benefit a range of applications that span infrastructure separated by an unpredictable network, including edge video-analytics, cross-infrastructure stream processing, and geo-replicated storage.