An improved algorithm to accelerate regular expression evaluation Modern network intrusion detection systems need to perform regular expression matching at line rate in order to detect the occurrence of critical patterns in packet payloads. While deterministic finite automata (DFAs) allow this operation to be performed in linear time, they may exhibit prohibitive memory requirements. In FAs), which provide a trade-off between the memory requirements of the compressed DFA and the number of states visited for each character processed, which corresponds directly to the memory bandwidth required to evaluate regular expressions.In this paper we introduce a general compression technique that results in at most 2N state traversals when processing a string of length N. In comparison to the D 2 FA approach, our technique achieves comparable levels of compression, with lower provable bounds on memory bandwidth (or greater compression for a given bandwidth bound). Moreover, our proposed algorithm has lower complexity, is suitable for scenarios where a compressed DFA needs to be dynamically built or updated, and fosters locality in the traversal process. Finally, we also describe a novel alphabet reduction scheme for DFA-based structures that can yield further dramatic reductions in data structure size. Signature-based deep packet inspection has taken root as a dominant security mechanism in networking devices and computer systems. Most popular network security software tools-including Snort [10] [11] and Bro [12] -and devices-including the Cisco family of Security Appliances [13] and the Citrix Application Firewall [14] use regular expressions to describe payload patterns. In addition, application-level signature analysis has been recently proposed as an accurate means to detect and track peer-to-peer traffic, enabling sophisticated packet prioritization mechanisms [17] .. Regular expressions are more expressive than simple patterns of strings and therefore able to describe a wider variety of payload signatures, but their implementations demand far greater memory space and bandwidth. Consequently, there has been a considerable amount of recent work on implementing regular expressions for use in high-speed networking applications, particularly with representations based on deterministic finite automata (DFA).. DFAs have attractive properties that explain the attention they have received. Foremost, they have predictable and acceptable memory bandwidth requirements. In fact, the use of DFAs allows one single state transition, and one corresponding memory operation, for each input character processed. Moreover, it has long been established that, for any given regular expression, a DFA with a minimum number of states can be found [3] . Even so, DFAs corresponding to large sets of regular expressions containing complex patterns can be prohibitively large in terms of numbers of states and transitions. Two recent proposals have tackled this problem in different ways, both trading memory size for bandwidth.. First, since an explosion in states can occur when many rules are grouped together into a single DFA, Yu et al. [15] have proposed segregating rules into multiple groups and evaluating the corresponding DFAs concurrently. This solution decreases memory space requirements, sometimes dramatically, but increases memory bandwidth linearly with the number of concurrent DFAs. For example, using 10 DFAs in parallel requires a ten-fold increase in memory bandwidth. This characteristic renders the approach infeasible for large rule-sets that must be stored in off-chip memories.. The second approach leverages the observation that the memory space required to store a DFA is a function of the number of states and the number of transitions between states. While the number of states can be minimized as a matter of course, the space needed to encode transitions can be reduced well beyond that of a straightforward representation. Kumar et al. [9] observe that many states in DFAs have similar sets of outgoing transitions. Substantial space savings in excess of 90% are achievable in current rule-sets when this redundancy is exploited. The proposed automaton, called a Delayed Input DFA (D 2 FA), replaces redundant transitions common to a pair of states with a single default transition. However, as explained in detail later, the use of default transitions implies that multiple states may be traversed when processing a single input character. In fact, the D 2 FA approach requires a heuristic construction algorithm to bound the length of default transition chains in order to keep the memory bandwidth feasible. The original D 2 FA heuristic has three weaknesses: 1) it requires a user-provided parameter value to operate which can only be determined experimentally for a given rule-set, 2) it creates a data-structure whose worst-case paths may be traversed for each input character processed, and 3) it requires multiple passes over large support data structures during the construction phase.. In this paper, we propose an improved yet simplified algorithm for building default transitions that addresses these problems. Notably, our scheme results in at most 2N state traversals when processing an input string of length N, independent of the maximum length of the default transition chain. On practical data sets, the level of compression achieved is similar than the original D 2 FA scheme, while providing a superior worst-case memory bandwidth bound. Moreover, when the D 2 FA scheme was configured to guarantee the same worst-case memory bandwidth bound than our algorithm, it produced a compression level about a factor of 10 smaller.. Our approach is based on a simple observation: all regular expression evaluations begin at a single start state, and the vast majority of transitions between states lead back to the start state or its near neighbors. As will be seen, this simple observation explains the extraordinary redundancy among state transitions that is exploited in an oblivious manner by the D 2 FA technique. Furthermore, by formalizing the notion of state depth to quantify a state's distance from the start state, it is possible to construct nearly optimal default paths with a far simpler algorithm. By leveraging depth directly during automaton construction, greater efficiency and simplicity are achieved.. In describing our algorithm, we emphasize a number of details that relate directly to its practical implementation. First, we show that the algorithm can be incorporated directly into DFA generation-that is, into the NFA to DFA subset construction operation-which eliminates the need to either first generate a perhaps unfeasibly large uncompressed DFA prior to compression or to maintain the large support data structures required for subsequent DFA compression. This both allows larger rule-sets to be supported and decreases the cost of supporting frequent rule-set updates.. Our discussion also encompasses data structure encoding details. Most notably, we describe a novel scheme for alphabet reduction that can be applied to any DFA-based automaton. By selectively assigning characters to classes based on their common use as edge labels, both the number of transitions and the number of bits needed to label all edges uniquely are dramatically reduced. This approach yields further data size reductions by factors ranging from 2 to 10 in real-world rule-sets.. To our knowledge, the two primary contributions made in this paper-depth-driven default path construction and class-based alphabet reduction-represent the most efficient and practical proposals to date for regular expression evaluation in high-speed networking contexts.. The remainder of this paper is organized as follows. In section 2, we give an overview of the D 2 FA technique by way of an example. In section 3, we present our algorithm for building default transitions and compare it with the original proposal in [9] . In section 4, we present a general coloring algorithm for alphabet reduction and further reduce the number of DFA transitions. In section 5, we discuss several encoding schemes which can be used to represent the compressed D 2 FA. In section 6, we present an experimental evaluation on data-sets used in the Snort and Bro tools and also in the Cisco security appliance. We then relate our work to the state of art (section 7) and conclude (section 8). In summary, in this work we propose a compression technique for DFAs which ensures at most 2N state traversals when processing a string of length N. Experiments on practical data-sets from several network intrusion detection systems show a level of compression comparable to that of D 2 FAs [9] with the advantage of a provably better worst case bound on the processing time.. In addition to the strong quantitative performance results, the proposed scheme has substantial qualitative benefits, including greater generality, simplicity and lower complexity. In contrast to related work, the algorithm can be used also in scenarios where a DFA needs to be built dynamically or updated often. Finally, by fostering locality during traversal, the scheme is amenable to implementation in processor-based networking systems, such as Cisco's Silicon Packet Processor [25] and Intel's IXP network processors [1] , where caches or fast memories are closely coupled to each processor core. The compression scheme proposed in this paper and the one proposed in [9] (and summarized in section II) can be compared from several perspectives. The goal of this section is to qualitatively summarize the most important points. An experimental evaluation of the two on practical rule-sets is presented in section VII. In this section, we describe the D 2 FA approach and explain its compression algorithm. For a more detailed description, the interested reader can refer to [9] .. The basic goal of the D 2 FA technique is to reduce the amount of memory needed to represent all the state transitions in a DFA. This is achieved by exploiting the redundancy present in the DFA itself. To see how, consider a DFA with N states representing regular expressions over an alphabet Σ with cardinality |Σ| will contain N*|Σ| next state transitions. The authors of [9] observe that, in the case of practical rule-sets from commonly used network intrusion detection systems, many groups of states share sets of outgoing transitions. This redundancy can be exploited as follows. Suppose that states s 1 and s 2 transition to the same set of states S={s i ,...,s k } for the same set of characters C={c i ,...,c k }. In this situation, the common transitions to s 1 and s 2 can be eliminated from one of the two states, say s 2 , by introducing an unlabeled default transition from s 2 to s 1 . State s 2 will then contain only |Σ|-|S| labeled transitions which are not in common with s 1 . An example is shown in Figure 1 .. During the string matching operation, the traversal of the compressed DFA will be performed according to the traditional AhoCorasick algorithm [1] , treating default transitions as failure pointers. In the example, if state s 2 is visited on input character c, all its outgoing labeled transitions are first considered. If a labeled transition for character c exists, it is taken and determines the next state. Otherwise, the default transition (which leads to state s 1 ) is followed, and state s 1 is inspected for character c. Notice that s 1 may or may not contain a labeled transition for character c. In the latter case, a default transition is followed again until a state containing a labeled transition for the current input character c is found. Thus, the number of state traversals involved in processing a character depends on the length of the default transition chains present in the D 2 Sommer and Paxson [20] were among the first to point out that the use of regular expressions can be substantially more effective than exact-match strings when specifying attack signatures.. In addition to the proposals already described, work in accelerating regular expressions has focused essentially on two distinct directions: FPGA-based implementations [21] [22] [23] and software-oriented approaches. The latter are amenable for deployment on general purpose processors or on small on-chip lookup engines coupled with off-chip memory banks [10] [12] [18] [9] [15] [16] . The work presented in this paper locates itself in this second category.. In the context of FPGA implementations, Sidhu and Prasanna [21] showed that, if each state is encoded through a flip-flop, regular expression matching can be performed using a non deterministic automaton (NFA) in linear time, without encountering the state blowup issues related with the use of DFAs. Complexity is moved into the necessity to properly route signals on the FPGA. Some advantages of software-based solutions are: their versatility, their limited cost of implementation, and the fact that they can be run at the higher clock rates associated with processors.. In order to achieve deterministic performance, a software-based solution must make use of DFAs, whose size can grow exponentially with the complexity of the regular expressions they recognize. Memory requirements, both in terms of occupancy and bandwidth, play an essential role in bounding the performance of these systems. As discussed, effective compression techniques [9] [15] [16] to handle this problem have been proposed. This work represents a refinement and, in a sense, a generalization of the compression scheme proposed in [9] . While the concept of a space reduction graph is useful to relate this problem to the one solved in [9] and to help find an optimal solution to it, a support graph data structure is not really needed to find the maximum spanning tree. In fact, the whole problem is reduced to having each state select the state with lower depth having the most number of outgoing transitions in common with it. In the case of ties, preference is given to the smaller depth. This limits the default transition path length and enforces locality during traversal. If the DFA traversal is performed in a breath-first fashion, both the default transitions and the depth computations can be done in a single pass, as shown in the pseudo-code above. The DFA is described in terms of the number of states n and of the function δ(states,∑)→states, which associates a next state to each (state, character) pair. A queue is introduced to implement the breath-first traversal. Notice that when a state s is extracted from the queue, all the states with a smaller depth have already been processed, and therefore the depth vector will contain a correct value for them. States with a higher depth can be ignored (initializing their depth to n will therefore ensure correct operation). While not shown in the pseudo-code, the removal of the redundant labeled transitions can also be performed in the same pass.. Similarly, this same algorithm can be combined with subset construction (i.e., the NFA-to-DFA transformation used to create an initial DFA) so to generate default transitions directly during DFA creation. In fact, it is enough to ensure that new DFA states are queued according to increasing depth, as is done above. The generation of an initial compressed DFA eliminates the need to first construct an uncompressed one; we consider this issue concretely in Section 3.4.2.

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


Wearable sensing to annotate meeting recordings Abstract Interestingly, about 500 Tera Bytes of storage are sufficient to record all audio-visual information a person perceives during an entire lifespan 1 . This amount of storage will be available even for an average person in the not so distant future. A wearable recording and computing device therefore might be used to 'remember' any talk, any discussion, or any environment you saw.. Today however, the usefulness of such data is rather limited by the lack of adequate methods for accessing and indexing large audio-visual databases. Interestingly, humans not only remember events and retrieve memories based on information such as time, date, location, or content of a discussion. But humans use additional and personal experience and contextual information to remember and retrieve memories. In this paper we propose to use wearable sensors in order to enhance the recorded data to allow associative access.. In that context, wearable computers are particularly interesting since they allow a truly personal audio-visual record of the environment of a person. Using a hat-or glassmounted camera and microphones attached to the chest or shoulders of the person enable a recording from a firstperson perspective. Additionally, wearable sensors such as accelerometers and biometric sensors can enhance the 1 assuming a lifespan of 100 years, 24h recording per day, and 10 MB per min recording results in approximately 500 TB recording with additional, very personal information. That sensor information can be used to annotate and structure the data stream for later access.. Obviously, automatically annotating and structuring the entire life-record of a person is an extremely ambitious and probably too general problem. Therefore, this paper deals with a more specific problem, namely the annotation of meetings, which, in itself, presents a very diverse setting. Most of us have many, maybe too many meetings every week. Using a wearable to record such meetings won't make the meetings themselves more efficient. However, it may allow the user to recall who he encountered, who discussed, who agreed or disagreed, and which arguments each participant made. It may also make it easier to reconstruct which, why, and how a decision was taken.. Meetings may take place in a room instrumented with dedicated hardware. More generally however, meetings also take place outdoors or in a mobile setting. Further, important discussions may take place during the break or on the corridor. Wearable computers, which stay with the person all the time, are particularly well suited for this more general meeting scenario.. The contributions of this paper are firstly the discussion of possible annotations of a meeting recording so as to facilitate associative retrieval (section 3). Secondly we investigate the use of audio data (section 4) and accelerometer data (section 5) to automatically generate interesting annotations. The feasibility of such annotations is shown experimentally (section 6). Thirdly, we have designed and implemented a distributed accelerometer network so as to extract information about the user's movements and postures (section 5). Finally section 7 discusses the approach and gives a brief outlook. The idea of computer-based support for human memory and retrieval is not new. Lamming and Flynn for example point out the importance of context as a retrieval key [11] but only used cues like location, phone calls, and interac-tion between different PDAs. The conference assistant [5] supports the organization of a conference visit, annotation of talks and discussions, and retrieval of information after the visit. Again, the cooperation and communication between different wearables and the environment is an essential part of the system. Rhodes proposed the text-based remembrance agent [17] to help people to retrieve notes they previously made on their computer.. For speech recognition the automatic speech transcription of meetings is an extremely challenging task due to overlapping and spontaneous speech, large vocabularies, and difficult background noise [1, 2] . Often, multiple microphones are used such as close-talking, table microphones, and microphone arrays. The SpeechCorder project [8] for example aims to retrieve information from roughly transcribed speech recorded during a meeting. Summarization is another topic, which is currently under investigation in speech recognition [22] as well as video processing. We strongly believe, however, that summarization is not enough to allow effective and in particular associative access to the recorded data (see section 3). It should be noted that those methods are complementary to the proposed approach and should be integrated eventually.. Richter and Le [10] propose a device which will use predefined commands to record conversations and take lowresolution photos. At the university of Tokyo [20] researchers investigate the possibilities to record subjective experience by recording audio, video, as well as heartbeat or skin conductance so as to recall one's experience from various aspects. StartleCam [6] is a wearable device which tries to mimic the wearer's selective memory. The WearCam idea of Mann [13] is also related to the idea of constantly recording one's visual environment. We acquired audio and acceleration data to validate our idea and evaluate the methods described in sections 4 and 5.

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


