Additionally this section also motivates why coordi-
nated access is required between geo-replicas.
Replication techniques are divided into two cate-
gories as active and passive replication. In the pas-
sive replication, the primary state machine executes
the events and updates states of replicas. However, in
active replication, each event is processed by all repli-
cas and ends up in the same state. The active state ma-
chine replication uses consensus protocols for order-
ing requests by assigning them to slots with consec-
utive sequence numbers which define the execution
order. This also means that a replica can execute a re-
quest only after it has received and processed all pre-
decessors to ensure that all replicas execute the same
set of requests in the same order.
State machine replication (Schneider, 1990),
mostly serves to provide fault-tolerant systems. It
works by running the same deterministic state ma-
chine on multiple devices, called replicas, which pro-
cess events guaranteeing total order consistency. Con-
sensus is an abstraction where replicas agree on a
common value (e.g., the order, next operation to be
executed). One way to implement the consensus
algorithm is by using a leader based protocol like
Raft (Ongaro and Ousterhout, 2014), Zap (Junqueira
et al., 2011) and MultiPaxos (Chandra et al., 2007).
As a first step the replicas elect a replica as leader
which needs votes from a majority quorum of repli-
cas. Then the leader assigns requests to sequence
numbers by sending Propose messages to all repli-
cas. Each assignment must be confirmed by a ma-
jority quorum of replicas by replying with an Accept
message to the leader. The leader’s Propose message
also implicitly counts as an Accept. The operation is
committed by replicas when the leader confirms the
majority of votes received.
Most of the replicated systems are distributed
across different regions to be not affected by cascaded
failures in a single region. However, this causes se-
rious latencies when these consensus algorithms are
considered, and also wide area communication incurs
some latency overheads. Shortly, reaching an agree-
ment between different regions can take several hun-
dred milliseconds afterwards a request can be pro-
cessed. In terms of shared data source access, the
same rules are applied like geo-replication and still
there are some open problems to be solved. Reaching
to shared data sources from a close replica instead of
a remote leader will reduce latency.
In GeoPaxos (Coelho and Pedone, 2018), authors
are trying to solve the coordination among geograph-
ically distributed replicas. Instead of providing total
order consistency, their method proposes a partial or-
der for execution of operations. Besides, they are also
benefiting from the idea that objects are located at
sites where they are most likely to be accessed. In
our approach, we also take advantage of the idea to
keep a single replica for shared data sources.
In Mencius (Mao et al., 2008), researchers try to
find a better approach to implement Paxos (Lamport
et al., 2001) for geographically distributed state ma-
chines. Mencius is a multi-leader version of Paxos
and tries to eliminate the single entry-point require-
ment in Paxos. It splits the leader role across all repli-
cas by statically partitioning data and assigning a part
to each replica site. A client sends its request to the
nearest leader to avoid the first wide area communica-
tion step. In our approach, we do not require a leader
role for shared data access since we affiliate a single
replica with a designated shared data source.
In Gemini (Vogels, 2009), authors created a so-
lution to reduce latency across different regions by
relaxing consistency of some operations. Mainly,
they categorize operations as red (strong consistency)
and blue (weak consistency). Also, they provide a
method to increase the number of potential blue oper-
ations. Experiments show that benefiting from even-
tual consistency (DeCandia et al., 2007) for some op-
erations, significantly improves the performance of
geo-replicated systems. In our study, we designate
weak consistency for all of the operations that are per-
formed on reading from shared data sources.
In Weave (Eischer et al., 2020), authors tried to
minimize high response times of write requests which
occurred in case of totally-ordered geo-distributed
systems. To address this problem they present Weave
(Paxos based) that relies on replica groups in multi-
ple geographic regions to efficiently assign stable se-
quence numbers to incoming requests. Weave’s ar-
chitecture enables the protocol to perform guaranteed
writes without involving wide-area communication.
As recognized, these studies focus on improving
reaching consensus about order of operations regard-
ing geographic locations of requests; our approach,
alternatively, approaches the problem by initially con-
sidering (and increasing) the locality of operations
performed on shared data sources before ordering the
operations performed.
3 PROPOSED APPROACH
The proposed approach, presented in the pseudo-code
in Algorithm 1, utilizes geographic locality to remove
the induced latency during a replica’s access to a dis-
tant data source by delegating access operations to
a geographically closer replica. The closer replica
will perform all of the update and write operations
ICSOFT 2022 - 17th International Conference on Software Technologies
626