Usage-based ranking of services and data
The emergence of peer-to-peer systems and the possibility to use web services to perform computations and to exchange data lead to large-scale integration systems where query evaluation and other complex tasks are performed through service composition. A crucial problem in such systems is the lack of global knowledge. Therefore it is difficult to find the best peer for query routing, the best service for composition or to decide which local data of a peer must be refreshed or cached. Making a choice implies to perform a ranking. Although it is possible to rank entities according to their content or to other associated metadata, these techniques are generally based on homogeneous and semantically rich descriptions. An interesting alternative in the context of large-scale systems is a link-based ranking that exploits relations between the different entities and allows to make choices according to global information. This thesis presents a new generic service ranking model based on their collaboration links. We define a global service importance by exploiting specific knowledge about its contribution to other services through received calls and exchanged data. The importance may be computed efficiently by an asynchronous algorithm without additional messages. Our notion of contribution is abstract and we study its instantiation in the context of three applications: (i) service ranking based on calls where the contribution reflects the service semantics and usage; (ii) service ranking based on data usage where the service contribution is based on the usage of its data during the query evaluations in a distributed warehouse; (iii) distributed cache strategies based on the contribution of a data cache on a peer to reduce the cost the system workload.