KR20070029818A - 분산 데이터 처리 시스템에서의 테스트 방법, 데이터 처리시스템 및 컴퓨터 판독가능 기록 매체 - Google Patents

분산 데이터 처리 시스템에서의 테스트 방법, 데이터 처리시스템 및 컴퓨터 판독가능 기록 매체 Download PDF

Info

Publication number
KR20070029818A
KR20070029818A KR1020077001800A KR20077001800A KR20070029818A KR 20070029818 A KR20070029818 A KR 20070029818A KR 1020077001800 A KR1020077001800 A KR 1020077001800A KR 20077001800 A KR20077001800 A KR 20077001800A KR 20070029818 A KR20070029818 A KR 20070029818A
Authority
KR
South Korea
Prior art keywords
entity
monitoring
distributed
information
request
Prior art date
Application number
KR1020077001800A
Other languages
English (en)
Other versions
KR100800353B1 (ko
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 KR20070029818A publication Critical patent/KR20070029818A/ko
Application granted granted Critical
Publication of KR100800353B1 publication Critical patent/KR100800353B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 개체의 식별 및 모니터링을 위한 방법, 장치 및 컴퓨터 인스트럭션에 관한 것이다. 본 발명에 따른 분산 데이터 처리 시스템(100)은 표준 언어로 컴퓨터 판독가능한 안내(800)를 발행하는 하나 이상의 분산 발행 개체(400, 402, 404)를 포함한다. 이들 안내(800)는 하나 이상의 분산 모니터링 개체(400, 402, 404)의 동작을 모니터링하는 데 사용될 수도 있는 모니터링 방법(802)의 기술(description)을 포함할 수도 있다. 이들 안내는 그 자신의 동작을 모니터링하기 위해 분산 모니터링 개체(400)에 의해 사용되거나 또는 분산 모니터링 개체(400)의 동작을 모니터링하기 위해 분산 소비자 개체에 의해 사용될 수도 있는 모니터링 방법(802)을 식별하는데 사용된 정보를 포함할 수도 있다. 이 모니터링은 제 3측 분산 모니터링 개체(400)에 의해 행해질 수도 있다.

Description

분산 데이터 처리 시스템에서의 테스트 방법, 데이터 처리 시스템 및 컴퓨터 판독가능 기록 매체{METHOD AND APPARATUS FOR PUBLISHING AND MONITORING ENTITIES PROVIDING SERVICES IN A DISTRIBUTED DATA PROCESSING SYSTEM}
도 1은 본 발명을 구현하는 데이터 처리 시스템의 네트워크를 도시한 도면.
도 2는 본 발명의 바람직한 실시예에 따른, 서버로서 구현될 수 있는 데이터 처리 시스템을 도시한 도면.
도 3은 본 발명을 구현하는 데이터 처리 시스템을 도시한 도면.
도 4는 본 발명의 바람직한 실시예에 따른, 모니터링 개체에 사용된 메시지 흐름을 도시한 도면.
도 5는 본 발명의 바람직한 실시예에 따른, 제 3측 분산 모니터링 개체가 존재하는 개체를 모니터링하는데 사용된 메시지 흐름을 도시한 도면.
도 6은 본 발명의 바람직한 실시예에 따른, 개체를 식별하고 모니터링하는데 사용되는 프로세스의 순서도.
도 7은 본 발명의 바람직한 실시예에 따른, 개체를 모니터링하기 위해 제 3측 분산 모니터링 개체에 의해 사용된 프로세스의 순서도.
도 8은 본 발명의 바람직한 실시예에 따른, 개체에 대한 모니터링 방법을 발행하는데 사용된 데이터 구조를 도시한 도면.
관련 출원에 대한 교차 참조
본 발명은 "Method and Apparatus for Publishing and Monitoring Entities Providing Services in a Distributed Data Processing System", serial no.10/252,816, attorney docket no.YOR920020173US1, "Composition Service for Autonomic Compuging", serial no.10/252,324, attorney docket no.YOR920020176US1, "Self-Managing Computing System", serial no.10/252,247, attorney docket no.YOR920020181US1, "Adaptive Problem Determination and Recovery in a Computer System", serial no.10/252,979, attorney docket no.YOR920020194US1과 관련되는데, 이들은 동일 날짜에 출원되어 동일 양수인에게 양수되었으며, 본 명세서에 참조로서 인용된다.
본 발명은 일반적으로 개선된 분산형 데이터 처리 시스템에 관한 것으로서, 특히 분산형 데이터 처리 시스템 내의 개체(entity)를 모니터링하는 방법 및 장치에 관한 것이다. 보다 구체적으로는, 본 발명은 네트워크 데이터 처리 시스템에서 서비스를 제공하는 개체를 식별하고 모니터링하는 방법 및 장치를 제공한다.
현대의 컴퓨팅 기술은 아주 복잡하고 항상 변화하는 환경을 초래하였다. 이러한 하나의 환경이 인터넷(Internet)이며, 인터네트워크로도 지칭된다. 인터넷은 데이터 전송 및 송신 네트워크의 프로토콜로부터 수신 네트워크에서 사용되는 프로 토콜로의 메세지 변환을 처리하는 게이트웨이에 의해 함께 결합된, 컴퓨터 네트워크의 집합, 가능하게는 상이한 컴퓨터 네트워크의 집합이다. "인터넷(Internet)"은 프로토콜로 TCP/IP를 사용하는 네트워크 및 게이트웨이의 집합을 지칭한다. 현재, 인터넷을 통해 데이터를 전송하는 가장 일반적으로 이용되는 방법은 간단히 웹(Web)이라고도 하는 월드 와이드 웹(World Wide Web)을 이용하는 것이다. 정보를 전송하는 파일 전송 프로토콜(File Transfer Protocol)(FTP) 및 Gopher와 같은 다른 인터넷 자원도 존재하나, 웹상에서 대중성을 얻지 못하였다. 웹 환경에서, 서버 및 클라이언트는 다양한 데이터 파일(예를 들어, 텍스트, 그래픽 이미지, 오디오, 동영상 등)의 전송을 처리하는 프로토콜로 알려져 있는 HTTP(Hypertext Transfer Protocol)를 이용하여 데이터 트랜잭션(data transaction)을 행한다. 다양한 데이터 파일 내의 정보는 표준 페이지 기술 언어에 의해 포맷되어 사용자에게 제공된다. 인터넷은 또한 브라우저를 사용하여 사용자에게 응용 프로그램을 전송하는 데에도 널리 사용된다. 소프트웨어 패키지의 사용자는 인터넷을 통해 자주 그 소프트웨어 패키지에 대한 업데이트를 검색하여 획득할 수도 있다.
다른 유형의 복합 네트워크 데이터 처리 시스템은 대기업에서 업무를 촉진하기 위해 고안한 것들을 포함한다. 많은 경우에 이러한 네트워크는 전 세계에 걸쳐 퍼져 있다. 이러한 복합 네트워크는 또한 업무를 수행하기 위한 가상 사설 네트워크의 일부로서 인터넷을 사용할 수도 있다. 이러한 네트워크는 그 네트워크 내에서 사용되는 소프트웨어를 관리하고 업데이트할 필요성으로 인해 더 복잡해진다. 흔히, 여러 네트워크 데이터 처리 시스템들 간의 상호작용은 여러 트랜잭션을 용이 하게 하도록 발생한다. 이들 트랜잭션은, 예를 들어 구매 및 물품, 부품 및 서비스의 배달을 포함할 수도 있다. 트랜잭션은 하나의 비즈니스 또는 여러 비즈니스 내에서 발생할 수도 있다.
이러한 환경은 많은 느슨하게 연결된 소프트웨어 컴포넌트로 이루어진다. 이들 소프트웨어 컴포넌트는 "개체(entity)"라고도 한다. 현대의 복합 네트워크 데이터 처리 시스템에서, 특정 실행 프로세스 또는 특정 서비스와 같은 다른 개체의 동작을 테스트하거나 모니터링할 필요가 발생하는 수많은 상황이 존재한다. 현재는, 오퍼레이터 인력이 중요한 시스템 서비스와 같은 개체의 적절한 기능을 테스트하고 모니터링하여 이들 개체 내의 공장 및 장애를 검출하여 수정해야 한다. 많은 경우에, 서비스는 그 수정 기능에 대해 다른 서비스에 의존할 수도 있다. 이 경우, 서비스가 올바르게 기능하지 않을 때 경보를 발하거나 조치를 취하기 위해, 다른 서비스가 올바르게 기능하고 있는 지의 여부를 판단하는 것이 중요하다. 예를 들면, 물품 주문에 사용된 구매 개체는 가끔 특정 제공업자로부터 선택된 컴포넌트를 요구할 수도 있다. 이 컴포넌트가 드물게 요구된다 하더라도, 필요할 때 신속히 그 컴포넌트를 획득할 수 있어야 한다. 만약 제공자가 자신의 목록을 변경하여 그 컴포넌트를 더 이상 제공하지 않거나 또는 주문을 생성하기 위해 제공자측에서 사용된 주문 개체가 이용가능하지 않으면, 구매 개체가 다른 서비스를 찾아낼 수 있도록 하는 것이 중요하다. 현재, 주문 개체가 올바르게 기능하는 지의 여부를 판단하기 위해 주문 개체를 테스트하는 프로세스를 식별하는데 오퍼레이터 인력이 필요하다. 이 예에서, 주문 개체가 목록 내에서 이용가능한 선택된 컴포넌트를 제공하면, 주문 개체는 올바르게 기능한다. 이 프로세스를 식별한 후에, 오퍼레이터 인력은 주문 개체를 모니터링해야 한다.
현재, 컴퓨팅 개체의 테스트 및 모니터링은 주로 특별한 기준에 따라서 수행된다. 특정 서비스를 모니터링하는데 필요한 오퍼레이터 인력은 그 서비스에 대한 모니터링 프로그램을 기록하거나 다른 누군가가 모니터링을 수행하기 위해 기록한 프로그램을 수동으로 검색할 것이다. 모니터링 프로그램은 배포되어 수동으로 구성되며, 오퍼레이터 인력은 그 출력을 수동으로 점검할 것이다. 어떤 경우에는, 오퍼레이터 인력이, 문제가 검출될 때 서비스를 재시작하는 것과 같은 몇몇 동작을 자동으로 취하는 모니터링 프로그램을 셀(shell) 내에 둘 수도 있다.
IBM Tivoli Enterprise Console과 같은 기존의 유지 및 관리 툴은 여러 모니터링 상태 및 검출된 장애 및 발생된 경보를 포함하는 다수의 상이한 개체들로부터의 테스트 결과를 디스플레이하는 관리 콘솔과 같은 특징들을 포함하고, 경보가 발생하는 경우에 자동으로 취해져야 하는 동작들을 관리자가 지정하도록 한다. IBM Tivoli Enterprise Console은 IBM사 제품이다. SNMP(Simple Network Management Protocol)과 같은 표준은 개체들 간의 통신 경보 및 다른 시스템 이벤트에 대한 문서화된 방법을 나타낸다. 일부 현대의 컴퓨팅 시스템은 하드웨어 및 소프트웨어 모두에서 테스트가능하게 설계되고, 어떤 경우에는 원제조업자 또는 하나 이상의 제 3자가 특정 제품을 테스트하기 위한 특정한 테스트 툴 또는 알고리즘을 제공한다.
이러한 유형의 유지 및 관리 툴을 갖고 있는 경우에도, 개체들을 모니터링하는데 사용되는 방법 및 이들 개체를 식별하는 데 오퍼레이터 인력이 요구된다. 이러한 시스템은 시간 소모적이고, 흔히 서비스가 어떻게 모니터링되는 지를 식별하기 위해 광범위한 조사를 요구할 수도 있다. 따라서, 서비스를 제공하는 개체를 식별하고 모니터링하는 개선된 방법, 장치 및 컴퓨터 인스트럭션을 갖는 것이 유익할 것이다.
본 발명은 개체의 식별 및 모니터링을 위한 방법, 장치 및 컴퓨터 인스트럭션을 제공한다. 분산 데이터 처리 시스템은 표준 언어로 컴퓨터 판독가능한 안내(anouncement)를 발행하는 하나 이상의 분산 발행 개체를 포함한다. 이들 안내는 하나 이상의 분산 모니터링 개체의 동작을 모니터링하는데 사용될 수도 있는 모니터링 방법의 설명을 포함할 수도 있다. 이들 안내는 또한 자신의 동작을 모니터링하기 위해 분산 모니터링 개체에 의해 사용되거나 분산 모니터링 개체의 동작을 모니터링하기 위해 분산된 소비자에 의해 사용될 수도 있는 모니터링 방법을 식별하는데 사용된 정보를 포함할 수도 있다. 모니터링은 또한 제 3측 분산 모니터링 개체에 의해 수행될 수도 있다.
본 발명의 신규한 특징은 첨부된 청구항에 개시되어 있다. 그러나, 본 발명 그 자체 및 바람직한 실시예, 추가적인 목적 및 그 이점은 첨부 도면과 함께 이하 의 실시예의 상세한 설명을 참조하면 가장 잘 이해할 수 있을 것이다.
이제 도면을 참조하면, 도 1은 본 발명을 구현할 수 있는 데이터 처리 시스템의 네트워크를 도시한 도면이다. 네트워크 데이터 처리 시스템(100)은 본 발명을 구현할 수 있는 컴퓨터 네트워크이다. 네트워크 데이터 처리 시스템(100)은 네트워크(102)를 포함하는데, 이 네트워크(102)는 네트워크 데이터 처리 시스템(100) 내에서 서로 연결된 다양한 장치 및 컴퓨터 사이의 통신 링크를 제공하는데 사용된 매체이다. 네트워크(102)는 유, 무선 통신 링크 또는 광섬유 케이블(fiber optic cable)과 같은 접속부를 포함한다.
도시된 예에서, 서버(104)는 저장 유닛(106)과 함께 네트워크(102)에 접속된다. 또한, 클라이언트(108,110,112)도 네트워크(102)에 연결된다. 이들 클라이언트(108,110,112)는 예를 들어, 개인 컴퓨터이거나 네트워크 컴퓨터일 수도 있다. 도시된 예에서, 서버(104)는 클라이언트(108-112)에게 부트 파일(boot file), 운영 체제 이미지, 응용 프로그램과 같은 데이터를 제공한다. 클라이언트(108,110,112)는 서버(104)에 대해 클라이언트이다. 네트워크 데이터 처리 시스템(100)은 부가적인 서버, 클라이언트 및 도시되지 않은 다른 장치를 포함할 수도 있다. 서버(104) 및 클라이언트(108-112)는 네트워크(102)를 통해 서로 통신할 수도 있는 여러 분산 개체를 포함할 수도 있다. "분산 개체(distributed entity)"는 제한없이 자동 엘리먼트(autonomic element), 대리인, 중개인, 호집중 사업자(aggregator), 모니터링자, 소비자, 공급자, 재판매 사업자(reseller) 및 중재인(mediator)을 포함하는, 기능을 수행할 수 있는 네트워크 데이터 처리 시스템 내 의 임의의 개체이다.
도시된 예에서, 네트워크 데이터 처리 시스템(100)은 서로 통신하기 위한 프로토콜로 TCP/IP(Transmission Control Protocal/Internet Protocol)를 사용하는 네트워크 및 게이트웨이의 세계적인 집합을 나타내는 네트워크(102)를 갖는 인터넷이다. 인터넷의 심장에는 데이터 및 메세지를 라우트(route)하는 수천 개의 기업, 정부, 교육 및 다른 컴퓨터 시스템으로 구성된 주요 노드 또는 호스트 컴퓨터들 사이의 고속 데이터 통신 라인의 주쇄(backbone)가 있다. 물론, 네트워크 데이터 처리 시스템(100)은 예를 들어, 인트라넷, 근거리 네트워크(LAN), 원거리 네트워크(WAN)와 같은 많은 다른 유형의 네트워크로 구현될 수 있다. 도 1은 일례로서, 본 발명을 구조적으로 제한하는 것은 아니다. 본 발명의 메커니즘은 서로 통신하는 여러 데이터 처리 시스템을 포함하는 임의의 네트워크 데이터 처리 시스템 내에 구현될 수도 있다.
도 2를 참조하면, 본 발명의 바람직한 실시예에 따른, 도 1에 도시된 서버(104)와 같은 서버로서 구현될 수도 있는 데이터 처리 시스템이 도시되어 있다. 데이터 처리 시스템(200)은 시스템 버스(206)에 접속된 다수의 프로세서(202, 204)를 포함하는 단일 또는 대칭 멀티프로세서(symmetric multiprocessor)(SMP) 시스템일 수도 있다. 이와 달리 단일 프로세서 시스템이 채용될 수도 있다. 로컬 메모리(209)에 대한 인터페이스를 제공하는 메모리 컨트롤러/캐시(memory controller/cache)(208)도 시스템 버스(206)에 접속되어 있다. I/O 버스 브리지(210)가 시스템 버스(206)에 연결되어 I/O 버스(212)에 대한 인터페이스를 제공 한다. 메모리 컨트롤러/캐시(208) 및 I/O 버스 브리지(210)는 도시된 바와 같이 일체화될 수도 있다.
I/O 버스(212)에 접속된 주변 소자 상호접속(peripheral component interconnect)(PCI) 버스 브리지(214)는 PCI 로컬 버스(216)에 대한 인터페이스를 제공한다. 다수의 모뎀이 PCI 로컬 버스(216)에 연결될 수도 있다. 통상적인 PCI 버스 구현은 네 개의 PCI 확장 슬롯 또는 애드인(add-in) 커넥터를 지원한다. 도 1에서의 클라이언트(108-112)에 대한 통신 링크는 애드인 보드를 통해 PCI 로컬 버스(216)에 연결된 모뎀(218) 및 네트워크 어댑터(220)를 통해 제공될 수 있다.
부가적인 PCI 버스 브리지(222,224)는 부가적인 모뎀이나 네트워크 어댑터를 지원하는 부가적인 PCI 로컬 버스(226,228)에 대한 인터페이스를 제공한다. 이러한 방식으로, 데이터 처리 시스템(200)은 다중 네트워크 컴퓨터로의 접속을 허용한다. 메모리 매핑 그래픽 어댑터(memory-mapped graphics adapter)(230) 및 하드 디스크(232)도 도시된 바와 같이 I/O 버스(212)에 직접 또는 간접적으로 연결될 수 있다.
당업자라면 도 2에 도시된 하드웨어가 변경될 수 있다는 점을 인식할 것이다. 예를 들어, 광 디스크 드라이브와 같은 다른 주변 장치가 또한 도시된 하드웨어에 부가적으로 또는 대신하여 사용될 수 있다. 도시된 예는 본 발명에 대한 구조적인 제한을 의미하는 것은 아니다. 도 2에 도시된 데이터 처리 시스템은, 예를 들어 Advanced Interactive Executive(AIX) 운영 체제 또는 LINUX 운영 체제를 실행하는 New York,Armonk 소재의 International Business Machines Corporation의 제품인 IBM eServer pSeries 시스템일 수 있다.
이제 도 3을 참조하면, 본 발명이 구현될 수 있는 데이터 처리 시스템을 도시하는 블록도가 도시되어 있다. 데이터 처리 시스템(300)은 도 1의 클라이언트(108)과 같은 클라이언트 컴퓨터의 일례이다.
데이터 처리 시스템(300)은 PCI 로컬 버스 구조를 채용한다. 도시된 예는 PCI 버스를 채용하고 있지만 가속 그래픽 포트(Accelerated Graphic Port)(AGP) 및 산업 표준 구조(Industry Standard Architecture)(ISA)와 같은 다른 버스 구조가 사용될 수도 있다. 프로세서(302) 및 메인 메모리(304)는 PCI 브리지(308)를 통하여 PCI 로컬 버스(306)에 접속된다. PCI 브리지(308)는 프로세서(302)에 대한 일체화된 메모리 컨트롤러 및 캐쉬 메모리를 포함할 수도 있다. PCI 로컬 버스(306)에 대한 부가적인 접속이 직접적인 컴포넌트 상호접속 또는 애드인 보드를 통하여 이루어질 수도 있다. 도시된 예에서 LAN 어댑터(310), SCSI 호스트 버스 어댑터(312) 및 확장 버스 인터페이스(314)는 직접 컴포넌트 접속에 의해 PCI 로컬 버스(306)에 접속된다. 이와 반대로, 오디오 어댑터(316), 그래픽 어댑터(318) 및 오디오/비디오 어댑터(319)는 확장 슬롯에 삽입된 애드인 보드에 의해 PCI 로컬 버스(306)에 접속된다. 확장 버스 인터페이스(314)는 키보드 및 마우스 어댑터(320), 모뎀(322) 및 부가적인 메모리(324)에 대한 접속을 제공한다. 소형 컴퓨터 시스템 인터페이스(small computer system interface)(SCSI) 호스트 버스 어댑터(312)는 하드 디스크 드라이브(326), 테이프 드라이브(328) 및 CD-ROM 드라이브(330)에 대한 접속을 제공한다. 전형적인 PCI 로컬 버스 구현예는 세 개 또는 네 개의 PCI 확장 슬롯 또는 애드인 커넥터를 지원한다.
운영 체제는 프로세서(302) 상에서 실행되며 도 3의 데이터 처리 시스템(300) 내에서 다양한 컴포넌트의 제어를 조정하고 제공하는 데 사용된다. 운영 체제는 Microsoft Corporation사의 Windows XP와 같은 상용 운영 체제일 수 있다. 운영 체제 애플리케이션 또는 프로그램용 인스트럭션은 하드 디스크 드라이브(326)와 같은 저장 장치 상에 위치하며 프로세서(302)에 의한 실행을 위해 메인 메모리(304)로 로드된다.
당업자라면 도 3의 하드웨어가 구현에 따라 변할 수도 있음을 알 수 있을 것이다. 플래시 롬(ROM), 등가 비휘발성 메모리(equivalent nonvolatile memory) 또는 광디스크 드라이브 등과 같은 기타 내부 하드웨어 또는 주변 장치들이 도 3에 도시된 하드웨어에 부가하거나 대신하여 사용될 수 있다. 또한, 본 발명의 프로세스는 멀티프로세서 데이터 처리 시스템에 적용될 수 있다.
도 3에 도시된 예 및 전술한 예들이 구조적인 제한을 포함하는 것은 아니다. 예를 들어, 데이터 처리 시스템(300)은 노트북 컴퓨터 또는 핸드 헬드 컴퓨터(hand held computer) 또는 PDA 형태일 수도 있다. 데이터 처리 시스템(300)은 또한 키오스크(kiosk) 또는 웹 설비(Web appliance)일 수도 있다.
본 발명은 네트워크 데이터 처리 시스템 내의 개체에 의해 제공된 서비스를 식별하고 모니터링하는 개선된 방법, 장치 및 컴퓨터 인스트럭션을 제공한다. 특히, 본 발명의 메커니즘은 WSDL(Web Services Description Language)과 같은 표준 및 프로그램이 특정 서비스를 제공하는 개체를 찾아서 이들 서비스와 통신하여 트 랜잭션을 행하는 방법을 자동으로 결정하게 하는 UDDI(Universal Description, Discovery, and Integration)와 같은 시스템을 이용한다. WSDL은 IBM, Ariba 사 및 마이크로소프트사와 같은 회사의 대표자에 의해 창시된 월드와이드 웹 컨소시엄에 의해 고려되고 있는 제안 표준이다. UDDI 버전 3은 웹 서비스 애플리케이션 및 서비스에 사용되고 있는 현재의 사양이다. UDDI에 대한 장래의 개발 및 변경은 OASIS(Organization for the Advancement of Structured Information Standards)에 의해 다루어질 것이다. 본 발명의 메커니즘은 이들 표준을 사용하여 일반적으로 제공되지 않은 부가적인 정보를 발행한다. 이 정보는 개체를 모니터링하는데 사용될 수도 있는 방법 또는 프로세스의 식별을 포함한다. 모니터링은 예를 들어 서비스가 기능하는 지의 여부를 판단하기 위해 개체를 테스트하는 것을 포함한다. 이 모니터링은 서비스를 제공하는 개체를 이용하는 클라이언트 또는 자체 기능 및 가용성을 테스트하는 개체에 의해 수행될 수도 있다. 이 정보는 클라이언트에 대한 개체를 모니터링하기 위해 개체를 모니터링하는 제 3측에 의해 사용될 수도 있다.
이제 도 4로 돌아가면, 본 발명의 바람직한 실시예에 따른, 개체를 모니터링하는데 사용된 메시지 흐름이 도시되어 있다. 도 4의 메시지는 분산 모니터링 개체(400), 분산 발행 개체(402) 및 분산 소비자 개체(404) 사이에서 전달된다. 분산 모니터링 개체는 개체의 적어도 일부가 올바르게 작동하거나 적어도 하나의 기능을 수행할 수 있도록 확립하는데 사용될 수 있는 적어도 하나의 방법 또는 알고리즘이 존재하는 분산 개체이다. 분산 발행 개체는 적어도 하나의 분산 개체에 의해 액세스될 수 있는 방법으로 어떠한 정보를 발행하거나 이용가능하게 만드는 분 산 개체이다. 분산 소비자 개체는 기능을 적절하게 또는 최적으로 수행하기 위해 적어도 하나의 다른 분산 개체에 의존하는 분산 개체이다. 이들 예에서, 개체들은 도 2의 데이터 처리 시스템(200) 또는 도 3의 데이터 처리 시스템(300)과 같은 데이터 처리 시스템 상에서 실행되는 소프트웨어 컴포넌트 또는 프로세스이다. 특정 실시에 따라서, 이들 개체는 모두 상이한 데이터 처리 시스템 상에 위치할 수도 있으며 또는 일부 또는 모든 개체가 동일한 데이터 처리 시스템 상에 위치할 수도 있다.
이 예에서, 분산 모니터링 개체(400)는 등록 메시지(406)를 디렉토리 서비스로서 기능하는 분산 발행 개체(402)로 보낸다. 등록된 개체에 대한 정보는 디렉토리(408)에 저장될 수도 있다. 디렉토리(408)는 분산 발행 개체(402)가 분산 모니터링 개체(400) 및 분산 발행 개체(402)에 의해 등록된 다른 개체에 대한 정보를 제공하도록 한다. 특히, 디렉토리(408)는 선택된 표준과 매칭되는 등록된 개체를 검색하게 하는 메카니즘을 제공한다. 이들 예에서, 선택된 표준은 선택된 서비스이다. 다른 표준은, 예를 들어 분산 모니터링 개체가 위치하고 있는 컴퓨터의 지리적 위치 및 분산 모니터링 개체와 통신하는데 사용된 특정 프로토콜을 포함한다. 등록 메시지(406)는 분산 모니터링 개체(400)에 의해 제공된 서비스에 대한 정보와 분산 모니터링 개체(400)가 적절한 동작을 위해 어떻게 자동으로 모니터링될 수 있는 지에 대한 정보를 포함한다. 이 등록 정보는 분산 모니터링 개체(400)를 모니터링하는 데 사용된 모니터링 방법의 설명을 포함한다. 예를 들면, 분산 모니터링 개체(400)는 개체를 모니터링할 수 있도록 특별히 설계된 모니터링 인터페이스를 포함할 수도 있다. 예를 들면, 모니터링 방법은 분산 모니터링 개체(400)를 모니터링하기 위해 테스트를 개시하는 특정 커맨드 및 파라미터를 기술할 수도 있다. 인터페이스는 단순히 요청을 수신하여, 요청에 응답할 수 있음을 나타내는 응답을 제공한다. 인터페이스는 보다 복잡하며, 연속적으로 또는 모니터링 인터페이스에 보내진 일부 요청에 따라서 어느 정도 주기적으로 데이터 스트림을 발생할 수도 있다. 분산 모니터링 개체(400)는 데이터 스트림이 수신되거나 또는 특정 데이터가 데이터 스트림에 반환되면 올바르게 기능하는 것으로 확인될 수도 있다. 그 응답은 특정 서비스 또는 클라이언트, 즉 분산 소비자 개체(404)에 의해 요청된 서비스 세트로부터 생성된 데이터일 수도 있다. 또는 송신된 요청은 예상 에러 메시지가 수신될 무효 요청(an invalid request)일 수도 있다. 다른 유형의 모니터링 방법에서는, 분산 모니터링 개체(400) 상의 특별한 범용 자원 엔드포인트(universal resource endpoint)가 제공될 수도 있는데, 이 엔드포인트에 SOAP(Simple Object Access Protocol) 요청이 보내질 수도 있다. 이 요청에 응답하여, 분산 모니터링 개체(400)가 올바르게 기능하는 경우에 기대되는 응답으로서 특정 응답이 지정될 수도 있다. 다른 모니터링 방법은 분산 모니터링 개체(400) 내의 지정된 포트로 특정 패턴의 데이터를 보내는 것을 포함할 수도 있다. 이 데이터 패턴에 대한 응답은, 분산 모니터링 개체(400)가 올바르게 기능하는 경우에 일부 선택된 대응 패턴을 가져야 한다. 다른 모니터링 방법에서는, 특정한 요청 또는 요청 집합이 분산 모니터링 개체(400)가 올바르게 기능하는 경우에 선택된 기간 내에 수신된 응답을 가지고 분산 모니터링 개체(400)로 보내질 수도 있다. 이 특정 기간은 송신되 는 요청 내에 지정될 수도 있다. 다른 경우에, 모니터링 방법은 분산 모니터링 개체(400)를 테스트하는 데 사용되는 특정 프로그램 또는 프로그램 부분일 수도 있다. 이 유형의 프로그램은, 예를 들어 PERL(Practical Extraction Report Language) 스크립트, RMI(Remote Method Invocation) 클라이언트, RMI 스터브(stub) 클래스 및 이진 실행(binary executable)과 같은 다양한 형식을 취할 수도 있다. 물론, 특정 실시에 따라서 다른 유형의 모니터링 방법이 실시될 수도 있다.
또한, 분산 모니터링 개체(400)가 적절한 동작을 위해 어떻게 자동으로 모니터링되는지에 대한 정보가 분산 모니터링 개체(400) 외의 다른 개체에 의해 디렉토리(408)로 진입하기 위해 분산 모니터링 발행 개체(402)로 전송될 수도 있다. 예를 들면, 이 등록 정보는 테스트 전문 기관 또는 심지어 오퍼레이터 인력의 입력 데이터를 통해 전송될 수도 있다. 어떤 경우에는, 분산 모니터링 개체(400)가 어떻게 모니터링되는 지에 대한 정보가 디렉토리(408)로 들어가지 않고 분산 모니터링 개체(400)에 포함된다. 이 경우에는, 분산 소비자 개체(404)와 같은 클라이언트는 분산 모니터링 개체(400)로부터 직접 분산 모니터링 개체(400)를 모니터링하기 위한 방법을 획득한다. 디렉토리(408)는 개체의 식별, 개체에 의해 제공된 서비스 및 개체를 모니터링하기 위한 모니터링 방법을 포함한다. 이 디렉토리는 현재 모니터링중이거나 이전에 모니터링되었거나 또는 장래에 모니터링할 것으로 예상되는 분산 모니터링 개체와 같은 다른 정보를 포함할 수도 있다.
나중에, 분산 소비자 개체(404)가 특정 서비스를 제공하기 위해 개체를 찾을 필요가 있을 때, 이 개체는 질의 메시지(410)를 분산 발행 개체(402)에 보낸다. 또는, 이 질의는 응답을 제공하는 하나 이상의 이들 개체를 갖는 다수의 분산 발행 개체에 의해 수신되는 브로드캐스트 메시지일 수도 있다. 분산 발행 개체(402)는 디렉토리(408) 내에 적절한 서비스를 위치시키고 특정 서비스를 제공하는 개체에 대한 정보를 응답 메시지(412)로 분산 소비자 개체(404)에게 반환한다. 이 응답은 특정 서비스를 제공하는 다수의 상이한 개체에 대한 정보를 포함할 수도 있다. 하나 이상의 개체가 응답 메시지(412)에 포함되면, 분산 소비자 개체(404)는 이들 개체 중 하나 이상을 선택하여 동작하거나 통신할 수도 있다. 이 예에서, 분산 소비자 개체(404)는 분산 모니터링 개체(400)를 선택한다. 응답 메시지(412) 내의 정보는 분산 모니터링 개체(400)와 어떻게 접촉하는 지에 대한 정보 및 이 개체가 적절한 동작을 위해 어떻게 모니터링될 수 있는 지에 대한 정보를 포함한다. 이 정보는 분산 모니터링 개체(400)에 적용될 수도 있는 모니터링 방법의 적어도 하나의 기술을 포함할 수도 있다. 모니터링 방법은 분산 모니터링 개체(400) 상의 분산 모니터링 개체 상에서 개시되는 프로세스일 수도 있다. 모니터링 방법에서의 프로세스는 분산 모니터링 개체(400) 내 또는 분산 소비자 개체(404)와 같은 다른 위치에 위치할 수도 있다. 특정 실시에 따라서, 모니터링 정보는 응답 메시지(412)로부터 제외될 수도 있는데, 이 모니터링 정보는 분산 소비자 개체(404)에 의해 분산 모니터링 개체(400)로부터 직접 획득된다.
식별된 개체 및 제공된 모니터링 방법은 특정 서비스 레벨 협약 또는 여러 개체들 사이에서의 다른 협약에 기초할 수도 있다. 예를 들면, 분산 모니터링 개 체(400)를 모니터링하는데 사용된 모니터링 방법은 일부 서비스 레벨 협약 또는 분산 모니터링 개체(400)와 분산 발행 개체(402) 사이에 확립된 다른 협약에 기초하여 분산 발행 개체(402)에 의해 분산 소비자 개체(404)로 제공될 수도 있다.
분산 소비자 개체(404)는 응답 메시지(412) 수신 후에 분산 모니터링 개체(400)와 접촉하여 방법들 및 프로토콜을 이용하여 기능 동작(414)을 개시한다. 이들은 WSDL 및 UDDI와 같은 공지되어 있는 방법 및 프로토콜이다. 이 접촉은 분산 소비자 개체(404)가 분산 모니터링 개체(400)에 의해 제공된 서비스 또는 서비스들을 사용하도록 허용한다. 분산 소비자 개체(404)는 또한 분산 모니터링 개체(400)와 함께 모니터링 동작을 수행하여 분산 모니터링 개체(400)가 적절하게 동작을 계속하는 지를 확인한다. 이들 모니터링 동작은 이들 예에서는 응답 메시지(412)에서 설명된다. 모니터링 동작은 주기적인 이벤트 또는 비주기적인 이벤트와 같은 여러 이벤트를 통해 개시될 수도 있다. 주기적인 이벤트는 모니터링 동작을 트리거하는 타이머의 만료일 수도 있다. 비주기적인 이벤트는, 예를 들면 분산 소비자 개체(404)에 의한 구매 주문과 같은 선택 동작의 개시일 수도 있다. 이들 예에서, 모니터링 동작(416)은 분산 모니터링 개체(400) 상에서 수행될 수도 있는 하나 이상의 테스트와 같은 방법이다. 만약 하나 이상의 테스트가 모니터링 중에 실패하면, 분산 소비자 개체(404)가 수정 동작을 취한다. 이들 수정 동작은, 예를 들어 실패의 원인을 판정하기 위한 추가적인 진단 테스트를 수행하는 것, 관리인에게 테스트 실패를 통지하는 것, 다른 분산 개체에게 문제가 있음을 통지하는 것, 분산 발행 개체(402)에게 접촉하여 분산 모니터링 개체(400)에 대한 교체를 식별하 는 것, 분산 모니터링 개체(400)를 다시 시작하는 것 또는 응답 메시지(412)에서 식별된 테스트 방법 내에서 지정된 선택된 시퀀스의 동작을 실행하는 것을 포함할 수도 있다.
본 발명의 다른 실시예에서, 분산 소비자 개체(404)는 응답 메시지(412) 내에 기술된 테스트 동작을 수행하여 분산 소비자 개체(404)가 분산 모니터링 개체(400)와 함께 기능적인 동작(414)을 시작하기 전에 분산 모니터링 개체(400)의 적절한 동작을 확인한다. 본 발명의 다른 실시예에서, 분산 소비자 개체(404)는 분산 모니터링 개체(400)와 분산 소비자 개체(404) 사이에 서비스 레벨 협약 또는 다른 협약이 적절하게 이루어진 후에만 응답 메시지(412)에 기술된 테스트 동작을 수행하며, 이 테스트 동작은 그 협약에 응답한다. 일실시예에서는, 이 테스트 동작은 분산 모니터링 개체(400)에 의해 제공된 서비스가 적절한 협약 내에서 지정된 응답 시간 범위 내에 있다는 것을 확인하는데 사용된다.
본 발명의 바람직한 실시예에서, 분산 모니터링 개체(400)는 분산 모니터링 개체(400)를 모니터링하기 위해 분산 소비자 개체(404)에 의해 개시된 모니터링 동작(416)을 가능하게 하도록 특별히 설계된 적어도 하나의 모니터링 인터페이스를 실시한다. 본 발명의 다른 실시예에서는, 분산 모니터링 개체(400)를 모니터링하기 위해 분산 소비자 개체(404)에 의해 개시된 모니터링 동작(416)이 무효 요청(invalid request)을 분산 모니터링 개체(400)에 보내는 것과 예상된 에러 표시가 수신되는 것을 확인하는 것을 포함한다. 다른 실시예에서는, 모니터링 동작(416)이 분산 모니터링 개체(400)가 연속적이거나 또는 주기적인 스트림의 메시 지를 분산 발행 개체(402)에게 발생하는 것과 메시지 스트림이 예상대로 연속해서 도착하는 것을 확인하는 것을 포함할 수도 있다.
본 발명의 다른 실시예에서는, 분산 모니터링 개체(400)가 분산 발행 개체(402) 내의 디렉토리(408)에게 질의하여 분산 모니터링 개체(400)가 적절한 동작을 하도록 어떻게 모니터링될 수 있는 지에 대한 정보를 획득한다. 이 정보는 자체 진단 목적으로 자신의 동작을 모니터링하기 위해, 분산 모니터링 개체(400)에 의해 사용된다. 본 발명의 또 다른 실시예에서, 분산 소비자 개체(404)는 분산 모니터링 개체(400)가 분산 발행 개체(402)로부터가 아니라 분산 모니터링 개체(400)로부터 적절한 동작에 대해 어떻게 모니터링될 수 있는 지에 대한 정보를 수신한다.
도 5를 참조하면, 제 3측 분산 모니터링 개체가 존재하는 개체를 모니터링하는데 사용된 메시지 흐름을 도시한 도면이 본 발명의 바람직한 실시예에 따라서 도시되어 있다. 이 예에서, 개체의 모니터링은 분산 모니터링 개체인 분산 모니터링 개체(500), 제 3 측 분산 모니터링 개체(502), 분산 발행 개체(504) 및 분산 소비자 개체(506)를 포함한다. 몇몇 경우에, 분산 소비자 개체(506)는 정확한 기능 또는 최적의 기능을 위해 분산 모니터링 개체(500)와 같은 다른 개체에 의해 제공된 서비스에 의존할 수도 있다. 일부 예에서는, 분산 소비자 개체(506)는 모니터링 기능을 수행할 수 없을 수도 있다. 제 3측 모니터링은 또한 효율의 이유로 사용될 수도 있다. 그 결과, 제 3측 분산 모니터링 개체(502)와 같은 다른 개체가 모니터링 기능을 제공하기 위해 이용될 수도 있다.
분산 모니터링 개체는 적어도 하나의 기법 또는 알고리즘을 이용하여 분산 모니터링 개체의 적어도 일부분이 정확하게 작동하거나 적어도 하나의 기능을 수행할 가능성이 있도록 확립하는 분산 개체이다. 제 3측 분산 모니터링 개체는, 그 자신의 기능의 적적하거나 최적인 성능에 대해 개체 자신은 의존하지 않는 적어도 하나의 분산 모니터링 개체를 잠재적으로 모니터링하는 분산 모니터링 개체이다. 또한, 제 3측 분산 모니터링 개체(502)는 분산 소비자 개체(506) 외의 다른 개체로부터 요청을 받아 분산 모니터링 개체(500) 또는 다른 개체를 모니터링할 수도 있다. 즉, 제 3측 분산 모니터링 개체(502)는 복수의 클라이언트 및 복수의 분산 모니터링 개체에게 모니터링을 제공할 수도 있다. 또한, 제 3측 분산 모니터링 개체(502)에 의해 제공된 서비스를 모니터링하기 위해 요금이 부과될 수도 있다. 또한, 모니터링 유형, 모니터링 방법 또는 모니터링에 사용된 파라미터는 분산 발행 개체와 같은 다른 개체로부터 수신된 입력에 기초하여 변하거나 수정될 수도 있다. 수정은, 예를 들어 분산 모니터링 개체(500)의 모니터링의 결과에 대해 통지받는 변경 개체를 포함할 수도 있다. 이 예에서, 제 3측 분산 모니터링 개체(502)는 등록 메시지(508)를 디렉토리 서비스로서 기능하는 분산 발행 개체(504)에게 보낸다. 분산 모니터링 개체(500)에 대한 정보 및 제 3측 분산 모니터링 개체(502)에 대한 정보는 분산 발행 개체(504) 내의 디렉토리(510)에 저장될 수도 있다. 이 예에서, 등록 메시지(508)는 분산 모니터링 개체(500) 상에서 수행될 수도 있는 모니터링 방법 또는 방법들에 대한 정보를 포함한다. 이 예에서, 제 3측 분산 모니터링 개체(502)는 등록 메시지(512)를 전송하여 분산 모니터링 개체(500)와 같은 개체에 대한 모니터링 동작을 수행할 수 있는 개체로서 분산 발행 개체(504)와 함께 자신을 등록한다. 등록 메시지(512)는 제 3측 분산 모니터링 개체(502)에 의해 수행될 수도 있는 모니터링 유형을 식별한다. 이 정보는 또한 모니터링이 수행될 수도 있는 개체를 식별할 수도 있다.
특정 실시에 따라서, 제 3측 분산 모니터링 개체(502)는 또한 분산 발생 개체(504)와 함께 분산 모니터링 개체(500)에 대한 정보를 등록하기 위해 등록 메시지(512) 내에 정보를 포함할 수도 있다. 또한, 디렉토리(510)는 현재 모니터링 서비스를 제공하는 제 3측 분산 모니터링 개체, 이전에 제공된 모니터링 서비스를 갖는 제 3측 분산 모니터링 개체 및 모니터링 서비스를 제공하기로 기대되는 제 3측 분산 모니터링 개체에 대한 정보를 포함할 수도 있다.
본 발명의 일부 실시예에서는, 분산 발행 개체(504) 또는 다른 분산 발행 개체가, 어떤 제 3측 분산 모니터링 개체가 과거에 분산 모니터링 개체(500) 및 다른 분산 모니터링 개체를 모니터링하였는지에 대한 정보 및/또는 어떤 제 3측 모니터링 개체가 미래에 그렇게 모니터링할 것 같은 지에 대한 정보를 포함하는 정보를 제공할 수도 있는데, 이것은 분산 소비자 개체(506)와 같은 분산 소비자 개체는 여러 개의 가능한 제 3측 분산 모니터링 개체 중 어느 것을 이용할 것인 지를 판단하는데 이 정보를 이용할 수도 있기 때문이다(예를 들면, 과거에 이 목적을 위해 사용된 제 3측 분산 모니터링 개체가 현재 그것을 할 수 있을 것으로 기대될 수도 있거나 또는 장래에 그렇게 할 것 같은 것으로 나타난 개체가 현재 그렇게 준비될 수도 있다는 이론에 따라서). 나중에, 분산 소비자 개체(506)가 특정 서비스를 제공 할 개체를 찾고자 희망할 때, 이 개체는 분산 발행 개체(504)에게 질의 메시지(514)를 보낸다. 질의 메시지(514) 수신에 응답하여, 분산 발행 개체(504)는 질의 메시지(514)에서 지정된 서비스를 제공할 수 있는 개체를 식별한다. 이들 개체에 대한 정보는 응답 메시지(516)로 분산 소비자 개체(506)에게 반환된다. 이 응답은 분산 모니터링 개체(500)와 같은 개체에 대한 정보를 포함한다. 또한, 응답메시지(516)로 분산 소비자 개체(506)에게 반환된 정보는 또한, 이 예에서는 적절한 동작을 위해 분산 모니터링 개체(500)를 자동으로 모니터링하는 것에 대한 정보를 포함한다. 응답 메시지 수신에 응답하여, 분산 소비자 개체(506)는 동작 및 통신할 하나 이상의 개체를 선택할 수도 있다. 이 예에서는 개체는 분산 모니터링 개체(500)이다.
또한, 분산 소비자 개체(506)는 질의 메시지(518)를 분산 발행 개체(504)로 보내는데, 여기서 질의 메시지(518)는 응답 메시지(516)에 설명된 모니터링 동작을 수행할 수 있는 제 3측 분산 모니터링 개체에 대한 정보를 요구한다. 질의 메시지(518)의 수신에 응답하여, 분산 발행 개체(504)는 분산 모니터링 개체(500)에 대한 모니터링 동작을 수행할 수 있는 하나 이상의 제 3측 분산 모니터링 개체를 식별한다. 전술한 바와 같이, 이들 모니터링 동작은 개체가 적절하게 동작하는 지의 여부를 판정하기 위해 개체 상에서 실행될 수도 있는 테스트 또는 방법과 같은 다양한 형태를 취할 수도 있다. 이 정보는 응답 메시지(520)로 분산 소비자 개체(506)에게 반환된다. 이 정보에 기초하여, 분산 소비자 개체(506)는 분산 모니터링 개체(500)를 모니터링하는데 사용하기 위한 하나 이상의 제 3측 분산 모니터 링 개체를 선택한다.
그 다음에, 분산 소비자 개체(506)는 분산 모니터링 개체(500)와 접촉하고 기능 동작을 수행하여 분산 모니터링 개체(500)에 의해 제공된 서비스를 이용한다. 분산 소비자 개체(506)는 또한 요청(524)을 이용하여 제 3측 분산 모니터링 개체(502)와 접촉하여 분산 모니터링 개체(500)의 모니터링을 요청한다. 요청된 모니터링은 분산 발행 개체(504)로부터 수신된 응답 메시지(516)에 기술된 동작을 위한 것이다. 예를 들면, 이 동작들은 분산 모니터링 개체(500)에 적용되는 모니터링 방법을 지정할 수도 있다. 또는, 모니터링 방법이 요청(524)에 지정되어 있지 않으면, 이 요청 내의 정보는 모니터링 방법을 식별하는 정보를 포함할 수도 있다. 이 예에서, 제 3 측 분산 모니터링 개체(502)는 분산 발행 개체(504) 내의 디렉토리(510) 내에 제공된 바와 같은, 발행 정보를 검사함으로써 분산 모니터링 개체(500)를 모니터링하는데 사용하기 위한 모니터링 방법을 식별할 수도 있다. 이 요청은 또한 분산 소비자 개체(506)를 위해 분산 모니터링 개체(500)에 대한 모니터링 동작을 수행하도록 하기 위해 어떠한 인증서(certificate), 확인 정보, 또는 위임 증서도 포함할 수도 있다. 결과로서, 제 3측 분산 모니터링 개체(502)는 분산 모니터링 개체(500)에 대한 모니터링 동작을 수행한다. 이 요청에 따라서, 제 3측 분산 모니터링 개체(502)는 액션을 취하는데, 이 액션은 모니터링 동작에서 수행된 하나 이상의 테스트가 분산 모니터링 개체(500)에서 문제의 발생 또는 실패를 제안하는 경우에, 통지(528)를 분산 소비자 개체(506)에 보내는 것을 포함한다. 특정 관심의 실패는 분산 소비자 개체(506)에 의해 희망된 서비스의 실패이다. 분 산 모니터링 개체(500)에 의해 제공된 다른 서비스가 테스트되지 않을 수도 있고, 또는 그러한 서비스의 실패는 통지(528)를 시작하지 않는다. 특정 실시에 따라서, 제 3측 분산 모니터링 개체(502)에 의해 제공된 서비스는 모니터링 서비스에 대해 분산 소비자 개체(506)에게 과금된 요금을 받을 수도 있다.
본 발명의 다른 실시예에서, 제 3측 분산 모니터링 개체(502)는 분산 발행 개체(504)와 접촉하여 분산 모니터링 개체(500) 상에서 수행되는 테스팅 동작에 대한 정보를 획득한다. 또다른 실시예에서는, 제 3측 분산 모니터링 개체(502)가 그 정보를 위해 분산 모니터링 개체(500)와 접촉한다. 또 다른 실시예에서, 제 3측 분산 모니터링 개체(502)는 분산 발행 개체(504) 또는 다른 소스로부터 도출된 그 개체에 대한 다른 정보를 검사하여 분산 모니터링 개체(500)를 모니터링하는 적절한 방법을 추론할 수도 있다.
본 발명의 또다른 실시예에서, 제 3측 분산 모니터링 개체(502)는 제 3측 분산 모니터링 개체가 이미 모니터링하고 있는 분산 모니터링 개체와 관련된 정보를 발행하거나 이용가능하게 한다. 이 유형의 정보를 발행하면, 분산 소비자 개체(506)와 같은 분산 소비자 개체는 과금된 가격에 대한 할인을 받기 위해 또는 효율을 위해 분산 모니터링 개체(500)와 같은 소정의 분산 모니터링 개체의 모니터링에 이미 참여하고 있는 제 3측 분산 모니터링 개체의 모니터링 서비스를 요청하는 것을 선택할 수도 있다.
도 6에는 본 발명의 바람직한 실시예에 따른 개체 식별 및 모니터링에 사용된 프로세스의 순서도가 도시되어 있다. 도 6에 도시된 프로세스는 도 4의 분산 소비자 개체(404)와 같은 클라이언트에서 수행될 수도 있다.
프로세스는 서비스에 대한 요구를 식별함으로써 시작된다(블록 600). 제공자의 리스트 및 모니터링 방법이 도 4의 분산 발행 개체(404)와 같은 분산 발행 개체로부터 요청된다(블록 602). 제공자의 리스트 및 모니터링 방법은 분산 발행 개체로부터 수신된다(블록 604). 하나의 분산 모니터링 개체 제공자가 리스트로부터 선택되고 모니터링 방법은 저장된다(블록 606). 특정 실시에 따라서, 하나 이상의 개체가 선택될 수도 있다. 선택된 분산 소비자 개체에에 서비스를 제공하기 위한 선택된 분산 모니터링 개체와의 협약이 이루어진다(블록 608). 이 협약은 다양한 자동화된 협상 프로토콜 또는 현재 이용된 방법을 사용하여 이루어진다. 협약을 종결시킬 지에 대한 결정이 이루어진다(블록 610). 이 협약은 협약 내에서 지정된 다양한 조건들 하에서 종결될 수도 있다. 예를 들면, 협약은 갱신되지 않고 설정된 시간 후에, 수회의 계약 후에, 어느 한 쪽의 시작에서 또는 상품 또는 서비스의 가격이 일부 선택된 값 이상 또는 이하가 되는 경우와 같이, 현재의 시장 상황에 따라서 종결될 수도 있다. 협약의 종결에 대한 다른 계기는 본 발명을 이용하여 나타낸 테스트의 실패일 수도 있다. 이 유형의 실패에 의해, 프로세스는 블록 600에서 도 6의 시작으로 돌아간다. 만약 협약이 종결되지 않으면, 클라이언트는 분산 모니터링 개체로 작업한다(블록 612). 이 동작은 분산 모니터링 개체에 의해 분산 소비자 개체에 제공되는 서비스에 따라서 변할 수도 있다. 이 동작들은 예를 들면, 언어 번역, 주식 시장의 시세, 뉴스 업데이트, 수학 계산, 이진 데이터의 저장 및 검색, 데이터베이스 검색, 오디오 또는 비디오와 같은 컨텐츠의 제공, 기상 예측을 포함할 수도 있다.
그 다음에, 감지 방법이 분산 모니터링 개체의 테스트를 요구하는 지에 대한 판정이 이루어진다(블록 614). 만약 모니터링 방법이 테스트를 요구하면, 테스트 요구는 분산 모니터링 개체로 송신되고(블록 616), 분산 모니터링 개체로부터 응답이 수신된다(블록 618). 모니터링 방법에서 지정된 대로 응답하는 지의 여부에 대한 판정이 이루어진다(블록 620). 기본적으로, 블록 620은 분산 모니터링 개체가 예상대로 수행되고 있는 지 또는 실패가 발생했는 지의 여부를 판정하는 데 사용된다. 만약 응답이 모니터링 방법에서 지정한 대로가 아니라면, 수정 동작이 최해지고(블록 622) 프로세스는 전술한 바와 같이 블록 610으로 돌아간다. 몇몇 경우에는, 수정 동작의 실패 및 성공에 따라서, 프로세스가 블록 610으로 돌아갈 수도 있다. 그러한 경우는 분산 모니터링 개체가 심각한 실패를 겪고 수정 동작이 이 실패를 수정하는데 실패한 경우에 발생할 수도 있다. 이 경우, 분산 모니터링 개체는 정상적으로 동작할 수 없을 수도 있다.
블록 622에서 수행된 수정 동작은, 예를 들어 분산 모니터링 개체를 재개시하거나, 통지를 오퍼레이터 인력에게 보내거나, 다른 분산 모니터링 개체를 선택하거나, 분산 모니터링 개체의 실행을 종료하거나 로그 파일 내에 개체를 발생시키는 등의 다양한 형태를 취할 수도 있다. 특정 표준과의 매칭 테스트 결과에 기초하여 메시지를 보내는 조정 동작이 취해질 수도 있다. 예를 들면, 모니터링 방법의 애플리케이션으로부터 응답을 수신받지 못하면, 메시지는 그 개체가 이용불가능하다는 것을 나타낼 수도 있다. 테스트에 대한 응답으로 에러가 반환되는 경우, 메시 지는 그 개체가 부적절하게 기능한다는 것을 나타낼 수도 있다. 이들 메시지는, 예를 들어 모니터링을 요청하는 분산 소비자 개체 및 분산 모니터링 개체가 등록되는 분산 발행 개체를 포함하는 여러 개체로 전송될 수도 있다. 또한, 수정 동작은 선택된 표준과의 매칭 테스트에 응답하여 프로그램 또는 프로세스를 실행시키는 것을 포함할 수도 있다. 예를 들면, 수정 동작은 표준 프로그램-결정 프로그램 또는 프로세스를 개시하는 것과, 충분한 정보를 포함하는 파라미터를 제공하여 테스트에 실패한 개체를 식별하는 것과, 실패한 테스트의 특성으로 이루어질 수도 있다. 분산 소비자 개체가 어떤 수정 방법을 시도하려고 하는 지를 아는 한 가지 방법은 그러한 경우에 무엇을 할 것인지에 대한 내부 정책을 조사하는 것이다. 분산 소비자 개체가 어떤 수정 방법을 시도하려고 하는 지를 아는 다른 방법은 분산 발행 개체로부터 수신한 테스 방법 정보와 함께 있는 정보를 찾아내는 것이다. 다른 수정 동작은 테스트 결과가 선택된 표준과 매칭되는 경우에, 분산 모니터링 개체에 대해 그 개체 내의 내부 교착 상태(deadlock)를 타개할 수 있는 액션을 취하는 것을 포함할 수도 있다. 내부 교착 상태를 타개하는 것과 관련하여, 분산 모니터링 개체가 실행되는 플랫폼에 요청을 보낼 수도 있다. 이 요청은 플랫폼이 일부 선택된 기간 동안 로크(lock)를 기다린 분산 모니터링 개체의 임의의 쓰레드를 종료시킬 것을 요구하는 요청일 수도 있다. 이 수정 동작을 개시하는 표준은 특정 실시에 바람직한 임의의 정책에 기초할 수도 있다.
블록 620을 다시 참조하면, 모니터링 방법에서 지정된 바와 같은 응답이 존재하는 경우에는, 전술한 바와 같이 프로세스는 블록 610으로 돌아간다. 다시 블 록 614로 돌아가서, 모니터링 방법이 테스트를 요구하지 않으면, 프로세스는 전술한 바와 같이 블록 610으로 돌아간다. 다시 블록 610을 참조하면, 협약이 종료되면, 프로세스는 종료한다.
도 7에는, 본 발명의 바람직한 실시예에 따른, 개체를 모니터링하기 위해 제 3측 분산 모니터링 개체에 의해 사용된 프로세스의 순서도가 도시되어 있다. 도 7에 도시된 프로세스는 도 5의 제 3측 분산 모니터링 개체(502)와 같은 제 3측 분산 모니터링 개체에서 구현될 수도 있다.
이 프로세스는 분산 발행 개체로 재등록하는 것에 의해 시작된다(블록 700). 블록 700에서, 제 3측 분산 모니터링 개체는 이 개체가 수행할 수도 있는 모니터링 동작에 대한 정보를 전송한다. 이 정보는 또한 모니터링될 수도 있는 특정 개체를 식별할 수도 있다. 그 후에, 프로세스는 요청을 기다린다(블록 702). 블록 702에서, 기다른 요청은 서비스를 제공하는 개체의 모니터링을 원하는 분산 소비자 개체로부터의 요청과 같은, 개체로부터의 요청이다. 특정 모니터링 방법으로 분산 모니터링 개체를 모니터링하기 위한 요청이 분산 소비자 개체로부터 수신된다(블록 704). 분산 소비자 개체와의 협약이 형성된다(블록 706). 이 협약은 현재 알려져 있거나 사용되고 있는 임의의 협상 프로토콜을 통해 이루어질 수도 있다. 예를 들면, 분산 소비자 개체는 표준 모니터링 협약 세트 중 하나를 제 3측 분산 모니터링 개체에 제안할 수도 있으며, 제 3측 분산 모니터링 개체는 이 제안을 수락할 수도 있다. 또는, 다양한 자동화된 협상 프로토콜 또는 당해 기술 분야에 공지된 다른 방법들에 의해 모니터링 협약이 형성될 수도 있다. 어느 경우든, 협약의 한 부분 으로서, 분산 소비자 개체는 분산 모니터링 개체의 요청 모니터링을 수행할 수 있도록 하는 충분한 정보를 제 3측 분산 모니터링 개체에게 제공할 것이다.
그 후, 협약이 종결되는 지에 대한 판정이 이루어진다(블록 708). 전술한 바와 같은 다양한 요인이 협약이 종결되도록 할 수도 있다. 가장 일반적인 요인은 통상 시간이다. 만약 협약이 종료되지 않으면, 분산 모니터링 개체에 대해 식별된 모니터링 방법이 테스트를 요구하는 지의 여부에 대한 판정이 이루어진다(블록 710). 모니터링 방법이 테스트를 요구하지 않으면, 테스트 요청이 분산 모니터링 개체로 전송되고 응답이 수신된다(블록 712).
그 다음에, 응답에서의 결과가 모니터링 방법에 지정된 바와 같은 지에 대한 판정이 이루어진다(블록 716). 만약 응답의 결과가 모니터링 방법에서 지정된 바와 같지 않으면, 통지가 분산 소비자 개체로 보내지고(블록 718) 프로세스는 블록 708로 돌아간다. 블록 716을 다시 참조하면, 응답 결과가 테스트 방법에서 지정된 바와 같다면, 프로세스는 블록 708로 돌아간다. 블록 710으로 다시 돌아가서, 모니터링 방법이 아직 테스트를 요청하지 않으면, 프로세스는 블록 708로 돌아간다. 다시 블록 708을 참조하면, 협약이 종결되면, 프로세스는 종료된다.
도 8에는 본 발명의 바람직한 실시예에 따른, 개체에 대한 발행 모니터링 방법에 사용된 데이터 구조가 도시되어 있다. 데이터 구조(800)는, 예를 들어 분산 소비자 개체 또는 제 3측 분산 모니터링 개체와 같은 개체에 정보를 제공하는데 사용될 수도 있다. 섹션(802)는 기본 기능을 올바르게 수행하는 지의 여부를 판정하기 위해 언어 번역 서비스 시에 수행될 수도 있는 동작 및 요소가 올바르게 그 기 본 기능을 수행하는 경우에 그 동작으로부터 수신될 응답을 설명하는 설명 라인을 포함한다. 섹션(804)은 특정 서비스 포트 유형의 웹 서비스 포트가 섹션(802)에 설명된 예상 응답 및 동작을 이용하여 테스트될 수도 있다는 사실을 나타내는 설명 라인을 포함한다.
종래 기술의 방법은 정상 WSDL 단편의 일부로서 섹션(802,804) 없이 데이터 구조(800)와 같은 데이터 구조를 전송한다. 본 발명은 섹션(802, 804)과 같은 정보를 추가하여 전술한 모니터링 메커니즘을 제공한다. 섹션(804)은 특정 동작을 이용하여 포트 타입이 테스트될 수도 있으며 그 동작에 응답하여 특정 메시지가 반환될 것으로 기대하는 표명(assertion)을 포함한다. 섹션(802)은 이 동작 및 응답을 정의한다. 섹션(802, 804)는 표준 WSDL 코딩이 되는 다른 부분을 갖는 WSDL에 대한 확장으로서 제공된다. 도 8에 도시된 예는 XML(extensible markup language)을 사용한다. 이 예는 일례일 뿐으로, 이 특정 포맷으로 본 발명을 제한하고자 하는 것은 아니다. 특정 실시에 따라서 다른 포맷이 사용될 수도 있다.
따라서, 본 발명은 자동 컴퓨터 시스템에서 개체를 식별하고 모니터링하기 위해 정보를 발행하고 제공하는 개선된 방법, 장치 및 컴퓨터 인스트럭션을 제공한다. 이 메커니즘은 SWDL 또는 UDDI와 같은 표준 언어를 사용하여, 본 발명의 메커니즘으로 등록된 특정 개체에 사용될 수도 있는 모니터링 방법에 대한 정보를 제공하거나 발행한다. 이런 방식으로, 분산 소비자 개체와 같은 클라이언트는 원하는 서비스를 제공할 수 있는 개체의 식별자를 요청 및 수신할 수도 있다. 서비스의 식별 외에, 본 발명의 메커니즘은 서비스를 제공하는 개체가 그 개체가 클라이언트 에 의해 요구된 서비스를 제공할 수 있음을 확인하기 위해 어떻게 모니터링되는 지를 나타내는 정보를 제공한다. 이 정보에 의해, 클라이언트는 서비스를 모니터링할 수 있으며, 모니터링 결과 개체가 요구된 방식으로 기능할 수 없다는 것을 나타내는 경우에 수정 동작을 취할 수 있다.
본 발명은 완벽하게 기능하는 데이터 처리 시스템에 대하여 기술하였지만, 당업자들은 본 발명의 프로세스가 컴퓨터 판독가능한 인스트럭션의 매체의 형태 및 다양한 형태로 배포될 수 있으며, 본 발명은 배포를 수행하는데 실제로 사용된 특정 유형의 신호 보유 매체에 관계없이 동등하게 적용된다는 것을 알 수 있을 것이다. 컴퓨터 판독가능한 매체의 예로는, 플로피 디스크, 하드 디스크 드라이브, RAM, CD-ROM, DVD-ROM 및 디지털 및 아날로그 통신 링크, 무선 주파수 및 광파 전송과 같은 전송 형태를 이용하는 유선 또는 무선 통신 링크와 같은 전송 유형의 매체가 있다. 컴퓨터 판독가능한 매체는 특정 데이터 처리 시스템에서 실제로 사용하기 위해 디코딩되는 코딩된 포맷의 형태를 취할 수도 있다.
본 발명의 설명은 예시 및 설명을 위해 제시되었으며, 본 발명을 개시된 형태로 제한하고자 하는 것은 아니다. 당업자에게 자명한 많은 수정 및 변형예가 있을 수 있다. 실시예는 본 발명의 원리 및 실제 적용을 가장 잘 설명하기 위해 그리고 특별한 사용을 위해 적합한 다양한 변형예를 갖는 다양한 실시예에 대해 당업자들이 본 발명을 이해할 수 있도록 선택하여 설명하였다.
본 발명은 분산 데이터 처리 시스템에서의 테스팅을 제공하는 방법 및 컴퓨터 판독가능 기록매체를 보다 효과적으로 제공할 수 있다.

Claims (10)

  1. 분산 데이터 처리 시스템에서의 테스트 방법에 있어서,
    선택된 서비스의 정보에 대한 클라이언트로부터의 요청에 응답하여, 상기 선택된 서비스를 제공하는 등록된 개체를 식별하는 단계와,
    상기 클라이언트에게 응답을 전송하는 단계를 포함하며,
    상기 응답은, 상기 선택된 서비스를 제공하는 상기 등록된 개체를 식별하는 정보 및 상기 개체에 대한 모니터링 방법을 포함하고, 상기 정보는 컴퓨터 판독가능한 포맷이며, 그리고 상기 정보는 상기 클라이언트가 상기 선택된 서비스를 제공하는 상기 등록된 개체를 모니터링하도록 허용하는
    테스트 방법.
  2. 제 1 항에 있어서,
    상기 식별하는 단계 및 전송하는 단계는, 상기 등록된 개체와 분산 발행 개체 중 적어도 하나에서 수행되는
    테스트 방법.
  3. 제 1 항에 있어서,
    상기 등록된 개체로부터 상기 선택된 서비스를 등록시키기 위한 요청을 수신하는 단계로서, 상기 요청은 상기 선택된 서비스에 대한 정보 및 상기 등록된 개체가 상기 선택된 서비스의 적절한 동작을 위해 어떻게 모니터링될 수 있는 지에 대한 정보를 포함하는, 단계와,
    상기 요청을 수신하는 것에 응답하여, 상기 선택된 서비스를 등록시키는 단계를 더 포함하되,
    상기 선택된 서비스를 제공하는 상기 등록된 개체는 상기 클라이언트로부터의 상기 요청에 응답하여 식별될 수도 있는
    테스트 방법.
  4. 제 1 항에 있어서,
    상기 클라이언트는 상기 선택된 서비스를 제공하는 상기 등록된 개체인
    테스트 방법.
  5. 제 1 항에 있어서,
    등록된 개체에 대한 모니터링 정보를 저장하는 단계를 더 포함하는
    테스트 방법.
  6. 제 1 항에 있어서,
    모니터링 정보는 현재 모니터링되는 등록된 개체, 이전에 모니터링된 등록된 개체 및 모니터링될 것으로 예상되는 등록된 개체 중 적어도 하나를 포함하는
    테스트 방법.
  7. 제 1 항에 있어서,
    모니터링 정보에 대한 상기 클라이언트로부터의 요청에 응답하여 상기 클라이언트에게 상기 모니터링 정보를 전송하는 단계를 더 포함하는
    테스트 방법.
  8. 제 1 항에 있어서,
    상기 모니터링 방법은, 상기 등록된 개체 내의 모니터링 인터페이스의 식별, 응답이 상기 등록된 개체가 올바르게 기능한다는 것을 나타내는 상기 모니터링 인터페이스로 요청을 보내는 것, 응답이 상기 등록된 개체 내의 적어도 하나의 서비스가 올바르게 기능한다는 것을 나타내는 상기 모니터링 인터페이스로 요청을 보내는 것, 선택된 에러가 예상되는 상기 등록된 개체로 무효 요청을 보내는 것, 데이터의 패턴에 응답하여 특정 패턴이 예상되는 상기 등록된 개체 내의 포트로 데이터 의 패턴을 보내는 것, 선택된 기간 내에 상기 등록된 개체가 올바르게 기능한다는 것을 나타내는 응답이 예상되는 상기 등록된 개체로 요청을 보내는 것, 프로그램, PERL 스크립트, RMI 클라이언트, RMI 스터브(stub) 및 이진 실행(binary executable) 중 적어도 하나를 포함하는
    테스트 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 따른 방법을 수행하는 수단을 포함하는,
    데이터 처리 시스템.
  10. 분산 데이터 처리 시스템에서의 테스트 방법을 제공하는 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 기록 매체로서,
    상기 컴퓨터 프로그램은,
    선택된 서비스의 정보에 대한 클라이언트로부터의 요청에 응답하여, 상기 선택된 서비스를 제공하는 등록된 개체를 식별하는 제 1 인스트럭션과,
    상기 클라이언트에게 응답을 전송하는 제 2 인스트럭션을 포함하며,
    상기 응답은, 상기 선택된 서비스를 제공하는 상기 등록된 개체를 식별하는 정보 및 상기 개체에 대한 모니터링 방법을 포함하고, 상기 정보는 컴퓨터 판독가 능한 포맷이며, 그리고 상기 정보는 상기 클라이언트가 상기 선택된 서비스를 제공하는 상기 등록된 개체를 모니터링하도록 허용하는
    컴퓨터 판독가능 기록 매체.
KR1020077001800A 2002-09-20 2003-09-12 분산 데이터 처리 시스템에서의 테스트 방법, 데이터 처리시스템 및 컴퓨터 판독가능 기록 매체 KR100800353B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/252,816 US7043419B2 (en) 2002-09-20 2002-09-20 Method and apparatus for publishing and monitoring entities providing services in a distributed data processing system
US10/252,816 2002-09-20

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020057004848A Division KR100773016B1 (ko) 2002-09-20 2003-09-12 데이터 처리 시스템, 테스트 방법, 모니터링 방법, 네트워크 데이터 처리 시스템, 데이터 처리 시스템 및 기록 매체

Publications (2)

Publication Number Publication Date
KR20070029818A true KR20070029818A (ko) 2007-03-14
KR100800353B1 KR100800353B1 (ko) 2008-02-04

Family

ID=31993022

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020077001800A KR100800353B1 (ko) 2002-09-20 2003-09-12 분산 데이터 처리 시스템에서의 테스트 방법, 데이터 처리시스템 및 컴퓨터 판독가능 기록 매체
KR1020057004848A KR100773016B1 (ko) 2002-09-20 2003-09-12 데이터 처리 시스템, 테스트 방법, 모니터링 방법, 네트워크 데이터 처리 시스템, 데이터 처리 시스템 및 기록 매체

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020057004848A KR100773016B1 (ko) 2002-09-20 2003-09-12 데이터 처리 시스템, 테스트 방법, 모니터링 방법, 네트워크 데이터 처리 시스템, 데이터 처리 시스템 및 기록 매체

Country Status (8)

Country Link
US (2) US7043419B2 (ko)
EP (1) EP1540500A4 (ko)
JP (1) JP4410679B2 (ko)
KR (2) KR100800353B1 (ko)
CN (1) CN100555269C (ko)
AU (1) AU2003267180A1 (ko)
CA (2) CA2498048C (ko)
WO (1) WO2004027553A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101415528B1 (ko) * 2012-10-30 2014-07-04 한국과학기술정보연구원 분산된 시스템을 위한 데이터 오류 처리 장치 및 방법
KR20190012080A (ko) * 2017-07-26 2019-02-08 한전케이디엔주식회사 데이터 분산 서비스를 이용한 응용프로그램 원격 테스트 장치

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856942B2 (en) * 2002-03-09 2005-02-15 Katrina Garnett System, method and model for autonomic management of enterprise applications
US7165241B2 (en) * 2002-11-26 2007-01-16 Sun Microsystems, Inc. Mechanism for testing execution of applets with plug-ins and applications
US7209961B2 (en) * 2002-12-26 2007-04-24 Lenovo (Singapore) Pte, Ltd. Autonomic context-dependent computer management
EP1614253A2 (en) * 2003-04-04 2006-01-11 Computer Associates Think, Inc. Method and system for management and configuration of remote agents
DE112004001066D2 (de) * 2003-04-09 2006-05-24 Siemens Ag Verfahren und System zur Versorgung von mehreren Service-Diensleistern mit technischen Servicegeräten
US7912938B2 (en) * 2003-04-11 2011-03-22 Hewlett-Packard Development Company, L.P. Correlation of web service interactions in composite web services
US8291061B2 (en) * 2003-10-08 2012-10-16 Hewlett-Packard Development Company, L.P. Method and system for business-oriented web services management
US20050081118A1 (en) * 2003-10-10 2005-04-14 International Business Machines Corporation; System and method of generating trouble tickets to document computer failures
US20050125281A1 (en) * 2003-12-09 2005-06-09 Henrickson David L. Scheme leveraging knowledge gained of a customer's computer system to suggest possible products and services of interest
US20050125389A1 (en) * 2003-12-09 2005-06-09 Electronic Data Systems Corporation Providing access to a service using a service engine
US7676562B2 (en) * 2004-01-20 2010-03-09 Microsoft Corporation Computer system for accessing instrumentation information
GB2416872A (en) * 2004-07-30 2006-02-08 Canon Kk System for managing tasks on a network by using a service discover, a task manager and a service publisher
JP2006077151A (ja) * 2004-09-10 2006-03-23 Fuji Photo Film Co Ltd 液晶組成物および液晶素子
US20060230133A1 (en) * 2005-03-24 2006-10-12 International Business Machines Corporation On demand problem determination based on remote autonomic modification of web application server operating characteristics
US7743001B1 (en) 2005-06-21 2010-06-22 Amazon Technologies, Inc. Method and system for dynamic pricing of web services utilization
US8156208B2 (en) 2005-11-21 2012-04-10 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for service-to-device re-mapping for smart items
US8005879B2 (en) * 2005-11-21 2011-08-23 Sap Ag Service-to-device re-mapping for smart items
US20070118496A1 (en) * 2005-11-21 2007-05-24 Christof Bornhoevd Service-to-device mapping for smart items
US7860968B2 (en) * 2005-11-21 2010-12-28 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for smart items
US8522341B2 (en) * 2006-03-31 2013-08-27 Sap Ag Active intervention in service-to-device mapping for smart items
US8296413B2 (en) * 2006-05-31 2012-10-23 Sap Ag Device registration in a hierarchical monitor service
US8131838B2 (en) 2006-05-31 2012-03-06 Sap Ag Modular monitor service for smart item monitoring
US8065411B2 (en) * 2006-05-31 2011-11-22 Sap Ag System monitor for networks of nodes
US8352917B2 (en) * 2006-06-26 2013-01-08 Adobe Systems Incorporated Web-beacon plug-ins and their certification
US7992135B1 (en) * 2006-06-26 2011-08-02 Adobe Systems Incorporated Certification of server-side partner plug-ins for analytics and privacy protection
US8396788B2 (en) * 2006-07-31 2013-03-12 Sap Ag Cost-based deployment of components in smart item environments
US20080244012A1 (en) * 2007-03-30 2008-10-02 International Business Machines Corporation Instant messaging with reduced message overhead
US20090327423A1 (en) * 2007-05-18 2009-12-31 Alexander Puschkin Communication method and communication system
US8527622B2 (en) * 2007-10-12 2013-09-03 Sap Ag Fault tolerance framework for networks of nodes
US20090132954A1 (en) * 2007-11-20 2009-05-21 Honeywell International Inc. Apparatus and method for isolating problems in content loaded into a human-machine interface application
US7930372B2 (en) * 2008-04-01 2011-04-19 International Business Machines Corporation Staged integration of distributed system and publishing of remote services
US8312384B2 (en) * 2008-06-11 2012-11-13 Honeywell International Inc. Apparatus and method for fault-tolerant presentation of multiple graphical displays in a process control system
CN102148725A (zh) * 2011-03-21 2011-08-10 中兴通讯股份有限公司 一种aaa服务器服务状态检测方法及系统
CN103927157A (zh) * 2013-05-16 2014-07-16 河北省健海生物芯片技术有限责任公司 构建分布式计算系统实体方法
CN113342859B (zh) * 2021-06-29 2023-08-15 北京奇艺世纪科技有限公司 一种信息处理方法、装置及电子设备

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4305522C2 (de) * 1993-02-17 1996-03-28 Daimler Benz Ag Einrichtung zur rechnergestützten Diagnose eines aus Modulen bestehenden technischen Systems
CA2119085C (en) * 1994-03-15 2002-01-15 Deborah L. Pinard Adaptive communication system
US5701400A (en) * 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US5909544A (en) * 1995-08-23 1999-06-01 Novell Inc. Automated test harness
GB9519678D0 (en) * 1995-09-27 1995-11-29 Philips Electronics Nv Behaviour prediction
US6463446B1 (en) * 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6026374A (en) * 1996-05-30 2000-02-15 International Business Machines Corporation System and method for generating trusted descriptions of information products
US5790789A (en) * 1996-08-02 1998-08-04 Suarez; Larry Method and architecture for the creation, control and deployment of services within a distributed computer environment
US6031990A (en) * 1997-04-15 2000-02-29 Compuware Corporation Computer software testing management
US6055562A (en) * 1997-05-01 2000-04-25 International Business Machines Corporation Dynamic mobile agents
US5935264A (en) * 1997-06-10 1999-08-10 Micron Technology, Inc. Method and apparatus for determining a set of tests for integrated circuit testing
GB9716142D0 (en) * 1997-08-01 1997-10-08 Philips Electronics Nv Extending battery life in electronic apparatus
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems
US6125359A (en) * 1997-09-23 2000-09-26 Unisys Corporation Method and apparatus for identifying the coverage of a test sequence in a rules-based expert system
US6256771B1 (en) * 1997-10-16 2001-07-03 At&T Corp. Method and apparatus for providing a dynamic service composition software architecture
US6286131B1 (en) * 1997-12-03 2001-09-04 Microsoft Corporation Debugging tool for linguistic applications
KR100249797B1 (ko) 1997-12-09 2000-03-15 정선종 알피씨 기반 분산처리 프로그램의 통신 이벤트/메시지 추적 방법
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6216173B1 (en) * 1998-02-03 2001-04-10 Redbox Technologies Limited Method and apparatus for content processing and routing
US6023586A (en) * 1998-02-10 2000-02-08 Novell, Inc. Integrity verifying and correcting software
DE19810814B4 (de) * 1998-03-12 2004-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US6182245B1 (en) * 1998-08-31 2001-01-30 Lsi Logic Corporation Software test case client/server system and method
US6622157B1 (en) * 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
JP2002526908A (ja) * 1998-09-30 2002-08-20 ケイデンス デザイン システムズ インコーポレイテッド ブロックをベースとする設計方法
US6145000A (en) * 1998-10-06 2000-11-07 Ameritech Corporation System and method for creating and navigating a linear hypermedia resource program
US6851115B1 (en) * 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US6353897B1 (en) * 1999-01-06 2002-03-05 International Business Machines Corporation Object oriented apparatus and method for testing object oriented software
US6947797B2 (en) * 1999-04-02 2005-09-20 General Electric Company Method and system for diagnosing machine malfunctions
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6529950B1 (en) * 1999-06-17 2003-03-04 International Business Machines Corporation Policy-based multivariate application-level QoS negotiation for multimedia services
US6467088B1 (en) * 1999-06-30 2002-10-15 Koninklijke Philips Electronics N.V. Reconfiguration manager for controlling upgrades of electronic devices
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US7103647B2 (en) * 1999-08-23 2006-09-05 Terraspring, Inc. Symbolic definition of a computer system
US6584455B1 (en) * 1999-12-14 2003-06-24 International Business Machines Corporation System and method for predicting design errors in integrated circuits
US6834341B1 (en) * 2000-02-22 2004-12-21 Microsoft Corporation Authentication methods and systems for accessing networks, authentication methods and systems for accessing the internet
US6691244B1 (en) * 2000-03-14 2004-02-10 Sun Microsystems, Inc. System and method for comprehensive availability management in a high-availability computer system
US6970869B1 (en) * 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US6912532B2 (en) * 2000-05-22 2005-06-28 Benjamin H. Andersen Multi-level multiplexor system for networked browser
US7496637B2 (en) * 2000-05-31 2009-02-24 Oracle International Corp. Web service syndication system
US6990660B2 (en) * 2000-09-22 2006-01-24 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US20040236843A1 (en) * 2001-11-15 2004-11-25 Robert Wing Online diagnosing of computer hardware and software
US20030046615A1 (en) * 2000-12-22 2003-03-06 Alan Stone System and method for adaptive reliability balancing in distributed programming networks
US6631367B2 (en) * 2000-12-28 2003-10-07 Intel Corporation Method and apparatus to search for information
US20020087668A1 (en) * 2000-12-29 2002-07-04 San Martin Raul S. Automatic upgrade of live network devices
US6804709B2 (en) * 2001-02-20 2004-10-12 Microsoft Corporation System uses test controller to match different combination configuration capabilities of servers and clients and assign test cases for implementing distributed testing
US6982960B2 (en) * 2001-03-09 2006-01-03 Motorola, Inc. Protocol for self-organizing network using a logical spanning tree backbone
US7249100B2 (en) 2001-05-15 2007-07-24 Nokia Corporation Service discovery access to user location
JP3828379B2 (ja) * 2001-05-17 2006-10-04 富士通株式会社 テスト仕様生成支援装置、方法、プログラム及び記録媒体
US20030023710A1 (en) * 2001-05-24 2003-01-30 Andrew Corlett Network metric system
US7185342B1 (en) * 2001-07-24 2007-02-27 Oracle International Corporation Distributed service aggregation and composition
US7412502B2 (en) * 2002-04-18 2008-08-12 International Business Machines Corporation Graphics for end to end component mapping and problem-solving in a network environment
US7165074B2 (en) * 2002-05-08 2007-01-16 Sun Microsystems, Inc. Software development test case analyzer and optimizer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101415528B1 (ko) * 2012-10-30 2014-07-04 한국과학기술정보연구원 분산된 시스템을 위한 데이터 오류 처리 장치 및 방법
KR20190012080A (ko) * 2017-07-26 2019-02-08 한전케이디엔주식회사 데이터 분산 서비스를 이용한 응용프로그램 원격 테스트 장치

Also Published As

Publication number Publication date
WO2004027553A3 (en) 2004-06-24
US7043419B2 (en) 2006-05-09
US20040059810A1 (en) 2004-03-25
CA2498048A1 (en) 2004-04-01
AU2003267180A8 (en) 2004-04-08
EP1540500A4 (en) 2008-03-26
KR100773016B1 (ko) 2007-11-05
KR100800353B1 (ko) 2008-02-04
CN100555269C (zh) 2009-10-28
US20050283484A1 (en) 2005-12-22
CN1682211A (zh) 2005-10-12
WO2004027553A2 (en) 2004-04-01
AU2003267180A1 (en) 2004-04-08
JP4410679B2 (ja) 2010-02-03
CA2498048C (en) 2009-10-06
CA2664983A1 (en) 2004-04-01
JP2006500656A (ja) 2006-01-05
EP1540500A2 (en) 2005-06-15
KR20050084820A (ko) 2005-08-29

Similar Documents

Publication Publication Date Title
KR100800353B1 (ko) 분산 데이터 처리 시스템에서의 테스트 방법, 데이터 처리시스템 및 컴퓨터 판독가능 기록 매체
US10158541B2 (en) Group server performance correction via actions to server subset
US7496622B2 (en) Alternative registry lookup of web services
KR100359366B1 (ko) 자각-개시 푸시를 제공하기 위한 방법 및 장치
US9369521B2 (en) Naming of distributed business transactions
CN108681777B (zh) 一种基于分布式系统的机器学习程序运行的方法和装置
JP2005538459A (ja) 分散システム内の根本原因識別および問題判定のための方法および装置
KR20050009752A (ko) 상거래 파이프라인 분해 방법 및 시스템
US7793113B2 (en) Guaranteed deployment of applications to nodes in an enterprise
WO2002017065A2 (en) Apparatus and method for use in a computer hosting services environment
CN110324209B (zh) 微服务系统监控方法、装置、电子设备及计算机可读介质
US20050076325A1 (en) Automatic software update of nodes in a network data processing system
CN110546615A (zh) 超动态java管理扩展
JP2007518172A (ja) トランザクションをサポートするための方法および装置
US20060230263A1 (en) Method and apparatus to guarantee configuration settings in remote data processing systems
US20120096536A1 (en) Data Security System
US7206977B2 (en) Intelligent self-configurable adapter
US20060095561A1 (en) Method and apparatus to correlate system management information using instant messaging facilities
US7558770B2 (en) Method and system to detect application non-conformance
US9858549B2 (en) Business transaction resource usage tracking
CN113778780A (zh) 应用稳定性的确定方法、装置、电子设备和存储介质
US20040030789A1 (en) System and method for testing a protocol
US20070168442A1 (en) Method and apparatus for managing a system using an instant messaging personality
Johnston IBM announces system management software
Moreno Guarantee application and system performance for data centers

Legal Events

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

Payment date: 20101210

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee