Obtaining Online Ecological Colourings by Generalizing First-Fit Abstract A colouring of a graph is ecological if every pair of vertices that have the same set of colours in their neighbourhood are coloured alike. We consider the following problem: if a graph G and an ecological colouring c of G are given, can further vertices added to G, one at a time, be coloured so that at each stage the current graph is ecologically coloured? If the answer is yes, then we say that the pair (G, c) is ecologically online extendible. By generalizing the well-known First-Fit algorithm, we are able to characterize when (G, c) is ecologically online extendible, and to show that deciding whether (G, c) is ecologically extendible can be done in polynomial time. We also describe when the extension is possible using only colours from a given finite set C.For the case where c is a colouring of G in which each vertex is coloured distinctly, we give a simple characterization of when (G, c) is ecologically online extendible using only the colours of c, and we also show that (G, c) is always online extendible using the colours of c plus one extra colour.We also study (off-line) ecological H -colourings (an H -colouring of G is a homomorphism from G to H ). We study the problem of deciding whether G has an ecological H -colouring for some fixed H and give a characterization of its computational complexity in terms of the structure of H . One of the goals of social network theory is to determine patterns of relationships amongst actors in a society. Social networks can be represented by graphs, where vertices of the graph represent individuals and edges represent relationships amongst them. One way to study patterns of relationships in such networks is to assign labels in such a way that those who are assigned the same label have similar sorts of relationships within the network; see, for example, Hummon and Carley [10] . Several graph-theoretic concepts such as ecological colourings [2] , role assignments [7] and perfect colourings [3] , have been introduced to facilitate the study of social networks in this way.. This paper focuses on ecological colourings. The term "ecological" is derived from certain models of population ecology in which individuals are assumed to be determined by their environment. For example, in biology, features of a species' morphology are usually defined in relation to the way such a species interacts with other species. Also, some network theories of attitude formation assume that one's attitude is predicted by the combination of the attitudes of surrounding individuals [4, 6] .. We introduce some basic notation and terminology. Throughout the paper, all graphs are undirected and without loops or multiple edges unless otherwise stated. We denote the vertex and edge sets of a graph G by V G and E G respectively (but often omit subscripts). An edge between u and v is denoted (u, v) . The neighbourhood of a vertex u in G is denoted N G (u) = {v | (u, v) ∈ E G }. For a subset S ⊆ V G and a function c on V G (for example, a colouring of the vertices), we use the short-hand notation c(S) for the set {c(u) | u ∈ S}. The colourhood of a vertex v in a graph G with colouring c is defined to be c(N G (v) ). For a set C, we write A + x to denote A ∪ {x} for some subset A ⊆ C and x ∈ C.. Ecological colourings were introduced by Borgatti and Everett in [2] to analyse power in experimental exchange networks. Formally, an ecological colouring of a graph G = (V G , E G ) is a vertex mapping c : V G → {1, . . .} such that any two vertices u, v ∈ V G with the same colourhood, that is, with c(N G (u)) = c(N G (v) ), have the same colour c(u) = c (v) . Note that such a colouring does not have to be proper, that is, two adjacent vertices may receive the same colour. This reflects that two individuals that play the same role in their environment might be related to each other. See Fig. 1 for an example of a proper ecological colouring.. One of the appealing features of ecological colourings is a result of Crescenzi et al. [5] . In order to state the result precisely, we need to introduce some terminology. A twin-free graph (also known as a neighbourhood-distinct graph) is a graph in which no two vertices have the same neighbourhood (including empty neighbourhoods). A graph G that is not twin-free can be made twin-free as follows: whenever we find a pair of vertices u and v for which N G (u) = N G (v), we delete one of them until no such pair remains. It is easy to check that the resulting graph is independent of the order in which vertices are deleted and is twin-free; it is called the neighbourhood graph of G and is denoted by G N . The main result of Crescenzi et al. [5] states that an ecological colouring of a graph G using exactly k colours can be found in polynomial time for each 1 ≤ k ≤ |V G N | and does not exist for k ≥ |V G N | + 1.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Using behavioral exploration objectives to solve deceptive problems in neuro-evolution Encouraging exploration, typically by preserving the diversity within the population, is one of the most common method to improve the behavior of evolutionary algorithms with deceptive fitness functions. Most of the published approaches to stimulate exploration rely on a distance between genotypes or phenotypes; however, such distances are difficult to compute when evolving neural networks due to (1) the algorithmic complexity of graph similarity measures, (2) the competing conventions problem and (3) the complexity of most neural-network encodings.In this paper, we introduce and compare two conceptually simple, yet efficient methods to improve exploration and avoid premature convergence when evolving both the topology and the parameters of neural networks. The two proposed methods, respectively called behavioral novelty and behavioral diversity, are built on multiobjective evolutionary algorithms and on a user-defined distance between behaviors. They can be employed with any genotype. We benchmarked them on the evolution of a neural network to compute a Boolean function with a deceptive fitness. The results obtained with the two proposed methods are statistically similar to those of NEAT and substantially better than those of the control experiment and of a phenotypebased diversity mechanism. Finding good solutions for deceptive problems is one of the main challenge in evolutionary computation since the pioneers' work in this field [12, 13] . Starting with the assumption that a well spread population has a higher probability to find new fitness peaks than a population focused around only one peak, one of the most classic modification of the basic evolutionary algorithm to tackle deceptive problems is to explicitly maintain a high diversity of candidate solutions [17, 14] . Improving the diversity within the population can also be viewed as a way to tune the exploration/exploitation trade-off underlying the evolutionary process in favor of more exploration: some inefficient candidate solutions can be kept in the population only because they are different from their counterparts.. Artificial neural networks have drawn considerable attention for the last twenty years mainly thanks to their versatility, as their range of application covers from the control of robots to data clustering. Evolutionary algorithms have often been successfully employed to design their topology and set their weights, leading to neuro-evolution processes (e.g. [15, 29, 27, 10, 22] ). However, despite the early interest in diversity for parameter optimization, current diversity preservation approaches are still difficult to exploit in neuro-evolution. One of the main reason is the algorithmic complexity to compute the similarity between candidate solutions, a NP-hard problem for unconstrained oriented graphs [3] and therefore for most neural networks. Another reason is the complexity of encodings used in neuroevolution, making each diversity maintenance method specific to a particular and often complex setup. The competing convention problem (see e.g. [29] ) is a third difficulty to overcome when trying to compare neural networks. Furthermore, setting the parameters that controls the exploration/exploitation trade-off is often challenging and empiric, but critical for the efficiency of the evolutionary process.. In this paper, we introduce and compare two simple, generic, and efficient ways to improve exploration to bypass the problems posed by deceptive fitness functions when evolving both the topology and the parameters of neural networks. The two proposed methods, respectively called behavioral novelty and behavioral diversity, rely on Paretobased multiobjective evolutionary algorithms (see [7] ) and on a user-defined distance between behaviors. To assess the efficiency of this behavioral approach, we employed the approximation of a Boolean function by a neural network with a deceptive fitness. The results obtained with both meth-ods are compared with those of NEAT [27] , which includes a sophisticated diversity maintenance mechanism and with those obtained using a genotype diversity based on a graph distance (graph probing, [21] ). The experiments reported in this paper show at least that:. • without any diversity preservation mechanism, the diversity of behaviors is very low (figure 3);. • behavioral diversity, behavioral novelty and NEAT are three efficient solutions to override the deceptiveness of a fitness when evolving neural-networks (figure 2); the difference between them was not statistically significant in these experiments (table 2) but the observed tendency suggests that NEAT and behavioral novelty might converge faster than behavioral diversity;. • the phenotype-based approach to diversity investigated did not improve the convergence rate and even deteriorated it.. These results add weights to the previous experiments that report performance enhancements with multiobjective diversity mechanisms [6, 1, 28, 2] . They also demonstrate that maintaining the diversity of the behaviors of candidate solutions instead of preserving the diversity of their genotype or phenotype is a simple and efficient approach. Algorithmically and conceptually simple distances can be designed while being independent of the encoding. Moreover, no special evolutionary process is required; classic and efficient MOEA can be employed.. The computational cost of behavioral novelty over behavioral diversity does not seem justified in these experiments but some other benchmarks problems might lead to more differences between these two methods. Moreover, their combination may be investigated in future work: while keeping diverse behaviors can be done using a diversity objective, a selective pressure to encourage new behaviors could be added as a third objective. However, adding many objectives in addition to the main ones can decrease the efficiency of the evolutionary process, as reported in many papers [24, 25] .. The efficiency of NEAT could suggest the conclusion that the presented method is not an improvement over the literature. However, at least two points should be taken into account. First, by starting with a fully-connected feed-forward neural network and disabling recurrent connections, NEAT constrains the search process to feed-forward networks. This is an intuitively useful bias in the considered experiment that was not included in the other methods. Second, implementing NEAT is more complex than using a direct encoding, notably because the encoding scheme is tightly linked to the evolutionary algorithm. Fitness sharing in NEAT, i.e. the modified evolutionary process, requires innovation numbers, which are deeply integrated in the encoding. At the opposite, behavioral methods can be used with any encoding and do not require any specific evolutionary algorithm. They can even be used with other phenotypes than neural networks such as Bayesian networks or fuzzy rules based systems. Last, NEAT is based on the assumption that the experimenter is able to provide a starting topology, an assumption that may not be valid in every context.. As a general conclusion, behavioral diversity and novelty appear to be simple and efficient methods to improve neuroevolution when facing a deceptive problem, at least when simple behavioral distance can be designed. These results highlight that although considerable efforts have been put in designing neural networks encodings, working on the selective pressures can also be fruitful while being simpler. Future work should extend the behavioral diversity concept to more general contexts than neuro-evolution. For instance, the diversity of robots' behaviors can be maintained using a similar approach to the one presented here [23] . Many methods have been published to maintain diversity in evolutionary algorithms in order to improve their exploration capabilities and avoid premature convergence (e.g. [14, 4, 6] ). Among those, fitness sharing [14] is probably the most common one: the search landscape is modified by reducing the fitness of individuals in densely-populated regions, thus promoting search in less explored regions. To that aim, the fitness of each individual i is divided by a "niche coefficient", defined as the number of individuals whose distance to i is below a user-defined threshold. Typical distances are computed between genotypes, one of the simplest example being a Hamming distance between binary strings in a binary-based genetic algorithm.. Dividing the fitness by the niche coefficient, as in fitness sharing, is an attempt to combine a performance objective, maximizing the fitness, and an exploration objective, minimizing the niche coefficient. Recent research in evolutionary computation proposed numerous algorithms to simultaneously optimize several objectives instead of aggregating them to a single one. Most of them rely on the concept of dominance:. (1) is said to dominate another solution x (2) , if both conditions 1 and 2 are true:. is not worse than x (2) with respect to all objectives; We launched 5 sets of 16 experiments; using the previously defined notations, for an individual x: where µj is the j-th nearest neighbors in the archive An,

