(57)【要約】      （修正有）【課題】様々な機器と通信をすることが可能な無線機器、通信プログラムおよび通信方法を提供する。【解決手段】方法は、第１の機器をマスターとし、第２の機器をスレーブとして、第１の機器と前記第２の機器との間で接続を確立して無線通信を行い、第２の機器は、データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、を有する。スレーブとして第１の機器と接続された状態で送信手段による送信処理と受信手段による受信処理とを繰り返し実行することにより、他の機器と接続を確立せずに無線通信を行い、送信処理の実行期間、送信処理を実行するタイミング、受信処理の実行期間及び受信処理を実行するタイミングのうち少なくとも何れか１つを変更しながら、送信処理と受信処理とを繰り返し実行する。【選択図】図７
2020127238.tif 000002
【特許請求の範囲】
【請求項１】
無線通信を行うことが可能な複数の機器を含む無線システムであって、
前記無線システムは、第１の機器と、第２の機器と、第３の機器と、第４の機器とを含み、
前記第１の機器及び前記第２の機器は、
前記第１の機器をマスターとし、前記第２の機器をスレーブとして、前記第１の機器と前記第２の機器との間で接続を確立して無線通信を行い、
前記第４の機器及び前記第３の機器は、
前記第４の機器をマスターとし、前記第３の機器をスレーブとして、前記第４の機器と前記第３の機器との間で接続を確立して無線通信を行い、
前記第２の機器は、
スレーブとして前記第１の機器と接続された状態で、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行う、無線システム。
【請求項２】
前記第２の機器は、
データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、
ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、を有し、
前記送信手段による送信処理と前記受信手段による受信処理とをスレーブとして前記第１の機器と接続された状態で実行することにより、スレーブとして前記第４の機器と接続された状態の前記第３の機器と通信を行う、請求項１に記載の無線システム。
【請求項３】
前記第２の機器は、前記第３の機器と接続していない状態で、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で無線通信によって所定のデータの送信又は受信を行う、請求項１又は２に記載の無線システム。
【請求項４】
前記第２の機器は、前記所定のデータとして、アプリケーションにおいて利用されるデータの送信又は受信を行う、請求項３に記載の無線システム。
【請求項５】
前記第２の機器は、前記所定のデータとして、ゲームにおいて利用されるデータの送信又は受信を行う、請求項３又は４に記載の無線システム。
【請求項６】
前記第２の機器は、前記所定のデータとして、アプリケーションで再生されるコンテンツに関するデータの送信又は受信を行う、請求項３に記載の無線システム。
【請求項７】
前記第２の機器は、前記第１の機器と接続している状態で、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、スレーブとして前記第４の機器と接続された状態の前記第３の機器と接続を確立せずに無線通信を行う、請求項２に記載の無線システム。
【請求項８】
前記ブロードキャスト又はマルチキャストで送信されるデータは、他の機器と接続を確立するためのデータである、請求項２に記載の無線システム。
【請求項９】
スレーブとして前記第１の機器と接続された状態の前記第２の機器は、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、当該接続を維持した状態で、前記第３の機器と無線通信を行う、請求項１、２、及び８の何れかに記載の無線システム。
【請求項１０】
スレーブとして前記第１の機器と接続された状態の前記第２の機器は、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、当該接続を切断することなく、前記第３の機器と無線通信を行う、請求項１、２、及び８の何れかに記載の無線システム。
【請求項１１】
前記第２の機器は、前記第１の機器と接続している状態で、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、前記第２の機器の周囲にある他の機器と無線通信を行う、請求項２又は８に記載の無線システム。
【請求項１２】
前記第２の機器は、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、前記第２の機器の周囲にある他の機器を探索し、当該探索によって検出した、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立する、請求項１１に記載の無線システム。
【請求項１３】
前記送信処理の実行期間、前記送信処理を実行するタイミング、前記受信処理の実行期間、及び、前記受信処理の実行するタイミングのうち少なくとも何れかは可変である、請求項２、７、１１、１２の何れかに記載の無線システム。
【請求項１４】
前記送信処理の実行期間、前記送信処理を実行するタイミング、前記受信処理の実行期間、及び、前記受信処理の実行するタイミングのうち少なくとも何れかはランダムに設定される、請求項１３に記載の無線システム。
【請求項１５】
前記第２の機器は、前記送信処理および前記受信処理を交互に繰り返し実行する、請求項１１から１４の何れかに記載の無線システム。
【請求項１６】
前記送信処理と前記受信処理との間、前記送信処理と前記送信処理との間、および、前記受信処理と前記受信処理との間の少なくとも何れかには、前記送信処理および前記受信処理の何れも行われないスリープ期間が存在する、請求項１１から１４の何れかに記載の無線システム。
【請求項１７】
前記送信処理と前記受信処理との間には、前記送信処理および前記受信処理の何れも行われないスリープ期間が存在する、請求項１５に記載の無線システム。
【請求項１８】
前記スリープ期間は可変である、請求項１６又は１７に記載の無線システム。
【請求項１９】
前記スリープ期間はランダムに設定される、請求項１８に記載の無線システム。
【請求項２０】
前記第２の機器は、前記第１の機器からの指示なしで、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行う、請求項１から１９の何れかに記載の無線システム。
【請求項２１】
前記第１の機器と前記第２の機器とは、前記第１の機器と前記第２の機器が接続された状態において、同期通信を繰り返し行う、請求項１から２０の何れかに記載の無線システム。
【請求項２２】
前記無線システムは、
前記第１の機器と前記第２の機器との接続のための許容期間を設定する許容期間設定手段を含み、
前記第２の機器は、
前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との前記同期通信を実行すべきか否かを判定する判定手段を有する、請求項２１に記載の無線システム。
【請求項２３】
前記第１の機器は、前記許容期間設定手段を有する、請求項２２に記載の無線システム。
【請求項２４】
前記第２の機器は、前記第１の機器と接続された状態で前記許容期間を変更するための変更要求を送信する許容期間変更手段を有する、請求項２２又は２３に記載の無線システム。
【請求項２５】
前記第１の機器は、前記第２の機器と接続された状態において、前記同期通信として所定の時間間隔で所定のデータを繰り返し前記第２の機器に送信し、
前記第２の機器は、前記第１の機器から所定の時間間隔で送信される前記所定のデータを受信したことに応じて、前記第１の機器に対して応答を返し、
前記許容期間設定手段は、前記許容期間として、前記応答の回数を設定し、
前記第２の機器は、前記第１の機器に前記応答返さない回数が、前記許容期間設定手段によって設定された回数を超える又は前記許容期間設定手段によって設定された回数に達する場合には、前記第１の機器に対して前記応答を返す、請求項２２から２４の何れかに記載の無線システム。
【請求項２６】
前記第２の機器は、前記許容期間においてスレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行う、請求項２２から２５の何れかに記載の無線システム。
【請求項２７】
前記第２の機器は、
データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、
ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、を有し、
前記許容期間において、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行う、請求項２６に記載の無線システム。
【請求項２８】
前記第２の機器は、前記許容期間において、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、当該第３の機器と接続した状態で、前記第３の機器と無線通信を行う、請求項２６に記載の無線システム。
【請求項２９】
前記第２の機器は、前記第１の機器と前記第２の機器との間の同期通信が行われるタイミングとは異なるタイミングで、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行う、請求項２１から２８の何れかに記載の無線システム。
【請求項３０】
前記第１の機器と前記第２の機器とは、同期通信を繰り返し行い、
前記第４の機器と前記第３の機器とは、同期通信を繰り返し行う、請求項１から２９の何れかに記載の無線システム。
【請求項３１】
前記第１の機器と前記第２の機器との間の同期通信と、前記第４の機器と前記第３の機器との間の同期通信と、のうちの少なくとも何れか一方の同期通信のタイミングを調整する調整手段をさらに備える、請求項３０に記載の無線システム。
【請求項３２】
前記第２の機器が前記調整手段を備える、請求項３１に記載の無線システム。
【請求項３３】
前記調整手段は、前記第１の機器と前記第２の機器との間の同期通信のタイミングと、前記第４の機器と前記第３の機器との間の同期通信のタイミングと、が近くなるように調整する、請求項３１又は３２に記載の無線システム。
【請求項３４】
前記無線システムは、前記第１の機器と前記第２の機器との接続のための許容期間を設定する許容期間設定手段を含み、
前記第２の機器は、
前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段を有し、
前記調整手段は、前記許容期間において前記第１の機器と前記第２の機器との間の同期通信が行われるように、前記第１の機器と前記第２の機器との間の同期通信、および、前記第３の機器と前記第４の機器との間の同期通信のうちの少なくとも何れか一方のタイミングを調整する、請求項３１から３３の何れかに記載の無線システム。
【請求項３５】
前記第２の機器は、前記調整手段を有し、
前記第３の機器は、前記第４の機器との間で行われる前記同期通信のタイミングを示す情報を送信し、
前記第２の機器は、前記第３の機器から送信された情報に基づいて、前記第１の機器との間で行われる前記同期通信のタイミングを調整する、請求項３１から３４の何れかに記載の無線システム。
【請求項３６】
前記第１の機器と前記第２の機器が接続された状態において、前記第１の機器と前記第２の機器とは、同期通信を繰り返し行い、
前記第２の機器は、前記第１の機器と前記第２の機器との間の同期通信が行われるタイミングにおいて、前記第２の機器と前記第３の機器との間の無線通信よりも前記第１の機器との間の無線通信を優先して行う、請求項１から３５の何れかに記載の無線システム。
【請求項３７】
前記無線システムは、前記第１の機器と前記第２の機器との接続のための許容期間を設定する許容期間設定手段を含み、
前記第２の機器は、
前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段と、
前記許容期間において前記第１の機器と前記第２の機器との間の同期通信が行われるように、前記第３の機器との通信又は前記第１の機器との通信の少なくともいずれか一方を制御する通信制御手段とを有する、請求項３６に記載の無線システム。
【請求項３８】
前記第２の機器は、
データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、
ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、を有し、
前記送信手段による送信処理と前記受信手段による受信処理とをスレーブとして前記第１の機器と接続された状態で繰り返し実行することにより、スレーブとして前記第４の機器と接続された状態の前記第３の機器と接続を確立せずに無線通信を行い、
前記第２の機器は、前記第１の機器との同期通信のタイミングと、前記第３の機器との無線通信のタイミングとが重なる場合、前記第１の機器との同期通信を優先して行う、請求項３６又は３７に記載の無線システム。
【請求項３９】
前記第２の機器は、スレーブとして前記第４の機器と接続された状態の前記第３の機器と接続を確立し、当該第３の機器と接続された状態において、当該第３の機器と無線通信を行い、
前記第２の機器は、前記第１の機器との同期通信が行われるタイミングと、前記第３の機器との間の接続における無線通信のタイミングとが重なる場合、前記第１の機器との通信を優先して行う、請求項３６又は３７に記載の無線システム。
【請求項４０】
前記無線システムは、前記第２の機器と前記第３の機器との接続のための第２許容期間を設定する第２許容期間設定手段を含み、
前記第２の機器及び第３の機器は、
互いに接続された状態において、前記第２の機器及び第３の機器との間の同期通信を実行し、
前記第３の機器は、
前記第２の機器と接続された状態において、前記第２許容期間に基づいて、前記第２の機器との同期通信を実行すべきか否かを判定する判定手段を有し、
前記第２の機器は、
前記第２許容期間において前記第２の機器と前記第３の機器との間の同期通信が行われるように、前記第３の機器との通信又は前記第１の機器との通信の少なくとも何れか一方を制御する通信制御手段を有する、請求項３６から３９の何れかに記載の無線システム。
【請求項４１】
前記第２の機器は、前記第３の機器との間の接続における同期通信の時間間隔を設定し、当該設定した時間間隔で、前記第３の機器と同期通信を行い、
前記第２の機器は、前記第３の機器との同期通信の時間間隔を調整することにより、前記第１の機器との通信を優先して行う、請求項１から４０の何れかに記載の無線システム。
【請求項４２】
前記無線システムは、
前記第２の機器と前記第３の機器との接続のための第２許容期間を設定する第２許容期間設定手段と、
前記第４の機器と前記第３の機器との接続のための第３許容期間を設定する第３許容期間設定手段とを含み、
前記第３の機器は、
前記第２の機器と接続された状態において、前記第２許容期間に基づいて、前記第２の機器との同期通信を実行すべきか否かを判定する判定手段を有し、
前記第４の機器は、
前記第３の機器と接続された状態において、前記第３の機器との同期通信を実行し、
前記第３の機器は、
前記第４の機器と接続された状態において、前記第３許容期間に基づいて、前記第４の機器との同期通信を実行すべきか否かを判定し、
前記第３の機器は、前記第４の機器との同期通信を、前記第２の機器との同期通信よりも優先して実行する、請求項４０に記載の無線システム。
【請求項４３】
前記第３の機器は、前記第２の機器との通信状況に応じて、前記第４の機器に対して前記第３許容期間を変更するための変更要求を送信する第３許容期間変更手段を有する、請求項４２に記載の無線システム。
【請求項４４】
前記第２の機器は、
無線通信の間隔を設定する間隔設定手段を含み、
スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、当該接続を確立した後、前記間隔設定手段によって設定された間隔で前記第２の機器と前記第３の機器の間の無線通信を行う、請求項１から４３の何れかに記載の無線システム。
【請求項４５】
前記無線システムは、前記第１の機器と前記第２の機器との接続のための許容期間を設定する許容期間設定手段を含み、
前記第２の機器は、
前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段を有し、
前記間隔設定手段は、前記第１の機器と前記第２の機器の間の接続の許容期間に基づいて、前記第２の機器と前記第３の機器との間の無線通信の間隔を設定する、請求項４４に記載の無線システム。
【請求項４６】
前記第２の機器の間隔設定手段は、前記第１の機器と第２の機器との間の通信の状況に応じて、前記第３の機器との通信の時間間隔を設定する、請求項４４又は４５に記載の無線システム。
【請求項４７】
前記無線システムは、前記第２の機器と前記第３の機器との接続のための第２許容期間を設定する第２許容期間設定手段を含み、
前記第３の機器は、
前記第２の機器と接続された状態において、前記第２許容期間に基づいて、前記第２の機器との同期通信を実行すべきか否かを判定する判定手段を有し、
前記第２許容期間設定手段は、前記第１の機器と前記第２の機器の間の通信の状況に応じて、前記第２許容期間を設定する、請求項４４から４６の何れかに記載の無線システム。
【請求項４８】
前記第１の機器と前記第２の機器とは、同期通信を第１の時間間隔で行い、
前記第２の機器は、前記第１の機器と接続されている間に、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、前記第１の時間間隔とは異なる第２の時間間隔で前記第３の機器と同期通信を行う、請求項１から４７の何れかに記載の無線システム。
【請求項４９】
前記第２の機器は、前記第１の時間間隔よりも前記第２の時間間隔の方が短くなるように、前記第２の時間間隔を設定する、請求項４８に記載の無線システム。
【請求項５０】
前記無線システムは、
前記第１の機器と前記第２の機器との接続のための第１許容期間を設定する第１許容期間設定手段と、
前記第２の機器と前記第３の機器との接続のための第２許容期間を設定する第２許容期間設定手段と、を含み、
前記第２の機器は、
前記第１の機器と接続された状態において、前記第１許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段を有し、
前記第３の機器は、
前記第２の機器と接続された状態において、前記第２許容期間に基づいて、前記第２の機器との同期通信を実行すべきか否かを判定する判定手段を有し、
前記第２許容期間設定手段は、前記第１の機器と前記第２の機器の間の通信の状況又は前記第２の機器と前記第３の機器の間の通信の状況の少なくともいずれか一方に応じて、前記第１許容期間よりも短くなるように前記第２許容期間を設定する、請求項１から４９の何れかに記載の無線システム。
【請求項５１】
前記第２の機器は、前記第１の時間間隔よりも前記第２の時間間隔の方が長くなるように、前記第２の時間間隔を設定する、請求項４８に記載の無線システム。
【請求項５２】
前記無線システムは、
前記第１の機器と前記第２の機器との接続のための第１許容期間を設定する第１許容期間設定手段と、
前記第２の機器と前記第３の機器との接続のための第２許容期間を設定する第２許容期間設定手段と、を含み、
前記第２の機器は、
前記第１の機器と接続された状態において、前記第１許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段を有し、
前記第３の機器は、
前記第２の機器と接続された状態において、前記第２許容期間に基づいて、前記第２の機器との同期通信を実行すべきか否かを判定する判定手段を有し、
前記第２許容期間設定手段は、前記第１許容期間よりも長くなるように前記第２許容期間を設定する、請求項１から４８、５１の何れかに記載の無線システム。
【請求項５３】
前記第２の機器は、
前記第１の機器と接続されている間に、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、
前記第２の機器と前記第３の機器の間の接続よりも、前記第１の機器と前記第２の機器との間の接続を優先する、請求項１から５２の何れかに記載の無線システム。
【請求項５４】
前記第２の機器は、前記第１の機器と前記第２の機器との間の接続状況に応じて、前記第２の機器と前記第３の機器との間の通信を制限する、請求項５３に記載の無線システム。
【請求項５５】
前記第２の機器は、前記第２の機器と前記第３の機器との間の接続を維持すれば、前記第１の機器と前記第２の機器との間の接続が解除される場合、前記第２の機器と前記第３の機器の間の接続を解除する、請求項５４に記載の無線システム。
【請求項５６】
前記第２の機器は、
データを無線で送信する送信手段と、
前記送信手段によるデータの送信とは異なるタイミングでデータを無線で受信する受信手段と、を含み、
前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し行い、
前記送信手段は、次以降に自機で行われる前記送信処理及び／又は前記受信処理のタイミングを示すタイミング情報を含むデータを送信する、請求項１から５５の何れかに記載の無線システム。
【請求項５７】
前記第２の機器の送信手段は、前記タイミング情報を含むデータをブロードキャスト又はマルチキャストで送信する、請求項５６に記載の無線システム。
【請求項５８】
前記第２の機器の送信手段は、他の機器からブロードキャスト又はマルチキャストで送信されたデータを受信したことに応じて、前記タイミング情報を含むデータを送信する、請求項５６又は５７に記載の無線システム。
【請求項５９】
前記第３の機器は、
データを無線で送信する送信処理と、データを無線で受信する受信処理とを繰り返し行い、
前記第２の機器からの前記タイミング情報に基づいて、前記送信処理及び／又は前記受信処理を行うタイミングを調整する、請求項５６から５８の何れかに記載の無線システム。
【請求項６０】
前記第１の機器と前記第２の機器との間の無線通信、前記第４の機器と前記第３の機器との間の無線通信、および、前記第２の機器と前記第３の機器との間の無線通信は、全て同じ通信規格に基づいて行われる、請求項１から５９の何れかに記載の無線システム。
【請求項６１】
前記各機器は、電波の周波数を切り替えながら前記無線通信を行う、請求項６０に記載の無線システム。
【請求項６２】
前記各機器は、複数の異なる所定の周波数を切り替えながら前記無線通信を行う、請求項６１に記載の無線システム。
【請求項６３】
前記通信規格は、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙである、請求項６０から６２の何れかに記載の無線システム。
【請求項６４】
前記第１の機器と前記第２の機器との間の無線通信、前記第４の機器と前記第３の機器との間の無線通信、および、前記第２の機器と前記第３の機器との間の無線通信は、全て同じ所定の周波数帯で行われる、請求項１から６３の何れかに記載の無線システム。
【請求項６５】
前記周波数帯は２．４ＧＨｚ帯である、請求項６４に記載の無線システム。
【請求項６６】
前記探索は、３つのチャネルを切り替えながら行われる、請求項１２に記載の無線システム。
【請求項６７】
Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）規格に基づく無線通信を行うことが可能な複数の機器を含む無線システムであって、
前記無線システムは、第１の機器と、第２の機器と、第４の機器と、第３の機器とを含み、
前記第１の機器及び前記第２の機器は、
前記第１の機器をセントラルとし、前記第２の機器をペリフェラルとして、前記第１の機器と前記第２の機器との間で接続を確立してＢＬＥ規格に基づいた無線通信を行い、
前記第４の機器及び前記第３の機器は、
前記第４の機器をセントラルとし、前記第３の機器をペリフェラルとして、前記第４の機器と前記第３の機器との間で接続を確立してＢＬＥ規格に基づいた無線通信を行い、
前記第２の機器は、
前記第１の機器と前記第２の機器との接続が維持された状態で、ペリフェラルとして前記第４の機器と接続された状態の前記第３の機器とＢＬＥ規格に基づいた無線通信を行う、無線システム。
【請求項６８】
複数の機器と無線通信を行うことが可能な無線機器であって、
前記複数の機器のうちの第１の機器をマスターとし、自機をスレーブとして、当該第１の機器との間で接続を確立する接続確立手段と、
スレーブとして前記第１の機器と接続された状態で、当該第１の機器とは異なる第２の機器のスレーブとして接続された状態の第３の機器と無線通信を行う通信手段とを備える、無線機器。
【請求項６９】
複数の機器と無線通信を行うことが可能な無線機器のプロセッサにおいて実行可能な通信プログラムであって、前記プロセッサを、
前記複数の機器のうちの第１の機器をマスターとし、前記無線機器をスレーブとして、当該第１の機器との間で接続を確立する接続確立手段と、
前記無線機器がスレーブとして前記第１の機器と接続された状態で、当該第１の機器とは異なる第２の機器のスレーブとして接続された状態の第３の機器と無線通信を行う通信手段として機能させる、通信プログラム。
【請求項７０】
無線通信を行うことが可能な複数の機器を含む無線システムにおいて実行される通信方法であって、
前記無線システムは、第１の機器と、第２の機器と、第３の機器と、第４の機器とを含み、
前記通信方法は、
前記第１の機器をマスターとし、前記第２の機器をスレーブとして、前記第１の機器と前記第２の機器との間で接続を確立して無線通信を行うステップと、
前記第４の機器をマスターとし、前記第３の機器をスレーブとして、前記第４の機器と前記第３の機器との間で接続を確立して無線通信を行ステップと、
前記第２の機器が、スレーブとして前記第１の機器と接続された状態で、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行うステップとを含む、通信方法。
【請求項７１】
無線通信を行うことが可能な複数の機器を含む無線システムであって、
前記無線システムは、第１の機器と、第２の機器とを含み、
前記第１の機器及び前記第２の機器は、
前記第１の機器をマスターとし、前記第２の機器をスレーブとして、前記第１の機器と前記第２の機器との間で接続を確立して無線通信を行い、
前記第２の機器は、
データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、
ブロードキャスト又はマルチキャストで無線で送信されたデータを受信する受信手段と、
スレーブとして前記第１の機器と接続された状態で、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより前記第１の機器とは異なる第３の機器との間で無線通信を行う他機器通信手段とを含む、無線システム。
【請求項７２】
複数の機器と無線通信を行うことが可能な無線機器であって、
前記複数の機器のうちの第１の機器をマスターとし、自機をスレーブとして、当該第１の機器との間で接続を確立する接続確立手段と、
データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、
ブロードキャスト又はマルチキャストで無線で送信されたデータを受信する受信手段と、
スレーブとして前記第１の機器と接続された状態で、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより前記第１の機器とは異なる第３の機器との間で無線通信を行う他機器通信手段とを備える、無線機器。
【請求項７３】
複数の機器と無線通信を行うことが可能な無線機器のプロセッサにおいて実行可能な通信プログラムであって、前記プロセッサを、
前記複数の機器のうちの第１の機器をマスターとし、前記無線機器をスレーブとして、当該第１の機器との間で接続を確立する接続確立手段と、
データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、
ブロードキャスト又はマルチキャストで無線で送信されたデータを受信する受信手段と、
前記無線機器がスレーブとして前記第１の機器と接続された状態で、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより前記第１の機器とは異なる第３の機器との間で無線通信を行う他機器通信手段として機能させる、通信プログラム。
【請求項７４】
複数の機器と無線通信を行うことが可能な無線機器において実行可能な通信方法であって、
前記複数の機器のうちの第１の機器をマスターとし、前記無線機器をスレーブとして、当該第１の機器との間で接続を確立するステップと、
データをブロードキャスト又はマルチキャストで無線で送信する送信処理を行うステップと、
ブロードキャスト又はマルチキャストで無線で送信されたデータを受信する受信処理を行うステップと、
前記無線機器が前記第１の機器と接続された状態で、前記送信処理と前記受信処理とを繰り返し実行することにより前記第１の機器とは異なる第３の機器との間で無線通信を行うステップとを含む、通信方法。
【請求項７５】
前記第２の機器は、
スレーブとして前記第１の機器と接続された状態で、データをブロードキャスト又はマルチキャストで無線で送信する第１処理を実行し、
前記第３の機器は、
スレーブとして前記第４の機器と接続された状態で、前記第２の機器の前記第１処理によってブロードキャスト又はマルチキャストで送信されたデータを無線で受信する第２処理を実行する、請求項１から６６の何れかに記載の無線システム。
【請求項７６】
前記第３の機器は、
スレーブとして前記第４の機器と接続された状態で、データをブロードキャスト又はマルチキャストで無線で送信する第３処理を実行し、
前記第２の機器は、
スレーブとして前記第１の機器と接続された状態で、前記第３の機器の前記第３処理によってブロードキャスト又はマルチキャストで送信されたデータを無線で受信する第４処理を実行し、
前記第２の機器は、
前記第１処理と前記第４処理を交互に繰り返し実行する第１実行手段を有し、
前記第３の機器は、
前記第２処理と前記第３処理を交互に繰り返し実行する第２実行手段を有する、請求項７５に記載の無線システム。
【請求項７７】
前記第１処理と前記第４処理との間には、前記第１処理および前記第４処理の何れも行われないスリープ期間が存在し、
前記第２処理と前記第３処理との間には、前記第２処理および前記第３処理の何れも行われないスリープ期間が存在する、請求項７６に記載の無線システム。
【請求項７８】
前記第２の機器は、
前記第１実行手段によって実行された前記第１処理によって送信されたデータを受信した前記第３の機器との接続処理、又は、前記第１実行手段によって実行された前記第４処理によって受信したデータを送信した前記第３の機器との接続処理を実行する第１接続処理手段を有し、
前記第３の機器は、
前記第２実行手段によって実行された前記第２処理によって受信したデータを送信した前記第２の機器との接続処理、又は、前記第２実行手段によって実行された前記第３処理によって送信されたデータを受信した前記第２の機器との接続処理を実行する第２接続処理手段を有する、請求項７６又は７７に記載の無線システム。
【請求項７９】
前記第１の機器及び前記第２の機器は、
互いに接続された状態において、前記第１の機器及び前記第２の機器との間の同期通信を繰り返し行い、
前記第２の機器は、
前記第１の機器との同期通信が実行されるタイミングを避けて前記第３の機器との間の無線通信を行う通信制御手段を有する、請求項１から６６の何れか又は請求項７５から７８の何れかに記載の無線システム。
【請求項８０】
前記無線システムは、
前記第１の機器と前記第２の機器との間で行われる所定の通信に係る許容期間を設定する許容期間設定手段を含み、
前記第２の機器は、
前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との所定の通信を実行すべきか否かを判定する判定手段と、
前記判定手段によって実行すべきと判定された所定の通信が前記第１の機器と前記第２の機器との間で実行されるように、当該実行すべきと判定された所定の通信が行われるタイミングを避けて前記第３の機器との無線通信を行う通信制御手段とを有する、請求項１から６６の何れか又は請求項７５から７９の何れかに記載の無線システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器と通信を行うことが可能な無線システム、無線機器、通信プログラム、および通信方法に関する。
【背景技術】
【０００２】
従来より、近距離での無線通信を行う機器が存在する（例えば、特許文献１）。例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格による通信では、ある機器がマスターとなり別の機器がスレーブとなって１つのネットワークを構成し通信が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７９８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の無線通信においては、ある機器と接続された状態の機器が、様々な機器と通信を行うということに関して改善の余地があった。
【０００５】
それ故、本発明の目的は、様々な機器と通信をすることが可能な技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
本発明の一例は、無線通信を行うことが可能な複数の機器を含む無線システムであって、前記無線システムは、第１の機器と、第２の機器と、第３の機器と、第４の機器とを含む。前記第１の機器及び前記第２の機器は、前記第１の機器をマスターとし、前記第２の機器をスレーブとして、前記第１の機器と前記第２の機器との間で接続を確立して無線通信を行う。前記第４の機器及び前記第３の機器は、前記第４の機器をマスターとし、前記第３の機器をスレーブとして、前記第４の機器と前記第３の機器との間で接続を確立して無線通信を行う。前記第２の機器は、スレーブとして前記第１の機器と接続された状態で、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行う。
【０００８】
上記によれば、第１の機器のスレーブとして動作している第２の機器は、第４の機器のスレーブとして動作している第３の機器と通信を行うことができる。
【０００９】
ここで、「接続を確立する」とは、一方の機器から他方の機器に対して接続のために必要となる情報が送信されて情報がやり取りされた後に接続された状態（接続状態）になることを意味する。接続された状態では、接続が確立される際にやり取りされた情報に基づいて、２つの機器は通信を行う。
【００１０】
一実施形態では、前記第２の機器は、データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、を有してもよい。第２の機器は、前記送信手段による送信処理と前記受信手段による受信処理とをスレーブとして前記第１の機器と接続された状態で実行することにより、スレーブとして前記第４の機器と接続された状態の前記第３の機器と通信を行う。
【００１１】
上記によれば、第１の機器のスレーブとして動作している第２の機器は、ブロードキャストでデータを送受信することによって、第４の機器のスレーブとして動作している第３の機器と通信することができる。
【００１２】
ここで、「ブロードキャスト」は、不特定の機器（通信可能な範囲にある全ての機器）に対するブロードキャスト、及び、限定された不特定の機器に対するブロードキャストを含む。「限定された不特定の機器」とは、機器を唯一に特定しないものの（機器に割り当てられた固有のアドレスを特定しないものの）、共通の属性を持った機器又は共通の状態にある機器である。
【００１３】
一実施形態では、前記第２の機器は、前記第３の機器と接続していない状態で、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で無線通信によって所定のデータの送信又は受信を行ってもよい。
【００１４】
上記によれば、第２の機器は、第３の機器と接続せずに、第４の機器のスレーブとして動作している第３の機器と通信を行うことができる。
【００１５】
一実施形態では、前記第２の機器は、前記所定のデータとして、アプリケーションにおいて利用されるデータの送信又は受信を行ってもよい。
【００１６】
一実施形態では、前記第２の機器は、前記所定のデータとして、ゲームにおいて利用されるデータの送信又は受信を行ってもよい。
【００１７】
一実施形態では、前記第２の機器は、前記所定のデータとして、アプリケーションで再生されるコンテンツに関するデータの送信又は受信を行ってもよい。
【００１８】
上記によれば、アプリケーション（ゲームを含む）において利用されるデータ、アプリケーションで再生されるコンテンツ（例えば、画像や音声等）に関するデータを、第２の機器と第３の機器との間でやり取りすることができる。すなわち、スレーブとして第１の機器と接続されている第２の機器は、スレーブとして第４の機器と接続されている第３の機器と、上記データを送信及び／又は受信することができる。
【００１９】
一実施形態では、前記第２の機器は、前記第１の機器と接続している状態で、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、スレーブとして前記第４の機器と接続された状態の前記第３の機器と接続を確立せずに無線通信を行ってもよい。
【００２０】
上記によれば、第２の機器は、第３の機器と接続を確立せずに通信を行うことができる。
【００２１】
一実施形態では、前記ブロードキャスト又はマルチキャストで送信されるデータは、他の機器と接続を確立するためのデータであってもよい。
【００２２】
上記によれば、ブロードキャスト又はマルチキャストデータを送信することにより他の機器と接続を確立することができる。
【００２３】
一実施形態では、スレーブとして前記第１の機器と接続された状態の前記第２の機器は、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、当該接続を維持した状態で、前記第３の機器と無線通信を行ってもよい。
【００２４】
上記によれば、スレーブとして前記第１の機器と接続された状態の第２の機器は、スレーブとして前記第４の機器と接続された状態の第３の機器と接続を確立して通信することができる。
【００２５】
一実施形態では、スレーブとして前記第１の機器と接続された状態の前記第２の機器は、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、当該接続を切断することなく、前記第３の機器と無線通信を行ってもよい。
【００２６】
上記によれば、スレーブとして前記第１の機器と接続された状態の第２の機器は、スレーブとして前記第４の機器と接続された状態の第３の機器と接続を確立して通信することができる。
【００２７】
一実施形態では、前記第２の機器は、前記第１の機器と接続している状態で、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、前記第２の機器の周囲にある他の機器と無線通信を行ってもよい。
【００２８】
上記によれば、第２の機器は、第１の機器と接続している状態で、ブロードキャストによる送信処理及び受信処理を繰り返し行うことで自機の周辺にある他の機器と通信をすることができる。
【００２９】
一実施形態では、前記第２の機器は、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、前記第２の機器の周囲にある他の機器を探索し、当該探索によって検出した、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立してもよい。
【００３０】
上記によれば、第２の機器は、第１の機器と接続している状態で、ブロードキャストによる送信処理及び受信処理を繰り返し行うことで第３の機器を探索し、スレーブとして前記第４の機器と接続された状態の第３の機器と接続を確立することができる。
【００３１】
一実施形態では、前記送信処理の実行期間、前記送信処理を実行するタイミング、前記受信処理の実行期間、及び、前記受信処理の実行するタイミングのうち少なくとも何れかは可変であってもよい。
【００３２】
一実施形態では、前記送信処理の実行期間、前記送信処理を実行するタイミング、前記受信処理の実行期間、及び、前記受信処理の実行するタイミングのうち少なくとも何れかはランダムに設定されてもよい。
【００３３】
上記によれば、送信処理及び受信処理が繰り返し行われることにより、例えば、一方の機器の送信タイミングと、他方の機器の受信タイミングとが合うようにすることができる。
【００３４】
一実施形態では、前記第２の機器は、前記送信処理および前記受信処理を交互に繰り返し実行してもよい。ここでの「送信処理および受信処理を交互に繰り返し実行する」場合には、送信処理と受信処理との間に休止期間を挟んで、送信処理と受信処理とが交互に行われてもよい。
【００３５】
上記によれば、例えば、一方の機器の送信タイミングと、他方の機器の受信タイミングとが合うまでの時間を短縮することができる。
【００３６】
一実施形態では、前記送信処理と前記受信処理との間、前記送信処理と前記送信処理との間、および、前記受信処理と前記受信処理との間の少なくとも何れかには、前記送信処理および前記受信処理の何れも行われないスリープ期間が存在してもよい。
【００３７】
上記によれば、前記送信処理および前記受信処理の何れも行われないスリープ期間が設けられるため、消費電力を抑えることができる。
【００３８】
一実施形態では、前記スリープ期間は可変であってもよい。
【００３９】
一実施形態では、前記スリープ期間はランダムに設定されてもよい。
【００４０】
上記によれば、送信処理及び受信処理が繰り返し行われることにより、例えば、一方の機器の送信タイミングと、他方の機器の受信タイミングとが合うようにすることができる。
【００４１】
一実施形態では、前記第２の機器は、前記第１の機器からの指示なしで、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行ってもよい。
【００４２】
上記によれば、第２の機器は、第１の機器からの指示無しで、第３の機器と通信をすることができる。
【００４３】
一実施形態では、前記第１の機器と前記第２の機器とは、前記第１の機器と前記第２の機器が接続された状態において、同期通信を繰り返し行ってもよい。
【００４４】
上記によれば、第１の機器と第２の機器とは、接続された状態において同期して通信を行う。すなわち、送信側と受信側とでタイミングを合わせて通信が行われる。これにより、効率的に通信を行うことができるとともに、両方の機器を受信状態でも送信状態でもない状態にする期間を設けることで消費電力を抑えることができる。
【００４５】
一実施形態では、前記無線システムは、前記第１の機器と前記第２の機器との接続のための許容期間を設定する許容期間設定手段を含んでもよい。前記第２の機器は、前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との前記同期通信を実行すべきか否かを判定する判定手段を有してもよい。
【００４６】
上記によれば、第１の機器と第２の機器との間の接続には許容期間が設けられる。このため、例えば、第２の機器は、第１の機器との同期通信を行わないようにすることができ、必ず同期通信を行わなければならない場合と比べて、第２の機器の消費電力を抑えることができる。
【００４７】
ここで、「許容期間」とは、時間を意味してもよいし、第２の機器と通信を行わなくてもよい回数を意味してもよい。
【００４８】
一実施形態では、前記第１の機器は、前記許容期間設定手段を有してもよい。
【００４９】
上記によれば、第１の機器が許容期間を設定することができる。
【００５０】
一実施形態では、前記第２の機器は、前記第１の機器と接続された状態で前記許容期間を変更するための変更要求を送信する許容期間変更手段を有してもよい。
【００５１】
上記によれば、第２の機器は許容期間の変更を第１の機器に対して要求することができる。
【００５２】
一実施形態では、前記第１の機器は、前記第２の機器と接続された状態において、前記同期通信として所定の時間間隔で所定のデータを繰り返し前記第２の機器に送信してもよい。前記第２の機器は、前記第１の機器から所定の時間間隔で送信される前記所定のデータを受信したことに応じて、前記第１の機器に対して応答を返してもよい。前記許容期間設定手段は、前記許容期間として、前記応答の回数を設定し、前記第２の機器は、前記第１の機器に前記応答返さない回数が、前記許容期間設定手段によって設定された回数を超える又は前記許容期間設定手段によって設定された回数に達する場合には、前記第１の機器に対して前記応答を返してもよい。
【００５３】
上記によれば、第２の機器は、第１の機器に応答を返さないようにすることができるため消費電力を抑えることができるとともに、第１の機器との接続が解除されるリスクを回避することができる。
【００５４】
一実施形態では、前記第２の機器は、前記許容期間においてスレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行ってもよい。
【００５５】
上記によれば、第２の機器は、第１の機器との接続を維持しつつ第３の機器と通信することができる。
【００５６】
一実施形態では、前記第２の機器は、データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、を有してもよい。第２の機器は、前記許容期間において、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行ってもよい。
【００５７】
上記によれば、第２の機器は、上記許容期間において第３の機器と通信することができ、第１の機器との接続を維持したまま、第３の機器と通信することができる。
【００５８】
一実施形態では、前記第２の機器は、前記許容期間において、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、当該第３の機器と接続した状態で、前記第３の機器と無線通信を行ってもよい。
【００５９】
上記によれば、第２の機器は、上記許容期間において第３の機器と通信することができ、第１の機器との接続を維持したまま、第３の機器と接続して通信することができる。
【００６０】
一実施形態では、前記第２の機器は、前記第１の機器と前記第２の機器との間の同期通信が行われるタイミングとは異なるタイミングで、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行ってもよい。
【００６１】
上記によれば、第２の機器は、第１の機器と同期通信を行うタイミング以外のタイミングで、第３の機器と通信をすることができ、例えば、第１の機器との接続を維持しつつ、第３の機器と通信することができる。
【００６２】
一実施形態では、前記第１の機器と前記第２の機器とは、同期通信を繰り返し行い、前記第４の機器と前記第３の機器とは、同期通信を繰り返し行ってもよい。
【００６３】
上記によれば、第１の機器及び第２の機器は同期通信を行い、第３の機器及び第４の機器は同期通信を行うことができる。これにより、例えば、各機器の通信を効率的に行うとともに消費電力を抑えることができる。
【００６４】
一実施形態では、無線通信システムは、前記第１の機器と前記第２の機器との間の同期通信と、前記第４の機器と前記第３の機器との間の同期通信と、のうちの少なくとも何れか一方の同期通信のタイミングを調整する調整手段をさらに備えてもよい。
【００６５】
上記によれば、前記第１の機器と前記第２の機器との間の同期通信のタイミングと、前記第４の機器と前記第３の機器との間の同期通信のタイミングとを調整することができる。
【００６６】
一実施形態では、前記第２の機器が前記調整手段を備えてもよい。
【００６７】
上記によれば、第２の機器が上記同期通信のタイミングを調整することができる。
【００６８】
一実施形態では、前記調整手段は、前記第１の機器と前記第２の機器との間の同期通信のタイミングと、前記第４の機器と前記第３の機器との間の同期通信のタイミングと、が近くなるように調整してもよい。
【００６９】
上記によれば、前記第１の機器と前記第２の機器との間の同期通信のタイミングと、前記第４の機器と前記第３の機器との間の同期通信のタイミングとが近くなるように調整することができる。これにより、第２の機器と第３の機器との間の通信を効率的に行うことができる。すなわち、２つの同期通信のタイミングを合わせることにより、第２の機器が第１の機器と同期通信を行っていない期間と、第３の機器が第４の機器と同期通信を行っていない期間とを重複させることができる。この重複した期間において、第２の機器と第３の機器とは通信を行うことができる。
【００７０】
一実施形態では、前記無線システムは、前記第１の機器と前記第２の機器との接続のための許容期間を設定する許容期間設定手段を含んでもよい。前記第２の機器は、前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段を有してもよい。前記調整手段は、前記許容期間において前記第１の機器と前記第２の機器との間の同期通信が行われるように、前記第１の機器と前記第２の機器との間の同期通信、および、前記第３の機器と前記第４の機器との間の同期通信のうちの少なくとも何れか一方のタイミングを調整してもよい。
【００７１】
上記によれば、例えば、第１の機器と第２の機器との間の接続が解除されるリスクを回避しつつ、上記同期通信のタイミングを調整することができる。
【００７２】
一実施形態では、前記第２の機器は、前記調整手段を有してもよい。前記第３の機器は、前記第４の機器との間で行わる前記同期通信のタイミングを示す情報を送信してもよい。前記第２の機器は、前記第３の機器から送信された情報に基づいて、前記第１の機器との間で行われる前記同期通信のタイミングを調整してもよい。
【００７３】
上記によれば、第２の機器は、第３の機器と第４の機器とが同期通信するタイミングの情報を第３の機器から受信することができ、当該情報に基づいて、同期通信のタイミングを調整することができる。
【００７４】
一実施形態では、前記第１の機器と前記第２の機器が接続された状態において、前記第１の機器と前記第２の機器は、同期通信を繰り返し行ってもよい。前記第２の機器は、前記第１の機器と前記第２の機器との間の同期通信が行われるタイミングにおいて、前記第２の機器と前記第３の機器との間の無線通信よりも前記第１の機器との間の無線通信を優先して行ってもよい。
【００７５】
上記によれば、第２の機器は、第１の機器との通信を優先して行うことができ、例えば、第１の機器との接続が解除されないように第１の機器と通信しつつ、第３の機器と通信することができる。
【００７６】
一実施形態では、前記無線システムは、前記第１の機器と前記第２の機器との接続のための許容期間を設定する許容期間設定手段を含んでもよい。前記第２の機器は、前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段と、前記許容期間において前記第１の機器と前記第２の機器との間の同期通信が行われるように、前記第３の機器との通信又は前記第１の機器との通信の少なくともいずれか一方を制御する通信制御手段とを有してもよい。
【００７７】
上記によれば、第２の機器は、第１の機器との接続が解除されるリスクを回避しつつ、第３の機器と通信することができる。
【００７８】
一実施形態では、前記第２の機器は、データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、を有してもよい。また、第２の機器は、前記送信手段による送信処理と前記受信手段による受信処理とをスレーブとして前記第１の機器と接続された状態で繰り返し実行することにより、スレーブとして前記第４の機器と接続された状態の前記第３の機器と接続を確立せずに無線通信を行ってもよい。また、前記第２の機器は、前記第１の機器との同期通信のタイミングと、前記第３の機器との無線通信のタイミングとが重なる場合、前記第１の機器との同期通信を優先して行ってもよい。
【００７９】
上記によれば、第２の機器は、ブロードキャストでデータを送受信することで第３の機器と通信することができ、第１の機器との同期通信が行われるタイミングでは、第１の機器との通信を優先して行うことができる。これにより、例えば、第２の機器は、第１の機器との接続が解除されないように第１の機器と通信しつつ、第３の機器と通信することができる。
【００８０】
一実施形態では、前記第２の機器は、スレーブとして前記第４の機器と接続された状態の前記第３の機器と接続を確立し、当該第３の機器と接続された状態において、当該第３の機器と無線通信を行ってもよい。前記第２の機器は、前記第１の機器との同期通信が行われるタイミングと、前記第３の機器との間の接続における無線通信のタイミングとが重なる場合、前記第１の機器との通信を優先して行ってもよい。
【００８１】
上記によれば、第２の機器は、第３の機器と接続を確立して通信することができ、第１の機器との同期通信が行われるタイミングでは、第３の機器との通信よりも第１の機器との通信を優先して行うことができる。これにより、例えば、第２の機器は、第１の機器との接続が解除されないように第１の機器と通信しつつ、第３の機器と通信することができる。
【００８２】
一実施形態では、前記無線システムは、前記第２の機器と前記第３の機器との接続のための第２許容期間を設定する第２許容期間設定手段を含んでもよい。前記第２の機器及び第３の機器は、互いに接続された状態において、前記第２の機器及び第３の機器との間の同期通信を実行してもよい。前記第３の機器は、前記第２の機器と接続された状態において、前記第２許容期間に基づいて、前記第２の機器との同期通信を実行すべきか否かを判定する判定手段を有してもよい。前記第２の機器は、前記第２許容期間において前記第２の機器と前記第３の機器との間の同期通信が行われるように、前記第３の機器との通信又は前記第１の機器との通信の少なくとも何れか一方を制御する通信制御手段を有してもよい。
【００８３】
上記によれば、例えば、第２の機器は、第３の機器との接続が解除されないように、前記第３の機器との通信および前記第１の機器との通信を制御することができる。
【００８４】
一実施形態では、前記第２の機器は、前記第３の機器との間の接続における同期通信の時間間隔を設定し、当該設定した時間間隔で、前記第３の機器と同期通信を行い、前記第３の機器との同期通信の時間間隔を調整することにより、前記第１の機器との通信を優先して行ってもよい。
【００８５】
上記によれば、第２の機器は、例えば第３の機器との同期通信の時間間隔を長くすることで、第３の機器との同期通信が行われない期間において第１の機器と通信することができ、第１の機器との通信を優先して行うことができる。
【００８６】
一実施形態では、前記無線システムは、前記第２の機器と前記第３の機器との接続のための第２許容期間を設定する第２許容期間設定手段と、前記第４の機器と前記第３の機器との接続のための第３許容期間を設定する第３許容期間設定手段とを含んでもよい。前記第３の機器は、前記第２の機器と接続された状態において、前記第２許容期間に基づいて、前記第２の機器との同期通信を実行すべきか否かを判定する判定手段を有してもよい。前記第４の機器は、前記第３の機器と接続された状態において、前記第３の機器との同期通信を実行してもよい。前記第３の機器は、前記第４の機器と接続された状態において、前記第３許容期間に基づいて、前記第４の機器との同期通信を実行すべきか否かを判定してもよい。前記第３の機器は、前記第４の機器との同期通信を、前記第２の機器との同期通信よりも優先して実行してもよい。
【００８７】
上記によれば、第２の機器と第３の機器とは接続され、この接続には第２許容期間が設定される。第３の機器と第４の機器とは接続され、この接続には第３許容期間が設定される。そして、第３の機器は、前記第３許容期間において前記第４の機器と同期通信を実行し、前記第２の機器との同期通信よりも優先して前記第４の機器との同期通信を実行する。これにより、第３の機器は、第４の機器との接続が解除されるリスクを回避することができる。
【００８８】
一実施形態では、前記第３の機器は、前記第４の機器に対して前記第３許容期間を変更するための変更要求を送信する第３許容期間変更手段を有してもよい。
【００８９】
上記によれば、第３の機器は第４の機器に第３許容期間を変更させることができる。
【００９０】
一実施形態では、前記第２の機器は、無線通信の間隔を設定する間隔設定手段を含んでもよい。第２の機器は、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、当該接続を確立した後、前記間隔設定手段によって設定された間隔で前記第２の機器と前記第３の機器の間の無線通信を行う。
【００９１】
上記によれば、第２の機器は、設定された間隔で第３の機器と通信することができる。
【００９２】
一実施形態では、前記無線システムは、前記第１の機器と前記第２の機器との接続のための許容期間を設定する許容期間設定手段を含んでもよい。前記第２の機器は、前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段を有してもよい。前記間隔設定手段は、前記第１の機器と前記第２の機器の間の接続の許容期間に基づいて、前記第２の機器と前記第３の機器との間の無線通信の間隔を設定してもよい。
【００９３】
上記によれば、第２の機器は、第３の機器との通信の間隔を、第１の機器との間の接続における許容期間に基づいて設定することができる。
【００９４】
一実施形態では、前記第２の機器の間隔設定手段は、前記第１の機器と第２の機器との間の通信の状況に応じて、前記第３の機器との通信の時間間隔を設定してもよい。
【００９５】
上記によれば、第２の機器は、前記第１の機器と第２の機器との間の通信の状況に応じた時間間隔で、第３の機器と通信を行うことができる。
【００９６】
一実施形態では、前記無線システムは、前記第２の機器と前記第３の機器との接続のための第２許容期間を設定する第２許容期間設定手段を含んでもよい。前記第３の機器は、前記第２の機器と接続された状態において、前記第２許容期間に基づいて、前記第２の機器との同期通信を実行すべきか否かを判定する判定手段を有してもよい。前記第２許容期間設定手段は、前記第１の機器と前記第２の機器の間の通信の状況に応じて、前記第２許容期間を設定してもよい。
【００９７】
上記によれば、第１の機器と第２の機器との間の通信の状況に応じて、第２許容期間を設定することができる。例えば、第１の機器と第２の機器との通信の状況によって、第２の機器と第３の機器との接続における許容期間を長くしたり、短くしたりすることができる。
【００９８】
一実施形態では、前記第１の機器と前記第２の機器とは、同期通信を第１の時間間隔で行い、前記第２の機器は、前記第１の機器と接続されている間に、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、前記第１の時間間隔とは異なる第２の時間間隔で前記第３の機器と同期通信を行ってもよい。
【００９９】
上記によれば、第１の機器と第２の機器との同期通信の時間間隔と、第２の機器と第３の機器との同期通信の時間間隔とを異ならせることができる。
【０１００】
一実施形態では、前記第２の機器は、前記第１の時間間隔よりも前記第２の時間間隔の方が短くなるように、前記第２の時間間隔を設定してもよい。
【０１０１】
上記によれば、第２の時間間隔は第１の時間間隔よりも短いため、第２の機器は、第１の機器と比べて第３の機器と頻繁に通信することができる。このため、第２の機器と第３の機器との間で、比較的短時間に大きなデータをやり取りすることができる。
【０１０２】
一実施形態では、前記無線システムは、前記第１の機器と前記第２の機器との接続のための第１許容期間を設定する第１許容期間設定手段と、前記第２の機器と前記第３の機器との接続のための第２許容期間を設定する第２許容期間設定手段と、を含んでもよい。前記第２の機器は、前記第１の機器と接続された状態において、前記第１許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段を有してもよい。前記第３の機器は、前記第２の機器と接続された状態において、前記第２許容期間に基づいて、前記第２の機器との同期通信を実行すべきか否かを判定する判定手段を有してもよい。前記第２許容期間設定手段は、前記第１の機器と前記第２の機器の間の通信の状況又は前記第２の機器と前記第３の機器の間の通信の状況の少なくともいずれか一方に応じて、前記第１許容期間よりも短くなるように前記第２許容期間を設定してもよい。
【０１０３】
上記によれば、第１の機器と第２の機器との間の接続の第１許容期間よりも、第２の機器と第３の機器との間の接続の第２許容期間を短くすることができる。これにより、第２の機器は第１の機器との接続が解除されるリスクを低減することができる。例えば、第２の機器が、第１の機器と比較的長期間に低頻度でデータをやり取りする一方で、第３の機器とは比較的短期間に高頻度でデータをやり取りする場合に、この構成が採用されてもよい。
【０１０４】
一実施形態では、前記第２の機器は、前記第１の時間間隔よりも前記第２の時間間隔の方が長くなるように、前記第２の時間間隔を設定してもよい。
【０１０５】
上記によれば、第１の時間間隔は第２の時間間隔よりも短いため、第２の機器は、第３の機器と比べて第１の機器と頻繁に通信することができる。このため、第１の機器と第２の機器との間で、短時間に比較的大きなデータをやり取りすることができる。
【０１０６】
一実施形態では、前記無線システムは、前記第１の機器と前記第２の機器との接続のための第１許容期間を設定する第１許容期間設定手段と、前記第２の機器と前記第３の機器との接続のための第２許容期間を設定する第２許容期間設定手段と、を含んでもよい。前記第２の機器は、前記第１の機器と接続された状態において、前記第１許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段を有してもよい。前記第３の機器は、前記第２の機器と接続された状態において、前記第２許容期間に基づいて、前記第２の機器との同期通信を実行すべきか否かを判定する判定手段を有してもよい。前記第２許容期間設定手段は、前記第１許容期間よりも長くなるように前記第２許容期間を設定してもよい。
【０１０７】
上記によれば、第１の機器と第２の機器との間の接続の第１許容期間よりも、第２の機器と第３の機器との間の接続の第２許容期間を長くすることができる。これにより、第２の機器は第３の機器との接続が解除されるリスクを低減することができる。例えば、第２の機器が、第３の機器と比較的長期間に低頻度でデータをやり取りする一方で、第１の機器とは比較的高頻度でデータをやり取りする場合に、この構成が採用されてもよい。
【０１０８】
一実施形態では、前記第２の機器は、前記第１の機器と接続されている間に、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で接続を確立し、前記第２の機器と前記第３の機器の間の接続よりも、前記第１の機器と前記第２の機器との間の接続を優先してもよい。
【０１０９】
上記によれば、第２の機器は、第１の機器との接続を優先しつつ、第３の機器と接続して通信を行うことができる。
【０１１０】
一実施形態では、前記第２の機器は、前記第１の機器と前記第２の機器との間の接続状況に応じて、前記第２の機器と前記第３の機器の間の通信を制限してもよい。
【０１１１】
上記によれば、第２の機器は、第１の機器との間の接続状況に応じて、前記第３の機器との間の通信を制限することができ、例えば、第１の機器との接続が解除されるリスクがある場合には、第３の機器との通信を制限することができる。
【０１１２】
一実施形態では、前記第２の機器は、前記第２の機器と前記第３の機器との間の接続を維持すれば、前記第１の機器と前記第２の機器との間の接続が解除される場合、前記第２の機器と前記第３の機器の間の接続を解除してもよい。
【０１１３】
上記によれば、第２の機器は、第１の機器との接続が解除されるリスクがある場合には、第３の機器との接続を解除することができる。
【０１１４】
一実施形態では、前記第２の機器は、データを無線で送信する送信手段と、前記送信手段によるデータの送信とは異なるタイミングでデータを無線で受信する受信手段と、を含んでもよい。第２の機器は、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し行い、前記送信手段は、次以降に自機で行われる前記送信処理及び／又は前記受信処理のタイミングを示すタイミング情報を含むデータを送信してもよい。
【０１１５】
上記によれば、第２の機器は、自機が次以降に送信処理及び／又は受信処理を行うタイミングを他の機器に知らせることができる。
【０１１６】
一実施形態では、前記第２の機器の送信手段は、前記タイミング情報を含むデータをブロードキャスト又はマルチキャストで送信してもよい。
【０１１７】
上記によれば、第２の機器は、不特定の機器に上記タイミング情報を送信することができる。
【０１１８】
一実施形態では、前記第２の機器の送信手段は、他の機器からブロードキャスト又はマルチキャストで送信されたデータを受信したことに応じて、前記タイミング情報を含むデータを送信してもよい。
【０１１９】
上記によれば、第２の機器は、他の機器からのブロードキャストデータに応じて、タイミング情報を含むデータを送信することができる。
【０１２０】
一実施形態では、前記第３の機器は、データを無線で送信する送信処理と、データを無線で受信する受信処理とを繰り返し行い、前記第２の機器からの前記タイミング情報に基づいて、前記送信処理及び／又は前記受信処理を行うタイミングを調整してもよい。
【０１２１】
上記によれば、第３の機器は、第２の機器からの前記タイミング情報に基づいて、送信処理及び／又は受信処理を行うタイミングを調整することができる。これにより、第２の機器と第３の機器との間で、送信処理及び受信処理のタイミングを合わせることができる。
【０１２２】
一実施形態では、前記第１の機器と前記第２の機器との間の無線通信、前記第４の機器と前記第３の機器との間の無線通信、および、前記第２の機器と前記第３の機器との間の無線通信は、全て同じ通信規格に基づいて行われてもよい。
【０１２３】
一実施形態では、前記各機器は、電波の周波数を切り替えながら前記無線通信を行ってもよい。
【０１２４】
一実施形態では、前記各機器は、複数の異なる所定の周波数を切り替えながら前記無線通信を行ってもよい。
【０１２５】
一実施形態では、前記通信規格は、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙであってもよい。
【０１２６】
一実施形態では、前記第１の機器と前記第２の機器との間の無線通信、前記第４の機器と前記第３の機器との間の無線通信、および、前記第２の機器と前記第３の機器との間の無線通信は、全て同じ所定の周波数帯で行われてもよい。
【０１２７】
一実施形態では、前記周波数帯は２．４ＧＨｚ帯であってもよい。
【０１２８】
一実施形態では、前記探索は、３つのチャネルを切り替えながら行われてもよい。
【０１２９】
一実施形態では、前記第２の機器は、スレーブとして前記第１の機器と接続された状態で、データをブロードキャスト又はマルチキャストで無線で送信する第１処理を実行してもよい。前記第３の機器は、スレーブとして前記第４の機器と接続された状態で、前記第２の機器の前記第１処理によってブロードキャスト又はマルチキャストで送信されたデータを無線で受信する第２処理を実行してもよい。
【０１３０】
上記によれば、第２の機器はブロードキャスト又はマルチキャストでデータを送信し、第３の機器がこのデータを受信することができる。
【０１３１】
一実施形態では、前記第３の機器は、スレーブとして前記第４の機器と接続された状態で、データをブロードキャスト又はマルチキャストで無線で送信する第３処理を実行してもよい。前記第２の機器は、スレーブとして前記第１の機器と接続された状態で、前記第３の機器の前記第３処理によってブロードキャスト又はマルチキャストで送信されたデータを無線で受信する第４処理を実行してもよい。前記第２の機器は、前記第１処理と前記第４処理とを繰り返し実行する第１実行手段を有してもよい。前記第３の機器は、前記第２処理と前記第３処理とを繰り返し実行する第２実行手段を有してもよい。
【０１３２】
上記によれば、第３の機器は、第４の機器と接続された状態においてデータをブロードキャスト又はマルチキャストで送受信し、第２の機器は、第１の機器と接続された状態においてデータをブロードキャスト又はマルチキャストで送受信する。これにより、他の機器のスレーブとして接続された第３の機器および第２の機器は、互いにデータを送受信することができる。
【０１３３】
前記第１処理と前記第４処理との間には、前記第１処理および前記第４処理の何れも行われないスリープ期間が存在し、前記第２処理と前記第３処理との間には、前記第２処理および前記第３処理の何れも行われないスリープ期間が存在してもよい。
【０１３４】
一実施形態では、前記第２の機器は、前記第１実行手段によって実行された前記第１処理によって送信されたデータを受信した前記第３の機器との接続処理、又は、前記第１実行手段によって実行された前記第４処理によって受信したデータを送信した前記第３の機器との接続処理を実行する第１接続処理手段を有してもよい。前記第３の機器は、前記第２実行手段によって実行された前記第２処理によって受信したデータを送信した前記第２の機器との接続処理、又は、前記第２実行手段によって実行された前記第３処理によって送信されたデータを受信した前記第２の機器との接続処理を実行する第２接続処理手段を有してもよい。
【０１３５】
上記によれば、第２の機器および第３の機器は互いに接続することができる。
【０１３６】
一実施形態では、前記第１の機器及び前記第２の機器は、互いに接続された状態において、前記第１の機器及び前記第２の機器との間の同期通信を繰り返し行ってもよい。前記第２の機器は、前記第１の機器との同期通信が実行されるタイミングを避けて前記第３の機器との間の無線通信を行う通信制御手段を有してもよい。
【０１３７】
上記によれば、第２の機器は第１の機器と繰り返し同期通信を行いつつ、第３の機器と通信を行うことができる。
【０１３８】
一実施形態では、前記無線システムは、
前記第１の機器と前記第２の機器との間で行われる所定の通信に係る許容期間を設定する許容期間設定手段を含んでもよい。前記第２の機器は、前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との所定の通信を実行すべきか否かを判定する判定手段と、前記判定手段によって実行すべきと判定された所定の通信が前記第１の機器と前記第２の機器との間で実行されるように、当該実行すべきと判定された所定の通信が行われるタイミングを避けて前記第３の機器との無線通信を行う通信制御手段とを有してもよい。
【０１３９】
上記によれば、第２の機器は第１の機器との接続が解除されるリスクを回避しつつ、第３の機器と通信を行うことができる。
【０１４０】
他の構成は、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）規格に基づく無線通信を行うことが可能な複数の機器を含む無線システムであって、前記無線システムは、第１の機器と、第２の機器と、第４の機器と、第３の機器とを含んでもよい。前記第１の機器及び前記第２の機器は、前記第１の機器をセントラルとし、前記第２の機器をペリフェラルとして、前記第１の機器と前記第２の機器との間で接続を確立してＢＬＥ規格に基づいた無線通信を行う。前記第４の機器及び前記第３の機器は、前記第４の機器をセントラルとし、前記第３の機器をペリフェラルとして、前記第４の機器と前記第３の機器との間で接続を確立してＢＬＥ規格に基づいた無線通信を行う。前記第２の機器は、前記第１の機器と前記第２の機器との接続が維持された状態で、ペリフェラルとして前記第４の機器と接続された状態の前記第３の機器とＢＬＥ規格に基づいた無線通信を行う。
【０１４１】
他の構成は、複数の機器と無線通信を行うことが可能な無線機器であってもよい。無線機器は、前記複数の機器のうちの第１の機器をマスターとし、自機をスレーブとして、当該第１の機器との間で接続を確立する接続確立手段と、スレーブとして前記第１の機器と接続された状態で、当該第１の機器とは異なる第２の機器のスレーブとして接続された状態の第３の機器と無線通信を行う通信手段とを備えてもよい。また、当該無線機器のプロセッサにおいて実行されるプログラムであってもよい。
【０１４２】
他の構成は、上記無線機器のプロセッサにおいて実行されるプログラムであってもよい。また他の構成は、上記無線システムにおいて実行される通信方法であってもよい。
【０１４３】
他の構成は、無線通信を行うことが可能な複数の機器を含む無線システムであって、前記無線システムは、第１の機器と、第２の機器とを含んでもよい。前記第１の機器及び前記第２の機器は、前記第１の機器をマスターとし、前記第２の機器をスレーブとして、前記第１の機器と前記第２の機器との間で接続を確立して無線通信を行う。前記第２の機器は、データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、ブロードキャスト又はマルチキャストで無線で送信されたデータを受信する受信手段と、前記第１の機器と接続された状態で、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより前記第１の機器とは異なる第３の機器との間で無線通信を行う他機器通信手段とを含む。
【０１４４】
他の構成は、複数の機器と無線通信を行うことが可能な無線機器であってもよい。当該無線機器は、前記複数の機器のうちの第１の機器をマスターとし、自機をスレーブとして、当該第１の機器との間で接続を確立する接続確立手段と、データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、ブロードキャスト又はマルチキャストで無線で送信されたデータを受信する受信手段と、スレーブとして前記第１の機器と接続された状態で、前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより前記第１の機器とは異なる第３の機器との間で無線通信を行う他機器通信手段とを備えてもよい。
【０１４５】
他の構成は、上記無線機器のプロセッサにおいて実行されるプログラムであってもよい。また他の構成は、上記無線システムにおいて実行される通信方法であってもよい。
【発明の効果】
【０１４６】
本発明によれば、スレーブとして接続されている機器が他の機器と通信を行うことができる。
【図面の簡単な説明】
【０１４７】
【図１】一般的なＢＬＥネットワークの一例を示す図
【図２】ＢＬＥ端末２０の内部構成の一例を示すブロック図
【図３】ＢＬＥ規格で用いられるチャネルの一覧を示す図
【図４】携帯端末１０ａとＢＬＥ端末２０ａとが接続されていない状態から接続された状態になるまでの通信の流れの一例を示す図
【図５】接続状態における携帯端末１０ａとＢＬＥ端末２０ａとの通信の一例を示す図
【図６】携帯端末１０ａとＢＬＥ端末２０ａとの間の接続が確立された後の接続状態における通信の一例を示す図
【図７】本実施形態におけるＢＬＥネットワークの接続形態の一例を示す図
【図８】ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続されていない状態で通信する場合の一例を示す図
【図９】ＢＬＥ端末２０において実行されるスキャンとアドバタイジングの実行期間が変化する様子を示す図
【図１０】スキャン及び／又はアドバタイジングの実行タイミングを示す情報をＢＬＥ端末２０が送信することにより、スキャン及び／又はアドバタイジングの実行タイミングを調整する方法について説明するための図
【図１１】携帯端末１０（セントラル）とＢＬＥ端末２０（ペリフェラル）との間の接続の調整が行われる様子を示す図
【図１２】図１１の後の状態を示す図であり、携帯端末１０（セントラル）とＢＬＥ端末２０（ペリフェラル）との間の接続の調整が行われた後の各機器間の通信の一例を示す図
【図１３】携帯端末１０とＢＬＥ端末２０とが接続された状態において、ＢＬＥ端末２０同士が接続を確立する様子の一例を示す図
【図１４】図１３の後の状態を示す図であり、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続された状態における通信の一例を示す図
【図１５】ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限する方法の具体例を示す図
【図１６】ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続される場合において携帯端末１０とＢＬＥ端末２０との間の接続が調整された場合の通信の一例を示す図
【図１７】携帯端末１０において行われる処理の一例を示すフローチャート
【図１８】図１７のステップＳ１０８の詳細フローチャート
【図１９】ＢＬＥ端末２０ａにおいて行われる処理の一例を示すフローチャート
【図２０】ステップＳ２０５の接続中処理の詳細フローチャート
【図２１】ステップＳ２１８のＢＬＥ端末間通信処理の詳細フローチャート
【図２２】ステップＳ２３９のＢＬＥ端末間接続中処理の詳細フローチャートであり、セントラル（マスター）として動作するＢＬＥ端末２０ａにおいて行われる処理を示す図
【図２３】ステップＳ２３９のＢＬＥ端末間接続中処理の詳細フローチャートであり、ペリフェラル（スレーブ）として動作するＢＬＥ端末２０ｂにおいて行われる処理を示す図
【発明を実施するための形態】
【０１４８】
以下、図面を参照して、一実施形態に係る無線通信システムについて説明する。本実施形態の無線通信システムは、無線通信が可能な複数の機器を含むシステムであり、各機器は、例えば、Bluetooth Low Energy（Bluetooth ４．ｘ。以下、「ＢＬＥ」と略する）規格に基づく通信を行うものとする。まず、ＢＬＥ規格の概要について説明する。
【０１４９】
（ＢＬＥの概要）
ＢＬＥ規格は、クラシックＢｌｕｅｔｏｏｔｈ（登録商標）（Ｖｅｒ．１．ｘ−３．ｘ）よりも消費電力が低くなるように設計された通信規格である。ＢＬＥではクラシックＢｌｕｅｔｏｏｔｈよりも最大送信電力が抑えられたり、無線通信の動作時間や動作回数を減らすことにより、消費電力が抑えられる。ＢＬＥでは、クラシックＢｌｕｅｔｏｏｔｈと比較して、通信の時間間隔は長く、この時間間隔は変更可能である。また、ＢＬＥでは、クラシックＢｌｕｅｔｏｏｔｈと同様に、１のマスターに対して複数のスレーブが接続可能なスター型のネットワークトポロジーが採用されている。
【０１５０】
図１は、一般的なＢＬＥネットワークの一例を示す図である。図１に示すように、通信可能な範囲には携帯端末１０ａと、ＢＬＥ端末２０とが存在し、これらの機器によってネットワークが形成される。ＢＬＥでは、通信可能な範囲は、例えば数ｍ〜数十ｍである。
【０１５１】
携帯端末１０ａは、例えば、携帯電話、スマートフォン、タブレット端末等の所定のアプリケーションを実行可能な携帯型の情報処理装置である。携帯端末１０ａは、例えば、ＣＰＵ（又は／及び他のプロセッサ）と、ＲＡＭと、記憶装置（不揮発性メモリやハードディスク等）と、表示装置（液晶表示装置や有機ＥＬ表示装置等）と、入力部（ボタンやタッチパネル等）と、ＢＬＥ規格に基づく通信を行うためのＢＬＥ通信モジュールと、バッテリーとを備える。携帯端末１０ａのＣＰＵは、記憶装置に記憶された（又はネットワーク経由で取得した）様々なアプリケーションプログラムを実行することが可能である。例えば、携帯端末１０ａは、所定のアプリケーションとして、動画や静止画を再生可能なアプリケーション、メッセージアプリケーション、ブラウザアプリケーション、ゲームアプリケーション、ＢＬＥ端末２０から取得したデータを処理するアプリケーション等、様々なアプリケーションプログラムを実行可能である。携帯端末１０ａは、ＢＬＥ端末２０と比較して高度な情報処理を行うことが可能であり、そのため消費電力もＢＬＥ端末２０と比較して高い。
【０１５２】
ＢＬＥ端末２０は、例えば、携帯型の機器であり、典型的には携帯端末１０ａよりも小さな機器である。ＢＬＥ端末２０は、典型的には携帯端末１０よりも限定された機能しか有しておらず、比較的単純な処理を行う機器であってもよい。なお、ＢＬＥ端末２０は、携帯端末１０ａと同様の高度な情報処理を行う機器であってもよい。
【０１５３】
図２は、ＢＬＥ端末２０の内部構成の一例を示すブロック図である。図２に示すように、ＢＬＥ端末２０は、例えば、制御回路２１と、入力部２２と、発光部２３と、バイブレータ２４と、ＢＬＥ通信モジュール２５とを備える。ＢＬＥ端末２０は、携帯型の比較的小さな機器であって消費電力が低い機器であり、例えばボタン電池によって比較的長期間（数ヶ月〜数年）動作することが可能である。ＢＬＥ端末２０の各部は制御回路２１上に実装されてもよい。例えば、ＢＬＥ端末２０は、入力部２２に対して行われた入力に応じたデータをＢＬＥ通信モジュール２５を用いて携帯端末１０ａに送信したり、携帯端末１０ａから送信されたデータをＢＬＥ通信モジュール２５を用いて受信して、発光部２３を発行させたり、バイブレータ２４を振動させたりすることができる。なお、ＢＬＥ端末２０は、任意のアプリケーションプログラムを実行するためのＣＰＵ又は／及び他のプロセッサを備えてもよい。また、ＢＬＥ端末２０は、ディスプレイ、タッチパネル、スピーカ、マイク、カメラ等を備えてもよい。例えば、ＢＬＥ端末２０は、映像や音声に係るデータをＢＬＥ通信モジュール２５を介して携帯端末１０ａとやり取りしてもよい。
【０１５４】
図１に示すように、携帯端末１０ａは、ＢＬＥネットワークにおけるセントラル（「マスター」とも言う）として機能し、ＢＬＥ端末２０は、ペリフェラル（「スレーブ」とも言う）として機能する。携帯端末１０ａは、複数のＢＬＥ端末２０（２０ａ、・・、２０ｘ）と接続を確立することが可能であり、各接続においてセントラルとなる。セントラルは、ペリフェラルのネットワークへの参加を管理したり、ペリフェラルとの接続のおける各種パラメータを設定したりする。
【０１５５】
ここで、ＢＬＥ規格では、２．４ＧＨｚ帯の電波が用いられる。具体的には、４０のチャネルを用いて通信が行われる。図３は、ＢＬＥ規格で用いられるチャネルの一覧を示す図である。図３に示すように、４０のチャネルのうち、３つのチャネル３７〜３９はアドバタイジングチャネルであり、その他のチャネル０〜３６は、データチャネルである。アドバタイジングチャネルは、機器の発見や接続のために用いられたり、又は、自機の存在を他の機器に知らせるために用いたり、後述するように他の機器と接続を確立せずにデータをやり取りするために用いられるチャネルである。データチャネルは、接続状態（接続された状態）において用いられるチャネルであり、接続状態にある２つの機器間でデータの送受信を行うために用いられる。なお、クラシックＢｌｕｅｔｏｏｔｈでは、７９のチャネルを有し、そのうち３２チャネルが発見用のチャネルである。
【０１５６】
図４は、携帯端末１０ａとＢＬＥ端末２０ａとが接続されていない状態から接続された状態になるまでの通信の流れの一例を示す図である。
【０１５７】
各機器は接続されていない状態（非接続状態）から接続状態になるまでに、その状態を変化させる。具体的には、図４に示すように、携帯端末１０ａは、所定の時間間隔でスキャンを繰り返す。スキャンを行っている状態をスキャニング状態といい、その状態の機器をスキャナという。具体的には、携帯端末１０ａは、スキャンと休止状態とを繰り返し、スキャンの実行中は、受信回路を作動させて他の機器からのアドバタイジングパケット（アドバタイジングＰＤＵ（プロトコル・データ・ユニット））の受信を試みる。
【０１５８】
一方、ＢＬＥ端末２０ａは、所定の時間間隔（アドバタイジングインターバル）でアドバタイジングを繰り返す。アドバタイジングを行っている状態をアドバタイジング状態といい、その状態の機器をアドバタイザという。具体的には、ＢＬＥ端末２０ａは、１回のアドバタイジング（アドバタイジングイベント）において、３つのチャネル３７〜３９を切り替えながらアドバタイジングパケットを送信する。このように、電波の周波数を切り替えながらアドバタイジングパケットが送信される。電波の周波数が切り替えられることを「ホッピング」という。
【０１５９】
図４に示すように、携帯端末１０ａのスキャンのタイミングとＢＬＥ端末２０ａのアドバタイジングのタイミングとが一致すると、携帯端末１０ａは、ＢＬＥ端末２０ａからのアドバタイジングパケットを受信する。携帯端末１０ａは、ＢＬＥ端末２０ａからのアドバタイジングパケットを受信すると、ＢＬＥ端末２０ａに対してスキャン要求を送信する。このスキャン要求に対してＢＬＥ端末２０ａがスキャン応答を返す。スキャン要求およびスキャン応答もまた、アドバタイジングチャネルを用いて送信される。スキャンの方式には「アクティブスキャン」と、「パッシブスキャン」とがあり、図４では、「アクティブスキャン」の例が示されている。「パッシブスキャン」では、図４に示す「スキャン要求」と「スキャン応答」は行われない。すなわち、パッシブスキャンでは、携帯端末１０ａは、ＢＬＥ端末２０ａからのアドバタイジングパケットを受信すると、スキャン要求を送信せずに、コネクション要求をＢＬＥ端末２０ａに送信する。
【０１６０】
携帯端末１０ａは、アドバタイジングパケットを送信した機器と接続を行う場合、イニシエーティング状態（イニシエータ）となる。携帯端末１０ａ（イニシエータ）は、アドバタイジングパケットを送信したＢＬＥ端末２０ａに対して、コネクション要求を送信する。イニシエータからコネクション要求が送信されると、接続が確立されて、２つの機器は接続状態となる。具体的には、携帯端末１０ａをマスター（セントラル）、ＢＬＥ端末２０ａをスレーブ（ペリフェラル）とする２つの機器が接続状態となる。
【０１６１】
なお、イニシエータからのコネクション要求には、接続のための複数のパラメータが含まれる。具体的には、コネクション要求には、イニシエータのアドレス、アドバタイザのアドレス、アクセスアドレス、コネクションインターバル、スレーブレイテンシー、以降のホッピングに係る情報（ホップ数や使用するチャネルに係る情報）、接続監視タイムアウト（connection  supervision  timeout）等が含まれる。アクセスアドレスはランダムに決定されるものであり、接続を識別するためのものである。各機器は、接続相手にパケットを送信する場合、このアクセスアドレスをパケットに含めて送信する。各機器は、アクセスアドレスに基づいて、接続相手からのパケットかどうかを判断することができる。また、コネクションインターバル、スレーブレイテンシー、接続監視タイムアウトについては後述する。また、コネクション要求の後に、接続における暗号鍵を交換するためのペアリングやボンディングが行われてもよい。ペアリングでは、この接続において用いられる一時的な暗号鍵が生成・交換される。ボンディングでは、ペアリングの後に、永続的な暗号鍵の生成・交換が行われる。永続的な暗号鍵は各機器において不揮発性メモリ等に記憶される。
【０１６２】
アドバタイジングパケットは、通常、ブロードキャストで送信される。すなわち、不特定の機器が受信可能である。なお、「ブロードキャスト」には、限定された不特定の機器が処理可能なデータ送信も含まれる。ここで、「限定された不特定の機器」とは、機器を唯一に特定しないが（機器に割り当てられた固有のアドレスを特定しないが）、共通の属性を持った機器又は共通の状態にある機器である。「共通の属性を持った機器」とは、例えば、機種が同じ又はベンダーが同じ等、所定の属性を持った機器群を指す。こうした所定の属性を持つ機器へアドバタイジングパケットを送信するために、例えば、送信側の機器は、ベンダーや端末の機種を示す情報（ベンダーＩＤや機種番号等。以下、「属性情報」と言う。）をアドバタイジングパケットに含めて（又は付加して）送信する。受信側の機器では、当該受信側の機器が持つ属性情報と一致する場合には、当該アドバタイジングパケットを処理する。このようにして、送信側は限定された不特定の機器に対してデータを送信することができる。一方、「共通の状態にある機器」とは、例えば、現在の設定が同じ等、ある時点で所定の状態にある機器群を指す。例えば、送信されるアドバタイジングパケットに、限定された不特定の機器のみが処理可能であることを示すフラグが立てられる。受信側では、この限定された不特定の機器向けのアドバタイジングパケットを処理するかどうかの設定がなされている。不特定の機器向けのアドバタイジングパケットを処理する設定がなされた機器は、アドバタイジングパケットを受信すると、上記フラグが立っているかどうかを判断し、フラグが立っている場合には、当該アドバタイジングパケットを処理する。一方、不特定の機器向けのアドバタイジングパケットを処理する設定がなされていない機器は、アドバタイジングパケットを受信すると、上記フラグが立っているかどうかを判断し、フラグが立っている場合には、当該パケットを破棄する又は処理しない。このようにして、送信側は限定された不特定の機器に対してデータを送信することができる。このような「限定された不特定の機器」に対する送信も、限定されない不特定の機器に対する送信も含めて、ここでは「ブロードキャスト」ということにする。なお、アドバタイジングパケットは、いわゆる「マルチキャスト」によって送信されてもよい。
【０１６３】
また、アドバタイジングパケットには、複数のタイプがある。具体的には、アドバタイジングパケットのタイプとして、「ＡＤＶ＿ＩＮＤ」と、「ＡＤＶ＿ＤＩＲＥＣＴ＿ＩＮＤ」と、「ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ」と、「ＡＤＶ＿ＳＣＡＮ＿ＩＮＤ」とがある。「ＡＤＶ＿ＩＮＤ」と「ＡＤＶ＿ＤＩＲＥＣＴ＿ＩＮＤ」とは、接続可能であることを示すアドバタイジングパケットである。「ＡＤＶ＿ＩＮＤ」は、通常のアドバタイジングに用いられ、不特定の機器が接続可能であることを示すアドバタイジングパケットである。また、「ＡＤＶ＿ＤＩＲＥＣＴ＿ＩＮＤ」は、特定の機器が接続可能であることを示すアドバタイジングパケットであり、以前に接続したことのある機器と高速で接続するために用いられる。携帯端末１０ａは、「ＡＤＶ＿ＩＮＤ」又は「ＡＤＶ＿ＤＩＲＥＣＴ＿ＩＮＤ」のアドバタイジングパケットを受信した場合、当該パケットを送信したＢＬＥ端末２０ａに対して上記コネクション要求を送信する。
【０１６４】
また、「ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ」及び「ＡＤＶ＿ＳＣＡＮ＿ＩＮＤ」は、接続不可であることを示すアドバタイジングパケットである。「ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ」及び「ＡＤＶ＿ＳＣＡＮ＿ＩＮＤ」は、不特定の機器に対して情報（例えば、アプリケーションで用いられるデータや位置情報などのデータ）を送信するために用いられる。
【０１６５】
なお、一般的にはアドバタイジングよりもスキャンの方が消費電力が高くなる。これは、スキャンの実行中は、どのタイミングでもアドバタイジングパケットを受信できる状態にしておく（受信回路を作動させておく）必要があるからである。これに対して、アドバタイジングでは、１回のアドバタイジングイベントにおいて複数のアドバタイジングパケットが送信されるが、１のアドバタイジングパケットは極めて短い時間に送信されため、１回のアドバタイジングイベント中でも、アドバタイジングパケットを送信していない時間がある。アドバタイザは、アドバタイジングパケットを送信するときには送信回路を作動させるとともに電波を出力する必要があるため瞬間的に消費電力が高くなるものの、アドバタイジングパケットを送信するとき以外は、送信回路を作動させる必要もなければ電波も出力しないため、電力の消費は抑えられる。このため、ある一定の期間における消費電力は、スキャンの方がアドバタイジングよりも高くなる。
【０１６６】
図５は、接続状態における携帯端末１０ａとＢＬＥ端末２０ａとの通信の一例を示す図である。図５に示すように、２つの機器が接続状態である場合、２つの機器との間でコネクションイベントと呼ばれる同期した通信（同期通信）が所定の時間間隔で行われる。コネクションイベントの間隔を「コネクションインターバル」という。コネクションインターバルは、接続が確立される際にマスターによって設定される。携帯端末１０ａとＢＬＥ端末２０ａとの接続におけるコネクションインターバルはＣＩａ（例えば５００ｍ秒）である。コネクションインターバルは、７．５ｍ秒〜４秒の範囲で設定されてもよい。
【０１６７】
１回のコネクションイベントでは、１のデータチャネル（例えば、チャネル１）を用いて携帯端末１０ａとＢＬＥ端末２０ａとの間でデータの送受信が行われる。最初のコネクションイベントの発生からＣＩａが経過すると、チャネルが切り替えられて次のコネクションイベントが行われる。図５に示す例では、最初のコネクションイベントではチャネル１が用いられ、２回目のコネクションイベントではチャネル３が用いられている。このホップするチャネルの数を「ホップ数」といい、図５に示す例では、ホップ数は「２」である。このホップ数は、携帯端末１０ａとＢＬＥ端末２０ａとの間の接続が確立される際に設定される。
【０１６８】
コネクションイベントは、接続を確立した端末毎に行われる。例えば、携帯端末１０ａが、ＢＬＥ端末２０ｃとも接続された状態の場合、携帯端末１０ａとＢＬＥ端末２０ｃとの間でも、コネクションイベントが所定の時間間隔で発生する。図５に示す例では、携帯端末１０ａとＢＬＥ端末２０ｃとの間の接続におけるコネクションインターバルはＣＩｃである。携帯端末１０ａが複数のＢＬＥ端末２０と接続される場合、各接続のコネクションイベントが時間的に重ならないように、携帯端末１０ａは、最初のコネクションイベントのタイミングを決定する。
【０１６９】
図６は、携帯端末１０ａとＢＬＥ端末２０ａとの間の接続が確立された後の接続状態における通信の一例を示す図である。
【０１７０】
図６に示すように、携帯端末１０ａとＢＬＥ端末２０ａとが接続された状態では、２つの機器は各コネクションイベントにおいて通信を行い、コネクションイベント以外の期間は通信を行わない。各機器は、例えば、コネクションイベント以外の期間においては、（他の機器と通信を行わなければ）受信回路および送信回路を作動させず、コネクションイベントのタイミングにおいて受信回路および送信回路を作動させて通信を行う。
【０１７１】
具体的には、前回のコネクションイベントのタイミングからコネクションインターバル（ＣＩａ）が経過した場合は、携帯端末１０ａはＢＬＥ端末２０ａに対してパケットを送信し、ＢＬＥ端末２０ａは当該パケットに対する応答を携帯端末１０ａに送信する。ここで、各機器には時刻の計測誤差があるため、ＢＬＥ端末２０ａは、この誤差を考慮して、コネクションイベントのタイミングを含む所定期間で携帯端末１０ａからのパケットの受信を試みる。具体的には、ＢＬＥ端末２０ａは、前回のコネクションイベントのタイミング（実際にパケットを受信したタイミング）からＣＩａが経過する前のタイミングで受信回路を作動させ、携帯端末１０ａからのパケットを受信可能にする。また、ＢＬＥ端末２０ａは、前回のコネクションイベントのタイミングからＣＩａが経過した後のタイミングにおいても携帯端末１０ａからのパケットを受信可能な状態にしておく。すなわち、ＢＬＥ端末２０ａは、上記誤差を考慮して、前回のコネクションイベントのタイミングから理論上のＣＩａが経過した時点の前後の期間においてパケットを受信可能な状態にする。接続が確立される際に、携帯端末１０ａ（マスター）の時刻の精度情報が携帯端末１０ａからＢＬＥ端末２０ａに送信される。ＢＬＥ端末２０ａは、受信した携帯端末１０ａの精度情報と自機の時刻の精度情報とに基づいて、受信回路を作動させるタイミングを計算する。
【０１７２】
コネクションイベントにおいては、アプリケーションで用いられるデータ（アプリケーションデータ）の送受信が行われる。例えば、アプリケーションデータは、ゲームキャラクタやアイテムのデータ、それらのＩＤ、文字、記号、アプリケーションで再生されるコンテンツ（動画、静止画、音声）を示すデータ（コンテンツ自体やそのＩＤ）、各種センサからのデータ等であってもよい。アプリケーションデータは、１のパケットで送信されてもよいし、複数のパケットに分けて送信されてもよい。例えば、コンテンツのＩＤを受信した機器（携帯端末１０ａ又はＢＬＥ端末２０ａ）においては、その受信したＩＤをアプリケーションが解釈し、当該ＩＤに対応するコンテンツ（動画、静止画、音声等）を再生する。ＩＤに対応するコンテンツのデータは、ＩＤを受信した機器が有する記憶装置に記憶されてもよいし、機器の外部に記憶されてもよい。例えば、ＩＤを受信した機器（携帯端末１０ａ又はＢＬＥ端末２０ａ）が、携帯端末１０ａ及びＢＬＥ端末２０ａとは異なるサーバ機器に対してＩＤを送信し、当該ＩＤに対応するコンテンツのデータを当該サーバ機器からダウンロードしてもよい。そして、ダウンロードされたコンテンツのデータに基づいて、コンテンツが再生されてもよい。
【０１７３】
例えば、携帯端末１０ａは、ＢＬＥ端末２０ａからアプリケーションデータを取得する場合、コネクションイベントにおいてＢＬＥ端末２０ａに対してデータの取得要求をデータパケット（データＰＤＵ）に含めて送信する。ＢＬＥ端末２０ａは、この取得要求に応じたデータを応答パケットに含めて送信する。１のパケットにアプリケーションデータが収まらない場合は、ＢＬＥ端末２０ａは、アプリケーションデータを分割し、複数の応答パケットに、分割したアプリケーションデータのそれぞれを含めて送信する。この応答パケットには、分割したアプリケーションデータと、シーケンス番号が含まれる。携帯端末１０ａは、分割されたアプリケーションデータをシーケンス番号順に並べることで、アプリケーションデータを再構築する。このように、複数回のコネクションイベントが行われることで、１のパケットに収まらないサイズのアプリケーションデータが、ＢＬＥ端末２０ａから携帯端末１０ａに（または、携帯端末１０ａからＢＬＥ端末２０ａに）送信される。
【０１７４】
ここで、携帯端末１０ａとＢＬＥ端末２０ａとの間の接続には、スレーブレイテンシーが設定される。スレーブレイテンシーは、ＢＬＥ端末２０ａ（ペリフェラル）が無視（スキップ）することができるコネクションイベントの回数である。通常、各コネクションイベントにおいて携帯端末１０ａ（セントラル）はＢＬＥ端末２０ａに対してパケットを送信し、ＢＬＥ端末２０ａは当該パケットを受信したことに応じて応答パケットを返す。これにより、アプリケーションデータがやり取りされる。しかしながら、ＢＬＥ端末２０ａは、送信すべきデータが無い場合、応答を返さなくてもよい。
【０１７５】
図６に示す例では、スレーブレイテンシーＳＬａは「４」に設定されている。図６に示すように、時点ｔ０におけるコネクションイベントにおいて、携帯端末１０ａからＢＬＥ端末２０ａにパケットが送信され、当該パケットに応じてＢＬＥ端末２０ａから携帯端末１０ａに応答パケットが送信される。ＣＩａが経過した時点ｔ１におけるコネクションイベントでは、携帯端末１０ａはＢＬＥ端末２０ａにパケットを送信するものの、ＢＬＥ端末２０ａは、応答パケットを携帯端末１０ａに送信しなくてもよい。さらに次の時点ｔ２、ｔ３、ｔ４においても、ＢＬＥ端末２０ａは、応答パケットを携帯端末１０ａに送信しなくてもよい。一方、時点ｔ４からＣＩａが経過した時点ｔ５におけるコネクションイベントでは、ＢＬＥ端末２０ａは応答パケットを携帯端末１０ａに送信する。さらに、その後の時点ｔ６〜ｔ９におけるコネクションイベントでは、ＢＬＥ端末２０ａは応答パケットを携帯端末１０ａに送信しなくてもよいが、時点ｔ１０におけるコネクションイベントでは、ＢＬＥ端末２０ａは応答パケットを携帯端末１０ａに送信する。なお、ＢＬＥ端末２０ａは、時点ｔ１〜ｔ４、ｔ６〜ｔ９におけるコネクションイベントにおいて、応答パケットを携帯端末１０ａに送信してもよい。すなわち、スレーブレイテンシーは、スレーブとしてのＢＬＥ端末２０ａがコネクションイベントを連続的に無視することができる最大回数である。このように、携帯端末１０ａは、所定の許容期間（スレーブレイテンシーが示すコネクションイベントの回数）にＢＬＥ端末２０ａからのパケットを受信しない場合がある。なお、この許容期間は、上述のようにコネクションイベントの回数によって表されてもよく、時間によって表されてもよい。
【０１７６】
スレーブレイテンシーは、ＢＬＥ端末２０ａ（ペリフェラル）に対して与えられた、携帯端末１０ａ（セントラル）に対する応答を無視することができる権利と捉えることができる。ＢＬＥ端末２０ａは、自機の判断で、各コネクションイベントにおいて携帯端末１０ａに対して応答を送信するかどうかを決定することができる。例えば、ＢＬＥ端末２０ａは、他の処理や他の機器との通信を行う必要がある場合には、携帯端末１０ａへの応答を省略することができる。ＢＬＥ端末２０ａは、スレーブレイテンシーの範囲内で携帯端末１０ａに対して応答を返す。
【０１７７】
携帯端末１０ａとＢＬＥ端末２０ａとの間で所定期間通信が行われなかった場合、２つの機器の間の接続は解除（切断）される（２つの機器が接続状態から非接続状態に遷移する）。２つの機器の間の接続が解除されるか否かは、接続監視タイムアウトに基づいて判断される。具体的には、前回の通信からの経過時間が接続監視タイムアウトを超えた（又は達した）場合、携帯端末１０ａとＢＬＥ端末２０ａとの接続は解除される。ここで、接続監視タイムアウトは、スレーブレイテンシーＳＬよりも大きな値に設定される。このため、例えば図６において、携帯端末１０ａが５回目のコネクションイベント（ｔ５）においてＢＬＥ端末２０ａからの応答パケットを受信しなかった場合でも、携帯端末１０ａおよびＢＬＥ端末２０ａはすぐに非接続状態に遷移しない。これは、例えば、スレーブレイテンシーが「４」に設定されている場合に、ＢＬＥ端末２０ａが４回のコネクションイベント（ｔ１〜ｔ４におけるコネクションイベント）を無視して、５回目のコネクションイベント（ｔ５）において携帯端末１０ａに応答パケットを送信した場合でも、通信の状況により、その応答パケットを携帯端末１０ａが受信できないことも想定されるからである。仮に、５回目のコネクションイベントにおいてＢＬＥ端末２０ａが送信した応答パケットを携帯端末１０ａが受信できなかった場合に携帯端末１０ａとＢＬＥ端末２０ａとの接続が解除されると、頻繁に接続が解除されてしまう。このようなことを防止するために、接続監視タイムアウトは、スレーブレイテンシーＳＬよりも大きな値に設定され、通信が行われなかった期間が接続監視タイムアウトを超えた場合に、２つの機器は接続状態から非接続状態に遷移する（２つの機器の接続は解除される）。
【０１７８】
具体的には、携帯端末１０ａは、応答パケットを受信してからの経過時間を計測し、ＢＬＥ端末２０ａから応答パケットを受信しない期間が接続監視タイムアウトを超えた場合（又は接続監視タイムアウトに達した場合）、接続状態から非接続状態に遷移する。また、ＢＬＥ端末２０ａは、携帯端末１０ａからのデータパケットを受信しない期間が接続監視タイムアウトを超えた場合（又は接続監視タイムアウトに達した場合）、接続状態から非接続状態に遷移する（または、ＢＬＥ端末２０ａは、携帯端末１０に応答パケットを送信してからの経過時間を計測し、携帯端末１０ａに応答パケットを送信しない期間が接続監視タイムアウトを超えた場合、接続状態から非接続状態に遷移してもよい）。すなわち、携帯端末１０ａ及びＢＬＥ端末２０ａは、接続先からのパケットを受信しない期間が接続監視タイムアウトを超えた（又は達した）場合、接続状態から非接続状態に遷移する。
【０１７９】
なお、前回の通信からの経過時間を計測し、コネクションイベントにおいて接続先からの通信を確認できない期間が接続監視タイムアウトを超えた（又は達した）場合、携帯端末１０ａ又はＢＬＥ端末２０ａは接続状態から非接続状態に遷移せず、接続の中断があったと判断してもよい。例えば、接続の中断があったと判断した場合、携帯端末１０ａ及び／又はＢＬＥ端末２０ａは、接続の中断状態に遷移してもよい。例えば、ＢＬＥ端末２０ａは、接続の中断があったと判断した場合、携帯端末１０ａからのパケットの受信を試みるものの、携帯端末１０ａへのパケットの送信は行なわない状態に遷移してもよい。この場合において、このパケットの受信を試みるタイミングは、例えば、接続状態におけるコネクションインターバルよりも長い又は短い間隔であってもよし、ランダムであってもよい。あるいは、ＢＬＥ端末２０ａは、接続の中断があったと判断した場合、携帯端末１０ａからのパケットの受信を試みずに、携帯端末１０ａに対してパケットを定期的に又はランダムに送信する状態に遷移してもよい。また、携帯端末１０ａは、接続の中断があったと判断した場合、例えば、接続状態において設定されていたコネクションインターバルと異なる間隔（例えばコネクションインターバルより長い間隔）でＢＬＥ端末２０ａにパケットを送信してもよいし、ランダムに決定したタイミングでＢＬＥ端末２０ａにパケットを送信してもよい。あるいは、携帯端末１０ａは、接続の中断があったと判断した場合、ＢＬＥ端末２０ａにパケットを送信せず、ＢＬＥ端末２０ａからのパケットの受信を試みてもよい。そして、中断状態に遷移した２つの機器は、（接続監視タイムアウトを超えた又は達した場合であっても）相手からのパケットを受信したことに基づいて再び接続状態に戻ってもよい。
【０１８０】
接続監視タイムアウトは、「（ＳＬ＋１）×コネクションインターバル」の２倍以上に設定される。例えば、コネクションインターバルが５００ｍ秒、スレーブレイテンシーが４に設定される場合、接続監視タイムアウトとして、５００ｍ秒×（４＋１）×２＝５秒が設定されてもよい。なお、接続監視タイムアウトは、時間によって定められてもよいし、コネクションイベントの回数によって定められてもよい。例えば、コネクションインターバルが５００ｍ秒、スレーブレイテンシーが４に設定される場合、接続監視タイムアウトとして「（４＋１）×２＝１０」が設定されてもよく、この場合は時間に換算すると「５秒」となる。この場合、例えば、図６において、５回目のコネクションイベント（ｔ５）において、携帯端末１０ａがＢＬＥ端末２０ａから応答パケットを受信しなかった場合でも、ｔ６〜ｔ１０におけるコネクションイベントは実行される（この期間、２つの機器の接続は維持される）。時点ｔ１０におけるコネクションイベントにおいて、携帯端末１０ａがＢＬＥ端末２０ａから応答パケットを受信した場合は、２つの機器の接続は維持される。一方、５回目のコネクションイベント（ｔ５）において携帯端末１０ａがＢＬＥ端末２０ａから応答パケットを受信しなかった場合において、時点ｔ１０におけるコネクションイベントにおいても携帯端末１０ａがＢＬＥ端末２０ａから応答パケットを受信しなかった場合（すなわち、ｔ１以降の全てのコネクションイベントにおいて携帯端末１０ａが応答パケットを受信しなかった場合）は、２つの機器の接続は解除される。なお、接続監視タイムアウトは、例えば１００ｍ秒〜３２秒の範囲で定められてもよい。
【０１８１】
なお、スレーブレイテンシーＳＬの定義範囲は例えば０〜４９９である。しかしながら、ＢＬＥ規格は時刻同期型の通信であるため、２つの機器のクロックの累積誤差がある値を超える前に２つの機器は同期される必要がある。クロックの累積誤差を考慮した必要な通信間隔を実効接続インターバルという。実行接続インターバルは、「（ＳＬ＋１）×コネクションインターバル」で表され、上記接続監視タイムアウトの半分以下に設定されなければならない。このため、スレーブレイテンシーの最大値は、接続監視タイムアウトの制限を受ける。
【０１８２】
なお、スレーブレイテンシーに基づいて、携帯端末１０ａとＢＬＥ端末２０ａとの接続を解除するか否かが判断されてもよい。例えば、携帯端末１０ａは、ＢＬＥ端末２０ａからの応答パケットが無かった期間がスレーブレイテンシーを超えた場合（または当該期間がスレーブレイテンシーに達した場合）、ＢＬＥ端末２０ａとの接続を解除してもよい。
【０１８３】
このように、ＢＬＥ端末２０は、携帯端末１０に対して送信すべきデータが無い場合、スレーブレイテンシーの範囲内で携帯端末１０に対して応答パケットを送信しなくてもよい。また、仮に携帯端末１０がＢＬＥ端末２０から応答パケットを受信しなかった期間がスレーブレイテンシーを超えた場合でも、当該応答パケットを受信しなかった期間が接続監視タイムアウトを超えていない場合は、携帯端末１０はＢＬＥ端末２０との接続を解除することは無い。しかしながら、仮に携帯端末１０がＢＬＥ端末２０から応答パケットを受信しなかった期間が接続監視タイムアウトを超えていない場合でも、当該期間がスレーブレイテンシーを超えた場合は、２つの機器間のクロック誤差が累積され、２つの機器間で同期が取れなくなる可能性がある。２つの機器間で同期が取れなくなると、携帯端末１０とＢＬＥ端末２０とは互いに通信をすることができず、接続は解除されてしまう。したがって、ＢＬＥ端末２０（スレーブ）は、連続してコネクションイベントを無視する回数（マスターに応答パケットを返さない回数）がスレーブレイテンシーＳＬを超えないように携帯端末１０に対して応答パケットを送信する。これにより、携帯端末１０とＢＬＥ端末２０とは前回の通信から遅くともＳＬ＋１回目のコネクションイベントにおいて同期を取ることができ、携帯端末１０とＢＬＥ端末２０との間の接続が解除されるリスクを回避することができる。
【０１８４】
なお、コネクションイベントにおいては、コネクションインターバルの変更が行われたり、スレーブレイテンシーの変更が行われたり、接続監視タイムアウトの変更が行われたりする。コネクションインターバルの変更は、携帯端末１０ａ（セントラル）によって行われる。スレーブレイテンシーの変更は、ＢＬＥ端末２０ａ（ペリフェラル）からの要求（当該要求は応答パケットに含められる）によって行われる。ＢＬＥ端末２０ａが携帯端末１０ａに対してコネクションインターバルの変更要求を送信してもよく、携帯端末１０ａがスレーブレイテンシーを変更してもよい。また、携帯端末１０ａ及びＢＬＥ端末２０ａの双方がコネクションインターバル、スレーブレイテンシーおよび接続監視タイムアウトの変更のための要求を行うことが可能であってもよい。この場合は、コネクションインターバルの変更については、携帯端末１０ａ（セントラル）の要求が優先され、スレーブレイテンシーの変更については、ＢＬＥ端末２０ａ（ペリフェラル）の要求が優先されてもよい。一方で、コネクションインターバル、スレーブレイテンシーおよび接続監視タイムアウトのいずれの変更についても、マスターである機器（携帯端末１０ａ）の要求がスレーブの機器（ＢＬＥ端末２０ａ）よりも優先されるようにしてもよい。
【０１８５】
図４〜図６を参照して説明したように、ＢＬＥ端末２０は、接続のためのアドバタイジングパケットを繰り返しブロードキャストするアドバタイジングを行う。一例として、ＢＬＥ端末２０は、アドバタイジングを行ったすぐ後に（携帯端末１０からのコネクション要求等を受信するために）受信状態にしばらく留まる。携帯端末１０は当該アドバタイジングパケットを受信すると、コネクション要求をＢＬＥ端末２０に送信する。コネクション要求には、接続のための各種パラメータ（コネクションインターバルやスレーブレイテンシー等）が含まれる。携帯端末１０がコネクション要求を送信すると、携帯端末１０とＢＬＥ端末２０との接続が確立され、２つの機器は接続状態になる。
【０１８６】
接続状態になると、コネクションイベントのタイミングにおいて、携帯端末１０は送信回路を作動させて、ＢＬＥ端末２０に対してデータパケットを送信する。すなわち、携帯端末１０ａは、コネクションイベントのタイミングが到来すると、ＢＬＥ端末２０ａに対してデータパケットを送信する。具体的には、携帯端末１０ａは、データパケットに接続確立時に決定されたアクセスアドレスを含めて送信する。ＢＬＥ端末２０は、携帯端末１０と同期して、携帯端末１０からのパケットを受信するために受信回路を作動させる。ＢＬＥ端末２０は、携帯端末１０からのパケットを受信したことに応じて当該パケットに対する応答を携帯端末１０に送信する。この応答パケットにも上記アクセスアドレスが含まれる。ここで、ＢＬＥ端末２０は、携帯端末１０からのパケットをスレーブレイテンシーによって定められる回数だけ無視することができる。ＢＬＥ端末２０は、あるコネクションイベントにおける携帯端末１０からのパケットを無視する場合は、そのコネクションイベントのタイミングにおいて受信回路を作動させなくてもよい。また、携帯端末１０は、ＢＬＥ端末２０からの応答が無かった期間が、接続監視タイムアウトを超えない場合は、ＢＬＥ端末２０との接続を維持する。一方、携帯端末１０は、ＢＬＥ端末２０からの応答が無かった期間が、接続監視タイムアウトを超えた（又は達した）場合は、ＢＬＥ端末２０との接続を解除して非接続状態になる。非接続状態になると、２つの機器の間ではコネクションイベントは発生しない。ＢＬＥ端末２０が、再び、アドバタイジングを行って、携帯端末１０がコネクション要求を送信すると、再び接続状態に移行する。
【０１８７】
このように、２つの機器との間で接続が確立される際は、コネクション要求が行われて（接続のためのパラメータがやり取りされて）、２つの機器は接続状態になる。２つの機器が接続状態である場合には、２つの機器の間で所定の時間間隔で通信が行われる。２つの機器が接続状態であるときは、接続の確立の際にやり取りされた情報に基づいて、２つの機器は通信を行う。接続状態は、接続が解除されるまで（例えば、ＢＬＥ端末２０からの応答が無かった期間が接続監視タイムアウトを超えるまで）維持される。携帯端末１０においてユーザやアプリケーションからの接続を解除する旨の指示が行われた場合に、２つの機器の間の接続が解除されてもよい。一方、「非接続状態」では、上記コネクションイベントは発生しない。なお、非接続状態であっても、アドバタイジングパケットを用いたブロードキャストを行うことにより、２つの機器の間で通信が行われる場合がある。
【０１８８】
（本実施形態のＢＬＥネットワーク）
次に本実施形態におけるＢＬＥネットワークの接続形態について説明する。図７は、本実施形態におけるＢＬＥネットワークの接続形態の一例を示す図である。
【０１８９】
図７に示すように、本実施形態の無線機器システム１は、ＢＬＥ規格に基づく無線通信が可能な複数の機器を含み、携帯端末１０ａと、携帯端末１０ｂと、ＢＬＥ端末２０ａと、ＢＬＥ端末２０ｂとを含む。図７では、携帯端末１０ａをセントラルとし、ＢＬＥ端末２０ａをペリフェラルとして、携帯端末１０ａとＢＬＥ端末２０ａとが、接続された状態である（接続Ａ）。また、携帯端末１０ｂをセントラルとし、ＢＬＥ端末２０ｂをペリフェラルとして、携帯端末１０ｂとＢＬＥ端末２０ｂとが、接続された状態である（接続Ｂ）。
【０１９０】
本実施形態では、図７に示すような状態において、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが通信可能な範囲に存在する場合、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが通信することができる。具体的には、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとは、２つの機器間で接続を確立し、接続状態において互いに通信することができる。また、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとは、非接続状態においても通信することができる。例えば、ＢＬＥ端末２０ａは、マスターである携帯端末１０ａからの指示無しでＢＬＥ端末２０ｂと通信することができる。また、携帯端末１０ａのアプリケーションレイヤからの要求や携帯端末１０ａに対するユーザ操作によって、携帯端末１０ａからＢＬＥ端末２０ａに対して指示が行われ、当該指示に応じて、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信が行われてもよい。
【０１９１】
まず、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続されない状態において通信する場合について説明する。
【０１９２】
図８は、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続されていない状態で通信する場合の一例を示す図である。
【０１９３】
図８に示すように、携帯端末１０ａとＢＬＥ端末２０ａとは接続された状態であり、コネクションインターバルＣＩａ毎にコネクションイベントが発生する。携帯端末１０ａとＢＬＥ端末２０ａとの接続ＡにおけるコネクションインターバルＣＩａは、例えば、５００ｍ秒であってもよい。また、携帯端末１０ａとＢＬＥ端末２０ａとの接続ＡにはスレーブレイテンシーＳＬａが設定されており、例えば、ＳＬａ＝「４」であるとする。
【０１９４】
また、携帯端末１０ｂとＢＬＥ端末２０ｂとは接続された状態であり、コネクションインターバルＣＩｂ毎にコネクションイベントが発生する。携帯端末１０ｂとＢＬＥ端末２０ｂとの接続ＢにおけるコネクションインターバルＣＩｂは、例えば、５００ｍ秒であってもよい。また、携帯端末１０ｂとＢＬＥ端末２０ｂとの接続ＢにはスレーブレイテンシーＳＬｂが設定されており、例えば、ＳＬｂ＝「５」であるとする。
【０１９５】
このような状態において、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとは、アドバタイジングとスキャンを繰り返し実行する。ここでは、一例として、アドバタイジングのタイプは、上記「ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ」である。すなわち、接続不可であることを示すアドバタイジングパケットが、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間で送信される。これにより、ＢＬＥ端末２０ａからＢＬＥ端末２０ｂ、及び、ＢＬＥ端末２０ｂからＢＬＥ端末２０ａに対してデータが送信される。
【０１９６】
具体的には、ＢＬＥ端末２０ａは、携帯端末１０ａとの接続Ａが解除されるリスクを回避するために、スレーブレイテンシーＳＬａ内で携帯端末１０ａと通信を行う一方で、携帯端末１０ａとの通信を行わない間は、スキャンとアドバタイジングを繰り返し実行してＢＬＥ端末２０ｂとの通信を試みる。例えば、ＢＬＥ端末２０ａは、携帯端末１０ａとの間の接続Ａにおけるコネクションイベントにおいて携帯端末１０ａに対して応答を返した後、次の４回のコネクションイベントにおいては携帯端末１０ａに対して応答を返さない。この４回のコネクションイベントが行われる期間において、ＢＬＥ端末２０ａは、スキャンとアドバタイジングを繰り返し実行してＢＬＥ端末２０ｂとの通信を試みる。すなわち、ＢＬＥ端末２０ａは、スレーブレイテンシーＳＬａを上限として複数のコネクションイベントを無視し、その無視したコネクションイベントの間に、ＢＬＥ端末２０ｂと通信するためにスキャンとアドバタイジングを繰り返し実行する。図８に示すように、スキャンとアドバタイジングの間には、休止期間が設けられる。なお、間に休止期間を挟んでスキャンとアドバタイジングとが交互に行われてもよいし（図８）、間に休止期間を挟まずにスキャンとアドバタイジングとが交互に行われてもよい（図示せず）。また、スキャンとアドバタイジングとは必ずしも交互に行われなくてもよい。
【０１９７】
同様に、ＢＬＥ端末２０ｂは、携帯端末１０ｂとの接続Ｂが解除されるリスクを回避するために、携帯端末１０ｂと通信を行う一方で、携帯端末１０ｂとの通信を行わない間は、スキャンとアドバタイジングを繰り返し実行する。例えば、ＢＬＥ端末２０ｂは、携帯端末１０ｂとの間の接続Ｂにおけるコネクションイベントにおいて携帯端末１０ｂに対して応答を返した後、次の５回のコネクションイベントにおいては携帯端末１０ｂに対して応答を返さずに、スキャンとアドバタイジングを繰り返し実行する。
【０１９８】
ＢＬＥ端末２０ａと２０ｂのスキャンとアドバタイジングのタイミングが一致した場合は、ＢＬＥ端末間で通信が行われる。例えば、ＢＬＥ端末２０ａがスキャンを実行している間に、ＢＬＥ端末２０ｂがアドバタイジングを実行すると、ＢＬＥ端末２０ｂからＢＬＥ端末２０ａにデータが送信される。逆に、ＢＬＥ端末２０ｂがスキャンを実行している間に、ＢＬＥ端末２０ａがアドバタイジングを実行すると、ＢＬＥ端末２０ａからＢＬＥ端末２０ｂにデータが送信される。このようにして、ＢＬＥ端末２０同士は、他の機器（携帯端末１０）のスレーブとして当該他の機器と接続されている状態においても、互いに通信を行うことができる。
【０１９９】
なお、以下では、携帯端末１０を「親」と呼び、ＢＬＥ端末２０を「子」と呼ぶことがある。「親」はセントラル（マスター）と同じ意味であり、「子」はペリフェラル（スレーブ）と同じ意味である。また、携帯端末１０とＢＬＥ端末２０との間の接続を「親子間接続」と呼び、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を「子同士通信」と呼ぶことがある。
【０２００】
ここで、各ＢＬＥ端末２０のスキャンとアドバタイジングのタイミングが一致しなければ、ＢＬＥ端末２０同士は通信することができない。例えば、ＢＬＥ端末２０ａがスキャンを実行している間にＢＬＥ端末２０ｂがアドバタイジングを行わなければ、ＢＬＥ端末２０ａはＢＬＥ端末２０ｂからのデータを受信することはできない。
【０２０１】
ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが一定の時間間隔でスキャンとアドバタイジングとを繰り返し実行し、かつ、スキャンとアドバタイジングの長さが固定の場合、ＢＬＥ端末２０ａのスキャン（又はアドバタイジング）のタイミングとＢＬＥ端末２０ｂのアドバタイジング（又はスキャン）のタイミングとが一致することなく、２つの機器間で通信を行うことができないままとなる場合もありうる。そこで、本実施形態では、ＢＬＥ端末２０ａのスキャン（又はアドバタイジング）のタイミングとＢＬＥ端末２０ｂのアドバタイジング（又はスキャン）のタイミングとを一致させるために、各ＢＬＥ端末２０において実行されるスキャンとアドバタイジングの実行期間（実行時間の長さ）をランダムに変化させる。
【０２０２】
図９は、ＢＬＥ端末２０において実行されるスキャンとアドバタイジングの実行期間が変化する様子を示す図である。
【０２０３】
図９では、説明のためにＢＬＥ端末２０ａにおいて実行されるスキャンとアドバタイジングの実行期間を固定し、ＢＬＥ端末２０ｂにおいて実行されるスキャンとアドバタイジングの実行期間を可変にした場合の例が示されている。
【０２０４】
図９に示すように、ＢＬＥ端末２０ａにおいては、スキャンとアドバタイジングが繰り返し実行され、スキャンの実行期間ＳＴ０と、アドバタイジングの実行期間ＡＴ０は固定である。また、スキャンもアドバタイジングも行われない休止期間も固定である。これに対して、ＢＬＥ端末２０ｂでは、スキャンの実行期間、およびアドバタイジングの実行期間はランダムである。例えば、１回目のスキャンの実行期間はＳＴ０であり、２回目のスキャンの実行期間はＳＴ１（＞ＳＴ０）、３回目のスキャンの実行期間はＳＴ２となる。また、１回目のアドバタイジングの実行期間はＡＴ１であり、２回目のアドバタイジングの実行期間はＡＴ２（＞ＡＴ１）である。また、図９に示す例では、ＢＬＥ端末２０ｂにおいて休止期間もランダムである。このように、スキャンの実行期間、アドバタイジングの実行期間、及び、休止期間が変化することにより、ＢＬＥ端末２０ａのスキャン（又はアドバタイジング）の実行期間と、ＢＬＥ端末２０ｂのアドバタイジング（又はスキャン）の実行期間とが重なるようになり、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間で通信が行われる。
【０２０５】
なお、図９では、スキャンの実行期間、アドバタイジングの実行期間、および休止期間をランダムに変化させる例について説明したが、スキャンの実行期間、アドバタイジングの実行期間、および休止期間のうちの少なくとも何れか１つがランダムに変化してもよい。なお、これらの期間は、完全にランダムな乱数によって決定されてもよいし、いわゆる疑似乱数（ある程度の規則性を排除できない乱数）により決定されてもよく、これらの乱数はハードウェア又はソフトウェアによって生成されてもよい。また、スキャンの実行期間、及び、アドバタイジングの実行期間を固定して、スキャンの実行タイミング及び／又はアドバタイジングの実行タイミングを可変にしてもよい。すなわち、スキャンの実行期間（実行時間の長さ）、アドバタイジングの実行期間、休止期間、スキャンの実行タイミング、アドバタイジングの実行タイミングのうちの少なくとも何れかを可変にしてもよい。また、スキャンの実行期間、アドバタイジングの実行期間、および休止期間を一定のパターンで変化させてもよい。また、受信処理又は送信処理の一部として休止期間を設けてもよい。
【０２０６】
また、ＢＬＥ端末間でスキャン及び／又はアドバタイジングに関する情報をやり取りすることで、スキャン及び／又はアドバタイジングの実行期間や実行タイミングが調整されてもよい。図１０は、スキャン及び／又はアドバタイジングの実行タイミングを示す情報をＢＬＥ端末２０が送信することにより、スキャン及び／又はアドバタイジングの実行タイミングを調整する方法について説明するための図である。
【０２０７】
図１０に示すように、例えば、ＢＬＥ端末２０ａからのアドバタイジングパケットには、次に自機がアドバタイジング及び／又はスキャンを実行するタイミングを示すタイミング情報が含まれる。このＢＬＥ端末２０ａからのアドバタイジングパケットを受信したＢＬＥ端末２０ｂは、当該アドバタイジングパケットに含まれるタイミング情報に基づいて、次に実行するアドバタイジング及び／又はスキャンの実行タイミングを調整する。図１０に示す例では、ＢＬＥ端末２０ａからのアドバタイジングパケットを受信しない場合、ＢＬＥ端末２０ｂは、１回目のスキャンの後にタイミングＴ１でアドバタイジングを行うものとする。この場合において、ＢＬＥ端末２０ａからのアドバタイジングパケットを受信したことに応じて、ＢＬＥ端末２０ｂは、タイミングＴ２で次のアドバタイジングを行う。具体的には、タイミングＴ０におけるＢＬＥ端末２０ａからのアドバタイジングパケットには、次にＢＬＥ端末２０ａがスキャンを実行するタイミングを示す情報として「Ｔ２」が含まれる。また、ＢＬＥ端末２０ａは、タイミングＴ０におけるアドバタイジングパケットに、次に自機がアドバタイジングを実行するタイミングを示す情報として「Ｔ３」を含めて送信してもよい。ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａが次に実行するスキャンのタイミングＴ２に合わせて、アドバタイジングを行う。また、ＢＬＥ端末２０ａからの情報に応じて、ＢＬＥ端末２０ｂは、タイミングＴ３に合わせてスキャンを行ってもよい。これにより、ＢＬＥ端末２０ａのスキャンの実行タイミングとＢＬＥ端末２０ｂのアドバタイジングの実行タイミングとを一致させることができ、ＢＬＥ端末２０ｂからＢＬＥ端末２０ａにデータを送信することができる。ＢＬＥ端末２０ｂから送信されるアドバタイジングパケットにも、次のアドバタイジング及び／又はスキャンの実行タイミングを示すタイミング情報が含まれる。なお、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａからのアドバタイジングパケットを受信したことに応じて、ＢＬＥ端末２０ｂに対してスキャン要求を送信し、当該スキャン要求に応じてＢＬＥ端末２０ｂがスキャン応答を送信する。このスキャン応答に上記タイミング情報が含まれてもよい。
【０２０８】
このようにして、ＢＬＥ端末２０は、次以降にアドバタイジング及び／又はスキャンを実行するタイミングを示す情報を、アドバタイジングパケットに含めて送信する。これにより、ＢＬＥ端末２０同士は、一方の機器がアドバタイジングを実行している間に他方の機器がスキャンを実行するようにアドバタイジング及び／又はスキャンの実行タイミングを調整することができる。なお、ＢＬＥ端末２０は、アドバタイジング及び／又はスキャンの実行期間（実行時間の長さ）を示す情報も含めて、アドバタイジングパケットを送信してもよい。ＢＬＥ端末２０は、他の機器から受信したアドバタイジングパケットに基づいて、次以降にアドバタイジング及び／又はスキャンを実行するタイミングと、その実行期間（実行時間の長さ）とを調整することができる。
【０２０９】
以上のように、ＢＬＥ端末２０間でアドバタイジング及び／又はスキャンの実行タイミングの調整が行われることで、ＢＬＥ端末間の通信を効率よく行うことができる。各ＢＬＥ端末２０においてアドバタイジング及びスキャンの実行タイミングや実行時間がランダムに決定される場合は、一方のアドバタイジングの実行期間と他方のスキャンの実行期間とが偶然に重ならなければ２つの機器は互いに通信をすることができない。しかしながら、図１０に示した例では、一方のアドバタイジングの実行期間と他方のスキャンの実行期間とが重なるように、各ＢＬＥ端末２０がアドバタイジング及びスキャンのタイミングを調整するため、効率よく２つの機器間で通信を行うことができる。
【０２１０】
次に、ＢＬＥ端末２０同士の通信を行うための、携帯端末１０とＢＬＥ端末２０との間の接続（親子間接続）の調整について説明する。
【０２１１】
図１１は、携帯端末１０（セントラル）とＢＬＥ端末２０（ペリフェラル）との間の接続の調整が行われる様子を示す図である。
【０２１２】
携帯端末１０ａとＢＬＥ端末２０ａとは接続された状態であり、携帯端末１０ｂとＢＬＥ端末２０ｂとは接続された状態である。携帯端末１０ａとＢＬＥ端末２０ａとの間の接続ＡのコネクションインターバルＣＩａは、例えば５００ｍ秒であり、スレーブレイテンシーＳＬａは例えば「４」である。携帯端末１０ｂとＢＬＥ端末２０ｂとの間の接続ＢのコネクションインターバルＣＩｂは、例えば５００ｍ秒であり、スレーブレイテンシーＳＬｂは例えば「５」である。
【０２１３】
図１１に示すように、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとはアドバタイジングとスキャンとを繰り返し実行することで、互いに通信を行う。ここで、ＢＬＥ端末２０ａがタイミングＴａ１における接続Ａのコネクションイベントにおいて携帯端末１０ａに対して応答を返さなければ、コネクションイベントを無視した回数が、携帯端末１０ａとの接続ＡにおけるスレーブレイテンシーＳＬａを超えてしまう。このため、ＢＬＥ端末２０ａは、タイミングＴａ１において携帯端末１０ａと通信を行う。ＢＬＥ端末２０ａは携帯端末１０ａと通信を行っている間は、アドバタイジングもスキャンも行わない。また、ＢＬＥ端末２０ｂも、コネクションイベントを無視した回数が携帯端末１０ｂとの間の接続ＢにおけるスレーブレイテンシーＳＬｂを越えないように、タイミングＴｂ１においては携帯端末１０ｂと通信を行う一方で、アドバタイジングもスキャンも行わない。
【０２１４】
このように、ＢＬＥ端末２０（ペリフェラル）は、携帯端末１０（セントラル）との通信を優先して行う。これにより、ＢＬＥ端末２０は、少なくともスレーブレイテンシーの範囲内で携帯端末１０と通信を行うことができる。しかしながら、ＢＬＥ端末２０間の通信の効率は悪くなる。そこで本実施形態では、スレーブレイテンシーの範囲内で携帯端末１０とＢＬＥ端末２０との通信を行いつつ、ＢＬＥ端末２０間の通信の効率を上げるために、携帯端末１０とＢＬＥ端末２０との間の通信のタイミングが調整される。具体的には、携帯端末１０ａとＢＬＥ端末２０ａとの間の通信のタイミングＴａ（ＢＬＥ端末２０ａが携帯端末１０ａに応答パケットを返すタイミング）と、携帯端末１０ｂとＢＬＥ端末２０ｂとの間の通信のタイミングＴｂ（ＢＬＥ端末２０ｂが携帯端末１０ｂに応答パケットを返すタイミング）とが近くなるように、これらの通信のタイミングが調整される。
【０２１５】
例えば、ＢＬＥ端末２０ａは、コネクションインターバルＣＩａと、コネクションイベントを無視した回数と、スレーブレイテンシーＳＬａとに基づいて、次に携帯端末１０ａに応答パケットを送信するタイミングＴａ２を計算することができる。ＢＬＥ端末２０ａは、次に携帯端末１０ａと通信を行うタイミングＴａ２を示す情報を、アドバタイジングパケットに含めて送信する。当該アドバタイジングパケットをＢＬＥ端末２０ｂが受信すると、ＢＬＥ端末２０ｂは、タイミングＴａ２と近いタイミングＴｂ２において、携帯端末１０ｂと通信を行う（携帯端末１０ｂに応答パケットを送信する）。ここで、ＢＬＥ端末２０ｂは、タイミングＴｂ２において携帯端末１０ｂと通信を行わなかったとしても、コネクションイベントを無視する回数がスレーブレイテンシーＳＬｂの範囲内であるため、タイミングＴｂ２において携帯端末１０ｂと通信を行わなくてもよい。しかしながら、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａから受信したタイミングＴａ２を示す情報に基づいて、タイミングＴｂ２においてＢＬＥ端末２０ａとの通信のためのスキャン及びアドバタイジングを行わず、携帯端末１０ｂと通信を行う。
【０２１６】
このように、携帯端末１０とＢＬＥ端末２０との間の通信のタイミングが調整される。
【０２１７】
図１２は、図１１の後の状態を示す図であり、携帯端末１０（セントラル）とＢＬＥ端末２０（ペリフェラル）との間の接続の調整が行われた後の各機器間の通信の一例を示す図である。図１１で示したような調整が行われた後は、図１２に示すように、携帯端末１０ａとＢＬＥ端末２０ａとの間の通信のタイミング（Ｔａ３〜Ｔａ５）と、携帯端末１０ｂとＢＬＥ端末２０ｂとの間の通信のタイミング（Ｔｂ３〜Ｔｂ５）とが近くなる。図１２に示す例では、ＢＬＥ端末２ｂは、スレーブレイテンシーＳＬｂが到来する前に、携帯端末１０ｂと通信を行う。これにより、ＢＬＥ端末２０は、携帯端末１０に対してスレーブレイテンシーの範囲内で応答パケットを返すことによって携帯端末１０との接続が解除されるリスクを回避しつつ、ＢＬＥ端末２０同士で効率よく通信を行うことができる。
【０２１８】
次に、ＢＬＥ端末２０同士が接続を確立して、接続状態で通信を行う場合について説明する。図１３は、携帯端末１０とＢＬＥ端末２０とが接続された状態において、ＢＬＥ端末２０同士が接続を確立する様子の一例を示す図である。
【０２１９】
図１３に示すように、図１１と同様、携帯端末１０ａとＢＬＥ端末２０ａとは接続された状態であり、携帯端末１０ｂとＢＬＥ端末２０ｂとは接続された状態である。この状態において、ＢＬＥ端末２０ａ及びＢＬＥ端末２０ｂは、図８に示すようなスキャンとアドバタイジングとを繰り返し実行する。上述のように、繰り返し行われるスキャン及びアドバタイジングの実行期間はランダムに変化する（図９参照）。図１３に示すように、例えば、ＢＬＥ端末２０ａがスキャンを実行している間に、ＢＬＥ端末２０ｂは、接続可能であることを示すアドバタイジングパケット（「ＡＤＶ＿ＩＮＤ」）を不特定の機器にブロードキャストする。ＢＬＥ端末２０ａは、当該アドバタイジングパケットを受信する。すると、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂに対してコネクション要求を送信する。そして、ＢＬＥ端末２０ａをセントラル（マスター）とし、ＢＬＥ端末２０ｂをペリフェラル（スレーブ）としてＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃ（子同士の接続）が確立される。子同士の接続においては、ＢＬＥ端末２０ａ及びＢＬＥ端末２０ｂの両方がセントラルになりうるが、スキャナ（イニシエータ）がセントラルになるため、図１３の例では、ＢＬＥ端末２０ａが、ＢＬＥ端末２０ｂとの接続Ｃにおいてはセントラルとなる。
【０２２０】
ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃが確立される際には、上述と同様に、コネクションインターバルＣＩｃやスレーブレイテンシーＳＬｃが決定される。例えば、スレーブレイテンシーＳＬｃとして、「４」が決定される。ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続ＣにおけるコネクションインターバルＣＩｃは、親子間接続のコネクションインターバルＣＩａ（又はＣＩｂ）に応じて決定されてもよい。
【０２２１】
例えば、ＢＬＥ端末２０ａは、携帯端末１０ａとＢＬＥ端末２０ａとの間の接続ＡにおけるコネクションインターバルＣＩａよりも小さな値（例えば、２５０ｍ秒）を、ＣＩｃとして設定してもよい。ＣＩｃがＣＩａよりも短くなるように設定されることにより、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を頻繁に行うことができ、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間でより多くの情報をやり取りすることができる。逆に、ＢＬＥ端末２０ａは、ＣＩａよりも大きな値（例えば、１秒）をＣＩｃとして設定してもよい。この場合は、携帯端末１０ａとＢＬＥ端末２０ａとの間の通信をより優先して行うことができる。
【０２２２】
また、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続ＣにおけるスレーブレイテンシーＳＬｃは、親子間接続におけるＳＬａ（又はＳＬｂ）に応じて決定されてもよい。例えば、ＢＬＥ端末２０ａは、ＳＬａよりも大きな値をＳＬｃとして決定してもよい。逆に、ＢＬＥ端末２０ａは、ＳＬａよりも小さな値をＳＬｃとして決定してもよい。また、ＢＬＥ端末２０ａは、接続ＡにおけるＣＩａ及びＳＬａに基づいて、ＣＩｃ及び／又はＳＬｃを設定してもよい。また、ＢＬＥ端末２０ａは、携帯端末１０ａとの接続における通信の状況（上記ＣＩａ、ＳＬａ、携帯端末１０ａとの間の接続Ａにおける通信量、携帯端末１０ａとの間の接続Ａにおける電波の状態等）に応じて、ＣＩｃ及び／又はＳＬｃを決定してもよい。
【０２２３】
図１４は、図１３の後の状態を示す図であり、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続された状態における通信の一例を示す図である。
【０２２４】
図１４に示すように、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続された状態では、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの接続Ｃにおけるコネクションイベントが繰り返し発生し、２つの機器間でデータの送受信が行われる。ここで、携帯端末１０ａとＢＬＥ端末２０ａとの間の通信が行われる間は、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂとの間の通信を制限する。すなわち、ＢＬＥ端末２０ａは、携帯端末１０ａとの接続Ａにおけるコネクションイベントが発生するタイミングにおいては、携帯端末１０ａとの通信を優先的に行い、ＢＬＥ端末２０ｂとの通信を行わない。同様に、携帯端末１０ｂとＢＬＥ端末２０ｂとの間の通信が行われる間は、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａとの間の通信を制限する。すなわち、ＢＬＥ端末２０は、親子間の通信を子同士の通信よりも優先して行う。ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信が制限される期間は、スレーブレイテンシーＳＬｃの範囲内の期間である。このように、スレーブレイテンシーＳＬｃの範囲内でＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限することで、携帯端末１０ａとＢＬＥ端末２０ａとの間の接続Ａ、及び、携帯端末１０ｂとＢＬＥ端末２０ｂとの間の接続Ｂが解除されるリスクを回避しつつ、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃが解除されるリスクを回避することができる。
【０２２５】
図１５は、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限する方法の具体例を示す図である。
【０２２６】
図１５に示すように、ＢＬＥ端末２０ａは、携帯端末１０ａと通信を行うタイミングＴａよりも前のタイミングＴｃ１におけるコネクションイベントにおいて、コネクションインターバルを、現在のＣＩｃよりも長いＣＩｃ２に変更する。ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃにおいては、ＢＬＥ端末２０ａがセントラルであるため、ＢＬＥ端末２０ａは、自由にコネクションインターバルＣＩｃを変更することができる。コネクションインターバルがＣＩｃからＣＩｃ２に変更されると、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃにおける次のコネクションイベントは、携帯端末１０ａとの通信（タイミングＴａにおける通信）が行われた後に発生することになる。このため、携帯端末１０ａとＢＬＥ端末２０ａとの間の通信が行われる間は、ＢＬＥ端末２０ａはＢＬＥ端末２０ｂと通信を行わないようにすることができる。このように、ＢＬＥ端末２０ａは、親である携帯端末１０ａとの間の接続Ａにおけるコネクションイベントのタイミングが、ＢＬＥ端末２０ｂとの間の接続Ｃにおけるコネクションイベントのタイミングと被らないように（例えば、携帯端末１０ａとの間の接続Ａにおけるコネクションイベントを優先させるために）、現在のコネクションインターバルを任意に変更することができる。
【０２２７】
また、携帯端末１０ｂとＢＬＥ端末２０ｂとの間の通信が行われる場合には、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａとの通信を行わず、携帯端末１０ｂと通信を優先して行う。図１５に示す例では、ＢＬＥ端末２０ｂは、携帯端末１０ｂと通信を行うために、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃにおけるコネクションイベントを１回だけスキップしている。ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続ＣにおけるスレーブレイテンシーＳＬｃは「４」であるため、ＢＬＥ端末２０ｂは、１回のコネクションイベントをスキップすることができる。ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃにおける次のコネクションイベント（タイミングＴｃ２）では、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂに対して、コネクションインターバルをＣＩｃ２からＣＩｃに戻す旨を通知する。
【０２２８】
なお、ＢＬＥ端末２０ｂは、接続ＣにおけるスレーブレイテンシーＳＬｃを変更することができる。例えば、ＢＬＥ端末２０ｂは、現在のスレーブレイテンシーＳＬｃよりも長い期間ＢＬＥ端末２０ａとの通信を行わないようにする必要があると判断した場合には、接続Ｃにおけるコネクションイベントにおいて、スレーブレイテンシーＳＬｃの変更の要求をＢＬＥ端末２０ａに送信する。例えば、ＢＬＥ端末２０ｂが携帯端末１０ｂに対して大量のデータを送信する必要がある場合には、ＢＬＥ端末２０ｂは、ＳＬｃを現在よりも長くするようにスレーブレイテンシーの変更要求をＢＬＥ端末２０ａに送信する。また、ＢＬＥ端末２０ｂは、ＣＩｃを現在よりも長くするように、コネクションインターバルの変更要求をＢＬＥ端末２０ａに送信してもよい。
【０２２９】
このように、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続ＣにおけるコネクションインターバルＣＩｃやスレーブレイテンシーＳＬｃを変更することで、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限することができる。これにより、ＢＬＥ端末２０同士の通信よりも携帯端末１０とＢＬＥ端末２０との間の通信を優先することができ、スレーブレイテンシーの範囲内で親子間の通信を行うことができる。例えば、ＢＬＥ端末２０ａは、携帯端末１０ａとの接続を維持することが困難な場合は、ＢＬＥ端末２０ｂとの接続を解除してもよい。すなわち、親子間の接続を維持することが困難な場合は、子同士の接続が解除されてもよい。親子間の接続を維持することが困難かどうかの判断は、例えば、親子間の接続におけるスレーブレイテンシー、親子間の接続における電波の強度、エラー率等に基づいて行われてもよい。例えば、ＢＬＥ端末２０は、携帯端末１０との接続におけるコネクションイベントを無視した回数がスレーブレイテンシーＳＬを超える場合、親子間の接続を維持することが困難（親子間の接続が解除されるリスクが高い）と判断してもよいし、コネクションイベントを無視した回数が「ＳＬ＋所定数」を超える場合、親子間の接続を維持することが困難と判断してもよい。また、親子間で大量のデータを短時間で交換する必要がある場合には、ＢＬＥ端末２０は、ＣＩｃやＳＬｃを変更することで子同士の通信を行わないようにしてもよい。例えば、携帯端末１０ａにおいて、所定のアプリケーション（例えばゲームアプリケーション）が行われ、携帯端末１０ａとＢＬＥ端末２０ｂとの間で頻繁に通信を行う必要がある場合には、ＢＬＥ端末２０ａは、携帯端末１０ａとの通信を優先して行ってもよい（ＢＬＥ端末２０ｂとの通信を行わないようにしてもよい）。
【０２３０】
図１６は、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続される場合において携帯端末１０とＢＬＥ端末２０との間の接続が調整された場合の通信の一例を示す図である。
【０２３１】
図１６に示すように、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続された状態であり、コネクションインターバルＣＩｃ毎に子同士の接続Ｃにおけるコネクションイベントが発生する。また、図１２において説明したように、携帯端末１０ａとＢＬＥ端末２０ａとの通信のタイミング（Ｔａ３〜Ｔａ５）と、携帯端末１０ｂとＢＬＥ端末２０ｂとの通信のタイミング（Ｔｂ３〜Ｔｂ５）とが調整されて、これら２つの通信のタイミングがほぼ一致した状態となっている。この場合において、ＢＬＥ端末２０ａ（２０ｂ）は、携帯端末１０ａ（１０ｂ）との通信を行うタイミングを含む所定期間は、子同士の通信を制限する。ＢＬＥ端末２０ａが携帯端末１０ａと通信を行うタイミング（Ｔａ３〜Ｔａ５）と、ＢＬＥ端末２０ｂが携帯端末１０ｂと通信を行うタイミング（Ｔｂ３〜Ｔｂ５）とがほぼ一致するため、子同士はほぼ同じタイミングで子同士の通信を制限することになる。このような調整が行われることで、ＢＬＥ端末２０は携帯端末１０との接続が解除されるリスクを回避しつつ、ＢＬＥ端末２０間で効率よく通信を行うことができる。
【０２３２】
［各機器の処理の詳細］
（携帯端末１０の処理）
次に、携帯端末１０およびＢＬＥ端末２０において行われる処理の詳細について説明する。図１７は、携帯端末１０において行われる処理の一例を示すフローチャートである。図１８は、図１７のステップＳ１０８の詳細フローチャートである。携帯端末１０は、図１７及び図１８に示す処理を実行するためのプロセッサを備えており、当該プロセッサはＢＬＥ通信モジュールとして実装されている。なお、以下では携帯端末１０のＢＬＥ通信モジュール（プロセッサ）が図１７及び図１８に示す処理を実行するものとして説明するが、図１７及び図１８に示す処理の一部又は全部は、携帯端末１０のＣＰＵ又は他のプロセッサが通信プログラムを実行することによって行われてもよい。
【０２３３】
以下では、携帯端末１０ａとＢＬＥ端末２０ａとの間で接続が確立される場合について説明するが、携帯端末１０ｂとＢＬＥ端末２０ｂとの間の接続においても同様の流れである。
【０２３４】
図１７に示すように、携帯端末１０ａ（のＢＬＥ通信モジュール）は、まず、スキャンを実行するタイミングか否かを判定する（ステップＳ１００）。スキャンを実行するタイミングと判定した場合（ステップＳ１００：ＹＥＳ）、携帯端末１０ａは、スキャンを実行する（ステップＳ１０１）。具体的には、携帯端末１０ａは、３つのチャネル３７〜３９を切り替えながらスキャンを実行する。携帯端末１０ａは、一定の時間間隔でスキャンを実行してもよいし、スキャンを実行するタイミング、スキャンを実行する時間の長さをランダムに決定してもよい。スキャンを実行するタイミングでないと判定した場合（ステップＳ１００：ＮＯ）、携帯端末１０ａは、再びステップＳ１００の処理を行う。
【０２３５】
ステップＳ１０１に続いて、携帯端末１０ａは、アドバタイザ（ＢＬＥ端末２０ａ）からアドバタイジングパケットを受信したか否かを判定する（ステップＳ１０２）。アドバタイジングパケットを受信しなかった場合（ステップＳ１０２：ＮＯ）、携帯端末１０ａは、ステップＳ１００の処理を再び実行する。
【０２３６】
ステップＳ１０２においてアドバタイザからアドバタイジングパケットを受信したと判定した場合、携帯端末１０ａは、受信したアドバタイジングパケットに基づいて、接続可能であることを示すアドバタイジングパケットか否かを判定する（ステップＳ１０３）。具体的には、ステップＳ１０３においては、携帯端末１０ａは、受信したアドバタイジングパケットが、「ＡＤＶ＿ＩＮＤ」又は「ＡＤＶ＿ＤＩＲＥＣＴ＿ＩＮＤ」か否かを判定する。
【０２３７】
接続可能であることを示すアドバタイジングパケットと判定しなかった場合（ステップＳ１０３：ＮＯ）、携帯端末１０ａは、アドバタイジングパケットに含まれるデータを取得する（ステップＳ１０４）。具体的には、携帯端末１０ａは、アドバタイジングパケットのタイプが「ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ」である場合、アドバタイジングパケットに含まれるデータを取得する。
【０２３８】
接続可能であることを示すアドバタイジングパケットと判定した場合（ステップＳ１０３：ＹＥＳ）、携帯端末１０ａは、アドバタイジングパケットを送信したＢＬＥ端末２０ａにコネクション要求を送信する（ステップＳ１０５）。このコネクション要求には、携帯端末１０ａのアドレス、ＢＬＥ端末２０ａのアドレス、アクセスアドレス、コネクションインターバルＣＩａ、スレーブレイテンシーＳＬａ、ホップ数、接続監視タイムアウト等の情報が含まれる。上述のようにアクセスアドレスは、接続を識別するためのものであり、接続毎に携帯端末１０ａがランダムに決定する。なお、受信したアドバタイジングパケットのタイプが「ＡＤＶ＿ＳＣＡＮ＿ＩＮＤ」である場合、携帯端末１０ａは、当該アドバタイジングパケットを送信したアドバタイザに対して、スキャン要求を送信する。携帯端末１０ａは、スキャン要求に対するスキャン応答を受信した場合、ステップＳ１０５においてコネクション要求を送信する。
【０２３９】
コネクション要求を送信した後、携帯端末１０ａは、携帯端末１０ａは、ＢＬＥ端末２０ａとの接続Ａを確立する（ステップＳ１０６）。
【０２４０】
ステップＳ１０６の後、携帯端末１０ａは、接続中処理を行う（ステップＳ１０７）。このステップＳ１０７の処理は、携帯端末１０ａとＢＬＥ端末２０ａとの接続Ａにおける通信を行うための処理であり、携帯端末１０ａとＢＬＥ端末２０ａとが接続状態を維持している間、繰り返し実行される。以下、図１８を参照して、携帯端末１０ａの接続中処理の詳細について説明する。
【０２４１】
図１８に示すように、携帯端末１０ａは、時間カウンタを加算する（ステップＳ１１０）。具体的には、携帯端末１０ａは、一定の時間間隔でステップＳ１１０の処理を実行し、ステップＳ１１０の処理を実行する毎に時間カウンタを１ずつ増加させる。携帯端末１０ａは、時間カウンタの値に基づいて、前回のコネクションイベントを実行してからコネクションインターバルＣＩａが経過したか否かを判定する（ステップＳ１１１）。
【０２４２】
前回のコネクションイベントからコネクションインターバルＣＩａが経過したと判定した場合（ステップＳ１１１：ＹＥＳ）、携帯端末１０ａは、ＢＬＥ端末２０ａとの接続Ａにおけるコネクションイベントに係る処理（ステップＳ１１２〜Ｓ１２０）を実行する。具体的には、携帯端末１０ａは、ＢＬＥ端末２０ａに送信すべき送信データがあるか否かを判定する（ステップＳ１１２）。例えば、アプリケーションからの要請によって携帯端末１０ａが、アプリケーションデータをＢＬＥ端末２０ａから取得する必要がある場合は、ステップＳ１１２においてＹＥＳと判定される。また、携帯端末１０ａがアプリケーションデータをＢＬＥ端末２０ａに送信する必要がある場合は、ステップＳ１１２においてＹＥＳと判定される。
【０２４３】
ステップＳ１１２においてＹＥＳと判定した場合、携帯端末１０ａは、パケットに当該送信データを含める（ステップＳ１１３）。例えば、ＢＬＥ端末２０ａからアプリケーションデータを取得する場合には、携帯端末１０ａは、送信データとして、ＢＬＥ端末２０ａからデータを取得するための取得要求をパケットに含める。
【０２４４】
ステップＳ１１３の処理を実行した場合、又は、ステップＳ１１２でＮＯと判定した場合、携帯端末１０ａは、パケットをＢＬＥ端末２０ａに送信する（ステップＳ１１４）。具体的には、携帯端末１０ａは、データチャネル０〜３６のうちの何れかを用いてデータパケットをＢＬＥ端末２０ａに送信する。ステップＳ１１３の処理が実行された場合には、パケットのペイロードにはアプリケーションデータが含まれ、ステップＳ１１３の処理が実行されなかった場合には、ペイロードにはデータは含まれない。なお、このデータパケットには、接続が確立される際にランダムに決定されたアクセスアドレスが含まれる。このアクセスアドレスに基づいてＢＬＥ端末２０ａは、携帯端末１０ａからのデータパケットを受信することができる。また、携帯端末１０ａが、コネクションインターバルＣＩａを変更する場合には、新たなＣＩａの情報がパケットに含められてＢＬＥ端末２０ａに送信される。
【０２４５】
ステップＳ１１４に続いて、携帯端末１０ａは、接続状態のＢＬＥ端末２０ａから応答パケットを受信したか否かを判定する（ステップＳ１１５）。ＢＬＥ端末２０ａから応答パケットを受信した場合（ステップＳ１１５：ＹＥＳ）、携帯端末１０ａは、受信したデータの処理を行う（ステップＳ１１６）。ここでは、携帯端末１０ａ（のＢＬＥ通信モジュール）は、ＢＬＥ端末２０ａから上記取得要求に応じたデータを受信した場合、当該データをアプリケーションに渡す。
【０２４６】
ステップＳ１１６の処理の後、携帯端末１０ａは、変数Ｎに「０」を設定するとともに、変数Ｔをリセットし（ステップＳ１１７）、再びステップＳ１１０に戻る。ここで、「Ｎ」は、携帯端末１０ａとＢＬＥ端末２０ａとの間の接続ＡにおいてＢＬＥ端末２０ａから応答パケットを受信しなかったコネクションイベントの回数を示す。すなわち、「Ｎ」は、ＢＬＥ端末２０ａがコネクションイベントを無視（スキップ）した回数を示す。また、変数「Ｔ」は、携帯端末１０ａがＢＬＥ端末２０ａから応答パケットを受信してからの経過時間を示す変数である。携帯端末１０ａは、ＢＬＥ端末２０ａとの接続を解除するか否かをこの変数「Ｔ」を用いて判定する。例えば、「Ｔ」は、時間経過に応じて加算されてもよいし、ステップＳ１１０の処理が行われる毎に１ずつ加算されてもよい。
【０２４７】
一方、ＢＬＥ端末２０ａから応答パケットを受信しなかった場合（ステップＳ１１５：ＮＯ）、携帯端末１０ａは、「Ｎ」に１を加算する（ステップＳ１１８）。そして、携帯端末１０ａは、「Ｔ」が接続Ａにおける接続監視タイムアウト以上か否かを判定する（ステップＳ１１９）。Ｔが接続監視タイムアウト以上と判定した場合には、携帯端末１０ａは、ＢＬＥ端末２０ａとの接続Ａを解除する（ステップＳ１２０）。一方、Ｔが接続監視タイムアウト以上と判定しなかった場合には、携帯端末１０ａは、処理をステップＳ１１０に戻す。
【０２４８】
（ＢＬＥ端末２０ａの処理）
次に、図１９〜図２３を参照してＢＬＥ端末２０において行われる処理の詳細について説明する。図１９は、ＢＬＥ端末２０ａにおいて行われる処理の一例を示すフローチャートである。ここでは、ＢＬＥ端末２０ａが図１９〜図２２の処理を行い、ＢＬＥ端末２０ｂが図２３の処理を行う場合を想定する。ＢＬＥ端末２０は、図１９〜図２３に示す処理を実行するためのプロセッサを備えており、当該プロセッサはＢＬＥ通信モジュール２５として実装されている。以下では、ＢＬＥ端末２０のＢＬＥ通信モジュール２５（プロセッサ）が図１９〜図２３に示す処理を実行するものとして説明する。なお、ＢＬＥ端末２０はアプリケーションを実行可能なＣＰＵ及び／又は他のプロセッサ（ＢＬＥ通信モジュール２５として実装されているかどうかに関わらない）を備えてもよく、当該ＣＰＵ及び／又は他のプロセッサが通信プログラムを実行することによって図１９〜図２３に示す処理の一部又は全部が行われてもよい。
【０２４９】
図１９に示すように、ＢＬＥ端末２０ａは、アドバタイジングを実行するタイミングか否かを判定する（ステップＳ２００）。アドバタイジングを実行するタイミングでないと判定した場合（ステップＳ２００：ＮＯ）、ＢＬＥ端末２０ａは、再びステップＳ２００の処理を実行する。
【０２５０】
アドバタイジングを実行するタイミングであると判定した場合（ステップＳ２００：ＹＥＳ）、ＢＬＥ端末２０ａは、アドバタイジングを行う（ステップＳ２０１）。具体的には、ＢＬＥ端末２０ａは、ステップＳ２０１において３つのチャネル３７〜３９を切り替えながらアドバタイジングパケットを送信する。ここでは、ＢＬＥ端末２０ａは、自機の周辺に存在する不特定の他の機器と接続をするためのアドバタイジングパケット（上記「ＡＤＶ＿ＩＮＤ」）を送信するものとする。
【０２５１】
次に、ＢＬＥ端末２０ａは、携帯端末１０ａ（イニシエータ）から上記ステップＳ１０５において送信されたコネクション要求を受信したか否かを判定する（ステップＳ２０２）。他の機器からコネクション要求を受信しなかった場合（ステップＳ２０２：ＮＯ）、ＢＬＥ端末２０ａは、ステップＳ２００の処理を再び実行する。
【０２５２】
コネクション要求を受信した場合（ステップＳ２０２：ＹＥＳ）、ＢＬＥ端末２０ａは、コネクション要求に含まれるＣＩ、ＳＬ、接続監視タイムアウト、ホップ数、アクセスアドレス等を設定して、接続状態に遷移し、ＢＬＥ端末２０ａと携帯端末１０ａとの間の接続Ａが確立される（ステップＳ２０３）。接続Ａが確立された後、ＢＬＥ端末２０ａは、接続中処理を行う（ステップＳ２０４）。接続中処理は、携帯端末１０ａとＢＬＥ端末２０ａとの接続Ａが維持されている間、繰り返し実行される。以下、ＢＬＥ端末２０ａの接続中処理の詳細について説明する。
【０２５３】
（ＢＬＥ端末２０の接続中処理）
図２０は、ステップＳ２０５の接続中処理の詳細フローチャートである。
【０２５４】
図２０に示すように、ＢＬＥ端末２０ａは、時間カウンタを加算する（ステップＳ２１０）。具体的には、ＢＬＥ端末２０ａは、一定の時間間隔でステップＳ２１０の処理を実行し、ステップＳ２１０の処理を実行する毎に時間カウンタを１ずつ増加させる。ＢＬＥ端末２０ａは、時間カウンタの値に基づいて、接続Ａにおける前回のコネクションイベントから（携帯端末１０ａからパケットを受信してから）コネクションインターバルＣＩａが経過したか否かを判定する（ステップＳ２１１）。なお、ＢＬＥ端末２０ａは、実際にはステップＳ２１１において、前回のコネクションイベントからＣＩａよりも所定時間（上記時刻の計測誤差を考慮して算出される時間）だけ短い時間が経過したか否かを判定する。
【０２５５】
前回のコネクションイベントからコネクションインターバルＣＩａが経過したと判定した場合（ステップＳ２１１：ＹＥＳ）、ＢＬＥ端末２０ａは、接続Ａにおけるコネクションイベントをスキップするか否かを判定する（ステップＳ２１２）。具体的には、「Ｎ」がスレーブレイテンシーＳＬａ以上の場合、ＢＬＥ端末２０ａは、ステップＳ２１２においてＮＯと判定する。ここで、「Ｎ」は、ＢＬＥ端末２０ａがコネクションイベントをスキップした回数（連続して携帯端末１０ａに対して応答パケットを送信しなかったコネクションイベントの回数）を示す。すなわち、ＢＬＥ端末２０ａは、連続して携帯端末１０ａに応答パケットを返さなかった回数ＮがスレーブレイテンシーＳＬａに達した場合、今回のコネクションイベントにおいて携帯端末１０ａに応答パケットを返すと判定する。
【０２５６】
また、「Ｎ」がスレーブレイテンシーＳＬａ未満である場合でも、ＢＬＥ端末２０ａは、ステップＳ２１２においてＮＯと判定することがある。例えば、図１１や図１６で示した親子間の接続の調整のためにスレーブレイテンシーＳＬａに到達する前に携帯端末１０ａに応答を送信する場合は、ＢＬＥ端末２０ａは、ステップＳ２１２においてＮＯと判定する。また、ＢＬＥ端末２０ａは、携帯端末１０ａに送信すべきデータがある場合も、ステップＳ２１２においてＮＯと判定する。なお、ステップＳ２１２の処理では、ＢＬＥ端末２０ａは、まず、送信すべきデータ（アプリケーションデータや図１１等で示した親子間の接続の調整のためのデータ）があるか否かを判定し、その判定結果がＮＯである場合に、ＮがＳＬａ以上か否かを判定してもよい。すなわち、ＢＬＥ端末２０ａは、携帯端末１０ａに送信すべきデータがある場合は、今回のコネクションイベントにおいて携帯端末１０ａに当該送信すべきデータを含む応答パケットを送信するために、ステップＳ２１２においてＮＯと判定し、携帯端末１０ａに送信すべきデータがない場合でも、ＮがＳＬａ以上であれば空の応答パケットを送信するためにステップＳ２１２においてＮＯと判定してもよい。
【０２５７】
ステップＳ２１２においてＮＯと判定した場合、ＢＬＥ端末２０ａは、データチャネル０〜３６のうちの何れかを用いて携帯端末１０ａからパケットを受信する（ステップＳ２１３）。続いて、ＢＬＥ端末２０ａは、データチャネル０〜３６のうちの何れかを用いて携帯端末１０ａに応答パケットを送信する（ステップＳ２１４）。ステップＳ２１４では、ＢＬＥ端末２０ａは、携帯端末１０ａに送信すべきアプリケーションデータがある場合は当該データを含めてパケットを送信する。
【０２５８】
次に、ＢＬＥ端末２０ａは、受信したデータの処理を行う（ステップＳ２１５）。ステップＳ２１５の処理では、上記携帯端末１０ａから所定のデータを受信した場合、ＢＬＥ端末２０ａのＢＬＥ通信モジュールは、当該受信したデータをアプリケーションに渡す。そして、ＢＬＥ端末２０ａは、変数Ｎに「０」を設定し（ステップＳ２１６）、再びステップＳ２１０に戻る。
【０２５９】
なお、上記ステップＳ２１３の処理は、ステップＳ２１２の処理の前に行なわれてもよい。すなわち、ＢＬＥ端末２０ａは、コネクションイベントのタイミングが到来すると、まず、携帯端末１０ａからのデータパケットを受信し（ステップＳ２１３）、次に、ステップＳ２１２において今回のコネクションイベントをスキップするか否かを判定してもよい。例えば、ＢＬＥ端末２０ａは、ステップＳ２１３において携帯端末１０ａからデータパケットを受信し、次に、ステップＳ２１２の処理を実行する。このステップＳ２１２の処理では、上述のように、ＢＬＥ端末２０ａは、携帯端末１０ａに送信すべきデータ（アプリケーションデータ等）があるか否かの判定と、ＮがＳＬ以上か否かの判定とを行う。そして、ＢＬＥ端末２０ａは、これらの判定結果に基づいて、今回のコネクションイベントをスキップするか否かを判定する。
【０２６０】
一方、ＢＬＥ端末２０ａは、ステップＳ２１２でＹＥＳと判定した場合、すなわち、今回のコネクションイベントをスキップすると判定した場合、「Ｎ」に１を加算し（ステップＳ２１７）、次にステップＳ２１８の処理を実行する。
【０２６１】
ステップＳ２１１でＮＯと判定した場合、又は、ステップＳ２１７を実行した場合、ＢＬＥ端末２０ａは、ＢＬＥ端末間通信処理を行う（ステップＳ２１８）。ステップＳ２１８のＢＬＥ端末間通信処理は、携帯端末１０ａとの接続Ａにおけるコネクションインターバルの間（Ｓ２１１でＮＯ）、又は、接続Ａのコネクションイベントをスキップすると判定した場合（Ｓ２１２でＹＥＳ）、実行される。ＢＬＥ端末間通信処理は、ＢＬＥ端末２０ａが携帯端末１０ａと接続している状態において、他のＢＬＥ端末２０ｂと通信（子同士の通信）を行うための処理である。ＢＬＥ端末間通信処理は、携帯端末１０ａからの指示が無くても実行される。なお、ＢＬＥ端末間通信処理を実行するか否かの設定が、携帯端末１０ａから命令に基づいて行われてもよい。
【０２６２】
なお、ＢＬＥ端末２０ａは、図２０の処理を実行中に、前回携帯端末１０ａと通信を行ってからの経過時間が接続監視タイムアウト以上か否かを判定する。例えば、ＢＬＥ端末２０ａは、前回携帯端末１０ａからパケットを受信してからの経過時間が接続監視タイムアウト以上か否かを判定する。あるいは、ＢＬＥ端末２０ａは、前回携帯端末１０ａに対して応答パケットを送信してからの経過時間が接続監視タイムアウト以上か否かを判定してもよい。そして、前回の携帯端末１０ａとの通信からの経過時間が接続監視タイムアウト以上の場合には、ＢＬＥ端末２０ａは、携帯端末１０ａとの接続を解除し、接続状態から非接続状態に移行して、図２０の処理を終了する。この接続監視タイムアウトは、接続の確立時に携帯端末１０ａによって決定されて通知される。
【０２６３】
以下、ステップＳ２１８におけるＢＬＥ端末間通信処理の詳細について説明する。
【０２６４】
（ＢＬＥ端末通信処理）
図２１は、ステップＳ２１８のＢＬＥ端末間通信処理の詳細フローチャートである。図２１においては、ＢＬＥ端末２０ａが携帯端末１０ａと接続している状態において、ＢＬＥ端末２０ｂと通信する例について説明する。
【０２６５】
図２１に示すように、ＢＬＥ端末２０ａは、アドバタイジングを実行するタイミングか否かを判定する（ステップＳ２３１）。例えば、アドバタイジングを実行するタイミングとして、一定のタイミングが設定されてもよいし、図９で示したように、アドバタイジングを実行するタイミングがランダムに決定されてもよい。また、図１０で説明したように、他の機器から受信したアドバタイジングパケットに基づいてアドバタイジングを実行するタイミングが決定されてもよい。
【０２６６】
アドバタイジングを実行するタイミングと判定した場合（ステップＳ２３１：ＹＥＳ）、ＢＬＥ端末２０ａは、アドバタイジングを行う（ステップＳ２３２）。具体的には、ＢＬＥ端末２０ａは、ステップＳ２３２において、３つのアドバタイジングチャネル３７〜３９を切り替えながら複数のアドバタイジングパケットを送信する。
【０２６７】
例えば、ＢＬＥ端末２０ａは、他のＢＬＥ端末２０ｂとコネクションを確立せずに通信を行う場合、アドバタイジングパケットのタイプとして「ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ」を設定し、アプリケーションデータを含めてブロードキャストでパケットを送信する。アプリケーションデータのサイズが、１のアドバタイジングパケットが送信可能なデータのサイズを超えている場合、ＢＬＥ端末２０ａは、アプリケーションデータを分割して、複数のアドバタイジングパケットに分けて送信する。この場合、ＢＬＥ端末２０ａは、分割したそれぞれのデータが、アプリケーションデータにおけるどの位置（何番目）かを示す情報をそれぞれのアドバタイジングパケットに含めて送信する。例えば、アプリケーションデータが７５オクテットである場合、ＢＬＥ端末２０ａは、アプリケーションデータを３つに分けて、２５オクテットずつの分割データにする。これら３つの分割データは、先頭から順に１，２，３番と定義され、この順で送信される。なお、受信側でデータが受信できない可能性を考慮して、３つの分割データは繰り返し（複数回）送信されてもよい。具体的には、ＢＬＥ端末２０ａは、１番目の分割データ（アプリケーションデータの先頭から１／３の部分）と、シーケンス番号（１番）とを含む１のアドバタイジングパケットを送信する。次に、ＢＬＥ端末２０は、２番目の分割データ（アプリケーションデータの中央部分）と、シーケンス番号（２番）とを含む１のアドバタイジングパケットを送信する。そして、ＢＬＥ端末２０ａは、３番目の分割データ（アプリケーションデータの後から１／３の部分）と、シーケンス番号（３番）とを含む１のアドバタイジングパケットを送信する。これら３つのアドバタイジングパケットをＢＬＥ端末２０ｂが受信し、シーケンス番号にしたがって分割データを並べることで、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａから送信されたアプリケーションデータを再構築することができる。なお、ＢＬＥ端末２０ａは、スキャン要求が可能であることを示すアドバタイジングパケット（「ＡＤＶ＿ＳＣＡＮ＿ＩＮＤ」）を送信してもよい。この場合は、アドバタイジングパケットを受信したＢＬＥ端末２０ｂからスキャン要求が送信され、それに応じてＢＬＥ端末２０ａはスキャン応答を送信する。ＢＬＥ端末２０ａ、このスキャン応答にさらにデータを含めることができる。これにより、ＢＬＥ端末２０ａは、１のアドバタイジングパケットを送信したことによって、さらにスキャン応答を送信することができ、より多くのデータをＢＬＥ端末２０ｂに送信することができる。
【０２６８】
また、ＢＬＥ端末２０ａは、他のＢＬＥ端末２０ｂと接続を確立して通信を行う場合は、ステップＳ２３２において、アドバタイジングパケットのタイプとして「ＡＤＶ＿ＩＮＤ」を設定し、アドバタイジングパケットをブロードキャストで送信する。この場合において、スキャンを実行中の他のＢＬＥ端末２０ｂがＢＬＥ端末２０ａからのアドバタイジングパケットを受信した場合、ＢＬＥ端末２０ｂは、コネクション要求をＢＬＥ端末２０ａに送信する。これにより、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間で接続が確立される。
【０２６９】
なお、ステップＳ２３２において送信されるアドバタイジングパケットには、図１０を参照して説明したタイミング情報（次以降のアドバタイジング及び／又はスキャンのタイミングを示す情報）が含まれる場合がある。また、アドバタイジングパケットには、図１１を参照して説明したタイミングＴａ２の情報が含まれる場合もある。上述のように、これらの情報を受信したことに基づいて、ＢＬＥ端末２０ｂは、次以降のアドバタイジングのタイミングやスキャンのタイミングを調整する。これにより、目的のアドバタイジングパケット（例えば、未だ取得できていないシーケンス番号に係るアドバタイジングパケット）をより短期で取得することができるようになる。
【０２７０】
ステップＳ２３１でＮＯと判定した場合、又は、ステップＳ２３２の処理を行った場合、ＢＬＥ端末２０ａは、スキャンを実行するタイミングか否かを判定する（ステップＳ２３３）。例えば、スキャンを実行するタイミングとして、一定のタイミングが設定されてもよいし、図９で示したように、スキャンを実行するタイミングがランダムに決定されてもよい。また、図１０で説明したように、他の機器から受信したアドバタイジングパケットに含まれるタイミング情報に基づいてスキャンを実行するタイミングが決定されてもよい。
【０２７１】
スキャンを実行するタイミングと判定した場合（ステップＳ２３３：ＹＥＳ）、ＢＬＥ端末２０ａは、スキャンを行う（ステップＳ２３４）。例えば、ＢＬＥ端末２０ａは、ステップＳ２３４において、ＢＬＥ端末２０ｂからアドバタイジングパケットを受信する。ＢＬＥ端末２０ｂからのアドバタイジングパケットのタイプによって、ＢＬＥ端末２０ａのその後の動作が異なる。
【０２７２】
例えば、ＢＬＥ端末２０ｂから受信したアドバタイジングパケットのタイプが、「ＡＤＶ＿ＩＮＤ」である場合、すなわち、ＢＬＥ端末２０ｂと接続可能である場合（ステップＳ２３５：ＹＥＳ）、ＢＬＥ端末２０ａは、接続処理を行う（ステップＳ２３６）。ステップＳ２３６の接続処理は、図１７のステップＳ１０５〜Ｓ１０６と同様の処理である。すなわち、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂに対してコネクション要求を送信し、ＢＬＥ端末２０ｂからその応答を受信することで、ＢＬＥ端末２０ｂとの間で接続Ｃを確立する。このとき、ＢＬＥ端末２０ａはセントラル（マスター）となり、ＢＬＥ端末２０ｂはペリフェラル（スレーブ）となる。また、このステップＳ２３６においては、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃに関するパラメータ（アクセスアドレス、コネクションインターバルＣＩｃ、スレーブレイテンシーＳＬｃ、ホップ数、接続監視タイムアウト等）を決定してＢＬＥ端末２０ｂに通知する。
【０２７３】
一方、例えば、ＢＬＥ端末２０ｂから受信したアドバタイジングパケットのタイプが、「ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ」である場合、ＢＬＥ端末２０ａは、ステップＳ２３５においてＮＯと判定する。すなわち、「ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ」の場合は、非接続のアドバタイジングであるため、ＢＬＥ端末２０ａは、アドバタイジングパケットに含まれるデータを取得する（ステップＳ２３７）。このアドバタイジングパケットには、ＢＬＥ端末２０ｂが他の不特定の機器に送信したデータ（例えば、アプリケーションデータ）が含まれている場合があり、ＢＬＥ端末２０ａは、アドバタイジングパケットに含まれるデータを取得する。このデータが分割されたアプリケーションデータである場合は、ＢＬＥ端末２０ａは、上述のように、アドバタイジングパケットに含まれるシーケンス番号に基づいて、アプリケーションデータを再構築する。
【０２７４】
なお、ステップＳ２３４において受信されるアドバタイジングパケットには、図１０を参照して説明したタイミング情報（次以降のアドバタイジング及び／又はスキャンのタイミングを示す情報）が含まれる場合がある。また、アドバタイジングパケットには、図１１に示すタイミングＴｂ（ＢＬＥ端末２０ｂが携帯端末１０ｂに応答パケットを送信するタイミング）の情報が含まれる場合もある。上述のように、これらの情報を受信したことに基づいて、ＢＬＥ端末２０ａは、次以降のアドバタイジングのタイミングやスキャンのタイミングを調整する。
【０２７５】
上記ステップＳ２３２のアドバタイジング、及び、ステップＳ２３４のスキャンが繰り返し行われることで、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続されていない状態においても、２つの機器間でデータを送受信することができる。また、ステップＳ２３２のアドバタイジング、及び、ステップＳ２３４のスキャンが繰り返し行われることで、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間で接続を確立することができる。
【０２７６】
ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続を確立して通信を行うか、接続を確立せずに通信を行うかは、例えばアプリケーションの要請によって決まる。例えば、データを確実に送受信する必要がある場合は、ＢＬＥ端末２０ａは、アドバタイジングパケットのタイプとして「ＡＤＶ＿ＩＮＤ」を設定する。また、データを複数の機器に同時に送信する必要がある場合、ＢＬＥ端末２０ａは、アドバタイジングパケットのタイプとして「ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ」を設定し、アドバタイジングパケットを送信する。
【０２７７】
ステップＳ２３６の処理を実行した場合、ステップＳ２３７の処理を実行した場合、又は、ステップＳ２３３でＮＯと判定した場合、ＢＬＥ端末２０ａは、ステップＳ２３８の処理を実行する。
【０２７８】
ステップＳ２３８において、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂと接続された状態か否かを判定する。上記ステップＳ２３２のアドバタイジング、及び、ステップＳ２３４のスキャンが繰り返し行われた結果、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続された状態である場合は、ＢＬＥ端末２０ａは、ＢＬＥ端末間接続中処理を行う（ステップＳ２３９）。
【０２７９】
ステップＳ２３９のＢＬＥ端末間接続中処理は、ＢＬＥ端末２０ａが携帯端末１０ａと接続された状態であり（図１５の接続Ａ）、かつ、ＢＬＥ端末２０ｂと接続された状態（図１５の接続Ｃ）である場合に行われる処理である。以下、ステップＳ２３９のＢＬＥ端末間接続中処理の詳細について説明する。
【０２８０】
（ＢＬＥ端末２０ａのＢＬＥ端末間接続中処理）
図２２は、ステップＳ２３９のＢＬＥ端末間接続中処理の詳細フローチャートであり、セントラル（マスター）として動作するＢＬＥ端末２０ａにおいて行われる処理を示す図である。
【０２８１】
図２２では、携帯端末１０ａとＢＬＥ端末２０ａとが接続された状態であり、この接続ＡのパラメータとしてコネクションインターバルがＣＩａ、スレーブレイテンシーがＳＬａに設定されていることを前提とする。また、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続された状態であり、この接続ＣのパラメータとしてコネクションインターバルがＣＩｃ、スレーブレイテンシーがＳＬｃに設定されていることとする。
【０２８２】
図２２に示すように、ＢＬＥ端末２０ａは、時間カウンタに基づいて、コネクションインターバルＣＩｃが経過したか否かを判定する（ステップＳ２４１）。具体的には、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃにおける前回のコネクションイベントのタイミングからＣＩｃが経過したか否かを判定する。なお、ＢＬＥ端末２０ａは接続毎に時間カウンタを設定してもよいし、共通の時間カウンタを用いて各接続のコネクションイベントを実行するタイミングを判定してもよい。すなわち、携帯端末１０ａとＢＬＥ端末２０ａとの接続Ａのための時間カウンタ（図２０のステップＳ２１１の判定に用いられる時間カウンタ）と、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの接続Ｃのための時間カウンタ（ステップＳ２４１の判定に用いられる時間カウンタ）とが異なっていてもよいし、同じでもよい。
【０２８３】
コネクションインターバルＣＩｃが経過していないと判定した場合（ステップＳ２４１：ＮＯ）、ＢＬＥ端末２０ａは、図２２に示す処理を終了する。
【０２８４】
コネクションインターバルＣＩｃが経過したと判定した場合（ステップＳ２４１：ＹＥＳ）、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限するか否かを判定する（ステップＳ２４２）。具体的には、ＢＬＥ端末２０ａは、現時点から所定時間内に携帯端末１０ａと通信する必要がある場合には、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限すると判定する。すなわち、現時点から所定時間内にＢＬＥ端末２０ａが携帯端末１０ａに対して応答を送信しなければ、携帯端末１０ａとＢＬＥ端末２０ａとの接続ＡにおけるスレーブレイテンシーＳＬａを超える場合には、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂとの間の通信を制限する。具体的には、ＢＬＥ端末２０ａは、「Ｎ」の値がスレーブレイテンシーＳＬａ以上の場合、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限すると判定する。
【０２８５】
ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限すると判定した場合（ステップＳ２４２：ＹＥＳ）、ＢＬＥ端末２０ａは、コネクションインターバルＣＩｃを変更する（ステップＳ２４３）。具体的には、ＢＬＥ端末２０ａは、次に発生するＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃにおけるコネクションイベントが、携帯端末１０ａとＢＬＥ端末２０ａとの接続Ａにおけるコネクションイベントと時間的に重ならないように、ＣＩｃを現在よりも大きな値（ＣＩｃ２）に変更する（図１５参照）。
【０２８６】
ステップＳ２４３の処理を実行した場合、又は、ステップＳ２４２でＮＯと判定した場合、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂに送信すべき送信データ（例えばアプリケーションデータ）があるか否かを判定し（ステップＳ２４４）、送信データがある場合には（ステップＳ２４４：ＹＥＳ）、パケットに送信データを含める（ステップＳ２４５）。
【０２８７】
ステップＳ２４５の処理を実行した場合、又は、ステップＳ２４４でＮＯと判定した場合、ＢＬＥ端末２０ａは、データチャネルを用いてＢＬＥ端末２０ｂにパケットを送信する（ステップＳ２４６）。ステップＳ２４５の処理が行われた場合は、パケットのペイロードには送信データが含まれ、ステップＳ２４５の処理が行われなかった場合には、パケットのペイロードには送信データは含まれない。なお、ステップＳ２４３でＣＩｃがＣＩｃ２に変更された場合には、変更後のＣＩｃ２の情報がパケットに含まれる。これにより、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃにおける次のコネクションイベントは、ＣＩｃ２の経過後に発生することになる。
【０２８８】
なお、変更されたＣＩｃ２は、携帯端末１０ａとＢＬＥ端末２０ａとの間のコネクションイベントが終了した後にＣＩｃに戻される。携帯端末１０ａとＢＬＥ端末２０ａとの間のコネクションイベントが終了した後に発生するＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃにおけるコネクションイベントにおいて、ＢＬＥ端末２０ａは、ＣＩｃの情報をＢＬＥ端末２０ｂに送信する（図１５参照）。
【０２８９】
ステップＳ２４２〜Ｓ２４６の処理が行われることにより、図１５で示したように、携帯端末１０ａとＢＬＥ端末２０ａとの間の通信が行われる間、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限することができる。
【０２９０】
ステップＳ２４６の後、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂから応答パケットを受信したか否かを判定する（ステップＳ２４７）。ＢＬＥ端末２０ｂから応答パケットを受信した場合（ステップＳ２４７：ＹＥＳ）、ＢＬＥ端末２０ａは、受信したデータの処理を行う（ステップＳ２４８）。ステップＳ２４８において、例えば、ＢＬＥ端末２０ｂ（のＢＬＥ通信モジュール）は、受信したデータをアプリケーション層に渡す。そして、ＢＬＥ端末２０ａは、変数Ｍに「０」を設定するとともに、変数「Ｓ」をリセットし（ステップＳ２４９）、図２２に示す処理を終了する。「Ｍ」は、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続ＣにおいてＢＬＥ端末２０ｂから応答パケットを受信しなかったコネクションイベントの回数を示す。また、「Ｓ」は、ＢＬＥ端末２０ａがＢＬＥ端末２０ｂから応答パケットを受信してからの経過時間を示す変数である。ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂとの接続を解除するか否かをこの変数「Ｓ」を用いて判定する。例えば、「Ｓ」は、時間経過に応じて加算されてもよいし、ステップＳＳ２４１の処理が行われる毎に１ずつ加算されてもよい。
【０２９１】
一方、ＢＬＥ端末２０ｂから応答パケットを受信しなかった場合（ステップＳ２４７：ＮＯ）、ＢＬＥ端末２０ａは、「Ｍ」に１を加算する（ステップＳ２５０）。次に、ＢＬＥ端末２０ａは、「Ｓ」が接続Ｃにおける接続監視タイムアウト以上か否かを判定する（ステップＳ２５１）。「Ｓ」が接続監視タイムアウト以上と判定した場合（ステップＳ２５１：ＹＥＳ）、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂとの接続Ｃを解除して（ステップＳ２５２）、図２２に示す処理を終了する。「Ｓ」が接続監視タイムアウト以上と判定しなかった場合（ステップＳ２５１：ＮＯ）、ＢＬＥ端末２０ａは、ステップＳ２５２の処理を行わずに（接続Ｃを解除せずに）、図２２に示す処理を終了する。
【０２９２】
（ＢＬＥ端末２０ｂのＢＬＥ端末間接続中処理）
図２３は、ステップＳ２３９のＢＬＥ端末間接続中処理の詳細フローチャートであり、ペリフェラル（スレーブ）として動作するＢＬＥ端末２０ｂにおいて行われる処理を示す図である。
【０２９３】
図２３では、携帯端末１０ｂとＢＬＥ端末２０ｂとが接続された状態であり、この接続ＢのパラメータとしてコネクションインターバルがＣＩｂ、スレーブレイテンシーがＳＬｂに設定されていることを前提とする。また、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとが接続された状態であり、この接続ＣのパラメータとしてコネクションインターバルがＣＩｃ、スレーブレイテンシーがＳＬｃに設定されていることとする。
【０２９４】
図２３に示すように、ＢＬＥ端末２０ｂは、時間カウンタに基づいて、コネクションインターバルＣＩｃが経過したか否かを判定する（ステップＳ２６１）。具体的には、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃにおける前回のコネクションイベントのタイミングからＣＩｃが経過したか否かを判定する。なお、ＢＬＥ端末２０ｂは接続毎に時間カウンタを設定してもよいし、共通の時間カウンタを設定してもよい。
【０２９５】
コネクションインターバルＣＩｃが経過していないと判定した場合（ステップＳ２６１：ＮＯ）、ＢＬＥ端末２０ｂは、図２３に示す処理を終了する。
【０２９６】
コネクションインターバルＣＩｃが経過したと判定した場合（ステップＳ２６１：ＹＥＳ）、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限するか否かを判定する（ステップＳ２６２）。具体的には、ＢＬＥ端末２０ｂは、現時点から所定時間内に携帯端末１０ｂと通信する必要がある場合には、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限すると判定する。すなわち、現時点から所定時間内にＢＬＥ端末２０ｂが携帯端末１０ｂに対して応答を送信しなければ、携帯端末１０ｂとＢＬＥ端末２０ｂとの接続ＢにおけるスレーブレイテンシーＳＬｂを超える場合には、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａとの間の通信を制限する。
【０２９７】
ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の通信を制限すると判定した場合（ステップＳ２６２：ＹＥＳ）、ＢＬＥ端末２０ｂは、変数「Ｍ」がスレーブレイテンシーＳＬｃ以上か否かを判定する（ステップＳ２６３）。「Ｍ」は、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとの間の接続Ｃにおけるコネクションイベントにおいて、ＢＬＥ端末２０ｂが応答パケットを送信しなかった（コネクションイベントをスキップした）回数を示す。「Ｍ」がスレーブレイテンシーＳＬｃ以上と判定した場合（ステップＳ２６３：ＹＥＳ）、ＢＬＥ端末２０ｂは、ステップＳ２６４に処理を進める。一方、「Ｍ」がスレーブレイテンシーＳＬｃ未満と判定した場合（ステップＳ２６３：ＮＯ）、ＢＬＥ端末２０ｂは、図２３の処理を終了する。
【０２９８】
ステップＳ２６２でＮＯと判定した場合、又は、ステップＳ２６３でＹＥＳと判定した場合、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａとの接続Ｃにおけるコネクションイベントをスキップするか否かを判定する（ステップＳ２６４）。
【０２９９】
ステップＳ２６２及びステップＳ２６３の処理から明らかなように、ＢＬＥ端末２０ｂは、携帯端末１０ｂとの通信を優先させるためにＢＬＥ端末２０ａとの通信を制限する。具体的には、ＢＬＥ端末２０ｂは、携帯端末１０ｂとの通信がスレーブレイテンシーＳＬｂの範囲内で行われるように、ＢＬＥ端末２０ａとの通信を制限する（すなわち、接続Ｃのコネクションイベントをスキップする）。しかしながら、ＢＬＥ端末２０ｂは、今回のコネクションイベントにおいてＢＬＥ端末２０ａに対して応答を送信しなければＢＬＥ端末２０ａとの接続ＣにおけるスレーブレイテンシーＳＬｃを超える場合（ステップＳ２６３：ＹＥＳ）、ＢＬＥ端末２０ａとの通信を制限せずに、ステップＳ２６４に処理を進める。これにより、ＢＬＥ端末２０ｂは、携帯端末１０ｂとの通信を優先しつつも、ＢＬＥ端末２０ａとの接続Ｃが解除されるリスクを回避することができる。
【０３００】
ステップＳ２６４において、ＢＬＥ端末２０ｂは、接続Ｃにおける今回のコネクションイベントをスキップするか否かを判定する。
【０３０１】
ステップＳ２６４においてＮＯと判定した場合、ＢＬＥ端末２０ｂは、図２０のステップＳ２１４〜ステップＳ２１６と同様に、接続Ｃにおけるコネクションイベントを実行する。具体的には、ＢＬＥ端末２０ｂは、データチャネルを用いてＢＬＥ端末２０ａからパケットを受信し（ステップＳ２６５）、当該パケットの受信に応じてＢＬＥ端末２０ａに対して応答を送信する（ステップＳ２６６）。この応答には、ＳＬｃの変更要求が含められてもよい。そして、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａからのデータの処理を行い（ステップＳ２６７）、変数Ｍに「０」を設定し（ステップＳ２６８）、図２３に示す処理を終了する。
【０３０２】
一方、ステップＳ２６４においてＹＥＳと判定した場合、ＢＬＥ端末２０ｂは、「Ｍ」に１を加算し（ステップＳ２６９）、図２３に示す処理を終了する。
【０３０３】
ここで、親子間の接続（携帯端末１０ｂとＢＬＥ端末２０ｂとの間の接続Ｂ）と、子同士の接続（ＢＬＥ端末２０同士の接続Ｃ）とで、一方の通信を制限した場合には、他方の接続が解除されるリスクがある場合には、ＢＬＥ端末２０ｂは、親子間の接続を優先する。例えば、「Ｎ」の値がスレーブレイテンシーＳＬｂと等しい場合、すなわち、ＢＬＥ端末２０ｂが携帯端末１０ｂに対して応答パケットを返さなかった回数がスレーブレイテンシーＳＬｂと等しい場合、ＢＬＥ端末２０ｂは、ステップＳ２６４においてＹＥＳと判定する。例えば、ステップＳ２６３でＹＥＳと判定した場合であっても、ＢＬＥ端末２０ｂは、ステップＳ２６４においてＹＥＳと判定する（この場合、Ｍ＞ＳＬｃとなるため、子同士の接続Ｃは解除されるリスクが高くなる）。すなわち、ＢＬＥ端末２０ｂは、親子間の接続Ｂが解除されるリスクを回避するために、子同士の接続Ｃにおける通信を制限する。
【０３０４】
このように、本実施形態では、親子間の接続を子同士の接続よりも優先させる。これにより、親子間の接続中に子同士が接続される場合でも、親子間の接続が解除されるリスクを回避することができる。なお、他の実施形態では、親子間の接続よりも子同士の接続を優先させてもよい。また、現在の通信の状況に応じて、親子間の接続を優先させるか、子同士の接続を優先させるかが決定されてもよい。例えば、親子間の接続の通信量よりも子同士の接続の通信量の方が多い場合には、子同士の接続を優先させてもよい。
【０３０５】
なお、ＢＬＥ端末２０ｂは、図２３の処理を実行中に、前回ＢＬＥ端末２０ａと通信を行ってからの経過時間が接続監視タイムアウト以上か否かを判定する。例えば、ＢＬＥ端末２０ｂは、前回ＢＬＥ端末２０ａからパケットを受信してからの経過時間が接続監視タイムアウト以上か否かを判定する。あるいは、ＢＬＥ端末２０ａは、前回ＢＬＥ端末２０ａに対して応答パケットを送信してからの経過時間が接続監視タイムアウト以上か否かを判定してもよい。そして、前回ＢＬＥ端末２０ａと通信を行ってからの経過時間が接続監視タイムアウト以上の場合には、ＢＬＥ端末２０ｂは、ＢＬＥ端末２０ａとの接続を解除し、接続状態から非接続状態に移行して、図２３の処理を終了する。この接続監視タイムアウトは、接続の確立時にＢＬＥ端末２０ａによって決定されて通知される。
【０３０６】
以上のように、本実施形態では、ＢＬＥ端末２０ａは、携帯端末１０ａ（親）と接続した状態で、携帯端末１０ｂと接続された状態のＢＬＥ端末２０ｂ（子）と通信を行う。すなわち、あるネットワークにスレーブとして参加しているＢＬＥ端末２０ａは、別のネットワークにスレーブとして参加しているＢＬＥ端末２０ｂと通信を行う。具体的には、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂと接続していない状態でアドバタイジングパケットをブロードキャスト（非限定の不特定の機器又は限定された不特定の機器へのブロードキャスト）で送受信することにより、ＢＬＥ端末２０ｂと互いに通信を行う。また、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂと接続を確立し、接続状態で互いに通信を行う。
【０３０７】
また、本実施形態では、親子間の接続が維持されるように、子同士の通信が制御される。すなわち、子は、親子間の接続を維持するための通信（親子間のコネクションイベント）が発生するタイミングでは、子同士の通信を行わずに、親子間の通信を優先的に行う。例えば、ＢＬＥ端末２０は、親子間の接続を維持するための通信のタイミングと、子同士の通信のタイミングとが一致する場合、子同士の通信を制限して（子同士の通信を行わずに）、親子間の通信を優先的に行う。また、ＢＬＥ端末２０は、親子間の接続を維持するための通信が行われるタイミングを含む所定期間は、子同士の通信を制限してもよい。
【０３０８】
また、ＢＬＥ端末２０は、子同士の通信の効率を向上させるために、親子間の接続を維持するための通信のタイミングを調整する。具体的には、携帯端末１０ａとＢＬＥ端末２０ａとの接続Ａを維持するための通信のタイミングと、携帯端末１０ｂとＢＬＥ端末２０ｂとの接続Ｂを維持するための通信のタイミングとが近くなるように、これらの通信のタイミングが調整される。このような調整が行われることにより、ＢＬＥ端末２０は、親子間の接続を維持した状態で、子同士で効率よく通信を行うことができる。
【０３０９】
子同士の通信では、アプリケーションデータが互いに送受信される。アプリケーションデータとしては、例えば、ゲームキャラクタやアイテム等のゲームにおいて用いられるデータ（キャラクタやアイテムの実データやＩＤを示すデータ）、ゲーム名やゲームＩＤ等であってもよい。また、アプリケーションで用いられるデータとしては、アプリケーションで再生される、文字データ、画像データ、動画データ、音声データ、広告のためのデータ等であってもよい。また、アプリケーションデータとして、ＢＬＥ端末２０の位置情報（ＧＰＳ情報）、ＢＬＥ端末２０に設けられたセンサ（例えば、加速度センサや角速度センサ等の慣性センサ、温度センサ、湿度センサ、血圧や脈拍等の人体の生体情報を取得可能なセンサ等）等からの出力情報であってもよい。子同士の通信で受信したアプリケーションデータに基づいてＢＬＥ端末２０が所定の処理を行ってもよいし、受信したアプリケーションデータは、携帯端末１０に送信されて携帯端末１０において当該データに基づく所定の処理が行われてもよい。
【０３１０】
なお、上記フローチャートにおける各ステップの処理は、単なる一例に過ぎず、各ステップの処理順序を入れ替えてもよいし、各ステップの処理が実行されなくてもよい。また、上記フローチャートにおける処理に他の処理が付加されてもよい。
【０３１１】
また、上記実施形態では、各機器は、ＢＬＥ規格に基づく通信を行うものとしたが、ＢＬＥに限らずクラシックＢｌｕｅｔｏｏｔｈに基づく通信が行われてもよい。また、他の規格（例えば、ＩＥＥＥ８０２．１１シリーズ等）に基づく通信が行われてもよい。また、その他の任意の規格に基づく通信が行われてもよい。なお、上記ＢＬＥ規格に基づく通信では、接続状態において、接続確立時に生成された共通のアクセスアドレスを用いて２つの機器間で通信が行われる。他の規格に基づく通信においては、例えば、接続が確立された後の接続状態では、機器固有のアドレスを用いて通信が行われる。すなわち、送信側は、受信側の機器のアドレスを指定してパケットを送信する（ユニキャスト）。
【０３１２】
また、上記実施形態では、親子間の通信を子同士の通信よりも優先的に行ったが、他の実施形態では、子同士の通信を親子間の通信よりも優先的に行ってもよい。例えば、携帯端末１０ａとＢＬＥ端末２０ａとが常に接続されている状態である場合において、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとがある期間だけ通信可能な範囲にある場合を想定する。例えば、携帯端末１０ａとＢＬＥ端末２０ａとを携帯するユーザＡが移動しており、携帯端末１０ｂとＢＬＥ端末２０ｂとを携帯するユーザＢが移動している場合において、ユーザＡとユーザＢとがすれ違うケースが考えられる。この場合、携帯端末１０ａとＢＬＥ端末２０ａとは常に近距離に位置し、携帯端末１０ｂとＢＬＥ端末２０ｂとは常に近距離に位置するため、携帯端末１０ａとＢＬＥ端末２０ａとは常に通信可能であり、携帯端末１０ｂとＢＬＥ端末２０ｂとは常に通信可能である。しかしながら、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとは、すれ違う間だけ通信可能な範囲にあり、ＢＬＥ端末２０ａとＢＬＥ端末２０ｂとがデータをやり取りするためには、短期間にデータをやり取りする必要がある。このような場合は、子同士（ＢＬＥ端末２０ａ及びＢＬＥ端末２０ｂ）の通信を親子間（携帯端末１０ａ及びＢＬＥ端末２０ａ、あるいは、携帯端末１０ｂ及びＢＬＥ端末２０ｂ）の通信よりも優先的に行ってもよい。例えば、子同士は、接続を確立せずに通信を行ってもよく、接続を確立して通信を行ってもよい。子同士の通信を行っている間に、親子間のコネクションイベントが発生した場合でも子同士の通信が優先されてもよい。親子間の通信が行われない期間がスレーブレイテンシーを超えることがあっても、子同士の通信を優先させてもよい。すなわち、例えば、携帯端末１０ａとＢＬＥ端末２０ａとの接続において、ＢＬＥ端末２０ａは、携帯端末１０ａに対して応答を返さなければ携帯端末１０ａとの接続におけるスレーブレイテンシーを超える場合であっても、ＢＬＥ端末２０ｂとの通信を優先的に行ってもよい。このような場合では、親子間の接続は、子同士の通信が完了した後（ユーザＡとユーザＢとが離れた後）すぐにでも再開できる。上述のように、通信が行われない期間がスレーブレイテンシーを超えても接続監視タイムアウト以内であれば親子間の接続は維持される。また、例えば、ＢＬＥ端末２０ａは、ＢＬＥ端末２０ｂとの通信が完了した後（ＢＬＥ端末２０ｂとの通信が不可能になった後）、ＢＬＥ端末２０ｂとの通信を優先したことによって携帯端末１０ａとの接続が解除された場合であっても、「ＡＤＶ＿ＤＩＲＥＣＴ＿ＩＮＤ」のタイプのアドバタイジングパケットを送信することで、携帯端末１０ａと高速に接続を確立することができる。しかしながら、子同士の通信は、ユーザＡとユーザＢとがすれ違う間にしかできないため、子同士の通信を親子間の通信よりも優先的に行ってもよい。
【０３１３】
また、上記実施形態では、子同士の接続におけるコネクションインターバルＣＩｃやスレーブレイテンシーＳＬｃを変更することによって子同士の通信を制限し、子同士の通信を制限した期間において親子間の通信を行うようにした（図１５）。他の実施形態では、例えば、コネクションインターバル及び／又はスレーブレイテンシーに加えて、接続監視タイムアウトを変更してもよい。また、コネクションインターバル及び／又はスレーブレイテンシーに代えて、接続監視タイムアウトを変更してもよい。子同士の接続における接続監視タイムアウトを変更する（現在の値よりも長くする）ことによって、子同士の通信が比較的長い時間行われなれない場合でも子同士の接続が解除されないようにし、子同士の通信が行われない期間において、親子間の通信を行ってもよい。
【０３１４】
この明細書に記載されている処理の一部又は全部は、携帯端末又はＢＬＥ端末のCPU及び／又は他のプロセッサが通信プログラムを実行することによって行われてもよい。また、上記処理の一部又は全部は、携帯端末又はＢＬＥ端末が備えるASIC（Application  Specific  Integrated  Circuit）によって行われてもよい。
【符号の説明】
【０３１５】
１  無線通信システム
１０ａ、１０ｂ  携帯端末
２０ａ、２０ｂ  ＢＬＥ端末
２５  ＢＬＥ通信モジュール
【図１】
2020127238.tif 000003
【図２】
2020127238.tif 000004
【図３】
2020127238.tif 000005
【図４】
2020127238.tif 000006
【図５】
2020127238.tif 000007
【図６】
2020127238.tif 000008
【図７】
2020127238.tif 000009
【図８】
2020127238.tif 000010
【図９】
2020127238.tif 000011
【図１０】
2020127238.tif 000012
【図１１】
2020127238.tif 000013
【図１２】
2020127238.tif 000014
【図１３】
2020127238.tif 000015
【図１４】
2020127238.tif 000016
【図１５】
2020127238.tif 000017
【図１６】
2020127238.tif 000018
【図１７】
2020127238.tif 000019
【図１８】
2020127238.tif 000020
【図１９】
2020127238.tif 000021
【図２０】
2020127238.tif 000022
【図２１】
2020127238.tif 000023
【図２２】
2020127238.tif 000024
【図２３】
2020127238.tif 000025
【手続補正書】
【提出日】令和2年5月8日(2020.5.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
無線通信を行うことが可能な複数の機器を含む無線システムであって、
前記無線システムは、第１の機器と、第２の機器と、第３の機器と、第４の機器とを含み、
前記第１の機器及び前記第２の機器は、
前記第１の機器をマスターとし、前記第２の機器をスレーブとして、前記第１の機器と前記第２の機器との間で接続を確立して無線通信を行い、
前記第４の機器及び前記第３の機器は、
前記第４の機器をマスターとし、前記第３の機器をスレーブとして、前記第４の機器と前記第３の機器との間で接続を確立して無線通信を行い、
前記第２の機器は、
データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、
ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、を有し、
スレーブとして前記第１の機器と接続された状態で前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、スレーブとして前記第４の機器と接続された状態の前記第３の機器と接続を確立せずに無線通信を行い、
前記送信処理の実行期間、前記送信処理を実行するタイミング、前記受信処理の実行期間、及び、前記受信処理を実行するタイミングのうち少なくとも何れか１つを変更しながら、前記送信処理と前記受信処理とを繰り返し実行する、無線システム。
【請求項２】
前記第２の機器は、前記第３の機器と接続していない状態で、スレーブとして前記第４の機器と接続された状態の前記第３の機器との間で無線通信によって所定のデータの送信又は受信を行う、請求項１に記載の無線システム。
【請求項３】
前記第２の機器は、前記所定のデータとして、アプリケーションにおいて利用されるデータの送信又は受信を行う、請求項２に記載の無線システム。
【請求項４】
前記送信処理の実行期間、前記送信処理を実行するタイミング、前記受信処理の実行期間、及び、前記受信処理の実行するタイミングのうち少なくとも何れかはランダムに設定される、請求項１から３の何れかに記載の無線システム。
【請求項５】
前記送信処理と前記受信処理との間には、前記送信処理および前記受信処理の何れも行われないスリープ期間が存在する、請求項１から４の何れかに記載の無線システム。
【請求項６】
前記スリープ期間は可変である、請求項５に記載の無線システム。
【請求項７】
前記スリープ期間はランダムに設定される、請求項６に記載の無線システム。
【請求項８】
前記第２の機器は、前記第１の機器からの指示なしで、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行う、請求項１から７の何れかに記載の無線システム。
【請求項９】
前記第１の機器と前記第２の機器とは、前記第１の機器と前記第２の機器が接続された状態において、同期通信を繰り返し行い、
前記第２の機器は、前記第１の機器と前記第２の機器との間の同期通信が行われるタイミングとは異なるタイミングで、スレーブとして前記第４の機器と接続された状態の前記第３の機器と無線通信を行う、請求項１から８の何れかに記載の無線システム。
【請求項１０】
前記第１の機器と前記第２の機器とは、同期通信を繰り返し行い、
前記第４の機器と前記第３の機器とは、同期通信を繰り返し行い、
前記第１の機器と前記第２の機器との間の同期通信と、前記第４の機器と前記第３の機器との間の同期通信と、のうちの少なくとも何れか一方の同期通信のタイミングを調整する調整手段をさらに備える、請求項１から９の何れかに記載の無線システム。
【請求項１１】
前記第２の機器が前記調整手段を備える、請求項１０に記載の無線システム。
【請求項１２】
前記調整手段は、前記第１の機器と前記第２の機器との間の同期通信のタイミングと、前記第４の機器と前記第３の機器との間の同期通信のタイミングと、が近くなるように調整する、請求項１０又は１１に記載の無線システム。
【請求項１３】
前記第１の機器と前記第２の機器が接続された状態において、前記第１の機器と前記第２の機器とは、同期通信を繰り返し行い、
前記第２の機器は、前記第１の機器と前記第２の機器との間の同期通信が行われるタイミングにおいて、前記第２の機器と前記第３の機器との間の無線通信よりも前記第１の機器との間の無線通信を優先して行う、請求項１から１２の何れかに記載の無線システム。
【請求項１４】
前記無線システムは、前記第１の機器と前記第２の機器との接続のための許容期間を設定する許容期間設定手段を含み、
前記第２の機器は、
前記第１の機器と接続された状態において、前記許容期間に基づいて、前記第１の機器との同期通信を実行すべきか否かを判定する判定手段と、
前記許容期間において前記第１の機器と前記第２の機器との間の同期通信が行われるように、前記第３の機器との通信又は前記第１の機器との通信の少なくともいずれか一方を制御する通信制御手段とを有する、請求項１３に記載の無線システム。
【請求項１５】
前記第２の機器は、前記第１の機器との同期通信のタイミングと、前記第３の機器との無線通信のタイミングとが重なる場合、前記第１の機器との同期通信を優先して行う、請求項１３又は１４に記載の無線システム。
【請求項１６】
前記送信手段は、次以降に自機で行われる前記送信処理及び／又は前記受信処理のタイミングを示すタイミング情報を含むデータを送信する、請求項１から１５の何れかに記載の無線システム。
【請求項１７】
前記第２の機器の送信手段は、前記タイミング情報を含むデータをブロードキャスト又はマルチキャストで送信する、請求項１６に記載の無線システム。
【請求項１８】
前記第２の機器の送信手段は、他の機器からブロードキャスト又はマルチキャストで送信されたデータを受信したことに応じて、前記タイミング情報を含むデータを送信する、請求項１６又は１７に記載の無線システム。
【請求項１９】
前記第３の機器は、
データを無線で送信する送信処理と、データを無線で受信する受信処理とを繰り返し行い、
前記第２の機器からの前記タイミング情報に基づいて、前記送信処理及び／又は前記受信処理を行うタイミングを調整する、請求項１６から１８の何れかに記載の無線システム。
【請求項２０】
前記第１の機器と前記第２の機器との間の無線通信、前記第４の機器と前記第３の機器との間の無線通信、および、前記第２の機器と前記第３の機器との間の無線通信の規格は、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙである、請求項１から１９の何れかに記載の無線システム。
【請求項２１】
Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）規格に基づく無線通信を行うことが可能な複数の機器を含む無線システムであって、
前記無線システムは、第１の機器と、第２の機器と、第４の機器と、第３の機器とを含み、
前記第１の機器及び前記第２の機器は、
前記第１の機器をセントラルとし、前記第２の機器をペリフェラルとして、前記第１の機器と前記第２の機器との間で接続を確立してＢＬＥ規格に基づいた無線通信を行い、
前記第４の機器及び前記第３の機器は、
前記第４の機器をセントラルとし、前記第３の機器をペリフェラルとして、前記第４の機器と前記第３の機器との間で接続を確立してＢＬＥ規格に基づいた無線通信を行い、
前記第２の機器は、
データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、
ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、を有し、
前記第１の機器と前記第２の機器との接続が維持された状態で前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、ペリフェラルとして前記第４の機器と接続された状態の前記第３の機器と接続を確立せずにＢＬＥ規格に基づいた無線通信を行い、
前記送信処理の実行期間、前記送信処理を実行するタイミング、前記受信処理の実行期間、及び、前記受信処理を実行するタイミングのうち少なくとも何れか１つを変更しながら、前記送信処理と前記受信処理とを繰り返し実行する、無線システム。
【請求項２２】
複数の機器と無線通信を行うことが可能な無線機器であって、
前記複数の機器のうちの第１の機器をマスターとし、自機をスレーブとして、当該第１の機器との間で接続を確立する接続確立手段と、
データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、
ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、
スレーブとして前記第１の機器と接続された状態で前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、当該第１の機器とは異なる第２の機器のスレーブとして接続された状態の第３の機器と接続を確立せずに無線通信を行う通信手段とを備え、
前記送信処理の実行期間、前記送信処理を実行するタイミング、前記受信処理の実行期間、及び、前記受信処理を実行するタイミングのうち少なくとも何れか１つを変更しながら、前記送信処理と前記受信処理とを繰り返し実行する、無線機器。
【請求項２３】
複数の機器と無線通信を行うことが可能な無線機器のプロセッサにおいて実行可能な通信プログラムであって、前記プロセッサを、
前記複数の機器のうちの第１の機器をマスターとし、前記無線機器をスレーブとして、当該第１の機器との間で接続を確立する接続確立手段と、
データをブロードキャスト又はマルチキャストで無線で送信する送信手段と、
ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信手段と、
前記無線機器がスレーブとして前記第１の機器と接続された状態で前記送信手段による送信処理と前記受信手段による受信処理とを繰り返し実行することにより、当該第１の機器とは異なる第２の機器のスレーブとして接続された状態の第３の機器と接続を確立せずに無線通信を行う通信手段として機能させ、
前記通信手段は、前記送信処理の実行期間、前記送信処理を実行するタイミング、前記受信処理の実行期間、及び、前記受信処理を実行するタイミングのうち少なくとも何れか１つを変更しながら、前記送信処理と前記受信処理とを繰り返し実行する、通信プログラム。
【請求項２４】
無線通信を行うことが可能な複数の機器を含む無線システムにおいて実行される通信方法であって、
前記無線システムは、第１の機器と、第２の機器と、第３の機器と、第４の機器とを含み、
前記通信方法は、
前記第１の機器をマスターとし、前記第２の機器をスレーブとして、前記第１の機器と前記第２の機器との間で接続を確立して無線通信を行うステップと、
前記第４の機器をマスターとし、前記第３の機器をスレーブとして、前記第４の機器と前記第３の機器との間で接続を確立して無線通信を行ステップと、
前記第２の機器が、
データをブロードキャスト又はマルチキャストで無線で送信する送信ステップと、
ブロードキャスト又はマルチキャストで送信されたデータを無線で受信する受信ステップと、
スレーブとして前記第１の機器と接続された状態で前記送信ステップにおける送信処理と前記受信ステップにおける受信処理とを繰り返し実行することにより、スレーブとして前記第４の機器と接続された状態の前記第３の機器と接続を確立せずに無線通信を行う通信ステップとを含み、
前記第２の機器は、前記通信ステップにおいて、前記送信処理の実行期間、前記送信処理を実行するタイミング、前記受信処理の実行期間、及び、前記受信処理を実行するタイミングのうち少なくとも何れか１つを変更しながら、前記送信処理と前記受信処理とを繰り返し実行する、通信方法。