Within the vision of edgeless computing for the Internet of Things (IoT) and Cyber-Physical Systems (CPS), millions of possibly heterogeneous sensors and actuators in smart cities and other smart environments must be programmed and orchestrated as if they were a single system. Common problems such as maintaining distributed synchronization in the face of severe energy constraints (e.g., for battery-operated devices) must be solved and re-solved with each new IoT application.
The TickTalk Project seeks answers to the following questions:
- How can programmers specify practical timing requirements such as frequency of action, synchronization of actions, and simultaneity within sense-compute-actuate programs for large-scale, distributed systems?
- How can today’s wide-area communication networks that do not support timing or programmability be evolved to do so?
- How can the mechanisms for synchronizing the actions of small, energy constrained IoT devices be made power- and energy-efficient?
The TickTalk project is is built around four goals:
- Language: We propose to define a meta-language in which synchronization between the cyber and physical worlds is specified with clear semantics.
- System: We propose to define a compilation approach for translating programs in our meta-language into an intermediate representation that abstracts communicating, synchronized processes on a heterogeneous cyber-physical system.
- Network: We propose to define extensions to current networking approaches that support synchronized fog / cloudlet computing in the network.
- Device: We propose to define device-level architectural extensions in support of our synchronization mechanisms and to explore means for virtualizing small sensor and actuator (ensemble) devices in support of shared use by multiple applications, each with its own synchronization constraints.
Under NSF sponsorship, CMU and Arizona State University are making advances toward answering these questions.
As a foundational step, we conceived, developed, tested, and published a technique for realizing synchronization at the level of 10’s of microseconds, or better, within a network of CPS devices using a low-power wide-area network (LP-WAN), piggybacked on top of normal data communication. As such, this level of synchronization can be had for only the small, additional cost in power associated with processing the time information associated with the packets.
This work, called LongShoT (Long-Range Synchronization of Time), borrows key principles from the IEEE 1588 Precision Time Protocol and applies these to low-power networking. Careful modeling of the software and hardware paths taken by packets allows de-convolution of actual time information from the delays associated with handling (processing, transmitting, propagating, receiving, signaling) this time information. A result of this work are principles for exposing (and making predictable) the processing times inherent in radio ICs associated with packet handling and signaling. If incorporated into future radio ICs, relatively precise time synchronization can be had in low-power CPS for minimal additional cost (fixed cost and power cost).
The precision with which time can be so conveyed is fundamentally tied to the bandwidth of the transmitted signal. The experiments focused on LoRa — a popular LP-WAN family — with packets confined to a 125 kHz-wide channel. It is notable that LongShoT’s measured synchronization performance is on the same order as the theoretical limit of a signal of this bandwidth.