Datacenter networks and services are at risk in the face of disasters. Existing fault-tolerant storage services cannot even achieve a nil recovery point objective (RPO) as client-generated data may get lost before the termination of their migration across geo-replicated datacenters. SDN has proved instrumental in exploiting application-level information to optimise the routing of information. In this paper, we propose Software Defined Edge (SDE) or the implementation of SDN at the network edge to achieve nil RPO. We illustrate our proposal with a fault-tolerant key-value store that experimentally recovers from disaster within 30s. Although SDE is inherently fault-tolerant and scalable, its deployment raises new challenges on the partnership between ISPs and CDN providers. We conclude that failure detection information at the SDN-level can effectively benefit applications to recover from disaster.
Replication is the key to make data resilient to failures. A distributed storage uses replication to guarantee that requests issued by clients get served despite the crash of a server. In the case of a disaster that affects a whole datacenter, it is important to geo-replicate data by copying the data across datacenters located in different regions of the globe. Database solutions traditionally classify servers into a single primary and multiple backups. In such context, they exist two ways of recovering from disaster recovery @cite_8 . First, the client contacts the primary and the primary exchange messages with the backup(s) before the clients gets a response. To recover the data after a disaster at least one backup should be located in a different region from the primary, which makes this solution, called , slow as the client request latency increases with the distance between regions. Second, the client contacts only the primary to get a faster response before any message exchange with the backups, an efficient alternative called that unfortunately cannot guarantee recovery.
@cite_8
1514375659
Remote backup copies of databases are often maintained to ensure availability of data even in the presence of extensive failures, for which local replication mechanisms may be inadequate. We present two versions of an epoch algorithm for maintaining a consistent remote backup copy of a database. The algorithms ensure scalability, which makes them suitable for very large databases. The correctness and the performance of the algorithms are discussed, and an additional application for distributed group commit is given.