Context-aware tree manager

CN123023071APending Publication Date: 2026-10-30SCHNEIDER ELECTRIC IT CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202580023787.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-04-03
Filing Date
2025-04-03
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

[0003]计算设备和其他计算资源的大规模部署可能难以管理和可视化

Benefits of technology

[0017]在所述方法的一个实施例中,第一图标和第二图标共享指示能够使一个或多个对象在其中被放置的共同状态的共同视觉特征,第一特征是第一类型的对象,第二特征是不同于第一类型的对象的第二类型的对象,任何对象的第一属性包括在对象内放置一个或多个第三类型的对象,第三类型的对象不同于第一类型的对象,并且任何对象的第二属性包括在对象内放置一个或多个第四类型的对象,第四类型的对象不同于第一类型、第二类型和第三类型的对象。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123023071A_ABST
    Figure CN123023071A_ABST
Patent Text Reader

Abstract

A method is provided comprising: (1) displaying a plurality of tree elements (TEs) representing objects within a hierarchical tree structure, the TEs including a first TE representing a first object having a first characteristic and a second TE representing a second object having a second characteristic and not having the first characteristic; (2) displaying a first icon associated with the first TE; (3) displaying a second icon associated with the second TE and separate from the first icon; (4) receiving a user selection of the first icon; (5) in response thereto, launching a first editor configured to modify a first property of the first object associated with the first characteristic; (6) receiving a user selection of the second icon; and (7) in response thereto, launching a second editor configured to modify a second property of the second object associated with the second characteristic, the second editor not being configured to modify the first property.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application claims priority to U.S. Provisional Patent Application No. 63 / 573,866, filed April 3, 2024, entitled “Context-Aware Tree Manager,” the entire contents of which are incorporated herein by reference for all purposes. Background Technology

[0003] Large-scale deployments of computing devices and other computing resources can be difficult to manage and visualize. A tree manager is a software application that provides an interface for processing hierarchical data, where elements are organized according to parent-child relationships to form a hierarchical tree-like structure. A tree manager can be used to visualize and manage large-scale deployments of computing devices and other computing resources in a tree structure, and also allows users to add, delete, or modify records or attributes of one or more elements within the deployment. Summary of the Invention

[0004] According to at least one aspect of this disclosure, in one embodiment, a computer program product is disclosed. The computer program product includes a non-transitory computer-readable storage medium storing instructions that, when executed by processing circuitry of a computing device, cause the computing device to: (a) display a plurality of tree elements representing objects within a hierarchical tree structure, the plurality of tree elements including a first tree element representing a first object having a first feature and a second tree element representing a second object having a second feature but not the first feature; (b) display a first icon associated with the first tree element; (c) display a second icon associated with the second tree element, the second icon being separate from the first icon; (d) receive a user selection of the first icon; (e) in response to receiving a user selection of the first icon, launch a first editor configured to modify a first attribute of the first object, the first attribute being associated with the first feature; (f) receive a user selection of the second icon; and (g) in response to receiving a user selection of the second icon, launch a second editor configured to modify a second attribute of the second object, the second attribute being associated with the second feature, the second editor not being configured to modify the first attribute.

[0005] In one embodiment of the computer program product, any object having a first characteristic enables one or more other objects to be placed therein, a first icon indicating the first characteristic, any object having a second characteristic prevents one or more objects from being placed therein, the second icon being visually different from the first icon and indicating the second characteristic, a first attribute of any object including the ability to place one or more other objects within the object, and a second attribute of any object including definition information relating to the object, the definition information being a prerequisite for receiving the placement of any other object therein.

[0006] In one embodiment of the computer program product, the instructions, when executed by the processing circuitry, further cause the computing device to: (h) display a third icon associated with a third tree element among a plurality of tree elements, the third tree element representing a third object and being different from the first tree element, the third icon being visually identical to the first icon and indicating that the third object has a first feature; (i) receive a user selection of the third icon; and (j) in response to receiving the user selection of the third icon, launch a first editor configured to modify a first attribute of the third object.

[0007] In another embodiment of the computer program product, the instructions, when executed by the processing circuitry, further cause the computing device to: (h) display a third icon associated with a third tree element among a plurality of tree elements, the third tree element representing a third object, the third icon being unselectable, visually distinct from the first and second icons, and indicating that the third object has a third feature, wherein the third feature is different from the first and second features; (i) detect a pointer hover event on the third icon; and (j) in response to detecting the pointer hover event, display information indicating that at least one reason the third icon is unselectable is that the third object has a third feature.

[0008] In one embodiment of the computer program product, the instructions, when executed by the processing circuitry, further cause the computing device to: (h) detect a pointer hover event on one of the first or second icons; and (i) in response to detecting the pointer hover event, display information relating to the corresponding editor that will be launched by selecting one of the first or second icons.

[0009] In another embodiment of the computer program product, the instructions, when executed by the processing circuitry, further cause the computing device to: (h) receive updated definition information relating to the second object via a second editor; (i) in response to receiving the updated definition information, replace the second icon with a third icon that is visually identical to the first icon and indicates that the second object now has a first feature; (j) receive a user selection of the third icon; and (k) in response to receiving a user selection of the third icon, activate a first editor configured to modify a first attribute of the third object.

[0010] In one embodiment of the computer program product, the first icon and the second icon share a common visual feature indicating a common state in which one or more objects are placed, wherein the first feature is an object of a first type, the second feature is an object of a second type different from the first type, a first attribute of any object includes placing one or more objects of a third type within the object, the third type being different from the first type, and a second attribute of any object includes placing one or more objects of a fourth type within the object, the fourth type being different from the first, second, and third type objects. In one embodiment of the computer program product, the first icon is visually identical to the second icon. In another embodiment of the computer program product, the common visual feature is a common color. In another embodiment of the computer program product, the instructions, when executed by the processing circuitry, further cause the computing device to: (h) detect a pointer hover event on one of the first or second icons; and (i) in response to detecting the pointer hover event, display information relating to the corresponding editor to be launched by selecting one of the first or second icons.

[0011] In one embodiment of the computer program product, the instructions, when executed by the processing circuitry, further cause the computing device to: (h) detect a pointer position near a first tree element, wherein displaying a first icon is performed in response to detecting a pointer position near a first tree element; (i) after detecting a pointer position near a first tree element, detect a pointer position outside the vicinity of the first tree element; and (j) in response to detecting a pointer position outside the vicinity of the first tree element, stop displaying the first icon. In another embodiment of the computer program product, the instructions, when executed by the processing circuitry, further cause the computing device to: (k) detect a pointer position near a second tree element, wherein displaying a second icon is performed in response to detecting a pointer position near a second tree element; (l) after detecting a pointer position near a second tree element, detect a pointer position outside the vicinity of the second tree element; and (m) in response to detecting a pointer position outside the vicinity of the second tree element, stop displaying the second icon.

