WO2004025471A2 - Methods and apparatus for root cause identification and problem determination in distributed systems - Google Patents

Methods and apparatus for root cause identification and problem determination in distributed systems Download PDF

Info

Publication number
WO2004025471A2
WO2004025471A2 PCT/EP2003/010080 EP0310080W WO2004025471A2 WO 2004025471 A2 WO2004025471 A2 WO 2004025471A2 EP 0310080 W EP0310080 W EP 0310080W WO 2004025471 A2 WO2004025471 A2 WO 2004025471A2
Authority
WO
WIPO (PCT)
Prior art keywords
service
computing environment
components
component
root cause
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2003/010080
Other languages
English (en)
French (fr)
Other versions
WO2004025471A3 (en
Inventor
Alexander Keller
Gautam Kar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Compagnie IBM France SAS
International Business Machines Corp
Original Assignee
Compagnie IBM France SAS
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Compagnie IBM France SAS, International Business Machines Corp filed Critical Compagnie IBM France SAS
Priority to CA 2498065 priority Critical patent/CA2498065C/en
Priority to AU2003264290A priority patent/AU2003264290A1/en
Priority to JP2004535485A priority patent/JP2005538459A/ja
Publication of WO2004025471A2 publication Critical patent/WO2004025471A2/en
Publication of WO2004025471A3 publication Critical patent/WO2004025471A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/25Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Definitions

  • the present application is related to the concurrently-filed U.S. patent applications respectively identified as: attorney docket no. YOR920020097US1 entitled: "Methods And Apparatus For Managing Dependencies in Distributed Systems;” attorney docket no: SOM920020003US1 entitled: “Methods And Apparatus For Topology Discovery and Representation of Distributed Applications and Services;” attorney docket no. SOM920020004US1 entitled: “Methods And Apparatus For Impact Analysis and Problem Determination; " and attorney docket no. SOM920020005US1 entitled: “Methods And Apparatus For Dependency-based Impact Simulation and Vulnerability Analysis;” the disclosures of which are incorporated by reference herein.
  • the present invention relates to distributed computing systems and, more particularly, to methods and apparatus for analyzing and determining the root cause of a service outage based on dependencies between the various components of such distributed computing systems.
  • runtime generally refers to the time period when a piece of software is being executed and active in a computer system's memory, as opposed to being dormant and merely sitting in storage on a computer's hard drive.
  • being able to compose e-business applications at runtime means having the capability to do so without the need to bring down and restart the system/application and without the need to recompile the application.
  • the lifecycle of a computer program is: write program code -> compile (translate into machine code) -> run.
  • a service often plays both roles (e.g., a name service is required by many applications and services but depends, itself, on the proper functioning of other services, such as the operating system and the network protocols and infrastructure) .
  • dependency relationships are transitive, i.e., the dependent of a given component requires, in addition to the component itself, the components ' antecedent (s) .
  • IEEE 1995 addresses software distribution/deployment/installation.
  • the IEEE standard defines a mechanism for ensuring that new software components
  • the IEEE standard identifies three kinds of relationships: prerequisite, exrequisite, corequisite, that facilitate such compatibility checks . This is done individually or every system on which new software needs to be installed. With the IEEE standard, the software inventories present on other systems are not taken into account. Furthermore, the IEEE standard does not deal with instantiated applications and services and therefore does not represent any means of determining the dependencies between components at runtime.
  • Open Group Systems Management: Distributed Software Administration, CAE Specification C701, The Open Group, January 1998) extends IEEE 1387.2 by defining several commands (swinstall, swlist, swmodify, etc.) that are invoked by software installation tools on a specific system. Open Group also defines a software definition file format to make sure that the information required by the aforementioned commands is available from the system on which the commands are invoked.
  • the shortcomings of IEEE 1387.2 i.e., confined to a single isolated system, no means for determining software dependencies at runtime) also apply to the Open Group specification .
  • Patent No. 5,721,824 or updates/corrections/ fixes/patches
  • the present invention provides techniques for identifying the root cause of a component failure and performing appropriate problem determination procedures in accordance with a computing environment.
  • the inventive techniques may be applied to a distributed computing environment.
  • the computing environment may also be an autonomic computing environment .
  • a computer-based technique for determining a root cause of a condition (e.g., service outage) of at least one subject component in a computing environment comprises the following steps/operations .
  • Identification comprises traversing at least a portion of a model representative of an existence of one or more relationships associated with at least a portion of components of the computing environment and which is capable of accounting for a full lifecycle (e.g., including deployment, installation and runtime) associated with at least one component of the computing environment .
  • one or more procedures are performed in accordance with the one or more identified components to determine a condition status associated with each of the one or more identified components.
  • the procedures may be carried out either stepwise or in combination, and may include, by way of example, process inspection, exercising, heartbeats, and status indicators.
  • a component may be a service, an application, middleware, hardware, a device driver, an operating system or a system associated with the computing environment.
  • the term "component” is not limited to these examples .
  • FIG. 1 is a block diagram illustrating an example of a client-server application architecture with which features of the present invention can interact to produce information
  • FIG. 2A is a block diagram illustrating a system for providing dependency management according to an embodiment of the present invention
  • FIG. 2B is a block diagram illustrating a generalized hardware architecture of a computer system suitable for implementing a system for providing dependency management according to an embodiment of the present invention
  • FIG. 3 is a block diagram illustrating a functional dependency model of services according to an embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating a structural dependency model of services according to an embodiment of the present invention.
  • FIG. 5 is a block diagram illustrating a service lifecycle addressed by functional, structural and operational dependency models according to an embodiment of the present invention
  • FIG. 6 is a block diagram illustrating relationships between functional, structural and operational dependency models according to an embodiment of the present invention.
  • FIG. 7 is a block diagram illustrating components involved in analyzing and computing a root cause of a service outage according to an embodiment of the present invention
  • FIG. 8 is a block diagram illustrating components of a root cause analyzer according to an embodiment of the present invention
  • FIG. 9 is a flow diagram illustrating steps for invoking a dependency service and performing root cause analysis on an operational model according to an embodiment of the present invention
  • FIG. 10 is a flow diagram illustrating tasks of an administrator for creating and updating a functional dependency model according to an embodiment of the present invention.
  • FIG. 11 is a flow diagram illustrating steps for updating a structural dependency model by installing or removing hardware/software components on a computer system according to an embodiment of the present invention
  • FIG. 12 is a flow diagram illustrating performance of root cause analysis on an operational model according to an embodiment of the present invention
  • FIG. 13 is a flow diagram illustrating performance of root cause analysis on antecedents of a service according to an embodiment of the present invention
  • FIG. 14 is a flow diagram illustrating steps for determining a status of a service according to an embodiment of the present invention.
  • FIG. 15 depicts examples of root cause analyzer application programming interfaces according to an embodiment of the present invention.
  • system may be used to refer to a computer system, a software system and/or some combination thereof.
  • system may also be used to refer to an application and/or a service.
  • multi systems refers to a collection of several systems.
  • component may refer to a system, itself, or one or more portions of a system.
  • the first scenario deals with managing outsourced services, typically offered by Internet or Application Service Providers (ISP/ASP) .
  • Outsourcing services leads to layered service hierarchies where, e.g., the services of an ASP depend on the IP-connectivity (Internet Protocol-connectivity) offered by an ISP, which, in turn, relies on the wide area network of a telecom carrier.
  • IP-connectivity Internet Protocol-connectivity
  • a SAP delimits the boundary between the different organizational domains and is the place where Service Level Agreements (SLAs) are defined and observed. Usually, this is done at every layer by monitoring a set of specific parameters that are exposed by the provider.
  • the second scenario deals with the regular maintenance tasks that can not be done "on-the-fly" and therefore affect services and their customers: e.g., e-mail servers get updated with a new release of their operating system, network devices are exchanged or upgraded with a new firmware version, etc.
  • e-mail servers get updated with a new release of their operating system
  • network devices are exchanged or upgraded with a new firmware version, etc.
  • impact analysis it is important for the network and server administrators to determine in advance how many and, more specifically, which services and users are affected by the maintenance. We refer to this task as impact analysis.
  • Servlets gets instantiated by the servlet engine of the application server, performs its tasks and is then removed by the servlet engine. Consequently, a system for computing dependencies among these dynamic entities should address the trade-off between the accuracy of the data and the workload generated for retrieving this data.
  • Heterogeneity comes in three different flavors. First, the services offered to customers differ to a large degree. Second, there may be various providers involved in offering a service to a customer. Finally, the products implementing a service may stem from a variety of vendors. A system for computing dependencies should provide a language that is independent of specific operating systems, network protocols, software products and the services offered to a customer.
  • Taxonomy for Dependencies The notion of dependencies is very coarse and needs to be refined in order to be useful. Examples for this are the strength of a dependency (indicating the likelihood and the degree to which a component is affected if its antecedent fails) , the criticality (how important this dependency is with respect to the goals and policies of an enterprise), the degree of formalization (i.e., how difficult it is to obtain the dependency) and many more. There is a need to add attributes to dependencies that allow them to be qualified more appropriately; and accordingly, a need to reflect these attributes in the dependency representation.
  • an (abstract) service being offered to customers e.g., "Web Hosting,” “Managed Storage,” “IP Connectivity,” “Managed Database,” etc.
  • the implementation of a service i.e., the product (s) being used for providing the service, e.g., "IBM Universal Database version 7.1,” “WebSphere Application Server version 3.2;” and
  • the invention offers a generic and uniform approach for retrieving dependency information from computer systems that provide a mechanism for retrieving configuration information of individual computer systems or that provide such data in a machine-readable format.
  • One benefit of the aforementioned system is that a large amount of application/service management information can be obtained from these computer systems without having the need to instrument individual applications/services. However, if such application/service instrumentation is available, it can be used by the present invention.
  • the execution of the system described by the present invention may be triggered either by a specific (management) application (such as: impact analyzer, root cause analyzer), a network management platform (such as IBM/Tivoli NetView, HP OpenView or Aprisma Spectrum) or a management application based on traditional network management systems and platform .
  • a specific (management) application such as: impact analyzer, root cause analyzer
  • a network management platform such as IBM/Tivoli NetView, HP OpenView or Aprisma Spectrum
  • the present invention provides, inter alia, features for: (a) observing performance degradations and outages of subscribed services; (b) tracking down the root cause of the problem by traversing the different layers of the dependency model from the top to the bottom (since various services may be outsourced to other service providers, this (recursive) traversal of a dependency model crosses domain boundaries) ; and (c) analyzing the impact of a service outage by navigating the dependency model from the bottom to the top.
  • the invention combines dependency information that is available during the lifecycle of an application or service
  • the functional model defines dependencies between different generic services (database service, name service, web application service, connectivity service, etc.).
  • the functional model does not describe client/server relationships within a specific service.
  • the functional model neither takes into account which concrete products have been chosen to implement the services nor their actual configuration.
  • the functional model establishes the principal constraints to which the other models (described below) are bound, i.e., further models may refine the dependencies defined in the functional model with respect to a concrete system infrastructure but should not introduce new dependencies between service categories .
  • the model is very compact and generic and is preferably stored on the managing system.
  • the structural model contains the detailed descriptions of software components that realize the services defined in the functional model.
  • the structural model provides details captured during the installation/deployment phase and complements the functional model by taking the software inventory of concrete systems into account.
  • the structural model provides information about which services are installed and configured on a specific system and, for every service, whether the system operates in a client or a server role . The potentially high numbers of systems and services make it difficult to track these dependencies from a remote location.
  • Operational Model In a preferred implementation, when software packages get instantiated and bindings between services and applications are established, the operational model of dependencies is created. The high degree of dynamics of this model and large number of involved systems places a limitation on the extent to which the complete model can be instantiated and stored. It is not practical to define and store such a model, rather, the model has to be computed dynamically and stepwise. The operational model is therefore computed "on demand" and relies on the functional and structural models.
  • the amount of dependencies and their dynamics are extremely high in large-scale distributed systems.
  • the features of the present invention keep their impact on the distributed system (in terms of resource and bandwidth usage) as small as possible and leave as many configuration options that might affect the performance up to the user. Examples for this are: the time intervals for retrieving an updated dependency model, the range of the systems whose dependencies should be tracked, the depth of the dependency model (only services immediately affected versus transitive closure for a given service versus whole service hierarchy) .
  • inter-system are perceived as dependencies between the client and server parts of the same service. It is not possible that a client for service A issues requests to a server which provides a different service B.
  • One goal of the present invention is to retrieve information mainly from a few well-known/well-defined places (e.g., system repositories) in order to achieve a maximum degree of independence from concrete service/application instrumentation.
  • the invention defines a minimal and sufficient amount of commonly available dependency information.
  • the invention comprises facilities for storing dependency models persistently or leaves this to the discretion of a management application or another service that uses the invention .
  • the invention is enabled to have a notion of history in order to detect and determine changes in the dependency model .
  • the invention provides a publish/subscribe interface for notifying software components that have previously registered for changes within the dependency model. Another possible use of the invention is to leave the detection of changes in the dependency model up to the discretion of a management application (or a change management service) to issue periodic calls to the invention in order to determine whether changes in the dependency model have occurred.
  • the present invention provides techniques for identifying the root cause of a service outage and performing appropriate problem determination procedures.
  • Finding the root cause of a service outage involves the traversal of the service dependency graph from the top to the bottom to identify the candidate services that may have experienced a problem, which is then propagated to the service in question. This traversal from the service where the outage or degradation has been observed towards its antecedents retrieves the entities that a specific service directly depends on, or recursively selects the complete set of nodes, including sub-antecedents, that this service requires to function properly.
  • the list of nodes received by a root cause analyzer enables it to perform, in a second step, specific problem determination routines to check whether these services are operational .
  • These problem determination procedures involve determining whether a service is functioning properly or not.
  • the problem determination procedures may be carried out either:
  • stepwise i.e., the function test is carried out for every single service returned, or
  • problem determination procedures are carried out for all of them simultaneously.
  • the order in which these tests are carried out may be determined by precedence values computed from the strength of dependencies between services, which, in turn, are expressed as weights associated with such dependencies .
  • problem determination procedures may be used. Examples of problem determination procedures for distributed services and applications may include, but are not limited to:
  • Process Inspection For software applications that implement a service, one way to determine whether they are functioning properly is to verify if their processes (daemons) are running. This can be done in a non-intrusive way by inspecting the process table (or task list) of an operating system and does not require any instrumentation of the application. If the process (es) of an application are running, the application is considered to be in a healthy state. (ii) Exercising an application is an intrusive (and more precise) way of determining whether the application is fully operational, i.e., running, and performing its business function.
  • An “exerciser” is a transaction or command invoked from outside of the application that .exercises the application in some fairly complete way to determine if it is really alive and able to deliver its functionality in a timely way. What is exercised is a function of the application itself.
  • An analogy in networking is to test the connectivity via the ICMP (Internet Control Message Protocol) "ping" command, which sends time-stamped IP (Internet Protocol) packets to a resource. These packets are returned by the resource and thus allow a system to determine whether the resource is alive and to measure the round-trip delay.
  • ICMP Internet Control Message Protocol
  • Heartbeats allow the application to demonstrate that it is alive and well.
  • the application regularly announces that it is in a healthy operational state by generating events automatically and repeatedly.
  • the system listening for heartbeats must understand that if the timeout period expires between the heartbeat events then the application may not be functioning correctly.
  • Status indicators are specific management variables of an application that reflect the current status of an application implementing a service. Querying one or more status variables indicates the overall health of a service. However, this approach requires the application to be instrumented appropriately by exposing this information to the outside.
  • the root cause determination methodology of the invention may be performed for one or more subject components substantially concurrently (e.g., for one component at a time, or for multiple components in parallel) . At least a portion of results of the root cause determination methodology of the invention may be persistently stored, however, such results may not be persistently stored. Still further, a history of results associated with the root cause determination methodology of the invention may be maintained. Such history may be used to derive heuristics for subsequently determining the sequence of steps for determining the root cause. For example, a ranking may be established, from the history, of the most common outages and the next time a root cause analysis is invoked, the component that has been failing the most in the past is checked first.
  • FIG. 1 a block diagram illustrates an example of an electronic commerce system in the form of a client-server application architecture with which the features of the present invention can interact to produce information.
  • the architecture of FIG. 1 will be described below to illustrate how such an architecture may handle a transaction in the absence of the techniques of the invention.
  • a client system 105 is used to initiate a request, for example via keyboard. Requests, however, could be initiated by any conventional means such as by mouse click, voice command, bar code swipe, etc.
  • Examples of the client system 105 are personal computers, kiosks, data entry terminals, scanners, telephones, pagers, handheld or wearable devices, wireless devices, personal digital assistants, network-enabled watches, etc.
  • the request is acted upon locally where the request is formulated and forwarded to a web application server 120 over a network 110 and by passing through one or many network access 115 devices.
  • An example of the network 110 and communication protocol are socket-based communications riding on a TCP/IP (Transmission Control Protocol/Internet Protocol) transport across a local area network (LAN) that is connected by network access 115 devices such as routers and switches to a wide area network (WAN) containing many switching locations that create a virtual circuit to a service provider and eventually to a web application server 120.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • Examples of a web application server 120 are high-end personal computers, RISC-based PowerPC's, UNIX-based workstations, minicomputers or mainframe computers running software fielding requests from clients and distributing the requests to appropriate back-end database servers when appropriate.
  • a web application server includes, but are not limited to, those available from IBM Corporation under the trademark WEBSPHERE, from BEA Systems, Inc. under the trademark WEBLOGIC, or from Lotus under the trademark LOTUS DOMINO SERVER.
  • the business logic of the web application server 120 processes the incoming request and provides authentication and/or identification of the client system 105. Once the business logic implemented by the web application server 120 determines that the client may proceed with the purchase, it communicates another request via a network 123 to a database server 125 to decrement the inventory.
  • the database server 125 processes the request, accesses its database 130 and prepares a response to the web application server 120. Examples of database servers include, but are not limited to those sold by Microsoft under the trademark SQL/SERVER or TRANSACTION SERVER and by IBM Corporation under the trademark DB2 UNIVERSAL DATABASE SERVER.
  • the web application server 120 receives the response from the database server 125 and returns it via the network 110 to the client system 105.
  • the client system 105 then processes the response to format it for display and presents the response for the transaction initiator to review.
  • An administrator 100 observes the various software and hardware components, through which the business transaction is processed, located at the site of the service provider to determine if they function properly. In case of an outage 135 occurring at the database 130, such as a corrupted tablespace or a failure of the database runtime system, the task of the administrator 100 is to locate the cause of the outage, correct the problem and verify if the overall system is functioning properly again. It is to be understood that the invention is intended to operate with any form of outage or performance degradation.
  • the administrator 100 interacts with the software and hardware components either directly or through a management system that processes the administrative information (such as status and health data) exposed by software and hardware components at a well-defined management interface.
  • the hardware and software components are perceived by the administrator as isolated resources and not as being part of an overall system serving a specific business purpose.
  • errors occurring in one component may not be noticed because the administrator does not become aware of them due to lack of continuous monitoring.
  • no explicit information regarding the interdependencies between the various components is available to an administrator in a straightforward way. Thus, it is possible that an error within a component, which is not continuously monitored may go unnoticed until the failure propagates to a monitored component .
  • an administrator may eventually only become aware of the outage if the web application server 120 is not functioning properly anymore (for example, the load on the web application server increases drastically because it continuously retries to connect to the database server 125, and is unable to complete the requests sent by the client system 105) .
  • the administrator 100 would first examine the web application server 120, then determine if there is a network 123 connectivity problem and finally verify if the database server 125 is experiencing difficulties that might stem from an internal error in the database 130.
  • the client-server application architecture described above can be regarded as a precursor to an emerging computing environment referred to by IBM Corporation as an "autonomic" computing environment.
  • the term derives from the body's autonomic nervous system, which controls key functions without conscious awareness or involvement. More specifically, one of the goals of autonomic computing is to automate some or all of the tasks an administrator 100 would typically carry out. Motivation for doing so is as follows.
  • FIG. 2A a block diagram illustrates a system for providing dependency management according to an embodiment of the present invention. More specifically, FIG. 2A depicts a dependency management system that addresses the aforementioned issues.
  • the system comprises four layers (application layer 200, service layer 205, middleware layer 210 and resource layer 215) and an administrator graphical user interface 285 by which an administrator 100 interacts with the system.
  • the resource layer 215. comprises managed resources 220, a resource dependency repository 225 and a repository agent 230.
  • managed resources 220 include, but are not limited to, physical and logical hardware components (examples of the former are hard disks, random access memory, central processing units, network adapters, channel controllers, etc.; examples of the latter are disk partitions, file systems, etc.) and software components (such as operating system, system services like print spoolers or name services, and end-user applications) .
  • the resource dependency repository 225 contains the inventory of the hardware and software components of every managed resource 220 and the dependency information on a per-resource basis (i.e., the dependencies between the components within a managed resource 220).
  • the resource dependency repository 225 can be either co-located with every individual managed resource 220 or reside at a centralized location.
  • the resource dependency repository 225 can be queried, updated and modified through a repository agent 230, which makes the information of the resource dependency repository 225 available to other components of the system.
  • the middleware layer 210 comprises a management communication infrastructure 235 such as the protocols and object request brokers by which the different components of the system exchange (management) information.
  • the service layer 205 comprises various generic management services 250 such as policy, event and directory, which can be used by a variety of management applications .
  • a specifically important service is the dependency service 245, which retrieves information, both from the managed resources 220 and from the repository agent 230, and processes this information to establish an end-to-end dependency model of the overall resource environment.
  • This model (or parts of it) is stored in the end-to-end dependency repository 240, according to the needs (e.g., caching for faster retrieval) of the dependency service 245.
  • the dependency service 245 is the only component in the described system that directly interacts with the end-to-end dependency repository 240.
  • the application layer 200 comprises various management applications that use the generic management services 250 and/or the dependency service 245. Examples of such management applications include, but are not limited to, fault manager 260, topology generator 265, impact analyzer 270, impact simulator 275 and root cause analyzer 280.
  • the root cause analyzer 280 determines the root cause of an outage (i.e., the component that initially caused the outage) based on traversing the dependency model (provided by the dependency service 245) from a component affected by an outage towards its antecedents .
  • the impact analyzer 270 determines the impact of an outage (i.e., the components that are likely to be affected by the outage) based on traversing the dependency model (provided by the dependency service 245) from a component experiencing an outage towards its dependents .
  • the impact analyzer may employ the techniques disclosed in the above-referenced and concurrently-filed U.S. patent application identified by attorney docket no.
  • the impact simulator 275 based on the impact analyzer 270, allows an administrator 100 to carry out a "what-if” analysis by simulating the effects of an outage of a specific component on the overall system. This enables the provisioning of appropriate failover solutions.
  • the impact simulator may employ the techniques disclosed in the above-referenced and concurrently-filed U.S. patent application identified by attorney docket no. SOM920020005US1 entitled: “Methods And Apparatus For Dependency-based Impact Simulation and Vulnerability Analysis.”
  • the fault manager 260 performs appropriate "sanity checks" or tests on components that have been identified either by the root cause analyzer 280 or the impact analyzer
  • the fault manager can perform such tests upon the direction of the root cause analyzer 280 or the impact analyzer 270 (i.e., serve as an interface for these modules), and report back results thereto.
  • root cause analyzer 280 or the impact analyzer
  • the fault manager is preferably comprised of a collection of application-specific or resource-specific tools that allow a determination to be made whether the component that is being tested is working properly or not.
  • the fault manager may return a message indicating whether the component "works” or “does not work.”
  • These tools may be automated and/or manual.
  • a so-called "ping" program checks network connectivity. If the subject remote system answers to a ping, it is online and its network protocol stack (and all the underlying hardware, e.g., network adapter, cables, intermediate network components, etc.) works.
  • the fault manager may employ the ping program, as well as any number and type of other tools needed to test components of the distributed computing environment (e.g., heartbeat detection, status indication, etc . ) .
  • the topology generator 265 establishes (a subset of) the overall topology of a distributed system, comprising a vast amount of highly dynamic components, such as web applications, database instances and transactions.
  • An example for using the topology generator 265 is to display the components of a distributed system that are involved in fulfilling the requests of a specific client system 105.
  • the dependency model (or parts of it) is stored in the topology database 255, according to the needs (e.g., caching for faster retrieval) of the topology generator 265.
  • the topology generator 265 is the only component in the described system that directly interacts with the topology database 255.
  • the topology generator may employ the techniques disclosed in the above-referenced and concurrently-filed U.S. patent application identified by attorney docket no. SOM920020003US1 entitled: "Methods And Apparatus For Topology Discovery and
  • FIG. 2B a block diagram is shown illustrating a generalized hardware architecture of a computer system suitable for implementing the various functional components/modules of a system for providing dependency management as depicted in the figures and explained in detail herein.
  • the individual components of the dependency management system namely, components associated with the graphical user interface 285, the application layer 200, the service layer 205 and the middleware layer 210 (FIG. 2A)
  • the dependency management system may be implemented on one or more computer systems having an architecture as shown in FIG. 2B.
  • the other components shown in FIG. 2A e.g., the components associated with the resource layer 215, may also be implemented on similar computer systems.
  • the computer system may be implemented in accordance with a processor 290, a memory 292 and I/O devices 294.
  • processor as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other processing circuitry.
  • memory as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc.
  • RAM random access memory
  • ROM read only memory
  • a fixed memory device e.g., hard drive
  • removable memory device e.g., diskette
  • flash memory etc.
  • input/output devices or “I/O devices” as used herein is intended to include, for example, one or more input devices
  • processing unit e.g., keyboard
  • output devices e.g., CRT display and/or printer
  • processor may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
  • software components including instructions or code for performing the methodologies of the invention, as described herein, may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.
  • ROM read-only memory
  • RAM random access memory
  • FIG. 3 a block diagram illustrates a functional dependency model of services according to an embodiment of the present invention. More specifically, FIG. 3 depicts a functional application dependency graph between various components in an electronic commerce system such as the one depicted in FIG. 1.
  • This functional dependency model represents both the functional components of a distributed system and their dependencies.
  • the model defines dependencies between generic services, which are considered atomic from a business perspective. This implies that the functional model is not concerned with dependencies occurring within a business service.
  • Such a decomposition makes sense in the scope of a specific product being used to implement the service and will be discussed in more detail with reference to FIG. 4.
  • Functional components are the (sub-) services that a service provider needs to deploy for providing an end-to-end service to a customer, the latter being defined in a service level agreement.
  • the functional model focuses on the design of an end-to-end service and abstracts from the details of an end-to-end service's technical realization, such as the products being used for the service offering, their location
  • the provider domain i.e., whether the provider itself outsources some of its services to another service provider, transparent to the customer), etc.
  • an e-business application 300 service depends on a web application service 305 for hosting the business logic.
  • the web application service 305 requires two further services.
  • the static content of the electronic commerce website is provided by a web service 310, while a back-end database service 330 stores the dynamic content (such as product descriptions, user and manufacturer data, shopping carts, user profiles and preferences, payment information, etc.) of the e-business application 300 being offered to a customer.
  • the web service 310 depends, itself, on two services, namely, the name service 315 for mapping host names to IP addresses, and the IP service 320 for network connectivity.
  • FIG. 4 a block diagram illustrates a structural dependency model of services according to an embodiment of the present invention. More specifically, FIG. 4 depicts a structural application dependency graph between various components in an electronic commerce system such as the one depicted in FIG. 1.
  • This structural dependency model extends the functional model (FIG. 3) in the following ways.
  • the structural dependency model deals with the implementation of a business service and is focused on concrete products and their logical (modules, components) and physical (files, shared libraries) architecture.
  • the structural dependency model captures the detailed descriptions of software components, i.e., the system inventory, which is usually recorded in the various system repositories or in well-defined places, e.g., the configuration files of a managed resource 220.
  • system repositories include, but are not limited to, the IBM AIX Object Data Manager (ODM) , the Linux Red Hat Package Manager (RPM) or the Microsoft Windows Registry.
  • ODM IBM AIX Object Data Manager
  • RPM Linux Red Hat Package Manager
  • Microsoft Windows Registry Information relating to software components is typically captured during the installation and deployment of a software package.
  • the structural model contains the dependencies between the various system components, depicted as arrows. For the sake of clarity, the names of the business services are written without quotes, while the names of the elements of the structural model are written with quotes in FIG. 4.
  • the system with the fully qualified domain name wslab8.watson.ibm.com 400 hosts the following components: the e-business application (a business service defined in the functional model) , which is implemented as storefront servlets 410, the latter encapsulate the business logic of the application.
  • the web application service is implemented by IBM WebSphere version 3.5 415, while the web service is realized by the IBM HTTP Server version 1.3.6 420.
  • the IP service is implemented by the default IP protocol stack 430, the operating system (OS) is Win(dows) NT version 4 425.
  • the system with the fully qualified domain name rslab2.watson.ibm.com 405 hosts the following components: a database service implemented by (IBM) DB2 Universal Database
  • UDB version 5.2 435
  • AIX Advanced Interactive Executive
  • FIG. 5 a block diagram illustrates a service lifecycle addressed by functional, structural and operational dependency models according to an embodiment of the present invention. More specifically, FIG. 5 depicts the relationships between a functional model 500 and a structural model 510, described above, and introduces a third dependency model, an operational model 520. These three models enable the invention to track the services during their whole lifecycle, i.e., from the design stage to the installation and deployment stage, to the operational or runtime stage.
  • the functional model 500 relates to the design of the business services and is thus captured at the design time of a business system.
  • the structural model 510 is established.
  • the operational model 520 is created when the various components of the structural model 510 become instantiated (step 515) and when runtime bindings between them are established.
  • the operational model represents the characteristics of the previously described models at runtime.
  • the web application service 305 is implemented by IBM WebSphere 415; one or more instances of the latter are referred to as websphere-daemon 545.
  • the web (or WWW) service 310 is implemented by two products, namely, Apache 1.3.4 525 and Lotus Domino 530.
  • the running instances of these products can be identified as http daemons "httpd" 550.
  • the database service 330 is implemented by two products, namely, Oracle v7 535 and DB2 UDB 435; however, no instances of Oracle v7 535 are active because no server processes are visible in the operational model 520.
  • DB2 UDB 435 In contrast, four instances of DB2 UDB 435 are running, as can be seen from the presence of four DB2 daemons "db2d" 555 in the operational model 520.
  • the name service 315 is implemented by BIND version 5.6 540; the running instance of BIND can be observed as "named” 560 in the operational model 520.
  • the operational model 520 is highly dynamic and potentially very large. In contrast to the functional and structural dependency models, the operational model 520 is not stored in a repository or a database, but computed on demand and to the extent needed.
  • FIG. 6 a block diagram illustrates relationships between functional, structural and operational dependency models according to an embodiment of the present invention. More specifically, FIG. 6 depicts the details of the data template used for the three dependency models and the means for tying these models together by an example. The example details the template and its associated values for describing the name service during its lifecycle.
  • the functional template 605, used for the functional model 500 contains the "hostName” (the unique name of the computer system that hosts the service) , the "serviceName”
  • the structural template 610 used for the structural model 510, contains all the fields of the functional template 605, which allows to link the functional template 605 with the structural template 610 in order to navigate from the functional model 500 to the structural model 510, and vice-versa.
  • the structural template 610 contains the "componentName” (the name of the product component) , an "identifier” (a globally unique name for identifying the component), the "version,” “release” and “modification” (e.g., maintenance or patch/fix level) numbers, the "installState"
  • the operational template 615 used for the operational model 520, contains the fields "hostName” (the unique name of the computer system that hosts the service) and "processName"
  • the operational template 615 contains the fields "operState” (the operational state of the process, i.e., running, interrupted, zombie, etc.), "portNumber” (the number of the TCP/UDP port by which an application can connect to the process) , and, "instancelD” (to distinguish the various application instances within the scope of a computer system) .
  • the three dependency models are stored and computed at different places to achieve a maximum degree of efficiency.
  • the functional model 500 is gathered and stored at the management system 620, i.e., the central point of control by which the administrator 100 interacts with the distributed environment. Some of the reasons for this choice are as follows. As seen in the descriptions of FIG. 3 and FIG. 5, the functional model 500 is fairly compact because the amount of possible business services is limited. In addition, the functional model is not subject to overly frequent changes.
  • the functional model is defined at the time when a business service is provided to a customer and remains unchanged until the service offering period ends. Since the administrator 100 is responsible for setting up and updating the functional model 500, it is a natural choice to keep it close to the management system 620.
  • the structural model 510 captures the detailed descriptions of software components, i.e., the system inventory, which is usually recorded in the various system repositories or in well-defined places, e.g., the configuration files of managed resource 220. Consequently, it is both large sized (the content of a system repository tends to be between several hundred kilobytes and up to a few Megabytes) and also subject to frequent changes. Therefore, keeping the structural model 510 of a system at the managed resource 220, itself, eliminates both the communication overhead for updating the model and the need for vast amounts of storage that would occur if the structural models 510 of all managed resources (220) is stored at a centralized place.
  • the operational model 520 has been described in FIG. 5 as very dynamic and also extremely large because it covers potentially multiple instances of every application present on the computer systems of the distributed environment and the dependency relationships between them. Given the fact that current data centers of Internet/Application/Storage Service Providers and outsourcers consist of several thousands of computer systems with each hosting close to 100 applications and system services, an operational model comprising all the currently instantiated applications and their dependencies may be impractical. Thus, a practical approach is to compute the relevant parts of the operational model on demand (step 625) .
  • FIG. 7 a block diagram illustrates components involved in analyzing and computing the root cause of a service outage based on dynamic information technology (IT) service dependencies according to an embodiment of the present invention. More specifically, FIG. 7 depicts the data flows between the various components used for analyzing and computing such a root cause. It is assumed that the managed resources 220 are able to provide XML (Extensible Markup Language) descriptions of their system inventory, configuration files and their various dependencies. However, it should be noted that any data description format may be used in accordance with the invention. The details on how this information can be acquired are as follows.
  • XML Extensible Markup Language
  • the dependency service 245 makes use of information stored in system repositories 745 for generating appropriate service dependency information. This information is made available to the other components of the system through a web server 730.
  • the managed resources 220 expose their information by means of an instrumentation agent, called CIM (Common Information Model, which is a standardized management framework) provider 750, which interacts with a CIM Object Manager (CIMOM) 735, as proposed by the Distributed Management Task Force (DMTF) .
  • CIM Common Information Model
  • DMTF Distributed Management Task Force
  • various management services being part of the service layer 205, are depicted. These are: a name service 700, a trader service 710, an event service 715 and the dependency service 245.
  • the main tasks of the dependency service 245 are as follows:
  • the management system issues queries to the application programming interface (API) of the dependency service (245) .
  • API application programming interface
  • the invention aims at keeping the load on every involved system as low as possible.
  • the invention decouples the management system from the managed resources 220 and encapsulates the time consuming filter and join operations in the dependency service 245, which can be replicated on various systems. It is therefore possible to achieve a maximum level of parallelism for query operations, since the selection of an instance of the dependency service 245 can be done flexibly by the management system.
  • Another important advantage is that the (very large and highly dynamic) operational model 520 is not stored at a specific place but computed on demand in a stepwise manner.
  • the different parts of the structural model 510 are stored at the managed resources 220.
  • the management system therefore always receives the most recent information but is still free to store it according to elaborate caching policies.
  • a block diagram illustrates components of a root cause analyzer according to an embodiment of the present invention.
  • a root cause correlator 870 which functions as a flow coordinator for the entire root cause analysis process, receives service problem reports 880 from the administrator 100, providing the name of the service and the host name where the problem has been observed or reported.
  • the root cause correlator 870 interacts with the dependency service 245 in order to obtain a list of the basic services on which the problematic service depends . Examples of basic services would be: domain name service, IP connectivity service, etc.
  • the task of the dependency service 245 is to find the antecedents of the service in question, even if the e-commerce environment spans different managed domains 800. In order to deal with multiple domains, various (cascaded) instances of the dependency service 245 may work jointly together. In FIG. 8, the e-commerce environment is shown by the dotted rectangle. Typically, such environments contain one or more managed domains, eventually each with its own dependency database 810 and dependency service 245. The dependency service 245 returns the names and identifiers of the antecedents back to the root cause correlator 870, which then initiates further problem determination procedures to verify whether one or more antecedents experience difficulties. This can be accomplished via a number of approaches, some of which are illustrated below. A first approach assumes the presence of an event monitoring and distribution function, provided by an event monitor 820. Examples of such event monitors include, but are not limited to HP OpenView Event Services and Tivoli
  • the event monitor 820 receives events/alerts related to resources within the e-commerce environment and forwards the ones , which are relevant to an event database 830. Some events are informational in nature or are related to errors that are fixed automatically by the domain management services . These are typically filtered out and not forwarded to the event database 830. In practice, the event monitor 820 may comprise of a hierarchical arrangement of multiple event monitors, one for each managed domain.
  • an event-service correlator 840 The main function of an event-service correlator 840 is to provide, for a given service or resource, a list of outstanding alerts associated with that resource or service. It does so by interacting with event monitors 820 and stores the events in the event database 830 for further retrieval.
  • the root cause correlator 870 uses the event-service correlator 840 to estimate the likelihood of this being the case by getting a list of events that may have been reported about the suspected service or resource. If there is an undesirable event, for example buffer overflow, the likelihood of this resource being a root cause is high.
  • the root cause correlator 870 also interacts with the dependency services 245 for each of the managed domains in order get a set of possible root causes that lie within that domain.
  • the dependency service 245 interacts with domain dependency data 810, which is constructed during deployment and periodically updated during the operation phase of the e-commerce setup.
  • a second approach is to obtain the current status of a service or resource from a status monitor 860, which directly interacts with the services and verifies whether they are functioning properly or not (e.g., failed, not failed, degraded, etc.).
  • the status monitor may serve as the interface between the root cause analyzer and the fault manager so as to, among other advantages, make the root cause analyzer independent of any particular test procedure.
  • the status monitor 860 may therefore serve as a single point of contact for the root cause correlator 870 to determine the health of the service in question.
  • no functionality at all it is either not present or does not offer its functionality to other components through a programmatic interface. So while a human user may interact with the fault manager through a GUI (graphical user interface), no program (such as the correlator 870) can use it. Also note that a fault manager is meant to refer to a loose collection of system administration tools having completely different interfaces. The status monitor thus serves to integrate these various tools under a uniform interface. That is, the status monitor preferably operates to account for any mismatch between a root cause correlator which expects everything to be testable for status and the fault manager which may provide between 0 percent and 100 percent of this required functionality.
  • the root cause correlator 870 thus has two ways to determine whether a service is functioning properly or experiences a problem, i.e., the correlator can query the event-service correlator 840 for problem event reports relating to a service or directly look up the status of a service from the status monitor 860.
  • the root cause correlator 870 is free to choose by which of these at least two means it determines the health of a service. Further, the root cause correlator 870 may choose to obtain information both from the event-service correlator 840 and from the status monitor 860.
  • FIG. 9 a flow diagram illustrates steps for invoking a dependency service and performing root cause analysis on an operational model according to an embodiment of the present invention. More specifically, FIG. 9 depicts a methodology of invoking a dependency service (e.g., dependency service 245), collecting its results, and applying root cause analysis to them. This methodology is initiated either by an administrator 100 or a management application being part of the application layer 200, as described in FIG. 2A.
  • a dependency service e.g., dependency service 245
  • the methodology begins at block 900 and proceeds as follows.
  • a business service is selected (step 905), typically from the functional model, since an administrator is interested in the business services provided by the distributed system.
  • the structural model is queried to provide a selection of hosts that are involved in the provisioning of the business service. This can be either done by locating the structural models present on every host of the distributed system, or (for efficiency purposes) by querying a (periodically updated) service/host lookup table stored at the management system, which contains a mapping between the services and hosts present in the distributed system.
  • the administrator selects a host at his discretion (step 910) .
  • query parameters include, but are not limited to, the direction of the traversal (towards the service dependents, or towards its antecedents) , the depth of the traversal (e.g., only the immediate antecedents/dependents; the overall possible antecedents/dependents, i.e., the complete transitive closure of the operational model; only between the m-th and __-th layers of the operational model) , filtering criteria related either to the presence of attributes or to their values.
  • step 905 The fact that the order of the steps for selecting service (step 905), host (step 910) and the options for composing the query is prescribed here, emphasizes the "service-centric” approach (versus the "host-centric” approach of existing art) of the present invention.
  • steps 905, 910 and 915) may be made without departing from the spirit and scope of the present invention.
  • the dependency service is invoked (step 920) with these parameters.
  • the mode of invocation can be either synchronous (i.e., blocking the invoker until the results are returned by the dependency service) or asynchronous (thus allowing the invoker to perform additional tasks during the computation) .
  • the dependency service computes the appropriate part of the operational model and, depending on the mode of invocation, either sends the results back to the invoker or notifies the invoker that the results are available.
  • the invoker then collects the results and applies root cause analysis and appropriate problem determination procedures to them (step 925).
  • the methodology ends at block 930.
  • FIG. 10 a flow diagram illustrates tasks of an administrator for creating and updating a functional dependency model according to an embodiment of the present invention. This is necessary either if new (business) services are deployed and offered, or changes are applied to an existing model, or existing (business) services are withdrawn from an offering.
  • the methodology begins at block 1000 and proceeds as follows. An administrator or a management application evaluates whether a new business service should be added or an existing service is to be deleted (step 1005) . If this is not necessary, the methodology proceeds directly to block 1025. Otherwise, in step 1010, the service and its description are entered in (or removed from) the template 605 of the functional model, which has been described in FIG. 6.
  • step 1015 the service dependencies, i.e., its relationships regarding its antecedents, need to be added to (or removed from) the template 605 of the functional model.
  • the dependencies from the service dependents need to be adjusted to point to the antecedents of the service that is to be removed. This may involve checking for eventual duplicate descriptions within the dependencies of the antecedents.
  • the updated functional model is stored in the repository of the management system (step 1020). The methodology ends at block 1025.
  • FIG. 11 a flow diagram illustrates steps of updating a structural dependency model by installing or removing hardware/software components on a computer system according to an embodiment of the present invention. This is necessary either if new components are deployed and installed on a host, or existing components are removed from the host.
  • the methodology begins at block 1100 and proceeds as follows. If new hardware components are installed/removed, the verification and adjustment of their dependencies is usually performed by the operation system and is thus not described further here. Instead, the following description focuses on the task of adding/removing software components.
  • An administrator or a management application performing software distribution and installation evaluates whether a new software component should be added or an existing software component is to be deleted (step 1105) . If this is not necessary, the methodology proceeds directly to block 1125. Otherwise, in step 1110, the software components' descriptions are entered in (or removed from) the template 610 of the structural model, which has been described in FIG. 6. Then, in step 1115, the software components' dependencies, i.e., its relationships regarding its antecedents, needs to be added to (or removed from) the template 610 of the structural model.
  • the updated structural model is stored in the resource dependency repository of the host (step 1120) .
  • the methodology ends at block 1125.
  • FIG. 12 a flow diagram illustrates performance of root cause analysis on an operational model according to an embodiment of the present invention.
  • the methodology begins at block 1200 and proceeds as follows.
  • the system performing the root cause analysis on the operational dependency model is continuously listening for requests at a specific port of the host on which the system is executed, which is illustrated by the loop that connects step 1205 with itself. This is the standard behavior for server processes (“daemons”) that implement services, which can be invoked by applications at any time.
  • the system On reception of a request, the system extracts the input parameters from the request (step 1210) .
  • input parameters include, but are not limited to, the names of the service and the host in question, the direction of the traversal, the depth of the traversal, filtering criteria related either to the presence of attributes or to their values . These input parameters are then used to invoke the computation of the operational model, which is invoked in step 1215.
  • the results of the computation i.e., the operational model
  • the root cause analysis is then performed on the operational model (step 1220).
  • the results of the root cause analysis are returned to the invoking application, in accordance with the mode of invocation specified at the time of the invocation (step 1225).
  • any allocated resources of the host on which the system is running are released (step 1230) . Examples of host resources include, but are not limited to, memory, disk space or CPU registers.
  • the system returns back to its initial stage and listens for subsequent incoming requests (return to step 1205) .
  • a flow diagram illustrates performance of root cause analysis on antecedents of a service according to an embodiment of the present invention.
  • the methodology begins at block 1300 and proceeds as follows. First, the names of the targeted service and the host are obtained (step 1305) . These parameters are provided by the invoking management application, which obtains these parameters either directly from the administrator or from an event message that arrives at the management console. In addition, the search criteria according to the status of the antecedents are specified. They indicate whether the system should return the services that have encountered a problem
  • defective or the services that perform well.
  • a management application is interested in the former, i.e., the defective services.
  • search path is specified.
  • step 1310 the computation of the operational model is performed by the dependency service, according to the parameters "Service Name,” “Host Name,” “Antecedent status,” “search path” (step 1310).
  • step 1315 the results, i.e., the list of antecedent service elements ("Candidate List"), are obtained from the dependency service.
  • the first service element of the candidate list is selected (step 1325) and checked to determine whether it is functioning properly (step 1330) .
  • step 1350 the methodology then proceeds directly to step 1350, where either the list of working service elements or the list of defective service elements is returned to the invoker.
  • the results content depends on whether the invoker has been asking in step
  • FIG. 14 a flow diagram illustrates steps for determining a status of a service according to an embodiment of the present invention. More specifically, FIG.
  • FIG. 14 illustrates interactions of the root cause correlator 870 with the event-service correlator 840 and the status monitor 860, depicted in FIG. 8.
  • the methodology begins at block 1400 and proceeds as follows.
  • the name of the targeted service element is obtained (step 1405) .
  • This problem determination problem is described from the perspective of checking the status of a single service element, as may be done by the root cause correlator 870. It is to be understood that this procedure is repeated for every service in question. It is to be further understood that this procedure is carried out in step 1330 of FIG. 13.
  • the names of the targeted service elements are provided by the invoking management application, which obtains these parameters either directly from the administrator or from an event message that arrives at the management console.
  • the root cause correlator 870 queries the event-service correlator 840 for the presence of events relating to the service in question (step 1410) . These events indicate whether any problems with this service have been observed.
  • step 1415 the service element is flagged as "defective" (step 1415) , and the result is returned to the invoker (step 1430) . If step 1410 yields that no fault events have occurred for this service, it is necessary to perform further work to determine the status of a service. This is done by querying the status monitor 860 for the status of the service (step 1420) .
  • the task of the status monitor 860 comprises providing a uniform interface to status information for every service in the distributed system, regardless of how the status of the service is determined.
  • the table includes base APIs that can generate, send and request receipt of appropriate operational models for a given service and host name.
  • APIs can use one or more parameters (not shown) to identify characteristics (specified in the functional description) used by the APIs.
  • a “getDirectAntecedents (parameters)” API retrieves direct antecedents, regardless of their current status, of a service located on a specific host.
  • the “getAntecedentsRecursive (parameters)” API performs a recursive "drill-down,” i.e., it retrieves all the antecedents of a given service (regardless of their current status) , which is located on a specific host. It therefore returns all the services residing "below” a given service in the dependency hierarchy.
  • the “getLowestAntecedents (parameters)” retrieves the lowest antecedents of a service located on a specific host. This method yields the services that do not have any antecedents themselves (i.e., they reside in the lowest layer of the dependency hierarchy of a given service) .
  • the "getWorkingDirectAntecedents (parameters) " API retrieves direct antecedents with status "up" of a service located on a specific host.
  • “getWorkingAntecedentsRecursive (parameters)” API performs a recursive "drill-down,” i.e., it retrieves all the antecedents with status "up” of a given service, which is located on a specific host. It therefore returns all the working services residing "below” a given service in the dependency hierarchy.
  • the “getWorkingLowestAntecedents (parameters) " API retrieves the lowest antecedents with status "up” of a service located on a specific host. This method yields the services that do not have any antecedents themselves (i.e., they reside in the lowest layer of the dependency hierarchy of a given service) .
  • the “getDefectiveDirectAntecedents (parameters) " API retrieves direct antecedents with status "down” of a service located on a specific host.
  • the “getDefectiveAntecedentsRecursive (parameters) " API performs a recursive "drill-down,” i.e., it retrieves all the antecedents with status "down” of a given service, which is located on a specific host. It therefore returns all the failed services residing "below” a given service in the dependency hierarchy.
  • the “getDefectiveLowestAntecedents (parameters)” retrieves the lowest antecedents with status "down” of a service located on a specific host.
  • This method yields the services that do not have any antecedents themselves (i.e., they reside in the lowest layer of the dependency hierarchy of a given service) .
  • This API is particularly useful if a user or management application wants to determine quickly whether any "fundamental" service (e.g., network connectivity service) has failed without having to verify the status of "intermediate” services (such as name services) .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Multi Processors (AREA)
PCT/EP2003/010080 2002-09-11 2003-08-13 Methods and apparatus for root cause identification and problem determination in distributed systems Ceased WO2004025471A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA 2498065 CA2498065C (en) 2002-09-11 2003-08-13 Methods and apparatus for root cause identification and problem determination in distributed systems
AU2003264290A AU2003264290A1 (en) 2002-09-11 2003-08-13 Methods and apparatus for root cause identification and problem determination in distributed systems
JP2004535485A JP2005538459A (ja) 2002-09-11 2003-08-13 分散システム内の根本原因識別および問題判定のための方法および装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/241,213 2002-09-11
US10/241,213 US7096459B2 (en) 2002-09-11 2002-09-11 Methods and apparatus for root cause identification and problem determination in distributed systems

Publications (2)

Publication Number Publication Date
WO2004025471A2 true WO2004025471A2 (en) 2004-03-25
WO2004025471A3 WO2004025471A3 (en) 2004-06-03

Family

ID=31991140

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/010080 Ceased WO2004025471A2 (en) 2002-09-11 2003-08-13 Methods and apparatus for root cause identification and problem determination in distributed systems

Country Status (8)

Country Link
US (1) US7096459B2 (https=)
JP (1) JP2005538459A (https=)
KR (1) KR100763326B1 (https=)
CN (1) CN100350391C (https=)
AU (1) AU2003264290A1 (https=)
CA (1) CA2498065C (https=)
TW (1) TWI238329B (https=)
WO (1) WO2004025471A2 (https=)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316728A (ja) * 2004-04-28 2005-11-10 Mitsubishi Electric Corp 障害解析装置、障害解析方法及び障害解析プログラム
JP2006221400A (ja) * 2005-02-10 2006-08-24 Yokogawa Electric Corp 構成管理方法及びこれを用いた管理装置
WO2007035808A1 (en) * 2005-09-20 2007-03-29 Microsoft Corporation Server application state
US9477544B2 (en) 2014-01-16 2016-10-25 International Business Machines Corporation Recommending a suspicious component in problem diagnosis for a cloud application

