JP2006500656A - 分散データ処理システムにおいてサービスを提供するエンティティを公開し、モニターするための方法及び装置 - Google Patents

分散データ処理システムにおいてサービスを提供するエンティティを公開し、モニターするための方法及び装置 Download PDF

Info

Publication number
JP2006500656A
JP2006500656A JP2004537790A JP2004537790A JP2006500656A JP 2006500656 A JP2006500656 A JP 2006500656A JP 2004537790 A JP2004537790 A JP 2004537790A JP 2004537790 A JP2004537790 A JP 2004537790A JP 2006500656 A JP2006500656 A JP 2006500656A
Authority
JP
Japan
Prior art keywords
entity
distributed
monitoring
data processing
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004537790A
Other languages
English (en)
Other versions
JP2006500656A5 (ja
JP4410679B2 (ja
Inventor
チェス、デビッド
スニブル、エドワード
ホエーリー、イアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006500656A publication Critical patent/JP2006500656A/ja
Publication of JP2006500656A5 publication Critical patent/JP2006500656A5/ja
Application granted granted Critical
Publication of JP4410679B2 publication Critical patent/JP4410679B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/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
    • 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
    • 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (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)を標準的な言語で公開する1つ又はそれ以上の分散公開エンティティ(400、402、404)を含む。これらの告知(800)は、1つ又はそれ以上の分散モニター対象エンティティ(400、402、404)の動作をモニターするのに用いることができるモニター方法(802)の記述を含むことができる。これらの告知は、分散モニター対象エンティティ(400)が自分自身の動作をモニターするために用いるか、又は該分散モニター対象エンティティ(400)の動作をモニターするために分散消費者エンティティが用いることができるモニター方法(802)を特定するのに用いられる情報を含むこともできる。モニターは、サード・パーティ分散モニター・エンティティ(400)が実行することもできる。

Description

本発明は、一般に、改善された分散データ処理システムに関し、具体的には、分散データ処理システムにおけるエンティティをモニターするための方法及び装置に関する。さらにより具体的には、本発明は、ネットワーク・データ処理システムにおいてサービスを提供するエンティティを特定し、モニターするための方法及び装置を提供する。
近年のコンピュータ技術が、非常に複雑で絶え間なく変わり続ける環境をもたらした。こうした環境の1つは、「インターネットワーク」とも呼ばれるインターネットである。インターネットは、データ転送と、送信ネットワークのプロトコルから受信ネットワークによって用いられるプロトコルへのメッセージ変換とを処理するゲートウェイによって相互に結合された、異なるものであってよい、1組のコンピュータ・ネットワークである。「インターネット」という用語を用いる場合、この用語は、TCP/IPプロトコル・スイートを用いるネットワーク及びゲートウェイの集合を指す。現在、インターネット上でデータを転送するのに利用される最も一般的な方法は、単に「ウェブ」とも呼ばれるワールド・ワイド・ウェブ環境を利用するものである。情報を転送するために、ファイル転送プロトコル(FTP)及びGopherなどの他のインターネット・リソースが存在するが、これらはウェブほど普及しなかった。ウェブ環境においては、サーバ及びクライアントが、様々なデータ・ファイル(例えば、テキスト、静止グラフィック画像、音声、動画ビデオなど)の転送を処理するための既知のプロトコルであるハイパーテキスト転送プロトコル(HTTP)を用いて、データ・トランザクションを行う。様々なデータ・ファイルの情報は、ユーザに提示するために、標準的なページ記述言語によって書式設定される。インターネットはまた、ブラウザを用いてアプリケーションをユーザに転送するのに広く用いられる。多くの場合、ソフトウェア・パッケージのユーザは、これらのソフトウェア・パッケージの更新版をインターネット経由で検索し、取得することができる。
他のタイプの複雑なネットワーク・データ処理システムとして、大企業の仕事を容易にするために作成されるシステムが挙げられる。多くの場合、こうしたネットワークは、世界の様々な場所において地域を越えて広がることになる。こうした複雑なネットワークも、事業を行うための仮想プライベート・ネットワークの一部として、インターネットを用いることができる。ネットワーク内部で用いられるソフトウェアを管理し、更新する必要性により、こうしたネットワークがさらに複雑なものになる。多くの場合、異なるネットワーク・データ処理システム間の相互作用は、異なるトランザクションを円滑に進めるように発生する。こうしたトランザクションとして、例えば、備品、部品、及びサービスの購入及び供給が挙げられる。トランザクションは、単一の企業内又は異なる企業間で発生する場合がある。
こうした環境は、緩やかに結びついた多くのソフトウェア・コンポーネントで構成される。これらのソフトウェア・コンポーネントは、「エンティティ」とも呼ばれる。近年の複雑なネットワーク・データ処理システムにおいては、特定の実行処理又は特定のサービスといった別のエンティティの動作をテスト又はモニターする必要性が生じる多くの状況が存在する。現在は、人間のオペレータが、重要なシステム・サービスなどのエンティティの適切な機能をテスト及びモニターして、これらのエンティティの障害及び故障を検出し、修正しなければならない。あるサービスが、その正しい機能について他のサービスに依存することが多い。この場合、こうした他のサービスが正しく機能していないときには措置を講じるか又は警報を発するために、該サービスが正しく機能しているかどうかを判断することが重要である。例えば、備品をオーダーするために用いられる購買エンティティが、まれに、選択されたコンポーネントを特定のプロバイダから要求することがある。このコンポーネントはほとんど必要とされることはないが、必要性が生じたときには迅速に該コンポーネントを取得できることが必要である。プロバイダがそのインベントリを変更してコンポーネントを提供できなくなったか、又は、プロバイダでオーダーを生成するのに用いられるオーダー・エンティティが利用不可能になった場合には、購買エンティティが別のサービスを探し出せることがきわめて重要である。現在は、オーダー・エンティティが正しく機能しているかどうかを判断するために、人間のオペレータが、該オーダー・エンティティをテストする処理を特定することが必要である。この例においては、オーダー・エンティティが、インベントリの中で利用可能な選択されたコンポーネントを提供した場合には、該オーダー・エンティティは正しく機能している。この処理を特定した後、人間のオペレータは、オーダー・エンティティをモニターしなければならない。
現在は、コンピュータ・エンティティのテスト及びモニターは、主として場当たり的に行われる。特定のサービスをモニターすることが必要な人間のオペレータは、そのサービスについてのモニター・プログラムを作成するか、又は、モニターを実行するために他人が作成したこのようなプログラムを手動で検索することになる。モニター・プログラムは、手動で配置及び設定され、人間のオペレータは、その出力を手動で検査する。場合によっては、人間のオペレータは、問題が検出されたときにサービスを再起動するといった幾つかの措置を自動的に行うシェルに、モニター・プログラムをラップすることができる。
IBM Tivoli Enterprise Consoleなどの既存の保守管理ツールは、多数の異なるエンティティからの、検出された障害及び生成された警報を含むモニター・ステータス及びテスト結果を表示し、一定の警報が生じた場合に自動的にとられなければならない措置を管理者が指定することを可能にする管理コンソールなどの機能を含む。IBM Tivoli Enterprise Consoleは、International Business Machines Corporationから入手可能である。Simple Network Management Protocol(SNMP)などの規格は、警報及び他のシステム・イベントをエンティティ間で通信するための十分に裏づけされた方法を規定するものである。最新のコンピュータ・システムには、ハードウェア及びソフトウェアともに、テスト容易性を考慮して設計されるものもあり、正規の製造者か、1つ又はそれ以上のサード・パーティのいずれかが、特定の製品をテストするための特定のテスト・ツール又はアルゴリズムを提供する場合もある。
これらのタイプの保守管理ツールを用いる場合であっても、人間のオペレータが、こうしたエンティティをモニターするのに用いられることになるエンティティ及び方法を特定することが必要である。こうしたシステムは、時間のかかるものであり、サービスをどのようにモニターすべきかを特定するのに広範囲に及ぶ調査を必要とする場合が多い。したがって、サービスを提供するエンティティを特定し、モニターするための改善された方法、装置、及びコンピュータ命令を有することが有利であろう。
本発明は、エンティティの特定及びモニターを行うための方法、装置、及びコンピュータ命令を提供するものである。分散データ処理システムが、コンピュータ読取可能な告知を標準的な言語で公開する1つ又はそれ以上の分散公開エンティティを含む。これらの告知には、1つ又はそれ以上の分散モニター対象エンティティの動作をモニターするのに用いることができるモニター方法の記述を含むことができる。これらの告知には、分散モニター対象エンティティが自分自身の動作をモニターするために用いるか、又は該分散モニター対象エンティティの動作をモニターするために分散消費者エンティティが用いることができるモニター方法を特定するのに用いられる情報を含むこともできる。モニターは、サード・パーティ分散モニター・エンティティが実行することもできる。
本発明の特質であると考えられる新規な特徴は、添付の特許請求の範囲に記述される。しかしながら、発明自体並びにその好ましい使用形態、さらなる目的、及び利点は、添付図面と共に読んだときに、以下の例示的な実施形態の詳細な説明を参照して、最も良く理解されるであろう。
ここで図面を参照すると、図1は、本発明を実装することができるデータ処理システムのネットワークの図形表示を示す。ネットワーク・データ処理システム100は、本発明を実装することができるコンピュータのネットワークである。ネットワーク・データ処理システム100は、該ネットワーク・データ処理システム100内で相互に接続される様々な装置及びコンピュータ間の通信リンクを提供するのに用いられる媒体であるネットワーク102を含む。ネットワーク102は、ワイヤ、ワイヤレス通信リンク、又は光ファイバ・ケーブルなどの接続を含むことができる。
示された例においては、サーバ104が、ストレージ・ユニット106と共にネットワーク102に接続される。さらに、クライアント108、110、及び112が、ネットワーク102に接続される。これらのクライアント108、110、及び112は、例えばパーソナル・コンピュータ又はネットワーク・コンピュータとすることができる。図示された例においては、サーバ104は、ブート・ファイル、オペレーティング・システム・イメージ、及びアプリケーションなどのデータをクライアント108、110、及び112に与えるものである。クライアント108、110、及び112は、サーバ104に対するクライアントである。ネットワーク・データ処理システム100には、示されていない付加的なサーバ、クライアント、及び他の装置を含んでもよい。サーバ104及びクライアント108〜112は、ネットワーク102を介して相互に通信を行うことができる異なる分散エンティティを含むことができる。「分散エンティティ」は、自律型要素、エージェント、ブローカ、統合事業者、モニター、消費者、供給者、販売者、及び仲介者を含むがこれらに制限されるものではない機能を実行することができる、ネットワーク・データ処理システムにおける何らかの実体である。
図示された例においては、ネットワーク・データ処理システム100は、Transmission Control Protocol/Internet Protocol(TCP/IP)プロトコル・スイートを用いて相互に通信を行うネットワーク及びゲートウェイの世界的な集合を表すネットワーク102を持つインターネットである。インターネットの中心には、データ及びメッセージ送付する何千もの商用コンピュータ・システム、政府系コンピュータ・システム、教育用コンピュータ・システム、及び他のコンピュータ・システムで構成されるメジャー・ノード又はホスト・コンピュータ間の高速データ通信線のバックボーンがある。当然のことながら、ネットワーク・データ処理システム100は、例えばインターネット、ローカル・エリア・ネットワーク(LAN)、又は広域ネットワーク(WAN)などの、多数の異なるタイプのネットワークとして実装することもできる。図1は、一例を表すものであり、本発明についてのアーキテクチャ面の制限として意図されるものではない。本発明の機構は、異なるデータ処理システムを含む、相互に通信を行うあらゆるネットワーク・データ処理システムに実装することができる。
図2を参照すると、本発明の好ましい実施形態にしたがって、図1のサーバ104などのサーバとして実装することができるデータ処理システムのブロック・ダイアグラムが示される。データ処理システム200は、システム・バス206に接続された複数のプロセッサ202及び204を含む単一システム又は対称型マルチプロセッサ・システム(SMP)とすることができる。代替的に、シングル・プロセッサ・システムを使用することもできる。システム・バス206には、ローカル・メモリ209とのインターフェースになるメモリ・コントローラ/キャッシュ208も接続される。I/Oバス・ブリッジ210が、システム・バス206に接続され、I/Oバス212とのインターフェースになる。メモリ・コントローラ/キャッシュ208及びI/Oバス・ブリッジ210は、図示されるように一体化することができる。
I/Oバス212に接続されたペリフェラル・コンポーネント・インターコネクト(PCI)バス・ブリッジ214が、PCIローカル・バス216とのインターフェースになる。PCIローカル・バス216には、多数のモデムを接続することができる。典型的なPCIバス実装は、4つのPCI拡張スロット又はアドイン・コネクタをサポートするものである。図1のクライアント108〜112との通信リンクは、アドイン・ボードを介してPCIローカル・バス216に接続されたモデム218及びネットワーク・アダプタ220によって構成することができる。
付加的なPCIバス・ブリッジ222及び224が、付加的なモデム又はネットワーク・アダプタをサポートすることができる付加的なPCIローカル・バス226及び228のためのインターフェースになる。このようにして、データ処理システム200は、多数のネットワーク・コンピュータとの接続が可能になる。図示されるように、メモリ・マップ・グラフィックス・アダプタ230及びハード・ディスク232も、直接的に又は間接的に、I/Oバス212に接続することができる。
当業者であれば、図2に示されたハードウェアは変更できることを理解するであろう。例えば、図示されたハードウェアに加えて、又はそれらに代えて、光ディスク・ドライブなどといった他の周辺装置を用いることもできる。図示された例は、本発明についてのアーキテクチャ面での制限を意味することを意図するものではない。図2に示されたデータ処理システムは、例えば、拡張対話式エグゼクティブ(AIX)オペレーティング・システム又はLINUX(R)オペレーティング・システムが作動する、ニューヨーク州アーモンクのInternational Business Machines Corporationの製品であるIBM eServer pSeriesシステムとすることができる。
ここで図3を参照すると、本発明を実装することができるデータ処理システムを説明するブロック・ダイアグラムが示される。データ処理システム300は、図1のクライアント108などのクライアント・コンピュータの例である。
データ処理システム300は、ペリフェラル・コンポーネント・インターコネクト(PCI)ローカル・バス・アーキテクチャを利用する。図示された例はPCIバスを利用するものであるが、Accelerated Graphics 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の接続を提供する。小型コンピュータ・システム・インターフェース(SCSI)ホスト・バス・アダプタ312は、ハード・ディスク・ドライブ326、テープ・ドライブ328、及びCD−ROMドライブ330の接続を提供する。典型的なPCIローカル・バス実装は、3つ又は4つのPCI拡張スロット又はアドイン・コネクタをサポートするものである。
オペレーティング・システムが、プロセッサ302上で作動し、図3のデータ処理システム300内部の様々なコンポーネントの制御を調整及び提供するのに用いられる。オペレーティング・システムは、Microsoft Corporationから入手可能なWindows(R)XPなどの市販のオペレーティング・システムとすることができる。オペレーティング・システム及びアプリケーション又はプログラムについての命令は、ハード・ディスク・ドライブ326などの記憶装置上に置かれ、プロセッサ302による実行のためにメイン・メモリ304に読み込むことができる。
当業者であれば、図3のハードウェアは、実装形態に応じて変更できることを理解するであろう。図3に示されたハードウェアに加えて、又はそれらに代えて、フラッシュ読み取り専用メモリ(ROM)、同様の不揮発性メモリ、及び光ディスク・ドライブなどといった他の内蔵ハードウェア又は周辺装置を用いることもできる。また、本発明の処理は、マルチプロセッサ・データ処理システムに応用することができる。
図3に示された例及び上述の例は、アーキテクチャ面での制限を意味することを意図するものではない。例えば、データ処理システム300は、PDAの形態をとることに加えて、ノートブック・コンピュータ又はハンドヘルド・コンピュータとすることもできる。データ処理システム300は、キオスク又はWebアプライアンスとすることもできる。
本発明は、ネットワーク・データ処理システムにおいてエンティティによって提供されるサービスを特定し、モニターするための改善された方法、装置、及びコンピュータ命令を提供するものである。具体的には、本発明の機構は、Web Services Description Language(WSDL)などの規格と、Universal Description,Discovery,and Integration(UDDI)などのシステムとを利用するものであり、これにより、プログラムが、特定のサービスを提供するエンティティを探し出し、これらのサービスとどのように通信してトランザクションを実施するかを自動的に判断することが可能になる。WSDLは、International Business Machines Corporation、Ariba,Inc.、及びMicrosoft Corporationなどの代表企業によって開発され、WorldWide Web Consortiumによって検討されている提案規格である。UDDIバージョン3は、ウェブ・サービス・アプリケーション及びサービスについて用いられている現行仕様である。UDDIのさらなる開発及び変更は、Organization for the Advancement of Structured Information Standards(OASIS)が担当することになる。本発明の機構は、これらの規格を用いて、通常は提供されない付加的な情報を公開する。この情報は、エンティティをモニターするのに用いることができる方法又は処理の特定を含む。このモニターには、例えば、サービスが機能しているかどうかを判断するためにエンティティをテストすることが含まれる。モニターは、サービスを提供するエンティティを用いるクライアントか、又は、自分自身の機能及び可用性をテストするエンティティ自体によって、実行することができる。この情報は、クライアントのためにエンティティをモニターするサード・パーティ・モニター・エンティティが用いることもできる。
ここで図4を参照すると、本発明の好ましい実施形態に従って、エンティティをモニターする際に用いられるメッセージ・フローを説明する図が示される。図4におけるメッセージ・フローは、分散モニター対象エンティティ400と、分散公開エンティティ402と、分散消費者エンティティ404との間を流れる。分散モニター対象エンティティは、該エンティティの少なくとも一部が正しく作動しているか又は少なくとも1つの機能を実行できることを、ある程度の蓋然性で立証するのに用いることが可能な少なくとも1つの方法又はアルゴリズムが存在する分散エンティティである。分散公開エンティティは、利用可能な何らかの情報を、少なくとも1つの分散エンティティがアクセス可能な方法で公開するか、そうでなければ作成する分散エンティティである。分散消費者エンティティは、その機能を適切に又は最適に実行するために少なくとも1つの他の分散エンティティに依存する分散エンティティである。これらの例においては、エンティティは、図2のデータ処理システム200又は図3のデータ処理システム300などのデータ処理システム上で実行されるソフトウェア・コンポーネント又は処理である。特定の実装に応じて、これらのエンティティすべてを異なるデータ処理システム上に配置するか、又は、エンティティの幾つか又はすべてを同一のデータ処理システム上に配置することができる。
この例においては、分散モニター対象エンティティ400は、登録メッセージ406をディレクトリ・サービスとして機能する分散公開エンティティ402に送信する。登録済みエンティティに関する情報は、ディレクトリ408に格納することができる。ディレクトリ408によって、分散公開エンティティ402が、分散モニター対象エンティティ400に関する情報に加えて、該分散公開エンティティ402に登録済みの他のエンティティに関する情報を提供することが可能になる。具体的には、ディレクトリ408は、選択された基準を満たす登録済みエンティティを検索することを可能にする機構を提供する。これらの例においては、この選択された基準は、選択されたサービスである。他の基準として、例えば、分散モニター対象エンティティが配置されるコンピュータの地理的位置、又は、分散モニター対象エンティティと通信するのに用いられる特定のプロトコルを挙げることもできる。登録メッセージ406は、分散モニター対象エンティティ400によって提供されるサービスに関する情報と、分散モニター対象エンティティ400の適切な作動をどのように自動的にモニターすることができるかに関する情報との両方を含む。この登録情報は、分散モニター対象エンティティ400をモニターするために用いられるモニター方法の記述を含むことができる。例えば、分散モニター対象エンティティ400は、エンティティのモニターを可能にするように特別に設計されたモニター・インターフェースを含むことができる。例えば、モニター方法は、分散モニター対象エンティティ400をモニターするテストを開始するための特定の命令又はパラメータを記述することができる。インターフェースは、単に要求を受け入れ、要求に応じることができることを示す応答を与えるのみである。インターフェースは、より複雑にして、連続的に又はモニター・インターフェースに送信された何らかの要求に基づいて定期的に、データ・ストリームを生成するようにしてもよい。分散モニター対象エンティティ400は、データ・ストリームが受信された場合又は特定のデータが該データ・ストリームに戻された場合に、正しく機能していることについて確認することができる。応答は、クライアントである分散消費者エンティティ404によって要求された特定のサービス又はサービスのセットから生成されたデータとすることができる。代替的に、送信された要求は、予定されたエラー・メッセージが受信されることになる無効要求とすることができる。別のタイプのモニター方法においては、分散モニター対象エンティティ400上に、Simple Object Access Protocol(SOAP)要求を送信することができる特定のユニバーサル・リソース・エンドポイントを設けることができる。この要求に応答して、分散モニター対象エンティティ400が正しく機能している場合に予定されることになる応答として、特定の応答を指定することができる。別のモニター方法は、特定のデータ・パターンを分散モニター対象エンティティ400の指定ポートに送信することを含むことができる。このデータ・パターンに対する応答は、分散モニター対象エンティティ400が正しく機能している場合には、幾つかの選択された対応パターンを有するはずである。別のモニター方法においては、分散モニター対象エンティティ400が正しく機能している場合には選択された時間内に応答が受信されるようにして、特定の要求又は要求のクラスを分散モニター対象エンティティ400に送信することができる。この特定の時間は、送信される要求の中で指定することができる。他の場合では、モニター方法は、分散モニター対象エンティティ400をテストするために用いられることになる特定のプログラム又はプログラム断片とすることができる。このタイプのプログラムは、例えば、Practical Extraction Report Language(PERL)スクリプト、Remote Method Invocatio(RMI)クライアント、RMIスタブ・クラス、及び実行可能バイナリなどの様々な形態をとることができる。当然のことながら、特定の実装に応じて、他のタイプのモニター方法を実装することもできる。
さらに、分散モニター対象エンティティ400の適切な作動をどのように自動的にモニターすることができるかに関する情報は、分散モニター対象エンティティ400以外のエンティティによるディレクトリ408への入力のために、分散公開エンティティ402に送信することができる。例えば、この登録情報は、テスト・エキスパート・エージェントを介するか、又は人間のオペレータの入力データによっても、送信することができる。分散モニター対象エンティティ400をどのようにモニターすることができるかに関する情報は、分散モニター対象エンティティ400に保存され、ディレクトリ408には入力されない場合もある。この場合には、分散消費者エンティティ404などのクライアントは、分散モニター対象エンティティ400をモニターするための方法を分散モニター対象エンティティ400から直接取得するであろう。ディレクトリ408は、エンティティをモニターするためのモニター方法だけでなく、エンティティの特定及びエンティティによって提供されるサービスも含む。このディレクトリは、例えば、現在モニターされているか、以前にモニターされたか、又は将来モニターされることが予定された分散モニター対象エンティティといった他の情報を含むこともできる。
その後、分散消費者エンティティ404が特定のサービスを提供するエンティティを探し出すことが必要なときには、このエンティティは、クエリ・メッセージ410を分散公開エンティティ402に送信する。代替的に、このクエリは、多数の分散公開エンティティによって受信され、これらのエンティティの1つ又はそれ以上が応答を返すようにしたブロードキャスト・メッセージとすることができる。分散公開エンティティ402は、ディレクトリ408内の適切なサービスを探し出し、応答メッセージ412を使って、特定のサービスを提供するエンティティに関する情報を分散消費者エンティティ404に返信する。この応答は、特定のサービスを提供する多数の異なるエンティティに関する情報を含むことができる。2つ以上のエンティティが応答メッセージ412に含まれる場合は、分散消費者エンティティ404は、これらの中から操作又は通信を行う1つ又はそれ以上のエンティティを選択することができる。この例においては、分散消費者エンティティ404は、分散モニター対象エンティティ400を選択する。応答メッセージ412の情報は、分散モニター対象エンティティの適切な作動をどのようにモニターすることができるかだけでなく、該分散モニター対象エンティティ400とどのように連絡を取るかに関する情報を含む。この情報は、分散モニター対象エンティティ400に対して適用することができるモニター方法の少なくとも1つの記述を含むことができる。このモニター方法は、分散モニター対象エンティティ400上で開始される処理とすることができる。モニター方法の処理は、分散モニター対象エンティティ400内部か又は分散消費者エンティティ404などの別の場所に配置することができる。特定の実装によっては、モニター情報を応答メッセージ412から除外して、分散消費者エンティティ404がこのモニター情報を分散モニター対象エンティティ400から直接取得するようにしてもよい。
特定されたエンティティ及び提供されたモニター方法は、異なるエンティティ間の特定のサービス・レベルの合意(agreement)又は他の合意に基づくものとすることができる。例えば、分散モニター対象エンティティ400をモニターするのに用いられるモニター方法は、分散モニター対象エンティティ400と分散公開エンティティ402との間に設定された何らかのサービス・レベルの合意又は他の合意に基づいて、分散公開エンティティ402が分散消費者エンティティ404に提供することができる。
分散消費者エンティティ404は、応答メッセージ412を受信した後に分散モニター対象エンティティ400と連絡を取り、方法及びプロトコルを用いて機能操作414を開始する。これらは、例えばWSDL及びUDDIといった、当該技術分野で知られている方法及びプロトコルである。この連絡は、分散消費者エンティティ404が分散モニター対象エンティティ400によって提供される1つ又は複数のサービスを用いることが可能になるように開始される。分散消費者エンティティ404はまた、分散モニター対象エンティティ400が適切に作動し続けていることを確認するために、分散モニター対象エンティティ400と共にモニター操作416を実行する。これらの例においては、こうしたモニター操作は、応答メッセージ412に記述される。モニター操作は、定期イベント又は非定期イベントなどの異なるイベントによって開始させることができる。定期イベントは、モニター操作を起動するタイマーの期限とすることができる。非定期イベントは、例えば、分散消費者エンティティ404による購入オーダーといった選択された操作の開始とすることができる。これらの例においては、モニター操作416は、分散モニター対象エンティティ400上で実行することができる1つ又はそれ以上のテストなどの方法である。モニターの間に1つ又はそれ以上のテストに不合格となった場合は、分散消費者エンティティ404は修正措置をとることができる。これらの修正措置として、例えば、障害の原因を判断するためにさらに診断テストを実行すること、人間の管理者にテスト不合格を通知すること、問題が存在することを別の分散エンティティに通知すること、分散モニター対象エンティティ400の代わりを特定するために分散公開エンティティ402と連絡をとること、分散モニター対象エンティティ400の再始動を試行すること、又は、応答メッセージ412において特定されたテスト方法内に指定された一連の選択措置を実行することなどを挙げることができる。
本発明の別の実施形態においては、分散消費者エンティティ404が分散モニター対象エンティティ400と機能操作414を開始する前に、該分散消費者エンティティ404は、応答メッセージ412に記述されたテスト操作を実行して、該分散モニター対象エンティティ400の適切な作動を確認する。本発明の別の実施形態においては、分散消費者エンティティ404は、分散モニター対象エンティティ400と分散消費者エンティティ404との間でサービス・レベルの合意又は他の合意が整って初めて、応答メッセージ412に記述されたテスト操作を実行し、該テスト操作はその合意に対応するものである。1つの可能な実施形態においては、テスト操作を用いて、分散モニター対象エンティティ400によって提供されるサービスが関連する合意に指定された応答時間の範囲内であることを確認する。
本発明の好ましい実施形態においては、分散モニター対象エンティティ400は、該分散モニター対象エンティティ400をモニターするために分散消費者エンティティ404によって開始されるモニター操作416を可能にするように特別に設計された、少なくとも1つのモニター・インターフェースを実装する。本発明の好ましい実施形態においては、分散モニター対象エンティティ400をモニターするために分散消費者エンティティ404によって開始されるモニター操作416には、無効要求を該分散モニター対象エンティティ400に送信し、予定されたエラー標識が受信されることを確認することが含まれる。さらに他の実施形態においては、モニター操作416は、分散モニター対象エンティティ400が分散公開エンティティ402に向けた連続的な又は定期的なメッセージ・ストリームを生成することを要求し、該メッセージ・ストリームが予定通り到着し続けるのを確認することを含むものとすることができる。
本発明の別の実施形態においては、分散モニター対象エンティティ400は、分散公開エンティティ402のディレクトリ408に問い合わせを行って、該分散モニター対象エンティティ400の適切な作動をどのようにモニターすることができるかに関する情報を取得する。この情報は、自己診断の目的で、自分自身の作動をモニターする分散モニター対象エンティティ400によって用いられる。本発明のさらに別の実施形態においては、分散消費者エンティティ404は、分散モニター対象エンティティ400の適切な作動をどのようにモニターすることができるかに関する情報を、分散公開エンティティ402ではなく、分散モニター対象エンティティ400自体から受信する。
ここで図5を参照すると、本発明の好ましい実施形態に従って、サード・パーティ分散モニター・エンティティが存在するエンティティをモニターするのに用いられるメッセージ・フローを説明する図が示される。この例においては、エンティティのモニターは、分散モニター対象エンティティである分散モニター対象エンティティ500と、サード・パーティ分散モニター・エンティティ502と、分散公開エンティティ504と、分散消費者エンティティ506とに関係する。場合によっては、分散消費者エンティティ506は、正しく又は最適に機能するために、分散モニター対象エンティティ500などの別のエンティティによって提供されるサービスに依存することがある。分散消費者エンティティ506は、モニター機能を実行することができない場合もある。効率性を理由として、サード・パーティ・モニターを用いることもできる。結果として、サード・パーティ分散モニター・エンティティ502などの別のエンティティを利用して、モニター機能を提供することができる。
分散モニター・エンティティは、分散モニター対象エンティティの少なくとも一部が正しく作動しているか又は少なくとも1つの機能を実行できることを、ある程度の蓋然性で立証するための少なくとも1つの技術又はアルゴリズムを利用する分散エンティティである。サード・パーティ分散モニター・エンティティは、自分自身の機能の適切な又は最適な実行について自分自身には依存しない少なくとも1つの分散モニター対象エンティティをモニターする可能性がある分散エンティティである。さらに、サード・パーティ分散モニター・エンティティ502は、分散消費者エンティティ506以外の他のエンティティからの要求を受け入れて、分散モニター対象エンティティ500又は他のエンティティをモニターすることもできる。言い換えると、サード・パーティ分散モニター・エンティティ502は、多数のクライアント及び多数の分散モニター対象エンティティをモニターすることができる。さらに、サード・パーティ分散モニター・エンティティ502によって提供されるモニター・サービスについて、料金を課すことができる。さらに、モニターのタイプ、モニター方法、又はモニターに用いられるパラメータは、例えば分散公開エンティティ504などの別のエンティティから受信した入力に基づいて、変更又は修正することができる。修正は、例えば、分散モニター対象エンティティ500のモニター結果に応じて、通知されることになるエンティティを変更することを含むものとすることができる。この例においては、サード・パーティ分散モニター・エンティティ502は、登録メッセージ508を、ディレクトリ・サービスとして機能する分散公開エンティティ504に送信する。分散モニター対象エンティティ500に関する情報、及び、サード・パーティ分散モニター・エンティティ502に関する情報は、分散公開エンティティ504内部のディレクトリ510に格納することができる。この例においては、登録メッセージ508には、モニター方法、すなわち分散モニター対象エンティティ500上で実行することができる方法に関する情報が含まれる。この例においては、サード・パーティ分散モニター・エンティティ502は、分散モニター対象エンティティ500などのエンティティ上でモニター操作を実行することができるエンティティとして自分自身を分散公開エンティティ504に登録するために、登録メッセージ512を送信する。登録メッセージ512は、サード・パーティ分散モニター・エンティティ502が実行することができるモニターの種類を特定する。この情報は、モニターを実行することができるエンティティを特定することもできる。
特定の実装に応じて、サード・パーティ分散モニター・エンティティ502は、分散モニター対象エンティティ500に関するモニター情報を分散公開エンティティ504に登録するために、情報を登録メッセージ512に加えることもできる。さらに、ディレクトリ510は、モニター・サービスを現在提供しているサード・パーティ分散モニター・エンティティ、モニター・サービスを以前に提供したサード・パーティ分散モニター・エンティティ、及び、モニター・サービスを提供することが予定されたサード・パーティ分散モニター・エンティティに関する情報を含むこともできる。
本発明の幾つかの実施形態においては、分散消費者エンティティ506のような分散消費者エンティティが、(例えば、過去にモニター目的で用いられたサード・パーティ分散モニター・エンティティが、現在モニターを行うことが可能であると想定することができるか、又は、将来モニターを行う可能性があることを示したエンティティが、現在モニターを行うようにさらに準備することができるかという考え方で)幾つかの可能なサード・パーティ分散モニター・エンティティのうちのどれを利用するかを判断する際に、どのサード・パーティ分散モニター・エンティティが過去に分散モニター対象エンティティ500及び他の分散モニター対象エンティティをモニターしたか、及び/又は、どのサード・パーティ分散モニター・エンティティが将来そうしたモニターを行う可能性があるかに関する情報を用いることを希望する場合があるので、分散公開エンティティ504又は別の分散公開エンティティは、この情報を含む情報を提供することができる。その後、分散消費者エンティティ506が特定のサービスを提供するエンティティを探し出そうとするときは、このエンティティは、クエリ・メッセージ514を分散公開エンティティ504に送信する。クエリ・メッセージ514を受信すると、分散公開エンティティ504は、該クエリ・メッセージ514に指定されたサービスを提供することができるエンティティを特定する。これらのエンティティに関する情報は、応答メッセージ516を使って分散消費者エンティティ506に戻される。この応答は、分散モニター対象エンティティ500などのエンティティに関する情報を含む。さらに、この例においては、応答メッセージ516を使って分散消費者エンティティ506に戻された情報には、分散モニター対象エンティティ500の適切な作動の自動モニターに関する情報も含む。応答メッセージを受信すると、分散消費者エンティティ506は、操作及び通信を行う1つ又はそれ以上のエンティティを選択することができる。この例においては、このエンティティは、分散モニター対象エンティティ500である。
さらに、分散消費者エンティティ506は、クエリ・メッセージ518を分散公開エンティティ504に送信し、その中で、該クエリ518は、応答メッセージ516に記述されたモニター操作を実行することができるサード・パーティ分散モニター・エンティティに関する情報を要求する。クエリ・メッセージ518を受信すると、分散公開エンティティ504は、分散モニター対象エンティティ500上でモニター操作を実行することができる1つ又はそれ以上のサード・パーティ分散モニター・エンティティを特定する。上述のように、これらのモニター操作は、エンティティが適切に作動しているかどうかを判断するために該エンティティ上で実行することができるテスト又は方法などの様々な形態を取ることができる。この情報は、応答メッセージ520を使って分散消費者エンティティ506に戻される。この情報に基づいて、分散消費者エンティティ506は、分散モニター対象エンティティ500をモニターする際に用いるための1つ又はそれ以上のサード・パーティ分散モニター・エンティティを選択する。
その後、分散消費者エンティティ506は、分散モニター対象エンティティ500と連絡を取り、分散モニター対象エンティティ500によって提供されるサービスを利用する機能操作522を開始する。分散消費者エンティティ506は、要求524を用いてサード・パーティ分散モニター・エンティティ502とも連絡を取り、分散モニター対象エンティティ500のモニターを要求する。要求されたモニターは、分散公開エンティティ504から受信した応答メッセージ516に記述された操作についてのものである。例えば、この操作は、分散モニター対象エンティティ500に適用されることになるモニター方法を指定することができる。代替的に、モニター方法が要求524に指定されない場合は、この要求の情報には、どのようにモニター方法を特定することができるかに関する情報を含むことができる。この場合には、サード・パーティ分散モニター・エンティティ502は、分散公開エンティティ504内部のディレクトリ510にあるような公開された情報を調べることによって、分散モニター対象エンティティ500をモニターする際に用いるためのモニター方法を特定することができる。この要求は、分散消費者エンティティ506の代わりに分散モニター対象エンティティ500上でモニター操作を実行するために、サード・パーティ分散モニター・エンティティ502について必要な何らかの認証、確認情報、又は委任命令を含むこともできる。結果として、サード・パーティ分散モニター・エンティティ502は、分散モニター対象エンティティ500上でモニター操作526を実行する。その結果に応じてサード・パーティ分散モニター・エンティティ502は措置をとり、この措置として、モニター操作で実行された1つ又はそれ以上のテストが分散モニター対象エンティティ500における問題又は障害の存在を示した場合に、通知528を分散消費者エンティティ506に送信することを挙げることができる。特に重要な障害は、分散消費者エンティティ506によって求められたサービスの障害である。分散モニター対象エンティティ500によって提供される他のサービスはテストされない場合があり、こうしたサービスの障害は通知528を起動しない。特定の実装に応じて、サード・パーティ分散モニター・エンティティ502によって提供されるサービスは、モニター・サービスについての料金を分散消費者エンティティ506に課して提供することができる。
本発明の別の実施形態においては、サード・パーティ分散モニター・エンティティ502は、分散モニター対象エンティティ500上で実行されることになるテスト操作に関する情報を取得するために、分散公開エンティティ504と連絡を取る。さらに他の実施形態においては、サード・パーティ分散モニター・エンティティ502は、その情報について分散モニター対象エンティティ500自体と連絡を取る。さらに他の実施形態においては、サード・パーティ分散モニター・エンティティ502は、分散公開エンティティ504又は他のソースから得られる、分散モニター対象エンティティに関する他の情報を調べることによって、該分散モニター対象エンティティ500をモニターするための適切な方法を推測することができる。
本発明のさらに他の実施形態においては、サード・パーティ分散モニター・エンティティ502は、そのサード・パーティ分散モニター・エンティティ502がどの分散モニター対象エンティティを既にモニターしているかに関する利用可能な情報を公開するか、そうでなければ作成する。この種類の情報の公開によって、分散消費者エンティティ506などの分散消費者エンティティは、課された価格の割引を受けるために、又は効率性のために、分散モニター対象エンティティ500などの所与の分散モニター対象エンティティのモニターを既に行っているサード・パーティ分散モニター・エンティティのモニター・サービスを要求することを決定することができる。
ここで図6を参照すると、本発明の好ましい実施形態に従って、エンティティを特定し、モニターするために用いられる処理のフローチャートが示される。図6で説明される処理は、図4の分散消費者エンティティ404などのクライアントに実装することができる。
処理は、サービス要求を特定することによって開始する(ブロック600)。プロバイダ及びモニター方法のリストが、図4の分散公開エンティティ404などの分散公開エンティティから要求される(ブロック602)。プロバイダ及びモニター方法のリストは、分散公開エンティティから受信される(ブロック604)。1つの分散モニター・エンティティのプロバイダがそのリストから選択され、モニター方法が格納される(ブロック606)。特定の実装に応じて、2つ以上のエンティティを選択してもよい。選択された分散消費者エンティティにサービスを提供するために、選択された分散モニター対象エンティティと合意が形成される(ブロック608)。この合意は、その時点で利用されている様々な自動ネゴシエーション・プロトコル又は方法を用いて形成することができる。合意が終了したかどうかに関して、判断が行われる(ブロック610)。この合意は、該合意に指定された様々な条件の下で終了することになる。例えば、合意は、一定時間経過後か、該合意が更新されずに一定時間が経過した後か、幾つかの数のトランザクション後か、いずれかのパーティの開始後か、又は、何らかの選択値を上回るか若しくは下回る商品若しくはサービスの価格といった存在している何らかの市場条件に基づいて、終了することになる。合意が終了する別の要因は、本発明を用いて告知されたテストの障害とすることができる。この種類の障害が生じると、処理は図6の先頭のブロック600に戻ることになる。合意が終了しない場合は、クライアントは分散モニター対象エンティティを用いて操作を行う。これらの操作は、分散モニター対象エンティティによって分散消費者エンティティに提供されているサービスに応じて、変わる場合がある。この操作として、例えば、言語翻訳、株価見積もり、ニュースの更新、数学上の計算、バイナリ・データの格納及び検索、データベース検索、ストリーミング音声又は映像などのコンテンツの提供、及び、天気予報を挙げることができる。
次に、モニター方法が分散モニター対象エンティティのテストを要求するかどうかに関して、判断が行われる(ブロック614)。モニター方法がテストを要求する場合は、テスト要求は分散モニター対象エンティティに送信され(ブロック616)、応答が該分散モニター対象エンティティから受信される(ブロック618)。モニター方法に指定された通りに応答されたかどうかに関して、判断が行われる(ブロック620)。基本的には、ブロック620は、分散モニター対象エンティティが予定された通りに機能しているかどうか、又はエラー若しくは障害が発生したかどうかを判断するのに用いられる。応答がモニター方法に指定されたとおりではない場合は、修正措置がとられ(ブロック622)、処理は上述のようにブロック610に戻る。障害によっては、及び修正措置の成功次第で、処理はブロック610に戻ることができない場合もある。こうした事例は、分散モニター対象エンティティが深刻な障害を受け、修正措置によってもその障害を修正できなかった場合に発生する。この場合は、分散モニター対象エンティティを正常に操作できないことになる。
ブロック622において実行される修正措置として、例えば、分散モニター対象エンティティを再始動すること、人間のオペレータに通知を送信すること、別の分散モニター対象エンティティを選択すること、分散モニター対象エンティティの実行を終了させること、又は、ログファイルにエントリを生成することを含む様々な方法をとることができる。とられる修正措置は、選択された基準を満たすテスト結果に基づいて送信される特定のメッセージとすることができる。例えば、モニター方法のアプリケーションから応答が受信されない場合には、メッセージは、エンティティが利用不可能であることを表すことになる。テストに応答してエラーが戻された場合には、メッセージは、エンティティが適切に機能していないことを表すことになる。これらのメッセージは、例えば、モニターを要求する分散消費者エンティティ、及び分散モニター対象エンティティが登録された分散公開エンティティを含む様々なエンティティに送信することができる。さらに、修正措置には、選択された基準を満たすテストに応答してプログラム又は処理を実行することを含むこともできる。例えば、修正措置は、標準的な問題判別プログラム又は処理を開始し、テストに不合格になったエンティティと不合格になったテストの種類とを特定するのに十分な情報を含むパラメータをそのプログラムに与えることから構成するようにしてもよい。分散消費者エンティティが、どういった修正手段を試みるべきかを知る1つの方法は、このような場合に何をするべきかに関する自分自身の内部ポリシーを調べることによるものであろう。分散消費者エンティティが、どういった修正手段を試みるべきかを知る別の方法は、分散公開エンティティから受信したテスト方法の情報と共にまとめられた情報を検索することによるものであろう。別の修正措置として、テスト結果が選択された基準を満たすときにエンティティ内の内部デッドロックが解消されそうな分散モニター対象エンティティに対して、措置をとることを挙げることができる。内部デッドロックの解消に関して、分散モニター対象エンティティが作動しているプラットフォームに対して要求を送信することができる。この要求は、ある選択された時間の間ロックを待っていた分散モニター対象エンティティのあらゆるスレッドを終了させるようにプラットフォームに求める要求とすることができる。この修正措置を開始する基準は、特定の実装に対して求められる何らかのポリシーに基づく基準とすることができる。
再びブロック620を参照すると、応答がモニター方法に指定されたとおりである場合は、処理は、上述のようにブロック610に戻る。再度ブロック614を参照すると、モニター方法がテストを要求しない場合は、処理は、上述のようにブロック610に戻る。再びブロック610を参照すると、合意が終了した場合は、処理は終了する。
ここで図7を参照すると、本発明の好ましい実施形態に従って、エンティティをモニターするためにサード・パーティ分散モニター・エンティティによって用いられる処理のフローチャートが示される。図7で説明される処理は、図5のサード・パーティ分散モニター・エンティティ502などのサード・パーティ分散モニター・エンティティに実装することができる。
処理は、分散公開エンティティに登録することによって開始する(ブロック700)。ブロック700では、サード・パーティ分散モニター・エンティティは、このエンティティが実行することができるモニター操作に関する情報を送信する。この情報は、モニターすることができる特定のエンティティを特定することもできる。その後、処理は要求を待つ(ブロック702)。ブロック702では、待たれる要求は、サービスを提供するエンティティのモニターを求める分散消費者エンティティからの要求といった、あるエンティティからの要求である。特定のモニター方法によって分散モニター対象エンティティをモニターするために、分散消費者エンティティから要求を受信する(ブロック704)。分散消費者エンティティと合意が形成される(ブロック706)。この合意は、現在知られているか又は用いられている何らかのネゴシエーション・プロトコルによって達成することができる。例えば、分散消費者エンティティは、1組の標準的なモニター合意のうちの1つをサード・パーティ分散モニター・エンティティに提案し、該サード・パーティ分散モニター・エンティティはその提案を受け入れる場合がある。代替的に、当該技術分野で知られている様々な自動ネゴシエーション・プロトコル又は他の方法のいずれかによって、モニター合意を形成することができる。いずれの場合においても、分散消費者エンティティは、サード・パーティ分散モニター・エンティティが要求された分散モニター対象エンティティのモニターを実行できるようにするのに十分な情報を、合意の一部として該サード・パーティ分散モニター・エンティティに提供することになる。
その後、合意が終了したかどうかに関して、判断が行われる(ブロック708)。上述のように、様々な要因が合意を終了させる原因となり得る。最も一般的な要因は、典型的には、時間である。合意が終了しない場合は、分散モニター対象エンティティのために特定されたモニター方法がテストを要求するかどうかに関して、判断が行われる(ブロック710)。モニター方法がテストを要求する場合は、テスト要求は分散モニター対象エンティティに送信され(ブロック712)、応答が受信される(ブロック714)。
次に、応答内の結果がモニター方法に指定されたとおりであるかどうかに関して、判断が行われる(ブロック716)。応答内の結果がモニター方法に指定されたとおりではない場合は、分散消費者エンティティに対して通知が送信され(ブロック718)、処理は、上述のようにブロック708に戻る。再びブロック716を参照すると、応答内の結果がテスト方法に指定されたとおりである場合は、処理は、上述のようにブロック708に戻る。再度ブロック710を参照すると、モニター方法がテストを要求しない場合は、処理は、上述のようにブロック708に戻る。再びブロック708を参照すると、合意が終了した場合は、処理は終了する。
ここで図8を参照すると、本発明の好ましい実施形態に従って、あるエンティティについてのモニター方法を公開する際に用いられるデータ構造を説明する図が示される。データ構造800は、例えば分散消費者エンティティ又はサード・パーティ分散モニター・エンティティなどのエンティティに情報を提供するのに用いることができるデータ構造の一例である。セクション802は、言語変換サービスがその基本的な機能を正しく実行しているかどうかを判断するために、そのサービス上で実行することができる操作と、その要素が機能を正しく実行している場合に該操作から受信されることになる応答とを記述する記述行を含む。セクション804は、この操作を用いて特定のサービスのポート・タイプのうちのウェブ・サービス・ポートをテストすることができるという事実と、セクション802で記述された予定応答とを記述する記述行を含む。
従来技術の方法は、通常のWSDLフラグメントの一部として、セクション802及び804のないデータ構造800といったデータ構造を送信する。本発明では、上述のモニター機構を提供するために、例示的なセクション802及び804などの情報を追加する。セクション804は、特定の操作を用い、該操作に応答して特定のメッセージが戻されることを想定してポート・タイプをテストすることができるアサーションを含む。セクション802は、操作及び応答を定める。セクション802及び804の行は、他の部分は標準的なWSDLコーディングのままで、WSDLの拡張として提供される。図8に示される例は、拡張可能マークアップ言語(XML)を用いる。この例は、1つの例示として提供され、本発明をこの特定の形式を用いるように限定することを意図するものではない。特定の実装に応じて、他の何らかの形式を用いることができる。
このように、本発明は、自律型コンピュータ・システムにおいてエンティティを特定し、モニターするための情報を公開し、提供する改善された方法、装置、及びコンピュータ命令を提供するものである。この機構は、登録された特定のエンティティについて用いることができるモニター方法に関する情報を、本発明の機構を用いて提供するか又は公開するために、WSDL又はUDDIなどの標準化された言語を用いる。このように、分散消費者エンティティなどのクライアントが、所望のサービスを提供することが可能なエンティティの特定を要求し、受信することができる。サービスの特定に加えて、本発明の機構は、クライアントによって要求されたサービスをエンティティが提供できることを確認するために、該サービスを提供する該エンティティをどのようにモニターすることができるかを示す情報を提供する。この情報を用いて、クライアントはサービスをモニターし、モニターが、エンティティが要求された方法で機能することができないことを示す場合は、修正措置をとることができる。
本発明は完全に機能するデータ処理システムに即して説明されたが、当業者であれば、本発明の処理の命令をコンピュータ読取可能媒体の形態及び様々な形態で配布することが可能であり、本発明は、実際に配布を行うのに用いられる信号支持媒体の特定の種類にかかわらず等しく利用されると理解するであろうということに留意することが重要である。コンピュータ読取可能媒体の例として、フロッピー・ディスク、ハード・ディスク・ドライブ、RAM、CD−ROM、DVD−ROMなどの書き込み可能タイプの媒体、並びに、例えば無線通信及び光通信などの通信形態を用いる、デジタル及びアナログ通信リンク、有線又は無線通信リンクといった通信タイプの媒体が挙げられる。コンピュータ読取可能媒体は、特定のデータ処理システムで実際に用いるためにデコードされるコード化フォーマットの形式をとることができる。
本発明の記述は、例示及び説明の目的で提示され、網羅的であること、又は本発明を開示された形態に限定することを意図するものではない。当業者には、多くの修正又は変形が明らかであろう。実施形態は、本発明の原理及び実際の適用を最もよく説明するように、及び、考慮された特定の使用に適合するような種々の修正を伴う様々な実施形態について当業者以外でも本発明を理解できるように、選択して記述された。
本発明を実装することができるデータ処理システムのネットワークの図形表示を示す。 本発明の好ましい実施形態にしたがって、サーバとして実装することができるデータ処理システムのブロック・ダイアグラムである。 本発明を実装することができるデータ処理システムを説明するブロック・ダイアグラムを示す。 本発明の好ましい実施形態にしたがって、エンティティをモニターするのに用いられるメッセージ・フローを説明する図を示す。 本発明の好ましい実施形態にしたがって、サード・パーティ分散モニター・エンティティが存在するエンティティをモニターするのに用いられるメッセージ・フローを説明する図を示す。 本発明の好ましい実施形態にしたがって、エンティティを特定し、モニターするために用いられる処理のフローチャートである。 本発明の好ましい実施形態にしたがって、エンティティをモニターするためにサード・パーティ分散モニター・エンティティによって用いられる処理のフローチャートである。 本発明の好ましい実施形態にしたがって、エンティティについてのモニター方法を公開する際に用いられるデータ構造を説明する図である。

Claims (87)

  1. エンティティをモニターするためのデータ処理システムであって、
    複数の告知であって、その多くが分散モニター対象エンティティの動作をモニターするのに用いるためのモニター方法についてのコンピュータ読取可能形式の記述を含む、複数の告知と、
    前記複数の告知をクライアントに公開する分散公開エンティティであって、前記多くの告知の少なくとも1つが、分散モニター対象エンティティが自分自身の動作をモニターするために用いる前記モニター方法を決定し、前記分散モニター対象エンティティをモニターするために分散消費者エンティティが用いる前記モニター方法を決定し、及び、該分散モニター対象エンティティをモニターするためにサード・パーティ分散モニター・エンティティが用いる前記モニター方法を決定することのうちの少なくとも1つを実行するために、クライアントによって用いられる前記分散公開エンティティを含む、データ処理システム。
  2. 前記クライアントが、前記分散モニター対象エンティティ、前記分散消費者エンティティ、及び前記サード・パーティ分散モニター・エンティティのうちの1つである、請求項1に記載のデータ処理システム。
  3. 前記モニター方法が、前記分散モニター対象エンティティと前記クライアントとの間に存在する合意に応じて前記多くの告知内に定められた、請求項1に記載のデータ処理システム。
  4. 前記分散公開エンティティが又、前記複数の告知を介して前記分散モニター対象エンティティの情報を提供し、選択された基準を満たすエンティティの検索をディレクトリを介して可能にする、請求項1に記載のデータ処理システム。
  5. 前記クライアントが、前記モニター方法を実行し、該モニター方法の実行結果に応答して措置を行う、請求項1に記載のデータ処理システム。
  6. 結果として行われる前記措置が、前記結果が一定の基準を満たすときには特定の分散エンティティにメッセージを送信すること、該結果が前記一定の基準を満たすときには告知において特定された特定のアルゴリズムを実行すること、該結果が該一定の基準を満たすときには前記分散モニター対象エンティティを再始動すること、該結果が該一定の基準を満たすときには新たな分散モニター対象エンティティを生成すること、該結果が該一定の基準を満たすときには該分散モニター対象エンティティを終了すること、問題判別処理を開始すること、及び、該分散モニター対象エンティティ内の内部デッドロックを解消することのうちの少なくとも1つを含む、請求項5に記載のデータ処理システム。
  7. モニター・システムが前記サード・パーティ分散モニター・エンティティを含み、該サード・パーティ分散モニター・エンティティが、前記分散モニター対象エンティティをモニターするための要求を受け入れる、請求項1に記載のデータ処理システム。
  8. 前記要求が前記分散消費者エンティティから受信される、請求項7に記載のデータ処理システム。
  9. 前記サード・パーティ分散モニター・エンティティが、前記分散モニター対象エンティティをモニターするための料金を課す、請求項7に記載のデータ処理システム。
  10. 前記要求が、前記モニター方法の特定、該要求を満たす特定のモニター方法を選択する方法の特定、認証、及び承認のうちの少なくとも1つを含む、請求項7に記載のデータ処理システム。
  11. 前記サード・パーティ分散モニター・エンティティが、前記複数の告知の中の前記分散モニター対象エンティティに関する情報を含む告知を調べることによって前記モニター方法を特定する、請求項7に記載のデータ処理システム。
  12. 前記複数の告知が前記分散モニター対象エンティティに関する統計情報を含む、請求項1に記載のデータ処理システム。
  13. 前記統計情報が、分散モニター対象エンティティを現在モニターしている分散モニター・エンティティ、分散モニター対象エンティティを以前にモニターしていた分散モニター・エンティティ、及び、分散モニター対象エンティティをモニターすることが予定された分散モニター・エンティティの特定を含む、請求項12に記載のデータ処理システム。
  14. 前記統計情報が前記要求に応答して提供される、請求項13に記載のデータ処理システム。
  15. 前記クライアントが、分散モニター対象エンティティのモニターを行っている選択された分散モニター・エンティティによって実行される前記モニター方法に用いられるパラメータの変更を要求することができる、請求項13に記載のデータ処理システム。
  16. 前記分散モニター対象エンティティのモニター結果がエンティティのセットに送信される、請求項15に記載のデータ処理システム。
  17. 前記分散モニター対象エンティティが、該分散モニター対象エンティティ上でのテスト方法の開始を可能にするように設計されたモニター・インターフェースをサポートする、請求項1に記載のデータ処理システム。
  18. 前記モニター・インターフェースが、要求を受け入れて、前記分散モニター対象エンティティが要求に応答できることの標識、特定の機能が正しく作動していることの標識、1組の機能が正しく作動していることの標識、連続的なデータ・ストリーム、及び、定期的なデータ・ストリームのうちの少なくとも1つを含む応答を生成する、請求項17に記載のデータ処理システム。
  19. 前記モニター方法が、無効要求を前記分散モニター対象エンティティに送信し、それに応答して、予定されたエラー・メッセージが受信されるのを確認することを含む、請求項1に記載のデータ処理システム。
  20. 前記モニター方法が、前記分散モニター対象エンティティからデータ・ストリームを要求し、前記データ・ストリームが予定通り到着し続けるのを確認することを含む、請求項1に記載のデータ処理システム。
  21. 分散データ処理システムにおいてテストを行うための方法であって、
    選択されたサービスに関する情報についてのクライアントからの要求に応答して、前記選択されたサービスを提供する登録済みエンティティを特定し、
    前記クライアントに対して応答を送信する、
    ことを含み、前記応答が、前記選択されたサービスを提供する前記登録済エンティティと該エンティティのためのモニター方法とを特定するコンピュータ読取可能形式の情報を含み、前記情報は、前記クライアントが該選択されたサービスを提供する該登録済みエンティティをモニターすることを可能にするものである方法。
  22. 前記特定し、送信するステップが、前記登録済みエンティティ及び分散公開エンティティの少なくとも1つにおいて実行される、請求項21に記載の方法。
  23. 前記選択されたサービスを登録するための要求であって、該選択されたサービスに関する情報と該選択されたサービスの適切な作動について前記登録済みエンティティをどのようにモニターすることができるかに関する情報とを含む要求を、該登録済みエンティティから受信し、
    前記要求の受信に応答して、前記選択されたサービスを登録する、
    ことをさらに含み、前記選択されたサービスを提供する前記登録済みエンティティが、前記クライアントからの前記要求に応答して特定できるようになった、請求項21に記載の方法。
  24. 前記クライアントが、前記選択されたサービスを提供する前記登録済みエンティティである、請求項21に記載の方法。
  25. 登録済みエンティティの特定がディレクトリに格納された、請求項21に記載の方法。
  26. モニター情報を登録済みエンティティに格納することをさらに含む、請求項21に記載の方法。
  27. 前記モニター情報が、現在モニターされている登録済みエンティティ、以前にモニターされた登録済みエンティティ、及び、モニターされることが予定された登録済みエンティティのうちの少なくとも1つを含む、請求項21に記載の方法。
  28. 前記モニター情報についての前記クライアントからの要求に応答して、該モニター情報を該クライアントに送信することをさらに含む、請求項21に記載の方法。
  29. 前記モニター方法が、前記登録済みエンティティのモニター・インターフェースの特定、該登録済みエンティティが正しく機能していることを応答において示すモニター・インターフェースに要求を送信すること、該登録済みエンティティの少なくとも1つのサービスが正しく機能していることを応答において示すモニター・インターフェースに要求を送信すること、選択されたエラーが予定される登録済みエンティティに無効要求を送信すること、データ・パターンに応答して特定のパターンが予定される登録済みエンティティのポートに前記データ・パターンを送信すること、該登録済みエンティティが正しく機能していることを示す応答が選択された時間内に予定される該登録済みエンティティに要求を送信すること、プログラム、PERLスクリプト、RMIクライアント、RMIスタブ、及び、実行可能バイナリのうちの少なくとも1つを含む、請求項21に記載の方法。
  30. データ処理システムにおいてサービスの可用性をモニターするための方法であって、
    情報についての要求を送信し、
    情報についての前記要求に対する応答であって、前記サービスを提供するエンティティの特定と前記エンティティをどのようにモニターするかに関するコンピュータ読取可能形式の情報とを含む応答を受信し、
    前記応答の受信に対応して自動的に前記エンティティをモニターする、
    ことを含む方法。
  31. 前記エンティティが、前記サービスをテストすることによってモニターされる、請求項30に記載の方法。
  32. 前記情報が、前記サービスをテストするのに用いられるモニター方法を特定する、請求項30に記載の方法。
  33. 前記応答が分散公開エンティティから受信される、請求項30に記載の方法。
  34. 前記応答が特定のサービス・レベルの合意に基づいて受信される、請求項33に記載の方法。
  35. 前記エンティティの前記自動モニターが、受信された前記応答、及び、前記モニター対象エンティティと前記データ処理システム内のエンティティとの間に存在する合意の両方に対応するものである、請求項33に記載の方法。
  36. 前記エンティティのモニター結果に応答して措置を実行することをさらに含む、請求項30に記載の方法。
  37. 前記結果が選択された基準を満たす場合は、前記措置が修正措置である、請求項36に記載の方法。
  38. 前記修正措置が、通知を管理者に送信すること、通知を別のエンティティに送信すること、前記結果をログに記録すること、前記エンティティを再始動すること、前記サービスを提供する新たなエンティティを選択すること、及び、前記エンティティの終了を開始することのうちの少なくとも1つである、請求項37に記載の方法。
  39. 前記修正措置が前記応答に指定されたものである、請求項37に記載の方法。
  40. データ処理システムにおいてエンティティのセットのモニターを行うための方法であって、
    登録された情報が、モニター方法と前記エンティティのセット内の各々のエンティティに対して提供されるサービスとを特定することを含むように、該エンティティのセットを登録し、
    特定のサービスを要求するクライアントに対して、前記エンティティのセット内の前記特定のサービスを提供する選択されたエンティティをモニターするために該クライアントが用いる、該エンティティのセットについての情報を選択的に告知する、
    ことを含む方法。
  41. 前記選択的に告知することが、
    前記特定のサービスについての前記クライアントからの要求を受信したことに応答して、前記エンティティのセットからエンティティを特定し、
    前記クライアントに対して応答を送信する、
    ことを含み、前記応答が、前記エンティティと該エンティティのためのモニター方法とを特定するコンピュータ読取可能形式の情報を含み、前記情報は、前記クライアントが該エンティティをモニターすることを可能にするものである、請求項40に記載の方法。
  42. 前記選択的に告知することが、
    サード・パーティ・モニター・エンティティについての前記クライアントからの要求を受信したことに応答して、前記エンティティをモニターすることが可能な特定のサード・パーティ・モニター・エンティティを特定し、
    前記エンティティをモニターすることが可能な前記特定のサード・パーティ・モニター・エンティティを特定する情報を含む別の応答を、前記クライアントに対して送信する、
    ことをさらに含む、請求項41に記載の方法。
  43. 前記要求が前記モニター方法の特定を含む、請求項42に記載の方法。
  44. 前記モニター方法が、テストと、前記特定のサービスに関して前記エンティティの適切な作動を確認するために予定される結果とを指定する、請求項41に記載の方法。
  45. 前記エンティティのセット内の1つのエンティティから、前記1つのエンティティをモニターすることができるモニター方法を含む登録要求を受信することをさらに含む、請求項41に記載の方法。
  46. 前記方法が分散公開エンティティにおいて実行される、請求項41に記載の方法。
  47. ネットワークと、
    前記ネットワークに接続された分散モニター対象エンティティと、
    前記ネットワークに接続された分散消費者エンティティと、
    前記ネットワークに接続された分散公開エンティティと、
    を含み、前記分散モニター対象エンティティが前記分散公開エンティティに登録された特定のサービスを有し、該分散公開エンティティが、該分散モニター対象エンティティを特定する情報と、該分散モニター対象エンティティがどのように自動的にモニターされるかを特定する情報とを、前記分散消費者エンティティに提供し、該分散消費者エンティティが、前記情報を用いて該分散モニター対象エンティティをモニターするネットワーク・データ処理システム。
  48. 前記分散消費者エンティティが、前記特定のサービスをテストすることによって前記分散モニター対象エンティティをモニターする、請求項47に記載のネットワーク・データ処理システム。
  49. 分散モニター・エンティティが、前記分散公開エンティティによって特定された前記情報を用いて、前記分散モニター対象エンティティ上でモニター方法を実行する、請求項47に記載のネットワーク・データ処理システム。
  50. 基準を満たす結果を受信したことに応答して、前記分散モニター・エンティティが、通知を管理者に送信すること、通知を別のエンティティに送信すること、前記結果をログに記録すること、前記エンティティを再始動すること、前記サービスを提供する新たなエンティティを選択すること、及び、前記エンティティの終了を開始することのうちの少なくとも1つを含む修正措置を実行する、請求項49に記載のネットワーク・データ処理システム。
  51. 分散モニター・エンティティが、前記分散モニター対象エンティティをモニターするために、追加の分散消費者エンティティからの要求を受け入れる、請求項47に記載のネットワーク・データ処理システム。
  52. 分散モニター・エンティティが、前記分散モニター対象エンティティをモニターするための料金を課す、請求項47に記載のネットワーク・データ処理システム。
  53. 分散モニター・エンティティが、前記分散消費者エンティティからの要求に応答して、該分散消費者エンティティのために前記分散モニター対象エンティティの自動モニターを行う、請求項47に記載のネットワーク・データ処理システム。
  54. 前記情報が、認証、識別子、及び、前記分散モニター対象エンティティ上でのモニター方法の実行を可能にするのに用いられるキーのうちの少なくとも1つを含む、請求項47に記載のネットワーク・データ処理システム。
  55. 分散データ処理システムにおいてテストを行うためのデータ処理システムであって、
    バス・システムと、
    前記バス・システムに接続された通信ユニットと、
    前記バス・システムに接続され、命令のセットを含むメモリと、
    前記バス・システムに接続された処理ユニットと、
    を備え、前記処理ユニットが、選択されたサービスに関する情報についてのクライアントからの要求に応答して、前記選択されたサービスを提供する登録済みエンティティを特定し、該選択されたサービスを提供する前記登録済エンティティと該エンティティのためのモニター方法とを特定するコンピュータ読取可能形式の情報を含む応答を前記クライアントに対して送信する、命令の前記セットを実行し、前記情報は、該クライアントが該選択されたサービスを提供する該登録済みエンティティをモニターすることを可能にするものであるデータ処理システム。
  56. サービスの可用性をモニターするためのデータ処理システムであって、
    バス・システムと、
    前記バス・システムに接続された通信ユニットと、
    前記バス・システムに接続され、命令のセットを含むメモリと、
    前記バス・システムに接続された処理ユニットと、
    を備え、前記処理ユニットが、情報についての要求を送信し、情報についての前記要求に対する応答であって、前記サービスを提供するエンティティの特定と前記エンティティをどのようにモニターするかに関するコンピュータ読取可能形式の情報とを含む応答を受信し、前記応答の受信に対応して自動的に前記エンティティをモニターする、命令の前記セットを実行するデータ処理システム。
  57. エンティティのセットのモニターを行うためのデータ処理システムであって、
    バス・システムと、
    前記バス・システムに接続された通信ユニットと、
    前記バス・システムに接続され、命令のセットを含むメモリと、
    前記バス・システムに接続された処理ユニットと、
    を備え、前記処理ユニットが、登録された情報がモニター方法と前記エンティティのセット内の各々のエンティティに対して提供されるサービスとの特定を含むように、該エンティティのセットを登録し、特定のサービスを要求するクライアントに対して、該エンティティのセット内の前記特定のサービスを提供する選択されたエンティティをモニターするために該クライアントが用いる、該エンティティのセットについての情報を選択的に告知する、命令のセットを実行するデータ処理システム。
  58. 分散データ処理システムにおいてテストを行うためのデータ処理システムであって、
    選択されたサービスに関する情報についてのクライアントからの要求に応答して、前記選択されたサービスを提供する登録済みエンティティを特定するための特定手段と、
    前記クライアントに対して応答を送信するための送信手段と、
    を備え、前記応答が、前記選択されたサービスを提供する前記登録済エンティティと該エンティティのためのモニター方法とを特定するコンピュータ読取可能形式の情報を含み、前記情報は、前記クライアントが該選択されたサービスを提供する該登録済みエンティティをモニターすることを可能にするものであるデータ処理システム。
  59. 前記特定手段、及び送信手段が、前記登録済みエンティティ及び分散公開エンティティの少なくとも1つにおいて実行される、請求項58に記載のデータ処理システム。
  60. 前記選択されたサービスを登録するための要求であって、該選択されたサービスに関する情報と該選択されたサービスの適切な作動について前記登録済みエンティティをどのようにモニターすることができるかに関する情報とを含む要求を、該登録済みエンティティから受信するための受信手段と、
    前記要求の受信に応答して、前記選択されたサービスを登録するための登録手段と、
    をさらに備え、前記選択されたサービスを提供する前記登録済みエンティティが、前記クライアントからの前記要求に応答して特定できるようになった、請求項58に記載のデータ処理システム。
  61. 前記クライアントが、前記選択されたサービスを提供する登録済みエンティティである、請求項58に記載のデータ処理システム。
  62. 登録済みエンティティの特定がディレクトリに格納された、請求項58に記載のデータ処理システム。
  63. モニター情報を登録済みエンティティに格納するための格納手段をさらに備える、請求項58に記載のデータ処理システム。
  64. 前記モニター情報が、現在モニターされている登録済みエンティティ、以前にモニターされた登録済みエンティティ、及び、モニターされることが予定された登録済みエンティティのうちの少なくとも1つを含む、請求項58に記載のデータ処理システム。
  65. 前記送信手段が第1の送信手段であり、前記モニター情報についての前記クライアントからの要求に応答して、該モニター情報を該クライアントに送信するための第2の送信手段をさらに備える、請求項58に記載のデータ処理システム。
  66. 前記モニター方法が、前記登録済みエンティティのモニター・インターフェースの特定、該登録済みエンティティが正しく機能していることを応答において示すモニター・インターフェースに要求を送信すること、該登録済みエンティティの少なくとも1つのサービスが正しく機能していることを応答において示すモニター・インターフェースに要求を送信すること、選択されたエラーが予定される登録済みエンティティに無効要求を送信すること、データ・パターンに応答して特定のパターンが予定される登録済みエンティティのポートに前記データ・パターンを送信すること、該登録済みエンティティが正しく機能していることを示す応答が選択された時間内に予定される登録済みエンティティに要求を送信すること、プログラム、PERLスクリプト、RMIクライアント、RMIスタブ、実行可能バイナリのうちの少なくとも1つを含む、請求項58に記載のデータ処理システム。
  67. サービスの可用性をモニターするためのデータ処理システムであって、
    情報についての要求を送信するための送信手段と、
    情報についての前記要求に対する応答であって、前記サービスを提供するエンティティの特定と前記エンティティをどのようにモニターするかに関するコンピュータ読取可能形式の情報とを含む応答を受信するための受信手段と、
    前記応答の受信に対応して自動的に前記エンティティをモニターするためのモニター手段と、
    を備えるデータ処理システム。
  68. 前記エンティティが、前記サービスをテストすることによってモニターされる、請求項67に記載のデータ処理システム。
  69. 前記情報が、前記サービスをテストするのに用いられるモニター方法を特定する、請求項67に記載のデータ処理システム。
  70. 前記応答が分散公開エンティティから受信される、請求項67に記載のデータ処理システム。
  71. 前記応答が特定のサービス・レベルの合意に基づいて受信される、請求項70に記載のデータ処理システム。
  72. 前記エンティティの前記自動モニターが、受信された前記応答、及び、前記モニター対象エンティティと前記データ処理システムとの間に存在する合意の両方に対応するものである、請求項70に記載のデータ処理システム。
  73. 前記エンティティのモニター結果に応答して措置を実行するための実行手段をさらに備える、請求項67に記載のデータ処理システム。
  74. 前記結果が選択された基準を満たす場合には、前記措置が修正措置である、請求項73に記載のデータ処理システム。
  75. 前記修正措置が、通知を管理者に送信すること、通知を別のエンティティに送信すること、前記結果をログに記録すること、前記エンティティを再始動すること、前記サービスを提供する新たなエンティティを選択すること、前記エンティティの終了を開始することのうちの少なくとも1つである、請求項74に記載のデータ処理システム。
  76. 前記修正措置が前記応答に指定されたものである、請求項74に記載のデータ処理システム。
  77. エンティティのセットのモニターを行うためのデータ処理システムであって、
    登録された情報が、モニター方法と前記エンティティのセット内の各々のエンティティに対して提供されるサービスとを特定することを含むように、該エンティティのセットを登録するための登録手段と、
    特定のサービスを要求するクライアントに対して、前記エンティティのセット内の前記特定のサービスを提供する選択されたエンティティをモニターするために該クライアントが用いる、該エンティティのセットについての情報を選択的に告知するための告知手段と、
    を備えるデータ処理システム。
  78. 前記選択的告知手段が、
    前記特定のサービスについての前記クライアントからの要求を受信したことに応答して、前記エンティティのセットからエンティティを特定するための特定手段と、
    前記クライアントに対して応答を送信するための送信手段と、
    を備え、前記応答が、前記エンティティと該エンティティのためのモニター方法とを特定するコンピュータ読取可能形式の情報を含み、前記情報は、前記クライアントが該エンティティをモニターすることを可能にするものである、請求項77に記載のデータ処理システム。
  79. 前記特定手段が第1の特定手段であり、前記送信手段が第1の送信手段であって、前記選択的告知手段が、
    サード・パーティ・モニター・エンティティについての前記クライアントからの要求を受信したことに応答して、前記エンティティをモニターすることが可能な特定のサード・パーティ・モニター・エンティティを特定するための第2の特定手段と、
    前記エンティティをモニターすることが可能な前記特定のサード・パーティ・モニター・エンティティを特定する情報を含む別の応答を、前記クライアントに対して送信するための第2の送信手段と、
    をさらに備える、請求項78に記載のデータ処理システム。
  80. 前記要求が前記モニター方法の特定を含む、請求項79に記載のデータ処理システム。
  81. 前記モニター方法が、テストと、前記特定のサービスに関して前記エンティティの適切な作動を確認するための予定される結果とを指定する、請求項77に記載のデータ処理システム。
  82. 前記エンティティのセット内の1つのエンティティから、前記1つのエンティティをモニターすることができるモニター方法を含む登録要求を受信するための受信手段をさらに備える、請求項77に記載のデータ処理システム。
  83. 前記方法が分散公開エンティティにおいて実行される、請求項77に記載のデータ処理システム。
  84. エンティティをモニターするための、コンピュータ読取可能媒体内のコンピュータ・プログラムであって、
    複数の告知であって、その多くが分散モニター対象エンティティの動作をモニターするのに用いるためのモニター方法についてのコンピュータ読取可能形式の記述を含む、複数の告知を特定するための第1の命令と、
    前記複数の告知をクライアントに公開するための第2の命令と、
    を含み、前記多くの告知の少なくとも1つが、分散モニター対象エンティティが自分自身の動作をモニターするために用いる前記モニター方法を決定し、前記分散モニター対象エンティティをモニターするために分散消費者エンティティが用いる前記モニター方法を決定し、及び、該分散モニター対象エンティティをモニターするためにサード・パーティ分散モニター・エンティティが用いる前記モニター方法を決定することのうちの少なくとも1つを実行するために、クライアントによって用いられるようになったデータ処理システム。
  85. 分散データ処理システムにおいてテストを行うための、コンピュータ読取可能媒体内のコンピュータ・プログラムであって、
    選択されたサービスに関する情報についてのクライアントからの要求に応答して、前記選択されたサービスを提供する登録済みエンティティを特定するための第1の命令と、
    前記クライアントに対して応答を送信するための第2の命令と、
    を含み、前記応答が、前記選択されたサービスを提供する前記登録済エンティティと該エンティティのためのモニター方法とを特定するコンピュータ読取可能形式の情報を含み、前記情報は、前記クライアントが該選択されたサービスを提供する該登録済みエンティティをモニターすることを可能にするものであるコンピュータ・プログラム。
  86. サービスの可用性をモニターするための、コンピュータ読取可能媒体内のコンピュータ・プログラムであって、
    情報についての要求を送信するための第1の命令と、
    情報についての前記要求に対する応答であって、前記サービスを提供するエンティティの特定と前記エンティティをどのようにモニターするかに関するコンピュータ読取可能形式の情報とを含む応答を受信するための第2の命令と、
    前記応答の受信に対応して自動的に前記エンティティをモニターするための第3の命令と、
    を含むコンピュータ・プログラム。
  87. エンティティのセットのモニターを行うための、コンピュータ読取可能媒体内のコンピュータ・プログラムであって、
    登録された情報が、モニター方法と前記エンティティのセット内の各々のエンティティに対して提供されるサービスとを特定することを含むように、該エンティティのセットを登録するための第1の命令と、
    特定のサービスを要求するクライアントに対して、前記エンティティのセット内の前記特定のサービスを提供する選択されたエンティティをモニターするために該クライアントが用いる、該エンティティのセットについての情報を選択的に告知するための第2の命令と、
    を含むコンピュータ・プログラム。
JP2004537790A 2002-09-20 2003-09-12 分散データ処理システムにおいてサービスを提供するエンティティを公開し、モニターするための方法及び装置 Expired - Lifetime JP4410679B2 (ja)

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
PCT/US2003/028766 WO2004027553A2 (en) 2002-09-20 2003-09-12 Method and apparatus for publishing and monitoring entities providing services in a distributed data processing system

Publications (3)

Publication Number Publication Date
JP2006500656A true JP2006500656A (ja) 2006-01-05
JP2006500656A5 JP2006500656A5 (ja) 2006-10-26
JP4410679B2 JP4410679B2 (ja) 2010-02-03

Family

ID=31993022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004537790A Expired - Lifetime JP4410679B2 (ja) 2002-09-20 2003-09-12 分散データ処理システムにおいてサービスを提供するエンティティを公開し、モニターするための方法及び装置

Country Status (8)

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

Families Citing this family (37)

* 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
EP1614255B1 (en) * 2003-04-04 2014-09-03 CA, Inc. Method and system for discovery of remote agents
US7831458B2 (en) * 2003-04-09 2010-11-09 Siemens Aktiengesellschaft Method and system for supplying a number of service providers with technical service devices
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
US20070118496A1 (en) * 2005-11-21 2007-05-24 Christof Bornhoevd Service-to-device mapping for smart items
US8005879B2 (en) * 2005-11-21 2011-08-23 Sap Ag Service-to-device re-mapping for smart items
US7860968B2 (en) * 2005-11-21 2010-12-28 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for smart items
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
US8522341B2 (en) 2006-03-31 2013-08-27 Sap Ag Active intervention in service-to-device mapping for smart items
US8065411B2 (en) * 2006-05-31 2011-11-22 Sap Ag System monitor for networks of nodes
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
US7992135B1 (en) * 2006-06-26 2011-08-02 Adobe Systems Incorporated Certification of server-side partner plug-ins for analytics and privacy protection
US8352917B2 (en) * 2006-06-26 2013-01-08 Adobe Systems Incorporated Web-beacon plug-ins and their certification
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服务器服务状态检测方法及系统
KR101415528B1 (ko) * 2012-10-30 2014-07-04 한국과학기술정보연구원 분산된 시스템을 위한 데이터 오류 처리 장치 및 방법
CN103927157A (zh) * 2013-05-16 2014-07-16 河北省健海生物芯片技术有限责任公司 构建分布式计算系统实体方法
KR101992978B1 (ko) * 2017-07-26 2019-06-25 한전케이디엔 주식회사 데이터 분산 서비스를 이용한 응용프로그램 원격 테스트 장치
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
BR9914200A (pt) 1998-09-30 2002-01-22 Cadence Design Systems Inc Métodos para projetar um sistema de circuito, para expandir uma metodologia existente para avaliar a viabilidade de um projeto de circuito, para realizar uma avaliação de viabilidade para um projeto de circuito, para refinar uma primeira regra de decisão para um projeto de circuito, para formar uma segunda regra de decisão para um projeto de circuito, para organizar os dados de experiência de um projetista relativos a uma pluralidade de blocos de circuito pré-projetados, para aumentar a eficiência de distribuição de lógica de cola e para distribuir uma pluralidade de elementos lógicos de cola entre os blocos de projeto e distribuir lógica de cola para execução em um esquema de projeto de dispositivo de circuito integrado, para converter uma interface especìfica de um bloco de circuito, para selecionar um coletor de circuito, para projetar um dispositivo que incorpora o projeto e habilitar um teste do dispositivo, para verificar o correto funcionamento de um projeto de circuito e para desenvolver uma bancada de teste de nìvel comportamental, interface de colar e sistema de interface
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
US7103647B2 (en) * 1999-08-23 2006-09-05 Terraspring, Inc. Symbolic definition of a computer system
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US6553548B1 (en) 1999-12-14 2003-04-22 International Business Machines Corporation System and method for recovering from 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
WO2002025438A1 (en) 2000-09-22 2002-03-28 Patchlink.Com 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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4410679B2 (ja) 分散データ処理システムにおいてサービスを提供するエンティティを公開し、モニターするための方法及び装置
KR100763318B1 (ko) 상거래 파이프라인 분해 방법 및 시스템
US9369521B2 (en) Naming of distributed business transactions
US10158541B2 (en) Group server performance correction via actions to server subset
US7426736B2 (en) Business systems management solution for end-to-end event management using business system operational constraints
US7188155B2 (en) Apparatus and method for selecting a web service in response to a request from a client device
US7136881B2 (en) Method and system for processing directory events
CN108681777B (zh) 一种基于分布式系统的机器学习程序运行的方法和装置
JP2005538459A (ja) 分散システム内の根本原因識別および問題判定のための方法および装置
JP2006500656A5 (ja)
US20020087623A1 (en) Method and apparatus for determining network topology and/or managing network related tasks
TW200900956A (en) Identifying appropriate client-side script references
US20150227412A1 (en) Server performance correction using remote server actions
CA2480955A1 (en) System and method for monitoring a computer application
US20050076325A1 (en) Automatic software update of nodes in a network data processing system
US9176719B2 (en) Resolving prerequisites for a client device in an open service gateway initiative (OSGI) framework
JP2004310166A (ja) 情報処理装置管理システム
US7380244B1 (en) Status display tool
JP2001306364A (ja) トランザクション処理システムおよびその記録媒体
JP2002259234A (ja) アクセス制御装置及びアクセス制御プログラム
JP2004185463A (ja) Webアプリケーション監視システム及び監視センタ用コンピュータ並びにコンピュータ・ソフトウエア

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060908

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090618

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090618

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20090618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091005

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091005

TRDD Decision of grant or rejection written
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091102

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20091102

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091102

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091113

R150 Certificate of patent or registration of utility model

Ref document number: 4410679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

EXPY Cancellation because of completion of term