Use-case components for interactive information systems Specification-oriented components (SOC's) are designed to facilitate the implementation of a system directly from its specifications. An earlier study has shown cases in which SOC's enabled information systems to be implemented with considerably less code than when implemented with components designed by a typical object-oriented approach. This study goes a further step by considering the essence of an information system to be the flow and processing of data. The components based on this abstraction attempt to hide code that is not implementing data flow or data processing. Based on this approach, an experimental framework called WebSI has been developed. WebSI components hide the code for the construction of the user interface (UI), the database access code and the Web-related code. WebSI was designed to facilitate the manual translation of English language use-case specifications into Java code. WebSI enabled the construction of information systems with a modest amount of code. The similarity between the WebSI-based Java code and the English language use-case specifications facilitated verifying that the code implements the specifications correctly. The automatically produced UI's were relatively easy to learn and to use. The modification of WebSI-based legacy code was facilitated by the high level of the code and its use-case structure, but remained a labor-intensive task. A software component can be defined as a piece of software which is designed such that it can be reused in many different systems. The design of components that meet this requirement has proven to be a difficult task. These difficulties may be alleviated by designing components which are limited to a particular application domain and to a particular method of combining the components into a software system. Such a set of components and the corresponding construction method are sometimes called a component framework.. One of the measures of quality of a framework is the developer's effort required to design, implement and test a software system with the help of the framework, i.e., the development costs. Another quality measure of a framework is the developer's effort required to extend the software, produced with the help of the framework, at a later point in time, i.e., the extension costs. This quality may be expressed by the extension complexity [10] of the software produced with the framework. A further quality measure of a framework is whether it facilitates manufacturing software systems that have a high usability level. Usability expresses both the extent to which the system provides the functionalities that the users need, and whether the system enables the users to accomplish their work with a minimum of human effort and in a pleasant way. Usability is possibly the most important system property, as it may be the determining factor for whether or not the software will sell. This paper focuses on designing frameworks facilitating the construction of highusability software systems at low development and extension costs. Other aspects of component design, e.g., the problems of interfacing components from different sources, are not considered in this paper.. One approach in frameworks design is to use a classical object-oriented (OO) design methodology, i.e., to construct a component for each one of the important objects in the application domain. An example of such a framework is the Java's Swing package for graphical user interfaces (GUI) construction. This package contains components for such GUI controls as buttons, menu entries and text fields. A GUI is constructed by combining these components in a special way. The construction involves the specification of the size of the controls, their colors and the layout on the screen. The programmer must also code the operations carried out by the software, when a particular GUI control is operated by the user. Programming at this level of detail can be quite labor intensive.. Another approach in frameworks design is the specification-oriented approach, suggested in [12] , where the framework's components are designed to enable a direct coding of the system from its specifications. The possibility of deriving an implementation of a system directly from its specifications was demonstrated for reactive systems, in which a state chart specification of such a system can be executed [4] . The developer of such a system has thus only to specify it by its state chart, and need not invest further time in designing and implementing the system. The state chart can be executed, because it explicitly specifies all the computations in the system. Our study considers large complex information systems, for which it is difficult to produce such complete specification of the entire system, as done in the state chart approach. A common industrial method to manage this high complexity is to develop such a system through a software development process (often shortened to software process). Each phase of such a software process focuses on one aspect of the development, so that the developers can concentrate on doing it right.. A number of different kinds of software processes have been designed over the last decades. This research was specially influenced by [7] , which introduced the use-case concept and its applications in software processes. The use-case concept and additional concepts from other software processes were later elaborated into the Unified Software Development Process (USDP) [6] , which was developed in connection with the popular standardized Unified Modeling Language (UML) [18] .. The activities of a software process may be divided into two major groups. The first is the specification development group, which includes requirements elicitation, specification development and validation of the developed requirements and specifications. The second group of activities regards the construction of a system that meets the specifications.. The USDP and some other software processes employ use cases to specify the developed system. A use case is a single application of a system. Use cases are often described in a natural language, e.g., English, and may be accompanied by drawings of the user interfaces (UI). We consider an example of a use case in a sales management system. The example use case specifies the addition of a new sales offer by a supplier. The detailed formulation of this use case is:. (1) The system presents the set of items for sale, for which the supplier has not given offers. For each item, its name and description are presented. The above use-case specification does not tell how the system locates the items, for which the supplier has not given offers. The specification also provides no information on where and how the details of the new offer are stored. So as opposed to a state chart specification, a use-case specification does not specify how the system computes its outputs from the user's inputs. It is essentially only a specification of the user's input data and the corresponding system's output data.. The use of natural language and UI descriptions enable domain experts and humancomputer interaction (HCI) experts, who may not be familiar with formal specification notations, to validate the use cases. The domain experts validate the completeness and correctness of system functionalities, while the HCI experts validate the system's friendliness. The purpose of this validation by both domain and HCI experts is thus to ensure the usability of the system. The product of the specification development activities is, therefore, a use-case specification of the system, that is validated for its usability.. The construction activities of a software process involve an analysis of the validated specifications. This includes developing methods for computing the system's outputs from the user's inputs and database values. Based on this analysis, the developers design and code the software. The construction stage involves also a verification that the produced code implements the use-case specifications precisely. Since the use-case specifications were validated for their usability, the verified code will retain this usability.. The construction activities are usually labor intensive, since they involve both specifications analysis, system design, coding and verification. In order to reduce these high construction costs, one may implement the system with the help of high-level reusable software components. Such a set of components was suggested in [12] , where the concept of specification-oriented components (SOC's) was introduced. One of the goals of this approach is to facilitate the verification of the code. SOC's are designed to enable a manual translation of the natural language use-case specifications into a high-level code that resembles the specifications. The equivalence between the code that resembles the specifications and the specifications is expected to be relatively easy to establish. The use of high-level code is also expected to save implementation costs and produce a running system at an early stage.. The suggested approach was tested with the experimental framework, named SI (Simple Interfacing) [12] , for construction of interactive information systems. In the experiments, the English language use-case specifications were manually translated into SI-based Java code. Typically, an English statement in the use-case specification was translated into 2-3 Java statements, which resembled the specification to a degree that made it relatively easy to verify that the code corresponds to the specification. One system was implemented twice, first using the Java's GUI Swing framework and the Java's database connectivity package (JDBC). The second implementation employed the components of SI. There were 2.4 times as many lines of code in the Swing-and JDBCbased implementation, than in the SI-based code. This suggests that using components that model use cases, as done in SI, saves coding, as compared to using components that model the objects of the domain in a classical OO design. The suggestion supports the observation made by [15] , that a classical OO component design does not necessarily produce the most appropriate components. The remarkable code savings obtained with SI were achieved mostly by hiding much of the GUI and database access code in the components of SI. A later design of SI, called SI+, is reported in [13, 14] .. Based on the experience with SI and SI+, we have developed an experimental framework, called WebSI (Web Simple Interfacing). WebSI is a set of Java components, designed to facilitate the implementation of elementary Web-based information systems. These information systems are assumed to be specified by use cases written in English. The translation of the use-case specifications into Java is done manually by the developer. WebSI may thus be employed for the construction activities of the software process, in which it is required to implement a system from given use-case specifications. This study suggests the feasibility of an SOC framework for the construction of Web information systems. The high-level abstractions of the WebSI framework enable manual translation of English language use-case specifications to Java code. This code resembles the specifications, making it easy to verify that it implements them precisely.. The developed framework hides the code for UI construction and manipulation, database access and Web programming. This enables the developers to focus on the flow and processing of data. Those are considered to be the essence of the information system. The framework saved in one case about 30-40% of the development effort.. The UI's, produced automatically from good quality use-case specifications, were easy to learn and to use. This suggests that the usability of the UI is to a considerable extent dictated by the use-case specifications.. The modification of a WebSI-based legacy system by new programmers was facilitated by the relative readability of the WebSI-based code and by its use-case structure. Modifying legacy code remained, however, a labor-intensive task.. Further studies are needed for a more complete understanding of the applicability of SOC's. The "Play-In/Play-Out" [5] method was designed for capturing and directly executing the specifications of reactive systems. Following this methodology, first a GUI of the system is constructed. Then the developer operates the GUI as an end-user, and specifies the desired reactions of the system-also with the help of the GUI. In this way, the developer specifies the system by "playing-in" various scenarios. At the "play-out" stage, the developed specification is directly executed, again by operating the system's GUI. During this stage, the specified system may be tested with scenarios, which are different from the "played-in" ones. In some cases, the "play-out" may actually serve as the final implementation.. This work differs from ours by being targeted at reactive systems, while WebSI is designed for information systems construction. In addition, the "play-in" stage involves a manual GUI construction, i.e., it is required to decide on the system's GUI at an early development phase. This contrasts to WebSI's automatic UI generation. Another difference is that "playing-in" enables an interactive specification development, while WebSI assumes a manually developed specification.. A novel technology for UI construction, called JavaServer Faces (JSF) [8] , which extends the popular JavaServer Pages (JSP) [9] technology, enables a more convenient UI construction method than with basic HTML tags. JSF is similar to WebSI in facilitating the altering of UI controls employed in an application. In JSF, however, the UI controls specification is interwoven in the application and cannot be readily employed in other applications. This contrasts to WebSI's interaction styles, which can be reused in different applications. Using the WebSI framework, the developer of a new system need not invest time in UI construction at all, when an acceptable interaction style already exists.. Similarly to WebSI, other systems, e.g., [16, 17, 1, 2] , employ various abstract UI specifications in order to produce UI's for multiple platforms. WebSI differs from these systems by enabling to the programmer to write application-specific code, which is completely free of UI details. This code should run on any platform without change.

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


