JP3960211B2 - Data distribution method and apparatus - Google Patents
Data distribution method and apparatus Download PDFInfo
- Publication number
- JP3960211B2 JP3960211B2 JP2002340264A JP2002340264A JP3960211B2 JP 3960211 B2 JP3960211 B2 JP 3960211B2 JP 2002340264 A JP2002340264 A JP 2002340264A JP 2002340264 A JP2002340264 A JP 2002340264A JP 3960211 B2 JP3960211 B2 JP 3960211B2
- Authority
- JP
- Japan
- Prior art keywords
- distribution
- resource
- data
- divided
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Description
【0001】
【発明の属する技術分野】
本発明はネットワークに多数のクライアント計算機が存在する場合のクライアント・サーバシステムにおいて、サーバ計算機でクライアント計算機からの要求に応じて資源配信を行う資源配信方式及びシステムに関する。
【0002】
【従来の技術】
従来技術として例えば、一定時間内に発生するクライアント計算機からの配信要求を予測し、要求数が少ないと予測された場合、サーバ計算機は資源をユニキャストで配信し、要求数が多いと予測された場合、資源をオンデマンドマルチキャストで配信し、クライアント計算機からの配信要求数を閾値として、資源の配信方法を切り換える資源配信方法がある(例えば、特許文献1参照。)。
【0003】
ユニキャスト配信は、クライアント計算機の資源配信要求に対して、サーバ計算機が個別に資源を配信する方法である。
マルチキャスト配信は、あらかじめ複数のクライアント計算機が同一のマルチキャストアドレスに参加することにより、複数のクライアント計算機でマルチキャストグループを形成し、サーバ計算機がマルチキャストグループを形成しているマルチキャストアドレスに対して一回だけの資源配信を行うことで、マルチキャストグループに参加しているクライアント計算機すべてに資源を配信する方法である。
【0004】
オンデマンドマルチキャスト配信は、マルチキャスト配信にオンデマンド性を加えたもので、クライアント計算機からの資源の配信要求があった場合、すぐには資源を配信せず、同じ資源を要求するクライアント計算機からの資源配信要求を一定時間待ち合わせ、待ち合わせ時間終了後、資源を配信する方式である。待ち時間を長く設定することで、一回の送信でより多くのクライアント計算機に資源を配信することができ、それによって配信の効率を上げることができる。
【0005】
【特許文献1】
特開2000−181836号公報(第2−5頁、第2図)
【0006】
【発明が解決しようとする課題】
しかしながら、従来技術では次のような問題がある。ユニキャスト配信方式では、クライアント計算機への応答は良いが、1対1の通信であるため、多数のクライアント計算機からの資源配信要求があった場合、サーバ計算機への負荷とネットワークのトラヒックが増大する。
【0007】
マルチキャスト配信方式では、マルチキャストグループを形成する都合上、資源配信の契機はクライアント計算機ではなくサーバ計算機が決定し、クライアント計算機の都合に関係なく資源を配信する場合がある。
【0008】
オンデマンドマルチキャスト配信方式では、資源配信の契機はクライアント計算機にあるが、クライアント計算機が資源の配信要求をして受信を開始するまでの待ち時間(配信要求を取りまとめる時間)が発生する。
【0009】
【課題を解決するための手段】
本発明の計算機を用いたデータ送信方法であって、前記計算機は、予め記憶装置に格納されたデータを読み出し、読み出した前記データを予め定められた大きさに分割し、分割した前記データそれぞれに対して識別子を付与し、他の複数の計算機へ分割した前記データを配布した場合に、分割した前記データごとに配布したか否かを示す情報と分割した前記データの配布先の計算機の識別子とを対応づけて分割データ送信情報として記憶装置に格納し、前記分割データ送信情報にもとづいて、分割した前記データのうちで配布されていないデータの配布を行うことを特徴とする。
【0010】
【発明の実施の形態】
以下、本発明の一実施形態について図面を用いて説明する。
図1は本発明が適用されるクライアント/サーバシステムである。
図1において、1台のサーバ計算機100と複数台のクライアント計算機110、120、130、資源サーバ計算機140がネットワーク150に接続されている。サーバ計算機100は、要求受付部101、配信制御部102、資源分割部103、マルチキャスト送信部104、ユニキャスト送信部105、リスト格納部106、分割資源DB107、資源DB108を有し、クライアント計算機110、120、130からの要求数に応じて、配信方法をユニキャストからマルチキャスト、マルチキャストからユニキャストへ動的に切り換えながら、分割された資源を配信する。
【0011】
尚、資源とは、計算機へ配布する対象となるものを指す。たとえば、実行形式のプログラムでもよいし、データ、文書ファイル、音声ファイル、画像ファイル、動画像ファイル等でもよいし、その他のものでもよい。
【0012】
要求受付部101ではクライアント計算機110、120、130からの要求を受付け、クライアント情報を配信先管理リスト102−1に追加し、分割資源を受信するためのマルチキャストアドレスと分割資源構成リスト107−1をクライアント計算機110、120、130に通知し、配信制御部102の起動と資源分割部103の起動を制御する。配信制御部102では、配信先管理リスト102−1、送信先リスト102−2、送信選択部102−3を有し、配信先管理リスト102−1に各クライアント計算機110、120、130への分割資源の送信状態を格納し、送信先リスト102−2に分割資源の送信先を格納し、送信選択部102−3でクライアント計算機110、120、130からの要求数に応じて分割資源の配信方法を決定し、資源の配信を制御する。
【0013】
資源分割部103では、資源DB108上の資源を分割し、分割資源構成リスト107−1を作成し、分割資源構成リスト107−1と分割資源107−2を分割資源DB107に格納する。マルチキャスト送信部104では、送信先リスト102−2からマルチキャストアドレスを取り出し、取り出したマルチキャストアドレスあてに分割資源をマルチキャスト送信する。
【0014】
ユニキャスト送信部105では、送信先リスト102−2から分割資源を受信していないクライアント計算機110、120、130のあて先を取り出し、取り出したあて先に分割資源をユニキャスト送信する。リスト格納部106では、配信資源リスト106−1、マルチキャストアドレスリスト106−2を有し、配信資源リスト106−1に資源の保管先と分割状態と閾値を、マルチキャストアドレスリスト106−2にマルチキャストアドレスの予約状況と使用状況を格納する。
【0015】
分割資源DB107では、分割された資源の分割資源IDとチェックサムの情報格納する分割資源構成リスト107−1と分割資源107−2を有し、分割された資源とその情報を保存する。資源DB108では分割されていない資源を保存する。クライアント計算機110、120、130では、要求送信部111、マルチキャスト受信部112、ユニキャスト受信部113、資源復元部114を有し、サーバ計算機100への資源配信要求を契機として、マルチキャストグループに参加し、全ての分割資源の受信完了を契機として、マルチキャストグループから離脱する。
【0016】
要求送信部111では、資源送信要求をサーバ計算機100に送信し、サーバ計算機100から分割資源構成リスト107−1と分割資源受信用のマルチキャストアドレスを受信し、直ちにマルチキャストグループに参加し、全ての分割資源を受信完了後マルチキャストグループから離脱する。また、データ欠落やネットワーク障害等で一部の分割資源を受信できなかった場合も分割資源資源構成リスト107−1をもとに再送要求を行うこともできる。
【0017】
マルチキャスト受信部112では、分割資源をマルチキャストで受信する。ユニキャスト受信部113では、分割資源をユニキャスト受信する。資源復元部114では、分割資源構成リスト107−1に基づいて分割資源を復元する。クライアント計算機120は、サーバ計算機100が分割資源の配信を開始した後に、資源配信要求を送信したクライアント計算機である。クライアント計算機130は、サーバ計算機100からの分割資源の配信方法が切り換わる資源配信要求を送信したクライアント計算機である。
【0018】
資源サーバ計算機140では、資源DB141と分割資源DB142を有し、分割資源と資源をネットワーク150を介して保持する。
【0019】
図2は配信資源リスト106−1の内容を表したものである。配信資源リスト106−1には資源ID情報201、資源保管先情報202、分割状態情報203、閾値情報204が登録される。資源ID情報201は各資源のIDを示すものである。資源保管先情報202は各資源の保管先を示すものであり、その資源が分割資源である場合は分割資源構成リスト107−1へのパスを、分割資源でない場合は資源へのパスを示す。
【0020】
なお、資源へのパスはファイルでもディレクトリでもフォルダでもよい。分割状態情報203は資源の分割状態を示すものであり、YESならば資源が分割済みであることを示し、NOならば資源が分割されていないことを示す。閾値情報204は分割資源の送信方法を決定する閾値を示す。
【0021】
図3はマルチキャストアドレスリスト106−2の内容を表したものである。マルチキャストアドレスリスト106−2にはアドレス割当情報301、マルチキャストアドレス情報302が登録される。アドレス割当情報301は各資源へのマルチキャストアドレスの割当情報を示すものであり、値が資源IDである場合はマルチキャストアドレスがその資源IDに対応する資源に予約されていることを示し、値が使用可である場合はマルチキャストアドレスが任意の資源で使用可能であることを示し、値が使用中である場合はマルチキャストアドレスが資源配信で現在使用中であることを示す。マルチキャストアドレス情報302はマルチキャストアドレスを示す。
【0022】
なお、マルチキャストアドレスリスト106−2に登録されていないマルチキャストアドレスではマルチキャスト配信はしないものとする。
【0023】
図4は配信先管理リスト102−1の内容を表したものである。配信先管理リスト102−1には送信先情報401、分割資源送信情報402、分割資源ID情報403、チェックサム情報404、マルチキャスト情報405、クライアント情報406が登録される。送信先情報401はマルチキャスト情報405と対応する部分で分割資源のマルチキャストでの送信先であるマルチキャストアドレスを示し、クライアント情報406と対応する部分で分割資源のユニキャストでの送信先である各クライアント計算機110、120、130のIPアドレスやホスト名を示す。
【0024】
分割資源送信情報402は分割資源ID情報403と対応する部分で分割資源のIDを示し、チェックサム情報404と対応する部分で分割資源のチェックサムを示し、マルチキャスト情報405と対応する部分で送信先情報401に格納されたIPアドレスがM(マルチキャストアドレス)であることを示し、クライアント情報406と対応する部分で各クライアント計算機110、120、130への送信状態(済あるいは未)を示す。
【0025】
送信状態が済なら分割資源がクライアント計算機110、120、130に送信済みであることを、未なら分割資源がクライアント計算機110、120、130に未送信であること示す。なお、分割資源情報402は分割された順序で分割された数だけ配信先管理リスト102−1に存在するものとし、クライアント情報406は各クライアント計算機110、120、130から配信要求を受信した際に配信先管理リスト102−1に追加され、クライアント計算機110、120、130の全ての分割資源の送信状態が送信済みである場合に配信先管理リスト102−1から削除されるものとする。配信先管理リスト102−1は資源配信を開始した際に作成され、資源配信完了後に削除される。
【0026】
図5は送信先リスト102−2の内容を表したものである。送信先リスト102−2には送信先情報501、分割資源送信情報502、分割資源ID情報503、チェックサム情報504、マルチキャスト情報505、クライアント情報506が登録される。送信先情報501はマルチキャスト情報505と対応する部分で分割資源のマルチキャストでの送信先であるマルチキャストアドレスを示し、クライアント情報506と対応する部分で分割資源のユニキャストでの送信先である各クライアント計算機110、120、130のIPアドレスやホスト名を示す。
【0027】
分割資源送信情報502は分割資源ID情報503と対応する部分で分割資源のIDを示し、チェックサム情報504と対応する部分で分割資源のチェックサムを示し、マルチキャスト情報505と対応する部分で送信先情報501に格納されたIPアドレスがM(マルチキャストアドレス)であることを示し、クライアント情報506と対応する部分で各クライアント計算機110、120、130への送信状態(済あるいは未)を示す。送信先リスト102−2は配信制御部102において、分割資源を送信する前に作成され、分割資源を送信した後に削除される。
【0028】
図6は分割資源構成リスト107−1の内容を表したものである。分割資源構成リスト107−1には分割資源ID情報601、分割資源チェックサム情報602が登録される。分割資源ID情報601で分割資源のIDを示し、チェックサム情報602で分割資源のチェックサムを示す。分割資源ID情報601は資源が分割された順序で分割された個数だけリストされているものとする。分割資源構成リスト107−1は資源を分割する際に作成されるものとする。
【0029】
図7は要求受付部101の処理を示したものである。
要求受付部101はクライアント計算機110、120、130からの資源配信要求を受信した場合(701)、クライアント計算機110、120、130が要求する資源の資源IDに一致する配信制御部102が起動中かを調べ(702)、起動中でない場合は配信資源リスト106−1を参照し、資源ID情報201でクライアント計算機110,120,130が要求する資源の資源IDと一致するものを選択し、分割状態情報203で資源が分割されているかを調べる(703)。資源が分割されていない場合、管理者が設定した指針に基づいて、資源をサイズごとあるいはバイト単位ごとあるいはファイルごとあるいはフォルダごとあるいはディレクトリごとに分割し(704)、分割資源ごとにIDを割当て、分割資源ごとにチェックサムを算出し、分割資源構成リスト107−1を作成する(705)。
【0030】
次に、分割資源構成リスト107−1と分割資源107−2を分割資源DB107に格納し、配信資源リスト106−1の資源ID情報201でクライアント計算機110,120,130が要求する資源の資源IDと一致するものを選択し、資源保管先情報202を707処理で作成した分割資源構成リスト107−1のパスで上書き更新し、分割状態情報203をYESで上書き更新する(706)。資源分割の完了後、配信制御部をクライアント計算機110,120,130が要求する資源の資源IDで起動する(707)。次に、分割資源受信用のマルチキャストアドレスと分割資源構成リスト107−1をクライアント計算機110、120、130に送信し(708)、これによって、マルチキャストアドレスを受信したクライアント計算機110、120、130は直ちにマルチキャストグループに参加する。
【0031】
次に、配信先管理リスト102−1に配信要求を送信してきたクライアント計算機110、120、130のクライアント情報405を送信状態を未として追加する(709)。配信制御部102が起動中の場合、708、709処理を行う。
【0032】
図8は配信制御部102の処理を示したものである。
配信制御部102は、要求受付部101によってクライアント計算機110が要求する資源の資源IDで起動され、起動時にマルチキャストアドレスリスト106−2を参照し、分割資源送信用にマルチキャストアドレスを割り当て(801)、そのマルチキャストアドレスと分割資源構成リスト107−1をもとに配信先管理リスト102−1を作成する(802)。
【0033】
801処理において、マルチキャストアドレスを割り当てる際、マルチキャストアドレスリスト106−2のアドレス割当情報301でクライアント計算機110が要求する資源の資源IDと一致するものがある場合は、それに対応するマルチキャストアドレス情報302を資源送信用のマルチキャストアドレスとして使用し、一致するものがない場合は、アドレス割当情報301が使用可であるものをランダムに選択し、アドレス割当情報301の使用可を使用中に上書きしてから、それに対応するマルチキャストアドレス情報302を資源送信用のマルチキャストアドレスとして使用する。
【0034】
次に、要求受付部101で最初に配信要求をしたクライアント計算機110のクライアント情報405が配信先管理リスト102−1に追加されるまで待つ(803)。次に、配信先管理リスト102−1を参照し、リストの最初の分割資源IDを取得する(804)。前処理(804、811、812)で取得した分割資源IDに一致する分割資源を分割資源DB107から取得する(805)。
【0035】
次に、配信先管理リスト102−1から送信先情報401と分割資源ID情報403が前処理(804、811、812)で取得した分割資源IDに一致する分割資源送信情報402取得し、送信先リスト102−2を作成する(806)。さらに続けて、配信先管理リスト102−1において、前処理(804、811、812)で取得した分割資源IDと一致する分割資源IDを含む分割資源送信情報402の送信状態を未から済に更新し、さらに、配信先管理リスト102−1から、すべての分割資源の送信状態が済となったクライアント情報406を削除する(806)。
【0036】
次に送信選択部102−3に送信する分割資源と送信先リスト102−2を送り、送信先リスト102−2をもとにマルチキャストあるいはユニキャストで分割資源を送信する(807)。分割資源送信後、送信先リストを削除する(808)。次に、配信先管理リスト102−1にクライアント情報406があるか調べ(809)、クライアント情報406がない場合、配信先管理リスト102−1を削除し(813)、マルチキャストアドレスリスト106−2を参照し、分割資源送信用のマルチキャストアドレスを開放し(814)、配信制御部を停止し処理を終了する。
【0037】
814処理において、マルチキャストアドレスを開放する際、マルチキャストアドレスリスト106−2のマルチキャストアドレス情報302で分割資源送信用のマルチキャストアドレスと一致するものを選択し、それに対応するアドレス割当情報301が使用中の場合はアドレス割当情報301を使用可で上書する。配信先管理リスト102−1にクライアント情報406がある場合は、さらに、送信した分割資源が配信先管理リスト102−1の最後の分割資源かを調べ(810)、送信した分割資源が最後の分割資源である場合、配信先管理リスト102−1から最初の分割資源IDを取得する(811)。
【0038】
送信した分割資源が最後の分割資源でない場合、配信先管理リスト102−1を参照し、送信した分割資源の次の分割資源IDを取得する(812)。811、812処理のあと、805処理へ戻り、配信先管理リスト102−1からクライアント情報406がなくなるまで、805〜812の処理を繰り返す。806処理のように、分割資源送信情報402を一時的に送信先リスト102−2に保存し、分割資源の送信前に配信先管理リスト102−1を更新することで、分割資源送信中に要求受付部101が追加したクライアント情報406の送信状態を誤って上書きすることを防止する効果があり、かつ、分割資源送信中にクライアント計算機110、120、130からの配信要求の受付けを可能とする。
【0039】
810〜812の処理により、資源配信の途中から参加したクライアント計算機120、130が資源配信要求をする前に送信された分割資源の受信が可能となる。
【0040】
図9は送信選択部102−3の処理を示したものである。送信選択部102−3では配信制御部102内で、送信する分割資源と送信先リスト102−2を受けとり、送信先リスト102−2の分割資源送信情報502の未をカウントし、カウント結果をクライアント計算機110、120、130からの要求数として取得する(901)。次に、配信資源リスト106−1の閾値情報204から閾値を取得する(902)。
【0041】
次に、クライアント計算機110、120、130からの要求数と閾値を比較する(903)。クライアント計算機110、120、130からの要求数が閾値より大きい場合、マルチキャスト送信部104に送信する分割資源と送信先リスト102−2を送る(904)。マルチキャスト送信部104では、送信先リスト102−2の送信先情報501でマルチキャスト情報505と対応する部分を参照し、マルチキャストアドレスを取得し、そのあて先に対して分割資源をマルチキャストで送信する。クライアント計算機110、120、130からの要求数が閾値以下の場合、ユニキャスト送信部105に送信する分割資源と送信先リスト102−2を送る(905)。
【0042】
ユニキャスト送信部105では、送信先リスト102−2の送信先情報501から送信状態が未である送信先をすべて取得し、取得した送信先すべてにユニキャストで分割資源を送信する。
【0043】
図10はサーバ計算機100が資源配信を開始した後に、クライアント計算機120、130が資源の受信に参加した場合の処理を示すシーケンス図である。この図では、資源を分割資源A、B、C〜Nに分割して送信するものとする。まず、クライアント計算機110が資源配信をサーバ計算機100に要求し(1001)、要求を受けたサーバ計算機100はクライアント計算機110にマルチキャストアドレスを通知し(1002)、クライアント計算機110は受信したマルチキャストアドレスで直ちにマルチキャストグループに参加する。
【0044】
ここで、クライアント計算機110はサーバ計算機100に最初に資源を要求したクライアント計算機であるので、分割資源Aからの受信となる。次に、サーバ計算機100はクライアント計算機110にユニキャストで分割資源Aを送信する(1003)。ここでは、クライアント計算機110、120、130からの要求数が閾値をこえていないものとする。
【0045】
次に、分割資源Aの送信完了後、クライアント計算機120が資源配信をサーバ計算機100に要求し(1004)、要求を受けたサーバ計算機100はクライアント計算機120にマルチキャストアドレスを通知し(1005)、クライアント計算機120は受信したマルチキャストアドレスで直ちにマルチキャストグループに参加する。ここで、クライアント計算機120は分割資源Bからの受信となる。
【0046】
次に、サーバ計算機100はクライアント計算機110、120にユニキャストで分割資源Bを送信する(1006、1007)。分割資源Bの送信完了後、クライアント計算機130がサーバ計算機100に資源配信を要求し(1008)、要求を受けたサーバ計算機100はクライアント計算機130にマルチキャストアドレスを通知し(1009)、クライアント計算機130は受信したマルチキャストアドレスで直ちにマルチキャストグループに参加する。
【0047】
ここで、クライアント計算機110、120、130からの要求数が閾値をこえたとする。要求数が閾値をこえたため配信方法がユニキャストからマルチキャストへ切り換わる(1010)。ここで、クライアント計算機130は分割資源Cからの受信となる。次に、サーバ計算機100はクライアント計算機110、120、130にマルチキャストで分割資源Cを送信する(1011)。1011の処理と同様に、分割資源Nまでマルチキャストで分割資源を送信する(1012)。
【0048】
次に、クライアント計算機110はすべての分割資源を受信完了したので、受信完了通知をサーバ計算機100に送信し、マルチキャストグループから離脱する(1013)。ここで、1013処理の後、クライアント計算機120、130からの要求数が閾値以下になったとする。要求数が閾値以下になったため配信方法がマルチキャストからユニキャストへ切り換わる(1014)。
【0049】
次に、サーバ計算機100はクライアント計算機120、130にユニキャストで分割資源Aを送信する(1015、1016)。ここで、サーバ計算機100でクライアント計算機110、120、130ごとに分割資源の送信状態を管理しているので、クライアント計算機120、130は資源配信要求を出す前に送信された分割資源の受信が可能である。次に、クライアント計算機120はすべての分割資源を受信完了したので、受信完了通知をサーバ計算機100に送信し、マルチキャストグループから離脱する(1017)。
【0050】
次に、サーバ計算機100はクライアント計算機130にユニキャストで分割資源Bを送信する(1018)。次に、クライアント計算機130はすべての分割資源を受信完了したので、受信完了通知をサーバ計算機100に送信し、マルチキャストグループから離脱する(1019)。
【0051】
以上説明したように、本発明では資源を提供するサーバ計算機で資源を分割保持し、クライアント計算機からの分割資源の要求数に応じて、分割資源の配信方法をユニキャストからマルチキャスト、マルチキャストからユニキャストへ配布方法を動的に切り換える。これにより、サーバ計算機への負荷とネットワークのトラヒックを増大させることなく、クライアント計算機は資源配信までの待ち合わせ時間を小さく抑えることができる。また、本発明では、ネットーワークの通信速度が遅く資源を一定間隔で分割して配信する必要がある場合に有効である。
【0052】
また、本発明はネットワークに多数のクライアント計算機が存在する場合のクライアント・サーバシステムにおいて、クライアント計算機で資源配信の契機を決定し、サーバ計算機でクライアント計算機からの要求に応じて資源配信を行う。この資源配信の場合に、資源を分割し、分割した資源それぞれに対して識別子を付与し、他の複数の計算機へ分割した資源を配布した場合に、分割した資源ごとに配布したか否かを示す情報と分割した資源の配布先の計算機の識別子とを対応づけて分割データ送信情報として記憶装置に格納し、分割資源送信情報にもとづいて、分割した資源のうちで配布されていないデータの配布を行う。これにより、後からマルチキャストグループに加入した計算機に対して配布されていない分割資源を識別して、配布されていない部分だけを配布することができる。
【0053】
また、分割された資源ごとに配布されたか否かの情報と配布先の情報を管理できるため、分割された資源に応じた配布管理が可能となる。
【0054】
また、本発明ではサーバ計算機では、配信する資源を分割保持し、クライアント計算機からの分割資源の要求数に応じて、分割資源の配信方法をユニキャストからマルチキャスト、マルチキャストからユニキャストへ動的に切り換えながら、資源を分割して配信する。クライアント計算機では、サーバ計算機への資源配信要求を契機として、サーバ計算機から通知されたマルチキャストグループに参加し、分割された資源をマルチキャストあるいはユニキャストで受信し、すべての分割資源の受信完了を契機として、マルチキャストグループから離脱し、分割された資源を復元する。分割して資源を配信し、クライアント計算機からの配信要求がある閾値以下の場合はユニキャストで分割資源を配信し、閾値をこえた場合はマルチキャストで分割資源を配信する。これにより、サーバ計算機への負荷とネットワークのトラヒックを増大させることなく、クライアント計算機は資源配信要求を出してから資源配信までの待ち合わせ時間を極めて小さく抑えることができる。
【0055】
【発明の効果】
以上説明したように、本発明では資源を提供するサーバ計算機で資源を分割し、クライアント計算機からの分割資源の要求数に応じて、分割資源の配信方法を切り換えることで、ネットワークのトラヒックを軽減できる。
【図面の簡単な説明】
【図1】本発明が適用されるシステムの構成図の例である。
【図2】配信資源リストの例である。
【図3】マルチキャストアドレスリストの例である。
【図4】配信先管理リストの例である。
【図5】送信先リストの例である。
【図6】分割資源構成リストの例である。
【図7】要求受付部の動作を示すフローチャートの例である。
【図8】配信制御部の動作を示すフローチャートの例である。
【図9】送信選択部の動作を示すフローチャートの例である。
【図10】資源配信の開始後にクライアント計算機が配信要求した場合のシーケンスの例である。
【符号の説明】
100 サーバ計算機
110 クライアント計算機
120 クライアント計算機
130 クライアント計算機
140 資源サーバ計算機
150 ネットワーク[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a resource distribution method and system for performing resource distribution in response to a request from a client computer in a server / server system when a large number of client computers exist in a network.
[0002]
[Prior art]
As a conventional technique, for example, when a distribution request from a client computer that occurs within a certain period of time is predicted and the number of requests is predicted to be small, the server computer distributes resources by unicast and is predicted to have a large number of requests In this case, there is a resource distribution method in which resources are distributed by on-demand multicast, and the resource distribution method is switched with the number of distribution requests from client computers as a threshold (see, for example, Patent Document 1).
[0003]
Unicast distribution is a method in which a server computer individually distributes resources in response to a resource distribution request from a client computer.
In multicast distribution, a plurality of client computers participate in the same multicast address in advance to form a multicast group with a plurality of client computers, and the server computer is only once for the multicast addresses forming the multicast group. In this method, resources are distributed to all the client computers participating in the multicast group.
[0004]
On-demand multicast distribution adds on-demand to multicast distribution. When there is a resource distribution request from a client computer, the resource is not distributed immediately but from a client computer that requests the same resource. This is a method of waiting for a distribution request for a certain period of time and distributing resources after the end of the waiting period. By setting a long waiting time, resources can be distributed to a larger number of client computers in a single transmission, thereby improving the efficiency of distribution.
[0005]
[Patent Document 1]
JP 2000-181836 A (page 2-5, FIG. 2)
[0006]
[Problems to be solved by the invention]
However, the prior art has the following problems. In the unicast distribution method, the response to the client computer is good, but since the communication is one-to-one, the load on the server computer and the network traffic increase when there are resource distribution requests from a large number of client computers. .
[0007]
In the multicast distribution method, for the purpose of forming a multicast group, the resource distribution is triggered not by the client computer but by the server computer, and the resource may be distributed regardless of the convenience of the client computer.
[0008]
In the on-demand multicast distribution method, the resource distribution is triggered by the client computer, but there is a waiting time (time for collecting the distribution requests) until the client computer makes a resource distribution request and starts reception.
[0009]
[Means for Solving the Problems]
In the data transmission method using the computer of the present invention, the computer reads data stored in a storage device in advance, divides the read data into a predetermined size, and each of the divided data When an identifier is given to each of the plurality of computers and the divided data is distributed, information indicating whether the divided data is distributed and an identifier of a computer to which the divided data is distributed Are stored in the storage device as divided data transmission information, and data that is not distributed among the divided data is distributed based on the divided data transmission information.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 shows a client / server system to which the present invention is applied.
In FIG. 1, one
[0011]
A resource refers to a target to be distributed to a computer. For example, it may be an executable program, data, document file, audio file, image file, moving image file, or the like.
[0012]
The
[0013]
The resource dividing unit 103 divides resources on the resource DB 108, creates a divided resource configuration list 107-1, and stores the divided resource configuration list 107-1 and the divided resource 107-2 in the divided resource DB 107. The
[0014]
The
[0015]
The divided resource DB 107 has a divided resource configuration list 107-1 and a divided resource 107-2 for storing information of divided resource IDs and checksums of divided resources, and stores the divided resources and information thereof. The resource DB 108 stores resources that are not divided. The
[0016]
The
[0017]
The
[0018]
The
[0019]
FIG. 2 shows the contents of the distribution resource list 106-1.
[0020]
The path to the resource may be a file, a directory, or a folder. The
[0021]
FIG. 3 shows the contents of the multicast address list 106-2.
[0022]
It is assumed that multicast distribution is not performed with multicast addresses that are not registered in the multicast address list 106-2.
[0023]
FIG. 4 shows the contents of the distribution destination management list 102-1. In the distribution destination management list 102-1,
[0024]
The division
[0025]
If the transmission state is completed, it indicates that the divided resource has been transmitted to the
[0026]
FIG. 5 shows the contents of the destination list 102-2. In the transmission destination list 102-2,
[0027]
The division
[0028]
FIG. 6 shows the contents of the divided resource configuration list 107-1. Division
[0029]
FIG. 7 shows the processing of the
When the
[0030]
Next, the divided resource configuration list 107-1 and the divided resource 107-2 are stored in the divided
[0031]
Next, the
[0032]
FIG. 8 shows processing of the distribution control unit 102.
The distribution control unit 102 is activated with the resource ID of the resource requested by the
[0033]
In 801 processing, when assigning a multicast address, if the
[0034]
Next, the process waits until the
[0035]
Next, the
[0036]
Next, the division resource to be transmitted and the transmission destination list 102-2 are sent to the transmission selection unit 102-3, and the division resource is transmitted by multicast or unicast based on the transmission destination list 102-2 (807). After transmitting the divided resources, the transmission destination list is deleted (808). Next, it is checked whether there is
[0037]
In 814 processing, when releasing a multicast address, the
[0038]
If the transmitted divided resource is not the last divided resource, the next divided resource ID of the transmitted divided resource is acquired by referring to the distribution destination management list 102-1 (812). After the 811 and 812 processes, the process returns to the 805 process, and the processes of 805 to 812 are repeated until the
[0039]
By the processing of 810 to 812, it is possible to receive the divided resources transmitted before the
[0040]
FIG. 9 shows the processing of the transmission selection unit 102-3. The transmission selection unit 102-3 receives the division resource to be transmitted and the transmission destination list 102-2 in the distribution control unit 102, counts the division
[0041]
Next, the number of requests from the
[0042]
The
[0043]
FIG. 10 is a sequence diagram showing processing when the
[0044]
Here, since the
[0045]
Next, after the transmission of the divided resource A is completed, the
[0046]
Next, the
[0047]
Here, it is assumed that the number of requests from the
[0048]
Next, since the
[0049]
Next, the
[0050]
Next, the
[0051]
As described above, in the present invention, resources are divided and held by a server computer that provides resources, and the distribution method of divided resources is changed from unicast to multicast, or from multicast to unicast according to the number of requests for divided resources from client computers. The distribution method is dynamically switched. As a result, the client computer can reduce the waiting time until resource distribution without increasing the load on the server computer and the network traffic. Also, the present invention is effective when the network communication speed is slow and it is necessary to divide and distribute resources at regular intervals.
[0052]
Further, according to the present invention, in a client / server system in the case where there are a large number of client computers in the network, the client computer determines a resource distribution opportunity, and the server computer performs resource distribution in response to a request from the client computer. In the case of this resource distribution, if the resource is divided, an identifier is assigned to each divided resource, and the divided resource is distributed to other computers, it is determined whether or not each divided resource is distributed. Distribution of data that is not distributed among the divided resources based on the divided resource transmission information I do. As a result, it is possible to identify the divided resources that have not been distributed to computers that have joined the multicast group later and distribute only the undistributed portions.
[0053]
In addition, since it is possible to manage information indicating whether or not each divided resource has been distributed and distribution destination information, distribution management according to the divided resources is possible.
[0054]
In the present invention, the server computer divides and holds the resources to be distributed, and dynamically switches the distribution method of the divided resources from unicast to multicast and from multicast to unicast according to the number of requests for the divided resources from the client computer. However, resources are divided and distributed. The client computer is triggered by the resource distribution request to the server computer, participates in the multicast group notified from the server computer, receives the divided resources by multicast or unicast, and triggers the completion of reception of all the divided resources Leave the multicast group and restore the divided resources. The resource is divided and distributed. When the distribution request from the client computer is equal to or less than the threshold value, the divided resource is distributed by unicast, and when the threshold value is exceeded, the divided resource is distributed by multicast. As a result, without increasing the load on the server computer and the traffic on the network, the client computer can keep the waiting time from the resource delivery request to the resource delivery extremely small.
[0055]
【The invention's effect】
As described above, according to the present invention, network traffic can be reduced by dividing resources by a server computer that provides resources and switching the distribution method of divided resources according to the number of requests for divided resources from client computers. .
[Brief description of the drawings]
FIG. 1 is an example of a configuration diagram of a system to which the present invention is applied.
FIG. 2 is an example of a distribution resource list.
FIG. 3 is an example of a multicast address list.
FIG. 4 is an example of a distribution destination management list.
FIG. 5 is an example of a transmission destination list.
FIG. 6 is an example of a divided resource configuration list.
FIG. 7 is an example of a flowchart illustrating an operation of a request reception unit.
FIG. 8 is an example of a flowchart illustrating an operation of a distribution control unit.
FIG. 9 is an example of a flowchart illustrating an operation of a transmission selection unit.
FIG. 10 is an example of a sequence when a client computer makes a distribution request after starting resource distribution.
[Explanation of symbols]
100 server computer
110 Client computer
120 client computers
130 Client computer
140 Resource server computer
150 network
Claims (4)
データ配信装置が、
配信する前記データごとに配信先計算機の閾値情報を定めた配信データ情報と、
前記データの配信先計算機を管理する配信先管理情報と、
前記データを所定の大きさに分割した分割データごとに、配信したか否かを示す情報と前記配信先計算機とを対応付けた分割データ配信情報と、
を有し、
前記データ配信装置が、
配信する前記分割データを取得し、
前記配信先管理情報と前記分割データ配信情報とから、取得した前記分割データが未だ配信されていない前記配信先計算機の数を算出し、
取得した前記分割データの元となる前記データに対応する前記閾値情報を取得し、
前記配信先計算機の数と前記閾値情報とに基づいて決定した配信方法で前記分割データを配信する
ことを特徴とするデータ配信方法。A distribution method using a computer,
Data distribution device
Distribution data information defining threshold information of a distribution destination computer for each of the data to be distributed;
Distribution destination management information for managing the data distribution destination computer;
For each divided data obtained by dividing the data into a predetermined size, divided data distribution information in which information indicating whether the data is distributed and the distribution destination computer are associated with each other;
Have
The data distribution device is
Obtain the divided data to be distributed,
From the delivery destination management information and the divided data delivery information, calculate the number of delivery destination computers to which the acquired divided data has not yet been delivered,
Obtaining the threshold information corresponding to the data that is the source of the obtained divided data;
A data distribution method, wherein the divided data is distributed by a distribution method determined based on the number of distribution destination computers and the threshold information.
前記配信方法はマルチキャスト配信とユニキャスト配信であることを特徴とするデータ配信方法。The data distribution method according to claim 1,
The data distribution method according to claim 1, wherein the distribution method is multicast distribution or unicast distribution.
配信する前記データごとに配信先計算機の閾値情報を定めた配信データ情報と、前記データの配信先計算機を管理する配信先管理情報と、データ分割部により分割された分割データごとに配信したか否かを示す情報と前記配信先計算機とを対応付けた分割データ配信情報と、を格納する格納部と、
前記データを所定の大きさの前記分割データに分割する前記データ分割部と、
配信する前記分割データを取得し、前記配信先管理情報と前記分割データ配信情報とから、取得した前記分割データが未だ配信されていない前記配信先計算機の数を算出し、取得した前記分割データの元となる前記データに対応する前記閾値情報を取得し、前記配信先計算機の数と前記閾値情報とに基づいて、取得した前記分割データの配信方法を決定する配信選択部と、
決定した前記配信方法で前記分割データを配信するデータ配信部と、
を有することを特徴とするデータ配信装置。A data distribution device using a computer,
Distribution data information that defines threshold information of a distribution destination computer for each of the data to be distributed, distribution destination management information that manages the distribution destination computer of the data, and whether or not distribution has been performed for each divided data divided by the data dividing unit A storage unit that stores divided data distribution information in which the information indicating whether or not the distribution destination computer is associated ;
The data dividing unit for dividing the data into the divided data having a predetermined size;
The divided data to be distributed is acquired, the number of the distribution destination computers to which the acquired divided data is not yet distributed is calculated from the distribution destination management information and the divided data distribution information, and the acquired divided data A distribution selection unit that acquires the threshold information corresponding to the original data, and determines a distribution method of the acquired divided data based on the number of the distribution destination computers and the threshold information;
A data distribution unit for distributing the divided data by the determined distribution method ;
A data distribution apparatus comprising:
前記配信方法はマルチキャスト配信とユニキャスト配信であることを特徴とするデータ配信装置。The data distribution device according to claim 3,
A data distribution apparatus characterized in that the distribution methods are multicast distribution and unicast distribution.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002340264A JP3960211B2 (en) | 2002-11-25 | 2002-11-25 | Data distribution method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002340264A JP3960211B2 (en) | 2002-11-25 | 2002-11-25 | Data distribution method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004178031A JP2004178031A (en) | 2004-06-24 |
JP3960211B2 true JP3960211B2 (en) | 2007-08-15 |
Family
ID=32702935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002340264A Expired - Fee Related JP3960211B2 (en) | 2002-11-25 | 2002-11-25 | Data distribution method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3960211B2 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4507255B2 (en) * | 2005-04-21 | 2010-07-21 | Kddi株式会社 | Content transmission device |
JP4508137B2 (en) * | 2006-03-10 | 2010-07-21 | セイコーエプソン株式会社 | Data backup processing apparatus and method |
US7698520B2 (en) | 2006-03-10 | 2010-04-13 | Seiko Epson Corporation | Method for processing backup, devices for backup processing, and storage mediums for storing a program for operating a backup processing device |
JP5245866B2 (en) * | 2008-01-29 | 2013-07-24 | 富士通株式会社 | Management apparatus and management method |
JPWO2010050022A1 (en) * | 2008-10-29 | 2012-03-29 | 富士通株式会社 | Distribution system, proxy server, and distribution method |
JP5566193B2 (en) * | 2010-06-08 | 2014-08-06 | 日本電信電話株式会社 | Broadcast system for switching distribution method and control method thereof |
JP5250065B2 (en) * | 2011-03-04 | 2013-07-31 | 株式会社コナミデジタルエンタテインメント | Distribution system, terminal device, distribution method, terminal method, and program |
EP3488558B1 (en) | 2017-08-15 | 2019-07-24 | Google LLC | Optimized utilization of streaming bandwidth using multicast |
JP6969520B2 (en) * | 2018-08-02 | 2021-11-24 | 日本電信電話株式会社 | Communication device and switching method |
-
2002
- 2002-11-25 JP JP2002340264A patent/JP3960211B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004178031A (en) | 2004-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7346682B2 (en) | System for creating and distributing prioritized list of computer nodes selected as participants in a distribution job | |
CN109688235B (en) | Virtual network method for processing business, device and system, controller, storage medium | |
KR101227121B1 (en) | Delayed downloading video service using peer-to-peer(p2p) content distribution network | |
US7451221B2 (en) | Method and apparatus for election of group leaders in a distributed network | |
US8346843B2 (en) | System and method for scalable data distribution | |
JP4685299B2 (en) | Multicast method and apparatus | |
JP2010504668A (en) | Resource delivery method, system, and edge server | |
US20100138540A1 (en) | Method of managing organization of a computer system, computer system, and program for managing organization | |
US9330154B2 (en) | Multicast database replication | |
US8180730B2 (en) | Arbitration token for managing data integrity and data accuracy of information services that utilize distributed data replicas | |
WO2018076765A1 (en) | Content distribution method and device for cloud computing system, computing node and system | |
JP2006338666A (en) | Distributed kernel operating system | |
JP2006340354A (en) | Distributed kernel operating system | |
JP3960211B2 (en) | Data distribution method and apparatus | |
CN111200622B (en) | Resource transmission method and device and storage medium | |
CN110535811B (en) | Remote memory management method and system, server, client and storage medium | |
US7203768B2 (en) | Managing network traffic using hashing functions | |
Cristian et al. | High-performance asynchronous atomic broadcast | |
JP2004199578A (en) | Content delivery method, device, program, and storage medium | |
US20090157797A1 (en) | Data distribution system | |
EP1744520B1 (en) | Method and apparatus for selecting a group leader | |
CN112217735A (en) | Information synchronization method and load balancing system | |
JP2006100906A (en) | Method for managing operation of network system and storage device | |
JP2002247091A (en) | Contents distribution server, method and system | |
EP2458780A1 (en) | Cyclic data delivery using a multicast scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040910 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061031 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070330 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070424 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070507 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |