(57)【特許請求の範囲】
【請求項１】
Bluetoothモジュールが装着される少なくとも２つのバスポートと、
マスタ動作する上位装置との通信を制御する上位用制御プロセスと、
スレーブ動作する下位装置との通信を制御する下位用制御プロセスと、
ユーザ端末との通信を制御する少なくとも一つの端末用制御プロセスと、
前記各バスポートに１番目に装着されたBluetoothモジュールに前記上位用制御プロセスを割り当ててスレーブ動作させ、２番目に装着されたBluetoothモジュールに前記下位用制御プロセスを割り当ててマスタ動作させ、３番目以降に装着された各Bluetoothモジュールに前記端末用制御プロセスを割り当てて、当該Bluetoothモジュールにユーザ端末が接続されていないときには、当該Bluetoothモジュールをスレーブ動作させて待機させ、ユーザ端末から接続要求を受信したときには、マスタ動作に切り換えて、ユーザ端末をスレーブとした通信を可能にする割当手段と、
前記スレーブ動作するBluetoothモジュールが上位装置から受信したBluetoothパケットを、前記マスタ動作するBluetoothモジュールから下位装置へ転送させる制御手段と、
前記上位装置から受信したBluetoothパケットを記憶する記憶手段とを具備したことを特徴とする無線情報配信装置。
【請求項２】
前記端末用制御プロセスを割り当てられたBluetoothモジュールのマスタ動作とスレーブ動作を切り換える通信役割切換手段を具備したことを特徴とする請求項１に記載の無線情報配信装置。
【請求項３】
前記バスポートがUSBであることを特徴とする請求項１または２記載の無線情報配信装置。
【請求項４】
前記動作割当手段は、USBポートに１番目に装着されたBluetoothモジュールに前記上位用制御プロセスを割り当ててスレーブ動作させ、２番目に装着されたBluetoothモジュールに前記下位用制御プロセスを割り当ててマスタ動作させるのに代えて、USBポートに１番目に装着されたBluetoothモジュールに前記下位用制御プロセスを割り当ててマスタ動作させ、２番目に装着されたBluetoothモジュールに前記上位用制御プロセスを割り当ててスレーブ動作させることを特徴とする請求項３に記載の無線情報配信装置。
【請求項５】
前記制御手段は、前記スレーブ動作するBluetoothモジュールが上位装置から受信したBluetoothパケットを、前記マスタ動作するBluetoothモジュールが下位装置へ転送させると同時に、前記バスポートに装着された３つ目以降の各Bluetoothモジュールにより各ユーザ端末へも送信させることを特徴とする請求項１ないし４のいずれか１つに記載の無線情報配信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Bluetooth（登録商標）通信を採用した無線情報配信装置に係り、特に、マスタ動作専用のBluetoothモジュールおよびスレーブ動作専用のBluetoothモジュールを含む複数のBluetoothモジュールを備えた無線情報配信装置に関する。
【背景技術】
【０００２】
近年、デジタルサイネージが注目されており、店舗、交通機関、キャンパス、オフィスなどに設置されたディスプレイに、映像や情報などのコンテンツをタイムリーに配信するサービスの普及が始まっている。一般的に、デジタルサイネージには情報配信サーバがネットワークケーブルにより接続され、デジタルサイネージは情報配信サーバからコンテンツを受信してディスプレイの表示内容を動的に更新するが、ネットワークケーブルの施設が困難な環境下では無線通信化の必要がある。
【０００３】
現在のデジタルサイネージは、各種の案内や広告などをディスプレイに表示するものが主流であるが、今後は、商品やキャンペーンの情報をユーザが所持している携帯電話へ配信して店舗に誘導するなどのモバイル連携機能が求められる。
【０００４】
複数の端末間でデータを伝播するには、各端末が無線LANアクセスポイントを中継器として通信する方式がもっとも広く普及している。しかしながら、無線LANでは最大通信距離が制限されるため、電波が届かない環境下では依然としてネットワークケーブルの施設工事が必須である。
【０００５】
また、無線LANは携帯電話などの移動端末への搭載が進みつつあるが、未だに消費電力の問題は無視できない。さらに、多数の無線LAN対応の移動端末を802.11b/gの無線LANアクセスポイントと同時に使うと、ポーリング通信方式により2.4GHz帯の電波が多く飛び交うため、干渉により通信が不安定な状態となって通信速度が低下してしまう。
【０００６】
一方、省電力で現在ではほとんどの携帯電話に搭載されているBluetoothは、無線アクセスポイントを介さずに無線端末と他の端末や周辺機器等とを簡単に相互接続することが可能であるため、今後、テレビ、STB、ゲーム機器、コンピュータ、モバイル端末などのデバイスを相互に接続するための無線方式として有望である。
【０００７】
また、Bluetoothは同じ周波数帯を利用している機器が近くにある場合、周波数をわずかにずらして通信する周波数ホッピング型スペクトル拡散方式を採用しており、無線LANと比べて干渉の影響を受けにくくなっている。
【０００８】
しかしながら、Bluetoothの仕様上は１つの通信ピコネットが、通信の主導権を握るマスタとその管理下に置かれるスレーブとにより構成され、１台のマスタに接続可能なスレーブ台数は７台に制限されている。したがって、複数のピコネット間でデータを転送するためには、図７に一例を示したように、一のピコネットではスレーブ動作する端末を他のピコネットではマスタ動作させることでピコネット同士を接続し、スキャタネット（Scatternet）と呼ばれるより大きなネットワークを構成する必要がある。特許文献１には、このようなスキャタネットの仕組みを利用した情報配信技術が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−５４５５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
スキャタネットでは、複数のピコネットがオーバラップするエリアに属する端末は、スレーブ動作する一方のピコネットで受信したデータを、マスタ動作する他方のピコネットへ転送する際は、接続先のピコネットを切り替えながら時分割でデータ通信を行わなければならないので、比較的大きな遅延が生じるという技術課題があった。
【００１１】
本発明の目的は、上記した従来技術の課題を全て解決し、無線通信にBluetoothを採用することで通信距離や消費電力に関する実使用上の問題を解決すると共に、干渉の影響を軽減して中継遅延を短縮し、かつ携帯端末の接続台数に実質的な制限がない無線情報配信装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために、本発明の無線情報配信装置は、以下のような構成を具備した点に特徴がある。
【００１３】
(1)Bluetoothモジュールが装着される少なくとも２つのバスポートと、マスタ動作する上位装置との通信を制御する上位用制御プロセスと、スレーブ動作する下位装置との通信を制御する下位用制御プロセスと、ユーザ端末との通信を制御する少なくとも一つの端末用制御プロセスと、前記各バスポートに１番目に装着されたBluetoothモジュールに前記上位用制御プロセスを割り当ててスレーブ動作させ、２番目に装着されたBluetoothモジュールに前記下位用制御プロセスを割り当ててマスタ動作させ、３番目以降に装着された各Bluetoothモジュールに前記端末用制御プロセスを割り当てて、当該Bluetoothモジュールにユーザ端末が接続されていないときには、当該Bluetoothモジュールをスレーブ動作させて待機させ、ユーザ端末から接続要求を受信したときには、マスタ動作に切り換えて、ユーザ端末をスレーブとした通信を可能にする動作割当手段と、前記スレーブ動作するBluetoothモジュールが上位装置から受信したBluetoothパケットを、前記マスタ動作するBluetoothモジュールから下位装置へ転送させる制御手段と、前記上位装置から受信したBluetoothパケットを記憶する記憶手段とを具備した。
【００１５】
(2)さらに、端末用制御プロセスを割り当てられたBluetoothモジュールのマスタ動作とスレーブ動作を切り換える通信役割切換手段を具備させることができる。
【００１６】
(3)Bluetoothモジュールが装着されるバスポートとしてはUSBを採用することができる。
【発明の効果】
【００１７】
本発明によれば、以下のような効果が達成される。
【００１８】
(1)無線情報配信装置に、第1および第2のBluetoothモジュールを装着して、マスタ動作専用のBluetoothモジュールおよびスレーブ動作専用のBluetoothモジュールとして動作させ、スレーブ動作専用のBluetoothモジュールが上位装置から受信したBluetoothパケットを、マスタ動作専用のBluetoothモジュールから下位装置へ転送することを可能にしたので、スキャタネットと同様のネットワークを小さな転送遅延（オーバヘッダ）で実現できるようになる。
【００１９】
(2)第３のBluetoothモジュールを装着し、択一的に切り換えてマスタ動作あるいはスレーブ動作させるので、ユーザ端末とのBluetooth通信も可能になる。以下では、マスタとスレーブの切り替えを「マスタ／スレーブ」と記す。
【００２０】
(3)マスタ／スレーブ動作する第３のBluetoothモジュールを、待機中にスレーブ動作させれば、マスタ動作するユーザ端末からの接続要求に応答できるようになり、接続後にユーザ端末との間で役割切換を実行させてマスタ動作させれば、同時に複数（最大で７台）のユーザ端末とピコネットを構成できるようになる。
【００２１】
(4)複数のBluetoothモジュールをUSBポートに接続し、各Bluetoothモジュールを情報配信装置にUSBデバイスとして認識させるようにすることにより、複数のBluetoothモジュールを同時に認識できないプラットホーム上でも複数のBluetoothモジュールを同時に動作させることができるようになる。
【図面の簡単な説明】
【００２２】
【図１】本発明に係る情報配信端末により構成される無線ネットワークの構成を示した図である。
【図２】本発明に係る情報配信端末の主要部の構成を示したブロック図である。
【図３】情報配信端末に装着されたBluetoothモジュールBTに動作を割り当てる方法を示したフローチャートである。
【図４】情報配信装置間でのデータ転送手順を示したフローチャートである。
【図５】ユーザ端末を情報配信装置のBluetoothモジュールBTmsへ接続し、かつ登録する手順を示したシーケンスフローである。
【図６】情報配信装置に装着されている複数のBluetoothモジュールの動作を制御する手順を示したフローチャートである
【図７】スキャタネットの一例を示した図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明の実施形態について詳細に説明する。図１は、本発明を適用した複数の情報配信端末１により構成される無線ネットワークの構成を示した図であり、全ての情報配信端末１は同一または同等の構成を有している。
【００２４】
各情報配信端末１は、マスタ動作専用のBluetoothモジュールBTm、スレーブ動作専用のBluetoothモジュールBTs、およびマスタ／スレーブの各動作を動的に切り換え可能な少なくとも一つのBluetoothモジュールBTmsを備え、各情報配信端末１のBluetoothモジュールBTm，BTmsは、最大で７台までの他の情報配信端末１のBluetoothモジュールBTsやユーザ端末２とピコネットを構築できる。
【００２５】
前記マスタ／スレーブ動作するBluetoothモジュールBTmsは、待ち受け状態ではスレーブ動作することで、マスタ動作するユーザ端末２からの接続要求に備え、ユーザ端末２からの接続要求を検知すると、接続処理の過程でマスタおよびスレーブの動作を交代（ロールチェンジ）し、その後はマスタ動作することで、最大で７台までのスレーブ動作するユーザ端末２と共にピコネットを構築できるようになる。
【００２６】
図２は、前記情報配信端末１の主要部の構成を示した機能ブロック図であり、バスポートとして複数のUSBポートPusbおよびその制御プロセスCPが実装されている。各制御プロセスCP0〜CPnにはSPP(Serial Port Profile)/RFCOMM(Radio Frequency Communication)を基準とした仮想シリアルポート通信機能が実装され、制御プロセスCP0は、マスタ動作する上流側の情報配信端末１（以下、上位装置と表現する場合もある）との通信を制御する上位用通信部５１を備える。制御プロセスCP1は、スレーブ動作する下流側の情報配信端末（以下、下位装置と表現する場合もある）との通信を制御する下位用通信部５２を備える。制御プロセスCP2〜CPnは、ユーザ端末２との通信を制御する端末用通信部５３およびマスタ／スレーブ動作を動的に切り換える通信役割切換部５４を備える。
【００２７】
本実施形態では、各USBポートPusbにBluetoothモジュールが装着され、１番目に装着されたBluetoothモジュールには、前記上位装置との通信部５１を備えた制御プロセスCP0が前記プロセス割当部１３により割り当てられるので、当該Bluetoothモジュールはスレーブ動作専用（BTs）となる。
【００２８】
また、２番目に装着されたBluetoothモジュールには、前記下位装置との通信部５２を備えた制御プロセスCP1が前記プロセス割当部１３により割り当てられるので、当該Bluetoothモジュールはマスタ動作専用（BTm）となる。
【００２９】
さらに、３番目以降に装着される各Bluetoothモジュールには、前記ユーザ端末２との通信部５３を備えた制御プロセスCP2〜CPnが前記プロセス割当部１３によりそれぞれ割り当てられるので、当該各Bluetoothモジュールはマスタ／スレーブ動作（BTms）する。
【００３０】
前記各制御プロセスCPは、メモリバス１１を介して記憶部１２と接続され、各制御プロセスCPと記憶部１２との間のデータ転送、および各制御プロセスCP間のデータ転送は、制御部１４による制御下でデータ転送指令により行われる。
【００３１】
図３は、前記情報配信端末１において、各USBポートPusbに装着されたBluetoothモジュールに対して、マスタ動作、スレーム動作およびマスタ／スレーブ動作のいずれかを選択的に割り当てる方法を示したフローチャートであり、ここでは、いずれのUSBポートPusbにもBluetoothモジュールが装着されていない状態から説明を始める。
【００３２】
ステップＳ１では、いずれかのUSBポートにBluetoothモジュールが新規に接続されたか否かが判定される。Bluetoothモジュールの新規接続が検知されるとステップＳ２へ進み、今回のBluetoothモジュールがいくつ目であるか判定される。
【００３３】
最初は１つ目と判定されるのでステップＳ３へ進み、当該Bluetoothモジュールにスレーブ動作が要求される。ステップＳ４では、前記Bluetoothモジュールに前記制御プロセスCP0が割り当てられてスレーブ動作専用（BTs）となる。
【００３４】
これに対して、２つ目と判定されるとステップＳ５へ進み、当該Bluetoothモジュールにマスタ動作が要求される。ステップＳ６では、前記BluetoothモジュールBTに前記制御プロセスCP1が割り当てられてマスタ動作専用（BTm）となる。
【００３５】
また、３つ目以降と判定されるとステップＳ７へ進み、当該Bluetoothモジュールにマスタ／スレーブ動作が要求される。ステップＳ８では、前記Bluetoothモジュールに、前記制御プロセスCP2〜CPnの中で未割当のものが割り当てられる。
【００３６】
なお、上記の説明では１つ目のBluetoothモジュールがスレーブ動作専用（BTs）となり、２つ目のBluetoothモジュールがマスタ動作専用（BTm）となるものとして説明したが、これとは逆に、１つ目のBluetoothモジュールがマスタ動作専用（BTm）となり、２つ目のBluetoothモジュールがスレーブ動作専用（BTs）となるようにしても良い。
【００３７】
次いで、各情報配信装置１において、前記制御部１４の制御下で、スレーブ動作するBluetoothモジュールBTsが上位装置から受信したコンテンツを下位装置へ転送すると共に自身の記憶部１２に蓄積する手順について、図４のフローチャートを参照して説明する。なお、ここでは上位装置から送信されるBluetoothパケットの宛先アドレスがマルチキャストアドレスであり、相互接続の全ての情報配信装置１が当該パケットの受信対象であるものとして説明する。
【００３８】
ステップＳ３１において、上位装置より送信されたコンテンツを構成するBluetoothパケットが前記スレーブ動作専用のBluetoothモジュールBTsにより受信されると、ステップＳ３２では、前記Bluetoothパケットが受信バッファ（図示せず）に一時記憶される。ステップＳ３３では、前記Bluetoothパケットの送信元である上位装置へAckパケットが返信される。
【００３９】
ステップＳ３４では、前記一時記憶されたBluetoothパケットが、前記メモリバス１１を経由して、前記マスタ動作専用のBluetoothモジュールBTmから下位装置へ転送される。なお、BluetoothモジュールBTmsにユーザ端末が接続されている場合には、前記Bluetoothパケットを下位装置へ転送するのと同時にBluetoothモジュールBTmsからユーザ端末へも転送するようにしても良い。
【００４０】
ステップＳ３５では、ピコネットで接続されている全ての下位装置への転送が終了したか否かが判定される。終了していなければステップＳ３４へ戻り、残りの全ての下位装置に対して上記の転送処理が繰り返される。
【００４１】
ステップＳ３６では、前記Bluetoothパケットの送信元から送信完了通知が受信されたか否かが判定される。受信されていなければステップＳ３１へ戻り、次のBluetoothパケットを受信して上記の各処理が繰り返される。その後、送信完了通知が受信されるとステップＳ３７へ進み、前記受信バッファに蓄積された全てのデータが、前記メモリバス１１を経由して記憶部１２に蓄積される。なお、本実施形態ではバッファに蓄積されたデータが受信完了後に一括して記憶部１２に蓄積されるが、Bluetoothパケットの転送を行うと同時に、少しずつ記憶部１２に蓄積されるようにしても良い。
【００４２】
図５は、ユーザ端末２を情報配信装置１のBluetoothモジュールBTmsへ接続し、かつ登録する手順を示したシーケンスフローである。
【００４３】
ユーザ端末２において、予め探索されたBluetoothモジュールBTmsに対して端末ユーザにより接続要求のキー操作がなされると、時刻t1では、ユーザ端末２のステータスがマスタMへ遷移し、待ち受け状態のBluetoothモジュールBTmsに対して接続要求(HCI_Connection_Request)メッセージが送信される。
【００４４】
情報配信装置１では、時刻t2において当該接続要求メッセージがBluetoothモジュールBTmsで検知されて制御プロセスのRFCOMMにより受信されると、前記通信役割切換部５４へ接続要求が転送される。時刻t3では、前記通信役割切換部５４からRFCOMMに対してマスタMとしての役割が要求される。時刻t4では、マスタMへの遷移を要求する旨の接続応答(HCI_Accept_Connection_Request)メッセージがユーザ端末２へ返信される。
【００４５】
ユーザ端末２からは、時刻t5において設定準備(HCI_Command_Status)メッセージが送信され、時刻t6において、自身の役割をマスタMからスレーブSに切り換える役割切換要求(HCI_Role_change)メッセージが送信される。時刻t7では、ユーザ端末２からRFCOMMへ接続完了(HCI_Connection_Complete)メッセージが送信される。時刻t8では、RFCOMMから前記通信役割切換部５４へ役割切換の実行が要求される。時刻t9では、前記通信役割切換部５４から通信部５３へ役割切換の完了が通知される。これにより、ユーザ端末２の役割がマスタMからスレーブSに切り換わるので、BluetoothモジュールBTmsをマスタM、ユーザ端末２をスレーブSとするピコネットが構築される。
【００４６】
時刻t10では、ユーザ端末２から情報配信装置１へ接続完了応答が送信される。時刻t11では、情報配信装置１からユーザ端末２へコンテンツ送信が開始され、例えば上位装置から受信して記憶部１２に記憶されているコンテンツが、メモリバス１１および制御プロセスCPを経由してBluetoothモジュールBTmsから各ユーザ端末２へ送信される。
【００４７】
その後、時刻t12において、他のユーザ端末２から接続要求(HCI_Connection_Request)メッセージが送信されると、上記と同様の手順が繰り返され、当該ユーザ端末２もスレーブSとしてピコネットに参加できるようになる。
【００４８】
図６は、情報配信装置１に装着されている複数のBluetoothモジュールBTmsの動作を制御する手順を示したフローチャートである。本実施形態では、情報配信装置１に複数のBluetoothモジュールBTmsが装着されているとき、一つのBluetoothモジュールBTmsに７台のユーザ端末が接続されて空きポートが無くなるまでは他のBluetoothモジュールBTmsを待機させることで、ユーザ端末２からの接続要求に対して複数のBluetoothモジュールBTmsが同時に応答しないようにしている。
【００４９】
ステップＳ５１では、情報配信装置１に装着されている複数のBluetoothモジュールBTmsの中の１つのみがアクティブ化され、残りのBluetoothモジュールBTmsは全て待機モードとされる。ステップＳ５２では、アクティブ化されているBluetoothモジュールBTms（１つとは限らない）に待ち受け状態の空きポートがなくなったか否かが判定される。最初は空きポートがあるのでステップＳ５２へ戻る。
【００５０】
その後、前記図３の接続処理が繰り返されて複数のユーザ端末２が接続され、アクティブ化されているBluetoothモジュールBTmsに空きポートが無くなるとステップＳ５３へ進む。ステップＳ５３では、待機中のBluetoothモジュールBTmsの中から一つが選択されて追加的にアクティブ化される。したがって、これ以降に接続要求するユーザ端末には、当該新たにアクティブ化されたBluetoothモジュールBTmsが応答することになる。
【符号の説明】
【００５１】
１…情報配信端末，２…ユーザ端末，１１…メモリバス，記憶部１２…，１３…プロセス割当部，１４…制御部，５１…上位用通信部，５２…下位用通信部，５３…端末用通信部，５４…通信役割切換部
【図１】
0005477966.tif 000002
【図２】
0005477966.tif 000003
【図３】
0005477966.tif 000004
【図４】
0005477966.tif 000005
【図５】
0005477966.tif 000006
【図６】
0005477966.tif 000007
【図７】
0005477966.tif 000008