Information Risk of Inadvertent Disclosure: An Analysis of File-Sharing Risk in the Financial Supply Chain AbstrAct: Firms face many different types of information security risk. Inadvertent disclosure of sensitive business information represents one of the largest classes of recent security breaches. We examine a specific instance of this problem-inadvertent disclosures through peer-to-peer file-sharing networks. We characterize the extent of the security risk for a group of large financial institutions using a direct analysis of leaked documents. We also characterize the threat of loss by examining search patterns in peer-to-peer networks. Our analysis demonstrates both a substantial threat and vulnerability for large financial firms. We find a statistically significant link between leakage and leak sources including the firm employment base and the number of retail accounts. We also find a link between firm visibility and threat activity. Finally, we find that firms with more leaks also experience increased threat.

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


How much power oversubscription is safe and allowed in data centers Data centers attempt to maximize return on investment by achieving high levels of utilization. This means deploying the maximum number of servers possible within existing power supply capabilities. Therefore, a key problem is determining how many servers can be safely accommodated. Recently, a variety of power capping solutions have been proposed to safely allow oversubscription of available power, but they conservatively assume that peak power should never exceed the rated power distribution equipment capacity. Hence, the open question is: how much power oversubscription is indeed safe? In this paper, we focus on data center branch circuits and systematically study the tripping characteristics of their circuit breakers (CBs). Our results on a physical testbed show that instantaneous violations of the rated CB power limit are not necessarily fatal because CBs are designed to sustain a certain amount of power overload. Whether a CB trips or not depends primarily on the transient behaviors of a power overload, such as the magnitude and duration time, as well as ambient temperature. We propose two adaptive power control strategies that utilize the CB tripping characteristics to aggressively optimize the system performance without causing the CB to trip. Our extensive hardware results with SPEC CPU2006, SPECJBB, and LINPACK benchmarks show that the proposed CB-aware power control solutions achieve 38%, 75%, and 68% better average performance, respectively, than a state-of-the-art baseline. A key contribution of our work is to provide a practical upper bound of the server power oversubscription allowed on branch circuits. As a result, our solutions allow a data center to host three times more servers than traditional static power provisioning schemes and 54% more servers than the current power capping practice. In recent years, server power consumption has become a firstorder concern for modern enterprise data centers. In order to amortize the non-recurring investments in the power supply facility of a data center, it is preferable to operate the facility as close as possible to its maximum capacity [11] . An additional pressure on facility operators is that upgrades in power delivery systems are extremely expensive and often lag behind required increases in hosted servers to support new business. Both of these reasons result in pressure to load as many servers as possible on the branch circuits that supply power to computer racks.. Traditionally, branch circuits are provisioned conservatively based on server nameplate power ratings, which results in significant waste of the branch circuit's power supply capacity. Recently, a promising solution is to oversubscribe the branch circuit. This involves placing more servers on it than it can support if all the servers use their maximum power consumption at the same time. To prevent overload of the circuit, power capping has been proposed to limit the aggregate server power to the branch circuit capacity. This provides better performance when power demand is below the branch circuit capacity and prevents undesired shutdowns by slowing down servers occasionally when the power demand is over the branch circuit capacity. Server manufacturers have responded by providing power capping as a standard feature to limit the power draw to a user-defined limit (power cap) [14] [3] . Additionally, a variety of research studies have proposed power capping solutions at different levels, such as a single server [17] , a rack enclosure [22] [27] , a data center [21] [28] , and a chip microprocessor [15] [19] .. An important issue for all power capping solutions is to select an appropriate power cap. In order to maximize the number of hosted servers in a data center, a common practice is to set the server power cap as the rated current limit of the branch circuit divided by the number of servers [14] [13] [11] [22] . The main rationale of this practice is that peak power should never exceed the branch circuit capacity, otherwise the branch circuit's circuit breaker (CB) might trip and cause undesired server shutdowns, or even power outages. If the peak power becomes higher than the cap at runtime due to workload increases, immediate actions (such as processor throttling) are taken to maintain the power below the cap as soon as possible. Some studies even suggest having a safety margin below the cap to avoid any instantaneous power overloads [27] .. In this paper, we argue that this common practice is too conservative, even though power capping is already a step ahead of traditional power provisioning based on nameplate power ratings. This conservativeness can result in an unnecessarily low system performance because even a small, short-lived power overload causes servers to slow down in spite of the fact that the circuit breakers will not trip. If harmless power overloads could be tolerated by power capping, then we can have higher performance, as well as more hosted servers with the same circuit capacity. Therefore, we propose to address the open question: how much power oversubscription is indeed safe and allowed by circuit breakers? In other words, what is the upper bound of power oversubscription? To answer this question, we systematically study the tripping characteristics of a typical CB used in data centers. Our results on a physical testbed show that instantaneous violations of the rated CB power limit are not necessarily fatal because CBs are designed to sustain a certain amount of power overload. Whether a CB trips or not depends primarily on the transient behaviors of a power overload, such as the magnitude and time duration. The time interval for a CB to sustain a power overload is determined by the magnitude of the overload and normally, a higher magnitude leads to a shorter interval. Generally, a CB will trip only when the duration of an overload is longer than the allowed time interval. The allowed interval is also affected by the ambient temperature. Therefore, as long as the server power consumption is controlled to stay lower than the current overload magnitude within the allowed time interval, the CB is designed not to trip.. Based on those observations, we propose an adaptive power control strategy that utilizes the tripping characteristics of the equipped CB to aggressively optimize the system's performance without causing the CB to trip. When a power overload occurs, our solution first checks the magnitude and then the allowed time interval. Based on those transient behaviors, the proposed solution adaptively changes the parameters used in the power controller so that the settling time for power to return back to the cap is just marginally shorter than the allowed interval. When the magnitude is reduced and the allowed time interval increases, our solution continues adjusting the control parameters to fully utilize the increased interval for optimized system performance. The power controller is designed based on an advanced adaptive control theory for parameter tuning and to adapt to variations in ambient temperature. To explore the upper bound of power oversubscription, we also propose a proactive control solution, which uses available power margin in the power delivery system for a short-term turbo boost by running the server workload at a higher frequency. The proactive solution then runs the adaptive controller to safely lower the power consumption.. At least two important benefits can be achieved with the safe power oversubscription feature of our solutions. First, when servers are running under stringent power constraints (which can be expected in future data centers), our solutions can lead to higher workload performance. Second,our solutions allow a data center to host more servers than the current power capping practice. Specifically, this paper makes several major contributions:. • We present a systematic study to investigate the tripping characteristics of a typical CB used in many data centers. While previous solutions simply assume that power can never exceed the CB's capacity, to the best of our knowledge, our work is the first that utilizes transient CB tripping behaviors to optimize server performance or host additional servers. We also consider the impacts of ambient temperature on transient CB behaviors.. • In contrast to most existing power capping solutions that rely on simplistic heuristics, we use control theory to design an adaptive power controller that precisely controls the transient response of power overload to follow the designed CB trip curve. We also propose a proactive control solution to explore the practical upper bound of power oversubscription.. • Our extensive hardware results with the SPEC CPU2006, SPECJBB, and LINPACK benchmarks show that the proposed CB-aware power control solutions achieve 38% better performance, on average, than a state-of-the-art baseline that simply uses the CB capacity as the power cap without considering the CB's tripping characteristics.. • We conduct analyses to show that our adaptive power capping solutions allow a server rack to host three times more servers than traditional static power provisioning schemes and 54% more servers than the current power capping practice widely used in the industry.. The remainder of the paper is organized as follows. Section 2 provides the background about circuit breakers. Section 3 describes the design of our CB-aware power controllers. Section 4 discusses the potential applications of the proposed solutions. Section 5 provides the implementation details of the control solutions. Section 6 presents the results of our empirical experiments conducted on a physical testbed. Section 7 analyzes the impacts of our solutions on data center power provisioning. Section 8 discusses the related work. Section 9 concludes the paper. While a variety of power capping solutions have been recently proposed, a conservative assumption made by existing solutions is that peak power should never exceed the rated CB capacity. In this paper, we systematically study the tripping characteristics of a typical CB used in many data centers. We identify that the ideal upper bound of safe power oversubscription is the lower bound of the tolerance band in the trip curve of the circuit breaker. We then propose two adaptive power control strategies that utilize the tripping characteristics of the CB to aggressively optimize the system performance without causing the CB to trip. Furthermore, our control schemes can also adapt to the variation of ambient temperature that is known to affect the CB tripping behaviors. Empirical results on a physical testbed show that the proposed CB-aware power control solutions achieve 29% to 49% better SPEC CPU2006 performance than a state-of-the-art baseline, with an average of 38%. The proposed solutions also achieve 68% better LINPACK performance and 75% better SPECJBB performance than the baseline. In addition, our solutions allow a data center to host three times more servers than traditional static power provisioning schemes and 54% more servers than the current power capping practice. The proposed CB-aware power control solutions can have many potential applications in data center power management. In this section, we discuss hosting additional servers in a data center. First, we present our method based on proposed CB-aware power control solutions. Then, we investigate whether it is safe to apply our method in a data center.. The allowed number of servers hosted within a rack is determined by the power consumption profile of the servers. Currently, the measured peak power consumption of the servers is equal or less than the 80% of rated power capacity of the circuit breaker according to the NEC requirement. In contrast, CB-Adaptive allows hosting additional servers by configuring the measured peak power consumption of the servers beyond 80% of the rated power capacity of the circuit breaker. As shown in Figure 2 , Fan et al. [11] present the cumulative distribution functions (CDF) of the power consumption of servers running a wide range of data center workloads in a real Google data center. The highest power consumption of servers during most time is much lower than the measured peak power. Suppose we configure the allowed peak power consumption of servers as the 135% of rated power capacity of the circuit breaker. According to the CDF, during most time, the power consumption of the servers may be below 80% of rated power capacity of the circuit breaker. The time interval that violates the 80% of rated power capacity of the circuit breaker is only on a scale of minutes. Those short-term violations are allowed by NEC. Furthermore, CB-Adaptive can guarantee that the circuit breaker will not trip and boost the performance of the servers compared to the current conservative practice. Section 7 provides a detailed quantitative analysis.. From Figure 2 , which shows the power load behavior for racks, PDUs, and clusters in a highly-optimized Google data center [11] , we observe that among racks (40 servers), PDUs (800 servers) and clusters (5000 servers), only racks occasionally get close to 100% of the possible peak aggregate server power. Since branch circuits directly feed the rack-level, we assume that branch circuits will see similar load behavior. An important point is that load behavior varies considerably between racks (branch circuits) and this is a key reason that the PDU and cluster-level load behavior does not come close to the 100% peak power consumption possible [11] . In fact, at the cluster level, only about 70% of the peak possible server power is observed. If a data center is attempting to utilize its power infrastructure by hosting as many servers as possible, it will likely experience overloads first at the branch circuit. For this reason, we apply the CB-Adaptive method on the circuit breaker for each branch circuit. The prior data suggests that different branch circuits will overload at different times but not together. This means that we can focus effort on controlling overloads at the branch circuit and that they will not transfer all the way to the root of the power distribution system. On average, some branch circuits will need additional overload capacity while others do not, so overloads will be rarely seen at the PDU or cluster levels. In this case, only the circuit breaker and branch circuit cable is relevant for determining the length of operation in overload.. In the unlikely case that a data center workload drives all CBAdaptive branch circuits to operate beyond 100% capacity, overloads will be experienced by higher-levels in the facility and their overload times become relevant for consideration. In this rare case, all components of the power delivery system of a data center are relevant for determining the length of operation in overload. CBAdaptive controllers would need to be informed by a higher-level controller to determine the overload duration time. Figure 3 shows a typical power delivery system of a data center. All the components have an overload capacity in addition to their rated capacity. Although power overloads beyond the rated capacity in a very long term might damage a component, in many cases, tolerating short-term power overloads is necessary in practice [25] . We now summarize typical overload capacities of the components in Table 2 . Note that all components can tolerate an overload higher than the value listed in the table, but components generally tolerate a higher overload for a shorter time interval. Table 2 shows the overload capacities of all components. Static transfer switch can tolerate large over currents. The limiting factor of the overload capacity is the heat dissipation [1] . If over currents are too large, the heat generated by over currents cannot be dissipated. Cables can tolerate overloads for a short period of time [9] but overloading cables for long periods of time could damage their insulation. Generators comply with electrical standards which allow a 10% or more overload [5] . The overload capacities of transformers depend on ambient temperature, type of insulation, size of transformer and method of cooling [25] . UPS can also tolerate a short period of overload [2] . For example, certain models of data center level UPSs from APC can tolerate 125% overload for 30s. This fact implies that a single UPS basically cannot tolerate much overload. However, Figure 3 shows that in a normal state, each UPS only runs, at most, half of its capacity for fault tolerance. If one UPS is down, the power load of the UPS shut down will be transferred to the operating UPS. In the rare case where a UPS is down, it is not desirable to perform the proposed power oversubscription solutions any longer. The servers have to run at a lower power budget.. The most important contribution of our work is to provide a technically feasible solution that allows a data center to gain the maximized return on existing investments in their power supply facilities by safely accommodating the maximum number of servers. It is important to note that our technique is not limited to circuit breakers, because it can be applied to the component with the lowest tolerance level in the power delivery system. As a result, safe power oversubscription can be achieved. More importantly, our work offers insightful discussion on the technical part of the power oversubscription problem and explores a practical upper bound for power capping, revealing that a power overload is not necessarily fatal as commonly assumed. Recently, the power management issue has attracted a large amount of attention from both academia and industry. For example, Meisner et al. [18] proposed a PowerNap scheme to reduce the server's idle power. Ahmad et al. [8] optimized the idle and cooling power in a data center. However, these studies focus primarily on power minimization instead of power provisioning.. Power provisioning is an important technique for data centers to avoid expensive upgrade costs and to maximize the power infrastructure utilization; thus, it becomes an important, practical issue in data center operation. Fan et al. [11] investigated the workload characteristics of the data center and demonstrate the existence of a great potential for oversubscription in the production data center. Lefurgy et al. [17] proposed a control-theoretic approach to power provisioning and showed the advantages of this method in terms of performance as compared with commercial ad hoc solutions. Pelley et al [20] proposed a novel power router to make the flexible power budget usable. Femal et al [12] investigated how to improve throughoutput given a fixed power budget. Yet, each of these studies still does not answer the question of how much power can be safely over-subscribed. Govindan et al. [13] adopted statistical profiling-based techniques for power provisioning. They considered sustainable power budgets; however, they did not systematically investigate the CB tripping characteristics. In addition, their soft fuse method is essentially a heuristic-based approach.. The control-theoretic approach is a promising adaptation mechanism in power and thermal management. Donald et al. [10] proposed a PI-controller based solution for multicore thermal management. Skadron et al. [23] designed a PID controller approach for accurate and localized dynamic thermal management. Srikantaiah et al [24] adopted a reinforced oscillation resistant controller for shared cache management. Wang et al. [29] designed a model prediction controller to limit the peak power of a chip multiprocessor. Those studies focus on power and thermal management issues for individual computer systems. None of them consider the adaptation of control parameters since there is no design constraint on the settling times of controllers in those studies. In this section, we introduce our physical testbed and benchmarks, as well as the implementation details of each component in the control loop. Our testbed uses a single server to represent the load on the branch circuit. Note that CB-Adaptive can also be integrated with existing branch circuit level or data center level power controls. Recent proposals like SHIP [28] allow for control of branch circuit power by monitoring and controlling the aggregate power of many servers. A natural place for CB-Adaptive is within such a control system. Details of controlling multiple servers to realize an aggregate power are presented in the prior work [28] .. Our testbed shown in Figure 4 consists of a Rockwell Automation circuit breaker, a heater to change the ambient temperature of the breaker, a thermostat, a power meter and a Dell OptiPlex desktop with an AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ with a 2MB on-die L2 cache and 800 MHz FSB. The processor supports five DVFS levels: 2.3GHz, 2.2GHz, 2GHz, 1.8GHz, and 1GHz. The operating system is a Fedora Core 8 with a Linux kernel 2.6.23 with real-time patches. The circuit breaker model is a Rockwell Allen-Bradley 1489-A Industrial circuit Breaker with a rated current of 1A. Rockwell circuit breakers are widely used by data center operators.. We run the SPEC CPU2006 suite (V1.0), SPECJBB (2005), and High Performance Computing LINPACK Benchmark (HPL) (V1.0a) as our workloads. For the SPEC CPU2006, each performance measurement is the average of the four copies and is recorded as the performance ratio, i.e., the relative speed of the processor to complete each benchmark (compared to a reference Sun UltraSparc II machine at 296 MHz). The CPU2006 includes a collection of 29 benchmarks and is divided into CINT2006 and CFP2006, each of which consist of integer and floating-point benchmarks, respectively. SPECJBB reports throughputs of a sequence of measurements with an increasing number of warehouses. In our experiment, the number of warehouses is equal to or greater than 2. HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic. The problem size of HPL is configured to be 10,000 × 10,000 and the block size is 64 in all experiments, unless otherwise noted.. The control loop consists of three components: temperature monitor and power meter (sensor), adaptive controller (controller), and CPU frequency modulator (actuator).. CB Temperature Monitor: Circuit breakers typically do not have built-in thermal sensors, however the industry is rapidly adding temperature measurement to data center products. For example, Arch Rock (Now Cisco)'s PhyNet Wireless Sensor Network is being integrated into IBM's Active Energy Manager [4] . These inexpensive and low-power sensors can easily be added to the circuit breaker panel to measure the temperature of a circuit breaker.. Power Meter: The power consumption of the server is measured with a WattsUp Pro power meter which has an accuracy of ±1.5% of the measured value. To access the power data, the data port of the power meter is connected to the USB port of the desktop. A device file is then generated for a power reading in the Linux system. The power meter samples the power data every 5 seconds and responds to requests by writing all new readings after the last request to the system file. The controller then reads the power data from the device file and conducts the control computation.. Adaptive Controller: The adaptive controller which implements CB-Adaptive or CB-Proactive runs at the highest priority (real-time priority) to guarantee fast response times. Otherwise, the controller process may be preempted by other processes with a higher priority which may cause the circuit breaker to trip due to improper control. The Linux system call sched_setscheduler sets both the scheduling policy and the associated parameters for the process identified by PID. A key advantage of CB-Adaptive and CB-Proactive is their small overheads in terms of time, space, and power consumption.

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


