(57)【要約】【課題】クライアント計算機から資源配信の契機を決定することができるシステムにおいて、複数のクライアント計算機から資源配信要求が集中する場合でも、クライアント計算機への応答性を維持し、サーバ計算機の負荷とトラフィックを低減できる資源配信方式及びシステムを提供する。【解決手段】サーバ計算機では、配信する資源を分割保持し、クライアント計算機からの分割資源の要求数に応じて、分割資源の配信方法をユニキャストからマルチキャスト、マルチキャストからユニキャストへ動的に切り換えながら、資源を分割して配信する。クライアント計算機では、サーバ計算機への資源配信要求を契機として、サーバ計算機から通知されたマルチキャストグループに参加し、分割された資源をマルチキャストあるいはユニキャストで受信し、すべての分割資源の受信完了を契機として、マルチキャストグループから離脱し、分割された資源を復元する。【選択図】  図１
2004178031.tif 000002
【特許請求の範囲】
【請求項１】
計算機を用いたデータ送信方法であって、
前記計算機は、予め記憶装置に格納されたデータを読み出し、
読み出した前記データを予め定められた大きさに分割し、
分割した前記データそれぞれに対して識別子を付与し、
他の複数の計算機へ分割した前記データを配布した場合に、分割した前記データごとに配布したか否かを示す情報と分割した前記データの配布先の計算機の識別子とを対応づけて分割データ送信情報として記憶装置に格納し、
前記分割データ送信情報にもとづいて、分割した前記データのうちで配布されていないデータの配布を行うことを特徴とするデータ送信方法。
【請求項２】
サーバ計算機とクライアント計算機を用いた資源配信システムであって、
前記サーバ計算機は、複数の伝送手段と資源を分割し保持する手段と前記資源の配信方法を切り換える手段とを含むことを特徴とする資源配信システム。
【請求項３】
前記サーバ計算機は、前記クライアント計算機からの資源配信の要求数と前記資源ごとの閾値にもとづいて、前記資源の配信方法を切り換えることを特徴とする請求項２に記載の資源配信システム。
【請求項４】
前記サーバ計算機は、分割した資源ごとに前記分割した資源の配信状況と前記分割した資源の配信先の情報とを管理する手段を含むことを特徴とする請求項２に記載の資源配信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワークに多数のクライアント計算機が存在する場合のクライアント・サーバシステムにおいて、サーバ計算機でクライアント計算機からの要求に応じて資源配信を行う資源配信方式及びシステムに関する。
【０００２】
【従来の技術】
従来技術として例えば、一定時間内に発生するクライアント計算機からの配信要求を予測し、要求数が少ないと予測された場合、サーバ計算機は資源をユニキャストで配信し、要求数が多いと予測された場合、資源をオンデマンドマルチキャストで配信し、クライアント計算機からの配信要求数を閾値として、資源の配信方法を切り換える資源配信方法がある（例えば、特許文献１参照。）。
【０００３】
ユニキャスト配信は、クライアント計算機の資源配信要求に対して、サーバ計算機が個別に資源を配信する方法である。
マルチキャスト配信は、あらかじめ複数のクライアント計算機が同一のマルチキャストアドレスに参加することにより、複数のクライアント計算機でマルチキャストグループを形成し、サーバ計算機がマルチキャストグループを形成しているマルチキャストアドレスに対して一回だけの資源配信を行うことで、マルチキャストグループに参加しているクライアント計算機すべてに資源を配信する方法である。
【０００４】
オンデマンドマルチキャスト配信は、マルチキャスト配信にオンデマンド性を加えたもので、クライアント計算機からの資源の配信要求があった場合、すぐには資源を配信せず、同じ資源を要求するクライアント計算機からの資源配信要求を一定時間待ち合わせ、待ち合わせ時間終了後、資源を配信する方式である。待ち時間を長く設定することで、一回の送信でより多くのクライアント計算機に資源を配信することができ、それによって配信の効率を上げることができる。
【０００５】
【特許文献１】
特開２０００−１８１８３６号公報（第２−５頁、第２図）
【０００６】
【発明が解決しようとする課題】
しかしながら、従来技術では次のような問題がある。ユニキャスト配信方式では、クライアント計算機への応答は良いが、１対１の通信であるため、多数のクライアント計算機からの資源配信要求があった場合、サーバ計算機への負荷とネットワークのトラヒックが増大する。
【０００７】
マルチキャスト配信方式では、マルチキャストグループを形成する都合上、資源配信の契機はクライアント計算機ではなくサーバ計算機が決定し、クライアント計算機の都合に関係なく資源を配信する場合がある。
【０００８】
オンデマンドマルチキャスト配信方式では、資源配信の契機はクライアント計算機にあるが、クライアント計算機が資源の配信要求をして受信を開始するまでの待ち時間（配信要求を取りまとめる時間）が発生する。
【０００９】
【課題を解決するための手段】
本発明の計算機を用いたデータ送信方法であって、前記計算機は、予め記憶装置に格納されたデータを読み出し、読み出した前記データを予め定められた大きさに分割し、分割した前記データそれぞれに対して識別子を付与し、他の複数の計算機へ分割した前記データを配布した場合に、分割した前記データごとに配布したか否かを示す情報と分割した前記データの配布先の計算機の識別子とを対応づけて分割データ送信情報として記憶装置に格納し、前記分割データ送信情報にもとづいて、分割した前記データのうちで配布されていないデータの配布を行うことを特徴とする。
【００１０】
【発明の実施の形態】
以下、本発明の一実施形態について図面を用いて説明する。
図１は本発明が適用されるクライアント／サーバシステムである。
図１において、１台のサーバ計算機１００と複数台のクライアント計算機１１０、１２０、１３０、資源サーバ計算機１４０がネットワーク１５０に接続されている。サーバ計算機１００は、要求受付部１０１、配信制御部１０２、資源分割部１０３、マルチキャスト送信部１０４、ユニキャスト送信部１０５、リスト格納部１０６、分割資源ＤＢ１０７、資源ＤＢ１０８を有し、クライアント計算機１１０、１２０、１３０からの要求数に応じて、配信方法をユニキャストからマルチキャスト、マルチキャストからユニキャストへ動的に切り換えながら、分割された資源を配信する。
【００１１】
尚、資源とは、計算機へ配布する対象となるものを指す。たとえば、実行形式のプログラムでもよいし、データ、文書ファイル、音声ファイル、画像ファイル、動画像ファイル等でもよいし、その他のものでもよい。
【００１２】
要求受付部１０１ではクライアント計算機１１０、１２０、１３０からの要求を受付け、クライアント情報を配信先管理リスト１０２−１に追加し、分割資源を受信するためのマルチキャストアドレスと分割資源構成リスト１０７−１をクライアント計算機１１０、１２０、１３０に通知し、配信制御部１０２の起動と資源分割部１０３の起動を制御する。配信制御部１０２では、配信先管理リスト１０２−１、送信先リスト１０２−２、送信選択部１０２−３を有し、配信先管理リスト１０２−１に各クライアント計算機１１０、１２０、１３０への分割資源の送信状態を格納し、送信先リスト１０２−２に分割資源の送信先を格納し、送信選択部１０２−３でクライアント計算機１１０、１２０、１３０からの要求数に応じて分割資源の配信方法を決定し、資源の配信を制御する。
【００１３】
資源分割部１０３では、資源ＤＢ１０８上の資源を分割し、分割資源構成リスト１０７−１を作成し、分割資源構成リスト１０７−１と分割資源１０７−２を分割資源ＤＢ１０７に格納する。マルチキャスト送信部１０４では、送信先リスト１０２−２からマルチキャストアドレスを取り出し、取り出したマルチキャストアドレスあてに分割資源をマルチキャスト送信する。
【００１４】
ユニキャスト送信部１０５では、送信先リスト１０２−２から分割資源を受信していないクライアント計算機１１０、１２０、１３０のあて先を取り出し、取り出したあて先に分割資源をユニキャスト送信する。リスト格納部１０６では、配信資源リスト１０６−１、マルチキャストアドレスリスト１０６−２を有し、配信資源リスト１０６−１に資源の保管先と分割状態と閾値を、マルチキャストアドレスリスト１０６−２にマルチキャストアドレスの予約状況と使用状況を格納する。
【００１５】
分割資源ＤＢ１０７では、分割された資源の分割資源ＩＤとチェックサムの情報格納する分割資源構成リスト１０７−１と分割資源１０７−２を有し、分割された資源とその情報を保存する。資源ＤＢ１０８では分割されていない資源を保存する。クライアント計算機１１０、１２０、１３０では、要求送信部１１１、マルチキャスト受信部１１２、ユニキャスト受信部１１３、資源復元部１１４を有し、サーバ計算機１００への資源配信要求を契機として、マルチキャストグループに参加し、全ての分割資源の受信完了を契機として、マルチキャストグループから離脱する。
【００１６】
要求送信部１１１では、資源送信要求をサーバ計算機１００に送信し、サーバ計算機１００から分割資源構成リスト１０７−１と分割資源受信用のマルチキャストアドレスを受信し、直ちにマルチキャストグループに参加し、全ての分割資源を受信完了後マルチキャストグループから離脱する。また、データ欠落やネットワーク障害等で一部の分割資源を受信できなかった場合も分割資源資源構成リスト１０７−１をもとに再送要求を行うこともできる。
【００１７】
マルチキャスト受信部１１２では、分割資源をマルチキャストで受信する。ユニキャスト受信部１１３では、分割資源をユニキャスト受信する。資源復元部１１４では、分割資源構成リスト１０７−１に基づいて分割資源を復元する。クライアント計算機１２０は、サーバ計算機１００が分割資源の配信を開始した後に、資源配信要求を送信したクライアント計算機である。クライアント計算機１３０は、サーバ計算機１００からの分割資源の配信方法が切り換わる資源配信要求を送信したクライアント計算機である。
【００１８】
資源サーバ計算機１４０では、資源ＤＢ１４１と分割資源ＤＢ１４２を有し、分割資源と資源をネットワーク１５０を介して保持する。
【００１９】
図２は配信資源リスト１０６−１の内容を表したものである。配信資源リスト１０６−１には資源ＩＤ情報２０１、資源保管先情報２０２、分割状態情報２０３、閾値情報２０４が登録される。資源ＩＤ情報２０１は各資源のＩＤを示すものである。資源保管先情報２０２は各資源の保管先を示すものであり、その資源が分割資源である場合は分割資源構成リスト１０７−１へのパスを、分割資源でない場合は資源へのパスを示す。
【００２０】
なお、資源へのパスはファイルでもディレクトリでもフォルダでもよい。分割状態情報２０３は資源の分割状態を示すものであり、ＹＥＳならば資源が分割済みであることを示し、ＮＯならば資源が分割されていないことを示す。閾値情報２０４は分割資源の送信方法を決定する閾値を示す。
【００２１】
図３はマルチキャストアドレスリスト１０６−２の内容を表したものである。マルチキャストアドレスリスト１０６−２にはアドレス割当情報３０１、マルチキャストアドレス情報３０２が登録される。アドレス割当情報３０１は各資源へのマルチキャストアドレスの割当情報を示すものであり、値が資源ＩＤである場合はマルチキャストアドレスがその資源ＩＤに対応する資源に予約されていることを示し、値が使用可である場合はマルチキャストアドレスが任意の資源で使用可能であることを示し、値が使用中である場合はマルチキャストアドレスが資源配信で現在使用中であることを示す。マルチキャストアドレス情報３０２はマルチキャストアドレスを示す。
【００２２】
なお、マルチキャストアドレスリスト１０６−２に登録されていないマルチキャストアドレスではマルチキャスト配信はしないものとする。
【００２３】
図４は配信先管理リスト１０２−１の内容を表したものである。配信先管理リスト１０２−１には送信先情報４０１、分割資源送信情報４０２、分割資源ＩＤ情報４０３、チェックサム情報４０４、マルチキャスト情報４０５、クライアント情報４０６が登録される。送信先情報４０１はマルチキャスト情報４０５と対応する部分で分割資源のマルチキャストでの送信先であるマルチキャストアドレスを示し、クライアント情報４０６と対応する部分で分割資源のユニキャストでの送信先である各クライアント計算機１１０、１２０、１３０のＩＰアドレスやホスト名を示す。
【００２４】
分割資源送信情報４０２は分割資源ＩＤ情報４０３と対応する部分で分割資源のＩＤを示し、チェックサム情報４０４と対応する部分で分割資源のチェックサムを示し、マルチキャスト情報４０５と対応する部分で送信先情報４０１に格納されたＩＰアドレスがＭ（マルチキャストアドレス）であることを示し、クライアント情報４０６と対応する部分で各クライアント計算機１１０、１２０、１３０への送信状態（済あるいは未）を示す。
【００２５】
送信状態が済なら分割資源がクライアント計算機１１０、１２０、１３０に送信済みであることを、未なら分割資源がクライアント計算機１１０、１２０、１３０に未送信であること示す。なお、分割資源情報４０２は分割された順序で分割された数だけ配信先管理リスト１０２−１に存在するものとし、クライアント情報４０６は各クライアント計算機１１０、１２０、１３０から配信要求を受信した際に配信先管理リスト１０２−１に追加され、クライアント計算機１１０、１２０、１３０の全ての分割資源の送信状態が送信済みである場合に配信先管理リスト１０２−１から削除されるものとする。配信先管理リスト１０２−１は資源配信を開始した際に作成され、資源配信完了後に削除される。
【００２６】
図５は送信先リスト１０２−２の内容を表したものである。送信先リスト１０２−２には送信先情報５０１、分割資源送信情報５０２、分割資源ＩＤ情報５０３、チェックサム情報５０４、マルチキャスト情報５０５、クライアント情報５０６が登録される。送信先情報５０１はマルチキャスト情報５０５と対応する部分で分割資源のマルチキャストでの送信先であるマルチキャストアドレスを示し、クライアント情報５０６と対応する部分で分割資源のユニキャストでの送信先である各クライアント計算機１１０、１２０、１３０のＩＰアドレスやホスト名を示す。
【００２７】
分割資源送信情報５０２は分割資源ＩＤ情報５０３と対応する部分で分割資源のＩＤを示し、チェックサム情報５０４と対応する部分で分割資源のチェックサムを示し、マルチキャスト情報５０５と対応する部分で送信先情報５０１に格納されたＩＰアドレスがＭ（マルチキャストアドレス）であることを示し、クライアント情報５０６と対応する部分で各クライアント計算機１１０、１２０、１３０への送信状態（済あるいは未）を示す。送信先リスト１０２−２は配信制御部１０２において、分割資源を送信する前に作成され、分割資源を送信した後に削除される。
【００２８】
図６は分割資源構成リスト１０７−１の内容を表したものである。分割資源構成リスト１０７−１には分割資源ＩＤ情報６０１、分割資源チェックサム情報６０２が登録される。分割資源ＩＤ情報６０１で分割資源のＩＤを示し、チェックサム情報６０２で分割資源のチェックサムを示す。分割資源ＩＤ情報６０１は資源が分割された順序で分割された個数だけリストされているものとする。分割資源構成リスト１０７−１は資源を分割する際に作成されるものとする。
【００２９】
図７は要求受付部１０１の処理を示したものである。
要求受付部１０１はクライアント計算機１１０、１２０、１３０からの資源配信要求を受信した場合（７０１）、クライアント計算機１１０、１２０、１３０が要求する資源の資源ＩＤに一致する配信制御部１０２が起動中かを調べ（７０２）、起動中でない場合は配信資源リスト１０６−１を参照し、資源ＩＤ情報２０１でクライアント計算機１１０，１２０，１３０が要求する資源の資源ＩＤと一致するものを選択し、分割状態情報２０３で資源が分割されているかを調べる（７０３）。資源が分割されていない場合、管理者が設定した指針に基づいて、資源をサイズごとあるいはバイト単位ごとあるいはファイルごとあるいはフォルダごとあるいはディレクトリごとに分割し（７０４）、分割資源ごとにＩＤを割当て、分割資源ごとにチェックサムを算出し、分割資源構成リスト１０７−１を作成する（７０５）。
【００３０】
次に、分割資源構成リスト１０７−１と分割資源１０７−２を分割資源ＤＢ１０７に格納し、配信資源リスト１０６−１の資源ＩＤ情報２０１でクライアント計算機１１０，１２０，１３０が要求する資源の資源ＩＤと一致するものを選択し、資源保管先情報２０２を７０７処理で作成した分割資源構成リスト１０７−１のパスで上書き更新し、分割状態情報２０３をＹＥＳで上書き更新する（７０６）。資源分割の完了後、配信制御部をクライアント計算機１１０，１２０，１３０が要求する資源の資源ＩＤで起動する（７０７）。次に、分割資源受信用のマルチキャストアドレスと分割資源構成リスト１０７−１をクライアント計算機１１０、１２０、１３０に送信し（７０８）、これによって、マルチキャストアドレスを受信したクライアント計算機１１０、１２０、１３０は直ちにマルチキャストグループに参加する。
【００３１】
次に、配信先管理リスト１０２−１に配信要求を送信してきたクライアント計算機１１０、１２０、１３０のクライアント情報４０５を送信状態を未として追加する（７０９）。配信制御部１０２が起動中の場合、７０８、７０９処理を行う。
【００３２】
図８は配信制御部１０２の処理を示したものである。
配信制御部１０２は、要求受付部１０１によってクライアント計算機１１０が要求する資源の資源ＩＤで起動され、起動時にマルチキャストアドレスリスト１０６−２を参照し、分割資源送信用にマルチキャストアドレスを割り当て（８０１）、そのマルチキャストアドレスと分割資源構成リスト１０７−１をもとに配信先管理リスト１０２−１を作成する（８０２）。
【００３３】
８０１処理において、マルチキャストアドレスを割り当てる際、マルチキャストアドレスリスト１０６−２のアドレス割当情報３０１でクライアント計算機１１０が要求する資源の資源ＩＤと一致するものがある場合は、それに対応するマルチキャストアドレス情報３０２を資源送信用のマルチキャストアドレスとして使用し、一致するものがない場合は、アドレス割当情報３０１が使用可であるものをランダムに選択し、アドレス割当情報３０１の使用可を使用中に上書きしてから、それに対応するマルチキャストアドレス情報３０２を資源送信用のマルチキャストアドレスとして使用する。
【００３４】
次に、要求受付部１０１で最初に配信要求をしたクライアント計算機１１０のクライアント情報４０５が配信先管理リスト１０２−１に追加されるまで待つ（８０３）。次に、配信先管理リスト１０２−１を参照し、リストの最初の分割資源ＩＤを取得する（８０４）。前処理（８０４、８１１、８１２）で取得した分割資源ＩＤに一致する分割資源を分割資源ＤＢ１０７から取得する（８０５）。
【００３５】
次に、配信先管理リスト１０２−１から送信先情報４０１と分割資源ＩＤ情報４０３が前処理（８０４、８１１、８１２）で取得した分割資源ＩＤに一致する分割資源送信情報４０２取得し、送信先リスト１０２−２を作成する（８０６）。さらに続けて、配信先管理リスト１０２−１において、前処理（８０４、８１１、８１２）で取得した分割資源ＩＤと一致する分割資源ＩＤを含む分割資源送信情報４０２の送信状態を未から済に更新し、さらに、配信先管理リスト１０２−１から、すべての分割資源の送信状態が済となったクライアント情報４０６を削除する（８０６）。
【００３６】
次に送信選択部１０２−３に送信する分割資源と送信先リスト１０２−２を送り、送信先リスト１０２−２をもとにマルチキャストあるいはユニキャストで分割資源を送信する（８０７）。分割資源送信後、送信先リストを削除する（８０８）。次に、配信先管理リスト１０２−１にクライアント情報４０６があるか調べ（８０９）、クライアント情報４０６がない場合、配信先管理リスト１０２−１を削除し（８１３）、マルチキャストアドレスリスト１０６−２を参照し、分割資源送信用のマルチキャストアドレスを開放し（８１４）、配信制御部を停止し処理を終了する。
【００３７】
８１４処理において、マルチキャストアドレスを開放する際、マルチキャストアドレスリスト１０６−２のマルチキャストアドレス情報３０２で分割資源送信用のマルチキャストアドレスと一致するものを選択し、それに対応するアドレス割当情報３０１が使用中の場合はアドレス割当情報３０１を使用可で上書する。配信先管理リスト１０２−１にクライアント情報４０６がある場合は、さらに、送信した分割資源が配信先管理リスト１０２−１の最後の分割資源かを調べ（８１０）、送信した分割資源が最後の分割資源である場合、配信先管理リスト１０２−１から最初の分割資源ＩＤを取得する（８１１）。
【００３８】
送信した分割資源が最後の分割資源でない場合、配信先管理リスト１０２−１を参照し、送信した分割資源の次の分割資源ＩＤを取得する（８１２）。８１１、８１２処理のあと、８０５処理へ戻り、配信先管理リスト１０２−１からクライアント情報４０６がなくなるまで、８０５〜８１２の処理を繰り返す。８０６処理のように、分割資源送信情報４０２を一時的に送信先リスト１０２−２に保存し、分割資源の送信前に配信先管理リスト１０２−１を更新することで、分割資源送信中に要求受付部１０１が追加したクライアント情報４０６の送信状態を誤って上書きすることを防止する効果があり、かつ、分割資源送信中にクライアント計算機１１０、１２０、１３０からの配信要求の受付けを可能とする。
【００３９】
８１０〜８１２の処理により、資源配信の途中から参加したクライアント計算機１２０、１３０が資源配信要求をする前に送信された分割資源の受信が可能となる。
【００４０】
図９は送信選択部１０２−３の処理を示したものである。送信選択部１０２−３では配信制御部１０２内で、送信する分割資源と送信先リスト１０２−２を受けとり、送信先リスト１０２−２の分割資源送信情報５０２の未をカウントし、カウント結果をクライアント計算機１１０、１２０、１３０からの要求数として取得する（９０１）。次に、配信資源リスト１０６−１の閾値情報２０４から閾値を取得する（９０２）。
【００４１】
次に、クライアント計算機１１０、１２０、１３０からの要求数と閾値を比較する（９０３）。クライアント計算機１１０、１２０、１３０からの要求数が閾値より大きい場合、マルチキャスト送信部１０４に送信する分割資源と送信先リスト１０２−２を送る（９０４）。マルチキャスト送信部１０４では、送信先リスト１０２−２の送信先情報５０１でマルチキャスト情報５０５と対応する部分を参照し、マルチキャストアドレスを取得し、そのあて先に対して分割資源をマルチキャストで送信する。クライアント計算機１１０、１２０、１３０からの要求数が閾値以下の場合、ユニキャスト送信部１０５に送信する分割資源と送信先リスト１０２−２を送る（９０５）。
【００４２】
ユニキャスト送信部１０５では、送信先リスト１０２−２の送信先情報５０１から送信状態が未である送信先をすべて取得し、取得した送信先すべてにユニキャストで分割資源を送信する。
【００４３】
図１０はサーバ計算機１００が資源配信を開始した後に、クライアント計算機１２０、１３０が資源の受信に参加した場合の処理を示すシーケンス図である。この図では、資源を分割資源Ａ、Ｂ、Ｃ〜Ｎに分割して送信するものとする。まず、クライアント計算機１１０が資源配信をサーバ計算機１００に要求し（１００１）、要求を受けたサーバ計算機１００はクライアント計算機１１０にマルチキャストアドレスを通知し（１００２）、クライアント計算機１１０は受信したマルチキャストアドレスで直ちにマルチキャストグループに参加する。
【００４４】
ここで、クライアント計算機１１０はサーバ計算機１００に最初に資源を要求したクライアント計算機であるので、分割資源Ａからの受信となる。次に、サーバ計算機１００はクライアント計算機１１０にユニキャストで分割資源Ａを送信する（１００３）。ここでは、クライアント計算機１１０、１２０、１３０からの要求数が閾値をこえていないものとする。
【００４５】
次に、分割資源Ａの送信完了後、クライアント計算機１２０が資源配信をサーバ計算機１００に要求し（１００４）、要求を受けたサーバ計算機１００はクライアント計算機１２０にマルチキャストアドレスを通知し（１００５）、クライアント計算機１２０は受信したマルチキャストアドレスで直ちにマルチキャストグループに参加する。ここで、クライアント計算機１２０は分割資源Ｂからの受信となる。
【００４６】
次に、サーバ計算機１００はクライアント計算機１１０、１２０にユニキャストで分割資源Ｂを送信する（１００６、１００７）。分割資源Ｂの送信完了後、クライアント計算機１３０がサーバ計算機１００に資源配信を要求し（１００８）、要求を受けたサーバ計算機１００はクライアント計算機１３０にマルチキャストアドレスを通知し（１００９）、クライアント計算機１３０は受信したマルチキャストアドレスで直ちにマルチキャストグループに参加する。
【００４７】
ここで、クライアント計算機１１０、１２０、１３０からの要求数が閾値をこえたとする。要求数が閾値をこえたため配信方法がユニキャストからマルチキャストへ切り換わる（１０１０）。ここで、クライアント計算機１３０は分割資源Ｃからの受信となる。次に、サーバ計算機１００はクライアント計算機１１０、１２０、１３０にマルチキャストで分割資源Ｃを送信する（１０１１）。１０１１の処理と同様に、分割資源Ｎまでマルチキャストで分割資源を送信する（１０１２）。
【００４８】
次に、クライアント計算機１１０はすべての分割資源を受信完了したので、受信完了通知をサーバ計算機１００に送信し、マルチキャストグループから離脱する（１０１３）。ここで、１０１３処理の後、クライアント計算機１２０、１３０からの要求数が閾値以下になったとする。要求数が閾値以下になったため配信方法がマルチキャストからユニキャストへ切り換わる（１０１４）。
【００４９】
次に、サーバ計算機１００はクライアント計算機１２０、１３０にユニキャストで分割資源Ａを送信する（１０１５、１０１６）。ここで、サーバ計算機１００でクライアント計算機１１０、１２０、１３０ごとに分割資源の送信状態を管理しているので、クライアント計算機１２０、１３０は資源配信要求を出す前に送信された分割資源の受信が可能である。次に、クライアント計算機１２０はすべての分割資源を受信完了したので、受信完了通知をサーバ計算機１００に送信し、マルチキャストグループから離脱する（１０１７）。
【００５０】
次に、サーバ計算機１００はクライアント計算機１３０にユニキャストで分割資源Ｂを送信する（１０１８）。次に、クライアント計算機１３０はすべての分割資源を受信完了したので、受信完了通知をサーバ計算機１００に送信し、マルチキャストグループから離脱する（１０１９）。
【００５１】
以上説明したように、本発明では資源を提供するサーバ計算機で資源を分割保持し、クライアント計算機からの分割資源の要求数に応じて、分割資源の配信方法をユニキャストからマルチキャスト、マルチキャストからユニキャストへ配布方法を動的に切り換える。これにより、サーバ計算機への負荷とネットワークのトラヒックを増大させることなく、クライアント計算機は資源配信までの待ち合わせ時間を小さく抑えることができる。また、本発明では、ネットーワークの通信速度が遅く資源を一定間隔で分割して配信する必要がある場合に有効である。
【００５２】
また、本発明はネットワークに多数のクライアント計算機が存在する場合のクライアント・サーバシステムにおいて、クライアント計算機で資源配信の契機を決定し、サーバ計算機でクライアント計算機からの要求に応じて資源配信を行う。この資源配信の場合に、資源を分割し、分割した資源それぞれに対して識別子を付与し、他の複数の計算機へ分割した資源を配布した場合に、分割した資源ごとに配布したか否かを示す情報と分割した資源の配布先の計算機の識別子とを対応づけて分割データ送信情報として記憶装置に格納し、分割資源送信情報にもとづいて、分割した資源のうちで配布されていないデータの配布を行う。これにより、後からマルチキャストグループに加入した計算機に対して配布されていない分割資源を識別して、配布されていない部分だけを配布することができる。
【００５３】
また、分割された資源ごとに配布されたか否かの情報と配布先の情報を管理できるため、分割された資源に応じた配布管理が可能となる。
【００５４】
また、本発明ではサーバ計算機では、配信する資源を分割保持し、クライアント計算機からの分割資源の要求数に応じて、分割資源の配信方法をユニキャストからマルチキャスト、マルチキャストからユニキャストへ動的に切り換えながら、資源を分割して配信する。クライアント計算機では、サーバ計算機への資源配信要求を契機として、サーバ計算機から通知されたマルチキャストグループに参加し、分割された資源をマルチキャストあるいはユニキャストで受信し、すべての分割資源の受信完了を契機として、マルチキャストグループから離脱し、分割された資源を復元する。分割して資源を配信し、クライアント計算機からの配信要求がある閾値以下の場合はユニキャストで分割資源を配信し、閾値をこえた場合はマルチキャストで分割資源を配信する。これにより、サーバ計算機への負荷とネットワークのトラヒックを増大させることなく、クライアント計算機は資源配信要求を出してから資源配信までの待ち合わせ時間を極めて小さく抑えることができる。
【００５５】
【発明の効果】
以上説明したように、本発明では資源を提供するサーバ計算機で資源を分割し、クライアント計算機からの分割資源の要求数に応じて、分割資源の配信方法を切り換えることで、ネットワークのトラヒックを軽減できる。
【図面の簡単な説明】
【図１】本発明が適用されるシステムの構成図の例である。
【図２】配信資源リストの例である。
【図３】マルチキャストアドレスリストの例である。
【図４】配信先管理リストの例である。
【図５】送信先リストの例である。
【図６】分割資源構成リストの例である。
【図７】要求受付部の動作を示すフローチャートの例である。
【図８】配信制御部の動作を示すフローチャートの例である。
【図９】送信選択部の動作を示すフローチャートの例である。
【図１０】資源配信の開始後にクライアント計算機が配信要求した場合のシーケンスの例である。
【符号の説明】
１００  サーバ計算機
１１０  クライアント計算機
１２０  クライアント計算機
１３０  クライアント計算機
１４０  資源サーバ計算機
１５０  ネットワーク
【図１】
2004178031.tif 000003
【図２】
2004178031.tif 000004
【図３】
2004178031.tif 000005
【図４】
2004178031.tif 000006
【図５】
2004178031.tif 000007
【図６】
2004178031.tif 000008
【図７】
2004178031.tif 000009
【図８】
2004178031.tif 000010
【図９】
2004178031.tif 000011
【図１０】
2004178031.tif 000012