a community of collaborative software agents works together in a domain to provide functionality such as provision of communications services or control of a chemical process . a scheduler is built into each collaborative agent which schedules tasks allocated to that particular agent and tasks sub - allocated by the agent . the scheduler has a mechanism for over - booking tasks for any one agent . it can also make tentative booking which can be overwritten of timed out .