Fault diagnosis and fault tolerant control using set-membership approaches: Application to real case studies This paper reviews the use of set-membership methods in fault diagnosis (FD) and fault tolerant control (FTC). Setmembership methods use a deterministic unknown-but-bounded description of noise and parametric uncertainty (interval models). These methods aims at checking the consistency between observed and predicted behaviour by using simple sets to approximate the exact set of possible behaviour (in the parameter or the state space). When an inconsistency is detected between the measured and predicted behaviours obtained using a faultless system model, a fault can be indicated. Otherwise, nothing can be stated. The same principle can be used to identify interval models for fault detection and to develop methods for fault tolerance evaluation. Finally, some real applications will be used to illustrate the usefulness and performance of set-membership methods for FD and FTC. Model-based fault detection of dynamic processes is based on the use of models i.e., (analytical redundancy) to check the consistency of the observed behaviour. However, when building a model of a dynamic process to monitor its behaviour, there is always some mismatch between the modelled and real behaviours since some effects are neglected, some non-linearities are linearised in order to simplify the model, some parameters have tolerance when compared between several units of the same component, some errors in parameters (or in the structure) of the model are introduced in the model calibration process, etc. These modelling errors introduce some uncertainty in the model. Usually, this uncertainty can be bounded and included in the fault detection model.. There are several ways of considering the uncertainty associated with the model depending if it is located in the parameters (structured) or in the model structure (nonstructured). In the FD literature, a fault diagnosis algorithm able to handle uncertainty is called robust. The robustness of an FD algorithm is the degree of sensitivity to faults compared with the degree of sensitivity to uncertainty (Chen and Patton, 1999) . Research on robust fault diagnosis methods has been very active in the FD community in the last few years. One of the most well-developed families of approaches, called active, is based on generating residuals which are insensitive to uncertainty while at the same time sensitive to faults. This approach has been extensively developed by several researchers using different techniques: unknown input observers, robust parity equations, H ∞ , etc. Chen and Patton (1999) present an excellent survey of this active approach.. On the other hand, there is a second family of approaches, called passive, which enhances the robustness of the fault detection system at the decision-making stage by propagating the uncertainty to the residuals and generating an adaptive threshold. Seminal papers suggesting this approach are the one by Horak (1988) in the time domain and that by Emami-Naeini et al. (1988) in the frequency domain. This passive approach has been developed lately by several researches but still is under development, see for example (Adrot and Flaus, 2008; Armengol et al., 2008; Fagarasan et al., 2004; Hamelin and Sauter, 2000; Ploix and Adrot, 2006; Puig et al., 2006; Rambeaux, 2000; Sainz et al., 2002) . This approach has also been integrated with qualitative reasoning tools (coming from the AI community), see, e.g., the tools CA∼EN (Travé-Massuyes et al., 2001; Escobet et al., 2001) , SQualTrack (Armengol et al., 2008) or MOSES (Rinner and Weiss, 2004) . For a more detailed review, the reader is referred to the work of Armengol et al. 620 V. Puig (2000) . This paper will review the passive approach when considering the nominal model plus uncertainty on every parameter bounded by intervals. This type of uncertainty modelling provides a type of models known as interval models. Noise will also be considered to be unknown but bounded and modelled in a deterministic framework. The use of interval models has received several names, depending on the field of application: in circuit analysis it is known as worst-case (or tolerance analysis), in automatic control as set-membership (also known in this field as the error-bounded approach) and in qualitative reasoning as semi-quantitative.. In the automatic control literature, the setmembership approach applied to parameter and state estimation was treated extensively by Milanese et al. (1996) while its application to control can be found in the works of Bhattacharyya et al. (1995) and Ackermann (2002) . The worst-case analysis of circuits was treated by Kolev (1993) and in several research papers appearing in circuits journals and conferences. Finally, the semiquantitative approach was investigated by Kuipers (1994) and in several papers appearing in artificial intelligence journals and conferences. This paper also reviews the different approaches that can be used to identify interval models for fault detection. This research started with the seminal work of Ploix et al. (1999) . New application fields for set-membership methods to areas close to FD as FTC are also presented. Finally, the paper presents several industrial applications where set-membership approaches have been successfully used.. The remainder of the paper is organized as follows. Section 2 introduces the use of interval models of dynamic systems for fault detection. In Section 3, fault detection using the interval approach is recalled, while Section 4 presents fault detection using the error-bounding approach. Section 5 reviews the methods for interval and error-bounding identification using real data. Section 6 presents the use of set-membership methods for fault tolerance evaluation of control laws. Section 7 presents several successful applications of set-membership methods for fault detection and fault-tolerant control. Finally, conclusions are summarised in Section 8.. 2. Interval models of dynamic systems for fault detection 2.1. Interval models of dynamic systems. The system to be monitored can be described by a MIMO linear uncertain dynamic model in discrete-time and a state-space form as follows:. where y(k) ∈ R ny , u(k) ∈ R nu , x(k) ∈ R nx are the system output, input and state vectors, respectively, w(k) ∈ R nx and v(k) ∈ R ny are the disturbance and noise, respectively, both assumed unknown but bounded, i.e., w i ∈ δ i , δ i and v i ∈ [σ i , σ i ]; the state, input, output and direct transmission matrices are A(θ) ∈ R nx×nx , B(θ) ∈ R nx×nu , C(θ) ∈ R ny×nx and D(θ) ∈ R ny×nu , respectively, θ ∈ R n θ is the vector of uncertain parameters, where Θ is a bounded set (of the interval box type) such that and in particular for each component θ i ∈ θ i , θ i , i = 1, . . . , n θ . This is why the resulting model is known as an interval model. The set Θ contains all possible values of θ when the system operates normally. Notice that when the parameters θ are scheduled with the operating point using some known scheduling function and variable, then the system (1) is known as a linear parameter varying (LPV) system (Rugh and Shamma, 2000) . Intervals for uncertain parameters can also be inferred from real data as will be discussed in Section 5.. The system in Eqn.. (1) can, alternatively, be expressed in the input-output form using the shift operator q −1 and assuming zero initial conditions as follows:. where This paper has reviewed the use of set-membership methods in robust FD and FTC. Alternatively to statistical methods, set-membership methods use a deterministic unknown-but-bounded description of noise and parametric uncertainty (interval models). Using approximating sets to enclose the exact set of possible behaviours (in the parameter or the state space), these methods allow checking the consistency between the observed and predicted behaviours. When an inconsistency is detected the fault can be indicated, otherwise nothing can be stated. The same principle has been used to estimate interval models for fault detection and to develop methods for fault tolerance evaluation. Finally, a real application of these methods has been used to exemplify the successful use of the proposed set-membership methods in FD/FTC.

O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O B I O B I O O O O O O O O B I O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O


Hardware transactional memory with software-defined conflicts In this paper we investigate the benefits of turning the concept of transactional conflict from its traditionally fixed definition into a variable one that can be dynamically controlled in software. We propose the extension of the atomic language construct with an attribute that specifies the definition of conflict, so that programmers can write code which adjusts what kinds of conflicts are to be detected, relaxing or tightening the conditions according to the forms of interference that can be tolerated by a particular algorithm. Using this performancemotivated construct, specific conflict information can be associated with portions of code, as each transaction is provided with a local definition that applies while it executes. We find that defining conflicts in software makes possible the removal of dependencies which arise as a result of the coarse synchronization style encouraged by the TM programming model. We illustrate the use of the proposed construct in a variety of use cases with real applications, showing how programmers can take advantage of their knowledge about the problem and other global information not available at run-time. We describe how to implement a hardware TM design that utilizes this software construct. Our experiments reveal that leveraging software-defined conflicts, the programmer is able to achieve significant reductions in the number of aborts -over 50% for most applications. At 16 threads, our system with software-defined conflicts outperforms LogTM-SE in nearly all benchmarks, reaching an average reduction in execution time of 18%. In this paper, we have given the concept of conflict definition an interesting twist, transforming it from its fixed nature to a variable, software-controllable definition. We have introduced the paramterized atomic block (PAB) as a new programming construct that enables the programmer to alter the definition throughout the execution of a transaction. PABs are used to relax the conditions for signaling a conflict in those cases where relaxing the isolation guarantees does not threaten correctness, in order to eliminate conflicts that are not essential. We have shown how PABs can also be used by programmers to enforce conservative synchronization in cases where optimistic concurrency control proves counterproductive.. We have presented several examples of its use on common scenarios and well-known benchmarks. We have described an implementation of this construct on top of an eager HTM system. Finally, we have evaluated the proposed hardware/software scheme on top of a popular HTM system, LogTM-SE, using real applications, and we have demonstrated that software-defined conflicts can significantly reduce the number of The main results of the evaluation are summarized in Figure 7 and Table II, which show, respectively, the speedup curves and the number of aborted transactions for the considered benchmarks and each of the three evaluated systems. For the 16-and 32-thread configurations, Table II shows the percentage of reduction in aborted transactions achieved by PABs in comparison to the Base system (columns 5 and 9), revealing that in most benchmarks software-defined conflicts are capable of eliminating more than 50% of the aborts. Figure 8 shows the normalized execution time broken down into components, for the three evaluated systems on the 16-thread configuration. In general, the results show that using PABs in the considered benchmarks can improve scalability and achieve significant performance improvements in some cases. Our results for 16 threads show that an HTM with support for PABs outperforms the baseline LogTM-SE system in nearly all benchmarks, by 18% in the average case.. Genome. Aborts suffered by concurrent insertions in the same table (dynamic instances of the same static transaction competing for the list) account for three quarters of the total number of aborts that occur in 16-and 32-thread configurations. Using PABs to disable WAR conflicts for the list insert effectively eliminates more than 50% of the aborts suffered in the benchmark for these configurations, as shown in Table II .. As we can see in Figure 7 , the effect on the execution time is inappreciable. We find two reasons for this result: First, the phase of insertions only spans a small amount of the total execution time in genome. And second, the hardware was not augmented to ensure fairness when using PABs. In this case, it may happen that a transaction with a relaxed definition gets repeatedly aborted despite its timestamp, as any access that entails a forbidden transformation of dependencies (here, reload data remotely modified) provokes its abort. As we can observe in the Figure 8 , this is reflected in the increase of the fraction of cycles spent in barrier, as well as the variability of such fraction, for the PAB plot when compared to Base. In spite of that, experiments with different random seeds revealed that when the interleaving of transactions does not create temporal starvation, the 16-thread PABs configuration reduces execution time by 10% compared to Base.. Labyrinth, som. For its main transaction, we used PABs to disable WAR conflicts in order to emulate early release, as discussed in Section 2. Using a regular PAB simplifies programming, since the path validation is not be needed: points can be directly written without further checks, as any attempt to write a point already written by an offender transaction entails a forbidden transformation of conflicts that triggers abort by default. We restored the default definition before entering this phase using a nested PAB, to ensure that once a point is observed (reloaded), its value cannnot change until the end of the transaction. Similarly, programming the som algorithm using a simple PABs to disable WAR conflicts yields a more straightforward code than the ER counterpart: With ER, threads need to validate the neighborhood before the update phase, making sure that the winner neuron and its distance to the input sample have not changed since the search phase. As we can see in Figures 7 and 8 , using PABs in labyrinth and som achieves similar performance levels to the ideal Base system with support for ER, up to and including the 16-thread configuration. Furthermore, PABs allow som to scale up to 32 threads, while the Base system already starts to decline in its performance. In both benchmarks, the number of aborts is reduced when using PABs, though it is more pronounced for labyrinth (55-60%). Such reduction becomes responsible for the 8% improvement over Base for 16 threads observed in Figure 8 , mostly due to the removal of the back-off portion. However, it does not have a significant effect in performance for som.. Pessimistic Concurrency Control. In regards to the applicability of PABs for PCC, both flavors of kmeans as well as raytrace prove to benefit from the execution in mutual exclusion of their transactions. Because the benchmarks are dominated by non-transactional execution, the performance gained by avoiding a lot of aborts clearly outweighs the overhead of an excessive serialization of transactions. For configurations of up to 8 threads, all three evaluated systems behave similarly because there is little contention. For raytrace and kmeans-high, Figure 7 shows how the Base system does not scale past 8 threads due to a very high number of aborts, while we observe that with PABs, these two benchmarks scale up to 16 threads and reach performance levels similar to the Pred system in the case of raytrace, before declining for 32 threads. Unlike Base and PAB, the write-set predictor of the Pred system allows raytrace to scale up to 32 threads because it solves the duelling upgrades pathology suffered by raytrace's fine-grained critical regions (read and increment a global ray id) and achieves an extraordinary reduction in the number of aborts, reflected in Table II . Using PABs also alleviates this performance pathology and reduces aborts by 78%, but the high amount of contention in the access to the ray id variable with 32 threads is not managed by PABs as efficiently as the write-set predictor does: Using PABs for PCC works like an upgrade switch so that every requested cache lines is acquired with exclusive ownership, whether or not the transaction modifies it. Thus, for each transaction in raytrace, there is an extra stall time as there are two cache lines that need to be transferred from cache to cache, the pointer to the structure that contains the global variables, gm, and the global ray identifier itself,rid. In Pred, on the contrary, only the line that contains the rid is transferred, and a shared copy of the pointer gm resides in every local cache, hence resulting in faster transactions and shorter stalls. For kmeans-low, the Base system scales up to 16 threads, and then suffers a severe performance degradation when moving to 32 threads because of the aborts. Meanwhile, using PABs to serialize the execution of the transactions makes kmeans-low scale up to 32 threads, achieving similar performance to the Pred system, whose write-set predictor successfully reduces the number of aborts by a factor of 100, as depicted in Table II . It is remarkable how using PABs to detect RAR conflicts completely eliminates aborts from both of kmeans flavors: All cache lines are requested in exclusive, including read-only data such as the pointer to the new centers len vector. Using RAR conflict detecting as an "upgrade switch" forces transactions in kmeans to serialize from their very first memory access. In this way, each transaction directly requests the pointer to new centers len vector in exclusive and does not release it until it has incremented the length in the appropriate index. The result is that transactions stall one after another without creating cycles, proving that LogTM's policy of requester-stalls is useful to resolve conflicts without the need to abort one of the transactions. The conservative approach of PABs is the reason why they are clearly outperformed by the write-set predictor in kmeans-high: despite creating few aborts, the write set predictor only upgrades to exclusive those requests that are predicted to be written (because they have been recently written), and hence transactions are never serialized in their access to read-only data, as it happens with PABs. In Figure 8 we can see that the write-set predictor manages to reduce the execution time of the 16-thread baseline system by 17% for kmeans-low, and more than 50% for kmeans-high. Although far from the performance of Pred, the PAB system also makes kmeans-high scale up to 16 threads, while the Base system begins to see a performance drop after 8 threads. As shown in Figure 8 , PABs reduce execution time over 30% for kmeans-high when compared to Base for 16 threads, mainly because it eliminates the fraction of cycles spent aborting, backing-off and executing transactions that eventually abort. Obviously, now a large portion of the cycles are spent stalled for another transaction, according to the transaction chaining mentioned before.. PABs are also of use to serialize the accesses to data structures from which threads extract jobs for processing, as it is the case of yada and intruder. Although the execution of intruder's "queue pop" transactions in mutual exclusion significantly reduces the number of aborts, the speedup graphs show that there is little difference in terms of execution time with the Base system. This is because these aborts of are not the real bottleneck that stops the application from achieving better performance. However, the inability of the Base system to deal with high contention to these queues contributes even more to the performance degradation as we scale up the number of threads. Running intruder with PABs is 15% faster than the baseline for the best configuration (4 threads), and then the performance of both systems slowly degrades as we move on to larger number of threads. In this benchmark, PABs perform almost two times faster than the baseline for 16 threads (see Figure 8) , because of the 82% reduction in the number of aborts, responsible for the huge portion of back-off cycles that we observed in the baseline case. The abort and wasted components are also reduced, and in turn the stall fraction increases due to the chaining of transactions. All aborts corresponding to the queue pop transactions (stream getPacket and decoder getComplete) are completely removed by PABs, leaving only the aborts caused by the main transaction of intruder (decoder process), whose conflicts entail the actual performance limits of this benchmark. In yada, the use of PABs does not improve execution time compared to the Base case because the pointer to the work heap is heavily used inside other transactions aside from the heap remove transaction that we wrap inside a PAB. The result is that besides serializing the extraction of work elements from the heap, we are creating more conflicts with other transactions (region transferBad) that also access to the work heap, increasing the number of aborts suffered by the latter. Thus, yada is an example of scenario in which PABs must be used carefully, since the variables accessed inside the PAB are also accessed from other regular atomic blocks that we are not interested in executing under PCC. Finally, when evaluating all the benchmarks with the enhanced LogTM system that uses a write-set predictor shows that this kind of hardware device is useful to detect migratory patterns and avoid dueling upgrades in some scenarios -i.e. raytrace, kmeans-, but its use does not always benefit performance. In this way, using PABs as a programmer-accessible upgrade switch seems to be a more flexible and efficient approach to solve the pathological interactions suffered by highly contended transactions, rather than relying on a transparent but fixed hardware component like the write-set predictor, whose gains are not generalizable, as we see in Figure 7 for benchmarks like yada, genome or labyrinth.. Vacation. We observe in Figure 7 how performance scales close to the ideal up until 8 threads for both Base and PAB configurations, because of a very low or nonexistent number of aborts. For the 16-thread experiment, the number of aborts goes up by a factor of 15-20 when compared to 8 threads, and this is reflected on a performance degradation. The aborts occur because a writer transaction suffers starvation when it tries to add or remove items from the database in the present of readers, as readers impede the writer to gain exclusive access to the block, due to LogTM's resolution policy of nack. Figure 8 shows how the fraction of back-off cycles is considerable for the Base plot, while nonexistent for PAB; the stall fraction also disappears with PAB, and the barrier portion gets considerably decreased. These numbers quantitatively reflect that PABs solve the aforementioned pathology.

