JP6756259B2 - 情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム - Google Patents

情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム Download PDF

Info

Publication number
JP6756259B2
JP6756259B2 JP2016244507A JP2016244507A JP6756259B2 JP 6756259 B2 JP6756259 B2 JP 6756259B2 JP 2016244507 A JP2016244507 A JP 2016244507A JP 2016244507 A JP2016244507 A JP 2016244507A JP 6756259 B2 JP6756259 B2 JP 6756259B2
Authority
JP
Japan
Prior art keywords
request
identification information
unit
log
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016244507A
Other languages
English (en)
Other versions
JP2018097793A (ja
Inventor
拓馬 山上
拓馬 山上
勲 東
東  勲
浩司 中園
浩司 中園
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016244507A priority Critical patent/JP6756259B2/ja
Priority to US15/832,901 priority patent/US10579429B2/en
Publication of JP2018097793A publication Critical patent/JP2018097793A/ja
Application granted granted Critical
Publication of JP6756259B2 publication Critical patent/JP6756259B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラムに関する。
1つのOS(Operating System)の環境下で、互いに分離した複数のプロセス(アプリケーションプログラム)を実行するコンテナと称する仮想化技術が提案されている(例えば、特許文献1参照)。この種の仮想化技術では、例えば、データベース、ロギングサービス、キューおよびロードバランサ等が各コンテナに割り当てられることで、プライベートクラウドが提供される(例えば、特許文献2参照)。
特表2016−511878号公報 特表2014−524096号公報
複数のコンテナを協働させてリクエストを順に処理する場合、処理の実行により発生したイベントのログは、各コンテナから出力され、データベース等に格納される。例えば、コンテナのいずれかがリクエストを処理中にエラーが発生した場合、リクエストを処理したコンテナが出力したログを、エラーを示すログから処理の順序と逆にたどることで、エラーの発生に関するログが抽出可能である。しかしながら、例えば、複数のコンテナ間で複数のリクエストが重複して処理される場合、複数のリクエストのそれぞれに対応するログは、データベース等に混在して保持されるため、ログを自動的に抽出することは困難である。このため、ログの抽出は、リクエストの流れを理解したシステム管理者等が、データベース等に保持されたログの中からエラーが発生したリクエストに関するログを1つずつ抽出することで行われる。
1つの側面では、本発明は、複数のリクエスト処理部が順に実行した処理のログを自動的に抽出することを目的とする。
一つの実施態様では、情報処理システムは、リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも1つの情報処理装置と、リクエストを複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、リクエストを処理したリクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、ログを抽出する抽出要求に基づいて、保持部に保持された識別情報を参照し、リクエストの処理順にしたがってログを保持部から抽出するログ抽出部とを備え、複数のリクエスト処理部の各々は、リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を保持部に格納するために出力する受信部と、プロセスから出力される次のリクエストにリクエスト識別情報を付加してリクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを保持部に格納するために出力する送信部とを備え、プロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを保持部に格納するために出力し、リクエスト分配部は、リクエストを処理させる複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元のリクエスト処理部を識別する送信元識別情報と、リクエストの送信先のリクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを保持部に格納するために出力する。
別の実施態様では、リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも1つの情報処理装置と、リクエストを複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、リクエストを処理したリクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、ログを抽出する抽出要求に基づいて、保持部に保持された識別情報を参照し、リクエストの処理順にしたがってログを保持部から抽出するログ抽出部とを備える情報処理システムの制御方法において、複数のリクエスト処理部の各々で機能する受信部が、リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を保持部に格納するために出力し、複数のリクエスト処理部の各々で機能する送信部が、プロセスから出力される次のリクエストにリクエスト識別情報を付加してリクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを保持部に格納するために出力し、受信部により生成されたプロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを保持部に格納するために出力し、リクエスト分配部は、リクエストを処理させる複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元のリクエスト処理部を識別する送信元識別情報と、リクエストの送信先のリクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを保持部に格納するために出力する。
さらなる別の実施態様では、リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも1つの情報処理装置と、リクエストを複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、リクエストを処理したリクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、ログを抽出する抽出要求に基づいて、保持部に保持された識別情報を参照し、リクエストの処理順にしたがってログを保持部から抽出するログ抽出部とを備え、リクエスト分配部が、リクエストを処理させる複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元のリクエスト処理部を識別する送信元識別情報と、リクエストの送信先のリクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを保持部に格納するために出力する情報処理システムの制御プログラムにおいて、複数のリクエスト処理部の各々で機能する受信部に、リクエストの受信に基づいて、処理を実行するプロセスを生成させるとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを保持部に格納するために出力させ、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を保持部に格納するために出力させ、複数のリクエスト処理部の各々で機能する送信部に、プロセスから出力される次のリクエストにリクエスト識別情報を付加してリクエスト分配部に送信させるとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを保持部に格納するために出力させ、受信部により生成されたプロセスに、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを保持部に格納するために出力させる。
1つの側面では、本発明は、複数のリクエスト処理部が順に実行した処理のログを自動的に抽出することができる。
情報処理システムの一実施形態を示す図である。 図1に示す情報処理システムの動作の一例を示す図である。 図1に示す情報処理システムの動作の別の例を示す図である。 情報処理システムの別の実施形態を示す図である。 図4に示すコンテナサーバ、管理サーバ、ストレージサーバおよびロードバランサとして使用される情報処理装置の一例を示す図である。 図4に示すコンテナサーバの各種要素を識別するために割り当てられる識別情報の一例を示す図である。 図4に示す情報処理システムが実行するログの管理動作の概要の一例を示す図である。 図7に示すロードバランサデータベース、受信部データベース、送信部データベースおよびログデータベースに格納される情報の一例を示す図である。 図4に示す情報処理システム内でのリクエストの流れと、ストレージサーバに格納される情報との一例を示す図である。 図4に示す情報処理システムの動作の一例を示す図である。 図10に示すログインリクエストに対応する認証処理において、各コンテナサーバがストレージサーバに格納する情報の一例を示す図である。 図7に示すコンテナ作成履歴データベースに格納される情報の一例を示す図である。 図4に示すロードバランサの動作の一例を示す図である。 図4に示す各コンテナサーバの動作の一例を示す図である。 図4に示す各コンテナ管理部によるコンテナを管理する動作の一例を示す図である。 図4に示すログ抽出部の動作の一例を示す図である。
以下、図面を用いて実施形態を説明する。
図1は、情報処理システムの一実施形態を示す。図1に示す情報処理システム100は、CPU(Central Processing Unit)等の演算処理部1aと記憶部2aとを有する少なくとも1つの情報処理装置1と、リクエスト分配部7と、保持部8と、ログ抽出部9とを有する。演算処理部1aは、記憶部2aに保持された制御プログラムを実行することにより、リクエストをそれぞれ処理することで所定の機能を実行する複数のリクエスト処理部3として機能する。例えば、制御プログラムは、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)またはUSB(Universal Serial Bus)メモリ等の記録媒体2cに記録されており、記録媒体2cから記憶部2aに転送される。
リクエスト処理部3の各々は、リクエスト分配部7からリクエストを受信する受信部4と、受信部4により生成されるプロセス5と、プロセス5により生成される次のリクエストをリクエスト分配部7に送信する送信部6とを有する。そして、各リクエスト処理部3が、リクエスト分配部7を介してリクエストを他のリクエスト処理部3に順に送信することで、複数の機能をまとめた処理が複数のリクエスト処理部3により実行される。すなわち、情報処理システム100は、いわゆるマイクロサービスを提供可能である。
受信部4は、リクエストの受信に基づいて、処理を実行するプロセス5を生成するとともに、生成したプロセス5を識別するプロセス識別情報と、自己を識別する受信部識別情報とを保持部8に格納するために出力する。また、受信部4は、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を保持部8に格納するために出力する。
プロセス5は、リクエストに対応する処理を実行し、処理に基づいて次のリクエストまたはレスポンスを送信部6に出力し、プロセス5を識別するプロセス識別情報と、処理の実行により発生したイベント等のログとを保持部8に格納するために出力する。
送信部6は、プロセス5から出力される次のリクエストにリクエスト識別情報を付加してリクエスト分配部7に送信する。また、送信部6は、次のリクエストを出力したプロセス5を識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを保持部8に格納するために出力する。
リクエスト識別情報は、リクエストに対応する処理を実行するプロセス5により生成されるのではなく、送信部6により生成される。これにより、プロセス5(すなわち、アプリケーションプログラム)は、リクエスト識別情報を生成する機能を追加することなく情報処理装置1上で実行可能である。換言すれば、プロセス5の汎用性を維持したまま、プロセス5を情報処理装置1上で実行することができ、いわゆるマイクロサービスの可用性および可搬性が失われることを抑止することができる。
リクエスト分配部7は、図示しないユーザ端末等から受信するユーザリクエストまたはリクエスト処理部3のいずれかの送信部6から受信する次のリクエストを、リクエストを処理させるリクエスト処理部3のいずれかに送信する。また、リクエスト分配部7は、リクエストの送信元のリクエスト処理部3等を識別する送信元識別情報と、リクエストの送信先のリクエスト処理部3を識別する送信先識別情報と、リクエスト識別情報とを保持部8に格納するために出力する。なお、リクエスト分配部7は、各情報処理装置1に分散して設けられてもよく、この場合、リクエスト分配部7の機能は、各情報処理装置1の演算処理部1aが制御プログラムを実行することにより実現される。リクエスト分配部7の機能を実現する制御プログラムは、リクエスト処理部3を生成する制御プログラムに含まれてもよく、リクエスト処理部3を生成する制御プログラムと別の制御プログラムでもよい。
受信部識別情報、プロセス識別情報、リクエスト識別情報、送信部識別情報、送信元識別情報および送信先識別情報は、識別情報の一例である。受信部4、送信部6およびリクエスト分配部7は、識別情報を保持部8に直接書き込んでもよく、情報書き込み部等を介して識別情報を保持部8に書き込んでもよい。同様に、プロセス5は、識別情報およびログを保持部8に直接書き込んでもよく、情報書き込み部等を介して識別情報およびログを保持部8に書き込んでもよい。
保持部8は、リクエストを処理したリクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する。ログ抽出部9は、ログを抽出する抽出要求に基づいて、保持部8に保持された識別情報を参照し、リクエストの処理順にしたがって保持部8からログを抽出する。
図2は、図1に示す情報処理システム100の動作の一例を示す。図2に示す動作は、例えば、リクエスト処理部3を実現する制御プログラムと、リクエスト分配部7を実現する制御プログラムと、ログ抽出部9を実現する制御プログラムとにより実行される。すなわち、図2は、情報処理システム100の制御方法の一例および情報処理システム100の制御プログラムの一例を示す。図2に示す例では、説明を分かりやすくするために、リクエスト処理部3、受信部4、プロセス5、送信部6、識別情報およびログには、枝番”0”、”1”または”2”が付される。
保持部8は、リクエスト分配部7、受信部4、プロセス5および送信部6からの情報をそれぞれ記憶する領域が割り当てられる。例えば、リクエスト分配部7が出力する識別情報は、分配部データベース8aに保持され、受信部4が出力する識別情報は、受信部データベース8bに保持される。また、プロセス5が出力する識別情報およびログは、ログデータベース8cに保持され、送信部6が出力する識別情報は、送信部データベース8dに保持される。分配部データベース8aは、破線枠で示す複数の分配部用エントリを有し、受信部データベース8bは、破線枠で示す複数の受信部用エントリを有する。ログデータベース8cは、破線枠で示す複数のログ用エントリを有し、送信部データベース8dは、破線枠で示す複数の送信部用エントリを有する。
まず、リクエスト分配部7は、ユーザリクエストを受信し、受信したユーザリクエストをリクエスト処理部3−1の受信部4−1に送信する。リクエスト分配部7は、ユーザリクエストの送信元のユーザ端末等を識別する送信元識別情報0と、リクエストの送信先のリクエスト処理部3−1の受信部4−1を識別する送信先識別情報4−1とを保持部8の分配部データベース8aに格納する。
受信部4−1は、受信したユーザリクエストの受信に基づいてプロセス5−1を生成し、プロセス5−1を識別するプロセス識別情報5−1と、受信部4−1を識別する受信部識別情報4−1とを保持部8の受信部データベース8bに格納する。プロセス5−1は、ユーザリクエストに対応する処理に基づいて次のリクエスト1を送信部6−1に出力する。また、プロセス5−1は、プロセス5−1を識別するプロセス識別情報5−1と、処理の実行により発生したログ1とを保持部8のログデータベース8cに格納する。
送信部6−1は、プロセス5−1からの次のリクエスト1にリクエスト識別情報1を付加してリクエスト分配部7に送信する。また、送信部6−1は、次のリクエスト1を出力したプロセス5−1を識別するプロセス識別情報5−1と、送信部6−1を識別する送信部識別情報6−1と、リクエスト識別情報1とを保持部8の送信部データベース8dに格納する。
リクエスト分配部7は、リクエスト識別情報1を含むリクエスト1を受信し、受信したリクエスト1をリクエスト処理部3−2の受信部4−2に送信する。リクエスト分配部7は、リクエスト1の送信元のリクエスト処理部3−1の送信部6−1を識別する送信元識別情報6−1と、リクエストの送信先のリクエスト処理部3−1を識別する送信先識別情報4−2とを保持部8の分配部データベース8aに格納する。また、リクエスト分配部7は、リクエスト識別情報1を保持部8の分配部データベース8aに格納する。
受信部4−2は、受信したリクエスト1の受信に基づいてプロセス5−2を生成し、プロセス5−2を識別するプロセス識別情報5−2と、受信部4−2を識別する受信部識別情報4−2と、リクエスト識別情報1とを保持部8の受信部データベース8bに格納する。プロセス5−2は、リクエスト1に対応する処理に基づいて次のリクエスト2を送信部6−2に出力する。また、プロセス5−2は、プロセス5−2を識別するプロセス識別情報5−2と、処理の実行により発生したログ2とを保持部8のログデータベース8cに格納する。例えば、ログ2は、エラーERRの発生を示すエラーログである。送信部6−2は、次のリクエスト2にリクエスト識別情報2を付加してリクエスト分配部7に送信する。また、送信部6−2は、次のリクエスト2を出力したプロセス5−2を識別するプロセス識別情報5−2と、送信部6−2を識別する送信部識別情報6−2と、リクエスト識別情報2とを保持部8の送信部データベース8dに格納する。
ログ抽出部9は、エラーログ2(ERR)を発生させた一連のリクエストに対応するログを抽出する抽出要求に基づいて、保持部8に保持された識別情報を参照し、以下の手順で保持部8からログを抽出する。
まず、ログ抽出部9は、エラーログ2(ERR)とともにログデータベース8cの分配部用エントリに保持されたプロセス識別情報5−2と同じ情報を保持する受信部データベース8bの受信部用エントリを特定する(図2(a))。特定した受信部用エントリにリクエスト識別情報1が保持されている場合、ログ抽出部9は、受信部識別情報4−2とリクエスト識別情報1とを使用して、分配部データベース8aの分配部用エントリを特定する。すなわち、ログ抽出部9は、受信部識別情報4−2およびリクエスト識別情報1と同じ情報(送信先識別情報4−2およびリクエスト識別情報1)を保持する分配部用エントリを特定する(図2(b))。
ログ抽出部9は、特定した分配部用エントリにリクエスト識別情報1が保持されている場合、送信元識別情報6−1とリクエスト識別情報1とを使用して、送信部データベース8dの送信部用エントリを特定する。すなわち、ログ抽出部9は、特定した分配部用エントリに保持された送信元識別情報6−1およびリクエスト識別情報1と同じ情報(送信部識別情報6−1およびリクエスト識別情報1)を保持する送信部用エントリを特定する(図2(c))。ログ抽出部9は、特定した送信部用エントリに保持されたプロセス識別情報5−1と同じ情報を保持するログデータベース8cのログ用エントリを特定し、特定したログ用エントリに保持されたログ1を抽出する(図2(d))。
次に、ログ抽出部9は、ログ1とともに分配部用エントリに保持されたプロセス識別情報5−1と同じ情報を保持する受信部用エントリを特定する(図2(e))。ログ抽出部9は、特定した受信部用エントリにリクエスト識別情報が保持されていないため、受信部識別情報4−1のみを使用して分配部用エントリを特定する(図2(f))。特定した分配部用エントリにリクエスト識別情報1が保持されていない場合、特定した分配部用エントリに保持された識別情報は、送信部6が送信した次のリクエストに基づくものでない。換言すれば、特定した分配部用エントリにリクエスト識別情報1が保持されていない場合、特定した分配部用エントリに保持された識別情報は、情報処理システム100の外部からのリクエスト(この例では、ユーザリクエスト)に基づくものである。このため、ログ抽出部9は、エラーログ2(ERR)の発生に関連する一連のリクエストに対応するログを全て抽出したと判断し、抽出処理を終了する。
このように、図2では、ログ抽出部9は、保持部8に保持された識別情報に基づいて、リクエストの流れをリクエストの処理順と逆にたどり、ログデータベース8cに保持されたログを抽出することができる。さらに、図2では、分配部データベース8aと受信部データベース8bとがリクエスト識別情報を保持する。このため、ログ抽出部9は、分配部データベース8aに複数の同じ送信先識別情報4−1が保持された場合にも、受信部4にリクエストを送信したリクエスト分配部7を識別することができる。また、ログ抽出部9は、分配部データベース8aにおいて、リクエスト識別情報が保持されていない分配部用エントリを特定した場合、抽出の完了を判定できる。
図3は、図1に示す情報処理システム100の動作の別の例を示す。図2と同一または同様の処理については、詳細な説明は省略する。この例では、情報処理システム100は、複数のリクエスト分配部7(7−1および7−2)を有する。各リクエスト分配部7は、ユーザリクエストまたは送信部6からのリクエストを受信した場合、送信元識別情報および送信先識別情報とともに、リクエスト分配部7を識別する分配部識別情報(7−1または7−2)を保持部8の分配部データベース8aに格納する。各受信部4は、リクエスト分配部7からリクエストを受信した場合、受信部識別情報およびプロセス識別情報とともに、分配部識別情報を保持部8の受信部データベース8bに格納する。
なお、各リクエスト分配部7は、送信部6からリクエスト識別情報を受信した場合、リクエスト識別情報を保持部8に格納し、各受信部4は、リクエスト分配部7からリクエスト識別情報を受信した場合、リクエスト識別情報を保持部8に格納する。各送信部6がリクエスト識別情報を保持部8に格納することにより、ログ抽出部9は、図2と同様に、リクエスト識別情報に基づいて、抽出の完了を判定できる。なお、各送信部6は、リクエスト識別情報の保持部8への格納を省略してもよい。
ログ抽出部9は、エラーログ2(ERR)の発生に関連する一連のリクエストに対応するログを抽出する抽出要求に基づいて、図2と同様に動作する。図3(a)に示す動作は、図2(a)と同じであり、図3(c)に示す動作は、図2(c)と同じである。図3(d)に示す動作は、図2(d)と同じであり、図3(e)に示す動作は、図2(e)と同じである。但し、ログの抽出に分配部識別情報を使用する点が、図2と相違する。
図3(b)に示すように、ログ抽出部9は、受信部用エントリに保持された識別情報を使用して分配部データベース8aの分配部用エントリを特定する場合、受信部識別情報4−2およびリクエスト識別情報1に加えて、分配部識別情報7−2を使用する。あるいは、図3(f)に示すように、ログ抽出部9は、受信部用エントリに保持された識別情報を使用して分配部データベース8aの分配部用エントリを特定する場合、受信部識別情報4−1に加えて、分配部識別情報7−1を使用する。これにより、情報処理システム100が複数のリクエスト分配部7を有する場合にも、リクエストをリクエスト処理部3に送信したリクエスト分配部7を特定することができる。この結果、ログ抽出部9は、リクエストの流れをたどって、エラーログ2(ERR)の発生に関連する一連のリクエストに対応するログを自動的に抽出することができる。
以上、図1から図3に示す実施形態では、リクエストに基づいて複数のリクエスト処理部3が順に実行した処理のログを自動的に抽出することができる。また、分配部データベース8aに複数の同じ送信先識別情報4−1が保持された場合にも、保持部8に保持されたリクエスト識別情報を参照することで、受信部4にリクエストを送信したリクエスト分配部7を識別することができる。ログ抽出部9は、分配部データベース8aに保持されたリクエスト識別情報を参照することで、ログの抽出動作の完了を判定することができる。さらに、情報処理システム100が複数のリクエスト分配部7を有する場合にも、ログ抽出部9は、分配部識別情報に基づいて、リクエストをリクエスト処理部3に送信したリクエスト分配部7を特定することができる。
図4は、情報処理システムの別の実施形態を示す。図1に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。
図4に示す情報処理システム102は、管理ネットワーク50に接続された複数のコンテナサーバ10、管理サーバ20、ストレージサーバ30およびロードバランサ40を有する。コンテナサーバ10、管理サーバ20およびロードバランサ40は、パーソナルコンピュータ等のユーザ端末54が接続されるユーザネットワーク52に接続される。コンテナサーバ10、管理サーバ20、ストレージサーバ30およびロードバランサ40は、情報処理装置の一例であり、ストレージサーバ30は、保持部の一例である。コンテナサーバ10、管理サーバ20、ストレージサーバ30およびロードバランサ40として使用される情報処理装置の例は、図5に示される。
なお、ロードバランサ40の代わりに、各コンテナサーバ10に破線枠で示すように仮想のロードバランサ41が構築されてもよい。この場合、情報処理システム102は、物理的なロードバランサ40を持たず、コンテナサーバ10のそれぞれに構築された仮想のロードバランサ41が協働してロードバランサ40の機能を実現する。以下では、仮想のロードバランサ41を動作させる例が説明される。ロードバランサ41は、リクエスト分配部の一例である。
各コンテナサーバ10は、例えば、処理の機能(サービス)毎に設けられ、アプリケーションプログラムの実行環境の単位である少なくとも1つのコンテナ11と、コンテナ11の生成および削除等を管理するコンテナ管理部15とを含む。コンテナ11およびコンテナ管理部15は、コンテナサーバ10内のCPU等の演算処理装置が仮想化プログラムを実行することにより生成される。コンテナ11を使用するコンテナ型仮想化技術により、複数のアプリケーションプログラムの実行環境が、コンテナサーバ10にインストールされる単一のOS(Operating System)上に実現可能である。以下、アプリケーションプログラムは、アプリケーションと称される。
各コンテナ11は、リクエストおよびレスポンスを受信する受信部12と、リクエストおよびレスポンスを送信する送信部13とを有する。各コンテナ11は、受信部12が受信したリクエストに基づいてアプリケーションを実行するプロセス14(符号Pで示す)を生成し、アプリケーションの処理を実行する。各コンテナ11内のプロセス14は、互いに独立に動作する。各コンテナ11は、処理の実行結果に基づいて、他のアプリケーションによる処理を実行する場合、リクエストを生成し、生成したリクエストを送信部13から他のアプリケーションを実行する他のコンテナサーバ10に送信する。また、各コンテナ11は、処理の実行結果をレスポンスとして、送信部13からリクエストの送信元のコンテナサーバ10に送信する。コンテナ11は、リクエストを処理するリクエスト処理部の一例である。
各コンテナ11が、ロードバランサ41を介してリクエストを他のコンテナ11に順に送信することで、互いに独立した複数の機能をまとめた処理が複数のコンテナ11により実行される。すなわち、情報処理システム102は、いわゆるマイクロサービスを提供可能である。すなわち、各コンテナサーバ10により実現される機能に掛かる負荷に応じて、機能毎にコンテナ11の数を増加または減少できるため、複数の機能をパッケージすることで大規模な処理を実行するシステムに比べて、負荷に応じてシステムの規模を容易に変更することができる。
コンテナ管理部15は、コンテナ11の作成と削除を管理する機能と、コンテナ11を作成した履歴をストレージサーバ30に格納する機能を有する。また、コンテナ管理部15は、受信部12および送信部13で送受信されるリクエストの流れを示す情報をストレージサーバ30に格納する機能を有する。さらに、コンテナ管理部15は、プロセス14が生成したイベントに対応する情報をストレージサーバ30に格納する機能とを有する。コンテナ管理部15は、情報書き込み部の一例である。
管理サーバ20は、情報処理システム102の全体の動作を管理する。また、管理サーバ20は、ストレージサーバ30に格納された情報を検索し、例えば、エラーを示すログに関連する他のログを抽出するログ抽出部21を有する。ログ抽出部21の機能は、管理サーバ20が実行する制御プログラムにより実現されるが、管理サーバ20のハードウェアにより実現されてもよい。
ストレージサーバ30は、ロードバランサデータベース31、受信部データベース32、送信部データベース33、ログデータベース34およびコンテナ作成履歴データベース35を有する。ロードバランサデータベース31は、各コンテナサーバ10のロードバランサ41が送受信するリクエストに対応する識別情報を記憶する。受信部データベース32は、各コンテナサーバ10のコンテナ11の受信部12が送受信するリクエストに対応する識別情報を記憶する。送信部データベース33は、各コンテナサーバ10のコンテナ11の送信部13が送受信するリクエストに対応する識別情報を記憶する。
ログデータベース34は、各コンテナサーバ10のコンテナ11で実行されるプロセスが発生したイベントを示すログと、プロセスを識別する識別情報とを記憶する。コンテナ作成履歴データベース35は、各コンテナサーバ10のコンテナ11の作成履歴を記憶する。ロードバランサデータベース31、受信部データベース32、送信部データベース33およびログデータベース34に格納される情報の例は、図8および図11に示される。コンテナ作成履歴データベース35に格納される情報の例は、図12に示される。なお、ストレージサーバ30は、情報処理システム102で処理する他のデータを記憶してもよい。
図5は、図4に示すコンテナサーバ10、管理サーバ20、ストレージサーバ30およびロードバランサ40として使用される情報処理装置の一例を示す。図5に示す情報処理装置60は、例えば、マザーボードに搭載されたCPU61、チップセット62およびメモリ63と、マザーボードに搭載される図示しないバックプレーンに接続されるHDD(Hard Disk Drive)64とを有する。また、情報処理装置60は、チップセット62を介してCPU61に接続される入出力インタフェース部65と、CPU61に接続される通信インタフェース部66とを有する。
例えば、入出力インタフェース部65は、キーボード70、マウス71、表示装置72またはメディアドライブ装置73等が接続される複数のポートを有する。メディアドライブ装置73には、CPU61が実行する各種制御プログラムが格納されたCD−ROMまたはDVD等の記録媒体74が装着可能である。
記録媒体74に格納された制御プログラムは、HDD64に転送された後、メモリ63に格納されることで、CPU61により実行可能になる。なお、入出力インタフェース部65は、USBポートを有してもよく、この場合、USBメモリに格納された各種制御プログラムが、HDD64を介してメモリ63に格納される。
通信インタフェース部66は、管理ネットワーク50およびユーザネットワーク52にそれぞれ接続される複数のポートを有する。
図6は、図4に示すコンテナサーバ10の各種要素を識別するために割り当てられる識別情報の一例を示す。例えば、図4に示すコンテナサーバ10は、複数の機能(ユーザインタフェース用、アカウント管理用、グラフ描画用、グラフデータ作成用およびデータ管理用)毎に設けられる。
以下では、ユーザインタフェース用のコンテナサーバ10はコンテナサーバ10−1と称され、アカウント管理用のコンテナサーバ10はコンテナサーバ10−2と称され、グラフ描画用のコンテナサーバ10はコンテナサーバ10−3と称される。また、グラフデータ作成用のコンテナサーバ10はコンテナサーバ10−4と称され、データ管理用のコンテナサーバ10はコンテナサーバ10−5と称される。
各コンテナサーバ10(ノード)には、コンテナサーバ10を識別する固有の識別情報ND−ID(Identification)が割り当てられる。各コンテナサーバ10のロードバランサ41には、ロードバランサ41を識別する固有の識別情報LD−IPが割り当てられる。各コンテナ11には、コンテナ11を識別する固有の識別情報CONT−IP、CONT−IDとが割り当てられる。図6に示す例では、説明を分かりやすくするため、互いに相違する識別番号CONT−IDがコンテナ11に付されるが、コンテナサーバ10が異なるコンテナ11では、識別番号CONT−IDが重複する場合がある。各コンテナ11が生成するプロセスには、コンテナ11内のプロセスを識別するためにコンテナ11内で固有の識別情報PIDが割り当てられる。
以下では、識別情報ND−IDは、ノード番号ND−IDとも称され、識別情報LD−IPは、IP(Internet Protocol)アドレスLB−IPとも称される。識別情報CONT−IPは、IPアドレスCONT−IPと称され、識別情報CONT−IDは、コンテナ番号CONT−IDと称され、識別番号PIDは、プロセス番号PIDとも称される。
図7は、図4に示す情報処理システム102が実行するログの管理動作の概要の一例を示す。
ロードバランサ41は、他のコンテナサーバ10からのリクエストを受信した場合、リクエストを処理させるコンテナ11を決定し、決定したコンテナ11にリクエストを出力する。また、ロードバランサ41は、送受信するリクエストに対応する識別情報をロードバランサデータベース31に格納する。なお、ユーザインタフェース用のコンテナサーバ10(図6に示す10−1)のロードバランサ41は、ユーザ端末54からリクエストを受信する。アカウント管理用、グラフ描画用、グラフデータ作成用およびデータ管理用のコンテナサーバ10のロードバランサ41は、他のコンテナサーバ10の送信部13からリクエストを受信する。ロードバランサ41の動作の例は、図13に示される。なお、ロードバランサ41が生成する識別情報は、コンテナ管理部15を介してロードバランサデータベース31に格納されてもよい。
ロードバランサ41からリクエストを受信したコンテナ11の受信部12は、受信したリクエストに対応する処理を実行するプロセス14を生成する。そして、受信部12は、送受信するリクエストに対応する識別情報を、コンテナ管理部15を介して受信部データベース32に格納する。
プロセス14は、リクエストに対応する処理を実行する。プロセス14は、リクエストに対応する処理に基づいて次のリクエストを他のコンテナサーバ10に発行する場合、送信部13に次のリクエストを出力する。プロセス14は、リクエストに対する処理を完了した場合、リクエストに対応するレスポンスを送信部13に出力する。また、プロセス14は、処理の実行により発生したイベント等のログとプロセスを識別するプロセス番号等の識別情報とを、コンテナ管理部15を介してログデータベース34に格納する。なお、ログおよびプロセス番号等の識別情報は、プロセス14を修正することなく、既存のロガーにより出力可能である。
プロセス14からリクエストを受信した送信部13は、リクエストを識別する識別情報をリクエストに付加して他のコンテナサーバ10のロードバランサ41に送信する。また、プロセス14からリクエストを受信した送信部13は、送受信するリクエストに対応する識別情報を、コンテナ管理部15を介して送信部データベース33に格納する。一方、プロセス14からレスポンスを受信した送信部13は、リクエストの発行元にレスポンスを送信する。コンテナサーバ10の動作の例は、図14に示される。
コンテナ管理部15は、受信部12から受信した識別情報を受信部データベース32に格納し、送信部13から受信した識別情報を送信部データベース33に格納する。コンテナ管理部15は、プロセス14から受信したログおよび識別情報をログデータベース34に格納する。コンテナ管理部15によりログデータベース34の書き込みを制御することで、プロセス14(アプリケーションプログラム)を修正することなく、プロセス14から出力されるログおよび識別情報をログデータベース34に格納することができる。これに対して、プロセス14がログおよび識別情報をログデータベース34に直接格納する場合、各プロセス14は、ログデータベース34のデータ構造を認識するために修正されるため、汎用性が失われ、マイクロサービスの可用性および可搬性が失われてしまう。
さらに、コンテナ管理部15は、リクエストに対応する処理を実行するコンテナサーバ10の負荷が増大した場合、新たなコンテナ11を作成し、リクエストに対応する処理を実行するコンテナサーバ10の負荷が減少した場合、コンテナ11を削除する。また、コンテナ管理部15は、コンテナ11を作成した場合、コンテナ11の作成履歴を示すコンテナ情報をコンテナ作成履歴データベース35に格納する。コンテナ管理部15の動作の例は、図15に示される。
管理サーバ20のログ抽出部21は、ログの抽出リクエストに基づいて、ストレージサーバ30に格納された情報を参照し、ログを抽出し、抽出したログを抽出リスト22に書き込む。抽出リスト22は、管理サーバ20に搭載されるメモリ63またはHDD64等の記憶領域に生成される。例えば、管理サーバ20は、情報処理システム102のシステム管理者等による管理サーバ20の操作に基づいてログの抽出リクエストを発行する。ログの抽出リクエストを受信したログ抽出部21が実行するログの抽出動作の例は、図16に示される。
図8は、図7に示すロードバランサデータベース31、受信部データベース32、送信部データベース33およびログデータベース34に格納される情報の一例を示す。
ロードバランサデータベース31は、識別情報IP(from)、REQ−ID、LB−IP、CONT−IP(to)、FUNC、LB−TIMEを記憶する複数の分配部用エントリを有する。識別情報IP(from)は、各ロードバランサ41にリクエストを送信したユーザ端末54またはコンテナ11のIPアドレスを示す。識別情報REQ−IDは、送信部13がリクエストに付加したリクエスト番号を示す。以下では、識別情報IP(from)は、IPアドレスIP(from)とも称され、識別情報REQ−IDは、クエスト番号REQ−IDとも称される。
リクエスト番号REQ−IDは、コンテナ11毎に固有であるが、複数のコンテナ11間では重複する可能性がある。有効な識別情報が保持された分配部用エントリのうちリクエスト番号REQ−IDを記憶するエントリは、ロードバランサ41がコンテナ11の送信部13からのリクエストに基づいて識別情報を格納したことを示す。有効な識別情報が保持された分配部用エントリのうちリクエスト番号REQ−IDを記憶しない分配部用エントリは、ロードバランサ41がユーザ端末54からのリクエストに基づいて識別情報を格納したことを示す。
IPアドレスLB−IPは、分配部用エントリに識別情報を格納したロードバランサ41のIPアドレスを示す。IPアドレスCONT−IP(to)は、分配部用エントリに識別情報を格納したロードバランサ41がリクエストを出力したコンテナ11のIPアドレスを示す。識別情報FUNCは、分配部用エントリに識別情報を格納したロードバランサ41を含むコンテナサーバ10が実行する機能を示す。以下では、識別情報FUNCは、機能FUNCとも称される。
例えば、機能FUNCの欄には、ユーザインタフェースを示す”UI”、アカウント管理を示す”ACCNT”、グラフ描画を示す”GDRW”、グラフデータの作成を示す”GGEN”またはデータ管理を示す”DATAM”のいずれが格納される。格納される情報は、文字列でもよく、コードでもよい。識別情報LB−TIMEは、各ロードバランサ41がコンテナ11にリクエストを出力した時刻を示す。以下では、識別情報LB−TIMEは、時刻LB−TIMEとも称される。
受信部データベース32は、識別情報LB−IP(from)、CONT−IP、REQ−ID、ND−ID、CONT−ID、PID(to)、RSV−TIMEを記憶する複数の受信部用エントリを有する。以下では、識別情報RSV−TIMEは、時刻RSV−TIMEとも称される。IPアドレスLB−IP(from)は、受信部12にリクエストを出力したロードバランサ41を示す。IPアドレスCONT−IPは、リクエストを受信した受信部12を含むコンテナ11を示す。リクエスト番号REQ−IDは、受信部12が受信したリクエストを示す。ノード番号ND−IDは、リクエストを受信した受信部12を含むコンテナサーバ10を示す。コンテナ番号CONT−IDは、リクエストを受信した受信部12を含むコンテナ11を示す。プロセス番号PID(to)は、リクエストを受信した受信部12がリクエストを出力するプロセス14を示す。時刻RSV−TIMEは、リクエストを受信した受信部12がリクエストに対応する処理の実行をプロセス14に指示した時刻を示す。
送信部データベース33は、識別情報PID(from)、ND−ID、CONT−ID、CONT−IP、REQ−ID、TRS−TIMEを記憶する複数の送信部用エントリを有する。以下では、識別情報TRS−TIMEは、時刻TRS−TIMEとも称される。プロセス番号PID(from)は、送信部13にリクエストを出力したプロセス14を示す。ノード番号ND−IDは、リクエストを受信した送信部13を含むコンテナサーバ10を示す。コンテナ番号CONT−IDは、リクエストを受信した送信部13を含むコンテナ11を示す。IPアドレスCONT−IPは、リクエストを受信した送信部13を含むコンテナ11を示す。リクエスト番号REQ−IDは、送信部13がリクエストに付加する。時刻TRS−TIMEは、リクエストを受信した送信部13がリクエストを他のコンテナサーバ10に出力した時刻を示す。
ログデータベース34は、ノード番号ND−ID、コンテナ番号CONT−ID、プロセス番号PID、ログLOGおよび時刻LOG−TIMEを識別情報として記憶する複数のログ用エントリを有する。ログLOGは、プロセス14による処理の実行中に発生したイベント等の情報を含む。時刻LOG−TIMEは、ログデータベース34に格納する識別情報をプロセス14が出力した時刻を示す。
ロードバランサデータベース31が保持するIPアドレスIP(from)は、リクエストの送信元を識別する送信元識別情報の一例である。ロードバランサデータベース31、受信部データベース32および送信部データベース33が保持するリクエスト番号REQ−IDは、プロセス14が生成し、送信部13が送信するリクエストを識別するリクエスト識別情報の一例である。ロードバランサデータベース31が保持するIPアドレスLB−IPおよび受信部データベース32が保持するIPアドレスLD−IP(from)は、ロードバランサ41を識別する分配部識別情報の一例である。
ロードバランサデータベース31が保持するIPアドレスCONT−IP(to)は、リクエストの送信先のコンテナ11を識別する送信先識別情報の一例である。受信部データベース32が保持するIPアドレスCONT−IPは、リクエストを受信した受信部12を識別する受信部識別情報の一例である。送信部データベース33が保持するIPアドレスCONT−IPは、リクエストを送信した送信部13を識別する送信部識別情報の一例である。
ログデータベース34が保持するノード番号ND−ID、コンテナ番号CONT−IDおよびプロセス番号PIDは、プロセス14が生成したプロセスを識別するプロセス識別情報の一例である。受信部データベース32が保持するノード番号ND−ID、コンテナ番号CONT−IDおよびプロセス番号PID(to)は、プロセス14が生成したプロセスを識別するプロセス識別情報の一例である。送信部データベース33が保持するプロセス番号PID(from)、ノード番号ND−IDおよびコンテナ番号CONT−IDは、プロセス14が生成したプロセスを識別するプロセス識別情報の一例である。
なお、以降の説明では、ロードバランサデータベース31はLB−DBとも称され、受信部データベース32はRSV−DBとも称され、送信部データベース33はTRS−DBとも称され、ログデータベース34はLOG−DBとも称される。
図9は、図4に示す情報処理システム102内でのリクエストの流れと、ストレージサーバ30に格納される情報との一例を示す。図9では、ユーザ端末54から発行されたユーザリクエストがユーザインタフェース用のコンテナサーバ10−1に転送される(図9(a))。コンテナサーバ10−1において、ロードバランサ41、受信部12、プロセス14にリクエストが順次転送され、プロセス14が生成した次のリクエストが送信部13に転送される(図9(a)、(b)、(c)、(d))。ロードバランサ41、受信部12、プロセス14および送信部13は、図8で説明した識別情報をストレージサーバ30に格納する(図9(e)、(f)、(g)、(h))。プロセス14は、識別情報とともにログLOGをストレージサーバ30に格納する。
コンテナサーバ10−1の送信部13は、リクエスト番号REQ−IDを付加したリクエストを、例えば、アカウント管理用のコンテナサーバ10−2に送信する(図9(i))。コンテナサーバ10−2において、ロードバランサ41、受信部12およびプロセス14にリクエストが順次転送され、ロードバランサ41、受信部12は、識別情報をストレージサーバ30に格納する(図9(j)、(k)、(l)、(m))。プロセス14の実行中にエラーが発生し、プロセス14は、エラーを示すログLOG(ERR)を、識別情報とともにストレージサーバ30に格納する(図9(n))。コンテナサーバ10−2で実行されるプロセス14でエラーが発生したため、ユーザリクエストに基づく処理は中断する。
ユーザリクエストに基づく処理が中断した後、情報処理システム102のシステム管理者等は、中断した原因を解析するため管理サーバ20を操作し、管理サーバ20にログの抽出リクエストを発行させる。ログ抽出部21は、ログの抽出リクエストに基づいて、ストレージサーバ30に格納された識別情報を参照し、ユーザリクエストの発行からエラーが発生した処理までにストレージサーバ30に格納されたログLOGを抽出する。
まず、ログ抽出部21は、LOG−DBにおいて、抽出リクエストで指定されるログLOG(ERR)を含むログ用エントリに含まれるノード番号ND−ID、コンテナ番号CONT−IDおよびプロセス番号PIDを参照する。ログ抽出部21は、参照したノード番号ND−ID、コンテナ番号CONT−IDおよびプロセス番号PIDと同じ識別情報を含む受信部用エントリをRSV−DBから検索する(図9(o))。ログ抽出部21は、検索により特定した受信部用エントリに格納された時刻RSV−TIMEを、エラーが発生したプロセス14が生成された時刻として検出する。そして、ログ抽出部21は、検出した時刻以降にLOG−DBに格納されたログLOGの中からエラーが発生したプロセス14が格納した抽出対象のログLOGを抽出し、抽出したログLOGを図7に示す抽出リスト22に書き込む。
次に、ログ抽出部21は、検索により特定した受信部用エントリに格納されたIPアドレスLB−LP(from)、CONT−IPおよびリクエスト番号REQ−IDを参照する。ログ抽出部21は、LB−DBを検索し、参照したIPアドレスLB−LP(from)、CONT−IPおよびリクエスト番号REQ−IDと同じ識別情報を含む分配部用エントリを特定する(図9(p))。なお、検索により特定した受信部用エントリにリクエスト番号REQ−IDが格納されている場合、ログ抽出部21は、IPアドレスLB−LP(from)、CONT−IPだけでなく、リクエスト番号REQ−IDを参照して、分配部用エントリを検索してもよい。
検索により特定した分配部用エントリにリクエスト番号REQ−IDが格納されている場合、ロードバランサ41にリクエストを発行したコンテナサーバ10(すなわち、他のコンテナサーバ10の送信部13)が存在する。このため、ログ抽出部21は、検索により特定した分配部用エントリに格納されたIPアドレスIP(from)およびリクエスト番号REQ−IDと同じ識別情報を含む送信部用エントリを、TRS−DBから特定する(図9(q))。
次に、ログ抽出部21は、TRS−DBから特定した送信部用エントリに含まれるプロセス番号PID(from)、ノード番号ND−IDおよびコンテナ番号CONT−IDを参照する。ログ抽出部21は、図9(o)と同様に、RSV−DBを検索し、参照したプロセス番号PID(from)、ノード番号ND−IDおよびコンテナ番号CONT−IDと同じ識別情報を含む受信部用エントリを特定する(図9(r))。
ログ抽出部21は、検索により特定した受信部用エントリに格納された時刻RSV−TIMEを、コンテナサーバ10−1の送信部13にリクエストを出力したプロセス14が生成された時刻として検出する。そして、ログ抽出部21は、検出した時刻以降にLOG−DBに格納されたログLOGの中からコンテナサーバ10−1のプロセス14が格納した抽出対象のログLOGを抽出し、抽出したログLOGを抽出リスト22に書き込む。
次に、ログ抽出部21は、検索により特定した受信部用エントリに格納されたIPアドレスLB−LP(from)およびCONT−IPを参照する。ログ抽出部21は、図9(p)と同様に、LB−DBを検索し、参照したIPアドレスLB−LP(from)およびCONT−IPと同じ識別情報を含む分配部用エントリを特定する(図9(s))。
検索により特定した分配部用エントリにリクエスト番号REQ−IDが格納されていない場合、ロードバランサ41が受信したリクエストは、ユーザ端末54から発行されたユーザリクエストである。この場合、ログ抽出部21は、検索によるログLOGの抽出動作を終了する。
図9に示すように、複数のコンテナ11にプロセス14を順次実行させることで、ユーザリクエストに対応する処理を実行する場合にも、ログ抽出部21は、ユーザリクエストに対応してストレージサーバ30に格納された一連のログを取得することができる。
図10は、図4に示す情報処理システム102の動作の一例を示す。図10に示す例では、情報処理システム102は、ユーザによるユーザ端末54の操作に基づいて、ストレージサーバ30等に保存してあるデータを使用してユーザ端末54の画面にグラフを表示する。
まず、ユーザ端末54は、ユーザによるログイン操作に基づいて、ログインリクエスト(ユーザリクエスト)を発行する(図10(a))。ログインリクエストは、図4に示すユーザネットワーク52を介してコンテナサーバ10−1に届く。コンテナサーバ10−1のロードバランサ41は、ログインリクエストに対応するログイン処理を実行させるコンテナ11にログインリクエストを送信し、ログインリクエストに対応する識別情報を、コンテナ管理部15を介してLB−DBに格納する。ここで、ログインリクエストおよび他のリクエストは、例えば、HTTP(Hyper Text Transfer Protocol)に基づくパケットを使用して送受信され、送信元のIPアドレスは、パケットのヘッダに格納される。また、ログインリクエストの認証に使用されるユーザIDおよびパスワードは、パケットのボディに格納される。
ログインリクエストを受信したロードバランサ41がLB−DBに格納する識別情報の例は、図11の分配部用エントリ(a1)に示される。すなわち、ログインリクエストを受信したロードバランサ41は、ユーザ端末54のIPアドレスIP(from)(=10.x.x.x)と自身のIPアドレスLD−IPとをLB−DBに格納する。また、ロードバランサ41は、ログインリクエストを出力するコンテナ11のIPアドレスCONT−IP(to)とコンテナサーバ10−1の機能FUNC(=UI)とをLB−DBに格納する。さらに、ロードバランサ41は、コンテナ11にログインリクエストを出力した時刻LB−TIMEをLB−DBに格納する。なお、図11では、時刻LB−TIME、RSV−TIME、TRS−TIME、LOG−TIMEは、”時分秒”のみを示し、”年月日”は省略される。
ログインリクエストを受信した受信部12は、ログイン処理を実行させるプロセス14を生成し、ログインリクエストに対応する識別情報を、コンテナ管理部15を介してRSV−DBに格納する。ログインリクエストを受信した受信部12がRSV−DBに格納する識別情報の例は、図11の受信部用エントリ(a2)に示される。
すなわち、ログインリクエストを受信した受信部12は、ログインリクエストを出力したロードバランサ41のIPアドレスLD−IP(from)と自身を含むコンテナ11のIPアドレスCONT−IPとをRSV−DBに格納する。また、受信部12は、自身を含むコンテナサーバ10−1のノード番号ND−IDと自身を含むコンテナ11のコンテナ番号CONT−IDとログイン処理を実行させるプロセス14のプロセス番号PID(to)とをRSV−DBに格納する。さらに、受信部12は、ログインリクエストに対応する処理の実行をプロセス14に指示した時刻RSV−TIMEをRSV−DBに格納する。
プロセス14は、ログインリクエストに対応する処理を開始し、ユーザ認証リクエストを送信部13に出力し、プロセス14を識別する識別情報とログとをコンテナ管理部15を介してLOG−DBに格納する。そして、プロセス14は、ユーザ認証リクエストに対応するレスポンスを待つ。ログインリクエストに対応する処理を実行するプロセス14がLOG−DBに格納する識別情報およびログの例は、図11のログ用エントリ(a3)、(a4)に示される。すなわち、プロセス14は、自身が属するノード番号ND−IDおよびコンテナ番号CONT−IDと、プロセス番号PIDとログLOGとをLOG−DBに格納する。また、プロセス14は、識別情報とログとをLOG−DBに格納する時刻LOG−TIMEをLOG−DBに格納する。
ユーザ認証リクエストを受信した送信部13は、ユーザ認証リクエストに対応する識別情報を、コンテナ管理部15を介してTRS−DBに格納する。また、送信部13は、ユーザ認証リクエストを識別するリクエスト番号REQ−IDを生成し、生成したリクエスト番号REQ−IDを付加したユーザ認証リクエストをアカウント管理用のコンテナサーバ10−2に送信する(図10(b))。リクエスト番号REQ−IDを他のコンテナサーバ10に送信する場合、リクエスト番号REQ−IDは、例えば、HTTPに基づくパケットのヘッダに格納される。ユーザ認証リクエストを受信した送信部13がTRS−DBに格納する識別情報の例は、図11の送信部用エントリ(a5)に示される。
すなわち、送信部13は、ユーザ認証リクエストを出力したプロセス14のプロセス番号PID(from)と、自身を含むコンテナサーバ10−1のノード番号ND−IDと、自身を含むコンテナ11のコンテナ番号CONT−IDをTRS−DBに格納する。また、送信部13は、自身を含むコンテナ11のIPアドレスCONT−IPと、新たに生成したリクエスト番号REQ−IDとをTRS−DBに格納する。さらに、送信部13は、ユーザ認証リクエストをコンテナサーバ10−2に送信した時刻TRS−TIMEをTRS−DBに格納する。
ユーザ認証リクエストを受信したコンテナサーバ10−2のロードバランサ41は、ユーザ認証リクエストに対応する認証処理を実行させるコンテナ11にユーザ認証リクエストを出力する。また、ロードバランサ41は、ユーザ認証リクエストに対応する識別情報を、コンテナ管理部15を介してLB−DBに格納する。ユーザ認証リクエストを受信したロードバランサ41がLB−DBに格納する識別情報の例は、図11の分配部用エントリ(b1)に示される。ここで、ユーザ認証リクエストがリクエスト番号REQ−IDを含む場合、識別情報としてリクエスト番号REQ−ID(=”a”)がLB−DBに格納される。
ユーザ認証リクエストを受信した受信部12は、認証処理を実行するプロセス14を生成し、ユーザ認証リクエストに対応する識別情報を、コンテナ管理部15を介してRSV−DBに格納する。ユーザ認証リクエストを受信した受信部12がRSV−DBに格納する識別情報の例は、図11の受信部用エントリ(b2)に示される。
プロセス14は、ユーザ認証リクエストに対応する処理を開始し、アカウント情報参照リクエストを生成して送信部13に出力し、識別情報とログとをコンテナ管理部15を介してLOG−DBに格納する。そして、プロセス14は、アカウント情報参照リクエストに対応するレスポンスを待つ。ユーザ認証リクエストに対応する処理を実行するプロセス14がLOG−DBに格納する識別情報とログとの例は、図11のログ用エントリ(b3)に示される。
アカウント情報参照リクエストを受信した送信部13は、アカウント情報参照リクエストに対応する識別情報を、コンテナ管理部15を介してTRS−DBに格納し、アカウント情報参照リクエストをデータ管理用のコンテナサーバ10−5に送信する(図10(c))。アカウント情報参照リクエストを受信した送信部13がTRS−DBに格納する識別情報の例は、図11の送信部用エントリ(b4)に示される。
アカウント情報参照リクエストを受信したコンテナサーバ10−5のロードバランサ41は、アカウント情報参照リクエストに対応するデータ参照処理を実行させるコンテナ11にアカウント情報参照リクエストを出力する。また、ロードバランサ41は、アカウント情報参照リクエストに対応する識別情報を、コンテナ管理部15を介してLB−DBに格納する。アカウント情報参照リクエストを受信したコンテナサーバ10−5のロードバランサ41がLB−DBに格納する識別情報の例は、図11の分配部用エントリ(c1)に示される。
アカウント情報参照リクエストを受信したコンテナサーバ10−5のコンテナ11の受信部12は、データ参照処理を実行するプロセス14を生成し、アカウント情報参照リクエストに対応する識別情報を、コンテナ管理部15を介してRSV−DBに格納する。アカウント情報参照リクエストを受信した受信部12がRSV−DBに格納する識別情報の例は、図11の受信部用エントリ(c2)に示される。
プロセス14は、アカウント情報参照リクエストに対応する処理を開始し、アカウント情報参照リクエストに対応するアカウント情報(レスポンス)を生成して送信部13に出力する。また、プロセス14は、識別情報とログとをコンテナ管理部15を介してLOG−DBに格納する。アカウント情報参照リクエストに対応する処理を実行するプロセス14がLOG−DBに格納する識別情報とログとの例は、図11のログ用エントリ(c3)に示される。
アカウント情報を受信したコンテナサーバ10−5のコンテナ11の送信部13は、アカウント情報をコンテナサーバ10−2に送信する(図10(d))。なお、送信部13は、アカウント情報等のレスポンスを他のコンテナサーバ10に送信する場合、識別情報をTRS−DBに格納しない。
ここで、図10にX印で示すように、コンテナサーバ10−2とコンテナサーバ10−5間の通信路等の一時的な故障により、コンテナサーバ10−5から送信されたアカウント情報(レスポンス)は、コンテナサーバ10−2に届かない(図10(e))。このため、コンテナサーバ10−2において、ロードバランサ41およびアカウント情報参照リクエストを出力したコンテナ11の受信部12は、アカウント情報(レスポンス)を受信しない。
コンテナサーバ10−2においてアカウント情報参照リクエストを生成したプロセス14は、規定された時間内にアカウント情報(レスポンス)を受信しないため、ログインリクエストに対応する認証処理を中断する。プロセス14は、プロセス14の識別情報と認証処理が失敗したことを示すログLOGとを、コンテナ管理部15を介してログデータベース34に格納する。認証処理を中断したプロセス14がログデータベース34に格納する識別情報とログとの例は、図11のログ用エントリ(d1)、(d2)に示される。図11のログ用エントリ(d1)において、ログLOGの欄に格納された”ERR”は、規定された時間内にアカウント情報(レスポンス)を受信しないためにログインリクエストに対応する認証処理を中断したことを示す。
そして、プロセス14は、送信部13を介して認証の失敗を示すレスポンスをユーザインタフェース用のコンテナサーバ10−1に出力する(図10(f))。なお、プロセス14は、アカウント情報(レスポンス)を正常に受信した場合、アカウント情報(レスポンス)に基づいて、ユーザ認証リクエストが正しいかを確認し、確認結果を示すレスポンスをユーザインタフェース用のコンテナサーバ10−1に出力する。
コンテナサーバ10−1において、ユーザ認証リクエストを生成したプロセス14は、ロードバランサ41および受信部12を介して認証の失敗を示すレスポンスを受信する。プロセス14は、ログインの失敗を示すレスポンスを、送信部13を介してログインリクエストを発行したユーザ端末54に出力する(図10(g))。なお、ロードバランサ41は、他のコンテナサーバ10からアカウント情報等のレスポンスを受信した場合、識別情報をロードバランサデータベース31に格納しない。同様に、受信部12は、他のコンテナサーバ10からアカウント情報等のレスポンスを受信した場合、識別情報を受信部データベース32に格納しない。
コンテナサーバ10−1のプロセス14は、ログインリクエストに対応するレスポンスでは、ログインの完了または失敗を示す表示データをユーザ端末54に出力する。ユーザ端末54は、ログインの完了または失敗を示す表示データを表示装置に表示する。図10に示す例では、ログインの失敗は、ユーザの入力ミスではなく、通信路等の一時的な故障により発生する。この場合、ユーザ端末54の表示装置には、例えば、”500 Internal Server Error”が表示される。表示装置を見たユーザは、例えば、情報処理システム102のシステム管理者に問い合わせる。問い合わせを受けたシステム管理者は、管理サーバ20を操作し、ログデータベース34に保持された情報からエラーログを見つけ、ログの抽出リクエストをログ抽出部21に発行する。ログの抽出リクエストを受信したログ抽出部21が実行するログの抽出動作の例は、図16に示される。
図10の下側にかぎ括弧で囲った動作は、ログインリクエストの認証が成功し、ログインが完了した後、ユーザ端末54の画面にグラフを表示する例を示す。各コンテナサーバ10−1、10−2、10−3、10−4、10−5において、ログインリクエストに対応する動作と同様の動作については、説明が省略される。すなわち、ロードバランサ41は、ユーザ端末54または他のコンテナサーバ10からリクエストを受信した場合、受信したリクエストを処理させるコンテナ11にリクエストを出力し、リクエストに対応する識別情報をロードバランサデータベース31に格納する。受信部12は、リクエストの受信に基づいてプロセス14を生成し、リクエストに対応する識別情報をRSV−DBに格納する。
プロセス14は、リクエストに基づいて処理を開始し、新たなリクエストを生成する場合、新たなリクエストを送信部13に出力し、処理の実行を示すログLOGおよび識別情報をLOG−DBに格納する。送信部13は、プロセス14から新たなリクエストを受信した場合、新たなリクエストに対応する識別情報をTRS−DBに格納し、新たなリクエストをコンテナサーバ10−2に送信する
まず、ユーザ端末54は、ユーザによる操作に基づいて、ストレージサーバ30等が保持する商品の売り上げデータを使用して、月ごとの売り上げの推移を示すグラフを表示させるグラフ表示リクエストを発行する(図10(h))。グラフ表示リクエストを受信したコンテナサーバ10−1のコンテナ11は、ログイン状態を確認するため、グラフ表示リクエストとともにユーザ認証リクエストをコンテナサーバ10−2に出力する(図10(i))。コンテナサーバ10−2のコンテナ11は、ログイン状態を確認した後、ユーザ端末54にグラフを表示させるグラフデータを取得するため、グラフ表示リクエストに対応するグラフ描画リクエストをコンテナサーバ10−3に出力する(図10(j))。
グラフ描画リクエストを受信したコンテナサーバ10−3のコンテナ11は、グラフの描画に使用するグラフ描画用データを取得するため、グラフ描画用データの作成リクエストをコンテナサーバ10−4に出力する(図10(k))。グラフ描画用データの作成リクエストを受信したコンテナサーバ10−4のコンテナ11は、グラフの描画に使用するデータを取得するため、グラフ用データの参照リクエストをコンテナサーバ10−5に出力する(図10(l))。グラフ用データの参照リクエストを受信したコンテナサーバ10−5のコンテナ11は、ストレージサーバ30等からグラフへの表示対象の売り上げデータ(フラグ用の数値データ)を読み出す。そして、コンテナサーバ10−5のコンテナ11は、読み出した数値データを参照リクエストのレスポンスとしてコンテナサーバ10−4に出力する(図10(m))。
コンテナサーバ10−4のコンテナ11は、受信した数値データを使用してグラフ描画用データを作成する(図10(n))。コンテナサーバ10−4のコンテナ11は、作成したグラフ描画用データを、グラフ描画用データの作成リクエストのレスポンスとしてコンテナサーバ10−3に出力する(図10(o))。コンテナサーバ10−3のコンテナ11は、受信したグラフ描画用データを使用して、ユーザ端末54の画面にプロットさせるグラフデータを作成する(図10(p))。コンテナサーバ10−3のコンテナ11は、作成したグラフデータをグラフ描画リクエストのレスポンスとしてコンテナサーバ10−2に出力する(図10(q))。
コンテナサーバ10−2のコンテナ11は、受信したグラフデータをグラフ表示リクエストのレスポンスとしてコンテナサーバ10−1に出力する(図10(r))。コンテナサーバ10−1のコンテナ11は、受信したグラフデータを、ユーザ端末54の画面に表示させるため、グラフ表示リクエストのレスポンスとしてユーザ端末54に出力する(図10(s))。そして、ユーザ端末54は、グラフデータを画面に表示する。
図11は、図10に示すログインリクエストに対応する認証処理において、各コンテナサーバ10がストレージサーバ30に格納する情報の一例を示す。図11において、ロードバランサデータベース31、受信部データベース32、送信部データベース33、ログデータベース34のエントリの左側に示す(a1)、(b1)、(c1)等の符号は、図10の説明との対応を示す。エントリの右側に示す”ログイン”、”アカウント管理”、”データ管理”は、図10で説明したログインリクエストに基づく認証処理において、情報を格納するコンテナサーバ10の種別を示す。また、図11では、時刻LB−TIME、RSV−TIME、TRS−TIME、LOG−TIMEは、”時分秒”のみを示し、”年月日”は省略される。
図12は、図7に示すコンテナ作成履歴データベース35に格納される情報の一例を示す。各コンテナサーバ10のコンテナ管理部15は、コンテナ11を作成する毎に、ノード番号ND−ID、コンテナ番号CONT−IDおよび時刻HIST−TIMEをコンテナ作成履歴データベース35に格納する。ノード番号ND−IDおよびコンテナ番号CONT−IDにより、作成されたコンテナサーバ10が識別される。図12では、時刻HIST−TIMEは、”時分秒”のみを示し、”年月日”は省略される。
図12に示す例は、時刻9:00:00(9時0分0秒)に、コンテナサーバ10−2にコンテナ番号CONT−ID=”21”、”22”の2つのコンテナ11が生成され、コンテナサーバ10−1にコンテナ番号CONT−ID=”11”、”12”の2つのコンテナ11が生成されたことを示す。また、時刻9:02:00に、コンテナサーバ10−5にコンテナ番号CONT−ID=”52”のコンテナ11が生成されたことを示す。以下では、コンテナ作成履歴データベース35は、HIST−DBとも称される。
図13は、図4に示すロードバランサ41の動作の一例を示す。すなわち、図13は、情報処理システム102の制御方法の一例を示す。図13に示す動作は、所定の頻度で繰り返し実行される。
まず、ステップS10において、ロードバランサ41は、ユーザ端末54または他のコンテナサーバ10からリクエストを受信した場合、処理をステップS12に移行し、リクエストを受信しない場合、処理を終了する。ステップS12において、ロードバランサ41は、リクエストに対応する処理を実行させるコンテナ11を決定し、決定したコンテナ11にリクエストを出力する。ロードバランサ41が出力するリクエストは、コンテナ11の受信部12により受信される。次に、ステップS14において、ロードバランサ41は、リクエストに対応する識別情報をLB−DBに格納し、処理を終了する。
図14は、図4に示す各コンテナサーバ10の動作の一例を示す。すなわち、図14は、情報処理システム102の制御方法の一例および情報処理システム102の制御プログラムの一例を示す。図14に示す動作は、所定の頻度で繰り返し実行される。
まず、ステップS20において、コンテナサーバ10のコンテナ11は、受信部12がリクエストを受信した場合、処理をステップS22に移行し、受信部12がリクエストを受信していない場合、処理を終了する。ステップS22において、コンテナサーバ10において、リクエストを受信したコンテナ11の受信部12は、リクエストに対応する処理を実行させるプロセス14を生成し、リクエストに対応する識別情報を、コンテナ管理部15を介しRSV−DBに格納する。
次に、ステップS24において、コンテナサーバ10において、リクエストに対応する処理を実行するために生成されたプロセス14は、処理を開始し、イベントが発生した場合、イベントに対応するログLOGとプロセスを識別する識別情報とを、コンテナ管理部15を介してLOG−DBに格納する。
次に、ステップS26において、コンテナサーバ10において処理を実行するプロセス14は、処理に基づいて発生するリクエストを他のコンテナサーバ10に送信する場合、処理をステップS28に移行する。一方、コンテナサーバ10において処理を実行するプロセス14は、処理に基づくレスポンスをリクエストの発行元に返す場合、処理をステップS36に移行する。
ステップS28において、コンテナサーバ10において処理を実行するプロセス14は、処理に基づいて生成した新たなリクエストを送信部13に出力する。次に、ステップS30において、リクエストを受信した送信部13は、リクエストにリクエスト番号REQ−IDを付加し、他のコンテナサーバ10に送信し、リクエストに対応する識別情報を、コンテナ管理部15を介して送信部データベース33に格納する。次に、ステップS32において、他のコンテナサーバ10にリクエスト番号REQ−IDを付加したリクエストを送信したコンテナ11は、レスポンスの受信を待ち、レスポンスを受信した場合、処理をステップS34に移行する。
ステップS34において、レスポンスを受信したコンテナ11のプロセス14は、レスポンスに基づく処理を実行し、レスポンスを送信部13に出力し、処理をステップS36に移行する。ステップS36において、レスポンスを受信した送信部13は、リクエストの発行元であるユーザ端末54または他のコンテナサーバ10にレスポンスを送信し、処理を終了する。
図15は、図4に示す各コンテナ管理部15によるコンテナ11を管理する動作の一例を示す。すなわち、図15は、情報処理システム102の制御方法の一例を示す。図15に示す動作は、所定の頻度で繰り返し実行される。
まず、ステップS40において、コンテナ管理部15は、自身が属するコンテナサーバ10で実行する処理の量が増大し、現在生成されているコンテナ11で処理可能な処理量を超えることが予想される場合、処理をステップS42に移行する。コンテナ管理部15は、現在生成されているコンテナ11で処理の継続が可能と判断した場合、処理をステップS46に移行する。
ステップS42において、コンテナ管理部15は、新たなコンテナ11を生成し、処理をステップS44に移行する。ステップS44において、コンテナ管理部15は、ノード番号ND−ID、コンテナ番号CONT−IDおよび時刻HIST−TIMEをHIST−DBに格納し、処理を終了する。
ステップS46において、コンテナ管理部15は、自身が属するコンテナサーバ10で実行する処理の量が減少し、現在生成されているコンテナ11よりも少ないコンテナ11で処理が可能と判断した場合、処理をステップS48に移行する。コンテナ管理部15は、現在生成されているコンテナ11で処理可能な処理量と実行中の処理の量との差が所定の範囲内であり、現在生成されているコンテナ11で処理の継続が可能と判断した場合、処理をステップS50に移行する。ステップS48において、コンテナ管理部15は、実行中の処理の量に合わせてコンテナ11の少なくとも1つを削除し、処理を終了する。
ステップS50において、コンテナ管理部15は、受信部12、送信部13またはプロセス14からストレージサーバ30に格納する情報を受信した場合、処理をステップS52に移行し、情報を受信していない場合、処理を終了する。ステップS52において、コンテナ管理部15は、RSV−DB、TRS−DBまたはLOG−DBのいずれかに情報を格納し、処理を終了する。
図16は、図4に示すログ抽出部21の動作の一例を示す。すなわち、図16は、情報処理システム102の制御方法の一例を示す。図16に示す動作は、所定の頻度で繰り返し実行される。
まず、ステップS60において、ログ抽出部21は、LOG−DBのログ用エントリのうち、ログの抽出リクエストで指定されたログ用エントリに格納されたノード番号ND−ID、コンテナ番号CONT−IDおよびプロセス番号PIDを参照する。以下では、LOG−DBに格納されたノード番号ND−ID、コンテナ番号CONT−IDおよびプロセス番号PIDは、RSV特定情報とも称される。
図11に示す例では、エラーを示すログLOG(ERR)が格納されたログ用エントリ(d1)が、抽出リクエストにより指定される。この場合、RSV特定情報は、ノード番号ND−ID=”2”、コンテナ番号CONT−ID”21”、プロセス番号PID=”1”である。ログ抽出部21は、RSV−DBを検索し、RSV特定情報と同じ情報を含む受信部用エントリを特定する。複数の受信部用エントリが特定された場合、ログ抽出部21は、ログLOG(ERR)とともにログ用エントリに格納された時刻LOG−TIMEより前であり、かつ、時刻LOG−TIMEに最も近い時刻RSV−TIMEを保持する受信部用エントリを特定する。図11に示す例では、RSV−TIME=”9:09:50”の受信部用エントリとRSV−TIME=”9:10:20”の受信部用エントリのうち、(b2)に示す受信部エントリが特定される。
次に、ステップS62において、ログ抽出部21は、特定した受信部用エントリが保持する時刻RSV−TIME(抽出対象のプロセス14の生成時刻)をログ抽出の開始時刻に設定し、現在時刻をログ抽出の終了時刻に設定する。現在時刻は、ログ抽出部21がステップS62を実行中の時刻である。図11に示す例では、受信部用エントリ(b2)に含まれる時刻RSV−TIME=”9:09:50”がログ抽出の開始時刻に設定され、現在時刻がログ抽出の終了時刻に設定される。
次に、ステップS64において、ログ抽出部21は、RSV−DBが保持する時刻RSV−TIMEを参照し、開始時刻より後の時刻RSV−TIMEを保持する受信部用エントリのうち、RSV特定情報と同じ情報を含む受信部用エントリがあるか否かを判定する。開始時刻より後に情報が格納された受信部用エントリのうち、RSV特定情報と同じ情報を含む受信部用エントリは、エラーが発生した処理とは異なる処理に対応する情報を保持しているため、抽出対象のログLOGと関係しない。RSV特定情報と同じ情報を含む受信部用エントリがある場合、処理はステップS66に移行され、RSV特定情報と同じ情報を含む受信部用エントリがない場合、処理はステップS68に移行される。図11に示す例では、RSV特定情報と同じ情報を含む受信部用エントリ(RSV−TIME=”9:11:20”)があるため、処理はステップS66に移行される。
ステップS66において、ログ抽出部21は、ステップS64で判明したRSV特定情報と同じ情報を含む受信部用エントリに保持された時刻RSV−TIMEを終了時刻に設定し、処理をステップS68に移行する。図11に示す例では、RSV−TIME=”9:11:20”が終了時刻に設定される。これにより、抽出対象ではないログLOGが抽出されることを抑止することができ、エラーが発生した原因の解析の妨げになることを抑止することができる。換言すれば、マイクロサービスにおいて、コンテナ管理部15によりコンテナ11が削除された後、再度作成され、複数の共通の受信部特定情報がRSV−DBに格納された場合にも、抽出対象ではないログLOGが抽出されることを抑止することができる。
ステップS68において、ログ抽出部21は、LOG−DBのログ用エントリのうち、RSV特定情報と同じ情報を含むログ用エントリであって、開始時刻と終了時刻との間の時刻LOG−TIMEを保持するログ用エントリに含まれるログLOGを抽出する。ログ抽出部21は、抽出したログLOGを図7に示す抽出リスト22に書き込む。図11に示す例では、開始時刻”9:09:50”と終了時刻”9:11:20”との間の時刻LOG−TIME”9:10:00”、”9:10:35”、”9:11:00”、”9:11:15”を保持するログ用エントリからログLOGが抽出される。なお、時刻LOG−TIME”9:11:20”を保持するログ用エントリは、終了時刻より後に格納されたため、ログLOGの抽出対象から外される。
次に、ステップS70において、ログ抽出部21は、ステップS60または後述するステップS76で特定した受信部用エントリが保持するIPアドレスLB−LP(from)、CONT−IPおよびリクエスト番号REQ−IDを参照する。以下では、RSV−DBに格納されたIPアドレスLB−LP(from)、CONT−IPおよびリクエスト番号REQ−IDは、LB特定情報とも称される。ログ抽出部21は、LB−DBの分配部用エントリを検索し、LB特定情報を保持する分配部用エントリを特定する。
次に、ステップS72において、ログ抽出部21は、特定した分配部用エントリにリクエスト番号REQ−IDが含まれるか否かを判定する。特定した分配部用エントリにリクエスト番号REQ−IDが含まれない場合、LB特定情報を含む分配部用エントリの情報は、ユーザ端末54が発行したユーザリクエストに基づいて格納されたものである。この場合、ユーザリクエストに基づいてプロセス14が生成したログLOGは、全て抽出されたため、ログLOGの抽出処理は終了される。一方、特定した分配部用エントリにリクエスト番号REQ−IDが含まれる場合、LB特定情報を含む分配部用エントリの情報は、他のコンテナサーバ10が発行したリクエストに基づいて格納されたものである。この場合、他のコンテナサーバ10のプロセス14が生成したログLOGの抽出が完了していないため、ログLOGの抽出を継続するために、処理はステップS74に移行される。
ステップS74において、ログ抽出部21は、ステップS70で特定したLB−DBの分配部用エントリが保持するIPアドレスIP(from)およびリクエスト番号REQ−IDを参照する。以下では、LB−DBに格納されたIPアドレスIP(from)およびリクエスト番号REQ−IDは、TRS特定情報とも称される。ログ抽出部21は、TRS−DBを検索し、TRS特定情報と同じ情報を含む送信部用エントリを特定する。
次に、ステップS76において、ログ抽出部21は、ステップS74で特定したTRS−DBの送信部用エントリが保持するプロセス番号PID(from)、ノード番号ND−IDおよびコンテナ番号CONT−IDを参照する。すなわち、ログ抽出部21は、ステップS74で特定した送信部用エントリが保持するRSV特定情報を参照する。ログ抽出部21は、RSV−DBを検索し、RSV特定情報と同じ情報を含む受信部用エントリを特定する。この後、処理はステップS62に移行され、ステップS76で特定した受信部用エントリが保持するRSV−TIMEを開始時刻としてLOG−DBからログLOGが抽出される。
以上、図4から図16に示す実施形態においても、図1および図2に示す実施形態と同様の効果を得ることができる。例えば、リクエストに基づいて複数のコンテナ11が順に実行した処理のログLOGを自動的に抽出することができる。また、情報処理システム102が複数のロードバランサ41を有する場合にも、ログ抽出部21は、IPアドレスLB−IPに基づいて、リクエストをコンテナ11に送信したロードバランサ41を特定することができる。
さらに、図4から図16に示す実施形態では、以下に示す効果を得ることができる。すなわち、コンテナ管理部15によりログデータベース34の書き込みを制御することで、プロセス14(アプリケーションプログラム)を修正することなく、プロセス14から出力されるログおよび識別情報をログデータベース34に格納することができる。したがって、プロセス14の汎用性を失なうことなく、複数のコンテナ11により順次実行された処理に伴うログを自動的に抽出することができる。すなわち、マイクロサービスの可用性および可搬性を失うことなく、ログを自動的に抽出することができる。
図16に示すステップS60、S62、S64、S66により、RSV−DBに保持された識別情報に基づいてログを抽出する範囲を設定することで、抽出対象ではないログが抽出されることを抑止することができる。抽出対象ではないログが抽出されないため、エラーが発生した原因の解析の妨げになることを抑止することができる。換言すれば、マイクロサービスにおいて、コンテナ管理部15によりコンテナ11が削除された後、再度作成され、複数の共通の受信部特定情報がRSV−DBに格納された場合にも、抽出対象ではないログLOGが抽出されることを抑止することができる。
LB−DBに格納されたリクエスト番号REQ−IDによりリクエストの発行元を識別することで、IPアドレスIP(from)によりリクエストの発行元を識別する場合に比べて、ログLOGの抽出動作の完了を容易に判定することができる。
以上の図1から図16に示す実施形態に関し、さらに以下の付記を開示する。
(付記1)
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも1つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備え、
前記複数のリクエスト処理部の各々は、
リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力する受信部と、
プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力する送信部と
を備え、
前記プロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力し、
前記リクエスト分配部は、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力すること
を特徴とする情報処理システム。
(付記2)
複数の前記リクエスト分配部を備え、
前記リクエスト分配部の各々は、リクエストを前記複数のリクエスト処理部のいずれかに送信する場合、さらに、自己を識別する分配部識別情報を前記保持部に格納するために出力し、
前記受信部は、処理を実行するプロセスを生成する場合、さらに、リクエストの送信元の前記リクエスト分配部を識別する前記分配部識別情報を前記保持部に格納するために出力すること
を特徴とする付記1記載の情報処理システム。
(付記3)
前記保持部は、前記プロセスからの識別情報およびログを保持する複数のログ用エントリと、前記リクエスト分配部からの識別情報を保持する複数の分配部用エントリと、前記受信部からの識別情報をそれぞれ保持する複数の受信部用エントリと、前記送信部からの識別情報をそれぞれ保持する送信部用エントリとを含み、
前記ログ抽出部は、
前記抽出要求で指定された前記ログ用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持する受信部用エントリを特定し、
特定した受信部用エントリに含まれる受信部識別情報と同じ送信先識別情報を保持する分配部用エントリを特定し、
特定した分配部用エントリに含まれる送信元識別情報と同じ送信部識別情報を保持する送信部用エントリを特定し、
特定した送信部用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持するログ用エントリを特定し、
特定したログ用エントリに含まれるログを抽出し、
特定したログ用エントリに含まれるプロセス識別情報に基づいて受信部用エントリ、分配部用エントリ、送信部用エントリおよびログ用エントリを順次特定し、特定したログ用エントリに含まれるログを抽出する動作を、分配部用エントリに含まれる送信元識別情報が外部の送信元であることを検出するまで繰り返すこと
を特徴とする付記1または付記2記載の情報処理システム。
(付記4)
前記受信部は、プロセス識別情報および受信部識別情報とともに、プロセスを生成した時刻を前記保持部に格納するために出力し、
前記プロセスは、プロセス識別情報およびログとともに、次のリクエストを出力した時刻を前記保持部に格納するために出力し、
前記ログ抽出部は、特定されたログ用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持する複数の受信部用エントリが存在する場合、特定したログ用エントリに含まれる時刻より前の時刻を保持する受信部用エントリのうち、特定したログ用エントリに含まれる時刻に最も近い時刻を保持する受信部用エントリを特定すること
を特徴とする付記3記載の情報処理システム。
(付記5)
前記ログ抽出部は、特定した受信部用エントリに含まれるプロセス識別情報と同じプロセス識別情報を含むエントリのうち、特定した受信部用エントリに含まれる時刻より後の時刻を含むログ用エントリに含まれるログを抽出すること
を特徴とする付記4記載の情報処理システム。
(付記6)
前記受信部および前記送信部が出力した識別情報と、前記プロセスが出力した識別情報およびログとを、前記保持部に書き込む情報書き込み部を備えること
を特徴とする付記1ないし付記5のいずれか1項記載の情報処理システム。
(付記7)
前記保持部は、
前記リクエスト分配部が出力する識別情報を保持する分配部データベースと、
前記受信部が出力する識別情報を保持する受信部データベースと、
前記プロセスが出力する識別情報およびログを保持するログデータベースと、
前記送信部が出力する識別情報を保持する送信部データベースと
を備えることを特徴とする付記1ないし付記6のいずれか1項記載の情報処理システム。
(付記8)
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも1つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備える情報処理システムの制御方法において、
前記複数のリクエスト処理部の各々で機能する受信部が、リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力し、
前記複数のリクエスト処理部の各々で機能する送信部が、プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力し、
受信部により生成された前記プロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力し、
前記リクエスト分配部は、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力すること
を特徴とする情報処理システムの制御方法。
(付記9)
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも1つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備え、
前記リクエスト分配部が、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力する情報処理システムの制御プログラムにおいて、
前記複数のリクエスト処理部の各々で機能する受信部に、リクエストの受信に基づいて、処理を実行するプロセスを生成させるとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力させ、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力させ、
前記複数のリクエスト処理部の各々で機能する送信部に、プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信させるとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力させ、
受信部により生成された前記プロセスに、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力させること
を特徴とする情報処理システムの制御プログラム。
(付記10)
リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも1つの情報処理装置と、
リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
を備え、
前記リクエスト分配部が、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力する情報処理システムの制御プログラムを記録した記録媒体において、
前記複数のリクエスト処理部の各々で機能する受信部に、リクエストの受信に基づいて、処理を実行するプロセスを生成させるとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力させ、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力させ、
前記複数のリクエスト処理部の各々で機能する送信部に、プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信させるとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力させ、
受信部により生成された前記プロセスに、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力させること
を特徴とする情報処理システムの制御プログラムを記録したことを特徴とする記録媒体。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
1…情報処理装置;1a…演算処理部;2a…記憶部;2c…記録媒体;3…リクエスト処理部;4…受信部;5…プロセス;6…送信部;7…リクエスト分配部;8…保持部;8a…分配部データベース;8b…受信部データベース;8c…ログデータベース;8d…送信部データベース;9…ログ抽出部;10…コンテナサーバ;11…コンテナ;12…受信部;13…送信部;14…プロセス;15…コンテナ管理部;20…管理サーバ;21…ログ抽出部;22…抽出リスト;30…ストレージサーバ;31…ロードバランサデータベース;32…受信部データベース;33…送信部データベース;34…ログデータベース;35…コンテナ作成履歴データベース;40…ロードバランサ;41…ロードバランサ;50…管理ネットワーク;52…ユーザネットワーク;54…ユーザ端末;60…情報処理装置;61…CPU;62…チップセット;63…メモリ;64…HDD;65…入出力インタフェース部;66…通信インタフェース部;70…キーボード;71…マウス;72…表示装置;73…メディアドライブ装置;74…記録媒体;100、102…情報処理システム

