• Home
  • Nicolas C. Nicolaou
Nicolas C. Nicolaou

Nicolas C. Nicolaou
Algolysis Ltd

Ph.D.

About

91
Publications
8,559
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,042
Citations
Introduction
My research interests include design and analysis of Fault-Tolerant Distributed and Parallel algorithms, algorithms in Wireless and Sensor Networks, and evaluation of Voting Technologies. Specifically I focus on the design of consistent, efficient distributed storage systems with emphasis on atomic transactions. So far we provided tight lower bounds on the operation latency of atomic read/write shared memory emulation in static MWMR environments and introduced algorithms to meet these bounds.
Additional affiliations
December 2014 - present
Madrid Institute for Advanced Studies
Position
  • PostDoc Position
September 2011 - December 2014
University of Cyprus
Position
  • Visiting Lecturer
September 2011 - December 2014
University of Cyprus
Position
  • Special Scientist (Teaching Position)
Education
September 2006 - May 2011
University of Connecticut
Field of study
  • Computer Science and Engineering
January 2004 - May 2006
University of Connecticut
Field of study
  • Computer Science and Engineering

Publications

Publications (91)
Conference Paper
Full-text available
Animal farming has undergone significant transformation and evolved from small-scale businesses to largescale commercial ventures. While maximizing productivity and profitability has always been a major concern in animal farming, during recent years there has been an increasing rise of concern regarding the welfare of the animals. In this context,...
Preprint
In this work, we introduce a modular framework for specifying distributed systems that we call AMECOS. Specifically, our framework departs from the traditional use of sequential specification, which presents limitations both on the specification expressiveness and implementation efficiency of inherently concurrent objects, as documented by Casta{\~...
Preprint
Full-text available
Ares is a modular framework, designed to implement dynamic, reconfigurable, fault-tolerant, read/write and strongly consistent distributed shared memory objects. Recent enhancements of the framework have realized the efficient implementation of large objects, by introducing versioning and data striping techniques. In this work, we identify performa...
Preprint
Full-text available
Introduction: Having accurate and timely data on active COVID-19 cases is challenging, since it depends on the availability of an appropriate infrastructure to perform tests and aggregate their results. In this work, we propose alternative methods to assess the number of active cases of COVID-19. Methods: We consider a case to be active if it is i...
Chapter
Distributed Shared Storage Services may serve as building blocks to yield complex, decentralized, cloud applications in emerging technologies (e.g., IoT, VR/AR), as they offer a transparent cloud storage space where distributed applications can store, retrieve, and coordinate over shared data. Ideally, distributed applications would like to communi...
Article
Emulating a shared atomic , read/write storage system is a fundamental problem in distributed computing. Replicating atomic objects among a set of data hosts was the norm for traditional implementations (e.g., [11]) in order to guarantee the availability and accessibility of the data despite host failures. As replication is highly storage demanding...
Preprint
Full-text available
Guaranteeing the validity of concurrent operations on distributed objects is a key property for ensuring reliability and consistency in distributed systems. Usually, the methods for validating these operations, if present, are wired in the object implementation. In this work, we formalize the notion of a {\em validated object}, decoupling the objec...
Article
Communication latency typically dominates the performance of message-passing systems, and consequently defines the efficiency of operations of algorithms implementing atomic read/write objects in asynchronous, crash-prone, message-passing systems. Here latency is measured in terms of the number of communication exchanges (or simply exchanges) invol...
Preprint
Full-text available
Data availability is one of the most important features in distributed storage systems, made possible by data replication. Nowadays data are generated rapidly and the goal to develop efficient, scalable and reliable storage systems has become one of the major challenges for high performance computing. In this work, we develop a dynamic, robust and...
Preprint
Full-text available
Having accurate and timely data on confirmed active COVID-19 cases is challenging, since it depends on testing capacity and the availability of an appropriate infrastructure to perform tests and aggregate their results. In this paper, we propose methods to estimate the number of active cases of COVID-19 from the official data (of confirmed cases an...
Chapter
This work examines strategies to handle large shared data objects in distributed storage systems (DSS), while boosting the number of concurrent accesses, maintaining strong consistency guarantees, and ensuring good operation performance. To this respect, we define the notion of fragmented objects: concurrent objects composed of a list of fragments...
Article
Full-text available
CoronaSurveys is an ongoing interdisciplinary project developing a system to infer the incidence of COVID-19 around the world using anonymous open surveys. The surveys have been translated into 60 languages and are continuously collecting participant responses from any country in the world. The responses collected are pre-processed, organized, and...
Article
Full-text available
During the initial phases of the COVID-19 pandemic, accurate tracking has proven unfeasible. Initial estimation methods pointed toward case numbers that were much higher than officially reported. In the CoronaSurveys project, we have been addressing this issue using open online surveys with indirect reporting. We compare our estimates with the resu...
Preprint
Full-text available
In order to formalize Distributed Ledger Technologies and their interconnections, a recent line of research work has formulated the notion of Distributed Ledger Object (DLO), which is a concurrent object that maintains a totally ordered sequence of records, abstracting blockchains and distributed ledgers. Through DLO, the Atomic Appends problem, in...
Preprint
Full-text available
This work examines strategies to handle large shared data objects in distributed storage systems (DSS), while boosting the number of concurrent accesses, maintaining strong consistency guarantees, and ensuring good operation performance. To this respect, we define the notion of fragmented objects:con-current objects composed of a list of fragments...
Article
Full-text available
Communication cost is the most commonly used metric in assessing the efficiency of operations in distributed algorithms for message-passing environments. In doing so, the standing assumption is that the cost of local computation is negligible compared to the cost of communication. However, in many cases, operation implementations rely on complex co...
Preprint
Full-text available
During the initial phases of the COVID-19 pandemic, accurate tracking has proven unfeasible. Initial estimation methods pointed towards case numbers that were much higher than officially reported. In the CoronaSurveys project, we have been addressing this issue using open online surveys with indirect reporting. We compare our estimates with the res...
Chapter
In this chapter we present a different approach to implementing reconfiguration, where changes to a configuration are done incrementally, adding and removing individual nodes, instead of replacing the entire configuration as presented in the previous two chapters. The algorithm, called DynaStore, implements a dynamic atomic memory service for multi...
Chapter
We now begin the exposition of emulations of atomic readable and writable shared objects in a static distributed setting. Here each shared object is replicated among a predefined set of networked hosts, also called servers. The set of servers remains fixed during the computation, and only crashes (or voluntary departures) may remove servers from th...
Chapter
This chapter presents the formal model, definitions, and notations we use in the sequel of the book. The model presented here applies to all algorithms that follow, unless stated otherwise. Terminology, notations, and definitions that are specific to particular parts of the presentation are given separately. The reader is encouraged to use this cha...
Chapter
We now consider a more dynamic distributed setting where the participants, including the set of replica servers, can change over time. In the previously considered static setting the set of servers is fixed at the outset, and while the servers may fail or leave during an execution, no new servers can be introduced to replace the lost ones. To cope...
Chapter
In this chapter we consider algorithms for the setting with multiple writers, thus removing the assumption that there is single writer. The new challenge in this multiple-writer, multiple-reader (MWMR) environment is the ordering of the concurrent write operations necessary to guarantee atomicity.
Chapter
This chapter presents algorithms that implement atomic shared memory for the single-writer, multiple-reader (SWMR) setting. Here the sole writer performs one write operation at a time to modify the value of any object in the shared memory, and this yields a natural total order to the write operations and, in turn, to the values written. This helps...
Chapter
We presented a representative collection of algorithms that emulate read/write memory objects with atomic guarantees on a set of asynchronous message-passing computing devices. The first five chapters deal with algorithms for static environments where the collection of participating nodes is fixed and known a priori to every service participant, an...
Chapter
We present a reconfigurable atomic memory service, called RAMBO, that uses a loosely coupled approach to reconfiguration that relies on an external consensus service. RAMBO is a dynamic memory service supporting multi-reader/multi-writer objects. RAMBO stands for Reconfigurable Atomic Memory for Basic Objects. We first give a high level overview, t...
Chapter
The RAMBO framework presented in the previous chapter decouples the new configuration installation service from the garbage collection of obsolete configurations, thus offering concurrency and modularity. In some settings, however, it is beneficial to tightly integrate reconfiguration with garbage collection. Doing so reduces the latency of removin...
Article
Full-text available
In recent years, Industrial Control Systems (ICS) have become increasingly exposed to a wide range of cyber-physical attacks, having massive destructive consequences. Security metrics are therefore essential to assess and improve their security posture. In this paper, we present a novel ICS security metric based on AND/OR graphs and hypergraphs whi...
Preprint
Full-text available
The world is suffering from a pandemic called COVID-19, caused by the SARS-CoV-2 virus. National governments have problems evaluating the reach of the epidemic, due to having limited resources and tests at their disposal. This problem is especially acute in low and middle-income countries (LMICs). Hence, any simple, cheap and flexible means of eval...
Data
This graphical abstract summarises the overall idea of the work presented in "Measuring cyber-physical security in industrial control systems via minimum-effort attack strategies". The key points and contributions of this work are: (1) a flexible model to represent complex dependencies in multi-protected ICS environments; (2) a novel security metri...
Article
Cyber Physical Systems (CPS) integrate physical processes with electronic computing devices and digital communication channels. Their proper operation might be affected by two main sources of abnormality, security attacks and failures. The topics of fault diagnosis and security attack analysis in CPS have been studied extensively in a stand-alone m...
Preprint
Full-text available
The world is suffering from a pandemic called COVID-19, caused by the SARS-CoV-2 virus. The different national governments have problems evaluating the reach of the epidemic, having limited resources and tests at their disposal. Hence, any means to evaluate the number of persons with symptoms compatible with COVID-19 with reasonable level of accura...
Preprint
Full-text available
A Distributed Ledger Object (DLO) is a concurrent object that maintains a totally ordered sequence of records, and supports two basic operations: append, which appends a record at the end of the sequence, and get, which returns the sequence of records. In this work we provide a proper formalization of a Byzantine-tolerant Distributed Ledger Object...
Preprint
Over the last years, Industrial Control Systems (ICS) have become increasingly exposed to a wide range of cyber-physical threats. Efficient models and techniques able to capture their complex structure and identify critical cyber-physical components are therefore essential. AND/OR graphs have proven very useful in this context as they are able to s...
Preprint
Full-text available
This paper presents a MaxSAT benchmark focused on identifying critical nodes in AND/OR graphs. We use AND/OR graphs to model Industrial Control Systems (ICS) as they are able to semantically grasp intricate logical interdependencies among ICS components. However, identifying critical nodes in AND/OR graphs is an NP-complete problem. We address this...
Conference Paper
Full-text available
Over the last years, Industrial Control Systems (ICS) have become increasingly exposed to a wide range of cyber-physical threats. Efficient models and techniques able to capture their complex structure and identify critical cyber-physical components are therefore essential. AND/OR graphs have proven very useful in this context as they are able to s...
Article
2019 IEEE. Emulating a shared atomic, read/write storage system is a fundamental problem in distributed computing. Replicating atomic objects among a set of data hosts was the norm for traditional implementations (e.g., [6]) in order to guarantee the availability and accessibility of the data despite host failures. As replication is highly storage...
Conference Paper
Full-text available
The topics of fault diagnosis and security attack diagnosis in Cyber Physical Systems (CPS) have been studied extensively in a stand-alone manner. However, considering the coexistence of both of these sources of abnormality in a system, and being able to distinguish among them, is an important and timely problem not currently addressed in the liter...
Preprint
Full-text available
In recent years, Industrial Control Systems (ICS) have become an appealing target for cyber attacks, having massive destructive consequences. Security metrics are therefore essential to assess their security posture. In this paper, we present a novel ICS security metric based on AND/OR graphs that represent cyber-physical dependencies among network...
Chapter
Despite the hype about blockchains and distributed ledgers, no formal abstraction of these objects has been proposed (This observation was also pointed out by Maurice Herlihy in his PODC2017 keynote talk). To face this issue, in this paper we provide a proper formulation of a distributed ledger object. In brief, we define a ledger object as a seque...
Chapter
Providing efficient emulations of atomic read/write objects in asynchronous, crash-prone, message-passing systems is an important problem in distributed computing. Communication latency is a factor that typically dominates the performance of message-passing systems, consequently the efficiency of algorithms implementing atomic objects is measured i...
Preprint
Full-text available
The various applications using Distributed Ledger Technologies (DLT) or blockchains, have led to the introduction of a new `marketplace' where multiple types of digital assets may be exchanged. As each blockchain is designed to support specific types of assets and transactions, and no blockchain will prevail, the need to perform interblockchain tra...
Preprint
Full-text available
Atomicity or strong consistency is one of the fundamental, most intuitive, and hardest to provide primitives in distributed shared memory emulations. To ensure survivability, scalability, and availability of a storage service in the presence of failures, traditional approaches for atomic memory emulation, in message passing environments, replicate...
Article
Full-text available
Providing efficient emulations of atomic read/write objects in asynchronous, crash-prone, message-passing systems is an important problem in distributed computing. Communication latency is a factor that typically dominates the performance of message-passing systems, consequently the efficiency of algorithms implementing atomic objects is measured i...
Article
Full-text available
Despite the hype about blockchains and distributed ledgers, no formal abstraction of these objects has been proposed. To face this issue, in this paper we provide a proper formulation of a distributed ledger object. In brief, we define a ledger object as a sequence of records, and we provide the operations and the properties that such an object sho...
Preprint
Despite the hype about blockchains and distributed ledgers, no formal abstraction of these objects has been proposed. To face this issue, in this paper we provide a proper formulation of a distributed ledger object. In brief, we define a ledger object as a sequence of records, and we provide the operations and the properties that such an object sho...
Conference Paper
Implementing atomic read/write shared objects in a message-passing system is an important problem in distributed computing. Considering that communication is the most expensive resource, efficiency of read and write operations is assessed primarily in terms of the needed communication and the associated latency. Attiya, Bar-Noy, and Dolev establish...
Article
Full-text available
Emulating atomic read/write shared objects in a message-passing system is a fundamental problem in distributed computing. Considering that network communication is the most expensive resource, efficiency is measured first of all in terms of the communication needed to implement read and write operations. It is well known that 2 communication round-...
Conference Paper
Emulating atomic read/write shared objects in a message-passing system is a fundamental problem in distributed computing. Considering that network communication is the most expensive resource, efficiency is measured first of all in terms of the communication needed to implement read and write operations. It is well known that two communication roun...
Article
Full-text available
An object type characterizes the domain space and the operations that can be invoked on an object of that type. In this paper we introduce a new property for concurrent objects, we call coverability, that aims to provide precise guarantees on the consistent evolution of an object. This new property is suitable for a variety of distributed objects i...
Article
READING, 'RITING, AND 'RITHMETIC, the three Rs underlying much of human intellectual activity, not surprisingly, also stand as a venerable foundation of modern computing technology. Indeed, both the Turing machine and von Neumann machine models operate by reading, writing, and computing, and all practical uniprocessor implementations are based on p...
Conference Paper
Full-text available
In this work we conduct an experimental perfor-mance evaluation of four MWMR atomic register implemen-tations: SFW from [8], APRX-SFW and CWFR from [11], and SIMPLE (the generalization of [5] in the MWMR environment). We implement the algorithms on NS2, a single processor sim-ulator, and on PlanetLab, a planetary-scale real-time network platform. D...
Article
Full-text available
Multiple-writer/multiple-reader (MWMR) atomic register implementations provide precise consistency guarantees, in the asynchronous, crash-prone, message passing environment. Fast MWMR atomic register implementations were first introduced in Englert et al. 2009. Fastness is measured in terms of the number of single round read and write operations th...
Conference Paper
Full-text available
This work explores implementations of multiwriter/multi-reader (MWMR) atomic registers in asynchronous, crash-prone, message-passing systems with the focus on low latency and computational feasibility. The efficiency of atomic read/write register implementations is traditionally measured in terms of the latency of read and write operations. To redu...
Article
Full-text available
This report presents algorithm CwFr, that allows fast read operations in the MWMR setting. The algorithm uses an adjusted version of Quorum Views, client side decision tools introduced in [8], to establish whether a read operation can return in a single communication round. The new algorithm does not depend on the morphology of the underlying quoru...
Article
Full-text available
Distributed data services use replication to ensure data availability and survivability. With replication comes the challenge of guaranteeing data consistency when multiple clients access the replicas concurrently, and various consistency models have been proposed and studied. Atomicity is the strongest consistency model, providing the illusion tha...
Article
Full-text available
Optical scan (OS) voting systems play an increasing role in the United States elections, with over 40 states deploy-ing such systems. The AccuVote optical scanners (AV-OS) manufactured by ES&S account for over 20% of all OS systems. OS systems typically use removable media (cards) to provide election-specific programming to the scanners and to conv...
Article
Full-text available
Underwater Sensor Networks (UWSNs) are significantly different from terrestrial sensor networks in the following aspects: low bandwidth, high latency, node mobility, high error probability, and 3-dimensional space. These new features bring many challenges to the network protocol design of UWSNs. In this paper, we tackle one fundamental problem in U...
Article
Full-text available
In recent years, two distinct electronic voting technologies have been introduced and extensively utilized in election procedures: direct recording electronic systems and optical scan (OS) systems. The latter are typically deemed safer, as they inherently provide a voter-verifiable paper trail that enables hand-counted audits and recounts that rely...
Conference Paper
Full-text available
This paper considers quorum-replicated, multi-writer, multi-reader (MWMR) implementations of survivable atomic registers in a distributed message-passing system with processors prone to failures. Previous implementations in such settings invariably required two rounds of communication between readers/writers and replica owners. Hence the question a...
Conference Paper
Full-text available
This paper investigates the feasibility of implementing at-most-once access semantics in a model where a collection of actions is to be performed by failure-prone, asynchronous shared-memory processes. We introduce the At-Most-Once problem for performing a set of n jobs using m processors, and we define the notion of efficiency for such protocols,...
Conference Paper
Full-text available
The rmware of an electronic voting machine is typically treated as a \trusted" component of the system. Conse- quently, it is misconstrued to be vulnerable only to an insider attack by someone with an in-depth knowledge of the sys- tem and access to the source code. This case study focuses on the Diebold/Premier AccuVote Optical Scan voting ter- mi...
Article
This paper investigates time-efficient implementations of atomic read-write registers in message-passing systems where the number of readers can be unbounded. In particular we study the case of a single writer, multiple readers, and S servers, such that the writer, any subset of the readers, and up to t servers may crash. A recent result of Dutta e...
Article
Full-text available
In the interest of auditing election procedures, certain electronic voting technologies provide monitoring capa-bilities that record select actions undertaken by election officials before, during, and after an election process, as well as the conditions present in an electronic voting ter-minal as the result of its interactions with its environ-men...