The present disclosure relates generally to visualization of a complex system, and more particularly to visualization of IT infrastructure using a non-relational graph data store.
Information Technology (IT) supporting a modern large enterprise is a complex mix of networks, computers, applications, and services. The enterprise IT environment might contain tens of thousands of computers, thousands of networks connecting them, and hundreds of thousands of applications running on the computers. Enterprise IT management systems often represent the managed environment in the form of a graph where nodes represent elements of IT infrastructure and edges represent relationships among the elements. Graphs can be found in most of modern IT management products because users like the clarity and brevity enabled by this type of visualization. However the data used for creation of the visualization comes from relational databases keeping data in a multitude of different tables. It is common that that information about the nodes and their relationships comes from different tables, necessitating large numbers of queries over multiple tables to create a visualization of the IT infrastructure. These queries lead to inefficient use of the databases, resulting in high load on the database servers and storage devices.
In enterprise IT management, data about networks usually comes from multiple sources.
In an attempt to address issues associated with information integration and real-life application use, an intermediate relational database playing the role of a Relational Data Warehouse 18 is often used. However this architecture, shown in
An inventive mechanism for visualization of infrastructure that solves these problems is presented. The novel mechanism uses a non-relational graph data store to cache data as it is prepared for visualization. The infrastructure can be an IT infrastructure.
A method for visualization of an infrastructure using a non-relational graph data store is presented. The novel method comprises caching data from one or more relational and/or non-relational data store, performing, using graph visualization software on a processor, the visualization of the IT infrastructure using the cached data in the non-relational graph data store, and implementing analytic queries available to the graph visualization software though an exposed Application Programmer Interface.
In one aspect, the cached data from the one or more relational and/or non-relational data stores is collected in a relational data warehouse. In one aspect, the cached data comprises nodes representing elements of the IT infrastructure, and links representing relationships among the nodes. In one aspect, the infrastructure is an IT infrastructure.
A system for visualization of an infrastructure is presented. The novel system comprises a non-relational graph data store caching data from one or more of a relational or non-relational data store, a graph visualization software operable to perform the visualization of the infrastructure using the data in the non-relational graph data store, and a graph database operable to implement analytic queries available to the graph visualization software through an exposed Application Programmer Interface.
In one aspect, the graph database collects data from the one or more relational or non-relational graph data stores. In one aspect, the cached data comprises nodes representing elements of the IT infrastructure, and links representing relationships among the nodes. In one aspect, the infrastructure is an IT infrastructure.
A computer readable storage medium storing a program of instructions executable by a machine to perform one or more methods described herein also may be provided.
Further features as well as the structure and operation of various embodiments are described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.
An inventive system and method for visualization of an infrastructure, such as an IT infrastructure, using a non-relational graph data store is presented. The approach enables visualization of an IT environment by effective visualization of enterprise IT management data. The novel technique uses an intermediate cache that stores data as a graph, e.g., a collection of nodes, each representing an element, and links, each representing a relationship among elements, instead of a relational table. Data representation based on graph theory can be stored in a graph database management system, such as the DEX data store by Sparsity Technologies or Google Perculator Page Rank by Google®.
The invention provides a cache, that is, a back-end or staging area, to facilitate visualization. Data describing and/or documenting the IT infrastructure is obtained from various sources, such as a network management database, a systems management database, an applications management database, in conventional form and integrated into a non-relational graph data store or graph database. By using this non-relational format, both the data collection and visualization of the IT structure are performed much more quickly than if the data were retrieved from a relational database.
A graph database, often used in conjunction with social networking, represents and stores information using a graph structure with nodes, edges and properties. Hence, with the graph database, connectivity between and among elements can be retrieved in addition to the elements themselves. This is unlike a relational database which maintains relations among elements but only allows retrieval of data elements not of the relations themselves. In the inventive system, the graph database is used for caching data collected in data stores in plurality of social networking systems. The cache has a number of embedded analytic functions exposed through an Application Programmer Interface (“API”). The API provides access to analytic functions such as, but not limited to: retrieving all related graph nodes, scanning in forward and reverse direction of graph arch, degree of node, shortest path between nodes, degree of interest of node similar to Page Rank, etc.
Various aspects of the present disclosure may be embodied as a program, software, or computer instructions embodied or stored in a computer or machine usable or readable medium, which causes the computer or machine to perform the steps of the method when executed on the computer, processor, and/or machine. A program storage device readable by a machine, e.g., a computer readable medium, tangibly embodying a program of instructions executable by the machine to perform various functionalities and methods described in the present disclosure is also provided.
The system and method of the present disclosure may be implemented and run on a general-purpose computer or special-purpose computer system. The computer system may be any type of known or will be known systems and may typically include a processor, memory device, a storage device, input/output devices, internal buses, and/or a communications interface for communicating with other computer systems in conjunction with communication hardware and software, etc.
The computer readable medium could be a computer readable storage medium or a computer readable signal medium. Regarding a computer readable storage medium, it may be, for example, a magnetic, optical, electronic, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing; however, the computer readable storage medium is not limited to these examples. Additional particular examples of the computer readable storage medium can include: a portable computer diskette, a hard disk, a magnetic storage device, a portable compact disc read-only memory (CD-ROM), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an electrical connection having one or more wires, an optical fiber, an optical storage device, or any appropriate combination of the foregoing; however, the computer readable storage medium is also not limited to these examples. Any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device could be a computer readable storage medium.
The terms “computer system” and “computer network” as may be used in the present application may include a variety of combinations of fixed and/or portable computer hardware, software, peripherals, and storage devices. The computer system may include a plurality of individual components that are networked or otherwise linked to perform collaboratively, or may include one or more stand-alone components. The hardware and software components of the computer system of the present application may include and may be included within fixed and portable devices such as desktop, laptop, and/or server. A module may be a component of a device, software, program, or system that implements some “functionality”, which can be embodied as software, hardware, firmware, electronic circuitry, or etc.
The embodiments described above are illustrative examples and it should not be construed that the present invention is limited to these particular embodiments. Thus, various changes and modifications may be effected by one skilled in the art without departing from the spirit or scope of the invention as defined in the appended claims.
This application is related to commonly-owned, co-pending U.S. patent application Ser. No. 13/160,943 filed on Jun. 15, 2011, the entire contents and disclosure of which is expressly incorporated by reference as if fully set forth herein.