913 research outputs found
Location based mobile computing - a tuplespace perspective
This is the post-print version of the Article. The official published version can be accessed from the link below - Copyright @ 2006 IOS PressLocation based or "context aware" computing is becoming increasingly recognized as a vital part of a mobile computing environment. As a consequence, the need for location-management middleware is widely recognized and actively researched. Location-management is frequently offered to the application through a "location API" (e.g. JSR 179) where the mobile unit can find out its own location as coordinates or as "building, floor, room" values. It is then up to the application to map the coordinates into a set of localized variables, e.g. direction to the nearest bookshop or the local timezone. It is the opinion of the authors that a localization API should be more transparent and more integrated: The localized values should be handed to the application directly, and the API for doing so should be the same as the general storage mechanisms. Our proposed middleware for location and context management is built on top of Mobispace. Mobispace is a distributed tuplespace made for mobile units (J2me) where replication between local replicas takes place with a central server (over GPRS) or with other mobile units (using Bluetooth). Since a Bluetooth connection indicates physical proximity to another node, a set of stationary nodes may distribute locality information over Bluetooth connections, and this information may be retrieved through the ordinary tuplespace API. Besides the integration with the general framework for communication and coordination the middleware offers straightforward answers to questions like: Where is node X located? Which nodes are near me? What is the trace of node Y
A Peer-to-Peer Middleware Framework for Resilient Persistent Programming
The persistent programming systems of the 1980s offered a programming model
that integrated computation and long-term storage. In these systems, reliable
applications could be engineered without requiring the programmer to write
translation code to manage the transfer of data to and from non-volatile
storage. More importantly, it simplified the programmer's conceptual model of
an application, and avoided the many coherency problems that result from
multiple cached copies of the same information. Although technically
innovative, persistent languages were not widely adopted, perhaps due in part
to their closed-world model. Each persistent store was located on a single
host, and there were no flexible mechanisms for communication or transfer of
data between separate stores. Here we re-open the work on persistence and
combine it with modern peer-to-peer techniques in order to provide support for
orthogonal persistence in resilient and potentially long-running distributed
applications. Our vision is of an infrastructure within which an application
can be developed and distributed with minimal modification, whereupon the
application becomes resilient to certain failure modes. If a node, or the
connection to it, fails during execution of the application, the objects are
re-instantiated from distributed replicas, without their reference holders
being aware of the failure. Furthermore, we believe that this can be achieved
within a spectrum of application programmer intervention, ranging from minimal
to totally prescriptive, as desired. The same mechanisms encompass an
orthogonally persistent programming model. We outline our approach to
implementing this vision, and describe current progress.Comment: Submitted to EuroSys 200
Recommended from our members
Distributed tuplespace and location management - an integrated perspective using Bluetooth
Location based or "context aware" computing is becoming increasingly recognized as a vital part of a mobile computing environment. As a consequence, the need for location-management middleware is widely recognized and actively researched. Location management is frequently offered to the application through an API where the location is given in the form of coordinates. It is the opinion of the authors that a localization API should offer localized data (e.g. direction to the nearest pharmacy) directly through a transparent and integrated API. Our proposed middleware for location and context management is built on top of Mobispace. Mobispace is a distributed tuplespace made for J2me units where replication between local replicas takes place with a central server (over GPRS) or with other mobile units (using Bluetooth). Since a Bluetooth connection indicates physical proximity to another node, a set of stationary nodes may distribute locality information over Bluetooth connections, and this information may be retrieved through the ordinary tuplespace AP
Currency management system: a distributed banking service for the grid
Market based resource allocation mechanisms require mechanisms to regulate and manage the usage of traded resources. One mechanism to control this is the definition of some kind of currency. Within this context, we have implemented a first prototype of our Currency Management System, which stands for a decentralized and scalable banking service for the Grid. Basically, our system stores user accounts within a DHT and its basic operation is the transferFunds which, as its name suggests, transfers virtual currency from an account to one another
Kompics: a message-passing component model for building distributed systems
The Kompics component model and programming framework was designedto simplify the development of increasingly complex distributed systems. Systems built with Kompics leverage multi-core machines out of the box and they can be dynamically reconfigured to support hot software upgrades. A simulation framework enables deterministic debugging and reproducible performance evaluation of unmodified Kompics distributed systems.
We describe the component model and show how to program and compose event-based distributed systems. We present the architectural patterns and abstractions that Kompics facilitates and we highlight a case study of a complex
distributed middleware that we have built with Kompics. We show how our approach enables systematic development and evaluation of large-scale and dynamic distributed systems
Composable consistency for large-scale peer replication
technical reportThe lack of a flexible consistency management solution hinders P2P implementation of applications involving updates, such as directory services, online auctions and collaboration. Managing shared data in a P2P setting requires a consistency solution that can operate in a heterogenous network, support pervasive replication for scaling, and give peers autonomy to tune consistency to their sharing needs and resource constraints. Existing solutions lack one or more of these features. In this paper, we propose a new way to structure consistency management for P2P sharing of mutable data called composable consistency. It lets applications compose a rich variety of consistency solutions appropriate for their sharing needs, out of a small set of primitive options. Our approach splits consistency management into design choices along five orthogonal aspects, namely, concurrency, consistency, availability, update visibility and isolation. Various combinations of these choices can be employed to yield numerous consistency semantics and to fine-tune resource use at each replica. Our experience with a prototype implementation suggests that composable consistency can effectively support diverse P2P applications
- …