Energy-efficient, thermal-aware modeling and simulation of data centers: The CoolEmAll approach and evaluation results OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This paper describes the CoolEmAll project and its approach for modeling and simulating energy-efficient and thermal-aware data centers. The aim of the project was to address energy-thermal efficiency of data centers by combining the optimization of IT, cooling and workload management. This paper provides a complete data center model considering the workload profiles, the applications profiling, the power model and a cooling model. Different energy efficiency metrics are proposed and various resource management and scheduling policies are presented. The proposed strategies are validated through simulation at different levels of a data center. IT energy impact is now a major concern from the economical point of view but also from the sustainability one. IT was responsible for around 2% of the global energy consumption making it equal to the demand of aviation industry in 2008 [1] . Focusing on data centers, late 2012 numbers from the European Commission [2] shows that European data centers consumed 60 TW h during 2012. The same study expects this number to double before 2020.. While this aggregated consumption is high, still nearly a third of organizations (29%) owning data centers did not measure their efficiency in 2012 [3] . Out of this study, for the data centers that measure their Power Usage Effectiveness (PUE) [4] , more than a third (34%) have a PUE over or equal to 2, meaning they consume more power on cooling, air movement and infrastructure than on computing itself. The average PUE over all data centers is between 1.8 and 1.89.. Large energy needs and significant CO 2 emissions cause the issues related to cooling, heat transfer, and IT infrastructure location more and more carefully studied during planning and operation of data centers. Even if we take ecological and footprint issues aside, the amount of consumed energy can impose strict limits on data centers. First of all, energy bills may reach millions of euros making computations expensive. Furthermore, available power supply is usually limited so it also may reduce data center development capabilities, especially looking at challenges related to exascale computing breakthrough foreseen within this decade. For these reasons many efforts were undertaken to measure and improve energy efficiency of data centers. Some of those projects focused on data center monitoring and management [5] [6] [7] whereas others on prototypes of low power computing infrastructures [8, 9] . Additionally, vendors offer a wide spectrum of energy efficient solutions for computing and cooling [10, 11] .. A variety of possibilities exist at the design level, which have to be simulated in order to be compared and to select the best one. During the lifetime of a data center, smart management can lead to better visibility of the platform behavior and to reduce energy consumption.. In order to optimize the design or configuration of a data center we need a thorough study using appropriate metrics and tools evaluating how much computation or data processing can be done within a given power and energy budget and how it affects temperatures, heat transfers, and airflows within the data center. Therefore, there is a need for simulation tools and models that approach the problem from a perspective of end users and take into account all the factors that are critical to understanding and improving the energy efficiency of data centers, in particular, hardware characteristics, applications, management policies, and cooling. To address these issues the CoolEmAll project [12] aimed at decreasing energy consumption of data centers by allowing data center designers, planners, and administrators to model and analyze energy efficiency of various configurations and solutions. To this end, the project provides models of data center building blocks and tools that apply these models to simulate, visualize and analyze data center energy efficiency.. The structure of the paper is as follows. Section 2 presents relevant related works. Section 3 contains a brief description of the CoolEmAll project. In Section 4 we present the models that are used in the design and management tools. In Section 5 the metrics used to assess the quality of design and management are presented. Section 6 describes smart data center management techniques. In Section 7 we show the results of the simulation experiments and the impact of the proposed models and tools. Section 8 concludes the paper. In this paper we have presented the approaches and evaluation results of the CoolEmAll project with the aim of making data centers more energy and resource efficient. We have presented workload profiles, application-workloads, power and cooling models used in the approach. In addition, different energy efficiency metrics at different levels of analysis were proposed. Various resource management and scheduling policies, including performance, energy, thermal-aware policies and consolidation policies were presented. Simulations were conducted by using the Data Center Workload and Resource Management Simulator (DCworms) for different levels in a data center, i.e., RECS level, rack level and room level. The experiments validate the specific resource management policies proposed and the energy-efficiency metrics. In future works, CFD simulations will be conducted to validate the simulation results. We will also study resource management allocation considering heat recirculation in the data center and other resource management policies such as DVFS. He holds a doctorate degree in Thermal Engineering from the Polytechnical University of Catalonia and he has research and professional experience in the fields of heat and mass transfer, fluid mechanics, numerical and dynamic simulation, energy efficiency, building physics, thermal comfort, software development and daylighting. Additionally, he is founder and minor partner of a new company which is devoted to develop a solar thermal concentrating collector with stationary reflector. He collaborates in several national and international research and consultancy projects. He has leaded the promotion and consolidation of the use of advanced simulation tools in Spain and Portugal like TRNSYS (more than 100 users), EES or Meteonorm. He is one of the main developers of the TRANSOL tool (more than 400 users over the world) for the simulation and design of solar thermal systems. He teaches in master and postgraduate courses and also has interest on project management, leading & organizational aspects of work groups and business intelligence. He was born in 1969 in Mallorca.. Laura Siso is MSc in Energy Engineering. She has been working on issues related to energy efficiency and renewable energy for more than 18 years, through the realization of studies, projects and systems monitoring, in several reputed companies of Spain. She has technically delved into the technologies of sustainable building, air conditioning, solar thermal, dynamic simulation of thermal performance of systems, co-generation and district heating and cooling networks. Focus of the application of these technologies has been building, industry and data center sectors. Her experience has been developed on both engineering and research fields, as well as, a global vision about energy applications, economics and savings has been achieved during all of this time. Along her professional career, she developed skills of leading technical teams, managing long-term projects and participating in international research projects (European Commission) and networks (International Energy Agency). Nowadays she leads her own consultancy company MIRA ENERGIA (www.miraenergia.com) which offers consultancy services of energy efficiency in building sector and implementation of renewable energy technologies. Particularly, the global sustainability concepts achieve the practical application through the implementation of LEED Building Certification. In parallel, she is acting as senior researcher in the field of data centers, as in-house consultant at IREC (Catalonia Institute for Energy Research), to find out bestpractices to reduce the carbon emissions and operation costs associated to the high energy consumption of those facilities. Thomas Zilio is a computer science engineer. He received his Master's degree in computer science at the University of Toulouse in 2012. He is a member of the IRIT Laboratory and the SEPIA Team and has been working on the CoolEmAll project which aims at providing advanced simulation, visualization and decision support tools for modular data centre environment since late 2012. Issues related to cooling, heat transfer, IT infrastructure configuration, IT-management, arrangement of IT-infrastructure as well as workload management are gaining more and more interest and importance, as reflected in many ongoing works both in industry and research. There are already software tools available on the market capable to simulate and analyze thermal processes in data centers. Examples of such software include simulation codes along with more than 600 models of servers from Future Facilities [13] with its DC6sigma products, CA tools [14] , or the TileFlow [15] application. In most cases these simulation tools are complex and expensive solutions that allow modeling and simulation of heat transfer processes in data centers. To simplify the analysis process Romonet [16] introduced a simulator, which concentrates only on costs analysis using simplified computational and cost models, disclaiming analysis of heat transfer processes using Computational Fluid Dynamics (CFD) simulations. Common problem in case of commercial data center modeling tools is that they use closed limited databases of data center hardware. Although some of providers as Future Facilities have impressive databases, extensions of these databases and use of models across various tools is limited. To cope with this issue Schneider have introduced the GENOME Project that aims at collecting ''genes'' which are used to build data centers. They contain details of data center components and are publicly available on the Schneider website [17] . Nevertheless, the components are described by static parameters such as ''nameplate'' power values rather than details that enable simulating and assessing their energy efficiency in various conditions. Another initiative aiming at collection of designs of data centers is the Open Compute Project [18] . Started by Facebook which published its data center design details, it consists of multiple members describing data centers' designs. However, Open Compute Project blueprints are designed for description of good practices rather than to be applied to simulations.. In addition to industrial solutions significant research effort was performed in the area of energy efficiency modeling and optimization. For example, models of servers' power usage were presented in [19] whereas application of these models to energy-aware scheduling in [20] . Additionally, authors in [21, 22] proposed methodologies of modeling and estimation of power by specific application classes. There were also attempts to use thermodynamic information in scheduling [23] . Nevertheless, the above works are focused on research aspects and optimization rather than providing models to simulate real data centers. In [24] , the authors propose a power management solution that coordinates different individual approaches. The solution is validated using simulations based on 180 server traces from nine different real-world enterprises. Second, using a unified architecture as the base, they perform a quantitative sensitivity analysis on the impact of different architectures, implementations, workloads, and system design choices. Shah and Krishnan [25] explores the possibility of globally staggering compute workloads to take advantage of local climatic conditions as a means to reduce cooling energy costs, by performing an in-depth analysis of the environmental and economic burden of managing the thermal infrastructure of a globally connected data center network. SimWare [26] is a data warehouse simulator which compute its energy efficiency by: (a) decoupling the fan power from the computer power by using a fan power model; (b) taking into account the air travel time from the CRAC to the nodes; and (c) considering the relationship between nodes by the use of a heat distribution matrix.

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


Exposing Multi-Relational Networks to Single-Relational Network Analysis Algorithms Many, if not most network analysis algorithms have been designed specifically for single-relational networks; that is, networks in which all edges are of the same type. For example, edges may either represent "friendship," "kinship," or "collaboration," but not all of them together. In contrast, a multi-relational network is a network with a heterogeneous set of edge labels which can represent relationships of various types in a single data structure. While multi-relational networks are more expressive in terms of the variety of relationships they can capture, there is a need for a general framework for transferring the many single-relational network analysis algorithms to the multi-relational domain. It is not sufficient to execute a single-relational network analysis algorithm on a multi-relational network by simply ignoring edge labels. This article presents an algebra for mapping multi-relational networks to single-relational networks, thereby exposing them to single-relational network analysis algorithms. Much of graph and network theory is devoted to understanding and analyzing single-relational networks (also known as directed or undirected unlabeled graphs). A single-relational network is composed of a set of vertices (i.e. nodes) connected by a set of edges (i.e. links) which represent relationships of a single type. Such networks are generally defined as G = (V, E), where V is the set of vertices in the network, E is the set of edges in the network, and E ⊆ (V × V ). For example, if i ∈ V and j ∈ V , then the ordered pair (i, j) ∈ E represents an edge from vertex i to vertex j.. 2 Ignoring the differences in the vertices that edges connect, all edges in E share a single nominal, or categorical, meaning. For example, the meaning of the edges in a single-relational social network may be kinship, friendship, or collaboration, but not all of them together in the same representation as there is no way distinguish what the edges denote. Moreover, single-relational networks may be weighted, where w : E → R is a function that maps each edge in E to a real value. Weighted forms are still considered single-relational as all the edges in E have the same meaning; the only difference is the "degree of meaning" defined by w.. The network, as a data structure, can be used to model many real and artificial systems. However, because a network representation of a system can be too complicated to understand directly, many algorithms have been developed to map the network to a lower dimensional space. For a fine review of the many popular network analysis algorithms in use today, refer to [1, 2] . Examples of such algorithms, to name a few of the more popularly used algorithms, include the the family of geodesic [3, 4, 5, 6] , spectral [7, 8, 9] , and community detection algorithms [10, 11, 12] .. Most network analysis algorithms have been developed for single-relational networks as opposed to multi-relational networks. A multi-relational network is composed of two or more sets of edges between a set of vertices. A multirelational network can be defined as M = (V, E), where V is the set of vertices in the network, E = {E 1 , E 2 , . . . , E m } is a family of edge sets in the network, and any E k ⊆ (V ×V ) : 1 ≤ k ≤ m. Each edge set in E has a particular nominal, or categorical, interpretation. For example, within the same network tions articulate the use of the constructs summarized here.. The purpose of the presented algebra is to transform a multi-relational network into a "semantically-rich" single-relational network. This is accomplished by manipulating a three-way tensor representation of a multirelational network. The result of the three-way tensor manipulation yields an adjacency matrix (i.e. a two-way tensor). 3 The resultant adjacency matrix represents a "semantically-rich" single-relational network. The "semanticallyrich" aspect of the resultant adjacency matrix (i.e. the single-relational network) is determined by the algebraic path description used to manipulate the original three-way tensor (i.e. the multi-relational network). More formally, the multi-relational path algebra is an algebraic structure that operates on n×n adjacency matrix "slices" of a n×n×m three-way tensor representation of a multi-relational network in order to generate a n × n path matrix. The generated n×n path matrix represents a "semantically-rich" single-relational network that can be subjected to any of the known single-relational network analysis algorithms. The path algebra is a matrix formulation of the grammar-based random walker framework originally presented in [18] . However, the algebra generates "semantically-rich" single-relational networks, as opposed to only executing random walk algorithms in a "semantically-rich" manner. In other words, the algebra is cleanly separated from the analysis algorithms that are ultimately applied to it. This aspect of the algebra makes it generally useful in many network analysis situations.. The following list itemizes the various elements of the algebra to be discussed in §3.. • A ∈ {0, 1} n×n×m : a three-way tensor representation of a multi-relational network. The number of algorithms and toolkits for single-relational networks far exceeds those currently available for multi-relational networks. However, with the rising popularity of the multi-relational network, as made evident by the Web of Data initiative and the multi-relational RDF data structure [45] , there is a need for methods that port the known single-relational network analysis algorithms over to these multi-relational domains. A convenient method to do so is a path algebra. Path algebras have been used extensively for analyzing paths in single-relational networks [46, 47] and the application to multi-relational networks can prove useful. The multi-relational path algebra presented in this article operates on an n × n × m tensor representation of a multi-relational network. By means of a series of operations on two-way "slices" of this tensor, a "semantically-rich" n × n single-relational path matrix can be derived. The resulting path matrix represents a singlerelational network. This single-relational network may then be subjected to any of the known single-relational network analysis algorithms. Thus, the presented path algebra can be used to expose multi-relational networks to single-relational network analysis algorithms.

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