B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


On the Application of Graph Colouring Techniques in Round-Robin Sports Scheduling The purpose of this paper is twofold. First, it explores the issue of producing valid, compact round-robin sports schedules by considering the problem as one of graph colouring. Using this model, which can also be extended to incorporate additional constraints, the difficulty of such problems is then gauged by considering the performance of a number of different graph colouring algorithms. Second, neighbourhood operators are then proposed that can be derived from the underlying graph colouring model and, in an example application, we show how these operators can be used in conjunction with multiobjective optimisation techniques to produce high-quality solutions to a real-world sports league scheduling problem encountered at the Welsh Rugby Union in Cardiff, Wales. Round-robin (RR) sports schedules occur in many tournaments and leagues across the globe, including the Six Nations Rugby Championships, various European and South American domestic soccer leagues, and the England and Wales County Cricket Championships. Round-robins are schedules involving n teams, where each team is required to play all other teams exactly m times within a fixed number of rounds. The most common types are single round-robins (SRRs), where m = 1, and double roundrobins (DRRs), where m = 2 (in the latter, teams will typically be scheduled to meet once in each other's home venue).. Usually, the number of teams n in a round-robin schedule will be even. In cases where n is odd, an extra "dummy team" can be introduced, and teams assigned to play the dummy team will receive a bye in the appropriate part of the schedule. Round-robins are considered valid if each team in the schedule competes at most once per round. They are also described as compact if the number of rounds used is minimal at m(n − 1), thus implying n 2 matches-per-round. (All of the sports competitions mentioned above are compact, valid round-robins.). It has been known for some time that valid, compact RR schedules can be constructed for any number of teams n [26] . However, it is also known that the number of distinct round-robin schedules grows exponentially with n, since this figure is monotonically related to the number of non-isomorphic Figure 1 : Demonstration of the greedy algorithm for producing valid, compact round-robin schedules for n = 10. The matches are first ordered lexicographically ({0, 1}, {0, 2}, {0, 3}, . . . , {8, 9}) and the first match is assigned to the first round. Each remaining match is then considered in turn and assigned to the next round where no clash occurs. When the final round is reached, the algorithm loops back to the first round. Note that if a DRR is required, the second half of the schedule can be produced by simply copying the first half.. one-factorisations of a complete graph with n vertices (which is also known to increase exponentially with n). Such a growth rate implies that, for non-trivial problems, enumerating all possible schedules will not be possible in reasonable time (in practice, "non-trivial" values for n would appear to be anything above 10 for SRRs [18] .) A number of constructive algorithms have previously been proposed for producing compact, valid round-robin schedules in linear time, including the greedy algorithm [26, 3] , which operates by assigning matches to rounds in lexicographic order (see fig. 1 ), and the polygon method considered, for example, by Riberio and Urrutia [39] and Anderson [2] . In fact the solutions produced via the greedy and polygon methods are isomorphic, since schedules produced via one method can be converted into the other by simply relabelling the teams and rounds, as proved by Anderson [2] . This is also true of the solutions produced via the canonical algorithm, which, in addition to producing an RR schedule, also copes with the issue of minimising the number of "breaks" (a break being a situation where a team is required to play two or more home (or away) games in consecutive rounds). This latter method, proposed by de Werra [11] , has previously been used in commercial sports timetabling software, such as Splendid City. 1 More recently the task of minimising breaks has also been explored by other authors. Trick [45] , Miyashiro and Matsui [34] , and Elf [21] , for example, have examined the problem of taking an existing SRR and then assigning home/away values to each of the matches in order to minimise the number of breaks. Miyashiro and Matsui [32] have also shown that the problem of deciding whether a home/away assignment exists for a particular schedule such that the theoretical minimum of n − 2 breaks can be met is computable in polynomial time. Meanwhile, the inverse of this problem -taking a fixed home/away pattern and then assigning matches consistent with this pattern -has also been studied by various other authors [41, 11, 36] . A good survey on many aspects of break minimisation can be found in the recent survey of Rasmussen and Trick [38] .. Although it is straightforward to construct valid, compact RR schedules using constructive methods such as the greedy, polygon, and canonical algorithms, in practical circumstances it is often the case that the production of "high-quality" schedules will depend on additional user requirements and constraints. The minimisation of "breaks" (mentioned in the previous section) is one example of this. Other constraints, however, can include those associated with demands from broadcasters, various economical and logistical factors, inter-team politics, policing, and the perceived fairness of the league. In addition, factors such as the type of sport, the level of competition, and the country (or countries) involved will also play a part in determining what is considered "high-quality". An impression of the wide range of such constraints and requirements can be gained by considering the variety of problems that have previously been tackled in the operational research literature, including German, Austrian, and Italian soccer leagues [6, 13] , New Zealand basketball leagues [49] , amateur tennis tournaments [14] , English county cricket fixtures [48] , and American professional ice hockey [22] . A good survey on the wide range of problems and solution methods for sports scheduling can be found in the recent paper of Kendall et al. [25] .. An oft-quoted example of such requirements is the issue of carry-over in RR schedules, where we consider the possibility of a team's performance being influenced by their opponents in previous rounds. For example, if we have a very strong team t whose opponents are often left injured or demoralised, then a team that plays t's opponents in the next round may well be seen to gain an advantage. 2 In such cases the aim is to therefore produce a round-robin schedule in which the overall effects of carry-over are minimised. This requirement was first considered by Russell [40] who also proposed a constructive algorithm able to produce provably optimal schedules in cases where n is a power of 2. Later, better results for other values of n were achieved by Anderson [4] using a sophisticated constructive algorithm. More recently still, methods for small-sized problems have also been proposed by Trick [45] and Henz [24] who both make use of constraint programming techniques.. Another set of schedule requirements, which has become somewhat of a benchmark over the past decade, is encapsulated in the Traveling Tournament Problem (TTP) [19] . In this formulation a compact DRR schedule is required (teams play each other twice, once in each other's home venue) and the overriding aim is to minimise the distances travelled by each team. Geographical constraints such as this are particularly relevant in large countries such as Brazil and the USA where match venues are typically far apart. Consequently, when a team is scheduled to attend a succession of away games, instead of returning to their home city after each match, the team travels directly to their next away venue. Note that in addition to the basic RR scheduling constraints, this problem also contains elements of the traveling salesman problem, as we are interested in scheduling runs of successive away matches for each team such that they occur in venues that are close to one another. An early solution method proposed for this formulation was proposed by Easton et al. [20] who used integer-and constraint-programming techniques. More recent proposals, however, have focused on metaheuristic techniques, and in particular, neighbourhood search-based algorithms. Good examples of these include the simulated annealing approaches of Anagnostopoulos et al. [1] and Lim et al. [29] , and the local-search approaches of Di Gaspero and Schaerf [16] and Ribeiro and Urrutia [39] . In the latter example the authors also consider the added restriction that the DRR schedule should be "mirrored": that is, if teams t i and t j play in t i 's home stadium in round r ∈ {1, . . . , n − 1}, then t i and t j should necessarily play each other in t j 's home stadium in round r + (n − 1). In the other algorithms, this restriction is not considered. At the time of writing, the metaheuristic approaches listed here produce state of the art results for this problem. In this paper we have shown that in many cases solutions to round-robin scheduling problems can be produced via the utilisation of well-known graph colouring principals. In particular, we have seen that three existing, heuristic-based graph colouring methods have been able to construct valid compact round-robin schedules, often in the presence of a large number of additional hard constraints. However, we have also noted areas in which some of these methods seem to struggle, such as when tackling very large instances, or those in the noted phase transition regions. In future work it would be interesting to investigate how higher success rates (and lower computation times) could be achieved: for example, modifications could be made to these methods that allow them to better exploit the known equipartite structure of the graphs.. In the second half of this paper, we have exploited the links between round-robin sports scheduling and graph colouring by proposing two algorithms for a real-world sports scheduling problem. In both cases the three graph colouring algorithms were able to achieve the main aim of producing initial feasible solutions to these problems in short amounts of time. In contrast, an IP model of these problems used in conjunction with a commercial solver could not achieve feasibility within a generous time limit. The underlying graph colouring model was then used to help define neighbourhood operators that guarantee never to re-violate the hard constraints of the considered problems. One of these approaches also constitutes what is, to our knowledge, the first application of multiobjective techniques to a sports scheduling problem. In the case of the real-world problem instance (number 5), we found that more than 98% of all solutions generated by our multiobjective approach dominated the solution that was manually produced by the WRU's league administrators. For the multi-stage approach this figure was just 0.02%. We must note, however, that these particular statistics should be interpreted with care, firstly because the manually produced solution was actually for a slightly different problem (the exact specifications of which we were unable to obtain from the league organisers), and second because our specific cost functions were not previously used by the league organisers for evaluating their solutions.. We believe that the methods proposed here are quite generic and in the future we plan to apply these techniques to other practical sports scheduling problems. We also plan to try and gain deeper insights into the connectivity of the underlying search spaces of such problems, allowing us to better understand the overall potential of neighbourhood search-based approaches. To aid further investigation we have posted the ten problem instances used in Section 6 online 8 and we invite other researchers interested in this area to use them in their own research. allowed vertices to be "uncoloured"). This involved replacing the equals signs in eqs. (5) and (6) by less-than-or-equal signs and then trying to maximise the following objective function f :. Note however, that when input into Xpress, we found this latter model to exhibit inferior performance than the previous model. Thus all IP experiments mentioned in the paper refer to the first model.

