本願は、2018年4月13日に提出された出願番号107112825の台湾特許出願の優先権による利益を要求する。該台湾特許出願は、あらゆる目的において、その全部を参照するにより本明細書に組み込まれるものとする。
本願は、2019年3月15日に提出された出願番号108108851の台湾特許出願の優先権による利益を要求する。該台湾特許出願は、あらゆる目的において、その全部を参照するにより本明細書に組み込まれるものとする。
本願は、2018年8月30日に提出された出願番号62/724,633の米国仮特許出願の優先権による利益を要求する。該米国仮特許出願は、あらゆる目的において、その全部を参照するにより本明細書に組み込まれるものとする。
以下、対応する図面を参照しつつ、本発明の実施例を説明する。なお、図中、同様また類似の部材もしくは方法ステップは同一符号で示す。
図1は、本発明の一実施例に係るマルチ構成要員型ブルートゥース装置100を簡略化した機能ブロック図である。マルチ構成要員型ブルートゥース装置100は、遠隔ブルートゥース装置102とデータ伝送を行い、複数の構成要員回路(member circuit)を含む。なお、説明の便宜上、図1の実施例では、3つの構成要員回路、すなわち、第1ブルートゥース回路110、第2ブルートゥース回路120、および第3ブルートゥース回路130のみを図示している。
本実施例において、マルチ構成要員型ブルートゥース装置100における全ての構成要員回路が共に類似のメイン回路構成を有するが、それぞれの構成要員回路中に異なる追加回路素子を設けてもよく、全ての構成要員回路の回路構成が完全に同様であるという限定がない。例えば、図1に示すように、第1ブルートゥース回路110はブルートゥース通信回路111、データ伝送回路113、制御回路115、および判断回路117を含む。これと類似して、第2ブルートゥース回路120はブルートゥース通信回路121、データ伝送回路123、制御回路125、および判断回路127を含む。
ブルートゥース回路130の内部の主要な回路素子も前記のブルートゥース回路110または120に類似するが、簡略化のために、図1ではブルートゥース回路130の内部の回路素子の表記を省略している。
第1ブルートゥース回路110において、ブルートゥース通信回路111は、他のブルートゥース装置とデータ通信することができる。また、データ伝送回路113は、他の構成要員回路とデータ通信することができる。
ブルートゥース通信回路111およびデータ伝送回路113に結合的に接続する制御回路115は、ブルートゥース通信回路111を介してブルートゥース無線伝送方式にて遠隔ブルートゥース装置102と直接にデータ通信すること、および、データ伝送回路113を介して他の構成要員回路とデータ通信すること、が可能なように構成されている。
制御回路115に結合的に接続する判断回路117は、第1ブルートゥース回路110の演算負荷、残電、温度または動作環境を評価すること、および、第1ブルートゥース回路110のこれら動作パラメータが所定の条件に達したときにその旨を制御回路115に通知すること、が可能なように構成されている。
一部の実施例において、判断回路117は、データ伝送回路113にも結合的に接続し、他の構成要員回路(例えば、図1のブルートゥース回路120または130)から伝送されてくる演算負荷、残電、温度または動作環境の指示情報を、データ伝送回路113を介して受信してもよい。
第2ブルートゥース回路120において、ブルートゥース通信回路121は、他のブルートゥース装置とデータ通信することができる。また、データ伝送回路123は、他の構成要員回路とデータ通信することができる。
ブルートゥース通信回路121およびデータ伝送回路123に結合的に接続する制御回路125は、ブルートゥース通信回路121を介してブルートゥース無線伝送方式にて他の装置とデータ通信すること、および、データ伝送回路123を介して他の構成要員回路とデータ通信すること、が可能なように構成されている。
制御回路125に結合的に接続する判断回路127は、第2ブルートゥース回路120の演算負荷、残電、温度または動作環境を評価すること、および、第2ブルートゥース回路120のこれら動作パラメータが所定の条件に達したときにその旨を制御回路125に通知すること、が可能なように構成されている。
一部の実施例において、判断回路127は、データ伝送回路123にも結合的に接続し、他の構成要員回路(例えば、図1のブルートゥース回路110または130)から伝送されてくる演算負荷、残電、温度または動作環境の指示情報を、データ伝送回路123を介して受信してもよい。
実際の応用において、前記ブルートゥース通信回路111および121のいずれも、様々なバージョンのブルートゥース通信プロトコルをサポートできる好適な通信回路によって実現されてもよい。また、前記データ伝送回路113および123のいずれも、様々な有線伝送回路、無線伝送回路、またはこの2種類の伝送態様を統合したハイブリッド回路によって実現されてもよい。また、前記制御回路115および125のいずれも、適した演算能力を有する様々なマイクロプロセッサもしくはデジタル信号処理回路によって実現されてもよい。また、前記判断回路117および127のいずれも、関連する動作パラメータを検出、収集、記録および比較することができる好適な回路によって実現されてもよい。
一部の実施例において、判断回路117または127を制御回路115または125中に統合してもよい。また、前記データ伝送回路113および123を前記ブルートゥース通信回路111および121にそれぞれ統合してもよい。あるいは、前記ブルートゥース通信回路111および121を利用してデータ伝送回路113および123の機能を実現してもよい。
換言すれば、前記ブルートゥース通信回路111およびデータ伝送回路113は、別々の回路によって実現され得るし、同一回路によっても実現され得る。同様に、前記ブルートゥース通信回路121およびデータ伝送回路123は、別々の回路によって実現され得るし、同一回路によっても実現され得る。
応用する際、前記第1ブルートゥース回路110中の異なる機能ブロックを1つの単独の回路チップ内に統合してもよい。例えば、第1ブルートゥース回路110中の全ての機能ブロックを1つの単独のブルートゥース制御チップ(Bluetooth(登録商標) controller IC)内に統合してもよい。同様に、第2ブルートゥース回路120中の全ての機能ブロックを1つの単独のブルートゥース制御チップ内に統合してもよい。
上述したように、マルチ構成要員型ブルートゥース装置100における異なる構成要員回路は、各自のデータ伝送回路を介し、様々な有線または無線伝送態様にて相互にデータ通信することにより、様々な形態のデータネットワークまたはデータリンクを形成することができる。マルチ構成要員型ブルートゥース装置100が遠隔ブルートゥース装置102とデータ通信する際、同一時間においては、マルチ構成要員型ブルートゥース装置100における複数の構成要員回路のうち、1つの特定の構成要員回路のみが遠隔ブルートゥース装置102との直接のデータ通信を担い、他の構成要員回路はいずれも、当該特定の構成要員回路を介して間接的に遠隔ブルートゥース装置102とデータ通信する。そのため、遠隔ブルートゥース装置102は、マルチ構成要員型ブルートゥース装置100を1つの単独のブルートゥース装置と見做して扱うことになる。
以下、図2〜図4を参照しつつ、マルチ構成要員型ブルートゥース装置100の動作形態を詳細に説明する。図2は、本発明において、マルチ構成要員型ブルートゥース装置100における異なる構成要員回路同士間でのシームレスハンドオーバを実現する方法を簡略化したフローチャートである。図3および図4は、マルチ構成要員型ブルートゥース装置100の、異なる動作段階の動作を簡略化した模式図である。
図2のフローチャートでは、特定の装置が属する枠内のステップは、当該特定の装置が実行するステップである。例えば、「第1ブルートゥース回路」の枠内に表記された部分は第1ブルートゥース回路110が実行するステップであり、「第2ブルートゥース回路」の枠内に表記された部分は第2ブルートゥース回路120が実行するステップであり、「第3ブルートゥース回路」の枠内に表記された部分は第3ブルートゥース回路130が実行するステップである。
以下、説明の便宜上、マルチ構成要員型ブルートゥース装置100中に予めに設定された、外部ブルートゥース装置とのブルートゥース通信を担う構成要員回路は、第1ブルートゥース回路110であると仮定する。
ステップ202では、第1ブルートゥース回路110は、図1に示すように遠隔ブルートゥース装置102と直接にデータ通信する。例えば、制御回路115は、ステップ202において、ブルートゥース通信回路111を、遠隔ブルートゥース装置102とブルートゥース接続を立ち上げさせると共に遠隔ブルートゥース装置102と直接に双方向データ通信を行わせるように制御してもよい。また、例えば、制御回路115は、ステップ202において、ブルートゥース通信回路111を、告知モードにて遠隔ブルートゥース装置102へデータを単方向送信させるように制御してもよい。また、例えば、制御回路115は、ステップ202において、ブルートゥース通信回路111を、適したブルートゥースパケット受信モードにて遠隔ブルートゥース装置102からのデータを単方向受信させるように制御してもよい。
換言すれば、第1ブルートゥース回路110と遠隔ブルートゥース装置102との間のデータ通信は、双方向であってもよく、単方向であってもよい。
ステップ204では、第1ブルートゥース回路110は、第1ブルートゥース回路110が遠隔ブルートゥース装置102との通信を担う旨を、マルチ構成要員型ブルートゥース装置100における他の構成要員回路に通知する。すなわち、これ以降は、第1ブルートゥース回路110が遠隔ブルートゥース装置102と他の構成要員回路との間のデータ通信の橋渡し役を担うことになる。ステップ204において、制御回路115は、データ伝送回路123を介して、前記通知の情報を他の構成要員回路のデータ伝送回路に伝送してもよい。
次に、第2ブルートゥース回路120は、遠隔ブルートゥース装置102から伝送されてくるデータを受信、または、データを遠隔ブルートゥース装置102に伝送する必要がある場合、ステップ206の処理を行う。これと類似して、第3ブルートゥース回路130は、遠隔ブルートゥース装置102から伝送されてくるデータを受信、または、データを遠隔ブルートゥース装置102に伝送する必要がある場合、ステップ208の処理を行う。
ステップ206では、第2ブルートゥース回路120は、第1ブルートゥース回路110を介して間接的に遠隔ブルートゥース装置102とデータ通信する。例えば、第2ブルートゥース回路120内の制御回路125が、遠隔ブルートゥース装置102に伝送すべきデータを、データ伝送回路123を介して第1ブルートゥース回路110のデータ伝送回路113に伝送しておき、続いて、第1ブルートゥース回路110が当該データを遠隔ブルートゥース装置102に転送してもよい。また、例えば、第2ブルートゥース回路120内の制御回路125は、遠隔ブルートゥース装置102から伝送されてくるデータを、第1ブルートゥース回路110を介して受信してもよい。
ステップ208では、第3ブルートゥース回路130は、第1ブルートゥース回路110を介して間接的に遠隔ブルートゥース装置102とデータ通信する。例えば、第3ブルートゥース回路130が、遠隔ブルートゥース装置102に伝送すべきデータを、第1ブルートゥース回路110のデータ伝送回路113に伝送しておき、続いて、第1ブルートゥース回路110が当該データを遠隔ブルートゥース装置102に転送してもよい。また、例えば、第3ブルートゥース回路130は、遠隔ブルートゥース装置102から伝送されてくるデータを、第1ブルートゥース回路110を介して受信してもよい。
このように、マルチ構成要員型ブルートゥース装置100が動作しているとき、第1ブルートゥース回路110のみが遠隔ブルートゥース装置102と直接にデータ通信する一方、他の構成要員回路のいずれも第1ブルートゥース回路110を介して間接的に遠隔ブルートゥース装置102とデータ通信することができる。換言すれば、この場合の第1ブルートゥース回路110は、他の構成要員回路と遠隔ブルートゥース装置102との間の信号中継役を担う。
マルチ構成要員型ブルートゥース装置100における全ての構成要員回路が電池に依存して給電される(battery-powered)場面では、上述した構成によれば、他の構成要員回路の演算量、電力消費量および発熱量を低減させることができる。
マルチ構成要員型ブルートゥース装置100が動作する過程において、第1ブルートゥース回路110の判断回路117は、周期的または断続的にステップ210の処理を行うことがある。
ステップ210では、判断回路117は、第1ブルートゥース回路110の演算負荷、残電、温度および/または動作環境などの動作パラメータを評価することにより、第1ブルートゥース回路110が担っている信号中継役を、他の構成要員回路に引き継がせるべきか否かを判断する。第1ブルートゥース回路110の現在状況が、信号中継役を他の構成要員回路に引き継がせなければならないという所定の条件に達したと判断回路117が判断した場合、第1ブルートゥース回路110はステップ212の処理を行う。そうでなければ、判断回路117は、ステップ210の処理を周期的または断続的に繰り返す。
例えば、第1ブルートゥース回路110の演算負荷が所定レベルを超えた場合、第1ブルートゥース回路110の残電が所定レベルを下回った場合、第1ブルートゥース回路110の温度が所定の温度値を超えた場合、および、第1ブルートゥース回路110の動作環境が所定の条件から偏移した場合に、判断回路117は、第1ブルートゥース回路110が担っている信号中継役を、他の構成要員回路に引き継がせるべきと判断してもよい。第1ブルートゥース回路110がブルートゥースイヤホンである一部の実施例では、第1ブルートゥース回路110がユーザの耳道内で動作することが、第1ブルートゥース回路110の動作環境に関する所定の条件となる。この場合、判断回路117は、第1ブルートゥース回路110の位置がユーザの耳から離れたことを検出した場合に、第1ブルートゥース回路110の動作環境が所定の条件から偏移したと判断してもよい。
また、例えば、判断回路117は、前記条件の少なくとも1つが満たされた場合に、第1ブルートゥース回路110が担っている信号中継役を、他の構成要員回路に引き継がせるべきと判断してもよい。
さらに、一実施例において、判断回路117は、ステップ210において、データ伝送回路113を介して他の構成要員回路(例えば、図1のブルートゥース回路120および130)からの演算負荷、残電、温度または動作環境などの動作パラメータの指示情報を受信すると共に、ステップ210において、第1ブルートゥース回路110の動作パラメータと他の構成要員回路の動作パラメータとを比較し、その差分を、第1ブルートゥース回路110が担っている信号中継役を他の構成要員回路に引き継がせるべきか否かの判断根拠としてもよい。本実施例では、他の構成要員回路は、各自の判断回路を利用して自分の演算負荷、残電、温度および/または動作環境などの動作パラメータを評価すると共に、得られた動作パラメータをステップ210において第1ブルートゥース回路110の判断回路117に伝送してもよい。
例えば、第1ブルートゥース回路110の演算負荷が他の構成要員回路の演算負荷を超えて所定の程度に達した場合、第1ブルートゥース回路110の残電が他の構成要員回路の残電を下回って所定の程度に達した場合、第1ブルートゥース回路110の温度が他の構成要員回路の温度を超えて所定の程度に達した場合、および、第1ブルートゥース回路110の動作環境が所定の条件から偏移したものの、他の構成要員回路の動作環境が所定の条件に合致している場合に、判断回路117は、第1ブルートゥース回路110が担っている信号中継役を他の構成要員回路に引き継がせるべきと判断してもよい。
また、例えば、判断回路117は、前記条件の少なくとも1つが満たされた場合に、第1ブルートゥース回路110が担う信号中継役を他の構成要員回路に引き継がせるべきと判断してもよい。
実際の応用において、判断回路117は、前記ステップ210において、前記第1ブルートゥース回路110自身の動作パラメータ、および、第1ブルートゥース回路110の動作パラメータと他の構成要員回路の動作パラメータとの差分を考慮に入れ、総合的に判断してもよい。
例えば、第1ブルートゥース回路110の演算負荷が所定レベルを超えた場合、第1ブルートゥース回路110の残電が所定レベルを下回った場合、第1ブルートゥース回路110の温度が所定の温度値を超えた場合、第1ブルートゥース回路110の演算負荷が他の構成要員回路の演算負荷を超えて所定の程度に達した場合、第1ブルートゥース回路110の残電が他の構成要員回路の残電を下回って所定の程度に達した場合、第1ブルートゥース回路110の温度が他の構成要員回路の温度を超えて所定の程度に達した場合、および、第1ブルートゥース回路110の動作環境が所定の条件から偏移したものの、他の構成要員回路の動作環境が所定の条件に合致している場合に、判断回路117は、第1ブルートゥース回路110が担っている信号中継役を他の構成要員回路に引き継がせるべきと判断してもよい。
あるいは、判断回路117は、前記条件の少なくとも一部が満たされた場合に、第1ブルートゥース回路110が担っている信号中継役を他の構成要員回路に引き継がせるべきと判断してもよい。
判断回路117は、第1ブルートゥース回路110が担っている信号中継役を他の構成要員回路に引き継がせるべきと判断した場合、その旨を制御回路115に通知し、制御回路115は当該通知により、ステップ212の処理を行う。
ステップ212では、制御回路115は、マルチ構成要員型ブルートゥース装置100における他の構成要員回路の中から、以降の動作に関わる信号中継役を担う構成要員回路を1つ選定すると共に、データ伝送回路113を介して、第1ブルートゥース回路110の装置識別データ、第1ブルートゥース回路110と遠隔ブルートゥース装置102との間のブルートゥース接続パラメータ、およびハンドオーバ指示(handover instruction)を、前記選定された構成要員回路に伝送してもよい。
実際の応用において、制御回路115は、マルチ構成要員型ブルートゥース装置100における他の構成要員回路の中から、以降の動作に関わる信号中継役を担う構成要員回路を任意に1つ選択してもよい。
あるいは、制御回路115は、マルチ構成要員型ブルートゥース装置100における他の構成要員回路の中から、最も好適な動作パラメータを持つ構成要員回路を、以降の動作に関わる信号中継役を担う構成要員回路として選択してもよい。
例えば、制御回路115は、マルチ構成要員型ブルートゥース装置100における他の構成要員回路の中から、残電が最も高い構成要員回路を、以降の動作に関わる信号中継役を担う構成要員回路として選択してもよい。
また、例えば、制御回路115は、マルチ構成要員型ブルートゥース装置100における他の構成要員回路の中から、平均演算負荷量が最も低い構成要員回路を、以降の動作に関わる信号中継役を担う構成要員回路として選択してもよい。
また、例えば、制御回路115は、マルチ構成要員型ブルートゥース装置100における他の構成要員回路の中から、温度が最も低い構成要員回路を、以降の動作に関わる信号中継役を担う構成要員回路として選択してもよい。
また、例えば、制御回路115は、他の構成要員回路に関する複数の動作パラメータの各々に適宜加重すると共に、これら動作パラメータの加重スコアが最も高い構成要員回路を、以降の動作に関わる信号中継役を担う構成要員回路として選択してもよい。
以下は、説明の便宜上、制御回路115が前記ステップ212において、第2ブルートゥース回路120を、以降の動作に関わる信号中継役を担うものとして選択したと仮定する。
したがって、制御回路115は、ステップ212において、図3に示すように、データ伝送回路113およびデータ伝送回路123を介して、第1ブルートゥース回路110の装置識別データ、第1ブルートゥース回路110と遠隔ブルートゥース装置102と間のブルートゥース接続パラメータ、およびハンドオーバ指示を第2ブルートゥース回路120に伝送する。
なお、前記ハンドオーバ指示とは、第2ブルートゥース回路120に対し、第1ブルートゥース回路110の装置識別データおよびブルートゥース接続パラメータを使用させて第1ブルートゥース回路110の名義を模擬(imitate)させ、遠隔ブルートゥース装置102と直接にデータ通信させるよう指示するものであり、すなわち、第2ブルートゥース回路120に対し、第1ブルートゥース回路110の装置識別データおよびブルートゥース接続パラメータを使用させ、第1ブルートゥース回路110の代わりにブルートゥース無線伝送方式にて遠隔ブルートゥース装置102と直接にデータ通信させて信号中継役を担わせるよう指示するものである。
実際の応用において、前記ステップ212において伝送される第1ブルートゥース回路110の装置識別データは、マルチ構成要員型ブルートゥース装置100と遠隔ブルートゥース装置102との間のブルートゥース通信プロトコルのバージョン、またはブルートゥース通信モードに応じて異なってもよい。
一実施例において、前記第1ブルートゥース回路110の装置識別データは、例えば、第1ブルートゥース回路110が使用している同期ワード(sync word)、第1ブルートゥース回路110のブルートゥースアドレス(Bluetooth address)、および、第1ブルートゥース回路110の論理伝送アドレス(logical transport address,LT_ADDR)を含む。
また、別の一実施例において、前記第1ブルートゥース回路110の装置識別データは、例えば、第1ブルートゥース回路110のアクセスアドレス(access address)を含む。
さらに、別の一実施例において、前記第1ブルートゥース回路110の装置識別データは、例えば、第1ブルートゥース回路110のアクセスアドレス、および、第1ブルートゥース回路110の告知デバイスアドレス(advertising device address)を含む。
同様に、前記ステップ212において伝送されるブルートゥース接続パラメータは、マルチ構成要員型ブルートゥース装置100と遠隔ブルートゥース装置102との間のブルートゥース通信プロトコルのバージョン、またはブルートゥース通信モードに応じて異なってもよい。
一実施例において、前記第1ブルートゥース回路110と遠隔ブルートゥース装置102との間のブルートゥース接続パラメータは、例えば、ピコネットクロック(piconet clock)および適応型周波数ホッピングマップ(adaptive frequency hopping map,AFH map)を含む。
また、別の一実施例において、前記第1ブルートゥース回路110と遠隔ブルートゥース装置102との間のブルートゥース接続パラメータは、例えば、ピコネットクロック、適応型周波数ホッピングマップ、リンクキー(link key)、および暗号化キー(encryption key)を含む。
さらに、別の一実施例において、前記第1ブルートゥース回路110と遠隔ブルートゥース装置102との間のブルートゥース接続パラメータは、例えば、告知インターバル(advertising interval)、チャネルマップ(channel map)、およびベンダー仕様タイミングデータ(vendor specific timing data)を含む。
さらに、別の一実施例において、前記第1ブルートゥース回路110と遠隔ブルートゥース装置102との間のブルートゥース接続パラメータは、例えば、アンカーポイント時点(anchor point instant)、接続カウント値(connection counter)、接続インターバル(connection interval)、チャネルマップ、長期的キー(long term key)、セッションキー(session key)、初期化ベクトル(initialization vector)、暗号化アルゴリズムカウント値(CCM counter)、およびベンダー仕様タイミングデータを含む。
ステップ214では、第2ブルートゥース回路120の制御回路125は、第1ブルートゥース回路110から伝送されてくる前記装置識別データ、ブルートゥース接続パラメータおよびハンドオーバ指示を、データ伝送回路123を介して受信する。
ステップ216では、第1ブルートゥース回路110または第2ブルートゥース回路120は、遠隔ブルートゥース装置102との通信を担う役を第2ブルートゥース回路120に変更する旨を、マルチ構成要員型ブルートゥース装置100における他の構成要員回路に通知する。すなわち、これ以降は、第2ブルートゥース回路120が遠隔ブルートゥース装置102と他の構成要員回路との間のデータ通信の橋渡し役を担うことに変わる。ステップ216において、制御回路115または125は、その対応するデータ伝送回路を介して、前記通知の情報を他の構成要員回路のデータ伝送回路に伝送してもよい。
ステップ218では、第2ブルートゥース回路120の制御回路125は、図4のようにブルートゥース通信回路121を、第1ブルートゥース回路110の装置識別データおよびブルートゥース接続パラメータを使用させて第1ブルートゥース回路110の名義を模擬させ、遠隔ブルートゥース装置102と直接にデータ通信させるように制御する。なお、第1ブルートゥース回路110の名義を模擬するとは、第2ブルートゥース回路120が、遠隔ブルートゥース装置102と直接にブルートゥース通信を行う場合に、意図的に第1ブルートゥース回路110の装置識別データを第2ブルートゥース回路120の装置識別データとして用いることにより、遠隔ブルートゥース装置102に対し、該遠隔ブルートゥース装置102が依然として第1ブルートゥース回路110とブルートゥース通信していると疑似認識させることを意味する。
一方、第2ブルートゥース回路120のブルートゥース通信回路121が第1ブルートゥース回路110の名義で遠隔ブルートゥース装置102と直接にデータ通信するとき、第1ブルートゥース回路110の制御回路115は、ブルートゥース通信回路111を、遠隔ブルートゥース装置102とブルートゥース無線伝送方式にて直接にデータ通信することを停止させるように制御する。これにより、遠隔ブルートゥース装置102の信号受信における衝突を回避する。
換言すれば、第1ブルートゥース回路110がブルートゥース通信回路111を用いて遠隔ブルートゥース装置102と直接にデータ通信している間、第2ブルートゥース回路120のブルートゥース通信回路121は遠隔ブルートゥース装置102と直接にデータ通信することがなく、一方で、第2ブルートゥース回路120のブルートゥース通信回路121が遠隔ブルートゥース装置102と直接にデータ通信している間、第1ブルートゥース回路110のブルートゥース通信回路111は遠隔ブルートゥース装置102と直接にデータ通信することがない。
なお、ブルートゥース通信回路121が装置識別データおよび複数のブルートゥース接続パラメータを使用して第1ブルートゥース回路110の名義を模擬し、ブルートゥース無線伝送方式にて遠隔ブルートゥース装置102と直接にデータ通信することは、予め遠隔ブルートゥース装置102から承認される必要がない。したがって、第2ブルートゥース回路120は、遠隔ブルートゥース装置102との直接のブルートゥース通信を開始する際、遠隔ブルートゥース装置102からブルートゥース再接続を要求されずに済む。
換言すれば、前記第2ブルートゥース回路120が第1ブルートゥース回路110の装置識別データおよびブルートゥース接続パラメータをそのまま用いて遠隔ブルートゥース装置102と直接にブルートゥース通信を行う構成は、遠隔ブルートゥース装置102とブルートゥース接続を再度立ち上げる時間を無くすことができる。別の視点から言うと、該構成によれば、第2ブルートゥース回路120が自分の名義で遠隔ブルートゥース装置102とブルートゥース接続を再度立ち上げることによって生じる信号途切れを効果的に回避することができる。
次に、第1ブルートゥース回路110は、遠隔ブルートゥース装置102から伝送されてくるデータを受信、または、データを遠隔ブルートゥース装置102に伝送する必要がある場合、ステップ220の処理を行う。これと類似して、第3ブルートゥース回路130は、遠隔ブルートゥース装置102から伝送されてくるデータを受信、または、データを遠隔ブルートゥース装置102に伝送する必要がある場合、ステップ222の処理を行う。
ステップ220では、第1ブルートゥース回路110は、第2ブルートゥース回路120を介して間接的に遠隔ブルートゥース装置102とデータ通信する動作に変更する。例えば、第1ブルートゥース回路110内の制御回路115が、遠隔ブルートゥース装置102に伝送すべきデータを、データ伝送回路113を介して第2ブルートゥース回路120のデータ伝送回路123に伝送しておき、続いて、第2ブルートゥース回路120が当該データを遠隔ブルートゥース装置102に転送してもよい。また、例えば、第1ブルートゥース回路110内の制御回路115は、遠隔ブルートゥース装置102から伝送されてくるデータを、第2ブルートゥース回路120を介して受信してもよい。
ステップ222では、第3ブルートゥース回路130は、第2ブルートゥース回路120を介して間接的に遠隔ブルートゥース装置102とデータ通信する。例えば、第3ブルートゥース回路130が、遠隔ブルートゥース装置102に伝送すべきデータを、第2ブルートゥース回路120のデータ伝送回路123に伝送しておき、続いて、第2ブルートゥース回路120が当該データを遠隔ブルートゥース装置102に転送してもよい。また、例えば、第3ブルートゥース回路130は、遠隔ブルートゥース装置102から伝送されてくるデータを、第2ブルートゥース回路120を介して受信してもよい。
このように、マルチ構成要員型ブルートゥース装置100のこれ以降の動作において、第2ブルートゥース回路120のみが遠隔ブルートゥース装置102と直接にデータ通信する一方、他の構成要員回路のいずれも第2ブルートゥース回路120を介して間接的に遠隔ブルートゥース装置102とデータ通信する動作に変更する。換言すれば、この場合の第2ブルートゥース回路120は、第1ブルートゥース回路110の代わりに、他の構成要員回路と遠隔ブルートゥース装置102との間の信号中継役を担う。
なお、前記図2に示すステップの実行手順は、単に例示的な実行例であり、本発明の実際の実施形態を限定するものではない。例えば、第1ブルートゥース回路110の装置識別データ、第1ブルートゥース回路110と遠隔ブルートゥース装置102との間のブルートゥース接続パラメータ、およびハンドオーバ指示は、ステップ212において第2ブルートゥース回路120へ同時に伝送されると説明したが、実際の応用上、異なる時点で別々で伝送されてもよい。
一部の実施例または応用では、前記第1ブルートゥース回路110は、信号中継役を担っている過程において、特定の応用目的を実現するために前記ステップ210の判断動作をスキップ(skip)して直接にステップ212の動作を実行してもよい。例えば、制御回路115は、第1ブルートゥース回路110が何らかの特定動作モード(例えば、節電モード、本体自動更新モードまたは再起動)に移行する必要があるとき、判断回路117による現在の判断結果に関係なく、自発的に他の構成要員回路のいずれか1つ(例えば、前記第2ブルートゥース回路120)に対し、第1ブルートゥース回路110の代わりに信号中継役を引き継がせて遠隔ブルートゥース装置102と直接にデータ通信させるよう、要求してもよい。この場合は、第1ブルートゥース回路110が前記ステップ210をスキップして直接にステップ212の動作を実行することに相当する。
また、前記マルチ構成要員型ブルートゥース装置100における構成要員回路の数量は、2個にまで減らしてもよく、回路の実際の応用に応じて増やしてもよい。
前記マルチ構成要員型ブルートゥース装置100の構成および動作形態は、ペアとなっているブルートゥースイヤホン、ワンセットとなっているブルートゥーススピーカー、ワンセットとなっているVR(仮想現実)機器、ワンセットとなっているブルートゥースタイヤ圧力計、複数のIoT(物のインターネット)ユニット回路を含んだIoTシステムなど、ブルートゥース伝送態様を用いる様々な装置またはシステムに適用することができる。また、前記遠隔ブルートゥース装置102は、ブルートゥース伝送機能を有する様々な、デスクトップ型コンピュータ、ノート型コンピュータ、タブレット型コンピュータ、携帯電話、スマート腕時計、VRオーディオ−ビデオ信号の生成装置、スマートスピーカー、スマートテレビ、車両用電子機器、IoT送受信回路など、適した装置によって実現されてもよい。
以上のように、まず、第1ブルートゥース回路110は、マルチ構成要員型ブルートゥース装置100内での信号中継役を担って遠隔ブルートゥース装置102と直接にブルートゥース通信を行うと共に、遠隔ブルートゥース装置102と他の構成要員回路との間のデータ通信の橋渡し役を担う。そして、第1ブルートゥース回路110が信号中継役を担って一定の時間が経過すると、第1ブルートゥース回路110の制御回路115は、第2ブルートゥース回路120に信号中継役を引き継がせ、すなわち、第2ブルートゥース回路120に対し、第1ブルートゥース回路110の装置識別データおよびブルートゥース接続パラメータを使用させて第1ブルートゥース回路110の名義を模擬させ、第1ブルートゥース回路110の代わりに遠隔ブルートゥース装置102と直接にブルートゥース通信を行わせるよう、指示する。これにより、第2ブルートゥース回路120は遠隔ブルートゥース装置102と他の構成要員回路との間のデータ通信の橋渡し役となる。
前記第1ブルートゥース回路110が信号中継役を第2ブルートゥース回路120に引き継がせることは、第1ブルートゥース回路110の演算量、電力消費量、または発熱量を効果的に低減させることができる。
また、第1ブルートゥース回路110の名義を模擬して遠隔ブルートゥース装置102と直接にデータ通信する前記構成を採用することにより、第2ブルートゥース回路120が遠隔ブルートゥース装置102と新たなブルートゥース接続を再度立ち上げる必要はなくなる。したがって、マルチ構成要員型ブルートゥース装置100における構成要員回路に信号の途切れが生じることを、効果的に回避することができる。
換言すれば、図2に示す前記方法を採用することにより、第1ブルートゥース回路110は、予め遠隔ブルートゥース装置102から承認されることなく、信号中継役をシームレスの形式で第2ブルートゥース回路120に引き継がせることができる。
別の視点から言うと、前記マルチ構成要員型ブルートゥース装置100における現在に信号中継役を担っている構成要員回路(以下、ブルートゥース主回路と称する)は、信号中継役を引き継がせるべき次の構成要員回路(以下、ブルートゥース副回路と称する)を必要な時点で選択すると共に、ブルートゥース副回路がブルートゥース主回路の代わりに遠隔ブルートゥース装置102と直接にブルートゥース通信を行うタイミングを、柔軟に決定することができる。
したがって、図2に示す前記方法を採用することにより、マルチ構成要員型ブルートゥース装置100における複数のブルートゥース回路同士間で、負荷の均等化、電力消費の均等化、または発熱量の均等化などの管理体制を実現することができる。したがって、マルチ構成要員型ブルートゥース装置100全体の機能性を向上させ、ブルートゥース回路の使用寿命を延長、またはユーザ体験を改善することができる。
前記図2〜図4の実施例において、信号中継役を担っている現在のブルートゥース主回路は遠隔ブルートゥース装置102と双方向パケット伝送を行い、他の構成要員回路は、遠隔ブルートゥース装置102から送信されてくるパケットを、ブルートゥース主回路を介して間接的に受信する。さらに、ブルートゥース主回路は、自身の演算負荷、残電、温度、動作環境などの動作パラメータ、および/またはブルートゥース主回路の動作パラメータと他の構成要員回路の動作パラメータとの差分に基づき、ブルートゥース主回路の担っている信号中継役を他の構成要員回路に引き継がせるべきかを判断する。但し、これは、単に前記図1におけるマルチ構成要員型ブルートゥース装置100と遠隔ブルートゥース装置102とのインタラクションの一例であり、マルチ構成要員型ブルートゥース装置100の実際の動作方式を限定するものではない。
以下、図5〜図7を参照しつつ、マルチ構成要員型ブルートゥース装置100の他の動作方式を説明する。図5は、図1におけるマルチ構成要員型ブルートゥース装置100と遠隔ブルートゥース装置102とのインタラクションに関する他の動作方法を簡略化したフローチャートである。図6〜図7はマルチ構成要員型ブルートゥース装置100における異なる構成要員回路同士間でのシームレスハンドオーバを実現する他の方法を簡略化したフローチャートである。
本実施例において、マルチ構成要員型ブルートゥース装置100における1つの構成要員回路(以下、同様に「ブルートゥース主回路」と称する)が、遠隔ブルートゥース装置102との双方向パケット伝送役を担う。ブルートゥース主回路が遠隔ブルートゥース装置102と双方向パケット伝送を行う間において、他の構成要員回路は、遠隔ブルートゥース装置102から送信されてくるパケットを傍受(sniff)することができる。ただし、当該他の構成要員回路は、指令、データ、またはその他の関連するパケットを遠隔ブルートゥース装置102に伝送することが許されない。換言すれば、本実施例のマルチ構成要員型ブルートゥース装置100における全ての構成要員回路が、遠隔ブルートゥース装置102から送信されてくるパケットを受信するが、ブルートゥース主回路のみ、指令、データ、またはその他の関連するパケットを遠隔ブルートゥース装置102に伝送することが許される。
以下、説明の便宜上、マルチ構成要員型ブルートゥース装置100中に予めに設定された、遠隔ブルートゥース装置102との双方向パケット伝送を行う構成要員回路は、第1ブルートゥース回路110であると仮定する。
図5の示すように、マルチ構成要員型ブルートゥース装置100は、まず、ステップ502を実行し、遠隔ブルートゥース装置102から送信されてくるパケットを受信するために必要なブルートゥース接続パラメータを取得する。実際の応用において、マルチ構成要員型ブルートゥース装置100は、1つの構成要員回路を用いて遠隔ブルートゥース装置102と接続し、関連するブルートゥース接続パラメータを取得した後、該構成要員回路を介して、取得したブルートゥース接続パラメータを他の構成要員回路に伝送してもよい。
例えば、一実施例において、第1ブルートゥース回路110の制御回路115は、ステップ502において、ブルートゥース通信回路111を、遠隔ブルートゥース装置102とブルートゥース接続を立ち上げらせるように制御すると共に、データ伝送回路113を介して、第1ブルートゥース回路110と遠隔ブルートゥース装置102との間のブルートゥース接続パラメータを第2ブルートゥース回路120等、他の構成要員回路に転送してもよい。これにより、他の構成要員回路は、これ以降、ブルートゥース接続パラメータを用いて、遠隔ブルートゥース装置102から送信されてくるパケットを受信することができる。
また、例えば、別の一実施例において、第2ブルートゥース回路120の制御回路125は、ステップ502において、ブルートゥース通信回路121を、遠隔ブルートゥース装置102とブルートゥース接続を立ち上げらせるように制御すると共に、データ伝送回路123を介して、第2ブルートゥース回路120と遠隔ブルートゥース装置102との間のブルートゥース接続パラメータを他の構成要員回路に伝送してもよい。これにより、他の構成要員回路は、これ以降、ブルートゥース接続パラメータを用いて、遠隔ブルートゥース装置102から送信されてくるパケットを受信することができる。一方、制御回路125は、ステップ502において、データ伝送回路123を介して、第2ブルートゥース回路120の装置識別データ、および、第2ブルートゥース回路120と遠隔ブルートゥース装置102との間のブルートゥース接続パラメータを第1ブルートゥース回路110に伝送してもよい。これにより、第1ブルートゥース回路110は、後のステップ506において遠隔ブルートゥース装置102と双方向パケット伝送を行うことができるようになる。その後、第2ブルートゥース回路120は、遠隔ブルートゥース装置102にパケットを伝送せず、遠隔ブルートゥース装置102から送信されてくるパケットを単方向に受信するのみに変更する。これにより、遠隔ブルートゥース装置102におけるパケット衝突を回避する。
ステップ504において、第1ブルートゥース回路110は、これ以降に第1ブルートゥース回路110が遠隔ブルートゥース装置102との双方向パケット伝送役を担う旨を、マルチ構成要員型ブルートゥース装置100における他の構成要員回路(例えば、前記第2ブルートゥース回路120および第3ブルートゥース回路130)に通知する。ステップ504において、第1ブルートゥース回路110は、他の構成要員回路に対し、遠隔ブルートゥース装置102から送信されてくるパケットを検知した(つまり、受信した)場合に当該検知を第1ブルートゥース回路110に通知するよう、指示する。すなわち、他の構成要員回路は、遠隔ブルートゥース装置102から送信されてくるパケットを単方向受信することができるが、指令、データ、またはその他の関連するパケットを遠隔ブルートゥース装置102に伝送することが許されない。制御回路115は、データ伝送回路123を介して、前記通知メッセージおよび指示を他の構成要員回路のデータ伝送回路に伝送してもよい。
次に、遠隔ブルートゥース装置102が様々な指令またはデータをマルチ構成要員型ブルートゥース装置100に伝送する必要がある場合、あるいは、マルチ構成要員型ブルートゥース装置100が様々な指令またはデータを遠隔ブルートゥース装置102に伝送する必要がある場合に、第1ブルートゥース回路110がステップ506の処理を行う。
ステップ506において、制御回路115は、ステップ502で得られたブルートゥース接続パラメータを用いて、ブルートゥース通信回路111を介して遠隔ブルートゥース装置102と双方向パケット伝送を行い、遠隔ブルートゥース装置102から伝送されてくる様々な指令またはデータを受信し、または、様々な指令またはデータを遠隔ブルートゥース装置102に伝送してもよい。なお、前記ステップ502の動作について説明したように、第1ブルートゥース回路110が、遠隔ブルートゥース装置102と双方向パケット伝送を行う際に用いるブルートゥース接続パラメータは、第1ブルートゥース回路110自身が取得したもので有り得るし、他の構成要員回路(例えば、第2ブルートゥース回路120)から伝送されてきたものでもあり得る。
第1ブルートゥース回路110が用いるルートゥース接続パラメータが、第1ブルートゥース回路110自身が取得したものであれば、第1ブルートゥース回路110は、ステップ506において、第1ブルートゥース回路110自身の名義で遠隔ブルートゥース装置102と双方向パケット伝送を行ってもよい。第1ブルートゥース回路110が用いるブルートゥース接続パラメータが、第2ブルートゥース回路120から伝送されてきたものであれば、第1ブルートゥース回路110は、ステップ506において、第2ブルートゥース回路120の名義で遠隔ブルートゥース装置102と双方向パケット伝送を行ってもよい。
ブルートゥース通信回路111が、遠隔ブルートゥース装置102から伝送されてくるパケットを受信するたびに、第1ブルートゥース回路110の制御回路115は、ステップ508の処理を行い、受信されたパケットに対応する確認メッセージ(acknowledge message)を、ブルートゥース通信回路111を介して遠隔ブルートゥース装置102に伝送する。遠隔ブルートゥース装置102は、特定のパケットに対応する確認メッセージを受信できなかった場合、当該特定のパケットをブルートゥース通信回路111に再伝送する。実際の応用において、第1ブルートゥース回路110と遠隔ブルートゥース装置102との間で、適した従来の様々なパケットハンドシェーク(handshake)形式を用いることで、パケット取り漏らしのリスクを低減させ、または回避してもよい。
一方、第1ブルートゥース回路110が遠隔ブルートゥース装置102と双方向パケット伝送を行う間において、他の構成要員回路は、ステップ510の処理を行い、遠隔ブルートゥース装置102から送信されてくるパケットを傍受する。
例えば、ステップ510において、第2ブルートゥース回路120の制御回路125は、ステップ502で取得しれたブルートゥース接続パラメータに基づき、ブルートゥース通信回路121を介して、遠隔ブルートゥース装置102から送信されてくるパケットを傍受してもよい。一実施例において、ブルートゥース通信回路121は、遠隔ブルートゥース装置102から送信されてくる全てのブルートゥースパケットを傍受してもよい。また、別の一実施例において、ブルートゥース通信回路121は、遠隔ブルートゥース装置102からマルチ構成要員型ブルートゥース装置100以外の装置に伝送されるブルートゥースパケットを傍受せず、遠隔ブルートゥース装置102から第1ブルートゥース回路110に伝送されるブルートゥースパケットのみを傍受する。前記ステップ502について説明したように、第2ブルートゥース回路120が、遠隔ブルートゥース装置102から送信されてくるパケットを傍受する際に用いるブルートゥース接続パラメータは、第2ブルートゥース回路120自身が取得したもので有り得るし、他の構成要員回路(例えば、第1ブルートゥース回路110)から伝送されてきたものでもあり得る。
他の構成要員回路は、遠隔ブルートゥース装置102から送信されてくるパケットを傍受する(つまり、受信する)たびに、ステップ512の処理を行う。ステップ512において、当該構成要員回路は、受信したパケットに対応する通知メッセージ(notification message)を第1ブルートゥース回路110に伝送するが、遠隔ブルートゥース装置102には、いかなる確認メッセージも伝送することはない。例えば、第2ブルートゥース回路120が、遠隔ブルートゥース装置102から送信されてくるパケットを受信するたびに、制御回路125は、ステップ512の処理を行い、データ伝送回路123を介して、対応する通知メッセージを第1ブルートゥース回路110のデータ伝送回路113に伝送してもよいが、遠隔ブルートゥース装置102には、いかなる確認メッセージも、ブルートゥース通信回路121およびデータ伝送回路123を介して伝送することはない。
換言すれば、本実施例において、第1ブルートゥース回路110および他の構成要員回路のいずれも、遠隔ブルートゥース装置102から送信されてくるパケットを受信するが、パケットを受信したときに確認メッセージを遠隔ブルートゥース装置102に伝送するのは第1ブルートゥース回路110のみであり、他の構成要員回路は、いずれも、確認メッセージを遠隔ブルートゥース装置102に伝送することはない。これにより、遠隔ブルートゥース装置102の誤判断を回避する。遠隔ブルートゥース装置102は、遠隔ブルートゥース装置102から送信されてくるパケットが第2ブルートゥース回路120に傍受されていることを把握しておらず、且つ、対応する確認メッセージが第2ブルートゥース回路120から遠隔ブルートゥース装置102へ送信されることがないため、第2ブルートゥース回路120と遠隔ブルートゥース装置102との間では、遠隔ブルートゥース装置102から送信されてきたパケットについて、いかなるパケットハンドシェークも行われない。
本実施例において、第2ブルートゥース回路120が前記通知メッセージを第1ブルートゥース回路110に伝送する目的は、第1ブルートゥース回路110とパケットハンドシェークを行うためではなく、遠隔ブルートゥース装置102から送信されてきたパケットを第2ブルートゥース回路120が傍受したという結果を、第1ブルートゥース回路110に把握させるためである。
また、第2ブルートゥース回路120が前記通知メッセージを第1ブルートゥース回路110に伝送する目的は、この伝送をきっかけに前記確認メッセージを遠隔ブルートゥース装置102に伝送すべきか否かを、第1ブルートゥース回路110に決定させるためでもない。本実施例の第1ブルートゥース通信回路111は、前記確認メッセージを遠隔ブルートゥース装置102に伝送するまで、第2ブルートゥース回路120から伝送されてきた前記通知メッセージをデータ伝送回路113が受信したか否かをチェックすることはない。したがって、第1ブルートゥース通信回路111が確認メッセージを遠隔ブルートゥース装置102に伝送するタイミングは、第2ブルートゥース回路120から伝送されてきた前記通知メッセージをデータ伝送回路113が受信したか否かとは無関係である。
例えば、遠隔ブルートゥース装置102から特定のブルートゥースパケットが送信されたとき、第1ブルートゥース回路110が当該特定のブルートゥースパケットを受信したが、第2ブルートゥース回路120が当該特定のブルートゥースパケットを傍受できなかった場合、第1ブルートゥース通信回路111は、ブルートゥース通信回路111を介して、対応する確認メッセージを遠隔ブルートゥース装置102伝送する。逆に、第2ブルートゥース回路120が当該特定のブルートゥースパケットを傍受したが、第1ブルートゥース回路110が当該特定のブルートゥースパケットを受信できなかった場合、第1ブルートゥース通信回路111は、対応する確認メッセージを遠隔ブルートゥース装置102に伝送することはない。
このように、第1ブルートゥース回路110の制御回路115は、特定のブルートゥースパケットに対応する確認メッセージを遠隔ブルートゥース装置102に伝送すべきか否かを決定するとき、当該特定のブルートゥースパケットに対応する通知メッセージが第2ブルートゥース回路120から第1ブルートゥース回路110に伝送されたか否かを考慮しない。
実際の応用において、第2ブルートゥース回路120から第1ブルートゥース回路110に伝送されてくる前記通知メッセージは、適した様々なデータ形式によって実現され得る。例えば、第2ブルートゥース回路120が、遠隔ブルートゥース装置102から伝送されてきた特定のブルートゥースパケットを受信したとき、制御回路125は、当該特定のブルートゥースパケットからその対応するパケット番号を抽出し、該パケット番号と第2ブルートゥース回路120を識別するための装置コードまたは装置識別データとを組み合わせ、または暗号化することで、当該特定のブルートゥースパケットと対応付けられた通知メッセージを生成してもよい。また、例えば、制御回路125は、当該特定のブルートゥースパケットから、適したパケット識別データを抽出し、該パケット識別データと第2ブルートゥース回路120を識別するための装置コードまたは装置識別データとを組み合わせ、または暗号化することで、当該特定のブルートゥースパケットと対応付けられた通知メッセージを生成してもよい。
上述したように、遠隔ブルートゥース装置102が複数のブルートゥースパケットを連続送信する間において、通常、第1ブルートゥース回路110は、前記ステップ506および508の処理を繰り返し、複数の確認メッセージを遠隔ブルートゥース装置102に伝送する。一方、他の構成要員回路は、通常、前記ステップ510および512の処理を繰り返し、複数の通知メッセージを第1ブルートゥース回路110に伝送する。例えば、第2ブルートゥース回路120は、前記ステップ510および512の処理を繰り返し、遠隔ブルートゥース装置102から送信されてきた複数のブルートゥースパケットに対応する複数の通知メッセージを、第1ブルートゥース回路110に伝送する。
実際の動作時、個別の構成要員回路が、遠隔ブルートゥース装置102から送信されてきたパケットの一部を取り漏らすことが稀にある。また、それぞれの構成要員回路が取り漏らしたパケットおよびパケット数が異なることがある。したがって、第1ブルートゥース回路110は、断続的または周期的にステップ514の処理を行い、遠隔ブルートゥース装置102から送信されてきたパケットを個別の構成要員回路が取り漏らしたか否かを、当該個別の構成要員回路から伝送されてきた複数の通知メッセージに基づいて判断してもよい。
例えば、ステップ514において、第1ブルートゥース回路110の制御回路115は、遠隔ブルートゥース装置102から送信されてきたパケットの一部を第2ブルートゥース回路120が取り漏らしたか否かを、第2ブルートゥース回路120から伝送されてきた複数の通知メッセージに基づいて検査してもよい。制御回路115は、第2ブルートゥース回路120から伝送されてきた複数の通知メッセージを解析し、複数のパケット番号データまたは複数のパケット識別データを取得してもよい。また、制御回路115は、これらパケット番号データまたはパケット識別データが連続的なものであるか否かをチェックすることにより、遠隔ブルートゥース装置102から送信されてきたパケットの一部を第2ブルートゥース回路120が取り漏らしたか否かを検査してもよい。前記パケット番号データまたはパケット識別データが連続的ものでない場合、制御回路115は、欠落しているパケット番号データまたはパケット識別データに対応するパケットを第2ブルートゥース回路120が取り漏らしたと判断してもよい。また、制御回路115は、欠落しているパケット番号データまたはパケット識別データに基づき、第2ブルートゥース回路120がどのパケットを取り漏らしたかを特定してもよい。
前述したように、第1ブルートゥース回路110と遠隔ブルートゥース装置102との間では、パケットハンドシェークの形式が用いられるため、通常、第1ブルートゥース回路110は、遠隔ブルートゥース装置102から送信されてくる全てのパケットを順調に取得することができる。制御回路115は、遠隔ブルートゥース装置102から送信されてきたパケットの一部を何らかの特定の構成要員回路が取り漏らしたことを検出した場合、ステップ516の処理を行い、データ伝送回路113を介して、当該特定の構成要員回路が取り漏らしたパケットを当該特定の構成要員回路に伝送することにより、当該特定の構成要員回路の取り漏らしたパケットを補完する。
前述した動作を繰り返すことにより、他の構成要員回路は、第1ブルートゥース回路110の協力のもとで、取り漏らしたパケットを補完することができる。
例えば、制御回路115は、遠隔ブルートゥース装置102から送信されてきたパケットの一部を第2ブルートゥース回路120が取り漏らしたことを検知した場合、ステップ516の処理を行い、データ伝送回路113を介して、第2ブルートゥース回路120の取り漏らしたパケットを、第2ブルートゥース回路120に伝送する。この場合、第2ブルートゥース回路120は、ステップ518の処理を行い、データ伝送回路123を介して、第1ブルートゥース回路110から伝送されてきたパケットを受信することにより、取り漏らしたパケットを取得する。
マルチ構成要員型ブルートゥース装置100が遠隔ブルートゥース装置102とインタラクションする過程において、他の構成要員回路は、指令またはデータを遠隔ブルートゥース装置102に伝送する必要がある場合、データ伝送回路を介して、関連する指令またはデータを第1ブルートゥース回路110に伝送してもよい。続いて、第1ブルートゥース回路110は、ブルートゥース通信回路111を介して、前記指令またはデータを遠隔ブルートゥース装置102に伝送してもよい。換言すれば、他の構成要員回路は、第1ブルートゥース回路110を介して、間接的に指令またはデータを遠隔ブルートゥース装置102に伝送することができる。
上述したように、第1ブルートゥース回路110と遠隔ブルートゥース装置102との間では、パケットハンドシェークの処理態様が用いられることにより、パケットの取り漏らしを回避する。また、第1ブルートゥース通信回路111が確認メッセージを遠隔ブルートゥース装置102に伝送するタイミングデータは、データ伝送回路113が第2ブルートゥース回路120から伝送されてきた前記通知メッセージを受信したか否かとは無関係である。
したがって、他の構成要員回路が、遠隔ブルートゥース装置102から送信されてきたパケットを受信したとき、対応する通知メッセージを第1ブルートゥース回路110に伝送する動作は、第1ブルートゥース回路110と遠隔ブルートゥース装置102との間のパケットハンドシェークを干渉または遅延させることはなく、第1ブルートゥース回路110による前記パケットハンドシェークに余計な負荷を与えることもない。
一方、マルチ構成要員型ブルートゥース装置100における他の構成要員回路(例えば、前記第2ブルートゥース回路120および第3ブルートゥース回路130)のいずれも、遠隔ブルートゥース装置102から送信されてくるパケットを傍受するため、それぞれの構成要員回路は、通常、遠隔ブルートゥース装置102から送信されてくる大部分のパケットを受信することができる。したがって、ブルートゥース主回路である第1ブルートゥース回路110は、遠隔ブルートゥース装置102から送信されてきた全てのパケットを各々の構成要員回路に伝送する必要がなく、個別の構成要員回路の取り漏らしたパケットを当該構成要員回路に伝送すれば済む。
前記図2の実施例と比べると、マルチ構成要員型ブルートゥース装置100が図5の方法を用いて遠隔ブルートゥース装置102とインタラクションすることは、ブルートゥース主回路(本実施例では第1ブルートゥース回路110)のパケット転送負荷を大幅に低減させ、さらにブルートゥース主回路の電力消費量を節約することができる。これにより、ブルートゥース主回路の動作時間および待機時間を効果的に延長させることができる。
さらに、ブルートゥース主回路と他の構成要員回路との間のデータ伝送に必要な帯域幅を大幅に下げることができるため、ブルートゥース主回路および他の構成要員回路のハードウエアの設計を簡略化し、および/または、回路の複雑さおよび回路のコストを低減させることができる。
動作時は、マルチ構成要員型ブルートゥース装置100における異なる構成要員回路同士間で、適した従来の様々なデータ同期方式を用いることにより、異なる構成要員回路が遠隔ブルートゥース装置102から伝送されてきた音声データまたは動画データを同期的にブロードキャストすることを確保し、異なる構成要員回路のブロードキャストタイミングの不一致を回避することができる。
マルチ構成要員型ブルートゥース装置100が前記図5の方法を用いて遠隔ブルートゥース装置102とインタラクションする間において、ブルートゥース主回路は、ブルートゥース主回路役を他の構成要員回路に引き継がせるべきか否かを断続的に評価してもよい。同様に、他の構成要員回路は、ブルートゥース主回路役を自発的に引き継ぐべきか否かを、断続的に評価してもよい。以下、図6および図7を参照しつつ、マルチ構成要員型ブルートゥース装置100における異なる構成要員回路同士間でのシームレスハンドオーバを実現する他の方法を説明する。
例えば、マルチ構成要員型ブルートゥース装置100が動作する過程において、第1ブルートゥース回路110の制御回路115は、周期的または断続的に図6のステップ602を行い、他の構成要員回路の制御回路は、周期的または断続的に図6のステップ610を行ってもよい。
ステップ602において、制御回路115は、他の構成要員回路のブルートゥースパケットロス率を計算すると共に、他の構成要員のブルートゥースパケットロス率と、第1ブルートゥース回路110のブルートゥースパケットロス率とを比較することにより、他の構成要員回路と第1ブルートゥース回路110との間の相対的な受信品質を評価する。第1ブルートゥース回路110にとっては、ある構成要員回路のブルートゥースパケットロス率が高ければ高いほど、第1ブルートゥース回路110が当該構成要員回路にパケットを補完送信する回数が多くなることを意味する。
例えば、制御回路115は、ステップ602において、前記ステップ514の判断結果に基づき、ある構成要員回路(例えば、第2ブルートゥース回路120)が遠隔ブルートゥース装置102から送信されてきたブルートゥースパケットを取り漏らした総回数、パケットを取り漏らした平均回数、または、パケットを取り漏らした移動平均回数(moving average)を算出し、算出した結果を当該構成要員回路のブルートゥースパケットロス率としてもよい。
また、例えば、制御回路115は、ある構成要員回路にパケットを補完送信した総回数、または移動平均回数を算出し、算出した結果を当該構成要員回路のブルートゥースパケットロス率としてもよい。
制御回路115が、ロス他の構成要員回路のブルートゥースパケットロス率が第1ブルートゥース回路110のブルートゥースパケットロス率よりも低いことを発見した場合、第1ブルートゥース回路110は、ステップ604の処理を行ってもよい。そうでない場合、第1ブルートゥース回路110は、個別の構成要員回路のブルートゥースパケットロス率の変化を継続的に監視する。
ステップ604において、制御回路115は、ブルートゥースパケットロス率が第1ブルートゥース回路110よりも低い他の構成要員回路のうち、以降の動作に関わるブルートゥース主回路役を担う構成要員回路を1つ選定するとともに、データ伝送回路113を介して、ハンドオーバ指示(handover instruction)を選定された構成要員回路に伝送してもよい。
例えば、制御回路115は、ブルートゥースパケットロス率の最も低い構成要員回路を、以降の動作に関わるブルートゥース主回路役を担う構成要員回路として選択してもよい。
あるいは、制御回路115は、所定の時点で、ブルートゥースパケットロス率が第1ブルートゥース回路110よりも低い構成要員回路のうち、以降の動作に関わるブルートゥース主回路役を担う構成要員回路を任意に1つ選択してもよい。
以下、説明の便宜上、制御回路115が前記ステップ604において、第2ブルートゥース回路120を、以降の動作に関わるブルートゥース主回路役を担うものとして選択したと仮定する。
この場合、制御回路115は、ステップ604において、データ伝送回路113およびデータ伝送回路123を介して、ハンドオーバ指示を第2ブルートゥース回路120に伝送する。
ステップ604において制御回路115から送信されてきたハンドオーバ指示は、第2ブルートゥース回路120に対し、第1ブルートゥース回路110の役を引き継がせて遠隔ブルートゥース装置102と直接に双方向パケット伝送を行わせるよう指示するものであってもよい。すなわち、前記ハンドオーバ指示とは、これ以降、第2ブルートゥース回路120がブルートゥース主回路役を引き継いでブルートゥース無線伝送方式にて遠隔ブルートゥース装置102と直接に双方向パケット伝送を行う動作に変更することを、指示するものである。
前記ステップ502のブルートゥース接続パラメータが、第1ブルートゥース回路110によって取得された後に第2ブルートゥース回路120へ伝送されたものである場合に、制御回路115は、ステップ604において、データ伝送回路113およびデータ伝送回路123を介して、第1ブルートゥース回路110の装置識別データを第2ブルートゥース回路120に伝送してもよい。
ステップ606において、第2ブルートゥース回路120の制御回路125は、データ伝送回路123を介して、第1ブルートゥース回路110から伝送されてきたハンドオーバ指示を受信する。
ステップ608において、第1ブルートゥース回路110または第2ブルートゥース回路120は、これ以降に第2ブルートゥース回路120が遠隔ブルートゥース装置102との双方向パケット伝送役を担う旨を、マルチ構成要員型ブルートゥース装置100における他の構成要員回路に通知するとともに、他の構成要員回路に対し、遠隔ブルートゥース装置102から送信されてくるパケットを傍受したとき、第2ブルートゥース回路120に通知する動作に変更させるよう、指示する。すなわち、これ以降は、第2ブルートゥース回路120がブルートゥース主回路役を担うことになる。ステップ608において、制御回路115または125は、対応するデータ伝送回路を介して、前記通知および指示情報を他の構成要員回路のデータ伝送回路に伝送してもよい。
第1ブルートゥース回路110または第2ブルートゥース回路120がステップ608の処理を行った後、第1ブルートゥース回路110は、遠隔ブルートゥース装置102にパケットを伝送せず、遠隔ブルートゥース装置102から送信されてくるパケットを単方向に受信するのみに変更する。これにより、遠隔ブルートゥース装置102におけるパケット衝突を回避する。
これ以降は、ブルートゥースパケットのロス率が第1ブルートゥース回路110よりも低い第2ブルートゥース回路120が、遠隔ブルートゥース装置102との双方向パケット伝送役を担うことになるため、遠隔ブルートゥース装置102がパケットを再伝送する可能性が低くなり、遠隔ブルートゥース装置102の動作負荷を低減させることができる。
前述したように、マルチ構成要員型ブルートゥース装置100が前記図5の方法を用いて遠隔ブルートゥース装置102とインタラクションする過程において、他の構成要員回路の制御回路は、周期的または断続的に図6のステップ610の処理を行い、ブルートゥース主回路110が動作不能(disable)または検出不能(disappear)になったか否かを検出してもよい。
例えば、ステップ610において、第2ブルートゥース回路120の制御回路125は、ブルートゥース主回路110が動作不能または検出不能になったか否かを検出してもよい。実際の応用において、制御回路125は、第2ブルートゥース回路120と、ブルートゥース主回路役を担っていた第1ブルートゥース回路110との間のデータ通信状況を評価することにより、ブルートゥース主回路110が動作不能または検出不能になったか否かを検出してもよい。
前記第2ブルートゥース回路120と第1ブルートゥース回路110との間のデータ通信状況とは、主に、データ伝送回路123とデータ伝送回路113との間の通信能力が正常に維持されているか否かを指す。
本実施例において、制御回路125は、第1ブルートゥース回路110が第2ブルートゥース回路120とインタラクションしない時間が所定の時間を超えた場合、あるいは、第2ブルートゥース回路120の取り漏らしたパケットが第1ブルートゥース回路110から補完されない頻度が所定の閾値を超えた場合に、ブルートゥース主回路110が動作不能または検出不能になったと判断するように構成してもよい。
制御回路125が、第1ブルートゥース回路110が動作不能または検出不能になったと判断した場合、第2ブルートゥース回路120は、前記ステップ608の処理を行い、これ以降に第2ブルートゥース回路120が遠隔ブルートゥース装置102との双方向パケット伝送役を担う旨を、マルチ構成要員型ブルートゥース装置100における他の構成要員回路(第1ブルートゥース回路110を含む)に通知するとともに、他の構成要員回路に対し、遠隔ブルートゥース装置102から送信されてきたパケットを傍受したとき、第2ブルートゥース回路120に通知する動作に変更させるよう、指示してもよい。すなわち、これ以降は、第2ブルートゥース回路120がブルートゥース主回路役を担うことになる。
第2ブルートゥース回路120が自発的にブルートゥース主回路役を引き継ごうとした場合にせよ、前述したように、ブルートゥース主回路役を引き継ぐ第2ブルートゥース回路120を第1ブルートゥース回路110が指定した場合にせよ、マルチ構成要員型ブルートゥース装置100は、これ以降、図7のステップの処理を行い、遠隔ブルートゥース装置102とインタラクションする。
ステップ702において、第2ブルートゥース回路120は、第1ブルートゥース回路110の代わりに、遠隔ブルートゥース装置102との双方向パケット伝送を行う役を担う。
例えば、第1ブルートゥース回路110が前記ステップ506において自分の名義で遠隔ブルートゥース装置102と双方向パケット伝送を行い、且つ、第1ブルートゥース回路110が前記ステップ604において第1ブルートゥース回路110の装置識別データを第2ブルートゥース回路120に伝送したと仮定する。この場合、第2ブルートゥース回路120の制御回路125は、ステップ702において、ブルートゥース通信回路121に対し、第1ブルートゥース回路110から提供された装置識別データおよびブルートゥース接続パラメータを使用させて第1ブルートゥース回路110の名義を模擬させ、直接に遠隔ブルートゥース装置102と双方向パケット伝送を行わせるよう制御することにより、遠隔ブルートゥース装置102から伝送されてくる様々な指令またはデータを受信させ、あるいは、様々な指令またはデータを遠隔ブルートゥース装置102に伝送させてもよい。前記図2の実施例と同様に、第1ブルートゥース回路110の名義を模擬するとは、第2ブルートゥース回路120が、遠隔ブルートゥース装置102と双方向ブルートゥースパケット伝送を行うときに意図的に第1ブルートゥース回路110の装置識別データを第2ブルートゥース回路120の装置識別データとして用いることにより、遠隔ブルートゥース装置102に対し、自装置のブルートゥース通信相手が依然として前記ステップ506と同様の相手、すなわち、第1ブルートゥース回路110であると疑似認識させることを意味する。
また、例えば、前記ステップ502のブルートゥース接続パラメータが、第2ブルートゥース回路120によって取得された後に第1ブルートゥース回路110へ伝送されたものであり、且つ、第1ブルートゥース回路110が前記ステップ506において第2ブルートゥース回路120の名義で遠隔ブルートゥース装置102と双方向パケット伝送を行っていたと仮定する。この場合、第2ブルートゥース回路120の制御回路125は、ステップ702において、ブルートゥース通信回路121に対し、第2ブルートゥース回路120の装置識別データ、および第2ブルートゥース回路120が前に取得したブルートゥース接続パラメータを使用させて直接に遠隔ブルートゥース装置102と双方向パケット伝送を行わせるよう制御することにより、遠隔ブルートゥース装置102から伝送されてくる様々な指令またはデータを受信させ、あるいは、様々な指令またはデータを遠隔ブルートゥース装置102に伝送させてもよい。この場合、上記の実施例とは異なり、第2ブルートゥース回路120は、第1ブルートゥース回路110の名義を模擬して遠隔ブルートゥース装置102とパケット伝送を行うのではなく、第2ブルートゥース回路120自分の名義で遠隔ブルートゥース装置102とパケット伝送を行う。但し、遠隔ブルートゥース装置102は、上記同様に、自装置のルートゥース通信相手が依然として前記ステップ506と同様の相手、すなわち、第2ブルートゥース回路120であると疑似認識する。
なお、前記と同様、第2ブルートゥース回路120が第1ブルートゥース回路110の代わりに遠隔ブルートゥース装置102との双方向パケット伝送役を担うことは、予め遠隔ブルートゥース装置102から承認される必要がない。したがって、第2ブルートゥース回路120は、第1ブルートゥース回路110の役を引き継いだ後、遠隔ブルートゥース装置102からブルートゥースの再接続を要求されずに済む。
換言すれば、前記第2ブルートゥース回路120が第1ブルートゥース回路110の代わりに遠隔ブルートゥース装置102との双方向パケット伝送役を担う構成は、遠隔ブルートゥース装置102とブルートゥース接続を再度立ち上げる時間を無くすことができる。別の視点から言うと、該構成によれば、第2ブルートゥース回路120が遠隔ブルートゥース装置102とブルートゥース接続を再度立ち上げることによって生じる信号途切れを効果的に回避することができる。
続いて、ブルートゥース通信回路121が遠隔ブルートゥース装置102から伝送されてくるパケットを受信するたびに、第2ブルートゥース回路120の制御回路125は、ステップ704の処理を行い、受信したパケットに対応する確認メッセージを、ブルートゥース通信回路121を介して遠隔ブルートゥース装置102に伝送する。また、遠隔ブルートゥース装置102は、特定のパケットに対応する確認メッセージを受信できなかった場合、当該特定のパケットをブルートゥース通信回路121に再度、伝送する。前記図5の実施例と同様に、第2ブルートゥース回路120と遠隔ブルートゥース装置102との間で、適した従来の様々なパケットハンドシェーク形式を用いることで、パケット取り漏らしのリスクを低減させ、または回避してもよい。これにより、第2ブルートゥース回路120のブルートゥースパケットロス率を効率的に低減させることができる。
一方、第2ブルートゥース回路120が遠隔ブルートゥース装置102と双方向パケット伝送を行う間において、他の構成要員回路は、ステップ706の処理を行い、遠隔ブルートゥース装置102から送信されてくるパケットを傍受する。
ステップ706において、他の構成要員回路の制御回路は、前記ステップ502で取得したブルートゥース接続パラメータに基づき、関連するブルートゥース通信回路を介して、遠隔ブルートゥース装置102から送信されてくるパケットを傍受する。一実施例において、他の構成要員回路は、遠隔ブルートゥース装置102から送信されてくる全てのブルートゥースパケットを傍受してもよい。別の一実施例において、他の構成要員回路は、遠隔ブルートゥース装置102からマルチ構成要員型ブルートゥース装置100以外の裝置に伝送されるブルートゥースパケットを傍受せず、遠隔ブルートゥース装置102から第1ブルートゥース回路110に伝送されるブルートゥースパケットのみを傍受する。
例えば、第2ブルートゥース回路120がステップ702の処理を行って遠隔ブルートゥース装置102と双方向パケット伝送を行う間において、第1ブルートゥース回路110の制御回路115は、ブルートゥース通信回路111を介して、遠隔ブルートゥース装置102から送信されてくるパケットを傍受してもよい。
第1ブルートゥース回路110を含む他の構成要員回路は、遠隔ブルートゥース装置102から送信されてくるパケットを傍受する(つまり、受信する)たびに、ステップ708の処理を行う。ステップ708において、当該構成要員回路は、受信したパケットに対応する通知メッセージを第2ブルートゥース回路120に伝送するが、遠隔ブルートゥース装置102には、いかなる確認メッセージも伝送することはない。
換言すれば、ステップ708における他の構成要員回路の動作形態は、前記図5のステップ512の動作形態とは類似するが、通知メッセージのこのときの伝送先は第1ブルートゥース回路110ではなく、ブルートゥース主回路役を担う第2ブルートゥース回路120であるという点で異なる。
したがって、マルチ構成要員型ブルートゥース装置100における全ての構成要員回路のいずれも、遠隔ブルートゥース装置102から送信されてくるパケットを受信するが、パケットを受信したときに確認メッセージを遠隔ブルートゥース装置102に伝送するのは、現在にブルートゥース主回路役を担っている第2ブルートゥース回路120のみであり、第1ブルートゥース回路110を含む他の構成要員回路は、いずれも、確認メッセージを遠隔ブルートゥース装置102に伝送することはない。これにより、遠隔ブルートゥース装置102の誤判断を回避する。
例えば、第1ブルートゥース回路110が遠隔ブルートゥース装置102から送信されてくるパケットを受信するたびに、制御回路115は、ステップ708の処理を行い、データ伝送回路113を介して、対応する通知メッセージを第2ブルートゥース回路120のデータ伝送回路123に伝送してもよいが、遠隔ブルートゥース装置102には、いかなる確認メッセージも、ブルートゥース通信回路111およびデータ伝送回路113を介して伝送することはない。すなわち、第2ブルートゥース回路120が遠隔ブルートゥース装置102と双方向パケット伝送を行う間において、第1ブルートゥース回路110は、ブルートゥース裝置102とパケットハンドシェークを行うことがない。
前記と同様に、本実施例において、第1ブルートゥース回路110が前記通知メッセージを第2ブルートゥース回路120に伝送する目的は、第2ブルートゥース回路120とパケットハンドシェークを行うためではなく、遠隔ブルートゥース装置102から送信されてきたパケットを第1ブルートゥース回路110が傍受したという結果を、第2ブルートゥース回路120に把握させるためである。
前記図5的実施例と類似して、第2ブルートゥース回路120は、断続的または周期的にステップ710の処理を行い、遠隔ブルートゥース装置102から送信されてきたパケットを個別の構成要員回路が取り漏らしたか否かを、当該個別の構成要員回路から伝送されてきた複数の通知メッセージに基づいて判断してもよい。
例えば、ステップ710において、第2ブルートゥース回路120の制御回路125は、遠隔ブルートゥース装置102から送信されてきたパケットの一部を第1ブルートゥース回路110が取り漏らしたか否かを、第1ブルートゥース回路110から伝送されてきた複数の通知メッセージに基づいて検査してもよい。制御回路125は、第1ブルートゥース回路110から伝送されてきた複数の通知メッセージを解析し、複数のパケット番号データまたは複数のパケット識別データを取得してもよい。また、制御回路125は、これらパケット番号データまたはパケット識別データが連続的なものであるか否かをチェックすることにより、遠隔ブルートゥース装置102から送信されてきたパケットの一部を第1ブルートゥース回路110が取り漏らしたか否かを検査してもよい。前記パケット番号データまたはパケット識別データが連続的なものでない場合、制御回路125は、欠落しているパケット番号データまたはパケット識別データに対応するパケットを第1ブルートゥース回路110が取り漏らしたと判断してもよい。また、制御回路125は、欠落しているパケット番号データまたはパケット識別データに基づき、第1ブルートゥース回路110がどのパケットを取り漏らしたかを特定してもよい。
前述したように、第2ブルートゥース回路120と遠隔ブルートゥース装置102との間では、パケットハンドシェークの形式が用いられるため、通常、第2ブルートゥース回路120は、以降に遠隔ブルートゥース装置102から送信されてくる全てのパケットを順調に取得することができる。制御回路125は、遠隔ブルートゥース装置102から送信されてきたパケットの一部を何らかの特定の構成要員回路が取り漏らしたことを検出した場合、ステップ712の処理を行い、データ伝送回路123を介して、当該特定の構成要員回路が取り漏らしたパケットを当該特定の構成要員回路に伝送することにより、当該特定の構成要員回路の取り漏らしたパケットを補完する。
前述した動作を繰り返すことにより、他の構成要員回路は、第2ブルートゥース回路120の協力のもとで、取り漏らしたパケットを補完することができる。
例えば、制御回路125は、遠隔ブルートゥース装置102から送信されてきたパケットの一部を第1ブルートゥース回路110が取り漏らしたことを検知した場合、ステップ712の処理を行い、データ伝送回路123を介して、第1ブルートゥース回路110の取り漏らしたパケットを第1ブルートゥース回路110に伝送する。この場合、第1ブルートゥース回路110は、ステップ714の処理を行い、データ伝送回路113を介して、第2ブルートゥース回路120から伝送されてきたパケットを受信することにより、取り漏らしたパケットを取得する。
第2ブルートゥース回路120がブルートゥース主回路役を担っている間において、他の構成要員回路は、指令またはデータを遠隔ブルートゥース装置102に伝送する必要がある場合、データ伝送回路を介して、関連する指令またはデータを第2ブルートゥース回路120に伝送してもよい。続いて、第2ブルートゥース回路120は、ブルートゥース通信回路121を介して、前記指令またはデータを遠隔ブルートゥース装置102に伝送してもよい。換言すれば、他の構成要員回路は、第2ブルートゥース回路120を介して、間接的に指令またはデータを遠隔ブルートゥース装置102に伝送することができる。
前記と同様に、マルチ構成要員型ブルートゥース装置100が図7の方法を用いて遠隔ブルートゥース装置102とインタラクションする過程において、ブルートゥース主回路役を担う第2ブルートゥース回路120は、周期的または断続的に他の構成要員回路のブルートゥースパケットロス率を計算すると共に、他の構成要員のブルートゥースパケットロス率と、第2ブルートゥース回路120のブルートゥースパケットロス率とを比較することにより、他の構成要員回路と第2ブルートゥース回路120との間の相対的な受信品質を評価してもよい。その動作は、前記ステップ602における第1ブルートゥース回路110の動作に類似する。同様に、他の構成要員回路は、ブルートゥース主回路役を自発的に引き継ぐべきか否かを、周期的または断続的に評価してもよい。
この場合、例えば、第1ブルートゥース回路110の制御回路115は、周期的または断続的に図7のステップ716の処理を行い、第2ブルートゥース回路が動作不能または検出不能になったか否かを検出してもよい。その動作は、ステップ610における前記第2ブルートゥース回路120の動作に類似する。
なお、前記図6〜図7のシームレスハンドオーバ方法は、単に例示的な実行例であり、本発明の実際の実施形態を限定するものではない。実際の応用において、マルチ構成要員型ブルートゥース装置100が前記図5の方法を用いて遠隔ブルートゥース装置102とインタラクションする過程において、ブルートゥース主回路は、前記図2のステップ210の評価形態を用い、ブルートゥース主回路役を他の構成要員回路に引き継がせるべきか否かを判断してもよい。
例えば、マルチ構成要員型ブルートゥース装置100が前記図5の方法を用いて遠隔ブルートゥース装置102とインタラクションする過程において、ブルートゥース主回路役を担っている第1ブルートゥース回路110は、判断回路117を用いて、第1ブルートゥース回路110の演算負荷、残電、温度、および/または動作環境などの動作パラメータを評価し、第1ブルートゥース回路110の担っているブルートゥース主回路役を他の構成要員回路に引き継がせるべきか否かを判断してもよい。判断回路117は、第1ブルートゥース回路110の演算負荷が所定レベルを超えた場合、第1ブルートゥース回路110の残電が所定レベルを下回った場合、第1ブルートゥース回路110の温度が所定の温度値を超えた場合、および/または第1ブルートゥース回路110の動作環境が所定の条件から偏移した場合に、第1ブルートゥース回路110の担っているブルートゥース主回路役を他の構成要員回路に引き継がせるべきと判断してもよい。
また、例えば、判断回路117は、前記評価動作を行うとき、第1ブルートゥース回路110の動作パラメータと他の構成要員回路の動作パラメータとを比較し、その差分を、第1ブルートゥース回路110の担っているブルートゥース主回路役を他の構成要員回路に引き継がせるべきか否かの判断根拠としてもよい。本実施例において、他の構成要員回路は、各自の判断回路を用いて、自分の演算負荷、残電、温度、および/または動作環境などの動作パラメータを評価すると共に、評価動作中に取得した動作パラメータを第1ブルートゥース回路110の判断回路117に伝送してもよい。判断回路117は、第1ブルートゥース回路110の演算負荷が他の構成要員回路の演算負荷を超えて所定の程度に達した場合、第1ブルートゥース回路110の残電が他の構成要員回路の残電を下回って所定の程度に達した場合、第1ブルートゥース回路110の温度が他の構成要員回路の温度を超えて所定の程度に達した場合、および/または、第1ブルートゥース回路110の動作環境が所定の条件から偏移したものの、他の構成要員回路の動作環境が所定の条件に合致している場合に、第1ブルートゥース回路110の担っているブルートゥース主回路役を他の構成要員回路に引き継がせるべきと判断してもよい。
実際の応用において、判断回路117は、第1ブルートゥース回路110自身の動作パラメータ、および、第1ブルートゥース回路110の動作パラメータと他の構成要員回路の動作パラメータとの差分を考慮に入れ、総合的に判断してもよい。
例えば、判断回路117は、第1ブルートゥース回路110の演算負荷が所定レベルを超えた場合、第1ブルートゥース回路110の残電が所定レベルを下回った場合、第1ブルートゥース回路110の温度が所定の温度値を超えた場合、第1ブルートゥース回路110の演算負荷が他の構成要員回路の演算負荷を超えて所定の程度に達した場合、第1ブルートゥース回路110の残電が他の構成要員回路の残電を下回って所定の程度に達した場合、第1ブルートゥース回路110の温度が他の構成要員回路の温度を超えて所定の程度に達した場合、および/または、第1ブルートゥース回路110の動作環境が所定の条件から偏移したものの、他の構成要員回路の動作環境が所定の条件に合致している場合に、第1ブルートゥース回路110の担っているブルートゥース主回路役を他の構成要員回路に引き継がせるべきと判断してもよい。
判断回路117が、第1ブルートゥース回路110の担っているブルートゥース主回路役を他の構成要員回路に引き継がせるべきと判断すると、第1ブルートゥース回路110は、図6のステップ604の処理を行い、ハンドオーバ指示をその他の適した構成要員回路(例えば、前記第2ブルートゥース回路120)に伝送してもよい。
上述したように、第1ブルートゥース回路110がブルートゥース通信回路111を介して遠隔ブルートゥース装置102と双方向パケット伝送を行っている間には、第2ブルートゥース回路120のブルートゥース通信回路121が遠隔ブルートゥース装置102と双方向パケット伝送を行うことがなく、第2ブルートゥース回路120がブルートゥース通信回路121を介して隔ブルートゥース装置102と双方向パケット伝送を行っている間には、第1ブルートゥース回路110のブルートゥース通信回路111が遠隔ブルートゥース装置102と双方向パケット伝送を行うことがない。
なお、前記図5〜図7のステップの実行手順は、単に例示的な実行例であり、本発明の実際の実施形態を限定するものではない。
例えば、前記図5のステップ502およびステップ504の処理を同時に行ってもよく、あるいは、ステップ502とステップ504の順序を逆転させてもよい。
また、例えば、図6のステップ602およびステップ610は、それぞれ、図5のステップ506からステップ518までの間の任意時点で行ってもよい。
一部の実施例において、図6のステップ602、ステップ604、およびステップ606を省略してもよく、あるいは、ステップ610を省略してもよい。
前記マルチ構成要員型ブルートゥース装置100における構成要員回路の数量は、2個にまで減らしてもよく、回路の実際の応用に応じて増やしてもよい。マルチ構成要員型ブルートゥース装置100における構成要員回路の数量が2個のみである実施例において、第2ブルートゥース回路120は、図6のステップ610において、第1ブルートゥース回路110が動作不能または検出不能になったと判断したとき、ステップ608を省略して、直接に図7のステップ702の処理を行ってもよい。
さらに、一部の実施例において、前記第1ブルートゥース回路110の判断回路117、および/または第2ブルートゥース回路120の判断回路127を省略してもよい。
上述したように、マルチ構成要員型ブルートゥース装置100が前記図5の方法を用いて遠隔ブルートゥース装置102とインタラクションする過程において、他の構成要員回路のいずれも、遠隔ブルートゥース装置102から送信されてくるパケットを傍受する。これにより、ブルートゥース主回路は、遠隔ブルートゥース装置102から送信されてくる全てのパケットを他の構成要員回路に伝送する必要がなく、他の構成要員回路の取り漏らしたパケットのみを当該他の構成要員回路に伝送すれば済む。したがって、マルチ構成要員型ブルートゥース装置100が図5の方法を用いて遠隔ブルートゥース装置102とインタラクションする構成は、ブルートゥース主回路のパケット転送負荷を大幅に低減させ、さらにブルートゥース主回路の電力消費量を節約し、ブルートゥース主回路の発熱量を低減させることができる。これにより、ブルートゥース主回路の動作時間および待機時間を効果的に延長させ、ブルートゥース主回路の使用寿命を延長させ、および/またはユーザ体験を改善することができる。
さらに、ブルートゥース主回路と他の構成要員回路との間のデータ伝送に必要な帯域幅を大幅に下げることができるため、ブルートゥース主回路および他の構成要員回路のハードウエアの設計を簡略化し、および/または、回路の複雑さおよび回路のコストを低減させることができる。
さらに、他の構成要員回路のブルートゥースパケットロス率がブルートゥース主回路よりも低い場合、または、ブルートゥース主回路が動作不能または検出不能になった場合、他の構成要員回路は、遠隔ブルートゥース装置102と新たなブルートゥース接続を再度立ち上げる必要なく、ブルートゥース主回路の代わりに、遠隔ブルートゥース装置102との双方向パケット伝送役を担えばよい。これにより、マルチ構成要員型ブルートゥース装置100中の構成要員回路に信号途切れが生じることを効率的に回避することができる。
明細書および添付される特許請求の範囲には特定の素子を指す用語が使用されているが、当業者よっては、異なる用語で当該同一素子を称呼する場合がある。本明細書および添付される特許請求の範囲は、名称の相違を以って素子を区別するのではなく、機能上の相違を素子の区別の基準とする。また、明細書全体および添付の特許請求の範囲に記載の「含む」は開放的表現であり、「含むが、これに限定されない」と解釈すべきである。また、「結合的に接続する」という表現は、直接的および間接的な、いかなる接続手段も含む。よって、たとえば「第1素子が第2素子に結合的に接続する」と記載されている場合、第1素子が、電気的接続または無線伝送、光学的伝送などの信号接続方式にて直接に第2素子に接続してもよく、他の素子または接続手段を介して間接的に第2素子に電気的または信号的に接続してもよいことを意味する。
明細書に記載の「および/または」という表現は、挙げられた事項のうちの1つ、または、複数による任意の組み合わせを含む。また、明細書中において特別に明示しない限り、いかなる単数形の用語も、その複数形の含意を同時に含んでいる。
以上は単に本発明における好ましい実施例に過ぎない。本発明に係る特許請求の範囲に基づいて行われる全ての均等的変更および改変は、本発明の範囲に含まれる。