Framework for managing data that provides correlation information in a distributed computing system
AssigneeInternational Business Machines Corporation
InventorsEric Labadie, Harm Sluiman, David J. Taylor
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsEric Labadie, Harm Sluiman, David J. Taylor
Estimating the term…
A framework for managing data that provides correlation information in a distributed computing system is provided. The framework includes a generic correlator data structure and service for generating and managing correlators. The generic correlator data structure defines a generic correlator to uniquely identify a specific event occurring at a specific time on a specific thread of a specific process of a specific application executing on a specific machine in the distributed computing system. The correlator may be used to correlate the specific event with another event, even one occurring on a different machine. The generic correlator data structure may be extended, optionally, to include additional context data, for example, specific information selected by a service, tool or other application requiring the correlators. Preferably, the generic correlator data structure is configured to include an association to a partner correlator for a correlated event. The service generates a correlator for an event of a series of events on a computer within the distributed system with a temporal identifier representative of the unique temporal order of the event in the series of events. The temporal identifier may be defined by one or more sequential counters each responsive a characteristic of the event. The service may provide the correlator for transporting to another computer in the distributed system for associating with a related event correlator. Accordingly, the service may receive a correlator and associate it with the related correlator.
A method for providing a correlator for an event of a series of events, said method comprising:
A method for providing a correlator for an event of a series of events occurring on a computer and for which correlators are desired, the method comprising steps of:
A computer readable medium containing executable program instructions for providing a correlator for an event of a series of events occurring on a computer and for which correlators are desired, the computer program medium comprising programming instructions for:
A correlator for an event in a series of events, said correlator comprising:
A data structure stored on a computer readable medium representing a correlator, said data structure comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
No related US applications are recorded in the indexed filing history.
Backward citations are indexed for grants only.
Provisioning of proxy services: adding application-functional data or data for application control, e.g. adding metadata
Protocols: based on web technology, e.g. hypertext transfer protocol [HTTP]
Network services: specially adapted for the location of the user terminal
Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions: in the application layer [OSI layer 7]
Term end not estimated
This invention relates to distributed computing systems, more particularly to a framework for managing data that provides correlation information in a distributed computing system.
Distributed computing is a widely prevalent model for computing systems today. Yet, when problems occur with such systems, analysis is often hampered by the distributed nature of the computing.
Most individual servers in a distributed computing environment are configured, via a logging or other service provider, to generate reasonably useful logs of their own activity. Servers further provide tools to assist a system administrator to analyze the server logs for problem identification. Most middleware applications that facilitate communication between applications also provide a logging service and analysis tools. However, it is common today for a distributed application configuration to include six or more independent servers located on a multitude of physical machines. In such a case, often the best available method to correlate the various error or other event logs from each server is to do so manually, using a time stamp typically associated with each log entry to attempt to recreate a chain of events. The sheer volume of log entries often makes this task impossible. Even where the volume of log entries is low enough not to render the task of manual correlation impossible, the task is at best approximate because the correlator (i.e. the time stamp) is often not sufficiently granular, for example, providing millisecond accuracy when nanosecond accuracy is required. Frequently, the clocks from which the time stamps are derived on the different platforms are not synchronized. It is now recognized that the difficulties in correlating event logs, for example, in order to identify which system is the source of a problem, are a source of difficulty.
Further features and advantages of the present invention will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
FIG. 1 illustrates a system for managing data that provides correlation information on an exemplary distributed computing environment configured in accordance with the invention;
FIG. 2 illustrates a system for managing data that provides correlation information on another exemplary distributed computing environment configured in accordance with the invention;
Reference is made to FIG. 1 which shows an exemplary distributed or networked computing system 40, namely an Internet web portal having a database, configured in accordance with the invention. The distributed computing environment 40 comprises a plurality of server platforms, collectively 42-50. The respective server platforms are configured to provide various sever applications, namely, an HTTP server 52, a servlet 54, an Enterprise JavaBeans™ (EJB™) server 56 client database application 58 and a DB2™ store procedure 60 (i.e. database). Enterprise JavaBeans and EJB are trademarks of Sun Microsystems Inc. DB2 is a trademark of International Business Machines Corporation. In exemplary system 40, servlet 54 and EJB server 56 are configured to provide a Java™ (trademark of Sun Microsystems Inc.) technology-based web application server, integrating enterprise data and transactions for networked communication.
As is well understood to persons skilled in the art, a server platform typically comprises a computing station having a powerful processor and high capacity mass storage. The server typically utilizes a multi-tasking operating system allowing multiple applications to run concurrently. While each server platform 42-50 is illustrated as providing a particular server application component, (collectively 52-60) of the distributed computer system 40, it may be understood that an individual server platform may be configured to provide more than one such component.
As illustrated, the server platforms 42-50 are further configured to provide transport or other communication mechanisms, as applicable, to the server applications 52-58. For example, HTTP server 52 is coupled for network communication via HTTP transport 62 to servlet 54. Servlet 54 is in turn coupled to EJB Server 56 via a Java Object Request Broker (ORB) 64. EJB Server 56 facilitates connection of the servlet 54 to client application 58 via DB2 Java database connectivity (JDBC) 66 while the client application 58 and DB2 store procedure 60 are coupled through DB2 Distributed Relational Database Architecture (DRDA®) middleware 68. DRDA is a trademark of International Business Machines Corporation.