KR20090088375A - Method, system and program product for monitoring resources servicing a business transaction - Google Patents

Method, system and program product for monitoring resources servicing a business transaction Download PDF

Info

Publication number
KR20090088375A
KR20090088375A KR1020097010418A KR20097010418A KR20090088375A KR 20090088375 A KR20090088375 A KR 20090088375A KR 1020097010418 A KR1020097010418 A KR 1020097010418A KR 20097010418 A KR20097010418 A KR 20097010418A KR 20090088375 A KR20090088375 A KR 20090088375A
Authority
KR
South Korea
Prior art keywords
protocol
resources
resource
transaction
performance metrics
Prior art date
Application number
KR1020097010418A
Other languages
Korean (ko)
Other versions
KR101173338B1 (en
Inventor
크리스챤 리 헌트
로져 마이클 메리
데닐슨 나스타쇼
발란 수브라마니안
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
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 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20090088375A publication Critical patent/KR20090088375A/en
Application granted granted Critical
Publication of KR101173338B1 publication Critical patent/KR101173338B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Abstract

A method, system and program product for monitoring resources servicing a business transaction is provided. The method includes providing a transaction manager that monitors a business transaction serviced by one or more resources, with each of the resources and the transaction manager having a protocol stack configured to send and receive load-monitoring headers in protocol messages. The method further includes specifying, in a protocol request header in a protocol request message, collection of performance metrics for a resource, collecting, by the resources, the performance metrics specified in the protocol request message and sending the performance metrics collected to the transaction manager, in a protocol response header in a protocol response message. Further, the method includes preconfiguring with policies the protocol stack on a subset of the resources, such that the preconfigured resources can act as monitoring agents on behalf of peer resources and send alerts to a resource manager. ® KIPO & WIPO 2009

Description

비지니스 거래를 서비스하는 자원을 모니터링하기 위한 방법, 시스템 및 프로그램 제품{METHOD, SYSTEM AND PROGRAM PRODUCT FOR MONITORING RESOURCES SERVICING A BUSINESS TRANSACTION}METHOD, SYSTEM AND PROGRAM PRODUCT FOR MONITORING RESOURCES SERVICING A BUSINESS TRANSACTION}

본 발명은 서비스-지향형의 아키텍쳐(SOA)에서 비지니스 거래를 서비스하는 자원을 모니터링하기 위한 방법, 시스템, 및 프로그램 제품에 관한 것이다. 특히, 본 발명은, 페이로드와 함께 응답 메시지의 헤더 부분에 운반되는 추가 모니터링 정보로 통상의 SOA 교환을 장식하기 위한 방법, 시스템, 및 컴퓨터 프로그램 제품에 관한 것이다. 또한, 본 발명은 자원에 의해 수신된 응답 메시지에 내의 헤더를 교차검사하는 방법에 관한 것이다. 이로써, 자원은 다른 피어 자원을 위한 모니터링 에이전트로서 역할한다.The present invention relates to a method, system, and program product for monitoring resources that service business transactions in a service-oriented architecture (SOA). In particular, the present invention relates to a method, system, and computer program product for decorating a typical SOA exchange with additional monitoring information carried in the header portion of the response message along with the payload. The invention also relates to a method for cross-checking a header in a response message received by a resource. As such, the resource acts as a monitoring agent for other peer resources.

오늘날의 비지니스 환경에서, 고객들은, 소매 상인, 은행 서비스 등과 같은 조직 및/또는 비지니스와 온라인 또는 전자 거래를 더욱 더 많이 행하고 있다. 전형적인 시나리오에서, 온라인으로 거래하기를 추구하는 고객은 인터넷을 통해 비지니스의 웹페이지에 액세스한 다음, 온라인 거래 유형에 따라 개인 정보를 제공해야 할 수도 있다. 예를 들어, 만일 아이템을 온라인으로 구매한다면, 고객은 전형적으로 그 아이템을 구매하기 위해 이름, 주소, 신용 카드 번호 등과 같은 고객 을 식별하는 개인 정보를 제공해야 한다. 항상, 이와 같은 온라인 거래를 위한 데이터는 네트워크 상의 복수의 컴퓨터에 의해 처리될 수 있다. 여기서, 각각의 컴퓨터는 거래의 한 면을 수행한다. 이들 컴퓨터들 중 임의의 컴퓨터는, 만일 과부하가 걸리면, 거래를 처리하는데 있어서 지연을 초래할 수 있고, 이것은 고객에게 부정적 영향을 줄 것이다. 이와 같이, 비지니스 및/또는 조직에 대하여, 고객이 만족하고 있음을 보장하기 위해 이와 같은 전자 거래를 추적할 수 있는 모니터링 시스템을 개발하기 위한 비용-효율적인 방법을 제공할 필요성이 있다.In today's business environment, customers are increasingly doing online or electronic transactions with organizations and / or businesses, such as retailers, banking services and the like. In a typical scenario, a customer seeking to trade online may need to access a business's webpage over the Internet and then provide personal information, depending on the type of online transaction. For example, if an item is purchased online, the customer typically must provide personal information identifying the customer such as name, address, credit card number, etc. to purchase the item. At all times, data for such online transactions can be processed by multiple computers on the network. Here, each computer performs one aspect of the transaction. Any of these computers, if overloaded, can cause delays in processing transactions, which will negatively affect customers. As such, there is a need for a business and / or organization to provide a cost-effective way to develop a monitoring system that can track such electronic transactions to ensure customer satisfaction.

본 발명의 제1 양태에서, 서비스-지향형 아키텍쳐에서 비지니스 거래를 서비스하는 자원을 모니터링하는 방법이 제공된다. 이 방법은 서비스-지향형의 아키텍쳐에서 하나 이상의 자원에 의해 서비스받는 비지니스 거래를 모니터링하도록 구성된 거래 관리자를 제공하는 단계를 포함한다. 한 실시예에서, 하나 이상의 자원들 각각과 거래 관리자에는, 성능 메트릭의 수집본을 요구하는 하나 이상의 프로토콜 요청 메시지를 전송하고 수집된 성능 메트릭들을 포함하는 하나 이상의 프로토콜 응답 메시지를 수신하도록 구성된 프로토콜 인코딩-디코딩 컴포넌트가 배치되어 있다. 이 방법은 비지니스 거래를 서비스하는 하나 이상의 자원들 중 적어도 한 자원에 대한 하나 이상의 성능 메트릭의 수집본을 프로토콜 요청 메시지 내의 프로토콜 요청 헤더에서 명시하는 단계와, 프로토콜 요청 메시지 내에 명시된 하나 이상의 성능 메트릭을 수집하고, 프로토콜 응답 메시지 내의 프로토콜 응답 헤더에서, 비지니스 거래를 서비스하는 하나 이상의 자원들 중 적어도 하나의 자원에 의해 수집된 하나 이상의 성능 메트릭을 거래 관리자에게 전송하는 단계를 포함한다. 한 실시예에서, 거래 관리자는 비지니스 거래와 연관된 하나 이상의 거래 메트릭을 모니터링하도록 구성되고, 하나 이상의 자원으로부터 수집된 하나 이상의 성능 메트릭에 비추어 비지니스 거래에 대해 모니터링된 하나 이상의 거래 메트릭을 분석하도록 구성된다. 이 방법은 또한 상기 하나 이상의 자원들 중 하나 이상의 자원들에 상에 배치된 하나 이상의 모니터링 에이전트로부터 하나 이상의 성능 메트릭 이벤트를 수집하도록 구성된 자원 관리자를 제공하는 단계를 더 포함한다. 이 방법은 프로토콜 요청 메시지 내의 프로토콜 요청 헤더를 비지니스 거래에 대한 실행 쓰레드와 연관시키는 단계와, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더를, 비지니스 거래에 대한 동일한 실행 쓰레드 내에서 만들어진 기타 임의의 요청에 전파시키는 단계를 더 포함한다. 여기서, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더는 비지니스 거래와 연관된 모든 교환을 통해 복제된다. 이 방법은, 하나 이상의 자원들 각각에 대응하는 적어도 각각의 프로토콜 인코딩-디코딩 컴포넌트를 정책으로 미리구성하는 단계를 더 포함한다. 여기서, 각각의 자원은, 후속 자원으로부터 수신된 각각의 프로토콜 응답 헤더 내의 하나 이상의 성능 메트릭들 중 한 성능 메트릭에 대한 총계 값을 검사한다. 여기서, 각각의 자원은 성능 메트릭에 대한 프리셋 값이 초과될 때 자원 관리자에게 경고를 전송한다. 한 실시예에서, 상기 전송하는 단계는, 하나 이상의 자원들 중 각각의 선행 자원에 의해, 하나 이상의 자원들 중 각각의 후속 자원으로부터 수신된 프로토콜 응답 메시지 내의 프로토콜 응답 헤더에 각 세트의 성능 메트릭들을 추가하는 단계와, 프로토콜 응답 메시지를 거래 관리자에게 전송하는 단계를 더 포함한다. 또한, 한 실시예에서, 상기 전송하는 단계는, 비지니스 거래에 대한 동일한 실행 쓰레드 내에서 만들어진 기타 임의의 요청들을 서비스하는 하나 이상의 자원들 중 한 자원에 대응하는 하나 이상의 성능 메트릭들 각각을 프로토콜 응답 메시지 내의 프로토콜 응답 헤더에서 총계내고, 프로토콜 응답 메시지를 거래 관리자에게 전송하는 단계를 포함한다. 한 실시예에서, 이 프로토콜은 SOAP(Simple Object Access Protocol)를 포함한다.In a first aspect of the invention, a method of monitoring a resource for servicing a business transaction in a service-oriented architecture is provided. The method includes providing a transaction manager configured to monitor a business transaction served by one or more resources in a service-oriented architecture. In one embodiment, each of the one or more resources and the transaction manager is configured with a protocol encoding configured to send one or more protocol request messages requiring a collection of performance metrics and to receive one or more protocol response messages that include the collected performance metrics. The decoding component is arranged. The method includes specifying a collection of one or more performance metrics for at least one of the one or more resources servicing a business transaction in a protocol request header in the protocol request message, and collecting one or more performance metrics specified in the protocol request message. And sending, in the protocol response header in the protocol response message, to the transaction manager one or more performance metrics collected by at least one of the one or more resources servicing the business transaction. In one embodiment, the transaction manager is configured to monitor one or more transaction metrics associated with the business transaction and to analyze one or more transaction metrics monitored for the business transaction in light of one or more performance metrics collected from one or more resources. The method further includes providing a resource manager configured to collect one or more performance metric events from one or more monitoring agents disposed on one or more of the one or more resources. The method involves associating a protocol request header in a protocol request message with an execution thread for a business transaction, and propagating the protocol request header in the protocol request message to any other request made within the same execution thread for the business transaction. It further includes. Here, the protocol request header in the protocol request message is replicated through all the exchanges associated with the business transaction. The method further includes preconfiguring, with a policy, at least each protocol encoding-decoding component corresponding to each of the one or more resources. Here, each resource checks the total value for one of the one or more performance metrics in each protocol response header received from subsequent resources. Here, each resource sends an alert to the resource manager when the preset value for the performance metric is exceeded. In one embodiment, the transmitting step adds, by each preceding one of the one or more resources, each set of performance metrics to a protocol response header in a protocol response message received from each subsequent one of the one or more resources. And sending a protocol response message to the transaction manager. Further, in one embodiment, the step of transmitting may include each of the one or more performance metrics corresponding to one of the one or more resources servicing other arbitrary requests made within the same thread of execution for a business transaction protocol response message. Counting in the protocol response headers within, and sending a protocol response message to the transaction manager. In one embodiment, this protocol includes the Simple Object Access Protocol (SOAP).

본 발명의 또 다른 양태에서, 서비스-지향형 아키텍쳐에서 비지니스 거래를 서비스하는 자원들을 모니터링하기 위한 시스템이 제공된다. 이 시스템은 비지니스 거래를 서비스하도록 구성된 하나 이상의 자원들을 포함하며, 복수개의 상기 하나 이상의 자원들에는 프로토콜 스택이 배치되어 있다. 이 시스템은 또한, 프로토콜 스택이 배치되어 있고, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더에서 복수의 하나 이상의 자원들에게 상기 복수의 상기 하나 이상의 자원들에 의해 서비스받는 상기 비지니스 거래에 대한 하나 이상의 성능 메트릭들 모니터링할 것을 발(issue)하도록 구성된 거래 관리자를 더 포함한다. 복수의 하나 이상의 자원들 각각은, 비지니스 거래에 대한 하나 이상의 성능 메트릭을 수집하고 거래 관리자에게 전송된 프로토콜 응답 메시지 내의 프로토콜 응답 헤더 내의 하나 이상의 성능 메트릭을 총계하도록 구성된다. 여기서, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더는 비지니스 거래에 대한 실행 쓰레드와 연관되고, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더는 비지니스 거래에 대한 동일한 실행 쓰레드 내에서 만들어진 기타 임의의 요청에 전파되어, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더는 비지니스 거래와 연관된 모든 교환들을 통해 복제되도록 한다. 이 시스템은, 하나 이상의 자원들 상에 배치된 하나 이상의 모니터링 에이전트로부터 하나 이상의 성능 메트릭 이벤트를 수집하도록 구성된 자원 관리자를 더 포함한다. 한 실시예에서, 거래 관리자는 하나 이상의 자원에 의해 서비스받는 비지니스 거래에 대하여 하나 이상의 거래 메트릭을 모니터링하도록 추가로 구성되고, 하나 이상의 자원에 의해 수집된 하나 이상의 성능 메트릭에 비추어 비지니스 거래를 서비스하는 하나 이상의 자원에 대하여 모니터링된 하나 이상의 거래 메트릭을 분석하도록 구성된다. 한 실시예에서, 복수의 하나 이상의 자원들 각각의 선행 자원은 하나 이상의 자원들 중 각각의 후속 자원으로부터 수신된 프로토콜 응답 메시지 내의 프로토콜 응답 헤더에 각각의 성능 메트릭 세트를 부가하도록 구성된다. 한 실시예에서, 복수의 하나 이상의 자원들 중 하나 이상의 자원에 대응하는 프로토콜 스택은, 프로토콜 응답 헤더에서 수신된 하나 이상의 성능 메트릭들 중 하나의 성능 메트릭의 총계값을 그 성능 메트릭의 프리셋 값과 비교하여, 그 성능 메트릭에 대한 프리셋 값이 초과될 때 복수의 하나 이상의 자원들 중 하나 이상이 자원 관리자에게 경고를 전송하도록 하기 위하여, 정책들로 미리 구성된다. 한 실시예에서, 프로토콜 스택은, SOAP(Simple Object Access Protocol) 스택이고, 프로토콜 요청 헤더는 SOAP(Simple Object Access Protocol) 요청 헤더이고, 프로토콜 응답 헤더는 SOAP(Simple Object Access Protocol) 응답 헤더이고, 프로토콜 요청 메시지는 SOAP(Simple Object Access Protocol) 요청 메시지이고, 프로토콜 응답 메시지는 SOAP(Simple Object Access Protocol) 응답 메시지이다.In another aspect of the present invention, a system is provided for monitoring resources serving a business transaction in a service-oriented architecture. The system includes one or more resources configured to service a business transaction, wherein a plurality of the one or more resources are arranged with a protocol stack. The system also monitors one or more performance metrics for the business transaction in which a protocol stack is deployed and serviced by the plurality of the one or more resources to a plurality of one or more resources in a protocol request header in a protocol request message. And further comprising a transaction manager configured to issue what to do. Each of the plurality of one or more resources is configured to collect one or more performance metrics for the business transaction and to aggregate one or more performance metrics in the protocol response headers in the protocol response message sent to the transaction manager. Here, the protocol request header in the protocol request message is associated with the execution thread for the business transaction, and the protocol request header in the protocol request message is propagated to any other request made within the same execution thread for the business transaction, thereby The protocol request header allows for replication through all exchanges associated with the business transaction. The system further includes a resource manager configured to collect one or more performance metric events from one or more monitoring agents deployed on the one or more resources. In one embodiment, the transaction manager is further configured to monitor one or more transaction metrics for business transactions served by one or more resources, and one that services business transactions in light of one or more performance metrics collected by one or more resources. And analyze the monitored one or more transaction metrics for the more resources. In one embodiment, the preceding resource of each of the one or more resources is configured to add each performance metric set to a protocol response header in a protocol response message received from each subsequent one of the one or more resources. In one embodiment, a protocol stack corresponding to one or more of the plurality of one or more resources compares an aggregate value of one of the one or more performance metrics received in the protocol response header with a preset value of the performance metric. Thus, one or more of the plurality of one or more resources are preconfigured with policies to send an alert to the resource manager when the preset value for that performance metric is exceeded. In one embodiment, the protocol stack is a Simple Object Access Protocol (SOAP) stack, the protocol request header is a Simple Object Access Protocol (SOAP) request header, the protocol response header is a Simple Object Access Protocol (SOAP) response header, and the protocol The request message is a Simple Object Access Protocol (SOAP) request message, and the protocol response message is a Simple Object Access Protocol (SOAP) response message.

