説明

ダイナミックスペクトラムアクセスの最適化

【課題】ダイナミックスペクトラムアクセスを最適化する。
【解決手段】センサデータに基づいて現在の通信環境を取得し、過去の通信事例における通信時の通信環境およびチャネルの性能に関する情報を格納する事例データベースから、現在の通信環境と一致する過去事例を選択して、その事例に含まれるチャネル情報を現在の状況に対するチャネル情報とする。チャネル情報に基づいて利用するチャネルを選択し、選択されたチャネルで通信したときの性能を評価してチャネル報酬を生成し、チャネル報酬に基づいて選択チャネルに関するチャネル情報を更新する。チャネルの選択、チャネルの評価、チャネル情報の更新は繰り返し実行される。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、データ通信システムに関し、より詳細には、車両通信においてダイナミックスペクトラムアクセスを最適化するためのシステムと方法に関する。
【背景技術】
【0002】
離れた相手(たとえば、車両、路側機、インフラシステム、サーバなど)に対してデータ交換やサービスを要求する消費者向け装置がますます車両に組み込まれる傾向にあり、これにより道路上の車両からの無線ネットワークへのアクセス要求が増えている。無線周波数は不十分で貴重な無線通信資源であるので、この不十分な資源を効果的に利用するシステムを提供して、より良いネットワーク性能を達成することが、非常に望ましい。しかし、スペクトラムアクセスのための既存のシステムは、十分効果的ではないことが指摘されており、多数の問題を有している。
【0003】
まず、DSRC(Dedicated Short-Range Communication)のような専用チャネルを用
いる既存のシステムは、高帯域接続を提供することができず、したがって、多量のデータを伝送する必要があるときにチャネルに輻輳が生じることが避けられない。したがって、専用チャネルを用いる既存のシステムでは、多量のデータを送信するサービスを満足に提供することができない。
【0004】
次に、3Gや4Gの携帯ネットワークのような携帯ネットワークを用いている既存のシステムでは、サービス範囲は限られており携帯ネットワークによってカバーされていない場所ではサービスを提供することができない。携帯ネットワークを用いている既存のシステムには、限られたユーザしか提供されるサービスを利用できないという厳しいアクセス制約もある。たとえば、携帯ネットワークの非加入ユーザは、携帯ネットワークを用いてデータ伝送することは許されない。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2011−77623号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の問題点を考慮し、本発明は、ダイナミックスペクトラムアクセスを最適化することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るダイナミックスペクトラムアクセスの最適化方法は、
通信におけるダイナミックスペクトラムアクセスの最適化方法であって、
センサから得られるデータに基づいて現在の状況を取得する状況取得ステップと、
過去の通信事例における、通信時の状況を表すデータと、利用可能なチャネルに関する情報である1つ以上のチャネル情報とを含む事例データを格納する事例データベースから、現在の状況に対応する過去の事例の事例データを決定する一致事例決定ステップと、
一致事例に少なくとも部分的に基づいて、現在の状況に対応する1つ以上のチャネル情報を生成するチャネル情報生成ステップと、
前記1つ以上のチャネル情報に少なくとも部分的に基づいて、前記1つ以上のチャネル情報のいずれかのチャネル情報と関連づけられた第1のチャネルを選択する選択ステップと、
前記第1のチャネルの性能を評価し、前記第1のチャネルの第1のチャネル報酬を生成する評価ステップと、
前記第1のチャネル報酬に少なくとも部分的に基づいて、前記第1のチャネルのチャネル情報である第1のチャネル情報を更新する更新ステップと、
を含む。
【0008】
また、本発明における前記一致事例決定ステップは、
過去に通信を行った際の状況とチャネルの性能が含まれる事例データを前記事例データベースから読み出すステップと、
前記読み出された事例データにおける状況と、現在の状況との類似度を算出するステップと、
前記読み出された事例データの中から、類似度が最も高い事例データを選択するステップと、
を含んでもよい。
【0009】
また、本発明における前記評価ステップは、
第1のチャネルが利用可能な確率である第1のチャネルのチャネル機会を予測するステップと、
第1のチャネルのチャネルスループットを決定するステップと、
第1のチャネルのチャネル機会とチャネルスループットとに少なくとも部分的に基づいて第1のチャネル報酬を生成するステップと、
を含んでもよい。
【0010】
また、本発明において、前記更新ステップ実行後に、更新された第1のチャネル情報を含む前記1つ以上のチャネル情報に基づいて、前記選択ステップ、前記評価ステップ、前記更新ステップを繰り返して実行してもよい。
【0011】
また、本発明において、前記更新ステップにおいて更新された第1のチャネル情報を含む前記1つ以上のチャネル情報を含む現在の状況に対する事例データを、将来的に履歴データとして利用可能なように事例データベースに記憶するステップをさらに含んでもよい。
【0012】
また、本発明において、前記第1のチャネル情報は、過去の実績に基づいて求められるチャネルの性能を表すチャネル値、将来的なチャネルの性能の予測を表すチャネルインデックス、および、チャネルの利用回数を含んでもよい。
【0013】
また、本発明における前記更新ステップでは、
前記第1のチャネル情報に含まれるチャネル利用回数を増加させ、
前記第1のチャネル情報に含まれるチャネル値を、更新前のチャネル値と前記第1のチャネル報酬とに基づいて更新し、
前記第1のチャネル情報に含まれるチャネルインデックスを、更新後のチャネル値に、利用可能なチャネルの全体の利用回数と第1のチャネルの利用回数とに基づいて算出される値を加えた値として更新してもよい。
【0014】
なお、本発明は、上記処理の少なくとも一部を含むダイナミックスペクトラムアクセスの最適化方法として捉えることができる。また、上記処理を行う少なくとも一部の手段を含む無線通信装置として捉えることもできる。また、上記方法をコンピュータに実行させるためのコンピュータプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0015】
本発明によれば、ダイナミックスペクトラムアクセスにおいて最適なチャネルを選択することができる。
【図面の簡単な説明】
【0016】
【図1】一実施形態におけるダイナミックスペクトラムアクセスを最適化するためのシステムを説明する概要ブロック図である。
【図2】一実施形態にかかるコグニティブエンジンを示すブロック図である。
【図3】一実施形態にかかる認知データベースを示すブロック図である。
【図4A】一実施形態にかかるダイナミックスペクトラムアクセスの最適化方法を示すフローチャートである。
【図4B】一実施形態にかかるダイナミックスペクトラムアクセスの最適化方法を示すフローチャートである。
【図5A】別の実施形態にかかるダイナミックスペクトラムアクセスの最適化方法を示すフローチャートである。
【図5B】別の実施形態にかかるダイナミックスペクトラムアクセスの最適化方法を示すフローチャートである。
【図5C】別の実施形態にかかるダイナミックスペクトラムアクセスの最適化方法を示すフローチャートである。
【図6A】一実施形態にかかるチャネル機会決定方法を示すフローチャートである。
【図6B】一実施形態にかかるチャネル機会決定方法を示すフローチャートである。
【図7】一実施形態にかかるチャネルスループット決定方法を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下の説明および添付の図面は本発明を説明するための例示であり、本発明を限定するものではない。図面においては、同様の要素には同一の参照符号を付してある。
【0018】
以下では、ダイナミックスペクトラムアクセスを最適化するシステムと方法について説明する。以下の説明では、本発明を十分に理解できるように、多くの詳細について説明する。しかしながら、各実施形態において、これらの具体的な詳細を含まずに本発明を実施しても良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。たとえば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【0019】
本明細書における「一実施形態」または「ある実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴・構造・性質が少なくとも本発明の一つの実施形態に含まれることを意味する。「一実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
【0020】
また、本明細書においては、記載の簡略化のために各要素の数については、特に必要な場合以外は明示しない。すなわち、本明細書における「要素Aを含む」等という表現は、少なくとも一つ以上の要素Aを含むことを意味し、要素Aを一つだけ含む場合と、二つ以上の複数個を含む場合の両方を意味する。また、同様に記載の簡略化のために、「Aに基づいてBを行う」という記載は「少なくとも部分的にAに基づいて処理Bを行う」ことを意味する。この表現は、処理Bを行う際にAに基づいていれば、A以外の要素を考慮に入れていても良いし、Aのみに基づいていても構わない。
【0021】
以下の詳細な説明の一部は、有形(非一時的)なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において(また一般に)アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である
【0022】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算(処理)」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的(電子的)量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【0023】
本発明は本明細書で説明される動作を実行する装置にも関する。本発明に係る装置は要求される目的のための特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー(登録商標)ディスク・光ディスク・CD−ROM・MOディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、有形(非一時的)のコンピュータ可読記憶媒体に記憶される。
【0024】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
【0025】
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【0026】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも1つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
【0027】
入力/出力(I/O)装置は、例えばキーボード、ディスプレイ、ポインティング装置
などであるが、これらはI/Oコントローラを介して直接あるいは間接的にシステムに接続される。
【0028】
システムにはネットワークアダプタもシステムに接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット(登録商標)は、現在利用可能なネットワークアダプタのほんの一例である。
【0029】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがってプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、 本発明は、任意の特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【0030】
<システム概要>
図1は、一実施形態にかかるダイナミックスペクトラムアクセスを最適化するためのシステム100のブロック図を示す。図示されるシステム100は、ユーザ116a、116b、・・・116nとインフラシステム160によってアクセスされる車両システム150a、150b…150n(それぞれあるいは全体として車両システム150と称する)を含む。システム100のこれらの要素は、互いに通信可能に結合される。本実施形態においては、これらの要素は、ネットワーク105を介して通信可能に結合される。
【0031】
図1中の車両システム150a、150b、・・・150nは例示である。図1には3つの車両システムが示されているが、本発明は任意の数の車両システムを有するシステムアーキテクチャに適用することができる。さらに、1つのネットワーク105だけが車両システム150a、150b、・・・150nとインフラシステム160に結合されているが、実際には、これらに結合されるネットワーク105の数はいくつであっても良い。
【0032】
図示される実施形態では、車両システム150aは信号線149を介して車両システム150bと通信可能に結合されている。車両システム150aは、信号線119を介してネットワーク105と通信可能に結合されている。ユーザ116aは、信号線117を介して車両システム150aとやりとりする。車両システム150bは、信号線125を介してネットワーク105と通信可能に結合されている。ユーザ116bは、信号線127を介して車両システム150bとやりとりする。車両システム150nは、信号線135を介してネットワーク105と通信可能に結合されている。ユーザ116nは、信号線129を介して車両システム150nとやりとりする。インフラシステム160は、信号線155を介してネットワーク105と通信可能に結合されている。
【0033】
ネットワーク105は、有線ネットワークであっても無線ネットワークであっても良く、またそのトポロジーは、スター型、トークンリング型やその他当業者に知られているその他の構成を取ることができる。一実施形態においては、ネットワーク105は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えば、インターネット)や、複数の装置が通信可能な相互接続される任意のデータパスを含む。別の実施形態においては、ネットワーク105はピアツーピアネットワークである。ネットワーク105は、複数の異なる通信プロトコルでデータ送信可能な通信ネットワークと接続されるか、そのような通信ネットワークを含む。例えば、ネットワーク105は3Gネットワークや4Gネットワークである。さらに別の実施形態では、ネットワーク105は、
ブルートゥース(登録商標)通信ネットワークや携帯通信ネットワークを含み、SMS(ショートメッセージサービス)、MMS(マルチメディアメッセージサービス)、HTTP(ハイパーテキスト転送プロトコル)、直接データ接続、WAP(ワイヤレスアプリケーションプロトコル)、電子メールなどのデータを送受信する。さらに別の実施形態では、ネットワーク105内の全てまたは一部のリンクは、既存の暗号技術によって暗号化される。このような暗号化技術は、SSL、セキュアHTTP、VPNなどを含む。
【0034】
車両システム150は、車両に組み込まれるデータ通信のためのシステムである。車両システム150は、とりわけ、制御部102、センサ114a・・・114n(それぞれあるいは全体としてセンサ114と称する)、入出力モジュール118、環境データベース136と認知データベース140を含む。2つのセンサ114aと114nだけが図示されるが、当業者であれば多くのセンサ114を利用しても良いことを理解できるであろう。さらに、制御部102、入出力モジュール118、環境データベース136および認知データベース140のいずれも車両システム150内に1つだけ示されているが、車両システム150は、これらの要素を複数個有しても構わない。車両システム150が、図1に示されないその他の構成要素、例えば入力デバイス、ネットワークアダプタやその他の車両システムが従来有する構成要素などを含んでも良いことを当業者であれば理解できるであろう。
【0035】
図示される実施形態では、センサ114aは信号線111を介して制御部102と通信可能に結合されている。センサ114nは、信号線113を介して制御部102と通信可能に結合されている。入出力モジュール118は、信号線115を介して制御部102と通信可能に結合されている。ユーザ116は、信号線117を介して入出力モジュール118とやりとりする。環境データベース136は、信号線137を介して制御部102と通信可能に結合されている。認知データベース140は、信号線141を介して制御部102と通信可能に結合されている。
【0036】
制御部102は、任意のプロセッサ型の計算装置である。たとえば、制御部102は車両に組み込まれる電子制御装置(ECU)である。一実施形態では、制御部102は、システムオンチップ(SOC)のような単一の集積回路を用いて実現される。制御部102は、とりわけ、プロセッサ104、メモリ106、コグニティブエンジン108とソフトウェア無線110を含む。一実施形態においては、制御部102はI/Oインターフェース(不図示)のような他の従来の構成要素を含む。
【0037】
プロセッサ104は、演算論理ユニット、マイクロプロセッサ、汎用制御装置や、その他のプロセッサアレイを有し、計算を実行したり環境データベース136や認知データベース140に格納されたデータを取得したりする。プロセッサ104はデジタル信号を処理する。プロセッサのアーキテクチャはCISC(Complex Instruction Set Computer)、RISC(Reduced Instruction Set Computer)、これら両方の命令セットの組合せとして実装されたアーキテクチャなどどのようなものであっても良い。図1には1つのみのプロセッサが示されているが、複数のプロセッサが含まれても構わない。プロセッサの処理能力は、画像の表示や、画像の取得および送信に限られていても構わない。プロセッサの処理能力は、様々なタイプの特徴量抽出などのようなより複雑な処理を実行できるようなものであっても良い。当業者であれば、その他のプロセッサ、オペレーティングシステム、センサ、表示装置および物理的構成を採用可能であることは明らかであろう。
【0038】
メモリ106は、プロセッサ104で実行される命令やデータを格納する。命令やデータは、本明細書に説明される処理の全てまたはいずれかを実行するためのコードを含んでもよい。メモリ106は、DRAM、SRAM、フラッシュメモリやその他の既存のメモリ装置である。一実施形態においては、メモリ106は、ハードディスクドライブ、フロ
ッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置や情報記憶の分野において既知のその他の大容量記憶装置などの、非一時的(non-volatile)メモリや永久記憶装置を含んでも良い。
【0039】
コグニティブエンジン108は、ダイナミックスペクトラムアクセスを車両システム150に提供するためのコードおよびルーチンである。たとえば、コグニティブエンジン108は、機械学習技術を用いて、ホワイトスペース周波数帯における適応的なチャネル選択機能を車両システム150に提供する。ホワイトスペース周波数帯は、未使用の無線周波数である。たとえば、ホワイトスペース周波数帯は、テレビ放送の周波数帯において未使用なホワイトスペース周波数帯である。一実施形態においては、コグニティブエンジン108は、プロセッサ104のオンチップ記憶装置(不図示)に保存されるコードとルーチンを含む。別の実施形態では、コグニティブエンジン108は、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などのハ
ードウェアを用いて実装される。さらに別の実施形態では、コグニティブエンジン108はハードウェアとソフトウェアの両方を用いて実装される。
【0040】
一実施形態においては、コグニティブエンジン108は、アプリケーションに特有なタスク要件に基づいて実行される。たとえば、サポートベクタマシンや人工ニューラルネットワークを用いて、学習過程における分類器が実現される。また、遺伝的アルゴリズムやシミュレーテッドアニーリングが、さまざまな検索を実行するために用いられる。隠れマルコフ連鎖や人工ニューラルネットワークは、可変予測を実行するために用いられる。当業者であれば、コグニティブエンジン108は、従来のコグニティブ無線システムにおける他の既知の特徴を含んでもよいことを理解できるであろう。
【0041】
一実施形態においては、コグニティブエンジン108は、以下で図2と共に説明するように事例ベース推論と強化学習技術を使用して車両通信に用いるチャネルを動的に選択する。車両通信とそこで用いるチャネルの詳細については、後述する。コグニティブエンジン108の詳細について、図2および図4A〜図7を参照しながら後ほど説明する。
【0042】
ソフトウェア無線(SDR)110は、コンピュータ装置にインストールされたソフトウェアによって実現される無線通信システムである。たとえば、ソフトウェア無線110はミキサー、フィルタ、増幅器、変調器、復調器、検波器などのような構成要素をソフトウェアによって実現した無線通信システムである。一実施形態においては、ソフトウェア無線110はコグニティブエンジン108から無線コンフィギュレーションを受け取り、該無線コンフィギュレーションに基づいて、車両システム150に車両通信を構成する。たとえば、ソフトウェア無線110によって、車両システム150が無線コンフィギュレーションに従って他の車両システム150やインフラシステム160と通信できる。一実施形態においては、ソフトウェア無線110は、無線インタフェース112を含む。他の実施形態においては、ソフトウェア無線110は複数の無線インタフェース112を含む。
【0043】
無線インタフェース112は、データ通信のために通信リンクを確立するインタフェースである。たとえば、車両システム150に含まれる無線インタフェース112は、無線通信環境と直接相互作用して、他の車両システム150やネットワーク105との間のデータ通信を行うインタフェースである。
【0044】
センサ114は、データを収集するためのセンサである。センサ114としては既存の任意のセンサを利用可能である、どのようなデータを収集するかや、センサのタイプなども特に限定されない。例えば、LIDAR(光検出および測距)センサ、赤外線センサ、
モーションセンサ、温度センサ、音感センサなどを、センサ114の例として挙げることができる。当業者であれば、その他のタイプのセンサも利用可能であることを理解できるであろう。一実施形態においては、センサ114は車両に関する状態を計測し、計測した状態を表すセンサデータを生成する。たとえば、センサ114は車両の速度を計って、速度を表すセンサデータをコグニティブエンジン108に送信する。
【0045】
一実施形態においては、車両システム150は、異なるタイプの複数のセンサ114を有する。たとえば、車両システム150は、車両の速度を調べるための速度センサ、車両の位置を検出するための位置センサ、スペクトラムを検知するためのスペクトラムセンサなどを含む。
【0046】
入出力モジュール118は、ユーザ116と制御部102の間のやりとりを処理するように構成された装置である。たとえば、入出力モジュール118は、ディスプレイ、タッチスクリーン、マイクやスピーカシステムを含む。一実施形態においては、入出力モジュール118は、ユーザ116から入力を受け取って、入力を制御部102に送信する。たとえば、入出力モジュール118は、タッチスクリーンを含み、ユーザ116がタッチスクリーンを介してコグニティブエンジン108にチャネル選択についてのオフライン計画を提供する。
【0047】
一実施形態においては、入出力モジュール118は、制御部102からユーザ116に出力を伝えるように構成される。たとえば、入出力モジュール118は、コグニティブエンジン108からチャネル選択フィードバック(例えばチャネル報酬、チャネルスループット、チャネル機会など)を受け取って、これをユーザ116に提供する。チャネル報酬、チャネルスループットやチャネル機会については、図2と共に後述する。当業者であれば、入出力モジュール118は、ここで記載された機能を提供するためのその他の任意のタイプの装置を含んでもよいことを理解できるであろう。
【0048】
環境データベース136は、データを格納する非一時的(non-transitory)なメモリである。例えば、環境データベース136は、DRAM、SRAM、フラッシュメモリやその他の既存のメモリ装置である。一実施形態では、環境データベース136は、不揮発性のメモリや永久記憶装置を含んでも良い。例として、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置などが挙げることができるが、その他の既存の不揮発性記憶装置を採用しても良い。
【0049】
一実施形態においては、環境データベース136は、本明細書において説明される機能を提供するための環境データを格納する。環境データは、通信環境と関連したデータである。たとえば、環境データは、各位置についての、地形特徴を表している地形データ、無線伝播特徴、交通状況データ(例えば、ラッシュアワー、非ラッシュアワーなどでの交通状況)、チャネル特徴データ(例えば、プライマリユーザやセカンダリユーザによるチャネル使用の特徴、一つ以上の位置における利用者の密度に関する履歴データ、プライマリユーザやセカンダリユーザの利用率データなど)などを含む。プライマリノードおよびセカンダリノードについては後述する。
【0050】
一実施形態においては、車両に組み込まれる車両システム150の通信環境は、上述の環境データ、スペクトラムアクセスの方針を表しているポリシーデータ、スペクトラムアクセスのための規格を表している規格データなどによって表される。ポリシーデータや規格データについては、図3と共に更に詳細に後述する。一実施形態においては、車両が時間とともに移動するので、通信環境は一定ではない。
【0051】
認知データベース140は、データを格納する非一時的(non-transitory)なメモリである。例えば、認知データベース140は、DRAM、SRAM、フラッシュメモリやその他の既存のメモリ装置を用いて実現される。一実施形態では、認知データベース140は、不揮発性のメモリや永久記憶装置を含んでも良い。例として、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置などが挙げることができるが、その他の既存の不揮発性記憶装置を採用しても良い。
【0052】
一実施形態においては、認知データベース140は、本明細書において説明される機能を提供するためのポリシーデータ、事例データ、規則データと規格データを格納する。認知データベース140の詳細は、図3を参照しながら後ほど説明する。
【0053】
ユーザ116は、人間のユーザである。一実施形態では、ユーザ116は、道路上で車両を運転するドライバーである。別の実施形態においては、ユーザ116は車両内の助手席に座っている搭乗者である。ユーザ116は、入出力モジュール118を介して車両に組み込まれる車両システム150とやりとりする。
【0054】
インフラシステム160は、サービスを車両システム150に提供するためのシステムである。一実施形態においては、インフラシステム160は、車両システム150で利用可能な任意のサービス(例えばインターネットサービス、ボイスメールサービスなど)を提供するためのコンピュータシステムや記憶装置などを含む。図1にはインフラシステム160が1つだけ示されているが、当業者であればシステム100がいくつのインフラシステム160を含んでも良いことを理解できるであろう。
【0055】
通信ノードは、データ通信を行う構成要素である。たとえば、通信ノードは、車両システム150、インフラシステム160、路側機に設置される通信ノードや、ネットワーク105に含まれる他の任意の通信ノード(例えばルータ、スイッチ装置など)などである。車両通信は、車両システム150と別の通信ノードの間の通信である。たとえば、車両通信は、車車間通信、路車間通信、車両−インフラ間通信などを含む。
【0056】
一実施形態においては、2台の通信ノードの間の車両通信は、複数種類の車両通信を伴っても良い。たとえば、第1の車両システム150とインフラシステム160の間の車両通信が、第1の車両システム150と第2の車両システム150の間の車車間通信と、第2の車両システム150とインフラシステム160の間の車両−インフラ間通信によって実現されても良い。
【0057】
車両通信のためのチャネルは、2台の通信ノードの間の通信データのためのチャネルである。たとえば、アメリカ合衆国における車車間通信用のチャネルは、75MHzの帯域幅の5.9GHzのDSRC(Dedicated Short-Range Communication)チャネルである。一実施形態においては、車両通信のためのチャネルは、専用チャネル(例えばDSRC用の周波数帯のチャネル)、自由アクセスチャネル(例えば、ISMバンドにおけるWiFiやブルートゥースのような完全に自由なチャネル、テレビのUHF帯のような部分的に自由なチャネル、特定の時間だけ自由にアクセスできる部分的に自由なチャネルなど)や、機会主義的な(空いていれば利用可能な)アクセスチャネル(例えば、テレビホワイトスペース周波数帯)のいずれかを含む。
【0058】
一実施形態においては、専用チャネルで実行される通信は優先付けされる。たとえば、専用チャネルがデータ通信のために用いられる場合、公衆安全に関する通信が私的なデータ通信よりも優先される。一実施形態においては、機会主義的なアクセスチャネルは、プライマリノードに固定位置が割り当てられるチャネル(例えばテレビ信号、ページングバ
ンドなど)と、プライマリノードに特定の位置が割り当てられていないチャネル(例えば携帯ネットワークのチャネルなど)とを含む。
【0059】
チャネルのプライマリノードは、データ通信のためにチャネルを用いる優先権を持つ通信ノードである。たとえば、プライマリノードは、チャネルで用いられるスペクトラムに対する免許を有しているエンティティである。チャネルのセカンダリノードは、プライマリノードからチャネルを借りて、データ通信のためにチャネルを利用する通信ノードである。一実施形態においては、セカンダリノードはチャネルで用いられるスペクトラムに対する免許を有しない。別の実施形態においては、チャネルが使用されていない(例えば、いずれのプライマリノードもデータ送信を行わない)ときに、セカンダリノードはプライマリノードからチャネルを借りる。
【0060】
システム100は、以下のような観点から特に車両通信にとって有利である。すなわち、車両通信を行う通信ノードに対してスペクトラム選択に関するより多くの選択肢をインテリジェントに提供することで、システム100はスペクトラムの欠乏を解消できる。たとえば、システム100は、車両の無線環境特徴に基づいて動的にスペクトラムにアクセスすることによって、ホワイトスペース周波数帯を車両通信のために利用できる。システム100は、データ通信サービスの品質を保証し、車両通信の専用チャネルでの輻輳を軽減すると共に、チャネル干渉を最小にする。
【0061】
更に詳細に後述するように、システム100は、チャネル選択に関する過去の事例に基づく事例ベース推論アプローチを利用し、チャネル選択のための学習処理を用いて自動的に通信環境の変化に適応する。一実施形態においては、たとえば、現在利用中のチャネルが利用できなくなったり、現在利用中のチャネルよりも性能が上回るチャネルが出現したりしたときに、システム100は、ホワイトスペース周波数帯の中から最も性能の良いチャネルに切り替えることで、データ通信のスペクトラムアクセスを最適化する。
【0062】
<コグニティブエンジン>
次に図2を参照して、コグニティブエンジン108について更に詳細に説明する。図2は、一実施形態にかかるコグニティブエンジン108を示すブロック図である。コグニティブエンジン108は、通信モジュール201、事例モジュール203、選択エンジン205、コンフィギュレーションモジュール207、評価モジュール209、更新モジュール211とグラフィカルユーザインタフェース(GUI)モジュール213を含む。コグニティブエンジン108のこれらの構成要素は、バス220を介して互いに通信可能に結合される。プロセッサ104は、信号線238を介してバス220と通信可能に結合されている。認知データベース140は、信号線141を介してバス220と通信可能に結合されている。
【0063】
通信モジュール201は、コグニティブエンジン108の構成要素とシステム100の他の構成要素の間での通信を処理するためのコードおよびルーチンである。たとえば、通信モジュール201は、センサ114からセンサデータを受け取って、センサデータを事例モジュール203、選択エンジン205、評価モジュール209の少なくともいずれかに送信する。通信モジュール201は、信号線222を介してバス220と通信可能に結合されている。一実施形態においては、通信モジュール201は、コグニティブエンジン108の構成要素間での通信も処理する。たとえば、通信モジュール201は評価モジュール209からチャネル報酬を受け取って、チャネル報酬を更新モジュール211に送信する。チャネル報酬の詳細については、後述する。
【0064】
一実施形態においては、通信モジュール201は、事例データ、規則データ、ポリシーデータと規格データを認知データベース140から読み出して、読み出されたデータを事
例モジュール203に送信する。別の実施形態においては、通信モジュール201は、環境データを環境データベース136から読み出して、事例モジュール203、選択エンジン205と評価モジュール209に読み出した環境データを送信する。さらに別の実施形態においては、通信モジュール201は、更新された規則データや事例データを更新モジュール211から読み出し、更新された規則データや事例データを認知データベース140に格納する。当業者であれば、通信モジュール201がここに表される以外の機能を提供してもよいことを理解できるだろう。
【0065】
事例モジュール203は、プロセッサ104で実行されて、現在の状況と一致する過去の事例を求めるためのコードとルーチンである。たとえば、事例モジュール203は、認知データベース140に保存される事例データを参照して、現在の状況と一致する状況であった過去の事例を探し、その事例を現在の状況との一致事例として決定する。事例モジュール203は、信号線224を介してバス220と通信可能に結合されている。
【0066】
現在の状況は、車両に組み込まれた車両システム150が行うデータ通信についての現在の通信環境を含む。たとえば、現在の状況には、車両システム150がデータを送ろうとする際の現在の通信環境が含まれる。過去事例(過去の状況)は、過去の経験として通信を行った際の通信環境を含む。現在の状況および過去の状況は含まれる通信環境を、同一フォーマットのデータとして表現できる。過去事例を利用することで、過去の履歴データに基づいて現在の状況において最適なチャネルを決定することができる。すなわち過去の経験を用いてダイナミックスペクトラムアクセスを最適化できる。過去事例は、たとえば、過去の状況(通信環境)と、そのときに最も性能の良い通信が行える送信チャネルの選択に関する情報を含んでもよい。
【0067】
一致事例は、現在の状況に一致する過去の事例である。たとえば、一致事例は、認知データベース140に保存されている過去の事例のうち、現在の状況との類似度が最大な(すなわち距離測度が最小の)事例である。一実施形態においては、一致事例は、現在の状況での通信環境と一致する通信環境においてデータを行った過去の事例である。一実施形態においては、通信環境として通信を行う位置に着目する。すなわち、現在位置と同じ位置で行われた過去の事例が、現在の状況との一致事例となる。もっとも、一致事例は必ずしも同じ位置で通信を行った過去の事例のみとする必要は無く、現在位置とは異なる位置で行われた通信を一致事例としてもよい。
【0068】
2つの状況の間に類似度を表すパラメータである距離を定義することができる。たとえば、2つの状況の間の距離がゼロであるということは、2つの状況が完全に同じことであることを示す。一実施形態においては、2つの状況の間の距離は、2つの状況における通信環境の類似性と関連する。たとえば、第1の状況と関連した第1の通信環境が第2の状況と関連した第2の通信環境と同じであるならば、第1の状況と第2の状況との距離はゼロである。距離測度の定義は任意に設計することができるが、たとえば、位置や時間、地形の特徴、ホワイトスペース周波数帯の分布、政府による規制などに基づいて定義することができる。距離測度は、これらの要因の1つまたは複数に基づいて定義づければよい。事例モジュール203は、これらの要因に基づいて状況間の距離を計算する。
【0069】
事例は、事例データによって表される。一実施形態においては、事例データは、その状況における通信環境を表す。たとえば、事例データは、状況と関連した位置(例えば状況の発生位置)を表している位置データ、位置と関連した環境データ、位置と関連した交通データ、位置と関連した気象データ、その位置で利用可能なチャネルと関連したチャネルプロファイル(チャネル情報)などのうちの少なくともいずれかを含む。一実施形態においては、事例データは、さらに状況と関連したポリシーデータ、規格データおよび規則データを含む。当業者であれば、事例データに含まれるデータは、状況と関するものであれ
ば他のどのようなものであっても良いことを理解できるであろう。
【0070】
チャネルプロファイルは、チャネルに関するプロファイルデータである。一実施形態においては、チャネルに関するチャネルプロファイルは、チャネル値、チャネルインデックスおよびチャネル訪問回数の少なくともいずれかを含む。チャネル値とチャネルインデックスの詳細については後述する。
【0071】
一実施形態においては、事例モジュール203はセンサ114からセンサデータを受け取る。センサデータは、車両が存在する位置を表す位置データ、車両の速度を表す速度データ、その位置での交通状況を表わす交通データおよび、その位置での気象状況を表わす気象データなどを含む。当業者であれば、センサ114によって生成される他の種類のデータがセンサデータに含まれても良いことを理解できるであろう。事例モジュール203は、位置データに基づいて、環境データを環境データベース136から読み出す。
【0072】
一実施形態においては、事例モジュール203は、位置データに基づいてポリシーデータと規格データを認知データベース140から読み出す。ポリシーデータと規格データについては、図3と共に後述する。事例モジュール203は、これらのデータに基づいて規則データを生成する。規則データは、ある位置におけるチャネル選択についての規則を表わすデータである。たとえば、規則データは、各位置でのホワイトスペース周波数帯分布を表しているデータと、政府による規制を表しているデータとを含む。これらのデータは、ホワイトスペース周波数帯からチャネルを選ぶために用いられる。一実施形態においては、事例モジュール203は、規則データを認知データベース140に保存する。
【0073】
事例モジュール203は、センサデータ、環境データおよび規則データに基づいて、現在の通信環境における車両システム150の現在の状況を定める。たとえば、事例モジュール203は、センサデータ、環境データおよび規則データに基づいて、現在の状況についての事例データを作成する。
【0074】
一実施形態においては、事例モジュール203は、認知データベース140から過去の状況を表している事例データを読み出す。たとえば、事例モジュール203は、認知データベース140から全ての過去事例データを読み出す。事例モジュール203は、すべての過去事例の中から、現在の状況に対する一致事例を求める。たとえば、事例モジュール203は、各々の過去事例における状況と現在の状況の間の距離を算出し、現在の状況との距離が最小である過去事例を現在の状況に対する一致状況として選択する。
【0075】
事例モジュール203は一致事例についてのチャネルプロファイルを認知データベース140から読み出して、一致事例のチャネルプロファイルに基づいて、現在の状況についての事例データを作成する。たとえば、事例モジュール203は、一致事例についてのチャネルプロファイルに基づいて、現在の状況についてのチャネルプロファイルを初期化する。すなわち、一致事例に含まれるチャネルプロファイルを、現在の事例データのチャネルプロファイルの初期値として採用する。事例モジュール203は、現在の状況についての事例データを選択エンジン205に送る。たとえば、事例モジュール203は、選択エンジン205に現在の状況についてのチャネルプロファイルを送信する。一実施形態においては、事例モジュール203は、現在の状況についてのチャネルプロファイルを認知データベース140に保存する。
【0076】
現在の状況に対する一致事例を決定して、その一致事例に基づいて現在の事例データを初期化することは非常に有益である。なぜならば、現在の状況と一致事例における状況とは類似するので、一致事例における最適なスペクトルアクセス方法は現在の状況においても最適であると経験的に分かるからである。一致事例に含まれる過去のチャネルプロファ
イルを利用することで、同様の通信環境下で行った最適方法の探索処理を繰り返すことが避けられる。したがって、コグニティブエンジン108を用いてダイナミックスペクトラムアクセスを最適化する際に、コグニティブエンジン108での処理時間を削減することができる。
【0077】
選択エンジン205は、プロセッサ104で実行されて、データ通信チャネルを選択するコードとルーチンである。選択エンジン205は、信号線226を介してバス220と通信可能に結合されている。一実施形態においては、選択エンジン205は、規則データと現在の状況におけるチャネルプロファイルを、事例モジュール203から受け取る。別の実施形態においては、選択エンジン205は、規則データと現在の状況におけるチャネルプロファイルを認知データベースから読み出す。選択エンジン205は、以下に示すようにチャネルプロファイルと現在の状況の規則データに基づいて、現在の状況における最適なデータ送信チャネルを選択する。
【0078】
一実施形態においては、選択エンジン205は、チャネル選択に用いる学習戦略を決定する。学習戦略は、チャネル選択で利用される戦略である。学習戦略として、探索(exploration)戦略と搾取(exploitation)戦略のいずれかを利用することができる。搾取戦略は
、既存の最適チャネルをデータ通信として利用する戦略である。既存の最適チャネルは、現在の状況で利用可能な全てのチャネルの中で最も性能が良いと過去の経験に基づいて判断されるチャネルである。探索戦略は、利用可能な全てのチャネルの中から、過去の知識から最適と判明しているよりもさらに性能の良いチャネルを探す戦略である。
【0079】
一実施形態においては、既存の最適チャネルは、現在の状況において利用可能なチャネルの中で、最も大きいチャネル値を有するチャネルとして決定する。チャネル値は、チャネルプロファイルのパラメータの一つである。一実施形態では、チャネル値が高いほどチャネルの性能が良い。チャネル値については、更新モジュール211を参照しながら以下でさらに説明する。一実施形態においては、現在の状況において利用可能なチャネルとに関するチャネルプロファイル(または利用可能チャネルのチャネル値)は以下に述べるように時間と共に更新されるので、現在の状況での既存の最適チャネルも時間と共に変化する。例えば、最初は全ての利用可能なチャネルの中で第1のチャネルが最適なチャネルであったとしても、時間が経過すると、第1のチャネルが利用不可能になり、第2のチャネルが全ての利用可能なチャネルの中で最適なチャネルとなることがある。
【0080】
一実施形態においては、選択エンジン205は、ε−greedyアルゴリズムを用いて学習戦略を決定する。ε−greedyアルゴリズムは、各段階において局所的な最適解を求めることで大域的な最適解を求める方法である。例えば、選択エンジン205は、ε−greedyアルゴリズムを利用して、探索戦略を選択するか搾取戦略を選択するかを決定する。記号「ε」は、「0」と「1」の間の数値を表す。一実施形態においては、選択エンジン205は、「0」と「1」の間の値を有する乱数を生成する。生成された乱数が「ε」より小さければ、選択エンジン205は、探索戦略を選択する。生成された乱数が「ε」以上であれば、選択エンジン205は、搾取戦略を選択する。
【0081】
搾取戦略が選択された場合は、選択エンジン205は、チャネルプロファイルに基づいて、最大のチャネル値を有するチャネル(具体的には、現時点で最適と判断されるチャネル)を選択する。一方、探索戦略が選択された場合は、選択エンジン205は、チャネルプロファイルに基づいて、最大のチャネルインデックスを有するチャネルを選択する。チャネルインデックスは、チャネルプロファイルのパラメータの一つである。チャネルインデックスは、チャネル値と関連しており、チャネルの性能予測を表す値である。一実施形態においては、高いチャネルインデックスを有するチャネルほど、より良い性能を発揮できる可能性が高い。チャネルインデックスについては、更新モジュール211と共に以下
でさらに説明する。
【0082】
選択エンジン205は、最大のチャネル値あるいはチャネルインデックスを有するチャネルを選択した後、選択したチャネルをコンフィグレーションモジュール207に送る。例えば、選択エンジン205は、選択されたチャネルの識別子をコンフィグレーションモジュール207に送る。
【0083】
一実施形態においては、選択エンジン205は、上記のチャネル選択処理を繰り返し行い、より適切なチャネルを選択する。すなわち、選択エンジン205は、更新モジュール211からチャネルプロファイルを受け取り、現在の状況についての更新後のチャネルプロファイルに基づいて、データ通信用のチャネルを再選択する。なお、更新モジュール211は一部のチャネルのチャネルプロファイルのみを更新するが、再選択処理においては更新後のチャネルプロファイルと更新の対象とならなかったチャネルプロファイルの双方に基づいて処理を行う。一実施形態においては、選択エンジン205は、上記で説明したのと同様の処理を行うことで、チャネルを再選択する。選択エンジン205は、再選択されたチャネルをコンフィグレーションモジュール207に送り、ソフトウェア無線110は再選択されたチャネルに応じて再構成される。適応的なチャネル選択処理については、図4A,4Bおよび図5A,5Bを用いて後述する。
【0084】
コンフィグレーションモジュール207は、プロセッサ104によって実行されたときに、データ通信用のソフトウェア無線110を再構成するためのコードおよびルーチンである。コンフィギュレーションモジュール207は、信号線230を介してバス220と通信可能に結合されている。一実施形態においては、コンフィグレーションモジュールは、選択エンジン205から選択されたチャネルの識別子を受信し、選択されたチャネル用の無線コンフィギュレーションを生成する。コンフィグレーションモジュール207は上記の無線コンフィギュレーションに基づいてソフトウェア無線110を選択されたチャネルに合わせて構成するので、ソフトウェア無線110は選択されたチャネルを用いてデータを送信できるようになる。
【0085】
例えば、コンフィグレーションモジュール207は、選択エンジン205から最大のチャネルインデックスを有する選択チャネルの識別子を受信し、選択チャネルをセンシングするための無線コンフィギュレーションを生成する。コンフィグレーションモジュール207は、無線コンフィギュレーションに基づいてソフトウェア無線110を構成するので、ソフトウェア無線110は選択チャネルのセンシングが実行できるようになる。
【0086】
別の例では、コンフィギュレーションモジュール207は、選択エンジン205から最大のチャネル値を有する選択チャネルの識別子を受信し、そのチャネルをセンシングおよびアクセスするために無線コンフィギュレーションを生成する。コンフィギュレーションモジュール207は、上記の無線コンフィギュレーションに基づいてソフトウェア無線110を構成するので、ソフトウェア無線110は選択チャネルのセンシングと選択チャネルにアクセスしてのデータ通信を行うことができる。
【0087】
評価モジュール209は、プロセッサ104で実行されるときに、選択チャネルの性能を評価するためのコードおよびルーチンである。評価モジュール209は、信号線232を介してバス220と通信可能に結合されている。一実施形態においては、評価モジュール209は、ソフトウェア無線110が選択チャネルをセンシングしたりアクセスしたりする際に、このチャネルの性能を監視および測定する。たとえば、評価モジュール209は、衝突レベル、干渉レベル、ノイズレベル、データ通信状況(輻輳、アイドルなど)、エラーレートなどを選択チャネルについて測定する。
【0088】
一実施形態においては、評価モジュール209は、下記に示すように選択されたチャネルのチャネル機会を予測する。チャネル機会とは、チャネルがデータ通信に利用できる機会を表す。たとえば、チャネル機会は、車両システム150がデータ送信のためにチャネルを利用できる確率である。チャネル機会が高いほど、そのチャネルが利用できる確率が高いことを表す。
【0089】
一実施形態においては、評価モジュール209は、車両の位置を検出したセンサ114から位置データを受信する。評価モジュール209は、事例モジュール203から規則データを受信し、その規則データから現在位置におけるホワイトスペース分布を表すデータを抽出する。評価モジュール209は、チャネルのプライマリノードのチャネル利用特性を表すデータを、環境データベース136から読み出しても良い。評価モジュール209は、上記で述べたように選択チャネルのノイズレベルや干渉レベルなどを決定する。
【0090】
評価モジュール209は、ホワイトスペース分布、プライマリノードのチャネル利用特性、およびノイズレベルや干渉レベルに基づいて、セカンダリノードが選択チャネルを利用可能であるか否かを決定する。セカンダリノードは、固定ノード(位置を変えない通信ノード)であっても良いし、移動ノード(車両システム150のように時間と共に位置を変える通信ノード)であっても良い。評価モジュール209は、セカンダリノードのチャネル利用可能性に基づいて、自ノード(車両システム150)のチャネル利用可能性を決定する。
【0091】
評価モジュール209は、車速を監視するセンサ114から、車速を表す速度データを受信する。評価モジュール209は、プライマリノードのチャネル利用特性、ノイズレベル、干渉レベル、および速度データに基づいて、プライマリノードの活動確率を予測する。プライマリノードの活動確率は、プライマリノードがチャネルを利用する確率を表す。換言すると、プライマリノードの活動確率は、セカンダリノードがチャネルを利用できない確率を表す。評価モジュール209は、移動ノードのチャネル利用可能性とプライマリノードの活動確率に基づいて、チャネル機会を決定する。
【0092】
一実施形態においては、評価モジュール209は、選択されたチャネルのチャネルスループットを決定する。チャネルスループットは、そのチャネルをデータ通信に用いる全通信ノードのデータスループットである。チャネルスループットが高いほど、より多くのデータ通信が行えることを表す。
【0093】
評価モジュール209は、センサ114から位置データを受信し、位置データによって特定される位置におけるセカンダリノードの密度データを環境データベース136から読み出す。評価モジュール209は、その位置におけるセカンダリノードの通信量データを環境データベース136から読み出す。通信量データは、セカンダリノードがチャネルを用いる頻度およびそのチャネルを用いて行うデータ量を表す。評価モジュール209は、セカンダリノードの密度データおよび通信量データに基づいて、各セカンダリノードのチャネル利用方法を判断する。評価モジュール209は、各セカンダリノードのチャネル利用方法に基づいて、チャネルスループットを決定する。たとえば、評価モジュール209は、各セカンダリノードのチャネル利用量の合計としてチャネルスループットを決定する。
【0094】
一実施形態においては、評価モジュール209は、選択チャネルのチャネル機会とチャネルスループットに基づいて、選択チャネルのチャネル報酬を決定する。チャネル報酬は、チャネルの全体的な性能を評価するパラメータである。たとえば、評価モジュール209は、第1のチャネルの性能の方が第2のチャネルよりも高い場合(たとえば、チャネルスループットやチャネル機会が大きいなど)には、第1のチャネル報酬を第2のチャネル
報酬よりも高いものとして生成する。評価モジュール209は、選択チャネルに関するチャネル機会、チャネルスループット、およびチャネル報酬を、更新モジュール211へ送る。
【0095】
更新モジュール211は、プロセッサ104によって実行されたときに、選択チャネルのプロファイルと現在状況に対する規則データを更新する、コードおよびルーチンである。更新モジュール211は、信号線234を介してバス220と通信可能に結合されている。一実施形態においては、更新モジュール211は、チャネル機会、チャネルスループット、およびチャネル報酬を評価モジュール209から受け取り、これらの情報に基づいて選択チャネルのチャネルプロファイルを更新する。たとえば、更新モジュール211は、チャネル報酬に基づいて、選択チャネルのチャネル値、チャネルインデックスおよびチャネル訪問回数を更新する。一実施形態においては、更新モジュール211は、チャネル機会、チャネルスループットおよびチャネル報酬に基づいて、現在状況に対する規則データも更新する。
【0096】
たとえば、更新モジュール211は、選択チャネルのチャネルプロファイルにおけるチャネル訪問回数を、次のように更新する。
【数1】

【0097】
ここで、記号「s」は、選択チャネルを表す。記号「n(s)」は、選択チャネルのチャネル訪問回数を表す。更新モジュール211は、以下のように定数αを用いたモンテカルロ法によって選択チャネルのチャネルプロファイルにおけるチャネル値を更新する。
【数2】

【0098】
ここで、記号「V(s)」は、選択チャネルのチャネル値を表す。記号「R(s)」は、選択チャネルのチャネル報酬を表す。記号「α」は学習率であり、「0」から「1」の間の値をとる。チャネル値の更新後、更新モジュール211は、選択チャネルのプロファイルにおけるチャネルインデックスを次のように更新する。
【数3】

【0099】
ここで、記号「I(s)」は、選択チャネルのチャネルインデックスを表す。記号「K」は、現在状況における利用可能なチャネルの数を表す。記号「n(j)」は、チャネル「j」に対するチャネル訪問回数を表す。
【0100】
更新モジュール211は、チャネル選択についての学習過程を継続するか否か判断する。たとえば、更新モジュール211は、更新されたチャネルプロファイルに基づいて、データ通信に用いるチャネルを再選択するように選択エンジン205に指示するか否かを判断する。学習過程については、後ほど詳しく説明する。学習過程を継続すると判断した場合、更新モジュール211は、更新されたチャネルプロファイルを用いて上記で説明した
処理と同様の処理を行ってチャネルを再選択するように、選択エンジン205に指示する。学習過程を終えると判断した場合、更新モジュール211は、更新されたチャネルプロファイルを現在状況に対する事例データとして認知データベース140に格納して、現在の状況が将来的に過去事例として使えるようにする。更新モジュール211は、現在状況に関する規則データも認知データベース140に格納する。
【0101】
GUIモジュール213は、プロセッサ104に実行された場合にユーザに対してGUIを提供するグラフィックデータを生成するためのコードおよびルーチンである。GUIモジュール213は、信号線236を介してバス220と通信可能に結合されている。一実施形態においては、GUIモジュール213は、ユーザがチャネル選択過程に関するやりとりを行うためのGUIを描くグラフィックデータを生成する。たとえば、GUIモジュール213は、ユーザに対してチャネル選択のフィードバック(たとえば、チャネル機会、チャネルスループットおよびチャネル報酬など)を提供するためのGUIを描くグラフィックデータを生成する。GUIモジュール213は、生成されたグラフィックデータを入出力モジュール118へ送信して、ユーザにGUIを提供する。一実施形態においては、コグニティブエンジン108がGUIモジュール213を含まず、上記で説明されたGUIモジュール213の一部または全部の機能が入出力モジュール118によって提供されても良い。
【0102】
学習処理は、学習経験に基づいてデータ通信を行う際のスペクトラムアクセスを最適化する処理である。たとえば、学習処理では、選択、評価、更新の3つの処理を繰り返して行う。具体的には、学習処理は、更新されたチャネルプロファイルに基づく選択エンジン205によるチャネル選択処理、評価モジュール209による選択チャネルの性能評価処理、チャネル性能に基づく更新モジュール211によるチャネルプロファイルの更新処理を繰り返し行う。一実施形態においては、学習処理は、強化学習のような機械学習処理を用いて実現される。
【0103】
一実施形態においては、学習処理の長期的目標は、チャネル干渉を回避し、通信リンクの存続期間およびチャネルスループットを最大化することである。学習処理ではチャネルの性能評価とチャネル性能に基づくチャネルプロファイルの更新を行うので、チャネル選択処理において車両通信におけるチャネル特性が自動的に考慮されることになる。車両は時間と共に移動するので、通信環境も時間と共に変化する。学習処理は、チャネル性能に基づいてチャネル選択を行うので、環境の変化に適応してチャネル選択を改善させることができる。学習処理を用いることで、システム100は通信性能を自動的に最適化することが可能となり、時間および空間の変化と共に変化する通信環境において動的なスペクトラムアクセスを実行して、より改善されたネットワークアプリケーションを実現できるようになる。
【0104】
<認知データベース>
図3は、一実施形態における認知データベース140を説明するブロック図である。認知データベース140は、とりわけ、ポリシーデータ301、事例データ303、規則データ305および規格データ307を含む。当業者であれば、認知データベース140が本明細書で説明される機能を提供するためのその他のデータを含んでも良いことを理解できるであろう。
【0105】
ポリシーデータ301は、場所ごとのスペクトラムアクセスについてのポリシーを表すデータである。一実施形態においては、ポリシーデータ301は、スペクトラムアクセスについての規制(たとえば、米国の連邦通信委員会による全国的な規制、地域的な規制、プライマリーチャネルの占有パターンなど)を含む。
【0106】
事例データ303は、過去の事例に関連するデータである。一実施形態においては、事例データ303は、過去に通信を行った際の状況とその際の各チャネルの状況に関連するデータである。事例データ303は、通信を行った際の位置に関する位置データ、および、その位置に関連する環境データ、交通データ、気象データ、並びに、その状況において利用可能チャネルについてのチャネルプロファイルを含む。一実施形態においては、事例データ303は通信を行った事例において適用される規則を表す規則データを含む。当業者であれば、事例データ303は、過去に行った通信に関連するその他の任意のデータを含んでも良いことを理解できるであろう。
【0107】
規則データ305は、通信実行時に課せられるスペクトラムアクセスに関する規則を表すデータである。一実施形態においては、規則データ305は、チャネル選択に関する規則(たとえば、政府規制に基づく規則や、標準的な要求など)を含む。一実施形態においては、規則データ305は、各位置におけるホワイトスペース分布を表すデータを含む。
【0108】
規格データ307は、データ通信の規格を表すデータである。たとえば、規格データ307は、IEEE802.22やIEEE802.11などのような無線通信についての規格を含む。
【0109】
<処理方法>
図4A〜図7を参照して、処理方法の種々の実施形態について説明する。図4Aおよび図4Bは、一実施形態におけるダイナミックスペクトラムアクセスの最適化方法400を示すフローチャートである。図4Aに示すように、通信モジュール201は、センサ114からセンサデータを受け取る(402)。一実施形態においては、センサデータは、車両が位置する場所を特定する位置データ、その位置における気象状況を表す気象データ、その位置における交通状況を表す交通データなどを含む。通信モジュール201は、環境データベース136から環境データ(たとえば、その位置の地形特徴を表す地形データ、無線伝搬特性、チャネル特性データなど)を読み出す(404)。通信モジュール201は、センサデータおよび環境データを事例モジュール203へ送る。
【0110】
事例モジュール203は、車両システム130の現在の状況を、センサデータと環境データに基づいて求める(406)。たとえば、事例モジュール203は、センサデータおよび環境データに基づいて、現在状況に関する事例データを生成する。事例モジュール203は、認知データベース140から現在の状況と一致する過去の事例を求める(408)。事例モジュール203は、一致事例のチャネルプロファイルに基づいて、現在状況のチャネルプロファイルを構成する(410)。事例モジュール203は、現在状況についての事例データを、選択エンジン205へ送る。たとえば、事例モジュール203は、現在状況についてのチャネルプロファイルを、選択エンジン205へ送る。
【0111】
選択エンジン205は、チャネルプロファイルに基づいて、チャネルを選択する(図4Bの412)。選択エンジン205は、選択されたチャネルの識別子をコンフィギュレーションモジュール207へ送る。コンフィギュレーションモジュール207は、選択チャネルについての無線コンフィギュレーションを生成して、生成した無線コンフィギュレーションに基づいてソフトウェア無線110を構成する。
【0112】
評価モジュール209は、ソフトウェア無線110がチャネルをセンシングしたりアクセスしたりする際に、選択チャネルのチャネル性能を評価する(416)。評価モジュール209は、選択チャネルについてのチャネル報酬を生成し、それを更新モジュール211へ送る(416)。更新モジュール211は、チャネル報酬に基づいて、選択チャネルのチャネルプロファイルを更新する(418)。
【0113】
更新モジュール211は、チャネル選択についての学習処理を継続するか否か判断する(420)。更新モジュール211が学習処理を継続すると判断した場合は、処理400はステップ412へ移行する。そうでなければ、処理400はステップ422へ移行する。ステップ422では、更新モジュール211は、現在状況についての更新されたチャネルプロファイルおよびその他のチャネルプロファイルを、将来的な利用のための履歴データとして認知データベース140に格納する。
【0114】
図5A〜図5Cは、別の実施形態にかかるダイナミックスペクトラムアクセスの最適化方法500を示すフローチャートである。図5Aに示すように、通信モジュール201は、センサ114からセンサデータを受け取る(502)。センサデータは、車両の位置を表す位置データ、その位置における気象状況を表す気象データ、その位置における交通状況を表す交通データなどを含む。通信モジュール201は、位置データに基づいて、環境データを環境データベース136から読み出す(504)。通信モジュール201は、センサデータおよび環境データを事例モジュール203へ送る。
【0115】
事例モジュール203は、車両システム130の現在の状況を、センサデータと環境データに基づいて決定する(506)。たとえば、事例モジュール203は、センサデータおよび環境データに基づいて、現在状況についての事例データを生成する。事例モジュール203は、過去の事例についての事例データを認知データベース140から読み出す(508)。一実施形態においては、事例モジュール203は、すべての過去の事例関する事例データを認知データベース140から読み出す。事例モジュール203は、過去事例の全てに対して、現在の状況との間の距離(類似度)を算出する(510)。
【0116】
事例モジュール203は、現在の状況と一致する事例を決定する(512)。一実施形態においては、事例モジュール203は、現在の状況と過去の状況の間の距離に基づいて、現在の状況との一致状況を決定する。たとえば、事例モジュール203は、現在の状況との一致事例として、現在の状況との距離が最小の過去事例(最も類似する事例)を選ぶ。
【0117】
事例モジュール203は、一致事例に関連したチャネルプロファイルを認知データベース140から読み出す(514)。事例モジュール203は、一致事例についてのチャネルプロファイルに基づいて、現在の状況のチャネルプロファイルを生成する(516)。事例モジュール203は、現在の状況のチャネルプロファイルを含む事例データを、選択エンジン205に送る。
【0118】
選択エンジン205は、チャネル選択についての学習戦略を選択する(図5Bの518)。たとえば、選択エンジン205は、ε−greedyアルゴリズムを用いて学習戦略を選択する。選択エンジン205は、探索戦略を選択するか否か判断する(520)。探索戦略が選択された場合には、処理500はステップ526へ移行する。搾取戦略が選択された場合には、処理500は、ステップ522へ移行する。
【0119】
ステップ522では、選択エンジン205は、チャネルプロファイルに基づいて、現在状況において利用可能なチャネルの中から最大のチャネル値を有するチャネルを選択する。選択エンジン205は、選択されたチャネルの識別子をコンフィギュレーションモジュール207へ送る。コンフィギュレーションモジュール207は、選択チャネルをセンシングおよびアクセスするための無線コンフィギュレーションを生成する(524)。
【0120】
ステップ526では、選択エンジン205は、チャネルプロファイルに基づいて、現在の状況において利用可能なチャネルの中から最大のチャネルインデックスを有するチャネルを選択する。選択エンジン205は、選択されたチャネルの識別子をコンフィギュレー
ションモジュール207へ送る。コンフィギュレーションモジュール207は、選択チャネルをセンシングするための無線コンフィギュレーションを生成する(528)。
【0121】
ステップ530では、コンフィギュレーションモジュール207は、選択チャネルに応じてソフトウェア無線110を構成する。一実施形態においては、コンフィギュレーションモジュール207は、チャネルをセンシングするようにソフトウェア無線110を構成する。別の実施形態においては、コンフィギュレーションモジュール207は、チャネルのセンシングとアクセスをするようにソフトウェア無線110を構成する。
【0122】
評価モジュール209は、ソフトウェア無線110が選択チャネルをセンシングやアクセスする際に、チャネル性能を測定する(532)。評価モジュール209は、選択チャネルのチャネル機会を予測する(534)。一実施形態においては、評価モジュール209は、図6Aおよび図6Bを参照して後述する処理と同様の処理を実行することで、選択チャネルのチャネル機会を予測する。
【0123】
評価モジュール209は、選択チャネルのチャネルスループットを決定する(図5Cの536)。一実施形態においては、評価モジュール209、図7を参照して後述する処理と同様の処理を実行することで、チャネルスループットを決定する。評価モジュール209は、チャネル機会とチャネルスループットに基づいて、選択チャネルのチャネル報酬を決定する(538)。評価モジュール209は、チャネル機会、チャネルスループット、およびチャネル報酬を、更新モジュール211へ送る。
【0124】
更新モジュール211は、チャネル機会、チャネルスループット、およびチャネル報酬に基づいて、選択チャネルのチャネルプロファイルを更新する(540)。更新モジュール211は、チャネル機会、チャネルスループット、およびチャネル報酬に基づいて、現在状況に関する規則データを更新しても良い(542)。更新モジュール211は、チャネル選択のための学習処理を継続するか否かを決定する(544)。更新モジュール211が学習処理を継続すると判断した場合は、処理500はステップ518へ移行する。そうでなければ、処理500はステップ546へ移行する。
【0125】
ステップ546において、更新モジュール211は、現在の状況についての更新されたチャネルプロファイルおよびその他のチャネルプロファイルを、将来的な利用における履歴データとして認知データベース140に格納する。更新モジュール211は、現在の状況に関連する規則データも認知データベース140に格納する(548)。
【0126】
図6Aおよび図6Bは、一実施形態におけるチャネル機会の決定処理600を示すフローチャートである。図6Aに示すように、通信モジュール201は、センサ114から車両の位置を特定する位置データを受け取る(602)。通信モジュール201は、位置データを評価モジュール209へ送る。評価モジュール209は、事例モジュール203から現在の状況に対する規則データを受け取る(604)。評価モジュール209は、規則データから現在位置におけるホワイトスペース分布を表すデータを抽出する(606)。評価モジュール209は、環境データベース136から、プライマリユーザによるチャネル利用特性を表すデータを読み取るようにしても良い(608)。評価モジュール209は、チャネルのノイズレベルや干渉レベルを決定する(610)。
【0127】
評価モジュール209は、ホワイトスペース分布、プライマリユーザのチャネル利用特性、ノイズレベルや干渉レベルなどに基づいて、セカンダリノードが利用可能なチャネルを予測する(612)。評価モジュール209は、セカンダリノードのチャネル利用可能性に基づいて、移動ノード(自ノード)のチャネル利用可能性を予測する(614)。
【0128】
通信モジュール201は、センサ114から車両の速度を表す速度データを受け取る(図6の616)。通信モジュール201は、速度データを評価モジュール209へ送る。評価モジュール209は、速度データ、プライマリノードのチャネル利用特性、ノイズレベルや干渉レベルに基づいて、プライマリノードの活動確率を予測する(618)。評価モジュール209は、移動ノードのチャネル利用可能性およびプライマリノードの活動確率に基づいて、チャネル機会を決定する(620)。
【0129】
図7は、一実施形態におけるチャネルスループットの決定処理700を示すフローチャートである。通信モジュール201は、センサ114から位置を特定する位置データを受け取る(702)。通信モジュール201は、その位置に関するチャネルについてのセカンダリノードの密度データを環境データベース136から読み取るようにしても良い(704)。通信モジュール201は、その位置に関するセカンダリノードの通信量データを環境データベース136から読み取る(706)。通信モジュール201は、セカンダリノードの密度データや通信量データを、評価モジュール209へ送る。
【0130】
評価モジュール209は、各セカンダリノードについてチャネルの利用の有無を判断する(708)。評価モジュール209は、各セカンダリノードのチャネル利用に基づいて、チャネルのスループットを求める(710)。
【0131】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【0132】
150 車両システム
102 制御部
108 コグニティブエンジン
110 ソフトウェア無線
136 環境データベース
140 認知データベース
160 インフラシステム
201 通信モジュール
203 事例モジュール
205 選択エンジン
207 コンフィギュレーションモジュール
209 評価モジュール
211 更新モジュール
213 GUIモジュール