Wave hierarchies in continua with scalar microstructure in the plane and spherical symmetry In this paper, we consider the balance equations for a continuum with scalar microstructure and propose a general approach to investigate nonlinear wave propagation by means of an asymptotic approach within the theoretical context of wave hierarchies. The evolution equations that are obtained for the leading terms of the asymptotics allow for the description of various levels of wave motion in agreement with the different scales involved in the modelling of continua with microstructure. Both the one-dimensional planar and the axisymmetric spherical cases are considered in a unified way, and various examples (immiscible mixtures of perfect fluids, granular materials, liquid with bubbles) are discussed in order to illustrate the procedure. In the classical theory of continua, a body B is thought of as a set of material elements occupying a compact and simply connected region C of a Euclidean point space E 3 . Each material element has a distinct identity and occupies at each instant t of time an exclusive place x ≡ (x 1 , x 2 , x 3 ) ∈ E 3 . It is also assumed that nothing geometrically interesting could be perceived by a finer observation of the material elements of the continuum.. On the other hand, when we consider some kinds of continuous media, a closer look at the material elements reveals a sort of microscopic order whose description requires a certain number of order parameters that can be interpreted as coordinates, in a local chart of an atlas, of an element ν in an appropriate manifold M of suitable dimension m [1] . The simplest models, referred to as continua with scalar microstructure, are those involving only one order parameter: typical examples are given by continua with voids, bubbly liquids, granular materials. Despite the variety of materials described as continua with microstructure, it has been shown that a unified approach for their mathematical description is possible [1] [2] [3] [4] .. Furthermore, many relevant physical and engineering applications (propagation of seismic waves in a sediment filled site [5] , cavitation problems [6] , propagation in gas-liquid mixtures [7] [8] [9] [10] [11] ) lead to the problem of nonlinear waves propagating in media that can be modelled as continua with microstructure.. The balance equations which describe the dynamics of continua with microstructure, in general, do not allow a simple description of the admitted waves. A method that has already proved useful in the study of the equations of bubbly liquids [10, 11] , of compressible mixtures of two perfect fluids [12] and granular materials [13, 5] makes use of an asymptotic approach within the theoretical context of wave hierarchies [14, 15] . That approach relies on the introduction of a small parameter arising naturally as the ratio of a microscopic length related to the microstructure and a typical macroscopic reference length. In terms of the small parameter , an asymptotic solution [16, 17] , suitable for describing a progressive wave [18] , can be constructed. This procedure enables us to characterize the normal speeds of propagation of the waves and the way the microstructure affects the transport equation ruling the time evolution of the leading terms of the asymptotics. The nonlinear evolution equations that are obtained, according to the order of magnitude of the coefficients involved, allow for the description of various levels of wave processes.. In this paper, we consider a system of partial differential equations in one space dimension (planar symmetry or spherical symmetry) that are sufficiently general to embrace the dimensionless version of the equations of a generic continuum with scalar microstructure, and investigate the propagation of nonlinear waves. In particular, in Section 2, we recall the balance equations governing a continuum with scalar microstructure by following the notation of [1] . In Section 3, after giving the form of a general system of partial differential equations in which the dimensionless equations of continua with scalar microstructure written in one space dimension fall, we introduce the asymptotic expansion of the field variables, and describe the procedure leading to the reduced evolution equation. In Section 4, by considering a model for immiscible mixtures of two perfect fluids and a model of granular materials, both in the conservative case, two examples of application of the method are discussed. Finally, in Section 5, attention is restricted to continua with latent microstructure; two instances of such media (incompressible liquids with gas bubbles and granular materials with incompressible grains) are considered, and, in the case of bubbly liquids, dissipative effects are also taken into account.

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


