説明

マルチキャスト配信システム

【課題】ネットワークで接続された複数のクライアントに対して、サーバーから高速かつ信頼性の高いマルチキャスト配信する。
【解決手段】サーバーは、データをパケット毎に代表識別情報を付加して送信し、クライアントは、サーバーから受信した前記代表識別情報により、自らが代表クライアントか否かを判断し、サーバーから正常にデータを受信した際に、自らが代表クライアントであると判定した場合にのみ、サーバーに肯定応答を送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークで接続された複数のクライアントに対して、サーバーから高速かつ信頼性の高いマルチキャスト配信を行う技術に関するものである。
【背景技術】
【0002】
従来、ネットワークで接続された複数のクライアントに同じデータを一括送信する場合、マルチキャスト配信にて行えば、配信先クライアント数が増えてもネットワーク負荷を上げることなく高速にデータ配信できるが、例えばTCP/IPプロトコルのようにACK・NAK応答による受信確認をしないため、指定された全クライアントに対し全パケットが完全に配信処理が行われたか否かは不明であり、信頼性が低いという問題があった。
【0003】
元来、インターネットプロトコルを用いたIPマルチキャストでは、ベストエフォート型のサービスが想定されており、データ転送時に誤ったパケットの再送は考慮されていなかった(「Host Extension for IP Multicast」IETF RFC1112、1989)。
【0004】
このため、例えば、データを圧縮して配信する場合、MPEGではフレーム間の差分をコード化することにより、変化が少ない場合に情報量を減らしているため、前の画像がデータ欠落により再生できないと、それを参照して作られる次の画像も再生できなくなることから、結局、マルチキャスト配信は行う事ができず、TCP/IPにて送信を行わざるを得なかった。また、ディスクイメージそのものを複数のクライアントにネットワークを介して配信する場合も、同様であり、欠落しては困るような重要なデータについては、結局、TCP/IPにて送信を行わざるを得なかった。
【0005】
マルチキャスト配信を用いながらデータ欠落の有無を確認するには、全てのクライアントからのACK応答による受信確認を行うため、受信側の数が増えると、送信側に戻るACK応答の和が増え、送信側のシステムおよびその接続されるネットワークでACKが集中して溢れるという問題があった。
【0006】
これらを解決するために、品質の悪い通信路においてもマルチキャスト配信の信頼性低下を防止でき、かつ、クライアント数が増えても、ACKに要する時間を短くしてデータ転送率の低下を防止することを目的とするものがある(例えば、特許文献1参照。)。具体的には、クライアント同士が相互に送受信可能なクライアント群でグループを構成し、各グループから事前に1クライアントを代表クライアントとして選出する。サーバーは、マルチキャスト配信で全クライアントに対してデータを送信し、各グループ内の代表のみがサーバーにACKを送信する。グループ内の他クライアントは自グループの代表がサーバーに送信するACKを監視する。代表が送信したACKと自身の状態から受信失敗と判断したら、各クライアントが直接サーバーにNAKを送信する。サーバーはデータ送信後、各グループに対してポーリングを行う。NAKを受信したら、再送要求された番号のデータをマルチキャスト配信で再送する。再送後、そのグループの代表クライアントにポーリングする。ACK受信後、一定時間NAKが返されなければ送信成功と判断して、次のグループにポーリングを行うというものである。
【特許文献1】特開平11−46161号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、上述した特許文献1においては、クライアント自身が受信失敗を検出してサーバーにNAKを送信しなければ、サーバーがそのクライアントに対する送信失敗を検出できないため、通信路の一時的な障害は検出できるが、通信路の障害が復旧しない場合やクライアント自体に問題が発生した場合には、サーバーがそのクライアントに対する送信失敗を検出できないという問題がある。また、同一グループに属するクライアント群はクライアント同士が相互に送受信可能でなければならないという制約がある。また、1グループ毎にポーリングして、且つその都度一定時間(T1)待たなければならないため、送達確認に最低でもグループ数×T1の時間が必要になり,データ転送効率が悪くなるという問題がある。また、クライアントをグループ化する必要があるため、例えば、データ転送の途中で、あるクライアント群あるいはある通信経路に障害が発生して復旧せず、そのクライアント群に対するデータ転送を継続できなくなったときには、グループの再構築をする必要があるという問題がある。
【0008】
従って、本発明の目的は、より多様な構成に適用可能で、配信先クライアントが増えてもネットワーク負荷を上げることなく、確実にデータ送信を行うことができ、かつパケットロスした場合には、その部分のデータ再送信を行うことができる信頼性の高いマルチキャスト配信システムを提供することにある。
【課題を解決するための手段】
【0009】
本発明は上記課題を解決するために、ネットワークを介して、サーバーと複数のクライアントとを接続し、サーバーから複数のクライアントに対してデータを一括送信するマルチキャスト配信システムにおいて、サーバーは、データをパケット毎に代表クライアントが変わる代表クライアント選択値を付加して送信する送信手段を有し、クライアントは、サーバーから受信した代表クライアント選択値により、自らが代表クライアントか否かを判断する代表クライアント判定手段と、サーバーから正常にデータを受信した際に、代表クライアント判定手段により、自らが代表クライアントであると判定した場合にのみ、サーバーに肯定応答を送信する応答送信手段とを有するマルチキャスト配信システムを提供する。
【発明の効果】
【0010】
本発明によると、配信先クライアントが増えてもネットワーク負荷を上げることなく、確実にデータ送信を行うことができ、かつパケットロスが生じた場合には、その部分のデータを再送信を行うことができるため、高信頼性のマルチキャスト配信が実現できる。さらに、どのクライアントに対する送信が成功し、どのクライアントに対する送信が失敗したのかにつき、サーバーが認識できるという効果がある。
【発明を実施するための最良の形態】
【0011】
本発明の実施の形態を図1乃至図19を用いて詳細に説明する。
【0012】
(実施例)
図1は、本発明の実施の形態に係るマルチキャスト配信システムの構成を示す図である。図1に示すように、このマルチキャスト配信システムは、配信対象となるクライアントPC11〜PC20と、これらのクライアントPC11〜PC20とネットワーク2を介して接続されたサーバー3にて構成する。
【0013】
サーバー3は、図2に示すように、代表クライアントとなる周期(以下、代表周期という)及びパケット連続送出数等の送信情報301と、この送信情報301を設定する送信情報設定手段31と、配信データ303を読み出してパケットを作成し、送信済みキュー304に格納するパケット作成手段32と、全対象クライアントとパケットを送受信する送受信手段33と、送信パケットについて代表クライアント選択値(以下、RIDという)を決定する代表クライアント決定手段34と、クライアントからの応答を受信した場合に、データ送信結果を判定する送信結果判定手段35と、対象クライアントの管理情報DB302と、このクライアント管理情報DB302を作成・更新する管理情報DB作成更新手段36とから構成される。なお、配信対象となる配信データ303は、ネットワーク2に接続されていれば、サーバー3外に存在してもよい。
【0014】
クライアント4は、図3に示すように前記サーバー3とパケットを送受信する送受信手段41と、前記サーバー3から予め送信された送信情報に基づき算出した自らの代表クライアント選択値(以下、CRIDという)等の受信情報401と、受信したパケット内のパケット種別もしくはシーケンス番号等から、受信パケットの正当性を判定する受信データ正当性判定手段42と、受信したパケット内のRIDと受信情報401内のCRIDから自らが代表クライアントか否かを判定する代表クライアント判定手段43と、前記サーバー3への応答パケットを作成するパケット作成手段44と受信データ402としてデータを出力するデータ出力手段45から構成される。なお、受信データ402は、クライアント4に接続されていれば、クライアント4外に格納するようにしてもよい。
【0015】
図4(a)は、サーバー3の送信情報301のパラメータ内容を示す図であり、代表周期と連続パケット送出数、再送フラグ、WAK応答フラグ、シーケンス番号にて構成する。代表周期と連続パケット送出数は、マルチキャスト配信を行う前に設定しておく値であり、例えば、代表周期として「5」、連続パケット送出数として「10」等を設定する。再送フラグ、WAK応答フラグ、シーケンス番号は、データ配信処理の際に更新される情報である。再送フラグは、クライアント側でパケットロスが生じ、再送要求を受けた際、もしくはサーバー3側でクライアント4からの応答パケット受信待ちでタイムアウトが発生した際に立てるフラグであり、WAK応答フラグは、クライアント4側で受信データの出力が不可で、待ち要求を受けた際に立てるフラグであり、シーケンス番号は、現在の送信パケットのシーケンス番号であって初期値は1で、配信データ303から1送信パケット分読出すごとにカウントアップしていくものである。なお、本実施例では、代表周期を使用する例にて説明するが、必ずしも代表周期である必要はなく、例えばIPアドレス等の特定の値を送信してもよい。
【0016】
図4(b)は、サーバー3の管理情報DB302の構成を示す図であり、管理情報DB作成更新手段36により、初期化処理にて格納されたクライアント識別子(以下、CIDという)に対応したクライアント毎のデータ送信結果が格納更新される。データ送信結果とは、例えば、初期状態がブランクであり、全代表クライアント4からのACK応答を受信した場合は、全クライアントのデータ送信結果に「OK」が格納され、NAK応答を受信もしくは、一定時間応答待ちをしたが応答がなかった場合は、該当するクライアント4のデータ送信結果に「NG」が格納される。
【0017】
図4(c)は、クライアント4の受信情報401のパラメータ内容を示す図であり、CRIDと、受信待ちシーケンス番号にて構成する。CRIDとは、後述するネゴシエーション処理時に設定されるもので、CIDをサーバー3から送信された代表周期で割った剰余値が設定される。例えば、CIDが「30」、代表周期が「5」である場合には、CRIDとして「0」が設定される。なお、CRIDの設定方法は、サーバー3から代表周期の替わりに例えばIPアドレス等の特定の値が送信される場合は、その値とCIDとの論理和をとる形にしてもよい。受信待ちシーケンス番号は、データ受信出力処理の際に更新される情報であり、初期値は1で、カウントアップしていくものである。
【0018】
図5〜図8は、各処理において、サーバー3とクライアント4間で送受信されるパケットの構成例である。図5(a)は、ネゴシエーション処理時に、サーバー3からクライアント4へ送信されるパケット構成であり、制御パケットコード(0)、代表周期、連続パケット送出数、パケット種別(Ready)にて構成する。図5(b)は、ネゴシエーション処理時に、クライアント4からサーバー3へ応答送信されるパケット構成であり、制御パケットコード(0)、CID、パケット種別(ACK)にて構成する。
【0019】
図6(a)は、データ配信処理時に、サーバー3からクライアント4へ送信されるパケット構成であり、シーケンス番号(1〜)、RID、データにて構成する。RIDとは、0以上代表周期値未満の値であり、その初期値として、例えば「0」を決定する。サーバー3の代表クライアント決定手段34では、連続パケット送出数個のパケット送信後にカウントアップし、カウントアップした値が、代表周期値と同値になった場合は、初期値に戻るという処理を繰り返す。図6(b)は、データ配信処理時に、クライアント4からサーバー3に応答送信されるパケット構成であり、シーケンス番号(1〜)、CID、パケット種別(正常時:ACK、異常時:NAK、再送要求:RESEND、待ち要求:WAK)にて構成する。
【0020】
図7(a)は、データ配信終了処理時に、サーバー3からクライアント4へ、送信されるパケット構成であり、制御パケットコード(0)、パケット種別(END)にて構成する。図7(b)は、データ配信終了処理時に、クライアント4からサーバー3に応答送信されるパケット構成であり、制御パケットコード(0)、CID、パケット種別(ACK)にて構成する。
【0021】
図8(a)は、WAK応答処理時に、サーバー3からクライアント4へ、送信されるパケット構成であり、制御パケットコード(0)、パケット種別(IDLE)にて構成する。
【0022】
図9は、送信済キュー304の構造である。リングバッファ形式で、FIFOキュー構造を持ち、少なくとも連続パケット送出数以上のバッファ数を有する。送信パケットを作成する毎に追加されていき、RESEND応答処理時に、送信済キュー304に存在する全てのパケットを再度クライアントにマルチキャスト配信する。
【0023】
次に、本発明の一実施例であるマルチキャスト配信処理の流れを図10〜図18のフローチャートを参照しながら説明する。
【0024】
配信者は、管理者PC5から、図19に示すようなマルチキャスト配信ツールを起動し、配信対象クライアントの選択・設定及び配信対象データの指定を行う。更に連続パケット送出数を例えば「10」、クライアントの台数から最適な代表周期、例えば、「5」と入力し、配信実行を選択する。
【0025】
配信実行を受付けると、サーバー3及び全クライアント4は、図10に示すネゴシエーション処理を開始する。まず、サーバー3の送信情報設定手段31にて、送信情報301の代表周期に「5」、連続送出数「10」が設定される(S1)。次に、選択した対象クライアントの管理情報DB302を作成・初期化し、リトライ回数をクリアする(S2)。
【0026】
次に、一定リトライ回数を越えていないか否かを確認し、越えていなければ、サーバー3のパケット作成手段32は、図5(a)に示すネゴシエーション処理パケットとして、制御パケットコード「0」、代表周期「5」、連続パケット送出数「10」パケット種別「READY」を作成し、送受信手段31にて全対象クライアント4に対してマルチキャスト配信を行う(S3)。
【0027】
マルチキャスト配信を行うと、サーバー3は、全対象クライアント4からのネゴシエーション処理応答パケット(ACK)応答受信待ちとなる(S4)。
【0028】
一定時間内に、クライアント4からネゴシエーション処理応答パケット(ACK)を受信すると、管理情報DB302の応答クライアントの送信結果に、「OK」を設定していく(S5)。
【0029】
このようにして、全対象クライアント4からのネゴシエーション応答処理パケット(ACK)受信を待った結果、一定リトライ回数内に、応答がないクライアントに対しては、管理情報DB302の対応するクライアントの送信結果に、「NG」を設定する(S6)。なお、一定リトライ回数を超えても、全対象クライアントからネゴシエーション応答処理パケット(ACK)の受信がなく、全クライアントの送信結果が「NG」の場合は、ネットワーク上の問題等、他の問題があると判断し、マルチキャスト配信処理を異常終了する(S7)。
【0030】
一方、クライアント4は、送受信手段41により、サーバー3からパケットを受信すると(C1)、受信データ正当性判定手段42にて、ネゴシエーション処理パケットであることを確認すると(C2)、パケット作成手段44により、ネゴシエーション処理応答パケットとして、制御パケットコード「0」、CID、パケット種別「ACK」を作成し、送受信手段41にてサーバー3に送信する(C3)。
【0031】
更に、代表クライアント判定手段43により、CID、例えば「30」を代表周期「5」で割った剰余値「0」をCRIDとし、さらに受信待ちシーケンス番号1を「1」に初期化して、受信情報401に設定する(C4)。
【0032】
なお、受信データ正当性判定手段42にて、ネゴシエーション処理パケットでないと判断した場合には(C2)、異常終了をする(C5)。
【0033】
ネゴシエーション処理が完了すると、次にデータ配信処理を行う。サーバー3側のデータ配信処理の流れは、図11のデータ配信処理のメインフローチャートと、メインフローチャートから分岐するフローチャートとして、図12の送信パケット作成処理フローチャート、図13の応答パケット受信処理フローチャート、この応答パケット受信フローチャートから分岐するフローチャートとして、図14の受信パケット解析処理フローチャートを用いて説明する。
【0034】
サーバー3では、管理情報DB302の送信結果に「NG」が設定されていないクライアントの送信結果を初期化する(S8)。その後、代表クライアント決定手段34にて、RIDを決定する(S9)。RIDは、0以上代表周期値未満の値であり、その初期値として、例えば「0」を決定する。この値は、前述のとおり、サーバー3の代表クライアント決定手段34では、連続パケット送出数個のパケット送信後にカウントアップし、カウントアップした値が、代表周期値と同値になった場合は、初期値に戻る。
【0035】
次に、図12に示す送信パケット作成処理(S10)を行う。パケット作成手段32は、再送フラグが立っていない場合には(S101)、配信データ303から送信パケット分を読み込み、シーケンス番号「1」、RID「0」にてパケットを作成する(S102)。配信データのパケット作成が終了すると、送信済みキュー304に送信パケットを保存する(S103)。なお、RIDは、連続パケット送出数が10である場合には、10個置きに存在するパケットに対してのみ付加される。
【0036】
再送フラグが立っている場合には(S101)、送信済みキュー304に残存する全パケット再送が行われているかを確認し、再送されていなければ、送信済みキュー304から送信パケットを読み込み、既に全パケットが再送されている場合は(S104)、再送フラグをクリアし(S105)、シーケンス番号をカウントアップし(S106)、パケット作成を行う。
【0037】
パケット作成処理を終了すると、次に配信データの送信が終了しているか否かを判断し、配信データが終了していなければ(S11)、全対象クライアントに対してデータパケットをマルチキャスト配信する(S12)。マルチキャスト配信を行うと、応答パケット受信処理を行う(S13)。
【0038】
次に、図13、図14に示すように、応答パケット受信処理を行う。一定時間内にパケットを受信すると(S131)、受信パケット解析処理を行う(S132)。受信パケット解析処理では、1パケット受信したのち、パケット種別がACKである場合は、管理情報DBの応答クライアントの送信結果に「OK」を設定する(S1321)。パケット種別がNAKである場合は、管理情報DBの応答クライアントの送信結果に「NG」を設定する(S1322)。パケット種別が「RESEND」である場合は、管理情報DBの応答クライアントの送信結果に「OK」を設定し、再送フラグを立てる(S1323)。パケット種別が「WAK」である場合は、WAK応答フラグを立てる(S1324)。
【0039】
このようにして、全受信パケット解析処理が終了すると(S133)、次に、WAK応答フラグが立っている場合は、IDLEパケットを作成してマルチキャスト配信を行い(S134)、全代表クライアントのうち管理情報DB302の送信結果に「NG」が設定されていないクライアントからの応答があるまで、応答パケット受信処理を続ける(S135)。WAK応答フラグが立っていない場合は、そのまま全代表クライアントからの応答があるまで、応答パケット受信処理を続ける(S135)。
【0040】
次に、全代表クライアントのうち管理情報DB302の送信結果に「NG」が設定されていないクライアントからの応答があった場合、データ配信処理に戻る。または一定時間内に応答パケットの受信がない場合は再送フラグを立て(S136)、データ配信処理に戻る。
【0041】
再送フラグが立っていない場合は(S14)、シーケンス番号のカウントアップを行い(S15)、再送フラグが立っている場合は、同じシーケンス番号のまま、データ配信処理を繰り返す。
【0042】
データ配信処理が完了すると、サーバー3は、図15に示すデータ配信終了処理(S16)を行う。サーバー3の管理情報DBの送信結果に「NG」が設定されていないクライアントの送信結果を初期化し、リトライ回数をクリアする(S161)。次に、一定リトライ回数を越えていないか否かを確認し(S162)、越えていなければ、サーバー3のパケット作成手段32は、図7(a)に示す配信終了処理パケットとして、制御パケットコード「0」、パケット種別「END」を作成し、全対象クライアントに対してマルチキャスト配信を行う(S163)。マルチキャスト配信を行うと、サーバー3は、送信した全クライアント4からの配信終了処理応答パケット(ACK)応答受信待ちとなる(S164)。サーバー3は、一定時間内に、クライアント4から配信終了処理応答パケット(ACK)を受信すると、管理情報DB302の応答クライアントの送信結果に、「OK」を設定していく(S165)。
【0043】
このようにして、全対象クライアント4からの配信終了処理応答パケット(ACK)を待った結果、全クライアントのうち管理情報DB302の送信結果に「NG」が設定されていないクライアントからの応答があれば、処理を終了する(S166)。また一定リトライ回数内に、応答がないクライアントに対しては、管理情報DB302の対応するクライアントの送信結果に、「NG」を設定し(S167)、処理を終了する(S166)。
【0044】
次に、クライアント側のデータ受信処理の流れについて説明する。データ受信処理の流れは、図16のクライアント4側データ受信処理のメインフローチャートと、メインフローチャートから分岐するフローチャートとして、図17受信データ出力処理フローチャート、図18の再送要求処理フローチャートを用いて説明する。
【0045】
クライアント4は、ネゴシエーション処理を終了すると、パケット受信待ちとなる。送受信手段41により、サーバー3からパケットを受信すると(C6)、受信データ正当性判定手段42にて、パケットの確認を行い、データ配信終了処理パケットであることを確認すると(C7)、パケット作成手段44により、配信終了処理応答パケットとして、制御パケットコード「0」、CID、パケット種別「ACK」を作成し、送受信手段41にてサーバー3に送信し(C8)、処理を終了する(C9)。
【0046】
受信データ正当性判定手段42にて、データ配信終了処理パケットでないことを確認すると(C7)、受信シーケンス番号と待ちシーケンス番号とを比較し(C10)、同じ場合は、受信データの出力処理を行う(C11)。
【0047】
受信データ出力処理では、出力可能になるまで一定時間待ち状態となる(C111)。このとき、一定時間内に出力可能とならない場合は、代表クライアント判定手段43により、受信パケットのRIDがCRIDと同じであれば、自らが代表クライアントであると判断し(C112)、図6(b)に示すように、シーケンス番号、CID、パケット種別(WAK)を作成し、送受信手段41にてサーバー3に送信し(C113)、出力可能状態になるまで待ち状態となる(C111)。このとき、受信パケットのRIDがCRIDと同じでなければ、代表クライアントでないと判断し(C112)、応答送信せずに出力可能になるまで待ち状態となる(C111)。
【0048】
一定時間内に出力可能状態となると、受信データを出力する(C114)。このときエラーが発生した場合には、図6(b)に示すように応答パケットとして、エラーの発生したシーケンス番号、CID、パケット種別(NAK)を作成し、送受信手段41にてサーバー3に送信し(C115)、異常終了する。
【0049】
受信データの出力が正常終了した場合には、待ちシーケンス番号のカウントアップを行い(C12)、代表クライアント判定手段43により、受信パケットのRIDがCRIDと同じであれば、自らが代表クライアントであると判断し(C13)、図6(b)に示すように、シーケンス番号、CID、パケット種別(ACK)を作成し、送受信手段41にてサーバー3に送信し(C14)、パケット受信待ちとなる(C6)。
【0050】
待ちシーケンス番号が受信シーケンス番号よりも小さい場合は(C10)、パケットロスを検出したと判断し、再送要求処理を行う(C15)。
【0051】
再送要求処理では、図6(b)に示すようにパケット作成手段44により、応答パケットとして、シーケンス番号、CID、パケット種別(RESEND)を作成し、送受信手段41にてサーバー3に送信し(C151)、パケット受信待ちとなる(C152)。パケットを受信すると、受信シーケンス番号が、待ちシーケンス番号にα(クライアントが再送を要求してから、目的の再送データを受信するまでに破棄するデータパケット数の最大値)を加えた値よりも大きい場合(C153)、再送による復旧不可と判断し、図6(b)に示すような応答パケットとして、シーケンス番号、CID、パケット種別(NAK)を作成し、送受信手段41にてサーバー3に送信し(C154)、異常終了する。
【0052】
受信シーケンス番号が、待ちシーケンス番号にα(クライアントが再送を要求してから、目的の再送データを受信するまでに破棄するデータパケット数の最大値)を加えた値と同じもしくは小さい場合は(C153)、再送による復旧可能と判断する。次に、代表クライアント判定手段43により、受信パケットのRIDがCRIDと同じであれば、自らが代表クライアントであると判断し(C155)、図6(b)に示すように、シーケンス番号、CID、パケット種別(ACK)を作成し、送受信手段41にてサーバー3に送信し(C156)、代表クライアントでないと判断した場合には(C155)、応答送信せずにパケット受信待ちを行う(C152)。
【0053】
受信シーケンス番号が待ちシーケンス番号と同じになると(C157)、受信データ出力処理(C11)を行う。受信データ出力処理については、通常のデータ受信処理と同様である。
【図面の簡単な説明】
【0054】
【図1】本発明の実施の形態にかかるシステム構成図である。
【図2】本発明のサーバーの構成図である。
【図3】本発明の一実施形態に関わるクライアントの構成図である。
【図4】本発明の一実施形態に関わる送信情報、受信情報、管理情報DBの構成図である。
【図5】本発明の一実施形態に関わるネゴシエーション処理のパケット構成図である。
【図6】本発明の一実施形態に関わるデータ配信処理のパケット構成図である。
【図7】本発明の一実施形態に関わる配信終了処理時のパケット構成図である。
【図8】本発明の一実施形態に関わる待ち要求応答処理時のパケット構成図である。
【図9】本発明の一実施形態に関わる送信済みキューの構成である。
【図10】サーバー・クライアントのネゴシエーション処理に関するフローチャート。
【図11】サーバー側のデータ配信処理に関するメインフローチャート。
【図12】サーバー側データ配信処理(送信パケット作成)に関するフローチャート。
【図13】サーバー側データ配信処理(応答パケット受信)に関するフローチャート。
【図14】サーバー側データ配信処理(応答パケット受信−受信パケット解析)に関するフローチャート。
【図15】サーバー側データ配信終了処理に関するフローチャート。
【図16】クライアント側データ受信処理に関するメインフローチャート。
【図17】クライアント側データ受信処理(受信データ出力)に関するフローチャート。
【図18】クライアント側データ受信処理(再送要求)に関するフローチャート。
【図19】画面表示例。
【符号の説明】
【0055】
1・・・マルチキャスト配信システム、
2・・・ネットワーク、
3・・・サーバー、
31・・・送信情報設定手段、
32・・・パケット作成手段、
33・・・送受信手段、
34・・・代表クライアント決定手段、
35・・・送信結果判定手段、
36・・・管理情報DB作成更新手段、
301・・・送信情報、
302・・・管理情報DB、
303・・・配信データ、
304・・・送信済みキュー、
4・・・クライアント、
41・・・送受信手段、
42・・・受信データ正当性判定手段、
43・・・代表クライアント判定手段、
44・・・パケット作成手段、
45・・・データ書き出し手段、
401・・・受信情報、
402・・・受信データ。

【特許請求の範囲】
【請求項1】
ネットワークを介して、サーバーと複数のクライアントとを接続し、前記サーバーから前記複数のクライアントに対してデータを一括送信するマルチキャスト配信システムにおいて、
前記サーバーは、
前記データをパケット毎に代表クライアントが変わる代表クライアント選択値を付加して送信する送信手段を有し、
前記クライアントは、
前記サーバーから受信した前記代表クライアント選択値により、自らが代表クライアントか否かを判断する代表クライアント判定手段と、
前記サーバーから正常にデータを受信した際に、前記代表クライアント判定手段により、自らが代表クライアントであると判定した場合にのみ、前記サーバーに肯定応答を送信する応答送信手段と
を有することを特徴とするマルチキャスト配信システム。
【請求項2】
ネットワークを介して、サーバーと複数のクライアントとを接続し、前記サーバーから前記複数のクライアントに対してデータを一括送信するマルチキャスト配信システムにおいて、
前記サーバーは、
前記クライアントが各々代表クライアントとなる代表周期値を設定する手段と、
前記クライアントを識別するクライアント識別情報を前記代表周期値で割った剰余値を前記各クライアント毎の代表クライアント選択値として設定し、各々前記クライアントに送信する手段と、
前記データを送信する際に、パケット毎に、初期値からカウントアップした前記代表周期値以下の値を代表クライアント選択値として付加して送信する送信手段と
を有し、
前記クライアントは、
前記サーバーからパケット毎に付加して受信した前記代表クライアント選択値と、前記クライアント毎の代表クライアント選択値により、自らが代表クライアントか否かを判断する代表クライアント判定手段と、
前記サーバーから正常にデータを受信した際に、前記代表クライアント判定手段により、自らが代表クライアントであると判定した場合にのみ、前記サーバーに肯定応答を送信する応答送信手段と
を有することを特徴とするマルチキャスト配信システム。
【請求項3】
前記データ送信手段は、連続送出数を設定し、連続送出数おきのパケットのみ代表クライアント選択値を付加して送信する
ことを特徴とする請求項1ないし2に記載のマルチキャスト配信システム。
【請求項4】
ネットワークを介して、サーバーと複数のクライアントとを接続し、前記サーバーから前記複数のクライアントに対してデータを一括送信するマルチキャスト配信システムにおいて、
サーバー側のコンピュータに、
前記クライアントにマルチキャスト配信するための送信情報パケットを作成し、全クライアントに対してマルチキャスト配信する手順と、
このマルチキャスト配信に対する前記全クライアントからの肯定応答を受信し、この肯定応答を受信したクライアントのみをマルチキャスト配信対象クライアントとする手順と、
前記マルチキャスト配信対象クライアントのうちの一部もしくは全部が代表クライアントとなるための値であって、かつ、パケット毎に代表クライアントが変わるように代表クライアント選択値を決定し、この代表クライアント選択値を付加したデータパケットを作成する手順と、
前記作成したデータパケットを、前記マルチキャスト配信対象クライアントに対してマルチキャスト配信する手順と、
前記代表クライアントと判断される全代表クライアントからの肯定応答があった場合で、かつ再送要求応答がない場合には、前記マルチキャスト配信対象クライアントに対するマルチキャスト配信が正常に行われたと判断する手順と、
を実行させるためのマルチキャスト配信プログラム。
【請求項5】
前記データパケット作成手順は、連続送出数を設定し、連続送出数おきのパケットのみ代表クライアント選択値を付加して送信する
ことを特徴とする請求項4に記載のマルチキャスト配信プログラム。

【図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

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2007−318802(P2007−318802A)
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願番号】特願2007−204650(P2007−204650)
【出願日】平成19年8月6日(2007.8.6)
【分割の表示】特願2002−278206(P2002−278206)の分割
【原出願日】平成14年9月24日(2002.9.24)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】