Location-dependent information appliances for the home Ethnographic studies of the home revealed the fundamental roles that physical locations and context play in how household members understand and manage conventional information. Yet we also know that digital information is becoming increasingly important to households. The problem is that this digital information is almost always tied to traditional computer displays, which inhibits its incorporation into household routines. Our solution, location-dependent information appliances, exploit both home location and context (as articulated in ethnographic studies) to enhance the role of ambient displays in the home setting; these displays provide home occupants with both background awareness of an information source and foreground methods to gain further details if desired. The novel aspect is that home occupants assign particular information to locations within a home in a way that makes sense to them. As a device is moved to a particular home location, information is automatically mapped to that device along with hints on how it should be displayed. Many researchers are now examining the role of routines and places in the management of information in domestic environments [e.g., 3,9,13,25]. They do this to recognize opportunities for new technologies, and to design these technologies so that they fit into the home more naturally, i.e., technology adds value without being disruptive or frustrating. Our own specific interest is in home communication information, which we define as any item in the home that is used to communicate with other members of the household, or with the outside world from within the home. We already know there is a great deal of paper-based communicative information scattered about in every home: overflowing paper on counter tops and bulletin boards, notes, calendars, reminders, to-do lists, mail, messages, letters, pictures. Far from being 'an unorganized mess', people place information within home locations in a way that optimizes their routines, i.e., how home dwellers collectively amass, track, and use this information [3, 9, 13, 25 ] (see §2).Yet we also know that digital information is becoming increasingly important to households. Indeed, information management and display, particularly of dynamic information, is something computers can do very well. The issue is that this digital information is almost always tied to traditional computer displays, which inhibits its incorporation into household routines. People have to 'go to the computer', perhaps located in a out-ofthe-way corner of the home, if they wish to do anything with this information. The consequence is that information monitoring is fairly heavyweight, or that household communication is inhibited as people do not receive it in a timely manner.This introduces a divide. While people have developed excellent strategies for managing conventional information, dynamic and often quite important digital information is difficult to integrate into current home management routines. In part, this is because conventional technologies are work-oriented; this proves a poor fit to the day to day 'business' of running the home and managing all the information within it.Consequently, our goal is to design information management and display technologies specifically for the home. To achieve this goal, we followed several steps as outlined in this paper. First, we examined ethnographic findings on domestic environments, where we highlight the concept of contextual locations [9] and how these are a critical part of everyday information management in the home ( §2). In particular, we discuss how home dwellers place physical information artefacts at particular locations to display information to others. Second, we consider the design opportunities arising from a class of devices called flexible ambient displays [7] that allow different information sources to be mapped onto its features ( §3). Third, using our understanding of location and routines, we extend the capabilities of these ambient displays to become location-dependent information appliances ( §4). In particular, we show how they can be repurposed by location to provide additional value in the home. That is, the placement of the appliance within the home determines what information is shown on it. Fourth, we develop the technical infrastructure behind this concept ( §4): we created various physical information appliances differing in form factors and display capabilities; we built hardware that lets these appliances recognize their locations; and we developed a run-time architecture that dynamically maps different information sources onto these displays. Finally, we critique and reflect on this design concept and provide future directions for this work ( §5).We stress up front that this is an 'evaluate/design' paper where design is inspired from previous home ethnographic evaluations. This is only the first part of the larger design process for home technology. This contrasts with standard 'design/evaluate' papers typically found in the HCI literature; we leave this stage for future work. Our design perspective provides three timely contributions. First, we propose an invention of strong potential value, in that it is strongly linked to underlying ethnographically-inspired theories of domestic routine. Second, we contribute an architectural design for building flexible and dynamic information displays for domestic locations. Finally, our design reflections reveal expected uses, critiques, and improvements to our first-cut prototypes.Several studies have examined how communication artifacts are distributed throughout the entire home. As well, the nature of this distribution and its relation to the social organization and activities of a household have been a focus of research [9, 12, 25] . Many researchers are now examining the role of routines and places in the management of information in domestic environments [e.g., 3, 9, 13, 25] . They do this to recognize opportunities for new technologies, and to design these technologies so that they fit into the home more naturally, i.e., technology adds value without being disruptive or frustrating.. Our own specific interest is in home communication information, which we define as any item in the home that is used to communicate with other members of the household, or with the outside world from within the home. We already know there is a great deal of paper-based communicative information scattered about in every home: overflowing paper on counter tops and bulletin boards, notes, calendars, reminders, to-do lists, mail, messages, letters, pictures. Far from being 'an unorganized mess', people place information within home locations in a way that optimizes their routines, i.e., how home dwellers collectively amass, track, and use this information [3, 9, 13, 25] (see §2).. Yet we also know that digital information is becoming increasingly important to households. Indeed, information management and display, particularly of dynamic information, is something computers can do very well. The issue is that this digital information is almost always tied to traditional computer displays, which inhibits its incorporation into household routines. People have to 'go to the computer', perhaps located in a out-ofthe-way corner of the home, if they wish to do anything with this information. The consequence is that information monitoring is fairly heavyweight, or that household communication is inhibited as people do not receive it in a timely manner.. This introduces a divide. While people have developed excellent strategies for managing conventional information, dynamic and often quite important digital information is difficult to integrate into current home management routines. In part, this is because conventional technologies are work-oriented; this proves a poor fit to the day to day 'business' of running the home and managing all the information within it.. Consequently, our goal is to design information management and display technologies specifically for the home. To achieve this goal, we followed several steps as outlined in this paper. First, we examined ethnographic findings on domestic environments, where we highlight the concept of contextual locations [9] and how these are a critical part of everyday information management in the home ( §2). In particular, we discuss how home dwellers place physical information artefacts at particular locations to display information to others. Second, we consider the design opportunities arising from a class of devices called flexible ambient displays [7] that allow different information sources to be mapped onto its features ( §3). Third, using our understanding of location and routines, we extend the capabilities of these ambient displays to become location-dependent information appliances ( §4). In particular, we show how they can be repurposed by location to provide additional value in the home. That is, the placement of the appliance within the home determines what information is shown on it. Fourth, we develop the technical infrastructure behind this concept ( §4): we created various physical information appliances differing in form factors and display capabilities; we built hardware that lets these appliances recognize their locations; and we developed a run-time architecture that dynamically maps different information sources onto these displays. Finally, we critique and reflect on this design concept and provide future directions for this work ( §5).. We stress up front that this is an 'evaluate/design' paper where design is inspired from previous home ethnographic evaluations. This is only the first part of the larger design process for home technology. This contrasts with standard 'design/evaluate' papers typically found in the HCI literature; we leave this stage for future work. Our design perspective provides three timely contributions. First, we propose an invention of strong potential value, in that it is strongly linked to underlying ethnographically-inspired theories of domestic routine. Second, we contribute an architectural design for building flexible and dynamic information displays for domestic locations. Finally, our design reflections reveal expected uses, critiques, and improvements to our first-cut prototypes.. The common finding is that domestic communications are socially and physically situated in the routines of the household. We began with ethnographic studies of the home that revealed the fundamental roles that physical locations and context play in how household members understand and manage conventional information. We then explained how digital information is becoming increasingly important to households, but that the problem is that this digital information is almost always tied to traditional computer displays. This inhibits its incorporation into household routines. We proposed location-dependent information appliances as a solution. These appliances tailor the information they provide to fit within the family's contextual locations, where they provide home occupants with meaningful background awareness of an information source, and foreground methods to gain further details if desired. We also described how it works: home occupants assign particular information to locations within a home in a way that makes sense to them, and devices moved to a particular location automatically shows that information. For our future work, we will refine our design based on our reflections as stated in §5. We will also begin a limited deployment: our prototypes will work as technology probes [15] that will help households provide feedback and new ideas as part of a participatory design process. From a technical perspective, we want our devices to be more robust and well-constructed, rather than cardboard prototypes. This needs to happen if they are to survive extended home use. As well, we need to consider wireless and battery-powered alternatives.

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