Adaptive probability-based broadcast forwarding in energy-saving sensor networks Networking protocols for multihop wireless sensor networks (WSNs) are required to simultaneously minimize resource usage as well as optimize performance metrics such as latency and reliability. This article explores the energy-latency-reliability tradeoff for broadcast in WSNs by presenting a new protocol called PBBF. Essentially, for a given reliability level, energy and latency are found to be inversely related and our study quantifies this relationship at the reliability boundary. Therefore, PBBF offers an application designer considerable flexibility in the choice of desired operation points. Furthermore, we propose an extension to dynamically adjust the PBBF parameters to minimize the input required from the designer. Sensor nodes are inherently resource constrained. For example, an off-theshelf Mote (Crossbow Technology; go online to http://www.xbow.com.) has a lifetime of a few weeks (using a pair of standard AA batteries), short communication range distances, a 4-MHz processor, a few kilobytes of SRAM, and a few megabytes of Flash RAM. Offering better reliability and performance to a sensor network application (e.g., tracking, environmental observation) leads to greater usage and depletion of these resources. To support a wide variety of future applications, sensor networking technologies (hardware and software) will be required to provide enough flexibility for a designer to choose the appropriate operation point on the resource-performance spectrum.. In this article, we focus on the broadcast problem. Broadcast is useful to applications for disseminating sensor data, instructions, and code updates. Based on the specific application scenario, a broadcast protocol might be expected to satisfy different performance and resource usage requirements. For instance, for a query/response application, low latency might be critical for the operation of the network (e.g., less than 5 s in a 2-to 3-hop query area [Lu et al. 2005] ). However, depending on the extent of data correlation, reliability can be traded off for the sake of energy consumption. On the other hand, a code update requires all nodes to be updated fairly quickly to maintain a consistent code image, and, hence, high reliability and medium latency become a priority for broadcast (e.g., 1-2 min for a 10-hop network [Levis et al. 2004] ). For applications that can handle higher latency, energy consumption becomes a crucial factor determining network lifetime. Therefore, assuming an energysaving sensor network, our goal is to design a broadcast protocol that allows a range of operating points from which an application designer can choose. To this end, we study a probabilistic approach to exploring the resource-performance tradeoff for broadcast communication.. While some previous studies of probabilistic broadcast in wireless networks exist outside the MAC protocol [Haas et al. 2002] , we propose PBBF (Probability-Based Broadcast Forwarding), which works with the MAC protocol and can be integrated into any sleep scheduling mechanism. It must be noted that we do not propose a new MAC protocol in this article, but rather discuss a generic broadcast protocol that can be built into any MAC layer with an appropriate sleep scheduling strategy.. To address the energy constraints of battery-powered sensors, MAC protocols use a sleep mode, during which little power is consumed. Examples of such protocols include B-MAC [Polastre et al. 2004] , T-MAC [van Dam and Langendoen 2003 ], S-MAC [Ye et al. 2002] , and IEEE 802.11 PSM [IEEE 802.11 1999] . Based on the underlying sleep scheduling mechanism, at a given time, while some nodes are in active mode, others stay in sleep mode to save energy. PBBF can be added to such energy-saving MAC protocols via two new parameters: (1) p, which is the probability that a node rebroadcasts a packet immediately without ensuring that any of its neighbors are active, and (2) q, which is the probability that for a given node and a given time instant when it is supposed to be asleep based on its active-sleep schedule, the node instead stays awake in the expectation that it might be a receiver of an immediate broadcast.. Probabilistic broadcast schemes show threshold behavior; achieving a given level of reliability requires the probability of forwarding to be beyond a threshold. In Haas et al. [2002] , this behavior was shown using the site percolation model. However, their approach, referred to as Haas-Gossip in the rest of this article does not allow an energy-latency tradeoff. Based on our analysis using the bond percolation model, we show that the two knobs, p and q, introduced by the PBBF protocol can be tuned to explore the energy-latency tradeoff. Essentially, only for some regions of values of p and q is the threshold condition for very high reliability satisfied, and we characterize the energy-latency tradeoff primarily in this region. We find that, in order to achieve a given application-defined level of reliability for broadcasts (i.e., fraction of nodes receiving the broadcast), the energy required and the latency obtained in PBBF are inversely related. While the inverse relation is not surprising, we precisely quantify the tradeoff, which is essential to delineate tradeoff knobs for the application designer. Based on these knobs, other techniques, such as propagating k most recent broadcasts with each packet, can be used in conjunction with PBBF to boost the reliability level without having a significant impact on energy or latency. While understanding how to set these tradeoff knobs is valuable, it is also desirable to operate PBBF adaptively with minimal support from the application designer. To this end, we propose an extension to PBBF, adaptive PBBF, which automatically configures p and q parameters to satisfy QoS requirements (i.e., energy, latency, and reliability levels) defined by the application designer.. In summary, the key contributions of this article are (1) a new probabilistic protocol, PBBF, for broadcasting, (2) a precise analysis of the energy-latency tradeoff allowed by PBBF for different levels of reliability, (3) fine-grained MAClevel simulation results of PBBF quantifying performance numbers for a typical broadcast application, (4) evaluation of PBBF with two sleep scheduling mechanisms, (5) evaluation of PBBF in comparison to the Haas-Gossip protocol, (6) adaptive PBBF, which adjusts tradeoff knobs based on QoS specification, and (7) simulation results of adaptive PBBF illustrating p and q convergence under different conditions (e.g., different network topologies and QoS requirements).. The rest of the article is organized as follows. Section 2 discusses energyefficient communication in WSNs. In Section 3, we describe our proposed protocol, PBBF. An evaluation study of PBBF is presented in Section 4. Adaptive PBBF and its evaluation study are presented in Sections 5 and 6, respectively. Section 7 concludes the article and presents future directions of research. We have presented and evaluated through analysis and simulations the performance of a probabilistic broadcast protocol (PBBF) for multihop WSNs. We have quantified the energy-latency tradeoff at a given level of reliability using PBBF. This is attained by allowing an application designer to tune the values of parameters p and q while maintaining the value of 1 − p · (1 − q) above the threshold required to achieve very high reliability. We have implemented the PBBF protocol in ns-2 and studied its performance characteristics for a generic broadcast application. Our experiments indicate that PBBF is an efficient broadcast mechanism. PBBF provides an application designer the opportunity to tune the system to an appropriate operating point along the reliability-resource-performance spectrum. Furthermore, we proposed an extension to PBBF, adaptive PBBF, which dynamically adjusts p and q based on QoS specification determining any two of energy, latency, and reliability parameters. Our simulation study shows that adaptive PBBF successfully converges to an operating point that satisfies the application requirements reasonably fast and continues to improve performance based on the free parameter. Intuitively, if both α and β are approximately zero (using a hysteresis constant h), we can assume PBBF is able to provide the desired QoS. However, if E feedback is greater than E target , PBBF needs to decrease q to decrease Step size for q d p Step size for p α. Deviation from E target β Deviation from L target γ Deviation from R target h Hysteresis constant Fig. 17 . Algorithms Fixed-Energy-and-Latency (EL) and Fixed-Energy-and-Reliability (ER). In EL, reliability is the free parameter and p and q are determined based on E feedback and L feedback . In ER, latency is the free parameter and p and q are determined based on E feedback and R feedback .. energy consumption. On the other hand, if E feedback is less than E target , PBBF increases q to increase reliability, which is the free parameter. Given q, q new is calculated as. where d q is the step size for q, and g is the direction of the update (i.e., g = 1 for increase and g = −1 for decrease). The step size d q is initially set to 0.1. The step size continues to be updated based on the magnitude of difference between feedback and target parameters (see Figure 17) . PBBF adjusts p independently of q in a similar way. If L feedback is greater than L target , PBBF needs to increase p to decrease latency. On the other hand, if L feedback is smaller than L target , PBBF decreases p to increase reliability. Given p, p new is determined as follows:. where d p is the step size for p. The step size d p is initially set to 0.1, but is updated based on β (see Figure 17 ). It must be noted that, although q new impacts both energy and latency (see Equations (7) and (8)), this impact is ignored. Essentially, counting for such an impact requires estimating L 1 (i.e., the channel access time) and L 2 (i.e., the time it takes to wake up neighbors upon reception of a broadcast) in Equation (8), which poses a significant challenge. However, once the algorithm converges to the desired energy consumption, E target , it also converges to L target .

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


Experimental Investigation of an IR-UWB Positioning System with Comparators Impulse Radio (IR)-Ultra Wideband (UWB) enables accurate ranging due to very short duration pulses. Therefore, UWB may provide accurate positioning capability. In order to relax the complexity in circuit implementation, UWB system with low resolution analog digital converters (ADCs) has been investigated. In this paper, the accuracy of UWB positioning with comparators is investigated through experiment. The accuracy of positioning with comparators is compared to that with 8 [bit] ADCs, and effectiveness of the system with the comparators is confirmed within the area of 1.8 × 1.8 [m]. IR-UWB systems utilise very short pulse with the duration of less than 1 [ns] . The short duration of the UWB waveform enables the system to provide high data rate communication as well as accurate positioning. While the accuracy of conventional indoor positioning techniques such as the one with wireless LAN terminals is several meters, the accuracy of the UWB positioning is in the order of centimeters [1] .. However, due to the limitation of the transmission power, the UWB positioning system may be only for indoor applications. The existing narrowband radio systems (television broadcasting, wireless LAN, satellite, global positioning system, etc.) use the frequency band which overlaps with the band assigned for UWB. Therefore, the transmission power of the UWB radio systems is strictly regulated as less than −41.3 [dBm/MHz] for the protection of the existing narrowband radio systems. Thus, the transmission distance of UWB is limited and IR-UWB is expected to be employed in indoor positioning systems.. Researches on UWB positioning have been conducted and published. In [2] or [3] , the fundamental theory of UWB localization has been presented. From a practical point-of-view, IR-UWB has been a candidate for RF tag applications with locating capability in IEEE802.15.4a [4] . IEEE 802.15.4a is the standardization group working on a new physical layer for low data rate communications for location-aware networking.. One of the problems regarding UWB positioning is implementation of its circuits. IR-UWB systems require syn- chronization circuits with the accuracy of tens of picosecond [5] . It is very difficult to design and control the characteristics of analog circuits with such accuracy. On the other hand, if the UWB signal is processed in digital domain, an ADC with very high sampling rate and high resolution is required, and the cost and power consumption of the ADC may be significantly high. IR-UWB positioning systems with high speed and low resolution ADCs have been proposed in the previous researches to relax the requirement in complexity. Relative distance measurement with 1.5 [bit] ADC has been investigated in [6] and [7] . Accuracy of the system has been investigated through computer simulation in [6] , and the combinations of transmission and reception antennas have been evaluated with the measured signal waveforms in [7] . In [9] and [10] , ranging with a high speed comparator has been investigated. [9] has concluded that precise raging is possible with rectangular template signal and a comparator for signal detection if the transmitter and the receiver are synchronized. [10] has shown that the accuracies of ranging with a 8 [bit] ADC and a comparator are equivalent. In [11] , a UWB positioning system with high speed comparators has been presented.. In this paper, UWB positioning with comparators is evaluated through the experiment. To extend from [9] and [10] , the accuracy of positioning with 8 [bit] ADCs or comparators are compared. In addition, since the sampling speed of the ADC limits the resolution of position estimation, the possible estimated positions of the transmitter can be obtained. Thus, the modal value of the estimated positions is then calculated. The proposed system solves the equation with Newton-Raphson method and estimates the position of the transmitter with One Way Ranging-Time Difference of Arrival (OWR-TDOA) [4] . OWR-TDOA is employed as it is one of the typical algorithm for positioning and has been discussed in IEEE TG4a. The accuracy of positioning with comparators is compared to that with 8 [bit] ADCs. It is confirmed that the accuracy with the low resolution comparators is slightly lower than that with 8 [bit] ADCs. board, and is directly transmitted through a monopole Tx antenna. The pulse signal is received by the Rx antenna and amplified by the low noise amplifier (LNA) on each receiver branch. Finally, the pulse signal is converted to 1 [bit] digital data by the comparator. Based on TDOA, the position of the transmitter is estimated by the processing unit. The experimental UWB positioning system has been built and the accuracy of the system has been measured. The proposed system detects the UWB pulse signal with the comparators and estimates the position of the transmitter through the OWR-TDOA technique. The accuracy of the estimated positions is at the order of tens of centimeter within the area of 1.8 × 1.8 [m] . In this measurement conditions, the system with comparators has achieved comparable accuracy with the system with ADCs of 8 [bit] resolutions.

O O O O B 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 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 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 B 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 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 B 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 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 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 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 performance evaluation of pointer-based joins ABSTRACT -In this paper we describe three pointer-based Jam algorithms that are simple varnmts of the nested-loops, sortmerge, and hybrid-hash Jam algorithms used m relational database systems Each Jam algonthm 1s described and an analysis 1s camed out to compare the performance of the pointer-based algonthms to their standard, non-pomter-based counterparts The results of the analysis show that the pomter-based algorithms can provide slgmficant performance gams m many sltuatlons The results also show that the pomter-based nested-loops Jam algorithm, whch 1s perhaps the most natural pointer-based Jam algorithm to consider usmg m an obJect-onented database system, performs quite poorly on most medium to large Jams Most semantic and oblect-oriented data models mclude the notion of reference attributes or ObJect-valued attributes (e g , [Shlp81, Zam83, Care88, K&39, Deux901) Semantic and oblect-onented database systems typically nnplement such attnbutes with pomters or object ldentlfiers (OIDs) OIDs can be purely logical, but often they have a physical component [Chan82. Care89, Vele89, Deux90] Relational database systems also support the notion of phystcal pointers m the form of record identifiers (RIDS) These are generally used to unplement mdexes and various internal data structures, but they can also be used to provide efficient support for referential mtegnty and certam kmds of JOII-IS [Care90, HaaBO] In view of the fact that physical pomters are supported by a variety of database systems, it seems appropriate to examme how such pomters can be used m query processing. In this paper we descnbe how pointers can be used to process Join queries We describe three pointer-based JO" algorithms that are sunple variants of the well known nested-loops, sortmerge, and hybrid-hash Jam algonthms [Blas77, Shap86] The algonthms we describe can be utlhzed m any database system where physical pomters are used to lmk records or objects together In a relational system, our algorithms would presumably be used to process foreign-key JOUIS whenever the relations Tbts research was paltlally supported by the Defense Advanced Research Projects Agency under contract NOOO14-85-K-0788, by the Nauonal Sctence Foondatton under grant IRI-8657323, by DEC through its Incentives for Excellence program, and by a donation from Texas Instmments Permwon to copy wthout fee all or part of this mater4 II granted prouded that the COMES are not made or dwtnbuted for dnrect wmmeraal advantage, the ACM cqyght notwe and the title of the pubbcatlon and ,ts date appear, and notm IJ gnw that copyng IJ by pemuwon of the Assonat~on for Computmg Machmy. To copy otbenwe or to repubbsb requ,res a fee and/or spatic pmm.wm 0 1990 ACM 089791365 5/'%/ooo5/0300 $150 bemg Joined are lmked mtemally by RIDS to provide support for referenhal mtegnty or pomter-based JOUE (e g , as described m [Care90, Haas90]) And m semantic and object-onented database systems, our algonthms would presumably be used to process functional JOIE?, that 1s, JOIIIS between SHS that are lmked together by object-valued attibutes or OIDs. The remamder of thus paper examines the three pointer-based JOIII algonthms mentioned above m some detiul Each algorithm 1s described,, and then an analytical model 1s employed to compare the performance of the pomter-based algorithms to then standard, non-pomter-based counterparts Results are presented for large, full-relation JOIIU and small to medium-sized Joins with a selechon predicate The rest of this paper 1s organized as follows Section 2 illustrates the type of Jams that will be analyzed and provides examples of how such ~01"s arse m relatIonal and object-oriented database systems In Secuon 3, descnptions of the Join algorithms that will be analyzed are given Then m Section 4, the pomterbased algonthms are analyzed and compared to their standard, non-pomter-based counterparts Related work 1s mentioned m Sechon 5, and conclustons are finally drawn 111 Section 6

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


Approximate greatest common divisor of many polynomials, generalised resultants, and strength of approximation .The computation of the Greatest Common Divisor (GCD) of many polynomials is a nongeneric problem. Techniques defining "approximate GCD" solutions have been defined, but the proper definition of the "approximate" GCD, and the way we can measure the strength of the approximation has remained open. This paper uses recent results on the representation of the GCD of many polynomials, in terms of factorisation of generalised resultants, to define the notion of "approximate GCD" and define the strength of any given approximation by solving an optimisation problem. The newly established framework is used to evaluate the performance of alternative procedures which have been used for defining approximate GCDs. The notion of the approximate GCD of many polynomials has been introduced and its strength has been shown to be equivalent to a distance problem. The overall framework is based on the representation of GCD in terms of the properties of generalised resultants, and in particular in terms of the factorisation of the resultant into a reduced Sylvester resultant and a Toeplitz matrix representing the GCD. The advantage of the current approach is that it permits the parametrisation of all perturbation polynomials that lead to a set with a given GCD and thus allows the formal definition of the strength of the approximation as the "norm" of the minimal perturbation. The emphasis here has been on the setting up of a framework that allows the "strength" of the approximation which produce "approximate GCDs", rather than introduce new "approximate GCD" algorithms. The approach however, provides the means for defining the "best" approximate GCD in terms of the same optimisation formulation. The study of the specific structure and properties of the optimisation problem and the computation of the optimal "approximate GCD" is currently under study.

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


Subband Domain Coding of Binary Textual Images for Document Archiving Abstract-In this work, a subband domain textual image compression method is developed. The document image is first decomposed into subimages using binary subband decompositions. Next, the character locations in the subbands and the symbol library consisting of the character images are encoded. The method is suitable for keyword search in the compressed data. It is observed that very high compression ratios are obtained with this method. Simulation studies are presented.Index Terms-Binary image coding, binary subband decomposition, document retrieval, textual image compression.Efficient compression of binary textual images is an important problem in many applications such as document archives and digital libraries. A textual image typically consists of repeated patterns that are mostly characters and punctuation marks. Exploiting the redundancy of character repetitions is the key feature of the document image coding algorithms [2]- [7] , which identify the locations of the characters in the image and replace them by pointers into a codebook of characters.The main steps of a typical textual image compression (TIC) method can be summarized as follows.1) Find and extract a character in the image.2) Compare it with the symbol library consisting of the separate character images. 3) If the character exists in the symbol library, take the location only, otherwise add it to the library. 4) Compress the constructed library and the symbol locations. 5) A further step is proposed by Witten et al. [6] who encode the residue image so that lossless compression can be achieved. In this paper, a subband domain textual image compression method is developed. The method consists of two stages as shown in Fig. 1 . In the first stage, the document image is decomposed into subimages using a binary subband decomposition structure. The second stage of the algorithm consists of encoding the repetitions of the character images in the subband domain. In Section II, binary subband decomposition methods are reviewed. Encoding of the subband character images is described in Section III and it is experimentally observed that the subband domain method produces higher compression results than regular methods. Furthermore, the computational cost of encoding Manuscript received March 14, 1997; revised December 14, 1998. This work was supported by the Turkish Scientific and Technical Research Council BDP program and the National Science Foundation under Grant INT-9406954. The associate editor coordinating the review of this manuscript and approving it for publication was Dr. Christine Podilchuk.O. N. Gerek was with Bilkent University, TR-06533 Bilkent, Ankara, Turkey. He is now with the Signal Processing Laboratory, Swiss Federal Institute of Technology, CH-1015 Ecublens, Switzerland (e-mail: gerek@ltssun2.epfl.ch), on leave from Anadolu University, Eskişehir, Turkey.A. E.Çetin is with the Efficient compression of binary textual images is an important problem in many applications such as document archives and digital libraries. A textual image typically consists of repeated patterns that are mostly characters and punctuation marks. Exploiting the redundancy of character repetitions is the key feature of the document image coding algorithms [2] - [7] , which identify the locations of the characters in the image and replace them by pointers into a codebook of characters.. The main steps of a typical textual image compression (TIC) method can be summarized as follows.. 1) Find and extract a character in the image.. 2) Compare it with the symbol library consisting of the separate character images. 3) If the character exists in the symbol library, take the location only, otherwise add it to the library. 4) Compress the constructed library and the symbol locations. 5) A further step is proposed by Witten et al. [6] who encode the residue image so that lossless compression can be achieved. In this paper, a subband domain textual image compression method is developed. The method consists of two stages as shown in Fig. 1 . In the first stage, the document image is decomposed into subimages using a binary subband decomposition structure. The second stage of the algorithm consists of encoding the repetitions of the character images in the subband domain. In Section II, binary subband decomposition methods are reviewed. Encoding of the subband character images is described in Section III and it is experimentally observed that the subband domain method produces higher compression results than regular methods. Furthermore, the computational cost of encoding Manuscript received March 14, 1997; revised December 14, 1998 . This work was supported by the Turkish Scientific and Technical Research Council BDP program and the National Science Foundation under Grant INT-9406954. The associate editor coordinating the review of this manuscript and approving it for publication was Dr. Christine Podilchuk.. O. N. Gerek was with Bilkent University, TR-06533 Bilkent, Ankara, Turkey. He is now with the Signal Processing Laboratory, Swiss Federal Institute of Technology, CH-1015 Ecublens, Switzerland (e-mail: gerek@ltssun2.epfl.ch), on leave from Anadolu University, Eskişehir, Turkey. and keyword search decreases approximately by a factor of 2 2M for an M level subband decomposition structure. The pattern matching methods used in this work is presented in Section III-A, and the simulation results are given in Section III-B.. Step 5 of the TIC method is especially important in historical archives where lossless compression is required. In Section IV, lossless coding of documents from Ottoman archives, which contain more than 100 million documents written in Arabic letters, is considered.. The keyword search and document retrieval examples are presented in Section V followed by the conclusions in Section VI. In this work, a multiscale textual image compression (TIC) method is introduced. The document image is first decomposed into subimages using a binary subband decomposition structure. Next, the locations of the character images in the subband domain are encoded. In this way, higher compression ratios than regular TIC methods can be obtained without introducing any visual degradation.. Performance of various subband decomposition structures are experimentally tested, and it is observed that the binary wavelet transform and the binary nonlinear subband decomposition structures produce comparable coding results.. A feature of the coding method is that the keyword search or the creation of the symbol library can be carried out in the coded bitstream in subbands. Other advantages of the subband scheme include multiresolution image viewing and computational efficiency. As a direct consequence of the subband decomposition, a low-resolution image x ll is obtained and it can be used for fast preview purposes to decrease the bandwidth usage. The compression of the textual image is a computationally costly operation. The multiresolution approach reduces the encoding time as the pattern matching is carried out in low-resolution images.

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


