1,754 research outputs found

    Wikis in Tuple Spaces

    Full text link
    We consider storing the pages of a wiki in a tuple space and the effects this might have on the wiki experience. In particular, wiki pages are stored in tuples with a few identifying values such as title, author, revision date, content, etc. and pages are retrieved by sending the tuple space templates, such as one that gives the title but nothing else, leaving the tuple space to resolve to a single tuple. We use a tuple space wiki to avoid deadlocks, infinite loops, and wasted efforts when page edit contention arises and examine how a tuple space wiki changes the wiki experience.Comment: To appear at WMSCI 200

    A knowledge base architecture for distributed knowledge agents

    Get PDF
    A tuple space based object oriented model for knowledge base representation and interpretation is presented. An architecture for managing distributed knowledge agents is then implemented within the model. The general model is based upon a database implementation of a tuple space. Objects are then defined as an additional layer upon the database. The tuple space may or may not be distributed depending upon the database implementation. A language for representing knowledge and inference strategy is defined whose implementation takes advantage of the tuple space. The general model may then be instantiated in many different forms, each of which may be a distinct knowledge agent. Knowledge agents may communicate using tuple space mechanisms as in the LINDA model as well as using more well known message passing mechanisms. An implementation of the model is presented describing strategies used to keep inference tractable without giving up expressivity. An example applied to a power management and distribution network for Space Station Freedom is given

    Block Placement Strategies for Fault-Resilient Distributed Tuple Spaces: An Experimental Study - (Practical Experience Report)

    Get PDF
    The tuple space abstraction provides an easy-to-use programming paradigm for distributed applications. Intuitively, it behaves like a distributed shared memory, where applications write and read entries (tuples). When deployed over a wide area network, the tuple space needs to efficiently cope with faults of links and nodes. Erasure coding techniques are increasingly popular to deal with such catastrophic events, in particular due to their storage efficiency with respect to replication. When a client writes a tuple into the system, this is first striped into k blocks and encoded into n > k blocks, in a fault-redundant manner. Then, any k out of the n blocks are sufficient to reconstruct and read the tuple. This paper presents several strategies to place those blocks across the set of nodes of a wide area network, that all together form the tuple space. We present the performance trade-offs of different placement strategies by means of simulations and a Python implementation of a distributed tuple space. Our results reveal important differences in the efficiency of the different strategies, for example in terms of block fetching latency, and that having some knowledge of the underlying network graph topology is highly beneficia

    TOTAM: Scoped Tuples for the Ambient

    Get PDF
    Coordination of mobile applications posses a number of issues. Devices should be able to communicate with each other without being connected with each other at the same time while maintaining privacy and limited network traffic. Current tuple based approaches solve these issues partially but none of them solves all of them. We propose a novel tuple space-based approach where tuple spaces are annotated with tuple space descriptors used to determine the scope of a tuple. The novelty of our approach lies in the use of these tuple space descriptors to determine that a tuple should be propagated before it is transmitted. This enhances privacy and decreases the burden on the network traffic in a wide range of applications

    Implementing tuple space on transputer meshes

    Get PDF
    Research Report submitted to the Faculty of Science, University of the Witwatersrand, Johannesburg, towards a partial fulfilment of the requirements for the degree of Master of Science Johannesburg 1991This report describes and evaluates an implementation of the Linda tuple space abstraction on Transputer networks. There is evidence that suggests a need for a new programming methodology to support Transputer-based applications, and Linda, as an attractive and elegant alternative to existing methodologies, has great potential for this role. The research focuses on the implementation of a particular tuple space model, intermediate uniform distribution, on Transputer meshes. The objective of the research is to ascertain the extent of the communication overheads inherent in the implementation and hence evaluate the feasibility of the approach. The overheads are measured relative to message passing performance on native Transputer networks, and are shown to be significant. It is concluded that although the specific tuple space model is not ideally suited to Transputer-based systems and the implementation, as it stands, is too inefficient to be of practical use, the approach requires further exploration in order to exhaust its full research potential.MT201

    Tuple Space Coordination Across Space & Time

    Get PDF
    CAST is a coordination model designed to support interactions among agents executing on hosts that make up a mobile ad hoc network (MANET). From an application programmer’s point of view, CAST makes it possible for operations to be executed at arbitrary locations in space, at prescribed times which may be in the future, and on remote hosts even when no end-to-end connected route exists between the initiator and target(s) of the operation. To accomplish this, CAST assumes that each host moves in space in accordance with a motion profile which is accurate but which at any given time extends into the future for a limited duration. These motion profiles are freely exchanged among hosts in the network through a gossiping protocol. Knowledge about the motion profiles of the other hosts in the network allows for source routing of operation requests and replies over disconnected routes. In this paper, we present the CAST model and its formalization. We also discuss the feasibility of realizing this mode

    Critical success factors for implementing CASE at a selection of companies in South Africa

    Get PDF
    We discuss the implementation of Rhoda, our Linda-like Tuple Space server which runs under the Helios operating system. The approach analyses and partitions tuple space at compile time in order to reduce the run time- overhead of tuple matching. The interaction between the concurrent processes and the tuple partitions is used as the basis for distributing the partitions and processes in the network. The paper presents some empirical results and discusses the suitability of the Helios nucleus for supporting the approach

    Comparison of Unix Communication Facilities Used In Linda

    Get PDF
    This report presents the results of an investigative effort that focuses on a first step toward providing a distributed framework for Linda system processes. In particular, we discuss the restructuring of the kernel "process" to support Tuple Space access through UNIX socket calls, rather than through shared memory primitives based on semaphore usage. A description of the restructured system and the rationale for such restructuring is presented first. Most intriguing, however, are the latter sections that discuss the ramifications and insights gained from our particular approach to system redesign, i.e., the unnecessary serialization of Tuple Space access, redundant memory copies, being victimized by the UNIX scheduler

    Tuple board: a new distributed computing paradigm for mobile ad hoc networks

    Get PDF
    In this project, we introduce a new distributed computing paradigm called tuple board which is based on the tuple space abstraction originated by Gelernter and the blackboard architecture popular in distributed artificial intelligence. Most prominent implementations of tuple space systems including JavaSpaces and T-Spaces follow a centralized architecture where the space itself resides on a server, akin to a database server. Recently, researchers have attempted to develop decentralized architectures for tuple space systems. Some work includes LIME and PeerSpaces. In our opinion, the traditional implementation of tuple spaces is not well suited for ad hoc networks where devices frequently lose network access. The tuple space architecture attempts to provide persistent storage of tuples irrespective of the state of nodes in the network. While persistence may be easily implemented in centralized systems such as JavaSpaces, achieving this end in a purely decentralized environment would require complex replication schemes. This would place undue overhead on the resource-constrained devices that are typical for ad hoc networks. In the architecture used in this project the availability of tuples is determined by the state of devices participating in the network. At any given point of time, only the tuples contained in devices that are active in the network are available on the tuple board. As part of the project, a specific instance of the tuple board architecture was realized using the Anhinga Infrastructure. The system, called Anhinga Board, uses the M2MI protocol for the implementation of tuple board semantics. To demonstrate the Anhinga Board, a collaborative conference information system, consisting of tuple board based applications running on attendees devices, vendors devices, and the conference center s devices, was also developed
    • …
    corecore