Pointing without a pointer We present a method for performing selection tasks based on continuous control of multiple, competing agents who try to determine the user's intentions from their control behaviour without requiring an explicit pointer. The entropy in the selection process decreases in a continuous fashion -we provide experimental evidence of selection from 500 initial targets. The approach allows adaptation over time to best make use of the multimodal communication channel between the human and the system. This general approach is well suited to mobile and wearable applications, shared displays and security conscious settings. Selection without the use of pointing is of particular current interest because of challenges faced in designing interaction with mobile devices and wearable computers, where input and output are often limited, or unconventional means of interaction are available. These devices might be instrumented with sensors for which pointing may not be a natural method of selection, (e.g. accelerometers), or may have displays (such as audio displays) that are not suited to pointing. The display may also just be too small to allow convenient pointing.. In this paper we present a method for performing selection tasks without a pointer, based on a continuous interaction interface, which can be flexibly linked to a wide range of input and feedback/display mechanisms. Our method is easily generalised to controllers with many degrees of freedom, allowing us to make use of rich, multimodal input methods. It is an intrinsically probabilistic interface, which can incorporate knowledge of uncertain prior information and noisy inputs, when adapting the dynamics of interaction with the user, and which can flexibly and continuously adapt to changes in context.. Avoiding a pointer also has a potentially interesting role in multi-user interaction with a shared display or in single user interaction where multiple independent limbs (for example, bimanual control or finger control) can perform selection simultaneously. The absence of a pointer also has the advantage that in applications where security issues are important, we can design interfaces with informative feedback which is useless to an observer who is not in the interaction loop. We may also want to perform rapid selection from very large numbers of objects; conventional visual pointer feedback makes this difficult, especially on small or unconventional displays. Such an interface is particularly suited to use with inertially sensed inputs on mobile devices, where direct pointing is often non-intuitive. We have presented a framework for probabilistic selection interfaces in continuous environments without a pointer. This is a flexible and extendable technique for utilising rich input devices and adapting to available feedback channels. The basic approach is extremely simple to implement, but there is a great deal of research opportunity in finding natural, intuitive 'disturbances' and correspondence mappings between qualitatively different display and input modalities. A comparison of spatial trajectories between an object which the user is intentionally controlling and an object which the user is not interested in is shown in Figure 2 . The probabil- ity time series produced by the agents during repeated selection tasks for different numbers of on-screen objects in the test implementation are shown in Figures 3-5 . It should be noted that the entropy changes continuously in this interface, unlike in a menu hierarchy, say, where entropy, and any associated probabilistic feedback, is only adjusted at each discrete selection event. The following algorithm is used as a simple example of a method for performing the selection which can be implemented in a very straightforward way. Much more sophisticated and robust methods for detecting the control behaviour of the user are possible, using methods from information theory to estimate mutual information between signals, and from manual control to incorporate expected lags induced by the human controller. Our current implementation fits a firstorder lag to the user control behaviour during a calibration sequence. In this case, however, we limit ourselves to the variance-based algorithm below, which is particularly simple.. Detail Each object has a position f i to which is added lowpass filtered white noise. The displayed position of the object is the sum of this position and the mouse position m. , a threshold v with v < 1 is applied, and objects with r i < v increase γ i additively with a factor αr i ; values below this decrease multiplicatively by a factor β. Normalizing the γ i 's produces the output probabilities p i . The intermediate integration/exponential decay stage stabilises the selection process. Tuning α and β adjusts the time required to select an object. Effectively, this procedure assigns higher probability to objects which have lower high-frequency spectral content over a period of time.. In our implementation of this algorithm, the selection probability is displayed to the user visually. A selection event is considered to have happened when p i exceeds some threshold; values will depend on the speed at which selection can take place versus the risk of ambiguity.

O O O O O O O B O O B O O O O B O O O O O O O O O O O O O B O O O O O O O B O O B B O O O O O O O O B O B O O O O O O O O O O O O O B O O O B O O O B O O O O B O O O O O O O O B O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O B O O B O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O B O O O O O O O B O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O


Coordinating mobile agents in interaction spaces We present a kernel coordination language for mobile agent systems that considers as first-class citizens both the agents and the channels they use to interact with each other. Channels implement distributed, asynchronous communications with FIFO ordering and multicast routing. Features related to mobility include agent migration as well as remote cloning. Most importantly, a virtual form of channel mobility inspired by the π -calculus is also supported. This expressive feature allows mobile agents to adapt dynamically to their changing environment. The language semantics, presented formally, is based on a geometrical model named the Interaction Spaces. This provides an intuitive interpretation of the agent features and capabilities in terms of combined spatial projections and transformations. Through spatial composition, we show that standard labeled transition systems and bisimulationbased semantics may be defined above the geometry, enabling reasoning and formal verification. Finally, we describe prototype implementations of the proposed model and language. In this paper, we present a kernel language for specifying and reasoning about the coordination aspects of mobile agent systems. It is designed as an intermediate between a process algebra [5, 7, 16] and a process-centric, endogenous coordination language [3, 8, 19] . The coordinating behaviors of agents are modeled as concurrent, distributed and mobile processes. Given their geographic distribution, agents have to communicate in order to interact with each other. This is done through communication channels considered as first-class citizens and equipped with rich communication semantics. In this paper, we describe a versatile model of asynchronous communications with FIFO ordering and multicast routing. Most importantly, agents can migrate and thus "hop" from host to host in order to perform distributed computations. They may also be replicated as remote clones. During such operations, the surrounding environment of agents is likely to change, which may require them to adapt to new situations. This is modeled through the π-calculus notion of channel mobility, the possibility to exchange communication channels among agents at runtime.. Our goal is to provide both a specification language to model and support reasoning about the coordination of mobile agent systems, and an executable language to control their deployment and operation at runtime. Developing a practical language and sound semantic model expressive enough to encompass all the proposed agent features is a challenging goal. On the one hand, the language semantics must be simple enough to remain tractable. This implies major constraints such as the absence of redundant constructs and, if possible, the avoidance of secondorder principles. On the other hand, the practical realizations of the language should be made as efficient as possible, which also imply constraints on both the language and the underlying support mechanisms such as the avoidance of centralization, and the minimization of distributed synchronizations.. The coordination model we propose is original in that it employs a metaphor of geometrical spaces -the Interaction Spaces -in which agents interact through simple transformations: expansions, translations, etc. This geometrical metaphor provides an intuitive interpretation of the agent features. Beyond the intuition, this makes the model to relying on a reduced set of basic concepts and axioms that we may illustrate and justify in geometrical terms. A technical contribution that we also believe original is the use of a versatile spatial composition operator that allows the immersion of the geometry within standard structural operational semantics based on labeled transition systems (LTS) and bisimulation. This is a preliminary but important step for the formal reasoning about systems expressed in the proposed language.. The outline of the paper is as follows. In Section 2 we illustrate the language constructs and their expressiveness on motivating examples. We then present the geometry of interactions spaces in Section 3. The operational semantics for the language are detailed in Section 4. Finally, in Section 5 we overview the libispace library and server as well as the hspace frontend that implement the proposed model and language. A panorama of related work, conclusion and references follow. This paper is a largely revised and extended version of [20] , with less emphasis on the technical aspects of the formal foundations. The adjunct of Sections 2 and 5 shed more lights on the practicability of the proposed approach. The model of Interaction Spaces proposes a geometrical characterization for mobile agent systems. An advantage of the geometrical point of view is that it offers an intuitive model, on which a basic denotation is easily constructed. Above the geometrical foundations, we design a coordination language that allows the description and composition of mobile agent behaviors. The model captures semantics that are of higher level than most mobile calculi. These semantics are also relatively complex but we show in the paper that the standard bisimulation techniques still apply. In a complementary way, we developed early implementations of the coordination language in a relatively short period. We thus think the model offers a good balance between tractability and practicality. Of course, we need more experiments with both the theory and practice of Interaction Spaces to strengthen this belief.. An interesting aspect of the model is its modular architecture. Most process algebras enforce a tight connection between the language constructs and the SOS semantics. The separate characterization of the coordination model allows various changes in the communication and mobility semantics to impact at that level. For example, a pointto-point synchronous channel can be built by constraining the size of the act dimensions (0 or 1 message only) and allowing only one link property. We plan to define a generalization of Interaction Spaces where channels (and, more generally subspaces) would be parameterized by geometrical constraints. Unlike the mobile ambients [5] , we do not yet provide any hierarchical migration feature. However, we do think the model could be extended for hierarchical mobility by allowing spaces to nest within locations.. Type systems form another important aspect that we intend to investigate more thoroughly. The hspace frontend of the language already provides a simple form of type checking based on the syntax illustrated in Section 2 and 5. The elaboration of a more expressive type system and type-checking (as well as inference) algorithm is left as a future work. We plan to build on existing typing framework for the π-calculus (e.g. [22] ), and also integrate elements of connection-time typing that we investigated in previous works [14] . We also plan to integrate recent insights in type systems related to security and resource control, such as in safeDpi [12] and Klaim [18] . As a starting point, we think that the "colors" contained in Interaction Spaces could be reified as typing properties for resource control. Our current investigation is on the failure semantics with the dedicated lfail (location failure), cfail (channel failure) and kfail (link failure). It is also interesting to investigate properties that may be fully captured in geometrical terms. For example, a communication deadlock may be characterized as a permanent "dot" in the geometry. Liveness issues may be also discussed in terms of geometrical invariants. Our current plan is to capture such invariants in terms of type-based analyses, from which we may derive verification mechanisms for the implementations. Coordination languages [3, 8, 19] establish the principles of (1) focusing on the interaction aspects of systems, and (2) abstract away from the their internal computations. In the recent years, coordination languages for mobile agent systems have been investigated. An important category is formed by endogenous, data-centric coordination models based on Linda-like tuple-space manipulation primitives [8] and extended for mobility. The coordination model proposed in Lime [17] makes both the virtual (i.e. dynamic binding/rebinding) and physical movement of agents appear as changes in the surround tuple-spaces. An expressive notion of reaction allows one to react when such a change occurs using a pattern matching facility. Lower-level primitives with explicit locations permit finergrained control over the movement of agents. The latter are similar to what is provided in the Klaim language [18] . Agents may exchange locations and explicitly move to some location to interact there with the local tuple-space. Except for the tuple-space coordination primitives, the klaim primitives are more process-centric, and its underlying formal semantics are based on labeled transition systems. This makes our approach quite similar in spirit: both are kernel languages that may (must) be extended for practical use. The coordination model provided by Interaction Spaces is closer to actual distributed environments with the explicit modeling of communication channels. We thus see our approach as applying at a lower level of abstraction, and Linda-like coordination facilities could be modeled on top of Interaction Spaces. In the semantics, most approaches see mobility as a "play" with explicit locations, and very often higher-order traits are introduced to deal with agent migration (this is the case in both Lime and Klaim). Locations are purely virtual in Interaction Spaces, and we avoid their explicit use in agent behaviors, favoring a (more) virtual view of mobility from the channel perspective. We also avoid some second-order traits such as manipulating processes as data.. The explicit modeling of channels is closely related to exogenous coordination models such as Reo [4] and Mocha-π [10] . These can be described are "channel languages" that abstract away from the internal behavior (and internal coordination also) of agents (or components). The semantics for the (external) coordination primitives (e.g. send/receive) used by agents are defined externally. The primitive channels support various forms of communications: (a)synchronous, lossy, FIFO, etc. Complex "connectors" may be constructed by the composition of primitive channels and lower-level connectors, covering a large domain of communication semantics. In Mocha-π, the channel semantics are expressed in a dedicated variant of the π-calculus, and both the physical and virtual movement of channel ends is supported. We see our approach as complementary: channels and associated semantics are considered as largely immutable and biased towards distributed environments. We focus on the coordinating behavior of agents evolving in such environments. More than opposing endogenous and exogenous coordination, we think that for finegrained coordination behaviors, there is no such stability (or component structure) within the agents. Moreover, the distributed environment denotes physical channels with fundamental properties (e.g. asynchrony). But at a higher level of abstraction, we can consider stable organizations of agents (i.e. components) and, also, agents whose purpose is solely to coordinate other agents (i.e. connectors). The example of the coordinator agent of section 2 is interesting here since its whole behavior is dedicated to coordination.. Actor languages and models [1] form another important category of approaches related to process-centric coordination with solid semantic foundations. Similarly to actors, we make a clear distinction between systems (we call them agent contexts) and programs (process contexts). From this point of view, the Interaction Spaces may also be seen as an extension of the actor configurations. The difference is that connections are implicit in actors whereas explicit channels are modeled in Interaction Spaces. We think that the latter provides an easier way to manage resources, most notably garbage collection (a topic we discuss in [21] ).. From a process-algebra perspective, the agent calculus we propose may be seen as a distributed implementation of the π -calculus [16] . A refined view over channel mobility is proposed as we differentiate between communication of names (i.e. name passing), the movement of channel ends, and finally the migration of channel states. It is clear that the proposed formalization appears more complex than programming languages directly based on existing process algebras such as nomadic-pict/nomadi-π [23] and Jocaml/Join-calculus [7] . The separation between the coordination model -and its formal characterization as Interaction Spaces -and the LTS/bisimulation-based operational semantics may be seen as the principal reason for the increase in terms of complexity. However, our early meta-theoretic investigations exhibit nice separation of concerns properties, in that most proofs may be split in both purely geometric arguments and more traditional bisimulation-based cases. To some extents, the developed semantics provide a simpler treatment of some fundamental features of the π -calculus, most notably the issue of freshness that is here guaranteed by geometrical construction. Despite its asynchronous nature, our agent calculus is in its syntax closer to the standard π-calculus than its asynchronous variants [2, 7] . For instance, the asynchronous calculi disallow output prefixing and most applied semantics also enforce locality constraints [15] , which is not our case. This is discussed more thoroughly in [20] . The full externalization of the control (i.e. exogenous coordination) requires objective mobility features, such as moving an agent against its own will. In order to achieve this in Interaction Spaces, objective mobile behaviors must be re-encoded as subjective ones, a technique illustrated in [5] . Eventually, the non-trivial transformation makes more complex the formal characterization of behaviors and associated proof techniques.. Multicast semantics play a central place in the model, and provides in our opinion quite a large part of the language expressiveness. Very few channel-passing calculi supporting multicast have been proposed, a notable exception being the broadcast π-calculus [6] . Multicast interactions are generally built using a subtractive scheme, involving a discard relation for unwanted communications. Interaction Spaces, on the other hand, employ an additive scheme in which receptors are selected explicitly and dynamically. The advantage of the additive case is that the model is not specific for broadcast systems. Point-to-point interactions can be modeled by enforcing that a given channel may only be linked to one agent at a time. This is a simple geometrical constraint.

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


Application of the Active Shape Model in a commercial medical device for bone densitometry Osteoporosis is a common disorder characterised mainly by low bone mineral density (BMD), and leading to an increased risk of fracture. We have developed a new device that estimates BMD from ordinary hand radiographs. A crucial element of this method is the reconstruction of the metacarpals. This paper describes how this was solved using the Active Shape Model (ASM). Standard ASM is unable to locate the metacarpal shafts due to the lack of dynamics in the direction along the bones. Therefore ASM was extended with a translation operator, which solved the problem. A hierarchical filtering method was used to construct a sufficient list of initial guesses for the ASM. The performance of ASM and the experience with the integration of ASM in a commercial medical device is reported. The ASM achieves 99.5% reconstruction success and is able to validate its own reconstruction in 97% of the cases. The system (Pronosco X-posure system, version 2.0) has been approved by the FDA, and more than 100 units have been sold.The concept of the translation operator is generalised to the More Active Shape Model (MASM), which also allows a natural integration with the Active Appearance Model. Osteoporosis is a condition of reduced bone mass (and to some extent also poor bone architecture), which affects the whole skeleton to a similar degree and leads to a reduced strength of the bone and therefore an increased risk of fractures, in particular at the hip, the vertebrae and the wrist. Approx. 20% of all women suffer an osteoporotic hip fracture in their lifetime, while men are affected at a 5-10 percent level. Osteoporosis can to a large extent be prevented. For instance, the frequency of hip fracture is reduced by typically 50% by medication. The diagnosis requires measurement of the bone mineral density (BMD) -the weight of calcium per projected bone area -but the percentage of people diagnosed is very inadequate. The most common diagnostic method today is dual energy X-ray absorptiometry (DEXA), which is performed on large dedicated scanners. There is a need for alternative, more accessible methods of BMD measurement, and we have therefore developed a new method, Digital X-ray Radiogrammetry (DXR) that estimates a BMD value from an ordinary radiograph of the hand. The system determines DXR-BMD in the shafts or the three middle metacarpals as indicated in figure 1. In these regions the bone has the structure of a cylindrical tube and the width W and cortical thickness t can be determined with very high precision and accuracy. BMD is then estimated from the formula. where c can be interpreted as the mineral mass per volume of compact bone. ASM is useful for machine vision, but in practice a lot of development needs to be done to achieve a high performance in the recognition: 99.5%, rather than say 97%.. ASM is appropriate if a high degree of "understanding" is desirable. The extensive training of the models on a large biological material makes the model behave in an "experienced" manner. In the context of a medical device, this is an attribute of much value. The fact that the system can demonstrate its high knowledge in such a conspicuous way justifies a good measure confidence in the system, that it can demonstrate its high knowledge content in such a conspicuous way. It also allows the device to be operated by non-experts, which is essential in routine clinical work.. The approval by the USA FDA and the sale of more than 100 units means that this device is now an important contribution to the prevention and treatment of osteoporosis.. A theoretical spin-off from this work is the translation operator, which originated as an ad hoc solution to a limitation of ASM on the particular shapes being reconstructed. It has been generalised to the More Active Shape Model that helps bridge the ASM and AAM models and opens for more powerful models that fit both edge and intensity patterns in the recognition of deformable objects.

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


The impact of sample reduction on PCA-based feature extraction for supervised learning "The curse of dimensionality" is pertinent to many learning algorithms, and it denotes the drastic raise of computational complexity and classification error in high dimensions. In this paper, different feature extraction (FE) techniques are analyzed as means of dimensionality reduction, and constructive induction with respect to the performance of Naïve Bayes classifier. When a data set contains a large number of instances, some sampling approach is applied to address the computational complexity of FE and classification processes. The main goal of this paper is to show the impact of sample reduction on the process of FE for supervised learning. In our study we analyzed the conventional PCA and two eigenvector-based approaches that take into account class information. The first class-conditional approach is parametric and optimizes the ratio of between-class variance to the within-class variance of the transformed data. The second approach is a nonparametric modification of the first one based on the local calculation of the between-class covariance matrix. The experiments are conducted on ten UCI data sets, using four different strategies to select samples: (1) random sampling, (2) stratified random sampling, (3) kd-tree based selective sampling, and (4) stratified sampling with kd-tree based selection. Our experiments show that if the sample size for FE model construction is small then it is important to take into account both class information and data distribution. Further, for supervised learning the nonparametric FE approach needs much less instances to produce a new representation space that result in the same or higher classification accuracy than the other FE approaches. Numerous data mining techniques have recently been developed to extract knowledge from databases. Fayyad [7] introduced knowledge discovery from databases (KDD) as "the nontrivial process of identifying valid, novel, potentially useful, and ultimately understandable patterns in data". The process comprises several steps, which involve data selection, data preprocessing, data transformation, application of machine learning techniques, and the interpretation and evaluation of patterns.. In this paper we analyze problems related to data transformation, phase before applying certain machine learning techniques. We consider feature extraction (FE) for supervised learning (SL). It is aimed at finding a transformation of the original space that would produce such new features, which preserve or improve class separability as much as possible and form a new lowerdimensional problem representation space (RS). Thus, FE for SL addresses (1) the so-called problem of "the curse of dimensionality" [3] , which requires dimensionality reduction [1] , and (2) the problem of poor RS caused by the presence of some irrelevant or indirectly relevant individual features. We consider these problems further in Section 2 and different types of FE techniques for SL in Section 3, including Principal Component Analysis (PCA), and two class-conditional approaches to FE.. When a data set contains a large number of instances, some sampling approach is often applied to address the computational complexity of FE and classification processes. The focus of this paper is within the study of sample reduction effect on three FE techniques with regard to the classification performance. In Section 4 we consider basic sampling strategies used in this study.. We conduct a number of experiments on ten UCI datasets, analyzing the impact of sample reduction on three FE techniques with regard to the classification performance of Naïve Bayes (NB). The results of these experiments are reported in Section 5. And then, in Section 6 we briefly summarize with the main conclusions and further research directions.

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


Realistic Modeling of Complex Oxide Materials Since electronic and magnetic properties of many transition-metal oxides can be efficiently controlled by external factors such as the temperature, pressure, electric or magnetic field, they are regarded as promising materials for various applications. From the viewpoint of electronic structure, these phenomena are frequently related to the behavior of a small group of states close to the Fermi level. The basic idea of this project is to construct a low-energy model for the states near the Fermi level on the basis of firstprinciples density functional theory, and to study this model by modern many-body techniques. After a brief review of the method, the abilities of this approach will be illustrated on a number of examples, including multiferroic manganites and spin-orbital-lattice coupled phenomena in RVO 3 (R being the three-valent element).Keywords: first-principles calculations, effective models, transition-metal oxides PACS: 71.10.Fd, 75.47.Lx, 71.10.-wThe oxide materials can be rather complex. Nevertheless, in many cases their electronic and magnetic properties are controlled by a small group of states located near the Fermi level and well isolated from the rest of the spectrum. A typical example of the electronic structure of YVO 3 , obtained in the local-density approximation (LDA), is shown in Fig. 1 . In this case, the active states are twelve t 2g bands of predominantly Vcharacter, which are separated by finite energy windows from other states, both from below and from above. Such a division of the entire electronic structure into the "active" and "inactive" (or low-and high-energy) states opens a formal way for combining the first-principles calculations, based on the densityfunctional theory (DFT), with the many-body treatment of some Email address: SOLOVYEV.Igor@nims.go.jp (I. V. Solovyev) effective model, formulated rigorously in the restricted Hilbert space of "active" states. This is the main idea of realistic modeling of complex oxide materials. The purpose of this project is twofold:(1) To incorporate the physics of Coulomb correlations, which is greatly oversimplified in conventional LDA;(2) To provide a transparent physical picture for electronic and magnetic properties of complex compounds. In this sense, the realistic modeling can be regarded as supplementary approach to more conventional first-principles electronic structure calculations, which are currently on the rise.Thus, the first step of the project is construction of the lowenergy model (typically, the multiorbital Hubbard model) for the states near the Fermi level:which would include the effect of other ("inactive") states in the definition of the model parameters of the Hamiltonian (1). All these parameters are derived totally from the "first-principles" on the basis of DFT. We would like to emphasize that, although the derivations are inevitably based on some approximations, we do not use any adjustable parameters apart from these approximations. The procedure of constructing the model Hamiltonian was described in details in the review article [1] . Briefly, in order to derive the one-electron part (t αβ RR ′ ), we use the generalized downfolding method. For the isolated low-energy bands, this procedure is exact, as it is clearly seen in Fig. 1 from the comparison of the original band structure, obtained in the linear muffin-tin orbital method (LMTO) [2] , and the one after the downfolding. The parameters of screened Coulomb interactions (U αβγδ ) are typically obtained by combining the constrained DFT technique [3] with the random-phase approxima- The realistic modeling combines the accuracy and predictable power of first-principles electronic structure calculations with the flexibility and insights of the model analysis. The first applications of this method are very encouraging. We hope that these ideas will continue to develop to become a powerful tool for theoretical analysis of complex oxide materials and other strongly correlated systems.

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


