Mechanisms for establishing and viewing groups of devices within a network
of devices are disclosed. A filter mechanism is coupled to a database of
information about devices in a network having multiple network devices
such as switches and routers. The database stores a filter metadata table
that describes criteria by which the information in the database can be
filtered to establish groups of the devices. The filter metadata drives
the presentation of a filter dialog that provides a set of filters and
filter criteria that can be selected by a user. The filter mechanism
receives a set of user-entered criteria, selected from among the filter
criteria, that define a group of the devices. The filter mechanism
constructs a Boolean query to the database based upon the user-entered
criteria. The database provides a dynamic view of network devices that
meet the user-entered criteria. The filter metadata table describes the
order of filters displayed in the filter dialog, and sources of data that
provide values for the filters to be displayed in the filter dialog.
Filters are persistently stored and can be retrieved and viewed by name.
The membership of each device group defined by a filter is dynamically
evaluated when a view is requested for a filter. The mechanisms are
data-driven and can accommodate different devices as well as changes in
existing devices and introduction of new devices. The invention also
encompasses a method, computer program product, and computer data signal
embodied in a carrier wave that are configured to carry out the processes
accomplished by the mechanisms.