説明

データ配信システム及びデータ配信方法

【課題】ソフトウェア資源を記憶する中央装置及び中間装置の処理負荷を軽減し、より確実に端末装置に対して正確なソフトウェア資源を配信することができるデータ配信システム及びデータ配信方法を提供する。
【解決手段】メインサーバ装置10に登録されたソフトウェア資源の版数を、ソフトウェア資源に対応付けて記憶する資源情報を格納する。ソフトウェア資源、及び資源情報を、サブサーバ装置20,20…へ送信し、PC30,30…へ生成したサーバリストを送信する。PC30,30…では、受信したサーバリストに示されるサブサーバ装置20,20…から、サブサーバ装置20,20…に記憶されている資源情報を取得する。メインサーバ装置10及びサブサーバ装置20,20…から取得した資源情報とからソフトウェア資源の版数が一致する場合、同期された状態であると判定し、サブサーバ装置20,20…へソフトウェア資源の送信を要求する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークで接続されている中央装置及び中間装置に同じデータを記憶して、端末装置によりデータを受信するデータ配信システム及びデータ配信方法に関する。
【背景技術】
【0002】
近年、学校、病院及び会社などでネットワークを利用したソフトウェア資源管理を行うシステムが導入されている。このシステムは、上位サーバ装置、中間サーバ装置及びクライアント装置(例えば、パーソナルコンピュータ)を含む3層構造を構成している。上位サーバ装置は、クライアント装置で必要とするソフトウェア資源を記憶しており、中間サーバ装置と接続されている。中間サーバ装置は、上位サーバ装置からそれらソフトウェア資源をダウンロードし、上位サーバ装置と同様のソフトウェア資源を記憶している。そして、クライアント装置は、中間サーバ装置からソフトウェア資源をダウンロードする。
【0003】
このような構成のシステムでは、ユーザは、所有するクライアント装置(例えば、パーソナルコンピュータ)で、上位サーバ装置にあるソフトウェア資源を、中間サーバ装置からダウンロードすることができる。例えば、企業に導入した場合、上位サーバ装置を本社に設置し、複数の中間サーバ装置を各支社に設置することで、各支社の社員は、本社にあるソフトウェア資源を各支社に設置された中間サーバ装置から取得することができる。また、システムを管理する管理者は、上位サーバ装置にあるソフトウェア資源を最新版に更新するだけで、各クライアント装置に対して最新ソフトウェア資源を配信することができる。
【0004】
前記システムでは、上位サーバ装置のソフトウェア資源が最新のものであるか否かはクライアント側装置では確実に把握することができない。そこで、信頼性が高いソフトウェア資源の配信を可能にするシステムなどが知られている(例えば、特許文献1)。斯かるシステムは、中間サーバ装置が上位サーバ装置が記憶するソフトウェア資源の更新状況を監視し、更新があった場合に、自身に記憶しているソフトウェア資源を更新してクライアント装置にその更新を通知する。クライアント装置は、更新の通知を受けたときに中間サーバ装置からソフトウェア資源を受信する。これにより、クライアント装置は、より確実に最新のソフトウェア資源を受け取ることができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−80167号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、中間サーバ装置がソフトウェア資源のバージョンを監視した場合、中間サーバ装置は常時上位サーバ装置を監視するだけなく、クライアント装置に対して更新を通知したか等、クライアント装置の情報も監視する必要がある。このため、クライアント装置の数が増加すれば、クライアント装置を中間サーバ装置に登録する必要があり、中間サーバ装置にかかる負荷が大きくなる。
【0007】
本発明はかかる事情に鑑みてなされたものであり、その目的とするところは、データを記憶する中央装置及び中間装置の処理負荷を軽減し、より確実に端末装置に対して正確なデータを配信することができるデータ配信システム及びデータ配信方法を提供することにある。
【課題を解決するための手段】
【0008】
本願に開示するデータ配信システムは、ソフトウェア資源を記憶する中央装置から送信されたソフトウェア資源を中間装置に記憶し、端末装置により、中間装置に記憶されたソフトウェア資源を受信する。中央装置では、ソフトウェア資源の登録を受け付け、ソフトウェア資源の版数を、ソフトウェア資源に対応付けて記憶する資源情報を格納する。また、受け付けたソフトウェア資源、及び資源情報を、中間装置へ送信すると共に、端末装置へ通知する中間装置のサーバリストを生成する。サーバリストは、資源情報と共に中央装置から端末装置へ送信する。端末装置では、中央装置から受信したサーバリストに示される中間装置から資源情報を取得する。斯かる資源情報は、中央装置から中間装置へ送信され、記憶されている。そして、中央装置及び中間装置それぞれから取得した資源情報とを比較し、資源情報に示されるソフトウェア資源の版数が一致するか否かに基づいて、中間装置と中央装置との同期状態を判定する。同期していると判定した場合に、中間装置へソフトウェア資源の送信を要求する要求信号を送信する。
【発明の効果】
【0009】
本願に開示するデータ配信システムによれば、例えば中央装置では中間装置にソフトウェア資源を既に送信していることが判っているため、端末装置からソフトウェア資源の問い合わせを受けた場合、端末装置が受信すべきソフトウェア資源が中間装置にあるか否かの判定ができる。端末装置は、中央装置で判定された結果に基づいて、中間装置からデータを受信するため、中間装置に対してソフトウェア資源の有無の問い合わせをする必要がなくなる。また、本願に開示するデータ配信システムによれば、中央装置及び中間装置が記憶するソフトウェア資源の一致の判断をする必要がなく、中央装置から問い合わせ結果を受信した端末装置において、ソフトウェア資源の一致を判断する。この結果、各装置での処理負荷を軽減し、中央装置のソフトウェア資源を端末装置により確実に受信することができる。
【0010】
また、端末装置が主体的にソフトウェア資源の転送の問合せを行うことにより、中央装置、中間装置で端末装置の細かい管理を実施する必要がなくなる。また、中央装置及び中間装置のプログラム処理が単純化され、中央装置及び中間装置の処理負荷も軽減される。端末装置がどの中間装置からソフトウェア資源を受信すればよいかを示すリストを端末装置に送ることにより、端末装置がソフトウェア資源を受信をする際の中間装置の負荷を分散し、ソフトウェア資源の受信の処理速度を適切に管理することができる。
【図面の簡単な説明】
【0011】
【図1】実施形態に係るデータ配信システムの構成を模式的に示す図である。
【図2】データ配信システムが備えるメインサーバ装置の構成を模式的に示すブロック図である。
【図3】(a)はソフトウェア資源を管理するテーブルを示す図であり、(b)はサブサーバ装置を管理するテーブルを示す図であり、(c)はPCを管理するテーブルを示す図であり、(d)はPCの指示状態を管理するテーブルを示す図である。
【図4】メインサーバ装置が作成するサーバリストを模式的に示す図である。
【図5】データ配信システムが備えるサブサーバ装置の構成を模式的に示すブロック図である。
【図6】データ配信システムが備えるPCの構成を模式的に示すブロック図である。
【図7】データ配信システムが有する機能を示すブロック図である。
【図8】PCで実行される処理を示すフローチャートである。
【図9】PCで実行される処理を示すフローチャートである。
【図10】メインサーバ装置で実行される更新されたソフトウェア資源を送信する処理を示すフローチャートである。
【図11】メインサーバ装置で実行されるソフトウェア資源配信処理を示すフローチャートである。
【図12】メインサーバ装置で実行される要求されたソフトウェア資源を送信する処理を示すフローチャートである。
【図13】サブサーバ装置で実行されるソフトウェア資源記憶処理を示すフローチャートである。
【図14】サブサーバ装置で実行されるソフトウェア資源送信処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下に、本願に開示するデータ配信システム及びデータ配信方法の好適な実施形態について、図面を参照しつつ詳述する。本願に開示するデータ配信システム及びデータ配信方法は、学校、病院及び会社などに導入される。以下では、本願に開示するデータ配信システムが有する端末装置をパーソナルコンピュータ(以下、PCという)に適用した実施形態について説明する。
【0013】
図1は、本実施形態に係るデータ配信システムの構成を模式的に示す図である。本実施形態のデータ配信システムは、1つのメインサーバ装置10と、複数のサブサーバ装置20,20…と、複数のPC30,30…とを備える。
【0014】
メインサーバ装置10は、本願に開示するデータ配信システムが有する中央装置であり、システム管理者などにより入力されたソフトウェア資源を記憶する。ソフトウェア資源は、本願に開示するデータであって、データ配信システムを導入する場所によって適宜変更可能である。例えば、ソフトウェア資源は、病院の電子カルテ、学生の成績表、プログラムのバージョンアップデータ又はウィルスのパターンファイルなどとすることができる。メインサーバ装置10は、システム管理者などにより新たなソフトウェア資源が入力されたとき、そのソフトウェア資源をサブサーバ装置20,20…に送信する。また、メインサーバ装置10は、既に記憶されているソフトウェア資源が変更(更新)されたとき、変更後のソフトウェア資源をサブサーバ装置20,20…に送信する。
【0015】
サブサーバ装置20,20…は、本願に開示するデータ配信システムが有する中間装置であり、メインサーバ装置10から送信されたソフトウェア資源を受信し、記憶する。換言すれば、サブサーバ装置20,20…は、メインサーバ装置10と同じ内容のソフトウェア資源を記憶する。ソフトウェア資源は、メインサーバ装置10の記憶内容に変更があった場合に送信される。従って、メインサーバ装置10の記憶内容の変更が、サブサーバ装置20,20…に反映するようになっている。サブサーバ装置20,20…は、メインサーバ装置10と同じ場所(建物)に設置されていてもよいし、離れた場所に設置されていてもよい。
【0016】
PC30,30…は、メインサーバ装置10及びサブサーバ装置20,20…それぞれとデータ通信可能に接続されている。PC30,30…は、メインサーバ装置10及びサブサーバ装置20,20…の何れかから、記憶されているソフトウェア資源を受信する。上述のように、メインサーバ装置10及びサブサーバ装置20,20…には、同じ内容のソフトウェア資源が記憶されている。このため、PC30,30…は、何れの装置からでも、同じソフトウェア資源を受信することができる。
【0017】
上述の各装置を備えるデータ配信システムでは、PC30,30…は、電源起動時にメインサーバ装置10に対して問い合わせ信号を送信する。問い合わせ信号を受信したメインサーバ装置10は、最新のソフトウェア資源を記憶している場合には、PC30,30…に最新のソフトウェア資源を受信させる。従って、PC30,30…は、起動時に最新のソフトウェア資源を取得することができる。
【0018】
また、問い合わせ信号を受信したメインサーバ装置10は、PC30,30…がソフトウェア資源を受信するためにアクセスすべき装置を複数決定し、決定した複数の装置それぞれに順位付けする。PC30,30…は、最新のソフトウェア資源の受信が成功するまで、決定された順に装置にアクセスする。アクセスする装置を複数決定しておくことで、PC30,30…は、一つのアクセス先からのソフトウェア資源の受信に失敗した場合であっても、別のアクセス先から再度受信を試みることができる。以下、メインサーバ装置10、サブサーバ装置20,20…及びPC30,30…の具体的な構成及び動作について詳述する。
【0019】
なお、メインサーバ装置10、サブサーバ装置20,20…及びPC30,30…は、有線接続であってもよいし、無線接続であってもよい。また、メインサーバ装置10、サブサーバ装置20,20…及びPC30,30…は、LAN(Local Area Network)又はWAN(Wide Area Network)など通信環境が限定されることはない。さらに、PC30,30…に替えて、携帯電話機又はPDA(Personal Digital Assistants)などであってもよい。
【0020】
図2は、データ配信システムが備えるメインサーバ装置10の構成を模式的に示すブロック図である。
【0021】
メインサーバ装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、大容量記憶装置14、入力部15及び通信部16等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。入力部15は、ソフトウェア資源を入力又は変更するためのマウス、キーボード及びスキャナ装置などである。通信部16は、サブサーバ装置20,20…及びPC30,30…とのデータ通信を可能にするモデム等である。
【0022】
CPU11は、ROM12などに予め格納されている制御プログラムを適宜RAM13に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ROM12は、メインサーバ装置10を本願に開示する中央装置として動作させるために必要な種々の制御プログラムを予め格納している。RAM13は、例えばSRAM(Static RAM)、DRAM(Dynamic RAM)又はフラッシュメモリ等である。RAM13は、CPU11による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。
【0023】
大容量記憶装置14は、例えばハードディスク(以下、HDDと言う)である。大容量記憶装置14は、入力部15により入力されたソフトウェア資源、並びに、ソフトウェア資源、サブサーバ装置20,20…及びPC30,30…を管理するためのテーブルなどを格納する。図3(a)はソフトウェア資源を管理するテーブルを示す図であり、(b)はサブサーバ装置20,20…を管理するテーブルを示す図であり、(c)はPC30,30…を管理するテーブルを示す図であり、(d)はPCの指示状態を管理するテーブルを示す図である。
【0024】
図3(a)のテーブルには、大容量記憶装置14に格納されるソフトウェア資源の識別情報(例えば、ファイル名)が、ID(図中ではSID)が付されて格納されている。また、識別情報に対応するソフトウェア資源が最後に更新された日付が格納されている。「ソフトウェア資源の更新」には、新たなソフトウェア資源が入力された場合も含む。CPU11は、ソフトウェア資源が更新された場合、このテーブルを書き替えると共に、更新されたソフトウェア資源と、図3(a)に示すテーブルとをサブサーバ装置20,20…へ送信する。
【0025】
図3(b)のテーブルには、メインサーバ装置10に接続されているサブサーバ装置20,20…の識別情報(例えば、装置名又はIPアドレスなど)が格納されている。また、このテーブルには、識別情報に対応するサブサーバ装置20,20…の処理負荷、及びサブサーバ装置20,20…との同期状態などが格納されている。処理負荷は、例えばサブサーバ装置20,20…のCPU負荷率である。サブサーバ装置20,20…と同期されていれば、同期状態は「OK」となり、同期されていない場合は「NG」となる。CPU11は、定期的にサブサーバ装置20,20…の処理負荷を監視し、図3(b)のテーブルを更新する。そして、CPU11は、どのサブサーバ装置20,20…が負荷の高い処理を行っているか等を把握する。
【0026】
図3(c)のテーブルには、PC30,30…の識別情報(例えば、コンピュータ名)が、ID(図中ではPCID)が付されて格納されている。また、このテーブルには、識別情報に対応するPC30,30…に対して作成したサーバリストの作成日が格納されている。サーバリストは、PC30,30…がソフトウェア資源を受信する際に、アクセスすべきメインサーバ装置10及びサブサーバ装置20,20…の順序を定義付けたデータである。サーバリストは、PC30,30…から問い合わせ信号を受信した際に作成される。従って、CPU11は、直近に問い合わせ信号を受信した日を、サーバリストの作成日から把握することができる。
【0027】
図3(d)のテーブルには、サブサーバ装置20,20…のSID及びPC30,30…のPCIDが組み合わされて格納されている。斯かる組み合わせは、サブサーバ装置20,20…及びPC30,30…の接続を示し、可能な全ての組み合わせが生成されている。そして、各組み合わせに対し、指示状態及び受信完了日時が対応付けられて格納されている。指示状態は、PC30,30…からサブサーバ装置20,20…に対して行っている指示の状況を示す。指示状態の「受信中」は、PC30,30…がサブサーバ装置20,20…からソフトウェア資源を受信している状態を示す。指示状態の「受信完了」は、PC30,30…がサブサーバ装置20,20…からソフトウェア資源の受信が完了していることを示す。例えば、図3(d)のSID「1」とPCID「1」との組み合わせの場合について説明する。SID「1」のサブサーバ装置20,20…と、それに接続するPCID「1」のPC30,30…とは、メインサーバ装置10から指示中であることを示している。また、PCID「1」のPC30,30…は、「**/**/**」の日時に、SID「1」のサブサーバ装置20,20…からソフトウェア資源を受信したことを示している。
【0028】
図4は、メインサーバ装置10が作成するサーバリストを模式的に示す図である。サーバリストには、順序が設定されたメインサーバ装置10及びサブサーバ装置20,20…の識別情報(例えば、装置名)が格納されている。サーバリストの順序は、図3(b)の処理負荷が小さい装置から順に設定される。図3(b)の場合、処理負荷「20%」で一番小さいサブサーバ装置Bが一番に順位付けられる。また、サーバリストの順序には、何れかの順位に設定されたメインサーバ装置10が含まれる(図4では3番目の順序)。メインサーバ装置10の順位は、予め決められていてもよいし、サブサーバ装置20,20…の処理負荷を基準にして決められてもよい。
【0029】
図4のサーバリストは、メインサーバ装置10がPC30,30…から問い合わせ信号を受信した場合に作成され、PC30,30…へ送信される。このサーバリストを受信したPC30,30…は、設定された順に従って、各装置にアクセスする。図4の場合、PC30,30…は、最初に「サブサーバ装置B」にアクセスし、ソフトウェア資源を受信する。このとき、「サブサーバ装置B」にソフトウェア資源が記憶されていないため、「サブサーバ装置B」からソフトウェア資源を受信できない場合、PC30,30…は、次に「サブサーバ装置A」にアクセスする。PC30,30…は、ソフトウェア資源が受信できるまで、このサーバリストに従い、各装置へのアクセスを繰り返す。PC30,30…が受信すべきソフトウェア資源は、メインサーバ装置10には確実に記憶されている。このため、サーバリストにメインサーバ装置10を含めることで、PC30,30…は、サブサーバ装置20,20…からのソフトウェア資源の受信を失敗し続けても、メインサーバ装置10からソフトウェア資源を受信することができる。
【0030】
図5は、データ配信システムが備えるサブサーバ装置20,20…の構成を模式的に示すブロック図である。
【0031】
サブサーバ装置20,20…は、CPU21、ROM22、RAM23、大容量記憶装置24及び通信部25等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。通信部25は、メインサーバ装置10及びPC30,30…とのデータ通信を可能にする。
【0032】
CPU21は、ROM22などに予め格納されている制御プログラムを適宜RAM23に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ROM22は、サブサーバ装置20,20…を本願に開示する中間装置として動作させるために必要な種々の制御プログラムを予め格納している。RAM23は、例えばSRAM、DRAM又はフラッシュメモリ等である。RAM23は、CPU21による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。大容量記憶装置24は、例えばHDDである。大容量記憶装置24は、メインサーバ装置10から送信されたソフトウェア資源などを格納する。
【0033】
図6は、データ配信システムが備えるPC30,30…の構成を模式的に示すブロック図である。
【0034】
PC30,30…は、CPU31、ROM32、RAM33、HDD34、通信部35、モニタ36及び入力部37等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。通信部35は、メインサーバ装置10及びサブサーバ装置20,20…とのデータ通信を可能にする。モニタ36は、液晶ディスプレイ又はCRT(Cathode Ray Tube)ディスプレイ等である。入力部37は、マウス及びキーボードである。
【0035】
CPU31は、ROM32などに予め格納されている制御プログラムを適宜RAM33に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ROM32は、PC30,30…を本願に開示する端末装置として動作させるために必要な種々の制御プログラムを予め格納している。RAM33は、例えばSRAM、DRAM又はフラッシュメモリ等である。RAM33は、CPU31による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。HDD34は、メインサーバ装置10又はサブサーバ装置20,20…から受信したソフトウェア資源などを格納する。
【0036】
次に、上述したメインサーバ装置10、サブサーバ装置20,20…及びPC30,30…それぞれが各種の制御プログラムを実行することによって実現される機能について説明する。図7は、データ配信システムが有する機能を示すブロック図である。
【0037】
本実施形態のメインサーバ装置10は、資源入力部501、資源記憶部502、同期命令入力部503、サブサーバ管理部504、同期判定部(同期判定手段)505、同期処理部(負荷検出手段)506、配付指示部507、PC管理部508、リスト作成部(順序決定手段)509、リスト送信部510、問い合わせ信号受信部511、問い合わせ判定部512、資源送信部(中央装置側送信手段)513、及び情報取得返信部514等の機能を有する。
【0038】
本実施形態のサブサーバ装置20,20…は、資源管理部601、PC管理部602、同期処理部603、資源送信部(中間装置側送信手段)604、及び情報取得返信部605等の機能を有する。また、本実施形態のPC30,30…は、問い合わせ信号送信部701、リスト受信部702、履歴保存部703、資源受信部704、履歴管理部705、資源管理部706、資源取得要求部(要求信号送信手段)707、サーバ判定部(成否判定手段)708及び資源情報取得部709等の機能を有する。
【0039】
メインサーバ装置10の資源記憶部502は、資源入力部501から入力されたソフトウェア資源、及び図3(a)のテーブルを記憶する。資源送信部513は、資源記憶部502に記憶されたソフトウェア資源をPC30,30…に送信する。サブサーバ管理部504は、図3(b)のテーブルを格納し、サブサーバ装置20,20…を管理する。PC管理部508は、図3(c)及び(d)のテーブルを格納し、PC30,30…を管理する。
【0040】
同期命令入力部503は、サブサーバ装置20,20…との同期を開始する命令を入力する。同期判定部505は、図3(b)のテーブルから、未同期のサブサーバ装置20,20…の同期状態を判定し、同期処理部506は、未同期のサブサーバ装置20,20…との同期を行う。このとき、図3(b)のテーブルの同期状態が更新される。また、同期処理部506は、同期したサブサーバ装置20,20…に対して、ソフトウェア資源及び、PC管理部508が管理するPC30,30…に関する情報を送信する。PC30,30…に関する情報は、例えば図3(c)のテーブルである。さらに、同期処理部506は、サブサーバ装置20,20…の処理負荷を取得する。このとき、図3(b)のテーブルの処理負荷が更新される。
【0041】
サブサーバ装置20,20…の同期処理部603は、メインサーバ装置10の同期処理部506との同期処理を行う。そして、同期処理部603は、同期したメインサーバ装置10から送信されたソフトウェア資源、及びPC30,30…に関する情報を受信する。資源管理部601は、同期処理部603が受信したソフトウェア資源を記憶する。PC管理部602は、同期処理部603が受信したPC30,30…に関する情報を記憶する。
【0042】
配付指示部507は、メインサーバ装置10に図3(d)の指示状態を変更する処理を行う。また、指示状態の変更処理後に同期処理部を呼び出し、同期処理を実施する。この操作により、PC30,30…のそれぞれがメインサーバに対して問い合わせを実施した際に受信すべきソフトウェア資源があるか否かの判定処理を問い合わせ判定部512が行う際の判断基準を作成する。
【0043】
PC30,30…の電源が投入され、ハードウェア各部の起動が完了した場合、問い合わせ信号送信部701は、メインサーバ装置10に対して問い合わせ信号を送信する。送信された問い合わせ信号は、メインサーバ装置10の問い合わせ信号受信部511により受信される。問い合わせ判定部512は、PC30,30…が受信すべきソフトウェア資源があるか否かを判定する。
【0044】
具体的には、問い合わせ判定部512は、問い合わせ信号を送信したPC30,30…を特定し、特定したPC30,30…に対して作成したサーバリストの作成日を図3(c)から取得する。さらに、受信日がリスト作成日より後である場合、図3(a)の最終更新日に基づいて、受信日とリスト作成日との間に更新されたソフトウェア資源があるか否かを判定する。更新されたソフトウェア資源がある場合には、問い合わせ判定部511は、PC30,30…は受信すべきソフトウェア資源があると判定する。
【0045】
リスト作成部509は、問い合わせ判定部512が受信すべきソフトウェア資源があると判定した場合、サーバリストを作成する。リスト作成部509は、図3(b)に示す各テーブルから、同期状態が「OK」で、処理負荷が小さいサブサーバ装置20,20…から順位付けしたサーバリストを、メインサーバ装置10を含めて作成する。PC30,30…は、サーバリストで定義付けられた順に装置にアクセスをする。このため、処理負荷が小さい装置からPC30,30…がアクセスすることで、負荷が大きい装置にはPC30,30…がなるべくアクセスしないようにすることができる。この結果、ネットワーク又は装置に掛かる負荷を分散させることができる。なお、リスト作成部509は、サブサーバ装置20,20…に予め設定した優先順位に基づいてサーバリストを作成してもよいし、ネットワークの負荷を考慮して作成してもよい。また、サブサーバ装置20,20…での処理待ちの状況を考慮して作成してもよく、ネットワーク又は装置に掛かる負荷が分散できる方法であれば適宜変更可能である。
【0046】
このように、メインサーバ装置10において、同期済みのサブサーバ装置20,20…を抽出し、サーバリストを生成することで、PC30,30…は未同期状態のサブサーバ装置20,20…への問い合わせを行う必要がなくなる。また、サーバリストにメインサーバ装置10を含めることで、PC30,30…がサブサーバ装置20,20…からソフトウェア資源を受信できない場合でも、メインサーバ装置10から必ずソフトウェア資源の受信が可能となる。
【0047】
リスト送信部510は、リスト作成部509が作成したサーバリストを、問い合わせ信号を送信したPC30,30…に送信する。PC30,30…のリスト受信部702は、サーバリストを受信する。資源情報取得部709は、受信したサーバリストにおいて1番に順位付けられたメインサーバ装置10又はサブサーバ装置20,20…にアクセスし、ソフトウェア資源が記憶されているか否かを問い合わせる。
【0048】
メインサーバ装置10の情報取得返信部514、及びサブサーバ装置20,20…の情報取得返信部605は、資源情報取得部709からの問い合わせに対して、ソフトウェア資源があるか否かをPC30,30…に送信する。PC30,30…のサーバ判定部708は、情報取得返信部514及び情報取得返信部605からの結果を取得し、ソフトウェア資源が記憶されているか否かを判定する。記憶されている場合、資源取得要求部707は、メインサーバ装置10又はサブサーバ装置20,20…に対して、ソフトウェア資源を要求する。記憶していない場合、資源情報取得部709は、サーバリストの順番に従い、別のメインサーバ装置10又はサブサーバ装置20,20…にアクセスする。
【0049】
メインサーバ装置10の資源送信部513及びサブサーバ装置20,20…の資源送信部604は、PC30,30…からの要求に対応するソフトウェア資源をPC30,30…に送信する。PC30,30…の資源受信部704は、送信されたソフトウェア資源を受信し、資源管理部706に記憶する。履歴保存部703は、履歴管理部705にソフトウェア資源の受信履歴を記憶する。
【0050】
また、履歴保存部703は、メインサーバ装置10又はサブサーバ装置20,20…に対して受信履歴を送信する。受信履歴を受信したPC管理部508,602は、PC30,30…が受信したソフトウェア資源と、自身が記憶するソフトウェア資源との整合性を判定する。これにより、PC30,30…に最新のソフトウェア資源が取得されたかを判定できる。
【0051】
さらに、メインサーバ装置10が動作不能となった場合、PC30,30…は、サブサーバ装置20,20…に受信履歴を送信する。サブサーバ装置20,20…は、自身が記憶するソフトウェア資源と、PC30,30…の受信履歴とを対比する。そして、サブサーバ装置20,20…は、PC30,30…が自身が記憶するソフトウェア資源を受信していない場合、そのソフトウェア資源をPC30,30…に送信する。これにより、メインサーバ装置10が動作不能であっても、PC30,30…は、サブサーバ装置20,20…からソフトウェア資源を受信できる。
【0052】
以下に、本実施形態のデータ配信システムが備えるメインサーバ装置10、サブサーバ装置20,20…及びPC30,30…それぞれの動作について説明する。
【0053】
図8及び図9は、PC30,30…で実行される処理を示すフローチャートである。以下の処理は、PC30,30…のROM32に格納してある制御プログラムに従ってCPU31によって実行される。
【0054】
CPU31は、PC30,30…が起動された場合、問い合わせ信号をメインサーバ装置10へ送信する(S1)。CPU31は、メインサーバ装置10との通信が可能である否かを判定する(S2)。メインサーバ装置10との通信が可能でああって、問い合わせ信号を受信したメインサーバ装置10では、PC30,30…が受信すべきソフトウェア資源の有無が確認され、ソフトウェア資源が有る場合にサーバリストが作成され、PC30,30…に送信される。
【0055】
メインサーバ装置10との通信が可能である場合(S2:YES)、CPU31は、サーバリストを受信したか否かを判定する(S3)。サーバリストを受信していない場合(S3:NO)、CPU31は、受信すべきソフトウェア資源はないと判定し、処理を終了する。なお、CPU31は、一定時間サーバリストを受信しなかった場合に、受信すべきソフトウェア資源はないと判定してもよい。また、メインサーバ装置10でサーバリストを作成しない場合、例えばnullの信号をPC30,30…に送信し、CPU31は、nullの信号を受信した場合に、受信すべきソフトウェア資源はないと判定してもよい。
【0056】
サーバリストを受信した場合(S3:YES)、CPU31は、サーバリストにi(初期値1)番目に設定されたメインサーバ装置10又はサブサーバ装置20,20…へアクセスする(S4)。そして、CPU31は、メインサーバ装置10又はサブサーバ装置20,20…へアクセスできたか否かを判定する(S5)。アクセスできた場合(S5:YES)、CPU31は、アクセスした装置に対して資源情報の取得を依頼する(S501)資源情報の図3(a)及び(d)に示すテーブルの情報から、接続しているサブサーバ装置20,20…がメインサーバ装置10の保有している図3(a)および(d)の情報との整合性を確認する。そして、CPU31は、接続しているサブサーバ装置20,20…がメインサーバ装置10に同期されている状態であるか否かを判断する(S502)。
【0057】
具体的には、PC30,30…は、メインサーバ装置10からサーバリストを受信する際に、メインサーバ装置10から図3(a)に示すテーブルの内容を取得する。PC30,30…は、メインサーバ装置10から受信した図3(a)に示すテーブルと、サブサーバ装置20,20…から受信した図3(a)に示すテーブルとを参照し、ダウンロードしようとするソフトウェア資源に対応する更新日付が一致する場合に同期がされている状態であると判断する。
【0058】
サブサーバ装置20,20…が同期完了している状態であると判断できる場合(S502:YES)、CPU31は、ソフトウェア資源のダウンロードを要求する(S6)。接続しているサブサーバ装置20,20…が同期されていない状態であると判断した場合(S502:NO)、CPU31は、後述のS8に移行し、サーバリストに基づき次のサーバに接続処理を行い、S501の同サーバに資源情報の取得を依頼する。これらの処理を繰り返すことにより、同期済みサーバを割り出す。
【0059】
次に、CPU31は、アクセスした装置からソフトウェア資源を受信できたか否かを判定する(S7)。ソフトウェア資源を受信できなかった場合(S7:NO)、換言すれば、アクセスしたサブサーバ装置20,20…に、要求したソフトウェア資源が記憶されていない場合、CPU31は、iに1を加算する(S8)。そして、CPU31は、加算後のiの値が終値であるか否かを判定する(S9)。終値は、サーバリストで順位付けられたメインサーバ装置10又はサブサーバ装置20,20…の数である。iの値が終値でない場合(S9:NO)、CPU31は、S4に処理を戻し、次に順位付けられた装置に対して同様の処理を行う。iの値が終値である場合(S9:YES)、即ち、CPU31は、サーバリストにある全装置に対して資源要求を試みた場合、CPU31は、通信環境を確認し、その結果を報知する(S10)。
【0060】
上述のようにサーバリストにはメインサーバ装置10を含んでいるため、PC30,30…のアクセス先には、メインサーバ装置10がある。従って、PC30,30…は、要求するソフトウェア資源をサブサーバ装置20,20…から受信できない場合であっても、メインサーバ装置10からは必ず受信することができる。そこで、サーバリスト内の全装置に対してソフトウェア資源の受信に失敗した場合、CPU31は、自身の装置に、ネットワーク接続などの問題があるか否かを判定する。確認結果の報知先は、メインサーバ装置10又はサブサーバ装置20,20…であってもよいし、PC30,30…のモニタ等に表示してもよい。また、データ配信システムにない装置、例えばシステム管理者が所有する携帯電話機などに電子メールを送信するようにしてもよい。これにより、メインサーバ装置10及びサブサーバ装置20,20…の記憶内容に不整合があるのか、通信環境又はPC30,30…に不具合があるのかが把握し易くなる。この結果、システム管理者などの以降の作業が行い易くなり、早急にソフトウェア資源の配信を確実に行えるようにできる。
【0061】
一方、S5において、メインサーバ装置10又はサブサーバ装置20,20…へアクセスできなかった場合(S5:NO)、CPU31は、通信環境を確認する(S11)。そして、CPU31は、通信エラーが発生しているか否かを判定する(S12)。通信エラーは、例えばPC30,30…が無線通信を行っている場合に、無線が切断された場合などである。これにより、装置へアクセスできない原因が、ネットワークにあるのかアクセス先の装置にあるのかを把握することができる。通信エラーが発生していない場合(S12:NO)、CPU31は、S8以降の処理を実行する。通信エラーが発生している場合(S12:YES)、CPU31は、S4へ処理を移し、再度アクセスする。この場合、所定回数アクセスを行ったときに終了するようにしてもよいし、所定時間アクセスを繰り返した後に終了するようにしてもよい。また、S5では、PC30,30…が何れかの装置と通信中に、接続が遮断された場合を含む。
【0062】
また、S7において、アクセスした装置からソフトウェア資源を受信した場合(S7:YES)、CPU31は、受信したソフトウェア資源をHDD34へ記憶する(S13)。そして、CPU31は、ソフトウェア資源の受信が正常に完了したことをメインサーバ装置10へ送信する(S14)。
【0063】
S2において、メインサーバ装置10との通信が可能でない場合(S2:NO)、CPU31は、j番目のサブサーバ装置20,20…へのアクセスを行う(S15)。メインサーバ装置10との通信が可能でない場合とは、例えばメインサーバ装置10がシステムダウンしている場合である。この場合、PC30,30…は、j番目のサブサーバ装置20,20…へのアクセスを行う。jは、初期値が1であり、データ配信システムにあるサブサーバ装置20,20…に対して任意に付された番号である。
【0064】
CPU31は、j番目のサブサーバ装置20,20…へのアクセスが可能であったか否かを判定する(S16)。アクセスできなかった場合(S16:NO)、CPU31は通信環境を確認する(S22)。そして、CPU31は、通信エラーが発生しているか否かを判定する(S23)。これにより、装置へアクセスできない原因が、ネットワークにあるのかアクセス先の装置にあるのかを把握することができる。通信エラーが発生していない場合(S23:NO)、CPU31は、S20以降の処理を実行する。通信エラーが発生している場合(S23:YES)、CPU31は、S15へ処理を移し、再度アクセスする。この場合、所定回数アクセスを行ったときに終了するようにしてもよいし、所定時間アクセスを繰り返した後に終了するようにしてもよい。また、S16では、PC30,30…が何れかの装置と通信中に、接続が遮断された場合を含む。
【0065】
アクセスできた場合(S16:YES)、CPU31は、アクセスしたサブサーバ装置20,20…に対して問い合わせ信号を送信する(S17)。次に、CPU31は、サブサーバ装置20,20…にソフトウェア資源が記憶されていたか否かを判定する(S18)。このとき、CPU31は、サブサーバ装置20,20…から送信された結果に基づいて、資源があるか否かを判定する。
【0066】
ソフトウェア資源がある場合(S18:YES)、CPU31は、アクセスしたサブサーバ装置20,20…に対してソフトウェア資源を要求する(S19)。そして、CPU31は、受信したソフトウェア資源をHDD34へ記憶する(S13)。その後、CPU31は、ソフトウェア資源の受信が正常に完了したことをメインサーバ装置10へ送信する(S14)。
【0067】
ソフトウェア資源がない場合(S18:NO)、CPU31は、jに1を加算する(S20)。そして、CPU31は、加算後のjの値が終値であるか否かを判定する(S21)。終値は、データ配信システムにあるサブサーバ装置20,20…の数である。jの値が終値でない場合(S21:NO)、CPU31は、S15に処理を戻し、次のサブサーバ装置20,20…に対して同様の処理を行う。jの値が終値である場合(S21:YES)、即ち、CPU31は、全てのサブサーバ装置20,20…に対して資源要求を試みた場合、CPU31は、本処理を終了する。このように、メインサーバ装置10が動作不能であっても、PC30,30…は、サブサーバ装置20,20…からソフトウェア資源の受信が可能となる。
【0068】
図10は、メインサーバ装置10で実行される更新されたソフトウェア資源を送信する処理を示すフローチャートである。図11は、メインサーバ装置10で実行されるソフトウェア資源配信処理を示すフローチャートである。図12は、メインサーバ装置10で実行される要求されたソフトウェア資源を送信する処理を示すフローチャートである。以下のそれぞれの処理は、メインサーバ装置10のROM12に格納してある制御プログラムに従ってCPU11によって実行される。
【0069】
図10の処理において、CPU11は、ソフトウェア資源が新たに入力されたか否かを判定する(S30)。入力されていない場合(S30:NO)、CPU11は、メインサーバ装置10が既に記憶しているソフトウェア資源に更新(変更)があったか否かを判定する(S31)。ソフトウェア資源が新たに入力されなければ(S31:NO)、CPU11は、本処理を終了する。ソフトウェア資源が新たに入力された場合(S31:YES)、又は記憶しているソフトウェア資源に更新(変更)があった場合(S30:YES)、CPU11は、サブサーバ装置20,20…との同期処理を実行する(S32)。そして、CPU11は、同期済みのサブサーバ装置20,20…へソフトウェア資源を送信する(S33)。これにより、サブサーバ装置20,20…に、メインサーバ装置10の記憶内容を反映させることができる。なお、CPU11は、S32で同期できなかったサブサーバ装置20,20…に対して所定回数同期処理を実行してもよいし、エラーを報知するようにしてもよい。
【0070】
S32において、CPU11は、メインサーバ装置10と通信が可能なサブサーバ装置20,20…に対して、新たに入力された又は更新があったソフトウェア資源の送信を開始する旨の信号を示す資源配付開始信号を、通信部16を用いて送信する。CPU11は、資源配付開始信号を送信する際に、送信先となるサブサーバ装置20,20…の、同期状況「指示中」を、図3(b)に示すサブサーバテーブルの同期状態に登録又は更新する。
【0071】
S32において、CPU11は、さらに、送信した資源配付開始信号に対する応答としてサブサーバ装置20,20…から送信される資源配付開始応答を、通信部16を用いて受信する。
【0072】
S32において、CPU11は、さらに、資源配付開始応答を送信したサブサーバ装置20,20…に対して、通信部16を用いたソフトウェア資源の送信を開始する。その際、CPU11は、送信先のサブサーバ装置20,20…の、同期状況「受信中」を、図3(b)に示すサブサーバテーブルに登録又は更新する。
【0073】
S32において、CPU11は、さらに、ソフトウェア資源の送信処理が完了した際に、その送信処理に係る送信先のサブサーバ装置20の同期状況「同期完了(OK)」を、図3に示すサブサーバテーブルに登録又は更新する。なお、CPU11は、サブサーバ装置20,20…へ送信したデータ量の累計が送信処理に係るソフトウェア資源のデータ量に達したか否かに応じて、送信処理の完了を検出することができる。また、CPU11は、サブサーバ装置20,20…からソフトウェア資源の受信が完了したことを示す信号を通信部16を用いて受信することにより、送信処理の完了を検知することができる。
【0074】
図11の処理において、CPU11は、PC30,30…から問い合わせ信号を受信したか否かを判定する(S40)。問い合わせ言信号を受信していない場合(S40:NO)、CPU11は、本処理を終了する。問い合わせ言信号を受信した場合(S40:YES)、CPU11は、記憶内容に変更があったか否かを判定する(S41)。具体的には、CPU11は、図3で説明したように、前回問い合わせ信号を受信してから、新たなソフトウェア資源の入力、又はソフトウェア資源の変更があったか否かを判定する。
【0075】
記憶内容に変更がない場合(S41:NO)、CPU11は、本処理を終了する。このとき、CPU11は、変更がないことをPC30,30…に報知するため、例えばnullの信号を送信するようにしてもよい。記憶内容に変更がある場合(S41:YES)、CPU11は、サーバリストを作成する(S42)。CPU11は、図3(b)の処理負荷が小さい装置から順に順位付けて、サーバリストを作成する。そして、CPU11は、作成したサーバリストをPC30,30…に送信する(S43)。
【0076】
S43において図3(b)に示すサブサーバテーブルを参照し、サブサーバ装置20,20…のうち、同期状況に「同期完了(OK)」が設定されているサブサーバ装置20,20…を検出し、その検出結果に基づいてサーバリストを作成する。これにより、ソフトウェア資源の受信が完了していないサブサーバ装置20,20…を、サーバリストから排除することができ、その結果、より確実にPC30に対して正確なデータを配信することができる。
【0077】
S43において、CPU11は、さらに、作成したサーバリストに示されるサブサーバ装置20,20…を、図3(b)の処理負荷が小さいサブサーバ装置20,20…から順に順位付けて、サーバリストを整列する。そして、CPU11は、整列したサーバリストをPC30,30…に送信する。
【0078】
CPU11は、サーバリストを送信したPC30,30…から受信完了信号を受信したか否かを判定する(S44)。受信完了信号は、PC30,30…がソフトウェア資源の受信が正常に完了した、図8で説明したS14のタイミングでPC30,30…から送信される。受信完了信号を受信していない場合(S44:NO)、CPU11は、例えばシステム管理者などに対してエラー報知を行う(S45)。そして、CPU11は、本処理を終了する。受信完了信号を受信した場合(S44:YES)、CPU11は、正常にソフトウェア資源が受信されたと判定し、本処理を終了する。
【0079】
図12の処理において、CPU11は、PC30,30…からアクセスされ、ソフトウェア資源を要求されたか否かを判定する(S50)。ソフトウェア資源が要求されていない場合(S50:NO)、CPU11は、本処理を終了する。ソフトウェア資源が要求された場合(S50:YES)、CPU11は、PC30,30…が要求するソフトウェア資源を必ず記憶しているため、ソフトウェア資源を要求したPC30,30…に対象のソフトウェア資源を送信する(S51)。そして、CPU11は、本処理を終了する。
【0080】
図13は、サブサーバ装置20,20…で実行されるソフトウェア資源記憶処理を示すフローチャートである。図14は、サブサーバ装置20,20…で実行されるソフトウェア資源送信処理を示すフローチャートである。以下のそれぞれの処理は、サブサーバ装置20,20…のROM22に格納してある制御プログラムに従ってCPU21によって実行される。
【0081】
図13の処理において、CPU21は、メインサーバ装置10からソフトウェア資源を受信したか否かを判定する(S60)。ソフトウェア資源を受信していない場合(S60:NO)、CPU21は、本処理を終了する。ソフトウェア資源を受信した場合(S60:YES)、CPU21は、受信したソフトウェア資源を大容量記憶装置24に記憶する(S61)。これにより、サブサーバ装置20,20…は、メインサーバ装置10と同じソフトウェア資源を記憶するようになる。
【0082】
図14の処理において、CPU21は、PC30,30…からアクセスされ、ソフトウェア資源を要求されたか否かを判定する(S70)。ソフトウェア資源が要求されない場合(S70:NO)、CPU21は、本処理を終了する。ソフトウェア資源が要求された場合(S70:YES)、CPU21は、要求されたソフトウェア資源が大容量記憶装置24に記憶されているか否かを判定する(S71)。
【0083】
要求されたソフトウェア資源が大容量記憶装置24に記憶されている場合(S71:YES)、CPU21は、ソフトウェア資源を要求したPC30,30…に対象のソフトウェア資源を送信する(S72)。そして、CPU31は、本処理を終了する。一方、要求されたソフトウェア資源が大容量記憶装置24に記憶されていない場合(S71:NO)、CPU21は、要求されたソフトウェア資源を記憶していない旨の信号をPC30,30…に送信する(S73)。そして、CPU31は、本処理を終了する。
【0084】
以上説明したように、本願に開示するデータ配信システムは、メインサーバ装置10、サブサーバ装置20,20…及びPC30,30…を備えている。メインサーバ装置10では、サブサーバ装置20,20…にソフトウェア資源を送信していることが判っているため、PC30,30…から問い合わせ信号を受信した場合、PC30,30…が受信すべきソフトウェア資源がサブサーバ装置20,20…にあるか否かの判定ができる。PC30,30…は、メインサーバ装置10で判定された結果に基づいて、サブサーバ装置20,20…からソフトウェア資源を受信するため、サブサーバ装置20,20…に対してソフトウェア資源の有無の問い合わせをする必要がなくなる。この結果、メインサーバ装置10及びサブサーバ装置20,20…、並びに、サブサーバ装置20,20…及びPC30,30…間において随時正確な同期がとれない場合であっても、メインサーバ装置10に記憶されたソフトウェア資源をPC30,30…で確実に取得することができる。
【0085】
また、端末装置が主体的にソフトウェア資源の転送の問合せを行うことにより、中央装置、中間装置で端末装置の細かい管理を実施する必要がなくなる。また、中央装置及び中間装置のプログラム処理が単純化され、中央装置及び中間装置の処理負荷も軽減される。端末装置がどの中間装置からソフトウェア資源を受信すればよいかを示すリストを端末装置に送ることにより、端末装置がソフトウェア資源を受信をする際の中間装置の負荷を分散し、ソフトウェア資源の受信の処理速度を適切に管理することができる。
【0086】
以上、本発明の好適な実施形態について、具体的に説明したが、各構成及び動作等は適宜変更可能であって、上述の実施形態に限定されることはない。
【0087】
以上の実施形態を含む実施形態に関し、更に以下の付記を開示する。
【0088】
(付記1)
ソフトウェア資源を記憶し、通信機能を有する中央装置と、
該中央装置と通信可能であって、前記中央装置から送信されたソフトウェア資源を受信して記憶する中間装置と、
前記中央装置及び中間装置と通信する端末装置と
を備えており、
前記中央装置は、
ソフトウェア資源の登録を受け付ける登録受付手段と、
該登録受付手段により受け付けた前記ソフトウェア資源の版数を、前記ソフトウェア資源に対応付けて記憶する資源情報を格納する資源情報格納手段と、
前記登録受付手段により受け付けた前記ソフトウェア資源、及び前記資源情報格納手段に格納される資源情報を、前記中間装置へ送信する資源転送手段と、
前記端末装置へ通知する前記中間装置のサーバリストを生成するサーバリスト生成手段と、
該サーバリスト生成手段により生成されたサーバリストと前記資源情報とを前記端末装置へ送信する端末装置送信手段と
を有し、
前記端末装置は、
前記中央装置から受信したサーバリストに示される前記中間装置から前記資源転送手段により送信され前記中間装置に記憶されている前記資源情報を取得し、前記中央装置から受信した前記資源情報と前記中間装置から取得した前記資源情報とを比較し、前記資源情報に示されるソフトウェア資源の版数が一致するか否かに基づいて、前記中間装置と前記中央装置とが同期された状態であるか否かを判定する同期判定手段と、
前記同期判定手段により同期していると判定された場合に、前記中間装置へソフトウェア資源の送信を要求する要求信号を送信する要求信号送信手段
を有するデータ配信システム。
(付記2)
前記中間装置を複数備えており、
前記端末装置は、
前記要求信号送信手段が送信した要求信号に対するソフトウェア資源の受信に成功したか否かを判定する成否判定手段
をさらに有し、
前記要求信号送信手段は、
前記成否判定手段が成功と判定するまで、複数の前記中間装置に、所定の順序で要求信号を送信するようにしてあり、
前記中央装置は、
該同期判定手段が同期していると判定した前記中間装置のなかから、前記端末装置が要求信号を送信すべき順序を決定する順序決定手段
をさらに有し、
前記中央装置が有するサーバリスト生成手段は、
前記順序決定手段が決定した順序を含むサーバリストを生成するようにしてある
付記1に記載のデータ配信システム。
(付記3)
前記中央装置が有する順序決定手段は、
前記中央装置を含めた順序を決定し、
前記端末装置が有する要求信号送信手段は、
前記順序決定手段が中央装置を含めた順序を決定した場合、該順序に基づいて、前記中央装置へ要求信号を送信するようにしてあり、
前記中央装置は、
前記要求信号を受信した場合、前記要求信号に基づくソフトウェア資源を前記端末装置へ送信する中央装置側送信手段
をさらに有する付記2に記載のデータ配信システム。
(付記4)
前記中央装置は、
前記中間装置の処理負荷を検出する負荷検出手段
をさらに有し、
前記順序決定手段は、
前記負荷検出手段が検出した処理負荷が低い前記中間装置から順に、前記端末装置が要求信号を送信するよう順序を決定するようにしてある
付記2又は3に記載のデータ配信システム。
(付記5)
前記端末装置は、
無線通信によって前記中央装置及び中間装置と通信するようにしてあり、
前記端末装置の成否判定手段は、
前記無線通信に基づいてソフトウェア資源の受信に成功したか否かを判定するようにしてある
付記2から4の何れか一つに記載のデータ配信システム。
(付記6)
前記中央装置が動作不能の場合において、
前記端末装置は、
自身が記憶するソフトウェア資源に関する情報を取得する端末側取得手段
をさらに有し、
前記端末装置の要求信号送信手段は、
要求信号を、前記端末側取得手段が取得した情報と共に前記中間装置に送信するようにしてあり、
前記中間装置は、
前記要求信号送信手段から要求信号及び情報を受信した場合、該情報に基づいて前記端末装置が記憶するソフトウェア資源を取得する装置側取得手段と、
該装置側取得手段が取得したソフトウェア資源、及び前記中間装置自身が記憶するソフトウェア資源を対比して、前記端末装置が前記中間装置自身から受信すべきソフトウェア資源の有無を判定する中間装置側判定手段と
該中間装置側判定手段が有ると判定した場合、前記端末装置が受信すべきソフトウェア資源を前記端末装置に送信する中間装置側送信手段と
を有する付記1から5の何れか一つに記載のデータ配信システム。
(付記7)
ソフトウェア資源を記憶し、通信機能を有する中央装置及び中間装置を通信可能に接続し、
前記中央装置へのソフトウェア資源の登録を受け付け、
受け付けた前記ソフトウェア資源の版数を、前記ソフトウェア資源に対応付けて記憶する資源情報を格納し、
受け付けた前記ソフトウェア資源、及び格納された資源情報を、前記中間装置へ送信し、
前記端末装置へ通知する前記中間装置のサーバリストを生成し、
生成されたサーバリストと前記資源情報とを前記端末装置へ送信し、
前記端末装置により、前記中央装置から受信したサーバリストに示される前記中間装置から、前記中央装置から送信され前記中間装置に記憶されている前記資源情報を取得し、
前記端末装置により、前記中央装置から受信した前記資源情報と前記中間装置から取得した前記資源情報とを比較し、
前記端末装置により、前記資源情報に示されるソフトウェア資源の版数が一致するか否かに基づいて、前記中間装置と前記中央装置とが同期された状態であるか否かを判定し、
前記端末装置が前記同期判定手段により同期していると判定した場合に、前記端末装置により、前記中間装置へソフトウェア資源の送信を要求する要求信号を送信する
データ配信方法。
【符号の説明】
【0089】
10 メインサーバ装置
20 サブサーバ装置
30 PC
502 資源記憶部
505 同期判定部
506 同期処理部
510 リスト送信部
511 問い合わせ信号受信部
601 資源管理部
709 資源情報取得部
702 リスト受信部
707 資源取得要求部

