本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による通信システムの概略図である。図1を参照して、この発明の実施の形態による通信システム100は、制御装置10と、BSS_0〜BSS_N(Nは、1,2,3,・・・)とを備える。
BSS_0〜BSS_Nの各々は、アクセスポイントAPと端末装置TMとからなるBSS(Basic Service Set)である。以下、BSSを「サービスセット」と言う。
サービスセットBSS_0は、アクセスポイントAP_0と端末装置TM_0とからなる。サービスセットBSS_1は、アクセスポイントAP_1と端末装置TM_1とからなる。サービスセットBSS_2は、アクセスポイントAP_2と端末装置TM_2とからなる。以下、同様にして、サービスセットBSS_Nは、アクセスポイントAP_Nと端末装置TM_Nとからなる。
アクセスポイントAP_0〜AP_Nは、それぞれ、タイムスロットを用いて端末装置TM_0〜TM_Nと相互に無線通信を行う。そして、アクセスポイントAP_0〜AP_Nのうち、制御対象のアクセスポイントAP_CTLは、フレームを端末装置(制御対象のアクセスポイントと同じサービスセットに含まれる端末装置)へ送信し、その後、端末装置(制御対象のアクセスポイントと同じサービスセットに含まれる端末装置)からACKを受信したか否かにによってフレームの端末装置(制御対象のアクセスポイントと同じサービスセットに含まれる端末装置)への送信が成功したか失敗したかを判定することによってフレームの端末装置(制御対象のアクセスポイントと同じサービスセットに含まれる端末装置)への送信が成功したか失敗したかを示す成功/失敗情報IF_SUCCESS/FAILUREを検出する。この場合、制御対象のアクセスポイントAP_CTLは、端末装置(制御対象のアクセスポイントと同じサービスセットに含まれる端末装置)からACKを受信したとき、フレームの端末装置(制御対象のアクセスポイントと同じサービスセットに含まれる端末装置)への送信が成功したと判定し、端末装置(制御対象のアクセスポイントと同じサービスセットに含まれる端末装置)からACKを受信しないとき、フレームの端末装置(制御対象のアクセスポイントと同じサービスセットに含まれる端末装置)への送信が失敗したと判定する。
そして、制御対象のアクセスポイントAP_CTLは、送信者としての自己のMACアドレスAdd_AP_0と、フレームを送信したときの送信レートTR_rateと、フレームの送信区間(=フレームの送信に用いたタイムスロットの開始時刻tSTARTと終了時刻tEND)と、次にフレームを送信するタイミングであるフレーム送信タイミングTG_TRとからなる冗長検査情報IF_RCHKを生成する。冗長検査情報IF_RCHKは、無線通信によって送信されるフレームの損失原因の特定に有益な情報であり、かつ、無線通信を実行することによって観測できない情報である。
また、制御対象のアクセスポイントAP_CTLは、成功/失敗情報IF_SUCCESS/FAILUREからなる観測情報IF_OBVを生成する。なお、成功/失敗情報IF_SUCCESS/FAILUREは、フレームを送信した後に、ACKを受信したか否かを検出することによって得られるので、観測情報IF_OBVである。つまり、観測情報IF_OBVは、無線通信を実行することによって観測できる情報である。
そうすると、制御対象のアクセスポイントAP_CTLは、冗長検査情報IF_RCHKおよび観測情報IF_OBVを有線ケーブルを介して制御装置10へ送信する。
アクセスポイントAP_0〜AP_Nのうち、制御対象外のアクセスポイントAP_UNCTLは、タイムスロットごとのフレームの送信の有無を示す送信スケジュール情報IF_SCH_TRを作成する。この場合、制御対象外のアクセスポイントAP_UNCTLは、送信スケジュールをランダムに決定する。そして、制御対象外のアクセスポイントAP_UNCTLは、有線ケーブルを介して、送信スケジュール情報IF_SCH_TRを制御装置10へ送信する。
なお、図1においては、サービスセットBSS_0〜BSS_Nの各々は、1つのアクセスポイントAPと1つの端末装置TMとからなるように示されているが、この発明の実施の形態においては、これに限らず、サービスセットBSS_0〜BSS_Nの各々は、1つのアクセスポイントAPと複数の端末装置TMとからなっていてもよい。
制御装置10は、有線ケーブルを介してアクセスポイントAP_0〜AP_Nと接続されている。そして、制御装置10は、有線ケーブルを介して制御対象のアクセスポイントAP_CTLから冗長検査情報IF_RCHKと観測情報IF_OBVとを収集し、制御対象外のアクセスポイントAP_UNCTLから送信スケジュール情報IF_SCH_TRを収集する。
制御装置10は、冗長検査情報IF_RCHK、観測情報IF_OBVおよび送信スケジュール情報IF_SCH_TRに基づいて、後述する方法によって、強化学習であるQ学習を実行し、最大のQ値と、最大のQ値が得られるときの制御対象外のアクセスポイントAP_UNCTLの状態と、最大のQ値が得られるときの制御対象のアクセスポイントAP_CTLの行動とを取得する。そして、制御装置10は、Q学習によって得られた最大のQ値と、最大のQ値が得られるときの制御対象外のアクセスポイントAP_UNCTLの状態と、最大のQ値が得られるときの制御対象のアクセスポイントAP_CTLの行動とからなる出力情報IF_OUTに基づいてフレームの送信の可否を決定するように制御対象のアクセスポイントAP_CTLを制御する。
[実施の形態1]
図2は、実施の形態1による制御装置10の概略図である。図2を参照して、制御装置10は、収集手段1と、データベース2と、制御手段3と、学習器4とを備える。
収集手段1は、有線ケーブル5を介して制御対象のアクセスポイントAP_CTLから冗長検査情報IF_RCHKおよび観測情報IF_OBVを受信し、制御対象外のアクセスポイントAP_UNCTLから送信スケジュール情報IF_SCH_TRを受信する。
そして、収集手段1は、その受信した冗長検査情報IF_RCHKおよび観測情報IF_OBVと、送信スケジュール情報IF_SCH_TRとをデータベース2に格納する。
データベース2は、冗長検査情報IF_RCHK、観測情報IF_OBVおよび送信スケジュール情報IF_SCH_TRを記憶する。
制御手段3は、(N+1)個のアクセスポイントAP_0〜AP_Nのうちの1個のアクセスポイントを制御対象のアクセスポイントAP_CTLとして選択する。実施の形態1においては、制御手段3は、アクセスポイントAP_0を制御対象のアクセスポイントAP_CTLとして選択するものとする。その結果、N個のアクセスポイントAP_1〜AP_Nは、制御対象外のアクセスポイントAP_UNCTLとなる。
制御手段3は、冗長検査情報IF_RCHK、観測情報IF_OBVおよび送信スケジュール情報IF_SCH_TRをデータベース2から読み出す。そして、制御手段3は、アクセスポイントAP_0が制御対象のアクセスポイントAP_CTLであることを示す信号S_CTL_AP(AP_0)を生成する。その後、制御手段3は、信号S_CTL_AP(AP_0)、冗長検査情報IF_RCHK、観測情報IF_OBVおよび送信スケジュール情報IF_SCH_TRを学習器4へ出力する。
また、制御手段3は、出力情報IF_OUTを学習器4から受ける。この出力情報IF_OUTは、最大のQ値と、最大のQ値が得られるときの制御対象外のアクセスポイントAP_1〜AP_Nの状態と、最大のQ値が得られるときの制御対象のアクセスポイントAP_0の行動とからなる。そして、制御手段3は、出力情報IF_OUTを受けると、その受けた出力情報IF_OUTを有線ケーブル5を介して制御対象のアクセスポイントAP_0へ出力し、出力情報IF_OUTに基づいて次のフレームの送信時(次に使用するタイムスロット)にフレームの送信の可否を決定するように制御対象のアクセスポイントAP_0を制御する。
学習器4は、信号S_CTL_AP(AP_0)、冗長検査情報IF_RCHK、観測情報IF_OBVおよび送信スケジュール情報IF_SCH_TRを制御手段3から受ける。そして、学習器4は、信号S_CTL_AP(AP_0に基づいて、アクセスポイントAP_0が制御対象のアクセスポイントAP_CTLであり、アクセスポイントAP_1〜AP_Nが制御対象外のアクセスポイントAP_UNCTLであることを検知する。
そうすると、学習器4は、冗長検査情報IF_RCHK、観測情報IF_OBVおよび送信スケジュール情報IF_SCH_TRを入力情報として、後述する方法によって、強化学習であるQ学習を実行し、出力情報IF_OUTを制御手段3へ出力する。
図3は、冗長検査情報IF_RCHKおよび観測情報IF_OBVの記憶状態を示す概念図である。
図3を参照して、冗長検査情報IF_RCHKおよび観測情報IF_OBVは、テーブルTBL1−1に格納される。テーブルTBL1−1は、名前と、送信者と、送信区間と、送信レートと、成功/失敗情報と、フレーム送信タイミングとを含む。
名前、送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングは、相互に対応付けられる。
送信者は、制御対象であるアクセスポイントAP_0のMACアドレスAdd_AP_0からなる。送信区間は、アクセスポイントAP_0がフレームの送信に用いたタイムスロットの開始時刻および終了時刻[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・からなる。送信レートは、TR_rate_0_1,TR_rate_0_2,・・・からなる。そして、送信レートTR_rate_0_1,TR_rate_0_2,・・・は、それぞれ、送信区間[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・に対応付けられる。
成功/失敗情報は、“0”または“1”(=0/1)からなる。“0”は、フレームの送信が失敗したことを表し、“1”は、フレームの送信が成功したことを表す。そして、各成功/失敗情報は、それぞれ、送信区間[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・および送信レートTR_rate_0_1,TR_rate_0_2,・・・に対応付けられる。
フレーム送信タイミングTG_TR_0は、アクセスポイントAP_0が次にフレームを送信するタイムスロットの開始時刻tSTART_next_0からなる。
収集手段1は、アクセスポイントAP_0から冗長検査情報IF_RCHKおよび観測情報IF_OBVを受信すると、冗長検査情報IF_RCHKに含まれる送信者、送信区間、送信レートおよびフレーム送信タイミングと、観測情報IF_OBVに含まれる成功/失敗情報IF_SUCCESS/FAILUREとをデータベース2内のテーブルTBL1−1に格納する。
図4は、制御対象外のアクセスポイントAP_UNCTLの送信スケジュール情報IF_SCH_TRの記憶状態を示す概念図である。
図4を参照して、送信スケジュール情報IF_SCH_TRは、テーブルTBL2−1に格納される。テーブルTBL2−1は、名前と、送信者と、送信スケジュールとを含む。名前、送信者および送信スケジュールは、相互に対応付けられる。
送信者は、制御対象外であるアクセスポイントAP_1〜AP_NのMACアドレスAdd_AP_1〜Add_AP_Nからなる。
送信スケジュールは、タイムスロットの開始時刻および終了時刻“[tSTART_1_1,tEND_1_1],[tSTART_1_2,tEND_1_2],・・・”、“[tSTART_2_1,tEND_2_1],[tSTART_2_2,tEND_2_2],・・・”、“[tSTART_3_1,tEND_3_1],[tSTART_3_2,tEND_3_2],・・・”、・・・、“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”からなる。
送信スケジュール[tSTART_1_1,tEND_1_1],[tSTART_1_2,tEND_1_2],・・・は、送信者Add_AP_1に対応付けられ、送信スケジュール[tSTART_2_1,tEND_2_1],[tSTART_2_2,tEND_2_2],・・・は、送信者Add_AP_2に対応付けられ、送信スケジュール[tSTART_3_1,tEND_3_1],[tSTART_3_2,tEND_3_2],・・・は、送信者Add_AP_3に対応付けられ、以下、同様にして、送信スケジュール[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・は、送信者Add_AP_Nに対応付けられる。
学習器4におけるQ学習について説明する。学習器4は、制御対象のアクセスポイントAP_0から見た状態・行動・報酬を設計する。
状態は、タイムスロットごとに、制御対象外のアクセスポイントAP_1〜AP_Nが送信しているか否かによって決定される。そのため、状態集合Sは、次式によって定義される。
式(1)において、Nは、制御対象外のアクセスポイントAP_UNCTLの個数である。また、式(1)におけるSAP_i(i=1,2,・・・,N)は、アクセスポイントAP_iがそれぞれ通信を行っているかを表す集合である。そして、集合SAP_iは、次式によって表される。
式(2)において、“0”は、通信を行っていない状態を表し、“1”は、通信を行っている状態を表す。
行動は、各タイムスロットごとに送信しない、または1Mbit/slot,2Mbit/slot,3Mbit/slotのいずれかの送信レートで送信する、の4通りである。そのため、アクセスポイントAP_0の行動集合A0は、次式によって定義される。
式(3)において、“0”は、送信を行わない行動を表し、“1”,“2”,“3”は、それぞれ、1Mbit/slot,2Mbit/slot,3Mbit/slotの送信レートで送信を行う行動を表す。
Q学習のQテーブルの更新式は、次式によって表される。
式(4)において、stは、t番目のタイムスロットにおける制御対象外のアクセスポイントAP_1〜AP_Nの状態を表し、atは、t番目のタイムスロットにおける制御対象のアクセスポイントAP_0の行動を表し、rt+1は、(t+1)番目のタイムスロットにおける報酬を表す。また、αは、学習率であり、γは、割引率である。
この発明の実施の形態においては、状態、行動および報酬の組は、各タイムスロットで完全に独立である。その理由は、全てのアクセスポイントのキューには、常に、パケットが溜まっていると仮定しており、各アクセスポイントが通信を行うか否かで決定される状態および行動は、過去の通信の失敗/成功および/または過去の通信の伝送速度に依存しないからである。また、報酬も、現在のタイムスロットのみに着眼し、そのタイムスロットにおいて送信に成功したデータ量としているため、現在の状態および行動のみに依存する。従って、報酬も、過去には、一切、依存しない。つまり、即時報酬の最大化のみを考えれば、累積報酬も最大化される。よって、式(4)において、累積報酬についてのハイパーパラメータである割引率γを“0”に設定する。その結果、Qテーブルの更新式は、次式によって表される。
式(5)は、割引率γが“0”に設定されたQテーブルの更新式である。
従って、この発明の実施の形態においては、式(5)を用いて各タイムスロットごとにQテーブルの更新を行う。
図5は、制御対象外のアクセスポイントの状態を説明するための図である。図5を参照して、時刻t1〜t2のタイムスロットSlot_1においては、制御対象外のアクセスポイントAP_1が送信を行っている状態であり、時刻t2〜t3のタイムスロットSlot_2においては、制御対象外のアクセスポイントAP_Nが送信を行っている状態である。
また、時刻t3〜t4のタイムスロットSlot_3においては、制御対象外の全てのアクセスポイントAP_1〜AP_Nが送信を行っていない状態であり、時刻t4〜t5のタイムスロットSlot_4においては、制御対象外のアクセスポイントAP_1,AP_Nが送信を行っている状態である。
従って、制御対象外のアクセスポイントAP_1〜AP_Nから収集した送信スケジュール情報IF_SCH_TRを参照すれば、各タイムスロットSlotにおいて、制御対象外のアクセスポイントAP_1〜AP_Nの状態(=0または1)を容易に決定することができる。
制御対象のアクセスポイントAP_0は、タイムスロットSlot_1において、制御対象外のアクセスポイントAP_1がフレームの送信を行っている状態で3Mbit/slotの送信レートでフレームを送信し、端末装置TM_0からのACKの有無によってフレームの送信が成功したか失敗したかを示す成功/失敗情報IF_SUCCESS/FAILUREを検出する。そして、制御対象のアクセスポイントAP_0は、その検出した成功/失敗情報IF_SUCCESS/FAILUREからなる観測情報IF_OBVを制御装置10へ送信する。
また、制御対象のアクセスポイントAP_0は、タイムスロットSlot_3において、制御対象外のアクセスポイントAP_1〜AP_Nの全てがフレームの送信を行っていない状態で1Mbit/slotの送信レートでフレームを送信し、端末装置TM_0からのACKの有無によってフレームの送信が成功したか失敗したかを示す成功/失敗情報IF_SUCCESS/FAILUREを検出する。そして、制御対象のアクセスポイントAP_0は、その検出した成功/失敗情報IF_SUCCESS/FAILUREからなる観測情報IF_OBVを制御装置10へ送信する。
更に、制御対象のアクセスポイントAP_0は、タイムスロットSlot_4において、制御対象外のアクセスポイントAP_1,AP_Nがフレームの送信を行っている状態で2Mbit/slotの送信レートでフレームを送信し、端末装置TM_0からのACKの有無によってフレームの送信が成功したか失敗したかを示す成功/失敗情報IF_SUCCESS/FAILUREを検出する。そして、制御対象のアクセスポイントAP_0は、その検出した成功/失敗情報IF_SUCCESS/FAILUREからなる観測情報IF_OBVを制御装置10へ送信する。
なお、1Mbit/slotの“slot”は、1つのタイムスロットの開始時刻tSTARTと終了時刻tENDとによって算出される1つのタイムスロットの時間長を意味するので、1Mbit/slotの送信レートの単位は、[Mbit/s]である。2Mbit/slotおよび3Mbit/slotの送信レートの単位についても同様である。
この発明の実施の形態においては、報酬は、あるタイムスロットにおいて制御対象のアクセスポイントAP_0が送信に成功したデータ量である。そして、他の通信と衝突することを避けるために他の通信と衝突してしまった場合には、負の報酬(=−1)を与える。
以下においては、制御対象外のアクセスポイントAP_1〜AP_Nの個数Nを3個に設定して、この発明の実施の形態によるQ学習の方法について説明する。
図6は、Qテーブルの概念図である。制御対象外のアクセスポイントAP_1〜AP_3の各々は、通信を行っている状態(=1)と、通信を行っていない状態(=0)との2つの状態を取り得るので、制御対象外の3個のアクセスポイントAP_1〜AP_3を3ビットの数値[n1,n2,n3]で表す。例えば、n1は、アクセスポイントAP_1の状態を表し、n2は、アクセスポイントAP_2の状態を表し、n3は、アクセスポイントAP_3の状態を表す。そして、n1,n2,n3の各々は、“0”または“1”からなる。
その結果、制御対象外の3個のアクセスポイントAP_1〜AP_3の取り得る状態stの数は、図6に示すように[0,0,0]〜[1,1,1]の8個である。
また、制御対象のアクセスポイントAP_0の行動atは、上述したように、[0,1,2,3]の4個である。
従って、Qテーブルは、8行×4列の行列によって表され、32個のQ値(=Q1,1〜Q8,4)を含む。
32個のQ値(=Q1,1〜Q8,4)の初期値は、“0”である。そして、t番目のタイムスロットにおけるアクセスポイントAP_1〜AP_3が状態st(=[0,0,0]〜[1,1,1]のいずれか)にあり、t番目のタイムスロットにおけるアクセスポイントAP_0が行動atを取ったとき、t番目のタイムスロットにおけるアクセスポイントAP_0の通信の送信レート、t番目のタイムスロットにおける送信区間およびt番目のタイムスロットにおける通信の成功/失敗情報に基づいて、(t+1)番目のタイムスロットにおける報酬rt+1が算出される。
より具体的には、t番目のタイムスロットにおける通信の成功/失敗情報が“1”からなる場合、報酬rt+1=[送信レート]×[t番目のタイムスロットにおける送信区間(=t番目のタイムスロットの時間長)]によって算出される。一方、t番目のタイムスロットにおける通信の成功/失敗情報が“0”からなる場合、報酬rt+1=−1となる。
また、学習率αは、予め、0<α<1を満たすように所定の値に設定されている。そうすると、t番目のタイムスロットにおける制御対象外のアクセスポイントAP_1〜AP_3の状態stと制御対象のアクセスポイントAP_0の行動atとに対応するQ値(=Qs,a)と、報酬rt+1と、学習率αとを式(5)に代入してQ値(=Qs,a)を更新する。
そして、t番目のタイムスロットにおけるアクセスポイントAP_0の行動atを決定する場合、ε−greedy法が用いられる。このε−greedy法は、ある一定の小さい数ε(例えば、0.3)を決定しておき、発生した乱数がε以下であるとき、行動atをランダムに決定し、発生した乱数がε以下でないとき、行動atをQ値が最大である行動に決定する方法である。
図7から図9は、それぞれ、Qテーブルの更新方法を説明するための第1から第3の概略図である。また、図10は、制御対象外のアクセスポイントAP_1〜AP_3のフレームの送信スケジュール情報を示す図である。
図7を参照して、Q学習の初期状態においては、Qテーブルの全てのQ値(Q1,1〜Q8,4)は、“0”である(図7の(a)参照)。
そして、学習器4は、データベース2に格納された制御対象外のアクセスポイントAP_1〜AP_3の送信スケジュール情報IF_SCH_TRに基づいてアクセスポイントAP_1〜AP_3の状態stを決定する。
図10に示すように、制御対象のアクセスポイントAP_0は、タイムスロットSlot_5において3Mbit/slotの送信レートでフレームを送信し、成功/失敗情報IF_SUCCESS/FAILUREからなる観測情報IF_OBVを制御装置10へ送信する。そして、制御対象のアクセスポイントAP_0は、タイムスロットSlot_xの開始時刻にフレーム送信タイミングを有する。
その結果、制御対象のアクセスポイントAP_0が3Mbit/slotの送信レートでフレームを送信した時点からフレーム送信タイミングまでの間にタイムスロットSlot_6,Slot_7,Slot_8,Slot_9,・・・が存在する。タイムスロットSlot_6においては、制御対象外のアクセスポイントAP_1〜AP_3のうち、アクセスポイントAP_1のみがフレームの送信を予定しており、タイムスロットSlot_7においては、制御対象外のアクセスポイントAP_1〜AP_3のうち、アクセスポイントAP_3のみがフレームの送信を予定しており、タイムスロットSlot_8においては、制御対象外のアクセスポイントAP_1〜AP_3の全てがフレームの送信を予定しておらず、タイムスロットSlot_9においては、制御対象外のアクセスポイントAP_1〜AP_3のうち、アクセスポイントAP_1,AP_3がフレームの送信を予定している。
従って、制御対象外のアクセスポイントAP_1〜AP_3の送信スケジュール情報IF_SCH_TRを参照すれば、制御対象外のアクセスポイントAP_1〜AP_3の状態stとして複数の状態が存在する。
そこで、学習器4は、例えば、アクセスポイントAP_1〜AP_3の状態stを[1,0,0]に決定したものとする。
学習器4は、アクセスポイントAP_1〜AP_3の状態stを決定すると、乱数を発生し、その発生した乱数がε以下であるか否かによって上述したようにε−greedy法によってアクセスポイントAP_0の行動atを決定する。この場合、Qテーブルの全てのQ値(Q1,1〜Q8,4)が“0”であるので(即ち、最大のQ値が1つに決定されないので)、学習器4は、乱数がε以下であるか否かに拘わらず、ランダムにアクセスポイントAP_0の行動atを決定する。そして、学習器4は、例えば、アクセスポイントAP_0の行動atを“1”(1Mbit/slotの送信レートで送信する行動)に決定したものとする。
そうすると、学習器4は、データベース2のテーブルTBL1−1からアクセスポイントAP_0がフレームを送信したときの送信区間、送信レートおよび成功/失敗情報IF_SUCCESS/FAILUREを読み出し、その読み出した送信区間、送信レートおよび成功/失敗情報IF_SUCCESS/FAILUREに基づいて(t+1(=2))番目のタイムスロットにおける報酬rt+1を算出する。
より具体的には、学習器4は、1Mbit/slotの送信レートで送信したときの成功/失敗情報IF_SUCCESS/FAILUREを検出する。即ち、学習器4は、1Mbit/slotの送信レートに対応付けられた成功/失敗情報IF_SUCCESS/FAILUREを検出する。この成功/失敗情報IF_SUCCESS/FAILUREが“1”からなるとき、学習器4は、送信区間からフレームの送信時間長を算出し、その算出したフレームの送信時間長に送信レート(=1Mbit/slot)を乗算して報酬rt+1を算出する。
一方、成功/失敗情報IF_SUCCESS/FAILUREが“0”からなるとき、学習器4は、報酬rt+1を“−1”として算出する。
その後、学習器4は、算出した報酬rt+1と、予め設定されたαと、t番目のタイムスロットにおけるQ値(状態[1,0,0]と行動(=“1”)とに対応する初期状態のQ値=Qs,a)とを式(5)に代入してQ値をQ値(=q2,2)に更新する。この場合、t番目のタイムスロットにおけるQ値(=Qs,a)は、“0”であるので(図7の(a)参照)、更新されたQ値(=Q2,2)は、実質的には、αrt+1に等しい。
そうすると、学習器4は、Qテーブルにおいて、状態st(=[1,0,0])と行動at(=“1”)とに対応するQ値(=Q2,2=0)をQ値(=q2,2)に更新する(図7の(b)参照)。
引き続いて、学習器4は、例えば、制御対象外のアクセスポイントAP_1〜AP_3の送信スケジュール情報IF_SCH_TRに基づいて、アクセスポイントAP_1〜AP_3の状態stを[0,0,1]に決定する。
次に、学習器4は、ε−greedy法によってアクセスポイントAP_0の行動atを決定する。この場合、学習器4は、発生した乱数がε以下であるとき、アクセスポイントAP_0の行動atをランダムに決定する。学習器4は、例えば、アクセスポイントAP_0の行動atを“2”(2Mbit/slotの送信レートで送信する行動)に決定したものとする。
そうすると、学習器4は、データベース2のテーブルTBL1−1からアクセスポイントAP_0がフレームを送信したときの送信区間、送信レートおよび成功/失敗情報IF_SUCCESS/FAILUREを読み出し、その読み出した送信区間、送信レートおよび成功/失敗情報IF_SUCCESS/FAILUREに基づいて(t+1(=2))番目のタイムスロットにおける報酬rt+1を算出する。
より具体的には、学習器4は、2Mbit/slotの送信レートで送信したときの成功/失敗情報IF_SUCCESS/FAILUREを検出する。即ち、学習器4は、2Mbit/slotの送信レートに対応付けられた成功/失敗情報IF_SUCCESS/FAILUREを検出する。この成功/失敗情報IF_SUCCESS/FAILUREが“1”からなるとき、学習器4は、送信区間からフレームの送信時間長を算出し、その算出したフレームの送信時間長に送信レート(=2Mbit/slot)を乗算して報酬rt+1を算出する。
一方、成功/失敗情報IF_SUCCESS/FAILUREが“0”からなるとき、学習器4は、報酬rt+1を“−1”として算出する。
その後、学習器4は、算出した報酬rt+1と、予め設定されたαと、t番目のタイムスロットにおけるQ値(状態[0,0,1]と行動(=“2”)とに対応する初期状態のQ値=Qs,aとを式(5)に代入してQ値=Qs,aをQ値(=q4,3)に更新する。
そうすると、学習器4は、Qテーブルにおいて、状態[0,0,1]と行動(=“2”)とに対応するQ値(=Q4,3=0)をQ値(=q4,3)に更新する(図8の(a)参照)。
一方、学習器4は、発生した乱数がε以下でないとき、アクセスポイントAP_0の行動atをQ値が最大である行動に決定する。この時点では、Qテーブルは、図7の(b)に示す状態になっているので、最大のQ値は、q2,2になる。従って、学習器4は、アクセスポイントAP_0の行動を“1”(1Mbit/slotの送信レートで送信する行動)に決定する。
そして、学習器4は、アクセスポイントAP_0が行動“1”(1Mbit/slotの送信レートで送信する行動)を実行したときの報酬rt+1を上述した方法によって算出し、その算出した報酬rt+1を用いて式(5)によってQ値(=q2,2)をQ値(=q’2,2)に更新する(図8の(b)参照)。
以後、学習器4は、終了条件が満たされるまで、上述した動作を繰り返し実行してQテーブルのQ値を更新する。なお、終了条件は、例えば、上述したQ値の更新が所定回数実行されたときである。
そして、終了条件が満たされた時、Qテーブルは、例えば、図9に示すQテーブルに更新されている。
学習器4は、終了条件が満たされると、終了条件が満たされたときのQテーブル(図9参照)を参照して、Q値(q1,4,q2,2,q3,1,q4,3,q5,2,q6,3,q7,2,q8,1)のうちの最大のQ値と、最大のQ値が得られるときのアクセスポイントAP_1〜AP_3の状態stと、最大のQ値が得られるときのアクセスポイントAP_0の行動atとを検出し、その検出した最大のQ値、最大のQ値が得られるときのアクセスポイントAP_1〜AP_3の状態st、および最大のQ値が得られるときのアクセスポイントAP_0の行動atからなる出力情報IF_OUTを制御手段3へ出力する。
図11は、図2に示す制御装置10の動作を説明するためのフローチャートである。図11を参照して、制御装置10の動作が開始されると、収集手段1は、有線ケーブル5を介して、制御対象のアクセスポイントAP_CTLから冗長検査情報IF_RCHKおよび観測情報IF_OBVを収集する(ステップS1)。
また、収集手段1は、有線ケーブル5を介して、制御対象外のアクセスポイントAP_UNCTLからアクセスポイントAP_UNCTLにおけるフレームの送信スケジュール情報IF_SCH_TRを収集する(ステップS2)。
そして、収集手段1は、冗長検査情報IF_RCHKおよび観測情報IF_OBVをデータベース2のテーブルTLB1−1に格納し(ステップS3)、フレームの送信スケジュール情報IF_SCH_TRをデータベース2のテーブルTLB2−1に格納する(ステップS4)。
その後、制御手段3は、冗長検査情報IF_RCHKおよび観測情報IF_OBVをデータベース2のテーブルTLB1−1から読み出し、フレームの送信スケジュール情報IF_SCH_TRをデータベース2のテーブルTLB2−1から読み出す。そして、制御手段3は、制御対象のアクセスポイントAP_CTLを示す信号S_CTL_APを生成する。
そうすると、制御手段3は、信号S_CTL_AP、冗長検査情報IF_RCHK、観測情報IF_OBVおよびフレームの送信スケジュール情報IF_SCH_TRを学習器4に出力する(ステップS5)。
学習器4は、信号S_CTL_AP、冗長検査情報IF_RCHK、観測情報IF_OBVおよびフレームの送信スケジュール情報IF_SCH_TRを制御手段3から受ける。そして、学習器4は、信号S_CTL_APに基づいて、制御対象のアクセスポイントAP_CTLと制御対象外のアクセスポイントAP_UNCTLとを検知する。
そうすると、学習器4は、冗長検査情報IF_RCHK、観測情報IF_OBVおよびフレームの送信スケジュール情報IF_SCH_TRに基づいて強化学習(Q学習)を実行し、最大のQ値と、最大のQ値が得られるときの制御対象外のアクセスポイントAP_UNCTLの状態stと、最大のQ値が得られるときの制御対象のアクセスポイントAP_CTLの行動atとからなる出力情報IF_OUTを制御手段3へ出力する(ステップS6)。
制御手段3は、出力情報IF_OUTを学習器4から受け、その受けた出力情報IF_OUTに基づいてフレームの送信の可否を決定するように制御対象のアクセスポイントAP_CTLを制御する(ステップS7)。これによって、制御装置10の動作が終了する。
図12は、図11のステップS6の詳細な動作を説明するためのフローチャートである。図12を参照して、図11のステップS5の後、学習器4は、制御対象のアクセスポイントAP_CTLを示す信号S_CTL_AP、冗長検査情報IF_RCHK、観測情報IF_OBVおよびフレームの送信スケジュール情報IF_SCH_TRを制御手段3から受ける(ステップS61)。
そして、学習器4は、信号S_CTL_APに基づいて、制御対象のアクセスポイントAP_CTLと制御対象外のアクセスポイントAP_UNCTLとを検知する(ステップS62)。
その後、学習器4は、フレームの送信スケジュール情報IF_SCH_TRに基づいて、t番目のタイムスロットにおける制御対象外のアクセスポイントAP_UNCTLの状態stを決定する(ステップS63)。
引き続いて、学習器4は、ε−greedy法に基づいて、t番目のタイムスロットにおける制御対象のアクセスポイントAP_CTLの行動atを決定する(ステップS64)。
そうすると、学習器4は、制御対象外のアクセスポイントAP_UNCTLの状態が状態stにあるときに、制御対象のアクセスポイントAP_CTLが行動atを実行したときの(t+1)番目のタイムスロットにおける報酬rt+1を算出する(ステップS65)。より具体的には、学習器4は、冗長検査情報IF_RCHKに含まれる送信区間、送信レート、および送信レートに対応付けられた成功/失敗情報IF_SUCCESS/FAILUREに基づいて報酬rt+1を算出する。この場合、学習器4は、成功/失敗情報IF_SUCCESS/FAILUREが“1”からなる場合、送信区間の開始時刻tSTARTおよび終了時刻tENDから算出したフレームの送信時間長を送信レートに乗算して報酬rt+1を算出する。一方、成功/失敗情報IF_SUCCESS/FAILUREが“0”からなる場合、学習器4は、報酬rt+1を“−1”に設定することによって報酬rt+1を算出する。
学習器4は、報酬rt+1を算出すると、その算出した報酬rt+1と、学習率αと、状態stおよび行動atに対応するQ値(=Qs,a)とを式(5)に代入してQ値(=Qs,a)を更新する。そして、学習器4は、その更新したQ値(=Qs,a)によって、状態stおよび行動atに対応するQテーブルのQ値を更新する。即ち、学習器4は、報酬rt+1を用いて、状態stおよび行動atに対応するQテーブルのQ値を更新する(ステップS66)。
そうすると、学習器4は、終了条件が成立するか否かを判定する(ステップS67)。ステップS67において、終了条件が成立しないと判定されたとき、一連の動作は、ステップS63へ移行し、ステップS67において、終了条件が成立すると判定されるまで、ステップS63〜ステップS67が繰り返し実行される。
そして、ステップS67において、終了条件が成立すると判定されると、学習器4は、最大のQ値と、最大のQ値が得られるときの制御対象外のアクセスポイントAP_UNCTLの状態stと、最大のQ値が得られるときの制御対象のアクセスポイントAP_CTLの行動atとからなる出力情報IF_OUTを制御手段3へ出力する(ステップS68)。その後、一連の動作は、図11のステップS7へ移行する。
ステップS67においては、上述したQ値の更新が所定回数実行されたときに終了条件が成立すると説明したが、この発明の実施の形態においては、これに限らず、終了条件は、制御対象のアクセスポイントAP_CTLのフレーム送信タイミングが到来したときに成立することにしてもよい。この場合、情報検査情報IF_RCHKは、終了条件を含むことになる。
なお、制御装置10の動作は、ソフトウェアによって実現されてもよい。この場合、制御装置10は、CPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)を備える。そして、ROMは、図11に示すフローチャート(図12に示すフローチャートを含む)の各ステップからなるプログラムProg_Aを記憶する。
CPUは、ROMからプログラムProg_Aを読み出し、その読み出したプログラムProg_Aを実行して、制御対象のアクセスポイントAP_CTLを制御する。
また、プログラムProg_Aは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_Aを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_Aを読み出して実行し、制御対象のアクセスポイントAP_CTLを制御する。
従って、プログラムProg_Aを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
図13は、サービスセットBSS_0〜BSS_3の距離関係を示す図である。図13を参照して、サービスセットBSS_0とサービスセットBSS_1の距離は、“2”であり、サービスセットBSS_0とサービスセットBSS_2の距離は、“3”であり、サービスセットBSS_1とサービスセットBSS_2の距離は、“1”であり、サービスセットBSS_1とサービスセットBSS_3の距離は、“2”であり、サービスセットBSS_2とサービスセットBSS_3の距離は、“2”である。
この発明の実施の形態においては、サービスセットBSS間の距離を簡単のために、“1”,“2”,“3”と、干渉無しの4段階に仮定する。
距離1の関係は、他の通信が存在した場合、1Mbit/slot以上の伝送速度の通信が失敗する距離関係を示す。距離2の関係は、他の通信が存在した場合、2Mbit/slot以上の伝送速度の通信が失敗する距離関係を示す。距離3の関係は、他の通信が存在した場合、3Mbit/slot以上の伝送速度の通信が失敗する距離関係を示す。
次に、上述した方法によって制御対象のアクセスポイントAP_CTLを制御したときのシミュレーションについて説明する。シミュレーションの諸元を表1に示す。
シミュレーションにおいては、制御対象のアクセスポイントAP_0以外のアクセスポイントの台数Nを“3”とする。そして、制御対象のアクセスポイントAP_0と、制御対象のアクセスポイントAP_0以外のアクセスポイントとの距離関係として図13に示す関係を仮定する。また、50タイムスロットを1ステップとして、各ステップごとに評価を行った。
[比較方式]
(比較方式の方策)
比較方式は、伝送速度とタイムスロットごとの送信確率を変更可能なパラメータとしたとき、他のアクセスポイントと情報のやりとりをせずに、自身の通信の成功/失敗のみからヒューリスティックにパラメータを変更する方式である。
より具体的には、この方式では、50タイムスロットごとに自分の通信の成功確率を算出し、それに応じてパラメータを変更する。今回のシミュレーションでは、通信成功率が70%以上であれば、フレーム損失がなければ伝送速度向上が期待される方向にパラメータを変更し、一方、通信成功率が50%以下であれば、フレーム損失確率の減少が期待される(結果として伝送速度向上が期待される)方向にパラメータを変更することとした。
パラメータを変更する方法は、以下の通りである。
・ 通信成功率が70%以上のとき
伝送速度を1段階上げる。加えて送信確率を[0,10]%の間で一様分布に従って決定して上げる。
・ 通信成功率が50%以下のとき
伝送速度を1段階下げる。加えて送信確率を[0,20]%の間で一様分布に従って決定して下げる。
図14は、提案方式と比較方式のシミュレーションの結果を示す図である。図14において、縦軸は、各ステップにおいて制御対象のアクセスポイントAP_CTLが通信に成功したデータ量を表し、横軸は、経過したステップ数を表す。また、曲線k1は、提案方式(即ち、この発明の実施の形態における方法によって制御する方式、以下、同じ。)を示し、曲線k2は、比較方式を示す。
図14を参照して、提案方式が比較方式よりもスループットが高い値で収束していることが分かる。また、提案方式が比較方式よりもスループットのばらつきが小さいことが分かる。
図15は、各ステップにおける制御対象のアクセスポイントの衝突確率を示す図である。図15において、縦軸は、衝突確率を表し、横軸は、ステップを表す。また、“状態なし”は、制御対象外のアクセスポイントが送信しているか、送信していないかについての情報が無いことにより、制御対象外のアクセスポイントの状態を知ることができないことを表す。
図15を参照して、提案方式は、学習が進むにつれて衝突確率が小さく抑えられていることが分かる。
図16は、提案方式のQテーブルを示す図である。図17は、比較方式のQテーブルを示す図である。なお、図16および図17は、2000ステップの学習後のQテーブルを示す。また、図16において、Stateの軸における3桁の数字は、左からアクセスポイントAP_1、アクセスポイントAP_2およびアクセスポイントAP_3の状態を示す。
提案方式において衝突確率が小さくなった理由を考える。最初に、制御対象であるアクセスポイントAP_0の通信が衝突する場合を挙げる。図13より、アクセスポイントAP_1が送信しているとき、アクセスポイントAP_0が2Mbit/slot,3Mbit/slotの送信レートでフレームを送信すると、衝突により送信に失敗する。
また、アクセスポイントAP_2が送信しているとき、アクセスポイントAP_0が3Mbit/slotの送信レートでフレームを送信すると、衝突により送信に失敗する。
次に、衝突する場合のQテーブルの値を考える。図16を参照して、提案方式では、アクセスポイントAP_0は、これらの衝突が起こる行動のQテーブルの値が、同じ状態において他の行動のQテーブルの値より低くなっている。つまり、アクセスポイントAP_1若しくはアクセスポイントAP_2が通信を行っている状態s=(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1)のとき、アクセスポイントAP_0の伝送速度が3Mbit/slotであるQテーブルの値(Q function)が低くなっている。同様に、アクセスポイントAP_1が通信を行っている状態s=(1,0,0),(1,0,1),(1,1,0),(1,1,1)のとき、アクセスポイントAP_0の伝送速度が2Mbit/slotであるQテーブルの値(Q function)が低くなっている。従って、提案方式では、衝突によって送信が失敗する行動を取ろうとはせず、衝突確率が小さいと考えられる。
引き続いて、提案方式のスループットが比較方式に比べて高い値で収束している理由を考える。図16より、他の通信との衝突が起こらない場合は、伝送速度が大きい行動ほどQテーブルの値(Q function)が大きくなっている。その結果、提案方式では、衝突が起こらない中で最もスループットが大きくなる伝送速度を選択することができていると考えられる。
図17より、他のアクセスポイントの情報を用いずに強化学習を行う方式では、他のアクセスポイントの通信の有無に関わらず期待報酬が最大である伝送速度が1Mbit/slotである通信を常に行うようになる。従って、比較方式においては、他の通信がない場合にも、伝送速度が1Mbit/slotである通信を行っており、その分、提案方式に比べてスループットが低下していると考えられる。
このように、提案方式を用いることによって他の通信との衝突を回避しつつ、可能な限り高い伝送速度を用いることができ、スループットを向上できる。
上述した図11に示すフローチャート(図12に示すフローチャートを含む)を実行することによって、最大のQ値と、最大のQ値が得られるときの制御対象外のアクセスポイントAP_UNCTLの状態stと、最大のQ値が得られるときの制御対象のアクセスポイントAP_CTLの行動atとが得られ、これらは、出力情報IF_OUTとして制御対象のアクセスポイントAP_CTLであるアクセスポイントAP_0へ送信される。
最大のQ値は、報酬rtの累積値からなり、報酬rtは、アクセスポイントAP_0が通信に成功したデータ量である。その結果、最大のQ値は、アクセスポイントAP_0が通信に成功した最大のデータ量(即ち、最大のスループット)からなる。
また、行動atは、通信をしない、1Mbit/slotの送信レートで通信を行う、2Mbit/slotの送信レートで通信を行う、3Mbit/slotの送信レートで通信を行う、のいずれかからなる。
従って、制御装置10が出力情報IF_OUTをアクセスポイントAP_0へ出力することによって、アクセスポイントAP_0は、出力情報IF_OUTを参照して通信を行うか否かを決定するので、アクセスポイントAP_0の送信レートを制御して最大のスループットを得られるようにアクセスポイントAP_0を制御できる。
また、Q学習においては、制御対象であるアクセスポイントAP_0の行動atを決定するが(図12のステップS64参照)、この行動atは、通信をしない、1Mbit/slotの送信レートで通信を行う、2Mbit/slotの送信レートで通信を行う、3Mbit/slotの送信レートで通信を行う、のいずれかからなり、1Mbit/slot,2Mbit/slot,3Mbit/slotの各送信レートは、上述したように通信が失敗する距離を表す(図13参照)。そして、通信が失敗することは、フレームが損失することである。従って、1Mbit/slot,2Mbit/slot,3Mbit/slotの送信レートを入力情報としてQ学習を実行することによって、フレーム損失の原因の解析精度を向上できる。つまり、アクセスポイントAP_0は、出力情報IF_OUTに基づいて3Mbit/slotの送信レートでフレームを送信した結果、通信が失敗したとき、サービスセットBSS_2のアクセスポイントAP_2による通信との干渉が原因で通信に失敗したと解析できる(図13参照)。また、1Mbit/slot,2Mbit/slotのいずれかの送信レートでフレームを送信したときに、通信が失敗したときも同様である。このように、フレーム損失の原因の解析精度の向上は、観測情報IF_OBVを用いても実現できないことであり、送信レートという冗長検査情報IF_RCHKを用いるので実現できることである。従って、特に、無線区間で直接観測できない要因によるフレーム損失の原因の解析精度を向上できる。
なお、図13に示すサービスセットBSS_0〜BSS_3の距離関係は、図16に示すQテーブルに基づいて作成されたものである。
また、実施の形態1においては、制御対象のアクセスポイントAP_CTLは、アクセスポイントAP_0以外のアクセスポイントAP_1〜AP_Nであってもよく、一般的には、アクセスポイントAP_0〜AP_Nのうちのいずれかであればよい。
更に、図11および図12においては、制御対象のアクセスポイントAP_CTLがアクセスポイントAP_0であり、制御対象外のアクセスポイントAP_UNCTLが3個のアクセスポイントAP_1〜AP_3である場合を用いて制御装置10の動作を説明したが、実施の形態1においては、これに限らず、制御対象のアクセスポイントAP_CTLがアクセスポイントAP_0であり、制御対象外のアクセスポイントAP_UNCTLがN個のアクセスポイントAP_1〜AP_Nである場合も、制御装置10の動作は、図11に示すフローチャート(図12に示すフローチャートを含む)に従って実行される。
[実施の形態2]
図18は、実施の形態2による制御装置の概略図である。図18を参照して、実施の形態2による制御装置10Aは、図2に示す制御装置10の収集手段1、制御手段3および学習器4をそれぞれ収集手段1A、制御手段3Aおよび学習器4Aに変えたものであり、その他は、制御装置10と同じである。
実施の形態2においては、各サービスセットBSSには、複数の端末装置が配置されている。
また、実施の形態2においては、制御対象のアクセスポイントAP_CTLからの冗長検査情報を「冗長検査情報IF_RCHK_AP」と表記し、制御対象の端末装置TM_CTLからの冗長検査情報を「冗長検査情報IF_RCHK_TM」と表記する。
更に、実施の形態2においては、制御対象外のアクセスポイントAP_UNCTLから収集する送信スケジュール情報を「送信スケジュール情報IF_SCH_TR_AP」と表記し、制御対象外の端末装置TM_UNCTLから収集する送信スケジュール情報を「送信スケジュール情報IF_SCH_TR_TM」と表記する。
更に、実施の形態2においては、制御対象のアクセスポイントAP_CTLの観測情報を「観測情報IF_OBV_AP」と表記し、制御対象の端末装置TM_CTLの観測情報を「観測情報IF_OBV_TM」と表記する。
制御装置10Aの収集手段1Aは、制御対象のアクセスポイントAP_CTLから冗長検査情報IF_RCHK_APを収集する。また、収集手段1Aは、制御対象のアクセスポイントAP_CTLを介して、制御対象の端末装置TM_CTLから冗長検査情報IF_RCHK_TMを収集するとともに、制御対象外の端末装置TM_UNCTLの送信スケジュール情報IF_SCH_TR_TMを収集する。
冗長検査情報IF_RCHK_TMは、端末装置TM_0がアクセスポイントAP_0へフレームを送信する通信における冗長検査情報である。つまり、冗長検査情報IF_RCHK_TMは、上りリンクにおける通信における冗長検査情報である。従って、制御対象の端末装置TM_CTLは、あるタイムスロットにおいて制御対象のアクセスポイントAP_CTLへフレームを送信したとき、送信者と、送信区間と、送信レートと、フレーム送信タイミングとを含む冗長検査情報IF_RCHK_TMを生成し、その生成した冗長検査情報IF_RCHK_TMを制御対象のアクセスポイントAP_CTLへ送信する。
なお、IEEE802.11axにおいては、上りリンクにおいてOFDMA(Orthogonal Frequency Division Multiple Access)またはMU−MIMO(Multi User MIMO(Multiple-Input and Multiple-Output))が規定されており、これらは、アクセスポイントが端末装置のフレーム送信タイミングを指定するものである。従って、アクセスポイントが指定する端末装置のフレーム送信タイミングを冗長検査情報IF_RCHK_TMとすることができる。
冗長検査情報IF_RCHK_APは、実施の形態1において説明した冗長検査情報IF_RCHKと同じである。
制御対象のアクセスポイントAP_CTLは、制御対象の端末装置TM_CTLがフレームを制御対象のアクセスポイントAP_CTLへ送信したときの通信が成功したか失敗したかを検出できる。従って、制御対象のアクセスポイントAP_CTLは、自己が制御対象の端末装置TM_CTLへフレームを送信したときの通信が成功したか失敗したかを示す成功/失敗情報IF(AP)_SUCCESS/FAILUREからなる観測情報IF_OBV_APと、制御対象の端末装置TM_CTLがフレームを制御対象のアクセスポイントAP_CTLへ送信したときの通信が成功したか失敗したかを示す成功/失敗情報IF(TM)_SUCCESS/FAILUREからなる観測情報IF_OBV_TMを生成し、その生成した観測情報IF_OBV_AP,IF_OBV_TMを制御装置10Aへ送信する。
また、制御対象のアクセスポイントAP_CTLは、制御対象外の端末装置TM_UNCTLとも通信を行うので、制御対象外の端末装置TM_UNCTLの送信スケジュール情報を検出できる。従って、制御対象のアクセスポイントAP_CTLは、制御対象外の端末装置TM_UNCTLの送信スケジュール情報IF_SCH_TR_TMを制御装置10Aへ送信する。
収集手段1Aは、制御対象のアクセスポイントAP_CTLから、[冗長検査情報IF_RCHK_AP/観測情報IF_OBV_AP]を収集するとともに、[冗長検査情報IF_RCHK_TM/観測情報IF_OBV_TM/送信スケジュール情報IF_SCH_TR_TM]を収集する。
そして、収集手段1Aは、冗長検査情報IF_RCHK_APおよび観測情報IF_OBV_APを相互に対応付けてデータベース2に格納する。また、収集手段1Aは、冗長検査情報IF_RCHK_TMおよび観測情報IF_OBV_TMを相互に対応付けてデータベース2に格納する。更に、収集手段1Aは、送信スケジュール情報IF_SCH_TR_TMをデータベース2に格納する。
収集手段1Aは、その他、収集手段1と同じ機能を果たす。
制御手段3Aは、制御対象のアクセスポイントを示す信号S_CTL_APを生成するとともに、制御対象の端末装置を示す信号S_CTL_TMを生成する。
そして、制御手段3Aは、冗長検査情報IF_RCHK_AP、観測情報IF_OBV_AP、および送信スケジュール情報IF_SCH_TR_APをデータベース2から読み出す。その後、制御手段3Aは、制御対象のアクセスポイントを示す信号S_CTL_AP、冗長検査情報IF_RCHK_AP、観測情報IF_OBV_AP、および送信スケジュール情報IF_SCH_TR_APを学習器4Aへ出力する。
制御手段3Aは、制御対象のアクセスポイントAP_CTLに対する出力情報IF_OUT_APを学習器4Aから受けると、制御対象の端末装置を示す信号S_CTL_TM、冗長検査情報IF_RCHK_TM、観測情報IF_OBV_TM、および送信スケジュール情報IF_SCH_TR_TMを学習器4Aへ出力する。
その後、制御手段3Aは、学習器4Aから制御対象の端末装置TM_CTLに対する出力情報IF_OUT_TMを学習器4Aから受ける。
そうすると、制御手段3Aは、出力情報IF_OUT_APに基づいて制御対象のアクセスポイントAP_CTLを制御するとともに、出力情報IF_OUT_TMに基づいて制御対象の端末装置TM_CTLを制御するように制御対象のアクセスポイントAP_CTLを制御する。
学習器4Aは、制御対象のアクセスポイントを示す信号S_CTL_AP、冗長検査情報IF_RCHK_AP、観測情報IF_OBV_AP、および送信スケジュール情報IF_SCH_TR_APを制御手段3Aから受けると、制御対象のアクセスポイントを示す信号S_CTL_AP、冗長検査情報IF_RCHK_AP、観測情報IF_OBV_AP、および送信スケジュール情報IF_SCH_TR_APに基づいて、上述した方法によって強化学習(Q学習)を実行し、出力情報IF_OUT_APを制御手段3Aへ出力する。
また、学習器4Aは、制御対象の端末装置を示す信号S_CTL_TM、冗長検査情報IF_RCHK_TM、観測情報IF_OBV_TM、および送信スケジュール情報IF_SCH_TR_TMを制御手段3Aから受けると、制御対象の端末装置を示す信号S_CTL_TM、冗長検査情報IF_RCHK_TM、観測情報IF_OBV_TM、および送信スケジュール情報IF_SCH_TR_TMに基づいて、上述した方法によって強化学習(Q学習)を実行し、出力情報IF_OUT_TMを制御手段3Aへ出力する。
図19は、冗長検査情報IF_RCHK_TMおよび観測情報IF_OBV_TMの記憶状態を示す概念図である。
図19を参照して、冗長検査情報IF_RCHK_TMおよび観測情報IF_OBV_TMは、テーブルTBL3−1に格納される。なお、図19においては、端末装置TM_0を制御対象の端末装置TM_CTLとし、アクセスポイントAP_0を制御対象のアクセスポイントAP_CTLとして、冗長検査情報IF_RCHK_TMおよび観測情報IF_OBV_TMの記憶状態を示す。
テーブルTBL3−1は、名前と、送信者と、送信区間と、送信レートと、成功/失敗情報と、フレーム送信タイミングとを含む。
名前、送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングは、相互に対応付けられる。
送信者は、制御対象である端末装置TM_0のMACアドレスAdd_TM_0からなる。送信区間は、端末装置TM_0がフレームの送信に用いたタイムスロットの開始時刻および終了時刻[tSTART_0_3,tEND_0_3],[tSTART_0_4,tEND_0_4],・・・からなる。送信レートは、TR_rate(TM)_0_1,TR_rate(TM)_0_2,・・・からなる。そして、送信レートTR_rate(TM)_0_1,TR_rate(TM)_0_2,・・・は、それぞれ、送信区間[tSTART_0_3,tEND_0_3],[tSTART_0_4,tEND_0_4],・・・に対応付けられる。
成功/失敗情報については、図3に示すテーブルTBL1−1において説明した通りである。そして、各成功/失敗情報は、それぞれ、送信区間[tSTART_0_3,tEND_0_3],[tSTART_0_4,tEND_0_4],・・・および送信レートTR_rate(TM)_0_1,TR_rate(TM)_0_2,・・・に対応付けられる。
フレーム送信タイミングTG_TR_TM_0は、端末装置TM_0が次にフレームを送信するタイムスロットの開始時刻tSTART_nextからなる。
収集手段1Aは、アクセスポイントAP_0から冗長検査情報IF_RCHK_TMおよび観測情報IF_OBV_TMを受信すると、冗長検査情報IF_RCHK_TMに含まれる送信者、送信区間、送信レートおよびフレーム送信タイミングと、観測情報IF_OBV_TMに含まれる成功/失敗情報IF(TM)_SUCCESS/FAILUREとをデータベース2内のテーブルTBL3−1に格納する。
図20は、制御対象外の端末装置TM_UNCTLの送信スケジュール情報IF_SCH_TR_TMの記憶状態を示す概念図である。
図20を参照して、送信スケジュール情報IF_SCH_TR_TMは、テーブルTBL4−1に格納される。テーブルTBL4−1は、名前と、送信者と、送信スケジュールとを含む。名前、送信者および送信スケジュールは、相互に対応付けられる。
送信者は、制御対象外である端末装置TM_0_1〜TM_0_JのMACアドレスAdd_TM_0_1〜Add_TM_0_Jからなる。
送信スケジュールは、タイムスロットの開始時刻および終了時刻“[tSTART_0_1_1,tEND_0_1_1],[tSTART_0_1_2,tEND_0_1_2],・・・”、“[tSTART_0_2_1,tEND_0_2_1],[tSTART_0_2_2,tEND_0_2_2],・・・”、“[tSTART_0_3_1,tEND_0_3_1],[tSTART_0_3_2,tEND_0_3_2],・・・”、・・・、“[tSTART_0_J_1,tEND_0_J_1],[tSTART_0_J_2,tEND_0_J_2],・・・”からなる。
送信スケジュール[tSTART_0_1_1,tEND_0_1_1],[tSTART_0_1_2,tEND_0_1_2],・・・は、送信者Add_TM_0_1に対応付けられ、送信スケジュール[tSTART_0_2_1,tEND_0_2_1],[tSTART_0_2_2,tEND_0_2_2],・・・は、送信者Add_TM_0_2に対応付けられ、送信スケジュール[tSTART_0_3_1,tEND_0_3_1],[tSTART_0_3_2,tEND_0_3_2],・・・は、送信者Add_TM_0_3に対応付けられ、以下、同様にして、送信スケジュール[tSTART_0_J_1,tEND_0_J_1],[tSTART_0_J_2,tEND_0_J_2],・・・は、送信者Add_TM_0_Jに対応付けられる。
なお、実施の形態2においては、テーブルTBL3−1,TBL4−1に追加して、図3に示すテーブルTBL1−1および図4に示すテーブルTBL2−1がデータベース2に格納される。
図21は、Qテーブルの概念図である。なお、図21においては、制御対象外の端末装置TM_UNCTLを3個の端末装置TM_0_1〜TM_0_3としてQテーブルを説明する。
図21に示すQテーブルは、制御対象の端末装置TM_0_0を制御するときのQテーブルである。従って、Qテーブルは、制御対象外の端末装置TM_0_1〜TM_0_3の状態stと、制御対象の端末装置TM_0_0の行動atとによって構成される。
そして、Qテーブルに記載された3桁の数字は、左から、端末装置TM_0_1、端末装置TM_0_2および端末装置TM_0_3の送信の有無を示す。従って、[0,0,0]は、端末装置TM_0_1、端末装置TM_0_2およびTM_0_3の全てが送信しない状態を示し、[1,0,0]は、端末装置TM_0_1〜TM_0_3のうち、端末装置TM_0_1のみが送信する状態を示し、[1,1,0]は、端末装置TM_0_1〜TM_0_3のうち、端末装置TM_0_1,TM_0_2が送信する状態を示し、[1,1,1]は、端末装置TM_0_1、端末装置TM_0_2およびTM_0_3の全てが送信する状態を示す。その他の3桁の数字についても同様である。
図21に示すQテーブルのその他の説明は、図6における説明と同じである。
図22は、図18に示す制御装置10Aの動作を説明するためのフローチャートである。
図22を参照して、制御装置10Aの動作が開始されると、収集手段1Aは、有線ケーブル5を介して、制御対象のアクセスポイントAP_CTLの冗長検査情報IF_RCHK_APおよび観測情報IF_OBV_APと、制御対象の端末装置の冗長検査情報IF_RCHK_TMおよび観測情報IF_OBV_TMと、制御対象外の端末装置におけるフレームの送信スケジュール情報IF_SCH_TR_TMとを制御対象のアクセスポイントAP_CTLから収集する(ステップS11)。
また、収集手段1Aは、有線ケーブル5を介して、制御対象外のアクセスポイントAP_UNCTLからアクセスポイントAP_UNCTLにおけるフレームの送信スケジュール情報IF_SCH_TR_APを収集する(ステップS12)。
そして、収集手段1Aは、制御対象のアクセスポイントAP_CTLの冗長検査情報IF_RCHK_APおよび観測情報IF_OBV_APをデータベース2のテーブルTLB1−1に格納し(ステップS13)、制御対象外のアクセスポイントAP_UNCTLにおけるフレームの送信スケジュール情報IF_SCH_TR_APをデータベース2のテーブルTLB2−1に格納する(ステップS14)。
引き続いて、収集手段1Aは、制御対象の端末装置TM_CTLの冗長検査情報IF_RCHK_TMおよび観測情報IF_OBV_TMをデータベース2のテーブルTLB3−1に格納し(ステップS15)、制御対象外の端末装置TM_UNCTLにおけるフレームの送信スケジュール情報IF_SCH_TR_TMをデータベース2のテーブルTLB4−1に格納する(ステップS16)。
そうすると、制御手段3Aは、制御対象のアクセスポイントAP_CTLの冗長検査情報IF_RCHK_APおよび観測情報IF_OBV_APをデータベース2のテーブルTLB1−1から読み出し、制御対象外のアクセスポイントAP_UNCTLにおけるフレームの送信スケジュール情報IF_SCH_TR_APをデータベース2のテーブルTLB2−1から読み出す。そして、制御手段3Aは、制御対象のアクセスポイントを示す信号S_CTL_APを生成する。
そうすると、制御手段3Aは、信号S_CTL_AP、冗長検査情報IF_RCHK_AP、観測情報IF_OBV_APおよびフレームの送信スケジュール情報IF_SCH_TR_APを学習器4Aに出力する(ステップS17)。
学習器4Aは、信号S_CTL_AP、冗長検査情報IF_RCHK_AP、観測情報IF_OBV_APおよびフレームの送信スケジュール情報IF_SCH_TR_APを制御手段3Aから受ける。そして、学習器4Aは、信号S_CTL_APに基づいて、制御対象のアクセスポイントAP_CTLと制御対象外のアクセスポイントAP_UNCTLとを検知する。
そうすると、学習器4Aは、冗長検査情報IF_RCHK_AP、観測情報IF_OBV_APおよびフレームの送信スケジュール情報IF_SCH_TR_APに基づいて強化学習(Q学習)を実行し、最大のQ値と、最大のQ値が得られるときの制御対象外のアクセスポイントAP_UNCTLの状態stと、最大のQ値が得られるときの制御対象のアクセスポイントAP_CTLの行動atとからなる出力情報IF_OUT_APを制御手段3Aへ出力する(ステップS18)。
制御手段3Aは、出力情報IF_OUT_APを学習器4Aから受けると、制御対象の端末装置TM_CTLの冗長検査情報IF_RCHK_TMおよび観測情報IF_OBV_TMをデータベース2のテーブルTLB3−1から読み出し、制御対象外の端末装置TM_UNCTLにおけるフレームの送信スケジュール情報IF_SCH_TR_TMをデータベース2のテーブルTLB4−1から読み出す。そして、制御手段3Aは、制御対象の端末装置を示す信号S_CTL_TMを生成する。
そうすると、制御手段3Aは、信号S_CTL_TM、冗長検査情報IF_RCHK_TM、観測情報IF_OBV_TMおよびフレームの送信スケジュール情報IF_SCH_TR_TMを学習器4Aに出力する(ステップS19)。
学習器4Aは、信号S_CTL_TM、冗長検査情報IF_RCHK_TM、観測情報IF_OBV_TMおよびフレームの送信スケジュール情報IF_SCH_TR_TMを制御手段3Aから受ける。そして、学習器4Aは、信号S_CTL_TMに基づいて、制御対象の端末装置TM_CTLと制御対象外の端末装置TM_UNCTLとを検知する。
そうすると、学習器4Aは、冗長検査情報IF_RCHK_TM、観測情報IF_OBV_TMおよびフレームの送信スケジュール情報IF_SCH_TR_TMに基づいて強化学習(Q学習)を実行し、最大のQ値と、最大のQ値が得られるときの制御対象外の端末装置TM_UNCTLの状態stと、最大のQ値が得られるときの制御対象の端末装置TM_CTLの行動atとからなる出力情報IF_OUT_TMを制御手段3Aへ出力する(ステップS20)。
制御手段3Aは、出力情報IF_OUT_AP,IF_OUT_TMを学習器4Aから受け、その受けた出力情報IF_OUT_APに基づいて制御対象のアクセスポイントAP_CTLを制御し、出力情報IF_OUT_TMに基づいて制御対象の端末装置TM_CTLを制御するように制御対象のアクセスポイントAP_CTLを制御する(ステップS21)。これによって、制御装置10Aの動作が終了する。
なお、ステップS18,S20の詳細な動作は、図12に示すフローチャートに従って実行される。図12に示すフローチャートがステップS20の詳細な動作として実行される場合、図12の説明における「アクセスポイント」を「端末装置」と読み替えればよい。
図22に示すフローチャート(図12に示すフローチャートを含む)を実行することによって、アクセスポイントから端末装置へフレームを送信する下りリンクに加え、端末装置からアクセスポイントへフレームを送信する上りリンクについても、実施の形態1において説明した効果を享受できる。
なお、制御装置10Aの動作は、ソフトウェアによって実現されてもよい。この場合、制御装置10Aは、CPU、ROMおよびRAMを備える。そして、ROMは、図22に示すフローチャート(図12に示すフローチャートを含む)の各ステップからなるプログラムProg_Bを記憶する。
CPUは、ROMからプログラムProg_Bを読み出し、その読み出したプログラムProg_Bを実行して、制御対象のアクセスポイントAP_CTLおよび制御対象の端末装置TM_CTLを制御する。
また、プログラムProg_Bは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_Bを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_Bを読み出して実行し、制御対象のアクセスポイントAP_CTLおよび制御対象の端末装置TM_CTLを制御する。
従って、プログラムProg_Bを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
実施の形態2におけるその他の説明は、実施の形態1における説明と同じである。
[実施の形態3]
図23は、実施の形態3による制御装置の概略図である。図23を参照して、実施の形態3による制御装置10Bは、図2に示す制御装置10の収集手段1、制御手段3および学習器4をそれぞれ収集手段1B、制御手段3Bおよび学習器4Bに変えたものであり、その他は、制御装置10と同じである。
収集手段1Bは、アクセスポイントAP_0〜AP_Nの全てから(N+1)個の冗長検査情報IF_RCHK、(N+1)個の観測情報IF_OBVおよび(N+1)個のフレームの送信スケジュール情報IF_SCH_TRを収集する。
そして、収集手段1Bは、1つのアクセスポイントAPについて、冗長検査情報IF_RCHKと観測情報IF_OBVとを相互に対応付けてデータベース2に格納する処理を(N+1)個のアクセスポイントAP_0〜AP_Nの全てについて実行する。また、収集手段1Bは、(N+1)個のフレームの送信スケジュール情報IF_SCH_TRをデータベース2に格納する。
図24は、冗長検査情報IF_RCHKおよび観測情報IF_OBVの実施の形態3における記憶状態を示す概念図である。
図24を参照して、冗長検査情報IF_RCHKおよび観測情報IF_OBVは、テーブルTBL1−2に格納される。テーブルTBL1−2は、図3に示すテーブルTBL1−1と同じ構成からなる。
テーブルTBL1−2は、アクセスポイントAP_1〜AP_Nについての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングをテーブルTBL1−1に追加したものである。
その結果、送信者は、アクセスポイントAP_0〜AP_NのMACアドレスAdd_AP_0〜Add_AP_Nからなる。送信区間は、アクセスポイントAP_0〜AP_Nがフレームの送信に用いたタイムスロットの開始時刻および終了時刻“[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・”;“[tSTART_1_1,tEND_1_1],[tSTART_1_2,tEND_1_2],・・・”;“[tSTART_2_1,tEND_2_1],[tSTART_2_2,tEND_2_2],・・・”;・・・・・;“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”からなる。
送信レートは、“TR_rate_0_1,TR_rate_0_2,・・・”;“TR_rate_1_1,TR_rate_1_2,・・・”;“TR_rate_2_1,TR_rate_2_2,・・・”;・・・;“TR_rate_N_1,TR_rate_N_2,・・・”からなる。そして、送信レートTR_rate_0_1,TR_rate_0_2,・・・は、それぞれ、送信区間[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・に対応付けられる。送信レートTR_rate_1_1,TR_rate_1_2,・・・は、それぞれ、送信区間[tSTART_1_1,tEND_1_1],[tSTART_1_2,tEND_1_2],・・・に対応付けられる。送信レートTR_rate_2_1,TR_rate_2_2,・・・は、それぞれ、送信区間[tSTART_2_1,tEND_2_1],[tSTART_2_2,tEND_2_2],・・・”に対応付けられる。以下、同様にして、送信レートTR_rate_N_1,TR_rate_N_2,・・・は、それぞれ、送信区間[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・に対応付けられる。
成功/失敗情報は、図3において説明した通りである。そして、各成功/失敗情報は、それぞれ、送信区間“[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・”;“[tSTART_1_1,tEND_1_1],[tSTART_1_2,tEND_1_2],・・・”;“[tSTART_2_1,tEND_2_1],[tSTART_2_2,tEND_2_2],・・・”;・・・・・;“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”および送信レート“TR_rate_0_1,TR_rate_0_2,・・・”;“TR_rate_1_1,TR_rate_1_2,・・・”;“TR_rate_2_1,TR_rate_2_2,・・・”;・・・;“TR_rate_N_1,TR_rate_N_2,・・・”に対応付けられる。
フレーム送信タイミングTG_TR_0〜TG_TR_Nは、それぞれ、アクセスポイントAP_0〜AP_Nが次にフレームを送信するタイムスロットの開始時刻tSTART_next_0〜tSTART_next_Nからなる。
収集手段1Bは、アクセスポイントAP_0〜AP_Nから(N+1)個の冗長検査情報IF_RCHKおよび(N+1)個の観測情報IF_OBVを受信すると、1つのアクセスポイント(アクセスポイントAP_0〜AP_Nのいずれか)から受信した冗長検査情報IF_RCHKに含まれる送信者、送信区間、送信レートおよびフレーム送信タイミングと、観測情報IF_OBVに含まれる成功/失敗情報IF_SUCCESS/FAILUREとを相互に対応付けてテーブルTBL1−2に格納する処理を(N+1)個のアクセスポイントAP_0〜AP_Nの全てについて実行する。
その結果、(N+1)個の冗長検査情報IF_RCHKおよび(N+1)個の観測情報IF_OBVは、テーブルTBL1−2に格納される。
図25は、(N+1)個のアクセスポイントAP_0〜AP_Nの送信スケジュール情報IF_SCH_TRの記憶状態を示す概念図である。
図25を参照して、テーブルTBL2−2は、図4に示すテーブルTBL2−1と同じ構成からなる。そして、テーブルTBL2−2は、アクセスポイントAP_0についての送信者および送信スケジュールをテーブルTBL2−1に追加したものである。
アクセスポイントAP_0について、送信者は、アクセスポイントAP_0のMACアドレスAdd_AP_0からなり、送信スケジュールは、[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・からなる。
送信スケジュール[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・は、送信者Add_AP_0に対応付けられる。
このように、実施の形態3においては、データベース2は、テーブルTBL1−1,TBL2−1に代えてテーブルTBL1−2,TBL2−2を格納する。
制御手段3Bは、(N+1)個のアクセスポイントAP_0〜AP_Nから1つのアクセスポイントを制御対象のアクセスポイントAP_CTLとして選択し、その選択したアクセスポイントを実施の形態1における方法によって制御する処理を(N+1)個のアクセスポイントAP_0〜AP_Nの全てについて実行する。
(1)アクセスポイントAP_0が制御対象のアクセスポイントAP_CTLである場合
制御手段3Bは、アクセスポイントAP_0が制御対象のアクセスポイントAP_CTLであることを示す信号S_CTL_AP_0を生成する。そして、制御手段3Bは、データベース2に格納されたテーブルTBL1−2からアクセスポイントAP_0についての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングを読み出す。また、制御手段3Bは、データベース2に格納されたテーブルTBL2−2から制御対象外のアクセスポイントであるアクセスポイントAP_1〜AP_Nについての送信者Add_AP_1〜Add_AP_Nおよび送信スケジュール“[tSTART_1_1,tEND_1_1],[tSTART_1_2,tEND_1_2],・・・”〜“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”を読み出す。
そうすると、制御手段3Bは、信号S_CTL_AP_0と、アクセスポイントAP_0についての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングと、アクセスポイントAP_1〜AP_Nについての送信者Add_AP_1〜Add_AP_Nおよび送信スケジュール“[tSTART_1_1,tEND_1_1],[tSTART_1_2,tEND_1_2],・・・”〜“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”を学習器4Bへ出力する。
学習器4Bは、信号S_CTL_AP_0と、アクセスポイントAP_0についての送信者Add_AP_1〜Add_AP_Nおよび送信スケジュール“[tSTART_1_1,tEND_1_1],[tSTART_1_2,tEND_1_2],・・・”〜“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”を制御手段3Bから受ける。そして、学習器4Bは、信号S_CTL_AP_0に基づいてアクセスポイントAP_0が制御対象のアクセスポイントAP_CTLであり、アクセスポイントAP_1〜AP_Nが制御対象外のアクセスポイントAP_UNCTLであることを検知する。
そして、学習器4Bは、アクセスポイントAP_0についての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングと、アクセスポイントAP_1〜AP_Nについての送信者TR_AP_1〜TR_AP_Nおよび送信スケジュール“[tSTART_1_1,tEND_1_1],[tSTART_1_2,tEND_1_2],・・・”〜“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”に基づいて、実施の形態1において説明した方法によって強化学習(Q学習)を実行し、出力情報IF_OUT_AP_0を制御手段3Bへ出力する。
制御手段3Bは、出力情報IF_OUT_AP_0を学習器4Bから受け、その受けた出力情報IF_OUT_AP_0に基づいてアクセスポイントAP_0を制御する。
(2)アクセスポイントAP_1が制御対象のアクセスポイントAP_CTLである場合
制御手段3Bは、アクセスポイントAP_1が制御対象のアクセスポイントAP_CTLであることを示す信号S_CTL_AP_1を生成する。そして、制御手段3Bは、データベース2に格納されたテーブルTBL1−2からアクセスポイントAP_1についての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングを読み出す。また、制御手段3Bは、データベース2に格納されたテーブルTBL2−2から制御対象外のアクセスポイントであるアクセスポイントAP_0,AP_2〜AP_Nについての送信者Add_AP_0,Add_AP_2〜Add_AP_Nおよび送信スケジュール“[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・”,“[tSTART_2_1,tEND_2_1],[tSTART_2_2,tEND_2_2],・・・”〜“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”を読み出す。
そうすると、制御手段3Bは、信号S_CTL_AP_1と、アクセスポイントAP_1についての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングと、アクセスポイントAP_0,AP_2〜AP_Nについての送信者Add_AP_0,Add_AP_2〜Add_AP_Nおよび送信スケジュール“[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・”,“[tSTART_2_1,tEND_2_1],[tSTART_2_2,tEND_2_2],・・・”〜“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”を学習器4Bへ出力する。
学習器4Bは、信号S_CTL_AP_1と、アクセスポイントAP_1についての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングと、アクセスポイントAP_0,AP_2〜AP_Nについての送信者Add_AP_0,Add_AP_2〜Add_AP_Nおよび送信スケジュール“[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・”,“[tSTART_2_1,tEND_2_1],[tSTART_2_2,tEND_2_2],・・・”〜“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”を制御手段3Bから受ける。そして、学習器4Bは、信号S_CTL_AP_1に基づいてアクセスポイントAP_1が制御対象のアクセスポイントAP_CTLであり、アクセスポイントAP_0,AP_2〜AP_Nが制御対象外のアクセスポイントAP_UNCTLであることを検知する。
そして、学習器4Bは、アクセスポイントAP_1についての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングと、アクセスポイントAP_0,AP_2〜AP_Nについての送信者Add_AP_0,Add_AP_2〜Add_AP_Nおよび送信スケジュール“[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・”,“[tSTART_2_1,tEND_2_1],[tSTART_2_2,tEND_2_2],・・・”〜“[tSTART_N_1,tEND_N_1],[tSTART_N_2,tEND_N_2],・・・”に基づいて、実施の形態1において説明した方法によって強化学習(Q学習)を実行し、出力情報IF_OUT_AP_1を制御手段3Bへ出力する。
制御手段3Bは、出力情報IF_OUT_AP_1を学習器4Bから受け、その受けた出力情報IF_OUT_AP_1に基づいてアクセスポイントAP_1を制御する。
以下、同様にして、
(3)アクセスポイントAP_Nが制御対象のアクセスポイントAP_CTLである場合
制御手段3Bは、アクセスポイントAP_Nが制御対象のアクセスポイントAP_CTLであることを示す信号S_CTL_AP_Nを生成する。そして、制御手段3Bは、データベース2に格納されたテーブルTBL1−2からアクセスポイントAP_Nについての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングを読み出す。また、制御手段3Bは、データベース2に格納されたテーブルTBL2−2から制御対象外のアクセスポイントであるアクセスポイントAP_0〜AP_N−1についての送信者Add_AP_0〜Add_AP_N−1および送信スケジュール“[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・”〜“[tSTART_N−1_1,tEND_N−1_1],[tSTART_N−1_2,tEND_N−1_2],・・・”を読み出す。
そうすると、制御手段3Bは、信号S_CTL_AP_Nと、アクセスポイントAP_Nについての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングと、アクセスポイントAP_0〜AP_N−1についての送信者Add_AP_0〜Add_AP_N−1および送信スケジュール“[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・”〜“[tSTART_N−1_1,tEND_N−1_1],[tSTART_N−1_2,tEND_N−1_2],・・・”を学習器4Bへ出力する。
学習器4Bは、信号S_CTL_AP_Nと、アクセスポイントAP_Nについての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングと、アクセスポイントAP_0〜AP_N−1についての送信者Add_AP_0〜Add_AP_N−1および送信スケジュール“[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・”〜“[tSTART_N−1_1,tEND_N−1_1],[tSTART_N−1_2,tEND_N−1_2],・・・”を制御手段3Bから受ける。そして、学習器4Bは、信号S_CTL_AP_Nに基づいてアクセスポイントAP_Nが制御対象のアクセスポイントAP_CTLであり、アクセスポイントAP_0〜AP_N−1が制御対象外のアクセスポイントAP_UNCTLであることを検知する。
そして、学習器4Bは、アクセスポイントAP_Nについての送信者、送信区間、送信レート、成功/失敗情報およびフレーム送信タイミングと、アクセスポイントAP_0〜AP_N−1についての送信者Add_AP_0〜Add_AP_N−1および送信スケジュール“[tSTART_0_1,tEND_0_1],[tSTART_0_2,tEND_0_2],・・・”〜“[tSTART_N−1_1,tEND_N−1_1],[tSTART_N−1_2,tEND_N−1_2],・・・”に基づいて、実施の形態1において説明した方法によって強化学習(Q学習)を実行し、出力情報IF_OUT_AP_Nを制御手段3Bへ出力する。
制御手段3Bは、出力情報IF_OUT_AP_Nを学習器4Bから受け、その受けた出力情報IF_OUT_AP_Nに基づいてアクセスポイントAP_Nを制御する。
なお、学習器4Bは、アクセスポイントAP_0〜AP_Nのうちのいずれか1つのアクセスポイントが制御対象のアクセスポイントAP_CTLである場合、制御対象外のアクセスポイントAP_UNCTLについてのN個の送信者およびN個の送信スケジュールを制御手段3Bから受けるので、N個の送信者およびN個の送信スケジュールに基づいて制御対象外のアクセスポイントAP_UNCTLの状態stを決定することができる。
図26は、図23に示す制御装置10Bの動作を説明するためのフローチャートである。図26を参照して、制御装置10Bの動作が開始されると、収集手段1Bは、(N+1)個のアクセスポイントAP_0〜AP_Nから(N+1)個の冗長検査情報IF_RCHKおよび(N+1)個の観測情報IF_OBVを収集する(ステップS31)。また、収集手段1Bは、(N+1)個のアクセスポイントAP_0〜AP_Nにおける(N+1)個のフレームの送信スケジュール情報IF_SCH_TR_AP_0〜IF_SCH_TR_AP_Nを(N+1)個のアクセスポイントAP_0〜AP_Nから収集する(ステップS32)。
そして、収集手段1Bは、(N+1)個の冗長検査情報IF_RCHKおよび(N+1)個の観測情報IF_OBVをデータベース2のテーブルTBL1−2に格納し(ステップS33)、(N+1)個のフレームの送信スケジュール情報IF_SCH_TR_AP_0〜IF_SCH_TR_AP_Nをデータベース2のテーブルTBL2−2に格納する(ステップS34)。
その後、制御手段3Bは、m=0を設定する(ステップS35)。なお、m=0,1,2,3,・・・,Nである。
そして、制御手段3Bは、(N+1)個のアクセスポイントAP_0〜AP_Nのうちの1つのアクセスポイントAP_mを制御対象のアクセスポイントAP_CTLとして選択する(ステップS36)。
そうすると、制御手段3Bは、アクセスポイントAP_mについての冗長検査情報IF_RCHKおよび観測情報IF_OBVをテーブルTBL1−2から読み出し、アクセスポイントAP_m以外のアクセスポイントについてのフレームの送信スケジュール情報IF_SCH_TRをテーブルTBL2−2から読み出す。
そして、制御手段3Bは、アクセスポイントAP_mが制御対象のアクセスポイントAP_CTLであることを示す信号S_CTL_AP_mを生成する。その後、制御手段3Bは、信号S_CTL_AP_mと、アクセスポイントAP_mについての冗長検査情報IF_RCHKおよび観測情報IF_OBVと、アクセスポイントAP_m以外のアクセスポイントについてのN個のフレームの送信スケジュール情報IF_SCH_TRとを学習器4Bへ出力する(ステップS37)。
学習器4Bは、信号S_CTL_AP_mと、アクセスポイントAP_mについての冗長検査情報IF_RCHKおよび観測情報IF_OBVと、アクセスポイントAP_m以外のアクセスポイントについてのN個のフレームの送信スケジュール情報IF_SCH_TRとを制御手段3Bから受ける。そして、学習器4Bは、信号S_CTL_AP_mに基づいて、アクセスポイントAP_mが制御対象のアクセスポイントAP_CTLであることを検知するとともに、アクセスポイントAP_m以外のアクセスポイントが制御対象外のアクセスポイントAP_UNCTLであることを検知する。
そうすると、学習器4Bは、アクセスポイントAP_mについての冗長検査情報IF_RCHKおよび観測情報IF_OBVと、アクセスポイントAP_m以外のアクセスポイントについてのN個のフレームの送信スケジュール情報IF_SCH_TRとに基づいて強化学習(Q学習)を実行し、最大のQ値と、最大のQ値が得られるときの制御対象外のアクセスポイントAP_UNCTLの状態stと、最大のQ値が得られるときの制御対象のアクセスポイントAP_mの行動atとからなる出力情報IF_OUT_AP_mを制御手段3Bへ出力する(ステップS38)。
そして、制御手段3Bは、出力情報IF_OUT_AP_mを学習器4Bから受けると、m=N+1であるか否かを判定する(ステップS39)。ステップS39において、m=N+1でないと判定されたとき、制御手段3Bは、m=m+1を設定する(ステップS40)。その後、一連の動作は、ステップS36へ移行し、ステップS39において、m=N+1であると判定されるまで、ステップS36〜ステップS40が繰り返し実行される。
そして、ステップS40において、m=N+1であると判定されると、制御手段3Bは、(N+1)個の出力情報IF_OUT_AP_0〜IF_OUT_AP_Nに基づいて、Q値が収束したか否かを判定する(ステップS41)。この場合、制御手段3Bは、学習器4Bから受けた1つの制御対象のアクセスポイントAP_CTLについての出力情報IF_OUTを保持している。即ち、制御手段3Bは、1つの制御対象のアクセスポイントAP_CTLについて、ステップS36〜ステップS40の実行回数と同じ個数の出力情報IF_OUTを保持している。そして、制御手段3Bは、1個以上の出力情報IF_OUTに基づいて出力情報IF_OUTに含まれる最大のQ値が飽和しているか否かを判定することによってQ値が収束したか否かを判定する処理を(N+1)個の制御対象のアクセスポイントAP_CTLの全てについて実行する。(N+1)個の制御対象のアクセスポイントAP_CTLの全てについてQ値が収束しているとき、制御手段3Bは、ステップS41において、Q値が収束したと判定し、(N+1)個の制御対象のアクセスポイントAP_CTLのうちの少なくとも1つについてQ値が収束していないとき、制御手段3Bは、ステップS41において、Q値が収束していないと判定する。
そして、ステップS41において、Q値が収束していないと判定されたとき、一連の動作は、ステップS35へ移行し、ステップS41において、Q値が収束したと判定されるまで、ステップS35〜ステップS41が繰り返し実行される。
制御手段3Bは、ステップS41において、Q値が収束したと判定されると、(N+1)個の出力情報IF_OUT_0〜IF_OUT_Nに基づいて、それぞれ、(N+1)個の制御対象のアクセスポイントAP_0〜AP_Nを制御する(ステップS42)。これによって、制御装置10Bの動作が終了する。
なお、図26に示すステップS38の詳細な動作は、図12に示すフローチャートによって実行される。そして、図12に示すフローチャートのステップS67において、学習器4Bは、例えば、ステップS63〜ステップS67を1万回繰り返し実行すると、終了条件が成立すると判定する。なお、ステップS63〜ステップS67を繰り返し実行する回数は、1万回以上であればよい。その結果、図26に示すステップS36〜ステップS40を繰り返し実行することによって、ステップS38(図12に示すフローチャート)を1万回づつ実行することを(N+1)個のアクセスポイントAP_0〜AP_Nの全てについて順次実行することになる。そうすると、(N+1)個のアクセスポイントAP_0〜AP_Nの各々について、Q学習の結果(最大のQ値)を収束し易くできるという効果が得られる。従って、複数の制御対象のアクセスポイントAP_CTLについて、実施の形態1において説明した効果を迅速に得ることができる。
また、ステップS36において、制御対象のアクセスポイントAP_mを選択する順番は、ランダムであってもよく、ラウンドロビン方式によって決定されてもよく、前回、送信できなかったアクセスポイントを優先して選択するようにしてもよく、(N+1)個のアクセスポイントAP_0〜AP_NのMACアドレスの順番に選択してもよい。
図26に示すフローチャートによれば、(N+1)個のアクセスポイントAP_0〜AP_Nの全てについて、フレームの送信可否およびフレームを送信するときの送信レートの制御を行うことができる。
なお、制御装置10Bの動作は、ソフトウェアによって実現されてもよい。この場合、制御装置10Bは、CPU、ROMおよびRAMを備える。そして、ROMは、図26に示すフローチャート(図12に示すフローチャートを含む)の各ステップからなるプログラムProg_Cを記憶する。
CPUは、ROMからプログラムProg_Cを読み出し、その読み出したプログラムProg_Cを実行して、複数のアクセスポイントAP_0〜AP_Nを制御する。
また、プログラムProg_Cは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_Cを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_Cを読み出して実行し、複数のアクセスポイントAP_0〜AP_Nを制御する。
従って、プログラムProg_Cを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
なお、実施の形態3においては、上述した実施の形態2において説明した端末装置TMの制御を更に追加してもよい。この場合、制御装置10Bは、制御装置10Aにおける制御対象のアクセスポイントAP_CTLと制御対象の端末装置TM_CTLとを制御する機能を(N+1)個のアクセスポイントAP_0〜AP_Nに適用して(N+1)個の制御対象のアクセスポイントAP_0〜AP_Nと、各制御対象のアクセスポイントと同じサービスセットに含まれる制御対象の端末装置TM_CTLとを制御する。そして、制御装置10Bの動作は、ステップS36〜ステップS41による処理と同じ処理を(N+1)個の制御対象の端末装置TM_CTLについて実行するステップをステップS41とステップS42との間に追加したフローチャートに従って実行される。
実施の形態3におけるその他の説明は、実施の形態1,2における説明と同じである。
この発明の実施の形態においては、各アクセスポイントは、上述した実施の形態1による制御装置10を備えていてもよい。図27は、図1に示す制御装置10を備えるアクセスポイントの概略図である。
図27を参照して、アクセスポイント20は、制御装置10と、アンテナ21と、通信手段22と、ホストシステム23とを備える。
制御装置10は、有線ケーブル5を介して、アクセスポイント20以外のアクセスポイントから送信スケジュール情報IF_SCH_TRを収集するとともに、ホストシステム23からアクセスポイント20の冗長検査情報IF_RCHKおよび観測情報IF_OBVを受ける。
そして、制御装置10は、冗長検査情報IF_RCHK、観測情報IF_OBVおよび送信スケジュール情報IF_SCH_TRに基づいて上述した方法によって強化学習(Q学習)を実行し、最大のQ値、最大のQ値が得られるときのアクセスポイント20以外のアクセスポイントの状態st、および最大のQ値が得られるときのアクセスポイント20の行動atからなる出力情報IF_OUTをホストシステム23へ出力する。
通信手段22は、フレームおよび通信条件(フレームを送信するタイムスロットおよび送信レート)をホストシステム23から受け、その受けた通信条件でフレームをアンテナ21を介して端末装置へ送信する。
また、通信手段22は、アンテナ21を介して端末装置からフレームを受信し、その受信したフレームをホストシステム23へ出力する。
ホストシステム23は、出力情報IF_OUTを制御装置10から受ける。そして、ホストシステム23は、出力情報IF_OUTに基づいてフレームを送信するか否かを決定し、フレームを送信するとき、フレームと、フレームを送信するタイムスロットおよび送信レート(出力情報IF_OUTに含まれる行動atによって決定される送信レート)とを通信手段22へ出力する。また、ホストシステム23は、フレームを通信手段22から受ける。
アクセスポイント20は、制御装置10を備えるので、端末装置との間の無線区間で直接観測できない要因によるフレーム損失の原因の解析精度を向上して端末装置との間の通信におけるスループットを向上できる。
なお、アクセスポイント20は、制御装置10に代えて制御装置10Aを備えていてもよい。この場合、通信手段22は、制御対象の端末装置から冗長検査情報IF_RCHK_TMおよび観測情報IF_OBV_TMを受信するとともに、制御対象外の端末装置から送信スケジュール情報IF_SCH_TG_TMを受信する。そして、通信手段22は、冗長検査情報IF_RCHK_TM、観測情報IF_OBV_TMおよび送信スケジュール情報IF_SCH_TG_TMをホストシステム23へ出力する。
ホストシステム23は、冗長検査情報IF_RCHK_TM、観測情報IF_OBV_TMおよび送信スケジュール情報IF_SCH_TG_TMを通信手段22から受け、その受けた冗長検査情報IF_RCHK_TM、観測情報IF_OBV_TMおよび送信スケジュール情報IF_SCH_TG_TMを制御装置10Aへ出力する。
そして、ホストシステム23は、出力情報IF_OUT_AP,IF_OUT_TMを制御装置10Aから受ける。ホストシステム23は、出力情報IF_OUT_APに基づいてフレームを送信するか否かを決定し、フレームを送信するとき、フレームと、フレームを送信するタイムスロットおよび送信レート(出力情報IF_OUT_APに含まれる行動atによって決定される送信レート)とを通信手段22へ出力する。
また、ホストシステム23は、通信手段22を介して出力情報IF_OUT_TMを制御対象の端末装置TM_CTLへ送信することによって端末装置TM_CTLを制御する。
この発明の実施の形態においては、アクセスポイントAP_0〜AP_Nは、「複数の基地局」を構成する。
また、この発明の実施の形態においては、冗長検査情報IF_RCHKに含まれる送信区間および送信レートは、「報酬基礎情報」を構成し、冗長検査情報IF_RCHKに含まれるフレーム送信タイミングは、「終了条件情報」を構成する。従って、この発明の実施の形態においては、冗長検査情報IF_RCHKは、報酬基礎情報と終了条件情報とを含む。
上述した実施の形態1においては、1つのサービスセットBSS_0に含まれる1つのアクセスポイントAP_0を制御する制御装置10について説明した。また、上述した実施の形態2においては、1つのサービスセットBSS_0に含まれるアクセスポイントAP_0および端末装置TM_0を制御する制御装置10Aについて説明した。更に、上述した実施の形態3においては、複数のサービスセットBSS_0〜BSS_Nに含まれる複数のアクセスポイントAP_0〜AP_Nの各々を制御する制御装置10Bについて説明した。
従って、この発明の実施の形態による制御装置は、少なくとも1つのサービスセットを制御するものであればよい。より具体的には、この発明の実施の形態による制御装置は、基地局と端末装置とを含み、かつ、タイムスロットを用いてフレームを無線通信によって送受信するサービスセットを制御する制御装置であって、
無線通信によって送信されるフレームの損失原因の特定に有益な情報であり、かつ、無線通信を実行することによって観測できない情報である冗長検査情報と、フレームを送信したときにフレームの送信が失敗したか成功したかを示し、かつ、無線通信を実行することによって観測できる情報である成功/失敗情報からなる観測情報とを無線通信環境に存在する複数のサービスセットのうちの制御対象のサービスセットから収集するとともに、フレームの送信スケジュールを複数のサービスセットのうちの制御対象外のサービスセットから収集する収集手段と、
冗長検査情報、観測情報およびフレームの送信スケジュールを入力情報としてQ学習を実行し、Q学習の終了条件が満たされたときの最大のQ値、最大のQ値が得られるときの制御対象外のサービスセットの状態および最大のQ値が得られるときの制御対象のサービスセットの行動を出力情報として出力する学習器と、
学習器から出力情報を受け、その受けた出力情報に基づいて制御対象のサービスセットを制御する制御手段とを備え、
冗長検査情報は、Q学習におけるQテーブルの更新に用いる報酬を算出するための報酬基礎情報を含み、
学習器は、制御対象外のサービスセットの状態と制御対象のサービスセットの行動とによって構成されるQテーブルを保持し、制御対象のサービスセットがε-グリーディ法によって次の行動を選択したときの報酬を報酬基礎情報を用いて演算し、その演算した報酬に基づいて、割引率を零としたQテーブルの更新式を用いてQテーブルを更新する更新処理を終了条件が満たされるまで繰り返し実行して出力情報を前記制御手段へ出力すればよい。
また、この発明の実施の形態によるプログラムは、基地局と端末装置とを含み、かつ、タイムスロットを用いてフレームを無線通信によって送受信するサービスセットの制御をコンピュータに実行させるためのプログラムであって、
収集手段が、無線通信によって送信されるフレームの損失原因の特定に有益な情報であり、かつ、無線通信を実行することによって観測できない情報である冗長検査情報と、フレームを送信したときにフレームの送信が失敗したか成功したかを示し、かつ、無線通信を実行することによって観測できる情報である成功/失敗情報からなる観測情報とを無線通信環境に存在する複数のサービスセットのうちの制御対象のサービスセットから収集するとともに、フレームの送信スケジュールを複数のサービスセットのうちの制御対象外のサービスセットから収集する第1のステップと、
学習器が、冗長検査情報、観測情報およびフレームの送信スケジュールを入力情報としてQ学習を実行し、Q学習の終了条件が満たされたときの最大のQ値、最大のQ値が得られるときの制御対象外のサービスセットの状態および最大のQ値が得られるときの制御対象のサービスセットの行動を出力情報として出力する第2のステップと、
制御手段が、学習器から出力情報を受け、その受けた出力情報に基づいて制御対象のサービスセットを制御する第3のステップとをコンピュータに実行させ、
冗長検査情報は、Q学習におけるQテーブルの更新に用いる報酬を算出するための報酬基礎情報を含み、
学習器は、第2のステップにおいて、制御対象外のサービスセットの状態と制御対象のサービスセットの行動とによって構成されるQテーブルを保持し、制御対象のサービスセットがε-グリーディ法によって次の行動を選択したときの報酬を報酬基礎情報を用いて演算し、その演算した報酬に基づいて、割引率を零としたQテーブルの更新式を用いてQテーブルを更新する更新処理を終了条件が満たされるまで繰り返し実行して出力情報を制御手段へ出力すればよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。