Sérgio Duarte

dblp:51/124 · DBLP profile ↗
← Back
11ranked-venue papers
1as first author
0since 2021 · last 2018
0000-0003-3771-4640ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 2Software engineering, systems software and programming languages · 2Databases, data management, data science and information retrieval · 2Human-computer interaction and ubiquitous computing · 2Computer networks · 1 · 1 first-authorSecurity and privacy · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
3 papers
Distributed systems · 96% Storage systems · 4%
Software engineering, system software, and programming languages
1 paper
Program analysis · 100%

Topics — the 12 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems › distributed coordination
conflict resolution
0.312018
IPA: Invariant-preserving Applications for Weakly consistent Replicated Databases · Proc. VLDB Endow. 2018
Distributed systems › replication
database replication
0.312018
IPA: Invariant-preserving Applications for Weakly consistent Replicated Databases · Proc. VLDB Endow. 2018
Distributed systems › consistency models
weak consistency
0.312018
IPA: Invariant-preserving Applications for Weakly consistent Replicated Databases · Proc. VLDB Endow. 2018
Distributed systems
consistency models
0.212015
Putting consistency back into eventual consistency · EuroSys 2015
Distributed systems › consistency models
eventual consistency
0.212015
Putting consistency back into eventual consistency · EuroSys 2015
Distributed systems
replication
0.212015
Putting consistency back into eventual consistency · EuroSys 2015
Program analysis
static analysis
0.112018
IPA: Invariant-preserving Applications for Weakly consistent Replicated Databases · Proc. VLDB Endow. 2018
Storage systems › distributed storage
geo-distributed storage
0.112015
Putting consistency back into eventual consistency · EuroSys 2015
Collaborative and social computing
computer-supported cooperative work
0.012000
Data management support for asynchronous groupware · CSCW 2000
Distributed systems
fault tolerance
0.012000
Data management support for asynchronous groupware · CSCW 2000
Distributed systems › replication
replicated data management
0.012000
Data management support for asynchronous groupware · CSCW 2000
Wireless networking
mobile computing
0.012000
Data management support for asynchronous groupware · CSCW 2000

Methods — techniques the papers use, named apart from their topics

static analysis · 0.7reservation system · 0.2invariant repair · 0.2object component framework · 0.1
YearPublicationVenuePosition
2018 IPA: Invariant-preserving Applications for Weakly consistent Replicated Databases
abstract
It is common to use weakly consistent replication to achieve high availability and low latency at a global scale. In this setting, concurrent updates may lead to states where application invariants do not hold. Some systems coordinate the execution of (conflicting) operations to avoid invariant violations, leading to high latency and reduced availability for those operations. This problem is worsened by the difficulty in identifying precisely which operations conflict. In this paper we propose a novel approach to preserve application invariants without coordinating the execution of operations. The approach consists of modifying operations in a way that application invariants are maintained in the presence of concurrent updates. When no conflicting updates occur, the modified operations present their original semantics. Otherwise, we use sensible and deterministic conflict resolution policies that preserve the invariants of the application. To implement this approach, we developed a static analysis, IPA, that identifies conflicting operations and proposes the necessary modifications to operations. Our analysis shows that IPA can avoid invariant violations in many applications, including typical database applications. Our evaluation reveals that the offline static analysis runs fast enough for being used with large applications. The overhead introduced in the modified operations is low and it leads to lower latency and higher throughput when compared with other approaches that enforce invariants.
Valter Balegas, Sérgio Duarte, Carla Ferreira 0001, Rodrigo Rodrigues 0001, Nuno M. Preguiça
Proc. VLDB Endow.2
2015 Putting consistency back into eventual consistency
abstract
Geo-replicated storage systems are at the core of current Internet services. The designers of the replication protocols used by these systems must choose between either supporting low-latency, eventually-consistent operations, or ensuring strong consistency to ease application correctness. We propose an alternative consistency model, Explicit Consistency, that strengthens eventual consistency with a guarantee to preserve specific invariants defined by the applications. Given these application-specific invariants, a system that supports Explicit Consistency identifies which operations would be unsafe under concurrent execution, and allows programmers to select either violation-avoidance or invariant-repair techniques. We show how to achieve the former, while allowing operations to complete locally in the common case, by relying on a reservation system that moves coordination off the critical path of operation execution. The latter, in turn, allows operations to execute without restriction, and restore invariants by applying a repair operation to the database state. We present the design and evaluation of Indigo, a middleware that provides Explicit Consistency on top of a causally-consistent data store. Indigo guarantees strong application invariants while providing similar latency to an eventually-consistent system in the common case.
Valter Balegas, Sérgio Duarte, Carla Ferreira 0001, Rodrigo Rodrigues 0001, Nuno M. Preguiça, Mahsa Najafzadeh, Marc Shapiro 0001
EuroSys2
2015 Write Fast, Read in the Past: Causal Consistency for Client-Side Applications
abstract
Client-side apps (e.g., mobile or in-browser) need cloud data to be available in a local cache, for both reads and updates. For optimal user experience and developer support, the cache should be consistent and fault-tolerant. In order to scale to high numbers of unreliable and resource-poor clients, and large database, the system needs to use resources sparingly. The SwiftCloud distributed object database is the first to provide fast reads and writes via a causally-consistent client-side local cache backed by the cloud. It is thrifty in resources and scales well, thanks to consistent versioning provided by the cloud, using small and bounded metadata. It remains available during faults, switching to a different data centre when the current one is not responsive, while maintaining its consistency guarantees. This paper presents the SwiftCloud algorithms, design, and experimental evaluation. It shows that client-side apps enjoy the high performance and availability, under the same guarantees as a remote cloud data store, at a small cost.
Marek Zawirski, Nuno M. Preguiça, Sérgio Duarte, Annette Bieniusa, Valter Balegas, Marc Shapiro 0001
Middleware3
2015 Extending Eventually Consistent Cloud Databases for Enforcing Numeric Invariants
abstract
Geo-replicated databases often offer high availability and low latency by relying on weak consistency models. The inability to enforce invariants across all replicas remains a key shortcoming that prevents the adoption of such databases in several applications. In this paper we show how to extend an eventually consistent cloud database for enforcing numeric invariants. Our approach builds on ideas from escrow transactions, but our novel design overcomes the limitations of previous works. First, by relying on a new replicated data type, our design has no central authority and uses pairwise asynchronous communication only. Second, by layering our design on top of a fault-tolerant database, our approach exhibits better availability during network partitions and data center faults. The evaluation of our prototype, built on top of Riak, shows much lower latency and better scalability than the traditional approach of using strong consistency to enforce numeric invariants.
Valter Balegas, Diogo Serra, Sérgio Duarte, Carla Ferreira 0001, Marc Shapiro 0001, Rodrigo Rodrigues 0001, Nuno M. Preguiça
SRDS3
2013 Scalable Data Processing for Community Sensing Applications
Sérgio Duarte, David Navalho, Heitor Ferreira, Nuno M. Preguiça
Mob. Networks Appl.1
2012 Brief Announcement: Semantics of Eventually Consistent Replicated Sets
Annette Bieniusa, Marek Zawirski, Nuno M. Preguiça, Marc Shapiro 0001, Carlos Baquero, Valter Balegas, Sérgio Duarte
DISC7
2011 Scalable Data Processing for Community Sensing Applications
Heitor Ferreira, Sérgio Duarte, Nuno M. Preguiça, David Navalho
MobiQuitous2
2010 4Sensing -- Decentralized Processing for Participatory Sensing Data
abstract
Participatory Sensing is an emerging application paradigm that leverages the growing ubiquity of sensor-capable smart phones to allow communities carry out wide-area sensing tasks, as a side-effect of people's everyday lives and movements. This paper proposes a decentralized infrastructure for supporting Participatory Sensing applications. It describes an architecture and a domain specific programming language for modeling, prototyping and developing the distributed processing of participatory sensing data with the goal of allowing faster and easier development of these applications. Moreover, a case-study application is also presented as the basis for an experimental evaluation.
Heitor Ferreira, Sérgio Duarte, Nuno M. Preguiça
ICPADS2
2006 Supporting Multi-synchronous Groupware: Data Management Problems and a Solution
abstract
It is common that, in a long-term asynchronous collaborative activity, groups of users engage in occasional synchronous sessions. In this paper, we analyze the data management requirements for supporting this common work practice in typical collaborative activities and applications. We call the applications that support such work practice multi-synchronous applications. This analysis shows that, as users interact in different ways in each setting, some applications have different requirements and need to rely on different data sharing techniques in synchronous and asynchronous settings. We present a data management system that allows to integrate a synchronous session in the context of a long-term asynchronous interaction, using the suitable data sharing techniques in each setting and an automatic mechanism to convert the long sequence of small updates produced in a synchronous session into a large asynchronous contribution. We exemplify the use of our approach with two multi-synchronous applications.
Nuno M. Preguiça, José Legatheaux Martins, Henrique João L. Domingos, Sérgio Duarte
Int. J. Cooperative Inf. Syst.4
2001 Supporting Disconnected Operation in DOORS
abstract
The increasing popularity of portable computers opens the possibility of collaboration among multiple distributed and disconnected users. In such environments, collaboration is often achieved through the concurrent modification of shared data. DOORS is a distributed object store to support asynchronous collaboration in distributed systems that may contain disconnected computers. In this summary we focus on the mechanisms to support disconnected operation. The DOORS architecture is composed by servers that replicate objects using an epidemic propagation model. Clients cache key objects to support disconnected operation. Users run applications to read and modify the shared data (independently from other users)-a read any/write any model of data access is used. Modifications are propagated from clients to servers and among servers as sequences of operations-the system is log-based. Objects are structured according to an object framework that decomposes object operation in several components. Each component manages a different aspect of object execution. Each object represents a data type (e.g. a structured document) and it is composed by a set of sub-objects. Each sub-object represents a subpart of the data type (e.g. sections). A new object is created composing the set of subobjects that store the type-specific data with the adequate implementations of the other components. The following main characteristics are the base to support disconnected operation in DOORS.
Nuno M. Preguiça, José Legatheaux Martins, Sérgio Duarte, Henrique João L. Domingos
HotOS3
2000 Data management support for asynchronous groupware
abstract
In asynchronous collaborative applications, users usually collaborate accessing and modifying shared information independently. We have designed and implemented a replicated object store to support such applications in distributed environments that include mobile computers. Unlike most data management systems, awareness support is integrated in the system. To improve the chance for new contributions, the system provides high data availability. The development of applications is supported by an object framework that decomposes objects in several components, each one managing a different aspect of object "execution". New data types may be created relying on pre-defined components to handle concurrent updates, awareness information, etc.
Nuno M. Preguiça, José Legatheaux Martins, Henrique João L. Domingos, Sérgio Duarte
CSCW4