State-based power analysis for systems-on-chip can be imdemented in hardware and software bv using a dedicated Early power analysis for systems-on-chip (SoC) is crucial for determining the appropriate packaging and cost. This early analysis commonly relies on evaluating power formulas for all cores for multiple configurations of voltage, frequency, technology and application parameters, which is a tedious and error-prone process. This work presents a methodology and algorithms for automating the power analysis of SoCs. Given the power state machines for individual cores, this work defines the product power state machine for the whole SoC and uses formal symbolic simulation algorithms for traversing and computing the minimum and maximum power dissipated by sets of power states in the SOC. In current systems-on-chip (SoC) design methodologies, one of the first steps is the definition of the overall architecture and the cost metrics, such as die-size, inpudoutput (IO) requirements and power consumption. These metrics are required for choosing the appropriate packaging and define the overall dollar cost [l] . Since this is done in the earliest stages of the design, there is no detailed description, and the only available hardware specification is likely to be a block diagram, with a list of components, and IO requirements.. Estimates of power consumption, at this stage, are based on spreadsheets built from simplified power formulas. These formulas are meant to retum average power consumption values for given estimated parameters, such as the size and type of the logic block, capacitances, switching activity, number of hardware accesses, frequency and power supply (Vdd). Although these formulas can be inaccurate, they can be tuned from design to design and with enough designer experience on choosing the expected switching activity for each block, they do provide useful early estimates for the overall chip power consumption. The PowerPlay tool [2] is an application of such spreadsheet approach.. Modem SoCs rely on power management schemes to control power consumption dynamically. Power management approaches Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. power mAagement unit (PMU) which can confrol th; operational modes of other cores. The PowerPC 603e processor [3] , for example, supports four power modes, namely, Full Power, Doze, Nap and Sleep. Other less complex cores may support simpler modes such as Active for full operation, Idle for the no-input-activity state, and Sleep for the fully clock-gated state. In an SoC, at any time during its operation, there may be cores which are in active mode, while others may be in sleep or other modes. By adding up the power values for all cores according to their mode of operation, one can get a value for the total SoC power consumption.. Given all variations in the power consumed by a core, a designer is forced to run the spreadsheets hundreds of times for all cores with different parameters in order to get a representative picture of the SoC power consumption under different operating scenarios. This is clearly very time consuming and error prone on the expected coverage. It is easy to overlook specific scenarios and fail to explore fully the power design space when running the spreadsheet analysis manually.. The work in [4] was a step in automating this process by modeling the different power modes in each core as a power state machine (PSM) and applying a simulation of all state machines in order to estimate the chip power for a given execution scenario. However, this model was limited in that it did not take into account the interactions among the state machines and it required real input traces to drive the simulation. This paper presents an approach for early formal analysis and exploration of the power design space for core-based SoCs. The key to this analysis is a new formal model for the different states in which the SoC can operate. Given the PSM for each core, the approach in this paper computes the power state machine for the whole SoC as the product of all individual PSMs for the cores. It combines the spreadsheet-like calculations with the PSM model for each core, and formally computes the product power state machine for the whole SOC. It then performs a symbolic simulation of the product PSM for all possible input combinations or for specific scenarios. To the best of the authors' knowledge this is the first work that applies formal methods to the dynamic analysis of power consumption in core-based SoCs. This paper presented a methodology and algorithms for statebased power analysis of core-based systems-on-chip. The approach combines the use of spreadsheet models (i.e., power equations) and the power state machine for each core with a formal framework for computing the product power state machine for the SOC. Then by means of symbolic simulation techniques, the power states are visited and the minimum and maximum power for the states computed by adding up the power values for each core in a given state. The key advantages of this approach are: (a) a formal framework for computing the maximum and minimum power of all reachable states, (b) the ability to explore quickly the impact of different parameters, e.g. switching activity, Vdd, etc., and (c) the ability to explore the dynamic power behavior as time progresses. Results for a realistic example demonstrated the capabilities of the techniques presented.

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