An immersed boundary method based on the lattice Boltzmann approach in three dimensions, with application a r t i c l e i n f oImmersed boundary method Lattice Boltzmann method Fluid-structure interaction Deformable body Drag scaling Computational fluid dynamics Incompressible viscous flow a b s t r a c tThe immersed boundary (IB) method originated by Peskin has been popular in modeling and simulating problems involving the interaction of a flexible structure and a viscous incompressible fluid. The Navier-Stokes (N-S) equations in the IB method are usually solved using numerical methods such as FFT and projection methods. Here in our work, the N-S equations are solved by an alternative approach, the lattice Boltzmann method (LBM). Compared to many conventional N-S solvers, the LBM can be easier to implement and more convenient for modeling additional physics in a problem. This alternative approach adds extra versatility to the immersed boundary method. In this paper we discuss the use of a 3D lattice Boltzmann model (D3Q19) within the IB method. We use this hybrid approach to simulate a viscous flow past a flexible sheet tethered at its middle line in a 3D channel and determine a drag scaling law for the sheet. Our main conclusions are: (1) the hybrid method is convergent with first-order accuracy which is consistent with the immersed boundary method in general; (2) the drag of the flexible sheet appears to scale with the inflow speed which is in sharp contrast with the square law for a rigid body in a viscous flow.

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