Claims (8)

  1. リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも1つの情報処理装置と、
    リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
    リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
    前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
    を備え、
    前記複数のリクエスト処理部の各々は、
    リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力する受信部と、
    プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力する送信部と
    を備え、
    前記プロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力し、
    前記リクエスト分配部は、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力すること
    を特徴とする情報処理システム。
  2. 複数の前記リクエスト分配部を備え、
    前記リクエスト分配部の各々は、リクエストを前記複数のリクエスト処理部のいずれかに送信する場合、さらに、自己を識別する分配部識別情報を前記保持部に格納するために出力し、
    前記受信部は、処理を実行するプロセスを生成する場合、さらに、リクエストの送信元の前記リクエスト分配部を識別する前記分配部識別情報を前記保持部に格納するために出力すること
    を特徴とする請求項1記載の情報処理システム。
  3. 前記保持部は、前記プロセスからの識別情報およびログを保持する複数のログ用エントリと、前記リクエスト分配部からの識別情報を保持する複数の分配部用エントリと、前記受信部からの識別情報をそれぞれ保持する複数の受信部用エントリと、前記送信部からの識別情報をそれぞれ保持する送信部用エントリとを含み、
    前記ログ抽出部は、
    前記抽出要求で指定された前記ログ用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持する受信部用エントリを特定し、
    特定した受信部用エントリに含まれる受信部識別情報と同じ送信先識別情報を保持する分配部用エントリを特定し、
    特定した分配部用エントリに含まれる送信元識別情報と同じ送信部識別情報を保持する送信部用エントリを特定し、
    特定した送信部用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持するログ用エントリを特定し、
    特定したログ用エントリに含まれるログを抽出し、
    特定したログ用エントリに含まれるプロセス識別情報に基づいて受信部用エントリ、分配部用エントリ、送信部用エントリおよびログ用エントリを順次特定し、特定したログ用エントリに含まれるログを抽出する動作を、分配部用エントリにリクエスト識別情報が含まれなくなるまで繰り返すこと
    を特徴とする請求項1または請求項2記載の情報処理システム。
  4. 前記受信部は、プロセス識別情報および受信部識別情報とともに、プロセスを生成した時刻を前記保持部に格納するために出力し、
    前記プロセスは、プロセス識別情報およびログとともに、次のリクエストを出力した時刻を前記保持部に格納するために出力し、
    前記ログ抽出部は、特定されたログ用エントリに含まれるプロセス識別情報と同じプロセス識別情報を保持する複数の受信部用エントリが存在する場合、特定したログ用エントリに含まれる時刻より前の時刻を保持する受信部用エントリのうち、特定したログ用エントリに含まれる時刻に最も近い時刻を保持する受信部用エントリを特定すること
    を特徴とする請求項3記載の情報処理システム。
  5. 前記ログ抽出部は、特定した受信部用エントリに含まれるプロセス識別情報と同じプロセス識別情報を含むエントリのうち、特定した受信部用エントリに含まれる時刻より後の時刻を含むログ用エントリに含まれるログを抽出すること
    を特徴とする請求項4記載の情報処理システム。
  6. 前記受信部および前記送信部が出力した識別情報と、前記プロセスが出力した識別情報およびログとを、前記保持部に書き込む情報書き込み部を備えること
    を特徴とする請求項1ないし請求項5のいずれか1項記載の情報処理システム。
  7. リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも1つの情報処理装置と、
    リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
    リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
    前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
    を備える情報処理システムの制御方法において、
    前記複数のリクエスト処理部の各々で機能する受信部が、リクエストの受信に基づいて、処理を実行するプロセスを生成するとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力し、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力し、
    前記複数のリクエスト処理部の各々で機能する送信部が、プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信するとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力し、
    受信部により生成された前記プロセスは、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力し、
    前記リクエスト分配部は、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力すること
    を特徴とする情報処理システムの制御方法。
  8. リクエストを順に処理する複数のリクエスト処理部として機能する演算処理部を有する少なくとも1つの情報処理装置と、
    リクエストを前記複数のリクエスト処理部のいずれかに送信するリクエスト分配部と、
    リクエストを処理した前記リクエスト処理部を識別する識別情報と、リクエストに基づいて実行した処理のログとを保持する保持部と、
    前記ログを抽出する抽出要求に基づいて、前記保持部に保持された前記識別情報を参照し、リクエストの処理順にしたがって前記ログを前記保持部から抽出するログ抽出部と
    を備え、
    前記リクエスト分配部が、リクエストを処理させる前記複数のリクエスト処理部のいずれかにリクエストを送信するとともに、リクエストの送信元の前記リクエスト処理部を識別する送信元識別情報と、リクエストの送信先の前記リクエスト処理部を識別する送信先識別情報と、リクエスト識別情報とを前記保持部に格納するために出力する情報処理システムの制御プログラムにおいて、
    前記複数のリクエスト処理部の各々で機能する受信部に、リクエストの受信に基づいて、処理を実行するプロセスを生成させるとともに、生成したプロセスを識別するプロセス識別情報と、自己を識別する受信部識別情報とを前記保持部に格納するために出力させ、リクエストを識別するリクエスト識別情報がリクエストに含まれる場合、リクエスト識別情報を前記保持部に格納するために出力させ、
    前記複数のリクエスト処理部の各々で機能する送信部に、プロセスから出力される次のリクエストにリクエスト識別情報を付加して前記リクエスト分配部に送信させるとともに、次のリクエストを出力したプロセスを識別するプロセス識別情報と、リクエスト識別情報と、自己を識別する送信部識別情報とを前記保持部に格納するために出力させ、
    受信部により生成された前記プロセスに、リクエストに対応して、プロセスを識別するプロセス識別情報とログとを前記保持部に格納するために出力させること
    を特徴とする情報処理システムの制御プログラム。