본 발명의 역시 또 다른 양태에서, 비지니스 거래와 연관된 메트릭을 모니터링하기 위한 컴퓨터 프로그램 제품이 제공된다. 이 컴퓨터 프로그램 제품은, 비지니스 거래를 서비스하는 하나 이상의 자원들에 발행된 요청 메시지 내의 요청 헤더에서 하나 이상의 성능 메트릭들의 수집본을 명시하도록 구성된 거래 관리자를 제공하기 위한 제1 프로그램 명령어를 더 포함한다. 여기서, 하나 이상의 자원들 각각과 거래 관리자에는 프로토콜 스택이 배치되어 있다. 컴퓨터 프로그램 제품은, 요청 메시지 내에 명시된 하나 이상의 성능 메트릭을 수집하기 위한 제2 프로그램 명령어와, 비지니스 거래를 서비스하는 하나 이상의 자원에 의해 수집된 하나 이상의 성능 메트릭을 응답 메시지 내의 응답 헤더에서 거래 관리자에게 전송하는 제3 프로그램 명령어를 더 포함한다. 한 실시예에서, 제2 프로그램 명령어는, 요청 메시지 내의 요청 헤더를 비지니스 거래에 대한 실행 쓰레드와 연관시키고, 요청 메시지 내의 요청 헤더를 그 비지니스 거래에 대한 실행 쓰레드 내에서 만들어진 기타 임의의 요청 메시지들에 전파시키기 위한 명령어를 더 포함한다. 나아가, 한 실시예에서, 제2 프로그램 명령어는 하나 이상의 자원들 중 후속 자원으로부터 수신된 응답 메시지 내의 응답 헤더에 각각의 세트의 성능 메트릭을 추가하고 그 응답 메시지를 거래 관리자에게 전송하기 위한 명령어를 더 포함한다. 컴퓨터 프로그램 제품은, 후속 자원으로부터 수신된 각각의 응답 헤더 내의 하나 이상의 성능 메트릭들 중 한 성능 메트릭의 총계값을 그 성능 메트릭에 대한 프리셋 값과 비교하고, 그 성능 메트릭에 대한 프리셋 값이 초과될 때 자원 관리자에게 경고를 전송하기 위하여, 하나 이상의 자원들 상에 배치된 프로토콜 스택을 정책들로 미리구성하기 위한 제4 프로그램 명령어를 더 포함한다. 한 실시예에서, 거래 관리자는, 비지니스 거래와 연관된 하나 이상의 거래 메트릭을 모니터링하도록 구성되고, 하나 이상의 자원으로부터 수집된 하나 이상의 성능 메트릭에 비추어 비지니스 거래에 대해 모니터링된 하나 이상의 거래 메트릭을 분석하도록 추가로 구성된다. 한 실시예에서, 프로토콜 스택은 SOAP(Simple Object Access Protocol) 스택을 포함하고, 요청 헤더는 SOAP(Simple Object Access Protocol) 요청 헤더를 포함한다. 또한, 응답 헤더는 SOAP(Simple Object Access Protocol) 응답 헤더를 포함하고, 요청 메시지는 SOAP(Simple Object Access Protocol) 요청 메시지를 포함하며, 응답 메시지는 SOAP(Simple Object Access Protocol) 응답 메시지를 포함한다. 한 실시예에서, 제1, 제2, 제3, 및 제4 프로그램 명령어들 각각은, 컴퓨터 판독가능한 매체 상에 저장된다.In yet another aspect of the present invention, a computer program product for monitoring a metric associated with a business transaction is provided. The computer program product further includes first program instructions for providing a transaction manager configured to specify a collection of one or more performance metrics in a request header in a request message issued to one or more resources servicing a business transaction. Here, each of the one or more resources and the transaction manager is arranged with a protocol stack. The computer program product sends second program instructions for collecting one or more performance metrics specified in the request message and one or more performance metrics collected by the one or more resources servicing the business transaction to the transaction manager in the response header in the response message. It further comprises a third program instruction to. In one embodiment, the second program instruction associates the request header in the request message with an execution thread for a business transaction, and associates the request header in the request message with any other request messages created in the execution thread for that business transaction. It further includes instructions for propagating. Furthermore, in one embodiment, the second program instructions further include instructions for adding each set of performance metrics to a response header in a response message received from a subsequent one of the one or more resources and sending the response message to the transaction manager. Include. The computer program product compares the total value of one of the one or more performance metrics in each response header received from subsequent resources with a preset value for that performance metric and when the preset value for that performance metric is exceeded. In order to send an alert to the resource manager, the method further includes fourth program instructions for preconfiguring the protocol stack disposed on the one or more resources into policies. In one embodiment, the transaction manager is configured to monitor one or more transaction metrics associated with the business transaction and is further configured to analyze the one or more transaction metrics monitored for the business transaction in light of one or more performance metrics collected from one or more resources. It is composed. In one embodiment, the protocol stack includes a Simple Object Access Protocol (SOAP) stack, and the request header includes a Simple Object Access Protocol (SOAP) request header. In addition, the response header includes a Simple Object Access Protocol (SOAP) response header, the request message includes a Simple Object Access Protocol (SOAP) request message, and the response message includes a Simple Object Access Protocol (SOAP) response message. In one embodiment, each of the first, second, third, and fourth program instructions are stored on a computer readable medium.

본 명세서의 일부를 형성하며 본 명세서에 포함되는 첨부된 도면들은 본 발명의 실시예들을 도시하며, 상세한 설명과 함께, 본 발명의 원리를 설명하는 역할을 한다.The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.

도 1a는, 본 발명의 실시예에 따라 비지니스 거래를 서비스하는 자원들을 모니터링하는 실시예에 연루된 단계들을 개요하는 흐름도를 도시한다.1A shows a flow diagram that outlines the steps involved in an embodiment of monitoring resources for serving a business transaction in accordance with an embodiment of the present invention.

도 2a는, 본 발명의 실시예에 따라 비지니스 거래를 모니터링하는 또 다른 실시예에 연루된 단계들을 개요하는 흐름도로서, 하나 이상의 자원들은 피어 자원 들을 대신하여 모니터링 에이전트로서 추가적으로 역할한다.2A is a flowchart outlining the steps involved in another embodiment of monitoring a business transaction in accordance with an embodiment of the present invention, wherein one or more resources additionally serve as a monitoring agent on behalf of peer resources.

도 1b는, 본 발명의 실시예에 따라, 도 1a에 개요된 방법에 대응하는, 비지니스 거래를 서비스하는 자원들을 모니터링하기 위한 방법 및 시스템의 실시예를 예시하는 개략적 블럭 시스템도이다.FIG. 1B is a schematic block system diagram illustrating an embodiment of a method and system for monitoring resources servicing a business transaction, corresponding to the method outlined in FIG. 1A, in accordance with an embodiment of the present invention.

도 2b는, 본 발명의 실시예에 따라, 도 2a에 개요된 방법에 대응하는, 비지니스 거래를 서비스하는 자원들을 모니터링하기 위한 방법 및 시스템의 또 다른 실시예를 예시하는 개략적 블럭 시스템도이다.FIG. 2B is a schematic block system diagram illustrating another embodiment of a method and system for monitoring resources servicing a business transaction, corresponding to the method outlined in FIG. 2A, in accordance with an embodiment of the present invention.

도 3은, 본 발명의 실시예에 따라 서비스-지향형 아키텍쳐에서 비지니스 거래를 서비스하는 자원들을 모니터링하기 위한 방법 및 시스템의 역시 또 다른 실시예를 예시하는 개략적 블럭 시스템도이다.3 is a schematic block system diagram illustrating yet another embodiment of a method and system for monitoring resources for servicing a business transaction in a service-oriented architecture in accordance with an embodiment of the present invention.

도 4는, 본 발명의 실시예에 따라 서비스-지향형 아키텍쳐에서 비지니스 거래를 서비스하는 자원들을 모니터링하기 위한 컴퓨터 인프라구조의 실시예를 예시하는 개략적 블럭 시스템도이다.4 is a schematic block system diagram illustrating an embodiment of a computer infrastructure for monitoring resources that service a business transaction in a service-oriented architecture in accordance with an embodiment of the present invention.

본 명세서에 걸쳐 "한 실시예", "실시예", 또는 유사한 표현에 대한 언급은, 그 실시예와 연관하여 기술된 특정한 특징, 구조 또는 특성이 본 발명의 적어도 한 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서에 걸쳐 구문 "한 실시예에 있어서", "실시예에 있어서", 및 유사한 표현의 출현은 동일한 실시예를 언급할수 있으나, 반드시 그런 것은 아니다.Reference throughout this specification to “an embodiment”, “an embodiment”, or similar expressions means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. do. Thus, the appearances of the phrases "in one embodiment", "in an embodiment", and similar expressions throughout this specification may, but are not necessarily, refer to the same embodiment.

게다가, 본 발명의 전술된 특징들, 구조들, 또는 특성들은 하나 이상의 실시 예들에서 임의의 적절한 방식으로 결합될 수 있다. 본 발명의 실시예들에 대해 다양한 수정 및 변형이 이루어질 수 있다는 것이 당업자에게는 명백할 것이다. 이제 본 발명의 양호한 실시예들을 상세히 참조할 것이다.In addition, the aforementioned features, structures, or characteristics of the present invention may be combined in any suitable manner in one or more embodiments. It will be apparent to those skilled in the art that various modifications and variations can be made to the embodiments of the present invention. Reference will now be made in detail to preferred embodiments of the invention.

이제 도 1a 및 2a를 참조하면, 비지니스 방법 기동(business method invocation)에 걸쳐 자원 또는 성능 메트릭 또는 정보를 모니터링하는 방법의 상이한 실시예들을 개괄적으로 도시한 흐름도가 도시되어 있다. 용어 "비지니스 방법 기동"은 "$70 지불에 대해 신용 카드 번호 XYZ를 검사하는 것"과 같은, 한 애플리케이션으로부터 또 다른 애플리케이션으로의 간단한 요청을 말한다. 도 1a에 도시된 바와 같이, 실시예(100a)에서, 자원 메트릭을 모니터링하는 방법은, 단계(103)에서, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더에서 비지니스 거래에 대한 성능 메트릭의 수집본을 요구하도록 구성되며 자원에 의해 수집된 성능 메트릭을 포함하는 프로토콜 응답 메시지의 프로토콜 응답 헤더에서 수신하도록 추가로 구성된 프로토콜 스택을 갖는 (도 1b 및 2b를 참조하여 이하에서 더 상세히 논의되는) 거래 관리자를 제공하는 것에서부터 시작한다. 또한, 이 방법은, 단계(105)에서 자원에 의해 수신된 프로토콜 요청 메시지 내의 프로토콜 요청 헤더에 명시된 개개의 성능 메트릭을 수집하도록 구성된 프로토콜 스택을 갖는 하나 이상의 자원을 제공하는 단계를 포함한다. 단계(107)에서, 이 방법은, 비지니스 거래를 서비스하는 하나 이상의 자원에 의한 하나 이상의 성능 메트릭의 수집본을 프로토콜 요청 헤더에서 요청하는 단계와, 단계(111)에서, 프로토콜 요청 헤더가 동일한 실행 쓰레드 내에서 만들어진 기타 임의의 요청으로 전파하도록 프로토콜 요청 메시지 내의 프로토콜 요청 헤더를 비지니스 거래에 대한 실행 쓰레드와 연관시키는 단계를 포함한다. 또한, 이 방법은, 단계(113)에서, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더를 비지니스 거래를 서비스하는 제1 자원에 전송하는 단계와, 단계(115)에서, 제1 자원에 의해, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더를 비지니스 거래를 서비스하는 각각의 후속 자원에 포워딩하는 단계를 포함한다. 이 방법은 또한, 단계(117)에서, 각각의 후속 자원으로부터 수신된 프로토콜 응답 메시지 내의 프로토콜 응답 헤더에 각 세트의 성능 메트릭을 추가하는 단계와, 단계(121)에서, 성능 메트릭을 포함하는 프로토콜 응답 메시지 내의 프로토콜 응답 헤더를 거래 관리자에게 되전송하는 단계를 더 포함한다.Referring now to FIGS. 1A and 2A, there is shown a flow diagram that outlines different embodiments of a method of monitoring resource or performance metrics or information across business method invocations. The term "business method startup" refers to a simple request from one application to another, such as "checking the credit card number XYZ for a $ 70 payment." As shown in FIG. 1A, in embodiment 100a, the method for monitoring resource metrics is configured to, in step 103, request a collection of performance metrics for a business transaction in a protocol request header in a protocol request message. Providing a transaction manager (discussed in more detail below with reference to FIGS. 1B and 2B) having a protocol stack further configured to receive in a protocol response header of a protocol response message that includes performance metrics collected by a resource. To start. The method also includes providing one or more resources with a protocol stack configured to collect individual performance metrics specified in the protocol request headers in the protocol request message received by the resource in step 105. In step 107, the method includes requesting in the protocol request header a collection of one or more performance metrics by one or more resources servicing a business transaction, and in step 111, an execution thread having the same protocol request header. Associating a protocol request header in a protocol request message with an execution thread for a business transaction to propagate to any other request made therein. In addition, the method includes, at step 113, transmitting a protocol request header in the protocol request message to a first resource serving a business transaction, and at 115, by the first resource, in the protocol request message. Forwarding a protocol request header to each subsequent resource serving a business transaction. The method also includes, at step 117, adding each set of performance metrics to a protocol response header in a protocol response message received from each subsequent resource, and at 121, a protocol response comprising the performance metrics. Sending the protocol response header in the message back to the transaction manager.

또한, 도 2a에 도시된 바와 같이, 또 다른 실시예(200a)에서, 비지니스 거래를 서비스하는 자원을 모니터링하기 위한 방법은, 단계(203)에서, 비지니스 거래에 대한 성능 메트릭의 수집본을 프로토콜 요청 메시지의 프로토콜 요청 헤더에서 요청하도록 구성되고 수집된 성능 메트릭을 포함하는 프로토콜 응답 메시지의 프로토콜 응답 헤더에서 수신하도록 구성된 프로토콜 스택을 갖는 거래 관리자를 제공하는 단계를 포함한다. 나아가, 이 방법은, 단계(205)에서, 수신된 프로토콜 요청 메시지 내의 프로토콜 요청 헤더에 명시된 개개의 성능 메트릭을 수집하도록 구성된 프로토콜 스택을 갖는 하나 이상의 자원을 제공하는 단계로서, 상기 자원들 중 하나 이상은 정책 또는 규칙으로 미리구성된 프로토콜 스택을 갖는 것인, 상기 제공하는 단계와, 단계(207)에서, 비지니스 거래를 서비스하는 하나 이상의 자원에 의해 하나 이상의 성능 메트릭의 수집본을 프로토콜 요청 헤더에서 요청하는 단계 를 포함한다. 나아가, 이 방법은, 단계(209)에서, 성능 메트릭에 대한 소정의 프리셋 값이 초과되었을 때 미리구성된 정책의 프로토콜 스택을 갖는 하나 이상의 자원에 의해 다른 자원들을 대신하여 수집된 임의의 성능 메트릭의 보고를 요청하는 단계와, 단계(211)에서, 프로토콜 요청 헤더가 동일한 실행 쓰레드 내에서 만들어진 기타 임의의 요청들에 전파되도록, 프로토콜 요청 메시지의 프로토콜 요청 헤더를 비지니스 거래에 대한 실행 쓰레드와 연관시키는 단계를 포함한다. 나아가, 이 방법은, 단계(213)에서, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더를 비지니스 거래를 서비스하는 제1 자원에 전송하는 단계를 포함한다. 단계(215)에서, 이 방법은, 제1 자원에 의해, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더를 각각의 후속 자원에 포워딩하는 단계를 포함한다. 이와 같이, 이 방법은, 단계(217)에서, 각각의 후속 자원으로부터 수신된 프로토콜 응답 메시지 내의 프로토콜 응답 헤더에 각 세트의 성능 메트릭을 추가하는 단계와, 단계(219)에서, 후속 자원으로부터 수신된 각 프로토콜 응답 헤더 내의 수집된 성능 메트릭에 대한 총계 값을 정책으로 미리 구성된 프로토콜 스택을 갖는 자원에 의해 검사하는 단계와, 단계(221)에서, 성능 메트릭을 포함하는 프로토콜 응답 메시지 내의 프로토콜 응답 헤더를 거래 관리자에게 되전송하는 단계를 포함한다. 또한, 이 방법은, 단계(223)에서, 만일 성능 메트릭에 대한 총계 값이 이 성능 메트릭에 대한 프리셋 값을 초과한다면 거래 관리자에게 경고를 전송하는 단계를 포함한다.In addition, as shown in FIG. 2A, in another embodiment 200a, a method for monitoring a resource serving a business transaction includes, at step 203, a protocol request for a collection of performance metrics for a business transaction. Providing a transaction manager having a protocol stack configured to receive in the protocol response header of the protocol response message that is configured to request in the protocol request header of the message and includes the collected performance metrics. Furthermore, the method provides, at step 205, one or more resources having a protocol stack configured to collect individual performance metrics specified in the protocol request headers in the received protocol request message, wherein at least one of the resources is present. Wherein said providing has a protocol stack preconfigured with a policy or rule, and in step 207 requesting a collection of one or more performance metrics in a protocol request header by one or more resources servicing a business transaction. It includes a step. Furthermore, the method further reports, at step 209, any performance metrics collected on behalf of other resources by one or more resources having a protocol stack of preconfigured policies when a predetermined preset value for the performance metrics has been exceeded. Requesting, and in step 211, associating the protocol request header of the protocol request message with the execution thread for the business transaction, such that the protocol request header is propagated to any other requests made within the same execution thread. Include. Further, the method includes, at step 213, sending a protocol request header in the protocol request message to a first resource serving a business transaction. In step 215, the method includes forwarding, by the first resource, the protocol request header in the protocol request message to each subsequent resource. As such, the method includes, at 217, adding each set of performance metrics to a protocol response header in a protocol response message received from each subsequent resource, and at 219, received from subsequent resources. Examining the aggregate values for the collected performance metrics in each protocol response header by a resource having a protocol stack preconfigured with a policy, and in step 221, trading the protocol response header in the protocol response message that includes the performance metrics. And sending back to the administrator. The method also includes, at step 223, sending an alert to the transaction manager if the total value for the performance metric exceeds the preset value for this performance metric.

