(57)【要約】【課題】複数の情報処理装置のそれぞれにソフトウェアをインストールさせる際のサーバー装置の負荷を軽減する。【解決手段】サーバー装置２は、情報処理装置４からのアクセスを検知した場合、ソフトウェア管理情報３８を参照することにより、他の情報処理装置４の中に、ソフトウェア１８が既にインストールされたインストール済み装置が存在するか否かを判別する判別部４２と、判別部４２によりインストール済み装置が存在しないと判別された場合、情報処理装置４にソフトウェア１８を送信してインストールさせるソフトウェア送信部４３と、判別部４２によりインストール済み装置が存在すると判別された場合、インストール済み装置の中から代表装置を選択し、情報処理装置４に、代表装置からソフトウェア１８をダウンロードしてインストールすることを指示するダウンロード指示部４４と、を備える。【選択図】図３
2018097774.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置と、前記複数の情報処理装置のそれぞれと通信可能なサーバー装置と、を有し、前記サーバー装置が前記複数の情報処理装置のそれぞれにソフトウェアをインストールさせる情報処理システムであって、
前記複数の情報処理装置のそれぞれは、
前記サーバー装置と通信可能な状態において前記サーバー装置にアクセスし、前記サーバー装置に接続するサーバー接続手段と、
前記サーバー接続手段が前記サーバー装置と接続している状態において、前記サーバー装置からの指示に基づいて前記ソフトウェアをダウンロードし、前記ソフトウェアをインストールするインストール手段と、
を備え、
前記サーバー装置は、
前記ソフトウェアを記憶する記憶手段と、
前記複数の情報処理装置のそれぞれが前記ソフトウェアをインストールしているか否かを記録したソフトウェア管理情報を管理する情報管理手段と、
前記複数の情報処理装置のうちの前記ソフトウェアのインストールされていない情報処理装置からのアクセスを検知した場合、前記ソフトウェア管理情報を参照することにより、前記複数の情報処理装置に含まれる他の装置の中に、前記ソフトウェアが既にインストールされたインストール済み装置が存在するか否かを判別する判別手段と、
前記判別手段により前記インストール済み装置が存在しないと判別された場合、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせるソフトウェア送信手段と、
前記判別手段により前記インストール済み装置が存在すると判別された場合、前記インストール済み装置の中から代表装置を選択し、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示するダウンロード指示手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記ダウンロード指示手段は、前記判別手段により前記インストール済み装置が複数存在すると判別された場合、前記複数のインストール済み装置に対して優先順位を付与し、前記優先順位の最も高い装置を前記代表装置として選択することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ダウンロード指示手段は、前記複数のインストール済み装置のそれぞれの負荷状態に基づいて前記優先順位を付与することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記ダウンロード指示手段は、前記複数のインストール済み装置のそれぞれの性能情報を比較し、前記性能情報に基づいて前記優先順位を付与することを特徴とする請求項２に記載の情報処理システム。
【請求項５】
前記インストール手段は、前記サーバー装置から指示された前記代表装置から前記ソフトウェアのダウンロードを開始し、前記代表装置からのダウンロードができなくなったときには前記ソフトウェアのダウンロードを中断して前記サーバー装置に中断通知を送信することを特徴とする請求項１乃至４のいずれかに記載の情報処理システム。
【請求項６】
前記ダウンロード指示手段は、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示するとき、前記優先順位を送信することを特徴とする請求項２乃至４のいずれかに記載の情報処理システム。
【請求項７】
前記インストール手段は、前記代表装置からのダウンロードができない状態において前記サーバー装置との通信を行うことができないとき、前記優先順位に基づいて前記代表装置の次の順位の情報処理装置から前記ソフトウェアのダウンロードを開始することを特徴とする請求項６に記載の情報処理システム。
【請求項８】
前記ダウンロード指示手段は、前記インストール済み装置が前記ソフトウェアの送信処理を行うことができない状態である場合、前記代表装置の選択対象から除外することを特徴とする請求項１乃至７のいずれかに記載の情報処理システム。
【請求項９】
前記ダウンロード指示手段は、前記インストール済み装置の中から前記代表装置を選択することができない場合、前記ソフトウェアがインストールされていない情報処理装置に対し、前記ソフトウェアのダウロードを待機させることを特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記ダウンロード指示手段は、前記ソフトウェアがインストールされていない情報処理装置に前記ソフトウェアをインストールさせることなく所定期間が経過した場合、前記ソフトウェア送信手段を機能させ、
前記ソフトウェア送信手段は、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせることを特徴とする請求項９に記載の情報処理システム。
【請求項１１】
前記他の装置は、前記サーバー装置にアクセスした情報処理装置と予め同じグループに分類されている少なくとも１つの情報処理装置であることを特徴とする請求項１乃至１０のいずれかに記載の情報処理システム。
【請求項１２】
複数の情報処理装置のそれぞれと通信可能であり、前記複数の情報処理装置のそれぞれにソフトウェアをインストールさせるサーバー装置であって、
前記ソフトウェアを記憶する記憶手段と、
前記複数の情報処理装置のそれぞれが前記ソフトウェアをインストールしているか否かを記録したソフトウェア管理情報を管理する情報管理手段と、
前記複数の情報処理装置のうちの前記ソフトウェアのインストールされていない情報処理装置からのアクセスを検知した場合、前記ソフトウェア管理情報を参照することにより、前記複数の情報処理装置に含まれる他の装置の中に、前記ソフトウェアが既にインストールされたインストール済み装置が存在するか否かを判別する判別手段と、
前記判別手段により前記インストール済み装置が存在しないと判別された場合、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせるソフトウェア送信手段と、
前記判別手段により前記インストール済み装置が存在すると判別された場合、前記インストール済み装置の中から代表装置を選択し、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示するダウンロード指示手段と、
を備えることを特徴とするサーバー装置。
【請求項１３】
前記ダウンロード指示手段は、前記判別手段により前記インストール済み装置が複数存在すると判別された場合、前記複数のインストール済み装置に対して優先順位を付与し、前記優先順位の最も高い装置を前記代表装置として選択することを特徴とする請求項１２に記載のサーバー装置。
【請求項１４】
前記ダウンロード指示手段は、前記複数のインストール済み装置のそれぞれの負荷状態に基づいて前記優先順位を付与することを特徴とする請求項１３に記載のサーバー装置。
【請求項１５】
前記ダウンロード指示手段は、前記複数のインストール済み装置のそれぞれの性能情報を比較し、前記性能情報に基づいて前記優先順位を付与することを特徴とする請求項１３に記載のサーバー装置。
【請求項１６】
前記ダウンロード指示手段は、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示するとき、前記優先順位を送信することを特徴とする請求項１３乃至１５のいずれかに記載のサーバー装置。
【請求項１７】
前記ダウンロード指示手段は、前記インストール済み装置が前記ソフトウェアの送信処理を行うことができない状態である場合、前記代表装置の選択対象から除外することを特徴とする請求項１２乃至１６のいずれかに記載のサーバー装置。
【請求項１８】
前記ダウンロード指示手段は、前記インストール済み装置の中から前記代表装置を選択することができない場合、前記ソフトウェアがインストールされていない情報処理装置に対し、前記ソフトウェアのダウロードを待機させることを特徴とする請求項１７に記載のサーバー装置。
【請求項１９】
前記ダウンロード指示手段は、前記ソフトウェアがインストールされていない情報処理装置に前記ソフトウェアをインストールさせることなく所定期間が経過した場合、前記ソフトウェア送信手段を機能させ、
前記ソフトウェア送信手段は、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせることを特徴とする請求項１８に記載のサーバー装置。
【請求項２０】
前記他の装置は、当該サーバー装置にアクセスした情報処理装置と予め同じグループに分類されている少なくとも１つの情報処理装置であることを特徴とする請求項１２乃至１９のいずれかに記載のサーバー装置。
【請求項２１】
複数の情報処理装置のそれぞれと通信可能であり、前記複数の情報処理装置のそれぞれにインストールするためのソフトウェアを記憶する記憶手段を有し、前記複数の情報処理装置のそれぞれに前記ソフトウェアをインストールさせるサーバー装置において実行されるプログラムであって、
前記複数の情報処理装置のそれぞれが前記ソフトウェアをインストールしているか否かを記録したソフトウェア管理情報を管理する第１ステップと、
前記複数の情報処理装置のうちの前記ソフトウェアのインストールされていない情報処理装置からのアクセスを検知した場合、前記ソフトウェア管理情報を参照することにより、前記複数の情報処理装置に含まれる他の装置の中に、前記ソフトウェアが既にインストールされたインストール済み装置が存在するか否かを判別する第２ステップと、
前記第２ステップにより前記インストール済み装置が存在しないと判別された場合、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせる第３ステップと、
前記第２ステップにより前記インストール済み装置が存在すると判別された場合、前記インストール済み装置の中から代表装置を選択し、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示する第４ステップと、
を実行させることを特徴とするプログラム。
【請求項２２】
前記第４ステップは、前記第２ステップにより前記インストール済み装置が複数存在すると判別された場合、前記複数のインストール済み装置に対して優先順位を付与し、前記優先順位の最も高い装置を前記代表装置として選択することを特徴とする請求項２１に記載のプログラム。
【請求項２３】
前記第４ステップは、前記複数のインストール済み装置のそれぞれの負荷状態に基づいて前記優先順位を付与することを特徴とする請求項２２に記載のプログラム。
【請求項２４】
前記第４ステップは、前記複数のインストール済み装置のそれぞれの性能情報を比較し、前記性能情報に基づいて前記優先順位を付与することを特徴とする請求項２２に記載のプログラム。
【請求項２５】
前記第４ステップは、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示するとき、前記優先順位を送信することを特徴とする請求項２２乃至２４のいずれかに記載のプログラム。
【請求項２６】
前記第４ステップは、前記インストール済み装置が前記ソフトウェアの送信処理を行うことができない状態である場合、前記代表装置の選択対象から除外することを特徴とする請求項２１乃至２５のいずれかに記載のプログラム。
【請求項２７】
前記第４ステップは、前記インストール済み装置の中から前記代表装置を選択することができない場合、前記ソフトウェアがインストールされていない情報処理装置に対し、前記ソフトウェアのダウロードを待機させることを特徴とする請求項２６に記載のプログラム。
【請求項２８】
前記第４ステップは、前記ソフトウェアがインストールされていない情報処理装置に前記ソフトウェアをインストールさせることなく所定期間が経過した場合、前記サーバー装置に前記第３ステップを実行させ、
前記第３ステップは、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせることを特徴とする請求項２７に記載のプログラム。
【請求項２９】
前記他の装置は、前記サーバー装置にアクセスした情報処理装置と予め同じグループに分類されている少なくとも１つの情報処理装置であることを特徴とする請求項２１乃至２８のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、サーバー装置及びプログラムに関し、特にサーバー装置が複数の情報処理装置のそれぞれに対してソフトウェアをインストールさせる技術に関する。
【背景技術】
【０００２】
近年、オフィスなどに設置されるＭＦＰ（Multifunction Peripherals）などの情報処理装置を、インターネットなどのクラウド上に設けられたサーバー装置に登録しておき、そのサーバー装置で個々の情報処理装置を管理できるようにした情報処理システムが提供されている。このような情報処理システムでは、情報処理装置がクラウド上のサーバー装置にアクセスすることにより、そのサーバー装置に保存されているアプリケーションや修正プログラムなどのソフトウェアをダウンロードしてインストールすることが可能である。
【０００３】
ところが、オフィス内のローカルネットワークに複数の情報処理装置が設置されている場合、それら複数の情報処理装置のそれぞれがクラウド上のサーバー装置からソフトウェアをダウンロードすると、サーバー装置にかかる負荷が増大するという問題がある。特にこの種のサーバー装置は、多数のオフィスのローカルネットワークと接続されるため、１つのローカルネットワークに設けられている複数の情報処理装置に対して個別にソフトウェアの送信処理を行っていると、全ての情報処理装置に対してソフトウェアを効率的にインストールさせることができなくなる。
【０００４】
また同一のローカルネットワーク内にある複数の情報処理装置のそれぞれがクラウド上のサーバー装置からソフトウェアを個別にダウンロードすると、インターネットを経由するデータ通信量が増大し、他のデバイスがインターネット接続を行う際のパフォーマンスを低下させると共に、通信コストを増大させるという問題もある。
【０００５】
一方、従来において、オリジンサーバーの負荷を軽減するため、コンテンツを動的にミラーリングするようにしたミラーリングシステムが提案されている（例えば特許文献１）。このミラーリングシステムでは、クライアントからコンテンツ取得要求を受信した場合に、オリジンサーバーが負荷測定を行い、動的ミラーリングを行うか否かを決定する。動的ミラーリングを行う場合、オリジンサーバーは、コンテンツのコピーを行うミラーサーバーを決定し、そのミラーサーバーに対してミラーリング要求を送信する。そしてミラーリング要求が受理された場合、オリジンサーバーは、ミラーサーバーに対してコンテンツを送信する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１４６９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のミラーリングシステムでは、オリジンサーバーがクライアントからコンテンツ取得要求を受信した場合に、ミラーサーバーを決定し、そのミラーサーバーに対してコンテンツの送信を行うため、オリジンサーバーによるコンテンツ送信の負荷を軽減することができず、上述した問題点を解決することができない。
【０００８】
そこで本発明は、上述した従来の問題点を解決するためになされたものであり、複数の情報処理装置のそれぞれにソフトウェアをインストールさせる際のサーバー装置の負荷を軽減できるようにした情報処理システム、サーバー装置及びプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１に係る発明は、複数の情報処理装置と、前記複数の情報処理装置のそれぞれと通信可能なサーバー装置と、を有し、前記サーバー装置が前記複数の情報処理装置のそれぞれにソフトウェアをインストールさせる情報処理システムであって、前記複数の情報処理装置のそれぞれは、前記サーバー装置と通信可能な状態において前記サーバー装置にアクセスし、前記サーバー装置に接続するサーバー接続手段と、前記サーバー接続手段が前記サーバー装置と接続している状態において、前記サーバー装置からの指示に基づいて前記ソフトウェアをダウンロードし、前記ソフトウェアをインストールするインストール手段と、を備え、前記サーバー装置は、前記ソフトウェアを記憶する記憶手段と、前記複数の情報処理装置のそれぞれが前記ソフトウェアをインストールしているか否かを記録したソフトウェア管理情報を管理する情報管理手段と、前記複数の情報処理装置のうちの前記ソフトウェアのインストールされていない情報処理装置からのアクセスを検知した場合、前記ソフトウェア管理情報を参照することにより、前記複数の情報処理装置に含まれる他の装置の中に、前記ソフトウェアが既にインストールされたインストール済み装置が存在するか否かを判別する判別手段と、前記判別手段により前記インストール済み装置が存在しないと判別された場合、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせるソフトウェア送信手段と、前記判別手段により前記インストール済み装置が存在すると判別された場合、前記インストール済み装置の中から代表装置を選択し、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示するダウンロード指示手段と、を備えることを特徴とする構成である。
【００１０】
請求項２に係る発明は、請求項１に記載の情報処理システムにおいて、前記ダウンロード指示手段は、前記判別手段により前記インストール済み装置が複数存在すると判別された場合、前記複数のインストール済み装置に対して優先順位を付与し、前記優先順位の最も高い装置を前記代表装置として選択することを特徴とする構成である。
【００１１】
請求項３に係る発明は、請求項２に記載の情報処理システムにおいて、前記ダウンロード指示手段は、前記複数のインストール済み装置のそれぞれの負荷状態に基づいて前記優先順位を付与することを特徴とする構成である。
【００１２】
請求項４に係る発明は、請求項２に記載の情報処理システムにおいて、前記ダウンロード指示手段は、前記複数のインストール済み装置のそれぞれの性能情報を比較し、前記性能情報に基づいて前記優先順位を付与することを特徴とする構成である。
【００１３】
請求項５に係る発明は、請求項１乃至４のいずれかに記載の情報処理システムにおいて、前記インストール手段は、前記サーバー装置から指示された前記代表装置から前記ソフトウェアのダウンロードを開始し、前記代表装置からのダウンロードができなくなったときには前記ソフトウェアのダウンロードを中断して前記サーバー装置に中断通知を送信することを特徴とする構成である。
【００１４】
請求項６に係る発明は、請求項２乃至４のいずれかに記載の情報処理システムにおいて、前記ダウンロード指示手段は、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示するとき、前記優先順位を送信することを特徴とする構成である。
【００１５】
請求項７に係る発明は、請求項６に記載の情報処理システムにおいて、前記インストール手段は、前記代表装置からのダウンロードができない状態において前記サーバー装置との通信を行うことができないとき、前記優先順位に基づいて前記代表装置の次の順位の情報処理装置から前記ソフトウェアのダウンロードを開始することを特徴とする構成である。
【００１６】
請求項８に係る発明は、請求項１乃至７のいずれかに記載の情報処理システムにおいて、前記ダウンロード指示手段は、前記インストール済み装置が前記ソフトウェアの送信処理を行うことができない状態である場合、前記代表装置の選択対象から除外することを特徴とする構成である。
【００１７】
請求項９に係る発明は、請求項８に記載の情報処理システムにおいて、前記ダウンロード指示手段は、前記インストール済み装置の中から前記代表装置を選択することができない場合、前記ソフトウェアがインストールされていない情報処理装置に対し、前記ソフトウェアのダウロードを待機させることを特徴とする構成である。
【００１８】
請求項１０に係る発明は、請求項９に記載の情報処理システムにおいて、前記ダウンロード指示手段は、前記ソフトウェアがインストールされていない情報処理装置に前記ソフトウェアをインストールさせることなく所定期間が経過した場合、前記ソフトウェア送信手段を機能させ、前記ソフトウェア送信手段は、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせることを特徴とする構成である。
【００１９】
請求項１１に係る発明は、請求項１乃至１０のいずれかに記載の情報処理システムにおいて、前記他の装置は、前記サーバー装置にアクセスした情報処理装置と予め同じグループに分類されている少なくとも１つの情報処理装置であることを特徴とする構成である。
【００２０】
請求項１２に係る発明は、複数の情報処理装置のそれぞれと通信可能であり、前記複数の情報処理装置のそれぞれにソフトウェアをインストールさせるサーバー装置であって、前記ソフトウェアを記憶する記憶手段と、前記複数の情報処理装置のそれぞれが前記ソフトウェアをインストールしているか否かを記録したソフトウェア管理情報を管理する情報管理手段と、前記複数の情報処理装置のうちの前記ソフトウェアのインストールされていない情報処理装置からのアクセスを検知した場合、前記ソフトウェア管理情報を参照することにより、前記複数の情報処理装置に含まれる他の装置の中に、前記ソフトウェアが既にインストールされたインストール済み装置が存在するか否かを判別する判別手段と、前記判別手段により前記インストール済み装置が存在しないと判別された場合、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせるソフトウェア送信手段と、前記判別手段により前記インストール済み装置が存在すると判別された場合、前記インストール済み装置の中から代表装置を選択し、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示するダウンロード指示手段と、を備えることを特徴とする構成である。
【００２１】
請求項１３に係る発明は、請求項１２に記載のサーバー装置において、前記ダウンロード指示手段は、前記判別手段により前記インストール済み装置が複数存在すると判別された場合、前記複数のインストール済み装置に対して優先順位を付与し、前記優先順位の最も高い装置を前記代表装置として選択することを特徴とする構成である。
【００２２】
請求項１４に係る発明は、請求項１３に記載のサーバー装置において、前記ダウンロード指示手段は、前記複数のインストール済み装置のそれぞれの負荷状態に基づいて前記優先順位を付与することを特徴とする構成である。
【００２３】
請求項１５に係る発明は、請求項１３に記載のサーバー装置において、前記ダウンロード指示手段は、前記複数のインストール済み装置のそれぞれの性能情報を比較し、前記性能情報に基づいて前記優先順位を付与することを特徴とする構成である。
【００２４】
請求項１６に係る発明は、請求項１３乃至１５のいずれかに記載のサーバー装置において、前記ダウンロード指示手段は、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示するとき、前記優先順位を送信することを特徴とする構成である。
【００２５】
請求項１７に係る発明は、請求項１２乃至１６のいずれかに記載のサーバー装置において、前記ダウンロード指示手段は、前記インストール済み装置が前記ソフトウェアの送信処理を行うことができない状態である場合、前記代表装置の選択対象から除外することを特徴とする構成である。
【００２６】
請求項１８に係る発明は、請求項１７に記載のサーバー装置において、前記ダウンロード指示手段は、前記インストール済み装置の中から前記代表装置を選択することができない場合、前記ソフトウェアがインストールされていない情報処理装置に対し、前記ソフトウェアのダウロードを待機させることを特徴とする構成である。
【００２７】
請求項１９に係る発明は、請求項１８に記載のサーバー装置において、前記ダウンロード指示手段は、前記ソフトウェアがインストールされていない情報処理装置に前記ソフトウェアをインストールさせることなく所定期間が経過した場合、前記ソフトウェア送信手段を機能させ、前記ソフトウェア送信手段は、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせることを特徴とする構成である。
【００２８】
請求項２０に係る発明は、請求項１２乃至１９のいずれかに記載のサーバー装置において、前記他の装置は、当該サーバー装置にアクセスした情報処理装置と予め同じグループに分類されている少なくとも１つの情報処理装置であることを特徴とする構成である。
【００２９】
請求項２１に係る発明は、複数の情報処理装置のそれぞれと通信可能であり、前記複数の情報処理装置のそれぞれにインストールするためのソフトウェアを記憶する記憶手段を有し、前記複数の情報処理装置のそれぞれに前記ソフトウェアをインストールさせるサーバー装置において実行されるプログラムであって、前記複数の情報処理装置のそれぞれが前記ソフトウェアをインストールしているか否かを記録したソフトウェア管理情報を管理する第１ステップと、前記複数の情報処理装置のうちの前記ソフトウェアのインストールされていない情報処理装置からのアクセスを検知した場合、前記ソフトウェア管理情報を参照することにより、前記複数の情報処理装置に含まれる他の装置の中に、前記ソフトウェアが既にインストールされたインストール済み装置が存在するか否かを判別する第２ステップと、前記第２ステップにより前記インストール済み装置が存在しないと判別された場合、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせる第３ステップと、前記第２ステップにより前記インストール済み装置が存在すると判別された場合、前記インストール済み装置の中から代表装置を選択し、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示する第４ステップと、を実行させることを特徴とする構成である。
【００３０】
請求項２２に係る発明は、請求項２１に記載のプログラムにおいて、前記第４ステップは、前記第２ステップにより前記インストール済み装置が複数存在すると判別された場合、前記複数のインストール済み装置に対して優先順位を付与し、前記優先順位の最も高い装置を前記代表装置として選択することを特徴とする構成である。
【００３１】
請求項２３に係る発明は、請求項２２に記載のプログラムにおいて、前記第４ステップは、前記複数のインストール済み装置のそれぞれの負荷状態に基づいて前記優先順位を付与することを特徴とする構成である。
【００３２】
請求項２４に係る発明は、請求項２２に記載のプログラムにおいて、前記第４ステップは、前記複数のインストール済み装置のそれぞれの性能情報を比較し、前記性能情報に基づいて前記優先順位を付与することを特徴とする構成である。
【００３３】
請求項２５に係る発明は、請求項２２乃至２４のいずれかに記載のプログラムにおいて、前記第４ステップは、前記ソフトウェアのインストールされていない情報処理装置に対し、前記代表装置から前記ソフトウェアをダウンロードしてインストールすることを指示するとき、前記優先順位を送信することを特徴とする構成である。
【００３４】
請求項２６に係る発明は、請求項２１乃至２５のいずれかに記載のプログラムにおいて、前記第４ステップは、前記インストール済み装置が前記ソフトウェアの送信処理を行うことができない状態である場合、前記代表装置の選択対象から除外することを特徴とする構成である。
【００３５】
請求項２７に係る発明は、請求項２６に記載のプログラムにおいて、前記第４ステップは、前記インストール済み装置の中から前記代表装置を選択することができない場合、前記ソフトウェアがインストールされていない情報処理装置に対し、前記ソフトウェアのダウロードを待機させることを特徴とする構成である。
【００３６】
請求項２８に係る発明は、請求項２７に記載のプログラムにおいて、前記第４ステップは、前記ソフトウェアがインストールされていない情報処理装置に前記ソフトウェアのダウンロードをインストールさせることなく所定期間が経過した場合、前記サーバー装置に前記第３ステップを実行させ、前記第３ステップは、前記ソフトウェアのインストールされていない情報処理装置に対し、前記記憶手段に記憶されている前記ソフトウェアを送信してインストールさせることを特徴とする構成である。
【００３７】
請求項２９に係る発明は、請求項２１乃至２８のいずれかに記載のプログラムにおいて、前記他の装置は、前記サーバー装置にアクセスした情報処理装置と予め同じグループに分類されている少なくとも１つの情報処理装置であることを特徴とする構成である。
【発明の効果】
【００３８】
本発明によれば、サーバー装置は、複数の情報処理装置のうちの１つの情報処理装置にソフトウェアを送信してインストールさせておくことにより、他の情報処理装置には先にソフトウェアをインストールしている情報処理装置からソフトウェアを入手させることができるようになる。それ故、複数の情報処理装置のそれぞれにソフトウェアをインストールさせる際のサーバー装置の負荷を軽減することができるようになる。
【図面の簡単な説明】
【００３９】
【図１】情報処理システムの構成概念を示す図である。
【図２】情報処理装置のハードウェア構成及び機能構成の一例を示すブロック図である。
【図３】サーバー装置のハードウェア構成及び機能構成の一例を示すブロック図である。
【図４】装置情報の一例を示す図である。
【図５】ソフトウェア管理情報の一例を示す図である。
【図６】一の情報処理装置にソフトウェアがインストールされる流れを示す図である。
【図７】装置情報の更新例を示す図である。
【図８】ソフトウェア管理情報の更新例を示す図である。
【図９】別の情報処理装置にソフトウェアがインストールされる流れを示す図である。
【図１０】装置情報の更新例を示す図である。
【図１１】ソフトウェア管理情報の更新例を示す図である。
【図１２】別の情報処理装置にソフトウェアがインストールされる流れを示す図である。
【図１３】ソフトウェア管理情報の更新例を示す図である。
【図１４】別の情報処理装置にソフトウェアがインストールされる流れを示す図である。
【図１５】情報処理装置にソフトウェアがインストールされる別の流れを示す図である。
【図１６】情報処理装置にソフトウェアがインストールされる更に別の流れを示す図である。
【図１７】ソフトウェア管理情報の更新例を示す図である。
【図１８】サーバー装置において行われる主たる処理手順の一例を示すフローチャートである。
【図１９】インストール判定処理の詳細な処理手順の一例を示すフローチャートである。
【図２０】代表装置選択処理の詳細な処理手順の一例を示すフローチャートである。
【図２１】代表装置再決定処理の詳細な処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００４０】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
【００４１】
図１は、本発明の一実施形態である情報処理システム１の構成概念を示す図である。この情報処理システム１は、サーバー装置２と、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄとを備えて構成される。サーバー装置２は、例えばインターネット上のクラウド８に設置される装置である。複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄは、オフィスなどのローカル環境７に設置される。尚、以下においては、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄを特に区別しない場合、それらを総称して情報処理装置４と呼ぶことがある。また図１では、４つの情報処理装置４ａ，４ｂ，４ｃ，４ｄを示しているが、情報処理装置４の数は４つに限られない。
【００４２】
ローカル環境７には、ＬＡＮ（Local Area Network）などのローカルネットワーク５が設けられており、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄのそれぞれが同じローカルネットワーク５に接続される。そのため、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄは、ローカルネットワーク５を介して相互にデータ通信を行うことができる。
【００４３】
またローカルネットワーク５には、インターネットに接続するためのルーター６が設けられている。そのため、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄは、それぞれルーター６を介してインターネットにアクセス可能であり、クラウド８に設けられたサーバー装置２と通信を行うことも可能である。
【００４４】
情報処理装置４ａ，４ｂ，４ｃ，４ｄは、例えばＭＦＰなどで構成される画像処理装置であり、コピー機能やスキャン機能、プリント機能、ＦＡＸ機能などの複数の機能を備えており、ユーザーによって指定されたジョブを実行することができる装置である。このような情報処理装置４ａ，４ｂ，４ｃ，４ｄは、ローカルネットワーク５を介してジョブを受信した場合に、そのジョブを実行することができると共に、後述するようにユーザーが操作可能な操作パネル１２を備えており、その操作パネル１２に対して行われるユーザーの操作に基づいてジョブを実行することもできる。
【００４５】
また情報処理装置４ａ，４ｂ，４ｃ，４ｄには、様々なアプリケーションや修正プログラムなどのソフトウェアをインストールすることができる。情報処理装置４ａ，４ｂ，４ｃ，４ｄにインストールされるアプリケーションは、例えばコピー機能、スキャン機能、プリント機能及びＦＡＸ機能などの各機能をユーザーが利用するためのものであり、操作パネル１２に表示される表示画面をユーザーが独自にカスタマイズできるようにする機能など、標準的な機能にはない、付加的機能を情報処理装置４ａ，４ｂ，４ｃ，４ｄのそれぞれに付与するものである。また修正プログラムは、情報処理装置４ａ，４ｂ，４ｃ，４ｄのオペレーティングシステムやアプリケーションなどの各種プログラムを最新バーションに更新するためのプログラムである。
【００４６】
サーバー装置２は、情報処理装置４ａ，４ｂ，４ｃ，４ｄのそれぞれに対し、インターネット経由でアプリケーションや修正プログラムなどのソフトウェアを提供する装置である。サーバー装置２は、ハードディスクドライブ（ＨＤＤ）などで構成される記憶部３を備えており、その記憶部３に、情報処理装置４ａ，４ｂ，４ｃ，４ｄへインストール可能なソフトウェア１８を記憶している。また記憶部３には、情報処理装置４ａ，４ｂ，４ｃ，４ｄに関する情報を予め登録した装置情報１９が記憶されている。そしてサーバー装置２は、装置情報１９に登録されている複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄのそれぞれに対し、ソフトウェア１８をインストールさせるための制御を行う。
【００４７】
本実施形態では、ローカル環境７に設けられる各情報処理装置４ａ，４ｂ，４ｃ，４ｄは、ユーザーが使用していない状態のときにサーバー装置２にアクセスし、未インストールのソフトウェア１８をインストールする。例えば情報処理装置４ａがユーザーによって使用されていない状態となり、サーバー装置２に対してアクセスしたと仮定する。この場合、サーバー装置２は、情報処理装置４ａからのアクセスを検知すると、その情報処理装置４ａに未インストールのソフトウェア１８があるか否かを判断する。その結果、未インストールのソフトウェア１８があれば、サーバー装置２は、その未インストールのソフトウェア１８を情報処理装置４ａにインストールすることを決定する。
【００４８】
続いてサーバー装置２は、情報処理装置４ａと同じローカルネットワーク５に接続されている他の情報処理装置４ｂ，４ｃ，４ｄの中に、ソフトウェア１８を既にインストールしているインストール済み装置が存在するか否かを判断する。その結果、他の情報処理装置４ｂ，４ｃ，４ｄの中にインストール済み装置が存在しない場合、サーバー装置２は、記憶部３からソフトウェア１８を読み出し、そのソフトウェア１８を情報処理装置４ａに送信する。これにより、情報処理装置４ａは、サーバー装置２からソフトウェア１８をダウンロードしてインストールすることができる。
【００４９】
これに対し、他の情報処理装置４ｂ，４ｃ，４ｄの中にインストール済み装置が存在する場合、サーバー装置２は、情報処理装置４ａに対し、そのインストール済み装置からソフトウェア１８を入手してインストールすることを指示する。これにより、情報処理装置４ａは、同じローカルネットワーク５内のインストール済み装置からソフトウェア１８をダウンロードしてインストールすることができ、サーバー装置２の負荷を軽減することができる。尚、他の情報処理装置４ｂ，４ｃ，４ｄがサーバー装置２にアクセスした場合も同様である。以下、このような情報処理装置４及びサーバー装置２の構成及び動作について更に詳しく説明する。
【００５０】
図２は、情報処理装置４のハードウェア構成及び機能構成の一例を示すブロック図である。情報処理装置４は、制御部１０と、記憶部１１と、操作パネル１２と、通信インタフェース１３と、スキャナ部１４と、プリンタ部１５と、ＦＡＸ部１６とを備えている。
【００５１】
制御部１０は、図示しないＣＰＵとメモリとを備えており、記憶部１１に記憶されているプログラム１７を読み出して実行することが可能である。制御部１０は、プログラム１７を実行することにより、ジョブ制御部２０、サーバー接続部２１、インストール部２２、及び、ソフトウェア提供部２３として機能する。
【００５２】
記憶部１１は、例えばハードディスクドライブ（ＨＤＤ）などの不揮発性の記憶手段であり、制御部１０のＣＰＵによって実行されるプログラム１７を記憶している。また記憶部１１は、サーバー装置２又は他の情報処理装置４からダウンロードしたソフトウェア１８を記憶しておくこともできる。
【００５３】
操作パネル１２は、ユーザーが情報処理装置４を使用する際のユーザーインタフェースとなるものであり、表示部１２ａと操作部１２ｂとを備えている。表示部１２ａは、例えばカラー液晶ディスプレイなどで構成され、各種ジョブの設定画面や、ジョブの進捗状況などを表示することできる。また表示部１２ａは、ユーザーによって使用されていない状態のときには、スクリーンセーバー画面を表示する。操作部１２ｂは、表示部１２ａの表示画面上に設けられるタッチパネルキーや、表示画面の周囲に配置される押しボタンキーなどによって構成され、ユーザーによる操作を受け付ける。
【００５４】
通信インタフェース１３は、情報処理装置４をローカルネットワーク５に接続するためのものである。制御部１０は、この通信インタフェース１３を介してサーバー装置２や他の情報処理装置４との通信を行う。
【００５５】
スキャナ部１４は、コピージョブやスキャンジョブが実行される際に動作し、ユーザーによってセットされた原稿を光学的に読み取って原稿の画像データを生成する。プリンタ部１５は、コピージョブやプリントジョブが実行される際に動作し、印刷対象となる画像データに基づいて印刷用紙などのシート材に画像形成を行って印刷出力を行うものである。ＦＡＸ部１６は、ＦＡＸデータの送受信が行われる際に動作し、図示しない公衆電話網を介してＦＡＸデータの送受信を行う。
【００５６】
次に制御部１０の機能について説明する。ジョブ制御部２０は、ユーザーによって指定されたジョブの実行を制御するものである。ジョブ制御部２０は、操作パネル１２の表示部１２ａに対して機能選択画面やジョブの設定画面などを表示し、ユーザーによるジョブの設定操作を受け付ける。そしてユーザーによるジョブの実行指示を検知すると、ジョブ制御部２０は、スキャナ部１４、プリンタ部１５及びＦＡＸ部１６のそれぞれを駆動し、ユーザーによって指定されたジョブの実行を制御する。
【００５７】
ジョブ制御部２０は、セーバー起動部２４を備えている。セーバー起動部２４は、ユーザーによって使用されていない状態が所定時間継続すると、スクリーンセーバーを起動し、操作パネル１２の表示部１２ａに、スクリーンセーバー画面を表示させる。これにより、操作パネル１２で消費される電力を低減することができる。またセーバー起動部２４は、スクリーンセーバー画面を表示させているときに、操作部１２ｂに対するユーザーの操作を検知すると、スクリーンセーバー画面の表示を終了させる。これにより、表示部１２ａにはユーザーが操作可能な初期画面が表示されるようになる。
【００５８】
サーバー接続部２１は、ジョブの実行効率を低下させることなく、サーバー装置２と通信を行うことが可能な状態において、サーバー装置２にアクセスし、サーバー装置２と接続する処理部である。例えば、サーバー接続部２１は、セーバー起動部２４によってスクリーンセーバーが起動されると、ジョブの実行効率を低下させることなく、サーバー装置２と通信を行うことが可能な状態であると判断し、サーバー装置２にアクセスする。これにより、情報処理装置４とサーバー装置２との接続状態が確立される。そしてサーバー接続部２１は、スクリーンセーバーが終了するまでサーバー装置２との接続状態を継続させる。言い換えると、サーバー接続部２１は、スクリーンセーバーが終了するとき、サーバー装置２に対して切断通知を送信し、サーバー装置２との接続状態を解除する。
【００５９】
またサーバー接続部２１は、サーバー装置２との接続状態を確立させると、情報処理装置４においてスクリーンセーバーが起動したことを示す起動通知をサーバー装置２へ送信する。これにより、情報処理装置４がジョブの実行効率を低下させることなく、ソフトウェア１８をダウンロード可能な状態であることを、サーバー装置２に認識させることができる。サーバー接続部２１は、起動通知をサーバー装置２へ送信すると、次にインストール部２２を機能させる。
【００６０】
インストール部２２は、サーバー接続部２１がサーバー装置２と接続している状態において、サーバー装置２から受信する指示に基づいてソフトウェア１８をダウンロードし、ソフトウェア１８をインストールする処理部である。例えばサーバー装置２からソフトウェア１８が送信される場合、インストール部２２は、サーバー装置２からソフトウェア１８をダウンロードする。またサーバー装置２からダウンロード指示を受信した場合、インストール部２２は、そのダウンロード指示に基づき、同じローカルネットワーク５内の他の情報処理装置４からソフトウェア１８をダウンロードする。つまり、インストール部２２は、サーバー装置２からの指示に基づいて、サーバー装置２と他の情報処理装置４のいずれか一方からソフトウェア１８をダウンロードして入手する。そしてインストール部２２は、ダウンロードによって取得するソフトウェア１８を記憶部１１に逐次記録していき、ダウンロードが完了すると、ソフトウェア１８のインストールを開始する。したがって、ソフトウェア１８がアプリケーションであれば、情報処理装置４において新たなアプリケーションを利用することができるようになる。またソフトウェア１８が修正プログラムであれば、既にインストールされているプログラム１７が最新バーションに更新される。
【００６１】
ソフトウェア提供部２３は、インストール部２２によって記憶部１１にソフトウェア１８が保存された状態のときに機能する。ソフトウェア提供部２３は、他の情報処理装置４からソフトウェア１８のダウンロード要求を受信すると、記憶部１１からソフトウェア１８を読み出し、そのソフトウェア１８をダウンロード要求の送信元へ送信する。すなわち、ソフトウェア提供部２３は、インストール部２２によってダウンロード取得されたソフトウェア１８を他の情報処理装置４へ転送することにより、他の情報処理装置４がサーバー装置２からダウンロードすることなく、ソフトウェア１８を入手可能とするものである。
【００６２】
ところで、情報処理装置４には、高性能装置と低性能装置とがある。例えば、高性能装置はマルチタスクが可能な装置であり、低性能装置はシングルタスク装置である。そのため、高性能装置に搭載されているソフトウェア提供部２３は、ユーザーの使用状態及びジョブの実行状態にかかわらず、他の情報処理装置４からソフトウェア１８のダウンロード要求を受信すれば、記憶部１１からソフトウェア１８を読み出して送信処理を開始し、送信が完了するまで送信処理を継続する。これに対し、低性能装置に搭載されているソフトウェア提供部２３は、ユーザーの使用及びジョブの実行を優先させるため、スクリーンセーバーが起動している期間に限り、ソフトウェア１８を送信することが可能である。したがって、低性能装置の場合には、ソフトウェア１８の送信途中でスクリーンセーバーが終了すると、ソフトウェア１８の送信処理が中断することになる。
【００６３】
次に図３は、サーバー装置２のハードウェア構成及び機能構成の一例を示すブロック図である。サーバー装置２は、上述した記憶部３の他に、制御部３０と、通信インタフェース３１とを備えている。記憶部３には、上述したソフトウェア１８と装置情報１９とが記憶される他、プログラム３２と、ソフトウェア管理情報３８とが記憶される。
【００６４】
制御部３０は、図示しないＣＰＵとメモリとを備えており、記憶部３に記憶されているプログラム３２を読み出して実行することが可能である。制御部３０は、そのプログラム３２を実行することにより、アクセス検知部４０、装置情報管理部４１、判別部４２、ソフトウェア送信部４３、及び、ダウンロード指示部４４として機能する。
【００６５】
通信インタフェース３１は、サーバー装置２をインターネットなどのネットワークに接続し、情報処理装置４と通信を行うためのものである。制御部３０は、この通信インタフェース３１を介して情報処理装置４とデータ通信を行うことが可能である。
【００６６】
アクセス検知部４０は、ローカル環境７に設けられる情報処理装置４からのアクセスを検知する処理部である。アクセス検知部４０は、情報処理装置４からのアクセスを検知すると、その情報処理装置４との接続状態を確立し、情報処理装置４から送信される情報に基づいて装置情報管理部４１及び判別部４２のいずれか一方を機能させる。
【００６７】
装置情報管理部４１は、装置情報１９及びソフトウェア管理情報３８を管理するものである。装置情報管理部４１は、情報処理装置４から新規情報の登録要求を受信した場合に、装置情報１９に新規な情報を登録する。例えばローカル環境７に対して新たな情報処理装置４が設置されると、管理者がその情報処理装置４を操作してサーバー装置２にアクセスし、新規情報の登録要求を送信する。装置情報管理部４１は、そのような新たな情報処理装置４から新規情報の登録要求を受信すると、受信情報に基づいて装置情報１９に新たな情報処理装置４に関する情報を登録する。したがって、図１に示したようにローカル環境７において４つの情報処理装置４ａ，４ｂ，４ｃ，４ｄが稼働している状態のときには、装置情報１９に、４つの情報処理装置４ａ，４ｂ，４ｃ，４ｄに関する情報が登録されている。
【００６８】
図４は、装置情報１９の一例を示す図である。図４に示すように、装置情報１９は、情報処理装置４ごとに、装置識別情報１９ａと、性能情報１９ｂと、グループ情報１９ｃと、ステータス情報１９ｄとを記録した情報である。装置識別情報１９ａは、情報処理装置４を識別するための情報であり、各情報処理装置４にユニークな情報である。装置識別情報１９ａは、情報処理装置４がサーバー装置２に対して送信する情報のヘッダーなどに含まれる。そのため、装置情報管理部４１は、新規情報の登録要求を受信すると、その受信情報のヘッダーなどに含まれる装置識別情報１９ａを抽出して装置情報１９に登録する。
【００６９】
また受信情報には、性能情報１９ｂが含まれている。性能情報１９ｂは、登録要求の送信元である情報処理装置４の性能を表した情報であり、高性能装置と低性能装置のいずれであるかを特定可能な情報である。装置情報管理部４１は、登録要求の送信元である情報処理装置４が高性能装置である場合、装置情報１９の性能情報１９ｂの欄に「Ｈｉｇｈ」を登録する。また登録要求の送信元である情報処理装置４が低性能装置である場合、装置情報１９の性能情報１９ｂの欄に「Ｌｏｗ」を登録する。ここで、高性能装置は、上述したようにマルチタスク可能な装置であり、ユーザーが使用している状態であっても、ソフトウェア１８を他の情報処理装置４へ送信することが可能であり、ジョブの実行効率をあまり低下させることなく、ジョブの実行と並行してソフトウェア１８の送信処理を行うことができる装置である。これに対し、低性能装置は、上述したようにシングルタスク装置であり、ユーザーが使用している状態においてソフトウェア１８を他の情報処理装置４へ送信する処理を行うと、ジョブの実行効率が著しく低下してしまう装置であり、ジョブの実行と並行してソフトウェア１８の送信処理を行うことができない装置である。
【００７０】
また受信情報には、グループ情報１９ｃも含まれている。グループ情報１９ｃは、情報処理装置４が接続されているローカルネットワーク５を示す情報である。つまり、同じローカルネットワーク５に接続されている情報処理装置４には同じグループ情報１９ｃが付与されることになる。これにより、１つのローカルネットワーク５に複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄが接続されている場合、それら複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄが同じグループに分類される。装置情報管理部４１は、受信情報からグループ情報１９ｃを抽出し、そのグループ情報１９ｃを装置情報１９へ登録する。
【００７１】
装置情報１９のステータス情報１９ｄは、情報処理装置４との接続状態を管理するための情報である。すなわち、アクセス検知部４０によって情報処理装置４との接続状態が確立されると、装置情報管理部４１は、ステータス情報１９ｄの欄に「ｃｏｎｎｅｃｔｅｄ」を記録する。これに対し、アクセス検知部４０が情報処理装置４との接続状態を確立させていないとき、装置情報管理部４１は、ステータス情報１９ｄの欄に「ｕｎｃｏｎｎｅｃｔｅｄ」を記録する。したがって、ステータス情報１９ｄを参照すれば、各情報処理装置４との接続状態が確立されているか否かを判別することができる。
【００７２】
尚、図４では、情報処理装置４ａの装置識別情報１９ａを「ＭＦＰ−Ａ」、情報処理装置４ｂの装置識別情報１９ａを「ＭＦＰ−Ｂ」、情報処理装置４ｃの装置識別情報１９ａを「ＭＦＰ−Ｃ」、情報処理装置４ｄの装置識別情報１９ａを「ＭＦＰ−Ｄ」、としている。
【００７３】
また装置情報管理部４１は、サーバー装置２に新規なソフトウェア１８が登録されると、そのソフトウェア１８に対応するソフトウェア管理情報３８を生成し、そのソフトウェア管理情報３８を記憶部３に保存して管理する。このソフトウェア管理情報３８は、複数の情報処理装置４のそれぞれがソフトウェア１８をインストールしているか否かを管理するための情報である。
【００７４】
判別部４２は、情報処理装置４から新規情報の登録要求以外の情報を受信した場合に機能する。例えば情報処理装置４においてスクリーンセーバーが起動したことを示す起動通知を受信した場合、判別部４２は、ソフトウェア管理情報３８を参照し、起動通知の送信元である情報処理装置４に、ソフトウェア１８がインストールされているか否かを判断する。
【００７５】
図５は、ソフトウェア管理情報３８の一例を示す図である。ソフトウェア管理情報３８は、ソフトウェア１８を識別するためのソフトウェア識別情報３８ａと、そのソフトウェア１８のインストール期限３８ｂと、そのソフトウェア１８のインストール対象となる情報処理装置４が個別に定義された対象装置情報３８ｃと、情報処理装置４ごとのインストール状態情報３８ｄと、情報処理装置４ごとの代表装置実績回数３８ｅと、情報処理装置４ごとの転送中断回数３８ｆとを含む情報である。
【００７６】
インストール期限３８ｂには、情報処理装置４がソフトウェア１８をインストール可能な期限が記録される。そのため、この期限を経過すると、情報処理装置４はソフトウェア１８をインストールすることができなくなる。インストール状態情報３８ｄには、各情報処理装置４にソフトウェア１８がインストールされているか否かを示す情報が記録される。代表装置実績回数３８ｅには、各情報処理装置４が他の情報処理装置４に対してソフトウェア１８を送信する代表装置として機能した回数が記録される。また転送中断回数３８ｆには、各情報処理装置４が代表装置として機能しているときにソフトウェア１８の送信を中断した回数が記録される。尚、サーバー装置２に新規なソフトウェア１８が登録されたときには、各情報処理装置４のインストール状態情報３８ｄが「Ｎｏｔ  ｉｎｓｔａｌｌｅｄ」として記録され、代表装置実績回数３８ｅ及び転送中断回数３８ｆがいずれも０回として記録される。
【００７７】
判別部４２は、上記のようなソフトウェア管理情報３８に基づき、起動通知の送信元である情報処理装置４に対応するインストール状態情報３８ｄを確認することにより、情報処理装置４にソフトウェア１８がインストールされているか否かを判断する。その結果、情報処理装置４にソフトウェア１８が既にインストールされている場合、サーバー装置２による処理は終了する。
【００７８】
また情報処理装置４にソフトウェア１８が未だインストールされていない場合、判別部４２は、装置情報１９を参照し、起動通知の送信元である情報処理装置４と同じローカルネットワーク５に接続されている他の情報処理装置４を特定する。そして再びソフトウェア管理情報を参照し、他の情報処理装置４の中に、既にソフトウェア１８をインストールしているインストール済み装置が存在するか否かを判別する。その結果、インストール済み装置が存在しない場合、判別部４２は、ソフトウェア送信部４３を機能させる。これに対し、インストール済み装置が存在する場合、判別部４２は、ダウンロード指示部４４を機能させる。ただし、判別部４２は、インストール済み装置が存在する場合であっても、インストール期限までの残り時間が所定時間よりも短くなっていれば、ダウンロード指示部４４ではなく、ソフトウェア送信部４３を機能させるようにしても良い。
【００７９】
ソフトウェア送信部４３は、記憶部３からソフトウェア１８を読み出し、そのソフトウェア１８を情報処理装置４へ送信することにより、情報処理装置４にソフトウェア１８をインストールさせる処理部である。ソフトウェア送信部４３が情報処理装置４に対して直接ソフトウェア１８を送信することにより、情報処理装置４は、サーバー装置２からソフトウェア１８をダウンロードしてインストールすることができる。そしてソフトウェア送信部４３は、ソフトウェア１８を情報処理装置４へ送信した後、情報処理装置４においてソフトウェア１８のインストールが完了したことを示す完了通知を受信すると、ソフトウェア管理情報３８のインストール状態情報３８ｄを書き換える。
【００８０】
ダウンロード指示部４４は、判別部４２によりインストール済み装置が存在すると判別された場合、インストール済み装置の中から代表装置を選択する。代表装置は、同じローカルネットワーク５内で他の情報処理装置４にソフトウェア１８を転送するのに最も適した一の情報処理装置である。例えば、現時点におけるジョブの実行効率を低下させることなく、ソフトウェア１８を送信可能な情報処理装置４が代表装置として選択される。そしてダウンロード指示部４４は、起動通知の送信元である情報処理装置４に対して、その代表装置からソフトウェア１８をダウンロードしてインストールすることを指示するためのダウンロード指示を送信する。これにより、起動通知を送信した情報処理装置４は、サーバー装置２によって指定された代表装置にダウンロード要求を送信し、同じローカルネットワーク５内の代表装置からソフトウェア１８をダウンロードしてインストールする。そしてダウンロード指示部４４は、ダウンロード指示を情報処理装置４へ送信した後、情報処理装置４においてソフトウェア１８のインストールが完了したことを示す完了通知を受信すると、ソフトウェア管理情報３８のインストール状態情報３８ｄを書き換える。
【００８１】
ダウンロード指示部４４は、判別部４２によって複数のインストール済み装置が検出された場合、それら複数のインストール済み装置の中に、代表装置に適さない装置があれば、その装置を代表装置候補から除外する。例えば、インストール済み装置が低性能装置である場合、そのインストール済み装置がユーザーによって使用されている状態のときにソフトウェア１８を他の情報処理装置４へ送信する処理を並行して行うと、ジョブの実行効率が低下する。そしてインストール済み装置がユーザーによって使用されている状態であるか否かは、サーバー装置２がそのインストール済み装置と接続状態を確立しているか否かによって判断可能である。そのため、ダウンロード指示部４４は、インストール済み装置が低性能装置であり、サーバー装置２との接続状態を確立していない場合、そのインストール済み装置を代表装置候補から除外する。ただし、低性能装置であっても、サーバー装置２との接続状態を確立させていれば、ユーザーによって使用されていない状態であり、ジョブの実行効率を低下させることなく、ソフトウェア１８を他の情報処理装置４へ送信することが可能であるため、ダウンロード指示部４４はそのようなインストール済み装置を代表装置候補とする。
【００８２】
またダウンロード指示部４４は、現時点において既に代表装置として動作している可能性があるインストール済み装置を、今回の代表装置候補から除外する。つまり、既に代表装置として他の情報処理装置４にソフトウェア１８を送信している情報処理装置４が、更に別の情報処理装置４に対してソフトウェア１８を送信するための代表装置として選択されることがないようにしているのである。このように代表装置の重複設定を回避することにより、一つの代表装置に負荷が集中してしまうことを防止することができる。
【００８３】
上記のようにして所定のインストール済み装置を代表装置候補から除外すると、代表装置候補となり得るインストール済み装置が存在しなくなることもある。この場合、ダウンロード指示部４４は、代表装置候補の中から代表装置を選択することができなくなる。そのため、ダウンロード指示部４４は、起動通知の送信元である情報処理装置４に対し、ソフトウェア１８のダウンロードを一時的に待機させる待機指示を送信する。これにより、起動通知を送信した情報処理装置４は、サーバー装置２からの指示に基づき、ソフトウェア１８のダウンロードを待機する待機状態となる。
【００８４】
また所定のインストール済み装置を代表装置候補から除外した後、代表装置候補となり得るインストール済み装置が１つだけ存在する場合には、その１つのインストール済み装置が代表装置として選択される。
【００８５】
さらに所定のインストール済み装置を代表装置候補から除外した後、代表装置候補となり得るインストール済み装置が依然として複数存在する場合、ダウンロード指示部４４は、それら複数のインストール済み装置のそれぞれに対して優先順位を付与する。このとき各インストール済み装置に付与される優先順位は、予め定められたアルゴリズムに基づいて決定される。このアルゴリズムでは、例えば高性能装置の順位が低性能装置よりも高くなるように設定される。これにより、高性能装置が低性能装置よりも優先的に代表装置となる。また代表装置実績回数の少ない装置が多い装置よりも順位が高くなるように予め設定される。これにより、代表装置を分散させることができるようになる。また転送中断回数の少ない装置が多い装置よりも順位が高くなるように予め設定される。転送中断回数が多い装置はユーザーによって頻繁に使用されている装置である可能性が高く、転送中断回数の少ない装置を優先的に代表装置に選択することにより、ソフトウェア１８の送信途中で送信処理が中断されてしまうことを抑制することができるようになる。そして性能、代表装置実績回数及び転送中断回数のそれぞれに設定される重み付けに基づいて、ダウンロード指示部４４は、複数のインストール済み装置のそれぞれに対して優先順位を付与する。このようにして決定される優先順位は、言い換えると、複数のインストール済み装置のそれぞれの負荷状態に基づく優先順位であり、ソフトウェア１８を送信させることによって生じる負荷がジョブの実行効率に与える影響の少ない装置が高い順位となるように決定される。そしてダウンロード指示部４４は、優先順位の最も高いインストール済み装置を、代表装置として選択する。
【００８６】
またダウンロード指示部４４は、ソフトウェア１８のインストールされていない情報処理装置４に対して、代表装置からソフトウェア１８をダウンロードしてインストールすることを指示するダウンロード指示を送信するとき、複数のインストール済み装置のそれぞれの優先順位を付加して送信するようにしても良い。これにより、情報処理装置４は、サーバー装置２から指定された代表装置からソフトウェア１８を正常にダウンロードすることができないときには、次の優先順位のインストール済み装置を自ら代表装置に設定してソフトウェア１８のダウンロードを行うことができるようになる。これは、情報処理装置４へダウンロード指示を送信した後に、サーバー装置２がダウンするような場合に特に有効である。すなわち、情報処理装置４は、サーバー装置２がダウンしている状態であっても、ダウン前にサーバー装置２から通知された優先順位に基づいてソフトウェア１８をインストールすることができるようになる。
【００８７】
次に複数の情報処理装置４のそれぞれにソフトウェア１８がインストールされるプロセスの一例について説明する。まず図６は、情報処理装置４ａにソフトウェア１８がインストールされる流れを示す図である。尚、図６では、情報処理装置４ａ，４ｂ，４ｃ，４ｄのいずれにもソフトウェア１８がインストールされていない状態を示している。情報処理装置４ａにおいてスクリーンセーバーが起動すると（プロセスＰ１０）、情報処理装置４ａは、サーバー装置２との接続状態を確立し、サーバー装置２に対して起動通知Ｍ１を送信する。サーバー装置２は、その起動通知Ｍ１を受信すると、装置情報１９を更新する（プロセスＰ１１）。このとき、装置情報１９は、図４に示した状態から、図７（ａ）に示す状態へと書き換えられる。すなわち、情報処理装置４ａに対応するステータス情報１９ｄが「ｃｏｎｎｅｃｔｅｄ」に書き換えられるのである。
【００８８】
続いてサーバー装置２は、判別部４２による判別処理を行う（プロセスＰ１２）。すなわち、判別部４２は、図５に示したソフトウェア管理情報３８を参照することにより、情報処理装置４ａにソフトウェア１８がインストールされていないことを把握し、装置情報１９のグループ情報１９ｃに基づいて同じローカルネットワーク５内に他の情報処理装置４ｂ，４ｃ，４ｄが存在することを検知する。そして更に図５に示したソフトウェア管理情報３８を参照することにより、判別部４２は、それら他の情報処理装置４ｂ，４ｃ，４ｄのいずれにもソフトウェア１８がインストールされていないことを把握する。
【００８９】
次にサーバー装置２は、ソフトウェア送信部４３を機能させ、記憶部３からソフトウェア１８を読み出し（プロセスＰ１３）、そのソフトウェア１８を情報処理装置４へ送信する。これにより、情報処理装置４ａは、サーバー装置２からソフトウェア１８をダウンロード取得することができる。情報処理装置４ａは、サーバー装置２からソフトウェア１８をダウンロードしているとき、そのソフトウェア１８を記憶部１１に格納していく（プロセスＰ１４）。そしてダウンロードが完了すると、情報処理装置４ａは、ソフトウェア１８のインストールを開始する（プロセスＰ１５）。ソフトウェア１８のインストールが完了すると、情報処理装置４ａは、インストールが完了したことを示す完了通知Ｍ２をサーバー装置２へ送信する。サーバー装置２は、この完了通知Ｍ２を受信することに伴い、ソフトウェア管理情報３８を更新する（プロセスＰ１６）。これにより、図５に示したソフトウェア管理情報３８が、図８に示すソフトウェア管理情報３８へと書き換えられる。つまり、情報処理装置４ａに対応するインストール状態情報３８ｄが「Ｉｎｓｔａｌｌｅｄ」に書き換えられるのである。
【００９０】
その後、情報処理装置４ａにおいてユーザーの操作が検知されると（プロセスＰ１７）、情報処理装置４ａは、スクリーンセーバーを終了し（プロセスＰ１８）、サーバー装置２に対して切断通知Ｍ３を送信すると共に、サーバー装置２との接続状態を切断する。これに伴い、サーバー装置２は、装置情報１９を更新する。このとき、装置情報１９は、図７（ａ）に示した状態から、図７（ｂ）に示す状態へと書き換えられる。すなわち、情報処理装置４ａに対応するステータス情報１９ｄが「ｕｎｃｏｎｎｅｃｔｅｄ」に書き換えられるのである。以上のような流れで、最初に、情報処理装置４ａにソフトウェア１８がインストールされたことになる。
【００９１】
次に図９は、情報処理装置４ｂにソフトウェア１８がインストールされる流れを示す図である。尚、図９では、情報処理装置４ａだけにソフトウェア１８がインストールされている状態を示している。まずソフトウェア１８がインストールされている情報処理装置４ａにおいてスクリーンセーバーが起動すると（プロセスＰ２０）、情報処理装置４ａは、サーバー装置２との接続状態を確立し、サーバー装置２に対して起動通知Ｍ１を送信する。サーバー装置２は、その起動通知Ｍ１を受信すると、装置情報１９を更新する（プロセスＰ２１）。このとき、サーバー装置２は、情報処理装置４ａにソフトウェア１８が既にインストールされていることを検知する。そのため、情報処理装置４ａに対してソフトウェア１８をインストールさせるための処理は行わない。
【００９２】
続いてソフトウェア１８がインストールされていない情報処理装置４ｂにおいてスクリーンセーバーが起動すると（プロセスＰ２２）、情報処理装置４ｂは、サーバー装置２との接続状態を確立し、サーバー装置２に対して起動通知Ｍ１を送信する。サーバー装置２は、その起動通知Ｍ１を受信すると、装置情報１９を更新する（プロセスＰ２３）。これにより、装置情報１９は、図１０に示すような状態に書き換えられる。すなわち、情報処理装置４ａ，４ｂの双方に対応するステータス情報１９ｄが「ｃｏｎｎｅｃｔｅｄ」に書き換えられた状態となる。
【００９３】
続いてサーバー装置２は、判別部４２による判別処理を行う（プロセスＰ１２）。すなわち、判別部４２は、図８に示したソフトウェア管理情報３８を参照することにより、情報処理装置４ｂにソフトウェア１８がインストールされていないことを把握し、情報処理装置４ｂと同じグループの他の情報処理装置４ａにソフトウェア１８がインストールされていることを検知する。これにより、情報処理装置４ａがインストール済み装置として検知される。
【００９４】
次にサーバー装置２は、ダウンロード指示部４４を機能させ、代表装置を決定する処理を行う（プロセスＰ２５）。このとき、ダウンロード指示部４４は、インストール済み装置として検出した情報処理装置４ａが、ジョブの実行効率を低下させることなく、ソフトウェア１８を情報処理装置４ｂへ送信することが可能であるか否かを判別する。具体的に説明すると、ダウンロード指示部４４は、図１０に示す装置情報１９を参照することにより、情報処理装置４ａが低性能装置であることが判る。そこで、ダウンロード指示部４４は、更に情報処理装置４ａのステータス情報１９ｄを参照すると、情報処理装置４ａがサーバー装置２と接続状態を確立していることが判明する。したがって、ダウンロード指示部４４は、情報処理装置４ａの現在の状態がユーザーによって使用されていない状態であり、ソフトウェア１８の送信処理を行っても、ジョブの実行効率を低下させることがない状態であることを把握する。その結果、ダウンロード指示部４４は、情報処理装置４ａを代表装置として決定する。そしてダウンロード指示部４４は、情報処理装置４ｂに対し、情報処理装置４ａからソフトウェア１８のダウンロードを行うことを指示するダウンロード指示Ｍ４を送信する。
【００９５】
情報処理装置４ｂは、サーバー装置２からのダウンロード指示Ｍ４を受信すると、代表装置である情報処理装置４ａに対してダウンロード要求Ｍ５を送信する。情報処理装置４ａは、情報処理装置４ｂからのダウンロード要求Ｍ５を受信すると、記憶部１１からソフトウェア１８を読み出し（プロセスＰ２６）、そのソフトウェア１８を情報処理装置４ｂへ送信する。これにより、情報処理装置４ｂは、情報処理装置４ａからソフトウェア１８をダウンロード取得することができる。情報処理装置４ｂは、情報処理装置４ａからソフトウェア１８をダウンロードしているとき、そのソフトウェア１８を記憶部１１に格納していく（プロセスＰ２７）。そしてダウンロードが完了すると、情報処理装置４ｂは、ソフトウェア１８のインストールを開始する（プロセスＰ２８）。ソフトウェア１８のインストールが完了すると、情報処理装置４ｂは、インストールが完了したことを示す完了通知Ｍ２をサーバー装置２へ送信する。サーバー装置２は、この完了通知Ｍ２を受信することに伴い、ソフトウェア管理情報３８を更新する（プロセスＰ２９）。これにより、図８に示したソフトウェア管理情報３８が、図１１に示すソフトウェア管理情報３８へと書き換えられる。つまり、情報処理装置４ｂに対応するインストール状態情報３８ｄが「Ｉｎｓｔａｌｌｅｄ」に書き換えられると共に、情報処理装置４ａに対応する代表装置実績回数３８ｅに「１」が加算されるのである。以上のような流れで、２番目に、情報処理装置４ｂにソフトウェア１８がインストールされたことになる。
【００９６】
次に図１２は、情報処理装置４ｃにソフトウェア１８がインストールされる流れを示す図である。尚、図１２では、情報処理装置４ａ，４ｂにソフトウェア１８がインストールされている状態を示している。まずソフトウェア１８がインストールされている情報処理装置４ａにおいてスクリーンセーバーが起動すると（プロセスＰ３０）、情報処理装置４ａは、サーバー装置２との接続状態を確立し、サーバー装置２に対して起動通知Ｍ１を送信する。サーバー装置２は、その起動通知Ｍ１を受信すると、装置情報１９を更新する（プロセスＰ３１）。
【００９７】
続いてソフトウェア１８がインストールされていない情報処理装置４ｃにおいてスクリーンセーバーが起動すると（プロセスＰ３２）、情報処理装置４ｃは、サーバー装置２との接続状態を確立し、サーバー装置２に対して起動通知Ｍ１を送信する。サーバー装置２は、その起動通知Ｍ１を受信すると、装置情報１９を更新する（プロセスＰ３３）。これにより、装置情報１９は、情報処理装置４ａ，４ｃのステータス情報１９ｄが「ｃｏｎｎｅｃｔｅｄ」に書き換えられた状態となる。
【００９８】
続いてサーバー装置２は、判別部４２による判別処理を行う（プロセスＰ３４）。すなわち、判別部４２は、図１１に示したソフトウェア管理情報３８を参照することにより、情報処理装置４ｃにソフトウェア１８がインストールされていないことを把握し、情報処理装置４ｃと同じグループの他の情報処理装置４ａ，４ｂにソフトウェア１８がインストールされていることを検知する。これにより、情報処理装置４ａ，４ｂがインストール済み装置として検知される。
【００９９】
次にサーバー装置２は、ダウンロード指示部４４を機能させ、代表装置を決定する処理を行う（プロセスＰ３５）。このとき、ダウンロード指示部４４は、インストール済み装置として検出した２つの情報処理装置４ａ，４ｂに対して優先順位を付与する。例えば、装置情報１９を参照すると、情報処理装置４ａが低性能装置であり、情報処理装置４ｂが高性能装置である。また図１１のソフトウェア管理情報３８を参照すると、情報処理装置４ａの代表装置実績回数は「１」であり、情報処理装置４ｂの代表装置実績回数は「０」である。そのため、ダウンロード指示部４４は、情報処理装置４ｂの優先順位を情報処理装置４ａよりも高くする。そしてダウンロード指示部４４は、優先順位の高い情報処理装置４ｂを代表装置として決定する。またダウンロード指示部４４は、情報処理装置４ｃに対し、情報処理装置４ｂからソフトウェア１８のダウンロードを行うことを指示するダウンロード指示Ｍ４を送信する。
【０１００】
情報処理装置４ｃは、サーバー装置２からのダウンロード指示Ｍ４を受信すると、代表装置である情報処理装置４ｂに対してダウンロード要求Ｍ５を送信する。情報処理装置４ｂは、情報処理装置４ｃからのダウンロード要求Ｍ５を受信すると、記憶部１１からソフトウェア１８を読み出し（プロセスＰ３６）、そのソフトウェア１８を情報処理装置４ｃへ送信する。これにより、情報処理装置４ｃは、情報処理装置４ｂからソフトウェア１８をダウンロード取得することができる。また情報処理装置４ｂは、高性能装置であるため、１台の情報処理装置４ｃに対してソフトウェア１８を送信したとしても、ジョブの実行効率を低下させることがない。情報処理装置４ｃは、情報処理装置４ｂからソフトウェア１８をダウンロードしているとき、そのソフトウェア１８を記憶部１１に格納していく（プロセスＰ３７）。そしてダウンロードが完了すると、情報処理装置４ｃは、ソフトウェア１８のインストールを開始する（プロセスＰ３８）。ソフトウェア１８のインストールが完了すると、情報処理装置４ｃは、完了通知Ｍ２をサーバー装置２へ送信する。サーバー装置２は、この完了通知Ｍ２を受信することに伴い、ソフトウェア管理情報３８を更新する（プロセスＰ３９）。これにより、図１１に示したソフトウェア管理情報３８が、図１３に示すソフトウェア管理情報３８へと書き換えられる。つまり、情報処理装置４ｃに対応するインストール状態情報３８ｄが「Ｉｎｓｔａｌｌｅｄ」に書き換えられると共に、情報処理装置４ｂに対応する代表装置実績回数３８ｅに「１」が加算されるのである。以上のような流れで、３番目に、情報処理装置４ｂにソフトウェア１８がインストールされたことになる。
【０１０１】
ところで、情報処理装置４ｃが情報処理装置４ｂからソフトウェア１８のダウンロードを行っているときに、４つの情報処理装置４ｄにおいてスクリーンセーバーが起動されることがある。図１４は、そのような場合に、情報処理装置４ｄにソフトウェア１８がインストールされる流れを示す図である。図１４では、情報処理装置４ａ，４ｂにソフトウェア１８がインストールされている状態を示しており、情報処理装置４ｃが情報処理装置４ｂからソフトウェア１８をダウンロードしている状態を示している。また図１４に示すプロセスＰ３５，Ｐ３６は、図１２に示したプロセスＰ３５，Ｐ３６と同様である。さらに情報処理装置４ａは、サーバー装置２と既に接続状態を確立しているものとする。
【０１０２】
情報処理装置４ｃが情報処理装置４ｂからソフトウェア１８のダウンロードを行っているときに、情報処理装置４ｄにおいてスクリーンセーバーが起動すると（プロセスＰ４０）、情報処理装置４ｄは、サーバー装置２との接続状態を確立し、サーバー装置２に対して起動通知Ｍ１を送信する。サーバー装置２は、その起動通知Ｍ１を受信すると、装置情報１９を更新する（プロセスＰ４１）。これにより、装置情報１９は、情報処理装置４ａ，４ｃ，４ｄのステータス情報１９ｄが「ｃｏｎｎｅｃｔｅｄ」に書き換えられた状態となる。
【０１０３】
次にサーバー装置２は、判別部４２による判別処理を行う（プロセスＰ４２）。すなわち、判別部４２は、図１１に示したソフトウェア管理情報３８を参照することにより、情報処理装置４ｄにソフトウェア１８がインストールされていないことを把握し、情報処理装置４ｄと同じグループの他の情報処理装置４ａ，４ｂにソフトウェア１８がインストールされていることを検知する。これにより、情報処理装置４ａ，４ｂがインストール済み装置として検知される。
【０１０４】
次にサーバー装置２は、ダウンロード指示部４４を機能させ、代表装置を決定する処理を行う（プロセスＰ４３）。このとき、ダウンロード指示部４４は、インストール済み装置として検出された２つの情報処理装置４ａ，４ｂのうち、情報処理装置４ｂが既に代表装置として機能していることを検知する。そのため、ダウンロード指示部４４は、情報処理装置４ｂを代表装置候補から除外し、代表装置候補として残る情報処理装置４ａを代表装置として決定する。そしてダウンロード指示部４４は、情報処理装置４ｄに対し、情報処理装置４ａからソフトウェア１８のダウンロードを行うことを指示するダウンロード指示Ｍ４を送信する。
【０１０５】
情報処理装置４ｄは、サーバー装置２からのダウンロード指示Ｍ４を受信すると、代表装置である情報処理装置４ａに対してダウンロード要求Ｍ５を送信する。情報処理装置４ａは、情報処理装置４ｄからのダウンロード要求Ｍ５を受信すると、記憶部１１からソフトウェア１８を読み出し（プロセスＰ４４）、そのソフトウェア１８を情報処理装置４ｄへ送信する。これにより、情報処理装置４ｄは、情報処理装置４ａからソフトウェア１８をダウンロード取得することができる。このとき、ローカルネットワーク５内では、情報処理装置４ｃが情報処理装置４ｂからソフトウェア１８のダウンロード中となり、情報処理装置４ｄが情報処理装置４ａからソフトウェア１８のダウンロード中となる。
【０１０６】
情報処理装置４ｃは、情報処理装置４ｂからソフトウェア１８をダウンロードしているとき、そのソフトウェア１８を記憶部１１に逐次格納していき（プロセスＰ４５）、ダウンロードが完了すると、ソフトウェア１８のインストールを開始する（プロセスＰ４６）。そしてインストールが完了すると、情報処理装置４ｃは、サーバー装置２に対して完了通知Ｍ２を送信する。サーバー装置２は、この完了通知Ｍ２を受信することに伴い、ソフトウェア管理情報３８を更新する（プロセスＰ４７）。
【０１０７】
同様に、情報処理装置４ｄは、情報処理装置４ａからソフトウェア１８をダウンロードしているとき、そのソフトウェア１８を記憶部１１に逐次格納していき（プロセスＰ４８）、ダウンロードが完了すると、ソフトウェア１８のインストールを開始する（プロセスＰ４９）。そしてインストールが完了すると、情報処理装置４ｄは、サーバー装置２に対して完了通知Ｍ２を送信する。サーバー装置２は、この完了通知Ｍ２を受信することに伴い、ソフトウェア管理情報３８を更新する（プロセスＰ５０）。これにより、ローカルネットワーク５内の４つの情報処理装置４ａ，４ｂ，４ｃ，４ｄの全てにソフトウェア１８がインストールされたことになる。
【０１０８】
次に図１５は、情報処理装置４ｄにソフトウェア１８がインストールされる別の流れを示す図である。図１５が図１４と異なる点は、図１５では情報処理装置４ａがサーバー装置２との接続状態を確立していない場合を想定したものである点である。
【０１０９】
情報処理装置４ｃが情報処理装置４ｂからソフトウェア１８のダウンロードを行っているときに、情報処理装置４ｄにおいてスクリーンセーバーが起動すると（プロセスＰ５２）、情報処理装置４ｄは、サーバー装置２との接続状態を確立し、サーバー装置２に対して起動通知Ｍ１を送信する。サーバー装置２は、その起動通知Ｍ１を受信すると、装置情報１９を更新する（プロセスＰ４１）。これにより、装置情報１９は、情報処理装置４ｃ，４ｄのステータス情報１９ｄが「ｃｏｎｎｅｃｔｅｄ」に書き換えられた状態となる。
【０１１０】
次にサーバー装置２は、判別部４２による判別処理を行う（プロセスＰ５４）。すなわち、判別部４２は、図１１に示したソフトウェア管理情報３８を参照することにより、情報処理装置４ｄにソフトウェア１８がインストールされていないことを把握し、情報処理装置４ｄと同じグループの他の情報処理装置４ａ，４ｂにソフトウェア１８がインストールされていることを検知する。これにより、情報処理装置４ａ，４ｂがインストール済み装置として検知される。
【０１１１】
次にサーバー装置２は、ダウンロード指示部４４を機能させ、代表装置を決定する処理を行う（プロセスＰ５５）。このとき、ダウンロード指示部４４は、インストール済み装置として検出された２つの情報処理装置４ａ，４ｂのうち、情報処理装置４ｂが既に代表装置として機能していることを検知する。そのため、ダウンロード指示部４４は、情報処理装置４ｂを代表装置候補から除外する。次にダウンロード指示部４４は、代表装置候補として残った情報処理装置４ａが代表装置に適しているか否かを判断する。そこで装置情報１９を参照すると、情報処理装置４ａが低性能装置であり、サーバー装置２との接続状態を確立していないことが判明する。つまり、情報処理装置４ａを代表装置に決定すると、情報処理装置４ａにおけるジョブの実行効率を低下させてしまう可能性があることが判明する。したがって、ダウンロード指示部４４は、情報処理装置４ａを代表装置には決定しない。この場合、ダウンロード指示部４４は、情報処理装置４ｄに対し、待機指示Ｍ６を送信する。この待機指示Ｍ６を受信した情報処理装置４ｄは、ソフトウェア１８のダウンロードを開始することなく、サーバー装置２との接続状態を確立させたままで待機状態となる。
【０１１２】
一方、情報処理装置４ｃは、情報処理装置４ｂからソフトウェア１８をダウンロードしているとき、そのソフトウェア１８を記憶部１１に逐次格納していき（プロセスＰ５６）、ダウンロードが完了すると、ソフトウェア１８のインストールを開始する（プロセスＰ５７）。そしてインストールが完了すると、情報処理装置４ｃは、サーバー装置２に対して完了通知Ｍ２を送信する。サーバー装置２は、この完了通知Ｍ２を受信することに伴い、ソフトウェア管理情報３８を更新する（プロセスＰ５８）。これにより、ダウンロード指示部４４は、情報処理装置４ｂの代表装置としての役目が終了したことを検知する。
【０１１３】
ダウンロード指示部４４は、情報処理装置４ｂが代表装置としての役目を終了したことを検知すると、待機状態である情報処理装置４ｄに対し、情報処理装置４ｂを代表装置としてソフトウェア１８のダウンロードを行うことを指示するダウンロード指示Ｍ４を送信する。情報処理装置４ｄは、サーバー装置２からダウンロード指示Ｍ４を受信すると、代表装置である情報処理装置４ｂに対してダウンロード要求Ｍ５を送信する。情報処理装置４ｂは、情報処理装置４ｄからのダウンロード要求Ｍ５を受信すると、記憶部１１からソフトウェア１８を読み出し（プロセスＰ５９）、そのソフトウェア１８を情報処理装置４ｄへ送信する。これにより、情報処理装置４ｄは、情報処理装置４ｂからソフトウェア１８をダウンロード取得することができる。
【０１１４】
またダウンロード指示部４４は、ソフトウェア１８がインストールされていない情報処理装置４ｄにソフトウェア１８のダウンロードを待機させている状態において所定期間が経過した場合、ソフトウェア送信部４３を機能させるようにしても良い。この場合、ソフトウェア送信部４３は、ソフトウェア１８のインストールされていない情報処理装置４ｄに対し、記憶部３に記憶されているソフトウェア１８を送信してインストールさせる。これにより、長期間にわたって待機状態が継続してしまうことを防止することが可能である。そのため、インストール期限が迫っている場合に、有効な対処法である。
【０１１５】
次に図１６は、情報処理装置４ｄにソフトウェア１８がインストールされる更に別の流れを示す図である。情報処理装置４ａは、サーバー装置２と接続状態を確立させているときに情報処理装置４ｄからダウンロード要求を受信すると、記憶部１１からソフトウェア１８を読み出し（プロセスＰ４４）、そのソフトウェア１８を情報処理装置４ｄに送信する処理を開始する。その後、情報処理装置４ａは、操作パネル１２に対するユーザーの操作を検知すると（プロセスＰ６０）、ジョブの実行効率を優先させるべく、ソフトウェア１８の送信処理を中断する（プロセスＰ６１）。これに伴い、情報処理装置４ａは、サーバー装置２に対して切断通知Ｍ３を送信し、サーバー装置２との接続状態を切断する。またサーバー装置２は、情報処理装置４ａからの切断通知Ｍ３を受信すると、装置情報１９を更新し、情報処理装置４ａに対応するステータス情報１９ｄを「ｕｎｃｏｎｎｅｃｔｅｄ」に書き換える。
【０１１６】
一方、情報処理装置４ｄは、情報処理装置４ａによってソフトウェア１８の送信処理が中断されると、サーバー装置２に対して中断通知Ｍ７を送信する。サーバー装置２は、この中断通知Ｍ７を受信すると、ソフトウェア管理情報３８を更新する。これにより、図１１に示すソフトウェア管理情報３８が、図１７に示すソフトウェア管理情報３８に書き換えられる。すなわち、情報処理装置４の転送中断回数３８ｆに「１」が加算されるのである。またサーバー装置２は、情報処理装置４ｄから中断通知Ｍ７を受信することにより、情報処理装置４ｄがソフトウェア１８の入手に失敗したことを把握することができる。
【０１１７】
情報処理装置４ｄがソフトウェア１８の入手に失敗したことを検知すると、サーバー装置２は、再び判別部４２による判別処理を行う（プロセスＰ６４）。そして判別部４２によってインストール済み装置が抽出されると、サーバー装置２は、ダウンロード指示部４４を機能させ、代表装置を決定する（プロセスＰ６５）。そしてダウンロード指示部４４は、新たな代表装置を指定したダウンロード指示Ｍ４を情報処理装置４ｄへ送信する。これにより、情報処理装置４ｄは、情報処理装置４ａからのダウンロードに失敗した後、サーバー装置２から新たに指定される代表装置からダウンロードを継続的に行うことができるようになる。
【０１１８】
またサーバー装置２は、情報処理装置４ｄから中断通知Ｍ７を受信したとき、情報処理装置４ｄが入手に失敗したソフトウェア１８のインストール期限を確認し、インストール期限までの残り期間が所定期間よりも短くなっている場合、ソフトウェア送信部４３を機能させるようにしても良い。この場合、ソフトウェア送信部４３は、記憶部３からソフトウェア１８を読み出し、中断通知Ｍ７に基づいて情報処理装置４ｄが受信していない残りのデータ部分を情報処理装置４ｄに対して直接送信する。これにより、インストール期限が迫っている場合であっても、情報処理装置４ｄに対して適切にソフトウェア１８をインストールさせることができるようになる。またこの場合、ソフトウェア送信部４３は、情報処理装置４ｄが入手していない残りのデータ部分だけを送信することで、ソフトウェア１８の全部データを送信するよりも効率的にデータ送信を行うことが可能であり、サーバー装置２の負荷を軽減することもできる。
【０１１９】
次にサーバー装置２において行われる処理手順について説明する。図１８は、サーバー装置２において行われる主たる処理手順の一例を示すフローチャートである。この処理は、サーバー装置２においてプログラム３２が実行されることによって行われる処理である。サーバー装置２は、この処理を開始すると、装置情報１９に登録されている情報処理装置４からスクリーンセーバーの起動通知Ｍ１を受信したか否かを判断する（ステップＳ１）。起動通知Ｍ１を受信した場合（ステップＳ１でＹＥＳ）、サーバー装置２は、情報処理装置４との接続状態を確立し、装置情報１９を更新する（ステップＳ２）。すなわち、サーバー装置２は、装置情報１９において、起動通知Ｍ１の送信元である情報処理装置４に対応するステータス情報１９ｄを「ｃｏｎｎｅｃｔｅｄ」に書き換える。続いて、サーバー装置２は、インストール判定処理を行う（ステップＳ３）。このインストール判定処理では、まず起動通知Ｍ１の送信元である情報処理装置４にインストールすべきソフトウェア１８が存在するか否かが確認される。そしてインストールすべきソフトウェア１８が存在する場合、サーバー装置２からソフトウェア１８を送信するか、或いは、インストール済み装置からダウンロードさせるかが決定される。尚、インストール判定処理の詳細については後述する。一方、サーバー装置２は、起動通知Ｍ１を受信していない場合（ステップＳ１でＮＯ）、ステップＳ２，Ｓ３の処理をスキップする。
【０１２０】
次にサーバー装置２は、情報処理装置４からソフトウェア１８のインストールが完了したことを示す完了通知Ｍ２を受信したか否かを判断する（ステップＳ４）。完了通知Ｍ２を受信した場合（ステップＳ４でＹＥＳ）、サーバー装置２は、ソフトウェア管理情報３８を更新する（ステップＳ５）。すなわち、完了通知Ｍ２の送信元である情報処理装置４に対応するインストール状態情報３８ｄを「Ｉｎｓｔａｌｌｅｄ」に書き換えることにより、ソフトウェア管理情報３８を更新する。尚、完了通知Ｍ２を受信していない場合（ステップＳ４でＮＯ）、ステップＳ５の処理は行われない。
【０１２１】
次にサーバー装置２は、情報処理装置４から切断通知Ｍ３を受信したか否かを判断する（ステップＳ６）。切断通知Ｍ３を受信した場合（ステップＳ６でＹＥＳ）、サーバー装置２は、装置情報１９を更新する（ステップＳ７）。すなわち、サーバー装置２は、装置情報１９において、切断通知Ｍ３の送信元である情報処理装置４に対応するステータス情報１９ｄを「ｕｎｃｏｎｎｅｃｔｅｄ」に書き換える。尚、切断通知Ｍ３を受信していない場合（ステップＳ６でＮＯ）、ステップＳ７の処理は行われない。
【０１２２】
次にサーバー装置２は、情報処理装置４から中断通知Ｍ７を受信したか否かを判断する（ステップＳ８）。中断通知Ｍ７を受信した場合（ステップＳ８でＹＥＳ）、サーバー装置２は、中断通知Ｍ７の送信元である情報処理装置４がソフトウェア１８のダウンロードを行っていた代表装置を特定し、ソフトウェア管理情報３８を更新する（ステップＳ９）。すなわち、特定した代表装置に対応する転送中断回数３８ｆに「１」を加算することにより、ソフトウェア管理情報３８を更新する。続いてサーバー装置２は、ダウンロード指示部４４を機能させ、代表装置再決定処理を行う（ステップＳ１０）。この代表装置再決定処理では、現在の装置情報１９及びソフトウェア管理情報３８に基づき、中断通知Ｍ７の送信元である情報処理装置４がソフトウェア１８をダウンロードする際の代表装置を再決定する処理が行われる。尚、この代表装置再決定処理の詳細については後述する。また中断通知Ｍ７を受信していない場合（ステップＳ８でＮＯ）、ステップＳ９，Ｓ１０の処理は行われない。
【０１２３】
サーバー装置２は、上記のようなステップＳ１〜Ｓ１０の処理を循環的に繰り返し実行する。そのため、サーバー装置２は、情報処理装置４から何らかの情報を受信する度に、その受信した情報に適した処理を速やかに実行することができる。
【０１２４】
図１９は、インストール判定処理（ステップＳ３）の詳細な処理手順の一例を示すフローチャートである。サーバー装置２は、この処理を開始すると、まず判別部４２を機能させ、ソフトウェア管理情報３８を参照する（ステップＳ１１）。そして判別部４２は、起動通知Ｍ１の送信元である情報処理装置４にインストールすべきソフトウェア１８が存在するか否かを判断する（ステップＳ１２）。その結果、情報処理装置４にインストールすべきソフトウェア１８が存在しない場合（ステップＳ１２でＮＯ）、インストール判定処理が終了する。
【０１２５】
一方、起動通知Ｍ１の送信元である情報処理装置４にインストールすべきソフトウェア１８が存在する場合（ステップＳ１２でＹＥＳ）、判別部４２は、ソフトウェア管理情報３８を参照することにより、起動通知Ｍ１の送信元である情報処理装置４と同じローカルネットワーク５に接続されている他の情報処理装置４の中に、インストール済み装置が存在するか否かを判断する（ステップＳ１３）。その結果、インストール済み装置が存在しない場合（ステップＳ１３でＮＯ）、判別部４２は、ソフトウェア送信部４３を機能させる。そしてソフトウェア送信部４３は、記憶部３からソフトウェア１８を読み出し（ステップＳ１４）、起動通知Ｍ１の送信元である情報処理装置４に対してソフトウェア１８を送信する（ステップＳ１５）。これにより、起動通知Ｍ１の送信元である情報処理装置４にソフトウェア１８がインストールされる。
【０１２６】
またインストール済み装置が存在する場合（ステップＳ１３でＹＥＳ）、判別部４２は、ダウンロード指示部４４を機能させる。そしてダウンロード指示部４４は、代表装置選択処理を実行する（ステップＳ１６）。この代表装置選択処理では、インストール済み装置の中から一つの代表装置を選択する処理が行われる。ただし、代表装置選択処理では、代表装置を選択することができないこともある。そのため、ダウンロード指示部４４は、代表装置選択処理の後、代表装置を選択できたか否かを判断する（ステップＳ１７）。代表装置を選択することができた場合（ステップＳ１７でＹＥＳ）、ダウンロード指示部４４は、起動通知Ｍ１の送信元である情報処理装置４に対し、代表装置を指定したダウンロード指示Ｍ４を送信する（ステップＳ１８）。このとき、ダウンロード指示部４４は、ダウンロード指示Ｍ４と共に、代表装置を選択する際にインストール済み装置のそれぞれに付与した優先順位を送信するようにしても良い。そして情報処理装置４は、ダウンロード指示Ｍ４に基づいて代表装置からソフトウェア１８のダウンロードを開始する。
【０１２７】
また代表装置を選択することができなかった場合（ステップＳ１７でＮＯ）、ダウンロード指示部４４は、起動通知Ｍ１の送信元である情報処理装置４に対し、待機指示Ｍ６を送信する（ステップＳ１９）。これにより、情報処理装置４は、ソフトウェア１８のダウンロードを待機する状態となるため、ソフトウェア１８のインストールは行われない。
【０１２８】
図２０は、代表装置選択処理（ステップＳ１６）の詳細な処理手順の一例を示すフローチャートである。ダウンロード指示部４４は、この処理を開始すると、複数のインストール済み装置が存在するか否かを判断する（ステップＳ２０）。インストール済み装置が１つだけである場合（ステップＳ２０でＮＯ）、ダウンロード指示部４４は、その１つのインストール済み装置が現在代表装置として機能し、ソフトウェア１８を他の情報処理装置４へ送信中であるか否かを判断する（ステップＳ２１）。その結果、１つのインストール済み装置が代表装置として機能し、ソフトウェア１８の送信中である場合（ステップＳ２１でＹＥＳ）、ダウンロード指示部４４は、代表装置を決定することなく、代表装置選択処理を終了する。したがって、代表装置が重複して設定されることなく、１つの代表装置に負荷集中することを抑制することができる。
【０１２９】
また１つのインストール済み装置が代表装置として機能していない場合（ステップＳ２１でＮＯ）、ダウンロード指示部４４は、その１つのインストール済み装置が現在サーバー装置２と接続中であるか否かを判断し（ステップＳ２２）、接続中でない場合（ステップＳ２２でＮＯ）、更にその１つのインストール済み装置が高性能装置であるか否かを判断する（ステップＳ２３）。その結果、１つのインストール済み装置が現在接続中である場合（ステップＳ２２でＹＥＳ）、或いは、１つのインストール済み装置が高性能装置である場合（ステップＳ２３でＹＥＳ）、ダウンロード指示部４４は、その１つのインストール済み装置を代表装置として選択する（ステップＳ２４）。これに対し、１つのインストール済み装置が現在接続中ではなく（ステップＳ２２でＮＯ）、且つ、高性能装置でもない場合（ステップＳ２３でＮＯ）、ダウンロード指示部４４は、代表装置を決定することなく、代表装置選択処理を終了する。これにより、低性能装置においてジョブの実行効率が低下してしまうことを抑制することができる。
【０１３０】
また複数のインストール済み装置が存在する場合（ステップＳ２０でＹＥＳ）、ダウンロード指示部４４は、それら複数のインストール済み装置のうちから、ソフトウェア１８の転送中である装置を代表装置候補から除外する（ステップＳ２５）。すなわち、現時点において既に代表装置として機能しているインストール済み装置を、今回の代表装置候補から除外するのである。そしてダウンロード指示部４４は、再び代表装置候補として、複数のインストール済み装置が存在するか否かを判断する（ステップＳ２６）。このとき、代表装置候補としてインストール済み装置が１つしか存在しない場合（ステップＳ２６でＮＯ）、ダウンロード指示部４４による処理は、上述したステップＳ２２へと進み、上記と同様の処理が行われる。
【０１３１】
これに対し、依然として複数のインストール済み装置が代表装置候補として存在する場合（ステップＳ２６でＹＥＳ）、ダウンロード指示部４４は、装置情報１９とソフトウェア管理情報３８とを参照しつつ、複数のインストール済み装置のそれぞれに対して優先順位を付与する（ステップＳ２８）。このとき、低性能装置でサーバー装置２との接続状態を確立していないインストール済み装置については、優先順位の付与対象から除外することが好ましい。これにより、優先順位の付与対象を、サーバー装置２との接続状態を確立している低性能装置、及び、高性能装置に限定することができる。そしてダウンロード指示部４４は、ステップＳ２８で付与した優先順位に基づいて１つの代表装置を選択する（ステップＳ２９）。以上で、代表装置選択処理（ステップＳ１６）が終了する。
【０１３２】
次に図２１は、代表装置再決定処理（ステップＳ１０）の詳細な処理手順の一例を示すフローチャートである。サーバー装置２は、この処理を開始すると、判別部４２を機能させ、中断通知Ｍ７の送信元である情報処理装置４と同じローカルネットワーク５内にあるインストール済み装置の抽出処理を行う（ステップＳ３０）。これにより、少なくとも１つのインストール済み装置が抽出される。そしてサーバー装置２は、ダウンロード指示部４４を機能させ、ステップＳ３１〜Ｓ４０の処理を実行する。このステップＳ３１〜Ｓ４０の処理は、図２０に示したステップＳ２０〜Ｓ２９の処理と同様であるため、説明を省略する。
【０１３３】
そしてダウンロード指示部４４は、ステップＳ３１〜Ｓ４０の処理によって、代表装置を選択できたか否かを判断する（ステップＳ４１）。その結果、代表装置を選択することができた場合（ステップＳ４１でＹＥＳ）、ダウンロード指示部４４は、中断通知Ｍ７の送信元である情報処理装置４に対して新たな代表装置を指定したダウンロード指示Ｍ４を送信する（ステップＳ４２）。
【０１３４】
また代表装置を選択することができなかった場合（ステップＳ４１でＮＯ）、ダウンロード指示部４４は、ソフトウェア１８のインストール期限が近いか否かを判断し（ステップＳ４３）、インストール期限が近い場合には（ステップＳ４３でＹＥＳ）、ソフトウェア送信部４３を機能させる。そしてソフトウェア送信部４３は、記憶部３からソフトウェア１８を読み出し（ステップＳ４４）、中断通知Ｍ７の送信元である情報処理装置４に対してソフトウェア１８を送信する（ステップＳ４５）。またインストール期限が近くない場合（ステップＳ４３でＮＯ）、ダウンロード指示部４４は、中断通知Ｍ７の送信元である情報処理装置４に対して待機指示Ｍ６を送信する（ステップＳ４６）。
【０１３５】
以上のようにサーバー装置２は、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄのうちのソフトウェアのインストールされていない情報処理装置４からのアクセスを検知した場合、装置情報１９を参照することにより、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄに含まれる他の装置の中に、ソフトウェア１８が既にインストールされたインストール済み装置が存在するか否かを判別する。そしてインストール済み装置が存在しないと判別された場合、サーバー装置２は、ソフトウェア送信部４３を機能させ、ソフトウェア１８のインストールされていない情報処理装置４に対し、記憶部３に記憶されているソフトウェア１８を送信してインストールさせることが可能である。またインストール済み装置が存在すると判別された場合、サーバー装置２は、ダウンロード指示部４４を機能させ、インストール済み装置の中から代表装置を選択し、ソフトウェアのインストールされていない情報処理装置４に対し、代表装置からソフトウェア１８をダウンロードしてインストールすることを指示する。そのため、サーバー装置２は、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄのうちの１つの情報処理装置４に対してソフトウェア１８を送信すれば良く、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄの全てに対して個別にソフトウェア１８を送信する必要がなくなる。したがって、同じローカルネットワーク５に設けられている複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄのそれぞれに対してソフトウェア１８をインストールさせる際に、サーバー装置２にかかる負荷を低減することができる。
【０１３６】
また同一のローカルネットワーク５内にある複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄのうちのいずれか１つの情報処理装置４がインターネットを経由してサーバー装置２からソフトウェア１８をダウンロードすれば、他の情報処理装置４がソフトウェア１８をダウンロードする際には、インターネット経由のデータ通信が発生しない。そのため、他のデバイスがインターネット接続を行う際のパフォーマンスを低下させることがなく、通信コストも抑制できるという利点もある。
【０１３７】
以上、本発明に関する一実施形態について説明したが、本発明は、上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
【０１３８】
例えば上記実施形態では、情報処理装置４においてスクリーンセーバーが起動すると、情報処理装置４がサーバー装置２へアクセスしてソフトウェア１８のダウンロードを開始する場合を例示した。しかし、情報処理装置４がサーバー装置２へアクセスするタイミングは必ずしもスクリーンセーバーが起動したタイミングには限られない。すなわち、情報処理装置４は、ジョブの実行効率を低下させることなく、サーバー装置２と通信を行うことが可能な状態になれば、そのタイミングでサーバー装置２にアクセスするものであれば良く、スクリーンセーバーの起動は必須ではない。そのため、例えば真夜中の時間帯の所定時刻になると、情報処理装置４がサーバー装置２へアクセスするものであっても構わない。この場合、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄのそれぞれがサーバー装置２へアクセスする時刻に時間差を設けておくことにより、最初にサーバー装置２へアクセスする情報処理装置４がサーバー装置２からソフトウェア１８をダウンロードし、その後にサーバー装置２へアクセスする情報処理装置４が同じローカルネットワーク５内の他の情報処理装置４からソフトウェア１８をダウンロードすることができるようになる。
【０１３９】
また上記実施形態では、情報処理装置４ａ，４ｂ，４ｃ，４ｄがＭＦＰなどの画像処理装置である場合を例示した。しかし、情報処理装置４ａ，４ｂ，４ｃ，４ｄは必ずしも画像処理装置には限られない。例えば、情報処理装置４ａ，４ｂ，４ｃ，４ｄは、一般的なパーソナルコンピュータ（ＰＣ）であっても良いし、スマートフォンやタブレット端末などのような情報処理端末であっても構わない。
【０１４０】
また上記実施形態で説明したようにサーバー装置２が情報処理装置４ａ，４ｂ，４ｃ，４ｄとは別に設けられる構成に限られるものでもない。すなわち、サーバー装置２を別途設けることなく、複数の情報処理装置４ａ，４ｂ，４ｃ，４ｄのいずれかが上述したサーバー装置２の機能を備えたものであっても構わない。
【０１４１】
また上記実施形態では、ソフトウェア１８の一例として、アプリケーションや修正プログラムである場合を例示した。しかし、ソフトウェア１８は、それらに限られるものではなく、文書や画像などのデータファイルであっても構わない。
【０１４２】
また上記実施形態では特に言及しなかったが、サーバー装置２は、各情報処理装置４からスクリーンセーバーの起動通知Ｍ１を受信した起動時刻と、切断通知Ｍ３を受信した切断時刻とを履歴情報に記録しておくようにしても良い。このような履歴情報では、各情報処理装置４におけるユーザーの使用状況が細かく記録されることになる。したがって、サーバー装置２は、代表装置を選択するとき、その時間帯においてユーザーによる使用頻度が最も少ない情報処理装置４を代表装置として選択することも可能となり、よりインテリジェントに代表装置の選択を行うことができるようになる。
【符号の説明】
【０１４３】
１  情報処理システム
２  サーバー装置
３  記憶部（記憶手段）
４ａ，４ｂ，４ｃ，４ｄ（４）  情報処理装置
１８  ソフトウェア
２１  サーバー接続部（サーバー接続手段）
２２  インストール部（インストール手段）
２３  ソフトウェア提供部（ソフトウェア提供手段）
３２  プログラム
３８  ソフトウェア管理情報
４１  装置情報管理部（情報管理手段）
４２  判別部（判別手段）
４３  ソフトウェア送信部（ソフトウェア送信手段）
４４  ダウンロード指示部（ダウンロード指示手段）
【図１】
2018097774.tif 000003
【図２】
2018097774.tif 000004
【図３】
2018097774.tif 000005
【図４】
2018097774.tif 000006
【図５】
2018097774.tif 000007
【図６】
2018097774.tif 000008
【図７】
2018097774.tif 000009
【図８】
2018097774.tif 000010
【図９】
2018097774.tif 000011
【図１０】
2018097774.tif 000012
【図１１】
2018097774.tif 000013
【図１２】
2018097774.tif 000014
【図１３】
2018097774.tif 000015
【図１４】
2018097774.tif 000016
【図１５】
2018097774.tif 000017
【図１６】
2018097774.tif 000018
【図１７】
2018097774.tif 000019
【図１８】
2018097774.tif 000020
【図１９】
2018097774.tif 000021
【図２０】
2018097774.tif 000022
【図２１】
2018097774.tif 000023