| SLP which was proposed by SRVLOC of IETF is a service discovery protocol based on TCP/IP. There are three entities in SLP: SA (Service Agent), UA (User Agent) and DA (Directory Agent). SAs announce service information on behalf of programs or equipments. UAs execute service request and get service information on behalf of user. DAs collect and store service information and respond to service requests. Owing to the expansibility and characteristic of TCP/IP, SLP gained comprehensive support and many extensions were studied based on SLP in different applications.Existing SLP is hard to select the best one among numerous services with the same function because of the absence of QoS consideration. However, on account of the expansibility, it is feasible to add QoS to SLP. After studying the mechanism of SLP, a service discovery model QCSLP (QoS Constrained SLP) which implements QoS restriction is proposed.QCSLP extends SLP messages with QoS parameters and adds an entity named QM (QoS Manager) to the existing SLP so that four new messages: QCRqst, QCRply, QFdbk and QMAdvert are brought in, thereby implements the storage, advertisement, discovery, feedback and dynamic update of service information including QoS parameters. The model imports the conception of QoS standardization and integration. By setting the power for every QoS parameters separately in service requests, QMs can calculate QoS advertisement and request and then sort services according to their quality. In this way, users can find services which meet their function and quality requests by QCSLP. When calling a service, QoS watching and feedback mechanism are adopted. UAs feedback the QoS performance, then QMs evaluate each parameter and inform SAs of adjustment.A stimulant pervasive environment including serval entities is constructed in this paper. By simulating service discovery, service function matching, QoS matching, feedback, statistic and evaluation, it is validated that QCSLP can help users find the individual service meeting their function and quality request, and due to QoS feedback, service QoS information is update dynamically and approach the reality rapidly in running environment, as time goes on users can find the right services they want and get better satisfaction. |