## 4 Problem Definition and Motivation  
In this paper, we address the problem of evaluating CM range monitoring queries over moving objects. Let \(\mathcal{O}=\{o_{1},o_{2},\ \cdots,o_{|\mathcal{O}|}\}\) be a set of moving objects, each of which is associated with location \(loc\) and a set of non-spatial attributes \(A=\{a_{1},a_{2},\ \cdots,a_{n}\}\). Each non-spatial attribute \(a_{i(1\leq i\leq n)}\in A\) is assumed to be either categorical (e.g., dietary preference) or numeric (e.g., age). A moving object \(o\) (\(\in\mathcal{O}\)) is represented as \((o.loc,o.A)\), where \(o.loc\) denotes \(o\)'s current location and \(o.A=\{o.a_{1},o.a_{2},\ \cdots,o.a_{n}\}\) denotes \(o\)'s non-spatial attribute values. A CM range monitoring query \(q\), issued by a client over \(\mathcal{O}\), is represented as \((q.R,q.V)\). Here, \(q.R\) denotes a specified spatial query range and \(q.V=\{q.v_{1},q.v_{2},\ \cdots,q.v_{m(\leq n)}\}\) denotes a set of non-spatial query values (or intervals) specified on a subset of non-spatial attributes \(\hat{A}\) (\(\subseteq A\)) = \(\{\hat{a}_{1},\hat{a}_{2},\ \cdots,\hat{a}_{m}\}\). We assume in this paper that \(q.v_{i}\) is an interval if \(\hat{a}_{i}\) is a numerical attribute by assuming that the system let the clients to select one of the predefined intervals (e.g., age: [20, 40)] when issuing queries. **Definition 1**. : _A **content-matched (CM) range monitoring query**\(q\), issued over \(\mathcal{O}\), continually returns a set \(\hat{\mathcal{O}}\) (\(\subseteq\mathcal{O}\)) of moving objects for which the condition_  
\[\forall o\in\hat{\mathcal{O}}:\ \ (o.loc\in q.R)\ \&\&\ \ (\forall o.\hat{a}_{i \,(1\leq i\leq m)}\in o.\hat{A}:\ o.\hat{a}_{i}=q.\hat{v_{i}\,(1\leq i\leq m)} \ \mathrm{or}\ o.\hat{a_{i}}\in q.v_{i}) \tag{1}\]  
_holds, where \(\&\&\) denotes conjunction. We say that \(o\) is matched to \(q.V\) or vice versa if \(\ \forall o.\hat{a_{i}}\in o.\hat{A}:o.\hat{a_{i}}=q.v_{i}\) (or \(o.\hat{a_{i}}\in q.v_{i}\))._  
The existing methods, especially, MQM [2] and QRT [1], which use the resident domain concept cannot adequately deal with CM range monitoring queries due to the following drawbacks:  
* First, because in MQM and QRT, the capability \(o.Cap\) of each moving object \(o\) is measured by the number of spatial query ranges without any consideration of non-spatial query values (or intervals), \(o\)'s resident domain tends to be small. This leads \(o\) to frequently send \(RequestDomain\) messages to the server for receiving new resident domains. For example, let us assume that the moving object \(o_{1}\) with \(o_{1}.Cap=2\) in Figure 3 is associated with three non-spatial attributes \(A=\{a_{1}\): _Age_, \(a_{2}\): _Dietary preference_, \(a_{3}\): _Gender_} and \(o_{1}.A=\{o_{1}.a_{1}=36,\,o_{1}.a_{2}=Vegetarian,\,o_{1}.a_{3}=Male\}\). Suppose the queries \(q_{1}\sim q_{5}\) involve non-spatial values (or intervals) \(q_{1}.V\sim q_{5}.V\) specified on a subset of \(A\), as shown in Figure 3. In MQM and QRT, the server assigns \(o_{1}\) the red-dotted rectangle as \(o_{1}\)'s resident domain together with two spatial query ranges \(q_{1}.R\) and \(q_{4}.R\). However, because \(o_{1}\) is matched to only \(q_{1}.V\) (_i.e._, \(o_{1}.a_{1}\in q_{1}.v_{1}\), \(o_{1}.a_{2}=q_{1}.v_{2}\), and \(o_{1}.a_{3}=q_{1}.v_{3}\)) and \(q_{3}.V\) (_i.e._, \(o_{1}.a_{1}\in q_{3}.v_{1}\) and \(o_{1}.a_{3}=q_{3}.v_{3}\)), \(o_{1}\)'s movement only affects the results of the corresponding queries \(q_{1}\) and \(q_{3}\). So, when determining the size of \(o_{1}\)'s resident domain, the server can ignore the spatial query ranges \(q_{2}.R\), \(q_{4}.R\), and \(q_{5}.R\); thus the server can assign \(o_{1}\) much larger resident domain (_i.e._, entire space) together with the qualified spatial query ranges \(q_{1}.R\) and \(q_{3}.R\). * Second, due to the same reason of the first drawback, each moving object \(o\) has to send unnecessary \(UpdateResult\) messages to the server.