Publications

Almeida PS, Moreno CB, Fonte V.  2000.  Panasync: Dependency tracking among file copies. Proceedings of the 9th workshop on European workshop: beyond the PC: new challenges for the operating system. :7–12. Abstractpanasync.pdf

File copying is frequently used to implement ad hoc management of file replicas, backups and versions. Such tasks can be assisted by appropriate applications, at the expense of introducing some restrictions to the usage patterns. In particular, this is the case of interactions involving disconnected machines and transportable media. Panasync tries to support these actions by introducing a set of commands for file copying and re-integration that complement the file-system commands and provide support for dependency analysis among time-stamp assisted files.

Preguiça N, Moreno CB, Moura F, Martins JL, Oliveira R, Domingos H, Pereira JO, Duarte S.  2000.  Mobile Transaction Management in Mobisnap. Proceedings of the East-European Conference on Advances in Databases and Information Systems Held Jointly with International Conference on Database Systems for Advanced Applications - ADBIS-DASFAA. 1884:379–386. Abstractadbis00-full.pdf

To allow mobile users to continue their work while disconnected, mobile systems usually rely on optimistic replication techniques. In mobile database systems, mobile units cache subsets of the database state and allow disconnected users to perform transactions concurrently. These transactions are later integrated in the master database state. As concurrently performed transactions may conflict, it is usually impossible to determine the result of an update in the mobile unit. Moreover, this model differs from the traditional client/server model due to the fundamental fact that the user will usually not be connected to the system when the results of his transactions are finally determined - therefore, he can not immediately perform adequate alternative actions. In this paper we describe a transaction management system that takes into consideration the above-mentioned characteristics. Transactions are specified as mobile transactional programs, which allows the precise definition of operation semantics and the definition of alternative actions. Support for active user notification is also provided in the system. Finally, the system relies on a reservation mechanism to be able to guarantee the results of transactions in the mobile units.

Moreno CB, Moura F.  1999.  Causality in autonomous mobile systems. 3rd European Research Seminar on Advances in Distributed Systems. Abstractmobicaus_1.pdf

The analysis of causal relations among events in a distributed computation plays a central role in distributed systems modeling. Existing models for causal time-stamping are based on a known set of entities, either processes or data repositories, where events can occur. The advent of mobile computing settings that stimulate cooperation among arbitrary groups of nodes, possibly in isolation, precludes the use of a pre-established set of entity identifiers. Addressing this problem, the article proposes a causality definition and a time-stamping model that allows the analysis of those environments, while retaining compatibility with the classic causality model.

Moreno CB, Almeida PS.  1999.  Towards efficient time-stamping for autonomous versioning. EPCM 1999 - Encontro Português de Computação Móvel. 99 Abstract10.1.1.42.4379.pdf

We sketch a decentralized versioning scheme that handles the detection of concurrent updates among an arbitrary number of replicas, overcoming the limitations that a centralized knowledge of that number imposes to Mobile Computing.

Preguiça N, Moreno CB, Martins JL, Moura F, Domingos H, Oliveira R, Pereira JO.  1999.  MobiSnap: Managing Database Snapshots in a Mobile Environment. Actas do Encontro Português de Computação Móvel. Abstractepcm-1999-1.pdf

This paper presents MobiSnap, a research project that aims to support the development of SQL based applications for mobile environments, providing con gurable support for data divergence control and connectivity abstractions. One of the project goals is to assist the migration of legacy SQL based applications into these new operational platforms.

Sousa AL, Moreno CB, Pereira JO, Oliveira R, Moura F.  1996.  A human centered perspective for mobile information sharing and delivery. ECOOP - Workshop Reader of the 10th European Conference on Object-Oriented Programming. :412. Abstractwmr96.pdf

This paper focus on the design and implementation of a suitable communication layer to be used with groups of mobile systems, targeted to support personal information management and exchange applications. A PIM was used as case study, focusing on the problems raised by the process of scheduling meetings. As a first step, the environment is evaluated in order to establish some facts and assumptions that should shape the system. We also think that the observation of human behavior, in particular the study of human information interchange techniques.

Moreno CB, Oliveira R, Moura F.  1995.  Integration of concurrency control in a language with subtyping and subclassing. Proceedings of the Conference on Object-Oriented Technologies - USENIX. :13–13. Abstract10.1.1.163.9601.pdf

This paper describes the integration of concurrency control in BALLOON, an object-oriented language that separates the concepts of type and class as well of subtyping and subclassing. Types are interface specifications enriched with concurrency control annotations. Classes are used to implement the operational functionality of types as well as concurrency control mechanisms. Types, classes and concurrency control annotations are independently reusable and derivable. The language takes advantage of this separation to solve the typical problems of the inheritance anomaly.

Moreno CB, Fonte V, Moura F, Oliveira R.  1995.  MobiScape: WWW browsing under disconnected and semi-connected operation. Proceedings of 1st Portuguese WWW National Conference. Abstractmobiscape.pdf