【特許請求の範囲】
【請求項1】
通信におけるダイナミックスペクトラムアクセスの最適化方法であって、
センサから得られるデータに基づいて現在の状況を取得する状況取得ステップと、
過去の通信事例における、通信時の状況を表すデータと、利用可能なチャネルに関する情報である1つ以上のチャネル情報とを含む事例データを格納する事例データベースから、現在の状況に対応する過去の事例の事例データを決定する一致事例決定ステップと、
一致事例に少なくとも部分的に基づいて、現在の状況に対応する1つ以上のチャネル情報を生成するチャネル情報生成ステップと、
前記1つ以上のチャネル情報に少なくとも部分的に基づいて、前記1つ以上のチャネル情報のいずれかのチャネル情報と関連づけられた第1のチャネルを選択する選択ステップと、
前記第1のチャネルの性能を評価し、前記第1のチャネルの第1のチャネル報酬を生成する評価ステップと、
前記第1のチャネル報酬に少なくとも部分的に基づいて、前記第1のチャネルのチャネル情報である第1のチャネル情報を更新する更新ステップと、
を含むダイナミックスペクトラムアクセスの最適化方法。
【請求項2】
前記一致事例決定ステップは、
過去に通信を行った際の状況とチャネルの性能が含まれる事例データを前記事例データベースから読み出すステップと、
前記読み出された事例データにおける状況と、現在の状況との類似度を算出するステップと、
前記読み出された事例データの中から、類似度が最も高い事例データを選択するステップと、
を含む、請求項1に記載のダイナミックスペクトラムアクセスの最適化方法。
【請求項3】
前記評価ステップは、
第1のチャネルが利用可能な確率である第1のチャネルのチャネル機会を予測するステップと、
第1のチャネルのチャネルスループットを決定するステップと、
第1のチャネルのチャネル機会とチャネルスループットとに少なくとも部分的に基づいて第1のチャネル報酬を生成するステップと、
を含む、請求項1または2に記載のダイナミックスペクトラムアクセスの最適化方法。
【請求項4】
前記更新ステップ実行後に、更新された第1のチャネル情報を含む前記1つ以上のチャネル情報に基づいて、前記選択ステップ、前記評価ステップ、前記更新ステップを繰り返して実行する、
請求項1〜3のいずれかに記載のダイナミックスペクトラムアクセスの最適化方法。
【請求項5】
前記更新ステップにおいて更新された第1のチャネル情報を含む前記1つ以上のチャネル情報を含む現在の状況に対する事例データを、将来的に履歴データとして利用可能なように事例データベースに記憶するステップをさらに含む、
請求項1〜4のいずれかに記載のダイナミックスペクトラムアクセスの最適化方法。
【請求項6】
前記第1のチャネル情報は、過去の実績に基づいて求められるチャネルの性能を表すチャネル値、将来的なチャネルの性能の予測を表すチャネルインデックス、および、チャネルの利用回数を含む、
請求項1〜5のいずれかに記載のダイナミックスペクトラムアクセスの最適化方法。
【請求項7】
前記更新ステップにおいて、
前記第1のチャネル情報に含まれるチャネル利用回数を増加させ、
前記第1のチャネル情報に含まれるチャネル値を、更新前のチャネル値と前記第1のチャネル報酬とに基づいて更新し、
前記第1のチャネル情報に含まれるチャネルインデックスを、更新後のチャネル値に、利用可能なチャネルの全体の利用回数と第1のチャネルの利用回数とに基づいて算出される値を加えた値として更新する、
請求項6に記載のダイナミックスペクトラムアクセスの最適化方法。
【請求項8】
ダイナミックスペクトラムアクセスを行う無線通信装置であって、
センサと、
過去の通信事例における、通信時の状況を表すデータと、利用可能なチャネルに関する情報である1つ以上のチャネル情報とを含む事例データを格納する事例データベースと、
前記センサから取得されるデータに基づいて現在の状況を取得し、現在の状況に対応する過去の事例の事例データを前記事例データベースから取得し、一致事例に含まれるチャネル情報に基づいて現在の状況に対する1つ以上のチャネル情報を生成する、事例モジュールと、
現在の状況に対する事例データに含まれる1つ以上のチャネル情報のいずれかのチャネル情報に関連づけられた第1のチャネルを選択するチャネル選択部と、
前記第1のチャネルの性能を評価し、前記第1のチャネルのチャネル報酬を生成する評価モジュールと、
前記第1のチャネル報酬に少なくとも部分的に基づいて、前記第1のチャネルのチャネル情報である第1のチャネル情報を更新する更新モジュールと、
を有する無線通信装置。
【請求項9】
請求項1〜7のいずれかに記載の方法の各ステップを、コンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate


【公開番号】特開2013−106343(P2013−106343A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2012−106849(P2012−106849)
【出願日】平成24年5月8日(2012.5.8)
【出願人】(502087460)株式会社トヨタIT開発センター (232)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】