또한, 도 1b 및 2b를 참조하면, 앞서 도 1a 및 2a에서 개요된 바와 같은, 비지니스 거래에 연루된 다양한 컴포넌트들에 의해 실행되는 방법 또는 프로세스 단 계들의 다양한 실시예들이 도시되어 있다. 특히, 도 1a에 대해 앞서 개요된 방법은 도 1b에 도시된 실시예에 대응하는 반면, 도 2a에 대하여 앞서 개요된 방법은 도 2b에 도시된 실시예에 대응한다. 실시예들(100b 및 200b) 양자 모두에 대해 유사한 양태들이 있기 때문에, 유사한 양태들은 도 1b 및 2b에 관하여 함께 기술될 것이다. 반면, 별개의 특징들은 이하에서 별도로 기술될 것이다. 도 1b 및 2b에 도시된 바와 같이, 비지니스 거래를 서비스하는 자원을 모니터링하는 방법은, 서비스-지향형 구조(SOA)의 하나 이상의 자원(110, 114, 118, 및 122(도 22b에서는 210, 214, 218, 및 222))에 의해 서비스받는 비지니스 거래를 모니터링하도록 구성된 거래 관리자(106)(도 2b에서는 206)를 제공하는 단계를 포함한다. 서비스-지향형 아키텍쳐(SOA)를 이용하여 구현된 비지니스 거래는, 하나의 웹 서비스를 제공하는 자원으로부터 또 다른 웹 서비스를 제공하는 또 다른 자원으로 이루어지는 호출(call)을 참조한다. 자원은 웹 서버, 신용 카드 검증 시스템, 데이터베이스 서버, 전자메일 서버 등과 같은 비지니스 거래를 서비스하는, 임의의 장치, 머신 또는 시스템일 수 있다. 또한, 거래 관리자(106)(도 2b의 206)는 엔드 유저가 경험하고 있는 것에 관하여 비지니스 거래와 연관된 거래 메트릭 또는 거래 데이터를 모니터링 또는 수집하는 애플리케이션 서버이다. 특히, 거래 관리자(106)(도 2b에서 206)는, 엔드 유저 관점으로부터 취해진 비지니스 거래가 얼마나 많은 시간을 취하였는지 및/또는 비지니스 거래를 처리한 각각의 자원(110, 114, 118 및/또는 122)(도 2b에서는 210, 214, 218 및/또는 222)에 의해 얼마나 많은 시간이 소비되었는지와 같은 거래 메트릭을 추적할 수 있다. 트랜잭션 관리자(106)(도 2b에서 는 206)는 이와 같은 트랜잭션 메트릭 또는 거래 정보를 추적하고, 각각의 자원에 의해 소비된 시간의 세부 항목들을 원격지의 관리자에게 전송할 수 있어서, 그 관리자는 필요하다면, 적절한 액션을 취할 수 있다. 그러나, 도 1b 및 2b의 방법 실시예들에 개시된 바와 같이, 거래 관리자(106)(도 2b에서는 206)는, 이하에서 논의되는 바와 같이, 취합되는 거래 메트릭을 해석할 수 있도록, 비지니스 거래를 서비스하는 하나 이상의 자원에 대한 성능 또는 자원 또는 자원-레벨 메트릭을 추적하도록 구성된다. 도 1b 및 도 2b는, 4개의 자원, 즉, 자원 1(도 1b의 참조 번호 110 및 도 2b의 210), 자원 2(도 1b의 참조 번호 114 및 도 2b의 214), 자원 3(도 1b의 참조 번호 118 및 도 2b의 218), 및 자원 4(도 1b의 참조 번호 122 및 도 2b의 222)에 의해 서비스받는 (도 1b의 실선 화살표 112, 116, 120, 124, 126 및 128; 조 2b의 212, 216, 220, 224, 226, 및 228로 표시) 비지니스 거래를 도시한다. 예를 들어, 자원 1(도 1b의 110 및 도 2b의 210)은 웹 서버일 수 있으며, 웹 서버(도 1b의 110 및 도 2b의 210)는 웹 서비스에 대해 자원 2(도 1b의 참조 번호 114 및 도 2b의 214)를 호출(도 1b의 화살표 112, 및 화살표 212)하고, 자원 2는 또 다른 웹 서비스에 대해 자원 3(도 1b의 118 및 도 2b의 218)을 호출(도 1b의 참조 번호 116 및 도 2b의 216)하며, 자원 3은 역시 또 다른 웹 서비스에 대해 자원 4(도 1b의 참조 번호 122 및 도 2b의 222)를 호출(도 1b의 120 및 도 2b의 220)한다. 예를 들어, 자원2(도 1b의 참조 번호 114 및 도 2b의 214)는 아이템을 쇼핑 카트에 둘 때 고객이 액세스하는 "쇼핑 카트 체크아웃"일 수 있는 반면, 자원 3(도 1b의 참조 번호 118 및 도 2b의 218)은 아이템의 재고 여부를 알기 위해 검사하는 "제품 재고 확인" 서버일 수 있는 반면, 자원 4(도 1b의 참조 번호 122 및 도 2b의 222)는 비지니스 거래에 대해 공급되는 고객의 신용 카드 정보를 확인하는 "신용카드 확인" 서버일 수 있다. 대안으로서, 예를 들어, 자원 2(도 1b의 참조 번호 114 및 도 2b의 참조 번호 214)는 아이템이나 제품이 인벤토리에 있는지의 여부를 검사하기 위해 선적부(도 1b 및 2b에서는 미도시)를 호출할 있으며, 그 다음, 자원 2는 자원 3(도 1b의 참조 번호 118 및 도 2b의 218)을 호출(도 1b의 화살표 120 및 도 2b의 220)하고, 그 다음, 자원 3은 자원 4(도 1b의 참조 번호 122 및 도 2b의 222)를 호출(도 1b의 화살표 120 및 도 2b의 220)한다.1B and 2B, various embodiments of method or process steps executed by various components involved in a business transaction, as outlined above in FIGS. 1A and 2A, are shown. In particular, the method outlined above with respect to FIG. 1A corresponds to the embodiment shown in FIG. 1B, whereas the method outlined above with respect to FIG. 2A corresponds to the embodiment shown in FIG. 2B. Since there are similar aspects for both embodiments 100b and 200b, similar aspects will be described together with respect to FIGS. 1B and 2B. In contrast, distinct features will be described separately below. As shown in FIGS. 1B and 2B, a method of monitoring resources serving a business transaction may include one or more resources 110, 114, 118, and 122 (210, 214, in FIG. 22B) of a service-oriented architecture (SOA). 218, and 222), providing a transaction manager 106 (206 in FIG. 2B) configured to monitor business transactions serviced. A business transaction implemented using a service-oriented architecture (SOA) refers to a call made from a resource providing one web service to another resource providing another web service. The resource may be any device, machine, or system that services business transactions such as web servers, credit card verification systems, database servers, email servers, and the like. In addition, transaction manager 106 (206 of FIG. 2B) is an application server that monitors or collects transaction metrics or transaction data associated with the business transaction regarding what the end user is experiencing. In particular, the transaction manager 106 (206 in FIG. 2B) may determine how much time the business transaction taken from the end user perspective took and / or each resource 110, 114, 118 and / or 122 that processed the business transaction. Transaction metrics such as how much time was spent by (210, 214, 218 and / or 222 in FIG. 2B) can be tracked. Transaction manager 106 (206 in FIG. 2B) can track this transaction metric or transaction information and send details of the time spent by each resource to the remote manager so that if needed, You can take appropriate action. However, as disclosed in the method embodiments of FIGS. 1B and 2B, the transaction manager 106 (206 in FIG. 2B) services the business transaction to interpret the aggregated transaction metrics, as discussed below. Configured to track performance or resource or resource-level metrics for one or more resources. 1B and 2B show four resources, namely, resource 1 (reference numeral 110 in FIG. 1B and 210 in FIG. 2B), resource 2 (reference numeral 114 in FIG. 1B and 214 in FIG. 2B), and resource 3 (FIG. 1B). 118 of FIG. 2B and 218 of FIG. 2B), and resource 4 (reference numeral 122 of FIG. 1B and 222 of FIG. 2B) (solid arrows 112, 116, 120, 124, 126, and 128 of FIG. 1B; 2b, denoted by 212, 216, 220, 224, 226, and 228). For example, resource 1 (110 in FIG. 1B and 210 in FIG. 2B) may be a web server, and web server (110 in FIG. 1B and 210 in FIG. 2B) may refer to resource 2 (reference number in FIG. 1B) for a web service. 114 and 214 of FIG. 2B) (arrow 112, and arrow 212 of FIG. 1B), and resource 2 calls resource 3 (118 of FIG. 1B and 218 of FIG. 2B) for another web service (of FIG. 1B). 116 and 216 of FIG. 2B, and resource 3 also calls resource 4 (reference number 122 of FIG. 1B and 222 of FIG. 2B) for another web service (120 of FIG. 1B and 220 of FIG. 2B). . For example, resource 2 (reference number 114 in FIG. 1B and 214 in FIG. 2B) may be a “check out shopping cart” that a customer accesses when placing an item in a shopping cart, while resource 3 (reference number in FIG. 1B). 118 and 218 of FIG. 2B may be a “product inventory check” server that checks to see if an item is in stock, while resource 4 (reference number 122 of FIG. 1B and 222 of FIG. 2B) is supplied for a business transaction. It may be a "credit card verification" server that verifies the customer's credit card information. As an alternative, for example, resource 2 (reference number 114 in FIG. 1B and reference number 214 in FIG. 2B) may be used by a shipping unit (not shown in FIGS. 1B and 2B) to check whether an item or product is in inventory. Then, resource 2 calls resource 3 (reference number 118 in FIG. 1B and 218 in FIG. 2B) (arrow 120 in FIG. 1B and 220 in FIG. 2B), and then resource 3 is assigned to resource 4 ( Reference numeral 122 in FIG. 1B and 222 in FIG. 2B are called (arrow 120 in FIG. 1B and 220 in FIG. 2B).

비록, 비지니스 거래 흐름이 도 1b 및 2b에서 선형적 방식으로 도시되어 있지만, 도 3에 도시된 바와 같이, 자원에 의해 동시에 실행되는 다른 단계들 또는 프로세스들이 존재한다는 점에서 비지니스 거래는 선형이 아닐 수 있다. 도 3의 실시예(300)에 도시된 바와 같이, 거래 관리자(306)는 자원 1(310)에 요청 메시지를 전송하고, 자원 1은, 이어서, 메시지들을 자원 2(314), 자원 3(318), 및 자원 4(322)에 동시에 전송한다. 예를 들어, 자원 1(310)은, 인벤토리를 검사하기 위한 데이터베이스 서버일 수 있는 자원 2(314)와 컨택하는 웹 서버일 수 있는 반면, 자원 3(318)은 신용 카드 확인 서버이고 자원4(322)는 비지니스 거래에 관한 메시지를 전송하는 전자메일 서버일 수 있다. 따라서, 자원 4(322), 자원 3(318), 및 자원 2(314)들 각각은 그 자신의 응답을 자원 1(310)에 전송한다. 자원 1은 그 응답을 거래 관리자(306)에 다시 전송한다. 도 3은 단지 비선형 거래의 예를 도시하기 위해 사용되고 있으며, 도 1b 및 도 2의 교시도 역시 도 3에 적용가능하다 는 가정하에 더 이상 상세히 논의되지는 않을 것이다. 도 1b 및 2b로 되돌아가면, 4개 자원들(110(도 2b에서는 210), 114(도 2b에서는 214), 118(도 2b에서는 218), 및/또는 (도 2b에서는 222)) 각각과, 거래 관리자(106)(도 2b에서는 206)에는, 설치된 프로토콜 인코딩-디코딩 컴포넌트 또는 설치된 프로토콜 스택이 배치되어 있다. 대안으로서, 거래 관리자(106)(도 2b에서는 206)와 4개 자원들(110, 114, 118, 및 122)(도 2b에서는 210, 214, 218, 및 222) 중 부분집합만이 설치된 프로토콜을 가질 수 있다. 한 실시예에서, 서비스-지향형의 아키텍쳐(SOA)를 이용하여 구현된 비지니스 거래에 대한 트랜스포트 프로토콜은 SOAP(Simple Object Access Protocol)이다. SOAP 명세사항은 http://www.w3.org/TR/soap에 완전하게 기술되어 있다. "프로토콜 스택" 또는 "soap 스택" 또는 "인코딩-디코딩 컴포넌트"는 프로토콜 메시지들, 특히 SOAP 메시지들을 인코딩 및 디코딩하기 위해 사용되는 소프트웨어 층을 말한다. SOAP 메시지는 마크업 언어(XML-Extensible Markup Language)를 이용하는 텍스트 메시지로서, 메시지들은 구분되는 부분들, 즉, 몸체부 또는 페이로드 및 헤더를 가진다. SOAP 메시지는 하나의 몸체부를 포함하지만, 하나 이상의 헤더를 포함할 수 있다. 메시지 내의 헤더는, "응답을 이 주소로 반환하라" 또는 "이 메시지는 더 큰 거래 번호 987의 부분이다"와 같은, 호출자와 응답자 사이(그들 자신도 포함)의 전송 노드들에 대해 의도된 정보를 포함한다. 이와 같이, SOAP 메시지 내의 각각의 헤더는, 보안 허용의 정의, 거래 마커, 전달 파라미터등과 같은 완전히 상이한 목적을 응대할 수 있다. 몸체부 또는 페이로드는 "$70 지불에 대해 신용 카드 번호 XYZ를 확인"과 같은 호출자로부터 응 답자에게 의도된 메시지, 또는 "신용 승인"과 같은 응답자로부터 호출자로의 응답을 포함한다. 특히, "도구형 프로토콜 스택"이란, 도 1a 및 도 2a에 관하여 앞서 기술된, 메시지의 페이로드에서 운반되는 요청에 추가하여, 자원-레벨 데이터 또는 정보 또는 성능 메트릭을 요청하는 헤더들을 프로토콜 스택(SOAP 메시지를 인코딩 및 디코딩하는 방법을 아는 소프트웨어 계층)이 이해할 수 있도록 해주는 추가 기능을 갖는 프로토콜 스택을 말한다. 이와 같이, SOAP와 같은, 메시지 교환시 몸체부/헤더 분리와 동일한 개념을 구현하는 기타 임의의 프로토콜은, 본 발명의 양호한 실시예들의 방법들을 실시하는데 사용될 수 있다.Although the business transaction flow is shown in a linear manner in FIGS. 1B and 2B, as shown in FIG. 3, a business transaction may not be linear in that there are other steps or processes executed concurrently by the resource. have. As shown in the embodiment 300 of FIG. 3, the transaction manager 306 sends a request message to resource 1 310, and resource 1 then sends the messages to resource 2 314, resource 3 318. ) And resource 4 (322) at the same time. For example, resource 1 310 may be a web server that contacts resource 2 314, which may be a database server for checking inventory, while resource 3 318 is a credit card verification server and resource 4 ( 322 may be an e-mail server that sends a message regarding a business transaction. Thus, each of resource 4 322, resource 3 318, and resource 2 314 sends its own response to resource 1 310. Resource 1 sends the response back to the transaction manager 306. 3 is only used to illustrate an example of a non-linear transaction, and the teachings of FIGS. 1B and 2 will also be discussed in further detail on the assumption that it is also applicable to FIG. 3. Returning to FIGS. 1B and 2B, each of the four resources 110 (210 in FIG. 2B), 114 (214 in FIG. 2B), 118 (218 in FIG. 2B), and / or (222 in FIG. 2B), The transaction manager 106 (206 in FIG. 2B) is equipped with an installed protocol encoding-decoding component or an installed protocol stack. As an alternative, a protocol in which only a subset of the transaction manager 106 (206 in FIG. 2B) and four resources 110, 114, 118, and 122 (210, 214, 218, and 222 in FIG. 2B) is installed may be used. Can have In one embodiment, the transport protocol for a business transaction implemented using a service-oriented architecture (SOA) is the Simple Object Access Protocol (SOAP). The SOAP specification is fully described at http://www.w3.org/TR/soap. "Protocol stack" or "soap stack" or "encoding-decoding component" refers to a software layer used to encode and decode protocol messages, in particular SOAP messages. A SOAP message is a text message using the XML-Extensible Markup Language, and the messages have distinct parts, that is, a body or payload and a header. A SOAP message contains one body part but may include one or more headers. The header in the message contains information intended for the transmitting nodes between the caller and the responder (including themselves), such as "Return response to this address" or "This message is part of a larger transaction number 987". It includes. As such, each header in a SOAP message can serve a completely different purpose, such as defining security permissions, transaction markers, delivery parameters, and so forth. The body or payload includes a message intended for the responder from the caller, such as "confirm the credit card number XYZ for a $ 70 payment," or a response from the responder, such as "credit authorization". In particular, “tool protocol stack” means that in addition to the request carried in the payload of the message described above with respect to FIGS. A protocol stack with additional functionality that makes it understandable to a software layer that knows how to encode and decode SOAP messages. As such, any other protocol that implements the same concept of body / header separation in message exchange, such as SOAP, can be used to implement the methods of the preferred embodiments of the present invention.

도 1a 및 2b를 참조하면, 도구형 SOAP 스택을 갖는 거래 관리자(106)(도 2b에서는 206)는, 참조 번호 110(도 2b에서는 210)의 자원 1에 SOAP 요청 메시지(108)(도 2b에서는 208)를 발행할 수 있다. 특히, SOAP 요청 메시지(108)(도 2b에서는 208)는, SOAP 요청 메시지(108)(도 2b에서는 208)의 몸체부 또는 페이로드에서 운반되는 실체 요청 및 기타의 헤더들에서 운반될 수 있는 임의의 기타 요청들 외에도, 비지니스 거래를 서비스하는 4개 자원(110, 114, 118 및 122)(210, 214, 218 및 222)들 중 하나 이상에 의한 하나 이상의 성능 또는 자원 메트릭의 수집본을 요청하는 SOAP 헤더를 포함한다. 자원에 대해 수집될 수 있는 성능 메트릭의 일부 예로서는, 중앙 처리 유닛(CPU) 사용량, 메모리 페이징, 디스크 사용량, 디스크 미사용 공간, 디스크 단편화, 메모리 이용률, 쓰레드 갯수, 프로세스 갯수, 판독된 바이트(네트워크 I/O), 기록된 바이트(네트워크 I/O) 등이 포함된다. 특히, 도 1b 및 도 2b에 도시된 바와 같이, 하나 이상의 성능 메트릭을 수집하기 위 한 요청 정보는 프로토콜 요청 메시지(SOAP 요청 메시지)의 프로토콜 요청 헤더(SOAP 요청 헤더)에서 명시되어 실행되고, 자원들(110, 114, 118, 및 122)(210, 214, 216, 및 222) 각각에 포워딩된다(실선 화살표 108, 112, 116 및 120; 도 2b에서는 208, 212, 216, 및 220). 반면, 비지니스 거래를 서비스하는 하나 이상의 자원들에 의해 수집된 성능 메트릭은 프로토콜 응답 메시지(SOAP 응답 메시지) 내의 프로토콜 응답 헤더(SOAP 응답 헤더)에서 거래 관리자(106)(도 2b에서는 206)에 되전송된다(실선 화살표 124, 126, 128, 및 130; 실선 화살표 224, 226, 228 및 230). 게다가, 자원들(110, 114, 118, 및 122)(도 2b에서는, 210, 214, 218, 및 222) 각각은, 프로토콜(SOAP) 요청 메시지 내의 프로토콜(SOAP) 요청 헤더를 비지니스 거래에 대한 실행 쓰레드와 연관시키고, 그리하여, 프로토콜(SOAP) 요청 메시지 내의 프로토콜(SOAP) 요청 헤더를, 비지니스 거래에 대한 동일한 실행 쓰레드 내에서 만들어진 기타 임의의 요청들에 전파시킨다.1A and 2B, a transaction manager 106 (206 in FIG. 2B) with a tooled SOAP stack indicates a SOAP request message 108 (FIG. 2B) to resource 1 at reference numeral 110 (210 in FIG. 2B). 208). In particular, the SOAP request message 108 (208 in FIG. 2B) may be carried in an entity request and other headers carried in the body portion or payload of the SOAP request message 108 (208 in FIG. 2B). In addition to the other requests of, requesting a collection of one or more performance or resource metrics by one or more of the four resources 110, 114, 118, and 122 (210, 214, 218, and 222) serving the business transaction. Contains a SOAP header. Some examples of performance metrics that can be collected for a resource include central processing unit (CPU) usage, memory paging, disk usage, disk free space, disk fragmentation, memory utilization, thread count, process count, and bytes read (network I / O), recorded bytes (network I / O), and the like. In particular, as shown in FIGS. 1B and 2B, request information for collecting one or more performance metrics is specified and executed in a protocol request header (SOAP request header) of a protocol request message (SOAP request message), and resources. (110, 114, 118, and 122) (210, 214, 216, and 222), respectively (solid arrows 108, 112, 116, and 120; 208, 212, 216, and 220 in FIG. 2B). In contrast, performance metrics collected by one or more resources servicing a business transaction are sent back to the transaction manager 106 (206 in FIG. 2B) in the protocol response header (SOAP response header) in the protocol response message (SOAP response message). (Solid arrows 124, 126, 128, and 130; solid arrows 224, 226, 228, and 230). In addition, each of the resources 110, 114, 118, and 122 (in FIG. 2B, 210, 214, 218, and 222) executes a protocol (SOAP) request header in a protocol (SOAP) request message for a business transaction. Associate with a thread and thus propagate the Protocol (SOAP) request header in the Protocol (SOAP) request message to any other requests made within the same thread of execution for the business transaction.

앞서 언급된 바와 같이, 양호하게는, 4개 자원들(110, 114, 118, 및 122)(도 2b에서는, 210, 214, 218, 및 222) 각각 뿐만 아니라 거래 관리자(106)(도 2b에서는 206)는 도구형 SOAP 스택을 가져서, 거래 관리자(106)(도 2b의 207)로부터 자원 1(도 1b의 참조 번호 110 및 도 2b의 210)로 SOAP 요청 메시지가 발행될 때(도 1b의 화살표 108; 도 2b의 화살표 208), 자원 1 상의 도구형 SOAP 스택은 SOAP 요청 메시지(108)(도 2b에서는 208) 내의 요청 헤더 내의 지시를 따를 수 있다. 따라서, 자원 1은, SOAP 요청 메시지(108)(도 2b에서는 208)의 SOAP 헤더 내의 거래 관리자(106)(도 2b에서는 206)에 의해 요청된 성능 메트릭을 수집한다. 유사하게, 요청 메시지(108)(도 2b에서는 208)가 포워딩될 때, 자원 1(참조 번호 110)은 SOAP 요청 메시지(108) 내에 포함된 요청 헤더를 전파시키고, 이를 자원 2(도 1b에서 참조 번호 114 및 도 2b에서 214)에 전송하여(도 1b에서 화살표 112; 도 2b에서 화살표 212), 자원 2 상의 도구형 SOAP 스택이 SOAP 요청 메시지(108)(도 2에서는 208)의 SOAP 헤더 내의 거래 관리자(106)(도 2에서는 206)에 의해 요청된 자원 2에 대한 그 자신의 성능 메트릭을 수집하도록 한다. 다시 한번, 메시지(108)(도 2b에서는 208)가 자원 2(도 1b에서는 참조 번호 114, 도 2에서는 214)로부터 자원 3(도 1b에서는 참조 번호 118, 도 2b에서는 218)으로 포워딩될 때, 자원 2는 SOAP 요청 메시지(108)(도 2b에서는 208) 내에 포함된 요청 헤더를 전파시키고 이를 자원 3에 전송하여(도 1b에서는 화살표 116, 도 2b에서는 화살표 216), 자원 3상의 도구형 SOAP 스택이 SOAP 요청 메시지(108)(도 2b에서는 208)의 SOAP 헤더 내의 거래 관리자(106)(도 2b에서는 206)에 의해 요청된 자원 3에 대한 그 자신의 성능 메트릭을 수집하도록 한다. 게다가, 메시지(108)(도 2b에서는 208)가 자원 3(도 1b에서는 참조 번호 118, 도 2b에서는 218)으로부터 자원 4(도 1b에서는 참조 번호 122, 도 2b에서는 222)로 포워딩될 때, 자원 3은 SOAP 요청 메시지(108)(도 2b에서는 208) 내에 포함된 요청 헤더를 전파시키고 이를 자원 4에 전송하여(도 1b에서는 화살표 120, 도 2b에서는 화살표 220), 자원 4상의 도구형 SOAP 스택이 SOAP 요청 메시지(108)(도 2b에서는 208)의 SOAP 헤더 내의 거래 관리자(106)(도 2b에서는 206)에 의해 요청된 그 자신의 성능 메트릭을 수집하도록 한다. 그 결과, 프로토콜(SOAP) 요청 메시지 내의 프로토콜(SOAP) 요청 헤더는 비지니스 거래와 연관된 모든 교환 또는 메시지들을 통해 복제된다.As mentioned above, preferably, each of the four resources 110, 114, 118, and 122 (210, 214, 218, and 222 in FIG. 2B) as well as the transaction manager 106 (in FIG. 2B). 206 has a tooled SOAP stack so that when a SOAP request message is issued from transaction manager 106 (207 in FIG. 2B) to resource 1 (reference numeral 110 in FIG. 1B and 210 in FIG. 2B) (arrow in FIG. 1B). 108; arrow 208 of FIG. 2B), the tool-based SOAP stack on resource 1 may follow the instructions in the request header in the SOAP request message 108 (208 in FIG. 2B). Thus, resource 1 collects the performance metrics requested by transaction manager 106 (206 in FIG. 2B) in the SOAP header of SOAP request message 108 (208 in FIG. 2B). Similarly, when request message 108 (208 in FIG. 2B) is forwarded, resource 1 (reference number 110) propagates the request header included in SOAP request message 108, which is referred to as resource 2 (see FIG. 1B). Number 114 and 214 in FIG. 2B (arrow 112 in FIG. 1B; arrow 212 in FIG. 2B), so that the tooled SOAP stack on resource 2 has a transaction in the SOAP header of SOAP request message 108 (208 in FIG. 2). Collect its own performance metrics for resource 2 requested by manager 106 (206 in FIG. 2). Once again, when message 108 (208 in FIG. 2B) is forwarded from Resource 2 (114 in FIG. 1B, 214 in FIG. 2) to Resource 3 (118 in FIG. 1B, 218 in FIG. 2B), Resource 2 propagates the request header contained within SOAP request message 108 (208 in FIG. 2B) and sends it to resource 3 (arrow 116 in FIG. 1B, arrow 216 in FIG. 2B), which is a tool-based SOAP stack on resource 3 Collect its own performance metrics for resource 3 requested by transaction manager 106 (206 in FIG. 2B) in the SOAP header of this SOAP request message 108 (208 in FIG. 2B). In addition, when message 108 (208 in FIG. 2B) is forwarded from resource 3 (reference number 118 in FIG. 1B, 218 in FIG. 2B) to resource 4 (122 in FIG. 1B, 222 in FIG. 2B), the resource is 3 propagates the request header contained within the SOAP request message 108 (208 in FIG. 2B) and sends it to resource 4 (arrow 120 in FIG. 1B, arrow 220 in FIG. 2B), which results in a tool SOAP stack on resource 4 It collects its own performance metrics requested by the transaction manager 106 (206 in FIG. 2B) in the SOAP header of the SOAP request message 108 (208 in FIG. 2B). As a result, the protocol request header in the protocol request message is replicated over all exchanges or messages associated with the business transaction.

한 실시예에서, 자원들(110, 114, 118, 및 112)(도 2b에서는 210, 214, 218 및 222) 상의 도구형 SOAP 스택은 성능 메트릭 또는 자원 메트릭 정보를 수집하고, 수집된 그 정보를 비지니스 거래 요청에 속하는 응답 메시지 내의 SOAP 응답 헤더에 부가한다. 특히, 자원 4(도 1b에서는 참조 번호 122 및 도 2b에서는 222)에 의해 수집된 성능 메트릭은, 자원 4(도 1b에서는 참조 번호 122 및 도 2b에서는 222)로부터 자원 3(도 1b에서는 참조 번호 118, 도 2b에서는 218)으로 되전송되는(도 1b에서는 화살표 214; 도 2B에서는 화살표 224) SOAP 응답 메시지 내의 SOAP 응답 헤더에 부가된다. 차례로, 자원 3(도 1b에서는 참조 번호 118, 도 2b에서는 218)은 자원 3에 의해 수집된 성능 메트릭을 자원 4로부터 수신된 SOAP 응답 메시지 내의 SOAP 응답 헤더에 추가하고, 이를 자원 2(도 1b에서는 참조 번호 114, 도 2에서는 214)에 되전송한다(도 1b에서는 화살표 126; 도 2b에서는 화살표 226). 차례로, 자원 2는 자신이 수집한 성능 메트릭을 자원 3으로부터 수신된 SOAP 응답 메시지 내의 SOAP 응답 헤더에 추가하고, 이를 자원 1(도 1b의 참조 번호 110 및 도 2b의 210)에 되전송한다(화살표 128). 다시 한번, 자원 1은, 자신이 수집한 성능 메트릭을 자원 2로부터 수신된 SOAP 응답 메시지 내의 SOAP 응답 헤더에 추가하고, SOAP 응답 메시지를 거래 관리자(106)(도 2b에서는 206)에 되전송한다(도 1b에서 화살표 130; 도 2b에서 화살표 230). 또한, 도구형 SOAP 스택은, 거래 관리자(106)(도 2b에서는 206)에 전송된 SOAP 응답 메시지의 SOAP 응답 헤더에서, SOAP 응답 메시지를 거래 관리자에 전송하기 이전에 비지니스 거래에 대한 동일한 실행 쓰레드 내에서 만들어진 기타 임의의 요청들을 서비스하는 자원에 대해 수집된 하나 이상의 성능 메트릭들 각각을 총계낸다. 게다가, 각각의 자원 상의 도구형 SOAP 스택은 그 자원에 대한 메트릭 수집을 책임지므로, 각각의 자원은 성능 메트릭을 수집할 수 있는 도구형 SOAP 스택을 갖는 것이 바람직하지만, 반드시 필요한 것은 아니다. 따라서, 자원들(110, 114, 118, 및 122)(도 2b에서는 210, 214, 218, 및 222) 각각에 도구형 SOAP 스택이 설치되어 있다면, 선행 자원 상의 도구형 SOAP 스택은 그 자신의 성능 메트릭을 그들이 호출한 후속 자원으로부터 수신된 응답 헤더에 추가할 수 있다. 따라서, 거래 관리자(106)(도 2b에서는 206)에 전송된(도 1b에서는 실선 화살표 130; 도 2b에서는 실선 화살표 230) SOAP 응답 메시지 내의 최종 응답 헤더는, 포괄적 답변에 기여하는 자원들(110, 114, 118, 및 122)(도 2b에서는 210, 214, 218 및 222) 각각에 대한 성능 메트릭과 함께 하나의 응답 헤더를 포함한다. 그러나, 만일 자원이 비도구형(비도구형 SOAP 스택)인 SOAP 스택을 가진다면, 비도구형 SOAP 스택은, 그 자신의 성능 메트릭을 수집하지 않고 단순히 성능 또는 자원 부하-모니터링 헤더들을 후속 자원에 전달한다. 따라서, 자원 상의 비도구형 SOAP 스택에 대한 성능 메트릭은 거래 관리자에 전달된 응답 메시지 내의 최종 응답 헤더에 포함되지 않을 것이다.In one embodiment, the tool SOAP stack on resources 110, 114, 118, and 112 (210, 214, 218, and 222 in FIG. 2B) collects performance metric or resource metric information and collects the collected information. Append to the SOAP response header in the response message belonging to the business transaction request. In particular, the performance metrics collected by resource 4 (reference numeral 122 in FIG. 1B and 222 in FIG. 2B) range from resource 4 (reference numeral 122 in FIG. 1B and 222 in FIG. 2B) to resource 3 (reference number 118 in FIG. 1B). , 218 in FIG. 2B) (arrow 214 in FIG. 1B; arrow 224 in FIG. 2B) to the SOAP response header in the SOAP response message. In turn, resource 3 (reference number 118 in FIG. 1B, 218 in FIG. 2B) adds the performance metrics collected by resource 3 to the SOAP response header in the SOAP response message received from resource 4, which is then assigned to resource 2 (in FIG. 1B). Reference numeral 114, 214 in FIG. 2 (arrow 126 in FIG. 1B; arrow 226 in FIG. 2B). In turn, resource 2 adds its collected performance metrics to the SOAP response header in the SOAP response message received from resource 3 and sends it back to resource 1 (reference number 110 in FIG. 1B and 210 in FIG. 2B) (arrow 128). Once again, resource 1 adds its collected performance metrics to the SOAP response header in the SOAP response message received from resource 2 and sends the SOAP response message back to transaction manager 106 (206 in FIG. 2B) ( Arrow 130 in FIG. 1B; arrow 230 in FIG. 2B). In addition, the tooltip SOAP stack, in the SOAP response header of the SOAP response message sent to the transaction manager 106 (206 in FIG. 2B), is in the same thread of execution for the business transaction prior to sending the SOAP response message to the transaction manager. Aggregate each of the one or more performance metrics collected for the resource serving any other requests made in the application. In addition, since the tooled SOAP stack on each resource is responsible for collecting metrics for that resource, it is desirable, but not required, that each resource have a tooled SOAP stack capable of collecting performance metrics. Thus, if the tool SOAP stack is installed on each of the resources 110, 114, 118, and 122 (210, 214, 218, and 222 in FIG. 2B), the tool SOAP stack on the preceding resource has its own performance. The metric can be added to the response header received from the subsequent resource they called. Accordingly, the final response header in the SOAP response message sent to the transaction manager 106 (206 in FIG. 2B) (solid arrow 130 in FIG. 1B; solid arrow 230 in FIG. 2B) may include resources 110, which contribute to the generic response. One response header with performance metrics for each of 114, 118, and 122 (210, 214, 218, and 222 in FIG. 2B). However, if a resource has a SOAP stack that is non-toolless (non-tool SOAP stack), the non-tool SOAP stack simply passes performance or resource load-monitoring headers to subsequent resources without collecting its own performance metrics. Thus, performance metrics for non-tool SOAP stacks on resources will not be included in the final response header in the response message sent to the transaction manager.

