58,310 research outputs found

    A self-organising awareness system for distributed software engineering

    Get PDF
    Software engineers and other collaborative disciplines rely on informal "out-of-band" communication for ef- fective coordination of their activities, especially in agile methods. This type of communication is lost when development is distributed, with consequent deleterious effects on engineer effectiveness. In order to effectively support distributed software engineering, a replacement for this informal communication must be found. Much previous research focussed on either synchronous awareness such as radar views and shared editors, where participants were distributed in space not time, or asynchronous awareness such as change notification, which did not explicitly support concurrent activities. A unified approach is necessary to support software engineering. Furthermore, requiring co-location of engineering teams is not possible in today's marketplace where development is often outsourced, consequently a definite requirement for awareness tools to replace informal communication exists. To implement an awareness tool capable of providing awareness of activities distributed both in time (asyn- chronous awareness) and space (synchronous awareness). The tool will not rely on a centralised reflector; instead information will be distributed over a peer-to-peer network arranged using a self-organisation algorithm. Consequently awareness information need not travel more than a few hops from its originating peer, reducing network load and increasing relevance of information received. Unlike reflector-based CSCW systems, the network will scale and will not have a single point of failure in the reflector. Furthermore, without the need to setup a reflector, there is the capability for ad-hoc awareness, using low-complexity peer discovery by local broadcast for example. The tool will be integrated with the Eclipse development environment. The files a user is currently editing will determine the data they are interested in and fuzzy similarity metrics will be used to compare the collections of each peer in the network in order to drive the self-organisation process. To evaluate the success of self-organisation, a simulation approach will be used before deploying the algorithms in the wild. To evaluate the effectiveness of the awareness provision, initial deployment and controlled experiments will be conducted within the Distributed Software Engineering group at the University of Lincoln and a later version of the tool will be trialled with existing Eclipse user

    Mesmerizer: A Effective Tool for a Complete Peer-to-Peer Software Development Life-cycle

    Get PDF
    In this paper we present what are, in our experience, the best practices in Peer-To-Peer(P2P) application development and how we combined them in a middleware platform called Mesmerizer. We explain how simulation is an integral part of the development process and not just an assessment tool. We then present our component-based event-driven framework for P2P application development, which can be used to execute multiple instances of the same application in a strictly controlled manner over an emulated network layer for simulation/testing, or a single application in a concurrent environment for deployment purpose. We highlight modeling aspects that are of critical importance for designing and testing P2P applications, e.g. the emulation of Network Address Translation and bandwidth dynamics. We show how our simulator scales when emulating low-level bandwidth characteristics of thousands of concurrent peers while preserving a good degree of accuracy compared to a packet-level simulator

    ElfStore: A Resilient Data Storage Service for Federated Edge and Fog Resources

    Full text link
    Edge and fog computing have grown popular as IoT deployments become wide-spread. While application composition and scheduling on such resources are being explored, there exists a gap in a distributed data storage service on the edge and fog layer, instead depending solely on the cloud for data persistence. Such a service should reliably store and manage data on fog and edge devices, even in the presence of failures, and offer transparent discovery and access to data for use by edge computing applications. Here, we present Elfstore, a first-of-its-kind edge-local federated store for streams of data blocks. It uses reliable fog devices as a super-peer overlay to monitor the edge resources, offers federated metadata indexing using Bloom filters, locates data within 2-hops, and maintains approximate global statistics about the reliability and storage capacity of edges. Edges host the actual data blocks, and we use a unique differential replication scheme to select edges on which to replicate blocks, to guarantee a minimum reliability and to balance storage utilization. Our experiments on two IoT virtual deployments with 20 and 272 devices show that ElfStore has low overheads, is bound only by the network bandwidth, has scalable performance, and offers tunable resilience.Comment: 24 pages, 14 figures, To appear in IEEE International Conference on Web Services (ICWS), Milan, Italy, 201

    Enabling collaboration in virtual reality navigators

    Get PDF
    In this paper we characterize a feature superset for Collaborative Virtual Reality Environments (CVRE), and derive a component framework to transform stand-alone VR navigators into full-fledged multithreaded collaborative environments. The contributions of our approach rely on a cost-effective and extensible technique for loading software components into separate POSIX threads for rendering, user interaction and network communications, and adding a top layer for managing session collaboration. The framework recasts a VR navigator under a distributed peer-to-peer topology for scene and object sharing, using callback hooks for broadcasting remote events and multicamera perspective sharing with avatar interaction. We validate the framework by applying it to our own ALICE VR Navigator. Experimental results show that our approach has good performance in the collaborative inspection of complex models.Postprint (published version

    Effect of Location Accuracy and Shadowing on the Probability of Non-Interfering Concurrent Transmissions in Cognitive Ad Hoc Networks

    Get PDF
    Cognitive radio ad hoc systems can coexist with a primary network in a scanning-free region, which can be dimensioned by location awareness. This coexistence of networks improves system throughput and increases the efficiency of radio spectrum utilization. However, the location accuracy of real positioning systems affects the right dimensioning of the concurrent transmission region. Moreover, an ad hoc connection may not be able to coexist with the primary link due to the shadowing effect. In this paper we investigate the impact of location accuracy on the concurrent transmission probability and analyze the reliability of concurrent transmissions when shadowing is taken into account. A new analytical model is proposed, which allows to estimate the resulting secure region when the localization uncertainty range is known. Computer simulations show the dependency between the location accuracy and the performance of the proposed topology, as well as the reliability of the resulting secure region

    Pando: Personal Volunteer Computing in Browsers

    Full text link
    The large penetration and continued growth in ownership of personal electronic devices represents a freely available and largely untapped source of computing power. To leverage those, we present Pando, a new volunteer computing tool based on a declarative concurrent programming model and implemented using JavaScript, WebRTC, and WebSockets. This tool enables a dynamically varying number of failure-prone personal devices contributed by volunteers to parallelize the application of a function on a stream of values, by using the devices' browsers. We show that Pando can provide throughput improvements compared to a single personal device, on a variety of compute-bound applications including animation rendering and image processing. We also show the flexibility of our approach by deploying Pando on personal devices connected over a local network, on Grid5000, a French-wide computing grid in a virtual private network, and seven PlanetLab nodes distributed in a wide area network over Europe.Comment: 14 pages, 12 figures, 2 table

    Systematic composition of distributed objects: Processes and sessions

    Get PDF
    We consider a system with the infrastructure for the creation and interconnection of large numbers of distributed persistent objects. This system is exemplified by the Internet: potentially, every appliance and document on the Internet has both persistent state and the ability to interact with large numbers of other appliances and documents on the Internet. This paper elucidates the characteristics of such a system, and proposes the compositional requirements of its corresponding infrastructure. We explore the problems of specifying, composing, reasoning about and implementing applications in such a system. A specific concern of our research is developing the infrastructure to support structuring distributed applications by using sequential, choice and parallel composition, in the anarchic environment where application compositions may be unforeseeable and interactions may be unknown prior to actually occurring. The structuring concepts discussed are relevant to a wide range of distributed applications; our implementation is illustrated with collaborative Java processes interacting over the Internet, but the methodology provided can be applied independent of specific platforms
    corecore