(57)【特許請求の範囲】
【請求項１】
ネットワークを介して相互に通信可能なセンタコンピュータとユーザの情報処理装置とからなるシステムであって、
前記センタコンピュータは、
複数のソフトウェア提供者が複数のユーザに提供したソフトウェアを更新するために必要な更新用ソフトウェアを記憶する複数の更新用ソフトウェア記憶領域の所在場所を示す所在場所情報と、各ユーザを識別するためのユーザ識別情報とを対応付けて記憶する記憶手段と、
前記情報処理装置から前記ユーザ識別情報を受信する通信手段と、
受信した前記ユーザ識別情報に対応する前記各更新用ソフトウェア記憶領域の所在場所情報が記された第１の一覧を作成して前記記憶手段に記憶する制御手段とを有し、
前記情報処理装置は、
前記ユーザ識別情報を前記センタコンピュータに送信して、前記センタコンピュータから前記第１の一覧を取得し、
取得した前記第１の一覧を基に前記各更新用ソフトウェア記憶領域へアクセスして、前記更新用ソフトウェアが記された複数の第２の一覧を取得し、
取得した前記各第２の一覧と現在インストールされているソフトウェアの一覧とをそれぞれ比較して、取得すべき更新用ソフトウェアがあるか否かを判断し、
取得すべきと判断された更新用ソフトウェア毎に、前記各第２の一覧を基に、前記各所在場所情報を用いて前記各更新用ソフトウェア記憶領域へアクセスして、必要な更新用ソフトウェアを取得する制御手段を有する
ことを特徴とするソフトウェア更新システム。
【請求項２】
請求項１に記載のシステムにおいて、
前記更新用ソフトウェア記憶領域は、一のソフトウェア提供者に対して複数存在し、
前記記憶手段は、当該複数の更新用ソフトウェア記憶領域に、前記一のソフトウェア提供者が提供する複数の異なるソフトウェア毎に、前記更新用ソフトウェアを当該各更新用ソフトウェア記憶領域の所在場所情報及び前記各ユーザ識別情報と対応付けて記憶することを特徴とするソフトウェア更新システム。
【請求項３】
請求項１に記載のシステムにおいて、
前記記憶手段は、前記複数の更新用ソフトウェア記憶領域に、複数のソフトウェア提供者が提供する複数の異なるソフトウェアのうち、各ユーザが利用する複数のソフトウェアの組み合わせ毎に、前記更新用ソフトウェアを当該各更新用ソフトウェア記憶領域の所在場所情報及び前記各ユーザ識別情報と対応付けて記憶することを特徴とするソフトウェア更新システム。
【請求項４】
請求項１に記載のシステムにおける情報処理装置であって、
前記更新用ソフトウェアは、更新用ソフトウェア記憶領域と対応付けられた複数のユーザの情報処理装置に現在インストールされているソフトウェアのモジュールを更新するための更新用モジュールであり、
前記第２の一覧には複数の前記更新用モジュールが記されており、
前記制御手段は、前記第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアのモジュールとを比較して、前記第２の一覧中、当該情報処理装置に現在インストールされているソフトウェアのモジュールより新しいバージョンの前記更新用モジュールが記された第３の一覧を作成し、前記作成された第３の一覧を前記ユーザに提示して、前記更新用モジュールの取得命令を入力し、前記取得命令の入力があったときに前記更新用モジュールを取得するよう制御することを特徴とする情報処理装置。
【請求項５】
請求項１に記載のシステムにおける情報処理装置であって、
前記更新用ソフトウェアは、更新用ソフトウェア記憶領域と対応付けられた複数のユーザの情報処理装置に現在インストールされているソフトウェアのモジュールに追加されるための追加用モジュールであり、
前記第２の一覧には複数の前記追加用モジュールが記されており、
前記制御手段は、前記第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアのモジュールとを比較して、当該情報処理装置に不足する追加用モジュールが記された第４の一覧を作成し、前記作成された第４の一覧を前記ユーザに提示して、前記追加用モジュールの取得命令を入力し、前記取得命令の入力があったときに前記追加用モジュールを取得するよう制御することを特徴とする情報処理装置。
【請求項６】
請求項４に記載の情報処理装置において、
前記制御手段は、前記取得命令の入力があったときに、前記所在場所情報を基に前記各更新用ソフトウェア記憶領域へ再度アクセスして前記各第２の一覧を再度取得し、前記再度取得された各第２の一覧を基に、前記比較により前記新しいバージョンの更新用モジュールが記された第５の一覧を作成し、前記作成された第５の一覧を基に前記更新用モジュールを取得するよう制御することを特徴とする情報処理装置。
【請求項７】
請求項５に記載の情報処理装置において、
前記制御手段は、前記取得命令の入力があったときに、前記所在場所情報を基に前記各更新用ソフトウェア記憶領域へ再度アクセスして前記各第２の一覧を再度取得し、前記再度取得された各第２の一覧を基に、前記比較により前記不足する追加用モジュールが記された第６の一覧を作成し、前記作成された第６の一覧を基に前記追加用モジュールを取得するよう制御することを特徴とする情報処理装置。
【請求項８】
請求項１に記載のシステムにおける情報処理装置であって、
取得すべきソフトウェアの判断から除外するソフトウェア名を予め記憶する手段を更に具備し、
前記制御手段は、前記記憶されたソフトウェア名を基に、前記ソフトウェアの更新を規制するよう制御することを特徴とする情報処理装置。
【請求項９】
請求項１に記載のシステムにおける情報処理装置であって、
当該情報処理装置は、マスタマシンとして任意のリンクマシンとネットワークを介して通信を行うことが可能であり、
前記制御手段は、前記リンクマシンが、前記受信された各第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアとを比較して、取得すべき更新用ソフトウェアがあるか否かを判断し、取得すべき更新用ソフトウェアがあると判断された場合に、取得すべきと判断された更新用ソフトウェア毎に、前記各第２の一覧を基に、前記各所在場所情報を用いて前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から必要な更新用ソフトウェアを取得するように、前記リンクマシンに対して促すよう制御することを特徴とする情報処理装置。
【請求項１０】
ネットワークを介してセンタコンピュータと通信を行うことが可能であり、メモリを有する情報処理装置であって、前記メモリに格納されたプログラムを用いて、
当該情報処理装置を利用するユーザを識別するためのユーザ識別情報を前記センタコンピュータへ送信するステップと、
前記ネットワーク上に設けられた記憶領域であって、複数のソフトウェア提供者が複数のユーザに提供したソフトウェアの更新に必要な複数のソフトウェアが記憶され、かつ、前記各ユーザのユーザ識別情報と対応付けられた複数の更新用ソフトウェア記憶領域のうち、前記送信されたユーザ識別情報に対応する複数の更新用ソフトウェア記憶領域の所在場所を示す複数の所在場所情報が記された第１の一覧を、前記センタコンピュータから取得するステップと、
前記受信された第１の一覧を基に前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から、前記記憶された更新用ソフトウェアが記された複数の第２の一覧を取得するステップと、
前記受信された各第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアの一覧とを比較して、取得すべき更新用ソフトウェアがあるか否かを判断するステップと、
取得すべき更新用ソフトウェアがあると判断された場合に、取得すべきと判断された更新用ソフトウェア毎に、前記各第２の一覧を基に、前記各所在場所情報を用いて前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から必要な更新用ソフトウェアを取得するステップと
を実行することを特徴とする情報処理装置。
【請求項１１】
ネットワークを介してセンタコンピュータと通信を行うことが可能な情報処理装置がソフトウェアを更新する方法であって、
当該情報処理装置を利用するユーザを識別するためのユーザ識別情報を前記センタコンピュータへ送信するステップと、
前記ネットワーク上に設けられた記憶領域であって、複数のソフトウェア提供者が複数のユーザに提供したソフトウェアの更新に必要な複数のソフトウェアが記憶され、かつ、前記各ユーザのユーザ識別情報と対応付けられた複数の更新用ソフトウェア記憶領域のうち、前記送信されたユーザ識別情報に対応する複数の更新用ソフトウェア記憶領域の所在場所を示す複数の所在場所情報が記された第１の一覧を、前記センタコンピュータから取得するステップと、
前記受信された第１の一覧を基に前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から、前記記憶された更新用ソフトウェアが記された複数の第２の一覧を取得するステップと、
前記受信された各第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアの一覧とを比較して、取得すべき更新用ソフトウェアがあるか否かを判断するステップと、
取得すべき更新用ソフトウェアがあると判断された場合に、取得すべきと判断された更新用ソフトウェア毎に、前記各第２の一覧を基に、前記各所在場所情報を用いて前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から必要な更新用ソフトウェアを取得するステップと
を具備することを特徴とするソフトウェア更新方法。
【請求項１２】
ネットワークを介してセンタコンピュータと通信を行うことが可能な情報処理装置に、
当該情報処理装置を利用するユーザを識別するためのユーザ識別情報を前記センタコンピュータへ送信するステップと、
前記ネットワーク上に設けられた記憶領域であって、複数のソフトウェア提供者が複数のユーザに提供したソフトウェアの更新に必要な複数のソフトウェアが記憶され、かつ、前記各ユーザのユーザ識別情報と対応付けられた複数の更新用ソフトウェア記憶領域のうち、前記送信されたユーザ識別情報に対応する複数の更新用ソフトウェア記憶領域の所在場所を示す複数の所在場所情報が記された第１の一覧を、前記センタコンピュータから取得するステップと、
前記受信された第１の一覧を基に前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から、前記記憶された更新用ソフトウェアが記された複数の第２の一覧を取得するステップと、
前記受信された各第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアの一覧とを比較して、取得すべき更新用ソフトウェアがあるか否かを判断するステップと、
取得すべき更新用ソフトウェアがあると判断された場合に、取得すべきと判断された更新用ソフトウェア毎に、前記各第２の一覧を基に、前記各所在場所情報を用いて前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から必要な更新用ソフトウェアを取得するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、ユーザが利用するソフトウェアを更新することが可能な情報処理装置、ソフトウェア更新システム、ソフトウェア更新方法及びそのプログラムに関する。
【背景技術】
【０００２】  従来から、ユーザがソフトウェアを更新するための技術としては、例えば、クライアント（ユーザ）のコンピュータ、サービスプロバイダ（センタ）のコンピュータ及びソフトウェアベンダ（ソフトウェア提供者）のコンピュータとが互いに通信可能なシステムにおいて、サービスプロバイダのコンピュータがソフトウェアの更新に関するデータベースを保持しておき、クライアントのコンピュータは当該データベースの一部をダウンロードする等して、サービスプロバイダのコンピュータとのデータのやりとりにより更新すべきソフトウェアを決定し、ソフトウェアの更新をダウンロードするためのソフトウェアベンダのサイトのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）をサービスプロバイダのコンピュータから受信して、当該ＵＲＬを用いてソフトウェアベンダのコンピュータ（サイト）からソフトウェアの更新をダウンロードする、という技術が存在する（例えば、特許文献１参照）。
【特許文献１】：特開平１０−９１４０７号公報（段落［００２７］〜［００３５］、図２等）
【発明の開示】
【発明が解決しようとする課題】
【０００３】  しかしながら、上記特許文献１に記載の技術においては、センタコンピュータおよび各ユーザコンピュータにソフトウェアに関する情報を管理するための詳細なデータベースを必要とし、かつ、両データベースに管理されるソフトウェア情報について周期的に同期をとる必要があり、センタコンピュータへの負荷のみならず、各ユーザコンピュータへの負荷をかけている（請求項４参照）。
また、センタコンピュータは、ソフトウェアの更新が必要だと判断された場合に、当該ソフトウェア更新が存在するソフトウェア提供者のサイトのＵＲＬを単にユーザに知らせるのみであるため、ソフトウェア提供者のサイトのＵＲＬが存在するか否かを常にチェックする必要がある（段落［００４４］等参照）。【０００４】  また、センタコンピュータは、各ユーザコンピュータにそれぞれどのソフトウェアがインストールされているかに関係なく、複数のユーザコンピュータにインストールされた様々なソフトウェアに関する情報をまとめて記憶しているため、各ユーザコンピュータは、自身が取得すべきソフトウェア更新の判定に際し、上記様々な情報の中から、まず自身にインストールされているソフトウェアの製品名と一致するソフトウェアに関する情報を抽出しなければならない（段落［００６４］〜［００７１］等参照）。すなわち、センタコンピュータのデータベースが各ユーザコンピュータ毎に対応していないため、各ユーザコンピュータは多くのデータの中から自身に必要な情報を取捨選択しなければならないという手間を負うことになる。【０００５】  更に、上記ユーザコンピュータにおいて最終的にソフトウェアの更新が実行されるまでには、ユーザコンピュータとセンタコンピュータとの間では、（１）テーブルの同期、（２）更新ＩＤの送信及び受信、（３）更新ＩＤの返信、（４）レコードの送信及び受信、（５）ソフトウェアベンダのサイトへのアクセスというように、少なくとも５回のデータのやり取りが必要となるため、ネットワークに輻輳が生じ、遅延の原因ともなる（段落［００６５］〜［００７５］等参照）。【０００６】  本発明は、かかる事情に鑑みてなされたものであり、ユーザ側、ソフトウェア提供者側及びセンタ側のそれぞれの負担を軽減しつつ、容易かつ効率的にソフトウェアを更新することができる情報処理装置、ソフトウェア更新システム、ソフトウェア更新方法及びそのプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明のソフトウェア更新システムは、ネットワークを介して相互に通信可能なセンタコンピュータとユーザの情報処理装置とからなるシステムであって、前記センタコンピュータは、複数のソフトウェア提供者が複数のユーザに提供したソフトウェアを更新するために必要な更新用ソフトウェアを記憶する複数の更新用ソフトウェア記憶領域の所在場所を示す所在場所情報と、各ユーザを識別するためのユーザ識別情報とを対応付けて記憶する記憶手段と、前記情報処理装置から前記ユーザ識別情報を受信する通信手段と、受信した前記ユーザ識別情報に対応する複数の前記更新用ソフトウェア記憶領域の所在場所情報が記された第１の一覧を作成して前記記憶手段に記憶する制御手段とを有し、前記情報処理装置は、前記ユーザ識別情報を前記センタコンピュータに送信して、前記センタコンピュータから前記第１の一覧を取得し、取得した前記第１の一覧を基に前記各更新用ソフトウェア記憶領域へアクセスして、更新用ソフトウェアが記された複数の第２の一覧を取得し、取得した前記各第２の一覧と現在インストールされているソフトウェアの一覧とをそれぞれ比較して、取得すべき更新用ソフトウェアがあるか否かを判断し、取得すべきと判断された更新ソフトウェア毎に、前記各第２の一覧を基に、前記各所在場所情報を用いて前記各更新用ソフトウェア記憶領域へアクセスして、必要な更新用ソフトウェアを取得する制御手段を有している。
【０００８】
この構成によれば、センタコンピュータは、ユーザ識別情報を上記更新用ソフトウェア記憶領域の所在場所情報を関連付けるだけで、ユーザ毎の更新情報を管理する必要がなく、システム全体の管理負荷および通信負荷が大幅に削減される。
【０００９】
またユーザ側の情報処理装置も、上記ユーザ識別情報を送信するだけで、自身に必要な更新用ソフトウェアが記憶された更新用ソフトウェア記憶領域の所在場所が分かるため、当該更新用ソフトウェア記憶領域へアクセスすることにより、センタコンピュータの処理に頼ることなく、容易にソフトウェアを更新することができる。
【００１０】
更に、ソフトウェア提供者も、上記センタコンピュータに上記更新用ソフトウェア記憶領域へ更新用ソフトウェアを記憶してもらうだけで、あとはセンタコンピュータ及びユーザ側の情報処理装置の処理により、ユーザに対して容易に更新用ソフトウェアを提供することができる。
【００１１】
また、センタコンピュータとユーザ側の情報処理装置及び更新用ソフトウェア記憶領域間のデータのやり取りもそれぞれ１回または２回という最低限の回数で済ますことができるため、ネットワークに輻輳や遅延が生じることを極力防ぐこともできる。
【００１２】
すなわち、上記センタコンピュータ、ユーザ側の情報処理装置及びソフトウェア提供者の３者の負担を軽減しつつ、容易かつ効率的にユーザのソフトウェアを更新することができる。
【００１３】
上記ソフトウェア更新システムにおいて、前記センタコンピュータは、前記ソフトウェア提供者から更新用ソフトウェアを受信して、当該更新用ソフトウェアを前記更新用ソフトウェア記憶領域へ追加し、当該更新用ソフトウェア記憶領域に記憶された前記第２の一覧を更新する手段を更に有していてもよい。
【００１４】
これにより、ソフトウェア提供者側が、提供するソフトウェアの更新用ソフトウェアをセンタコンピュータに送信する毎に、センタコンピュータが逐一当該更新用ソフトウェアを更新用ソフトウェア記憶領域に追加し、上記第２の一覧を更新するため、センタコンピュータ及びソフトウェア提供者はユーザに常に最新の更新用ソフトウェアを提供することができる。
【００１５】
上記ソフトウェア更新システムにおいて、前記センタコンピュータは、前記更新用ソフトウェア記憶領域に新たに更新用ソフトウェアが追加されたとき、前記ユーザ側の情報処理装置に所定の通知を行う手段を更に有していてもよい。
【００１６】
ここで上記所定の通知とは、例えばＥメールによる通知等である。これにより、ユーザは上記通知によりソフトウェア提供者側から提供されるソフトウェアの最新の更新用ソフトウェアについて即座に知得し、上記通知を契機として当該ソフトウェアを更新することができる。
【００１７】
上記システムにおいて、前記更新用ソフトウェア記憶領域は、一のソフトウェア提供者に対して複数存在し、前記記憶手段は、当該複数の更新用ソフトウェア記憶領域に、前記一のソフトウェア提供者が提供する複数の異なるソフトウェア毎に、前記更新用ソフトウェアを当該各更新用ソフトウェア記憶領域の所在場所情報及び前記各ユーザ識別情報と対応付けて記憶するようにしてもよい。
【００１８】
これにより、ソフトウェア提供者が複数の異なるソフトウェアを提供している場合には、当該ソフトウェア毎に上記更新用ソフトウェア記憶領域に更新用ソフトウェアを記憶させることで、更新用ソフトウェアの管理が容易になるとともに、ユーザ側の情報処理装置は、当該複数の更新用ソフトウェア記憶領域それぞれがユーザ識別情報と結び付けられているため、各更新用ソフトウェア記憶領域の所在場所情報さえ受信すれば、煩雑な処理を経ることなく容易にソフトウェアを更新することができる。
【００１９】
上記システムにおいて、前記記憶手段は、前記複数の更新用ソフトウェア記憶領域に、複数のソフトウェア提供者が提供する複数の異なるソフトウェアのうち、各ユーザが利用する複数のソフトウェアの組み合わせ毎に、前記更新用ソフトウェアを当該各更新用ソフトウェア記憶領域の所在場所情報及び前記各ユーザ識別情報と対応付けて記憶するようにしてもよい。
【００２０】
これにより、ユーザが複数のソフトウェア提供者が提供する複数の異なるソフトウェアを利用している場合でも、当該異なるソフトウェアが一組となって上記更新用ソフトウェア記憶領域に記憶されているため、ユーザ側の情報処理装置は、当該更新用ソフトウェア記憶領域にアクセスするだけで自身のみに必要な更新用ソフトウェアを一度に容易に取得することができる。
【００２１】
上記システムにおける情報処理装置において、前記更新用ソフトウェアは、更新用ソフトウェア記憶領域と対応付けられた複数のユーザの情報処理装置に現在インストールされているソフトウェアのモジュールを更新するための更新用モジュールであり、前記第２の一覧には複数の前記更新用モジュールが記されており、前記制御手段は、前記第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアのモジュールとを比較して、前記第２の一覧中、当該情報処理装置に現在インストールされているソフトウェアのモジュールより新しいバージョンの前記更新用モジュールが記された第３の一覧を作成し、前記作成された第３の一覧を前記ユーザに提示して、前記更新用モジュールの取得命令を入力し、前記取得命令の入力があったときに前記更新用モジュールを取得するよう制御するようにしてもよい。
【００２２】
また、上記情報処理装置において、前記更新用ソフトウェアは、更新用ソフトウェア記憶領域と対応付けられた複数のユーザの情報処理装置に現在インストールされているソフトウェアに追加されるための追加用モジュールであり、前記第２の一覧には複数の前記追加用モジュールが記されており、前記制御手段は、前記第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアのモジュールとを比較して、当該情報処理装置に不足する追加用モジュールが記された第４の一覧を作成し、前記作成された第４の一覧を前記ユーザに提示して、前記追加用モジュールの取得命令を入力し、前記取得命令の入力があったときに前記追加用モジュールを取得するよう制御するようにしてもよい。
【００２３】
ここで上記取得命令の入力があったときとは、例えば上記ユーザがアイコン等のＧＵＩ（Graphical User Interface）等を用いて取得ボタンを押下したときのほか、当該ユーザが、上記モジュールの取得をタイマーにより設定した後、当該設定された日時になったとき等も含む。
【００２４】
これにより、上記新しいバージョンのモジュールの一覧及び不足するモジュールの一覧をユーザに提示することで、ユーザに対してソフトウェアの更新の必要性を容易に通知することができ、また上記取得命令に基づいて新しいバージョンのモジュール及び不足するモジュールを取得するため、ユーザの意図に反してソフトウェアが更新されてしまうことを防ぐことができる。
【００２５】
上記情報処理装置において、前記制御手段は、前記取得命令の入力があったときに、前記所在場所情報を基に前記各更新用ソフトウェア記憶領域へ再度アクセスして前記各第２の一覧を再度取得し、前記再度取得された各第２の一覧を基に、前記比較により、前記新しいバージョンの更新用モジュールが記された第５の一覧または前記不足する追加用モジュールが記された第６の一覧を作成し、前記作成された第５または第６の一覧を基に前記更新用モジュールまたは前記追加用モジュールを取得するよう制御するようにしてもよい。
【００２６】
これにより、上記取得命令の後に再度上記各更新用ソフトウェア記憶領域へアクセスして取得すべきモジュールの第５または第６の一覧を作成して、第３または第４の一覧ではなく当該第５または第６の一覧を基にモジュールを取得しているため、例えば一度取得すべきモジュールの第３または第４の一覧を作成した後、ユーザが取得命令を発するまでの間に上記更新用ソフトウェア記憶領域に追加されたモジュールも取得することができ、よりリアルタイムな、漏れのない更新が可能となる。
【００２７】
ところで、ユーザがソフトウェアを更新する際、当該ソフトウェアを更新することによって、ユーザが利用する他のソフトウェアに影響が及び、当該他のソフトウェアの動作が不安定になる場合がある。このような場合、当該影響について予め判断又は予測し、悪影響を及ぼす恐れがある場合に当該ソフトウェアの更新を中止することは、専門的な知識を持たないユーザにとっては困難である。
【００２８】
そこで、上記情報処理装置は、取得すべきソフトウェアの判断から除外するソフトウェア名を予め記憶する手段を更に具備し、前記制御手段は、前記記憶されたソフトウェア名を基に、前記ソフトウェアの更新を規制するよう制御するようにしてもよい。
【００２９】
ここで上記取得すべきソフトウェアの判断から除外するソフトウェア名とは、例えば上記悪影響を及ぼすおそれのあるソフトウェアである。これにより、ユーザはソフトウェアの更新が他のソフトウェアに与える影響について懸念することなく、安心してソフトウェアを更新することができ、仮に悪影響を与える更新ソフトウェアが存在する場合でも、その更新を未然に規制することができる。
【００３０】
上記情報処理装置において、当該情報処理装置は、マスタマシンとして任意のリンクマシンとネットワークを介して通信を行うことが可能であり、前記制御手段は、前記リンクマシンが、前記受信された各第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアとを比較して、取得すべき更新用ソフトウェアがあるか否かを判断し、取得すべき更新用ソフトウェアがあると判断された場合に、取得すべきと判断された更新用ソフトウェア毎に、前記各第２の一覧を基に、前記各所在場所情報を用いて前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から必要な更新用ソフトウェアを取得するように、前記リンクマシンに対して促すよう制御するようにしてもよい。
【００３１】
ここで、上記ネットワークとは、例えばＬＡＮ等の小規模ネットワークの他、ＷＡＮ（Wide Area Network）やインターネット等の広域ネットワークをいう。
【００３２】
これにより、上記情報処理装置が他のリンクマシンと接続されている場合には、当該情報処理装置がトリガとなって、他の全てのリンクマシンのソフトウェアを一度に更新することができる。また、当該情報処理装置がリンクマシンの更新のトリガとはなるものの、更新用ソフトウェア自体をリンクマシンに送信するわけではないため、当該情報処理装置に掛かる負担を極力抑えることができる。
【００３３】
本発明の他の観点に係る情報処理装置は、ネットワークを介してセンタコンピュータと通信を行うことが可能であり、メモリを有する情報処理装置であって、前記メモリに格納されたプログラムを用いて、当該情報処理装置を利用するユーザを識別するためのユーザ識別情報を前記センタコンピュータへ送信するステップと、前記ネットワーク上に設けられた記憶領域であって、複数のソフトウェア提供者が複数のユーザに提供したソフトウェアの更新に必要な複数のソフトウェアが記憶され、かつ、前記各ユーザのユーザ識別情報と対応付けられた複数の更新用ソフトウェア記憶領域のうち、前記送信されたユーザ識別情報に対応する複数の更新用ソフトウェア記憶領域の所在場所を示す複数の所在場所情報が記された第１の一覧を、前記センタコンピュータから取得するステップと、前記受信された第１の一覧を基に前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から、前記記憶された更新用ソフトウェアが記された複数の第２の一覧を取得するステップと、前記受信された各第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアの一覧とを比較して、取得すべき更新用ソフトウェアがあるか否かを判断するステップと、取得すべき更新用ソフトウェアがあると判断された場合に、取得すべきと判断された更新用ソフトウェア毎に、前記各第２の一覧を基に、前記各所在場所情報を用いて前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から必要な更新用ソフトウェアを取得するステップとを実行するものである。
【００３４】
ここで上記更新用ソフトウェア記憶領域は、上記センタコンピュータ及びユーザコンピュータと通信を行うことが可能であれば、ネットワーク上のどの位置に存在していても構わない。また、上記更新用ソフトウェア記憶領域の所在場所情報とは例えばＵＲＬ（Uniform Resource Locator）である。
【００３５】
この構成によれば、上記更新用ソフトウェア記憶領域が上記ユーザコンピュータのユーザＩＤと対応付けられているため、ユーザコンピュータは、センタコンピュータから上記第１の一覧を取得しさえすれば、あとはセンタコンピュータの処理によることなく、当該第１の一覧を基に第２の一覧を取得して更新の必要性を自ら判断し、更新が必要な場合には自ら当該更新用ソフトウェア記憶領域にアクセスすることにより、容易に的確な更新用ソフトウェアを取得することができる。
【００３６】
また、上記センタコンピュータとの間では、ユーザ識別情報を送信して上記第１の一覧を取得するというやり取りのみで済み、また上記更新用ソフトウェア記憶領域も当該情報処理装置のユーザに対応した領域であるため、ネットワークに輻輳及び遅延が生じることも極力防ぐことができる。
【００３７】
更に、更新の必要性判断から更新用ソフトウェアの取得更新まで一貫した自動化も可能となる。
【００３８】
本発明のソフトウェア更新方法は、ネットワークを介してセンタコンピュータと通信を行うことが可能な情報処理装置がソフトウェアを更新する方法であって、当該情報処理装置を利用するユーザを識別するためのユーザ識別情報を前記センタコンピュータへ送信するステップと、前記ネットワーク上に設けられた記憶領域であって、複数のソフトウェア提供者が複数のユーザに提供したソフトウェアの更新に必要な複数のソフトウェアが記憶され、かつ、前記各ユーザのユーザ識別情報と対応付けられた複数の更新用ソフトウェア記憶領域のうち、前記送信されたユーザ識別情報に対応する複数の更新用ソフトウェア記憶領域の所在場所を示す複数の所在場所情報が記された第１の一覧を、前記センタコンピュータから取得するステップと、前記受信された第１の一覧を基に前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から、前記記憶された更新用ソフトウェアが記された複数の第２の一覧を取得するステップと、前記受信された各第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアの一覧とを比較して、取得すべき更新用ソフトウェアがあるか否かを判断するステップと、取得すべき更新用ソフトウェアがあると判断された場合に、取得すべきと判断された更新用ソフトウェア毎に、前記各第２の一覧を基に、前記各所在場所情報を用いて前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から必要な更新用ソフトウェアを取得するステップとを具備している。
【００３９】
また、本発明のプログラムは、ネットワークを介してセンタコンピュータと通信を行うことが可能な情報処理装置に、当該情報処理装置を利用するユーザを識別するためのユーザ識別情報を前記センタコンピュータへ送信するステップと、前記ネットワーク上に設けられた記憶領域であって、複数のソフトウェア提供者が複数のユーザに提供したソフトウェアの更新に必要な複数のソフトウェアが記憶され、かつ、前記各ユーザのユーザ識別情報と対応付けられた複数の更新用ソフトウェア記憶領域のうち、前記送信されたユーザ識別情報に対応する複数の更新用ソフトウェア記憶領域の所在場所を示す複数の所在場所情報が記された第１の一覧を、前記センタコンピュータから取得するステップと、前記受信された第１の一覧を基に前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から、前記記憶された更新用ソフトウェアが記された複数の第２の一覧を取得するステップと、前記受信された各第２の一覧と、当該情報処理装置に現在インストールされているソフトウェアの一覧とを比較して、取得すべき更新用ソフトウェアがあるか否かを判断するステップと、取得すべき更新用ソフトウェアがあると判断された場合に、取得すべきと判断された更新用ソフトウェア毎に、前記各第２の一覧を基に、前記各所在場所情報を用いて前記各更新用ソフトウェア記憶領域へアクセスし、当該各更新用ソフトウェア記憶領域から必要な更新用ソフトウェアを取得するステップとを実行させるためのものである。
【発明を実施するための最良の形態】
【００４０】  以下、本発明の実施の形態を図面に基づき説明する。【００４１】  図１は本発明の一実施形態に係るシステムの大まかな構成を示した図である。【００４２】  同図に示すように、例えばインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１０１には、センタコンピュータ１０２、複数のユーザコンピュータ１０３及びソフトウェアの更新用ソフトウェアとしてモジュールを格納した複数のモジュール格納領域１０４が接続されており、互いにインターネット１０１を介して通信を行うことが可能となっている。【００４３】  上記ユーザコンピュータ１０３及びモジュール格納領域１０４の数は、上記センタコンピュータ１０２と接続可能であればいくつであっても構わない。また、上記ユーザコンピュータ１０３は、例えば互いにＬＡＮを介して接続された社内ネットワークがインターネット介して上記センタコンピュータ１０２及びモジュール格納領域に接続されたような形態であってもよいし、本社のコンピュータと遠隔地の支社コンピュータ、またはいわゆるＳＯＨＯ（Ｓｍａｌｌ  Ｏｆｆｉｃｅ／Ｈｏｍｅ  Ｏｆｆｉｃｅ）としての各オフィスや個人事業者等が、インターネットを介して上記センタコンピュータ１０２及びモジュール格納領域１０４に接続された形態であっても構わない。【００４４】  図２は、上記センタコンピュータ１０２の構成を示す図である。【００４５】  センタコンピュータ１０２は、センタコンピュータ１０２全体の動作を制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、インターネット１０１を介して通信を行うための通信部２０４及び各種のデータが記憶されたデータ記憶部２０５等を有し、それらはバス２０６で接続されている。【００４６】  データ記憶部２０５には、ライセンステーブル２０５ａ、モジュール取得先テーブル２０５ｂ及びモジュール格納領域情報テーブル２０５ｃの各テーブルが記憶されている。【００４７】  図３は、上記ライセンステーブル２０５ａ、モジュール取得先テーブル２０５ｂ及びモジュール格納領域情報テーブル２０５ｃの内容を示した図である。【００４８】  同図に示すように、ライセンステーブル２０５ａには、個々のユーザのユニークキーとして、各ユーザコンピュータのユーザを識別するためのユーザＩＤと、当該ユーザコンピュータが有する例えばＩＰアドレスやドメイン名その他のライセンス情報が格納されている。当該ライセンステーブル２０５ａは、センタコンピュータ１０２に接続されているユーザコンピュータ１０３の数分存在する。【００４９】  モジュール取得先テーブル２０５ｂには、上記ユーザＩＤとそれに対応するモジュール格納領域１０４の上記ネットワーク１０１上の所在場所を示すＵＲＬが格納されている。モジュール格納領域１０４は複数存在し、一つのユーザＩＤに対して当該複数の領域を関連付けることが可能なため、本テーブルにおいてユーザＩＤは重複可能キーとなる。すなわち、同一のユーザＩＤに対して異なるモジュール格納領域ＵＲＬが対応付けられて格納されている場合もある。【００５０】  なお、モジュール取得先テーブル２０５ｂについては、同一のユーザＩＤに対応付けられた異なるモジュール格��領域１０４の数分のテーブルが、上記複数のユーザＩＤ毎に存在する。当該モジュール格納領域１０４の詳細については後述する。【００５１】  モジュール格納領域情報テーブル２０５ｃには、ユニークキーとしての上記モジュール格納領域ＵＲＬと、当該モジュール格納領域の種別及びロック解除キーが格納されている。【００５２】  モジュール格納領域種別とは、当該モジュール格納領域がどのような種類のモジュールを格納する領域であるかを示すものであり、具体的には、当該モジュールが、これまでのモジュールと入れ替わるべき最新のモジュール（以下、最新モジュールという）と、これまでのモジュールを維持したまま追加されるべきモジュール（以下、追加モジュールという）のどちらを格納すべき領域かという種別や、当該モジュール格納領域が後述するスキップモジュールに対応した領域であるかといった種別である。また、ロック解除キーとは、ユーザコンピュータ１０３が当該モジュール格納領域にアクセスした際に、当該領域がロックされている場合に当該ロックを解除するためのキーである。【００５３】  当該モジュール格納領域情報テーブル２０５ｃは、センタコンピュータ１０２に接続されたモジュール格納領域の数分存在する。【００５４】  これら３つのテーブルにおいては、上記ライセンステーブル２０５ａと上記モジュール取得先テーブル２０５ｂにおいてユーザＩＤが、また上記モジュール取得先テーブル２０５ｂと上記モジュール格納領域情報テーブル２０５ｃにおいてモジュール格納領域ＵＲＬがそれぞれ関連付けられることにより、３つのテーブルが全て関連付けられるようになっている。また、ユーザコンピュータ１０３は、自身のユーザＩＤを基に上記モジュール取得先テーブル２０５ｂ及びモジュール格納領域情報テーブル２０５ｃを参照することにより、上記モジュール格納領域ＵＲＬ、モジュール格納領域種別及びロック解除キーを取得することができる。【００５５】  また、図示しないが、上記３つのテーブルに格納されたデータ以外にも、センタコンピュータは各ソフトウェア提供者名、各ソフトウェア名等のデータを有していてもよい。【００５６】  図４は、上記モジュール格納領域１０４の構成を示した図である。【００５７】  同図に示すように、複数のモジュール格納領域１０４−１ないし１０４−３は、ネットワーク１０１に接続され、またそれぞれの領域が１０４−１ａ、１０４−１ｂ・・・、１０４−２ａ、１０４−２ｂというように区分けされている。なお上述したように当該モジュール格納領域１０４の数は同図における３つに限定されるものではない。【００５８】  各モジュール格納領域１０４には、ネットワーク１０１を介して各ソフトウェア提供者がセンタコンピュータ１０２に送信したソフトウェア更新用のモジュール３０２ａ、３０２ｂ・・・が格納されるとともに、当該格納されたモジュールのリスト（一覧）３０１が、センタコンピュータ１０２によって格納されている。上記モジュール３０２は、例えばセキュリティホールに対するパッチ等であってもよい。上記モジュールリスト３０１には、モジュール名と当該モジュールのバージョン情報が記載されている。また、上述したように、各領域は、上記最新モジュール���格納する領域と、上記追加モジュールを格納する領域とでその種別が分かれており、また、後述するスキップモジュールに対応する領域か否かによってもその種別が分かれている。【００５９】  当該各モジュール格納領域１０４の利用の態様としては、例えばモジュール格納領域１０４−１の領域１０４−１ａにはソフトウェア提供者Ａが提供するソフトウェアのモジュール、１０４−１ｂにはソフトウェア提供者Ｂが提供するソフトウェアのモジュールというように、ソフトウェア提供者毎に格納するようにしてもよい。【００６０】  また、各ソフトウェア提供者が複数の異なるソフトウェアを提供しているような場合、例えばソフトウェア提供者ＡがＡ、Ｂ、Ｃの３つのソフトウェア、ソフトウェア提供者ＢがＤ、Ｅの２つのソフトウェアを提供しているような場合には、モジュール格納領域１０４−１の領域１０４−１ａにはソフトウェア提供者ＡのソフトウェアＡのモジュール、領域１０４−１ｂにはソフトウェア提供者ＢのソフトウェアＤのモジュール、モジュール格納領域１０４−２の領域１０４−２ａにはソフトウェアＢのモジュール、領域１０４−２ｂにはソフトウェアＥのモジュール、モジュール格納領域１０４−３の領域１０４−３ａにはソフトウェアＣのモジュールというように、各ソフトウェア提供者の異なるソフトウェア毎に格納するようにしても構わない。この態様により、各ソフトウェア提供者は、例えばＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とアプリケーションで別々のモジュール格納領域を利用したり、複数のアプリケーションソフトウェア毎に別々のモジュール格納領域を利用したりすることができる。【００６１】  更に、ソフトウェア提供者Ａが提供するソフトウェアＡ、Ｂ及びＣのうち、例えばあるユーザはＡのみを使用し、別のユーザはＡとＢを使用し、また別のユーザはＡ、Ｂ、Ｃ全てを使用しているような場合には、例えば領域１０１−１ａにはＡのモジュールを記憶させ、領域１０１−２ａにはＡとＢのモジュールを記憶させ、領域１０１−３ａにはＡ、Ｂ、Ｃ全てのモジュールを記憶させるというように、各ユーザの使用の組み合わせに応じて、その組み合わせ毎に記憶させておくようにしてもよい。【００６２】  また、同一のソフトウェア提供者のソフトウェアのモジュールでなくとも、例えばあるユーザが、ソフトウェア提供者Ａが提供するソフトウェアＡと、ソフトウェア提供者Ｂが提供するソフトウェアＤと、ソフトウェア提供者Ｃが提供するソフトウェアＧを利用しているような場合には、それら異なるソフトウェア提供者のソフトウェアＡ、Ｄ及びＧのモジュールをユーザの利用の組み合わせに応じて同一の領域に格納するようにしても構わない。【００６３】  これにより、ソフトウェア提供者はユーザ毎のソフトウェアの管理が容易になり、またユーザコンピュータ１０３も、当該モジュール格納領域１０４にアクセスすることで、自身のソフトウェアの利用の態様に応じた更新用モジュールを一度に取得することが可能となる。【００６４】  上記いずれの態様にしても、上記各モジュール格納領域１０４には、上述したようにモジュール格納領域ＵＲＬが割り当てられ、それぞれ上記ユーザＩＤと対応付けられている。各ソフトウェア提供者は��自身が提供するソフトウェアに新たに更新用モジュールを発行すると、例えば当該モジュールをセンタコンピュータ１０２へ送信し、センタコンピュータ１０２が、例えばソフトウェア名等の関連付けにより当該モジュールを格納すべきモジュール格納領域１０４を特定して当該領域へ格納し、併せて当該領域のモジュールリスト３０１を更新する。【００６５】  また、ソフトウェア提供者が、上記センタコンピュータ１０２を介さずに直接上記モジュール格納領域１０４へ更新用モジュールを追加するようにしても構わない。この場合は、上記モジュール格納領域１０４にモジュールが新たに格納されたときに、上記モジュールリスト３０１が自動的に更新されるように上記モジュール格納領域１０４を設定しておけばよい。【００６６】  なお、当該モジュール格納領域１０４は、例えばセンタコンピュータ側がソフトウェア提供者に対して賃貸するものであり、ソフトウェア提供者は、センタコンピュータ側との賃貸借契約により当該モジュール格納領域１０４を賃借している間、当該領域を利用することができるような態様であってもよい。【００６７】  図５は、上記ユーザコンピュータ１０３の構成を示した図である。同図においては、例えば社内のＬＡＮ１０１にユーザコンピュータ１０３ａ、１０３ｂ及び１０３ｃが接続され、ネットワークを構築している場合を想定する。当該ネットワークを構成するユーザコンピュータの数はこれに限られず、通信が可能ならば何台でも構わない。【００６８】  また同図において各ユーザコンピュータ１０３は、いわゆるサーバタイプのコンピュータであり、ＬＡＮ１０１内の複数のクライアントコンピュータ（図示せず）に対し、自身の持っている機能やデータを提供する。当該各ユーザコンピュータは、例えば社内のコンピュータシステムを管理するシステム管理者によってそれらが有するソフトウェアの更新が管理されるものとする。【００６９】  同図に示すように、ユーザコンピュータ１０３ａは、ＣＰＵ４０１、通信部４０４、ソフトウェア格納部４０７及びデータ格納部４０８を有し、それらがバス４０９で接続されている。【００７０】  図６は上記ソフトウェア格納部４０７に格納されたソフトウェアの構成及びデータ格納部４０８の詳細を示した図である。【００７１】  同図（ａ）に示すように、ソフトウェア格納部には、最下層から順に、ＯＳ４１１、本実施形態においてユーザコンピュータ１０３のソフトウェアの更新を行うための更新支援ツール４１０及び各種のアプリケーションプログラム（ＡＰ）４０９ａ〜ｃの各種ソフトウェアが格納されている。上記ＯＳ４１１及びアプリケーションプログラム４０９は、複数のモジュールで構成され、当該モジュールが更新の対象となる。またＯＳ４１１には、ユーザコンピュータ１０３ａとユーザコンピュータ１０３ｂ、１０３ｃ及びその他の任意のユーザコンピュータ１０３との各種データのやり取りを可能にするための共通インターフェースとして、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）４１２が組み込まれている。【００７２】  また、同図（ｂ）に示すように、データ格納部４０８には、当該ユーザコンピュータ１０３ａ自身のＩＰアドレス及びセンタコンピュータ１０２へ接続するためのユーザＩＤ、スキップモジュール名及び連動起動先ＩＰアドレスが格納されている。【００７３】  スキップモジュール名は、取得することにより他のソフトウェアの動作に影響を及ぼす恐れのあるモジュールのモジュール名を記述したもので、当該スキップモジュール名を参照することにより、ユーザコンピュータ１０３ａが当該スキップモジュールを取得するのをキャンセルすることができる。当該モジュールのキャンセル処理については後述する。【００７４】  連動起動先ＩＰアドレスは、ユーザコンピュータ１０３ａが、マスタマシンとして他のユーザコンピュータ１０３ｂ、１０３ｃ等のリンクマシンを連動起動させて上記更新モジュールを取得させる際に必要となる連動起動先のＩＰアドレス、すなわち上記他のユーザコンピュータ１０３ｂ等のＩＰアドレスである。当該連動起動処理についても後述する。【００７５】  また、上記図５に示すように、ユーザコンピュータ１０３ａには操作入力部４０５及びモニタ４０６が接続されている。操作入力部４０５は、例えばキーボード、マウス、タッチパッド等で構成され、上記システム管理者が上記更新支援ツール４１０により更新モジュールの取得及び各種設定の際の各種入力を行う際のユーザインターフェースとなる。また、上記更新支援ツール４１０は、更新モジュールの取得や各種設定の際に、モニタ４０６に更新管理画面（図示せず）を表示させ、システム管理者は当該画面上で上記操作入力部４０５により各種操作を行う。なお、操作入力部４０５及びモニタ４０６は、上記ユーザコンピュータ１０３ａ及びその他のユーザコンピュータと接続さえされていれば、物理的に離れた位置に存在していても構わない。【００７６】  次に、以上のように構成されたシステムにおいて、ユーザコンピュータ１０３が更新用ソフトウェアとしてのモジュールを取得するまでの動作について説明する。当該動作も、上記図５及び図６の場合と同様、システム管理者が社内ＬＡＮを構築している各ユーザコンピュータ１０３のソフトウェアを更新する場合を想定して説明する。【００７７】  まず、本実施形態におけるセンタコンピュータ１０２の動作について説明する。図７は、ソフトウェアの更新処理の前提としてセンタコンピュータ１０２において必要となる処理を示したフローチャートである。【００７８】  同図（ａ）は、上記システム管理者が、上記更新支援ツール４１０を導入して、各ユーザコンピュータ１０３のソフトウェアを更新するために、センタコンピュータ１０２に新規にユーザ登録する場合の処理を示した図である。この場合、センタコンピュータ１０２は上記システム管理者に対して、当該システム管理者を識別するためのユーザＩＤを付与し、上記ライセンステーブル２０５ａ、モジュール取得先テーブル２０５ｂ及びモジュール格納領域情報テーブル２０５ｃの各テーブルのデータを追加または更新する。【００７９】  同図（ｂ）は、センタコンピュータ１０２がソフトウェア提供者から新たに更新用のモジュールを受信した場合の動作を示した図である。同図に示すように、センタコンピュータ１０２は、ソフトウェア提供者からモジュールを受信すると、例えば当該モジュールとともにソフトウェ���提供者から受信したソフトウェア名等の関連付けにより当該モジュールを格納すべきモジュール格納領域１０４を特定し、当該領域へモジュールを格納するとともに、当該領域に格納されたモジュールリストを更新する。【００８０】  なお、上述したように、各ソフトウェア提供者は、上記モジュール格納領域１０４へ直接アクセスしてモジュールを追加するようにしてもよい。【００８１】  同図（ｃ）は、ユーザコンピュータ１０３に新たにソフトウェアが追加された場合のセンタコンピュータ１０２の動作を示した図である。ユーザコンピュータ１０３に新たにソフトウェアが追加された場合には、センタコンピュータ１０２は、当該ソフトウェアを更新するためのモジュールを格納するモジュール格納領域１０４を新たに設定し、当該領域のＵＲＬを、上記ソフトウェアを追加したユーザコンピュータ１０３のユーザＩＤと対応付けて上記各テーブル２０５ａ〜２０５ｃへ格納する。【００８２】  図８は、ユーザコンピュータ１０３がソフトウェアを更新する際のセンタコンピュータ１０２の動作の流れを示したフローチャートである。【００８３】  同図に示すように、まず、センタコンピュータ１０２は、ユーザコンピュータ１０３から、当該ユーザコンピュータを識別するためのユーザＩＤを受信し（ステップ５０１）、上記ライセンステーブル２０５ａを参照して、当該ユーザコンピュータ１０３がライセンスを有するか否かを判断する（ステップ５０２）。ライセンスが無いと判断された場合には（ステップ５０３のＮＯ）、ユーザコンピュータ１０３に対してエラーのステータスを送信する（ステップ５０８）。【００８４】  ライセンスが有ると判断された場合には（ステップ５０３のＹＥＳ）、上記モジュール取得先テーブル２０５ｂを参照して、上記ユーザＩＤに対応するモジュール格納領域１０４を検索する（ステップ５０４）。そして、上記ユーザＩＤに対応するモジュール格納領域をリストにして、当該リストに上記モジュール格納領域ＵＲＬを追加していく（ステップ５０５）。当該追加処理を、上記ユーザＩＤに対応するモジュール格納領域分繰り返して（ステップ５０６のＮＯ）、対応する全てのモジュール格納領域ＵＲＬを上記モジュール格納領域リストに追加した場合には（ステップ５０６のＹＥＳ）、当該リストをユーザコンピュータ１０３が参照可能なように上記データ記憶部２０５に格納して終了する（ステップ５０７）。すなわち、センタコンピュータ１０２は、上記モジュール格納領域リストを上記データ記憶部２０５に格納し、当該データ記憶部２０５にアクセスしてきたユーザコンピュータ１０３が当該モジュール格納領域リストを取得できるようにする。なお、当該モジュール格納領域リストには、当該モジュール格納領域の種別情報と、当該モジュール格納領域１０４がロックされていた場合に当該ロックを解除するための上記ロック解除キーが含まれている。【００８５】  次に、ユーザコンピュータ１０３ａの動作を説明する。図９から図１３は、ユーザコンピュータ１０３ａがソフトウェアを更新するまでに必要な動作の流れを示したフローチャートである。【００８６】  図９に示すように、ユーザコンピュータ１０３ａの更新支援ツール４１０は、自身を��動させると、まず、自身がどのような目的で起動したものであるかを判断する（ステップ６０１）。当該起動が更新モジュールのチェックのために起動されたものである場合（ステップ６０１）には、更新支援ツール４１０は、例えば上記モニタ４０６に更新管理画面を表示させて、システム管理者に上記操作入力部４０５を操作させ、自身のユーザＩＤを、ネットワーク１０１を介してセンタコンピュータ１０２へ送信する（ステップ６０２）。なお、上記ステップ６０１において、更新モジュールのチェックのために起動されたものでない場合については図１３のフローチャート［１］において説明する。【００８７】  続いて、センタコンピュータ１０２から、上記ユーザＩＤを送信した結果のステータスを受信する（ステップ６０３）。ユーザコンピュータ１０３ａにライセンスが無い場合等、ステータスがエラーであった場合には更新支援ツール４１０はＡＰＩ４１２へエラーステータスを送信する（ステップ６０５）。【００８８】  上記ステータスがエラーでなかった場合には（ステップ６０４）、フローチャート［２］の処理へ進み、ユーザコンピュータ１０３ｂ、１０３ｃ等の連動起動対象があるか否かを判断する。【００８９】  なお、当該連動起動対象は、予め更新支援ツール４１０の管理画面等を利用して、他のユーザコンピュータのＩＰアドレス等を入力する等して予め設定しておく。当該設定されたデータは、上記データ格納部４０８の連動起動先ＩＰアドレスとして記憶されている。上記連動起動先があるか否かの判断は、当該連動起動先ＩＰアドレスとして記載されているＩＰアドレスと通信可能か否かをチェックすることにより実行される。【００９０】  連動起動対象がある場合（ステップ６０６のＹＥＳ）には、当該連動起動対象に対して、連動起動メッセージ、すなわち、連動起動先のユーザコンピュータも、ユーザコンピュータ１０３と同様に上記モジュール格納領域１０４からモジュールを取得するように促すメッセージを送信する（ステップ６０７）。当該メッセージの送信を連動起動対象全てに対して繰り返し（ステップ６０８のＮＯ）、全ての連動起動先に連動起動メッセージを送信した場合には（ステップ６０８のＹＥＳ）、図１０のフローチャート［３］の処理へと進む。なお、上記連動起動対象が無かった場合には（ステップ６０６のＮＯ）、そのままフローチャート［３］へと進む。【００９１】  続いて、図１０のフローチャート［３］に示すように、更新支援ツール４１０は、ネットワーク１０１を介して上記センタコンピュータ１０２にアクセスし、上記データ記憶部２０５を参照して、上記モジュール格納領域リストを取得する（ステップ６０９）。そして、当該受信したモジュール格納領域リストに含まれるモジュール格納領域ＵＲＬにより、上記モジュール格納領域１０４へアクセスする（ステップ６１０）。当該アクセス時にモジュール格納領域１０４がロックされている場合には（ステップ６１１のＹＥＳ）、上記モジュール格納領域リストに含まれるロック解除キーを用いてロックを解除し（ステップ６１２）、当該モジュール格納領域１０４に格納されているモジュールリスト３０１を取得する（ステップ６１３）。ロックが掛かっていない場合には���そのままモジュールリスト３０１を取得する。【００９２】  次に、更新支援ツール４１０は、上記モジュール格納領域リストに含まれる種別情報を基に、当該モジュールリスト３０１を取得したモジュール格納領域１０４がスキップモジュールに対応しているか否かを判断する（ステップ６１４）。スキップモジュールに対応しているとは、具体的には、上述のデータ格納部４０８に記載されたスキップモジュール名を基にモジュールの取得をキャンセルすることが可能か否かということである。上記モジュール格納領域１０４がスキップモジュールに対応している場合、ユーザコンピュータ１０３ａは、上記スキップモジュールの取得をキャンセルした後、例えばソフトウェア提供者が動作確認等を行って当該モジュールに問題が無いことが判明したときに、ソフトウェア提供者が当該モジュールを別のモジュール格納領域１０４に格納させることにより、当該取得をキャンセルしたモジュールを再度取得することができる。【００９３】  スキップモジュールに対応している場合には（ステップ６１４のＹＥＳ）、上記取得したモジュールリスト３０１からスキップモジュールを削除する（ステップ６１５）。また、スキップモジュールに対応していない場合には、上記種別情報を基に、上記モジュール格納領域の種別が上記追加モジュールか、それとも最新モジュールかを判断する（ステップ６１６）。種別が追加モジュールであった場合には（ステップ６１６のＹＥＳ）、上記モジュールリスト３０１に記載されたモジュールを追加モジュールリストに追加し（ステップ６１８）、種別が最新モジュールであった場合には（ステップ６１６のＮＯ）、上記モジュールを最新モジュールリストに追加する（ステップ６１７）。そして、上記モジュール格納領域リストに記載された全てのモジュール格納領域１０４にアクセスするまで上記動作を繰り返し（ステップ６１９のＮＯ）、全てアクセスした場合には（ステップ６１９のＹＥＳ）、図１１のフローチャート［４］へと進む。【００９４】  なお、本実施形態において、上記最新モジュールリストと、ユーザコンピュータ１０３ａに現在インストールされているモジュールとを比較した場合に、新しいバージョンの（バージョンを入れ替えるべき）モジュールをリストアップしたものを更新必要モジュールリストといい、上記追加モジュールリストと現在のモジュールとの差分をとった場合に、ユーザコンピュータ１０３ａにはもともと存在しないモジュールをリストアップしたものを追加必要モジュールリストというものとする。【００９５】  図１１のフローチャート［４］に示すように、まず、更新支援ツール４１０は、ユーザコンピュータ１０３ａ内に更新必要モジュールリストが既にあるか否かを判断する（ステップ６２０）。既にある場合というのは、更新支援ツール４１０が以前に更新を行った場合のリストが残っている場合をいう。既にある場合には（ステップ６２０のＹＥＳ）、当該リストを初期化し（ステップ６２１）、無い場合には上記更新必要モジュールリストを新規作成する（ステップ６２２）。【００９６】  同様に、追加必要モジュールリストが既にある場合には（ステップ６２３のＹＥＳ）当該リストを初期化し（ステップ６２４）、無い場合には上記追加必要モジュールリストを新規作成する（ステップ６２５）。【００９７】  具体的には、ユーザコンピュータ１０３ａ内のモジュールよりも新しいモジュールが上記最新モジュールリストに存在している場合には（ステップ６２６のＹＥＳ）、当該新バージョンのモジュール名を更新必要モジュールリストに追加し（ステップ６２７）、ユーザコンピュータ１０３ａ内に追加モジュールリストに記載されたモジュールが存在しない場合には（ステップ６２８のＹＥＳ）、当該モジュールを追加必要モジュールリストに追加する（ステップ６２９）。【００９８】  以上の動作を上記最新モジュールリスト及び追加モジュールリストに記載された全てのモジュールについて実行し、更新必要モジュールリスト及び追加必要モジュールリストを完成させると、更新支援ツール４１０は、ユーザコンピュータ１０３ａが取得すべきモジュールが存在することを通知するステータスをＡＰＩ４１２へ送信して（ステップ６３０）図１２のフローチャート［５］へと進む。なお、取得すべきモジュールが何もない場合には、その旨をＡＰＩ４１２へ送信し、その旨をモニタ４０６に表示する。【００９９】  次に、図１２のフローチャート［５］に示すように、更新支援ツール４１０は、上記更新／追加必要モジュールリストをモニタ４０６に表示させ（ステップ６３１）、例えばＧＵＩのボタン等により、システム管理者に、モジュールを即時取得するか、タイマー設定するか、それとも取得しないかという作業を選択させる（ステップ６３２）。【０１００】  タイマー設定する場合には、モニタ４０６にタイマー設定画面を表示させ、日時を入力させる（ステップ６３３）。そして、システム管理者が即時取得を選択したとき、または上記タイマーで設定した日時になったときに（ステップ６３４のＹＥＳ）、更新支援ツール４１０は、上記更新必要モジュールリストに基づいて、当該更新必要モジュールが格納された上記モジュール格納領域へ上記モジュール格納領域ＵＲＬを用いて再度アクセスしてモジュールを取得し（ステップ６３５）、モジュールをバージョンアップするとともに（ステップ６３６）、上記追加必要モジュールリストに基づいて、当該追加必要モジュールが格納された上記モジュール格納領域へ同様にアクセスしてモジュールを取得し（ステップ６３８）、当該モジュールをインストールする（ステップ６３９）。そしてＡＰＩへモジュール取得完了のステータスを送信することにより（６３９）、ユーザコンピュータ１０３ａの更新モジュール取得処理が終了する。【０１０１】  なお、上記連動起動メッセージを送信した場合、他のユーザコンピュータは、ユーザコンピュータ１０３ａからモジュールを取得するのではなく、ユーザコンピュータ１０３ａをトリガとして、自ら上記モジュール格納領域１０４へアクセスして、ユーザコンピュータ１０３ａと同様に自らモジュールを取得する。したがって、ユーザコンピュータ１０３ａが取得したモジュールを各リンクマシンへ送信する場合に比べて、マスタマシンとしてのユーザコンピュータ１０３ａの負担は極力抑えられる。【０１０２】  また、上記図９のステップ６０１で、更新支援ツール４１０が更新モジュールのチェック以外で起動した場合は、図１３に示すように、例えば他のユーザコンピュータ１０３ｂ、１０３ｃ等からの連動起動メッセージに基づいて自身が他のユーザコンピュータ１０３に連動して起動する場合である。この場合は、ユーザコンピュータ１０３ａは、上記フローチャート［３］ないし［５］の作業を繰り返すことになる。【０１０３】  したがって、ユーザコンピュータ１０３ａは、マスタマシンとして自らトリガとなって他のユーザコンピュータ１０３ｂ、１０３ｃ・・・等を連動起動させることもできるし、他のユーザコンピュータのリンクマシンとして連動起動メッセージを受信し、他のユーザコンピュータと同様にモジュールを取得することができる。【０１０４】  以上説明したように、本実施形態によれば、上記センタコンピュータ１０２は、上記モジュール格納領域１０４を上記ユーザＩＤ及びモジュール格納領域ＵＲＬにより管理して、ユーザコンピュータ１０３ａへ当該ＵＲＬを通知するだけで、ユーザコンピュータ１０３ａのソフトウェアを容易に更新させることができ、一方ユーザコンピュータ１０３ａも、上記ユーザＩＤを送信するだけで、取得すべきモジュールが記憶されたモジュール格納領域１０４の所在場所が分かるため、当該モジュール格納領域へアクセスすることにより、センタコンピュータ１０２の処理に頼ることなく、容易にソフトウェアを更新することができる。【０１０５】  更に、ソフトウェア提供者も、上記センタコンピュータ１０２に上記モジュール格納領域１０４へモジュールを記憶してもらうだけで、あとはセンタコンピュータ１０２及びユーザコンピュータ１０３ａの処理により、ユーザに対して容易に更新モジュールを提供することができる。【０１０６】  また、センタコンピュータ１０２とユーザコンピュータ１０３及びモジュール格納領域１０４間のデータのやり取りもそれぞれ１回または２回という最低限の回数で済ますことができるため、ネットワークに輻輳や遅延が生じることを極力防ぐこともできる。【０１０７】  なお、本発明の実施形態は上述した実施形態に限定されるものではなく、本発明の技術思想の範囲内で様々な変更が可能である。【０１０８】  例えば、上述の実施形態においては、ユーザ（システム管理者）が更新支援ツール４１０を自ら起動する例を説明したが、例えばタイマー設定により定期的に起動させるようにしてもよいし、センタコンピュータ１０２が、更新支援ツール４１０を起動させるように促すような態様にしてもよい。【０１０９】  また、上記実施形態において、上記モジュール格納領域１０４にモジュールが追加される毎に、センタコンピュータ１０２がユーザコンピュータ１０３へ通知を行って、当該通知をトリガにして更新支援ツール４１０が起動するようにしてもよい。【０１１０】  また、上述した実施形態においては、ソフトウェアを更新することによって、ユーザが利用する他のソフトウェアに悪影響が及び、当該他のソフトウェアの動作が不安定になるような場合を想定して、スキップモジュール名を上記データ格納部４０８に記載しておき、当該スキップモジュール名に基づいて、モジュールの取得をキャンセルする例について説明したが、ソフトウェア提供者側でも、悪影響を及ぼす恐れのあるモジュ��ルを完全に予測することは困難であり、上記スキップモジュールとして記述されていないモジュールでも、当該モジュールを取得することによって、ユーザの使用する他のソフトウェアの動作に悪影響が及んでしまう場合も考えられる。【０１１１】  そこで、本発明に係るシステムは、このような場合に、当該ソフトウェアを更新前の状態に戻す機能を有するようにしてもよい。【０１１２】  具体的には、ユーザコンピュータ１０３でモジュールを取得する前に、更新前のモジュールのバージョンに関する情報及びその取得先である上記モジュール格納領域ＵＲＬを予め保存しておき、更新後に上述したような問題が発生した場合に、上記保存した情報を基に、更新前のモジュールを新たな更新用ソフトウェアとして取得するようにすればよい。【０１１３】  更新支援ツール４１０は、前回モジュールを取得した際に、モジュール格納領域１０４にアクセスした履歴情報を記憶しているため、この情報を基に、現在使用しているソフトウェアのモジュールのバージョンに関する情報及びそのモジュールの格納領域のＵＲＬを保存することができる。これらの情報を、ソフトウェアの更新前に保存しておくことで、ソフトウェアを更新した後でも、それらの情報に基づいて更新前のモジュールを取得することによって、ソフトウェアを更新前の状態に戻すことが可能となる。また、この場合のユーザの操作については、例えばモニタ４０６に、ＧＵＩ等により、更新前のモジュールに戻すためのボタンを用意し、当該ボタンをユーザが操作入力部４０５により押下するような態様にすればよい。【０１１４】  また、上述した実施形態において、モジュールを取得する際には、更新支援ツール４１０により更新／追加必要モジュールリストが作成された後、ユーザがモニタ４０６にて即時取得を選択するか、タイマーを設定してその設定時間になったときにモジュール格納領域１０４へアクセスしてモジュールを取得している。しかし、モジュール格納領域１０４には、あらゆるソフトウェア提供者の新たなモジュールが絶えず追加することができるようになっているため、例えばユーザがタイマー設定をした場合には、上記更新／追加必要モジュールリストが作成されてからタイマーの設定時間になる間に、ユーザが利用しているソフトウェアについて新たなモジュールが追加されることも考えられる。また、タイマー設定する場合でなくても、上記更新／追加必要モジュールリスト作成後、ユーザがモニタ４０６上で何の操作も行わずに放っていた場合にも、その後即時取得を選択してモジュールを取得するまでの間に新たなモジュールが追加されることも考えられる。このような場合、上記更新／追加必要モジュールリストに基づいてモジュールを取得するのでは、新たに追加されたモジュールについては取得することができない。よって、ユーザは次回更新作業を行うまで当該新たに追加したモジュールを取得することができないこととなり、常に最新のバージョンのソフトウェアを利用することを望むユーザにとっては、利便性に欠ける結果となる。【０１１５】  そこで本発明においては、ユーザが即時取得を選択した場合またはタイマーの設定時間になった場合に、再度モジュール格納領域１０４にアクセスし、上記���新／追加必要モジュールリストを再度作成し、当該再度作成されたリストに基づいてモジュールを取得することも可能である。【０１１６】  図１４は、当該動作の流れを示したフローチャートである。同図においては、上記図１２と同様の動作を行い、即時取得またはタイマー設定をした後に、更新／追加必要モジュールを再作成し（ステップ７０１）その後は当該再作成したリストに基づいて、再び図１２における動作と同様の動作を行うことになる。【０１１７】
これにより、上記更新／追加必要モジュールリストを作成した後、実際にモジュールを取得する際に当該更新／追加必要モジュールリストを再作成しているため、例えばタイマー設定してから実際に取得するまでに上記モジュール格納領域１０４にモジュールが追加された場合のように、更新／追加必要モジュールリストを作成してから実際に取得するまでの間に追加されたモジュールも取得することが可能となり、よりリアルタイムな、漏れのない更新が可能となる。
【０１１８】  また、上述の実施形態においては、各ユーザコンピュータがＬＡＮによって接続されているネットワーク形態について説明したが、勿論これに限られることはなく、例えばインターネットにより各ユーザコンピュータが接続されていても上記と同様に任意に連動起動を実行することが可能である。
【産業上の利用可能性】
【０１１９】  以上のように、本発明によれば、ユーザ側、ソフトウェア提供者側及びセンタ側のそれぞれの負担を軽減しつつ、容易かつ効率的にソフトウェアを更新することができる。
【図面の簡単な説明】
【０１２０】［図１］本発明の一実施形態に係るシステムの大まかな構成を示した図である。
［図２］センタコンピュータ１０２の構成を示した図である。
［図３］ライセンステーブル２０５ａ、モジュール取得先テーブル２０５ｂ及びモジュール格納領域情報テーブル２０５ｃの内容を示した図である。
［図４］モジュール格納領域１０４の構成を示した図である。
［図５］ユーザコンピュータ１０３の構成を示した図である。
［図６］ソフトウェア格納部４０７に格納されたソフトウェアの構成及びデータ格納部４０８の詳細を示した図である。
［図７］ソフトウェアの更新処理の前提としてセンタコンピュータ１０２において必要となる処理を示したフローチャートである。
［図８］ユーザコンピュータ１０３がソフトウェアを更新する際のセンタコンピュータ１０２の動作の流れを示したフローチャートである。
［図９］ユーザコンピュータ１０３がソフトウェアを更新するまでに必要な動作の流れを示したフローチャートである。
［図１０］上記図９のフローチャートの続きを示したフローチャートである。
［図１１］上記図１０のフローチャートの続きを示したフローチャートである。
［図１２］上記図１１のフローチャートの続きを示したフローチャートである。
［図１３］ユーザコンピュータが他のユーザコンピュータにより連動起動される場合について示したフローチャートである。
［図１４］更新／追加必要モジュールリストを再作成する場合の動作を示したフローチャートである。
【符号の説明】
【０１２１】  １０２…センタコンピュータ
１０３…ユーザコンピュータ
１０４…モジュール格納領域
２０５ａ…ライセンステーブル
２０５ｂ…モジュール取得先テーブル
２０５ｃ…モジュール格納領域情報テーブル
３０１…モジュールリスト
４０６…モニタ
４１０…更新支援ツール
【図１】
0003862738.tif 000002
【図２】
0003862738.tif 000003
【図３】
0003862738.tif 000004
【図４】
0003862738.tif 000005
【図５】
0003862738.tif 000006
【図６】
0003862738.tif 000007
【図７】
0003862738.tif 000008
【図８】
0003862738.tif 000009
【図９】
0003862738.tif 000010
【図１０】
0003862738.tif 000011
【図１１】
0003862738.tif 000012
【図１２】
0003862738.tif 000013
【図１３】
0003862738.tif 000014
【図１４】
0003862738.tif 000015