한 실시예에서, 이 방법은, 자원을 관리하기 위해 자원들(110, 114, 118, 및/또는 122)(도 2b에서는 210, 214, 218, 및/또는 222) 중 하나 이상에 배치된 하나 이상의 모니터링 에이전트로부터 하나 이상의 성능 메트릭 이벤트를 수집하도록 구성된 자원 관리자(102)(도 2b에서는 202)를 제공하는 단계를 더 포함한다. 자원 관리자(102)(도 2b에서는 202)는 자원 상에서 실행되고 있는 모니터링 에이전트로부터 이벤트를 수신하도록 구성된 애플리케이션이다. 또한, 모니터링 에이전트는 하나 이상의 자원 상에서 실행되는 프로그램으로서, 그 작업은 CPU 데이터, 디스크 사용량 등과 같은 이들 자원들 상의 성능 또는 자원 메트릭을 모니터링하는 것이다. 만일 모니터링 에이전트가 문제가 있는 무언가를 관측하면, 예를 들어, 자원 상의 CPU가 70% 임계치에 도달했다는 것을 관측하면, 그 모니터링 에이전트는 (성능 메트릭 이벤트라고도 불리는) 이벤트를 발생하고 이를 자원 관리자(102)(도 2b에서는 202)에 전송한다. 예를 들어, 도 1b 및 2b에 도시된 바와 같이, 자원 1(도 1b의 참조 번호 110 및 도 2b의 210)은 자원 1상의 성능 메트릭을 수집하는 모니터링 에이전트(134)(도 2b에서는 234)를 가진다. 모니터링 에이전트(134)(도 2b에서는 234)에 의해 수집된 성능 메트릭은 거래 관리자(106)(도 2b에서는 206)에 의해 요청된 것과는 상이할 수 있다. 모니터링 에이전트(134)(도 2b에서는 234)는 자원 1에 대해 수집된 성능 메트릭을 자원 관리자(102)(도 2b에서는 202)에 전송한다(도 1b에서는 점선 화살표 138; 도 2b에서는 점선 화살표 238). 자원 관리자(102)(도 2b에서는 202)는, 자원 1에 대한 성능 메트릭이 프리셋 값을 초과할 때 자원 1(도 1b의 참조 번호 110 및 도 2b의 210)상에서 실행중인 모니터링 에이전트(134)(도 2b에서는 234)로부터 경고를 수신하도록(도 1b에서는 점선 화살표 138; 도 2b에서는 점선 화살표 238) 구성되어, 자원 관리자(102)(도 2b에서는 202)가 필요한 적절한 액션을 취할 수 있다. 유사하게, 자원 2(도 1b의 참조 번호 114 및 도 2b의 214)는 자원 2에 대한 성능 메트릭을 수집하는 모니터링 에이전트(136)(도 2b에서는 236)를 가진다. 다시 한번, 모니터링 에이전트(136)(도 2b에서는 236)는 수집된 성능 메트릭을 자원 관리자(102)(도 2b에서는 202)에 전송하고(도 1b에서는 점선 화살표 140; 도 2b에서는 점선 화살표 240), 자원 2에 대한 성능 메트릭이 프리셋 값 또는 임계치를 초과할 때 경고를 전송한다. 이와 같이, 자원 관리자(102)(도 2b에서는 202)는, 각각 그들 상에서 실행중인 모니터링 에이전트(134 및 136)를 갖는 개개의 자원들(110 및 114)(도 2b에서는 자원 210 및 214)에 대한 모든 자원 또는 성능 메트릭 이벤트를 수집한다. 그러나, 자원 3(도 1b에서는 참조 번호 118, 도 2b에서는 218) 및 자원 4(도 1b에서는 참조 번호 122 및 도 2b에서는 222)는 그들 상에 어떠한 모니터링 에이전트를 갖지 않으며, 자원 1(도 1b의 참조 번호 110 및 도 2b의 210) 및 자원 2(도 1b에서는 참조 번호 114, 도 2에서는 214) 상에서 각각 실행중인 모니터링 에이전트(134 및 136)(도 2b에서는 234 및 236)에 의해 수집된 정보만이 자원 관리자(102)(도 2b에서는 202)에 통과 및 전달된다. 이것은, 예를 들어, 만일 초과된 성능 메트릭, 예를 들어, CPU 사용량으로 인해, 자원 4(도 1b에서는 참조 번호 122 및 도 2b에서는 222)이 느리다면(도 1b에서는 심볼 132 및 도 2b에서는 232로 도시), 이 성능 정보는 자원 관리자(102)(도 2b에서는 202)에 전달되지 않을 수 있다. 따라서, 자원 4에 관한 문제가 해결되지 않는다. 또한, 자원 관리자(102)(도 2b에서는 202)는 거래 관리자(106)(도 2b에서는 206)에 정보를 능동적으로 전달하지 않지만, 자원 관리자(102)(도 2b에서는 202)로부터의 정보는, 만일 거래 관리자(106)(도 2b에서는 206)에 의해 요청받는 경우, 거래 관리자(106)(도 2b에서는 206)에 전달될 것이다(도 1b에서는 이중 화살 표 104, 도 2b에서는 이중 화살표 204).In one embodiment, the method includes one disposed on one or more of the resources 110, 114, 118, and / or 122 (210, 214, 218, and / or 222 in FIG. 2B) to manage the resource. And providing a resource manager 102 (202 in FIG. 2B) configured to collect one or more performance metric events from the at least one monitoring agent. Resource manager 102 (202 in FIG. 2B) is an application configured to receive events from monitoring agents running on resources. In addition, a monitoring agent is a program that runs on one or more resources, whose task is to monitor performance or resource metrics on these resources, such as CPU data, disk usage, and the like. If the monitoring agent observes something in question, for example, observing that a CPU on a resource has reached a 70% threshold, the monitoring agent generates an event (also called a performance metric event) and reports it to the resource manager 102. (202 in Fig. 2b). For example, as shown in FIGS. 1B and 2B, resource 1 (reference numeral 110 in FIG. 1B and 210 in FIG. 2B) may include a monitoring agent 134 (234 in FIG. 2B) that collects performance metrics on resource 1. Have The performance metrics collected by the monitoring agent 134 (234 in FIG. 2B) may be different than those requested by the transaction manager 106 (206 in FIG. 2B). Monitoring agent 134 (234 in FIG. 2B) sends the performance metrics collected for Resource 1 to resource manager 102 (202 in FIG. 2B) (dashed arrow 138 in FIG. 1B; dashed arrow 238 in FIG. 2B). . Resource manager 102 (202 in FIG. 2B) is configured to monitor agent 134 running on resource 1 (reference numeral 110 in FIG. 1B and 210 in FIG. 2B) when the performance metric for resource 1 exceeds a preset value. It is configured to receive alerts from 234 in FIG. 2B (dashed arrow 138 in FIG. 1B; dashed arrow 238 in FIG. 2B) so that resource manager 102 (202 in FIG. 2B) can take the appropriate action as needed. Similarly, resource 2 (reference numeral 114 in FIG. 1B and 214 in FIG. 2B) has a monitoring agent 136 (236 in FIG. 2B) that collects performance metrics for resource 2. Once again, monitoring agent 136 (236 in FIG. 2B) sends the collected performance metrics to resource manager 102 (202 in FIG. 2B) (dashed arrow 140 in FIG. 1B; dashed arrow 240 in FIG. 2B), Send an alert when the performance metric for resource 2 exceeds a preset value or threshold. As such, resource manager 102 (202 in FIG. 2B) is responsible for the individual resources 110 and 114 (resources 210 and 214 in FIG. 2B) with monitoring agents 134 and 136 running on them, respectively. Collect all resource or performance metric events. However, resource 3 (reference numeral 118 in Fig. 1B, 218 in Fig. 2B) and resource 4 (reference numeral 122 in Fig. 1B and 222 in Fig. 2B) do not have any monitoring agents on them, and resource 1 (Fig. 1B) Only information collected by monitoring agents 134 and 136 (234 and 236 in FIG. 2B) running on reference numeral 110 and 210 in FIG. 2B and resource 2 (reference numeral 114 in FIG. 1B and 214 in FIG. 2), respectively. This resource manager 102 passes (and passes to 202 in FIG. 2B). This is, for example, if resource 4 (reference numeral 122 in FIG. 1B and 222 in FIG. 2B) is slow (symbol 132 in FIG. 1B and 232 in FIG. 2B) due to exceeded performance metrics, eg, CPU usage. This performance information may not be communicated to resource manager 102 (202 in FIG. 2B). Thus, the problem regarding resource 4 is not solved. In addition, although the resource manager 102 (202 in FIG. 2B) does not actively transmit information to the transaction manager 106 (206 in FIG. 2B), the information from the resource manager 102 (202 in FIG. 2B), If requested by transaction manager 106 (206 in FIG. 2B), it will be forwarded to transaction manager 106 (206 in FIG. 2B) (double arrow 104 in FIG. 1B and double arrow 204 in FIG. 2B).

또 다른 실시예에서, 도 2a에 개요되고 도 2b에 도시된 바와 같이, 하나 이상의 자원에 의해 서비스받는 비지니스 거래를 모니터링하는 방법(200a 및 200b)이 제공된다. 이 방법은, 각각의 자원이 후속 자원으로부터 수신된 각각의 프로토콜(SOAP) 응답 헤더 내의 성능 메트릭에 대한 총계값을 점검하도록, 하나 이상의 자원들 각각의 자원에 대응하는 적어도 각각의 도구형 프로토콜 인코딩-디코딩 컴포넌트(도구형 SOAP 스택)를 정책 또는 규칙으로 미리구성하는 단계를 포함한다. 나아가, 각각의 자원은 후속 자원에 대한 성능 메트릭에 대한 프리셋값이 초과될 때 자원 관리자에게 경고를 전송한다. 따라서, 정책 또는 규칙으로 미리구성된 도구형 SOAP 스택은 모니터링 에이전트로서 추가로 역할하며, 피어 자원에 관한 성능 메트릭에 대한 프리셋 값 또는 미리구성된 임계치가 초과되었다고 판정될 때, 피어 자원을 위하여 자원 관리자에게 경고를 전송할 수 있다. 경고는, 메트릭이 임계치 또는 프리셋값을 초과했다는 것을 가리키는, 자원 관리자에게 직접 전송되는 간단한 메시지로서 구현될 수 있다. 예를 들어, 도 2b에 도시된 바와 같이, 자원 2(참조 번호 214)는, 도 2b의 자원 3(참조 번호 218) 및/또는 자원 4(참조 번호 222)를 위하여 모니터링 에이전트로서 역할하도록 정책(도 2b에서 심볼 242)으로 미리 구성된 도구형 SOAP 스택을 가진다. 특히, 만일 도 2b에서 자원 3 및 자원 4 중 어느 하나 또는 양자 모두에 대하여 소정의 기준 또는 값이 프리셋되었다면, 자원 2상의 도구형의 미리구성된 SOAP 스택은 자원 4(참조 번호 214) 및/또는 자원 3(참조 번호 218)으로부터 수신되고 수집된 성능 메트릭을 비교하고, 도 2b의 자원 3 및/또는 자원 4에 대해 특정한 프리셋 임계치 값 또는 기준이 만족되었는지의 여부를 판정할 수 있어서, 자원 2(참조 번호 214)는, 자원(자원 3(218)이라고 하자) 및/또는 자원 4(참조 번호 222)을 위하여 자원 관리자(302)에 경고를 전송할 수 있고(점선 화살표 218), 그리하여 도 1b에 대하여 전술된 상황과는 달리, 도 2b의 자원 관리자(202)에게 충족된 프리셋 임계치 및/또는 기준을 경고한다. 따라서, 한 실시예에서, 소수의 도구형 SOAP 스택들만이 다른 자원들을 위해 이벤트를 보고하는 모니터링 에이전트로서 역할하도록 정책들로 미리구성되어, 네트워크를 통해 자원들을 모니터링하는데 요구되는 모니터링 에이전트의 갯수를 최소화하고, 통상의 비지니스 거래에 관해 피어들과 통신하는 것 외에도, 각각의 및 모든 하나의 자원이 그들의 상태를 중앙 모니터링 인프라구조에 전달하는 것을 허용하는 접속성 문제를 최소화한다. 또한, 한 실시예에서, 자원 모니터링 인프라구조 또는 자원 관리자(202)는 그래픽 유저 인터페이스를 제공하며, 여기서, 하나 이상의 성능 메트릭에 대한 기준 또는 값들이 프리셋될 수 있다. 따라서, 거래 관리자(206)가 모니터링 정보를 요청할 때, 특정한 성능 메트릭, 및 소정의 프리셋 값이 초과되었을 때의 성능 메트릭 양자 모두에 대해 요청할 수 있다. 또한, 모니터링 에이전트(236)와 같은 모니터링 에이전트는, 자원 2(참조 번호 214) 상의 설치된 SOAP 스택이 비교와 자원 관리자(202)로의 경고 전송을 위하여 정책들로 미리구성되더라도, 여전히 소정의 자원(예를 들어, 자원 2, 도 2b에서는 참조 번호 214) 상에 설치될 수 있다. 예를 들어, 모니터링 에이전트(236)는, 자원 2(참조 번호 214) 상의 미리구성된 도구형 SOAP 스택(242)에 의해 수집된 것들과는 상이한 세트의 성능 또는 자원 메트릭을 모니터링할 수도 있다.In yet another embodiment, methods 200a and 200b are provided for monitoring a business transaction served by one or more resources, as outlined in FIG. 2A and shown in FIG. 2B. The method includes at least each tool protocol encoding corresponding to a resource of each of the one or more resources such that each resource checks a total value for a performance metric in each protocol (SOAP) response header received from a subsequent resource. Preconfiguring the decoding component (tooled SOAP stack) into a policy or rule. Further, each resource sends an alert to the resource manager when the preset value for the performance metric for subsequent resources is exceeded. Thus, a tooled SOAP stack preconfigured with a policy or rule additionally acts as a monitoring agent and alerts the resource manager for a peer resource when it is determined that a preset value or preconfigured threshold for performance metrics on the peer resource has been exceeded. Can be transmitted. The alert may be implemented as a simple message sent directly to the resource manager indicating that the metric has exceeded a threshold or preset value. For example, as shown in FIG. 2B, resource 2 (reference number 214) may be configured to act as a monitoring agent for resource 3 (reference number 218) and / or resource 4 (reference number 222) of FIG. 2B. In FIG. 2B, there is a pre-configured tool SOAP stack with symbol 242. In particular, if a predetermined criterion or value has been preset for either or both of resource 3 and resource 4 in FIG. 2B, the tool-shaped preconfigured SOAP stack on resource 2 is assigned to resource 4 (reference number 214) and / or resource. The performance metrics received and collected from 3 (reference number 218) can be compared and it can be determined whether a particular preset threshold value or criterion has been met for resource 3 and / or resource 4 in FIG. Number 214 may send an alert to resource manager 302 for resource (referred to as resource 3 218) and / or resource 4 (reference number 222) (dashed arrow 218) and thus described above with respect to FIG. 1B. Unlike the situation described above, the resource manager 202 of FIG. 2B is alerted to the preset thresholds and / or criteria met. Thus, in one embodiment, only a few tool SOAP stacks are preconfigured with policies to act as monitoring agents that report events for other resources, minimizing the number of monitoring agents required to monitor resources over the network. And, in addition to communicating with peers about normal business transactions, minimizes connectivity issues that allow each and every one resource to communicate their status to a central monitoring infrastructure. In addition, in one embodiment, resource monitoring infrastructure or resource manager 202 provides a graphical user interface, where criteria or values for one or more performance metrics may be preset. Thus, when transaction manager 206 requests monitoring information, it can request both a specific performance metric and a performance metric when a predetermined preset value has been exceeded. In addition, a monitoring agent, such as monitoring agent 236, may still have some resources (e.g., even if the installed SOAP stack on resource 2 (reference number 214) is preconfigured with policies for comparison and alert transmission to resource manager 202). For example, the resource 2 may be installed on reference numeral 214 in FIG. 2B. For example, the monitoring agent 236 may monitor a different set of performance or resource metrics than those collected by the preconfigured tooling SOAP stack 242 on resource 2 (reference numeral 214).