[0012] According to at least another aspect of this disclosure, in one embodiment, a computer system is disclosed. The computer system includes a display screen; an input device configured to receive input from a user; and processing circuitry coupled to a memory and configured to: (a) display a plurality of tree elements representing objects within a hierarchical tree structure, the plurality of tree elements including a first tree element representing a first object having a first feature and a second tree element representing a second object having a second feature but not having the first feature; (b) display a first icon associated with the first tree element; (c) display a second icon associated with the second tree element, the second icon being separate from the first icon; (d) receive a user selection of the first icon; (e) in response to receiving a user selection of the first icon, launch a first editor configured to modify a first attribute of the first object, the first attribute being associated with the first feature; (f) receive a user selection of the second icon; and (g) in response to receiving a user selection of the second icon, launch a second editor configured to modify a second attribute of the second object, the second attribute being associated with the second feature, the second editor not being configured to modify the first attribute.

[0013] In one embodiment of the computer system, any object having a first characteristic allows one or more other objects to be placed therein, a first icon indicating the first characteristic; any object having a second characteristic does not allow one or more objects to be placed therein, the second icon being visually different from the first icon and indicating the second characteristic; a first attribute of any object includes the ability to place one or more other objects within the object; and a second attribute of any object includes definition information relating to the object, the definition information being a prerequisite for receiving the placement of any other object therein. In one embodiment of the computer system, the processing circuitry is further configured to: (h) receive updated definition information relating to the second object via a second editor; (i) in response to receiving the updated definition information, replace the second icon with a third icon that is visually identical to the first icon and indicates that the second object now has the first characteristic; (j) receive a user selection of the third icon; and (k) in response to receiving a user selection of the third icon, activate a first editor configured to modify the first attribute of the third object.

[0014] In another embodiment of the computer system, the first icon and the second icon share a common visual feature indicating a common state in which one or more objects are placed, the first feature being an object of a first type, the second feature being an object of a second type that is different from the first type of object, the first attribute of any object including placing one or more objects of a third type within the object, the third type of object being different from the first type of object, and the second attribute of any object including placing one or more objects of a fourth type within the object, the fourth type of object being different from the first, second, and third type of objects.

[0015] According to at least another aspect of this disclosure, a method performed by a computing device is disclosed. The method includes: (a) displaying a plurality of tree elements representing objects within a hierarchical tree structure, the plurality of tree elements including a first tree element representing a first object having a first feature and a second tree element representing a second object having a second feature but not the first feature; (b) displaying a first icon associated with the first tree element; (c) displaying a second icon associated with the second tree element, the second icon being separate from the first icon; (d) receiving a user selection of the first icon; (e) in response to receiving a user selection of the first icon, launching a first editor configured to modify a first attribute of the first object, the first attribute being associated with the first feature; (f) receiving a user selection of the second icon; and (g) in response to receiving a user selection of the second icon, launching a second editor configured to modify a second attribute of the second object, the second attribute being associated with the second feature, the second editor not being configured to modify the first attribute.

[0016] In one embodiment of the method, any object having a first characteristic allows one or more other objects to be placed therein, a first icon indicating the first characteristic; any object having a second characteristic does not allow one or more objects to be placed therein, the second icon being visually different from the first icon and indicating the second characteristic; a first attribute of any object includes the ability to place one or more other objects within the object; and a second attribute of any object includes definition information relating to the object, the definition information being a prerequisite for receiving the placement of any other object therein. In one embodiment, the method further includes: (h) receiving updated definition information relating to a second object via a second editor; (i) in response to receiving the updated definition information, replacing the second icon with a third icon that is visually identical to the first icon and indicates that the second object now has the first characteristic; (j) receiving a user selection of the third icon; and (k) in response to receiving a user selection of the third icon, activating a first editor configured to modify the first attribute of the third object.

[0017] In one embodiment of the method, the first icon and the second icon share a common visual feature indicating a common state in which one or more objects are placed, the first feature being an object of a first type, the second feature being an object of a second type that is different from the first type of object, the first attribute of any object including placing one or more objects of a third type within the object, the third type of object being different from the first type of object, and the second attribute of any object including placing one or more objects of a fourth type within the object, the fourth type of object being different from the first, second, and third type of objects. Attached Figure Description

[0018] At least one embodiment will now be discussed with reference to the accompanying drawings, which may not be drawn to scale. These drawings are included to provide illustration of the aspects and embodiments and to further understand them, and are incorporated in and form part of this specification, but are not intended to limit any particular embodiment. The drawings, together with the remainder of this specification, serve to explain the principles and operation of the described and claimed aspects and embodiments. In the drawings, each identical or substantially similar component shown in the various figures may be denoted by the same reference numerals. For clarity, not every component may be labeled in every figure. In the drawings:

[0019] Figure 1 Example computer systems, apparatuses, computer program products, and associated data structures are shown for use in conjunction with various embodiments;

[0020] Figure 2 Example methods according to various embodiments are shown;

[0021] Figure 3 Another example method according to various embodiments is shown;

[0022] Figure 4 Another example method according to various embodiments is shown;

[0023] Figure 5 Another example method according to various embodiments is shown;

[0024] Figure 6 Another example method according to various embodiments is shown;

[0025] Figure 7 Another example method according to various embodiments is shown;

[0026] Figure 8 Example methods according to various embodiments are shown, along with associated screenshots;

[0027] Figure 9 Example methods according to various embodiments are shown, along with associated screenshots;

[0028] Figure 10 Example methods according to various embodiments are shown, along with associated screenshots;

[0029] Figure 11 Example methods according to various embodiments are shown, along with associated screenshots;

[0030] Figure 12 Example methods according to various embodiments are shown, along with associated screenshots;

[0031] Figure 13Example methods according to various embodiments are shown, along with associated screenshots;

[0032] Figure 14A , Figure 14B Screenshots illustrating example methods according to various embodiments; and

[0033] Figure 15A , Figure 15B Screenshots illustrating example methods according to various embodiments. Detailed Implementation

[0034] The examples of methods and systems discussed herein are not limited in application to the construction details and component arrangements set forth in the following description or shown in the accompanying drawings. Methods and systems can be implemented in other embodiments and can be practiced or performed in various ways. The examples of specific implementations provided herein are for illustrative purposes and are not intended to be limiting. Actions, components, elements, and features discussed in conjunction with any one or more examples can be configured to operate and / or be implemented in a similar manner in any other example.

[0035] The wording and terminology used herein are for descriptive purposes. References to examples, embodiments, components, elements, or actions of the systems and methods herein, when made in the singular, may also cover embodiments that include multiple examples, embodiments, components, elements, or actions. Similarly, references to embodiments, components, elements, or actions, when made in the plural, may be made in the singular. Therefore, references in either the singular or plural form are not intended to limit the currently disclosed systems or methods, their components, actions, or elements. The use of “including,” “comprising,” “having,” “containing,” “involving,” and variations thereof, etc., herein may cover the items listed thereafter and their equivalents, as well as additional items.

[0036] References to "or" can be interpreted inclusively, such that any term described using "or" can refer to any one, more than one, or all of the terms described. For example, the phrase "at least one of A or B" can refer to A and / or B, that is, only A, only B, or A and B together. Furthermore, in the event of any inconsistency in terminology between this document and a document incorporated herein by reference, the terminology used in the incorporated document shall be supplementary to this document. In the case of irreconcilable differences, the terminology used in this document shall prevail.