ZIP60: Further Explorations in the Evolutionary Design of Trader Agents and Online Auction-Market Mechanisms Abstract-The zero-intelligence plus (ZIP) adaptive automated trading algorithm has been demonstrated to outperform human traders in experimental studies of continuous double auction (CDA) markets populated by mixtures of human and "software robot" traders. Previous papers have shown that values of the eight parameters governing behavior of ZIP traders can be automatically optimized using a genetic algorithm (GA), and that markets populated by GA-optimized traders perform better than those populated by ZIP traders with manually set parameter values. This paper introduces a more sophisticated version of the ZIP algorithm, called "ZIP60," which requires the values of 60 parameters to be set correctly. ZIP60 is shown here to produce significantly better results in comparison to the original ZIP algorithm (called "ZIP8" hereafter) when a GA is used to search the 60-dimensional parameter space. It is also demonstrated here that this works best when the GA itself has control over the dimensionality of the search-space, allowing evolution to guide the expansion of the search-space up from 8 parameters to 60 via intermediate steps. Principal component analysis of the best evolved ZIP60 parameter-sets establishes that no ZIP8 solutions are embedded in the 60-dimensional space. Moreover, some of the results and analysis presented here cast doubt on previously published ZIP8 results concerning the evolution of new "hybrid" auction mechanisms that appeared to be improvements on the CDA: it now seems likely that those results were actually consequences of the relative lack of sophistication in the original ZIP8 algorithm, because "hybrid" mechanisms occur much less frequently when ZIP60s are used. The zero-intelligence plus ("ZIP") adaptive automated trading algorithm [10] has been demonstrated to outperform human traders in experimental studies of continuous double auction (CDA) markets populated by mixtures of human and software-agent "robot" traders [19] . The CDA is an auction mechanism in which transaction prices observed in the marketplace reliably, rapidly, and robustly converge to the market's underlying theoretical competitive equilibrium price. Such equilibration behavior is highly desirable, and the CDA is used extensively in the world's financial markets. To successfully populate a CDA market with ZIP traders, the values of eight control parameters need to be set correctly. While these eight values can of course be set manually, previous papers have demonstrated that values of those parameters can be automatically optimized using a simple genetic algorithm (GA) to tailor ZIP traders to particular markets, producing results superior to those from ZIP traders with manually set parameter values [11] , [12] . Furthermore, a simple extension of the GA-ZIP approach (i.e., adding a single additional real-valued numeric parameter) allows for automated market-mechanism design, and has been demonstrated as a possible way of automatically discovering novel forms of auction mechanism that appear to have better equilibration properties than the CDA [13] , [14] , [16] . This paper introduces a more sophisticated version of the ZIP algorithm, known as "ZIP60" because it requires 60 real-valued control parameters to be set correctly; and thus the original ZIP algorithm is now in turn renamed "ZIP8." It is shown here that CDA markets populated with ZIP60 traders show significantly better equilibration than markets populated with ZIP8 traders. Manually identifying the correct values for 60 control parameters could be a very laborious task, but it is demonstrated here that an appropriate GA-based automatic optimization process can discover good sets of values for the parameters. The same simple GA as was used with ZIP8s, now operating in the 60-dimensional parameter space, produces ZIP60 traders with mean scores significantly improved over ZIP8s, but also with worryingly high variance in those improvements. A slight revision of the approach is shown to give results with even higher mean improvements and also with an attractively much lower variance in those improvements. The revised approach involves giving the GA control over the dimensionality of the parameter-space being searched so that the evolutionary search starts in an 8-dimensional space, and the GA then automatically and gradually expands the dimensionality of the search-space up to 60-dimensional only when the increased number of parameters leads to identifiably better solutions.. Reliance on an offline ("batch-mode") optimizer such as the GA used here is something of an obstacle to real-world deployment of ZIP60. If we consider any one vector of 60 parameter values as a potential "solution" for using ZIP60 in a real-world market, then the GA can be thought of as evaluating a large number of candidate solutions against some number of test problems, with the intention that the best solution found by the GA could then be deployed in the real-world market. From the new data summarized and analyzed in this paper, it is clear that the ZIP60 variant of ZIP is a genuine improvement on the original ZIP8, and that ZIP60 parameter-vectors that outperform ZIP8 can be found by a simple GA so long as some care is taken in the application of that GA. Specifically, the care required is that the initial population be seeded with low-dimensional ZIP8s (or ZIP10s), and that expansion of the dimensionality of the search-space is allowed by the GA only when that expansion leads to increases in the fitness of the individuals concerned. Principal component analysis of the elite evolved parameter-sets from multiple runs under differently-changing supply and demand schedules revealed that the evolved parameter-vectors use considerably more values than the eight available in ZIP8, but also indicates that perhaps the best sets of parameter values reside in lower dimensional subspaces within the 60-dimensional ZIP60 parameter space. Thus, it is possible that further analysis of elite evolved ZIP60 parameter-sets will reveal correlations and systematic dependencies, so that the full set of 60 parameter-values can be generated merely by specifying the values of an appreciably smaller number of independent parameters, from which the values of the remaining (dependent) parameters can then be set. Searching for such a subset of independent variables is likely to require nonlinear multivariate analysis techniques; and if such an independent sub-set can be identified then the next problem to be solved is finding a way to adjust those independent parameter-values "on the fly" as the market supply and demand alter dynamically, rather than relying on a "batch-mode" optimizer such as the GA used here. Finally, the fact that (in comparison to previous experiments using ZIP8 traders) the experiments with ZIP60 traders reported here show a reduced incidence of the discovery of "hybrid" auction mechanisms is possibly an indication that the hybrid auctions evolve as a consequence of a lack of sophistication in the behavior of ZIP8 traders: with the comparatively finer-grained responses of ZIP60 traders, hybrid mechanisms evolve much less frequently, and so it is tempting to conjecture that if the same type of auction-design experiments were repeated with even more sophisticated trader agents, hybrid mechanisms would not occur at all. That question remains one of many topics for further research. These previous GA-ZIP results have subsequently been replicated, adapted, and extended in a number of independent studies. Robinson [48] explored the use of evolved market-mechanisms in the context of market-based control (e.g., [9] ) of scarce resources in utility-scale corporate data centers. Walia et al. [59] and Cliff et al. [15] explored the use of the same evolving-mechanism techniques but with markets populated by Gode and Sunder's [26] ZI trader-agents rather than ZIP traders, again finding evidence that nonstandard hybrid mechanisms were discovered as good/best solutions by the GA; and Byde [7] demonstrated that the same techniques could lead to the evolution of hybrid sealed-bid auction mechanisms, regardless of the type of trader operating in the market. Shipp [51] investigated how the nature of the evolved solutions changed as the number of "market shocks" used in the evaluation process increased; and Wichett [61] explored a system in which multiple reproductively separate "gene-pools" of ZIP traders competed, co-adapted, and coevolved along with the market mechanism. Other recent uses of ZIP include modifying it for bargaining in sealed-bid auctions [3] ; using ZIP traders to study speculative trading in business-to-business exchanges [35] ; and using ZIP traders to explore issues of reputation and information-quality in market systems [33] .. In addition to the work of Phelps et al. [41] - [43] , which was undertaken at approximately the same time as the research summarized in Section II-C, a number of other authors have more recently reported on the results of using artificial evolution and other forms of automated search, learning, or optimization for exploring spaces of possible trader-agent strategies, and possible new auction mechanisms, generally with positive results [24] , [28] , [36] , [39] , [40] , [47] , [57] . Of course, the paper introducing ZIP [10] was not the first-ever study of artificial trading agents in CDA markets; relevant prior work includes that by Wilson [62] and Friedman [22] ; for further review of previous work, see [10] . Almost all traders in the global international financial markets interact via a particular form of auction market mechanism known as the CDA, more details of which will be given later. The CDA has been the subject of much study by economists, partially because it is so common (and hence so important) in the world of finance, but also because CDA markets typically exhibit a very attractive characteristic: experimental studies have demonstrated that the transaction prices in a CDA market rapidly converge on the market's theoretical equilibrium price. Students of microeconomics know the equilibrium price as the price at which the market's supply and demand curves intersect; but, colloquially, the equilibrium price is important because if transactions are consistently taking place at off-equilibrium prices then someone somewhere in the market is being ripped off. Hence, rapid and stable equilibration is desirable in any auction. The reasons why CDA markets typically exhibit rapid and stable equilibration are still the topic of research and debate (see, e.g., Friedman and Rust [23] ).. ZIP adaptive trading agents, introduced in [10] are software-agent "robots" that use a few heuristic rules and some simple machine learning techniques to adapt to operating as buyers or sellers in electronic versions of open-outcry auction-market environments. The market environments are similar to those used in Smith's [53] pioneering (and, subsequently, Nobel-prize-winning) experimental economics studies of the CDA and other auction mechanisms. Four years after the invention of ZIP, in some surprising empirical studies undertaken at IBM's research labs by Das et al. [19] , it was shown that ZIP traders (and also IBM's own "MGD" trading algorithm) consistently out-perform human traders in human-against-robot experimental-economics CDA marketplaces. In the IBM experiments, the robot traders consistently made profits a few percentage points higher than did the human traders they were competing against, and ZIP had the joint-highest average efficiency 1 of the algorithms used in the IBM study. Specifically, the mean values calculated from the efficiency data presented in [19, Higher efficiency values are more desirable, so the algorithms are clearly outperforming the humans, but the difference between the mean values for ZIP and MGD is so small that it seems highly unlikely to be statistically significant. In discussing the possible impact of their work, Das et al. [19] speculate on the possibility of future online e-marketplaces currently populated by human traders becoming populated entirely by trader-agents.. The fact that ZIP did no worse than MGD in the heterogeneous human-robot studies reported by Das et al. [19] is curious, and something of an anomaly. Previous studies by the IBM team had demonstrated that in similar studies where all the traders were robots, MGD did better than ZIP [56] ; and in a paper published after the Das et al. [19] human-robot interaction studies, Tesauro and Bredin [57] presented details of an algorithm called GDX which outperforms both MGD and ZIP in robot-versus-robot studies. GDX is based on MGD, extended to incorporate techniques from Dynamic Programming. Thus, while MGD and GDX have both been shown to outperform ZIP when there are no human traders active in the market (with GDX being dominant), the only presently available rigorous experimental results from human-robot interactions show ZIP and MGD as performing equally well, and both outperforming humans. Understanding why this intransitivity exists is clearly a topic for further research.. The style of auction used in the experiments reported here follows that of the original ZIP studies [10] which themselves followed Smith's [53] lead in having the traders react only to the most recent quote in the marketplace. That is, the studies here maintain no persistent order book showing the price-ordered list of best offers, and the price-ordered list of best bids, currently being quoted by the traders active in the market. In this sense, the experimental markets studied here are closer to the real-world markets for foreign exchange (FX) than they are for equities: most prominent national/international equity ex-changes operate on an order-book basis; whereas the international FX markets do not yet do so, even where screen-based transactions account for much of the trading volumes (however, a transition to showing order-books or "price ladders" on FX dealing screens currently appears to be getting underway). Adapting ZIP to operate in order-book-based markets is relatively trivial. Das et al. [19] , and Tesauro and Das [56] , each used ZIP in dynamic asynchronous order-book-based marketplaces, and they report that for their studies of strategic interactions they independently arrived at the same relatively minor extensions of ZIP that had earlier been developed by Preist and van Tol [44] . Certainly the extensions required of ZIP were sufficiently minor that the authors of the IBM papers did not see a need to rename ZIP, whereas their altered and extended versions of the original GD algorithm [25] were renamed MGD [56] ; [19] ) and then GDX [57] .. There are a number of numeric parameters that govern the adaptation and trading processes of ZIP traders, and these parameters need somehow to be assigned values if a marketplace is to be populated by ZIP traders. In the original 1997 version of the ZIP algorithm, the parameter-values were set by hand, using "educated guesses." However, subsequent papers [11] , [12] presented the first results from using a standard evolutionary computation technique-i.e., a simple "plain-vanilla" GA (see, e.g., [27] and [38] )-to automatically optimize these parameter values, thereby eliminating the need for skilled human input in deciding the values. The GA found parameter-settings that were clear improvements on those initially chosen by hand by the inventor of the algorithm. This paper continues the exploration (documented in [13] , [14] , and [16] ) of some specific consequences of asking the following question: if, as Das et al. [19] speculate, trader agents will come to replace human traders at the point of execution in online e-marketplaces, then why should those online e-marketplaces use auction mechanisms designed by humans, for humans? Perhaps there are new market mechanisms, suitable only to populations of robot-traders, that are more efficient (or otherwise more attractive) than currently known human-based mechanisms.. Designing new market mechanisms is hard, and the space of possible mechanisms is vast. For this reason, it is attractive to use an automated search of the space of possible mechanisms (that is, we get a computer to do the auction-design). This paper employs one type of automated search/optimization algorithm, i.e., the GA, but any of many other types of automated search or optimization process could in principle have been used instead.. Prior to the research described in [13] , in all previous work using artificial trading agents-ZIP or otherwise-the market mechanism (i.e., the type of auction the agents are interacting within) had been fixed in advance. Well-known market mechanisms from human economic affairs include: the English Auction (EA) (where sellers stay silent and buyers quote increasing bid-prices); the Dutch Flower Auction (DFA) (where buyers stay silent and sellers quote decreasing offer-prices); and the CDA (where sellers can announce decreasing offer prices, while simultaneously and asynchronously the buyers can announce increasing bid prices, with the sellers being free to accept any buyer's bid at any time and the buyers being free to accept any seller's offer at any time, all in the absence of an auctioneer). 2 The first results from experiments where a GA optimizes not only the parameter values for the ZIP trading agents, but also the style of market mechanism in which those traders operate, were presented in [13] . To do this, a space of possible market mechanisms was created for evolutionary exploration. The space includes the CDA and also one-sided auctions similar (but not actually identical to) the EA and the DFA. Significantly, this space is continuously variable, allowing for any of an infinite number of peculiar hybrids of these auction types to be evolved, which have no known correlate in naturally occurring (i.e., human-designed) market mechanisms. While there was nothing to prevent the GA from settling on solutions that correspond to the known CDA mechanism-type or the two entirely one-sided mechanisms, it was found that "hybrid" mechanisms, partway between the CDA and the one-sided mechanisms, could lead to the most desirable market dynamics. The significance of this is that although the hybrid market mechanisms could easily be implemented in online electronic marketplaces, they have not been designed by humans: rather they are the product of an automated (GA) search through a continuous space of possible auction-types. Thus, the results in [13] were the first demonstration that radically new market mechanisms for artificial traders may be designed by automatic means. At much the same time, Steve Phelps and his colleagues were independently working on a conceptually very similar (but algorithmically rather different) theme of using artificial evolution to develop and study new auction-market mechanisms [41] - [43] . Specifically, the methods used by Phelps et al. were initially genetic programming (see, e.g., [32] ) and then replicator dynamics models (see, e.g., [5] and [63] .. Although the performance of the evolved market mechanisms is typically only better by a few percentage points (or even only a few basis points-i.e., a few hundredths of a percentage point) than that of the established human-designed mechanisms, the economic consequences could nevertheless be highly significant. The total value of trades in the decentralized, global, 24 7, FX market is approximately US trillion per day (for comparison, major stock exchanges such as New York have order flows nearer U.S.. trillion per year). If only 0.1% of that liquidity could be eliminated or captured by a more efficient computer-designed market mechanism, the value saved (or profit generated) would be enough to buy a very big yacht indeed.. While the results presented here turn out to cast some doubt on the earlier results from evolving hybrid market mechanisms with ZIP traders, it is important to note that those doubts are not actually a conclusive demolition. Moreover, the improved versions of ZIP introduced in this paper are perfectly capable of operating in regular CDA auctions.

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


Consistent interactive augmentation of live camera images with correct near-field illumination Inserting virtual objects in real camera images with correct lighting is an active area of research. Current methods use a high dynamic range camera with a fish-eye lens to capture the incoming illumination. The main problem with this approach is the limitation to distant illumination. Therefore, the focus of our work is a real-time description of both near -and far-field illumination for interactive movement of virtual objects in the camera image of a real room. The daylight, which is coming in through the windows, produces a spatially varying distribution of indirect light in the room; therefore a near-field description of incoming light is necessary. Our approach is to measure the daylight from outside and to simulate the resulting indirect light in the room. To accomplish this, we develop a special dynamic form of the irradiance volume for real-time updates of indirect light in the room and combine this with importance sampling and shadow maps for light from outside. This separation allows object movements with interactive frame rates (10 -17 fps). To verify the correctness of our approach, we compare images of synthetic objects with real objects. Augmenting real camera images with virtual objects has many applications in the movie industry, cultural heritage and architecture, like augmented building sites or virtual furniture in real rooms. Recent hardware developments allow real-time capturing of high dynamic range (HDR) images of the current environmental light which is necessary for a consistent illumination of the virtual objects. The assumtion often used for natural illumination is distant lighting, which is acceptable for outdoor applications but fails for an indoor scenario, where a correct near-field description of the light is necessary because of the spatially varying indirect light. Our work is therefore focussed on interactive augmentation of camera images, showing a real room under time-varying daylight. We use a HDRC video camera (IMS Chips) with a fish-eye lens which captures the daylight outside the room and simulate the resulting indirect light in the room on-the-fly. The display of the virtual object is a combination of graphics hardware for direct daylight and a time-varying irradiance volume for color bleeding effects. Our main contributions are:. • We develop a system for interactive illumination of virtual objects in real camera images which enables the display of objects with an arbitrary far-field and a diffuse near-field illumination.. • We present a dynamic version of the irradiance volume which automatically adapts to temporally varying incident light. • For direct light, we show how to draw samples in the environment map which contain only the necessary illumination that is falling through the real windows onto the virtual object.. The rest of the paper is organized as follows: In Section 2 we review existing work and in Section 3 we explain our approach. The necessary preparations are described in Section 4. Section 5 explains the precomputations and Section 6 shows how to use them for interactive illumination. The sampling for direct illumination is described in Section 7 before we demonstrate our results in Section 8 and conclude in Section 9. In this paper, we presented a method for interactive illumination of virtual objects, which are placed in real camera images of rooms under time-varying lighting. For consistent illumination, both farand diffuse near-field illumination is computed. For a correct nearfield description we developed a dynamic version of the irradiance volume which automatically adapts to the incoming far-field illumination in real-time. The far-field illumination is measured with an HDR fish-eye video camera, placed outside the room. This distant illumination is displayed with the graphics hardware. A number of samples is taken from the fish-eye image and a multi-pass algorithm with shadow maps is used for display. To obtain a direct illumination with high quality, we developed a special sampling strategy to select only samples which correspond to incoming light directions that illuminate the virtual object through the windows of the room.. We obtain interactive frame rates for our testscenes and a similar appearance of virtual objects in comparison with real objects. Currently, our system is restricted to diffuse materials and no indirect shadows can be displayed. Due to the limitation of the irradiance volume, no changes in indirect lighting, introduced by the virtual object, e.g. color bleeding from virtual to real objects, can be displayed.. Some images show colored noise (e.g. Figure 6 and 7), which becomes visible after a color saturation required for displaying images from the HDR camera. Alternatively, a low dynamic range (LDR) camera with lower noise and higher resolution could be used for viewing the virtual object. But in this case a color transformation between the camera images would be required. Different camera sensors with different spectral sensitivities, a time-varying white balance and saturated pixels must be considered here. We leave this topic as future work, for now we remove the camera noise by averaging a few successive frames (for still images). A higher resolution of the fish-eye camera would also be desirable, because the size of the sun is only a few pixels which introduces a slight color shift, because the color image is computed from a Bayer pattern.. Many research directions exist for future work: Direct illumination can be improved by using more sophisticated sampling, e.g. Quasi Monte Carlo methods [Pharr and Humphreys 2004] and filtering samples over time [Havran et al. 2005] . Moreover, we investigate if the inclusion of real lightsources [Goesele et al. 2003 ] is possible in our simulation to remove the restricion to daylight. The fixed number N of constant basis functions we use for the creation of the basis simulations could be replaced by a hierarchical subdivision of the sphere in combination with an oracle function. One drawback of the irradiance volume is that the illumination of the scene remains unaffected by object motions. Therefore, an interesting topic is the adaptation of the irradiance volume to geometric changes, either virtual or real, as demonstrated in [Nijasure et al. 2005] . Virtual objects with glossy materials could be included with a final gathering approach, as shown in [Dmitriev et al. 2004] .. The integration of our technique in a mobile AR system would also be interesting but there are several problems: First, the HDR cameras require special frame grabber hardware, a connection to a laptop is currently not possible. Secondly, displaying virtual objects in video-see-through glasses introduces the same problems like LDR cameras. Using optical see-through devices is even more difficult because an HDR display would be required for the virtual pixels.. We plan to test our augmentation method with images of real rooms. Our vision is, that a user with a head-mounted display can walk inside real rooms, and augmented images, indistinguishable from the real world, are shown in the glasses. For multiple rooms and windows, several HDR cameras could be placed at different windows, or alternatively a single camera on the roof of the building, directed upwards. For this single-camera solution, the missing illumination from the lower hemisphere (e.g. light reflected into the room from the ground outside) could be estimated from the known irradiance of the upper hemisphere.. References AGUSANTO, K., LI, L., CHUANGUI, Z., AND SING, N. W. 2003. As a representative test scene for a room, we built a small Cornell Box together with a moving light, representing time-varying daylight. An HDR video camera with a fish-eye lens is placed on top of the box, permanently recording the changing illumination. Markers are placed beside the box for tracking. In Figure 7 we show a moving virtual object which is placed at several locations inside the box. Note the consistent illumination including color bleeding from the walls which are not visible in the fish-eye image.. To verify the accuracy of our indirect light approximation, we placed virtual objects in a synthetic image (see Figure 8 ). In the left image, we used our technique to place three virtual teapots in the image of a room, rendered with pbrt [Pharr and Humphreys 2004] . In the right image, the whole scene was rendered with pbrt, showing only small differences.. A comparison with a real object is shown in Figure 9 : Here, we placed a real teapot, generated with a 3D printer, into a Cornell Box. Although small differences in indirect lighting are visible, we believe that our approach is a good tradeoff between speed and quality. In an interactive application, it is important not to ignore the indirect light (see Figure 1) . Small errors in direct light (e.g. wrong light direction and shadows) are more significant than hardly noticeable inaccuracies in indirect light.. Object movement is possible with interactive frame rates (10 -17 fps), a detailed description is shown in Table 1 . For still images, we achieve even real-time frame rates (22 -116 fps). The additional time for moving images is caused by marker extraction, pose estimation and for uploading new camera images to the graphics card. For all measurements, we used 64 shadow maps for the direct light, stored in a single 512 x 512 texture, with 64 x 64 pixels for each shadow map. The image resolution is 512 x 496 (which is the maximum resolution for two HDR cameras).. We observed that a number of N = 64 basis emitters is sufficient for a good approximation of indirect light. The precomputation time for 64 basis radiosity simulations is about five minutes (2K patches), computing the coefficients for the basis irradiance volumes takes 2-3 seconds (for 8 3 grid vertices). The computation of 64 scaling values Li requires 5 ms, the time for indirect light calculation of the virtual object is 0.13 ms (teapot) and 0.29 ms (bunny). Due to the spherical harmonics compression, the whole irradiance volume requires only 3.5 MB of memory. A visualization of the irradiance volume is shown in Figure 10 for different sun directions.. All measurements were made on an Intel Core 2 Duo, 2.13 GHz, 1GB RAM, equipped with an NVIDIA 8800 GTS graphics card. Inserting virtual objects with consistent illumination in real photographs was first shown by [Nakamae et al. 1986 ] in the form of virtual buildings. [Fournier et al. 1993] invented the differential rendering technique to display a virtual object in a real photograph based on two lighting simulations. This method was extended by [Debevec 1998 ] for natural illumination captured in the HDR image of a light probe. [Sato et al. 1999 ] developed a similar technique based on a fish-eye image. Several improvements exist for moving objects [Drettakis et al. 1997] , final gathering [Loscos et al. 1999] , inclusion of light goniometrics [Grosch et al. 2003 ] and differential photon mapping [Grosch 2005a] . A real-time augmentation of photographs, implemented on graphics hardware, was invented by [Gibson and Murta 2000] [Gibson et al. 2003 ], and extended to panoramic images by [Grosch 2005b ].. Several techniques for the sampling of environment maps exist for fast rendering of objects in natural illumination (see [Reinhard et al. 2005] for an overview). Another way for real-time illumination in a natural environment is based on environment map compression [Sloan et al. 2002] , using spherical harmonics [Ramamoorthi and Hanrahan 2001] or wavelets [Ng et al. 2003 ]. Both approaches typically assume distant lighting and an extension to spatially varying light is difficult: Localized low-frequency lighting is possible by using spherical harmonic gradients [Annen et al. 2004] . A few methods include indirect lighting from point and spot lights [Hasan et al. 2006 ] [Kristensen et al. 2005 ] ].. We present a system which is able to display virtual objects under temporally and spatially varying light at interactive frame rates. Our system is based on the work of [Havran et al. 2005] , who used an HDR video camera with a fish-eye lens permanently capturing the illumination. Virtual objects with correct illumination and shadows can be displayed at interactive rates using a multi-pass shadow mapping [Williams 1978 ] method in combination with temporal filtering of the sampling points. The main drawback is the limitation to distant light, which was improved by [Korn et al. 2006] with an HDR stereo camera. Here, the virtual object was displayed in a real photograph.. Beside the illumination information, information about the camera pose must be recovered when integrating a virtual object in a real image (tracking). Only a few approaches try to insert virtual objects with correct illumination in moving images. The first work was presented by [Kanbara and Yokoya 2002] by tracking a light probe. [Agusanto et al. 2003 ] used the image of a light probe and assumed static lighting. [Haller et al. 2003 ] showed shadows of virtual objects on real objects by using shadow volumes of manually placed point lights.. The tracking in our work is based on the marker tracking of ARToolkit [Kato and Billinghurst 1999] . We use two HDR cameras:. One camera is looking at the scene while the other camera is recording the environment illumination.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 to construct identity-based signatures without the key escrow problem The inherent key escrow problem is one of the main reasons for the slow adoption of identity-based cryptography. The existing solution for mitigating the key escrow problem is by adopting multiple Private Key Generators (PKGs). Recently, there was a proposal that attempted to reduce the trust of the PKG by allowing a malicious PKG to be caught if he reveals the user's identity-based private key illegally. Nonetheless, the proposal does not consider that the PKG can simply decrypt the ciphertext instead of revealing the private key itself (in the case of identity-based encryption schemes). The aim of this paper is to present an escrow-free identity-based signature (IBS) scheme, in which the malicious PKG will be caught if it releases a signature on behalf of the user but signed by itself. We present a formal model to capture such a scheme and provide a concrete construction.Keywords Identity-based signatures · Key escrow · Certificateless signatures · Certificate-based signatures · Self-certificated signaturesThis is an extended version of the paper in [24] . We improve the notations in the security model in [24] . We give some generic conversions between the escrow-free identity-based signatures and other cryptographic primitives in Sect. 8. The notion of identity-based cryptography was put forth by Shamir [22] . This notion was proposed to simplify the authentication of a public key by merely using an identity string as the public key. From the verifier's or the encryptor's point of view, only the identity of the other party is required. Hence, there is no necessity to ensure the validity of the public key. Due to this nice property, a series of identity-based schemes have been proposed, including identity-based signatures [22] , identity-based encryption [8] , hierarchical identity-based cryptography [15] and so forth. For identity-based signatures (IBS), there exists a comprehensive discussion conducted by Bellare et al. [5] . Galindo et al. [13] further extended the discussion to IBS with various additional properties, which has more practical applications.. In these identity-based cryptosystems, there is a trusted party called the private key generator (PKG) who generates the private key for each user identity. As the PKG generates and holds the private key for all users, a complete trust must be placed on the PKG. Nonetheless, this may not be desirable in a real-world scenario, where a malicious PKG can sell users' keys, sign messages or decrypt ciphertexts on behalf of users without being confronted in a court of law. This is known as the key escrow problem. This problem seems to be inherent in identity-based cryptosystems. Boneh and Franklin [8] proposed that employing multiple PKGs is a possible solution to the key escrow problem. The master private key is jointly computed by a number of PKGs, such that no single PKG has the knowledge of it. However, this approach requires an extra infrastructure and communication cost between users and different PKGs. A user needs to run the key extraction protocol with different PKGs by proving his identity to them. Furthermore, maintaining multiple independent PKGs for a commercially used infrastructure is a daunting task.. Some cryptosystems have been proposed to solve the key escrow problem. They use a "combination" of identity-based cryptography and the traditional public key cryptography, such as the certificateless cryptosystems [1] , the certificatebased cryptosystems [14] and the self-certificated cryptosystems [16] , in a non-trivial way. In these systems, a user possesses a user public key and a user private key, together with his identity-based private key computed by the PKG. The user private key protects the user from the key escrow problem. The PKG acts like a certificate authority (CA) who authenticates the user public key using his master private key. Unfortunately, these cryptosystems are no longer identity-based-the encryptor or the verifier has to know the user public key in addition to the user identity. Therefore, these schemes lost the original advantages of identity-based cryptography.. Girault [16] defined three levels of trust to the PKG:. -Level 1: The PKG can compute users' private keys and, therefore, can impersonate any user without being detected. Identity-based signature schemes are the examples. -Level 2: The PKG cannot compute users' private keys.. However, the PKG can still impersonate any user without being detected. Certificateless signature schemes are the examples. -Level 3: The PKG cannot compute users' private keys, and the PKG cannot impersonate any user without being detected. Certificate-based signature schemes and selfcertificated signature schemes are the examples.. The current schemes achieving level 2 or level 3 of trust are no longer identity based. It is an open problem to construct an identity-based signatures with level 2 or level 3 of trust, without publishing the user public key.. Recently, Goyal [17] proposed the concept of accountable authority identity-based encryption (A-IBE) to reduce the trust in the PKG and it was further strengthened by [2, 18] . In [17] , the PKG helps the user to compute his identitybased private key without knowing it. If the PKG computes another set of private key by himself and reveals it to other parties, this key will be different from the user's original private key with a high probability. Therefore, the PKG can be caught when revealing the private key and the user's original private key is the evidence. However, the malicious PKG is still able to sell a signed message or decrypted ciphertext instead, without being detected. This is clearly an issue that is not yet addressed in Goyal's model [17] . Goyal et al. [18] further proposed the concept of black-box A-IBE. In black-box A-IBE, if a PKG sells a decoder box which can decrypt ciphertexts with non-negligible probability, he will be caught in a trace algorithm. It is an open problem to construct a similar blaming mechanism in the IBS setting. In this paper, we introduced the concept of escrow-free identity-based signatures to solve the key escrow problem in identity-based signature. We proposed an extra user public key anonymity property to escrow-free identity-based signatures and proposed a concrete construction. Our construction solves the open problem of key escrow in identity-based signatures, without requiring multiple PKGs. Our scheme is the first to achieve level 3 of trust of the PKG in Girault's model [16] , in the identity-based setting. Furthermore, we presented some generic constructions between escrowfree identity-based signatures, certificate-based signatures and certificateless signatures.

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


