References
recovered through remanence timekeeping can be exploited to achieve reliable and efficient broadcast under intermittent power conditions. Background and Related Work The batteryless intermittent model A batteryless node harvests ambient power into a capacitor and operates in a charge-then-execute cycle. When the supply voltage reaches an upper threshold the node boots; it runs until the voltage drops to a lower threshold, then powers off and recharges (Hester & Sorber, 2017; Ma et al., 2020). Active windows last from microseconds to a few hundred milliseconds, while charging intervals range from milliseconds to minutes depending on the harvester and the environment (Hester et al., 2017). Common ambient sources include indoor and outdoor light, whose available power varies widely with deployment and time of day and can be planned for using solar-resource and load- distribution models (Sunday & Omoegun, 2019). The first wave of intermittent-computing research addressed correctness of computation under arbitrary interruption. Mementos (Ransford et al., 2011) checkpoints volatile state to non-volatile memory so that execution resumes after a power failure; DINO (Lucia & Ransford, 2015) provides a task-based model with consistent recovery; Hibernus (Balsamo et al., 2015) reacts to the supply voltage to hibernate just before a brownout; Alpaca (Maeng et al., 2017) gives checkpoint-free task execution; Clank (Hicks, 2017) adds architectural support; and task decomposition with termination checking (Colin & Lucia, 2018) bounds task energy. These systems let a node make forward progress despite power failures, which is a prerequisite for any networking protocol but does not by itself solve communication. Timekeeping across power failures A node that has just rebooted does not know how long it was off, yet almost every coordination and scheduling task needs that information. Real-time clocks are impractical because their quiescent current drains the tiny energy buffer (Rahmati et al., 2012). Remanence timekeepers instead estimate the off-duration from the decay of physical state. TARDIS reads the decay of SRAM cells initialized before power loss (Rahmati et al., 2012); CusTARD measures the voltage decay of a dedicated capacitor through an analog-to-digital converter for finer granularity (Hester et al., 2016); and Botoks introduces a cascaded hierarchical remanence timekeeper that extends the measurable range and improves reliability (de Winkel et al., 2020). All of these recover time only approximately, with relative errors commonly around ten percent, which is the central uncertainty any intermittent networking protocol must tolerate (de Winkel et al., 2020). Communication for intermittent networks Because availability is the bottleneck, recent protocols focus on getting two intermittent nodes awake together. Find is the first neighbor-discovery protocol for battery-free networks; it uses randomized waiting to minimize discovery latency and pairs with Flync, which phase-aligns light- harvesting nodes to the flicker of mains-powered lamps (Geissdoerfer & Zimmerling, 2021). Bonito builds on discovery to maintain a pairwise connection by having each node learn its own charging-time distribution and predict when both nodes will next be awake (Geissdoerfer & Zimmerling, 2022). Bonito reports high success rates but does not guarantee delivery and incurs overhead from sharing charging-time information over a radio. Predicting future resource availability in this way echoes predictive models used in adjacent systems domains, such as machine-learning-based cloud resource scaling and capacity forecasting for shared infrastructure (Ahmed et al., 2020; Edivri & Oteri, 2022). Intermittently-powered Bluetooth shows that a standard radio stack can be driven across power failures (de Winkel et al., 2022). These works establish links and pairs; none provides a network-wide, multi-hop, reliable broadcast primitive, which is our focus. Reliable broadcast and synchronous transmissions In continuously powered networks, fast and reliable flooding is achieved with synchronous transmissions. Glossy (Ferrari et al., 2011) has neighbors retransmit the identical packet within sub-microsecond alignment so that the copies interfere constructively, flooding a multi-hop network in milliseconds with implicit time synchronization. The Low-Power Wireless Bus (Ferrari et al., 2012) builds higher-level traffic patterns on Glossy floods, and a broad survey catalogs the resulting family of services (Zimmerling et al., 2020). Independently, Trickle (Levis et al., 2004) regulates dissemination with polite gossip: a node suppresses its own transmission once it has overheard enough copies of the same information, which bounds redundancy while preserving eventual consistency. GleanCast adapts both ideas, constructive interference for speed and Trickle- style suppression for efficiency, to nodes that are usually off and keep time only approximately. Synchronous-transmission flooding assumes always-on nodes and accurate clocks; intermittent- networking protocols provide links and pairs but not network-wide reliable broadcast; and timekeeping research supplies an approximate clock but no protocol that uses it for dissemination. GleanCast occupies this gap. It treats the approximate remanence clock as a first-class input, uses it to align wake windows so that constructive-interference flooding becomes possible, and persists the payload so that a node can keep contributing across its own power failures. System Model Network and energy model We consider n stationary nodes placed in a square deployment area. Two nodes share a wireless link when they lie within a communication radius r, which yields a random geometric graph; the radius is our proxy for network density. Time is slotted. Each node alternates active windows of length Don slots with charging windows whose duration is drawn per cycle from a per-node distribution. To capture spatial heterogeneity of the harvested supply, each node's mean charging time is scaled by an independent factor, so some nodes wake far more often than others. The distribution of harvested power across a deployment can itself be estimated from environmental models, for example statistical models of daily solar radiation (Odejobi & Ahmed, 2018b). During an active window a node may transmit at most B times, modeling the radio energy available per burst, and it listens otherwise. Reception is modeled per slot and per link. A directed reception at a listener succeeds when the listener is active and listening, at least one active neighbor transmits the payload in that slot, and an independent Bernoulli channel draw with success probability plink succeeds. The treatment of concurrent transmitters distinguishes the two regimes that matter for this paper. For free-running, unsynchronized nodes, two or more neighbors transmitting in the same slot collide and the listener decodes nothing. For tightly aligned nodes transmitting the identical broadcast payload, the copies interfere constructively and the listener decodes the message regardless of how many neighbors transmit, reproducing the Glossy effect (Ferrari et al., 2011). This distinction is the mechanism by which coordination pays off. Timekeeping is imperfect. A node attempting to wake at a target time incurs an error proportional to the remanence-timekeeping relative error ε, consistent with reported figures of roughly ten percent (de Winkel et al., 2020). A protocol that wants neighbors to overlap must budget for this error explicitly. Reliable broadcast: definitions and metrics A single source node originates one message at the start of the run. The broadcast is reliable to the extent that the message reaches every node in the source's connected component. We report four metrics. Delivery ratio is the fraction of reachable nodes that hold the message at the end of the horizon. Dissemination latency is the number of slots until ninety percent of reachable nodes hold it. Transmissions per delivered node is the total number of payload transmissions divided by the number of nodes reached, a proxy for the radio-transmit energy that dominates many batteryless platforms. Radio-on per delivered node is the total node-slots spent with the radio powered, divided by nodes reached, which captures listening cost including any guard-band overhead. Why naive approaches fail Stateless flooding has a node forward the payload during the first active window after it receives it, with no memory across power cycles. This mirrors classic flooding but ignores intermittency: if a node browns out mid-relay it forgets the payload, and because neighbors are seldom awake together the message dies out after a few hops. Opportunistic relaying persists the payload in non-volatile memory and retransmits it in every active window for a bounded number of windows, with no wake coordination. Persistence lets the message survive brownouts and eventually exploit chance overlaps, so coverage improves, but progress is slow because it waits on coincidences, it is transmission-heavy because every awake holder keeps shouting, and it is fragile because the rate of chance overlaps falls as charging times grow. Our evaluation quantifies both failure modes and motivates coordination. GleanCast Protocol Design Design principles GleanCast follows three principles, each addressing one failure of the naive baselines: 1. Make neighbors overlap on purpose. Rather than wait for chance, align wake windows to shared epochs using the remanence clock, and widen the listen window by a guard band sized to the timekeeping error so that overlap is reliable rather than accidental. 2. Never forget the payload. Persist the broadcast payload in non-volatile memory so that a node keeps relaying across its own power failures until a redundancy budget is spent. 3. Turn concurrency into speed, not collisions. Because aligned nodes transmit the identical payload, let them transmit together and exploit constructive interference, so a single aligned window floods many hops, and bound the resulting redundancy with polite suppression. Epoch-aligned wake scheduling with guard bands GleanCast nodes agree on a global epoch period and schedule their active windows at epoch boundaries, recovering the elapsed time across each power failure from the remanence clock (de Winkel et al., 2020; Hester et al., 2016; Rahmati et al., 2012). Perfect alignment is impossible because the clock is approximate, so a node centers a widened window on the target epoch and listens for a guard band of ±g slots on each side, where g is chosen proportional to the timekeeping error ε times the epoch. The guard band absorbs the residual phase error so that neighbors reliably overlap; its cost is extra listening, which we measure. Figure 1 contrasts the two regimes: free- running windows scatter and rarely meet, whereas epoch-aligned windows, even with residual jitter, overlap inside the guard band. Figure 1. Wake-window alignment. (a) Free-running nodes wake on independent energy-driven schedules, so neighboring active windows seldom coincide and contact opportunities are scarce. (b) GleanCast aligns windows to shared epochs and widens them by a guard band that absorbs remanence-timekeeping error, producing reliable overlap. Within an overlapping window the identical payload propagates by constructive-interference relaying and cascades several hops. Persistent payload caching across power cycles When a node first receives the broadcast payload it writes it to non-volatile memory together with a small relay counter. Because the payload survives brownouts, the node resumes relaying in subsequent active windows rather than losing the message the moment it powers off, which is the single change that separates opportunistic relaying from stateless flooding. GleanCast bounds the work this persistence permits with a relay budget R: a node relays the payload in at most R of its active windows, after which it falls silent and simply carries the payload for any late-arriving query. The budget caps energy while still giving the network many independent chances to propagate the message. Constructive-interference relaying Within an overlapping window, every node that holds the payload and is still within its relay budget transmits it, spending up to B transmissions. Because all of these transmissions carry the identical payload and are aligned to the same epoch, they interfere constructively at any listening neighbor, so reception succeeds even when several neighbors transmit at once (Ferrari et al., 2011; Zimmerling et al., 2020). This converts what would be a collision under uncoordinated access into a successful, reinforced reception. The practical consequence is a cascade: a node that receives the payload early in a window can itself begin relaying for the remainder of that same window, so the message advances many hops within a single aligned window rather than one hop per window. This in-window cascade is the source of GleanCast's large latency advantage. Bounded redundancy via relay budget and polite suppression Constructive flooding is fast but, left unchecked, every holder would keep transmitting, wasting scarce energy once the neighborhood already has the message. GleanCast borrows Trickle's polite- gossip rule (Levis et al., 2004): a node tracks how many of its recent active windows contained overheard transmissions of the payload from neighbors, and once that count reaches a suppression threshold k it stops relaying, on the assumption that the neighborhood is already covered. To guarantee progress, a node is never suppressed before it has relayed at least once. The relay budget R and the suppression threshold k together trade redundancy against energy: larger values increase reliability margin at the cost of more transmissions, smaller values save energy at some risk of leaving a straggler uncovered. Choosing these values is at bottom an energy-aware resource- allocation decision of the kind studied more broadly in systems that place or scale work to minimize energy (Ahmed & Odejobi, 2018). The protocol in brief Algorithm 1 summarizes the per-node logic executed at each active window and within each slot of that window. Algorithm 1: GleanCast, per-node logic on power-up: recover elapsed time from remanence clock compute next epoch boundary; sleep until (epoch - g) on active-window entry: fold previous window's overhearing into passive_count tx_budget <- B relay_now <- holds_payload and relays_used < R and (relays_used == 0 or passive_count < k) if relay_now: relays_used <- relays_used + 1 for each slot in [epoch - g, epoch + D_on + g]: if relay_now and tx_budget > 0: transmit payload; tx_budget-- else if payload heard from a neighbor: if not holds_payload: store payload in NVM; holds_payload <- true if relays_used < R: relay_now <- true // join the flood else: mark overheard this window power off; recharge until next epoch Evaluation Methodology and simulation setup We implemented a slotted discrete-event simulator of the model described above and compare three protocols: stateless flooding , opportunistic relaying with persistence , and GleanCast. Flood uses a relay budget of one window and no coordination; Opp uses the full relay budget and no coordination; GleanCast adds epoch alignment with a guard band, constructive- interference relaying, and suppression. For each configuration we average over independent random topologies and energy schedules, and we report means with standard deviations, following standard practice for performance evaluation that stresses a system under concurrency and reports aggregate statistics across runs (Odejobi & Ahmed, 2018a). The source is placed in the largest connected component, and delivery is evaluated only over that component so that nodes that are physically unreachable do not distort the metrics. The default parameters are listed in Table 1; the three sweeps that follow vary one parameter at a time around these defaults. Parameter Symbol Default value Number of nodes n 80 Deployment area - 100 m x 100 m Communication radius r 22 m Simulation horizon - 6000 slots Active-window length D_on 8 slots Mean charging time per cycle - 90 slots Charging-time variability - 0.35 Transmissions per active window B 3 Per-slot link reliability p_link 0.92 Remanence-timekeeping error ε 0.10 Relay budget R 6 windows Suppression threshold k 2 windows Table 1. Default simulation parameters. A slot is the unit of simulated time; one active window plus its mean charging interval forms one energy cycle, here 98 slots. Operating-point comparison Table 2 reports all three protocols at the default operating point over sixty random runs. The contrast is stark. Stateless flooding reaches only about six percent of the network: it forgets the payload at each brownout, so the message dies within a couple of hops. Opportunistic relaying recovers most of the network, about ninety-six percent, but it takes roughly 1650 slots to reach ninety percent coverage, spends eighteen transmissions per delivered node, and shows high run- to-run variance. GleanCast reaches every reachable node in all sixty runs, reaches ninety percent coverage in about fifty-two slots, and spends about seven and a half transmissions per delivered node. The latency improvement over opportunistic relaying is roughly thirty times and the transmission saving is about sixty percent. The one cost is listening: GleanCast's guard band keeps radios on about forty percent longer per delivered node than opportunistic relaying, an explicit and bounded price for reliable overlap. Protocol Delivery ratio Latency to 90% Tx per delivered Radio-on per delivered Flood (stateless) 6.2% ± 8.4 not reached 3.0 24846 Opp (persistent) 96.2% ± 12.5 1647 slots 18.0 1200 GleanCast 100.0% ± 0.0 52 slots 7.5 1712 Table 2. Operating-point comparison at the default configuration (mean ± standard deviation over 60 runs). Latency is the number of slots to reach 90% of reachable nodes; “not reached” means the protocol never covers 90%. Transmissions and radio-on are normalized per delivered node. Robustness to intermittency severity We vary the mean charging time from 40 to 200 slots, making energy progressively scarcer and active windows rarer. Figure 2(a) shows delivery ratio and Figure 2(b) shows latency. As intermittency worsens, stateless flooding collapses toward a few percent, and opportunistic relaying degrades steadily from near-complete coverage at short charging times to about fifty-eight percent at the longest, because chance overlaps become rare. Its latency rises in step, exceeding five thousand slots at the most intermittent setting. GleanCast holds delivery at essentially one hundred percent across the entire range, because epoch alignment manufactures the overlap that opportunistic relaying must wait for. GleanCast latency does grow, from about twenty-four slots to about one hundred forty slots, but it remains one to two orders of magnitude below opportunistic relaying throughout. This is the central robustness result: coordination converts a protocol that degrades into one that does not. Figure 2. Effect of intermittency severity (mean charging time per cycle). (a) Delivery ratio: GleanCast stays at full coverage while stateless flooding collapses and opportunistic relaying degrades. (b) Latency to 90% coverage on a logarithmic scale: GleanCast remains one to two orders of magnitude faster than opportunistic relaying; stateless flooding never reaches 90% and is omitted. Error bars show one standard deviation over 30 runs. Effect of network density We vary the communication radius from 16 to 32 meters, sweeping from a sparse, nearly disconnected network to a dense one. Figure 3(c) shows that all protocols improve with density, as more neighbors mean more relay paths. The gap is largest where it matters most. In the sparse regime, opportunistic relaying reaches only about forty-three percent of the network while GleanCast still reaches about ninety-seven percent, because reliable overlap lets GleanCast use the few links that exist far more effectively. As density grows the two converge near full coverage, but GleanCast reaches it sooner and at every density retains its latency advantage. Sensitivity to timekeeping error GleanCast depends on the remanence clock, so we test how it degrades as the timekeeping error grows from zero to forty percent, well beyond the roughly ten percent reported for practical timekeepers (de Winkel et al., 2020). The free-running baselines do not use a clock and are therefore insensitive to ε. Figure 3(d) shows that GleanCast maintains full delivery across the entire range, because the guard band is sized to ε and so widens automatically to absorb larger errors. The price appears as a modest latency increase, from about fifty-seven slots at zero error to about seventy-seven slots at forty percent error, and as additional listening from the wider guard band. GleanCast therefore trades a little energy and latency for continued reliability as the clock degrades, which is the desirable direction for the tradeoff. Figure 3. (c) Delivery ratio versus network density (communication radius). GleanCast dominates in the sparse regime where opportunistic relaying struggles. (d) Robustness to remanence- timekeeping error: GleanCast holds full delivery as the error grows to 40% because the guard band scales with it, at the cost of a modest latency increase (right axis); the free-running baselines are insensitive to the clock. Error bars show one standard deviation over 30 runs. The latency and energy tradeoff Taken together, the results describe a clear tradeoff. Stateless flooding is cheap per transmission but delivers almost nothing, so its energy is wasted. Opportunistic relaying buys coverage with time and with a high transmission count, and it pays the most when intermittency is severe. GleanCast spends additional listening energy on its guard band but recovers far more elsewhere: constructive interference makes each transmission useful to many neighbors at once, suppression silences holders once the neighborhood is covered, and the in-window cascade collapses dissemination time by orders of magnitude. The net effect at the default point is full delivery with about sixty percent fewer transmissions than opportunistic relaying and a thirty-fold lower latency, in exchange for about forty percent more radio-on time. On platforms where the transmit path and long listening windows dominate the energy budget, this is a favorable exchange; where listening is unusually expensive, the guard band can be tightened at the cost of some robustness to clock error. Threats to validity and limitations Our evaluation is simulation-based, and the results should be read as the behavior of a clearly specified model rather than as field measurements. Three simplifications deserve note. First, the model abstracts the radio channel as a per-slot Bernoulli process and represents constructive interference as guaranteed decoding when aligned nodes transmit the identical payload; real synchronous transmissions succeed with high but not unit probability and depend on tight sub- microsecond alignment (Ferrari et al., 2011; Zimmerling et al., 2020). Second, we assume a shared epoch reference; bootstrapping that reference in a cold network requires a discovery and synchronization phase such as the one Find provides (Geissdoerfer & Zimmerling, 2021), whose cost we do not include here. Third, we model energy as a transmission budget per window and count radio-on time, rather than simulating capacitor voltage dynamics at the circuit level. We expect the qualitative conclusions to hold under richer models, because they follow from the structural fact that coordination manufactures the temporal overlap that uncoordinated protocols must wait for, but quantitative figures would shift. A hardware study on an open battery-free platform (de Winkel et al., 2022; Geissdoerfer & Zimmerling, 2021) is the natural next step. Discussion The broader lesson is that the approximate remanence clock, often treated as a limitation, is better treated as an enabling resource. Once a node can recover its off-duration to within a known error, that error defines a guard band, and the guard band makes deterministic overlap possible, which in turn makes the entire toolbox of synchronous-transmission flooding available to nodes that are usually off. The cost is paid in listening, which scales with the clock error, so improvements in timekeeping translate directly into energy savings for dissemination. This couples two previously separate research threads, timekeeping (de Winkel et al., 2020; Hester et al., 2016; Rahmati et al., 2012) and synchronous transmissions (Ferrari et al., 2011, 2012; Zimmerling et al., 2020), in a way that benefits both. Several extensions follow naturally. Multiple concurrent broadcasts could share epochs through scheduling in the manner of the Low-Power Wireless Bus (Ferrari et al., 2012). Allocating epochs among competing broadcasts is itself a constrained resource-allocation problem, for which constraint-satisfaction and approximation models from adjacent computing domains offer a useful starting point (Ahmed et al., 2019; Odejobi et al., 2019). Heterogeneous harvesting, where some nodes wake far more often than others, could be exploited by letting energy-rich nodes carry a larger relay budget. Negative acknowledgements within an epoch could provide a tighter completion guarantee than the statistical coverage we report. Finally, security and integrity of the disseminated payload, a concern that motivated some of the original timekeeping work (Rahmati et al., 2012), remains open for the broadcast setting. Conclusion Reliable broadcast over batteryless intermittent sensor nodes is hard for one fundamental reason: neighbors are rarely awake together. We showed that the two intuitive responses both fail, stateless flooding by forgetting the payload and opportunistic relaying by waiting on chance, and we presented GleanCast, which manufactures the missing overlap. By aligning wake windows to shared epochs with a guard band sized to the remanence-timekeeping error, persisting the payload across power cycles, and exploiting constructive interference with bounded redundancy, GleanCast delivers to every reachable node at the default operating point, lowers dissemination latency by about thirty times and transmissions by about half relative to opportunistic relaying, and remains reliable as energy grows scarce and as clock error rises to forty percent, at the cost of a modest increase in listening. The results argue that an approximate clock, used deliberately, is enough to bring fast and reliable network-wide flooding to the batteryless regime. References Ahmed, K. S., & Odejobi, O. D. (2018). Resource allocation model for energy-efficient virtual machine placement in data centers. IRE Journals, 2(3), 1-10. Ahmed, K. S., Odejobi, O. D., & Oshoba, T. O. (2019). Algorithmic model for constraint satisfaction in cloud network resource allocation. IRE Journals, 2(12), 516-532. Ahmed, K. S., Odejobi, O. D., & Oshoba, T. O. (2020). Predictive model for cloud resource scaling using machine learning techniques. Journal of Frontiers in Multidisciplinary Research, 1(1), 173-183. Balsamo, D., Weddell, A. S., Merrett, G. V., Al-Hashimi, B. M., Brunelli, D., & Benini, L. (2015). Hibernus: Sustaining computation during intermittent supply for energy-harvesting systems. IEEE Embedded Systems Letters, 7(1), 15-18. Colin, A., & Lucia, B. (2018). Termination checking and task decomposition for task-based intermittent programs. In Proceedings of the 27th International Conference on Compiler Construction (CC) (pp. 116-127). de Winkel, J., Delle Donne, C., Yildirim, K. S., Pawelczak, P., & Hester, J. (2020). Reliable timekeeping for intermittent computing. In Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 53-67). de Winkel, J., Tang, H., & Pawelczak, P. (2022). Intermittently-powered Bluetooth that works. In Proceedings of the 20th Annual International Conference on Mobile Systems, Applications and Services (MobiSys) (pp. 287-301). Edivri, J., & Oteri, O. (2022). Predictive capacity planning and resource utilization forecasting models for multi-program and multi-stakeholder IT portfolios. International Journal of Scientific Research in Computer Science, Engineering and Information Technology, 8(4), 826-845. Ferrari, F., Zimmerling, M., Mottola, L., & Thiele, L. (2012). Low-power wireless bus. In Proceedings of the 10th ACM Conference on Embedded Networked Sensor Systems (pp. 1-14). Ferrari, F., Zimmerling, M., Thiele, L., & Saukh, O. (2011). Efficient network flooding and time synchronization with Glossy. In Proceedings of the 10th ACM/IEEE International Conference on Information Processing in Sensor Networks (pp. 73-84). Geissdoerfer, K., & Zimmerling, M. (2021). Bootstrapping battery-free wireless networks: Efficient neighbor discovery and synchronization in the face of intermittency. In Proceedings of the 18th USENIX Symposium on Networked Systems Design and Implementation (pp. 439-455). Geissdoerfer, K., & Zimmerling, M. (2022). Learning to communicate effectively between battery- free devices. In Proceedings of the 19th USENIX Symposium on Networked Systems Design and Implementation (pp. 419-435). Hester, J., & Sorber, J. (2017). The future of sensing is batteryless, intermittent, and awesome. In Proceedings of the 15th ACM Conference on Embedded Networked Sensor Systems (pp. 1-6). Hester, J., Storer, K., & Sorber, J. (2017). Timely execution on intermittently powered batteryless sensors. In Proceedings of the 15th ACM Conference on Embedded Networked Sensor Systems (Article 17). Hester, J., Tobias, N., Rahmati, A., Sitanayah, L., Holcomb, D., Fu, K., Burleson, W. P., & Sorber, J. (2016). Persistent clocks for batteryless sensing devices. ACM Transactions on Embedded Computing Systems, 15(4), Article 77. Hicks, M. (2017). Clank: Architectural support for intermittent computation. In Proceedings of the 44th Annual International Symposium on Computer Architecture (pp. 228-240). Levis, P., Patel, N., Culler, D., & Shenker, S. (2004). Trickle: A self-regulating algorithm for code propagation and maintenance in wireless sensor networks. In Proceedings of the 1st USENIX Symposium on Networked Systems Design and Implementation (pp. 15- 28). Lucia, B., Balaji, V., Colin, A., Maeng, K., & Ruppel, E. (2017). Intermittent computing: Challenges and opportunities. In 2nd Summit on Advances in Programming Languages (Article 8). Lucia, B., & Ransford, B. (2015). A simpler, safer programming and execution model for intermittent systems. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 575-585). Ma, D., Lan, G., Hassan, M., Hu, W., & Das, S. K. (2020). Sensing, computing, and communications for energy harvesting IoTs: A survey. IEEE Communications Surveys & Tutorials, 22(2), 1222-1250. Maeng, K., Colin, A., & Lucia, B. (2017). Alpaca: Intermittent execution without checkpoints. Proceedings of the ACM on Programming Languages, 1, Article 96. Odejobi, O. D., & Ahmed, K. S. (2018a). Performance evaluation model for multi-tenant Microsoft 365 deployments under high concurrency. IRE Journals, 1(11), 92-107. Odejobi, O. D., & Ahmed, K. S. (2018b). Statistical model for estimating daily solar radiation for renewable energy planning. IRE Journals, 2(5), 1-12. Odejobi, O. D., Hammed, N. I., & Ahmed, K. S. (2019). Approximation complexity model for cloud-based database optimization problems. IRE Journals, 2(9), 1-10. Rahmati, A., Salajegheh, M., Holcomb, D., Sorber, J., Burleson, W. P., & Fu, K. (2012). TARDIS: Time and remanence decay in SRAM to implement secure protocols on embedded devices without clocks. In Proceedings of the 21st USENIX Security Symposium (pp. 221-236). Ransford, B., Sorber, J., & Fu, K. (2011). Mementos: System support for long-running computation on RFID-scale devices. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 159-170). Sunday, E. A., & Omoegun, G. O. (2019). Optimizing electrical load distribution for hybrid solar installations in developing economies. International Journal of Scientific Research in Mechanical and Materials Engineering, 3(6), 27-47. Sunday, E. A., & Omoegun, G. O. (2022). Smart fault detection in HVAC systems using sensor- based monitoring. International Journal of Scientific Research in Science, Engineering and Technology, 7(4), 380-403. Sunday, E. A., Omoegun, G. O., Essien, M. A., & Oluokun, O. A. (2020). Transitioning from reactive to predictive maintenance in mechanical systems. International Journal of Scientific Research in Computer Science, Engineering and Information Technology, 6(6), 425-447. Zimmerling, M., Mottola, L., & Santini, S. (2020). Synchronous transmissions in low-power wireless: A survey of communication protocols and network services. ACM Computing Surveys, 53(6), 1-39.