[0037] The standard tree manager does not provide pre-emptive key state information about tree elements necessary for management. This deficiency can confuse users, as they cannot immediately discern what operations need to be performed on these tree elements or what operations are possible. For example, when a user of the standard tree manager attempts to manipulate a lower-level object associated with a corresponding higher-level object, the standard tree manager does not provide any indicators to immediately inform the user, based on the context including the state of both the lower-level and higher-level objects, whether the lower-level object is suitable for the operation.

[0038] Therefore, it is desirable to enhance the tree manager with context awareness. This can be achieved by allowing the tree manager to display context-appropriate icons that indicate the permitted operations for individual tree elements. Further context awareness can be provided by allowing icons to directly launch context-aware applications when selected and / or by providing tooltips on other pointer events that explain which applications will be launched upon selection, or what actions the user needs to perform before displaying the executable icons.

[0039] In a typical tree manager, a user might attempt to place a first tree element representing a server below a second tree element representing a rack. However, the user might not know whether the server has the appropriate characteristics (e.g., physical size) to fit into the rack, or whether the rack has the appropriate characteristics (e.g., location of accessibility). For example, the server might be too large to fit into a rack, or the rack might not yet be located in accessible floor space. Therefore, unless the tree manager informs the user of the server and rack status before the user takes such an action, this impractical placement of the first tree element cannot be avoided.

[0040] Therefore, we aim to implement a context-aware tree manager (CATM) that displays widgets or icons indicating the state of corresponding objects along with tree elements representing those objects. We also want these widgets or icons to be able to receive user input and perform different functions based on the state of the corresponding object when user input is received.

[0041] Figure 1 An example computer system 100 is illustrated for use in conjunction with various embodiments. System 100 includes at least one computing device 110, which can be any type of computing device, such as a personal computer, laptop computer, workstation, server, enterprise server, tablet computer, smartphone, router, etc. In an embodiment, computing device 110 is a personal computer or laptop computer.

[0042] The computing device 110 includes processing circuitry 120, user interface (UI) circuitry 130, and memory 140. The computing device 110 may also include various additional features (not shown) known in the art, such as, for example, network interface circuitry, interconnect cabling, and buses. The network interface circuitry can be configured to connect the computing device 110 to an external network (e.g., the Internet) with or without connecting cables to access a cloud server.

[0043] The processing circuitry 120 may include any type of processor or processor set configured to perform operations, such as, for example, a microprocessor, a multi-core microprocessor, a digital signal processor, a field-programmable gate array (FPGA), a system-on-a-chip (SoC), an electronic circuit set, a similar type of controller, or any combination of the foregoing.

[0044] UI circuitry 130 may include any circuitry required to communicate with and connect to one or more user input devices 192 and display screen 180. UI circuitry 130 may include, for example, a keyboard controller, mouse controller, touch controller, serial bus port and controller, universal serial bus (USB) port and controller, wireless controller and antenna (e.g., Bluetooth), graphics adapter and port, etc.

[0045] Display screen 180 can be any type of display, including, for example, a CRT, LCD screen, LED screen, OLED screen, etc. Input device 192 may include a keyboard, keypad, mouse, touchpad, trackball, pointing stick, joystick, touchscreen (e.g., embedded within display screen 39), microphone / voice controller, etc. In some embodiments, input device 192 and / or display screen 180 may be embedded within computing device 110 (e.g., a cellular phone or tablet computer with an embedded touchscreen), rather than located outside computing device 110.

[0046] Memory 140 may include any type of digital system memory, such as random access memory (RAM). Memory 140 may store an operating system (OS, not shown, such as Linux, UNIX, Windows, MacOS, or a similar operating system) as well as various drivers and other applications and software modules, including CATM142 configured to execute on processing circuitry 120, and various data.

[0047] CATM 142 includes at least two types of icons 150 (shown as icons 150A, 150B, ...), a ground editor 160, a rack editor 162, a rack definition editor 164, a data center definition editor 166, and a hierarchical tree structure 175. The hierarchical tree structure 175 includes at least two tree elements 176 (shown as tree elements 176A, 176B, ...), each tree element representing a low-level object such as a data center, server rack, server, etc. CATM 142 also stores a graphical user interface (GUI) 170, which is configured to be displayed on a display screen 180 and interact with by a user 194 via an input device 192.

[0048] In operation, user 194 operates input device 192 to manipulate CATM 142 to manage tree structure 175. In some embodiments, CATM 142 instructs display screen 180 to display a context-aware tree window 190, which displays a tree with graphical and / or textual representations of multiple tree elements 176. Icons 150 are displayed in association with (e.g., adjacently) one or more tree elements 176, which user 194 can observe and interact with to obtain contextual information. When the context of a tree element 176 allows for an operation to be performed on the tree element 176, the associated icon 150 may be selectable to launch an editor (e.g., ground editor 160, rack editor 162, rack definition editor 164, data center definition editor 166, etc.) for performing the operation. It should be understood that although only four types of editors 160, 162, 164, and 166 are shown and described, other types of editors may be used in lieu of or in addition to these editors.

[0049] Memory 140 may also store various other data structures used by the OS, CATM 142, editors 160, 162, 164, 166, GUI 170, and / or various other applications and drivers. In some embodiments, memory 140 may also include a persistent storage portion. The persistent storage portion of memory 140 may consist of one or more persistent storage devices, such as, for example, a hard disk, flash drive, solid-state drive, or other types of storage drive. The persistent storage portion of memory 140 may be configured to store programs and data even when computing device 110 is powered off. The OS, CATM 142, editors 160, 162, 164, 166, GUI 170, and / or various other applications and drivers are typically stored in this persistent storage portion of memory 140 so that they can be loaded into the system portion of memory 140 upon system restart or as needed. The OS, CATM 142, editors 160, 162, 164, 166, GUI 170, and / or various other applications and drivers, when stored in a non-transitory form in the volatile or persistent portion of memory 140, each form a computer program product. Therefore, the processing circuitry 120 running one or more applications forms dedicated circuitry constructed and arranged to perform the various processes described herein.

[0050] Figure 2 An example method 200 executed by computing device 110 is shown for managing a tree 175 having tree elements 176 representing underlying objects. It should be understood that whenever software (e.g., OS, CATM 142, editors 160, 162, 164, 166, GUI 170, etc.) is described as performing a method, procedure, step, or function, it means that the computing device running the software (e.g., computing device 110, etc.) performs the method, procedure, step, or function when executing the software on its processing circuitry 120. It should be understood that in some embodiments, one or more steps or substeps of method 200 (especially those indicated by dashed lines) may be omitted. Similarly, in some embodiments, one or more steps or substeps may be combined, or one or more steps or substeps may be performed in a different order.

[0051] It should be understood that the first embodiment of method 200 includes sub-steps / conditions 212, 252 and 272, and the second embodiment of method 200 includes sub-steps / conditions 214, 254 and 274. Figure 8 , Figure 9 and Figure 10 The first embodiment is further illustrated. Figure 11 , Figure 12 and Figure 13 A second embodiment is further illustrated.

[0052] refer to Figure 2 , Figure 8 and Figure 11 Step 210 of method 200 includes displaying multiple tree elements 176 representing underlying objects within hierarchical tree structures 175, 801, and 1101. In a first embodiment (indicated by sub-step 212), two of the multiple tree elements 176 represent objects of the same type (e.g., racks). Specifically, in example arrangement 800, tree element 802 represents a rack "RackInRow" that is capable (or adapted) to receive internal placement of other objects, while tree element 804 represents a rack "R2_SUMX_621_40G_EEM" that is not capable (or adapted) to receive internal placement of other objects. In a second embodiment (indicated by sub-step 214), two of the multiple tree elements 176 represent objects of different types (e.g., racks and data centers). Specifically, in example arrangement 1100, tree element 802 represents a rack "RackInRow" that is capable (or adapted) to receive internal placement of other objects, while tree element 1107 represents a data center "FloorTest" that is capable (or adapted) to receive internal placement of other objects.

[0053] In step 220 (and panels 803, 1103), method 200 includes displaying an icon 806 associated with (e.g., adjacent to) tree element 802. In this example, icon 806 has a first (“blue”) color (shown by a diagonal shading line) indicating that rack “RackInRow” has a characteristic of being able to (or suitable for) receiving interior placement of other objects. The blue color of icon 806 also indicates that icon 806 is actionable or clickable. In step 230 (and panels 805, 1105), method 200 includes, depending on the embodiment, displaying another icon 808, 1109 associated with (e.g., adjacent to) tree elements 804, 1107, respectively. In a first embodiment, a second (“red”) color of icon 808 (shown by a vertical shading line) indicates that rack “R2_SUMX_621_40G_EEM” has a different characteristic of not being able to (or suitable for) receiving interior placement of other objects. The red color also indicates that icon 808 is actionable or clickable. In the second embodiment, the blue color of icon 1109 indicates that the data center "FloorTest" is capable of (or adapted to) receiving internal placement of other objects, and icon 1109 is executable or clickable.

[0054] refer to Figure 2 , Figure 9 and Figure 12In step 240 (and panel 901 of example arrangement 900 and panel 1201 of example arrangement 1200), method 200 includes receiving a user selection of icon 806 via a click event 909 of the user 194 using a pointer (e.g., cursor, mouse, finger, stylus, etc.) on icon 806. In the first or second embodiment, in step 250 (shown by panels 903, 1203), in response to receiving a user selection of icon 806, method 200 initiates an editor (e.g., rack editors 162, 904). Rack editor 904 is configured to allow user 194 to place server 908 into one of the slots inside rack 906, which is represented by a tree element "RackinRow" 802.

[0055] refer to Figure 2 , Figure 10 and Figure 13 In step 260 (and panel 1001 of example arrangement 1000 and panel 1301 of example arrangement 1300), method 200 includes receiving user selections of icons 808 and 1109 via user click events 1002 and 1303, respectively, on icons 808 and 1109, according to embodiments. See details. Figure 10 In the first embodiment, in step 270 (and panel 1003), in response to receiving a user selection of icon 808, method 200 activates rack definition editors 164 and 1004, which are configured to edit definition information for the corresponding object, namely rack "R2_SUMX_621_40G_EEM". Rack definition editors 162 and 1004 allow user 194 to verify or modify definition information items (e.g., part number 1010, manufacturer 1012, form factor 1014, width 1016, depth 1018, etc.), and submit some or all of these items by checking checkbox 1006 in rack definition editor 1004 and clicking the submit button 1019 to complete the definition information for rack "R2_SUMX_621_40G_EEM". See details. Figure 13 In the second embodiment, in response to receiving a user selection event 1303 corresponding to an icon 1109 representing the data center "FloorTest", the data center (or ground) editors 160 and 1304 are launched in step 270. The data center editor 1304 is configured to allow the user 194 to place racks 1306 and 1308 in the corresponding locations within the data center "FloorTest" represented by the tree element 1107.

[0056] It should be understood that in the first embodiment, at least one of the first tree element and the second tree element can alternatively represent a data center (e.g., the data center "FloorTest" represented by tree element 1107), and the corresponding icon and editor can be icon 1109 and editor 1304, respectively. Furthermore, in the second embodiment, the first tree element can alternatively represent a data center, and the second tree element can subsequently represent a rack.

[0057] Refer again Figure 2 After step 270 of method 200, there may be various additional steps following one of at least four alternative series (indicated by arrows A, B, C and D), which will be described in detail below as alternative embodiments.

[0058] Figure 3 and Figure 8 Another example method 300 for managing tree 175, performed by computing device 110, is shown. In addition to the steps included in method 200, method 300 may also include a series (A) of steps 310, 320, and 330. If step 220 includes displaying an icon 806 associated with tree element 802 representing rack “RackInRow”, and step 230 includes displaying an icon 808 associated with tree element 804 representing rack “R2_SUMX_621_40G_EEM” (i.e., the first embodiment), then step 310 may include, for example, displaying an icon 818 in panel 803 associated (e.g., adjacent) with tree element 816 representing a different rack (e.g., rack “Rack3”). Icon 818 is visually identical to icon 806, indicating that rack “Rack3” also has the characteristics of rack “RackInRow”, namely, being able to (or adapted to) receive internal placement of other objects. Method 300 may further include step 320, which involves receiving a user selection of icon 818 by detecting a pointer click event (not shown) on icon 818. Method 300 may further include step 330, which, in response to receiving a user selection of icon 818, initiates rack editor 162 (same as rack editor 904, but configured to edit rack "Rack3" instead of rack "RackInRow"), rack editor 162 being configured to allow user 194 to place a server into a slot in rack "Rack3".

[0059] Figure 4 and Figure 8Another example method 400 for managing tree 175, performed by computing device 110, is shown. In addition to the steps included in method 200, method 400 may also include a series (B) of steps 410, 420, and 430. In step 410, method 400 includes displaying an icon 810 associated with (e.g., adjacent to) the tree element 811 representing server “idrac-496F482”. In this example, icon 810 has a third (“yellow”) color (indicated by dotted shading), which indicates that icon 810 is completely unselectable or unclickable. Yellow also indicates that the represented server “idrac-496F482” has characteristics different from those indicated by blue icons 806, 818, 1109, or red icon 808. In step 420, method 400 includes detecting a pointer hover event 812 on icon 810 in panel 805 (e.g., cursor pauses for at least a certain period of time, e.g., 300 milliseconds). In response to the detection of pointer hover event 812, step 430 of method 400 may include displaying information 814 (e.g., a tooltip) to indicate that server “idrac-496F482” has features that can be placed but have not yet been placed in a rack.

