The subject matter of this invention relates generally to network management. More specifically, aspects of the present invention provide a solution for centrally managing a heterogeneous networking environment.
In the electronic environment of today, computer systems undergo constant changes. In order to keep up with these changes, administrators of these computer systems have developed management tools. These management tools can allow administrators to view changes to the computer system and determine what implications the changes might have for the system as a whole. Currently, these management tools are installed and executed on the machines that they will be monitoring.
However, as computer systems expand to become enterprise systems, challenges occur in network management tools. Enterprise systems are designed for high volume, high availability, high redundancy, etc., and are often made up of a large number of elements. These elements may be of different types, some of which have different purposes. As such, various elements in an enterprise system can have different operating systems, middleware, applications, etc., from one another, or, in some cases, may not have readily modifiable software at all.
Because of this, monitoring systems that work on the software level, by running software loaded on a particular element, may not provide complete functionality. For example, a monitoring application that is written to function in the environment of one particular operating system may not operate on an element that executes a different operating system. Further, elements that do not have modifiable operating systems may not be able to take full advantage of such systems.
In general, aspects of the present invention provide a solution for managing an enterprise system. Management functions are coordinated from a central control point. The central control point can direct one or more agents to be deployed to establish a connection to an element in its unmodified form within the enterprise system. Agents can be directed by the central control point to establish this connection in accordance with a profile that corresponds to the element. Once the connection has been established, the agent can perform a management task with respect to the element.
A first aspect of the invention provides a method for managing an enterprise system, comprising: selecting, from a central control point, an element from among an entirety of elements in the enterprise system; selecting a profile corresponding to the element from among a plurality of profiles; deploying an agent to establish a connection to the element in an unmodified form in accordance with the profile; and performing a management task on the element using the agent.
A second aspect of the invention provides a system for managing an enterprise system, comprising: a set of agents, each agent in the set of agents connecting with an unmodified element of the enterprise system; and a central control point that directs the set of agents to connect with every element in the enterprise system to at least one of gather data from an element or perform a modification of the element.
A third aspect of the invention provides a computer program product embodied in a computer readable medium that implements a method for managing an enterprise system, the method comprising: selecting, from a central control point, an element from among an entirety of elements in the enterprise system; selecting a profile corresponding to the element from among a plurality of profiles; deploying an agent to establish a connection to the element in an unmodified form in accordance with the profile; and performing a management task on the element using the agent.
A fourth aspect of the present invention provides a method for deploying a system for managing an enterprise system, comprising, providing a computer system operable to: select, from a central control point, an element from among an entirety of elements in the enterprise system; select a profile corresponding to the element from among a plurality of profiles; deploy an agent to establish a connection to the element in an unmodified form in accordance with the profile; and perform a management task on the element using the agent.
Still yet, any of the components of the present invention could be deployed, managed, serviced, etc., by a service provider who offers to for manage an enterprise system.
Embodiments of the present invention also provide related systems, methods and/or program products.
These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
The drawings are not necessarily to scale. The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
As indicated above, aspects of the present invention provide a solution for managing an enterprise system. Management functions are coordinated from a central control point. The central control point can direct one or more agents to be deployed to establish a connection to an element in its unmodified form within the enterprise system. Agents can be directed by the central control point to establish this connection in accordance with a profile that corresponds to the element. Once the connection has been established, the agent can perform a management task with respect to the element.
Turning to the drawings,
Computing device 104 is shown including a processing component 106 (e.g., one or more processors), a memory 110, a storage system 118 (e.g., a storage hierarchy), an input/output (I/O) interface component 114 (e.g., one or more I/O interfaces and/or devices), and a communications pathway 112. In general, processing component 106 executes program code, such as enterprise system management program 140, which is at least partially fixed in memory 110. To this extent, processing component 106 may comprise a single processing unit, or be distributed across one or more processing units in one or more locations, e.g., on a client and server.
Memory 110 can also include local memory, employed during actual execution of the program code, bulk storage (storage 118), and/or cache memories (not shown) which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage 118 during execution. As such, memory 110 may comprise any known type of data storage and/or transmission media, including magnetic media, optical media, random access memory (RAM), read-only memory (ROM), a data cache, a data object, etc. Moreover, similar to processing component 116, memory 110 may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms.
While executing program code, processing component 106 can process data, which can result in reading and/or writing transformed data from/to memory 110 and/or I/O component 114 for further processing. Pathway 112 provides a direct or indirect communications link between each of the components in computer system 102. I/O component 114 can comprise one or more human I/O devices, which enable a human user 120 to interact with computer system 102 and/or one or more communications devices to enable a system user 120 to communicate with computer system 102 using any type of communications link.
To this extent, enterprise system management program 140 can manage a set of interfaces (e.g., graphical user interface(s), application program interface, and/or the like) that enable human and/or system users 120 to interact with enterprise system management program 140, e.g., to manage an element 170 using one or more agents 160, and/or the like. Users 120 could include enterprise system administrators, administrators of a particular element 170 and/or those who utilize the functions of element 170, among others. Further, enterprise system management program 140 can manage (e.g., store, retrieve, create, manipulate, organize, present, etc.) the data, such as one or more profiles 152, using any solution.
In any event, computer system 102 can comprise one or more general purpose computing articles of manufacture 104 (e.g., computing devices) capable of executing program code, such as enterprise system management program 140, installed thereon. As used herein, it is understood that “program code” means any collection of instructions, in any language, code or notation, that cause a computing device having an information processing capability to perform a particular action either directly or after any combination of the following: (a) conversion to another language, code or notation; (b) reproduction in a different material form; and/or (c) decompression. To this extent, enterprise system management program 140 can be embodied as any combination of system software and/or application software. In any event, the technical effect of computer system 102 is to provide processing instructions to computing device 104 in order to manage an enterprise system.
Further, enterprise system management program 140 can be implemented using a set of modules 142-148. In this case, modules 142-148 can enable computer system 102 to perform a set of tasks used by enterprise system management program 140, and can be separately developed and/or implemented apart from other portions of enterprise system management program 140. As used herein, the term “component” or “element” means any configuration of hardware, with or without software, which implements the functionality described in conjunction therewith using any solution, while the term “module” means program code that enables a computer system 102 to implement the actions described in conjunction therewith using any solution. When fixed in a memory 110 of a computer system 102 that includes a processing component 106, a module is a substantial portion of a component that implements the actions. Regardless, it is understood that two or more components, modules, and/or systems may share some/all of their respective hardware and/or software. Further, it is understood that some of the functionality discussed herein may not be implemented or additional functionality may be included as part of computer system 102.
When computer system 102 comprises multiple computing devices 104, each computing device 104 could have only a portion of enterprise system management program 140 fixed thereon (e.g., one or more modules 142-148). However, it is understood that computer system 102 and enterprise system management program 140 are only representative of various possible equivalent computer systems that may perform a process described herein. To this extent, in other embodiments, the functionality provided by computer system 102 and enterprise system management program 140 can be at least partially implemented by one or more computing devices that include any combination of general and/or specific purpose hardware with or without program code. In each embodiment, the hardware and program code, if included, can be created using standard engineering and programming techniques, respectively.
Regardless, when computer system 102 includes multiple computing devices 104, the computing devices can communicate over any type of communications link. Further, while performing a process described herein, computer system 102 can communicate with one or more other computer systems using any type of communications link. In either case, the communications link can comprise any combination of various types of wired and/or wireless links; comprise any combination of one or more types of networks; and/or utilize any combination of various types of transmission techniques and protocols.
As discussed herein, enterprise system management program 140 enables computer system 102 to manage an enterprise system. To this extent, enterprise system management program 140 is shown including an element selection module 142, a profile selection module 144, an agent deployment module 146, and a task performance module 148. Element selection module 142, as executed by computer system 102, selects element 170 from among all of the elements 212-220 (
Referring now to
In any case, elements 212, 214, 216, 218, 220 in enterprise environment 200 are connected via a network 206. Network 206 can comprise any combination of various types of wired and/or wireless links; comprise any combination of one or more types of networks; and/or utilize any combination of various types of transmission techniques and protocols. Also shown in enterprise environment 200 is central control point 210. Central control point 210 can include any type of system such as computer system 102 (
Turning now to
Turning now to
Agent deployment module 146, as executed by computer system 102, deploys an agent 360A-B to establish a connection to the element 312, 318 in an unmodified form in accordance with the profile 352. This connection is established by agent 360A to element 312, 318 in an unmodified form. To this extent, agent 360A can connect to any interfaces in server element 312 that are currently available, without a need to create new interfaces and/or modify existing interfaces. These interfaces can include, for example, a log file, an ownership record, a Domain Name System (DNS), a cache in a web front end, an Secure Socket Layer (SSL) configuration, a file system utilization, an application programming interface (API) or any other component of element 312 that is available to those outside the element 312. The fact that the connection is to an element in its unmodified form makes it unnecessary for software to be written for and/or to run on any element 212, 214, 216, 218, 220 (
For example, if an administrator user 120 wants to monitor a log file (not shown) in server element 312. Server element 312 can be selected by central control point 310 and a profile 352 corresponding to server element 312 can be selected from profiles 352. Central control point 352 can utilize the instructions in profile 352 to deploy agent 360A to establish a connection to server element 312. This connection can be established by agent 360A to element 312 in an unmodified form, such as through a log file interface that currently exists on server element 312. Additionally, or in the alternative, if a user 112 wants to establish a connection with appliance element 318, central control point 352 can utilize a profile corresponding to appliance element 318 to deploy agent 360B to establish a connection with appliance element 318, such as via an I/O component on appliance element 318.
Once a connection has been established, task performance module 148, as executed by computer system 102, can perform a management task on the element using the agent. This management task can include, but is not limited to, monitoring the element 312, 318 over time, gathering some reporting data from the element or performing a change to the element, and/or the like. For example, suppose, as above, an administrator user 120 knows that access to a log file may be heavy over a particular period of time and wants to monitor the log file of server element 312. Central control point 310 could deploy agent 360A to perform this monitoring. If agent 360A detected, for example, that the log file was becoming undesirably large, the agent 360A could return one or several different messages and/or reports, based on the severity. Additionally, or in the alternative, agent 360A could automatically, based on its instructions in profile 352, intervene in the process to fix the problem, such as removing a number of entries from the log file based on message type, age of the message, etc.
Additionally, or in the alternative, suppose an administrator user 120 wants to maintain synchronization among a number of elements, such as server elements 212, 214 (
Due to the ability of agents 360A-B to connect to elements in an unmodified form, central control point 310 can use agents 360A-B to collect statistical data across a disparate mix of elements that include components, hardware, vendors, etc. This data can be used, for example, to provide alerts, to take preemptive actions to prevent outages or other problems, to take recover actions, to provide fail over servers and/or to use forensics data to identify the location of a current problem, among other things.
Additionally, the centralized nature of central control point 310 allows for central monitoring on a management station. This, combined with a user interface allows administrators to access, monitor, manage, and/or modify a large number of disparate element through a single endpoint. Additionally, the user interface allows clients to perform management requests without the need for intervention by a human administrator. Such requests could include request of management of Internet Protocol Version 4 (IPV4) addresses, request and management of Media Access Control (MAC) and Network Address Translation (NAT) IPV4 workload balancing clusters, request file permissions, etc.
Turning now to
While shown and described herein as a method and system for managing an enterprise system, it is understood that aspects of the invention further provide various alternative embodiments. For example, in one embodiment, the invention provides a computer program fixed in at least one computer-readable medium, which when executed, enables a computer system to manage an enterprise system. To this extent, the computer-readable medium includes program code, such as enterprise system management program 140 (
In another embodiment, the invention provides a method of providing a copy of program code, such as enterprise system management program 140 (
In still another embodiment, the invention provides a method of generating a system for managing an enterprise system. In this case, a computer system, such as computer system 102 (
The terms “first,” “second,” and the like, herein do not denote any order, quantity, or importance, but rather are used to distinguish one element from another, and the terms “a” and “an” herein do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item. The modifier “approximately” used in connection with a quantity is inclusive of the stated value and has the meaning dictated by the context, (e.g., includes the degree of error associated with measurement of the particular quantity). The suffix “(s)” as used herein is intended to include both the singular and the plural of the term that it modifies, thereby including one or more of that term (e.g., the metal(s) includes one or more metals). Ranges disclosed herein are inclusive and independently combinable (e.g., ranges of “up to approximately 25 wt %, or, more specifically, approximately 5 wt % to approximately 20 wt %”, is inclusive of the endpoints and all intermediate values of the ranges of “approximately 5 wt % to approximately 25 wt %,” etc).
The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to an individual in the art are included within the scope of the invention as defined by the accompanying claims.