Office: INR 218
Service oriented software systems offer the flexibility required by present business organizations. Systems are composed of loosely coupled
servicescharacterized by certain functional (i.e. interface) as well as non-functional (i.e. quality) parameters. Complex tasks can be carried out by (automatically) aggregating several services. The resulting service-oriented architecture (SOA) can adapt to changing business environments, it is easier to maintain and cheaper to operate.
However, as different services may be provided by self-interested organizations, it becomes essential to ensure that the quality parameters promised by the provider are actually delivered. Take for example a web-service providing stock-quotes (i.e. a service that can be invoked to find the price of a certain stock). When the service provider promises that 99% of the requests are answered within one minute, it must also invest in the infrastructure that technically permits to keep this promise. Quality therefore comes at a cost, and rational providers are not expected to assume this cost, unless they are constrained to do so.
Traditional monitoring systems are based either on trusted parties that proxy the service invocation, or on monitoring code that runs on the platform of the provider. The problem with the first approach is that it does not scale well, as the trusted party becomes a bottleneck. The problem with the second approach is that it cannot be trusted: providers may tamper with the monitoring code.
We advocate a monitoring system for Quality of Service based on feedback coming from the clients. Assuming that a large group of clients receive the service in the same conditions, their aggregated feedback (i.e., the reputation of the service provider) accurately estimates the delivered QoS for a given period of time.
We use a reputation mechanism to collect and aggregate the feedback received from the clients. The novelty of our approach is to also use payments to reward clients for their submitted feedback. Preliminary results show that it is possible to scale the payments in such a way that clients are motivated to report the truth.
- Implement one or several examples of service-oriented applications where different clients interact with service providers;
- Implement a reputation mechanism that collects feedback from clients, and estimates Quality of Service;
- Design an automated reporting mechanism for clients (i.e. the monitoring software that can be distributed to clients to automatically submit feedback)