Establishing documentary production support for 21st century campuses Abstract As a response to the growing trend of academic assignments that involve some type of video production, this paper advocates that campuses need to provide instructional as well as technical support for such projects. Universities invest in writing centers to help cultivate writing skills because they understand that providing the latest word processing programs doesn't ensure students become better writers. Similarly, students with flip/cell video cameras and editing software are not likely to produce quality projects without guidance and thus need a similar network of support for these 21st century forms of communication. This paper presents a model for offering documentary services to entire campus communities -including technology, technique, and pedagogical considerations that lead to educational film productions with strong academic content and integrity. Institutions of higher education are charged with preparing students to meet new challenges and demands of our times. In today's fast paced Internet driven informational world, students need to learn how to effectively communicate in a multimedia world. Students need to learn how to access and critically evaluate digital information, and how to contribute multimedia content from their discipline (Lippincott 2007; Thoman and Jolls 2004) . To meet these new educational demands of the 21st century, Appalachian State University, a comprehensive university of 17,000 located in western North Carolina, initiated a documentary service program to provide students and faculty technical and instructional support for documentary research projects across disciplines. This paper discusses the growing need for these types of campus services and provides concrete steps to consider in developing similar units at other institutions. The educational landscape is changing and so must academia evolve to accommodate the new pedagogical shifts in learning and communicating. In the age of Facebook and YouTube, students connect to information in ways that did not exist 20 years ago. A recent Pew Internet & American Life Project study reports that many teens have already shared online content they created (Lenhart et al. 2010 ). On their own or in school, young people are expressing themselves beyond the traditional modes of oral or paper communications. These numbers will only increase as students continue to enhance their multimedia skills and as technological advances eases the ability to produce multi-dimensional content.. Appalachian State University's nascent documentary service program is an example of meeting the educational demands of the 21st century. Most college courses have students work on writing skills in addition to the course content. We advocate that students also need opportunities to cultivate their multimedia skills (Thoman and Jolls 2004) . By working on short scholarly documentary projects, students learn technical skills as well as gain an understanding of best practices in communicating important content from their field. Akin to a university writing center's mission to help develop student writing, documentary services seeks to assist students in their multimedia communication skills.. Short documentary projects allow for student resourcefulness and engagement that are not always seen in other assignments. We find students are very creative in dramatizing the real and presenting abstract information. On our campus we have seen documentary projects help students make local to global connections, forge community partnerships, learn basic productions skills, as well as explore unexamined privileges and relationships. By conducting interviews for their productions, students are forging important connections beyond the brick and mortar of academic buildings.. We use feedback from an anonymous survey of instructors to gauge the effectiveness of documentary projects in meeting the learning objectives discussed in the article. Results provide strong evidence that instructors find these projects increase engagement, media literacy, research and analytical skills in the classroom experience. The instructors state they enjoy the uniqueness, educational, innovative and creative quality of the projects.. Exposing students to media production processes helps increase their media literacy by teaching them the principled and methodological decisions that go into multimedia communication (Lin and Polaniecki 2009 ). Schwarz and Brown (2005:p 6) writes that while there is lack of agreement about the concept of media literacy, "… many scholars, educators, parents, and community activists agree that media literacy is essential in the 21st century." Most scholars agree that being able to produce, analyze and critique various media is an important part of media literacy competence (Schwarz 2005; Thoman and Jolls 2004) We encourage post-secondary institutions to offer documentary support services as resources permit. A short list of the basic technological resources needed includes knowledgeable staff of documentary production; recording equipment for students to check out including consumer grade cameras, tripods, lavalier microphones; computer editing labs with firewire ports, intermediate level editing software, studio microphones for narration, and extra backup storage space for projects.. Finally, we are impressed with the range of learning that goes on behind the scene, that is, beyond what is actually viewed in the final project. Some of our students have run into technological glitches and others have lost footage. However, by getting out of the library and classroom buildings to conduct interviews, they are gaining more indepth knowledge about their topic above what they attain in books or articles. Even if an interview doesn't make the "cut" in the editing room it has left an impression.. In sum, we recommend that at some point in their college careers, students produce a short (around 5 min) scholarly documentary project. We have suggested some basic steps to consider for implementing a documentary service program to assist students in these endeavors. We are not suggesting these services replace documentary courses that offer students a history of the discipline and an in-depth exposure to techniques and subject development. Instead, we advocate offering campus support to standard classes, across disciplines, in the course of a regular semester. Documentary support services assists students in moving from being mere consumers of media, to being creators of multimedia content.

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