O O O O O O B I 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 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 B I 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 B 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 B I 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 O O O O 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 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 I 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 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 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 B 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 B 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 B 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 B 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 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 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 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 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 I 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 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


Hierarchical spatial gossip for multi-resolution representations in sensor networks In this paper we propose a lightweight algorithm for constructing multi-resolution data representations for sensor networks. We compute, at each sensor node u, O(log n) aggregates about exponentially enlarging neighborhoods centered at u. The ith aggregate is the aggregated data among nodes approximately within 2 i hops of u. We present a scheme, named the hierarchical spatial gossip algorithm, to extract and construct these aggregates, for all sensors simultaneously, with a total communication cost of O(n polylog n). The hierarchical gossip algorithm adopts atomic communication steps with each node choosing to exchange information with a node distance d away with probability 1/d3 . The attractiveness of the algorithm attributes to its simplicity, low communication cost, distributed nature and robustness to node failures and link failures. Besides the natural applications of multi-resolution data summaries in data validation and information mining, we also demonstrate the application of the pre-computed spatial multi-resolution data summaries in answering range queries efficiently. Distributed wireless sensor networks provide revolutionary ways to attain large scale, dense data collection and long-term environment monitoring. The immediate challenge is to develop efficient methods to extract, encode, and distribute information gathered by sensors, for both the robustness and survivability of data, as well as the flexibility and efficiency to answer user queries. In this paper we study the problem of constructing multi-resolution data representation in a sensor network to facilitate routing and answering multi-dimensional range queries. Our approach of processing data in a multi-resolution format follows the principle of fractional cascading that states: "a sensor knows a fraction of the information from distant parts of the network, in an exponentially decaying fashion by distance" [9] . This multi-resolution, locality-preserving representation is motivated by observations that sensors are typically monitoring a physical phenomena, which exhibits high correlation in both the spatial and temporal domain. Naturally information relevant to each node is decaying with the distance to this node.. In the setup of this paper we have n sensors deployed uniformly and densely inside a region monitoring a continuous data field. We compute, at each sensor node u, O(log n) aggregates about exponentially enlarging neighborhoods centered at u. The ith aggregate is the aggregated data among nodes approximately within 2 i hops of u. The specifics of aggregation techniques will be application dependent. For example, the aggregates can be the MAX/MIN or AVG, or more involved aggregates such as histogram [21] , parameter estimations [24] , or random linear projections used for compressed sensing and information recovery [20] . This multi-resolution scheme is inherently load-balanced. The storage requirement at each node is bounded by O(log n). We present a scheme to extract and construct these aggregates, for all sensors simultaneously, by a hierarchical spatial gossip algorithm. The total communication cost is O(n polylog n), only a small polylogarithmic factor of the cost for flooding or information aggregation at a sink, yet we obtain multi-resolution aggregation for each and every sensor node in the network.. The multi-resolution data summaries provide a basis for information mining, data validation and efficient range queries. One of the major challenges in a sensor network is that nodes start with no idea of the big picture over the data field. Thus it is difficult for a node to assess whether its sensor reading is valid or not since detection of outlier or abnormality usually requires comparison with other sensor readings. In certain applications, the sensor field is deployed to detect events of interest to the owner. A sensor node often needs to decide, by itself, whether it holds interesting data or not. In some cases it is trivial, e.g., an unusually high reading by an acoustic sensor typically means activities in its vicinity. Sometimes this requires comparison with the average of sensor readings in an appropriate neighborhood. For example, the temperature threshold considered as 'high' in winter is different from that in summer. With the summarized data from each of its exponentially enlarging neighborhoods, a node has a basis against which its own reading can be compared, in order to spot local spikes which indicate data significance [22] . In addition, these partial aggregates can be used to support range queries injected from any node in the network. Queries for the aggregated value inside a geographical region can be answered by combining the pre-computed partial aggregates, without the necessity of examining each and every node in the geographical range. Thus both communication cost and query delay can be improved.. The major contribution of this paper is the development of a light-weight algorithm for constructing multi-resolution data representations for sensor networks, as well as the application of multi-resolution data for range queries. In the remaining of this section we will survey related work on data processing in a sensor network and gossip-based algorithms. We will then give a quick overview of our solution for constructing and using multi-resolution data representation. In this paper, we propose an efficient algorithm with a total communication cost of O(n polylog n) to extract and construct sharp multi-resolution data representations for sensor networks. We believe that the multi-resolution data summary is a fundamental data storage paradigm to equip each node with compact sketches of the global picture of the data field. As the future work we will explore more applications of multi-resolution data summaries for advanced data processing and validation, as well as efficient query evaluations.

O O B 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 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 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 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 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 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


Accurate estimation of cache-related preemption delay Multitasked real-time systems often employ caches to boost performance. However the unpredictable dynamic behavior of caches makes schedulability analysis of such systems difficult. In particular, the effect of caches needs to be considered for estimating the inter-task interference. As the memory blocks of different tasks can map to the same cache blocks, preemption of a task may introduce additional cache misses. The time penalty introduced by these misses is called the Cache-Related Preemption Delay (CRPD).In this paper, we provide a program path analysis technique to estimate CRPD. Our technique performs path analysis of both the preempted and the preempting tasks. Furthermore, we improve the accuracy of the analysis by estimating the possible states of the entire cache at each possible preemption point rather than estimating the states of each cache block independently. To avoid incurring high space requirements, the cache states can be maintained symbolically as a Binary Decision Diagram. Experimental results indicate that we obtain tight CRPD estimates for realistic benchmarks. Real-time embedded systems involve tasks operating under deadlines which need to be met. Consequently scheduPermission 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, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. lability analysis of such tasks has been a topic of active research. For each task, schedulability analysis needs to know the worst case execution time (WCET), that is, an upper bound on the task execution time. For preemptive task scheduling, we also need to estimate the inter-task interference (the additional execution time introduced when a high priority task preempts a low priority task). However, performance enhancing micro-architectural features of modern processors make such estimation difficult.. Ideally, the WCET of a program should be the cost of its longest path. However, this assumes that the execution time of each instruction is constant. In reality, the execution time of a memory access instruction depends on the past instructions executed (which decides whether it is a cache hit/miss). Thus, path analysis of the program cannot be done at the level of assembly code; it also needs to take into account the effect of micro-architectural features such as caches [5, 9, 11, 14] . This explains the importance of cache behavior modeling for WCET analysis.. Caches have a role to play in inter-task interference estimation as well. Consider a low priority task τ which is preempted by a higher priority task τ . Let the set of cache blocks to which the memory blocks of τ (τ ) get mapped be Cτ (C τ ). If Cτ ∩ C τ = ∅ then τ may displace some memory blocks of τ from the cache, resulting in additional cache misses when τ resumes. This effect of task preemption on cache performance is known in the literature as CacheRelated Preemption Delay (CRPD).. CRPD estimation is important from the point of view of schedulability analysis. In particular, [7, 8] reports how CRPD can be used to derive accurate response times of multiple periodic tasks running on a single processor for fixedpriority preemptive scheduling. We can avoid CRPD estimation by ignoring arbitrary preemption (as in [10] which only studies the interference at the beginning of a periodic task's execution). Alternatively, we can employ cache partitioning [6] , where each task is allowed to use only a portion of the cache. However, this leads to severe degradation of performance. Thus, for multitasked preemptive real-time systems with caches, CRPD estimation is necessary.. When a task τ is preempted by a higher priority task τ what are the additional cache misses introduced? To answer this question, we need to consider the following factors. First, all the memory blocks of τ which are in the cache when τ is preempted may not be re-referenced after resumption. Secondly, all the memory blocks of τ which are in the cache when τ is preempted may not be replaced by τ . Thirdly, there are several possible cache contents when τ is preempted (resulting from the different paths of τ ), and when τ resumes execution (resulting from the different paths of τ .) Last but not the least, there are several possible memory reference patterns after τ resumes execution (due to different paths of τ ).. The importance of some of these factors on CRPD is mentioned in [4] . However, no estimation technique is given and only simulation results are presented. The work of Lee et. al. [7] performs set based analysis of the cache blocks used by the preempted task τ before and after preemption. This is extended in [8] to also consider the set of cache blocks used by the high-priority task τ . Tomiyama and Dutt perform implicit path analysis of the preempting task τ but ignore the effects of the preempted task τ [13] .. In this paper, we propose methods to improve the accuracy of CRPD estimation. As per existing works [7, 8, 13] , we only consider the effects of the instruction cache (and not data cache). Our technique performs path analysis of both τ and τ . Furthermore, we compute the possible states of the cache when the lower priority task τ is preempted and when the higher priority task τ is completed. This is more accurate than existing set-based analysis techniques which estimate the cache states by inferring the set of memory blocks which may exist in each cache block. Suppose that the cache has two blocks and the possible states of the cache when τ is preempted are as follows { m0, m1 , m2, m3 } In the above m0, m1, m2, m3 are memory blocks with m0, m2 mapping to the first cache block and m1, m3 mapping to the second cache block. Existing path analysis techniques such as [7, 8] will report the possible states as follows.. Content of first cache block ∈ {m0, m2} Content of second cache block ∈ {m1, m3}. This actually denotes the four cache states { m0, m1 , m0, m3 , m2, m1 , m2, m3 } clearly leading to an over-approximation.. Note that we represent the cache states at a program point in a task as a set of tuples (where each tuple denotes an assignment of memory blocks to the cache blocks). This is more expensive than representing the possible contents of each cache block as a set of memory blocks. To avoid an exponential blow-up in the space consumption we can represent the possible cache states at any program point implicitly as a Binary Decision Diagram (BDD) [1] . A BDD is an efficient data structure for representing a propositional logic formula.. We now describe the core CRPD estimation technique. Section 3 explains the technique with a concrete example. Section 4 gives experimental results regarding accuracy of our estimation technique as well as its time and space consumption. Concluding remarks and discussions on space reduction appear in Section 5. In this paper, we have studied the problem of estimating Cache-Related Preemption Delay (CRPD) in preemptive multitasked real-time systems. CRPD is the delay introduced in a low-priority task owing to additional cache misses caused via preemption (by a higher priority task). To enable accurate analysis, our approach maintains possible cache contents (1) at each preemption point of the low-priority task and (2) at the end of high-priority task. Our experimental results show that our approach leads to tighter estimates than existing approaches which estimate the possible contents of each cache block separately (for the low-priority as well as the high-priority task). Note that in our analysis, we have throughout assumed only two tasks. Extending the technique to m tasks is straightforward: we need to consider all possible preemption sequences.. One possible concern regarding our analysis technique is a blow-up in space consumption. As observed in the previous section, none of our benchmarks suffered from an exponential space blow-up due to our decision to represent cache states (instead of the content of each cache block separately). Furthermore, we can handle possible blow-up in the representation of reaching/live cache states by adopting a symbolic representation of LCSB and RCSB. In particular, we can represent LCSB and RCSB (for any basic block B) as a Binary Decision Diagram (BDD). A BDD is a compact representation for a boolean function [1] . Consider a direct mapped cache with n cache blocks and at most k memory blocks mapping to each cache block. The content of any cache block in a cache state can then be captured with log2(k + 1) boolean variables. For example if two memory blocks m and m can map to a cache block, then the cache block can have three possible contents: m, m and ⊥ (that is, it does not hold any memory block). These three possibilities can be captured with log2(3) = 2 boolean variables. A cache state simply denotes the content of all the n cache blocks. Therefore, a cache state can be represented via truth assignment of n * log2(k + 1) boolean variables. A set of cache states S simply denotes a set of truth assignments of these n * log2(k + 1) boolean variables, call it VS. Thus, a set of cache states S can be represented as a propositional logic formula (or a BDD) fS over the n * log2(k+1) boolean variables (s.t. fS is true for only the truth assignments in VS). We use this BDD representation for LCSB and RCSB (for any basic block B) since they are simply sets of cache states. The variable ordering in the BDD representation is obtained from a total ordering of the cache blocks. Given the BDD representation for LCSB and RCSB, the fixed point equations for computing these quantities (given in Section 2.1) are modified in a standard fashion. We have used the Colorado University Decision Diagrams (CUDD) package [3] for computing the quantities LCSB, RCSB as BDDs. However, none of our benchmarks suffered from an exponential space blow-up in the number of cache states appearing in LCS or RCS. Therefore, the space gains obtained from the symbolic BDD representation (as compared to our enumerative set based representation) were modest in all our benchmarks. In future, we will conduct further experiments to evaluate the need for symbolic representation of cache states in our analysis technique. We select nine different benchmarks for our experiments (refer Table 2 ). Most of these benchmarks are from [12] and [11] . We use the Simplescalar architectural simulation platform [2] in the experiments. All the benchmarks are compiled to Simplescalar assembly language with modified gcc. A prototype analyzer written by us accepts assembly language code, disassembles it, identifies the basic blocks and constructs the control flow graph (CFG). Given the CFG of the low-priority and the high-priority task as well as the instruction cache configuration, our analyzer computes Table 4 : Maximum number of cache blocks used by high priority task for a 32-block cache.. the CRPD of the tasks. Our analyzer is parameterizable with respect to cache block size and number of cache blocks.

O O O O B O O O O O O B 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 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 O O O 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 B 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 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 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 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 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 B 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Gossiping with Multiple Messages This paper investigates the dissemination of multiple pieces of information in large networks where users contact each other in a random uncoordinated manner, and users upload one piece per unit time. The underlying motivation is the design and analysis of piece selection protocols for peer-to-peer networks which disseminate files by dividing them into pieces. We first investigate one-sided protocols, where piece selection is based on the states of either the transmitter or the receiver. We show that any such protocol relying only on pushes, or alternatively only on pulls, will be inefficient in disseminating all pieces to all users. We propose a hybrid one-sided piece selection protocol -INTERLEAVE -and show that by using both pushes and pulls it disseminates k pieces from a single source to n users in 10(k + log n) time, while obeying the constraint that each user can upload at most one piece in one unit of time. An optimal, unrealistic centralized protocol would take k +log 2 n time in this setting. Moreover, efficient dissemination is also possible if the source implements forward erasure coding, and users push the latest-released coded pieces (but do not pull). We also investigate two-sided protocols where piece selection is based on the states of both the trasmitter and the receiver. We show that it is possible to disseminate n pieces to n users in n + O(log n) time, starting from an initial state where each user has a unique piece. 1 The use of file splitting for multihop transfers is similar to the well-known technique of cut-through routing, see [13] 2 In BitTorrent for example, this decision is made by each user based only on the information of its neighbours. Each peer polls its neighbors for their piece collections, and then downloads the locally rarest piece, i.e. the piece that has the lowest representation in the peer's neighbors. Peer-to-peer systems are decentralized networks enabling users to contribute resources for mutual benefit. One of the main applications of such networks is the cost-effective distribution of bandwidth-intensive content from one source, or a few sources, to many users simultaneously. Peer-to-peer networks such as eDonkey and BitTorrent, which routinely serve files hundreds of megabytes in length to thousands of users, now account for a sizable share of all Internet traffic [1] . Examples of content distribution systems leveraging end-user resources are [2] - [5] . The service capacity in such systems can grow with the number of users, making them scalable and efficient in servicing a large number of users [6] , [7] .. File dissemination networks can be broadly categorized into structured and unstructured networks. Structured networks such as [3] - [5] rely on a specific structured pattern of interconnections among users to deliver the advantages of scalability and robustness. The structured pattern is first set up in a decentralized fashion, and data is then disseminated using this infrastructure. Unstructured networks have minimal infrastructure, and instead rely on randomization to provide load balancing, robustness, and scalability. For example, in the BitTorrent [2] system the only available infrastructure is a tracker of the addresses of users interested in obtaining the file. Each user acquires a random list of other users from the tracker, who become neighbours. Each user's actions are based on local information obtained from its neighbors.. This paper investigates data dissemination in unstructured networks. Initial unstructured approaches [8] , [9] advocated uploading the whole file at one go. Users receiving the complete file would then upload it to other users chosen at random. These protocols were motivated in part by earlier theoretical work on random gossip models [10] , [11] and epidemics [12] . However, for large files, making users wait to receive the entire file before they can start serving it becomes untenable for two reasons: (a) file transfer may take a long time, and during this time the upload capacity of downloading users is wasted, and (b) users who have received the file may depart before uploading a complete copy, resulting in the complete file being lost to others. Modern peer-to-peer file dissemination protocols such as BitTorrent take the following alternate approach to speed up dissemination: the file is divided into pieces, and users can start serving individual pieces once they are received, instead of waiting to obtain the entire file 1 .. When the file to be disseminated is divided into multiple pieces, each user has to carry out the task of piece selection: deciding which particular piece of the file is to be communicated at any given time, based on local information 2 . These local decisions have a significant impact on the global effectiveness of file dissemination, as the spread of one piece interacts with the spread of other pieces. The motivations of this paper are (1) to gain a quantitative analytical understanding of how splitting a file speeds up its dissemination in networks with random user contacts, and (2) to understand how the users' local piece selection decisions impact the dissemination of multiple pieces.. In Section II, we develop a simple model of a peer-topeer system relaying multiple pieces. We also explain how it captures the speedup obtained from file splitting, and enables us to compare the efficiency of various piece selection protocols. The user contact model is the same as in the classical random gossip process literature [8] - [11] . In Section III we state our main results, and discuss their implications. Sections IV and V contain the Lemmas and proof sketches of the main theorems. Section VI contains some simulation results on protocol performance when some of the assumptions made in the model are relaxed. In this work we • investigated the speedup achieved in file dissemination by breaking the file into pieces. • investigated the performance of one-sided piece selection protocols, • designed the efficient piece selection protocol INTER-LEAVE, and • illustrated why the PRIORITY PUSH protocol would be useful for the relay of source-coded pieces.. • designed an efficient two-sided protocol for all-to-all exchange. We believe that the techniques and results of this work will aid in the understanding of systems that involve the decentralized dissemination of large files. We would like to emphasize that the dissemination of multiple pieces of data over unstructured networks is significantly different from the dissemination of a single piece, but also note that insights gained from singlepiece dissemination can be effectively leveraged to design protocols for multiple pieces. It would be interesting to investigate the spread of multiple pieces in unstructured networks using more detailed system models.

O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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


Computing polycyclic presentations for polycyclic rational matrix groups We describe practical algorithms for computing a polycyclic presentation and for facilitating a membership test for a polycyclic subgroup of G L(d, Q). A variation of this method can be used to check whether a finitely generated subgroup of G L(d, Q) is solvable or solvable-by-finite. We report on our implementations of the algorithms for determining a polycyclic presentation and checking solvability. A well-known result of K.A. Hirsch asserts that each polycyclic group is finitely presented. In fact, a polycyclic group has a presentation which exhibits its polycyclic structure: a polycyclic presentation; see Section 2. Polycyclic presentations allow efficient computations with the groups they define; see Sims (1994) , Holt et al. (2005) and Eick (2001) .. L. Auslander proved in 1967 that each polycyclic group has a faithful integral matrix representation. Integral and rational matrix representations of polycyclic groups arise naturally in the study of these groups. For example, the natural conjugation action of a polycyclic group on a free abelian normal subfactor yields an integral matrix representation for the group considered.. An algorithm for determining a polycyclic presentation for a polycyclic rational matrix group provides a link between these two kinds of representations. It has various applications in the algorithmic theory of polycyclic groups. For example, it can be used to determine the centralizer of a free abelian normal subfactor in a polycyclic group.. The aim here is to describe practical algorithms for computing a polycyclic presentation and for facilitating a membership test for a polycyclic rational matrix group. A variation of this algorithm can be used to check whether a finitely generated rational matrix group is solvable or solvable-by-finite. The algorithms presented here refine and extend the approach indicated by Dixon (1985) and investigated by Ostheimer (1997 Ostheimer ( , 1999 .. Our resulting algorithms for determining a polycyclic presentation and for checking solvability are implemented and an implementation based on the computer algebra systems Gap (The GAP Group, 2004) and Kant (Daberkow et al., 1997 ) is publicly available (Assmann, 2003a) . A report on the implementation and performance tests is included below.. An alternative approach to checking whether a rational matrix group is solvable-byfinite is proposed in Beals (2001) , but an implementation of this algorithm seems not to be available. Earlier versions of our algorithm were developed in Eick (2001) and Assmann (2003b) . The algorithm PolycyclicPresentation, presented in Section 4, has been implemented and is publicly available as a part of the Gap package "Polenta"; see Assmann (2003a) . This package contains also an algorithm which tests whether a rational matrix group is solvable. The current implementation does not detect solvable-by-finite groups. To handle this case requires implementing and incorporating methods for finding (short) presentations of finite matrix groups.. All methods of Section 6 are available in the Gap package "Alnuth"; see Assmann and Eick (2003) . For the fundamental algorithms for determining the maximal order, the unit group and the ideal valuation we used the computer algebra system Kant (Daberkow et al., 1997) . The Gap package "Alnuth" provides an interface from Gap to Kant.. Both packages depend on the functionality of the Gap package "Polycyclic"-see Eick and Nickel (2000) -which facilitates computations with polycyclically presented groups.

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 B I O O O O O 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 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 B I 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 B I O O O O O O O O O O B O O O O O O O O O B I 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 B I 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 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 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 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 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


An Introduction to Periodical Discrete Sets from a Tomographical Perspective In this paper we introduce a new class of binary matrices whose entries show periodical configurations, and we furnish a first approach to their analysis from a tomographical point of view. In particular we propose a polynomial-time algorithm for reconstructing matrices with a special periodical behavior from their horizontal and vertical projections. We succeeded in our aim by using reductions involving polyominoes which can be characterized by means of 2 − SAT formulas. The present paper studies the possibility of determining some geometrical aspects of a discrete physical structure whose interior is accessible only through a small number of measurements of the atoms lying along a fixed set of directions. This is the central theme of discrete tomography and the principal motivation of this study is in the attempt to reconstruct three-dimensional crystals from two-dimensional images taken by a transmission electron microscope. The quantitative analysis of these images can be used to determine the Email addresses: frosini@unisi.it (Andrea Frosini), Maurice.Nivat@liafa.jussieu.fr (Maurice Nivat), Laurent.Vuillon@univ-savoie.fr (Laurent Vuillon).. number of atoms lying in atomic lines along certain directions [14] . The question is to deduce the local atomic structure of the crystal from the atomic line count data. The goal is to use the reconstruction technique for quality control in VLSI (Very Large Scale Integration) technology. Before showing the results of this paper, we give a brief survey of the relevant contributions in discrete tomography.. Clearly, the best known and most important part of the general area of tomography is computerized tomography, an invaluable tool in medical diagnosis and many other areas including biology, chemistry and material science. Computerized tomography is the process of obtaining the density distribution within a physical structure from multiple X-rays. More formally, we attempt to reconstruct a density function f (x) for x in R 2 or R Our main purpose here has been to introduce periodicity properties in terms relevant for discrete tomography. The periodicity is a natural constraint and it has not yet been studied in this environment. As pointed out in the Introduction, the motivation of this study is in the attempt of limiting the class of possible solutions when we reconstruct a discrete planar object using a priori information comprehending also its periodical behavior. This means that we modelled such a knowledge in terms of a subclass of binary images to which the object must belong.. It is not surprising that we obtain also some interesting uniqueness results, as pointed out for the class of binary matrices having period (1, 1). We have also shown a simple greedy algorithm for reconstructing an element of P er (1, 1) consistent with a given couple of vectors of horizontal and vertical projections. Such a reconstruction becomes more difficult when dealing with binary matrices having period (p, 1) or (1, q) . In these cases, we have described a polynomial time algorithm which solves the subproblem Rec-Strip, and which uses a reduction to 2-Satisfiability problem. We want to point out that an interesting property of this approach is that it uses a sub-procedure for reconstructing an element of T h,v (a subclass of convex polyominoes lying on a torus) from the partial knowledge of its horizontal and vertical projections.. Future challenges will concern the general problem of the reconstruction of binary matrices with period (1, q) and (p, 1) from their projections, and the extension of this result to the class P er(p, q). So, this paper is only an initial approach to the problem of reconstructing binary matrices having periodicity properties from a small number of discrete projections. Lot of work should be done to understand such environment: we only challenge the reconstruction problem from two projections in some special cases, but many consistency, reconstruction and uniqueness problems can be reformulated imposing periodical constraints.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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


Multilayer Protection with Availability Guarantees in Optical WDM Networks Abstract Survivability is a key concern in modern network design. This paper investigates the problem of survivable dynamic connection provisioning in general telecom backbone networks, that are mesh structured. We assume differentiated services where connections may have different availability requirements, so they may be provisioned differently with protection (if needed) based on their availability requirements and current network state. The problem of effectively provisioning differentiated-service requests, that has been widely investigated for connections routed at the physical layer, assumes peculiar features if we consider sub-wavelength requests at the logical layer that have to be protected (or more generically, whose availability target has to be guaranteed), but also have to be groomed for an efficient use of network resources. An integrated multilayer approach is necessary that considers requirements and grooming of connections at the logical layer as well as their routing and availability at the physical layer. Joint availability-guaranteed routing and traffic grooming may lead to a negative interaction, since the objective of the first problem (guaranteeing a given level of availability to the connections) clashes with the objective of the other problem (minimizing resource consumption). For a multilayer WDM mesh network, we propose new multilayer routing strategies that perform effective availabilityguaranteed grooming of sub-wavelength connections. These strategies jointly Netw Syst Manage (2012) 20:34-55 DOI 10.1007 considers connection availability satisfaction and resource optimization and are developed under two different practical hypotheses: guaranteed target, i.e., a connection is routed only if its availability target is satisfied, and best-effort target, a connection is always routed and, when the availability target cannot be guaranteed, the path with the best possible availability is provisioned. Numerical results are reported and discussed for the two approaches mentioned above. In both cases, the results show high effectiveness of our provisioning strategy. avelength-division multiplexing (WDM) technology enables the provisioning of a huge amount of bandwidth in optical transport networks. Today's WDM systems typically transport 10 Gbps (OC-192) over a single wavelength. Systems at 40 Gbps (OC-768) are also being introduced. Given the high bit rates transported over optical WDM networks, efficient survivability mechanisms are needed to avoid a failure of a network element that may cause a large amount of data loss. This may cause a significant loss of revenue for the customer, to be reclaimed from the Service Provider (SP).. On the other hand, as WDM technology matures, there exists a large gap between the capacity of a WDM channel (as mentioned before, up to OC-768) and the bandwidth requirement of a typical connection request (e.g., STS-1, OC-3, OC-12, etc.). Traffic grooming refers to the problem of efficiently multiplexing a set of lowspeed connection requests onto high-capacity channels and intelligently switching them at intermediate nodes [1] . Optical switching elements such as Optical Cross Connects (OXCs) and Reconfigurable Optical Add-Drop Multiplexers (R-OADMs), traditionally devoted to fiber or wavelength switching, if properly interfaced with electronic routers (either IP-MPLS routers or SDH, ATM switches) can allow to efficiently (de)multiplex and switch the low-speed connection requests onto highcapacity channels. Multilayer switches also enable the capability of applying protection either at the electronic or at the optical layer, leading to an optimization of backup resources. Past research on traffic grooming has already explored possible solutions for multilayer protection, where the entity to be protected can be either the lightpath, at the optical layer, or the connection, at the electronic layer [2] [3] [4] .. However, while grooming low-speed connection requests onto high-capacity channels, provisioning the bandwidth required by the connection (while efficiently exploiting the network capacity) should not be the only target to satisfy. In fact, in today's bandwidth markets, for each connection request an availability target (and the associated penalties to be paid if it is not met) is usually specified in Service Level Agreements (SLAs) stipulated between the SP and its customers. Hence, the SP should be able to provide different levels of protection, according to the required availability level, and manage its resources while pursuing the twofold goal to avoid penalties and to increase the profit, i.e., maximizing the number of connections (or bandwidth) provisioned. Multilayer protection techniques supporting differentiated services have also been proposed to achieve this goal [5] [6] [7] [8] [9] .. In this work, we present novel availability-guaranteed provisioning frameworks, generically referred to as Availability Guaranteed Protection-at-Connection (AGPAC), to route sub-wavelength connections with dedicated or shared multilayer protection and wisely manage the availability targets. Our grooming approach is availability-aware; this feature allows to solve some peculiar interactions between availability-guaranteed provisioning and traffic grooming, which, if neglected, will compromise the effectiveness of availability-agnostic approaches.. We have developed our approaches under two different practical hypotheses: guaranteed SLA, i.e., a connection is routed only if a path that satisfies its availability target can be found; and best-effort, i.e., a connection is always routed in the attempt to satisfy its SLA target, but, when the availability target can not be guaranteed, the path with the best possible availability is provisioned. For a typical backbone network, we obtained significant savings on both the availability satisfaction rate and on the resource consumption compared to traditional multilayer protection schemes.. The rest of this paper is organized as follows. Section 2 overviews some previous work on the topic. Section 3 introduces the problem of multilayer protection with availability guarantees. In Sect. 4, new availability-aware multilayer provisioning algorithms are proposed, called AGPAC and AGPAC-, in both the ''guaranteed SLA'' and ''best-effort'' cases. Section 5 evaluates by simulation the performance of AGPAC compared to traditional algorithms. Section 6 draws the conclusion of the paper. An ''Appendix'' is finally dedicated to explain our choice for a specific analytical formulation for availability evaluation in case of protection with shared backup resources. We proposed and investigated a novel dynamic provisioning strategy with differentiated service in a multilayer mesh network, e.g., an MPLS-over-WDM mesh network. The provisioning strategy captured the essence of both availability guarantee and effective resource sharing. By extensive simulative experiments, we demonstrated that our proposed provisioning strategy, called Availability Guaranteed Protection-at-Connection (AGPAC), can guarantee a 100% Availability Satisfaction Rate (ASR) by employing a little extra resources, compared to general protection-at-connection schemes such as, PAC or SPAC, that are unaware of connection-availability constraints. AGPAC also achieved resource-usage optimization due to differentiated services. The performance of our provisioning strategy indicated that both resource-utilization optimization and connection-availability guarantee can be achieved by considering them jointly in our algorithm.

B I 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 B O O O O O O O O O O O B I O O O O B 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 B 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 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 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 I 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 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 B 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 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


Using Visual Context and Region Semantics for High-Level Concept Detection Abstract-In this paper we investigate detection of high-level concepts in multimedia content through an integrated approach of visual thesaurus analysis and visual context. In the former, detection is based on model vectors that represent image composition in terms of region types, obtained through clustering over a large data set. The latter deals with two aspects, namely high-level concepts and region types of the thesaurus, employing a model of a priori specified semantic relations among concepts and automatically extracted topological relations among region types; thus it combines both conceptual and topological context. A set of algorithms is presented, which modify either the confidence values of detected concepts, or the model vectors based on which detection is performed. Visual context exploitation is evaluated on TRECVID and Corel data sets and compared to a number of related visual thesaurus approaches. Being an appealing research problem, detection of high-level concepts within multimedia content is, in principle, a bottom-up approach. It focuses on local analysis to detect and recognize specific objects within an image, without utilizing explicit knowledge of the surrounding context (e.g., recognize a building or a tree). Acknowledging the need for providing such an analysis, many research efforts set focus on low-level feature extraction in a way to efficiently describe the various audiovisual characteristics of a multimedia document. However, the "semantic gap" often characterizes the differences between descriptions of a multimedia object by different representations and the linking from the low-to the high-level features. Moreover, the semantics of each object depend on the context it is regarded within. For multimedia applications this means that any formal representation of real-world analysis and processing tasks requires the translation of high-level concepts and relations (e.g., in terms of valuable knowledge) into the elementary and extensively evaluated characteristics of low-level analysis, such as visual descriptions and low-level visual features.. When focusing solely on the visual part of the analysis phase, it is true that high-level concept detection remains still an unsolved research task. Its two main and most interesting aspects appear the selection of the low-level features that will be extracted and the approach that will be used for assigning these low-level descriptions to high-level concepts. Plenty of works exist towards the solution of this problem. In [42] , a multimedia analysis and retrieval system using multimodal machine learning techniques in order to model semantic concepts in video is presented. In [55] , the structure of a scene image is estimated by the mean of global image features and is used to enhance object recognition in natural scenes. Some further research works fall in the category of the "bag-of-words" approach. There, an image is decomposed to a set of "visual words" derived after clustering or segmentation of the input image. Souvannavong et al. in [67] and [68] use a region-based approach in content retrieval that uses Latent Semantic Indexing (LSI) techniques. In [60] , low-level features are extracted by segmented regions of an image, utilizing a mean-shift algorithm in the process. In [22] , images are partitioned in regions, regions are clustered to obtain a codebook of region types, and a bag-of-regions approach is applied for scene representation. Moreover, in [27] , the classification process starts with the extraction of Local Interest Points based on the extraction of SIFT features, quantized using a visual dictionary. Boujemaa et al. [6] present a hybrid thesaurus approach, whereas in [14] , visual categorization is achieved using a bag-of-keypoints approach. In [56] , the authors train separate shape detectors using a shape alphabet, which is actually a dictionary of curve fragments. A lexicon-driven approach, used within an interactive video retrieval system, is presented by Snoek et al. in [66] and [65] . Finally, in [34] , an approach for texture and object recognition is presented. Therein, textures are represented using a visual dictionary found by quantizing appearance-based descriptors of local features.. In the field of segment-based image annotation, several research approaches adopt part-based visual features, either grids ( [21] , [29] , [36] ) or segmented regions ( [3] , [26] , [28] ), but they do not aim to establish the correspondences between individual parts and semantic labels. Fan et al. [18] and Yang et al. [85] have proposed different approaches for image-level annotation by firstly establishing correspondences between salient (or representative) regions and semantic labels. In [40] , an exemplar-based algorithm for detection and segmentation is presented, while in [23] , an approach to include contextual features for labeling images is discussed. There each pixel is assigned to one of a finite set of labels using multiscale conditional random fields. The advanced problem of image segmentation and region labeling is tackled in [83] . Therein, after an initial over-segmentation step, model-based recognition techniques are used to refine segmentation and to detect several concepts. Moreover, in [58] , an object class recognition and segmentation system is presented. It is trained using weakly supervised training data, with the goal of examining the influence that different model choices can have on its performance.. On the other hand, both current and prior research activities focus either on low-or high-level interpretations in a totally discriminated manner. However, this kind of approach alone is not considered to be enough for efficient multimedia processing. Contextual information in terms of specific concepts, objects and events (e.g., typically present in an outdoor scenery) could be a considerable source of useful information [77] . A significant number of misclassifications usually occur because of the similarities in low-level characteristics of various object types and the lack of such high-level contextual information underlies as the major limitation of individual object detectors. Generic algorithms for automatic object recognition, region-level annotation, object recognition ( [12] , [15] , [62] ) and scene classification [75] are unfortunately not producing reliable results. Moreover, restricting the problem at hand to a specific domain of interest does not provide a global and thus satisfactory solution.. The introduction of contextual information in the above processes is not a straightforward task. As can be found in the literature, the term context [44] may be interpreted and even defined in numerous ways, varying from the philosophical to the practical point of view [35] . It can take on many meanings and there is not one definition that is felt to be globally acceptable and that covers all the ways the term is used [16] . The notion of visual context is introduced in [49] , [77] and [51] , as an extra source of information for both object detection and scene classification. An ontology-based classification scheme is presented in [84] . There it is shown that ontology-based concept learning improves the accuracy of a concept by considering the possible influence relations between all concepts based on a predefined ontology hierarchy. Fan et al. [20] built a concept ontology using both semantic and visual similarity, in an effort to exploit the inter-concept correlations and to organize the image concepts hierarchically. In the process, they tried to effectively tackle the problem of intra-concept visual diversity by using multiple kernels. Moreover, in [19] , they propose an algorithm called "product of mixture-experts" in order to model the contextual relationships between image concepts and several patterns of the relevant salient objects, with whom they co-appear.. Spatial relations among objects and regions appear also crucial in the concept detection process. In [25] an ontology of spatial relations is proposed that aims to facilitate image interpretations. In [87] , an attempt to exploit spatial context constraints for automated image region annotation is conducted, utilizing topological relationships between regions in the same scene. Lipson et al. [37] presented earlier another spatial context modelling approach, called configuration-based scene modelling, suitable for content-based indexing and retrieval. Two further models of spatial context-aware object detection have been developed by Singhal et al. in [62] and by Boutell et al. in [10] . The former proposes a generic outdoor-scene model, whereas the latter one is specific to individual representative scene types (such as beach, mountain or city scenery). Moreover, in [86] , multiple class object-based segmentation is achieved using the appearance and bag-of-keypoints models, integrated over meanshift patches. The spatial relationships of keypoints are modeled and the Elliptical Fourier Descriptor is used to describe the global shapes.. An extension of Murphy's work presented in [38] was the additional use of temporal context, as given by the dependence between images captured within a short period of time [11] . In applications involving image collections, images are expected to be clustered sequentially, thus allowing surrounding images to be used as temporal context (e.g., family vacation photos). A general probabilistic temporal context model is also proposed in [9] , where a first-order Markov property is utilized to integrate temporal context sequences. In principle, temporal context plays a significant role among different approaches varying from active object recognition [57] to temporally related events within natural language texts [47] . Another form of context, the so called imaging context, dealing with camera metadata tags about scene capture properties (e.g., EXIF [17] exposure time) is utilized in [7] to aid in a number of multimedia analysis problems, including indoor-outdoor classification and event detection. Finally, the approach proposed by Vailaya et al. [80] brings up the issue of utilizing context orientation information in object detection algorithms. However, this task is generally avoided due to the fact that such information is not always available and performance of classification algorithms is more than adequate despite this shortcoming.. According to the previous statements, visual context is strongly related to the core problem of image analysis, namely high-level concept detection. A significant number of misclassifications usually occur because of the similarities in low-level color and texture characteristics of various object types and also the lack of contextual information, which is a major limitation of individual object detectors. A lot of attention has been given among researchers on modeling relationships between objects and regions ( [23] , [32] , [79] ) or objects and other objects, e.g., in [33] or [76] , where specifically an object detection and segmentation scheme is assisted by contextual information of other objects. Even a mechanism for estimating 3D scene geometry from a single image and use this information as additional improvement to object detection has been proposed by Hoiem et al. [24] . Towards the improvement of current object detectors, an interesting approach is the one presented in [39] . A spatial context-aware object-detection system is proposed, initially combining the output of individual object detectors in order to produce a composite belief vector for the objects potentially present in an image. Furthermore, in [61] , Shotton et al. create a discriminative model of object classes by capturing simultaneous appearance, shape and context information. Subsequently, spatial context constraints, in the form of probability density functions obtained by learning, are used to reduce misclassification by constraining the beliefs to conform to the spatial context models. Unfortunately, such an approach alone is still not considered globally sufficient, as it does not utilize the significant amount of available useful knowledge in the form of semantic or topological relations.

O B I 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 B I 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 B I 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 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 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 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 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 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 B I 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