ProcessRequests(service, AoI) |
//check list of current and recently offered services |
checkServices(service, QoS); //QoS: Quality of Service |
if (service recently offered with the required QoS) { |
reply(AIOI, service, QoS); |
} |
else{ |
//find the necessary areas of interest if not explicitly specified |
//by the user |
//AoI where service is being offered |
//AoIunav = AoI where service is not offered |
AoIav, AoIunav = findAoI(service); |
if (service being offered) { |
inform(ASSN, service, AoIav, QoS); |
inform(ASSN, service, AoIunav, QoS); |
} |
else{ |
prepare message JoinService(); //Table 3 |
inform(WSN, AoI, QoS, JoinService()); |
create(ASSN, service, AoI); |
//inform Event Chasing Agent (Figure 5) for support |
inform(ECA, ASSN, service, AoI, Qos); |
//inform Resource Chasing Agent (Figure 5) for support |
inform(RCA, ASSN, service, AoI, Qos); |
} |
} |