IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サイレックス・テクノロジー株式会社の特許一覧

特開2024-85814通信装置、通信システム、制御方法、および、プログラム
<>
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図1
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図2
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図3
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図4
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図5
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図6
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図7
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図8
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図9
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図10
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図11
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図12
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図13
  • 特開-通信装置、通信システム、制御方法、および、プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024085814
(43)【公開日】2024-06-27
(54)【発明の名称】通信装置、通信システム、制御方法、および、プログラム
(51)【国際特許分類】
   H04W 74/04 20090101AFI20240620BHJP
【FI】
H04W74/04
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022200559
(22)【出願日】2022-12-15
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】500112146
【氏名又は名称】サイレックス・テクノロジー株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】菊川 正純
(72)【発明者】
【氏名】大久保 達弘
(72)【発明者】
【氏名】船山 裕介
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA34
5K067EE02
(57)【要約】
【課題】複数の端末からパケットを効率良く受信することを実現する。
【解決手段】通信装置10は、通信装置10と複数の端末20a~20cそれぞれとの無線通信の第一ラウンドトリップ時間を計測する計測部121と、複数の端末20a~20cそれぞれについて計測された第一ラウンドトリップ時間を基準として、複数の端末20a~20cそれぞれの第二ラウンドトリップ時間の合計値が、無線通信について予め定められた単位時間に複数の端末20a~20cの台数を乗じた時間のN倍(ただし、Nは正の整数)となるように、複数の端末20a~20cそれぞれについて第二ラウンドトリップ時間を設定する設定部122と、設定された第二ラウンドトリップ時間で通信装置10と複数の端末20a~20cそれぞれとが新たな無線通信をするように、複数の端末20a~20cのそれぞれにパケットの送信指示を出力する出力部123とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数の端末と無線通信する通信装置であって、
前記通信装置と前記複数の端末のそれぞれとの無線通信の第一ラウンドトリップ時間を計測する計測部と、
前記複数の端末それぞれについて計測された前記第一ラウンドトリップ時間を基準として、前記複数の端末それぞれが送信するパケットの衝突を回避するための第二ラウンドトリップ時間を設定するに際して、前記複数の端末それぞれの前記第二ラウンドトリップ時間の合計値が、前記無線通信について予め定められた単位時間に前記複数の端末の台数を乗じた時間のN倍(ただし、Nは正の整数)となるように、前記複数の端末それぞれについて前記第二ラウンドトリップ時間を設定する設定部と、
設定された前記第二ラウンドトリップ時間で前記通信装置と前記複数の端末それぞれとが無線通信をするように、前記複数の端末のそれぞれにパケットの送信指示を出力する出力部と
を備える
通信装置。
【請求項2】
前記設定部は、前記複数の端末それぞれについて、前記第二ラウンドトリップ時間を前記第一ラウンドトリップ時間以上の長さに設定する
請求項1に記載の通信装置。
【請求項3】
前記設定部は、前記複数の端末それぞれについて、前記Nが最小となるように前記第二ラウンドトリップ時間に設定する
請求項2に記載の通信装置。
【請求項4】
前記設定部は、前記複数の端末それぞれについて、前記第二ラウンドトリップ時間から前記第一ラウンドトリップ時間を減算した時間を待機時間として算出し、
前記出力部は、前記複数の端末それぞれに対して、当該端末について算出した前記待機時間を含めて前記送信指示を出力し、
前記通信装置は、さらに、前記複数の端末それぞれが、前記送信指示を受信してから前記待機時間で待機した後に送信した前記パケットを受信する
請求項1に記載の通信装置。
【請求項5】
前記設定部は、さらに、前記第二ラウンドトリップ時間に基づいて前記複数の端末それぞれが送信する前記パケットを前記通信装置が互いに異なる時間で受信するように、前記出力部が前記複数の端末それぞれに前記送信指示を出力する順番を設定し、
前記出力部は、前記単位時間ごとに、前記複数の端末に順次に前記送信指示を出力する
請求項1~4のいずれか1項に記載の通信装置。
【請求項6】
前記設定部は、さらに、前記第二ラウンドトリップ時間に基づいて前記複数の端末それぞれが送信する前記パケットを前記通信装置が互いに異なる時間で受信するように、前記複数の端末それぞれに前記送信指示を出力する順番を設定し、
前記出力部は、設定された順番に応じた時間を待機時間に加えて前記複数の端末に一時に前記送信指示を出力する
請求項1~4のいずれか1項に記載の通信装置。
【請求項7】
前記設定部は、前記複数の端末のうち受信頻度をX(Xは2以上の整数)倍に増やす端末について当該端末の数をX台とみなして、前記複数の端末の台数を算出し、前記複数の端末それぞれの前記第二ラウンドトリップ時間の合計値が、前記無線通信について予め定められた単位時間に前記複数の端末の台数を乗じた時間のN倍(ただし、Nは正の整数)となるように、前記複数の端末それぞれについて前記第二ラウンドトリップ時間を設定する
請求項1~4のいずれか1項に記載の通信装置。
【請求項8】
請求項1に記載の通信装置と、
前記複数の端末と
を備える、
通信システム。
【請求項9】
複数の端末と無線通信する通信装置の制御方法であって、
前記通信装置と前記複数の端末それぞれとの無線通信の第一ラウンドトリップ時間を計測する計測ステップと、
前記複数の端末それぞれについて計測された前記第一ラウンドトリップ時間を基準として、前記複数の端末それぞれが送信するパケットの衝突を回避するための第二ラウンドトリップ時間を設定するに際して、前記複数の端末それぞれの前記第二ラウンドトリップ時間の合計値が、前記無線通信について予め定められた単位時間に前記複数の端末の台数を乗じた時間のN倍(ただし、Nは正の整数)となるように、前記複数の端末それぞれについて前記第二ラウンドトリップ時間を設定する設定ステップと、
設定された前記第二ラウンドトリップ時間で前記通信装置と前記複数の端末それぞれとが無線通信をするように、前記複数の端末のそれぞれにパケットの送信指示を出力する出力ステップと
を含む
制御方法。
【請求項10】
請求項9に記載の制御方法をコンピュータに実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、通信システム、制御方法、および、プログラムに関する。
【背景技術】
【0002】
例えば、無線通信におけるパケットの衝突回避の方式としてCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)がある。CSMA/CAは、無線LANの通信規格であるIEEE802.11シリーズで採用されている(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】"IEEE Standard for Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications," in IEEE Std 802.11-1997, 18 Nov. 1997
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に記載の技術では、例えば、通信装置が複数の端末とデータ通信を行うシステムにおいて、自装置が無線通信を開始する前に無線通信に用いる無線チャネル(周波数帯)を継続的に監視し、一定時間以上継続して当該無線チャネルが使用されていないことを確認して初めて無線通信を開始できる。この場合に、通信装置が特定の端末と無線通信を開始できるまでに時間(待機時間)を要する。端末の台数が多いほど、待機時間が長くなる問題が生じ得る。このように、端末の台数によっては、複数の端末のそれぞれがパケットを送信するタイミングを調整することが難しい場合がある。また、上述のCSMA/CA方式を採用しないBLE(Bluetooth Low Energy)などのアドバタイズ通信では、端末それぞれの送信時刻で無線通信が開始されるため、パケットの衝突を回避することは容易ではない。当該通信において、パケットの衝突を回避するために、例えば複数の端末それぞれの送信時刻を予め割り当てていたとしても、端末の台数が多くなれば、送信するタイミングの待機時間が長くなる問題が上述と同様に生じ得る。
【0005】
本発明は、上記問題を解決するためになされたものであり、複数の端末からパケットを効率良く受信することができる通信装置などを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の一態様に係る通信装置は、複数の端末と無線通信する通信装置であって、前記通信装置と前記複数の端末それぞれとの無線通信の第一ラウンドトリップ時間を計測する計測部と、前記複数の端末それぞれについて計測された前記第一ラウンドトリップ時間を基準として、前記複数の端末それぞれが送信するパケットの衝突を回避するための第二ラウンドトリップ時間を設定するに際して、前記複数の端末それぞれの前記第二ラウンドトリップ時間の合計値が、前記無線通信について予め定められた単位時間に前記複数の端末の台数を乗じた時間のN倍(ただし、Nは正の整数)となるように、前記複数の端末それぞれについて前記第二ラウンドトリップ時間を設定する設定部と、設定された前記第二ラウンドトリップ時間で前記通信装置と前記複数の端末それぞれとが無線通信をするように、前記複数の端末のそれぞれにパケットの送信指示を出力する出力部とを備える通信装置である。
【0007】
これによれば、通信装置は、複数の端末それぞれが送信するパケットの衝突を回避する第二ラウンドトリップ時間を少なくとも設定することにより、パケット同士の衝突が生じなくなるため、複数の端末からパケットを効率良く受信することができる。
【0008】
また、前記設定部は、前記複数の端末それぞれについて、前記第二ラウンドトリップ時間を、前記第一ラウンドトリップ時間以上の長さに設定してもよい。
【0009】
これによれば、通信装置は、第二ラウンドトリップ時間の合計値が無線通信の単位時間に複数の端末の台数を乗じた時間のN倍(ただし、Nは正の整数)となるように、第一ラウンドトリップ時間の合計値に加算する時間を容易に算出することができる。よって、通信装置は、第二ラウンドトリップ時間を効率良く設定することができる。
【0010】
また、前記設定部は、前記複数の端末それぞれについて、前記Nが最小となるように前記第二ラウンドトリップ時間に設定してもよい。
【0011】
これによれば、通信装置は、複数の端末のそれぞれについて、上記Nが最小となるように第二ラウンドトリップ時間に設定するため、他のNの値について計算する必要が無い。そのため、通信装置は、第二ラウンドトリップ時間を効率良く設定することができる。
【0012】
また、前記設定部は、前記複数の端末それぞれについて、前記第二ラウンドトリップ時間から前記第一ラウンドトリップ時間を減算した時間を待機時間として算出し、前記出力部は、前記複数の端末それぞれに対して、当該端末について算出した前記待機時間を含めて前記送信指示を出力し、前記通信装置は、さらに、前記複数の端末それぞれが、前記送信指示を受信してから前記待機時間で待機した後に送信した前記パケットを受信してもよい。
【0013】
これによれば、通信装置は、複数の端末それぞれに、当該端末の待機時間を含めてパケットの送信指示を出力し、当該送信指示に従って複数の端末から送信されたパケットを受信することができるため、パケットの衝突が生じにくくなる。そのため、通信装置は、複数の端末から効率良くパケットを受信することができる。
【0014】
また、前記設定部は、さらに、前記第二ラウンドトリップ時間に基づいて前記複数の端末それぞれが送信する前記パケットを前記通信装置が互いに異なる時間で受信するように、前記出力部が前記複数の端末それぞれに前記送信指示を出力する順番を設定し、前記出力部は、前記単位時間ごとに、前記複数の端末に順次に前記送信指示を出力してもよい。
【0015】
これによれば、通信装置は、単位時間ごとに、複数の端末それぞれの第二ラウンドトリップ時間に基づいて設定した順番で複数の端末それぞれにパケットの送信指示を出力するため、パケットの衝突を回避することができる。そのため、通信装置は、複数の端末から効率良くパケットを受信することができる。
【0016】
また、前記設定部は、さらに、前記第二ラウンドトリップ時間に基づいて前記複数の端末それぞれが送信する前記パケットを前記通信装置が互いに異なる時間で受信するように、前記複数の端末それぞれに前記送信指示を出力する順番を設定し、前記出力部は、設定された順番に応じた時間を待機時間に加えて前記複数の端末に一時に前記送信指示を出力してもよい。
【0017】
これによれば、通信装置は、複数の端末それぞれの第二ラウンドトリップ時間に基づいて設定した順番に対応する時間を各端末の待機時間に含めて送信指示を出力するため、複数の端末に送信指示を一時に出力しても、パケットの衝突を回避することができる。そのため、通信装置は、複数の端末から効率良くパケットを受信することができる。
【0018】
また、前記設定部は、前記複数の端末のうち受信頻度をX(Xは2以上の整数)倍に増やす端末について当該端末の数をX台とみなして、前記複数の端末の台数を算出し、前記複数の端末それぞれの前記第二ラウンドトリップ時間の合計値が、前記無線通信について予め定められた単位時間に前記複数の端末の台数を乗じた時間のN倍(ただし、Nは正の整数)となるように、前記複数の端末それぞれについて前記第二ラウンドトリップ時間を設定してもよい。
【0019】
これによれば、通信装置は、パケットの送信頻度を端末ごとに設定することができるため、複数の端末から送信されるデータのうちより重要度の高いデータの送信頻度を増加させることができる。そのため、通信装置は、より重要度の高いデータを迅速に取得することができる。
【0020】
また、本発明の一態様に係る通信システムは、上記の通信装置と、前記複数の端末とを備える通信システムである。
【0021】
これによれば、上記通信装置と同様の効果を奏する。
【0022】
また、本発明の一態様に係る制御方法は、複数の端末と無線通信する通信装置の制御方法であって、前記通信装置と前記複数の端末それぞれとの無線通信の第一ラウンドトリップ時間を計測する計測ステップと、前記複数の端末それぞれについて計測された前記第一ラウンドトリップ時間を基準として、前記複数の端末それぞれが送信するパケットの衝突を回避するための第二ラウンドトリップ時間を設定するに際して、前記複数の端末それぞれの前記第二ラウンドトリップ時間の合計値が、前記無線通信について予め定められた単位時間に前記複数の端末の台数を乗じた時間のN倍(ただし、Nは正の整数)となるように、前記複数の端末それぞれについて前記第二ラウンドトリップ時間を設定する設定ステップと、設定された前記第二ラウンドトリップ時間で前記通信装置と前記複数の端末それぞれとが無線通信をするように、前記複数の端末のそれぞれにパケットの送信指示を出力する出力ステップとを含む制御方法である。
【0023】
これによれば、上記通信装置と同様の効果を奏する。
【0024】
また、本発明の一態様に係るプログラムは、上記の制御方法をコンピュータに実行させるプログラムである。
【0025】
これによれば、上記通信装置と同様の効果を奏する。
【0026】
なお、本発明は、装置として実現できるだけでなく、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD-ROMなどの記録媒体として実現したり、そのプログラムを示す情報、データまたは信号として実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、インターネット等の通信ネットワークを介して配信してもよい。
【発明の効果】
【0027】
本発明により、通信装置は、複数の端末からパケットを効率良く受信することができる。
【図面の簡単な説明】
【0028】
図1図1は、本実施の形態に係る通信システムおよび通信装置の構成を示す模式図である。
図2図2は、本実施の形態に係る通信装置が実行する処理の一例を示すフロー図である。
図3図3は、実施の形態に係る通信システムが実行する処理の一例を示すシーケンス図である。
図4図4は、通信装置の設定部が行う第二ラウンドトリップ時間の設定処理を説明するための図である。
図5図5は、通信装置の設定部が行う処理の第一例を説明するための図である。
図6図6は、通信装置の設定部が行う処理の第二例を説明するための図である。
図7図7は、通信装置の設定部が行う処理の第三例を説明するための図である。
図8図8は、通信装置の設定部が行う処理の第四例を説明するための図である。
図9図9は、実施の形態に係る通信システムの適用例、および、通信装置の設定部が行う処理の第五例を説明するための図である。
図10図10は、実施の形態の変形例1に係る通信システムが実行する処理の第二例を示すシーケンス図である。
図11図11は、出力順が設定された複数の端末のそれぞれにパケットの送信指示が一時に出力される場合に、当該送信指示に含まれるパケットの受信時間の設定処理の一例を説明するための図である。
図12図12は、出力順が設定された複数の端末のそれぞれにパケットの送信指示が一時に出力される場合に、当該送信指示に含まれるパケットの受信時間の設定処理の一例を説明するための図である。
図13図13は、出力順が設定された複数の端末のそれぞれにパケットの送信指示が一時に出力される場合に、当該送信指示に含まれるパケットの受信時間の設定処理の一例を説明するための図である。
図14図14は、出力順が設定された複数の端末のそれぞれにパケットの送信指示が一時に出力される場合に、当該送信指示に含まれるパケットの受信時間の設定処理の一例を説明するための図である。
【発明を実施するための形態】
【0029】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0030】
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
【0031】
(実施の形態)
本実施の形態において、複数の情報端末から通信パケットを効率良く受信することができる通信システムおよび通信装置などについて説明する。
【0032】
まず、本実施の形態に係る通信システムおよび通信装置について図1を参照しながら説明する。図1は、本実施の形態に係る通信システムおよび通信装置の構成を示す模式図である。
【0033】
図1に示されるように、通信システム1は、例えば、通信装置10と、複数の端末20a、20bおよび20cとを備える。通信装置10は、複数の端末20a、20bおよび20cのそれぞれと無線通信する。
【0034】
通信装置10は、例えば、通信部11と、制御部12と、記憶部13とを備える。通信部11は、複数の端末20a~20cと無線通信を行う通信回路(または、通信モジュール)である。無線通信の通信規格は、例えば、BLE通信規格等である。
【0035】
制御部12は、通信装置10に関する各種情報処理を行う。制御部12は、例えば、マイクロコンピュータによって実現されるが、プロセッサまたは専用回路によって実現されてもよい。制御部12の機能は、制御部12を構成するマイクロコンピュータまたはプロセッサなどのハードウェアが記憶部13に記憶されたコンピュータプログラム(ソフトウェア)を実行することによって実現される。
【0036】
制御部12は、機能的な構成要素として、計測部121と、設定部122と、出力部123とを備える。計測部121、設定部122、および、出力部123が行う具体的な処理については、後述する。
【0037】
記憶部13は、制御部12が実行するコンピュータプログラムなどが記憶される記憶装置である。また、記憶部13は、通信部11および制御部12で行われる情報処理により記憶する必要が生じた情報を一時的に記憶できる。記憶部13は、例えば、HDD(Hard Disk Drive)によって実現されるが、半導体メモリによって実現されてもよい。
【0038】
複数の端末20a~20cは、例えば、1つの空間内で複数のユーザにより使用される端末である。例えば、空間は、建物内で壁またはパーティションなどで区切られた空間である。例えば、建物は、学校、オフィスビル、イベントホール、映画館、スポーツジム、遊園地、または、病院などであり、空間は、教室、セミナールーム、会議室、上映室、トレーニングルーム、お化け屋敷、または、カンファレンスルームなどである。端末20a~20cは、例えば、スマートフォンまたはウェアラブル端末などである。なお、図1では、端末20a~20cの3台が存在するシステムを示しているが、端末の台数はこれに限らない。
【0039】
続いて、本実施の形態に係る通信装置10が実行する処理の一例について図2を参照しながら説明する。図2は、本実施の形態に係る通信装置10が実行する処理の一例を示すフロー図である。なお、条件により分岐を生じる処理については、各処理の説明の中で詳細に説明する。
【0040】
図2に示されるように、通信装置10の計測部121は、通信装置10と複数の端末20a~20cそれぞれとの無線通信のラウンドトリップ時間(第一ラウンドトリップ時間ともいう)を計測する(計測ステップS1)。この計測では、通信装置10が複数の端末20a~20cそれぞれにパケットの送信指示を送り、当該端末それぞれから応答パケットを受信するまでに要する時間を測定する。なお、通信装置10と複数の端末20a~20cとの間の無線通信は、例えば、無線LANなどにおいて中継器を介して行われてもよいし、中継器を介さず直接行われてもよい。
【0041】
次に、通信装置10の設定部122は、通信装置10と複数の端末20a~20cそれぞれとの新たな無線通信において、複数の端末20a~20cそれぞれが送信するパケットの衝突を回避するためのラウンドトリップ時間(第二ラウンドトリップ時間ともいう)を設定する(設定ステップS2)。具体的には、例えば、設定部122は、複数の端末20a~20cのそれぞれについて計測された第一ラウンドトリップ時間を基準として、複数の端末20a~20cのそれぞれの第二ラウンドトリップ時間の合計値が、無線通信について予め定められた単位時間(1秒、1ミリ秒、または、1マイクロ秒など)(単に単位時間ともいう)に複数の端末20a~20cの台数を乗じた時間のN倍(ただし、Nは、正の整数)となるように、複数の端末20a~20cのそれぞれについて第二ラウンドトリップ時間を設定する。設定部122は、例えば、複数の端末20a~20cそれぞれについて、第二ラウンドトリップ時間を第一ラウンドトリップ時間以上の長さに設定する。また、設定部122は、例えば、複数の端末20a~20cそれぞれについて、上記Nが最小となるように第二ラウンドトリップ時間に設定する。言い換えると、設定部122は、上記Nが最小となるように、端末ごとに複数の第二ラウンドトリップ時間の候補から1つの候補を第二ラウンドトリップ時間に設定する。具体的には、図4の(a)を参照して後述する。また、設定部122は、例えば、複数の端末20a~20cそれぞれについて、第二ラウンドトリップ時間から第一ラウンドトリップ時間を減算した時間を待機時間として算出する。例えば、設定部122は、さらに、第二ラウンドトリップ時間に基づいて、複数の端末20a~20cそれぞれが送信するパケットを、通信装置10が互いに異なる時間で受信できるように、出力部123が複数の端末20a~20cそれぞれにパケットの送信指示を出力する順番を設定してもよい。
【0042】
次に、通信装置10の出力部123は、設定ステップS2で設定部122により設定された第二ラウンドトリップ時間で通信装置10と複数の端末20a~20cのそれぞれとが新たな無線通信をするように、複数の端末20a~20cのそれぞれにパケットの送信指示を出力する(出力ステップS3)。具体的には、例えば、出力部123は、複数の端末20a~20cそれぞれに対して、当該端末について算出した待機時間を含めて送信指示を出力する。例えば、出力部123は、上記の単位時間ごとに、複数の端末20a~20cに順次に送信指示を出力してもよい。
【0043】
その後、通信装置10は、複数の端末20a~20cそれぞれが送信指示に従って送信したパケットを受信する(不図示)。複数の端末20a~20cそれぞれは、通信装置10が送信した送信指示を受信してから待機時間で待機した後に通信装置10にパケットを送信する。
【0044】
続いて、本実施の形態に係る通信システム1が実行する処理の一例について図3を参照しながら説明する。図3は、実施の形態に係る通信システムが実行する処理の一例を示すシーケンス図である。ここでは、通信装置10がパケットの送信指示を複数の端末20a~20cへ出力する順番を設定して、設定した順番で複数の端末20a~20cへ順次にパケットの送信指示を出力する例を説明する。
【0045】
図3に示されているように、通信装置10は、複数の端末20a~20cとの接続開始指示を受け付けると(ステップS11)、複数の端末20a~20cへ接続要求を送信する(ステップS12)。このとき、通信装置10の通信部11は、例えば、マルチキャスト方式で複数の端末20a~20cへ接続要求を送信する。
【0046】
複数の端末20a~20cのそれぞれは、通信装置10が送信した接続要求を受信すると、通信装置10へ応答信号を送信する。例えば、応答信号には、複数の端末20a~20cそれぞれの識別情報が含まれる。ここで、識別情報は、端末を一意に識別可能である情報であり、例えば端末のID(identifier)番号またはMAC(Media Access Control)アドレスなどである。
【0047】
複数の端末20a~20cのそれぞれが送信した応答信号を通信装置10の通信部11が受信する(ステップS13)と、計測部121は、通信装置10と複数の端末20a~20cのそれぞれとの無線通信の第一ラウンドトリップ時間を計測する(ステップS14)。ステップS14は、図2の計測ステップS1に対応する。複数の端末20a~20cのそれぞれの第一ラウンドトリップ時間は、通信装置10の通信部11が複数の端末20a~20cに接続要求を送信してから複数の端末20a~20cそれぞれの応答信号を受信するまでの時間である。
【0048】
次に、設定部122は、通信装置10と複数の端末20a~20cそれぞれとの新たな無線通信において、複数の端末20a~20cそれぞれが送信するパケットの衝突を回避するための第二ラウンドトリップ時間を設定する(ステップS15)。より具体的には、設定部122は、複数の端末20a~20cそれぞれについて計測された第一ラウンドトリップ時間を基準として、第二ラウンドトリップ時間の合計値が、無線通信について予め定められた単位時間に複数の端末20a~20cの台数(この例では、3)を乗じた時間のN倍(ただし、Nは正の整数)となるように、複数の端末20a~20cそれぞれについて第二ラウンドトリップ時間を設定する。設定部122による第二ラウンドトリップ時間の設定処理の詳細については、図4を示しつつ後述する。ステップS15以降ステップS21までは、図2の設定ステップS2に対応する。
【0049】
次に、設定部122は、複数の端末20a~20cのそれぞれについて、第二ラウンドトリップ時間から第一ラウンドトリップ時間を減算した時間を待機時間として算出する(ステップS16)。
【0050】
ここで、図4を参照しながら、通信装置10の設定部122が行う処理について具体的に説明する。図4は、通信装置10の設定部122が行う第二ラウンドトリップ時間の設定処理を説明するための図である。
【0051】
まず、図4の(a)に示される例について説明する。以下では、通信装置10と複数の端末20a~20cそれぞれとの無線通信について予め定められた単位時間を1ミリ秒とするが、あくまでも一例であり、この例に限られない。
【0052】
図4の(a)の例では、設定部122は、計測部121が計測した第一ラウンドトリップ時間を基準として、第二ラウンドトリップ時間を算出する。この例では、端末20aの第一ラウンドトリップ(RT)時間は5ミリ秒であり、端末20bの第一ラウンドトリップ時間は2ミリ秒であり、端末20cの第一ラウンドトリップ時間は3ミリ秒である。この場合、設定部122は、まず、複数の端末20a~20cそれぞれの第一ラウンドトリップの合計値を算出し、当該合計値が単位時間に端末の台数を乗じた値(この例では、3)の整数倍になるか否かを判定する。具体的には、設定部122は、複数の端末20a~20cの第一ラウンドトリップ時間の平均値を算出する。例えば、設定部122は、複数の端末20a~20cそれぞれの第一ラウンドトリップ時間の合計値(この例では、10)を算出して、合計値10を複数の端末20a~20cの台数3に単位時間を乗じた値(つまり、3)で除算する。
【0053】
第一ラウンドトリップ時間の合計値10が端末の台数3に単位時間を乗じた値で割り切れない場合(言い換えると、算出された合計値10が単位時間に台数3を乗じた値の整数倍にならない場合)、設定部122は、第一ラウンドトリップの合計値が端末の台数の整数(N)倍(例えば、整数倍の候補としての4倍,5倍,6倍・・・の中で最小である4倍)となるように数値(正の整数)を加えて調整する。
【0054】
なお、端末の台数の倍数としては、複数の選択肢が考えられるが、整数(N)は最小とするのが望ましい。後述するように、各端末の第一ラウンドトリップ時間に加算した値は当該端末の送信待機時間となるため、できるだけ小さい値のほうが迅速な信号の受信が可能であるからである。例えば、設定部122は、複数の端末20a~20cそれぞれについて、上記Nが最小となるように第二ラウンドトリップ時間を設定する。図4の(a)の例では、上記Nが最小となるのは、N=4であり、このとき、第二ラウンドトリップ時間の合計値は12ミリ秒になる。第一ラウンドトリップ時間の合計値が10ミリ秒であるため、設定部122は、第一ラウンドトリップ時間の合計値10ミリ秒に2ミリ秒を加算して合計値が端末の台数3の4倍になるように調整している。この加算された2ミリ秒は、複数の端末20a~20cの少なくとも1つの第一ラウンドトリップ時間に加算され、複数の端末に分配して加算される。
【0055】
上述の説明から、設定部122は、複数の端末20a~20cそれぞれについて、第二ラウンドトリップ時間を第一ラウンドトリップ時間以上の長さに設定したこととなる。図4の(a)の例では、設定部122は、端末20aの第二ラウンドトリップ時間を第一ラウンドトリップ時間と同じ5ミリ秒に設定し、端末20bの第二ラウンドトリップ時間を第一ラウンドトリップ時間より1ミリ秒長い3ミリ秒に設定し、端末20cの第二ラウンドトリップ時間を第一ラウンドトリップ時間より1ミリ秒長い4ミリ秒に設定する。つまり、設定部122は、第二ラウンドトリップ時間の合計値が12ミリ秒になるように、複数の端末20a~20cそれぞれに第二ラウンドトリップ時間を割り当てる。このように、設定部122は、各端末の第一ラウンドトリップ時間に加算する値の違いによって端末ごとに複数の第二ラウンドトリップ時間の候補を算出し、複数の第二ラウンドトリップ時間の候補から上記Nが最小になる(ここでは合計値12になる)候補を選択して、当該候補を第二ラウンドトリップ時間に設定する。つまり、設定部122は、複数の端末20a~20cそれぞれについて、複数の第二ラウンドトリップ時間の候補のうち上記Nが最小となる候補を第二ラウンドトリップ時間に設定する。
【0056】
なお、この例では、設定部122は、端末20bの第一ラウンドトリップ時間、および、端末20cの第一ラウンドトリップ時間にそれぞれ1ミリ秒を加算して第二ラウンドトリップ時間を設定したが、この例に限られない。例えば、複数の端末20a~20cのいずれか1つの第一ラウンドトリップ時間に2ミリ秒を加算してもよい。また、設定部122は、第一ラウンドトリップ時間が最も短い端末には時間を加算せず、それ以外の端末に時間を分配してもよい。これにより、通信装置10は、第二ラウンドトリップ時間が最も短い端末からの信号をより早く受信できる。さらに、第一ラウンドトリップ時間が最も短い端末以外の端末に概ね均等に時間を分配してもよいし、各端末の第二ラウンドトリップ時間の差分がなるべく小さくなるように、第一ラウンドトリップ時間が最も短い端末と第一ラウンドトリップ時間が最も長い端末とを除く他の端末に時間を分配してもよい。これにより、通信装置10は、各端末からの信号を受信する間隔を短くすることができるため、複数の端末から信号をより効率良く受信することができる。
【0057】
設定部122は、複数の端末20a~20cそれぞれについて、第二ラウンドトリップ時間から第一ラウンドトリップ時間を減算した時間を待機時間として算出する。図4の(a)の例では、設定部122は、端末20aの第二ラウンドトリップ時間から第一ラウンドトリップ時間を減算した0ミリ秒を待機時間に設定し、端末20bの第二ラウンドトリップ時間から第一ラウンドトリップ時間を減算した1ミリ秒を待機時間に設定し、端末20cの第二ラウンドトリップ時間から第一ラウンドトリップ時間を減算した1ミリ秒を待機時間に設定する。
【0058】
続いて、図4の(b)に示される例について説明する。図4の(b)の例では、設定部122は、計測部121が計測した第一ラウンドトリップ時間と同じ時間を第二ラウンドトリップ時間に設定する(説明は以下に行う)。第二ラウンドトリップ時間は、第一ラウンドトリップ時間と同じ時間であるため、図4の(b)では、第二ラウンドトリップ時間を第一ラウンドトリップ時間(第一RT時間)と記載する。
【0059】
この例では、端末20aの第一ラウンドトリップ時間は5ミリ秒であり、端末20bの第一ラウンドトリップ時間は3ミリ秒であり、端末20cの第一ラウンドトリップ時間は1ミリ秒である。設定部122は、複数の端末20a~20cの第一ラウンドトリップ時間の平均値を算出する。具体的には、設定部122は、複数の端末20a~20cそれぞれの第一ラウンドトリップ時間の合計値(この例では9)を算出して、合計値9を複数の端末20a~20cの台数(この例では、3)で除算する。
【0060】
第一ラウンドトリップ時間の合計値9が複数の端末20a~20cの台数3で割り切れる場合(言い換えると、算出された平均値(この例では、3)が整数になる場合)、設定部122は、第一ラウンドトリップ時間と同じ時間を第二ラウンドトリップ時間に設定する。第一ラウンドトリップ時間は、複数の端末20a~20cそれぞれが送信するパケットの衝突を回避するために設定される第二ラウンドトリップ時間に等しい。
【0061】
再び図3を参照する。通信装置10の設定部122は、ステップS15で設定された第二ラウンドトリップ時間に基づいて、通信装置10が、複数の端末20a~20cそれぞれからパケットを受信する時間が互いに異なるように、通信装置10の出力部123が複数の端末20a~20cそれぞれにパケットの送信指示を出力する順番を設定する(ステップS17)。例えば、設定部122は、複数の端末20a~20cそれぞれの第二ラウンドトリップ時間の複数の順列パターン(言い換えると、送信指示順序パターン)の中から、複数の端末20a~20cそれぞれが送信するパケットを通信装置10が受信する時間が互いに重ならない送信指示順序パターンを選択することで、通信装置10の出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番を設定する。図3では、当該順番が、端末20a、端末20b、端末20cの順であるとする。具体的な送信指示を出力する順番の設定処理については、後述する。
【0062】
次に、通信装置10の出力部123は、単位時間(例えば、1ミリ秒)ごとに、複数の端末20a~20cに順次にパケットの送信指示を出力する(ステップS18)。ステップS18は、図2の出力ステップS3に対応する。より具体的には、出力部123は、ステップS17で設定された順番で、通信部11を介して複数の端末20a~20cのそれぞれへ順次にパケットの送信指示を出力する。上述したように、パケットの送信指示は、出力先の端末の識別情報と待機時間の情報との組を含んでいる。例えば、出力部123が端末20aにパケットの送信指示を出力すると、端末20aは、当該送信指示を受信してから待機時間で待機した後に通信装置10にパケットを送信する(ステップS19)。例えば、図4の(a)に示される例に従うと、端末20aの待機時間が0ミリ秒であるため、端末20aはパケットの送信指示を受信するとパケットの送信準備を行い、通信装置10へパケットを送信する。続いて、出力部123は、端末20aに送信指示を出力してから単位時間(例えば、1ミリ秒)経過後に、端末20bにパケットの送信指示を出力する。端末20bは、通信装置10から当該送信指示を受信すると、パケットの送信準備を行い、待機時間(この例では、1ミリ秒)で待機した後に、通信装置10へパケットを送信する(ステップS20)。続いて、出力部123は、端末20bにパケットの送信指示を出力してから単位時間(例えば、1ミリ秒)経過後に、端末20cにパケットの送信指示を出力する。端末20cは、当該送信指示を受信すると、パケットの送信準備を行い、待機時間(この例では、1ミリ秒)で待機した後に、通信装置10へパケットを送信する(ステップS21)。
【0063】
通信装置10は、複数の端末20a~20cそれぞれが送信したパケットを受信する(ステップS22)。
【0064】
以下、通信装置10の出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番の設定処理の具体例を説明する。
【0065】
(設定処理の第一例)
まず、通信装置10の出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番の設定処理の第一例について図5を参照しながら具体的に説明する。図5は、通信装置10の設定部122が行う処理の第一例を説明するための図である。図5では、出力順(n)は、出力部123が最初にパケットの送信指示を出力した時間を0ミリ秒として、単位時間ごとに送信指示を順次に出力する例を示している。
【0066】
この例は、図4(a)の例に対応する。設定部122は、ステップS15で複数の端末20a~20cそれぞれの第二ラウンドトリップ時間を設定すると(例えば、図4の(a)の第二ラウンドトリップ時間を参照)、各端末からの送信指示順序パターンのすべてを、第二ラウンドトリップ時間を用いてパターン(1)~(6)のように算出する(図5の(a)参照)。以下では、図中のパターン(1)~(6)を送信指示順序パターン(1)~(6)と呼ぶ。
【0067】
次に、設定部122は、算出された送信指示順序パターンのそれぞれについて(例えば、図中のパターン(1)~(6))、複数の端末へのパターンの送信指示の出力順を示す数値n(ただし、nは0から始まる整数)に単位時間(例えば、1ミリ秒)を乗じた値(つまり、n)と、当該出力順(n)に出力部123から送信指示が出力される端末の第二ラウンドトリップ時間(t)とを足し合わせて、通信装置10が当該端末からパケットを受信する受信時間(n+t)を算出する(図5の(b)~(g)参照)。設定部122は、通信装置10と複数の端末20a~20cそれぞれとの無線通信において、少なくとも2周期分の受信時間を算出する。周期について図5の(b)を参照しながら説明すると、複数の端末の台数が第二ラウンドトリップ時間の平均値以下の数である場合、以下の定義が成立する。例えば、1周期には、最初の受信時間を1個目として、複数の端末20a~20cの第二ラウンドトリップ時間の平均値(この例では、4)と同じ数の個数(この例では、4個)の受信時間が含まれる。したがって、2周期には、最初の受信時間を1個目として、平均値4に2を乗算した値と同じ個数(この例では、8個)の受信時間が含まれる。
【0068】
次に、設定部122は、算出された複数の送信指示順序パターンのそれぞれについて、算出された少なくとも2周期分の受信時間が互いに異なる時間であるか否かを判定し、互いに異なる時間である送信指示順序パターンを選択して、通信装置10の出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番を設定する。例えば、図5の(c)、(d)および(g)を参照すると、複数の端末の台数が第二ラウンドトリップ時間の平均値以下の数である場合、1周期分の受信時間の中で重複する数値が存在する。したがって、少なくとも2周期分の受信時間を比較して重複する数値が存在しない場合、それ以降の周期でも重複する受信時間が存在しないと考えてもよい。
【0069】
よって、設定部122は、複数の端末の台数が第二ラウンドトリップ時間の平均値以下の数である場合、少なくとも2周期分の受信時間が互いに異なると判定された送信指示順序パターンを選択して、出力部123が複数の端末20a~20cそれぞれに送信指示を出力する順番を設定する。
【0070】
例えば、設定部122は、算出された複数の送信指示順序パターン(1)~(6)のうち送信指示順序パターン(1)、(4)および(5)で、少なくとも2周期分の間、受信時間が互いに異なると判定した場合、これらの3つの送信指示順序パターンの中からいずれか1つの送信指示順序パターンを選択して、出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番(いわゆる、出力順)を設定してもよい。
【0071】
例えば、設定部122は、送信指示順序パターン(1)、(4)および(5)のうち、第二ラウンドトリップ時間(t)が最も短い端末(ここでは、図4の(a)の端末20b)に最初に送信指示が出力される送信指示順序パターン(1)を選択して、出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番(端末20b、端末20c、端末20aの順)を設定してもよい。これにより、通信装置10は、1個目のパケットをより早く(より短時間で)受信することができる。
【0072】
また、例えば、設定部122は、算出された複数の送信指示順序パターン(1)~(6)のうち、少なくとも2周期分の受信時間が互いに異なると最初に判定された送信指示順序パターン(例えば、送信指示順序パターン(1))に基づいて、出力順を設定してもよい。この場合、送信指示順序パターン(1)以降の送信指示順序パターン(2)~(6)に対する上記判定を行わず、出力順の設定処理を終了する。これにより、通信装置10は、算出されたすべての送信指示順序パターンについて、上記判定をする必要が無いため、計算コストを削減することができる。
【0073】
(設定処理の第二例)
続いて、通信装置10の出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番の設定処理の第二例について図6を参照しながら説明する。図6は、通信装置10の設定部122が行う処理の第二例を説明するための図である。図6では、図5と同様に、出力順(n)は、出力部123が最初にパケットの送信指示を出力した時間を0ミリ秒として、単位時間ごとに送信指示を順次に出力する例を示している。
【0074】
この例は、図4の(b)の例に対応しており、各端末の第二ラウンドトリップ時間は第一ラウンドトリップ時間と同じ時間であるため、第一ラウンドトリップ時間(第一RT時間t)を使用して、通信装置10の出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番を設定する手順について説明する。
【0075】
設定部122は、ステップS15で複数の端末20a~20cそれぞれの第一ラウンドトリップ時間と同じ時間を第二ラウンドトリップ時間に設定できるため(例えば、図4の(b)の第一RT時間を参照)、各端末からの送信指示順序パターンのすべてを、第一ラウンドトリップ時間を用いてパターン(1)~(6)のように設定する(図6の(a)の第一RT時間の順列を参照)。以下でも、図中のパターン(1)~(6)を送信指示順序パターン(1)~(6)と呼ぶ。
【0076】
次に、設定部122は、算出された送信指示順序パターンのそれぞれについて(例えば、パターン(1)~(6))、出力順を示す数値n(ただし、nは0から始まる整数)に単位時間(例えば、1ミリ秒)を乗じた値(つまり、n)と、当該出力順(n)に出力部123から送信指示が出力される端末の第一ラウンドトリップ時間(t)とを足し合わせて、通信装置10が当該端末からパケットを受信する受信時間(n+t)を算出する(図6の(b)~(g)参照)。設定部122は、複数の端末20a~20cについて、少なくとも2周期分の受信時間を算出する。周期については、上述したため、ここでの説明を省略する。
【0077】
次に、設定部122は、送信指示順序のパターンのそれぞれについて、算出された少なくとも2周期分の受信時間が互いに異なる時間であるか否かを判定し、互いに異なる時間である送信指示順序パターンを選択して、出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番を設定する。
【0078】
例えば、設定部122は、算出された複数の送信指示順序パターン(1)~(6)のうち送信指示順序パターン(2)、(3)および(6)で、少なくとも2周期分の受信時間が互いに異なると判定できるので、これらの3つの送信指示順序パターンの中からいずれか1つの送信指示順序パターンを選択して、出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番を設定してもよい。
【0079】
例えば、設定部122は、送信指示順序パターン(2)、(3)および(6)のうち、第二ラウンドトリップ時間(t)が最も短い端末(ここでは、図4の(b)の端末20c)に最初に送信指示が出力される送信指示順序パターン(2)を選択して、出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番(端末20c、端末20a、端末20bの順)を設定してもよい。これにより、1個目のパケットをより早く(より短時間で)受信することができる。
【0080】
また、例えば、設定部122は、算出された複数の送信指示順序パターン(1)~(6)のうち、少なくとも2周期分の受信時間が互いに異なると最初に判定された送信指示順序パターン(例えば、送信指示順序パターン(2))に基づいて、出力順を設定した後は、送信指示順序パターン(2)以降の送信指示順序パターン(3)~(6)に対する上記判定を行わず、出力順の設定処理を終了してもよい。これにより、通信装置10は、算出されたすべての送信指示順序パターンについて、上記判定をする必要が無いため、計算コストを削減することができる。
【0081】
(設定処理の第三例)
続いて、通信装置10の出力部123が複数の端末20aおよび20b(20aおよび20bは、図7で不図示)にパケットの送信指示を出力する順番の設定処理について図12を参照しながら具体的に説明する。図7は、通信装置10の設定部122が行う処理の第三例を説明するための図である。この例でも、下記に示すように、各端末の第一ラウンドトリップ時間と第二ラウンドトリップ時間とが同一であり、第一ラウンドトリップ時間(第一RT時間t)を使用して、通信装置10の出力部123が複数の端末20aおよび20bにパケットの送信指示を出力する順番を設定する手順について説明する。
【0082】
この例では、計測部121により計測された複数の端末20aおよび20bそれぞれの第一ラウンドトリップ時間が1ミリ秒および9ミリ秒であり、第一ラウンドトリップ時間の平均((1+9)/2)が整数値5ミリ秒であるため、第一ラウンドトリップ時間と同じ時間を第二ラウンドトリップ時間に設定する。
【0083】
次に、設定部122は、図7の(a)に示されるように、各端末からの受信順序パターン2つを、第一ラウンドトリップ時間を用いてパターン(1)および(2)のように設定する。以下でも、図中のパターン(1)および(2)を送信指示順序パターン(1)および(2)と呼ぶ。
【0084】
次に、設定部122は、算出された送信指示順序のパターンのそれぞれについて(例えば、パターン(1)および(2))、出力順を示す数値n(ただし、nは0から始まる整数)に単位時間(例えば、1ミリ秒)を乗じた値(つまり、n)と当該出力順(n)に出力部123から送信指示が出力される端末の第一ラウンドトリップ時間(t)とを足し合わせて、通信装置10が当該端末からパケットを受信する受信時間(n+t)を算出する(図7の(b)および(c)参照)。設定部122は、複数の端末20aおよび20bについて、少なくとも2周期分の受信時間を算出する。周期(この例では10ミリ秒)については、上述したため、ここでの説明を省略する。
【0085】
次に、設定部122は、送信指示順序のパターンのそれぞれについて、算出された少なくとも2周期分の受信時間が互いに異なる時間であるか否かを判定し、互いに異なる時間である送信指示順序パターンを選択して、出力部123が複数の端末20aおよび20bにパケットの送信指示を出力する順番を設定する。
【0086】
この例では、設定部122は、送信指示順序パターン(1)および(2)の両方で、少なくとも2周期分の受信時間が異なるため、これらのいずれかの送信指示順序パターンに対応する順番で、出力部123が複数の端末20aおよび20bにパケットの送信指示を出力すると設定してもよい。
【0087】
また、例えば、設定部122は、少なくとも2周期分の受信時間がいずれも異なると判定した受信順序パターンであって、さらに最も先頭の送信指示順番の第一ラウンドトリップが短いパターン(1)を選択して、出力部123が複数の端末20aおよび20bにパケットの送信指示を出力する順番を設定する。上述したように、この例では、端末20aの第一ラウンドトリップ時間(t)が1ミリ秒、端末20bの第一ラウンドトリップ時間が9ミリ秒であるため、設定部122は、送信指示順序パターン(1)に対応する順番(端末20a、端末20bの順)に設定する。これにより、通信装置10は、送信指示順序パターンの中で、より短時間で1個目のパケットを受信することができる。また、設定部122は、送信指示順序パターン(1)および(2)のうち、少なくとも2周期分の受信時間が互いに異なると最初に判定された送信指示順序パターン(1)に基づいて、出力順を設定してもよい。この場合、通信装置10は、算出された全ての送信指示順序パターンについて、上記判定をする必要が無いため、計算コストを削減することができる。
【0088】
(設定処理の第四例)
続いて、通信装置10の出力部123が複数の端末20a、20b、20c、20d、20e、20fおよび20g(20a~20gは図8で不図示)にパケットの送信指示を出力する順番の設定処理について図8を参照しながら具体的に説明する。図8は、通信装置10の設定部122が行う処理の第四例を説明するための図である。この例でも、以下に示すように、各端末の第一ラウンドトリップ時間と第二ラウンドトリップ時間とが同一であるため、第一ラウンドトリップ時間(第一RT時間t)を使用して、複数の端末20a~20gがパケットを送信する順番を設定する手順について説明する。
【0089】
この例では、計測部121により計測された複数の端末20a~20gそれぞれの第一ラウンドトリップ時間が6ミリ秒、3ミリ秒、3ミリ秒、4ミリ秒、4ミリ秒、4ミリ秒および4ミリ秒であり、第一ラウンドトリップ時間の平均値が整数(この例では、4ミリ秒)であるため、設定部122は、第二ラウンドトリップ時間を第一ラウンドトリップ時間に等しいとして設定する。
【0090】
次に、設定部122は、図8の(a)に示されるように、各端末からの受信順序パターンのすべてを、第一ラウンドトリップ時間を用いて図8の(a)のように設定する(パターンの一部は割愛されている)。
【0091】
次に、設定部122は、算出された送信指示順序のパターンのそれぞれについて(例えば、パターン(1)~(9)・・・)、出力順を示す数値n(図中の出力順(n)(ただし、nは0から始まる整数)に単位時間(例えば、1ミリ秒)を乗じた値(つまり、n)と、当該出力順(n)に出力部123から送信指示が出力される端末の第一ラウンドトリップ時間(t)とを足し合わせて、通信装置10が当該端末からパケットを受信する受信時間(n+t)を算出する(図8の(b)~(d)参照)。設定部122は、複数の端末20a~20gについて、少なくとも2周期分の受信時間を算出する。周期について図8の(b)を参照しながら説明すると、複数の端末の台数(この例では、7)が第二ラウンドトリップ時間の平均値(この例では、4)より大きい数である場合、以下の定義が成立する。例えば、2周期(言い換えると、2周期の時間の中)には、複数の端末20a~20gの台数(この例では、7)に2を乗算した値と同じ個数(この例では、14個)の受信時間が含まれる。
【0092】
次に、設定部122は、送信指示順序のパターンのそれぞれについて、算出された少なくとも2周期分の受信時間が互いに異なる時間であるか否かを判定し、互いに異なる時間である送信指示順序パターンを選択して、出力部123が複数の端末20a~20gにパケットの送信指示を出力する順番を設定する。例えば、図8の(c)を参照すると、複数の端末の台数が第二ラウンドトリップ時間の平均値よりも大きい数である場合も、2周期分の受信時間の中で重複する数値が存在する。したがって、少なくとも2周期分の受信時間を比較して重複する数値が存在しない場合、それ以降の周期でも重複する受信時間が存在しないと考えてもよい。
【0093】
よって、設定部122は、複数の端末の台数が第二ラウンドトリップ時間の平均値より大きい数である場合も、少なくとも2周期分の受信時間が互いに異なると判定された送信指示順序パターンを選択して、出力部123が複数の端末20a~20gそれぞれに送信指示を出力する順番を設定する。
【0094】
この例では、設定部122は、送信指示順序パターン(1)および(9)で、少なくとも2周期分の受信時間が異なるため、これらの送信指示順序パターンに対応する順番で、出力部123が複数の端末20aおよび20bにパケットの送信指示を出力すると設定してもよい。
【0095】
また、例えば、設定部122は、送信指示順序パターン(1)および(9)のうち、第一ラウンドトリップ時間(t)が最も短い端末(ここでは、端末20b)に最初に送信指示が出力されるパターン(言い換えると、端末20bが先頭に来るパターン)(1)を選択して、出力部123が複数の端末20a~20gにパケットの送信指示を出力する順番(例えば、端末20b、端末20c、端末20d、端末20e、端末20f、端末20g、端末20aの順)を設定してもよい。これにより、通信装置10は、送信指示順序パターン(1)および(2)の中で最も短時間で1個目のパケットを受信することができるため、1個目のパケットをより早く(より短時間で)受信することができる。
【0096】
また、例えば、設定部122は、算出された複数の送信指示順序パターンのうち、少なくとも2周期分の受信時間が互いに異なると最初に判定された送信指示順序パターン(例えば、送信指示順序パターン(1))に基づいて、出力順を設定してもよい。この場合、送信指示順序パターン(1)以降の送信指示順序パターンに対する上記判定を行わず、出力順の設定処理を終了する。これにより、通信装置10は、算出されたすべての送信指示順序パターンについて、上記判定をする必要が無いため、計算コストを削減することができる。
【0097】
(設定処理の第五例)
続いて、実施の形態に係る通信システム1の適用例を挙げて、通信装置10の設定部122が行う処理について説明する。図9は、実施の形態に係る通信システム1の適用例、および、通信装置10の設定部122が行う処理の第五例を説明するための図である。
【0098】
図9の(a)に示されるように、通信システム1は、例えば、映画館に適用されてもよい。より具体的には、例えば、通信システム1は、映画館に設置された通信装置10と、当該映画館で映画を鑑賞している複数のユーザがそれぞれ装着している複数の端末(例えば、ウェアラブル端末)と、を備える。なお、図9では、映画館に適用する例を説明するが、この例に限られず、上述した建物および空間に適用されてもよい。
【0099】
図9の例では、見やすさの観点から、複数の端末20aおよび20bのみ図示しているが、この例に限定されず、例えば、映画館の上映室内の全ての観客がそれぞれ端末を装着してもよいし、特定の観客が端末を装着してもよい。また、図9の例では、端末20aおよび端末20bは、腕時計型のウェアラブル端末であるが、これに限られず、端末は、例えば、眼鏡型、耳掛け型、ネックバンド型、ヘッドギア型、リストバンド型、または、ユーザの身体の所定の箇所に貼り付ける貼り付け型であってもよい。端末の形態は、適宜設定されてもよく、所望の生体情報を取得できるセンサ部を備えてもよい。なお、端末がセンサ部を備えない場合は、当該端末は、上記の形態のセンサとBluetooh(登録商標)で接続された、スマートフォンなどの情報端末であってもよい。
【0100】
例えば、複数の端末20aおよび20bは、当該端末を装着しているユーザの生体情報を取得すると、通信装置10から受信したパケットの送信指示(より具体的には、複数の端末20aおよび20bが取得している情報の送信要求の指示)に従って、通信装置10に生体情報を送信する。生体情報は、例えば、脈拍、心拍、脳波、体温、発汗量、呼吸数、または、血中酸素濃度のセンシングデータである。通信装置10は、複数の端末20aおよび20bから送信された生体情報を含むパケットを取得して、取得した生体情報に基づいて、各端末のユーザの心理状態を推定してもよい。心理状態の推定は、従来公知の方法で行われてもよい。例えば、通信装置10は、ユーザの生体情報に基づいて、交感神経および副交感神経のバランスを示す第一指標と、自律神経活動量を示す第二指標とを算出して、第一指標および第二指標の値に基づいて、快-不快および覚醒-沈静のレベルからユーザの心理状態を推定してもよい。
【0101】
また、例えば、各端末は、パケットの送信頻度が一律でなくてもよく、当該端末を使用するユーザに応じて設定されたパケットの送信頻度で通信装置10にパケットを送信してもよい。この例では、端末20bは、端末20aの2倍の送信頻度でパケットを送信する。この場合、図9の(b)では、端末20aおよび端末20bにパケットの送信指示を出力する順番の設定方法において、計算上端末20bが2台存在するとする。
【0102】
計測部121が端末20aの第一ラウンドトリップ時間を6ミリ秒、端末20bの第一ラウンドトリップ時間を3ミリ秒と計測すると、設定部122は、計測された第一ラウンドトリップ時間と、端末20bのパケット送信頻度の情報とに基づいて、第一ラウンドトリップの合計値を算出する。このとき、第一ラウンドトリップ時間の合計値は、12である。端末の台数は、実際には2台であるが、端末20bが2倍の送信頻度でパケットを送信するため、端末の台数は、1+1×2=3で3台であると算出される。第一ラウンドトリップの平均値は、整数値4となるため、設定部122は、端末20aおよび端末20bの第一ラウンドトリップ時間をそれぞれ第二ラウンドトリップ時間に設定する。
【0103】
次に、設定部122は、第二ラウンドトリップの送信指示順序を算出し、送信指示順序パターン(1)で、少なくとも2周期分の受信時間が互いに異なると判定した場合、送信指示順序パターン(1)を選択して、出力部123が端末20aおよび端末20bにパケットの送信指示を出力する順番を、送信指示順序パターン(1)に対応する順番(端末20a、端末20b、端末20bの順)に設定する。
【0104】
このように、通信システム1では、パケットの送信頻度を端末ごとに設定することができるため、通信装置10は、複数の端末から送信されるデータのうちより重要度の高いデータの送信頻度を増加させることができる。そのため、通信システム1では、通信装置10がより重要度の高いデータを迅速に取得することができる。
【0105】
以上、図5図9を用いて説明したように、第二ラウンドトリップ時間を設定した後、設定部122は、複数の端末に送信指示を送る順序のうち、ある期間、最低2周期(1周期は第二ラウンドトリップ時間の平均値)、複数の端末からのパケットを受信するタイミングが衝突しない順序を選択することが望ましい。
【0106】
なお、衝突しない順序が複数存在する場合には、一番初めに見出された順序を選択してもよいし、先頭順序になった端末の第二ラウンドトリップ時間が最も短いものなど、その中から適宜選択して良いことはすでに述べたとおりである。
【0107】
(実施の形態の変形例1)
続いて、実施の形態の変形例1に係る通信システム1について説明する。図10は、実施の形態の変形例1に係る通信装置1が実行する処理の一例を示すシーケンス図である。図10では、図3と共通の処理については同じステップ番号を付し、説明を省略する。実施の形態に係る通信システム1では、通信装置10の設定部122が複数の端末のそれぞれに送信指示を送る順番を設定した後、出力部123が当該順番に従って単位時間(例えば1ミリ秒)の間隔を空けて複数の端末20a~20cに順次に送信指示を出力する例について説明した。変形例1では、通信システム1は、実施の形態と同様に、通信装置10の設定部122が複数の端末20a~20cそれぞれに送信指示を出力する順番を設定し、出力部123が設定された順番に応じた時間を待機時間に加えて複数の端末20a~20cに一時に送信指示を出力する例について説明する。例えばBLEのアドバタイズパケットなどを用いて行われる場合がその典型例である。
【0108】
ステップS17において設定部122が複数の端末20a~20cそれぞれにパケットの送信指示を出力する順番を設定した後、ステップS31において、出力部123は、複数の端末20a~20cに一時にパケットの送信指示を出力する。ステップS31は、図2の出力ステップS3に対応する。図3のステップS18では、ステップS17で設定された順番に従って単位時間(例えば、1ミリ秒)の間隔を空けて複数の端末20a~20cに順次に、待機時間を含めて送信指示を出力する。一方、ステップS31では、複数の端末20a~20cに一時に、ステップS17で設定された順番に応じた時間を待機時間に加えて送信タイミングの時間として送信指示を出力する点で、実施の形態と異なる。上述したように、パケットの送信指示は、出力先の端末の識別情報と送信タイミング時間の情報との組を含んでいる。
【0109】
次に、複数の端末20a~20cのそれぞれは、送信指示を受信すると、パケットの送信準備を行い、待機時間で待機した後に通信装置10にパケットを送信する(ステップS32、S33、S34)。パケットの送信準備には、図3の場合と異なり、通信装置10から指示される自装置の順番の到来を含む(具体的には後述する)。図10では、各端末の最初のパケット通信しか図示されていないが、複数の端末20a~20cは、それぞれ、送信タイミングの時間に通信装置10へパケットを送信する。
【0110】
次に、通信装置10は、複数の端末20a~20cそれぞれが送信したパケットを受信する(ステップS35)。
【0111】
以下、図11図14を参照しながら、送信指示に含まれる待機時間の設定処理について説明する。図11図14は、複数の端末20a~20cのそれぞれにパケットの送信指示が一時に出力される場合に、当該送信指示に含まれる待機時間の設定処理の一例を説明するための図である。
【0112】
例えば、通信装置10が、ある所定時間、継続して複数の端末20a~20cが送信するパケットを受信する場合、設定部122は、図5図9で説明したいずれかの処理を行い、複数の端末20a~20cにパケットの送信指示を出力する順番を設定する。その後、その順番を示す数値n(nは0から始まる整数)に単位時間×(M-1)×台数3を乗じた値を待機時間に加算した時間の情報と、各端末の識別情報との組を当該送信指示に含めて送信する。なお、図10の例では、送信指示を出力する順番を示す数値nは、端末20aではn=0、端末20bではn=1、端末20cではn=2であるとする。
【0113】
ここで、上記Mは、図11に示されるように、1から所定時間(ただし、単位は、ミリ秒)を複数の端末20a~20cの台数3(正確には、台数に単位時間(ミリ秒)を乗算した値)で除算した値(所定時間/端末の台数)までの連続した整数値である。例えば、所定時間が21ミリ秒とすると、Mは、1から21/3=7までの連続した整数値であり、M=1,2,3,4,5,6,7となる。これは、この所定時間である21ミリ秒の間、各端末から断続的にそれぞれ7回パケットを受信することを意味する。(厳密には21ミリ秒の後もさらに端末からのラウンドトリップ時間などが経過した後に最後のパケットを受信する訳であるが。)。
【0114】
この場合、端末20aへ送信するパケットの送信指示は、単位時間(1ミリ秒)と(M-1)と複数の端末20a~20cの台数3とを乗じた値0,3,6,9,12,15,18(ミリ秒)のそれぞれ(図12の(5)参照)に、順番を示す数値0(ミリ秒)(図12の(2)参照)を加えた自機の送信の順番到来までの時間に加えて、さらに待機時間0ミリ秒(図12の(3)参照)を加算した時間0,3,6,9,12,15,18(ミリ秒)の情報(図12の(6)参照)を含む。この指示を受けた端末20aは、当該指示に従って0,3,6,9,12,15,18ミリ秒後にパケットを送信する。
【0115】
また、端末20bへ送信するパケットの送信指示は、単位時間(1ミリ秒)と(M-1)と複数の端末20a~20cの台数3とを乗じた値0,3,6,9,12,15,18のそれぞれ(図13の(5)参照)に、順番を示す数値1(図12の(2)参照)を加えた自機の送信の順番到来までの時間に加えて、さらに待機時間1ミリ秒(図12の(3)参照)を加算した時間2,5,8,11,14,17,20の情報(図12の(6)参照)を含む。この指示を受けた端末20bは、当該指示に従って2,5,8,11,14,17,20ミリ秒後にパケットを送信する。
【0116】
また、端末20cへ送信するパケットの送信指示は、単位時間(1ミリ秒)と(M-1)と複数の端末20a~20cの台数3とを乗じた値0,3,6,9,12,15,18のそれぞれ(図14の(5)参照)に、順番を示す数値2(図14の(2)参照)を加えた自機の送信の順番到来までの時間に加えて、さらに待機時間1ミリ秒(図14の(3)参照)を加算した時間3,6,9,12,15,18,21の情報(図14の(6)参照)を含む。この指示を受けた端末20bは、当該指示に従って3,6,9,12,15,18,21ミリ秒後にパケットを送信する。
【0117】
以上のように、変形例1では、通信装置10の出力部123は、複数の端末20a~20cに一時にパケットの送信指示を出力している。そして、当該指示には、各端末が所定時間の間でパケットを送信する送信タイミングの時間がそれぞれ指定されている。変形例1では、パケットの送信指示にパケットを送信する時間を含めることにより、各端末から送信されたパケットを通信装置10が受信するタイミングが重なることを回避することができる。
【0118】
(実施の形態の変形例2)
続いて、実施の形態の変形例2に係る通信システム1について図4図5および図10を参照しながら説明する。
【0119】
実施の形態に係る通信装置10では、出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番の設定処理において、設定部122は、複数の端末20a~20cについて、少なくとも2周期分の受信時間を算出する。そして、当該算出の周期については、複数の端末20a~20cの台数が第二ラウンドトリップ時間の平均値以下の数である場合、例えば、1周期(言い換えると、1周期の時間の中)には、複数の端末20a~20cの第二ラウンドトリップ時間の平均値(この例では、4)と同じ数の個数(この例では、4個)の受信時間が含まれるとし、2周期(言い換えると、2周期の時間の中)には、平均値4に2を乗算した値と同じ個数(この例では、8個)の受信時間が含まれることとした。本実施の形態の変形例2に係る通信装置は、送信指示順序パターンの算出方法について、実施の形態に係る通信装置とは異なる。
【0120】
以下、本実施の形態の変形例2に係る通信装置10の送信指示順序パターンの算出方法について説明する。以下、図4図5および図10を参照しながら詳細に説明する。
【0121】
設定部122は、ステップS15で複数の端末20a~20cそれぞれの第二ラウンドトリップ時間を設定すると(例えば、図4の(a)の第二ラウンドトリップ時間を参照)、各端末からの送信指示順序パターンのすべてを、第二ラウンドトリップ時間を用いてパターン(1)~(6)のように設定する(図5の(a)参照)。
【0122】
次に、設定部122は、算出された送信指示順序パターンのそれぞれについて(例えば、図中のパターン(1)~(6))、出力順を示す数値n(図中の出力順(n)(ただし、nは0から始まる整数)に単位時間(例えば、1ミリ秒)を乗じた値(つまり、n)と、当該出力順(n)に出力部123から送信指示が出力される端末の第二ラウンドトリップ時間(t)とを足し合わせて、通信装置10が当該端末からパケットを受信する受信時間(n+t)を算出する(図5の(b)~(g)参照)。設定部122は、複数の端末20a~20cについて、少なくとも1周期分の受信時間を算出する。ここで、周期は、通信装置10が複数の端末20a~20cに送信指示の出力を開始し始めてから、複数の端末20a~20cの全ての端末が送信した応答信号を1度受信するまでの期間とする。具体的には、図4の(b)および図5の(b)を参照しながら説明すると、例えば、通信装置10は、端末20b、端末20c、端末20aの順にパケットの送信指示を出力する。この場合、1周期とは、通信装置10が送信指示を出力してから3台の端末すべての応答信号を受信するまでの期間を言い、具体的には、通信装置10が端末20bに送信指示を出力してから、端末20aが送信した応答信号を受信するまでの期間である。例えば、図5の(b)を参照すると、端末の台数が3つである場合、1周期は、出力順(n)が0から2までの期間における受信時間(n+t)の最大値である7(ミリ秒)となる。
【0123】
次に、設定部122は、送信指示順序パターンのそれぞれについて、算出された少なくとも1周期分(この例では、出力順(n)が0から2までの期間)の受信時間が互いに異なる時間であるか否かを判定し、互いに異なる時間である送信指示順序パターンを選択して、通信装置10の出力部123が複数の端末20a~20cにパケットの送信指示を出力する順番を設定する。例えば、図5の(c)、(d)および(g)を参照すると、1周期分の受信時間の中で重複する数値が存在する。なお、パターン(1)~(6)で1周期は5~7(ミリ秒)の間を変動する。
【0124】
よって、設定部122は、少なくとも1周期分の受信時間が互いに異なると判定された送信指示順序パターンを選択して、出力部123が複数の端末20a~20cそれぞれに送信指示を出力する順番を設定する。順番設定以降の各処理は本実施の形態の通信装置10と同様に行われる。
【0125】
なお、本発明は、装置として実現できるだけでなく、その装置を構成する処理手段をステップとする方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD-ROMなどの記録媒体として実現したり、そのプログラムを示す情報、データまたは信号として実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、インターネット等の通信ネットワークを介して配信してもよい。
【0126】
なお、通信装置10は、例えば、複数の端末20a~20cへ送信指示を出力する順番を設定して複数の端末20a~20cそれぞれが送信したパケットを受信している途中で、新たな端末20dが送信した接続要求を受信すると、端末20dへ応答信号を出力してもよい。この場合、通信装置10の計測部121は、出力部123が端末20dへ応答信号を出力してから端末20dが送信した応答信号を受信するまでの第一ラウンドトリップ時間を計測する。
【0127】
次に、通信装置10の設定部122は、複数の端末20a~20cの第二ラウンドトリップの合計値に端末20dの第一ラウンドトリップ時間を加算した値が、無線通信について予め定められた単位時間に複数の端末20a~20dの台数(この例では、4)を乗じた時間のN倍(ただしNは正の整数)となる場合は、端末20dの第一ラウンドトリップ時間と同じ時間を第二ラウンドトリップ時間と設定し、N倍とならない場合は、当該値がN倍となるように端末20dの第二ラウンドトリップ時間を設定する。このとき、設定部122は、端末20dの待機時間を算出する。なお、設定部122は、記憶部13に格納された複数の端末20a~20cそれぞれの第一ラウンドトリップ時間の情報を読み出して、新たな端末20dの第一ラウンドトリップ時間を含めた合計値を算出して、当該合計値が単位時間に端末の台数を乗じた時間(この例では、4)の整数倍になるか否かを判定してもよい。
【0128】
次に、設定部122は、出力部123が複数の端末20a~20dにパケットの送信指示を出力する順番を設定すると、端末20a、端末20bおよび端末20cにパケットの送信を停止する指示を出力する。複数の端末20a~20cそれぞれがパケットの送信を停止すると、出力部123は、複数の端末20a~20dにパケットの送信指示を出力する。
【0129】
このように、通信装置10は、複数の端末20a~20cが送信するパケットを受信している途中でも、新たな端末20dを加えた複数の端末20a~20dと無線通信を行い、これらの端末20a~20dからパケットを効率良く受信することができる。
【0130】
以上、本発明の通信装置、通信システム、制御方法およびプログラムについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【産業上の利用可能性】
【0131】
本発明は、複数の情報端末から通信パケットを効率良く受信することを実現する通信装置等に利用可能である。
【符号の説明】
【0132】
1 通信システム
10 通信装置
11 通信部
12 制御部
121 計測部
122 設定部
123 出力部
13 記憶部
20a、20b、20c、20d、20e、20f、20g 端末
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14