To satisfy the second requirement, the algorithm must introduce state: the assignments of users must be cached once they visit the site. Caching can be accomplished either on the server side (e.g., by storing the assignments for users in some form of database), or on the client side (e.g., by storing a user’s assignment in a cookie).