以下、実施形態について図面を参照して説明する。図1は実施形態における資源配付システムの一例を示す図である。資源配付システム1は、資源の配付対象である複数の端末2(2a、2b、2c)と、複数の端末2へ資源を配付する資源配付サーバ3とから構成されている。なお、資源配付システム1の構成はこれに限定されるものではなく、他の構成を含むものであってもよい。
資源配付システム1は、様々な業態において用いられるものであって、例えば職業紹介業などにおいて用いられる。この場合、資源配付サーバ3は、運用センターなどに設置され、例えばシステム管理者から登録される配付対象の資源(配付資源)を分割し、分割資源A、B、Cとして格納し、格納された分割資源A、B、Cを端末2へ配付する。資源配付サーバ3の詳細な処理については後述する。ここでの資源とは、例えば求人情報などのデータファイルやプログラムファイル(パッチファイル)などであり、以下では単にファイルとも言う。
端末2は拠点(例えば、職業紹介所)に配置され、WAN(Wide Area Network)4を介して資源配付サーバ3と接続されるとともに、端末2間はLAN(Local Area Network)5によって接続されている。
この場合、端末2aは例えば利用者(エンドユーザ)用の端末であり、これにより利用者は所望の情報(募集情報など)を取得することが可能となる。また、端末2bは例えば窓口の職員用の端末であり、端末2cは例えばバックヤードにある職員用の端末である。それぞれの端末2はLAN5によって接続されているため、様々な情報(例えば、後述する分割資源(分割ファイル)など)の送受信が可能となっており、送受信により得られた分割資源を結合して元の配付資源(配付ファイル)に復元する。端末2の詳細な処理については後述する。
次に、実施形態における資源配付サーバ3の構成について図2を用いて説明する。資源配付サーバ3は、分割部(資源登録プロセス)3a、指示部(サーバプロセス)3b、資源情報格納部3c、配付状況データ格納部3dから構成されている。資源配付サーバ3の構成はこれに限定されるものでなく、他の構成を含むものであってもよい。なお、例えば不図示のCPU(Central Processing Unit)が分割部3a及び指示部3bとして機能し、不図示のメモリが資源情報格納部3c及び配付状況データ格納部3dとして機能してもよい。
分割部3aは、端末2へ配付するファイルの登録処理を行うものであって、具体的には配付対象となる配付ファイルを複数のファイルに分割し、分割されたファイル(分割ファイル)を格納部(例えば、資源情報格納部3cなど)に格納(登録)する。
指示部3bは、分割ファイルの一連の配付処理を行うものである。具体的には端末2からの最新版数の有無を確認するための資源版数照会に応じて最新の版数の配付ファイルが配付されているかを判断する。また、端末2からの配付ファイルの配付状況を確認するための問い合わせ(後述するダウンロード情報入手)に応じて、複数の分割ファイル(例えば、後述する分割枝番「1」から「3」の分割ファイル)それぞれの取得先を端末2へ指示する。
資源情報格納部3cは、配付ファイルに関する情報を示す資源情報テーブルを格納する。資源情報テーブルは、図3に示すように、「版数」と「分割数」から構成されている。「版数」は配付ファイルの版数、すなわちバージョンを示すものである。これにより、保持している配付ファイルのバージョンを把握することが可能となる。「分割数」は配付ファイルが配付される際に分割された分割数を示すものである。これにより、配付ファイルがいくつに分割されているか把握することが可能となる。
配付状況データ格納部3dは、配付ファイルの配付状況を示す配付状況データテーブルを格納する。配付状況データテーブルは、図3に示すように、「版数」、「分割枝番」、「配付端末」、「配付状況」から構成されている。「版数」は配付ファイルのバージョンを示すものである。「分割枝番」は分割ファイルの分割枝番(分割枝番)を示すものであり、例えば後述するように配付ファイルが3つに分割された場合、分割ファイルの分割枝番はそれぞれ「1」から「3」となる。
「配付端末」は配付対象端末のホスト名、すなわち分割ファイルの配付先の端末名を示すものである。これにより、配付先を特定することが可能となる。「配付状況」は配付端末の配付状況、すなわち配付先への配付状況を示すものであり、配付状況としては「配付中」と「配付済」がある。「配付中」は分割ファイルがダウンロード中であることを示し、「配付済」は分割ファイルがダウンロード終了したことを示す。
次に、実施形態における端末2の構成について図2を用いて説明する。なお、各端末の構成は同様であるため1つの端末(端末2c)を例にとって説明する。端末2cは、取得部(端末プロセス)21c、復元部(端末プロセス)22c、クライアント情報格納部23c、配付制御用格納部24cから構成されている。端末2cの構成はこれに限定されるものでなく、他の構成を含むものであってもよい。なお、例えば不図示のCPUが取得部21c及び復元部22cとして機能し、不図示のメモリがクライアント情報格納部23c及び配付制御用格納部24cとして機能してもよい。
取得部21cは、配付ファイルの一連の取得処理を行うものであって、具体的には版数のチェックをしたり、最新の版数(バージョン)でない場合に分割ファイルを資源配付サーバ3によって指示された取得先から取得(ダウンロード)したりする。
復元部22cは、取得先から取得したそれぞれの分割ファイルを結合させて元の配付ファイルに復元する。
クライアント情報格納部23cは、自端末に関する情報を示すクライアント情報テーブルを格納する。クライアント情報テーブルは、図4に示すように、「ホスト名」と「保持版数」から構成されている。「ホスト名」は自端末のホスト名、すなわち自端末名(例えば、端末2cであれば端末2cを示す情報)である。「保持版数」は現時点でその端末で保持しているファイルの版数(バージョン)を示すものである。これにより、保持している版数が最新のものか否かを判断することが可能となる。
配付制御用格納部24cは、分割ファイルの配付を制御するための配付制御用テーブルを格納する。配付制御用テーブルは、図4に示すように、「取得対象版数」、「分割枝番」、「配付状況」から構成されている。「取得対象版数」は配付ファイルの版数(バージョン)を示すものである。「分割枝番」は配付されている分割ファイルの分割枝番を示すものである。「配付状況」は分割ファイルの自端末への配付状況を示すものであり、「未配付」と「配付済」がある。「未配付」は分割ファイルがまだ配付されていないことを示し、「配付済」は分割ファイルが既に配付されていることを示す。
次に、実施形態における資源配付システム1の資源配付処理について図5Aから図5Hを用いて説明する。まず、資源配付サーバ3は資源登録処理を行う。そのため、資源配付サーバ3はシステム管理者などから入力情報を受け付ける。入力情報は端末2へ配付される配付資源であって、配付資源には例えば配付される配付ファイルや配付ファイルの版数(例えば、V01)が含まれる。
資源配付サーバ3は入力情報の登録作業を行う。すなわち、資源配付サーバ3は配付ファイルを複数のファイルに分割し、分割した際の情報を資源情報テーブルに記録する。ここでは、配付ファイルを3つのファイルに分割し、分割されたそれぞれの分割ファイルには分割枝番(分割枝番1〜分割枝番3)が割り振られ、資源情報テーブルには配付ファイルの版数である「V01」と分割数「3」が登録されている。
なお、資源配付サーバ3は配付ファイルを分割する際、複数の端末2の負荷状況に応じて配付ファイルを分割するようにしてもよい。これにより、特定の端末への負荷を軽減させることができる。
資源登録処理が終了すると、資源配付システム1では資源配付処理が行われる。資源配付処理の詳細について以下に説明する。業務の開始などにより各端末2が起動されるが、ここではまず端末2aが起動されたとする。端末2aは起動すると端末2aが保持する版数のチェック(版数チェック)を行う(S501)。版数チェックは、端末2aが有するクライアント情報テーブルを参照して行われる。この場合、クライアント情報テーブルにおける端末2aの保持版数は「V00」である。
端末2aは版数チェック後に電文aを資源配付サーバ3へ送信し、最新の版数の有無の確認(資源版数照会)を行う(S502)。ここで電文aの構成について図6を用いて説明する。図6に示すように、電文aは「自ホスト名」と「保持版数」から構成されている。「自ホスト名」には配付対象となる端末のホスト名、すなわち電文aを送信する端末名(この場合は端末2a)が格納される。「保持版数」には配付対象となる端末において保持しているファイルの版数が格納され、この例では「V00」である。
資源配付サーバ3は電文aを受信すると、電文aの情報と資源情報テーブルの情報を参照して最新版数の有無を確認し(S503)、確認結果として電文dを端末2aへ送信する(S504)。この場合、資源配付サーバ3は電文aに含まれる保持版数「V00」と資源情報テーブルの版数「V01」を比較し、「V01」のほうが「V00」よりも最新であると認識することによって最新版数有とする電文dを端末2aへ送信する。
ここで電文dの構成について図7を用いて説明する。図7に示すように、電文dは「最新版数有無」、「取得対象版数」、「分割数」から構成されている。「最新版数有無」には端末2aが保持している版数よりも最新の版数が資源配付サーバ3に存在するか否か(最新版数の有無)の情報が格納される。上記の例では「有」の旨の情報が格納される。「取得対象版数」には配付対象となる端末において取得対象となるファイルの版数が格納されるが、最新版数が「有」の場合にのみファイルの版数の情報が格納される。上記の例では最新版数が「有」であるためファイル版数は「V01」が格納される。「分割数」は配付ファイルを分割した数が格納されるが、最新版数が「有」の場合にのみ分割数が格納される。上記の例では最新版数が「有」であるため分割数は「3」が格納される。
端末2aは電文dを受信すると、電文dに基づいて配付制御用テーブルを作成し、分割ファイルのダウンロード処理を開始する(S505)。このとき作成される配付制御用テーブルの「取得対象版数」は「V01」であり、「分割枝番」は分割数が「3」であるため「1」から「3」であり、「配付状況」は「未配付」である。
端末2aは分割ファイルの配付状況を確認するため、ダウンロード情報入手として電文bを資源配付サーバ3へ送信する(S506)。ここで電文bの構成について図6を用いて説明する。図6に示すように、電文bは「自ホスト名」、「取得対象版数」、「ダウンロード未実施の分割枝番」から構成されている。「自ホスト名」には配付対象となる端末のホスト名、すなわち電文bを送信する端末名(この場合は端末2a)が格納される。「取得対象版数」には配付対象となる端末において取得対象となるファイルの版数が格納され、この例では「V01」である。「ダウンロード未実施の分割枝番」にはダウンロード未実施の配付ファイルの分割された際の分割枝番が格納され、ダウンロード未実施の分割枝番が複数存在する場合にはその分が送付される。この例ではダウンロード未実施の分割枝番は「1」から「3」の3つである。
資源配付サーバ3は電文bを受信すると、ダウンロード未実施の分割枝番と配付状況データテーブルを比較し、ダウンロードさせる分割ファイルを特定し、特定した分割ファイルの分割枝番に対応する配付状況データテーブルの「配付状況」に「配付中」と書き込む(S507)。この例では3つの分割ファイルすべてが未配付であるため、資源配付サーバ3は分割枝番「1」のファイルをダウンロードさせる分割ファイルを特定し、配付状況データテーブルの分割枝番「1」に対応する分割ファイルの「配付状況」に「配付中」と書き込む。なお、「配付端末」は「端末2a」と書き込む。
その後、資源配付サーバ3はダウンロードの指示のための電文eを端末2aへ送信する(S508)。ここで電文eの構成について図7を用いて説明する。図7に示すように、電文eは「ダウンロード分割枝番」と「ダウンロード先ホスト名」から構成されている。「ダウンロード分割枝番」には配付対象となる端末において取得対象となる分割ファイルの分割枝番が格納され、この例では「1」である。「ダウンロード先ホスト名」は分割ファイルのダウンロード先である資源配付サーバ3又は端末のホスト名が格納され、この例では「資源配付サーバ」である。
端末2aは電文eを受信すると、電文eに含まれる情報に基づいて分割枝番「1」の分割ファイルの資源配付サーバ3からのダウンロードを開始する(S509)。
その後、端末2aと同様に端末2bが起動され、版数チェックを行う(S510)。版数チェックは、端末2bが有するクライアント情報テーブルを参照して行われる。この場合、クライアント情報テーブルにおける端末2bの保持版数は「V00」である。
端末2bは版数チェック後に電文aを資源配付サーバ3へ送信し、最新の版数の有無の確認(資源版数照会)を行う(S511)。このときの電文aの「自ホスト名」には「端末2b」が格納され、「保持版数」には「V00」が格納される。
資源配付サーバ3は電文aを受信すると、電文aの情報と資源情報テーブルの情報を参照して最新版数の有無を確認し(S512)、確認結果として電文dを端末2bへ送信する(S513)。この場合、資源配付サーバ3は電文aに含まれる保持版数「V00」と資源情報テーブルの版数「V01」を比較し、「V01」のほうが「V00」よりも最新であると認識することによって最新版数有とする電文dを端末2bへ送信する。
このときの電文dの「最新版数有無」には「有」の旨の情報が格納され、「取得対象版数」には最新版数が「有」であるためファイル版数は「V01」が格納され、「分割数」には最新版数が「有」であるため「3」が格納される。
端末2bは電文dを受信すると、電文dに基づいて配付制御用テーブルを作成し、分割されたファイルのダウンロード処理を開始する(S514)。このとき作成される配付制御用テーブルの「取得対象版数」は「V01」であり、「分割枝番」は分割数が「3」であるため「1」から「3」であり、「配付状況」は「未配付」である。
端末2bは分割ファイルの配付状況を確認するため、ダウンロード情報入手として電文bを資源配付サーバ3へ送信する(S515)。このときの電文bの「自ホスト名」には「端末2b」が格納され、「取得対象版数」には「V01」が格納され、「ダウンロード未実施の分割枝番」には「1」から「3」が格納される。
資源配付サーバ3は電文bを受信すると、ダウンロード未実施の分割枝番と配付状況データテーブルを比較し、ダウンロードさせる分割ファイルを特定し、特定した分割ファイルの分割枝番に対応する配付状況データテーブルの配付状況に「配付中」と書き込む(S516)。この例では3つの分割ファイルのうち分割枝番「2」と「3」の分割ファイルが未配付であるため、資源配付サーバ3は分割枝番「2」のファイルをダウンロードさせる分割ファイルを特定し、配付状況データテーブルの分割枝番「2」に対応する分割ファイルの「配付状況」に「配付中」と書き込む。なお、「配付端末」は「端末2b」と書き込む。
その後、資源配付サーバ3はダウンロードの指示のための電文eを端末2bへ送信する(S517)。このときの電文eの「ダウンロード分割枝番」には「2」が格納され、「ダウンロード先ホスト名」には「資源配付サーバ」が格納される。
端末2bは電文eを受信すると、電文eに含まれる情報に基づいて分割枝番「2」の分割ファイルの資源配付サーバ3からのダウンロードを開始する(S518)。
その後、端末2a、2bと同様に端末2cが起動され、版数チェックを行う(S519)。版数チェックは、端末2cが有するクライアント情報テーブルを参照して行われる。この場合、クライアント情報テーブルにおける端末2cの保持版数は「V00」である。
端末2cは版数チェック後に電文aを資源配付サーバ3へ送信し、最新の版数の有無の確認(資源版数照会)を行う(S520)。このときの電文aの「自ホスト名」には「端末2c」が格納され、「保持版数」には「V00」が格納される。
資源配付サーバ3は電文aを受信すると、電文aの情報と資源情報テーブルの情報を参照して最新版数の有無を確認し(S521)、確認結果として電文dを端末2cへ送信する(S522)。この場合、資源配付サーバ3は電文aに含まれる保持版数「V00」と資源情報テーブルの版数「V01」を比較し、「V01」のほうが「V00」よりも最新であると認識することによって最新版数有とする電文dを端末2cへ送信する。
このときの電文dの「最新版数有無」には「有」の旨の情報が格納され、「取得対象版数」には最新版数が「有」であるためファイル版数は「V01」が格納され、「分割数」には最新版数が「有」であるため「3」が格納される。
端末2cは電文dを受信すると、電文dに基づいて配付制御用テーブルを作成し、分割ファイルのダウンロード処理を開始する(S523)。このとき作成される配付制御用テーブルの「取得対象版数」は「V01」であり、「分割枝番」は分割数が「3」であるため「1」から「3」であり、「配付状況」は「未配付」である。
端末2cは分割ファイルの配付状況を確認するため、ダウンロード情報入手として電文bを資源配付サーバ3へ送信する(S524)。このときの電文bの「自ホスト名」には「端末2c」が格納され、「取得対象版数」には「V01」が格納され、「ダウンロード未実施の分割枝番」には「1」から「3」が格納される。
資源配付サーバ3は電文bを受信すると、ダウンロード未実施の分割枝番と配付状況データテーブルを比較し、ダウンロードさせる分割ファイルを特定し、特定した分割ファイルの分割枝番に対応する配付状況データテーブルの「配付状況」に「配付中」と書き込む(S525)。この例では3つの分割ファイルのうち分割枝番「3」の分割ファイルが未配付であるため、資源配付サーバ3は分割枝番「3」の分割ファイルをダウンロードさせる分割ファイルを特定し、配付状況データテーブルの分割枝番「3」に対応する分割ファイルの「配付状況」に「配付中」と書き込む。なお、「配付端末」は「端末2c」と書き込む。
その後、資源配付サーバ3はダウンロードの指示のための電文eを端末2cへ送信する(S526)。このときの電文eの「ダウンロード分割枝番」には「3」が格納され、「ダウンロード先ホスト名」には「資源配付サーバ」が格納される。
端末2cは電文eを受信すると、電文eに含まれる情報に基づいて分割枝番「3」の分割ファイルの資源配付サーバ3からのダウンロードを開始する(S527)。
その後、端末2aが分割枝番「1」の分割ファイルのダウンロードを終了すると、配付制御用テーブルの分割枝番「1」に対応する「配付状況」を「配付済」とする。端末2aは、ダウンロードが終了した旨の電文cを資源配付サーバ3へ送信する(S528)。
ここで電文cの構成について図6を用いて説明する。図6に示すように、電文cは「自ホスト名」、「取得対象版数」、「ダウンロード済み分割枝番」から構成されている。「自ホスト名」には配付対象となる端末のホスト名、すなわち電文cを送信する端末名(この場合は端末2a)が格納される。「取得対象版数」には配付対象となる端末において取得対象となるファイルの版数が格納され、この例では「V01」である。「ダウンロード済み分割枝番」には配付対象となる端末においてダウンロードした配付ファイルの分割枝番が格納され、この例では「1」である。
資源配付サーバ3は電文cを受信すると、配付状況データテーブルの対応する分割枝番「1」の「配付状況」に「配付済」と書き込む(S529)。
端末2aは分割枝番「1」の分割ファイルをダウンロードすると、更なる分割ファイルのダウンロードをするため、ダウンロード情報入手として電文bを資源配付サーバ3へ送信する(S530)。このときの電文bの「自ホスト名」には「端末2a」が格納され、「取得対象版数」には「V01」が格納され、「ダウンロード未実施の分割枝番」には「2」と「3」が格納される。
資源配付サーバ3は電文bを受信すると、配付状況データテーブルに基づいて端末2aに未配付の分割枝番の分割ファイルがあるか確認する(S531)。この場合、端末2aには分割枝番「2」と「3」の分割ファイルが未配付となっているが、分割枝番「2」と「3」の分割ファイルはすでに端末2b、2cにそれぞれ配付中であるため、端末2b、2cでダウンロード済みとなるまで待機する。
その後、端末2bが分割枝番「2」の分割ファイルのダウンロードを終了すると、配付制御用テーブルの分割枝番「2」に対応する「配付状況」を「配付済」とする。端末2bは、ダウンロードが終了した旨の電文cを資源配付サーバ3へ送信する(S532)。この場合の電文cの「自ホスト名」には「端末2b」が格納され、「取得対象版数」には「V01」が格納され、「ダウンロード済み分割枝番」には「2」が格納される。
資源配付サーバ3は電文cを受信すると、配付状況データテーブルの対応する分割枝番「2」の「配付状況」に「配付済」と書き込む(S533)。
資源配付サーバ3は分割枝番「2」の分割ファイルが「配付済」となったことを確認し(S534)、分割枝番「2」の分割ファイルを端末2bからダウンロードするよう指示するため電文eを端末2aへ送信する(S535)。
端末2aは電文eを受信すると、分割枝番「2」の分割ファイルのダウンロード依頼を端末2bへ行い、ダウンロードを開始する(S536)。
一方、端末2bが分割枝番「2」の分割ファイルのダウンロードを終了すると、更なる分割ファイルのダウンロードをするため、ダウンロード情報入手として電文bを資源配付サーバ3へ送信する(S537)。このときの電文bの「自ホスト名」には「端末2b」が格納され、「取得対象版数」には「V01」が格納され、「ダウンロード未実施の分割枝番」には「1」と「3」が格納される。
資源配付サーバ3は電文bを受信すると、配付状況データテーブルに基づいて端末2bに未配付の分割枝番の分割ファイルがあるか確認する(S538)。この場合、端末2bには分割枝番「1」と「3」の分割ファイルが未配付となっているが、分割枝番「1」が既に端末2aにおいてダウンロード済みであることを確認する。
資源配付サーバ3は、分割枝番「1」の分割ファイルを端末2aからダウンロードするよう指示するため電文eを端末2bへ送信する(S539)。
端末2bは電文eを受信すると、分割枝番「1」の分割ファイルのダウンロード依頼を端末2aへ行い、ダウンロードを開始する(S540)。
その後、端末2cが分割枝番「3」の分割ファイルのダウンロードを終了すると、配付制御用テーブルの分割枝番「3」に対応する「配付状況」を「配付済」とする。端末2cは、ダウンロードが終了した旨の電文cを資源配付サーバ3へ送信する(S541)。この場合の電文cの「自ホスト名」には「端末2c」が格納され、「取得対象版数」には「V01」が格納され、「ダウンロード済み分割枝番」には「3」が格納される。
資源配付サーバ3は電文cを受信すると、配付状況データテーブルの対応する分割枝番「3」の「配付状況」に「配付済」と書き込む(S542)。
端末2cが分割枝番「3」の分割ファイルのダウンロードを終了すると、更なる分割ファイルのダウンロードをするため、ダウンロード情報入手として電文bを資源配付サーバ3へ送信する(S543)。このときの電文bの「自ホスト名」には「端末2c」が格納され、「取得対象版数」には「V01」が格納され、「ダウンロード未実施の分割枝番」には「1」と「2」が格納される。
資源配付サーバ3は電文bを受信すると、配付状況データテーブルに基づいて端末2cに未配付の分割枝番の分割ファイルがあるか確認する(S544)。この場合、端末2cには分割枝番「1」と「2」の分割ファイルが未配付となっているが、分割枝番「1」が既に端末2aにおいてダウンロード済みであることを確認する。
資源配付サーバ3は、分割枝番「1」の分割ファイルを端末2aからダウンロードするよう指示するため電文eを端末2cへ送信する(S545)。
端末2cは電文eを受信すると、分割枝番「1」の分割ファイルのダウンロード依頼を端末2aへ行い、ダウンロードを開始する(S546)。
その後、端末2aが分割枝番「2」の分割ファイルのダウンロードを終了すると、配付制御用テーブルの分割枝番「2」に対応する「配付状況」を「配付済」とする。端末2aはすべての分割ファイルが「配付済」となっているか確認し、すべて配付済となっていないため、更なる分割ファイルのダウンロードをするため、ダウンロード情報入手として電文bを資源配付サーバ3へ送信する(S547)。このときの電文bの「自ホスト名」には「端末2a」が格納され、「取得対象版数」には「V01」が格納され、「ダウンロード未実施の分割枝番」には「3」が格納される。
資源配付サーバ3は電文bを受信すると、配付状況データテーブルに基づいて端末2aに未配付の分割枝番の分割ファイルがあるか確認する(S548)。この場合、端末2aには分割枝番「3」の分割ファイルが未配付となっているが、分割枝番「3」が既に端末2cにおいてダウンロード済みであることを確認する。
資源配付サーバ3は、分割枝番「3」の分割ファイルを端末2cからダウンロードするよう指示するため電文eを端末2aへ送信する(S549)。
端末2aは電文eを受信すると、分割枝番「3」の分割ファイルのダウンロード依頼を端末2cへ行い、ダウンロードを開始する(S550)。
その後、端末2bが分割枝番「1」の分割ファイルのダウンロードを終了すると、配付制御用テーブルの分割枝番「1」に対応する「配付状況」を「配付済」とする。端末2bはすべての分割ファイルが「配付済」となっているか確認し、すべて配付済となっていないため、更なる分割ファイルのダウンロードをするため、ダウンロード情報入手として電文bを資源配付サーバ3へ送信する(S551)。このときの電文bの「自ホスト名」には「端末2b」が格納され、「取得対象版数」には「V01」が格納され、「ダウンロード未実施の分割枝番」には「3」が格納される。
資源配付サーバ3は電文bを受信すると、配付状況データテーブルに基づいて端末2bに未配付の分割枝番の分割ファイルがあるか確認する(S552)。この場合、端末2bには分割枝番「3」の分割ファイルが未配付となっているが、分割枝番「3」が既に端末2cにおいてダウンロード済みであることを確認する。
資源配付サーバ3は、分割枝番「3」の分割ファイルを端末2cからダウンロードするよう指示するため電文eを端末2bへ送信する(S553)。
端末2bは電文eを受信すると、分割枝番「3」の分割ファイルのダウンロード依頼を端末2cへ行い、ダウンロードを開始する(S554)。
その後、端末2cが分割枝番「1」の分割ファイルのダウンロードを終了すると、配付制御用テーブルの分割枝番「1」に対応する「配付状況」を「配付済」とする。端末2cはすべての分割ファイルが配付済となっているか確認し、すべて配付済となっていないため、更なる分割ファイルのダウンロードをするため、ダウンロード情報入手として電文bを資源配付サーバ3へ送信する(S555)。このときの電文bの「自ホスト名」には「端末2c」が格納され、「取得対象版数」には「V01」が格納され、「ダウンロード未実施の分割枝番」には「2」が格納される。
資源配付サーバ3は電文bを受信すると、配付状況データテーブルに基づいて端末2cに未配付の分割枝番の分割ファイルがあるか確認する(S556)。この場合、端末2cには分割枝番「2」の分割ファイルが「未配付」となっているが、分割枝番「2」が既に端末2bにおいてダウンロード済みであることを確認する。
資源配付サーバ3は、分割枝番「2」の分割ファイルを端末2bからダウンロードするよう指示するため電文eを端末2cへ送信する(S557)。
端末2cは電文eを受信すると、分割枝番「2」の分割ファイルのダウンロード依頼を端末2bへ行い、ダウンロードを開始する(S558)。
その後、端末2aが分割枝番「3」の分割ファイルのダウンロードを終了すると、配付制御用テーブルの分割枝番「3」に対応する「配付状況」を「配付済」とする。端末2aは配付制御用テーブルからすべての分割ファイルが「配付済」となっているか確認し、すべて配付済となっているため、ダウンロードしたそれぞれの分割ファイルを結合し、元のファイル(配付ファイル)へ復元する(S559)。更に、端末2aはクライアント情報テーブルの保持版数の更新を行う。上記の例では「V01」へ更新し、資源配付処理が終了する。
その後、端末2bが分割枝番「3」の分割ファイルのダウンロードを終了すると、配付制御用テーブルの分割枝番「3」に対応する「配付状況」を「配付済」とする。端末2bは配付制御用テーブルからすべての分割ファイルが「配付済」となっているか確認し、すべて配付済となっているため、ダウンロードしたそれぞれの分割ファイルを結合し、元のファイル(配付ファイル)へ復元する(S560)。更に、端末2bはクライアント情報テーブルの保持版数の更新を行う。上記の例では「V01」へ更新し、資源配付処理が終了する。
その後、端末2cが分割枝番「2」の分割ファイルのダウンロードを終了すると、配付制御用テーブルの分割枝番「2」に対応する「配付状況」を「配付済」とする。端末2cは配付制御用テーブルからすべての分割ファイルが「配付済」となっているか確認し、すべて配付済となっているため、ダウンロードしたそれぞれの分割ファイルを結合し、元のファイル(配付ファイル)へ復元する(S561)。更に、端末2cはクライアント情報テーブルの保持版数の更新を行う。上記の例では「V01」へ更新し、資源配付処理が終了する。
次に、実施形態における資源配付システムの資源配付処理のフローについて説明する。まず、資源配付サーバ3による配付ファイルの分割処理フローについて図8を用いて説明する。資源配付サーバ3はシステム管理者から配付対象の配付ファイルを受け付ける(ステップS801)と、配付ファイルを一定のファイルサイズに分割して所定の記憶領域に格納する(ステップS802)。例えば、分割数が「3」の場合、それぞれの分割ファイルに分割枝番「1」から「3」を割り振り、それぞれを分割枝番「1」から「3」の分割ファイルとする。
資源配付サーバ3は分割後、資源情報テーブルを更新する(ステップS803)。例えば、資源情報テーブルの「版数」には配付ファイルの版数(例えば、「V01」)を記録し、「分割数」には配付ファイルの分割数「3」を記録する。
次に、資源配付サーバ3による配付ファイルの配付処理フローについて図9Aから図9Eを用いて説明する。資源配付サーバ3は端末2からの電文を受け付ける(ステップS901)と、受け付けた電文の種類が何かを判断する(ステップS902)。
受け付けた電文が電文aであると判断した場合(ステップS902で電文a)、すなわち資源版数照会の電文であると判断した場合、資源配付サーバ3は図9Bに示す処理を行う。また、受け付けた電文が電文bであると判断した場合(ステップS902で電文b)、すなわち分割ファイルの配付状況を確認するための電文であると判断した場合、資源配付サーバ3は図9Cに示す処理を行う。また、受け付けた電文が電文cであると判断した場合(ステップS902で電文c)、すなわちダウンロードが終了した旨の電文であると判断した場合、資源配付サーバ3は図9Eに示す処理を行う。以下では上記各処理について説明する。
まず、端末2から受け付けた電文が電文aである場合、図9Bに示すように、資源配付サーバ3は電文aから「自ホスト名」及び「保持版数」の情報を取得する(ステップS903)。例えば、電文aが端末2aから送信され、端末2aの保持する版数が「V00」である場合、「自ホスト名」は「端末2a」、「保持版数」は「V00」である。
資源配付サーバ3は取得した「保持版数」の情報と、資源配付サーバ3が有する資源情報テーブルの「版数」の情報を比較し、端末2aに最新版数が存在するか(最新版数の有無)を確認する(ステップS904)。資源配付サーバ3は端末2aに最新版数があるか否かを判断し(ステップS905)、最新版数がない場合(ステップS905でNo)、すなわち資源情報テーブルの「版数」の方が新しい場合、最新版数ありの電文dを生成し、端末2aへ送信する(ステップS906)。このときの電文dの「最新版数有無」は「有」、「取得対象版数」は資源情報テーブルの「版数」の情報(例えば、V01)、「分割数」は資源情報テーブルの「分割数」の情報(例えば、「3」)である。
一方、ステップS905において、最新版数がある場合(ステップS905でYes)、すなわち資源情報テーブルの「版数」の方が古い又は「版数」と同じである場合、最新版数なしの電文dを生成し、端末2aへ送信する(ステップS907)。このときの電文dの「最新版数有無」は「無」であり、他の情報は含まれない。
また、端末2から受け付けた電文が電文bである場合、図9C、図9Dに示すように、資源配付サーバ3は電文bから「自ホスト名」、「取得対象版数」、「ダウンロード未実施の分割枝番」の情報を取得する(ステップS908)。例えば、電文bが端末2aから送信され、取得すべき版数が「V01」、ダウンロード未実施である分割ファイルの分割枝番が「1」、「2」、「3」である場合、「自ホスト名」は「端末2a」、「取得対象版数」は「V01」、「ダウンロード未実施の分割枝番」は「1」、「2」、「3」である。
資源配付サーバ3は取得した「ダウンロード未実施の分割枝番」ごとに既に他の端末へ配付しているかを確認する(ステップS909)。すなわち、資源配付サーバ3は、取得した「取得対象版数」及び「ダウンロード未実施の分割枝番」に対応する情報が配付状況データテーブル(「版数」及び「分割枝番」)に存在するか確認する。存在する場合、資源配付サーバ3は対象の分割枝番の分割ファイルが他の端末へ「配付中」又は「配付済」であるか否かを確認する(ステップS910)。
「配付中」又は「配付済」でない場合(ステップS910でNo)、資源配付サーバ3は「ダウンロード分割枝番」に対象となる分割枝番(例えば、分割枝番「1」)、「ダウンロード先ホスト名」に「端末2a」を含む電文eを生成し、端末2aへ送信する(ステップS911)。資源配付サーバ3は送信後、配付状況データテーブルに記録する(ステップS912)。すなわち、資源配付サーバ3は配付状況データテーブルの「版数」、「分割枝番」、「配付端末」、「配付状況」のそれぞれに「取得対象版数」、「対象となった分割ファイルの分割枝番」、「自ホスト名(この例では端末2a)」、「配付中」を記録する。
一方、ステップS910において、「配付中」又は「配付済」である場合(ステップS910でYes)、すなわち対象の分割枝番の分割ファイルが「配付中」又は「配付済」である場合、資源配付サーバ3は対象の分割枝番の分割ファイルが「配付中」であるか「配付済」であるかを対象の分割ファイルごとに確認する(ステップS913)。具体的には、資源配付サーバ3は、「取得対象版数」及び「対象の分割枝番」に対応する情報が配付状況データテーブル(「版数」及び「分割枝番」)に存在するか確認し、「配付状況」の情報を取得する。資源配付サーバ3は配付状況データテーブルの「配付状況」が「配付中」か否かを判断する(ステップS914)。
「配付中」である場合(ステップS914でYes)、資源配付サーバ3は端末2(この例では端末2a)への未配付の分割ファイルはなく、他の端末2への配付済の分割ファイルがないため、一定時間待ちとする(ステップS915)。
一方、「配付中」でない場合(ステップS914でNo)、すなわち「配付済」である場合、資源配付サーバ3は分割ファイルのダウンロード先とする端末2のホスト名を取得する(ステップS916)。具体的には、資源配付サーバ3は配付状況データテーブルから「版数」、「分割枝番」、「配付端末」を取得する。資源配付サーバ3は「ダウンロード分割枝番」に対象となる分割枝番(例えば、分割枝番「2」)、「ダウンロード先ホスト名」に「端末2(例えば、端末2b)」を含む電文eを生成し、端末2aへ送信する(ステップS917)。
また、端末2から受け付けた電文が電文cである場合、図9Eに示すように、資源配付サーバ3は電文cから「自ホスト名」、「取得対象版数」、「ダウンロード済み分割枝番」の情報を取得する(ステップS918)。例えば、電文cが端末2aから送信され、取得対象となった版数が「V01」、ダウンロードした分割ファイルの分割枝番が「1」である場合、「自ホスト名」は「端末2a」、「取得対象版数」は「V01」、「ダウンロード済み分割枝番」は「1」である。
資源配付サーバ3は取得した情報に基づいて配付状況データテーブルを更新する(ステップS919)。具体的には、資源配付サーバ3は配付状況データテーブルの「版数」、「分割枝番」、「配付端末」、「配付状況」に「取得対象版数」、「ダウンロード済み分割枝番」、「自ホスト名」、「配付済」をそれぞれ記録する。
次に、実施形態における端末2による配付ファイルの取得及び復元処理フローについて図10A、図10Bを用いて説明する。端末2(ここでは端末2a)は自端末で保持しているファイルを最新版数のファイルに更新するため、自端末で保持している保持版数をクライアント情報テーブルから取得する(ステップS1001)。端末2aは版数チェックをし、ダウンロードすべき配付ファイルが存在するか資源配付サーバ3へ問い合わせ(資源版数照会)を行う(ステップ1002)。このとき端末2aは電文aを生成する。生成される電文aにはクライアント情報テーブルの「ホスト名」及び「保持版数」が含まれる。
端末2aは電文aを資源配付サーバ3へ送信すると、電文aに対する応答電文である電文dを受信する(ステップS1003)。端末2aは電文dの「最新版数有無」を確認し、「有」か否か、すなわち最新版数があるか否かを判断し(ステップS1004)、最新版数がない場合(ステップS1004でNo)、配付ファイルの取得処理は終了する。
一方、最新版数がある場合(ステップS1004でYes)、端末2aは配付制御用テーブルを初期化する(ステップS1005)。具体的には、端末2aは配付制御用テーブルの「取得対象版数」、「分割枝番」、「配付状況」に「取得対象版数」、「分割ファイルの分割枝番」、「未配付」をそれぞれ記録する。このとき、端末2aは「分割数」の分のレコードを作成する。
その後、端末2aは未配付の分割枝番を取得する(ステップS1006)。具体的には、端末2aは取得対象版数であって未配付となっている分割枝番を配付制御用テーブルから取得する。
端末2aは分割ファイルの配付状況を確認するため、ダウンロードする分割ファイルとダウンロード先を問い合わせる(ステップS1007)。具体的には、端末2aは電文bを生成し、資源配付サーバ3へ送信する。このときの電文bの「自ホスト名」、「取得対象版数」、「ダウンロード未実施の分割枝番」には、クライアント情報テーブルの「ホスト名」、「取得対象版数」、配付制御用テーブルの「分割枝番(すべての該当するレコード分の分割枝番)」がそれぞれ含まれる。
端末2aは電文bを送信すると資源配付サーバ3からの応答である電文eを受信する(ステップS1008)。電文eには「ダウンロード分割枝番」及び「ダウンロード先ホスト名」が含まれている。端末2aは分割ファイルをダウンロードするため、「ダウンロード先ホスト名」のホストへアクセスし、「ダウンロード分割枝番」の分割ファイルをダウンロードする(ステップS1009)。
ダウンロードが終了すると、端末2aは配付制御用テーブルを更新する(ステップS1010)。具体的には、端末2aは取得対象版数のダウンロードした分割ファイルの分割枝番に該当する配付制御用テーブルの「配付状況」を「配付済」とする。
その後、端末2aはダウンロード終了の通知をするか決めるため、「ダウンロード先ホスト名」が資源配付サーバ3であるか否かを判断する(ステップS1011)。「ダウンロード先ホスト名」が資源配付サーバ3である場合(ステップS1011でYes)、端末2aはダウンロード終了を通知するために電文cを生成し、資源配付サーバ3へ送信する(ステップS1012)。
一方、「ダウンロード先ホスト名」が資源配付サーバ3でない場合(ステップS1011でNo)、または、端末2aはダウンロード終了を通知するために電文cを生成し、資源配付サーバ3へ送信した後、端末2aは配付結果を確認するため、すべての分割ファイルのダウンロードが終了したか否かを確認する(ステップS1013)。具体的には、端末2aは配付制御用テーブルの「配付状況」を確認する。
端末2aは「配付状況」が「未配付」か否かを確認し(ステップS1014)、「未配付」のレコードがある場合(ステップS1014でYes)、ステップS1006へ戻る。一方、「未配付」のレコードがない場合(ステップS1014でNo)、端末2aは分割ファイルを結合して元の配付ファイルを復元する(ステップS1015)。端末2aは復元後、クライアント情報テーブルを更新する(ステップS1016)。具体的には、端末2aは自端末で保持しているクライアント情報テーブルの「保持版数」を「取得対象版数」に更新する。
上述したような資源配付方法及び資源配付システムによれば、余分な機器の設置を不要とし、通信量を削減することができる。また、余分な機器の設置が不要になるため、初期費用やランニングコストを抑えることができる。また、特定の機器に負荷をかけることなく、負荷の平準化を行うことで業務中の配付運用を可能とする。
また、上述した実施の形態は、上述したものに限定されるものではなく、実施の形態の要旨を逸脱しない範囲において種々の変更を加えることができる。