Collage of two-dimensional words We consider a new operation on one-dimensional (resp. two-dimensional) word languages, obtained by piling up, one on top of the other, words of a given recognizable language (resp. two-dimensional recognizable language) on a previously empty one-dimensional (resp. two-dimensional) array. The resulting language is the set of words "seen from above": a position in the array is labeled by the topmost letter. We show that in the one-dimensional case, the language is always recognizable. This is no longer true in the two-dimensional case which is shown by a counter-example, and we investigate in which particular cases the result may still hold. The present paper deals with the notion of recognizable collection of pictures, a picture being a matrix whose entries (pixels) are taken in a finite alphabet (colors). The reader unfamiliar with the formal definition might find it suggestive to think of the set of chessboards of arbitrary dimension or of the set of squares with, say, their north-west to south-east diagonal marked with some particular color as typical examples.. Assume we are given a collection of strips of wallpapers of different textures in such a way that it forms a recognizable collection. Assume further that starting from an empty frame we can paste these strips one at a time, in any arbitrary way with possible overlapping but without rotating. At each position, the visible pixel is that belonging to the last pasted strip. This is reminiscent of the so-called painter's algorithm achieving face elimination in computer graphics where the objects nearest to the observer are painted last.. Our result says that if we start with a recognizable collection of strips reduced to one column (resp. to one row), then all possible collages form again a recognizable collection. This property is obtained by studying the particular case of one-dimensional pictures, i.e., words, and by extending to two-dimensional pictures via row-(or column-) Kleene concatenation. Furthermore, we show that this closure property no longer holds when this hypothesis fails; using a counting argument, we show that there exists a finite language consisting of two strips whose collage is not recognizable. There exist general simple conditions guaranteeing recognizability of the collage in terms of the parameters of the collage, such as the maximum number of levels of strips. In the case where the alphabet is unary, yielding thus binary pictures with a color for the background and a color for the foreground, the collage is recognizable whatever the collection of strips (it may even be non-recursive).. As far as we know the operation of collage as we mean it here is new. In [7, Proposition 5.1.] , the author considers the operation consisting of tiling a picture with non-overlapping strips and shows a closure property for recognizable pictures. Concerning one-dimensional pictures, the notion of quasiperiodicity, which is remotely connected to our notion of collage was introduced in [1] . In our terminology it is a collage of a unidimensional picture with a unique strip as explained above and where the overlapping occurrences of the strip are obliged to match. A final word of caution though: the term collage was coined in [5] as a means of defining pictures via recursive geometric functions in the spirit of fractals, [2] . We use it here in a different meaning which we think appropriate for its kinship with the movement of painting of the first decades of the twentieth century.

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


Reasoning about preferences in argumentation frameworks The abstract nature of Dung's seminal theory of argumentation accounts for its widespread application as a general framework for various species of non-monotonic reasoning, and, more generally, reasoning in the presence of conflict. A Dung argumentation framework is instantiated by arguments and a binary conflict based attack relation, defined by some underlying logical theory. The justified arguments under different extensional semantics are then evaluated, and the claims of these arguments define the inferences of the underlying theory. To determine a unique set of justified arguments often requires a preference relation on arguments to determine the success of attacks between arguments. However, preference information is often itself defeasible, conflicting and so subject to argumentation. Hence, in this paper we extend Dung's theory to accommodate arguments that claim preferences between other arguments, thus incorporating metalevel argumentation based reasoning about preferences in the object level. We then define and study application of the full range of Dung's extensional semantics to the extended framework, and study special classes of the extended framework. The extended theory preserves the abstract nature of Dung's approach, thus aiming at a general framework for non-monotonic formalisms that accommodate defeasible reasoning about as well as with preference information. We illustrate by formalising argument based logic programming with defeasible priorities in the extended theory. This paper has extended Dung's theory of argumentation to integrate metalevel argumentation about preferences. Dung's level of abstraction is preserved, so that arguments expressing preferences are distinguished by being the source of a second attack relation that abstractly characterises application of preferences by attacking attacks between the arguments that are the subject of the preference claims. Dung's acceptability calculus has been extended to additionally account for reinstatement of attacks, and extensional semantics are then (apart from the grounded semantics) defined in exactly the same way as for a Dung framework. The extended theory thus retains the basic conceptual machinery of Dung's theory, and some basic results that hold for a Dung framework are also shown to hold for the extended framework. We therefore propose that applications and developments of Dung's theory can be readily modified to accommodate argumentation about preferences. In particular, proof theories [30] to determine the justified status of an argument A, take the form of games played between the proponent and opponent of A. Each player responds to its counterpart's move (argument) with an argument that attacks its counterpart's argument, and rules on the legality of moves vary according to the semantics under which the justified status of A is to be established. Ongoing work is focusing on adapting these proof theories to EAFs, by additionally allowing players to move arguments against the attacks that are implicitly moved by their counterparts.. Future work will also focus on development of dialogue frameworks in which participants can argue about preferences. Dung's inherently dialectical theory, and subsequent development of argument games, has informed development of dialogue frameworks in which participants' locutions implicitly define arguments that can be organised into a Dung framework. For example, Prakken defines a general framework for conflict resolution dialogues [33] that we believe can readily be generalised to accommodate preference arguments that can then be organised into an EAF. In a recent general framework for negotiation dialogues [4] , an agent can decide to accept or reject offers based on its own argumentation based model of reasoning about offers. The model assumes a given preference ordering on arguments. However, a comprehensive account of negotiation will also require that agents can justify and debate their preferences. Work on deliberation dialogues [21] , in which agents collaboratively decide on a preferred course of action, have also highlighted the need to debate the preferences that each agent uses when proposing or rejecting a course of action.. Our work provides a formal setting for studying application of preferences, and more generally, removal of attacks. We have shown that a less involved definition of acceptability suffices for preference symmetric EAFs, and that while in general an EAF's characteristic function is not monotonic, the characteristic functions of hierarchical and preference symmetric EAFs do satisfy monotonicity. Our work on preference symmetric EAFs can also inform work on resolution based semantics [9, 26] , whereby a framework's resolutions obtained by substituting asymmetric for symmetric attacks; indeed, the choice of resolution can now be explicitly modelled through integration of preference arguments.. The extended theory is proposed as a unifying formalism for works that augment Dung's abstract theory with preferences, and as a framework for instantiation by non-monotonic logics whose object level languages allow for expression of priorities over rules. In Section 5 we described how value based argumentation [11] , extended to allow integration of metalevel reasoning about values and value orderings, can be formalised in hierarchical EAFs. In Section 7, the inferences of an ALP-DP theory [34] were shown to correspond with the claims of arguments in the grounded extension of an EAF instantiated by the theory's arguments and attacks. In contrast with [34] , we also provided a well defined notion of the admissible and preferred extensions of an ALP-DP theory. It remains to formally show that extended argumentation semantics can be given for other object level formalisms such as [14, 17, 24] .. In Section 5 we described a practical reasoning example that assumed arguments constructed in an underlying BDI logic as described in [8] . This work is one amongst a number of recent works (e.g., [24, 25, 35] ) that propose argumentation based approaches to agent reasoning over the whole gamut of mental attitudes, including beliefs, goals, intentions, etc. We suggest that the framework described in this paper will facilitate development of agent reasoning formalisms that provide for defeasible reasoning about preferences, and thus provide for agent flexibility and adaptability (this proposal is explored in more detail in [29, 31] and also by Kakas and Moraitis [23, 24] ). For example, the BOID agent architecture characterises generated candidate goal sets as extensions of a prioritised default logic theory in which rules for inferring goals are modelled as defaults, and a prioritisation of these defaults resolves conflicts between goals [22] . Agent behavioural types correspond to different prioritisations. For example, a 'social' agent uniformly prioritises defaults for obligation derived goals above defaults for desire derived goals. However, certain contexts may warrant selfish behaviour (corresponding to the reverse prioritisation). Such behavioural heterogeneity requires reasoning as to which prioritisation (agent type) is appropriate in a given context. In [29] , we suggest that extended argumentation frameworks will facilitate development of logical formalisms for contextual reasoning of this type. The formalisms of Prakken and Sartor [34] and Kakas and Moraitis [24] , both construct arguments from logic programming rules, where these rules may express priorities over other rules. Our work can be viewed as a generalisation of these approaches in that we abstract from the underlying logic and the criteria used for determining preferences. Furthermore, these formalisms do not straightforwardly conform to application of Dung's acceptability calculus, whereas our approach allows for such application, through provision of an abstract characterisation of preference application while retaining the basic conceptual machinery of Dung. We have already shown how arguments defined by an ALP-DP theory instantiate a preference symmetric framework, so that unlike [34] , one can define extensions under the admissible and preferred semantics.. In [24] , arguments are built from a partitioned theory (T , P) consisting of logic programming rules with explicit negation, but without negation as failure. P denotes the set of rules with heads that are of the form hp(r, r ) expressing that r has higher priority than r , where r and r name rules in T ∪ P. An argument is a pair (T , P ) such that T ⊆ T , P ⊆ P and (T , P ) derives (by application of modus ponens) some literal L (T ∪ P L) (notice that (T , P ) may derive more than one literal, and so may contain multiple sets of rules chained through modus ponens). Then, (T , P ) symmetrically conflicts with (T , P ) iff T ∪ P L and T ∪ P ¬L (where L and ¬L may be contradictory priorities on rules). It is the attack relation that accounts for the priorities over rules, so that (T , P ) attacks (T , P ) iff they conflict on some L and ¬L, and such that the minimal subset T 1 ∪ P 1 of T ∪ P used to derive L is preferred to (in the sense of being 'at least as strong as') the minimal subset T 2 ∪ P 2 of T ∪ P used to derive ¬L. We refer the reader to [24] for how such a preference is defined; suffice it to say that the preference for (T 1 , P 1 ) over (T 2 , P 2 ) is based on the (T , P ) derived relative priorities of rules in (T 1 , P 1 ) and (T 2 , P 2 ). Let us here isolate the 'preference argument' (T p , P p ) (T p ⊆ T , P p ⊆ P ) that minimally derives these priorities.. [24] defines the admissibility of an argument (T , P ):. (T , P ) is admissible iff it is conflict free, and for any (T , P ) that attacks (T , P ), (T , P ) attacks (T , P ).. This definition equates with our definition of admissibility. Informally, one can see how to instantiate a preference symmetric EAF: by enumerating all (T , P) defined arguments that are only comprised of single sets of chained rules (as in [34] ); identifying preference arguments; defining R in terms of [24] 's symmetric conflict relation, and; defining D attacks from preference arguments to R attacks, corresponding to [24] 's definition of attack. Then, one can see that (T , P ) is admissible in [24] iff S = {(. Notice, that acceptability of a single argument with respect to set of arguments (and so articulation of a Dung style acceptability calculus and characteristic function) is not defined in [24] . Acceptability would need to be derived from the definition of admissibility, i.e., (T , P ) is acceptable w.r.t. (T , P ) if (T ∪ T , P ∪ P ) is admissible. This imposes stronger requirements than our definitions of acceptability and ps acceptability, neither of which would require showing that all arguments in (T ∪ T , P ∪ P ) are acceptable w.r.t. (T ∪ T , P ∪ P ) (as highlighted at the end of Section 4.1).. Other non-monotonic formalisms that enable reasoning about preferences, but that do not employ concepts from argumentation theory, include [14] and [17] . For example, [17] make use of a preference operator ⊗, so that a defeasible rule such as ¬sun_shining ⇒ raining ⊗ snowing expresses that if it is believed that the sun is not shining, then it is believed that it is raining; but if it is not raining then it is believed that is snowing. Given that the sun is not shining, one can see how the defeasible rule could be used in the construction of an argument A1 claiming that it is raining, and a symmetrically attacking argument A2 claiming that it is snowing, and an argument expressing a default preference for A1 over A2. If it turns out to be the case that it is not raining, this would constitute an argument defeating A1, so that A2 would now be reinstated.. We conclude by mentioning the work of [10] , in which argument frameworks are similarly extended to allow attacks on attacks. In this way, the strength of one argument's attack on another can be modified by another argument. The authors then describe how the strengths of arguments can propagate through the framework. However, this work does not address the issue of how to define the status of arguments under Dung's semantics. The formal study of argumentation has come to be increasingly central as a core study within Artificial Intelligence [12] . Logic based models of argumentation are being applied to formalisation of defeasible reasoning and conflict resolution over beliefs and goals, and to decision making over actions [1, 8, 24, 25, 35] . The inherently dialectical nature of these models have provided foundations for formalisation of argumentation-based dialogues [5] , where, for example, one agent seeks to persuade another to adopt a belief it does not already hold to be true [33] , or when agents deliberate about what actions to execute [21] , or negotiate over resources [4] . Furthermore, recent major research projects [6, 7] are developing general models of argumentation based inference, decision making and dialogue, and implementations of these models for deployment in agent and semantic grid applications.. Many of the above theoretical and practical developments build on Dung's seminal theory of argumentation [19] . A Dung argumentation framework is a directed graph consisting of a set of arguments Args and a binary conflict based attack relation R on Args. The extensions, and so justified arguments of a framework are then defined under different semantics, where the choice of semantics equates with varying degrees of scepticism or credulousness. Extensions are defined through application of an 'acceptability calculus', whereby an argument X ∈ Args is said to be acceptable with respect to S ⊆ Args iff any argument Y that attacks X is itself attacked by some argument Z in S (intuitively, any such Z is said to reinstate X ). For example, if S is a maximal (under set inclusion) set such that all its contained arguments are acceptable with respect to S, then S is said to be an extension under the preferred semantics.. Recent years have witnessed intensive formal study, development and application of Dungs ideas in various directions. This can be attributed to the abstract nature of a Dung argumentation framework, and the encoding of intuitive, generic principles of commonsense reasoning through application of the acceptability calculus. The underlying logic, and definition of the logic's constructed arguments Args and attack relation R is left unspecified, thus enabling instantiation of a framework by various logical formalisms. A theory's inferences can then be defined in terms of the claims of the justified arguments constructed from the theory (an argument essentially being a proof of a candidate inference -the argument's claim -in the underlying logic). Dung's theory can therefore be understood as a semantics for non-monotonic reasoning. In this view, what appropriately accounts for the correctness of an inference is that it can be shown to rationally prevail in the face of opposing inferences, where it is application of the acceptability calculus that encodes logic neutral, rational means for establishing such standards of correctness. Indeed, many logic programming formalisms and non-monotonic logics (e.g. default, auto-epistemic, defeasible, non-monotonic modal logics and certain instances of circumscription) have been shown to conform to Dung's semantics [13, [18] [19] [20] ].. Dung's extensional semantics may yield multiple extensions. The sceptically justified arguments are those that appear in every extension. However, one may then be faced with the problem of how to choose between conflicting credulously justified arguments that belong to at least one, but not all extensions. To illustrate, consider two individuals P and Q exchanging arguments A, B . . . about the weather forecast: P 1 : "Today will be dry in London since the BBC forecast sunshine" = A. Q 1 : "Today will be wet in London since CNN forecast rain" = B.. A and B claim contradictory conclusions and so attack each other (symmetrically attack). Under Dung's preferred semantics, there are two extensions: {A} and {B}. Neither argument is sceptically justified. One solution is to provide some means for preferring one argument to another. Some works (e.g., [32, 34] ) formalise the role of preferences in the underlying logical formalisms that instantiate a Dung framework. For example, in [32] , if X undercuts Y (where 'undercut' denotes a certain type of conflict based interaction), then XRY if Y is not stronger than (preferred to) X . Other approaches formalise the role of preferences at an abstract level. In Amgoud and Cayrol's Preference based Argumentation Frameworks [3] , a Dung framework is augmented with a preference ordering on Args, so that an attack by X on Y is successful only if Y is not preferred to X . In Bench-Capon's Value based Argumentation Frameworks (VAFs) [11] , a Dung framework is augmented with values and value orderings, so that an attack by X on Y is successful only if the value promoted by Y is not ranked higher than the value promoted by X according to a given ordering on values.. Examining the role of preferences in the above weather example, one might reason that A is preferred to B because the BBC are deemed more trustworthy than CNN. Hence B does not successfully attack A, and so this attack can be removed and we are only left with the successful attack from A to B. Thus only {A} will be a preferred extension; A is sceptically justified. This example illustrates resolution of an argumentation framework obtained by replacing symmetric attacks with asymmetric attacks. Properties relating frameworks and their resolutions have been studied in [9] and [26] . Properties of frameworks obtained through removal of asymmetric attacks have also been studied in the context of VAFs.

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


An analysis of packet sampling in the frequency domain Packet sampling techniques introduce measurement errors that should be carefully handled in order to correctly characterize the network behavior. In the literature several works have studied the statistical properties of packet sampling and the way it should be inverted to recover the original network measurements. Here we take the new direction of studying the spectral properties of packet sampled traffic. A novel technique to model the impact of packet sampling is proposed based on a theoretical analysis of network traffic in the frequency domain. Moreover, a real-time algorithm is also presented to detect the spectrum portion of the network traffic that can be restored once packet sampling has been applied. Preliminary experimental results are reported to validate the proposed approach. We review the body of the literature relevant to our discussion. In [7] a method is proposed that allows the direct inference of traffic flows by observing the trajectories of a subset of all packets traversing a domain. The key idea is to sample packets based on a hash function computed over the packet content. Using the same hash function yields the same sample set of packets in the entire domain, and enables the reconstruction of packet trajectories. The approach allows also to cope with unreliable report transport.. [8] focuses on the frequencies at which different numbers of packets per flow occur. In particular, the paper: (i) shows how to smooth the estimated flow size distribution in order to deal with short flows that disappear; (ii) uses maximum likelihood estimation to derive the full distribution of packet and byte flow lengths; (iii) exploits protocol level details to render the estimators more accurate.. In [9] a method for sampling flow records on some router interface is proposed. It is based on a threshold-based sampling strategy that sets the sampling probability according to the size of the flow record. The theoretical properties of the estimator have been derived. Moreover, it has been demonstrated that the algorithm has an accuracy slightly smaller than a modified version of the sample and hold algorithm proposed in [10] . Finally, several strategies to dynamically control the volume of the sampled traffic are proposed and compared.. In [15] the Sketch Guided Sampling (SGS) has been proposed. It sets the packet sampling probability according to an estimate of the size of the flow the packet belongs to. This translates into an increase in the packet sampling rate of the small and medium flows at slight expense of the large flows, resulting in much more accurate estimations of various network statistics. Other interesting proposals have been conceived to deal with large flows [2, 10, 16, 4, 11] . [13] demonstrates that it is impossible in practice to recover the spectral density of the packet arrival process and the distribution of the number of packets per flow using traditional packet based sampling. Thus, it proposes to sample flows rather than packets in order to achieve higher accuracy at the expense of an increased computational complexity. To model the spectral density of the traffic signal, we divide the time axis into small time slots with size t 0. In each slot, no more than one packet can be transmitted. In practice, this t 0 corresponds to the transmission time of the smallest packet over the monitored link. We define d(k) as the amount of data sent by S during the time interval

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


DNS performance and the effectiveness of caching This paper has two goals. First, it seeks to understand the performance and behavior of DNS from the point of view of clients and, second, it evaluates the effectiveness of caching. The study is based on three separate traces. The first two were collected in January and December 2000 respectively, at the link that connects the MIT LCS and AI labs to the rest of the Internet, the third trace was collected in May 2001 at one of two links connecting KAIST (Korea Advanced Institute of Science and Technology) to the rest of the Internet. Through analysis of these data they found the latency for a DNS query. One surprising result is that over a third of all lookups are not successfully answered. 23% of all client lookups in the most recent MIT trace fail to elicit any answer. In the same trace, 13% of lookups result in an answer that indicates an error. Many of these responses appear to be caused by missing inverse (IP-to-name) mappings or NS records 1 that point to non-existent or inappropriate hosts. DNS servers also appear to retransmit overly aggressively. While most successful answers are received in at most 2-3 retransmissions, failures cause a much larger number of retransmissions and thus packets that traverse the wide-area. The query packets for these unanswered lookups, including retransmissions, account for more than half of all DNS query packets in the trace. Loops in name server resolution are particularly bad, causing an average of 10 query packets sent to the wide area for each (unanswered) lookup. In contrast, the average answered lookup sends about 1.3 query packets. Loops account for 3% of all unanswered lookups. There were observations on changes in DNS usage patterns and performance. For example, the percentage of TCP connections made to names with low TTL values increased from 12% to 25% between January and December 2000, probably due to the increased deployment of DNS-based server selection for popular sites. Also, while median name resolution latency was less than 100 ms, the latency of the worst 10% grew substantially between January and December 2000. The relationship between numbers of TCP connections and numbers of DNS lookups in the MIT traces suggests that the hit rate of DNS caches inside MIT is between 80% and 86%. Since this estimate includes the effects of web browsers opening multiple TCP connections to the same server, DNS A-record 2 caching does not seem particularly effective; the observed cache hit rate could easily decrease should fewer 1 An NS record specifies the name of a DNS server that is authoritative for a name. 2 An A record specifies a name's IP address.

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