또 다른 실시예에서, 도 1b 및 2b에 도시된 바와 같이, 전술된 바와 같은 서비스 지향형 아키텍쳐에서 비지니스 거래를 서비스하는 자원을 모니터링하기 위한 시스템(100b 및 200b)의 상이한 실시예들이 제공된다. 이 시스템은 비지니스 거래를 서비스하도록 구성된 하나 이상의 자원(도 1b에서는 110, 114, 118, 및 122, 및 도 2b에서는 210, 214, 218 및 222)을 포함한다. 여기서, 자원들 중 하나 이상에는 도구형 프로토콜 스택이 배치되어 있고, 양호하게는, 각각의 자원에는 도구형 프로토콜 스택이 배치되어 있다. 이 시스템은, 도구형 프로토콜 스택이 배치되어 있고, 도 1b 및 2b의 4개의 자원에 전송된 프로토콜 요청 메시지 내의 프로토콜 요청 헤더에서 4개의 자원에 의해 서비스받는 비지니스 거래에 대한 하나 이상의 성능 메트릭을 모니터링할 것을 발행하도록 구성된, 거래 관리자(도 1b의 106 및 도 2b의 206)를 더 포함한다. 또한 한 실시예에서, (도 1b 및 2b에 도시된) 4개의 자원들 각각은 비지니스 거래에 대한 하나 이상의 성능 자원을 수집하고 거래 관리자에게 전송되는 프로토콜 응답 메시지 내의 프로토콜 응답 헤더 내의 하나 이상의 성능 메트릭을 총계하도록 구성된다. 여기서, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더는 비지니스 거래에 대한 실행 쓰레드와 연관되어, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더가 비지니스 거래에 대한 동일한 실행 쓰레드 내에서 만들어진 기타 임의의 요청에 전파되도록 한다. 따라서, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더는 상기 방법에서 기술된 바와 같이 비지니스 거래와 연관된 모든 교환들을 통해 복제된다. 이 시스템은, 하나 이상의 자원들, 특 히, 도 1b 및 2b에 도시된 자원 1 및 3 상에 배치된 하나 이상의 모니터링 에이전트(도 1b에서는 134 및 136과 도 2b에서는 234 및 236)로부터 하나 이상의 성능 메트릭 이벤트를 수집하도록 구성된 자원 관리자(도 1b에서는 102 및 도 2b에서는 202)를 더 포함한다. 한 실시예에서, 거래 관리자(도 1b에서는 106 및 도 2b에서는 206)는 하나 이상의 자원(도 1b에서는 110, 114, 118 및 122 및 도 2b에서는 210, 214, 218 및 222)에 의해 서비스받는 비지니스 거래에 대한 하나 이상의 거래 메트릭을 모니터링하도록 추가로 구성되며, 전술된 방법에서 기술된 바와 같이, 하나 이상의 자원에 의해 수집된 하나 이상의 성능 메트릭에 비추어 비지니스 거래를 서비스하는 하나 이상의 자원들에 대해 모니터링되는 하나 이상의 거래 메트릭을 분석하도록 구성된다. 한 실시예에서, 하나 이상의 자원들 중 각각의 선행 자원, 예를 들어, 자원 3(도 1b에서는 118, 및 도 2b에서는 218)은, 하나 이상의 자원들 중 각각의 후속 자원, 예를 들어, 자원 4(도 1b에서는 122, 및 도 2b에서는 222)로부터 수신된 프로토콜 응답 메시지 내의 프로토콜 응답 헤더에 각각의 성능 메트릭 세트를 부가하도록 구성된다. 한 실시예에서, 도 2b에 도시된 바와 같이, 하나 이상의 자원들의 서브셋, 예를 들어, 자원 2(도 2b의 214)에 대응하는 도구형 프로토콜 스택은, 성능 메트릭에 대한 프리셋값이 초과될 때 미리구성된 자원(예를 들어, 자원 2(214))이 자원 관리자(202)에 경고를 전송하도록, 수신된 프로토콜 요청 메시지 내의 프로토콜 요청 헤더내의 성능 메트릭의 총계값을 성능 메트릭에 대한 프리셋값과 비교하기 위해, 정책들(심볼 242)로 구성된다. 한 실시예에서, 도구형 프로토콜 스택은 도구형 SOAP(Simple Object Access Protocol) 스택을 포함하 며, 프로토콜 요청 헤더는 SOAP(Simple Object Access Protocol) 요청 헤더를 포함하고, 프로토콜 응답 헤더는 SOAP(Simple Object Access Protocol) 응답 헤더를 포함하며, 프로토콜 요청 메시지는 SOAP(Simple Object Access Protocol) 요청 메시지를 포함하고, 프로토콜 응답 메시지는 SOAP(Simple Object Access Protocol) 응답 메시지를 포함한다.In yet another embodiment, different embodiments of systems 100b and 200b for monitoring resources servicing a business transaction in a service-oriented architecture as described above are provided, as shown in FIGS. 1B and 2B. The system includes one or more resources configured to service business transactions (110, 114, 118, and 122 in FIG. 1B, and 210, 214, 218, and 222 in FIG. 2B). Here, at least one of the resources is arranged with a tool protocol stack, and preferably, each resource is equipped with a tool protocol stack. The system is equipped with a tooled protocol stack and monitors one or more performance metrics for business transactions served by the four resources in the protocol request header in the protocol request message sent to the four resources of FIGS. 1B and 2B. And a transaction manager (106 in FIG. 1B and 206 in FIG. 2B), configured to issue the transaction. Also in one embodiment, each of the four resources (shown in FIGS. 1B and 2B) collects one or more performance resources for the business transaction and collects one or more performance metrics in the protocol response header in the protocol response message sent to the transaction manager. It is configured to total. Here, the protocol request header in the protocol request message is associated with an execution thread for the business transaction, such that the protocol request header in the protocol request message is propagated to any other request made within the same execution thread for the business transaction. Thus, the protocol request header in the protocol request message is duplicated over all the exchanges associated with the business transaction as described in the method above. The system includes one or more capabilities from one or more resources, in particular one or more monitoring agents (134 and 136 in FIG. 1B and 234 and 236 in FIG. 2B) deployed on resources 1 and 3 shown in FIGS. 1B and 2B. It further includes a resource manager (102 in FIG. 1B and 202 in FIG. 2B) configured to collect metric events. In one embodiment, a transaction manager (106 in FIG. 1B and 206 in FIG. 2B) is a business serviced by one or more resources (110, 114, 118 and 122 in FIG. 1B and 210, 214, 218 and 222 in FIG. 2B). It is further configured to monitor one or more transaction metrics for the transaction, and monitored for one or more resources servicing the business transaction in light of one or more performance metrics collected by the one or more resources, as described in the method described above. And to analyze one or more trading metrics. In one embodiment, each preceding resource of one or more resources, such as resource 3 (118 in FIG. 1B, 218 in FIG. 2B), is each subsequent resource of one or more resources, such as a resource. And each set of performance metrics in the protocol response header in the protocol response message received from 4 (122 in FIG. 1B and 222 in FIG. 2B). In one embodiment, as shown in FIG. 2B, the tool protocol stack corresponding to a subset of one or more resources, eg, resource 2 (214 of FIG. 2B), is exceeded when the preset value for the performance metric is exceeded. Compare the total value of the performance metric in the protocol request header in the received protocol request message with the preset value for the performance metric so that the preconfigured resource (eg, resource 2 214) sends an alert to the resource manager 202. To do so, it consists of policies (symbol 242). In one embodiment, the tooling protocol stack comprises a tooling Simple Object Access Protocol (SOAP) stack, the protocol request header comprises a Simple Object Access Protocol (SOAP) request header, and the protocol response header is a SOAP (Simple Object) An Access Protocol (ACP) response header, wherein the protocol request message includes a Simple Object Access Protocol (SOAP) request message, and the protocol response message includes a Simple Object Access Protocol (SOAP) response message.

역시 또 다른 실시예에서, 비지니스 거래와 연관된 메트릭을 모니터링하기 위한 컴퓨터 프로그램 제품이 제공된다. 양호하게는, 이 컴퓨터 프로그램 제품은, 컴퓨터 또는 임의의 명령어 실행 시스템에서 사용하기 위한 또는 이들과 연계하여 사용하기 위한 프로그램 코드 또는 명령어를 제공하는 컴퓨터 사용가능하거나 컴퓨터 판독가능한 매체로부터 액세스가능한 형태이다. 설명의 목적을 위해, 컴퓨터 사용가능하거나 컴퓨터 판독가능한 매체는, 명령어 실행 시스템, 장치 또는 디바이스에 의해 사용되거나 이들과 연계하여 사용하기 위한 코드 또는 명령어를 포함, 저장, 전달, 전파, 또는 수송할 수 있는 임의의 장치일 수 있다. 양호하게는, 매체는 전자적, 자기적, 광학적, 전자기적, 적외선, 또는 반도체 시스템(또는 장치 또는 디바이스) 또는 전파 매체일 수 있다. 더욱 양호하게는, 컴퓨터 판독가능한 매체는, 반도체 또는 고체 상태 메모리, 자기 테이프, 착탈가능한 컴퓨터 디스켓, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 경성 자기 디스크 및 광학 디스크를 포함할 수 있다. 또한, 광학 디스크의 예로서는, CD-ROM, CD-R/W, 및 DVD가 포함될 수 있다. 본 발명의 실시예들은 전적으로 하드웨어 실시예, 전적으로 소프트웨어 실시예 또는 하드웨어 및 소프트웨어 양자 모두를 포함하는 실 시예의 형태를 취할 수 있다. 양호한 실시예는, 펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함하지만, 이들만으로 제한되지는 않는 소프트웨어로 구현될 수 있다.In yet another embodiment, a computer program product for monitoring metrics associated with a business transaction is provided. Preferably, the computer program product is in a form that is accessible from a computer usable or computer readable medium that provides program code or instructions for use in or in connection with a computer or any instruction execution system. For purposes of explanation, computer usable or computer readable media may comprise, store, transmit, propagate, or transport code or instructions for use by or in connection with an instruction execution system, apparatus, or device. It may be any device present. Preferably, the medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or propagation medium. More preferably, computer readable media may include semiconductor or solid state memory, magnetic tape, removable computer diskette, random access memory (RAM), read-only memory (ROM), hard magnetic disk, and optical disk. . In addition, examples of the optical disk may include CD-ROM, CD-R / W, and DVD. Embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment including both hardware and software. Preferred embodiments may be implemented in software including, but not limited to, firmware, resident software, microcode, and the like.

컴퓨터 프로그램 제품은, 비지니스 거래를 서비스하는 하나 이상의 자원들에 발행된 요청 메시지 내의 요청 헤더에서 하나 이상의 성능 메트릭들의 수집본을 명시하도록 구성된 거래 관리자를 제공하기 위한 제1 프로그램 명령어를 더 포함한다. 여기서, 하나 이상의 자원들과 거래 관리자 각각에는 도구형 프로토콜 스택이 배치되어 있다. 컴퓨터 프로그램 제품은, 요청 메시지 내에 명시된 하나 이상의 성능 메트릭을 수집하기 위한 제2 프로그램 명령어와, 비지니스 거래를 서비스하는 하나 이상의 자원에 의해 수집된 하나 이상의 성능 메트릭을 응답 메시지 내의 응답 헤더에서 거래 관리자에게 전송하는 제2 프로그램 명령어를 더 포함한다. 한 실시예에서, 제2 프로그램 명령어는, 요청 메시지 내의 요청 헤더를 비지니스 거래에 대한 실행 쓰레드와 연관시키고, 요청 메시지 내의 요청 헤더를 그 비지니스 거래에 대한 실행 쓰레드 내에서 만들어진 기타 임의의 요청 메시지들에 전파시키기 위한 명령어를 더 포함한다. 나아가, 한 실시예에서, 제2 프로그램 명령어는 하나 이상의 자원들 중 후속 자원으로부터 수신된 응답 메시지 내의 응답 헤더에 각각의 세트의 성능 메트릭을 추가하고 그 응답 메시지를 거래 관리자에게 전송하기 위한 명령어를 더 포함한다. 컴퓨터 프로그램 제품은, 후속 자원으로부터 수신된 각각의 응답 헤더 내의 하나 이상의 성능 메트릭들 중 한 성능 메트릭의 총계값을 그 성능 메트릭에 대한 프리셋 값과 비교하고, 그 성능 메트릭에 대한 프리 셋 값이 초과될 때 자원 관리자에게 경고를 전송하기 위하여, 하나 이상의 자원들 상에 배치된 도구형 프로토콜 스택을 정책들로 미리구성하기 위한 제4 프로그램 명령어를 더 포함한다. 한 실시예에서, 거래 관리자는, 비지니스 거래와 연관된 하나 이상의 거래 메트릭을 모니터링하고, 하나 이상의 자원으로부터 수집된 하나 이상의 성능 메트릭에 비추어 비지니스 거래에 대해 모니터링된 하나 이상의 거래 메트릭을 분석하도록 추가로 구성된다. 한 실시예에서, 도구형 프로토콜 스택은 SOAP(Simple Object Access Protocol) 스택을 포함하고, 요청 헤더는 SOAP(Simple Object Access Protocol) 요청 헤더를 포함한다. 또한, 응답 헤더는 SOAP(Simple Object Access Protocol) 응답 헤더를 포함하고, 요청 메시지는 SOAP(Simple Object Access Protocol) 요청 메시지를 포함하며, 응답 메시지는 SOAP(Simple Object Access Protocol) 응답 메시지를 포함한다. 한 실시예에서, 제1, 제2, 제3, 및 제4 프로그램 명령어들 각각은, 컴퓨터 판독가능한 매체 상에 저장된다.The computer program product further includes first program instructions for providing a transaction manager configured to specify a collection of one or more performance metrics in a request header in a request message issued to one or more resources servicing a business transaction. Here, a tool protocol stack is disposed on each of the one or more resources and the transaction manager. The computer program product sends second program instructions for collecting one or more performance metrics specified in the request message and one or more performance metrics collected by the one or more resources servicing the business transaction to the transaction manager in the response header in the response message. It further comprises a second program instruction to. In one embodiment, the second program instruction associates the request header in the request message with an execution thread for a business transaction, and associates the request header in the request message with any other request messages created in the execution thread for that business transaction. It further includes instructions for propagating. Furthermore, in one embodiment, the second program instructions further include instructions for adding each set of performance metrics to a response header in a response message received from a subsequent one of the one or more resources and sending the response message to the transaction manager. Include. The computer program product compares the total value of one of the one or more performance metrics in each response header received from subsequent resources with a preset value for that performance metric, and the preset value for that performance metric is exceeded. And further comprising fourth program instructions to preconfigure the tool protocol stack disposed on the one or more resources into policies to send an alert to the resource manager. In one embodiment, the transaction manager is further configured to monitor one or more transaction metrics associated with the business transaction and analyze one or more transaction metrics monitored for the business transaction in light of one or more performance metrics collected from one or more resources. . In one embodiment, the tool protocol stack comprises a Simple Object Access Protocol (SOAP) stack and the request header comprises a Simple Object Access Protocol (SOAP) request header. In addition, the response header includes a Simple Object Access Protocol (SOAP) response header, the request message includes a Simple Object Access Protocol (SOAP) request message, and the response message includes a Simple Object Access Protocol (SOAP) response message. In one embodiment, each of the first, second, third, and fourth program instructions are stored on a computer readable medium.

도 4를 참조하면, 본 발명의 실시예들에 따라, 용량 관리 서비스를 구현하기 위한 최적의 구성 및 그 연관된 운영 비용을 결정하기 위한 시스템(400)이 예시되어 있다. 도시된 바와 같이, 시스템(400)은 컴퓨터 인프라구조(402)를 포함하며, 이것은 보안된 환경(즉, 액세스 제어가 강제되는 환경)에서 유지되는 임의 타입의 컴퓨터 아키텍쳐를 나타내도록 의도된다. 도시된 바와 같이, 인프라구조(402)는 전형적으로 서버 등을 나타내는 컴퓨터 시스템(400)을 포함한다. 그러나, 비록 도시되지는 않았지만, 인프라구조(402)에는 기타의 하드웨어 및 소프트웨어 컴포넌트들(예를 들어, 애플리케이션 서버, 관리 서버, 라우터, 방화벽 등과 같은 추가의 컴퓨터 시스템)이 포함될 수 있다.Referring to FIG. 4, illustrated is a system 400 for determining an optimal configuration for implementing a capacity management service and its associated operating costs, in accordance with embodiments of the present invention. As shown, system 400 includes computer infrastructure 402, which is intended to represent any type of computer architecture maintained in a secured environment (ie, an environment in which access control is enforced). As shown, infrastructure 402 typically includes a computer system 400 representing a server or the like. However, although not shown, infrastructure 402 may include other hardware and software components (eg, additional computer systems such as application servers, management servers, routers, firewalls, etc.).

