JP6801267B2 - 評価プログラム、評価方法、評価装置および情報処理装置 - Google Patents

評価プログラム、評価方法、評価装置および情報処理装置 Download PDF

Info

Publication number
JP6801267B2
JP6801267B2 JP2016132895A JP2016132895A JP6801267B2 JP 6801267 B2 JP6801267 B2 JP 6801267B2 JP 2016132895 A JP2016132895 A JP 2016132895A JP 2016132895 A JP2016132895 A JP 2016132895A JP 6801267 B2 JP6801267 B2 JP 6801267B2
Authority
JP
Japan
Prior art keywords
software
log information
execution
evaluation
log
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
JP2016132895A
Other languages
English (en)
Other versions
JP2018005635A (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 JP2016132895A priority Critical patent/JP6801267B2/ja
Priority to US15/635,662 priority patent/US10445213B2/en
Publication of JP2018005635A publication Critical patent/JP2018005635A/ja
Application granted granted Critical
Publication of JP6801267B2 publication Critical patent/JP6801267B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、評価プログラム等に関する。
複数のソフトウェアが連携するシステムでは、あるソフトウェアを更新することにより、連携先のソフトウェアの動作に異常が発生する場合がある。ここで、運用者がシステムの全てのソフトウェアを管理していれば、各ソフトウェアのログ情報や性能情報を自由に解析できるため、異常の発生を検出することや、異常の発生原因を検出することが可能であった。
特開2005−115751号公報 特開2010−086516号公報 国際公開第2013/171944号 特表2016−507115号公報
しかしながら、上述した従来技術では、特定のソフトウェアの動作の異常を検出することができないという問題がある。
近年のパブリッククラウドでは、IaaS(Infrastructure as a Service)層、PaaS(Platform as a Service)層、SaaS(Software as a Service)層等のようにレイヤが分かれており、レイヤ毎に開発者や運用者が異なる。また、コンプライアンス上、あるレイヤの運用者が、他のレイヤの運用者が管理しているログ情報・性能情報を許可なく収集・分析することができない。このため、あるレイヤの運用者が他のレイヤで発生するソフトウェアの動作の異常の発生を検出することや、異常の発生原因を検出することが難しかった。
1つの側面では、本発明は、特定のソフトウェアの動作の異常を検出することができる評価プログラム、評価方法、評価装置および情報処理装置を提供することを目的とする。
第1の案では、コンピュータは、ソフトウェアの指定を受け付ける。コンピュータは、特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得する。コンピュータは、取得した実行条件を用いて、指定されたソフトウェアの実行依頼を実行する。コンピュータは、実行した実行依頼に応じて、指定されたソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得し、取得したログ情報に基づき、特定のソフトウェアに関する評価を実行し、評価結果を出力する。
特定のソフトウェアの動作の異常を検出することができる。
図1は、本実施例に係るシステムの構成を示す図である。 図2は、ベンチマーク動作表のデータ構造の一例を示す図である。 図3は、第1ログ情報のデータ構造の一例を示す図である。 図4は、ログパターンの一例を示す図である。 図5は、第2ログ情報のデータ構造の一例を示す図である。 図6は、API呼び出しパターン表のデータ構造の一例を示す図である。 図7は、ログパターン表のデータ構造の一例を示す図である。 図8は、ベンチマークの構成を示す機能ブロック図である。 図9は、更新部の処理の一例を示す図(1)である。 図10は、更新部の処理の一例を示す図(2)である。 図11は、ログ収集機能部の構成を示す機能ブロック図である。 図12は、API呼び出しパターン表更新部の更新処理の一例を説明するための図である。 図13は、第2ログ情報の一例を示す図である。 図14は、運営者の端末装置に通知されるエラー情報の一例を示す図である。 図15は、ベンチマークがベンチマーク動作表を更新する処理手順を示すフローチャートである。 図16は、ベンチマークがAPIリクエストを送信する処理手順を示すフローチャートである。 図17は、ログ収集機能部がAPI呼び出しパターン表を更新する処理手順を示すフローチャートである。 図18は、ログ収集機能部がベンチマークを評価する処理手順を示すフローチャートである。 図19は、情報処理装置のハードウェア構成の一例を示す図である。
以下に、本願の開示する評価プログラム、評価方法、評価装置および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例に係るシステムの構成を示す図である。図1に示すように、このシステムは、PaaS(Platform as a Service)100と、IaaS(Infrastructure as a Service)200とを有する。
PaaS100は、各種のソフトウェアが稼働するためのハードウェアやOS(Operating System)等のプラットフォーム一式をインターネット上のサービスとして提供するものである。例えば、PaaS100は、顧客アプリ110と、ベンチマーク動作表150と、ベンチマーク160とを有する。ここでは、顧客アプリ110、ベンチマーク160のみを示すが、PaaS100は、その他の顧客アプリ、ベンチマークを有していても良い。
IaaS200は、仮想サーバ等の機材やネットワーク等のインフラを、インターネット上のサービスとして提供するものである。例えば、IaaS200は、サービス群205と、API呼び出しパターン表250と、ログパターン表260と、ログ収集機能部270とを有する。
顧客アプリ110は、顧客によって配備されるソフトウェア(アプリケーションプログラム)である。顧客アプリ110は、API(Application Program Interface)リクエストによって、サービス群205に含まれるサービスを呼び出し、呼び出したサービスに処理を実行させる。例えば、APIリクエストには、APIメソッドと、パラメータとを有する。例えば、APIメソッドには、呼び出し対象となるサービスを特定する情報が含まれる。パラメータは、サービスが処理を実行する場合の条件に対応する。なお、コンプライアンス上、顧客アプリ110から直接、ログ情報や性能情報を自由に解析することは難しい。
ベンチマーク動作表150は、特定のソフトウェアによってサービスに出力されたAPIメソッドおよびパラメータを対応付けて保持するテーブルである。特定のソフトウェアは、例えば、顧客アプリ110またはベンチマーク160に対応する。
図2は、ベンチマーク動作表のデータ構造の一例を示す図である。図2に示すように、このベンチマーク動作表150は、サービス識別情報と、APIメソッドと、パラメータ1、パラメータ2とを対応付ける。サービス識別情報は、APIリクエストを送信するサービスを一意に識別する情報である。APIメソッドは、PaaS100の特定のソフトウェアがIaaS200のサービスを呼び出す場合に用いたAPIメソッドを示す。パラメータ1,2は、APIメソッドによって呼び出したサービスに対して指定した実行条件である。例えば、パラメータ1,2には、名前、値、型が含まれる。
ベンチマーク160は、ベンチマーク動作表150を基にして、APIリクエストを生成する。ベンチマーク160は、生成したAPIリクエストにより、サービス群205に含まれるサービスを呼び出し、呼び出したサービスに処理を実行させる。
ベンチマーク160は、APIリクエスト、呼び出したサービスからのレスポンス内容、通信時刻等を含む第1ログ情報を生成する。ベンチマーク160は、生成した第1ログ情報を、ログ収集機能部270に出力する。
図3は、第1ログ情報のデータ構造の一例を示す図である。図3に示すように、この第1ログ情報は、サービス識別情報と、APIメソッドと、パラメータ1,2と、ログパターンとを対応付ける。サービス識別情報は、ベンチマーク160がAPIリクエストを送信したサービスを一意に識別する情報である。APIメソッド、パラメータ1,2は、ベンチマーク160がサービスに出力したAPIリクエストに対応するものである。ログパターンは、ベンチマーク160が、APIリクエストをサービス210に送信し、サービス210とベンチマーク160との間でやり取りしたログ情報を含む。ログパターンの一例について説明する。
図4は、ログパターンの一例を示す図である。図4に示すように、ログパターンは、時刻と、サービス210およびベンチマーク160間でやり取りしたログ情報とを対応付ける。
ベンチマーク160は、API呼び出しパターン表250を参照し、ベンチマーク動作表150を更新する。例えば、ベンチマーク160は、API呼び出しパターン表250に存在しない、APIメソッドとパラメータとの組を、ベンチマーク動作表150に登録することで、ベンチマーク動作表150を更新する。
サービス群205は、サービス210a,210b,210cを有する。サービス210a〜210cをまとめて適宜、サービス210と表記する。サービス210は、顧客アプリ110またはベンチマーク160からAPIリクエストを受け付けた場合に、APIリクエストに含まれるAPIメソッド、パラメータに基づき、処理を実行する。例えば、サービス210は、実行結果を基にして第2ログ情報を生成する。
図5は、第2ログ情報のデータ構造の一例を示す図である。図5に示すように、第2ログ情報は、送信元識別情報、時刻、サービス識別情報、APIメソッド、パラメータ1,2を有する。例えば、送信元識別情報は、APIリクエストの送信元を一意に識別する情報である。本実施例では、送信元識別情報は、顧客アプリ110またはベンチマーク160となる。時刻は、サービス210が処理を実行した時刻である。サービス識別情報は、処理を実行したサービスを一意に識別する情報である。APIメソッド、パラメータ1,2は、ベンチマーク160がサービスに出力したAPIリクエストに対応するものである。
API呼び出しパターン表250は、第2ログ情報のうち、送信元識別情報がベンチマーク160となる第2ログ情報を格納するものである。図6は、API呼び出しパターン表のデータ構造の一例を示す図である。図6に示すように、API呼び出しパターン表250は、時刻、サービス識別情報、APIメソッド、パラメータ1,2を有する。時刻、サービス識別情報、APIメソッド、パラメータ1,2に関する説明は、図5の説明と同様である。
ログパターン表260は、第1ログ情報に基づき生成される情報である。図7は、ログパターン表のデータ構造の一例を示す図である。図7に示すように、ログパターン表260は、サービス識別情報と、APIメソッドと、パラメータ1,2と、ログパターンとを対応付ける。サービス識別情報と、APIメソッド、パラメータ1,2、ログパターンに関する説明は、図3と同様である。
ログ収集機能部270は、ベンチマーク160から第1ログ情報を収集し、サービス群205のサービス210から第2ログ情報を収集する処理部である。ログ収集機能部270は、第1ログ情報を基にして、ログパターン表260を生成する。ログ収集機能部270は、第2ログ情報を基にして、API呼び出しパターン表250を生成する。
ログ収集機能部270は、ログパターン表260を解析し、ベンチマーク160に関する評価を実行し、評価結果を出力する。
次に、図1に示したベンチマーク160の構成の一例について説明する。図8は、ベンチマークの構成を示す機能ブロック図である。図8に示すように、このベンチマーク160は、更新部161と、APIリクエスト送信部162と、第1ログ情報生成部163とを有する。
更新部161は、API呼び出しパターン表250を参照し、ベンチマーク動作表150を更新する処理部である。図9および図10は、更新部の処理の一例を示す図である。図9について説明する。図9では、更新前のベンチマーク動作表150aと、更新後のベンチマーク動作表150bとを示す。なお、ベンチマーク動作表150aは、サービス210aに対するベンチマーク動作表であるとする。
例えば、更新部161は、API呼び出しパターン表250を参照し、サービス210aに送信されたAPIリクエストについて、ベンチマーク動作表150aに存在しないAPIリクエストを検出したとする。例えば、係るAPIリクエストを、APIメソッド「PUT/aaa/xxx」、パラメータ1「名前 mode、値 modeC、型 固定文字列」、パラメータ2「名前 name、値 なまえE、型 任意文字列」とする。この場合には、ベンチマーク動作表150aに、対応するAPIリクエストのレコードを登録することで、ベンチマーク動作表150bを生成する。
図10について説明する。図10では、更新前のベンチマーク動作表150cと、更新後のベンチマーク動作表150dとを示す。なお、ベンチマーク動作表150cは、サービス210bに対するベンチマーク動作表であるとする。
例えば、更新部161は、API呼び出しパターン表250を参照し、サービス210bに送信されたAPIリクエストについて、ベンチマーク動作表150cに存在しないAPIリクエストを検出したとする。例えば、係るAPIリクエストを、APIメソッド「POST/bbb/xxx」、パラメータ1「名前 user、値 USERA、型 任意文字列」、パラメータ2「名前 limit、値 510、型 数値」とする。この場合には、ベンチマーク動作表150cに、対応するAPIリクエストのレコードを登録することで、ベンチマーク動作表150dを生成する。
ここで、更新部161は、登録したパラメータの名前および型が一致するレコードを選択し、選択したレコードの値を比較し、比較した値の差が閾値未満である場合には、該当するパラメータの情報「名前、値、型」の情報を削除する。例えば、図10に示す例では、ベンチマーク動作表150dの1行目のレコードのパラメータ2と、4行目のレコードのパラメータ2との間で、名前と型が一致し、値の差が閾値未満となる。この場には、更新部161は、4行目のレコードのパラメータ2を「−」に設定することで、ベンチマーク動作表150eを生成する。
APIリクエスト送信部162は、APIリクエストを生成し、生成したAPIリクエストを、サービス210に送信する処理部である。APIリクエスト送信部162は、第1取得部の機能を有する。例えば、APIリクエスト送信部162は、ベンチマーク動作表150から未選択のレコードを選択し、選択したレコードに含まれるAPIメソッドおよびパラメータ1,2をAPIリクエストに格納し、サービス210に送信する。APIリクエスト送信部162が送信するサービス210は、予め管理者が設定しておいても良い。
また、APIリクエスト送信部162は、APIリクエストの送信先となるサービス210の指定を受け付けても良い。APIリクエスト送信部162は、サービス210の指定を受け付けた場合に、サービスに対応するAPIメソッドおよびパラメータ1,2を取得し、APIリクエストを生成する。そして、APIリクエスト送信部162は、生成したAPIリクエストを、指定されたサービス210に送信する。
APIリクエスト送信部162は、指定されたサービス210に対応するAPIメソッドおよびパラメータ1,2が複数種類存在する場合には、各APIメソッド、パラメータ1,2について、それぞれAPIリクエストを生成する。APIリクエスト送信部162は、各APIリクエストを、順に、指定されたサービス210に送信する。
第1ログ情報生成部163は、APIリクエストの送信先となるサービス210とベンチマーク160との情報のやり取りを監視し、第1ログ情報を生成する処理部である。第1ログ情報生成部163は、第1ログ情報を、ログ収集機能部270に出力する。
第1ログ情報のデータ構造は、図3で説明したものに対応する。例えば、第1ログ情報生成部163は、ベンチマーク160がAPIリクエストを送信してから、APIリクエストに対応する処理が終了するまでにやり取りされる情報を第1ログ情報として生成する。第1ログ情報生成部163は、APIリクエストがサービス210に送信される度に、上記処理を繰り返し実行する。
次に、図1に示したログ収集機能部270の構成の一例について説明する。図11は、ログ収集機能部の構成を示す機能ブロック図である。図11に示すように、このログ収集機能部270は、第1ログ情報取得部271と、ログパターン表更新部272と、第2ログ情報取得部273と、API呼び出しパターン表更新部274と、評価部275とを有する。
第1ログ情報取得部271は、ベンチマーク160から第1ログ情報を取得する処理部である。第1ログ情報取得部271は、第2取得部の機能を有する。第1ログ情報取得部271は、取得した第1ログ情報をログパターン表更新部272に出力する。
ログパターン表更新部272は、第1ログ情報を取得した場合に、第1ログ情報によって、ログパターン表260を更新する処理部である。例えば、ログパターン表更新部271は、第1ログ情報を、ログパターン表260に登録することで、ログパターン表260を更新する。
第2ログ情報取得部273は、サービス210から第2ログ情報を取得する処理部である。第2ログ情報取得部273は、ログ収集部の機能を有する。第2ログ情報取得部273は、取得した第2ログ情報をAPI呼び出しパターン表更新部274に出力する。
API呼び出しパターン表更新部274は、第2ログ情報を取得した場合に、API呼び出しパターン表250を更新する処理部である。以下において、API呼び出しパターン表更新部274の処理の一例について説明する。
API呼び出しパターン表更新部274は、第2ログ情報を取得し、第2ログ情報に含まれる送信元識別情報が「ベンチマーク160」である場合には、後述する更新処理を行わず、次の第2ログ情報を取得するまで待機する。
API呼び出しパターン表更新部274は、第2ログ情報を取得し、第2ログ情報に含まれる送信元識別情報が「顧客アプリ110」である場合には、後述する更新処理を実行する。
API呼び出しパターン表更新部274が実行する更新処理について説明する。API呼び出しパターン表更新部274は、第2ログ情報に含まれるサービス識別情報、APIメソッド、パラメータ1,2と、API呼び出しパターン表250とを比較して、一致するレコードが存在するか否かを判定する。API呼び出しパターン表更新部274は、一致するレコードが存在する場合には、一致するレコードの時刻を、第2ログ情報の時刻に更新する。
一方、API呼び出しパターン表更新部274は、一致するレコードが存在しない場合には、第2ログ情報を、API呼び出しパターン表更新部274に新規登録する。
図12は、API呼び出しパターン表更新部の更新処理の一例を説明するための図である。例えば、図12では、更新前のAPI呼び出しパターン表250aと、更新後のAPI呼び出しパターン表250bとを示す。
図13は、第2ログ情報の一例を示す図である。図13に示す例では、第2ログ情報(1)〜(4)を示す。
API呼び出しパターン表更新部274は、API呼び出しパターン表250aと、第2ログ情報(1)〜(4)とを比較する。第2ログ情報(1)のサービス識別情報、APIメソッド、パラメータ1,2と、API呼び出しパターン表250aの2行目のレコードとが一致する。このため、API呼び出しパターン表更新部274は、API呼び出しパターン表250aの2行目の時刻を、第2ログ情報(1)の時刻に対応させ「2016年3月15日14:00」に更新する。
第2ログ情報(2)に対応するレコードは、API呼び出しパターン表250aには存在しない。このため、API呼び出しパターン表更新部274は、第2ログ情報(2)に対応するレコードを、API呼び出しパターン表250aに追加する。例えば、追加したレコードは、API呼び出しパターン表250bの5行目のレコードに対応する。
第2ログ情報(3)、(4)に対応するレコードは、API呼び出しパターン表250aには存在しない。このため、API呼び出しパターン表更新部274は、第2ログ情報(3)、(4)に対応するレコードを、API呼び出しパターン表250aに追加する。例えば、追加したレコードは、API呼び出しパターン表250bの12,13行目のレコードに対応する。
なお、API呼び出しパターン表更新部274は、API呼び出しパターン表250の時刻を定期的に参照し、現在時刻を基にして、所定時間以上経過した時刻を特定する。API呼び出しパターン表更新部274は、図示しないタイマから現在時刻の情報を取得する。API呼び出しパターン表更新部274は、特定した時刻に対応するレコードを、削除する。例えば、API呼び出しパターン表更新部274は、API呼び出しパターン表250bの1,8,9行目のレコードを削除する。
更に、API呼び出しパターン表更新部274は、API呼び出しパターン表250を参照し、各パラメータの「値」の内容を基にして、「型」を更新する。パラメータの値で指定する文字列は、数パターンの固定文字列から選んで指定したものと、任意の文字列を指定するものとが存在する。値の文字列が数パターンの文字列から選んで指定されたものである場合には、型は「固定文字列」となる。値の文字列が任意の文字列である場合には、型は「任意文字列」となる。
API呼び出しパターン表更新部274は、API呼び出しパターン表250に含まれる値毎に、同一の文字列となる値の数を計数する。API呼び出しパターン表更新部274は、計数した値の数が所定数以上である場合には、かかる値の型を「固定文字列」に設定する。一方、API呼び出しパターン表更新部274は、計数した値の数がサンプル数に対して所定数未満である場合には、かかる値の型を「任意文字列」に設定する。
例えば、API呼び出しパターン表更新部274は、値「modeA」の数が所定数以上である場合には、値「modeA」の型を「固定文字列」に設定する。API呼び出しパターン表更新部274は、値「testA」の数が所定数未満である場合には、値「testA」の型を「任意文字列」に設定する。
評価部275は、ログパターン表260を基にして、ベンチマーク160を評価する処理部である。例えば、評価部275は、ログパターン表260を参照して、ログパターン内にエラーが発生した旨の情報が含まれている場合には、ベンチマーク160に異常の可能性があると判定し、指定された運営者の端末装置にエラー情報を通知する。評価部275は、第1ログ情報取得部271が、第1ログ情報を取得した時点において、第1ログ情報のログパターンに、エラーが発生した旨の情報が含まれているか否かを判定しても良い。
また、評価部275は、ログパターン表260を参照し、サービス識別情報とAPIメソッドとが一致する複数のレコードを特定し、特定した複数のレコードの内、いずれか一つのレコードを基準レコードとする。評価部275は、基準レコードのログパターンと、他のレコードのログパターンとを比較して一致率を算出する。ここで、他のレコードは、基準レコードのサービス識別情報およびAPIメソッドと一致するレコードである。
評価部275は、基準レコードのログパターンと、他のレコードのログパターンとの一致率が閾値未満である場合には、ベンチマーク160に異常の可能性があると判定し、指定された運営者の端末装置にエラー情報を通知する。また、評価部275は、基準レコードのログパターンとの一致率が閾値未満のログパターンを有する他のレコードを、異常レコードとして特定する。
評価部275は、基準レコードをどのように選出しても良い。例えば、評価部275は、サービス識別情報とAPIメソッドとが一致する複数のレコードのうち、最初にログパターン表260に登録されたレコードを、基準レコードとして選出する。
なお、評価部275は、下記の処理を行って一致率を算出しても良い。評価部275は、第1ログ情報取得部271が、第1ログ情報を取得した時点において、第1ログ情報のサービス識別情報およびAPIメソッドと一致するレコードをログパターン表260から特定する。評価部275は、特定したレコードから選出した基準レコードのログパターンと、第1ログ情報のログパターンとを比較し、一致率を算出する。
図14は、運営者の端末装置に通知されるエラー情報の一例を示す図である。図14に示すように、エラー情報10には、領域10a,10b,10c,10dが存在する。評価部275は、領域10aに、異常レコードに含まれるサービス識別情報を登録する。評価部275は、領域10bに、異常レコードに含まれるAPIメソッドを登録する。
評価部275は、領域10cに、異常レコードに含まれるログパターンを登録する。評価部275は、領域10dに、基準レコードに含まれるログパターンを登録する。
評価部275は、ログパターン表260に新たなレコードが登録される度に、上記処理を繰り返し実行する。
次に、ベンチマーク160がベンチマーク動作表150を更新する処理手順について説明する。図15は、ベンチマークがベンチマーク動作表を更新する処理手順を示すフローチャートである。図15に示すように、ベンチマーク160の更新部161は、API呼び出しパターン表250から、自身(ベンチマーク160)が担当するサービスのレコードを抽出する(ステップS101)。ベンチマーク160の担当するサービスは事前に設定されているものとする。また、以下の説明では、自身が担当するサービスのレコードを呼び出しパターンと表記する。
更新部161は、呼び出しパターンを取り出す(ステップS102)。更新部161は、呼び出しパターンと「APIメソッド」が一致するレコードをベンチマーク動作表150から検索する(ステップS103)。
更新部161は、検索結果が0件であるか否かを判定する(ステップS104)。更新部161は、検索結果が0件である場合には(ステップS104,Yes)、ステップS112に移行する。
更新部161は、検索結果が0件でない場合には(ステップS104,No)、呼び出しパターン内のいずれかのパラメータの「名前」、「値」、「型」のセットを取り出す(ステップS105)。
更新部161は、「型」が固定文字列であるか否かを判定する(ステップS106)。更新部161は、「型」が固定文字列である場合には(ステップS106,Yes)、ステップS107に移行する。一方、更新部161は、「型」が固定文字列でない場合には(ステップS106,No)、ステップS108に移行する。
更新部161は、呼び出しパターンと同じ「名前」、「値」の組み合わせがベンチマーク動作表150に存在するか否かを判定する(ステップS107)。更新部161は、呼び出しパターンと同じ「名前」、「値」の組み合わせがベンチマーク動作表150に存在しない場合には(ステップS107,No)、ステップS112に移行する。一方、更新部161は、呼び出しパターンと同じ「名前」、「値」の組み合わせがベンチマーク動作表150に存在する場合には(ステップS107,Yes)、ステップS108に移行する。
更新部161は、「型」が数値であるか否かを判定する(ステップS108)。更新部161は、「型」が数値である場合には(ステップS108,Yes)、ステップS110に移行する。一方、更新部161は、「型」が数値でない場合には(ステップS108,No)、ステップS109に移行する。
更新部161は、全てのパラメータを調べたか否かを判定する(ステップS109)。更新部161は、全てのパラメータを調べた場合には(ステップS109,Yes)、ステップS113に移行する。一方、更新部161は、全てのパラメータを調べていない場合には(ステップS109,No)、ステップS105に移行する。
更新部161は、該当のパラメータの「値」について、呼び出しパターンとベンチマーク動作表150の値をクラスタリングする(ステップS110)。更新部161は、呼び出しパターンの「値」に近い値がベンチマーク動作表150内に存在するか否かを判定する(ステップS111)。
更新部161は、呼び出しパターンの「値」に近い値がベンチマーク動作表150内に存在する場合には(ステップS111,Yes)、ステップS109に移行する。更新部161は、呼び出しパターンの「値」に近い値がベンチマーク動作表150内に存在しない場合には(ステップS111,No)、ステップS112に移行する。
更新部161は、呼び出しパターンの「APIメソッド」、「各パラメータ」をベンチマーク動作表150に新規追加し(ステップS112)、ステップS113に移行する。
更新部161は、全ての呼び出しパラメータを調べたか否かを判定する(ステップS113)。更新部161は、全ての呼び出しパラメータを調べていない場合には(ステップS113,No)、ステップS102に移行する。
一方、更新部161は、全ての呼び出しパラメータを調べた場合には(ステップS113,Yes)、ステップS114に移行する。更新部161は、API呼び出しパターン表250のいずれの「APIメソッド」、「パラメータ」にも一致しなかったレコードを、ベンチマーク動作表150から削除する(ステップS114)。
次に、ベンチマーク160がAPIリクエストを送信する処理手順について説明する。図16は、ベンチマークがAPIリクエストを送信する処理手順を示すフローチャートである。図16に示すように、ベンチマーク160のAPIリクエスト送信部162は、ベンチマーク動作表150からレコードを一つ取り出す(ステップS201)。
APIリクエスト送信部162は、レコードの「APIメソッド」、「各パラメータ」を基に、APIリクエストを生成する(ステップS202)。ベンチマーク160の第1ログ情報生成部163は、生成されたAPIリクエストの情報を第1ログ情報に出力する(ステップS203)。
APIリクエスト送信部162は、APIリクエストを実行する(ステップS204)。第1ログ情報生成部163は、サービス210からのレスポンス内容、通信時刻などを第1ログ情報に出力する(ステップS205)。
APIリクエスト送信部162は、未実行のレコードが存在するか否かを判定する(ステップS206)。APIリクエスト送信部162は、未実行のレコードが存在する場合には(ステップS206,Yes)、ステップS201に移行する。APIリクエスト送信部162は、未実行のレコードが存在しない場合には(ステップS206,No)、処理を終了する。
次に、ログ収集機能部270がAPI呼び出しパターン表250を更新する処理手順について説明する。図17は、ログ収集機能部がAPI呼び出しパターン表を更新する処理手順を示すフローチャートである。図17に示すように、ログ収集機能部270の第2ログ情報取得部273は、IaaS200に含まれるサービス210から第2ログ情報を取得する(ステップS301)。
ログ収集機能部270のAPI呼び出しパターン表更新部274は、第2ログ情報が顧客アプリ110による呼び出しであるか否かを判定する(ステップS302)。API呼び出しパターン表更新部274は、第2ログ情報が顧客アプリ110による呼び出しでない場合には(ステップS302,No)、ステップS307に移行する。
API呼び出しパターン表更新部274は、第2ログ情報が顧客アプリ110による呼び出しである場合には(ステップS302,Yes)、ステップS303に移行する。API呼び出しパターン表更新部274は、第2ログ情報の「サービス識別情報」、「APIメソッド」、パラメータの「名前」および「値」と一致するレコードを、API呼び出しパターン表250から検索する(ステップS303)。
API呼び出しパターン表更新部274は、一致するレコードが存在するか否かを判定する(ステップS304)。API呼び出しパターン表更新部274は、一致するレコードが存在しない場合には(ステップS304,No)、第2ログ情報に対応するレコードをAPI呼び出しパターン表250に新規追加し(ステップS305)、ステップS307に移行する。
API呼び出しパターン表更新部274は、一致するレコードが存在する場合には(ステップS304,Yes)、一致したレコードの時刻を第2ログ情報の時刻で更新し(ステップS306)、ステップS307に移行する。
API呼び出しパターン表更新部274は、未処理の第2ログ情報が存在するか否かを判定する(ステップS307)。API呼び出しパターン表更新部274は、未処理の第2ログ情報が存在する場合には(ステップS307,Yes)、ステップS302に移行する。
一方、API呼び出しパターン表更新部274は、未処理の第2ログ情報が存在しない場合には(ステップS307,No)、API呼び出しパターン表250から、「時刻」が一定期間以上前のレコードを削除する(ステップS308)。API呼び出しパターン表更新部274は、各パラメータの「値」の内容を基にして、「型」を更新する(ステップS309)。
次に、ログ収集機能部270がログパターン表260を基にして、ベンチマーク160を評価する処理手順について説明する。図18は、ログ収集機能部がベンチマークを評価する処理手順を示すフローチャートである。図18に示すように、ログ収集機能部270の第1ログ情報取得部271は、第1ログ情報を取得する(ステップS401)。
ログ収集機能部270の評価部275は、第1ログ情報のログパターンにエラーログが存在するか否かを判定する(ステップS402)。評価部275は、第1ログ情報のログパターンにエラーログが存在する場合には(ステップS402,Yes)、ステップS408に移行する。
一方、評価部275は、第1ログ情報のログパターンにエラーログが存在しない場合には(ステップS402,No)、ステップS403に移行する。評価部275は、第1ログ情報の「サービス識別情報」、「APIメソッド」と一致するレコードをログパターン表260から抽出する(ステップS403)。
評価部275は、抽出したレコード数が0であるか否かを判定する(ステップS404)。評価部275は、抽出したレコード数が0である場合には(ステップS404,Yes)、ステップS405に移行する。一方、評価部275は、抽出したレコード数が0でない場合には(ステップS404,No)、ステップS406に移行する。
ログ収集機能部270のログパターン表更新部272は、第1ログ情報の「サービス識別情報」、「APIメソッド」、「各パラメータ」、「ログパターン」をログパターン表260に新規追加し(ステップS405)、ステップS409に移行する。
評価部275は、第1ログ情報のログパターンと、ログパターン表260から抽出した基準レコードの「ログパターン」とを比較する(ステップS406)。
評価部275は、ログパターンの一致率が閾値未満であるか否かを判定する(ステップS407)。評価部275は、ログパターンの一致率が閾値未満である場合には(ステップS407,Yes)、エラー情報を生成し、運用者の端末装置に通知する(ステップS408)。一方、評価部275は、ログパターンの一致率が閾値未満でない場合には(ステップS407,No)、ステップS409に移行する。
評価部275は、未解析の第1ログ情報が存在するか否かを判定する(ステップS409)。評価部275は、未解析の第1ログ情報が存在する場合には(ステップS409,Yes)、ステップS401に移行する。ログパターン表更新部272は、未解析の第1ログ情報が存在しない場合には(ステップS409,No)、サービス210に実施されなかった「APIメソッド」、「パラメータ」のレコードを、ログパターン表260から削除する(ステップS410)。
次に、本実施例に係るシステムの効果について説明する。ベンチマーク160は、ベンチマーク動作表150を参照して、顧客アプリ110がサービス210に出力したAPIリクエストと同じAPIリクエストを、サービス210に送信して実行依頼を行い、第1ログ情報を、ログ収集機能部270に通知する。ログ収集機能部270は、第1ログ情報と、過去の第1ログ情報を格納したログパターン表260に基づき、ペンチマーク160を評価する。上記のような処理を実行することで、顧客アプリ110からログ情報や性能情報を取得しなくても、ベンチマーク160を評価することで、間接的に、顧客アプリ110を評価することができる。
また、PaaS100の運用者と、IaaS200の運用者とが異なっていても、例えば、IaaS200の運用者が、ベンチマーク160をIaaS200に配置しておくことで、IaaS200の運用者は、PaaS100に起因するエラーを容易に検出できる。
ログ収集機能部270が、サービス210から第2ログ情報を取得して、API呼び出しパターン表250を更新する。ベンチマーク160は、API呼び出しパターン表250を参照し、ベンチマーク動作表150に存在しないパターンを検出した場合に、新たなパターンを、ベンチマーク動作表150に登録する。これにより、顧客アプリ110から性能情報等を取得しなくても、顧客アプリ110の機能追加・更新に追従して、顧客アプリ110の処理を、ベンチマーク160に実行させることが可能となる。
なお、上述したPaaS100およびIaaS200は、図示しない制御部により実現される。制御部は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部は、例えば、CPUやMPU(Micro Processing Unit)等の電子回路に対応する。
ベンチマーク動作表150、API呼び出しパターン表250、ログパターン表260は、図示しない記憶部に格納される。記憶部は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
ところで、図1に示したPaaS100およびIaaS200に対応する処理を、別々のサーバ装置に実行させても良いし、単一のサーバ装置に、PaaS100およびIaaS200に対応する処理を実行させても良い。更に、PaaS100の処理を複数のサーバ装置に分担して行わせ、IaaS200に対応する処理を複数のサーバ装置に分担して行わせても良い。
また、本実施例では、PaaS100およびIaaS200を例にして説明したが、これに限定されるものではない。例えば、PaaSとSaaSとの組、IaaSとSaaSとの組であっても同様に、上層にベンチマークを配置して、エラーを検出することができる。
次に、上記実施例に示したPaaS100,IaaS200を実行する情報処理装置のハードウェア構成の一例について説明する。図19は、情報処理装置のハードウェア構成の一例を示す図である。
図19に示すように、情報処理装置300は、各種演算処理を実行するCPU301と、利用者からのデータの入力を受け付ける入力装置302と、ディスプレイ303を有する。また、情報処理装置300は、記憶媒体からプログラム等を読取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置305とを有する。また、情報処理装置300は、各種情報を一時記憶するRAM306と、ハードディスク装置307を有する。そして、各装置301〜307は、バス308に接続される。
ハードディスク装置307は、顧客アプリプログラム307a、ベンチマークプログラム307b、ログ収集機能プログラム307c、サービスプログラム307dを有する。また、ハードディスク装置307は、API呼び出しパターン表307e、ベンチマーク動作表207f、ログパターン表307gを有する。
API呼び出しパターン表307eは、図1に示したAPI呼び出しパターン表250に対応する。ベンチマーク動作表307fは、図1に示したベンチマーク動作表150に対応する。ログパターン表307gは、図1に示したログパターン表260に対応する。
また、CPU301は、各プログラム307a〜307dを読み出してRAM306に展開する。顧客アプリプログラム307aは、顧客アプリプロセス306aとして機能する。ベンチマークプログラム307bは、ベンチマークプロセス306bとして機能する。ログ収集機能プログラム307cは、ログ収集機能プロセス306cとして機能する。サービスプログラム307dは、サービスプロセス306dとして機能する。
例えば、顧客アプリプロセス306aの処理は、顧客アプリ110の処理に対応する。ベンチマークプロセス306bの処理は、ベンチマーク160の処理に対応する。ログ収集機能プロセス306cは、ログ収集機能部270の処理に対応する。サービスプロセス306dは、サービス210a〜210cに対応する。
なお、各プログラム307a〜307dについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、情報処理装置300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、情報処理装置300がこれらから各プログラム307a〜307dを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
ソフトウェアの指定を受け付け、
特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得し、
取得した前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、
実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得し、
取得した前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、
評価結果を出力する
処理を実行させることを特徴とする評価プログラム。
(付記2)前記特定のソフトウェアが存在する層は、前記特定のソフトウェアが実行依頼を行う他のソフトウェアが存在する層とは異なる層であることを特徴とする付記1に記載の評価プログラム。
(付記3)前記他のソフトウェアが実行依頼を実行した際のログ情報を収集し、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新することを特徴とする付記1または2に記載の評価プログラム。
(付記4)前記特定のソフトウェアは、顧客に設定された第1のソフトウェアと前記第1のソフトウェアとは異なる第2のソフトウェアとを含み、前記他のソフトウェアが実行依頼を実行した際のログ情報を収集する処理は、前記他のソフトウェアが、前記第1のソフトウェアによる実行依頼を実行した際のログ情報を収集することを特徴とする付記3に記載の評価プログラム。
(付記5)コンピュータが実行する評価方法であって、
ソフトウェアの指定を受け付け、
特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得し、
取得した前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、
実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得し、
取得した前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、
評価結果を出力する
処理を実行することを特徴とする評価方法。
(付記6)前記特定のソフトウェアが存在する層は、前記特定のソフトウェアが実行依頼を行う他のソフトウェアが存在する層とは異なる層であることを特徴とする付記5に記載の評価方法。
(付記7)前記他のソフトウェアが実行依頼を実行した際のログ情報を収集し、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新することを特徴とする付記5または6に記載の評価方法。
(付記8)前記特定のソフトウェアは、顧客に設定された第1のソフトウェアと前記第1のソフトウェアとは異なる第2のソフトウェアとを含み、前記他のソフトウェアが実行依頼を実行した際のログ情報を収集する処理は、前記他のソフトウェアが、前記第1のソフトウェアによる実行依頼を実行した際のログ情報を収集することを特徴とする付記7に記載の評価方法。
(付記9)ソフトウェアの指定を受け付け、特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得する第1取得部と、
前記第1取得部によって取得された前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得する第2取得部と、
前記第2取得部によって取得された前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、評価結果を出力する評価部と
を有することを特徴とする評価装置。
(付記10)前記特定のソフトウェアが存在する層は、前記特定のソフトウェアが実行依頼を行う他のソフトウェアが存在する層とは異なる層であることを特徴とする付記9に記載の評価装置。
(付記11)前記他のソフトウェアが実行依頼を実行した際のログ情報を収集し、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新する更新部を更に有することを特徴とする付記9または10に記載の評価装置。
(付記12)前記特定のソフトウェアは、顧客に設定された第1のソフトウェアと前記第1のソフトウェアとは異なる第2のソフトウェアとを含み、前記第2取得部は、前記他のソフトウェアが、前記第1のソフトウェアによる実行依頼を実行した際のログ情報を収集することを特徴とする付記11に記載の評価装置。
(付記13)ソフトウェアの指定を受け付け、特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得する第1取得部と、
前記第1取得部によって取得された前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得する第2取得部と、
前記第2取得部によって取得された前記ログ情報に基づき、前記特定のソフトウェアに関する評価を実行し、評価結果を出力する評価部と、
前記他のソフトウェアが実行依頼を実行した際のログ情報を収集するログ収集部と
を有することを特徴とする情報処理装置。
(付記14)前記ログ収集部によって収集されたログ情報を基にして、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新する更新部を更に有することを特徴とする付記13に記載の情報処理装置。
100 PaaS
110 顧客アプリ
150 ベンチマーク動作表
160 ベンチマーク
200 IaaS
205 サービス群
210a,210b,210c サービス
250 API呼び出しパターン表
260 ログパターン表
270 ログ収集機能部

Claims (8)

  1. コンピュータに、
    ソフトウェアの指定を受け付け、
    特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得し、
    取得した前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、
    実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得する処理を繰り返し実行し、
    複数のログ情報のうち、ログ情報に含まれるソフトウェアの種別と、メソッドとが一致する複数のログ情報の一致率を基にして、前記特定のソフトウェアに関する評価を実行し、
    評価結果を出力する
    処理を実行させることを特徴とする評価プログラム。
  2. 前記特定のソフトウェアが存在する層は、前記特定のソフトウェアが実行依頼を行う他のソフトウェアが存在する層とは異なる層であることを特徴とする請求項1に記載の評価プログラム。
  3. 前記他のソフトウェアが実行依頼を実行した際のログ情報を収集し、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新することを特徴とする請求項1または2に記載の評価プログラム。
  4. 前記特定のソフトウェアは、顧客に設定された第1のソフトウェアと前記第1のソフトウェアとは異なる第2のソフトウェアとを含み、前記他のソフトウェアが実行依頼を実行した際のログ情報を収集する処理は、前記他のソフトウェアが、前記第1のソフトウェアによる実行依頼を実行した際のログ情報を収集することを特徴とする請求項3に記載の評価プログラム。
  5. コンピュータが実行する評価方法であって、
    ソフトウェアの指定を受け付け、
    特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得し、
    取得した前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、
    実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得する処理を繰り返し実行し、
    複数のログ情報のうち、ログ情報に含まれるソフトウェアの種別と、メソッドとが一致する複数のログ情報の一致率を基にして、前記特定のソフトウェアに関する評価を実行し、
    評価結果を出力する
    処理を実行することを特徴とする評価方法。
  6. ソフトウェアの指定を受け付け、特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得する第1取得部と、
    前記第1取得部によって取得された前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得する処理を繰り返し実行する第2取得部と、
    前記第2取得部によって取得された複数のログ情報のうち、ログ情報に含まれるソフトウェアの種別と、メソッドとが一致する複数のログ情報の一致率を基にして、前記特定のソフトウェアに関する評価を実行し、評価結果を出力する評価部と
    を有することを特徴とする評価装置。
  7. ソフトウェアの指定を受け付け、特定のソフトウェアによる他のソフトウェアの実行依頼に用いられた実行条件を、前記他のソフトウェアに対応付けて記憶する記憶部を参照して、指定されたソフトウェアに対応付けられた実行条件を取得する第1取得部と、
    前記第1取得部によって取得された前記実行条件を用いて、指定された前記ソフトウェアの実行依頼を実行し、実行した前記実行依頼に応じて、指定された前記ソフトウェアが実行されると、該ソフトウェアの実行に関するログ情報を取得する処理を繰り返し実行する第2取得部と、
    前記第2取得部によって取得された複数のログ情報のうち、ログ情報に含まれるソフトウェアの種別と、メソッドとが一致する複数のログ情報の一致率を基にして、前記特定のソフトウェアに関する評価を実行し、評価結果を出力する評価部と、
    前記他のソフトウェアが実行依頼を実行した際のログ情報を収集するログ収集部と
    を有することを特徴とする情報処理装置。
  8. 前記ログ収集部によって収集されたログ情報を基にして、前記他のソフトウェアが前記記憶部に記憶されていない新たな実行条件によって実行依頼を受け付けたことを検出した場合に、前記新たな実行条件と、前記他のソフトウェアとを対応付けた情報により前記記憶部の情報を更新する更新部を更に有することを特徴とする請求項7に記載の情報処理装置。
JP2016132895A 2016-07-04 2016-07-04 評価プログラム、評価方法、評価装置および情報処理装置 Active JP6801267B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016132895A JP6801267B2 (ja) 2016-07-04 2016-07-04 評価プログラム、評価方法、評価装置および情報処理装置
US15/635,662 US10445213B2 (en) 2016-07-04 2017-06-28 Non-transitory computer-readable storage medium, evaluation method, and evaluation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016132895A JP6801267B2 (ja) 2016-07-04 2016-07-04 評価プログラム、評価方法、評価装置および情報処理装置

Publications (2)

Publication Number Publication Date
JP2018005635A JP2018005635A (ja) 2018-01-11
JP6801267B2 true JP6801267B2 (ja) 2020-12-16

Family

ID=60807471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016132895A Active JP6801267B2 (ja) 2016-07-04 2016-07-04 評価プログラム、評価方法、評価装置および情報処理装置

Country Status (2)

Country Link
US (1) US10445213B2 (ja)
JP (1) JP6801267B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10776252B1 (en) * 2018-11-27 2020-09-15 Walgreen Co. Crowd-sourced automatic generation of user interface tests for enterprise-specific mobile applications
JP7322964B2 (ja) * 2019-10-28 2023-08-08 日本電信電話株式会社 テスト情報抽出装置、テスト情報抽出方法及びプログラム
CN111913885B (zh) * 2020-08-07 2021-07-27 腾讯科技(深圳)有限公司 日志处理方法、装置、计算机可读存储介质及设备

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005115751A (ja) 2003-10-09 2005-04-28 Hitachi Ltd 計算機システム及び計算機システムの障害兆候の検知方法
JP4532237B2 (ja) * 2004-10-29 2010-08-25 株式会社日立製作所 計算機および計算機におけるアクセス制御方法
JP4983801B2 (ja) * 2006-09-28 2012-07-25 富士通株式会社 プログラム性能解析装置
WO2009096519A1 (ja) * 2008-01-31 2009-08-06 Nec Corporation フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体
US20090228871A1 (en) * 2008-03-10 2009-09-10 Microsoft Corporation Managing generation of security tests
JP5140633B2 (ja) * 2008-09-04 2013-02-06 株式会社日立製作所 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
WO2011018827A1 (ja) * 2009-08-13 2011-02-17 株式会社日立製作所 実行環境におけるアプリケーションの適性を評価するシステム及び方法
JP5487864B2 (ja) * 2009-09-30 2014-05-14 富士通株式会社 データ収集装置、データ収集方法およびデータ収集プログラム
WO2011108584A1 (ja) * 2010-03-04 2011-09-09 日本電気株式会社 アプリケーション改変部位探索装置およびアプリケーション改変部位探索方法
US9015675B2 (en) * 2010-04-13 2015-04-21 Nec Corporation System reliability evaluation device
JP2012088901A (ja) * 2010-10-19 2012-05-10 Fujitsu Ltd ソフトウェア管理装置、ソフトウェア管理方法およびソフトウェア管理プログラム
US9213832B2 (en) * 2012-01-24 2015-12-15 International Business Machines Corporation Dynamically scanning a web application through use of web traffic information
WO2013171944A1 (ja) 2012-05-15 2013-11-21 日本電気株式会社 仮想マシン管理システム、仮想マシン管理方法およびプログラム
US9146840B2 (en) * 2012-06-15 2015-09-29 Cycle Computing, Llc Method and system for automatically detecting and resolving infrastructure faults in cloud infrastructure
JP6019995B2 (ja) * 2012-09-24 2016-11-02 日本電気株式会社 分散システム、サーバ計算機、及び障害発生防止方法
US8839201B2 (en) * 2012-10-12 2014-09-16 Vmware, Inc. Capturing test data associated with error conditions in software item testing
US8966636B2 (en) * 2012-10-16 2015-02-24 International Business Machines Corporation Transforming unit tests for security testing
CN105144187B (zh) 2013-02-10 2019-01-22 配拨股份有限公司 提供预测的安全产品以及评分现有安全产品的方法与产品
NL2010294C2 (en) 2013-02-13 2014-08-14 Boudewijn John Sambeek Connection device, assembly thereof and assembly method therefor.
WO2014188502A1 (ja) * 2013-05-21 2014-11-27 株式会社日立製作所 管理システム、管理プログラム及び管理方法
US9146787B2 (en) * 2013-11-07 2015-09-29 Accenture Global Services Limited Analytics for application programming interfaces
US9417994B2 (en) * 2014-04-08 2016-08-16 Turnkey Solutions, Corp. Software test automation system and method
JP6298711B2 (ja) * 2014-05-19 2018-03-20 株式会社日立製作所 分散処理システム
US20160188898A1 (en) * 2014-12-31 2016-06-30 Netapp, Inc. Methods and systems for role based access control in networked storage environment
US9785476B2 (en) * 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9740473B2 (en) * 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
US9825956B2 (en) * 2015-10-06 2017-11-21 Netflix, Inc. Systems and methods for access permission revocation and reinstatement
US9965379B1 (en) * 2016-11-10 2018-05-08 Sap Se Cross-platform API test flow synthesizer

Also Published As

Publication number Publication date
US20180004626A1 (en) 2018-01-04
JP2018005635A (ja) 2018-01-11
US10445213B2 (en) 2019-10-15

Similar Documents

Publication Publication Date Title
JP6440203B2 (ja) ネットワーク監視システム、ネットワーク監視方法およびプログラム
EP3882773A1 (en) Method and system for automatic real-time causality analysis of end user impacting system anomalies using causality rules and topological understanding of the system to effectively filter relevant monitoring data
JP2018519586A5 (ja)
JP6201614B2 (ja) ログ分析装置、方法およびプログラム
JP6307453B2 (ja) リスク評価システムおよびリスク評価方法
JP6801267B2 (ja) 評価プログラム、評価方法、評価装置および情報処理装置
CN105512045B (zh) 一种应用程序的测试方法、装置及测试设备
CN106295348B (zh) 应用程序的漏洞检测方法及装置
WO2019169760A1 (zh) 测试用例范围确定方法、装置及存储介质
JP2016152594A (ja) ネットワーク攻撃監視装置、ネットワーク攻撃監視方法、及びプログラム
US10341182B2 (en) Method and system for detecting network upgrades
CN109167794B (zh) 一种面向网络系统安全度量的攻击检测方法
EP3151124A1 (en) On-board information system and information processing method therefor
KR20190078768A (ko) 전산 자산 정보 자동 분석 장치 및 방법
JP5613000B2 (ja) アプリケーション特性解析装置およびプログラム
JP2019012477A (ja) 診断プログラム、診断方法及び診断装置
JP6467365B2 (ja) 故障解析装置、故障解析プログラムおよび故障解析方法
CN110691090B (zh) 网站检测方法、装置、设备及存储介质
EP3232360B1 (en) Malware analysis system, malware analysis method, and malware analysis program
US11036561B2 (en) Detecting device utilization imbalances
KR101922594B1 (ko) 상태정보 모니터링을 통해 상태를 탐지하는 유무선 공유기, 유무선 공유기의 상태 탐지 장치 및 그 방법
KR101637201B1 (ko) 함수 후킹을 이용한 리눅스 또는 유닉스 시스템용 c언어 기반 어플리케이션 성능 관리 모듈
KR101688922B1 (ko) 어플리케이션 패키지 파일 수집 장치 및 방법
RU2781822C1 (ru) Система и способ автоматической оценки качества сигнатур сетевого трафика
WO2020020646A1 (en) Method, computer program product and device for recognizing a weak point in an original program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200515

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: 20201027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201109

R150 Certificate of patent or registration of utility model

Ref document number: 6801267

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150