429,991 research outputs found
EIES 2 : a distributed architecture for supporting group work
The Computerized Conferencing Center (CCCC) at New Jersey Institute of Technology (NJIT) has been researching on-line group communications for 17 years by developing and studying tools to advance the collective intelligence . The Electronic Information Exchange System 2 (EIES2) provides a research, development and operational environment for distributed computer supported cooperative work (CSCW) systems. The EIES 2 distributed Smalltalk processor provides for rapid prototyping and implementation of muti-media CSCW facilities in the network environment. The Smalltalk support of the object model, and meta-language properties make it ideally suited for incremental development CSCW applications. The EIES2 communication environment supports a decentralized network architecture. Modern standards are used in the implementation of data structures, communication interfaces and database. The EIES2 application layer protocols support use ASN.1 data representation to access to an object-oriented distributed database via X.ROS remote operation services. EIES2 can serve as a foundation on which group work systems may be built and defines protocols that can allow them to inter-operate. An initial system presents a powerful metaphor of conferences and activities which provides an extensible framework upon which to add group work applications. Work to date has provided structures for information exchange, inquiry networking, information filtering, the on-line virtual classroom, and group decision support. This paper presents the system architecture model used for EIES2 and describes the implementation and current applications
Web services for distributed and interoperable hydro-information systems
Web services support the integration and interoperability
of Web-based applications and enable machineto-
machine interaction. The concepts of web services and
open distributed architecture were applied to the development
of T-DSS, the prototype customised for web based
hydro-information systems. T-DSS provides mapping services,
database related services and access to remote components,
with special emphasis placed on the output flexibility
(e.g. multilingualism), where SOAP web services are
mainly used for communication. The remote components are
represented above all by remote data and mapping services
(e.g. meteorological predictions), modelling and analytical
systems (currently HEC-HMS, MODFLOW and additional
utilities), which support decision making in water management
Revisiting 1-Copy equivalence in clustered databases
Recently renewed interest in scalable database systems for shared nothing clusters has been supported by replication protocols based on group communication that are aimed at seamlessly extending the native consistency criteria of centralized database management systems. By using a read-one/write-all-available approach and avoiding the fine-grained synchronization associated with traditional distributed locking, one needs just a single distributed interaction step for each update transaction. Therefore the system can easily be scaled to a large number of replicas, especially, with read intensive loads typical of Web server support environments.In this paper we point out that 1-copy equivalence for causal consistency, which is subsumed by both serializability and snapshot isolation criteria, depends on basic session guarantees that are costly to ensure in clusters, especially in a multi-tier environment. We then point out a simple solution that guarantees causal consistency in the Database State Machine protocol and evaluate its performance, thus highlighting the cost of seamlessly providing common consistency criteria of centralized databases in a clustered environment.(undefined
Models of higher-order, type-safe, distributed computation over autonomous persistent object stores
A remote procedure call (RPC) mechanism permits the calling of procedures in another
address space. RPC is a simple but highly effective mechanism for interprocess communication
and enjoys nowadays a great popularity as a tool for building distributed applications.
This popularity is partly a result of their overall simplicity but also partly a consequence
of more than 20 years of research in transpaxent distribution that have failed to deliver
systems that meet the expectations of real-world application programmers.
During the same 20 years, persistent systems have proved their suitability for building
complex database applications by seamlessly integrating features traditionally found in
database management systems into the programming language itself. Some research. effort
has been invested on distributed persistent systems, but the outcomes commonly suffer
from the same problems found with transparent distribution.
In this thesis I claim that a higher-order persistent RPC is useful for building distributed
persistent applications. The proposed mechanism is: realistic in the sense that it uses
current technology and tolerates partial failures; understandable by application programmers;
and general to support the development of many classes of distributed persistent
applications.
In order to demonstrate the validity of these claims, I propose and have implemented three
models for distributed higher-order computation over autonomous persistent stores. Each
model has successively exposed new problems which have then been overcome by the next
model. Together, the three models provide a general yet simple higher-order persistent
RPC that is able to operate in realistic environments with partial failures.
The real strength of this thesis is the demonstration of realism and simplicity. A higherorder
persistent RPC was not only implemented but also used by programmers without
experience of programming distributed applications. Furthermore, a distributed persistent
application has been built using these models which would not have been feasible with a
traditional (non-persistent) programming language
Coordinating complex decision support activities across distributed applications
Knowledge-based technologies have been applied successfully to automate planning and scheduling in many problem domains. Automation of decision support can be increased further by integrating task-specific applications with supporting database systems, and by coordinating interactions between such tools to facilitate collaborative activities. Unfortunately, the technical obstacles that must be overcome to achieve this vision of transparent, cooperative problem-solving are daunting. Intelligent decision support tools are typically developed for standalone use, rely on incompatible, task-specific representational models and application programming interfaces (API's), and run on heterogeneous computing platforms. Getting such applications to interact freely calls for platform independent capabilities for distributed communication, as well as tools for mapping information across disparate representations. Symbiotics is developing a layered set of software tools (called NetWorks! for integrating and coordinating heterogeneous distributed applications. he top layer of tools consists of an extensible set of generic, programmable coordination services. Developers access these services via high-level API's to implement the desired interactions between distributed applications
Cache Serializability: Reducing Inconsistency in Edge Transactions
Read-only caches are widely used in cloud infrastructures to reduce access
latency and load on backend databases. Operators view coherent caches as
impractical at genuinely large scale and many client-facing caches are updated
in an asynchronous manner with best-effort pipelines. Existing solutions that
support cache consistency are inapplicable to this scenario since they require
a round trip to the database on every cache transaction.
Existing incoherent cache technologies are oblivious to transactional data
access, even if the backend database supports transactions. We propose T-Cache,
a novel caching policy for read-only transactions in which inconsistency is
tolerable (won't cause safety violations) but undesirable (has a cost). T-Cache
improves cache consistency despite asynchronous and unreliable communication
between the cache and the database. We define cache-serializability, a variant
of serializability that is suitable for incoherent caches, and prove that with
unbounded resources T-Cache implements this new specification. With limited
resources, T-Cache allows the system manager to choose a trade-off between
performance and consistency.
Our evaluation shows that T-Cache detects many inconsistencies with only
nominal overhead. We use synthetic workloads to demonstrate the efficacy of
T-Cache when data accesses are clustered and its adaptive reaction to workload
changes. With workloads based on the real-world topologies, T-Cache detects
43-70% of the inconsistencies and increases the rate of consistent transactions
by 33-58%.Comment: Ittay Eyal, Ken Birman, Robbert van Renesse, "Cache Serializability:
Reducing Inconsistency in Edge Transactions," Distributed Computing Systems
(ICDCS), IEEE 35th International Conference on, June~29 2015--July~2 201
Message Flow Analysis with Complex Causal Links for Distributed ROS 2 Systems
Distributed robotic systems rely heavily on the publish-subscribe
communication paradigm and middleware frameworks that support it, such as the
Robot Operating System (ROS), to efficiently implement modular computation
graphs. The ROS 2 executor, a high-level task scheduler which handles ROS 2
messages, is a performance bottleneck. We extend ros2_tracing, a framework with
instrumentation and tools for real-time tracing of ROS 2, with the analysis and
visualization of the flow of messages across distributed ROS 2 systems. Our
method detects one-to-many and many-to-many causal links between input and
output messages, including indirect causal links through simple user-level
annotations. We validate our method on both synthetic and real robotic systems,
and demonstrate its low runtime overhead. Moreover, the underlying intermediate
execution representation database can be further leveraged to extract
additional metrics and high-level results. This can provide valuable timing and
scheduling information to further study and improve the ROS 2 executor as well
as optimize any ROS 2 system. The source code is available at:
https://github.com/christophebedard/ros2-message-flow-analysis.Comment: 14 pages, 12 figure
Implementation of an activity coordinator for an activity-based distributed system
Distributed computing systems offer a number of potential benefits, including: - improved fault-tolerance and reliability - increased processor availability - faster response time - flexibility of system configuration - effective management of geographically distributed resources - integration of special purpose machines into applications In order to realize this potential, support systems that aid in the development of distributed programs are needed. An Activity System facilitates the design and implementation of distributed programs: (1) By allowing the programmer to group functionally related objects into an activity (or job) which is recorded within the system. The information stored concerning relationships between objects may then be used to control their interactions and thus to manage distributed resources. (2) By effectively eliminating the need for the programmer to deal with the underlying details of inter-process communication. The system handles the establishment of communication links between objects in an activity, and controls the routing of messages to activity members. To evaluate the uses of activities in developing distributed programs, I have implemented a portion of such a system; namely, an Activity Coordinator , together with Activity System components and test tools required to verify its functionality. Within the context of an Activity System, the Activity Coordinator provides certain key functions: (1) It maintains a database of information pertaining to objects and activities, and (2) It handles the routing of activity related messages. In future versions of the activity system the Activity Coordinator may also play a more active role in fault recovery. These possibilities will also be discussed
- …