1. Technical Field
The present invention relates in general to a method and system for using color and highlighting to display a tree view display. More particularly, the present invention relates to a system and method for providing a non-indented, layered representation of tree view data.
2. Description of the Related Art
One of the highest priorities of information technology (IT) organizations responsible with managing mission-critical computing environments is understanding the various components, or objects, that comprise the business system. With increased computer power and advanced networking equipment and tools, even small businesses often have complex business systems. Managing and understanding these increasingly complex systems is an increasingly challenging task.
As used herein, a “business system” serves the needs of the organization's business functions, such as order entry, marketing, accounts receivable, and the like. A business system may span several dissimilar types of computers and be distributed throughout many geographical locations. A business system, in turn, is typically based upon several application programs. An application program may also span several dissimilar types of computers and be distributed throughout a network of computer systems.
An application typically serves a particular function that is needed by the business system. An individual application program may, or may not, be critical to the business system depending upon the role the application program plays within the overall business system. Using networked computers, an application may span several computer systems. In an Internet commerce system, for example, an application program that is part of the company's order processing business system, may be responsible for serving web pages to users browsing the companies online catalog. This application may use several computer systems in various locations to better serve the customers and provide faster response to customer inquiries.
The application may use some computers running one type of operating system, for example a UNIX-based operating system such as IBM's AIX® operating system, while other computer systems may run another type of server operating system such as Microsoft's Windows NT® Server operating system. Individual computer systems work together to provide the processing power needed to run the business systems and application programs. These computer systems may be mainframes, mid-range systems, workstations, personal computers, or any other type of computer that includes at least one processor and can be programmed to provide processing power to the business systems and applications. Applications also manage an organizations data, stored in databases that may be organized in various fashions. Some database files, such as a customer file, may be used by several applications, while other database files are only used by a single application.
Computer systems, in turn, include individual resources that provide various functionality to the computer systems. For example, a modem is an individual resource that allows a computer system to link to another computer system through an communication network. A router is another individual resource that routes electronic messages between computer systems.
Computers are often linked to one another using a network, such as a local area network (LAN), wide area network (WAN), or other types of networks such as the Internet. By linking computers, one computer can use resources owned by another computer system. These resources can include files stored on nonvolatile storage devices and resources such as printers. Smaller computers used by an individual (client computers) are often linked to more powerful computers, called servers, that provide large file systems, larger processing capabilities, and resources not typically found on client computers. Servers may be larger PCs, workstations, or mainframe computer systems.
Applications, database, computers, and networks are all examples of categories, or groups, of objects used by an organization. Because of the interrelationships between objects, the number of different categories of objects, and the vast number of objects in most organizations, mapping and understanding the business system is a difficult challenge to address. Indeed, any system that has large numbers of objects in many categories with relationships is difficult to conceptually understand using tools available today.
What is needed, therefore, is a way of visually presenting complex information by grouping objects into layers and providing different display attributes to aid the user in distinguishing between the various displayed layers.
It has been discovered that objects can be grouped into layers and the individual layers can be displayed using display attributes that identifies a particular layer. The layers can be manipulated by the user in order to have a certain group of objects displayed in a particular layer.
For example, a business system can be broken down into a hardware category and a software category. The user can select which of these categories is displayed in the uppermost, or first, layer and which is displayed in a lower, or second, layer. The objects in the uppermost layer are visually emphasized using a variety of techniques. For example, the uppermost objects may be rendered as 3-dimensional objects, may be larger, and may be colored in a highly saturated manner. Lower level objects are distinguished by altering one or more of the display attributes. For example, a second layer may be displayed in a 2-dimensional, or flat, fashion, and be smaller in proportion to the objects displayed in the first layer.
Relationships between objects can be shown as lines between objects and relationships may span layers. In addition, objects within a particular layer can be visually distinguished to show their dissimilarity with respect to one or more attributes while still maintaining their grouping in the same layer. For example, graphics representing computer systems may all be in the same layer, yet may be colored differently to indicate that certain computers are more powerful than other computers. In order to retrieve information about a particular object, the user can select the object using a mouse or pointing device and details concerning the object are displayed for the user to review and/or edit. The user can re-layer the categories so that the category of objects displayed in one layer are moved to another layer. For example, one view can display the category of hardware objects in a first, or most emphasized, layer and a display the category of software objects in a second, less emphasized, layer. By selecting and moving the software category above the hardware category (or by moving the hardware category beneath the software category) the category of software objects is redisplayed in the first most emphasized layer and the category of hardware objects is displayed in the second, less emphasized layer.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations, and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the present invention, as defined solely by the claims, will become apparent in the non-limiting detailed description set forth below.
The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference symbols in different drawings indicates similar or identical items.
The following is intended to provide a detailed description of an example of the invention and should not be taken to be limiting of the invention itself. Rather, any number of variations may fall within the scope of the invention which is defined in the claims following the description.
The example shown in
In system display 100, the user can select which category is displayed in the first layer or the second layer by selecting tab 103 or tab 106 and moving the tab to the position desired. For example, if the user selects tab 103 and moves it to the right of tab 106, then the hardware category would be displayed in layer 2 and the software category would be displayed in layer 1 (see
In the example, two network hubs (109 and 112) connected to each other. Each of the hubs has several computers attached. Hub 109 is shown connected to computers 115, 118, 121, 124, 127, and 130, while hub 112 is shown connected to computers 133, 136, 139, 142, 145, and 148. Some of the computers are shown with business applications running off of the computer. Computer 115 is used for application 151, computer 124 is used for application 154, computer 130 is used for application 157, computer 139 is used for application 160, and computer 142 is used for application 163. In addition, various databases, or data stores, are used by the applications. These data stores are also stored on a computer system. Data store 172 is used by application 151 and stored in computer 115, data store 175 is used by application 154 and stored on computer 124, data store 178 is used by application 154 and stored on computer 127, and data store 181 is stored on computer 130 and used by both applications 151 and 157. Data stores 184 and 187 are used by application 160 and stored on computer 139, and data stores 190 and 193 are used by application 163 and stored on computer 142. In
In addition, other visual attributes can be used to distinguish objects in one layer from those in another. The degree to which an object is opaque or transparent, the proximity (closeness) of objects to one another, shape of objects, anomalous versus common (i.e., one black object appears more visually emphasized than six black objects.
Additionally, the objects shown within a particular layer can use visual techniques to distinguish additional characteristics. For example, the computers shown in
While the example shown in
While each of the objects shown in
Other attributes could be shown for objects shown in
The objects shown in
An object may have one or more relationships with other objects. These relationships are established in step 330. Relationships may be between objects within the same category or between objects in different categories. Related objects in different categories may be in the same layer as the object or may be in different layers altogether. Relationships may be intrinsically set within an object—for example an application may read from a particular data store. Other relationships, such as which computer system hosts a particular application, may be provided by the user or derived when analyzing the relationships within a particular computer.
The object and its properties and relationships are stored (step 340) in a manner so that the attributes are easily retrievable when gathering information to set up the various display layers. One storage mechanism that may be used is a relational database. In a relational database, a category of objects may be stored in a database table and database fields within the table used to store attributes pertaining to the object. Each object can include a unique identifier so that relationships between objects can be stored using the objects' identifiers.
A determination is made as to whether more objects will be created (decision 350). If more objects are desired, “yes” branch 360 is taken by decision 350 looping back to process the next object. When no more objects need to be created, decision 350 branches to “no” branch 370 and processing ends at 390.
A determination is made as to whether more objects need to be analyzed and placed into layers (decision 460). If more objects need to be analyzed and placed into layers, decision 460 branches to “yes” branch 465 which loops back to process the next object. When all the objects have been processed and placed into layers, decision 460 branches to “no” branch 468.
A determination is made as to whether a default, or starting, order exists for displaying the various layers (decision 470). If a default layer order does exist, decision 470 branches to “yes” branch 472 where the default layer order is read (step 475). On the other hand, if no default layer order exists, “no” branch 478 is taken and a layer order is received from the user (step 480). Additionally, if no default layer order is established, the layers can be randomly displayed and the user can manipulate the layer order to suit his or her needs.
Once the objects are assigned to layers and a layer order has been selected (either by default or by a user selection), the layered objects are displayed on the display screen (predefined process 490, see
A determination is made as to whether there are more layers to display (decision 580). In some complex systems with many layers, decision 580 may be triggered (i.e. equal “true”) before all the layers are processed so that only some of the possible layers are actually displayed. Additionally, the user may display the number of layers that are displayed to increase or decrease the total number of objects shown on the display at a given time. If there are more layers to display, decision 580 branches to “yes” branch 585 which loops back to increment the layer number and process the objects within the next layer. When there are no more layers to process, decision 580 branches to “no” branch 590 and processing ends at 590.
BIOS 680 is coupled to ISA bus 640, and incorporates the necessary processor executable code for a variety of low-level system functions and system boot functions. BIOS 680 can be stored in any computer readable medium, including magnetic storage media, optical storage media, flash memory, random access memory, read only memory, and communications media conveying signals encoding the instructions (e.g., signals from a network). In order to attach computer system 601 to another computer system to copy files over a network, LAN card 630 is coupled to PCI bus 625 and to PCI-to-ISA bridge 635. Similarly, to connect computer system 601 to an ISP to connect to the Internet using a telephone line connection, modem 675 is connected to serial port 664 and PCI-to-ISA Bridge 635.
While the computer system described in
One of the preferred implementations of the invention is an application, namely, a set of instructions (program code) in a code module which may, for example, be resident in the random access memory of the computer. Until required by the computer, the set of instructions may be stored in another computer memory, for example, on a hard disk drive, or in removable storage such as an optical disk (for eventual use in a CD ROM) or floppy disk (for eventual use in a floppy disk drive), or downloaded via the Internet or other computer network. Thus, the present invention may be implemented as a computer program product for use in a computer. In addition, although the various methods described are conveniently implemented in a general purpose computer selectively activated or reconfigured by software, one of ordinary skill in the art would also recognize that such methods may be carried out in hardware, in firmware, or in more specialized apparatus constructed to perform the required method steps.
While particular embodiments of the present invention have been shown and described, it will be obvious to those skilled in the art that, based upon the teachings herein, changes and modifications may be made without departing from this invention and its broader aspects and, therefore, the appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of this invention. Furthermore, it is to be understood that the invention is solely defined by the appended claims. It will be understood by those with skill in the art that if a specific number of an introduced claim element is intended, such intent will be explicitly recited in the claim, and in the absence of such recitation no such limitation is present. For a non-limiting example, as an aid to understanding, the following appended claims contain usage of the introductory phrases “at least one” and “one or more” to introduce claim elements. However, the use of such phrases should not be construed to imply that the introduction of a claim element by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim element to inventions containing only one such element, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an”; the same holds true for the use in the claims of definite articles.
Number | Name | Date | Kind |
---|---|---|---|
5317689 | Nack et al. | May 1994 | A |
5500934 | Austin et al. | Mar 1996 | A |
5553211 | Uotani | Sep 1996 | A |
5831618 | Fuji et al. | Nov 1998 | A |
5831631 | Light et al. | Nov 1998 | A |
5907704 | Gudmundson et al. | May 1999 | A |
5913205 | Jain et al. | Jun 1999 | A |
5926177 | Hatanaka et al. | Jul 1999 | A |
5958012 | Battat et al. | Sep 1999 | A |
5973693 | Light | Oct 1999 | A |
6005578 | Cole | Dec 1999 | A |
6031537 | Hugh | Feb 2000 | A |
6061515 | Chang et al. | May 2000 | A |
6078739 | Paterson et al. | Jun 2000 | A |
6091893 | Fintel et al. | Jul 2000 | A |
6115743 | Cowan et al. | Sep 2000 | A |
6144962 | Weinberg et al. | Nov 2000 | A |
6237006 | Weinberg et al. | May 2001 | B1 |
6476821 | Sawada et al. | Nov 2002 | B2 |
6578076 | Putzolu | Jun 2003 | B1 |
6690397 | Daignault, Jr. | Feb 2004 | B1 |
6885677 | Klevans | Apr 2005 | B1 |
20010008401 | Schunicht | Jul 2001 | A1 |
20020030703 | Robertson et al. | Mar 2002 | A1 |
20020113816 | Mitchell et al. | Aug 2002 | A1 |
20030033402 | Battat et al. | Feb 2003 | A1 |
Number | Date | Country |
---|---|---|
9913420 | Mar 1999 | WO |
Number | Date | Country | |
---|---|---|---|
20020149602 A1 | Oct 2002 | US |