일반적으로, 사용자(사용자 1(432) 내지 사용자 N 중 임의의 사용자)는 비지니스 거래를 수행하기 위해 인프라구조(402)와 인터페이스할 수 있다. 유사하게, 임의의 관리자(436) 및/또는 서비스 제공자(444)는, 비지니스 거래를 서비스하는 자원 1(참조 번호 440) 내지 자원 N(참조 번호 442)과 같은 자원들을 모니터링하기 위하여 시스템(404)에 액세스하기 위해 인프라구조(402)와 인터페이싱할 수 있다. 또한, 자원 1(참조 번호 440) 내지 자원 N(참조 번호 442)은 비지니스 거래를 서비스하기 위해 인프라구조(402)와 인터페이스할 수 있다. 도시된 바와 같이, 자원 1(참조 번호 440)은 도구형 프로토콜 스택(441)을 가지며, 자원 N(참조 번호 442)에는 도구형 프로토콜 스택(443)이 배치되어 있다. 또한, 거래 관리자(414)에는 도구형 프로토콜 스택(416)이 배치되어 있다. 이와 같이, 자원들 각각은, 양호하게는, 거래 관리자(4141)와 통신하기 위한 도구형 프로토콜 스택을 가진다. 또한, 자원 관리자(430)는, 모니터링 에이전트 및/또는 모니터링 에이전트로서 역할하는 자원들을 통해 자원 관리자에 의해 수집된 임의의 자원 메트릭에 관하여 요청될 수 있는 임의의 정보를 거래 관리자(414)에게 제공하기 위해 컴퓨터 시스템(404)과 인터페이스할 수 있다. 일반적으로, 당사자들은, 직접적으로, 또는 컴퓨터화된 장치(예를 들어, 개인용 컴퓨터, 랩탑, 휴대용 장치 등) 상에 로딩되는 인터페이스들(예를 들어, 클라이언트 웹 브라우저)을 경유하여 네트워크를 통해, 인프라구조(402)에 액세스할 수 있다. 후자의 경우, 네트워크는 인터넷과 같은 임의 타입의 네트워크이거나, 또는, LAN(Local Area Network), WAN(Wide Area Network), VPN (Virtual Private Network)등과 같은 기타 임의의 네트워크일 수 있다. 어쨌든, 인프라구조(402)와의 통신은, 직접적인 물리적으로 결선된 접속(예를 들어, 직렬 포트)을 통해, 또는 유선 및/또는 무선 전송 방법들의 임의의 조합을 이용하는 어드레싱가능한 접속을 통해 발생할 수 있다. 게다가, Token Ring, Ethernet, WiFi, 또는 기타의 종래의 통신 표준과 같은 종래의 네트워크 접속이 사용될 수 있다. 역시, 종래의 TCP/IP 소켓 기반의 프로토콜에 의해 접속이 제공될 수 있다. 이 예에서, 당사자는 인프라구조(402)로의 접속을 확립하기 위해 인터넷 서비스 제공자를 이용할 수 있다. 인프라구조(402)는 제공자(444)와 같은 당사자 또는 독립된 실체에 소유 및/또는 운영될 수 있다는 것을 이해하여야 한다. 여하튼, 인프라구조(402) 및 본 명세서에서 기술된 교시들의 이용은 가입자 또는 요금 기반으로 당사자에 제공될 수 있다. 다른 시나리오에서, 관리자(436)는 인프라구조(402)를 지원 및 구성할 수 있다.In general, a user (any one of users 1 432 through N) may interface with infrastructure 402 to conduct a business transaction. Similarly, any manager 436 and / or service provider 444 may be configured to monitor resources such as resource 1 (reference number 440) through resource N (reference number 442) serving business transactions. May interface with the infrastructure 402 to access it. Resource 1 (reference number 440) through resource N (reference number 442) may also interface with infrastructure 402 to service business transactions. As shown, resource 1 (reference number 440) has a tool protocol stack 441, and resource N (reference number 442) is a tool protocol stack 443. In addition, a tool protocol stack 416 is disposed in the transaction manager 414. As such, each of the resources preferably has a tooled protocol stack for communicating with transaction manager 4141. In addition, the resource manager 430 provides the transaction manager 414 with any information that may be requested about any resource metrics collected by the resource manager via the monitoring agent and / or resources acting as the monitoring agent. Interface with the computer system 404. Generally, the parties may, directly or via a network via interfaces (eg, a client web browser) loaded on a computerized device (eg, a personal computer, laptop, portable device, etc.), The infrastructure 402 can be accessed. In the latter case, the network may be any type of network, such as the Internet, or any other network, such as a local area network (LAN), wide area network (WAN), virtual private network (VPN), or the like. In any case, communication with infrastructure 402 may occur via a direct physically wired connection (eg, a serial port) or through an addressable connection using any combination of wired and / or wireless transmission methods. . In addition, conventional network connections may be used, such as Token Ring, Ethernet, WiFi, or other conventional communication standards. Again, the connection may be provided by a conventional TCP / IP socket based protocol. In this example, the party may use an internet service provider to establish a connection to infrastructure 402. It should be understood that infrastructure 402 may be owned and / or operated by a party or independent entity, such as provider 444. In any event, the use of infrastructure 402 and the teachings described herein may be provided to a party on a subscriber or fee basis. In another scenario, manager 436 may support and configure infrastructure 402.

컴퓨터 시스템 또는 서버(404)는, CPU, 메모리(412), 버스(410), 및 입력/출력(I/O) 인터페이스(408)를 포함하는 것으로 도시되어 있다. 또한, 컴퓨터 시스템(400)은 외부 I/O 장치(424) 및 스토리지 시스템(422)과 통신하는 것으로 도시되어 있다. 도시된 바와 같은 실시예에서, 스토리지 시스템(422)은, 미리구성된 자원이 모니터링 에이전트로서 추가적으로 역할하도록, 각각의 자원 1 내지 자원 N(참조 번호 440 및 442) 중 임의의 자원 상의 각각의 도구형 프로토콜 스택(441 내지 443)을 미리구성하는데 이용될 수 있는 정책 또는 규칙(426)을 포함한다. 일반적으로, 처리 유닛(406)은, 도구형 프로토콜 스택(416)을, 한 실시예에서는, 도구형 SOAP 스택을 포함하는 거래 관리자 애플리케이션(414)과 같은 컴퓨터 프로그램 코드를 실행한다. 거래 관리자 애플리케이션(414)을 실행하는 동안, 처리 유닛(406)은 메모리(412), 스토리지 시스템(422), 및/또는 I/O 인터페이스(408)에 데이터를 판독/기록할 수 있다. 버스(410)는 컴퓨터 시스템(400) 내의 컴포넌트들 각각들 사이에서 통신 링크를 제공한다. 외부 장치(424)는, 사용자가 컴퓨터 시스템(400), 및 컴퓨터 시스템(400)이 하나 이상의 다른 컴퓨팅 장치들과 통신할 수 있도록 해주는 임의의 장치(예를 들어, 네트워크 카드, 모뎀 등)와 상호작용하도록 해주는 임의의 장치(예를 들어, 키보드, 포인팅 장치, 디스플레이 등)를 포함할 수 있다.Computer system or server 404 is shown to include a CPU, memory 412, bus 410, and input / output (I / O) interface 408. Computer system 400 is also shown in communication with external I / O device 424 and storage system 422. In the embodiment as shown, the storage system 422 provides a respective tooling protocol on any of each of resource 1 through resource N (reference numbers 440 and 442) such that the preconfigured resource additionally serves as a monitoring agent. Include policies or rules 426 that can be used to preconfigure stacks 441-443. In general, the processing unit 406 executes computer program code, such as the transaction manager application 414, which includes the tool protocol stack 416, in one embodiment, the tool SOAP stack. While executing the transaction manager application 414, the processing unit 406 may read / write data to the memory 412, the storage system 422, and / or the I / O interface 408. Bus 410 provides a communication link between each of the components in computer system 400. External device 424 interacts with computer system 400 and with any device (eg, network card, modem, etc.) that enables computer system 400 to communicate with one or more other computing devices. May include any device (eg, keyboard, pointing device, display, etc.) that is intended to function.

컴퓨터 인프라구조(402)는 본 발명의 실시예들을 구현하기 위한 다양한 유형의 컴퓨터 인프라구조에 대한 예에 불과하다. 예를 들어, 한 실시예에서, 컴퓨터 인프라구조(402)는 다양한 프로세스 단계들을 수행하기 위한 네트워크를 통해 통신하는 2개 이상의 장치(예를 들어, 서버 클러스트)를 포함한다. 게다가, 컴퓨터 시스템(400)은 다양한 조합의 하드웨어를 포함할 수 있는 다양한 가능한 컴퓨터 시스템들을 예시하고 있을 뿐이다. 다른 실시예들에서, 컴퓨터 시스템(400)은, 특정한 기능을 수행하기 위한 하드웨어 및/또는 컴퓨터 프로그램 코드를 포함하는 임의의 특정 목적의 제조품, 특정한 목적 및 일반적 목적의 하드웨어/소프트웨어의 조합을 포함하는 임의의 컴퓨팅 제조품 등을 포함할 수 있다. 각 경우에, 프로그램 코드 및 하드웨어는 각각 표준 프로그래밍 및 엔지니어링 기술을 이용하여 생성될 수 있다. 게다가, 처리 유닛(406)은 하나의 처리 유닛을 포함할 수 있으며, 하나 이상의 위치, 예를 들어, 클라이언트 및 서버 상의 하나 이상의 처리 유닛들에 걸쳐 분산될 수도 있다. 유사하게, 메모리(412) 및/또는 스토리지 시스템은, 적어도 하나 이상의 물리적 위치들에 존재하는 다양한 유형의 데이터 스토리지 및/또는 전송 매체의 조합을 포함할 수 있다. 나아가, I/O 인터페이스(408)는 하나 이상의 외부 장치(424)와 정보를 교환하기 위한 임의의 시스템을 포함할 수 있다. 또한, 하나 이상의 컴포넌트들(예를 들어, 도 4에는 도시되어 있지 않은, 시스템 소프트웨어, 산술 코프로세서 유닛 등)이 컴퓨터 시스템(400)에 포함될 수 있다는 것을 이해할 것이다. 유사하게, 하나 이상의 외부 장치(424)(예를 들어, 디스플레이) 및/또는 스토리지 시스템(들)(422)이, 도시된 바와 같이 외부적으로 아닌, 컴퓨터 시스템(404) 내에 포함될 수 있다.Computer infrastructure 402 is merely an example of various types of computer infrastructure for implementing embodiments of the present invention. For example, in one embodiment, computer infrastructure 402 includes two or more devices (eg, server clusters) that communicate over a network to perform various process steps. In addition, computer system 400 merely illustrates a variety of possible computer systems that may include various combinations of hardware. In other embodiments, computer system 400 may include any particular purpose article of manufacture, including specific purpose and general purpose hardware / software combinations, including hardware and / or computer program code for performing a particular function. Any computing article of manufacture and the like. In each case, program code and hardware may be generated using standard programming and engineering techniques, respectively. In addition, the processing unit 406 may include one processing unit and may be distributed across one or more locations, for example, one or more processing units on a client and a server. Similarly, memory 412 and / or storage system may include a combination of various types of data storage and / or transmission media present in at least one or more physical locations. Further, I / O interface 408 may include any system for exchanging information with one or more external devices 424. It will also be understood that one or more components (eg, system software, arithmetic coprocessor unit, etc., not shown in FIG. 4) may be included in the computer system 400. Similarly, one or more external devices 424 (eg, displays) and / or storage system (s) 422 may be included within computer system 404, not externally as shown.

스토리지 시스템(422)은, 프리셋 자원 메트릭이 초과될 때 자원 상의 미리구성된 프로토콜 스택이 행해야 하는 것과 같은 규칙을 제공하는 정책(426)과 같은 정보 또는 데이터를 저장할 수 있는 임의 타입의 시스템(예를 들어, 데이터베이스)일 수 있다. 스토리지 시스템(422)은 자기 디스크 드라이브 또는 광 디스크 드라이브와 같은 하나 이상의 스토리지 장치들을 포함할 수 있다. 또 다른 실시예에서, 스토리지 시스템(422)은 예를 들어, LAN(Local Area Network), WAN(Wide Area Network), 또는 SAN(Storage Area Network)(미도시)에 걸쳐 분산된 데이터를 포함할 수 있다. 도시되지는 않았지만, 캐쉬 메모리, 통신 시스템, 시스템 소프트웨어 등과 같은 추가 컴포넌트들이 컴퓨터 시스템(400)에 병합될 수 있다.The storage system 422 can be any type of system that can store information or data, such as a policy 426 that provides rules such as what the preconfigured protocol stack on a resource should do when a preset resource metric is exceeded (e.g., , Database). The storage system 422 can include one or more storage devices, such as a magnetic disk drive or an optical disk drive. In another embodiment, the storage system 422 may include data distributed across a local area network (LAN), wide area network (WAN), or storage area network (SAN) (not shown), for example. have. Although not shown, additional components, such as cache memory, communication systems, system software, and the like, can be incorporated into the computer system 400.

따라서, 한 실시예에서, 거래 관리자(414)는, 자원 1(참조 번호 440) 내지 자원 N(참조 번호 442)으로부터 수집된 성능 메트릭에 비추어 엔드 유저의 관점으로부터 비지니스 거래에 대해 모니터링된 거래 메트릭을 분석하고, 자원 1 내지 N에 대해 수집한 임의의 거래 메트릭과 함께 성능 정보를 이해하려고 시도한다. 예를 들어, 만일 소정 자원 상의 CPU가 최고점에 달했으나, 그 자원은 거래 요청을 완료하기 위해 여전히 원하는 타겟 시간을 충족하고 있다면, 그 자원에 대한 성능 메트릭은 수용가능한 것으로 간주될 수 있다. 또한, 거래 관리자(414)는, 예를 들어, 특정한 거래를 서비스하는 자원이 원하는 타겟 시간을 충족하고 있지 않을 때 자원 관리자(430)로부터 정보를 얻을 수도 있다. 특히, 거래 관리자(414)는 자원 관리자(430)에 의해 어떠한 성능 메트릭 또는 데이터가 수송되는지에 기초하여(즉, 모니터링 에이전트로서 역할하기 위해 정책들로 미리구성된 자원들 또는 모니터링 에이전트를 통해 얻어진 데이터를 통해) 원인을 이해할 수 있을 것이다. 예를 들어, 거래 관리자(414)는, 소정 거래가 원하는 타겟 시간을 충족하지 못한 이유가 하드 디스크 고장 또는 과도한 디스크 사용량 등에 기인한 것이라고 이해할 수 있다. 나아가, 자원 관리자(430) 및 거래 관리자(414)에 의해 수집된 데이터는 관리자(436) 및/또는 제공자(444)에 전달될 수 있고, 따라서 관리자(436) 및/또는 제공자(444)에게 자원에 대한 훨씬 더 포괄적인 이해를 제공한다.Thus, in one embodiment, transaction manager 414 may monitor the transaction metrics monitored for business transactions from the end user's point of view in view of the performance metrics collected from resource 1 (reference number 440) to resource N (reference number 442). Analyze and attempt to understand performance information along with any transaction metrics collected for resources 1 through N. For example, if the CPU on a given resource has reached its peak, but that resource is still meeting the desired target time to complete a transaction request, the performance metric for that resource may be considered acceptable. In addition, transaction manager 414 may obtain information from resource manager 430, for example, when a resource serving a particular transaction is not meeting a desired target time. In particular, the transaction manager 414 uses the data obtained through the monitoring agent or resources preconfigured with policies to act as a monitoring agent based on what performance metrics or data are transported by the resource manager 430. To understand the cause). For example, the transaction manager 414 may understand that the reason a given transaction did not meet the desired target time is due to a hard disk failure or excessive disk usage, and the like. Furthermore, data collected by resource manager 430 and transaction manager 414 may be passed to manager 436 and / or provider 444, thus providing resources to manager 436 and / or provider 444. It provides a much more comprehensive understanding of.

본 발명의 특정 실시예들의 전술된 설명은 예시와 설명의 목적으로 제공되었다. 이들은 본 발명을 공개된 형태만으로 제한하고자 의도된 것이 아니며, 전술된 교시에 비추어 명백히 많은 수정과 다양한 변형이 가능하다. 실시예들은, 본 발명의 원리 및 그 실제 응용을 가장 잘 설명하고, 그리하여 당업자가 본 발명 및 다양한 실시예들을 고려중인 특정한 응용에 적합하도록 수정하여 활용할 수 있도록 선택되고 설명되었다.The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to limit the invention to the disclosed forms only, and obviously many modifications and various variations are possible in light of the above teachings. The embodiments have been selected and described in order to best explain the principles of the present invention and its practical application, and thus enable those skilled in the art to make modifications and adaptations to suit the particular application contemplated by the present invention and various embodiments.

Claims (10)