【特許請求の範囲】
【請求項1】
ソフトウェア資源を記憶し、通信機能を有する中央装置と、
該中央装置と通信可能であって、前記中央装置から送信されたソフトウェア資源を受信して記憶する中間装置と、
前記中央装置及び中間装置と通信する端末装置と
を備えており、
前記中央装置は、
ソフトウェア資源の登録を受け付ける登録受付手段と、
該登録受付手段により受け付けた前記ソフトウェア資源の版数を、前記ソフトウェア資源に対応付けて記憶する資源情報を格納する資源情報格納手段と、
前記登録受付手段により受け付けた前記ソフトウェア資源、及び前記資源情報格納手段に格納される資源情報を、前記中間装置へ送信する資源転送手段と、
前記端末装置へ通知する前記中間装置のサーバリストを生成するサーバリスト生成手段と、
該サーバリスト生成手段により生成されたサーバリストと前記資源情報とを前記端末装置へ送信する端末装置送信手段と
を有し、
前記端末装置は、
前記中央装置から受信したサーバリストに示される前記中間装置から前記資源転送手段により送信され前記中間装置に記憶されている前記資源情報を取得し、前記中央装置から受信した前記資源情報と前記中間装置から取得した前記資源情報とを比較し、前記資源情報に示されるソフトウェア資源の版数が一致するか否かに基づいて、前記中間装置と前記中央装置とが同期された状態であるか否かを判定する同期判定手段と、
前記同期判定手段により同期していると判定された場合に、前記中間装置へソフトウェア資源の送信を要求する要求信号を送信する要求信号送信手段
を有するデータ配信システム。
【請求項2】
前記中間装置を複数備えており、
前記端末装置は、
前記要求信号送信手段が送信した要求信号に対するソフトウェア資源の受信に成功したか否かを判定する成否判定手段
をさらに有し、
前記要求信号送信手段は、
前記成否判定手段が成功と判定するまで、複数の前記中間装置に、所定の順序で要求信号を送信するようにしてあり、
前記中央装置は、
該同期判定手段が同期していると判定した前記中間装置のなかから、前記端末装置が要求信号を送信すべき順序を決定する順序決定手段
をさらに有し、
前記中央装置が有するサーバリスト生成手段は、
前記順序決定手段が決定した順序を含むサーバリストを生成するようにしてある
請求項1に記載のデータ配信システム。
【請求項3】
前記中央装置が有する順序決定手段は、
前記中央装置を含めた順序を決定し、
前記端末装置が有する要求信号送信手段は、
前記順序決定手段が中央装置を含めた順序を決定した場合、該順序に基づいて、前記中央装置へ要求信号を送信するようにしてあり、
前記中央装置は、
前記要求信号を受信した場合、前記要求信号に基づくソフトウェア資源を前記端末装置へ送信する中央装置側送信手段
をさらに有する請求項2に記載のデータ配信システム。
【請求項4】
前記中央装置は、
前記中間装置の処理負荷を検出する負荷検出手段
をさらに有し、
前記順序決定手段は、
前記負荷検出手段が検出した処理負荷が低い前記中間装置から順に、前記端末装置が要求信号を送信するよう順序を決定するようにしてある
請求項2又は3に記載のデータ配信システム。
【請求項5】
前記端末装置は、
無線通信によって前記中央装置及び中間装置と通信するようにしてあり、
前記端末装置の成否判定手段は、
前記無線通信に基づいてソフトウェア資源の受信に成功したか否かを判定するようにしてある
請求項2から4の何れか一つに記載のデータ配信システム。
【請求項6】
ソフトウェア資源を記憶し、通信機能を有する中央装置及び中間装置を通信可能に接続し、
前記中央装置へのソフトウェア資源の登録を受け付け、
受け付けた前記ソフトウェア資源の版数を、前記ソフトウェア資源に対応付けて記憶する資源情報を格納し、
受け付けた前記ソフトウェア資源、及び格納された資源情報を、前記中間装置へ送信し、
前記端末装置へ通知する前記中間装置のサーバリストを生成し、
生成されたサーバリストと前記資源情報とを前記端末装置へ送信し、
前記端末装置により、前記中央装置から受信したサーバリストに示される前記中間装置から、前記中央装置から送信され前記中間装置に記憶されている前記資源情報を取得し、
前記端末装置により、前記中央装置から受信した前記資源情報と前記中間装置から取得した前記資源情報とを比較し、
前記端末装置により、前記資源情報に示されるソフトウェア資源の版数が一致するか否かに基づいて、前記中間装置と前記中央装置とが同期された状態であるか否かを判定し、
前記端末装置が前記同期判定手段により同期していると判定した場合に、前記端末装置により、前記中間装置へソフトウェア資源の送信を要求する要求信号を送信する
データ配信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate