(57)【要約】      （修正有）【課題】特定のソフトウェアの動作の異常を検出する評価プログラムを提供する。【解決手段】ベンチマーク動作表１５０は、特定のソフトウェア（顧客アプリ１１０又はベンチマーク１６０）によってサービス２１０ａ〜ｃに出力されたＡＰＩメソッド及びパラメータを対応付けて保持する。ベンチマークは、ベンチマーク動作表を基に、ＡＰＩリクエストを生成し、サービスを呼び出し、処理を実行させる。ＡＰＩリクエスト、サービスからのレスポンス内容、通信時刻等を含む第１ログ情報を生成し、ログ収集機能部２７０に出力し、ＡＰＩ呼び出しパターン表２５０を参照し、ベンチマーク動作表を更新する。ログ収集機能部は、ベンチマークから収集した第１ログ情報を基に、ログパターン表２６０を生成し、サービスから収集した第２ログ情報を基に、ＡＰＩ呼び出しパターン表を生成し、ログパターン表を解析し、ベンチマークに関する評価を実行し、評価結果を出力する。【選択図】図１
2018005635.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
ソフトウェアの指定を受け付け、
特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得し、
取得した前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、
実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得し、
取得した前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、
評価結果を出力する
処理を実行させることを特徴とする評価プログラム。
【請求項２】
前記特定のソフトウェアが存在する層は、前記特定のソフトウェアが実行依頼を行う他のソフトウェアが存在する層とは異なる層であることを特徴とする請求項１に記載の評価プログラム。
【請求項３】
前記他のソフトウェアが実行依頼を実行した際のログ情報を収集し、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新することを特徴とする請求項１または２に記載の評価プログラム。
【請求項４】
前記特定のソフトウェアは、顧客に設定された第１のソフトウェアと前記第１のソフトウェアとは異なる第２のソフトウェアとを含み、前記他のソフトウェアが実行依頼を実行した際のログ情報を収集する処理は、前記他のソフトウェアが、前記第１のソフトウェアによる実行依頼を実行した際のログ情報を収集することを特徴とする請求項３に記載の評価プログラム。
【請求項５】
コンピュータが実行する評価方法であって、
ソフトウェアの指定を受け付け、
特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得し、
取得した前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、
実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得し、
取得した前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、
評価結果を出力する
処理を実行することを特徴とする評価方法。
【請求項６】
ソフトウェアの指定を受け付け、特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得する第１取得部と、
前記第１取得部によって取得された前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得する第２取得部と、
前記第２取得部によって取得された前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、評価結果を出力する評価部と
を有することを特徴とする評価装置。
【請求項７】
ソフトウェアの指定を受け付け、特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得する第１取得部と、
前記第１取得部によって取得された前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得する第２取得部と、
前記第２取得部によって取得された前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、評価結果を出力する評価部と、
前記他のソフトウェアが実行依頼を実行した際のログ情報を収集するログ収集部と
を有することを特徴とする情報処理装置。
【請求項８】
前記ログ収集部によって収集されたログ情報を基にして、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新する更新部を更に有することを特徴とする請求項７に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価プログラム等に関する。
【背景技術】
【０００２】
複数のソフトウェアが連携するシステムでは、あるソフトウェアを更新することにより、連携先のソフトウェアの動作に異常が発生する場合がある。ここで、運用者がシステムの全てのソフトウェアを管理していれば、各ソフトウェアのログ情報や性能情報を自由に解析できるため、異常の発生を検出することや、異常の発生原因を検出することが可能であった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１１５７５１号公報
【特許文献２】特開２０１０−０８６５１６号公報
【特許文献３】国際公開第２０１３／１７１９４４号
【特許文献４】特表２０１６−５０７１１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、特定のソフトウェアの動作の異常を検出することができないという問題がある。
【０００５】
近年のパブリッククラウドでは、ＩａａＳ（Infrastructure  as  a  Service）層、ＰａａＳ（Platform  as  a  Service）層、ＳａａＳ（Software  as  a  Service）層等のようにレイヤが分かれており、レイヤ毎に開発者や運用者が異なる。また、コンプライアンス上、あるレイヤの運用者が、他のレイヤの運用者が管理しているログ情報・性能情報を許可なく収集・分析することができない。このため、あるレイヤの運用者が他のレイヤで発生するソフトウェアの動作の異常の発生を検出することや、異常の発生原因を検出することが難しかった。
【０００６】
１つの側面では、本発明は、特定のソフトウェアの動作の異常を検出することができる評価プログラム、評価方法、評価装置および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、コンピュータは、ソフトウェアの指定を受け付ける。コンピュータは、特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得する。コンピュータは、取得した実行条件を用いて、指定されたソフトウェアの実行依頼を実行する。コンピュータは、実行した実行依頼に応じて、指定されたソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得し、取得したログ情報に基づき、特定のソフトウェアに関する評価を実行し、評価結果を出力する。
【発明の効果】
【０００８】
特定のソフトウェアの動作の異常を検出することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施例に係るシステムの構成を示す図である。
【図２】図２は、ベンチマーク動作表のデータ構造の一例を示す図である。
【図３】図３は、第１ログ情報のデータ構造の一例を示す図である。
【図４】図４は、ログパターンの一例を示す図である。
【図５】図５は、第２ログ情報のデータ構造の一例を示す図である。
【図６】図６は、ＡＰＩ呼び出しパターン表のデータ構造の一例を示す図である。
【図７】図７は、ログパターン表のデータ構造の一例を示す図である。
【図８】図８は、ベンチマークの構成を示す機能ブロック図である。
【図９】図９は、更新部の処理の一例を示す図（１）である。
【図１０】図１０は、更新部の処理の一例を示す図（２）である。
【図１１】図１１は、ログ収集機能部の構成を示す機能ブロック図である。
【図１２】図１２は、ＡＰＩ呼び出しパターン表更新部の更新処理の一例を説明するための図である。
【図１３】図１３は、第２ログ情報の一例を示す図である。
【図１４】図１４は、運営者の端末装置に通知されるエラー情報の一例を示す図である。
【図１５】図１５は、ベンチマークがベンチマーク動作表を更新する処理手順を示すフローチャートである。
【図１６】図１６は、ベンチマークがＡＰＩリクエストを送信する処理手順を示すフローチャートである。
【図１７】図１７は、ログ収集機能部がＡＰＩ呼び出しパターン表を更新する処理手順を示すフローチャートである。
【図１８】図１８は、ログ収集機能部がベンチマークを評価する処理手順を示すフローチャートである。
【図１９】図１９は、情報処理装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する評価プログラム、評価方法、評価装置および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１１】
図１は、本実施例に係るシステムの構成を示す図である。図１に示すように、このシステムは、ＰａａＳ（Platform  as  a  Service）１００と、ＩａａＳ（Infrastructure  as  a  Service）２００とを有する。
【００１２】
ＰａａＳ１００は、各種のソフトウェアが稼働するためのハードウェアやＯＳ（Operating  System）等のプラットフォーム一式をインターネット上のサービスとして提供するものである。例えば、ＰａａＳ１００は、顧客アプリ１１０と、ベンチマーク動作表１５０と、ベンチマーク１６０とを有する。ここでは、顧客アプリ１１０、ベンチマーク１６０のみを示すが、ＰａａＳ１００は、その他の顧客アプリ、ベンチマークを有していても良い。
【００１３】
ＩａａＳ２００は、仮想サーバ等の機材やネットワーク等のインフラを、インターネット上のサービスとして提供するものである。例えば、ＩａａＳ２００は、サービス群２０５と、ＡＰＩ呼び出しパターン表２５０と、ログパターン表２６０と、ログ収集機能部２７０とを有する。
【００１４】
顧客アプリ１１０は、顧客によって配備されるソフトウェア（アプリケーションプログラム）である。顧客アプリ１１０は、ＡＰＩ（Application  Program  Interface）リクエストによって、サービス群２０５に含まれるサービスを呼び出し、呼び出したサービスに処理を実行させる。例えば、ＡＰＩリクエストには、ＡＰＩメソッドと、パラメータとを有する。例えば、ＡＰＩメソッドには、呼び出し対象となるサービスを特定する情報が含まれる。パラメータは、サービスが処理を実行する場合の条件に対応する。なお、コンプライアンス上、顧客アプリ１１０から直接、ログ情報や性能情報を自由に解析することは難しい。
【００１５】
ベンチマーク動作表１５０は、特定のソフトウェアによってサービスに出力されたＡＰＩメソッドおよびパラメータを対応付けて保持するテーブルである。特定のソフトウェアは、例えば、顧客アプリ１１０またはベンチマーク１６０に対応する。
【００１６】
図２は、ベンチマーク動作表のデータ構造の一例を示す図である。図２に示すように、このベンチマーク動作表１５０は、サービス識別情報と、ＡＰＩメソッドと、パラメータ１、パラメータ２とを対応付ける。サービス識別情報は、ＡＰＩリクエストを送信するサービスを一意に識別する情報である。ＡＰＩメソッドは、ＰａａＳ１００の特定のソフトウェアがＩａａＳ２００のサービスを呼び出す場合に用いたＡＰＩメソッドを示す。パラメータ１，２は、ＡＰＩメソッドによって呼び出したサービスに対して指定した実行条件である。例えば、パラメータ１，２には、名前、値、型が含まれる。
【００１７】
ベンチマーク１６０は、ベンチマーク動作表１５０を基にして、ＡＰＩリクエストを生成する。ベンチマーク１６０は、生成したＡＰＩリクエストにより、サービス群２０５に含まれるサービスを呼び出し、呼び出したサービスに処理を実行させる。
【００１８】
ベンチマーク１６０は、ＡＰＩリクエスト、呼び出したサービスからのレスポンス内容、通信時刻等を含む第１ログ情報を生成する。ベンチマーク１６０は、生成した第１ログ情報を、ログ収集機能部２７０に出力する。
【００１９】
図３は、第１ログ情報のデータ構造の一例を示す図である。図３に示すように、この第１ログ情報は、サービス識別情報と、ＡＰＩメソッドと、パラメータ１，２と、ログパターンとを対応付ける。サービス識別情報は、ベンチマーク１６０がＡＰＩリクエストを送信したサービスを一意に識別する情報である。ＡＰＩメソッド、パラメータ１，２は、ベンチマーク１６０がサービスに出力したＡＰＩリクエストに対応するものである。ログパターンは、ベンチマーク１６０が、ＡＰＩリクエストをサービス２１０に送信し、サービス２１０とベンチマーク１６０との間でやり取りしたログ情報を含む。ログパターンの一例について説明する。
【００２０】
図４は、ログパターンの一例を示す図である。図４に示すように、ログパターンは、時刻と、サービス２１０およびベンチマーク１６０間でやり取りしたログ情報とを対応付ける。
【００２１】
ベンチマーク１６０は、ＡＰＩ呼び出しパターン表２５０を参照し、ベンチマーク動作表１５０を更新する。例えば、ベンチマーク１６０は、ＡＰＩ呼び出しパターン表２５０に存在しない、ＡＰＩメソッドとパラメータとの組を、ベンチマーク動作表１５０に登録することで、ベンチマーク動作表１５０を更新する。
【００２２】
サービス群２０５は、サービス２１０ａ，２１０ｂ，２１０ｃを有する。サービス２１０ａ〜２１０ｃをまとめて適宜、サービス２１０と表記する。サービス２１０は、顧客アプリ１１０またはベンチマーク１６０からＡＰＩリクエストを受け付けた場合に、ＡＰＩリクエストに含まれるＡＰＩメソッド、パラメータに基づき、処理を実行する。例えば、サービス２１０は、実行結果を基にして第２ログ情報を生成する。
【００２３】
図５は、第２ログ情報のデータ構造の一例を示す図である。図５に示すように、第２ログ情報は、送信元識別情報、時刻、サービス識別情報、ＡＰＩメソッド、パラメータ１，２を有する。例えば、送信元識別情報は、ＡＰＩリクエストの送信元を一意に識別する情報である。本実施例では、送信元識別情報は、顧客アプリ１１０またはベンチマーク１６０となる。時刻は、サービス２１０が処理を実行した時刻である。サービス識別情報は、処理を実行したサービスを一意に識別する情報である。ＡＰＩメソッド、パラメータ１，２は、ベンチマーク１６０がサービスに出力したＡＰＩリクエストに対応するものである。
【００２４】
ＡＰＩ呼び出しパターン表２５０は、第２ログ情報のうち、送信元識別情報がベンチマーク１６０となる第２ログ情報を格納するものである。図６は、ＡＰＩ呼び出しパターン表のデータ構造の一例を示す図である。図６に示すように、ＡＰＩ呼び出しパターン表２５０は、時刻、サービス識別情報、ＡＰＩメソッド、パラメータ１，２を有する。時刻、サービス識別情報、ＡＰＩメソッド、パラメータ１，２に関する説明は、図５の説明と同様である。
【００２５】
ログパターン表２６０は、第１ログ情報に基づき生成される情報である。図７は、ログパターン表のデータ構造の一例を示す図である。図７に示すように、ログパターン表２６０は、サービス識別情報と、ＡＰＩメソッドと、パラメータ１，２と、ログパターンとを対応付ける。サービス識別情報と、ＡＰＩメソッド、パラメータ１，２、ログパターンに関する説明は、図３と同様である。
【００２６】
ログ収集機能部２７０は、ベンチマーク１６０から第１ログ情報を収集し、サービス群２０５のサービス２１０から第２ログ情報を収集する処理部である。ログ収集機能部２７０は、第１ログ情報を基にして、ログパターン表２６０を生成する。ログ収集機能部２７０は、第２ログ情報を基にして、ＡＰＩ呼び出しパターン表２５０を生成する。
【００２７】
ログ収集機能部２７０は、ログパターン表２６０を解析し、ベンチマーク１６０に関する評価を実行し、評価結果を出力する。
【００２８】
次に、図１に示したベンチマーク１６０の構成の一例について説明する。図８は、ベンチマークの構成を示す機能ブロック図である。図８に示すように、このベンチマーク１６０は、更新部１６１と、ＡＰＩリクエスト送信部１６２と、第１ログ情報生成部１６３とを有する。
【００２９】
更新部１６１は、ＡＰＩ呼び出しパターン表２５０を参照し、ベンチマーク動作表１５０を更新する処理部である。図９および図１０は、更新部の処理の一例を示す図である。図９について説明する。図９では、更新前のベンチマーク動作表１５０ａと、更新後のベンチマーク動作表１５０ｂとを示す。なお、ベンチマーク動作表１５０ａは、サービス２１０ａに対するベンチマーク動作表であるとする。
【００３０】
例えば、更新部１６１は、ＡＰＩ呼び出しパターン表２５０を参照し、サービス２１０ａに送信されたＡＰＩリクエストについて、ベンチマーク動作表１５０ａに存在しないＡＰＩリクエストを検出したとする。例えば、係るＡＰＩリクエストを、ＡＰＩメソッド「PUT/aaa/xxx」、パラメータ１「名前  mode、値  modeC、型  固定文字列」、パラメータ２「名前  name、値  なまえＥ、型  任意文字列」とする。この場合には、ベンチマーク動作表１５０ａに、対応するＡＰＩリクエストのレコードを登録することで、ベンチマーク動作表１５０ｂを生成する。
【００３１】
図１０について説明する。図１０では、更新前のベンチマーク動作表１５０ｃと、更新後のベンチマーク動作表１５０ｄとを示す。なお、ベンチマーク動作表１５０ｃは、サービス２１０ｂに対するベンチマーク動作表であるとする。
【００３２】
例えば、更新部１６１は、ＡＰＩ呼び出しパターン表２５０を参照し、サービス２１０ｂに送信されたＡＰＩリクエストについて、ベンチマーク動作表１５０ｃに存在しないＡＰＩリクエストを検出したとする。例えば、係るＡＰＩリクエストを、ＡＰＩメソッド「POST/bbb/xxx」、パラメータ１「名前  user、値  USERA、型  任意文字列」、パラメータ２「名前  limit、値  510、型  数値」とする。この場合には、ベンチマーク動作表１５０ｃに、対応するＡＰＩリクエストのレコードを登録することで、ベンチマーク動作表１５０ｄを生成する。
【００３３】
ここで、更新部１６１は、登録したパラメータの名前および型が一致するレコードを選択し、選択したレコードの値を比較し、比較した値の差が閾値未満である場合には、該当するパラメータの情報「名前、値、型」の情報を削除する。例えば、図１０に示す例では、ベンチマーク動作表１５０ｄの１行目のレコードのパラメータ２と、４行目のレコードのパラメータ２との間で、名前と型が一致し、値の差が閾値未満となる。この場には、更新部１６１は、４行目のレコードのパラメータ２を「−」に設定することで、ベンチマーク動作表１５０ｅを生成する。
【００３４】
ＡＰＩリクエスト送信部１６２は、ＡＰＩリクエストを生成し、生成したＡＰＩリクエストを、サービス２１０に送信する処理部である。ＡＰＩリクエスト送信部１６２は、第１取得部の機能を有する。例えば、ＡＰＩリクエスト送信部１６２は、ベンチマーク動作表１５０から未選択のレコードを選択し、選択したレコードに含まれるＡＰＩメソッドおよびパラメータ１，２をＡＰＩリクエストに格納し、サービス２１０に送信する。ＡＰＩリクエスト送信部１６２が送信するサービス２１０は、予め管理者が設定しておいても良い。
【００３５】
また、ＡＰＩリクエスト送信部１６２は、ＡＰＩリクエストの送信先となるサービス２１０の指定を受け付けても良い。ＡＰＩリクエスト送信部１６２は、サービス２１０の指定を受け付けた場合に、サービスに対応するＡＰＩメソッドおよびパラメータ１，２を取得し、ＡＰＩリクエストを生成する。そして、ＡＰＩリクエスト送信部１６２は、生成したＡＰＩリクエストを、指定されたサービス２１０に送信する。
【００３６】
ＡＰＩリクエスト送信部１６２は、指定されたサービス２１０に対応するＡＰＩメソッドおよびパラメータ１，２が複数種類存在する場合には、各ＡＰＩメソッド、パラメータ１，２について、それぞれＡＰＩリクエストを生成する。ＡＰＩリクエスト送信部１６２は、各ＡＰＩリクエストを、順に、指定されたサービス２１０に送信する。
【００３７】
第１ログ情報生成部１６３は、ＡＰＩリクエストの送信先となるサービス２１０とベンチマーク１６０との情報のやり取りを監視し、第１ログ情報を生成する処理部である。第１ログ情報生成部１６３は、第１ログ情報を、ログ収集機能部２７０に出力する。
【００３８】
第１ログ情報のデータ構造は、図３で説明したものに対応する。例えば、第１ログ情報生成部１６３は、ベンチマーク１６０がＡＰＩリクエストを送信してから、ＡＰＩリクエストに対応する処理が終了するまでにやり取りされる情報を第１ログ情報として生成する。第１ログ情報生成部１６３は、ＡＰＩリクエストがサービス２１０に送信される度に、上記処理を繰り返し実行する。
【００３９】
次に、図１に示したログ収集機能部２７０の構成の一例について説明する。図１１は、ログ収集機能部の構成を示す機能ブロック図である。図１１に示すように、このログ収集機能部２７０は、第１ログ情報取得部２７１と、ログパターン表更新部２７２と、第２ログ情報取得部２７３と、ＡＰＩ呼び出しパターン表更新部２７４と、評価部２７５とを有する。
【００４０】
第１ログ情報取得部２７１は、ベンチマーク１６０から第１ログ情報を取得する処理部である。第１ログ情報取得部２７１は、第２取得部の機能を有する。第１ログ情報取得部２７１は、取得した第１ログ情報をログパターン表更新部２７２に出力する。
【００４１】
ログパターン表更新部２７２は、第１ログ情報を取得した場合に、第１ログ情報によって、ログパターン表２６０を更新する処理部である。例えば、ログパターン表更新部２７１は、第１ログ情報を、ログパターン表２６０に登録することで、ログパターン表２６０を更新する。
【００４２】
第２ログ情報取得部２７３は、サービス２１０から第２ログ情報を取得する処理部である。第２ログ情報取得部２７３は、ログ収集部の機能を有する。第２ログ情報取得部２７３は、取得した第２ログ情報をＡＰＩ呼び出しパターン表更新部２７４に出力する。
【００４３】
ＡＰＩ呼び出しパターン表更新部２７４は、第２ログ情報を取得した場合に、ＡＰＩ呼び出しパターン表２５０を更新する処理部である。以下において、ＡＰＩ呼び出しパターン表更新部２７４の処理の一例について説明する。
【００４４】
ＡＰＩ呼び出しパターン表更新部２７４は、第２ログ情報を取得し、第２ログ情報に含まれる送信元識別情報が「ベンチマーク１６０」である場合には、後述する更新処理を行わず、次の第２ログ情報を取得するまで待機する。
【００４５】
ＡＰＩ呼び出しパターン表更新部２７４は、第２ログ情報を取得し、第２ログ情報に含まれる送信元識別情報が「顧客アプリ１１０」である場合には、後述する更新処理を実行する。
【００４６】
ＡＰＩ呼び出しパターン表更新部２７４が実行する更新処理について説明する。ＡＰＩ呼び出しパターン表更新部２７４は、第２ログ情報に含まれるサービス識別情報、ＡＰＩメソッド、パラメータ１，２と、ＡＰＩ呼び出しパターン表２５０とを比較して、一致するレコードが存在するか否かを判定する。ＡＰＩ呼び出しパターン表更新部２７４は、一致するレコードが存在する場合には、一致するレコードの時刻を、第２ログ情報の時刻に更新する。
【００４７】
一方、ＡＰＩ呼び出しパターン表更新部２７４は、一致するレコードが存在しない場合には、第２ログ情報を、ＡＰＩ呼び出しパターン表更新部２７４に新規登録する。
【００４８】
図１２は、ＡＰＩ呼び出しパターン表更新部の更新処理の一例を説明するための図である。例えば、図１２では、更新前のＡＰＩ呼び出しパターン表２５０ａと、更新後のＡＰＩ呼び出しパターン表２５０ｂとを示す。
【００４９】
図１３は、第２ログ情報の一例を示す図である。図１３に示す例では、第２ログ情報（１）〜（４）を示す。
【００５０】
ＡＰＩ呼び出しパターン表更新部２７４は、ＡＰＩ呼び出しパターン表２５０ａと、第２ログ情報（１）〜（４）とを比較する。第２ログ情報（１）のサービス識別情報、ＡＰＩメソッド、パラメータ１，２と、ＡＰＩ呼び出しパターン表２５０ａの２行目のレコードとが一致する。このため、ＡＰＩ呼び出しパターン表更新部２７４は、ＡＰＩ呼び出しパターン表２５０ａの２行目の時刻を、第２ログ情報（１）の時刻に対応させ「２０１６年３月１５日１４：００」に更新する。
【００５１】
第２ログ情報（２）に対応するレコードは、ＡＰＩ呼び出しパターン表２５０ａには存在しない。このため、ＡＰＩ呼び出しパターン表更新部２７４は、第２ログ情報（２）に対応するレコードを、ＡＰＩ呼び出しパターン表２５０ａに追加する。例えば、追加したレコードは、ＡＰＩ呼び出しパターン表２５０ｂの５行目のレコードに対応する。
【００５２】
第２ログ情報（３）、（４）に対応するレコードは、ＡＰＩ呼び出しパターン表２５０ａには存在しない。このため、ＡＰＩ呼び出しパターン表更新部２７４は、第２ログ情報（３）、（４）に対応するレコードを、ＡＰＩ呼び出しパターン表２５０ａに追加する。例えば、追加したレコードは、ＡＰＩ呼び出しパターン表２５０ｂの１２，１３行目のレコードに対応する。
【００５３】
なお、ＡＰＩ呼び出しパターン表更新部２７４は、ＡＰＩ呼び出しパターン表２５０の時刻を定期的に参照し、現在時刻を基にして、所定時間以上経過した時刻を特定する。ＡＰＩ呼び出しパターン表更新部２７４は、図示しないタイマから現在時刻の情報を取得する。ＡＰＩ呼び出しパターン表更新部２７４は、特定した時刻に対応するレコードを、削除する。例えば、ＡＰＩ呼び出しパターン表更新部２７４は、ＡＰＩ呼び出しパターン表２５０ｂの１，８，９行目のレコードを削除する。
【００５４】
更に、ＡＰＩ呼び出しパターン表更新部２７４は、ＡＰＩ呼び出しパターン表２５０を参照し、各パラメータの「値」の内容を基にして、「型」を更新する。パラメータの値で指定する文字列は、数パターンの固定文字列から選んで指定したものと、任意の文字列を指定するものとが存在する。値の文字列が数パターンの文字列から選んで指定されたものである場合には、型は「固定文字列」となる。値の文字列が任意の文字列である場合には、型は「任意文字列」となる。
【００５５】
ＡＰＩ呼び出しパターン表更新部２７４は、ＡＰＩ呼び出しパターン表２５０に含まれる値毎に、同一の文字列となる値の数を計数する。ＡＰＩ呼び出しパターン表更新部２７４は、計数した値の数が所定数以上である場合には、かかる値の型を「固定文字列」に設定する。一方、ＡＰＩ呼び出しパターン表更新部２７４は、計数した値の数がサンプル数に対して所定数未満である場合には、かかる値の型を「任意文字列」に設定する。
【００５６】
例えば、ＡＰＩ呼び出しパターン表更新部２７４は、値「modeA」の数が所定数以上である場合には、値「modeA」の型を「固定文字列」に設定する。ＡＰＩ呼び出しパターン表更新部２７４は、値「testA」の数が所定数未満である場合には、値「testA」の型を「任意文字列」に設定する。
【００５７】
評価部２７５は、ログパターン表２６０を基にして、ベンチマーク１６０を評価する処理部である。例えば、評価部２７５は、ログパターン表２６０を参照して、ログパターン内にエラーが発生した旨の情報が含まれている場合には、ベンチマーク１６０に異常の可能性があると判定し、指定された運営者の端末装置にエラー情報を通知する。評価部２７５は、第１ログ情報取得部２７１が、第１ログ情報を取得した時点において、第１ログ情報のログパターンに、エラーが発生した旨の情報が含まれているか否かを判定しても良い。
【００５８】
また、評価部２７５は、ログパターン表２６０を参照し、サービス識別情報とＡＰＩメソッドとが一致する複数のレコードを特定し、特定した複数のレコードの内、いずれか一つのレコードを基準レコードとする。評価部２７５は、基準レコードのログパターンと、他のレコードのログパターンとを比較して一致率を算出する。ここで、他のレコードは、基準レコードのサービス識別情報およびＡＰＩメソッドと一致するレコードである。
【００５９】
評価部２７５は、基準レコードのログパターンと、他のレコードのログパターンとの一致率が閾値未満である場合には、ベンチマーク１６０に異常の可能性があると判定し、指定された運営者の端末装置にエラー情報を通知する。また、評価部２７５は、基準レコードのログパターンとの一致率が閾値未満のログパターンを有する他のレコードを、異常レコードとして特定する。
【００６０】
評価部２７５は、基準レコードをどのように選出しても良い。例えば、評価部２７５は、サービス識別情報とＡＰＩメソッドとが一致する複数のレコードのうち、最初にログパターン表２６０に登録されたレコードを、基準レコードとして選出する。
【００６１】
なお、評価部２７５は、下記の処理を行って一致率を算出しても良い。評価部２７５は、第１ログ情報取得部２７１が、第１ログ情報を取得した時点において、第１ログ情報のサービス識別情報およびＡＰＩメソッドと一致するレコードをログパターン表２６０から特定する。評価部２７５は、特定したレコードから選出した基準レコードのログパターンと、第１ログ情報のログパターンとを比較し、一致率を算出する。
【００６２】
図１４は、運営者の端末装置に通知されるエラー情報の一例を示す図である。図１４に示すように、エラー情報１０には、領域１０ａ，１０ｂ，１０ｃ，１０ｄが存在する。評価部２７５は、領域１０ａに、異常レコードに含まれるサービス識別情報を登録する。評価部２７５は、領域１０ｂに、異常レコードに含まれるＡＰＩメソッドを登録する。
【００６３】
評価部２７５は、領域１０ｃに、異常レコードに含まれるログパターンを登録する。評価部２７５は、領域１０ｄに、基準レコードに含まれるログパターンを登録する。
【００６４】
評価部２７５は、ログパターン表２６０に新たなレコードが登録される度に、上記処理を繰り返し実行する。
【００６５】
次に、ベンチマーク１６０がベンチマーク動作表１５０を更新する処理手順について説明する。図１５は、ベンチマークがベンチマーク動作表を更新する処理手順を示すフローチャートである。図１５に示すように、ベンチマーク１６０の更新部１６１は、ＡＰＩ呼び出しパターン表２５０から、自身（ベンチマーク１６０）が担当するサービスのレコードを抽出する（ステップＳ１０１）。ベンチマーク１６０の担当するサービスは事前に設定されているものとする。また、以下の説明では、自身が担当するサービスのレコードを呼び出しパターンと表記する。
【００６６】
更新部１６１は、呼び出しパターンを取り出す（ステップＳ１０２）。更新部１６１は、呼び出しパターンと「ＡＰＩメソッド」が一致するレコードをベンチマーク動作表１５０から検索する（ステップＳ１０３）。
【００６７】
更新部１６１は、検索結果が０件であるか否かを判定する（ステップＳ１０４）。更新部１６１は、検索結果が０件である場合には（ステップＳ１０４，Ｙｅｓ）、ステップＳ１１２に移行する。
【００６８】
更新部１６１は、検索結果が０件でない場合には（ステップＳ１０４，Ｎｏ）、呼び出しパターン内のいずれかのパラメータの「名前」、「値」、「型」のセットを取り出す（ステップＳ１０５）。
【００６９】
更新部１６１は、「型」が固定文字列であるか否かを判定する（ステップＳ１０６）。更新部１６１は、「型」が固定文字列である場合には（ステップＳ１０６，Ｙｅｓ）、ステップＳ１０７に移行する。一方、更新部１６１は、「型」が固定文字列でない場合には（ステップＳ１０６，Ｎｏ）、ステップＳ１０８に移行する。
【００７０】
更新部１６１は、呼び出しパターンと同じ「名前」、「値」の組み合わせがベンチマーク動作表１５０に存在するか否かを判定する（ステップＳ１０７）。更新部１６１は、呼び出しパターンと同じ「名前」、「値」の組み合わせがベンチマーク動作表１５０に存在しない場合には（ステップＳ１０７，Ｎｏ）、ステップＳ１１２に移行する。一方、更新部１６１は、呼び出しパターンと同じ「名前」、「値」の組み合わせがベンチマーク動作表１５０に存在する場合には（ステップＳ１０７，Ｙｅｓ）、ステップＳ１０８に移行する。
【００７１】
更新部１６１は、「型」が数値であるか否かを判定する（ステップＳ１０８）。更新部１６１は、「型」が数値である場合には（ステップＳ１０８，Ｙｅｓ）、ステップＳ１１０に移行する。一方、更新部１６１は、「型」が数値でない場合には（ステップＳ１０８，Ｎｏ）、ステップＳ１０９に移行する。
【００７２】
更新部１６１は、全てのパラメータを調べたか否かを判定する（ステップＳ１０９）。更新部１６１は、全てのパラメータを調べた場合には（ステップＳ１０９，Ｙｅｓ）、ステップＳ１１３に移行する。一方、更新部１６１は、全てのパラメータを調べていない場合には（ステップＳ１０９，Ｎｏ）、ステップＳ１０５に移行する。
【００７３】
更新部１６１は、該当のパラメータの「値」について、呼び出しパターンとベンチマーク動作表１５０の値をクラスタリングする（ステップＳ１１０）。更新部１６１は、呼び出しパターンの「値」に近い値がベンチマーク動作表１５０内に存在するか否かを判定する（ステップＳ１１１）。
【００７４】
更新部１６１は、呼び出しパターンの「値」に近い値がベンチマーク動作表１５０内に存在する場合には（ステップＳ１１１，Ｙｅｓ）、ステップＳ１０９に移行する。更新部１６１は、呼び出しパターンの「値」に近い値がベンチマーク動作表１５０内に存在しない場合には（ステップＳ１１１，Ｎｏ）、ステップＳ１１２に移行する。
【００７５】
更新部１６１は、呼び出しパターンの「ＡＰＩメソッド」、「各パラメータ」をベンチマーク動作表１５０に新規追加し（ステップＳ１１２）、ステップＳ１１３に移行する。
【００７６】
更新部１６１は、全ての呼び出しパラメータを調べたか否かを判定する（ステップＳ１１３）。更新部１６１は、全ての呼び出しパラメータを調べていない場合には（ステップＳ１１３，Ｎｏ）、ステップＳ１０２に移行する。
【００７７】
一方、更新部１６１は、全ての呼び出しパラメータを調べた場合には（ステップＳ１１３，Ｙｅｓ）、ステップＳ１１４に移行する。更新部１６１は、ＡＰＩ呼び出しパターン表２５０のいずれの「ＡＰＩメソッド」、「パラメータ」にも一致しなかったレコードを、ベンチマーク動作表１５０から削除する（ステップＳ１１４）。
【００７８】
次に、ベンチマーク１６０がＡＰＩリクエストを送信する処理手順について説明する。図１６は、ベンチマークがＡＰＩリクエストを送信する処理手順を示すフローチャートである。図１６に示すように、ベンチマーク１６０のＡＰＩリクエスト送信部１６２は、ベンチマーク動作表１５０からレコードを一つ取り出す（ステップＳ２０１）。
【００７９】
ＡＰＩリクエスト送信部１６２は、レコードの「ＡＰＩメソッド」、「各パラメータ」を基に、ＡＰＩリクエストを生成する（ステップＳ２０２）。ベンチマーク１６０の第１ログ情報生成部１６３は、生成されたＡＰＩリクエストの情報を第１ログ情報に出力する（ステップＳ２０３）。
【００８０】
ＡＰＩリクエスト送信部１６２は、ＡＰＩリクエストを実行する（ステップＳ２０４）。第１ログ情報生成部１６３は、サービス２１０からのレスポンス内容、通信時刻などを第１ログ情報に出力する（ステップＳ２０５）。
【００８１】
ＡＰＩリクエスト送信部１６２は、未実行のレコードが存在するか否かを判定する（ステップＳ２０６）。ＡＰＩリクエスト送信部１６２は、未実行のレコードが存在する場合には（ステップＳ２０６，Ｙｅｓ）、ステップＳ２０１に移行する。ＡＰＩリクエスト送信部１６２は、未実行のレコードが存在しない場合には（ステップＳ２０６，Ｎｏ）、処理を終了する。
【００８２】
次に、ログ収集機能部２７０がＡＰＩ呼び出しパターン表２５０を更新する処理手順について説明する。図１７は、ログ収集機能部がＡＰＩ呼び出しパターン表を更新する処理手順を示すフローチャートである。図１７に示すように、ログ収集機能部２７０の第２ログ情報取得部２７３は、ＩａａＳ２００に含まれるサービス２１０から第２ログ情報を取得する（ステップＳ３０１）。
【００８３】
ログ収集機能部２７０のＡＰＩ呼び出しパターン表更新部２７４は、第２ログ情報が顧客アプリ１１０による呼び出しであるか否かを判定する（ステップＳ３０２）。ＡＰＩ呼び出しパターン表更新部２７４は、第２ログ情報が顧客アプリ１１０による呼び出しでない場合には（ステップＳ３０２，Ｎｏ）、ステップＳ３０７に移行する。
【００８４】
ＡＰＩ呼び出しパターン表更新部２７４は、第２ログ情報が顧客アプリ１１０による呼び出しである場合には（ステップＳ３０２，Ｙｅｓ）、ステップＳ３０３に移行する。ＡＰＩ呼び出しパターン表更新部２７４は、第２ログ情報の「サービス識別情報」、「ＡＰＩメソッド」、パラメータの「名前」および「値」と一致するレコードを、ＡＰＩ呼び出しパターン表２５０から検索する（ステップＳ３０３）。
【００８５】
ＡＰＩ呼び出しパターン表更新部２７４は、一致するレコードが存在するか否かを判定する（ステップＳ３０４）。ＡＰＩ呼び出しパターン表更新部２７４は、一致するレコードが存在しない場合には（ステップＳ３０４，Ｎｏ）、第２ログ情報に対応するレコードをＡＰＩ呼び出しパターン表２５０に新規追加し（ステップＳ３０５）、ステップＳ３０７に移行する。
【００８６】
ＡＰＩ呼び出しパターン表更新部２７４は、一致するレコードが存在する場合には（ステップＳ３０４，Ｙｅｓ）、一致したレコードの時刻を第２ログ情報の時刻で更新し（ステップＳ３０６）、ステップＳ３０７に移行する。
【００８７】
ＡＰＩ呼び出しパターン表更新部２７４は、未処理の第２ログ情報が存在するか否かを判定する（ステップＳ３０７）。ＡＰＩ呼び出しパターン表更新部２７４は、未処理の第２ログ情報が存在する場合には（ステップＳ３０７，Ｙｅｓ）、ステップＳ３０２に移行する。
【００８８】
一方、ＡＰＩ呼び出しパターン表更新部２７４は、未処理の第２ログ情報が存在しない場合には（ステップＳ３０７，Ｎｏ）、ＡＰＩ呼び出しパターン表２５０から、「時刻」が一定期間以上前のレコードを削除する（ステップＳ３０８）。ＡＰＩ呼び出しパターン表更新部２７４は、各パラメータの「値」の内容を基にして、「型」を更新する（ステップＳ３０９）。
【００８９】
次に、ログ収集機能部２７０がログパターン表２６０を基にして、ベンチマーク１６０を評価する処理手順について説明する。図１８は、ログ収集機能部がベンチマークを評価する処理手順を示すフローチャートである。図１８に示すように、ログ収集機能部２７０の第１ログ情報取得部２７１は、第１ログ情報を取得する（ステップＳ４０１）。
【００９０】
ログ収集機能部２７０の評価部２７５は、第１ログ情報のログパターンにエラーログが存在するか否かを判定する（ステップＳ４０２）。評価部２７５は、第１ログ情報のログパターンにエラーログが存在する場合には（ステップＳ４０２，Ｙｅｓ）、ステップＳ４０８に移行する。
【００９１】
一方、評価部２７５は、第１ログ情報のログパターンにエラーログが存在しない場合には（ステップＳ４０２，Ｎｏ）、ステップＳ４０３に移行する。評価部２７５は、第１ログ情報の「サービス識別情報」、「ＡＰＩメソッド」と一致するレコードをログパターン表２６０から抽出する（ステップＳ４０３）。
【００９２】
評価部２７５は、抽出したレコード数が０であるか否かを判定する（ステップＳ４０４）。評価部２７５は、抽出したレコード数が０である場合には（ステップＳ４０４，Ｙｅｓ）、ステップＳ４０５に移行する。一方、評価部２７５は、抽出したレコード数が０でない場合には（ステップＳ４０４，Ｎｏ）、ステップＳ４０６に移行する。
【００９３】
ログ収集機能部２７０のログパターン表更新部２７２は、第１ログ情報の「サービス識別情報」、「ＡＰＩメソッド」、「各パラメータ」、「ログパターン」をログパターン表２６０に新規追加し（ステップＳ４０５）、ステップＳ４０９に移行する。
【００９４】
評価部２７５は、第１ログ情報のログパターンと、ログパターン表２６０から抽出した基準レコードの「ログパターン」とを比較する（ステップＳ４０６）。
【００９５】
評価部２７５は、ログパターンの一致率が閾値未満であるか否かを判定する（ステップＳ４０７）。評価部２７５は、ログパターンの一致率が閾値未満である場合には（ステップＳ４０７，Ｙｅｓ）、エラー情報を生成し、運用者の端末装置に通知する（ステップＳ４０８）。一方、評価部２７５は、ログパターンの一致率が閾値未満でない場合には（ステップＳ４０７，Ｎｏ）、ステップＳ４０９に移行する。
【００９６】
評価部２７５は、未解析の第１ログ情報が存在するか否かを判定する（ステップＳ４０９）。評価部２７５は、未解析の第１ログ情報が存在する場合には（ステップＳ４０９，Ｙｅｓ）、ステップＳ４０１に移行する。ログパターン表更新部２７２は、未解析の第１ログ情報が存在しない場合には（ステップＳ４０９，Ｎｏ）、サービス２１０に実施されなかった「ＡＰＩメソッド」、「パラメータ」のレコードを、ログパターン表２６０から削除する（ステップＳ４１０）。
【００９７】
次に、本実施例に係るシステムの効果について説明する。ベンチマーク１６０は、ベンチマーク動作表１５０を参照して、顧客アプリ１１０がサービス２１０に出力したＡＰＩリクエストと同じＡＰＩリクエストを、サービス２１０に送信して実行依頼を行い、第１ログ情報を、ログ収集機能部２７０に通知する。ログ収集機能部２７０は、第１ログ情報と、過去の第１ログ情報を格納したログパターン表２６０に基づき、ペンチマーク１６０を評価する。上記のような処理を実行することで、顧客アプリ１１０からログ情報や性能情報を取得しなくても、ベンチマーク１６０を評価することで、間接的に、顧客アプリ１１０を評価することができる。
【００９８】
また、ＰａａＳ１００の運用者と、ＩａａＳ２００の運用者とが異なっていても、例えば、ＩａａＳ２００の運用者が、ベンチマーク１６０をＩａａＳ２００に配置しておくことで、ＩａａＳ２００の運用者は、ＰａａＳ１００に起因するエラーを容易に検出できる。
【００９９】
ログ収集機能部２７０が、サービス２１０から第２ログ情報を取得して、ＡＰＩ呼び出しパターン表２５０を更新する。ベンチマーク１６０は、ＡＰＩ呼び出しパターン表２５０を参照し、ベンチマーク動作表１５０に存在しないパターンを検出した場合に、新たなパターンを、ベンチマーク動作表１５０に登録する。これにより、顧客アプリ１１０から性能情報等を取得しなくても、顧客アプリ１１０の機能追加・更新に追従して、顧客アプリ１１０の処理を、ベンチマーク１６０に実行させることが可能となる。
【０１００】
なお、上述したＰａａＳ１００およびＩａａＳ２００は、図示しない制御部により実現される。制御部は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、制御部は、例えば、ＣＰＵやＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【０１０１】
ベンチマーク動作表１５０、ＡＰＩ呼び出しパターン表２５０、ログパターン表２６０は、図示しない記憶部に格納される。記憶部は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
【０１０２】
ところで、図１に示したＰａａＳ１００およびＩａａＳ２００に対応する処理を、別々のサーバ装置に実行させても良いし、単一のサーバ装置に、ＰａａＳ１００およびＩａａＳ２００に対応する処理を実行させても良い。更に、ＰａａＳ１００の処理を複数のサーバ装置に分担して行わせ、ＩａａＳ２００に対応する処理を複数のサーバ装置に分担して行わせても良い。
【０１０３】
また、本実施例では、ＰａａＳ１００およびＩａａＳ２００を例にして説明したが、これに限定されるものではない。例えば、ＰａａＳとＳａａＳとの組、ＩａａＳとＳａａＳとの組であっても同様に、上層にベンチマークを配置して、エラーを検出することができる。
【０１０４】
次に、上記実施例に示したＰａａＳ１００，ＩａａＳ２００を実行する情報処理装置のハードウェア構成の一例について説明する。図１９は、情報処理装置のハードウェア構成の一例を示す図である。
【０１０５】
図１９に示すように、情報処理装置３００は、各種演算処理を実行するＣＰＵ３０１と、利用者からのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３を有する。また、情報処理装置３００は、記憶媒体からプログラム等を読取る読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置３０５とを有する。また、情報処理装置３００は、各種情報を一時記憶するＲＡＭ３０６と、ハードディスク装置３０７を有する。そして、各装置３０１〜３０７は、バス３０８に接続される。
【０１０６】
ハードディスク装置３０７は、顧客アプリプログラム３０７ａ、ベンチマークプログラム３０７ｂ、ログ収集機能プログラム３０７ｃ、サービスプログラム３０７ｄを有する。また、ハードディスク装置３０７は、ＡＰＩ呼び出しパターン表３０７ｅ、ベンチマーク動作表２０７ｆ、ログパターン表３０７ｇを有する。
【０１０７】
ＡＰＩ呼び出しパターン表３０７ｅは、図１に示したＡＰＩ呼び出しパターン表２５０に対応する。ベンチマーク動作表３０７ｆは、図１に示したベンチマーク動作表１５０に対応する。ログパターン表３０７ｇは、図１に示したログパターン表２６０に対応する。
【０１０８】
また、ＣＰＵ３０１は、各プログラム３０７ａ〜３０７ｄを読み出してＲＡＭ３０６に展開する。顧客アプリプログラム３０７ａは、顧客アプリプロセス３０６ａとして機能する。ベンチマークプログラム３０７ｂは、ベンチマークプロセス３０６ｂとして機能する。ログ収集機能プログラム３０７ｃは、ログ収集機能プロセス３０６ｃとして機能する。サービスプログラム３０７ｄは、サービスプロセス３０６ｄとして機能する。
【０１０９】
例えば、顧客アプリプロセス３０６ａの処理は、顧客アプリ１１０の処理に対応する。ベンチマークプロセス３０６ｂの処理は、ベンチマーク１６０の処理に対応する。ログ収集機能プロセス３０６ｃは、ログ収集機能部２７０の処理に対応する。サービスプロセス３０６ｄは、サービス２１０ａ〜２１０ｃに対応する。
【０１１０】
なお、各プログラム３０７ａ〜３０７ｄについては、必ずしも最初からハードディスク装置３０７に記憶させておかなくても良い。例えば、情報処理装置３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、情報処理装置３００がこれらから各プログラム３０７ａ〜３０７ｄを読み出して実行するようにしてもよい。
【０１１１】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１２】
（付記１）コンピュータに、
ソフトウェアの指定を受け付け、
特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得し、
取得した前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、
実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得し、
取得した前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、
評価結果を出力する
処理を実行させることを特徴とする評価プログラム。
【０１１３】
（付記２）前記特定のソフトウェアが存在する層は、前記特定のソフトウェアが実行依頼を行う他のソフトウェアが存在する層とは異なる層であることを特徴とする付記１に記載の評価プログラム。
【０１１４】
（付記３）前記他のソフトウェアが実行依頼を実行した際のログ情報を収集し、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新することを特徴とする付記１または２に記載の評価プログラム。
【０１１５】
（付記４）前記特定のソフトウェアは、顧客に設定された第１のソフトウェアと前記第１のソフトウェアとは異なる第２のソフトウェアとを含み、前記他のソフトウェアが実行依頼を実行した際のログ情報を収集する処理は、前記他のソフトウェアが、前記第１のソフトウェアによる実行依頼を実行した際のログ情報を収集することを特徴とする付記３に記載の評価プログラム。
【０１１６】
（付記５）コンピュータが実行する評価方法であって、
ソフトウェアの指定を受け付け、
特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得し、
取得した前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、
実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得し、
取得した前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、
評価結果を出力する
処理を実行することを特徴とする評価方法。
【０１１７】
（付記６）前記特定のソフトウェアが存在する層は、前記特定のソフトウェアが実行依頼を行う他のソフトウェアが存在する層とは異なる層であることを特徴とする付記５に記載の評価方法。
【０１１８】
（付記７）前記他のソフトウェアが実行依頼を実行した際のログ情報を収集し、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新することを特徴とする付記５または６に記載の評価方法。
【０１１９】
（付記８）前記特定のソフトウェアは、顧客に設定された第１のソフトウェアと前記第１のソフトウェアとは異なる第２のソフトウェアとを含み、前記他のソフトウェアが実行依頼を実行した際のログ情報を収集する処理は、前記他のソフトウェアが、前記第１のソフトウェアによる実行依頼を実行した際のログ情報を収集することを特徴とする付記７に記載の評価方法。
【０１２０】
（付記９）ソフトウェアの指定を受け付け、特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得する第１取得部と、
前記第１取得部によって取得された前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得する第２取得部と、
前記第２取得部によって取得された前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、評価結果を出力する評価部と
を有することを特徴とする評価装置。
【０１２１】
（付記１０）前記特定のソフトウェアが存在する層は、前記特定のソフトウェアが実行依頼を行う他のソフトウェアが存在する層とは異なる層であることを特徴とする付記９に記載の評価装置。
【０１２２】
（付記１１）前記他のソフトウェアが実行依頼を実行した際のログ情報を収集し、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新する更新部を更に有することを特徴とする付記９または１０に記載の評価装置。
【０１２３】
（付記１２）前記特定のソフトウェアは、顧客に設定された第１のソフトウェアと前記第１のソフトウェアとは異なる第２のソフトウェアとを含み、前記第２取得部は、前記他のソフトウェアが、前記第１のソフトウェアによる実行依頼を実行した際のログ情報を収集することを特徴とする付記１１に記載の評価装置。
【０１２４】
（付記１３）ソフトウェアの指定を受け付け、特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得する第１取得部と、
前記第１取得部によって取得された前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得する第２取得部と、
前記第２取得部によって取得された前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、評価結果を出力する評価部と、
前記他のソフトウェアが実行依頼を実行した際のログ情報を収集するログ収集部と
を有することを特徴とする情報処理装置。
【０１２５】
（付記１４）前記ログ収集部によって収集されたログ情報を基にして、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新する更新部を更に有することを特徴とする付記１３に記載の情報処理装置。
【符号の説明】
【０１２６】
１００  ＰａａＳ
１１０  顧客アプリ
１５０  ベンチマーク動作表
１６０  ベンチマーク
２００  ＩａａＳ
２０５  サービス群
２１０ａ，２１０ｂ，２１０ｃ  サービス
２５０  ＡＰＩ呼び出しパターン表
２６０  ログパターン表
２７０  ログ収集機能部
【図１】
2018005635.tif 000003
【図２】
2018005635.tif 000004
【図３】
2018005635.tif 000005
【図４】
2018005635.tif 000006
【図５】
2018005635.tif 000007
【図６】
2018005635.tif 000008
【図７】
2018005635.tif 000009
【図８】
2018005635.tif 000010
【図９】
2018005635.tif 000011
【図１０】
2018005635.tif 000012
【図１１】
2018005635.tif 000013
【図１２】
2018005635.tif 000014
【図１３】
2018005635.tif 000015
【図１４】
2018005635.tif 000016
【図１５】
2018005635.tif 000017
【図１６】
2018005635.tif 000018
【図１７】
2018005635.tif 000019
【図１８】
2018005635.tif 000020
【図１９】
2018005635.tif 000021