Contract Net Protocol
Contract Net Protocol (CNP) is a well known task sharing protocol that is used for task allocation in multi-agent systems and consists of a collection of nodes or agents that form the contract net. Each node on the network can, at different times or for different tasks be a manager or a contractor.
When a node gets a composite task (or for any reason cannot solve the present task) it breaks the problem down into sub-tasks (If possible) and announces the sub-task to the contract net acting as a manage. Bids are then received from potential contractors which the winning contractor(s) are awarded the job(s).
The Contract Net
Task distribution is viewed as a kind of contract negotiation and happens in 5 stages.
- Recognition
- Announcement
- Bidding
- Awarding
- Expediting
Example uses of Contract Net Protocol
An electronic market place for buying and selling goods. For example a system where a user could specify the goods that they want as well as a maximum price that they are willing to pay. The agent programs then would find other user(s) willing to sell the goods within the desired price range. The user with the lowest price would then be selected to fufill the contract. Other constraints could be applied such as delivery time and the location of the goods. [1]