180 likes | 330 Views
ContractNet and WS-Agreement. Jon MacLaren mailto:jon.maclaren@man.ac.uk GRAAP f2f Meeting 26 th /27 th January 2004. Contract Net. Originally proposed in circulated paper “The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver” by Reid G Smith
E N D
ContractNet andWS-Agreement Jon MacLaren mailto:jon.maclaren@man.ac.uk GRAAP f2f Meeting 26th/27th January 2004
Contract Net • Originally proposed in circulated paper “The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver” by Reid G Smith • IEEE Trans. on Computers Vol. C-29, No. 12, Dec.1980, pp. 1104-1113 • Protocol is couched in a specific problem – solving task distribution in a network of worker nodes • Since then, Contract Net (or CNET) has been widely used in may application domains, and has accrued over 300 citations in the 23 years since publication. • Contract Net has been standardised through FIPA (Document SC00029H) Supercomputing, Visualization & e-Science
Does Contract Net fit in withGRAAP and WS-Agreement? • Clearly, that’s a decision for the group, not me. So... • In this talk, I aim to: • Introduce Contract Net (no need to introduce WSA!) • Provide a sense of scope for CNET compared to WSA • Point out parts of functionality which would be useful for WSA to adopt • Perhaps suggest some further reading... Supercomputing, Visualization & e-Science
Contract Net (CNET) Overview • Agent-based system for allocating “tasks” to “nodes” • Agents take on the roles of “managers” and “contractors” • Managers announce tasks • Contractors bid for them • The manager awards the task to a successful contractor • Contractors can farm out parts of the job by subcontracting • Control is distributed; no central point Supercomputing, Visualization & e-Science
Contract Net Steps • Task Announcement • Has expiry time associated with it • Task Announcement Processing • Nodes rank the announcements • Tasks are ranked for each “type” of task • Bidding • Bids are binding (i.e. award cannot be refused) • Bid Processing • Bids are ranked • Award is made to suitable bidder • No requirement to wait for expiry time to make an award Supercomputing, Visualization & e-Science
More detail: Task Announcement • Task is described, following a “task template” • Announcement can be: • broadcast to all nodes; • sent to a subset of nodes; or • sent to a single node • CNET allows for the embedding of descriptions in “private” language, that can be ignored by non-understanding nodes • Description can also contain constraints to be applied to the nodes. Only nodes having certain properties may bid (filtering is done during task announcement processing). Supercomputing, Visualization & e-Science
More detail: Bidding • Bids contain a “node abstraction” slot, containing: • a brief specification of the node capabilities relevant to the announced task • a list of additional information that node will require if it is made the award (intended to mean the supply of missing transferable procedures/objects) – could be used to model money. • Incoming bids will be ranked with bids requiring the least additional information getting priority • If a node doesn’t recognise the task “type”, it can request the “task template” from the manager Supercomputing, Visualization & e-Science
More detail: Bid Processing • Assuming a successful bidder, an “announced award” message is sent out. • This message contains a specification of the task, sufficient information for the task to begin execution. • This specification also contains any additional information required by the bidder • If there are no successful bidders, another announcement may be made. Supercomputing, Visualization & e-Science
General Remarks • Goodwill (sociability) of nodes is assumed (agent model) • Trust between nodes is assumed, so no security • The number of messages sent in the protocol are restricted in a number of ways: • Nodes can only bid for certain announcements • Nodes can only make bids when idle AND • when either a new announcement comes along, or an old one expires • No explicit way of refining bid is put down into the protocol: • Tasks are announced and bids are made and accepted • If no bids come in, manager will have to decide what to do, i.e. change specification, or lower desired price • This keeps the protocol, and its specification, simple. Supercomputing, Visualization & e-Science
Scoping – what CNET doesn’t do • CNET has a mechanism for detecting node failure, allowing the reallocation of tasks. Simple view of(sub-)task end-status: completion/failure. • Nothing in the protocol to handle re-negotiation of task properties • CNET allows composition of properties of tasks, very much like terms. • Makes the case for embedded “private” descriptions, which maps very well from WS-Policy. • Doesn’t say much about interpreting bids – reckons that this is domain specific. Supercomputing, Visualization & e-Science
Key Useful Feature(s) • One feature, I believe, distinguishes CNET from WSA drastically: • CNET can form agreements between peers, where the manager (analogous to initiator) did not directly approach the contractor (service provider) • Can support direct form too, trivially, as a special case. • Achieves this by providing an “arena” in which agents are peered. Supercomputing, Visualization & e-Science
Communication Pattern Stuff • Analogous to comparing communication over sockets with Windows Messaging/DCOP. • Sockets: • World-wide peering • Broadcast-type operations not meaningful (unless limited by additional mechanisms) • DCOP: • Arena exists where peers register • Arena may or may not imply trust between peers • Operations such as lookup by name/ID, broadcast, etc. become feasible Supercomputing, Visualization & e-Science
CNET/WSA: Brokering • Goal: User makes agreement with Broker, who makes agreement with ASP • Can do this with 1:1 WSA: • Broker makes multiple agreements with the ASPs • Negotiates simultaneously on all fronts • BUT Complexity of multiple negotiations pushed onto the broker ASP1 ASP2 User Broker ... ASPn Supercomputing, Visualization & e-Science
CNET/WSA: Auction House • Goal: User auctions job, which ASPs bid for, resulting an agreement between the User and the ASP • Can’t do this properly with 1:1 WSA: • Can do something similar to brokering • BUT Auction House ends up as intermediary in two linked agreements • This may be undesirable in many cases ASP1 AuctionHouse ASP2 User1 ... User2 ASPn Supercomputing, Visualization & e-Science
Auction House with CNET • Can imagine the Auction House being implemented as a service. • In this service, a CNET-like protocol could enable end-points to agree on pricing in a structured fashion, being only mediated by a third party. • This service can also be a repository for ranking bidders in an eBay-like fashion, which we need for GESA. • We can generalise this further. • By providing a persistent service where this sort of CNET transaction can take place, this “arena” becomes a “market place”. Supercomputing, Visualization & e-Science
CNET Literature • Over 300 citations • Too huge and diverse to search properly in given time • Some interesting titles (all 2002/2003): • Automated Negotiation and Decision Making in Multiagent Environments • Automated Trading in Agent-Based Markets for Communication Bandwidth • Multi-agent Infrastructure, Agent Discovery, Middle Agents for Web Services and Interoperation • Workflow view based e-contracts in a cross-organizational E-services environment • Agent Exchange - Virtual trading environment Supercomputing, Visualization & e-Science
Conclusions? • My main worry is that you can’t build one-to-many communication patterns out of one-to-one patterns, so it will be “hard” to incorporate later... • ...You can go the other way though. • WSA may not be adequate for needs of GESA :-( • I like the simplicity of CNET. Is WSA becoming too complicated already? Supercomputing, Visualization & e-Science
SVE @ Manchester Computing Bringing Science and Supercomputers Together http://www.man.ac.uk/sve sve@man.ac.uk