서비스 지향형 아키텍쳐로 비지니스 거래를 서비스하는 자원들을 모니터링하는 방법에 있어서,In a method of monitoring resources serving a business transaction with a service-oriented architecture, 서비스-지향형의 아키텍쳐에서 하나 이상의 자원에 의해 서비스받는 비지니스 거래를 모니터링하도록 구성된 거래 관리자를 제공하는 단계로서, 하나 이상의 자원들 각각과 거래 관리자는 그들 상에, 성능 메트릭의 수집본을 요구하는 하나 이상의 프로토콜 요청 메시지를 전송하고 수집된 상기 성능 메트릭들을 포함하는 하나 이상의 프로토콜 응답 메시지를 수신하도록 구성된 프로토콜 인코딩-디코딩 컴포넌트를 갖는 것인, 상기 거래 관리자를 제공하는 단계와;Providing a transaction manager configured to monitor a business transaction serviced by one or more resources in a service-oriented architecture, wherein each of the one or more resources and the transaction manager require thereon one or more collections of performance metrics; Providing a transaction manager having a protocol encoding-decoding component configured to send a protocol request message and receive one or more protocol response messages including the collected performance metrics; 상기 비지니스 거래를 서비스하는 하나 이상의 자원들 중 적어도 한 자원에 대한 하나 이상의 성능 메트릭의 수집본을 상기 하나 이상의 프로토콜 요청 메시지 내의 프로토콜 요청 헤더에서 명시하는 단계와;Specifying a collection of one or more performance metrics for at least one of the one or more resources servicing the business transaction in a protocol request header in the one or more protocol request messages; 상기 프로토콜 요청 메시지 내에 명시된 상기 하나 이상의 성능 메트릭을 수집하는 단계와;Collecting the one or more performance metrics specified in the protocol request message; 프로토콜 응답 메시지 내의 프로토콜 응답 헤더에서, 상기 비지니스 거래를 서비스하는 상기 하나 이상의 자원들 중 상기 적어도 하나의 자원에 의해 수집된 상기 하나 이상의 성능 메트릭을 거래 관리자에게 전송하는 단계Sending, in a protocol response header in a protocol response message, to the transaction manager the one or more performance metrics collected by the at least one of the one or more resources servicing the business transaction. 를 포함하는, 자원 모니터링 방법.Including a resource monitoring method. 제1항에 있어서, 상기 제공하는 단계는,The method of claim 1, wherein the providing step, 상기 비지니스 거래와 연관된 하나 이상의 거래 메트릭을 모니터링하도록 구성된 상기 거래 관리자를 제공하는 단계와;Providing the transaction manager configured to monitor one or more transaction metrics associated with the business transaction; 상기 하나 이상의 자원으로부터 수집된 상기 하나 이상의 성능 메트릭에 비추어 상기 비지니스 거래에 대해 모니터링된 상기 하나 이상의 거래 메트릭을 분석하도록 구성된 상기 거래 관리자를 제공하는 단계Providing the transaction manager configured to analyze the one or more transaction metrics monitored for the business transaction in light of the one or more performance metrics collected from the one or more resources. 를 더 포함하는 자원 모니터링 방법.Resource monitoring method further comprising. 제2항에 있어서, 상기 제공하는 단계는,The method of claim 2, wherein the providing step, 상기 하나 이상의 자원 상에 배치된 하나 이상의 모니터링 에이전트로부터 하나 이상의 성능 메트릭을 수집하도록 구성된 자원 관리자를 제공하는 단계를 더 포함하는, 자원 모니터링 방법.Providing a resource manager configured to collect one or more performance metrics from one or more monitoring agents deployed on the one or more resources. 제3항에 있어서, 상기 명시하는 단계는,The method of claim 3, wherein the step of specifying, 상기 프로토콜 요청 메시지 내의 상기 프로토콜 요청 헤더를 상기 비지니스 거래에 대한 실행 쓰레드와 연관시키는 단계와;Associating the protocol request header in the protocol request message with an execution thread for the business transaction; 상기 프로토콜 요청 메시지 내의 상기 프로토콜 요청 헤더를 상기 비지니스 거래에 대한 동일한 실행 쓰레드에 만들어진 기타 임의의 요청에 전파시키는 단계를 더 포함하고, 상기 프로토콜 요청 메시지 내의 프로토콜 요청 헤더는 상기 비지니스 거래와 연관된 모든 교환을 통해 복제되는 것인, 자원 모니터링 방법.Propagating the protocol request header in the protocol request message to any other request made to the same thread of execution for the business transaction, wherein the protocol request header in the protocol request message is responsible for all exchanges associated with the business transaction. Is replicated through, resource monitoring method. 제4항에 있어서, 상기 명시하는 단계는, The method of claim 4, wherein the specifying step comprises: 하나 이상의 자원들 중 각각의 자원에 대응하는 적어도 각각의 프로토콜 인코딩-디코딩 컴포넌트를 정책으로 미리구성하는 단계를 더 포함하고,Preconfiguring with the policy at least each protocol encoding-decoding component corresponding to each one of the one or more resources, 상기 각각의 자원은 후속 자원으로부터 수신된 각각의 프로토콜 응답 헤더 내의 상기 하나 이상의 성능 메트릭들 중 한 성능 메트릭에 대한 총계값을 검사하며,Wherein each resource examines an aggregate value for one of the one or more performance metrics in each protocol response header received from a subsequent resource, 상기 각각의 자원은 상기 성능 메트릭에 대한 상기 프리셋 값이 초과될 때 상기 자원 관리자에게 경고를 전송하는 것인, 자원 모니터링 방법.Wherein each resource sends an alert to the resource manager when the preset value for the performance metric is exceeded. 제4항에 있어서, 상기 전송하는 단계는,The method of claim 4, wherein the transmitting step, 상기 하나 이상의 자원들의 각각의 선행 자원에 의해, 각각의 세트의 성능 메트릭을, 상기 하나 이상의 자원들 중 각각의 후속 자원으로부터 수신된 프로토콜 응답 메시지 내의 프로토콜 요청 헤더에 부가하는 단계와;Adding, by each preceding resource of the one or more resources, each set of performance metrics to a protocol request header in a protocol response message received from each subsequent one of the one or more resources; 상기 프로토콜 응답 메시지를 상기 거래 관리자에 전송하는 단계Sending the protocol response message to the transaction manager 를 더 포함하는, 자원 모니터링 방법.Further comprising, resource monitoring method. 제5항에 있어서, 상기 전송하는 단계는,The method of claim 5, wherein the transmitting step, 상기 비지니스 거래에 대한 동일한 실행 쓰레드 내에서 만들어진 상기 기타 임의의 요청을 서비스하는 상기 하나 이상의 자원들에 대응하는 상기 하나 이상의 성능 메트릭들 각각을 상기 프로토콜 응답 메시지의 상기 프로토콜 응답 헤더에서 총계하는 단계와;Aggregating, in the protocol response header of the protocol response message, each of the one or more performance metrics corresponding to the one or more resources serving the other arbitrary request made within the same thread of execution for the business transaction; 상기 프로토콜 응답 메시지를 상기 거래 관리자에게 전송하는 단계Sending the protocol response message to the transaction manager 를 더 포함하는 것인, 자원 모니터링 방법.It further comprises a resource monitoring method. 제7항에 있어서, 상기 프로토콜은 SOAP(Simple Object Access Protocol)를 포함하는 것인, 자원 모니터링 방법.8. The method of claim 7, wherein the protocol comprises a Simple Object Access Protocol (SOAP). 서비스 지향형 아키텍쳐로 비지니스 거래를 서비스하는 자원을 모니터링하기 위한 시스템에 있어서,In a system for monitoring the resources that service business transactions in a service-oriented architecture, 비지니스 거래를 서비스하도록 구성된 하나 이상의 자원으로서, 복수의 상기 하나 이상의 자원들에는 프로토콜스택이 배치되어 있는 것인, 상기 하나 이상의 자원과;One or more resources configured to service a business transaction, wherein one or more resources are arranged with a protocol stack; 프로토콜 스택이 배치되어 있고, 프로토콜 요청 메시지 내의 프로토콜 요청 헤더에서 하나 이상의 자원들 중 복수개의 자원들에게 상기 복수의 상기 하나 이상의 자원들에 의해 서비스받는 상기 비지니스 거래에 대한 하나 이상의 성능 메트릭들 모니터링할 것을 발(issue)하도록 구성된 거래 관리자로서, 상기 복수의 상기 하나 이상의 자원들 각각은, 상기 비지니스 거래에 대한 상기 하나 이상의 성능 메트릭을 수집하고 상기 거래 관리자에게 전송된 프로토콜 응답 메시지 내의 프로토콜 응답 헤더 내의 상기 하나 이상의 성능 메트릭을 총계하도록 구성되며, 여기 서, 상기 프로토콜 요청 메시지 내의 상기 프로토콜 요청 헤더는 상기 비지니스 거래에 대한 실행 쓰레드와 연관되고, 상기 프로토콜 요청 메시지 내의 상기 프로토콜 요청 헤더는 상기 비지니스 거래에 대한 동일한 실행 쓰레드 내에서 만들어진 기타 임의의 요청에 전파되어, 상기 프로토콜 요청 메시지 내의 상기 프로토콜 요청 헤더는 상기 비지니스 거래와 연관된 모든 교환들을 통해 복제되도록 하는 것인, 상기 거래 관리자A protocol stack is in place and the plurality of one or more resources in the protocol request header in the protocol request message are to be monitored for one or more performance metrics for the business transaction serviced by the plurality of the one or more resources. A transaction manager configured to issue, wherein each of the plurality of one or more resources collects the one or more performance metrics for the business transaction and the one in a protocol response header in a protocol response message sent to the transaction manager. And aggregate the above performance metrics, wherein the protocol request header in the protocol request message is associated with an execution thread for the business transaction, and the protocol request header in the protocol request message is the non- Which is propagated to any other requests are made within the same thread of execution for the varnish transaction, the protocol request header in the protocol request message is to be replicated across all exchanges associated with the business transaction, the transaction manager 를 포함하는, 자원 모니터링 시스템.Including, resource monitoring system. 비지니스 거래와 연관된 메트릭을 모니터링하기 위한 컴퓨터 프로그램 제품에 있어서,A computer program product for monitoring metrics associated with a business transaction, 컴퓨터 판독가능한 매체;Computer readable media; 비지니스 거래를 서비스하는 하나 이상의 자원들에 발행된 요청 메시지 내의 요청 헤더에서 하나 이상의 성능 메트릭들의 수집본을 명시하도록 구성된 거래 관리자를 제공하기 위한 제1 프로그램 명령어로서, 상기 하나 이상의 자원들과 상기 거래 관리자 각각에는 프로토콜 스택이 배치되어 있는 것인, 상기 제1 프로그램 명령어와;A first program instruction for providing a transaction manager configured to specify a collection of one or more performance metrics in a request header in a request message issued to one or more resources servicing a business transaction, the one or more resources and the transaction manager. Each of the first program instructions having a protocol stack disposed thereon; 상기 요청 메시지 내에 명시된 상기 하나 이상의 성능 메트릭을 수집하기 위한 제2 프로그램 명령어와;Second program instructions for gathering the one or more performance metrics specified in the request message; 비지니스 거래를 서비스하는 하나 이상의 자원에 의해 수집된 상기 하나 이상의 성능 메트릭을 응답 메시지 내의 응답 헤더에서 거래 관리자에게 전송하기 위 한 제3 프로그램 명령어를 포함하고,Third program instructions for sending the one or more performance metrics collected by one or more resources servicing a business transaction to a transaction manager in a response header in a response message, 상기 제1, 제2, 및 제3 프로그램 명령어는 상기 컴퓨터 판독가능한 매체 상에 저장되는 것인, 컴퓨터 프로그램 제품.Wherein the first, second, and third program instructions are stored on the computer readable medium.
KR1020097010418A 2006-12-21 2007-12-07 Method, system and program product for monitoring resources servicing a business transaction KR101173338B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/614,220 2006-12-21
US11/614,220 US8010654B2 (en) 2006-12-21 2006-12-21 Method, system and program product for monitoring resources servicing a business transaction
PCT/EP2007/063538 WO2008074668A1 (en) 2006-12-21 2007-12-07 Method, system and program product for monitoring resources servicing a business transaction

Publications (2)

Publication Number Publication Date
KR20090088375A true KR20090088375A (en) 2009-08-19
KR101173338B1 KR101173338B1 (en) 2012-08-10

Family

ID=39201430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097010418A KR101173338B1 (en) 2006-12-21 2007-12-07 Method, system and program product for monitoring resources servicing a business transaction

Country Status (5)

Country Link
US (1) US8010654B2 (en)
EP (1) EP2115591A1 (en)
KR (1) KR101173338B1 (en)
CN (1) CN101207623B (en)
WO (1) WO2008074668A1 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003274672A1 (en) * 2002-10-30 2004-05-25 Vidius Inc. A method and system for managing confidential information
US8291097B2 (en) * 2007-01-10 2012-10-16 Microsoft Corporation Dynamic transaction protocol upgrades
EP2248233B1 (en) 2008-02-07 2018-04-04 Imra America, Inc. High power parallel fiber arrays
JP4577384B2 (en) * 2008-03-14 2010-11-10 日本電気株式会社 Management machine, management system, management program, and management method
US8938533B1 (en) 2009-09-10 2015-01-20 AppDynamics Inc. Automatic capture of diagnostic data based on transaction behavior learning
US10122550B2 (en) * 2010-02-15 2018-11-06 International Business Machines Corporation Inband data gathering with dynamic intermediary route selections
US8924537B2 (en) * 2010-09-09 2014-12-30 Hewlett-Packard Development Company, L.P. Business processes tracking
US8589537B2 (en) * 2010-09-22 2013-11-19 Blue Stripe Software, Inc. Methods and computer program products for aggregating network application performance metrics by process pool
CN102014163B (en) * 2010-12-08 2013-06-05 云海创想信息技术(北京)有限公司 Cloud storage test method and system based on transaction driving
CN102103518B (en) * 2011-02-23 2013-11-13 运软网络科技(上海)有限公司 System for managing resources in virtual environment and implementation method thereof
US9507683B2 (en) 2011-05-20 2016-11-29 International Business Machines Corporation Monitoring service in a distributed platform
US8972569B1 (en) * 2011-08-23 2015-03-03 John J. D'Esposito Remote and real-time network and HTTP monitoring with real-time predictive end user satisfaction indicator
US9311598B1 (en) * 2012-02-02 2016-04-12 AppDynamics, Inc. Automatic capture of detailed analysis information for web application outliers with very low overhead
US9280437B2 (en) * 2012-11-20 2016-03-08 Bank Of America Corporation Dynamically scalable real-time system monitoring
US20140172372A1 (en) * 2012-12-17 2014-06-19 Microsoft Corporation Operation speed as a dynamic level line
US20150193327A1 (en) * 2014-01-09 2015-07-09 Cinch Systems, Inc. Connection checking for hardwired monitoring system
US9858549B2 (en) * 2014-02-03 2018-01-02 Cisco Technology, Inc. Business transaction resource usage tracking
WO2021167659A1 (en) * 2019-11-14 2021-08-26 Trideum Corporation Systems and methods of monitoring and controlling remote assets
CN112764990B (en) * 2021-01-12 2021-11-16 北京自如信息科技有限公司 Target process monitoring method and device and computer equipment

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363361B2 (en) * 2000-08-18 2008-04-22 Akamai Technologies, Inc. Secure content delivery system
FI20002854A (en) * 2000-12-22 2002-06-23 Nokia Corp Remote Charge Status Indicators on Wireless Short Range Devices
US7720958B2 (en) * 2001-03-09 2010-05-18 International Business Machines Corporation Method and system for embedding correlated performance measurements for distributed application performance decomposition
US7464154B2 (en) * 2001-05-18 2008-12-09 Network Resonance, Inc. System, method and computer program product for analyzing data from network-based structured message stream
US7177929B2 (en) * 2002-03-27 2007-02-13 International Business Machines Corporation Persisting node reputations in transient network communities
US7039701B2 (en) * 2002-03-27 2006-05-02 International Business Machines Corporation Providing management functions in decentralized networks
US7143139B2 (en) * 2002-03-27 2006-11-28 International Business Machines Corporation Broadcast tiers in decentralized networks
US7069318B2 (en) * 2002-03-27 2006-06-27 International Business Machines Corporation Content tracking in transient network communities
US7251689B2 (en) * 2002-03-27 2007-07-31 International Business Machines Corporation Managing storage resources in decentralized networks
US20040024861A1 (en) * 2002-06-28 2004-02-05 Coughlin Chesley B. Network load balancing
US8005854B2 (en) 2003-03-14 2011-08-23 Sybase, Inc. System with methodology for executing relational operations over relational data and data retrieved from SOAP operations
US7567504B2 (en) 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7631314B2 (en) * 2003-08-26 2009-12-08 International Business Machines Corporation Method and system for dynamically associating type information and creating and processing meta-data in a service oriented architecture
US20060069717A1 (en) * 2003-08-27 2006-03-30 Ascential Software Corporation Security service for a services oriented architecture in a data integration platform
US20050065879A1 (en) * 2003-09-18 2005-03-24 Convergys Information Management Group, Inc. System and method for web service billing
US7483384B2 (en) * 2003-09-22 2009-01-27 Hewlett-Packard Development Company, L.P. System and method for monitoring network traffic
US20050080930A1 (en) * 2003-10-14 2005-04-14 International Business Machines Corporation Method and apparatus for processing service requests in a service-oriented architecture
US7716290B2 (en) * 2003-11-20 2010-05-11 Microsoft Corporation Send by reference in a customizable, tag-based protocol
US20060095584A1 (en) 2004-11-12 2006-05-04 Sonoa Systems, Inc. Semantic-based switch fabric OS
CN1805365A (en) * 2005-01-12 2006-07-19 北京航空航天大学 Web service QoS processor and handling method
US8195789B2 (en) * 2005-04-20 2012-06-05 Oracle International Corporation System, apparatus and method for characterizing messages to discover dependencies of services in service-oriented architectures
KR100738339B1 (en) * 2005-12-01 2007-07-12 한국전자통신연구원 Packet Transmission on IP Offload
US20080114690A1 (en) * 2006-10-26 2008-05-15 International Business Machines Corporation System and method for performing partner settlement for managed services in an ip multimedia subsystem (ims) network

Also Published As

Publication number Publication date
EP2115591A1 (en) 2009-11-11
WO2008074668A1 (en) 2008-06-26
CN101207623B (en) 2012-03-14
US20080155089A1 (en) 2008-06-26
CN101207623A (en) 2008-06-25
KR101173338B1 (en) 2012-08-10
US8010654B2 (en) 2011-08-30

Similar Documents

Publication Publication Date Title
KR101173338B1 (en) Method, system and program product for monitoring resources servicing a business transaction
US9794298B2 (en) Method, system, and computer program product for facilitating communication in an interoperability network
US7886295B2 (en) Connection manager, method, system and program product for centrally managing computer applications
Conner et al. A trust management framework for service-oriented environments
US7664844B2 (en) Managing network errors communicated in a message transaction with error information using a troubleshooting agent
US20020010803A1 (en) Method, system and apparatus for establishing, monitoring, and managing connectivity for communication among heterogeneous systems
US20080127322A1 (en) Solicited remote control in an interactive management system
Kürschner et al. Discovery service design in the epcglobal network: towards full supply chain visibility
US20090064324A1 (en) Non-intrusive monitoring of services in a service-oriented architecture
Pal et al. When are cyber blackouts in modern service networks likely? A network oblivious theory on cyber (re) insurance feasibility
Wang et al. Towards a degradation-based mechanism for adaptive overload control
Henjes Performance Evaluation of Publish/Subscribe Middleware Architectures
Wang et al. Towards an adaptive service degradation approach for handling server overload
Tyagi High Performance Web services
Visibility Discovery Service Design in the EPCglobal Network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150728

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee