(57)【要約】【課題】複数のコンポーネントにおいて実施された連続する一連の処理の記録情報を、視認性よく出力する。【解決手段】複数の処理実行手段により実行される一連の連続する処理の実行に係る処理実行手段を有し、前記処理実行手段は、前記一連の連続する処理を識別する識別情報を含むメッセージを他の処理実行手段との間で通信する通信手段と、前記通信手段により通信されたメッセージに含まれる識別情報を含む前記一連の連続する処理の記録情報をメモリ領域に記録する記録手段と、前記通信手段により通信されたメッセージに含まれる識別情報に基づいて、メモリ領域に記録されている記録情報から前記識別情報を含む記録情報を取得し、出力する出力手段と、を有することによって課題を解決する。【選択図】図６
2014197350.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理実行手段により実行される一連の連続する処理の実行に係る処理実行手段を有し、
前記処理実行手段は、
前記一連の連続する処理を識別する識別情報を含むメッセージを他の処理実行手段との間で通信する通信手段と、
前記通信手段により通信されたメッセージに含まれる識別情報を含む前記一連の連続する処理の記録情報をメモリ領域に記録する記録手段と、
前記通信手段により通信されたメッセージに含まれる識別情報に基づいて、メモリ領域に記録されている記録情報から前記識別情報を含む記録情報を取得し、出力する出力手段と、
を有する情報処理装置。
【請求項２】
前記通信手段は、
前記メッセージを送信するメッセージ送信手段と、
前記メッセージを受信するメッセージ受信手段と、
のうち少なくとも何れか１つを有する請求項１記載の情報処理装置。
【請求項３】
前記情報処理装置は、前記処理実行手段により実行される前記一連の連続する処理を管理する管理手段を更に有しており、
前記処理実行手段は、
前記通信手段により通信されたメッセージに含まれる識別情報を含む前記一連の連続する処理の処理情報を前記管理手段に送信する送信手段と、
前記送信手段により送信された処理情報に含まれる識別情報を含む記録情報の出力要求を前記管理手段から受信する要求受信手段と、
を更に有し、
前記出力手段は、前記要求受信手段により受信された出力要求に含まれる識別情報に基づいて、メモリ領域に記録されている記録情報から前記識別情報を含む記録情報を取得し、出力する請求項１又は２記載の情報処理装置。
【請求項４】
前記管理手段は、
前記送信手段により送信された処理情報を前記処理実行手段から受信する受信手段と、
前記受信手段により受信された処理情報に含まれる識別情報に対応する記録情報の出力要求を前記処理実行手段に送信する要求送信手段と、
を有する請求項３記載の情報処理装置。
【請求項５】
前記要求送信手段は、前記処理情報が前記一連の連続する処理が失敗したことを示している場合、前記記録情報の出力要求を送信し、前記処理情報が前記一連の連続する処理が成功したことを示している場合、前記記録情報の削除要求を送信する請求項４記載の情報処理装置。
【請求項６】
前記管理手段は、
前記一連の連続する処理の実行における実行時間を計測する計測手段と、
前記計測手段により計測された実行時間と、前記受信手段により受信された処理情報に含まれる許容実行時間情報が示す前記処理の実行における許容実行時間とを比較する比較手段と、
を更に有し、
前記要求送信手段は、前記比較手段による比較の結果、前記実行時間が前記許容実行時間よりも長い場合、前記記録情報の出力要求を送信する請求項４記載の情報処理装置。
【請求項７】
前記管理手段は、
前記一連の連続する処理の異常終了を検知する検知手段を更に有し、
前記要求送信手段は、前記検知手段により異常終了が検知された場合、前記記録情報の出力要求を送信する請求項４記載の情報処理装置。
【請求項８】
前記管理手段は、
前記受信手段により受信された処理情報に基づいて、前記処理実行手段に出力要求する記録情報の種別に対応するレベルを決定する決定手段を更に有し、
前記要求送信手段は、前記処理情報に含まれる識別情報に対応する記録情報の種別のうち、前記決定手段により決定されたレベルに応じた種別の記録情報を出力要求する請求項４記載の情報処理装置。
【請求項９】
前記管理手段は、
前記比較手段による比較の結果に基づいて、前記処理実行手段に出力要求する記録情報の種別に対応するレベルを決定する決定手段を更に有し、
前記要求送信手段は、前記処理情報に含まれる識別情報に対応する記録情報の種別のうち、前記決定手段により決定されたレベルに応じた種別の記録情報を出力要求する請求項６記載の情報処理装置。
【請求項１０】
前記管理手段は、
前記検知手段により異常終了が検知されたか否かに基づいて、前記処理実行手段に出力要求する記録情報の種別に対応するレベルを決定する決定手段を更に有し、
前記要求送信手段は、前記処理情報に含まれる識別情報に対応する記録情報の種別のうち、前記決定手段により決定されたレベルに応じた種別の記録情報を出力要求する請求項７記載の情報処理装置。
【請求項１１】
前記処理実行手段は、
前記出力手段により前記メモリ領域に記録されている記録情報が出力されると、前記記録情報を前記メモリ領域から削除する削除手段を更に有する請求項１乃至１０何れか１項記載の情報処理装置。
【請求項１２】
複数の処理実行手段により実行される一連の連続する処理の実行に係る処理実行手段が実行する情報処理方法であって、
前記一連の連続する処理を識別する識別情報を含むメッセージを他の処理実行手段との間で通信する通信ステップと、
前記通信ステップにより通信されたメッセージに含まれる識別情報を含む前記一連の連続する処理の記録情報をメモリ領域に記録する記録ステップと、
前記通信ステップにより通信されたメッセージに含まれる識別情報に基づいて、メモリ領域に記録されている記録情報から前記識別情報を含む記録情報を取得し、出力する出力ステップと、
を含む情報処理方法。
【請求項１３】
コンピュータを、
複数の処理実行手段により実行される一連の連続する処理の実行に係る処理実行手段として機能させ、
前記処理実行手段は、
前記一連の連続する処理を識別する識別情報を含むメッセージを他の処理実行手段との間で通信する通信手段と、
前記通信手段により通信されたメッセージに含まれる識別情報を含む前記一連の連続する処理の記録情報をメモリ領域に記録する記録手段と、
前記通信手段により通信されたメッセージに含まれる識別情報に基づいて、メモリ領域に記録されている記録情報から前記識別情報を含む記録情報を取得し、出力する出力手段と、
を有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置は、段階的に複数の処理（シーケンス処理）を実行することが一般的である。また、各段階においてどのように処理されたかを示すログや、各段階において処理された結果が他の段階にどのように影響を及ぼすかを示すログは、エラー解析のために有用である。一方、一般的に、ログの精度と、視認性とは、トレードオフの関係にある。
そこで、特許文献１の技術では、第１の装置が第２の装置にシーケンス処理を識別するための識別子をリクエストと共に送信し、第２の装置が第１の装置に前記識別子をリプライと共に返信する技術が開示されている。これにより、特許文献１の技術では、第１の装置が第２の装置に蓄積されているログ情報の中から識別子に基づいて一連のシーケンス処理のログ情報を出力する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１５７３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術は、複数のコンポーネントにおいて段階的に処理を行う場合、コンポーネント間のメッセージ通信を行う際にシーケンス処理を識別する識別子を伝達していなかった。そのため、特許文献１の技術は、複数のコンポーネントにおいて実施された各段階の処理を、一連の連続したシーケンス処理として識別し、複数のコンポーネントからログを出力することが困難であった。
本発明は、上記課題を鑑みてなされたものであり、複数のコンポーネントにおいて実施された連続する一連の処理の記録情報を、視認性よく出力することを目的とする。
【課題を解決するための手段】
【０００５】
そこで、本発明の情報処理装置は、複数の処理実行手段により実行される一連の連続する処理の実行に係る処理実行手段を有し、前記処理実行手段は、前記一連の連続する処理を識別する識別情報を含むメッセージを他の処理実行手段との間で通信する通信手段と、前記通信手段により通信されたメッセージに含まれる識別情報を含む前記一連の連続する処理の記録情報をメモリ領域に記録する記録手段と、前記通信手段により通信されたメッセージに含まれる識別情報に基づいて、メモリ領域に記録されている記録情報から前記識別情報を含む記録情報を取得し、出力する出力手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、複数のコンポーネントにおいて実施された連続する一連の処理の記録情報を、視認性よく出力することができる。
【図面の簡単な説明】
【０００７】
【図１】ログ出力装置のハードウェア構成の一例を示す図である。
【図２】ログ出力装置の機能構成の一例を示す図である。
【図３】ログ情報の一例を示す図（その１）である。
【図４】ログ情報の一例を示す図（その２）である。
【図５】ログ出力要求送信先情報の一例を示す図である。
【図６】実施形態１等における処理の一例を示すフローチャートである。
【図７】出力ログレベルを含むテーブルの一例を示す図である。
【図８】実施形態４等における処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づき説明する。
【０００９】
＜実施形態１＞
本実施形態において、ログ出力装置は、コンポーネント毎に、一連の連続する処理であるシーケンス処理を識別するシーケンス識別情報（以下、シーケンス識別子という）と対応付けたログ情報をメモリ領域に格納（記録）する。そして、ログ出力装置は、シーケンス処理が終了した際に前記シーケンス識別子に対応するログ情報をメモリ領域から出力する。以下、上記の処理について詳細に説明する。ここで、ログ出力装置は、情報処理装置の一例である。また、コンポーネントは、処理実行手段の一例である。
なお、ここでいうシーケンス処理とは、複数のコンポーネントによる段階的な処理から構成される一連の連続する処理である。また、ここでいうログ情報とは、コンポーネントが実行した前記段階的な処理に係る記録情報である。即ち、ログ情報は、シーケンス処理を構成する各処理の実行に係る記録情報である。
図１は、本実施形態のログ出力装置１０１のハードウェア構成の一例を示す図である。
なお、本実施形態のログ出力装置１０１は、それぞれ単一のコンピュータ装置で実現されてもよいし、必要に応じた複数のコンピュータ装置にログ出力装置１０１の各機能を分散させて実現されるようにしてもよい。ログ出力装置１０１が複数のコンピュータ装置で構成される場合、前記複数のコンピュータ装置は、互いに通信することができるようにＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）やバス等を介して互いに接続される。
【００１０】
ログ出力装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４と、バス１０５とを有する。
ＣＰＵ１０２は、ログ出力装置１０１全体を制御する。なお、ＣＰＵ１０２は、ＲＯＭ１０３等に保存されているプログラムをＲＡＭ１０４にロードして実行することにより、後述のログ出力装置１０１の機能（ソフトウェア構成）、ＯＳの機能及びフローチャートに係る処理を実現する。
ＲＯＭ１０３は、変更を必要としないプログラムやパラメータ等を格納する。
ＲＡＭ１０４は、プログラムやデータを一時記憶するワークメモリとして機能する。
バス１０５は、ＣＰＵ１０２、ＲＯＭ１０３及びＲＡＭ１０４を互いに通信可能に接続するシステムバスである。
【００１１】
ログ出力装置１０１は、ユーザの操作を受け、データを入力するポインティングデバイスやキーボード等の入力デバイスとの入力インターフェイスを有していてもよい。また、ログ出力装置１０１は、ログ出力装置１０１が保持するデータや供給されたデータを表示するための出力インターフェイスを有していてもよい。また、ログ出力装置１０１は、インターネット等のネットワーク回線に接続するためのネットワークインタフェイスを有していてもよい。また、ログ出力装置１０１は、ログ出力装置１０１に固定して設置されたハードディスクやメモリカード等を含む記憶装置を有していてもよい。更に、ログ出力装置１０１は、着脱可能なフレキシブルディスク（ＦＤ）やＣｏｍｐａｃｔ  Ｄｉｓｋ（ＣＤ）等の光ディスク、磁気や光カード、ＩＣカード、メモリカード等を含む記憶装置を有していてもよい。
【００１２】
図２は、ログ出力装置１０１の機能構成の一例を示す図である。
ログ出力装置１０１は、後述する機能を提供するコンポーネント２０１と、シーケンス処理を管理するシーケンス管理部２０２とを有する。シーケンス管理部２０２は、複数のコンポーネント２０１において実行されるシーケンス処理を管理する。
コンポーネント２０１は、メッセージ受信部２０３、メッセージ送信部２０４及びログ管理部２０９を機能構成として有する。また、ログ管理部２０９は、ログ記憶部２０５、ログ出力要求受信部２０７及びログ出力部２０８を機能構成として有する。更に、コンポーネント２０１は、ログ情報データ２０６を機能構成として有する。
なお、本実施形態におけるコンポーネント２０１の実行単位は、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）からメモリ領域の割り当てを受けてＣＰＵ１０２がそのプログラムに基づき処理を実行するプログラム単位（以下、プロセスという）とする。また、複数のプロセスは、ログ出力装置１０１で動作するものとする。
【００１３】
メッセージ受信部２０３は、シーケンスを識別するためのシーケンス識別子を含むメッセージを受信する。なお、シーケンス識別子は、システムでユニークになるように割り当てられた識別子でもよいし、予め定められた名前空間の中でユニークになるように割り当てられた識別子でもよい。
メッセージ送信部２０４は、シーケンス識別子を含むメッセージを送信する。
コンポーネント２０１は、メッセージ受信部２０３又はメッセージ送信部２０４の少なくとも何れか一つを有する。これにより、コンポーネント２０１は、複数のコンポーネントにおいて実行されたシーケンス処理を、前記シーケンス識別子で識別することができる。
ログ記憶部２０５は、シーケンス識別子を含むログ情報をＲＡＭ１０４に格納する。なお、ログ情報については、図３、図４等を用いて後述する。
ログ情報データ２０６は、少なくとも一つ以上のログ情報を含むデータである。本実施形態では、ログ記憶部２０５は、ＯＳがプロセスに割り当てるメモリ領域（以下、ヒープメモリ領域という）に、シーケンス識別子を含むログ情報を格納するものとする。
【００１４】
ログ出力要求受信部２０７は、シーケンス識別子を含むログ出力要求を受信する。
ここで、コンポーネント２０１は、後述のログ出力要求送信先登録部２１０によって、自身のログ出力要求送信先をシーケンス管理部２０２に登録する。そして、コンポーネント２０１は、ログ出力要求受信部２０７からログ出力要求を受信した後、ログ情報データ２０６から後述のログ出力部２０８によりログ情報を出力する。
ログ出力部２０８は、ログ出力要求に含まれるシーケンス識別子に対応するログ情報を、ログ情報データ２０６から選択して取得したログ情報をログ出力先に出力する。なお、ログ出力先は、出力デバイスであってもよいし、システムで共有する共有メモリ領域であってもよいし、ネットワークを介して通信可能な他の装置であってもよい。
【００１５】
シーケンス管理部２０２は、ログ出力要求送信先登録部２１０、シーケンス状態受信部２１２、異常終了検知部２１９、シーケンス時間比較部２１７、シーケンス実行時間計測部２１８及びシーケンス実行時間上限設定部２１５を機能構成として有する。更に、シーケンス管理部２０２は、ログ出力要求送信先データ２１１、シーケンス状態データ２１３及びシーケンス実行時間上限データ２１６を機能構成として有する。なお、シーケンス状態データ２１３は、シーケンス処理の処理情報の一例である。
ログ出力要求送信先登録部２１０は、ログ出力要求を送信する送信先を登録する。ここで、ログ出力要求送信先登録部２１０は、コンポーネント２０１へログ出力要求を送信するための送信先情報（以下、ログ出力要求送信先情報という）を、ログ出力要求送信先データ２１１としてＲＡＭ１０４に格納する。なお、ログ出力要求送信先情報は、メッセージ送信に必要な通信端点の情報と、通信条件の情報とを含む。ログ出力要求送信先情報については、図５を用いて後述する。
ログ出力要求送信先データ２１１は、少なくとも一つ以上のログ出力要求送信先情報を含むデータである。なお、本実施形態では、ログ出力要求送信先登録部２１０は、ログ出力要求送信先データ２１１をヒープメモリ領域に格納するものとする。
シーケンス状態受信部２１２は、シーケンス処理の処理状態を示す情報（以下、状態情報という）を受信する。
【００１６】
シーケンス状態データ２１３は、シーケンス識別子と、状態情報とを対応付けた一組以上のデータである。本実施形態では、シーケンス管理部２０２は、シーケンス状態データ２１３をヒープメモリ領域に格納するものとする。
シーケンス管理部２０２は、シーケンス識別子と、シーケンス処理の終了を示す状態情報とを受信した後、ログ出力要求送信先データ２１１に基づき、シーケンス識別子を含むログ出力要求をコンポーネント２０１に送信する。
ログ出力要求送信部２１４は、ログ出力要求送信先データ２１１に基づき、シーケンス識別子を含むログ出力要求を、コンポーネント２０１に送信する。
以上の機能により、ログ出力装置１０１は、シーケンス処理が終了した際に、前記シーケンス処理を識別するシーケンス識別子に対応するログ情報をメモリ領域から出力することができる。
なお、シーケンス実行時間上限設定部２１５、異常終了検知部２１９、シーケンス時間比較部２１７、シーケンス実行時間計測部２１８の機能及びシーケンス実行時間上限データ２１６については、後述する実施形態において説明する。
【００１７】
次に、ログ情報データ２０６について、図３及び図４を用いて説明する。
図３は、コンポーネント名"Ｃ１"のコンポーネント２０１（以下、コンポーネントＣ１という）がログ情報データ２０６としてヒープメモリ領域に格納するログ情報の一例を示す図である。
シーケンス識別子３０１は、上述したようにシーケンス処理を識別するための識別子情報を示す。
コンポーネント名３０２は、コンポーネントの名前情報を示す。
プロセス識別子３０３は、ＯＳがプロセスを識別するために割り当てる識別子情報を示す。
【００１８】
プロセス名３０４は、ＯＳ又は開発者が付与するプロセスの名前情報を示す。
スレッド識別子３０５は、ＯＳがプログラムの最小実行単位（スレッド）を識別するために割り当てる識別子情報を示す。
スレッド名３０６は、ＯＳ又は開発者が付与するスレッドの名前情報を示す。
ログ種別３０７は、ログの種別情報を示す。本実施形態では、エラーが発生した場合に出力するログの種別を"ＥＲＲＯＲ"とし、動作解析用に出力するログの種別を"ＤＥＢＵＧ"とする。
ログメッセージ３０８は、ログメッセージ情報を示す。より具体的にいうと、ログ情報３０９は、シーケンス識別子"０ｘ０００１"に係るログメッセージ情報を示す。ログ情報３１０は、シーケンス識別子"０ｘ０００２"に係るログメッセージ情報を示す。
【００１９】
図４は、コンポーネント名"Ｃ２"のコンポーネント２０１（以下、コンポーネントＣ２という）がログ情報データ２０６としてヒープメモリ領域に格納するログ情報の一例を示す図である。
図４の４０１から４０８までが示す情報は、図３の３０１から３０８までが示す情報と同様あるため、説明を省略する。
ログ情報４０９は、シーケンス識別子"０ｘ０００１"に係るログメッセージ情報を示す。
シーケンス管理部２０２が、コンポーネント２０１に、シーケンス識別子"０ｘ０００１"を含むログ出力要求を送信した場合のコンポーネント２０１の動作は次のようになる。
コンポーネント２０１は、ログ情報データ２０６から、シーケンス識別子"０ｘ０００１"と関連付けられているログ情報３０９又はログ情報４０９を検索して選択する。より具体的にいうと、コンポーネントＣ１は、ログ情報３０９を検索して選択する。一方、コンポーネントＣ２は、ログ情報４０９を検索して選択する。更に、コンポーネント２０１は、選択したログ情報をログ出力先に出力し、ログ情報データ２０６から、ログ情報データ２０６としてヒープメモリ領域に格納されたログ情報３０９又はログ情報４０９を削除する。より具体的にいうと、コンポーネントＣ１は、ヒープメモリ領域に格納されたログ情報３０９を削除する。一方、コンポーネントＣ２は、ヒープメモリ領域に格納されたログ情報４０９を削除する。
【００２０】
次に、ログ出力要求送信先データ２１１について、図５を用いて説明する。
図５は、ログ出力要求送信先情報の一例を示す図である。
ログ出力要求送信先５０１は、シーケンス管理部２０２からコンポーネント２０１に、ログ出力要求をメッセージ送信するために必要な宛先情報を示す。
送信タイムアウト５０２は、シーケンス管理部２０２からコンポーネント２０１に、メッセージ送信する際の送信タイムアウト時間情報を示す。シーケンス管理部２０２は、ログ出力要求送信先５０１が示す宛先情報及び送信タイムアウト５０２が示す送信タイムアウト時間情報に基づき、シーケンス識別子を含むログ出力要求をコンポーネント２０１に送信する。その際、シーケンス管理部２０２は、ログ出力要求のメッセージ送信における送信時間がタイムアウト時間を超えた場合、エラーメッセージを出力する。
【００２１】
次に、本実施形態における処理の流れについて、図６を用いて説明する。
図６は、本実施形態における処理の一例を示すフローチャートである。
Ｓ６０１は、コンポーネントＣ１の処理の開始点である。Ｓ６０２は、シーケンス管理部２０２の処理の開始点である。Ｓ６０３は、コンポーネントＣ２の処理の開始点である。
Ｓ６０４で、コンポーネントＣ１は、ログ出力要求の送信先として自身の宛先"Ｃ１＿ＰＯＲＴ"と、送信タイムアウト時間"１０００ｍｓｅｃ"との情報を含むログ出力要求送信先情報をシーケンス管理部２０２に送信する。
Ｓ６０５で、コンポーネントＣ２は、Ｓ６０４と同様にログ出力要求の送信先として、自身の宛先"Ｃ２＿ＰＯＲＴ"と、送信タイムアウト時間"５０００ｍｓｅｃ"との情報を含むログ出力要求送信先情報をシーケンス管理部２０２に送信する。
【００２２】
Ｓ６０６で、シーケンス管理部２０２は、受信したログ出力要求送信先情報を、ログ出力要求送信先データ２１１としてヒープメモリ領域に格納する。ログ出力要求送信先情報は、図５に示される通りである。
Ｓ６０７で、コンポーネントＣ１は、第１のシーケンスが開始したことを通知するために、シーケンス識別子"０ｘ０００１"と、状態情報"開始"とを、シーケンス管理部２０２に送信する。
Ｓ６０８で、シーケンス管理部２０２は、シーケンス識別子"０ｘ０００１"と、状態情報"開始"とを対応付けてシーケンス状態データ２１３としてヒープメモリ領域に格納する。
Ｓ６０９で、コンポーネントＣ１は、コンポーネントＣ２へ、シーケンス識別子"０ｘ０００１"を含むメッセージを送信する。
Ｓ６１０で、コンポーネントＣ１は、コンポーネントＣ１のログ管理部２０９にログ情報３０９の記憶を要求する。
Ｓ６１１で、コンポーネントＣ１のログ管理部２０９は、シーケンス識別子"０ｘ０００１"と、ログ情報３０９とを対応付け、ログ情報データ２０６としてヒープメモリ領域に格納する。
【００２３】
Ｓ６１２で、コンポーネントＣ２は、コンポーネントＣ１からシーケンス識別子"０ｘ０００１"を含むメッセージを受信する。
Ｓ６１３で、コンポーネントＣ２は、コンポーネントＣ２のログ管理部２０９にログ情報４０９の記憶を要求する。
Ｓ６１４で、コンポーネントＣ２のログ管理部２０９は、シーケンス識別子"０ｘ０００１"と、ログ情報４０９とを対応付け、ログ情報データ２０６としてヒープメモリ領域に格納する。
Ｓ６１５で、コンポーネントＣ２は、コンポーネントＣ１へ、シーケンス識別子"０ｘ０００１"を含む返信メッセージを送信する。
【００２４】
Ｓ６１６で、コンポーネントＣ１は、コンポーネントＣ２から、シーケンス識別子"０ｘ０００１"を含む返信メッセージを受信する。
Ｓ６１７で、コンポーネントＣ１は、第１のシーケンスが終了したことを通知するために、シーケンス識別子"０ｘ０００１"と、状態情報"終了"とを、シーケンス管理部２０２に送信する。
Ｓ６１８で、シーケンス管理部２０２は、受信したシーケンス識別子"０ｘ０００１"を、シーケンス状態データ２１３から検索する。そして、シーケンス管理部２０２は、
該当するシーケンス識別子が存在する場合、Ｓ６１９に遷移する。一方、シーケンス管理部２０２は、該当するシーケンス識別子が存在しない場合、Ｓ６２７に遷移する。
Ｓ６１９で、シーケンス管理部２０２は、ログ出力要求送信先データ２１１に基づき、コンポーネントＣ１及びコンポーネントＣ２に、シーケンス識別子"０ｘ０００１"を含むログ出力要求を送信する。
【００２５】
Ｓ６２０で、コンポーネントＣ１は、ログ情報データ２０６からシーケンス識別子"０ｘ０００１"に対応付けられたログ情報３０９を検索して選択し、ログ出力先に出力する。更に、コンポーネントＣ１は、ログ情報データ２０６としてヒープメモリ領域に格納されたログ情報３０９を削除する。
Ｓ６２１で、コンポーネントＣ２は、Ｓ６２０と同様に、ログ情報データ２０６からシーケンス識別子"０ｘ０００１"に対応付けられたログ情報４０９を検索して選択し、ログ出力先に出力する。更に、コンポーネントＣ２は、ログ情報データ２０６としてヒープメモリ領域に格納されたログ情報４０９を削除する。
Ｓ６２２で、コンポーネントＣ１は、第２のシーケンスが開始したことを通知するために、シーケンス識別子"０ｘ０００２"と、状態情報"開始"とを含むメッセージを、シーケンス管理部２０２に送信する。
Ｓ６２３では、シーケンス管理部２０２は、シーケンス識別子"０ｘ０００２"と、シ状態情報"開始"とを対応付けてシーケンス状態データ２１３としてヒープメモリ領域に格納する。
【００２６】
Ｓ６２４で、コンポーネントＣ１は、コンポーネントＣ１のログ管理部２０９にログ情報３１０の記憶を要求する。
Ｓ６２５で、コンポーネントＣ１のログ管理部２０９は、ログ情報３１０をログ情報データ２０６としてヒープメモリ領域に格納する。
Ｓ６２６で、コンポーネントＣ１は、第２のシーケンスが終了したことを通知するために、シーケンス識別子"０ｘ０００２"と、状態情報"終了"とを、シーケンス管理部２０２に送信する。
Ｓ６２７で、シーケンス管理部２０２は、受信したシーケンス識別子"０ｘ０００２"を、シーケンス状態データ２１３から検索する。そして、シーケンス管理部２０２は、該当するシーケンス識別子が存在する場合、Ｓ６２８に遷移する。一方、シーケンス管理部２０２は、該当するシーケンス識別子が存在しない場合、Ｓ６３２に遷移する。
【００２７】
Ｓ６２８で、シーケンス管理部２０２は、ログ出力要求送信先データ２１１に基づき、コンポーネントＣ１及びコンポーネントＣ２に、シーケンス識別子"０ｘ０００２"を含むログ出力要求を送信する。
Ｓ６２９で、コンポーネントＣ１は、ログ情報データ２０６からシーケンス識別子"０ｘ０００２"に対応付けられたログ情報３１０を検索して選択し、ログ出力先に出力する。更に、コンポーネントＣ１は、ログ情報データ２０６としてヒープメモリ領域に格納されたログ情報３１０を削除する。
Ｓ６３０では、コンポーネントＣ２は、ログ情報データ２０６からシーケンス識別子"０ｘ０００２"に対応付けられたログ情報を検索する。ここでは、該当するログがないため、コンポーネントＣ２は、ログの出力を行わず、Ｓ６３３に遷移する。
Ｓ６３１は、コンポーネントＣ１の処理の終点である。Ｓ６３２は、シーケンス管理部２０２の処理の終点である。Ｓ６３３は、コンポーネントＣ２の処理の終点である。
なお、本実施形態では、コンポーネント２０１は、コンポーネント２０１の初期化時にログ出力要求送信先情報をシーケンス管理部２０２に送信してログ出力要求の送信先として登録を要求する実施形態について説明した。しかし、コンポーネント２０１は、シーケンス処理を実行している間に、ログ出力要求送信先情報をシーケンス管理部２０２に送信してログ出力要求の送信先として登録を要求するようにしてもよい。
以上、本実施形態によると、ログ出力装置１０１は、一連のシーケンス処理におけるログ情報を、一連の連続したシーケンス処理として識別して視認性よく出力することができる。
【００２８】
＜実施形態２＞
本実施形態において、ログ出力装置１０１は、コンポーネント毎に、シーケンス識別子と対応付けたログ情報をメモリ領域に格納する。そして、ログ出力装置１０１は、シーケンスの処理結果に応じて、前記シーケンス識別子に対応するログ情報をメモリ領域から出力する。以下、上記の処理について詳細に説明する。
本実施形態のログ出力装置１０１のハードウェア構成は、実施形態１と同様である。
次に、図２に示される本実施形態のログ出力装置１０１の機能構成について、上述の実施形態と異なる点について、以下に説明する。
【００２９】
コンポーネント２０１は、シーケンス処理の処理結果を示す情報（以下、結果情報という）と、シーケンス識別子と、状態情報とを、シーケンス管理部２０２に送信する。そして、シーケンス管理部２０２は、シーケンス処理の処理結果に応じて、シーケンス識別子を含むログ出力要求をコンポーネント２０１に送信するか否かを判断する。
シーケンス状態受信部２１２は、結果情報と、シーケンス識別子と、状態情報とを受信する。
シーケンス状態データ２１３は、シーケンス識別子と、結果情報と、状態情報とを対応付けた一組以上のデータである。本実施形態では、シーケンス管理部２０２は、シーケンス状態データ２１３をヒープメモリ領域に格納するものとする。
ログ出力要求送信部２１４は、シーケンス処理の結果に応じて、ログ出力要求を送信するか否かを判断する。更に、ログ出力要求送信部２１４は、ログ出力要求を送信すると判断した場合、ログ出力要求送信先データ２１１に基づき、シーケンス識別子を含むログ出力要求を、コンポーネント２０１に送信する。一方、ログ出力要求送信部２１４は、ログ出力要求を送信しないと判断した場合、ログ出力要求送信先データ２１１に基づき、シーケンス識別子を含むログ削除要求を、コンポーネント２０１に送信する。
【００３０】
次に、本実施形態における処理の流れについて、図６を用いて説明する。
Ｓ６０１からＳ６１５までの処理は、実施形態１と同様である。
Ｓ６１６で、コンポーネントＣ１は、コンポーネントＣ２からの返信メッセージの受信に失敗したとする。
Ｓ６１７で、コンポーネントＣ１は、第１のシーケンスが失敗したことを通知するために、結果情報"失敗"と、シーケンス識別子"０ｘ０００１"と、状態情報"終了"とを、シーケンス管理部２０２に送信する。
Ｓ６１８で、シーケンス管理部２０２は、受信したシーケンス識別子"０ｘ０００１"を、シーケンス状態データ２１３から検索する。そして、シーケンス管理部２０２は、該当するシーケンス識別子が存在する場合、Ｓ６１９に遷移する。一方、シーケンス管理部２０２は、該当するシーケンス識別子が存在しない場合、Ｓ６２７に遷移する。
【００３１】
Ｓ６１９で、シーケンス管理部２０２は、シーケンス処理結果に基づき、ログ出力要求を送信するか否かを判断する。本実施形態では、シーケンス管理部２０２は、シーケンス処理結果が"失敗"の場合、ログ出力要求を送信し、シーケンス処理結果が"成功"の場合、ログ削除要求を送信するものとする。即ち、シーケンス管理部２０２は、Ｓ６１８で受信した結果情報"失敗"に基づき、ログ出力要求を送信すると判断する。更に、シーケンス管理部２０２は、ログ出力要求送信先データ２１１に基づき、コンポーネントＣ１及びコンポーネントＣ２に、シーケンス識別子"０ｘ０００１"を含むログ出力要求を送信する。
Ｓ６２０で、コンポーネントＣ１は、ログ情報データ２０６からシーケンス識別子"０ｘ０００１"に対応付けられたログ情報３０９を検索して選択し、ログ出力先に出力する。更に、コンポーネントＣ１は、ログ情報データ２０６としてヒープメモリ領域に格納されたログ情報３０９を削除する。
Ｓ６２１で、コンポーネントＣ２は、Ｓ６２０と同様に、ログ情報データ２０６からシーケンス識別子"０ｘ０００１"に対応付けられたログ情報４０９を検索して選択し、ログ出力先に出力する。更に、コンポーネントＣ２は、ログ情報データ２０６としてヒープメモリ領域に格納されたログ情報４０９を削除する。
Ｓ６２２からＳ６２５までの処理は、実施形態１と同様である。
【００３２】
Ｓ６２６で、コンポーネントＣ１は、第２のシーケンスが成功したことを通知するために、結果情報"成功"と、シーケンス識別子"０ｘ０００２"と、状態情報"終了"とを、シーケンス管理部２０２に送信する。
Ｓ６２７で、シーケンス管理部２０２は、受信したシーケンス識別子"０ｘ０００２"を、シーケンス状態データ２１３から検索する。そして、シーケンス管理部２０２は、該当するシーケンス識別子が存在する場合、Ｓ６２８に遷移する。一方、シーケンス管理部２０２は、該当するシーケンス識別子が存在しない場合、Ｓ６３２に遷移する。
Ｓ６２８で、シーケンス管理部２０２は、シーケンス処理結果に基づき、ログ出力要求を送信するか否かを判断する。シーケンス管理部２０２は、Ｓ６２７で受信したシーケンス処理結果"成功"に基づき、ログ出力要求を送信しないと判断する。次に、シーケンス管理部２０２は、ログ出力要求送信先データ２１１に基づき、コンポーネントＣ１及びコンポーネントＣ２に、シーケンス識別子"０ｘ０００２"を含むログ削除要求を送信する。
Ｓ６２９で、コンポーネントＣ１は、ログ情報データ２０６からシーケンス識別子"０ｘ０００２"に対応付けられたログ情報３１０を検索して選択する。更に、コンポーネントＣ１は、ログ情報データ２０６としてヒープメモリ領域に格納されたログ情報３１０を削除する。
Ｓ６３０からＳ６３３までの処理は、実施形態１と同様である。
以上、本実施形態によると、ログ出力装置１０１は、一連のシーケンス処理におけるログ情報を、シーケンス処理の処理結果に応じて選択し、一連の連続したシーケンス処理として識別して視認性よく、かつ、精度よく出力することができる。
【００３３】
＜実施形態３＞
本実施形態において、ログ出力装置１０１は、コンポーネント毎に、シーケンス識別子と対応付けたログ情報をメモリ領域に格納する。そして、ログ出力装置１０１は、シーケンスの処理結果に応じて出力ログレベルを決定し、決定した出力レベルに応じて、前記シーケンス識別子に対応するログ情報をメモリ領域から出力する。以下、上記の処理について詳細に説明する。
本実施形態のログ出力装置１０１のハードウェア構成は、実施形態１と同様である。
次に、図２に示される本実施形態のログ出力装置１０１の機能構成について、上述の実施形態と異なる点について、以下に説明する。
コンポーネント２０１は、結果情報と、シーケンス識別子と、状態情報とをシーケンス管理部２０２に送信する。
シーケンス管理部２０２は、シーケンスの処理結果に応じて、出力ログレベルを決定し、シーケンス識別子と、出力ログレベルを示す情報（以下、出力ログレベル情報という）とを含むログ出力要求をコンポーネント２０１に送信する。
【００３４】
ログ出力要求受信部２０７は、シーケンス識別子と、出力ログレベル情報を含むログ出力要求を受信する。
ログ出力部２０８は、ログ出力要求に含まれるシーケンス識別子と、出力ログレベル情報とに応じたログ情報を、ログ情報データ２０６から選択し、選択したログ情報をログ出力先に出力する。
シーケンス状態受信部２１２は、結果情報と、シーケンス識別子と、状態情報とを受信する。
シーケンス状態データ２１３は、シーケンス識別子と、結果情報と、状態情報とを対応付けた一組以上のデータである。本実施形態では、シーケンス管理部２０２は、シーケンス状態データ２１３をヒープメモリ領域に格納するものとする。
ログ出力要求送信部２１４は、シーケンス処理の結果に応じて、出力ログレベルを決定し、ログ出力要求送信先データ２１１に基づき、シーケンス識別子と、出力ログレベル情報とを含むログ出力要求を、コンポーネント２０１に送信する。
【００３５】
次に、本実施形態においてシーケンス管理部２０２が決定する出力ログレベルについて、図７を用いて説明する。
図７は、処理結果と、出力ログレベルと、ログ種別との対応を示すテーブルの一例を示す図である。
処理結果７０１は、シーケンス処理の処理結果である処理結果情報を示す。
出力ログレベル７０２は、出力ログレベル情報を示す。
ログ種別７０３は、出力ログ種別を示す情報（以下、出力ログ種別情報という）である。
ログ種別７０４は、シーケンス処理の処理結果が"失敗"の場合、出力ログレベルは"ＨＩＧＨ"であり、その場合にログ出力部２０８が出力するログ種別は、"ＥＲＲＯＲ"及び"ＤＥＢＵＧ"であることを示す。
ログ種別７０５は、シーケンス処理の処理結果が"成功"の場合、出力ログレベルは、"ＬＯＷ"であり、その場合にログ出力部２０８が出力するログ種別は、"ＥＲＲＯＲ"であることを示す。
【００３６】
次に、本実施形態における処理の流れについて、図６を用いて説明する。
Ｓ６０１からＳ６１５までの処理は、実施形態１と同様である。
Ｓ６１６で、コンポーネントＣ１は、コンポーネントＣ２からの返信メッセージの受信に失敗したとする。
Ｓ６１７で、コンポーネントＣ１は、第１のシーケンス処理が失敗したことを通知するために、結果情報"失敗"と、シーケンス識別子"０ｘ０００１"と、状態情報"終了"とを、シーケンス管理部２０２に、送信する。
Ｓ６１８で、シーケンス管理部２０２は、受信したシーケンス識別子"０ｘ０００１"を、シーケンス状態データ２１３から検索する。そして、シーケンス管理部２０２は、該当するシーケンス識別子が存在する場合、Ｓ６１９に遷移する。一方、シーケンス管理部２０２は、該当するシーケンス識別子が存在しない場合、Ｓ６２７に遷移する。
【００３７】
Ｓ６１９で、シーケンス管理部２０２は、シーケンス処理結果に基づき、出力ログレベルを決定する。本実施形態では、シーケンス管理部２０２は、シーケンス処理結果が"失敗"の場合、出力ログレベルを"ＨＩＧＨ"と決定し、シーケンス処理結果が"成功"の場合、出力ログレベルを"ＬＯＷ"と決定するものとする。即ち、シーケンス管理部２０２は、Ｓ６１８で受信した結果情報"失敗"に基づき、出力ログレベルを"ＨＩＧＨ"に決定する。更に、シーケンス管理部２０２は、ログ出力要求送信先データ２１１に基づき、コンポーネントＣ１及びコンポーネントＣ２に、シーケンス識別子"０ｘ０００１"と、出力ログレベル情報"ＨＩＧＨ"とを含むログ出力要求を送信する。
Ｓ６２０で、コンポーネントＣ１は、ログ情報データ２０６からシーケンス識別子"０ｘ０００１"に対応付けられたログ情報を検索して選択する。そして、コンポーネントＣ１は、選択したログ情報から出力ログレベル"ＨＩＧＨ"に対応するログ種別、即ち、"ＥＲＲＯＲ"と、"ＤＥＢＵＧ"とに該当するログ情報を検索して選択し、ログ出力先に出力する。更に、コンポーネントＣ１は、ログ情報データ２０６としてヒープメモリ領域に格納されている前記選択したログ情報を削除する。
【００３８】
Ｓ６２１で、コンポーネントＣ２は、Ｓ６２０と同様に、ログ情報データ２０６からシーケンス識別子"０ｘ０００１"に対応付けられたログ情報を検索して選択する。そして、コンポーネントＣ２は、選択したログ情報から、出力ログレベル"ＨＩＧＨ"に対応するログ種別、即ち、"ＥＲＲＯＲ"と、"ＤＥＢＵＧ"とに該当するログ情報を選択し、ログ出力先に出力する。更に、コンポーネントＣ２は、ログ情報データ２０６としてヒープメモリ領域に格納されている前記選択したログ情報を削除する。
Ｓ６２２からＳ６２５までの処理は、実施形態１と同様である。
Ｓ６２６で、コンポーネントＣ１は、第２のシーケンス処理が成功したことを通知するために、結果情報"成功"と、シーケンス識別子"０ｘ０００２"と、状態情報"終了"とを、シーケンス管理部２０２に送信する。
Ｓ６２７で、シーケンス管理部２０２は、受信したシーケンス識別子"０ｘ０００２"を、シーケンス状態データ２１３から検索する。そして、シーケンス管理部２０２は、該当するシーケンス識別子が存在する場合、Ｓ６２８に遷移する。一方、シーケンス管理部２０２は、該当するシーケンス識別子が存在しない場合、Ｓ６３２に遷移する。
【００３９】
Ｓ６２８では、シーケンス管理部２０２は、シーケンス処理結果に基づき、出力ログレベルを決定する。より具体的には、シーケンス管理部２０２は、Ｓ６２７で受信した結果情報"成功"に基づき、出力ログレベルを"ＬＯＷ"に決定する。更に、シーケンス管理部２０２は、ログ出力要求送信先データ２１１に基づき、コンポーネントＣ１及びコンポーネントＣ２に、シーケンス識別子"０ｘ０００２"と、出力ログレベル情報"ＬＯＷ"とを含むログ出力要求を送信する。
Ｓ６２９で、コンポーネントＣ１は、ログ情報データ２０６からシーケンス識別子"０ｘ０００２"に対応付けられたログ情報を検索して選択する。そして、コンポーネントＣ１は、選択したログ情報から、出力ログレベル"ＬＯＷ"に対応するログ種別、即ち、"ＥＲＲＯＲ"に該当するログ情報を検索する。ここでは、該当するログ情報がないため、コンポーネントＣ１は、ログ情報を出力しない。更に、コンポーネントＣ１は、ログ情報データ２０６としてヒープメモリ領域に格納されている前記選択したログ情報を削除する。
Ｓ６３０からＳ６３３までの処理は、実施形態１と同様である。
以上、本実施形態によると、ログ出力装置１０１は、一連のシーケンス処理におけるログ情報を、シーケンス処理の処理結果に基づいて決定した出力レベルに応じて選択する。これにより、ログ出力装置１０１は、前記ログ情報を一連の連続したシーケンス処理として識別して視認性よく、かつ精度よく出力することができる。
【００４０】
＜実施形態４＞
本実施形態において、ログ出力装置１０１は、コンポーネント毎に、シーケンス識別子と対応付けたログ情報をメモリ領域に格納する。そして、ログ出力装置１０１は、シーケンス処理の実行時間に応じて、前記シーケンス識別子に対応するログ情報をメモリ領域から出力する。以下、上記の処理について詳細に説明する。
本実施形態のログ出力装置１０１のハードウェア構成は、実施形態１と同様である。
次に、図２に示される本実施形態のログ出力装置１０１の機能構成について、上述の実施形態と異なる点について、以下に説明する。
コンポーネント２０１は、シーケンス処理の実行時間の上限（以下、第１の時間という）をシーケンス管理部２０２に設定する。なお、第１の時間を示す情報は、許容実行時間情報の一例である。
シーケンス管理部２０２は、シーケンス処理が開始してから経過した時間（以下、第２の時間という）を計測する。そして、シーケンス管理部２０２は、第１の時間と、第２の時間とを比較し、比較結果に応じて、シーケンス識別子を含むログ出力要求を、コンポーネント２０１に送信する。なお、第２の時間を示す情報は、実行時間情報の一例である。
【００４１】
シーケンス実行時間上限設定部２１５は、第１の時間を設定する。
シーケンス実行時間上限データ２１６は、第１の時間に関するデータである。本実施形態では、シーケンス管理部２０２は、シーケンス実行時間上限データ２１６をヒープメモリ領域に格納するものとする。
シーケンス時間比較部２１７は、シーケンス実行時間上限データ２１６（第１の時間）と、第２の時間とを比較する。
シーケンス実行時間計測部２１８は、第２の時間を計測する。
ログ出力要求送信部２１４は、シーケンス時間比較部２１７の比較結果に応じて、シーケンス識別子を含むログ出力要求をコンポーネント２０１に送信する。
【００４２】
次に、本実施形態における処理の流れについて、図８を用いて説明する。
Ｓ８０１は、コンポーネントＣ１の処理の開始点である。Ｓ８０２は、シーケンス管理部２０２の処理の開始点である。Ｓ８０３は、コンポーネントＣ２の処理の開始点である。
Ｓ８０４で、コンポーネントＣ１は、ログ出力要求の送信先として自身の宛先"Ｃ１＿ＰＯＲＴ"と、送信タイムアウト時間"１０００ｍｓｅｃ"との情報を含むログ出力要求送信先情報をシーケンス管理部２０２に送信する。
Ｓ８０５で、コンポーネントＣ２は、Ｓ８０４と同様にログ出力要求の送信先として、自身の宛先"Ｃ２＿ＰＯＲＴ"と、送信タイムアウト時間"５０００ｍｓｅｃ"との情報を含むログ出力要求送信先情報をシーケンス管理部２０２に送信する。
【００４３】
Ｓ８０６で、シーケンス管理部２０２は、受信したログ出力要求送信先情報を、ログ出力要求送信先データ２１１としてヒープメモリ領域に格納する。ログ出力要求送信先情報は、図５に示される通りである。
Ｓ８０７で、コンポーネントＣ１は、第１のシーケンス処理が開始したことと、シーケンス実行時間の上限とを、シーケンス管理部２０２に通知する。即ち、コンポーネントＣ１は、シーケンス管理部２０２に、シーケンス識別子"０ｘ０００１"と、状態情報"開始"と、第１の実行時間"１００ｍｓｅｃ"の情報とを送信する。
Ｓ８０８で、シーケンス管理部２０２は、シーケンス識別子"０ｘ０００１"と、状態情報"開始"とを対応付けてシーケンス状態データ２１３としてヒープメモリに格納する。更に、シーケンス管理部２０２は、シーケンス識別子"０ｘ０００１"と、第１の時間"１００ｍｓｅｃ"の情報とを対応付けてシーケンス実行時間上限データ２１６としてヒープメモリに格納する。
Ｓ８０９で、コンポーネントＣ１は、コンポーネントＣ２へ、シーケンス識別子"０ｘ０００１"を含むメッセージをシーケンス管理部２０２に送信する。
Ｓ８１０で、コンポーネントＣ１は、コンポーネントＣ１のログ管理部２０９にログ情報３０９の記憶を要求する。
【００４４】
Ｓ８１１で、コンポーネントＣ１のログ管理部２０９は、シーケンス識別子"０ｘ０００１"と、ログ情報３０９とを対応付け、ログ情報データ２０６としてヒープメモリ領域に格納する。
Ｓ８１２で、コンポーネントＣ２は、コンポーネントＣ１からシーケンス識別子"０ｘ０００１"を含むメッセージを受信する。
Ｓ８１３で、コンポーネントＣ２は、コンポーネントＣ２のログ管理部２０９にログ情報４０９の記憶を要求する。
Ｓ８１４で、コンポーネントＣ２のログ管理部２０９は、シーケンス識別子"０ｘ０００１"と、ログ情報４０９とを対応付け、ログ情報データ２０６としてヒープメモリ領域に格納する。
Ｓ８１５で、コンポーネントＣ２は、コンポーネントＣ１へ、シーケンス識別子"０ｘ０００１"を含む返信メッセージを送信する。ここでは、送信タイムアウトとなったとする。
Ｓ８１６で、コンポーネントＣ１は、コンポーネントＣ２から、シーケンス識別子"０ｘ０００１"を含む返信メッセージをタイムアウト時間なしの条件で受信しようとし、ブロックする。
【００４５】
Ｓ８１７で、シーケンス管理部２０２は、第２の時間を計測する。
Ｓ８１８で、シーケンス管理部２０２は、Ｓ８０８で格納したシーケンス実行時間上限データ２１６が示す時間と、Ｓ８１７で計測したシーケンス実行経過時間とを比較する。そして、シーケンス管理部２０２は、第１の時間より第２の時間の方が長い場合、Ｓ８１９に遷移する。一方、シーケンス管理部２０２は、第１の時間より第２の時間の方が短い（第２の時間が第１の時間以下の）場合、Ｓ８１７に遷移する。
Ｓ８１９で、シーケンス管理部２０２は、Ｓ８０８で受信したシーケンス識別子"０ｘ０００１"を、シーケンス状態データ２１３から検索する。そして、シーケンス管理部２０２は、該当するシーケンス識別子が存在する場合、Ｓ８２０に遷移する。一方、シーケンス管理部２０２は、該当するシーケンス識別子が存在しない場合、Ｓ８２３に遷移する。
Ｓ８２０で、シーケンス管理部２０２は、ログ出力要求送信先データ２１１に基づき、コンポーネントＣ１及びコンポーネントＣ２に、シーケンス識別子"０ｘ０００１"を含むログ出力要求を送信する。
【００４６】
Ｓ８２１で、コンポーネントＣ１は、ログ情報データ２０６からシーケンス識別子"０ｘ０００１"に対応付けられたログ情報３０９を検索して選択し、ログ出力先に出力する。更に、コンポーネントＣ１は、ログ情報データ２０６としてヒープメモリ領域に格納されているログ情報３０９を削除する。
Ｓ８２２で、コンポーネントＣ２は、Ｓ８２１と同様に、ログ情報データ２０６からシーケンス識別子"０ｘ０００１"に対応付けられたログ情報４０９を検索して選択し、ログ出力先に出力する。更に、コンポーネントＣ２は、ログ情報データ２０６としてヒープメモリ領域に格納されているログ情報４０９を削除する。
Ｓ８２３は、シーケンス管理部２０２の処理の終点である。Ｓ８２４は、コンポーネントＣ２の処理の終点である。
以上、本実施形態によると、ログ出力装置１０１は、一連のシーケンス処理におけるログ情報を、シーケンス処理の実行時間に応じて出力する。これにより、ログ出力装置１０１は、シーケンス処理が想定時間内に終了しなかった場合でも、ログ情報を一連の連続したシーケンス処理として識別して視認性よく出力することができる。
【００４７】
＜実施形態５＞
本実施形態において、ログ出力装置１０１は、コンポーネント毎に、シーケンス識別子と対応付けたログ情報をメモリ領域に格納する。そして、ログ出力装置１０１は、シーケンス処理の実行時間に応じて出力ログレベルを決定し、出力ログレベルに応じて、前記シーケンス識別子に対応するログ情報をメモリ領域から出力する。以下、上記の処理について詳細に説明する。
本実施形態のログ出力装置１０１のハードウェア構成は、実施形態１と同様である。
次に、図２に示される本実施形態のログ出力装置１０１の機能構成について、上述の実施形態と異なる点について、以下に説明する。
コンポーネント２０１は、第１の時間をシーケンス管理部２０２に設定する。
シーケンス管理部２０２は、第２の時間を計測する。そして、シーケンス管理部２０２は、第１の時間と、第２の時間とを比較し、比較結果に応じて、出力ログレベルを決定し、シーケンス識別子と、出力ログレベル情報とを含むログ出力要求をコンポーネント２０１に送信する。
【００４８】
シーケンス実行時間上限設定部２１５は、第１の時間を設定する。
シーケンス実行時間上限データ２１６は、第１の時間に関するデータである。本実施形態では、シーケンス管理部２０２は、シーケンス実行時間上限データ２１６をヒープメモリ領域に格納するものとする。
シーケンス時間比較部２１７は、シーケンス実行時間上限データ２１６（第１の時間）と、第２の時間とを比較する。
シーケンス実行時間計測部２１８は、第２の時間を計測する。
【００４９】
ログ出力要求送信部２１４は、シーケンス時間比較部２１７の比較結果に応じて、出力ログレベルを決定し、シーケンス識別子と、出力ログレベル情報とを含むログ出力要求をコンポーネント２０１に送信する。より具体的には、ログ出力要求送信部２１４は、シーケンス時間比較部２１７による比較の結果、第１の時間より第２の時間の方が長い場合、出力ログレベルを"ＨＩＧＨ"と決定する。一方、ログ出力要求送信部２１４は、シーケンス時間比較部２１７による比較の結果、第１の時間より第２の時間の方が短い（第２の時間が第１の時間以下）場合、出力ログレベルを"ＬＯＷ"と決定する。そして、ログ出力要求送信部２１４は、シーケンス識別子と、決定した出力ログレベル情報とを含むログ出力要求をコンポーネント２０１に送信する。
コンポーネント２０１はログ出力要求送信部２１４から受信したシーケンス識別子と、出力ログレベル情報とに基づいてログ情報を検索して選択し、出力する。なお、コンポーネント２０１がシーケンス識別子と、出力ログレベル情報とに基づいて出力するログ情報を検索して選択する処理は、実施形態３において図６及び図７等を用いて上述したため、説明を省略する。
以上、本実施形態によると、ログ出力装置１０１は、一連のシーケンス処理におけるログ情報を、シーケンス処理の実行時間に基づいて決定した出力レベルに応じて選択して出力する。これにより、ログ出力装置１０１は、シーケンス処理が想定時間内に終了しなかった場合でも、ログ情報を一連の連続したシーケンス処理として識別して視認性よく、かつ、精度よく出力することができる。
【００５０】
＜実施形態６＞
本実施形態において、ログ出力装置１０１は、コンポーネント毎に、シーケンス識別子と対応付けたログ情報をメモリ領域に格納する。そして、ログ出力装置１０１は、コンポーネントの処理の異常終了を検知したか否かに応じて、前記シーケンス識別子に対応するログ情報をメモリ領域から出力する。以下、上記の処理について詳細に説明する。
本実施形態のログ出力装置１０１のハードウェア構成は、実施形態１と同様である。
次に、図２に示される本実施形態のログ出力装置１０１の機能構成について、上述の実施形態と異なる点について、以下に説明する。
シーケンス管理部２０２は、コンポーネント２０１の処理の異常終了を検知し、異常終了したコンポーネント２０１に関連するシーケンス識別子を特定する。シーケンス管理部２０２は、コンポーネント２０１の処理の異常終了を検知したか否かを判断し、判断結果に応じて、シーケンス識別子を含むログ出力要求を、コンポーネント２０１に送信する。
【００５１】
異常終了検知部２１９は、コンポーネント２０１の処理の異常終了を検知する。
ログ出力要求送信部２１４は、異常終了したコンポーネント２０１の処理に関連するシーケンス識別子を特定し、前記シーケンス識別子を含むログ出力要求をコンポーネント２０１に送信する。
コンポーネント２０１は、ログ出力要求送信部２１４から受信したシーケンス識別子に基づいてログ情報を検索して選択し、出力する。なお、コンポーネント２０１がシーケンス識別子に基づいて出力するログ情報を検索して選択する処理は、実施形態１等において図６等を用いて上述したため、説明を省略する。
以上、本実施形態によると、ログ出力装置１０１は、一連のシーケンス処理のログ情報を、コンポーネントの処理が異常終了したか否かに応じて出力する。これにより、ログ出力装置１０１は、コンポーネントの処理が異常終了した場合でも、ログ情報を一連の連続したシーケンス処理として識別して視認性よく出力することができる。
【００５２】
＜実施形態７＞
本実施形態において、ログ出力装置１０１は、コンポーネント毎に、シーケンス識別子と対応付けたログ情報をメモリ領域に格納する。そして、ログ出力装置１０１は、コンポーネントの処理の異常終了を検知したか否かに応じて出力ログレベルを決定し、決定した出力ログレベルに応じて、前記シーケンス識別子に対応するログ情報をメモリ領域から出力する。以下、上記の処理について詳細に説明する。
本実施形態のログ出力装置１０１のハードウェア構成は、実施形態１と同様である。
次に、図２に示される本実施形態のログ出力装置１０１の機能構成について、上述の実施形態と異なる点について、以下に説明する。
【００５３】
シーケンス管理部２０２は、異常終了を検知し、異常終了したコンポーネント２０１に関連するシーケンス識別子を特定する。シーケンス管理部２０２は、コンポーネント２０１の異常終了を検知したか否かを判断し、判断結果に応じて、出力ログレベルを決定する。更に、シーケンス管理部２０２は、シーケンス識別子と、決定した出力ログレベルの出力ログレベル情報とを含むログ出力要求を、コンポーネント２０１に送信する。より具体的には、ログ出力要求送信部２１４は、異常終了検知部２１９でコンポーネント２０１の処理の異常終了が検知された場合、出力ログレベルを"ＨＩＧＨ"と決定する。一方、ログ出力要求送信部２１４は、異常終了検知部２１９でコンポーネント２０１の処理の異常終了が検知されなかった場合、出力ログレベルを"ＬＯＷ"と決定する。そして、ログ出力要求送信部２１４は、シーケンス識別子と、決定した出力ログレベル情報とを含むログ出力要求をコンポーネント２０１に送信する。
コンポーネント２０１はログ出力要求送信部２１４から受信したシーケンス識別子と、出力ログレベル情報とに基づいて出力するログ情報を検索して選択し、出力する。なお、コンポーネント２０１がシーケンス識別子と、出力ログレベル情報とに基づいて出力するログ情報を検索して選択する処理は、実施形態３において図６及び図７等を用いて上述したため、説明を省略する。
以上、本実施形態によると、ログ出力装置１０１は、一連のシーケンス処理のログ情報を、コンポーネントの処理が異常終了したか否かに基づいて決定した出力レベルに応じて選択して出力する。これにより、ログ出力装置１０１は、コンポーネントの処理が異常終了した場合でも、ログ情報を一連の連続したシーケンス処理として識別して視認性よく出力することができる。
【００５４】
＜その他の実施形態＞
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
また、上述の実施形態１乃至実施形態７では、コンポーネント２０１及びシーケンス管理部２０２の実行形式がプロセス単位である場合を例に説明したが、スレッド単位であってもよい。
また、コンポーネント２０１がログ情報データ２０６をヒープメモリ領域に格納する場合を例に説明したが、格納領域は、共有メモリ領域であってもよいし、スレッド固有データ領域であってもよい。
また、シーケンス管理部２０２がログ出力要求送信先データ２１１及びシーケンス状態データ２１３をヒープメモリ領域に格納する場合を例に説明したが、格納領域は、共有メモリ領域であってもよい。
また、コンポーネント２０１及びシーケンス管理部２０２が同一のログ出力装置１０１上で動作する場合を例に説明したが、コンポーネント２０１及びシーケンス管理部２０２は、異なるログ出力装置上で動作する構成であってもよい。
また、シーケンス処理は、連続した遠隔手続き呼び出し（Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ）で実現されてもよいし、関数呼び出しで実現されてもよいし、その他の通信方式で実現されてもよい。
【００５５】
以上、上述した各実施形態によれば、ログ出力装置１０１は、複数のコンポーネントにおいて実施された連続する一連の処理の記録情報を、一連の連続した処理として識別して視認性よく出力することができる。
【００５６】
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
2014197350.tif 000003
【図２】
2014197350.tif 000004
【図３】
2014197350.tif 000005
【図４】
2014197350.tif 000006
【図５】
2014197350.tif 000007
【図６】
2014197350.tif 000008
【図７】
2014197350.tif 000009
【図８】
2014197350.tif 000010