(57)【要約】【課題】  アドホックネットワークのような各ノードが分散している環境において、マルチホップによるストリーミングを実現することができるデータ転送方法並びに通信システム及びノードを提供することを目的とする。【解決手段】  ノードが希望データを保持している送信者ノードから希望データを要求する受信者ノードへ希望データをストリーミングするための転送経路の検索要求に基づき、他のノードに対して転送経路の検索を行う転送経路制御手段と、転送経路の検索結果に基づいて決定された転送経路を記憶する転送経路記憶手段と、記憶された転送経路に基づき、転送先のノードとの間で転送経路の設定を行い、希望データの転送を行う転送制御手段とを備えることで達成される。【選択図】  図３
2005184392.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードが分散配置され、各ノードを介して、マルチホップにより通信を行う通信システムにおける、ノードであって：
希望データを保持している送信者ノードから前記希望データを要求する受信者ノードへ前記希望データをストリーミングするための転送経路の検索要求に基づき、他のノードに対して転送経路の検索を行う転送経路制御手段；
前記転送経路の検索結果に基づいて決定された転送経路を記憶する転送経路記憶手段：
前記記憶された転送経路に基づき、転送先のノードとの間で転送経路の設定を行い、前記希望データの転送を行う転送制御手段；
を備えることを特徴とするノード。
【請求項２】
請求項１に記載のノードにおいて、  
複数のデータ転送技術を備える通信手段；
を備え、
前記転送経路制御手段は、同様のデータ転送技術を備えるノードの検索を行い、
前記転送制御手段は、前記データ転送技術に基づき、転送先のノードとの間で転送経路の設定を行うことを特徴とするノード。
【請求項３】
複数のノードが分散配置され、各ノードを介して、マルチホップにより通信を行う通信システムにおけるデータ転送方法であって：
希望データを保持している送信者ノードから前記希望データを要求する受信者ノードへ前記希望データをストリーミングするための転送経路の検索要求に基づき、他のノードに対して転送経路の検索を行うステップ；
前記転送経路の検索結果に基づいて決定された転送経路を記憶するステップ；
前記記憶された転送経路に基づき、転送先のノードとの間で転送経路の設定を行うステップ；
前記転送先のノードに対して、前記希望データの転送を行うステップ；
を有することを特徴とするデータ転送方法。
【請求項４】
複数のノードが分散配置され、各ノードを介して、マルチホップにより通信を行う通信システムであって：
希望データを保持している送信者ノードは、前記希望データを要求する受信者ノードに対して、転送者ノードを介してストリーミング配信を行い、
前記少なくとも転送者ノードは、
前記送信者ノードから前記受信者ノードへ前記希望データを転送するための転送経路の検索要求に基づき、他のノードに対して転送経路の検索を行う転送経路制御手段；
前記転送経路の検索結果に基づいて決定された転送経路を記憶する転送経路記憶手段：
前記記憶された転送経路に基づき、転送先のノードとの間で転送経路の設定を行い、前記データの転送を行う転送制御手段；
を備えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散して配置されている装置間でデータストリーミングを行うデータ転送方法並びに通信システム及びノードに関する。
【背景技術】
【０００２】
ストリーミングは、ストリーミングデータを送信する側（送信者）とストリーミングデータを受信する側（受信者）とから構成される。従来、ＩＰベースで行われるストリーミング配信は、サーバ／クライアントモデルである。この場合、サーバは送信者であり、クライアントは受信者である。
【０００３】
また、ストリーミングは２種類に大別することが出来る。１つ目は、受信者が主導して、送信者に対してストリーミングデータの送信を依頼するタイプのストリーミングである。これを、オンデマンド型ストリーミングと呼ぶ。
【０００４】
２つ目は、送信者が主導して、受信者に対してストリーミングデータの配信を行うタイプのストリーミングである。これを、放送型ストリーミングと呼ぶ（例えば、特許文献１を参照）。
【０００５】
オンデマンド型ストリーミングでは、受信者（クライアント）はインターネットを介して送信者（サーバ）に接続し、１対１のデータ通信を行う。
【０００６】
また、IEEE1394やBluetooth等を用いたストリーミングの場合も、受信者（クライアント）は送信者（サーバ）と直接１対１で接続を行う。
【０００７】
次に、従来のストリーミングについて、図１を参照して説明する。
【０００８】
まず、受信者１（クライアント）は送信者４（サーバ）に対して、データの送信依頼を行う。データの送信依頼を受けた送信者４は、受信者１に対して、通信網５を介してストリーミングデータを送信する。受信者２、受信者３についても同様の手順により、送信者４から受信者２、３へストリーミングデータの送信が行われる。
【０００９】
このように、受信者と送信者は、インターネットを介して１対１の通信を行う。
【特許文献１】特開２００３−３７６２３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来技術には以下の問題がある。
上述したストリーミングでは、アドホックネットワークのような各ノードが分散している環境において、ストリーミングを実現することは困難である問題がある。
【００１１】
この理由として、アドホックネットワークでは、自端末の電波範囲内に、希望のデータを所有しているノードが存在しない場合があるためである。
【００１２】
また、様々なトランスポートプロトコル、例えばTCP(Transmission Control Protocol)、IEEE1394、Bluetooth等を用いた機器が混在している環境において、ストリーミングを実現することは困難であるという問題がある。
【００１３】
この理由として、自端末はBluetoothを用いた機器により通信を行っているが、Bluetoothを備えていない機器（他端末）が希望のデータを所有している場合があるためである。
【００１４】
そこで、本発明の目的は、アドホックネットワークのような各ノードが分散している環境において、マルチホップによるストリーミングを実現することができるデータ転送方法並びに通信システム及びノードを提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明に係る通信システムにおけるノードは、複数のノードが分散配置され、各ノードを介して、マルチホップにより通信を行う通信システムにおける、ノードであって、希望データを保持している送信者ノードから希望データを要求する受信者ノードへ希望データをストリーミングするための転送経路の検索要求に基づき、他のノードに対して転送経路の検索を行う転送経路制御手段と、転送経路の検索結果に基づいて決定された転送経路を記憶する転送経路記憶手段と、記憶された転送経路に基づき、転送先のノードとの間で転送経路の設定を行い、希望データの転送を行う転送制御手段とを備えるものである。
【００１６】
さらに、複数のデータ転送技術を備える通信手段を備え、転送経路制御手段は、同様のデータ転送技術を備えるノードの検索を行い、転送制御手段は、データ転送技術に基づき、転送先のノードとの間で転送経路の設定を行うようにしてもよい。
【００１７】
また、本発明に係る通信システムにおけるデータ転送方法は、複数のノードが分散配置され、各ノードを介して、マルチホップにより通信を行う通信システムにおけるデータ転送方法であって、希望データを保持している送信者ノードから希望データを要求する受信者ノードへ希望データをストリーミングするための転送経路の検索要求に基づき、他のノードに対して転送経路の検索を行うステップと、転送経路の検索結果に基づいて決定された転送経路を記憶するステップと、記憶された転送経路に基づき、転送先のノードとの間で転送経路の設定を行うステップと、転送先のノードに対して、希望データの転送を行うステップとを有する方法である。
【００１８】
また、本発明に係る通信システムは、複数のノードが分散配置され、各ノードを介して、マルチホップにより通信を行う通信システムであって、希望データを保持している送信者ノードは、希望データを要求する受信者ノードに対して、転送者ノードを介してストリーミング配信を行い、少なくとも転送者ノードは、送信者ノードから受信者ノードへ希望データを転送するための転送経路の検索要求に基づき、他のノードに対して転送経路の検索を行う転送経路制御手段と、転送経路の検索結果に基づいて決定された転送経路を記憶する転送経路記憶手段と、記憶された転送経路に基づき、転送先のノードとの間で転送経路の設定を行い、データの転送を行う転送制御手段とを備えるものである。
【発明の効果】
【００１９】
本発明の実施例によれば、アドホックネットワークのような複数のノードが分散している環境において、マルチホップによるストリーミングを実現することができる。
【発明を実施するための最良の形態】
【００２０】
次に、本発明の実施例について図面を参照して説明する。
【００２１】
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００２２】
まず、マルチホップ通信を、図２を参照して説明する。
【００２３】
図２において、中にアルファベットが記載された実線円は、各ノード、すなわち、ノードＡ３０１−１、ノードＢ３０１−２、ノードＣ３０１−３、ノードＤ３０１−４を示し、例えば、携帯電話やPDA(Personal Digital Assistance)等により構成される。
【００２４】
また、ノードＡ３０１−１、ノードＢ３０１−２、ノードＣ３０１−３、ノードＤ３０１−４の通信可能な無線エリアを、それぞれ無線エリア３０１−１１、無線エリア３０１−２１、無線エリア３０１−３１、無線エリア３０１−４１により示す。本発明の実施例では、例として、IEEE802.11b（11Mbps転送）をアドホックモードで用いた場合について説明する。アドホックモードとは、無線LANアクセスポイントを介さずに無線LANアダプタを装着したパソコン同士で通信を行う方式である。この場合の通信距離は、屋内の場合２５ｍ程度、屋外の場合１５０ｍ程度である。
【００２５】
図２において、ノードＡ３０１−１とノードＣ３０１−３とは、お互いの無線エリアが重ならないため、直接通信を行うことは出来ない。しかし、ノードＡ３０１−１及びノードＣ３０１−３共に、お互いの無線エリア範囲内にノードＢ３０１−２が存在している。すなわち、ノードＡ３０１−１の無線エリア３０１−１１とノードＣ３０１−３の無線エリア３０１−３１との重複する領域に、ノードＢ３０１−２が存在する。
【００２６】
このノードＢ３０１−２がノードＡ３０１−１及びノードＣ３０１−３と接続している状態にある場合、ノードＡ３０１−１は、ノードＢ３０１−２を介してノードＣ３０１−３と通信を行うことが可能である。
【００２７】
また、同様に、ノードＤ３０１−４は、ノードＡ３０１−１及びノード３０１−３と、お互いの無線エリアが重ならないため、直接通信を行うことは出来ないが、ノードＢ３０１−２を介することにより、ノードＡ３０１−１及びノードＣ３０１−３と通信を行うことが可能である。
【００２８】
このように、複数のノード（２つ以上のノード）をホップして通信を行うことを、マルチホップ通信と呼ぶ。ここでは、無線LANを例として説明したが、無線LANに限るものではない。
【００２９】
次に、本発明の第１の実施例に係るマルチホップによるストリーミングを実現するノードの構成について、図３を参照して説明する。
【００３０】
本実施例にかかるノードは、分散環境、例えばアドホックネットワーク等において、マルチホップストリーミングを実現する。
【００３１】
本実施例では、ネットワーク内に存在する全てのノードが、このノードにより構成される場合について説明する。
【００３２】
本実施例に係るノード３０１は、制御用装置３０２と、転送用装置３０３とを備える。制御用装置３０２は転送制御を行い、転送用装置３０３はストリーミングデータの転送を行う。
【００３３】
まず、制御用装置３０２について説明する。
【００３４】
制御用装置３０２は、制御用メッセージ受信部３０６と、制御用メッセージ受信部３０６に接続された制御部３０４と、制御部３０４に接続されたノード情報データベース３０５及び転送経路保持部３０８と、制御部３０４と接続された制御用メッセージ送信部３０７とを備える。
【００３５】
制御用メッセージ受信部３０６は、他のノードから送信された経路検索要求メッセージを受信する。例えば、制御用メッセージ受信部３０６は、Ethernet（登録商標）を備える制御用メッセージ受信部（無線LAN）３０６−１、Bluetoothを備える制御用メッセージ受信部（Bluetooth）３０６−２、IEEE1394を備える制御用メッセージ受信部（IEEE1394）３０６−３などの通信媒体、すなわち無線通信技術等のデータ転送技術を備える。これらの中から他のノードから送信された経路検索要求メッセージに該当する通信媒体により受信する。
【００３６】
ノード情報データベース３０５は、自ノードに関する情報（以下、自ノード情報という）を記憶する。
【００３７】
制御部３０４は、経路検索要求メッセージから抽出され、ユーザが希望するデータを保持しているノードまでの転送経路の検索要求（以下、経路検索要求という）が入力されると、ノード情報データベース３０５から自ノード情報を取得し、該自ノード情報を付与して、制御用メッセージ送信部３０７に入力する。
【００３８】
制御用メッセージ送信部３０７は、他のノードへ、入力された自ノード情報を付与した経路検索要求を、経路検索要求メッセージとして送信する。例えば、制御用メッセージ送信部３０７は、Ethernet（登録商標）を備える制御用メッセージ送信部（無線LAN）３０７−１、Bluetoothを備える制御用メッセージ送信部（Bluetooth）３０７−２、IEEE1394を備える制御用メッセージ送信部（IEEE1394）３０７−３などの通信媒体、すなわち無線通信技術等のデータ転送技術を備える。これらの中から該当する通信媒体により送信する。
【００３９】
ここで、各ノードが備えている通信媒体は異なっていてもよい。例えば、あるノードはBluetoothによる通信しかサポートしていないが、あるノードは複数の無線通信技術やデータ転送技術をサポートする。
【００４０】
転送経路保持部３０８は、目的のノードまでの転送経路を記憶する。
【００４１】
次に、転送用装置３０３について説明する。
【００４２】
転送用装置３０３は、制御用装置３０２の制御部３０４及び転送経路保持部３０８に接続された転送制御部３０９と、転送制御部３０９に接続されたストリーミングデータ受信部３１０、ストリーミングデータ送信部３１１及びストリーミングデータデータベース３１２を備える。
【００４３】
転送制御部３０９は、ストリーミングデータデータベース３１２からストリーミングデータを取得し、取得したストリーミングデータをストリーミングデータ送信部３１１に入力する。
【００４４】
ストリーミングデータ送信部３１１は、入力されたストリーミングデータを送信する。ストリーミングデータ受信部３１０は、他のノードから送信されたストリーミングデータを受信する。ここで、ストリーミングデータ受信部３１０及びストリーミングデータ送信部３１１は、それぞれ、無線LAN、Bluetooth、IEEE1394等通信媒体、すなわち無線通信技術等のデータ転送技術により構成される。また、複数の通信媒体により構成してもよい。
【００４５】
ストリーミングデータデータベース３１２は、ストリーミングを行うデータを記憶する。
【００４６】
次に、本実施例に係るマルチホップによるストリーミングを実現するノードの動作について説明する。
【００４７】
まず、転送経路を探索する場合の動作について説明する。
【００４８】
ノード３０１は、ユーザにより経路検索要求が行われると、この経路検索要求を制御部３０４に入力する。
【００４９】
経路検索要求が入力された制御部３０４は、自ノード情報をノード情報データベース３０５から取得し、取得した自ノード情報を経路検索要求に付与する。次に、制御部３０４は、自ノード情報を付与した経路検索要求を、制御用メッセージ送信部３０７に入力する。
【００５０】
制御用メッセージ送信部３０７は、入力された自ノード情報を付与した経路検索要求を経路検索要求メッセージとして、他のノードに送信する。
【００５１】
制御用メッセージ送信部３０７から送信された経路検索要求メッセージは、他のノードの制御用メッセージ受信部３０６に受信される。
【００５２】
他のノードにおいても同様に、制御用メッセージ受信部３０６において、受信された経路検索要求メッセージから経路検索要求が抽出され、制御部３０４に入力される。経路検索要求が入力された制御部３０４は、他のノード情報をノード情報データベース３０５から取得し、取得した他のノード情報を付与し、他のノード情報を付与した経路検索要求を、制御用メッセージ送信部３０７に入力する。制御用メッセージ送信部３０７は、入力された他のノード情報を付与した経路検索要求を、経路検索要求メッセージとして送信する。
【００５３】
このように複数のノード内において、制御用メッセージ受信部３０６→制御部３０４（ノード情報データベース３０５から自ノード情報を取得）→制御用メッセージ送信部３０７を経由して、最終的に目的のノードまで到達する。
【００５４】
目的ノードでは、経路検索要求メッセージが制御用メッセージ受信部３０６で受信され、経路検索要求が制御部３０４に入力される。経路検索要求が入力された制御部３０４は、自ノードまでの転送経路を決定し、目的ノード情報をノード情報データベース３０５から取得し、取得した目的ノード情報を付与し、目的ノード情報を付与した経路検索要求を、制御用メッセージ送信部３０７に入力する。制御用メッセージ送信部３０７は、目的ノードまでの転送経路を経路検索応答メッセージとして送信する。
【００５５】
目的ノードから送信された経路応答メッセージは、各ノードの制御用メッセージ受信部３０６により受信され、制御用メッセージ受信部３０６は、受信した経路応答メッセージから目的ノードまでの転送経路（以下、転送経路と呼ぶ）を抽出し、抽出した転送経路を制御部３０４に入力する。
【００５６】
ユーザにより経路検索要求が行われたノードの制御部３０４は、入力された転送経路を転送経路保持部３０８に入力する。転送経路保持部３０８は入力された転送経路を記憶する。次に、制御部３０４は、転送経路が決定したこと示す転送経路決定通知をユーザに対して送信する。
【００５７】
尚、上述した転送経路の検索方法に関しては、フラッデイング（自ノードが接続している全てのノードに対してメッセージを送信する）等の方法があるが、本発明では、これに限ったものではない。
【００５８】
次に、ストリーミングが行われる場合の動作について説明する。
【００５９】
転送経路決定通知を受けて、ユーザがストリーミングの開始を要求すると、このストリーミング開始要求は、制御部３０４及び制御用メッセージ送信部３０７を介して送信され、最終的に目的ノードに受信される。
【００６０】
ストリーミング開始要求を受信すると、目的ノードの制御部３０４は、転送制御部３０９に対して転送要求を行う。
【００６１】
転送制御部３０９は、ストリーミングデータデータベース３１２からストリーミングデータを取得し、取得したストリーミングデータをストリーミングデータ送信部３１１に入力する。ストリーミングデータ送信部３１１は、入力されたストリーミングデータの転送を行う。
【００６２】
目的ノードから送信されたストリーミングデータは、転送経路に従って送信される。各ノードは、ストリーミングデータをストリーミングデータ受信部３１０にて受信し、受信したデータを転送制御部３０９に入力する。転送制御部３０９は、ストリーミングデータが入力されると、転送経路保持部３０５を参照し、そのストリーミングデータを転送すべきノードを示すデータを取得し、取得したデータを宛先としてストリーミングデータ送信部３１１に入力する。ストリーミングデータ送信部３１１は、次にストリーミングデータを転送するノードへストリーミングデータを送信する。
【００６３】
送信されたストリーミングデータを受信したノードにおいても同様の処理が行われ、最終的に、転送要求を行ったノードに転送される。
【００６４】
転送要求を行ったノードでは、ストリーミングデータをストリーミングデータ受信部３１０で受信すると、受信したストリーミングデータを転送制御部３０９に入力する。転送制御部３０９は、入力されたストリーミングデータをユーザに対して出力する処理を行う。例えば、Windows（登録商標）  Media  Player等のプレーヤーを利用して、ユーザに出力する。また、他のプレーヤーを利用して再生するようにしてもよい。
【００６５】
次に、本発明の第２の実施例に係るマルチホップによるストリーミングの方法について、図４を参照して説明する。
【００６６】
本実施例に係るマルチホップによるストリーミングの方法は、アドホックネットワークのような各ノードが分散している環境において、受信者ノードが転送者ノードまでの経路を探索し、この経路上の各ノードに対して経路情報を設定する方法である。
【００６７】
本実施例では、様々な伝送媒体を保有している機器（ノード）が経路上に存在していることを前提とする。
【００６８】
まず、受信者ノードは、送信者ノードまでの経路を探索する（ステップＳ４０１）。ここで、経路を探索する方法は、様々な方法を用いることが可能である。経路の探索の結果、受信者ノードは、送信者ノードまでの経路を定めることができる。また、この経路の探索の際に、経路上に存在するノードの条件も付与するようにしてもよい。ここで条件とは、各ノードが保有する伝送媒体の指定、伝送可能な帯域幅の指定等である。さらに、送信者ノードまで複数の経路がある場合、その複数の経路の中から受信者ノードの好きな経路を選択するようにしてもよい。
【００６９】
次に、ステップＳ４０１の経路の探索により決定された転送経路に沿って、受信者ノードは、送信者ノードまでの各ノードに対して、ストリーミングデータの転送依頼メッセージを送信する（ステップＳ４０２）。この転送依頼メッセージにより、転送経路上に存在する各ノードは、自ノードが転送に加わることを認知することができる。
【００７０】
転送依頼メッセージを受信した送信者ノードまでの各ノードは、隣接ノードとの間で、転送に必要な情報を交換するための処理を行う（ステップＳ４０３）。ここで転送に必要な情報とは、ストリーミングデータの一意性を保障するためのIDや、転送に用いる伝送媒体、送信者ノードと隣接ノードとの間で転送のために用いるトランスポートプロトコル、例えばＵＤＰ(User Datagram Protocol)等、お互いのアドレス、例えばＵＤＰの場合にはＩＰアドレス等である。このほかにも、転送メディア、例えばMPEG4(Moving Picture Experts Group 4)等も通知しておくようにしてもよく、転送情報はこれに限るものではない。各ノードは、転送に必要な情報を、各ノードの転送経路保持部３０８に備えるテーブルに記録する。
【００７１】
転送経路上に存在する全てのノードは、転送に必要な情報の交換を、隣接ノードとの間、すなわち転送先のノードとの間で行う。送信者側のノードから受信者側のまでの各ノード間で順次設定が行われる。最終的に、受信者ノードまでの設定を終了する（ステップＳ４０４）。
【００７２】
受信者ノードは、設定が終了すると、送信者ノードに対して、ストリーミングデータの送信開始要求を行うための送信開始要求メッセージを送信する（ステップＳ４０５）。
【００７３】
本実施例では、受信者ノードから送信者ノードに対して、経路の設定を行う場合について説明したが、この逆として、送信者ノードから受信者ノードに対して、経路の設定をするようにしてもよい。このようにすることにより、ステップＳ４０５において、受信者ノードからストリーミングデータの送信開始要求を行う処理を省略することができる。
【００７４】
以下、経路の設定を行う場合の設定の方向に関しては、データの取得、もしくは、データの送信を希望する側から行う場合について説明する。
【００７５】
次に、本発明の第３の実施例にかかるマルチホップによるストリーミングシステムについて、図５を参照して説明する。
【００７６】
本実施例に係るマルチホップによるストリーミングシステムは、受信者ノード３０１−５と、第１の転送者ノード（転送者ノード１）３０１−６と、第２の転送者ノード（転送者ノード２）３０１−７と、送信者ノード３０１−８とを備え、これらのノードは第１の実施例において説明したノード３０１と同様の構成である。
【００７７】
本実施例では、異なる伝送媒体を接続して、ストリーミングを行う場合について説明する。まず、受信者ノード３０１−５は、送信者ノード３０１−８に対して、経路検索要求メッセージ（転送経路の設定要求）を送信する（１）。
【００７８】
受信者ノード３０１−５からの経路検索要求メッセージを受信した送信者ノード３０１−８は、経路情報、すなわち、送信者ノード３０１−８→第２の転送者ノード３０１−７→第１の転送者ノード３０１−６→受信者ノード３０１−５に基づき、自ノードが隣接しているノード、例えば第２の転送者ノード３０１−７に対して、ストリーミングデータの転送に必要な情報の交換を行う（２）。
【００７９】
本実施例では、転送情報として、例えば転送プロトコル、フローID、例えば各ストリーミングフローの一意性を保障するID、転送先のID、例えばTCP/IP及びUDP/IPの場合はIPアドレスとするが、これに留まるものではない。ここで交換された情報は、各ノードの転送経路保持部３０８に備えられた任意の形式のテーブルに登録される。
【００８０】
まず、送信者ノード３０１−８と第２の転送者ノード３０１−７との間で情報の交換が行われる。この交換が終了すると、第２の転送者ノード３０１−７と第１の転送者ノード３０１−６との間で情報の交換が行われる（３）（４）。このようにして、受信者ノード３０１−５に至るまで、各ノード間で情報の交換が行われる。
【００８１】
受信者ノード３０１−５は、情報の交換が終了したことを認知すると、送信者ノード３０１−８に対して、ストリーミングデータの送信開始要求を行う（５）。
【００８２】
次に、本発明の第４の実施例に係るマルチホップによるストリーミングの方法について、図６を参照して説明する。
【００８３】
本実施例に係るマルチホップストリーミングの方法は、第２の実施例において説明した経路情報設定方法により設定された経路情報に基づいて、送信者ノードが受信者ノードに対してデータを送信する方法である。
【００８４】
本実施例では、アドホックネットワークは、全て同じ伝送媒体、例えば無線LAN（アドホックモード）を備えたノードから構成され、また、受信者ノードからの要求により、送信者ノードがデータを送信する場合について説明する。アドホックモードにより、ノード同士が直接データ通信を行うことができる。
【００８５】
まず、送信者ノードは、受信者ノードが送信したストリーミングデータの送信開始要求メッセージを受信する（ステップＳ６０１）。ストリーミング開始要求メッセージを受信した送信者ノードは、転送経路保持部３０８を参照し、転送先の確認を行い、ストリーミングデータを送信する（ステップＳ６０２）。
【００８６】
送信者ノードから送られてきたストリーミングデータは、転送者ノードに受信される。転送者ノードは、受信したストリーミングデータに付与されているデータ固有のIDを確認する（ステップＳ６０３）。このIDにより、各ノードは、各ストリーミングデータのフローを識別することができる。以下、このIDをフローIDと呼ぶ。
【００８７】
また、転送者ノードは、フローIDと転送経路保持部３０８が保持しているテーブルとマッピングすることにより、転送先を決定し、送信する（ステップＳ６０４）。転送者ノードは、ホップの回数分だけ存在する。すなわち、転送先のノードが受信者ノードで無い場合には（ステップＳ６０５：ＮＯ）、ステップＳ６０３に戻る。各転送者ノードは、次々に、バケツリレー方式で、ストリーミングデータの転送を行う。
【００８８】
一方、転送先のノードが受信者ノードである場合には（ステップＳ６０５：ＹＥＳ）、受信者ノードは、フローIDから自分宛てのデータであることを判別し、転送は行わず、ユーザに対して出力処理を行う（ステップＳ６０６）。
【００８９】
次に、本発明の第５の実施例にかかるマルチホップによるストリーミングシステムについて、図７を参照して説明する。
【００９０】
本実施例にかかるマルチホップによるストリーミングシステムは、第３の実施例にかかるマルチホップによるストリーミングシステムにおいて説明したシステム構成と同様である。
【００９１】
本実施例では、全てのノードが共通の伝送媒体、例えば無線LAN（アドホックモード）を用い、ストリーミングデータを送信する場合について説明するが、伝送媒体はこれに限るものではない。
【００９２】
まず、送信者ノード３０１−８は、受信者ノード３０１−５からストリーミングデータの送信開始要求を受信すると（１）、経路設定処理の際に決定されたフローIDをストリーミングデータに付与する。そのフローIDを付与したストリーミングデータを、転送経路保持部３０８に備えられているテーブルを参照して、第２の転送者ノード３０１−７(アドレス:192.168.0.1)、ポート番号200に対して送信する（２）。本実施例では、無線LANを用いていることから、アドレスはIPアドレスを用いる。しかし、アドレスは転送媒体により変更可能であり、対象ノードと通信が可能であれば、どのようなIDであってもよい。
【００９３】
送信されたストリーミングデータは、第２の転送者ノード３０１−７のポート番号200にて受信される。第２の転送者ノード３０１−７は、ストリーミングデータを受信すると転送経路保持部３０８を参照して、次の転送先を見つけ、第１の転送者ノード３０１−６へ送信する（３）。
【００９４】
第１の転送者ノード３０１−６も第２の転送者ノード３０１−７と同様の処理を行い、受信したストリーミングデータを受信者ノード３０１−５へ送信する。
【００９５】
ストリーミングデータを受信した受信者ノード３０１−５は、テーブルと比較して、次の転送先が存在しないことにより、自ノードが要求したデータであることを理解する。自ノード宛てのデータであることが判明すると、転送制御部３０９は、ストリーミングデータをユーザに対して出力する（４）。
【００９６】
このように、あらかじめ経路を設定しておき、その経路に沿ってデータを転送することにより、マルチホップの転送が可能になる。
【００９７】
次に、本発明の第６の実施例に係るマルチホップストリーミングの方法について、図８を参照して説明する。
【００９８】
本実施例では、異なった伝送媒体を備えたノードが混在しているアドホックネットワークにおけるストリーミング転送処理について説明する。
【００９９】
基本的には、図６及び図７を参照して説明したアドホックネットワークにおける転送処理と同様である。しかし、転送経路を定める際に、あらかじめ通信媒体の設定も転送経路保持部３０８に登録しておく点が異なる。このようにすることにより、他のノードを介することによって、他の伝送媒体を用いたノードからデータを取得することができるため、全てのノードが同じ通信媒体を用いる必要はなくなる。
【０１００】
まず、送信者ノードは、受信者ノードからのストリーミングデータの送信開始要求メッセージを受信する（ステップＳ８０１）。次に、送信者ノードは、転送経路保持部８０５のテーブルに登録されている予め転送者ノードとの間で決めておいた転送プロトコルを参照し、転送を行う際に使用するプロトコルを決定する。次に、送信者ノードは、決定されたプロトコルを用いてストリーミングデータの転送を行う（ステップＳ８０２）。
【０１０１】
送信されたストリーミングデータを受信した転送者ノードは、受信したストリーミングデータに付与されているフローIDを確認する（ステップＳ８０３）。また、転送者ノードは、フローIDと転送経路保持部３０８が保持しているテーブルとマッピングすることにより、転送先ノードを決定し、転送先ノードとの間で決めておいた転送プロトコルを用いて、ストリーミングデータの転送を行う（ステップＳ８０４）。転送者ノードは、ホップの回数分だけ存在する。
【０１０２】
ここで、送信者ノードからストリーミングデータ受信した時に用いた転送プロトコルと、転送先のノードとの間の転送プロトコルとが異なっている場合、転送者ノードは、複数の通信媒体を保有しているということになる。その場合、転送者ノードはゲートウェイの役割を担うことになる。従って、異なった通信媒体を用いた場合であっても、ストリーミング転送を実現できる。
【０１０３】
転送先のノードが受信者ノードで無い場合には（ステップＳ８０５：ＮＯ）、ステップＳ８０３に戻る。各転送者ノードは、次々に、バケツリレー方式で、ストリーミングデータの転送を行う。
【０１０４】
一方、転送先のノードが受信者ノードである場合には（ステップＳ８０５：ＹＥＳ）、受信者ノードは、フローIDから自分宛てのデータであることを判別し、転送は行わず、ユーザに対して出力処理を行う（ステップＳ８０６）。
【０１０５】
次に、本発明の第７の実施例にかかるマルチホップによるストリーミングシステムについて、図９を参照して説明する。
【０１０６】
本実施例にかかるマルチホップによるストリーミングシステムは、第３の実施例にかかるマルチホップによるストリーミングシステムにおいて説明したシステム構成と同様である。
【０１０７】
本実施例にかかるマルチホップによるストリーミングシステムは、各ノード間で、それぞれ異なった伝送媒体を用いてストリーミングデータを転送するシステムである。
【０１０８】
まず、送信者ノード３０１−８は、フローIDや転送プロトコルを、転送経路保持部３０８に備えられたテーブルを参照して確認し、第２の転送者ノード３０１−７に対してストリーミングデータの転送を行う。例えば、送信者ノード３０１−８は、第２の転送者ノード３０１−７に対して、トランスポートプロトコルとしてTCP、UDPを用いてデータを転送する。
【０１０９】
第２の転送者ノード３０１−７は、TCP、UDPを用いて、転送されたストリーミングデータを受信する。受信されたストリーミングデータは、転送制御装置３０９に入力される。転送制御装置３０９では、転送経路保持部３０８のテーブルを参照して、第１の転送者ノード３０１−６に対して転送を行う場合に使用する転送プロトコルや転送先アドレスを確認する。
【０１１０】
第２の転送者ノード３０１−７が、通信媒体として、Ethernet（登録商標）とBluetoothを保有し、さらに第１の転送者ノード３０１−６との間で用いる通信媒体がBluetoothである場合、第２の転送者ノード３０１−７は、第１の転送者ノード３０１−６に対して、Bluetoothを用いて転送を行う。
【０１１１】
上述したように、あらかじめ転送経路となりうるノード（携帯電話、PDA、PC等）を検索し、転送のための経路設定を行った上で、ストリーミングデータの転送を行うようにしたことにより、アドホックネットワークのような分散環境において、マルチホップによるストリーミングを行うことができる。このため、通信距離が有限である伝送媒体を用いた場合であっても、通信範囲外にいるノードとの間でストリーミング転送を行うことができる。
【０１１２】
また、各ノードが保有している伝送媒体が異なっている場合であっても、転送することができるようにしたことにより、同様の伝送媒体を保有している隣接するノード間におけるストリーミングを実現することができる。このため、局所的な通信をつなげることにより全体的な通信を実現することができ、全てのノードが統一した伝送媒体を保有する必要がなく、異なっている場合であってもストリーミング転送を実現できる。また、自ノードは一つの伝送媒体しか保有していない場合であっても、他のノードを介することによって、他の伝送媒体を用いたノードからデータを取得することができる。
【０１１３】
上述した実施例では、２台の転送者ノードを介して、ストリーミング配信を行う場合について説明したが、３台以上の転送者ノードを介した場合でも同様にストリーミング配信を行うことができる。
【産業上の利用可能性】
【０１１４】
本発明に係るデータ転送方法並びに通信システム及びノードは、分散して配置されている装置間でデータストリーミングを行う技術に適用できる。
【図面の簡単な説明】
【０１１５】
【図１】従来のストリーミングを説明するための図である。
【図２】マルチホップ通信を説明するための図である。
【図３】本発明の第１の実施例に係るマルチホップによるストリーミングを実現するノードの構成を説明するためのブロック図である。
【図４】本発明の第２の実施例に係るマルチホップストリーミングの方法における、転送経路上の各ノードに対して経路情報を設定する処理を示すフローチャートである。
【図５】本発明の第３の実施例に係るマルチホップストリーミングシステムにおける、受信者ノードが送信者ノードに対して経路設定要求を行ってから、経路の設定が終了するまでの過程を説明するための説明図である。
【図６】本発明の第４の実施例に係るマルチホップストリーミングの方法における、経路情報をもとに、送信者ノードが受信者ノードに対してデータを送信する処理について示すフローチャートである。
【図７】本発明の第５の実施例に係るマルチホップによるストリーミングシステムにおける、全てノードが共通の伝送媒体を用いた場合のストリーミングデータ送信過程を説明するための説明図である。
【図８】本発明の第６の実施例に係るマルチホップストリーミングの方法における、異なった伝送媒体を用いたストリーミング転送処理について示すフローチャートである。
【図９】本発明の第７の実施例にかかるマルチホップストリーミングシステムにおける、各ノード間で、それぞれ異なった伝送媒体を用いてストリーミングデータを転送する場合の過程を説明するための説明図である。
【符号の説明】
【０１１６】
１、２、３  受信者（クライアント）
４  送信者（サーバ）
５  通信網
３０１、３０１−１、３０１−２、３０１−３、３０１−４  ノード
３０１−５  受信者ノード
３０１−６、３０１−７  転送者ノード
３０１−８  送信者ノード
３０１−１１、３０１−２１、３０１−３１、３０１−４１  無線エリア
【図１】
2005184392.tif 000003
【図２】
2005184392.tif 000004
【図３】
2005184392.tif 000005
【図４】
2005184392.tif 000006
【図５】
2005184392.tif 000007
【図６】
2005184392.tif 000008
【図７】
2005184392.tif 000009
【図８】
2005184392.tif 000010
【図９】
2005184392.tif 000011