| Using scoping and filtering enables a more complex
operation to be constructed, operating on multiple managed objects in a
single operation. Scoping and filtering select the managed objects on
which the operation is performed. Scoping and filtering employs the
structure of the naming tree used by OSI
management.
The base object class and base object instance of the CMIP operations
identify the managed object instance that is used as the starting point
for the selection of the managed objects to which the filter will be
applied.
The scope identifies the portion of the sub-tree starting at base
managed object that is to be searched. The level of the search can be:
 | the base object only; |
 | the nth level subordinate of the base object; |
 | the base object and all of its subordinates to the nth
level; |
 | the base object and all of its subordinates. |
The filter is applied after the scope has been applied to further
select managed object instances. The filter is a test of the values of
selected attributes of the selected managed object instances. The test
evaluates either true and then the managed object instance is selected, or
false and then the managed object is not selected.
The filter is a single assertion or a set of assertions which can be
group together using AND, OR and NOT. Each individual assertion
tests an individual attribute of the managed object. The type of assertion
that is allowed for a particular attribute is determined from the matching
rules for that attribute which are defined in the ATTRIBUTE
template.
Several types of assertion are supported. In each case, the attribute
is tested against the value supplied in the assertion. The assertion types
are as follows:
 | equality. If the value of the attribute is equal to the value of the
assertion then the assertion is true. |
 | greater or equal. If the value of the assertion is greater or equal
than the value of the attribute then the assertion is true. |
 | less or equal. If the value of the assertion is less or equal
than the value of the attribute then the assertion is true. |
 | The assertion can be matched for presence. If the value of the
assertion is present in the set that is represented in the attribute
then the assertion is true. |
 | The assertion can be matched for a sub-set. If the value of the
assertion is a sub-set of the set that is represented in the attribute
then the assertion is true. |
 | The assertion can be matched for a super-set. If the value of the
assertion is a super-set of the set that is represented in the
attribute then the assertion is true. |
 | The assertion can be matched for a super-set. If the value of the
assertion is a super-set of the set that is represented in the
attribute then the assertion is true. |
 | The assertion can be matched for a none null set intersection. If
the value of the assertion is a none null set intersection of the set
that is represented in the attribute then the assertion is true. |
Once the managed object instances are selected the operation is
performed on each managed object instance. Each operation may
produce a result or an error. The results and any errors of the operations
on the selected managed object instances are returned in multiple replies.
Clearly it is possible to select and process managed object instances
"on the fly", or process the group of managed object instances
in a batch. The precise mechanism is a policy of the agent system.
Support of scoping and filtering is optional and many agent systems do
not provide this service or have a restricted service. Often agent systems
that do support the scoping and filtering services provide optimisations
that, for example, support fast searching of particular attributes, such
as naming attributes.
|