DNS performance and the effectiveness of caching The Domain Name System (DNS) is an essential part of the Intereet infrastructure and most Internet applications depend on the correct operation of DNS prior to establishing a connection to a remote host. We seek to understand the cllent-perceived performance and behavior of DNS and investigate the effectiveness of its caching mechanisms. Our goal is to identify the factors that affect DNS response latency, the errors and failure modes of DNS, and its scalability. An analysis of the effectiveness of DNS caching is especially important in light of several recent changes in the way DNS is used. Content distribution networks (CDNs) and popular Web sites with multiple servers are increasingly using DNS as a level of indirect/on to help balance load across servers, provide fault tolerance, or to direct each client request to a topologically nearby server.Our analysis is based on an extensive collection of packet traces. The novel idea in our approach is to jointly collect both DNS packets and associated TCP connection traffic: since TCP applications drive most DNS traffic, a joint trace collection where all TCP SYN/FIN/RST packets are collected together with DNS packets has the potential to allow us to infer various ways in which DNS is used. Without accompaning TCP traces, we might be able to infer things like DNS response latencies and failure modes, but not infer much about its caching effectiveness.We have been collecting data at the border router connecting MIT's LCS and AI Lab to the rest of the Intemet since Fall 1999. We have analyzed two weeks worth of data collected in January 2000 and December 2000. We also collected data from KAIST in Korea in Spring 2001. We have analyzed a week-long data from May 72001.Our analysis has two parts: first, we study the packet traces to characterize DNS performance as seen by our cfients, and draw more fundamental conclusions about its failure modes and its retransmission protocol. Then, we conduct simulations driven by these traces to explore the effectivness of DNS caching as a function of time-tolive (TTL) fields and degree of cache sharing.We are currently investigating a mathematical framework to capture asymptotic properties observed by simulations.A paper detailing our methodology and explaining our results is available [ l ].Our most surprising, non-obvious findings and conclusions are:I. About a quarter of all DNS lookups never get an answer. More than 50% of the DNS-related packets in the wide-area correspond to such lookups.2. The DNS retransmission protocol appears to be overly persistent: while most successful answers are received in at most 2-3 retransmissions, the lack of an answer or response causes a much larger number of retransmissions and a corresponding number of DNS packets traverse the wide-area.3. Se~ng all A-record TrL's to a value as small as 10 minutes is not likely to degrade the scalability of DNS in any noticeable way. A-record caching does not seem to add much more to the per-host or per-application caching done by end clients today. Figure 1 show the simulation results. It shows the hit rate as a function nf TI'L. Since the results depend on the number of clients that share a cache, it includes separate curves for perclient caches, groups of 25 clients per cache, and one cache shared among all clients.4. The scalability of DNS has Lime to do with its hierarchical organization or to good A-record caching; in fact, most of the DNS name space is a two-level structure. This suffices to partition the name space so that authority is handled by different name servers. The cacheability of these NS-records allows scalability by reducing load on the root and top-level Our analysis is based on an extensive collection of packet traces. The novel idea in our approach is to jointly collect both DNS packets and associated TCP connection traffic: since TCP applications drive most DNS traffic, a joint trace collection where all TCP SYN/FIN/RST packets are collected together with DNS packets has the potential to allow us to infer various ways in which DNS is used. Without accompaning TCP traces, we might be able to infer things like DNS response latencies and failure modes, but not infer much about its caching effectiveness.. We have been collecting data at the border router connecting MIT's LCS and AI Lab to the rest of the Intemet since Fall 1999. We have analyzed two weeks worth of data collected in January 2000 and December 2000. We also collected data from KAIST in Korea in Spring 2001. We have analyzed a week-long data from May 72001.. Our analysis has two parts: first, we study the packet traces to characterize DNS performance as seen by our cfients, and draw more fundamental conclusions about its failure modes and its retransmission protocol. Then, we conduct simulations driven by these traces to explore the effectivness of DNS caching as a function of time-tolive (TTL) fields and degree of cache sharing.. We are currently investigating a mathematical framework to capture asymptotic properties observed by simulations.

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


A Shared-Memory Implementation of the Hierarchical Radiosity Method The radiosity method is a simulation method from computer graphics to visualize the global illumination in scenes containing di use objects within an enclosure. A variety of realizations (including parallel approaches) were proposed to achieve a high e ciency while guaranteeing the same accuracy of the graphical representation. The hierarchical radiosity method reduces the computational costs considerably but results in a highly irregular algorithm which makes a parallel implementation more di cult. We investigate a task-oriented shared memory implementation and present optimizations with di erent behavior concerning locality and granularity. To be able to concentrate on load balancing and scalability issues, we use a shared-memory machine with uniform memory access time, the SB-PRAM. The radiosity method is a global illumination method from computer graphics to generate photo-realistic images of computer-generated three-dimensional environments with objects which di usely re ect or emit light 16] . The method is based on the energy radiation between surfaces of objects and accounts for direct illumination and multiple re ections between surfaces within the environment. In contrast to the ray-tracing method (another popular global illumination method 15]) the radiosity method completely separates the shading and visible-surface determination. All interactions in an environment are rst modeled in a view-independent stage, and then an image is computed using conventional visible-surface and interpolative shading algorithms.. The radiosity method decomposes the surface of objects in the scene into small elements with almost constant radiation energy. For each element, the radiation energy is represented by a radiosity value. The radiosity values of the elements are determined by solving a linear equation system relating the di erent radiation energies of the scene using con guration factors (which express the geometrical positioning of the elements). The computation of con guration factors as well as the solution of the linear system can be performed by di erent numerical methods (see 21] and its references).. A variety of methods have been proposed to reduce the computational costs, including an adaptive re nement technique 21], hierarchical methods 20], or progressive methods 8]. Adaptive and hierarchical methods reduce the number of con guration factors to be computed by combining the mutual dependencies of elements. The progressive method reduces the costs of solving the linear equation system. A further reduction of computation time is achieved by di erent parallel implementations 30].. The hierarchical radiosity method realizes an e cient computational technique for solving the transport equations that specify the radiosity values of surface patches in complex scenes 20] . The e ciency is achieved by computing the mutual illumination of surfaces more precisely for nearby surfaces and less precisely for distant surfaces. Similarly to other applications of the hierarchical approach (like the Barnes-Hut method 2] or the fast multipol method 17] for the solution of the N-body problem), the mutual in uence decays with the square of the distance. So uniform accuracy is achieved with the hierarchical approach. The computation of fewer interactions results in a smaller system to be solved. Moreover, the system can be solved e ciently on the hierarchical data structure supporting the hierarchical method.. In this article, we investigate the implementation of the hierarchical radiosity method on shared memory machines. We use a task-oriented shared memory programming model which is well-suited for the parallel implementation of irregular problems like the hierarchical radiosity method. The irregularity comprises irregular, dynamic data structures and ne-grained shared data accesses. The starting point of the investigation is the implementation from the SPLASH-2 application program suite 38] which was designed to facilitate the study of centralized and distributed shared-address-space machines. The detailed description in 24, 30, 31] shows that the SPLASH-2 implementation of the hierarchical radiosity method is tuned for an execution on a cache-based virtual-shared-memory machine with a physically distributed memory (Stanford DASH) 22]. Load balance is realized by using distributed task queues with task stealing. This interferes with the locality of accesses to the task queues, because each attempt to steal a task includes an access to a remote task queue.. An important question in parallel computing is the scalability of parallel applications, which describes how the speedup of the parallel algorithms (expressed with a parametric number of processors) depends on an increasing number of processors. A requirement for a good scalability is that the potential degree of parallelism exceeds the number of processors so that all processors can be employed and that the granularity of tasks enables a good load balance. Usually, the competition between load balance (or granularity) and data locality hinders a concise study of scalability. To overcome this di culty, we use the SB-PRAM which provides a large number of processors and a global shared memory 1]. Because the SB-PRAM has uniform access time, the implementation can concentrate on the e cient exploitation of task granularity and can ignore issues of locality. The original implementation is optimized on the algorithmic level, on the design level for tasks (to achieve a ner granularity), and on the task administration level.. We present the parallel programs in a task-oriented shared memory model where tasks can initiate new other tasks to be performed on di erent processors. The parallel programs investigated represent realizations of the general speci cation of the radiosity algorithm de ning the maximum degree of parallelism. Both implementations show good speedup values on the SB-PRAM for small number of processors, exceeding the speedup values on the DASH. But only the optimized version also exhibits good speedup values for large numbers of processors (up to 2048).. The remainder of the paper is organized as follows. Section 2 summarizes the standard and the hierarchical radiosity methods. Section 3 presents the shared memory implementation. Section 4 describes the numerical experiments. Section 5 discusses related work and Section 6 concludes. We have presented a task oriented shared memory implementation for the hierarchical radiosity method, a visualization method from computer graphics. The hierarchical radiosity method is realized by an irregular algorithm concerning dynamically changing data structures, data accesses, and di erent demands for computations. The main interest was to investigate the scalability issues of the method. The SB{PRAM with uniform access time o ers a good platform to study e cient implementations and scalability properties for irregular problems because the locality properties of the applications do not in uence the resulting performance and the investigations can concentrate on the maximum degree of parallelism. The experiments have shown that an implementation designed for up to 64 processors is not suitable for achieving good speedups for large numbers of processors.. To overcome the limitations, we introduced optimizations to exploit the facilities of the execution platform. This includes a redesign of the algorithms so as to provide a large number of independent tasks. The means are regular forallloops and a decrease of the granularity which could be achieved in the phases of the hierarchical radiosity algorithm realizing the interactions between di erent surfaces. The parallel algorithms presented shows good speedup for up to 2048 processors. Thus, the hierarchical radiosity methods can be implemented e ciently, although it has highly irregular computation and access patterns. Moreover, the investigations have shown that parallel data structures provided by the underlying machine support the massively parallel, e cient implementations of highly irregular algorithms for which the hierarchical radiosity is a good example. Several approaches for parallel execution of the radiosity method have been considered in the past. Most of this work has been applied to non-hierarchical variants, in particular the progressive radiosity algorithm. A good overview can be found in 39], see also 12]. A parallel gathering method for a transputerbased network using a master-slave model is given in 25]. For a small test scene, the method shows an e ciency of 50% on 24 slave processors. Parallel implementations of the progressive radiosity method have been described for di erent target architectures like distributed memory MIMD 4, 6, 10, 19, 33, 34] Prior work on parallel implementations of the hierarchical radiosity method is described in 5, 12, 14, 13, 30, 39] . The implementation from 30] was the starting point for the implementation in this article and has been discussed in the previous sections. Zareski 39] describes several implementations of the hierarchical radiosity method on networks of workstations (SP-1), virtual shared memory machines (KSR-1) and distributed memory machines (CM-5) with active messages. In contrast to the approach in this article, those implementations use a master-slave model and are directed towards exploiting coarse-grained parallelism. A single master process controls the overall calculation and farms out work for the slaves which are mainly used to perform visibility determinations between patches of the scene. The master collects the results, computes the form factors and updates the radiosities. An implementation on di erent architectural platforms shows that the communication overhead is too large to yield good performance. The execution time grows with increasing numbers of processors.. Funkhouser 12] presents a group iterative method based on a master-slave model which also aims at the exploitation of coarse-grained parallelism. The master repeatedly partitions patches into groups, distributes a copy of each group to a slave processor for an update of the radiosities for all patches in that group, and merges the updated radiosities back into the master solution.. The groups are chosen such that the number g of groups is considerably larger than the number p of slave processors (g > 8p). On the other hand, each group must be large enough that the time required to distribute its computation to a slave is much smaller than it would have been to perform the computation locally on the master. The parallel implementation has been applied to a test scene with 6418 patches, 242 of which belong to light sources. The execution on a workstation cluster with up to eight Silicon Graphics slave workstations shows an e ciency between 65 and 75%. The e ciency is limited due to the synchronous master-slave communication, i.e., the master can only talk to one slave at a time. This leads to sequentialization if two slaves nish their computation at the same time and try to report the result to the master. Thus, the approach is not scalable to a large number of processors.. Garmann and M uller propose in 14, 13] an SPMD approach suitable for an execution on distributed memory machines. The basic idea is to understand the radiosity computations as a manipulation of a task graph. The nodes represent tasks to compute interactions between patches and to subdivide patches into subpatches. The edges represent data exchanges between tasks. The nodes are weighted with an expected computation time, the edges with an expected communication time. The goal is to distribute the nodes among the processors so that the communication between the processors is minimized and each processor has to perform an equal amount of work. An approximation to the optimal solution is obtained with simulated annealing. An implementation on a CM-5 with 64 processors leads to a speedup of 8.4 for a test scene with 324 polygons and 6380 elements. The speedup is limited mainly by the amount of communication. The SPLASH2 benchmark suite comprises several parallel example programs realizing irregular applications, which are mainly intended for the Stanford DASH multiprocessor 23, 30, 31] . The DASH is a shared address space machine with cache coherency, physically distributed memory, and non-uniform memory access time. The prototype has 64 processors that are organized in 16 clusters. A cluster comprises four MIPS R3000 processors and a memory module, all are connected by a shared bus. The clusters are connected in a mesh network. The memory hierarchy consists of registers, rst level cache, second level cache, main memory local to cluster, and remote main memory in another cluster. The access to the rst level cache is two orders of magnitude faster than the access to remote main memory. Therefore, data locality plays an important role in attaining a good performance. Figure 14 (left) shows the speedups of the original SPLASH implementation on the DASH and on the SB-PRAM simulator, using the SPLASH test scene. For the implementation on the DASH, the default task granularity was used. For the implementation on the SB-PRAM, the gure shows the speedups for the default task granularity and the nest garnularity that is possible. The SPLASH-2 scene contains 346 input polygons which are decomposed into 12430 elements and for which 150572 interactions between patches have to be computed. The number of B-tasks used during the computation is 372, i.e., eight input polygons had to be split. The number of F-tasks is 17202, the number of R-tasks is 126332, the number of V-tasks is 57324, and the number of A-tasks is 32944. The speedup values for the DASH for up to 48 processors are reported in 30]. Due to the task stealing mechanism, the DASH is most e cient with coarser granularity where the V-tasks are chosen to compute four visibility values instead of one; this improves locality on the BSP tree data structure (DASH(default) in Figure 14 (left) ). In contrast, the SB-PRAM achieves a better speedup when a ner granularity with one visibility computation per V-task is used (SB-PRAM( nest) in Figure 14 (left) ). The original SPLASH implementation performs better on the SB-PRAM (SB-PRAM(default) in Figure 14 (left)) than on the DASH because of uniform memory access times (see Figure 9 on the left) and the redundance of locality.. The large number of processors and the additional software support (see Section 3) make the SB-PRAM an ideal platform on which for studying the scalability properties inherent in an algorithms. But the massive parallelism and the uniform access time require a di erent implementation strategy for the study of the scalability of the hierarchical radiosity method. The optimizations summarized in Figure 10 take this modi ed approach into account by replacing the expensive task concept by parallel loops if the loops exhibit a regular, independent parallel structure (F'-computations, A'-computations), decreasing the granularity (new V'-tasks and R'-tasks with smaller runtime), increasing the degree of potential parallelism by destroying data locality (B'tasks), and exploiting a new task-administration mechanism by using unit access time task-queues. Figure 15 reports the speedup value and the absolute runtimes in seconds for both implementations applied to the SPLASH-2 test scene. The speedup values for the SPLASH implementation with phases (1), (2), (3) are on the left; the values for the optimized version with phases (1'), (1"), (2'), (3') are on the right. The phases overlap according to the algorithmic structure. The timings in columns T 1 left and right show the optimized version has a sequential runtime which is 5:8% faster than the non-optimized version. The e cient parallelization of the Btasks (BSP tree) is more important for massively parallel implementations than for a relatively small number of processors, where the fraction 1 14000 of the computation for building the BSP tree is negligible. For the SPLASH test scene with 346 input polygons, the parallel construction of the BSP tree has only a small advantage over a sequential construction. This is shown by the small speedup value of 1.44 in Figure 15 . For larger test scenes, the speedup of this phase may increase signi cantly, e.g., for a test scene with 7048 input polygons, a parallel construction of the BSP tree achieves a speedup of 6.8 which is already obtained for 24 processors. The prephase for sorting the input polygons is done before building the BSP tree. Experiments have shown that the global execution time of the entire algorithm depends signi cantly on the order of the input polygons; the time varies by a factor of up to 10. This is a general phenomenon which should be separated from issues of parallelization.. A di erent phenomenon concerns the convergence of the iteration steps solving the system of radiosity values (4) . The iteration may converge faster in the parallel implementation than in the sequential one, saving a full iteration step. The reason is the use of updated values within one iteration step if the number of patches and elements is higher than the number of processors. The faster convergence corresponds to the fact that the Gauss-Seidel method for solving linear equation systems converges faster than the Jacobi method. This e ect is exploited in the (non-hierarchical) progressive radiosity method 8].. Besides the improvements of the e ciency, our investigations show that the optimized version leads to a much simpler source code. The main reasons are the lack of locality, the use of parallel loops which corresponds to the loops in the pseudocode algorithms, and the simpli ed task administration. Fig. 15 . Timings of the SPLASH2 implementation and the optimized implementation on the SB-PRAM. The input scene is the SPLASH2 test scene.

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


A game tree strategy for automated negotiation Chess playing programs running on small computers, such as PocketPCs, can beat most human players. This paper reports a feasibility study to determine if the techniques programs use to play chess can be applied to the more economically interesting problem of negotiation. This study allowed us to identify the essential differences between playing chess and negotiating and to demonstrate possible solutions to the problems we encountered. Negotiation can be treated as a game, and computers have been used to play games, such as chess. However, none of the proposed strategies for automatic negotiation combines these two ideas. The strategy presented here involves treating bilateral negotiation as a two-player game and traversing the game tree that results from enforcing the protocol.. Of course, there are issues that arise in a negotiation that don't enter into playing chess. First, chess is a game of perfect information, where the payoff and game structures are common knowledge, which is obviously not true in general for bilateral negotiation. In particular, in most real world examples, the payoff is private information unknown to the opponent. Not surprisingly, the quality of the deal reached by a player depends on how good an estimate of the opponent is used. Second, in chess, if your opponent makes a bad move, you do better. That's not true in a negotiation, both parties may suffer, so a strategy must be able to deal with inept opponents. In addition, all moves in chess are discrete, the queen moves two squares or three, but some attributes in a negotiation are continuous, such as fluid measures, or effectively so, such as price.. The protocol and strategy described in this paper are not specific to the utility of the players. The only requirement for implementation is that each player can evaulate his own utility function. We also do not require a player to have knowledge of the utility function of his opponent. Instead, we have created a general model of how a player deals with uncertainties. Several experiments using additive utility functions were implemented to study the behavior of this strategy. We have found this algorithm can result in reasonable offers, in the sense that we would not be surprised to see these offers from human negotiators. These issues and others are discussed in more detail in the full report [1] , which also includes a more complete list of citations. Here we'll just summarize that paper. We've shown that it is possible to use the same approach to negotiation as used when programming a computer to play chess. In spite of the additional complications, the tree strategy produces results in line with expectations.. There is much more work to be done. The performance of the prototype is simply terrible, evaluating fewer than 100 nodes per second. Improving the performance will enable more systematic studies, particularly to find a better strategy for range-valued attributes. We should also study more complex contracts, and test the tree strategy against more realistic strategies, including testing it against people. We also need to quantify the cost of poor estimates of the other player's utility.. Even with dramatically better performance, we don't expect to be able to completely expand the game tree as done in our test cases; doing so will take too long and consume too much memory. Instead, we'll address the exponential explosion by intelligent pruning. The utility representation we developed allows us to calculate both the best and worst possible deals reachable from any offer. Hence, we can prune branches in which the best possible outcome is worse than the worst possible outcome on some other path. We can also use a heuristic that limits the number of changes made on any offer, since restricting the possibilities too much is likely to violate the other party's constraints. Finally, we have the advantage over chess playing programs that negotiations are often spread over days or weeks instead of minutes.. Chess playing programs have demonstrated that brute force wins over attempting to emulate human thought. We expect that a fully developed tool will demonstrate this same property for negotiation.

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