Real-time user-defined creation of network device information collections
First Claim
1. A method for establishing groups of logical objects, the method comprising the steps of:
- storing group criteria data that represents available criteria that may be used to define one of the groups;
receiving user input that defines one of the groups by specifying a subset of said group criteria data that logical objects in the group must satisfy;
responding to a request to view that group by determining current membership of that group by retrieving the group criteria data from a database and comparing the subset of said group criteria data against device data about all the logical objects.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
248 Citations
54 Claims
-
1. A method for establishing groups of logical objects, the method comprising the steps of:
-
storing group criteria data that represents available criteria that may be used to define one of the groups;
receiving user input that defines one of the groups by specifying a subset of said group criteria data that logical objects in the group must satisfy;
responding to a request to view that group by determining current membership of that group by retrieving the group criteria data from a database and comparing the subset of said group criteria data against device data about all the logical objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
establishing one or more user-defined fields within the group criteria data for specifying information about the objects; - and
receiving user input that specifies particular values for the user-defined fields for particular objects among all the objects.
-
-
3. The method recited in claim 2, wherein the step of receiving user input that defines the group includes the step of receiving user input that specifies criteria for at least one of the user-defined fields.
-
4. The method recited in claim 1, wherein the step of storing group criteria data further comprises the step of storing a table of metadata that describes the group criteria data.
-
5. The method recited in claim 4, wherein the step of storing the table of metadata further comprises the step of storing in the table of metadata a plurality of filters for information about the logical objects.
-
6. The method recited in claim 5, wherein the step of storing a plurality of filters further comprises the steps of storing, for each filter defined in said table of metadata, an order of display value, a filter label value, and a reference to a data source for values of said filter.
-
7. The method recited in claim 6, wherein the step of storing a reference to a data source for said values comprises the steps of storing, for each filter defined in said table, a table name that identifies a filter value source table and a column name that identifies a column of the filter value source table from which said values of said filter are derived.
-
8. The method recited in claim 5, wherein the step of receiving user input comprises the step of receiving a user selection of a plurality of the filters that are related by Boolean logic.
-
9. The method recited in claim 8, wherein the step of responding to a request to view said device group by determining current membership of the group includes the steps of:
-
building a list of said plurality of filters, the list comprising, for each filter in said plurality of filters, a filter identifier and a filter value;
associating said plurality of filters with a Boolean logical relationship; and
constructing a structured query language statement using said plurality of filters and said Boolean logical relationship.
-
-
10. The method recited in claim 9, wherein the step of comparing the subset of the group criteria data includes the steps of:
-
applying the structured query language statement to the database;
receiving, in response thereto, a result list comprising a plurality of pairs of device names and device identifiers of logical objects that are in the group.
-
-
11. A method for establishing groups of devices in a network, the method comprising the steps of:
-
receiving user input that defines a device group by specifying particular criteria that devices in said device group must satisfy;
persistently storing group criteria data that represents said particular criteria in a database;
responding to requests to perform operations involving said device group by determining current membership of said device group by retrieving said group criteria data from said database; and
comparing said group criteria data against device data about devices that currently exist in said network. - View Dependent Claims (12, 13)
establishing one or more user-defined fields for specifying information about said devices; - and
receiving user input that specifies particular values for said user-defined fields for particular devices in said network.
-
-
13. The method of claim 12, wherein the step of receiving user input that defines a device group by specifying particular criteria includes the step of receiving user input that specifies criteria for at least one of said user-defined fields.
-
14. A computer-readable medium carrying one or more sequences of instructions for network device information collection, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
storing group criteria data that represents available criteria that may be used to define a device group;
receiving user input that defines said device group by specifying a subset of said group criteria data that devices in said device group must satisfy;
responding to a request to view said device group by determining current membership of said device group by retrieving said group criteria data from said database; and
comparing said subset of said group criteria data against device data about devices that currently exist in said network. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
establishing one or more user-defined fields within the group criteria data for specifying information about the objects; and
receiving user input that specifies particular values for the user-defined fields for particular objects among all the objects.
-
-
16. The computer-readable medium recited in claim 15, wherein the step of receiving user input that defines the group includes the step of receiving user input that specifies criteria for at least one of the user-defined fields.
-
17. The computer-readable medium recited in claim 14, wherein the step of storing group criteria data further comprises the step of storing a table of metadata that describes the group criteria data.
-
18. The computer-readable medium recited in claim 17, wherein the step of storing the table of metadata further comprises the step of storing in the table of metadata a plurality of filters for information about the logical objects.
-
19. The computer-readable medium recited in claim 18, wherein the step of storing a plurality of filters further comprises the steps of storing, for each filter defined in said table of metadata, an order of display value, a filter label value, and a reference to a data source for values of said filter.
-
20. The computer-readable medium recited in claim 19, wherein the step of storing a reference to a data source for said values comprises the steps of storing, for each filter defined in said table, a table name that identifies a filter value source table and a column name that identifies a column of the filter value source table from which said values of said filter are derived.
-
21. The computer-readable medium recited in claim 19, wherein the step of receiving user input comprises the step of receiving a user selection of a plurality of the filters that are related by Boolean logic.
-
22. The computer-readable medium recited in claim 21, wherein the step of responding to a request to view said device group by determining current membership of the group includes the steps of:
-
building a list of said plurality of filters, the list comprising, for each filter in said plurality of filters, a filter identifier and a filter value;
associating said plurality of filters with a Boolean logical relationship; and
constructing a structured query language statement using said plurality of filters and said Boolean logical relationship.
-
-
23. The computer-readable medium recited in claim 22, wherein the step of comparing the subset of the group criteria data includes the steps of:
-
applying the structured query language statement to the database;
receiving, in response thereto, a result list comprising a plurality of pairs of device names and device identifiers of logical objects that are in the group.
-
-
24. A computer data signal embodied in a carrier wave, the computer data signal carrying one or more sequences of instructions for network device information collection, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
persistently storing, in a database, group criteria data that represents available criteria that may be used to define a device group;
receiving user input that defines said device group by specifying a subset of said group criteria data that devices in said device group must satisfy;
responding to a request to view said device group by determining current membership of said device group by retrieving said group criteria data from said database; and
comparing said subset of said group criteria data against device data about devices that currently exist in said network. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33)
establishing one or more user-defined fields within the group criteria data for specifying information about the objects; and
receiving user input that specifies particular values for the user-defined fields for particular objects among all the objects.
-
-
26. The computer data signal recited in claim 25, wherein the step of receiving user input that defines the group includes the step of receiving user input that specifies criteria for at least one of the user-defined fields.
-
27. The computer data signal recited in claim 26, wherein the step of persistently storing group criteria data further comprises the step of storing a table of metadata that describes the group criteria data.
-
28. The computer data signal recited in claim 27, wherein the step of storing the table of metadata further comprises the step of storing in the table of metadata a plurality of filters for information about the logical objects.
-
29. The computer data signal recited in claim 28, wherein the step of storing a plurality of filters further comprises the steps of storing, for each filter defined in said table of metadata, an order of display value, a filter label value, and a reference to a data source for values of said filter.
-
30. The computer data signal recited in claim 29, wherein the step of storing a reference to a data source for said values comprises the steps of storing, for each filter defined in said table, a table name that identifies a filter value source table and a column name that identifies a column of the filter value source table from which said values of said filter are derived.
-
31. The computer data signal recited in claim 29, wherein the step of receiving user input comprises the step of receiving a user selection of a plurality of the filters that are related by Boolean logic.
-
32. The computer data signal recited in claim 31, wherein the step of responding to a request to view said device group by determining current membership of the group includes the steps of:
-
building a list of said plurality of filters, the list comprising, for each filter in said plurality of filters, a filter identifier and a filter value;
associating said plurality of filters with a Boolean logical relationship; and
constructing a structured query language statement using said plurality of filters and said Boolean logical relationship.
-
-
33. The computer data signal recited in claim 32, wherein the step of comparing the subset of the group criteria data includes the steps of:
-
applying the structured query language statement to the database;
receiving, in response thereto, a result list comprising a plurality of pairs of device names and device identifiers of logical objects that are in the group.
-
-
34. A computer apparatus comprising:
-
a processor; and
a memory coupled to the processor, the memory containing one or more sequences of instructions for network device information collection, wherein execution of the one or more sequences of instructions by the processor causes the processor to perform the steps of;
persistently storing, in a database, group criteria data that represents available criteria that may be used to define a device group;
receiving user input that defines said device group by specifying a subset of said group criteria data that devices in said device group must satisfy;
responding to a request to view said device group by determining current membership of said device group by retrieving said group criteria data from said database; and
comparing said subset of said group criteria data against device data about devices that currently exist in said network. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43)
establishing one or more user-defined fields within the group criteria data for specifying information about the objects; and
receiving user input that specifies particular values for the user-defined fields for particular objects among all the objects.
-
-
36. The computer apparatus recited in claim 35, wherein the step of receiving user input that defines the group includes the step of receiving user input that specifies criteria for at least one of the user-defined fields.
-
37. The computer apparatus recited in claim 36, wherein the step of storing group criteria data further comprises the step of storing a table of metadata that describes the group criteria data.
-
38. The computer apparatus recited in claim 37, wherein the step of storing the table of metadata further comprises the step of storing in the table of metadata a plurality of filters for information about the logical objects.
-
39. The computer apparatus recited in claim 38, wherein the step of storing a plurality of filters further comprises the steps of storing, for each filter defined in said table of metadata, an order of display value, a filter label value, and a reference to a data source for values of said filter.
-
40. The computer apparatus recited in claim 39, wherein the step of storing a reference to a data source for said values comprises the steps of storing, for each filter defined in said table, a table name that identifies a filter value source table and a column name that identifies a column of the filter value source table from which said values of said filter are derived.
-
41. The computer apparatus recited in claim 40, wherein the step of receiving user input comprises the step of receiving a user selection of a plurality of the filters that are related by Boolean logic.
-
42. The computer apparatus recited in claim 41, wherein the step of responding to a request to view said device group by determining current membership of the group includes the steps of:
-
building a list of said plurality of filters, the list comprising, for each filter in said plurality of filters, a filter identifier and a filter value;
associating said plurality of filters with a Boolean logical relationship; and
constructing a structured query language statement using said plurality of filters and said Boolean logical relationship.
-
-
43. The computer apparatus recited in claim 42, wherein the step of comparing the subset of the group criteria data includes the steps of:
-
applying the structured query language statement to the database;
receiving, in response thereto, a result list comprising a plurality of pairs of device names and device identifiers of logical objects that are in the group.
-
-
44. A computer apparatus configured to carry out automated network device information collection, and comprising:
-
means for persistently storing, in a database, group criteria data that represents available criteria that may be used to define a device group;
means for receiving user input that defines said device group by specifying a subset of said group criteria data that devices in said device group must satisfy;
means for responding to a request to view said device group by determining current membership of said device group by retrieving said group criteria data from said database; and
means for comparing said subset of said group criteria data against device data about devices that currently exist in said network. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51, 52, 53)
means for establishing one or more user-defined fields within the group criteria data for specifying information about the objects; and
means for receiving user input that specifies particular values for the user-defined fields for particular objects among all the objects.
-
-
46. The computer apparatus recited in claim 45, wherein the means for receiving user input that defines the group includes a means for receiving user input that specifies criteria for at least one of the user-defined fields.
-
47. The computer apparatus recited in claim 46, wherein the means for storing group criteria data further comprises a means for storing a table of metadata that describes the group criteria data.
-
48. The computer apparatus recited in claim 47, wherein the means for storing the table of metadata further comprises a means for storing in the table of metadata a plurality of filters for information about the logical objects.
-
49. The computer apparatus recited in claim 48, wherein the means for storing a plurality of filters further comprises a means for storing, for each filter defined in said table of metadata, an order of display value, a filter label value, and a reference to a data source for values of said filter.
-
50. The computer apparatus recited in claim 49, wherein the means for storing a reference to a data source for said values comprises a means for storing, for each filter defined in said table, a table name that identifies a filter value source table and a column name that identifies a column of the filter value source table from which said values of said filter are derived.
-
51. The computer apparatus recited in claim 50, wherein the means for receiving user input comprises a means for receiving a user selection of a plurality of the filters that are related by Boolean logic.
-
52. The computer apparatus recited in claim 51, wherein the means for responding to a request to view said device group by determining current membership of the group includes a means for building a list of said plurality of filters, the list comprising, for each filter in said plurality of filters, a filter identifier and a filter value;
- a means for associating said plurality of filters with a Boolean logical relationship; and
a means for constructing a structured query language statement using said plurality of filters and said Boolean logical relationship.
- a means for associating said plurality of filters with a Boolean logical relationship; and
-
53. The computer apparatus recited in claim 52, wherein the means for comparing the subset of the group criteria data includes a means for applying the structured query language statement to the database;
- and a means for receiving, in response thereto, a result list comprising a plurality of pairs of device names and device identifiers of logical objects that are in the group.
-
54. A computer apparatus for establishing groups of devices in a network, comprising:
-
means for receiving user input that defines a device group by specifying particular criteria that devices in said device group must satisfy;
means for persistently storing group criteria data that represents said particular criteria in a database;
means for responding to requests to perform operations involving said device group by determining current membership of said device group by retrieving said group criteria data from said database; and
means for comparing said group criteria data against device data about devices that currently exist in said network.
-
Specification