Concepts and System Structures to Support Collaborating Everyday Items Thomas Schoch Institute for Pervasive Computing, ETH Zurich Abstract The goal of this dissertation is to contribute towards the realization of the vision of a world with "smart" everyday items. Smart everyday items differ from regular everyday items insofar as they know their whereabouts, perceive their environment, and are able to communicate with other smart things. For example, a bottle that contains temperature sensitive chemicals can monitor the temperature and if a certain limit is exceeded, the bottle can send an alarm message; and if its own temperature sensor is broken, it simply asks a bottle in its vicinity. Another task that a bottle might take over is less complex and more cost efficient: it signs in and off at the warehouse management systems of supply chain participants, so that they know exactly what inventory is currently stored. In the introductory first chapter of this work, this vision will be extended and it will be shown how it can be embedded in the more general vision of ubiquitous computing, which was first formulated by its pioneer Marc Weiser. Starting from these visions, economically practicable applications will be introduced in the following second chapter. One generic application, which will be referenced throughout this work, will be discussed more deeply. It consists of a supply chain application with several participants that exchange products. At first, these economic applications serve, especially the supply chain application, to enumerate the requirements that need to be fulfilled by systems that aim at realizing a world of smart everyday items. By this, we understand a software system that comprises, on the one hand, a software framework that provides application developers with the required abstractions in terms of a generic class library and, on the other hand, middleware services that extract and execute application-independent tasks. It is the assumption of this dissertation that the concepts and systems presented here describe and support a world of collaborating everyday items in a substantially better way than would be possible with current means. In the third chapter, the technologies are presented on which the smart thing systems considered in this work are based. It is about software systems, on the one hand, that support dynamic client/server applications, such as Jini or Web Services, and hardware systems, on the other hand, that serve to identify objects automatically, such as bar code or RFID systems. After these preparations, the fourth chapter introduces a model that describes a world of collaborating everyday items. On the highest level, the model differentiates between four concepts: a thing, the tag attached to it for identification, a representation of that thing in IT systems, and a service infrastructure} that allows for the coupling of the tag and its representation. These four concepts and their relative dependencies will be expanded and presented. Besides the definition of the vocabulary that is used throughout this work, the model serves to formulate the problems and challenges of an implementation of such systems precisely, so that the model can be used as a template for future implementation. During the work with the model, the following problem areas and questions arose that are also addressed by the model: "How can we abstract from the implementation details of the underlying identification technology such as bar codes or RFID?", "How must an identifier be structured?", "Which kind of location model is appropriate?", "How does the service infrastructure realize the coupling between a thing and its representation?", "Which other services can be provided by the service infrastructure?", "What is the minimum functionality that has to be provided by a representation?", "What are the possible options for migrating a representation?" and "How is the interaction between applications and representations realized?". The implementation of the model in three different smart thing systems as well as the corresponding insights, are the topics of the fifth chapter. Both topics can be regarded as a solution to the above mentioned problem areas. First, the question of how to structure applications that use one of the three systems will be addressed. A similar issue is how such systems and the applications based on them can communicate with already existing applications. Building on this basis, a description is given of the three systems that cover different aspects of the model, so that a subsequent system extends a previous one, as well as trying out different technologies. Some features that distinguish the systems are the usage of Jini or Web Services as an underlying client/server platform, various location models, and the option of a representation either migrating from one host to another in order to be executed as near as possible to the location of the thing, or of the representation being permanently located at a host where it is reachable from a client application at all times. The deployment of the smart thing systems, i.e. the execution of the application and the middleware service on computers, as well as the application development, are evaluated in the sixth chapter. This evaluation relies, on the one hand, on the supply chain application introduced in the second chapter as a generic example and, on the other hand, on the measurement of the relevant system parameters of the underlying technology. Finally, the results will point out whether the systems actually support application developers and whether they scale well enough to be deployed on a larger scale. The seventh chapter shows to what extent links or overlaps to related work exist, thereby suggesting the broader value of the concepts and implementations presented here. Mainly those projects are presented that also aim to realize a world of smart things, as well as work that is intended for a different goal but has similar subordinate problems to solve. In the last eighth chapter, building on the evaluation of the sixth chapter, the pros and cons of the model and the smart thing systems are discussed, and potential extensions of the model and the systems are sketched. In addition, adjacent research areas and their challenges are addressed.