(57)【要約】【課題】メインサーバからマルチキャスティングされた一定大きさ以上のマルチメディアデータをストリーム形態で受信する間にビデオストリームの遅延や接続断絶などの異常が発生する場合に、複数のオーディオ伝送経路のうちのその伝送速度の最も速いオーディオ伝送経路をビデオ伝送経路に設定するが、各々の伝送経路の遅延値と閾値に応じてレベルアップやレベルダウンおよびレベルシフトを通じて伝送経路を設定することにより、大容量のマルチメディアストリームが断絶することなく迅速に伝送できるようにするマルチキャスティングにおける最適経路ボーティング方法およびシステムを提供する。【解決手段】マルチメディアストリームを伝送するにおいて、最適な伝送経路を常に待機させ、より迅速で安定して伝送することができる。また、ビデオストリームの受信に異常がある場合、複数のオーディオ受信経路のうちの最も速度の速い伝送経路をビデオ受信経路に設定することにより、ビデオストリームを遅延や接続断絶することなく常に持続的に受信することができ、各伝送経路の遅延値に応じて伝送経路をレベルアップやレベルダウンおよびレベルシフトすることができる。【選択図】図３
2009512266.tif 000002
【特許請求の範囲】
【請求項１】
メインサーバからマルチキャスティングされるマルチメディアストリームを最も迅速で安定して受信する経路をボーティング（Ｖｏｔｉｎｇ）する最適経路ボーティングシステムであって、
前記メインサーバからマルチキャスティングされた前記マルチメディアストリームを最初に受信し、下位レベルの端末に中継伝送する中継型ブローカー端末；
自身に直接接続された前記中継型ブローカー端末からビデオストリームを受信し、残りの他の中継型ブローカー端末からオーディオストリームを受信するが、前記ビデオストリームの受信経路に異常がある場合に、各々のオーディオ伝送経路の受信量と伝送速度を比較し、最も速い伝送経路をボーティングして新しいビデオ伝送経路に設定し、受信した前記マルチメディアストリームを下位レベルの端末に中継伝送するボーティング中継型ブローカー端末；および
前記ボーティング中継型ブローカー端末から前記マルチメディアストリームを受信するが、自身と直接接続された前記ボーティング中継型ブローカー端末から前記ビデオストリームを受信し、残りの他のボーティング中継型ブローカー端末から前記オーディオストリームを受信し、前記ビデオストリームの伝送経路に異常がある場合に、複数のオーディオ伝送経路のうちの最も伝送の速いオーディオ伝送経路をボーティングして前記ビデオ伝送経路に設定し、前記ビデオストリームを受信するボーティング型ブローカー端末を含むことを特徴とするマルチキャスティングのための最適経路ボーティングシステム。
【請求項２】
前記中継型ブローカー端末は、
前記マルチメディアストリームを伝送するために接続するターゲットレベル情報と現在接続の速度情報値を格納する接続情報管理部；
データ伝送に必要な各種メッセージを処理し、遅延値（Ｌａｔｅｎｃｙ）に対する処理を行い、ダイナミックルーティング（Ｄｙｎａｍｉｃ  Ｒｏｕｔｉｎｇ）に対するコントロールを担当するデータ送受信コントロール部；
該チャネル（Ｓｕｂ  Ｓｔｒｅａｍ）別に接続を管理するメディアチャネル管理部；
前記マルチメディアストリームを下位レベルの端末に伝送する経路リスト情報を格納する下位リスト管理部；および
前記マルチメディアストリームを外部に送出するデータ送信部を含むことを特徴とする、請求項１に記載のマルチキャスティングのための最適経路ボーティングシステム。
【請求項３】
前記ボーティング中継型ブローカー端末は、
前記中継型ブローカー端末から送出された前記マルチメディアストリームを受信するデータ受信部；
上位レベルの端末から前記マルチメディアストリームを受信するための伝送経路リスト情報を格納する上位リスト管理部；
前記マルチメディアストリームを伝送するために接続するターゲットレベル情報と現在接続の速度情報値を格納する接続情報管理部；
データ伝送に必要な各種メッセージを処理し、遅延値（Ｌａｔｅｎｃｙ）に対する処理を行い、ダイナミックルーティング（Ｄｙｎａｍｉｃ  Ｒｏｕｔｉｎｇ）に対するコントロールを担当するデータ送受信コントロール部；
該チャネル（Ｓｕｂ  Ｓｔｒｅａｍ）別に接続を管理するメディアチャネル管理部；
前記マルチメディアストリームを下位レベルの端末に伝送する経路リスト情報を格納する下位リスト管理部；および
前記マルチメディアストリームを外部に送出するデータ送信部を含むことを特徴とする、請求項１に記載のマルチキャスティングのための最適経路ボーティングシステム。
【請求項４】
前記オーディオ伝送経路のオーディオ速度は、パケット大きさ＊２５６／（現在時刻−パケット伝送時間）／下位レベル（子）の総数によって得ることを特徴とする、請求項１に記載のマルチキャスティングのための最適経路ボーティングシステム。
【請求項５】
前記中継型ブローカー端末と前記ボーティング中継型ブローカー端末および前記ボーティング型ブローカー端末には、最適経路ボーティングプログラムが設けられていることを特徴とする、請求項１に記載のマルチキャスティングのための最適経路ボーティングシステム。
【請求項６】
前記下位リスト管理部および前記上位リスト管理部は、新しい接続設定時に既存の接続リストとの速度を比較し、降べきの順に速度を整列してリストを更新することを特徴とする、請求項３に記載のマルチキャスティングのための最適経路ボーティングシステム。
【請求項７】
前記データ受信部は、前記マルチメディアストリームを受信する間に接続遅延や接続断絶が発生する場合、前記上位リスト管理部の現在リストのうちの最も速度の速い最上位値を読み込んで伝送経路に設定し、接続経路に設定された前記伝送経路に対してはその速度値を１／２に下げて候補者リストを更新することを特徴とする、請求項３に記載のマルチキャスティングのための最適経路ボーティングシステム。
【請求項８】
前記マルチメディアストリームの受信経路がＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ）またはファイアウォール環境にある場合に、前記メインサーバから提供されたマルチメディアストリームはＴＣＰトンネルリングによって伝送され、中央サーバとしての前記メインサーバとの接続を維持し続けることを特徴とする、請求項６に記載のマルチキャスティングにおける最適経路ボーティングシステム。
【請求項９】
メインサーバから中継型ブローカー端末を通してマルチメディアストリームを受信し、下位レベルの端末に中継伝送するボーティング中継型ブローカー端末と、前記ボーティング中継型ブローカー端末から中継伝送された前記マルチメディアストリームを受信するボーティング型ブローカー端末とを含むシステムの最適経路ボーティング方法であって、
前記メインサーバから伝送経路を通してビデオおよびオーディオが含まれた前記マルチメディアストリームを受信する第１ステップ；
各々のオーディオ伝送経路の受信量と速度を比較し、伝送経路を上位リストおよび下位リストとして格納する第２ステップ；
ビデオストリームの受信に遅延や接続断絶を含む異常が発生したか否かを判断する第３ステップ；
ビデオ伝送経路の遅延平均値を求め、フラグ値を増加させ、設定閾値を超過するか否かを判断する第４ステップ；および
前記フラグ値が前記設定閾値を超過する時、前記各々のオーディオ伝送経路中の受信量と伝送速度を比較し、最も速い伝送経路をボーティングしてビデオストリームの受信経路に設定する第５ステップを含むことを特徴とするマルチキャスティングにおける最適経路ボーティング方法。
【請求項１０】
前記第４ステップの判断結果、前記ボーティング中継型ブローカー端末を基準に前記ボーティング中継型ブローカー端末と前記中継型ブローカー端末との間の１つの伝送経路に異常がある場合、前記ボーティング中継型ブローカー端末は、前記中継型ブローカー端末から速い伝送経路の下位接続情報を受信し、前記中継型ブローカー端末との接続を終了し、下位レベルの前記ボーティング型ブローカー端末に切り換え、前記下位接続情報を上位接続情報にして、前記上位接続情報に基づき、最も速い伝送経路の他のボーティング中継型ブローカー端末と新しい接続を設定することにより、伝送経路のレベルダウンを行うことを特徴とする、請求項９に記載のマルチキャスティングにおける最適経路ボーティング方法。
【請求項１１】
前記第４ステップの判断結果、前記ボーティング型ブローカー端末が前記ボーティング中継型ブローカー端末を通して前記マルチメディアストリームを受信する時、前記ボーティング型ブローカー端末と前記ボーティング中継型ブローカー端末間の全般的な伝送経路に異常がある場合、前記ボーティング型ブローカー端末は前記ボーティング中継型ブローカー端末から上位接続情報を受信し、前記上位接続情報に基づき、前記ボーティング中継型ブローカー端末との接続を終了し、他のボーティング中継型ブローカー端末に切り換え、最も速い伝送経路の他の中継型ブローカー端末と新しい接続を設定することにより、伝送経路のレベルアップを行うことを特徴とする、請求項９に記載のマルチキャスティングにおける最適経路ボーティング方法。
【請求項１２】
前記第４ステップの判断結果、前記ボーティング中継型ブローカー端末を基準に前記ボーティング中継型ブローカー端末と前記中継型ブローカー端末間の伝送経路に異常があり、それが１つの伝送経路に異常があることでもなく全般的な伝送経路に異常があることでもない場合に、前記中継型ブローカー端末との接続を終了し、上位リスト管理部の上位リストのうちの最も伝送経路の速い伝送経路を選択して該当の他の中継型ブローカー端末と新しい接続を設定することにより、伝送経路のレベルシフトを行うことを特徴とする、請求項９に記載のマルチキャスティングにおける最適経路ボーティング方法。
【請求項１３】
前記オーディオ伝送経路のオーディオ速度は、パケット大きさ＊２５６／（現在時刻−パケット伝送時間）／下位レベル（子）の総数によって得ることを特徴とする、請求項９に記載のマルチキャスティングにおける最適経路ボーティング方法。
【請求項１４】
前記マルチメディアストリームの受信経路がＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ）またはファイアウォール環境にある場合に、前記メインサーバから提供されたマルチメディアストリームはＴＣＰトンネルリングによって伝送され、中央サーバとしての前記メインサーバとの接続を維持し続けることを特徴とする、請求項９に記載のマルチキャスティングにおける最適経路ボーティング方法。
【請求項１５】
接続経路に設定された伝送経路に対しては、その速度値を１／２に下げて伝送経路リストを更新することを特徴とする、請求項９に記載のマルチキャスティングにおける最適経路ボーティング方法。
【請求項１６】
前記中継型ブローカー端末と前記ボーティング中継型ブローカー端末および前記ボーティング型ブローカー端末は、中継機能遂行プログラムにより、複数のマルチキャスティングルータを経由して前記メインサーバ内に搭載されたマルチキャスティング中継プログラムと１対１で通信し、前記メインサーバから提供される前記マルチメディアストリームを受信することを特徴とする、請求項９に記載のマルチキャスティングにおける最適経路ボーティング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット放送システムにおけるマルチキャスティング技術分野に関し、より詳しくは、メインサーバからマルチキャスティングされた一定大きさ以上のマルチメディアデータをストリーム形態で受信する間にビデオストリームの遅延や接続断絶などの異常が発生する場合に、複数のオーディオ伝送経路のうちのその伝送速度の最も速いオーディオ伝送経路をビデオ伝送経路に設定するが、各々の伝送経路の遅延値と閾値に応じてレベルアップやレベルダウンおよびレベルシフトを通じて伝送経路を設定することにより、大容量のマルチメディアストリームが断絶することなく迅速に伝送できるようにするマルチキャスティングにおける最適経路ボーティング方法およびシステムに関するものである。
【背景技術】
【０００２】
インターネット伝送において、ルータ（Ｒｏｕｔｅｒ）の構成を修正することが非常に難しくなることにより、最近では、ルータを全く修正せずに送信端からユニキャスト（Ｕｎｉｃａｓｔ）でデータを受信したクライアントが該受信データをアップロードして中継することにより、他のクライアントもデータを受信できるようにしたマルチキャスト方式が開発された。
【０００３】
図１は従来の１対１（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）伝送技法を適用したマルチキャストネットワーク概念図である。
【０００４】
図１に示すようにマルチキャスト方式は、データソース１０５があるネットワーク１１０のデータ伝送サーバ１０７からクライアント１３４が属しているネットワーク１３０に受信されたデータを再びアップロードすれば、該ネットワーク１３０の他のクライアント（１３６および１３８）はクライアント１３４からデータを受信する。つまり、ネットワークに属する中継クライアントがデータを受信すれば、該中継クライアントはリピーターとしての機能を行い、同一ネットワークに属する他のクライアントにも受信データを伝達することができる。この時、中継クライアントには中継機能遂行プログラムが設けられており、中継機能遂行プログラムによってマルチメディアストリームを他のクライアントに伝送する。
【０００５】
一方、中継クライアントを介してマルチメディアストリームを受信する他のクライアントにとっては、大容量のデータを受信するためには、最も速い伝送経路を有する中継クライアントを選択しなければならない。最も速い伝送経路を探す一般的な方式としては、最も少なめにルータを経由する「Ｎｅａｒｅｓｔ」方式と、通信で「Ａｃｋ」信号を伝送し、応答速度をチェックし、最も迅速に応答する経路を探す「Ｆａｓｔｅｓｔ」方式がある。
【０００６】
「Ｎｅａｒｅｓｔ」方式の場合、メディアサーバから伝送されるルータの経路のうちの最も少ない数のルータを採択し伝送経路を設定してデータをストリーミングする方式である。この場合、ルータ数が減少して負荷が減り、ルータ速度が速いと仮定したときに、迅速なデータ伝送による円滑なストリーミングを提供する。しかし、データ伝送によるストリーミング速度はルータ数（ホップ数）に絶対的に比例するものではないため、速度が低下したルータ３個を通過するよりは速度の速いルータ４個を選別して経路を設定しデータを伝送することが効果的であることもある。
【０００７】
「Ｆａｓｔｅｓｔ」方式の場合、メディアサーバから伝送されるルータのうちの最も応答速度が速いルータだけを選別し、そのルータだけで経路を設定しデータを伝送してストリーミングする方式である。この方式は、「Ｎｅａｒｅｓｔ」方式に比べ、遥かに信頼性があり、データ伝送速度が速い長所がある。
【０００８】
しかし、「Ｆａｓｔｅｓｔ」方式も絶対的であるとは言えず、これは、応答速度だけで大容量のデータを伝送するのに適しているとは言い難いためである。つまり、帯域幅の大きさに応じて伝送大きさが変わるのと同じように、小さい帯域幅の応答速度が速いからといって大きい帯域幅を有するものより大容量のデータを伝送すると見ることができないためである。また、ネットワークの速度は常に変化する流動的な特性上、その経路が絶対的であるとは言えない。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記の問題点を解決するために、本発明は、メインサーバからマルチキャスティングされた一定大きさ以上のマルチメディアデータをストリーム形態で受信する間にビデオストリームの遅延や接続断絶などの異常が発生する場合に、複数のオーディオ伝送経路のうちのその伝送速度の最も速いオーディオ伝送経路をビデオ伝送経路に設定するが、各々の伝送経路の遅延値と閾値に応じてレベルアップやレベルダウンおよびレベルシフトを通じて伝送経路を設定することにより、大容量のマルチメディアストリームが断絶することなく迅速に伝送できるようにするマルチキャスティングにおける最適経路ボーティング方法およびシステムを提供することをその目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明は、メインサーバからマルチキャスティングされるマルチメディアストリームを最も迅速で安定して受信する経路をボーティングする最適経路ボーティングシステムであって、前記メインサーバからマルチキャスティングされた前記マルチメディアストリームを最初に受信し、下位レベルの端末に中継伝送する複数の中継型ブローカー端末；最適経路ボーティングプログラムが設けられ、自身に直接接続された前記中継型ブローカー端末からビデオストリームを受信し、残りの他の中継型ブローカー端末からオーディオストリームを受信するが、前記ビデオストリームの受信経路に異常がある場合に、各々のオーディオ伝送経路に対して受信量と伝送速度を比較し、最も速い伝送経路をボーティングして新しいビデオ伝送経路に設定し、受信した前記マルチメディアストリームを下位レベルの端末に中継伝送する複数のボーティング中継型ブローカー端末；および最適経路ボーティングプログラムが設けられ、前記ボーティング中継型ブローカー端末から前記マルチメディアストリームを受信するが、自身と直接接続された前記ボーティング中継型ブローカー端末から前記ビデオストリームを受信し、残りの他のボーティング中継型ブローカー端末から前記オーディオストリームを受信し、前記ビデオストリームの伝送経路に異常がある場合に、複数のオーディオ伝送経路のうちの最も伝送の速いオーディオ伝送経路をボーティングして前記ビデオ伝送経路に設定し、前記ビデオストリームを受信するボーティング型ブローカー端末を含むことを特徴とするマルチキャスティングのための最適経路ボーティングシステムを提供する。
【００１１】
また、本発明の他の目的によれば、メインサーバから中継型ブローカー端末を通してマルチメディアストリームを受信し、下位レベルの端末に中継伝送するボーティング中継型ブローカー端末と、前記ボーティング中継型ブローカー端末から中継伝送された前記マルチメディアストリームを受信するボーティング型ブローカー端末とを含むシステムの最適経路ボーティング方法であって、前記メインサーバから伝送経路を通してビデオおよびオーディオが含まれた前記マルチメディアストリームを受信する第１ステップ；各々のオーディオ伝送経路に対して受信量と速度を比較し、伝送経路上位リストおよび伝送経路下位リストとして格納する第２ステップ；ビデオストリームの受信に遅延や接続断絶を含む異常が発生したか否かを判断する第３ステップ；前記各々のオーディオ伝送経路の遅延値により、遅延平均値が設定閾値を超過したか否かを判断し、１つの伝送経路に異常があるか、あるいは全般的な伝送経路に異常があるかを判断する第４ステップ；前記各々のオーディオ伝送経路中の受信量と伝送速度を比較し、最も速い伝送経路をボーティングしてビデオストリームの受信経路に設定する第５ステップを含むことを特徴とするマルチキャスティングにおける最適経路ボーティング方法を提供する。
【発明の効果】
【００１２】
マルチメディアストリームを伝送するにおいて、最適な伝送経路を常に待機させ、より迅速で安定して伝送することができる。また、ビデオストリームの受信に異常がある場合、複数のオーディオ受信経路のうちの最も速度の速い伝送経路をビデオ受信経路に設定することにより、遅延や断絶することなくビデオストリームを常に続けて受信することができる。
【００１３】
最も速い最適な経路を設定するにおいて、各伝送経路の遅延値に応じて伝送経路をレベルアップやレベルダウンおよびレベルシフトをすることができる。
【００１４】
また、随時に発生するトラフィック状況に予め自動的に備え、一定の累積時間の間にデータの遅延が発生すれば、中継者候補のうちの次善の経路に切り換えることによってデータ伝送の連続性を最大に保障できる長所がある。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の好ましい実施形態を添付図面に基づいて詳細に説明する。
【００１６】
各図面の構成要素に参照符号を付するにおいて、同一構成要素については他の図面上に表示する場合でも出来るだけ同一符号を付するようにしている。
【００１７】
また、本発明を説明するにおいて、関連の公知構成または機能に関する具体的な説明が本発明の要旨を濁す恐れがあると判断される場合にはその詳細な説明は省略する。
【００１８】
先ず、本発明の理解を助けるために、本発明の基本的な概念と実施形態で説明される「ボーティング（Ｖｏｔｉｎｇ）」という用語について説明する。
【００１９】
本発明では、メインサーバ（Ｄｉｓｐａｔｃｈｅｒ：Ｃａｓｔ  ３６５  Ｐｌｕｓ  Ｓｅｒｖｅｒ）から送出されたマルチメディアストリームに対し、最初に受信して下位レベルの端末に中継する複数の端末を第１レベル親（Ｐａｒｅｎｔ）端末といい、第１レベル親端末を通してマルチメディアストリームが提供される端末を第２レベル子（Ｃｈｉｌｄ）端末という。
【００２０】
また、第２レベル子端末が第１レベル親端末からマルチメディアストリームを受信して下位の第３レベルの端末に中継する場合、第２レベル子端末は第２レベル親端末となり、第２レベル親端末を通してマルチメディアストリームが提供される端末は第３レベル子端末となる。
【００２１】
ここで、メインサーバから最適な経路を通してマルチメディアストリームを受信し、下位の第２レベルの端末に送出する第１レベル親端末や、第１レベル親端末からボーティング経路を通してマルチメディアストリームを受信し、下位の第３レベル子端末に中継する第２レベル親端末などに対し、マルチメディアストリームを受信して下位レベルの端末に中継するという意味で「ブローカー（Ｂｒｏｋｅｒ）端末」と称する。
【００２２】
一方、本発明は、ツリー構造のマルチメディア伝送の中継システムにおいて、ビデオおよびオーディオデータからなる伝送ストリームを構成するデータのうちの２番目に大きい大容量のオーディオデータに対し、基本的に１０個程度の中継者候補を介して続けてデータを受信し、その状態を更新しつつリストを維持することにより、常に最適な中継者候補を探すようにする。ここで、候補者数は設定ファイルで任意に調節することができる。
【００２３】
この時、受信中のビデオストリームの接続遅延や接続断絶時に、既存のオーディオデータパケットで受信中である複数の候補者中継リストのうち、「受信量」と「伝送速度」を各々比較して最も速度の速い最上位値を有する優れたオーディオ経路をビデオ伝送経路として決定することを「ボーティング（Ｖｏｔｉｎｇ）」するという。
【００２４】
よって、第１レベルのブローカー端末は、メインサーバ（Ｄｉｓｐａｔｃｈｅｒ）からマルチメディアストリームを一方的に受信し、下位第２レベルのブローカー端末に中継伝送するものであり、中継機能を強調する端末であるため、「中継型ブローカー端末」と称する。
【００２５】
また、第２レベルのブローカー端末は、上位の第１レベル親端末からボーティング過程を通じて最も伝送の速い経路でマルチメディアストリームを受信し、また、中継機能により下位の第３レベル子端末に中継伝送するため、ボーティング機能と中継機能を兼ねる「ボーティング中継型ブローカー端末」と称する。
【００２６】
また、第３レベルのブローカー端末は、最終ステップのレベル端末であり、中継機能はせず、マルチメディアストリームをボーティング経路を通して受信だけをするため、ボーティング機能を強調する「ボーティング型ブローカー端末」と称する。
【００２７】
前述したように、上位レベルのブローカー端末からマルチメディアストリームを受信する立場である場合には子端末となり、子端末ではあるが受信したマルチメディアストリームを下位レベルのブローカー端末に中継する場合にはそのレベルの親端末となり、Ｎレベルの伝送経路である場合にも同様に適用される。
【００２８】
以下、本発明の実施形態では３段階レベルの伝送経路を例にして説明するが、Ｎ段階レベルの伝送経路にも同じように適用できることは明らかである。
【００２９】
図２は本発明の実施形態に係るマルチキャスティングにおける最適経路ボーティングシステム２００の構成を概略的に示す構成図である。
【００３０】
本発明の実施形態に係る最適経路ボーティングシステム２００は、メインサーバ（Ｄｉｓｐａｔｃｈｅｒ）２１０、中継型ブローカー端末（２２０〜２２８）、ボーティング中継型ブローカー端末（２３０〜２３８）、ボーティング型ブローカー端末（２４０〜２４８）などを含む構成になっている。
【００３１】
メインサーバ２１０は「Ｃａｓｔ  ３６５  Ｐｌｕｓ  Ｓｅｒｖｅｒ」であって、動画とビデオおよびオーディオを含む放送用マルチメディアデータをストリーム形態でマルチキャスティングする。
【００３２】
中継型ブローカー端末（２２０〜２２８）は、メインサーバ２１０からマルチキャスティングされたマルチメディアストリームを最初に受信し、ネットワークに接続されたクライアント端末や下位レベルのブローカー端末にマルチキャスティングルータを介してトンネリングを行って中継伝送する。つまり、マルチメディア伝送のブローカー端末において中継機能を強調する端末である。
【００３３】
ボーティング中継型ブローカー端末（２３０〜２３８）には最適経路ボーティングプログラムが設けられており、自身に直接接続された中継型ブローカー端末２２０からビデオストリームを受信し、残りの中継型ブローカー端末（２２２〜２２８）からオーディオストリームを受信するが、ビデオストリームの伝送経路に異常がある場合には、前述したボーティング過程により、最も伝送の速いオーディオ伝送経路をビデオ伝送経路に設定してビデオストリームを受信し、中継型ブローカー端末から受信したマルチメディアストリームを下位レベルのボーティング型ブローカー端末（２４０〜２４８）に中継伝送する。
【００３４】
ボーティング型ブローカー端末（２４０〜２４８）には最適経路ボーティングプログラムが設けられており、ボーティング中継型ブローカー端末（２３０〜２３８）からマルチメディアストリームをマルチキャスティングルータを通して受信するが、自身と直接接続されたボーティング中継型ブローカー端末２３０からビデオストリームを受信し、残りのボーティング中継型ブローカー端末（２３２〜２３８）からオーディオストリームを受信し、ビデオストリームの伝送経路に異常またはエラーがある場合には、前述したボーティング過程をより、複数のオーディオ伝送経路のうちの最も伝送の速いオーディオ伝送経路をビデオ伝送経路に設定してビデオストリームを受信する。
【００３５】
メインサーバ２１０にはマルチキャスティング中継プログラムが設けられており、メインサーバ２１０はマルチキャスティング中継プログラムと各クライアント端末間で通信を行うための中継機能遂行プログラムを各クライアント端末へダウンロードさせ、ボーティング中継型ブローカー端末（２３０〜２３８）およびボーティング型ブローカー端末（２４０〜２４８）にはメインサーバ２１０からダウンロードした中継機能遂行プログラムが設けられている。
【００３６】
中継機能遂行プログラムは、複数のマルチキャスティングルータを経由してメインサーバ２１０内に搭載されたマルチキャスティング中継プログラムと１対１で通信し、メインサーバ２１０から提供されるマルチメディアストリームを受信する。
【００３７】
図３は中継型ブローカー端末２２０の内部構成を概略的に示す構成図である。
【００３８】
図３に示すように、中継型ブローカー端末２２０は、マルチメディアストリームを伝送するために接続するターゲットレベル情報と現在接続の速度情報値を格納する接続情報管理部３１０、データ伝送に必要な各種メッセージを処理し、遅延値（Ｌａｔｅｎｃｙ）に対する処理を行い、ダイナミックルーティング（Ｄｙｎａｍｉｃ  Ｒｏｕｔｉｎｇ）に対するコントロールを担当（ｍａｘＡｃｃｕｍＬａｔｅｎｃｙの到達時に処理）するデータ送受信コントロール部３２０、該チャネル（Ｓｕｂ  Ｓｔｒｅａｍ）別に接続を管理するメディアチャネル管理部３３０、マルチメディアストリームを下位レベルの端末に伝送する経路リスト情報を格納する下位リスト管理部３４０、およびマルチメディアストリームを外部に送出するデータ送信部３５０などを含む構成になっている。
【００３９】
ここで、データ送信部３５０の場合、下位レベルの子端末との接続状態をチェックしてダイナミックルーティングがなされるようにする。
【００４０】
図４はボーティング中継型ブローカー端末２３０の内部構成を概略的に示す構成図である。
【００４１】
図４のボーティング中継型ブローカー端末２３０は、中継型ブローカー端末２２０と同一内部構成要素に、中継型ブローカー端末２２０から送出されたマルチメディアストリームを受信するデータ受信部４１０と、上位レベルの端末からマルチメディアストリームを受信するための伝送経路リスト情報を格納する上位リスト管理部４２０をさらに含む構成になっている。
【００４２】
ここで、下位リスト管理部３４０および上位リスト管理部４２０は、ビデオ伝送経路の他に複数のオーディオ伝送経路を格納しているが、次の（式１）のように得られたオーディオストリームの伝送速度を比較し、速い順にリスト情報を整列して格納している。
（式１）
オーディオ速度＝パケット大きさ＊２５６／（現在時刻−パケット伝送時刻）／子の総数
【００４３】
よって、下位リスト管理部３４０および上位リスト管理部４２０は、新しく接続する時に、既存の接続リストとの速度を比較し、降べきの順に速度を整列してリストを更新する。
【００４４】
データ受信部４１０は、マルチメディアストリームを受信する間に接続遅延や接続断絶が発生する場合、上位リスト管理部４２０の現在リストのうちの最上位値、すなわち最も速度の速い値を読み込んで伝送経路に設定する。また、接続経路に設定された伝送経路に対してはその速度値を１／２に下げて候補者リストを更新する。
【００４５】
次に、前述したように構成された本発明の実施形態に係る最適経路ボーティングシステム２００の動作について説明する。
【００４６】
本発明の実施形態において、遅延値（Ｌａｔｅｎｃｙ）は第１レベルの親端末と第２レベルの子端末との間のパケット伝送に対する遅延を表す。また、受信遅延値（Ｒｅｃｅｉｖｅ  Ｌａｔｅｎｃｙ）は子端末がパケットを受信すべき時間と実際に受信した時間との差を表す。また、伝送遅延値（Ｓｅｎｄ  Ｌａｔｅｎｃｙ）はパケットを伝送すべき時間と実際に伝送した時間との差を表す。そして、累積遅延値（Ａｃｃｕｍｕｌａｔｅ  Ｌａｔｅｎｃｙ）は遅延の蓄積値であり、該値が設定値を超過する場合にダイナミックルーティングが発生する。
【００４７】
一方、本発明において、上位リスト（Ｓｅｎｉｏｒ  Ｌｉｓｔ）は子端末にとって自身にマルチメディアストリームを送信するブローカー端末のリストであり、下位リスト（Ｊｕｎｉｏｒ  Ｌｉｓｔ）は親端末にとって自身からマルチメディアストリームを受信するブローカー端末のリストである。
【００４８】
よって、子端末にとってブローカー端末がレベルダウンをする時、新しく接続される親端末が子端末の親端末に下位リストを要請して得、新しい親端末は新しく接続する子端末に下位リストを渡す。この時、子端末にとっては上位リストとなる。
【００４９】
また、上位および下位接続に対するオーディオパケットはストリーム接続によって伝送され、応答を先にしたパケット順に伝送する。
【００５０】
図５は、本発明の実施形態に係るマルチキャスティングにおける最適経路ボーティング方法において、伝送経路をレベルダウンする過程を説明するためのフローチャートである。
【００５１】
先ず、レベルダウンは、ボーティング中継型ブローカー端末２３０が上位親レベルの中継型ブローカー端末２２０からマルチメディアストリームを受信する間に、自身との経路に異常が発生して自身との経路を１段階ダウンする方法である。
【００５２】
子レベルのボーティング中継型ブローカー端末２３０はメインサーバ２１０から親レベルの中継型ブローカー端末２２０を通してマルチメディアストリームを受信するが、ビデオストリームは第１番目の中継型ブローカー端末２２０から受信し、オーディオストリームは残りの他の中継型ブローカー端末（２２２〜２２８）から受信する（Ｓ５０２）。
【００５３】
子端末としてのボーティング中継型ブローカー端末２３０は、サブストリームで受信される各々のオーディオ伝送経路に対して伝送量と速度を比較し、最も優れた経路から経路リストとして上位リスト管理部４２０に格納管理する（Ｓ５０４）。
【００５４】
その次、ボーティング中継型ブローカー端末２３０は、マルチメディアストリームを受信する間に遅延や接続断絶などの異常があるか否かを判断する（Ｓ５０６）。
【００５５】
マルチメディアストリームを受信する間に異常が発生した場合、ボーティング中継型ブローカー端末２３０は、ビデオストリームの伝送経路を初めとする他の全てのオーディオ伝送経路に対し、各々の経路に対する遅延値を得た後、全体的な遅延平均値（Ａｖｅｒａｇｅ  Ｌａｔｅｎｃｙ）を求め、フラグ値（ＤｏｗｎＣｏｕｎｔ）を増加させ、設定閾値を超過するか否かを判断し、上位の親端末と自身だけの異常であるか、あるいは全体受信経路に異常があるかを判断する（Ｓ５０８）。ここで、遅延平均値が全体伝送経路の１／２以上である場合には全体的に良くないものとして認識する。
【００５６】
親レベルの中継型ブローカー端末２２０と子レベルのボーティング中継型ブローカー端末２３０自身との間の異常であると判断された場合（Ｓ５１０）、子レベルのボーティング中継型ブローカー端末２３０は第１レベルの中継型ブローカー端末２２０から速い伝送経路の下位接続情報を受信する（Ｓ５１２）。つまり、第１レベルの中継型ブローカー端末２２０は、下位子レベルへの伝送に異常が発生する場合、下位リスト管理部３４０から下位接続情報を読み込んで第２レベルのボーティング中継型ブローカー端末２３０に提供する。
【００５７】
よって、第２レベル子のボーティング中継型ブローカー端末２３０は、第１レベル親の中継型ブローカー端末２２０との接続を終了し、自身に対して子レベルである第３レベルのボーティング型ブローカー端末２４２に切り換える（Ｓ５１４）。つまり、設定値の閾値を比較して閾値を超過する場合に、伝送経路設定のレベルダウンが発生するようになる。
【００５８】
次に、ボーティング型ブローカー端末２４２は、中継型ブローカー端末２２０から受信した下位接続情報を上位リスト管理部４２０に上位接続情報として格納し、上位接続情報に基づき、第２レベルの親端末のうちの最も速い伝送経路のボーティング中継型ブローカー端末２３２と新しい接続を設定する（Ｓ５１６）。
【００５９】
よって、ボーティング型ブローカー端末２４２は、最も速い伝送経路の新しいボーティング中継型ブローカー端末２３２を通し、マルチメディアストリームが断絶することなく安定して受信することができる。
【００６０】
図６は、発明の実施形態に係るマルチキャスティングにおける最適経路ボーティング方法において、伝送経路をレベルアップする過程を説明するためのフローチャートである。
【００６１】
先ず、レベルアップは、子レベルのボーティング型ブローカー端末２４０が上位親レベルのボーティング中継型ブローカー端末２３０からマルチメディアストリームを受信する経路に遅延や接続断絶などの異常が発生し、その経路異常が全体経路のうちの１／２以上である場合に上位親端末との伝送経路をレベルアップさせる方法である。
【００６２】
子レベルのボーティング型ブローカー端末２４０は、メインサーバ２１０から中継型ブローカー端末２２０および親レベルのボーティング中継型ブローカー端末２３０を通してマルチメディアストリームを受信する（Ｓ６０２）。
【００６３】
子端末としてのボーティング型ブローカー端末２４０は、サブストリームで受信される各々のオーディオ伝送経路に対して伝送量と速度を比較し、最も優れた伝送経路から経路（Ｐａｔｈ）リストとして上位リスト管理部４２０に格納管理する（Ｓ６０４）。
【００６４】
その次、ボーティング型ブローカー端末２４０は、マルチメディアストリームを受信する間に遅延や接続断絶などの異常があるか否かを判断する（Ｓ６０６）。
【００６５】
マルチメディアストリームの受信に異常が発生した場合、ボーティング型ブローカー端末２４０は、ビデオストリームの伝送経路を初めとする他の全てのオーディオ伝送経路に対し、各々の経路に対する遅延値を得て全体的な遅延平均値（Ａｖｅｒａｇｅ  Ｌａｔｅｎｃｙ）を求め、フラグ値（ＵｐＣｏｕｎｔ）を増加させ、設定閾値を超過するか否かを判断し、上位の親端末と自身だけの異常であるか、あるいは全体受信経路に異常があるかを判断する（Ｓ６０８）。ここで、遅延平均値が全体伝送経路の１／２以上である場合に、親レベルのボーティング中継型ブローカー端末２３０を通して受信する全般的な受信経路の接続状況が良くないものとして認識する。
【００６６】
フラグ値を増加させ、設定閾値と比較して閾値を超過した場合（Ｓ６１０）、子レベルのボーティング型ブローカー端末２４０は第２レベル親端末であるボーティング中継型ブローカー端末２３０から速い伝送経路の上位接続情報を受信する（Ｓ６１２）。つまり、第２レベルのボーティング中継型ブローカー端末２３０は、下位子レベルへの伝送に異常が発生する場合、上位リスト管理部４２０から上位接続情報を読み込んで第３レベルのボーティング型ブローカー端末２４０に提供する。
【００６７】
よって、第３レベル子端末であるボーティング型ブローカー端末２４０は、第２レベル親端末である第１番目のボーティング中継型ブローカー端末２３０との接続を終了し、自身に対して親レベルである第２レベルの第２番目のボーティング中継型ブローカー端末２３２に切り換える（Ｓ６１４）。
【００６８】
次に、新しいボーティング中継型ブローカー端末２３２は、その前の中継型ブローカー端末２２０から受信した上位接続情報に基づき、第１レベルの中継型ブローカー端末のうちの最も速い伝送経路の新しい中継型ブローカー端末２２２と新しい接続を設定する（Ｓ６１６）。
【００６９】
したがって、最下位子レベルのボーティング型ブローカー端末２４０は、上位親レベルのボーティング中継型ブローカー端末２３２にレベルアップし、上位第１レベルに対して子レベルであったボーティング中継型ブローカー端末２３０は、上位親レベルとの関係を判断した後、中継型ブローカー端末２２２とダイナミックルーティングをするようになる。
【００７０】
図７は、本発明の実施形態に係るマルチキャスティングにおける最適経路ボーティング方法において、伝送経路をレベルシフトする過程を説明するためのフローチャートである。
【００７１】
先ず、レベルシフトは、前述したレベルダウンやレベルアップの条件に該当しないときに発生する動作であり、子レベルのボーティング中継型ブローカー端末２３０が上位親レベルの第１番目の中継型ブローカー端末２２０からマルチメディアストリームを受信する経路に遅延や接続断絶などの異常が発生し、上位親端末との伝送経路をシフトさせる方法である。よって、レベルシフトの閾値は常にレベルアップやレベルダウンの閾値よりは小さい。
【００７２】
子レベルのボーティング中継型ブローカー端末２３０は、メインサーバ２１０から親レベルの中継型ブローカー端末２２０を通してマルチメディアストリームを受信するが、ビデオストリームは第１番目の中継型ブローカー端末２２０を通して受信し、オーディオストリームは残りの他の中継型ブローカー端末（２２２〜２２８）を通して受信する（Ｓ７０２）。
【００７３】
子端末としてのボーティング中継型ブローカー端末２３０は、サブストリームで受信される各々のオーディオ伝送経路に対して伝送量と速度を比較し、最も優れた伝送経路から経路リストとして上位リスト管理部４２０に格納管理する（Ｓ７０４）。
【００７４】
その次、ボーティング中継型ブローカー端末２３０は、マルチメディアストリームを受信する間に遅延（Ｌａｔｅｎｃｙ）や接続断絶などの異常があるかないかを判断する（Ｓ７０６）。
【００７５】
マルチメディアストリームを受信する間に異常が発生した場合、ボーティング中継型ブローカー端末２３０は、ビデオストリームの伝送経路に対して遅延平均値（Ａｖｅｒａｇｅ  Ｌａｔｅｎｃｙ）を求め、フラグ値を増加させ、レベルシフト（ＳｈｉｆｔＣｏｕｎｔ）設定閾値を超過したか否かを判断する（Ｓ７０８）。
【００７６】
フラグ値がレベルシフト設定閾値を超過すると判断された場合（Ｓ７１０）、子レベルのボーティング中継型ブローカー端末２３０は、第１レベル親端末である中継型ブローカー端末２２０との接続を終了し、上位リスト管理部４２０の上位リストのうちの最も伝送経路の速い伝送経路を選択して新しい接続を設定する（Ｓ７１２）。
【００７７】
よって、ボーティング中継型ブローカー端末２３０がマルチメディアストリームを受信する間に異常が発生する場合、ビデオ経路に対して遅延平均値を求め、フラグ値を増加させ、レベルシフト閾値を超過する場合に、上位レベルの親端末をシフトして新しい接続を設定することにより、マルチメディアストリームの受信が断絶することなく持続的に行うことができる。
【００７８】
また、マルチメディアストリームの受信経路がＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ）またはファイアウォール環境にある場合に、メインサーバ２１０から提供されたマルチメディアストリームはＴＣＰトンネルリングによって伝送され、中央サーバであるメインサーバ２１０との接続を維持し続けることができる。つまり、パブリックＩＰを有しているブローカー端末がＮＡＴ中にあるブローカー端末に直接接続できないため、先ずメインサーバ２１０に自身の接続情報を伝達して逆接続（Ｒｅｖｅｒｓｅ  Ｃｏｎｎｅｃｔｉｏｎ）を要請すれば、メインサーバ２１０はＮＡＴ中にあるブローカー端末に逆接続の要請があったことを通知しつつ、逆接続を要請したブローカー端末の接続情報を伝達し、ＮＡＴ中にあるブローカー端末がその接続情報を用いてパブリックＩＰブローカー端末に接続するようになる。
【００７９】
一方、中継型ブローカー端末やボーティング型ブローカー端末は、１つのオーディオ伝送経路がビデオ伝送経路に切り換えると、オーディオデータを受信するために残りの予備経路のうちの１つをオーディオ伝送経路に追加する。よって、常に最適な中継者候補を待機させることによってマルチメディアストリームの大容量データをより速く受信することができる。
【００８０】
前述したように本発明によれば、メインサーバからマルチキャスティングされた一定大きさ以上のマルチメディアデータをストリーム形態で受信する間にビデオストリームの遅延や接続断絶などの異常が発生する場合に、複数のオーディオ伝送経路のうちの最も伝送速度の速いオーディオ伝送経路をビデオ伝送経路に設定するが、各々の伝送経路の遅延値閾値に応じてレベルアップやレベルダウンおよびレベルシフトを通じて伝送経路を設定することにより、大容量のマルチメディアストリームが断絶することなく迅速に伝送できるようにするマルチキャスティングにおける最適経路ボーティング方法およびシステムを実現することができる。
【００８１】
以上の説明は本発明の技術思想を例示的に説明したものに過ぎず、本発明が属する技術分野で通常の知識を有する者であれば、本発明の本質的な特性から逸脱しない範囲内における多様な修正および変形が可能である。
【００８２】
よって、本発明に開示された実施形態は本発明の技術思想を限定するためのものではなく説明するためのものであって、このような実施形態によって本発明の技術思想の範囲が限定されるものではない。
【００８３】
本発明の保護範囲は特許請求の範囲によって解釈すべきであり、それと同等な範囲内にある全ての技術思想は本発明の権利範囲に含まれると解釈しなければならない。
【図面の簡単な説明】
【００８４】
【図１】従来の１対１（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）伝送技法を適用したマルチキャストネットワーク概念図である。
【図２】本発明の実施形態に係る最適経路ボーティングシステムの構成を概略的に示す構成図である。
【図３】中継型ブローカー端末２２０の内部構成を概略的に示す構成図である。
【図４】ボーティング中継型ブローカー端末２３０の内部構成を概略的に示す構成図である。
【図５】本発明の実施形態に係るマルチキャスティングにおける最適経路ボーティング方法において、上位の親端末と下位の子端末間における伝送経路の異常でレベルダウンする過程を説明するためのフローチャートである。
【図６】本発明の実施形態に係るマルチキャスティングにおける最適経路ボーティング方法において、上位の親端末と下位の子端末間における伝送経路の異常でレベルアップする過程を説明するためのフローチャートである。
【図７】本発明の実施形態に係るマルチキャスティングにおける最適経路ボーティング方法において、上位の親端末と下位の子端末間における伝送経路の異常でレベルシフトする過程を説明するためのフローチャートである。
【符号の説明】
【００８５】
１０５：データソース
１０７：データ伝送サーバ
１０９：第１ルータ
１１０：データソース側ネットワーク
１２０：インターネット
１３０：クライアント側ネットワーク
１３２：第２ルータ
１３４〜１３８：クライアント
２００：最適経路ボーティングシステム
２１０：メインサーバ
２２０〜２２８：中継型ブローカー端末
２３０〜２３８：ボーティング中継型ブローカー端末
２４０〜２４８：ボーティング型ブローカー端末
３１０：接続情報管理部
３２０：データ送受信コントロール部
３３０：メディアチャネル管理部
３４０：下位リスト管理部
３５０：データ送信部
４１０：データ受信部
４２０：上位リスト管理部
【図１】
2009512266.tif 000003
【図２】
2009512266.tif 000004
【図３】
2009512266.tif 000005
【図４】
2009512266.tif 000006
【図５】
2009512266.tif 000007
【図６】
2009512266.tif 000008
【図７】
2009512266.tif 000009
【国際調査報告】
2009512266.tif 000010
2009512266.tif 000011