Utility-based multi-category quality-of-service negotiation in distributed systems
First Claim
1. A method for negotiating a multi-category quality-of-service (QoS) agreement between a client and a server in a system comprising the steps of:
- establishing a communications link having a client-side of said negotiating and server-side;
generating a plurality of multi-category QoS specifications, each said multi-category QoS specification being representative of a probabilistic estimate of QoS levels for a service available via said server, each category of said QoS specifications representing a different QoS-related parameter;
transmitting said plurality of multi-category QoS specifications over said communications link from said server-side to said client-side;
selecting at least one of said multi-category QoS specifications to be included in an offer for a QoS agreement;
identifying each said selected multi-category QoS specification as part of said offer, said offer requesting a service provided by said server at said probabilistic estimate of said QoS levels represented by said each selected multi-category QoS specification;
transmitting said offer over said communications link from said client-side to said server-side; and
monitoring said communications link at said client-side for a response to said offer indicating one of an acceptance, a rejection, and a counteroffer to said offer.
4 Assignments
0 Petitions
Accused Products
Abstract
In a distributed system, a method and system for negotiating a multi-category Quality-of-Service (QoS) agreement between a client and a server includes a client agent enabled to calculate an expected utility to a client of multiple multi-category QoS specifications. The client agent obtains the QoS specifications by transmitting a QoS specification request to a server agent or a broker. The expected utility calculation, based on a probabilistic estimate of QoS levels included in the QoS specifications, enables the client agent to distinguish the QoS specifications of greater value from those of lesser value. The client agent selects at least one of the QoS specifications to be included into an offer for a QoS agreement based on the expected utility calculation. In a preferred embodiment, the client agent selects the QoS specifications determined to be most valuable to the client. The offer is transmitted to the server agent to request a service provided by a server at QoS levels represented by the selected QoS specifications. After transmitting the offer, the client monitors a connection to the server agent for either an acceptance, a rejection, or a counteroffer to the offer. Communication between the client agent and the server agent conforms to a negotiation protocol which provides a set of rules for transmission of negotiation messages.
281 Citations
19 Claims
-
1. A method for negotiating a multi-category quality-of-service (QoS) agreement between a client and a server in a system comprising the steps of:
-
establishing a communications link having a client-side of said negotiating and server-side; generating a plurality of multi-category QoS specifications, each said multi-category QoS specification being representative of a probabilistic estimate of QoS levels for a service available via said server, each category of said QoS specifications representing a different QoS-related parameter; transmitting said plurality of multi-category QoS specifications over said communications link from said server-side to said client-side; selecting at least one of said multi-category QoS specifications to be included in an offer for a QoS agreement; identifying each said selected multi-category QoS specification as part of said offer, said offer requesting a service provided by said server at said probabilistic estimate of said QoS levels represented by said each selected multi-category QoS specification; transmitting said offer over said communications link from said client-side to said server-side; and monitoring said communications link at said client-side for a response to said offer indicating one of an acceptance, a rejection, and a counteroffer to said offer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for enabling multi-category QoS negotiation toward a multi-category QoS agreement between a server and a client in a system comprising:
-
a server agent comprising; a) means for establishing multi-category QoS specifications representative of probabilistic estimates of QoS levels associated with alternative services provided by said server; b) first means for transmitting a plurality of said multi-category QoS specifications in response to receiving a multi-category QoS specification request for communication involving said client; and c) means for determining whether to enable said services based upon multi-category QoS offers received on behalf of said server; and a client agent comprising; a) means, responsive to said first means to receive said plurality of multi-category QoS specifications, for selecting one of said multi-category QoS specifications for identification to said server agent on behalf of said client; and b) second means for identifying said selected multi-category QoS specification to said determining means of said server agent as at least a portion of a selected QoS offer. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for negotiation of a multi-category QoS deal between a server and a client in a distributed system comprising the steps of:
-
generating an initial multi-category QoS specification representative of probabilistic estimates of QoS levels available via said server based on preferences by a server application; filtering said initial multi-category QoS specification according to capabilities of resources of said distributed system to support QoS levels, said filtering producing a plurality of multi-category QoS specifications, each category of said multi-category QoS specifications being representative of a parameter of said multi-category QoS specification; transmitting said plurality of multi-category QoS specifications to a client agent in response to a request via a communications link; upon receiving said plurality of multi-category QoS specifications at said client agent, calculating an expected utility at said client agent for each of said plurality of multi-category QoS specifications based on said probability estimates of said QoS levels; formulating an offer including at least one of said multi-category QoS specifications in response to said calculations of expected utilities; identifying said offer to a server agent; and upon receiving said offer at said server agent, determining whether to accept said offer, including utilizing a first trust function that is representative of a level of trust said server agent possesses with regard to said client agent based on an extent to which QoS agreements negotiated by said client agent have been satisfactorily performed previously, said calculating step including utilizing a second trust function in calculating said expected utility of said multi-category QoS specification, said second trust function being representative of a level of trust said client agent possesses with regard to said server agent based on an extent to which QoS agreements negotiated by said server agent have been satisfactorily performed previously. - View Dependent Claims (18, 19)
-
Specification