The present disclosure pertains to systems and management of systems and their components.
The disclosure reveals a system having dynamic hierarchies based on a searchable entity model. The system may be used for defining hierarchies by defining each level based on the attributes of its objects. The multiple level structure may be specified according to level definitions, each one defining a mechanism for determining the members in an instantiation of the actual system hierarchy. Level definitions may incorporate lists, queries based on semantic tags and relationships, groupings based on semantic tags, and traversal of relationships. A feature may be that multiple hierarchies can be defined and the hierarchies can be updated automatically as the system is modified and objects are added, removed, or modified.
The present system and approach may incorporate one or more processors, computers, controllers, user interfaces, wireless and/or wire connections, and/or the like, in an implementation described and/or shown herein.
This description may provide one or more illustrative and specific examples or ways of implementing the present system and approach. There may be numerous other examples or ways of implementing the system and approach.
Systems of devices appear to be growing increasingly complex. A single system may have a large number of devices, a large number of users, a large number of applications, and complex relationships among them. Different users and applications may have a need to see the same devices and data organized differently. As systems grow, it appears tedious, time consuming, and error prone to manually create multiple hierarchies for the same collection of devices and data.
Rather than requiring all system hierarchies to be defined from the root down to leaf nodes, the present mechanism may be used for defining hierarchies by defining each level based on the attributes of its objects. The multiple level structure may be specified according to level definitions, each one defining the mechanism for determining the members in the instantiation of the actual system hierarchy. Level definitions may incorporate lists, queries based on semantic tags and relationships, groupings based on semantic tags, and traversal of relationships. A feature may be that multiple hierarchies can be defined and the hierarchies can be updated automatically as the system is modified and objects are added, removed, or modified.
The present mechanism may be implemented in the Niagara™ 4 data model and tools. Traditionally, the Niagara Workbench has referred to the Niagara “thick client” Java user interface (UI) application and the version of it that runs inside of the Java Applet in a web browser. However, in Niagara 4, the non-Java Applet web browser interface (referred to as the Bajaux or ShellHxProfile interface) has been enhanced so that it includes a navigation tree similar to that in the Niagara 4 Workbench application. In the Bajaux/ShellHxProfile web application, one may also define hierarchies and navigate the resulting hierarchies.
One may note a hierarchy example.
The objects in the diagrams of
Object 11 may be a network one. Attributes 14 of object 11 may incorporate a type and protocol. The type may be a network and the protocol may be a 1st protocol, such as for example, BACnet™. Object 11 may have a relation 12 that is regarded as a network and is at an incoming direction from an object 13 which may be an electric meter. Attributes 15 of object 13 may be of a type, manufacturer, system and device type which are a device, Company One, electric and meter, respectively.
There may be a connection from an object 16, a thermostat, to object 11 via a relation 12 of a network. Attributes 17 of objects 16 may incorporate a type, manufacturer, system and device type that are for example a device, Company One, HVAC and thermostat, respectively. Object 16 may have a relation 18, such as a floor in a direction from object 16 to an object 19, which is for example a first floor. Object 19 may have attributes 21 of a type and floor number that are a floor and one, respectively, as examples.
Object 16 may have a relation 22 with an object 24 that is for example a setpoint. Attributes 25 of object 24 may incorporate a type, data type and data value of, for example, a point, numeric and temperature, respectively. Relation 22 may be that of a device having a direction from object 24 to object 16. Object 16 may also have a relation 26 with an object 27 that is for example a temperature. Object 27 may have attributes 28 that incorporate type, data type and data value of, for instance, point, numeric and temperature. Relation 26 may be that of a device having a direction from object 27 to object 16.
Object 16 may have a relation 29 with an object 31 that is for example a second thermostat. Relation 29 may be that of a network having a direction from object 31 to object 11. Object 31 may have attributes 32 of type, manufacturer, system and device type which are, for example, a device, Company Two, HVAC and a thermostat, respectively.
An object 33 may have a relation 34 with a direction to object 31. Object 33 and relation 34 may be, for instance, temperature and a device, respectively. Attributes 35 of object 33 may incorporate type, data type and data value, that are, for example, point, numeric and temperature, respectively.
An object 36 may have a relation 37 with a direction to object 31. Object 36 and relation 37 may be, for example, setpoint and device, respectively. Attributes 37 of object 36 may incorporate type, data type and data value that are, for instance, point, numeric and temperature, respectively.
Object 31 may have a relation 39 in a direction to an object 41. Relation 39 and object 41 may be a floor and a second floor, respectively. Object 41 may have attributes 42 incorporating type and floor number which are, for instance, floor and two, respectively.
An object 43 may have a relation 44 in a direction to object 13. Object 43 and relation 44 may, for example, be a demand and a device, respectively. Attributes 45 may incorporate type, data type and data value that, for instance, are point, numeric and power, respectively.
An object 51 may have an incoming relation 52 from an object 53. Object 51, relation 52 and object 53 are, for example, a network two, a network and a water meter, respectively. Object 51 may have attributes 54 that incorporate type and protocol. Type and protocol may be a network and a 2nd protocol, such as for example, Modbus™, respectively. Object 53 may have attributes 55 that incorporate type, manufacturer, system, and device type, which may be for instance, a device, Company Two, plumbing and device type, respectively.
An object 56 may have a relation 57 that goes in a direction out to object 53. Object 56 and relation 57 may be consumption and a device, respectively. Object 56 may have attributes 58 that incorporate type, data type and data value. Point, numeric and a volume may be instances of type, data type and data value.
A relation 59 may go from object 53 to an object 61. Relation 59 and object 61 may be, for example, a building and a Westerre I, respectively. Object 61 may have a relation 62 in a direction from object 13 to object 61. Relation 62 may be, for example, a building relation. A relation 63 may proceed from object 61 to object 19. A relation 64 may proceed from object 61 to object 41. Each of relations 63 and 64 may be, for instance, a floor relation. Object 61 may have attributes 65 that may incorporate type, state a city. Building, Va. and Richmond may be instances of type, state and city, respectively.
To recap, a mechanism for developing one or more hierarchies may incorporate a collection of objects, a hierarchy definition having n levels of definition and s criteria, and a hierarchy of the objects developed on a basis of the hierarchy definition applied to the collection of objects. An object may be a physical entity. A first level definition may classify objects by an s-a criterion. An n-m level definition may classify objects by an s-b criterion. An n level definition classifies objects by an s-c criterion. A criterion may be based on one or more terms selected from a group incorporating attributes and relations. The letters n, m, s, a, b, and c may be numbers, and m<=n, a<s, b<=s and c<=s.
The hierarchy of the objects may be developed on a processor that applies the hierarchy definition to the collection of objects.
The hierarchy definition may be developed from criteria of the collection of objects for subject matter selected from a group incorporating technologies, activities and structures relating to the objects.
The hierarchy definition may be applied to a system incorporating the collection of objects to develop a system hierarchy.
The hierarchy definition may be applied to a plurality of systems of a selected technology, activity or structure. A hierarchy of the plurality of systems may be developed from an application of the hierarchy definition to the plurality of systems of a selected technology, activity or structure.
The structure may incorporate buildings. The criteria for buildings may incorporate grouping by geographic location as a first level definition, querying for a type of building as a second level definition, following a floor relation outbound as a third level definition, and following a floor relation inbound as a fourth level definition. A user may search a resulting hierarchy of buildings to drill down, scope in, discover or study an issue in buildings at a particular geographic location.
A hierarchy definition may be developed from a group incorporating general information, maintenance, evaluations, appraisals, and billings of the collection of objects.
A user may navigate a hierarchy in a displayed navigation sidebar of a workbench on a computer.
An approach for obtaining searchable hierarchies may incorporate selecting a collection of objects in a system, defining a hierarchy definition for the collection of objects according to a structure having one or more levels of definition, and applying the hierarchy definition to the collection of objects to obtain a system hierarchy. One or more definitions of each of the one or more levels of definitions may be based on attributes or relations of the objects. Each definition may determine members for an instantiation of an actual system hierarchy. An object may be a physical entity.
The selecting or defining may be performed by a processor.
Each definition of the one or more definitions may have a description that is different from other definitions of the same level.
A level of definition of the hierarchy definition may be rules definable by a user. The rules may be grouped by a criterion. The criterion selected may depend on an application of the rules.
Multiple hierarchy definitions may be determined. The hierarchy definitions may be updated automatically as the system is modified and the collection of objects has objects added, removed or modified.
The hierarchy definition may incorporate one or more levels of definition. The one or more levels of definition may specify one or more relations to follow and/or group objects by a value of an attribute, and select objects having a certain attribute or relation to follow.
The one or more definitions of each of the one or more levels may be further or instead be based on one or more items selected from a group incorporating lists, queries based on semantic tags, queries based on relationships, groupings based on semantic tags, and traversal of relationships.
An attribute may be anything that can be a basis of classification. A relation may be anything that pertains to ownership, parent-child relationship, building to floor relationship, or an object to object relationship.
A system of searchable hierarchies may incorporate a collection of objects, a hierarchy definition, and a hierarchy. The object may be a physical entity. The hierarchy definition may incorporate multiple levels of definitions. Multiple levels of definition may define a mechanism for determining members in an instantiation of a system hierarchy. Each level of definition may incorporate one or more definitions where each definition may have a description that is different from the descriptions of the other definitions of the same level.
The hierarchies may be in multiples for a system.
A user may search one or more hierarchies of interest or by permission.
The hierarchies may be defined and updated automatically as a system is modified and objects are added, removed and modified.
Each object of the collection of objects may have zero, one, or more attributes (tags). Each relation between objects may incorporate a name, direction, and zero, one, or more attributes. Each attribute may incorporate a name and a value.
One or more descriptions of one level may be based on one or more items selected from a group incorporating attributes, lists, queries based on semantic tags, queries based on relationships, groupings based on semantic tags, and traversal of relationships.
Any publication or patent document noted herein is hereby incorporated by reference to the same extent as if each individual publication or patent document was specifically and individually indicated to be incorporated by reference.
In the present specification, some of the matter may be of a hypothetical or prophetic nature although stated in another manner or tense.
Although the present system and/or approach has been described with respect to at least one illustrative example, many variations and modifications will become apparent to those skilled in the art upon reading the specification. It is therefore the intention that the appended claims be interpreted as broadly as possible in view of the related art to include all such variations and modifications.