Families Citing this family (264)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856942B2 (en) * 2002-03-09 2005-02-15 Katrina Garnett System, method and model for autonomic management of enterprise applications
AU2003247862A1 (en) * 2002-07-15 2004-02-02 Flarion Technologies, Inc. Methods and apparatus for improving resiliency of communication networks
US7505872B2 (en) * 2002-09-11 2009-03-17 International Business Machines Corporation Methods and apparatus for impact analysis and problem determination
US20040073436A1 (en) * 2002-10-10 2004-04-15 Opticom, Inc. Service chain management system
US8432942B1 (en) * 2003-05-16 2013-04-30 Apple Inc. Providing a timing source for multiple nodes coupled to a circuit-switched network
CA2435655A1 (en) * 2003-07-21 2005-01-21 Symbium Corporation Embedded system administration
CA2444834A1 (en) * 2003-10-10 2005-04-10 N-Able Technologies Inc. Multi-network monitoring architecture
US7409676B2 (en) * 2003-10-20 2008-08-05 International Business Machines Corporation Systems, methods and computer programs for determining dependencies between logical components in a data processing system or network
US8302111B2 (en) 2003-11-24 2012-10-30 Time Warner Cable Inc. Methods and apparatus for hardware registration in a network device
US7266726B1 (en) 2003-11-24 2007-09-04 Time Warner Cable Inc. Methods and apparatus for event logging in an information network
US20080052704A1 (en) * 2006-06-02 2008-02-28 Apple Computer, Inc. Media management system for management of games acquired from a media server
US9213538B1 (en) 2004-02-06 2015-12-15 Time Warner Cable Enterprises Llc Methods and apparatus for display element management in an information network
US20050235011A1 (en) * 2004-04-15 2005-10-20 Microsoft Corporation Distributed object classification
US7424530B2 (en) * 2004-05-06 2008-09-09 International Business Machines Corporation Method for visualizing results of root cause analysis on transaction performance data
US7552447B2 (en) * 2004-05-26 2009-06-23 International Business Machines Corporation System and method for using root cause analysis to generate a representation of resource dependencies
JP2006031109A (ja) * 2004-07-12 2006-02-02 Ntt Docomo Inc 管理システム及び管理方法
US7317914B2 (en) 2004-09-24 2008-01-08 Microsoft Corporation Collaboratively locating disconnected clients and rogue access points in a wireless network
US7760654B2 (en) * 2004-09-24 2010-07-20 Microsoft Corporation Using a connected wireless computer as a conduit for a disconnected wireless computer
US7603460B2 (en) * 2004-09-24 2009-10-13 Microsoft Corporation Detecting and diagnosing performance problems in a wireless network through neighbor collaboration
US7797698B2 (en) * 2004-11-17 2010-09-14 International Business Machines Corporation Method and apparatus for dynamic middleware assembly
US7996814B1 (en) 2004-12-21 2011-08-09 Zenprise, Inc. Application model for automated management of software application deployments
US20060177004A1 (en) * 2005-01-26 2006-08-10 N-Able Technologies International, Inc. Apparatus and method for monitoring network resources
US20060230133A1 (en) * 2005-03-24 2006-10-12 International Business Machines Corporation On demand problem determination based on remote autonomic modification of web application server operating characteristics
CA2504333A1 (en) * 2005-04-15 2006-10-15 Symbium Corporation Programming and development infrastructure for an autonomic element
US7623933B2 (en) 2005-06-10 2009-11-24 Time Warner Cable Inc. Methods and apparatus for controlling display in a networked device
US7657871B2 (en) 2005-07-22 2010-02-02 Sbc Knowledge Ventures, L.P. Method and system of managing configuration profiles of a plurality of deployed network elements
US7707559B2 (en) * 2005-08-30 2010-04-27 International Business Machines Corporation Analysis of errors within computer code
US20070124324A1 (en) * 2005-11-29 2007-05-31 International Business Machines Corporation Device, method and computer program product for monitoring a group of entities
US8635596B2 (en) * 2006-04-21 2014-01-21 Microsoft Corporation Model-based event processing
US7496893B2 (en) * 2006-06-15 2009-02-24 International Business Machines Corporation Method for no-demand composition and teardown of service infrastructure
US20070294364A1 (en) * 2006-06-15 2007-12-20 International Business Machines Corporation Management of composite software services
US20080062885A1 (en) * 2006-09-12 2008-03-13 Microsoft Corporation Major problem review and trending system
US7584163B2 (en) * 2006-09-14 2009-09-01 Sap Ag Method and system for expression evaluation
US8555247B2 (en) * 2006-10-13 2013-10-08 International Business Machines Corporation Systems and methods for expressing temporal relationships spanning lifecycle representations
US7529974B2 (en) * 2006-11-30 2009-05-05 Microsoft Corporation Grouping failures to infer common causes
US9614929B2 (en) * 2006-12-19 2017-04-04 International Business Machines Corporation Application server with automatic and autonomic application configuration validation
US7941391B2 (en) * 2007-05-04 2011-05-10 Microsoft Corporation Link spam detection using smooth classification function
US8046750B2 (en) * 2007-06-13 2011-10-25 Microsoft Corporation Disco: a simplified distributed computing library
US7925487B2 (en) * 2007-06-29 2011-04-12 Microsoft Corporation Replaying distributed systems
US8015546B2 (en) * 2007-08-03 2011-09-06 International Business Machines Corporation Rapidly assembling and deploying selected software solutions
US20090063387A1 (en) * 2007-08-31 2009-03-05 International Business Machines Corporation Apparatus And Method For Problem Determination And Resolution
US8751626B2 (en) * 2007-10-23 2014-06-10 Microsoft Corporation Model-based composite application platform
US20090165021A1 (en) * 2007-10-23 2009-06-25 Microsoft Corporation Model-Based Composite Application Platform
US7860900B2 (en) * 2008-02-25 2010-12-28 Microsoft Corporation Consistently signaling state changes
EP2255495A4 (en) * 2008-03-06 2013-05-29 Hewlett Packard Development Co FORECASTING THE SYSTEM IN A DATA CENTER THROUGH THE USE OF CORRELATION COEFFICIENT
US7933759B2 (en) 2008-03-28 2011-04-26 Microsoft Corporation Predicate checking for distributed systems
US20090254411A1 (en) * 2008-04-04 2009-10-08 Kamal Bhattacharya System and method for automated decision support for service transition management
JP4489128B2 (ja) * 2008-04-23 2010-06-23 株式会社日立製作所 コンピュータシステムを監視する装置及び方法
JP5423677B2 (ja) * 2008-08-04 2014-02-19 日本電気株式会社 障害解析装置、コンピュータプログラムおよび障害解析方法
JP5132779B2 (ja) 2008-10-30 2013-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害イベントの検出を支援する装置、障害イベントの検出を支援する方法及びコンピュータプログラム
US7904753B2 (en) * 2009-01-06 2011-03-08 International Business Machines Corporation Method and system to eliminate disruptions in enterprises
CN101808351B (zh) * 2009-02-17 2014-06-18 中兴通讯股份有限公司南京分公司 业务影响分析方法和系统
US7992040B2 (en) * 2009-02-20 2011-08-02 International Business Machines Corporation Root cause analysis by correlating symptoms with asynchronous changes
US20100217867A1 (en) * 2009-02-25 2010-08-26 International Business Machines Corporation System and method for creating and using service dependency graphs to automate the development and deployment of service oriented applications
US8117500B2 (en) * 2009-04-30 2012-02-14 Accenture Global Services Gmbh Systems and methods for identifying a relationship between multiple interrelated applications in a mainframe environment
US8134935B2 (en) * 2009-05-22 2012-03-13 International Business Machines Corporation Transaction topology discovery using constraints
US8171075B2 (en) * 2009-06-14 2012-05-01 International Business Machines Corporation Generating hints for more optimal processing of requests for information within an environment in which resources are abstracted using a model
US8365019B2 (en) * 2009-06-16 2013-01-29 International Business Machines Corporation System and method for incident management enhanced with problem classification for technical support services
US8181069B2 (en) * 2009-09-08 2012-05-15 International Business Machines Corporation Method and system for problem determination using probe collections and problem classification for the technical support services
US20110083123A1 (en) * 2009-10-05 2011-04-07 Microsoft Corporation Automatically localizing root error through log analysis
US8381033B2 (en) * 2009-10-30 2013-02-19 International Business Machines Corporation Fault management in virtual computing environments
US8949674B2 (en) 2010-01-28 2015-02-03 Drexel University Detection, diagnosis, and mitigation of software faults
CN102143008A (zh) * 2010-01-29 2011-08-03 国际商业机器公司 用于数据中心的诊断故障事件的方法及装置
JP5418610B2 (ja) * 2010-02-15 2014-02-19 日本電気株式会社 障害原因抽出装置、障害原因抽出方法およびプログラム記憶媒体
US8060782B2 (en) * 2010-03-01 2011-11-15 Microsoft Corporation Root cause problem identification through event correlation
US8707293B2 (en) * 2010-03-03 2014-04-22 Red Hat, Inc. Package management system
US8301937B2 (en) * 2010-05-26 2012-10-30 Ncr Corporation Heartbeat system
EP2596437A4 (en) 2010-07-20 2015-09-23 Hewlett Packard Development Co MONITORING INFORMATION OF A FORMATING SYSTEM
JP5527146B2 (ja) * 2010-09-30 2014-06-18 ブラザー工業株式会社 端末装置及びプログラム
US9092561B2 (en) * 2010-10-20 2015-07-28 Microsoft Technology Licensing, Llc Model checking for distributed application validation
US8549479B2 (en) * 2010-11-09 2013-10-01 Verisign, Inc. Test automation tool for domain registration systems
US9727441B2 (en) * 2011-08-12 2017-08-08 Microsoft Technology Licensing, Llc Generating dependency graphs for analyzing program behavior
US9122602B1 (en) 2011-08-31 2015-09-01 Amazon Technologies, Inc. Root cause detection service
US9003222B2 (en) 2011-09-30 2015-04-07 International Business Machines Corporation Configuration fault localization in shared resource environments
CN103186449A (zh) * 2011-12-28 2013-07-03 英业达股份有限公司 管理硬件效能的方法
US8892959B2 (en) 2012-01-17 2014-11-18 International Business Machines Corporation Automatic problem diagnosis
US8806277B1 (en) * 2012-02-01 2014-08-12 Symantec Corporation Systems and methods for fetching troubleshooting data
WO2013125037A1 (ja) * 2012-02-24 2013-08-29 株式会社日立製作所 コンピュータプログラムおよび管理計算機
CN103365755A (zh) * 2012-03-27 2013-10-23 台达电子工业股份有限公司 云端系统的主机监控及异常处理方法
CN102695185B (zh) * 2012-05-30 2015-05-06 北京神州泰岳软件股份有限公司 监控系统业务影响分析方法
US9244880B2 (en) * 2012-08-30 2016-01-26 Netspeed Systems Automatic construction of deadlock free interconnects
US8935572B2 (en) 2012-09-14 2015-01-13 International Business Machines Corporation Remediating events using behaviors
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US9064213B2 (en) 2013-02-05 2015-06-23 International Business Machines Corporation Dynamic model-based analysis of data centers
US9582395B2 (en) * 2013-03-14 2017-02-28 Netflix, Inc. Critical systems inspector
US9471726B2 (en) 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
US9471474B2 (en) * 2013-08-19 2016-10-18 Microsoft Technology Licensing, Llc Cloud deployment infrastructure validation engine
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US9311220B1 (en) * 2013-12-31 2016-04-12 Google Inc. System to uncover root cause of non-deterministic (flaky) tests
US9473415B2 (en) 2014-02-20 2016-10-18 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US10452366B2 (en) 2014-04-15 2019-10-22 Siemens Aktiengesellschaft Method and tool for engineering software architectures with its various software artifacts of complex cyber-physical systems of different technical domains
US9223767B1 (en) * 2014-06-28 2015-12-29 Vmware, Inc. Unified graphical user interface for displaying a plan of operations in a datacenter
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9571341B1 (en) 2014-10-01 2017-02-14 Netspeed Systems Clock gating for system-on-chip elements
US9424121B2 (en) * 2014-12-08 2016-08-23 Alcatel Lucent Root cause analysis for service degradation in computer networks
WO2016122460A1 (en) 2015-01-27 2016-08-04 Hewlett-Packard Development Company, Lp Configuration item integrity
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US9444702B1 (en) 2015-02-06 2016-09-13 Netspeed Systems System and method for visualization of NoC performance based on simulation output
US9568970B1 (en) 2015-02-12 2017-02-14 Netspeed Systems, Inc. Hardware and software enabled implementation of power profile management instructions in system on chip
US9928204B2 (en) 2015-02-12 2018-03-27 Netspeed Systems, Inc. Transaction expansion for NoC simulation and NoC design
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US10050843B2 (en) 2015-02-18 2018-08-14 Netspeed Systems Generation of network-on-chip layout based on user specified topological constraints
US9864728B2 (en) 2015-05-29 2018-01-09 Netspeed Systems, Inc. Automatic generation of physically aware aggregation/distribution networks
US9825809B2 (en) 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US9697103B2 (en) * 2015-07-30 2017-07-04 International Business Machines Corporation Automatic knowledge base generation for root cause in application performance management
US9772898B2 (en) * 2015-09-11 2017-09-26 International Business Machines Corporation Identifying root causes of failures in a deployed distributed application using historical fine grained machine state data
US9335991B1 (en) 2015-09-18 2016-05-10 ReactiveCore LLC System and method for providing supplemental functionalities to a computer program via an ontology instance
US9864598B2 (en) * 2015-09-18 2018-01-09 ReactiveCore LLC System and method for providing supplemental functionalities to a computer program
US9372684B1 (en) 2015-09-18 2016-06-21 ReactiveCore LLC System and method for providing supplemental functionalities to a computer program via an ontology instance
US9552200B1 (en) 2015-09-18 2017-01-24 ReactiveCore LLC System and method for providing supplemental functionalities to a computer program via an ontology instance
US11157260B2 (en) 2015-09-18 2021-10-26 ReactiveCore LLC Efficient information storage and retrieval using subgraphs
US10120552B2 (en) 2015-09-25 2018-11-06 International Business Machines Corporation Annotating collaborative content to facilitate mining key content as a runbook
US10320797B2 (en) 2015-09-25 2019-06-11 International Business Machines Corporation Enabling a multi-dimensional collaborative effort system
US10425452B2 (en) * 2015-09-25 2019-09-24 International Business Machines Corporation Identifying changes in multiple resources related to a problem
US9417949B1 (en) * 2015-12-10 2016-08-16 International Business Machines Corporation Generic alarm correlation by means of normalized alarm codes
US10255128B2 (en) 2016-08-17 2019-04-09 Red Hat, Inc. Root cause candidate determination in multiple process systems
US10650048B2 (en) * 2016-09-09 2020-05-12 Baidu Usa Llc Managing complex service dependencies in a data integration system
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10379929B2 (en) 2016-12-19 2019-08-13 Microsoft Technology Licensing, Llc Enhanced diagnostic and remediation system
US10313269B2 (en) 2016-12-26 2019-06-04 Netspeed Systems, Inc. System and method for network on chip construction through machine learning
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10084725B2 (en) 2017-01-11 2018-09-25 Netspeed Systems, Inc. Extracting features from a NoC for machine learning construction
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
KR101965839B1 (ko) * 2017-08-18 2019-04-05 주식회사 티맥스 소프트 구성정보 관리 데이터베이스 기반의 it 시스템 장애 분석 기법
EP3557453B1 (en) * 2017-08-29 2023-05-03 Siemens Aktiengesellschaft Method and device for determining data reading period
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
US11716558B2 (en) 2018-04-16 2023-08-01 Charter Communications Operating, Llc Apparatus and methods for integrated high-capacity data and wireless network services
US10795756B2 (en) * 2018-04-24 2020-10-06 EMC IP Holding Company LLC System and method to predictively service and support the solution
CN110609699B (zh) * 2018-06-15 2023-10-03 伊姆西Ip控股有限责任公司 维护存储系统的组件的方法、电子设备和计算机可读介质
US10831587B2 (en) * 2018-07-29 2020-11-10 Hewlett Packard Enterprise Development Lp Determination of cause of error state of elements in a computing environment based on an element's number of impacted elements and the number in an error state
US11044597B2 (en) 2018-08-07 2021-06-22 Charter Communications Operating, Llc Apparatus and methods for registration and operation in wireless networks
EP3864917A4 (en) 2018-10-12 2022-07-06 Charter Communications Operating, LLC APPARATUS AND METHODS FOR IDENTIFYING CELLS IN WIRELESS NETWORKS
US11449370B2 (en) 2018-12-11 2022-09-20 DotWalk, Inc. System and method for determining a process flow of a software application and for automatically generating application testing code
US10980025B2 (en) 2019-01-31 2021-04-13 Charter Communications Operating, Llc Methods and apparatus for frequency transition management in a quasi-licensed wireless system
US11129171B2 (en) 2019-02-27 2021-09-21 Charter Communications Operating, Llc Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system
US10747544B1 (en) 2019-06-27 2020-08-18 Capital One Services, Llc Dependency analyzer in application dependency discovery, reporting, and management tool
US11354222B2 (en) 2019-06-27 2022-06-07 Capital One Services, Llc Discovery crawler for application dependency discovery, reporting, and management tool
US10915428B2 (en) 2019-06-27 2021-02-09 Capital One Services, Llc Intelligent services and training agent for application dependency discovery, reporting, and management tool
US11093378B2 (en) 2019-06-27 2021-08-17 Capital One Services, Llc Testing agent for application dependency discovery, reporting, and management tool
US10521235B1 (en) * 2019-06-27 2019-12-31 Capital One Services, Llc Determining problem dependencies in application dependency discovery, reporting, and management tool
US10642719B1 (en) 2019-06-27 2020-05-05 Capital One Services, Llc Intelligent services for application dependency discovery, reporting, and management tool
US11379292B2 (en) 2019-06-27 2022-07-05 Capital One Services, Llc Baseline modeling for application dependency discovery, reporting, and management tool
EP3991030B1 (en) * 2019-06-27 2025-12-17 Capital One Services, LLC Determining problem dependencies in application dependency discovery, reporting, and management tool
US11200152B2 (en) 2019-07-02 2021-12-14 International Business Machines Corporation Identifying diagnosis commands from comments in an issue tracking system
US11422917B2 (en) * 2019-07-26 2022-08-23 Red Hat, Inc. Deriving software application dependency trees for white-box testing
IN201921030943A (https=) * 2019-07-31 2021-02-05
US11026205B2 (en) 2019-10-23 2021-06-01 Charter Communications Operating, Llc Methods and apparatus for device registration in a quasi-licensed wireless system
EP3823215B1 (en) * 2019-11-18 2024-11-13 Juniper Networks, Inc. Network model aware diagnosis of a network
US11405260B2 (en) * 2019-11-18 2022-08-02 Juniper Networks, Inc. Network model aware diagnosis of a network
US11533215B2 (en) 2020-01-31 2022-12-20 Juniper Networks, Inc. Programmable diagnosis model for correlation of network events
CN113206749B (zh) 2020-01-31 2023-11-17 瞻博网络公司 网络事件的相关性的可编程诊断模型
US11025508B1 (en) 2020-04-08 2021-06-01 Servicenow, Inc. Automatic determination of code customizations
US11296922B2 (en) 2020-04-10 2022-04-05 Servicenow, Inc. Context-aware automated root cause analysis in managed networks
US10999152B1 (en) 2020-04-20 2021-05-04 Servicenow, Inc. Discovery pattern visualizer
US11301435B2 (en) 2020-04-22 2022-04-12 Servicenow, Inc. Self-healing infrastructure for a dual-database system
US11392768B2 (en) 2020-05-07 2022-07-19 Servicenow, Inc. Hybrid language detection model
US11263195B2 (en) 2020-05-11 2022-03-01 Servicenow, Inc. Text-based search of tree-structured tables
US11470107B2 (en) 2020-06-10 2022-10-11 Servicenow, Inc. Matching configuration items with machine learning
US11277359B2 (en) 2020-06-11 2022-03-15 Servicenow, Inc. Integration of a messaging platform with a remote network management application
US11451573B2 (en) 2020-06-16 2022-09-20 Servicenow, Inc. Merging duplicate items identified by a vulnerability analysis
US11379089B2 (en) 2020-07-02 2022-07-05 Servicenow, Inc. Adaptable user interface layout for applications
US11277321B2 (en) 2020-07-06 2022-03-15 Servicenow, Inc. Escalation tracking and analytics system
US11301503B2 (en) 2020-07-10 2022-04-12 Servicenow, Inc. Autonomous content orchestration
US11449535B2 (en) 2020-07-13 2022-09-20 Servicenow, Inc. Generating conversational interfaces based on metadata
US11269711B2 (en) 2020-07-14 2022-03-08 Juniper Networks, Inc. Failure impact analysis of network events
US11632300B2 (en) 2020-07-16 2023-04-18 Servicenow, Inc. Synchronization of a shared service configuration across computational instances
US11748115B2 (en) 2020-07-21 2023-09-05 Servicenow, Inc. Application and related object schematic viewer for software application change tracking and management
US11343079B2 (en) 2020-07-21 2022-05-24 Servicenow, Inc. Secure application deployment
US11272007B2 (en) 2020-07-21 2022-03-08 Servicenow, Inc. Unified agent framework including push-based discovery and real-time diagnostics features
US11095506B1 (en) 2020-07-22 2021-08-17 Servicenow, Inc. Discovery of resources associated with cloud operating system
US11582106B2 (en) 2020-07-22 2023-02-14 Servicenow, Inc. Automatic discovery of cloud-based infrastructure and resources
US11275580B2 (en) 2020-08-12 2022-03-15 Servicenow, Inc. Representing source code as implicit configuration items
US11372920B2 (en) 2020-08-31 2022-06-28 Servicenow, Inc. Generating relational charts with accessibility for visually-impaired users
US11245591B1 (en) 2020-09-17 2022-02-08 Servicenow, Inc. Implementation of a mock server for discovery applications
US11625141B2 (en) 2020-09-22 2023-04-11 Servicenow, Inc. User interface generation with machine learning
US11150784B1 (en) 2020-09-22 2021-10-19 Servicenow, Inc. User interface elements for controlling menu displays
US11632303B2 (en) 2020-10-07 2023-04-18 Servicenow, Inc Enhanced service mapping based on natural language processing
US11734025B2 (en) 2020-10-14 2023-08-22 Servicenow, Inc. Configurable action generation for a remote network management platform
US11342081B2 (en) 2020-10-21 2022-05-24 Servicenow, Inc. Privacy-enhanced contact tracing using mobile applications and portable devices
US11258847B1 (en) 2020-11-02 2022-02-22 Servicenow, Inc. Assignments of incoming requests to servers in computing clusters and other environments
US11868593B2 (en) 2020-11-05 2024-01-09 Servicenow, Inc. Software architecture and user interface for process visualization
US11363115B2 (en) 2020-11-05 2022-06-14 Servicenow, Inc. Integrated operational communications between computational instances of a remote network management platform
US11281442B1 (en) 2020-11-18 2022-03-22 Servicenow, Inc. Discovery and distribution of software applications between multiple operational environments
US11693831B2 (en) 2020-11-23 2023-07-04 Servicenow, Inc. Security for data at rest in a remote network management platform
US11831518B2 (en) * 2020-11-25 2023-11-28 Cerner Innovation, Inc. Dashboard interface
US11269618B1 (en) 2020-12-10 2022-03-08 Servicenow, Inc. Client device support for incremental offline updates
US11216271B1 (en) 2020-12-10 2022-01-04 Servicenow, Inc. Incremental update for offline data access
JP7047054B2 (ja) * 2020-12-28 2022-04-04 エヌ・ティ・ティ・コミュニケーションズ株式会社 試験自動化装置、試験方法、及びプログラム
US11630717B2 (en) 2021-01-06 2023-04-18 Servicenow, Inc. Machine-learning based similarity engine
US11301365B1 (en) 2021-01-13 2022-04-12 Servicenow, Inc. Software test coverage through real-time tracing of user activity
US11418586B2 (en) 2021-01-19 2022-08-16 Servicenow, Inc. Load balancing of discovery agents across proxy servers
US11301271B1 (en) 2021-01-21 2022-04-12 Servicenow, Inc. Configurable replacements for empty states in user interfaces
US11921878B2 (en) 2021-01-21 2024-03-05 Servicenow, Inc. Database security through obfuscation
US11513885B2 (en) 2021-02-16 2022-11-29 Servicenow, Inc. Autonomous error correction in a multi-application platform
US11277369B1 (en) 2021-03-02 2022-03-15 Servicenow, Inc. Message queue architecture and interface for a multi-application platform
US11831729B2 (en) 2021-03-19 2023-11-28 Servicenow, Inc. Determining application security and correctness using machine learning based clustering and similarity
US12254063B2 (en) 2021-03-22 2025-03-18 Servicenow, Inc. Cross-modality curiosity for sparse-reward tasks
US11640369B2 (en) 2021-05-05 2023-05-02 Servicenow, Inc. Cross-platform communication for facilitation of data sharing
US11635752B2 (en) 2021-05-07 2023-04-25 Servicenow, Inc. Detection and correction of robotic process automation failures
US11635953B2 (en) 2021-05-07 2023-04-25 Servicenow, Inc. Proactive notifications for robotic process automation
US11593192B2 (en) * 2021-05-17 2023-02-28 International Business Machines Corporation Detecting resource redundancy and conflicts in a heterogeneous computing environment
US11586491B2 (en) 2021-05-27 2023-02-21 International Business Machines Corporation Service issue source identification in an interconnected environment
US12585929B2 (en) 2021-05-28 2026-03-24 Servicenow, Inc. Layered gradient accumulation and modular pipeline parallelism for improved training of machine learning models
US11277475B1 (en) 2021-06-01 2022-03-15 Servicenow, Inc. Automatic discovery of storage cluster
US11762668B2 (en) 2021-07-06 2023-09-19 Servicenow, Inc. Centralized configuration data management and control
US11418571B1 (en) 2021-07-29 2022-08-16 Servicenow, Inc. Server-side workflow improvement based on client-side data mining
US11516307B1 (en) 2021-08-09 2022-11-29 Servicenow, Inc. Support for multi-type users in a single-type computing system
US12254352B2 (en) 2021-10-28 2025-03-18 Servicenow, Inc. Reduced memory utilization for data analytics procedures
US11960353B2 (en) 2021-11-08 2024-04-16 Servicenow, Inc. Root cause analysis based on process optimization data
US11734381B2 (en) 2021-12-07 2023-08-22 Servicenow, Inc. Efficient downloading of related documents
US12099567B2 (en) 2021-12-20 2024-09-24 Servicenow, Inc. Viewports and sub-pages for web-based user interfaces
US12437250B2 (en) 2021-12-21 2025-10-07 Servicenow, Inc. Multi-dimensional process mining and analysis
US12001502B2 (en) 2022-01-11 2024-06-04 Servicenow, Inc. Common fragment caching for web documents
US11829233B2 (en) 2022-01-14 2023-11-28 Servicenow, Inc. Failure prediction in a computing system based on machine learning applied to alert data
US12261904B2 (en) 2022-01-20 2025-03-25 Servicenow, Inc. Nested request-response protocol network communications
US12481416B2 (en) 2022-02-01 2025-11-25 Servicenow, Inc. Progressive refresh of user interface screens
US11582317B1 (en) 2022-02-07 2023-02-14 Servicenow, Inc. Payload recording and comparison techniques for discovery
US11734150B1 (en) 2022-06-10 2023-08-22 Servicenow, Inc. Activity tracing through event correlation across multiple software applications
US11989538B2 (en) 2022-06-21 2024-05-21 Servicenow, Inc. Orchestration for robotic process automation
US12231508B2 (en) 2022-07-12 2025-02-18 Servicenow, Inc. Rapid error detection through command validation
US12056473B2 (en) 2022-08-01 2024-08-06 Servicenow, Inc. Low-code / no-code layer for interactive application development
US12095634B2 (en) 2022-08-12 2024-09-17 Servicenow, Inc. Hybrid request routing system
US11983187B2 (en) * 2022-08-29 2024-05-14 Schlumberger Technology Corporation Global status monitoring for open data platform
US12500820B2 (en) 2022-09-20 2025-12-16 Servicenow, Inc. Smart detection for determination of database accuracy
US12039328B2 (en) 2022-09-30 2024-07-16 Servicenow, Inc. Configuration items for supporting automations and efficacies thereof
US12141048B2 (en) 2022-10-12 2024-11-12 Servicenow, Inc. Machine learning model for determining software defect criticality
KR102517831B1 (ko) 2022-11-30 2023-04-04 한화시스템 주식회사 미션 크리티컬 시스템 환경에서의 소프트웨어 관리방법 및 그 시스템
US12072775B2 (en) 2022-12-07 2024-08-27 Servicenow, Inc. Centralized configuration and change tracking for a computing platform
US12147487B2 (en) 2022-12-07 2024-11-19 Servicenow, Inc. Computationally efficient traversal of virtual tables
US12487906B2 (en) 2022-12-22 2025-12-02 Servicenow, Inc. Discovery and predictive simulation of software-based processes
US12536044B2 (en) 2023-01-10 2026-01-27 Servicenow, Inc. Efficient cloud-based discovery of computing resources
US12192245B2 (en) 2023-01-23 2025-01-07 Servicenow, Inc. Control of cloud infrastructure configuration
US12299419B2 (en) 2023-01-26 2025-05-13 Servicenow, Inc. Unified framework for configuration and deployment of platform intelligence
US12395415B2 (en) 2023-02-21 2025-08-19 Kyndryl, Inc. Service health assessment
US12499311B2 (en) 2023-03-03 2025-12-16 Servicenow, Inc. Language model preprocessing with weighted n-grams
US20240323095A1 (en) * 2023-03-24 2024-09-26 Dynatrace Llc Component Based, Customizable Design Environment For Complex Analysis Processes On Monitoring Data
US12131168B1 (en) 2023-04-18 2024-10-29 Servicenow, Inc. Outcome-oriented automation platform
US12222834B2 (en) 2023-05-24 2025-02-11 Servicenow, Inc. Discovery troubleshooting based on machine learning
US12294581B2 (en) 2023-06-14 2025-05-06 Servicenow, Inc. Identifying security vulnerabilities based on access control lists
US12561192B2 (en) * 2023-06-20 2026-02-24 Microsoft Technology Licensing, Llc Leveraging health statuses of dependency instances to analyze outage root cause
US12437158B2 (en) 2023-07-18 2025-10-07 Servicenow, Inc. Method for filtering and semi-automatically labeling training data
US12425195B2 (en) 2023-07-24 2025-09-23 Service Now, Inc. Client-side sharing of cryptographic keys
US12248361B2 (en) 2023-07-31 2025-03-11 Servicenow, Inc. Parallelized exception handling for large datasets
US12499119B2 (en) 2023-08-07 2025-12-16 Servicenow, Inc. Template-based generation of synthetic data sets
US12518041B2 (en) 2023-08-18 2026-01-06 Servicenow, Inc. Configurable security policy architecture
TWI860074B (zh) * 2023-09-01 2024-10-21 英業達股份有限公司 資料處理方法及資料處理裝置
US12474900B2 (en) 2023-09-08 2025-11-18 Servicenow, Inc. Interface element configuration and management for application platforms
US12554380B2 (en) 2023-09-18 2026-02-17 Servicenow, Inc. Component selector for user interfaces with dynamic identifiers
KR102679450B1 (ko) * 2023-10-11 2024-07-01 쿠팡 주식회사 서버 및 이의 에러 분석 방법
US12362995B2 (en) 2023-11-06 2025-07-15 Servicenow, Inc. Reconciliation of partial configuration items
US20250219893A1 (en) * 2023-12-27 2025-07-03 Servicenow, Inc. Root Cause and Impact Determination Based on Automated Service Identification
US12254014B1 (en) 2024-02-23 2025-03-18 Servicenow, Inc. Document creation with guided generative artificial intelligence
US12438790B1 (en) 2024-03-26 2025-10-07 Servicenow, Inc. Network anomaly detection using clustering
US12587432B2 (en) 2024-05-16 2026-03-24 Servicenow, Inc. Visual map for network alerts
US12563115B2 (en) 2024-06-20 2026-02-24 Servicenow, Inc. Database offload with node-to-node communication

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751635A (en) 1986-04-16 1988-06-14 Bell Communications Research, Inc. Distributed management support system for software managers
US5099436A (en) * 1988-11-03 1992-03-24 Allied-Signal Inc. Methods and apparatus for performing system fault diagnosis
ATE154850T1 (de) * 1990-09-17 1997-07-15 Cabletron Systems Inc Netzwerkverwaltungssystem mit modellbasierter intelligenz
EP0496494A3 (en) 1991-01-22 1993-05-12 International Business Machines Corporation Software maintenance system
US5793933A (en) * 1993-09-13 1998-08-11 Kabushiki Kaisha Toshiba Computer-implemented system and method for constructing a system
US5528516A (en) * 1994-05-25 1996-06-18 System Management Arts, Inc. Apparatus and method for event correlation and problem reporting
DE4428132C2 (de) 1994-08-06 1996-07-18 Ibm Verfahren zur automatischen Überprüfung eines Datenübertragungsnetzwerks
US5805891A (en) 1995-07-26 1998-09-08 International Business Machines Corporation System and method for managing maintenance of computer software
US5835777A (en) 1996-03-20 1998-11-10 Hewlett-Packard Company Method of automatically generating a software installation package
US5721824A (en) 1996-04-19 1998-02-24 Sun Microsystems, Inc. Multiple-package installation with package dependencies
US5867714A (en) 1996-10-31 1999-02-02 Ncr Corporation System and method for distributing configuration-dependent software revisions to a computer system
GB9623298D0 (en) 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US6012152A (en) * 1996-11-27 2000-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Software fault management system
US5960196A (en) 1996-12-18 1999-09-28 Alcatel Usa Sourcing, L.P. Software release metric reporting system and method
US6353923B1 (en) * 1997-03-12 2002-03-05 Microsoft Corporation Active debugging environment for debugging mixed-language scripting code
US5953533A (en) 1997-08-27 1999-09-14 Lucent Technologies Inc. Computer software distribution, installation and maintenance method and apparatus
US6009525A (en) 1997-08-29 1999-12-28 Preview Systems, Inc. Multi-tier electronic software distribution
US6317868B1 (en) * 1997-10-24 2001-11-13 University Of Washington Process for transparently enforcing protection domains and access control as well as auditing operations in software components
US6138122A (en) * 1998-03-02 2000-10-24 Agilent Technologies Modeling of internet services
US6748555B1 (en) * 1999-09-09 2004-06-08 Microsoft Corporation Object-based software management
US6301701B1 (en) * 1999-11-10 2001-10-09 Tenfold Corporation Method for computer-assisted testing of software application components
US6587960B1 (en) * 2000-01-11 2003-07-01 Agilent Technologies, Inc. System model determination for failure detection and isolation, in particular in computer systems
US6879988B2 (en) * 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US6880086B2 (en) * 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US6934749B1 (en) * 2000-05-20 2005-08-23 Ciena Corporation Tracking distributed data retrieval in a network device
US7185076B1 (en) * 2000-05-31 2007-02-27 International Business Machines Corporation Method, system and program products for managing a clustered computing environment
US6684386B1 (en) * 2000-06-13 2004-01-27 Unisys Corporation Method for converting a UML rendering of an RSM-based metamodel to a UML rendering of MOF-based metamodel
GB2391367A (en) * 2001-04-24 2004-02-04 Wvhtc Foundation Software suitability testing system
US6895573B2 (en) * 2001-10-26 2005-05-17 Resultmaker A/S Method for generating a workflow on a computer, and a computer system adapted for performing the method
US6993487B2 (en) * 2002-02-22 2006-01-31 Maxima Blue Ltd. Software code comments management method and system supporting speech recognition technology
US7039899B1 (en) * 2002-03-27 2006-05-02 Oracle International Corporation System and method for automatically generating a script for testing software
US6847970B2 (en) * 2002-09-11 2005-01-25 International Business Machines Corporation Methods and apparatus for managing dependencies in distributed systems

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316728A (ja) * 2004-04-28 2005-11-10 Mitsubishi Electric Corp 障害解析装置、障害解析方法及び障害解析プログラム
JP2006221400A (ja) * 2005-02-10 2006-08-24 Yokogawa Electric Corp 構成管理方法及びこれを用いた管理装置
WO2007035808A1 (en) * 2005-09-20 2007-03-29 Microsoft Corporation Server application state
US7698691B2 (en) 2005-09-20 2010-04-13 Microsoft Corporation Server application state
US9477544B2 (en) 2014-01-16 2016-10-25 International Business Machines Corporation Recommending a suspicious component in problem diagnosis for a cloud application

