(57)【特許請求の範囲】
【請求項１】
ソフトウェア更新管理装置と管理対象装置とがネットワークを介して接続するソフトウェア更新管理システムであって、
前記ソフトウェア更新管理装置は、
前記管理対象装置に、インストールされているソフトウェアの種類及びバージョンを紐付けて記憶する管理データベースと、
ソフトウェアに更新が発生すると前記管理データベースに基づいて更新が必要な管理対象装置をリストアップするリストアップ手段と、
リストアップされた管理対象装置と前記ソフトウェア更新管理装置とから構成され、前記ソフトウェア更新管理装置を根とする論理的なネットワークツリーを作成するツリー作成手段と、
作成された前記論理的なネットワークツリーにおいて直接下位の管理対象装置に対し、更新ファイルと当該管理対象装置を根としたツリー情報とを配布する配布手段と、を有し、
前記管理対象装置は、
前記更新ファイルと前記ツリー情報とが配布されてきた場合、前記更新ファイルを自装置に適用するソフトウェア更新手段と、
前記ツリー情報を参照して、自装置に対して直接下位の管理対象装置に対し、前記更新ファイルと当該管理対象装置を根としたツリー情報とを配布する配布中継手段と、
前記ツリー情報を参照して、自装置より下位の管理対象装置があるか否かを判断する判断手段と、
下位の管理対象装置がない場合、前記更新ファイルの適用結果を、前記更新ファイルを配布した上位の装置に対して送信する適用結果送信手段と、を有することを特徴とする、ソフトウェア更新管理システム。
【請求項２】
前記論理的なネットワークツリーは、平衡２分木であることを特徴とする、請求項１記載のソフトウェア更新管理システム。
【請求項３】
ネットワークを介してソフトウェア更新管理装置と接続する情報処理装置に、
自装置にインストールされているソフトウェアの更新ファイルと自装置を根とする論理的なネットワークツリーのツリー情報とが配布されてきた場合、前記更新ファイルを自装置に適用するソフトウェア更新手段と、
前記ツリー情報を参照して、自装置に対して直接下位の管理対象装置に対し、前記更新ファイルと当該管理対象装置を根としたツリー情報とを配布する配布中継手段と、
前記ツリー情報を参照して、自装置より下位の管理対象装置があるか否かを判断する判断手段と、
下位の管理対象装置がない場合、前記更新ファイルの適用結果を、前記更新ファイルを配布した上位の装置に対して送信する適用結果送信手段と、
を有する装置として機能させることを特徴とする、エージェントプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア更新管理システム及びエージェントプログラムに関し、特に、ソフトウェア更新に要する負荷を軽減する技術に関する。
【背景技術】
【０００２】
自動的にソフトウェアを配布する技術の一例としては、特許文献１ないし３に記載された技術などがある。これらの技術では、配布元の計算機が事前に配布宛先を記憶しており、バージョンアップ時に記憶された配布宛先に対して配布を行っていた。
【０００３】
一方、特許文献４は、ネットワークに接続する全ての端末にコンテンツを配信するシステムを開示する。特許文献４の段落００７２等を参照すると、複数の端末装置がツリー状階層構造で多層に論理接続され、中継機能により順次下流の端末装置に中継される旨の記載がある。
【０００４】
また、特許文献５は、段落０００７，０００８等を参照すると、ホストコンピュータから複数端末のソフトウェアの一括更新を行うことを目的として、端末ソフト管理テーブルの情報を基に更新の必要な端末を判断すること等を特徴とする技術を開示する。
【特許文献１】特開平０３−２８６３４５号公報
【特許文献２】特開平０４−０９６１５９号公報
【特許文献３】特開平０７−３３４４３６号公報
【特許文献４】特開２００７−２３３６５２号公報
【特許文献５】特開平０４−３５９３４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記本発明に関連する技術（例えば、特許文献１ないし３）には、次のような問題点があった。第１の問題点は、配布元の計算機が順番に全ての配布宛先に対して配布を行うため、この計算機の処理能力がボトルネックとなる事である。第２の問題点は、全ての通信が配布元の計算機に接続されたネットワークを経由するため一部のネットワークに負荷が集中してしまう事である。
【０００６】
これらの問題を解消するために、論理的なネットワークツリーを予め作成しておき、配布先の計算機にデータの中継を行わせる方法が考えられている（例えば、特許文献４）。しかしながら、このような技術において、特許文献５に記載されているようなホストコンピュータから複数端末のソフトウェアの一括更新を行うこととした場合、全体の計算機の一部のみに配布を行い、かつその計算機が予め作成しておいたツリーの一部に偏っていた場合などに効率が低下してしまうという問題がある。
【０００７】
一般的に、ネットワークを経由して複数の装置のソフトウェアの更新を行う場合、管理装置上のマネージャソフトウェアが管理対象装置上のエージェントソフトウェアに対して更新するソフトウェアを送付し、インストールの指示を行うことにより実現されている。
【０００８】
しかしながら、管理対象装置が複数存在する場合、マネージャソフトウェアが全ての管理対象装置上のエージェントソフトウェアへ更新するソフトウェアを配布せねばならず、管理装置のハードウェア資源や管理装置が接続されているネットワークに大きな負荷がかかってしまう。
【０００９】
そこで、上述のように、予め論理的なツリー状のネットワークを構成しておき、管理対象装置に中継の役割を担わせる方法が考えられる。しかしながら、この方法では、管理対象装置にインストールされているソフトウェアが装置毎に異なっていて、さらにツリーの末端の装置のみにソフトウェアを配信する必要がある場合、配信が不要な装置を中継に使ってしまう事によりネットワークに余計な負荷をかけてしまう恐れがある。
【００１０】
そこで本発明は、上記実情に鑑みて、ネットワークや配布元の管理装置にかかる負荷を軽減することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明は、以下の構成を特徴とする。
【００１２】
本発明に係るソフトウェア更新管理システムは、ソフトウェア更新管理装置と管理対象装置とがネットワークを介して接続するソフトウェア更新管理システムであって、前記ソフトウェア更新管理装置は、前記管理対象装置に、インストールされているソフトウェアの種類及びバージョンを紐付けて記憶する管理データベースと、ソフトウェアに更新が発生すると前記管理データベースに基づいて更新が必要な管理対象装置をリストアップするリストアップ手段と、リストアップされた管理対象装置と前記ソフトウェア更新管理装置とから構成され、前記ソフトウェア更新管理装置を根とする論理的なネットワークツリーを作成するツリー作成手段と、作成された前記論理的なネットワークツリーにおいて直接下位の管理対象装置に対し、更新ファイルと当該管理対象装置を根としたツリー情報とを配布する配布手段と、を有し、前記管理対象装置は、前記更新ファイルと前記ツリー情報とが配布されてきた場合、前記更新ファイルを自装置に適用するソフトウェア更新手段と、前記ツリー情報を参照して、自装置に対して直接下位の管理対象装置に対し、前記更新ファイルと当該管理対象装置を根としたツリー情報とを配布する配布中継手段と、前記ツリー情報を参照して、自装置より下位の管理対象装置があるか否かを判断する判断手段と、下位の管理対象装置がない場合、前記更新ファイルの適用結果を、前記更新ファイルを配布した上位の装置に対して送信する適用結果送信手段と、を有することを特徴とする。
【００１５】
また、本発明に係るエージェントプログラムは、ネットワークを介してソフトウェア更新管理装置と接続する情報処理装置に、自装置にインストールされているソフトウェアの更新ファイルと自装置を根とする論理的なネットワークツリーのツリー情報とが配布されてきた場合、前記更新ファイルを自装置に適用するソフトウェア更新手段と、前記ツリー情報を参照して、自装置に対して直接下位の管理対象装置に対し、前記更新ファイルと当該管理対象装置を根としたツリー情報とを配布する配布中継手段と、前記ツリー情報を参照して、自装置より下位の管理対象装置があるか否かを判断する判断手段と、下位の管理対象装置がない場合、前記更新ファイルの適用結果を、前記更新ファイルを配布した上位の装置に対して送信する適用結果送信手段と、を有する装置として機能させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、ネットワークや配布元の管理装置にかかる負荷を軽減することが可能となる。
【発明を実施するための最良の形態】
【００１７】
（第１の実施形態）
次に、本発明を実施するための形態について図面を参照して詳細に説明する。本発明の第１の実施形態の構成例を図１に示す。本実施形態は、管理装置１００と管理対象装置２０１ないし２０９がネットワークを介して通信可能に接続されている。
【００１８】
図１において、ネットワークは、例えばルータ３０１ないし３０３等を有して、複数のＬＡＮにまたがっていてもよい。また、管理対象装置２０１ないし２０９（以下、まとめて「管理対象装置２００」と呼ぶことがある）は、それぞれ、エージェントソフトウェア２１１ないし２１９（以下、まとめて「エージェントソフトウェア」２１０と呼ぶことがある）がインストールされている。
【００１９】
管理装置１００は、本実施形態のシステム全体を管理するマネージャソフトウェア１１０がインストールされている。マネージャソフトウェア１１０は、管理データベース１１１を管理する。なお、管理データベース１１１は、図１においては管理装置１００外に配置するよう構成したが、本発明はこの構成に限定されることなく、管理装置１００が有するハードウェアとソフトウェアの組み合わせによって実現してもよい。
【００２０】
マネージャソフトウェア１１０は、エージェントソフトウェア２１０がインストールされた管理対象装置２００上のソフトウェアの種類とバージョン情報をデータベース１１１で管理している。また、マネージャソフトウェア１１０は、管理データベース１１１が管理する、いずれかのソフトウェアにアップデートがある場合に、エージェントソフトウェア２１０の一部又は全部に対して、更新ファイル等を送信し適用の指示を行う。
【００２１】
図２に、本構成例における管理データベース１１１が記憶している情報の一例を示す。管理データベース１１１は、例えば、図２に示すような行列をデータベースとして保持している。図２において、例えば、管理対象装置２０１は、ソフトウェアＡがインストールされており、そのソフトウェアＡのバージョンは１．０である。また、管理対象装置２０３は、ソフトウェアＡとソフトウェアＢがインストールされており、ソフトウェアＡのバージョンは２．０、ソフトウェアＢのバージョンは１．０である。
【００２２】
図２に示すように、管理対象装置２００にインストールされているソフトウェアの種類の組み合わせは、装置により異なる可能性がある。また、マネージャソフトウェア１１０は、各管理対象装置２００にインストールされているソフトウェアの種類とバージョン情報を事前に取得しており、データベース１１１に登録済みである。
【００２３】
次に、図面を参照して本実施形態の動作について詳細に説明する。
まず、図３のフローチャートを用いてマネージャソフトウェア１１０の動作について説明する。図３は、マネージャソフトウェア１１０の処理の流れを示すフローチャートである。
【００２４】
図３において、マネージャソフトウェア１１０は、ソフトウェア３００の更新が発生した場合、管理データベース１１１を基に更新ファイル等の送付が必要な管理対象装置をリストアップする（ステップＳ１０１）。以下では、例として管理対象装置２０１〜２０３，２０６〜２０８がリストアップされたものとする。
【００２５】
次に、マネージャソフトウェア１１０は、マネージャソフトウェア１１０を根とし、リストアップされた管理対象装置上のエージェントソフトウェアを節とする論理的なネットワークツリーを作成する（ステップＳ１０２）。なお、この論理的なネットワークツリーは、平衡２分木であることが好ましい。論理的なネットワークツリーが平衡２分木であれば、全ての枝のホップ回数の合計が最小となるため、ネットワークの負荷を軽減することができる。以下では、論理的なネットワークツリーとして平衡２分木が作成されるものとする。
【００２６】
図４に、本例において作成される平衡２分木の例を示す。図４に示すように、マネージャソフトウェア１１０は、自身が根となり、エージェントソフトウェア２１１〜２１３，２１６〜２１８を節とする平衡２分木を作成する。
【００２７】
次に、マネージャソフトウェア１１０は、論理的なネットワークツリーにおいて自身の下位に位置する節に対して、更新ファイルと各々の節を根としたツリー情報とを送信する（ステップＳ１０３）。図５を参照して、この処理を説明する。図５は、本実施形態における更新ファイルの配布処理を説明するための図である。
【００２８】
図５において、マネージャソフトウェア１１０は、自身の下位に位置する節であるエージェントソフトウェア２１１，２１６に、更新ファイルと各々の節を根としたツリー情報とを送信している。例えば、エージェントソフトウェア２１１は、更新ファイルと、エージェントソフトウェア２１１自身を根とした下位の節（エージェントソフトウェア２１２，２１３）を含むツリー情報と、を受信する。同様に、エージェントソフトウェア２１２は、更新ファイルと、エージェントソフトウェア２１２自身を根としたツリー情報と、を受信するが、エージェントソフトウェア２１２は、ツリーの末端である葉に相当するため、下位の節はない。以上が本実施形態における更新ファイルの配布処理の概要である。
【００２９】
次に、送信が完了するとマネージャソフトウェア１１０は、論理的なネットワークツリーにおける下位の節からの適用結果の応答を待つ（ステップＳ１０４）。なお、本例ではマネージャソフトウェア１１０の下位の節は、エージェントソフトウェア２１１，２１６である。マネージャソフトウェア１１０は、応答されてきた適用結果を受信し終えるとその内容を管理データベース１１１に反映させて管理データベース１１１を更新し（ステップＳ１０５）、処理を完了する。
【００３０】
次に、図６のフローチャートと図７を参照してエージェントソフトウェア２１０の動作について説明する。図６は、本実施形態のエージェントソフトウェア２１０の処理の流れを示すフローチャートである。また、図７は、本実施形態における更新ファイルの適用結果送付処理を説明するための図である。
【００３１】
図６において、上位の節又は根から、更新ファイルとツリー情報を含むデータを受け取ったエージェントソフトウェア２００（以下では、エージェントソフトウェア２１１を例として説明する）は（ステップＳ２０１）、受け取ったツリー情報から自分がツリーの葉であるか否かを判断する（ステップＳ２０２）。
【００３２】
エージェントソフトウェア２１１は、ツリーの葉でない事を判断して（ステップＳ２０２／Ｎｏ）、自身の下位の節であるエージェントソフトウェア２１２，２１３に更新ファイルと各々の装置を根としたツリー情報を送付する（ステップＳ２０３）。その後、管理対象装置２０１に対して更新ファイルの適用を行う（ステップＳ２０４）。なお、更新ファイルの適用は、ステップＳ２０１とステップＳ２０２の間で行ってもよい。
【００３３】
次に、エージェントソフトウェア２１１は、もう一度自身がツリーの葉であるか否かを判断し（ステップＳ２０５）、ツリーの葉でないので、下位の節からの更新ファイルの適用結果の応答待ちをする（ステップＳ２０６）。本例では、エージェントソフトウェア２１１は、エージェントソフトウェア２１２，２１３からの適用結果の応答を待つ。
【００３４】
次に、エージェントソフトウェア２１１は、エージェントソフトウェア２１２，２１３から適用結果を受信し終えると、受信した適用結果リストに自身の適用結果を追加することによって受信した内容と自分の適用結果を結合し（ステップＳ２０８）、上位の節であるマネージャソフトウェア１１０（本例では根）に送信する（ステップＳ２０９）。
【００３５】
さらに、本例では葉に相当するエージェントソフトウェア２１２，２１３の処理動作を、図６を参照して説明する。データを受け取ったエージェントソフトウェア２１２，２１３は（ステップＳ２０１）、受け取ったツリー情報から自身が葉である事を判断し（ステップＳ２０２／Ｙｅｓ）、更新ファイルの適用を行う（ステップＳ２０４）。
【００３６】
エージェントソフトウェア２１２，２１３は、本実施形態の論理的なネットワークツリーにおいて、自身が葉であるので（ステップＳ２０５／Ｙｅｓ）、適用が完了すると、空の適用結果リストを作成し（ステップＳ２０７）、当該適用結果リストに自身の適用結果を登録し（ステップＳ２０８）、適用結果リストを上位の節に送信する（ステップＳ２０９）。本例においてこの上位の節はエージェントソフトウェア２１１である。
【００３７】
したがって、本実施形態のエージェントソフトウェア２１０は、図６のように処理を行うので、図７に示すような適用結果リストを、ネットワークツリーにおいて自身より上位の節に対して送信する。
【００３８】
上記本実施形態は、上述のように構成されるため、次に説明する効果を奏することができる。第１の効果は、論理的なネットワークツリーを構成しない場合と比較して管理サーバの負荷の軽減できることにある。その理由は、管理サーバは自身を直接上位の節とする節又は葉に対してのみ更新ファイルの送付と結果の受信を行えばよいためである。特に、論理的なネットワークツリーを平衡２分木として構成した場合は、管理サーバは高々２台の装置に対して更新ファイルの送付と結果の受信を行えばよいため、一層有利である。
【００３９】
第１の効果を言い換える。本実施形態は、更新ソフトウェアを配布するにあたって、全ての端末が管理サーバに接続されるのではなく、ツリー状の構成となる。したがって、本実施形態によれば、管理サーバが接続されているネットワークの局所的な負荷を抑えることができ、また、管理サーバの演算能力に更新ソフトウェアの配布処理全体にかかる処理時間が依存することを防ぐことができる。
【００４０】
第２の効果は、固定的なツリーを用いる場合と比較してネットワークの負荷が軽減できることにある。その理由は、更新ファイルの送付が不要な装置を中継する事による不要な通信を、抑止する事ができるためである。すなわち、本実施形態は、ネットワークに参加している全ての端末ではなく、ソフトウェアの送付が必要な端末のみでツリーが構成されているため、本実施形態によれば、更新ソフトウェアを必要としている端末のみにデータが送付される。その結果、ソフトウェアの送付が不要な端末を中継することによる、ネットワークの無駄な使用を抑止することができる。
【００４１】
また、本実施形態は、ツリー状の論理的なネットワークを、更新ソフトウェアの配布を行うたびに再構成する。そのため、本実施形態によれば、不要なデータの送受信を最小限に抑えることができる。そのため、ネットワークの負荷を抑えるとともに、管理サーバの負荷も最小限に抑えることができ、全体の処理速度の向上が見込まれる。
【００４２】
上述した本発明の実施形態の説明をまとめる。本実施形態ではソフトウェアの更新が発生した場合、マネージャソフトウェア１１０は事前に作成済みの管理用データベース１１１を基に、更新されるソフトウェアがインストールされている管理対象装置をリストアップする。次に、リストアップされた管理対象装置から構成される論理的なネットワークツリーを作成する。このツリーの根から葉に向かって更新の配布を行い、各節に当たる管理対象装置に中継の役割を担わせる事により、ネットワークの負荷の分散ができる。
【００４３】
また、更新の配布が不要な管理対象装置はツリーに含まれないため固定されたツリーを使用する場合と比べ、ネットワークの仕様を最小限に抑える事ができる。さらに、一つのマネージャソフトウェアから全てのエージェントソフトウェアに対して順番に更新を配布する場合と比較すると管理装置の処理能力や管理装置とネットワークを結ぶ間の通信路がボトルネックとなる事を防ぐ事ができるため全体の処理の高速化が期待できる。
【００４４】
（第２の実施形態）
本発明の他の実施形態として、管理対象装置が頻繁にネットワークから切断される場合の実施形態を説明する。本実施形態の概略構成を図８に示す。図８において、管理対象装置２００には上記第１の実施形態と同じエージェントソフトウェア２１０がインストールされている。しかし、図８に示すように管理対象装置２００の中には、ラップトップ型コンピュータを含み、そのような装置は、頻繁にネットワークから切断される。図８においては、管理対象装置２０３がネットワークから切断されている装置の例である。
【００４５】
本実施形態において、マネージャソフトウェア１１０は、通信が可能なエージェントソフトウェアのみを対象とした論理的なネットワークツリーを作成し、第１の実施形態と同様にソフトウェアの配信を行う。図９に、本実施形態における、作成された論理的なネットワークツリーの一例を示す。
【００４６】
以上、本発明の好適な実施の形態について説明したが、本発明はこれに限定されるものではなく、要旨を逸脱しない範囲内で種々の変形実施が可能である。本発明は、一台の装置から毎回異なる複数台の装置に対してネットワークを経由して情報の送受信を行うシステムに適用できる。また、上述した本発明の実施形態における各装置の制御動作は、ハードウェア、又は、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
【００４７】
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【００４８】
例えば、プログラムは、記録媒体としてのハードディスクやROM（Read Only Memory）に予め記録しておくことが可能である。あるいは、プログラムは、リムーバブル記録媒体に、一時的、あるいは、永続的に格納（記録）しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。なお、リムーバブル記録媒体としては、フロッピー（登録商標）ディスク、CD-ROM（Compact Disc Read Only Memory）、MO（Magneto optical）ディスク、DVD（Digital Versatile Disc）、磁気ディスク、半導体メモリなどが挙げられる。
【００４９】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールすることになる。また、ダウンロードサイトから、コンピュータに無線転送することになる。また、ネットワークを介して、コンピュータに有線で転送することになる。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施形態の構成を示す図である。
【図２】本発明の実施形態の管理データベースの構成を説明するための図である。
【図３】本発明の実施形態のマネージャソフトウェアの処理の流れを示すフローチャートである。
【図４】本発明の実施形態のマネージャソフトウェアが作成する論理的なネットワークツリーの一例を示す図である。
【図５】本発明の実施形態における更新ファイルの配布処理を説明するための図である。
【図６】本発明の実施形態のエージェントソフトウェアの処理の流れを示すフローチャートである。
【図７】本発明の実施形態における更新ファイルの適用結果送付処理を説明するための図である。
【図８】本発明の他の実施形態の構成を示す図である。
【図９】本発明の他の実施形態のマネージャソフトウェアが作成する論理的なネットワークツリーの一例を示す図である。
【符号の説明】
【００５１】
１００    管理装置
１１０    マネージャソフトウェア
１１１    管理データベース
２００〜２０９    管理対象装置
２１０〜２１９    エージェントソフトウェア
３０１〜３０３    ルータ
【図１】
0005092790.tif 000002
【図２】
0005092790.tif 000003
【図３】
0005092790.tif 000004
【図４】
0005092790.tif 000005
【図５】
0005092790.tif 000006
【図６】
0005092790.tif 000007
【図７】
0005092790.tif 000008
【図８】
0005092790.tif 000009
【図９】
0005092790.tif 000010