PDP and GSDL: A New Service Discovery Middleware to Support Spontaneous Interactions in Pervasive Systems