(58)【調査した分野】(Int.Cl.,DB名)
前記選択部は、前記第1の端末にインストールされた前記ソフトウェアの更新が成功したことの認識に応じて、前記複数の端末のうちの第3の端末を、当該第1の端末の構成と当該第3の端末の構成との類似度が予め定めた基準以上である場合に更に選択し、
前記指示部は、前記第3の端末にインストールされた前記ソフトウェアの更新を更に指示する、請求項1の装置。
前記選択部は、前記第2の端末及び前記第3の端末を、当該第2の端末の利用者と当該第3の端末の利用者との関連度が予め定めた条件を満たす場合に選択する、請求項3の装置。
前記選択部は、前記第2の端末及び前記第3の端末を、当該第2の端末の設置場所と当該第3の端末の設置場所との関連度が予め定めた条件を満たす場合に選択する、請求項3の装置。
前記複数の端末のうちの第3の端末にインストールされた前記ソフトウェアの更新が成功したことが認識された後に、前記複数の端末のうちの第4の端末にインストールされた前記ソフトウェアの更新が成功したことが認識されなかった場合に、当該第3の端末の構成と当該第4の端末の構成との差分を示す情報を生成する生成部を更に含む、請求項1の装置。
【背景技術】
【0002】
IT技術の発展に伴って多種多様なデバイスが企業等の組織でも用いられている。これにより、企業等の組織によるデバイス(エンドポイント)の管理の負担が急増していることから、エンドポイント管理製品が注目されている(例えば、非特許文献1参照)。
【0003】
一般に、エンドポイント管理製品は、エンドポイントに対する構成変更を行う機能を提供している。ここで、エンドポイントに対する構成変更とは、エンドポイントにおけるシステムやアプリケーションの構成変更のことであり、パッチ適用、アプリケーション導入等を含む。また、エンドポイント管理製品は、複数のエンドポイントに対してリモートから一括で構成変更を適用する機能も提供している。
【0004】
更に、エンドポイント管理製品では、構成変更の適用対象のエンドポイントを条件式等で指定できることが一般的である。具体的には、OSのバージョン、構成変更に関連するアプリケーションやパッチの適用状況、システムの構成(特定のレジストリの値等)を指定することで、適用対象のエンドポイントを選択することができる。
【0005】
このようにエンドポイント管理製品を用いてエンドポイントに構成変更を適用する場合、一般的には、次のような手法が採られる。即ち、システム部門等が、一般的な構成を有するエンドポイントの検証環境に対して事前に構成変更を適用する。そして、不具合が発生しないことを十分検証した上で、一般の利用者のエンドポイントに適用する。
【0006】
この他にも、ソフトウェアを複数の装置に共通してセットアップする技術は知られている(例えば、特許文献1参照)。
【0007】
特許文献1は、分析装置が、自装置にセットアップする共通ソフトウェアを決定し、共通ソフトウェアに対応する構成情報を記憶媒体から読み出し、自装置の構成情報と比較し、セットアップ作業実施済み装置のうち、同一構成装置又は類似構成装置を決定し、記憶媒体から同一構成装置又は類似構成装置に関するセットアップ結果情報を読み出し、共通ソフトウェアのセットアップ成否情報として出力する技術を開示する。
【0008】
また、異なるデータベース群に対する処理プログラムの共通化を行う技術も知られている(例えば、特許文献2参照)。
【0009】
特許文献2は、オペレーティングシステムが、設定情報を読みとり、いずれのデータベースに接続するかを決定し、コンパイラが、処理対象とするデータベースを明示していないデータベース処理プログラム(ソース形式)をコンパイルする際に、現在接続されているデータベースに記録されている環境情報の記述に基づいて、各ステップにおいて処理対象とするデータベースを特定し、このようにしてコンパイルされたデータベース処理プログラム(オブジェクト形式)が、データベース群に対して実行されるデータベースシステムを開示する。
【0010】
更に、様々なユーザPCと同等の計算機環境を構築する技術も知られている(例えば、特許文献3参照)。
【0011】
特許文献3は、ユーザが要求するユーザ環境情報DBに近い環境構成データの需要度を算出し、この需要度に基づいて実行端末上に実行環境を構築する環境構成データ作成部と、この実行環境を構築した実行端末から、ユーザ環境情報と環境類似度が近い環境構成データを有するものを選択する環境構成データ選択部とを有し、実行端末上に、少なくとも1つのオペレーティングシステムからなるソフトウェアリソースで構成される実行環境を構築する実行環境構築装置を開示する。
【発明を実施するための形態】
【0029】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【0030】
[本実施の形態の概要]
本実施の形態では、エンドポイント管理製品によって収集された複数のエンドポイントの構成情報を用いて、構成変更の事前検証に使用されたエンドポイントとそれ以外の各エンドポイントとの類似度を計算する。ここで、構成情報とは、例えば、OSの種類及びバージョン、パッチの適用状況、導入アプリケーション、ハードウェア構成、システムやアプリケーション等の構成値(レジストリ等)である。そして、類似度が高いエンドポイントから順に選出し、順次構成変更を適用していく。
【0031】
また、本実施の形態では、あるエンドポイント又はこれに類似する構成を有するエンドポイントからなるグループに対する構成変更の適用が成功した場合に、後続のエンドポイント又はグループに構成変更を適用していく。ここで、「構成変更の適用が成功する」とは、構成変更を適用できたことをいうものとしてもよいが、本実施の形態では、構成変更を適用した後、一定の動作評価期間内に不具合が発生しないことを確認できたことをいうものとする。
【0032】
その際、適用対象のエンドポイントの範囲の拡大速度を向上させるために、既に適用が成功した一部又は全部のエンドポイントを類似度計算のための新たな基準エンドポイントとして順次加えてもよい。そして、これらの基準エンドポイントとそれ以外の各エンドポイントとの類似度に基づいて、新たな適用対象のエンドポイントを決定するようにしてもよい。
【0033】
また、適用対象のエンドポイントは、エンドポイントの構成の類似度だけでなく、多次元的な指標に基づいて決定してもよい。この多次元的な指標には、エンドポイントの利用者間の関連度、エンドポイントの設置場所間の関連度、エンドポイントの利用者の優先度等がある。
【0034】
このうち、利用者間の関連度とは、例えば利用者が所属する組織間の距離(組織間距離)である。この組織間距離は、組織情報に基づいて得られる。具体的には、近い組織に所属する複数の利用者がそれぞれ利用する複数のエンドポイントには構成変更を同時適用しないようにすることが考えられる。これにより、万一不具合が生じた場合の業務への影響を最小限に抑えられる。また、SNS(Social Networking Service)上でつながっている複数の利用者がそれぞれ利用する複数のエンドポイントに優先的に構成変更を適用することも考えられる。
【0035】
また、設置場所間の関連度とは、例えば設置場所間の距離である。具体的には、通信回線への負荷を抑えるため、同一事業所内では同時に構成変更を適用するエンドポイントの数を制限することが考えらえる。
【0036】
更に、利用者の優先度とは、例えばITスキルレベルである。具体的には、ITスキルレベルの高い利用者が利用するエンドポイントに優先的に構成変更を適用し、その後にその周囲の利用者が利用するエンドポイントに構成変更を適用することが考えられる。この場合、ITスキルレベルの高い利用者は、レジストリエディタやシステムツール等の稼動実績に基づいて特定するとよい。
【0037】
また、多次元的な指標には、エンドポイントの使用時間や使用頻度、エンドポイントで動作する特定のアプリケーションの使用時間や使用頻度等も含めてよい。
【0038】
更に、本実施の形態では、あるエンドポイントに構成変更を適用した際に不具合が発生した場合に、その直前に適用に成功したエンドポイントとこの不具合を発生させたエンドポイントとの構成の差分を提示してもよい。これにより、構成変更の適用の失敗に関する問題の判別又は構成変更を適用する際の条件設定を支援するようにしてもよい。
【0039】
[本実施の形態におけるエンドポイント管理システムの機能構成]
図1は、本実施の形態におけるエンドポイント管理システムの機能構成例を示した図である。図示するように、このエンドポイント管理システムは、管理対象エンドポイント10a〜10cと、検証環境エンドポイント20と、エンドポイント管理サーバ30と、エンドポイント管理コンソール40と、資産情報サーバ50と、組織情報サーバ60とを含む。そして、エンドポイント管理サーバ30は、管理対象エンドポイント10a〜10cと検証環境エンドポイント20とエンドポイント管理コンソール40と資産情報サーバ50と組織情報サーバ60とに対して、LAN(Local Area Network)等の通信回線(図示せず)で接続されているものとする。尚、図では、管理対象エンドポイント10a〜10cを示したが、これらを区別する必要がない場合は、管理対象エンドポイント10と称する。また、図には、3つの管理対象エンドポイント10しか示していないが、一般的には、これよりも多い管理対象エンドポイント10が接続されているものとする。
【0040】
管理対象エンドポイント10は、このエンドポイント管理システムにおいて管理される対象のエンドポイントである。この管理対象エンドポイント10には、管理エージェント11が導入されており、管理エージェント11は、情報取得部12と、構成変更実行部13とを含む。情報取得部12は、ハードウェア、OS、アプリケーション、パッチ等の構成を示す構成情報と、ハードウェア、OS、アプリケーション等の稼働状況とを取得する。構成変更実行部13は、エンドポイント管理サーバ30からの指示を受けて、構成変更を適用する処理を実行する。ここで、管理対象エンドポイント10としては、デスクトップPC(Personal Computer)、ノートPC、タブレットPC、PDA(Personal Digital Assistants)、スマートフォン等を用いるとよい。
【0041】
検証環境エンドポイント20は、管理対象エンドポイント10に構成変更を適用する前に構成変更の適用が成功するかどうかを検証するための検証環境を有するエンドポイントである。この検証環境エンドポイント20には、管理エージェント21が導入されている。この管理エージェント21の構成は、管理対象エンドポイント10に導入されている管理エージェント11と同様であるので、詳しい説明は省略する。ここで、検証環境エンドポイント20としては、デスクトップPC、ノートPC、タブレットPC、PDA、スマートフォン等を用いるとよい。
【0042】
エンドポイント管理サーバ30は、エンドポイント管理製品がインストールされ、管理対象エンドポイント10に導入されている管理エージェント11及び検証環境エンドポイント20に導入されている管理エージェント21を制御しながら、エンドポイントの管理を行うサーバコンピュータである。より詳細な構成については、後述する。ここで、エンドポイント管理サーバ30としては、デスクトップPC等を用いるとよい。
【0043】
エンドポイント管理コンソール40は、システム管理者が、エンドポイント管理サーバ30に構成変更の適用を指示したり、エンドポイント管理サーバ30から情報の提示を受けたりする際に使用する入出力装置である。
【0044】
資産情報サーバ50は、このエンドポイント管理システムを有する企業等の組織が管理する資産に関する資産情報を保持するサーバコンピュータである。資産情報サーバ50は、エンドポイント管理サーバ30からの要求に応じて、エンドポイント管理サーバ30に資産情報を提供する。
【0045】
組織情報サーバ60は、このエンドポイント管理システムを有する企業等の組織における部門等の内部組織に関する組織情報を保持するサーバコンピュータである。組織情報サーバ60は、エンドポイント管理サーバ30からの要求に応じて、エンドポイント管理サーバ30に組織情報を提供する。
【0046】
ここで、エンドポイント管理サーバ30の機能構成について、詳細に説明する。図示するように、エンドポイント管理サーバ30は、情報収集部31と、構成情報DB32と、稼働状況DB33と、変更履歴DB34と、類似度算出部35と、適用対象決定部36と、構成変更指示部37とを備えている。
【0047】
情報収集部31は、管理エージェント11の情報取得部12から管理対象エンドポイント10の構成情報及び稼働状況を収集し、管理エージェント21の情報取得部22から検証環境エンドポイント20の構成情報及び稼働状況を収集する。また、管理エージェント11の構成変更実行部13から管理対象エンドポイント10に対する構成変更の適用結果を収集し、管理エージェント21の構成変更実行部23から検証環境エンドポイント20に対する構成変更の適用結果を収集する。そして、構成変更の適用が成功したかどうかを判定する。本実施の形態では、ソフトウェアの更新が成功したことを認識する認識部の一例として、情報収集部31を設けている。
【0048】
構成情報DB32は、情報収集部31が収集した構成情報を格納するデータベースである。構成情報DB32の具体的な内容については、後述する。
【0049】
稼働状況DB33は、情報収集部31が収集した稼働状況を格納するデータベースである。稼働状況DB33の具体的な内容については、後述する。
【0050】
変更履歴DB34は、情報収集部31が収集した変更履歴を格納するデータベースである。変更履歴DB34の具体的な内容については、後述する。
【0051】
類似度算出部35は、構成情報DB32、稼働状況DB33、及び変更履歴DB34に格納されたデータに基づいて、基準エンドポイントと各管理対象エンドポイント10との類似度を算出する。また、初期的には、検証環境エンドポイント20を基準エンドポイントに設定し、その後、必要に応じて、構成変更の適用が成功した管理対象エンドポイント10の何れかを基準エンドポイントに設定する。また、ある管理対象エンドポイント10に対する構成変更の適用が失敗した場合は、その管理対象エンドポイント10の構成とその直前に構成変更の適用が成功した管理対象エンドポイント10の構成との差分を抽出し、エンドポイント管理コンソール40へ出力する。本実施の形態では、差分を示す情報を生成する生成部の一例として、類似度算出部35を設けている。
【0052】
適用対象決定部36は、類似度算出部35により算出された類似度に基づいて、構成変更を適用する管理対象エンドポイント10を決定する。また、類似度だけでなく、エンドポイントの利用者間の関連度、エンドポイントの設置場所間の関連度、エンドポイントの利用者の優先度等の情報に基づいて、構成変更を適用する管理対象エンドポイント10を決定することもある。構成変更の適用対象として一度に決定する管理対象エンドポイント10の数は1つでもよいが、本実施の形態では、複数の管理対象エンドポイント10からなるグループを決定するものとする。本実施の形態では、端末を選択する選択部の一例として、適用対象決定部36を設けている。
【0053】
構成変更指示部37は、エンドポイント管理コンソール40からシステム管理者の指示を受けると、検証環境エンドポイント20に対する構成変更の適用の指示を管理エージェント21の構成変更実行部23に伝える。また、構成変更を適用する管理対象エンドポイント10が適用対象決定部36により決定されると、その管理対象エンドポイント10に対する構成変更の適用の指示を管理エージェント11の構成変更実行部13に伝える。本実施の形態では、ソフトウェアの更新を指示する指示部の一例として、構成変更指示部37を設けている。
【0054】
ここで、構成情報DB32に記憶される情報の内容について説明する。
図2(a)〜(c)は、構成情報DB32に記憶される情報の具体例を示した図である。
【0055】
図2(a)は、各エンドポイントの基本的な情報である基本情報を格納する基本情報テーブルである。図示するように、この基本情報テーブルは、エンドポイントIDと、最終更新日時と、型番と、メモリ容量と、HDD容量と、HDD空き容量と、OS情報とを含む。このうち、エンドポイントIDは、エンドポイントを識別する識別情報であり、OS情報は、エンドポイントが搭載するOSの種類及びバージョンを示す情報である。即ち、この基本情報テーブルは、各エンドポイントIDで識別されるエンドポイントがどのOSのどのバージョンを搭載しているかを管理するものである。例えば、1行目は、エンドポイント「PC001」が、Windows(登録商標)7 ServicePack1 日本語版を搭載していることを示している。
【0056】
図2(b)は、各エンドポイントにインストールされているアプリケーションに関する情報を格納するアプリケーション情報テーブルである。図示するように、このアプリケーション情報テーブルは、エンドポイントIDと、アプリケーション名と、バージョンと、カテゴリとを含む。即ち、このアプリケーション情報テーブルは、各エンドポイントIDで識別されるエンドポイントに各カテゴリのアプリケーションとしてどのアプリケーションのどのバージョンがインストールされているかを管理するものである。
【0057】
図2(c)は、各エンドポイントに搭載されているデバイスに関する情報を格納するデバイス情報テーブルである。図示するように、このデバイス情報テーブルは、エンドポイントIDと、デバイス名と、ドライババージョンと、カテゴリとを含む。即ち、このデバイス情報テーブルは、各エンドポイントIDで識別されるエンドポイントに各カテゴリのデバイスとしてどのデバイスのどのドライババージョンがインストールされているかを管理するものである。
【0058】
また、稼働状況DB33に記憶される情報の内容について説明する。
図3は、稼働状況DB33に記憶される情報の具体例を示した図である。図示するように、稼働状況DB33は、エンドポイントIDと、イベント発生日時と、対象と、状態とを含む。即ち、この稼働状況DB33は、各エンドポイントIDで識別されるエンドポイントにおいて、どのような対象に対してイベントが発生し、そのイベントの現在の状態がどうなっているかを管理するものである。
【0059】
更に、変更履歴DB34に記憶される情報の内容について説明する。
図4は、変更履歴DB34に記憶される情報の具体例を示した図である。図示するように、変更履歴DB34は、エンドポイントIDと、最終更新日時と、構成変更IDと、状態とを含む。このうち、構成変更IDは、構成変更を識別する識別情報である。この構成変更IDをキーとして外部のテーブルを参照することにより、構成変更の詳細情報を取得できるものとする。ここで、構成変更の詳細情報には、構成変更の緊急度、構成変更の適用条件等がある。また、状態は、構成変更を適用した後のエンドポイントの状態であり、「Success」、「Fail」、「In-Progress」の何れかが設定される。このうち、「Success」は、構成変更を適用した後、一定の評価期間を経過しても問題がない状態、つまり、構成変更の適用が成功した状態である。「Fail」は、構成変更を適用できなかった状態、又は、構成変更を適用した後、一定の評価期間中に問題が発生した状態、つまり、構成変更の適用に失敗した状態である。「In-Progress」は、構成変更を適用した後、問題が発生しないか評価中の状態である。即ち、この変更履歴DB34は、各エンドポイントIDで識別されるエンドポイントに対する構成変更の適用結果を管理するものである。
【0060】
[本実施の形態におけるエンドポイント管理サーバの動作]
次に、本実施の形態におけるエンドポイント管理サーバ30の動作について説明する。この動作に先立ち、エンドポイント管理サーバ30では、まず、情報収集部31が、管理エージェント11の情報取得部12が取得した管理対象エンドポイント10の構成情報及び稼働状況と、管理エージェント21の情報取得部22が取得した検証環境エンドポイント20の構成情報及び稼働状況とを収集し、構成情報を構成情報DB32に、稼働状況を稼働状況DB33にそれぞれ格納しておくものとする。また、情報収集部31は、管理エージェント11の構成変更実行部13が管理対象エンドポイント10に構成変更を適用した際の適用結果と、管理エージェント21の構成変更実行部23が検証環境エンドポイント20に構成変更を適用した際の適用結果とを収集し、これらをエンドポイントの構成の変更履歴として変更履歴DB34に格納しておくものとする。
【0061】
この状態で、システム管理者が、エンドポイント管理コンソール40を介して、エンドポイント管理サーバ30に、検証環境エンドポイント20に対する構成変更の適用を指示したとする。これにより、エンドポイント管理サーバ30の動作が開始する。
図5及び
図6は、この後のエンドポイント管理サーバ30の動作例を示したフローチャートである。
【0062】
エンドポイント管理サーバ30では、まず、
図5に示すように、構成変更指示部37が、管理エージェント21の構成変更実行部23に構成変更の適用の指示を伝える(ステップ301)。これにより、管理エージェント21では、構成変更実行部23が、検証環境エンドポイント20に構成変更を適用する。その際、システム管理者は、どのエンドポイントを検証環境エンドポイント20とするかを、エンドポイントIDによって指定し、どの構成変更を適用するかを構成変更IDによって指定するものとする。すると、そのエンドポイントID及び構成変更IDは、構成変更指示部37から情報収集部31へと渡される。
【0063】
その後、情報収集部31は、管理エージェント21の構成変更実行部23から、検証環境エンドポイント20に対する構成変更の適用結果を収集し、変更履歴DB34に格納する(ステップ302)。具体的には、エンドポイントIDと構成変更IDと適用後の状態とを変更履歴DB34に格納する。或いは、その際、エンドポイント管理コンソール40を介して、適用結果をシステム管理者に通知してもよい。
【0064】
このように、構成変更の適用結果を収集すると、情報収集部31は、検証環境エンドポイント20に対する構成変更の適用が成功したかどうかを判定する(ステップ303)。その結果、検証環境エンドポイント20に対する構成変更の適用が成功していないと判定されれば、処理は終了する。一方、検証環境エンドポイント20に対する構成変更の適用が成功したと判定されれば、処理は、同様の構成変更の適用を全ての管理対象エンドポイント10に適用する処理へ進む。その際、構成変更指示部37から情報収集部31へと渡されたエンドポイントID及び構成変更IDは、更に類似度算出部35へと渡される。
【0065】
すると、類似度算出部35は、このエンドポイントID、つまり、検証環境エンドポイント20のエンドポイントIDを類似度算出の基準となる基準エンドポイントのエンドポイントIDとして設定する(ステップ304)。或いは、システム管理者が、エンドポイント管理コンソール40を介して通知された構成変更の適用結果を確認し、エンドポイント管理コンソール40を介して、同様の構成変更の適用を全ての管理対象エンドポイント10に適用することを指示してもよい。その際、システム管理者は、検証環境エンドポイント20のエンドポイントIDを類似度算出の基準となる基準エンドポイントのエンドポイントIDとして指定し、検証環境エンドポイント20に適用した構成変更の構成変更IDを全ての管理対象エンドポイント10に適用する構成変更の構成変更IDとして指定する。
【0066】
これにより、エンドポイント管理サーバ30では、
図6に示すように、類似度算出部35が、構成情報DB32、稼働状況DB33、及び変更履歴DB34に格納されたデータに基づいて、基準エンドポイントと各管理対象エンドポイント10との類似度を算出する(ステップ321)。尚、1回目の動作において、基準エンドポイントは、検証環境エンドポイント20のみである。また、このとき、算出した類似度は、図示しない類似度DBに格納してもよい。類似度の算出方法の詳細については、後述する。
【0067】
次に、類似度算出部35により算出された類似度に基づいて、適用対象決定部36が、構成変更を適用する管理対象エンドポイント10を決定する(ステップ322)。その際、適用対象決定部36は、基本的には、最も高い類似度が算出された管理対象エンドポイント10からなるグループを適用対象に決定するものとする。例えば、類似度が高い方から予め定めた個数の管理対象エンドポイント10を選択してこれらを含むグループを適用対象に決定するとよい。また、類似度が予め定めた値以上の管理対象エンドポイント10を選択してこれらを含むグループを適用対象に決定してもよい。
【0068】
或いは、適用対象決定部36は、類似度だけでなく、管理対象エンドポイント10の利用者やその利用者が所属する組織等の付加的な情報を参照して、適用対象を決定してもよい。この付加的な情報は、例えば、資産情報サーバ50が保持する資産情報や組織情報サーバ60が保持する組織情報に含まれるので、これらの情報を参照すればよい。適用対象の決定方法の詳細についても、後述する。このように適用対象が決定されると、適用対象は構成変更指示部37に通知される。具体的には、適用対象に決定された管理対象エンドポイント10のエンドポイントIDが構成変更指示部37に通知される。また、適用する構成変更の構成変更IDも、類似度算出部35から適用対象決定部36へと伝えられ、更に構成変更指示部37へと伝えられる。
【0069】
これにより、構成変更指示部37は、適用対象決定部36により適用対象に決定された管理対象エンドポイント10で動作する管理エージェント11の構成変更実行部13に構成変更の適用の指示を伝える(ステップ323)。これにより、管理エージェント11では、構成変更実行部13が、管理対象エンドポイント10に構成変更を適用する。その際、適用対象に決定された管理対象エンドポイント10のエンドポイントID及び構成変更の構成変更IDは、構成変更指示部37から情報収集部31へと渡される。
【0070】
その後、情報収集部31は、管理エージェント11の構成変更実行部13から、管理対象エンドポイント10に対する構成変更の適用結果を収集し、変更履歴DB34に格納する(ステップ324)。具体的には、エンドポイントIDと構成変更IDと適用後の状態とを変更履歴DB34に格納する。
【0071】
このように、構成変更の適用結果を収集すると、情報収集部31は、管理対象エンドポイント10に対する構成変更の適用が成功したかどうかを判定する(ステップ325)。
【0072】
その結果、管理対象エンドポイント10に対する構成変更の適用が成功したと判定されれば、類似度算出部35が、変更履歴DB34を参照して、構成変更を適用していないエンドポイントがあるかどうかを判定する(ステップ326)。
【0073】
そして、構成変更を適用していないエンドポイントがあると判定されれば、類似度算出部35は、類似度算出の基準となる追加の基準エンドポイントを設定する(ステップ327)。但し、このステップ327は、必須ではなく、必要に応じて実行すればよい。即ち、構成変更の適用が成功した管理対象エンドポイント10の中でそれまで設定されている基準エンドポイントの構成となるべく類似しない構成を有する管理対象エンドポイント10があれば、この管理対象エンドポイント10を追加の基準エンドポイントに設定すればよい。このようにステップ326で構成変更を適用していないエンドポイントがあると判定された場合、又は、ステップ327で追加の基準エンドポイントを設定した後、ステップ321以降の処理が繰り返される。即ち、類似度算出部35が、基準エンドポイントが追加された後の複数の基準エンドポイントの各々と基準エンドポイント以外の各エンドポイントとの類似度を算出し、適用対象決定部36が、次に類似度が高いエンドポイントを構成変更の適用対象として決定し、情報収集部31が、その構成変更の適用結果を収集する。
【0074】
一方、ステップ325で管理対象エンドポイント10に対する構成変更の適用が失敗したと判定されたとする。これは、ステップ322で決定されたグループに属する管理対象エンドポイント10のうち、何れかの管理対象エンドポイント10に対する構成変更の適用が失敗したと判定されたことを意味する。このように判定された場合は、まず、構成変更指示部37が、その管理対象エンドポイント10を構成変更の適用前の状態に戻す(ステップ328)。具体的には、構成変更の適用が失敗した管理対象エンドポイント10のエンドポイントIDが情報収集部31から構成変更指示部37へと渡される。そして、構成変更指示部37が、このエンドポイントIDで特定される管理対象エンドポイント10の状態を元に戻す。
【0075】
また、この場合は、次に、類似度算出部35が、その管理対象エンドポイント10の構成とその直前に構成変更の適用が成功した管理対象エンドポイント10の構成との差分を抽出する(ステップ329)。具体的には、構成変更の適用が失敗した管理対象エンドポイント10のエンドポイントIDが情報収集部31から構成変更指示部37へと渡される。そして、類似度算出部35が、このエンドポイントIDで特定される管理対象エンドポイント10の構成とその直前に構成変更の適用が成功した管理対象エンドポイント10の構成との差分を抽出する。ここで、直前に構成変更の適用が成功した管理対象エンドポイント10とは、直近のステップ323で同時に構成変更を適用したグループに属するエンドポイントのうち、直前に構成変更の適用が成功した管理対象エンドポイント10とすればよい。
【0076】
これにより、類似度算出部35は、抽出した差分を、エンドポイント管理コンソール40を介して、システム管理者に提示する(ステップ330)。
【0077】
また、ステップ326で構成変更を適用していないエンドポイントがないと判定されれば、処理は終了する。
【0078】
尚、本実施の形態では、構成変更を適用していないエンドポイントがある限り、類似度を算出して適用対象を決定する処理を行ったが、この限りではない。この処理を行うことが必要となる類似度の最小値を指定しておき、その最小値以上の類似度を持つエンドポイントがなくなった時点で、処理を終了するようにしてもよい。
【0079】
ここで、類似度算出部35における類似度算出方法について、詳細に説明する。
【0080】
第1の類似度算出方法は、類似度を算出する対象のエンドポイントの各構成要素の項目の一致及び不一致に基づいて相関を算出し、これをエンドポイントの構成の類似度とする方法である。ここで、エンドポイントの構成要素としては、例えば、ハードウェア、OS、アプリケーション、適用パッチ、それぞれのバージョン、レジストリの設定項目等がある。
【0081】
図7は、この第1の類似度算出方法について具体的に説明するための図である。
【0082】
この第1の算出方法を採用する場合、まず、類似度算出部35は、エンドポイントを構成する構成要素の項目を種類別に取得する。図では、OSについて、OSの種類、OSのバージョン、サービスパックの有無及びバージョン、言語を取得している。また、エンドポイントに適用されている構成変更を識別する構成変更IDと、エンドポイントにインストールされているアプリケーションの名称及びバージョンからなるアプリケーション情報と、エンドポイントに搭載されているデバイスの名称であるデバイス名とを取得している。
【0083】
次に、類似度算出部35は、類似度を算出する対象の2台のエンドポイントについて、構成要素ごとに一致する項目の割合を算出する。図では、2台のエンドポイントとして「PC001」、「PC002」を例示している。そして、構成要素ごとに一致する項目の数を割合における分子とする。図では、一致する項目をチェックマークで示し、一致しない項目をクロスマークで示している。つまり、構成要素ごとにチェックマークの数が分子となる。また、割合における分母は次のようにして決める。即ち、OSについては、項目数が決まっているため、項目数を割合における分母とする。また、他の構成要素については、列挙された項目の和集合の要素の数を、割合における分母とする。図では、OSについては、チェックマーク数が「2」、項目数が「4」なので、類似度は「2/4」となっている。構成変更IDについては、チェックマーク数が「3」、項目の和集合の要素の数が「6」なので、類似度は「3/6」となっている。アプリケーション情報については、チェックマーク数が「2」、項目の和集合の要素の数が「5」なので、類似度は「2/5」となっている。デバイス名については、チェックマーク数が「1」、項目の和集合の要素の数が「5」なので、類似度は「1/5」となっている。
【0084】
最後に、類似度算出部35は、構成要素ごとの類似度の平均をとり、これを2台のエンドポイントの構成の類似度とする。図では、「2/4」と「3/6」と「2/5」と「1/5」の平均をとるので、2台のエンドポイントの構成の類似度は0.4(=1.6/4)となる。
【0085】
第2の類似度算出方法は、構成要素ごとに項目間又は項目の組み合わせ間の類似度を定義したテーブルを用いて、重み付けした類似度の総和を算出し、これをエンドポイントの構成の類似度とする方法である。
【0086】
図8(a),(b)は、この第2の類似度算出方法について具体的に説明するための図である。項目間又は項目の組み合わせ間の類似度を項目の重みを考慮した類似度とする場合には、構成要素ごとに項目の組み合わせ間の類似度又は項目が一致した場合の類似度を定義するテーブルを用意しておく。
【0087】
図8(a)は、OS類似度テーブルの例を示した図である。OS1の項目の組み合わせとOS2の項目の組み合わせとが完全に一致する場合の類似度を「1」とし、OS1の項目の組み合わせとOS2の項目の組み合わせとがどの程度一致するかを示す類似度を定義している。類似度算出部35は、類似度を算出する対象の2台のエンドポイントのOSの組み合わせと合致する行の類似度を、OSの類似度とする。
【0088】
図8(b)は、構成変更類似度テーブルの例を示した図である。類似度算出部35は、類似度を算出する対象の2台のエンドポイント間で共通に適用されている全ての構成変更についてのそれらの構成変更に対する類似度の総和を、構成変更の類似度とする。また、アプリケーション情報及びデバイス名についても、同様の類似度テーブルを用意し、類似度を算出する対象の2台のエンドポイント間で共通の項目についてのそれらの項目に対する類似度の総和を、それぞれの類似度とすればよい。
【0089】
第3の類似度算出方法は、適用しようとしている構成変更との関連度によって、構成要素ごとの項目間又は項目の組み合わせ間の類似度を定義しておき、その定義に基づいて、重み付けした類似度の総和を算出し、これをエンドポイントの構成の類似度とする方法である。
【0090】
図8(a),(b)に示したようなテーブルを、適用する構成変更ごとに用意し、適用する構成変更に関連する項目に対する類似度が高くなるように設定する場合が、これに相当する。
【0091】
また、適用対象決定部36における適用対象決定方法について、詳細に説明する。ここでは、適用対象決定部36が、エンドポイントの構成の類似度に加え、組織間距離を考慮して、適用対象を決定するものとする。組織間距離を考慮した適用対象決定方法としては、次のようなものが考えられる。
【0092】
第1の適用対象決定方法は、同じ又は近い組織内のエンドポイントに優先的に構成変更を適用する方法である。この第1の適用対象決定方法を採用する場合、まず、適用対象決定部36は、基準エンドポイントからの組織間距離ごとにエンドポイントをグループ分けする。次に、適用対象決定部36は、予め定めた距離よりも小さい組織間距離に対するグループの中から、基準エンドポイントとの類似度が高い順にエンドポイントを選択して構成変更を適用していく。
【0093】
第2の適用対象決定方法は、同じ又は近い組織内のエンドポイントに同時に構成変更が適用されるのを避けるための方法である。この第2の適用対象決定方法を採用する場合も、まず、適用対象決定部36は、基準エンドポイントからの組織間距離ごとにエンドポイントをグループ分けする。そして、最も大きい組織間距離に対するグループの中から、基準エンドポイントとの類似度が最も高いエンドポイントを選択して構成変更を適用する。次に、適用対象決定部36は、最初の基準エンドポイントからの組織間距離と直前に選択されたエンドポイントからの組織間距離との和ごとにエンドポイントをグループ分けする。そして、最も大きい組織間距離の和に対するグループの中から、基準エンドポイントとの類似度が最も高いエンドポイントを選択して構成変更を適用する。その後、適用対象決定部36は、同様の処理を繰り返す。
【0094】
図9(a),(b)は、上記の適用対象決定方法において用いる組織間距離の算出方法について具体的に説明するための図である。このうち、
図9(a)は、資産情報サーバ50が保持する資産情報の一例を示したものである。また、
図9(b)は、組織情報サーバ60が保持する組織情報の一例を示したものである。尚、
図9(b)は、組織をツリー構造で表したものなので、各利用者に対応するノードを「利用者ノード」と呼ぶものとする。また、一般に「上位ノード」と呼ばれるノードを「上司ノード」と呼び、一般に「下位ノード」と呼ばれるノードを「部下ノード」と呼ぶものとする。
【0095】
まず、適用対象決定部36は、
図9(a)の資産情報を参照して、組織間距離を算出する対象の2台のエンドポイントのエンドポイントIDからこれらのエンドポイントをそれぞれ利用する2人の利用者の利用者IDを求める。
【0096】
次に、適用対象決定部36は、
図9(b)の組織情報を参照して、2つの利用者IDに対応する2つの利用者ノードに共通する上司ノードの中で最も下位の上司ノードである直近共通上司ノードを求める。但し、2つの利用者ノードのうち、一方の利用者ノードが他方の利用者ノードの部下ノードになっている場合は、後者の利用者ノードを直近共通上司ノードとする。
【0097】
次いで、適用対象決定部36は、
図9(b)の組織情報を参照して、2つの利用者ノードから直近共通上司ノードまでの距離をそれぞれ求める。そして、ここで求めた2つの距離のうちの大きい方の距離を組織間距離とする。
【0098】
例えば、
図9(a)の資産情報及び
図9(b)の組織情報が保持されている場合に、エンドポイント「PC001」とエンドポイント「PC005」との組織間距離を算出する場合を考える。この場合、まず、適用対象決定部36は、
図9(a)の資産情報を参照して、エンドポイント「PC001」から利用者「EMP111」を特定し、エンドポイント「PC005」から利用者「EMP220」を特定する。次に、適用対象決定部36は、
図9(b)の組織情報を参照して、直近共通上司ノード「EMP000」を求める。次いで、適用対象決定部36は、利用者ノード「EMP111」から直近共通上司ノード「EMP000」までの距離として「3」を求め、利用者ノード「EMP220」から直近共通上司ノード「EMP000」までの距離として「2」を求める。そして、最後に、適用対象決定部36は、max(3,2)により、組織間距離「3」を算出する。
【0099】
このように、本実施の形態では、エンドポイントの構成の類似度を考慮して順次構成変更を適用していき、不具合が発生した場合には構成変更を自動的に停止するようにした。これにより、事前検証時に発見できなかった不具合が不特定多数のエンドポイント上で同時発生することを防止することができ、業務停止等の影響を最小限に抑えることが可能となった。
【0100】
また、本実施の形態では、基準エンドポイントと構成の類似度が高いエンドポイントから順次構成変更を適用していくようにした。これにより、万一あるエンドポイントで不具合が発生したとしても、そのエンドポイントの構成と直前に構成変更が成功したエンドポイントの構成との差分は小さくなるため、問題判別作業が容易になった。
【0101】
[本実施の形態におけるエンドポイント管理サーバのハードウェア構成]
図10は、本実施の形態におけるエンドポイント管理サーバ30のハードウェア構成例を示した図である。図示するように、エンドポイント管理サーバ30は、演算手段であるCPU(Central Processing Unit)30aと、M/B(マザーボード)チップセット30bを介してCPU30aに接続されたメインメモリ30cと、同じくM/Bチップセット30bを介してCPU30aに接続された表示機構30dとを備える。また、M/Bチップセット30bには、ブリッジ回路30eを介して、ネットワークインターフェイス30fと、磁気ディスク装置(HDD)30gと、音声機構30hと、キーボード/マウス30iと、光学ドライブ30jとが接続されている。
【0102】
尚、
図10において、各構成要素は、バスを介して接続される。例えば、CPU30aとM/Bチップセット30bの間や、M/Bチップセット30bとメインメモリ30cの間は、CPUバスを介して接続される。また、M/Bチップセット30bと表示機構30dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構30dがPCI Express対応のビデオカードを含む場合、M/Bチップセット30bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路30eと接続する場合、ネットワークインターフェイス30fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置30gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス30i、及び、光学ドライブ30jについては、USB(Universal Serial Bus)を用いることができる。
【0103】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
【0104】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。