Safavi-Naini, ReihanehLiu, Xi2018-09-272018-09-272018-09-17http://hdl.handle.net/1880/108690Modern application are usually deployed in a distributed architecture where several servers are involved in providing service to users. Distributed systems offer fault tolerance and increased availability. In some cases, the servers are distributed in different geographic locations to reduce latency and provide better service to end users. Keeping data consistent across servers is a fundamental problem. Raft consensus algorithm has been prepared to achieve data consistency in the presence of server failure. In Raft, servers elect a leader server that manages client-side requests and updates the data files. Each server has the same chance to becoming a leader. Although typical Raft servers are in a local cluster, in many natural applications, Raft can be used in a geographically distributed setting to ensure data consistency. In such a setting, it is natural to allow the “closest” server to a user to respond to the user request. The notation of “closeness” could capture not only geographic location but also network connectivity and capacity. Motivated by the above challenge, we propose Geo-Raft which is the application of Raft protocol in geographically distributed systems. To reduce the performance cost, we add weights to servers’ election timeout to enable the most suitable server to be elected as the leader and serve the users. We propose a model to optimize Geo-Raft performance and present an approach to determine Raft timeouts for a given set of weights. We discuss our results and directions for future work.engUniversity of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission.Raft Consensus AlgorithmGeographically Distributed SystemCost OptimizationComputer ScienceWeighted Raft and its Application to Geographically Distributed Serversmaster thesis10.11575/PRISM/33043