SQEEZ: Energy-Efficient Location Sharing in Mobile Ad Hoc Networks Ram Ramanathan∗† , Dmitrii Dugaev∗ , Ryan Conyac∗ , Alon Mor∗ , Charlie Greenbacker∗ ∗ goTenna Inc., 101 Hudson Street, STE 1701, Jersey City, NJ 07302 † NLytica LLC, 82 Wendell Ave, STE 100, Pittsfield, MA 01201
arXiv:2605.31339v1 [cs.NI] 29 May 2026
Email: [email protected], [email protected], [email protected], [email protected], [email protected]
bitrates of the order of 10-50 kbps, and run on batteries. In such systems, the increasing PLI load causes packet losses, drains device battery, and in general limits scalability. We present SQEEZ (Suppression and Compression for Energy- and Error-Minimizing Location Sharing) for adaptively reducing the Position Location Information (PLI) packet load on the network to better scale with size and mobility. SQEEZ uses a combination of three techniques: (1) adaptive PLI suppression, wherein the updates are selectively discarded at the originator if the node has not moved beyond a threshold; (2) temporal compression wherein only the difference between a PLI packet and a reference PLI packet is transmitted; and (3) a further inline compression of this difference using the Dynamic Compact Control Language (DCCL). Whether or not SQEEZ is employed, there is an interesting tradeoff between the energy consumption, the packet delivery rate, and the location tracking accuracy as a function of the PLI update frequency. If the PLI update frequency is low, then the locations may not be sufficiently accurate, but if one increases the PLI frequency, the energy drain may be prohibitive. Moreover, if the load increases beyond a point, I. I NTRODUCTION PLI packets may be dropped at the MANET network and In Mobile Ad Hoc Networks (MANETs) deployed for MAC layers, further exacerbating location errors. We present off-grid communications in scenarios such as disaster relief, a preliminary mathematical model to capture this tradeoff, and wildland firefighting, and military operations, nodes periodically show that the product of location error and energy is a constant broadcast their locations over the MANET to provide shared for a given velocity. situational awareness and collaborative mapping. A prime SQEEZ has been designed to work with location sharing example of an application for this purpose is the Android Team applications such as ATAK, in particular when these are Awareness Kit (ATAK) – a geospatial infrastructure application deployed over a MANET. An example of such a deployment is that allows users to navigate using GPS and map data overlays, over the goTenna Pro-X2 product [1], a very low SWaP-C (size, providing a real-time common operating picture. In a MANET weight, power, and cost) mesh/MANET radio device. Widely environment, plugins for ATAK enable the periodic sharing used by military, law enforcement, and public safety personnel of Position Location Information (PLI) messages, ensuring all in the U.S. and around the world, the Pro-X2 utilizes goTenna’s team members have a consistent and up-to-date view of each novel Aspen Grove protocol stack [2] that uses zero-controlothers’ locations. packet routing protocols [3], [4] to quickly and efficiently The dissemination (broadcast) of PLI messages from every provide long-range short-burst mission-critical communications. node to every other node imposes a significant load on Using a model of the goTenna Pro-X2 networking stack a MANET, which increases with both increasing size and as the base and ATAK-based PLI message formats, we have mobility. With increasing size, more PLIs are generated and simulated SQEEZ and evaluated the overall system performance forwarded; and with increasing mobility, it is necessary to on a variety of metrics. This includes metrics for energy increase the location update frequency for accurate tracking. consumption, location error, and packet delivery ratio – plus a In order to provide long range and low SWaP (Size, Weight, novel metric that we call Error-Penalized-Energy (EPE) that and Power), many of the products supporting off-grid commu- captures the energy-accuracy tradeoff by ”normalizing” the nications such as the goTenna Pro-X2 [1] end up having low consumed energy with the incurred error. Our results show that Abstract—Periodic network-wide dissemination of node location data is crucial for shared situational awareness and collaborative mapping in mobile ad hoc and mesh networks for public safety, disaster relief, and military. A key challenge is to provide maximally accurate location information with minimal energy expenditure on part of the nodes. We present SQEEZ: a mechanism for reducing the Position Location Information (PLI) load that combines two orthogonal techniques: (1) adaptive suppression of location updates; and (2) temporal and inline compression of update packets. We describe the SQEEZ suppression and compression algorithms, analyze the tradeoff between location error and energy consumption, and introduce a new metric called Error-Penalized-Energy (EPE) that normalizes the energy metric using the error incurred. Our simulation results show that, in the range of parameters studied, SQEEZ improves the EPE-efficiency and scalability in a 30-node random waypoint scenario by up to 4.4x and 2.3x rexpectively; and increases the EPE-efficiency by 7.5x in a 9-node real-world network trace. Compression provides larger improvements than suppression at high mobilities and vice-versa at low mobilities. Index Terms—Mobile ad hoc networks, MANET, mesh networks, compression, position location information, PLI updates
Copyright © 2026 goTenna Inc.
SQEEZ improves the EPE-efficiency by up to 2x and 7x for random waypoint and real-world mobility models respectively, and increases scalability by up to 2.5x. Further, adaptive suppression is better than compression at low and medium mobilities, whereas compression outperforms suppression at higher mobilities. A key finding is that while decreasing PDRs increase location errors, but the increase starts at much lower PDRs than expected. The key contributions of this paper are as follows: (1) an architecture and algorithms for joint use of adaptive suppression and compression; (2) analytical expressions for location error and energy, and the tradeoff therein; (3) conception of a novel metric error-penalized-energy; and (4) a comprehensive simulation study of SQEEZ, including each of its components, providing insights. SQEEZ can be used to reduce the traffic load in any system or application that uses periodic broadcast messaging. For example, goTenna has developed a plugin for ATAK that offers support for various rates of PLI messaging based on operational needs. Using SQEEZ within such a plugin, operators of off-grid mesh networks can significantly improve the network longevity and scalability with measurable and controllable bounds on location tracking errors.
GPS PLI Pkt Generator
Conventional (“Baseline”)
PLI Pkt Broadcaster
Temporal Compressor
Inline (DCCL) Compressor
SQEEZ Suppressor
OR Drop
Fig. 1: The SQEEZ Architecture (source side).
The architecture of SQEEZ is illustrated in Figure 1. All operations are at the orginator and the receiver(s) of the PLI packet; the transit nodes in the MANET are not involved at all. SQEEZ is an augmentation of the baseline system wherein instead of sending an originated packet immediately, it is sent to SQEEZ instead. This architecture allows SQEEZ to coexist with the baseline system, requires minimal modifcation to it and facilitates flexible and incremental deployment. Within SQEEZ, the PLI packet first goes through the suppressor, which decides whether to suppress the packet or not based on previously stored packets. If the packet is not suppressed, then it is given to the temporal compressor which compresses the packet using a reference anchor. The II. SQEEZ A RCHITECTURE packet is then further compressed by encoding via DCCL. At a Currently, a typical system for providing situational aware- receiver of the PLI, SQEEZ applies these operations in reverse ness using location information dissemination – we call this – first DCCL decoding, then temporal de-compressing, before the baseline system – works as follows. An application such handing the PLI to the application. as ATAK [5] runs on each node. Using the in-built GPS, In many systems, the PLI is encrypted to prevent unaueach node originates a Position Location Information (PLI) thorized access. If such encryption is present, it is applied packet at periodic intervals containing the node’s location at the very end of the SQEEZ process, i.e., after the DCCL (latitude/longitude) and other supporting information as the compressor. A received packet is likewise decrypted before timestamp, sender identification, and expected location sharing DCCL coding. Thus, SQEEZ is fully compatible with PLI frequency. This packet is then network-wide broadcast over an encryption. underlying MANET stack such as the goTenna Aspen Grove III. SQEEZ A LGORITHMS stack. Nodes receiving the packet update their map or other In this section we describe each of the components depicted information structures using the received information from the in Figure 1 in detail. sender. The PLI period is a critical feature of such a system. The A. Suppression smaller it is (i.e., higher the PLI origination frequency), the A formal description of the SQEEZ Suppression algorithm better the tracking accuracy, but higher the load on the MANET. is given in Algorithm 1, and explained below. Below a certain PLI period, the load exceeds the network The Suppressor inherits the default PLI interval Td from capacity and significant packet losses occur, leading to a the baseline, and uses two additional parameters: the refresh decrease in accuracy. interval Tr , which is the time after which a PLI is transmitted The goal of SQEEZ is to reduce the PLI load in current even if there has been no change in the location; and the systems using two orthogonal techniques: threshold distance ∆, which is the radius within which PLIs • Suppression of originated PLI packets if the distance are suppressed. between the current and previous locations is less than a The SQEEZ Suppressor uses two states for the inferred threshold. status of the node on which it runs: mobile and stationary. • Compression of PLI packets using two methods: The initial state is mobile. The state is inspected every default – Temporal compression, wherein only the difference period Td and transitions from mobile to stationary if the node between an PLI and an ”anchor” PLI is sent. is within ∆ of the previous update’s location. Specifically, the – In-line compression using the Dynamic Compact SQEEZ suppressor reads the current location information Lc Control Language (DCCL), which efficiently encodes from the PLI, and compares it with the stored location Ls the packet into the smallest possible size of the most recent previous PLI that was actually shared. If
the Euclidean distance d(Lc , Ls ) is less than ∆, the packet is B. Temporal Compression dropped (suppressed), unless the time elapsed since a previous Position Location Information (PLI) packets typically have transmission exceeds Tr , in which case the packet is sent. significant redundancy along the “temporal axis.” For instance, Conversely, the state transitions from stationary to mobile if consecutive PLI messages often differ only in a few specific d(Lc , Ls ) >= ∆. In the mobile state, a PLI is never suppressed. fields (e.g., timestamp, coordinates), while others remain conThe default PLI interval is often a part of the PLI packet, stant (e.g., callsign, team color). Temporal compression exploits and may also be called location sharing frequency. This serves this redundancy using a simple idea: send the unchanging fields to inform a receiver when to expect the next packet, based once and send only the difference in subsequent packets. While on which the receiver can mark a sender “unavailable” if no the basic idea is well-known and has been used in solutions such PLI was received from the node after some multiple of the as Robust Header Compression (ROHC) for IP networks, the default PLI interval. Accordingly, the SQEEZ Suppressor sets design of a particular temporal compression solution depends this field to Td when a PLI is sent in the mobile state, and to heavily on the packet fields, which are very different for PLIs Tr when in stationary state. The latter indicates to the receiver compared to IP headers. A particular challenge is robustness not to expect a PLI for another Tr time even though the default against packet losses while retaining efficiency: this requires interval may be less. Further, an additional PLI is sent when proper classification of fields in terms of how often they change. transitioning from the mobile to stationary state whose sole We present below the design in the context of the goTenna purpose is to inform the receivers of the new location sharing plugin for ATAK. Table I enumerates the fields within a typical frequency Tr (see lines 11-14 in Algorithm 1) to update their PLI protobuf used in the goTenna application, along with their expectations for the next PLI. persistence and classification. We classify fields into three As per Algorithm 1 updates are only sent at the first categories: STATIC (rarely, if ever, changes), SEMI-STATIC expiration of the Td timer after the ∆-threshold was crossed. (changes slowly), and CHANGING (frequently changes). We refer to this as the discrete version of suppression. In Field Bytes Class Persistence contrast, we could have a continuous version where the location Timestamp 8 CHANGING Secs - Mins is constantly sampled, and an update is sent as soon as the Message Type 1 STATIC N/A App Code 1-8 SEMI-STATIC Days - Months ∆-threshold is crossed. This can be thought of as a special Sender GID 8 STATIC N/A case of Algorithm 1 when Td is equal to the sampling interval. Encryption ID ∼3 SEMI-STATIC Days - Months The continuous version has lower location error but uses more Init. Vector ∼12 CHANGING Secs - Mins Coordinate 11-16 SEMI-STATIC Secs - Years energy and originates more packets. In the remainder of the Loc. Share Freq 4 SEMI-STATIC Hours - Days paper, all references to Suppression assume the discrete version TAK How 1 STATIC N/A unless explicitly specified otherwise. Loc. Accuracy 4 STATIC N/A Algorithm 1 Suppression Algorithm 1: Input: Generated PLI packet (curPLI) 2: Configured Parameters: Td , Tr , ∆ ▷ See text 3: Local Store: Most recently sent PLI (lastSentPLI) 4: 5: procedure EVERY D EFAULT I NTERVAL(Td , curPLI) 6: if DISTANCE(curPLI.loc, lastSentPLI.loc) ≥ ∆ then 7: state ← MOBILE 8: curPLI.locSharingFreq ← Td 9: network-broadcast curPLI
else if state is MOBILE then state ← STATIONARY curPLI.locSharingFreq ← Tr network-broadcast curPLI else 16: discard curPLI 17: end if 18: end if 19: end procedure 10: 11: 12: 13: 14: 15:
20: 21: procedure EVERY R EFRESH I NTERVAL(Tr , curPLI) 22: network-broadcast curPLI unless done within last Tr 23: end procedure
Loc. Type Team Color Sender UUID Sender Callsign
1 1 8-16 Var.
STATIC STATIC STATIC SEMI-STATIC
N/A N/A N/A Days - Months
TABLE I: PLI Fields. Class assigned by SQEEZ As apparent from Table I, a significant portion of the packet consists of STATIC or SEMI-STATIC fields (such as Sender GID and Team Color) which do not need to be re-transmitted in every update. To manage the retrieval of these fields at the receiver, we utilize anchors as keys for the shared context. We employ the Sender-UUID as the anchor for STATIC fields, as this is assigned to a user device and persists for the duration of the mission. For SEMI-STATIC fields, we introduce a new 1-byte Context-ID. The reason for a separate Context-ID in addition to the Sender-UUID is as follows: relying solely on UUID would require re-sending all semi-static fields in every message to be resilient to packet loss.1 Using only a Context-ID would necessitate sending static fields whenever a semi-static field changes. Our dual-anchor approach balances robustness and efficiency. The sender algorithm is given in Algorithm 2 and functions as follows. Upon receiving a PLI from the application, the 1 If a semi-static field changes, and the packet with the changed field gets lost, retrieving using the UUID anchor alone could result in the wrong value.
sender compares the STATIC fields against the stored context for the UUID. If there is a mismatch, a new context is generated, and an uncompressed packet is sent. If the STATIC fields match, the sender then checks the SEMI-STATIC fields against the stored context-id-anchored semi-static context. A mismatch here triggers the generation of a new Context-ID, and a “semicompressed” packet (containing UUID, new Context-ID, SEMISTATIC, and CHANGING fields) is transmitted. If both match, a fully compressed packet containing only the Context-ID and CHANGING fields is sent. Periodically (including at the very beginning), the entire PLI with a new Context-id is sent as a soft-state refresh to account for unforeseen anchor losses. Algorithm 2 Temporal Compression: Sender Side 1: Input: Generated PLI packet (PLI) 2: Output: Compressed PLI packet (cPLI) 3: Local Store: Indexed Contexts 4: U ← PLI.sender-UUID 5: if PLI.static ̸= stored-context[U ] then 6: stored-context[U ] ← PLI.static 7: cPLI ← PLI ▷ Uncompressed 8: else 9: if PLI.(static+semi-static) ̸= stored-context[any] then 10: Generate new Context-ID C 11: stored-context[C] ← PLI.(static+semi-static)
Create semi-compressed cPLI with fields: UUID=U , ContextID=C, semi-static, changing else Retrieve match’s Context-ID C Create compressed cPLI with fields: Context-ID = C, changing 18: end if 19: end if 20: return cPLI 12: 13: 14: 15: 16: 17:
Algorithm 3 Temporal Compression: Receiver Side 1: Input: (Possibly) Compressed PLI packet (cPLI) 2: Output: Original (uncompressed) PLI packet (PLI) 3: Local Store: Indexed Contexts 4: U ← cPLI.sender-UUID 5: if cPLI is Uncompressed then ▷ All fields present 6: stored[U ] ← cPLI.static 7: PLI ← cPLI 8: else 9: if cPLI is Semi-compressed then ▷ No Static fields 10: Retrieve static ← Stored[U] 11: PLI ← static + cPLI.semi-static + cPLI.changing
stored[cPLI.ContextID] ← static + cPLI.semi-static 12: 13: else ▷ is fully compressed 14: Retrieve static+semi ← stored[cPLI.ContextID] 15: PLI ← static + semi + cPLI.changing 16: end if 17: end if 18: return PLI
The receiver algorithm is given in Algorithm 3 and functions as follows. Upon receiving a compressed PLI, the receiver determines the compression state. For uncompressed packets, the receiver stores the STATIC fields indexed by the UUID. For semi-compressed packets, the receiver retrieves the STATIC fields using the UUID and combines them with the received SEMI-STATIC fields to reconstruct the payload, and stores the static and semi-static fields together indexed by the Context-ID. For fully compressed packets, the receiver uses the received Context-ID to retrieve the full context (STATIC + SEMISTATIC) and combines it with the CHANGING fields to recreate the original packet. Errors may occur if a context-establishing packet is lost. If a receiver encounters a Context-ID or UUID that is not found in its local store, it transmits a Negative Acknowledgement (NACK) containing the missing identifiers. Upon receiving a NACK, the source re-broadcasts the full, uncompressed packet associated with that context. This re-initializes the temporal compression process. To prevent broadcast storms, the source utilizes a hold timer to aggregate multiple NACKs for the same context. C. Compression using Dynamic Compact Control Language (DCCL) Dynamic Compact Control Language (DCCL) [6] is a language used for compressing message objects serialized by Google Protocol Buffers (GPB) [7]. DCCL has found an extensive usage in extremely low capacity networks, such as underwater acoustic and satellite networks, where the throughput of a link may be 500 bps or less. DCCL eliminates the overhead of field tags and byte-padding used by GPB to dissect a bytestream. Recent DCCL versions substitute the standard GPB encoder with more aggressive codecs that utilize domain-specific knowledge (i.e., value range, and accuracy) to achieve even higher compression rates, especially on integer types. In the context of a PLI message, each PLI field can be described with DCCL, defining the type of data, the range, and the accuracy of the value assigned. For example, a timestamp field is defined as 64-bit integer carrying the current amount of elapsed milliseconds. With DCCL, we can define the range of desired time ∆T (e.g. from “now” to “now + 1 day”), and the accuracy of the value received δ (i.e. error tolerance), the amount of bits N needed for encoding is: N = ⌈log2
∆T ⌉ δ
(1)
With 2-ms error tolerance δ, and the time-range ∆T equal to 1 day, the amount of bits N needed for DCCL to encode a 64-bit Timestamp field is 26 bits, translating into more than 50% of compression gain. We note that compression gains heavily depend on the data type (integer, double, bool, byte, etc.), and the possibility to tolerate a given range and accuracy of a value. The encryptionrelated and user-defined fields such as Encryption ID or
Callsign carry arbitrary values, thus they cannot be effectively compressed using source encoding. DCCL provides an efficient source encoding compression interface, which complements the Temporal Compression algorithm described previously. It introduces an extra compression factor to CHANGING and SEMI-STATIC fields which couldn’t be suppressed otherwise. For SQEEZ, DCCL provides a compression ratio of 0.82, 0.84 and 0.83 for static, semi-static and changing fields respectively. IV. T HE E NERGY-E RROR T RADEOFF
the transmit current draw is 250x of the receive/listen draw (see section V for more details). Incorporating receive energy into the analysis would require us to know the topology, which makes it unwieldy. We now consider the location error. Suppose an update was triggered at some time t. Then, in the interval (t, t + τ ) before the next update, the location error as perceived by a receiver r varies from Lr v at time t to a maximum2 of Lr v + τ v at time t + τ , where Lr is the latency at receiver r. Let L denote the average latency across nodes. Then, the time- and node-averaged location error
Consider a MANET with N mobile nodes each moving τv with a velocity v. Assume each node is equipped with a Λ= + Lv (3) 2 location sharing application that network-wide broadcasts an Multiplying equation 2 and 3, we get PLI with default period Td . Let Etx denote the energy per PLI transmission. We explore the tradeoff between the energy M N Etx τ expended by the MANET nodes and the location error incurred, EΛ = v +L (4) τ 2 deriving expressions for each in the process. Our formulation applies to both the baseline location sharing as well as if In lightly loaded networks with a diameter of a few hops SQEEZ is engaged. – which is quite typical in operational scenarios – the latency Let E denote the energy consumption rate averaged over is in the order of a few 100 ms whereas Td and hence τ is all nodes of the MANET. Let Λ denote the time- and node- several 10’s of seconds. Thus, to a first order approximation, averaged location error, i.e., the difference between a node’s we can assume L ≪ τ , and simplify equation 4 as actual location and its inferred location based on PLI receptions M N Etx (a more formal definition is given in section V-A). Let τ denote EΛ ≈ v (5) 2 the time between successive PLI packet originations, and let L denote the message latency. For convenience, all of the notation This captures the energy-error tradeoff. Specifically, it shows used is summarized in Table II. that for a given MANET scenario, protocol stack and PLI Let M be the number of nodes in the MANET that retransmit packet size (which determines Etx ), one cannot decrease the the update. If simple flooding is used for network-wide location error Λ without incurring a corresponding increase broadcast, then M = N . If an efficient flooding protocol in the energy expended E, and vice versa. As the velocity such as ECHO [3] is used, then M could be much smaller increases, one can either maintain the same accuracy using than N . Then higher energy consumption rate or maintain the same energy consumption while compromising on accuracy, but cannot do M N Etx (2) both. When the latency is negligible, the energy-error tradeoff E= τ is, remarkably, independent both of the time τ between updates as well as the latency. Equation 5 is the basis, with suitable TABLE II: Summary of Notation adaptation, for a novel metric error-penalized-energy that we shall explore in section V-A. Symbol Definition We now proceed to express equations 2 and 3 in terms of N Number of mobile nodes in the MANET network and configuration parameters alone by substituting v Node velocity for τ . For the baseline case (no suppression), τ = Td . For Td Default PLI broadcast period Etx Energy per PLI transmission suppression, let ∆ be the distance threshold. A node takes ∆ v E Average energy consumption rate seconds to cross the distance threshold after which it is obliged Λ Time- and node-averaged location error to send an update at the next multiple of Td . Specifically, τ Time between successive PLI originations L M ∆ BP LI r Ptx AP I V
Message latency (average across nodes) Number of nodes that retransmit the update Distance threshold Length of the PLI packet Bitrate Default transmit power Amplification coefficient at power Ptx Idle current Supply voltage
For this analysis, we assume that the energy consumption is almost entirely due to transmissions. While this is not true in general, it is valid the context of the goTenna system where
τ = ⌈(
(∆/v) )⌉Td Td
(6)
We note that for the baseline case of ∆=0, τ instantiates to Td in equation 6, and so the equation captures both the baseline and SQEEZ. Substituting equation 6 in equations 2 and 3 respectively, we have the expressions: 2 If the node is stationary for some period of the time or changes directions, the error may be less then this maximum.
E=
Λ=
M N Etx ⌈( (∆/v) Td )⌉Td
(7)
⌈( (∆/v) Td )⌉Td v
+ Lv (8) 2 The above applies to both suppression with arbitrary ∆ and the baseline which is essentially ∆ = 0. The continuous version of suppression (see section III), is equivalent to an very small Td relative to ∆/v and therefore we can remove the ”ceiling” operators3 from equations 7 and 8. Thus, for the continuous version, we have E =v
M N Etx ∆
(9)
∆ + Lv (10) 2 The number of nodes M that retransmit the PLI is a function of the broadcasting protocol and topology. If Flooding is used, then M = N irrespetive of the topology. Etx is a function of the packet size, data rate and hardware details. For the goTenna system modeled in the simulation, this is approximated by: Λ=
BP LI Ptx )( + I)V Etx = ( r AP V
(11)
where BP LI is the length of the PLI packet, r is the bitrate, P is the default transmit power, AP is the amplification coefficient at power P , I is the idle current and V is the supply voltage. V. E VALUATION In this section we discuss the evaluation of SQEEZ using a model of SQEEZ running over the Aspen Grove protocol stack [2]. We first define the performance metrics used for evaluation, followed by model details and simulation results.
We define each of these metrics below. In the below, N is number of nodes and and T is the deployment/simulation time over which the measurement is made. 1) Average (Transmission) Energy Consumption: This is the average energy expended per minute per node for transmission purposes. It is computed by calculating the total energy expended by each transmission over the course of the simulation and normalizing it per minute and per node. For the goTenna Pro X, which is the radio on which our simulations are modeled, the default transmission power is 5W, at which the current draw is 2730 mA for transmission compared to only 40 mW for idle and reception, and therefore we use the transmission energy as a first order approximation for the total energy. The energy consumed by each individual transmission is given by equation 11, with the values of the dependent parameters in the equation as given in Table III. Let K denote the total number i of transmissions across the MANET and Etx denote the energy th 4 consumed for the i transmission . Then the Average Energy Consumption is calculated as: PK Ei AEC = i=1 tx (12) N ×T 2) Average Location Error: We define the location error as the difference between the actual node locations and the believed locations based on PLI packet receptions. Specifically, if Lactual (t) is the ground truth location at time t and Lbelieved (t) is the location estimated by the receiver based on the last received PLI, the error at time t is the Euclidean distance between them. We define two averaging metrics for the location error, both commonly used in statistics. The Mean Absolute Error (MAE) is defined as: PT MAE =
t=0
(i) (i) i=1 dist(Lactual (t), Lbelieved (t))
PN
N ×T
(13)
The Root Mean Square Error is defined as: s The objective of SQEEZ is to provide energy-efficient PT PN (i) (i) 2 t=0 i=1 (dist(Lactual (t), Lbelieved (t))) location information dissemination with minimal compromise RMSE = N ×T on location accuracy. Accordingly, it is important to measure (14) the transmission energy (with appropriate averaging) and the While MAE provides a general sense of drift, the RMSE average location error, which is the average difference between the actual node locations and the believed locations based on penalizes larger errors more heavily, which is critical for safety applications where large location discrepancies can be PLI packet receptions. As discussed in section IV, energy and error are locked in dangerous. 3) Error Penalized Energy: Comparing protocols solely on a tradeoff, that is, reducing error implies increasing energy. energy is often insufficient, as energy consumption can be Comparing two algorithms based on energy or error alone is trivially reduced by decreasing the update frequency, which misleading – for example, a protocol that consumes less energy negatively impacts accuracy. In section IV we showed that than another could do so by greatly compromising on location reducing energy tends to increase location error, and therefore error. Therefore, in addition to average energy and error we performance must be graded commensurate to the error increase. have developed a novel metric called Error Penalized Energy Accordingly, we introduce the Error-Penalized-Energy (EPE) (EPE), that combines both energy and error as a better way of metric. EPE “normalizes” the energy consumption by the comparison. A. Performance Metrics
3 Note that the difference between ⌈x/y⌉ and x/y for any x, y is at most 1 and therefore negligible if x ≫ y.
4 Because of compression and other reasons, each packet may have a different length and hence consume different energy
TABLE III: Simulation parameters. Simulation time per run, hours Mobility Scenarios RW node velocity, mile/hour RW pause time, seconds MANET Size Laydown area, miles x miles PLI period (Citylog), seconds PLI period (RW), seconds PLI Payload Size, bytes MANET Protocol Network / MAC Radio bit rate, kbps Compression soft-state refresh, min Suppression soft-state refresh (Tr ), min Suppression dist. threshold ∆, meters
3 Citylog, Random Waypoint (RW) [1-6] when swept over, 3 when not [0-9000] when swept over, 600 when not 9 (Citylog), 30 (RW) 3x3 default, 2x2 for scalability sims [5-30] when swept, 90 when not [20-120] when swept, 90 when not 100 ECHO [3] / G-CSMA 19.2 120 5 10
amount of error introduced relative to a baseline tolerance. It is defined as: k !1/k Errav EPE = AEC · 1 + (15) Errbase where AEC is the average energy consumed per minute per node, Errav is the average location error, Errbase is the baseline error tolerance (e.g., 10m), and k is a steepness factor (e.g., k ≈ 10). For example, a protocol consuming 10 Joules with a 100m error has a higher EPE than one consuming 20 Joules with a 10m error, meaning that the latter is “better” in spite of higher energy consumption, in line with intuition. The EPE is almost equal to AEC for Errav ≤ Errbase , and increases swiftly (linearly) for Errav > Errbase , capturing intuitive notions. 4) Packet Delivery Ratio: The ratio between the number of PLIs received and the number of packets expected to be received. If S is the total number of PLIs originated and sent and R the total received, then P DR =
R (N − 1) × S
(16)
5) Scalability: This addresses the question: how many nodes does the MANET scale to, for the given parameters? Following [8] and adapting to our setting, we define it as the largest sized network for which the Packet Delivery Ratio is greater than 90%. We find this by (binary) searching to find the point at which the PDR drops below 90%. This metric only works for expandable networks and scenarios, i.e., those based on a model [8] such as the Random Waypoint. It is not applicable to City Log. B. Simulation Model, Scenarios and Results The simulations are based on a discrete-event model of SQEEZ running over the goTenna Aspen Grove stack using the goTenna Pro-X radios. The stack consists of the G-CSMA (“GoTenna CSMA”) at the MAC layer, and the ECHO [3] broadcasting protocol at the network layer. The model is highfidelity, incorporating packet sizes, queues, channel interference and packet capture, and has been calibrated against a testbed of goTenna radios. We model two mobility scenarios: the random waypoint [9], and City Log. In random waypoint (RW), a node picks a
random point in the deployed area and moves toward it at fixed velocity5 , pauses for a certain time at that location, and then repeats the process. Increasing the velocity or decreasing the pause time results in an increase in the extent of mobility. The “City Log” mobility trace is an actual trace of 9 users navigating a city (Brooklyn, NY) with goTenna devices. The RW model allows for varying the size, velocity and pause time to provide a thorough study, while the City Log provides realworld validation. Table III contains a summary of the relevant parameters, some of which are fixed, and some are “swept over” to plot dependence on it. The SQEEZ model follows the architecture in Figure 1. For temporal compression, the simulation fixes the values of Encryption ID and Initialization Vector and sender callsign fields (see Table I) to 3, 12 and 20 bytes respectively. Further, we mark semi-static fields whose persistence exceeds the refresh time of 2 hours as Static since they are essentially static for this duration. We now discuss the evaluation results. Each plot has four curves: the no-SQEEZ conventional baseline, SQEEZ, SQEEZ with suppression only, and SQEEZ with compression only. As a visual aid, the reader can use “blue” as ”no-SQEEZ” and ”red” as ”SQEEZ” in all plots for a quick comparison. Figure 2 shows the performance for a 30-node Random Waypoint model as a function of PLI period. As expected, the average energy increases with decreasing PLI interval (more frequent updates), with SQEEZ providing up to a 2x improvement in energy efficiency (at 60s PLI) over the baseline. Compression by itself performs slightly better than suppression by itself, but this is specific to the particular mobility level (600s pause time). The location error shows an interesting dynamic, falling for most of the PLI range but increasing slightly toward the end. The decrease can be explained by the fact that more frequent updates reduce the location error; however, at low PLIs below 30s the network congestion/load is so high that there is significant packet loss which results in the location error going up. This is confirmed by the PDR curve that shows a steep drop off in delivery rate around 40s. The EPE curves show a similar trend as the energy curves, but with a slighlty larger separation since the location errors are slightly separated, penalizing the baseline more than SQEEZ. The EPE-efficiency of SQEEZ is 2.3x better than the baseline. Figure 3 shows the performance as a function of the node velocity. A key observation here is that even at the lowest velocity of 1 mph (0.44 m/s), a node will routinely cross the distance threshold of 10m betwee two successive PLI updates, and so suppression only happens if and when nodes change direction. The average transmit energy has little variation, which is not surprising since at these low velocities the energy is dominated by the default update interval. The location error increases with velocity as can be expected (see equation 3), and because location is continuously changing and all variants have the same error since the PDR is high enough that few packets 5 Using a fixed velocity helps in alleviating the issue of convergence to the steady state [10])
(a) Average Energy Consumption, Joules
(b) Location Error, meters
(c) EPE, Joules
(d) PDR, %
Fig. 2: 30-node Random Waypoint results: Performance with varying PLI period
are dropped. The EPE trends upwards while maintaining the separation between SQEEZ variants due to the errors trending upward. Finally, the PDR is unremarkable at the low load of 90-second PLIs.
likely to be at the location of the last update. The EPE curve steepens the curves from 4a due to the error penalty which increases with mobility. Finally the PDR is near 100% since the network is lightly loaded at 90s PLI.
Figure 4 shows the performance as the pause time decreases, i.e., effective mobility increases. Since suppression takes advantage of the stationarity of nodes to reduce transmissions, the energy consumption of “suppression only” and SQEEZ increases with decreasing pause time, and at pause time 0, suppression does not yield any benefit. Consequently, the “suppression only” touches the baseline curve and the SQEEZ curve touches the “compression only” curve at pause time 0. At lower mobilities below pause time ≈ 1800s, suppression outperforms compression, and vice-versa at higher mobilities. SQEEZ combines the best of both and provides a 4.4x and 1.5x better EPE-efficiency at low- and high-mobility extremes respectively. Figure 4b shows that SQEEZ and its sub-variants do not compromise on the location error. The location error for all methods increase with less stationarity, since nodes are less
Figure 5 shows the performance with varying network size (number of nodes). We first consider the PDR (Figure 5d). Since each node originates broadcast PLIs, the load on the network can vary super-linearly with increasing size, which leads to rapid deterioration in the PDR. SQEEZ, as well as its subvariants reduce the load somewhat, leading to correspondingly better PDRs. The location error (Figure 5b) increases with size due to the higher loss rates, and once again, SQEEZ is able to do better by reducing the load. The average energy of all methods (Figure 5a) falls after about 60 nodes, which may seem counter-intuitive, but can be explained by the falling PDR which ends up actually reducing the total number of packets. The trend is similar for EPE in Figure 5c; the flattening of the curves at higher sizes can be explained by the higher location error which results in higher penalties in the EPE.
(a) Average Energy Consumption, Joules
(b) Location Error, meters
(c) EPE, Joules
(d) PDR, %
Fig. 3: 30-node Random Waypoint results: Performance with varying node velocity
In terms of relative performance, SQEEZ is not surprisingly the best, but it is interesting to note that “compression only” outperforms “suppression only” in terms of average energy, location error and EPE, while underperforming on PDR. At 40 nodes, SQEEZ provides a 2.75x improvement in EPE-efficiency over the baseline while having a better PDR. Figure 6 shows the number of nodes to which the network scales with a >90% PDR threshold. In Figure 6a, the area of deployment was held constant as the network size increased, whereas in 6b the area increased proportionally to hold the density constant at 3 nodes/sq km. The results are more or less similar. At the lowest mobility, suppression is very effective, and provides a majority of the scalability benefits of SQEEZ. As mobility increases, fewer updates can be suppressed; at a pause time of 0 seconds, the scalability of the suppression-only scheme is same as the baseline. Compression is more immune to mobility except at high mobilities when the ”Coordinate” field changes often, and forces the SEMI-STATIC fields to be included. This increases the packet size, which in turn
increases the probability of packet collisions and reduces the PDR causing a corresponding reduction in scalability. Figure 7 shows the EPE for the 9 node City Log scenario as a function of the PLI interval. The PLI interval range has been lowered relative to the Random Waypoint experiments due to the smaller network size. The average energy (Figure 7a) ”suppression only” curve is very close to the SQEEZ curve (which has both suppression and compression), indicating that suppression contributes a majority of gains. This is because the size is small and mobility is low (walking speed with lots of pauses). Unlike in Figure 2b, the location error does not go up at low PLI intervals. This is because, due to the small number of nodes, the packet loss remains low even at low PLI intervals and does not counteract the location error decrease. The EPE of SQEEZ is about 5 joules compared to 37 joules for the baseline, representing a 7.5x improvement in error-penalized-energy-efficiency. The PDR for all methods is near 100% except at very high update rate as can be expected with a small network.
(a) Average Energy Consumption, Joules
(b) Location Error, meters
(c) EPE, Joules
(d) PDR, %
Fig. 4: 30-node Random Waypoint results: Performance with varying node wait time (pause time)
VI. R ELATED W ORK We discuss relevant work in three parts: suppression, temporal compression, and DCCL-compression. Much of the existing published literature on location update suppression originates from geographic routing protocols. In the Distance Routing Effect Algorithm for Mobility (DREAM) [11] protocol, the update frequency is a function of the node’s mobility rate and the distance separating the sender and receiver. The Adaptive Position Update (APU) strategy [12] reduces the frequency of beaconing by employing Mobility Prediction (MP) and On-Demand Learning (ODL) rules. Similarly, the AFBGPSR protocol [13] utilizes fuzzy logic to adaptively adjust beacon intervals based on speed and neighborhood density. Unlike these methods which focus on routing-layer control messages and/or have a one-hop neighborhood scope, SQEEZ operates at the application layer for full PLI broadcast, and can work without predictable mobility. In [14], the problem of Neighborhood Update (NU) and Location Server Update (LSU) for a generic location service is analyzed using a
stochastic sequential decision framework, in particular using a Markov Decision Process. However, the focus is on theoretical properties. Compression techniques in constrained wireless networks aim to reduce the payload size of the updates without loss. Robust Header Compression (ROHC) [15] is a well-established standard for reducing repetitive header fields in IP-based wireless links. Lossless compression algorithms have been proposed for data compression in wireless sensor networks, including Sensor LZW (S-LZW) [16] and Lossless Entropy Compression (LEC) [17]. Temporal compression is also the basis for video encoding; however, the problems and solutions tend to be quite different from PLI compression. We note that the term ”temporal compression” has also been used with other meanings such as in [18] where the intent is to compress timeseries data using patterns – a completely different problem. Dynamic Compact Control Language (DCCL) [6] is a specialized interface description language (IDL) and serialization library designed to address communication challenges in
(a) Average Energy Consumption, Joules
(b) Location Error, meters
(c) EPE, Joules
(d) PDR, %
Fig. 5: 30-node Random Waypoint results: Performance with varying network size
extremely low throughput networks. DCCL provides a mapping scheme. Furthermore, by combining these with bit-level DCCL interface between high-level object-based messages, such as marshalling, SQEEZ achieves a degree of information density Google Protocol Buffers (GPB) [7], and translates it into a that enables situational awareness applications like ATAK [5] raw bitstream with bounded field definitions, compressed using to scale to mobilities and network sizes previously infeasible source encoding algorithms. Due to very high compression on narrow-band tactical links. efficiency, especially on 32/64-bit integer types, it is widely VII. C ONCLUSIONS used for acoustic communications in underwater networks [19], [20]. We are not aware of any usage for PLI compression as We described SQEEZ – a mechanism that combines adaptive in SQEEZ. suppression, temporal and inline compression of Position ATAK and its variants work in tandem with these network Location Update (PLI) packets to reduce the traffic load on a constraints created by user deployments and mission. The rise MANET. SQEEZ suppresses PLI originations within a threshof electronic warfare and near pear capabilities has created a old distance of the previously updated location; compression demand on efficient usage of on air time for any transmission uses a dual-anchor scheme to exploit the temporal redundancy for mission critical information of any MANET network type. in ATAK-related PLI messages as well as compression of the The need for Blue Force tracking and asset location is one resulting message using DCCL. The SQEEZ architecture allows of the most critical information points in the success of any it to coexist with a baseline system. mission in these types of conditions. We quantified the tradeoffs between the (average) transmit SQEEZ is unique in its holistic integration of application- energy used and location error, and derived expressions for each. layer suppression with a dual-anchor temporal compression A key observation is that the product of the average location
(a) Fixed Area, Increasing Density
(b) Fixed Density, Increasing Area
Fig. 6: Scalability Results, Fixed Area and Fixed Density error and transmit energy for a given MANET deployment with a given average node velocity is a constant; thus, one can either reduce location error or transmit energy but not both. To properly account for the loss in location accuracy, we defined a novel metric Error-Penalized-Energy (EPE) in addition to other conventional metrics. Our simulations using the Random Waypoint model showed that SQEEZ improves the EPE-efficiency by up to a factor of 1.3x-5.6x depending on the amount of stationarity of nodes, and improves scalability by up to a factor of 2.3x. We observed that compression contributed a larger portion of SQEEZ’s gains at high mobilities, whereas suppression contributed more at lower ones. In a real-world “CityLog” mobility trace, the gains were as much as 7.5x. We conclude that SQEEZ can be effective in significantly reducing the load and hence the energy consumption, as well as improving the scalability of a location-sharing system such as ATAK over a mesh/ad hoc network. Our study brings out the importance of tracking location error and of using EPE in addition to raw energy consumption. R EFERENCES [1] goTenna Pro. https://www.gotenna.com/pages/gotenna-pro-homepage. Accessed: Nov-2018. [2] R. Ramanathan, C. Servaes, W. Ramanathan, A. Dusia, and A. S. Sethi, “Long-range short-burst mobile mesh networking: Architecture and evaluation,” in 2019 16th Annual IEEE International Conference on Sensing, Communication, and Networking (SECON), 2019, pp. 1–2. [3] R. Ramanathan, C. Servaes, and W. Ramanathan, “ECHO: Efficient Zero-Control Network-wide Broadcast for Mobile Multi-hop Wireless Networks,” in Proc. IEEE Military Commun. Conf., Los Angeles, CA, USA, Oct. 2018. [4] A. Dusia, R. Ramanathan, W. Ramanathan, C. Servaes, and A. S. Sethi, “Vine: Zero-control-packet routing for ultra-low-capacity mobile ad hoc networks,” in MILCOM 2019 - 2019 IEEE Military Communications Conference (MILCOM), 2019, pp. 521–526. [5] K. Usbeck, M. Gillen, J. Loyall et al., “Improving situation awareness with the android team awareness kit (atak),” in Proceedings of SPIE Defense and Security, 2015. [6] T. Schneider and H. Schmidt, “The Dynamic Compact Control Language version 3,” in OCEANS 2015 - MTS/IEEE Genova. Genova, Italy: IEEE, May 2015, pp. 1–10. [7] Google LLC, “Protocol buffers: Google’s data interchange format,” 2024, accessed: February 5, 2026. [Online]. Available: https://protobuf.dev/
[8] R. Ramanathan, E. Ciftcioglu, A. Samanta, R. Urgaonkar, and T. La Porta, “Symptotics: a framework for estimating the scalability of real-world wireless networks,” Wireless Networks, vol. 23, no. 4, pp. 1063–1083, 2017. [9] W. Navidi and T. Camp, “Stationary distributions for the random waypoint mobility model,” IEEE Transactions on Mobile Computing, vol. 3, no. 1, pp. 99–108, 2004. [10] J. Yoon, M. Liu, and B. Noble, “Random waypoint considered harmful,” in IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No. 03CH37428), vol. 2. IEEE, 2003, pp. 1312–1321. [11] S. Basagni, I. Chlamtac, V. R. Syrotiuk, and B. A. Woodward, “A distance routing effect algorithm for mobility (dream),” in Proceedings of the 4th annual ACM/IEEE international conference on Mobile computing and networking (MobiCom ’98). ACM, 1998, pp. 76–84. [12] Q. Chen, S. S. Kanhere, and M. Hassan, “Adaptive position update for geographic routing in mobile ad hoc networks,” IEEE Transactions on Mobile Computing, vol. 12, no. 3, pp. 489–501, 2012. [13] R. I. Al-Essa and G. A. Al-Suhail, “Afb-gpsr: Adaptive beaconing strategy based on fuzzy logic scheme for geographical routing in a mobile ad hoc network (manet),” Computation, vol. 11, no. 9, p. 174, 2023. [14] Z. Ye and A. A. Abouzeid, “Optimal stochastic location updates in mobile ad hoc networks,” IEEE Transactions on mobile computing, vol. 10, no. 5, pp. 638–652, 2010. [15] X. Chen, F. Guo, P. Dang, and L. Wu, “A survey of rohc header compression schemes,” in Proceedings of 2012 2nd International Conference on Computer Science and Network Technology, 2012. [16] C. M. Sadler and M. Martonosi, “Data compression algorithms for energy-constrained devices in delay tolerant networks,” in Proceedings of the 4th international conference on Embedded networked sensor systems, 2006, pp. 265–278. [17] F. Marcelloni and M. Vecchio, “A simple algorithm for data compression in wireless sensor networks,” IEEE Communications Letters, vol. 12, no. 6, pp. 411–413, 2008. [18] L. Klus, R. Klus, E. S. Lohan, C. Granell, J. Talvitie, M. Valkama, and J. Nurmi, “Direct lightweight temporal compression for wearable sensor data,” IEEE Sensors Letters, vol. 5, no. 2, pp. 1–4, 2021. [19] T. Schneider and H. Schmidt, “The dynamic compact control language: A compact marshalling scheme for acoustic communications,” in OCEANS’10 IEEE SYDNEY. IEEE, 2010, pp. 1–10. [20] J. Alves and G. Zappa, “A low overhead message routing protocol for underwater acoustic networks,” in OCEANS 2011 IEEE-Spain. IEEE, 2011, pp. 1–10.
(a) Average Energy Consumption, Joules
(b) Location Error, meters
(c) EPE, Joules
(d) PDR, %
Fig. 7: Results using the Citylog trace, a real-world mobility trace