Ordering Requests: Part I
Learn how to ensure that replicas process requests in the same order.
Requirements for order
Replica coordination requires (alongside the agreement property) the order property, which states that every non-faulty state machine replica processes requests in the same relative order. One way to implement order is to assign unique identifiers to each request. This way, we can manage the order in which replicas process requests in the unique identifiers' total order.
With replicas processing requests according to the order of their unique identifiers, we define a request as stable at a state machine replica
Order implementation requires a method to assign unique identifiers to requests. This method also needs to be constrained by the assumptions that a client can make about the order in which state machines process requests:
[
] A state machine processes requests by one of its clients in the order the client issued the requests. For example, a client issues requests to a state machine in the following order: request , then request , and then request . In this case, will process first, then , and then . [
] If a client makes a request to state machine that causes another client to make a request to , then ...