Ubiquitous Storage
Smart products are heterogeneous real-world objects with embedded computing and networking functionality. They have to operate and cooperate in distributed and dynamic environments, and require large-scale content sets (i.e., proactive knowledge as well as other product-/user-related information) across their entire product lifecycle. This content needs to be highly available and accessible with low latency across the entire PLC both from business systems and from the actual products in order to realize the business potential of smart products and to enhance user-perceived performance, respectively. Even further, durability requirements of business-relevant information have to be taken into account.
These goals would be easily achievable in a perfect world, in which smart products possess “infinite” storage capacity and are always able to establish broadband connections to business systems. However, smart products are typically resource-constrained with respect to their storage, communication, and processing capabilities. Moreover, due to the varying communication technologies employed by smart products and their potential mobility, smart products are subject to regular disconnections. Consequently, smart products are in general not able to store all information required during their lifecycle on-board. On the other hand, not all smart products are capable of connecting to business systems in order to store or access content at all times.
The Ubiquitous Storage module, in its final version, will realize the distributed storage framework described in [D4.1.3]. Based on a capability-aware hybrid P2P overlay network, the Ubiquitous Storage module enables content to be stored on-board of smart products as well as on related business systems. Even further, it makes use of resources in the product’s environment to place content with high availability and query efficiency requirements. The Ubiquitous Storage module provides integrated and configurable replication and consistency maintenance functionality with pre-defined content classes in order to capture the trade-offs between availability, durability, query efficiency, and consistency in distributed systems. The functionality of the Ubiquitous Storage module is complemented by a distributed search mechanism that enables efficient content location and retrieval. This way, the module provides means for achieving scalable storage and distribution of proactive knowledge and other product- and user-related information and aims at achieving the goals of content availability, durability, and query efficiency given the challenges of smart products.
According to the overall implementation guidelines, the Ubiquitous Storage module is realized as an OSGi bundle. It can be deployed in the component framework Apache Felix ( http://felix.apache.org/), an implementation of the OSGi service platform. The API of the module is registered and offered as an OSGi service in order to be available on-demand to any other local component in a loosely-coupled manner. Moreover, the implementation is dynamically configurable by implementing the ManagedService interface of the Apache Felix component framework. It is interconnected with the following modules of the SmartProducts platform.