This project is developing methodologies and systems that support sensor-rich vehicular applications by offloading computation to edge compute resources located at roadside and embedded within cellular networks. The modern vehicle has cameras, microphones, location and positioning sensors that all supplement detailed monitoring of vehicle motion and operation. These sensors can supply data for advanced applications, such as personal driving assistants, automated road hazard detection, and augmented display of driving data (e.g., highlighting turn-by-turn directions or available parking on the vehicle windshield). However, sensor-rich applications also require substantial computing power that is unavailable in the vehicle. These applications cannot leverage cloud resources because the latency of communicating with remote data centers is too high and the bandwidth available over wide-area networks is too limited. Instead, this project is supporting sensor-rich applications by offloading their computation to nearby servers located at the network edge. This work has the potential to enable applications with great societal benefit. Sensor-rich vehicular applications promise to improve driving efficiency; for example, by reducing congestion and idling time by guiding drivers directly to available parking spots. These applications can also substantially improve road safety; for example, by providing automated, crowd-sourced road hazard detection. The project is prototyping these applications and developing the infrastructure required for their deployment. The research results, traces of vehicular applications and environments, and open-source software artifacts developed by this project are available at: http://pervasive.eecs.umich.edu/vehicular-edge.html.
Since vehicles will remain near edge resources for only limited periods of time, the project is creating methods for fast handover of state and computation from one edge resource to another. Vehicle mobility introduces considerable variability in network and service performance, so the project is investigating how the principled use of redundancy can improve average and worst-case response time. Finally, to support applications with extremely tight time bounds, the project is using speculative execution to hypothesize multiple possible futures that depend on vehicle speed and direction, calculate results based on those futures, and then select the appropriate response based upon actual vehicle motion during the time when calculations were made.