58,310 research outputs found
A self-organising awareness system for distributed software engineering
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
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
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
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
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
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
Recommended from our members
Computing infrastructure issues in distributed communications systems : a survey of operating system transport system architectures
The performance of distributed applications (such as file transfer, remote login, tele-conferencing, full-motion video, and scientific visualization) is influenced by several factors that interact in complex ways. In particular, application performance is significantly affected both by communication infrastructure factors and computing infrastructure factors. Several communication infrastructure factors include channel speed, bit-error rate, and congestion at intermediate switching nodes. Computing infrastructure factors include (among other things) both protocol processing activities (such as connection management, flow control, error detection, and retransmission) and general operating system factors (such as memory latency, CPU speed, interrupt and context switching overhead, process architecture, and message buffering). Due to a several orders of magnitude increase in network channel speed and an increase in application diversity, performance bottlenecks are shifting from the network factors to the transport system factors.This paper defines an abstraction called an "Operating System Transport System Architecture" (OSTSA) that is used to classify the major components and services in the computing infrastructure. End-to-end network protocols such as TCP, TP4, VMTP, XTP, and Delta-t typically run on general-purpose computers, where they utilize various operating system resources such as processors, virtual memory, and network controllers. The OSTSA provides services that integrate these resources to support distributed applications running on local and wide area networks.A taxonomy is presented to evaluate OSTSAs in terms of their support for protocol processing activities. We use this taxonomy to compare and contrast five general-purpose commercial and experimental operating systems including System V UNIX, BSD UNIX, the x-kernel, Choices, and Xinu
Systematic composition of distributed objects: Processes and sessions
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
- …