1. Field of the Invention
This invention relates to circuits, systems, and methods for handling electronically reported events in a computing environment such as failure reports from a managed networked computer.
2. Description of the Related Art
In today's business environment, employee productivity and customer satisfaction can be negatively impacted from system failures and delays. In order to achieve high performance, system flaw must be diagnosed and resolved in a timely manner. With highly interconnected systems, the level of complexity in problem resolution is considerable. Frequently, multiple administrators and support staff will receive identical problem notifications, which creates duplicate work, and often compromises work flow effectiveness, system response, and productivity.
A situation which commonly arises in the Systems Management arena in large accounts (e.g. computer systems for very large retail stores, government agencies, etc.) is the flow of events from multiple locations to multiple “home” servers, which are assigned various tasks based upon their defined tasks. Two of the main requirements encountered in this environment are (a) the need for the events to be sent to multiple event servers, and (b) to provide “failover” capabilities.
To date, the standard solution has been to have the events sent to different servers based upon ‘rules’ or logic defined either at the source of the event, or part of the infrastructure of the system at a low level. This causes several problems, the first being the assumption that the network infrastructure can handle the often 4 to 5 times load required. Secondly, the event ownership and failover scheme, along with the hardware needed to power this logic, needs to be coordinated among lower level parts of the infrastructure at many points, often including different geographies with many different locations, making system configuration and deployment difficult.
Therefore, in order to have technologies integrated with optimal configuration, today's network computing enterprise requires an open, scalable and cross-platform approach. One such system solution is IBM's Tivoli (TM) Management Framework (“TMF”), which is the basis for a suite of management applications for complex computing system and network management. TMF has the following features and services:
Another tool that works well with TMF is IBM's TivoliEnterprise Console (“TEC”). TEC is a sophisticated, highly automated problem diagnosis and resolution tool aimed to improve system performance and reduce support costs. TEC is a rule-based event management application that integrates system, database, network, and application management. TEC has the ability to collect, process and automatically respond to common management events such as server failure, lost network connection or a successful completed batch processing job. Each TEC acts as a central collection point for alerts and events from various sources, prioritizing tasks based on the level of severity of received events, filtering redundant or low-priority events. TEC's coordination functionality also helps identify the reviewer to process specific events to resolve issues quickly.
IBM's Tivoli Management Framework serves as the foundation for Tivoli Enterprise Console. By utilizing the framework and console together, one can manage large distributed networks with multiple operating systems, which can use different network services performing diverse system operations that can change nodes and users constantly.
In order to understand TEC's existing processes, we turn now to
Based on the configuration of the system (32), a copy of each of the M related event reports is transmitted via a communications network (31), such as a dial-up modem with a telephone network, to one or more specified TEC servers (33a, 33b, 33n). These multiple copies of multiple event reports (e.g. M×n) are transmitted in an effort to assure that at least one TEC server successfully receives and acts on the failure. While this increases the reliability of the response system, these duplicate reports create redundant data and duplicate effort.
Turning to
Once each event report reaches a particular TEC server, appropriate data is stored in a local event database (43a,43b, . . . 43n). Using a distributed relational database synchronization product such as IBM's Lotus Notes (TM) and/or Domino (TM) products, the TEC server databases periodically synchronized (44) with each other based on predefined rules and time periods.
For example, event report A (not shown) is generated from event source (32x), and copies are sent to TEC servers 1 and 2 (33a, 33b). When it is received by TEC Server 1 (33a), it is immediately stored in TEC server 1's local database (43a). Likewise, when event report A from event source (32x) is received by TEC Server 2 (33b), it is immediately stored in TEC server 2's local database (43b). At this point, neither TEC server is aware that the other has received a copy of the event report, until the next database synchronization (44) occurs, such as minutes, hours or even days later, depending on the database synchronization schedule rules, availability of a network resource for the database synchronization process, and amount of data to be synchronized. Following the next synchronization process, TEC servers 1 and 2 are to be notified whether or not event report A is resolved by another TEC server. If not, then it may fall to the local personnel to resolve the problem as a backup resource for supporting the reporting event source system.
Because database synchronization is not immediate (e.g. not “realtime”), an event report may not be addressed by other backup TEC servers until after at least one synchronization period has elapsed. Further, each event source may be configured to report events to multiple TEC servers, such as 3, 4 or more TEC servers, which also implies update and synchronization delays with each of their databases before a particular TEC server would be aware that resolution of the problem falls to it and not another one of the servers.
Consequently, an extended delay in response time occurs which is an undesirable characteristic of the current processes. Further, as multiple copies of the same event reports are sent to multiple TEC servers simultaneously, the system stores duplicate data which can create redundant support effort in an attempt to reduce delays to resolving the problem(s). For example, if TEC Server 3 is defined as the second backup to TEC Server 2, which is the first backup to TEC Server 1 for a particular event source, and if technicians learn by experience that it may take up to 2 hours for the system to determine that neither TEC Server 1 or 2 are addressing a reported problem, then technicians associated with TEC Server 3 may be dispatched to resolve a problem prior to actual notification that TEC Servers 1 and 2 are not addressing the problem in anticipation of a 2 hour undesired delay. If, however, TEC Server 1 or 2 have begun to address the problem (e.g. a technician or software resolution process has been initiated), the effort of TEC Server 3 will be redundant, wasteful, and often confusing to the situation.
For these reasons, there exists a need in the art for a system and method which addresses reported events in a timely manner, maintains a system of backup servers, and deals with duplicate event reports while avoiding duplication of problem resolution efforts and confusion surrounding responsibility for problem resolution.
Additionally, there exists a need in the art for a system and method which provides real-time event synchronization between multiple event servers in order to respond to event reports immediately. Furthermore, there exists a need in the art to eliminate duplicate support efforts to reduce time and energy spent for cost saving purposes.
The following detailed description when taken in conjunction with the figures presented herein present a complete description of the present invention.
The present invention, referred to as TEC Event Sync (“TEvS”), provides a unique method to process reported events generated from multiple event sources within an event management system such as Tivoli (TM) Event Console (“TEC”), or with similar systems, products and tools.
TEvS provides an Event Bus, which links multiple TEC servers together and assigns an ownership to each report. TEvS preferably provides a set of TEvS modules deployed among multiple TEC servers to implement the Event Bus. The TEvS module parses each incoming event for adding or altering a slot value. Based on the slot value, the event is forwarded to the configured event servers. In addition, an enhanced embodiment has the ability to dynamically change ownership to maintain an error-free systematic transmission flow.
In another enhancement of the present invention, administrators or support staff have the ability to summarize event flood, calculate event statistics, and log or cache events. Furthermore, if a server or module fails, the sources would roll-over to a secondary server or module to continue the process. In the scenario where an owner is not designated, a slot value will be added or assigned to prompt the delegated server to act accordingly.
One preferred embodiment adheres to TEC's rule-based framework for specific implementation with TEC and TMF. The logical flow is a set of guidelines succinctly declared where TEC rules engine conducts an examination and verification during the process.
As such, the invention is highly useful and easy to manage, allowing effective and quicker response time to any system failure.
The present invention, Tech Event Synchronization (“TEvS”) provides a unique method to process reported events generated from multiple event sources within an event management system such as Tivoli (TM) Event Console (“TEC”) with the Tivoli (TM) Management Framework (“TMF”). However, it will be recognized by those skilled in the art that the present invention is not limited to realization with TEC/TMF, but may alternately be realized in conjunction with many other similar systems, products and tools. As our disclosure herein provides illustrative embodiments of the present invention relative to realization with TEC, it will be within the skill in the art to adapt the present invention to other products and platforms without departing from the scope of the present invention.
TEvS has been implemented in one embodiment as a JAVA application program independent of TEC, but may alternatively be implemented using any suitable programming language and methodology. The following definitions will be employed throughout this disclosure:
The present invention may be realized as a circuit, as a software-implemented process, or a combination of both. In one embodiment, the invention is realized as a feature or addition to software already found present on well-known computing platforms such as personal computers, web servers, and web browsers. These common computing platforms can include personal computers as well as portable computing platforms, such as personal digital assistants (“PDA”), web-enabled wireless telephones, and other types of personal information management (“PIM”) devices.
Therefore, it is useful to review a generalized architecture of a computing platform which may span the range of implementation, from a high-end web or enterprise server platform, to a personal computer, to a portable PDA or web-enabled wireless phone.
Turning to
Many computing platforms are also provided with one or more storage drives (9), such as a hard-disk drives (“HDD”), floppy disk drives, compact disc drives (CD, CD-R, CD-RW, DVD, DVD-R, etc.), and proprietary disk and tape drives (e.g., Iomega Zip™ and Jaz™, Addonics SuperDisk™, etc.). Additionally, some storage drives may be accessible over a computer network.
Many computing platforms are provided with one or more communication interfaces (10), according to the function intended of the computing platform. For example, a personal computer is often provided with a high speed serial port (RS-232, RS-422, etc.), an enhanced parallel port (“EPP”), and one or more universal serial bus (“USB”) ports. The computing platform may also be provided with a local area network (“LAN”) interface, such as an Ethernet card, and other high-speed interfaces such as the High Performance Serial Bus IEEE-1394.
Computing platforms such as wireless telephones and wireless networked PDA's may also be provided with a radio frequency (“RF”) interface with antenna, as well. In some cases, the computing platform may be provided with an infrared data arrangement (IrDA) interface, too.
Computing platforms are often equipped with one or more internal expansion slots (11), such as Industry Standard Architecture (“ISA”), Enhanced Industry Standard Architecture (“EISA”), Peripheral Component Interconnect (“PCI”), or proprietary interface slots for the addition of other hardware, such as sound cards, memory boards, and graphics accelerators.
Additionally, many units, such as laptop computers and PDA'S, are provided with one or more external expansion slots (12) allowing the user the ability to easily install and remove hardware expansion devices, such as PCMCIA cards, SmartMedia cards, and various proprietary modules such as removable hard drives, CD drives, and floppy drives.
Often, the storage drives (9), communication interfaces (10), internal expansion slots (11) and external expansion slots (12) are interconnected with the CPU (1) via a standard or industry open bus architecture (8), such as ISA, EISA, or PCI. In many cases, the bus (8) may be of a proprietary design.
A computing platform is usually provided with one or more user input devices, such as a keyboard or a keypad (16), and mouse or pointer device (17), and/or a touch-screen display (18). In the case of a personal computer, a full size keyboard is often provided along with a mouse or pointer device, such as a track ball or TrackPoint [TM]. In the case of a web-enabled wireless telephone, a simple keypad may be provided with one or more function-specific keys. In the case of a PDA, a touch-screen (18) is usually provided, often with handwriting recognition capabilities.
Additionally, a microphone (19), such as the microphone of a web-enabled wireless telephone or the microphone of a personal computer, is supplied with the computing platform. This microphone may be used for simply reporting audio and voice signals, and it may also be used for entering user choices, such as voice navigation of web sites or auto-dialing telephone numbers, using voice recognition capabilities.
Many computing platforms are also equipped with a camera device (100), such as a still digital camera or full motion video digital camera.
One or more user output devices, such as a display (13), are also provided with most computing platforms. The display (13) may take many forms, including a Cathode Ray Tube (“CRT”), a Thin Flat Transistor (“TFT”) array, or a simple set of light emitting diodes (“LED”) or liquid crystal display (“LCD”) indicators.
One or more speakers (14) and/or annunciators (15) are often associated with computing platforms, too. The speakers (14) may be used to reproduce audio and music, such as the speaker of a wireless telephone or the speakers of a personal computer. Annunciators (15) may take the form of simple beep emitters or buzzers, commonly found on certain devices such as PDAs and PIMs.
These user input and output devices may be directly interconnected (8′, 8″) to the CPU (1) via a proprietary bus structure and/or interfaces, or they may be interconnected through one or more industry open buses such as ISA, EISA, PCI, etc. The computing platform is also provided with one or more software and firmware (101) programs to implement the desired functionality of the computing platforms.
Turning now to
Additionally, one or more “portable” or device-independent programs (24) may be provided, which must be interpreted by an OS-native platform-specific interpreter (25), such as Java [TM] scripts and programs.
Often, computing platforms are also provided with a form of web browser or micro-browser (26), which may also include one or more extensions to the browser such as browser plug-ins (27).
The computing device is often provided with an operating system (20), such as Microsoft Windows™, UNIX, IBM OS/2™, LINUX, MAC OS™ or other platform specific operating systems. Smaller devices such as PDA's and wireless telephones may be equipped with other forms of operating systems such as real-time operating systems (“RTOS”) or Palm Computing's PalmOS™.
A set of basic input and output functions (“BIOS”) and hardware device drivers (21) are often provided to allow the operating system (20) and programs to interface to and control the specific hardware functions provided with the computing platform.
Additionally, one or more embedded firmware programs (22) are commonly provided with many computing platforms, which are executed by onboard or “embedded” microprocessors as part of the peripheral device, such as a micro controller or a hard drive, a communication processor, network interface card, or sound or graphics card.
As such,
Logic of TEvS
Turning now to
By adding a primary ownership or secondary ownership designation to each propagated event report, and by propagating each modified event report in real-time on the Event Bus (rather than waiting for a database synchronization to occur), each TEC Server is immediately notified of new events and is made aware of whether or not it is necessary to react immediately.
For example, if event report B received is flagged with TEC server 1 (33a) as the primary owner, immediately following, modified event report B′ is passed (68a) onto TEC server (33a), while nearly simultaneously, copies of the modified event report B′ is propagated (66) to one or more backup servers, preferably via one or more secured or high availability networks (64). The secured network (64) utilized for propagation of the modified event reports, referred to as “synch'ed event reports”, may include but not be limited to a virtual private network (“VPN”), a microwave relay, and Internet backbones that provide security and reliability. In an alternate embodiment, the communication network (31) is a lower level of a hierarchically organized network, and the secured network (64) is an upper or top level of the hierarchically organized network, wherein the TEC servers are top level servers, such as servers running on a high availability corporate network.
According to a preferred embodiment, a TEvS module (67a) is executed by or on the same computing platform as the TEC server (33a) for which it flags primary ownership (e.g. “local” processing). Alternatively, a TEvS module may be executed on a remote computing platform, or its logic may be implemented in programmable or hard logic or circuits, or a combination thereof.
TEvS modules (67a, 67b, . . . 67n) operate independently from each other in order to handle event reports generated, as shown in
Turning to
If (92) no owner designation exists in the event report (e.g. this is an unmodifed event report), then a rules base is consulted by the TEvS module to determine a primary owner, and an owner field is added (93) to the event report. According to the preferred embodiment, a TEC event report may be added by adding a “slot” in the report, and setting that slot's value to a value indicating which TEC server is the primary owner. In alternate embodiments in association with other management systems, the event report may be added by using specific language constructs, such as eXtensible Markup Language (“XML”) fields, binary data values, or any other data construct suitable for the associated management system.
However, when the event bus enable signal is true (e.g. when an owner designation does not already exists in an event report and the event bus is enabled), the input selector switch (102) directs the event report (63) data along a path (104) to a comparator (105) which determines if a primary owner designation parameter is contained within the event report data (63). If the comparator detects the existence of a primary owner designation parameter, an output selector switch (106) control signal is activated such that the data is directed along a path (110) to output the unmodified event report data to a local TEC server.
If the comparator does not detect existence of a primary owner designation parameter in the event report data, then output selector switch (106) control signal is activated such that the event report data is presented to a data selector (107) which implements logical owner selection rules, and provides an owner indication value (111) to a summation circuit (108). The summation circuit (108) also receives the event report data from the output selector switch (106), and combines the owner indication value (111) with the event report data to produce a modified event report data including an owner designation parameter. This modified event report data from the summation circuit (107) is then transmitted to a local TEC server, and to one or more alternate TEC servers, preferably through a buffering or one-way data transmission device.
Conclusion
The present invention has been described in general terms and by use of illustrative example embodiments. It is within the skill of those in the art to make certain alterations and modifications, such as programming language, computing platform, or implementation methodology, in order to realize an alternate embodiment of the invention for use with alternate management systems. Therefore, the scope of the present invention should be determined by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5692120 | Forman et al. | Nov 1997 | A |
5797128 | Birnbaum | Aug 1998 | A |
5872928 | Lewis et al. | Feb 1999 | A |
5887141 | Trugman et al. | Mar 1999 | A |
5941996 | Smith et al. | Aug 1999 | A |
6094681 | Shaffer et al. | Jul 2000 | A |
6108701 | Davies et al. | Aug 2000 | A |
6141759 | Braddy | Oct 2000 | A |
6151684 | Alexander et al. | Nov 2000 | A |
6223149 | Margulis et al. | Apr 2001 | B1 |
6253230 | Couland et al. | Jun 2001 | B1 |
6418468 | Ahlstrom et al. | Jul 2002 | B1 |
6449588 | Bowman-Amuah | Sep 2002 | B1 |
6473407 | Ditmer et al. | Oct 2002 | B1 |
6536000 | Jackson et al. | Mar 2003 | B1 |
6571285 | Groath et al. | May 2003 | B1 |
6654782 | O'Brien et al. | Nov 2003 | B1 |
6718376 | Chu et al. | Apr 2004 | B1 |
6718481 | Fair | Apr 2004 | B1 |
6829639 | Lawson et al. | Dec 2004 | B1 |
6845474 | Circenis et al. | Jan 2005 | B2 |
6918124 | Novik et al. | Jul 2005 | B1 |
7010588 | Martin et al. | Mar 2006 | B2 |
7246156 | Ginter et al. | Jul 2007 | B2 |
7376969 | Njemanze et al. | May 2008 | B1 |
7379999 | Zhou et al. | May 2008 | B1 |
7398530 | Parla et al. | Jul 2008 | B1 |
7412502 | Fearn et al. | Aug 2008 | B2 |
7529981 | Childress et al. | May 2009 | B2 |
7992033 | Childress et al. | Aug 2011 | B2 |
20010049717 | Freeman et al. | Dec 2001 | A1 |
20020010803 | Oberstein et al. | Jan 2002 | A1 |
20020107743 | Sagawa | Aug 2002 | A1 |
20020116248 | Amit et al. | Aug 2002 | A1 |
20020138571 | Trinon et al. | Sep 2002 | A1 |
20030005107 | Dulberg et al. | Jan 2003 | A1 |
20030014462 | Bennett et al. | Jan 2003 | A1 |
20030023719 | Castelli et al. | Jan 2003 | A1 |
20030046396 | Richter et al. | Mar 2003 | A1 |
20030229688 | Liang | Dec 2003 | A1 |
20040003080 | Huff | Jan 2004 | A1 |
20040030775 | Lauzon et al. | Feb 2004 | A1 |
20040210889 | Childress et al. | Oct 2004 | A1 |
20050010821 | Cooper et al. | Jan 2005 | A1 |
20050015777 | Liss et al. | Jan 2005 | A1 |
20050022210 | Zintel et al. | Jan 2005 | A1 |
20060117212 | Meyer et al. | Jun 2006 | A1 |
20090183024 | Childress et al. | Jul 2009 | A1 |
Number | Date | Country |
---|---|---|
07-334444 | Dec 1995 | JP |
11-096248 | Apr 1999 | JP |
2001-154884 | Jun 2001 | JP |
2001-222574 | Aug 2001 | JP |
2003-044321 | Feb 2003 | JP |
2001-361211 | Jun 2003 | JP |
Number | Date | Country | |
---|---|---|---|
20050198273 A1 | Sep 2005 | US |