In order to make sure that the cloaked region will not be too scattered to affect the service quality and efficiency in the query life cycle, we adopt quality monitor algorithm to avoid the above problem by predicting all possible locations of the querier according to the most biggest velocities at the initial time; thus qualified and appropriate queriers will be selected to be anonymized while unqualified ones will not be selected, as shown in Figure 8(a).
/*When user issues a query s*/ candidate cloaking set U = {[empty set]}; insert s to U; for (each q in QS) { if (s x [T.sub.e-q] x [T.sub.e] > [[epsilon].sub.t]) then get the next q in QS; else { if IsMeetQ(s, q) then { inset q to U; if ([absolute value of (U)] [greater than or equal to] k) then { if (IsMeetP(U)) then { Generate CS; CenterAdj(CS); Return CS; } } } } inert s to QS; } Since we adopt cycle as cloaked region, the center is the querier location.