O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Toward universal mobile interaction for shared displays Researchers have noted conflicting trends in collaboration technologies between delivering more information on larger displays and exploiting mobility on smaller devices. Large, shared displays provide greater choice in the presentation of information, but mobile devices offer greater flexibility in the access of information. We describe a platform that leverages the best of both worlds by allowing multiple users to access and interact with a large, shared display using their own personal mobile devices, such as a cell phone, laptop, or wireless PDA. We highlight three applications built on top of the platform that demonstrate its generality and utility in a variety of group settings: namely, web browsing, polling, and entertainment. Researchers have noted two diverging trends in public, or shared computing scenarios [7] : One trend pushes toward larger, higherresolution, singleton displays, as is the case with digital bulletin boards and kiosks. The use of these displays is usually distributed in time, and input is restricted to a single modality that is often physically bound to the display (e.g., touchscreens [14] ). In contrast, the other trend is for mobile devices, such as cell phones, laptops, and wireless PDAs, to act as both input and display, where interaction is distributed in space among a number of users, allowing for synchronized collaboration and communication (e.g., virtual workspaces [13] ). While shared displays typically offer greater computational power, more bandwidth, and larger presentation space, they frequently limit interaction to those who have direct access to the input devices (often just one user at a time). Mobile devices, on the other hand, disperse control and access to participating users, though limited computational power and smaller screen sizes often hinder dynamic interaction.. Connecting shared displays to mobile devices is an obvious way to leverage the best of both worlds, but tight synergy comes only when mobile device users can rely on the ubiquity of shared displays.. Fortunately, electronic shared displays are everywhere, though rarely given a second thought. We encounter them in living rooms as televisions, in meeting rooms as projection screens, in airports as flight-information kiosks, in movie theaters, in retail stores, and even in outdoors spaces, such as highway billboards and metropolitan marquees (e.g., New York's Times Square). What is missing from all of these shared displays is interactivity and computation. Even in cases where the displays offer interaction, only a single mode of input, such as the television remote control, is enabled as a means of interaction.. In this paper, we present a platform for generic, inexpensive, interactive shared displays that receives input from any mobile device. As a vital characteristic, the platform does not require additional hardware or software on existing mobile devices, and works without any changes in existing telecommunications infrastructure. Existing shared displays could be converted, one by one, into interactive shared displays, fully capitalizing on the prevalence of personal mobile devices. To demonstrate the generality and utility of the platform, we highlight three applications which were implemented with only UI modifications to the original application functionality. Motivated by the ubiquity of both large displays and mobile devices, we presented a platform that allows multiple users to access and interact with any enabled large, shared display, where individuals can use their own personal mobile devices as input devices, for whatever purpose the designers choose.. We described three implemented applications which were specifically designed to operate under the latency and bandwidth constraints that characterize mobile input: namely, Web Glance, a shared web browser which supports both collaborative and jukebox-style navigation of the Internet, a voting application for promoting informal collaboration and communication, and finally, Bugs, a virtual terrarium designed to entice users into casual conversation and provide a backdrop for entertainment.. As for future direction, usability studies need to be conducted for all of the implemented applications in both private and public spaces. Plans are underway to deploy the applications in the common areas of our corporation, such as the cafeteria or waiting rooms. Interactive shared displays are nothing new. An extensive body of research literature exists on the design and use of shared displays, focusing on particular applications (e.g., see [3] , [11] ). For example, researchers have explored how digital bulletin boards foster online and offline information sharing in an organization [2] , how people move information between their PDAs and a PC [10] or public display [6] , how a portal system accessible through a variety of mobile devices support work group activities [16] , and so forth. This previous research exemplifies a variety of scenarios that could be implemented on an interactive shared display.. Outside of research, several large, interactive shared displays have also been deployed. For example, BBCi has built street-level window displays that allow passersby to not only see and hear interviews in progress, but also to submit their own questions using SMS text messaging on their cell phones [15] . Likewise, the Vodafone Lisbon office contains a giant cube display on Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. which passersby can request news, short animations, and games, again using SMS text messaging [15] . Taking advantage of an even larger shared display, the art installation, La Bastille, transformed a library building into a giant video game console on which passersby could play Tetris using a radio-frequency video game controller [8] . Also converting a building into a large display, Blinkenlights allowed cell phone users to play Pong, and even to post emoticons [1] .. While all of these aforementioned displays were custom-built for a single application and a single mode of input, we focus on a generalized platform for inexpensively converting any shared display into an interactive one. Our platform is modularized so that designers can, with minimal effort, port existing applications onto the interactive shared display, while accommodating multiple methods of input.

O O B I O B I O O O O O O B B O O O O O O O O O B O O O O B I O O O O O O O O O B I O O B O O B O O O O O B O O O O O O O O O O B O B O O O O O O B O O O O B I O O O B I B O B B O O O B O O O O O B O B O O O B O O O O B O O B I O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B I O O O O O O B O O O O O O O B O O O O O O O O O O B O O O B O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B I O O O O O O O B O O B O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O B B O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O B I O O O O O O B O O O O O B O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O B I O O O O O O O B I O B O O O B O O B O O O B O O O O O O O O O O O O O O O O O O O O O B I O O O B O O O B O B O O O O O O O B O O O O O O O B I O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B I O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O B O O O O O O O O O O O B O O O O B O O O O O O


Compressible Distributions for High-dimensional Statistics Abstract-We develop a principled way of identifying probability distributions whose independent and identically distributed realizations are compressible, i.e., can be well-approximated as sparse. We focus on Gaussian compressed sensing, an example of underdetermined linear regression, where compressibility is known to ensure the success of estimators exploiting sparse regularization. We prove that many distributions revolving around maximum a posteriori (MAP) interpretation of sparse regularized estimators are in fact incompressible, in the limit of large problem sizes. We especially highlight the Laplace distribution and ℓ 1 regularized estimators such as the Lasso and Basis Pursuit denoising. We rigorously disprove the myth that the success of ℓ 1 minimization for compressed sensing image reconstruction is a simple corollary of a Laplace model of images combined with Bayesian MAP estimation, and show that in fact quite the reverse is true. To establish this result, we identify non-trivial undersampling regions where the simple least squares solution almost surely outperforms an oracle sparse solution, when the data is generated from the Laplace distribution. We also provide simple rules of thumb to characterize classes of compressible and incompressible distributions based on their second and fourth moments. Generalized Gaussian and generalized Pareto distributions serve as running examples. High-dimensional data is shaping the current modus operandi of statistics. Surprisingly, while the ambient dimension is large in many problems, natural constraints and param-eterizations often cause data to cluster along low-dimensional structures. Identifying and exploiting such structures using probabilistic models is therefore quite important for statistical analysis, inference, and decision making.. In this paper, we discuss compressible distributions, whose independent and identically distributed (iid) realizations can be well-approximated as sparse. Whether or not a distribution is compressible is important in the context of many applications, among which we highlight two here: statistics of natural images, and statistical regression for linear inverse problems such as those arising in the context of compressed sensing.. Statistics of natural images: Acquisition, compression, denoising, and analysis of natural images (similarly, medical, seismic, and hyperspectral images) draw high scientific and commercial interest. Research to date in natural image modeling has had two distinct approaches, with one focusing on deterministic explanations and the other pursuing probabilistic models. Deterministic approaches (see e.g. [10] , [12] ) operate under the assumption that the transform domain representations (e.g., wavelets, Fourier, curvelets, etc.) of images are "compressible". Therefore, these approaches threshold the transform domain coefficients for sparse approximation, which can be used for compression or denoising.. Existing probabilistic approaches also exploit coefficient decay in transform domain representations, and learn probabilistic models by approximating the coefficient histograms or moment matching. For natural images, the canonical approach (see e.g. [27] ) is to fit probability density functions (PDF's), such as generalized Gaussian distributions and the Gaussian scale mixtures, to the histograms of wavelet coefficients while trying to simultaneously capture the dependencies observed in their marginal and joint distributions.. Statistical regression: Underdetermined linear regression is a fundamental problem in statistics, applied mathematics, and theoretical computer science with broad applications-from subset selection to compressive sensing [17] , [7] and inverse problems (e.g., deblurring), and from data streaming to error corrective coding. In each case, we seek an unknown vector x ∈ R N , given its dimensionality reducing, linear projection y ∈ R m (m < N ) obtained via a known encoding matrix Φ ∈ R m×N , as. where n ∈ R m accounts for the perturbations in the linear system, such as physical noise. The core challenge in decoding x from y stems from the simple fact that dimensionality reduction loses information in general: for any vector v ∈ kernel(Φ), it is impossible to distinguish x from x + v based on y alone.. Prior information on x is therefore necessary to estimate the true x among the infinitely many possible solutions. It is now well-known that geometric sparsity models (associated to approximation of x from a finite union of low-dimensional subspaces in R N [4] ) play an important role in obtaining "good" solutions. A widely exploited decoder is the ℓ 1 decoder ∆ 1 (y) := arg minx :y=Φx x 1 whose performance can be explained via the geometry of projections of the ℓ 1 ball in high dimensions [16] . A more probabilistic perspective considers x as drawn from a distribution. As we will see, compressible iid distributions [2] , [9] countervail the ill-posed nature of compressed sensing problems by generating vectors that, in high dimensions, are well approximated by the geometric sparsity model.

O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B O


Enhancing debugging of multiple missing control errors in reversible logic Researchers are looking for alternatives to overcome the upcoming limits of conventional hardware technologies. Reversible logic thereby established itself as a promising direction so that several methods for synthesis, verification, and testing of reversible circuits have already been proposed. However, also methods for debugging, i.e., to determine error candidates in case of a failed verification, are required to complete the design flow. Even if first approaches have already been proposed, debugging of reversible circuits still is in the beginning. In this paper, we present an alternative method to automatically debug reversible circuits. We thereby focus on missing control errors -an established error model in the design of reversible circuits. A new notion of an error candidate is proposed that relies on the observation of a necessary condition for error locations in reversible circuits. Using this notion, a set of error candidates is obtained that differs from the error candidates returned by previous methods. Thus, combining the approaches enhances the overall debugging flow. Experimental results demonstrate that a higher accuracy is obtained in significantly shorter run-time. The exponential growth of transistor density in integrated circuits (according to Moore's Law) will reach its limits in the future. When the size of single transistors reaches the atomic scale, the continuously shrinking feature sizes of digital circuits are coming to an end. Moreover, the increasing power dissipation of electronic devices is a major barrier in the development of smaller and more powerful computer chips already today. Because of this, researchers are looking for post-CMOS technologies in hardware design.. Reversible logic [1] [2] [3] is one promising direction, which has been intensely studied in the last decade. This logic enables applications particularly in areas like quantum computation [4] or low power design [5] , but also in optical computing [6] , DNA computing [2] , and nanotechnologies [7] . However, in comparison to conventional circuit design, reversible logic is subject to certain restrictions, e.g., fanout and feedback are not allowed [4] . Thus, the well-developed design flow for conventional circuits is not applicable for reversible logic. As a result, new approaches e.g., for synthesis [8, 9] , verification [10] [11] [12] , and testing [13] of reversible circuits, have been developed.. In this context, also debugging of reversible logic is of interest. As in the design of other complex systems, ensuring the correctness of the circuit is crucial. But, while verification methods, e.g., based on simulation or formal techniques, only prove or disprove the existence of errors, debugging aims for directly locate them in the circuit. Since (manual) debugging of circuits including a large number of gates is a difficult task, a first automatic approach for reversible circuits has been introduced in [14] . However, particularly for circuits including multiple errors, this approach tends to generate large sets of error candidates that still have to be considered afterwards.. In this work, we propose an alternative debugging approach for multiple errors. We thereby focus on missing control errors, i.e., errors arising from the deletion of control lines in the considered reversible gates. This is motivated by the fact that removing control lines in reversible gates is an appropriate way to reduce the cost of a circuit (see e.g., [15] ). Furthermore, missing control errors are an established error model in the area of testing (see e.g., [13] ). Thus, such kinds of errors may often occur during the design of reversible circuits.. Our approach exploits the observation that erroneous gates in the circuit must be "activated" by the respective counterexamples. Conversely, if a gate is not activated by any counterexample, it can be removed from the set of gates to be considered. A similar, simulation-based idea has already been proposed in [16] . However, only single errors have been addressed there, whereas here multiple errors are targeted. Based on the observation, a new notion of error candidates. is proposed. Afterwards, this notion is used to encode the determination of error candidates as a hitting set problem. Using this notion often error candidates different to the ones obtained by the approach from [14] are obtained. Thus, combining both approaches further improves the accuracy. The rest of the paper is structured as follows: In Section 2, we review the basic notions of reversible circuits and briefly recapitulate debugging. Section 3 discusses the previous approach and provides the main motivation of our algorithm, which is introduced in Section 4. How to combine the considered approaches is described in Section 5. Finally, Section 6 gives experimental results obtained by the proposed methods and Section 7 concludes the paper. In this paper, we introduced an alternative method for debugging of reversible circuits. For a dedicated error model, namely missing control line errors, our method improves the results of the previously proposed debugging approach [14] . The observation that error locations have to be activated by every counterexample is thereby exploited. The resulting a hitting set problem is encoded as a SAT instance, which yields a very fast enumeration of the error candidates. Then, we illustrated the differences of the presented approach as well as the correction-based algorithm and proposed the combination of both. In the experiments, we empirically compared our algorithm, the correction-based algorithm, and their combination. We showed that combining both approaches, improves the efficiency and the accuracy. More precisely, the number of error candidates is significantly decreased. Hence, the designer is provided with better information about the error location. Furthermore, results are obtained in significantly shorter run-time. We report on the obtained results in Table 1 and Table 2 , respectively.. Consider first Table 1 . The first columns list details of the circuits, i.e., the name, the number of lines, and the number of gates, respectively. Columns EC and Run Time denote the number of error candidates and needed time, respectively. A timeout (2000 seconds) is indicated by To. At every timeout, the error cardinality where it occurs is provided. Note that error candidates may be delivered before the timeout.. We observe that both CB and HS are not satisfying in many cases since they either yield tens of thousands of error candidates or timeout (and thus, may not pinpoint the designer to the error location). However, HS does not abort as often as CB. In particular, CB tends to timeout on large instances -sometimes without delivering any candidate. This confirms our discussion from Section 3.2. When considering the combination CB+HS, it can be seen that the best of the two approaches is conserved. Accuracy is increased significantly, since for most of the instances the designer obtains a feasible set of error candidates. Furthermore, while CB fails to deliver any error candidate for large instances (e.g., urf2, urf4, and urf5 ), both HS and CB+HS are able to correctly identify the error location. Only for the instances mod1048576adder and testalu the results are not yet satisfying because the set of error candidates is too large to be helpful for the designer.. Consider now Table 2 . Here, the algorithms ability to refute wrong assumptions on the number of erroneous gates is documented. Since three errors are injected, the debugging method should disprove k = 1 and k = 2. In the table, we list the number of circuits for which the respective algorithm can disprove the error cardinalities 1 and 2. We used the same circuits as in Table 1 . It can be seen that k = 1 can be disproven for the majority of the instances by all approaches -CB+HS even shows for 10 of the 11 instances the non-existence of a single error. Both CB and HS can refute k = 2 in less than half of the instances. In contrast, the combination CB+HS excludes error candidates of size 2 in 9 of 11 cases. Thus, the combination outperforms the single approaches also with respect to this criterion.. In summary, more accurate error candidates can be obtained in significantly shorter run-time using the CB+HS approach.

O B O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A provision-aware fair bandwidth distribution marker algorithm for DiffServ networks The rise in demand for real-time applications on the Internet necessitates Quality of Service (QoS). Differentiated Services (DiffServ) is one of the technologies used currently to provide QoS and service differentiation. It is simple and scalable. It provides service differentiation to aggregates, mainly through the Assured Forwarding (AF) per-hop behaviour. Previous work on fair sharing of network bandwidth did not adequately address the Under-Provisioned Network (UPN) condition. In this paper, we propose a new three-colour marker, named paItswTCM (provision-aware Improved TSW based Three-Colour Marker). We compare our new algorithm with both time-sliding window markers and token-bucket-based markers using simulations. Results show that our new provision-aware marker outperforms these previous algorithms not only in the UPN condition but also for low to medium network provision levels. We conclude that to achieve proportional sharing of bandwidth, no packet type should be injected at the expense of others. The assumption that all packets are the same and should be accorded equal treatment, as was the case in the early days of the Internet, is certainly not tenable today. Real-time applications are by their inherent nature sensitive to delay and loss. An everincreasing demand to transfer these applications over the Internet forced the Internet Engineering Task Force (IETF) to proposed two Quality-of-Service (QoS) frameworks, namely Integrated Services (IntServ) (Braden et al., 1994) and Differentiated Services (DiffServ) (Blake et al., 1998) .. IntServ was the first real attempt to alter the model of the Internet, from best effort to a QoS-compliant network (Braden et al., 1994) . The IntServ model is based on per-flow resource reservation. First, explicit reservation, with details of all the resources needed, is made by any would-be-user, through the Reservation Setup Protocol (RSVP). The IP router checks whether the resources requested are available or not, and then allows traffic transfer to begin if the result of the check is positive, with a guarantee of exclusive access to the resources. The main drawback of IntServ is that it is not scalable (Carpenter and Nichols, 2002) . To address this issue, among other disadvantages of IntServ, the IETF proposed the DiffServ model, with the aim of providing efficient and scalable edge-to-edge QoS within a single domain.. DiffServ differentiates packets by aggregating individual flows that require common treatment, typically based on the Service Level Agreement (SLA) between the subscriber and service provider, into predefined forwarding classes (Blake et al., 1998) . A single DiffServ Code Point (DSCP) is then assigned to each packet in a behaviour aggregate. Flows with the same DSCP are said to belong to one PerHop Behaviour (PHB) (Nichols et al.) . Currently, the IETF defines two PHB mechanisms: Expedited Forwarding (EF), which has one class (Jacobson et al., 1999) , and Assured Forwarding (AF), which has four classes, each having three levels of drop precedence, commonly called green, yellow and red (Heinanen et al., 1999) . The priority that a packet receives is based on the colour assigned to it. Green packets receive the highest priority, red packets the lowest priority and yellow packets an in-between priority. A DiffServ network is divided into two parts: the edge and the core. All complex tasks, such as traffic classification and traffic conditioning, are done at the edge routers. The core routers are left with only the forwarding mechanism. This mechanism relies heavily on active queue management schemes such as RED with In and Out (RIO) (Clark and Fang, 1998) and Fuzzy Explicit Marking In/Out (FIO) (Chrysostomou et al., 2009) .. Ideally, in the DiffServ model, we expect traffic with same SLA to be given the same treatment. When there is excess bandwidth, we expect it to be fairly shared; also, when the bandwidth supply is less than the demand, we expect the loss of packets to be proportionate. In reality, the converse is true (Su and Atiquzzaman, 2001, 2003; Ibanez and Nichols, 1998; Hongwei and Xiumei, 2009

O O O O O O O O O O O O O O O O O O O O O B I I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Reliable Rateless Wireless Broadcasting With Near-Zero Feedback Abstract-We examine the problem of minimizing feedback in reliable wireless broadcasting by pairing rateless coding with extreme value theory. Our key observation is that, in a broadcast environment, this problem resolves into estimating the maximum number of packets dropped among many receivers rather than for each individual receiver. With rateless codes, this estimation relates to the number of redundant transmissions needed at the source in order for all receivers to correctly decode a message with high probability. We develop and analyze two new data dissemination protocols, called Random Sampling (RS) and Full Sampling with Limited Feedback (FSLF), based on the moment and maximum likelihood estimators in extreme value theory. Both protocols rely on a single-round learning phase, requiring the transmission of a few feedback packets from a small subset of receivers. With fixed overhead, we show that FSLF has the desirable property of becoming more accurate as the receivers' population gets larger. Our protocols are channel-agnostic, in that they do not require a priori knowledge of (i.i.d.) packet loss probabilities, which may vary among receivers. We provide simulations and an improved full-scale implementation of the Rateless Deluge over-the-air programming protocol on sensor motes as a demonstration of the practical benefits of our protocols, which translate into about 30% latency and energy consumption savings. Furthermore, we apply our protocols to real-time (RT) oblivious rateless codes in broadcast settings. Through simulations, we demonstrate a 100-fold reduction in the amount of feedback packets while incurring an increase of only 10%-20% in the number of encoded packets transmissions.Index Terms-Extreme value theory, forward error correction (FEC), over-the-air programming (OAP), rateless coding. R ELIABLE data broadcasting is the basis for over-the-air programming (OAP) of sensor networks [1] - [4] . OAP is used to deliver software updates and data from a broadcaster (source) to large populations of sensors (receivers) within wireless transmission range of the source. Similar protocols have also been developed for applications like real-time updating of stock quotes and scoreboards on cellular and mobile smartphones. S. Agarwal is with NEC Europe Laboratories, 69115 Heidelberg, Germany (e-mail: sachin.agarwal@telekom.de).. Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org.. Digital Object Identifier 10.1109/TNET.2012.2189016. Automatic Repeat reQuest (ARQ) protocols are commonly employed to guarantee the reliability of data dissemination over lossy wireless channels [5] . ARQ requires receivers to notify a source about missing packets via acknowledgments (ACKs) or negative acknowledgments (NACKs). When the number of receivers gets large, however, these messages become excessive and result in the well-known broadcast storm problem [2] , [4] , [6] .. Packet-level forward error correction (FEC) provides a promising approach to effectively reduce feedback [7] . FEC requires the source to anticipate packet losses and make redundant transmissions proactively, instead of waiting for feedback from receivers and then making additional transmissions. Rateless codes such as random linear codes, LT codes [8] , and Shifted LT codes [9] allow FEC to be implemented in a practical and efficient way. The source encodes original packets of a file and then transmits the encoded packets. A receiver is able to recover the file successfully after receiving (or slightly more) distinct encoded packets.. One of the challenges of implementing FEC is for the source to determine an appropriate amount of redundancy when transmitting proactively. While too many redundant FEC packets slows down the data dissemination process unnecessarily, insufficient redundancy leaves many receivers unable to decode packets. Furthermore, the inherent heterogeneity of channel characteristics across receivers (e.g., due to link quality, distance to the source, and antenna sensitivity) significantly complicates the task of redundancy estimation. While estimating each receiver's packet loss probability may be possible [10] , such an approach does not scale given that per-receiver packet loss probability needs to be ascertained. This paper is based on the following key observation. When using rateless codes in a broadcasting environment, such as wireless, the number of redundant packet transmissions corresponds to the maximum number of redundant packet transmissions needed among all receivers. This allows us to exploit advances in extreme value theory [11] , a powerful mathematical tool for studying the distribution of extreme order statistics, such as maxima of random variables, to effectively quantify transmission redundancy with minimum overhead.. In this paper, motivated by OAP applications, we consider the problem of disseminating a file composed of multiple segments, or pages, from one source to receivers over a lossy wireless channel. Each page consists of a fixed number of packets. Our first contribution is formalizing this problem using extreme value theory in order to perform accurate online estimation of the amount of transmissions (formally defined as -reliable volume in Section III) a source needs to make in order to achieve a probability of successfully delivering each page of the file to all the receivers. Thanks to extreme value theory, we are able to perform accurate estimation of the -reliable volume without requiring specific knowledge of channel characteristics. This accurate estimation can be accomplished with extrapolation based on limited information obtained from the dissemination of a single page.. Second, we develop two new data dissemination protocols, called Random Sampling (RS) and Full Sampling with Limited Feedback (FSLF), based on extreme value estimators known to be asymptotically exact as . Both protocols estimate the -reliable volume during a learning phase, and then reliably disseminate the rest of the file during a transmission phase. While RS restricts the overhead of the estimation during the learning phase, by randomly sampling feedback from a small subset of receivers, FSLF judiciously exploits the fact that the extreme value estimators require only samples of the largest order statistics, for some , to collect all the feedback needed. We further show that FSLF has the appealing property of providing more accurate estimation of the -reliable volume when the receivers' population gets larger, without incurring higher overhead. These results for FSLF hold under the assumption that receivers can overhear each others' transmissions.. Third, we show through extensive simulations that both RS and FSLF almost completely eliminate receivers' feedback during the transmission phase. Thanks to the high accuracy of the estimators, the amount of packet transmission by the source is only about 5% higher than with ARQ.. Fourth, we compare the performance of different extreme value estimators, namely the moment and maximum likelihood estimators, in conjunction with the RS and FSLF protocols. Among all the possible combinations, we observe that FSLF based on the moment estimator achieves the best performance in terms of minimizing overhead and maximizing accuracy.. Fifth, to demonstrate practical benefits of our protocols, we conduct real mote experiments on a testbed of 14 Tmote Sky sensors [12] and perform larger-scale simulation using the TOSSIM simulator [13] . Specifically, we design a new over-the-air programming protocol based on Rateless Deluge [4] , called Extreme Value Quantile Estimation (EV-QE) Deluge, which integrates the RS protocol. The experiments and simulations show that EV-QE Deluge leads to a 75% reduction in control-plane traffic together with 30% savings on latency and energy consumption, at the expense of an about 5% increase in data-plane traffic as compared to Rateless Deluge.. Finally, we employ extreme value estimators for creating scalable broadcast versions of real-time oblivious (RT) rateless codes [14] . RT codes have a simple decoder design, making them especially suitable for wireless sensor receivers. However, each receiver is required to send information about its decoding progress to the source periodically, limiting the scalability of RT codes for large receiver populations. For a marginal increase in the number of encoded packets broadcast from the source, we show how using EVT to predict the decoding progress offers a major decrease (on the order of two orders of magnitude) in the total amount of feedback required from the receivers. This paper is organized as follows. In Section II, we survey related work. We formulate our problem in Section III. We point out the limitations of classical estimation techniques in Section IV-A, give a primer on extreme value theory in Section IV-B, and introduce the moment and maximum likelihood estimators in Section IV-C. The design of the RS and FSLF protocols is presented in Section V. Simulation results and sensor mote experiments are provided in Sections VI and VII, respectively. We illustrate the practical applicability of our approach by designing and then benchmarking a scalable broadcast version of RT codes [14] in Section VIII. We provide concluding remarks in Section IX. The concept of exploiting FEC for reliable data dissemination has been the subject of prior research, both in wireline and wireless settings, and we next survey those works most related to our paper. The works in [15] and [16] numerically evaluate the performance improvements achieved with different levels of FEC redundancy. In order to allow the sender to decide when to stop transmitting FEC-coded packets without explicit feedback, the authors in [17] - [20] study the properties of file dissemination completion times. While in practice the packet loss probability differs from node to node due to many factors (i.e., link quality, distance to the source, antenna sensitivity), the works in [15] , [17] , [21] , and [22] , as well as some hybrid FEC/ARQ protocols such as [23] , assume homogeneous packet loss probabilities in their analysis. The works in [16] , [18] - [20] do study the more realistic scenario of heterogeneous packet loss, but they assume that receivers' packet loss probabilities are known to the source, a relatively strong assumption for practical multiple receiver environments. In our work, we allow the packet loss probabilities to be unknown and heterogeneous across receivers. The idea of applying EVT to minimize feedback was first proposed in [20] . However, the techniques presented in this present paper are completely different from those in [20] since we resort here to online measurements to estimate the extreme-value parameters.. While it is possible to perform online estimation of network parameters such as packet loss probabilities [10] , such techniques are not generally scalable with the number of receivers in the network, given that all per-receiver packet loss probabilities must be determined. The authors in [24] try to estimate FEC redundancy without obtaining the individual receivers' packet loss probabilities, but they do not establish a relationship between the redundancy and the probability of success. In this present work, we propose to estimate the amount of transmissions needed to fully disseminate data to all receivers, with probability . Our estimate is computed online without the knowledge of channel characteristics, and we establish an analytical relationship between the amount of transmissions and the probability of success.. Finally, estimation can also be performed using classical approaches [25] . However, they have significant overhead (cf. Section IV for details), which our approach avoids by utilizing the theory of extreme values.

O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I B I I B I O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O