Using predictive analysis to improve invoice-to-cash collection It is commonly agreed that accounts receivable (AR) can be a source of financial difficulty for firms when they are not efficiently managed and are underperforming. Experience across multiple industries shows that effective management of AR and overall financial performance of firms are positively correlated. In this paper we address the problem of reducing outstanding receivables through improvements in the collections strategy. Specifically, we demonstrate how supervised learning can be used to build models for predicting the payment outcomes of newlycreated invoices, thus enabling customized collection actions tailored for each invoice or customer. Our models can predict with high accuracy if an invoice will be paid on time or not and can provide estimates of the magnitude of the delay. We illustrate our techniques in the context of real-world transaction data from multiple firms. Finally, simulation results show that our approach can reduce collection time up to a factor of four compared to a baseline that is not model-driven. In this paper, we have presented a supervised learning approach and the corresponding results in the context of invoice-to-cash collections. We developed a set of aggregated features which capture historical payment behavior for each customer. Our results show that having this set of features enhances the prediction accuracy significantly, and it is more valuable in predicting payment delays for invoices from returning customers than using customer features. However, we also observed that customer features play an important role in the prediction of payment delays when no historical information is available, e.g., for invoices from first time customers. We demonstrate that by using cost-sensitive learning, we are able to improve prediction accuracy particularly for high risk invoices, which are underpresented in the data sets. In addition, we compared the prediction performance of a single generic model with that of firm-specific models and we showed that the former leads to better prediction accuracy. Finally, we demonstrate, through simulation, that our model-driven invoice prioritization helps in reducing delinquency time under realistic time savings assumptions; and, the performance gain can reach as high as four times compared to using random prioritization. There is a small body of work in the O2C domain. One such work can be found in [8] , in which, a model is used to predict collection amounts on customer accounts based on learned relationships among known variables. The predictive models are generated with historical information on customers, on event patterns for customers, or on collectors' notes for a customer. Neural networks are used as one of the approaches for predictive modeling. While the approach focuses on collection amounts prediction, we believe both amounts and delays are important for collection decision making. Another difference is that we can tackle collections not only at the customer level, but also at the invoice level.. The most closely related work is by Bailey et al. [1] . The authors discuss possible improvements over Providian's cash collection strategy. They analyze various strategies for prioritizing collection calls and propose to use predictive modeling based on binary logistic regression and discriminative analysis to determine which clients to "outsource" (i.e., which customer accounts to hand over to an outside collections agency for further collection processing). The authors present some preliminary results of their modeling approach in the form of analytics assuming certain prediction accuracies and collection returns. Their work is complementary to ours in that they deal with the cost/benefit decisions that would need to be made once the priority/risk of each collection item is determined. Our work, on the other hand, tries to assess which techniques are best suited for determining this priority/risk.. Other relevant work comes from a number of new companies that provide rule engines to prioritize invoices to maximize cash flow. For instance, cforia [13], a 2002 start-up, offers various collection management solutions. On their website, they claim among other AR process improvements, a new way of automatically prioritizing invoices based on a rule-based system. They claim that "cforia's rules engine automatically sends the collections and deductions teams prioritized ticklers to maximize cash flow." Another start-up, IntelligentResults [14] , offers a platform called PREDIGY, which provides a variety of business analytics capabilities. For example, beside the manual creation of business rules, PREDIGY also allows deriving strategies and models via automatic data clustering and segmentation. Moreover, they offer integrated testing and simulation tools for verifying the effectiveness of the derived rules. These solutions are helpful to create, use and validate the rules, once rules are known. However, there is no evidence that these solutions enable automatic rule generation by learning from the past, which is the core of our approach in this paper.

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