[0060] Figure 5 , Figure 9 and Figure 10 Another example method 500 for managing tree 175, executed by computing device 110, is shown. In addition to the steps included in method 200, method 500 may also include a series (C) of steps 510 and 520. Figure 9 As shown, in step 510, method 500 includes detecting a pointer hover event 905 on an executable or clickable icon 806 in panel 901. Figure 10 Another use case of step 510 is illustrated, including, for example, detecting a pointer hover event 1020 on an equally executable or clickable icon 808 in panel 1003. In response to pointer hover event 905, step 520 of method 600 may include displaying information 907 (e.g., a tooltip) to indicate that selecting icon 806 will launch rack editors 162, 904. Alternatively, in response to pointer hover event 1020, step 520 of method 500 may instead include displaying information 1030 (e.g., a tooltip) to indicate that selecting icon 808 will launch rack definition editors 164, 1004. The displaying information in step 520 of method 500 may also include changing the color of icons 806, 808, such as by highlighting or darkening the color, to indicate that icons 806, 808 are selectable in response to receiving hover events 905, 1020.

[0061] Figure 6 and Figure 10Another example method 600 for managing tree 176, performed by computing device 110, is shown. In addition to the steps included in method 200, method 600 may also include a series (D) of steps 610, 620, 630, and 640. In step 610, method 600 includes receiving updated definition information (e.g., part number 1010, manufacturer 1012, form factor 1014, width 1016, depth 1018, etc.) about rack “R2_SUMX_621_40G_EEM” via rack definition editors 164, 1004. In step 620, method 600 includes replacing the previous red icon 808 with a new blue icon (not shown, but in some embodiments appears identical to icon 806), indicating that rack “R2_SUMX_621_40G_EEM” has now changed its characteristics to be able to (or adapted to) receive internal placement of other objects. In step 630, method 600 includes receiving a user selection of the new blue icon. In response to the user's selection of the new blue icon, step 640 of method 600 includes launching the corresponding rack editor 162 (e.g., editor 904), which is configured to place the server into the various slots of the rack "R2_SUMX_621_40G_EEM".

