(57)【要約】【課題】ネットワーク帯域の消費やデータ転送のタイムラグを低減し、ルータおよび中継装置のパケット処理負担を軽減するオーバーレイマルチキャストシステム等を提供すること。【解決手段】中継装置は、変換装置に対してサーバから送信されたファイルデータの到着メッセージを通知し、変換装置はファイルデータ加工用情報を作成して中継装置に送信し、中継装置は、その情報を用いて加工したファイルデータをクライアントに送信する。【選択図】図１
2010278991.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムであって、
前記サーバは、前記中継装置に対して前記クライアントに送信すべきファイルデータを送信する手段を備え、
前記中継装置は、前記変換装置に対して前記サーバから送信されたファイルデータのパケットの到着メッセージを通知する手段と、
受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工し、加工後のファイルデータを前記クライアントに送信する手段とを備え、
前記変換装置は、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信する手段を備えることを特徴とするオーバーレイマルチキャストシステム。
【請求項２】
ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムであって、
前記サーバは、前記中継装置に対して前記クライアントに送信すべきファイルデータを送信する手段を備え、
前記中継装置は、前記変換装置に対して前記サーバから送信されたファイルデータのパケットの到着メッセージを通知する手段と、
自装置のＣＰＵの処理能力の空き具合と、前記変換装置のＣＰＵの処理能力の空き具合とに応じて、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する装置を自装置とするか前記変換装置とするかを決定する手段と、
前記加工する装置が前記中継装置であると決定された場合、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する手段と、
加工後のファイルデータを前記クライアントに送信する手段とを備え、
前記変換装置は、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信する手段と、
前記加工する装置が前記変換装置であると決定された場合、前記ファイルデータの加工用の情報を用いて、前記中継装置から送信されたファイルデータを加工し、加工後のファイルデータを前記中継装置に対して送信する手段とを備えることを特徴とするオーバーレイマルチキャストシステム。
【請求項３】
前記中継装置は、前記加工する装置を決定するときに、前記ネットワークの帯域の空き具合も勘案することを特徴とする請求項２記載のオーバーレイマルチキャストシステム。
【請求項４】
前記ファイルデータの加工は、データの削除、挿入および修正のいずれかであることを特徴とする請求項１から３のいずれか１項に記載のオーバーレイマルチキャストシステム。
【請求項５】
前記クライアントは、前記サーバが保持するファイルデータを要求する手段を備え、
前記サーバは、前記中継装置に対して前記要求されたファイルデータを送信し、
前記中継装置は、加工後のファイルデータを前記ファイルデータを要求したクライアントに送信することを特徴とする請求項１から４のいずれか１項に記載のオーバーレイマルチキャストシステム。
【請求項６】
前記中継装置は、前記変換装置に対して、前記サーバから送信されたファイルデータのパケットの到着メッセージを通知するとともに前記変換装置が前記サーバから送信されたファイルデータの加工用の情報を作成するときに利用可能な情報を送信する手段を備えることを特徴とする請求項１から５のいずれか１項に記載のオーバーレイマルチキャストシステム。
【請求項７】
前記変換装置は、前記中継装置に対して、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を送信するとともに取得した前記ファイルデータを要求したクライアントのＩＰアドレス情報を送信する手段を備え、
前記中継装置は、受け取った前記ファイルデータを要求したクライアントのＩＰアドレス情報に基づいて加工後のファイルデータを前記クライアントに送信することを特徴とする請求項１から６のいずれか１項に記載のオーバーレイマルチキャストシステム。
【請求項８】
ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける中継装置であって、
前記変換装置に対して前記サーバから送信された前記クライアントに送信すべきファイルデータのパケットの到着メッセージを通知する手段と、
前記変換装置から受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工し、加工後のファイルデータを前記クライアントに送信する手段とを備えることを特徴とする中継装置。
【請求項９】
ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける中継装置であって、
前記変換装置に対して前記サーバから送信された前記クライアントに送信すべきファイルデータのパケットの到着メッセージを通知する手段と、
自装置のＣＰＵの処理能力の空き具合と、前記変換装置のＣＰＵの処理能力の空き具合とに応じて、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する装置を自装置とするか前記変換装置とするかを決定する手段と、
前記加工する装置が前記自装置であると決定された場合、前記変換装置から受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する手段と、
前記加工する装置が前記変換装置であると決定された場合、加工後のファイルデータを前記変換装置から受信する手段と、
加工後のファイルデータを前記クライアントに送信する手段とを備えることを特徴とする中継装置。
【請求項１０】
前記加工する装置を決定するときに、前記ネットワークの帯域の空き具合も勘案することを特徴とする請求項９記載の中継装置。
【請求項１１】
前記ファイルデータの加工は、データの削除、挿入および修正のいずれかであることを特徴とする請求項８から１０のいずれか１項に記載の中継装置。
【請求項１２】
前記変換装置に対して、前記サーバから送信されたファイルデータのパケットの到着メッセージを通知するとともに前記変換装置が前記サーバから送信されたファイルデータの加工用の情報を作成するときに利用可能な情報を送信する手段を備えることを特徴とする請求項８から１１のいずれか１項に記載の中継装置。
【請求項１３】
前記変換装置から受け取った前記ファイルデータを要求したクライアントのＩＰアドレス情報に基づいて加工後のファイルデータを前記クライアントに送信することを特徴とする請求項８から１２のいずれか１項に記載の中継装置。
【請求項１４】
ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける変換装置であって、
前記中継装置から、前記サーバから送信されたファイルデータのパケットの到着メッセージを受け取る手段と、
前記中継装置に加工後のファイルデータを前記クライアントに送信させるべく、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信する手段とを備えることを特徴とする変換装置。
【請求項１５】
ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける変換装置であって、
前記中継装置から、前記サーバから送信されたファイルデータのパケットの到着メッセージを受け取る手段と、
前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信する手段と、
前記中継装置により前記中継装置のＣＰＵの処理能力の空き具合と、自装置のＣＰＵの処理能力の空き具合とに応じて、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する装置を自装置と決定された場合、前記ファイルデータの加工用の情報を用いて、前記中継装置から送信されたファイルデータを加工し、加工後のファイルデータを前記中継装置に対して送信する手段とを備えることを特徴とする変換装置。
【請求項１６】
前記ファイルデータの加工は、データの削除、挿入および修正のいずれかであることを特徴とする請求項１４または１５記載の変換装置。
【請求項１７】
前記中継装置から、前記サーバから送信されたファイルデータのパケットの到着メッセージを受け取るとともに前記サーバから送信されたファイルデータの加工用の情報を作成するときに利用可能な情報を受信する手段を備えることを特徴とする請求項１４から１６のいずれか１項に記載の変換装置。
【請求項１８】
前記中継装置に対して、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を送信するとともに取得した前記ファイルデータを要求したクライアントのＩＰアドレス情報を送信する手段を備えることを特徴とする請求項１４から１７のいずれか１項に記載の変換装置。
【請求項１９】
ネットワーク上における、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを利用したオーバーレイマルチキャスト方法であって、
前記サーバが、前記中継装置に対して前記クライアントに送信すべきファイルデータを送信するステップと、
前記中継装置が、前記変換装置に対して前記サーバから送信されたファイルデータのパケットの到着メッセージを通知するステップと、
前記変換装置が、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信するステップと、
前記中継装置が、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工し、加工後のファイルデータを前記クライアントに送信するステップとを有することを特徴とするオーバーレイマルチキャスト方法。
【請求項２０】
ネットワーク上における、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを利用したオーバーレイマルチキャスト方法であって、
前記サーバが、前記中継装置に対して前記クライアントに送信すべきファイルデータを送信するステップと、
前記中継装置が、前記変換装置に対して前記サーバから送信されたファイルデータのパケットの到着メッセージを通知するステップと、
前記変換装置が、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信するステップと、
前記中継装置が、自装置のＣＰＵの処理能力の空き具合と、前記変換装置のＣＰＵの処理能力の空き具合とに応じて、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する装置を自装置とするか前記変換装置とするかを決定するステップと、
前記加工する装置が前記変換装置であると決定された場合、前記変換装置が、前記ファイルデータの加工用の情報を用いて、前記中継装置から送信されたファイルデータを加工し、加工後のファイルデータを前記中継装置に対して送信し、一方、前記加工する装置が前記中継装置であると決定された場合、前記中継装置が、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工するステップと、
前記中継装置が、加工後のファイルデータを前記クライアントに送信するステップとを有することを特徴とするオーバーレイマルチキャスト方法。
【請求項２１】
前記中継装置が、前記加工する装置を決定するときに、前記ネットワークの帯域の空き具合も勘案することを特徴とする請求項２０記載のオーバーレイマルチキャスト方法。
【請求項２２】
前記ファイルデータの加工は、データの削除、挿入および修正のいずれかであることを特徴とする請求項１９から２１のいずれか１項に記載のオーバーレイマルチキャスト方法。
【請求項２３】
前記クライアントが、前記サーバが保持するファイルデータを要求するステップを有し、
前記サーバが、前記中継装置に対して前記要求されたファイルデータを送信し、
前記中継装置が、加工後のファイルデータを前記ファイルデータを要求したクライアントに送信することを特徴とする請求項１９から２２のいずれか１項に記載のオーバーレイマルチキャスト方法。
【請求項２４】
前記中継装置が、前記変換装置に対して、前記サーバから送信されたファイルデータのパケットの到着メッセージを通知するとともに前記変換装置が前記サーバから送信されたファイルデータの加工用の情報を作成するときに利用可能な情報を送信することを特徴とする請求項１９から２３のいずれか１項に記載のオーバーレイマルチキャスト方法。
【請求項２５】
前記変換装置が、前記中継装置に対して、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を送信するとともに取得した前記ファイルデータを要求したクライアントのＩＰアドレス情報を送信し、
前記中継装置が、受け取った前記ファイルデータを要求したクライアントのＩＰアドレス情報に基づいて加工後のファイルデータを前記クライアントに送信することを特徴とする請求項１９から２４のいずれか１項に記載のオーバーレイマルチキャスト方法。
【請求項２６】
ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける中継装置のプログラムであって、
前記中継装置に、前記変換装置に対して前記サーバから送信された前記クライアントに送信すべきファイルデータのパケットの到着メッセージを通知する処理と、
前記変換装置から受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工し、加工後のファイルデータを前記クライアントに送信する処理とを実行させることを特徴とするプログラム。
【請求項２７】
ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける中継装置のプログラムであって、
前記中継装置に、前記変換装置に対して前記サーバから送信された前記クライアントに送信すべきファイルデータのパケットの到着メッセージを通知する処理と、
自装置のＣＰＵの処理能力の空き具合と、前記変換装置のＣＰＵの処理能力の空き具合とに応じて、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する装置を自装置とするか前記変換装置とするかを決定する処理と、
前記加工する装置が前記自装置であると決定された場合、前記変換装置から受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する処理と、
前記加工する装置が前記変換装置であると決定された場合、加工後のファイルデータを前記変換装置から受信する処理と、
加工後のファイルデータを前記クライアントに送信する処理とを実行させることを特徴とするプログラム。
【請求項２８】
ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける変換装置のプログラムであって、
前記変換装置に、前記中継装置から、前記サーバから送信されたファイルデータのパケットの到着メッセージを受け取る処理と、
前記中継装置に加工後のファイルデータを前記クライアントに送信させるべく、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信する処理とを実行させることを特徴とするプログラム。
【請求項２９】
ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける変換装置のプログラムであって、
前記変換装置に、前記中継装置から、前記サーバから送信されたファイルデータのパケットの到着メッセージを受け取る処理と、
前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信する処理と、
前記中継装置により前記中継装置のＣＰＵの処理能力の空き具合と、自装置のＣＰＵの処理能力の空き具合とに応じて、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する装置を自装置と決定された場合、前記ファイルデータの加工用の情報を用いて、前記中継装置から送信されたファイルデータを加工し、加工後のファイルデータを前記中継装置に対して送信する処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低レンテンシーオーバーレイマルチキャスト技術に関する。
【背景技術】
【０００２】
まず、従来のＩＰマルチキャスト技術について、図１１および図１２を参照して説明する。図１１に示すＩＰマルチキャストシステムは、インターネットなどのネットワーク１１００上において、サーバ１１０と、中継装置１２０と、クライアント１４０Ａと、クライアント１４０Ｂと、を含んで構成される。ここでは中継装置１２０はルータであるとする。
図１２のシーケンス図を参照して動作を説明する。前提として、サーバ１１０は動画のファイルデータ１５０を保持しているものとする。クライアント１４０Ａおよびクライアント１４０Ｂからファイルデータ１５０の要求が発行された場合（Ｓ１２０１）、中継装置１２０を介して（Ｓ１２０２）、サーバ１１０がファイルデータ１５０の要求を受け取る（Ｓ１２０３）。
そして、サーバ１１０はファイルデータ１５０を送信する（Ｓ１２０４）。なお、ファイルデータ１５０はＵＤＰパケットで順次データ送信されるものとする。
中継装置１２０はサーバ１１０からファイルデータ１５０を受信する（Ｓ１２０５）。中継装置１２０は、クライアント１４０Ａおよびクライアント１４０Ｂからファイルデータ１５０の要求が発行されたことを認識（それぞれのＩＰアドレスも取得済み）しているので、二つのクライアントにファイルデータ１５０をそれぞれ送信すべく、サーバ１１０から受信したファイルデータ１５０を複製する（Ｓ１２０６）。その後、中継装置１２０はクライアント１４０Ａおよびクライアント１４０Ｂにファイルデータ１５０をそれぞれ（いずれか一方は上記ステップＳ１２０６で複製されたものである）分配する（Ｓ１２０７）。
このような階層により配信管理を行い、ＩＰ層で中継装置１２０が直接分配するＩＰマルチキャストでは、ファイルデータ１５０に変更を加えてクライアントに送信したいという要望に応えることは困難であった。そこで、以下に述べるアプリケーション層においてデータ変更を行うための中継ノードを活用したオーバーレイマルチキャストが用いられる。
【０００３】
以下、従来のオーバーレイマルチキャスト技術について、図１３および図１４を参照して説明する。図１３に示すオーバーレイマルチキャストシステムは、インターネットなどのネットワーク２１００上において、サーバ２１０と、中継装置２２０と、クライアント２４０Ａと、クライアント２４０Ｂと、中継ノード（変換装置）２３０と、を含んで構成される。ここでは中継装置２２０はルータであるとする。
図１４のシーケンス図を参照して動作を説明する。前提として、サーバ２１０は動画のファイルデータ２５０を保持しているものとする。クライアント２４０Ａからファイルデータ２５０の要求が発行された場合（Ｓ１４０１）、中継装置２２０を介して（Ｓ１４０２）、サーバ２１０がファイルデータ２５０の要求を受け取る（Ｓ１４０３）。
そして、サーバ２１０はファイルデータ２５０を送信する（Ｓ１４０４）。なお、ファイルデータ２５０はＵＤＰパケットで順次データ送信されるものとする。
中継装置２２０はサーバ２１０からファイルデータ２５０を受信する（Ｓ１４０５）。
中継装置２２０は中継ノード２３０にファイルデータ２５０を送信する（Ｓ１４０６）。
中継ノード２３０はファイルデータ２５０に変更を加える（Ｓ１４０７）。例えば、データの削除、追加、修正等である。その後、中継ノード２３０は中継装置２２０に変更を加えたファイルデータ２５０を送信する（Ｓ１４０８）。
中継装置２２０は、クライアント２４０Ａからファイルデータ２５０の要求が発行されたことを認識（クライアント２４０ＡのＩＰアドレスも取得済み）しているので、中継ノード２３０から受信した変更を加えたファイルデータ２５０をクライアント２４０Ａに送信する（Ｓ１４０９）。
また、上述のクライアント２４０Ａからのみファイルデータ２５０の要求が発行された場合と異なり、クライアント２４０Ａおよびクライアント２４０Ｂからファイルデータ２５０の要求が発行された場合には、上記のステップＳ１４０７で、中継ノード２３０はファイルデータ２５０に変更を加え、さらに中継ノード２３０は二つのクライアントそれぞれに送信される変更を加えたファイルデータ２５０を準備すべく、変更を加えたファイルデータ２５０を複製する。その際、中継ノード２３０は何らかの方法によりファイルデータ２５０の要求が発行されたクライアントを認識しているものとする。その後、上記のステップＳ１４０８で、中継ノード２３０は中継装置２２０に変更を加えたファイルデータ２５０（クライアント２４０Ａ用）および変更を加えたファイルデータ２５０（クライアント２４０Ｂ用）をそれぞれ順に送信する。
【０００４】
関連技術として、オーバーレイマルチキャストを実現するデータ転送技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２３６０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の図１３に示すオーバーレイマルチキャストシステムは、中継装置２２０と中継ノード２３０間でファイルデータ２５０（厳密には変更前後の各ファイルデータ２５０である）が往復してネットワーク２１００を流れていた。すなわち、フルデータの往復がなされていた。
これにより、ネットワーク帯域が圧迫され、また、データ転送の遅延が発生する場合があった。さらに中継装置２２０および中継ノード（変換装置）２３０にパケット処理の負荷がかかっていた。
【０００７】
本発明は、アプリケーション層とネットワーク層をオーバーレイマルチキャストにおいて連携させ、ネットワーク帯域の消費やデータ転送のタイムラグを低減し、中継装置および変換装置のパケット処理負担を軽減するオーバーレイマルチキャストシステム、中継装置、変換装置、オーバーレイマルチキャスト方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第一のオーバーレイマルチキャストシステムは、ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムであって、
前記サーバは、前記中継装置に対して前記クライアントに送信すべきファイルデータを送信する手段を備え、
前記中継装置は、前記変換装置に対して前記サーバから送信されたファイルデータのパケットの到着メッセージを通知する手段と、
受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工し、加工後のファイルデータを前記クライアントに送信する手段とを備え、
前記変換装置は、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信する手段を備えることを特徴とする。
【０００９】
また、本発明の第二のオーバーレイマルチキャストシステムは、ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムであって、
前記サーバは、前記中継装置に対して前記クライアントに送信すべきファイルデータを送信する手段を備え、
前記中継装置は、前記変換装置に対して前記サーバから送信されたファイルデータのパケットの到着メッセージを通知する手段と、
自装置のＣＰＵの処理能力の空き具合と、前記変換装置のＣＰＵの処理能力の空き具合とに応じて、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する装置を自装置とするか前記変換装置とするかを決定する手段と、
前記加工する装置が前記中継装置であると決定された場合、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する手段と、
加工後のファイルデータを前記クライアントに送信する手段とを備え、
前記変換装置は、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信する手段と、
前記加工する装置が前記変換装置であると決定された場合、前記ファイルデータの加工用の情報を用いて、前記中継装置から送信されたファイルデータを加工し、加工後のファイルデータを前記中継装置に対して送信する手段とを備えることを特徴とする。
【００１０】
また、本発明の第一の中継装置は、ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける中継装置であって、
前記変換装置に対して前記サーバから送信された前記クライアントに送信すべきファイルデータのパケットの到着メッセージを通知する手段と、
前記変換装置から受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工し、加工後のファイルデータを前記クライアントに送信する手段とを備えることを特徴とする。
【００１１】
また、本発明の第二の中継装置は、ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける中継装置であって、
前記変換装置に対して前記サーバから送信された前記クライアントに送信すべきファイルデータのパケットの到着メッセージを通知する手段と、
自装置のＣＰＵの処理能力の空き具合と、前記変換装置のＣＰＵの処理能力の空き具合とに応じて、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する装置を自装置とするか前記変換装置とするかを決定する手段と、
前記加工する装置が前記自装置であると決定された場合、前記変換装置から受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する手段と、
前記加工する装置が前記変換装置であると決定された場合、加工後のファイルデータを前記変換装置から受信する手段と、
加工後のファイルデータを前記クライアントに送信する手段とを備えることを特徴とする。
【００１２】
また、本発明の第一の変換装置は、ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける変換装置であって、
前記中継装置から、前記サーバから送信されたファイルデータのパケットの到着メッセージを受け取る手段と、
前記中継装置に加工後のファイルデータを前記クライアントに送信させるべく、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信する手段とを備えることを特徴とする。
【００１３】
また、本発明の第二の変換装置は、ネットワーク上において、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを含んで構成されるオーバーレイマルチキャストシステムにおける変換装置であって、
前記中継装置から、前記サーバから送信されたファイルデータのパケットの到着メッセージを受け取る手段と、
前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信する手段と、
前記中継装置により前記中継装置のＣＰＵの処理能力の空き具合と、自装置のＣＰＵの処理能力の空き具合とに応じて、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する装置を自装置と決定された場合、前記ファイルデータの加工用の情報を用いて、前記中継装置から送信されたファイルデータを加工し、加工後のファイルデータを前記中継装置に対して送信する手段とを備えることを特徴とする。
【００１４】
また、本発明の第一のオーバーレイマルチキャスト方法は、ネットワーク上における、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを利用したオーバーレイマルチキャスト方法であって、
前記サーバが、前記中継装置に対して前記クライアントに送信すべきファイルデータを送信するステップと、
前記中継装置が、前記変換装置に対して前記サーバから送信されたファイルデータのパケットの到着メッセージを通知するステップと、
前記変換装置が、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信するステップと、
前記中継装置が、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工し、加工後のファイルデータを前記クライアントに送信するステップとを有することを特徴とする。
【００１５】
また、本発明の第二のオーバーレイマルチキャスト方法は、ネットワーク上における、サーバと、中継装置と、変換装置と、少なくとも１台以上のクライアントとを利用したオーバーレイマルチキャスト方法であって、
前記サーバが、前記中継装置に対して前記クライアントに送信すべきファイルデータを送信するステップと、
前記中継装置が、前記変換装置に対して前記サーバから送信されたファイルデータのパケットの到着メッセージを通知するステップと、
前記変換装置が、前記中継装置が保持する前記サーバから送信されたファイルデータの加工用の情報を作成し、当該情報を前記中継装置に対して送信するステップと、
前記中継装置が、自装置のＣＰＵの処理能力の空き具合と、前記変換装置のＣＰＵの処理能力の空き具合とに応じて、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工する装置を自装置とするか前記変換装置とするかを決定するステップと、
前記加工する装置が前記変換装置であると決定された場合、前記変換装置が、前記ファイルデータの加工用の情報を用いて、前記中継装置から送信されたファイルデータを加工し、加工後のファイルデータを前記中継装置に対して送信し、一方、前記加工する装置が前記中継装置であると決定された場合、前記中継装置が、受け取った前記ファイルデータの加工用の情報を用いて、既に保持している前記サーバから送信されたファイルデータを加工するステップと、
前記中継装置が、加工後のファイルデータを前記クライアントに送信するステップとを有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、アプリケーション層とネットワーク層をオーバーレイマルチキャストにおいて連携させ、ネットワーク帯域の消費やデータ転送のタイムラグを低減し、中継装置および変換装置のパケット処理負担を軽減することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第一の実施の形態に係るシステム構成を示す図である。
【図２】本発明の第一の実施の形態に係るＭＰＥＧストリームのレイヤ構成を示す図である。
【図３】本発明の第一の実施の形態に係るサーバの構成を示すブロック図であるである。
【図４】本発明の第一の実施の形態に係る中継装置の構成を示すブロック図であるである。
【図５】本発明の第一の実施の形態に係る変換装置の構成を示すブロック図であるである。
【図６】本発明の第一の実施の形態に係るクライアントの構成を示すブロック図であるである。
【図７】本発明の第一の実施の形態に係るオーバーレイマルチキャストの処理動作を示すシーケンス図である。
【図８】本発明の第二の実施の形態に係る中継装置の構成を示すブロック図であるである。
【図９】本発明の第二の実施の形態に係る変換装置の構成を示すブロック図であるである。
【図１０】本発明の第二の実施の形態に係るオーバーレイマルチキャストの処理動作を示すシーケンス図である。
【図１１】従来のＩＰマルチキャストシステムの構成を示す図である。
【図１２】従来のＩＰマルチキャストシステムの処理動作を示すシーケンス図である。
【図１３】従来のオーバーレイマルチキャストシステムの構成を示す図である。
【図１４】従来のオーバーレイマルチキャストシステムの処理動作を示すシーケンス図である。
【発明を実施するための形態】
【００１８】
以下、本発明の第一の実施の形態について図面を参照して詳細に説明する。図１に示す本実施の形態におけるオーバーレイマルチキャストシステムは、インターネットなどのネットワーク１００上において、サーバ１０と、中継装置２０と、中継ノード（以下では「変換装置」という）３０と、クライアント４０Ａと、クライアント４０Ｂと、を含んで構成される。図１では、説明の容易化のためクライアント数を２つとしているが３つ以上であってもよいのはもちろんである。なお、以下では、クライアント４０Ａおよびクライアント４０Ｂに共通の説明をする際にはクライアント４０と総称する。
本発明は、種々のデータ形式のオーバーレイマルチキャストに適用可能であるが、以下、本実施の形態では説明の便宜のためＭＰＥＧ形式の動画のストリームデータを例として説明する。
【００１９】
図２に示すように、ＭＰＥＧストリームは、順に、ストリーム、ＧＯＰ、ピクチャ、パケットなどの各レイヤから成る。ストリームは、ＧＯＰ及びフレーム（動画を構成する単位である静止画像＝ピクチャ）に分かれており、ＭＰＥＧフレームには、Ｉピクチャ、Ｂピクチャ、Ｐピクチャの３種類がある。Ｉピクチャは、フレーム内符号化されるフレームである。Ｐピクチャは、順方向予測符号化されるフレームである。Ｂピクチャは、双方向予測符号化されるフレームである。
【００２０】
また、ＧＯＰ（Group Of Picture）は、ストリームの部分を構成し、ストリームデータに対するランダムアクセスを可能とするために、Ｉピクチャ（フレーム内符号化画像）が少なくとも１枚は入った画像群構造である。
【００２１】
図２において、ＭＰＥＧストリームは、ＲＴＰ／ＵＤＰ／ＩＰの各パケットに分割して送信される。各ピクチャ（Ｉ，Ｂ，Ｐ）は、各々、１つ以上のＲＴＰ／ＵＤＰ／ＩＰパケットに分割される。ＲＴＰ／ＵＤＰ／ＩＰパケットは、各プロトコルの定めるＲＴＰヘッダ、ＵＤＰヘッダ、ＩＰヘッダ、及びストリーミング・ヘッダを持つ。ＲＴＰヘッダは、ペイロードタイプを７ｂｉｔで保持し、例えばＭＰＥＧエレメンタリ・ストリームの場合は３２である。ストリーミング・ヘッダは、ＧＯＰデータレート、ストリーム先頭パケット・フラグ、及びストリーム最終パケット・フラグを含む。
【００２２】
サーバ１０は、ワークステーション等の情報処理装置である。中継装置２０は、データ中継を行うノードであり、インターネットではルータ（レイヤ３スイッチ）に相当する装置である。変換装置３０は、データの中継ノードに相当する情報処理装置である。クライアント４０Ａ、クライアント４０Ｂは、パーソナルコンピュータ、ビデオデッキ、テレビジョン受像機、ホームサーバ等の情報処理装置であり、ルータ等であってもよい。
【００２３】
図３は、サーバ１０の構成を示すブロック図である。サーバ１０は、ＭＰＥＧエンコーダ１１、ストリーム配信処理部１２、ＣＰＵ１３、ＲＯＭ１４、ＲＡＭ１５、ネットワークＩ／Ｆ１６、及びＨＤＤ（ハードディスクドライブ）１７を備えている。
【００２４】
ＭＰＥＧエンコーダ１１は、外部からの映像などの信号（配信に用いるソース信号）を所定のデータレートのＭＰＥＧ−２（Moving Picture Experts Group 2）ストリームにエンコードするモジュールであり、エンコードされたストリームは、ＨＤＤ１７に記憶される。なお、ソース信号の符号化方法はＭＰＥＧ−２以外のものであっても良いが本実施の形態ではＭＰＥＧ−２を例に採っている。
【００２５】
ＣＰＵ１３は、送信装置の全体制御を行うプロセッサである。ＲＯＭ１４は、読み出し専用メモリであり、本発明の処理を実現するプログラムが格納されている。本プログラムは、主記憶へロードされてＣＰＵ１３により実行される。ＲＡＭ１５は、ＣＰＵ１３が行う処理において必要となる各種データを一時的に格納するメモリである。
【００２６】
ネットワークＩ／Ｆ（インターフェース）１６は、ストリーム送信要求のＩＰパケットの受信処理を行い、また、ストリームデータのＩＰパケットの送信処理を行うモジュールである。ＨＤＤ１７は、磁気ディスクにデータを読み書きする記憶装置であり、クライアント４０に対して配信されるストリームデータを保存する。
【００２７】
ストリーム配信処理部１２は、ＲＴＰ／ＵＤＰ／ＩＰなどを用いたストリーム配信のメイン処理を行うモジュールである。ＲＴＰ（Real-time Transport Protocol）は、パケットに対する同期再生のためのタイムスタンプの付与などを行うプロトコルである。ＵＤＰは、コネクションレス型プロトコルであり、ストリームデータの送信に用いられる。ＩＰは、ネットワーク間の転送を処理するプロトコルである。
【００２８】
また、ストリーム配信処理部１２は、ストリームを構成する各パケットについて、送信元ＩＰアドレス、送信元ポート番号、宛先ポート番号などの情報を記述する。
【００２９】
中継装置２０は、サーバ１０と変換装置３０とクライアント４０との間での伝送路（ルート）上において、データの中継を行うノードであり、ストリームデータが格納されたパケットを変換装置３０やクライアント４０側のネットワークに流す処理を行う。中継装置２０は、無関係なネットワークにはパケットを流さないことにより、ネットワーク全体のトラフィックを低減させる役割を有している。
図４は、中継装置２０の構成を示すブロック図である。中継装置２０は、ストリーム特定部２１、対変換装置通信部２２、ＣＰＵ２３、ＲＯＭ２４、ＲＡＭ２５、ネットワークＩ／Ｆ２６及びデータ加工部２７を備えている。ＣＰＵ２３、ＲＯＭ２４、ＲＡＭ２５などは、上述のサーバ１０におけるそれらと同様の役割を果たす。ネットワークＩ／Ｆ２６は、接続されるネットワークに応じて装備され、ストリーム送信要求やストリームデータなどのパケットの転送処理を行う。
【００３０】
ストリーム特定部２１は、受信パケットを参照してストリームを識別・特定する。その際、ＲＴＰ／ＵＤＰ／ＩＰの各ヘッダ、ストリーミング・ヘッダ、あるいはストリームデータ部が参照される。ＩＰヘッダからは送信元ＩＰアドレス、ＵＤＰヘッダからは送信元ポート番号及び宛先ポート番号が識別される。また、例えば、コンテンツＮｏ○○のデータである旨、ＣＭなどが何秒間挿入可能であるか、どのタイミングで挿入可能であるかなどの情報、フレームを間引くことが可能な範囲（１／２や１／４など）の情報などを抽出・分析する。
【００３１】
対変換装置通信部２２は、変換装置３０に対してパケットの送信元ＩＰアドレス、送信元ポート番号及び宛先ポート番号をパケット到着メッセージとして通知する。パケット到着メッセージには、その他の情報が付加されていてもよい。例えば、コンテンツＮｏ○○のデータである旨、ＣＭなどが何秒間挿入可能であるか、どのタイミングで挿入可能であるかなどの情報、フレームを間引くことが可能な範囲（１／２や１／４など）の情報などである。そして、変換装置３０から宛先ＩＰアドレスを転送メッセージとして受信する。転送メッセージには、ストリームデータなどのパケットのデータ加工用の情報（クライアント毎）が付加されていてもよい。
【００３２】
データ加工部２７は、サーバ１０からのストリームデータなどのパケットにより送信されたファイルデータについて、変換装置３０から受信したストリームデータなどのパケットのデータ加工用の情報を用いてデータ加工を施し、クライアント４０Ａ、クライアント４０Ｂそれぞれに対して個別に送信するデータ加工による変更後のファイルデータを作成する。
【００３３】
図５は、変換装置３０の構成を示すブロック図である。変換装置３０は、対中継装置通信部３１、データ加工情報作成部３２、ＣＰＵ３３、ＲＯＭ３４、ＲＡＭ３５、ネットワークＩ／Ｆ３６、ＨＤＤ（ハードディスクドライブ）３７及び宛先ＩＰアドレス取得部３８を備えている。
【００３４】
対中継装置通信部３１は、中継装置２０からパケットの送信元ＩＰアドレス、送信元ポート番号及び宛先ポート番号をパケット到着メッセージとして受け取る。そして、中継装置２０に対して宛先ＩＰアドレスを転送メッセージとして送信する。また、中継装置２０に対して転送メッセージに付加してストリームデータなどのパケットのデータ加工用の情報を送信する。
【００３５】
データ加工情報作成部３２は、中継装置２０に対して送信するストリームデータなどのパケットのデータ加工用の情報を作成する。当該データ加工用の情報はクライアント４０Ａ、クライアント４０Ｂそれぞれに対して個別に異なったものであってよい。なお、中継装置２０に対する指定は、クライアント４０Ａ、クライアント４０Ｂ共通（データ加工用の情報の送信は一回）であっても、クライアント４０Ａ、クライアント４０Ｂ個々（データ加工用の情報の送信は計二回）であってもよい。
データ加工の類型として、削除（動画の開始直後１０分間の削除、フレームを間引く）、挿入（広告の静止画・動画などを追加する）、修正（データを置換する）などがある。
一例として、クライアント４０Ａのユーザはギャンブル好きであり、またクライアント４０Ｂのユーザはスポーツ好きである場合、それぞれの嗜好に応じた広告を、サーバ１０から受信した本来の動画のファイルデータに挿入することであってもよい。なお、クライアントのユーザの属性や履歴情報および挿入・修正用のデータはＨＤＤ３７などに保存されていてよい。この際、中継装置２０の対変換装置通信部２２からのパケット到着メッセージに付加されている、ＣＭなどが何秒間挿入可能であるか、どのタイミングで挿入可能であるかなどの情報、フレームを間引くことが可能な範囲（１／２や１／４など）の情報などを参照したり、また、クライアントの特定のため後述する宛先ＩＰアドレス取得部３８で取得した宛先ＩＰアドレスを参照することであってもよい。
ＨＤＤ３７などに保存されている挿入・修正用のデータはデータ加工用の情報の一部として一旦、中継装置２０に送信された後は、再送せずに使い回すことであってもよい。
【００３６】
ＣＰＵ３３、ＲＯＭ３４、ＲＡＭ３５などは、上述のサーバ１０におけるそれらと同様の役割を果たす。ネットワークＩ／Ｆ３６は、ストリームデータなどのパケットの転送処理を行う。ＨＤＤ３７は、磁気ディスクにデータを読み書きする記憶装置であり、クライアント４０に対して配信される変更後のストリームデータの変更部分のデータなどを保存する。
【００３７】
宛先ＩＰアドレス取得部３８は、データ転送先のＩＰアドレスを所定の手法で取得する。本実施の形態ではクライアント４０Ａ、クライアント４０ＢのＩＰアドレスを取得する。
【００３８】
図６は、クライアント４０の構成を示すブロック図である。クライアント４０は、ＭＰＥＧデコーダ４１、ストリーム受信処理部４２、ＣＰＵ４３、ＲＯＭ４４、ＲＡＭ４５、ネットワークＩ／Ｆ４６、ＨＤＤ４７、及びディスプレイ（出力装置）４８を備えている。
【００３９】
ＭＰＥＧデコーダ４１は、サーバ１０より配信され、中継装置２０にてデータ加工が施されたバッファに一時蓄積されたＭＰＥＧストリームをデコードし、各ストリーム及びその部分区間の持つデータレートでディスプレイ４８に出力して再生する処理を行うモジュールである。
【００４０】
ストリーム受信処理部４２は、ストリーム配信サービスにおけるクライアントモジュールであり、所定のプロトコルを用いて、ストリーム要求他のメッセージの発行、ストリームデータの受信などの処理を行う。
【００４１】
ＣＰＵ４３、ＲＯＭ４４、及びＲＡＭ４５などは、上述のサーバ１０におけるそれらと同様の役割を果たす。ネットワークＩ／Ｆ４６は、ストリーム配信要求のＩＰパケットをサーバ１０に対して送信する処理を行い、また、ストリームデータのＩＰパケットを受信する処理を行うモジュールである。ＨＤＤ４７は、中継装置２０より受信するストリームデータをバッファに一時蓄積する記憶装置である。
【００４２】
以下、本実施の形態の動作について図面を参照して詳細に説明する。
図７は、本実施の形態におけるオーバーレイマルチキャストの処理動作を示すシーケンス図である。前提として、サーバ１０は動画のファイルデータ５０を保持しているものとする。クライアント４０Ａおよびクライアント４０Ｂからファイルデータ５０の要求が発行された場合（Ｓ７０１）、ファイルデータ５０の所在を知っている中継装置２０を介して（Ｓ７０２）、サーバ１０がファイルデータ５０の要求を受け取る（Ｓ７０３）。そして、サーバ１０はファイルデータ５０を送信する（Ｓ７０４）。
すなわち、まず、クライアント４０のストリーム受信処理部４２は、ストリームの配信を受ける際に、サーバ１０に対し、ストリーム送信要求を発行する。一方、サーバ１０においては、クライアント４０が発行するストリーム通信についての各情報を格納したストリーム送信要求の受信確認を行い、ストリーム送信要求を受信した場合、ＭＰＥＧストリームの各ピクチャをＲＴＰ／ＵＤＰ／ＩＰパケットに分割してクライアント４０に送信する処理を開始する。
なお、クライアントからのファイルデータ５０の要求がなくても、サーバ１０がユーザの属性や履歴情報に基づいた判断により自動的にファイルデータ５０を該当するクライアントに送信することも考えられる。
【００４３】
そして、中継装置２０はサーバ１０からファイルデータ５０を受信する（Ｓ７０５）。
ＭＰＥＧストリームを含むＩＰパケットを受信すると、中継装置２０のストリーム特定部２１は、受信パケット内のＲＴＰヘッダから、ペイロードタイプを検出し、３２であった場合はＭＰＥＧストリームと解釈する。ストリームヘッダのストリーム先頭パケットを示すフラグがセットされている場合、ＵＤＰパケットヘッダから送信元ポート番号と宛先ポート番号とを検出し、さらにＩＰヘッダから送信元ＩＰアドレスを検出し、これらの組み合わせにより通信を識別・特定し、ばらばらに到着する各パケットを一貫して制御する。
また、中継装置２０のストリーム特定部２１は、例えば、コンテンツＮｏ○○のデータである旨、ＣＭなどが何秒間挿入可能であるか、どのタイミングで挿入可能であるかなどの情報、フレームを間引くことが可能な範囲（１／２や１／４など）の情報などを抽出・分析する。
【００４４】
次に、中継装置２０は変換装置３０にパケット到着メッセージを送信する（Ｓ７０６）。
中継装置２０の対変換装置通信部２２は、変換装置３０に対してパケットの送信元ＩＰアドレス、送信元ポート番号及び宛先ポート番号をパケット到着メッセージとして通知する。パケット到着メッセージには、その他の情報が付加されていてもよい。例えば、コンテンツＮｏ○○のデータである旨、ＣＭなどが何秒間挿入可能であるか、どのタイミングで挿入可能であるかなどの情報、フレームを間引くことが可能な範囲（１／２や１／４など）の情報などである。
【００４５】
変換装置３０の対中継装置通信部３１は中継装置２０からパケットの送信元ＩＰアドレス、送信元ポート番号及び宛先ポート番号をパケット到着メッセージとして受け取り、変換装置３０のデータ加工情報作成部３２は、中継装置２０に対して送信するストリームデータなどのパケットのデータ加工用の情報を作成する（Ｓ７０７）。
ここでは、データ加工用の情報はクライアント４０Ａ、クライアント４０Ｂそれぞれに対して個別に異なったものであり、中継装置２０に対する指定は、クライアント４０Ａ、クライアント４０Ｂ個々（データ加工用の情報の送信は計二回）に行うものとする。
データ加工の類型として、削除（動画の開始直後１０分間の削除、フレームを間引く）、挿入（広告の静止画・動画などを追加する）、修正（データを置換する）などがある。
ここでは、クライアント４０Ａのユーザはギャンブル好きであり、またクライアント４０Ｂのユーザはスポーツ好きである場合、それぞれの嗜好に応じたＣＭを、サーバ１０から受信した本来の動画のファイルデータに挿入することとする。なお、中継装置２０からのパケット到着メッセージに付加されている、ＣＭが何秒間挿入可能であるか、どのタイミングで挿入可能であるかの情報を参照する。また、クライアントの特定のため後述する宛先ＩＰアドレス取得部３８で取得した宛先ＩＰアドレスと、ＨＤＤ３７に保存されているクライアントのユーザの属性や履歴情報および挿入・修正用のデータを参照する。
【００４６】
また、変換装置３０の宛先ＩＰアドレス取得部３８は、データ転送先のＩＰアドレスを所定の手法で取得する（Ｓ７０８）。本実施の形態ではクライアント４０Ａ、クライアント４０ＢのＩＰアドレスを取得する。このステップは、上記のステップＳ７０７に先行してもよい。
【００４７】
その後、変換装置３０は中継装置２０に転送メッセージを送信する（Ｓ７０９）。
変換装置３０の対中継装置通信部３１は、中継装置２０に対してクライアント４０Ａ、クライアント４０ＢのＩＰアドレスを転送メッセージとして送信する。また、中継装置２０に対して転送メッセージに付加してストリームデータなどのパケットのデータ加工用の情報を送信する。ここでは、データ加工用の情報として、クライアント４０Ａについては、動画の開始から５分の時点に３０秒間のギャンブル関連のＣＭデータを挿入し、一方、クライアント４０Ｂについては、動画の開始から５分の時点に３０秒間のスポーツ関連のＣＭデータを挿入するという上記のステップＳ７０７で作成された情報が用いられる。併せて、該当するギャンブル関連のＣＭデータおよびスポーツ関連のＣＭデータも中継装置２０に対して送信される。
なお、中継装置２０が複数設けられるシステムでは最適な中継装置２０が選択されることであってもよい。
【００４８】
中継装置２０の対変換装置通信部２２は、変換装置３０から宛先ＩＰアドレスを含む転送メッセージ（ストリームデータなどのパケットのデータ加工用の情報を含む）を受信し、中継装置２０のデータ加工部２７は、データ加工による変更後のファイルデータを作成する（Ｓ７１０）。なお、宛先ＩＰアドレスとしてのクライアント４０Ａ、クライアント４０ＢのＩＰアドレスは、中継装置２０自身で取得する構成であってもよい。
中継装置２０のデータ加工部２７は、サーバ１０からのストリームデータなどのパケットにより送信されたファイルデータについて、変換装置３０から受信したストリームデータなどのパケットのデータ加工用の情報を用いてデータ加工を施し、クライアント４０Ａ、クライアント４０Ｂそれぞれに対して個別に送信するデータ加工による変更後のファイルデータを作成する。すなわち、クライアント４０Ａについては、動画の開始から５分の時点に３０秒間のギャンブル関連のＣＭデータを挿入したファイルデータを作成し、一方、クライアント４０Ｂについては、動画の開始から５分の時点に３０秒間のスポーツ関連のＣＭデータを挿入したファイルデータを作成する。なお、変更後のファイルデータ自体を作成するのではなく、ストリームデータなどのパケットの送信順を制御し、クライアント側で変更後のファイルデータが再生されるようにすることであってもよい。
【００４９】
中継装置２０は、クライアント４０Ａ用に変更を加えたファイルデータ５０をクライアント４０Ａに送信し、またクライアント４０Ｂ用に変更を加えたファイルデータ５０をクライアント４０Ｂに送信する（Ｓ７１１）。この際、クライアント４０ＡのＩＰアドレス、クライアント４０ＢのＩＰアドレスを用いる。
クライアント４０Ａおよびクライアント４０Ｂは、ストリームを構成する複数のＲＴＰ／ＵＤＰ／ＩＰパケットの受信を開始し、バッファに受信したＲＴＰ／ＵＤＰ／ＩＰパケットからＭＰＥＧデータを取り出し、ＭＰＥＧデコーダ４１が必要とするデータレートで投与する。
中継装置２０は、送信したパケットのパケット最終フラグがセットされている場合、当該パケットをストリームの最終パケットと判断し、ストリームの送信を終了する。一方、クライアント４０Ａおよびクライアント４０Ｂは、ＭＰＥＧデコーダ４１に与えたＭＰＥＧデータを含むＲＴＰ／ＵＤＰ／ＩＰパケットにストリームの最終パケットを示す最終フラグがセットされていた場合ストリーム再生を終了する。
【００５０】
上記の本実施の形態によれば、アプリケーション層とネットワーク層をオーバーレイマルチキャストにおいて連携させ、ネットワーク帯域の消費やデータ転送のタイムラグを低減し、中継装置および変換装置のパケット処理負担を軽減することができる。
【００５１】
以下、本発明の第二の実施の形態について説明する。
上記の第一の実施の形態のシステム構成と基本的には同様であり、重複する説明は省略する。相違点は、上記の第一の実施の形態では、クライアント４０Ａおよびクライアント４０Ｂ用に変更を加えたファイルデータは、中継装置２０のデータ加工部２７が作成していたが、所定の条件下で変換装置３０で作成する点にある。上記の第一の実施の形態では、図７のステップＳ７１０で、中継装置２０の対変換装置通信部２２が変換装置３０から宛先ＩＰアドレスを転送メッセージ（ストリームデータなどのパケットのデータ加工用の情報を含む）を受信し、中継装置２０のデータ加工部２７がデータ加工による変更後のファイルデータを作成していた。
【００５２】
図８は、中継装置２０の構成を示すブロック図である。本実施の形態における中継装置２０は、処理能力確認部２８１、帯域確認部２８２および加工決定部２８３をさらに備える点で上記の第一の実施の形態の中継装置２０とは異なる。
【００５３】
処理能力確認部２８１は、中継装置２０自身のＣＰＵ２３の処理能力の空き具合および変換装置３０のＣＰＵ３３の処理能力の空き具合を確かめる。例えば、変換装置３０にＣＰＵ３３の処理能力の空き具合を問い合わせると、「７０％空いている」などの回答が得られる。
【００５４】
帯域確認部２８２は、ネットワーク１００の帯域の空き具合を確かめる。例えば、エコーメッセージが戻る時間を計測し、遅延の程度を確かめることであってもよい。
【００５５】
加工決定部２８３は、処理能力確認部２７が確かめた中継装置２０自身のＣＰＵ２３の処理能力の空き具合と、変換装置３０に問い合わせて確かめた変換装置３０のＣＰＵ３３の処理能力の空き具合とを比較し、さらに、帯域確認部２８が確かめたネットワーク１００の帯域の空き具合に応じて、各クライアント用に変更を加えたファイルデータを作成する装置を中継装置２０か変換装置３０かに決定する。例えば、変換装置３０のＣＰＵ３３が「７０％空いている」、かつ、エコーメッセージが戻る時間が短時間で、遅延が少ないので、各クライアント用に変更を加えたファイルデータを作成する装置を中継装置２０でなく変換装置３０と決定する。なお、この際の判断基準となる閾値等は所定の記憶部に保存されていてもよい。
【００５６】
図９は、変換装置３０の構成を示すブロック図である。本実施の形態における変換装置３０は、データ加工部３９をさらに備える点で上記の第一の実施の形態の中継装置２０とは異なる。
データ加工部３９は、中継装置２０からのストリームデータなどのパケットにより送信されたファイルデータについて、データ加工情報作成部３２で作成したストリームデータなどのパケットのデータ加工用の情報を用いてデータ加工を施し、クライアント４０Ａ、クライアント４０Ｂそれぞれに対して個別に送信するデータ加工による変更後のファイルデータを作成する。なお、対中継装置通信部３１はストリームデータなどのパケットの一部を中継装置２０から受け取ることであってもよい。データ加工に必要な部分のみで足りる場合があるからである。
【００５７】
以下、本実施の形態の処理動作について図１０のシーケンス図を参照して説明する。上記の第一の実施の形態と基本的には同様であり、重複する説明は省略する。相違点は、上記の第一の実施の形態の図７のステップＳ７１０である。この処理に相当する本実施の形態の処理は、以下のとおりである。
【００５８】
中継装置２０の対変換装置通信部２２は、変換装置３０から宛先ＩＰアドレスを転送メッセージ（ストリームデータなどのパケットのデータ加工用の情報を含む）を受信し、中継装置２０の処理能力確認部２８１は、中継装置２０自身のＣＰＵ２３の処理能力の空き具合および変換装置３０のＣＰＵ３３の処理能力の空き具合を確かめる。また中継装置２０の帯域確認部２８２は、ネットワーク１００の帯域の空き具合を確かめる（Ｓ１０１０）。
【００５９】
そして、中継装置２０の加工決定部２８３は、処理能力確認部２７が確かめた中継装置２０自身のＣＰＵ２３の処理能力の空き具合と、変換装置３０に問い合わせて確かめた変換装置３０のＣＰＵ３３の処理能力の空き具合とを比較し、さらに、帯域確認部２８が確かめたネットワーク１００の帯域の空き具合に応じて、各クライアント用に変更を加えたファイルデータを作成する装置を中継装置２０か変換装置３０かに決定する（Ｓ１０１１）。ここでは、変換装置３０のＣＰＵ３３が「７０％空いている」、かつ、エコーメッセージが戻る時間が短時間で、遅延が少ないので、各クライアント用に変更を加えたファイルデータを作成する装置を中継装置２０でなく変換装置３０と決定したものとする。
【００６０】
中継装置２０の対変換装置通信部２２は、変換装置３０に対して、各クライアント用に変更を加えたファイルデータを作成する装置を変換装置３０と決定した旨を通知する（Ｓ１０１２）。また、中継装置２０は、ストリームデータなどのパケットにより送信されたファイルデータを変換装置３０に対して送信する。なお、ストリームデータなどのパケットの一部を変換装置３０に対して送信することであってもよい。
【００６１】
変換装置３０のデータ加工部３９は、中継装置２０からのストリームデータなどのパケットにより送信されたファイルデータについて、データ加工情報作成部３２で作成したストリームデータなどのパケットのデータ加工用の情報を用いてデータ加工を施し、クライアント４０Ａ、クライアント４０Ｂそれぞれに対して個別に送信するデータ加工による変更後のファイルデータを作成する（Ｓ１０１３）。なお、データ加工情報作成部３２で作成したストリームデータなどのパケットのデータ加工用の情報は、すでに中継装置２０に送信したものを再度、中継装置２０から受信することであってもよい。
【００６２】
変換装置３０の対中継装置通信部３１は、クライアント４０Ａおよびクライアント４０Ｂ用に変更を加えたファイルデータをそれぞれ中継装置２０に送信する（Ｓ１０１４）。
【００６３】
そして、中継装置２０は、クライアント４０Ａ用に変更を加えたファイルデータ５０をクライアント４０Ａに送信し、またクライアント４０Ｂ用に変更を加えたファイルデータ５０をクライアント４０Ｂに送信する（Ｓ１０１５）。なお、ストリームデータなどのパケットの一部を変換装置３０に対して送信した場合、中継装置２０のデータ加工部２７は、サーバ１０からのストリームデータなどのパケットにより送信されたファイルデータについて、変換装置３０から受信したクライアント４０Ａおよびクライアント４０Ｂ用に変更を加えたファイルデータの一部を用いてデータ加工を施し、クライアント４０Ａ、クライアント４０Ｂそれぞれに対して個別に送信するデータ加工による変更後のファイルデータを作成することであってもよい。
【００６４】
上記の本実施の形態によれば、中継装置２０のＣＰＵ２３の処理能力の空き具合と、変換装置３０のＣＰＵ３３の処理能力の空き具合とに応じて２つのリソースを効率的に利用してパケット処理の迅速化を図ることができる。また、ネットワーク１００の帯域の空き具合を勘案することで、単純に２つのリソースの空き具合だけではなく、ネットワーク１００を介して変換装置３０にデータ転送する際の効率も加味することでより現実的にパケット処理の迅速化を図ることができる。
【００６５】
なお、各実施の形態において述べたような処理を実行するプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）、フロッピー（登録商標）ディスク、メモリカードなどの様々な記録媒体に記録された形態で提供することができる。そして、そのプログラムは、各装置のコンピュータの動作を制御し、プログラム制御された各装置が本発明の処理を実行する。
【００６６】
以上により本発明の実施の形態について説明した。なお、上述した実施形態は、本発明の好適な実施形態の一例を示すものであり、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【符号の説明】
【００６７】
１０    サーバ
２０    中継装置
３０    中継ノード（変換装置）
４０Ａ、４０Ｂ    クライアント
１００    ネットワーク
【図１】
2010278991.tif 000003
【図２】
2010278991.tif 000004
【図３】
2010278991.tif 000005
【図４】
2010278991.tif 000006
【図５】
2010278991.tif 000007
【図６】
2010278991.tif 000008
【図７】
2010278991.tif 000009
【図８】
2010278991.tif 000010
【図９】
2010278991.tif 000011
【図１０】
2010278991.tif 000012
【図１１】
2010278991.tif 000013
【図１２】
2010278991.tif 000014
【図１３】
2010278991.tif 000015
【図１４】
2010278991.tif 000016