Is a process in computer science used to achieve agreement on a single data value among distributed processes or systems.