[0062] Figure 7 and Figures 14A to 15B It was shown as Figure 2 Another example of a variation of method 200 is method 700, which is executed by computing device 110 to manage tree 176. In one embodiment, in addition to the steps of method 200, method 700 further includes steps 710, 720, 730, 740, 750, and 760 to manage tree 176. Method 700 includes step 710 before step 220, which includes detecting the pointer position near a first tree element. For example, as Figure 14A As shown, step 710 includes detecting that the pointer position 1420 is within a box 1410 near a tree element 1450 representing a rack (“Generic RACK A”) within tree 1400. In some examples, the boundary of box 1410 may be invisible. In response to detecting the pointer position near the first tree element 1450, method 700 proceeds to step 220 to display a first icon 1430 associated with (e.g., adjacent to) the first tree element 1450. In step 720, method 700 includes detecting a pointer position outside the vicinity of the first tree element 1450 after detecting the pointer position near the first tree element 1450. For example, as Figure 14BAs shown, when user 194 moves the pointer outside of box 1410, a new pointer position 1440 is detected outside of box 1410. In response to detecting that pointer position 1440 is now outside of the vicinity of the first tree element 1450 (box 1410), in step 730, method 700 includes stopping the display of the first icon 1430 (e.g., Figure 14B (As shown).

[0063] In step 740, method 700 includes detecting the pointer position near a second tree element. (See reference) Figure 15A In response to detecting (in step 740) that pointer position 1520 is near (within box 1510) a second tree element 1550 of tree 1400, step 230 of method 700 includes displaying a second icon 1530 associated with the second tree element 1550 (“Generic Rack B”). In some examples, the boundary of box 1510 may be invisible. In step 750, as... Figure 15B As shown, method 700 includes detecting that pointer position 1520 is within the vicinity (box 1510) of the second tree element 1550, and then detecting pointer position 1540 outside the vicinity (box 1510) of the second tree element. In step 760, method 700 includes stopping the display of the second icon (e.g., ...) in response to detecting that pointer position 1540 is outside the vicinity (box 1510) of the second tree element 1550. Figure 15B (As shown). Then, method 700 proceeds to step 240, after which the remainder of method 200 is executed.

[0064] While various embodiments of the invention have been specifically shown and described, those skilled in the art will understand that various changes in form and detail may be made without departing from the spirit and scope of the invention as defined by the appended claims.

[0065] It should be understood that although the various embodiments have been described as methods, software implementing these methods is also included. Thus, one embodiment includes a tangible computer-readable medium (such as, for example, a hard disk, floppy disk, optical disk, computer memory, flash memory, etc.) programmed with instructions that, when executed by a computer or a collection of computers, cause one or more methods described in the various embodiments to be performed. Another embodiment includes a computer programmed to perform one or more methods described in the various embodiments.

[0066] Furthermore, it should be understood that, unless such combinations have been explicitly excluded, all the embodiments described can be combined with each other in all possible combinations.

[0067] Finally, nothing in this specification should be construed as an admission of any kind. Even if a technology, method, apparatus or other concept is explicitly marked as “background” or “conventional,” the applicant does not admit that such technology, method, apparatus or other concept is actually prior art; such determination is a legal determination that depends on many factors, all of which the applicant is not currently aware of.

[0068] The following are specific embodiments of interest:

[0069] 1. A computer program product comprising a non-transitory computer-readable storage medium storing instructions that, when executed by processing circuitry of a computing device, cause the computing device to:

[0070] Display multiple tree elements representing objects within a hierarchical tree structure, the multiple tree elements including a first tree element representing a first object having a first characteristic and a second tree element representing a second object having a second characteristic but not having the first characteristic;

[0071] Display the first icon associated with the first tree element;

[0072] Display a second icon associated with the second tree element, separate from the first icon;

[0073] Receive the user's selection of the first icon;

[0074] In response to receiving a user's selection of the first icon, launch the first editor configured to modify the first property of the first object, the first property being associated with the first feature;

[0075] Receive the user's selection of the second icon; and

[0076] In response to receiving a user's selection of a second icon, a second editor is launched, which is configured to modify a second property of the second object. The second property is associated with a second feature. The second editor is not configured to modify the first property.

[0077] 2. The computer program product according to Embodiment 1, wherein:

[0078] Any object possessing the first characteristic can allow one or more other objects to be placed within it.

[0079] The first icon indicates the first feature.

[0080] Any object with the second characteristic cannot allow one or more objects to be placed in it.

[0081] The second icon is visually different from the first icon and indicates a second feature.

[0082] The first property of any object includes the ability to contain one or more other objects, and

[0083] The second property of any object includes definitional information about that object, which is a prerequisite for receiving any other object within it.

[0084] 3. The computer program product according to Embodiment 2, wherein the instructions, when executed by the processing circuitry, further cause the computing device to:

[0085] Display a third icon associated with a third tree element among the plurality of tree elements. The third tree element represents a third object and is different from the first tree element. The third icon is visually identical to the first icon and indicates that the third object has a first feature.

[0086] Receive user selection of a third icon; and

[0087] In response to receiving a user's selection of a third icon, launch the first editor configured to modify the first property of the third object.

[0088] 4. The computer program product according to Embodiment 2, wherein the instructions, when executed by the processing circuitry, further cause the computing device to:

[0089] Display a third icon associated with a third tree element among the plurality of tree elements. The third tree element represents a third object. The third icon is not selectable, is visually different from the first and second icons, and indicates that the third object has a third feature, which is different from the first and second features.

[0090] Detect pointer hover events on the third icon; and

[0091] In response to the detection of a pointer hover event, information indicating that at least one reason why the third icon is unselectable is that the third object has a third characteristic is displayed.

[0092] 5. The computer program product according to Embodiment 2, wherein the instructions, when executed by the processing circuitry, further cause the computing device to:

[0093] Detect pointer hover events on either the first or second icon; and

[0094] In response to a detected pointer hover event, information about the corresponding editor that will be launched by selecting one of the first or second icons is displayed.

[0095] 6. The computer program product according to Embodiment 2, wherein the instructions, when executed by the processing circuitry, further cause the computing device to:

[0096] Receive updated definition information related to the second object via the second editor;

[0097] In response to receiving updated definition information, the second icon is replaced with a third icon that is visually identical to the first icon and indicates that the second object now has the first feature;

[0098] Receive user selection of a third icon; and

[0099] In response to receiving a user's selection of a third icon, launch the first editor configured to modify the first property of the third object.

[0100] 7. The computer program product according to Embodiment 1, wherein:

[0101] The first and second icons share a common visual characteristic that indicates a common state in which one or more objects are placed.

[0102] The first characteristic is that it is an object of the first type.

[0103] The second characteristic is that it is a second type of object that is different from the first type of object.

[0104] The first property of any object includes placing one or more objects of a third type within the object, which are different from objects of the first type, and

[0105] The second property of any object includes placing one or more objects of a fourth type inside the object, which are different from objects of the first, second and third types.

[0106] 8. The computer program product according to embodiment 7, wherein the first icon is visually identical to the second icon.

[0107] 9. The computer program product according to Embodiment 7, wherein the common visual feature is a common color.

[0108] 10. The computer program product according to Embodiment 7, wherein the instructions, when executed by the processing circuitry, further cause the computing device to:

[0109] Detect pointer hover events on either the first or second icon; and

[0110] In response to a detected pointer hover event, information about the corresponding editor that will be launched by selecting one of the first or second icons is displayed.

[0111] 11. The computer program product according to Embodiment 1, wherein the instructions, when executed by the processing circuitry, further cause the computing device to:

[0112] The pointer position is detected to be near the first tree element, wherein displaying the first icon is performed in response to the detection that the pointer position is near the first tree element;

[0113] After detecting that the pointer position is near the first tree element, detect that the pointer position is outside the first tree element; and

[0114] In response to the detection that the pointer is located outside the vicinity of the first tree element, the first icon is stopped from being displayed.

[0115] 12. The computer program product according to embodiment 11, wherein the instructions, when executed by the processing circuitry, further cause the computing device to:

[0116] The pointer position is detected to be near a second tree element, wherein displaying the second icon is performed in response to the detection that the pointer position is near a second tree element;

[0117] After detecting that the pointer position is near a second tree element, detect that the pointer position is outside the vicinity of a second tree element; and

[0118] In response to the detection that the pointer is located outside the vicinity of the second tree element, the display of the second icon is stopped.

[0119] 13. A computer system, comprising:

[0120] Display screen;

[0121] Input devices are configured to receive input from users; and

[0122] The processing circuitry is coupled to the memory and configured as follows:

[0123] Display multiple tree elements representing objects within a hierarchical tree structure, the multiple tree elements including a first tree element representing a first object having a first characteristic and a second tree element representing a second object having a second characteristic but not having the first characteristic;

[0124] Display the first icon associated with the first tree element;

[0125] Display a second icon associated with the second tree element, separate from the first icon;

[0126] Receive the user's selection of the first icon;

[0127] In response to receiving a user's selection of the first icon, launch the first editor configured to modify the first property of the first object, the first property being associated with the first feature;

[0128] Receive the user's selection of the second icon; and

[0129] In response to receiving a user's selection of a second icon, a second editor is launched, which is configured to modify a second property of the second object. The second property is associated with a second feature. The second editor is not configured to modify the first property.

[0130] 14. The computer system according to Embodiment 13, wherein:

[0131] Any object possessing the first characteristic can allow one or more other objects to be placed within it.

[0132] The first icon indicates the first feature.

[0133] Any object with the second characteristic cannot allow one or more objects to be placed in it.

[0134] The second icon is visually different from the first icon and indicates a second feature.

[0135] The first property of any object includes the ability to contain one or more other objects, and

[0136] The second property of any object includes definitional information about that object, which is a prerequisite for receiving any other object within it.

[0137] 15. The computer system according to embodiment 14, wherein the processing circuitry is further configured to:

[0138] Display a third icon associated with a third tree element among the plurality of tree elements. The third tree element represents a third object and is different from the first tree element. The third icon is visually identical to the first icon and indicates that the third object has a first feature.

[0139] Receive user selection of a third icon; and

[0140] In response to receiving a user's selection of a third icon, launch the first editor configured to modify the first property of the third object.

[0141] 16. The computer system according to embodiment 14, wherein the processing circuitry is further configured to:

[0142] Display a third icon associated with a third tree element among the plurality of tree elements. The third tree element represents a third object. The third icon is not selectable, is visually different from the first and second icons, and indicates that the third object has a third feature, which is different from the first and second features.

[0143] Detect pointer hover events on the third icon; and

[0144] In response to the detection of a pointer hover event, information indicating that at least one reason why the third icon is unselectable is that the third object has a third characteristic is displayed.

[0145] 17. The computer system according to embodiment 14, wherein the processing circuitry is further configured to:

[0146] Detect pointer hover events on either the first or second icon; and

[0147] In response to a detected pointer hover event, information about the corresponding editor that will be launched by selecting one of the first or second icons is displayed.

[0148] 18. The computer system according to embodiment 14, wherein the processing circuitry is further configured to:

[0149] Receive updated definition information related to the second object via the second editor;

[0150] In response to receiving updated definition information, the second icon is replaced with a third icon that is visually identical to the first icon and indicates that the second object now has the first feature;

[0151] Receive user selection of a third icon; and

[0152] In response to receiving a user's selection of a third icon, launch the first editor configured to modify the first property of the third object.

[0153] 19. The computer system according to Embodiment 13, wherein:

[0154] The first and second icons share a common visual characteristic that indicates a common state in which one or more objects are placed.

[0155] The first characteristic is that it is an object of the first type.

[0156] The second characteristic is that it is a second type of object that is different from the first type of object.

[0157] The first property of any object includes placing one or more objects of a third type within the object, which are different from objects of the first type, and

[0158] The second property of any object includes placing one or more objects of a fourth type inside the object, which are different from objects of the first, second and third types.

[0159] 20. The computer system according to embodiment 19, wherein the first icon is visually identical to the second icon.

[0160] 21. The computer system according to embodiment 19, wherein the common visual feature is a common color.

[0161] 22. The computer system according to embodiment 19, wherein the processing circuitry is further configured to:

[0162] Detect pointer hover events on either the first or second icon; and

[0163] In response to a detected pointer hover event, information about the corresponding editor that will be launched by selecting one of the first or second icons is displayed.

[0164] 23. The computer system according to embodiment 13, wherein the processing circuitry is further configured to:

[0165] The pointer position is detected to be near the first tree element, wherein displaying the first icon is performed in response to the detection that the pointer position is near the first tree element;

[0166] After detecting that the pointer position is near the first tree element, detect that the pointer position is outside the first tree element; and

[0167] In response to the detection that the pointer is located outside the vicinity of the first tree element, the first icon is stopped from being displayed.

[0168] 24. The computer system according to embodiment 23, wherein the processing circuitry is further configured to:

[0169] The pointer position is detected to be near a second tree element, wherein displaying the second icon is performed in response to the detection that the pointer position is near a second tree element;

[0170] After detecting that the pointer position is near a second tree element, detect that the pointer position is outside the vicinity of a second tree element; and

[0171] In response to the detection that the pointer is located outside the vicinity of the second tree element, the display of the second icon is stopped.

[0172] 25. A method performed by a computing device, the method comprising:

[0173] Display multiple tree elements representing objects within a hierarchical tree structure, the multiple tree elements including a first tree element representing a first object having a first characteristic and a second tree element representing a second object having a second characteristic but not having the first characteristic;

[0174] Display the first icon associated with the first tree element;

[0175] Display a second icon associated with the second tree element, separate from the first icon;

[0176] Receive the user's selection of the first icon;

[0177] In response to receiving a user's selection of the first icon, launch the first editor configured to modify the first property of the first object, the first property being associated with the first feature;

[0178] Receive the user's selection of the second icon; and

[0179] In response to receiving a user's selection of a second icon, a second editor is launched, which is configured to modify a second property of the second object. The second property is associated with a second feature. The second editor is not configured to modify the first property.

[0180] 26. The method according to Example 25, wherein:

[0181] Any object possessing the first characteristic can allow one or more other objects to be placed within it.

[0182] The first icon indicates the first feature.

[0183] Any object with the second characteristic cannot allow one or more objects to be placed in it.

[0184] The second icon is visually different from the first icon and indicates a second feature.

[0185] The first property of any object includes the ability to contain one or more other objects, and

[0186] The second property of any object includes definitional information about that object, which is a prerequisite for receiving any other object within it.

[0187] 27. The method according to embodiment 26 further includes:

[0188] Display a third icon associated with a third tree element among the plurality of tree elements. The third tree element represents a third object and is different from the first tree element. The third icon is visually identical to the first icon and indicates that the third object has a first feature.

[0189] Receive user selection of a third icon; and

[0190] In response to receiving a user's selection of a third icon, launch the first editor configured to modify the first property of the third object.

[0191] 28. The method according to embodiment 26 further includes:

[0192] Display a third icon associated with a third tree element among the plurality of tree elements. The third tree element represents a third object. The third icon is not selectable, is visually different from the first and second icons, and indicates that the third object has a third feature, which is different from the first and second features.

[0193] Detect pointer hover events on the third icon; and

[0194] In response to the detection of a pointer hover event, information indicating that at least one reason why the third icon is unselectable is that the third object has a third characteristic is displayed.

[0195] 29. The method according to embodiment 26 further includes:

[0196] Detect pointer hover events on either the first or second icon; and

[0197] In response to a detected pointer hover event, information about the corresponding editor that will be launched by selecting one of the first or second icons is displayed.

[0198] 30. The method according to embodiment 26 further includes:

[0199] Receive updated definition information related to the second object via the second editor;

[0200] In response to receiving updated definition information, the second icon is replaced with a third icon that is visually identical to the first icon and indicates that the second object now has the first feature;

[0201] Receive user selection of a third icon; and

[0202] In response to receiving a user's selection of a third icon, launch the first editor configured to modify the first property of the third object.

[0203] 31. The method according to Example 25, wherein:

[0204] The first and second icons share a common visual characteristic that indicates a common state in which one or more objects are placed.

[0205] The first characteristic is that it is an object of the first type.

[0206] The second characteristic is that it is a second type of object that is different from the first type of object.

[0207] The first property of any object includes placing one or more objects of a third type within the object, which are different from objects of the first type, and

[0208] The second property of any object includes placing one or more objects of a fourth type inside the object, which are different from objects of the first, second and third types.

[0209] 32. The method according to embodiment 31, wherein the first icon is visually identical to the second icon.

[0210] 33. The method according to embodiment 31, wherein the common visual feature is a common color.

[0211] 34. The method according to embodiment 31 further includes:

[0212] Detect pointer hover events on either the first or second icon; and

[0213] In response to a detected pointer hover event, information about the corresponding editor that will be launched by selecting one of the first or second icons is displayed.

[0214] 35. The method according to embodiment 25 further includes:

[0215] The pointer position is detected to be near the first tree element, wherein displaying the first icon is performed in response to the detection that the pointer position is near the first tree element;

[0216] After detecting that the pointer position is near the first tree element, detect that the pointer position is outside the first tree element; and

[0217] In response to the detection that the pointer is located outside the vicinity of the first tree element, the first icon is stopped from being displayed.

[0218] 36. The method according to embodiment 35 further includes:

[0219] The pointer position is detected to be near a second tree element, wherein displaying the second icon is performed in response to the detection that the pointer position is near a second tree element;

[0220] After detecting that the pointer position is near a second tree element, detect that the pointer position is outside the vicinity of a second tree element; and

[0221] In response to the detection that the pointer is located outside the vicinity of the second tree element, the display of the second icon is stopped.

Claims

1. A computer program product comprising a non-transitory computer-readable storage medium storing instructions, said instructions causing the computing device, when executed by processing circuitry of a computing device, to: Display multiple tree elements representing objects within a hierarchical tree structure, the multiple tree elements including a first tree element representing a first object having a first characteristic and a second tree element representing a second object having a second characteristic but not having the first characteristic; Display the first icon associated with the first tree element; Display a second icon associated with the second tree element, separate from the first icon; Receive the user's selection of the first icon; In response to receiving a user's selection of the first icon, launch the first editor configured to modify the first property of the first object, the first property being associated with the first feature; Receive the user's selection of the second icon; as well as In response to receiving a user's selection of a second icon, a second editor is launched, which is configured to modify a second property of the second object. The second property is associated with a second feature. The second editor is not configured to modify the first property.

2. The computer program product according to claim 1, wherein: Any object possessing the first characteristic can allow one or more other objects to be placed within it. The first icon indicates the first feature. Any object with the second characteristic cannot allow one or more objects to be placed in it. The second icon is visually different from the first icon and indicates a second feature. The first property of any object includes the ability to contain one or more other objects, and The second property of any object includes definitional information about the object, which is a prerequisite for receiving any other object within it.

3. The computer program product according to claim 2, wherein, When the instructions are executed by the processing circuitry, the computing device further: Display a third icon associated with a third tree element among the plurality of tree elements. The third tree element represents a third object and is different from the first tree element. The third icon is visually identical to the first icon and indicates that the third object has a first feature. Receive the user's selection of a third icon; as well as In response to receiving a user's selection of a third icon, launch the first editor configured to modify the first property of the third object.

4. The computer program product according to claim 2, wherein, When the instructions are executed by the processing circuitry, the computing device further: Displays a third icon associated with a third tree element among the plurality of tree elements. The third tree element represents a third object. The third icon is not selectable, is visually different from the first and second icons, and indicates that the third object has a third feature, wherein the third feature is different from the first and second features. Detect pointer hover events on the third icon; and In response to the detection of a pointer hover event, information indicating that at least one reason why the third icon is unselectable is that the third object has a third characteristic is displayed.

5. The computer program product according to claim 2, wherein, When the instructions are executed by the processing circuitry, the computing device further: Detect pointer hover events on either the first or second icon; and In response to a detected pointer hover event, information about the corresponding editor that will be launched by selecting one of the first or second icons is displayed.

6. The computer program product according to claim 2, wherein, When the instructions are executed by the processing circuitry, the computing device further: Receive updated definition information related to the second object via the second editor; In response to receiving updated definition information, the second icon is replaced with a third icon that is visually identical to the first icon and indicates that the second object now has the first feature; Receive the user's selection of a third icon; as well as In response to receiving a user's selection of a third icon, launch the first editor configured to modify the first property of the third object.

7. The computer program product according to claim 1, wherein: The first and second icons share a common visual characteristic that indicates a common state in which one or more objects are placed. The first characteristic is that it is an object of the first type. The second characteristic is that it is a second type of object that is different from the first type of object. The first property of any object includes placing one or more objects of a third type within the object, which are different from objects of the first type, and The second property of any object includes placing one or more objects of a fourth type inside the object, which are different from objects of the first, second and third types.

8. The computer program product according to claim 7, wherein, The first icon is visually identical to the second icon.

9. The computer program product according to claim 7, wherein, The common visual feature is the common color.

10. The computer program product according to claim 7, wherein, When the instructions are executed by the processing circuitry, the computing device further: Detect pointer hover events on either the first or second icon; and In response to a detected pointer hover event, information about the corresponding editor that will be launched by selecting one of the first or second icons is displayed.

11. The computer program product according to claim 1, wherein, When the instructions are executed by the processing circuitry, the computing device further: The pointer position is detected to be near the first tree element, wherein displaying the first icon is performed in response to the detection that the pointer position is near the first tree element; After detecting that the pointer position is near the first tree element, detect that the pointer position is outside the first tree element; and In response to detecting that the pointer is located outside the vicinity of the first tree element, stop displaying the first icon.

12. The computer program product according to claim 11, wherein, When the instructions are executed by the processing circuitry, the computing device further: The pointer position is detected to be near a second tree element, wherein displaying the second icon is performed in response to the detection that the pointer position is near a second tree element; After detecting that the pointer position is near a second tree element, detect that the pointer position is outside the vicinity of a second tree element; and In response to the detection that the pointer is located outside the vicinity of the second tree element, the display of the second icon is stopped.

13. A computer system, comprising: Display screen; An input device is configured to receive input from a user. as well as The processing circuitry is coupled to the memory and configured as follows: Display multiple tree elements representing objects within a hierarchical tree structure, the multiple tree elements including a first tree element representing a first object having a first characteristic and a second tree element representing a second object having a second characteristic but not having the first characteristic; Display the first icon associated with the first tree element; Display a second icon associated with the second tree element, separate from the first icon; Receive the user's selection of the first icon; In response to receiving a user's selection of the first icon, launch the first editor configured to modify the first property of the first object, the first property being associated with the first feature; Receive the user's selection of the second icon; as well as In response to receiving a user's selection of a second icon, a second editor is launched, which is configured to modify a second property of the second object. The second property is associated with a second feature. The second editor is not configured to modify the first property.

14. The computer system according to claim 13, wherein: Any object possessing the first characteristic can allow one or more other objects to be placed within it. The first icon indicates the first feature. Any object with the second characteristic cannot allow one or more objects to be placed in it. The second icon is visually different from the first icon and indicates a second feature. The first property of any object includes the ability to contain one or more other objects, and The second property of any object includes definitional information about the object, which is a prerequisite for receiving any other object within it.

15. The computer system according to claim 14, wherein, The processing circuit is further configured to: The updated definition information related to the second object is received via the second editor. In response to receiving updated definition information, the second icon is replaced with a third icon that is visually identical to the first icon and indicates that the second object now possesses the first characteristic. Receive the user's selection of the third icon, and In response to receiving a user's selection of a third icon, launch the first editor configured to modify the first property of the third object.

16. The computer system according to claim 13, wherein: The first and second icons share a common visual characteristic that indicates a common state in which one or more objects are placed. The first characteristic is that it is an object of the first type. The second characteristic is that it is a second type of object that is different from the first type of object. The first property of any object includes placing one or more objects of a third type within the object, which are different from objects of the first type, and The second property of any object includes placing one or more objects of a fourth type inside the object, which are different from objects of the first, second and third types.

17. A method performed by a computing device, the method comprising: Display multiple tree elements representing objects within a hierarchical tree structure, the multiple tree elements including a first tree element representing a first object having a first characteristic and a second tree element representing a second object having a second characteristic but not having the first characteristic; Display the first icon associated with the first tree element; Display a second icon associated with the second tree element, separate from the first icon; Receive the user's selection of the first icon; In response to receiving a user's selection of the first icon, launch the first editor configured to modify the first property of the first object, the first property being associated with the first feature; Receive the user's selection of the second icon; as well as In response to receiving a user's selection of a second icon, a second editor is launched, which is configured to modify a second property of the second object. The second property is associated with a second feature. The second editor is not configured to modify the first property.

18. The method of claim 17, wherein: Any object possessing the first characteristic can allow one or more other objects to be placed within it. The first icon indicates the first feature. Any object with the second characteristic cannot allow one or more objects to be placed in it. The second icon is visually different from the first icon and indicates a second feature. The first property of any object includes the ability to contain one or more other objects, and The second property of any object includes definitional information about the object, which is a prerequisite for receiving any other object within it.

19. The method of claim 18, further comprising: Receive updated definition information related to the second object via the second editor; In response to receiving updated definition information, the second icon is replaced with a third icon that is visually identical to the first icon and indicates that the second object now has the first feature; Receive the user's selection of a third icon; as well as In response to receiving a user's selection of a third icon, launch the first editor configured to modify the first property of the third object.

20. The method of claim 17, wherein: The first and second icons share a common visual characteristic that indicates a common state in which one or more objects are placed. The first characteristic is that it is an object of the first type. The second characteristic is that it is a second type of object that is different from the first type of object. The first property of any object includes placing one or more objects of a third type within the object, which are different from objects of the first type, and The second property of any object includes placing one or more objects of a fourth type inside the object, which are different from objects of the first, second and third types.