(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023140737
(43)【公開日】2023-10-05
(54)【発明の名称】端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体
(51)【国際特許分類】
H04W 74/08 20090101AFI20230928BHJP
H04W 72/54 20230101ALI20230928BHJP
【FI】
H04W74/08
H04W72/08 110
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022046729
(22)【出願日】2022-03-23
(11)【特許番号】
(45)【特許公報発行日】2023-04-25
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、支出負担行為担当官、総務省大臣官房会計課企画官、研究テーマ「電波利活用強靭化に向けた周波数創造技術に関する研究開発及び人材育成プログラム」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(71)【出願人】
【識別番号】598015084
【氏名又は名称】学校法人福岡大学
(74)【代理人】
【識別番号】100112715
【弁理士】
【氏名又は名称】松山 隆夫
(72)【発明者】
【氏名】今中 崇詞
(72)【発明者】
【氏名】太田 真衣
(72)【発明者】
【氏名】太郎丸 眞
(72)【発明者】
【氏名】矢野 一人
(72)【発明者】
【氏名】鈴木 健太
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA11
5K067DD44
5K067EE02
5K067EE10
(57)【要約】
【課題】周波数資源の有効利用を促進することが可能な端末装置を提供する。
【解決手段】制御手段13は、待機期間の長さAを学習器14から受けると、待機期間の長さAを受けた時点から待機期間の長さAだけ経過した時点までの期間を待機期間W_prdとして設定する。制御手段13は、キャリアセンスの結果に基づいて、待機期間W_prdにおいて他の端末装置が送信チャネルChを使用する期間である使用期間USE_prdを観測する。そして、制御手段13は、待機期間の長さA、送信チャネルChの使用期間の長さBおよびパケットの送信動作結果を学習器14へ出力する。学習器14は、待機期間の長さA、送信チャネルChの使用期間の長さBおよびパケットの送信動作結果に基づいて学習を繰り返し実行し、最大の平均報酬が得られるときの待機期間の長さAを(1-ε)の確率で選択して制御手段13へ出力する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
パケットを送信するチャネルである送信チャネルにおいてキャリアセンスを実行するキャリアセンス手段と、
前記送信チャネルでのパケットの送信を待機する期間である待機期間を設定するとともに前記待機期間の終了時を前記パケットの送信タイミングとして設定する設定手段と、
前記待機期間における前記キャリアセンス手段によるキャリアセンスの結果に基づいて前記送信チャネルが使用されている期間である前記送信チャネルの使用期間の長さを検出する検出手段と、
前記送信タイミングにおいて前記送信チャネルが空いているとき前記パケットを前記送信チャネルで送信するとともにACKパケットを受信する通信手段と、
前記待機期間の長さ、前記送信チャネルの使用期間の長さおよび前記パケットの送信動作結果を受け、その受けた前記待機期間の長さ、前記送信チャネルの使用期間の長さおよび前記パケットの送信動作結果に基づいて第1の時点における即時報酬を算出する第1の処理と、前記即時報酬の累積値を平均した報酬であり、かつ、前記第1の時点の後の第2の時点における報酬である平均報酬を前記第1の処理において算出した即時報酬を用いて算出する第2の処理と、前記待機期間の長さの選択肢と、前記待機期間の長さと、前記平均報酬とを対応付けた対応表を作成するとともに前記第2の処理において算出した平均報酬によって前記第1の時点において前記設定手段へ出力した前記待機期間の長さに対応付けられた平均報酬を更新することによって前記対応表を更新し、その作成または更新した対応表に基づいて最大の前記平均報酬が得られるときの前記待機期間の長さを前記第2の時点で所定の確率で選択し、その選択した待機期間の長さを前記設定手段へ出力する第3の処理とを前記待機期間の長さ、前記送信チャネルの使用期間の長さおよび前記パケットの送信動作結果を受ける毎に実行する学習器とを備え、
前記設定手段は、前記第2の時点において前記学習器から前記待機期間の長さを受けると、前記待機期間を設定するともに、前記送信タイミングを前記通信手段へ出力し、
前記通信手段は、前記第2の時点において前記設定手段から前記送信タイミングを受けると、その受けた送信タイミングにおいて前記送信チャネルが空いているとき前記パケットを前記送信チャネルで送信するとともに前記パケットの送信結果を受信し、
前記検出手段は、前記第2の時点において設定された待機期間において前記送信チャネルの使用期間の長さを検出する、端末装置。
【請求項2】
前記待機期間は、前記設定手段が前記待機期間の長さを前記学習器から受けた時点から零または前記パケットのパケット長の正の整数倍に相当する時間が経過した時点までの期間に設定される、請求項1に記載の端末装置。
【請求項3】
前記設定手段は、前記キャリアセンスの結果が、前記送信チャネルが空いていることを示すアイドル状態であるか、前記キャリアセンスの結果が、前記送信チャネルが空いていないことを示すビジー状態であるかに拘わらず、前記待機期間の長さを前記学習器から受けた時点から前記待機期間の長さだけ経過した時点までの期間を前記待機期間として設定する、請求項1または請求項2に記載の端末装置。
【請求項4】
前記学習器は、前記第1の処理において、前記パケットの送信結果が前記パケットの送信の失敗であるとき、前記即時報酬を負の値と算出し、前記パケットの送信結果が前記パケットの送信の成功であるとき、前記待機期間の長さを前記パケットのパケット長で除算した除算結果に第1の所定値を加算した加算結果の逆数に前記送信チャネルの使用期間の長さを前記パケット長で除算した除算結果を乗算し、その乗算した乗算結果に第2の所定値を加算した加算結果を前記第1の時点における即時報酬として算出し、前記待機期間において前記パケットが送信されなかったとき、前記乗算結果を前記第1の時点における即時報酬として算出する、請求項1から請求項3のいずれか1項に記載の端末装置。
【請求項5】
前記学習器は、前記第2の処理において、前記第1の時点tにおける即時報酬をRtとし、前記第1の時点tにおける平均報酬をVtとし、前記待機期間の長さの選択回数をnとしたとき、以下の式(1)によって、前記第1の時点tの後の前記第2の時点t+1における平均報酬Vt+1を算出することによって前記平均報酬を更新する、請求項1から請求項4のいずれか1項に記載の端末装置。
Vt+1=Vt+(Rt-Vt)/n・・・(1)
【請求項6】
前記学習器は、前記第3の処理において、確率(1-ε)(εは、0~1の範囲の実数である。)で前記第2の時点における平均報酬が最大である前記待機期間の長さを選択する、請求項1から請求項5のいずれか1項に記載の端末装置。
【請求項7】
前記待機期間を設定せずに、前記キャリアセンスの結果に基づいて前記送信チャネルが空いていると判定したとき前記パケットを前記送信チャネルで送信し、前記キャリアセンスの結果に基づいて前記送信チャネルが空いていないと判定したとき前記パケットを前記送信チャネルで送信しない通信方法によって前記パケットを送信するとともに前記パケットの送信結果を受信する第2の通信ユニットを更に備え、
前記キャリアセンス手段、前記設定手段、前記検出手段、前記通信手段および前記学習器は、第1の通信ユニットを構成し、
前記第1の通信ユニットは、前記パケットの再送率がしきい値よりも大きい場合、前記送信タイミングにおいて前記送信チャネルが空いているとき、前記パケットを前記送信チャネルで送信するとともに前記ACKパケットを受信し、
前記第2の通信ユニットは、前記パケットの再送率がしきい値以下である場合、前記キャリアセンスの結果に基づいて前記送信チャネルが空いていると判定したとき、前記パケットを前記送信チャネルで送信するとともに前記ACKパケットを受信する、請求項1から請求項6のいずれか1項に記載の端末装置。
【請求項8】
キャリアセンス手段が、パケットを送信するチャネルである送信チャネルにおいてキャリアセンスを実行する第1のステップと、
設定手段が、前記送信チャネルでのパケットの送信を待機する期間である待機期間を設定するとともに前記待機期間の終了時を前記パケットの送信タイミングとして設定する第2のステップと、
検出手段が、前記待機期間における前記キャリアセンスの結果に基づいて前記送信チャネルが使用されている期間である前記送信チャネルの使用期間の長さを検出する第3のステップと、
通信手段が、前記送信タイミングにおいて前記送信チャネルが空いているとき前記パケットを前記送信チャネルで送信するとともにACKパケットを受信する第4のステップと、
学習器が、前記待機期間の長さ、前記送信チャネルの使用期間の長さおよび前記パケットの送信動作結果を受け、その受けた前記待機期間の長さ、前記送信チャネルの使用期間の長さおよび前記パケットの送信動作結果に基づいて第1の時点における即時報酬を算出する第1の処理と、前記即時報酬の累積値を平均した報酬であり、かつ、前記第1の時点の後の第2の時点における報酬である平均報酬を前記第1の処理において算出した即時報酬を用いて算出する第2の処理と、前記待機期間の長さの選択肢と、前記待機期間の長さと、前記平均報酬とを対応付けた対応表を作成するとともに前記第2の処理において算出した平均報酬によって前記第1の時点において前記設定手段へ出力した前記待機期間の長さに対応付けられた平均報酬を更新することによって前記対応表を更新し、その作成または更新した対応表に基づいて最大の前記平均報酬が得られるときの前記待機期間の長さを前記第2の時点で所定の確率で選択し、その選択した待機期間の長さを前記設定手段へ出力する第3の処理とを前記待機期間の長さ、前記送信チャネルの使用期間の長さおよび前記パケットの送信動作結果を受ける毎に実行する第5のステップとをコンピュータに実行させ、
前記設定手段は、前記第2のステップにおいて、前記第2の時点において前記学習器から前記待機期間の長さを受けると、前記待機期間を設定するともに、前記送信タイミングを前記通信手段へ出力し、
前記通信手段は、前記第4のステップにおいて、前記第2の時点において前記設定手段から前記送信タイミングを受けると、その受けた送信タイミングにおいて前記送信チャネルが空いているとき前記パケットを前記送信チャネルで送信するとともに前記パケットの送信結果を受信し、
前記検出手段は、前記第3のステップにおいて、前記第2の時点において設定された待機期間において前記送信チャネルの使用期間の長さを検出する、コンピュータに実行させるためのプログラム。
【請求項9】
前記待機期間は、前記設定手段が前記待機期間の長さを前記学習器から受けた時点から零または前記パケットのパケット長の正の整数倍に相当する時間が経過した時点までの期間に設定される、請求項8に記載のコンピュータに実行させるためのプログラム。
【請求項10】
前記設定手段は、前記第2のステップにおいて、前記キャリアセンスの結果が、前記送信チャネルが空いていることを示すアイドル状態であるか、前記キャリアセンスの結果が、前記送信チャネルが空いていないことを示すビジー状態であるかに拘わらず、前記待機期間の長さを前記学習器から受けた時点から前記待機期間の長さだけ経過した時点までの期間を前記待機期間として設定する、請求項8または請求項9に記載のコンピュータに実行させるためのプログラム。
【請求項11】
前記学習器は、前記第5のステップの前記第1の処理において、前記パケットの送信結果が前記パケットの送信の失敗であるとき、前記即時報酬を負の値と算出し、前記パケットの送信結果が前記パケットの送信の成功であるとき、前記待機期間の長さを前記パケットのパケット長で除算した除算結果に第1の所定値を加算した加算結果の逆数に前記送信チャネルの使用期間の長さを前記パケット長で除算した除算結果を乗算し、その乗算した乗算結果に第2の所定値を加算した加算結果を前記第1の時点における即時報酬として算出し、前記待機期間において前記パケットが送信されなかったとき、前記乗算結果を前記第1の時点における即時報酬として算出する、請求項8から請求項10のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項12】
前記学習器は、前記第5のステップの前記第2の処理において、前記第1の時点tにおける即時報酬をRtとし、前記第1の時点tにおける平均報酬をVtとし、前記待機期間の長さの選択回数をnとしたとき、以下の式(1)によって、前記第1の時点tの後の前記第2の時点t+1における平均報酬Vt+1を算出することによって前記平均報酬を更新する、請求項8から請求項11のいずれか1項に記載のコンピュータに実行させるためのプログラム。
Vt+1=Vt+(Rt-Vt)/n・・・(1)
【請求項13】
前記学習器は、前記第5のステップの前記第3の処理において、確率(1-ε)(εは、0~1の範囲の実数である。)で前記第2の時点における平均報酬が最大である前記待機期間の長さを選択する、請求項8から請求項12のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項14】
前記待機期間を設定せずに、前記キャリアセンスの結果に基づいて前記送信チャネルが空いていると判定したとき前記パケットを前記送信チャネルで送信し、前記キャリアセンスの結果に基づいて前記送信チャネルが空いていないと判定したとき前記パケットを前記送信チャネルで送信しない通信方法によって前記パケットを送信するとともに前記パケットの送信結果を受信する第2の通信ユニットが、前記パケットの再送率がしきい値以下である場合、前記キャリアセンスの結果に基づいて前記送信チャネルが空いていると判定したとき、前記パケットを前記送信チャネルで送信するとともに前記ACKパケットを受信する第6のステップを更にコンピュータに実行させ、
前記キャリアセンス手段、前記設定手段、前記検出手段、前記通信手段および前記学習器を含む第1の通信ユニットは、前記パケットの再送率がしきい値よりも大きい場合、前記第1のステップから前記第5のステップを実行して、前記送信タイミングにおいて前記送信チャネルが空いているとき、前記パケットを前記送信チャネルで送信するとともに前記ACKパケットを受信する、請求項8から請求項13のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項15】
請求項8から請求項14のいずれか1項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【0002】
IoT(Internet of Things)化によって、様々な製品がインターネットに接続されるようになり、世界のIoTデバイス数が増加している。
【0003】
また、高速・大容量な通信を実現可能な第5世代移動通信システム(5G)のサービスが開始されている。そして、5Gの普及によってトラフィックが大幅に増加する。その結果、限られた周波数資源を有効活用することが必要になる。
【0004】
無線通信技術においては、無線LAN(Local Area Network)などに代表されるCSMA/CA(Carrier Sense Multiple Access/ Collision Avoidance)方式が用いられており、CSMA/CA方式では,同時送信などによるパケットの衝突・損失が起きた場合、バックオフ時間(他局からの送信電波が止まったことを検知した後、直ちに送信せず、自局が送信するまでの意図的な待ち時間)を長くすることにより、パケットの衝突確率を低減させる(特許文献1)。
【0005】
また、強化学習を用いてパケットの衝突を回避する衝突回避方法が提案されている(非特許文献1)。
【0006】
図22は、非特許文献1における衝突回避方法を説明するための図である。
図22を参照して、ノードNode1は、強化学習法を用いてバックオフ時間に相当するタイムスロットを選択する。ノードNode1は、強化学習法を用いて、成功率の高いバックオフカウンタ値(タイムスロット数)Nを学習する。
【0007】
そして、ノードNode1は、時間t1から時間t2ごと(フレームごと)にタイムスロットを選択し直す。
【0008】
バックオフ中に、他のノードが送信を開始し始めた場合、ノードNode1は、送信が終わるまで待機し、送信が終わると、もう一度バックオフカウンタ値をNに戻してバックオフカウンタ値Nをカウントダウンする。
【0009】
そして、ノードNode1は、時間t1において、強化学習法におけるQ tableのQ valueが最も大きいタイムスロット=3を選択するとともにバックオフカウンタ値Nのカウントダウンを開始し、バックオフカウンタ値Nが零になると、パケットを送信する。即ち、ノードNode1は、バックオフ時間の間、待機し、バックオフ時間が終了すると、パケットを送信する。
【先行技術文献】
【特許文献】
【0010】
【非特許文献】
【0011】
【非特許文献1】Lee, Chang Kyu, and Seung Hyong Rhee, “Collision Avoidance in IEEE 802.11 DCF using a Reinforcement Learning Method,” 2020 International Conference on Information and Communication Technology Convergence (ICTC), IEEE, 2020, p. 898-901.
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかし、非特許文献1に記載のパケットの衝突を回避する衝突回避方法においては、バックオフ時間の間、パケットの送信を待っても、報酬を得ることが無いため、パケットの送信を待つというインセンティブを得ることが困難である。その結果、他のノードにパケットの送信機会を与えることが困難であり、周波数資源の有効利用を促進することが困難である。
【0013】
そこで、この発明の実施の形態によれば、周波数資源の有効利用を促進することが可能な端末装置を提供する。
【0014】
また、この発明の実施の形態によれば、周波数資源の有効利用の促進をコンピュータに実行させるためのプログラムを提供する。
【0015】
更に、この発明の実施の形態によれば、周波数資源の有効利用の促進をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【課題を解決するための手段】
【0016】
(構成1)
この発明の実施の形態によれば、端末装置は、キャリアセンス手段と、設定手段と、検出手段と、通信手段と、学習器とを備える。キャリアセンス手段は、パケットを送信するチャネルである送信チャネルにおいてキャリアセンスを実行する。設定手段は、送信チャネルでのパケットの送信を待機する期間である待機期間を設定するとともに待機期間の終了時をパケットの送信タイミングとして設定する。検出手段は、待機期間におけるキャリアセンス手段によるキャリアセンスの結果に基づいて送信チャネルが使用されている期間である送信チャネルの使用期間の長さを検出する。通信手段は、送信タイミングにおいて送信チャネルが空いているときパケットを送信チャネルで送信するとともにACKパケットを受信する。学習器は、待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果を受け、その受けた待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果に基づいて第1の時点における即時報酬を算出する第1の処理と、即時報酬の累積値を平均した報酬であり、かつ、第1の時点の後の第2の時点における報酬である平均報酬を第1の処理において算出した即時報酬を用いて算出する第2の処理と、待機期間の長さの選択肢と、待機期間の長さと、平均報酬とを対応付けた対応表を作成するとともに第2の処理において算出した平均報酬によって第1の時点において設定手段へ出力した待機期間の長さに対応付けられた平均報酬を更新することによって対応表を更新し、その作成または更新した対応表に基づいて最大の平均報酬が得られるときの待機期間の長さを第2の時点で所定の確率で選択し、その選択した待機期間の長さを設定手段へ出力する第3の処理とを待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果を受ける毎に実行する。設定手段は、第2の時点において学習器から待機期間の長さを受けると、待機期間を設定するともに、送信タイミングを通信手段へ出する。通信手段は、第2の時点において設定手段から送信タイミングを受けると、その受けた送信タイミングにおいて送信チャネルが空いているときパケットを送信チャネルで送信するとともにパケットの送信結果を受信する。検出手段は、第2の時点において設定された待機期間において送信チャネルの使用期間の長さを検出する。
【0017】
(構成2)
構成1において、待機期間は、設定手段が待機期間の長さを学習器から受けた時点から零またはパケットのパケット長の正の整数倍に相当する時間が経過した時点までの期間に設定される。
【0018】
(構成3)
構成1または構成2において、設定手段は、キャリアセンスの結果が、送信チャネルが空いていることを示すアイドル状態であるか、キャリアセンスの結果が、送信チャネルが空いていないことを示すビジー状態であるかに拘わらず、待機期間の長さを学習器から受けた時点から待機期間の長さだけ経過した時点までの期間を待機期間として設定する。
【0019】
(構成4)
構成1から構成3のいずれかにおいて、学習器は、第1の処理において、パケットの送信結果がパケットの送信の失敗であるとき、即時報酬を負の値と算出し、パケットの送信結果がパケットの送信の成功であるとき、待機期間の長さをパケットのパケット長で除算した除算結果に第1の所定値を加算した加算結果の逆数に送信チャネルの使用期間の長さをパケット長で除算した除算結果を乗算し、その乗算した乗算結果に第2の所定値を加算した加算結果を第1の時点tにおける即時報酬として算出し、待機期間においてパケットが送信されなかったとき、乗算結果を第1の時点tにおける即時報酬として算出する。
【0020】
(構成5)
構成1から構成4のいずれかにおいて、学習器は、第2の処理において、第1の時点tにおける即時報酬をRtとし、第1の時点tにおける平均報酬をVtとし、待機期間の長さの選択回数をnとしたとき、以下の式(1)によって、第1の時点tの後の第2の時点t+1における平均報酬Vt+1を算出することによって平均報酬を更新する。
【0021】
Vt+1=Vt+(Rt-Vt)/n・・・(1)
(構成6)
構成1から構成5のいずれかにおいて、学習器は、第3の処理において、確率(1-ε)(εは、0~1の範囲の実数である。)で第2の時点t+1における平均報酬が最大である待機期間の長さを選択する。
【0022】
(構成7)
構成1から構成6のいずれかにおいて、端末装置は、第2の通信ユニットを更に備える。第2の通信ユニットは、待機期間を設定せずに、キャリアセンスの結果に基づいて送信チャネルが空いていると判定したときパケットを送信チャネルで送信し、キャリアセンスの結果に基づいて送信チャネルが空いていないと判定したときパケットを送信チャネルで送信しない通信方法によってパケットを送信するとともにパケットの送信結果を受信する。キャリアセンス手段、設定手段、検出手段、通信手段および学習器は、第1の通信ユニットを構成する。第1の通信ユニットは、パケットの再送率がしきい値よりも大きい場合、送信タイミングにおいて送信チャネルが空いているとき、パケットを送信チャネルで送信するとともにACKパケットを受信する。第2の通信ユニットは、パケットの再送率がしきい値以下である場合、キャリアセンスの結果に基づいて送信チャネルが空いていると判定したとき、パケットを送信チャネルで送信するとともにACKパケットを受信する。
【0023】
(構成8)
また、この発明の実施の形態によれば、プログラムは、
キャリアセンス手段が、パケットを送信するチャネルである送信チャネルにおいてキャリアセンスを実行する第1のステップと、
設定手段が、送信チャネルでのパケットの送信を待機する期間である待機期間を設定するとともに待機期間の終了時をパケットの送信タイミングとして設定する第2のステップと、
検出手段が、待機期間におけるキャリアセンスの結果に基づいて送信チャネルが使用されている期間である送信チャネルの使用期間の長さを検出する第3のステップと、
通信手段が、送信タイミングにおいて送信チャネルが空いているときパケットを送信チャネルで送信するとともにACKパケットを受信する第4のステップと、
学習器が、待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果を受け、その受けた待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果に基づいて第1の時点における即時報酬を算出する第1の処理と、即時報酬の累積値を平均した報酬であり、かつ、第1の時点の後の第2の時点における報酬である平均報酬を第1の処理において算出した即時報酬を用いて算出する第2の処理と、待機期間の長さの選択肢と、待機期間の長さと、平均報酬とを対応付けた対応表を作成するとともに第2の処理において算出した平均報酬によって第1の時点において設定手段へ出力した待機期間の長さに対応付けられた平均報酬を更新することによって対応表を更新し、その作成または更新した対応表に基づいて最大の平均報酬が得られるときの待機期間の長さを第2の時点で所定の確率で選択し、その選択した待機期間の長さを設定手段へ出力する第3の処理とを待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果を受ける毎に実行する第5のステップとをコンピュータに実行させ、
設定手段は、第2のステップにおいて、第2の時点において学習器から待機期間の長さを受けると、待機期間を設定するともに、送信タイミングを通信手段へ出力し、
通信手段は、第4のステップにおいて、第2の時点において設定手段から送信タイミングを受けると、その受けた送信タイミングにおいて送信チャネルが空いているときパケットを送信チャネルで送信するとともにパケットの送信結果を受信し、
検出手段は、第3のステップにおいて、第2の時点において設定された待機期間において送信チャネルの使用期間の長さを検出する、コンピュータに実行させるためのプログラムである。
【0024】
(構成9)
構成8において、待機期間は、設定手段が待機期間の長さを学習器から受けた時点から零またはパケットのパケット長の正の整数倍に相当する時間が経過した時点までの期間に設定される。
【0025】
(構成10)
構成8または構成9において、設定手段は、第2のステップにおいて、キャリアセンスの結果が、送信チャネルが空いていることを示すアイドル状態であるか、キャリアセンスの結果が、送信チャネルが空いていないことを示すビジー状態であるかに拘わらず、待機期間の長さを学習器から受けた時点から待機期間の長さだけ経過した時点までの期間を待機期間として設定する。
【0026】
(構成11)
構成8から構成10のいずれかにおいて、学習器は、第5のステップの第1の処理において、パケットの送信結果がパケットの送信の失敗であるとき、即時報酬を負の値と算出し、パケットの送信結果がパケットの送信の成功であるとき、待機期間の長さをパケットのパケット長で除算した除算結果に第1の所定値を加算した加算結果の逆数に送信チャネルの使用期間の長さをパケット長で除算した除算結果を乗算し、その乗算した乗算結果に第2の所定値を加算した加算結果を第1の時点における即時報酬として算出し、待機期間においてパケットが送信されなかったとき、乗算結果を第1の時点における即時報酬として算出する。
【0027】
(構成12)
構成8から構成11のいずれかにおいて、学習器は、第5のステップの第2の処理において、第1の時点tにおける即時報酬をRtとし、第1の時点tにおける平均報酬をVtとし、待機期間の長さの選択回数をnとしたとき、以下の式(1)によって、第1の時点tの後の第2の時点t+1における平均報酬Vt+1を算出することによって平均報酬を更新する。
【0028】
Vt+1=Vt+(Rt-Vt)/n・・・(1)
(構成13)
構成8から構成12のいずれかにおいて、学習器は、第5のステップの第3の処理において、確率(1-ε)(εは、0~1の範囲の実数である。)で第2の時点における平均報酬が最大である待機期間の長さを選択する。
【0029】
(構成14)
構成8から構成13のいずれかにおいて、待機期間を設定せずに、キャリアセンスの結果に基づいて送信チャネルが空いていると判定したときパケットを送信チャネルで送信し、キャリアセンスの結果に基づいて送信チャネルが空いていないと判定したときパケットを送信チャネルで送信しない通信方法によってパケットを送信するとともにパケットの送信結果を受信する第2の通信ユニットが、パケットの再送率がしきい値以下である場合、キャリアセンスの結果に基づいて送信チャネルが空いていると判定したとき、パケットを送信チャネルで送信するとともにACKパケットを受信する第6のステップを更にコンピュータに実行させ、
キャリアセンス手段、設定手段、検出手段、通信手段および学習器を含む第1の通信ユニットは、パケットの再送率がしきい値よりも大きい場合、第1のステップから第5のステップを実行して、送信タイミングにおいて送信チャネルが空いているとき、パケットを送信チャネルで送信するとともにACKパケットを受信する。
【0030】
(構成15)
更に、この発明の実施の形態によれば、記録媒体は、構成8から構成14のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0031】
周波数の有効利用を促進できる。
【図面の簡単な説明】
【0032】
【
図1】この発明の実施の形態における通信システムの概略図である。
【
図3】待機期間を決定する方法を説明するための図である。
【
図4】送信チャネルChの使用期間の長さを検出する方法を説明するための図である。
【
図6】対応表TBLの変遷を示す第1の概略図である。
【
図7】対応表TBLの変遷を示す第2の概略図である。
【
図8】対応表TBLの変遷を示す第3の概略図である。
【
図9】対応表TBLの変遷を示す第4の概略図である。
【
図10】対応表TBLの変遷を示す第5の概略図である。
【
図11】対応表TBLの変遷を示す第6の概略図である。
【
図12】対応表TBLの変遷を示す第7の概略図である。
【
図13】対応表TBLの変遷を示す第8の概略図である。
【
図14】
図2に示す端末装置の動作を説明するためのフローチャートである。
【
図15】
図14のステップS2の詳細な動作を説明するためのフローチャートである。
【
図16】制御手段13と学習器14との動作関係を説明するためのフローチャートである。
【
図17】この発明の実施の形態による別の端末装置の概略図である。
【
図20】
図17に示す端末装置の動作を説明するためのフローチャートである。
【
図21】
図20のステップS57の詳細な動作を説明するためのフローチャートである。
【
図22】非特許文献1における衝突回避方法を説明するための図である。
【発明を実施するための形態】
【0033】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0034】
図1は、この発明の実施の形態における通信システムの概略図である。
図1を参照して、無線通信システム100は、端末装置1~3と、基地局10とを備える。端末装置1~3および基地局10は、無線通信空間に配置される。
【0035】
基地局10は、通信範囲REG1を有する。端末装置1~3は、通信範囲REG1内に配置される。端末装置1は、後述する通信方式によってパケットを基地局10へ送信する。端末装置2,3の各々は、端末装置1の通信方式と異なる通信方式でパケットを基地局10へ送信する。より具体的には、端末装置2,3の各々は、CSMA/CA方式によってパケットを基地局10へ送信する。
【0036】
この発明の実施の形態においては、端末装置1~3の各々は、送信チャネルChでパケットPKTを基地局10との間で送受信する。そして、パケットPKTは、パケット長Tを有する。端末装置1における送信チャネルChおよびパケット長Tは、固定である。パケット長Tは、例えば、24μsである。
【0037】
端末装置1は、パケットPKTを送信するとき、待機期間W_prdの長さAを選択すると、待機期間W_prdを設定する。
【0038】
そして、端末装置1は、待機期間W_prdの間、パケットPKTを送信しないことによって、パケットPKTの送信機会を他の端末装置(端末装置2,3のいずれか)に与える。
【0039】
端末装置1は、待機期間W_prdを設定すると、送信タイミングカウンタcをc=0に設定して送信タイミングカウンタcをカウントアップする。つまり、端末装置1は、送信タイミングカウンタc=0をc=Aまでカウントアップすることによって待機期間W_prdの終了時を検出する。
【0040】
端末装置1は、送信タイミングカウンタcのカウントアップを開始すると、送信チャネルChでキャリアセンスを実行し、キャリアセンスの結果RSLT_carrierに基づいて、待機期間W_prdにおいて、他の端末装置(端末装置2,3の少なくとも1つ)による送信チャネルChの使用の有無を検出する。
【0041】
端末装置1は、待機期間W_prdにおいて、キャリアセンスの結果RSLT_carrierに基づいて、他の端末装置(端末装置2,3の少なくとも1つ)による送信チャネルChにおけるパケットPKTの送信を検出すると、送信チャネルChがビジー状態BSYである送信チャネルChの使用期間USE_prdの長さBを検出する。
【0042】
待機期間W_prdにおいて、他の端末装置(端末装置2,3の少なくとも1つ)による送信チャネルChでのパケットPKTの送信を検出しなかったとき、送信チャネルChの使用期間USE_prdの長さBは、零(=0)である。
【0043】
このように、端末装置1は、待機期間W_prd中における他の端末装置(端末装置2,3の少なくとも1つ)による送信チャネルChの利用状況を検出する。
【0044】
端末装置1は、送信タイミングカウンタcのカウントアップの結果、送信タイミングカウンタcがc=Aになると、送信チャネルChでキャリアセンスを実行し、キャリアセンスの結果RSLT_carrierに基づいて送信チャネルChがアイドル状態IDLであると判定すると、パケットPKTを送信する。
【0045】
そして、端末装置1は、送信先からACK(Acknowledgement)パケットを受信したとき、パケットPKTの送信に成功したと判定する。
【0046】
一方、端末装置1は、一定期間CPD_1において、送信先からACKパケットを受信しなかったとき、パケットPKTの送信に失敗したと判定する。
【0047】
また、端末装置1は、送信タイミングカウンタcのカウントアップの結果、送信タイミングカウンタcがc=Aになった時点で実行したキャリアセンスの結果RSLT_carrierに基づいて、送信チャネルChがビジー状態BSYであると判定すると、パケットPKTを送信しない。
【0048】
そうすると、端末装置1は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さB、およびパケットPKTの送信動作結果(送信成功、送信失敗および送信不可のいずれか)に基づいて、後述する方法によって、時点tにおける即時報酬Rtを算出する。なお、送信不可は、送信チャネルChがビジー状態BSYであることに起因してパケットPKTを送信しなかったことを表わす。
【0049】
また、端末装置1は、即時報酬Rtを算出すると、後述する方法によって、即時報酬Rtの累積値を平均した報酬であり、かつ、時点tの後の時点t+1における報酬である平均報酬Vt+1を算出して時点tにおける平均報酬Vtを平均報酬Vt+1に更新する。
【0050】
図2は、
図1に示す端末装置1の概略図である。
図2を参照して、端末装置1は、アンテナ11と、通信手段12と、制御手段13と、学習器14と、アプリケーション15とを備える。
【0051】
通信手段12は、送信チャネルChを保持する。通信手段12は、送信チャネルChにおいてキャリアセンスを実行することを指示する指示信号SINST_carrierを制御手段13から受けると、アンテナ11を介して、送信チャネルChでキャリアセンスを実行し、キャリアセンスの結果RSLT_carrierを制御手段13へ出力する。
【0052】
キャリアセンスの結果RSLT_carrierは、受信信号強度RSSIのタイミングチャートからなる。そして、キャリアセンスの結果RSLT_carrierにおいて、受信信号強度RSSIがしきい値RSSI_th(=例えば、-80dBm)以下であれば、送信チャネルChがアイドル状態IDLであると判定され、受信信号強度RSSIがしきい値RSSI_thよりも大きいとき、送信チャネルChがビジー状態BSYであると判定される。
【0053】
通信手段12は、パケットPKTを制御手段13から受けると、送信チャネルChでキャリアセンスを実行し、キャリアセンスの結果RSLT_carrierに基づいて送信チャネルChがアイドル状態IDLであると判定すると、アンテナ11を介して、送信チャネルChでパケットPKTを送信する。
【0054】
そして、通信手段12は、アンテナ11を介して、ACKパケットを受信すると、その受信したACKパケットを制御手段13へ出力する。
【0055】
一方、通信手段12は、キャリアセンスの結果RSLT_carrierに基づいて送信チャネルChがビジー状態BSYであると判定すると、送信チャネルChでパケットPKTを送信しない。そして、通信手段12は、送信チャネルChでパケットPKTを送信しなかったことを示す不送信信号S_NO_TRを生成し、その生成した不送信信号S_NO_TRを制御手段13へ出力する。
【0056】
制御手段13は、アプリケーション15から送信データを受けると、その受けた送信データを含むパケットPKTを生成する。そして、指示信号SINST_carrierを生成し、その生成した指示信号SINST_carrierを通信手段12へ出力する。
【0057】
制御手段13は、通信手段12からキャリアセンスの結果RSLT_carrierを受け、学習器14から待機期間W_prdの長さAを受ける。そして、制御手段13は、待機期間W_prdの長さAを受けた時点tを起点として待機期間W_prdを設定するとともに時点tから待機期間W_prdの長さAだけ経過した時点を送信タイミングt_TRとして設定する。そして、制御手段13は、送信タイミングカウンタcのカウントアップを開始する。
【0058】
また、制御手段13は、送信タイミングカウンタcのカウントアップを開始すると、指示信号SINST_carrierを生成して通信手段12へ出力する。そして、制御手段13は、通信手段12から受けたキャリアセンスの結果RSLT_carrierに基づいて、送信チャネルChの使用期間USE_prdの長さBを検出する。
【0059】
制御手段13は、待機期間W_prdが終了(c=A)すると、パケットPKTを通信手段12へ出力する。その後、制御手段13は、ACKパケットを通信手段12から受けると、送信チャネルChでのパケットPKTの送信が成功したと判定する。
【0060】
一方、制御手段13は、パケットPKTを通信手段12へ出力した後、一定期間CPD_1が経過してもACKパケットを通信手段12から受けないとき、送信チャネルChでのパケットPKTの送信が失敗したと判定する。
【0061】
また、制御手段13は、パケットPKTを通信手段12へ出力した後、不送信信号S_NO_TRを通信手段12から受けると、送信チャネルChでパケットPKTを送信できなかったと判定する。
【0062】
そうすると、制御手段13は、送信チャネルChでのパケットPKTの送信が成功したと判定したとき、パケットPKTの送信結果が成功であることを示す送信成功信号S_SUCCESSを生成する。
【0063】
また、制御手段13は、送信チャネルChでのパケットPKTの送信が失敗したと判定したとき、パケットPKTの送信結果が失敗であることを示す送信失敗信号S_FAILUREを生成する。
【0064】
更に、制御手段13は、送信チャネルChでパケットPKTを送信できなかったと判定したとき(即ち、不送信信号S_NO_TRを通信手段12から受けたとき)、送信チャネルChでパケットPKTを送信できなかったことを示す送信不可信号S_UN_TRを生成する。
【0065】
そして、制御手段13は、待機期間W_prdの長さAと、送信チャネルChの使用期間USE_prdの長さBと、パケットPKTの送信動作結果(送信成功信号S_SUCCESS、送信失敗信号S_FAILUREおよび送信不可信号S_UN_TRのいずれかからなる)とを学習器14へ出力する。
【0066】
学習器14は、待機期間W_prdの長さAと、送信チャネルChの使用期間USE_prdの長さBと、パケットPKTの送信動作結果(送信成功信号S_SUCCESS、送信失敗信号S_FAILUREおよび送信不可信号S_UN_TRのいずれかからなる)とを制御手段13から受ける。
【0067】
そして、学習器14は、待機期間W_prdの長さAと、送信チャネルChの使用期間USE_prdの長さBと、パケットPKTの送信動作結果(送信成功信号S_SUCCESS、送信失敗信号S_FAILUREおよび送信不可信号S_UN_TRのいずれかからなる)とに基づいて、例えば、多腕バンディット法を用いて、後述する方法によって時点tにおける即時報酬Rtを算出し、その算出した即時報酬Rtと時点tにおける平均報酬Vtとを用いて時点t+1における平均報酬Vt+1を算出する。
【0068】
学習器14は、待機期間W_prdの長さAと平均報酬Vtとの対応表TBLを作成し、その作成した対応表TBLを保持する。学習器14は、平均報酬Vt+1を算出すると、対応表TBLにおいて、制御手段13から受けた待機期間W_prdの長さAに対応する平均報酬Vtを平均報酬Vt+1に更新する。
【0069】
そして、学習器14は、対応表TBLを参照して、例えば、ε-greedy法によって、最大の平均報酬Vt+1が得られるときの待機期間W_prdの長さAを所定の確率(1-ε)で選択し、その選択した待機期間W_prdの長さAを制御手段13へ出力する。
【0070】
学習器14は、待機期間W_prdの長さAと、送信チャネルの使用期間USE_prdの長さBと、パケットPKTの送信動作結果(送信成功信号S_SUCCESS、送信失敗信号S_FAILUREおよび送信不可信号S_UN_TRのいずれかからなる)とを制御手段13から受ける毎に、上述した動作を繰り返し実行する。
【0071】
アプリケーション15は、送信データを生成し、その生成した送信データを制御手段13へ出力する。
【0072】
図3は、待機期間W_prdを決定する方法を説明するための図である。
図3の(a)を参照して、端末装置1の制御手段13は、学習器14から待機期間W_prdの長さAを受け、アプリケーション15から送信データを受ける。そして、制御手段13は、アプリケーション15から受けた送信データを含むパケットPKTを生成すると、指示信号S
INST_carrierを生成して通信手段12へ出力する。
【0073】
通信手段12は、制御手段13から指示信号SINST_carrierを受けると、送信チャネルChでキャリアセンスを実行し、キャリアセンスの結果RSLT_carrierを制御手段13へ出力する。
【0074】
制御手段13は、通信手段12から受けたキャリアセンスの結果RSLT_carrierに基づいて、タイミングt1において、送信チャネルChがアイドル状態IDLであると判定したとき、タイミングt1から待機期間W_prdの長さAだけ経過した送信タイミングt_TRまでの期間を待機期間W_prdとして決定する。
【0075】
図3の(b)を参照して、制御手段13は、キャリアセンスの結果RSLT_carrierに基づいて、タイミングt1において、他の端末装置の信号によって送信チャネルChがビジー状態BSYであると判定したとき、タイミングt1から待機期間W_prdの長さAだけ経過した送信タイミングt_TRまでの期間を待機期間W_prdとして決定する。
【0076】
このように、制御手段13は、パケットPKTを生成した後、送信チャネルChがアイドル状態IDLであるかビジー状態BSYであるかに拘わらず、待機期間W_prdの長さAを学習器4から受けたタイミングt1から待機期間W_prdの長さAだけ経過した送信タイミングt_TRまでの期間を待機期間W_prdとして決定する。そして、待機期間W_prdは、送信チャネルChでのパケットPKTの送信を待機する期間である。
【0077】
図4は、送信チャネルChの使用期間USE_prdの長さBを検出する方法を説明するための図である。
図4を参照して、制御手段13は、上述した方法によって決定した待機期間W_prdを設定すると、指示信号S
INST_carrierを生成して通信手段12へ出力する。
【0078】
そして、制御手段13は、通信手段12からキャリアセンスの結果RSLT_carrierを受けると、キャリアセンスの結果RSLT_carrierに基づいて、タイミングt3からタイミングt4までの期間、他の端末装置の信号によって送信チャネルChがビジー状態BSYであることを検出し、送信チャネルChが他の端末装置(端末装置2,3のいずれか)によって使用されていると判定する。
【0079】
そうすると、制御手段13は、タイミングt3からタイミングt4までの期間を、待機期間W_prdにおける送信チャネルChの使用期間USE_prdの長さBとして検出する。
【0080】
一方、制御手段13は、キャリアセンスの結果RSLT_carrierに基づいて、待機期間W_prdの全期間において、送信チャネルChがアイドル状態IDLであると判定したとき、送信チャネルChの使用期間USE_prdの長さBが零(=0)であることを検出する。
【0081】
また、制御手段13は、キャリアセンスの結果RSLT_carrierに基づいて、待機期間W_prdの全期間において、送信チャネルChがビジー状態BSYであると判定したとき、送信チャネルChの使用期間USE_prdの長さBが待機期間W_prdの長さAに等しいことを検出する。
【0082】
従って、送信チャネルChの使用期間USE_prdの長さBは、0≦B≦Aを満たす。
【0083】
このように、送信チャネルChの使用期間USE_prdは、待機期間W_prd中における他の端末装置(端末装置2,3のいずれか)による送信チャネルChの利用状況を示すものである。その結果は、制御手段13が送信チャネルChの使用期間USE_prdを検出することは、制御手段13が待機期間W_prd中における他の端末装置(端末装置2,3のいずれか)による送信チャネルChの利用状況を観測することに相当する。
【0084】
図5は、対応表TBLの概略図である。
図5を参照して、対応表TBLは、アーム番号aと、待機期間W_prdの長さAと、平均報酬とを含む。アーム番号a、待機期間W_prdの長さAおよび平均報酬は、相互に対応付けられる。
【0085】
アーム番号aは、多腕バンディット法における選択肢を示すアームの番号からなる。そして、アーム番号aは、0以上の整数である。
【0086】
待機期間W_prdの長さAは、0,T,2T,3T,4T,5T,6Tからなる。即ち、待機期間W_prdの長さAは、0~(パケット長Tの整数倍)の範囲である。Tは、パケットPKTのパケット長である。パケット長Tの単位は、時間である。待機期間W_prdの長さAが零(=0)であることは、待機期間W_prdを設定しないことに相当する。待機期間W_prdの終了時点が送信タイミングt_TRに一致するからである。
【0087】
平均報酬は、x0,x1,x2,x3,x4,x5,x6からなる。そして、平均報酬x0,x1,x2,x3,x4,x5,x6の初期値は、零(=0)である。
【0088】
待機期間W_prdの長さA:0~6Tは、それぞれ、アーム番号0~6に対応付けられる。平均報酬x0~x6は、それぞれ、待機期間W_prdの長さA:0~6Tに対応付けられる。
【0089】
なお、対応表TBLにおいては、アーム番号a、待機期間W_prdの長さAおよび平均報酬の各々の個数は、7個であるが、この発明の実施の形態においては、アーム番号a、待機期間W_prdの長さAおよび平均報酬の各々の個数は、7個以上であってもよく、一般的には、2個以上であればよい。
【0090】
学習器14は、
図5に示す対応表TBLを作成し、その作成した対応表TBLを保持する。
【0091】
学習器14における待機期間W_prdの長さAの学習について説明する。学習器14は、対応表TBLを保持する。
【0092】
学習器14は、待機期間W_prdの長さAと、送信チャネルChの使用期間USE_prdの長さBと、パケットPKTの送信動作結果(送信成功信号S_SUCCESS、送信失敗信号S_FAILUREおよび送信不可信号S_UN_TRのいずれかからなる)とを制御手段13から受ける。
【0093】
そして、学習器14は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さBおよびパケットPKTの送信動作結果(送信成功信号S_SUCCESS、送信失敗信号S_FAILUREおよび送信不可信号S_UN_TRのいずれかからなる)に基づいて、式(1)によって、時点tにおける即時報酬Rtを算出する。
【0094】
【0095】
式(1)において、αは、無次元の正の実数であり、例えば、0.1である。また、βは、無次元の正の整数であり、例えば、1である。更に、式(1)において、γは、無次元の正の実数であり、例えば、1である。
【0096】
なお、式(1A)および式(1B)によって即時報酬Rtを算出する場合、待機期間W_prdの長さAおよび送信チャネルChの使用期間USE_prdの長さBがパケット長Tによって規格化される。その結果、パケット長Tは、時間の単位を有し、待機期間W_prdの長さAは、パケット長Tの整数倍であるので、A/Tは、無次元の整数からなり、B/Tは、無次元の実数からなる。従って、式(1)によって算出される即時報酬Rtは、無次元の値からなる。
【0097】
また、式(1A),(1B)の分母がαを含むのは、待機期間W_prdの長さAが零(=0)であっても、即時報酬Rtを算出できるようにするためである。、
学習器14は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さBおよび送信成功信号S_successを制御手段13から受けたとき、送信成功信号S_successに基づいてACKパケットを受信した(Receiving ACK)と判定し、式(1A)によって即時報酬Rtを算出する。
【0098】
また、学習器14は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さBおよび送信不可信号S_UN_TRを制御手段13から受けたとき、送信不可信号S_UN_TRに基づいて、送信チャネルChがビジー状態BSY(Channel: Busy)であると判定し、式(1B)によって即時報酬Rtを算出する。
【0099】
更に、学習器14は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さBおよび送信失敗信号S_FAILUREを制御手段13から受けたとき、送信失敗信号S_FAILUREに基づいてACKパケットを受信しなかった(NO Receiving ACK)と判定し、式(1C)によって即時報酬Rtを算出する。
【0100】
図3において説明したように、待機期間W_prdの長さAを学習器4から受けたタイミングt1において、送信チャネルChがアイドル状態IDLであるかビジー状態BSYであるかに拘わらず、待機期間W_prdの長さAを学習器4から受けたタイミングt1から待機期間W_prdの長さAだけ経過した送信タイミングt_TRまでの期間を待機期間W_prdとして決定する。
【0101】
その結果、待機期間W_prdの長さAを学習器4から受けたタイミングt1において、他の端末装置(端末装置2,3のいずれか)が送信チャネルChでパケットPKTを送信している場合、端末装置1が他の端末装置(端末装置2,3のいずれか)によるパケットPKTの送信期間を送信チャネルChの使用期間USE_prdとして検出でき、端末装置1が送信タイミングt_TRにおいて送信チャネルChでパケットPKTを送信した場合、パケットPKTの送信に成功すれば、式(1A)によって算出される即時報酬Rtを得ることができ、送信タイミングt_TRにおいて送信チャネルChがビジー状態BSYであるためにパケットPKTを送信できなかった場合でも、式(1B)によって算出される即時報酬Rtを得ることができる。従って、端末装置1は、パケットPKTの送信に失敗しない限り、正の即時報酬Rtを得ることができる。
【0102】
学習器14は、即時報酬Rtを算出すると、その算出した即時報酬Rtと、時点tにおける平均報酬Vtとを式(2)に代入して時点t+1における平均報酬Vt+1を算出する。
【0103】
【0104】
式(2)において、nは、対応表TBLのアーム番号aを選択した回数であり、1以上の整数からなる。また、平均報酬Vt+1は、即時報酬Rtの累積値を平均した報酬であり、かつ、時点tの後の時点t+1における報酬である。その結果、平均報酬Vt,Vt+1は、無次元の実数からなる。
【0105】
学習器14は、待機期間W_prdの長さAを選択するとき、対応表TBLを参照して、ε-greedy法によって1つのアーム番号aを選択し、その選択した1つのアーム番号aに対応付けられた1つの待機期間W_prdの長さAを選択する。
【0106】
ε-greedy法は、ある一定の小さい数ε(例えば、0.3)を決定しておき、0~1の範囲の実数からなる乱数pを発生させ、その発生させた乱数pがε以下であるとき、アーム番号0~6からランダムに1つのアーム番号aを選択し、発生した乱数pがε以下でないとき、最大の平均報酬Vtが得られるときの1つのアーム番号aをアーム番号0~6から選択する方法である。
【0107】
なお、1つのアーム番号aがε-greedy法によって選択され、その後、その選択された1つのアーム番号aに対応付けられた1つの待機期間W_prdの長さAが選択されるので、式(2)における“n”は、待機期間W_prdの長さAの選択回数を表わすことになる。
【0108】
図6から
図13は、それぞれ、対応表TBLの変遷を示す第1から第8の概略図である。なお、
図6において、アーム番号0~6に対応付けられた7個の平均報酬は、全て、初期値(=0)に設定されている。
【0109】
図6を参照して、学習器14は、対応表TBLを参照して、ε-greedy法によって、発生した乱数pがε以下であるとして、アーム番号a=3をランダムに選択することによって待機期間W_prdの長さA=3Tを選択し、その選択した待機期間W_prdの長さA=3Tを制御手段13へ出力する。
【0110】
その後、学習器14は、待機期間W_prdの長さA(=3T)、送信チャネルChの使用期間USE_prdの長さBおよび送信成功信号S_successを制御手段13から受ける。そして、学習器14は、送信成功信号S_successに基づいてACKパケットを受信したと判定し、式(1A)によって即時報酬Rt=[(B/T)/(3+α)+β]を算出する。
【0111】
図6に示す対応表TBLにおいて、待機期間W_prdの長さA=3Tに対応付けられた平均報酬V
tは、零(=0)であり、n=1であるので、学習器14は、式(2)によって平均報酬V
t+1=V
t+(R
t-V
t)/n=0+([(B/T)/(3+α)+β]-0)/1=[(B/T)/(3+α)+β]を算出する。
【0112】
そうすると、学習器14は、対応表TBLにおいて、待機期間W_prdの長さA=3Tに対応付けられた平均報酬を零(=0)から[(B/T)/(3+α)+β]に更新する(
図7参照)。
【0113】
引き続いて、学習器14は、対応表TBL(
図7に示す対応表TBL)を参照して、ε-greedy法によって、発生した乱数pがεよりも大きいとして、最大の平均報酬([(B/T)/(3+α)+β])が得られるアーム番号a=3を選択することによって待機期間W_prdの長さA=3Tを選択し、その選択した待機期間W_prdの長さA=3Tを制御手段13へ出力する。
【0114】
その後、学習器14は、待機期間W_prdの長さA(=3T)、送信チャネルChの使用期間USE_prdの長さBおよび送信成功信号S_successを制御手段13から受ける。そして、学習器14は、送信成功信号S_successに基づいてACKパケットを受信したと判定し、式(1A)によって即時報酬Rt=[(B/T)/(3+α)+β]を算出する。
【0115】
図7に示す対応表TBLにおいて、待機期間W_prdの長さA=3Tに対応付けられた平均報酬V
tは、[(B/T)/(3+α)+β]であり、n=2であるので、学習器14は、式(2)によって平均報酬V
t+1=V
t+(R
t-V
t)/n=[(B/T)/(3+α)+β]+([(B/T)/(3+α)+β]-[(B/T)/(3+α)+β])/2=[(B/T)/(3+α)+β]を算出する。
【0116】
そうすると、学習器14は、対応表TBLにおいて、待機期間W_prdの長さA=3Tに対応付けられた平均報酬を[(B/T)/(3+α)+β]から[(B/T)/(3+α)+β]に更新する(
図8参照)。即ち、待機期間W_prdの長さA=3Tに対応付けられた平均報酬は、変化しない(
図7および
図8参照)。
【0117】
なお、
図7および
図8においては、使用期間USE_prdの長さBが同じであるとして、即時報酬R
tおよび平均報酬V
t+1が算出されている。
【0118】
次に、
図6に示す対応表TBLを参照して、学習器14がε-greedy法によって、発生した乱数pがε以下であるとして、アーム番号a=3をランダムに選択することによって待機期間W_prdの長さA=3Tを選択して制御手段13へ出力し、制御手段13から待機期間W_prdの長さA(=3T)、送信チャネルChの使用期間USE_prdの長さBおよび送信不可信号S
_UN_TRを受けた場合について説明する。
【0119】
学習器14は、待機期間W_prdの長さA=3Tを制御手段13へ出力した後、待機期間W_prdの長さA(=3T)、送信チャネルChの使用期間USE_prdの長さBおよび送信不可信号S_UN_TRを受け、その受けた送信不可信号S_UN_TRに基づいて、パケットPKTを送信できなかったと判定する。
【0120】
そして、学習器14は、式(1B)によって即時報酬Rt=(B/T)/(3+α)を算出する。
【0121】
また、平均報酬Vt=0およびn=1であるので、学習器14は、式(2)によって、平均報酬Vt+1=Vt+(Rt-Vt)/n=0+((B/T)/(3+α)-0)/1=(B/T)/(3+α)を算出する。
【0122】
そうすると、学習器14は、対応表TBL(
図6に示す対応表TBL)を参照して、待機期間W_prdの長さA=3Tに対応付けられた平均報酬を零(=0)から(B/T)/(3+α)に更新する(
図9参照)。
【0123】
その後、学習器14は、対応表TBL(
図9に示す対応表TBL)を参照して、ε-greedy法によって、発生した乱数pがεよりも大きいとして、最大の平均報酬([(B/T)/(3+α)])が得られるアーム番号a=3を選択することによって待機期間W_prdの長さA=3Tを選択し、その選択した待機期間W_prdの長さA=3Tを制御手段13へ出力する。
【0124】
その後、学習器14は、待機期間W_prdの長さA(=3T)、送信チャネルChの使用期間USE_prdの長さBおよび送信不可信号S_UN_TRを受け、その受けた送信不可信号S_UN_TRに基づいて、パケットPKTを送信できなかったと判定する。
【0125】
そして、学習器14は、式(1B)によって即時報酬Rt=(B/T)/(3+α)を算出する。
【0126】
また、平均報酬Vt=(B/T)/(3+α)およびn=2であるので、学習器14は、式(2)によって、平均報酬Vt+1=Vt+(Rt-Vt)/n=(B/T)/(3+α)+([(B/T)/(3+α)]-[(B/T)/(3+α)])/2=(B/T)/[(3+α)]を算出する。
【0127】
そうすると、学習器14は、対応表TBL(
図9に示す対応表TBL)を参照して、待機期間W_prdの長さA=3Tに対応付けられた平均報酬を(B/T)/(3+α)から(B/T)/[2(3+α)]に更新する(
図10参照)。即ち、待機期間W_prdの長さA=3Tに対応付けられた平均報酬は、変化しない(
図9および
図10参照)。
【0128】
なお、
図9および
図10においては、使用期間USE_prdの長さBが同じであるとして、即時報酬R
tおよび平均報酬V
t+1が算出されている。
【0129】
引き続いて、
図6に示す対応表TBLを参照して、学習器14がε-greedy法によって、発生した乱数pがε以下であるとして、アーム番号a=3をランダムに選択することによって待機期間W_prdの長さA=3Tを選択して制御手段13へ出力し、制御手段13から待機期間W_prdの長さA(=3T)、送信チャネルChの使用期間USE_prdの長さBおよび送信失敗信号S
_FAILUREを受けた場合について説明する。
【0130】
学習器14は、待機期間W_prdの長さA=3Tを制御手段13へ出力した後、待機期間W_prdの長さA(=3T)、送信チャネルChの使用期間USE_prdの長さBおよび送信失敗信号S_FAILUREを受け、その受けた送信失敗信号S_FAILUREに基づいて、パケットPKTの送信に失敗したと判定する。
【0131】
そして、学習器14は、式(1C)によって即時報酬Rt=-γを算出する。
【0132】
また、平均報酬Vt=0およびn=1であるので、学習器14は、式(2)によって、平均報酬Vt+1=Vt+(Rt-Vt)/n=0+(-γ-0)/1=-γを算出する。
【0133】
そうすると、学習器14は、対応表TBL(
図6に示す対応表TBL)を参照して、待機期間W_prdの長さA=3Tに対応付けられた平均報酬を零(=0)から-γに更新する(
図11参照)。
【0134】
その後、学習器14は、対応表TBL(
図11に示す対応表TBL)を参照して、ε-greedy法によって、発生した乱数pがε以下であるとして、アーム番号a=3をランダムに選択することによって待機期間W_prdの長さA=3Tを選択し、その選択した待機期間W_prdの長さA=3Tを制御手段13へ出力する。
【0135】
そして、学習器14は、制御手段13から待機期間W_prdの長さA(=3T)、送信チャネルChの使用期間USE_prdの長さBおよび送信失敗信号S_FAILUREを受け、その受けた送信失敗信号S_FAILUREに基づいてパケットPKTの送信に失敗したと判定する。
【0136】
そして、学習器14は、式(1C)によって即時報酬Rt=-γを算出する。
【0137】
また、平均報酬Vt=-γおよびn=2であるので、学習器14は、式(2)によって、平均報酬Vt+1=Vt+(Rt-Vt)/n=-γ+(-γ-(-γ))/2=-γを算出する。
【0138】
そうすると、学習器14は、対応表TBL(
図11に示す対応表TBL)を参照して、待機期間W_prdの長さA=3Tに対応付けられた平均報酬を“-γ”から“-γ”に更新する(
図12参照)。即ち、待機期間W_prdの長さA=3Tに対応付けられた平均報酬は、変化しない(
図11および
図12参照)。
【0139】
なお、
図11および
図12においては、使用期間USE_prdの長さBが同じであるとして、即時報酬R
tおよび平均報酬V
t+1が算出されている。
【0140】
図6から
図12に示すように、同じ待機期間W_prdの長さA=3Tを選択した場合において、パケットPKTの送信に成功した場合(
図6から
図8参照)、パケットPKTを送信できなかった場合(
図6、
図9および
図10参照)、およびパケットPKTの送信に失敗した場合(
図6,
図11および
図12参照)について対応表TBLの変遷を説明した。
【0141】
その結果、得られる平均報酬V
t+1は、最初に算出された即時報酬R
tに等しい。従って、得られる平均報酬V
t+1は、パケットPKTの送信に成功した場合(
図6から
図8参照)の即時報酬R
t、パケットPKTを送信できなかった場合(
図6、
図9および
図10参照)の即時報酬R
t、およびパケットPKTの送信に失敗した場合(
図6,
図11および
図12参照)の即時報酬R
tの順序と同じ順序に従って低くなる。
【0142】
なお、この発明の実施の形態においては、以下の表1に示すように、2回目の平均報酬が1回目の平均報酬から変化することもある。
【0143】
図6から
図12においては、同じ待機期間W_prdの長さA=3Tを連続して選択する場合についての平均報酬V
t+1の変遷について説明した。
【0144】
そこで、対応表TBLが
図6に示す対応表TBLから
図7に示す対応表TBLに変遷した後に、待機期間W_prdの長さA=3Tと異なる待機期間W_prdの長さAを選択する場合について説明する。
【0145】
学習器14は、
図7に示す対応表TBLを参照して、ε-greedy法によって、発生した乱数pがε以下であるとして、アーム番号a=5をランダムに選択することによって待機期間W_prdの長さA=5Tを選択し、その選択した待機期間W_prdの長さA=5Tを制御手段13へ出力する。
【0146】
その後、学習器14は、待機期間W_prdの長さA(=5T)、送信チャネルChの使用期間USE_prdの長さBおよび送信成功信号S_SUCCESSを制御手段13から受け、その受けた送信成功信号S_SUCCESSに基づいてACKパケットを受信したと判定する。
【0147】
そして、学習器14は、式(1A)によって即時報酬Rt=(B/T)/(5+α)+βを算出する。
【0148】
そうすると、待機期間W_prdの長さA=5Tに対応付けられた平均報酬Vtが零(=0)であり、n=1であるので、学習器14は、式(2)によって、平均報酬Vt+1=Vt+(Rt-Vt)/n=0+([(B/T)/(5+α)+β]-0)/1={(B/T)/[(5+α)]+β}を算出する。なお、待機期間W_prdの長さA=5Tは、初めて選択されたので、n=1である。
【0149】
そして、学習器14は、
図7に示す対応表TBLを参照して、待機期間W_prdの長さA=5Tに対応付けられた平均報酬V
t=零(=0)を平均報酬V
t+1={(B/T)/[(5+α)]+β}に更新する(
図13参照)。
【0150】
なお、
図7および
図13においては、使用期間USE_prdの長さBが同じであるとして、即時報酬R
tおよび平均報酬V
t+1が算出されている。
【0151】
図13に示す対応表TBLにおいては、待機期間W_prdの長さA=3Tに対応付けられた平均報酬[(B/T)/(3+α)+β]は、待機期間W_prdの長さA=5Tに対応付けられた平均報酬{(B/T)/[(5+α)+β}よりも大きい。待機期間W_prdの長さAの値(式(1A)の“T”)が大きくなるほど、式(1A)の即時報酬R
tが小さくなるからである。
【0152】
待機期間W_prdの長さAが同じである場合について、1回目と2回目との平均報酬Vt+1が異なる例を表1に示す。
【0153】
【0154】
表1は、1回目と2回目とにおける待機期間W_prdの長さAが同じであり、1回目と2回目とにおける使用期間USE_prdの長さBが異なる場合について、パターンI~VIを示す。パターンI,IIは、1回目の送信動作結果が“送信成功”である場合について1回目および2回目の平均報酬Vt+1を示し、パターンIII,IVは、1回目の送信動作結果が“送信不可”である場合について1回目および2回目の平均報酬Vt+1を示し、パターンV,VIは、1回目の送信動作結果が“送信失敗”である場合について1回目および2回目の平均報酬Vt+1を示す。
【0155】
表1に示すように、パターンI~VIのいずれにおいても、2回目の平均報酬Vt+1は、1回目の平均報酬Vt+1と異なる。
【0156】
パターンIにおいては、1回目の平均報酬Vt+1から2回目の平均報酬Vt+1を減算した減算結果は、[β(3+α)-1]/[2(3+α)]である。α=0.1であり、β=1であるので、減算結果は、正の値になる。その結果、2回目の平均報酬Vt+1が1回目の平均報酬Vt+1よりも減少する。従って、1回目において、パケットPKTの送信に成功しても、2回目において、パケットPKTの送信ができなかったとき、平均報酬Vt+1が減少する。
【0157】
パターンIIにおいては、1回目の平均報酬Vt+1から2回目の平均報酬Vt+1を減算した減算結果が正の値になるので、2回目の平均報酬Vt+1は、1回目の平均報酬Vt+1よりも減少する。従って、1回目において、パケットPKTの送信に成功しても、2回目において、パケットPKTの送信に失敗すると、平均報酬Vt+1が減少する。
【0158】
パターンIIIにおいては、1回目の平均報酬Vt+1から2回目の平均報酬Vt+1を減算した減算結果が負の値になるので、2回目の平均報酬Vt+1は、1回目の平均報酬Vt+1よりも増加する。従って、1回目において、パケットPKTの送信ができなくても、2回目において、パケットPKTの送信に成功すると、平均報酬Vt+1が増加する。
【0159】
パターンIVにおいては、1回目の平均報酬Vt+1から2回目の平均報酬Vt+1を減算した減算結果が正の値になるので、2回目の平均報酬Vt+1は、1回目の平均報酬Vt+1よりも減少する。従って、「パケットPKTの送信ができなかったこと」に続いてパケットPKTの送信に失敗すると、平均報酬Vt+1が減少する。
【0160】
パターンVにおいては、1回目の平均報酬Vt+1から2回目の平均報酬Vt+1を減算した減算結果が負の値になるので、2回目の平均報酬Vt+1は、1回目の平均報酬Vt+1よりも増加する。従って、1回目において、パケットPKTの送信に失敗しても、2回目において、パケットPKTの送信に成功すれば、平均報酬Vt+1が増加する。
【0161】
パターンVIにおいては、1回目の平均報酬Vt+1から2回目の平均報酬Vt+1を減算した減算結果が負の値になるので、2回目の平均報酬Vt+1は、1回目の平均報酬Vt+1よりも増加する。従って、1回目において、パケットPKTの送信に失敗し、2回目において、パケットPKTの送信ができなくても、平均報酬Vt+1が増加する。これは、パケットPKTの送信に失敗したとき、即時報酬Rtが負の値(-γ)になるのに対し、パケットPKTの送信ができない場合は、他の端末装置(端末装置2,3のいずれか)による送信チャネルChの使用期間USE_prdの長さBに比例する即時報酬Rtが付与されるからである。
【0162】
ε-greedy法によってアーム番号a=3,5以外のアーム番号aが選択されて待機期間W_prdの長さAとして3T,5T以外が選択され、送信動作結果が送信成功信号S
_SUCCESS、送信失敗信号S
_SUCCESSおよび送信不可信号S
_UN_TRのいずれかである場合についても、
図6から
図13において説明した方法および表1に示す平均報酬V
t+1と同様にして、対応表TBLの平均報酬を更新することができる。
【0163】
なお、対応表TBLは、待機期間W_prdの長さA=0を含むので、待機期間W_prdが設定されない場合もあるが、“0”でない待機期間W_prdの長さAが選択される場合もあるので、ε-greedy法によって“0”でない待機期間W_prdの長さAが選択されれば、待機期間W_prdが設定され、他の端末装置(端末装置2,3のいずれか)にパケットPKTの送信機会を与えることができ、待機期間W_prdが終了すると、端末装置1は、パケットPKTを送信する。従って、対応表TBLが待機期間W_prdの長さA=0(即ち、待機期間A=0)を含んでいても、周波数の有効利用を促進できる。
【0164】
図14は、
図2に示す端末装置1の動作を説明するためのフローチャートである。
図14を参照して、端末装置1の動作が開始されると、端末装置1の制御手段13は、アプリケーション15から送信データを受けたか否かを判定することによって送信パケットがあるか否かを判定する(ステップS1)。
【0165】
この場合、制御手段13は、アプリケーション15から送信データを受けたとき、送信パケットがあると判定し、アプリケーション15から送信データを受けなかったとき、送信データが無いと判定する。
【0166】
ステップS1において、送信データがあると判定されると、制御手段13は、待機期間W_prdの長さAを学習器14から受け、待機期間W_prdを設定するとともに送信タイミングt_TRを設定する(ステップS2)。
【0167】
そして、制御手段13は、ビジーカウンタbおよび送信タイミングカウンタcを保持しており、その保持しているビジーカウンタbをb=0に設定し、送信タイミングカウンタcをc=0に設定して送信タイミングカウンタcをカウントアップする(ステップS3)。
【0168】
その後、制御手段13は、指示信号SINST_carrierを生成して通信手段12へ出力し、通信手段12は、制御手段13からの指示信号SINST_carrierに応じて、送信チャネルChでキャリアセンスを実行し(ステップS4)、キャリアセンスの結果RSLT_carrierを制御手段13へ出力する。
【0169】
制御手段13は、通信手段12からのキャリアセンスの結果RSLT_carrierに基づいて、上述した方法によって、送信チャネルChがアイドル状態IDLであるか否かを判定する(ステップS5)。
【0170】
ステップS5において、送信チャネルChがアイドル状態IDLであると判定されたとき、制御手段13は、送信タイミングカウンタcがc=Aであるか否かを判定する(ステップS6)。
【0171】
ステップS6において、送信タイミングカウンタcがc=Aであると判定されたとき、制御手段13は、送信データを含むパケットPKTを通信手段12へ出力し、通信手段12は、送信チャネルChでパケットPKTを送信する(ステップS7)。
【0172】
そして、制御手段13は、通信手段12からACKパケットを受けたか否かによってACKパケットを受信したか否かを判定する(ステップS8)。
【0173】
この場合、制御手段13は、通信手段12からACKパケットを受けたとき、ACKパケットを受信したと判定し、通信手段12からACKパケットを受けなかったとき、ACKパケットを受信しなかったと判定する。
【0174】
ステップS8において、ACKパケットを受信したと判定されたとき、制御手段13は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さB(=0)、および送信成功信号S_SUCCESSを学習器14へ出力する。
【0175】
学習器14は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さB(=0)、および送信成功信号S_SUCCESSを制御手段13から受け、その受けた待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さB(=0)、および送信成功信号S_SUCCESSに基づいて、式(1A)によって即時報酬Rtを算出する(ステップS9)。
【0176】
この場合、送信チャネルChの使用期間USE_prdの長さBが“0”であるのは、ステップS3において、送信タイミングカウンタcのカウントアップが開始された後に、ステップS5において送信チャネルChがアイドル状態IDLであると判定されたときに、ステップS6の“YES”→ステップS7→ステップS8の“YES”→ステップS9が順次実行され、ステップS5の“YES”からステップS9までの間において、送信チャネルChがビジー状態BSYであると判定されていないからである(即ち、ステップS5の“YES”からステップS9までの間、アイドル状態IDLが維持されているからである)。
【0177】
また、送信チャネルChの使用期間USE_prdの長さBが“0”であるので、ステップS9において算出される即時報酬Rtは、Rt=βである(式(1A)参照)。
【0178】
一方、ステップS5において、送信チャネルChがアイドル状態IDLでないと判定されたとき、制御手段13は、ビジーカウンタbをカウントアップする(ステップS10)。
【0179】
その後、制御手段13は、送信タイミングカウンタcがc=Aであるか否かを判定する(ステップS11)。
【0180】
そして、ステップS6において、またはステップS11において、送信タイミングカウンタcがc=Aでないと判定されたとき、制御手段13は、送信タイミングカウンタcをカウントアップする(ステップS12)。その後、端末装置1の動作は、ステップS4へ移行する。そして、ステップS6において、送信タイミングカウンタcがc=Aであると判定されるまで、ステップS4,S5,S6,S12が繰り返し実行され、またはステップS11において、送信タイミングカウンタcがc=Aであると判定されるまで、ステップS4,S5,S10,S11,S12が繰り返し実行される。
【0181】
そして、ステップS6において、送信タイミングカウンタcがc=Aであると判定されると、上述したステップS7~S9が順次実行される。
【0182】
一方、ステップS8において、ACKパケットを受信しなかったと判定されたとき、制御手段13は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さB、および送信失敗信号S_FAILUREを学習器14へ出力し、学習器14は、制御手段13から受けた待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さB、および送信失敗信号S_FAILUREに基づいて、式(1C)によって即時報酬Rt(=-γ)を算出する(ステップS13)。
【0183】
一方、ステップS11において、送信タイミングカウンタcがc=Aであると判定されると、制御手段13は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さB、および送信不可信号S_UN_TRを学習器14へ出力し、学習器14は、制御手段13から受けた待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さB、および送信不可信号S_UN_TRに基づいて、式(1B)によって即時報酬Rtを算出する(ステップS14)。
【0184】
そして、ステップS9、ステップS13およびステップS14のいずれかの後、学習器14は、待機期間W_prdの長さAに対応付けられた平均報酬を更新する(ステップS15)。
【0185】
その後、制御手段13は、送信パケットがあるか否かを判定する(ステップS16)。ステップS16において、送信パケットがあると判定されたとき、端末装置1の動作は、ステップS2へ移行し、ステップS16において、送信パケットが無いと判定されるまで、ステップS2~ステップS16が繰り返し実行される。
【0186】
そして、ステップS16において、送信パケットが無いと判定されると、端末装置1の動作は、終了する。
【0187】
図15は、
図14のステップS2の詳細な動作を説明するためのフローチャートである。
【0188】
図15を参照して、
図14のステップS1において、送信パケットがあると判定されたとき、制御手段13は、待機期間W_prdの長さAを学習器14から受ける(ステップS21)。
【0189】
そして、制御手段13は、学習器14から待機期間W_prdの長さAを受けた時点tを検出する(ステップS22)。
【0190】
その後、制御手段13は、時点tから待機期間W_prdの長さAだけ経過した時点t+Aまでの期間を待機期間W_prdとして設定する(ステップS23)。
【0191】
引き続いて、制御手段13は、時点t+Aを送信タイミングt_TRとして設定する(ステップS24)。そして、端末装置1の動作は、
図14のステップS3へ移行する。
【0192】
図14に示すフローチャートにおいては、ステップS5において、送信チャネルChがアイドル状態IDLでないと判定されたとき(即ち、送信チャネルChがビジー状態BSYであると判定されたとき)、ステップS11において、送信タイミングカウンタcがc=Aであると判定されるまで、ステップS10において、制御手段13は、ビジーカウンタbをカウントアップすることを繰り返し実行する。
【0193】
その結果、
図4に示すタイミングt3からタイミングt4までの期間が送信チャネルChの使用期間USE_prdの長さBとして検出されるので、パケットPKTの送信に成功したときの即時報酬R
t(式(1A)参照)、またはパケットPKTを送信できなかったときの即時報酬R
t(式(1B)参照)を、待機期間W_prd中に他の端末装置(端末装置2,3のいずれか)によるパケットPKTの送信が無い場合よりも大きくできる。
【0194】
これは、端末装置1が
図4に示すタイミングt1から送信タイミングt_TRまでの待機期間W_prdを設定することによって、「待機期間W_prd中に他の端末装置(端末装置2,3のいずれか)にパケットPKTの送信の機会を与える」という待機期間W_prdを設定することによる他の端末装置(端末装置2,3のいずれか)に与える効果を考慮したものである。
【0195】
このように、端末装置1が待機期間W_prdを設定することによって、他の端末装置(端末装置2,3のいずれか)が待機期間W_prdにパケットPKTを送信することが可能になるので、パケットPKTの衝突を回避した上で周波数の有効利用を促進できる。
【0196】
図16は、制御手段13と学習器14との動作関係を説明するためのフローチャートである。
【0197】
図16を参照して、制御手段13および学習器14の動作が開始されると、学習器14は、対応表TBLを参照して、ε-greedy法によってアーム0~6から1つのアームaを選択する(ステップS31)。
【0198】
この場合、学習器14は、ステップS31を1回目に実行するとき、ε-greedy法によって1つのアーム番号aをランダムに選択する。初期状態において、対応表TBLにおける全ての平均報酬は、零(=0)であるので、学習器14は、発生させた乱数pがεよりも大きいとき、アーム番号0~6から1つのアーム番号aをランダムに選択する。また、学習器14は、発生させた乱数pがε以下であるとき、アーム番号0~6から1つのアーム番号aをランダムに選択する。従って、学習器14は、ステップS31を1回目に実行するとき、発生させた乱数pがε以下であるか否かに拘わらず、アーム番号0~6から1つのアーム番号aをランダムに選択する。
【0199】
また、学習器14は、ステップS31を2回目以降に実行するとき、発生させた乱数pがεよりも大きければ、最大の平均報酬が得られる1つのアーム番号aを選択し、発生させた乱数pがε以下であれば、アーム番号0~6から1つのアーム番号aをランダムに選択する。
【0200】
なお、学習器14は、ステップS31を2回目以降に実行する場合において、発生させた乱数pがεよりも大きいとき、複数の最大の平均報酬があれば、複数の最大の平均報酬のうちの任意の1つの最大の平均報酬が得られる1つのアーム番号aを選択する。
【0201】
ステップS31の後、学習器14は、1つのアームaに対応付けられた待機期間W_prdの長さAを選択する(ステップS32)。
【0202】
そうすると、学習器14は、待機期間W_prdの長さAを制御手段13へ出力する(ステップS33)。
【0203】
制御手段13は、待機期間W_prdの長さAを学習器14から受ける(ステップS34)。そして、制御手段13は、待機期間W_prdを設定し、その設定した待機期間W_prdに基づいて送信タイミングt_TRを設定する(ステップS35)。
【0204】
その後、制御手段13は、キャリアセンスの結果RSLT_carrierに基づいて待機期間W_prdにおける送信チャネルChの使用期間USE_prdの長さBを検出する(ステップS36)。
【0205】
この場合、制御手段13は、ビジーカウンタbをb=0に設定し、送信チャネルChがビジー状態BSYである間、その設定したビジーカウンタbをカウントアップすることによって送信チャネルChの使用期間USE_prdの長さBを検出する。
【0206】
ステップS36の後、制御手段13は、パケットPKTの送信動作結果を生成する(ステップS37)。
【0207】
ここで、パケットPKTの送信動作結果は、送信成功信号S_SUCCESS、送信失敗信号S_FAILUREおよび送信不可信号S_UN_TRのいずれかからなる。そして、制御手段13は、通信手段12からACKパケットを受けたとき、送信成功信号S_SUCCESSを生成し、一定期間CPD_1において、通信手段12からACKパケットを受けなかったとき、送信失敗信号S_FAILUREを生成し、通信手段12から不送信信号S_NO_TRを受けたとき、送信不可信号S_UN_TRを生成する。
【0208】
ステップS37の後、制御手段13は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さBおよびパケットPKTの送信動作結果(送信成功信号S_SUCCESS、送信失敗信号S_FAILUREおよび送信不可信号S_UN_TRのいずれか)を学習器14へ出力する(ステップS38)。
【0209】
学習器14は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さBおよびパケットPKTの送信動作結果(送信成功信号S_SUCCESS、送信失敗信号S_FAILUREおよび送信不可信号S_UN_TRのいずれか)を制御手段13から受ける(ステップS39)。
【0210】
そして、学習器14は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さBおよびパケットPKTの送信動作結果(送信成功信号S_SUCCESS、送信失敗信号S_FAILUREおよび送信不可信号S_UN_TRのいずれか)に基づいて、時点tにおける即時報酬Rtを式(1)によって算出する(ステップS40)。
【0211】
この場合、学習器14は、パケットPKTの送信動作結果が送信成功信号S_SUCCESSからなるとき、式(1A)によって即時報酬Rtを算出し、パケットPKTの送信動作結果が送信不可信号S_UN_TRからなるとき、式(1B)によって即時報酬Rtを算出し、パケットPKTの送信動作結果が送信失敗信号S_FAILUREからなるとき、式(1C)によって即時報酬Rtを算出する。
【0212】
ステップS40の後、学習器14は、即時報酬Rtを用いて、時点t+1における平均報酬Vt+1を式(2)によって算出する(ステップS41)。
【0213】
そして、学習器14は、算出した平均報酬Vt+1によって、待機期間W_prdの長さA(ステップS32において選択された待機期間W_prdの長さA)に対応付けられた平均報酬を更新する(ステップS42)。
【0214】
ステップS42の後、学習器14の動作は、ステップS31へ移行する。以後、上述したステップS31~ステップS42が繰り返し実行される。
【0215】
図16に示すフローチャートにおいては、制御手段13は、ステップS35において、
図15に示すフローチャートに従って、待機期間W_prdを設定し、送信タイミングt_TRを設定する。
【0216】
また、制御手段13は、ステップS36において、
図4において説明した方法によって送信チャネルChの使用期間USE_prdの長さBを検出する。
【0217】
図16に示すフローチャートによれば、ステップS31~ステップS42が繰り返し実行されるので、学習器14は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さBおよびパケットPKTの送信動作結果(送信成功信号S
_SUCCESS、送信失敗信号S
_FAILUREおよび送信不可信号S
_UN_TRのいずれか)を制御手段13から受ける毎に、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さBおよびパケットPKTの送信動作結果(送信成功信号S
_SUCCESS、送信失敗信号S
_FAILUREおよび送信不可信号S
_UN_TRのいずれか)に基づいて、時点tにおける即時報酬R
tを算出する第1の処理(ステップS40参照)と、即時報酬R
tの累積値を平均した報酬(即時報酬R
tの累積値をアームaの選択回数nで平均した報酬)であり、かつ、時点tの後の時点t+1における平均報酬V
t+1を第1の処理において算出した即時報酬R
tを用いて算出する第2の処理(ステップS41)と、待機期間W_prdの長さAの選択肢(=アームa)と、待機期間W_prdの長さAと、平均報酬とを対応付けた対応表TBLを作成するとともに第2の処理において算出した平均報酬V
t+1によって時点tにおいて制御手段13へ出力した待機期間W_prdの長さAに対応付けられた平均報酬を更新することによって対応表TBLを更新し、その作成または更新した対応表TBLに基づいて最大の平均報酬が得られるときの待機期間W_prdの長さAを時点t+1で所定の確率(=(1-ε)の確率)で選択し、その選択した待機期間W_prdの長さAを制御手段13へ出力する第3の処理とを実行する。
【0218】
このように、学習器14は、待機期間W_prdの長さA、送信チャネルChの使用期間USE_prdの長さBおよびパケットPKTの送信動作結果(送信成功信号S
_SUCCESS、送信失敗信号S
_FAILUREおよび送信不可信号S
_UN_TRのいずれか)を制御手段13から受ける毎に、
図16のステップS31~S33,S39~S42を実行することによって、より多くの平均報酬が得られる待機期間W_prdの長さAを学習し、その学習した待機期間W_prdの長さAからε-greedy法によって1つの待機期間W_prdの長さAを選択して制御手段13へ出力する。
【0219】
そして、学習器14から待機期間W_prdの長さAを受けると、待機期間W_prdの長さAを受けた時点tから待機期間W_prdの長さAだけ経過した時点t+Aまでの期間を待機期間W_prdとして設定するとともに待機期間W_prdの終了時をパケットの送信タイミングとして設定する制御手段13は、「設定手段」を構成する。
【0220】
また、待機期間W_prdにおいて、キャリアセンスの結果RSLT_carrierに基づいて送信チャネルChの使用期間USE_prdの長さBを検出する制御手段13は、「検出手段」を構成する。
【0221】
図16に示すフローチャートは、
図14に示すフローチャート(
図15に示すフローチャートを含む)と並行して実行される。そして、学習器14は、
図16のステップS31~ステップS33を順次実行して、
図14に示すフローチャート(
図15に示すフローチャートを含む)のステップS2(
図15のステップS21)において、待機期間W_prdの長さAを制御手段13へ出力する。
【0222】
この発明の実施の形態においては、端末装置1の動作は、ソフトウェアによって実現されてもよい。この場合、端末装置1は、CPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)を備える。そして、ROMは、
図14に示すフローチャート(
図15に示すフローチャートを含む)の各ステップからなるプログラムProg_Aを記憶する。
【0223】
CPUは、ROMからプログラムProg_Aを読み出し、その読み出したプログラムProg_Aを実行し、待機期間W_prdを設定して待機期間W_prdの終了時点の送信タイミングt_TRでパケットを送信する。RAMは、対応表TBL、および算出された即時報酬Rt等を一時的に記憶する。
【0224】
また、プログラムProg_Aは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_Aを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_Aを読み出して実行し、待機期間W_prdを設定して待機期間W_prdの終了時点の送信タイミングt_TRでパケットを送信する。
【0225】
従って、プログラムProg_Aを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【0226】
また、この発明の実施の形態においては、学習器14の動作は、ソフトウェアによって実現されてもよい。この場合、学習器14は、CPU、ROMおよびRAMを備える。そして、ROMは、
図16に示すフローチャートのステップS31,S32,S33,S39,S40,S41,S42からなるプログラムProg_Bを記憶する。
【0227】
CPUは、ROMからプログラムProg_Bを読み出し、その読み出したプログラムProg_Bを実行し、待機期間W_prdの長さAを学習するとともに、その学習した待機期間W_prdの長さAをε-greedy法によって選択して制御手段13へ出力する。RAMは、対応表TBLを一時的に記憶する。
【0228】
また、プログラムProg_Bは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_Bを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_Bを読み出して実行し、待機期間W_prdの長さAを学習するとともに、その学習した待機期間W_prdの長さAをε-greedy法によって選択して制御手段13へ出力する。
【0229】
従って、プログラムProg_Bを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【0230】
図17は、この発明の実施の形態による別の端末装置の概略図である。この発明の実施の形態による端末装置は、
図17に示す端末装置1Aであってもよい。
【0231】
図17を参照して、端末装置1Aは、
図2に示す端末装置1の通信手段12,制御手段13および学習器14を通信ユニット20,30および選択手段40に変えたものであり、その他は、端末装置1と同じである。
【0232】
通信ユニット20は、上述した端末装置1の通信手段12、制御手段13および学習器14によるパケットPKTの送信方法に従ってパケットPKTを送信する。
【0233】
通信ユニット30は、上述した待機期間W_prdおよび送信チャネルChの使用期間USE_prdを設定せずに、CSMA/CA方式に従って、送信チャネルChがビジー状態BSYであるとき、パケットPKTを送信せず、送信チャネルChがアイドル状態IDLであるとき、パケットPKTを送信するとともに、一定期間CPD_2におけるパケットPKTの再送率RTRを算出し、その算出したパケットPKTの再送率RTRを選択手段40へ出力する。
【0234】
選択手段40は、通信ユニット30からパケットPKTの再送率RTRを受け、アプリケーション15から送信データを受ける。
【0235】
選択手段40は、パケットPKTの再送率RTRのしきい値RTR_thを保持する。しきい値RTR_thは、パケットPKTの衝突を回避または許容できる再送率に設定され、例えば、10%である。選択手段40は、アプリケーション15から送信データを受けると、パケットPKTの再送率RTRがしきい値RTR_th以下であるか否かを判定する。
【0236】
選択手段40は、パケットPKTの再送率RTRがしきい値RTR_th以下であると判定したとき、送信データを通信ユニット30へ出力する。
【0237】
一方、選択手段40は、パケットPKTの再送率RTRがしきい値RTR_thよりも大きいと判定したとき、送信データを通信ユニット20へ出力する。
【0238】
図18は、
図17に示す通信ユニット20の概略図である。
図18を参照して、通信ユニット20は、通信手段12と、制御手段13と、学習器14とを備える。通信ユニット20においては、制御手段13は、選択手段40から送信データを受ける。
【0239】
通信ユニット20は、通信手段12と制御手段13と学習器14とを備えるので、学習器14が学習して選択した待機期間W_prd中における他の端末装置(端末装置2,3のいずれか)による送信チャネルChの使用期間USE_prdの長さBを検出し、送信タイミングt_TRになると、パケットPKTを送信する。
【0240】
図19は、
図17に示す通信ユニット30の概略図である。
図19を参照して、通信ユニット30は、通信手段31と、制御手段32とを備える。
【0241】
通信手段31は、制御手段32からパケットPKTを受けると、バックオフ時間を設定する。そして、バックオフ時間が終了すると、通信手段31は、アンテナ11を介して、送信チャネルChでキャリアセンスを行う。その後、通信手段31は、キャリアセンスの結果RSLT_carrierに基づいて送信チャネルChがアイドル状態IDLであると判定したとき、アンテナ11を介してパケットPKTを送信し、キャリアセンスの結果RSLT_carrierに基づいて送信チャネルChがビジー状態BSYであると判定したとき、パケットPKTを送信しない。
【0242】
通信手段31は、パケットPKTの送信後、アンテナ11を介してACKパケットを受信し、その受信したACKパケットを制御手段32へ出力する。
【0243】
制御手段32は、選択手段40から送信データを受けると、送信データを含むパケットPKTを生成し、その生成したパケットPKTを通信手段31へ出力する。
【0244】
制御手段32は、パケットPKTを通信手段31へ出力した後、ACKパケットを通信手段31から受ける。制御手段32は、ACKパケットを受けると、パケットPKTの送信が成功したと判定する。
【0245】
一方、制御手段32は、パケットPKTを通信手段31へ出力した後、一定期間CPD_1内にACKパケットを通信手段31から受けないとき、パケットPKTの送信に失敗したと判定する。
【0246】
制御手段32は、一定期間CPD_2において、通信手段31によってパケットPKTを送信した送信回数N_TRと、パケットPKTの送信に失敗したと判定する判定回数N_NO_TRとを計測する。そして、制御手段32は、判定回数N_NO_TRを送信回数N_TRで除算してパケットPKTの再送率RTRを算出し、その算出したパケットPKTの再送率RTRを選択手段40へ出力する。
【0247】
図20は、
図17に示す端末装置1Aの動作を説明するためのフローチャートである。
図20を参照して、端末装置1Aの動作が開始されると、端末装置1Aの選択手段40は、アプリケーション15から送信データを受けたか否かを判定することによって送信パケットがあるか否かを判定する(ステップS51)。
【0248】
この場合、選択手段40は、アプリケーション15から送信データを受けたと判定したとき、送信パケットがあると判定し、アプリケーション15から送信データを受けなかったと判定したとき、送信パケットが無いと判定する。
【0249】
ステップS51において、送信データが有ると判定されると、選択手段40は、送信データを通信ユニット30へ出力し、通信ユニット30は、選択手段40から受けた送信データを含むパケットPKTを生成し、その生成したパケットPKTをCSMA/CA方式に従って送信する(ステップS52)。
【0250】
そして、通信ユニット30の制御手段32は、一定期間CPD_2において、パケットPKTの送信回数N_TRと、判定回数N_NO_TRとを計測する(ステップS53)。
【0251】
その後、制御手段32は、判定回数N_NO_TRを送信回数N_TRで除算してパケットPKTの再送率RTRを算出し(ステップS54)、その算出したパケットPKTの再送率RTRを選択手段40へ出力する。
【0252】
選択手段40は、パケットPKTの再送率RTRを制御手段32から受けると、パケットPKTの再送率RTRがしきい値RTR_th以下であるか否かを判定する(ステップS55)。
【0253】
ステップS55において、パケットPKTの再送率RTRがしきい値RTR_th以下であると判定されたとき、選択手段40は、通信ユニット30を選択する(ステップS56)。
【0254】
そして、選択手段40は、アプリケーション15から送信データを受けると、送信データを通信ユニット30へ出力する。
【0255】
通信ユニット30は、選択手段40から送信データを受けると、送信データを含むパケットPKTを生成し、その生成したパケットPKTをCSMA/CA方式に従って送信する(ステップS57)。
【0256】
一方、ステップS55において、パケットPKTの再送率RTRがしきい値RTR_thよりも大きいと判定されたとき、選択手段40は、通信ユニット20を選択する(ステップS58)。
【0257】
そして、選択手段40は、アプリケーション15から送信データを受けると、送信データを通信ユニット20へ出力する。
【0258】
通信ユニット20は、選択手段40から送信データを受けると、
図14に示すフローチャート(
図15に示すフローチャートを含む)に従ってパケットPKTを送信する(ステップS59)。
【0259】
そして、ステップS57またはステップS59の後、端末装置1Aの動作が終了する。
【0260】
図21は、
図20のステップS57の詳細な動作を説明するためのフローチャートである。
【0261】
図21を参照して、
図20のステップS36の後、通信ユニット30の制御手段32は、選択手段40から送信データを受けたか否かを判定することによって送信データがあるか否かを判定する(ステップS571)。
【0262】
この場合、制御手段32は、選択手段40から送信データを受けたと判定したとき、送信データがあると判定し、選択手段40から送信データを受けなかったと判定したとき、送信データが無いと判定する。
【0263】
ステップS571において、送信データがあると判定されたとき、制御手段32は、送信データを含むパケットPKTを生成し、その生成したパケットPKTを通信手段31へ出力する。
【0264】
通信手段31は、制御手段32からパケットPKTを受けると、バックオフ時間を設定する(ステップS572)。
【0265】
そして、通信手段31は、バックオフ時間が終了すると(S573のYES)、送信チャネルChでキャリアセンスを実行する(ステップS574)。
【0266】
そして、通信手段31は、キャリアセンスの結果RSLT_carrierに基づいて、送信チャネルChがアイドル状態IDLであるか否かを判定する(ステップS575)。
【0267】
ステップS575において、送信チャネルChがアイドル状態IDLであると判定されたとき、通信手段31は、送信チャネルChでパケットPKTを送信する(ステップS576)。
【0268】
一方、ステップS575において、送信チャネルChがアイドル状態IDLでないと判定されたとき、通信手段31は、パケットPKTの送信を停止する(ステップS577)。
【0269】
そして、ステップS576またはステップS577の後、端末装置1Aの動作は、
図20の“終了”へ移行する。
【0270】
なお、
図20のステップS52の詳細な動作も、
図21に示すフローチャートによって実行される。この場合、
図21のステップS576またはステップS577の後、端末装置1Aの動作は、
図20のステップS53へ移行する。
【0271】
図20に示すフローチャート(
図14に示すフローチャート(
図15に示すフローチャートを含む)および
図21に示すフローチャートを含む)によれば、通信ユニット30によってCSMA/CA方式に従ってパケットPKTを送信したときのパケットPKTの再送率RTRがしきい値RTR_th以下であるとき、通信ユニット30を選択し、その選択した通信ユニット30によってCSMA/CA方式に従ってパケットPKTを送信し(ステップS55の“YES”,S56,S57参照)、パケットPKTの再送率RTRがしきい値RTR_th以下でないとき(即ち、再送率RTRがしきい値RTR_thよりも大きいとき)、通信ユニット20を選択し、その選択した通信ユニット20によって
図14に示すフローチャート(
図15に示すフローチャートを含む)に従ってパケットPKTを送信する(ステップS55の“NO”,S58,S59参照)。
【0272】
その結果、ステップS57は、パケットPKTの再送率RTRがしきい値RTR_th以下であるときに実行されるので(ステップS55の“YES”参照)、端末装置1A,2,3は、パケットPKTの衝突を回避してパケットPKTを送信していることになる。しきい値RTR_thがパケットPKTの衝突が生じるときの再送率よりも低い値に設定されているからである。従って、パケットPKTの衝突を回避または許容した上で、端末装置1A,2,3による周波数の有効利用を促進できる。
【0273】
一方、ステップS59は、パケットPKTの再送率RTRがしきい値RTR_thよりも大きいときに実行されるので(ステップS55の“NO”参照)、端末装置1Aは、上述した待機期間W_prdを設定して他の端末装置(端末装置2,3のいずれか)にパケットPKTの送信機会(他の端末装置(端末装置2,3のいずれか)による送信チャネルChの使用期間USE_prd)を与え、他の端末装置(端末装置2,3のいずれか)がパケットPKTを送信していないときに、パケットPKTを送信する。従って、端末装置1A,2,3による周波数の有効利用を促進できる。
【0274】
この発明の実施の形態においては、端末装置1Aの動作は、ソフトウェアによって実現されてもよい。この場合、端末装置1Aは、CPU、ROMおよびRAMを備える。そして、ROMは、
図20に示すフローチャート(
図14に示すフローチャート(
図15に示すフローチャートを含む)および
図21に示すフローチャートを含む)の各ステップからなるプログラムProg_Cを記憶する。
【0275】
CPUは、ROMからプログラムProg_Cを読み出し、その読み出したプログラムProg_Cを実行し、待機期間W_prdを設定せずにパケットを送信し、または待機期間W_prdを設定して待機期間W_prdの終了時点でパケットを送信する。RAMは、算出された即時報酬Rt等を一時的に記憶する。
【0276】
また、プログラムProg_Cは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_Cを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_Cを読み出して実行し、待機期間W_prdを設定せずにパケットを送信し、または待機期間W_prdを設定して待機期間W_prdの終了時点でパケットを送信する。
【0277】
従って、プログラムProg_Cを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【0278】
上述した実施の形態によれば、この発明の実施の形態による端末装置は、
パケットを送信するチャネルである送信チャネルにおいてキャリアセンスを実行するキャリアセンス手段と、
送信チャネルでのパケットの送信を待機する期間である待機期間を設定するとともに待機期間の終了時をパケットの送信タイミングとして設定する設定手段と、
待機期間におけるキャリアセンス手段によるキャリアセンスの結果に基づいて送信チャネルが使用されている期間である送信チャネルの使用期間の長さを検出する検出手段と、
送信タイミングにおいて送信チャネルが空いているときパケットを送信チャネルで送信するとともにACKパケットを受信する通信手段と、
待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果を受け、その受けた待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果に基づいて第1の時点における即時報酬を算出する第1の処理と、即時報酬の累積値を平均した報酬であり、かつ、第1の時点の後の第2の時点における報酬である平均報酬を第1の処理において算出した即時報酬を用いて算出する第2の処理と、待機期間の長さの選択肢と、待機期間の長さと、平均報酬とを対応付けた対応表を作成するとともに第2の処理において算出した平均報酬によって第1の時点において設定手段へ出力した待機期間の長さに対応付けられた平均報酬を更新することによって対応表を更新し、その作成または更新した対応表に基づいて最大の平均報酬が得られるときの待機期間の長さを第2の時点で所定の確率で選択し、その選択した待機期間の長さを設定手段へ出力する第3の処理とを待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果を受ける毎に実行する学習器とを備え、
設定手段は、第2の時点において学習器から待機期間の長さを受けると、待機期間を設定するともに、送信タイミングを通信手段へ出力し、
通信手段は、第2の時点において設定手段から送信タイミングを受けると、その受けた送信タイミングにおいて送信チャネルが空いているときパケットを送信チャネルで送信するとともにパケットの送信結果を受信し、
検出手段は、第2の時点において設定された待機期間において送信チャネルの使用期間の長さを検出すればよい。
【0279】
端末装置がキャリアセンス手段、設定手段、検出手段、通信手段および学習器を備えていれば、待機期間を設定して他の端末装置にパケットPKTの送信機会を与え、待機期間の終了時点における送信タイミングでパケットPKTを送信することによって、パケットPKTの衝突を回避して周波数の有効利用を促進できるからである。
【0280】
また、上述した実施の形態によれば、この発明の実施の形態によるプログラムは、
キャリアセンス手段が、パケットを送信するチャネルである送信チャネルにおいてキャリアセンスを実行する第1のステップと、
設定手段が、送信チャネルでのパケットの送信を待機する期間である待機期間を設定するとともに待機期間の終了時をパケットの送信タイミングとして設定する第2のステップと、
検出手段が、待機期間におけるキャリアセンスの結果に基づいて送信チャネルが使用されている期間である送信チャネルの使用期間の長さを検出する第3のステップと、
通信手段が、送信タイミングにおいて送信チャネルが空いているときパケットを送信チャネルで送信するとともにACKパケットを受信する第4のステップと、
学習器が、待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果を受け、その受けた待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果に基づいて第1の時点における即時報酬を算出する第1の処理と、即時報酬の累積値を平均した報酬であり、かつ、第1の時点の後の第2の時点における報酬である平均報酬を第1の処理において算出した即時報酬を用いて算出する第2の処理と、待機期間の長さの選択肢と、待機期間の長さと、平均報酬とを対応付けた対応表を作成するとともに第2の処理において算出した平均報酬によって第1の時点において設定手段へ出力した待機期間の長さに対応付けられた平均報酬を更新することによって対応表を更新し、その作成または更新した対応表に基づいて最大の平均報酬が得られるときの待機期間の長さを第2の時点で所定の確率で選択し、その選択した待機期間の長さを設定手段へ出力する第3の処理とを待機期間の長さ、送信チャネルの使用期間の長さおよびパケットの送信動作結果を受ける毎に実行する第5のステップとをコンピュータに実行させ、
設定手段は、第2のステップにおいて、第2の時点において学習器から待機期間の長さを受けると、待機期間を設定するともに、送信タイミングを通信手段へ出力し、
通信手段は、第4のステップにおいて、第2の時点において設定手段から送信タイミングを受けると、その受けた送信タイミングにおいて送信チャネルが空いているときパケットを送信チャネルで送信するとともにパケットの送信結果を受信し、
検出手段は、第3のステップにおいて、第2の時点において設定された待機期間において送信チャネルの使用期間の長さを検出すればよい。
【0281】
プログラムが第1のステップから第5のステップをコンピュータに実行させれば、待機期間を設定して他の端末装置にパケットPKTの送信機会を与え、待機期間の終了時点における送信タイミングでパケットPKTを送信することによって、パケットPKTの衝突を回避して周波数の有効利用を促進できるからである。
【0282】
この発明の実施の形態においては、キャリアセンスを実行する通信手段12は、「キャリアセンス手段」を構成する。
【0283】
また、この発明の実施の形態においては、αは、「第1の所定値」を構成し、βは、「第2の所定値」を構成する。
【0284】
更に、この発明の実施の形態においては、無線通信システム100は、端末装置2,3以外にも端末装置2,3と同じ通信方式に従って基地局10と無線通信を行う端末装置を備えていてもよい。
【0285】
更に、この発明の実施の形態においては、対応表TBLから1つのアームaを選択する方法は、ε-greedy以外の方法であってもよく、例えば、UCB(Upper Confidence Bound)またはThompson Samplingであってもよい。
【0286】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【0287】
この発明は、端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体に適用される。
【符号の説明】
【0288】
1~3,1A 端末装置、10 基地局、11 アンテナ、12,31 通信手段、13,32 制御手段、14 学習器、15 アプリケーション、20,30 通信ユニット、40 選択手段、100 無線通信システム。