JP7341430B2 - 端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP7341430B2
JP7341430B2 JP2020055284A JP2020055284A JP7341430B2 JP 7341430 B2 JP7341430 B2 JP 7341430B2 JP 2020055284 A JP2020055284 A JP 2020055284A JP 2020055284 A JP2020055284 A JP 2020055284A JP 7341430 B2 JP7341430 B2 JP 7341430B2
Authority
JP
Japan
Prior art keywords
channel
packet
base station
time
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020055284A
Other languages
English (en)
Other versions
JP2021158458A (ja
Inventor
真衣 太田
眞 太郎丸
一人 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Fukuoka University
Original Assignee
ATR Advanced Telecommunications Research Institute International
Fukuoka University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International, Fukuoka University filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2020055284A priority Critical patent/JP7341430B2/ja
Publication of JP2021158458A publication Critical patent/JP2021158458A/ja
Application granted granted Critical
Publication of JP7341430B2 publication Critical patent/JP7341430B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Mobile Radio Communication Systems (AREA)

Description

この発明は、端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
無線LAN(Local Area Network)などに代表されるCSMA/CA(Carrier Sense Multiple Access/ Collision Avoidance)方式では、同時送信などによるパケットの衝突・損失が起きた場合、バックオフ時間(他局からの送信電波が止まったことを検知した後、直ちに送信せず、自局が送信するまでの意図的な待ち時間)を長くすることにより、パケットの衝突確率を低減させる(特許文献1)。
特開2006-013894号公報
しかし、近年では、端末数の増加により、無闇にバックオフ時間を増加させることは、パケット衝突の解決にはつながらず、端末自身の通信遅延の原因となる.
そこで、この発明の実施の形態によれば、パケット損失を抑制して周波数を有効利用する端末装置を提供する。
また、この発明の実施の形態によれば、パケット損失を抑制して周波数の有効利用をコンピュータに実行させるためのプログラムを提供する。
更に、この発明の実施の形態によれば、パケット損失を抑制して周波数の有効利用をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
(構成1)
この発明の実施の形態によれば、端末装置は、予測手段と、学習器と、選択手段と、送信手段とを備える。予測手段は、チャネルが空いている時間であるチャネル空き時間とチャネルが使用されている時間であるチャネル使用時間とを複数のチャネルの全てについて予測する。学習器は、パケットを基地局へ送信する通信の通信結果と、当該端末装置と競合する競合端末装置の情報である競合端末情報と、1つのパケットを送信してから次のパケットを送信するまでのチャネルの待機時間であるチャネル待機時間とからなる入力情報、またはパケットを前記基地局へ送信できないことを示す送信不可情報からなる入力情報に基づいて、パケットの送信時間の長さを状態とし、チャネルを選択することを行動とし、通信に成功したときのスループットまたはチャネル待機時間の逆数を報酬とするQ学習を実行してQ値の更新をQ学習の終了条件が満たされるまで繰り返し実行し、Q学習の終了条件が満たされたときの各状態と、各状態における最大のQ値と、各状態において最大のQ値が得られるときの行動とを相互に対応付けた構成からなる出力情報を出力する学習処理を実行する。選択手段は、送信したいパケットの送信時間の長さに対応するQ学習の状態に対応する最大のQ値が得られるときの行動を出力情報から検出し、その検出した行動によって選択されたチャネルを送信用チャネルとして選択する。送信手段は、送信用チャネルにおいて予測手段によって予測されたチャネル空き時間が、送信したいパケットの送信時間の長さよりも長いことからなる第1の条件が満たされたとき、バックオフを実行せずに、送信したいパケットを送信用チャネルで基地局へ送信する。
(構成2)
構成1において、学習器は、競合端末情報が競合端末装置の個数からなり、かつ、通信結果が通信の成功を示すとき、競合端末装置の個数が少なくなれば大きくなり、競合端末装置の個数が多くなれば小さくなるように報酬を算出する第1の演算処理を実行するとともに、チャネル待機時間が短くなれば大きくなり、チャネル待機時間が長くなれば小さくなるように報酬を算出する第2の演算処理を実行して学習処理を実行する。
(構成3)
構成2において、学習器は、競合端末装置の個数が第1の個数であるとき第1の値からなる第1の重み係数をスループットに乗算し、競合端末装置の個数が第1の個数よりも多い第2の個数であるとき第1の値よりも小さい第2の値からなる第1の重み係数をスループットに乗算して第1の演算処理を実行する。
(構成4)
構成3において、学習器は、競合端末装置の個数の逆数を第1の重み係数としてスループットに乗算して第1の演算処理を実行する。
(構成5)
構成2から構成4のいずれかにおいて、学習器は、チャネル待機時間が第1の時間長からなるとき、第3の値からなる第2の重み係数をスループットに乗算し、チャネル待機時間が第1の時間長よりも長い第2の時間長からなるとき、第3の値よりも小さい第4の値からなる第2の重み係数をスループットに乗算して第2の演算処理を実行する。
(構成6)
構成2から構成5のいずれかにおいて、学習器は、チャネル待機時間の逆数を第2の重み係数としてスループットに乗算して第2の演算処理を実行する。
(構成7)
構成1において、学習器は、学習処理において、入力情報が送信不可情報からなるとき、報酬を零としてQ値を更新する。
(構成8)
構成1から構成7のいずれかにおいて、端末装置は、受信手段を更に備える。受信手段は、競合端末情報を制御チャネルで基地局から受信する。
(構成9)
構成1から構成8のいずれかにおいて、通信結果は、送信手段が送信したいパケットを基地局へ送信した後、パケットを受信したことを示すACKパケットを基地局から受信したとき、第1の指標からなり、送信手段が送信したいパケットを基地局へ送信した後、ACKパケットを基地局から受信しないとき、第2の指標からなる。
(構成10)
構成1から構成9のいずれかにおいて、送信手段は、第1の条件に加え、送信用チャネルにおけるキャリアセンスの結果、他の端末装置が送信用チャネルで通信していないことからなる第2の条件が満たされたとき、バックオフを実行せずに、送信したいパケットを送信用チャネルで基地局へ送信する。
(構成11)
また、この発明の実施の形態によれば、プログラムは、
予測手段が、チャネルが空いている時間であるチャネル空き時間とチャネルが使用されている時間であるチャネル使用時間とを複数のチャネルの全てについて予測する第1のステップと、
学習器が、パケットを基地局へ送信する通信の通信結果と、当該端末装置と競合する競合端末装置の情報である競合端末情報と、1つのパケットを送信してから次のパケットを送信するまでのチャネルの待機時間であるチャネル待機時間とからなる入力情報、またはパケットを基地局へ送信できないことを示す送信不可情報からなる入力情報に基づいて、パケットの送信時間の長さを状態とし、チャネルを選択することを行動とし、通信に成功したときのスループットまたはチャネル待機時間の逆数を報酬とするQ学習を実行してQ値の更新をQ学習の終了条件が満たされるまで繰り返し実行し、Q学習の終了条件が満たされたときの各状態と、各状態における最大のQ値と、各状態において最大のQ値が得られるときの行動とを相互に対応付けた構成からなる出力情報を出力する学習処理を実行する第2のステップと、
選択手段が、送信したいパケットの送信時間の長さに対応するQ学習の状態に対応する最大のQ値が得られるときの行動を出力情報から検出し、その検出した行動によって選択されたチャネルを送信用チャネルとして選択する第3のステップと、
送信手段が、送信用チャネルにおいて予測手段によって予測されたチャネル空き時間が、送信したいパケットの送信時間の長さよりも長いことからなる第1の条件が満たされたとき、バックオフを実行せずに、送信したいパケットを前記送信用チャネルで前記基地局へ送信する第4のステップとをコンピュータに実行させるためのプログラムである。
(構成12)
構成11において、学習器は、第2のステップにおいて、競合端末情報が競合端末装置の個数からなり、かつ、通信結果が通信の成功を示すとき、競合端末装置の個数が少なくなれば大きくなり、競合端末装置の個数が多くなれば小さくなるように報酬を算出する第1の演算処理を実行するとともに、チャネル待機時間が短くなれば大きくなり、チャネル待機時間が長くなれば小さくなるように報酬を算出する第2の演算処理を実行して学習処理を実行する。
(構成13)
構成12において、学習器は、第2のステップにおいて、競合端末装置の個数が第1の個数であるとき第1の値からなる第1の重み係数をスループットに乗算し、競合端末装置の個数が第1の個数よりも多い第2の個数であるとき第1の値よりも小さい第2の値からなる第1の重み係数をスループットに乗算して第1の演算処理を実行する。
(構成14)
構成13において、学習器は、第2のステップにおいて、競合端末装置の個数の逆数を第1の重み係数として前記スループットに乗算して第1の演算処理を実行する。
(構成15)
構成12から構成14のいずれかにおいて、学習器は、第2のステップにおいて、チャネル待機時間が第1の時間長からなるとき、第3の値からなる第2の重み係数をスループットに乗算し、チャネル待機時間が第1の時間長よりも長い第2の時間長からなるとき、第3の値よりも小さい第4の値からなる第2の重み係数をスループットに乗算して第2の演算処理を実行する。
(構成16)
構成12から構成15のいずれかにおいて、学習器は、第2のステップにおいて、チャネル待機時間の逆数を第2の重み係数としてスループットに乗算して第2の演算処理を実行する。
(構成17)
構成11において、学習器は、第2のステップの学習処理において、入力情報が送信不可情報からなるとき、報酬を零としてQ値を更新する。
(構成18)
構成11から構成17のいずれかにおいて、プログラムは、受信手段が、競合端末情報を制御チャネルで基地局から受信する第5のステップを更にコンピュータに実行させる。
(構成19)
構成11から構成18のいずれかにおいて、通信結果は、送信手段が送信したいパケットを基地局へ送信した後、パケットを受信したことを示すACKパケットを基地局から受信したとき、第1の指標からなり、送信手段が送信したいパケットを基地局へ送信した後、ACKパケットを基地局から受信しないとき、第2の指標からなる。
(構成20)
構成11から構成19のいずれかにおいて、送信手段は、第1の条件に加え、送信用チャネルにおけるキャリアセンスの結果、他の端末装置が送信用チャネルで通信していないことからなる第2の条件が満たされたとき、バックオフを実行せずに送信したいパケットを送信用チャネルで基地局へ送信する。
(構成21)
更に、この発明の実施の形態によれば、記録媒体は、構成11から構成20のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
パケット損失を抑制して周波数を有効利用できる。
この発明の実施の形態における通信システムの概略図である。 図1に示す端末装置の概略図である。 図2に示す予測手段の概略図である。 受信電力スペクトルの概念図である。 ビジー継続時間サブセットおよびアイドル継続時間サブセットを時系列に配列した例を示す概念図である。 図3に示す予測器の概略図である。 変遷パターンと係数b,b,・・・,bとの対応表を示す図である。 チャネル待機時間の概念図である。 Qテーブルの概念図である。 Qテーブルの更新方法を説明するための第1の概略図である。 Qテーブルの更新方法を説明するための第2の概略図である。 Qテーブルの更新方法を説明するための第3の概略図である。 送信用パケットが送信可能か否かを判定する方法を説明するための図である。 図2に示す端末装置の動作を説明するためのフローチャートである。 図14のステップS5の詳細な動作を説明するためのフローチャートである。 図14のステップS12の詳細な動作を説明するためのフローチャートである。 出力情報の概念図である。
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態における通信システムの概略図である。図1を参照して、通信システム100は、基地局BSと、複数の端末装置TMとを備える。基地局BSおよび複数の端末装置TMは、無線通信空間に配置される。
基地局BSは、通信範囲REG1を有する。複数の端末装置TMは、通信範囲REG1内に配置される。
基地局BSは、パケットを複数の端末装置TMのいずれかへ送信するとともに複数の端末装置TMのいずれかからパケットを受信する。
そして、基地局BSは、パケットを受信したとき、パケットを受信したことを示すACK(Acknowledgement)パケットをパケットの送信元の端末装置(複数の端末装置TMのいずれか)へ送信する。
また、基地局BSは、送信元の端末装置以外の端末装置に関する情報である競合端末情報を制御チャネルで送信元の端末装置へ送信する。
複数の端末装置TMの各々は、パケットを基地局BSへ送信する場合、後述する方法によって、送信用チャネルCH_Tを選択し、その選択した送信用チャネルCH_Tにおいてキャリアセンスを実行した後、パケットの送信が可能であると判断すると、バックオフを実行せずにパケットを送信用チャネルで基地局BSへ送信する。
また、複数の端末装置TMの各々は、基地局BSからパケットを受信する。そして、複数の端末装置TMの各々は、パケットを受信すると、ACKパケットを基地局BSへ送信する。
更に、複数の端末装置TMの各々は、制御チャネルで競合端末情報を基地局BSから受信する。
以下においては、複数の端末装置TMの各々を「端末装置10」と表記する。
図2は、図1に示す端末装置の概略図である。図2を参照して、端末装置10は、アンテナ1と、受信手段2と、予測手段3と、制御手段4と、学習器5と、アプリケーション6と、送信手段7とを備える。
受信手段2は、制御手段4からの制御に従って、通信システム100において無線通信に用いられる周波数帯域内の相互に異なる複数の周波数からなる複数のチャネルでアンテナ1を介してキャリアセンスを行い、受信電力の時間依存性を示す受信電力スペクトルを取得する。そして、受信手段2は、受信電力スペクトルを予測手段3へ出力する。
また、受信手段2は、アンテナ1を介して、制御チャネルで競合端末情報を基地局BSから受信し、その受信した競合端末情報を制御手段4へ出力する。
更に、受信手段2は、制御手段4からの制御に従って、送信用チャネルCH_Tでアンテナ1を介してキャリアセンスを行い、そのキャリアセンスの結果を制御手段4へ出力する。
更に、受信手段2は、アンテナ1を介して、送信用チャネルCH_Tで基地局BSからACKパケットを受信し、その受信したACKパケットを制御手段4へ出力する。
予測手段3は、受信電力スペクトルを受信手段2から受ける。そして、予測手段3は、制御手段4からの制御に応じて、後述する方法によって、受信電力スペクトルに基づいて、チャネルが空いている時間の長さであるチャネル空き時間と、チャネルが使用されている時間の長さであるチャネル使用時間とを検出し、その検出したチャネル空き時間およびチャネル使用時間に基づいて、パケットを送信した後のチャネル空き時間およびチャネル使用時間を予測する。そして、予測手段3は、その予測した予測チャネル空き時間および予測チャネル使用時間を制御手段4へ出力する。
制御手段4は、複数のチャネルでキャリアセンスを実行するように受信手段2を制御する。
また、制御手段4は、チャネル空き時間およびチャネル使用時間を予測するように予測手段3を制御する。
更に、制御手段4は、受信手段2から競合端末情報およびACKパケットを受け、予測チャネル空き時間および予測チャネル使用時間を予測手段3から受け、送信したいパケットである送信用パケットをアプリケーション6から受ける。
そして、制御手段4は、送信用パケットを送信するときの送信時間の長さが予測チャネル空き時間よりも長いとき、送信用パケットの送信が不可能であると判定し、送信不可情報を生成する。
また、制御手段4は、送信用パケットを送信手段7へ出力した後、ACKパケットを受信手段2から受けると、パケットを基地局BSへ送信する通信が成功したことを示す第1の指標を生成し、送信用パケットを送信手段7へ出力した後、ACKパケットを受信手段2から受けないとき、パケットを基地局BSへ送信する通信が失敗したことを示す第2の指標を生成する。そして、制御手段4は、第1の指標および第2の指標からなる通信結果を生成する。第1の指標は、例えば、“1”からなり、第2の指標は、例えば、“0”からなる。
更に、制御手段4は、予測チャネル空き時間および予測チャネル使用時間に基づいて、送信用パケットを送信してから次の送信用パケットを送信するまでのチャネルの待機時間の長さであるチャネル待機時間を算出する。
制御手段4は、送信用パケットを送信するときの送信時間の長さが予測チャネル空き時間よりも短いとき、競合端末情報、通信結果およびチャネル待機時間からなる入力情報IF_INPUT1を生成する。そして、制御手段4は、その生成した入力情報IF_INPUT1を学習器5へ出力し、パケットの送信時間の長さを状態とし、チャネルを選択することを行動とし、通信のスループットを報酬としたQ学習を実行するように学習器5を制御する。
制御手段4は、送信不可情報を生成したとき、送信不可情報からなる入力情報IF_INPUT2を生成し、その生成した入力情報IF_INPUT2を学習器5へ出力して報酬を零としてQ値を更新するように学習器5を制御する。
制御手段4は、入力情報IF_INPUT1または入力情報IF_INPUT2を学習器5へ出力した後、出力情報IF_OUTを学習器5から受ける。そして、制御手段4は、送信用パケットのデータ量を送信レートで除算して送信用パケットの送信時間を算出する。
そうすると、制御手段4は、出力情報IF_OUTを参照して、送信用パケットの送信時間の長さに対応する状態における複数のQ値のうち、最大のQ値と、最大のQ値に対応する行動とを検出する。そして、制御手段4は、その検出した行動において選択されたチャネルを送信用チャネルCH_Tとして選択する。
その後、制御手段4は、送信用チャネルCH_Tにおいて、キャリアセンスを実行するように受信手段2を制御する。制御手段4は、受信手段2からキャリアセンスの結果を受けると、その受けたキャリアセンスの結果に基づいて送信用パケットの送信が可能であるか否かを判定する。
制御手段4は、送信用パケットの送信が可能であると判定したとき、送信用パケットおよび送信用チャネルCH_Tを送信手段7へ出力し、送信用パケットを送信用チャネルCH_Tで送信するように送信手段7を制御する。
一方、制御手段4は、送信用パケットの送信が不可能であると判定したとき、送信不可情報を生成する。その後、制御手段4は、新たな送信用パケットをアプリケーション6から受ける。
アプリケーション6は、送信用パケットを生成し、その生成した送信用パケットを制御手段4へ出力する。
送信手段7は、送信用パケットおよび送信用チャネルCH_Tを制御手段4から受けると、アンテナ1を介して、送信用チャネルCH_Tで送信用パケットを基地局BSへ送信する。
図3は、図2に示す予測手段3の概略図である。図3を参照して、予測手段3は、判定部31と、計測部32と、分類部33と、予測部34と、予測器35とを含む。
判定部31は、受信手段2から受信電力スペクトルを受け、その受けた受信電力スペクトルに基づいて、ビジー状態(Busy)であるかアイドル状態(Idle)であるかを判定する。そして、判定部31は、ビジー状態(Busy)となる開始時刻と終了時刻とを検出するとともにアイドル状態(Idle)となる開始時刻と終了時刻とを検出する。そうすると、判定部31は、ビジー状態(Busy)となる開始時刻および終了時刻と、アイドル状態(Idle)となる開始時刻および終了時刻とを計測部32へ出力する。
計測部32は、ビジー状態(Busy)となる開始時刻および終了時刻と、アイドル状態(Idle)となる開始時刻および終了時刻とを判定部31から受ける。そして、計測部32は、ビジー状態(Busy)となる開始時刻および終了時刻に基づいてビジー継続時間を計測し、アイドル状態(Idle)となる開始時刻および終了時刻に基づいてアイドル継続時間を計測する。そうすると、計測部32は、ビジー継続時間およびアイドル継続時間を分類部33へ出力する。
分類部33は、ビジー継続時間およびアイドル継続時間を計測部32から受ける。そして、分類部33は、後述する方法によって、ビジー継続時間およびアイドル継続時間をサブセットに分類する。そうすると、分類部33は、その分類したビジー継続時間およびアイドル継続時間のサブセットを予測部34へ出力する。
予測部34は、ビジー継続時間およびアイドル継続時間のサブセットを分類部33から受ける。そして、予測部34は、ビジー継続時間およびアイドル継続時間のサブセットを予測器35へ出力する。その後、予測部34は、将来のビジー継続時間およびアイドル継続時間を予測した結果である予測ビジー継続時間および予測アイドル継続時間を予測器35から受け、その受けた予測ビジー継続時間および予測アイドル継続時間をそれぞれ予測チャネル使用時間および予測チャネル空き時間として制御手段4へ出力する。
図4は、受信電力スペクトルの概念図である。図4において、縦軸は、受信電力を表し、横軸は、時間を表す。
図4を参照して、受信電力スペクトルSP_RSSIは、受信電力が時間の経過とともに変化する。
判定部31は、受信電力スペクトルSP_RSSIを受信手段2から受けると、しきい値RSSI_thを設定する。しきい値RSSI_thは、例えば、-80[dBm]である。
そして、判定部31は、受信電力スペクトルSP_RSSIの受信電力がしきい値RSSI_thに一致する時刻t1~t8を検出する。その後、判定部31は、時刻t1~t8に基づいて、時刻t1~t2,t3~t4,t5~t6,t7~t8の区間をビジー状態と判定し、時刻t2~t3,t4~t5,t6~t7の区間をアイドル状態と判定する。
そうすると、判定部31は、ビジー状態と時刻t1~t2,t3~t4,t5~t6,t7~t8の区間とを対応付けた[ビジー状態:t1~t2,t3~t4,t5~t6,t7~t8]を生成するとともに、アイドル状態と時刻t2~t3,t4~t5,t6~t7の区間とを対応付けた[アイドル状態:t2~t3,t4~t5,t6~t7]を生成する。そして、判定部31は、[ビジー状態:t1~t2,t3~t4,t5~t6,t7~t8]および[アイドル状態:t2~t3,t4~t5,t6~t7]を計測部32へ出力する。
計測部32は、[ビジー状態:t1~t2,t3~t4,t5~t6,t7~t8]および[アイドル状態:t2~t3,t4~t5,t6~t7]を判定部31から受ける。そして、計測部32は、時刻t1から時刻t2までの時間長Tleg1、時刻t3から時刻t4までの時間長Tleg2、時刻t5から時刻t6までの時間長Tleg3、および時刻t7から時刻t8までの時間長Tleg4を計測し、それぞれ、ビジー継続時間TBusy1~TBusy4を生成する。
また、計測部32は、時刻t2から時刻t3までの時間長Tleg5、時刻t4から時刻t5までの時間長Tleg6、および時刻t6から時刻t7までの時間長Tleg7を計測して、それぞれ、アイドル継続時間TIdl1TIde3を生成する。
そして、計測部32は、ビジー継続時間TBusy1~TBusy4と時刻t1~t2,t3~t4,t5~t6,t7~t8の区間とを対応付けた[t1~t2:TBusy1/t3~t4:TBusy2/t5~t6:TBusy3/t7~t8:TBusy4]を生成する。
また、計測部32は、アイドル継続時間TIdl1TIde3と、時刻t2~t3,t4~t5,t6~t7の区間とを対応付けた[t2~t3:TIdl1/t4~t5:TIdl2/t6~t7:TIdl3]を生成する。
そうすると、計測部32は、[t1~t2:TBusy1/t3~t4:TBusy2/t5~t6:TBusy3/t7~t8:TBusy4]および[t2~t3:TIdl1/t4~t5:TIdl2/t6~t7:TIdl3]を分類部33へ出力する。
分類部33は、[t1~t2:TBusy1/t3~t4:TBusy2/t5~t6:TBusy3/t7~t8:TBusy4]および[t2~t3:TIdl1/t4~t5:TIdl2/t6~t7:TIdl3]を計測部32から受ける。
また、分類部33は、ビジー継続時間およびアイドル継続時間をサブセットに分類するための時間範囲を予め保持している。
ビジー継続時間およびアイドル継続時間をサブセットに分類するための時間範囲は、例えば、次の通りである。
(1)ビジー継続時間サブセット:1ms未満→step1、1ms以上→step2
(2)アイドル継続時間サブセット:0.5ms未満→step1、0.5ms以上→step2
分類部33は、ビジー継続時間サブセットの時間範囲(1)に基づいて、ビジー継続時間TBusy1~TBusy4の各々をサブセットstep1,step2のいずれかに分類し、アイドル継続時間サブセットの時間範囲(2)に基づいて、アイドル継続時間TIdl1~TIdl3の各々をサブセットstep1,step2のいずれかに分類する。
図5は、ビジー継続時間サブセットおよびアイドル継続時間サブセットを時系列に配列した例を示す概念図である。
図5を参照して、分類部33は、時刻t1~t2,t3~t4,t5~t6,t7~t8の区間、時刻t2~t3,t4~t5,t6~t7の区間、サブセットに分類したビジー継続時間TBusy1~TBusy4、およびサブセットに分類したアイドル継続時間TIdl1~TIdl3に基づいて、例えば、ビジー継続時間TBusy1(step2)/アイドル継続時間TIdl1(step1)/ビジー継続時間TBusy2(step1)/アイドル継続時間TIdl2(step2)/ビジー継続時間TBusy3(step1)/アイドル継続時間TIdl3(step1)/ビジー継続時間TBusy4(step1)のようにビジー継続時間TBusy1~TBusy4およびアイドル継続時間TIdl1~TIdl3を時系列に配列する。
なお、図5に示す時系列に配列したビジー継続時間およびアイドル継続時間は、複数生成される。
そして、分類部33は、時系列に配列したビジー継続時間TBusy1~TBusy4およびアイドル継続時間TIdl1~TIdl3を予測部34へ出力する。
予測部34は、時系列に配列したビジー継続時間TBusy1~TBusy4およびアイドル継続時間TIdl1~TIdl3を分類部33から受けると、その受けた時系列に配列したビジー継続時間TBusy1~TBusy4およびアイドル継続時間TIdl1~TIdl3を予測器35へ出力する。
予測器35は、時系列に配列したビジー継続時間TBusy1~TBusy4およびアイドル継続時間TIdl1~TIdl3を予測部34から受けると、時系列に配列したビジー継続時間TBusy1~TBusy4およびアイドル継続時間TIdl1~TIdl3に基づいて、将来のビジー継続時間およびアイドル継続時間を予測し、その予測した予測ビジー継続時間よび予測アイドル継続時間を予測部34へ出力する。
予測器35における将来のビジー継続時間およびアイドル継続時間の予測方法について説明する。
図6は、図3に示す予測器35の概略図である。図6を参照して、予測器35は、1層、2層、・・・、K層を有する。なお、Kは、2以上の整数である。
1層、2層、・・・、K層の各々は、サブセット数S(iは、2以上の整数)に一致する個数の解析部(図6の○)を有する。図6においては、サブセット数Sが2個である場合の予測器35の概略図を示す。
サブセット数がSである場合、総データストリームは、S×S×・・・×Sになる。図6に示す場合、サブセット数S~Sの各々は、“2”であるので、総データストリームは、2×2×・・・×2=2になる。
1層、2層、・・・、K層の各々は、ビジー/アイドルの相関性を解析する。そして、1層は、ビジー/アイドルデータを予測部34から受け、その受けたビジー/アイドルデータに基づいてビジー/アイドルの相関性を解析し、ビジー/アイドルの相関性の解析結果を2層へ出力する。
ビジー/アイドルデータは、図5に示す時系列に配列したビジー継続時間TBusy1~TBusy4およびアイドル継続時間TIdl1~TIdl3からなる。1層は、ビジー/アイドルデータに基づいて、ビジー継続時間TBusy1~TBusy3およびアイドル継続時間TIdl1~TIdl3が、ビジー継続時間TBusy1(step2)→アイドル継続時間TIdl1(step1)→ビジー継続時間TBusy2(step1)→アイドル継続時間TIdl2(step2)→ビジー継続時間TBusy3(step1)→アイドル継続時間TIdl3(step1)→ビジー継続時間TBusy4(step1)のように変遷している変遷パターンを検出し、その検出した変遷パターンに基づいてビジー継続時間とアイドル継続時間との相関性を解析する。
より具体的には、1層は、ビジー継続時間TBusy1(step2)→アイドル継続時間TIdl1(step1)への変遷、アイドル継続時間TIdl1(step1)→ビジー継続時間TBusy2(step1)への変遷、ビジー継続時間TBusy2(step1)→アイドル継続時間TIdl2(step2)への変遷、アイドル継続時間TIdl2(step2)→ビジー継続時間TBusy3(step1)への変遷、ビジー継続時間TBusy3(step1)→アイドル継続時間TIdl3(step1)への変遷、およびアイドル継続時間TIdl3(step1)→ビジー継続時間TBusy4(step1)への変遷に基づいて、サブセットstep2のビジー継続時間TBusy1の後にサブセットstep1のアイドル継続時間TIdl1が到来し、サブセットstep1のアイドル継続時間TIdl1の後にサブセットstep1のビジー継続時間TBusy2が到来し、サブセットstep1のビジー継続時間TBusy2の後にサブセットstep2のアイドル継続時間TIdl2が到来し、サブセットstep2のアイドル継続時間TIdl2の後にサブセットstep1のビジー継続時間TBusy3が到来し、サブセットstep1のビジー継続時間TBusy3の後にサブセットstep1のアイドル継続時間TIdl3が到来し、サブセットstep1のアイドル継続時間TIdl3の後にサブセットstep1のビジー継続時間TBusy4が到来することを検出することによって、隣接するビジー継続時間/アイドル継続時間の相関性および隣接するアイドル継続時間/ビジー継続時間の相関性、即ち、隣接するビジー継続時間/アイドル継続時間におけるビジー継続時間のサブセットとアイドル継続時間のサブセットとの繋がり度合と、隣接するアイドル継続時間/ビジー継続時間におけるアイドル継続時間のサブセットとビジー継続時間のサブセットとの繋がり度合とを解析する。
つまり、1層は、サブセットstep1のビジー継続時間TBusyの次に到来するアイドル継続時間TIdleのサブセットがサブセットstep1であるかを示す度合Dg1と、サブセットstep1のビジー継続時間TBusyの次に到来するアイドル継続時間TIdleのサブセットがサブセットstep2であるかを示す度合Dg2と、サブセットstep2のビジー継続時間TBusyの次に到来するアイドル継続時間TIdleのサブセットがサブセットstep1であるかを示す度合Dg3と、、サブセットstep2のビジー継続時間TBusyの次に到来するアイドル継続時間TIdleのサブセットがサブセットstep2であるかを示す度合Dg4と、サブセットstep1のアイドル継続時間TIdleの次に到来するビジー継続時間TBusyのサブセットがサブセットstep1であるかを示す度合Dg5と、サブセットstep1のアイドル継続時間TIdleの次に到来するビジー継続時間TBusyのサブセットがサブセットstep2であるかを示す度合Dg6と、サブセットstep2のアイドル継続時間TIdleの次に到来するビジー継続時間TBusyのサブセットがサブセットstep1であるかを示す度合Dg7と、サブセットstep2のアイドル継続時間TIdleの次に到来するビジー継続時間TBusyのサブセットがサブセットstep2であるかを示す度合Dg8とを解析結果として解析する。
そうすると、1層は、1層のデータがビジーデータである場合、解析結果(度合Dg1~Dg8)に基づいて、ビジー継続時間TBusyのサブセット(step1,2のいずれか)の次に到来するアイドル継続時間TIdleのサブセットS_PDC_1_1(step1,2のいずれか)を予測し、その予測したアイドル継続時間TIdleの予測サブセットS_PDC_1_1(step1,2のいずれか)を2層へ出力する。
また、1層は、1層のデータがアイドルデータである場合、解析結果(度合Dg1~Dg8)に基づいて、アイドル継続時間TIdleのサブセット(step1,2のいずれか)の次に到来するビジー継続時間TBusyのサブセットS_PDC_1_2(step1,2のいずれか)を予測し、その予測したアイドル継続時間TIdleの予測サブセットS_PDC_1_2(step1,2のいずれか)を2層へ出力する。
2層は、1層から予測サブセットS_PDC_1_1(step1,2のいずれか)とビジー/アイドルデータ、または予測サブセットS_PDC_1_2(step1,2のいずれか)とビジー/アイドルデータとを受ける。
そして、2層は、1層と同様にして、ビジー/アイドルデータに基づいて、上述した度合Dg1~Dg8を解析する。
その後、2層は、2層のデータがアイドルデータである場合、解析結果(度合Dg1~Dg8)に基づいて、アイドル継続時間TIdleの予測サブセットS_PDC_1_2の次に到来するビジー継続時間TBusyの予測サブセットS_PDC_2_1を生成する。
また、2層は、2層のデータがビジーデータである場合、解析結果(度合Dg1~Dg8)に基づいて、予測サブセットS_PDC_1_1の次に到来するアイドル継続時間TIdleの予測サブセットS_PDC_2_2を生成する。
そして、2層は、予測サブセットS_PDC_2_1、または予測サブセットS_PDC_2_2を3層へ出力する。
以下、同様にして、K層は、K-1層から予測サブセットS_PDC_K-1_1とビジー/アイドルデータ、または予測サブセットS_PDC_K-1_2とビジー/アイドルデータとを受ける。
そして、K層は、1層と同様にして、ビジー/アイドルデータに基づいて、上述した度合Dg1~Dg8を解析する。
その後、K層は、K層のデータがアイドルデータである場合、解析結果(度合Dg1~Dg8)に基づいて、予測サブセットS_PDC_K-1_1の次に到来するビジー継続時間TBusyの予測サブセットS_PDC_K_1を生成する。そして、K層は、予測サブセットS_PDC_K_1をビジーデータ(ビジー継続時間TBusy)の予測値として出力する。
また、K層は、K層のデータがビジーデータである場合、解析結果(度合Dg1~Dg8)に基づいて、予測サブセットS_PDC_K-1_2の次に到来するアイドル継続時間TIdleの予測サブセットS_PDC_K_2を生成する。そして、K層は、予測サブセットS_PDC_K_1をアイドルデータ(アイドル継続時間TIdle)の予測値として出力する。
予測部34は、予測器35のK層が5層である場合、ビジー継続時間TBusyのサブセット(step1,2のいずれか)(1層)/アイドル継続時間TIdleのサブセット(step1,2のいずれか)(2層)/ビジー継続時間TBusyのサブセット(step1,2のいずれか)(3層)/アイドル継続時間TIdleのサブセット(step1,2のいずれか)(4層)/ビジー継続時間TBusyのサブセット(step1,2のいずれか)(5層)からなるアイドル/ビジーデータData1と、アイドル継続時間TIdleのサブセット(step1,2のいずれか)(1層)/ビジー継続時間TBusyのサブセット(step1,2のいずれか)(2層)/アイドル継続時間TIdleのサブセット(step1,2のいずれか)(3層)/ビジー継続時間TBusyのサブセット(step1,2のいずれか)(4層)/アイドル継続時間TIdleのサブセット(step1,2のいずれか)(5層)からなるアイドル/ビジーデータData2とを交互に予測器35へ出力する。
予測器35は、アイドル/ビジーデータData1を予測部34から受けたとき、1層、3層および5層は、ビジーデータになり。2層および4層は、アイドルデータになる。その結果、予測器45は、予測アイドル継続時間を出力する。
また、予測器35は、アイドル/ビジーデータData2を予測部34から受けたとき、1層、3層および5層は、アイドルデータになり、2層および4層は、ビジーデータになる。その結果、予測器45は、予測ビジー継続時間を出力する。
このように、予測器35は、予測アイドル継続時間と予測ビジー継続時間とを交互に予測部34へ出力する。
そして、予測部34は、予測器35から受けた予測アイドル継続時間および予測ビジー継続時間を交互に制御手段4へ出力する。
予測アイドル継続時間および予測ビジー継続時間は、サブセットstep1,2のいずれかを含むので、制御手段4は、予測アイドル継続時間および予測ビジー継続時間のサブセット(サブセットstep1,2のいずれか)に基づいて、予測アイドル継続時間の長さおよび予測ビジー継続時間の長さを知ることができる。
予測器35は、一般的には、次式によって、予測アイドル継続時間または予測ビジー継続時間を予測する。
Figure 0007341430000001
式(1)において、X,Xi-1,・・・,Xi―p-1は、直近p(pは、2以上の整数である。)個のビジー/アイドル計測時間であり、既知の値である。また、Xi+1は、予測値である。更に、b,b,・・・,bは、係数である。
式(1)によって、Xi+1を予測する場合、係数b,b,・・・,bを決定する必要がある。
この場合、予測器35は、トレーニング区間において、係数b,b,・・・,bを学習する。
トレーニング区間における係数b,b,・・・,bの学習について説明する。係数b,b,・・・,bを算出するためのトレーニングデータを、例えば、200サンプルとし、予測式(1)の次数を、例えば、2次(p=2)として係数b,bを学習する。
予測器35は、200サンプルのトレーニングデータに基づいて、上述した方法によって、ビジー継続時間およびアイドル継続時間の予測値を算出し、係数b,bを算出する。この場合、予測器35は、Levinson-Durbin帰納法を用いて最小二乗式から生じる正規方程式を解くことによって係数b,bを算出する。
なお、予測器35は、トレーニング区間において、ビジー継続時間TBusy/アイドル継続時間TIdleの変遷パターンの全てについて係数b,bを算出する。
例えば、サブセット数Sが2個であり、K=5である場合、ビジー継続時間TBusy/アイドル継続時間TIdleの変遷パターンは、32個である。
従って、予測器35は、32個の変遷パターンの全てについて、係数b,bを算出し、その算出した係数b,bを32個の変遷パターンのそれぞれに対応付けて予測部34へ出力する。
予測部34は、32個の変遷パターンと、32組の係数b,bとの対応関係を予測器35から受け、その受けた32個の変遷パターンと、32組の係数b,bとの対応関係を保持する。
予測器35は、pが2以外である場合も、同様にして、32個の変遷パターンの全てについて、係数b,b,・・・,bを算出し、その算出した係数b,b,・・・,bを32個の変遷パターンのそれぞれに対応付けて予測部34へ出力する。
予測部34は、32個の変遷パターンと、32組の係数b,b,・・・,bとの対応関係を予測器35から受け、その受けた32個の変遷パターンと、32組の係数b,b,・・・,bとの対応関係を保持する。
図7は、変遷パターンと係数b,b,・・・,bとの対応表を示す図である。図7を参照して、対応表TBL1は、変遷パターンと係数の組とを含む。変遷パターンおよび係数の組は、相互に対応付けられる。
変遷パターン1、変遷パターン2、変遷パターン3、・・・、変遷パターンm(mは、サブセット数とK層の個数とに基づいて決定される変遷パターンの総数)は、それぞれ、係数の組b11,b12,b13,・・・,b1p、係数の組b21,b22,b23,・・・,b2p、係数の組b31,b32,b33,・・・,b3p、・・・、係数の組bm1,bm2,bm3,・・・,bmpに対応付けられる。
予測部34は、対応表TBL1を保持している。そして、予測部34は、時系列に配列されたビジー継続時間/アイドル継続時間(図5参照)を分類部33から受けると、対応表TBL1を参照して、その受けた時系列に配列されたビジー継続時間/アイドル継続時間(図5参照)の変遷パターンが、対応表TBL1に格納された変遷パターン1~変遷パターンmのうちのいずれに一致するかを判定し、ビジー継続時間/アイドル継続時間(図5参照)の変遷パターンに一致すると判定した変遷パターン(変遷パターン1~変遷パターンmのいずれか)に対応する係数の組(b11,b12,b13,・・・,b1p;b21,b22,b23,・・・,b2p;・・・;bm1,bm2,bm3,・・・,bmpのいずれか)を検出する。そして、予測部34は、その検出した係数の組と、時系列に配列されたビジー継続時間/アイドル継続時間(図5参照)とを予測器35へ出力する。
その後、予測部34は、予測ビジー継続時間/予測アイドル継続時間を予測器35から受ける。
学習器5におけるQ学習について説明する。図8は、チャネル待機時間の概念図である。
図8を参照して、時刻tCPTは、チャネル#1~チャネル#4のいずれかでパケットを送信する通信が完了した時刻であり、現在とする。そして、現在の時刻tCPTから、次のチャネル使用時間(ビジー継続時間TBusy)までの待ち時間の長さをチャネル待機時間WTとする。
この場合、チャネル#1においては、現在の時刻tCPTから、次のチャネル使用時間(ビジー継続時間TBusy1)までの待ち時間の長さは、チャネル待機時間WT1であり、チャネル#2においては、現在の時刻tCPTから、次のチャネル使用時間(ビジー継続時間TBusy2)までの待ち時間の長さは、チャネル待機時間WT2であり、チャネル#3においては、現在の時刻tCPTから、次のチャネル使用時間(ビジー継続時間TBusy3)までの待ち時間の長さは、チャネル待機時間WT3であり、チャネル#4においては、現在の時刻tCPTから、次のチャネル使用時間(ビジー継続時間TBusy4)までの待ち時間の長さは、チャネル待機時間WT4である。
制御手段4は、予測手段3から受けた予測チャネル空き時間および予測チャネル使用時間に基づいて、各チャネル#1~チャネル#4におけるチャネル待機時間WT1~WT4を検出する。
図9は、Qテーブルの概念図である。パケットの送信時間の長さは、例えば、「長」、「中」および「短」の3つの状態sを取り得るので、「短」を“1”で表し、「中」を“2”で表し、「長」を“3”で表す。
「長」は、例えば、パケットの送信時間の長さが2msであり、「中」は、例えば、パケットの送信時間の長さが1msであり、「短」は、例えば、パケットの送信時間の長さが0.5msである。
通信に用いるチャネルを選択する行動aは、例えば、チャネル#1を選択する、チャネル#2を選択する、チャネル#3を選択する、およびチャネル#4を選択する、の4つの行動aを取り得るので、チャネル#1を選択することを“1”で表し、チャネル#2を選択することを“2”で表し、チャネル#3を選択することを“3”で表し、チャネル#4を選択することを“4”で表す。
従って、Qテーブルは、3行×4列の行列によって表され、12個のQ値(=Q1,1~Q3,4)を含む。
12個のQ値(=Q1,1~Q3,4)の初期値は、全て、“0”である。そして、端末装置10のパケットの送信時間の長さが状態s(=1~3のいずれか)にあり、チャネル#1~チャネル#4のいずれかを選択する行動aを取ったとき、パケットの送信が可能である場合、通信結果(通信の成功/失敗)、競合端末情報およびチャネル待機時間WTに基づいて、次の通信における報酬rt+1が算出される。
そして、図8に示すチャネル待機時間WTが短い方がチャネル利用効率を高くできるので、チャネル待機時間WTが短い方が、通信のスループットが大きくなり、チャネル待機時間WTが長い方が、通信のスループットが小さくなるようにチャネル待機時間WTに基づいて重み付けを行う。
また、競合端末装置の個数が少ない方が、競合が減少して通信のスループットが大きくなり、競合端末装置の個数が多い方が競合して通信のスループットが小さくなるので、競合端末装置の個数が少ない方が通信のスループットが大きくなり、競合端末装置の個数が多い方が通信のスループットが小さくなるように競合端末装置の個数に基づいて重み付けを行う。
その結果、QテーブルのQ値は、次式によって更新される。
Figure 0007341430000002
式(2)において、rt+1は、報酬であり、αは、学習率であり、γは、割引率である。
この発明の実施の形態においては、αは、例えば、0.5であり、γは、例えば、0である。
式(2)の報酬rt+1は、次式によって算出される。
Figure 0007341430000003
式(3A)のFは、通信のスループットである。式(3A)のwは、式(3B)によって算出される重み係数であり、式(3B)のNCFLは、競合端末装置の個数である。その結果、重み係数wは、競合端末装置の個数NCFLが多くなれば小さくなり、競合端末装置の個数NCFLが少なくなれば大きくなる。
また、式(3A)のwは、式(3C)によって算出される重み係数であり、式(3C)のWTは、各チャネルにおけるチャネル待機時間である。その結果、重み係数wは、チャネル待機時間WTが短くなれば大きくなり、チャネル待機時間WTが長くなれば小さくなる。
更に、式(3A)のvは、通信が成功したとき、“1”からなり、通信が失敗したとき、“0”からなる(式(3D)参照)。従って、通信が失敗したとき、報酬rt+1は、“0”になる。
式(3)に示すように、学習器5は、競合端末装置の個数NCFLが少なくなれば大きくなり、競合端末装置の個数NCFLが多くなれば小さくなるように報酬rt+1を算出する。そして、学習器5は、競合端末装置の個数NCFLが第1の個数であるとき第1の値からなる重み係数wをスループットFに乗算し、競合端末装置の個数NCFLが第1の個数よりも多い第2の個数であるとき第1の値よりも小さい第2の値からなる重み係数wをスループットFに乗算する。
また、学習器5は、チャネル待機時間WTが短くなれば大きくなり、チャネル待機時間WTが長くなれば小さくなるように報酬rt+1を算出する。そして、学習器5は、チャネル待機時間WTが第1の時間長からなるとき、第3の値からなる重み係数wをスループットFに乗算し、チャネル待機時間WTが第1の時間長よりも長い第2の時間長からなるとき、第3の値よりも小さい第4の値からなる重み係数wをスループットに乗算する。
なお、パケットの送信が“不可”であるとき、報酬rt+1は、“0”になる。パケットの送信が“不可”であるとき、スループットFを算出できないからである。
学習器5は、状態sと行動aとに対応するQ値(=Qs,a)と、報酬rt+1と、学習率αと、割引率γとを式(2)に代入してQ値(=Qs,a)を更新する。
そして、端末装置10の行動aを決定する場合、ε-greedy法が用いられる。このε-greedy法は、ある一定の小さい数ε(例えば、0.3)を決定しておき、発生した乱数がε以下であるとき、行動aをランダムに決定し、発生した乱数がε以下でないとき、行動aをQ値が最大である行動に決定する方法である。
なお、制御手段4は、通信結果、競合端末情報(=競合端末装置の個数NCFL)およびチャネル待機時間WTを学習器5へ出力してQ学習を実行するように学習器5を制御する場合、図8に示すチャネル待機時間WT1~WT4をそれぞれチャネル#1~#4に対応付けて学習器5へ出力する。これによって、学習器5は、Q学習において状態sおよび行動aを決定した後に報酬rt+1を算出するとき、決定した行動aによって選択されたチャネル(=チャネル#1~#4のいずれか)に対応するチャネル待機時間WT(=チャネル待機時間WT1~WT4のいずれか)を用いて重み係数wを式(3C)によって算出できる。
図10から図12は、それぞれ、Qテーブルの更新方法を説明するための第1から第3の概略図である。
図10を参照して、Q学習の初期状態においては、Qテーブルの全てのQ値(Q1,1~Q3,4)は、“0”である(図10の(a)参照)。
この発明の実施の形態においては、パケットの送信時間の長さが「短」であるとき、状態sを“1”とし、パケットの送信時間の長さが「中」であるとき、状態sを“2”とし、パケットの送信時間の長さが「長」であるとき、状態sを“3”とする。
学習器5は、パケットの送信時間の長さとして、「長」、「中」および「短」の複数の長さが存在するので、“1”,“2”,“3”の複数の状態sを選択し得る。そこで。学習器5は、複数の状態sからランダムに1つの状態sを決定する。例えば、学習器5は、“2”の状態sを決定したものとする。
また、学習器5は、ε-greedy法に従って行動aを決定する。この場合、Qテーブルの全てのQ値(Q1,1~Q3,4)が“0”であるので(即ち、最大のQ値が1つに決定されないので)、学習器5は、乱数がε以下であるか否かに拘わらず、ランダムに端末装置10の行動aを決定する。そして、学習器5は、例えば、“2”の行動aを決定したものとする。
そうすると、学習器5は、端末装置10がパケットを送信可能である場合、通信結果(通信の成功/失敗)、競合端末情報およびチャネル待機時間に基づいて、上述した方法によって、パケットの(t+1)回目の送信における報酬rt+1を算出する。
その後、学習器5は、算出した報酬rt+1と、学習率αと、割引率γと、パケットのt回目の送信におけるQ値(状態s(=“2”)と行動a(=“2”)とに対応する初期状態のQ値)とを式(2)に代入してQ値をQ値(q2,2)に更新する(図10の(b)参照)。
ここで、パケットの送信時間の長さによって決定される状態s、およびチャネルを選択することである行動aは、過去の通信の失敗および通信の成功に依存しないものである。また、報酬rt+1は、過去の通信の失敗/成功に依存せず、現在の通信の失敗/成功に依存して算出されるものである。従って、累積報酬についてのパラメータである割引率γは、“0”に設定されるべきである。
その結果、パケットのt回目の送信におけるQ値は、“0”であり(図10の(a)参照)、γ=0であるので、更新されたQ値(=q2,2)は、実質的に、αrt+1に等しい。
引き続いて、学習器5は、パケットの送信時間の長さとしての「長」、「中」および「短」に基づいて、例えば、ランダムに状態sを“1”に決定し、ε-greedy法によって行動aを“4”に決定するものとする。
そうすると、学習器5は、パケットを送信可能である場合、通信結果(通信の成功/失敗)、競合端末情報およびチャネル待機時間に基づいて、上述した方法によって、(t+1)回目の送信における報酬rt+1を算出する。
その後、学習器5は、算出した報酬rt+1と、学習率αと、割引率γ(=0)と、パケットのt回目の送信におけるQ値(状態s(=“1”)と行動a(=“4”)とに対応する初期状態のQ値)とを式(2)に代入してQ値をQ値(=q1,4)に更新する(図11の(a)参照)。
一方、学習器5は、発生した乱数がε以下でないとき、端末装置10の行動aをQ値が最大である行動に決定する。この時点では、Qテーブルは、図10の(b)に示す状態になっているので、最大のQ値は、q2,2になる。従って、学習器5は、端末装置10の行動aを“2”(チャネル#2を選択する行動)に決定する。
そして、学習器5は、端末装置10が行動“2”(チャネル#2を選択する行動)を実行したときの報酬rt+1を上述した方法によって算出し、その算出した報酬rt+1を用いて式(2)によってQ値(=q2,2)をQ値(=q’2,2)に更新する(図11の(b)参照)。
なお、パケットのt回目の送信における通信が失敗であるとき、式(3A)のvは、“0”に設定されるので(式(3D)参照)、報酬rt+1は、“0”になる。従って、学習器5は、パケットのt回目の送信における通信が失敗であるとき、パケットの(t+1)回目の送信における報酬rt+1を“0”と算出してQ値を更新する。
以後、学習器5は、終了条件が満たされるまで、上述した動作を繰り返し実行してQテーブルのQ値を更新する。なお、終了条件は、例えば、上述したQ値の更新が所定回数実行されたときである。そして、所定回数は、例えば、10回である。
学習器5は、終了条件が満たされると、終了条件が満たされたときのQテーブル(図12参照)を参照して、“1”の状態sに対応するq値(=q1,1、q1,3、q1,4)のうちの最大のQ値(=q1_max)と、最大のQ値(=q1_max)に対応する行動at_max1とを検出し、“2”の状態sに対応するq値(=q2,2、q2,3)のうちの最大のQ値(=q2_max)と、最大のQ値(=q2_max)に対応する行動at_max2とを検出し、“3”の状態sに対応するq値(=q3,2、q3,4)のうちの最大のQ値(=q3_max)と、最大のQ値(=q3_max)に対応する行動at_max3とを検出する。そして、学習器5は、“1”の状態sに最大のQ値(=q1_max)と行動at_max1とを対応付けた[“1”の状態s/q1_max/at_max1]を生成し、“2”の状態sに最大のQ値(=q2_max)と行動at_max2とを対応付けた[“2”の状態s/q2_max/at_max2]を生成し、“3”の状態sに最大のQ値(=q3_max)と行動at_max3とを対応付けた[“3”の状態s/q3_max/at_max3]を生成する。
そうすると、学習器5は、[“1”の状態s/q1_max/at_max1]、[“2”の状態s/q2_max/at_max2]および[“3”の状態s/q3_max/at_max3]からなる出力情報IF_OUTを制御手段4へ出力する。
制御手段4は、出力情報IF_OUT(=[“1”の状態s/q1_max/at_max1]、[“2”の状態s/q2_max/at_max2]および[“3”の状態s/q3_max/at_max3])を学習器5から受ける。
そして、制御手段4は、送信用パケットの送信時間の長さに対応する状態sが“1”の状態sであるとき、出力情報IF_OUTから[“1”の状態s/q1_max/at_max1]を検出し、その検出した[“1”の状態s/q1_max/at_max1]から行動at_max1を検出する。そうすると、制御手段4は、行動at_max1によって選択されたチャネル(チャネル#1、チャネル#3、およびチャネル#4のいずれか)を送信用チャネルCH_Tとして選択する。
また、制御手段4は、送信用パケットの送信時間の長さに対応する状態sが“2”の状態sであるとき、出力情報IF_OUTから[“2”の状態s/q2_max/at_max2]を検出し、その検出した[“2”の状態s/q2_max/at_max2]から行動at_max2を検出する。そうすると、制御手段4は、行動at_max2によって選択されたチャネル(チャネル#2、およびチャネル#3のいずれか)を送信用チャネルCH_Tとして選択する。
更に、制御手段4は、送信用パケットの送信時間の長さに対応する状態sが“3”の状態sであるとき、出力情報IF_OUTから[“3”の状態s/q3_max/at_max3]を検出し、その検出した[“3”の状態s/q3_max/at_max3]から行動at_max3を検出する。そうすると、制御手段4は、行動at_max3によって選択されたチャネル(チャネル#2、およびチャネル#4のいずれか)を送信用チャネルCH_Tとして選択する。
図13は、送信用パケットが送信可能か否かを判定する方法を説明するための図である。
図13を参照して、現在の時刻TCPTよりも将来の時刻においては、チャネル#1において、チャネル空き時間TIdle1が存在し、チャネル#2において、チャネル空き時間TIdle2が存在し、チャネル#3において、チャネル空き時間TIdle3が存在し、チャネル#4において、チャネル空き時間TIdle4が存在する。
チャネル空き時間TIdle1は、送信用パケットの送信時間の長さよりも短い。チャネル空き時間TIdle2,TIdle3,TIdle4は、送信用パケットの送信時間の長さよりも長い。そして、チャネル空き時間TIdle2は、チャネル空き時間TIdle2,TIdle3,TIdle4のうちで最も短い。
制御手段4は、例えば、送信用チャネルCH_T(チャネル#1~チャネル#4のいずれか)を選択すると、その選択した送信用チャネルCH_T(チャネル#1~チャネル#4のいずれか)においてキャリアセンスを実行するように受信手段2を制御し、その後、受信手段2からキャリアセンスの結果を受けると、キャリアセンスの結果に基づいて他の端末装置が送信用チャネルCH_T(チャネル#1~チャネル#4のいずれか)で通信を行っているか否かを判定する。
制御手段4は、他の端末装置が送信用チャネルCH_Tで通信を行っていないと判定したとき、送信用チャネルCH_T(チャネル#1~チャネル#4のいずれか)における予測チャネル空き時間が、送信用パケットの送信時間の長さよりも長いか否かを判定する。
そして、制御手段4は、送信用チャネルCH_T(チャネル#1~チャネル#4のいずれか)における予測チャネル空き時間が、送信用パケットの送信時間の長さよりも長いと判定したとき、送信用チャネルCH_Tおよび送信用パケットを送信手段7へ出力し、送信用チャネルCH_Tで送信用パケットを基地局BSへ送信するように送信手段7を制御する。
一方、制御手段4は、送信用チャネルCH_T(チャネル#1~チャネル#4のいずれか)における予測チャネル空き時間が送信用パケットの送信時間の長さ以下であると判定したとき、またはキャリアセンスの結果に基づいて他の端末装置が送信用チャネルCH_Tで通信を行っていると判定したとき、送信用パケットの送信が不可であると判定し、通信不可情報を生成する。
図13に示す場合、チャネル#2におけるチャネル空き状態TIdle2(=予測チャネル空き時間)は、送信用パケットの送信時間の長さよりも長い。
従って、制御手段4は、チャネル空き時間TIdle2(=予測チャネル空き時間)が送信用パケットの送信時間の長さよりも長いと判定する。
そして、制御手段4は、送信用チャネルCH_T(=チャネル#2)および送信用パケットを送信手段7へ出力し、送信用チャネルCH_T(=チャネル#2)で送信用パケットを基地局BSへ送信するように送信手段7を制御する。
上述したように、送信用パケットが送信可能であるか否かの判定は、次の2つからなる。
(判定1)送信用チャネルCH_Tにおけるキャリアセンスの結果に基づいて他の端末装置が送信用チャネルCH_Tで通信を行っているか否かを判定する。
(判定2)送信用チャネルCH_Tにおける予測チャネル空き時間が、送信用パケットの送信時間の長さよりも長いか否かを判定する。
そして、判定1,2の2つの判定結果が肯定的判定結果であるとき、送信用パケットの送信が可能であると判定し、判定1,2のうちの少なくとも1つの判定において、判定結果が否定的判定結果であるとき、送信用パケットの送信が不可能であると判定する。
なお、この発明の実施の形態においては、判定2のみによって送信用チャネルCH_Tにおける予測チャネル空き時間が、送信用パケットの送信時間の長さよりも長いと判定したとき、バックオフを実行せずに送信用パケットを送信用チャネルCH_Tで基地局BSへ送信するようにしてもよい。
図14は、図2に示す端末装置10の動作を説明するためのフローチャートである。図14を参照して、端末装置10の動作が開始されると、制御手段4は、アプリケーション6から送信用パケットを受けたか否かを判定することによって送信用パケットがあるか否かを判定する(ステップS1)。この場合、制御手段4は、アプリケーション6から送信用パケットを受けたとき、送信用パケットがあると判定し、アプリケーション6から送信用パケットを受けなかったとき、送信用パケットがないと判定する。
ステップS1において、送信用パケットがあると判定されると、制御手段4は、学習器5から出力された出力情報IF_OUTに基づいて行動a(チャネルを選択する行動)を決定する(ステップS2)。
そして、制御手段4は、決定した行動aにおいて選択されたチャネルでキャリアセンスを行うように受信手段2を制御し、受信手段2は、制御手段4からの制御に従ってキャリアセンスを行う(ステップS3)。
その後、予測手段3は、上述した方法によって、各チャネルにおける予測チャネル空き時間および予測チャネル使用時間を予測し(ステップS4)、その予測した予測チャネル空き時間および予測チャネル使用時間を制御手段4へ出力する。
制御手段4は、予測チャネル空き時間および予測チャネル使用時間を予測手段3から受ける。
引き続いて、制御手段4は、送信用パケットが送信可能であるか否かを判定する(ステップS5)。この場合、制御手段4は、上述した判定1,2によって送信用パケットが送信可能であるか否かを判定する。
ステップS5において、送信用パケットが送信可能でないと判定されたとき、制御手段4は、送信不可情報を生成する(ステップS6)。
一方、ステップS5において、送信用パケットが送信可能であると判定されたとき、制御手段4は、ステップS2で決定した行動aにおいて選択されたチャネルを送信用チャネルCH_Tとし、送信用チャネルCH_Tと送信用パケットとを送信手段7へ出力し、送信用チャネルCH_Tで送信用パケットを基地局BSへ送信するように送信手段7を制御する。
送信手段7は、送信用チャネルCH_Tおよび送信用パケットを制御手段4から受け、制御手段4からの制御に従って、アンテナ1を介して、送信用チャネルCH_Tで送信用パケットを基地局BSへ送信する(ステップS7)。
その後、制御手段4は、ACKパケットを基地局BSから受信したか否かを判定する(ステップS8)。この場合、制御手段4は、受信手段2からACKパケットを受けたとき、ACKパケットを基地局BSから受信したと判定し、受信手段2からACKパケットを受けなかったとき、ACKパケットを基地局BSから受信しなかったと判定する。
ステップS8において、ACKパケットを基地局BSから受信したと判定されたとき、制御手段4は、通信結果を“1”に設定する(ステップS9)。
一方、ステップS8において、ACKパケットを基地局BSから受信しなかったと判定されたとき、制御手段4は、通信結果を“0”に設定する(ステップS10)。
そして、ステップS9またはステップS10の後、制御手段4は、制御チャネルを用いて、競合端末情報を基地局BSから取得する(ステップS11)。
引き続いて、ステップS6またはステップS11の後、制御手段4は、競合端末情報、送信不可情報、通信結果およびチャネル空き時間を入力情報として学習器5へ出力し、Q学習を行うように学習器5を制御する。
学習器5は、競合端末情報、送信不可情報、通信結果およびチャネル空き時間を入力情報として受け、その受けた競合端末情報、送信不可情報、通信結果およびチャネル待機時間を用いてQ学習を実行する(ステップS12)。
そして、学習器5は、Q学習の結果である出力情報IF_OUTを制御手段4へ出力する。制御手段4は、出力情報IF_OUTを学習器5から受ける。
その後、制御手段4は、通信を終了するか否かを判定する(ステップS13)。ステップS13において、通信を終了しないと判定されたとき、一連の動作は、ステップS1へ移行する。その後、ステップS13において、通信を終了すると判定されるまで、ステップS1~ステップS13が繰り返し実行される。
そして、ステップS13において、通信を終了すると判定されると、端末装置10の動作が終了する。
図15は、図14のステップS5の詳細な動作を説明するためのフローチャートである。
図15を参照して、図14のステップS4の後、制御手段4は、キャリアセンスの結果に基づいて、送信用チャネルCH_Tで他の端末装置が通信を行っているか否かを判定する(ステップS51)。
ステップS51において、送信用チャネルCH_Tで他の端末装置が通信を行っていないと判定されたとき、制御手段4は、予測手段3から受けた各チャネルにおける予測チャネル空き時間および予測チャネル使用時間に基づいて、送信用チャネルCH_Tにおける予測チャネル空き時間が、送信用パケットの送信時間の長さよりも長いか否かを判定する(ステップS52)。
そして、ステップS51において、送信用チャネルCH_Tで他の端末装置が通信を行っていると判定されたとき、またはステップS52において、送信用チャネルCH_Tにおける予測チャネル空き時間が、送信用パケットの送信時間の長さよりも長くないと判定されたとき、制御手段4は、送信用パケットの送信が不可であると判定する(ステップS53)。
一方、ステップS52において、送信用チャネルCH_Tにおける予測チャネル空き時間が、送信用パケットの送信時間の長さよりも長いと判定されたとき、制御手段4は、送信用パケットの送信が可能であると判定する(ステップS54)。
そして、ステップS53の後、一連の動作は、図14のステップS6へ移行し、ステップS54の後、一連の動作は、図14のステップS7へ移行する。
図16は、図14のステップS12の詳細な動作を説明するためのフローチャートである。
図16を参照して、図14のステップS6またはステップS11の後、学習器5は、入力情報を制御手段4から受ける(ステップS121)。
そして、学習器5は、t回目のパケットの送信における状態sをランダムに決定する(ステップS122)。
その後、学習器5は、ε-greedy法に基づいて、t回目のパケットの送信における行動aを決定する(ステップS123)。
引き続いて、学習器5は、競合端末情報(例えば、競合端末個数)に基づいて式(3B)によって重み係数wを算出する(ステップS124)。
そして、学習器5は、チャネル待機時間WTに基づいて式(3C)によって重み係数wを算出する(ステップS125)。
その後。学習器5は、送信不可情報が入力情報に含まれるか否かを判定する(ステップS126)。
ステップ126において、送信不可情報が入力情報に含まれないと判定されたとき、学習器5は、状態sにおいて行動aを実行したときの(t+1)回目のパケットの送信における報酬rt+1を重み係数wおよび重み係数wを用いて式(3A)によって算出する(ステップS127)。
一方、ステップ126において、送信不可情報が入力情報に含まれると判定されたとき、学習器5は、状態sにおいて行動aを実行したときの(t+1)回目のパケットの送信における報酬rt+1を零と算出する(ステップS128)。
そして、ステップS127またはステップS128の後、学習器5は、学習率α、割引率γ(=0)および報酬rt+1を用いて、状態sおよび行動aに対応するQテーブルのQ値を更新する(ステップS129)。
そうすると、学習器5は、Q学習の終了条件が成立するか否かを判定する(ステップS130)。終了条件は、例えば、Q値の更新回数が10回に達したことである。
ステップS130において、Q学習の終了条件が成立しないと判定されたとき、一連の動作は、ステップS122へ移行する。その後、ステップS130において、Q学習の終了条件が成立すると判定されるまで、ステップS122~ステップS130が繰り返し実行される。
そして、ステップS130において、Q学習の終了条件が成立すると判定されると、学習器5は、各状態sと、各状態sにおける最大のQ値と、最大のQ値が得られるときの行動aとの対応関係からなる出力情報IF_OUTを制御手段4へ出力する(ステップS131)。その後、一連の動作は、図14のステップS13へ移行する。
図16に示すステップS122~S125,S126の“NO”,S127,S129を繰り返し実行することによって、競合端末個数が少ないときおよび/またはチャネル待機時間WTが短いとき、報酬rt+1が大きくなる。そして、Q値は、実質的に報酬rt+1によって決定されるので、報酬rt+1が大きくなると、状態sおよび行動aに対応するQ値は、より大きいQ値に更新される。
その結果、競合端末個数が少ないこと、およびチャネル待機時間WTが短いことは、報酬rt+1を大きくすることを介してQ値を大きくする。
従って、競合端末個数が少ないことは、端末装置10が他の端末装置に対して競合端末となる確率を低くする。その結果、パケットの衝突確率を低減できる。
また、チャネル待機時間WTが短いことは、チャネル待機時間WTが短いチャネルが選択される確率を大きくする。その結果、チャネル利用効率を向上できる。
図14のステップS2が1回目に実行される場合、学習器5は、行動aをランダムに決定する(即ち、チャネルをランダムに選択する)。
そして、学習器5は、ステップS12(図16に示すフローチャート)においてQ学習を実行し、各状態sと、各状態sにおける最大のQ値と、最大のQ値が得られるときの行動aとの対応関係からなる出力情報IF_OUTを制御手段4へ出力する。
図17は、出力情報IF_OUTの概念図である。図17を参照して、出力情報IF_OUTは、状態sと、状態sに対応するQ値のうちの最大のQ値と、最大のQ値が得られるときの行動aとを含む。
状態s、状態sに対応するQ値のうちの最大のQ値、および最大のQ値が得られるときの行動aは、相互に対応付けられる。
ステップS12(図16に示すフローチャート)におけるQ学習の終了時のQテーブルは、図17に示すQテーブルTBL_Qからなる。
学習器5は、Q学習の終了条件が満たされたと判定すると、“1”の状態sに対応するQ値(=q1,1,q1,3,q1,4)のうちの最大のQ値(例えば、q1,3)と、最大のQ値(例えば、q1,3)が得られるときの行動a(=“3”)とを検出する。
そして、学習器5は、“1”の状態sと、最大のQ値(例えば、q1,3)と、行動a(=“3”)とを相互に対応付けて出力情報IF_OUTに格納する。
また、学習器5は、“2”の状態sに対応するQ値(=q2,2,q2,3)のうちの最大のQ値(例えば、q2,2)と、最大のQ値(例えば、q2,2)が得られるときの行動a(=“2”)とを検出する。
そして、学習器5は、“2”の状態sと、最大のQ値(例えば、q2,2)と、行動a(=“2”)とを相互に対応付けて出力情報IF_OUTに格納する。
更に、学習器5は、“3”の状態sに対応するQ値(=q3,2,q3,4)のうちの最大のQ値(例えば、q3,4)と、最大のQ値(例えば、q3,4)が得られるときの行動a(=“4”)とを検出する。
そして、学習器5は、“3”の状態sと、最大のQ値(例えば、q3,4)と、行動a(=“4”)とを相互に対応付けて出力情報IF_OUTに格納する。
制御手段4は、出力情報IF_OUTを学習器5から受ける。そして、制御手段4は、ステップS12(図16に示すフローチャート)が実行された後のステップS2において、次のようにして行動aを決定する(即ち、送信用チャネルCH_Tを選択する)。
制御手段4は、出力情報IF_OUTに含まれる“1”の状態s、“2”の状態sおよび“3”の状態sから、送信用パケットの送信時間の長さによって決定される状態s’に一致する状態sを検出する。
例えば、制御手段4は、状態s’に一致する状態sとして“1”の状態sを検出する。そして、制御手段4は、“1”の状態sに対応付けられた最大のQ値(=q1_max(=q1,3))と行動a(=at_max1(=“3”))を検出する。
そうすると、制御手段4は、“3”の行動aにおいて選択されたチャネル#3を送信用チャネルCH_Tとして選択する。
状態s’に一致する状態sが“2”の状態または“3”の状態である場合も、制御手段4は、同様にして、チャネル#2またはチャネル#4を送信用チャネルCH_Tとして選択する。
図14に示すフローチャート(図15および図16に示すフローチャートを含む)に従ってパケットを送信することによって、ステップS12における学習器5による学習の初期においては、キャリアセンスによって送信信号が検出されなかった場合、またはランダムアクセスのため、たまたま送信タイミングが同じであった場合には、パケットの衝突が生じるが、このようなパケットの衝突は、最終的に最適なチャネルを選択する上では必要なコストであり、学習が進めばパケットの衝突が減少していくので問題ではない。
また、図14に示すフローチャート(図15および図16に示すフローチャートを含む)においては、競合端末装置の個数が多い方が報酬rt+1が小さくなるので(式(3A),(3B)参照)、端末装置10が他の端末装置に対して競合端末となる確率を下げている。
従って、空きチャネルの予想だけでチャネル選択を行った場合に比べ、複数の端末装置が同じ空きチャネルに接続しようとする確率を低下することができる。その結果、パケット損失を抑制して周波数を有効利用できる。
なお、端末装置10の動作は、ソフトウェアによって実現されてもよい。この場合、端末装置10は、CPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)を備える。そして、ROMは、図14に示すフローチャート(図15および図16に示すフローチャートを含む)の各ステップからなるプログラムProg_Aを記憶する。
CPUは、ROMからプログラムProg_Aを読み出し、その読み出したプログラムProg_Aを実行し、送信用パケットの送信時間の長さにマッチする予測チャネル空き時間を有するチャネルを送信用チャネルCH_Tとして選択してパケットを基地局BSへ送信する。RAMは、算出された重み係数w,w、算出された報酬rt+1、および更新後のQ値等を一時的に記憶する。
また、プログラムProg_Aは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_Aを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_Aを読み出して実行し、送信用パケットの送信時間の長さにマッチする予測チャネル空き時間を有するチャネルを送信用チャネルCH_Tとして選択してパケットを基地局BSへ送信する。
従って、プログラムProg_Aを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
なお、上記においては、競合端末情報は、競合端末個数からなると説明したが、この発明の実施の形態においては、これに限らず、競合端末情報は、チャネルを占有するパケット長の期待値であってもよく、端末装置10自身の送信したいパケットのパケット長と似た傾向のパケット長を有する端末装置の個数であってもよい。
チャネルを占有するパケット長の期待値は、端末装置10以外の端末装置から送信されたパケットがチャネルを占有するときのパケット長の平均値からなる。そして、チャネルを占有するパケット長の期待値は、基地局BSにおいて取得され、競合端末情報として基地局BSから制御チャネルで端末装置10へ送信される。
また、端末装置10自身の送信したいパケットのパケット長と似た傾向のパケット長を有する端末装置の個数は、基地局BSにより取得され、競合端末情報として基地局BSから制御チャネルで端末装置10へ送信される。
競合端末情報がチャネルを占有するパケット長の期待値からなるとき、重み係数wは、チャネルを占有するパケット長の期待値の逆数として算出される。また、競合端末情報が端末装置10自身の送信したいパケットのパケット長と似た傾向のパケット長を有する端末装置の個数からなるとき、重み係数wは、端末装置10自身の送信したいパケットのパケット長と似た傾向のパケット長を有する端末装置の個数の逆数として算出される。
重み係数wが、チャネルを占有するパケット長の期待値の逆数として算出された場合、または端末装置10自身の送信したいパケットのパケット長と似た傾向のパケット長を有する端末装置の個数の逆数として算出された場合、端末装置10と同様なチャネルを選択する確率の高い端末装置との競合を抑制することができる。
また、上記においては、チャネル待機時間WTを用いて重み係数wを算出したが、この発明の実施の形態においては、これに限らず、チャネル待機時間WTの逆数を報酬rt+1として算出してもよい。この場合、報酬rt+1は、式(3A)において、w=0とし、スループットFをチャネル待機時間WTの逆数に変えた次式によって算出される。
Figure 0007341430000004
チャネル待機時間WTの逆数を報酬rt+1とすることによって、チャネル待機時間WTが短い方が報酬rt+1が大きくなり、チャネル待機時間WTが長い方が報酬rt+1が小さくなる。その結果、チャネルの利用効率を向上させるチャネルを送信用チャネルCH_Tとして利用することができる。
更に、この発明の実施の形態においては、各チャネル#1~#4でキャリアセンスを行うとき、送信元の端末装置の識別情報ID(例えば、無線LANのMACアドレス)を検出し、チャネル#1~#4ごとに検出された送信元の端末装置数と、端末装置10の送信パケット長とに応じて送信用チャネルCH_Tを選択するようにしてもよい。
この場合、制御手段4は、上述した学習器5からの出力情報IF_OUTに加え、チャネル#1~#4ごとに検出された送信元の端末装置数を考慮して送信用チャネルCH_Tを選択する。
また、チャネル#1~#4ごとに検出された送信元の端末装置数と、所要伝送遅延とに応じて送信用チャネルCH_Tを選択するようにしてもよい。
より具体的には、即時に送信できた送信用パケットであれば、チャネルごとに検出された送信元の端末装置の個数が少ないチャネルであり、かつ、チャネル空き時間の予測値が端末装置10の送信用パケット長以上であるチャネルから送信用チャネルCH_Tを選択してもよい。
この場合、制御手段4は、上述した学習器5からの出力情報IF_OUTに加え、送信用パケットを即時に送信できたことを考慮して送信用チャネルCH_Tを選択する。
これにより、各チャネルで通信を行う端末数が増加すると、パケット長やパケット送信間隔などの分散が増加し、自己相関が減少するため、予測手段3による予測値の精度が劣化し、本発明の効果を得にくくなるという問題を解決できる。
なお、自己相関が減少するとは、定期的にパケットを送信している場合、自身の最初のパケットの送信間隔に比較して、時間の経過とともにパケットの送信間隔が大きくずれてくることを示す。
更に、上記においては、重み係数wは、競合端末装置の個数の逆数として算出されると説明したが、この発明の実施の形態においては、これに限らず、重み係数wは、競合端末装置の個数が少なくなれば大きくなり、競合端末装置の個数が多くなれば小さくなるように算出されるものであれば、どのような計算式によって算出されてもよい。
更に、上記においては、重み係数wは、チャネル待機時間の逆数として算出されると説明したが、この発明の実施の形態においては、これに限らず、重み係数wは、チャネル待機時間が長くなれば小さくなり、チャネル待機時間が短くなれば大きくなるように算出されるものであれば、どのような計算式によって算出されてもよい。
この発明の実施の形態においては、送信用パケットの送信時間の長さと、学習器5からの出力情報IF_OUTとに基づいて送信用チャネルCH_Tを選択する制御手段4は、「選択手段」を構成する。
また、この発明の実施の形態においては、スループットFに重み係数wを乗算して報酬rt+1を算出する処理は、「第1の演算処理」を構成し、スループットFに重み係数wを乗算して報酬rt+1を算出する処理は、「第2の演算処理」を構成する。
更に、この発明の実施の形態においては、重み係数wは、「第1の重み係数」を構成し、重み係数wは、「第2の重み係数」を構成する。
更に、この発明の実施の形態においては、通信結果の“1”は、「第1の指標」を構成し、通信結果の“0”は、「第2の指標」を構成する。
上述した実施の形態によれば、次の効果を得ることができる。
送信したいパケット長に応じて高いスループットが得られるようにチャネルを選択するようになるため、チャネルの周波数利用効率を向上できる。また、互いに異なる送信パケット長のパケットを送信する端末と次回のパケットの送信が競合する場合でも競合相手とならず、結果としてパケット衝突確率を抑制することができる。
更に、チャネルごとに観測される端末装置数に応じてチャネル選択することにより、パケット衝突によって生じる再送を抑制し、遅延を抑制できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
この発明は、端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体に適用される。
1 アンテナ、2 受信手段、3 予測手段、4 制御手段、5 学習器、6 アプリケーション、7 送信手段、10 端末装置、31 判定部、32 計測部、33 分類部、34 予測部、35 予測器、100 通信システム。

Claims (21)

  1. 基地局の通信範囲内に配置される複数の端末装置のうちのいずれかの端末装置からなる送信元の端末装置である端末装置であって、
    前記送信元の端末装置がパケットを前記基地局へ送信する通信と前記複数の端末装置のうちの前記送信元の端末装置以外の端末装置である競合端末装置がパケットを前記基地局へ送信する通信とが競合する無線通信空間においてパケットを前記基地局へ送信する送信手段と、
    前記送信手段が前記パケットを前記基地局へ送信した後、前記パケットを受信したことを示すACKパケットを前記基地局から受信する受信手段と、
    チャネルが空いている時間であるチャネル空き時間と前記チャネルが使用されている時間であるチャネル使用時間とを複数のチャネルの全てについて予測する予測手段と、
    前記送信手段がパケットを前記基地局へ送信する通信の通信結果と、前記競合端末装置の情報である競合端末情報と、前記送信手段が1つのパケットを前記基地局へ送信してから前記送信手段が次のパケットを前記基地局へ送信するまでの前記送信手段が前記次のパケットの前記基地局への送信に用いる前記チャネルの待機時間であるチャネル待機時間とからなる入力情報、または前記送信手段が前記1つのパケットを前記基地局へ送信できないことを示す送信不可情報からなる入力情報に基づいて、前記送信手段が前記1つのパケットを前記基地局へ送信するときの前記1つのパケットの送信時間の長さを状態とし、チャネルを前記複数のチャネルから選択することを行動とし、前記送信手段が前記1つのパケットを前記基地局へ送信した後に前記受信手段が前記ACKパケットを前記基地局から受信したときのスループットまたは前記チャネル待機時間の逆数を報酬とし、ε-greedy法によって前記行動を決定するQ学習を実行してQ値更新することを前記Q学習の終了条件が満たされるまで繰り返し実行し、前記Q学習の終了条件が満たされたとき、複数の前記状態のうちの1つの状態sにおいて前記更新されたm(mは、1≦m≦[前記複数のチャネルの総数]を満たす整数である)個のQ値q s,1 ~q s,m のうちの最大のQ値 s,max 前記最大のQ値 s,max が得られるときの前記行動からなる行動a s,max とを検出して前記最大のQ値q s,max と前記最大のQ値q s,max が得られるときの前記行動a s,max とを前記状態sに対応付けた[前記状態s/前記最大のQ値q s,max /前記行動a s,max ]を生成することを前記複数の状態の全てについて実行して複数の前記[前記状態s/前記最大のQ値q s,max /前記行動a s,max ]を生成し、その生成した前記複数の[前記状態s/前記最大のQ値q s,max /前記行動a s,max からなる出力情報を出力する学習処理を実行する学習器と、
    送信したいパケットの送信時間の長さに対応する前記Q学習の状態に対応する前記最大のQ値 s,max が得られるときの行動 s,max 前記複数の[前記状態s/前記最大のQ値q s,max /前記行動a s,max ]からなる出力情報から検出し、その検出した行動 s,max によって選択されたチャネルを送信用チャネルとして選択する選択手段とを備え
    前記送信手段は、前記送信用チャネルにおいて前記予測手段によって予測されたチャネル空き時間が前記送信したいパケットの送信時間の長さよりも長いことからなる第1の条件が満たされたとき、バックオフを実行せずに、前記送信したいパケットを前記送信用チャネルで前記基地局へ送信する端末装置。
  2. 前記学習器は、前記競合端末情報が前記競合端末装置の個数からなり、かつ、前記通信結果が、前記受信手段が前記ACKパケットを前記基地局から受信したことからなる通信の成功を示すとき、前記競合端末装置の個数が少なくなれば大きくなり、前記競合端末装置の個数が多くなれば小さくなるように前記報酬を算出する第1の演算処理を実行するとともに、前記チャネル待機時間が短くなれば大きくなり、前記チャネル待機時間が長くなれば小さくなるように前記報酬を算出する第2の演算処理を実行して前記学習処理を実行する、請求項1に記載の端末装置。
  3. 前記学習器は、前記競合端末装置の個数が第1の個数であるとき第1の値からなる第1の重み係数を前記スループットに乗算し、前記競合端末装置の個数が前記第1の個数よりも多い第2の個数であるとき第1の値よりも小さい第2の値からなる前記第1の重み係数を前記スループットに乗算して前記第1の演算処理を実行する、請求項2に記載の端末装置。
  4. 前記学習器は、前記競合端末装置の個数の逆数を前記第1の重み係数として前記スループットに乗算して前記第1の演算処理を実行する、請求項3に記載の端末装置。
  5. 前記学習器は、前記チャネル待機時間が第1の時間長からなるとき、第3の値からなる第2の重み係数を前記スループットに乗算し、前記チャネル待機時間が前記第1の時間長よりも長い第2の時間長からなるとき、前記第3の値よりも小さい第4の値からなる前記第2の重み係数を前記スループットに乗算して前記第2の演算処理を実行する、請求項2から請求項4のいずれか1項に記載の端末装置。
  6. 前記学習器は、前記チャネル待機時間の逆数を前記第2の重み係数として前記スループットに乗算して前記第2の演算処理を実行する、請求項に記載の端末装置。
  7. 前記学習器は、前記学習処理において、前記入力情報が前記送信不可情報からなるとき、前記報酬を零として前記Q値を更新する、請求項1に記載の端末装置。
  8. 前記受信手段は、更に、前記競合端末情報を制御チャネルで前記基地局から受信する、請求項1から請求項7のいずれか1項に記載の端末装置。
  9. 前記通信結果は、前記送信手段が前記送信したいパケットを前記基地局へ送信した後、前記受信手段が前記ACKパケットを前記基地局から受信したとき、第1の指標からなり、前記送信手段が前記送信したいパケットを前記基地局へ送信した後、前記受信手段が前記ACKパケットを前記基地局から受信しないとき、第2の指標からなる、請求項1から請求項8のいずれか1項に記載の端末装置。
  10. 前記送信手段は、前記第1の条件に加え、前記送信用チャネルにおけるキャリアセンスの結果、前記複数の端末装置のうちの前記送信元の端末装置以外の他の端末装置が前記送信用チャネルで通信していないことからなる第2の条件が満たされたとき、バックオフを実行せずに前記送信したいパケットを前記送信用チャネルで前記基地局へ送信する、請求項1から請求項9のいずれか1項に記載の端末装置。
  11. 基地局の通信範囲内に配置される複数の端末装置のうちのいずれかの端末装置からなる送信元の端末装置である端末装置においてコンピュータに実行させるためのプログラムであって、
    送信手段が、前記送信元の端末装置がパケットを前記基地局へ送信する通信と前記複数の端末装置のうちの前記送信元の端末装置以外の端末装置である競合端末装置がパケットを前記基地局へ送信する通信とが競合する無線通信空間においてパケットを前記基地局へ送信する第1のステップと、
    受信手段が、前記送信手段が前記パケットを前記基地局へ送信した後、前記パケットを受信したことを示すACKパケットを前記基地局から受信する第2のステップと、
    予測手段が、チャネルが空いている時間であるチャネル空き時間と前記チャネルが使用されている時間であるチャネル使用時間とを複数のチャネルの全てについて予測する第のステップと、
    学習器が、前記送信手段がパケットを前記基地局へ送信する通信の通信結果と、前記競合端末装置の情報である競合端末情報と、前記送信手段が1つのパケットを前記基地局へ送信してから前記送信手段が次のパケットを前記基地局へ送信するまでの前記送信手段が前記次のパケットの前記基地局への送信に用いる前記チャネルの待機時間であるチャネル待機時間とからなる入力情報、または前記送信手段が前記1つのパケットを前記基地局へ送信できないことを示す送信不可情報からなる入力情報に基づいて、前記送信手段が前記1つのパケットを前記基地局へ送信するときの前記1つのパケットの送信時間の長さを状態とし、チャネルを前記複数のチャネルから選択することを行動とし、前記送信手段が前記1つのパケットを前記基地局へ送信した後に前記受信手段が前記ACKパケットを前記基地局から受信したときのスループットまたは前記チャネル待機時間の逆数を報酬とし、ε-greedy法によって前記行動を決定するQ学習を実行してQ値更新することを前記Q学習の終了条件が満たされるまで繰り返し実行し、前記Q学習の終了条件が満たされたとき、複数の前記状態のうちの1つの状態sにおいて前記更新されたm(mは、1≦m≦[前記複数のチャネルの総数]を満たす整数である)個のQ値q s,1 ~q s,m のうちの最大のQ値 s,max 前記最大のQ値 s,max が得られるときの前記行動からなる行動a s,max とを検出して前記最大のQ値q s,max と前記最大のQ値q s,max が得られるときの前記行動a s,max とを前記状態sに対応付けた[前記状態s/前記最大のQ値q s,max /前記行動a s,max ]を生成することを前記複数の状態の全てについて実行して複数の前記[前記状態s/前記最大のQ値q s,max /前記行動a s,max ]を生成し、その生成した前記複数の[前記状態s/前記最大のQ値q s,max /前記行動a s,max からなる出力情報を出力する学習処理を実行する第のステップと、
    選択手段が、送信したいパケットの送信時間の長さに対応する前記Q学習の状態に対応する前記最大のQ値 s,max が得られるときの行動 s,max を前記複数の[前記状態s/前記最大のQ値q s,max /前記行動a s,max ]からなる出力情報から検出し、その検出した行動 s,max によって選択されたチャネルを送信用チャネルとして選択する第のステップとをコンピュータに実行させ
    前記送信手段前記第1のステップにおいて、前記送信用チャネルにおいて前記予測手段によって予測されたチャネル空き時間が前記送信したいパケットの送信時間の長さよりも長いことからなる第1の条件が満たされたとき、バックオフを実行せずに、前記送信したいパケットを前記送信用チャネルで前記基地局へ送信するコンピュータに実行させるためのプログラム。
  12. 前記学習器は、前記第のステップにおいて、前記競合端末情報が前記競合端末装置の個数からなり、かつ、前記通信結果が、前記受信手段が前記ACKパケットを前記基地局から受信したことからなる通信の成功を示すとき、前記競合端末装置の個数が少なくなれば大きくなり、前記競合端末装置の個数が多くなれば小さくなるように前記報酬を算出する第1の演算処理を実行するとともに、前記チャネル待機時間が短くなれば大きくなり、前記チャネル待機時間が長くなれば小さくなるように前記報酬を算出する第2の演算処理を実行して前記学習処理を実行する、請求項11に記載のコンピュータに実行させるためのプログラム。
  13. 前記学習器は、前記第のステップにおいて、前記競合端末装置の個数が第1の個数であるとき第1の値からなる第1の重み係数を前記スループットに乗算し、前記競合端末装置の個数が前記第1の個数よりも多い第2の個数であるとき第1の値よりも小さい第2の値からなる前記第1の重み係数を前記スループットに乗算して前記第1の演算処理を実行する、請求項12に記載のコンピュータに実行させるためのプログラム。
  14. 前記学習器は、前記第のステップにおいて、前記競合端末装置の個数の逆数を前記第1の重み係数として前記スループットに乗算して前記第1の演算処理を実行する、請求項13に記載のコンピュータに実行させるためのプログラム。
  15. 前記学習器は、前記第のステップにおいて、前記チャネル待機時間が第1の時間長からなるとき、第3の値からなる第2の重み係数を前記スループットに乗算し、前記チャネル待機時間が前記第1の時間長よりも長い第2の時間長からなるとき、前記第3の値よりも小さい第4の値からなる前記第2の重み係数を前記スループットに乗算して前記第2の演算処理を実行する、請求項12から請求項14のいずれか1項に記載のコンピュータに実行させるためのプログラム。
  16. 前記学習器は、前記第のステップにおいて、前記チャネル待機時間の逆数を前記第2の重み係数として前記スループットに乗算して前記第2の演算処理を実行する、請求項15に記載のコンピュータに実行させるためのプログラム。
  17. 前記学習器は、前記第のステップの前記学習処理において、前記入力情報が前記送信不可情報からなるとき、前記報酬を零として前記Q値を更新する、請求項11に記載のコンピュータに実行させるためのプログラム。
  18. 受信手段前記第2のステップにおいて、更に、前記競合端末情報を制御チャネルで前記基地局から受信する、請求項11から請求項17のいずれか1項に記載のコンピュータに実行させるためのプログラム。
  19. 前記通信結果は、前記送信手段が前記送信したいパケットを前記基地局へ送信した後、前記受信手段が前記ACKパケットを前記基地局から受信したとき、第1の指標からなり、前記送信手段が前記送信したいパケットを前記基地局へ送信した後、前記受信手段が前記ACKパケットを前記基地局から受信しないとき、第2の指標からなる、請求項11から請求項18のいずれか1項に記載のコンピュータに実行させるためのプログラム。
  20. 前記送信手段は、前記第1のステップにおいて、前記第1の条件に加え、前記送信用チャネルにおけるキャリアセンスの結果、前記複数の端末装置のうちの前記送信元の端末装置以外の他の端末装置が前記送信用チャネルで通信していないことからなる第2の条件が満たされたとき、バックオフを実行せずに前記送信したいパケットを前記送信用チャネルで前記基地局へ送信する、請求項11から請求項19のいずれか1項に記載のコンピュータに実行させるためのプログラム。
  21. 請求項11から請求項20のいずれか1項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2020055284A 2020-03-26 2020-03-26 端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 Active JP7341430B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020055284A JP7341430B2 (ja) 2020-03-26 2020-03-26 端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020055284A JP7341430B2 (ja) 2020-03-26 2020-03-26 端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2021158458A JP2021158458A (ja) 2021-10-07
JP7341430B2 true JP7341430B2 (ja) 2023-09-11

Family

ID=77918555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020055284A Active JP7341430B2 (ja) 2020-03-26 2020-03-26 端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP7341430B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018182405A (ja) 2017-04-05 2018-11-15 株式会社国際電気通信基礎技術研究所 チャネル状態予測装置、チャネル状態予測方法、無線通信装置および無線通信方法
WO2018235311A1 (en) 2017-06-19 2018-12-27 Mitsubishi Electric Corporation NETWORK SYSTEM AND NETWORK DEVICE FOR THE COEXISTENCE OF A HALOW WI-FI NETWORK AND A LOW-RATE WIRELESS PERSONNEL NETWORK (LR-WPAN)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018182405A (ja) 2017-04-05 2018-11-15 株式会社国際電気通信基礎技術研究所 チャネル状態予測装置、チャネル状態予測方法、無線通信装置および無線通信方法
WO2018235311A1 (en) 2017-06-19 2018-12-27 Mitsubishi Electric Corporation NETWORK SYSTEM AND NETWORK DEVICE FOR THE COEXISTENCE OF A HALOW WI-FI NETWORK AND A LOW-RATE WIRELESS PERSONNEL NETWORK (LR-WPAN)

Also Published As

Publication number Publication date
JP2021158458A (ja) 2021-10-07

Similar Documents

Publication Publication Date Title
EP1686699B1 (en) Radio communication device and semiconductor integrated circuit device used for the same
US8724477B2 (en) Communication terminal tranmitting or receiving a signal according to a set timing determined by a maximum or minimum value of a backoff time and control apparatus communication method, computer program and integrated circuit performing the same
JP2007068171A (ja) 無線チャンネルの品質測定方法及びその測定装置
US9210055B2 (en) Device and method for computation of channel loss rate and collision loss rate of communication link(s) in a random access network
RU2005111551A (ru) Модифицированная методика планирования для системы связи
JP5871100B2 (ja) コグニティブ無線システム、及びそのリソース割り当てデバイスと方法
US9980290B2 (en) System and method for adaptive back-off time determination
US8891374B2 (en) Wireless communication device and wireless communication device control method
CN102379135B (zh) 用于改善无线网状网络的管理的方法及装置
CN108307439B (zh) 一种在大量多跳无线节点下的自适应退避方法
US20100302961A1 (en) Method for resolving network contention
US7729266B2 (en) Network load detection system, method, apparatus, and program
JP5076380B2 (ja) 無線通信システム、無線基地局、無線端末装置、無線通信制御方法及び無線通信制御プログラム
JP7341430B2 (ja) 端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2020537373A (ja) 搬送波選択方法、端末装置、及びコンピュータ記憶媒体
KR100454686B1 (ko) 블루투스 통신용 적응형 주파수 호핑 시퀀스 생성방법
KR101488666B1 (ko) 무선 통신 시스템에서의 데이터 신호 송신 방법 및 데이터 신호 수신 방법
US20130021967A1 (en) Low power radio device and radio resource sharing method for low power radio device
JP4519535B2 (ja) データ通信装置、データ通信方法、データ通信プログラム、通信チャンネル選択装置および通信チャンネル選択プログラム
JP4291200B2 (ja) 無線通信シミュレーション方法及び無線通信シミュレータ
JP7370018B2 (ja) 端末装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体
Woo et al. Knowledge-based exponential backoff scheme in IEEE 802.15. 4 MAC
KR101470873B1 (ko) 인지 무선 통신 시스템
CN108462516B (zh) 无线网络适应装置及方法
JP7272606B2 (ja) 制御装置、それを備えた基地局、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230822

R150 Certificate of patent or registration of utility model

Ref document number: 7341430

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150