(57)【要約】【課題】一の端末装置において特定のソフトウェアを動作させる場合に、当該特定のソフトウェアの動作要件が不明な場合であっても、当該特定のソフトウェアを動作させるための環境を把握することができる装置を提供する。【解決手段】動作要件判定サーバ１００は、複数の端末装置から、各端末装置にインストールされているソフトウェアに関する情報であるソフトウェア情報を収集する情報収集部１１１と、複数の端末装置のうちの一の端末装置から、特定のソフトウェアを動作させるための環境に関する情報の要求を受け付ける依頼受付部１１３と、複数の端末装置のうち、特定のソフトウェアがインストールされている他の端末装置のソフトウェア情報を基に、環境に関する情報を出力する動作要件判定部１１５，動作要件応答部１１６とを備える。【選択図】図４
2019053686.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末装置から、各端末装置にインストールされているソフトウェアに関する情報であるソフトウェア情報を収集する収集手段と、
前記複数の端末装置のうちの一の端末装置から、特定のソフトウェアを動作させるための環境に関する情報の要求を受け付ける受付手段と、
前記複数の端末装置のうち、前記特定のソフトウェアがインストールされている他の端末装置の前記ソフトウェア情報を基に、前記環境に関する情報を出力する出力手段と
を備える情報処理装置。
【請求項２】
前記ソフトウェア情報には、インストールされているソフトウェアの稼動状態を示す情報が含まれおり、
前記出力手段は、前記特定のソフトウェアの稼動状態が予め定められた状態である前記他の端末装置の前記ソフトウェア情報を基に、前記環境に関する情報を出力すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記出力手段は、前記予め定められた状態として、前記特定のソフトウェアの稼動状態が正常である前記他の端末装置の前記ソフトウェア情報を基に、前記環境に関する情報を出力すること
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記出力手段は、前記予め定められた状態として、前記特定のソフトウェアの稼動状態が異常である前記他の端末装置の前記ソフトウェア情報を基に、前記環境に関する情報を出力すること
を特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記他の端末装置は、前記複数の端末装置のうち、インストールされているソフトウェアが、前記一の端末装置の前記ソフトウェア情報に示されているソフトウェアとの間で、予め定められた条件を満たす端末装置であること
を特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記予め定められた条件は、インストールされているソフトウェアが、前記一の端末装置の前記ソフトウェア情報に示されている全てのソフトウェアのうちの少なくとも予め定められた割合のソフトウェアを含むという条件であること
を特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記収集手段は、さらに、前記複数の端末装置から、各端末装置におけるハードウェアに関する情報を収集し、
前記出力手段は、前記環境に関する情報として、前記他の端末装置におけるハードウェアに関する情報を出力すること
を特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記出力手段は、前記環境に関する情報として、ハードウェアの種類毎に、前記他の端末装置に搭載されているハードウェアの統計を示す情報を出力すること
を特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記出力手段は、前記環境に関する情報として、前記他の端末装置にインストールされているソフトウェアの統計を示す情報を出力すること
を特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記出力手段は、前記統計を示す情報として、前記一の端末装置にインストールされているソフトウェアについて、前記他の端末装置にインストールされている当該ソフトウェアの版の分布を出力すること
を特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記出力手段は、前記統計を示す情報として、前記一の端末装置にインストールされていないソフトウェアについて、前記他の端末装置のうち当該ソフトウェアがインストールされている端末装置の割合を出力すること
を特徴とする請求項９に記載の情報処理装置。
【請求項１２】
前記受付手段は、前記一の端末装置に前記特定のソフトウェアをインストールする操作が行われたことを契機として、前記要求を受け付けること
を特徴とする請求項１に記載の情報処理装置。
【請求項１３】
コンピュータに、
複数の端末装置から、各端末装置にインストールされているソフトウェアに関する情報であるソフトウェア情報を収集する機能と、
前記複数の端末装置のうちの一の端末装置から、特定のソフトウェアを動作させるための環境に関する情報の要求を受け付ける機能と、
前記複数の端末装置のうち、前記特定のソフトウェアがインストールされている他の端末装置の前記ソフトウェア情報を基に、前記環境に関する情報を出力する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、あるシステムへのソフトウェアの導入状況情報を格納する第１格納部２０９と、第１のソフトウェアと同時に導入することが禁止されたソフトウェアを示す排他条件、又は、第１のソフトウェアと同時に導入することが要求されるソフトウェアを示す依存条件を格納する第２格納部２０３と、第２のソフトウェアの追加のシミュレーションの実行指示に応じて、あるシステムのソフトウェアの導入状況情報を第２のソフトウェアの導入後の状態に変更する変更部２１７と、変更後のソフトウェアの導入状況情報が、排他条件又は依存条件を満たすか否かの判定結果を出力する出力部２１５とを有する情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−５２９３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
端末装置で新たに特定のソフトウェアを動作させる場合、例えば端末装置に既にインストールされているソフトウェアとの間で不整合が生じ、特定のソフトウェアが正常に動作しないことがある。従来、ソフトウェアを動作させるための環境を把握するには、対象のソフトウェアと種々のソフトウェアとの間で不整合が生じるか否かを利用者が調査する必要があり、時間を要していた。
本発明の目的は、一の端末装置において特定のソフトウェアを動作させる場合に、当該特定のソフトウェアの動作要件が不明な場合であっても、当該特定のソフトウェアを動作させるための環境を把握することができる装置を提供することである。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、複数の端末装置から、各端末装置にインストールされているソフトウェアに関する情報であるソフトウェア情報を収集する収集手段と、前記複数の端末装置のうちの一の端末装置から、特定のソフトウェアを動作させるための環境に関する情報の要求を受け付ける受付手段と、前記複数の端末装置のうち、前記特定のソフトウェアがインストールされている他の端末装置の前記ソフトウェア情報を基に、前記環境に関する情報を出力する出力手段とを備える情報処理装置である。
請求項２に記載の発明は、前記ソフトウェア情報には、インストールされているソフトウェアの稼動状態を示す情報が含まれおり、前記出力手段は、前記特定のソフトウェアの稼動状態が予め定められた状態である前記他の端末装置の前記ソフトウェア情報を基に、前記環境に関する情報を出力することを特徴とする請求項１に記載の情報処理装置である。
請求項３に記載の発明は、前記出力手段は、前記予め定められた状態として、前記特定のソフトウェアの稼動状態が正常である前記他の端末装置の前記ソフトウェア情報を基に、前記環境に関する情報を出力することを特徴とする請求項２に記載の情報処理装置である。
請求項４に記載の発明は、前記出力手段は、前記予め定められた状態として、前記特定のソフトウェアの稼動状態が異常である前記他の端末装置の前記ソフトウェア情報を基に、前記環境に関する情報を出力することを特徴とする請求項２に記載の情報処理装置である。
請求項５に記載の発明は、前記他の端末装置は、前記複数の端末装置のうち、インストールされているソフトウェアが、前記一の端末装置の前記ソフトウェア情報に示されているソフトウェアとの間で、予め定められた条件を満たす端末装置であることを特徴とする請求項１に記載の情報処理装置である。
請求項６に記載の発明は、前記予め定められた条件は、インストールされているソフトウェアが、前記一の端末装置の前記ソフトウェア情報に示されている全てのソフトウェアのうちの少なくとも予め定められた割合のソフトウェアを含むという条件であることを特徴とする請求項５に記載の情報処理装置である。
請求項７に記載の発明は、前記収集手段は、さらに、前記複数の端末装置から、各端末装置におけるハードウェアに関する情報を収集し、前記出力手段は、前記環境に関する情報として、前記他の端末装置におけるハードウェアに関する情報を出力することを特徴とする請求項１に記載の情報処理装置である。
請求項８に記載の発明は、前記出力手段は、前記環境に関する情報として、ハードウェアの種類毎に、前記他の端末装置に搭載されているハードウェアの統計を示す情報を出力することを特徴とする請求項７に記載の情報処理装置である。
請求項９に記載の発明は、前記出力手段は、前記環境に関する情報として、前記他の端末装置にインストールされているソフトウェアの統計を示す情報を出力することを特徴とする請求項１に記載の情報処理装置である。
請求項１０に記載の発明は、前記出力手段は、前記統計を示す情報として、前記一の端末装置にインストールされているソフトウェアについて、前記他の端末装置にインストールされている当該ソフトウェアの版の分布を出力することを特徴とする請求項９に記載の情報処理装置である。
請求項１１に記載の発明は、前記出力手段は、前記統計を示す情報として、前記一の端末装置にインストールされていないソフトウェアについて、前記他の端末装置のうち当該ソフトウェアがインストールされている端末装置の割合を出力することを特徴とする請求項９に記載の情報処理装置である。
請求項１２に記載の発明は、前記受付手段は、前記一の端末装置に前記特定のソフトウェアをインストールする操作が行われたことを契機として、前記要求を受け付けることを特徴とする請求項１に記載の情報処理装置である。
請求項１３に記載の発明は、コンピュータに、複数の端末装置から、各端末装置にインストールされているソフトウェアに関する情報であるソフトウェア情報を収集する機能と、前記複数の端末装置のうちの一の端末装置から、特定のソフトウェアを動作させるための環境に関する情報の要求を受け付ける機能と、前記複数の端末装置のうち、前記特定のソフトウェアがインストールされている他の端末装置の前記ソフトウェア情報を基に、前記環境に関する情報を出力する機能とを実現させるためのプログラムである。
【発明の効果】
【０００６】
請求項１記載の発明によれば、一の端末装置において特定のソフトウェアを動作させる場合に、当該特定のソフトウェアの動作要件が不明な場合であっても、当該特定のソフトウェアを動作させるための環境を把握することができる装置を提供することができる。
請求項２記載の発明によれば、他の端末装置における特定のソフトウェアの稼動状態を考慮して、特定のソフトウェアを動作させるための環境を把握することができる。
請求項３記載の発明によれば、特定のソフトウェアの稼動状態が異常である他の端末装置のソフトウェア情報を用いる構成と比較して、特定のソフトウェアを動作させるために推奨される環境を把握し易くなる。
請求項４記載の発明によれば、特定のソフトウェアの稼動状態が正常である他の端末装置のソフトウェア情報を用いる構成と比較して、特定のソフトウェアを動作させるために推奨されない環境を把握し易くなる。
請求項５記載の発明によれば、一の端末装置にインストールされているソフトウェアを考慮しない構成と比較して、一の端末装置に類似する環境を持つ他の端末装置を特定し易くなる。
請求項６記載の発明によれば、さらに、一の端末装置に類似する環境を持つ他の端末装置を特定し易くなる。
請求項７記載の発明によれば、特定のソフトウェアを動作させるための環境に関する情報として、ハードウェアに関する情報を把握することができる。
請求項８記載の発明によれば、ハードウェアの種類毎に、特定のソフトウェアを動作させるための環境を把握することができる。
請求項９記載の発明によれば、特定のソフトウェアを動作させるための環境に関する情報として、特定のソフトウェアとは別のソフトウェアについての情報を把握することができる。
請求項１０記載の発明によれば、特定のソフトウェアを動作させるための環境に関する情報として、一の端末装置にインストールされているソフトウェアの版の情報を把握することができる。
請求項１１記載の発明によれば、特定のソフトウェアを動作させるための環境に関する情報として、一の端末装置にインストールされていないソフトウェアの情報を把握することができる。
請求項１２記載の発明によれば、特定のソフトウェアを動作させるための環境に関する情報の要求を受け付けるために、特定のソフトウェアをインストールする操作に加えて別の操作が必要な構成と比較して、要求を受け付けるための利用者の操作が軽減される。
請求項１３記載の発明によれば、一の端末装置において特定のソフトウェアを動作させる場合に、当該特定のソフトウェアの動作要件が不明な場合であっても、当該特定のソフトウェアを動作させるための環境を把握することができるプログラムを提供することができる。
【図面の簡単な説明】
【０００７】
【図１】本実施の形態に係る情報処理システムの全体構成例を示した図である。
【図２】本実施の形態に係る動作要件判定サーバのハードウェア構成例を示す図である。
【図３】本実施の形態に係る利用者端末の機能構成例を示したブロック図である。
【図４】本実施の形態に係る動作要件判定サーバの機能構成例を示したブロック図である。
【図５】ユーザＩＤ登録処理の手順の一例を示したフローチャートである。
【図６】自端末情報収集部がハードウェア情報、インストールＳＷ情報及び稼動状態情報を収集する処理手順の一例を示したフローチャートである。
【図７】利用者端末から調査依頼を行い動作要件の判定結果を表示するまでの一連の処理手順の一例を示したフローチャートである。
【図８】ユーザＩＤ登録処理の具体例を説明するための図である。
【図９】（ａ）、（ｂ）は、ハードウェア情報の一例を示す図である。
【図１０】（ａ）〜（ｄ）は、インストールＳＷ情報及び稼動状態情報の一例を示す図である。
【図１１−１】（ａ）〜（ｃ）は、ネットワークに接続された各利用者端末にて収集された情報の一例を示す図である。
【図１１−２】（ｄ）〜（ｇ）は、ネットワークに接続された各利用者端末にて収集された情報の一例を示す図である。
【図１２】（ａ）、（ｂ）は、動作要件判定サーバの情報記憶部に記憶される情報の一例を示す図である。
【図１３】調査依頼受付画面の一例を示す図である。
【図１４】判定用端末抽出条件を満たす利用者端末を抽出する処理の一例を説明するための図である。
【図１５】判定用端末抽出条件を満たす利用者端末を抽出する処理の一例を説明するための図である。
【図１６】（ａ）、（ｂ）は、判定用端末のユーザＩＤに対応付けられているハードウェア情報及びインストールＳＷ情報の一例を示す図である。
【図１７】（ａ）〜（ｇ）は、動作要件の判定結果の一例を示す図である。
【図１８】依頼元端末で表示される動作要件の判定結果の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【０００９】
＜情報処理システムの全体構成＞
まず、本実施の形態に係る情報処理システム１の全体構成について説明する。図１は、本実施の形態に係る情報処理システム１の全体構成例を示した図である。図示するように、情報処理システム１は、動作要件判定サーバ１００と利用者端末２００ａ〜２００ｃとがネットワーク３００を介して接続されることにより構成される。
【００１０】
なお、図１には、利用者端末２００ａ〜２００ｃを示したが、これらを区別する必要がない場合には利用者端末２００と称する。また、図１に示す例では、３つの利用者端末２００しか設けていないが、本実施の形態では、４つ以上の利用者端末２００を設けてももちろんよい。
【００１１】
利用者端末２００は、利用者が操作するコンピュータ装置である。利用者端末２００としては、ＰＣ（Personal Computer）、携帯情報端末等が例示される。この利用者端末２００は、例えば定期的（例えば、数時間毎）に、自端末を構成するハードウェアの情報や、自端末にインストールされているソフトウェアの情報、自端末にインストールされているソフトウェアの稼動状態を示す情報などを収集する。そして、収集した各種情報を動作要件判定サーバ１００に送信する。
【００１２】
以下では、利用者端末２００が収集する情報について、自端末のハードウェアの情報を「ハードウェア情報」、自端末にインストールされているソフトウェアの情報を「インストールＳＷ情報」、自端末にインストールされているソフトウェアの稼動状態を示す情報を「稼動状態情報」と称する場合がある。本実施の形態では、ソフトウェア情報の一例として、インストールＳＷ情報、稼動状態情報が用いられる。
【００１３】
また、利用者端末２００は、利用者の操作により、特定のソフトウェアについての調査依頼を受け付ける。より具体的には、例えば、利用者端末２００で新たに特定のソフトウェアを動作させる場合や特定のソフトウェアをバージョンアップする場合、利用者端末２００に既にインストールされているソフトウェアとの間の不整合やハードウェアが未対応であること等が原因で、特定のソフトウェアが正常に動作しない場合がある。そこで、本実施の形態では、利用者端末２００が、利用者から調査依頼を受け付けることにより、調査依頼の対象とされたソフトウェア（以下、対象ソフトウェアと称する）を動作させるための環境に関する情報を提示するように、動作要件判定サーバ１００に対して依頼を行う。
【００１４】
動作要件判定サーバ１００としては、サーバ装置等のＰＣが例示される。この動作要件判定サーバ１００は、ネットワーク３００を介して、利用者端末２００からハードウェア情報、インストールＳＷ情報及び稼動状態情報を収集する。ここで、動作要件判定サーバ１００は、ネットワーク３００に接続されている利用者端末２００毎に、各種情報を収集する。
【００１５】
なお、収集した情報には、収集元である利用者端末２００を判断できるように、収集元の利用者端末２００を一意に識別可能な情報が付与されている。付与される情報としては、例えば、利用者端末２００のホスト名、ＭＡＣ（Media Access Control address）アドレス、ＩＰ（Internet Protocol）アドレス等が例示される。また、利用者毎に登録されるユーザＩＤを用いてもよい。各利用者が１台の利用者端末２００のみを利用する場合には、ユーザＩＤにより、収集元の利用者端末２００が一意に識別される。
【００１６】
以下では、簡単のため、各利用者が１台の利用者端末２００のみを利用し、ユーザＩＤによって収集元の利用者端末２００が一意に識別されるものとして説明する。ただし、本実施の形態では、利用者が１台の利用者端末２００のみを利用する構成に限られるものではなく、利用者が複数の利用者端末２００を利用してもよい。この場合には、ユーザＩＤが複数の利用者端末２００に対応付けられるため、ユーザＩＤによって利用者端末２００が一意に識別されない。そのため、各種情報には、ユーザＩＤに加えて、ＭＡＣアドレスやＩＰアドレス等も付与される。
【００１７】
また、動作要件判定サーバ１００は、利用者端末２００から、対象ソフトウェアについての調査依頼を受け付ける。動作要件判定サーバ１００は、調査依頼を受け付けると、各利用者端末２００から収集済みのハードウェア情報、インストールＳＷ情報及び稼動状態情報を基に、調査依頼を行った利用者端末２００において対象ソフトウェアを動作させるための環境に関する情報を生成する。言い換えると、動作要件判定サーバ１００は、調査依頼を行った利用者端末２００において対象ソフトウェアを動作させる場合に推奨される動作要件を判定する。そして、動作要件判定サーバ１００は、判定結果を依頼元の利用者端末２００に送信する。以下では、調査依頼の依頼元の利用者端末２００を「依頼元端末」と称する場合がある。
【００１８】
ネットワーク３００は、動作要件判定サーバ１００、利用者端末２００の各装置間の情報通信に用いられる通信手段であり、例えば、インターネット、公衆回線、ＬＡＮ（Local Area Network）等である。
【００１９】
＜動作要件判定サーバのハードウェア構成＞
次に、本実施の形態に係る動作要件判定サーバ１００のハードウェア構成について説明する。図２は、本実施の形態に係る動作要件判定サーバ１００のハードウェア構成例を示す図である。
【００２０】
図示するように、動作要件判定サーバ１００は、演算手段であるＣＰＵ１０１と、記憶手段であるメインメモリ１０２及び磁気ディスク装置１０３とを備える。ＣＰＵ１０１は、ＯＳ（Operating System）やアプリケーション等の各種プログラムを実行する。メインメモリ１０２は、各種プログラムやその実行に用いるデータ等を記憶する記憶領域である。また、磁気ディスク装置１０３は、各種プログラムや、各種プログラムに対する入力データ、各種プログラムからの出力データ等を記憶する記憶領域である。そして、ＣＰＵ１０１は、磁気ディスク装置１０３等に記憶された各種プログラムをメインメモリ１０２にロードして実行することにより、動作要件判定サーバ１００における各機能を実現する。
【００２１】
さらに、動作要件判定サーバ１００は、外部との通信を行うための通信インタフェース（通信Ｉ／Ｆ）１０４と、ビデオメモリやディスプレイ等からなる表示機構１０５と、キーボードやマウス等の入力デバイス１０６とを備える。
【００２２】
なお、利用者端末２００についても、一例として、図２に示すハードウェア構成と同様のものを用いればよい。ここで、利用者端末２００が収集するハードウェア情報には、例えば、ＣＰＵ、メモリなど、図２に示すような各構成要素の情報が含まれる。また、ハードウェア情報には、例えば、ＯＳの情報も含まれる。付言すると、ハードウェア情報は、利用者端末２００においてソフトウェアを実行するのに用いられる各種資源（即ち、ハードウェアの構成要素）の情報といえる。また、ハードウェア情報は、複数の利用者端末２００において設けられた共通の資源の情報として捉えることもできる。
【００２３】
＜利用者端末の機能構成＞
次に、本実施の形態に係る利用者端末２００の機能構成について説明する。図３は、本実施の形態に係る利用者端末２００の機能構成例を示したブロック図である。利用者端末２００は、操作受付部２０１、ユーザＩＤ記憶部２０２、自端末情報収集部２０３、調査依頼部２０４、表示制御部２０５を備える。なお、利用者端末２００には、本実施の形態に係る利用者端末２００の機能を実現するためのソフトウェアとして、エージェント（エージェントソフトウェア）がインストールされる。
【００２４】
操作受付部２０１は、利用者による操作を受け付ける。ここで、操作受付部２０１は、例えばタッチパネルやマウスに対する利用者の操作により、利用者のユーザＩＤを登録する操作や、対象ソフトウェアについての調査依頼の操作等を受け付ける。
【００２５】
より具体的には、例えば、利用者端末２００にエージェントをインストールする際、又はインストールした後に、ユーザＩＤ登録画面が表示機構１０５のディスプレイに表示される。このユーザＩＤ登録画面上で、利用者がアルファベットや数字等の文字を入力することにより、操作受付部２０１は、入力された文字をユーザＩＤとして登録する操作を受け付ける。また、例えば、エージェントの処理により表示される調査依頼受付画面上で、利用者が、登録済みの自身のユーザＩＤや対象ソフトウェアの情報を入力することにより、操作受付部２０１は、対象ソフトウェアについての調査依頼の操作を受け付ける。
【００２６】
ユーザＩＤ記憶部２０２は、操作受付部２０１の受け付けた操作によって登録された利用者のユーザＩＤを記憶する。ここで、複数の利用者が共通する１台の利用者端末２００を利用する場合も考えられるため、ユーザＩＤ記憶部２０２は、複数のユーザＩＤを記憶する場合もあるものとする。
【００２７】
自端末情報収集部２０３は、例えば定期的（例えば、数時間毎）に、ハードウェア情報、インストールＳＷ情報及び稼動状態情報を収集し、収集した各種情報を動作要件判定サーバ１００に送信する。ここで、自端末情報収集部２０３は、収集したハードウェア情報、インストールＳＷ情報及び稼動状態情報に対して、ユーザＩＤ記憶部２０２に記憶されたユーザＩＤを付与して、動作要件判定サーバ１００に送信する。ユーザＩＤ記憶部２０２に複数のユーザＩＤが記憶されている場合には、複数のユーザＩＤが付与される。
【００２８】
なお、自端末情報収集部２０３は、各種情報を定期的に収集・送信する構成に限られるものではなく、例えば、利用者端末２００が起動されたタイミングや利用者が指示したタイミングなど、予め定められた条件を満たすタイミングで各種情報を収集・送信してもよい。また、自端末情報収集部２０３は、ハードウェア情報、インストールＳＷ情報及び稼動状態情報を一度に収集・送信する構成に限られず、例えば、ハードウェア情報、インストールＳＷ情報及び稼動状態情報のそれぞれを、異なるタイミングで収集・送信してもよい。さらに、自端末情報収集部２０３は、各種情報を収集したタイミングでそのまま動作要件判定サーバ１００に送信してもよいが、各種情報を収集したタイミングとは異なるタイミングで、動作要件判定サーバ１００に送信してもよい。
【００２９】
調査依頼部２０４は、操作受付部２０１が調査依頼の操作を受け付けた場合に、動作要件判定サーバ１００に対して調査依頼を行う。ここで、調査依頼部２０４は、調査依頼において利用者に入力されたユーザＩＤ及び対象ソフトウェアの情報を動作要件判定サーバ１００に送信して調査依頼を行う。対象ソフトウェアの情報とは、対象ソフトウェアを特定する情報であり、例えば、対象ソフトウェアのソフトウェア名、対象ソフトウェアのバージョン（版）である。
【００３０】
表示制御部２０５は、表示機構１０５のディスプレイに画像を表示させるためのデータを出力し、ディスプレイの表示を制御する。例えば、表示制御部２０５は、動作要件判定サーバ１００から受信した動作要件の判定結果をディスプレイに表示する。
【００３１】
そして、利用者端末２００を、図２に示したものと同様のハードウェア構成にて実現した場合、例えば、磁気ディスク装置等に記憶されたエージェントが、メインメモリに読み込まれてＣＰＵに実行されることにより、操作受付部２０１、自端末情報収集部２０３、調査依頼部２０４、表示制御部２０５等の各機能部が実現される。また、ユーザＩＤ記憶部２０２は、例えば磁気ディスク装置等の記憶手段により実現される。
【００３２】
＜動作要件判定サーバの機能構成＞
次に、本実施の形態に係る動作要件判定サーバ１００の機能構成について説明する。図４は、本実施の形態に係る動作要件判定サーバ１００の機能構成例を示したブロック図である。動作要件判定サーバ１００は、情報収集部１１１、情報記憶部１１２、依頼受付部１１３、判定用端末抽出部１１４、動作要件判定部１１５、動作要件応答部１１６を備える。
【００３３】
収集手段の一例としての情報収集部１１１は、ネットワーク３００に接続された各利用者端末２００から、ハードウェア情報、インストールＳＷ情報及び稼動状態情報を収集する。収集された情報には、収集元である利用者端末２００を特定するためのユーザＩＤが付与されている。
【００３４】
情報記憶部１１２は、情報収集部１１１が収集した情報を記憶する。より具体的には、情報記憶部１１２は、利用者端末２００のハードウェア情報、インストールＳＷ情報及び稼動状態情報を、ユーザＩＤと対応付けて記憶する。
【００３５】
受付手段の一例としての依頼受付部１１３は、調査依頼の依頼元である依頼元端末から、対象ソフトウェアについての調査依頼を受け付ける。言い換えると、依頼受付部１１３は、依頼元端末において対象ソフトウェアを動作させるための環境に関する情報の要求を受け付ける。より具体的には、依頼受付部１１３は、依頼元端末のユーザＩＤ、対象ソフトウェアの情報を受信する。
【００３６】
判定用端末抽出部１１４は、依頼受付部１１３が調査依頼を受け付けると、情報記憶部１１２に記憶されている情報を検索し、依頼元端末との間で予め定められた条件を満たす利用者端末２００を抽出する。言い換えると、判定用端末抽出部１１４は、依頼元端末に類似する環境を持つ利用者端末２００を抽出する。ここで抽出される利用者端末２００は、依頼元端末で対象ソフトウェアを動作させるための環境に関する情報を生成するために考慮される利用者端末２００である。以下、判定用端末抽出部１１４により抽出される利用者端末２００を「判定用端末」と称する場合がある。また、判定用端末を抽出するための予め定められた条件を「判定用端末抽出条件」と称する場合がある。
【００３７】
さらに説明すると、判定用端末抽出部１１４は、依頼元端末以外の利用者端末２００のうち、インストールされているソフトウェアが、依頼元端末にインストールされているソフトウェア（即ち、依頼元端末のソフトウェア情報に示されているソフトウェア）との間で予め定められた条件を満たす利用者端末２００を抽出する。より具体的には、判定用端末抽出部１１４は、依頼元端末以外の利用者端末２００のうち、依頼元端末にてインストールされているソフトウェアが全てインストールされており、且つ、それらのソフトウェアが正常に稼動している利用者端末２００を特定する。さらに、判定用端末抽出部１１４は、特定した利用者端末２００のうち、調査依頼で依頼された対象ソフトウェアのバージョンと同じバージョンの対象ソフトウェアがインストールされており、且つ、その対象ソフトウェアが正常に稼動している利用者端末２００を抽出する。ここで抽出される利用者端末２００が判定用端末である。
【００３８】
この場合、判定用端末抽出条件は、依頼元端末にてインストールされているソフトウェアが全てインストールされており、それらのソフトウェアが正常に稼動し、さらに、調査依頼で依頼された対象ソフトウェアと同じバージョンの対象ソフトウェアが正常に稼動している、という条件である。なお、本実施の形態では、対象ソフトウェアが正常に稼動している状態は、予め定められた状態の一例として用いられる。
【００３９】
出力手段の一例としての動作要件判定部１１５は、依頼元端末や判定用端末のハードウェア情報、インストールＳＷ情報及び稼動状態情報を基に、依頼元端末で対象ソフトウェアを動作させるための環境に関する情報を生成する。言い換えると、動作要件判定部１１５は、依頼元端末で対象ソフトウェアを動作させる場合に推奨される動作要件を判定する。
【００４０】
出力手段の一例としての動作要件応答部１１６は、動作要件判定部１１５による判定結果を依頼元端末に送信する。
【００４１】
そして、動作要件判定サーバ１００の各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、動作要件判定サーバ１００を図２に示したハードウェア構成にて実現した場合、例えば、磁気ディスク装置１０３等に格納されているＯＳのプログラムやアプリケーション・プログラムが、メインメモリ１０２に読み込まれてＣＰＵ１０１に実行されることにより、情報収集部１１１、依頼受付部１１３、判定用端末抽出部１１４、動作要件判定部１１５、動作要件応答部１１６等の各機能部が実現される。また、情報記憶部１１２は、例えば磁気ディスク装置１０３等の記憶手段により実現される。
【００４２】
＜ユーザＩＤ登録処理の手順＞
次に、利用者端末２００において利用者のユーザＩＤを登録する処理の手順について説明する。図５は、ユーザＩＤ登録処理の手順の一例を示したフローチャートである。初期状態として、利用者端末２００にエージェントがインストールされる際、又はインストールされた後に、ユーザＩＤ登録画面が表示されたものとする。
【００４３】
操作受付部２０１は、ユーザＩＤ登録画面において、利用者による文字の入力を受け付ける（ステップ１０１）。ここで、操作受付部２０１が文字の入力を受け付けると、エージェントは、入力された文字がユーザＩＤとして一意であることを保証するために、動作要件判定サーバ１００と通信する。そして、入力された文字が、動作要件判定サーバ１００にて登録済みのユーザＩＤと重複していないか否かの判定が行われる。この判定は、エージェントが行ってもよいし、動作要件判定サーバ１００が行ってもよい。
【００４４】
入力された文字が登録済みのユーザＩＤと重複していないと判定された場合には、入力された文字がユーザＩＤとして登録され、ユーザＩＤ記憶部２０２は、登録されたユーザＩＤを記憶する（ステップ１０２）。このユーザＩＤは、動作要件判定サーバ１００にも登録される。そして、本処理フローは終了する。一方、入力された文字が登録済みのユーザＩＤと重複していると判定された場合には、ユーザＩＤの登録は行われず、例えば、違う文字を入力するように利用者に促すメッセージ等が表示される。
【００４５】
＜各種情報の収集処理の手順＞
次に、利用者端末２００において、自端末情報収集部２０３がハードウェア情報、インストールＳＷ情報及び稼動状態情報を収集する処理の手順について説明する。図６は、自端末情報収集部２０３がハードウェア情報、インストールＳＷ情報及び稼動状態情報を収集する処理手順の一例を示したフローチャートである。図６に示す処理は、例えば定期的（例えば、数時間毎）に行われる。
【００４６】
自端末情報収集部２０３は、ハードウェア情報を収集する（ステップ２０１）。次に、自端末情報収集部２０３は、インストールＳＷ情報を収集する（ステップ２０２）。次に、自端末情報収集部２０３は、稼動状態情報を収集する（ステップ２０３）。次に、自端末情報収集部２０３は、収集したハードウェア情報、インストールＳＷ情報及び稼動状態情報に対して、ユーザＩＤ記憶部２０２に記憶されているユーザＩＤを付与して、動作要件判定サーバ１００に送信する（ステップ２０４）。そして、本処理フローは終了する。
【００４７】
ハードウェア情報、インストールＳＷ情報及び稼動状態情報は、自端末情報収集部２０３から動作要件判定サーバ１００に送信されると、動作要件判定サーバ１００の情報収集部１１１にて収集される。情報収集部１１１は、収集した各種情報を情報記憶部１１２に記憶する。情報記憶部１１２では、ハードウェア情報、インストールＳＷ情報及び稼動状態情報が、収集元の利用者端末２００のユーザＩＤと対応付けて記憶される。
【００４８】
なお、上記の動作において、ステップ２０１の処理、ステップ２０２の処理、ステップ２０３の処理は、どのような順番で実行しても構わない。
【００４９】
＜動作要件判定処理の手順＞
次に、利用者端末２００から動作要件判定サーバ１００に対して調査依頼を行い、利用者端末２００にて動作要件の判定結果を表示するまでの一連の処理の手順について説明する。図７は、利用者端末２００から調査依頼を行い動作要件の判定結果を表示するまでの一連の処理手順の一例を示したフローチャートである。
【００５０】
まず、ネットワーク３００に接続されている利用者端末２００のうちの一の利用者端末２００において、操作受付部２０１が、調査依頼受付画面上で、利用者から対象ソフトウェアについての調査依頼を受け付ける（ステップ３０１）。ここで、操作受付部２０１は、調査依頼受付画面上で、例えば、利用者のユーザＩＤ、対象ソフトウェアのソフトウェア名、対象ソフトウェアのバージョンの入力を受け付ける。次に、調査依頼部２０４は、動作要件判定サーバ１００に対して調査依頼を実行する（ステップ３０２）。ここで、調査依頼部２０４は、ステップ３０１で受け付けたユーザＩＤ及び対象ソフトウェアのソフトウェア名・バージョンの情報を動作要件判定サーバ１００に送信する。
【００５１】
次に、動作要件判定サーバ１００の依頼受付部１１３は、ステップ３０２で送信された情報を受信し、利用者端末２００（即ち、依頼元端末）から調査依頼を受け付ける（ステップ３０３）。次に、判定用端末抽出部１１４は、情報記憶部１１２に記憶されている情報を検索し、依頼元端末のインストールＳＷ情報を取得する（ステップ３０４）。ここで、判定用端末抽出部１１４は、依頼元端末のユーザＩＤ（即ち、ステップ３０３で受信したユーザＩＤ）をキーにして、情報記憶部１１２に記憶されている情報の中から、依頼元端末のユーザＩＤと対応付けられているインストールＳＷ情報を取得する。
【００５２】
次に、判定用端末抽出部１１４は、ステップ３０４で取得した依頼元端末のインストールＳＷ情報を基に、情報記憶部１１２に記憶されている情報を検索し、判定用端末抽出条件を満たす利用者端末２００を抽出する（ステップ３０５）。ここで、判定用端末抽出部１１４は、まず、依頼元端末にてインストールされているソフトウェアが全てインストールされており、且つ、それらのソフトウェアが正常に稼動している利用者端末２００を特定する。次に、判定用端末抽出部１１４は、特定した利用者端末２００のうち、調査依頼で依頼された対象ソフトウェアのバージョンと同じバージョンの対象ソフトウェアがインストールされており、且つ、その対象ソフトウェアが正常に稼動している利用者端末２００を抽出する。ここで抽出される利用者端末２００が、判定用端末として扱われる。
【００５３】
次に、動作要件判定部１１５は、情報記憶部１１２に記憶されている情報を検索し、ステップ３０５で抽出された判定用端末のハードウェア情報及びインストールＳＷ情報を取得する（ステップ３０６）。ここで、動作要件判定部１１５は、判定用端末のユーザＩＤをキーにして、情報記憶部１１２に記憶されている情報の中から、判定用端末のユーザＩＤと対応付けられているハードウェア情報及びインストールＳＷ情報を取得する。次に、動作要件判定部１１５は、ステップ３０６で取得した情報を基に、依頼元端末で対象ソフトウェアを動作させる場合に推奨される動作要件を判定する（ステップ３０７）。
【００５４】
より具体的には、ステップ３０７において、動作要件判定部１１５は、ハードウェア構成（例えばＯＳ、ＣＰＵ、メモリ）及びソフトウェア構成について、統計量（統計を示す情報）を算出する。例えば、動作要件判定部１１５は、判定用端末のＯＳやＣＰＵ、メモリ（メモリ容量）等のハードウェアの種類毎に、統計量（統計を示す情報）を算出する。言い換えると、動作要件判定部１１５は、例えば、判定用端末のＯＳやＣＰＵ、メモリ（メモリ容量）について、判定用端末全体における使用比率を算出する。
【００５５】
また、動作要件判定部１１５は、例えば、依頼元端末にインストールされているソフトウェアについて、統計量（統計を示す情報）を算出する。より具体的には、動作要件判定部１１５は、例えば、依頼元端末にインストールされているソフトウェアについて、判定用端末にインストールされているソフトウェアのバージョンの分布を算出する。さらに、動作要件判定部１１５は、例えば、依頼元端末にはインストールされていないが判定用端末にインストールされているソフトウェアがある場合に、判定用端末全体のうち、そのソフトウェアがインストールされている判定用端末の割合を算出する。このようにして算出されたデータが、動作要件の判定結果として扱われる。
【００５６】
次に、動作要件応答部１１６は、ステップ３０７の判定結果を依頼元端末に送信する（ステップ３０８）。ステップ３０８で送信された判定結果は、依頼元端末の表示制御部２０５によってディスプレイに表示される。そして、本処理フローは終了する。
【００５７】
＜ユーザＩＤ登録処理の例＞
次に、利用者端末２００において利用者のユーザＩＤを登録する処理について、具体例を挙げて説明する。図８は、ユーザＩＤ登録処理の具体例を説明するための図である。なお、以下に示すステップは、図５の各ステップに対応するものとする。
【００５８】
利用者端末２００にエージェントがインストールされる際、又はインストールされた後、ユーザＩＤ登録画面１１が表示される。このユーザＩＤ登録画面１１には、文字の入力を受け付ける文字入力部１２が設けられている。そして、操作受付部２０１は、文字入力部１２における文字の入力を受け付ける（ステップ１０１）。図８に示す例では、利用者によって「Ｕｓｅｒ−Ａ」という文字（文字列）が入力される。
【００５９】
文字の入力を受け付けると、エージェントが動作要件判定サーバ１００と通信し、入力された文字が登録済みのユーザＩＤと重複していないか否かの判定が行われる。ここで、
「Ｕｓｅｒ−Ａ」の文字が登録済みのユーザＩＤと重複していないと判定された場合には、利用者が登録ボタン１３を選択することにより、「Ｕｓｅｒ−Ａ」がユーザＩＤとして登録され、ユーザＩＤ記憶部２０２は「Ｕｓｅｒ−Ａ」をユーザＩＤとして記憶する（ステップ１０２）。このユーザＩＤは、動作要件判定サーバ１００にも登録される。
【００６０】
一方、「Ｕｓｅｒ−Ａ」の文字が登録済みのユーザＩＤと重複している場合には、例えば、登録ボタン１３が表示されなかったり、登録ボタン１３がグレーアウト表示（利用者の操作対象から外れた状態を示す表示）されたりする。また、「Ｕｓｅｒ−Ａ」とは違う文字を入力するように利用者に促すメッセージ等が表示される。
【００６１】
＜利用者端末が収集する各種情報の例＞
次に、利用者端末２００の自端末情報収集部２０３が収集するハードウェア情報、インストールＳＷ情報及び稼動状態情報について、具体例を挙げて説明する。図９は、ハードウェア情報の一例を示す図である。また、図１０は、インストールＳＷ情報及び稼動状態情報の一例を示す図である。なお、以下に示すステップは、図６の各ステップに対応するものとする。
【００６２】
まず、図９を参照しながら、ハードウェア情報について説明する。自端末情報収集部２０３は、例えば、ＯＳのコマンド（システムコマンド）等からハードウェア情報を収集する（ステップ２０１）。図９（ａ）は、利用者端末２００においてＯＳのコマンドを実行した実行結果の一例を示す図である。図９（ａ）に示す例は、ユーザＩＤ「Ｕｓｅｒ−Ａ」の利用者端末２００において、Ｗｉｎｄｏｗｓ（登録商標） ＯＳの「ｓｙｓｔｅｍｉｎｆｏ」コマンドを実行した結果を示す。この実行結果には、ＯＳやＣＰＵ、メモリ等のハードウェアの情報が含まれる。例えば、ＯＳの情報は「ＯＳ名」、ＣＰＵの情報は「プロセッサ」、メモリの情報は「物理メモリの合計」といった項目から取得される。そして、図９（ｂ）に示すように、「Ｕｓｅｒ−Ａ」のハードウェア情報として、例えば、ＯＳの情報「ＯＳ−Ｘ」、ＣＰＵの情報「ＣＰＵ−Ｙ」、メモリの情報「２０４８ＭＢ」が収集される。
【００６３】
次に、図１０を参照しながら、インストールＳＷ情報について説明する。自端末情報収集部２０３は、例えば、ＯＳのレジストリ等からインストールＳＷ情報を収集する（ステップ２０２）。図１０（ａ）は、利用者端末２００のレジストリに保存された情報の一例を示す図である。図１０（ａ）に示す例は、Ｗｉｎｄｏｗｓ ＯＳのレジストリに保存された情報の一例を示す。
【００６４】
このレジストリの情報には、利用者端末２００にインストールされているソフトウェアの情報が含まれる。例えば、ソフトウェア名は「ＤｉｓｐｌａｙＮａｍｅ」、ソフトウェアのバージョンは「ＤｉｓｌｐａｙＶｅｒｓｉｏｎ」という項目から取得される。そして、図１０（ｂ）に示すように、「Ｕｓｅｒ−Ａ」のインストールＳＷ情報として、自端末にインストールされているソフトウェア毎に、ソフトウェア名、バージョンの情報が収集される。図１０（ｂ）に示す例では、「Ｕｓｅｒ−Ａ」の利用者端末２００には、「Ｓｏｆｔｗａｒｅ−１」、「Ｓｏｆｔｗａｒｅ−２」、「Ｓｏｆｔｗａｒｅ−３」という３つのソフトウェアがインストールされており、それぞれのバージョンは「１．０」、「２．０」、「３．０」である。
【００６５】
次に、稼動状態情報について説明する。自端末情報収集部２０３は、例えば、自端末にインストールされている各ソフトウェアのログファイル等から、稼動状態情報を収集する（ステップ２０３）。図１０（ｃ）は、利用者端末２００にインストールされているソフトウェアのログファイルの一例を示す図である。図１０（ｃ）に示す例は、ソフトウェア名「Ｓｏｆｔｗａｒｅ−１」のソフトウェアについてのログファイルの一例を示す。
【００６６】
自端末情報収集部２０３は、例えば、このログファイルに「ｅｒｒｏｒ」の文字列が含まれているか否かを検索し、含まれていれば、「Ｓｏｆｔｗａｒｅ−１」の稼動状態は「異常」と判断する。ログファイルに「ｅｒｒｏｒ」の文字列が含まれていなければ、「Ｓｏｆｔｗａｒｅ−１」の稼動状態は「正常」と判断する。そして、図１０（ｄ）に示すように、「Ｕｓｅｒ−Ａ」の稼動状態情報として、「Ｕｓｅｒ−Ａ」の利用者端末２００にインストールされている各ソフトウェアについて稼動状態が収集される。図１０（ｄ）に示す例では、「Ｓｏｆｔｗａｒｅ−１」、「Ｓｏｆｔｗａｒｅ−２」、「Ｓｏｆｔｗａｒｅ−３」という３つのソフトウェアについて、それぞれの稼動状態は「異常」、「正常」、「正常」である。
【００６７】
このようにして、利用者端末２００において、ハードウェア情報、インストールＳＷ情報及び稼動状態情報が収集される。図１１−１及び図１１−２は、ネットワーク３００に接続された各利用者端末２００にて収集された情報の一例を示す図である。図１１−１（ａ）は、図９及び図１０にて説明したように、「Ｕｓｅｒ−Ａ」の利用者端末２００にて収集された情報である。また、図１１−１（ｂ）、（ｃ）、図１１−２（ｄ）〜（ｇ）はそれぞれ、ユーザＩＤ「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」、「Ｕｓｅｒ−Ｅ」、「Ｕｓｅｒ−Ｆ」、「Ｕｓｅｒ−Ｇ」の利用者端末２００にて収集された情報である。このようにネットワーク３００に接続された各利用者端末２００にてハードウェア情報、インストールＳＷ情報及び稼動状態情報が収集され、収集された情報はユーザＩＤが付与され、動作要件判定サーバ１００に送信される（ステップ２０４）。
【００６８】
また、図１２は、動作要件判定サーバ１００の情報記憶部１１２に記憶される情報の一例を示す図である。図１２（ａ）は、各利用者端末２００から収集したハードウェア情報を示す図である。また、図１２（ｂ）は、各利用者端末２００から収集したインストールＳＷ情報及び稼動状態情報を示す図である。ここで示す情報は、図１１−１及び図１１−２に示す情報に対応する。図１２に示すように、各利用者端末２００から送信されたハードウェア情報、インストールＳＷ情報及び稼動状態情報は、収集元の利用者端末２００のユーザＩＤと対応付けて、情報記憶部１１２に記憶される。
【００６９】
＜動作要件判定処理の例＞
次に、利用者端末２００から調査依頼を行い動作要件の判定結果を表示するまでの一連の処理について、具体例を挙げて説明する。図１３〜図１８は、利用者端末２００から調査依頼を行い動作要件の判定結果を表示するまでの一連の処理の具体例を説明するための図である。なお、以下に示すステップは、図７の各ステップに対応するものとする。
【００７０】
また、図１３〜図１８に示す例では、図１１−１で示したユーザＩＤ「Ｕｓｅｒ−Ａ」の利用者端末２００において、ソフトウェア名「Ｓｏｆｔｗａｒｅ−α」のソフトウェアについて調査依頼を行うものとする。また、ネットワーク３００には、「Ｕｓｅｒ−Ａ」の利用者端末２００に加えて、ユーザＩＤ「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」、「Ｕｓｅｒ−Ｅ」、「Ｕｓｅｒ−Ｆ」、「Ｕｓｅｒ−Ｇ」の利用者端末２００が接続されており、図１２（ａ）、（ｂ）に示した情報が動作要件判定サーバ１００に記憶されているものとする。
【００７１】
まず、利用者は、「Ｕｓｅｒ−Ａ」の利用者端末２００のディスプレイに表示された調査依頼受付画面上で調査依頼の操作を行う。図１３は、調査依頼受付画面１４の一例を示す図である。ここで、調査依頼受付画面１４には、ユーザＩＤ入力部１５、ソフトウェア名入力部１６、バージョン入力部１７が設けられている。そして、操作受付部２０１は、ユーザＩＤ入力部１５、ソフトウェア名入力部１６、バージョン入力部１７における文字の入力を受け付ける（ステップ３０１）。図１３に示す例では、利用者によって「Ｕｓｅｒ−Ａ」、「Ｓｏｆｔｗａｒｅ−α」、「１．０」という文字（文字列）が入力される。利用者が調査依頼ボタン１８を選択すると、調査依頼部２０４は、動作要件判定サーバ１００に対して調査依頼を行う（ステップ３０２）。
【００７２】
次に、動作要件判定サーバ１００の依頼受付部１１３は、「Ｕｓｅｒ−Ａ」の利用者端末２００を依頼元端末として、ソフトウェア名「Ｓｏｆｔｗａｒｅ−α」のソフトウェアを対象ソフトウェア、そのバージョンを「１．０」とする調査依頼を受け付ける（ステップ３０３）。次に、判定用端末抽出部１１４は、情報記憶部１１２に記憶されている情報を検索し、ユーザＩＤ「Ｕｓｅｒ−Ａ」に対応付けられているインストールＳＷ情報を取得する（ステップ３０４）。この例では、図１２（ｂ）に示す情報から、「Ｕｓｅｒ−Ａ」に対応付けられているインストールＳＷ情報として、「Ｓｏｆｔｗａｒｅ−１」、「Ｓｏｆｔｗａｒｅ−２」、「Ｓｏｆｔｗａｒｅ−３」というソフトウェア名が取得される。
【００７３】
次に、判定用端末抽出部１１４は、判定用端末抽出条件を満たす利用者端末２００を抽出する（ステップ３０５）。図１４及び図１５は、判定用端末抽出条件を満たす利用者端末２００を抽出する処理の一例を説明するための図である。ここで、判定用端末抽出部１１４は、まず、「Ｕｓｅｒ−Ａ」の利用者端末２００にインストールされている「Ｓｏｆｔｗａｒｅ−１」、「Ｓｏｆｔｗａｒｅ−２」、「Ｓｏｆｔｗａｒｅ−３」が全てインストールされており、且つ、それらのソフトウェアが正常に稼動している利用者端末２００を特定する。
【００７４】
図１４の太線で示すように、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」、「Ｕｓｅｒ−Ｅ」、「Ｕｓｅｒ−Ｆ」の利用者端末２００には、「Ｓｏｆｔｗａｒｅ−１」、「Ｓｏｆｔｗａｒｅ−２」、「Ｓｏｆｔｗａｒｅ−３」のソフトウェアが全てインストールされている。また、各利用者端末２００では、これら３つのソフトウェアの稼動状態は「正常」である。よって、判定用端末抽出部１１４は、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」、「Ｕｓｅｒ−Ｅ」、「Ｕｓｅｒ−Ｆ」の利用者端末２００を特定する。なお、「Ｕｓｅｒ−Ｇ」の利用者端末２００には、「Ｓｏｆｔｗａｒｅ−３」のソフトウェアがインストールされていないため、ここでは特定されない。
【００７５】
次に、判定用端末抽出部１１４は、特定した「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」、「Ｕｓｅｒ−Ｅ」、「Ｕｓｅｒ−Ｆ」の利用者端末２００のうち、バージョン「１．０」の対象ソフトウェア「Ｓｏｆｔｗａｒｅ−α」がインストールされ、且つ、その対象ソフトウェアが正常に稼動している利用者端末２００を抽出する。図１５の太線で示すように、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」の利用者端末２００では、バージョン「１．０」の対象ソフトウェア「Ｓｏｆｔｗａｒｅ−α」がインストールされ、且つ正常に稼動している。よって、判定用端末抽出部１１４は、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」の利用者端末２００を抽出する。付言すると、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」の利用者端末２００が判定用端末に該当する。
【００７６】
なお、「Ｕｓｅｒ−Ｅ」の利用者端末２００には、対象ソフトウェア「Ｓｏｆｔｗａｒｅ−α」はインストールされているが、バージョンが「２．０」であり、調査依頼で依頼されたバージョン「１．０」とは異なるため、ここでは抽出されない。また、「Ｕｓｅｒ−Ｆ」の利用者端末２００には、バージョン「１．０」の対象ソフトウェア「Ｓｏｆｔｗａｒｅ−α」はインストールされているが、稼動状態が「異常」であるため、ここでは抽出されない。
【００７７】
次に、動作要件判定部１１５は、ステップ３０５で抽出された判定用端末のユーザＩＤに対応付けられているハードウェア情報及びインストールＳＷ情報を取得する（ステップ３０６）。図１６は、判定用端末のユーザＩＤに対応付けられているハードウェア情報及びインストールＳＷ情報の一例を示す図である。
【００７８】
より具体的には、動作要件判定部１１５は、図１６（ａ）に示すように、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」のハードウェア情報として、図１２（ａ）に示す情報から、各利用者端末２００のＯＳ、ＣＰＵ及びメモリの情報を取得する。また、動作要件判定部１１５は、図１６（ｂ）に示すように、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」のインストールＳＷ情報として、図１２（ｂ）に示す情報から、各利用者端末２００にインストールされているソフトウェアのソフトウェア名、バージョンの情報を取得する。なお、この例では、対象ソフトウェア「Ｓｏｆｔｗａｒｅ−α」の情報については取得していない。
【００７９】
次に、動作要件判定部１１５は、依頼元端末である「Ｕｓｅｒ−Ａ」の利用者端末２００で対象ソフトウェア「Ｓｏｆｔｗａｒｅ−α」を動作させる場合に推奨される動作要件を判定する（ステップ３０７）。図１７は、動作要件の判定結果の一例を示す図である。
【００８０】
図１７に示す例では、判定結果として、ハードウェア構成（ＯＳ、ＣＰＵ、メモリ）及びソフトウェア構成の使用比率が算出される。また、使用比率が予め定められた比率（以下、推奨比率と称する）を超える場合には、推奨される動作要件であることを示すフラグである「ＴＲＵＥ」のフラグが付与される。一方、使用比率が推奨比率以下の場合には、推奨される動作要件ではないことを示すフラグである「ＦＡＬＳＥ」のフラグが付与される。なお、この例では、推奨比率が６０％であるものとして説明する。ただし、推奨比率は、ハードウェア構成やソフトウェア構成で共通の値（この例の６０％）とは限らず、例えば、ＯＳ、ＣＰＵ、メモリ、ソフトウェアなどの対象毎に、個別に推奨比率の値を設定してもよい。
【００８１】
そして、例えば、図１７（ａ）に示す例は、３台の判定用端末（「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」の利用者端末２００）におけるＯＳの使用比率を示している。図１６（ａ）に示すように、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」の利用者端末２００では全てＯＳ−Ｘが使用されている。従って、ＯＳ−Ｘの使用比率が１００％として算出される。また、使用比率（１００％）が推奨比率（６０％）を超えるため、「ＴＲＵＥ」のフラグが付与される。同様に、図１７（ｂ）に示す例は、３台の判定用端末におけるＣＰＵの使用比率を示している。「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」の利用者端末２００では全てＣＰＵ−Ｙが使用されている。従って、ＣＰＵ−Ｙの使用比率が１００％として算出され、「ＴＲＵＥ」のフラグが付与される。
【００８２】
また、図１７（ｃ）に示す例は、３台の判定用端末におけるメモリの使用比率を示している。ここで、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」の利用者端末２００はメモリ容量が「４０９６ＭＢ」である。また、「Ｕｓｅｒ−Ｄ」の利用者端末２００はメモリ容量が「２０４８ＭＢ」である。従って、「４０９６ＭＢ」の使用比率が６６％、「２０４８ＭＢ」の使用比率が３３％として算出される。また、「４０９６ＭＢ」の使用比率（６６％）は推奨比率（６０％）を超えるため、「ＴＲＵＥ」のフラグが付与される。一方、「２０４８ＭＢ」の使用比率（３３％）は推奨比率（６０％）を超えないため、「ＦＡＬＳＥ」のフラグが付与される。
【００８３】
さらに、図１７（ｄ）〜（ｆ）に示す例は、依頼元端末にインストールされているソフトウェア「Ｓｏｆｔｗａｒｅ−１」、「Ｓｏｆｔｗａｒｅ−２」、「Ｓｏｆｔｗａｒｅ−３」について、判定用端末にインストールされているバージョンの分布（バージョン毎の使用比率）を示している。「Ｓｏｆｔｗａｒｅ−１」については、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」のバージョンが「２．０」、「Ｕｓｅｒ−Ｂ」のバージョンが「１．０」である。従って、バージョン「２．０」の使用比率は６６％で、「ＴＲＵＥ」のフラグが付与される。一方、バージョン「１．０」の使用比率は３３％で、「ＦＡＬＳＥ」のフラグが付与される。同様に、「Ｓｏｆｔｗａｒｅ−２」についてはバージョン「２．０」の使用比率が１００％、「Ｓｏｆｔｗａｒｅ−３」についてはバージョン「３．０」の使用比率が１００％であり、「ＴＲＵＥ」のフラグが付与される。
【００８４】
また、図１７（ｇ）に示す例は、依頼元端末にはインストールされていないが判定用端末にインストールされているソフトウェア「Ｓｏｆｔｗａｒｅ−４」、「Ｓｏｆｔｗａｒｅ−５」の使用比率を示している。ここで、バージョン「１．０」の「Ｓｏｆｔｗａｒｅ−４」は、「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」の全ての判定用端末でインストールされている。従って、使用比率は１００％であり、「ＴＲＵＥ」のフラグが付与される。また、バージョン「１．０」の「Ｓｏｆｔｗａｒｅ−５」は、「Ｕｓｅｒ−Ｃ」の利用者端末２００のみにインストールされている。従って、使用比率は３３％であり、「ＦＡＬＳＥ」のフラグが付与される。
【００８５】
なお、この例では、「Ｓｏｆｔｗａｒｅ−４」、「Ｓｏｆｔｗａｒｅ−５」のバージョンについても考慮したが、バージョンを考慮せずに使用比率を算出してもよい。例えば、「Ｕｓｅｒ−Ｂ」の利用者端末２００の「Ｓｏｆｔｗａｒｅ−４」のバージョンが「２．０」である場合、「Ｓｏｆｔｗａｒｅ−４」のバージョン毎に使用比率を出してもよいし、バージョンを考慮せずに「Ｓｏｆｔｗａｒｅ−４」の使用比率を１００％としてもよい。
【００８６】
このようにして算出された動作要件の判定結果が依頼元端末に送信され（ステップ３０８）、依頼元端末のディスプレイに表示される。図１８は、依頼元端末で表示される動作要件の判定結果の一例を示す図である。図１８に示す推奨動作要件画面１９には、図１３に示す調査依頼受付画面１４と同様に、調査依頼したユーザＩＤ、ソフトウェア名、バージョンが表示される。さらに、ＯＳ、ＣＰＵ、メモリ及びソフトウェアについての判定結果が表示される。
【００８７】
図１８に示す例では、ＯＳ、ＣＰＵ、メモリについて、図１７（ａ）〜（ｃ）の使用比率が円グラフで表示される。また、依頼元端末にインストールされているソフトウェア「Ｓｏｆｔｗａｒｅ−１」、「Ｓｏｆｔｗａｒｅ−２」、「Ｓｏｆｔｗａｒｅ−３」について、「既存ソフトウェアのバージョン」として、図１７（ｄ）〜（ｆ）の使用比率が円グラフで表示される。さらに、依頼元端末にはインストールされていないが判定用端末にインストールされているソフトウェア「Ｓｏｆｔｗａｒｅ−４」、「Ｓｏｆｔｗａｒｅ−５」について、「新規にインストールが必要なソフトウェア」として、図１７（ｇ）の使用比率が表示される。
【００８８】
ここで、「ＴＲＵＥ」のフラグが付与されたものについては、推奨される動作要件であることを利用者が判断し易いように、「ＦＡＬＳＥ」のフラグが付与されたものとは異なる表示態様で表示される。図１８に示す例では、「ＴＲＵＥ」のフラグが付与されたものを斜線で示しており、画面上では赤色が付される。
【００８９】
また、上述した例では、使用比率が推奨比率を超える場合に推奨される動作要件としたが、このような構成に限られない。例えば、使用比率が推奨比率を超えるものがない場合に、使用比率が最も高いものを推奨される動作要件としてもよい。例えば、図１８に示すメモリにおいて推奨比率を７０％とした場合、推奨比率を超えるものが存在しないこととなる。このような場合には、使用比率が最も高いもの（図１８の例では、「４０９６ＭＢ」）を推奨される動作要件としてもよい。同様に、使用比率が推奨比率を超えるものが複数ある場合には、その複数の全てを推奨される動作要件としてもよいし、その中で使用比率が最も高いものを推奨される動作要件としてもよい。
【００９０】
さらに、本実施の形態では、使用比率を算出するのではなく、他のパラメータを算出して動作要件を判定してもよい。例えば、判定用端末全体における使用端末数を用いて動作要件を判定してもよい。この場合、例えば、使用端末数が予め定められた数（以下、推奨端末数と称する）を超える場合に、「ＴＲＵＥ」のフラグが付与される。例えば、ＯＳに関する推奨端末数を「２」と設定する場合について説明する。図１８に示す例では、「ＯＳ−Ｘ」のＯＳを備える判定用端末は「Ｕｓｅｒ−Ｂ」、「Ｕｓｅｒ−Ｃ」、「Ｕｓｅｒ−Ｄ」の３つ（使用端末数＝３）であり、推奨端末数「２」を超えている。そのため、「ＯＳ−Ｘ」は推奨される動作要件とされる。なお、この場合も、使用端末数が推奨端末数を超えるものがない場合に、使用端末数が最も大きいものを推奨される動作要件としてもよい。また、使用端末数が推奨端末数を超えるものが複数ある場合に、その複数の全てを推奨される動作要件としてもよいし、その中で使用端末数が最も大きいものを推奨される動作要件としてもよい。
【００９１】
また、図１８に示す推奨動作要件画面１９において、推奨される動作要件と依頼元端末の構成とが一致しているか否かの情報を表示してもよい。例えば、依頼元端末である「Ｕｓｅｒ−Ａ」の利用者端末２００のハードウェア構成について、ＯＳ、ＣＰＵ、メモリはそれぞれ「ＯＳ−Ｘ」、「ＣＰＵ−Ｙ」、「２０４８ＭＢ」である。また、図１８に示すように、ＯＳ、ＣＰＵ、メモリの推奨される動作要件はそれぞれ、「ＯＳ−Ｘ」、「ＣＰＵ−Ｙ」、「４０９６ＭＢ」である。よって、ＯＳ、ＣＰＵについて、推奨される動作要件と依頼元端末の構成とが一致している。そこで、ＯＳ、ＣＰＵについて、一致している旨を示すメッセージを表示したり、一致していない場合とは異なる表示態様で表示したりしてもよい。また、ソフトウェア構成（図１８の例の「既存ソフトウェアのバージョン」）も同様に、推奨される動作要件と依頼元端末の構成とが一致しているか否かの情報を表示してもよい。
【００９２】
＜判定用端末抽出条件の他の例＞
次に、判定用端末抽出条件の他の例について説明する。上述した例では、「依頼元端末にてインストールされているソフトウェアが全てインストールされており、それらのソフトウェアが正常に稼動し、且つ、調査依頼で依頼された対象ソフトウェアと同じバージョンの対象ソフトウェアが正常に稼動している」という条件を判定用端末抽出条件とした。一方、他の例では、この条件の内容を緩和したものが用いられる。
【００９３】
まず、判定用端末抽出条件のうちの「依頼元端末にてインストールされているソフトウェアが全てインストールされており」という条件を、例えば、「依頼元端末にてインストールされている全てのソフトウェアのうちの少なくとも一定の割合（例えば８割）のソフトウェアがインストールされており」という条件にしてもよい。また、例えば、「依頼元端末にてインストールされている全てのソフトウェアのうちの少なくとも一定数（例えば１０個）のソフトウェアがインストールされており」という条件にしてもよい。
【００９４】
また、判定用端末抽出条件のうちの「それらのソフトウェアが正常に稼動し」という条件を、例えば、「それらのソフトウェアのうちの少なくとも一定の割合（例えば８割）のソフトウェアが正常に稼動し」という条件にしてもよい。また、例えば、「それらのソフトウェアのうちの少なくとも一定数（例えば１０個）のソフトウェアが正常に稼動し」という条件にしてもよい。
【００９５】
また、判定用端末抽出条件のうちの「調査依頼で依頼された対象ソフトウェアと同じバージョンの対象ソフトウェアが正常に稼動している」という条件を、例えば、「調査依頼で依頼された対象ソフトウェアが正常に稼動している」という条件にしてもよい。すなわち、調査依頼で依頼された対象ソフトウェアとは異なるバージョンの対象ソフトウェアが正常に稼動している利用者端末２００が存在する場合に、その利用者端末２００を抽出してもよい。
【００９６】
このように、判定用端末抽出条件の内容を緩和すれば、判定用端末として抽出される利用者端末２００の数が増加するため、より多くの利用者端末２００の情報を基に動作要件の判定が行われることとなる。一方、判定用端末抽出条件の内容を厳格にすれば、判定用端末として抽出される利用者端末２００の数は減少するが、依頼元端末の環境により近い利用者端末２００の情報を基に動作要件の判定が行われることとなる。
【００９７】
また、本実施の形態では、判定用端末抽出条件として、対象ソフトウェアが起動された回数を考慮してもよい。付言すると、対象ソフトウェアがインストールされた利用者端末２００のうち、対象ソフトウェアの起動回数が少ない利用者端末２００の情報よりも、対象ソフトウェアの起動回数が多い利用者端末２００の情報を用いることで、動作要件がより正確に判定されると考えられる。そこで、例えば、「対象ソフトウェアが起動された回数が予め定められた回数を超えている」という条件を判定用端末抽出条件として追加してもよい。
【００９８】
さらに、本実施の形態では、判定用端末抽出条件として、調査依頼を行った利用者や依頼元端末、対象ソフトウェア等の属性を考慮してもよい。例えば、調査依頼を行った利用者の所属する組織内の利用者端末２００に限定して判定用端末を抽出してもよい。また、例えば、対象ソフトウェアが「社内利用」のソフトウェアである場合に、依頼元端末と同じＬＡＮ内の利用者端末２００に限定して判定用端末を抽出してもよい。
【００９９】
また、本実施の形態では、判定用端末抽出条件として、調査依頼を行った利用者や依頼元端末の操作履歴を考慮してもよい。例えば、調査依頼を行った利用者が依頼元端末で参照したウェブページの履歴と類似した履歴を持つ利用者端末２００に限定して、判定用端末を抽出してもよい。ここで、依頼元端末で参照したウェブページの履歴と類似した履歴とは、例えば、依頼元端末で参照したウェブページのうちの一定の割合又は一定数のウェブページを含む履歴である。
【０１００】
＜動作要件の判定結果の他の例＞
次に、動作要件の判定結果の他の例について説明する。上述した例では、動作要件判定部１１５は、依頼元端末で対象ソフトウェアを動作させる場合に推奨される動作要件を判定した。一方、他の例では、依頼元端末で対象ソフトウェアを動作させる場合に推奨されない動作要件が判定される。付言すると、他の例では、対象ソフトウェアの稼動状態が異常である状態が、予め定められた状態の一例として用いられる。
【０１０１】
例えば、図１５に示す例では、「Ｕｓｅｒ−Ｆ」の利用者端末２００には、調査依頼で依頼されたバージョン「１．０」の対象ソフトウェア「Ｓｏｆｔｗａｒｅ−α」がインストールされているが、稼動状態が「異常」であるため、判定用端末として抽出されていない。ここで、対象ソフトウェアの稼動状態が「異常」な原因としては、例えば、「Ｕｓｅｒ−Ｆ」の利用者端末２００に対象ソフトウェアとの間で不整合が生じるソフトウェアがインストールされていることや、ＯＳやＣＰＵが対象ソフトウェアに対応していないこと等が考えられる。そこで、動作要件判定部１１５は、「Ｕｓｅｒ−Ｆ」の利用者端末２００の各種情報を基に、依頼元端末で対象ソフトウェアを動作させる場合に推奨されない動作要件を判定してもよい。
【０１０２】
この場合、判定用端末抽出部１１４は、上述した判定用端末抽出条件などを用いて、「Ｕｓｅｒ−Ｆ」の利用者端末２００のように、依頼元端末に類似する環境を持つが、調査依頼で依頼された対象ソフトウェアと同じバージョンの対象ソフトウェアの稼動状態が異常である利用者端末２００を抽出する。そして、動作要件判定部１１５は、抽出された利用者端末２００のハードウェア情報、インストールＳＷ情報などを基に、例えば、図１７に示すような使用比率を算出する。このようにして、ハードウェア構成（ＯＳ、ＣＰＵ、メモリ）及びソフトウェア構成について、依頼元端末で対象ソフトウェアを動作させる場合に推奨されない動作要件が判定される。
【０１０３】
また、上述した例では、利用者端末２００が利用者からの調査依頼を受け付けたことを契機として、動作要件判定サーバ１００が動作要件の判定を行ったが、動作要件の判定を行う契機はこのような構成に限られない。例えば、利用者が利用者端末２００にてソフトウェアをインストールする操作やソフトウェアのバージョンアップの操作を行ったことを契機として、利用者端末２００が動作要件判定サーバ１００に調査依頼を行い、動作要件判定サーバ１００が動作要件の判定を行うこととしてもよい。また、例えば、利用者が利用者端末２００に対して外部からソフトウェアをダウンロードする操作を行ったことを契機として、利用者端末２００が動作要件判定サーバ１００に調査依頼を行い、動作要件判定サーバ１００が動作要件の判定を行うこととしてもよい。
【０１０４】
さらに、上述した例では、推奨される動作要件として、ハードウェア構成（ＯＳ、ＣＰＵ、メモリ）及びソフトウェア構成についての動作要件を表示したが、推奨される動作要件としてハードウェア構成の動作要件のみを表示したり、ソフトウェア構成の動作要件のみを表示したりしてもよい。
【０１０５】
また、上述した例では、各利用者端末２００から、ハードウェア情報、インストールＳＷ情報及び稼動状態情報を収集することとしたが、ハードウェア情報を収集しないこととしてもよい。この場合、推奨される動作要件としてハードウェア構成の動作要件は表示されず、ソフトウェア構成の動作要件のみ表示される。
【０１０６】
また、本発明の実施の形態を実現するプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【０１０７】
なお、上記では種々の実施形態および変形例を説明したが、これらの実施形態や変形例どうしを組み合わせて構成してももちろんよい。
また、本開示は上記の実施形態に何ら限定されるものではなく、本開示の要旨を逸脱しない範囲で種々の形態で実施することができる。
【符号の説明】
【０１０８】
１００…動作要件判定サーバ、１１１…情報収集部、１１２…情報記憶部、１１３…依頼受付部、１１４…判定用端末抽出部、１１５…動作要件判定部、１１６…動作要件応答部、２００…利用者端末、２０１…操作受付部、２０２…ユーザＩＤ記憶部、２０３…自端末情報収集部、２０４…調査依頼部、２０５…表示制御部
【図１】
2019053686.tif 000003
【図２】
2019053686.tif 000004
【図３】
2019053686.tif 000005
【図４】
2019053686.tif 000006
【図５】
2019053686.tif 000007
【図６】
2019053686.tif 000008
【図７】
2019053686.tif 000009
【図８】
2019053686.tif 000010
【図９】
2019053686.tif 000011
【図１０】
2019053686.tif 000012
【図１１−１】
2019053686.tif 000013
【図１１−２】
2019053686.tif 000014
【図１２】
2019053686.tif 000015
【図１３】
2019053686.tif 000016
【図１４】
2019053686.tif 000017
【図１５】
2019053686.tif 000018
【図１６】
2019053686.tif 000019
【図１７】
2019053686.tif 000020
【図１８】
2019053686.tif 000021