Geometrically Uniform Frames We introduce a new class of frames with strong symmetry properties called geometrically uniform frames (GU), that are defined over an abelian group of unitary matrices and are generated by a single generating vector. The notion of GU frames is then extended to compound GU (CGU) frames which are generated by an abelian group of unitary matrices using multiple generating vectors.The dual frame vectors and canonical tight frame vectors associated with GU frames are shown to be GU and therefore generated by a single generating vector, which can be computed very efficiently using a Fourier transform defined over the generating group of the frame. Similarly, the dual frame vectors and canonical tight frame vectors associated with CGU frames are shown to be CGU.The impact of removing single or multiple elements from a GU frame is considered. A systematic method for constructing optimal GU frames from a given set of frame vectors that are not GU is also developed. Finally, the Euclidean distance properties of GU frames are discussed and conditions are derived on the abelian group of unitary matrices to yield GU frames with strictly positive distance spectrum irrespective of the generating vector. Frames are generalizations of bases which lead to redundant signal expansions [1, 2] . A (finite) frame for a Hilbert space H is a set of not necessarily linearly independent vectors that spans H.. Since the frame vectors can be linearly dependent, the conditions on frame vectors are usually not as stringent as the conditions on bases, allowing for increased flexibility in their design [3, 4] .. Frames were first introduced by Duffin and Schaeffer [1] in the context of nonharmonic Fourier series, and play an important role in the theory of nonuniform sampling [1, 2, 5] and wavelet theory [3, 6] . Recently, frames have been used to analyze and design oversampled filter banks [7, 8, 9] and error correction codes [10] . Frames have also been applied to the development of modern uniform and nonuniform sampling techniques [11] , to various detection problems [12, 13] , and to multiple description source coding [14] .. Two important classes of highly structured frames are Gabor (Weyl-Heisenberg (WH)) frames [15, 16] and wavelet frames [3, 6, 17] . Both classes of frames are generated by a single generating function. WH frames are obtained by translations and modulations of the generating function (referred to as the window function), and wavelet frames are obtained by shifts and dilations of the generating function (referred to as the mother wavelet). In Section 3 of this paper, we introduce a new class of frames which we refer to as geometrically uniform (GU) frames, that like WH and wavelet frames are generated from a single generating vector. These frames are defined by an abelian group Q of unitary matrices, referred to as the generating group of the frame. We note that WH frames and wavelet frames are in general not GU since the underlying group of matrices is in general not abelian. GU frames are based on the notion of GU vector sets first introduced by Slepian [18] and later extended by Forney [19] , which are known to have strong symmetry properties that may be desirable in various applications such as channel coding [19, 20, 21] .. The notion of GU frames is then extended to frames that are generated by an abelian group Q of unitary matrices using multiple generating vectors. Such frames are not necessarily GU, but consist of subsets of GU vector sets that are each generated by Q. We refer to this class of frames as compound GU (CGU) frames, and develop their properties in Section 6. CGU frames are a generalization of filter bank frames introduced in [7, 8, 9 ]. An interesting class of frames results when the set of generating vectors is itself GU, generated by an abelian group G. (Note that this class of frames will in general not be GU). As we show, these frames are a generalization of WH frames in which Q is the group of translations and G is the group of modulations. Given a frame for H, any signal in H can be represented as a linear combination of the frame vectors. However, if the frame vectors are linearly dependent, then the coefficients in this expansion are not unique. A popular choice of coefficients are the inner products of the signal with a set of analysis frame vectors called the dual frame vectors [17] . This choice of coefficients has the property that among all possible coefficients it has the minimal l 2 -norm [17, 22] .. In Section 4, we show that the dual frame vectors associated with a GU frame are also GU, and therefore generated by a single generating vector. Furthermore, we demonstrate that the generating vector can be computed very efficiently using a Fourier transform defined over the generating group Q of the frame. Similarly, in Section 6 we show that the dual frame vectors associated with a CGU frame are also CGU. When the generating vectors of the CGU frame are GU and generated by a group G that commutes up to a phase factor with the group Q, the dual frame is generated by a single generating vector, a result well known for WH frames.. An important topic in frame theory is the behavior of a frame when elements of the frame are removed. In Section 7, we show that the frame bounds of the frame resulting from removing a single vector of a GU frame are the same regardless of the particular vector removed. In this sense GU frames exhibit an interesting robustness property which is of particular importance in applications such as multiple description source coding [14] . We also consider the behavior of a GU frame when groups of frame elements are removed.. In the special case of a tight frame the dual frame vectors are proportional to the original frame vectors so that the reconstruction formula is particularly simple. In many applications it is therefore desirable to construct a tight frame from an arbitrary set of frame vectors. A popular tight frame construction is the so-called canonical tight frame [17, 7, 23, 24, 25, 26] , first proposed in the context of wavelets in [27] . The canonical tight frame is relatively simple to construct, it is optimal in a least-squares sense [28, 26, 29] , it can be determined directly from the given vectors, and plays an important role in wavelet theory [30, 31, 32] . Like the dual frame vectors, we show that the canonical tight frame vectors associated with a GU frame are GU, and the canonical tight frame vectors associated with a CGU frame are CGU. When the generating vectors of the CGU frame are GU and generated by a group G that commutes up to a phase factor with Q, the canonical tight frame vectors can be obtained by a single generating vector, generalizing a result well-known in WH frame theory.. Since GU frames have nice symmetry properties, it may be desirable to construct such a frame from a given set of frame vectors. The problem of frame design has received relatively little attention in the literature. Systematic methods for constructing optimal tight frames have been considered [28, 26, 29] . Methods for generating frames starting from a given frame are described in [4] . In Section 8, we systematically construct optimal GU frames from a given set of vectors, that are closest in a least-squares sense to the original frame vectors. We consider three different constraints on the GU frame vectors. First, we treat the case in which the inner products of the frame vectors are known. The optimizing frame is referred to as the scaled-constrained least-squares GU frame (SC-LSGUF). Next, we consider the case where the inner products are known up to a scale factor. The optimizing frame in this case is referred to as the constrained least-squares GU frame (C-LSGUF). Finally, we consider the case in which both the inner products and the scaling are chosen to minimize the least-squares error between the original frame and the resulting tight frame. The optimizing frame is the least-squares GU frame (LSGUF).. In Section 9, we consider distance properties of GU frames, which may be of interest when using GU frames for code design (group codes) [18, 19] . In particular, we introduce a class of GU frames with strictly positive distance spectra for all choices of generating vectors. Such GU frames are shown to be generated by fixed-point-free groups [33] .. Before proceeding to the detailed development, in Section 2 we provide a brief introduction to frame expansions. In this paper we introduced the concept of GU and CGU frames and discussed some of their key properties. These frames may be viewed as generalizations of WH frames and filter bank frames to the group case. A fundamental characteristic of these frames is that they posses strong symmetry properties that may be desirable in a variety of applications. In particular, like WH frames and wavelet frames, GU frames are generated by a single generating vector. Furthermore, the canonical and dual frame vectors associated with a GU frame are themselves GU and are therefore also generated by a single generating vector which can be computed very efficiently using a Fourier transform matrix defined over an appropriate group.. We also showed that GU frame vectors posses interesting symmetry properties when one or more frame elements are removed. This property of GU frames may be of importance in multiple description source-coding where it is often desirable that the quality of the reconstruction should not depend on the particular element lost (removed).. Although in this paper we have focused on the case in which the underlying group is a finite abelian group, many of the results can be extended to the more general case of infinite-dimensional and non-abelian groups. An interesting direction for further research is to characterize these more general cases of GU frames using possibly continuous-time Fourier transforms defined over nonabelian groups (see e.g., [45] ).

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


