Travel Agent
+----------+ +--------+ +--------+ +--------+
| User 1 | | User 2 | | User 3 | | User 4 |
+----------+ +--------+ +--------+ +--------+
| | | /
| | | /
V V V V
+----------+ +---------+ +---------+
| Agent 1 | | Agent 2 | | Agent 3 |-------
+----------+ +---------+ +---------+ \
/ | | \ / | \ \________|_|_|_|______ \
| | | \__/__|__\__________|_|_|_|_____ \ \
| __\__\____/ / \_____ | | | | \ \ \
| / \ \_____/_________ \ | | | | | | \
| | \___ / \ \ | | | \ | | \
| | \ | \ | | | | \ | | \
| | _____|_|____________|_|/ / | \___|_|_ \
| | / | | _________|_|_/ | | | \ \
| | / | | / | | | | | | \
| | | | | | | | | | | | |
V V V V V V V V V V V V V
+-----------+ +-----------+ +-----------+ +-----------+ +-----------+
| Cluster A | | Cluster B | | Cluster C | | Cluster D | | Cluster E |
+-----------+ +-----------+ +-----------+ +-----------+ +-----------+
- Diversity of producers: each agent can be configured to use
a different set of clusters
- Diversity of scheduling: each agent can be independently designed