IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

<>
  • 特開-情報処理装置、および情報処理方法 図1
  • 特開-情報処理装置、および情報処理方法 図2
  • 特開-情報処理装置、および情報処理方法 図3
  • 特開-情報処理装置、および情報処理方法 図4
  • 特開-情報処理装置、および情報処理方法 図5
  • 特開-情報処理装置、および情報処理方法 図6
  • 特開-情報処理装置、および情報処理方法 図7
  • 特開-情報処理装置、および情報処理方法 図8
  • 特開-情報処理装置、および情報処理方法 図9
  • 特開-情報処理装置、および情報処理方法 図10
  • 特開-情報処理装置、および情報処理方法 図11
  • 特開-情報処理装置、および情報処理方法 図12
  • 特開-情報処理装置、および情報処理方法 図13
  • 特開-情報処理装置、および情報処理方法 図14
  • 特開-情報処理装置、および情報処理方法 図15
  • 特開-情報処理装置、および情報処理方法 図16
  • 特開-情報処理装置、および情報処理方法 図17
  • 特開-情報処理装置、および情報処理方法 図18
  • 特開-情報処理装置、および情報処理方法 図19
  • 特開-情報処理装置、および情報処理方法 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024021104
(43)【公開日】2024-02-16
(54)【発明の名称】情報処理装置、および情報処理方法
(51)【国際特許分類】
   G06F 11/34 20060101AFI20240208BHJP
【FI】
G06F11/34 176
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022123688
(22)【出願日】2022-08-03
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】木村 有佑
(72)【発明者】
【氏名】岡田 祐介
(72)【発明者】
【氏名】鴨志田 優一
(72)【発明者】
【氏名】▲高▼橋 謙太
(72)【発明者】
【氏名】齋藤 和也
(72)【発明者】
【氏名】石川 良隆
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042MA08
5B042MA09
5B042MA17
5B042MC09
5B042MC15
5B042MC35
(57)【要約】
【課題】パケットを保存する記憶領域の使用サイズの低減化を図ること。
【解決手段】処理部110は、受け付けた第1パケットに対応する識別情報を取得する。処理部110は、受け付けた第1パケットに応じて実行された自処理部110が担当するプログラムに関する処理ログに、取得した識別情報を対応付けて、第1記憶部121に格納する。処理部110は、次に実行するいずれかのプログラムの実行を要求する第2パケットを、取得した識別情報を付与してから、当該いずれかのプログラムを担当する他の処理部110に送信する。制御部120は、複数の処理部110のいずれかの処理部110が送信した第2パケットをキャプチャし、バッファ領域123に格納する。制御部120は、第1識別情報の入力を受け付けたことに応じて、バッファ領域123から、第1識別情報が付与された1以上のパケットを抽出し、第2記憶部122に格納する。
【選択図】図1
【特許請求の範囲】
【請求項1】
互いに連携するプログラム群のそれぞれ異なるプログラムを担当する複数の処理部と、前記複数の処理部の通信を制御する制御部とを含む情報処理装置であって、
前記複数の処理部それぞれは、
自処理部が担当するプログラムの実行を要求する第1パケットを受け付けたことに応じて、受け付けた前記第1パケットに対応する識別情報を取得し、
受け付けた前記第1パケットに応じて実行された自処理部が担当するプログラムに関する処理ログに、取得した前記識別情報を対応付けて、前記プログラム群に含まれるプログラムに関する処理ログを記憶する第1記憶部に格納し、
自処理部が担当するプログラムの次に実行する、前記プログラム群のいずれかのプログラムの実行を要求する第2パケットを、取得した前記識別情報を付与してから、前記複数の処理部のうち前記いずれかのプログラムを担当する他の処理部に送信し、
前記制御部は、
前記複数の処理部のいずれかの処理部が送信した前記第2パケットをキャプチャし、
キャプチャした前記第2パケットを、前記プログラム群に含まれるプログラムの実行を要求するパケットを記憶するバッファ領域に格納し、
第1識別情報の入力を受け付けたことに応じて、前記バッファ領域から、前記第1識別情報が付与された1以上のパケットを抽出し、第2記憶部に格納する、
ことを特徴とする情報処理装置。
【請求項2】
前記複数の処理部のいずれかの処理部は、
前記プログラム群のうち実行順序が最初であるプログラムを自処理部が担当する場合、前記第1パケットを受け付けたことに応じて、受け付けた前記第1パケットに対応する識別情報を生成することにより、前記識別情報を取得する、ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記複数の処理部のいずれかの処理部は、
前記プログラム群のうち実行順序が2番目以降のプログラムを自処理部が担当する場合、前記第1パケットを受け付けたことに応じて、受け付けた前記第1パケットに付与された識別情報を抽出することにより、前記識別情報を取得する、ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記第1記憶部を参照して、エラーを表す処理ログを検出したことに応じて、検出した前記エラーを表す処理ログに対応付けられた第1識別情報を、前記制御部に入力する、監視部、
を有することを特徴とする請求項1~3のいずれか一つに記載の情報処理装置。
【請求項5】
互いに連携するプログラム群のそれぞれ異なるプログラムを担当する複数の処理部それぞれが、
自処理部が担当するプログラムの実行を要求する第1パケットを受け付けたことに応じて、受け付けた前記第1パケットに対応する識別情報を取得し、
受け付けた前記第1パケットに応じて実行された自処理部が担当するプログラムに関する処理ログに、取得した前記識別情報を対応付けて、前記プログラム群に含まれるプログラムに関する処理ログを記憶する第1記憶部に格納し、
自処理部が担当するプログラムの次に実行する、前記プログラム群のいずれかのプログラムの実行を要求する第2パケットを、取得した前記識別情報を付与してから、前記複数の処理部のうち前記いずれかのプログラムを担当する他の処理部に送信し、
前記複数の処理部の通信を制御する制御部が、
前記複数の処理部のいずれかの処理部が送信した前記第2パケットをキャプチャし、
キャプチャした前記第2パケットを、前記プログラム群に含まれるプログラムの実行を要求するパケットを記憶するバッファ領域に格納し、
第1識別情報の入力を受け付けたことに応じて、前記バッファ領域から、前記第1識別情報が付与された1以上のパケットを抽出し、第2記憶部に格納する、
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、および情報処理方法に関する。
【背景技術】
【0002】
従来、それぞれ異なる機能を実現する複数の部分サービスを実装し、それぞれの部分サービスを連携することにより、所定の全体サービスを提供するよう構築されるシステムが存在する。部分サービスは、例えば、コンテナ上に配備される。システムの障害発生後、障害原因調査のために、部分サービス間で過去に通信したパケットの内容を参照することが望まれる。このため、予め、部分サービス間で通信するパケットをキャプチャして記憶装置に格納しておくことがある。
【0003】
先行技術としては、例えば、管理ホストに、プログラム間通信を行っているプログラムの障害を検知したことを通知し、当該プログラムの障害資料を採取して送信するものがある。また、例えば、PCの電源がONの間、継続してパケットをキャプチャし、PCの電源がOFFされる際、キャプチャデータとして記憶部に格納する技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003-216594号公報
【特許文献2】特開2009-225089号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、パケットを保存する記憶領域の使用サイズが増大し、障害原因調査に要するパケットが消失することがある。例えば、パケットを保存する記憶領域の使用サイズが、記憶装置の上限サイズに達すると、新たにキャプチャしたパケットに代わり、過去に記憶装置に格納したパケットを削除することになり、障害原因調査に要するパケットが消失することがある。
【0006】
1つの側面では、本発明は、パケットを保存する記憶領域の使用サイズの低減化を図ることを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様によれば、互いに連携するプログラム群のそれぞれ異なるプログラムを担当する複数の処理部それぞれにより、自処理部が担当するプログラムの実行を要求する第1パケットを受け付けたことに応じて、受け付けた前記第1パケットに対応する識別情報を取得し、受け付けた前記第1パケットに応じて実行された自処理部が担当するプログラムに関する処理ログに、取得した前記識別情報を対応付けて、前記プログラム群に含まれるプログラムに関する処理ログを記憶する第1記憶部に格納し、自処理部が担当するプログラムの次に実行する、前記プログラム群のいずれかのプログラムの実行を要求する第2パケットを、取得した前記識別情報を付与してから、前記複数の処理部のうち前記いずれかのプログラムを担当する他の処理部に送信し、前記複数の処理部の通信を制御する制御部により、前記複数の処理部のいずれかの処理部が送信した前記第2パケットをキャプチャし、キャプチャした前記第2パケットを、前記プログラム群に含まれるプログラムの実行を要求するパケットを記憶するバッファ領域に格納し、第1識別情報の入力を受け付けたことに応じて、前記バッファ領域から、前記第1識別情報が付与された1以上のパケットを抽出し、第2記憶部に格納する情報処理装置、および情報処理方法が提案される。
【発明の効果】
【0008】
一態様によれば、パケットを保存する記憶領域の使用サイズの低減化を図ることが可能になる。
【図面の簡単な説明】
【0009】
図1図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。
図2図2は、情報処理システム100の一例を示す説明図である。
図3図3は、情報処理装置201のハードウェア構成例を示すブロック図である。
図4図4は、メモリ302および記録媒体305の記憶内容の一例を示す説明図である。
図5図5は、ログ監視装置202のハードウェア構成例を示すブロック図である。
図6図6は、情報処理システム100の機能的構成の一例を示すブロック図である。
図7図7は、情報処理システム100の機能的構成の具体例を示すブロック図である。
図8図8は、情報処理システム100の動作の流れを示す説明図(その1)である。
図9図9は、情報処理システム100の動作の流れを示す説明図(その2)である。
図10図10は、情報処理システム100の動作の一例を示す説明図(その1)である。
図11図11は、情報処理システム100の動作の一例を示す説明図(その2)である。
図12図12は、受付処理手順の一例を示すフローチャートである。
図13図13は、受付サービス710がパケットを生成する一例を示す説明図である。
図14図14は、実行処理手順の一例を示すフローチャートである。
図15図15は、処理サービス720がパケットを受信する一例を示す説明図である。
図16図16は、処理サービス720がパケットを生成する一例を示す説明図である。
図17図17は、監視処理手順の一例を示すフローチャートである。
図18図18は、エラーログ定義511の一例を示す説明図である。
図19図19は、抽出処理手順の一例を示すフローチャートである。
図20図20は、抽出した1以上のパケットの一例を示す説明図である。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、本発明にかかる情報処理装置、および情報処理方法の実施の形態を詳細に説明する。
【0011】
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理システム100は、複数の処理部110と、制御部120とを含む。処理部110は、それぞれ、互いに連携するプログラム群のいずれかのプログラムを担当する。複数の処理部110は、複数の部分サービスを組み合わせた全体サービスを提供する。プログラムは、全体サービスを形成する部分サービスを実現する。プログラムは、例えば、コンテナ上に実装されていてもよい。制御部120は、複数の処理部110の通信を制御する。
【0012】
プログラム群は、各プログラムが提供する部分サービスを連携することにより、所定の全体サービスを提供する。全体サービスの障害発生後、障害原因調査のために、部分サービス間で過去に通信したパケットの内容を参照することが望まれる。このため、予め、部分サービス間で通信するパケットをキャプチャして記憶装置に格納しておくことが望まれる。記憶装置は、例えば、ディスク装置である。
【0013】
しかしながら、従来技術では、記憶装置内のパケットを保存する記憶領域の使用サイズが増大し、障害調査に要するパケットが消失することがある。例えば、記憶装置内のパケットを保存する記憶領域の使用サイズが、当該記憶装置の上限サイズに達すると、新たにキャプチャしたパケットに代わり、過去に記憶装置に格納したパケットを削除することになり、障害原因調査に要するパケットが消失することがある。
【0014】
例えば、従来技術では、部分サービス間で通信するパケットをすべてキャプチャして記憶装置に格納しておくことが考えられる。ここで、全体サービスの障害発生後、障害原因調査開始までに数日経過することがあり、数日分のパケットをすべてキャプチャして記憶装置に格納していくことになる場合がある。この場合、数日分のパケットを記憶装置に記憶し切れず、過去に記憶装置に格納したパケットを削除することになり、障害原因調査に要するパケットが消失することがある。
【0015】
そこで、本実施の形態では、パケットを保存する記憶領域の使用サイズの低減化を図ることができる情報処理方法について説明する。
【0016】
図1において、制御部120は、第1記憶部121と、第2記憶部122と、バッファ領域123とを含む。第1記憶部121は、プログラム群に含まれるプログラムに関する処理ログを記憶する。第2記憶部122は、処理部110が送信または受信したパケットを記憶する。第1記憶部121と、第2記憶部122とは、例えば、同一の記憶装置に含まれていてもよい。バッファ領域123は、プログラム群に含まれるプログラムの実行を要求するパケットを記憶する。
【0017】
制御部120は、例えば、所定のコンピュータ上に実現される。処理部110は、例えば、所定のコンピュータ上に実現される。処理部110は、具体的には、所定のコンピュータが実行するコンテナ上に実現される。
【0018】
(1-1)処理部110は、符号111に示すように、自処理部110が担当するプログラムの実行を要求する第1パケットを受け付ける。処理部110は、例えば、全体サービスの利用者側の端末装置から、第1パケットを受信することにより、第1パケットを受け付ける。処理部110は、具体的には、プログラム群のうち実行順序が最初であるプログラムを自処理部110が担当する場合、全体サービスの利用者側の端末装置から、第1パケットを受信することにより、第1パケットを受け付ける。この場合、第1パケットは、全体サービスを要求するリクエストに対応する。
【0019】
処理部110は、例えば、他の処理部110から、第1パケットを受け付ける。処理部110は、具体的には、プログラム群のうち実行順序が2番目以降のプログラムを自処理部110が担当する場合、他の処理部110から、第1パケットを受信することにより、第1パケットを受け付ける。この場合、第1パケットは、個別サービスを要求するリクエストに対応し、処理部110間で送受信される。処理部110は、より具体的には、他の処理部110から、制御部120を介して、第1パケットを受信する。
【0020】
(1-2)処理部110は、符号112に示すように、第1パケットを受け付けたことに応じて、受け付けた第1パケットに対応する識別情報を取得する。識別情報は、実行順序が最初であるプログラムの実行を要求するパケット、および、実行順序が2番目以降であるプログラムの実行を要求するパケットなどを含む一連のパケットの全体に対応する識別情報である。一連のパケットは、受け付けた第1パケットを含む。
【0021】
処理部110は、例えば、プログラム群のうち実行順序が最初であるプログラムを自処理部110が担当する場合、第1パケットを受け付けたことに応じて、受け付けた第1パケットに対応する識別情報を生成することにより、当該識別情報を取得する。
【0022】
処理部110は、例えば、プログラム群のうち実行順序が2番目以降のプログラムを自処理部110が担当する場合、第1パケットを受け付けたことに応じて、受け付けた第1パケットに付与された識別情報を抽出することにより、当該識別情報を取得する。
【0023】
これにより、処理部110は、一連のパケットの全体に対応する識別情報を取得することができる。処理部110は、識別情報を、第1パケットに対応付け可能にすることができ、第1パケットを含む一連のパケットを、一体として管理可能にすることができる。処理部110は、識別情報を、プログラムに関する処理ログに付与可能にすることができ、処理ログを、一連のパケットに対応付け可能にすることができる。
【0024】
(1-3)処理部110は、符号113に示すように、受け付けた第1パケットに応じて実行された自処理部110が担当するプログラムに関する処理ログに、取得した識別情報を対応付けて、第1記憶部121に格納する。処理ログは、例えば、プログラムの実行日時を含んでいてもよい。処理ログは、例えば、プログラムの処理内容を含んでいてもよい。処理ログは、例えば、プログラムのエラー内容を含んでいてもよい。
【0025】
処理部110は、例えば、受け付けた第1パケットに応じて、自処理部110が担当するプログラムを実行し、当該プログラムに関する処理ログを取得する。処理部110は、例えば、取得した処理ログに、取得した識別情報を対応付けて、第1記憶部121に格納する。これにより、処理部110は、エラーを表す処理ログを検出可能にすることができる。処理部110は、格納した処理ログに対応する一連のパケットを特定するキーを残しておくことができ、処理ログに対応する一連のパケットを特定可能にすることができる。
【0026】
(1-4)処理部110は、符号114に示すように、自処理部110が担当するプログラムの次に実行する、プログラム群のいずれかのプログラムの実行を要求する第2パケットを生成する。処理部110は、生成した第2パケットを、取得した識別情報を付与してから、複数の処理部110のうち当該いずれかのプログラムを担当する他の処理部110に送信する。これにより、処理部110は、他の処理部110と連携することができる。
【0027】
(1-5)制御部120は、複数の処理部110のいずれかの処理部110が送信した第2パケットをキャプチャする。制御部120は、キャプチャした第2パケットを、バッファ領域123に格納する。これにより、制御部120は、第2パケットを、識別情報をキーにして検索可能に一時保存しておくことができる。
【0028】
(1-6)制御部120は、第1識別情報の入力を受け付けたことに応じて、バッファ領域123から、第1識別情報が付与された1以上のパケットを抽出し、第2記憶部122に格納する。制御部120は、例えば、監視部(不図示)から、第1識別情報を受信する。監視部は、例えば、第1記憶部121を参照して、エラーを表す処理ログを検出したことに応じて、検出したエラーを表す処理ログに対応付けられた第1識別情報を、制御部120に送信する。
【0029】
これにより、制御部120は、一時保存したパケットのうち、特定の条件を満たすパケットを選択的に第2記憶部122に格納することができる。制御部120は、例えば、監視部を介して、エラーを表す処理ログに対応する1以上のパケットを選択的に第2記憶部122に格納することができる。このため、制御部120は、第2記憶部122内で、パケットを保存する記憶領域の使用サイズの低減化を図ることができる。制御部120は、障害原因調査に要するパケットが消失する事態を回避し易くすることができる。
【0030】
ここでは、制御部120が単独で動作する場合について説明したが、これに限らない。例えば、制御部120が、他のコンピュータと協働する場合があってもよい。例えば、複数のコンピュータが、制御部120としての機能を実現する場合があってもよい。具体的には、クラウド上に、制御部120としての機能が実現される場合があってもよい。
【0031】
(情報処理システム100の一例)
次に、図2を用いて、図1に示した処理部110と、制御部120とを適用した、情報処理システム100の一例について説明する。
【0032】
図2は、情報処理システム100の一例を示す説明図である。図2において、情報処理システム100は、1以上の情報処理装置201と、ログ監視装置202と、1以上のクライアント装置203と、スイッチ装置204とを含む。
【0033】
情報処理システム100において、情報処理装置201とスイッチ装置204とは、直接接続される。情報処理装置201とスイッチ装置204とは、有線または無線のネットワークを介して接続されていてもよい。ネットワークは、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
【0034】
情報処理システム100において、ログ監視装置202とスイッチ装置204とは、直接接続される。ログ監視装置202とスイッチ装置204とは、有線または無線のネットワークを介して接続されていてもよい。情報処理システム100において、クライアント装置203とスイッチ装置204とは、直接接続される。クライアント処理装置とスイッチ装置204とは、有線または無線のネットワークを介して接続されていてもよい。
【0035】
情報処理装置201は、全体サービスを管理するサービス管理者によって用いられるコンピュータである。情報処理装置201は、上述した処理部110と上述した制御部120とに対応する。情報処理装置201は、全体サービスを提供するために、全体サービスを形成する少なくともいずれかの個別サービスを、処理部110によって実現する。
【0036】
情報処理装置201は、例えば、コンテナを実行する。情報処理装置201は、例えば、コンテナ上で処理部110を実現する。処理部110は、個別サービスを実現する。処理部110は、例えば、全体サービスを実現するプログラム群のうち、全体サービスを形成するいずれかの個別サービスを実現するプログラムを実行する。情報処理装置201は、例えば、ホストOS(Operating System)上で制御部120を実現する。情報処理装置201は、例えば、仮想スイッチを有し、仮想スイッチを用いてホストOS上で制御部120を実現する。
【0037】
情報処理装置201は、上述した第1記憶部121を実現する記憶装置を有する。情報処理装置201は、上述した第2記憶部122を実現する記憶装置を有する。同一の記憶装置が、上述した第1記憶部121と、上述した第2記憶部122とを実現していてもよい。情報処理装置201は、上述したバッファ領域123を実現するリングバッファを有する。
【0038】
情報処理装置201は、制御部120において、プログラム群のうち実行順序が最初であるプログラムの実行を要求するリクエストのパケットを、クライアント装置203から受信する。情報処理装置201は、制御部120において、プログラム群のうち実行順序が最初であるプログラムの実行を要求するリクエストのパケットを、当該プログラムを担当する処理部110に送信する。情報処理装置201は、処理部110において、プログラム群のうち実行順序が最初であるプログラムの実行を要求するリクエストのパケットを受信する。
【0039】
情報処理装置201は、処理部110において、プログラム群のうち実行順序が最初であるプログラムの実行を要求するリクエストのパケットを受信すると、プログラムを実行し、処理ログを生成する。情報処理装置201は、処理部110において、プログラム群のうち実行順序が最初であるプログラムの実行を要求するリクエストのパケットを受信すると、当該パケットを含むパケット群に対応する識別情報を生成する。
【0040】
情報処理装置201は、処理部110において、プログラム群のうち実行順序が最初であるプログラムの実行を要求するリクエストのパケットを受信すると、プログラムを実行し、プログラムに関する処理ログを生成する。情報処理装置201は、処理部110において、プログラム群のうち実行順序が最初であるプログラムの実行を要求するリクエストのパケットを受信すると、当該パケットを含むパケット群に対応する識別情報を生成することにより取得する。
【0041】
情報処理装置201は、処理部110において、プログラム群のうち実行順序が2番目以降であるプログラムの実行を要求するリクエストのパケットを受信すると、プログラムを実行し、プログラムに関する処理ログを生成する。情報処理装置201は、処理部110において、プログラム群のうち実行順序が2番目以降であるプログラムの実行を要求するリクエストのパケットを受信すると、当該パケットに付与された識別情報を抽出することにより取得する。
【0042】
情報処理装置201は、処理部110において、プログラムに関する処理ログに、取得した識別情報を対応付けて、制御部120に送信する。情報処理装置201は、制御部120において、識別情報が対応付けられた処理ログを受信し、第1記憶部121に格納する。
【0043】
情報処理装置201は、処理部110において、プログラム群のうち次の実行順序である他のプログラムの実行を要求するリクエストのパケットを生成し、取得した識別情報を付与してから、他のプログラムを担当する処理部110宛てに、制御部120に送信する。
【0044】
情報処理装置201は、制御部120において、識別情報が付与された、プログラム群のうち次の実行順序である他のプログラムの実行を要求するリクエストのパケットを受信し、他のプログラムを担当する処理部110に送信する。情報処理装置201は、制御部120において、識別情報が付与された、プログラム群のうち次の実行順序である他のプログラムの実行を要求するリクエストのパケットをキャプチャし、リングバッファに格納する。
【0045】
情報処理装置201は、制御部120において、ログ監視装置202から、識別情報の入力を受け付ける。情報処理装置201は、制御部120において、リングバッファから、入力された識別情報が付与された1以上のパケットを抽出し、第2記憶部122に格納する。情報処理装置201は、有用なパケットを選択的に第2記憶部122に格納しておくことができ、パケットを保存する記憶領域の使用サイズの低減化を図ることができる。情報処理装置201は、例えば、サーバ、または、PC(Personal Computer)などである。
【0046】
ログ監視装置202は、全体サービスを管理するサービス管理者によって用いられるコンピュータである。ログ監視装置202は、上述した監視部に対応する。ログ監視装置202は、監視部として、第1記憶部121の記憶内容を監視し、第1記憶部121に記憶された処理ログのうち、エラーを表すエラーログを検索する。ログ監視装置202は、監視部として、エラーログを検出すると、エラーログに対応付けられた識別情報を特定し、情報処理装置201に送信することにより、制御部120に入力する。
【0047】
ログ監視装置202は、監視部として、第2記憶部122の記憶内容を参照して、第2記憶部122に記憶されたパケットのうち、特定した識別情報が付与された1以上のパケットを抽出する。ログ監視装置202は、監視部として、抽出した1以上のパケットを、サービス管理者が参照可能に出力する。これにより、ログ監視装置202は、サービス管理者が、全体サービスの障害原因調査を実施し易くすることができる。ログ監視装置202は、例えば、サーバ、または、PCなどである。
【0048】
クライアント装置203は、全体サービスを利用するサービス利用者によって用いられるコンピュータである。クライアント装置203は、サービス利用者の操作入力に基づき、全体サービスを要求するリクエストのパケットを生成する。全体サービスを要求するリクエストのパケットは、例えば、プログラム群のうち実行順序が最初であるプログラムの実行を要求するリクエストのパケットに対応する。
【0049】
クライアント装置203は、生成した全体サービスを要求するリクエストのパケットを、情報処理装置201に送信する。これにより、クライアント装置203は、サービス利用者が、全体サービスを利用可能にすることができる。クライアント装置203は、例えば、PC、タブレット端末、または、スマートフォンなどである。
【0050】
ここでは、情報処理装置201が、ログ監視装置202とは異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置201が、ログ監視装置202としての機能を有し、ログ監視装置202としても動作する場合があってもよい。
【0051】
ここでは、情報処理装置201が、クライアント装置203とは異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置201が、クライアント装置203としての機能を有し、クライアント装置203としても動作する場合があってもよい。
【0052】
ここでは、ログ監視装置202が、クライアント装置203とは異なる装置である場合について説明したが、これに限らない。例えば、ログ監視装置202が、クライアント装置203としての機能を有し、クライアント装置203としても動作する場合があってもよい。
【0053】
(情報処理装置201のハードウェア構成例)
次に、図3を用いて、情報処理装置201のハードウェア構成例について説明する。
【0054】
図3は、情報処理装置201のハードウェア構成例を示すブロック図である。図3において、情報処理装置201は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
【0055】
ここで、CPU301は、情報処理装置201の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。
【0056】
ネットワークI/F303は、通信回線を通じてネットワーク320に接続され、ネットワーク320を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク320と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
【0057】
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置201から着脱可能であってもよい。
【0058】
記録媒体305は、ディスク装置310となり得る。記録媒体305は、ディスク装置310として、プログラムが実現する個別サービスに関する処理ログを記憶するログ記憶部311を実現する。ログ記憶部311は、例えば、上述した第1記憶部121に対応する。記録媒体305は、ディスク装置310として、プログラムが実現する個別サービスが送信したパケットを記憶するパケット記憶部312を実現する。パケット記憶部312は、例えば、上述した第2記憶部122に対応する。
【0059】
メモリ302は、プログラムが実現する個別サービスが送信したパケットを一時記憶するリングバッファ313を実現する。リングバッファ313は、例えば、上述したバッファ領域123に対応する。メモリ302は、パケットに対応する識別情報を管理する、識別情報管理テーブル314を実現する。メモリ302の記憶内容の一例については、具体的には、図4を用いて後述する。メモリ302が、記録媒体305に代わり、ディスク装置310になっていてもよい。
【0060】
情報処理装置201は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置201は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置201は、記録媒体I/F304や記録媒体305を有していなくてもよい。
【0061】
(メモリ302および記録媒体305の記憶内容)
次に、図4を用いて、メモリ302および記録媒体305の記憶内容の一例について説明する。
【0062】
図4は、メモリ302および記録媒体305の記憶内容の一例を示す説明図である。図4に示すように、ログ記憶部311は、ログファイル401を記憶する。ログファイル401は、それぞれreq-idが挿入された1以上の処理ログを記憶する。パケット記憶部312は、パケット保存領域402を記憶する。パケット保存領域402は、それぞれreq-idが挿入された1以上のパケットを記憶する。
【0063】
リングバッファ313は、それぞれreq-idが挿入された1以上のパケットを一時記憶する。リングバッファ313は、記憶可能なパケット数の上限まで複数のパケットを一時記憶した状態で、新たなパケットを一時記憶する場合、最も古いパケットを削除する。削除は、例えば、新たなパケットによる最も古いパケットの上書きであってもよい。
【0064】
識別情報管理テーブル314は、リクエストと、req-idとのフィールドを有する。識別情報管理テーブル314は、リクエストごとに各フィールドに情報を設定することにより、識別情報がレコードとして記憶される。
【0065】
リクエストのフィールドには、個別サービスを要求するリクエストを示すパケットを識別する名前が設定される。req-idのフィールドには、上記パケットを含むパケット群に共通で用いられる識別情報であるreq-idが設定される。パケット群は、具体的には、全体サービスを要求するリクエストを示すパケットに応じて、連続して実行される複数の個別サービスそれぞれを要求するリクエストを示すパケットを纏めた集合である。
【0066】
(ログ監視装置202のハードウェア構成例)
次に、図5を用いて、ログ監視装置202のハードウェア構成例について説明する。
【0067】
図5は、ログ監視装置202のハードウェア構成例を示すブロック図である。図5において、ログ監視装置202は、CPU501と、メモリ502と、ネットワークI/F503と、記録媒体I/F504と、記録媒体505とを有する。また、各構成部は、バス500によってそれぞれ接続される。
【0068】
ここで、CPU501は、ログ監視装置202の全体の制御を司る。メモリ502は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU501のワークエリアとして使用される。メモリ502に記憶されるプログラムは、CPU501にロードされることにより、コーディングされている処理をCPU501に実行させる。メモリ502は、プログラムに関する処理ログのうち、検出対象のエラーログを検出可能にするためのエラーログ定義511を記憶する。
【0069】
ネットワークI/F503は、通信回線を通じてネットワーク320に接続され、ネットワーク320を介して他のコンピュータに接続される。そして、ネットワークI/F503は、ネットワーク320と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F503は、例えば、モデムやLANアダプタなどである。
【0070】
記録媒体I/F504は、CPU501の制御に従って記録媒体505に対するデータのリード/ライトを制御する。記録媒体I/F504は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体505は、記録媒体I/F504の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体505は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体505は、ログ監視装置202から着脱可能であってもよい。
【0071】
ログ監視装置202は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、ログ監視装置202は、記録媒体I/F504や記録媒体505を複数有していてもよい。また、ログ監視装置202は、記録媒体I/F504や記録媒体505を有していなくてもよい。
【0072】
(クライアント装置203のハードウェア構成例)
クライアント装置203のハードウェア構成例は、具体的には、図3に示した情報処理装置201のハードウェア構成例、または、図5に示したログ監視装置202のハードウェア構成例などと同様であるため、説明を省略する。
【0073】
(情報処理システム100の機能的構成の一例)
次に、図6を用いて、情報処理システム100の機能的構成の一例について説明する。
【0074】
図6は、情報処理システム100の機能的構成の一例を示すブロック図である。情報処理システム100において、情報処理装置201は、複数の処理部610と、1以上の制御部620とを含む。情報処理装置201は、第1記憶部601と、第2記憶部602と、一時記憶部603とを含む。
【0075】
処理部610は、取得部611と、生成部612と、実行部613と、要求部614と、記録部615とを含む。処理部610は、例えば、コンテナによって実現される。処理部610は、互いに連携するプログラム群のいずれかのプログラムを担当する。プログラム群は、全体サービスを実現する。プログラムは、全体サービスを形成する個別サービスを実現する。
【0076】
制御部620は、採取部621と、転送部622と、格納部623と、入力部624と、保存部625とを含む。情報処理システム100において、制御部620は、複数の処理部610の通信を制御する。ログ監視装置202は、監視部630を含む。監視部630は、検出部631と、指定部632と、収集部633とを含む。
【0077】
第1記憶部601は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、第1記憶部601が、情報処理装置201に含まれる場合について説明するが、これに限らない。例えば、第1記憶部601が、情報処理装置201とは異なる装置に含まれ、第1記憶部601の記憶内容が情報処理装置201から参照可能である場合があってもよい。
【0078】
第2記憶部602は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、第2記憶部602が、情報処理装置201に含まれる場合について説明するが、これに限らない。例えば、第2記憶部602が、情報処理装置201とは異なる装置に含まれ、第2記憶部602の記憶内容が情報処理装置201から参照可能である場合があってもよい。
【0079】
一時記憶部603は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、一時記憶部603が、情報処理装置201に含まれる場合について説明するが、これに限らない。例えば、一時記憶部603が、情報処理装置201とは異なる装置に含まれ、一時記憶部603の記憶内容が情報処理装置201から参照可能である場合があってもよい。
【0080】
取得部611~記録部615は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0081】
採取部621~保存部625は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0082】
検出部631~収集部633は、具体的には、例えば、図5に示したメモリ502や記録媒体505などの記憶領域に記憶されたプログラムをCPU501に実行させることにより、または、ネットワークI/F503により、その機能を実現する。各機能部の処理結果は、例えば、図5に示したメモリ502や記録媒体505などの記憶領域に記憶される。
【0083】
第1記憶部601は、各機能部の処理において参照され、または更新される各種情報を記憶する。第1記憶部601は、例えば、プログラムに関するログを記憶する。ログは、例えば、プログラムの実行日時、プログラムの処理内容、または、プログラムのエラー内容などを含む。ログは、例えば、記録部615によって生成される。ログは、例えば、記録部615によって制御部620を介して第1記憶部601に格納される。
【0084】
第2記憶部602は、各機能部の処理において参照され、または更新される各種情報を記憶する。第2記憶部602は、例えば、処理部610が送信したパケットを記憶する。パケットは、処理部610が担当するプログラムの実行を要求するリクエストである。パケットは、例えば、要求部614によって生成される。パケットは、例えば、保存部625によって一時記憶部603から抽出され、第2記憶部602に格納される。
【0085】
一時記憶部603は、各機能部の処理において参照され、または更新される各種情報を記憶する。一時記憶部603は、バッファ領域である。一時記憶部603は、例えば、リングバッファ313である。一時記憶部603は、例えば、処理部610が送信したパケットを一時記憶する。パケットは、例えば、要求部614によって生成される。パケットは、例えば、格納部623によって一時記憶部603に格納される。
【0086】
取得部611は、自処理部610が担当するプログラムの実行を要求する第1パケットを受け付ける。取得部611は、例えば、プログラム群のうち実行順序が最初であるプログラムを自処理部610が担当する場合、第1パケットを、他のコンピュータから受信することにより受け付ける。他のコンピュータは、例えば、クライアント装置203である。これにより、取得部611は、実行順序が最初であるプログラムを実行することにより、全体サービスを実行開始するための開始トリガーを得ることができる。
【0087】
取得部611は、例えば、プログラム群のうち実行順序が2番目以降のプログラムを自処理部610が担当する場合、第1パケットを、他の処理部610から受信することにより受け付ける。取得部611は、具体的には、第1パケットを、他の処理部610に含まれる要求部614から受信することにより受け付ける。これにより、取得部611は、実行順序が2番目以降であるプログラムを実行することにより、全体サービスを実行継続するための開始トリガーを得ることができる。
【0088】
生成部612は、取得部611で第1パケットを受け付けたことに応じて、受け付けた第1パケットに対応する識別情報を取得する。識別情報は、連続して実行される複数の個別サービスそれぞれを実現するプログラムの実行を要求するリクエストのパケットに共通で用いられる識別情報である。生成部612は、例えば、プログラム群のうち実行順序が最初であるプログラムを自処理部610が担当する場合、受け付けた第1パケットに対応する識別情報を生成することにより、識別情報を取得する。
【0089】
生成部612は、例えば、プログラム群のうち実行順序が2番目以降のプログラムを自処理部610が担当する場合、受け付けた第1パケットに付与された識別情報を抽出することにより、識別情報を取得する。これにより、生成部612は、連続して実行される複数の個別サービスそれぞれを実現するプログラムの実行を要求するリクエストのパケットを、対応付けて認識可能にすることができる。
【0090】
実行部613は、受け付けた第1パケットに応じて、自処理部610が担当するプログラムを実行し、当該プログラムに関する処理ログを生成する。これにより、実行部613は、個別サービスを実現することができる。
【0091】
要求部614は、自処理部610が担当するプログラムの次に実行する、プログラム群のいずれかのプログラムの実行を要求する第2パケットを、複数の処理部610のうち当該いずれかのプログラムを担当する他の処理部610に送信する。要求部614は、例えば、第2パケットを、複数の処理部610のうち、次に実行するいずれかのプログラムを担当する他の処理部610に、制御部620を介して送信する。これにより、要求部614は、全体サービスを実行継続することができる。
【0092】
記録部615は、実行部613で生成したプログラムに関する処理ログに、生成部612で取得した識別情報を対応付けて、第1記憶部601に格納する。記録部615は、例えば、実行部613で生成したプログラムに関する処理ログに、生成部612で取得した識別情報を対応付けて、制御部620を介して、第1記憶部601に格納する。これにより、記録部615は、監視部630が、第1記憶部601の記憶内容を監視し、エラーを表す処理ログを検出可能にすることができる。
【0093】
採取部621は、いずれかの処理部610が送信した第2パケットをキャプチャする。第2パケットは、例えば、識別情報が付与された状態である。これにより、採取部621は、第2パケットを、一時記憶可能にすることができる。採取部621は、例えば、識別情報をキーに、第2パケットを検索可能に、一時記憶可能にすることができる。
【0094】
転送部622は、採取部621でキャプチャした第2パケットを、宛先となるいずれかの処理部610に送信する。これにより、転送部622は、第2パケットを、正式に宛先となるいずれかの処理部610に送信することができ、全体サービスを実行継続することができる。
【0095】
格納部623は、採取部621でキャプチャした第2パケットを、一時記憶部603に格納する。これにより、格納部623は、第2パケットを、正式に保存する前に一時記憶しておくことができ、第2パケットを正式に保存する保存先となる第2記憶部602のメモリ使用量の増大化を抑制することができる。格納部623は、識別情報をキーに、第2パケットを検索可能に、一時記憶しておくことができる。
【0096】
入力部624は、第1識別情報の入力を受け付ける。入力部624は、例えば、第1識別情報を、監視部630から受信することにより、第1識別情報の入力を受け付ける。これにより、入力部624は、一時記憶部603から、特定のパケットを検索するキーを得ることができる。入力部624は、一時記憶部603に記憶されたパケットのうち、正式に第2記憶部602に保存するパケットを選択可能にすることができる。
【0097】
保存部625は、入力部624で第1識別情報の入力を受け付けたことに応じて、一時記憶部603から、第1識別情報が付与された1以上のパケットを抽出し、第2記憶部602に格納する。これにより、保存部625は、有用なパケットを選択的に第2記憶部602に保存することができ、第2記憶部602のメモリ使用量の増大化を抑制することができる。保存部625は、例えば、入力された第1識別情報が付与された、エラーを表す処理ログに関連するパケットを、障害原因調査に有用なパケットとして選択的に第2記憶部602に保存することができる。このため、保存部625は、障害原因調査を滞りなく実施可能にしつつ、第2記憶部602のメモリ使用量の増大化を抑制することができる。
【0098】
検出部631は、第1記憶部601を参照して、エラーを表す処理ログを検出する。これにより、検出部631は、エラー発生を検出することができる。検出部631は、一時記憶部603に記憶されたパケットを、第2記憶部602に正式に保存するタイミングを検出することができる。
【0099】
指定部632は、検出部631で検出したエラーを表す処理ログに対応付けられた第1識別情報を特定する。指定部632は、特定した第1識別情報を、制御部620に入力する。これにより、指定部632は、制御部620に、一時記憶部603に記憶されたパケットを、第2記憶部602に正式に保存するトリガーを与えることができる。指定部632は、制御部620で、一時記憶部603に記憶されたいずれのパケットを、第2記憶部602に正式に保存すればよいのかを判断可能にすることができる。
【0100】
収集部633は、第2記憶部602から、指定部632で特定した第1識別情報が付与されたパケットを収集する。収集部633は、収集したパケットを、サービス管理者が参照可能に出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、収集部633は、サービス管理者が、障害原因調査に有用なパケットを参照し易くすることができる。
【0101】
(情報処理システム100の機能的構成の具体例)
次に、図7を用いて、情報処理システム100の機能的構成の具体例について説明する。
【0102】
図7は、情報処理システム100の機能的構成の具体例を示すブロック図である。情報処理システム100において、情報処理装置201は、受付サービス710を実現するコンテナと、それぞれ異なる処理サービス720を実現する1以上のコンテナとを実行する。情報処理装置201は、ホストOS730を有する。ログ監視装置202は、ホストOS740を有する。
【0103】
受付サービス710は、パケット受信部711と、req-id生成部712と、サービス固有処理実行部713と、req-id付与部714と、パケット送信部715と、req-id付与部716と、ログ出力部717とを含む。受付サービス710は、req-id管理ライブラリ718を有する。req-id管理ライブラリ718は、例えば、図4に示した識別情報管理テーブル314を有し、生成済みのreq-idを管理していてもよい。
【0104】
処理サービス720は、パケット受信部721と、req-id生成部722と、サービス固有処理実行部723と、req-id付与部724と、パケット送信部725と、req-id付与部726と、ログ出力部727とを含む。処理サービス720は、req-id管理ライブラリ728を有する。req-id管理ライブラリ728は、例えば、図4に示した識別情報管理テーブル314を有し、生成済みのreq-idを管理していてもよい。
【0105】
ホストOS730は、仮想スイッチ731を有する。ホストOS730は、パケットキャプチャソフトウェア732を有する。ホストOS730は、パケット抽出サービス733を有する。パケット抽出サービス733は、パケットキャプチャソフトウェア管理部734と、通知受信部735と、パケット抽出部736と、パケット出力部737とを含む。ホストOS730は、リングバッファ313を有する。
【0106】
ホストOS740は、ログ監視サービス741を有する。ログ監視サービス741は、ログ収集部742と、エラーログ検出条件設定部743と、ログ監視部744と、イベント処理部745とを含む。ホストOS740は、エラーログ定義511と、検出時処理定義750とを有する。
【0107】
パケット受信部711は、受付サービス710の処理の実行を要求するリクエストのパケットを受信する。req-id生成部712は、パケットを受信したことに応じて、req-id管理ライブラリ718の機能を利用して、req-idを生成する。サービス固有処理実行部713は、パケットを受信したことに応じて、受付サービス710の処理を実行し、処理ログを生成する。サービス固有処理実行部713は、次に処理を実行する処理サービス720を特定し、処理サービス720の処理の実行を要求するリクエストのパケットを生成する。
【0108】
req-id付与部714は、生成したパケットに、生成したreq-idを付与する。パケット送信部715は、req-idを付与したパケットを、ホストOS730を介して、処理サービス720に送信する。req-id付与部716は、生成した処理ログに、生成したreq-idを付与する。ログ出力部717は、req-idを付与した処理ログを、ホストOS730に送信する。req-id管理ライブラリ718は、生成済みのreq-idを管理し、生成済みのreq-idと重複しない新たなreq-idを生成する機能を提供する。
【0109】
パケット受信部721は、処理サービス720の処理の実行を要求するリクエストのパケットを受信する。req-id生成部722は、パケットを受信したことに応じて、req-id管理ライブラリ728の機能を利用して、パケットから、req-idを読み出すことにより取得する。サービス固有処理実行部723は、パケットを受信したことに応じて、処理サービス720の処理を実行し、処理ログを生成する。サービス固有処理実行部723は、次に処理を実行する処理サービス720を特定し、処理サービス720の処理の実行を要求するリクエストのパケットを生成する。
【0110】
req-id付与部724は、生成したパケットに、取得したreq-idを付与する。パケット送信部725は、req-idを付与したパケットを、ホストOS730を介して、処理サービス720に送信する。req-id付与部726は、生成した処理ログに、取得したreq-idを付与する。ログ出力部727は、req-idを付与した処理ログを、ホストOS730に送信する。
【0111】
ホストOS740は、処理ログを受信する。ホストOS740は、処理ログを、ディスク装置に格納する。仮想スイッチ731は、受付サービス710が送信したパケット、または、処理サービス720が送信したパケットなどを、処理サービス720に転送する。パケットキャプチャソフトウェア732は、仮想スイッチ731が受信して転送するパケットをキャプチャする。
【0112】
パケットキャプチャソフトウェア管理部734は、仮想スイッチ731が受信して転送するパケットをキャプチャするよう、パケットキャプチャソフトウェア732を制御し、キャプチャされたパケットを、リングバッファ313に格納する。通知受信部735は、ホストOS730から、req-idの通知を受信する。パケット抽出部736は、リングバッファ313から、受信したreq-idが付与されたパケットを抽出する。パケット出力部737は、抽出したパケットを、ホストOS730に送信する。
【0113】
ログ収集部742は、ディスク装置に記憶された処理ログ群を収集する。エラーログ検出条件設定部743は、エラーログ定義511を参照して、エラーログとなる処理ログを検出するための条件を、ログ監視部744に設定する。エラーログ定義511は、エラーログとなる処理ログを検出するための条件を規定する。
【0114】
ログ監視部744は、設定された条件に基づいて、収集した処理ログ群を監視し、エラーログとなる処理ログを検出する。イベント処理部745は、検出時処理定義750を参照して、検出されたエラーログとなる処理ログに対応する処理を実行する。検出時処理定義750は、処理ログの内容に対応する処理の内容を規定する。
【0115】
(情報処理システム100の動作の流れ)
次に、図8および図9を用いて、情報処理システム100の動作の流れについて説明する。
【0116】
図8および図9は、情報処理システム100の動作の流れを示す説明図である。図8において、クライアント装置203は、受付サービス710の処理の実行を要求する受付サービス710宛てのリクエストのパケットを、ホストOS730を介して、受付サービス710に送信する。ホストOS730は、受信した受付サービス710宛てのリクエストのパケットを、受付サービス710に転送する。
【0117】
受付サービス710は、自受付サービス710の処理の実行を要求するリクエストのパケットを、ホストOS730から受信する。受付サービス710は、自受付サービス710の処理の実行を要求するリクエストのパケットを受信したことに応じて、当該パケットを含むパケット群に共通で用いられるreq-idを生成する。
【0118】
受付サービス710は、自受付サービス710の処理の実行を要求するリクエストのパケットを受信したことに応じて、自受付サービス710が担当する処理を実行し、処理ログを生成する。受付サービス710は、生成した処理ログに、生成したreq-idを挿入する。挿入後の処理ログの一例は、符号802に示される。受付サービス710は、挿入後の処理ログを、ホストOS730に送信する。
【0119】
受付サービス710は、次に実行要求する処理サービス720を特定し、特定した処理サービス720宛ての特定した処理サービス720の処理の実行を要求するリクエストのパケットを生成する。受付サービス710は、生成した処理サービス720宛ての処理サービス720の処理の実行を要求するパケットのオプション部に、生成したreq-idを挿入する。挿入後のパケットの一例は、符号801に示される。受付サービス710は、挿入後の処理サービス720宛ての処理サービス720の処理の実行を要求するパケットを、ホストOS730を介して、処理サービス720に送信する。
【0120】
ホストOS730は、挿入後の処理ログを、受付サービス710から受信する。ホストOS730は、受信した挿入後の処理ログを、ディスク装置310に格納する。ホストOS730は、挿入後のパケットをキャプチャし、リングバッファ313に格納する。ホストOS730は、キャプチャした挿入後のパケットを、処理サービス720に転送する。
【0121】
これにより、ホストOS730は、req-idを挿入済みのパケットを、ディスク装置310に保存する前に、リングバッファ313に一時記憶しておくことができ、ディスク装置310のメモリ使用量の増大化を抑制することができる。ホストOS730は、以降、req-idをキーに、有用なパケットを選択的にディスク装置310に保存することができ、有用なパケット以外のパケットを破棄することができ、ディスク装置310のメモリ使用量の増大化を抑制することができる。破棄は、リングバッファ313における上書きである。ホストOS730は、例えば、エラーログに関連するパケットを、有用なパケットとして選択的にディスク装置310に保存することができる。
【0122】
処理サービス720は、自処理サービス720の処理の実行を要求するリクエストのパケットを、ホストOS730から受信する。処理サービス720は、自処理サービス720の処理の実行を要求するリクエストのパケットを受信したことに応じて、当該パケットを含むパケット群に共通で用いられるreq-idを取得する。処理サービス720は、例えば、受信したパケットに挿入されたreq-idを読み出すことにより取得する。
【0123】
処理サービス720は、自処理サービス720の処理の実行を要求するリクエストのパケットを受信したことに応じて、自処理サービス720が担当する処理を実行し、処理ログを生成する。処理サービス720は、生成した処理ログに、取得したreq-idを挿入する。挿入後の処理ログの一例は、符号802に示される。処理サービス720は、挿入後の処理ログを、ホストOS730に送信する。
【0124】
処理サービス720は、次に実行要求する他の処理サービス720を特定し、特定した他の処理サービス720宛ての特定した他の処理サービス720の処理の実行を要求するリクエストのパケットを生成する。処理サービス720は、生成した他の処理サービス720宛ての他の処理サービス720の処理の実行を要求するパケットのオプション部に、取得したreq-idを挿入する。挿入後のパケットの一例は、符号801に示される。処理サービス720は、挿入後の他の処理サービス720宛ての他の処理サービス720の処理の実行を要求するパケットを、ホストOS730を介して、他の処理サービス720に送信する。
【0125】
ホストOS730は、挿入後の処理ログを、処理サービス720から受信する。ホストOS730は、受信した挿入後の処理ログを、ディスク装置310に格納する。ホストOS730は、挿入後のパケットをキャプチャし、リングバッファ313に格納する。ホストOS730は、キャプチャした挿入後のパケットを、処理サービス720に転送する。
【0126】
これにより、ホストOS730は、req-idを挿入済みのパケットを、ディスク装置310に保存する前に、リングバッファ313に一時記憶しておくことができ、ディスク装置310のメモリ使用量の増大化を抑制することができる。ホストOS730は、以降、req-idをキーに、有用なパケットを選択的にディスク装置310に保存することができ、有用なパケット以外のパケットを破棄することができ、ディスク装置310のメモリ使用量の増大化を抑制することができる。ホストOS730は、例えば、エラーログに関連するパケットを、有用なパケットとして選択的にディスク装置310に保存することができる。次に、図9の説明に移行する。
【0127】
図9において、ログ監視サービス741は、ディスク装置310の記憶内容を、ホストOS730に問い合わせる。ログ監視サービス741は、具体的には、前回の問い合わせ以後、ディスク装置310に新たに記憶された処理ログ群を、ホストOS730に問い合わせることにより、処理ログ群を取得する。ホストOS730は、問い合わせに応じて、ディスク装置310の記憶内容を、ログ監視サービス741に提供する。
【0128】
ログ監視サービス741は、エラーログ定義511を参照して、取得した処理ログ群のうち、エラーログとなる処理ログを検索する。ログ監視サービス741は、検索の結果、エラーログを検出すると、エラーログに挿入されたreq-idを抽出する。ログ監視サービス741は、抽出したreq-idを、ホストOS730に送信する。これにより、ログ監視サービス741は、エラーログに関連する過去のパケットを検索するキーを得ることができ、ホストOS730に通知することができる。
【0129】
パケット抽出サービス733は、req-idを、ログ監視サービス741から受信する。パケット抽出サービス733は、リングバッファ313に記憶されたパケットのうち、受信したreq-idが挿入済みのパケットを抽出し、ディスク装置310に保存する。これにより、パケット抽出サービス733は、req-idをキーに、有用なパケットを選択的にディスク装置310に保存することができる。ホストOS730は、例えば、エラーログに関連するパケットを、有用なパケットとして選択的にディスク装置310に保存することができる。
【0130】
ログ監視サービス741は、ディスク装置310に記憶されたパケット群を、ホストOS730に問い合わせることにより、パケット群を取得する。ログ監視サービス741は、req-idをキーに、ディスク装置310に記憶された当該req-idが挿入済みのパケット群を、ホストOS730に問い合わせることにより、パケット群を取得してもよい。ホストOS730は、問い合わせに応じて、ディスク装置310に記憶されたパケット群を、ログ監視サービス741に提供する。
【0131】
ログ監視サービス741は、取得したパケット群を、エラーログに対応付けて、サービス管理者が参照可能に出力する。ログ監視サービス741は、取得したパケット群のうち、req-idが挿入済みのパケット群を、エラーログに対応付けて、サービス管理者が参照可能に出力する。これにより、ログ監視サービス741は、サービス管理者が、エラーログと、エラーログに関連するパケット群とを参照可能にすることができる。このため、ログ監視サービス741は、サービス管理者が、エラーログに基づく障害原因調査を効率よく実施可能にすることができる。
【0132】
(情報処理システム100の動作の一例)
次に、図10および図11を用いて、情報処理システム100の動作の一例について説明する。
【0133】
図10および図11は、情報処理システム100の動作の一例を示す説明図である。図10において、情報処理装置201は、2つ存在するとする。一方の情報処理装置201は、受付サービス710と、処理サービス720とを実行する。他方の情報処理装置201は、処理サービス720を実行する。
【0134】
以下の説明では、一方の情報処理装置201の処理サービス720を「処理サービス720A」と表記する場合がある。一方の情報処理装置201のホストOS730を「ホストOS730A」と表記する場合がある。
【0135】
以下の説明では、他方の情報処理装置201のホストOS730を「ホストOS730B」と表記する場合がある。他方の情報処理装置201の処理サービス720を「処理サービス720B」と表記する場合がある。
【0136】
受付サービス710、処理サービス720A、および、処理サービス720Bの実行順序で、受付サービス710、処理サービス720A、および、処理サービス720Bを実行することにより、情報処理システム100は、全体サービスを実現する。
【0137】
(10-1)クライアント装置203は、受付サービス710の処理の実行を要求する受付サービス710宛てのリクエストのパケットを、ホストOS730を介して、受付サービス710に送信する。ホストOS730のうち、仮想スイッチ731は、受付サービス710宛てのリクエストのパケットを受信し、受付サービス710に転送する。
【0138】
(10-2)受付サービス710のうち、パケット受信部711は、自受付サービス710の処理の実行を要求するリクエストのパケットを、ホストOS730から受信する。
【0139】
(10-3)受付サービス710のうち、req-id生成部712は、自受付サービス710の処理の実行を要求するリクエストのパケットを受信したことに応じて、当該パケットを含むパケット群に共通で用いられるreq-idを生成する。
【0140】
(10-4)受付サービス710のうち、サービス固有処理実行部713は、自受付サービス710の処理の実行を要求するリクエストのパケットを受信したことに応じて、自受付サービス710が担当する処理を実行し、処理ログを生成する。サービス固有処理実行部713は、次に実行要求する処理サービス720Aを特定し、特定した処理サービス720Aの処理の実行を要求するリクエストのパケットを生成する。
【0141】
(10-5)受付サービス710のうち、req-id付与部714は、生成したパケットのオプション部に、生成したreq-idを挿入する。
【0142】
(10-6)受付サービス710のうち、パケット送信部715は、挿入後のパケットを、ホストOS730を介して、処理サービス720Aに送信する。
【0143】
(10-7)受付サービス710のうち、req-id付与部716は、生成した処理ログに、生成したreq-idを挿入する。
【0144】
(10-8)受付サービス710のうち、ログ出力部717は、挿入後の処理ログを、ホストOS730に送信する。
【0145】
(10-9)ホストOS730のうち、仮想スイッチ731は、挿入後のパケットを受信する。
【0146】
(10-10)ホストOS730のうち、仮想スイッチ731は、受信した挿入後のパケットを、処理サービス720Aに転送する。
【0147】
(10-11)ホストOS730のうち、パケットキャプチャソフトウェア管理部734は、パケットキャプチャソフトウェア732を制御し、仮想スイッチ731が受信して転送する挿入後のパケットをキャプチャする。
【0148】
(10-12)ホストOS730のうち、パケットキャプチャソフトウェア管理部734は、キャプチャした挿入後のパケットを、リングバッファ313に格納する。
【0149】
(10-13)ホストOS730のうち、仮想スイッチ731は、挿入後の処理ログを、受付サービス710から受信し、ディスク装置310に送信する。ディスク装置310は、ログ記憶部311に含まれる処理ログを記憶するログファイルに、挿入後の処理ログを格納する。
【0150】
(10-14)処理サービス720Aのうち、パケット受信部721は、自処理サービス720Aの処理の実行を要求するリクエストのパケットを、ホストOS730から受信する。
【0151】
(10-15)処理サービス720Aのうち、req-id生成部722は、自処理サービス720Aの処理の実行を要求するリクエストのパケットを受信したことに応じて、当該パケットを含むパケット群に共通で用いられるreq-idを取得する。req-id生成部722は、例えば、受信したパケットに挿入されたreq-idを読み出すことにより、req-idを取得する。
【0152】
(10-16)処理サービス720Aのうち、サービス固有処理実行部723は、自処理サービス720Aの処理の実行を要求するリクエストのパケットを受信したことに応じて、自処理サービス720Aが担当する処理を実行し、処理ログを生成する。処理サービス720Aのうち、サービス固有処理実行部723は、次に実行要求する他の処理サービス720Bを特定し、特定した他の処理サービス720Bの処理の実行を要求するリクエストのパケットを生成する。
【0153】
(10-17)処理サービス720Aのうち、req-id付与部724は、生成したパケットのオプション部に、取得したreq-idを挿入する。
【0154】
(10-18)処理サービス720Aのうち、パケット送信部725は、挿入後のパケットを、ホストOS730を介して、他の処理サービス720Bに送信する。
【0155】
(10-19)処理サービス720Aのうち、req-id付与部726は、生成した処理ログに、取得したreq-idを挿入する。
【0156】
(10-20)処理サービス720Aのうち、ログ出力部727は、挿入後の処理ログを、ホストOS730に送信する。
【0157】
(10-21)ホストOS730のうち、仮想スイッチ731は、挿入後のパケットを受信する。
【0158】
(10-22)ホストOS730のうち、仮想スイッチ731は、受信した挿入後のパケットを、処理サービス720Bに転送する。
【0159】
(10-23)ホストOS730のうち、パケットキャプチャソフトウェア管理部734は、パケットキャプチャソフトウェア732を制御し、仮想スイッチ731が受信して転送する挿入後のパケットをキャプチャする。
【0160】
(10-24)ホストOS730のうち、パケットキャプチャソフトウェア管理部734は、キャプチャした挿入後のパケットを、リングバッファ313に格納する。
【0161】
(10-25)ホストOS730のうち、仮想スイッチ731は、挿入後の処理ログを、処理サービス720Aから受信し、ディスク装置310に送信する。ディスク装置310は、ログ記憶部311に含まれる処理ログを記憶するログファイルに、挿入後の処理ログを格納する。次に、図11の説明に移行する。
【0162】
図11において、(11-1)ログ監視サービス741のうち、ログ収集部742は、ディスク装置310の記憶内容を、ホストOS730に問い合わせる。ログ収集部742は、具体的には、前回の問い合わせ以後、ディスク装置310に新たに記憶された処理ログ群を、ホストOS730に問い合わせることにより、処理ログ群を取得する。ホストOS730のうち、パケット抽出部736は、問い合わせに応じて、ディスク装置310の記憶内容を、ログ監視サービス741に提供する。
【0163】
ログ監視サービス741のうち、エラーログ検出条件設定部743は、エラーログ定義511を参照して、エラーログとなる処理ログを検出するための条件を、ログ監視部744に設定する。ログ監視サービス741のうち、ログ監視部744は、設定された条件に基づいて、取得した処理ログ群のうち、エラーログとなる処理ログを検索し、エラーログとなる処理ログを検出する。
【0164】
(11-2)ログ監視サービス741のうち、イベント処理部745は、エラーログが検出されると、検出時処理定義750を参照して、エラーログに対応する処理を実行する。イベント処理部745は、検出されたエラーログに挿入されたreq-idを抽出し、ホストOS730に送信する。
【0165】
(11-3)パケット抽出サービス733のうち、通知受信部735は、req-idを、ログ監視サービス741から受信する。
【0166】
(11-4)パケット抽出サービス733のうち、パケット抽出部736は、リングバッファ313に記憶されたパケットのうち、受信したreq-idが挿入済みのパケットを抽出する。パケット抽出サービス733のうち、パケット出力部737は、抽出されたパケットを、ディスク装置310に保存する。ディスク装置310は、パケット記憶部312に含まれるパケット保存領域に、受信したパケットを格納する。
【0167】
これにより、パケット抽出サービス733は、req-idをキーに、有用なパケットを選択的にディスク装置310に保存することができる。ホストOS730は、例えば、エラーログに関連するパケットを、有用なパケットとして選択的にディスク装置310に保存することができる。ホストOS730は、ディスク装置310のメモリ使用量の低減化を図ることができる。
【0168】
(受付処理手順)
次に、図12を用いて、情報処理装置201において、受付サービス710が実行する、受付処理手順の一例について説明する。受付処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0169】
図12は、受付処理手順の一例を示すフローチャートである。図12において、受付サービス710は、自受付サービス710の処理の実行を要求するリクエストのパケットを、クライアント装置203から受信する(ステップS1201)。次に、受付サービス710は、req-idを生成する(ステップS1202)。
【0170】
そして、受付サービス710は、受信したパケットに応じた、自受付サービス710の処理を実行し、処理ログにreq-idを付与し、ホストOS730に送信する(ステップS1203)。その後、受付サービス710は、次に処理を実行する処理サービス720を特定し、特定した処理サービス720の処理の実行を要求するリクエストのパケットを生成し、生成したreq-idを付与する(ステップS1204)。ここで、図13の説明に移行し、受付サービス710がパケットを生成する一例について説明する。
【0171】
図13は、受付サービス710がパケットを生成する一例を示す説明図である。図13に示すように、受付サービス710は、例えば、特定した処理サービス720の処理の実行を要求するリクエストのパケット1300を生成する。受付サービス710は、生成したreq-idを、生成したパケット1300のオプション部に挿入することにより、生成したreq-idを、生成したパケット1300に付与する。
【0172】
図12の説明に戻り、受付サービス710は、req-idを付与したパケットを、次に処理を実行する処理サービス720に送信する(ステップS1205)。そして、情報処理装置201は、受付処理を終了する。これにより、情報処理装置201は、全体サービスを実行開始することができる。
【0173】
(実行処理手順)
次に、図14を用いて、情報処理装置201において、処理サービス720が実行する、実行処理手順の一例について説明する。実行処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0174】
図14は、実行処理手順の一例を示すフローチャートである。図14において、処理サービス720は、処理サービス720の処理の実行を要求するリクエストのパケットを、受付サービス710、または、他の処理サービス720から受信する(ステップS1401)。ここで、図15の説明に移行し、処理サービス720がパケットを受信する一例について説明する。
【0175】
図15は、処理サービス720がパケットを受信する一例を示す説明図である。図15に示すように、処理サービス720は、例えば、自処理サービス720の処理の実行を要求するリクエストのパケット1500を受信する。受信したパケット1500のオプション部は、req-idを含む。例えば、処理サービス720が、パケット1500を、受付サービス710から受信した場合、パケット1500は、図13に示したパケット1300に対応する。例えば、処理サービス720が、パケット1500を、他の処理サービス720から受信した場合、パケット1500は、図16に後述するパケット1600に対応する。
【0176】
図14の説明に戻り、処理サービス720は、受信したパケットから、req-idを読み出すことにより取得する(ステップS1402)。次に、処理サービス720は、受信したパケットに応じた、自処理サービス720の処理を実行し、処理ログにreq-idを付与し、ホストOS730に送信する(ステップS1403)。
【0177】
そして、処理サービス720は、次に処理を実行する処理サービス720を特定し、特定した処理サービス720の処理の実行を要求するリクエストのパケットを生成し、取得したreq-idを付与する(ステップS1404)。ここで、図16の説明に移行し、処理サービス720がパケットを生成する一例について説明する。
【0178】
図16は、処理サービス720がパケットを生成する一例を示す説明図である。図16に示すように、受付サービス710は、例えば、特定した処理サービス720の処理の実行を要求するリクエストのパケット1600を生成する。受付サービス710は、読み出したreq-idを、生成したパケット1600のオプション部に挿入することにより、読み出したreq-idを、生成したパケット1600に付与する。
【0179】
図14の説明に戻り、処理サービス720は、req-idを付与したパケットを、次に処理を実行する処理サービス720に送信する(ステップS1405)。そして、処理サービス720は、実行処理を終了する。これにより、処理サービス720は、全体サービスを実行継続することができる。
【0180】
(監視処理手順)
次に、図17を用いて、ログ監視装置202において、ログ監視サービス741が実行する、監視処理手順の一例について説明する。監視処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0181】
図17は、監視処理手順の一例を示すフローチャートである。図17において、ログ監視サービス741は、ログ記憶部311から、新規ログ群を読み込む(ステップS1701)。
【0182】
次に、ログ監視サービス741は、エラーログ定義511を参照して、読み込んだ新規ログ群のうち、検出対象のエラーログが存在するか否かを判定する(ステップS1702)。ここで、図18の説明に移行し、エラーログ定義511の一例について説明する。
【0183】
図18は、エラーログ定義511の一例を示す説明図である。図18に示すように、エラーログ定義511は、検出対象のエラーログを検出可能にする条件を規定する。エラーログ定義511は、例えば、エラーログのうち、日時、または、装置名などの要素をマスクしたエラーログの雛型を示す。
【0184】
図17の説明に戻り、検出対象のエラーログが存在しない場合(ステップS1702:No)、ログ監視サービス741は、ステップS1701の処理に戻る。一方で、検出対象のエラーログが存在する場合(ステップS1702:Yes)、ログ監視サービス741は、ステップS1703の処理に移行する。
【0185】
ステップS1703では、ログ監視サービス741は、検出対象のエラーログに対応するreq-idを、パケット抽出サービス733に送信する(ステップS1703)。そして、ログ監視サービス741は、ステップS1701の処理に戻る。これにより、ログ監視サービス741は、パケット抽出サービス733が、特定のパケットを抽出可能にすることができる。
【0186】
(抽出処理手順)
次に、図19を用いて、情報処理装置201において、パケット抽出サービス733が実行する、抽出処理手順の一例について説明する。抽出処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0187】
図19は、抽出処理手順の一例を示すフローチャートである。図19において、パケット抽出サービス733は、検出対象のエラーログに対応するreq-idを、ログ監視サービス741から受信する(ステップS1901)。
【0188】
次に、パケット抽出サービス733は、リングバッファ313から、受信したreq-idに対応する1以上のパケットを抽出する(ステップS1902)。ここで、図20の説明に移行し、抽出した1以上のパケットの一例について説明する。
【0189】
図20は、抽出した1以上のパケットの一例を示す説明図である。図20に示すように、パケット抽出サービス733は、同一のreq-idが付与された1以上のパケットを含むパケット抽出データ2000を抽出する。パケット抽出データ2000に含まれるそれぞれのパケットは、具体的には、固定長部と、オプション部と、データ部とを含む。オプション部は、具体的には、req-idを含む。
【0190】
図19の説明に戻り、パケット抽出サービス733は、抽出した1以上のパケットを、パケット記憶部312に保存する(ステップS1903)。そして、パケット抽出サービス733は、抽出処理を終了する。これにより、パケット抽出サービス733は、有用なパケットを選択的にパケット記憶部312に保存することができ、パケット記憶部312のメモリ使用量の低減化を図ることができる。
【0191】
以上説明したように、処理部110(610)によれば、自処理部110が担当するプログラムの実行を要求する第1パケットを受け付けたことに応じて、受け付けた第1パケットに対応する識別情報を取得することができる。処理部110によれば、受け付けた第1パケットに応じて実行された自処理部110が担当するプログラムに関する処理ログを生成することができる。処理部110によれば、処理ログに、取得した識別情報を対応付けて、プログラム群に含まれるプログラムに関する処理ログを記憶する第1記憶部121(601)に格納することができる。処理部110によれば、自処理部110が担当するプログラムの次に実行する、プログラム群のいずれかのプログラムの実行を要求する第2パケットを生成することができる。処理部110によれば、第2パケットに、取得した識別情報を付与してから、複数の処理部110のうちいずれかのプログラムを担当する他の処理部110に送信することができる。制御部120(620)によれば、複数の処理部110のいずれかの処理部110が送信した第2パケットをキャプチャすることができる。制御部120によれば、キャプチャした第2パケットを、プログラム群に含まれるプログラムの実行を要求するパケットを記憶するバッファ領域123(603)に格納することができる。制御部120によれば、第1識別情報の入力を受け付けたことに応じて、バッファ領域123から、第1識別情報が付与された1以上のパケットを抽出し、第2記憶部122(602)に格納することができる。これにより、情報処理システム100は、第2記憶部122のメモリ使用量の低減化を図ることができる。
【0192】
処理部110によれば、プログラム群のうち実行順序が最初であるプログラムを自処理部110が担当する場合、第1パケットを受け付けたことに応じて、受け付けた第1パケットに対応する識別情報を生成することにより、識別情報を取得することができる。これにより、情報処理システム100は、識別情報が生成済みでなければ、当該識別情報を生成することができ、適切に識別情報を利用することができる。
【0193】
処理部110によれば、プログラム群のうち実行順序が2番目以降のプログラムを自処理部110が担当する場合、第1パケットを受け付けたことに応じて、受け付けた第1パケットに付与された識別情報を抽出することにより、識別情報を取得することができる。これにより、情報処理システム100は、識別情報が生成済みであれば、当該識別情報を利用することができ、適切に識別情報を利用することができる。
【0194】
監視部(630)によれば、第1記憶部121を参照して、エラーを表す処理ログを検出したことに応じて、検出したエラーを表す処理ログに対応付けられた第1識別情報を、制御部120に入力することができる。これにより、情報処理システム100は、バッファ領域123から、有用なパケットが削除される前に、有用なパケットを抽出し易くすることができる。
【0195】
情報処理システム100によれば、処理部110を、コンテナ上に実現することができる。これにより、情報処理システム100は、処理部110を実現し易くすることができる。
【0196】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した情報処理プログラムは、インターネットなどのネットワークを介して配布してもよい。
【0197】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0198】
(付記1)互いに連携するプログラム群のそれぞれ異なるプログラムを担当する複数の処理部と、前記複数の処理部の通信を制御する制御部とを含む情報処理装置であって、
前記複数の処理部それぞれは、
自処理部が担当するプログラムの実行を要求する第1パケットを受け付けたことに応じて、受け付けた前記第1パケットに対応する識別情報を取得し、
受け付けた前記第1パケットに応じて実行された自処理部が担当するプログラムに関する処理ログに、取得した前記識別情報を対応付けて、前記プログラム群に含まれるプログラムに関する処理ログを記憶する第1記憶部に格納し、
自処理部が担当するプログラムの次に実行する、前記プログラム群のいずれかのプログラムの実行を要求する第2パケットを、取得した前記識別情報を付与してから、前記複数の処理部のうち前記いずれかのプログラムを担当する他の処理部に送信し、
前記制御部は、
前記複数の処理部のいずれかの処理部が送信した前記第2パケットをキャプチャし、
キャプチャした前記第2パケットを、前記プログラム群に含まれるプログラムの実行を要求するパケットを記憶するバッファ領域に格納し、
第1識別情報の入力を受け付けたことに応じて、前記バッファ領域から、前記第1識別情報が付与された1以上のパケットを抽出し、第2記憶部に格納する、
ことを特徴とする情報処理装置。
【0199】
(付記2)前記複数の処理部のいずれかの処理部は、
前記プログラム群のうち実行順序が最初であるプログラムを自処理部が担当する場合、前記第1パケットを受け付けたことに応じて、受け付けた前記第1パケットに対応する識別情報を生成することにより、前記識別情報を取得する、ことを特徴とする付記1に記載の情報処理装置。
【0200】
(付記3)前記複数の処理部のいずれかの処理部は、
前記プログラム群のうち実行順序が2番目以降のプログラムを自処理部が担当する場合、前記第1パケットを受け付けたことに応じて、受け付けた前記第1パケットに付与された識別情報を抽出することにより、前記識別情報を取得する、ことを特徴とする付記2に記載の情報処理装置。
【0201】
(付記4)前記第1記憶部を参照して、エラーを表す処理ログを検出したことに応じて、検出した前記エラーを表す処理ログに対応付けられた第1識別情報を、前記制御部に入力する、監視部、
を有することを特徴とする付記1~3のいずれか一つに記載の情報処理装置。
【0202】
(付記5)前記複数の処理部それぞれは、コンテナである、ことを特徴とする付記1~3のいずれか一つに記載の情報処理装置。
【0203】
(付記6)互いに連携するプログラム群のそれぞれ異なるプログラムを担当する複数の処理部それぞれが、
自処理部が担当するプログラムの実行を要求する第1パケットを受け付けたことに応じて、受け付けた前記第1パケットに対応する識別情報を取得し、
受け付けた前記第1パケットに応じて実行された自処理部が担当するプログラムに関する処理ログに、取得した前記識別情報を対応付けて、前記プログラム群に含まれるプログラムに関する処理ログを記憶する第1記憶部に格納し、
自処理部が担当するプログラムの次に実行する、前記プログラム群のいずれかのプログラムの実行を要求する第2パケットを、取得した前記識別情報を付与してから、前記複数の処理部のうち前記いずれかのプログラムを担当する他の処理部に送信し、
前記複数の処理部の通信を制御する制御部が、
前記複数の処理部のいずれかの処理部が送信した前記第2パケットをキャプチャし、
キャプチャした前記第2パケットを、前記プログラム群に含まれるプログラムの実行を要求するパケットを記憶するバッファ領域に格納し、
第1識別情報の入力を受け付けたことに応じて、前記バッファ領域から、前記第1識別情報が付与された1以上のパケットを抽出し、第2記憶部に格納する、
ことを特徴とする情報処理方法。
【符号の説明】
【0204】
100 情報処理システム
110,610 処理部
111~114,801,802 符号
120,620 制御部
121,601 第1記憶部
122,602 第2記憶部
123 バッファ領域
201 情報処理装置
202 ログ監視装置
203 クライアント装置
204 スイッチ装置
300,500 バス
301,501 CPU
302,502 メモリ
303,503 ネットワークI/F
304,504 記録媒体I/F
305,505 記録媒体
310 ディスク装置
311 ログ記憶部
312 パケット記憶部
313 リングバッファ
314 識別情報管理テーブル
320 ネットワーク
401 ログファイル
402 パケット保存領域
511 エラーログ定義
603 一時記憶部
611 取得部
612 生成部
613 実行部
614 要求部
615 記録部
621 採取部
622 転送部
623 格納部
624 入力部
625 保存部
630 監視部
631 検出部
632 指定部
633 収集部
710 受付サービス
711,721 パケット受信部
712,722 req-id生成部
713,723 サービス固有処理実行部
714,716,724,726 req-id付与部
715,725 パケット送信部
717,727 ログ出力部
718,728 req-id管理ライブラリ
720 処理サービス
730,740 ホストOS
731 仮想スイッチ
732 パケットキャプチャソフトウェア
733 パケット抽出サービス
734 パケットキャプチャソフトウェア管理部
735 通知受信部
736 パケット抽出部
737 パケット出力部
741 ログ監視サービス
742 ログ収集部
743 エラーログ検出条件設定部
744 ログ監視部
745 イベント処理部
750 検出時処理定義
1300,1500,1600 パケット
2000 パケット抽出データ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20