(57)【要約】【課題】既存の第１のサービスにおける機能と第１のサービスと類似する第２のサービスにおける機能を比較する場合にあって、操作者が差分の機能を見つけ出す必要なく、差分の機能を検証できるようにした情報処理装置を提供する。【解決手段】情報処理装置の抽出手段は、既存の第１のサービスにおける機能と該第１のサービスと類似する第２のサービスにおける機能の差分を抽出し、構築手段は、前記第２のサービスを実現できる環境を構築する場合に、前記差分の機能を検証できるように環境を構築する。【選択図】図１
2018032177.tif 000002
【特許請求の範囲】
【請求項１】
既存の第１のサービスにおける機能と該第１のサービスと類似する第２のサービスにおける機能の差分を抽出する抽出手段と、
前記第２のサービスを実現できる環境を構築する場合に、前記差分の機能を検証できるように環境を構築する構築手段
を有する情報処理装置。
【請求項２】
前記構築手段によって構築された環境で、前記差分の機能における実行結果を記録する記録手段
をさらに有する請求項１に記載の情報処理装置。
【請求項３】
前記実行結果から算出した困窮度を提示する提示手段
をさらに有する請求項２に記載の情報処理装置。
【請求項４】
前記第１のサービスに課題がある場合は、前記構築手段は、該課題を検証できるように前記第２のサービスにおける環境を構築する
請求項１に記載の情報処理装置。
【請求項５】
前記構築手段によって構築された環境で、前記課題における実行結果を前記第１のサービスにおける実行結果と比較することによって検証する検証手段
をさらに有する請求項４に記載の情報処理装置。
【請求項６】
コンピュータを、
既存の第１のサービスにおける機能と該第１のサービスと類似する第２のサービスにおける機能の差分を抽出する抽出手段と、
前記第２のサービスを実現できる環境を構築する場合に、前記差分の機能を検証できるように環境を構築する構築手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、システム装置における高品質の機能テスト手順を得ることができるようにした機能テスト手順自動生成方法及びその自動生成システムを提供することを課題とし、入力した機能仕様を解析し機能を抽出する機能仕様解析処理部と、機能毎に機能テスト項目を生成し、対応する機能テスト項目内容を知識データベースから抽出する知識データベース制御処理部と、機能テスト項目内容から機能テスト手順を出力する機能テスト自動生成処理部とを有して構成し、従来のような人手による俗人的なテスト項目の品質のばらつきを発生させることなく高品質で、機能テストにおける検証項目の漏れの発生を抑えて効率よく機能テスト手順を得ることが開示されている。
【０００３】
特許文献２には、現行システムから新システムに移行する際に行うテストの事前準備に要する工数、及びテスト工数を削減できるテスト支援方法、これを実施するテスト支援装置及びプログラムを提供することを課題とし、現行システムから新システムへの移行時のテストにおいて、現行システム利用者の要求電文と応答電文をパケットキャプチャ等により取得し、保存し、次に保存した電文と電文の仕様書を用いて、応答電文がどのようになっていればテストが成功したとみなすかについて指定する電文検証用の設定を作成し、その後、テスト支援装置が新システムへの要求電文の送信と応答電文の受信を行い、その応答電文を電文検証用の設定と比較することでテストが成功したか否かを判定することが開示されている。
【０００４】
特許文献３には、コンピュータプログラムの開発の際に、動作検証試験により発生した不具合の原因の究明を容易に且つ効率的に行えるようにすることを課題とし、開発者は、試験前に不具合発生の特定に有用であると思われる記録契機事象（特定の操作など）と観察対象（入出力など）とを設定しておき、検証支援システムの上で試験者により試験対象プログラムの試験が実行されると、記憶契機事象検出部が記録契機事象の有無を繰り返し判断し、記録契機事象が検出されると、情報収集部は観察対象の情報を収集し、記憶制御部は、収集された情報の変化の有無などに基づき記録の要否を判定し、要記録事項が試験ログ作成部により試験ログに記録され、開発者にフィードバックされ、開発者実行環境の下では、不具合再現部が試験ログに基づいて試験対象プログラムの不具合動作を再現し、記録対象事象に対し観察対象の変化が明確になるように表示部上に表示がなされることが開示されている。
【０００５】
特許文献４には、障害発生時の事象（現象）の再現確認を容易に行えるようにすることを課題とし、障害調査業務を支援する障害調査支援装置は、想定される操作と、当該操作により発生するエラーの現象との間の関係を関連付けた、操作・現象関連情報を蓄積する蓄積手段と、障害発生時にログファイルからエラーメッセージを抽出する抽出手段と、この抽出したエラーメッセージに基づいて、蓄積手段に蓄積された操作・現象関連情報を検索し、検索された一連の操作を、エラーを発生させた現象を再現させる手順として出力する検索手段と、を備えることが開示されている。
【０００６】
特許文献５には、動作履歴情報を基にして対象ユニットの動作を再現し、障害解析及び改修時の動作確認を容易にした再現試験システムを得ることを課題とし、プログラムコードを実行した時のレジスタ情報及びメモリ情報を、所定の契機により動作履歴情報として保存する動作履歴収集ソフトを有する対象ユニットから、動作履歴情報とプログラムコードを取得して、プログラムコードの実行を再現する再現マシンを有し、この再現マシンは、選択された所定の契機に対応する動作履歴情報のレジスタ情報を自装置のレジスタに、動作履歴情報のメモリ情報を自装置のメモリにそれぞれ動作履歴復元ソフトによって復元し、このレジスタ及びメモリを用いてプログラムコードを実行することが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１４５５９４号公報
【特許文献２】特開２０１５−０７２５３１号公報
【特許文献３】特開２００９−２０５３１４号公報
【特許文献４】特開２０１２−２１２２８３号公報
【特許文献５】特開２００９−１４０１３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
サービスにおける機能の評価が行われている。
ところで、第１のサービスから第２のサービスに移行する場合、２つのサービスにおける機能の差分を評価する必要がある。しかし、評価項目を操作者が設定しなければならない技術では、その差分の機能を操作者が見つけ出す必要がある。
本発明は、既存の第１のサービスにおける機能と第１のサービスと類似する第２のサービスにおける機能を比較する場合にあって、操作者が差分の機能を見つけ出す必要なく、差分の機能を検証できるようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、既存の第１のサービスにおける機能と該第１のサービスと類似する第２のサービスにおける機能の差分を抽出する抽出手段と、前記第２のサービスを実現できる環境を構築する場合に、前記差分の機能を検証できるように環境を構築する構築手段を有する情報処理装置である。
【００１０】
請求項２の発明は、前記構築手段によって構築された環境で、前記差分の機能における実行結果を記録する記録手段をさらに有する請求項１に記載の情報処理装置である。
【００１１】
請求項３の発明は、前記実行結果から算出した困窮度を提示する提示手段をさらに有する請求項２に記載の情報処理装置である。
【００１２】
請求項４の発明は、前記第１のサービスに課題がある場合は、前記構築手段は、該課題を検証できるように前記第２のサービスにおける環境を構築する請求項１に記載の情報処理装置である。
【００１３】
請求項５の発明は、前記構築手段によって構築された環境で、前記課題における実行結果を前記第１のサービスにおける実行結果と比較することによって検証する検証手段をさらに有する請求項４に記載の情報処理装置である。
【００１４】
請求項６の発明は、コンピュータを、既存の第１のサービスにおける機能と該第１のサービスと類似する第２のサービスにおける機能の差分を抽出する抽出手段と、前記第２のサービスを実現できる環境を構築する場合に、前記差分の機能を検証できるように環境を構築する構築手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１５】
請求項１、２の情報処理装置によれば、既存の第１のサービスにおける機能と第１のサービスと類似する第２のサービスにおける機能を比較する場合にあって、操作者が差分の機能を見つけ出す必要なく、差分の機能が検証される。
【００１６】
請求項３の情報処理装置によれば、差分の機能での困り具合が分かりやすくなる。
【００１７】
請求項４の情報処理装置によれば、第１のサービスの課題に対応して、第２のサービスにおける環境が構築できる。
【００１８】
請求項５の情報処理装置によれば、第１のサービスの課題において、第１のサービスと第２のサービスを比較することができる。
【００１９】
請求項６の情報処理プログラムによれば、既存の第１のサービスにおける機能と第１のサービスと類似する第２のサービスにおける機能を比較する場合にあって、操作者が差分の機能を見つけ出す必要なく、差分の機能が検証される。
【図面の簡単な説明】
【００２０】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】本実施の形態による処理例を示すフローチャートである。
【図４】本実施の形態による処理例を示すフローチャートである。
【図５】本実施の形態による処理例を示すフローチャートである。
【図６】課題判定閾値情報テーブルのデータ構造例を示す説明図である。
【図７】本実施の形態による処理例を示す説明図である。
【図８】検証項目情報テーブルのデータ構造例を示す説明図である。
【図９】本実施の形態による処理例を示す説明図である。
【図１０】サービス情報テーブルのデータ構造例を示す説明図である。
【図１１】サービス情報テーブルのデータ構造例を示す説明図である。
【図１２】検証項目情報テーブルのデータ構造例を示す説明図である。
【図１３】本実施の形態による処理例を示す説明図である。
【図１４】検証項目情報テーブルのデータ構造例を示す説明図である。
【図１５】本実施の形態による処理例を示す説明図である。
【図１６】検証項目情報テーブルのデータ構造例を示す説明図である。
【図１７】検証結果テーブルのデータ構造例を示す説明図である。
【図１８】本実施の形態による処理例を示す説明図である。
【図１９】検証項目情報テーブルのデータ構造例を示す説明図である。
【図２０】本実施の形態による処理例を示す説明図である。
【図２１】検証項目情報テーブルのデータ構造例を示す説明図である。
【図２２】新サービスリリースノートテーブルのデータ構造例を示す説明図である。
【図２３】既存サービスリリースノートテーブルのデータ構造例を示す説明図である。
【図２４】本実施の形態による処理例を示す説明図である。
【図２５】課題判定閾値テーブルのデータ構造例を示す説明図である。
【図２６】本実施の形態による処理例を示す説明図である。
【図２７】課題判定閾値テーブルのデータ構造例を示す説明図である。
【図２８】本実施の形態による処理例を示す説明図である。
【図２９】課題テーブルのデータ構造例を示す説明図である。
【図３０】検証結果テーブルのデータ構造例を示す説明図である。
【図３１】本実施の形態による処理例を示す説明図である。
【図３２】検証結果・評価テーブルのデータ構造例を示す説明図である。
【図３３】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２２】
本実施の形態である情報処理装置１００は、サービスの評価を行うものであって、図１の例に示すように、課題判定閾値記録モジュール１０５、サービス監視モジュール１１０、サービス詳細解析モジュール１１５、類似サービス検索モジュール１２０、検証項目抽出モジュール１２５、環境立ち上げモジュール１３０、検証実施モジュール１３５、効果判定モジュール１４０、課題判定閾値情報記憶モジュール１４５、検証項目情報記憶モジュール１５０、サービス情報記憶モジュール１５５を有している。
ここでサービスとは、コンピュータ（コンピュータを内蔵している機器を含む）とソフトウェアが、利用者、他の機器、他のソフトウェア等に対して提供する機能群や働きのことをいう。また、文脈によっては、サービスは、そのサービスを提供するコンピュータとソフトウェアを指す。したがって、人間のみで提供するサービスは含まない。なお、サービスを提供するコンピュータは、１つであってもよいし、複数であってもよい。具体的には、サーバーと呼ばれるコンピュータであってもよいし、クラウド（サーバー群）等であってもよい。以下、サービスとしてクラウドサービスを例示して説明する。既存サービス（第１のサービス）は、対象としているユーザーにとって、サービスを提供できる環境を既に構築したサービスをいう。未知サービス（以下、新サービスともいう）は、対象としているユーザーにとって、サービスを提供できる環境を未だ構築していないサービスをいう。特に、既存サービスからの移行を目的としているので、既存サービスに類似するサービス（第２のサービス）が対象となる。
【００２３】
類似機能を持つクラウドサービスが毎年多数リリースされている。
他社のクラウドサービスを活用して、自社のソリューションを展開しているサービス事業者（以降“二次サービス事業者”と記載する）が存在する。他社のクラウドサービスとして、例えば、オンラインストレージサービス（具体的には、ＤｒｏｐＢｏｘ、ＯｎｅＤｒｉｖｅ等）、メールサービス（Ｇｍａｉｌ、Ｏｆｆｉｃｅ  ３６５等）等がある。
既存のサービスと類似する機能を有する既存サービス以外の未知のサービス（以降「未知サービス」ともいう）が発表された場合、“二次サービス事業者”は既存のサービスと比較して、既存サービスの過去発生した課題（問題を含めてもよい）や仕様制約に対して効果があるか否かを判断することは困難である。
課題に対する優位性判断が難しい理由として、再現に必要な情報がないため、詳細の再現確認が行えないことが挙げられる。なお、ここでの再現とは、問題が発生した当時の状況（例えば、クラウドの環境、等）を記録しておき、未知サービスに対して記録した情報を元に問題発生当時と同じ状況を作り出すことである。
仕様制約に対する優位性判断が難しい理由として、未知サービスにおいて既存サービスでの制約を超えた動作を想定するための必要な再現環境情報がないため、事前の動作確認が行えないことが挙げられる。
【００２４】
情報処理装置１００は、既存のクラウドサービスのシステム監視履歴、既存サービスと未知サービスのリリースノートに基づいて、未知サービスに対して事前に検証すべき項目の抽出を行う。
情報処理装置１００は、過去の課題（既存サービスにおける課題）に対する検証項目に対して、発生時の再現状況、発生時間を蓄積する。
情報処理装置１００は、既存サービスと未知サービスにおける差分仕様（新規仕様を含む）に対しての動作検証に必要な環境情報を収集する。例えば、未知サービスでのＩＭＡＰ（Ｉｎｔｅｒｎｅｔ  Ｍｅｓｓａｇｅ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）によるメール受信が差分仕様である場合、既存サービスにおけるＰＯＰ（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ）でのメール受信履歴を収集する。
情報処理装置１００は、蓄積した情報による動作検証により、未知サービスの評価を行い結果を“二次サービス事業者”に通知する。通知として、例えば、電子メール、チャット、電子掲示板、ソーシャルメディアを用いた通知、プッシュ通知、自動音声応答による電話発信、Ｌｙｎｃ（登録商標）等を用いて行えばよい。
【００２５】
課題判定閾値記録モジュール１０５は、課題判定閾値情報記憶モジュール１４５と接続されている。課題判定閾値記録モジュール１０５は、課題が発生したと判断する条件（具体的には、課題の発生を判断するための閾値等）を課題判定閾値情報記憶モジュール１４５に記録する。例えば、ユーザーが任意で指定したい場合、ユーザーによって指定された値を課題判定閾値情報記憶モジュール１４５に記録する。
サービス監視モジュール１１０は、課題判定閾値情報記憶モジュール１４５、検証項目情報記憶モジュール１５０、サーバー１７０と接続されている。サービス監視モジュール１１０は、既存サービス（その既存サービスを実施するサーバー１７０等）を監視する。監視として、課題判定閾値情報記憶モジュール１４５に記録される閾値を用いて状態を判断することを行う。例えば、サービス監視モジュール１１０は、課題判定閾値情報記憶モジュール１４５に記録された情報を監視し、閾値にヒットした場合に課題発生時収集情報を収集して、検証項目情報記憶モジュール１５０に記録を行う。
サービス監視モジュール１１０、サービス詳細解析モジュール１１５、検証項目抽出モジュール１２５は、動作検証すべき項目を抽出する。既存サービス、未知サービスの機能・性能の判断を行い、動作検証すべき項目と動作検証に必要な再現環境のデータの収集を行う。
【００２６】
サービス詳細解析モジュール１１５は、類似サービス検索モジュール１２０、サービス情報記憶モジュール１５５、リリースノート１７５と接続されている。サービス詳細解析モジュール１１５は、ＷＥＢ上の未知サービスのリリースノート１７５を基に、未知サービスに関する情報を抽出する。抽出した情報を、後述するサービス情報と同様の形式に変換する。ここでリリースノート１７５は、サービスの特徴、利用上の注意点等が記載された電子文書である。
類似サービス検索モジュール１２０は、サービス詳細解析モジュール１１５、検証項目抽出モジュール１２５、サービス情報記憶モジュール１５５、リリースノート１７５と接続されている。類似サービス検索モジュール１２０は、既存サービスと類似の未知サービスを検索する。例えば、サービス情報の検索キーワードを使用して、ＷＥＢ上から類似サービスの検索を行う。
【００２７】
検証項目抽出モジュール１２５は、類似サービス検索モジュール１２０、環境立ち上げモジュール１３０、検証項目情報記憶モジュール１５０、サービス情報記憶モジュール１５５、リリースノート１７５と接続されている。検証項目抽出モジュール１２５は、既存サービスにおける機能とその既存サービスと類似する未知サービスにおける機能の差分を抽出する。
例えば、検索キーワードに一致する既存サービスの検証項目情報と、未知サービスのリリースノートに既存サービスとの相違のあるワード（仕様）を抜きだし、必要な検証内容を、既存サービスのシステムログや、既に未知サービスを利用している（又は利用したことがある）他のユーザーの使用履歴から自動抽出を行う。具体的には、問題が発生している機能、他のユーザーによって課題として指摘されていた機能であってもよい。
【００２８】
環境立ち上げモジュール１３０は、検証項目抽出モジュール１２５、検証実施モジュール１３５、検証項目情報記憶モジュール１５０、環境構築トレース情報記憶モジュール１８０と接続されている。環境立ち上げモジュール１３０は、未知サービスを実現するための環境の自動立ち上げを行う。
また、環境立ち上げモジュール１３０は、環境構築トレース情報記憶モジュール１８０内の情報を用いて、環境の立ち上げを行うようにしてもよい。つまり、環境構築トレース情報記憶モジュール１８０に記憶されている「既にその未知サービスを立ち上げた他のユーザーの操作履歴」をトレースすることによって、環境の自動立ち上げを行うようにしてもよい。
また、環境立ち上げモジュール１３０は、未知サービスを実現できる環境を構築する場合に、検証項目抽出モジュール１２５によって抽出された差分の機能を検証できるように環境を構築するようにしてもよい。
また、既存サービスに課題がある場合は、環境立ち上げモジュール１３０は、その課題を検証できるように未知サービスにおける環境を構築するようにしてもよい。ここで、課題を検証できるように環境を構築するとは、その課題における実行結果を記録できるようにすることである。
具体的には、環境立ち上げモジュール１３０は、未知サービスと外部環境について、検証に必要な擬似的な検証環境の立ち上げを行う。例えば、検証に必要な環境の立ち上げを自動的（又は、一部はユーザー手動を含めてもよい）に行う。クライアントの環境構築が必要な場合は、自動立ち上げを行い、サービス本体の環境構築が必要な場合は、サーバー環境を直接整備できる場合には自動でスナップショットのリストア等で自動構築、直接整備できない場合にはユーザーに構築依頼を行う。
【００２９】
検証実施モジュール１３５は、環境立ち上げモジュール１３０、効果判定モジュール１４０と接続されている。検証実施モジュール１３５は、未知サービスの検証確認をする。つまり、検証実施モジュール１３５は、環境立ち上げモジュール１３０によって構築された環境で、検証項目抽出モジュール１２５によって抽出された差分の機能における実行結果を記録する。
サービス監視モジュール１１０、サービス詳細解析モジュール１１５、検証項目抽出モジュール１２５から得られた情報に基づいて、自動的に動作の再現検証を実施することが可能となる。
また、検証実施モジュール１３５は、環境立ち上げモジュール１３０によって構築された環境で、課題（既存サービスにおける課題）について、未知サービスにおける実行結果を既存サービスにおける実行結果と比較することによって検証するようにしてもよい。
具体的には、検証実施モジュール１３５は、検証項目情報記憶モジュール１５０から取得した再現情報（検証項目情報を構成する再現情報）から再現検証を実施する。その再現検証の結果を、検証項目情報と同様の形式の情報として構成する。
【００３０】
効果判定モジュール１４０は、検証実施モジュール１３５、課題判定閾値情報記憶モジュール１４５、検証項目情報記憶モジュール１５０と接続されている。効果判定モジュール１４０は、未知サービスの検証確認結果を評価する。つまり、未知サービスが検証項目について、問題なく動作可能か、検証結果を評価する。
また、効果判定モジュール１４０は、検証結果である実行結果から算出した困窮度を提示するようにしてもよい。提示には、液晶ディスプレイ等の表示装置への表示の他に、３Ｄ（Ｄｉｍｅｎｓｉｏｎｓ）映像としての出力を含めてもよく、さらに、プリンタ等の印刷装置での印刷、スピーカー等の音声出力装置への音声の出力、振動等を組み合わせてもよい。
具体的には、効果判定モジュール１４０は、検証結果から、検証項目に対する結果の統計情報として効果を計算し、ユーザーに提示する。
【００３１】
課題判定閾値情報記憶モジュール１４５は、課題判定閾値記録モジュール１０５、サービス監視モジュール１１０、効果判定モジュール１４０と接続されている。課題判定閾値情報記憶モジュール１４５は、課題発生を判断するための閾値（課題判定閾値情報）を記憶している。課題の発生を判断するための閾値を保存するものである。
課題判定閾値情報は、以下のような情報から構成されている。
・分類：課題の分類名
・監視対象情報：サービス監視時に取得される対象の値
・課題判定閾値：取得された値に対して課題発生を判断する閾値
・課題発生時収集情報：状況を再現するために収集される情報
【００３２】
検証項目情報記憶モジュール１５０は、サービス監視モジュール１１０、検証項目抽出モジュール１２５、環境立ち上げモジュール１３０、効果判定モジュール１４０と接続されている。検証項目情報記憶モジュール１５０は、検証対象である項目に関する情報（検証項目情報）を記憶している。
検証項目情報は、以下のような情報から構成されている。
・分類：発生した課題の分類名
・発生日時：課題が発生した日時（再現用のスナップショットの対応付け（紐づけ）に必要な情報である）。なお、日時は、年、月、日、時、分、秒、秒以下、又はこれらの組み合わせであってもよい。
・再現情報：課題判定閾値情報の課題発生時収集情報で収集された情報（状況の再現に必要な情報である）
・観測値：課題発生時に観測された値（ただし、オプションとしてもよい（つまり、付加してもよいし、付加しなくてもよい）。再現時に未知サービスに対する効果の評価に必要な情報である）
・お困り度（困窮度）：課題の定量的大きさを示す値（ただし、オプションとしてもよい。再現時に未知サービスに対する効果の評価に必要な情報である）
【００３３】
サービス情報記憶モジュール１５５は、サービス詳細解析モジュール１１５、類似サービス検索モジュール１２０、検証項目抽出モジュール１２５と接続されている。サービス情報記憶モジュール１５５は、サービス（既存サービス、未知サービス）に関する情報を記憶している。
サービス情報は、以下のような情報から構成されている。
・サービス名：サービスの名称
・検索キーワード：そのサービスを検索するための用語であり、例えば、分類名、その分類名の類義語等を有している（類義語については、辞書検索サービスより自動取得してもよい）。論理式（ＯＲ等の条件）による検索にも対応可能である。
・サービス仕様情報：サービスの分類に対して、予め定められた仕様情報と機能名とを対応させた情報である。
【００３４】
環境構築トレース情報記憶モジュール１８０は、情報処理装置１００の環境立ち上げモジュール１３０と接続されている。環境構築トレース情報記憶モジュール１８０は、ユーザーの環境構築時の操作履歴（トレースした操作）を記憶する。具体的には、サービスを提供する本体や管理コンソールにおける操作履歴である。この操作履歴は、未知サービスを自動構築する場合に利用される。操作トレースによって記憶された操作履歴と同様の操作を環境立ち上げモジュール１３０が自動で行うことで、未知サービスに対しても環境の自動構築が可能となる。なお、この操作履歴を使用するには、先行する他のユーザー（操作をトレースされたユーザー）の操作履歴取得許可を必要としてもよい。
【００３５】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
情報処理装置１００Ａ、情報処理装置１００Ｂ、サーバー１７０、リリースノート記憶装置２７５、環境構築トレース記憶装置２８０は、通信回線２９０を介してそれぞれ接続されている。リリースノート記憶装置２７５は、リリースノート１７５を記憶している。環境構築トレース記憶装置２８０は、環境構築トレース情報記憶モジュール１８０を有している。通信回線２９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、情報処理装置１００、サーバー１７０等による機能は、クラウドサービスとして実現してもよい。
サービス（既存サービス、未知サービス）を提供するサーバー１７０は複数ある。情報処理装置１００は、既存サービスと未知サービスを比較して、差分の機能を未知サービスで評価できるように、未知サービスの立ち上げを行う（環境を構築する）。
【００３６】
図３は、本実施の形態による処理例を示すフローチャートである。サービス監視の処理例である。なお、このフローチャートによる処理は、常時実施されるようにしてもよい。
ステップＳ３０２では、課題判定閾値情報記憶モジュール１４５に閾値情報をインプットする。なお、ここでのインプットは、操作者の操作によって行われてもよいし、予め定められた閾値情報を自動的にインプットしてもよい。なお、このステップＳ３０２は、オプションとしてもよい。
ステップＳ３０４では、課題判定閾値情報記憶モジュール１４５の監視対象情報を収集し、既存サービスを監視する。
ステップＳ３０６では、閾値情報にヒットしたか否かを判断し、ヒットした場合（課題が発生した場合）はステップＳ３０８に進み、それ以外の場合はステップＳ３０４へ戻る。
ステップＳ３０８では、課題判定閾値情報記憶モジュール１４５の課題発生時収集情報に決められた情報の収集を行う。
ステップＳ３１０では、収集データの観測結果から検証項目情報を構成し、ステップＳ３０４へ戻る。
【００３７】
図４は、本実施の形態による処理例を示すフローチャートである。サービスの検証実施の処理例である。なお、このフローチャートによる処理は、定期的（例えば、週に１度等）に実施されるようにしてもよい。
ステップＳ４０２では、既存サービスのサービス情報より類似サービス（未知サービス）を検索する。例えば、既存サービスのサービス情報から検索キーワード（例：メールサービス）を取得し、ＷＥＢ検索を行うことで類似サービスを検索する。
ステップＳ４０４では、類似サービスがヒットしたか否かを判断し、ヒットした場合（類似サービスがあった場合）はステップＳ４０６へ進み、それ以外の場合は処理を終了する（ステップＳ４９９）。
ステップＳ４０６では、検証項目情報記憶モジュール１５０に類似サービスがヒットした既存サービスの情報（検証項目情報）を検索する。
【００３８】
ステップＳ４０８では、既存サービスに蓄積課題（既存サービスにおける課題）が存在するか否かを判断し、存在する場合はステップＳ４１０へ進み、それ以外の場合はステップＳ４１２へ進む。
ステップＳ４１０では、検証項目情報記憶モジュール１５０より再現情報を取得する。
ステップＳ４１２では、新サービスのリリースノート１７５を取得する。
ステップＳ４１４では、検証項目を判定する。検証項目を判定して、追加の項目があった場合、ステップＳ４０６で取得した検証項目情報に追加する。ステップＳ４１４の詳細な処理については、図５の例に示すフローチャートを用いて後述する。
【００３９】
ステップＳ４１６では、検証項目情報の再現情報から、検証環境を構成する。
ステップＳ４１８では、検証項目情報の再現情報から、検証を実施し、次の検証項目についてステップＳ４１６からの処理を行う。
ステップＳ４２０では、結果の評価を実施する。つまり、検証時の課題判定閾値情報を使用して課題の発生を監視し、課題の発生状況から、結果の評価を行う。
【００４０】
図５は、本実施の形態による処理例を示すフローチャートである。検証項目抽出の処理例である。
ステップＳ５０２では、単語、数値を収集する。つまり、新サービスのリリースノートから単語、数値を収集し、サービス情報を構成する。
ステップＳ５０４では、新サービス、既存サービスの仕様の差分を判定する。つまり、新サービスのサービス情報、既存サービスのサービス情報から仕様の差分を判定する。
ステップＳ５０６では、既存サービスのログより差分の代替えと想定できる機能の使用履歴を検索する。例えば、差分が“ＩＭＡＰ”であった場合、同じ受信プロトコルであるＰＯＰが代替えの機能であると想定する。これらの想定は、予め定められており、対応表を用意しておいてもよい。代替えがない、使用履歴がない場合（ステップＳ５０８：Ｎｏ）には新サービスから先行使用ユーザーによる使用履歴取得を試みることになる（ステップＳ５１０）。
【００４１】
ステップＳ５０８では、既存環境に差分機能の使用履歴が有るか否かを判断し、有る場合はステップＳ５１２へ進み、それ以外の場合はステップＳ５１０へ進む。
ステップＳ５１０では、新サービス上で使用履歴を収集する。
ステップＳ５１２では、差分について、既存環境から差分機能の使用履歴を取得する。
ステップＳ５１４では、検証項目情報記憶モジュール１５０に検証項目をインプットする。つまり、使用履歴から検証項目情報の形式の情報を構成し、検証項目情報へのインプットを行う。
ステップＳ５１６では、仕様の差分から課題判定閾値情報を再設定する。
【００４２】
図６の例を用いて、通常時の監視処理について説明する。以下に、メールサービスを対象とした例を用いて説明する。
サービス監視モジュール１１０は、常に既存サービスであるメールサービスを提供するサーバー１７０を監視する。課題判定閾値情報記憶モジュール１４５に記憶されている閾値（例えば、課題判定閾値情報テーブル６００）を用いて状態を判断する。
図６は、課題判定閾値情報テーブル６００のデータ構造例を示す説明図である。課題判定閾値情報テーブル６００は、分類欄６１０、監視対象情報欄６２０、課題判定閾値欄６３０、課題発生時収集情報欄６４０を有している。分類欄６１０は、監視対象の分類を記憶している。監視対象情報欄６２０は、監視対象情報を記憶している。課題判定閾値欄６３０は、課題判定閾値を記憶している。課題判定閾値欄６３０内の閾値は、その既存サービスのデフォルト又はユーザーによって予め設定される値である。課題発生時収集情報欄６４０は、課題発生した場合に、収集する情報を記憶している。
例えば、課題判定閾値情報テーブル６００の１行目に、分類欄６１０として「受信速度」、監視対象情報欄６２０として「パケットキャプチャ履歴の受信パケットの受信速度」、課題判定閾値欄６３０として「２０Ｍｂｐｓ以下」、課題発生時収集情報欄６４０として「送受信パケット」、２行目に、分類欄６１０として「送信速度」、監視対象情報欄６２０として「パケットキャプチャ履歴の送信パケットの送信速度」、課題判定閾値欄６３０として「１０Ｍｂｐｓ以下」、課題発生時収集情報欄６４０として「送受信パケット」、３行目に、分類欄６１０として「サーバー応答速度」、監視対象情報欄６２０として「パケットキャプチャ履歴の応答までの時間」、課題判定閾値欄６３０として「１００ｍｓｅｃ以上」、課題発生時収集情報欄６４０として「送受信パケット実行プログラム」、４行目に、分類欄６１０として「月額料金」、監視対象情報欄６２０として「管理サービスとのＡｐｉ連携により取得される月額料金」、課題判定閾値欄６３０として「３００００円以内」、課題発生時収集情報欄６４０として「月間使用リソース情報」を記憶している。
【００４３】
図７、図８の例を用いて、課題発生時の処理について説明する。
図７は、本実施の形態による処理例を示す説明図である。
ステップＳ７０２では、サービス監視モジュール１１０は、サーバー１７０における課題発生を検知する。例えば、閾値以上であるＣＰＵ９５％、メモリ９５％等を課題として検知する。
ステップＳ７０４では、サービス監視モジュール１１０は、サーバー１７０からスナップショット（例えば、パケットキャプチャ履歴等）、必要な情報の取得を行う。そして、検証項目情報記憶モジュール１５０に記憶させる。例えば、検証項目情報テーブル８００を検証項目情報記憶モジュール１５０に記憶させる。
【００４４】
図８は、検証項目情報テーブル８００のデータ構造例を示す説明図である。検証項目情報テーブル８００は、分類欄８１０、発生日時欄８２０、再現情報欄８３０、観測値欄８４０、お困り度欄８５０を有している。分類欄８１０は、分類を記憶している。発生日時欄８２０は、発生日時を記憶している。再現情報欄８３０は、再現情報を記憶している。なお、再現情報欄８３０内の再現情報は、状況再現時に必要な情報であり、観測される値である。例えば、パケットキャプチャ履歴から抽出した情報（パケットキャプチャ履歴全体を含めてもよい）である。観測値欄８４０は、観測値を記憶している。お困り度欄８５０は、お困り度を記憶している。例えば、受信速度のお困り度の定義として、「発生時間（課題発生している期間）＊閾値（２０）との乖離値」等を用いる。なお、ここでの閾値の「２０」は、課題判定閾値情報テーブル６００の課題判定閾値欄６３０から抽出した値である。
例えば、検証項目情報テーブル８００の１行目に、分類欄８１０として「受信速度」、発生日時欄８２０として「１／１：１６：０５−１６：１１」、再現情報欄８３０として「パケット：Ａ（送信），Ｂ（受信）」、観測値欄８４０として「受信速度：１５Ｍｂｐｓ」、お困り度欄８５０として「３０（６＊５）」、２行目に、分類欄８１０として「受信速度」、発生日時欄８２０として「８／１５：１１：５３−１１：５４」、再現情報欄８３０として「パケット：Ｃ（受信），Ｄ（受信）」、観測値欄８４０として「受信速度：１０Ｍｂｐｓ」、お困り度欄８５０として「１０（１＊１０）」、３行目に、分類欄８１０として「送信速度」、発生日時欄８２０として「６／３０：１３：５７−１４：０７」、再現情報欄８３０として「パケット：Ｃ（送信），Ｆ（受信）」、観測値欄８４０として「送信速度：１０Ｍｂｐｓ」、お困り度欄８５０として「１００（１０＊１０）」、４行目に、分類欄８１０として「送信速度」、発生日時欄８２０として「２／２５：１７：２４−１７：５４」、再現情報欄８３０として「パケット：Ｅ（受信），Ｇ（受信）」、観測値欄８４０として「送信速度：１０Ｍｂｐｓ」、お困り度欄８５０として「３００（３０＊１０）」を記憶している。
【００４５】
図９〜１２の例を用いて、新サービスのリリース時の処理（１）について説明する。
図９は、本実施の形態による処理例を示す説明図である。
ステップＳ９０２では、類似サービス検索モジュール１２０は、サービス情報記憶モジュール１５５内のサービス情報テーブル１０００を用いて、新サービスを検索する。
図１０は、サービス情報テーブル１０００のデータ構造例を示す説明図である。サービス情報テーブル１０００は、サービス名欄１０１０、検索キーワード欄１０２０、サービス仕様情報欄１０３０を有している。サービス名欄１０１０は、サービス名を記憶している。検索キーワード欄１０２０は、そのサービスを検索するためのキーワードを記憶している。サービス仕様情報欄１０３０は、そのサービスに関する仕様情報を記憶している。
例えば、サービス情報テーブル１０００の１行目に、サービス名欄１０１０として「ＷｏｒｋｉｎｇＦｏｌｄｅｒ」、検索キーワード欄１０２０として「ストレージサービス、ファイルホスティングサービス」、サービス仕様情報欄１０３０として「最大容量：〜ＴＢ、料金：１ＧＢ月額〜円」を記憶している。２行目に、サービス名欄１０１０として「ＦＸＭａｉｌ」、検索キーワード欄１０２０として「メールサービス」、サービス仕様情報欄１０３０として「対応プロトコル：ＰＯＰ、料金：月額〜円」を記憶している。３行目に、サービス名欄１０１０として「ＦＸＬａａｓ」、検索キーワード欄１０２０として「Ｌａａｓ、レンタルサーバー」、サービス仕様情報欄１０３０として「対応ＯＳ：Ｗｉｎ、Ｌｉｎｕｘ（登録商標）、最大容量：〜ＴＢ、料金：１ＧＢ月額〜円」を記憶している。
【００４６】
ステップＳ９０４では、類似サービス検索モジュール１２０は、新サービスサーバー１７４Ｘ、リリースノート１７５から、既存サービスに類似する新サービスを検索する。
例えば、サービス情報テーブル１１００から新サービスが検索される。図１１は、サービス情報テーブル１１００のデータ構造例を示す説明図である。サービス情報テーブル１１００は、サービス名欄１１１０、検索キーワード欄１１２０、サービス仕様情報欄１１３０を有している。サービス名欄１１１０は、サービス名を記憶している。検索キーワード欄１１２０は、検索キーワードを記憶している。サービス仕様情報欄１１３０は、サービス仕様情報を記憶している。
例えば、サービス情報テーブル１１００の１行目に、サービス名欄１１１０として「未知のサービス」、検索キーワード欄１１２０として「メールサービス」、サービス仕様情報欄１１３０として「対応プロトコル：ＰＯＰ、ＩＭＡＰ、料金：月額〜円」を記憶している。
【００４７】
ステップＳ９０６では、サービス詳細解析モジュール１１５は、ステップＳ９０４で検索された新サービスのリリースノート１７５を抽出する。そして、例えば、検証項目情報テーブル１２００を検証項目情報テーブル８００に追加する。図１２は、検証項目情報テーブル１２００のデータ構造例を示す説明図である。検証項目情報テーブル１２００は、分類欄１２１０、発生日時欄１２２０、再現情報欄１２３０、観測値欄１２４０を有している。分類欄１２１０は、分類を記憶している。発生日時欄１２２０は、発生日時を記憶している。再現情報欄１２３０は、再現情報を記憶している。観測値欄１２４０は、観測値を記憶している。
例えば、検証項目情報テーブル１２００の１行目に、分類欄１２１０として「受信プロトコル」、発生日時欄１２２０として「１／１：１６：０５−１６：１１」、再現情報欄１２３０として「パケット：Ａ（送信），Ｂ（受信）」、観測値欄１２４０として「ＰＯＰ→ＩＭＡＰ（プロトコルはＰＯＰ→ＩＭＡＰに変更であることを示している）」を記憶している。
【００４８】
図９の例に示した処理は、具体的には、以下のような処理を行う。
１．検索キーワード（例えば、メールサービス）で検索する。
２．新サービスがヒットする。
３．サービス名（新サービス）でリリースノート１７５を検索する。
４．サービス詳細解析モジュール１１５がリリースノート１７５からサービス情報を抽出する。例えば、リリースノート１７５内の情報として、「今回リリースしたメールサービスによりＩＭＡＰ機能をサポートします。」が記載されているとする。なお、リリースノート１７５内の情報に対して、形態素解析等の言語処理を施して、差分を抽出できるようにしてもよい。
５．サービス情報テーブル１０００のサービス仕様情報欄１０３０の２行目から既存サービスではＰＯＰであったので、新サービスの仕様情報におけるＩＭＡＰが差分となる。
６．サービス詳細解析モジュール１１５は、既存サービスにてＰＯＰで送受信した履歴を既存サービスのシステムログから再現情報を収集し、検証項目情報に追加する。
【００４９】
図１３、図１４の例を用いて、新サービスのリリース時（２）の処理について説明する。
図１３は、本実施の形態による処理例を示す説明図である。
ステップＳ１３０２では、環境立ち上げモジュール１３０は、検証項目情報記憶モジュール１５０から検証項目情報テーブル１４００を抽出する。図１４は、検証項目情報テーブル１４００のデータ構造例を示す説明図である。検証項目情報テーブル１４００は、分類欄１４１０、発生日時欄１４２０、再現情報欄１４３０、観測値欄１４４０、お困り度欄１４５０を有している。分類欄１４１０は、分類を記憶している。発生日時欄１４２０は、発生日時を記憶している。再現情報欄１４３０は、再現情報を記憶している。観測値欄１４４０は、観測値を記憶している。
例えば、検証項目情報テーブル１４００の１行目に、分類欄１４１０として「受信速度」、発生日時欄１４２０として「１／１：１６：０５−１６：１１」、再現情報欄１４３０として「パケット：Ａ（送信），Ｂ（受信）」、観測値欄１４４０として「受信速度：１５Ｍｂｐｓ」、お困り度欄１４５０として「３０（６＊５）」、２行目に、分類欄１４１０として「受信速度」、発生日時欄１４２０として「８／１５：１１：５３−１１：５４」、再現情報欄１４３０として「パケット：Ｃ（受信），Ｄ（受信）」、観測値欄１４４０として「受信速度：１０Ｍｂｐｓ」、お困り度欄１４５０として「１０（１＊１０）」、３行目に、分類欄１４１０として「送信速度」、発生日時欄１４２０として「６／３０：１３：５７−１４：０７」、再現情報欄１４３０として「パケット：Ｃ（送信），Ｆ（受信）」、観測値欄１４４０として「送信速度：１０Ｍｂｐｓ」、お困り度欄１４５０として「１００（１０＊１０）」、４行目に、分類欄１４１０として「送信速度」、発生日時欄１４２０として「２／２５：１７：２４−１７：５４」、再現情報欄１４３０として「パケット：Ｅ（受信），Ｇ（受信）」、観測値欄１４４０として「送信速度：１０Ｍｂｐｓ」、お困り度欄１４５０として「３００（３０＊１０）」、５行目に、分類欄１４１０として「受信プロトコル」、発生日時欄１４２０として「１／１：１６：０５−１６：１１」、再現情報欄１４３０として「パケット：Ａ（送信），Ｂ（受信）」、観測値欄１４４０として「ＩＭＡＰ」、お困り度欄１４５０として「−」を記憶している。
ここでの検証項目情報テーブル１４００は、検証項目情報テーブル８００に検証項目情報テーブル１２００を追加したものである。
【００５０】
ステップＳ１３０４では、環境立ち上げモジュール１３０は、類似サービスを検知する。
環境構築トレース情報記憶モジュール１８０にトレース情報がある場合、ステップＳ１３０６ａでは、トレース情報を元に自動構築する。この処理は、オプションとしてもよい。
環境構築トレース情報記憶モジュール１８０にトレース情報がない場合、環境立ち上げモジュール１３０は、以下の処理を行う。
ステップＳ１３０６ｂでは、未知サービス本体の検証環境作成が必要な場合、その検証環境作成を新サービスサーバー１７４Ｘに依頼する。
ステップＳ１３０８ｂでは、新サービスサーバー１７４Ｘ上で、再現情報から必要な環境を作成する。例えば、パケットを送受信する新サービスサーバー１７４Ｘを自動作成する。
ステップＳ１３１０ｂでは、構築トレース情報を環境構築トレース情報記憶モジュール１８０に送信する。
【００５１】
図１５〜１７の例を用いて、新サービスのリリース時（３）の処理について説明する。
図１５は、本実施の形態による処理例を示す説明図である。
ステップＳ１５０２では、検証実施モジュール１３５は、検証項目情報記憶モジュール１５０から検証項目情報テーブル１６００を抽出する。図１６は、検証項目情報テーブル１６００のデータ構造例を示す説明図である。検証項目情報テーブル１６００は、分類欄１６１０、発生日時欄１６２０、再現情報欄１６３０、観測値欄１６４０、お困り度欄１６５０を有している。分類欄１６１０は、分類を記憶している。発生日時欄１６２０は、発生日時を記憶している。再現情報欄１６３０は、再現情報を記憶している。観測値欄１６４０は、観測値を記憶している。検証項目情報テーブル１６００は、検証項目情報テーブル１４００と同等のデータ構造である。
例えば、検証項目情報テーブル１６００の１行目に、分類欄１６１０として「受信速度」、発生日時欄１６２０として「１／１：１６：０５−１６：１１」、再現情報欄１６３０として「パケット：Ａ（送信），Ｂ（受信）」、観測値欄１６４０として「受信速度：１５Ｍｂｐｓ」、お困り度欄１６５０として「３０（６＊５）」、２行目に、分類欄１６１０として「受信速度」、発生日時欄１６２０として「８／１５：１１：５３−１１：５４」、再現情報欄１６３０として「パケット：Ｃ（受信），Ｄ（受信）」、観測値欄１６４０として「受信速度：１０Ｍｂｐｓ」、お困り度欄１６５０として「１０（１＊１０）」、３行目に、分類欄１６１０として「送信速度」、発生日時欄１６２０として「６／３０：１３：５７−１４：０７」、再現情報欄１６３０として「パケット：Ｃ（送信），Ｆ（受信）」、観測値欄１６４０として「送信速度：１０Ｍｂｐｓ」、お困り度欄１６５０として「１００（１０＊１０）」、４行目に、分類欄１６１０として「送信速度」、発生日時欄１６２０として「２／２５：１７：２４−１７：５４」、再現情報欄１６３０として「パケット：Ｅ（受信），Ｇ（受信）」、観測値欄１６４０として「送信速度：１０Ｍｂｐｓ」、お困り度欄１６５０として「３００（３０＊１０）」、５行目に、分類欄１６１０として「受信プロトコル」、発生日時欄１６２０として「１／１：１６：０５−１６：１１」、再現情報欄１６３０として「パケット：Ａ（送信），Ｂ（受信）」、観測値欄１６４０として「ＩＭＡＰ」、お困り度欄１６５０として「−」を記憶している。
【００５２】
ステップＳ１５０４では、検証実施モジュール１３５は、新サービスサーバー１７４Ｘに対して、同種のアプリケーションサーバーの課題情報から、未知サービス上で再現検証を自動で行う。具体的には、以下のような処理を行う。
１．検証環境でスナップショットを展開する。
２．パラメータ・状況に記載のプログラムを起動し、各々の状況を再現する。例えば、再現の結果、検証結果テーブル１７００を生成する。図１７は、検証結果テーブル１７００のデータ構造例を示す説明図である。検証結果テーブル１７００は、分類欄１７１０、検証結果欄１７２０を有している。分類欄１７１０は、分類を記憶している。検証結果欄１７２０は、検証結果を記憶している。
例えば、検証結果テーブル１７００の１行目に、分類欄１７１０として「受信速度」、検証結果欄１７２０として「１／１：検証ＯＫ、８／１５：検証ＮＧ、発生時間（１ｍｉｎ）、速度：１０Ｍｂｐｓ」、２行目に、分類欄１７１０として「送信速度」、検証結果欄１７２０として「６／３０：検証ＮＧ、発生時間（２ｍｉｎ）、速度：１０Ｍｂｐｓ、２／２５：検証ＮＧ、発生時間（６ｍｉｎ）、速度：１０Ｍｂｐｓ」、３行目に、分類欄１７１０として「受信プロトコル」、検証結果欄１７２０として「１／１：検証ＯＫ」を記憶している。
検証結果テーブル１７００は、検証項目情報テーブル１６００に対応しており、新サービスサーバー１７４Ｘにおける検証結果である。
【００５３】
図１８、図１９の例を用いて、新サービスのリリース時（４）の処理について説明する。
図１８は、本実施の形態による処理例を示す説明図である。
ステップＳ１８０２では、効果判定モジュール１４０は検証項目情報記憶モジュール１５０から検証項目情報テーブル１９００を抽出する。図１９は、検証項目情報テーブル１９００のデータ構造例を示す説明図である。検証項目情報テーブル１９００は、分類欄１９１０、検証結果欄１９２０、残お困り度（評価）欄１９３０、効果欄１９４０を有している。分類欄１９１０は、分類を記憶している。検証結果欄１９２０は、検証結果を記憶している。残お困り度（評価）欄１９３０は、残お困り度（評価）を記憶している。効果欄１９４０は、効果を記憶している。検証項目情報テーブル１９００は、検証結果テーブル１７００に残お困り度（評価）欄１９３０、効果欄１９４０を付加したものである。
例えば、検証項目情報テーブル１９００の１行目に、分類欄１９１０として「受信速度」、検証結果欄１９２０として「１／１：検証ＯＫ、８／１５：検証ＮＧ、発生時間（１ｍｉｎ）、速度：１０Ｍｂｐｓ」、残お困り度（評価）欄１９３０として「１（最小構成時：ＮＧ数）、１０（オプション時）」、効果欄１９４０として「−３０（オプション時）」、２行目に、分類欄１９１０として「送信速度」、検証結果欄１９２０として「６／３０：検証ＮＧ、発生時間（２ｍｉｎ）、速度：１０Ｍｂｐｓ、２／２５：検証ＮＧ、発生時間（６ｍｉｎ）、速度：１０Ｍｂｐｓ」、残お困り度（評価）欄１９３０として「２（最小構成時：ＮＧ数）、４０（オプション時）」、効果欄１９４０として「−３６０（オプション時）」を記憶している。
【００５４】
ステップＳ１８０４では、効果判定モジュール１４０は、管理者１３９０に、効果の範囲、検証結果の統計結果を提示する。管理者１３９０は、これらを見ることによって、例えば、「受信速度、送信速度への課題は残るものの、特に送信速度の課題が大きく改善できること」が分かる。
【００５５】
図２０〜２３の例を用いて、新サービスのリリース時（ユーザーが課題をインプットする場合）の処理について説明する。
図２０は、本実施の形態による処理例を示す説明図である。
ステップＳ２００２では、検証項目抽出モジュール１２５は、検証項目情報記憶モジュール１５０から検証項目情報を抽出する。例えば、検証項目情報テーブル２１００を抽出する。図２１は、検証項目情報テーブル２１００のデータ構造例を示す説明図である。検証項目情報テーブル２１００は、条件欄２１１０、要求情報欄２１２０、パラメータ・状況欄２１３０を有している。条件欄２１１０は、条件を記憶している。要求情報欄２１２０は、要求情報を記憶している。パラメータ・状況欄２１３０は、パラメータ・状況を記憶している。
例えば、検証項目情報テーブル２１００の１行目に、条件欄２１１０として「一斉送信可能数」、要求情報欄２１２０として「パケットキャプチャ履歴（一斉送信の）」、パラメータ・状況欄２１３０として「１２：０１：２０００件、１２：０２：２０００件、１２：０３：２０００件」、２行目に、条件欄２１１０として「ＳＭＴＰＳ送信送信速度」、要求情報欄２１２０として「パケットキャプチャ履歴（不満点インプット前後のメール送信履歴）」、パラメータ・状況欄２１３０として「１９：５８：ＳＭＴＰにてメッセージメール送信（内容：〜〜）」を記憶している。
【００５６】
ステップＳ２００４では、検証項目抽出モジュール１２５は、新サービスサーバー１７３Ｘ、サービスサーバー１７１Ｘから抽出したそれぞれのリリースノート１７５から、類似サービスを検知する。例えば、新サービスサーバー１７３Ｘから新サービスリリースノートテーブル２２００を抽出し、サービスサーバー１７１Ｘから既存サービスリリースノートテーブル２３００を抽出する。図２２は、新サービスリリースノートテーブル２２００のデータ構造例を示す説明図である。新サービスリリースノートテーブル２２００は、条件欄２２１０、必要パラメータ取得方法欄２２２０、値欄２２３０を有している。条件欄２２１０は、条件を記憶している。必要パラメータ取得方法欄２２２０は、必要パラメータの取得方法を記憶している。値欄２２３０は、値を記憶している。
例えば、新サービスリリースノートテーブル２２００の１行目に、条件欄２２１０として「一斉送信可能数」、必要パラメータ取得方法欄２２２０として「アプリケーション履歴」、値欄２２３０として「２００００」を記憶している。
図２３は、既存サービスリリースノートテーブル２３００のデータ構造例を示す説明図である。既存サービスリリースノートテーブル２３００は、条件欄２３１０、必要パラメータ取得方法欄２３２０、値欄２３３０を有している。条件欄２３１０は、条件を記憶している。必要パラメータ取得方法欄２３２０は、必要パラメータの取得方法を記憶している。値欄２３３０は、値を記憶している。
例えば、既存サービスリリースノートテーブル２３００の１行目に、条件欄２３１０として「一斉送信可能数」、必要パラメータ取得方法欄２３２０として「アプリケーション履歴」、値欄２３３０として「２０００」を記憶している。
【００５７】
ステップＳ２００６では、既存サービス（サービスサーバー１７１Ｘが提供するサービス）に対する操作の実行後に、管理者１３９０は、検証項目抽出モジュール１２５に不満点をインプットする。例えば、不満点として「このメールはＳＭＴＰＳで送りたかった」が「１９：５８」に記録されたとする。そして、代替えで行った操作を、１９：５８分前後の操作履歴から抽出する。そして、本当にやりたかった内容は、「ＳＭＴＰＳで送信」であることをインプットされた不満点から抽出する。この抽出処理は、形態素解析等の言語処理を用いればよい。
【００５８】
図２４、図２５の例を用いて、ユーザーが課題をインプットした後の通常時の監視処理について説明する。
図２４は、本実施の形態による処理例を示す説明図である。
ステップＳ２４０２では、サービス監視モジュール１１０は、常に既存サービスを監視する。課題判定閾値記録モジュール１０５に記録される閾値（課題判定閾値テーブル２５００）を用いて状態を判断する。そして、その判断結果を、管理者１３９０に提示する。
図２５は、課題判定閾値テーブル２５００のデータ構造例を示す説明図である。課題判定閾値テーブル２５００は、分類欄２５１０、必要パラメータ取得方法欄２５２０、再現日次欄２５３０を有している。分類欄２５１０は、分類を記憶している。必要パラメータ取得方法欄２５２０は、必要パラメータ取得方法を記憶している。再現日次欄２５３０は、再現日次を記憶している。
例えば、課題判定閾値テーブル２５００の１行目に、分類欄２５１０として「ＳＭＴＰＳ」、必要パラメータ取得方法欄２５２０として「パケットキャプチャ履歴」、再現日次欄２５３０として「１９：５８」、２行目に、分類欄２５１０として「送信速度」、必要パラメータ取得方法欄２５２０として「パケットキャプチャ履歴」、再現日次欄２５３０として「１８：１９」、３行目に、分類欄２５１０として「通信プロトコル（ＳＭＴＰＳ）」、必要パラメータ取得方法欄２５２０として「パケットキャプチャ履歴」、再現日次欄２５３０として「７：２４」、４行目に、分類欄２５１０として「月額料金」、必要パラメータ取得方法欄２５２０として「アプリケーション連携又はユーザー入力依頼」、再現日次欄２５３０として「９：３２」を記憶している。
【００５９】
図２６〜３２の例を用いて、未知サービスが既存サービスに劣る点を検知した場合の処理について説明する。
図２６、図２７の例を用いて、未知サービスにおける課題の検出処理について説明する。
図２６は、本実施の形態による処理例を示す説明図である。
ステップＳ２６０２では、サービス監視モジュール１１０は、新サービスサーバー１７４Ｘから、既に未知サービスを利用している他の二次サービス事業者からの閾値条件（課題判定閾値テーブル２７００）を、課題判定閾値情報記憶モジュール１４５に蓄積する。
図２７は、課題判定閾値テーブル２７００のデータ構造例を示す説明図である。課題判定閾値テーブル２７００は、条件欄２７１０、必要パラメータ取得方法欄２７２０、閾値欄２７３０を有している。条件欄２７１０は、条件を記憶している。必要パラメータ取得方法欄２７２０は、必要パラメータ取得方法を記憶している。閾値欄２７３０は、閾値を記憶している。
例えば、課題判定閾値テーブル２７００の１行目に、条件欄２７１０として「ＣＰＵ占有率」、必要パラメータ取得方法欄２７２０として「プロセス履歴」、閾値欄２７３０として「９０％」、２行目に、条件欄２７１０として「メモリ占有率」、必要パラメータ取得方法欄２７２０として「プロセス履歴」、閾値欄２７３０として「９０％」、３行目に、条件欄２７１０として「Ｎｅｔ占有率」、必要パラメータ取得方法欄２７２０として「パケットキャプチャ履歴」、閾値欄２７３０として「９０％」、４行目に、条件欄２７１０として「月額料金」、必要パラメータ取得方法欄２７２０として「アプリケーション連携又はユーザー入力依頼」、閾値欄２７３０として「３００００円以内」を記憶している。
【００６０】
図２８〜３０の例を用いて、未知サービスで発生している課題を、既存サービスに対して検証を行う処理について説明する。
図２８は、本実施の形態による処理例を示す説明図である。
ステップＳ２８０２では、検証実施モジュール１３５は、検証項目情報記憶モジュール１５０から課題テーブル２９００を抽出する。図２９は、課題テーブル２９００のデータ構造例を示す説明図である。課題テーブル２９００は、条件欄２９１０、要求情報欄２９２０、パラメータ・状況欄２９３０、お困り度欄２９４０を有している。条件欄２９１０は、条件を記憶している。要求情報欄２９２０は、要求情報を記憶している。パラメータ・状況欄２９３０は、パラメータ・状況を記憶している。お困り度欄２９４０は、お困り度を記憶している。
例えば、課題テーブル２９００の１行目に、条件欄２９１０として「ＣＰＵ占有率」、要求情報欄２９２０として「プロセス情報」、パラメータ・状況欄２９３０として「１／１：発生時間：６ｍｉｎ、占有率：９５％、起動プログラム：Ａ，Ｂ、８／１：発生時間：１ｍｉｎ、占有率：１００％、起動プログラム：Ｃ」、お困り度欄２９４０として「４０（６＊５＋１＊１０）」、２行目に、条件欄２９１０として「メモリ占有率」、要求情報欄２９２０として「プロセス情報」、パラメータ・状況欄２９３０として「１／１：発生時間：１０ｍｉｎ、占有率：１００％、起動プログラム：Ｃ，Ｆ、８／１：発生時間：３０ｍｉｎ、占有率：１００％、起動プログラム：Ｄ，Ｅ」、お困り度欄２９４０として「４００（１０＊１０＋３０＊１０）」を記憶している。
【００６１】
ステップＳ２８０４では、未知サービスで発生している課題を、既存サービス（旧サービスサーバー１７２Ｘ）で検証する。具体的には、旧サービスサーバー１７２Ｘの検証環境で、課題発生時のスナップショットをとれるように設定し、その課題が発生するプログラムを起動し、各々の状況を再現する。例えば、検証結果テーブル３０００を生成する。図３０は、検証結果テーブル３０００のデータ構造例を示す説明図である。検証結果テーブル３０００は、課題欄３０１０、検証結果欄３０２０を有している。課題欄３０１０は、課題を記憶している。検証結果欄３０２０は、検証結果を記憶している。
例えば、検証結果テーブル３０００の１行目に、課題欄３０１０として「ＣＰＵ占有率」、検証結果欄３０２０として「１／１：検証ＯＫ、８／１：検証ＮＧ、発生時間（１ｍｉｎ）、ＷＦ．ｅｘｅ（１００％）」、２行目に、課題欄３０１０として「メモリ占有率」、検証結果欄３０２０として「１／１：検証ＮＧ、発生時間（２ｍｉｎ）、ＡＳ．ｅｘｅ（９５％）、ＤＳ．ｅｘｅ（０％）、８／１：検証ＮＧ、発生時間（６ｍｉｎ）、ＷＦ．ｅｘｅ（９５％）」を記憶している。
【００６２】
図３１、図３２の例を用いて、効果判断の処理を説明する。
図３１は、本実施の形態による処理例を示す説明図である。
ステップＳ３１０２では、効果判定（拡張）モジュール３１４０は、検証項目情報記憶モジュール１５０から検証結果・評価テーブル３２００を抽出する。図３２は、検証結果・評価テーブル３２００のデータ構造例を示す説明図である。検証結果・評価テーブル３２００は、課題欄３２１０、検証結果欄３２２０、残お困り度（評価）欄３２３０、効果欄３２４０を有している。検証結果・評価テーブル３２００は、検証結果テーブル３０００に残お困り度（評価）欄３２３０、効果欄３２４０を付加したものである。課題欄３２１０は、課題を記憶している。検証結果欄３２２０は、検証結果を記憶している。残お困り度（評価）欄３２３０は、残お困り度（評価）を記憶している。効果欄３２４０は、効果を記憶している。
例えば、検証結果・評価テーブル３２００の１行目に、課題欄３２１０として「ＣＰＵ占有率」、検証結果欄３２２０として「１／１：検証ＯＫ、８／１：検証ＮＧ、発生時間（１ｍｉｎ）、ＷＦ．ｅｘｅ（１００％）」、残お困り度（評価）欄３２３０として「１０」、効果欄３２４０として「−３０」、２行目に、課題欄３２１０として「メモリ占有率」、検証結果欄３２２０として「１／１：検証ＮＧ、発生時間（２ｍｉｎ）、ＡＳ．ｅｘｅ（９５％）、ＤＳ．ｅｘｅ（０％）、８／１：検証ＮＧ、発生時間（６ｍｉｎ）、ＷＦ．ｅｘｅ（９５％）」、残お困り度（評価）欄３２３０として「４０」、効果欄３２４０として「−３６０」を記憶している。
【００６３】
ステップＳ３１０４では、効果判定（拡張）モジュール３１４０は、検証結果・評価テーブル３２００の内容を管理者１３９０に提示する。この提示によって、例えば、管理者１３９０は「メモリ占有率、ＣＰＵ占有率への課題は残るものの、特にメモリ占有率の課題が大きく改善できること」が分かる。
【００６４】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図３３に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ３３０１を用い、記憶装置としてＲＡＭ３３０２、ＲＯＭ３３０３、ＨＤ３３０４を用いている。ＨＤ３３０４として、例えばハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を用いてもよい。課題判定閾値記録モジュール１０５、サービス監視モジュール１１０、サービス詳細解析モジュール１１５、類似サービス検索モジュール１２０、検証項目抽出モジュール１２５、環境立ち上げモジュール１３０、検証実施モジュール１３５、効果判定モジュール１４０等のプログラムを実行するＣＰＵ３３０１と、そのプログラムやデータを記憶するＲＡＭ３３０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ３３０３と、課題判定閾値情報記憶モジュール１４５、検証項目情報記憶モジュール１５０、サービス情報記憶モジュール１５５としての機能を有する補助記憶装置（フラッシュ・メモリ等であってもよい）であるＨＤ３３０４と、キーボード、マウス、タッチスクリーン、マイク等に対する利用者の操作に基づいてデータを受け付ける受付装置３３０６と、ＣＲＴ、液晶ディスプレイ、スピーカー等の出力装置３３０５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース３３０７、そして、それらをつないでデータのやりとりをするためのバス３３０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００６５】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図３３に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図３３に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図３３に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６６】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６７】
１００…情報処理装置
１０５…課題判定閾値記録モジュール
１１０…サービス監視モジュール
１１５…サービス詳細解析モジュール
１２０…類似サービス検索モジュール
１２５…検証項目抽出モジュール
１３０…環境立ち上げモジュール
１３５…検証実施モジュール
１４０…効果判定モジュール
１４５…課題判定閾値情報記憶モジュール
１５０…検証項目情報記憶モジュール
１５５…サービス情報記憶モジュール
１７０…サーバー
１７５…リリースノート
１８０…環境構築トレース情報記憶モジュール
２７５…リリースノート記憶装置
２８０…環境構築トレース記憶装置
２９０…通信回線
３１４０…効果判定（拡張）モジュール
【図１】
2018032177.tif 000003
【図２】
2018032177.tif 000004
【図３】
2018032177.tif 000005
【図４】
2018032177.tif 000006
【図５】
2018032177.tif 000007
【図６】
2018032177.tif 000008
【図７】
2018032177.tif 000009
【図８】
2018032177.tif 000010
【図９】
2018032177.tif 000011
【図１０】
2018032177.tif 000012
【図１１】
2018032177.tif 000013
【図１２】
2018032177.tif 000014
【図１３】
2018032177.tif 000015
【図１４】
2018032177.tif 000016
【図１５】
2018032177.tif 000017
【図１６】
2018032177.tif 000018
【図１７】
2018032177.tif 000019
【図１８】
2018032177.tif 000020
【図１９】
2018032177.tif 000021
【図２０】
2018032177.tif 000022
【図２１】
2018032177.tif 000023
【図２２】
2018032177.tif 000024
【図２３】
2018032177.tif 000025
【図２４】
2018032177.tif 000026
【図２５】
2018032177.tif 000027
【図２６】
2018032177.tif 000028
【図２７】
2018032177.tif 000029
【図２８】
2018032177.tif 000030
【図２９】
2018032177.tif 000031
【図３０】
2018032177.tif 000032
【図３１】
2018032177.tif 000033
【図３２】
2018032177.tif 000034
【図３３】
2018032177.tif 000035