(57)【要約】【課題】  必要なソフトウェアを配布する場合に、ユーザに面倒な操作を行わせることがないようにしながら、ソフトウェアをダウンロードさせるサーバにかかる負荷を低減できるようにする。【解決手段】  ソフトウェア情報管理装置に、利用対象機器の属性情報と、その利用対象機器を利用する利用側機器の属性情報とを記憶させておき、上記利用側機器の属性情報の和集合を求め（Ｓ２２）、その和集合の情報をもとに外部の情報源に問い合わせを行って、上記利用側機器が上記利用対象機器を制御するために使用するソフトウェアの情報を特定させ（Ｓ２３，Ｓ２４）、上記利用側機器の属性情報に基づき、必要な利用側機器に、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知させるようにした（Ｓ２９）。【選択図】        図１７
2006171928.tif 000002
【特許請求の範囲】
【請求項１】
第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手段と、
該手段に記憶している前記第２の機器の属性情報の和集合を求め、その和集合の情報をもとに外部の情報源に問い合わせを行って、前記第２の機器が前記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手段と、
前記属性情報記憶手段に記憶している属性情報に基づき、前記第２の機器に、前記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手段とを設けたことを特徴とするソフトウェア情報管理装置。
【請求項２】
請求項１記載のソフトウェア情報管理装置であって、
前記特定手段が特定したソフトウェアの和集合をダウンロードするダウンロード手段と、
前記属性情報記憶手段に記憶している属性情報に基づき、前記第２の機器に、前記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアを送信する手段を設けたことを特徴とするソフトウェア情報管理装置。
【請求項３】
請求項１又は２記載のソフトウェア情報管理装置であって、
前記特定手段に、定期的に前記外部の情報源に対する問い合わせを行う手段を設けたことを特徴とするソフトウェア情報管理装置。
【請求項４】
第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手段と、
前記第２の機器が第１の機器を利用するために使用するソフトウェアの情報を記憶するソフトウェア情報記憶手段と、
前記属性情報記憶手段に記憶している前記第２の機器の属性情報の和集合を求め、その和集合の情報と、前記ソフトウェア情報記憶手段に記憶している情報とを用いて、前記第２の機器が前記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手段と、
前記属性情報記憶手段に記憶している属性情報に基づき、前記第２の機器に、前記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手段と
前記特定手段が特定したソフトウェアの和集合をダウンロードするダウンロード手段と、
前記属性情報記憶手段に記憶している属性情報に基づき、前記第２の機器に、前記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアを送信する手段を設けたことを特徴とするソフトウェア情報管理装置。
【請求項５】
請求項２又は４記載のソフトウェア情報管理装置であって、
前記ダウンロード手段がダウンロードしたソフトウェアを記憶するソフトウェア記憶手段を設け、
前記送信手段を、必要なソフトウェアが前記ソフトウェア記憶手段に記憶されている場合に該手段に記憶しているソフトウェアを前記第２の機器に送信する手段としたことを特徴とするソフトウェア情報管理装置。
【請求項６】
請求項１乃至５のいずれか一項記載のソフトウェア情報管理装置であって、
前記第２の機器の属性情報を自動的に取得する手段を設けたことを特徴とするソフトウェア情報管理装置。
【請求項７】
請求項１乃至６のいずれか一項記載のソフトウェア情報管理装置であって、
前記第２の機器の属性情報の登録を受け付ける手段と、
該手段が登録を受け付けた属性情報を前記属性情報記憶手段に記憶させる手段とを設けたことを特徴とするソフトウェア情報管理装置。
【請求項８】
請求項１乃至７のいずれか一項記載のソフトウェア情報管理装置であって、
前記特定手段に、前記第２の機器の属性情報の追加又は変更の登録があった場合に前記ソフトウェアの情報の特定を行う手段を設けたことを特徴とするソフトウェア情報管理装置。
【請求項９】
第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手段と、
該手段に記憶している前記第２の機器の属性情報の和集合を求め、その和集合の情報をもとに外部の情報源に問い合わせを行って、前記第２の機器が前記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手段と、
前記属性情報記憶手段に記憶している属性情報に基づき、前記第２の機器に、前記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手段とを設けたソフトウェア情報管理装置と、
前記ソフトウェアの情報を記憶する手段と、問い合わせに応じてそのソフトウェアの情報を返す手段とを設けた前記外部の情報源である情報サーバと
を備えたことを特徴とするソフトウェア情報管理システム。
【請求項１０】
ソフトウェア情報管理装置に、
第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手順と、
該手順で記憶した前記第２の機器の属性情報の和集合を求め、その和集合の情報をもとに外部の情報源に問い合わせを行って、前記第２の機器が前記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手順と、
前記属性情報記憶手順で記憶した属性情報に基づき、前記第２の機器に、前記特定手順で特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手順とを実行させることを特徴とするソフトウェア情報管理方法。
【請求項１１】
請求項１０記載のソフトウェア情報管理方法であって、
前記ソフトウェア情報管理装置に、
前記特定手順で特定したソフトウェアの和集合をダウンロードするダウンロード手順と、
前記属性情報記憶手順で記憶した属性情報に基づき、前記第２の機器に、前記特定手順で特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアを送信する送信手順とをさらに実行させるようにしたことを特徴とするソフトウェア情報管理方法。
【請求項１２】
請求項１０又は１１記載のソフトウェア情報管理方法であって、
前記特定手順に、定期的に前記外部の情報源に対する問い合わせを行う手順を設けたことを特徴とするソフトウェア情報管理方法。
【請求項１３】
ソフトウェア情報管理装置に、
第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手順と、
前記第２の機器が第１の機器を利用するために使用するソフトウェアの情報を記憶するソフトウェア情報記憶手順と、
前記属性情報記憶手順で記憶した前記第２の機器の属性情報の和集合を求め、その和集合の情報と、前記ソフトウェア情報記憶手順で記憶した情報とを用いて、前記第２の機器が前記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手順と、
前記属性情報記憶手順で記憶した属性情報に基づき、前記第２の機器に、前記特定手順で特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手順と
前記特定手順で特定したソフトウェアの和集合をダウンロードするダウンロード手順と、
前記属性情報記憶手順で記憶した属性情報に基づき、前記第２の機器に、前記特定手順で特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアを送信する送信手順とを実行させることを特徴とするソフトウェア情報管理方法。
【請求項１４】
請求項１１又は１３記載のソフトウェア情報管理方法であって、
前記ソフトウェア情報管理装置に、
前記ダウンロード手順でダウンロードしたソフトウェアを記憶するソフトウェア記憶手順を実行させ、
前記送信手順において、必要なソフトウェアを前記ソフトウェア記憶手順で記憶してある場合に、その記憶してあるソフトウェアを前記第２の機器に送信させるようにしたことを特徴とするソフトウェア情報管理方法。
【請求項１５】
請求項１０乃至１４のいずれか一項記載のソフトウェア情報管理方法であって、
前記ソフトウェア情報管理装置に、前記第２の機器の属性情報を自動的に取得させるようにしたことを特徴とするソフトウェア情報管理方法。
【請求項１６】
請求項１０乃至１５のいずれか一項記載のソフトウェア情報管理方法であって、
前記ソフトウェア情報管理装置に、前記第２の機器の属性情報の登録を受け付けさせ、前記属性情報記憶手順においてその属性情報を記憶させるようにしたことを特徴とするソフトウェア情報管理方法。
【請求項１７】
請求項１０乃至１６のいずれか一項記載のソフトウェア情報管理方法であって、
前記ソフトウェア情報管理装置に、前記第２の機器の属性情報の追加又は変更の登録があった場合に前記特定手順を実行させ前記ソフトウェアの情報の特定を行わせるようにしたことを特徴とするソフトウェア情報管理方法。
【請求項１８】
コンピュータを、
第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手段と、
該手段に記憶している前記第２の機器の属性情報の和集合を求め、その和集合の情報をもとに外部の情報源に問い合わせを行って、前記第２の機器が前記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手段と、
前記属性情報記憶手段に記憶している属性情報に基づき、前記第２の機器に、前記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手段として機能させるためのプログラム。
【請求項１９】
コンピュータを、
第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手段と、
前記第２の機器が第１の機器を利用するために使用するソフトウェアの情報を記憶するソフトウェア情報記憶手段と、
前記属性情報記憶手段に記憶している前記第２の機器の属性情報の和集合を求め、その和集合の情報と、前記ソフトウェア情報記憶手段に記憶している情報とを用いて、前記第２の機器が前記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手段と、
前記属性情報記憶手段に記憶している属性情報に基づき、前記第２の機器に、前記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手段と、
前記特定手段が特定したソフトウェアの和集合をダウンロードするダウンロード手段と、
前記属性情報記憶手段に記憶している属性情報に基づき、前記第２の機器に、前記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアを送信する手段として機能させるためのプログラム。
【請求項２０】
請求項１８又は１９記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介して通信可能な機器において使用するソフトウェアの情報を管理するソフトウェア情報管理装置、このようなソフトウェア情報管理装置とその装置が情報源として使用する情報サーバとを備えるソフトウェア情報管理システム、ネットワークを介して通信可能な機器において使用するソフトウェアの情報を管理するソフトウェア情報管理方法、コンピュータを上記のようなソフトウェア情報管理装置として機能させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、クライアント端末装置に実行させるためのソフトウェアを記憶するサーバ装置に、予めクライアント端末装置のマシン構成やソフトウェア実行環境等の情報を登録しておき、クライアント端末装置からサーバ装置にソフトウェアの転送要求を行った場合に、サーバ装置がクライアント端末装置の情報をもとにクライアント端末装置に実行させるのに適したソフトウェアを検索し、これをクライアント端末装置に転送するようにしたネットワークコンピュータシステムが提案されている。
このようなコンピュータシステムによれば、ユーザは種々のソフトウェアをダウンロードして自身の環境に適合するか否かを確認するような面倒な操作を行うことなく、必要なソフトウェアを取得することができる。
このような技術については、特許文献１に記載されている。
【特許文献１】特開平１１−２８２６８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記のようなネットワークコンピュータシステムにおいては、サーバ装置は、自身に記憶しているソフトウェアの中からクライアント端末装置に転送するソフトウェアを選択するようにしている。従って、サーバ装置に、クライアント端末装置における種々のマシン構成やソフトウェア実行環境に対応したソフトウェアを可能な限り全て記憶させておくことが前提になっている。そして、現実的には、このようなサーバ装置は、ソフトウェアやハードウェアのメーカーが直接提供し、特定のサーバにインターネットを介してアクセスさせることが多い。
【０００４】
一方、上記のようなネットワークコンピュータシステムにおいては、各クライアント端末装置が独自にサーバ装置に問い合わせを行い、適当なソフトウェアがサーバ装置に記憶されているか否かを確認するようにしている。従って、クライアント端末装置が多数ある場合には、サーバ装置側の処理負荷が大きくなってしまうという問題があった。
また、ソフトウェアの転送も、各クライアント装置に対して個別に行うようにしているので、この点でもサーバ装置側の処理負荷が大きくなってしまうという問題があった。
【０００５】
この発明は、このような問題を解決し、コンピュータ等の機器又はその機器を利用するユーザに必要なソフトウェアを配布する場合に、ユーザに面倒な操作を行わせることがないようにしながら、ソフトウェアをダウンロードさせるサーバにかかる負荷を低減できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、この発明のソフトウェア情報管理装置は、第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手段と、その手段に記憶している上記第２の機器の属性情報の和集合を求め、その和集合の情報をもとに外部の情報源に問い合わせを行って、上記第２の機器が上記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手段と、上記属性情報記憶手段に記憶している属性情報に基づき、上記第２の機器に、上記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手段とを設けたソフトウェア情報管理装置である。
【０００７】
このようなソフトウェア情報管理装置において、上記特定手段が特定したソフトウェアの和集合をダウンロードするダウンロード手段と、上記属性情報記憶手段に記憶している属性情報に基づき、上記第２の機器に、上記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアを送信する手段を設けるとよい。
さらに、上記特定手段に、定期的に上記外部の情報源に対する問い合わせを行う手段を設けるとよい。
【０００８】
また、この発明は、第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手段と、上記第２の機器が第１の機器を利用するために使用するソフトウェアの情報を記憶するソフトウェア情報記憶手段と、上記属性情報記憶手段に記憶している上記第２の機器の属性情報の和集合を求め、その和集合の情報と、上記ソフトウェア情報記憶手段に記憶している情報とを用いて、上記第２の機器が上記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手段と、上記属性情報記憶手段に記憶している属性情報に基づき、上記第２の機器に、上記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手段と、上記特定手段が特定したソフトウェアの和集合をダウンロードするダウンロード手段と、上記属性情報記憶手段に記憶している属性情報に基づき、上記第２の機器に、上記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアを送信する手段を設けたソフトウェア情報管理装置も提供する。
【０００９】
上記の各ソフトウェア情報管理装置において、上記ダウンロード手段がダウンロードしたソフトウェアを記憶するソフトウェア記憶手段を設け、上記送信手段を、必要なソフトウェアが上記ソフトウェア記憶手段に記憶されている場合にその手段に記憶しているソフトウェアを上記第２の機器に送信する手段とするとよい。
さらに、上記第２の機器の属性情報を自動的に取得する手段を設けるとよい。
【００１０】
さらに、上記第２の機器の属性情報の登録を受け付ける手段と、その手段が登録を受け付けた属性情報を上記属性情報記憶手段に記憶させる手段とを設けるとよい。
さらにまた、上記特定手段に、上記第２の機器の属性情報の追加又は変更の登録があった場合に上記ソフトウェアの情報の特定を行う手段を設けるとよい。
【００１１】
また、この発明のソフトウェア情報管理システムは、第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手段と、その手段に記憶している上記第２の機器の属性情報の和集合を求め、その和集合の情報をもとに外部の情報源に問い合わせを行って、上記第２の機器が上記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手段と、上記属性情報記憶手段に記憶している属性情報に基づき、上記第２の機器に、上記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手段とを設けたソフトウェア情報管理装置と、上記ソフトウェアの情報を記憶する手段と、問い合わせに応じてそのソフトウェアの情報を返す手段とを設けた上記外部の情報源である情報サーバとを設けたソフトウェア情報管理システムである。
【００１２】
また、この発明のソフトウェア情報管理方法は、ソフトウェア情報管理装置に、第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手順と、その手順で記憶した上記第２の機器の属性情報の和集合を求め、その和集合の情報をもとに外部の情報源に問い合わせを行って、上記第２の機器が上記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手順と、上記属性情報記憶手順で記憶した属性情報に基づき、上記第２の機器に、上記特定手順で特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手順とを実行させるものである。
【００１３】
このようなソフトウェア情報管理方法において、上記ソフトウェア情報管理装置に、上記特定手順で特定したソフトウェアの和集合をダウンロードするダウンロード手順と、上記属性情報記憶手順で記憶した属性情報に基づき、上記第２の機器に、上記特定手順で特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアを送信する送信手順とをさらに実行させるようにするとよい。
さらに、上記特定手順に、定期的に上記外部の情報源に対する問い合わせを行う手順を設けるとよい。
【００１４】
また、この発明は、ソフトウェア情報管理装置に、第１の機器を利用する第２の機器の属性情報を記憶する属性情報記憶手順と、上記第２の機器が第１の機器を利用するために使用するソフトウェアの情報を記憶するソフトウェア情報記憶手順と、上記属性情報記憶手順で記憶した上記第２の機器の属性情報の和集合を求め、その和集合の情報と、上記ソフトウェア情報記憶手順で記憶した情報とを用いて、上記第２の機器が上記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手順と、上記属性情報記憶手順で記憶した属性情報に基づき、上記第２の機器に、上記特定手順で特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手順と、上記特定手順で特定したソフトウェアの和集合をダウンロードするダウンロード手順と、上記属性情報記憶手順で記憶した属性情報に基づき、上記第２の機器に、上記特定手順で特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアを送信する送信手順とを実行させるソフトウェア情報管理方法も提供する。
【００１５】
これらの各ソフトウェア情報管理方法において、上記ソフトウェア情報管理装置に、上記ダウンロード手順でダウンロードしたソフトウェアを記憶するソフトウェア記憶手順を実行させ、上記送信手順において、必要なソフトウェアを上記ソフトウェア記憶手順で記憶してある場合に、その記憶してあるソフトウェアを上記第２の機器に送信させるようにするとよい。
さらに、上記ソフトウェア情報管理装置に、上記第２の機器の属性情報を自動的に取得させるようにするとよい。
【００１６】
さらに、上記ソフトウェア情報管理装置に、上記第２の機器の属性情報の登録を受け付けさせ、上記属性情報記憶手順においてその属性情報を記憶させるようにするとよい。
さらにまた、上記ソフトウェア情報管理装置に、上記第２の機器の属性情報の追加又は変更の登録があった場合に上記特定手順を実行させ上記ソフトウェアの情報の特定を行わせるようにするとよい。
【００１７】
また、この発明のプログラムは、コンピュータを、第１の機器を利用する第２の機器の属性情報とを記憶する属性情報記憶手段と、その手段に記憶している上記第２の機器の属性情報の和集合を求め、その和集合の情報をもとに外部の情報源に問い合わせを行って、上記第２の機器が上記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手段と、上記属性情報記憶手段に記憶している属性情報に基づき、上記第２の機器に、上記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手段として機能させるためのプログラムである。
【００１８】
あるいは、コンピュータを、第１の機器を利用する第２の機器の属性情報とを記憶する属性情報記憶手段と、上記第２の機器が第１の機器を利用するために使用するソフトウェアの情報を記憶するソフトウェア情報記憶手段と、上記属性情報記憶手段に記憶している上記第２の機器の属性情報の和集合を求め、その和集合の情報と、上記ソフトウェア情報記憶手段に記憶している情報とを用いて、上記第２の機器が上記第１の機器を利用するために使用するソフトウェアの情報を特定する特定手段と、上記属性情報記憶手段に記憶している属性情報に基づき、上記第２の機器に、上記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアの位置を示す位置情報を通知する通知手段と、上記特定手段が特定したソフトウェアの和集合をダウンロードするダウンロード手段と、上記属性情報記憶手段に記憶している属性情報に基づき、上記第２の機器に、上記特定手段が特定したソフトウェアのうち、その第２の機器での使用に適したソフトウェアを送信する手段として機能させるためのプログラムである。
【００１９】
また、この発明の記録媒体は、上記のプログラムを記録したコンピュータ読取可能な記録媒体である。
【発明の効果】
【００２０】
以上のようなこの発明のソフトウェア情報管理装置、ソフトウェア情報管理システム、またはソフトウェア情報管理方法によれば、コンピュータ等の機器又はその機器を利用するユーザに必要なソフトウェアを配布する場合に、ユーザに面倒な操作を行わせることがないようにしながら、ソフトウェアをダウンロードさせるサーバにかかる負荷を低減できるようにすることができる。
また、この発明のプログラムによれば、コンピュータを上記のソフトウェア情報管理装置として機能させてその特徴を実現し、同様な効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、この発明を実施するための最良の形態について、図面を参照して説明する。
まず、この発明のソフトウェア情報管理装置及びソフトウェア情報管理システムの実施形態を含むソフトウェア更新システムの構成について説明する。図１は、その画像処理システムの構成を示したブロック図である。
図１に示すように、この画像処理システムは、ユーザ側環境に設置された装置と、これらの装置とインターネット６０のようなネットワークを介して通信可能な情報サーバ７０及びファイルサーバ８０とを備えている。
【００２２】
そして、ユーザ側環境Ａには、ソフトウェア更新装置１０、パーソナルコンピュータ（ＰＣ）２１，２２，２３、ＭＦＰ３１，３２、プリンタ３３，３４、ファイアウォール４０を設け、これらをローカルエリアネットワーク（ＬＡＮ）５０によって接続している。
そして、このうちＰＣ２１，２２，２３は、ＣＰＵ，ＲＯＭ，ＲＡＭ，ネットワークインタフェース（Ｉ／Ｆ），ハードディスクドライブ（ＨＤＤ）等を備えた公知のものでよく、ＣＰＵに種々のアプリケーションプログラムを実行させることにより、種々の動作を行わせることができる。また、管理者用と一般ユーザ用とを区別できるようにし、後述するようなソフトウェア更新装置１０への機器の登録のような環境設定に係る操作は、管理者用の端末からのみ行えるようにするとよい。また、これらの区別はパスワード等の識別情報によって行うようにしてもよい。
【００２３】
また、ＭＦＰ３１，３２は、スキャン，プリント，コピー，ファクシミリ通信等の種々の機能を有する画像処理装置であり、プリンタ３３，３４は、外部から受信したデータに基づいて用紙に画像を形成する画像形成装置であり、どちらも公知のものでよい。そして、これらの装置は、ＬＡＮ５０を介してＰＣ２１，２２，２３から制御し、ＰＣ２１，２２，２３との間での画像データの送受信や、ＰＣ２１，２２，２３からの指示に基づく画像形成等を行うことができるようにしている。
【００２４】
なお、ＰＣ２１，２２，２３は、ＭＦＰ３１，３２やプリンタ３３，３４を制御する際に、必要な制御ソフトウェアを実行して制御を行う。そして、このように制御ソフトウェアを実行して他の機器の制御を行う機器が、第２の機器（以下「利用側機器」という）に該当し、制御される側の機器が第１の機器（以下「利用対象機器」という）に該当する。また、制御には、利用側機器におけるオペレーティングシステム（ＯＳ）や利用言語といった環境や、利用対象機器の機種等によって異なるソフトウェアを使用させることが適当であり、ここではそのようにしている。これらの、利用対象機器の利用（制御）のために利用側機器に使用させるソフトウェアの種類を決めるための情報が、属性情報に該当する。
【００２５】
そして、ソフトウェア更新装置１０が、この発明のソフトウェア情報管理装置の実施形態であり、登録されている利用側機器や利用対象機器の属性情報を記憶し、その属性情報をもとに各利用側機器において利用対象機器の制御に使用するソフトウェアの情報を管理すると共に、必要なソフトウェアが更新された場合にその旨の通知を行い、利用側機器からの要求に応じて更新後のソフトウェアをその利用側機器に送信して記憶させる機能を有する。
【００２６】
ソフトウェア更新装置１０に記憶させる属性情報としては、ＰＣ等の利用側機器については、使用ＯＳ，使用言語，利用（制御）する利用対象機器の種類等の情報が考えられる。また、利用対象機器が画像形成装置である場合には、その他の情報として、プリント制御に使用するプリンタ言語（ＰＤＬ：Printer Description Language）も考えられる。一方、ＭＦＰやプリンタ等の利用対象機器については、利用対象機器の種類を特定するために使用する機種名や機種コード等の情報が考えられる。
【００２７】
なお、どのような属性情報を持つ装置にどのようなソフトウェアが適しているあるいは必要であるかの情報は、外部の情報源である情報サーバ７０に蓄積しておき、ソフトウェア更新装置１０が登録されているの機器の属性情報をもとに情報サーバ７０に問い合わせてその情報を取得するようにしている。そして、ソフトウェア更新装置１０と情報サーバ７０とが、この発明のソフトウェア情報管理システムの実施形態を構成する。
また、ＰＣに使用させるソフトウェア自体は、ファイルサーバ８０に蓄積しておき、ソフトウェア更新装置１０が必要なもののみをここからダウンロードして各ＰＣに配布するようにしている。
【００２８】
そして、情報サーバ７０やファイルサーバ８０は、例えばＭＦＰ３１，３２やプリンタ３３，３４のメーカーが提供することができ、ソフトウェア更新装置１０からインターネット６０等のネットワークを介して通信可能な位置に設けてあればよい。また、ソフトウェア更新装置がどの情報サーバ７０やファイルサーバ８０にアクセスすればよいかを把握できれば、これらが１つずつである必要はなく、種々のメーカーが提供するサーバを並列的に利用することも可能である。
【００２９】
ただし、ユーザ側環境にはファイアウォール４０を設置し、ＬＡＮ５０とインターネット６０とをこのファイアウォール４０を介して接続し、セキュリティを考慮してＬＡＮ５０の外部からのアクセスを制限するようにしている。従って、ソフトウェア更新装置１０と情報サーバ７０やファイルサーバ８０との間の通信は、常にソフトウェア更新装置１０から通信要求を発して行うようにしている。
【００３０】
ここで、図２にソフトウェア更新装置のハードウェア構成を示す。
図２に示すように、ソフトウェア更新装置１０は、ＣＰＵ１０１，ＲＯＭ１０２，ＲＡＭ１０３，ＨＤＤ１０４，ネットワークＩ／Ｆ１０５を備えている。
そして、ＣＰＵ１０１は、ソフトウェア更新装置１０全体を統括制御する制御手段であり、ＲＯＭ１０２やＨＤＤ１０４に記録された種々のプログラムを実行することにより、属性情報記憶手段，特定手段，通知手段，ダウンロード手段等の各手段として機能し、後述するようにこの実施形態の特徴に係る種々の機能を実現する。
【００３１】
ＲＯＭ１０２は、不揮発性の記憶手段であり、ＣＰＵ１０１が実行するプログラムや、固定的なパラメータ等を記憶する。ＲＯＭ１０２を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
ＲＡＭ１０３は、一時的に使用するデータを記憶したり、ＣＰＵ１０１のワークメモリとして使用したりする記憶手段である。
ＨＤＤ１０４は、書き換え可能な不揮発性記憶手段であり、ＣＰＵ１０１が実行するプログラムや、装置の電源がＯＦＦされた後でも保持しておく必要があるパラメータの値等を記憶する。
【００３２】
ネットワークＩ／Ｆ１０５は、ソフトウェア更新装置１０をＬＡＮ５０等のネットワークに接続するためのインタフェースであり、例えばイーサネット（登録商標）方式の通信を行うためのインタフェースである。そして、ネットワークを介して他の装置と通信を行う場合、このネットワークＩ／Ｆ１０５とＣＰＵ１０１とが通信手段として機能する。なお、ネットワークとしては、有線、無線を問わず種々の方式のものが使用可能であり、ネットワークＩ／Ｆ１０５は、ネットワークの規格や使用する通信プロトコル等に応じて適切なものを用意する。また、複数の規格に対応させて複数のネットワークＩ／Ｆ１０５を設けることも当然可能である。
【００３３】
なお、以上のようなハードウェアとして、公知のＰＣを利用したり、ＭＦＰのような画像処理装置に備えるハードウェアを利用したりするようにしてもよい。このようにする場合には、ＣＰＵに所要の制御プログラムを実行させることにより、図１に示したＰＣ２１，２２，２３やＭＦＰ３１，３２あるいはプリンタ３３，３４に、ソフトウェア更新装置１０の機能を兼ねさせることもできる。
【００３４】
次に、図３に、ソフトウェア更新装置の機能構成を示す。
この図に示すように、ソフトウェア更新装置１０は、登録情報管理部１１１，スケジューラ１１２，ファイル選定部１１３，通信部１１４，ダウンロード部１１５，更新通知部１１６，ソフトウェア管理部１１７，ウェブサービス機能部１１８，登録情報記憶部１１９，ソフトウェア記憶部１２０を備えている。これらの機能は、ＣＰＵ１０１が必要な制御プログラムを実行して図２に示したハードウェアの動作を制御することにより実現されるものである。
【００３５】
そして、登録情報管理部１１１は、上述した利用側機器及び利用対象機器の属性情報や、機器の利用者の情報としてソフトウェアが更新された場合の通知先アドレス及び名前等を管理する機能を有し、ユーザからの指示に応じて、これらの情報の登録、検索、削除等を行う。なお、この情報は例えばＸＭＬ（eXtensible Markup Language）形式のデータとして記憶することができる。
【００３６】
図４に、利用側機器の属性情報及びその機器の利用者の情報を記載したＸＭＬデータの例を示す。
この例においては、利用側機器の属性情報として「機種名」、「言語」、「利用ＯＳ」、「プリンタ言語」のタグ内の情報を記憶し、その利用者の情報として「名前」、「パスワード」、「メールアドレス」のタグ内の情報を記憶するようにしている。
【００３７】
図３の説明に戻ると、登録情報管理部１１１はまた、新たに利用側機器が登録された場合、その機器での利用に適したソフトウェアの検索を開始させるためのトリガを発生させる機能も有する。また、これとは別に、ソフトウェア更新装置１０に登録されている利用側機器について定期的に更新用ソフトウェアの検索を行う場合に、利用機器の属性情報の和集合を求め、検索すべき範囲を定める機能も有するが、これらの点については後に詳述する。
なお、登録情報管理部１１１が管理する属性情報等を実際に記憶するのは登録情報記憶部１１９であり、この記憶部はハードウェアとしてＨＤＤ１０４に設けることができる。また、登録情報記憶部１１９が属性情報記憶手段に該当する。
【００３８】
次に、スケジューラ１１２は、上記の定期的な更新用ソフトウェアの検索を行うタイミングを計る機能を有し、設定された時刻になったり、前回検索時から設定された時間経過したりしたら、検索を開始させるためのトリガを発生させる。
ファイル選定部１１３は、登録情報記憶部１１９に記憶されている利用側機器の属性情報に基づき、通信部１１４に依頼して情報サーバ７０への問い合わせを行い、応答を参照して各利用側機器での利用に適したソフトウェアを特定する機能を有する。また、特定したソフトウェアがソフトウェア記憶部１２０に記憶されていない場合にダウンロード部１１５にファイルサーバ８０からそのソフトウェアをダウンロードさせたり、利用側機器にソフトウェアを更新させるべき場合に更新通知部１１６にその旨の通知を行わせたりする機能も有する。このファイル選定部１１３が特定手段に該当する。
【００３９】
通信部１１４は、情報サーバ７０への問い合わせ及び応答の取得や、ファイルサーバ８０からのソフトウェアのダウンロード等の通信を行う機能を有する。これらの通信は、ＳＯＡＰ（Simple Object Access Protocol）やＨＴＴＰ（HyperText Transfer Protocol）等のプロトコルを利用して行うことができる。その他、ＦＴＰ（File Transfer Protocol）,ＣＯＭ（Component Object Model），ＣＯＲＢＡ（Common Object Request Broker Architecture）等の既知のプロトコル（通信規格），技術，仕様などを利用することもできる。
【００４０】
ダウンロード部１１５は、ファイル選定部１１３からの指示に応じて、通信部１１４に依頼してファイルサーバ８０から必要なソフトウェアのダウンロードを行い、ソフトウェア管理部１１７にこれを渡して保存させる機能を有する。このダウンロード部１１５がダウンロード手段に該当する。
【００４１】
更新通知部１１６は、ファイル選定部１１３からの指示に基づき、利用側機器の登録時にその利用側機器での利用に適したソフトウェアが発見されたり、登録済みの利用側機器について更新すべきソフトウェアが発見されたりした場合に、その旨をその機器の利用者に通知する機能を有する。この通知の手段としては、例えば登録情報記憶部１１９に記憶されている利用者のメールアドレスに宛てて、対象のソフトウェアの位置情報として、そのソフトウェアを取得するためにアクセスすべきＵＲＬ（Uniform Resource Locator）あるいはＵＲＩ（Uniform Resource Identifier）を記載した電子メールを送信することが考えられる。そして、この位置情報は、ソフトウェア更新装置１０内部の位置を示すものとするとよいが、ファイルサーバ８０から直接ソフトウェアをダウンロードするためのウェブページ等の位置を示すものでもよい。
【００４２】
ソフトウェア管理部１１７は、ダウンロード部１１５がダウンロードしたソフトウェアをソフトウェア記憶部１２０に記憶させると共に、ソフトウェア記憶部１２０が記憶しているソフトウェアの情報を管理する機能を有する。ソフトウェア記憶部１２０は、ハードウェアとしてはＨＤＤ１０４により実現することができる。また、ソフトウェアの情報には、各ソフトウェアがどのような属性情報を有する利用側機器における使用に適するものであるか、を示す情報を含むものとする。それ以外に、ソフトウェアの格納位置や、ファイル名、サイズ、バージョン等の情報も記憶させるようにするとよい。なお、これらの情報も例えばＸＭＬ形式のデータとして記憶することができる。
【００４３】
図５に、ソフトウェア更新装置に記憶しているソフトウェアに関する情報を記載したＸＭＬデータの例を示す。
この例では、１つの「商品」タグの内容が１つのソフトウェアに関する情報である。また、その下位の「機種名」、「言語」、「利用ＯＳ」、「プリンタ言語」タグの内容は、属性情報と対応するものであり、これらのタグの内容が一致する利用側機器での使用に適するソフトウェアであることを示すものである。
【００４４】
再度図３の説明に戻ると、ウェブサービス機能部１１８は、利用側機器のユーザからのアクセスを受け付けると共に、そのユーザからの指示を受け付けるためのＧＵＩ（グラフィカル・ユーザ・インタフェース）を提供する機能、及びその指示に応じたサービスを提供する機能を有する。このＧＵＩには、利用側機器及び利用対象機器の属性情報や利用者の情報を提供するためのものや、更新通知部１１６がユーザに通知したＵＲＬにおいてソフトウェアのダウンロードの指示を受け付けるためのものを含む。
【００４５】
ソフトウェア更新装置１０は、以上の各機能部により、利用側機器及び利用対象機器の属性情報の登録を受け付け、その属性情報をもとに各利用側機器に利用対象機器を制御させるために使用させるに適したソフトウェアを検出し、利用側機器又はその利用者に通知する機能を有する。また、そのソフトウェアをファイルサーバ８０から取得し、利用側機器又はその利用者からの要求に応じて利用側機器に送信する機能も有する。さらに、属性情報をもとに、各利用側機器に使用させるに適したソフトウェアの更新有無を検出し、ソフトウェアの更新があった場合に同様に通知と送信を行う機能も有する。
【００４６】
次に、図６に、ソフトウェア更新装置１０への利用側機器の登録を受け付けるための画面の例を示す。
この図に示す登録画面２００は、ＰＣ等のブラウザからの所定のアドレスへのアクセスに応じてウェブサービス機能部１１８がデータを提供し、そのブラウザに表示させるものである。そして、この画面は、ソフトウェア更新装置１０への利用側機器の属性情報の登録を受け付けると共に、その機器を利用する利用者の情報の登録も受け付けるためのものである。
【００４７】
そして、登録画面２００には、利用者及び利用側機器の情報を入力する入力部として、名前入力部２０１，パスワード入力部２０２，メールアドレス入力部２０３を設けている。パスワードは、一旦登録した情報を変更又は削除する際の認証に使用するものであり、メールアドレスは、ソフトウェアの更新等の通知先として使用するものである。
また、利用側機器の属性情報を入力する入力部として、利用ＯＳ入力部２０４，利用言語入力部２０５，利用機種入力部２０６，２０８，利用プリンタ言語入力部２０７，２０９を設けている。ここでは、１利用者について２つの利用対象機器を設定することができるようにしている。また、利用ＯＳや利用言語は２つの利用対象機器について共通な情報としている。
【００４８】
また、各入力部２０４〜２０９は、プルダウンメニューとしており、予め登録されている選択肢から適当なものを選択して入力するようにしている。そして、利用機種の選択肢としては、ソフトウェア更新装置１０に属性情報が登録されている利用対象機器を用意するようにしている。そして、ファイルサーバ８０においてソフトウェアの情報が蓄積されているような利用対象機器のみを選択肢としておくことにより、対象外の機器を利用対象機器として登録されてしまい、無駄な問い合わせを行うことになったり、ユーザに混乱を生じさせたりすることを防止できる。
【００４９】
そして、ユーザが登録ボタン２１０を押下すると、各入力部に入力したデータがソフトウェア更新装置１０に転送され、登録情報管理部１１１により図４に示したような形式で登録情報記憶部１１９に登録される。この登録に係る処理が、属性情報記憶手順の処理である。
そして、登録情報管理部１１１は、この新規登録を行う際、ファイル選定部１１３に、新たに登録された利用側機器での使用に適したソフトウェアの検索を実行させる。
【００５０】
なお、１台の利用側機器から複数の利用対象機器を利用する場合等には、１台の利用側機器について複数通りの属性情報が登録されることがあり得る。そして、このような場合、実際には１台の利用側機器であっても属性情報毎に別々の機器が存在するものとして取り扱うようにするとよい。
また、ここでは図示は省略したが、利用側機器について属性情報の変更を指示することも可能であり、登録情報管理部１１１は、この変更の場合にも、変更後の利用側機器での使用に適したソフトウェアの検索を実行させる。
【００５１】
図７に、この検索の処理のフローチャートを示す。
ソフトウェア更新装置１０のＣＰＵ１０１は、登録情報管理部１１１が所定のトリガを発生させると、図７のフローチャートに示す処理を開始する。
そして、まずステップＳ１１で、新たに登録された機器の属性情報が既に登録されている機器の属性情報のいずれとも異なるか否か判断する。そして、いずれとも異なれば、新たに登録された機器の条件では過去に情報サーバ７０への問い合わせは行っていないことがわかるので、ステップＳ１２で、登録された機器の属性情報をもとに、その機器での使用に適した、すなわちその属性情報が示す条件下での使用に適したソフトウェアを情報サーバ７０に問い合せる。この問い合わせは、ＳＯＡＰリクエストを記載したＨＴＴＰリクエストを送信して行うことができる。
そして、ステップＳ１３で情報サーバ７０からの応答を取得するが、この応答は、ＳＯＡＰレスポンスを記載したＨＴＴＰレスポンスとして取得することができる。
これらのステップＳ１２及びＳ１３の処理は特定手順の処理であり、この処理においてはＣＰＵ１０１が特定手段として機能する。
【００５２】
ここで、図８に上記の問い合わせのＳＯＡＰリクエストの例を示す。
この例において、「条件」のタグ１つの内容が１つの条件に係る問い合わせを示し、例えば「条件１」の内容は、「ＭＦＰ＿Ｘ」という機種を利用するプログラムで、「ＯＳ＿ａ」というＯＳ上で動作させ、日本語を使用し、プリンタ言語としてｒｐｃｓを使用する環境に適したソフトウェアの情報についての問い合わせを行うことを示すものである。
【００５３】
また、図９に応答のＳＯＡＰレスポンスの例を示す。
この例において、「ソフトウェア更新装置関連ソフトウェア」のタグ１つの内容が１つの問い合わせに対応する応答を示し、例えば「ソフトウェア更新装置関連ソフトウェア１」の内容は、問い合わせ時に「条件１」として記載した環境に適したソフトウェアに関する情報を記載したものである。
【００５４】
図７の説明に戻ると、ステップＳ１３の後はステップＳ１４に進み、ステップＳ１３で取得した応答をもとに、新たに登録された機器での使用に適したソフトウェアをソフトウェア記憶部１２０に記憶しているか否か判断する。
そして、記憶していなければ、ステップＳ１５に進み、ファイルサーバ８０にアクセスして記憶していなかったソフトウェアをダウンロードしてソフトウェア記憶部１２０に記憶し、ステップＳ１６で、ソフトウェア管理部１１７において管理している、ソフトウェア記憶部１２０に記憶しているソフトウェアを示す情報を更新する。
このうちステップＳ１５の処理はダウンロード手順の処理であり、この処理においてはＣＰＵ１０１がダウンロード手段として機能する。
【００５５】
その後、処理はステップＳ１７に進み、新たに登録された機器の利用者に、その機器での使用に適したソフトウェアを取得するためにアクセスすべき位置の情報を通知して処理を終了する。この通知は、更新通知部１１６の機能により行うものであり、上述したように電子メールで行うとよい。
このステップＳ１７の処理は通知手順の処理であり、この処理においてはＣＰＵ１０１が通知手段として機能する。
【００５６】
一方、ステップＳ１１で新たに登録された機器の属性情報が既に登録されている機器のいずれかの属性情報と一致した場合、その属性情報を持つ機器での使用に適したソフトウェアは、既に問い合わせ及びダウンロードが完了しているはずである。従って、ステップＳ１８に進み、登録された機器の属性情報をもとに、その機器での使用に適したソフトウェアを、既にソフトウェア記憶部１２０に記憶しているものの中から検索する。この処理は、ソフトウェア管理部１１７の機能によるものである。
そしてその後、ステップＳ１７に進んでユーザへの通知を行う。
また、ステップＳ１４で既に適当なソフトウェアを記憶していた場合には、そのままステップＳ１７に進んでユーザへの通知を行う。
【００５７】
ここで、図１０に、ステップＳ１７での通知に用いる電子メールの例を示す。
この図に示すように、電子メール２２０は、使用に適したソフトウェアのダウンロードを促すメッセージと、そのソフトウェアをダウンロードするためにアクセスすべき位置を示す位置情報であるＵＲＬ（符号２２１で示す）とを記載したものである。そして、ユーザがブラウザによりこのＵＲＬにアクセスした場合、ソフトウェア更新装置１０はウェブサービス機能部１１８の機能により該当するソフトウェアをダウンロードさせるための提供画面のデータを送信し、ブラウザに表示させる。
【００５８】
図１１に、この提供画面の例を示す。
この図に示すように、提供画面２３０は、利用側機器での使用に適したソフトウェアに関する情報と、そのダウンロードを促すメッセージと、そのソフトウェアのダウンロードの指示を受け付けるためのダウンロードボタン２３１を表示するものである。そして、ユーザがダウンロードボタン２３１を押下した場合、ブラウザがソフトウェア更新装置１０にその旨を通知し、ソフトウェア更新装置１０はウェブサービス機能部１１８の機能により該当するソフトウェアをアクセス元に送信する。
【００５９】
なお、新規登録時点ではユーザはブラウザによりソフトウェア更新装置１０にアクセスしてきているのであるから、ステップＳ１７で使用させるべきソフトウェアをダウンロードさせるための提供画面のデータを送信し、その画面を表示させるようにしてもよい。
以上のような図７乃至図１１を用いて説明した処理を行うことにより、ソフトウェア更新装置１０に新規に登録された機器のユーザに対し、検索等の手間をかけることなく、その機器で使用するのに適したソフトウェアを提供することができる。
【００６０】
ところで、ソフトウェア更新装置１０は、上述のように、新規登録時だけでなく、定期的に又はユーザに指示されたタイミングで、各利用側機器での使用に適したソフトウェアを情報サーバ７０に問い合わせ、更新用のソフトウェアが発見された場合には利用側機器の利用者にその旨を通知するようにしている。
【００６１】
ここで、図１２に、このような定期的な問い合わせ等の処理に関する設定を受け付けるための管理画面の例を示す。
この図に示すように、管理画面２４０には、リンクメニュー部２４１，定期確認設定部２４２，利用対象機器追加指定部２４３，情報サーバアドレス設定ボタン２４７，ソフトウェア更新指示ボタン２４８を設けている。
【００６２】
そして、リンクメニュー部２４１は、ソフトウェア更新装置１０に登録されている登録者，登録されている機器，ソフトウェア更新装置１０が記憶しているソフトウェア等の状況を参照、削除、編集等するための画面へのリンクを設けた部分である。
また、定期確認設定部２４２は、情報サーバ７０への定期的な問い合わせの周期の設定をラジオボタンにより受け付けるための部分である。
【００６３】
利用対象機器追加指定部２４３は、ＩＰアドレス入力部２４４，機種名入力部２４５，追加ボタン２４６を有し、新たな利用対象機器の追加指示を受け付けるための部分である。そして、ＩＰアドレス入力部２４４，機種名入力部２４５に利用対象機器のＩＰアドレス及び機種名を入力して追加ボタン２４６を押下することにより、利用対象機器をソフトウェア更新装置１０に登録することができる。そして、この登録された機器が、図６に示した利用者登録画面２００において利用機種として選択できる機器となる。また、この登録の処理も、属性情報記憶手順の処理である。
【００６４】
情報サーバアドレス設定ボタン２４６は、ソフトウェア更新装置１０がソフトウェアに関する情報の問い合わせを行う情報サーバのアドレスを指定する画面への移行指示を受け付けるためのボタンである。
また、ソフトウェア更新指示ボタン２４８は、各利用側機器での使用に適したソフトウェアの問い合わせ及びユーザへの通知の動作の実行指示を受け付けるためのボタンである。
【００６５】
ソフトウェア更新装置１０は、この管理画面２４０において受け付けた設定や指示に従ったタイミングで、情報サーバ７０に対し、各利用側機器での使用に適したソフトウェアの問い合わせを行う。しかし、この際、全ての利用側機器に関する属性情報を問い合わせに係るＳＯＡＰリクエストに個別に記載するのではなく、複数の利用側機器について重複する属性情報は、それらをまとめて１つだけ記載するようにしている。すなわち、各利用側機器についてその属性情報を要素とする集合を想定し、全ての利用側機器に関する集合の和集合を求め、その和集合の要素となる属性情報を問い合わせに係るＳＯＡＰリクエストに記載するようにしている。ただし、和集合を求める場合、要素同士が重複するか否かは、属性情報の個々の項目の一致／不一致ではなく、少なくとも問い合わせに使用する部分について全体としての一致／不一致に基づいて判断するものとする。
【００６６】
ここで、図１３乃至図１６に示す例を用いて、この和集合の意義について説明する。
ここでは、ソフトウェア更新装置１０に、図１３に示すようなＡ〜Ｌの１２人の利用者により利用側機器の属性情報が登録されている場合を例として説明する。
ソフトウェア更新装置１０においては、各利用者と対応する情報として、図６に示した登録画面２００で入力を受け付ける項目と対応するように、図１３に示すような情報を記憶することになる。これらの情報は、記憶する形式としては、図４に示すようなＸＭＬデータの形式としているが、データを処理に利用する場合には、テーブル形式に変換して取り扱うこともできる。なおここでは、ＰＤＬは、プリンタ言語を指すものとする。
【００６７】
そして、図１３に示す情報のうち、「ＯＳ」及び「言語」は、利用者Ａが使用する利用側機器で使用されているＯＳ及び言語の情報、「機種」及び「ＰＤＬ」は、その利用側機器が制御する利用対象機器の機種及びその利用対象機器を制御する際に使用するプリンタ言語の情報を示す。そしてここでは、利用者が同じであれば、利用対象機器が異なってもＯＳや言語は変わらないものとしている。そして、ソフトウェア更新装置１０が情報サーバ７０への問い合わせに使用する情報は、ここでは「ＯＳ」，「言語」，「機種」，「ＰＤＬ」の４項目としており、これらの組み合わせが利用側機器についての１組の属性情報に該当する。
【００６８】
従って、図１３に示す情報には、図１４に示すような１９組の属性情報が含まれていることになる。そして、これら全ての属性情報についてそれぞれ、その属性情報を有する利用側機器での使用に適したソフトウェアを情報サーバ７０に問い合せることも可能ではある。
しかし、図１４に示すような状態では、例えば条件２と条件９は同一であり、このような同一の条件で複数回の問い合わせを行っても、得られる回答は同じであるはずであるから、このような問い合わせは無駄であると考えられる。そこで、ソフトウェア更新装置１０では、情報サーバ７０への問い合わせを行う前に、上述のように和集合を求めることにより、重複する条件を１つにまとめ、属性情報の組み合わせ１種類につき１回の問い合わせを行うようにしている。
【００６９】
図１４に示す例において和集合を求めると、問い合わせに使用する属性情報の組み合わせは、図１５に示すように１３種類に絞ることができる。
さらに、値としては異なる属性情報であっても実質的に区別する必要が無いものが予めわかっている場合には、この点も加味して和集合を求めるようにすればよい。すなわち、実質的に区別する必要がない差異は含むが他の項目の内容が共通な属性情報があった場合、これらを同一のものであるとして取り扱うようにするとよい。このようにすれば、問い合わせを行うべき条件の数をさらに絞ることができる。
【００７０】
例えばＯＳ＿ａとＯＳ＿ｄとでは同じソフトウェアが使用可能であり、ＯＳ＿ｂとＯＳ＿ｃとでも同じソフトウェアが使用可能であるということが予めわかっているとすると、これらの点のみが異なるようなものは共通の条件であるので、問い合わせに使用する属性情報の組み合わせは、図１６に示すように１１種類に絞ることができる。
【００７１】
以上のように、情報サーバ７０への問い合わせを行う前に、ソフトウェア更新装置１０の側で利用側機器の属性情報の和集合を求め、その和集合に含まれる属性情報についてのみ問い合わせを行うようにすることにより、問い合わせ時に送信するデータ量、情報サーバ７０での応答生成の処理量、受信する応答のデータ量を低減し、処理負荷の軽減を図ることができる。和集合を求める演算によって若干の処理負荷が生じてしまうが、利用側機器の数が多い場合には、和集合を求めることによる軽減効果の方がはるかに大きい。
【００７２】
次に、図１７に、ソフトウェア更新装置１０のＣＰＵ１０１が定期的に又は利用者に指示された場合に行うソフトウェア検索の処理のフローチャートを示す。
ソフトウェア更新装置１０のＣＰＵ１０１は、スケジューラ１１２が前回の検索実行時から管理画面２４０において設定された時間経過したことを検知するか、管理画面２４０においてソフトウェア更新指示ボタン２２８が押下されると、図１７のフローチャートに示す処理を開始する。
【００７３】
そして、まずステップＳ２１で、登録情報記憶部１１９に利用側機器の属性情報が登録されているか否か判断し、登録されていなければ、以降の問い合わせやダウンロードの処理を行う必要はないので、そのまま処理を終了する。
一方、属性情報が登録されていれば、ステップＳ２２に進み、登録情報記憶部１１９に登録されている全ての利用側機器の属性情報の和集合を求める。この求め方については、上述したとおりである。
【００７４】
そして、次にステップＳ２３で、ステップＳ２２で求めた和集合をもとに、その和集合の要素となる各属性情報を持つ機器での使用に適したソフトウェアを情報サーバ７０に問い合せ、ステップＳ２４でその応答を取得する。問い合わせや応答に係るデータのフォーマットは、図８や図９に示したものと同様でよい。
また、これらのステップＳ２２乃至Ｓ２４の処理は、特定手順の処理であり、これらの処理においてＣＰＵ１０１が特定手段として機能する。
【００７５】
次のステップＳ２５では、ステップＳ２４で取得した応答に記載されていたソフトウェアを全てソフトウェア記憶部１２０に記憶しているか否か判断する。そして、全て記憶していた場合（判断がＮＯである場合）、ソフトウェア更新装置１０に登録されている利用側機器に使用させているソフトウェアについて特に更新用のものは提供されていないことがわかるので、そのまま処理を終了する。
【００７６】
一方、記憶していないソフトウェアがあった場合（判断がＹＥＳである場合）、ソフトウェア更新装置１０に登録されている利用側機器に使用させるべき新たな更新用のソフトウェアがファイルサーバ８０により提供されていることになる。そこで、ステップＳ２６に進み、ファイルサーバ８０にアクセスして、記憶していなかったソフトウェアをダウンロードしてソフトウェア記憶部１２０に記憶し、ステップＳ２７で、ソフトウェア管理部１１７において管理している、ソフトウェア記憶部１２０に記憶しているソフトウェアを示す情報を更新する。
このうちステップＳ２６の処理はダウンロード手順の処理であり、この処理においてはＣＰＵ１０１がダウンロード手段として機能する。
【００７７】
なお、複数の属性情報の機器について同じソフトウェアを使用させるべき場合でも、ソフトウェアのダウンロードは１回でよい。このようにするためには例えば、ステップＳ２４での応答に記載されていたソフトウェア１つ１つについて、そのソフトウェアをソフトウェア記憶部１２０に記憶しているか否かの判断を行い、記憶していないものを全て抽出した後、それらのうち重複しているものを除く処理、すなわち上述したような和集合を求める処理を行い、その和集合の要素となるソフトウェアをダウンロードするようにすればよい。
【００７８】
そして、次のステップＳ２８においては、ステップＳ２４で取得した応答の内容及び記憶している各利用側機器の属性情報に基づき、ソフトウェアを更新させるべき装置を検索し、ステップＳ２９で、更新通知部１１６により、検索により発見した装置の利用者に、更新用のソフトウェアを取得するためにアクセスすべき位置の情報を通知して処理を終了する。
これらのステップＳ２８及びＳ２９の処理は通知手順の処理であり、この処理においてはＣＰＵ１０１が通知手段として機能する。
【００７９】
ここで、図１８に、ステップＳ２９での通知に用いる電子メールの例を示す。
この図に示すように、電子メール２５０は、更新用のソフトウェアのダウンロードを促すメッセージと、そのソフトウェアをダウンロードするためにアクセスすべき位置を示す位置情報であるＵＲＬ（符号２５１で示す）とを記載したものである。そして、ユーザがブラウザによりこのＵＲＬにアクセスした場合、ソフトウェア更新装置１０はウェブサービス機能部１１８の機能により該当するソフトウェアをダウンロードさせるための提供画面のデータを送信し、ブラウザに表示させる。
【００８０】
図１９に、この提供画面の例を示す。
この図に示すように、提供画面２６０は、更新用のソフトウェアに関する情報と、そのダウンロードを促すメッセージと、そのソフトウェアのダウンロードの指示を受け付けるためのダウンロードボタン２６１を表示するものである。そして、ユーザがダウンロードボタン２６１を押下した場合、ブラウザがソフトウェア更新装置１０にその旨を通知し、ソフトウェア更新装置１０はウェブサービス機能部１１８の機能により該当するソフトウェアをアクセス元に送信する。
【００８１】
以上のような処理を行うことにより、ソフトウェア更新装置１０に情報を登録している利用側機器に使用させるソフトウェアがバージョンアップ等された場合、速やかにその利用者にその旨を通知して更新用のソフトウェアを取得させることができる。
また、このための情報を収集するに際し、各利用側機器について個別に問い合わせを行うのではなく、利用側機器の属性情報の和集合について問い合わせを行うようにしているので、通信量や処理負荷を抑えることができる。
【００８２】
また、ソフトウェア更新装置１０が更新用のソフトウェアをダウンロードし、更新を通知した機器からの要求に応じてそのソフトウェアを送信できるようにすれば、各利用側機器が個別にファイルサーバ８０にアクセスしなくて済むので、インターネット６０を介した通信の通信量を低減できると共に、ファイルサーバ８０の処理負荷も低減できる。
また、ソフトウェア更新装置１０が一旦ダウンロードしたソフトウェアを記憶し、その情報を管理しておくようにすれば、利用側機器の新規登録又は変更時に、既に問い合わせを行ったことのある内容については、改めて情報サーバ７０に問い合わせを行う必要がなく、またソフトウェアのダウンロードも不要であるため、通信量の削減や処理負荷の低減を図ることができる。
【００８３】
なお、以上のようなソフトウェア更新装置１０において、利用側機器の情報を登録しなくても、アクセスしてきた利用側機器の属性情報を自動的に取得してその利用側機器における使用に適したソフトウェアを検索及び通知し、ユーザが最新のソフトウェアを取得できるようにすることも可能である。
【００８４】
図２０に、このようにした場合において、所定のアドレスにアクセスを受けた際にソフトウェア更新装置１０のＣＰＵ１０１が実行する処理のフローチャートを示す。
ソフトウェア更新装置１０のＣＰＵ１０１は、ＰＣ等のブラウザからＨＴＴＰを用いた所定のアドレスへのアクセスを受けると、図２０に示す処理を開始する。
そして、まずステップＳ３１で、アクセス時のＨＴＴＰリクエストに記載される環境変数であるHTTP_USER_AGENTより、アクセス元の機器が利用しているＯＳを特定する。またステップＳ３２で、自身の仕向け地情報から、使用言語を特定する。仕向け地が日本であれば日本語、米国であれば英語等である。なお、ＯＳや言語の情報の取得方法はこれらに限られず、適宜既知の方法を利用することができる。
【００８５】
ステップＳ３２の後はステップＳ３３に進み、登録情報記憶部１１９に登録されている全ての利用対象機器の情報及びその機種での使用が推奨されているプリンタ言語の情報を取得する。
そして、ステップＳ３４で、ステップＳ３１乃至Ｓ３３で特定又は取得した情報を組み合わせて得られる属性情報に、既に登録されている属性情報のいずれとも異なるものがあるか否か判断する。ここでは、組み合わせは、ステップＳ３１で取得したＯＳとステップＳ３２で取得した使用言語に、ステップＳ３３で取得した利用対象機器と、その利用対象機器における推奨のプリンタ言語の情報を組み合わせたものが、ステップＳ３３で取得した利用対象機器の数だけ得られることになる。
【００８６】
そして、ステップＳ３４で異なるものがあれば、ステップＳ３５乃至Ｓ３９の処理により、図７のステップＳ１２乃至Ｓ１６の場合とほぼ同様に、得られた属性情報をもとに、アクセス元の機器での使用に適したソフトウェアの情報を情報サーバ７０に問い合わせ、必要であればソフトウェアをファイルサーバ８０からダウンロードする。
【００８７】
また、ステップＳ３４で異なるものがなければ、ステップＳ４１に進み、得られた属性情報をもとに、アクセス元の機器での使用に適したソフトウェアを、既にソフトウェア記憶部１２０に記憶しているものの中から検索する。この処理は、ソフトウェア管理部１１７の機能によるものである。
そして、ステップＳ３９又はステップＳ４１の後、あるいはステップＳ３７でＹＥＳの場合、処理はステップＳ４０に進み、アクセス元の機器に、その機器での使用に適したソフトウェアを取得させるための提供画面のデータを送信し、その画面を表示させて処理を終了する。
【００８８】
図２１に、この画面の例を示す。
この図に示すように、提供画面２７０は、アクセス元の機器での使用に適したソフトウェアに関する情報と、そのダウンロードを促すメッセージと、そのソフトウェアのダウンロードの指示を受け付けるためのダウンロードボタン２７１，２７２等を表示するものである。そしてここには、ソフトウェア更新装置１０に登録されている全ての利用対象機器について、アクセス元の利用側機器が利用対象機器を制御するための使用に適したソフトウェアの情報がそれぞれ表示され、対応するダウンロードボタンを押下することにより、ブラウザがソフトウェア更新装置１０にその旨を通知し、ソフトウェア更新装置１０はウェブサービス機能部１１８の機能により該当するソフトウェアをアクセス元に送信する。
【００８９】
また、提供画面２７０には利用者登録（利用側機器の登録）を促すメッセージと、その登録画面に移行するためのリンク２７３も設けている。そして、ユーザがリンク２７３をクリックすると、ソフトウェア更新装置１０は登録画面２００のデータをブラウザに送信してその画面を表示させ、利用者は図６に示した登録画面２００に移行することができる。またこのとき、ソフトウェア更新装置１０は、アクセス元機器における使用ＯＳ及び使用言語の情報は把握できているから、これらの項目に情報を入力した状態の画面のデータをブラウザに送信して表示させることができる。
【００９０】
このような処理を行うことにより、利用者は、必ずしも利用側機器の登録を行わなくても、利用環境に合った最新のソフトウェアを取得することができるので、煩わしい操作を行うことなく容易にソフトウェアの取得や更新を行うことができる。
なお、利用者側でアクセスするアドレスを選択することにより、初めに登録画面２００を表示させるか自動でソフトウェアを検索させて提供画面２７０を表示させるかを選択できるようにしてよいことは、もちろんである。
また、上述した各処理において、ソフトウェアの存在又は更新の通知は、利用側機器が自動的にソフトウェアの取得を行うことができるのであれば、利用者に対してではなく、機器そのものに対して行うようにしてもよい。
【００９１】
以上で実施形態の説明を終了するが、以上説明してきた実施形態及び変形例において、システムの構成、具体的な処理内容、画面の内容、属性情報として使用する項目やその内容、通信に使用する通信プロトコル等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、情報サーバ７０の機能をソフトウェア更新装置１０に併せ持たせるようにしてもよい。このようにすれば、ソフトウェア更新装置１０は、外部の情報源に問い合わせを行わなくても、利用側機器での使用に適したソフトウェアの情報を取得することができる。なお、この場合にもソフトウェアに関する情報を更新する必要は生じるので、ソフトウェアの供給者や利用者による入力、あるいは適当な情報源からの取得等は行なう必要がある。
また、情報サーバ７０とファイルサーバ８０との機能を１つの装置に持たせるようにすることも考えられる。
【００９２】
また、ユーザ側環境に複数のソフトウェア更新装置を設け、少なくとも１台を親機として上述したソフトウェア更新装置１０のように機能させ、他のソフトウェア更新装置を子機として、情報の問合せやソフトウェアのダウンロード要求を親機から行うようにしてもよい。
そして、この場合、親機は子機を、子機に登録されている利用側機器全ての属性情報の和集合の属性情報を持つ利用側機器であるとみなして上述した動作を行うようにすればよい。そして、子機である利用側機器が持つ属性情報に係る機器での使用に適したソフトウェアが新たに発見された場合に、そのソフトウェアをファイルサーバ８０からダウンロードすると共に、そのソフトウェアに関する情報を全て子機に通知するようにすればよい。一方子機は、親機から新たなソフトウェアの情報を通知された場合に、そのソフトウェアを親機からダウンロードすると共に、ソフトウェアの情報を自機に登録されている利用側機器のユーザに通知し、自機からダウンロードさせるようにすればよい。
【００９３】
このようにすれば、ユーザ側環境においてソフトウェア更新装置にかかる負荷を分散することができ、ユーザ側環境に利用側機器が多数ある場合でも、１台のソフトウェア更新装置に過大な負荷がかかることを防止できる。
また、情報の問合せやソフトウェアのダウンロード要求を子機から行うさらに下位のソフトウェア更新装置も設け、ソフトウェア更新装置をカスケード式に組み合わせたシステムを構成することも可能である。
【００９４】
さらに、この発明のソフトウェア情報管理装置において取り扱うソフトウェアは、ＰＣから画像処理装置を使用するためのソフトウェアに限られない。すなわち、第２の機器にソフトウェアを実行させることにより第１の機器を制御させられるような関係があれば、第１及び第２の機器は、任意の電子機器でよい。適用対象としては、例えば、プリンタ，ＦＡＸ装置，デジタル複写機，スキャナ装置，デジタル複合機等の画像処理装置のほか、汎用コンピュータ，ネットワーク家電，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，自動車，航空機等が考えられる。
また、ソフトウェア情報管理装置をＬＡＮの中に設けることも必須ではなく、任意のネットワーク上の任意の位置に設けることができる。
【００９５】
また、この発明によるプログラムは、コンピュータを、上述したソフトウェア更新装置１０のようなソフトウェア情報管理装置として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【００９６】
以上説明してきたように、この発明のソフトウェア情報管理装置、ソフトウェア情報管理システム、ソフトウェア情報管理方法、プログラム又は記録媒体によれば、コンピュータ等の機器又はその機器を利用するユーザに必要なソフトウェアを配布する場合に、ユーザに面倒な操作を行わせることがないようにしながら、ソフトウェアをダウンロードさせるサーバにかかる負荷を低減できるようにすることができる。
従って、この発明を利用することにより、ソフトウェアの配布が容易なネットワークシステムを構成することができる。
【図面の簡単な説明】
【００９７】
【図１】この発明のソフトウェア情報管理装置及びソフトウェア情報管理システムの実施形態を含むソフトウェア更新システムの構成を示すブロック図である。
【図２】図１に示したソフトウェア更新装置のハードウェア構成を示すブロック図である。
【図３】図１に示したソフトウェア更新装置の機能構成を示す図である。
【図４】利用側機器の属性情報及びその機器の利用者の情報を記載したＸＭＬデータの例を示す図である。
【図５】図１に示したソフトウェア更新装置に記憶しているソフトウェアに関する情報を記載したＸＭＬデータの例を示す図である。
【図６】ソフトウェア更新装置への利用側機器の登録を受け付けるための画面の例を示す図である。
【図７】図１に示したソフトウェア更新装置のＣＰＵが、利用側機器が登録または変更された場合に実行する処理のフローチャートである。
【図８】そのソフトウェア更新装置が情報サーバに対して行う問い合わせに係るＳＯＡＰリクエストの例を示す図である。
【図９】そのＳＯＡＰリクエストに対する応答のＳＯＡＰレスポンスの例を示す図である。
【図１０】新たに登録された機器の利用者に、その機器での使用に適したソフトウェアを取得するためにアクセスすべき位置の情報を通知するために送信する電子メールの例を示す図である。
【００９８】
【図１１】ソフトウェアをダウンロードさせるための提供画面の例を示す図である。
【図１２】定期的な問い合わせ等の処理に関する設定を受け付けるための管理画面の例を示す図である。
【図１３】和集合について説明するための図である。
【図１４】その別の図である。
【図１５】そのさらに別の図である。
【図１６】そのさらに別の図である。
【図１７】図１に示したソフトウェア更新装置のＣＰＵが定期的に又は利用者に指示された場合に行うソフトウェア検索の処理のフローチャートである。
【図１８】図１７の処理における検索により発見した装置の利用者に、更新用のソフトウェアを取得するためにアクセスすべき位置の情報を通知するための電子メールの例を示す図である。
【図１９】ソフトウェアをダウンロードさせるための提供画面の図１１とは異なる例を示す図である。
【図２０】ソフトウェア更新装置がアクセスしてきた利用側機器の属性情報を自動的に取得できるようにした場合に、所定のアドレスにアクセスを受けた際に図１に示したソフトウェア更新装置のＣＰＵが実行する処理のフローチャートである。
【図２１】図２０のステップＳ４０の処理によりアクセス元のブラウザに表示させる提供画面の例を示す図である。
【符号の説明】
【００９９】
１０：ソフトウェア更新装置、２１，２２，２３：ＰＣ、３１，３２：ＭＦＰ、
３３，３４：プリンタ、４０：ファイアウォール、５０：ＬＡＮ、
６０：インターネット、７０：情報サーバ、８０：ファイルサーバ、
１０１：ＣＰＵ、１０２：ＲＯＭ、１０３：ＲＡＭ、１０４：ＨＤＤ、
１０５：ネットワークＩ／Ｆ、１１１：登録情報管理部、１１２：スケジューラ、
１１３：ファイル選定部、１１４：通信部、１１５：ダウンロード部、
１１６：更新通知部、１１７：ソフトウェア管理部、１１８：ウェブサービス機能部、
１１９：登録情報記憶部、１２０：ソフトウェア記憶部、２００：利用者登録画面、
２２０，２５０：電子メール、２３０，２６０，２７０：提供画面、２４０：管理画面
【図１】
2006171928.tif 000003
【図２】
2006171928.tif 000004
【図３】
2006171928.tif 000005
【図４】
2006171928.tif 000006
【図５】
2006171928.tif 000007
【図６】
2006171928.tif 000008
【図７】
2006171928.tif 000009
【図８】
2006171928.tif 000010
【図９】
2006171928.tif 000011
【図１０】
2006171928.tif 000012
【図１１】
2006171928.tif 000013
【図１２】
2006171928.tif 000014
【図１３】
2006171928.tif 000015
【図１４】
2006171928.tif 000016
【図１５】
2006171928.tif 000017
【図１６】
2006171928.tif 000018
【図１７】
2006171928.tif 000019
【図１８】
2006171928.tif 000020
【図１９】
2006171928.tif 000021
【図２０】
2006171928.tif 000022
【図２１】
2006171928.tif 000023