Also Published As

Publication number Publication date
US20040049565A1 (en) 2004-03-11
TW200404221A (en) 2004-03-16
AU2003264290A8 (en) 2004-04-30
KR20050053657A (ko) 2005-06-08
JP2005538459A (ja) 2005-12-15
CA2498065C (en) 2015-03-31
CN1682196A (zh) 2005-10-12
KR100763326B1 (ko) 2007-10-05
CN100350391C (zh) 2007-11-21
AU2003264290A1 (en) 2004-04-30
WO2004025471A3 (en) 2004-06-03
US7096459B2 (en) 2006-08-22
CA2498065A1 (en) 2004-03-25
TWI238329B (en) 2005-08-21

Similar Documents

Publication Publication Date Title
US7096459B2 (en) Methods and apparatus for root cause identification and problem determination in distributed systems
US7505872B2 (en) Methods and apparatus for impact analysis and problem determination
US7240325B2 (en) Methods and apparatus for topology discovery and representation of distributed applications and services
US7334222B2 (en) Methods and apparatus for dependency-based impact simulation and vulnerability analysis
US6847970B2 (en) Methods and apparatus for managing dependencies in distributed systems
EP1386240B1 (en) Synthetic transaction monitor
US7792948B2 (en) Method and system for collecting, aggregating and viewing performance data on a site-wide basis
US7398434B2 (en) Computer generated documentation including diagram of computer system
US6701459B2 (en) Root-cause approach to problem diagnosis in data networks
US20020174421A1 (en) Java application response time analyzer
Cox et al. Management of the service-oriented-architecture life cycle
US7577701B1 (en) System and method for continuous monitoring and measurement of performance of computers on network
Rodosek et al. Determining the availability of distributed applications
Gorbenko et al. How to enhance UDDI with dependability capabilities
Vornanen ScienceLogic SL1 basics and server monitoring

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2498065

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 20038214431

Country of ref document: CN

Ref document number: 2004535485

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020057004305

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1020057004305

Country of ref document: KR

122 Ep: pct application non-entry in european phase