JP2016244507A 2016-12-16 2016-12-16 情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム Active JP6756259B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016244507A JP6756259B2 (ja) 2016-12-16 2016-12-16 情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
US15/832,901 US10579429B2 (en) 2016-12-16 2017-12-06 Log system and log method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016244507A JP6756259B2 (ja) 2016-12-16 2016-12-16 情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2018097793A JP2018097793A (ja) 2018-06-21
JP6756259B2 true JP6756259B2 (ja) 2020-09-16

Family

ID=62561680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016244507A Active JP6756259B2 (ja) 2016-12-16 2016-12-16 情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム

Country Status (2)

Country Link
US (1) US10579429B2 (ja)
JP (1) JP6756259B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7338246B2 (ja) * 2019-06-05 2023-09-05 富士通株式会社 情報処理装置、ログ参照プログラム
JP7510335B2 (ja) 2020-11-10 2024-07-03 Kddi株式会社 自動化システム、サーバ、自動化方法及びコンピュータプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596585B2 (en) * 2004-11-03 2009-09-29 Honeywell International Inc. Object replication using information quality of service
WO2013016584A1 (en) 2011-07-26 2013-01-31 Nebula, Inc. Systems and methods for implementing cloud computing
JP6215359B2 (ja) 2013-01-31 2017-10-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated 複数のコンピューティングデバイスにわたる情報へのアクセスの提供
US9529630B1 (en) * 2015-01-21 2016-12-27 Pivotal Software, Inc. Cloud computing platform architecture

Also Published As

Publication number Publication date
JP2018097793A (ja) 2018-06-21
US10579429B2 (en) 2020-03-03
US20180173569A1 (en) 2018-06-21

Similar Documents

Publication Publication Date Title
JP7055206B2 (ja) アセット管理システム、方法、装置、および電子デバイス
US10764299B2 (en) Access control manager
US20200084203A1 (en) Cluster claim
US20090037523A1 (en) System and Method for Synchronizing an Offline Web-Based Application with an Online Web-Based Application
US20100042636A1 (en) Internet server system, method of creating virtual machine of the internet server and method of starting the same
US20090259744A1 (en) System and Method for Running a Web-Based Application while Offline
US20110078333A1 (en) Synchronization of server-side cookies with client-side cookies
CN101777047A (zh) 多租户环境下访问数据库的***、设备和方法
US20140282420A1 (en) Test automation booster
JP2014044553A (ja) プログラム、情報処理装置および情報処理システム
JP6756259B2 (ja) 情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
JP6551510B2 (ja) 情報処理装置、機器連携認証プログラム及び機器連携認証方法
KR101032386B1 (ko) 가상 머신을 이용한 응용 프로그램 제공 방법 및 시스템,가상 응용 프로그램 수행 방법, 가상 머신 모듈 및 온라인서비스 제공 방법
CN112653665A (zh) 一种基于云服务的数据隔离交互方法及***
JP2018536247A (ja) クラウドベースのセッション管理システム
Bartlett Building Scalable PHP Web Applications Using the Cloud: A Simple Guide to Programming and Administering Cloud-Based Applications
US9529679B2 (en) Volume snapshot in a shared environment
US11652849B2 (en) Identifying recommended feature sets based on application feature popularity
AU2016253706B2 (en) Data structure and algorithm to track machines
WO2021223628A1 (en) Secure data replication in distributed data storage environments
CN102378964B (zh) 创建虚拟进程的进程内中介
JP2022101477A (ja) イーサリアム仮想マシンのトランザクション処理方法、装置、機器、および媒体
JP2022032116A (ja) データ移行方法、データ移行システム、およびノード
US10929250B2 (en) Method and system for reliably restoring virtual machines
WO2023188092A1 (ja) 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20170803

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170803

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170804

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200625

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200728

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200810

R150 Certificate of patent or registration of utility model

Ref document number: 6756259

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150