glsim: A general library for numerical simulation We describe glsim, a C++ library designed to provide routines to perform basic housekeeping tasks common to a very wide range of simulation programs, such as reading simulation parameters or reading and writing self-describing binary files with simulation data. The design also provides a framework to add features to the library while preserving its structure and interfaces. Numerical computation or numerical processing of data with digital computers is an ever-increasing part of day-to-day scientific work, from statistical analysis of experimental data to numerical solution of systems of nonlinear integral or differential equations, to large scale simulations of many-particle systems (from electron gases to galaxies to social systems [1] ). Many packages and libraries, both commercial and open-source, exist that can perform, or aid in performing, a wide range of more or less specialized tasks. However, due to the very nature of scientific endeavor, existing software is not always useful for the task at hand. New problems are studied which require variations or combinations of known techniques, or new techniques or solutions are developed for old problems. Thus the practising scientist often finds him or herself writing computer code.. One of the difficulties faced is that a useful working program requires much more code than the lines needed for the main algorithm, due to the need for user interaction, data input/output, and possibly data preprocessing or format conversion. For example, the code for the LBFGS algorithm for minimization of a function of many variables [2] amounts to about 500 FORTRAN lines, excluding comments 1 . A fully working program to find potential energy minima of a particle system based on LBFGS put together by the author included an additional 300 lines for user interaction and interfacing between the energy routines and LBFGS plus 300 for input/output of simulation trajectory files, plus the routines for evaluation of the energy. This additional code is "clerical": it expresses relatively simple tasks and straightforward algorithms, and generally takes a small fraction of execution time. But it must be written, debugged and maintained alognside the core of the program. When flexibility is added to the program, the clerical code typically grows quickly. Maintenance and debugging effort grows quickly with size unless the code is well structured [4] , but well structured code requires thought and planning. Either way, clerical code ends up requiring a fair amount of attention.. This issue can be more or less sidestepped by writing very rigid, user-unfriendly software (e.g. Monte Carlo programs needing recompilation to change the temperature), which are highly unlikely to be useful to anyone but the original author in the original situation. Though such disposable software may sometimes make sense, most of the time a little more foresight is desirable. Especially because if the program is disposable, so tend to be the data it produces: ad-hoc file formats difficult or impossible to read without access to the source code that created them.. Ideally, the scientist needing to program some new algorithm should be able concentrate in writing and debugging the code for the main algorithm (on which he/she is an expert), while resorting to some sort of library for the clerical (but indispensable) tasks which are not part of the main algorithm, and likely not within the scientist's main expertise.. But can such a general library be developed, or even defined? Not if the "algorithm" and the "clerical" tasks remain so vaguely described. But we show below that one can define a simulation program very generally yet precisely, in a way that allows to identify the basic administrative tasks such a program will need, and build a library to perform such tasks. We also describe a particular implementation of such library, called glsim, which is available for download under an open-source license (see sec. 6).. It turns out, not surprisingly, that algorithms can be designed more generally the more abstractly the problem to be solved is defined. We thus begin (sec. 2) giving an abstract definition of a simulation, and listing a series of features that should be included in a good simulation program. This allows us to write an outline simulation algorithm (sec. 2.3). After commenting briefly on the programming techniques most useful for designing a library of the kind we are after (sec. 3), we describe the glsim library in sec. 4 . We conclude in sec. 6.

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


Making sensor networks IPv6 ready With emerging IPv6-based standards such as 6LowPAN and ISA100a, full IPv6 sensor networks are the next major step. With millions of deployed embedded IPv6 devices, interoperability is of major importance, both within the sensor networks and between the sensors and the Internet hosts. We present uIPv6, the first IPv6 stack for memory-constrained devices that passes all Phase-1 IPv6 Ready certification tests. This is an important step for end-to-end interoperability between IPv6 sensors and any IPv6 capable device. To allow widespread community adoption, we release uIPv6 under a permissive open source license that allows both commercial and non-commercial use. Most of current wireless sensor platforms use IEEE 802.15.4 as a physical and medium access control layer. The upper layers of the communication stack, however, remain either proprietary or specified by exclusive alliances such as Z-Wave or Zigbee. This plethora of solutions renders interoperability between different sensor networks difficult. The diversity of protocols also makes the seamless integration of sensor networks with existing IP networks impossible.. The adoption of IP as the Layer-3 protocol to connect wireless sensors has been slow down by the common belief that IP is too large to fit on a memory constrained device. This belief was shown to be false by existing IPv4 implementations, the most well-known being the uIP stack [5] .. Yet, a standardization work within the 6LowPan group [10] has reduced the header overhead of IPv6, thereby reducing its power consumption. We present uIPv6, the smallest IPv6 Ready [13] stack available so far. It has a code size of 11.5 Kbytes and requires less that 2 Kbytes of RAM. As a result, it can fit on the most constrained platforms available today. Our uIPv6 stack is built on top of the Contiki Operating System [6] , which also includes the latest version of the uIP stack. uIPv6 will be included in Contiki version 2.3. In this work, we show that even severely memory-constrained devices can fulfill the requirements for Phase-1 of the IPv6 Ready program. This is a major step towards full-scale interoperability between IP-based sensor networks and hosts on the wired Internet, and paves the way for the next generation of integrated IP and sensor networks.

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