(57)【要約】【課題】複数のクライアントをグループ化でき、グループ内では一斉にソフトウェアの設定を変更可能にする。【解決手段】プロファイル更新手段１ｃは、クライアント２ａから変更通知を受信すると、プロファイル記憶手段１ａに記憶されたクライアント２ａに対応するプロファイルを更新する。同期対象判定手段１ｄは、プロファイルの更新を検知すると、グループ情報記憶手段１ｂを参照し、クライアント２ａと同一グループに属する他のクライアント２ｂ，２ｃを同期対象と判定する。同期指示手段１ｅは、判定されたクライアント２ｂ，２ｃに対して、プロファイルの更新内容を反映させるべき旨の同期通知を送信すると共に、クライアント２ｂ，２ｃに対応するプロファイルを更新する。【選択図】図１
2008065409.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアントに搭載されたソフトウェアをネットワークを介して管理するソフトウェア管理プログラムにおいて、
コンピュータを、
前記クライアント毎に、前記クライアントに搭載されたソフトウェアの設定情報を含むプロファイルを記憶するプロファイル記憶手段、
１つ以上の前記クライアントから構成されるグループを定義したグループ情報を記憶するグループ情報記憶手段、
前記クライアントからソフトウェアの設定が変更された旨の変更通知を受信すると、前記変更通知に従って、前記プロファイル記憶手段に記憶された前記変更通知の送信元に対応する前記プロファイルを更新するプロファイル更新手段、
前記プロファイル記憶手段に記憶された前記プロファイルの更新を検知すると、前記グループ情報記憶手段を参照し、前記プロファイルが更新された前記クライアントと同一グループに属する他の前記クライアントを同期対象と判定する同期対象判定手段、
前記同期対象判定手段で判定された前記クライアントに対して、前記プロファイルの更新内容を反映させるべき旨の同期通知を送信すると共に、前記同期通知に従って、前記プロファイル記憶手段に記憶された前記同期通知の送信先に対応する前記プロファイルを更新する同期指示手段、
として機能させることを特徴とするソフトウェア管理プログラム。
【請求項２】
前記同期指示手段は、前記クライアントから前記同期通知に対する確認応答を受信した後に、前記プロファイルの更新を行う、
ことを特徴とする請求項１記載のソフトウェア管理プログラム。
【請求項３】
前記同期指示手段は、前記クライアントとの通信に失敗した場合、前記クライアントを継続的に監視し、通信が可能になったことを検知すると前記同期通知を再送信する、
ことを特徴とする請求項２記載のソフトウェア管理プログラム。
【請求項４】
前記同期指示手段は、受信した前記確認応答に前記同期通知で指示した設定変更の少なくとも一部を拒否する旨の拒否通知が含まれている場合、前記プロファイルの前記拒否通知に対応する設定情報の更新を行わず、所定の表示装置に同期失敗報告を表示する、
ことを特徴とする請求項２記載のソフトウェア管理プログラム。
【請求項５】
前記同期指示手段は、受信した前記確認応答に前記同期通知で指示した設定変更の少なくとも一部を拒否する旨の拒否通知が含まれている場合、前記プロファイルの前記拒否通知に対応する設定情報の更新を行わず、前記プロファイルに設定変更が拒否されたこと示す拒否履歴情報を付加し、
前記同期対象判定手段は、判定した前記クライアントに対応する前記プロファイルに前記拒否履歴情報が付加されている場合、前記拒否履歴情報で示される設定変更と同一種類の設定変更に関しては、前記クライアントを同期対象から除外する、
ことを特徴とする請求項２記載のソフトウェア管理プログラム。
【請求項６】
前記コンピュータを、さらに、
ソフトウェアの種類毎に、前記プロファイルに設定情報として記載すべき設定項目の一覧を示す項目リストを記憶する項目リスト記憶手段、
前記クライアントから前記クライアントに搭載されているソフトウェアを示す情報を含む登録要求を受信すると、前記項目リスト記憶手段を参照して、前記登録要求で示されるソフトウェアに対応する前記項目リストを前記クライアントに返信し、その後前記クライアントから前記項目リストに対応する設定情報を受信すると、受信した設定情報を用いて前記プロファイルを作成し前記プロファイル記憶手段に記憶するプロファイル登録手段、
として機能させることを特徴とする請求項１記載のソフトウェア管理プログラム。
【請求項７】
前記コンピュータを、さらに、
ソフトウェアの実行に必要なファイルを記憶するファイル記憶手段、
として機能させ、
前記同期指示手段は、前記同期通知で指示した設定変更が前記ファイルの追加を必要とする場合、前記ファイル記憶手段から追加すべき前記ファイルを取得し前記同期通知と併せて送信する、
ことを特徴とする請求項１記載のソフトウェア管理プログラム。
【請求項８】
前記ファイル記憶手段は、前記ファイルを必要とするソフトウェアのライセンス情報をさらに記憶し、
前記同期指示手段は、前記ファイル記憶手段から前記ファイルを取得する際に前記ライセンス情報を参照し、前記同期通知の送信先での前記ファイルの追加がライセンスに反しない場合のみ、前記ファイルを前記同期通知と併せて送信する、
ことを特徴とする請求項７記載のソフトウェア管理プログラム。
【請求項９】
複数のクライアントに搭載されたソフトウェアをネットワークを介して管理するソフトウェア管理方法において、
プロファイル更新手段が、前記クライアントからソフトウェアの設定が変更された旨の変更通知を受信すると、前記クライアント毎にプロファイル記憶手段に記憶されている前記クライアントに搭載されたソフトウェアの設定情報を含むプロファイルのうち、前記変更通知の送信元に対応する前記プロファイルを前記変更通知に従って更新し、
前記同期対象判定手段が、前記プロファイル記憶手段に記憶された前記プロファイルの更新を検知すると、１つ以上の前記クライアントから構成されるグループを定義したグループ情報を記憶するグループ情報記憶手段を参照して、前記プロファイルが更新された前記クライアントと同一グループに属する他の前記クライアントを同期対象と判定し、
同期指示手段が、前記同期対象判定手段で判定された前記クライアントに対して、前記プロファイルの更新内容を反映させるべき旨の同期通知を送信すると共に、前記同期通知に従って、前記プロファイル記憶手段に記憶された前記同期通知の送信先に対応する前記プロファイルを更新する、
ことを特徴とするソフトウェア管理方法。
【請求項１０】
複数のクライアントに搭載されたソフトウェアをネットワークを介して管理するソフトウェア管理装置において、
前記クライアント毎に、前記クライアントに搭載されたソフトウェアの設定情報を含むプロファイルを記憶するプロファイル記憶手段と、
１つ以上の前記クライアントから構成されるグループを定義したグループ情報を記憶するグループ情報記憶手段と、
前記クライアントからソフトウェアの設定が変更された旨の変更通知を受信すると、前記変更通知に従って、前記プロファイル記憶手段に記憶された前記変更通知の送信元に対応する前記プロファイルを更新するプロファイル更新手段と、
前記プロファイル記憶手段に記憶された前記プロファイルの更新を検知すると、前記グループ情報記憶手段を参照して、前記プロファイルが更新された前記クライアントと同一グループに属する他の前記クライアントを同期対象と判定する同期対象判定手段と、
前記同期対象判定手段で判定された前記クライアントに対して、前記プロファイルの更新内容を反映させるべき旨の同期通知を送信すると共に、前記同期通知に従って、前記プロファイル記憶手段に記憶された前記同期通知の送信先に対応する前記プロファイルを更新する同期指示手段と、
を有することを特徴とするソフトウェア管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置に関し、特に複数のクライアントに搭載されたソフトウェアをネットワークを介して管理するソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置に関する。
【背景技術】
【０００２】
現在、コンピュータの小型化・低廉化が進むに伴い、１人で複数のコンピュータを使用することが多くなっている。例えば、屋内ではデスクトップ型コンピュータを使用し、屋外では持ち運び可能なラップトップ型コンピュータやＰＤＡ（Personal Digital Assistant）を使用するなど、場所や用途に合わせてコンピュータを使い分けることが行われている。また、複数のコンピュータを同時に使用することで、複数の処理を並列に実行させることも行われている。
【０００３】
ここで、複数のコンピュータに同一種類のソフトウェアをインストールし、いずれのコンピュータでも同様の処理を実行できるようにする場合がある。例えば、デスクトップ型コンピュータとラップトップ型コンピュータとの両方に電子メール送受信ソフトウェアをインストールし、いずれのコンピュータでも電子メールを送受信できるようにする場合がある。しかし、このように複数のコンピュータに同一種類のソフトウェアをインストールすると、ソフトウェアの設定を変更する場合に、すべてのコンピュータについて手作業で設定変更の作業を行う必要があり、作業負担が大きいという問題があった。例えば、電子メールのメールアドレスが変わった場合、電子メール送受信ソフトウェアをインストールしたすべてのコンピュータについて、手作業でメールアドレスの設定を変更する必要があった。
【０００４】
そこで、管理対象である複数のコンピュータ（以下、クライアントという）をサーバコンピュータ（以下、サーバという）とネットワークで接続し、サーバでソフトウェアの設定情報を一括管理する方法が知られている（例えば、特許文献１，２参照）。この方法では、サーバに最新の設定情報を格納しておく。クライアントは、起動時などにサーバから設定情報を取得し適用する。これにより、複数のコンピュータのソフトウェアの設定を容易に揃えることができ、設定変更の作業負担を大きく軽減することができる。
【特許文献１】特開平５−２９８２２３号公報
【特許文献２】特開２００１−３４５８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１，２記載の技術では、複数のクライアントを同時に使用する使用方法を考慮しておらず、柔軟性に欠けるという問題があった。その理由は以下の通りである。
【０００６】
第１に、複数のクライアントを同時に使用する場面では、クライアント間で役割分担を決めて使用することが多く、意図的にソフトウェアの設定に差異を設ける場合も多い。従って、すべてのクライアントに対して自動的に同一の設定情報を適用することは好ましくない。一方、上記技術では、どのクライアントにどの設定情報を適用するかを柔軟に決定することができない。
【０００７】
第２に、複数のクライアントを同時に使用する場面では、特定のクライアント間で一斉に設定の変更を行いたい場合がある。例えば、２つのクライアントを用いて並列処理を行う場合、この２つのクライアントの設定を同時に変更したい場合がある。一方、上記技術では、サーバに格納された設定情報をクライアントが能動的に取得する必要があり、所望のタイミングで一斉に設定の変更を行うことができない。
【０００８】
本発明はこのような点に鑑みてなされたものであり、複数のクライアントをグループ化でき、グループ内では一斉に設定を変更可能なソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では上記課題を解決するために、図１に示すようなソフトウェア管理プログラムが提供される。本発明に係るソフトウェア管理プログラムは、複数のクライアントに搭載されたソフトウェアをネットワークを介して管理するものである。このソフトウェア管理プログラムを実行するコンピュータ１は、プロファイル記憶手段１ａ、グループ情報記憶手段１ｂ、プロファイル更新手段１ｃ、同期対象判定手段１ｄおよび同期指示手段１ｅを有する。プロファイル記憶手段１ａは、クライアント２ａ，２ｂ，２ｃ毎に、クライアント２ａ，２ｂ，２ｃに搭載されたソフトウェアの設定情報を含むプロファイルを記憶する。グループ情報記憶手段１ｂは、１つ以上のクライアント２ａ，２ｂ，２ｃから構成されるグループを定義したグループ情報を記憶する。プロファイル更新手段１ｃは、クライアント２ａからソフトウェアの設定が変更された旨の変更通知を受信すると、変更通知に従って、プロファイル記憶手段１ａに記憶された変更通知の送信元に対応するプロファイルを更新する。同期対象判定手段１ｄは、プロファイル記憶手段１ａに記憶されたプロファイルの更新を検知すると、グループ情報記憶手段１ｂを参照し、プロファイルが更新されたクライアント２ａと同一グループに属する他のクライアント２ｂ，２ｃを同期対象と判定する。同期指示手段１ｅは、同期対象判定手段１ｄで判定されたクライアント２ｂ，２ｃに対して、プロファイルの更新内容を反映させるべき旨の同期通知を送信すると共に、同期通知に従って、プロファイル記憶手段１ａに記憶された同期通知の送信先に対応するプロファイルを更新する。
【００１０】
このようなソフトウェア管理プログラムを実行するコンピュータ１によれば、プロファイル更新手段１ｃにより、クライアント２ａからの変更通知が受信され、クライアント２ａに対応するプロファイルが更新される。次に、同期対象判定手段１ｄにより、プロファイルの更新が検知され、クライアント２ａと同一グループに属する他のクライアント２ｂ，２ｃが同期対象と判定される。そして、同期指示手段１ｅにより、判定されたクライアント２ｂ，２ｃに対して、プロファイルの更新内容を反映させるべき旨の同期通知が送信されると共に、クライアント２ｂ，２ｃに対応するプロファイルが更新される。
【００１１】
また、上記課題を解決するために、複数のクライアントに搭載されたソフトウェアをネットワークを介して管理するソフトウェア管理方法において、プロファイル更新手段が、前記クライアントからソフトウェアの設定が変更された旨の変更通知を受信すると、前記クライアント毎にプロファイル記憶手段に記憶されている前記クライアントに搭載されたソフトウェアの設定情報を含むプロファイルのうち、前記変更通知の送信元に対応する前記プロファイルを前記変更通知に従って更新し、前記同期対象判定手段が、前記プロファイル記憶手段に記憶された前記プロファイルの更新を検知すると、１つ以上の前記クライアントから構成されるグループを定義したグループ情報を記憶するグループ情報記憶手段を参照して、前記プロファイルが更新された前記クライアントと同一グループに属する他の前記クライアントを同期対象と判定し、同期指示手段が、前記同期対象判定手段で判定された前記クライアントに対して、前記プロファイルの更新内容を反映させるべき旨の同期通知を送信すると共に、前記同期通知に従って、前記プロファイル記憶手段に記憶された前記同期通知の送信先に対応する前記プロファイルを更新する、ことを特徴とするソフトウェア管理方法が提供される。
【００１２】
このようなソフトウェア管理方法によれば、まず、クライアントからの変更通知が受信され、変更通知の送信元に対応するプロファイルが更新される。次に、プロファイルの更新が検知され、プロファイルが更新されたクライアントと同一グループに属する他のクライアントが同期対象と判定される。そして、判定されたクライアントに対して、プロファイルの更新内容を反映させるべき旨の同期通知が送信される共に、同期通知の送信先に対応するプロファイルが更新される。
【００１３】
また、上記課題を解決するために、複数のクライアントに搭載されたソフトウェアをネットワークを介して管理するソフトウェア管理装置において、前記クライアント毎に、前記クライアントに搭載されたソフトウェアの設定情報を含むプロファイルを記憶するプロファイル記憶手段と、１つ以上の前記クライアントから構成されるグループを定義したグループ情報を記憶するグループ情報記憶手段と、前記クライアントからソフトウェアの設定が変更された旨の変更通知を受信すると、前記変更通知に従って、前記プロファイル記憶手段に記憶された前記変更通知の送信元に対応する前記プロファイルを更新するプロファイル更新手段と、前記プロファイル記憶手段に記憶された前記プロファイルの更新を検知すると、前記グループ情報記憶手段を参照して、前記プロファイルが更新された前記クライアントと同一グループに属する他の前記クライアントを同期対象と判定する同期対象判定手段と、前記同期対象判定手段で判定された前記クライアントに対して、前記プロファイルの更新内容を反映させるべき旨の同期通知を送信すると共に、前記同期通知に従って、前記プロファイル記憶手段に記憶された前記同期通知の送信先に対応する前記プロファイルを更新する同期指示手段と、を有することを特徴とするソフトウェア管理装置が提供される。
【００１４】
このようなソフトウェア管理装置によれば、プロファイル更新手段により、クライアントからの変更通知が受信され、変更通知の送信元に対応するプロファイルが更新される。次に、同期対象判定手段により、プロファイルの更新が検知され、プロファイルが更新されたクライアントと同一グループに属する他のクライアントが同期対象と判定される。そして、同期指示手段により、判定されたクライアントに対して、プロファイルの更新内容を反映させるべき旨の同期通知が送信されると共に、同期通知の送信先に対応するプロファイルが更新される。
【発明の効果】
【００１５】
本発明では、１つ以上のクライアントから構成されるグループを定義したグループ情報を保持し、クライアントから変更通知を受信してプロファイルが更新されると、同一グループに属する他のクライアントに同期通知を送信することとした。これにより、いずれかのクライアントの設定変更を契機として、同一グループに属するクライアントについて一斉に設定変更を行うことができる。従って、複数のクライアントを同時に使用する使用方法に対しても、柔軟かつ容易にソフトウェアの設定管理を行える。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、本実施の形態の概念図である。コンピュータ１は、クライアント２ａから変更通知を受信すると、同一グループに属する他のクライアント２ｂ，２ｃに同期通知を送信することで、グループ内でソフトウェアの設定を同期させるものである。コンピュータ１は、クライアント２ａ，２ｂ，２ｃとネットワークを介して接続されている。コンピュータ１は、プロファイル記憶手段１ａ、グループ情報記憶手段１ｂ、プロファイル更新手段１ｃ、同期対象判定手段１ｄおよび同期指示手段１ｅを有する。
【００１７】
プロファイル記憶手段１ａは、管理対象のクライアント２ａ，２ｂ，２ｃ毎に、プロファイルを記憶する。プロファイルには、クライアント２ａ，２ｂ，２ｃに搭載されたソフトウェアの設定情報が記載されている。設定情報には、例えば、クライアント２ａ，２ｂ，２ｃに搭載されたオペレーティングシステム（ＯＳ：Operating System）に関する情報や、応用ソフトウェアに関する情報が含まれる。
【００１８】
グループ情報記憶手段１ｂは、１つ以上のクライアント２ａ，２ｂ，２ｃから構成されるグループを定義したグループ情報を記憶する。グループ情報には、例えば、３つのクライアント２ａ，２ｂ，２ｃが同一グループに属する旨が記載されている。
【００１９】
プロファイル更新手段１ｃは、クライアント２ａからソフトウェアの設定が変更された旨の変更通知を受信すると、プロファイル記憶手段１ａに記憶されたクライアント２ａに対応するプロファイルを更新する。変更通知には、例えば、設定が変更されたソフトウェアおよび設定項目を示す情報と、変更後の設定内容を示す情報とが含まれる。
【００２０】
同期対象判定手段１ｄは、プロファイル記憶手段１ａを監視している。ここで、クライアント２ａのプロファイルが更新されたことを検知すると、同期対象判定手段１ｄは、グループ情報記憶手段１ｂを参照して、クライアント２ａと同一グループに属する他のクライアント２ｂ，２ｃを同期対象と判定する。
【００２１】
同期指示手段１ｅは、同期対象判定手段１ｄで判定された同期対象のクライアント２ｂ，２ｃに対して、クライアント２ａのプロファイルの更新内容を反映して、設定の変更をすべき旨の同期通知を送信する。同期通知には、例えば、変更対象のソフトウェアおよび設定項目を示す情報と、変更後の設定内容を示す情報とが含まれる。また、同期指示手段１ｅは、同期通知での指示内容に従って、プロファイル記憶手段１ａに記憶されたクライアント２ｂ，２ｃに対応するプロファイルを更新する。
【００２２】
このようなコンピュータ１によれば、プロファイル更新手段１ｃにより、クライアント２ａからの変更通知が受信され、クライアント２ａに対応するプロファイルが更新される。次に、同期対象判定手段１ｄにより、プロファイルの更新が検知され、クライアント２ａと同一グループに属する他のクライアント２ｂ，２ｃが同期対象と判定される。そして、同期指示手段１ｅにより、判定されたクライアント２ｂ，２ｃに対して、プロファイルの更新内容を反映させるべき旨の同期通知が送信されると共に、クライアント２ｂ，２ｃに対応するプロファイルが更新される。
【００２３】
これにより、クライアント２ａの設定変更を契機として、同一グループに属するクライアント２ｂ，２ｃについても一斉に設定を同期させることができる。従って、複数のクライアント２ａ，２ｂ，２ｃを同時に使用するような使用環境においても、柔軟かつ容易にソフトウェアの設定管理を行える。
【００２４】
なお、本実施の形態では、同期指示手段１ｅが、クライアント２ｂ，２ｃから同期通知に対する確認応答を受信した後に、プロファイルの更新を行うようにすることも可能である。これにより、クライアント２ａ，２ｂ，２ｃにおける設定変更の進行状況を確認することが容易となる。
【００２５】
また、同期指示手段１ｅが、クライアント２ｂ，２ｃとの通信に失敗した場合、クライアント２ｂ，２ｃを継続的に監視し、通信が可能になったことを検知すると同期通知を再送信するようにすることも可能である。これにより、クライアント２ｂ，２ｃが起動していない場合や、一時的にコンピュータ１との間の通信路に不具合が発生した場合でも、その後、通信が可能になり次第自動的に同期処理を再開でき、一部のクライアントの設定変更漏れを防止できる。
【００２６】
また、同期指示手段１ｅが、受信した確認応答に同期通知で指示した設定変更の少なくとも一部を拒否する旨の拒否通知が含まれている場合、プロファイルの拒否通知に対応する設定情報の更新を行わず、所定の表示装置に同期失敗報告を表示するようにすることも可能である。これにより、ユーザは、設定変更に失敗したクライアントおよび設定項目を即座に知ることができ、すべてのクライアントの設定が変更されたとの誤解を防止できる。
【００２７】
また、同期指示手段１ｅが、受信した確認応答に同期通知で指示した設定変更の少なくとも一部を拒否する旨の拒否通知が含まれている場合、プロファイルの拒否通知に対応する設定情報の更新を行わず、プロファイルに設定変更が拒否されたこと示す拒否履歴情報を付加し、同期対象判定手段１ｄが、判定したクライアントに対応するプロファイルに拒否履歴情報が付加されている場合、拒否履歴情報で示される設定変更と同一種類の設定変更に関しては、クライアントを同期対象から除外するようにすることも可能である。これにより、過去に設定変更に失敗したクライアントに対しては、失敗した設定変更と同一種類の設定変更を通知しないようにでき、処理および通信の無駄を防止できる。
【００２８】
また、コンピュータ１に、ソフトウェアの種類毎に、プロファイルに設定情報として記載すべき設定項目の一覧を示す項目リストを記憶する項目リスト記憶手段と、クライアント２ａ，２ｂ，２ｃからクライアントに搭載されているソフトウェアを示す情報を含む登録要求を受信すると、項目リスト記憶手段を参照して、登録要求で示されるソフトウェアに対応する項目リストをクライアント２ａ，２ｂ，２ｃに返信し、その後クライアントから項目リストに対応する設定情報を受信すると、受信した設定情報を用いてプロファイルを作成しプロファイル記憶手段に記憶するプロファイル登録手段と、を設けるようにすることも可能である。これにより、同期すべき設定項目を予めソフトウェアの種類毎に指定できると共に、同期すべき設定項目に関する設定情報のみをプロファイルの登録時に収集できる。
【００２９】
また、コンピュータ１に、ソフトウェアの実行に必要なファイルを記憶するファイル記憶手段を設け、同期指示手段１ｅが、同期通知で指示した設定変更がファイルの追加を必要とする場合、ファイル記憶手段から追加すべきファイルを取得し同期通知と併せて送信するようにすることも可能である。これにより、新規ソフトウェアのインストールやソフトウェアのアップデートも自動化することができる。
【００３０】
また、ファイル記憶手段が、ファイルを必要とするソフトウェアのライセンス情報をさらに記憶し、同期指示手段１ｅが、ファイル記憶手段からファイルを取得する際にライセンス情報を参照し、同期通知の送信先でのファイルの追加がライセンスに反しない場合のみ、ファイルを同期通知と併せて送信するようにすることも可能である。これにより、ソフトウェアのライセンス管理も一括して行うことができ、ライセンス情報の紛失を防止できる。また、ライセンスに反するソフトウェアのインストールやアップデートを自動的に防止できる。
【００３１】
以下、本発明の実施の形態を、図面を参照して具体的に説明する。
図２は、本実施の形態のシステム構成を示す図である。本実施の形態のソフトウェア管理システムは、１人のユーザが使用する複数のクライアントに搭載された応用ソフトウェアを、管理サーバがネットワークを介して集中管理するものである。
【００３２】
本実施の形態のソフトウェア管理システムは、管理サーバ１００、ネットワーク２０およびクライアント３０，３０ａ，３０ｂで構成される。クライアント３０，３０ａ，３０ｂは、ネットワーク２０を介して管理サーバ１００と接続されている。
【００３３】
クライアント３０，３０ａ，３０ｂには、それぞれ電子メール送受信ソフトウェアや文書作成ソフトウェアなどの応用ソフトウェアが搭載されている。クライアント３０，３０ａ，３０ｂは、いずれも１人のユーザが使用するコンピュータであり、１つのグループを構成している。管理サーバ１００は、クライアント３０，３０ａ，３０ｂに搭載された応用ソフトウェアの設定情報を収集し、プロファイルとして保持している。
【００３４】
ここで、例えば、クライアント３０で応用ソフトウェアの設定が変更されると、クライアント３０から管理サーバ１００へ変更通知が送信される。変更通知には、変更されたソフトウェアおよび設定項目を示す情報と、変更後の設定内容を示す情報とが含まれる。管理サーバ１００は、クライアント３０から変更通知を受信すると、クライアント３０に対応するプロファイルを更新する。
【００３５】
その後、管理サーバ１００は、クライアント３０と同一グループに属するクライアント３０ａ，３０ｂに対して、クライアント３０と同様の設定変更を行うべき旨の同期通知を送信する。管理サーバ１００は、クライアント３０ａ，３０ｂから同期通知に対する確認応答を受信すると、クライアント３０ａ，３０ｂに対応するプロファイルを更新する。
【００３６】
次に、管理サーバ１００およびクライアント３０，３０ａ，３０ｂのハードウェア構成について説明する。ただし、管理サーバ１００およびクライアント３０，３０ａ，３０ｂは、それぞれ同様のハードウェア構成によって実現できるため、代表して管理サーバ１００について説明する。
【００３７】
図３は、管理サーバのハードウェア構成を示す図である。管理サーバ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５および通信インタフェース１０６が接続されている。
【００３８】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳプログラムやアプリケーションプログラムが格納される。
【００３９】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワーク２０に接続されている。
【００４０】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、管理サーバ１００およびクライアント３０，３０ａ，３０ｂのモジュール構成について説明する。ただし、クライアント３０，３０ａ，３０ｂは、それぞれ同様のモジュール構成によって実現できるため、代表してクライアント３０について説明する。
【００４１】
図４は、管理サーバの機能を示すブロック図である。管理サーバ１００は、項目リスト記憶部１１０、プロファイル記憶部１２０、グループ情報記憶部１３０、プログラム記憶部１４０、プロファイル登録部１５０、グループ情報登録部１６０、プロファイル更新部１７０、同期対象判定部１８０および同期指示部１９０を有している。プロファイル登録部１５０、グループ情報登録部１６０、プロファイル更新部１７０および同期指示部１９０は、ネットワーク２０を介してクライアント３０，３０ａ，３０ｂと通信が可能である。
【００４２】
項目リスト記憶部１１０には、プロファイル記憶部１２０に格納されるプロファイルに記載すべき設定項目を示す項目リストが格納される。項目リストは、応用ソフトウェアの種類毎に定義される。プロファイル記憶部１２０には、クライアント３０，３０ａ，３０ｂ毎に、プロファイルが格納される。プロファイルには、クライアント３０，３０ａ，３０ｂにインストールされた応用ソフトウェア毎の設定情報が記載される。
【００４３】
グループ情報記憶部１３０には、クライアントのグループを定義したグループ情報が格納される。例えば、３つのクライアント３０，３０ａ，３０ｂが１つのグループを構成することを示す情報が格納される。プログラム記憶部１４０には、応用ソフトウェアの実行に必要なプログラムのファイルが格納される。また、プログラム記憶部１４０には、個々の応用ソフトウェアのライセンス情報も格納される。ライセンス情報には、応用ソフトウェアをインストール可能なクライアントの台数や、ライセンスキーなどの情報が含まれる。
【００４４】
プロファイル登録部１５０は、クライアント３０，３０ａ，３０ｂからクライアント登録要求を受信する。クライアント登録要求には、送信元のクライアントにインストールされた応用ソフトウェアの一覧情報が含まれている。プロファイル登録部１５０は、その一覧情報で示される応用ソフトウェアに対応する項目リストを、項目リスト記憶部１１０から取得し、送信元のクライアントに返信する。その後、プロファイル登録部１５０は、返信した項目リストに対応する設定情報を受信すると、プロファイルの記載事項としてプロファイル記憶部１２０に格納する。
【００４５】
グループ情報登録部１６０は、クライアント３０，３０ａ，３０ｂからグループ登録要求を受信する。グループ情報登録部１６０は、グループ登録要求の内容に従ってグループ情報の作成または更新を行い、グループ情報記憶部１３０に格納する。なお、必要に応じて、グループに追加したクライアントの設定を、グループ内の他のクライアントの設定と同期させる指示も行う。
【００４６】
プロファイル更新部１７０は、クライアント３０，３０ａ，３０ｂからソフトウェアの設定が変更されたことを示す変更通知を受信する。プロファイル更新部１７０は、変更通知の内容に従って、プロファイル記憶部１２０に格納された送信元のクライアントに対応するプロファイルを更新する。
【００４７】
同期対象判定部１８０は、所定の時間間隔でプロファイル記憶部１２０を継続的に監視する。同期対象判定部１８０は、プロファイルが更新されたことを検知すると、グループ情報記憶部１３０を参照して、更新されたプロファイルのクライアントと同一グループに属する他のクライアントを、同期対象と判定する。なお、監視を行う時間間隔を短くすることで、ほぼリアルタイムに同期対象の判定を行うことができる。
【００４８】
同期指示部１９０は、同期対象判定部１８０で判定された同期対象のクライアントに対して、同期通知を送信する。同期通知には、同期対象判定部１８０が検知した更新の内容を反映して設定を変更すべき指示が含まれる。ここで、同期指示部１９０は、設定変更がプログラムファイルの追加を必要とする場合には、必要なファイルをプログラム記憶部１４０から取得し、同期通知と併せて送信する。そして、同期指示部１９０は、送信先のクライアントから確認応答を受信すると、確認応答の内容に応じて、対応するプロファイルを更新する。なお、同期指示部１９０は、必要に応じて、同期処理の結果を変更通知の送信元のクライアントに通知し表示させる。
【００４９】
図５は、クライアントの機能を示すブロック図である。クライアント３０は、設定情報記憶部３１、クライアント登録部３２、変更検出部３３および設定変更部３４を有している。クライアント登録部３２、変更検出部３３および設定変更部３４は、ネットワーク２０を介して管理サーバ１００と通信が可能である。
【００５０】
設定情報記憶部３１には、クライアント３０にインストールされた応用ソフトウェア毎の設定情報が格納される。設定情報記憶部３１に格納される設定情報は、管理サーバ１００が保持するプロファイルに記載される設定情報と同様である。
【００５１】
クライアント登録部３２は、ユーザの操作入力を受け付け、管理サーバ１００に対して、クライアント登録要求とグループ登録要求とを送信する。また、クライアント登録部３２は、管理サーバ１００からクライアント登録要求に応答して項目リストを受信すると、項目リストに対応する設定情報を収集し、管理サーバ１００へ返信する。
【００５２】
変更検出部３３は、所定の時間間隔でクライアント３０にインストールされた応用ソフトウェアの設定情報を収集する。変更検出部３３は、前回収集した設定情報との差分から設定が変更されたことを検出すると、管理サーバ１００に対して変更通知を送信する。
【００５３】
設定変更部３４は、管理サーバ１００から同期通知を受信する。設定変更部３４は、受信した同期通知の内容に従って、クライアント３０にインストールされた応用ソフトウェアの設定を変更する。同期通知と併せてプログラムファイルを受信した場合には、プログラムの追加処理も行う。そして、設定変更部３４は、設定変更の結果を管理サーバ１００に対して返信する。
【００５４】
次に、管理サーバ１００が保持するデータのデータ構造について説明する。
図６は、項目リストテーブルのデータ構造例を示す図である。項目リストテーブル１１０ａは、項目リスト記憶部１１０に格納されている。項目リストテーブル１１０ａには、応用ソフトウェアの種類毎と項目リストとがそれぞれ関連付けられてテーブル化されて格納されている。項目リストテーブル１１０ａには、ソフトウェア名を示すフィールド１１１および設定項目を示すフィールド１１２が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
【００５５】
フィールド１１１には、応用ソフトウェアの種類を示す名称が設定される。フィールド１１２には、フィールド１１１で示される種類の応用ソフトウェアに対して、収集すべき設定項目の名称の一覧が設定される。設定項目の名称間はカンマ（“，”）で区切られる。
【００５６】
項目リストテーブル１１０ａに格納される情報は、予めクライアント３０，３０ａ，３０ｂのユーザや管理サーバ１００の管理者によって登録される。例えば、ソフトウェア名が“メールＸ”、設定項目が“バージョン，メールアドレス，ＰＯＰサーバ”という情報が登録される。
【００５７】
図７は、設定情報テーブルのデータ構造例を示す図である。設定情報テーブルは、クライアント３０，３０ａ，３０ｂ毎にプロファイル記憶部１２０に格納されており、プロファイルに相当する。設定情報テーブル１２０ａは、クライアント３０（識別情報が“０１−２３−４５−６７−８９−ＡＢ”）に対応する設定情報テーブルである。設定情報テーブル１２０ａには、応用ソフトウェア毎の設定情報がテーブル化されて格納されている。
【００５８】
設定情報テーブル１２０ａには、ソフトウェア名を示すフィールド１２１、設定項目を示すフィールド１２２、設定値を示すフィールド１２３および備考を示すフィールド１２４が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
【００５９】
フィールド１２１には、応用ソフトウェアの名称が設定される。フィールド１２２には、フィールド１２１で示される応用ソフトウェアについての設定項目が設定される。設定項目は、１つの応用ソフトウェアに対して１つ以上設定される。フィールド１２３には、フィールド１２２で示される設定項目に対応する設定内容が設定される。フィールド１２４には、フィールド１２１で示される応用ソフトウェアについての備考が設定される。具体的には、クライアント３０によって過去に設定変更が拒否された場合に、拒否された設定変更の内容が設定される。
【００６０】
設定情報テーブル１２０ａに格納される設定情報は、クライアント３０からのクライアント登録要求に応じて、プロファイル登録部１５０によって登録される。また、クライアント３０からの変更通知に応じて、プロファイル更新部１７０によって更新される。また、クライアント３０からの確認応答に応じて、同期指示部１９０によって更新される。例えば、ソフトウェア“メールＸ”について、設定項目が“メールアドレス”、設定値が“ｆｏｏ＠ｅｘａｍｐｌｅ．ｊｐ”という情報が登録される。
【００６１】
図８は、グループ情報テーブルのデータ構造例を示す図である。グループ情報テーブル１３０ａは、グループ情報記憶部１３０に格納されている。グループ情報テーブル１３０ａには、グループ情報がテーブル化されて格納されている。グループ情報テーブル１３０ａには、グループ名を示すフィールド１３１およびクライアントＩＤを示すフィールド１３２が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられてグループ情報を構成する。
【００６２】
フィールド１３１には、グループを識別するためのグループ名が設定される。フィールド１３２には、フィールド１３１で示されるグループに属するクライアントの識別情報の一覧が設定される。識別情報の間は、カンマ（“，”）で区切られる。
【００６３】
グループ情報テーブル１３０ａに格納されるグループ情報は、クライアント３０，３０ａ，３０ｂからのグループ登録要求に応じて、グループ情報登録部１６０によって登録される。例えば、グループ名が“グループＡ”、クライアントＩＤが“０１−２３−４５−６７−８９−ＡＢ”（クライアント３０の識別情報）、“１２−３４−５６−７８−９Ａ−ＢＣ”（クライアント３０ａの識別情報）、“２３−４５−６７−８９−ＡＢ−ＣＤ”（クライアント３０ｂの識別情報）という情報が登録される。
【００６４】
図９は、ライセンス情報テーブルのデータ構造例を示す図である。ライセンス情報テーブル１４０ａは、プログラム記憶部１４０に格納されている。ライセンス情報テーブル１４０ａには、ライセンス情報がテーブル化されて格納されている。ライセンス情報テーブル１４０ａには、プログラム名を示すフィールド１４１、ライセンス条件を示すフィールド１４２およびライセンスキーを示すフィールド１４３が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられてライセンス情報を構成する。
【００６５】
フィールド１４１には、プログラム記憶部１４０に格納されているプログラムファイルのプログラム名が設定される。プログラム名は、例えば、応用ソフトウェアの種類名とバージョン情報とから構成される。フィールド１４２には、フィールド１４１で示されるプログラムのライセンス条件が設定される。ライセンス条件は、例えば、インストール可能なクライアントの残り台数などの条件である。フィールド１４３には、フィールド１４１で示されるプログラムをインストールする際に必要となるライセンスキーが設定される。ライセンスキーが不要なプログラムの場合、“不要”と設定される。
【００６６】
ライセンス情報テーブル１４０ａに格納されるライセンス情報は、クライアント３０，３０ａ，３０ｂのユーザや、管理サーバ１００の管理者によって予め登録される。また、ライセンス条件における残りライセンス数は、同期指示部１９０によって必要に応じて更新される。例えば、プログラム名が“ワープロＹ  ｖｅｒ９．２”、ライセンス条件が“残りライセンス数１”、ライセンスキーが“Ａ１２３４５”という情報が登録される。
【００６７】
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。
図１０は、クライアント登録処理の手順を示すフローチャートである。図１０は、クライアント３０が管理サーバ１００にクライアント登録要求を送信し、管理サーバ１００がクライアント３０のプロファイルを登録する処理の手順を示している。以下、図１０に示す処理をステップ番号に沿って説明する。なお、クライアント３０ａ，３０ｂがクライアント登録要求を送信する場合も、同様の処理の流れとなる。
【００６８】
［ステップＳ１１］クライアント３０のクライアント登録部３２は、ユーザの操作入力によってクライアント登録の指示があると、クライアント３０にインストールされている応用ソフトウェアを検索する。例えば、クライアント登録部３２は、ＯＳのレジストリの情報を調べる。または、クライアント登録部３２は、所定のディレクトリに配置されているプログラムファイルを調べる。
【００６９】
［ステップＳ１２］クライアント登録部３２は、クライアント登録要求を管理サーバ１００に対して送信する。クライアント登録要求には、ステップＳ１１で発見した応用ソフトウェアの一覧情報と、クライアント３０を一意に識別する識別情報を含めておく。識別情報としては、例えば、ＭＡＣ（Media Access Control）アドレスを使用する。または、クライアント名やＩＰ（Internet Protocol）アドレスを使用してもよい。
【００７０】
［ステップＳ１３］管理サーバ１００のプロファイル登録部１５０は、クライアント登録要求に含まれる識別情報を用いて、設定情報テーブル１２０ａを作成しプロファイル記憶部１２０に格納する。
【００７１】
［ステップＳ１４］プロファイル登録部１５０は、項目リスト記憶部１１０に格納された項目リストテーブル１１０ａを検索し、クライアント登録要求で示される応用ソフトウェアに対応する項目リストを取得する。
【００７２】
［ステップＳ１５］プロファイル登録部１５０は、ステップＳ１４で取得した項目リストを、クライアント登録要求の送信元であるクライアント３０に返信する。
［ステップＳ１６］クライアント登録部３２は、項目リストで示される設定項目に対応する情報を収集する。例えば、クライアント登録部３２は、ＯＳのレジストリやプログラムの設定ファイル（ＩＮＩファイル）から設定情報を収集する。
【００７３】
［ステップＳ１７］クライアント登録部３２は、ステップＳ１６で収集した設定情報を、設定情報記憶部３１に格納する。
［ステップＳ１８］クライアント登録部３２は、ステップＳ１６で収集した設定情報を、管理サーバ１００に対して送信する。
【００７４】
［ステップＳ１９］プロファイル登録部１５０は、ステップＳ１３で作成した設定情報テーブルに受信した設定情報を登録する。
図１１は、クライアント登録処理の例を示す模式図である。クライアント３０は、管理サーバ１００に対してクライアント登録要求を送信する。管理サーバ１００は、クライアント登録要求を受信すると、クライアント３０に対応する設定情報テーブル１２０ａを作成する（ステップＳＴ１１）。管理サーバ１００は、クライアント３０にインストールされている応用ソフトウェアに対応する項目リストを返信する（ステップＳＴ１２）。クライアント３０は、受信した項目リストに対応する設定情報を収集し、管理サーバ１００に対して送信する。管理サーバ１００は、受信した設定情報をプロファイルとして登録する（ステップＳＴ１３）。
【００７５】
図１２は、グループ登録処理の手順を示すフローチャートである。図１２は、クライアント３０が管理サーバ１００にグループ登録要求を送信し、管理サーバ１００がクライアント３０をグループに登録する処理の手順を示している。以下、図１２に示す処理をステップ番号に沿って説明する。なお、クライアント３０ａ，３０ｂがグループ登録要求を送信する場合も、同様の処理の流れとなる。
【００７６】
［ステップＳ２１］クライアント３０のクライアント登録部３２は、ユーザの操作入力によってグループ登録の指示があると、グループ登録要求を管理サーバ１００に対して送信する。グループ登録要求には、クライアント３０の識別情報と、クライアント３０を登録したいグループのグループ名とを含めておく。グループ名は、ユーザが指定する。
【００７７】
［ステップＳ２２］管理サーバ１００のグループ情報登録部１６０は、グループ情報記憶部１３０に格納されたグループ情報テーブル１３０ａを検索し、グループ登録要求で示されるグループのグループ情報が既に存在するか判断する。グループが存在する場合には、処理がステップＳ２４に進められる。グループが存在しない場合には、処理がステップＳ２３に進められる。
【００７８】
［ステップＳ２３］グループ情報登録部１６０は、グループ登録要求に含まれるグループ名とクライアント３０の識別情報とからグループ情報を作成し、グループ情報テーブル１３０ａに登録する。そして、グループ登録処理が終了する。
【００７９】
［ステップＳ２４］グループ情報登録部１６０は、ステップＳ２２で特定したグループ情報のクライアントＩＤに、グループ登録要求に含まれるクライアント３０の識別情報を追加する。
【００８０】
［ステップＳ２５］グループ情報登録部１６０は、プロファイル記憶部１２０を検索し、ステップＳ２２で取得したグループ情報に既に登録されていたクライアントに対応する設定情報テーブルを取得する。
【００８１】
［ステップＳ２６］グループ情報登録部１６０は、クライアント３０に対して、ステップＳ２５で取得した設定情報テーブルの設定情報を送信する。
［ステップＳ２７］クライアント登録部３２は、受信した設定情報に基づいて、応用ソフトウェアの設定を変更する。
【００８２】
［ステップＳ２８］クライアント登録部３２は、受信した設定情報を、設定情報記憶部３１に格納する。
このようにして、クライアント３０は、管理サーバ１００に対してグループ登録要求を送信する。管理サーバ１００は、グループ登録要求で示されるグループが存在しない場合、新たにグループを定義し登録する。一方、既にグループが存在する場合、管理サーバ１００は、クライアント３０をそのグループに追加すると共に、既に登録されているクライアントの設定情報をクライアント３０に送信する。これにより、新たに設置したクライアントの設定を、既存のクライアントと即座に同期させることができる。
【００８３】
図１３は、プロファイル更新処理の手順を示すフローチャートである。図１３は、クライアント３０が管理サーバ１００に変更通知を送信し、管理サーバ１００がクライアント３０に対応するプロファイルを更新する処理の手順を示している。以下、図１３に示す処理をステップ番号に沿って説明する。なお、クライアント３０ａ，３０ｂが変更通知を送信する場合も、同様の処理の流れとなる。
【００８４】
［ステップＳ３１］クライアント３０の変更検出部３３は、所定の時間間隔でクライアント３０にインストールされた応用ソフトウェアの設定情報を収集して、変更の有無を判断する。また、変更検出部３３は、ユーザの操作入力による指示があった場合にも、変更の有無を判断する。例えば、変更検出部３３は、ＯＳのレジストリや、所定のディレクトリに配置されたプログラムの設定ファイルを調べる。このようにして、変更検出部３３は、応用ソフトウェアの設定変更を検出する。
【００８５】
［ステップＳ３２］変更検出部３３は、ステップＳ３１で検出した設定変更の内容を、設定情報記憶部３１に格納された設定情報に反映させる。
［ステップＳ３３］変更検出部３３は、管理サーバ１００に対して変更通知を送信する。変更通知には、ステップＳ３１で検出した設定変更の内容と、クライアント３０の識別情報とを含めておく。
【００８６】
［ステップＳ３４］管理サーバ１００のプロファイル更新部１７０は、プロファイル記憶部１２０に格納されているクライアント３０に対応する設定情報テーブル１２０ａを取得する。そして、プロファイル更新部１７０は、変更通知の内容に従って、設定情報テーブル１２０ａに登録された設定情報を更新する。
【００８７】
このようにして、クライアント３０は、応用ソフトウェアの設定が変更されたことを検出すると、管理サーバ１００に対して変更通知を送信する。管理サーバ１００は、変更通知を受信すると、変更通知の送信元に対応する設定情報テーブルを取得し、設定情報を更新する。
【００８８】
図１４は、同期指示処理の手順を示す第１のフローチャートである。図１４は、管理サーバ１００がクライアント３０に対応するプロファイルの更新を検出し、クライアント３０と同一グループに属するクライアント３０ａ，３０ｂに同期通知を送信する処理の手順を示している。以下、図１４に示す処理をステップ番号に沿って説明する。なお、クライアント３０ａ，３０ｂに対応するプロファイルが更新された場合も、同様の処理の流れとなる。
【００８９】
［ステップＳ４１］同期対象判定部１８０は、プロファイル記憶部１２０に格納された設定情報テーブルを監視する。そして、同期対象判定部１８０は、設定情報テーブルの設定情報が更新されたか否か判断する。更新された場合には、処理がステップＳ４２に進められる。更新されていない場合には、所定の時間後にステップＳ４１の処理が繰り返される。
【００９０】
［ステップＳ４２］同期対象判定部１８０は、ステップＳ４１で設定情報テーブル１２０ａの更新を検出すると、グループ情報記憶部１３０に格納されたグループ情報テーブル１３０ａを検索して、クライアント３０と同一グループに属するクライアント３０ａ，３０ｂを同期対象と判定する。
【００９１】
［ステップＳ４３］同期対象判定部１８０は、ステップＳ４２で判定したクライアント３０ａ，３０ｂに対応する設定情報テーブルを検索し、ステップＳ４１で検出した更新内容に対応する設定情報を取得する。そして、同期対象判定部１８０は、設定情報の備考に拒否履歴が記載されている場合、拒否履歴と同一種類の更新内容を同期対象から除外する。例えば、クライアント３０にインストールされた“メールＸ”が、バージョン“９．２”からバージョン“９．３”へ変更され、一方、クライアント３０ａの設定情報に“メールＸ”のバージョン“９．２”への変更が過去に拒否されたことを示す拒否履歴が記載されているとする。この場合、同期対象判定部１８０は、クライアント３０ａを同期対象から除外する。
【００９２】
［ステップＳ４４］同期指示部１９０は、同期対象判定部１８０から同期対象に関する情報を取得する。そして、同期指示部１９０は、設定変更の内容が、新たなプログラムの追加を必要とするか否かを判断する。プログラムの追加が必要である場合、処理がステップＳ４５に進められる。プログラムの追加が不要である場合、処理がステップＳ４７に進められる。
【００９３】
［ステップＳ４５］同期指示部１９０は、プログラム記憶部１４０に格納されたライセンス情報テーブル１４０ａを検索し、ステップＳ４４で追加が必要と判断したプログラムのライセンスの取得を試みる。具体的には、同期指示部１９０は、プログラムの追加がライセンス条件に反しないか否かを判断すると共に、残りライセンス数が規定されている場合には、これを１つ減らす。そして、同期指示部１９０は、ライセンスの取得に成功したプログラムについて、プログラムファイルと、必要な場合にはライセンスキーとを取得する。
【００９４】
［ステップＳ４６］同期指示部１９０は、ステップＳ４５でライセンスの取得に失敗したプログラムを使用する設定変更を、同期通知の内容から除外する。
［ステップＳ４７］同期指示部１９０は、同期対象のクライアントに対して、同期通知を送信する。同期通知には、設定変更の指示内容を含めておく。また、同期指示部１９０は、ステップＳ４５でプログラムファイルを取得した場合には、同期通知と併せてプログラムファイルを送信する。
【００９５】
図１５は、同期指示処理の手順を示す第２のフローチャートである。図１５は、管理サーバ１００がクライアント３０ａ，３０ｂから同期通知に対する確認応答を受信した後の処理の手順を示している。以下、図１５に示す処理をステップ番号に沿って説明する。なお、管理サーバ１００がクライアント３０から確認応答を受信した場合も、同様の処理の流れとなる。
【００９６】
［ステップＳ５１］同期指示部１９０は、同期通知を送信したクライアント３０ａ，３０ｂから、所定時間内に確認応答を受信したか否かを判断する。確認応答を受信した場合には、処理がステップＳ５３に進められる。確認応答を受信しない場合には、処理がステップＳ５２に進められる。
【００９７】
［ステップＳ５２］同期指示部１９０は、同期通知を送信したクライアント３０ａ，３０ｂとの間の通信状態を監視する。具体的には、同期指示部１９０は、定期的にクライアント３０ａ，３０ｂに対してメッセージを送信し、通信が可能か否かを判定する。そして、同期指示部１９０は、通信が可能になったと判定すると、同期通知を再送信する。その後、処理がステップＳ５１に進められる。なお、通信状態を同期指示部１９０が監視するのではなく、クライアント３０ａ，３０ｂに監視させ、通信が可能になると管理サーバ１００へ報告させるようにしてもよい。
【００９８】
［ステップＳ５３］同期指示部１９０は、ステップＳ５１で受信した確認応答で設定変更に成功した設定項目が示されている場合、設定情報テーブルに記載された設定情報を、変更後の内容に更新する。
【００９９】
［ステップＳ５４］同期指示部１９０は、ステップＳ５１で受信した確認応答で設定変更が拒否された設定項目が示されている場合、設定情報テーブルの備考欄に拒否された内容を拒否履歴として記載する。
【０１００】
［ステップＳ５５］同期指示部１９０は、同期処理に失敗した設定項目があるか判断する。ここで、同期処理の失敗とは、ライセンス不足のために同期通知で指示することができなかった場合か、または、クライアントによって変更を拒否された場合をいう。失敗した設定項目がある場合には、処理がステップＳ５６に進められる。失敗した設定項目がない場合には、同期指示処理が終了する。
【０１０１】
［ステップＳ５６］同期指示部１９０は、失敗報告を、設定変更の契機となった変更通知を送信したクライアント３０に通知し、クライアント３０のモニタに表示させる。失敗報告には、同期処理に失敗したクライアントと設定項目との情報を含めておく。
【０１０２】
このようにして、管理サーバ１００は、プロファイルの更新を検出すると、更新されたプロファイルのクライアント３０と同一グループに属するクライアント３０ａ，３０ｂに対して、同期通知を送信する。ここで、管理サーバ１００は、設定の変更に新たなプログラムの追加が必要で、かつ、プログラムの追加がライセンスに反しない場合には、同期通知を併せてプログラムファイルも送信する。そして、管理サーバ１００は、クライアント３０ａ，３０ｂからの確認応答に応じてプロファイルを更新する。また、管理サーバ１００は、同期処理に失敗した設定項目がある場合には、クライアント３０のモニタに失敗報告を表示させる。
【０１０３】
図１６は、設定変更処理の手順を示すフローチャートである。図１６は、クライアント３０が管理サーバ１００から同期通知を受信し、設定変更を行う処理の手順を示している。以下、図１６に示す処理をステップ番号に沿って説明する。なお、クライアント３０ａ，３０ｂが同期通知を受信する場合も、同様の処理の流れとなる。
【０１０４】
［ステップＳ６１］設定変更部３４は、管理サーバ１００から同期通知を受信すると、同期通知で示される個々の設定変更がクライアント３０で実行可能か否かを判定する。例えば、設定変更部３４は、設定情報記憶部３１に格納された設定情報を参照し、同期通知で指示された設定変更を実行すると他の設定と矛盾が生じる場合には、実行不可と判定する。
【０１０５】
［ステップＳ６２］設定変更部３４は、ステップＳ６１で実行可能と判定した設定変更を実行する。
［ステップＳ６３］設定変更部３４は、ステップＳ６２で行った設定変更の結果を、設定情報記憶部３１に格納された設定情報に反映させる。
【０１０６】
［ステップＳ６４］設定変更部３４は、管理サーバ１００に対して確認応答を返信する。確認応答には、ステップＳ６２で設定変更を行った設定項目と、設定変更を拒否した設定項目と示す情報を含めておく。
【０１０７】
このようにして、クライアント３０は、管理サーバ１００から同期通知を受信すると、実行可能な設定変更と実行不可能な設定変更とを判定し、実行可能と判定した設定変更を実行する。そして、クライアント３０は、管理サーバ１００に対して設定変更の結果を報告する。
【０１０８】
図１７は、同期指示処理および設定更新処理の例を示す模式図である。クライアント３０は、応用ソフトウェア“メールＸ”の設定項目“メールアドレス”の設定内容が変更されたこと検出すると、管理サーバ１００に対して変更通知を送信する。管理サーバ１００は、クライアント３０から変更通知を受信すると、クライアント３０に対応する設定情報テーブル１２０ａを更新する（ステップＳＴ２１）。
【０１０９】
管理サーバ１００は、設定情報テーブル１２０ａが更新されたことを検出すると、クライアント３０と同一グループに属するクライアント３０ａ，３０ｂに対して、同期通知を送信する（ステップＳＴ２２）。ただし、図１７には、クライアント３０ｂに対して同期通知を送信する処理のみを記載してある。
【０１１０】
同期通知を受信したクライアント３０ｂは、応用ソフトウェア“メールＸ”の設定項目“メールアドレス”の設定内容を変更する。そして、クライアント３０ｂは、“メールアドレス”の設定変更が完了したことを示す確認応答を、管理サーバ１００に対して送信する。管理サーバ１００は、クライアント３０ｂに対応する設定情報テーブルを更新する（ステップＳＴ２３）。
【０１１１】
このような管理サーバ１００を用いることで、いずれかのクライアントの設定変更を契機として、同一グループに属するクライアントについても一斉に設定を同期させることができる。従って、複数のクライアントを同時に使用するような使用環境においても、柔軟なソフトウェアの設定管理を行える。
【０１１２】
また、同期させようとするクライアントが起動していない場合や、一時的に管理サーバ１００との間の通信路に不具合が発生した場合でも、その後、通信が可能になり次第自動的に同期処理を再開でき、一部のクライアントの設定変更漏れを防止できる。また、設定変更に失敗した場合には失敗報告が即座に表示されるため、ユーザがすべてのクライアントの設定が変更されたと誤解することを防止できる。
【０１１３】
また、過去に設定変更を拒否したクライアントについては、拒否された設定変更と同一種類の設定変更を通知しないようにでき、処理および通信の無駄を防止できる。また、同期させたい設定項目を予めソフトウェアの種類毎に指定することができ、指定した設定項目についての設定情報をプロファイルの登録時に自動的に収集できる。
【０１１４】
また、新たなプログラムのインストールやプログラムのアップデートも自動化することができる。また、応用ソフトウェアのライセンス情報も一括して管理することができ、ライセンス情報の紛失を防止できると共に、ライセンスに反するプログラムのインストールやアップデートを未然に防止できる。
【０１１５】
なお、本実施の形態では、１人のユーザが複数のパーソナルコンピュータを管理する場合について説明したが、上記の管理サーバ１００は、グリッドを構成するコンピュータの管理に使用することもできる。
【０１１６】
グリッドは、膨大な数のコンピュータをネットワークで接続することで、多数の処理を並列実行できるようにするコンピュータの構成方法である。ここで、グリッドの管理者は、グリッドを構成するコンピュータの設定を一斉に変更したい場合がある。一方、グリッドは膨大な数のコンピュータで構成されるため、従来、このような変更作業は管理者の負担が大きいという問題があった。
【０１１７】
そこで、上記の管理サーバ１００をグリッドを構成するコンピュータの管理に使用することで、管理者の作業負担を大幅に削減することができる。このように、上記の管理サーバ１００は、管理するコンピュータの数が多いほど特に大きな効果を発揮する。
【０１１８】
以上、本発明のソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置を図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。
【０１１９】
また、本発明は、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、汎用的なコンピュータによって実現することができる。その場合、管理サーバ１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどが挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などが挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などが挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）などが挙げられる。
【０１２０】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２１】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１２２】
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
（付記１）  複数のクライアントに搭載されたソフトウェアをネットワークを介して管理するソフトウェア管理プログラムにおいて、
コンピュータを、
前記クライアント毎に、前記クライアントに搭載されたソフトウェアの設定情報を含むプロファイルを記憶するプロファイル記憶手段、
１つ以上の前記クライアントから構成されるグループを定義したグループ情報を記憶するグループ情報記憶手段、
前記クライアントからソフトウェアの設定が変更された旨の変更通知を受信すると、前記変更通知に従って、前記プロファイル記憶手段に記憶された前記変更通知の送信元に対応する前記プロファイルを更新するプロファイル更新手段、
前記プロファイル記憶手段に記憶された前記プロファイルの更新を検知すると、前記グループ情報記憶手段を参照し、前記プロファイルが更新された前記クライアントと同一グループに属する他の前記クライアントを同期対象と判定する同期対象判定手段、
前記同期対象判定手段で判定された前記クライアントに対して、前記プロファイルの更新内容を反映させるべき旨の同期通知を送信すると共に、前記同期通知に従って、前記プロファイル記憶手段に記憶された前記同期通知の送信先に対応する前記プロファイルを更新する同期指示手段、
として機能させることを特徴とするソフトウェア管理プログラム。
【０１２３】
（付記２）  前記同期指示手段は、前記クライアントから前記同期通知に対する確認応答を受信した後に、前記プロファイルの更新を行う、
ことを特徴とする付記１記載のソフトウェア管理プログラム。
【０１２４】
（付記３）  前記同期指示手段は、前記クライアントとの通信に失敗した場合、前記クライアントを継続的に監視し、通信が可能になったことを検知すると前記同期通知を再送信する、
ことを特徴とする付記２記載のソフトウェア管理プログラム。
【０１２５】
（付記４）  前記同期指示手段は、受信した前記確認応答に前記同期通知で指示した設定変更の少なくとも一部を拒否する旨の拒否通知が含まれている場合、前記プロファイルの前記拒否通知に対応する設定情報の更新を行わず、所定の表示装置に同期失敗報告を表示する、
ことを特徴とする付記２記載のソフトウェア管理プログラム。
【０１２６】
（付記５）  前記同期指示手段は、受信した前記確認応答に前記同期通知で指示した設定変更の少なくとも一部を拒否する旨の拒否通知が含まれている場合、前記プロファイルの前記拒否通知に対応する設定情報の更新を行わず、前記プロファイルに設定変更が拒否されたこと示す拒否履歴情報を付加し、
前記同期対象判定手段は、判定した前記クライアントに対応する前記プロファイルに前記拒否履歴情報が付加されている場合、前記拒否履歴情報で示される設定変更と同一種類の設定変更に関しては、前記クライアントを同期対象から除外する、
ことを特徴とする付記２記載のソフトウェア管理プログラム。
【０１２７】
（付記６）  前記コンピュータを、さらに、
ソフトウェアの種類毎に、前記プロファイルに設定情報として記載すべき設定項目の一覧を示す項目リストを記憶する項目リスト記憶手段、
前記クライアントから前記クライアントに搭載されているソフトウェアを示す情報を含む登録要求を受信すると、前記項目リスト記憶手段を参照して、前記登録要求で示されるソフトウェアに対応する前記項目リストを前記クライアントに返信し、その後前記クライアントから前記項目リストに対応する設定情報を受信すると、受信した設定情報を用いて前記プロファイルを作成し前記プロファイル記憶手段に記憶するプロファイル登録手段、
として機能させることを特徴とする付記１記載のソフトウェア管理プログラム。
【０１２８】
（付記７）  前記コンピュータを、さらに、
ソフトウェアの実行に必要なファイルを記憶するファイル記憶手段、
として機能させ、
前記同期指示手段は、前記同期通知で指示した設定変更が前記ファイルの追加を必要とする場合、前記ファイル記憶手段から追加すべき前記ファイルを取得し前記同期通知と併せて送信する、
ことを特徴とする付記１記載のソフトウェア管理プログラム。
【０１２９】
（付記８）  前記ファイル記憶手段は、前記ファイルを必要とするソフトウェアのライセンス情報をさらに記憶し、
前記同期指示手段は、前記ファイル記憶手段から前記ファイルを取得する際に前記ライセンス情報を参照し、前記同期通知の送信先での前記ファイルの追加がライセンスに反しない場合のみ、前記ファイルを前記同期通知と併せて送信する、
ことを特徴とする付記７記載のソフトウェア管理プログラム。
【０１３０】
（付記９）  複数のクライアントに搭載されたソフトウェアをネットワークを介して管理するソフトウェア管理方法において、
プロファイル更新手段が、前記クライアントからソフトウェアの設定が変更された旨の変更通知を受信すると、前記クライアント毎にプロファイル記憶手段に記憶されている前記クライアントに搭載されたソフトウェアの設定情報を含むプロファイルのうち、前記変更通知の送信元に対応する前記プロファイルを前記変更通知に従って更新し、
前記同期対象判定手段が、前記プロファイル記憶手段に記憶された前記プロファイルの更新を検知すると、１つ以上の前記クライアントから構成されるグループを定義したグループ情報を記憶するグループ情報記憶手段を参照して、前記プロファイルが更新された前記クライアントと同一グループに属する他の前記クライアントを同期対象と判定し、
同期指示手段が、前記同期対象判定手段で判定された前記クライアントに対して、前記プロファイルの更新内容を反映させるべき旨の同期通知を送信すると共に、前記同期通知に従って、前記プロファイル記憶手段に記憶された前記同期通知の送信先に対応する前記プロファイルを更新する、
ことを特徴とするソフトウェア管理方法。
【０１３１】
（付記１０）  前記同期指示手段による前記プロファイルの更新は、前記クライアントから前記同期通知に対する確認応答を受信した後に行う、
ことを特徴とする付記９記載のソフトウェア管理方法。
【０１３２】
（付記１１）  前記同期指示手段による前記クライアントとの通信に失敗した場合、前記同期指示手段が、前記クライアントを継続的に監視し、通信が可能になったことを検知すると前記同期通知を再送信する、
ことを特徴とする付記１０記載のソフトウェア管理方法。
【０１３３】
（付記１２）  前記同期指示手段によって受信された前記確認応答に、前記同期通知で指示した設定変更の少なくとも一部を拒否する旨の拒否通知が含まれている場合、前記同期指示手段が、前記プロファイルの前記拒否通知に対応する設定情報の更新を行わず、所定の表示装置に同期失敗報告を表示する、
ことを特徴とする付記１０記載のソフトウェア管理方法。
【０１３４】
（付記１３）  前記同期指示手段によって受信された前記確認応答に、前記同期通知で指示した設定変更の少なくとも一部を拒否する旨の拒否通知が含まれている場合、前記同期指示手段が、前記プロファイルの前記拒否通知に対応する設定情報の更新を行わず、前記プロファイルに設定変更が拒否されたこと示す拒否履歴情報を付加し、
前記同期対象判定手段によって同期対象と判定された前記クライアントに対応する前記プロファイルに前記拒否履歴情報が付加されている場合、前記同期対象判定手段が、前記拒否履歴情報で示される設定変更と同一種類の設定変更に関しては、前記クライアントを同期対象から除外する、
ことを特徴とする付記１０記載のソフトウェア管理方法。
【０１３５】
（付記１４）  前記プロファイル更新手段による前記変更通知の受信前に、プロファイル登録手段が、前記クライアントから前記クライアントに搭載されているソフトウェアを示す情報を含む登録要求を受信すると、ソフトウェアの種類毎に前記プロファイルに設定情報として記載すべき設定項目の一覧を示す項目リストを記憶する項目リスト記憶手段を参照して、前記登録要求で示されるソフトウェアに対応する前記項目リストを前記クライアントに返信し、
前記プロファイル登録手段が、前記クライアントから前記項目リストに対応する設定情報を受信すると、受信した設定情報を用いて前記プロファイルを作成し前記プロファイル記憶手段に記憶する、
ことを特徴とする付記９記載のソフトウェア管理方法。
【０１３６】
（付記１５）  複数のクライアントに搭載されたソフトウェアをネットワークを介して管理するソフトウェア管理装置において、
前記クライアント毎に、前記クライアントに搭載されたソフトウェアの設定情報を含むプロファイルを記憶するプロファイル記憶手段と、
１つ以上の前記クライアントから構成されるグループを定義したグループ情報を記憶するグループ情報記憶手段と、
前記クライアントからソフトウェアの設定が変更された旨の変更通知を受信すると、前記変更通知に従って、前記プロファイル記憶手段に記憶された前記変更通知の送信元に対応する前記プロファイルを更新するプロファイル更新手段と、
前記プロファイル記憶手段に記憶された前記プロファイルの更新を検知すると、前記グループ情報記憶手段を参照して、前記プロファイルが更新された前記クライアントと同一グループに属する他の前記クライアントを同期対象と判定する同期対象判定手段と、
前記同期対象判定手段で判定された前記クライアントに対して、前記プロファイルの更新内容を反映させるべき旨の同期通知を送信すると共に、前記同期通知に従って、前記プロファイル記憶手段に記憶された前記同期通知の送信先に対応する前記プロファイルを更新する同期指示手段と、
を有することを特徴とするソフトウェア管理装置。
【０１３７】
（付記１６）  前記同期指示手段は、前記クライアントから前記同期通知に対する確認応答を受信した後に、前記プロファイルの更新を行う、
ことを特徴とする付記１５記載のソフトウェア管理装置。
【０１３８】
（付記１７）  前記同期指示手段は、前記クライアントとの通信に失敗した場合、前記クライアントを継続的に監視し、通信が可能になったことを検知すると前記同期通知を再送信する、
ことを特徴とする付記１６記載のソフトウェア管理装置。
【０１３９】
（付記１８）  前記同期指示手段は、受信した前記確認応答に前記同期通知で指示した設定変更の少なくとも一部を拒否する旨の拒否通知が含まれている場合、前記プロファイルの前記拒否通知に対応する設定情報の更新を行わず、所定の表示装置に同期失敗報告を表示する、
ことを特徴とする付記１６記載のソフトウェア管理装置。
【０１４０】
（付記１９）  前記同期指示手段は、受信した前記確認応答に前記同期通知で指示した設定変更の少なくとも一部を拒否する旨の拒否通知が含まれている場合、前記プロファイルの前記拒否通知に対応する設定情報の更新を行わず、前記プロファイルに設定変更が拒否されたこと示す拒否履歴情報を付加し、
前記同期対象判定手段は、判定した前記クライアントに対応する前記プロファイルに前記拒否履歴情報が付加されている場合、前記拒否履歴情報で示される設定変更と同一種類の設定変更に関しては、前記クライアントを同期対象から除外する、
ことを特徴とする付記１６記載のソフトウェア管理装置。
【０１４１】
（付記２０）  ソフトウェアの種類毎に、前記プロファイルに設定情報として記載すべき設定項目の一覧を示す項目リストを記憶する項目リスト記憶手段と、
前記クライアントから前記クライアントに搭載されているソフトウェアを示す情報を含む登録要求を受信すると、前記項目リスト記憶手段を参照して、前記登録要求で示されるソフトウェアに対応する前記項目リストを前記クライアントに返信し、その後前記クライアントから前記項目リストに対応する設定情報を受信すると、受信した設定情報を用いて前記プロファイルを作成し前記プロファイル記憶手段に記憶するプロファイル登録手段と、
を有することを特徴とする付記１５記載のソフトウェア管理装置。
【図面の簡単な説明】
【０１４２】
【図１】本実施の形態の概念図である。
【図２】本実施の形態のシステム構成を示す図である。
【図３】管理サーバのハードウェア構成を示す図である。
【図４】管理サーバの機能を示すブロック図である。
【図５】クライアントの機能を示すブロック図である。
【図６】項目リストテーブルのデータ構造例を示す図である。
【図７】設定情報テーブルのデータ構造例を示す図である。
【図８】グループ情報テーブルのデータ構造例を示す図である。
【図９】ライセンス情報テーブルのデータ構造例を示す図である。
【図１０】クライアント登録処理の手順を示すフローチャートである。
【図１１】クライアント登録処理の例を示す模式図である。
【図１２】グループ登録処理の手順を示すフローチャートである。
【図１３】プロファイル更新処理の手順を示すフローチャートである。
【図１４】同期指示処理の手順を示す第１のフローチャートである。
【図１５】同期指示処理の手順を示す第２のフローチャートである。
【図１６】設定変更処理の手順を示すフローチャートである。
【図１７】同期指示処理および設定更新処理の例を示す模式図である。
【符号の説明】
【０１４３】
１  コンピュータ
１ａ  プロファイル記憶手段
１ｂ  グループ情報記憶手段
１ｃ  プロファイル更新手段
１ｄ  同期対象判定手段
１ｅ  同期指示手段
２ａ，２ｂ，２ｃ  クライアント
【図１】
2008065409.tif 000003
【図２】
2008065409.tif 000004
【図３】
2008065409.tif 000005
【図４】
2008065409.tif 000006
【図５】
2008065409.tif 000007
【図６】
2008065409.tif 000008
【図７】
2008065409.tif 000009
【図８】
2008065409.tif 000010
【図９】
2008065409.tif 000011
【図１０】
2008065409.tif 000012
【図１１】
2008065409.tif 000013
【図１２】
2008065409.tif 000014
【図１３】
2008065409.tif 000015
【図１４】
2008065409.tif 000016
【図１５】
2008065409.tif 000017
【図１６】
2008065409.tif 000018
【図１７】
2008065409.tif 000019