(57)【要約】【課題】  複数のリクエスト処理部が順に実行した処理のログを自動的に抽出する。【解決手段】  情報処理システムは、受信部、プロセスおよび送信部を含む複数のリクエスト処理部として機能する演算処理部を有する情報処理装置、リクエスト分配部、保持部およびログ抽出部を有する。リクエスト分配部は、リクエストをリクエスト処理部に送信し、送信元識別情報と送信先識別情報を保持部に格納する。受信部は、リクエストに基づいてプロセスを生成し、プロセス識別情報と受信部識別情報とリクエスト識別情報を保持部に格納する。プロセスは、リクエストを処理して次のリクエストを送信部に出力し、プロセス識別情報とログを保持部に格納する。送信部は、リクエストにリクエスト識別情報を付加してリクエスト分配部に送信し、プロセス識別情報と送信部識別情報とリクエスト識別情報を保持部に格納する。【選択図】    図１
2018097793.tif 000002
【特許請求の範囲】
【請求項１】
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも１つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備え、
前記複数のリクエスト処理部の各々は、
リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力する受信部と、
プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力する送信部と
を備え、
前記プロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力し、
前記リクエスト分配部は、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力すること
を特徴とする情報処理システム。
【請求項２】
複数の前記リクエスト分配部を備え、
前記リクエスト分配部の各々は、リクエストを前記複数のリクエスト処理部のいずれかに送信する場合、さらに、自己を識別する分配部識別情報を前記保持部に格納するために出力し、
前記受信部は、処理を実行するプロセスを生成する場合、さらに、リクエストの送信元の前記リクエスト分配部を識別する前記分配部識別情報を前記保持部に格納するために出力すること
を特徴とする請求項１記載の情報処理システム。
【請求項３】
前記保持部は、前記プロセスからの識別情報およびログを保持する複数のログ用エントリと、前記リクエスト分配部からの識別情報を保持する複数の分配部用エントリと、前記受信部からの識別情報をそれぞれ保持する複数の受信部用エントリと、前記送信部からの識別情報をそれぞれ保持する送信部用エントリとを含み、
前記ログ抽出部は、
前記抽出要求で指定された前記ログ用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持する受信部用エントリを特定し、
特定した受信部用エントリに含まれる受信部識別情報と同じ送信先識別情報を保持する分配部用エントリを特定し、
特定した分配部用エントリに含まれる送信元識別情報と同じ送信部識別情報を保持する送信部用エントリを特定し、
特定した送信部用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持するログ用エントリを特定し、
特定したログ用エントリに含まれるログを抽出し、
特定したログ用エントリに含まれるプロセス識別情報に基づいて受信部用エントリ、分配部用エントリ、送信部用エントリおよびログ用エントリを順次特定し、特定したログ用エントリに含まれるログを抽出する動作を、分配部用エントリに含まれる送信元識別情報が外部の送信元であることを検出するまで繰り返すこと
を特徴とする請求項１または請求項２記載の情報処理システム。
【請求項４】
前記受信部は、プロセス識別情報および受信部識別情報とともに、プロセスを生成した時刻を前記保持部に格納するために出力し、
前記プロセスは、プロセス識別情報およびログとともに、次のリクエストを出力した時刻を前記保持部に格納するために出力し、
前記ログ抽出部は、特定されたログ用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持する複数の受信部用エントリが存在する場合、特定したログ用エントリに含まれる時刻より前の時刻を保持する受信部用エントリのうち、特定したログ用エントリに含まれる時刻に最も近い時刻を保持する受信部用エントリを特定すること
を特徴とする請求項３記載の情報処理システム。
【請求項５】
前記ログ抽出部は、特定した受信部用エントリに含まれるプロセス識別情報と同じプロセス識別情報を含むエントリのうち、特定した受信部用エントリに含まれる時刻より後の時刻を含むログ用エントリに含まれるログを抽出すること
を特徴とする請求項４記載の情報処理システム。
【請求項６】
前記受信部および前記送信部が出力した識別情報と、前記プロセスが出力した識別情報およびログとを、前記保持部に書き込む情報書き込み部を備えること
を特徴とする請求項１ないし請求項５のいずれか１項記載の情報処理システム。
【請求項７】
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも１つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備える情報処理システムの制御方法において、
前記複数のリクエスト処理部の各々で機能する受信部が、リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力し、
前記複数のリクエスト処理部の各々で機能する送信部が、プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力し、
受信部により生成された前記プロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力し、
前記リクエスト分配部は、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力すること
を特徴とする情報処理システムの制御方法。
【請求項８】
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも１つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備え、
前記リクエスト分配部が、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力する情報処理システムの制御プログラムにおいて、
前記複数のリクエスト処理部の各々で機能する受信部に、リクエストの受信に基づいて、処理を実行するプロセスを生成させるとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力させ、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力させ、
前記複数のリクエスト処理部の各々で機能する送信部に、プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信させるとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力させ、
受信部により生成された前記プロセスに、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力させること
を特徴とする情報処理システムの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラムに関する。
【背景技術】
【０００２】
１つのＯＳ（Operating System）の環境下で、互いに分離した複数のプロセス（アプリケーションプログラム）を実行するコンテナと称する仮想化技術が提案されている（例えば、特許文献１参照）。この種の仮想化技術では、例えば、データベース、ロギングサービス、キューおよびロードバランサ等が各コンテナに割り当てられることで、プライベートクラウドが提供される（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１６−５１１８７８号公報
【特許文献２】特表２０１４−５２４０９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のコンテナを協働させてリクエストを順に処理する場合、処理の実行により発生したイベントのログは、各コンテナから出力され、データベース等に格納される。例えば、コンテナのいずれかがリクエストを処理中にエラーが発生した場合、リクエストを処理したコンテナが出力したログを、エラーを示すログから処理の順序と逆にたどることで、エラーの発生に関するログが抽出可能である。しかしながら、例えば、複数のコンテナ間で複数のリクエストが重複して処理される場合、複数のリクエストのそれぞれに対応するログは、データベース等に混在して保持されるため、ログを自動的に抽出することは困難である。このため、ログの抽出は、リクエストの流れを理解したシステム管理者等が、データベース等に保持されたログの中からエラーが発生したリクエストに関するログを１つずつ抽出することで行われる。
【０００５】
１つの側面では、本発明は、複数のリクエスト処理部が順に実行した処理のログを自動的に抽出することを目的とする。
【課題を解決するための手段】
【０００６】
一つの実施態様では、情報処理システムは、リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも１つの情報処理装置と、リクエストを複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、リクエストを処理したリクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、ログを抽出する抽出要求に基づいて、保持部に保持された識別情報を参照し、リクエストの処理順にしたがってログを保持部から抽出するログ抽出部とを備え、複数のリクエスト処理部の各々は、リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を保持部に格納するために出力する受信部と、プロセスから出力される次のリクエストにリクエスト識別情報を付加してリクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを保持部に格納するために出力する送信部とを備え、プロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを保持部に格納するために出力し、リクエスト分配部は、リクエストを処理させる複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元のリクエスト処理部を識別する送信元識別情報と、リクエストの送信先のリクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを保持部に格納するために出力する。
【０００７】
別の実施態様では、リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも１つの情報処理装置と、リクエストを複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、リクエストを処理したリクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、ログを抽出する抽出要求に基づいて、保持部に保持された識別情報を参照し、リクエストの処理順にしたがってログを保持部から抽出するログ抽出部とを備える情報処理システムの制御方法において、複数のリクエスト処理部の各々で機能する受信部が、リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を保持部に格納するために出力し、複数のリクエスト処理部の各々で機能する送信部が、プロセスから出力される次のリクエストにリクエスト識別情報を付加してリクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを保持部に格納するために出力し、受信部により生成されたプロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを保持部に格納するために出力し、リクエスト分配部は、リクエストを処理させる複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元のリクエスト処理部を識別する送信元識別情報と、リクエストの送信先のリクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを保持部に格納するために出力する。
【０００８】
さらなる別の実施態様では、リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも１つの情報処理装置と、リクエストを複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、リクエストを処理したリクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、ログを抽出する抽出要求に基づいて、保持部に保持された識別情報を参照し、リクエストの処理順にしたがってログを保持部から抽出するログ抽出部とを備え、リクエスト分配部が、リクエストを処理させる複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元のリクエスト処理部を識別する送信元識別情報と、リクエストの送信先のリクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを保持部に格納するために出力する情報処理システムの制御プログラムにおいて、複数のリクエスト処理部の各々で機能する受信部に、リクエストの受信に基づいて、処理を実行するプロセスを生成させるとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを保持部に格納するために出力させ、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を保持部に格納するために出力させ、複数のリクエスト処理部の各々で機能する送信部に、プロセスから出力される次のリクエストにリクエスト識別情報を付加してリクエスト分配部に送信させるとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを保持部に格納するために出力させ、受信部により生成されたプロセスに、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを保持部に格納するために出力させる。
【発明の効果】
【０００９】
１つの側面では、本発明は、複数のリクエスト処理部が順に実行した処理のログを自動的に抽出することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理システムの一実施形態を示す図である。
【図２】図１に示す情報処理システムの動作の一例を示す図である。
【図３】図１に示す情報処理システムの動作の別の例を示す図である。
【図４】情報処理システムの別の実施形態を示す図である。
【図５】図４に示すコンテナサーバ、管理サーバ、ストレージサーバおよびロードバランサとして使用される情報処理装置の一例を示す図である。
【図６】図４に示すコンテナサーバの各種要素を識別するために割り当てられる識別情報の一例を示す図である。
【図７】図４に示す情報処理システムが実行するログの管理動作の概要の一例を示す図である。
【図８】図７に示すロードバランサデータベース、受信部データベース、送信部データベースおよびログデータベースに格納される情報の一例を示す図である。
【図９】図４に示す情報処理システム内でのリクエストの流れと、ストレージサーバに格納される情報との一例を示す図である。
【図１０】図４に示す情報処理システムの動作の一例を示す図である。
【図１１】図１０に示すログインリクエストに対応する認証処理において、各コンテナサーバがストレージサーバに格納する情報の一例を示す図である。
【図１２】図７に示すコンテナ作成履歴データベースに格納される情報の一例を示す図である。
【図１３】図４に示すロードバランサの動作の一例を示す図である。
【図１４】図４に示す各コンテナサーバの動作の一例を示す図である。
【図１５】図４に示す各コンテナ管理部によるコンテナを管理する動作の一例を示す図である。
【図１６】図４に示すログ抽出部の動作の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を用いて実施形態を説明する。
【００１２】
図１は、情報処理システムの一実施形態を示す。図１に示す情報処理システム１００は、ＣＰＵ（Central Processing Unit）等の演算処理部１ａと記憶部２ａとを有する少なくとも１つの情報処理装置１と、リクエスト分配部７と、保持部８と、ログ抽出部９とを有する。演算処理部１ａは、記憶部２ａに保持された制御プログラムを実行することにより、リクエストをそれぞれ処理することで所定の機能を実行する複数のリクエスト処理部３として機能する。例えば、制御プログラムは、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ（Digital Versatile Disc）またはＵＳＢ（Universal Serial Bus）メモリ等の記録媒体２ｃに記録されており、記録媒体２ｃから記憶部２ａに転送される。
【００１３】
リクエスト処理部３の各々は、リクエスト分配部７からリクエストを受信する受信部４と、受信部４により生成されるプロセス５と、プロセス５により生成される次のリクエストをリクエスト分配部７に送信する送信部６とを有する。そして、各リクエスト処理部３が、リクエスト分配部７を介してリクエストを他のリクエスト処理部３に順に送信することで、複数の機能をまとめた処理が複数のリクエスト処理部３により実行される。すなわち、情報処理システム１００は、いわゆるマイクロサービスを提供可能である。
【００１４】
受信部４は、リクエストの受信に基づいて、処理を実行するプロセス５を生成するとともに、生成したプロセス５を識別するプロセス識別情報と、自己を識別する受信部識別情報とを保持部８に格納するために出力する。また、受信部４は、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を保持部８に格納するために出力する。
【００１５】
プロセス５は、リクエストに対応する処理を実行し、処理に基づいて次のリクエストまたはレスポンスを送信部６に出力し、プロセス５を識別するプロセス識別情報と、処理の実行により発生したイベント等のログとを保持部８に格納するために出力する。
【００１６】
送信部６は、プロセス５から出力される次のリクエストにリクエスト識別情報を付加してリクエスト分配部７に送信する。また、送信部６は、次のリクエストを出力したプロセス５を識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを保持部８に格納するために出力する。
【００１７】
リクエスト識別情報は、リクエストに対応する処理を実行するプロセス５により生成されるのではなく、送信部６により生成される。これにより、プロセス５（すなわち、アプリケーションプログラム）は、リクエスト識別情報を生成する機能を追加することなく情報処理装置１上で実行可能である。換言すれば、プロセス５の汎用性を維持したまま、プロセス５を情報処理装置１上で実行することができ、いわゆるマイクロサービスの可用性および可搬性が失われることを抑止することができる。
【００１８】
リクエスト分配部７は、図示しないユーザ端末等から受信するユーザリクエストまたはリクエスト処理部３のいずれかの送信部６から受信する次のリクエストを、リクエストを処理させるリクエスト処理部３のいずれかに送信する。また、リクエスト分配部７は、リクエストの送信元のリクエスト処理部３等を識別する送信元識別情報と、リクエストの送信先のリクエスト処理部３を識別する送信先識別情報と、リクエスト識別情報とを保持部８に格納するために出力する。なお、リクエスト分配部７は、各情報処理装置１に分散して設けられてもよく、この場合、リクエスト分配部７の機能は、各情報処理装置１の演算処理部１ａが制御プログラムを実行することにより実現される。リクエスト分配部７の機能を実現する制御プログラムは、リクエスト処理部３を生成する制御プログラムに含まれてもよく、リクエスト処理部３を生成する制御プログラムと別の制御プログラムでもよい。
【００１９】
受信部識別情報、プロセス識別情報、リクエスト識別情報、送信部識別情報、送信元識別情報および送信先識別情報は、識別情報の一例である。受信部４、送信部６およびリクエスト分配部７は、識別情報を保持部８に直接書き込んでもよく、情報書き込み部等を介して識別情報を保持部８に書き込んでもよい。同様に、プロセス５は、識別情報およびログを保持部８に直接書き込んでもよく、情報書き込み部等を介して識別情報およびログを保持部８に書き込んでもよい。
【００２０】
保持部８は、リクエストを処理したリクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する。ログ抽出部９は、ログを抽出する抽出要求に基づいて、保持部８に保持された識別情報を参照し、リクエストの処理順にしたがって保持部８からログを抽出する。
【００２１】
図２は、図１に示す情報処理システム１００の動作の一例を示す。図２に示す動作は、例えば、リクエスト処理部３を実現する制御プログラムと、リクエスト分配部７を実現する制御プログラムと、ログ抽出部９を実現する制御プログラムとにより実行される。すなわち、図２は、情報処理システム１００の制御方法の一例および情報処理システム１００の制御プログラムの一例を示す。図２に示す例では、説明を分かりやすくするために、リクエスト処理部３、受信部４、プロセス５、送信部６、識別情報およびログには、枝番”０”、”１”または”２”が付される。
【００２２】
保持部８は、リクエスト分配部７、受信部４、プロセス５および送信部６からの情報をそれぞれ記憶する領域が割り当てられる。例えば、リクエスト分配部７が出力する識別情報は、分配部データベース８ａに保持され、受信部４が出力する識別情報は、受信部データベース８ｂに保持される。また、プロセス５が出力する識別情報およびログは、ログデータベース８ｃに保持され、送信部６が出力する識別情報は、送信部データベース８ｄに保持される。分配部データベース８ａは、破線枠で示す複数の分配部用エントリを有し、受信部データベース８ｂは、破線枠で示す複数の受信部用エントリを有する。ログデータベース８ｃは、破線枠で示す複数のログ用エントリを有し、送信部データベース８ｄは、破線枠で示す複数の送信部用エントリを有する。
【００２３】
まず、リクエスト分配部７は、ユーザリクエストを受信し、受信したユーザリクエストをリクエスト処理部３−１の受信部４−１に送信する。リクエスト分配部７は、ユーザリクエストの送信元のユーザ端末等を識別する送信元識別情報０と、リクエストの送信先のリクエスト処理部３−１の受信部４−１を識別する送信先識別情報４−１とを保持部８の分配部データベース８ａに格納する。
【００２４】
受信部４−１は、受信したユーザリクエストの受信に基づいてプロセス５−１を生成し、プロセス５−１を識別するプロセス識別情報５−１と、受信部４−１を識別する受信部識別情報４−１とを保持部８の受信部データベース８ｂに格納する。プロセス５−１は、ユーザリクエストに対応する処理に基づいて次のリクエスト１を送信部６−１に出力する。また、プロセス５−１は、プロセス５−１を識別するプロセス識別情報５−１と、処理の実行により発生したログ１とを保持部８のログデータベース８ｃに格納する。
【００２５】
送信部６−１は、プロセス５−１からの次のリクエスト１にリクエスト識別情報１を付加してリクエスト分配部７に送信する。また、送信部６−１は、次のリクエスト１を出力したプロセス５−１を識別するプロセス識別情報５−１と、送信部６−１を識別する送信部識別情報６−１と、リクエスト識別情報１とを保持部８の送信部データベース８ｄに格納する。
【００２６】
リクエスト分配部７は、リクエスト識別情報１を含むリクエスト１を受信し、受信したリクエスト１をリクエスト処理部３−２の受信部４−２に送信する。リクエスト分配部７は、リクエスト１の送信元のリクエスト処理部３−１の送信部６−１を識別する送信元識別情報６−１と、リクエストの送信先のリクエスト処理部３−１を識別する送信先識別情報４−２とを保持部８の分配部データベース８ａに格納する。また、リクエスト分配部７は、リクエスト識別情報１を保持部８の分配部データベース８ａに格納する。
【００２７】
受信部４−２は、受信したリクエスト１の受信に基づいてプロセス５−２を生成し、プロセス５−２を識別するプロセス識別情報５−２と、受信部４−２を識別する受信部識別情報４−２と、リクエスト識別情報１とを保持部８の受信部データベース８ｂに格納する。プロセス５−２は、リクエスト１に対応する処理に基づいて次のリクエスト２を送信部６−２に出力する。また、プロセス５−２は、プロセス５−２を識別するプロセス識別情報５−２と、処理の実行により発生したログ２とを保持部８のログデータベース８ｃに格納する。例えば、ログ２は、エラーＥＲＲの発生を示すエラーログである。送信部６−２は、次のリクエスト２にリクエスト識別情報２を付加してリクエスト分配部７に送信する。また、送信部６−２は、次のリクエスト２を出力したプロセス５−２を識別するプロセス識別情報５−２と、送信部６−２を識別する送信部識別情報６−２と、リクエスト識別情報２とを保持部８の送信部データベース８ｄに格納する。
【００２８】
ログ抽出部９は、エラーログ２（ＥＲＲ）を発生させた一連のリクエストに対応するログを抽出する抽出要求に基づいて、保持部８に保持された識別情報を参照し、以下の手順で保持部８からログを抽出する。
【００２９】
まず、ログ抽出部９は、エラーログ２（ＥＲＲ）とともにログデータベース８ｃの分配部用エントリに保持されたプロセス識別情報５−２と同じ情報を保持する受信部データベース８ｂの受信部用エントリを特定する（図２（ａ））。特定した受信部用エントリにリクエスト識別情報１が保持されている場合、ログ抽出部９は、受信部識別情報４−２とリクエスト識別情報１とを使用して、分配部データベース８ａの分配部用エントリを特定する。すなわち、ログ抽出部９は、受信部識別情報４−２およびリクエスト識別情報１と同じ情報（送信先識別情報４−２およびリクエスト識別情報１）を保持する分配部用エントリを特定する（図２（ｂ））。
【００３０】
ログ抽出部９は、特定した分配部用エントリにリクエスト識別情報１が保持されている場合、送信元識別情報６−１とリクエスト識別情報１とを使用して、送信部データベース８ｄの送信部用エントリを特定する。すなわち、ログ抽出部９は、特定した分配部用エントリに保持された送信元識別情報６−１およびリクエスト識別情報１と同じ情報（送信部識別情報６−１およびリクエスト識別情報１）を保持する送信部用エントリを特定する（図２（ｃ））。ログ抽出部９は、特定した送信部用エントリに保持されたプロセス識別情報５−１と同じ情報を保持するログデータベース８ｃのログ用エントリを特定し、特定したログ用エントリに保持されたログ１を抽出する（図２（ｄ））。
【００３１】
次に、ログ抽出部９は、ログ１とともに分配部用エントリに保持されたプロセス識別情報５−１と同じ情報を保持する受信部用エントリを特定する（図２（ｅ））。ログ抽出部９は、特定した受信部用エントリにリクエスト識別情報が保持されていないため、受信部識別情報４−１のみを使用して分配部用エントリを特定する（図２（ｆ））。特定した分配部用エントリにリクエスト送信情報１が保持されていない場合、特定した分配部用エントリに保持された識別情報は、送信部６が送信した次のリクエストに基づくものでない。換言すれば、特定した分配部用エントリにリクエスト送信情報１が保持されていない場合、特定した分配部用エントリに保持された識別情報は、情報処理システム１００の外部からのリクエスト（この例では、ユーザリクエスト）に基づくものである。このため、ログ抽出部９は、エラーログ２（ＥＲＲ）の発生に関連する一連のリクエストに対応するログを全て抽出したと判断し、抽出処理を終了する。
【００３２】
このように、図２では、ログ抽出部９は、保持部８に保持された識別情報に基づいて、リクエストの流れをリクエストの処理順と逆にたどり、ログデータベース８ｃに保持されたログを抽出することができる。さらに、図２では、分配部データベース８ａと受信部データベース８ｂとがリクエスト識別情報を保持する。このため、ログ抽出部９は、分配部データベース８ａに複数の同じ送信先識別情報４−１が保持された場合にも、受信部４にリクエストを送信したリクエスト分配部７を識別することができる。また、ログ抽出部９は、分配部データベース８ａにおいて、リクエスト識別情報が保持されていない分配部用エントリを特定した場合、抽出の完了を判定できる。
【００３３】
図３は、図１に示す情報処理システム１００の動作の別の例を示す。図２と同一または同様の処理については、詳細な説明は省略する。この例では、情報処理システム１００は、複数のリクエスト分配部７（７−１および７−２）を有する。各リクエスト分配部７は、ユーザリクエストまたは送信部６からのリクエストを受信した場合、送信元識別情報および送信先識別情報とともに、リクエスト分配部７を識別する分配部識別情報（７−１または７−２）を保持部８の分配部データベース８ａに格納する。各受信部４は、リクエスト分配部７からリクエストを受信した場合、受信部識別情報およびプロセス識別情報とともに、分配部識別情報を保持部８の受信部データベース８ｂに格納する。
【００３４】
なお、各リクエスト分配部７は、送信部６からリクエスト識別情報を受信した場合、リクエスト識別情報を保持部８に格納し、各受信部４は、リクエスト分配部７からリクエスト識別情報を受信した場合、リクエスト識別情報を保持部８に格納する。各送信部６がリクエスト識別情報を保持部８に格納することにより、ログ抽出部９は、図２と同様に、リクエスト識別情報に基づいて、抽出の完了を判定できる。なお、各送信部６は、リクエスト識別情報の保持部８への格納を省略してもよい。
【００３５】
ログ抽出部９は、エラーログ２（ＥＲＲ）の発生に関連する一連のリクエストに対応するログを抽出する抽出要求に基づいて、図２と同様に動作する。図３（ａ）に示す動作は、図２（ａ）と同じであり、図３（ｃ）に示す動作は、図２（ｃ）と同じである。図３（ｄ）に示す動作は、図２（ｄ）と同じであり、図３（ｅ）に示す動作は、図２（ｅ）と同じである。但し、ログの抽出に分配部識別情報を使用する点が、図２と相違する。
【００３６】
図３（ｂ）に示すように、ログ抽出部９は、受信部用エントリに保持された識別情報を使用して分配部データベース８ａの分配部用エントリを特定する場合、受信部識別情報４−２およびリクエスト識別情報１に加えて、分配部識別情報７−２を使用する。あるいは、図３（ｆ）に示すように、ログ抽出部９は、受信部用エントリに保持された識別情報を使用して分配部データベース８ａの分配部用エントリを特定する場合、受信部識別情報４−１に加えて、分配部識別情報７−１を使用する。これにより、情報処理システム１００が複数のリクエスト分配部７を有する場合にも、リクエストをリクエスト処理部３に送信したリクエスト分配部７を特定することができる。この結果、ログ抽出部９は、リクエストの流れをたどって、エラーログ２（ＥＲＲ）の発生に関連する一連のリクエストに対応するログを自動的に抽出することができる。
【００３７】
以上、図１から図３に示す実施形態では、リクエストに基づいて複数のリクエスト処理部３が順に実行した処理のログを自動的に抽出することができる。また、分配部データベース８ａに複数の同じ送信先識別情報４−１が保持された場合にも、保持部８に保持されたリクエスト識別情報を参照することで、受信部４にリクエストを送信したリクエスト分配部７を識別することができる。ログ抽出部９は、分配部データベース８ａに保持されたリクエスト識別情報を参照することで、ログの抽出動作の完了を判定することができる。さらに、情報処理システム１００が複数のリクエスト分配部７を有する場合にも、ログ抽出部９は、分配部識別情報に基づいて、リクエストをリクエスト処理部３に送信したリクエスト分配部７を特定することができる。
【００３８】
図４は、情報処理システムの別の実施形態を示す。図１に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。
【００３９】
図４に示す情報処理システム１０２は、管理ネットワーク５０に接続された複数のコンテナサーバ１０、管理サーバ２０、ストレージサーバ３０およびロードバランサ４０を有する。コンテナサーバ１０、管理サーバ２０およびロードバランサ４０は、パーソナルコンピュータ等のユーザ端末５４が接続されるユーザネットワーク５２に接続される。コンテナサーバ１０、管理サーバ２０、ストレージサーバ３０およびロードバランサ４０は、情報処理装置の一例であり、ストレージサーバ３０は、保持部の一例である。コンテナサーバ１０、管理サーバ２０、ストレージサーバ３０およびロードバランサ４０として使用される情報処理装置の例は、図５に示される。
【００４０】
なお、ロードバランサ４０の代わりに、各コンテナサーバ１０に破線枠で示すように仮想のロードバランサ４１が構築されてもよい。この場合、情報処理システム１０２は、物理的なロードバランサ４０を持たず、コンテナサーバ１０のそれぞれに構築された仮想のロードバランサ４１が協働してロードバランサ４０の機能を実現する。以下では、仮想のロードバランサ４１を動作させる例が説明される。ロードバランサ４１は、リクエスト分配部の一例である。
【００４１】
各コンテナサーバ１０は、例えば、処理の機能（サービス）毎に設けられ、アプリケーションプログラムの実行環境の単位である少なくとも１つのコンテナ１１と、コンテナ１１の生成および削除等を管理するコンテナ管理部１５とを含む。コンテナ１１およびコンテナ管理部１５は、コンテナサーバ１０内のＣＰＵ等の演算処理装置が仮想化プログラムを実行することにより生成される。コンテナ１１を使用するコンテナ型仮想化技術により、複数のアプリケーションプログラムの実行環境が、コンテナサーバ１０にインストールされる単一のＯＳ（Operating System）上に実現可能である。以下、アプリケーションプログラムは、アプリケーションと称される。
【００４２】
各コンテナ１１は、リクエストおよびレスポンスを受信する受信部１２と、リクエストおよびレスポンスを送信する送信部１３とを有する。各コンテナ１１は、受信部１２が受信したリクエストに基づいてアプリケーションを実行するプロセス１４（符号Ｐで示す）を生成し、アプリケーションの処理を実行する。各コンテナ１１内のプロセス１４は、互いに独立に動作する。各コンテナ１１は、処理の実行結果に基づいて、他のアプリケーションによる処理を実行する場合、リクエストを生成し、生成したリクエストを送信部１３から他のアプリケーションを実行する他のコンテナサーバ１０に送信する。また、各コンテナ１１は、処理の実行結果をレスポンスとして、送信部１３からリクエストの送信元のコンテナサーバ１０に送信する。コンテナ１１は、リクエストを処理するリクエスト処理部の一例である。
【００４３】
各コンテナ１１が、ロードバランサ４１を介してリクエストを他のコンテナ１１に順に送信することで、互いに独立した複数の機能をまとめた処理が複数のコンテナ１１により実行される。すなわち、情報処理システム１０２は、いわゆるマイクロサービスを提供可能である。すなわち、各コンテナサーバ１０により実現される機能に掛かる負荷に応じて、機能毎にコンテナ１１の数を増加または減少できるため、複数の機能をパッケージすることで大規模な処理を実行するシステムに比べて、負荷に応じてシステムの規模を容易に変更することができる。
【００４４】
コンテナ管理部１５は、コンテナ１１の作成と削除を管理する機能と、コンテナ１１を作成した履歴をストレージサーバ３０に格納する機能を有する。また、コンテナ管理部１５は、受信部１２および送信部１３で送受信されるリクエストの流れを示す情報をストレージサーバ３０に格納する機能を有する。さらに、コンテナ管理部１５は、プロセス１４が生成したイベントに対応する情報をストレージサーバ３０に格納する機能とを有する。コンテナ管理部１５は、情報書き込み部の一例である。
【００４５】
管理サーバ２０は、情報処理システム１０２の全体の動作を管理する。また、管理サーバ２０は、ストレージサーバ３０に格納された情報を検索し、例えば、エラーを示すログに関連する他のログを抽出するログ抽出部２１を有する。ログ抽出部２１の機能は、管理サーバ２０が実行する制御プログラムにより実現されるが、管理サーバ２０のハードウェアにより実現されてもよい。
【００４６】
ストレージサーバ３０は、ロードバランサデータベース３１、受信部データベース３２、送信部データベース３３、ログデータベース３４およびコンテナ作成履歴データベース３５を有する。ロードバランサデータベース３１は、各コンテナサーバ１０のロードバランサ４１が送受信するリクエストに対応する識別情報を記憶する。受信部データベース３２は、各コンテナサーバ１０のコンテナ１１の受信部１２が送受信するリクエストに対応する識別情報を記憶する。送信部データベース３３は、各コンテナサーバ１０のコンテナ１１の送信部１３が送受信するリクエストに対応する識別情報を記憶する。
【００４７】
ログデータベース３４は、各コンテナサーバ１０のコンテナ１１で実行されるプロセスが発生したイベントを示すログと、プロセスを識別する識別情報とを記憶する。コンテナ作成履歴データベース３５は、各コンテナサーバ１０のコンテナ１１の作成履歴を記憶する。ロードバランサデータベース３１、受信部データベース３２、送信部データベース３３およびログデータベース３４に格納される情報の例は、図８および図１１に示される。コンテナ作成履歴データベース３５に格納される情報の例は、図１２に示される。なお、ストレージサーバ３０は、情報処理システム１０２で処理する他のデータを記憶してもよい。
【００４８】
図５は、図４に示すコンテナサーバ１０、管理サーバ２０、ストレージサーバ３０およびロードバランサ４０として使用される情報処理装置の一例を示す。図５に示す情報処理装置６０は、例えば、マザーボードに搭載されたＣＰＵ６１、チップセット６２およびメモリ６３と、マザーボードに搭載される図示しないバックプレーンに接続されるＨＤＤ（Hard Disk Drive）６４とを有する。また、情報処理装置６０は、チップセット６２を介してＣＰＵ６１に接続される入出力インタフェース部６５と、ＣＰＵ６１に接続される通信インタフェース部６６とを有する。
【００４９】
例えば、入出力インタフェース部６５は、キーボード７０、マウス７１、表示装置７２またはメディアドライブ装置７３等が接続される複数のポートを有する。メディアドライブ装置７３には、ＣＰＵ６１が実行する各種制御プログラムが格納されたＣＤ−ＲＯＭまたはＤＶＤ等の記録媒体７４が装着可能である。
【００５０】
記録媒体７４に格納された制御プログラムは、ＨＤＤ６４に転送された後、メモリ６３に格納されることで、ＣＰＵ６１により実行可能になる。なお、入出力インタフェース部６５は、ＵＳＢポートを有してもよく、この場合、ＵＳＢメモリに格納された各種制御プログラムが、ＨＤＤ６４を介してメモリ６３に格納される。
【００５１】
通信インタフェース部６６は、管理ネットワーク５０およびユーザネットワーク５２にそれぞれ接続される複数のポートを有する。
【００５２】
図６は、図４に示すコンテナサーバ１０の各種要素を識別するために割り当てられる識別情報の一例を示す。例えば、図４に示すコンテナサーバ１０は、複数の機能（ユーザインタフェース用、アカウント管理用、グラフ描画用、グラフデータ作成用およびデータ管理用）毎に設けられる。
【００５３】
以下では、ユーザインタフェース用のコンテナサーバ１０はコンテナサーバ１０−１と称され、アカウント管理用のコンテナサーバ１０はコンテナサーバ１０−２と称され、グラフ描画用のコンテナサーバ１０はコンテナサーバ１０−３と称される。また、グラフデータ作成用のコンテナサーバ１０はコンテナサーバ１０−４と称され、データ管理用のコンテナサーバ１０はコンテナサーバ１０−５と称される。
【００５４】
各コンテナサーバ１０（ノード）には、コンテナサーバ１０を識別する固有の識別情報ＮＤ−ＩＤ（Identification）が割り当てられる。各コンテナサーバ１０のロードバランサ４１には、ロードバランサ４１を識別する固有の識別情報ＬＤ−ＩＰが割り当てられる。各コンテナ１１には、コンテナ１１を識別する固有の識別情報ＣＯＮＴ−ＩＰ、ＣＯＮＴ−ＩＤとが割り当てられる。図６に示す例では、説明を分かりやすくするため、互いに相違する識別番号ＣＯＮＴ−ＩＤがコンテナ１１に付されるが、コンテナサーバ１０が異なるコンテナ１１では、識別番号ＣＯＮＴ−ＩＤが重複する場合がある。各コンテナ１１が生成するプロセスには、コンテナ１１内のプロセスを識別するためにコンテナ１１内で固有の識別情報ＰＩＤが割り当てられる。
【００５５】
以下では、識別情報ＮＤ−ＩＤは、ノード番号ＮＤ−ＩＤとも称され、識別情報ＬＤ−ＩＰは、ＩＰ（Internet Protocol）アドレスＬＢ−ＩＰとも称される。識別情報ＣＯＮＴ−ＩＰは、ＩＰアドレスＣＯＮＴ−ＩＰと称され、識別情報ＣＯＮＴ−ＩＤは、コンテナ番号ＣＯＮＴ−ＩＤと称され、識別番号ＰＩＤは、プロセス番号ＰＩＤとも称される。
【００５６】
図７は、図４に示す情報処理システム１０２が実行するログの管理動作の概要の一例を示す。
【００５７】
ロードバランサ４１は、他のコンテナサーバ１０からのリクエストを受信した場合、リクエストを処理させるコンテナ１１を決定し、決定したコンテナ１１にリクエストを出力する。また、ロードバランサ４１は、送受信するリクエストに対応する識別情報をロードバランサデータベース３１に格納する。なお、ユーザインタフェース用のコンテナサーバ１０（図６に示す１０−１）のロードバランサ４１は、ユーザ端末５４からリクエストを受信する。アカウント管理用、グラフ描画用、グラフデータ作成用およびデータ管理用のコンテナサーバ１０のロードバランサ４１は、他のコンテナサーバ１０の送信部１３からリクエストを受信する。ロードバランサ４１の動作の例は、図１３に示される。なお、ロードバランサ４１が生成する識別情報は、コンテナ管理部１５を介してロードバランサデータベース３１に格納されてもよい。
【００５８】
ロードバランサ４１からリクエストを受信したコンテナ１１の受信部１２は、受信したリクエストに対応する処理を実行するプロセス１４を生成する。そして、受信部１２は、送受信するリクエストに対応する識別情報を、コンテナ管理部１５を介して受信部データベース３２に格納する。
【００５９】
プロセス１４は、リクエストに対応する処理を実行する。プロセス１４は、リクエストに対応する処理に基づいて次のリクエストを他のコンテナサーバ１０に発行する場合、送信部１３に次のリクエストを出力する。プロセス１４は、リクエストに対する処理を完了した場合、リクエストに対応するレスポンスを送信部１３に出力する。また、プロセス１４は、処理の実行により発生したイベント等のログとプロセスを識別するプロセス番号等の識別情報とを、コンテナ管理部１５を介してログデータベース３４に格納する。なお、ログおよびプロセス番号等の識別情報は、プロセス１４を修正することなく、既存のロガーにより出力可能である。
【００６０】
プロセス１４からリクエストを受信した送信部１３は、リクエストを識別する識別情報をリクエストに付加して他のコンテナサーバ１０のロードバランサ４１に送信する。また、プロセス１４からリクエストを受信した送信部１３は、送受信するリクエストに対応する識別情報を、コンテナ管理部１５を介して送信部データベース３３に格納する。一方、プロセス１４からレスポンスを受信した送信部１３は、リクエストの発行元にレスポンスを送信する。コンテナサーバ１０の動作の例は、図１４に示される。
【００６１】
コンテナ管理部１５は、受信部１２から受信した識別情報を受信部データベース３２に格納し、送信部１３から受信した識別情報を送信部データベース３３に格納する。コンテナ管理部１５は、プロセス１４から受信したログおよび識別情報をログデータベース３４に格納する。コンテナ管理部１５によりログデータベース３４の書き込みを制御することで、プロセス１４（アプリケーションプログラム）を修正することなく、プロセス１４から出力されるログおよび識別情報をログデータベース３４に格納することができる。これに対して、プロセス１４がログおよび識別情報をログデータベース３４に直接格納する場合、各プロセス１４は、ログデータベース３４のデータ構造を認識するために修正されるため、汎用性が失われ、マイクロサービスの可用性および可搬性が失われてしまう。
【００６２】
さらに、コンテナ管理部１５は、リクエストに対応する処理を実行するコンテナサーバ１０の負荷が増大した場合、新たなコンテナ１１を作成し、リクエストに対応する処理を実行するコンテナサーバ１０の負荷が減少した場合、コンテナ１１を削除する。また、コンテナ管理部１５は、コンテナ１１を作成した場合、コンテナ１１の作成履歴を示すコンテナ情報をコンテナ作成履歴データベース３５に格納する。コンテナ管理部１５の動作の例は、図１５に示される。
【００６３】
管理サーバ２０のログ抽出部２１は、ログの抽出リクエストに基づいて、ストレージサーバ３０に格納された情報を参照し、ログを抽出し、抽出したログを抽出リスト２２に書き込む。抽出リスト２２は、管理サーバ２０に搭載されるメモリ６３またはＨＤＤ６４等の記憶領域に生成される。例えば、管理サーバ２０は、情報処理システム１０２のシステム管理者等による管理サーバ２０の操作に基づいてログの抽出リクエストを発行する。ログの抽出リクエストを受信したログ抽出部２１が実行するログの抽出動作の例は、図１６に示される。
【００６４】
図８は、図７に示すロードバランサデータベース３１、受信部データベース３２、送信部データベース３３およびログデータベース３４に格納される情報の一例を示す。
【００６５】
ロードバランサデータベース３１は、識別情報ＩＰ（ｆｒｏｍ）、ＲＥＱ−ＩＤ、ＬＢ−ＩＰ、ＣＯＮＴ−ＩＰ（ｔｏ）、ＦＵＮＣ、ＬＢ−ＴＩＭＥを記憶する複数の分配部用エントリを有する。識別情報ＩＰ（ｆｒｏｍ）は、各ロードバランサ４１にリクエストを送信したユーザ端末５４またはコンテナ１１のＩＰアドレスを示す。識別情報ＲＥＱ−ＩＤは、送信部１３がリクエストに付加したリクエスト番号を示す。以下では、識別情報ＩＰ（ｆｒｏｍ）は、ＩＰアドレスＩＰ（ｆｒｏｍ）とも称され、識別情報ＲＥＱ−ＩＤは、クエスト番号ＲＥＱ−ＩＤとも称される。
【００６６】
リクエスト番号ＲＥＱ−ＩＤは、コンテナ１１毎に固有であるが、複数のコンテナ１１間では重複する可能性がある。有効な識別情報が保持された分配部用エントリのうちリクエスト番号ＲＥＱ−ＩＤを記憶するエントリは、ロードバランサ４１がコンテナ１１の送信部１３からのリクエストに基づいて識別情報を格納したことを示す。有効な識別情報が保持された分配部用エントリのうちリクエスト番号ＲＥＱ−ＩＤを記憶しない分配部用エントリは、ロードバランサ４１がユーザ端末５４からのリクエストに基づいて識別情報を格納したことを示す。
【００６７】
ＩＰアドレスＬＢ−ＩＰは、分配部用エントリに識別情報を格納したロードバランサ４１のＩＰアドレスを示す。ＩＰアドレスＣＯＮＴ−ＩＰ（ｔｏ）は、分配部用エントリに識別情報を格納したロードバランサ４１がリクエストを出力したコンテナ１１のＩＰアドレスを示す。識別情報ＦＵＮＣは、分配部用エントリに識別情報を格納したロードバランサ４１を含むコンテナサーバ１０が実行する機能を示す。以下では、識別情報ＦＵＮＣは、機能ＦＵＮＣとも称される。
【００６８】
例えば、機能ＦＵＮＣの欄には、ユーザインタフェースを示す”ＵＩ”、アカウント管理を示す”ＡＣＣＮＴ”、グラフ描画を示す”ＧＤＲＷ”、グラフデータの作成を示す”ＧＧＥＮ”またはデータ管理を示す”ＤＡＴＡＭ”のいずれが格納される。格納される情報は、文字列でもよく、コードでもよい。識別情報ＬＢ−ＴＩＭＥは、各ロードバランサ４１がコンテナ１１にリクエストを出力した時刻を示す。以下では、識別情報ＬＢ−ＴＩＭＥは、時刻ＬＢ−ＴＩＭＥとも称される。
【００６９】
受信部データベース３２は、識別情報ＬＢ−ＩＰ（ｆｒｏｍ）、ＣＯＮＴ−ＩＰ、ＲＥＱ−ＩＤ、ＮＤ−ＩＤ、ＣＯＮＴ−ＩＤ、ＰＩＤ（ｔｏ）、ＲＳＶ−ＴＩＭＥを記憶する複数の受信部用エントリを有する。以下では、識別情報ＲＳＶ−ＴＩＭＥは、時刻ＲＳＶ−ＴＩＭＥとも称される。ＩＰアドレスＬＢ−ＩＰ（ｆｒｏｍ）は、受信部１２にリクエストを出力したロードバランサ４１を示す。ＩＰアドレスＣＯＮＴ−ＩＰは、リクエストを受信した受信部１２を含むコンテナ１１を示す。リクエスト番号ＲＥＱ−ＩＤは、受信部１２が受信したリクエストを示す。ノード番号ＮＤ−ＩＤは、リクエストを受信した受信部１２を含むコンテナサーバ１０を示す。コンテナ番号ＣＯＮＴ−ＩＤは、リクエストを受信した受信部１２を含むコンテナ１１を示す。プロセス番号ＰＩＤ（ｔｏ）は、リクエストを受信した受信部１２がリクエストを出力するプロセス１４を示す。時刻ＲＳＶ−ＴＩＭＥは、リクエストを受信した受信部１２がリクエストに対応する処理の実行をプロセス１４に指示した時刻を示す。
【００７０】
送信部データベース３３は、識別情報ＰＩＤ（ｆｒｏｍ）、ＮＤ−ＩＤ、ＣＯＮＴ−ＩＤ、ＣＯＮＴ−ＩＰ、ＲＥＱ−ＩＤ、ＴＲＳ−ＴＩＭＥを記憶する複数の送信部用エントリを有する。以下では、識別情報ＴＲＳ−ＴＩＭＥは、時刻ＴＲＳ−ＴＩＭＥとも称される。プロセス番号ＰＩＤ（ｆｒｏｍ）は、送信部１３にリクエストを出力したプロセス１４を示す。ノード番号ＮＤ−ＩＤは、リクエストを受信した送信部１３を含むコンテナサーバ１０を示す。コンテナ番号ＣＯＮＴ−ＩＤは、リクエストを受信した送信部１３を含むコンテナ１１を示す。ＩＰアドレスＣＯＮＴ−ＩＰは、リクエストを受信した送信部１３を含むコンテナ１１を示す。リクエスト番号ＲＥＱ−ＩＤは、送信部１３がリクエストに付加する。時刻ＴＲＳ−ＴＩＭＥは、リクエストを受信した送信部１３がリクエストを他のコンテナサーバ１０に出力した時刻を示す。
【００７１】
ログデータベース３４は、ノード番号ＮＤ−ＩＤ、コンテナ番号ＣＯＮＴ−ＩＤ、プロセス番号ＰＩＤ、ログＬＯＧおよび時刻ＬＯＧ−ＴＩＭＥを識別情報として記憶する複数のログ用エントリを有する。ログＬＯＧは、プロセス１４による処理の実行中に発生したイベント等の情報を含む。時刻ＬＯＧ−ＴＩＭＥは、ログデータベース３４に格納する識別情報をプロセス１４が出力した時刻を示す。
【００７２】
ロードバランサデータベース３１が保持するＩＰアドレスＩＰ（ｆｒｏｍ）は、リクエストの送信元を識別する送信元識別情報の一例である。ロードバランサデータベース３１、受信部データベース３２および送信部データベース３３が保持するリクエスト番号ＲＥＱ−ＩＤは、プロセス１４が生成し、送信部１３が送信するリクエストを識別するリクエスト識別情報の一例である。ロードバランサデータベース３１が保持するＩＰアドレスＬＢ−ＩＰおよび受信部データベース３２が保持するＩＰアドレスＬＤ−ＩＰ（ｆｒｏｍ）は、ロードバランサ４１を識別する分配部識別情報の一例である。
【００７３】
ロードバランサデータベース３１が保持するＩＰアドレスＣＯＮＴ−ＩＰ（ｔｏ）は、リクエストの送信先のコンテナ１１を識別する送信先識別情報の一例である。受信部データベース３２が保持するＩＰアドレスＣＯＮＴ−ＩＰは、リクエストを受信した受信部１２を識別する受信部識別情報の一例である。送信部データベース３３が保持するＩＰアドレスＣＯＮＴ−ＩＰは、リクエストを送信した送信部１３を識別する送信部識別情報の一例である。
【００７４】
ログデータベース３４が保持するノード番号ＮＤ−ＩＤ、コンテナ番号ＣＯＮＴ−ＩＤおよびプロセス番号ＰＩＤは、プロセス１４が生成したプロセスを識別するプロセス識別情報の一例である。受信部データベース３２が保持するノード番号ＮＤ−ＩＤ、コンテナ番号ＣＯＮＴ−ＩＤおよびプロセス番号ＰＩＤ（ｔｏ）は、プロセス１４が生成したプロセスを識別するプロセス識別情報の一例である。送信部データベース３３が保持するプロセス番号ＰＩＤ（ｆｒｏｍ）、ノード番号ＮＤ−ＩＤおよびコンテナ番号ＣＯＮＴ−ＩＤは、プロセス１４が生成したプロセスを識別するプロセス識別情報の一例である。
【００７５】
なお、以降の説明では、ロードバランサデータベース３１はＬＢ−ＤＢとも称され、受信部データベース３２はＲＳＶ−ＤＢとも称され、送信部データベース３３はＴＲＳ−ＤＢとも称され、ログデータベース３４はＬＯＧ−ＤＢとも称される。
【００７６】
図９は、図４に示す情報処理システム１０２内でのリクエストの流れと、ストレージサーバ３０に格納される情報との一例を示す。図９では、ユーザ端末５４から発行されたユーザリクエストがユーザインタフェース用のコンテナサーバ１０−１に転送される（図９（ａ））。コンテナサーバ１０−１において、ロードバランサ４１、受信部１２、プロセス１４にリクエストが順次転送され、プロセス１４が生成した次のリクエストが送信部１３に転送される（図９（ａ）、（ｂ）、（ｃ）、（ｄ））。ロードバランサ４１、受信部１２、プロセス１４および送信部１３は、図８で説明した識別情報をストレージサーバ３０に格納する（図９（ｅ）、（ｆ）、（ｇ）、（ｈ））。プロセス１４は、識別情報とともにログＬＯＧをストレージサーバ３０に格納する。
【００７７】
コンテナサーバ１０−１の送信部１３は、リクエスト番号ＲＥＱ−ＩＤを付加したリクエストを、例えば、アカウント管理用のコンテナサーバ１０−２に送信する（図９（ｉ））。コンテナサーバ１０−２において、ロードバランサ４１、受信部１２およびプロセス１４にリクエストが順次転送され、ロードバランサ４１、受信部１２は、識別情報をストレージサーバ３０に格納する（図９（ｊ）、（ｋ）、（ｌ）、（ｍ））。プロセス１４の実行中にエラーが発生し、プロセス１４は、エラーを示すログＬＯＧ（ＥＲＲ）を、識別情報とともにストレージサーバ３０に格納する（図９（ｎ））。コンテナサーバ１０−２で実行されるプロセス１４でエラーが発生したため、ユーザリクエストに基づく処理は中断する。
【００７８】
ユーザリクエストに基づく処理が中断した後、情報処理システム１０２のシステム管理者等は、中断した原因を解析するため管理サーバ２０を操作し、管理サーバ２０にログの抽出リクエストを発行させる。ログ抽出部２１は、ログの抽出リクエストに基づいて、ストレージサーバ３０に格納された識別情報を参照し、ユーザリクエストの発行からエラーが発生した処理までにストレージサーバ３０に格納されたログＬＯＧを抽出する。
【００７９】
まず、ログ抽出部２１は、ＬＯＧ−ＤＢにおいて、抽出リクエストで指定されるログＬＯＧ（ＥＲＲ）を含むログ用エントリに含まれるノード番号ＮＤ−ＩＤ、コンテナ番号ＣＯＮＴ−ＩＤおよびプロセス番号ＰＩＤを参照する。ログ抽出部２１は、参照したノード番号ＮＤ−ＩＤ、コンテナ番号ＣＯＮＴ−ＩＤおよびプロセス番号ＰＩＤと同じ識別情報を含む受信部用エントリをＲＳＶ−ＤＢから検索する（図９（ｏ））。ログ抽出部２１は、検索により特定した受信部用エントリに格納された時刻ＲＳＶ−ＴＩＭＥを、エラーが発生したプロセス１４が生成された時刻として検出する。そして、ログ抽出部２１は、検出した時刻以降にＬＯＧ−ＤＢに格納されたログＬＯＧの中からエラーが発生したプロセス１４が格納した抽出対象のログＬＯＧを抽出し、抽出したログＬＯＧを図７に示す抽出リスト２２に書き込む。
【００８０】
次に、ログ抽出部２１は、検索により特定した受信部用エントリに格納されたＩＰアドレスＬＢ−ＬＰ（ｆｒｏｍ）、ＣＯＮＴ−ＩＰおよびリクエスト番号ＲＥＱ−ＩＤを参照する。ログ抽出部２１は、ＬＢ−ＤＢを検索し、参照したＩＰアドレスＬＢ−ＬＰ（ｆｒｏｍ）、ＣＯＮＴ−ＩＰおよびリクエスト番号ＲＥＱ−ＩＤと同じ識別情報を含む分配部用エントリを特定する（図９（ｐ））。なお、検索により特定した受信部用エントリにリクエスト番号ＲＥＱ−ＩＤが格納されている場合、ログ抽出部２１は、ＩＰアドレスＬＢ−ＬＰ（ｆｒｏｍ）、ＣＯＮＴ−ＩＰだけでなく、リクエスト番号ＲＥＱ−ＩＤを参照して、分配部用エントリを検索してもよい。
【００８１】
検索により特定した分配部用エントリにリクエスト番号ＲＥＱ−ＩＤが格納されている場合、ロードバランサ４１にリクエストを発行したコンテナサーバ１０（すなわち、他のコンテナサーバ１０の送信部１３）が存在する。このため、ログ抽出部２１は、検索により特定した分配部用エントリに格納されたＩＰアドレスＩＰ（ｆｒｏｍ）およびリクエスト番号ＲＥＱ−ＩＤと同じ識別情報を含む送信部用エントリを、ＴＲＳ−ＤＢから特定する（図９（ｑ））。
【００８２】
次に、ログ抽出部２１は、ＴＲＳ−ＤＢから特定した送信部用エントリに含まれるプロセス番号ＰＩＤ（ｆｒｏｍ）、ノード番号ＮＤ−ＩＤおよびコンテナ番号ＣＯＮＴ−ＩＤを参照する。ログ抽出部２１は、図９（ｏ）と同様に、ＲＳＶ−ＤＢを検索し、参照したプロセス番号ＰＩＤ（ｆｒｏｍ）、ノード番号ＮＤ−ＩＤおよびコンテナ番号ＣＯＮＴ−ＩＤと同じ識別情報を含む受信部用エントリを特定する（図９（ｒ））。
【００８３】
ログ抽出部２１は、検索により特定した受信部用エントリに格納された時刻ＲＳＶ−ＴＩＭＥを、コンテナサーバ１０−１の送信部１３にリクエストを出力したプロセス１４が生成された時刻として検出する。そして、ログ抽出部２１は、検出した時刻以降にＬＯＧ−ＤＢに格納されたログＬＯＧの中からコンテナサーバ１０−１のプロセス１４が格納した抽出対象のログＬＯＧを抽出し、抽出したログＬＯＧを抽出リスト２２に書き込む。
【００８４】
次に、ログ抽出部２１は、検索により特定した受信部用エントリに格納されたＩＰアドレスＬＢ−ＬＰ（ｆｒｏｍ）およびＣＯＮＴ−ＩＰを参照する。ログ抽出部２１は、図９（ｐ）と同様に、ＬＢ−ＤＢを検索し、参照したＩＰアドレスＬＢ−ＬＰ（ｆｒｏｍ）およびＣＯＮＴ−ＩＰと同じ識別情報を含む分配部用エントリを特定する（図９（ｓ））。
【００８５】
検索により特定した分配部用エントリにリクエスト番号ＲＥＱ−ＩＤが格納されていない場合、ロードバランサ４１が受信したリクエストは、ユーザ端末５４から発行されたユーザリクエストである。この場合、ログ抽出部２１は、検索によるログＬＯＧの抽出動作を終了する。
【００８６】
図９に示すように、複数のコンテナ１１にプロセス１４を順次実行させることで、ユーザリクエストに対応する処理を実行する場合にも、ログ抽出部２１は、ユーザリクエストに対応してストレージサーバ３０に格納された一連のログを取得することができる。
【００８７】
図１０は、図４に示す情報処理システム１０２の動作の一例を示す。図１０に示す例では、情報処理システム１０２は、ユーザによるユーザ端末５４の操作に基づいて、ストレージサーバ３０等に保存してあるデータを使用してユーザ端末５４の画面にグラフを表示する。
【００８８】
まず、ユーザ端末５４は、ユーザによるログイン操作に基づいて、ログインリクエスト（ユーザリクエスト）を発行する（図１０（ａ））。ログインリクエストは、図４に示すユーザネットワーク５２を介してコンテナサーバ１０−１に届く。コンテナサーバ１０−１のロードバランサ４１は、ログインリクエストに対応するログイン処理を実行させるコンテナ１１にログインリクエストを送信し、ログインリクエストに対応する識別情報を、コンテナ管理部１５を介してＬＢ−ＤＢに格納する。ここで、ログインリクエストおよび他のリクエストは、例えば、ＨＴＴＰ（Hyper Text Transfer Protocol）に基づくパケットを使用して送受信され、送信元のＩＰアドレスは、パケットのヘッダに格納される。また、ログインリクエストの認証に使用されるユーザＩＤおよびパスワードは、パケットのボディに格納される。
【００８９】
ログインリクエストを受信したロードバランサ４１がＬＢ−ＤＢに格納する識別情報の例は、図１１の分配部用エントリ（ａ１）に示される。すなわち、ログインリクエストを受信したロードバランサ４１は、ユーザ端末５４のＩＰアドレスＩＰ（ｆｒｏｍ）（＝１０．ｘ．ｘ．ｘ）と自身のＩＰアドレスＬＤ−ＩＰとをＬＢ−ＤＢに格納する。また、ロードバランサ４１は、ログインリクエストを出力するコンテナ１１のＩＰアドレスＣＯＮＴ−ＩＰ（ｔｏ）とコンテナサーバ１０−１の機能ＦＵＮＣ（＝ＵＩ）とをＬＢ−ＤＢに格納する。さらに、ロードバランサ４１は、コンテナ１１にログインリクエストを出力した時刻ＬＢ−ＴＩＭＥをＬＢ−ＤＢに格納する。なお、図１１では、時刻ＬＢ−ＴＩＭＥ、ＲＳＶ−ＴＩＭＥ、ＴＲＳ−ＴＩＭＥ、ＬＯＧ−ＴＩＭＥは、”時分秒”のみを示し、”年月日”は省略される。
【００９０】
ログインリクエストを受信した受信部１２は、ログイン処理を実行させるプロセス１４を生成し、ログインリクエストに対応する識別情報を、コンテナ管理部１５を介してＲＳＶ−ＤＢに格納する。ログインリクエストを受信した受信部１２がＲＳＶ−ＤＢに格納する識別情報の例は、図１１の受信部用エントリ（ａ２）に示される。
【００９１】
すなわち、ログインリクエストを受信した受信部１２は、ログインリクエストを出力したロードバランサ４１のＩＰアドレスＬＤ−ＩＰ（ｆｒｏｍ）と自身を含むコンテナ１１のＩＰアドレスＣＯＮＴ−ＩＰとをＲＳＶ−ＤＢに格納する。また、受信部１２は、自身を含むコンテナサーバ１０−１のノード番号ＮＤ−ＩＤと自身を含むコンテナ１１のコンテナ番号ＣＯＮＴ−ＩＤとログイン処理を実行させるプロセス１４のプロセス番号ＰＩＤ（ｔｏ）とをＲＳＶ−ＤＢに格納する。さらに、受信部１２は、ログインリクエストに対応する処理の実行をプロセス１４に指示した時刻ＲＳＶ−ＴＩＭＥをＲＳＶ−ＤＢに格納する。
【００９２】
プロセス１４は、ログインリクエストに対応する処理を開始し、ユーザ認証リクエストを送信部１３に出力し、プロセス１４を識別する識別情報とログとをコンテナ管理部１５を介してＬＯＧ−ＤＢに格納する。そして、プロセス１４は、ユーザ認証リクエストに対応するレスポンスを待つ。ログインリクエストに対応する処理を実行するプロセス１４がＬＯＧ−ＤＢに格納する識別情報およびログの例は、図１１のログ用エントリ（ａ３）、（ａ４）に示される。すなわち、プロセス１４は、自身が属するノード番号ＮＤ−ＩＤおよびコンテナ番号ＣＯＮＴ−ＩＤと、プロセス番号ＰＩＤとログＬＯＧとをＬＯＧ−ＤＢに格納する。また、プロセス１４は、識別情報とログとをＬＯＧ−ＤＢに格納する時刻ＬＯＧ−ＴＩＭＥをＬＯＧ−ＤＢに格納する。
【００９３】
ユーザ認証リクエストを受信した送信部１３は、ユーザ認証リクエストに対応する識別情報を、コンテナ管理部１５を介してＴＲＳ−ＤＢに格納する。また、送信部１３は、ユーザ認証リクエストを識別するリクエスト番号ＲＥＱ−ＩＤを生成し、生成したリクエスト番号ＲＥＱ−ＩＤを付加したユーザ認証リクエストをアカウント管理用のコンテナサーバ１０−２に送信する（図１０（ｂ））。リクエスト番号ＲＥＱ−ＩＤを他のコンテナサーバ１０に送信する場合、リクエスト番号ＲＥＱ−ＩＤは、例えば、ＨＴＴＰに基づくパケットのヘッダに格納される。ユーザ認証リクエストを受信した送信部１３がＴＲＳ−ＤＢに格納する識別情報の例は、図１１の送信部用エントリ（ａ５）に示される。
【００９４】
すなわち、送信部１３は、ユーザ認証リクエストを出力したプロセス１４のプロセス番号ＰＩＤ（ｆｒｏｍ）と、自身を含むコンテナサーバ１０−１のノード番号ＮＤ−ＩＤと、自身を含むコンテナ１１のコンテナ番号ＣＯＮＴ−ＩＤをＴＲＳ−ＤＢに格納する。また、送信部１３は、自身を含むコンテナ１１のＩＰアドレスＣＯＮＴ−ＩＰと、新たに生成したリクエスト番号ＲＥＱ−ＩＤとをＴＲＳ−ＤＢに格納する。さらに、送信部１３は、ユーザ認証リクエストをコンテナサーバ１０−２に送信した時刻ＴＲＳ−ＴＩＭＥをＴＲＳ−ＤＢに格納する。
【００９５】
ユーザ認証リクエストを受信したコンテナサーバ１０−２のロードバランサ４１は、ユーザ認証リクエストに対応する認証処理を実行させるコンテナ１１にユーザ認証リクエストを出力する。また、ロードバランサ４１は、ユーザ認証リクエストに対応する識別情報を、コンテナ管理部１５を介してＬＢ−ＤＢに格納する。ユーザ認証リクエストを受信したロードバランサ４１がＬＢ−ＤＢに格納する識別情報の例は、図１１の分配部用エントリ（ｂ１）に示される。ここで、ユーザ認証リクエストがリクエスト番号ＲＥＱ−ＩＤを含む場合、識別情報としてリクエスト番号ＲＥＱ−ＩＤ（＝”ａ”）がＬＢ−ＤＢに格納される。
【００９６】
ユーザ認証リクエストを受信した受信部１２は、認証処理を実行するプロセス１４を生成し、ユーザ認証リクエストに対応する識別情報を、コンテナ管理部１５を介してＲＳＶ−ＤＢに格納する。ユーザ認証リクエストを受信した受信部１２がＲＳＶ−ＤＢに格納する識別情報の例は、図１１の受信部用エントリ（ｂ２）に示される。
【００９７】
プロセス１４は、ユーザ認証リクエストに対応する処理を開始し、アカウント情報参照リクエストを生成して送信部１３に出力し、識別情報とログとをコンテナ管理部１５を介してＬＯＧ−ＤＢに格納する。そして、プロセス１４は、アカウント情報参照リクエストに対応するレスポンスを待つ。ユーザ認証リクエストに対応する処理を実行するプロセス１４がＬＯＧ−ＤＢに格納する識別情報とログとの例は、図１１のログ用エントリ（ｂ３）に示される。
【００９８】
アカウント情報参照リクエストを受信した送信部１３は、アカウント情報参照リクエストに対応する識別情報を、コンテナ管理部１５を介してＴＲＳ−ＤＢに格納し、アカウント情報参照リクエストをデータ管理用のコンテナサーバ１０−５に送信する（図１０（ｃ））。アカウント情報参照リクエストを受信した送信部１３がＴＲＳ−ＤＢに格納する識別情報の例は、図１１の送信部用エントリ（ｂ４）に示される。
【００９９】
アカウント情報参照リクエストを受信したコンテナサーバ１０−５のロードバランサ４１は、アカウント情報参照リクエストに対応するデータ参照処理を実行させるコンテナ１１にアカウント情報参照リクエストを出力する。また、ロードバランサ４１は、アカウント情報参照リクエストに対応する識別情報を、コンテナ管理部１５を介してＬＢ−ＤＢに格納する。アカウント情報参照リクエストを受信したコンテナサーバ１０−５のロードバランサ４１がＬＢ−ＤＢに格納する識別情報の例は、図１１の分配部用エントリ（ｃ１）に示される。
【０１００】
アカウント情報参照リクエストを受信したコンテナサーバ１０−５のコンテナ１１の受信部１２は、データ参照処理を実行するプロセス１４を生成し、アカウント情報参照リクエストに対応する識別情報を、コンテナ管理部１５を介してＲＳＶ−ＤＢに格納する。アカウント情報参照リクエストを受信した受信部１２がＲＳＶ−ＤＢに格納する識別情報の例は、図１１の受信部用エントリ（ｃ２）に示される。
【０１０１】
プロセス１４は、アカウント情報参照リクエストに対応する処理を開始し、アカウント情報参照リクエストに対応するアカウント情報（レスポンス）を生成して送信部１３に出力する。また、プロセス１４は、識別情報とログとをコンテナ管理部１５を介してＬＯＧ−ＤＢに格納する。アカウント情報参照リクエストに対応する処理を実行するプロセス１４がＬＯＧ−ＤＢに格納する識別情報とログとの例は、図１１のログ用エントリ（ｃ３）に示される。
【０１０２】
アカウント情報を受信したコンテナサーバ１０−５のコンテナ１１の送信部１３は、アカウント情報をコンテナサーバ１０−２に送信する（図１０（ｄ））。なお、送信部１３は、アカウント情報等のレスポンスを他のコンテナサーバ１０に送信する場合、識別情報をＴＲＳ−ＤＢに格納しない。
【０１０３】
ここで、図１０にＸ印で示すように、コンテナサーバ１０−２とコンテナサーバ１０−５間の通信路等の一時的な故障により、コンテナサーバ１０−５から送信されたアカウント情報（レスポンス）は、コンテナサーバ１０−２に届かない（図１０（ｅ））。このため、コンテナサーバ１０−２において、ロードバランサ４１およびアカウント情報参照リクエストを出力したコンテナ１１の受信部１２は、アカウント情報（レスポンス）を受信しない。
【０１０４】
コンテナサーバ１０−２においてアカウント情報参照リクエストを生成したプロセス１４は、規定された時間内にアカウント情報（レスポンス）を受信しないため、ログインリクエストに対応する認証処理を中断する。プロセス１４は、プロセス１４の識別情報と認証処理が失敗したことを示すログＬＯＧとを、コンテナ管理部１５を介してログデータベース３４に格納する。認証処理を中断したプロセス１４がログデータベース３４に格納する識別情報とログとの例は、図１１のログ用エントリ（ｄ１）、（ｄ２）に示される。図１１のログ用エントリ（ｄ１）において、ログＬＯＧの欄に格納された”ＥＲＲ”は、規定された時間内にアカウント情報（レスポンス）を受信しないためにログインリクエストに対応する認証処理を中断したことを示す。
【０１０５】
そして、プロセス１４は、送信部１３を介して認証の失敗を示すレスポンスをユーザインタフェース用のコンテナサーバ１０−１に出力する（図１０（ｆ））。なお、プロセス１４は、アカウント情報（レスポンス）を正常に受信した場合、アカウント情報（レスポンス）に基づいて、ユーザ認証リクエストが正しいかを確認し、確認結果を示すレスポンスをユーザインタフェース用のコンテナサーバ１０−１に出力する。
【０１０６】
コンテナサーバ１０−１において、ユーザ認証リクエストを生成したプロセス１４は、ロードバランサ４１および受信部１２を介して認証の失敗を示すレスポンスを受信する。プロセス１４は、ログインの失敗を示すレスポンスを、送信部１３を介してログインリクエストを発行したユーザ端末５４に出力する（図１０（ｇ））。なお、ロードバランサ４１は、他のコンテナサーバ１０からアカウント情報等のレスポンスを受信した場合、識別情報をロードバランサデータベース３１に格納しない。同様に、受信部１２は、他のコンテナサーバ１０からアカウント情報等のレスポンスを受信した場合、識別情報を受信部データベース３２に格納しない。
【０１０７】
コンテナサーバ１０−１のプロセス１４は、ログインリクエストに対応するレスポンスでは、ログインの完了または失敗を示す表示データをユーザ端末５４に出力する。ユーザ端末５４は、ログインの完了または失敗を示す表示データを表示装置に表示する。図１０に示す例では、ログインの失敗は、ユーザの入力ミスではなく、通信路等の一時的な故障により発生する。この場合、ユーザ端末５４の表示装置には、例えば、”500 Internal Server Error”が表示される。表示装置を見たユーザは、例えば、情報処理システム１０２のシステム管理者に問い合わせる。問い合わせを受けたシステム管理者は、管理サーバ２０を操作し、ログデータベース３４に保持された情報からエラーログを見つけ、ログの抽出リクエストをログ抽出部２１に発行する。ログの抽出リクエストを受信したログ抽出部２１が実行するログの抽出動作の例は、図１６に示される。
【０１０８】
図１０の下側にかぎ括弧で囲った動作は、ログインリクエストの認証が成功し、ログインが完了した後、ユーザ端末５４の画面にグラフを表示する例を示す。各コンテナサーバ１０−１、１０−２、１０−３、１０−４、１０−５において、ログインリクエストに対応する動作と同様の動作については、説明が省略される。すなわち、ロードバランサ４１は、ユーザ端末５４または他のコンテナサーバ１０からリクエストを受信した場合、受信したリクエストを処理させるコンテナ１１にリクエストを出力し、リクエストに対応する識別情報をロードバランサデータベース３１に格納する。受信部１２は、リクエストの受信に基づいてプロセス１４を生成し、リクエストに対応する識別情報をＲＳＶ−ＤＢに格納する。
【０１０９】
プロセス１４は、リクエストに基づいて処理を開始し、新たなリクエストを生成する場合、新たなリクエストを送信部１３に出力し、処理の実行を示すログＬＯＧおよび識別情報をＬＯＧ−ＤＢに格納する。送信部１３は、プロセス１４から新たなリクエストを受信した場合、新たなリクエストに対応する識別情報をＴＲＳ−ＤＢに格納し、新たなリクエストをコンテナサーバ１０−２に送信する
まず、ユーザ端末５４は、ユーザによる操作に基づいて、ストレージサーバ３０等が保持する商品の売り上げデータを使用して、月ごとの売り上げの推移を示すグラフを表示させるグラフ表示リクエストを発行する（図１０（ｈ））。グラフ表示リクエストを受信したコンテナサーバ１０−１のコンテナ１１は、ログイン状態を確認するため、グラフ表示リクエストとともにユーザ認証リクエストをコンテナサーバ１０−２に出力する（図１０（ｉ））。コンテナサーバ１０−２のコンテナ１１は、ログイン状態を確認した後、ユーザ端末５４にグラフを表示させるグラフデータを取得するため、グラフ表示リクエストに対応するグラフ描画リクエストをコンテナサーバ１０−３に出力する（図１０（ｊ））。
【０１１０】
グラフ描画リクエストを受信したコンテナサーバ１０−３のコンテナ１１は、グラフの描画に使用するグラフ描画用データを取得するため、グラフ描画用データの作成リクエストをコンテナサーバ１０−４に出力する（図１０（ｋ））。グラフ描画用データの作成リクエストを受信したコンテナサーバ１０−４のコンテナ１１は、グラフの描画に使用するデータを取得するため、グラフ用データの参照リクエストをコンテナサーバ１０−５に出力する（図１０（ｌ））。グラフ用データの参照リクエストを受信したコンテナサーバ１０−５のコンテナ１１は、ストレージサーバ３０等からグラフへの表示対象の売り上げデータ（フラグ用の数値データ）を読み出す。そして、コンテナサーバ１０−５のコンテナ１１は、読み出した数値データを参照リクエストのレスポンスとしてコンテナサーバ１０−４に出力する（図１０（ｍ））。
【０１１１】
コンテナサーバ１０−４のコンテナ１１は、受信した数値データを使用してグラフ描画用データを作成する（図１０（ｎ））。コンテナサーバ１０−４のコンテナ１１は、作成したグラフ描画用データを、グラフ描画用データの作成リクエストのレスポンスとしてコンテナサーバ１０−３に出力する（図１０（ｏ））。コンテナサーバ１０−３のコンテナ１１は、受信したグラフ描画用データを使用して、ユーザ端末５４の画面にプロットさせるグラフデータを作成する（図１０（ｐ））。コンテナサーバ１０−３のコンテナ１１は、作成したグラフデータをグラフ描画リクエストのレスポンスとしてコンテナサーバ１０−２に出力する（図１０（ｑ））。
【０１１２】
コンテナサーバ１０−２のコンテナ１１は、受信したグラフデータをグラフ表示リクエストのレスポンスとしてコンテナサーバ１０−１に出力する（図１０（ｒ））。コンテナサーバ１０−１のコンテナ１１は、受信したグラフデータを、ユーザ端末５４の画面に表示させるため、グラフ表示リクエストのレスポンスとしてユーザ端末５４に出力する（図１０（ｓ））。そして、ユーザ端末５４は、グラフデータを画面に表示する。
【０１１３】
図１１は、図１０に示すログインリクエストに対応する認証処理において、各コンテナサーバ１０がストレージサーバ３０に格納する情報の一例を示す。図１１において、ロードバランサデータベース３１、受信部データベース３２、送信部データベース３３、ログデータベース３４のエントリの左側に示す（ａ１）、（ｂ１）、（ｃ１）等の符号は、図１０の説明との対応を示す。エントリの右側に示す”ログイン”、”アカウント管理”、”データ管理”は、図１０で説明したログインリクエストに基づく認証処理において、情報を格納するコンテナサーバ１０の種別を示す。また、図１１では、時刻ＬＢ−ＴＩＭＥ、ＲＳＶ−ＴＩＭＥ、ＴＲＳ−ＴＩＭＥ、ＬＯＧ−ＴＩＭＥは、”時分秒”のみを示し、”年月日”は省略される。
【０１１４】
図１２は、図７に示すコンテナ作成履歴データベース３５に格納される情報の一例を示す。各コンテナサーバ１０のコンテナ管理部１５は、コンテナ１１を作成する毎に、ノード番号ＮＤ−ＩＤ、コンテナ番号ＣＯＮＴ−ＩＤおよび時刻ＨＩＳＴ−ＴＩＭＥをコンテナ作成履歴データベース３５に格納する。ノード番号ＮＤ−ＩＤおよびコンテナ番号ＣＯＮＴ−ＩＤにより、作成されたコンテナサーバ１０が識別される。図１２では、時刻ＨＩＳＴ−ＴＩＭＥは、”時分秒”のみを示し、”年月日”は省略される。
【０１１５】
図１２に示す例は、時刻９：００：００（９時０分０秒）に、コンテナサーバ１０−２にコンテナ番号ＣＯＮＴ−ＩＤ＝”２１”、”２２”の２つのコンテナ１１が生成され、コンテナサーバ１０−１にコンテナ番号ＣＯＮＴ−ＩＤ＝”１１”、”１２”の２つのコンテナ１１が生成されたことを示す。また、時刻９：０２：００に、コンテナサーバ１０−５にコンテナ番号ＣＯＮＴ−ＩＤ＝”５２”のコンテナ１１が生成されたことを示す。以下では、コンテナ作成履歴データベース３５は、ＨＩＳＴ−ＤＢとも称される。
【０１１６】
図１３は、図４に示すロードバランサ４１の動作の一例を示す。すなわち、図１３は、情報処理システム１０２の制御方法の一例を示す。図１３に示す動作は、所定の頻度で繰り返し実行される。
【０１１７】
まず、ステップＳ１０において、ロードバランサ４１は、ユーザ端末５４または他のコンテナサーバ１０からリクエストを受信した場合、処理をステップＳ１２に移行し、リクエストを受信しない場合、処理を終了する。ステップＳ１２において、ロードバランサ４１は、リクエストに対応する処理を実行させるコンテナ１１を決定し、決定したコンテナ１１にリクエストを出力する。ロードバランサ４１が出力するリクエストは、コンテナ１１の受信部１２により受信される。次に、ステップＳ１４において、ロードバランサ４１は、リクエストに対応する識別情報をＬＢ−ＤＢに格納し、処理を終了する。
【０１１８】
図１４は、図４に示す各コンテナサーバ１０の動作の一例を示す。すなわち、図１４は、情報処理システム１０２の制御方法の一例および情報処理システム１０２の制御プログラムの一例を示す。図１４に示す動作は、所定の頻度で繰り返し実行される。
【０１１９】
まず、ステップＳ２０において、コンテナサーバ１０のコンテナ１１は、受信部１２がリクエストを受信した場合、処理をステップＳ２２に移行し、受信部１２がリクエストを受信していない場合、処理を終了する。ステップＳ２２において、コンテナサーバ１０において、リクエストを受信したコンテナ１１の受信部１２は、リクエストに対応する処理を実行させるプロセス１４を生成し、リクエストに対応する識別情報を、コンテナ管理部１５を介しＲＳＶ−ＤＢに格納する。
【０１２０】
次に、ステップＳ２４において、コンテナサーバ１０において、リクエストに対応する処理を実行するために生成されたプロセス１４は、処理を開始し、イベントが発生した場合、イベントに対応するログＬＯＧとプロセスを識別する識別情報とを、コンテナ管理部１５を介してＬＯＧ−ＤＢに格納する。
【０１２１】
次に、ステップＳ２６において、コンテナサーバ１０において処理を実行するプロセス１４は、処理に基づいて発生するリクエストを他のコンテナサーバ１０に送信する場合、処理をステップＳ２８に移行する。一方、コンテナサーバ１０において処理を実行するプロセス１４は、処理に基づくレスポンスをリクエストの発行元に返す場合、処理をステップＳ３６に移行する。
【０１２２】
ステップＳ２８において、コンテナサーバ１０において処理を実行するプロセス１４は、処理に基づいて生成した新たなリクエストを送信部１３に出力する。次に、ステップＳ３０において、リクエストを受信した送信部１３は、リクエストにリクエスト番号ＲＥＱ−ＩＤを付加し、他のコンテナサーバ１０に送信し、リクエストに対応する識別情報を、コンテナ管理部１５を介して送信部データベース３３に格納する。次に、ステップＳ３２において、他のコンテナサーバ１０にリクエスト番号ＲＥＱ−ＩＤを付加したリクエストを送信したコンテナ１１は、レスポンスの受信を待ち、レスポンスを受信した場合、処理をステップＳ３４に移行する。
【０１２３】
ステップＳ３４において、レスポンスを受信したコンテナ１１のプロセス１４は、レスポンスに基づく処理を実行し、レスポンスを送信部１３に出力し、処理をステップＳ３６に移行する。ステップＳ３６において、レスポンスを受信した送信部１３は、リクエストの発行元であるユーザ端末５４または他のコンテナサーバ１０にレスポンスを送信し、処理を終了する。
【０１２４】
図１５は、図４に示す各コンテナ管理部１５によるコンテナ１１を管理する動作の一例を示す。すなわち、図１５は、情報処理システム１０２の制御方法の一例を示す。図１５に示す動作は、所定の頻度で繰り返し実行される。
【０１２５】
まず、ステップＳ４０において、コンテナ管理部１５は、自身が属するコンテナサーバ１０で実行する処理の量が増大し、現在生成されているコンテナ１１で処理可能な処理量を超えることが予想される場合、処理をステップＳ４２に移行する。コンテナ管理部１５は、現在生成されているコンテナ１１で処理の継続が可能と判断した場合、処理をステップＳ４６に移行する。
【０１２６】
ステップＳ４２において、コンテナ管理部１５は、新たなコンテナ１１を生成し、処理をステップＳ４４に移行する。ステップＳ４４において、コンテナ管理部１５は、ノード番号ＮＤ−ＩＤ、コンテナ番号ＣＯＮＴ−ＩＤおよび時刻ＨＩＳＴ−ＴＩＭＥをＨＩＳＴ−ＤＢに格納し、処理を終了する。
【０１２７】
ステップＳ４６において、コンテナ管理部１５は、自身が属するコンテナサーバ１０で実行する処理の量が減少し、現在生成されているコンテナ１１よりも少ないコンテナ１１で処理が可能と判断した場合、処理をステップＳ４８に移行する。コンテナ管理部１５は、現在生成されているコンテナ１１で処理可能な処理量と実行中の処理の量との差が所定の範囲内であり、現在生成されているコンテナ１１で処理の継続が可能と判断した場合、処理をステップＳ５０に移行する。ステップＳ４８において、コンテナ管理部１５は、実行中の処理の量に合わせてコンテナ１１の少なくとも１つを削除し、処理を終了する。
【０１２８】
ステップＳ５０において、コンテナ管理部１５は、受信部１２、送信部１３またはプロセス１４からストレージサーバ３０に格納する情報を受信した場合、処理をステップＳ５２に移行し、情報を受信していない場合、処理を終了する。ステップＳ５２において、コンテナ管理部１５は、ＲＳＶ−ＤＢ、ＴＲＳ−ＤＢまたはＬＯＧ−ＤＢのいずれかに情報を格納し、処理を終了する。
【０１２９】
図１６は、図４に示すログ抽出部２１の動作の一例を示す。すなわち、図１６は、情報処理システム１０２の制御方法の一例を示す。図１６に示す動作は、所定の頻度で繰り返し実行される。
【０１３０】
まず、ステップＳ６０において、ログ抽出部２１は、ＬＯＧ−ＤＢのログ用エントリのうち、ログの抽出リクエストで指定されたログ用エントリに格納されたノード番号ＮＤ−ＩＤ、コンテナ番号ＣＯＮＴ−ＩＤおよびプロセス番号ＰＩＤを参照する。以下では、ＬＯＧ−ＤＢに格納されたノード番号ＮＤ−ＩＤ、コンテナ番号ＣＯＮＴ−ＩＤおよびプロセス番号ＰＩＤは、ＲＳＶ特定情報とも称される。
【０１３１】
図１１に示す例では、エラーを示すログＬＯＧ（ＥＲＲ）が格納されたログ用エントリ（ｄ１）が、抽出リクエストにより指定される。この場合、ＲＳＶ特定情報は、ノード番号ＮＤ−ＩＤ＝”２”、コンテナ番号ＣＯＮＴ−ＩＤ”２１”、プロセス番号ＰＩＤ＝”１”である。ログ抽出部２１は、ＲＳＶ−ＤＢを検索し、ＲＳＶ特定情報と同じ情報を含む受信部用エントリを特定する。複数の受信部用エントリが特定された場合、ログ抽出部２１は、ログＬＯＧ（ＥＲＲ）とともにログ用エントリに格納された時刻ＬＯＧ−ＴＩＭＥより前であり、かつ、時刻ＬＯＧ−ＴＩＭＥに最も近い時刻ＲＳＶ−ＴＩＭＥを保持する受信部用エントリを特定する。図１１に示す例では、ＲＳＶ−ＴＩＭＥ＝”９：０９：５０”の受信部用エントリとＲＳＶ−ＴＩＭＥ＝”９：１０：２０”の受信部用エントリのうち、（ｂ２）に示す受信部エントリが特定される。
【０１３２】
次に、ステップＳ６２において、ログ抽出部２１は、特定した受信部用エントリが保持する時刻ＲＳＶ−ＴＩＭＥ（抽出対象のプロセス１４の生成時刻）をログ抽出の開始時刻に設定し、現在時刻をログ抽出の終了時刻に設定する。現在時刻は、ログ抽出部２１がステップＳ６２を実行中の時刻である。図１１に示す例では、受信部用エントリ（ｂ２）に含まれる時刻ＲＳＶ−ＴＩＭＥ＝”９：０９：５０”がログ抽出の開始時刻に設定され、現在時刻がログ抽出の終了時刻に設定される。
【０１３３】
次に、ステップＳ６４において、ログ抽出部２１は、ＲＳＶ−ＤＢが保持する時刻ＲＳＶ−ＴＩＭＥを参照し、開始時刻より後の時刻ＲＳＶ−ＴＩＭＥを保持する受信部用エントリのうち、ＲＳＶ特定情報と同じ情報を含む受信部用エントリがあるか否かを判定する。開始時刻より後に情報が格納された受信部用エントリのうち、ＲＳＶ特定情報と同じ情報を含む受信部用エントリは、エラーが発生した処理とは異なる処理に対応する情報を保持しているため、抽出対象のログＬＯＧと関係しない。ＲＳＶ特定情報と同じ情報を含む受信部用エントリがある場合、処理はステップＳ６６に移行され、ＲＳＶ特定情報と同じ情報を含む受信部用エントリがない場合、処理はステップＳ６８に移行される。図１１に示す例では、ＲＳＶ特定情報と同じ情報を含む受信部用エントリ（ＲＳＶ−ＴＩＭＥ＝”９：１１：２０”）があるため、処理はステップＳ６６に移行される。
【０１３４】
ステップＳ６６において、ログ抽出部２１は、ステップＳ６４で判明したＲＳＶ特定情報と同じ情報を含む受信部用エントリに保持された時刻ＲＳＶ−ＴＩＭＥを終了時刻に設定し、処理をステップＳ６８に移行する。図１１に示す例では、ＲＳＶ−ＴＩＭＥ＝”９：１１：２０”が終了時刻に設定される。これにより、抽出対象ではないログＬＯＧが抽出されることを抑止することができ、エラーが発生した原因の解析の妨げになることを抑止することができる。換言すれば、マイクロサービスにおいて、コンテナ管理部１５によりコンテナ１１が削除された後、再度作成され、複数の共通の受信部特定情報がＲＳＶ−ＤＢに格納された場合にも、抽出対象ではないログＬＯＧが抽出されることを抑止することができる。
【０１３５】
ステップＳ６８において、ログ抽出部２１は、ＬＯＧ−ＤＢのログ用エントリのうち、ＲＳＶ特定情報と同じ情報を含むログ用エントリであって、開始時刻と終了時刻との間の時刻ＬＯＧ−ＴＩＭＥを保持するログ用エントリに含まれるログＬＯＧを抽出する。ログ抽出部２１は、抽出したログＬＯＧを図７に示す抽出リスト２２に書き込む。図１１に示す例では、開始時刻”９：０９：５０”と終了時刻”９：１１：２０”との間の時刻ＬＯＧ−ＴＩＭＥ”９：１０：００”、”９：１０：３５”、”９：１１：００”、”９：１１：１５”を保持するログ用エントリからログＬＯＧが抽出される。なお、時刻ＬＯＧ−ＴＩＭＥ”９：１１：２０”を保持するログ用エントリは、終了時刻より後に格納されたため、ログＬＯＧの抽出対象から外される。
【０１３６】
次に、ステップＳ７０において、ログ抽出部２１は、ステップＳ６０または後述するステップＳ７６で特定した受信部用エントリが保持するＩＰアドレスＬＢ−ＬＰ（ｆｒｏｍ）、ＣＯＮＴ−ＩＰおよびリクエスト番号ＲＥＱ−ＩＤを参照する。以下では、ＲＳＶ−ＤＢに格納されたＩＰアドレスＬＢ−ＬＰ（ｆｒｏｍ）、ＣＯＮＴ−ＩＰおよびリクエスト番号ＲＥＱ−ＩＤは、ＬＢ特定情報とも称される。ログ抽出部２１は、ＬＢ−ＤＢの分配部用エントリを検索し、ＬＢ特定情報を保持する分配部用エントリを特定する。
【０１３７】
次に、ステップＳ７２において、ログ抽出部２１は、特定した分配部用エントリにリクエスト番号ＲＥＱ−ＩＤが含まれるか否かを判定する。特定した分配部用エントリにリクエスト番号ＲＥＱ−ＩＤが含まれない場合、ＬＢ特定情報を含む分配部用エントリの情報は、ユーザ端末５４が発行したユーザリクエストに基づいて格納されたものである。この場合、ユーザリクエストに基づいてプロセス１４が生成したログＬＯＧは、全て抽出されたため、ログＬＯＧの抽出処理は終了される。一方、特定した分配部用エントリにリクエスト番号ＲＥＱ−ＩＤが含まれる場合、ＬＢ特定情報を含む分配部用エントリの情報は、他のコンテナサーバ１０が発行したリクエストに基づいて格納されたものである。この場合、他のコンテナサーバ１０のプロセス１４が生成したログＬＯＧの抽出が完了していないため、ログＬＯＧの抽出を継続するために、処理はステップＳ７４に移行される。
【０１３８】
ステップＳ７４において、ログ抽出部２１は、ステップＳ７０で特定したＬＢ−ＤＢの分配部用エントリが保持するＩＰアドレスＩＰ（ｆｒｏｍ）およびリクエスト番号ＲＥＱ−ＩＤを参照する。以下では、ＬＢ−ＤＢに格納されたＩＰアドレスＩＰ（ｆｒｏｍ）およびリクエスト番号ＲＥＱ−ＩＤは、ＴＲＳ特定情報とも称される。ログ抽出部２１は、ＴＲＳ−ＤＢを検索し、ＴＲＳ特定情報と同じ情報を含む送信部用エントリを特定する。
【０１３９】
次に、ステップＳ７６において、ログ抽出部２１は、ステップＳ７４で特定したＴＲＳ−ＤＢの送信部用エントリが保持するプロセス番号ＰＩＤ（ｆｒｏｍ）、ノード番号ＮＤ−ＩＤおよびコンテナ番号ＣＯＮＴ−ＩＤを参照する。すなわち、ログ抽出部２１は、ステップＳ７４で特定した送信部用エントリが保持するＲＳＶ特定情報を参照する。ログ抽出部２１は、ＲＳＶ−ＤＢを検索し、ＲＳＶ特定情報と同じ情報を含む受信部用エントリを特定する。この後、処理はステップＳ６２に移行され、ステップＳ７６で特定した受信部用エントリが保持するＲＳＶ−ＴＩＭＥを開始時刻としてＬＯＧ−ＤＢからログＬＯＧが抽出される。
【０１４０】
以上、図４から図１６に示す実施形態においても、図１および図２に示す実施形態と同様の効果を得ることができる。例えば、リクエストに基づいて複数のコンテナ１１が順に実行した処理のログＬＯＧを自動的に抽出することができる。また、情報処理システム１０２が複数のロードバランサ４１を有する場合にも、ログ抽出部２１は、ＩＰアドレスＬＢ−ＩＰに基づいて、リクエストをコンテナ１１に送信したロードバランサ４１を特定することができる。
【０１４１】
さらに、図４から図１６に示す実施形態では、以下に示す効果を得ることができる。すなわち、コンテナ管理部１５によりログデータベース３４の書き込みを制御することで、プロセス１４（アプリケーションプログラム）を修正することなく、プロセス１４から出力されるログおよび識別情報をログデータベース３４に格納することができる。したがって、プロセス１４の汎用性を失なうことなく、複数のコンテナ１１により順次実行された処理に伴うログを自動的に抽出することができる。すなわち、マイクロサービスの可用性および可搬性を失うことなく、ログを自動的に抽出することができる。
【０１４２】
図１６に示すステップＳ６０、Ｓ６２、Ｓ６４、Ｓ６６により、ＲＳＶ−ＤＢに保持された識別情報に基づいてログを抽出する範囲を設定することで、抽出対象ではないログが抽出されることを抑止することができる。抽出対象ではないログが抽出されないため、エラーが発生した原因の解析の妨げになることを抑止することができる。換言すれば、マイクロサービスにおいて、コンテナ管理部１５によりコンテナ１１が削除された後、再度作成され、複数の共通の受信部特定情報がＲＳＶ−ＤＢに格納された場合にも、抽出対象ではないログＬＯＧが抽出されることを抑止することができる。
【０１４３】
ＬＢ−ＤＢに格納されたリクエスト番号ＲＥＱ−ＩＤによりリクエストの発行元を識別することで、ＩＰアドレスＩＰ（ｆｒｏｍ）によりリクエストの発行元を識別する場合に比べて、ログＬＯＧの抽出動作の完了を容易に判定することができる。
【０１４４】
以上の図１から図１６に示す実施形態に関し、さらに以下の付記を開示する。
（付記１）
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも１つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備え、
前記複数のリクエスト処理部の各々は、
リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力する受信部と、
プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力する送信部と
を備え、
前記プロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力し、
前記リクエスト分配部は、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力すること
を特徴とする情報処理システム。
（付記２）
複数の前記リクエスト分配部を備え、
前記リクエスト分配部の各々は、リクエストを前記複数のリクエスト処理部のいずれかに送信する場合、さらに、自己を識別する分配部識別情報を前記保持部に格納するために出力し、
前記受信部は、処理を実行するプロセスを生成する場合、さらに、リクエストの送信元の前記リクエスト分配部を識別する前記分配部識別情報を前記保持部に格納するために出力すること
を特徴とする付記１記載の情報処理システム。
（付記３）
前記保持部は、前記プロセスからの識別情報およびログを保持する複数のログ用エントリと、前記リクエスト分配部からの識別情報を保持する複数の分配部用エントリと、前記受信部からの識別情報をそれぞれ保持する複数の受信部用エントリと、前記送信部からの識別情報をそれぞれ保持する送信部用エントリとを含み、
前記ログ抽出部は、
前記抽出要求で指定された前記ログ用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持する受信部用エントリを特定し、
特定した受信部用エントリに含まれる受信部識別情報と同じ送信先識別情報を保持する分配部用エントリを特定し、
特定した分配部用エントリに含まれる送信元識別情報と同じ送信部識別情報を保持する送信部用エントリを特定し、
特定した送信部用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持するログ用エントリを特定し、
特定したログ用エントリに含まれるログを抽出し、
特定したログ用エントリに含まれるプロセス識別情報に基づいて受信部用エントリ、分配部用エントリ、送信部用エントリおよびログ用エントリを順次特定し、特定したログ用エントリに含まれるログを抽出する動作を、分配部用エントリに含まれる送信元識別情報が外部の送信元であることを検出するまで繰り返すこと
を特徴とする付記１または付記２記載の情報処理システム。
（付記４）
前記受信部は、プロセス識別情報および受信部識別情報とともに、プロセスを生成した時刻を前記保持部に格納するために出力し、
前記プロセスは、プロセス識別情報およびログとともに、次のリクエストを出力した時刻を前記保持部に格納するために出力し、
前記ログ抽出部は、特定されたログ用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持する複数の受信部用エントリが存在する場合、特定したログ用エントリに含まれる時刻より前の時刻を保持する受信部用エントリのうち、特定したログ用エントリに含まれる時刻に最も近い時刻を保持する受信部用エントリを特定すること
を特徴とする付記３記載の情報処理システム。
（付記５）
前記ログ抽出部は、特定した受信部用エントリに含まれるプロセス識別情報と同じプロセス識別情報を含むエントリのうち、特定した受信部用エントリに含まれる時刻より後の時刻を含むログ用エントリに含まれるログを抽出すること
を特徴とする付記４記載の情報処理システム。
（付記６）
前記受信部および前記送信部が出力した識別情報と、前記プロセスが出力した識別情報およびログとを、前記保持部に書き込む情報書き込み部を備えること
を特徴とする付記１ないし付記５のいずれか１項記載の情報処理システム。
（付記７）
前記保持部は、
前記リクエスト分配部が出力する識別情報を保持する分配部データベースと、
前記受信部が出力する識別情報を保持する受信部データベースと、
前記プロセスが出力する識別情報およびログを保持するログデータベースと、
前記送信部が出力する識別情報を保持する送信部データベースと
を備えることを特徴とする付記１ないし付記６のいずれか１項記載の情報処理システム。
（付記８）
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも１つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備える情報処理システムの制御方法において、
前記複数のリクエスト処理部の各々で機能する受信部が、リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力し、
前記複数のリクエスト処理部の各々で機能する送信部が、プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力し、
受信部により生成された前記プロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力し、
前記リクエスト分配部は、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力すること
を特徴とする情報処理システムの制御方法。
（付記９）
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも１つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備え、
前記リクエスト分配部が、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力する情報処理システムの制御プログラムにおいて、
前記複数のリクエスト処理部の各々で機能する受信部に、リクエストの受信に基づいて、処理を実行するプロセスを生成させるとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力させ、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力させ、
前記複数のリクエスト処理部の各々で機能する送信部に、プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信させるとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力させ、
受信部により生成された前記プロセスに、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力させること
を特徴とする情報処理システムの制御プログラム。
（付記１０）
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも１つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備え、
前記リクエスト分配部が、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力する情報処理システムの制御プログラムを記録した記録媒体において、
前記複数のリクエスト処理部の各々で機能する受信部に、リクエストの受信に基づいて、処理を実行するプロセスを生成させるとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力させ、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力させ、
前記複数のリクエスト処理部の各々で機能する送信部に、プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信させるとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力させ、
受信部により生成された前記プロセスに、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力させること
を特徴とする情報処理システムの制御プログラムを記録したことを特徴とする記録媒体。
【０１４５】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１４６】
１…情報処理装置；１ａ…演算処理部；２ａ…記憶部；２ｃ…記録媒体；３…リクエスト処理部；４…受信部；５…プロセス；６…送信部；７…リクエスト分配部；８…保持部；８ａ…分配部データベース；８ｂ…受信部データベース；８ｃ…ログデータベース；８ｄ…送信部データベース；９…ログ抽出部；１０…コンテナサーバ；１１…コンテナ；１２…受信部；１３…送信部；１４…プロセス；１５…コンテナ管理部；２０…管理サーバ；２１…ログ抽出部；２２…抽出リスト；３０…ストレージサーバ；３１…ロードバランサデータベース；３２…受信部データベース；３３…送信部データベース；３４…ログデータベース；３５…コンテナ作成履歴データベース；４０…ロードバランサ；４１…ロードバランサ；５０…管理ネットワーク；５２…ユーザネットワーク；５４…ユーザ端末；６０…情報処理装置；６１…ＣＰＵ；６２…チップセット；６３…メモリ；６４…ＨＤＤ；６５…入出力インタフェース部；６６…通信インタフェース部；７０…キーボード；７１…マウス；７２…表示装置；７３…メディアドライブ装置；７４…記録媒体；１００、１０２…情報処理システム
【図１】
2018097793.tif 000003
【図２】
2018097793.tif 000004
【図３】
2018097793.tif 000005
【図４】
2018097793.tif 000006
【図５】
2018097793.tif 000007
【図６】
2018097793.tif 000008
【図７】
2018097793.tif 000009
【図８】
2018097793.tif 000010
【図９】
2018097793.tif 000011
【図１０】
2018097793.tif 000012
【図１１】
2018097793.tif 000013
【図１２】
2018097793.tif 000014
【図１３】
2018097793.tif 000015
【図１４】
2018097793.tif 000016
【図１５】
2018097793.tif 000017
【図１６】
2018097793.tif 000018