An architectural style decoupling coordination, computation and data

In distributed applications, several processes are involved in serving a request. The state of the request is encoded in the states of their processes. This can lead to unnecessary complexity and hard-to-detect errors. This paper presents an architectural style, token architectures, that decouples data, control and synchronization. Tokens encapsulate the state of a computation. Service points manipulate the tokens and perform services for them. The tokens use maps to move between service stations. We show in an example how this style simplifies the design of a telecommunications application and what difficulties traditional designs must solve.