The Expiration Streaming Model: Diameter, -Center, Counting, Sampling, and Friends
Abstract
An important thread in the study of data-stream algorithms focuses on settings where stream items are active only for a limited time. We introduce a new expiration model, where each item arrives with its own arbitrary expiration time. The special case where items expire in the order that they arrive, which we call consistent expirations, contains the classical sliding-window model of Datar, Gionis, Indyk, and Motwani [SICOMP 2002] and its timestamp-based variant of Braverman and Ostrovsky [FOCS 2007].
Our first set of results explores the expiration streaming model and presents algorithms for several fundamental problems, including approximate counting, uniform sampling, and weighted sampling by efficiently tracking active items without explicitly storing them all. Naturally, these algorithms have many immediate applications, e.g., to range counting.
Our second and main set of results for the expiration model designs algorithms for the diameter and -center problems, where items are points in a metric space. Our results significantly extend those known for the special case of sliding-window streams by Cohen-Addad, Schwiegelshohn, and Sohler [ICALP 2016], and obtain a strictly better approximation factor for the diameter in the important special case of high-dimensional Euclidean metrics. We develop new decomposition and coordination techniques along with a geometric dominance framework to filter out redundant points based on both temporal and spatial proximity.
Keywords and phrases:
clustering, diameter, streaming, sliding window, samplingCategory:
Track A: Algorithms, Complexity and GamesFunding:
Lotte Blank: Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – 459420781 (FOR AlgoForGe).Copyright and License:
Sepideh Mahabadi, André Nusser, Jeff M. Phillips, and Jonas Sauer; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Computational geometry ; Theory of computation Streaming, sublinear and near linear time algorithmsAcknowledgements:
We thank the organizers and participants of the Bonn workshop for the stimulating environment that inspired this research. We also thank the anonymous reviewers for useful references and comments that improve the exposition.Funding:
This research was initiated during the Workshop “Massive Data Models and Computational Geometry” held at the University of Bonn in September 2024 and funded by the DFG, German Research Foundation, through EXC 2047 Hausdorff Center for Mathematics and FOR 5361: KI-FOR Algorithmic Data Analytics for Geodesy (AlgoForGe).Editors:
Sayan Bhattacharya, Danupon Nanongkai, Michael Benedikt, and Gabriele PuppisSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
The sliding-window streaming model is widely used to represent a time-sensitive stream, i.e., a sequence of data items that arrive over time and are active only for a limited time. In the classical formulation of this model [5, 19], the most recent items, for a parameter , form an active window, and all queries are applied to this active window. Hence, non-active items are also called expired. It is convenient to think of the items as arriving at successive time steps , and thus every item is active for exactly time steps. Another variant of this model allows blank time steps where no item arrives, which is essentially like having discrete items in a continuous time horizon, and in this case the active window’s size (number of items) might vary over time. Most theoretical research has focused on the first variant above, called sequence-based windows, but, as explained, most results easily extend to the second variant, called timestamp-based windows. For instance, see [10], which mentions both but explicitly analyzes only the first variant.
We introduce a significantly richer expiration model, where each item arrives with its own expiration time. We stress that the order in which items expire (i.e., become non-active) is arbitrary. This generality befits numerous scenarios where items are heterogeneous in terms of data type, reliability, origin, policy settings, and so forth. For example, think of credentials in a computer network or graphics objects on a screen. A notable special case is the consistent expiration model, where items expire in the order in which they arrive. We sometimes emphasize that we consider the general case, where expirations need not be consistent, by referring to it as the general expiration model. The consistent expiration model contains the classical sliding-window model discussed above, where all items are active for the same duration . Many sliding-window algorithms barely depend on (e.g., their space bound has factors). In fact, some merely use the property that the items expire in the order in which they are inserted but not that exactly items are active at any point in time, and therefore these algorithms carry over immediately to the consistent expiration model. However, extending them to the general expiration model seems considerably more challenging, as new ideas seem necessary to handle items with non-consistent expirations. It is an intriguing question which problems are indeed harder in this new model and how, i.e., whether they truly require more storage or merely a more sophisticated algorithm.
Another related model is turnstile streaming, where the input stream consists of item insertions and deletions. The special case where an item can only be deleted after it was inserted is called strict turnstile or, especially in geometric and graph settings [28, 4], dynamic streams. Although this model bears similarity to our expiration model, it is actually incomparable. The crucial difference is that in turnstile streaming, each deletion triggers the algorithm explicitly at the time of deletion, whereas in our expiration model the deletions occur implicitly, because the expiration information is provided only when the item arrives. Performing the deletions explicitly would require the algorithm to store the expirations of all active items, which is excessive. For an in-depth discussion of related models and further related work, we refer to Section 1.2.
Let us now formally define our expiration model. The input stream is a sequence of items , where each item consists of an actual data point from some universe (e.g., a metric space), an insertion time , and an expiration time , where the insertion times must be non-decreasing, i.e., . For convenience, we assume that the insertion and expiration times are integers, and we allow items that never expire by having . We sometimes identify each item with its data point , which slightly abuses notation because data points do not need to be distinct, and denote its insertion and expiration times by and , respectively. An item is active at time if , i.e., from its insertion time up to (but not including) its expiration time. A query at time is evaluated only on the set of items active at that time . For simplicity, we design our algorithms to handle a single query that arrives at an arbitrary time not known in advance to the algorithm. These algorithms often extend to handle multiple queries. For deterministic algorithms this is immediate., and for randomized algorithms there are standard arguments, such as probability amplification via independent repetitions.
When items never expire, i.e., for all , this is precisely the classical model of insertion-only streams. We say that the stream has consistent expirations if the expiration times are non-decreasing, i.e., . When for all , particularly if insertion times are successive, i.e., every , then this is precisely the classical sliding-window model. In fact, it is convenient to focus on the special case where every , which, as mentioned earlier, holds without loss of generality if we allow blank time steps where no item arrives.
Our space-complexity bounds count machine words (unless mentioned otherwise), where a word can store a data point (e.g., from a metric space), a time instantiation (e.g., some ), or a counter in the range , where throughout we define . This convention avoids bit-representation issues, although in a simplified case where every and data points lie in a universe , every word has bits.
1.1 Results
Fundamental Problems.
The first problems we consider in the general expiration model are some fundamental streaming problems that are standard building blocks for solving many other problems, thereby gaining a better understanding of the challenges when designing algorithms in our new model. We start with counting, which formally asks for the number of active ’s in a stream of items from the universe . For exact counting, bits of space are required, even in the consistent expiration model; which follows from the known bound for the sliding-window model [19], in contrast with insertion-only streams, where bits clearly suffice.111An alternative definition, which asks to count the total number of active items, exhibits strict separation between the sliding-window and expiration models. In the sliding-window model (without blank time steps), the answer is always and thus space suffices, whereas with expirations, even consistent ones, the lower bound of bits still holds. Due to these lower bounds, we turn to approximate counting. We design two randomized streaming algorithms, one achieves -additive error using space, and the other -relative error using space,222Throughout, the notation hides logarithmic factors in . by employing powerful tools of insertion-only streams, like quantile sketches. Moreover, we show that these space bounds are tight. Approximate counting is a useful primitive when designing other algorithms. We demonstrate this by designing a Count-Min sketch [18], which solves frequency estimation (aka point queries) with -additive error, and thus also -heavy-hitters, using space.
Another fundamental problem is to sample items uniformly from the stream. In insertion-only and sliding-window streams, this can be done via reservoir sampling [34, 5]. We build on this technique to present an algorithm for the expiration model that uses space, and further present extensions to two more challenging tasks: sampling without replacement, and weighted sampling, where each item is sampled with probability proportional to its weight. Sampling tasks are useful primitives, and we indeed use them to design other algorithms, e.g., for approximate quantiles with -additive error using space. We also use them for geometric problems, such as range counting, logistic regression, and kernel density estimation (KDE); here, items are points in , and our algorithms use space , assuming for simplicity that parameters such as and the VC-dimension are . Moreover, these sampling methods apply to matrix-approximation problems, where each stream item is a row vector in , including rank- approximation and -covariance error.
Technically, these results are less involved and build heavily on prior work. They also leave several questions for further investigation. For example, our algorithms often use more space than the analogous ones for insertion-only and turnstile streams, and thus may possibly be improved, e.g., better dependence on . Note that for frequency estimation in sliding-window streams, near-optimal bounds are known [8]. Furthermore, our techniques do not yield Count-Sketch-type bounds [15] for -point queries and -heavy-hitters, which are known for sliding-window streams [8, 24]. We are also not aware of any strict separation (in space complexity) between consistent and general expirations.
Clustering Problems.
Our main results (which are technically more challenging) are for the diameter and -center problems in a general metric space , where denotes its distance function and the subscript may be omitted when clear from the context. In the streaming setting, the metric is fixed in advance and each item contains a data point , and recall that we may identify with and write . To avoid precision issues, we assume that for all distinct .333Our results hold even if we allow , i.e., is a pseudometric. In fact, the same point may arrive multiple times, possibly with different expirations.
In the diameter problem, the goal is to compute for the set of active items. We devise an algorithm for this problem in the expiration model; it significantly extends the previously known algorithm, that works in the more restricted sliding-window model [17], while achieving the same approximation factor and space complexity. We prove the following in Section 3.
Theorem 1.1.
There exists a deterministic expiration-streaming algorithm maintaining a -approximation of the diameter in a general metric storing words.
Our approximation factor is almost tight, as even in the sliding-window model, achieving a -approximation for the diameter for any fixed requires space [17].444It is easy to see that -approximation requires space complexity already in sliding-window streams, e.g., consider the one-dimensional input where the -th point is either or [23].
We further improve the approximation factor to when the metric space is Euclidean, regardless of the dimension (we only require that each point can be stored in a machine word). Previously, an approximation factor below was not known for the Euclidean case, even in sliding-window streams.
Theorem 1.2.
There exists a deterministic expiration-streaming algorithm maintaining a -approximation of the diameter in Euclidean space storing words.
Finally, we turn to the -center problem, where the goal is to compute
where is the distance from a point to its closest point in a set .
We present an algorithm for the expiration model that achieves a -approximation using words of space. In comparison, previous work achieved -approximation using words in the significantly more restricted sliding-window model [17]. We prove the following in Section 4.
Theorem 1.3.
There exists a deterministic expiration-streaming algorithm that stores words and maintains a -approximate solution for -center, for every , in a general metric .
For , we use our diameter algorithm to achieve an improved approximation factor of in a general metric (Theorem 3.2) and in Euclidean space (Theorem 3.6). All our algorithms report not only an objective value but also a feasible solution, i.e., a pair of points (that is approximately the farthest) or a set of center points. Table 1 lists the known approximation factors for diameter and -center in high-dimensional Euclidean space under different streaming models, including our new expiration model, and two more restricted ones of sliding-window and insertion-only streams. (We restrict the table to and the Euclidean case to minimize clutter.)
Many results and proofs are omitted from this version due to space constraints. They can be found in the full version.
| model | diameter | -center (MEB) | references & comments |
| insertion only: | |||
| folklore; general metrics | |||
| [38] | |||
| [3] | |||
| [13] | |||
| [26] | |||
| turnstile/dynamic: | |||
| [27] | |||
| sliding-window: | |||
| [17]; general metrics | |||
| [35] | |||
| general expiration: | |||
| Theorem 1.2, Theorem 3.6 | |||
| Theorem 1.1, Theorem 3.2; general metrics | |||
1.2 Related Work and Models
The expiration model that we propose is not only a natural generalization of the sliding-window and other streaming models, it also pertains to numerous other topics in computer science, as we outline next. One example where general (i.e., non-consistent) expirations arise is online monitoring settings. Another example is computational economics and networking, where certificates or contracts are issued with known lengths/expirations, and must be managed by computer systems. Our results are applicable when one is willing to sacrifice accuracy (bounded approximation) to attain dramatic space improvements.
Semi-Online Data Structures.
In the study of dynamic data structures, the semi-online model allows for insertions and deletions where the time of deletion is provided at the time of insertion. Here, unlike the sketches we study, no approximation is generally allowed, and the focus is instead on reducing the running time of various operations. In particular, Dobkin and Suri [22] employed the method of Bentely and Saxe [6] under a data structure that can be constructed in time and can handle queries in time , in order to handle insertions and deletions in this semi-online model in time while increasing the query time to . Several linear and near-linear space algorithmic improvements followed, where the focus is primarily on exact methods and improved update times. Notably, Chan [12] provided improvements for several problems in computational geometry, including discrete -center in dimensions with slightly sublinear updates.
Persistent Stream Queries.
The database community studied persistent sketches (for streaming), where queries may be restricted to subsets of data in certain time windows [36]. Within this setting, Shi, Zhao, Peng, Li, and Phillips [33] considered at-the-time persistence (ATTP) and back-in-time persistence (BITP) models, where the time window of a query must include the first or last time, respectively (in other words, queries about any prefix or any suffix of the streams). Notably, the BITP model can be interpreted as a sliding-window query that specifies the window size at query time (rather than in advance). This is closely related to consistent expirations, especially if all expirations occur after all relevant insertions. All methods we are aware of for the consistent expiration model should work for this BITP model.
In this context, Shi et al. [33] studied a variety of problems related to weighted counting and sampling, where each item is associated with a weight (it could be uniform), and the desired error bound is an additive where is the total weight. This setting is very useful in standard sketching bounds for frequency estimation, quantiles, approximate range counting, kernel density estimates, and matrix-covariance sketching, which we study as well. In particular, they show that a random sample of size can be maintained in expected space with expected amortized update time. If the items are selected at random proportionally to their weight and the weights are in the range , then the expected space is . Their methods for BITP use a sampling-in-reverse analysis, which was discovered earlier by Braverman et al. [7] in the context of sliding-window linear-algebra problems, and also used later for sampling Lewis weights in sliding-window streams [37]. Moreover, they show that for mergeable sketches [1] of size , a BITP sketch of size can be maintained.
Our results extend these ideas to the general expiration model, and formalize the proofs in the full version of this paper. Dealing with general expirations requires finding the relevant tools (in prior literature) and additional ideas, to manage samples that expire in a completely different order than their arrivals.
Sliding-Windows and Smooth Histograms.
The sliding-window model has been studied extensively, including for frequency and counting problems, maintaining aggregate statistics, and for geometric and graph problems. An extremely popular technique for designing sliding-window streaming algorithms is the smooth-histogram framework of Braverman and Ostrovsky [10]. For monotone functions that satisfy a certain smoothness property, they show how to convert an algorithm that estimates in insertion-only streams into an algorithm that estimates , using slightly more space, in sliding-window streams. This framework has been successfully employed for many different problems, from counting and frequency problems to graph problems, but not for geometric problems, which are often not smooth, e.g., -median and -means clustering [9]. Krauthgamer and Reitblat [31] defined a relaxation of this smoothness property, called almost-smoothness, which is still sufficient to convert algorithms from insertion-only to sliding-window streams, albeit with a bigger loss in the approximation factor. It is not difficult to see that the diameter problem, in a general metric space, is -almost-smooth, and since it admits a folklore -approximation in insertion-only streams, the conversion of [31, Theorem 1.7] also implies an -approximation in sliding-window streams. Although immediate, this bound is worse than the known -approximation for diameter [17]. Unfortunately, this entire framework seems inapplicable to general expirations.
Streaming Algorithms for Diameter and -Center.
Clustering problems have been studied extensively in the streaming model. The metric -center problem was studied in insertion-only streams, culminating in a -approximation [14, 32, 25], and further extensions to -center with outliers. In Euclidean space of high dimension , i.e., when the space bound is restricted to be polynomial in , better approximation factors are known, particularly for and for diameter [38, 3, 13, 29, 26], and for small [30]; see Table 1 for the precise constants. These results were extended to sliding-window streams in [17, 35] as mentioned above. However, they usually do not extend to dynamic streams, which seem harder.
In low Euclidean dimension, i.e., when allowing a space bound that grows exponentially with , several results achieve a -approximation for -center [2, 11]. These results often extend to dynamic and sliding-window streams, and to handle outliers [21, 20]. Some of the above references prove near-matching lower bounds, but usually for algorithms that must store input points [25, 3, 20], i.e., these are not bit-complexity bounds for general algorithms.
2 Technical Overview
A key challenge in the expiration model is that the algorithm has to track the active items without explicitly storing them all. In particular, it must be prepared for a scenario where no additional items arrive, and at some future time it will be asked for an estimate.
Counting.
Perhaps the simplest challenge is to just maintain a count of the active items. In insertion-only streams, it suffices to maintain a single counter. In contrast, in the expiration model, the algorithm must provide an answer at all possible future times, which by a reduction to INDEXING requires bits of space.
We observe that approximate counting in the expiration model is equivalent to approximating a -dimensional distribution on the expiration times. In particular, guaranteeing additive error on the count corresponds to -error in the Kolmogorov-Smirnov distance. If the expirations are consistent, it can be handled by simply recording a check point every insertions. The general-expiration case may seem much more complicated, but fortunately, it maps directly to the classic problem of quantiles summary in insertion-only streams: each item arrival in the expiration stream corresponds to inserting the expiration time of that item into the quantile summary. Thus, we can employ both quantile sketch upper bounds and their structural lower bounds. For additive error with a constant probability of failure to answer one query, this uses space. For -relative error, it uses space.
Sampling.
Maintaining a random sample, poses a similar challenge in that a sample is in some sense a subset approximation of the count of the items. However, the maintained sample might expire, and other items must be stored in advance to replace the expired one. In the general-expiration case, the set of active items changes dynamically, and not in a controlled manner as in consistent expirations.
The main insight is that we can imagine running a reservoir sampler in the reverse order of the expirations – assuming we know these expiration times all in advance. For maintaining a single sample, we just keep track of when the reservoir gets updated; our sketch only needs to maintain items that ever get placed in the reservoir. The size of this set can be analyzed as a coupon collector problem, and is in expectation for a single sample.
Now we must maintain this sample without knowing the expiration times in advance. The trick is to assign each item a random value and select the smallest active value as our sample. Because this randomness is assigned once and does not change later, we only need to maintain the smallest value among the active items. Thus, an item with a larger value than another item that expires later does not need to be maintained, and the remaining items are maintained, say in sorted order by expiration. The above description produces a single sample, and we can just run independent copies to get a sample of size .
We can then adapt this analysis to sampling proportional to weights, as long as the total weight of the stream is bounded and each weight is at least . By changing to an exponential distribution, namely each , we get that the item with minimal value is chosen proportional to its weight. This follows from the min-stability property of the exponential distribution, as previously exploited by Cohen [16]. This has the same complexity as an expiration stream of items with uniform weights.
Implications of Counting and Sampling.
Many statistically motivated summaries essentially require only access to a counter of the data items or to a random sample from it. Therefore, being able to maintain a counter or a sample over a stream has numerous applications, and indeed fairly direct implications follow for problems involving quantiles, range counting, classification, regression, kernel density, and even matrix sketching.
2.1 Diameter
The next technical challenge is maintaining the diameter of a point set. Unlike the counting and sampling problems, here items differ not only in their expiration time, but also in their geometric information, and the algorithms must preserve the geometry of all active items at all times.
Simple -Approximation in General Metrics.
Let and be items of the stream. We say that is dominated by if and , i.e., for the entire time that is active, is active as well. An item that is not dominated by any other item is called long. See Figure 1 for illustration. Note that it is easy to decide with words of space whether an arriving item is dominated or long, by keeping track of the latest expiration time among all the items that have arrived so far.
Consider first the substream consisting of all long items, and notice that its expirations are consistent. It is easy to show that the sliding-window algorithm of [17] generalizes to the consistent expiration case, and so we can use it as a subroutine for the long items. For an item that is not long, suppose that it is geometrically close to some long item that dominates it. Then we can simply ignore and use as a proxy for it: geometrically, they are close, and timewise, is active whenever is active. In the other case, i.e., if is far from , then the pair may be a candidate for the diameter as long as is active, and thus we need to keep track of such pairs.
More precisely, for a dominated item , let us assign one long item that dominates as its parent. Again, this is easy to implement, as soon as arrives, using words of space. Now there can be two cases:
-
(a)
Every dominated point is close to its parent (say up to a small constant fraction of the diameter). In this case, the diameter of the long items is a constant-factor approximation to the diameter of all items (by simple triangle-inequality arguments).
-
(b)
At least one dominated point is far from its parent. To keep track of this scenario, we store an array , where each entry maintains a pair of points, namely, a dominated point and its parent , selected as follows: from all such pairs where also , select the pair for which the expiration time of is the latest. The size of this array is only .
The above reasoning suffices to obtain a constant-factor approximation of the diameter in the general expiration model, however it does not match the approximation factor that is known for the sliding-window setting.
An Improved Algorithm.
To improve the constant, we replace the black-box subroutine for consistent expirations that is used to handle the long items. Our redesigned subroutine is conceptually different from the sliding-window algorithm of [17] and allows for a tighter integration with the array , which seems not possible using the algorithm of [17]. If space complexity is not a concern, then long items can be handled by simply having every long point track the maximum distance to any point inserted after it and not dominated by it, which we call the radius of . From this information, we can retrieve the exact diameter of the long items. The main insight to achieve the claimed space bound is that if a long point is “sandwiched” between two points with a similar radius, one inserted before and the other after, then we can discard while only losing a constant factor in the approximation guarantee.
In addition, we again store an array that captures the distances of dominated items to long items. In contrast to the above, we do not assign a particular parent to each dominated point . Rather, when arrives, we consider its distance to all stored long items that dominate . A more involved analysis shows that this improves the approximation factor to , matching the best approximation factor known also for the sliding-window model, while using the same space bound.
Further Euclidean Improvement.
An additional advantage of our new subroutine for the consistent expiration case is that it admits further improvements in the Euclidean space. In general metric space, the algorithm stores a radius for every stored long item to bound the distance between and the set of points that are inserted after and are not dominated by . In Euclidean space, the algorithm additionally stores for every a carefully chosen point , whose distance to points in is at most as well. Hence, lies in the intersection of two balls of radius , instead of only one ball of radius . Since the distance between and is bounded, we can further improve the approximation factor for both consistent and general expirations. In fact, this is strictly better than the best approximation known (and possible) for general metrics, even in the sliding-window model. See Section 3 for details.
2.2 Approximating -Center in Expiration Streams
We focus on the decision version of -center, where the goal is to decide whether the value of an optimal solution is roughly . We can then instantiate the decision algorithm for different guesses of to obtain our approximation.
As with the diameter, one can verify that the sliding-window algorithm of [17] in fact works for the consistent expiration model, and thus it provides an -approximation of -center on the set of all long items. Once again, if a point that is dominated by is also geometrically close to , then there is no need to keep the point , since any center that is close to is also not far away from . Thus, our strategy is to divide the stream into substreams such that for each substream , the expirations are consistent and therefore a modified instance of the algorithm of [17] can be run on it. The challenge lies in ensuring that substreams are sufficient. To illustrate the argument, we first consider a simplified scenario in which each substream is allowed to use an unlimited amount of space. Then, we explain how the algorithm can be modified to achieve the desired space bound.
A Simplified Scenario.
We define as the substream containing all long points , as well as each point that is geometrically close to a long point in that dominates it. If a point is not geometrically close to any long point in that dominates it, then is fed to the second substream . All points passed on to are then processed in the same manner as for , and the residual points not handled by are again passed to the next layer, etc. If a point is rejected from the final substream , it is discarded. If each substream is allowed to use unlimited space, then there is no need to discard any long items and we can show that substreams are sufficient. If a point is rejected from all substreams , then there is a sequence of points such that
-
(i)
belongs to the th substream,
-
(ii)
these points (as well as ) are pairwise geometrically far away from each other,
-
(iii)
the points are nested timewise, i.e., is dominated by and is dominated by .
As long as is not expired, then all points are also active, which provides a certificate that any solution for -center must have a large value with respect to . Thus, there is no need to keep , and more generally, to maintain more than substreams.
To bound the space within each substream, a naive approach would be to apply the algorithm of [17] to each substream independently. However, because the pruning of long items is not coordinated between the substreams, it becomes impossible to maintain conditions (ii) and (iii) simultaneously. Consider three points , , with such that is discarded between the insertions of and . Then the algorithm cannot check whether is geometrically close to , so condition (ii) may be violated. If is replaced with another point from , then it cannot be guaranteed that dominates , so condition (iii) may be violated. Thus, a more coordinated approach is needed.
Our Approach.
Our goal is to maintain a set of points that satisfy conditions (i)–(iii), while bounding the space usage of the algorithm within each substream and the total number of substreams. If we define as the longest-living point in , then this set of points satisfies conditions (i) and (iii). To restore condition (ii), we discard points from if they are geometrically close to points from substreams with that are inserted later. This provides the coordination between the different substreams that was lacking in the naive approach, but it creates two new issues.
The first issue arises when our algorithm does not store a point in substream because it is close to another point in (in which case we consider to be covered by in ). Later on, we may have to discard to ensure condition (ii) because it is close to another point from a substream with . We then consider to be covered by instead, but this increases the distance between and the point that covers it by a constant factor. Because may itself be discarded later on to ensure condition (ii), this effect can cascade up to times, which increases the approximation guarantee to .
The second issue is that the longest-living point from a substream may need to be discarded to restore condition (ii), and this can in turn cause condition (iii) to be violated because the points are no longer nested. We restore the condition by moving the longest-living point among all substreams with to . Note that this may potentially violate condition (ii) again. However, we show that a single sweep over all substreams suffices to restore both conditions. For a more detailed overview of the algorithm, see Section 4.
3 Approximating the Diameter in Expiration Streams
This section presents algorithms that approximate the diameter of a point set in the expiration streaming model. We first present an algorithm that matches the approximation factor known for sliding-window streams. Afterwards, we modify this algorithm for Euclidean space to achieve a better approximation factor. For simplicity, we assume in this section that the insertion times of the items are distinct, i.e., for all . If multiple items arrive simultaneously, we fix an arbitrary order to add them to the stream.
3.1 -Approximation in General Metrics
Our algorithm maintains a subset of the long items that have been inserted so far. Along with every stored item , we store the radius of the smallest ball centered at that contains all elements that were inserted after and are not dominated by , i.e., expire later than (see Figure 2). In addition, the algorithm stores an array . For each , the entry stores the maximum expiration time among all pairs of points and such that (1) is long and stored, (2) is dominated by , and (3) . Before the stream starts, we insert a dummy item that expires immediately after it is inserted. Then, initially we store , , , and for all .
Update Procedure.
Each time an item is inserted, we use Algorithm 1 to update the data structure. If the item is long, we store it. Line 5 ensures that for each stored (long) item , the radius is correct: if does not dominate the new item and the distance from to is larger than , we update the radius to be this distance. Otherwise, if dominates , then for the value of such that their distance is in , the algorithm updates to (lines 7–8).
To achieve our bound on the number of the stored items, we further discard all stored items that are inserted between two stored items with a similar radius. In particular, if and with are two stored points such that , then we discard all items with . Finally, at the end of the update procedure of adding an item, we reindex the stored items starting from , keeping their order.
Handling Expirations.
As long as at least two items are stored, the algorithm maintains the invariant that for the current time step . In the time step , the algorithm discards from the data structure along with its radius . The remaining items are reindexed starting from , keeping their order. As all stored items are long, at each time step at most one stored item expires.
Answering Queries.
At time , we report as an approximation to the diameter if exists. Otherwise, there are no active points in the stream at time . We show that this is a -approximation.
Lemma 3.1.
For every consecutively stored items , and for every item satisfying and , it holds that .
Proof.
Because and are consecutive, any long item that was inserted between them has been discarded. If no such long item exists, then the claim follows because there is no item with and . Otherwise, let be the time at which the last long item between and is discarded. Denote with (resp. ) the radius stored at time for the point which is now (resp. ). Then, holds due to line 11. In particular, for every item with and , it holds that . The radius corresponding to point can only increase afterwards, so the claim follows.
To show that the algorithm achieves -approximation, we analyze different cases based on the insertion and expiration times of the items that realize the diameter.
Theorem 1.1. [Restated, see original statement.]
There exists a deterministic expiration-streaming algorithm maintaining a -approximation of the diameter in a general metric storing words.
Proof.
By lines 11–13 of Algorithm 1, it holds that for each . Therefore, . The size of the array is in . The space bound follows, since .
Let be the current time. If there does not exist a stored point , then all long items are expired at time . Therefore, all items are also expired and there are no active items at time . Otherwise, let be the maximum value such that . Then, the query algorithm at time returns . By our invariant, has not yet expired at time . As is the radius corresponding to and is still active, there exists an item with and such that . Similarly, if exists, there exist two items and with such that . Hence, the diameter at time is at least . It remains to prove that the diameter is at most . We first show that the following holds for every item that is active at time :
-
(1)
If , then by Lemma 3.1.
-
(2)
If , then : If , then we have , since is the radius of the smallest ball centered at that contains all items that were inserted after and expire after . Otherwise, we have and by the definition of .
Now, let and with be the items that realize the diameter at time . As all stored items are long and , it holds that . We consider the following three cases to prove that .
-
a)
If then by (1).
-
b)
If then by (1), (2).
-
c)
Otherwise . Then by (2).
The same algorithm approximates also the minimum enclosing ball.
Theorem 3.2.
There exists a deterministic expiration-streaming algorithm maintaining a -approximation of the minimum enclosing ball in a metric storing words.
3.2 -Approximation in Euclidean Spaces
In the proof of Theorem 1.1, the case that prevents a better approximation factor is Case b), in which the diameter is realized by two items and such that is inserted before and after . Here, our best available bound for the distance between to is via . We show that in the Euclidean metric, this bound can be improved from to by storing an additional point that has a sufficiently large distance to . This yields an approximation factor of , which is strictly better than the current best approximation factor, even in the sliding-window model. The modified update procedure is depicted in Algorithm 2. The expiration handling and query answering remain unchanged.
In the beginning, for every newly stored item we define . Consider the case that long items inserted between and are discarded. Further, let be the item such that and become consecutive stored items at time . In this case, we update to . In contrast to Algorithm 1, the value is defined by also considering distances to . We update such that it holds that
-
(1)
for all with ,
-
(2)
for all with , and
-
(3)
there exists an item with such that .
We store and reindex and along with .
The additional stored points give us a stronger version of Lemma 3.1.
Lemma 3.3.
For every consecutively stored items , and for every item satisfying and , it holds that .
In the following, we use to denote the ball of radius around the point . We use the following two lemmas.
Lemma 3.4.
Let be points such that and . Then, it holds that .
Lemma 3.5.
Let , , , and be points and the angle at in the triangle spanned by the points , , and such that , , and (see Figure 4). Then, it holds that .
Theorem 1.2. [Restated, see original statement.]
There exists a deterministic expiration-streaming algorithm maintaining a -approximation of the diameter in Euclidean space storing words.
Proof.
Let be the returned radius at time , i.e., . By construction of and , it holds that there are two items that are active and have distance at least . Hence, the diameter is at least at time . Let and with be the items that realize the diameter at time . Similarly to the proof of Theorem 1.1, we consider different cases for the values of and .
-
a)
If , then , by the same arguments as in the proof of Theorem 1.1.
-
b)
If , then by Lemma 3.3.
-
c)
Otherwise, . Then, it holds that .
For Case c), we show that . Note that since and , a long item was inserted between and but is not stored at time . Hence, it holds that . Let . By Lemma 3.3, it holds that and , i.e., . We assume that as the other case follows analogously. To prove , we distinguish between three cases (see Figure 3).
-
i)
If , then it follows that . Hence, we have . By Lemma 3.4 it holds that .
Otherwise, define to be the point on with .
-
ii)
If , then by Lemma 3.4. Hence,
-
iii)
Otherwise, it holds that . Then, consider the plane containing , and . Let be the point in this plane with that is closest to (see Figure 4). Then, by Lemma 3.4. We use Lemma 3.5 to obtain a bound on . Let be the angle at in the triangle spanned by the points , , and . Further, let denote the perpendicular bisector of and let be the smaller angle between the line and the line containing and denoted by . We have because the triangle spanned by , and is equilateral with angle . Because , it follows that and lie on the same side of , which implies that lies on the same side of the line as . On the other hand, lies on the same side of as because . Hence, lies in the sector spanned by and at away from (colored in purple in Figure 4). Therefore, it follows that . Hence, by Lemma 3.5 we have and thus
Therefore, in Case c) it holds that .
Again, the same algorithm can be used to approximate the minimum enclosing ball in Euclidean space .
Theorem 3.6.
There exists a deterministic expiration-streaming algorithm maintaining a -approximation of Euclidean Minimum Enclosing Ball storing words.
4 Approximating -Center in Expiration Streams
The work of [17] gives a -approximation for metric -center in the sliding-window streaming model storing words. It is not hard to verify that this algorithm also works under the consistent expiration streaming model with the same space bound and same approximation factor. For general expirations, the same algorithm still yields a -approximation. However, the required space can be arbitrarily large. Below, we give an algorithm that computes a -approximation in the general expiration model storing words. Because the sliding-window algorithm by [17] is used as a subroutine, we briefly summarize its main ideas.
4.1 Preliminaries on the Sliding-Window Algorithm
For a given estimate of the solution value, the -center algorithm by [17] operates as follows. The algorithm maintains a set of at most attraction points. Each attraction point is associated with a ball of radius centered at . The algorithm guarantees that no attraction point lies inside the ball of another attraction point. The representative of is the longest-living point inside this ball inserted while is active. The set of all representatives is denoted by . When expires, its representative is kept in memory until it itself expires. The representatives of expired attraction points are called orphans and are stored in a set .
When a new point is inserted and it lies in the ball of at least one attraction point, then is considered covered and the representative might be updated. If is not covered, it is inserted as a new attraction point, with itself as the representative. If adding increases the number of stored attraction points above , then the algorithm identifies the shortest-living attraction point and discards it (and the representative becomes an orphan). Finally, if the number of stored attraction points is greater than , then all orphans that do not outlive are discarded.
For every estimate , an instance of the algorithm is run in parallel. To answer a query, the algorithm iterates over the estimates in the ascending order. For each estimate , the algorithm attempts to construct a solution by picking an arbitrary point in and then greedily adding any point with . If , then it is a certificate for . Otherwise, is returned. It can be shown that is a -coreset for the stream because is a -coreset.
The main insight regarding the space bound is that the orphans that are still in memory belong to a subset of the most recently discarded attraction points. Any orphan that belongs to an even older attraction point must have been inserted before the most recently discard attraction point , because the algorithm stores at most attraction points at any time. Due to the consistent expiration property of the stream, expires before , so is discarded at the latest when is discarded. In the general expiration model, consistent expirations are not guaranteed. This is the main reason why the size of cannot be bounded, because then the orphans belonging to arbitrarily old attraction points may still be in memory.
4.2 Overview of Our Algorithm
We present an algorithm that, given a parameter , solves -center under the (general) expiration streaming model for every . As with [17], our algorithm solves the decision version of the problem for a given estimate , and this decision algorithm is then run in parallel for different estimates. We observe that in the algorithm by [17], the bound on the number of stored orphans does not require that the entire stream has consistent expirations, only that the attraction points are long. This ensures that the attraction points always outlive the orphans of already discarded attraction points. In the general expiration model, we cannot guarantee that all attraction points are long. Therefore, we split the stream into substreams. In each substream , we run a modified version of the algorithm by [17], storing the sets , and of attraction points, representatives and orphans. When a point is inserted, it is placed into the first substream in which it is long or covered by the -ball of an existing attraction point. This ensures that within each substream, all attraction points are long and the number of orphans is bounded.
The main challenge lies in ensuring that substreams are sufficient to approximate -center. If there is a point that does not fit into any of the first substreams, we maintain a certificate that until expires. This certificate consists of the longest-living point from each substream, plus itself. Hence, we need to ensure that these points are pairwise more than apart. This is done by discarding points in different substreams if they are too close to each other: a point from substream is now also considered covered (and is therefore discarded) if it expires not later than a stored point from a lower substream with . To ensure that it is sufficient to consider lower substreams, we maintain the invariant that the substreams are ordered in descending order of their longest-living stored point. If the longest-living point in substream becomes covered, the invariant is violated. It is restored by moving the longest-lived point among all substreams down to substream (which may lead to cascading effects).
A side effect of the expanded covering rule is that it causes the approximation factor to be dependent on . When a representative or orphan is discarded from substream because it is covered by a point from a lower substream, then the -coreset for substream may be destroyed. If we replace with in the coreset, its approximation guarantee increases to . Moreover, the effect may be cascading because may later be discarded when it is covered by another point that is inserted into an even lower substream.
4.3 Detailed Algorithm Description
In this section, we give a detailed description of the -center algorithm under the expiration model. In addition to the sets , and , each substream also maintains two values and . The value is the expiration time of the longest-living point stored in substream , which is used to maintain the ordering of the substream. The value is the earliest time such that every item that is still active was originally inserted into a substream (note that it may have since been moved to a lower substream). In other words, until time there is at least one active item that was not originally inserted into any of the substreams to , and is the last expiration time among all such items. We show that as a consequence of this definition, until time every solution to -center has radius greater than .
Finally, the algorithm maintains a time , which indicates that until time , there is a set of at least active points that were at some time all included in the set for some substream . Note that if holds, then is a certificate that all -center solutions have radius greater than until the first point from the set expires. However, points from may be discarded before they expire if they are covered by a newly inserted point from a lower substream, which destroys the certificate. Hence, we store to indicate that the certificate still exists, even if some the points are no longer stored.
Invariants.
The algorithm maintains the following invariants at all times.
-
(1)
For all , it holds that if , and otherwise.
-
(2)
It holds that .
-
(3)
For all , it holds that .
-
(4)
For all distinct , it holds that .
-
(5)
For all distinct and with and , it holds that .
Initialization.
The data structures are initialized as follows.
-
for all ,
-
for all , and
-
.
Item Insertion.
When a point is added to the stream, Algorithm 3 is called. We iterate over the different substreams with index to until we find a substream to which can be added. If a point in exists that expires later than or at the same time as and has distance at most to , then is added to substream with index and is covered by . Note that as expires not later than , we do not have to update and we do not store . Further, if an attraction point exists with , we add to substream and gets covered by and check whether we have to update the representative point . To maintain Invariant 5 when the representative point is updated, we run DiscardCoveredPoints.
If lives longer than all points currently in substream , then would be a long item in substream with the definition of Section 3. In the case that has distance greater than to all points in , it becomes an attraction point in and we set . Then, AddAttractionPoint is called to maintain Invariant 4 and to bound the storage size. If was not added to substream at the end of iteration , we update the earliest time at which all active points are originally inserted into substreams with index at most to .
The rest of Algorithm 3 (lines 13–27) ensures that Invariant 2 remains true. So, the longest surviving point in substream lives at least as long as the longest surviving point in substream for all , i.e., . We iterate over all substreams to and find in iteration the longest surviving point in the substreams with index to . If is not already contained in substream , we remove it from its substream and add it to substream as a new attraction point. In this case, its corresponding attraction point is discarded if it was still stored.
Item Expiration.
If a point in for any expires, it is removed from . If a point for any expires, it is removed from and is moved from to . Note that an item is contained in only if . As , an item in can only expire if . Then, is removed from , is added to , and as expires it is removed from .
Query Algorithm.
As in [17], we run the algorithm in parallel for every estimate . A query for and time is answered by iterating through the estimates in ascending order. If for the current estimate , then it is skipped. Otherwise, we first choose an arbitrary point and add it to the center set . Then, we greedily add any point to with distance greater than to all points in . If at termination, we have a certificate that no solution with radius can exist. For the smallest value of with , we return and show that this gives a -approximation to metric -center.
Notation.
We denote with , , and the sets , , and , with the point , and with and the values and at time . If an attraction point is not stored anymore at time , we denote with the representative of at the time is removed from . In addition, we define to be the last representative point of .
4.4 Storage Size
In this section, we prove a space bound for the stored sets , , and .
Observation 4.1.
At the time when is added to , it holds that .
Lemma 4.2.
The size of each set , , and is at most for any .
4.5 Correctness
To show correctness, we begin with proving that Invariants (1)-(5) hold. The next observation shows that items are moved only from substreams with higher index to substreams with lower index. This is a crucial property to get a bound on the approximation factor.
Observation 4.3.
Let for some time . For all and , it holds that .
Observation 4.4.
Invariants (1)-(3) hold during the algorithm.
Observation 4.5.
Let . Then, for all , it holds that .
Lemma 4.6.
Invariants (4) and (5) hold during the algorithm.
Next we show two properties that ensure that the solution to -center has radius greater .
Lemma 4.7.
Let be the current time. If or , then the solution for the metric -center has radius greater than .
Lemma 4.8.
Let be the current time and . If , then the solution to the metric -center has radius greater than .
To handle the case that a solution of radius exists, we prove some distance bounds between different points of the stream.
Lemma 4.9.
Let be the last representative point of an attraction point . Further, let be the time and the index such that and . Then one of the following holds:
-
(i)
,
-
(ii)
for all , or
-
(iii)
there is an and a point such that and .
Lemma 4.10.
Let be an attraction point and let be its last representative point. Further, let be the time and the index such that and . Then, for any time such that , there exists an and a point such that .
Next we obtain a distance bound for any active point that expires later than .
Lemma 4.11.
Let be the current time and . If , then for any item active at time , i.e., , there exists a point with .
Running the algorithm described in Section 4.3 for all values of
in parallel results in the following theorem.
Theorem 1.3. [Restated, see original statement.]
There exists a deterministic expiration-streaming algorithm that stores words and maintains a -approximate solution for -center, for every , in a general metric .
Corollary 4.12.
In every metric space, there exists an algorithm in the expiration streaming model that can return at any time and for every value
-
(1)
a -approximate solution for -center storing words,
-
(2)
a -approximate solution for -center storing words, and
-
(3)
a -approximate solution for -center with storing words.
References
- [1] Pankaj K. Agarwal, Graham Cormode, Zengfeng Huang, Jeff M. Phillips, Zhewei Wei, and Ke Yi. Mergeable summaries. ACM Trans. Database Syst., 38(4):26, 2013. doi:10.1145/2500128.
- [2] Pankaj K. Agarwal and Cecilia Magdalena Procopiuc. Exact and approximation algorithms for clustering. Algorithmica, 33(2):201–226, 2002. doi:10.1007/s00453-001-0110-y.
- [3] Pankaj K. Agarwal and R. Sharathkumar. Streaming algorithms for extent problems in high dimensions. Algorithmica, 72(1):83–98, 2015. doi:10.1007/s00453-013-9846-4.
- [4] Kook Jin Ahn, Sudipto Guha, and Andrew McGregor. Graph sketches: Sparsification, spanners, and subgraphs. In 31st Symposium on Principles of Database Systems (PODS), pages 5–14. ACM, 2012. doi:10.1145/2213556.2213560.
- [5] Brian Babcock, Mayur Datar, and Rajeev Motwani. Sampling from a moving window over streaming data. In David Eppstein, editor, Proceedings of the Thirteenth Annual ACM-SIAM Symposium on Discrete Algorithms, January 6-8, 2002, San Francisco, CA, USA, SODA ’02, pages 633–634. ACM/SIAM, 2002. URL: http://dl.acm.org/citation.cfm?id=545381.545465.
- [6] Jon Louis Bentley and James B. Saxe. Decomposable searching problems I. Static-to-dynamic transformation. Journal of Algorithms, 1(4):301–358, 1980. doi:10.1016/0196-6774(80)90015-2.
- [7] Vladimir Braverman, Petros Drineas, Cameron Musco, Christopher Musco, Jalaj Upadhyay, David P. Woodruff, and Samson Zhou. Near optimal linear algebra in the online and sliding window models. In 61st Annual Symposium on Foundations of Computer Science (FOCS), pages 517–528. IEEE, 2020. doi:10.1109/FOCS46700.2020.00055.
- [8] Vladimir Braverman, Elena Grigorescu, Harry Lang, David P. Woodruff, and Samson Zhou. Nearly optimal distinct elements and heavy hitters on sliding windows. In Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques (APPROX/RANDOM 2018), volume 116 of Leibniz International Proceedings in Informatics (LIPIcs), pages 7:1–7:22. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2018. doi:10.4230/LIPIcs.APPROX-RANDOM.2018.7.
- [9] Vladimir Braverman, Harry Lang, Keith Levin, and Morteza Monemizadeh. Clustering problems on sliding windows. In Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1374–1390. SIAM, 2016. doi:10.1137/1.9781611974331.ch95.
- [10] Vladimir Braverman and Rafail Ostrovsky. Smooth histograms for sliding windows. In 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS 2007), pages 283–293. IEEE Computer Society, 2007. doi:10.1109/FOCS.2007.55.
- [11] Matteo Ceccarello, Andrea Pietracaprina, and Geppino Pucci. Solving -center clustering (with outliers) in MapReduce and streaming, almost as accurately as sequentially. Proc. VLDB Endow., 12(7):766–778, 2019. doi:10.14778/3317315.3317319.
- [12] Timothy M. Chan. Semi-online maintenance of geometric optima and measures. SIAM Journal on Computing, 32(3):700–716, 2003. doi:10.1137/S0097539702404389.
- [13] Timothy M. Chan and Vinayak Pathak. Streaming and dynamic algorithms for minimum enclosing balls in high dimensions. Comput. Geom., 47(2):240–247, 2014. doi:10.1016/J.COMGEO.2013.05.007.
- [14] Moses Charikar, Chandra Chekuri, Tomás Feder, and Rajeev Motwani. Incremental clustering and dynamic information retrieval. SIAM J. Comput., 33(6):1417–1440, 2004. doi:10.1137/S0097539702418498.
- [15] Moses Charikar, Kevin Chen, and Martin Farach-Colton. Finding frequent items in data streams. Theoretical Computer Science, 312(1):3–15, 2004. doi:10.1016/S0304-3975(03)00400-6.
- [16] Edith Cohen. Size-estimation framework with applications to transitive closure and reachability. Journal of Computer and System Sciences, 55(3):441–453, 1997. doi:10.1006/jcss.1997.1534.
- [17] Vincent Cohen-Addad, Chris Schwiegelshohn, and Christian Sohler. Diameter and -center in sliding windows. In 43rd International Colloquium on Automata, Languages, and Programming (ICALP), volume 55 of LIPIcs, pages 19:1–19:12. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2016. doi:10.4230/LIPIcs.ICALP.2016.19.
- [18] Graham Cormode and Shan Muthukrishnan. An improved data stream summary: The count-min sketch and its applications. Journal of Algorithms, 55(1):58–75, 2005. doi:10.1016/j.jalgor.2003.12.001.
- [19] Mayur Datar, Aristides Gionis, Piotr Indyk, and Rajeev Motwani. Maintaining stream statistics over sliding windows. SIAM J. Comput., 31(6):1794–1813, 2002. doi:10.1137/S0097539701398363.
- [20] Mark de Berg, Leyla Biabani, and Morteza Monemizadeh. -center clustering with outliers in the MPC and streaming model. In IEEE International Parallel and Distributed Processing Symposium, IPDPS 2023, pages 853–863. IEEE, 2023. doi:10.1109/IPDPS54959.2023.00090.
- [21] Mark de Berg, Morteza Monemizadeh, and Yu Zhong. -center clustering with outliers in the sliding-window model. In 29th Annual European Symposium on Algorithms (ESA), volume 204 of Leibniz International Proceedings in Informatics (LIPIcs), pages 13:1–13:13. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPIcs.ESA.2021.13.
- [22] David Dobkin and Subhash Suri. Maintenance of geometric extrema. Journal of the ACM, 38(2):275–298, 1991. doi:10.1145/103516.103518.
- [23] Joan Feigenbaum, Sampath Kannan, and Jian Zhang. Computing diameter in the streaming and sliding-window models. Algorithmica, 41(1):25–41, 2005. doi:10.1007/S00453-004-1105-2.
- [24] Shiyuan Feng, William Swartworth, and David Woodruff. Tight bounds for heavy-hitters and moment estimation in the sliding window model. In 52nd International Colloquium on Automata, Languages, and Programming (ICALP), volume 334 of Leibniz International Proceedings in Informatics (LIPIcs), pages 75:1–75:19. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2025. doi:10.4230/LIPIcs.ICALP.2025.75.
- [25] Sudipto Guha. Tight results for clustering and summarizing data streams. In 12th International Conference on Database Theory (ICDT), volume 361, pages 268–275. ACM, 2009. doi:10.1145/1514894.1514926.
- [26] Magnús M. Halldórsson, Nicolaos Matsakis, and Pavel Veselý. Streaming Diameter of High-Dimensional Points. In 33rd Annual European Symposium on Algorithms (ESA 2025), volume 351 of Leibniz International Proceedings in Informatics (LIPIcs), pages 58:1–58:10. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2025. doi:10.4230/LIPIcs.ESA.2025.58.
- [27] Piotr Indyk. Better algorithms for high-dimensional proximity problems via asymmetric embeddings. In Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA, pages 539–545, 2003. URL: http://dl.acm.org/citation.cfm?id=644108.644200.
- [28] Piotr Indyk. Algorithms for dynamic geometric problems over data streams. In 36th Annual ACM SIGACT Symposium on Theory of Computing (STOC), pages 373–380, 2004. doi:10.1145/1007352.1007413.
- [29] Shaofeng H.-C. Jiang, Robert Krauthgamer, and Shay Sapir. Moderate dimension reduction for -center clustering. In 40th International Symposium on Computational Geometry (SoCG 2024), volume 293 of Leibniz International Proceedings in Informatics (LIPIcs), pages 64:1–64:16. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPIcs.SoCG.2024.64.
- [30] Sang-Sub Kim and Hee-Kap Ahn. An improved data stream algorithm for clustering. Comput. Geom., 48(9):635–645, 2015. doi:10.1016/J.COMGEO.2015.06.003.
- [31] Robert Krauthgamer and David Reitblat. Almost-smooth histograms and sliding-window graph algorithms. Algorithmica, 84(10):2926–2953, 2022. doi:10.1007/s00453-022-00988-y.
- [32] Richard Matthew McCutchen and Samir Khuller. Streaming algorithms for -center clustering with outliers and with anonymity. In Approximation, Randomization and Combinatorial Optimization. Algorithms and Techniques, volume 5171 of Lecture Notes in Computer Science, pages 165–178. Springer, 2008. doi:10.1007/978-3-540-85363-3_14.
- [33] Benwei Shi, Zhuoyue Zhao, Yanqing Peng, Feifei Li, and Jeff M. Phillips. At-the-time and back-in-time persistent sketches. In International Conference on Management of Data (SIGMOD), pages 1623–1636. ACM, 2021. doi:10.1145/3448016.3452802.
- [34] Jeffrey S. Vitter. Random sampling with a reservoir. ACM Transactions on Mathematical Software (TOMS), 11(1):37–57, 1985. doi:10.1145/3147.3165.
- [35] Yanhao Wang, Yuchen Li, and Kian-Lee Tan. Coresets for minimum enclosing balls over sliding windows. In 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD), pages 314–323. ACM, 2019. doi:10.1145/3292500.3330826.
- [36] Zhewei Wei, Ge Luo, Ke Yi, Xiaoyong Du, and Ji-Rong Wen. Persistent data sketching. In Timos K. Sellis, Susan B. Davidson, and Zachary G. Ives, editors, Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, Melbourne, Victoria, Australia, May 31 - June 4, 2015, pages 795–810. ACM, 2015. doi:10.1145/2723372.2749443.
- [37] David P. Woodruff and Taisuke Yasuda. Online Lewis weight sampling. ACM Transactions on Algorithms, 21(4):1–50, 2025. doi:10.1145/3715127.
- [38] Hamid Zarrabi-Zadeh and Timothy M. Chan. A simple streaming algorithm for minimum enclosing balls. In Proceedings of the 18th Annual Canadian Conference on Computational Geometry, CCCG 2006, 2006. URL: http://www.cs.queensu.ca/cccg/papers/cccg36.pdf.
