JP4400834B2 - 情報システムに発生したイベントのパターンを検出する技術 - Google Patents

情報システムに発生したイベントのパターンを検出する技術 Download PDF

Info

Publication number
JP4400834B2
JP4400834B2 JP2007162085A JP2007162085A JP4400834B2 JP 4400834 B2 JP4400834 B2 JP 4400834B2 JP 2007162085 A JP2007162085 A JP 2007162085A JP 2007162085 A JP2007162085 A JP 2007162085A JP 4400834 B2 JP4400834 B2 JP 4400834B2
Authority
JP
Japan
Prior art keywords
information processing
task
event
processing apparatus
processed
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.)
Expired - Fee Related
Application number
JP2007162085A
Other languages
English (en)
Other versions
JP2009003594A (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
Priority to JP2007162085A priority Critical patent/JP4400834B2/ja
Priority to US12/137,581 priority patent/US7992053B2/en
Publication of JP2009003594A publication Critical patent/JP2009003594A/ja
Application granted granted Critical
Publication of JP4400834B2 publication Critical patent/JP4400834B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Description

本発明は、情報システムに発生したイベントを検出する技術に関する。特に、本発明は、イベントが予め定められた発生パターンで発生したかを検出する技術に関する。
コンピュータ・システムには、動作障害や性能障害などの問題が発生する場合のみならず、障害とまではいえないが、コンピュータ・システムの設定がその用途に合致していないため設定変更をした方がよい場合がある。このような問題や設定変更の必要が生じることは症状(シンプトン・Symptom)と呼ばれており、症状の検出と対処によってコンピュータ・システムを効率的かつ安全に管理できる。しかしながら、近年、コンピュータ・システムは複雑化しており、症状が発生した場合にそれを検出・対処するのは容易でない。これに対し、コンピュータに生じた症状をコンピュータ自体が検出して対処する技術が提案されている(非特許文献1を参照。)。
オートノミック・コンピューティング・アーキテクチャーに関するブループリント、ホームページURL「http://www-06.ibm.com/jp/autonomic/pdf/2006_AC_Blueprint_2006_06.pdf」、2007年6月5日検索
オートノミック・コンピューティングにおいて、症状を検出・対処する仕組みは、オートノミック・マネージャと呼ばれ、分析、計画および実行の各機能から構成される(非特許文献1の第10−11ページを参照。)。そして、オートノミック・マネージャに新たな機能を追加して、例えば新たな症状を検出可能とするためには、知識ベースが用いられる(非特許文献1の第12ページを参照。)。このため、この仕組みを適切に機能させるためには、まず、分析に必要なイベントの情報を充分に収集でき、次に、計画および実行の実現のために充分な演算処理能力を利用でき、さらには、知識ベースを蓄積するための充分な記憶領域を有することが望ましい。
一方、近年、携帯電話やPDA、家電製品などのデバイスにもコンピュータとしての諸機能が搭載されるようになってきている。しかしながら、これらのデバイスには充分な演算処理能力や記憶領域が備わっておらず、これらのデバイスでオートノミック・マネージャを適切に動作させるのは難しい。また、デバイス単体の動作から特定の症状の発生を判定するのは難しく、そのデバイスと通信するサーバ装置を含む複合的な要因が特定の症状を引き起こす場合もある。したがって、例え演算処理能力が充分でも各デバイスでオートノミック・マネージャを動作させるのは適切でない場合がある。
一方、このようなデバイスは近年爆発的に普及しているため、各デバイスにおいて発生した症状をサーバ装置が集中的に管理しようとしても、サーバ装置の処理能力が不足するおそれがある。また、これらのデバイスは通信状態が不安定な場合も多く、サーバ装置が各デバイスの状態を収集しようとしても適切に収集できないおそれがある。また、デバイスがサーバ装置に対し症状の検出・対処を依頼する仕組みとすれば、デバイスがそれ自体で症状の検出・対処を行う場合と比べて、通信処理の分だけ処理に時間がかかってしまい、操作性や利便性の低下を引き起こすおそれがある。
そこで本発明は、上記の課題を解決することのできるシステム、情報処理装置、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の第1の側面においては、複数の情報処理装置を備え、前記複数の情報処理装置においてイベントが予め定められた発生パターンで発生したかを検出するシステムであって、前記複数の情報処理装置のそれぞれが、検出するべきイベントの発生パターンごとに、イベントが当該発生パターンで発生したことを判定するための複数の条件のそれぞれが満たされたかどうかをそれぞれ判定する、複数のタスクを記憶する記憶装置と、イベントの発生に応じて、当該イベントを含む発生パターンを前記記憶装置から検索し、検索した当該発生パターンに対応する複数のタスクを前記記憶装置から読み出して、読み出したそれぞれのタスクを何れの情報処理装置で処理させるか判断する処理判断部と、当該情報処理装置で処理すると判断したタスクを処理し、他の情報処理装置に処理させると判断したタスクを当該他の情報処理装置に指示して処理させる処理実行部と、当該情報処理装置で処理したタスク、および、他の情報処理装置に処理させたタスクの処理結果が、前記複数の条件を充足することを条件に、イベントが前記予め定められた発生パターンで発生したと判定する検出部とを備えるシステムを提供する。また、当該システムに設けられた情報処理装置、当該情報処理装置によりイベントを検出させる方法、および、当該情報処理装置によりイベントを検出させるプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施の形態に係る情報システム10の全体構成の概要を示す。情報システム10は、複数の情報処理装置、例えば、情報処理装置100Aと、情報処理装置100Bと、情報処理装置100Cと、情報処理装置100Dと、情報処理装置100Eとを備える。情報処理装置100A−Eのそれぞれは、例えば、パーソナルコンピュータ、サーバ装置、または、ホストコンピュータなどの汎用の装置である。これに代えて、情報処理装置100A−Eのそれぞれは、プリンタ・スキャナなどの入出力装置、ネットワークスイッチ、および、NAS(Network Attached Storage)などの特定目的の機器であってもよい。さらに、情報処理装置100A−Eのそれぞれは、携帯電話、PDA(Personal Digital Assistant)、カーナビゲーション・システム、または、オーディオプレーヤーなどの携帯型または移動体に設けられた機器であってもよい。また、情報処理装置100A−Eのそれぞれは、ビデオカメラなどの電化製品であってもよい。
情報処理装置100A−Eのそれぞれは、ハードウェアの基本構成として、記憶装置、通信インターフェイス、および、CPUを備える。そして、情報処理装置100A−Eのそれぞれは、備えているCPUの処理により、少なくとも1つのアプリケーション・プログラムおよびオートノミック・マネージャを動作させている。情報処理装置100Aに備えられる記憶装置を記憶装置104Aとし、通信インターフェイスを通信インターフェイス106Aとし、情報処理装置100Aで動作するアプリケーション・プログラムをアプリケーション・プログラム108Aとし、オートノミック・マネージャをオートノミック・マネージャ102Aとする。情報処理装置100B−Eのそれぞれについても同様に、各ハードウェア/ソフトウェア・コンポーネントを示す符号には、そのコンポーネントを備える情報処理装置の符号に付加された添え字B−Eを付加して示す。
また、情報処理装置100Aは、情報処理装置100Cおよび情報処理装置100Dのそれぞれに直接接続しているが、情報処理装置100Bおよび情報処理装置100Eには直接接続していない。情報処理装置100Bは、情報処理装置100Dおよび情報処理装置100Eのそれぞれに直接接続しているが、情報処理装置100Aおよび情報処理装置100Cには直接接続していない。情報処理装置100Dは、情報処理装置100A、情報処理装置100B、情報処理装置100Cおよび情報処理装置100Eのそれぞれと直接接続している。ここでいう接続とは、有線もしくは無線、または、これらの組合せにより実現されてもよい。また、接続とは、必ずしも物理的な通信経路の確立を意味せず、実際にはブロードキャスト型のネットワークを媒介とした、論理的な通信経路を意味してもよい。情報処理装置100A−Eが備える通信インターフェイス106A−Eは、これらの物理的な又は論理的な通信経路により相互に通信する。なお、情報処理装置がグラフ状に接続されていることから、以降の説明においては、情報処理装置のことをグラフのノードに見立てて「ノード」として参照する場合がある。
以上の各情報処理装置は略同一に動作するので、以下、これらを代表して情報処理装置100Cについて更に詳しく説明する。情報処理装置100Cは、オートノミック・マネージャ102Cと、記憶装置104Cと、通信インターフェイス106Cと、アプリケーション・プログラム108Cとを有する。オートノミック・マネージャ102Cは、情報システム10においてイベントが予め定められた発生パターンで発生したかを検出する。これを実現するために、まず、記憶装置104Cは、検出するべき発生パターンを示すパターンデータを記憶している。そして、オートノミック・マネージャ102Cは、アプリケーション・プログラム108Cにおいて発生したイベントをアプリケーション・プログラム108Cから取得し、または、他の情報処理装置において発生したイベントを通信インターフェイス106Cを介して取得する。そして、オートノミック・マネージャ102Cは、取得したイベントの発生パターンが、記憶装置104Cに記憶しているパターンデータと一致するかを判断する。
一致していれば、オートノミック・マネージャ102Cは、情報システム10に所定の症状が表れたものとして利用者に通知し、あるいは、予め定められた内容の設定変更を行う。オートノミック・マネージャ102A−B、D−Eのそれぞれもオートノミック・マネージャ102Cと同様に、イベント発生の検出とその対応を独自に行う。但し、記憶装置104A−Eのそれぞれは、他の装置とは異なるパターンデータを記憶してもよく、望ましくは、それを備える情報処理装置における検出に適した発生パターンのみを記憶している。これにより、情報処理装置100A−Eにおいて検出される発生パターンを互いに異ならせて、パターン検出の処理全体を複数の装置に分散させることができる。
本実施の形態に係る情報システム10は、このように各情報処理装置がそれぞれ独立にイベントおよびパターンデータを格納する構成において、各情報処理装置が協働してイベントのパターンを検出することを目的とする。
図2は、本実施の形態に係るオートノミック・マネージャ102Cの機能構成を、記憶装置104Cのデータ構造と対応させて示す図である。オートノミック・マネージャ102Cは、イベントハンドラ部と、コリレーション部と、対策実行部285と、生成部230と、要求受信部290と、要求送信部295とを備える。また、記憶装置104Cは、シンプトン記憶部200と、イベント記憶部210と、ノード情報記憶部220とを有する。シンプトン記憶部200は、情報処理装置100Cにおいて検出するべきイベントの発生パターンを示すパターンデータを少なくとも1つ記憶している。パターンデータは、例えば、複数のタスクを含む。これら複数のタスクのそれぞれは、イベントがその発生パターンで発生したことを判定するための複数の条件のそれぞれが満たされたかどうかをそれぞれ判定する。このほかに、シンプトン記憶部200は、イベントが当該発生パターンで発生した場合に実行する処理である対策処理などを記憶している。このようなパターンデータおよび対策処理などの組をシンプトンデータと呼び、後に図6a−bを参照して具体的に説明する。
イベント記憶部210は、アプリケーション・プログラム108Cで発生したイベント、および、外部から取得したイベントを記憶するために記憶装置104C内に設けられた記憶領域である。ノード情報記憶部220は、情報処理装置100C自体による検出に必要なイベント、および、他の情報処理装置で必要なため当該他の情報処理装置が転送を要求するイベントの集合を記憶している。これらの具体例についても後に図4−5を参照して説明する。生成部230は、シンプトン記憶部200からパターンデータを読み出して、そのパターンデータが示す発生パターンにおいて検出されるべきイベントの集合を特定する。(なお、以降の説明において、ある発生パターンにおいて検出されるべきイベントのことを、その発生パターンに含まれるイベントとも呼ぶ。)そして、生成部230は、特定したイベントの集合を示す必要イベントデータを生成し、ノード情報記憶部220に格納する。
これに加えて、生成部230は、情報処理装置100Cの処理能力および処理負荷に基づいて、当該情報処理装置100Cにおいて検出可能なイベントの発生パターンを特定してもよい。この場合、生成部230は、特定した何れかの発生パターンに含まれるイベントの集合を示す検出可能イベントデータを生成して、ノード情報記憶部220に格納する。さらにこの場合、生成部230は、情報処理装置100Cの処理能力および処理負荷の変化に基づいて、生成したこの検出可能イベントデータを更新してもよい。生成部230は、この検出可能イベントデータの更新に応じて、更新したこの検出可能イベントデータを、隣接する他の情報処理装置100に送信して、当該隣接する他の情報処理装置100において必要イベントデータを更新させる。
イベントハンドラ部は、情報処理装置100C(即ちアプリケーション・プログラム108C)で発生したイベント、および、他の情報処理装置から転送を受けたイベントを、当該情報処理装置100Cで処理対象とするか、あるいは、他の装置に転送して他の装置において処理対象とするかを判断する。具体的には、イベントハンドラ部は、選択部240および転送部250を有する。選択部240は、情報処理装置100C(即ちアプリケーション・プログラム108C)で発生したイベント、および、他の情報処理装置から転送を受けたイベントを取得する。望ましくは、選択部240は、情報処理装置100Cに隣接する(即ち、他の情報処理装置を介在させずに直接接続する)情報処理装置からのみイベントを取得する。例えば本実施の形態において、情報処理装置100Cは情報処理装置100Aまたは情報処理装置100Dからイベントを取得する。取得したイベントを示すデータをイベントデータ30とする。
そして、選択部240は、発生/取得したこれらのイベントのうち、生成部230により生成された必要イベントデータまたは検出可能イベントデータに含まれるイベントを選択する。そして、選択部240は、選択したイベントをイベント記憶部210に格納すると共に処理判断部260に通知する。なお、選択部240は、イベント記憶部210の空き容量が予め定められたサイズ以上であることを条件に、必要/検出可能イベントデータに含まれないイベントであってもイベント記憶部210に格納してもよい。
転送部250は、この必要イベントデータおよびこの検出可能イベントデータの何れにも含まれないイベントを、他の情報処理装置、例えば、情報処理装置100Aまたは情報処理装置100Dに転送する。これに代えて、または、これに加えて、転送部250は、発生したイベントが必要イベントデータ等に含まれるかどうかに関わらず、発生したイベントが他の情報処理装置に対応する要求イベントデータに含まれていれば、そのイベントを選択して当該他の情報処理装置に転送してよい。
コリレーション部は、選択されたイベントに基づいて、そのイベントを含むイベントの発生パターンが予め定められたパターンに一致するかを判断して、判断結果を出力する。詳細には、この一致の判断は、完全一致のみならず、新たに発生したイベントのパターンをイベントの発生履歴と比較した相関の大きさなどに基づく。この判断の技術は、例えば、ACT(Active Correlation Technology)として知られている。このほかに、コリレーション部は、このパターンの検出の処理を、他の情報処理装置と協働して実現する機能を有する。具体的には、コリレーション部は、処理判断部260と、処理実行部270と、検出部280とを有する。
処理判断部260は、選択部240からイベント発生の通知を受けて、発生したイベントを含む発生パターンをシンプトン記憶部200から検索し、検索した当該発生パターンに対応する複数のタスクをシンプトン記憶部200から読み出す。そして、処理判断部260は、読み出したそれぞれのタスクを何れの情報処理装置で処理させるか判断する。この判断は、予め各タスクに対応付けてそのタスクをどの装置で処理させるかを記憶したデータに基づいてもよいし、タスクの処理に必要なイベントについての転送記録に基づいてもよい。
処理実行部270は、情報処理装置100Cで処理すると判断したタスクを処理する。また、処理実行部270は、他の情報処理装置に処理させると判断したタスクを当該他の情報処理装置に指示して処理させる。検出部280は、選択部240から通知されたイベントが、パターンデータの示す発生パターンに一致するかを検出して、検出結果を出力する。この検出の処理は、各タスクが判定した各条件が充足するかを判定することにより実現される。このため、検出部280は、処理実行部270の処理結果の他、他の情報処理装置に処理させたタスクの処理結果に基づき検出の可否を判断する。そして、対策実行部285は、イベントがその発生パターンで発生したことを条件に、そのパターンデータに対応付けてシンプトン記憶部200に記憶される対策処理を読み出して、それを実行する。対策処理は、例えば、アプリケーション・プログラム108Cの設定変更などである。
要求受信部290および要求送信部295は、必要イベントデータを配信する役割を果たす。具体的には以下の通りである。要求受信部290は、隣接する他の情報処理装置から、当該隣接する他の情報処理装置が転送を要求するイベントの集合を示す要求イベントデータを受信する。そして、要求送信部295は、受信したその要求イベントデータに、ノード情報記憶部220から読み出した当該情報処理装置100Cの必要イベントデータ、および、検出可能イベントデータを組み合わせて、当該情報処理装置100Cの要求イベントデータを生成する。この要求イベントデータは、即ち、情報処理装置100Cが、隣接する他の情報処理装置に対して転送を要求するイベントの集合を示す。そして、要求送信部295は、その要求イベントデータを、隣接する他の情報処理装置に送信する。送信先からは、元の要求イベントデータの送信元は除外される。即ち例えば情報処理装置100Cは要求イベントデータを情報処理装置100Aから受信した場合にはそれを情報処理装置100Dに転送する。
図3aは、本実施の形態に係るイベントデータ30のデータ構造の一例を示す。図3bは、本実施の形態に係るイベント本体部300の具体例を示す。イベントデータ30は、イベント本体部300と、転送経路情報330とを含む。イベント本体部300は、例えば、図3bに例示するように、XML(eXtensible Markup Language)などで記述された構造化データであり、一例としては、WSDM(Web Services Distributed Management)のEvent Formatに準拠している。また、転送経路情報330は、当該イベントの発生元および転送経路の情報処理装置の識別情報を含んでいる。選択部240は、イベントを転送しようとする場合にこの転送経路の情報を参照することで、既に当該イベントを受け取った装置をイベントの転送先から除外できる。
イベント本体部300は、イベントID305と、イベント発生元310と、イベント内容320とを少なくとも含む。イベントID305は、図3bの3行目に示すように、イベントの識別情報を示すタグに対応付けて記録される。また、イベント発生元310は、4−9行目に示すように、イベント発生元の装置のURL(Uniform Resource Locator)およびその装置の名称などを含む。また、イベント内容320は、10−21行目に示すように、イベントの詳細な内容やイベント発生時の状況を含む。この図の例では、17行目に示すように、プリンタが用紙切れになったことが記録されている。このように、イベントとは、ハードウェアやソフトウェアのコンポーネントがその動作状況を知らせるために出力する情報のことをいう。なお、当該技術分野ではよくあることだが、本実施の形態において、イベントという用語は、その動作状況そのものを指すだけでなく、その動作状況を記したデータという意味としても用いる。
図4は、本実施の形態に係るイベント記憶部210のデータ構造の一例を示す。イベント記憶部210は、イベントの識別情報と、イベントと、そのイベントが他の装置から転送されたものである場合にはその転送元の情報処理装置の識別情報と、そのイベントを削除したかどうかを示すフラグと、そのイベントを転送した転送先の情報処理装置の識別情報とを対応付けて記憶している。例えば、イベント1234(識別情報が1234のイベントのことをいう、以下同様)は、情報処理装置100Eにおいて6:00時に発生し、その内容にはそのイベント1234のプライオリティが0であることが含まれている。そして、そのイベント1234は情報処理装置100Dから転送を受けたものであるので、転送部250はそのイベント1234に対応付けて情報処理装置100Dの識別情報を記憶している。また、転送部250はそのイベント1234を削除も転送もしていないので、イベント記憶部210は、削除済フラグも転送先の識別情報も記憶していない。
一方で、転送部250は、イベント記憶部210から削除したイベントについては、そのイベントの識別情報を当該イベントの転送先の情報処理装置に対応付けて記憶している。具体的には、イベント記憶部210は、イベント2345の内容は削除して、その代わりに、削除済フラグをセットし、かつ、転送先の情報処理装置の識別情報を記憶している。この場合であっても、転送部250は、イベントの発生元や発生時刻などの、そのイベントのカテゴリを識別するために最低限必要な情報は削除せずに記憶しつつけてもよい。他の例として、転送部250は、イベントを削除したかどうかに関わらず、イベントを転送してもよい。この場合には、例えばイベント3456のように、削除済みフラグはリセットされたままだが、転送先の識別情報はイベント記憶部210に記憶される。
図5は、本実施の形態に係るノード情報記憶部220のデータ構造の一例を示す。ノード情報記憶部220は、当該情報処理装置100Cに隣接する他の情報処理装置ごとに、当該隣接する他の情報処理装置が転送を要求するイベントの集合を示す要求イベントデータを記憶している。具体的には、情報処理装置100Aの要求イベントデータは、1234、2345などであり、情報処理装置100Dの要求イベントデータは、5678、6789などである。これを参照すれば、転送部250はイベントを適切な装置に転送できる。例えば、情報処理装置100Cがイベント1234を取得した場合には、転送部250はこのイベントを情報処理装置100Aに転送し、イベント5678を取得した場合には、転送部250はこのイベントを情報処理装置100Dに転送できる。
隣接するある他の情報処理装置の要求イベントデータは、当該隣接する他の情報処理装置の必要イベントデータ若しくは検出可能イベントデータに含まれるか、または、当該隣接する他の情報処理装置に隣接する更に他の情報処理装置の要求イベントデータに含まれるイベントの集合を示している。例えば、情報処理装置100Dの要求イベントデータは、情報処理装置100Dの必要イベントデータのみならず、情報処理装置100Bや情報処理装置100Eの必要イベントデータも含む。要求イベントデータをこのように構成させることで、隣接する情報処理装置を順次経由した適切な経路によって、結果としてイベントを必要とする情報処理装置に適切にそのイベントを到達させることができる。要求イベントデータを各装置に伝播させる技術については、図9a−bおよび図10を参照して後に説明する。
また、ノード情報記憶部220は、当該情報処理装置100C自体の必要イベントデータおよび検出可能イベントデータを更に記憶している。必要イベントデータは、上述のように、当該情報処理装置100Cで行う発生パターンの検出に必要なイベントの集合であるため、当該情報処理装置100Cが興味を持つイベントの集合という意味でインタレスト(Interest)データとも呼ぶ。なお、必要イベントデータは、これに関わらず、当該情報処理装置100Cの管理者のポリシーに従って任意に定められてもよい。また、検出可能イベントデータは、上述のように、当該情報処理装置100Cの処理能力等の観点から検出可能なイベントの集合であるため、ケイパビリティ(Capability)データとも呼ぶ。このように各種データがノード情報記憶部220に記憶されているので、選択部240は、ノード情報記憶部220を参照して、イベント記憶部210に格納するべきイベントを適切に判断することができる。
図6aは、本実施の形態に係るシンプトン記憶部200のデータ構造の一例を示す。シンプトン記憶部200は、検出するべきイベントの発生パターンごとにシンプトンデータを記憶している。具体的には、シンプトン記憶部200はシンプトンデータ60−1〜Nを記憶している。記憶しているシンプトンデータ60の組合せは、情報処理装置100ごとに異なっている。情報処理装置100は、製品として出荷されるときから、あるいは、オートノミック・マネージャ102をインストールしたときから、予め所定のシンプトンデータ60を記憶していてもよいが、以下のように動的にシンプトンデータ60を取得してもよい。例えば、ある情報処理装置100(情報処理装置100Cとする)が新たに情報システム10に接続したときに、情報処理装置100Cは、既に情報システム10に含まれている他の情報処理装置100(情報処理装置100Dとする)に対し、シンプトンデータ60を要求する。この要求には、情報処理装置100Cが設けられている場所や、情報処理装置100Cの所属などの属性情報が対応付けられて送信されてもよい。情報処理装置100Dは、この属性情報に基づいて、情報処理装置100Dのシンプトン記憶部200が格納しているシンプトンデータ60の中から選択したシンプトンデータ60を、情報処理装置100Cに返信する。
次に、これらのシンプトンデータ60−1〜Nを代表してシンプトンデータ60−1について説明する。シンプトンデータ60−1は、パターンデータ600と、シンプトン詳細データ610と、対策処理データ620とを含む。パターンデータ600は、情報処理装置100Cにおいて検出するべきイベントの発生パターンを示す。具体的には、パターンデータ600は、複数のタスク(例えばタスク605−1〜M)のそれぞれを、そのタスクを処理させる情報処理装置の識別情報(例えば識別情報608−1〜M)に対応付けて含んでいる。
一例として、タスク605−1は、ある条件を判定するタスクであり、その処理をさせる情報処理装置の識別情報である識別情報608−1に対応付けられている。一方で、タスク605−2のように、その処理をさせる情報処理装置の識別情報が対応付けられていないタスクがあってもよい。また、シンプトン詳細データ610は、各タスクにより判定された条件が満たされた場合に、情報システム10に表れている症状を示す。このシンプトン詳細データ610は、当該条件が満たされた場合に出力されてもよいし、何ら処理に用いられなくとも、システム管理者がシンプトンデータ60−1の保守・点検をする場合に参照可能となっていてもよい。
また、対策処理データ620は、イベントが当該発生パターンで発生した場合に実行する処理を示している。ここでは、例えば、「コンポーネントAの動作優先度を2に設定する」というように、具体的な設定作業の詳細が記録されている。対策処理データ620は、このような具体的な設定作業の他、「発生したイベントに関する情報を表示する」というように、利用者に対し注意を喚起する処理を示してもよい。なお、本実施の形態では説明のために設定処理の内容を自然言語で示したが、実際には、対策処理データ620には、そのような設定をするための具体的なコマンド(例えば呼び出すべきメソッド)やそのパラメータが含まれてよい。さらに、シンプトン記憶部200は、対策処理データ620に対応付けて、その対策処理を実行する情報処理装置の識別情報を示す識別情報622を記憶していてもよい。これにより、全タスクの実行を終えた情報処理装置は、その後の対策処理をどこで実行させるかを判別できる。
図6bは、タスク605−1〜2の具体例を示す。これらのタスクも、例えば、XMLなどの言語によって構造化されたデータであってもよい。タスク605−1は、部分式630および出力定義640を含む。部分式630が判定処理の実体を示す。例えば、部分式630は、複数のイベントのそれぞれについて、発生したイベントのIDや属性が所定の値であるかどうか判定し、その判定結果を示す論理値を、論理積演算または論理和演算して評価値を算出することを示している。出力定義640は、評価値とは別に、他のタスクへ出力するべき数値の演算方法を示している。
タスク605−2は、部分式650を含む。部分式650も、部分式630と同様に、複数のイベントの各々について、そのIDや属性を判定して、その判定結果に基づいて論理式を評価している。また、部分式650は、その過程で、出力定義640において算出された出力値を参照すべきことを示している。
各タスクが判定する条件は、このような各イベントのIDや属性に基づくものに限られない。例えばこのほかに、各タスクは、あるイベントの発生回数、複数のイベントが発生した順序、ある組合せのイベントが所定の期間内に発生したかどうか、もしくは、あるイベントが発生しなかったか、または、これらの組合せに基づく判定を行ってよい。
このように、シンプトン記憶部200に記憶したタスクのそれぞれは、その処理内容として論理式の評価を含む。そして、論理式を評価するためには、複数の部分式のそれぞれを評価して、その評価値を論理演算する必要がある。このような各部分式の評価もまた、独立したタスクを構成してもよい。そのような部分式の組合せの具体例を図6cに示す。
図6cは、ある発生パターンを検出するために実行されるタスクの組合せの具体例を示す。この具体例において、複数のタスク(即ちタスクA−HおよびX)のそれぞれは、処理結果として論理値を出力する。そして、これらのタスクの処理結果である論理値の組み合わせが、イベントが所定の発生パターンで発生したことを評価する論理式となる。即ち、図6cは、検出するべきイベントの発生パターンに対応付けられた論理式を表しており、当該論理式の評価値に基づき当該発生パターンが検出されたかどうかが判断される。
具体的には、タスクXは、まず、タスクGの出力を示す論理値、および、タスクHの出力を示す論理値の論理積を算出する。そして、タスクXは、その論理積と、タスクDの出力を示す論理値と、タスクEの出力を示す論理値と、タスクFの出力を示す論理値との論理和を算出する。最後に、タスクXは、その論理和と、タスクAの出力を示す論理値と、タスクBの出力を示す論理値と、タスクCの出力を示す論理値との論理積を求めて、タスクXの評価値として出力する。
図7は、本実施の形態に係るオートノミック・マネージャ102Cが、イベントの取得に応じて行う処理のフローチャートを示す。図7および図10−12を参照して、オートノミック・マネージャ102Cがイベントの発生に応じてタスクを実行する処理について説明する。まず、選択部240および転送部250は、アプリケーション・プログラム108Cからイベントを取得し、または、隣接する他の情報処理装置からイベントの転送を受ける(S700)。取得されるイベントは、情報システム10において発生した全てのイベントのうちの一部である。情報処理装置100Cの必要イベントデータおよび検出可能イベントデータに含まれるイベントのみが、隣接する他の情報処理装置から転送されてくる。これに加えて、必要イベントデータまたは検出可能イベントデータに含まれていないイベントを、隣接する更に他の情報処理装置に転送するために、取得してもよい。
そして、処理判断部260は、取得したその一部のイベントを含む発生パターンをシンプトン記憶部200から検索する(S710)。検索される発生パターンは複数の場合もあるが、以下ではそれら複数の発生パターンのそれぞれについて行う処理を説明する。処理実行部270は、取得したその一部のイベントを含む発生パターンに対応する複数のタスク605をシンプトン記憶部200のシンプトンデータ60から読み出して、読み出したこれら複数のタスク605のうち、取得したその一部のイベントに基づき処理可能なタスク605を処理する(S720)。処理可能なタスク605とは、そのタスク605が論理値を評価するために入力とする全てのイベントが、情報処理装置100Cにより取得されたイベントに含まれるタスク605である。
例えば、タスクAがイベント1およびイベント2を入力とするとき、イベント1も2も情報処理装置100Cに取得されていれば、タスクAは情報処理装置100Cにより処理可能であるが、イベント1しか取得されていなければ、タスクAは情報処理装置100Cによっては処理不能である。より詳細な例を図9に示す。
図9は、S720における処理の具体例を説明するための図である。この例において、タスクA、タスクD、および、タスクHのみが情報処理装置100Cにより処理可能である。これらのタスクを処理した結果、タスクAの評価値は論理値真となり、タスクDの評価値は論理値偽となり、タスクHの評価値は論理値偽となる。
図7に戻る。次に、処理判断部260は、検出対象の発生パターンに対応付けて読み出した複数のタスク605のうち、処理実行部270によっては処理不能であって処理されず、かつ、論理式の最終的な出力を得るために処理が必要なタスク605があるかどうかを判断する(S730)。この判断の処理の具体例を図10に示す。
図10は、S730における処理の具体例を説明するための図である。処理判断部260は、処理されたタスク605が出力する論理値に基づいて、評価するべき論理式のうち最終的な評価値を算出するためには処理する必要のないタスクを除外する。例えば、タスクHの処理結果は論理値偽なので、タスクGとタスクHの論理積は論理値偽になることが決定している。従って、タスクGの処理は最終的な評価値を算出するためには不要である。このため、処理判断部260は、タスクGを除外する。そして、処理判断部260は、除外された当該論理式において未処理のタスク605を他の情報処理装置に処理させると判断する。即ち具体的には、タスクB、C、EおよびFが、他の情報処理装置に処理させるタスク605である。
図7に戻る。他の情報処理装置に処理させるタスク605がある場合に(S730:YES)、処理判断部260は、そのタスク605にリンクしている識別情報608があるか、即ち、そのタスク605に対応付けて格納されている識別情報608がシンプトン記憶部200に格納されているかを判断する(S740)。格納されていれば(S740:YES)、処理判断部260は、そのリンク先、即ち、識別情報608により識別される情報処理装置に、そのタスク605の実行を指示する(S750)。
一方で、タスク605にリンクしている識別情報608が無ければ(S740:NO)、処理判断部260は、そのタスク605をどの情報処理装置に処理させるかを判断する(S760)。この判断は、例えば、ノード情報記憶部220に格納された要求イベントデータに基づく。即ち例えば、まず、処理判断部260は、隣接する他の情報処理装置100についての要求イベントデータをノード情報記憶部220から読み出す。そして、処理判断部260は、処理しようとしているタスク605が、読み出したその要求イベントデータに含まれるイベントを含むかどうかを判断する。含む場合には、処理判断部260は、そのタスク605については、当該隣接する他の情報処理装置100に処理させると判断する。このような判断を各情報処理装置100が行うので、通信ネットワークをDAG(Directed Acyclick Graph、有向非循環グラフ)に見立てたグラフ上を、タスクが順次転送されてゆく。
これを受けて、処理実行部270は、他の情報処理装置に処理させると判断したタスク605を当該他の情報処理装置に処理させる。図11を参照して、その処理の一例を説明する。
図11は、S760における処理の具体例を説明するための図である。まず、処理判断部260は、処理不要のタスクを除外した論理式に、論理積演算または論理和演算が含まれるかどうかを判断する。図11の例では、処理不能のタスクを除外した結果、論理式には、タスクEおよびFの結果の論理和を求める演算と、その演算結果とタスクBおよびCの結果の論理積を求める演算が含まれている。そして、処理判断部260は、論理積演算される一方の部分式に含まれるタスク、および、他方の部分式に含まれるタスクをそれぞれ互いに異なる情報処理装置100に処理させる。図11の例では、処理判断部260は、タスクBの処理とタスクCの処理とをそれぞれ異なる情報処理装置に処理させる。
論理和演算についても同様に、処理判断部260は、論理和演算される一方の部分式に含まれるタスク、および、他方の部分式に含まれるタスクをそれぞれ互いに異なる情報処理装置100に処理させる。図11の例では、処理判断部260は、タスクEおよびFをそれぞれ互いに異なる情報処理装置100に処理させる。これにより、論理和演算の対象となる複数の部分式をそれぞれ異なる情報処理装置100により並列して処理させることができ、イベントの発生パターン検出の処理を全体として効率化できる。
図7に戻る。処理実行部270は、他の情報処理装置100に指示して処理させたタスクの処理結果が返信されるまで待機する(S775)。但し、待機時間が所定の上限時間に達した場合には、タイムアウトしたものとして、パターンが検出されなかったと判断してもよい。また、処理させるタスクの論理式の構造によっては、全ての処理結果が返信されるまで待機する必要はない。その一例を図12に示す。
図12は、S775における処理の具体例を説明するための図である。処理実行部270は、論理積演算される一方の部分式の評価が、論理値偽であることを条件に、他方の部分式の評価が未完了であっても、当該論理積演算の結果を論理値偽と判断して、当該他方の部分式の評価を待たずに待機状態を終了する。
また、処理実行部270は、論理和演算される一方の部分式の評価が、論理値真であることを条件に、他方の部分式の評価が未完了であっても、当該論理和演算の結果を論理値真と判断して、当該他方の部分式の評価を待たずに待機状態を終了する。
なお、タスク605が論理値ではなく何らかの数値を出力する場合であって、他のタスク605がその数値を用いて他の処理を行う場合には、処理実行部270は、そのタスク605の処理が完了するまでは待機状態を続ける。
図7に戻る。続いて、処理判断部260および処理実行部270は、S730に処理を戻して、未処理のタスクがあるかどうかを判断する。上述のように、あるタスク605が他のタスク605の処理結果を参照して他の処理を行う場合においては、未処理の全タスクを並列に処理させることのできない場合がある。このような場合には、ここでS730に処理を戻すことで、逐次的に処理するべき複数のタスクのうちの後段側のタスクを処理させることができる。
未処理のタスクがなければ(S730:NO)、処理実行部270は、当該情報処理装置100Cで処理したタスク、および、他の情報処理装置100に処理させたタスクの処理結果に基づいて、当該発生パターンが発生したかどうかを示す評価値を算出する(S780)。検出部280は、算出したその評価値に基づいて、検出しようとしている発生パターンが発生したことを判定するための複数の条件が充足されたかどうかを判断する(S785)。これらの条件が充足されたことを条件に(S785:YES)、検出部280は、対策実行部285は、その発生パターンに対応する対策処理を実行する(S790)。対策処理の実行結果は、予め定められた送信先の情報処理装置100に送信されてもよい。
対策処理についても、上記のタスクと同じように、その対策処理を実行するべき情報処理装置が予め静的に定められている場合と、静的に定められていないため実行するべき情報処理装置を動的に判断する場合とがある。この判断は、例えば、処理判断部260により実現される。具体的には、処理判断部260は、シンプトン記憶部200にアクセスして、対策処理データ620に識別情報622が対応付けられているかどうかを判断する。対応付けられている場合には、処理判断部260は、その識別情報622により識別される情報処理装置100で対策処理を実行させると判断する。この場合、対策実行部285は、対策処理データ620により指定された対策処理を自ら実行するのではなく、その対策処理データ620を識別情報622により識別される情報処理装置100に送信して、その情報処理装置において実行させる。
一方、対策処理データ620に識別情報622が対応付けられていない場合には、対策実行部285は、シンプトン記憶部200にアクセスして、検出された発生パターンに対応する対策処理データ620を読み出す。そして、対策実行部285は、その対策処理データ620により指定される対策処理の実行を試みる。実行できなかった場合には、処理判断部260は、その対策処理を他の情報処理装置に実行させると判断する。実行できなかった場合とは、例えば、対策処理の対象となるアプリケーション・プログラム108が情報処理装置100Cで動作していない場合である。その場合には、処理判断部260は、そのアプリケーション・プログラムが動作しているかどうかを他の情報処理装置100に問合せて、動作している旨を返信した情報処理装置100に対しその対策処理を実行させてもよい。
図8は、本実施の形態に係るオートノミック・マネージャ102Cが、他の情報処理装置100からタスク実行の指示を受けて行う処理のフローチャートを示す。処理実行部270は、他の情報処理装置100から、タスクを処理する指示を受信する(S800)。処理実行部270は、この指示を、処理するべきタスク605や対応する識別情報608に対応付けて受信してもよい。これにより、そのタスクが予めシンプトン記憶部200に格納されてなくとも、そのタスクを指示通りに処理することができる。
以下の説明において、情報処理装置100Cは、情報処理装置100Aからタスク実行の指示を受けたものとする。
次に、処理実行部270は、指示されたそのタスクを処理する(S810)。タスクの処理方法は上述のS720の例による。即ち、処理実行部270は、指示されたタスクが複数の場合には、これら複数のタスクのち、イベント記憶部210に格納されているイベントに基づき処理可能なタスクを処理する。処理可能なタスクとは、そのタスクを処理するために入力とする全てのイベントが、イベント記憶部210に格納されているタスクである。
次に、処理判断部260は、実行を指示されたタスクのうち未処理のタスクがあるかどうかを判断する(S820)。未処理のタスクがなければ(S820:NO)、処理実行部270は、処理済のタスクの実行結果を情報処理装置100Aに返信する(S830)。未処理のタスクがあれば(S820:YES)、処理判断部260は、その未処理のタスクに、そのタスクを実行する情報処理装置100の識別情報を示すリンクが対応付けられているかどうかを判断する(S840)。このリンクは、上述のシンプトンデータ60における識別情報608に対応する。
未処理のタスクにリンクが対応付けられている場合には(S840:YES)、処理実行部270は、そのリンク先が示す情報処理装置100に、その未処理のタスクの実行を指示する(S850)。一方、その未処理のタスクにリンクが対応付けられていない場合には(S840:NO)、処理実行部270は、S830に処理を移して、処理済のタスクの処理結果を情報処理装置100Aに対し返信する。この場合は、返信を受けたその情報処理装置100Aが、未処理のタスクを実行させるべき更に他の情報処理装置100を選択することとなる。
以上、図8を参照して説明したように、情報処理装置100Cが情報処理装置100Aからタスク実行の指示を受けた場合にも、処理判断部260は、当該情報処理装置100Cが格納しているイベント等を参照することで、そのタスクを当該情報処理装置100Cで実行するか、更に他の情報処理装置100に処理させるかを判断できる。また、実行を指示されたタスクの一部のみを実行して他の部分は更に他の装置に実行を指示できるので、パターン検出を開始した装置のみにタスク分散のための負荷が集中することを防ぐことができる。
続いて、図13−15を参照して、本実施の形態に係る情報システム10の第1応用例を説明する。この応用例は、入出力装置の利用状況に応じてその設定を変更することで、利用者の処理待ち時間を短縮することを目的とする。
図13は、本実施の形態に係る情報システム10の第1応用例を示す。情報システム10は、第1の情報処理装置の一例である入出力装置1310と、第2の情報処理装置であるサーバ装置1300とを備える。この他に、情報システム10は、他の入出力装置などを備えていてもよい。
入出力装置1310は、予め定められた条件が成立した場合に省電力モードに移行するように設定可能であって、省電力モードにおいて入出力が指示された場合にスタンバイモードに移行する装置である。一例として入出力装置1310はプリンタである。これに代えて、入出力装置1310は、スキャナ、コピー、ディスプレイ装置などの他の入出力装置であってもよい。省電力モードにおいて、プリンタの消費電力は低い。但し、プリンタは、プリントの指示を受けてもウォームアップ処理を経てスタンバイモードに移行しなければ印刷できない。このため、印刷完了までにはある程度の待ち時間が生じる。一方、スタンバイモードでは、ウォームアップ処理を経ずに印刷をすることができるが、ウォームアップ処理後の状態を維持し続けなければならず、消費電力は高い。
スタンバイモードから省電力モードに移行する条件とは、例えば、入出力の指示を受けることなく予め定められた期間が経過することである。このような場合にはその後も指示を受けにくいことが想定されるので、入出力装置1310が省電力モードに移行すれば消費電力を低減できる。但し、この想定に反して入出力の指示を受けた場合には、入出力装置1310は、ウォームアップ処理により利用者を待たせることとなる。
また、入出力装置1310は、この入出力装置1310内でイベントが予め定められたパターンで発生したことを検出するためのシンプトンデータ60−1をシンプトン記憶部200内に格納している。このシンプトンデータ60−1の内容については図14を参照して後に説明する。
サーバ装置1300は、入出力装置1310と通信可能であって、入出力装置1310に入出力が指示されたイベントを入出力装置1310に代えて収集する装置である。情報システム10が大規模な場合において、例えばプリンタ等の入出力装置1310は、複数の利用者によって共有されることが多い。このため、入出力装置1310には、複数の利用者による入出力の指示が集中する。入出力が指示されると、入出力装置1310内の入出力制御用のアプリケーション・プログラムは、入出力が指示されたイベントを発生させる。したがって、入出力装置1310内では、このイベントも大量に発生する。
一方、入出力装置1310内の記憶装置の記憶容量は非常に限られており、このイベントの全てを適切に格納できない場合がある。この場合には、入出力装置1310は、このイベントを、直接接続している他の情報処理装置、例えばサーバ装置1300に転送する。この転送処理は、記憶容量が小さいことに基づいて自動的に行われてもよいし、管理者等の設定に従って行われてもよい。何れの場合も、入出力装置1310は、転送したイベントの識別情報を、その転送先のサーバ装置1300に対応付けてイベント記憶部210内に格納する。発生頻度の低いその他のイベントは、入出力装置1310内に記憶される。
図14は、本実施の形態の第1応用例におけるシンプトンデータ60−1のデータ構造の例を示す。シンプトンデータ60−1は、入出力装置1310において検出するべきイベントの発生パターンを示すものであり、入出力装置1310のシンプトン記憶部200に格納されている。シンプトンデータ60−1は、第1タスクの一例であるタスク605−1と、第2タスクの一例であるタスク605−2と、第3タスクの一例であるタスク605−3とを含む。さらに、シンプトンデータ60−1は、これらのタスクに対策処理データ620を対応付けて記憶している。
タスク605−1は、入出力装置1310が再起動されたことを検出するタスクである。タスク605−2は、入出力装置1310の入出力処理の頻度が予め定められた基準値よりも高いか判断するタスクである。このタスク605−2には、識別情報608−2が対応付けられている。即ち、これは、このタスク605−2を、識別情報608−2により識別されるサーバ装置1300に実行させるべきことを示す。タスク605−3は、入出力装置1310に未処理のアクションが無いことを検出するタスクである。未処理のアクションとは、処理が未完了である入出力の指示のことをいう。これに代えて、タスク605−3が検出するアクションは、入出力の指示に対応付けられた処理の優先度が、予め定められた基準値よりも高いアクションのみであってもよい。
対策処理データ620は、入出力装置1310を省電力モードに移行させないように設定する対策処理を示す。対策処理データ620には識別情報622が対応付けられている。これは、対策処理データ620が示す対策処理を、識別情報622により識別される入出力装置1310に実行させるべきことを示す。
図15は、本実施の形態の第1応用例における入出力装置1310の処理のフローチャートを示す。入出力装置1310は、入出力装置1310が再起動されたことを示すイベントについては、サーバ装置1300に転送せずに自ら格納している。このため、入出力装置1310の処理判断部260は、このイベントに基づくタスク605−1については、この入出力装置1310で実行させると判断する。この結果、処理実行部270は、このタスク605−1を自ら実行する(S1500)。
入出力装置1310は、入出力装置1310において未処理のアクションが有ることを示すイベントについては、サーバ装置1300に転送せずに自ら格納している。このため、入出力装置1310の処理判断部260は、このイベントに基づくタスク605−3については、この入出力装置1310で実行させると判断する。この結果、処理実行部270は、このタスク605−2を自ら実行する(S1510)。
一方で、タスク605−2には、そのタスク605−2を実行させる情報処理装置を識別する識別情報608−2が対応付けられている。このため、入出力装置1310の処理判断部260は、このタスク605−2をサーバ装置1300で処理させると判断する。この結果、処理実行部270は、このタスク605−2をサーバ装置1300で処理させる(S1520)。そして、入出力装置1310は、その処理の結果が返信されるまで待機する(S1530)。
次に、入出力装置1310は、これらそれぞれのタスクにより判定された条件が充足されたかを判断する(S1540)。例えば、入出力装置1310は、これらのタスクの判定結果を示す論理値の論理積を評価値とし、その評価値が論理値真であるかどうか判断する。これらの条件が充足された場合に(S1540:YES)、対策実行部285は、入出力装置1310を省電力モードに移行させないように設定する(S1550)。
このように、この第1応用例によれば、イベントをその発生頻度が高いため入出力装置1310内に格納することができない場合であっても、そのイベントをサーバ装置1300に格納して適切に保持し続けることができる。そして、入出力装置1310およびサーバ装置1300の双方に格納されたイベントに基づいて、予め定められたパターンでイベントが発生したことを適切に判断し、それに応じた対策処理を行うことができる。具体的には、利用者の利用頻度が高い入出力装置を、常にスタンバイモードに設定することができ、利用者の待ち時間を短縮することができる。
続いて、図16−18を参照して、本実施の形態に係る情報システム10の第2応用例を説明する。この応用例は、入出力の指示を受けた入出力装置の状態に応じ、その指示を他の入出力装置に転送することで、利用者の処理待ち時間を短縮することを目的とする。
図16は、本実施の形態に係る情報システム10の第2応用例を示す。情報システム10は、第1の情報処理装置の一例である入出力装置1610と、第2の情報処理装置の一例である入出力装置1620と、第3の情報処理装置の一例であるサーバ装置1600とを備える。
入出力装置1610および入出力装置1620のそれぞれは、省電力モードにおいて入出力が指示された場合にスタンバイモードに移行して入出力を行う。情報処理装置1600は、入出力装置1610および入出力装置1620の各々と通信可能であって、入出力装置1610および入出力装置1620のそれぞれから、当該装置の処理モードが変更されたイベントを収集する。入出力装置1610および入出力装置1620のそれぞれにおいて、サーバ装置1600に転送したイベントの識別情報は、転送先のサーバ装置1600に対応付けて格納されている。
入出力装置1610のシンプトン記憶部200は、シンプトンデータ60−2を格納している。この内容について図17を参照して説明する。
図17は、本実施の形態の第2応用例におけるシンプトンデータ60−2のデータ構造の例を示す。シンプトンデータ60−2は、入出力装置1610において検出するべきイベントの発生パターンを示すものであり、入出力装置1610のシンプトン記憶部200に格納されている。シンプトンデータ60−2は、第1タスクの一例であるタスク605−1と、第2タスクの一例であるタスク605−2とを含む。さらに、シンプトンデータ60−2は、これらのタスクに対策処理データ620を対応付けて記憶している。
タスク605−1は、入出力装置1610が省電力モードの場合に入出力を指示されたかを判断するタスクである。タスク605−2は、入出力装置1620がスタンバイモードかを判断するタスクである。タスク605−2には、識別情報608−2が対応付けられている。即ち、これは、このタスク605−2を、識別情報608−2により識別されるサーバ装置1600に実行させるべきことを示す。対策処理データ620は、入出力の指示を入出力装置1620に転送する対策処理を示す。対策処理データ620には識別情報622が対応付けられている。これは、対策処理データ620が示す対策処理を、識別情報622により識別される入出力装置1610に実行させるべきことを示す。
図18は、本実施の形態の第2応用例における入出力装置1610の処理のフローチャートを示す。入出力装置1610は、入出力指示を受けたときに省電力モードであった旨を示すイベントについては、入出力装置1610内に自ら格納している。このため、入出力装置1610の処理判断部260は、このイベントに基づくタスク605−1については、この入出力装置1610で実行させると判断する。この結果、処理実行部270は、このタスク605−1を自ら実行する(S1800)。
一方で、タスク605−2には、そのタスク605−2を実行させる情報処理装置を識別する識別情報608−2が対応付けられている。このため、入出力装置1610の処理判断部260は、このタスク605−2をサーバ装置1600で処理させると判断する。この結果、処理実行部270は、このタスク605−2をサーバ装置1600で処理させる(S1810)。そして、入出力装置1610は、その処理の結果が返信されるまで待機する(S1820)。
次に、入出力装置1610は、これらそれぞれのタスクにより判定された条件が充足されたかを判断する(S1830)。例えば、入出力装置1610は、これらのタスクの判定結果を示す論理値の論理積を評価値とし、その評価値が論理値真であるかどうか判断する。これらの条件が充足された場合に(S1830:YES)、対策実行部285は、入出力の指示を入出力装置1620に転送する(S1840)。
以上、この第2応用例によれば、処理モード変更のイベントをその発生頻度が高いため入出力装置1620内に格納することができない場合であっても、そのイベントをサーバ装置1600に格納して適切に保持し続けることができる。そして、サーバ装置1600および入出力装置1610の双方に格納されたイベントに基づいて、予め定められたパターンでイベントが発生したことを適切に判断し、それに応じた対策処理を行うことができる。具体的には、省電力モードの入出力装置が受けた入出力の指示を、スタンバイモードの他の入出力装置に転送することができ、利用者の待ち時間を短縮することができる。
図19は、本実施の形態に係る情報処理装置100Cのハードウェア構成の一例を示す。情報処理装置100Cは、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030(図1の通信インターフェイス106Cに対応)、ハードディスクドライブ1040(図1の記憶装置104Cに対応)、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、情報処理装置100Cが使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、情報処理装置100Cの起動時にCPU1000が実行するブートプログラムや、情報処理装置100Cのハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
情報処理装置100Cに提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出され情報処理装置100Cにインストールされて実行される。プログラムが情報処理装置100C等に働きかけて行わせる動作は、図1から図18において説明した情報処理装置100Cにおける動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置100Cに提供してもよい。
なお、情報処理装置100A、情報処理装置100B、情報処理装置100Dおよび情報処理装置100Eのそれぞれについても、そのハードウェア構成は情報処理装置100Cと略同一であるから、その説明を省略する。
以上、図1から図18までを参照して説明した実施形態によれば、イベントの発生パターンの検出処理を、複数の情報処理装置で分担することができる。これにより、検出タスクの処理負荷を分散できるばかりでなく、情報システム10内の各箇所で発生したイベントに基づくパターン検出を実現することができる。特に、分散して処理する複数のタスクは可能な限り並列に処理させることができ、効率がよい。また、各情報処理装置は隣接する他の情報処理装置において必要とするイベントの集合を記憶しているので、どのタスクをどの情報処理装置に転送して処理させるべきかを動的に判断することができる。これにより、パターン検出のたびにイベントのデータ全てを転送しなくてよいので、通信トラフィックを軽減することができ、効率がよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることのできることが当業者にとって明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、本実施の形態に係る情報システム10の全体構成の概要を示す。 図2は、本実施の形態に係るオートノミック・マネージャ102Cの機能構成を、記憶装置104Cのデータ構造と対応させて示す図である。 図3aは、本実施の形態に係るイベントデータ30のデータ構造の一例を示す。 図3bは、本実施の形態に係るイベント本体部300の具体例を示す。 図4は、本実施の形態に係るイベント記憶部210のデータ構造の一例を示す。 図5は、本実施の形態に係るノード情報記憶部220のデータ構造の一例を示す。 図6aは、本実施の形態に係るシンプトン記憶部200のデータ構造の一例を示す。 図6bは、タスク605−1〜2の具体例を示す。 図6cは、ある発生パターンを検出するために実行されるタスクの組合せの具体例を示す。 図7は、本実施の形態に係るオートノミック・マネージャ102Cが、イベントの取得に応じて行う処理のフローチャートを示す。 図8は、本実施の形態に係るオートノミック・マネージャ102Cが、他の情報処理装置100からタスク実行の指示を受けて行う処理のフローチャートを示す。 図9は、S720における処理の具体例を説明するための図である。 図10は、S730における処理の具体例を説明するための図である。 図11は、S760における処理の具体例を説明するための図である。 図12は、S775における処理の具体例を説明するための図である。 図13は、本実施の形態に係る情報システム10の第1応用例を示す。 図14は、本実施の形態の第1応用例におけるシンプトンデータ60−1のデータ構造の例を示す。 図15は、本実施の形態の第1応用例における入出力装置1310の処理のフローチャートを示す。 図16は、本実施の形態に係る情報システム10の第2応用例を示す。 図17は、本実施の形態の第2応用例におけるシンプトンデータ60−2のデータ構造の例を示す。 図18は、本実施の形態の第2応用例における入出力装置1610の処理のフローチャートを示す。 図19は、本実施の形態に係る情報処理装置100Cのハードウェア構成の一例を示す。
符号の説明
10 情報システム
15 集中管理サーバ
30 イベントデータ
60 シンプトンデータ
100 情報処理装置
102 オートノミック・マネージャ
104 記憶装置
106 通信インターフェイス
108 アプリケーション・プログラム
200 シンプトン記憶部
210 イベント記憶部
220 ノード情報記憶部
230 生成部
240 選択部
250 転送部
260 処理判断部
270 処理実行部
280 検出部
285 対策実行部
290 要求受信部
295 要求送信部
300 イベント本体部
305 イベントID
310 イベント発生元
320 イベント内容
330 転送経路情報
600 パターンデータ
605 タスク
608 識別情報
610 シンプトン詳細データ
620 対策処理データ
622 識別情報
630 部分式
640 出力定義
650 部分式
1300 サーバ装置
1310 入出力装置
1600 サーバ装置
1610 入出力装置
1620 入出力装置

Claims (14)

  1. 複数の情報処理装置を備え、前記複数の情報処理装置においてイベントが予め定められた発生パターンで発生したかを検出するシステムであって、
    前記複数の情報処理装置のそれぞれが、
    検出するべきイベントの発生パターンごとに、イベントが当該発生パターンで発生したことを判定するための複数の条件のそれぞれが満たされたかどうかをそれぞれ判定する、複数のタスクを記憶する記憶装置と、
    イベントの発生に応じて、当該イベントを含む発生パターンを前記記憶装置から検索し、検索した当該発生パターンに対応する複数のタスクを前記記憶装置から読み出して、読み出したそれぞれのタスクを何れの情報処理装置で処理させるか判断する処理判断部と、
    当該情報処理装置で処理すると判断したタスクを処理し、他の情報処理装置に処理させると判断したタスクを当該他の情報処理装置に指示して処理させる処理実行部と、
    当該情報処理装置で処理したタスク、および、他の情報処理装置に処理させたタスクの処理結果が、前記複数の条件を充足することを条件に、イベントが前記予め定められた発生パターンで発生したと判定する検出部と
    を備え
    前記複数のタスクのそれぞれは、処理結果として論理値を出力するものであり、
    検出するべきイベントの発生パターンのそれぞれには、出力される前記論理値を組み合わせた論理式が対応付けられており、当該論理式の評価値に基づき当該発生パターンが検出されたかどうかが判断され、
    それぞれの前記情報処理装置において、
    前記処理実行部は、当該情報処理装置または他の情報処理装置において発生したイベントのうち一部のイベントを取得し、取得したイベントを含む発生パターンに対応する複数のタスクを前記記憶装置から検索して読み出し、読み出した前記複数のタスクのうち、取得した前記イベントに基づき処理可能なタスクを処理し、
    前記処理判断部は、処理されたタスクが出力する論理値に基づいて、評価するべき論理式のうち当該評価値を算出するためには処理不要のタスクを除外し、除外された当該論理式において未処理のタスクを他の情報処理装置に処理させると判断し、
    前記処理実行部は、当該情報処理装置で処理したタスク、および、他の情報処理装置に処理させたタスクの出力に基づき論理式の評価値を算出し、
    前記検出部は、算出した当該評価値に基づき、イベントが予め定められた発生パターンで発生したと判定する
    システム。
  2. それぞれの前記情報処理装置において、
    前記処理判断部は、処理不要のタスクを除外した前記論理式に、論理積演算が含まれることを条件に、論理積演算される一方の部分式に含まれるタスク、および、他方の部分式に含まれるタスクをそれぞれ互いに異なる情報処理装置に処理させ、
    処理不要のタスクを除外した前記論理式に、論理和演算が含まれることを条件に、論理和演算される一方の部分式の評価、および、他方の部分式の評価をそれぞれ互いに異なる情報処理装置に処理させる、請求項1に記載のシステム。
  3. それぞれの前記情報処理装置において、
    前記処理実行部は、処理させた、論理積演算される一方の部分式の評価が、論理値偽であることを条件に、他方の部分式の評価が未完了であっても当該論理積演算の結果を論理値偽と判断し、
    処理させた、論理和演算される一方の部分式の評価が、論理値真であることを条件に、他方の部分式の評価が未完了であっても当該論理和演算の結果を論理値真と判断する
    請求項2に記載のシステム。
  4. それぞれの前記情報処理装置において、
    前記処理判断部は、他の情報処理装置から処理を指示されたタスクについても、当該情報処理装置で処理するか、更に他の情報処理装置に処理させるかを更に判断し、
    前記処理実行部は、当該情報処理装置で処理すると判断したタスクを処理し、当該更に他の情報処理装置に処理させると判断したタスクを当該更に他の情報処理装置に指示して処理させ、それぞれの処理結果を組み合わせて当該他の情報処理装置に返信する
    請求項1から3のいずれかに記載のシステム。
  5. それぞれの前記情報処理装置において、
    前記記憶装置は、検出するべきイベントの発生パターンごとに、前記複数のタスクのそれぞれを、当該タスクを処理させる情報処理装置の識別情報に対応付けて記憶しており、
    前記処理判断部は、イベントの発生に応じて、当該イベントを含む発生パターンに対応する複数のタスクのそれぞれを、当該タスクに対応する識別情報に対応付けて前記記憶装置から読み出して、それぞれのタスクを当該タスクに対応して読み出した当該識別情報により識別される情報処理装置に処理させると判断する
    請求項1から4のいずれかに記載のシステム。
  6. 前記記憶装置は、検出するべきイベントの発生パターンごとに、さらに、イベントが当該発生パターンで発生した場合に実行する処理である対策処理を記憶しており、
    前記処理判断部は、更に、対策処理を何れの情報処理装置で処理させるかを判断し、
    前記処理実行部は、イベントが当該発生パターンで発生したことを条件に、当該発生パターンに対応する対策処理を、前記処理判断部により判断された情報処理装置に処理させる
    請求項1から5のいずれかに記載のシステム。
  7. 前記記憶装置は、検出するべきイベントの発生パターンごとに、前記対策処理に対応付けて、さらに、前記対策処理を実行する情報処理装置の識別情報を記憶しており、
    前記処理判断部は、前記対策処理に対応付けて記憶されている識別情報を前記記憶装置から読み出して、読み出した前記識別情報により識別される情報処理装置に当該対策処理を実行させると判断する
    請求項6に記載のシステム。
  8. それぞれの前記情報処理装置は、
    当該情報処理装置の処理能力および処理負荷に基づいて、当該情報処理装置において検出可能なイベントの発生パターンを特定し、特定した何れかの発生パターンに含まれるイベントの集合を示す検出可能イベントデータを生成して、隣接する他の情報処理装置に通知する生成部、を有し、
    それぞれの前記情報処理装置において、
    前記記憶装置は、隣接する他の情報処理装置ごとに、当該隣接する他の情報処理装置が転送を要求するイベントの集合を示す要求イベントデータとして、当該隣接する他の情報処理装置の検出可能イベントデータに含まれるか、または、当該隣接する他の情報処理装置に隣接する更に他の情報処理装置の要求イベントデータに含まれるイベントの集合を記憶しており、
    前記処理判断部は、隣接する他の情報処理装置についての前記要求イベントデータを前記記憶装置から読み出して、読み出した前記要求イベントデータに含まれるイベントを含むタスクについては、当該隣接する他の情報処理装置に処理させると判断する
    請求項1から7のいずれかに記載のシステム。
  9. それぞれの前記情報処理装置において、
    前記生成部は、当該情報処理装置の処理能力および処理負荷の変化に基づいて、生成した前記検出可能イベントデータを更新し、前記検出可能イベントデータの更新に応じて、更新した前記検出可能イベントデータを隣接する他の情報処理装置に送信して、当該隣接する他の情報処理装置において必要イベントデータを更新させる
    請求項8に記載のシステム。
  10. 第1の前記情報処理装置は、予め定められた条件が成立した場合に省電力モードに移行するように設定可能であって、省電力モードにおいて入出力が指示された場合にスタンバイモードに移行する入出力装置であり、
    第2の前記情報処理装置は、前記第1の情報処理装置と通信可能であって、前記入出力装置に入出力が指示されたイベントを前記入出力装置に代えて収集するサーバ装置であり、
    前記入出力装置において、
    前記記憶装置は、検出するべきイベントのある発生パターンについて、前記入出力装置が再起動されたことを検出する第1タスク、前記入出力装置の入出力処理の頻度が予め定められた基準値よりも高いか判断する第2タスク、および、前記入出力装置に未処理のアクションが無いことを検出する第3タスクに、前記入出力装置を省電力モードに移行させないように設定する対策処理を対応付けて記憶しており、
    前記入出力装置において、
    前記処理判断部は、前記第1および第3タスクを当該入出力装置で処理し、前記第2タスクを前記サーバ装置で処理すると判断し、
    前記検出部は、前記第1タスク、前記第2タスク、および、前記第3タスクの判定結果が何れも論理値真であることを条件に、当該検出するべき発生パターンが検出されたと判定し、
    当該検出するべき発生パターンが検出されたことを条件に、前記入出力装置を省電力モードに移行させないように設定する対策実行部を更に備える請求項1から9のいずれかに記載のシステム。
  11. 第1および第2の情報処理装置のそれぞれは、省電力モードにおいて入出力が指示された場合にスタンバイモードに移行して入出力を行う入出力装置であり、
    第3の情報処理装置は、第1および第2の情報処理装置の各々と通信可能であって、第2の情報処理装置の処理モードが変更されたイベントを収集するサーバ装置であり、
    前記第1の情報処理装置において、
    前記記憶装置は、検出するべきイベントのある発生パターンについて、前記第1の情報処理装置が省電力モードの場合に入出力を指示されたかを判断する第1タスク、および、前記第2の情報処理装置がスタンバイモードかを判断する第2タスクを、入出力の指示を前記第2の情報処理装置に転送する対策処理に対応付けて記憶しており、
    前記処理判断部は、前記第1タスクを当該第1の情報処理装置で処理し、前記第2タスクを前記サーバ装置で処理すると判断し、
    前記検出部は、前記第1および第2タスクの判定結果が何れも論理値真であることを条件に、当該検出するべき発生パターンが検出されたと判定し、
    当該検出するべき発生パターンが検出されたことを条件に、入出力の指示を前記第2の情報処理装置に転送する対策実行部を更に備える、請求項1から10のいずれかに記載のシステム。
  12. 情報システム内に設けられ、当該情報システムにおいてイベントが予め定められた発生パターンで発生したかを検出する情報処理装置であって、
    検出するべきイベントの発生パターンごとに、イベントが当該発生パターンで発生したことを判定するための複数の条件のそれぞれが満たされたかどうかをそれぞれ判定する、複数のタスクを記憶する記憶装置と、
    イベントの発生に応じて、当該イベントを含む発生パターンを前記記憶装置から検索し、検索した当該発生パターンに対応する複数のタスクを前記記憶装置から読み出して、読み出したそれぞれのタスクを何れの情報処理装置で処理させるか判断する処理判断部と、
    当該情報処理装置で処理すると判断したタスクを処理し、他の情報処理装置に処理させると判断したタスクを当該他の情報処理装置に指示して処理させる処理実行部と、
    当該情報処理装置で処理したタスク、および、他の情報処理装置に処理させたタスクの処理結果が、前記複数の条件を充足することを条件に、イベントが前記予め定められた発生パターンで発生したと判定する検出部と
    を備え
    前記複数のタスクのそれぞれは、処理結果として論理値を出力するものであり、
    検出するべきイベントの発生パターンのそれぞれには、出力される前記論理値を組み合わせた論理式が対応付けられており、当該論理式の評価値に基づき当該発生パターンが検出されたかどうかが判断され、
    それぞれの前記情報処理装置において、
    前記処理実行部は、当該情報処理装置または他の情報処理装置において発生したイベントのうち一部のイベントを取得し、取得したイベントを含む発生パターンに対応する複数のタスクを前記記憶装置から検索して読み出し、読み出した前記複数のタスクのうち、取得した前記イベントに基づき処理可能なタスクを処理し、
    前記処理判断部は、処理されたタスクが出力する論理値に基づいて、評価するべき論理式のうち当該評価値を算出するためには処理不要のタスクを除外し、除外された当該論理式において未処理のタスクを他の情報処理装置に処理させると判断し、
    前記処理実行部は、当該情報処理装置で処理したタスク、および、他の情報処理装置に処理させたタスクの出力に基づき論理式の評価値を算出し、
    前記検出部は、算出した当該評価値に基づき、イベントが予め定められた発生パターンで発生したと判定する
    情報処理装置。
  13. 情報システム内に設けられた情報処理装置により、当該情報システムにおいてイベントが予め定められた発生パターンで発生したかを検出する方法であって、
    当該情報処理装置は、検出するべきイベントの発生パターンごとに、イベントが当該発生パターンで発生したことを判定するための複数の条件のそれぞれが満たされたかどうかをそれぞれ判定する、複数のタスクを記憶する記憶装置、を有し、
    イベントの発生に応じて、当該イベントを含む発生パターンを前記記憶装置から検索し、検索した当該発生パターンに対応する複数のタスクを前記記憶装置から読み出して、読み出したそれぞれのタスクを何れの情報処理装置で処理させるか判断するステップと、
    当該情報処理装置で処理すると判断したタスクを処理し、他の情報処理装置に処理させると判断したタスクを当該他の情報処理装置に指示して処理させるステップと、
    当該情報処理装置で処理したタスク、および、他の情報処理装置に処理させたタスクの処理結果が、前記複数の条件を充足することを条件に、イベントが前記予め定められた発生パターンで発生したと判定するステップと
    を備え、
    前記複数のタスクのそれぞれは、処理結果として論理値を出力するものであり、
    検出するべきイベントの発生パターンのそれぞれには、出力される前記論理値を組み合わせた論理式が対応付けられており、当該論理式の評価値に基づき当該発生パターンが検出されたかどうかが判断され、
    それぞれの前記情報処理装置において、
    前記処理させるステップは、当該情報処理装置または他の情報処理装置において発生したイベントのうち一部のイベントを取得し、取得したイベントを含む発生パターンに対応する複数のタスクを前記記憶装置から検索して読み出し、読み出した前記複数のタスクのうち、取得した前記イベントに基づき処理可能なタスクを処理し、
    前記判断するステップは、処理されたタスクが出力する論理値に基づいて、評価するべき論理式のうち当該評価値を算出するためには処理不要のタスクを除外し、除外された当該論理式において未処理のタスクを他の情報処理装置に処理させると判断し、
    前記処理させるステップは、当該情報処理装置で処理したタスク、および、他の情報処理装置に処理させたタスクの出力に基づき論理式の評価値を算出し、
    前記判定するステップは、算出した当該評価値に基づき、イベントが予め定められた発生パターンで発生したと判定する
    方法。
  14. 情報システム内に設けられた情報処理装置により、当該情報システムにおいてイベントが予め定められた発生パターンで発生したかを検出させるプログラムであって、
    前記情報処理装置は、検出するべきイベントの発生パターンごとに、イベントが当該発生パターンで発生したことを判定するための複数の条件のそれぞれが満たされたかどうかをそれぞれ判定する、複数のタスクを記憶する記憶装置を有し、
    前記情報処理装置を、
    イベントの発生に応じて、当該イベントを含む発生パターンを前記記憶装置から検索し、検索した当該発生パターンに対応する複数のタスクを前記記憶装置から読み出して、読み出したそれぞれのタスクを何れの情報処理装置で処理させるか判断する処理判断部と、
    当該情報処理装置で処理すると判断したタスクを処理し、他の情報処理装置に処理させると判断したタスクを当該他の情報処理装置に指示して処理させる処理実行部と、
    当該情報処理装置で処理したタスク、および、他の情報処理装置に処理させたタスクの処理結果が、前記複数の条件を充足することを条件に、イベントが前記予め定められた発生パターンで発生したと判定する検出部と
    して機能させ、
    前記複数のタスクのそれぞれは、処理結果として論理値を出力するものであり、
    検出するべきイベントの発生パターンのそれぞれには、出力される前記論理値を組み合わせた論理式が対応付けられており、当該論理式の評価値に基づき当該発生パターンが検出されたかどうかが判断され、
    それぞれの前記情報処理装置において、
    前記処理実行部は、当該情報処理装置または他の情報処理装置において発生したイベントのうち一部のイベントを取得し、取得したイベントを含む発生パターンに対応する複数のタスクを前記記憶装置から検索して読み出し、読み出した前記複数のタスクのうち、取得した前記イベントに基づき処理可能なタスクを処理し、
    前記処理判断部は、処理されたタスクが出力する論理値に基づいて、評価するべき論理式のうち当該評価値を算出するためには処理不要のタスクを除外し、除外された当該論理式において未処理のタスクを他の情報処理装置に処理させると判断し、
    前記処理実行部は、当該情報処理装置で処理したタスク、および、他の情報処理装置に処理させたタスクの出力に基づき論理式の評価値を算出し、
    前記検出部は、算出した当該評価値に基づき、イベントが予め定められた発生パターンで発生したと判定する
    プログラム。
JP2007162085A 2007-06-20 2007-06-20 情報システムに発生したイベントのパターンを検出する技術 Expired - Fee Related JP4400834B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007162085A JP4400834B2 (ja) 2007-06-20 2007-06-20 情報システムに発生したイベントのパターンを検出する技術
US12/137,581 US7992053B2 (en) 2007-06-20 2008-06-12 System for detecting pattern of events occurred in information system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007162085A JP4400834B2 (ja) 2007-06-20 2007-06-20 情報システムに発生したイベントのパターンを検出する技術

Publications (2)

Publication Number Publication Date
JP2009003594A JP2009003594A (ja) 2009-01-08
JP4400834B2 true JP4400834B2 (ja) 2010-01-20

Family

ID=40137770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007162085A Expired - Fee Related JP4400834B2 (ja) 2007-06-20 2007-06-20 情報システムに発生したイベントのパターンを検出する技術

Country Status (2)

Country Link
US (1) US7992053B2 (ja)
JP (1) JP4400834B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4367962B2 (ja) 2007-06-19 2009-11-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報システムに発生したイベントのパターンを検出する技術
JP4400834B2 (ja) * 2007-06-20 2010-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報システムに発生したイベントのパターンを検出する技術
CN102216908B (zh) * 2008-11-27 2015-10-14 国际商业机器公司 支援执行对应于检测事件的动作的系统、方法和装置
US8943364B2 (en) * 2010-04-30 2015-01-27 International Business Machines Corporation Appliance for storing, managing and analyzing problem determination artifacts
FR2978262B1 (fr) * 2011-07-18 2013-07-12 Bull Sas Procede, programme d'ordinateur et dispositif d'aide au deploiement de clusters
JP6015054B2 (ja) 2012-03-27 2016-10-26 株式会社ソシオネクスト エラー応答回路、半導体集積回路及びデータ転送制御方法
US9344465B2 (en) 2012-12-04 2016-05-17 International Business Machines Corporation Correlating computing network events
EP2866144B1 (en) * 2013-10-28 2020-03-25 Software AG Self-correcting complex event processing system and corresponding method for error correction
JP6207357B2 (ja) * 2013-11-20 2017-10-04 三菱電機株式会社 情報処理装置及びプログラム
JP6620609B2 (ja) * 2016-03-09 2019-12-18 富士通株式会社 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置
KR102587127B1 (ko) 2017-12-26 2023-10-11 삼성전자주식회사 고장 예측을 위해 가전기기의 운영데이터를 관리하는 방법 및 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3422400B2 (ja) 1996-03-28 2003-06-30 三菱電機株式会社 分散処理システム
JPH10334058A (ja) 1997-05-27 1998-12-18 Shikoku Nippon Denki Software Kk オンラインシステムと負荷分散方式
JPH11224214A (ja) 1998-02-05 1999-08-17 Fujitsu Ltd イベント分類装置およびそのプログラム記録媒体
JP2003296129A (ja) 2002-03-29 2003-10-17 Fujitsu Ltd 情報処理プログラムおよび情報処理装置
JP4318643B2 (ja) * 2002-12-26 2009-08-26 富士通株式会社 運用管理方法、運用管理装置および運用管理プログラム
JP2006209206A (ja) 2005-01-25 2006-08-10 Nec Corp 自動アクション実行システム
US7389453B2 (en) * 2005-10-20 2008-06-17 Jon Udell Queuing methods for distributing programs for producing test data
US7506212B2 (en) * 2005-11-17 2009-03-17 Microsoft Corporation Distributed exception handling testing
GB2453090B (en) * 2006-07-27 2011-05-11 Fujitsu Ltd Computer program product, apparatus, and method for system management
JP4367962B2 (ja) * 2007-06-19 2009-11-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報システムに発生したイベントのパターンを検出する技術
JP4400834B2 (ja) * 2007-06-20 2010-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報システムに発生したイベントのパターンを検出する技術
US8108711B2 (en) * 2007-10-30 2012-01-31 Microsoft Corporation Systems and methods for hosting and testing services over a network
JP5008006B2 (ja) * 2007-12-27 2012-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション シンプトンの検証を可能にするためのコンピュータ・システム、方法及びコンピュータ・プログラム

Also Published As

Publication number Publication date
US20080320326A1 (en) 2008-12-25
JP2009003594A (ja) 2009-01-08
US7992053B2 (en) 2011-08-02

Similar Documents

Publication Publication Date Title
JP4400834B2 (ja) 情報システムに発生したイベントのパターンを検出する技術
JP4367962B2 (ja) 情報システムに発生したイベントのパターンを検出する技術
US8739303B2 (en) Embedded device and state display control
JP5259714B2 (ja) 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置
JP5950267B2 (ja) データベース管理装置、データベース管理方法及び記憶媒体
JP5375972B2 (ja) 分散ファイルシステム、そのデータ選択方法およびプログラム
JP2011253337A (ja) クラウドコンピューティングシステム、文書処理方法、及びコンピュータプログラム
JP2023027785A (ja) 装置およびコンピュータプログラム
JP2012530972A (ja) 管理されたシステム拡張子機能
JP4843372B2 (ja) 画像処理装置
JP2020160837A (ja) エラー解決情報提供システム、エラー解決情報提供装置及び電子機器
US8917413B2 (en) Image forming system capable of switching among a plurality of power states
JP2010140111A (ja) 機器管理装置、機器管理システム、ログ管理方法、ログ管理プログラム、及びそのプログラムを記録した記録媒体
JP2003006170A (ja) 複数計算機環境でのプログラム実行方法
US8473788B2 (en) Monitoring program, monitoring apparatus, and monitoring method
US9317828B2 (en) Facilitating provisioning in a mixed environment of locales
JP2007047941A (ja) 電子機器及びネットワークシステムとその制御方法
JP5048072B2 (ja) 情報検索システム、情報検索方法及びプログラム
JP2008027006A (ja) 周辺デバイスを管理するためのプログラムおよび情報処理装置とその制御方法
CN114328272B (zh) 应用测试方法、装置、系统和电子设备
TWI744823B (zh) 電腦叢集中平衡負載的電腦程式產品及裝置
JP6192603B2 (ja) 文書処理装置および文書処理プログラム
JP6175414B2 (ja) 文書処理装置および文書処理プログラム
JP2016088057A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2020071572A (ja) ネットワーククライアント及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090522

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091013

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20091014

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091022

R150 Certificate of patent or registration of utility model

Ref document number: 4400834

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: 20121106

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131106

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees