(57)【要約】【課題】利用する複数の通信経路が異種のものであっても複数の通信経路を同時に使用して良好なデータ転送を行うことができるようにする。【解決手段】通信装置２００は、それぞれデータを送信する複数の無線通信部２１〜２３を有する。通信装置２００の制御部は、転送対象のデータを複数のブロックに分割し、前記複数の無線通信部に配分するとともに、複数の無線通信部のデータの送信状況を監視し、送信状況に応じて、配分済のブロックの配分を変更する。【選択図】図１
2010028188.tif 000002
【特許請求の範囲】
【請求項１】
それぞれデータを送信する複数の無線通信部と、
転送対象のデータを複数のブロックに分割し、前記複数の無線通信部に配分するデータ配分手段と、
前記複数の無線通信部のデータの送信状況を監視し、送信状況に応じて、配分済のブロックの配分を変更する配分変更手段と
を備えた通信装置。
【請求項２】
前記配分手段は、前記複数の無線通信部の通信速度に応じてブロックの配分を行う請求項１に記載の通信装置。
【請求項３】
前記複数の無線通信部の各々について、転送するデータブロックを一時的に格納する転送キューを備え、各転送キューに一時に格納できる最大格納容量を所定個数のデータブロック分に制限する請求項１または２に記載の通信装置。
【請求項４】
前記所定個数を各無線通信部の通信速度に応じて異ならせた請求項３に記載の通信装置。
【請求項５】
前記配分変更手段は、逐次、各無線通信部の通信完了推定時間を算出するとともに、その大小関係に基づいて配分済のブロックの配分を変更した場合の当該無線通信部の通信完了推定時間を再算出し、これらの再算出前後の通信完了推定時間に基づいて、配分変更を行う請求項１〜４のいずれかに記載の通信装置。
【請求項６】
それぞれデータを送信する複数の無線通信部を備えた通信装置におけるデータ通信方法であって、
転送対象のデータを複数のブロックに分割するステップと、
分割された複数のブロックを前記複数の無線通信部に配分するステップと、
前記複数の無線通信部のデータの送信状況を監視するステップと、
各無線通信部の送信状況に応じて、配分済のブロックの配分を変更するステップと
を備えたデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の無線通信部を利用してデータの転送を行う通信装置およびデータ通信方法に関する。
【背景技術】
【０００２】
従来、ある装置から他の装置へデータを転送する際に、転送所要時間を短縮するために、種々の手法が採用されている。
【０００３】
例えば、特許文献１は、デジタルビデオカメラ等の撮像装置において、コンピュータ装置等の外部機器に画像データを送信する場合に、メインカメラ部とサブカメラ部の画像データを別々の通信経路で転送する技術を開示している。
【０００４】
特許文献２は、基地局との間の通信と無線ＬＡＮインタフェースを利用した通信とを選択できる携帯電話に関し、通信の種類に応じて通信に使用する通信経路を自動で選択する方法を提案している。
【０００５】
特許文献３は、デジタル携帯電話に関し、複数の基地局を同時に利用することにより、通話品質の高い通話が可能なデジタル通信システムを提案している。
【特許文献１】特開２００６−２１１０２６号公報
【特許文献２】特開２００７−３００６５０号公報
【特許文献３】特開２００３−２１９４６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の特許文献１に記載の技術は、メインカメラ部とサブカメラ部のように転送するデータとして複数のデータを扱うものであり、単一のデータの転送を高速化しようとするものではない。
【０００７】
特許文献２に記載の技術では、あるデータの転送のために適正な通信経路を一つ選択するものであり、結局一つの通信経路の性能しか出すことが出来ない。
【０００８】
特許文献３に記載の技術は、単一の音声情報を複数の通話チャンネルに分散して、複数の基地局を介して伝送するものであるが、利用する複数の通信経路が同種の通信手段であり、異なる種類の通信手段を併用する場合には対応していなかった。特に、複数の通信手段の通信能力の違いや変動が大きいような場合に、対応できなかった。
【０００９】
本発明はこのような背景においてなされたものであり、利用する複数の通信経路が異種のものであっても複数の通信経路を同時に使用して良好なデータ転送を行うことができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明による通信装置は、それぞれデータを送信する複数の無線通信部と、転送対象のデータを複数のブロックに分割し、前記複数の無線通信部に配分するデータ配分手段と、前記複数の無線通信部のデータの送信状況を監視し、送信状況に応じて、配分済のブロックの配分を変更する配分変更手段とを備えたものである。
【００１１】
複数の無線通信部に対して、転送対象のデータが複数のブロックに分割されて配分された後、各無線通信部のデータの送信状況の変動があっても、配分変更手段が配分済のブロックについて配分を変更することができる。これにより、送信状況に応じて動的に配分が更新される。
【００１２】
前記配分手段は、前記複数の無線通信部の通信速度に応じてブロックの配分を行うことができる。例えば、通信速度が速いほど多くのブロックの配分を行う。
【００１３】
前記複数の無線通信部の各々について、転送するデータブロックを一時的に格納する転送キューを備え、各転送キューに一時に格納できる最大格納容量を所定個数のデータブロック分に制限するようにしてもよい。最大格納容量を所定個数のデータブロック分に制限することにより、相手装置へのデータブロックの到着順の大きなずれが防止される。かつ、送信状況の変動があっても再配分の必要性が低減される。
【００１４】
本発明によるデータ通信方法は、それぞれデータを送信する複数の無線通信部を備えた通信装置におけるデータ通信方法であって、転送対象のデータを複数のブロックに分割するステップと、分割された複数のブロックを前記複数の無線通信部に配分するステップと、前記複数の無線通信部のデータの送信状況を監視するステップと、各無線通信部の送信状況に応じて、配分済のブロックの配分を変更するステップとを備える。
【００１５】
本発明の他の構成および作用効果については以下に説明するとおりである。
【発明の効果】
【００１６】
本発明によれば、利用する複数の通信経路が異種のものであっても複数の通信経路を同時に使用して良好なデータ転送を行うことができる。したがって、通信装置が備える複数の無線通信部を有効に利用して実効的なデータ転送速度を向上させることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の好適な実施の形態について図面を参照しながら詳細に説明する。
【００１８】
図１は、本発明の概念を説明するための図である。本実施の形態における通信装置２００は、複数の無線通信部として、第１通信部２１、第２通信部２２、第ｎ通信部２３を有している。これらの通信部は、典型的には、無線インタフェースを介して通信相手との間でデータの送受信を行う通信手段であり、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮ、赤外線、ＲＦＩＤ等である。通信装置３００は、通信装置２００の第１通信部２１、第２通信部２２、第ｎ通信部２３にそれぞれ対応する第１通信部３１、第２通信部３２、第ｎ通信部３３を有している。図では、各通信装置に三つの通信部を示しているが、少なくとも二つあればよい。これらの第１〜第ｎ通信部は、同種の通信手段である必要はなく、その予定された通信能力（通信速度や信頼性等）が異なる別種のものであってもよい。
【００１９】
本発明では、転送すべきデータを複数のブロックに分割して異なる通信部に配分し、複数の通信部で同時に並行してデータの送信を行い、相手装置において受信したブロックを結合して元のデータを復元する。その際、通信部のデータの送信状況を監視し、各通信部の送信状況に応じて配分済のブロックの配分を変更する。これにより、通信装置は、自己に備わっている複数の通信部を有効に利用して、データの転送をより短時間に行うことが可能となる。
【００２０】
図２は、図１に示した通信装置２００（または３００）の概略のハードウェア構成を示すブロック図である。ここでは、携帯電話端末の構成を例として示している。但し、通信装置２００，３００の構成は同じである必要はなく、本発明の課題を実現するための構成要素を備えれば足りる。
【００２１】
通信装置２００は、バス２０７で相互に接続された、制御部２０１、通信部２０３、表示部２０４、操作部２０５、記憶部２０６、音声処理部２１０、この音声処理部２１０に接続されたスピーカ２１１、マイク２１２、および近距離無線通信部２１３〜２１５を備えている。なお、本発明の通信装置において利用する通信部の個数は少なくとも二つあれば足りる。
【００２２】
制御部２０１は、ＣＰＵ等を含み、通信装置２００の各部を制御する。通信部２０３は、ＲＦ部、変調回路等を含み、アンテナ２０２を介して基地局との間で、通話およびメールやＷＥＢデータ等のための無線通信を行う。本発明の「データ配分手段」および「配分変更手段」は制御部２０１の機能により実現される。
【００２３】
表示部２０４は、ユーザに可視情報を提供する手段であり、液晶ディスプレイ、有機ＥＬディスプレイ等の表示デバイスを含むものである。
【００２４】
操作部２０５は、制御キー、テンキー等の各種のキーを有し、ユーザによる指示やデータの入力を受け付ける手段である。
【００２５】
記憶部２０６は、ＲＯＭ，ＲＡＭ，ＨＤＤ等の記憶装置を含み、制御部２０１が実行するＯＳや各種アプリケーション等のプログラムやデータを記憶する。ＲＯＭには、フラッシュメモリのような再書き込み可能な不揮発性メモリを含みうる。
【００２６】
音声処理部２１０は、音声のエンコーダ、デコーダ、ＤＡ変換器、ＡＤ変換器等を含み、スピーカ２１１（イヤホン含む）に対する音声出力およびマイクからの音声入力を行う手段である。
【００２７】
その他、図示しないが、通信装置２００は、電源部、発光部、バイブレータ、等、通常の携帯電話端末が備えている機能部を備えている。また、カメラ部、非接触ＩＣカード機能部、ＧＰＳ受信部、カレンダ・時計部等をさらに備えてもよい。
【００２８】
図３は、本実施の形態における通信装置２００と通信装置３００との間のデータ転送の概念を説明するための図である。ここでは、第１〜第３の通信部として、近距離無線通信部２１３〜２１５を用いる例を説明する。各通信部のデータ転送に関する符号化／復号化、変調／復調、誤り訂正、再送制御等の利用の種類や有無は個々の通信部により異なりうる。「近距離無線通信部」は、比較的近距離の間で無線による通信を行う手段であり、例えば、上述したＢｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮ、赤外線、ＲＦＩＤ等である。
【００２９】
今、通信装置２００から転送の対象となるデータ（転送データ２３０）を通信装置３００へ転送する場合を考える。その際、まず、転送データ２３０を複数のデータブロック（ＤＢ）に分割する。ここでは、一定のデータサイズ（例えばＮバイト９単位のデータブロックに分割する例を示す。各データブロックには、元の転送データに復元するために必要な識別情報が付加される。
【００３０】
第１〜第３の通信部としての近距離無線通信部２１３〜２１５は、それぞれデータ転送の対象となるデータブロックを一時的に格納する転送キュー（待ち行列）２４３，２４４，２４５を有する。これらの転送キューは記憶部２０６内に所定の記憶領域として確保される。
【００３１】
分割された複数のデータブロックは、転送キュー２４３，２４４，２４５へ配分され、それぞれの通信部２１３，２１４，２１５により通信装置３００へ送信される。各転送キューに対してデータブロックをどのように配分するかについては、後述する。
【００３２】
通信部３１３，３１４，３１５は、それぞれ対応する通信部２１３，２１４，２１５から送信されたデータブロックを受信し、それぞれの受信バッファ３４３，３４４，３４５に一時格納する。受信バッファ３４３，３４４，３４５も記憶部２０６内に所定の記憶領域として確保される。さらに、上記識別情報に基づいて複数のデータブロックを結合し、転送データ２３０と同じデータとしての受信データ３３０を再構築する。
【００３３】
複数のデータブロックを複数の転送キューに対して配分する方法としては次のような形態が考えられる。転送データ全体をより早く相手通信装置へ届けることを目的として、基本的には、複数の通信部を有効に活用するために各通信部の通信速度に応じて各通信部へデータブロックを割り振る。そのために、通信速度の大きい通信部により多くのデータブロックを割り当てる。
【００３４】
基本的に、図３に示したように各転送キューに対して複数のデータブロックを割り振ることができる。ただし、受信側でのデータ復元の際に、相手側で受け取ったデータをデータの先頭からなるべく早く再構築したい場合には、各転送キューに一時に格納できる最大格納容量を所定個数のデータブロック分に制限する。その一例としてのデータ転送の形態を図４に示す。
【００３５】
図４におけるＴ１，Ｔ２，Ｔ３，・・・は時間経過に伴う転送キュー２４３〜２４５のデータブロックの格納状態の変化を表している。この例では、各転送キューの一時に格納できる最大格納容量を１データブロックとし、転送が完了して空きとなった転送キューに次順のデータブロックを配分する（割り振る）場合を示している。図において太枠で示したデータブロックは、直前に格納されていたデータブロックの転送が完了して、その転送キューに次のデータブロックが新たに追加されたことを示している。この例では、転送キュー２４３の通信部の通信速度が大きく、他の転送キューより高い頻度で空状態が発生していることを示している。具体的には、時点Ｔ１で、転送キュー２４３，２４４，２４５にそれぞれデータブロックＤＢ＃１，ＤＢ＃２，ＤＢ＃３が割り振られ、各通信部のデータ転送が開始される。時点Ｔ２で転送キュー２４３が空になり、次のデータブロックＤＢ＃４が追加され、その転送が開始される。時点Ｔ３で、転送キュー２４４が空になり、次のデータブロックＤＢ＃５が追加され、その転送が開始される。時点Ｔ４で、再度転送キュー２４３が空になり、次のデータブロックＤＢ＃６が追加され、その転送が開始される。時点Ｔ５で転送キュー２４５が空になり、次のデータブロックＤＢ＃７が追加され、その転送が開始される。このような処理はすべてのデータブロックが転送されるまで継続する。このような形態によれば、相手装置に到達するデータブロックの順番が崩れても比較的にその程度が少なくて済む。（順番が前後しても、各データブロックには上述のように識別情報が付加されているので、転送データの再構築は可能である。）
【００３６】
但し、図４の形態では転送キューが空になってから次のデータブロックを格納するまでに送信待ち時間が発生する。そこで、図５に示すように各転送キューの最大格納容量を二つとしてもよい。
【００３７】
図５においても、図４と同様、太枠で示したデータブロックは、直前に格納されていたデータブロックの転送が完了して、その転送キューに次のデータブロックが新たに追加されたことを示している。この場合、図４の場合と異なり、転送キューの先頭のデータブロックの転送が完了してデータブロック１個分の空きが発生したとき、次のデータブロックを追加するまでの待ち時間が発生しても、その時間の全体または一部は、転送キュー内に残っているデータブロックの転送時間で吸収することができる。
【００３８】
各転送キューの最大格納容量は、２に限るものではなく３〜５程度であってもよい。また、各転送キューの最大格納容量は同じである必要はない。例えば、図６に示すように、通信速度の大きい通信部の転送キューの最大格納容量（ＭＡＸ）を通信速度の小さい通信部の転送キューより大きく設定するようにしてもよい。この最大格納容量と通信速度とのバランスがとれている場合には、相手装置に到達するデータブロックの順番の崩れ方がより少なくなることが期待される。
【００３９】
図７に本実施の形態における複数の転送キューへのデータブロックの配分処理を表したフローチャートを示す。この処理には、後述する「キュー配分を見直す」処理を含んでいる。図７の処理は、転送データの送信の際に送信側の通信装置において実行される処理である。
【００４０】
まず、転送キューに空きがある通信部が存在するかどうかを確認する（Ｓ１１）。存在すれば、転送対象のデータのうち転送キューへ配分していないデータが記憶部２０６内に残っている間（Ｓ１２，Ｙｅｓ）、その残りの転送データの中の１ブロック（ここではＮバイト）のデータＤを読み出す（Ｓ１３）。次に、転送キューに空きがある通信部の中で、通信完了するまでの推定時間（推定完了時間）が一番小さい通信部を選択する（Ｓ１４）。この通信部の転送キューに当該ブロックのデータＤを格納する（Ｓ１５）。その後、ステップＳ１１に戻る。
【００４１】
ステップＳ１２において転送データが残っていないと判断されたら、いずれかの通信部の推定完了時間が変化するまで待機する（Ｓ１６）。推定完了時間が変化したとき、すべての転送キューが空になるまでの間は（Ｓ１７，Ｎｏ）、各通信部のキュー配分を見直す処理（サブルーチン）を実行し（Ｓ１８）、ステップＳ１６へ戻る。ステップＳ１８のキュー配分見直し処理の詳細例については後述する。
【００４２】
図８は、図７の処理の変形例を示している。図８のフローチャートでは、図７に示したステップと同様のステップには同じ参照番号を付して、重複した説明は省略する。ステップＳ１１において転送キューに空きがある通信部が存在しない場合に、図７の処理では単に待機したが、図８の処理では、いずれかの通信部の推定完了時間が変化したとき（Ｓ１９）、ステップＳ１８と同様に、各通信部のキュー配分を見直す（Ｓ２０）。これにより、複数の転送キューに対してすべてのデータブロックを配分する前の段階でも、既に行われたキュー配分（まだ転送キュー内に残っているデータブロック）について見直しを行うことができる。
【００４３】
図９に、キュー配分の見直しの処理（Ｓ１８）の具体例を表したフローチャートを示す。この処理は、逐次、各通信部の通信完了推定時間を算出するとともに、その大小関係に基づいて配分済のブロックの配分を変更した場合の当該通信部の通信完了推定時間を再算出し、これらの再算出前後の通信完了推定時間に基づいて、配分変更を行うものである。ここで、「通信完了推定時間」とは各通信部が現時点でその転送キュー内に残っている全データについて転送を完了するまでに掛かる時間である。
【００４４】
まず、各通信部の通信完了推定時間を算出する（Ｓ３１）。複数の通信部について算出した通信完了推定時間のうち、最大値Ｔｍａｘと最小値Ｔｍｉｎを確認する（Ｓ３２）。そこで、Ｔｍａｘの通信部の転送キューからＴｍｉｎの通信部の転送キューへ１ブロックを移動させたと仮定した場合の通信完了推定時間の最大値Ｔｍａｘ２を算出する（Ｓ３３）。そこで、ＴｍａｘとＴｍａｘ２とを比較する（Ｓ３４）。これにより、当該ブロックの移動を行った方がよいか否かが判断できる。例えば、ＴｍａｘよりＴｍａｘ２の方が小さければ（時間が短ければ）、移動を行った方が全体としての転送時間を短縮できると判断できる。そこで、最大値Ｔｍａｘの転送キューから最小値Ｔｍｉｎの転送キューへ１ブロックの移動を行う（Ｓ３５）。逆に、Ｔｍａｘ２がＴｍａｘと同じかそれより大きければ、ブロックの移動を行う利点がないと判断できる。そこで、ブロックの移動を行わずにこの処理を終了する。
【００４５】
なお、移動の対象とするブロックは、基本的には、転送キュー内にある、まだ転送が開始されていないブロックである。例外的に、転送を開始していても途中で発生した通信不良などの原因でそのブロックの転送完了が所定の時間内に見込めないような場合には、そのようなブロックの移動もありうる。
【００４６】
移動元の転送キュー内に転送を開始していない複数の当該ブロックが存在する場合に、どのブロックを移動対象とするかは、任意である。
【００４７】
図１０は、図９の処理の変形例を示したフローチャートである。この図において、図９に示したステップと同様のステップには同じ参照符号を付して、重複した説明を省略する。
【００４８】
図１０の処理では、ステップＳ３２の後にステップＳ３６，Ｓ３７が追加されている点で、図９の処理と異なる。ステップＳ３６は、ステップＳ３２で算出されたＴｍａｘが無限大（または規定の時間を超える）かどうかをチェックするステップである。Ｔｍａｘが無限大と判断されるのは、当該通信部の通信が何らかの理由で通信が停止したり極端に通信速度が低下したような所定の場合である。Ｔｍａｘが無限大でなければ、図９の処理と同様にステップＳ３３に移行してブロックの移動の可否を判断する。ステップＳ３６においてＴｍａｘが無限大と判断されたとき、ステップＳ３７において、Ｔｍａｘの通信部の転送キュー内の全ブロックを他の通信部（の転送キュー）に配分する。この配分の仕方は、図７のステップＳ１４に示したと同様の処理を、残りの通信部について行うものである。その後にステップＳ３１へ戻った段階では、当該通信不良の通信部については処理の対象から除外する。この除外は、当該転送データ全体の転送が終わるまで継続する。あるいは、その前の時点で通信不良が解消されたことが確認された場合には、再度ステップＳ３２での処理の対象として、再度、ブロックの転送処理を分担するようにしてもよい。
【００４９】
以上、本発明の好適な実施の形態について説明したが、本発明の範囲を逸脱することなく、上記で言及した以外にも種々の変形、変更を行うことが可能である。
【００５０】
例えば、データブロックの転送順序が重要な場合、通信部の転送速度の違いによっては、先頭に近い順とは逆順にデータブロックの転送が完了すると予想されるとき、転送途中ではないブロック群を一旦転送キューから取り除き、再度転送完了までの推定時間に基づいて配分し直すことで、適正なデータ転送順序に近づけることが出来る。
【００５１】
また、途中でデータ欠損が起きても問題が無いような場合、順序が後のデータブロックの転送が開始された際に、それよりも順序が前のデータブロックがいずれかの転送キューに残っている場合、そのデータブロックを破棄し、後続のデータブロックについて配分を行うようにすることも可能である。
【００５２】
各データブロックは固定長の場合を例として挙げたが、可変長とすることも可能である。例えば、通信部の予定された通信速度に応じてデータ長を変更してもよい。例えば、通信速度に比例したデータ長とすることができる。その場合の見直しでは、未転送のデータブロックを一旦、記憶部内の未配分のデータ（あれば）に戻して再配分を行った場合について通信完了推定時間を求める。
【００５３】
本発明の通信部として近距離無線通信部を利用する例を示したが、「近距離」でない無線通信部、複数の異種の通信手段の一つに、例えば携帯電話や簡易携帯電話（ＰＨＳ）の基地局を介した通信を含むことを排除するものではない。
【図面の簡単な説明】
【００５４】
【図１】本発明の概念を説明するための図である。
【図２】図１に示した通信装置の概略のハードウェア構成を示すブロック図である。
【図３】本発明の実施の形態における通信装置同士間のデータ転送の概念を説明するための図である。
【図４】本発明の実施の形態におけるデータ転送の一形態を示す図である。
【図５】本発明の実施の形態におけるデータ転送の他の形態を示す図である。
【図６】本発明の実施の形態におけるデータ転送の更に他の形態を示す図である。
【図７】本発明の実施の形態における複数の転送キューへのデータブロックの配分処理を表したフローチャートである。
【図８】図７の処理の変形例を示したフローチャートである。
【図９】図７内に示したキュー配分の見直しの処理（Ｓ１８）の具体例を表したフローチャートである。
【図１０】図９の処理の変形例を示したフローチャートである。
【符号の説明】
【００５５】
２１〜２３…通信部、３１〜３３…通信部、２００，３００…通信装置、２０１…制御部、２０２…アンテナ、２０３…通信部、２０４…表示部、２０５…操作部、２０６…記憶部、２０７…バス、２１０…音声処理部、２１１…スピーカ、２１２…マイク、２１３，２１４，２１５…通信部、２３０…転送データ、２４３，２４４，２４５…転送キュー、３１３，３１４，３１５…通信部、３３０…受信データ、３４３，３４４，３４５…受信バッファ
【図１】
2010028188.tif 000003
【図２】
2010028188.tif 000004
【図３】
2010028188.tif 000005
【図４】
2010028188.tif 000006
【図５】
2010028188.tif 000007
【図６】
2010028188.tif 000008
【図７】
2010028188.tif 000009
【図８】
2010028188.tif 000010
【図９】
2010028188.tif 000011
【図１０】
2010028188.tif 000012