Although WWW browsers such as Netscape already offer some support for operation under low bandwidth connections, this is still unsuited for mobile environments. In contrast to fixed networks, here connection time is usually expensive and thus clients cannot afford long sessions. MobiScape uses the proxy interface present on modern navigation tools. It intercepts the HTTP data flow, compresses it, and applies caching, hoarding and prefetching policies to both the mobile host and its support station. The Support Station proxy keeps a given subset of remote documents in local store and up-to-date; occasionally it will prefetch. The Mobile Host proxy will hoard according to its profile, trying to minimize the need for a connection. The system also maximizes the use of the cache by using dynamic caching policies. No modifications were made to the existing HTTP server, proxies or browsers.

Menezes R, Moreno CB, Moura F.  1994.  A portable lightweight approach to NFS replication. Proceedings of ROSE’94 . Abstract10.1.1.41.6834.pdf

Under normal circumstances, NFS provides transparent access to remote file systems. Nevertheless, a failure on a single file server compromises the operation of all clients, and thus various replication schemes have been devised to increase file system availability. The approach described in this paper is lightweight in the sense that it strives to make no changes to the NFS protocol nor to the standard NFS client and server code. Rather, a thin layer is introduced between the clients and the original server daemons, which intercepts all NFS requests and propagates the updates to the replicas. Replication is hidden under a primary-secondary update policy and an improved automounter. If the primary server fails, the automounters elect a new primary and remount the relevant file systems. Secondary server failures remain unnoticed by the clients. A prototype version is operational and preliminary results under the Andrew benchmark are presented.

Menezes R, Moreno CB, Moura F.  1994.  A Lightweight Approach to NFS Replication. Proceedings of ROSE'94 Conference. Abstract09e4150c616a28621e000000_1.pdf

Under normal circumstances, NFS provides transparent access to remote file systems. Evertheless,a failure on a single fi le server compromises the operation of all clients, and thus various replication schemes have been devised to increase fi le system availability.The approach described in this paper is lightweight in the sense that it strives to make no changes to the NFS protocol nor to the standard NFS client and server code. Rather,a thin layer is introduced between the clients and the original server daemons, which intercepts all NFS requests and propagates the updates to the replicas. Replication is hidden under a primary-secondary update policy and an improved automounter. If the primary server fails, the automounters elect a new primary and remount the relevant file systems. Secondary server failures remain unnoticed by the clients. A prototype version is operational and preliminary result sunder the Andrew benchmark are presented.The gures obtained show that while read overhead is negligible, the performance of updates is severely impaired by the naive synchronous multi-server write operation.

Shoker A, Almeida PS, Moreno CB.  2015.  Exactly-Once Quantity Transfer. Abstractquantity-transfer-srds-w-psds.pdfparishandoffaverage2015.pdf

Strongly consistent systems supporting distributed transactions can be prone to high latency and do not tolerate partitions. The present trend of using weaker forms of consistency, to achieve high availability, poses notable challenges in writing applications due to the lack of linearizability, e.g., to ensure global invariants, or perform mutator operations on a distributed datatype. This paper addresses a specific problem: the exactly-once transfer of a “quantity” from one node to another on an unreliable network (coping with message duplication, loss, or reordering) and without any form of global synchronization. This allows preserving a global property (the sum of quantities remains unchanged) without requiring global linearizability and only through using pairwise interactions between nodes, therefore allowing partitions in the system. We present the novel quantitytransfer algorithm while focusing on a specific use-case: a redistribution protocol to keep the quantities in a set of nodes balanced; in particular, averaging a shared real number across nodes. Since this is a work in progress, we briefly discuss the correctness of the protocol, and we leave potential extensions and empirical evaluations for future work.

Almeida PS, Shoker A, Moreno CB.  2014.  Efficient State-based CRDTs by Decomposition. EuroSys Workshop Proceedings . 1:2. Abstractdeltapapec.pdf

CRDTs are distributed data types that make eventual consistency of a distributed object possible and non ad-hoc. Specifically, state-based CRDTs achieve this by sharing local state changes through shipping the entire state, that is then merged to other replicas with an idempotent, associative, and commutative join operation, ensuring convergence. This imposes a large communication overhead as the state size becomes larger. We introduce Delta State Conflict-Free Replicated Datatypes ({\delta}-CRDT), which make use of {\delta}-mutators, defined in such a way to return a delta-state, typically, with a much smaller size than the full state. Delta-states are joined to the local state as well as to the remote states (after being shipped). This can achieve the best of both worlds: small messages with an incremental nature, as in operation-based CRDTs, disseminated over unreliable communication channels, as in traditional state-based CRDTs. We introduce the {\delta}-CRDT framework, and we explain it through establishing a correspondence to current state- based CRDTs. In addition, we present two anti-entropy algorithms: a basic one that provides eventual convergence, and another one that ensures both convergence and causal consistency. We also introduce two {\delta}-CRDT specifications of well-known replicated datatypes.

Moreno CB, Almeida PS, Shoker A.  2014.  Making Operation-based CRDTs Operation-based. EuroSys Workshop Proceedings . :2. AbstractPaper

Conflict-free Replicated Datatypes can simplify the design of predictable eventual consistency. They can be classified into state-based or operation-based. Operation-based approaches have the potential for allowing compact designs in both the sent message and the object state size, but cur- rent approaches are still far from this objective. Here we explore the design space for operation-based solutions, and we leverage the interaction with the middleware by offering a technique that delivers very compact solutions, while only broadcasting operation names and arguments.