Typical disclaimer: I *really* need to stress that everything below is based on my own research and findings - the information below does not indicate official documentation or support, however some of this may be accurate.

This example can be considered an extension of an earlier blog that I wrote about labels, with this one being more focused on the herarchical organization of the labels themselves:

Questions and/or suggestions are welcome, and as usual - hope that helps!  ^_^

John
_____________________________

Developing Labels for Hierarchical Organization

The benefit of using Smart labels is that they will automatically be applied (and removed) from devices as the devices meet (or no longer meet) the specified matching criteria.

All K1000 labels support hierarchies, but planning is both necessary and recommended.  The nice part is that once the hierarchy is defined (through Smart label criteria and label groups), only the lowest-level of the hierarchy needs to be specific – the rest of the hierarchy simply leverages the names of the labels lower in the hierarchical structure.

To clarify, here is an example using locations from very specific (classrooms) to very broad (region).  When configured correctly, devices and their associated labels can be easily viewed at any level of the hierarchy.  And keeping track of hundreds and thousands of labels is entirely possible and relatively easy to do.

Example Scenario

A customer wants to create labels for tracking devices at all locations, from regional down to individual classrooms.  Labels listed on the Labels page should be easy to read and logically grouped.  It should also be possible to easily view all devices associated with labels at any level of the hierarchy.

Note:
The example provided here only includes a minimal sample for each level of the hierarchy for illustrative purposes.  Any actual implementation will typically contain many more objects at the different levels.

Configuration Steps

1)      Develop a naming scheme that assists with identification and organization.  This step is absolutely critical for the label hierarchy to function properly and will help considerably with label and label group creation.

Suggested implementation

  • First, develop a list of the location hierarchies, from most general to most specific. 

For example:

    • Region
    • Country
    • State
    • City
    • Site
    • Building
    • Classroom
  • Second, create a list of the exact locations that correspond to these groups.

For example:

    • Region
      • EMEA
      • North America
    • Country
      • Belgium
      • Germany
    • State
      • Bavaria
      • Saxony
    • City
      • Ingolstadt
      • Munich
    • Site
      • Munich University of Applied Sciences
      • Technische Universitaet Muenchen
    • Building
      • A
      • T
    • Classroom
      • Room 101
      • Room 102

2)     Develop label groups which correspond to the different location hierarchies.

Note:
K1000 label groups can only be nested to a single level.

For example, this approach (which we will use below in our example) works fine:

Top-Level Label GroupBottom-Level Label GroupLabel
LocationLocation-RegionLocation-Region-EMEA
Location
Location-CountryLocation-Country-Germany
Location
Location-StateLocation-State-Bavaria
Location
Location-CityLocation-City-Munich
However, this type of approach will not work:

Label GroupLabel GroupLabel GroupLabel GroupLabel GroupLabel
LocationRegionCountryStateCityMunich
Attempting to nest label groups in more than one level will prevent the label groups from being displayed and functioning properly in the View By menu on the Devices page.

In the example below, the different location levels are associated with a top-level Location label group.  Although it does require some administrative effort to plan and design, the results will be easy to work with.
Label Groups
  • Location
    • Location-Region
    • Location-Country
    • Location-State
    • Location-City
    • Location-Site
    • Location-Building
    • Location-Classroom
Once the label groups have been determined:

  • Use the New Label Group option in the Choose Action menu of the Labels page to create them.
  • Next, use the Apply Label Groups option in the Choose Action menu of the Labels page to associate the bottom-level label groups with the top-level Location label group.

In the Field:
Prefixing the bottom-level label groups with the top-level label group's name will help considerably with the organization of the Labels page, as we will see later.

3)      Develop Smart labels that target these locations by using corresponding criteria.

Note:
When developing Smart labels, start at the lowest level of the hierarchy (the classroom level, in this example) and then move up in the hierarchy by using the lower-level labels for the next level label's criteria (Label Names = ____).  Prefixing label names is also recommended.
  • Location-Classroom-T-Room 101
            Example Smart label criteria based upon IP addresses:
                IP Address > 192.168.77.0  *AND*
                IP Address < 192.168.77.51

  • Location-Classroom-T-Room 201
            Example Smart label criteria based up IP addresses:
                IP Address > 192.168.77.50  *AND*
                IP Address < 192.168.77.101

Note:
Including a building identifier (“T” in this example) along with the room number will help differentiate identically-named classrooms.
In the Field:
Aside from the previous planning and hierarchy development steps, determining what to use for the Smart label criteria for the lowest level of the hierarchy is the most critical aspect of this entire configuration.

Some suggested approaches include:

  • If computers are logically separated by VLANs (or similar), grouping by IP address will work fine (as in this example).  
  • If the computers’ names designate location (for example, ClassA-Comp12), use the unique part of the location aspect of the name as the criteria (for example: System Name begins with ClassA).
  • If Active Directory attributes specify the location of computers, use LDAP labels (instead of Smart labels) to target the specific LDAP attribute.
In the event that there is nothing about the computer (IP address, naming convention, LDAP attribute) that can be leveraged, computers will either need to be manually assigned to the lowest hierarchy label (which in this specific situation, would need to be a manual label).  

To ease the administrative burden in the future (and to avoid resorting to manual labels), a breadcrumb can be placed on computers (in the form of a file or registry entry) via K1000 scripts that could be leveraged by a K1000 custom inventory rule (which could then be used as the Smart label criteria).  The target computers in the K1000 scripts would still need to be specified manually, but label application could still be automated as outlined here.
  • Location-Building-T
            Example Smart label criteria based upon Classroom labels:
                Label Names = Location-Classroom-T-Room 101  *OR*
                Label Names = Location-Classroom-T-Room 201

  • Location-Site-Munich University of Applied Sciences
            Example Smart label criteria based upon Building labels:
                Label Names = Location-Building-A  *OR*
                Label Names = Location-Building-T

  • Location-City-Munich
            Example Smart label criteria based upon Site labels:
                Label Names = Location-Site-Munich University of Applied Sciences  *OR*
                Label Names = Location-Site-Technische Universitaet Muenchen

  • Location-State-Bavaria
            Example Smart label criteria based upon City labels:
                Label Names = Location-City-Ingolstadt  *OR*
                Label Names = Location-City-Munich

  • Location-Country-Germany
            Example Smart label criteria based upon State labels:
                Label Names = Location-State-Bavaria  *OR*
                Label Names = Location-State-Saxony

  • Location-Region-EMEA
            Example Smart label criteria based upon Country labels:
                Label Names = Location-Country-Belgium  *OR*
                Label Names = Location-Country-Germany


4)      Associate the Smart labels created in step 3 with the label groups created in step 2.

      First, associate the labels with the bottom-level label groups:

  • Location-Classroom
    • Location-Classroom-T-Room 101
    • Location-Classroom-T-Room 201
  • Location-Building
    • Location-Building-A
    • Location-Building-T
  • Location-Site
    • Location-Site-Munich University of Applied Sciences
    • Location-Site-Technische Universitaet Muenchen
  • Location-City
    • Location-City-Ingolstadt
    • Location-City-Munich
  • Location-State
    • Location-State-Bavaria
    • Location-State-Saxony
  • Location-Country
    • Location-Country-Belgium
    • Location-Country-Germany
  • Location-Region
    • Location-Region-EMEA
    • Location-Region-North America

      Second, associate the bottom-level label groups with the top-level label group:

  • Location
    • Location-Building
    • Location-City
    • Location-Classroom
    • Location-Country
    • Location-Region
    • Location-Site
    • Location-State

5)      As devices perform inventory, they will be associated with the appropriate bottom-level Smart label (Location-Classroom-____) and will then "roll up" into the higher-level Smart labels.

For example, a device with an IP address of 192.168.77.66 will automatically have the following Smart labels applied:

  • Location-Classroom-T-Room 201
  • Location-Building-T
  • Location-Site-Munich University of Applied Sciences
  • Location-City-Munich
  • Location-State-Bavaria
  • Location-Country-Germany
  • Location-Region-EMEA

With this type of naming convention and label grouping structure in place, the organization of the Labels page is intuitive.  Associated label groups are indicated in brackets following the label (or label group) name.  For example, the Location-City-Munich label belongs to the bottom-level Location-City label group, while the Location-City label group belongs to the top-level Location label group.

1iwLgi.png
Viewing Associated Labels and Devices

Going the Label Group Detail page for a label group and expanding its Labeled Items section allows you to quickly view all member labels.

CCovxG.png

Similarly, opening the Label Detail page for a label will list all of the devices associated with that label.

09ct7t.png
For viewing devices that belong to labels on the Devices page, use the View By menu and focus on the desired label.

gOjjq2.png
...
HAaCC5.png
Devices can be viewed for all levels of the hierarchy, due to the Smart label criteria used for higher-level labels.

dUlM9d.png

Conclusion

Although setting up a hierarchal labeling scheme does require planning and time to initially configure, once these steps have been completed device organization is completely automated.

In summary, it is worth investing the time up front as these labels can then be used to drive the automation of tasks (software/script/patch deployment and so on) throughout the rest of the K1000, and reporting on discrete groups of devices (using the K1000’s Reporting module) becomes extremely easy as you only need to filter on the desired label name.