説明

制御プロトコルシステム

【課題】効率の良い通信を行うことができる制御プロトコルシステムを提供する。
【解決手段】モニタモジュールと、要求モジュールと、割り当てモジュールとを含む制御プロトコルシステム。モニタモジュールは、貸し手候補からタイムスロットを借用するためのトリガイベントを検出する。要求モジュールは、トリガイベントに応えて借用要求を生成する。割り当てモジュールは、借用要求に応える貸し手候補からの応答を受信する。割り当てモジュールは、少なくとも前記応答に基づいて、借用要求が承認されたかどうかを決定する。割り当てモジュールは、前記承認に応えて、データ通信のために、第1のアクティブ期間に含まれる1つ又は2つ以上の指定タイムスロットと、第2のアクティブ期間に含まれる借用タイムスロットとを割り当てる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ通信システムに関する。特に、本発明は、車載ネットワークにおいて時分割多重アクセス(TDMA)ベースのメディアアクセス制御プロトコルを使用して、データ通信のためにタイムスロットを管理するシステム及び方法に関する。
【背景技術】
【0002】
(関連出願への相互参照)
本出願は、「Control Protocol System(制御プロトコルシステム)」と題され201
1年10月17日に出願された米国出願第61/548,002号の優先権を主張する。該出願は、その全体が本明細書中に参照として組み込まれる。
また、本出願は、「Control Protocol System(制御プロトコルシステム)」と題され
2012年3月15日に出願された米国出願第13/421,585号の優先権を主張する。
【0003】
TDMAベースの複数のパーソナルエリアネットワーク(PAN)がデータ伝送のために共通チャネル上で動作しているとき、従来の技術では、PANシステム内に含まれるノードに対し、そのPANシステム用に指定されたアクティブ期間中にのみデータを伝送することが許可される。例えば、同じチャネルを共有している各種のPANシステム間における干渉及び/又は衝突を回避するために、そのPANシステム用に指定されたアクティブ期間外にデータを送信することは、PANシステム内に含まれるどのノードに対しても許可されない。
【先行技術文献】
【非特許文献】
【0004】
”IEEE Standards Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (LR-WPANs)“ ,IEEE Computer Society,2003
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、PANシステム内に含まれる1つ又は2つ以上のノードが大量にデータを送信しなければならない状況下では、従来の技術では、それらの1つ又は2つ以上のノードが、PANシステム用に指定されたアクティブ期間中にしかデータの伝送を行うことができないため、深刻な伝送遅延を招く恐れがある。
なかでも特に、PANシステム用のデータバッファが満杯であるときに、データ損失を増大させる恐れがある。例えば、データバッファが満杯である場合に、新しく受信されたデータパケットを失う可能性がある。これは、しばしばパケット配信率の低下を招く。
更に、PANシステム内に含まれるノードが、PANシステムのアクティブ期間外にデータパケットを生成するときは、データパケットを一時的にデータバッファに入れるため、データパケットの配信に対して深刻なワンホップ遅延を招く恐れがある。
【0006】
例えば、TDMAベースの方法によって保証付きタイムスロットを実現するIEEE802.15.4プロトコル(非特許文献1参照)においては、1つのPANシステム内において保証付きタイムスロットを割り当てることのみが考慮されている。例えば、保証付きタイムスロットを、要求に応じて複数のPANシステムに配布することは考慮されていない。したがって、従来技術では、データ伝送において、望ましくない非効率を頻繁に引き起こす。
この非効率の要因の一つは、もし、第1のPANシステムが1つ又は2つ以上の保証付きタイムスロットにおいて伝送するべきデータがない場合に、第1のPANシステム用のそれらの保証付きタイムスロットがしばしば無駄にされることである。たとえ、第2のPANシステムが伝送を待つデータを有していたとしても、第2のPANシステムは、第1のPANシステム用に指定されたアイドル状態の保証付きタイムスロットをデータ伝送のために使用することができない。したがって、従来技術は、動作が非効率的である。
【0007】
本発明は、上記の問題点を考慮してなされたものであり、効率の良い通信を行うことができる制御プロトコルシステムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、先行技術の欠点及び限界を、データ通信のためにタイムスロットを管理するシステム及び方法を提供することによって克服する。
本発明に係る制御プロトコルシステムは、モニタモジュールと、要求モジュールと、割り当てモジュールとを含む。モニタモジュールは、貸し手候補からタイムスロットを借用するためのトリガイベントを検出する。要求モジュールは、トリガイベントに応えて借用要求を生成する。割り当てモジュールは、借用要求に応える貸し手候補からの応答を受信する。割り当てモジュールは、少なくとも前記応答に基づいて、借用要求が承認されたかどうかを決定する。割り当てモジュールは、前記承認に応えて、データ通信のために、第1のアクティブ期間に含まれる1つ又は2つ以上の指定タイムスロットと、第2のアクティブ期間に含まれる借用タイムスロットとを割り当てる。
【0009】
本発明は、前記制御プロトコルシステムが行うタイムスロット共有方法として特定することができる。
【発明の効果】
【0010】
本発明によると、効率の良い通信を行うことができる制御プロトコルシステムを提供することができる。
【図面の簡単な説明】
【0011】
【図1】1つの実施形態における、データ通信のためにタイムスロットを管理するシステムを示したハイレベルブロック図である。
【図2】1つの実施形態における、接続ユニットを示したブロック図である。
【図3A】各種の実施形態における、データ通信のためにタイムスロットを管理するプロセスを示したイベント図である。
【図3B】各種の実施形態における、データ通信のためにタイムスロットを管理するプロセスを示した第二のイベント図である。
【図4】1つの実施形態における、データ伝送のために1つ又は2つ以上のタイムスロットを借用する方法を示したフローチャートである。
【図5】1つの実施形態における、1つ又は2つ以上のタイムスロットを貸し出すかどうかを決定する方法を示したフローチャートである。
【図6A】各種の実施形態における、データ通信のためにタイムスロットを管理するプロセスを示した図である。
【図6B】各種の実施形態における、データ通信のためにタイムスロットを管理するプロセスを示した第二の図である。
【図7A】各種の実施形態における、タイムスロット管理のパフォーマンスを示したグラフである。
【図7B】各種の実施形態における、タイムスロット管理のパフォーマンスを示した第二のグラフである。
【発明を実施するための形態】
【0012】
データ通信のためにタイムスロットを管理するシステム及び方法を、以下に説明する。
以下の説明では、本発明を十分に理解できるように、多くの詳細について説明する。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。たとえば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【0013】
本明細書における「1つの実施形態」または「別の実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴・構造・性質が少なくとも本発明の一つの実施形態に含まれることを意味する。「1つの実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
【0014】
以下の詳細な説明の一部は、非一時的(non-transitory)なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において(また一般に)アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である
【0015】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算(処理)」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的(電子的)量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【0016】
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー(登録商標)ディスク・光ディスク・CD−ROM・MOディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
【0017】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
【0018】
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【0019】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも1つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
【0020】
入力/出力(I/O)装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはI/Oコントローラを介して直接あるいは間接的にシステムに接続される。
【0021】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット(登録商標)は、現在利用可能なネットワークアダプタのほんの一例である。
【0022】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【0023】
(システム概要)
図1は、1つの実施形態にしたがった、タイムスロットを管理するシステム100のハイレベルブロック図を示している。システム100は、1つ又は2つ以上のネットワークシステム101a、101b、…101n(個々に又はまとめてネットワークシステム101と称する)と、スイッチユニット113と、1つ又は2つ以上のサブシステム115a、115b、…115n(個々に又はまとめてネットワークシステム101と称する)とを含む。システム100のこれらのコンポーネントは、互いに可通信式につながれている。3つのネットワークシステム101a、101b、101n及び3つのサブシステム115a、115b、115nのみが示されているが、当業者ならば、システム100に、任意の数のネットワークシステム101及び任意の数のサブシステム115が含まれうることがわかるであろう。更に、図1には、1つのスイッチユニット113のみが描かれているが、システム100は、任意の数のスイッチユニット113を含むことが可能である。
【0024】
ネットワークシステム101aは、信号線102を通じてスイッチユニット113に可通信式につながれている。ネットワークシステム101bは、信号線104を通じてスイッチユニット113に可通信式につながれている。ネットワークシステム101nは、信号線120を通じてスイッチユニット113に可通信式につながれている。サブシステム115aは、信号線110を通じてスイッチユニット113に可通信式につながれている。サブシステム115bは、信号線112を通じてスイッチユニット113に可通信式に
つながれている。サブシステム115nは、信号線122を通じてスイッチユニット113に可通信式につながれている。1つの実施形態では、各信号線102、104、110、112、120、及び122は、無線接続(例えば無線ローカルエリアネットワーク(LAN)接続やBluetooth(登録商標)接続など)及び有線接続(例えばケーブルや地上の通信線などを通じた有線接続)のうちの1つを表している。
【0025】
例示の実施形態では、システム100は、更に、ネットワーク105と、統一型クラウドデータベース117とを含む。ネットワーク105及び統一型クラウドデータベース117は、それらがシステム100のオプション機能であることを示すために、破線で描かれている。スイッチユニット113は、信号線106を通じてネットワーク105に可通信式につながれている。統一型クラウドデータベース117は、信号線108を通じてネットワーク105に可通信式につながれている。1つの実施形態では、各信号線106及び108は、無線接続(例えば無線LAN接続や3G若しくは4Gネットワーク接続など)及び有線接続のうちの1つである。
【0026】
システム100は、図1に示したようなスター型構成を使用して例示されているが、その他の実施形態では、システム100は、シリアルバス構成、トークンリング構成、又は当業者に知られたその他の構成などの、その他の任意の構成を使用して実装されうる。
【0027】
ネットワークシステム101aは、共通のネットワークを形成する1つ又は2つ以上のエンティティを含むシステムである。例えば、ネットワークシステム101aは、共通のパーソナルエリアネットワーク(PAN)を形成する一群のデバイスを含むパーソナルエリアネットワークシステムである。例示の実施形態では、ネットワークシステム101aは、なかでも特に、1つ又は2つ以上のノード103a、103b、…103n(個々に又はまとめてノード103と称する)と、接続ユニット107aとを含む。1つの実施形態では、1つ又は2つ以上のノード103a、103b、…103nと、接続ユニット107aとは、パーソナルエリアネットワークを形成する。別の実施形態では、1つ又は2つ以上のノード103a、103b、…103nと、接続ユニット107aとは、ローカルエリアネットワークなどの別のタイプのネットワークを形成する。ネットワークシステム101aのこれらのコンポーネントは、互いに可通信式につながれている。
【0028】
ノード103aは、信号線114を通じて接続ユニット107aに可通信式につながれている。ノード103bは、信号線116を通じて接続ユニット107aに可通信式につながれている。ノード103nは、信号線118を通じて接続ユニット107aに可通信式につながれている。各信号線114、116、及び118は、有線接続及びBluetooth(登録商標)接続などの無線接続のうちの1つである。
【0029】
ノード103a、103b、…103nは、車に含まれる任意のデバイスである。例えば、ノード103は、ランプ、モータ、ヒータ、センサ、アクチュエータ、電子制御ユニット(ECU)などのうちの1つである。当業者ならば、その他のタイプのデバイスもノード103となりうることがわかるであろう。1つの実施形態では、第1のノード103aは、接続ユニット107aを通じてネットワークシステム101a内に含まれる第2のノード103bと通信する。例えば、第1のノード103aは、データを接続ユニット107aに伝送し、該接続ユニット107aに、そのデータを第2のノード103bに中継させる。別の実施形態では、第1のノード103aは、接続ユニット107aを伴うことなく第2のノード103bと直接通信する。例えば、第1のノード103aは、Bluetooth(登録商標)接続を使用して第2のノード103bと通信する。
【0030】
接続ユニット107aは、ネットワークシステム101a内に含まれるノード103a、103b、…103nのための通信を扱うモジュールである。例えば、接続ユニット1
07aは、スイッチ及び/又はゲートウェイデバイスなどのうちの1つである。1つの実施形態では、接続ユニット107aは、ノード103a、103b、…103n間における通信を扱う。例えば、接続ユニット107aは、第1のノード103aから第2のノード103bへデータを中継する。別の実施形態では、接続ユニット107aは、ネットワークシステム101の中のノード103と、システム100のその他のコンポーネントとの間における通信を担う。例えば、接続ユニット107aは、ネットワークシステム101a内に含まれるノード103からデータを受信し、該データを別のネットワークシステム101内に含まれる別のノード103に送信する。更に別の実施形態では、接続ユニット107aは、ネットワークシステム101a内に含まれるノード103であり、同じネットワークシステム101a内に含まれるその他の全てのノード103に関連した通信を扱う。
【0031】
例示の実施形態では、接続ユニット107aは、ネットワーク調整モジュール109aを含む。ネットワーク調整モジュール109aは、データ通信のためにタイムスロットを管理する手段である。1つの実施形態では、データ通信は、時分割多重アクセス(TDMA)ベースのメディアアクセス制御プロトコルを使用して実現される。1つの実施形態では、ネットワーク調整モジュール109aは、接続ユニット107a内に含まれるプロセッサ(不図示)のオンチップストレージ(不図示)に保存されたコード及びルーチンを実行することで機能する。別の実施形態では、ネットワーク調整モジュール109aは、フィールドプログラマブルゲートアレイ(FPGA)又は特殊用途向け集積回路(ASIC)などのハードウェアを使用して実装される。更に別の実施形態では、ネットワーク調整モジュール109aは、ハードウェアとソフトウェアとの組み合わせを使用して実装される。ネットワーク調整モジュール109aについては、図2〜図7Bを参照して後ほど詳しく説明する。
【0032】
ネットワークシステム101b及び101nは、ネットワークシステム101aと同様の構造及び機能を有する。同様の要素に言及するために、類似の参照符号が使用されており、同様の要素に関する説明は省略する。1つの実施形態では、ネットワークシステム101a、101b、…101nは、車載ネットワーク内に含まれている。
【0033】
例示の実施形態では、ネットワークシステム101bは、ノード103cと、ノード103dと、接続ユニット107bとを含む。接続ユニット107bは、ネットワーク調整モジュール109bを含む。ノード103cは、信号線124を通じて接続ユニット107bに可通信式につながれている。ノード103dは、信号線126を通じて接続ユニット107bに可通信式につながれている。当業者ならば、ネットワークシステム101bが任意の数のノード103を含みうることがわかるであろう。ネットワークシステム101nは、ノード103eと、ノード103fと、接続ユニット107nとを含む。接続ユニット107nは、ネットワーク調整モジュール109nを含む。ノード103eは、信号線128を通じて接続ユニット107nに可通信式につながれている。ノード103fは、信号線130を通じて接続ユニット107nに可通信式につながれている。当業者ならば、ネットワークシステム101nが任意の数のノード103を含みうることがわかるであろう。
【0034】
1つの実施形態では、ネットワークシステム101a、101b、…101nは、互いにデータを通信し合うための共通のチャネルを共有している。例えば、ネットワークシステム101内に含まれるノード103は、共通チャネルを使用してその他のネットワークシステム101内に含まれるその他のノード103と通信し合う。別の実施形態では、ネットワークシステム101a、101b、…101nは、スイッチユニット113とデータを通信し合うために共通チャネルを共有している。例えば、ネットワークシステム101a、101b、…101n内に含まれるノード103は、共通チャネルを使用してスイ
ッチユニット113と通信し合う。更に別の実施形態では、ネットワークシステム101a、101b、…101nは、1つ又は2つ以上のサブシステム115a、115b、…115nとデータを通信し合うために共通チャネルを共有している。1つの実施形態では、共通チャネルは、ネットワークシステム101a、101b、…101nについて同じ無線周波数で動作する無線通信チャネルである。
【0035】
1つの実施形態では、ネットワークシステム101a、101b、…101nは、スイッチユニット113を伴うことなく互いに直接通信し合う。例えば、ネットワークシステム101内に含まれるノード103は、無線通信チャネルを使用して別のネットワークシステム101内に含まれる別のノード103と直接通信し合う。別の実施形態では、ネットワークシステム101a、101b、…101nは、スイッチユニット113を伴うことなく1つ又は2つ以上のサブシステムと直接通信し合う。例えば、ネットワークシステム101内に含まれるノード113は、無線通信チャネルを使用して1つ又は2つ以上のサブシステム115と直接通信し合う。
【0036】
ここで、アクティブ期間について説明する。アクティブ期間とは、データを伝送するためにネットワークシステム101用に指定されている期間である。例えば、ネットワークシステム101のアクティブ期間は、ネットワークシステム101内に含まれるノード103がデータを伝送することを許可された期間である。ノード103は、ネットワークシステム101の非アクティブ期間中は、データを伝送することを許可されない。ネットワークシステム101の非アクティブ期間は、データ伝送のためにネットワークシステム101用に指定されていない期間である。例えば、ネットワークシステム101の非アクティブ期間は、ネットワークシステム101内に含まれるノード103がデータを伝送することを許可されない期間である。1つの実施形態では、第1のネットワークシステム101のアクティブ期間は、第2のネットワークシステム101の非アクティブ期間である。ネットワークシステム101のアクティブ期間及び非アクティブ期間を図示した例が、図6Aである。ネットワークシステム101のアクティブ期間を、そのネットワークシステム101の指定アクティブ期間と称する。
【0037】
1つの実施形態では、アクティブ期間は、1つ又は2つ以上のタイムスロットを含む。タイムスロットは、アクティブ期間の何分の1かを構成する持続時間である。ネットワークシステム101用に指定されたアクティブ期間に含まれるタイムスロットを、ネットワークシステム101の指定タイムスロットと称する。
【0038】
データ通信のために共通チャネルを共有している、異なるネットワークシステム101a、101b、…101n間における衝突及び/又は干渉を回避するために、ネットワークシステム101a、101b、…101nは、各自、重複しないアクティブ期間をデータ伝送のために指定される。例えば、第1のネットワークシステム101は、第1のアクティブ期間を指定される。ネットワーク調整モジュール109は、第1のアクティブ期間に含まれる1つ又は2つ以上の指定タイムスロットを、第1のネットワークシステム101内に含まれる1つ又は2つ以上のノード103に割り当てて、該1つ又は2つ以上のノード103が指定タイムスロット中にデータを伝送することを許可する。同様に、第2のネットワークシステム101は、第2のアクティブ期間を指定され、第2のネットワークシステム101内に含まれる1つ又は2つ以上のノード103が第2のアクティブ期間中にデータを伝送することを許可する。第1のアクティブ期間は、第2のアクティブ期間と重複しないので、データ伝送中に第1のネットワークシステム101と第2のネットワークシステム101との間に干渉及び/又は衝突が引き起こされることはない。
【0039】
1つの実施形態では、第1のアクティブ期間に関連付けられた第1のネットワークシステム101は、図2〜7Bを参照して後ほど更に詳しく説明するように、第2のネットワ
ークシステム用に指定された第2のアクティブ期間から1つ又は2つ以上のタイムスロットを借用する。第2のネットワークシステム101は、借用される1つ又は2つ以上のタイムスロットを第1のネットワークシステム101のために確保しておき、第1のネットワークシステム101内に含まれるノード103が第1のネットワークシステム101用に指定された第1のアクティブ期間中及び第2のアクティブ期間に含まれる借用タイムスロット中にデータを伝送することを許可する。
【0040】
スイッチユニット113は、システム100の異なるエンティティ間でデータをルーティングするためのデバイスである。例えば、スイッチユニット113は、ネットワークシステム101とネットワーク105との間でデータをルーティングする。1つの実施形態では、スイッチユニット113は、ネットワークシステム101とサブシステム115との間でデータをルーティングする。別の実施形態では、スイッチユニット113は、第1のネットワークシステム101と第2のネットワークシステム101との間でデータをルーティングする。更に別の実施形態では、スイッチユニット113は、第1のサブシステム115と第2のサブシステム115との間でデータをルーティングする。
【0041】
サブシステム115は、車内で使用可能な任意の機能を提供するためのシステムである。例えば、サブシステム115は、安全システム(例えばエアバッグ監視システムやエンジン監視システムなど)、情報提供システム(例えば全地球測位システム)、及びエンターテイメントシステム(例えばステレオシステム)などのうちの1つである。当業者ならば、その他のタイプのシステムもサブシステム115となりうることがわかるであろう。1つの実施形態では、サブシステム115は、1つ又は2つ以上のノード103を各自が含む、1つ又は2つ以上のネットワークシステム101を含む。別の実施形態では、サブシステム115は、車載ネットワーク内に含まれる。
【0042】
オプションであるネットワーク105は、有線又は無線の、従来のタイプのネットワークであり、スター型構成、トークンリング構成、又は当業者に知られるその他の構成などの、任意の数の構成を含みうる。1つの実施形態では、ネットワーク105は、ローカルエリアネットワーク(LAN)、例えばインターネットなどの広域ネットワーク(WAN)、及び/又は複数のデバイスがそれを通して通信し合うその他の任意の相互接続データ経路のうちの、1つ又は2つを含む。別の実施形態では、ネットワーク105は、ピアツーピアネットワークである。
ネットワーク105は、種々様々な通信プロトコルでデータを送信するために、電気通信ネットワークにつながれる又は電気通信ネットワークの部分を含む。例えば、ネットワークは、3Gネットワーク又は4Gネットワークである。更に別の実施形態では、ネットワーク105は、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、無線アプリケーションプロトコル(WAP)、e−mailなどを介するなどしてデータを送受信するために、Bluetooth通信ネットワーク又はセルラ式通信ネットワークを含む。更に別の実施形態では、ネットワーク105のなかのリンクの全部又は一部が、セキュアソケットレイヤ(SSL)、セキュアHTTP、及び/又は仮想プライベートネットワーク(VPN)などの、従来の暗号化技術を使用して暗号化される。
【0043】
オプションの統一型クラウドデータベース117は、ネットワーク105を通じてアクセス可能なオンラインデータベースである。例えば、統一型クラウドデータベース117は、複数の企業によって提供される複数の仮想サーバ上にデータを保存するデータベースである。1つの実施形態では、統一型クラウドデータベース117は、システム100の機能性を提供するためのあらゆるデータを保存する。別の実施形態では、統一型クラウドデータベース117は、複数の車に組み込まれた複数のネットワークシステム101及び/又はサブシステム115から受信したデータを保存する。
【0044】
システム100は、(1)複数のネットワークシステム101(例えば10個のネットワークシステム101)が、データ伝送のために共通チャネルを共有している状況、(2)各ネットワークシステム101が、複数のノード103を含む(例えば、各ネットワークシステム101が、データを伝送するために20個を超えるノード103を含み、往来の混雑を招く恐れがある)状況、(3)指定アクティブ期間のみを使用して通信した場合よりも高い伝送速度が要求されている状況、及び(4)ネットワークシステム101内に含まれるノード103が、そのネットワークシステム101用に指定されたアクティブ期間外におけるデータの伝送を要求している状況のうちの、1つ又は2つ以上の状況下において、特に有益である。以下で更に詳しく説明するように、システム100は、ネットワークシステム101のなかのネットワーク調整モジュール109が、その他のネットワークシステム101のなかのその他のネットワーク調整モジュール109から、利用可能なタイムスロットをデータ伝送のために借用することを可能にする。したがって、ネットワークシステム101は、同じチャネルを共有している異なるネットワークシステム101間における衝突を回避しつつ、データ伝送のために自身のアクティブ期間を延長することができる。
【0045】
(ネットワーク調整モジュール)
次に、ネットワーク調整モジュール109をより詳しく説明する図2を参照する。図2は、1つの実施形態にしたがった接続ユニット107を示したブロック図である。例示の実施形態では、接続ユニット107は、プロセッサ237と、メモリ239と、ネットワーク調整モジュール109とを含む。接続ユニット107のこれらのコンポーネントは、バス220を通じて互いに可通信式につながれている。プロセッサ237は、信号線236を通じてバス220に可通信式につながれている。メモリ239は、信号線238を通じてバス220に可通信式につながれている。
【0046】
プロセッサ237は、計算の実施や、メモリ239に保存されたデータの取り出しなどに用いられ、算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、又はその他のプロセッサアレイを含む。プロセッサ237は、データ信号を処理するものであり、複合命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、又は命令セットの組み合わせを実行するアーキテクチャなどの、各種の計算アーキテクチャを含みうる。図2では、1つのプロセッサのみが示されているが、複数のプロセッサが含まれてもよい。処理能力は、画像の表示、画像のキャプチャ、及び画像の伝送をサポートすることに限られてもよい。また、処理能力は、各種タイプの特徴抽出や特徴サンプリングなどの、より複雑なタスクを実施するのに十分であってもよい。当業者ならば、その他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、及び物理的構成を用い得ることが自明であろう。
【0047】
メモリ239は、プロセッサ237によって実行されうる命令及び/又はデータを保存する。命令及び/又はデータは、本明細書で説明する任意の及び/又は全ての技術を実施するためのコードを含みうる。メモリ239は、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリ、又は当該分野で知られるその他の何らかのメモリデバイスであってよい。1つの実施形態では、メモリ239は、ハードディスクドライブ、フロッピィディスクドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュメモリデバイス、又はより永久的な方式で情報を保存するための、当該分野で知られるその他の何らかの大容量ストレージデバイスも含む。
【0048】
例示の実施形態では、ネットワーク調整モジュール109は、通信モジュール201と、モニタモジュール203と、要求モジュール205と、割り当てモジュール207と、
承認モジュール209と、グラフィカルユーザインターフェース(GUI)モジュール211とを含む。これらのコンポーネントは、バス220を通じて互いに可通信式につながれている。
【0049】
通信モジュール201は、プロセッサ237によって実行され、ネットワーク調整モジュール109のコンポーネントと、システム100のその他のコンポーネントとの間における通信を扱うコード及びルーチンである。例えば、ネットワーク調整モジュール109内に含まれる通信モジュール201は、要求モジュール205から借用要求を受信し、該借用要求を別のネットワーク調整モジュール109に送信する。借用要求とは、データ伝送のために、他のネットワークシステム101から1つ又は2つ以上のタイムスロットを借用するための要求である。
【0050】
1つの実施形態では、通信モジュール201は、ネットワーク調整モジュール109のコンポーネント間における通信を扱う。例えば、通信モジュール201は、トリガイベントを記述するイベントデータをモニタモジュール203から受信し、該イベントデータを要求モジュール205に送信する。トリガイベントについては、後ほど更に詳しく説明する。当業者ならば、通信モジュール201が、本明細書で説明する任意の機能を提供しうることがわかるであろう。通信モジュール201は、信号線222を通じてバス220に可通信式につながれている。
【0051】
モニタモジュール203は、プロセッサ237によって実行され、ネットワークシステム101に関連した任意のトリガイベントの発生を監視するコード及びルーチンである。モニタモジュール203は、信号線224を通じてバス220に可通信式につながれている。1つの実施形態では、モニタモジュール203は、トリガイベントの発生について、ネットワークシステム101内に含まれる1つ又は2つ以上のノード103を監視する。もし、ネットワークシステム101においてトリガイベントの発生を検出した場合、モニタモジュール203は、そのトリガイベントを記述するイベントデータを要求モジュール205に送信する。
【0052】
トリガイベントとは、他のネットワークシステム101から1つ又は2つ以上のタイムスロットを借用するための要求をトリガするイベントである。例えば、トリガイベントは、ネットワークシステム101内に含まれる1つ又は2つ以上のノード103におけるデータ伝送が混雑していること、ネットワークシステム101内に含まれる1つ又は2つ以上のバッファ(不図示)における利用可能ストレージスペースが既定の閾値を下回ること、ネットワークシステム101の指定アクティブ期間外でデータを伝送しようとする要求、及び伝送のパフォーマンスを向上させようとする命令(例えば、より高い伝送速度、より短い遅延、及び/又はより低いデータ損失などでデータを伝送しようとする要求)のうちの1つである。当業者ならば、その他のタイプのトリガイベントも用い得ることがわかるであろう。
【0053】
要求モジュール205は、プロセッサ237によって実行され、借用要求を生成するコード及びルーチンである。要求モジュール205は、信号線226を通じてバス220に可通信式につながれている。1つの実施形態では、借用要求は、イニシエータと、貸し手候補と、タイムスロットを借用することの表示とを記述するデータを含む。イニシエータとは、借用要求を生成するエンティティである。例えば、イニシエータは、ネットワークシステム101内に含まれるネットワーク調整モジュール109であって、その他のネットワークシステム101から1つ又は2つ以上のタイムスロットを借用することを要求するネットワーク調整モジュール109である。また、貸し手候補は、1つ又は2つ以上のタイムスロットをイニシエータに貸し出すかどうかを決定するエンティティである。例えば、貸し手候補は、イニシエータから受信した借用要求を処理し、1つ又は2つ以上のタ
イムスロットをイニシエータに貸し出すかどうかを決定するネットワーク調整モジュール109である。1つの実施形態では、イニシエータ及び貸し手候補は、データ伝送のための共通チャネルを共有しているネットワーク調整モジュール109である。
【0054】
1つの実施形態では、ネットワークシステム101内に含まれる要求モジュール205が、トリガイベントを記述するイベントデータをモニタモジュール203から受信する。要求モジュール205は、トリガイベントに応えて、貸し手候補から1つ又は2つ以上のタイムスロットを借用するための借用要求を生成する。要求モジュール205は、借用要求を貸し手候補に送信する。別の実施形態では、要求モジュール205は、トリガイベントに応えて複数の借用要求を生成し、複数の貸し手候補に送信する。例えば、要求モジュール205は、複数の貸し手候補についてそれぞれ借用要求を生成し、それぞれ複数の貸し手候補に送信する。
【0055】
割り当てモジュール207は、プロセッサ237によって実行され、データ通信のために1つ又は2つ以上のノード103にタイムスロットを割り当てるコード及びルーチンである。割り当てモジュール207は、信号線228を通じてバス220に可通信式につながれている。1つの実施形態では、割り当てモジュール207は、ネットワークシステム101のアクティブ期間に含まれる1つ又は2つ以上の指定タイムスロットを、ネットワークシステム101内に含まれる1つ又は2つ以上のノード103に割り当てる。例えば、割り当てモジュール207は、アクティブ期間に含まれる第1のタイムスロットを第1のノード103に割り当てて、第1のノード103が第1のタイムスロット中にデータを伝送することを許可する。同様に、割り当てモジュール207は、アクティブ期間に含まれる第2のタイムスロットを第2のノード103に割り当てて、第2のノード103が第2のタイムスロット中にデータを伝送することを許可する。
【0056】
1つの実施形態では、割り当てモジュール207は、貸し手候補から応答を受信する。応答は、借用要求に対する応答を含む。例えば、応答は、承認応答及び不承認応答のどちらかである。不承認応答は、イニシエータへのタイムスロットの貸し出しを拒否する、貸し手候補からの応答である。1つの実施形態では、不承認応答は、借用要求を承認しなかった1つ又は2つ以上の貸し手候補と、借用要求を開始させたイニシエータと、不承認であることの表示とを記述するデータを含む。
【0057】
承認応答は、イニシエータへの1つ又は2つ以上のタイムスロットの貸し出しを承認する、貸し手候補からの応答である。1つの実施形態では、承認応答は、借用要求を承認した1つ又は2つ以上の貸し手候補と、借用要求を開始させたイニシエータと、承認することの表示と、イニシエータに貸し出される1つ又は2つ以上のタイムスロットについての1つ又は2つ以上のタイムスロット識別子(ID)と、特定の貸し出し期間とを記述するデータを含む。特定の貸し出し期間とは、貸し手候補がイニシエータへの1つ又は2つ以上のタイムスロットの貸し出しを承諾した期間である。例えば、特定の貸し出し期間は、貸し手候補が借用要求を承認した時点から計って2分間の持続時間である。1つの実施形態では、特定の期間は、貸し手候補によって決定される。イニシエータに貸し出される1つ又は2つ以上のタイムスロットを、イニシエータのための1つ又は2つ以上の借用タイムスロットと称する。
【0058】
1つの実施形態では、割り当てモジュール207は、少なくとも受信した応答に基づいて、借用要求が貸し手候補によって承認されたかどうかを決定する。例えば、割り当てモジュール207は、応答が承認応答であるか又は不承認応答であるかを決定する。もし、応答が不承認応答であった場合、割り当てモジュール207は、借用要求が貸し手候補によって拒否されたことを決定する。割り当てモジュール207は、指定アクティブ期間に含まれる指定タイムスロットのみを、データ伝送のために1つ又は2つ以上のノード10
3に割り当てる。
【0059】
もし、応答が承認応答であった場合、割り当てモジュール207は、借用要求が貸し手候補によって承認されたことを決定する。割り当てモジュール207は、1つ又は2つ以上の借用タイムスロットを識別する1つ又は2つ以上のタイムスロットIDを承認応答から抽出する。1つの実施形態では、割り当てモジュール207は、指定アクティブ期間と1つ又は2つ以上の借用タイムスロットとを含むように、ネットワークシステム101のためのアクティブ期間を延長する。指定アクティブ期間と、1つ又は2つ以上の借用タイムスロットとを含むアクティブ期間を、延長アクティブ期間と称する。
【0060】
割り当てモジュール207は、延長アクティブ期間に含まれるタイムスロットを、データ伝送のために1つ又は2つ以上のノード103に割り当てる。例えば、割り当てモジュール207は、指定タイムスロットと1つ又は2つ以上の借用タイムスロットとを1つ又は2つ以上のノード103に割り当て、該1つ又は2つ以上のノード103が指定タイムスロット中及び1つ又は2つ以上の借用タイムスロット中にデータを伝送することを許可する。1つの実施形態では、割り当てモジュール207は、1つ又は2つ以上の借用タイムスロットを、特定の貸し出し期間中にのみ1つ又は2つ以上のノード103に割り当てる。もし、特定の貸し出し期間が経過した場合は、割り当てモジュール207は、それらの借用タイムスロットをノード103に割り当てない。その代わり、割り当てモジュール207は、新しい借用要求を生成して承認のために貸し手候補に送信するように、要求モジュール205に指示する。
【0061】
1つの実施形態では、割り当てモジュール207は、複数の貸し手候補から複数の応答を受信する。例えば、割り当てモジュール207は、複数の貸し手候補から応答をそれぞれ受信する。割り当てモジュール207は、複数の応答のなかに承認応答があるかどうかを決定する。もし、複数の応答のなかに承認応答が含まれない場合、割り当てモジュール207は、イニシエータへのタイムスロットの貸し出しを承認する貸し手候補がいないことを決定する。割り当てモジュール207は、ネットワークシステム101用に指定されたアクティブ期間に含まれる指定タイムスロットのみを、データ伝送のために1つ又は2つ以上のノード103に割り当てる。
【0062】
もし、複数の応答のなかに1つ又は2つ以上の承認応答が含まれる場合、割り当てモジュール207は、1つ又は2つ以上の承認応答から1つ又は2つ以上のタイムスロットIDを抽出する。割り当てモジュール207は、ネットワークシステム101のための指定アクティブ期間と、1つ又は2つ以上の承認応答に含まれるタイムスロットIDによって識別される全ての借用タイムスロットとを含むように、アクティブ期間を延長する。割り当てモジュール207は、延長アクティブ期間に含まれるタイムスロット(例えば、指定アクティブ期間に含まれる指定タイムスロット及びその他のネットワークシステム101からの全ての借用タイムスロット)を、データ伝送のために1つ又は2つ以上のノード103に割り当てる。
【0063】
ネットワークシステム101(例えばイニシエータ)にとって、ネットワークシステム101のための指定アクティブ期間と、1つ又は2つ以上のその他のネットワークシステム101(例えば貸し手候補)からの1つ又は2つ以上の借用タイムスロットとを含むように、自身のアクティブ期間を延長することは、とりわけ好都合である。例えば、ネットワークシステム101内に含まれる1つ又は2つ以上のノード103は、ネットワークシステム101に関連付けられた指定アクティブ期間を使用するのみならず、その他のネットワークシステム101からの1つ又は2つ以上の借用タイムスロットも使用してデータを伝送することができる。タイムスロットを借用することで、スループットの向上、遅延の短縮、及び/又はデータ損失の低減などの、ネットワークシステム101にとっての各
種のパフォーマンス向上が達成される。
【0064】
承認モジュール209は、プロセッサ237によって実行され、指定アクティブ期間から1つ又は2つ以上のタイムスロットをイニシエータに貸し出すことを承認するかどうかを決定するコード及びルーチンである。承認モジュール209は、信号線230を通じてバス220に可通信式につながれている。1つの実施形態では、承認モジュール209は、イニシエータから借用要求を受信し、イニシエータに貸し出し可能なタイムスロットがあるかどうかを決定する。例えば、承認モジュール209は、ネットワークシステム101用に指定されたアクティブ期間のなかに、アイドル状態のタイムスロットがあるかどうかを決定する。
【0065】
もし、イニシエータに貸し出し可能な1つ又は2つ以上のタイムスロットがある場合、承認モジュール209は、イニシエータへの1つ又は2つ以上の貸し出し可能タイムスロットの貸し出しを承認する。1つの実施形態では、承認モジュール209は、1つ又は2つ以上のタイムスロットをイニシエータのために確保する。例えば、承認モジュール209は、同じネットワークシステム101内に含まれるどのノード103にもそれらの確保されたタイムスロットを割り当てないように、割り当てモジュール207に指示する。1つの実施形態では、承認モジュール209は、1つ又は2つ以上の貸し出し可能タイムスロットを特定の貸し出し期間にわたってイニシエータに貸し出すことを承認する。承認モジュール209は、確保されたタイムスロットを識別する1つ又は2つ以上のタイムスロットIDと、特定の貸し出し期間とを含む承認応答を生成する。承認モジュール209は、承認応答をイニシエータに送信する。1つの実施形態では、特定の貸し出し期間(例えば5分間)が経過したときに、承認モジュール209は、貸し出し可能タイムスロットをイニシエータのために確保することを止める。
【0066】
もし、イニシエータに貸し出し可能なタイムスロットがない(例えば、ネットワークシステム101のための全ての指定タイムスロットが、データ伝送のためにノード103に割り当て済み、及び/若しくは割り当てられると見越されている、又は指定タイムスロットが、その他のイニシエータに貸し出されているなど)場合、承認モジュール209は、イニシエータへのタイムスロットの貸し出しを拒否する。承認モジュール209は、タイムスロットの貸し出しが不承認であることを示す不承認応答を生成し、イニシエータに送信する。
【0067】
1つの実施形態では、承認モジュール209は、複数のイニシエータから複数の借用要求を受信する。例えば、承認モジュール209は、各イニシエータから借用要求を受信する。1つの実施形態では、承認モジュール209は、複数の借用要求に優先順位をつける。例えば、承認モジュール209は、少なくとも各借用要求の受信時間に基づいて、複数の借用要求の順序を決める。承認モジュール209は、各借用要求を少なくともその順序に基づいて処理し、上述されたものと同様の動作の実施によってそれぞれのイニシエータに1つ又は2つ以上のタイムスロットを貸し出すかどうかを決定する。例えば、承認モジュール209は、受信時間が最も早い借用要求を選択し、その最も早い借用要求を生成したイニシエータへの1つ又は2つ以上のタイムスロットの貸し出しを承認するかどうかを決定する。次に、承認モジュール209は、受信時間が2番目に早い借用要求を選択し、その2番目に早い借用要求を生成したイニシエータに1つ又は2つ以上のタイムスロットを貸し出すかどうかを決定する。
【0068】
GUIモジュール211は、プロセッサ237によって実行され、ユーザへのGUIを提供するためのグラフィカルデータを生成するコード及びルーチンである。GUIモジュール211は、信号線232を通じてバス220に可通信式につながれている。GUIモジュール211は、ネットワークシステム101内に含まれるディスプレイ(不図示)に
グラフィカルデータを送信し、ディスプレイに、少なくともグラフィカルデータに基づいてユーザに対してGUIを提示する。
【0069】
1つの実施形態では、GUIモジュール211は、イニシエータに貸し出される1つ又は2つ以上のタイムスロットを識別する1つ又は2つ以上のタイムスロットIDを承認モジュール209から受信する。GUIモジュール211は、イニシエータに貸し出される1つ又は2つ以上のタイムスロットについて管理者に知らせるために、GUIを提供するためのグラフィカルデータを生成する。別の実施形態では、GUIモジュール211は、トリガイベントを記述するイベントデータをモニタモジュール203から受信する。GUIモジュール211は、トリガイベントについて管理者に知らせるために、GUIを提供するためのグラフィカルデータを生成する。当業者ならば、GUIモジュール211が、本明細書で説明するその他の機能も提供しうることがわかるであろう。
【0070】
(イベント図)
図3Aは、1つの実施形態にしたがった、データ通信のためにタイムスロットを管理するプロセスを示したイベント図300である。例示の実施形態では、第1のネットワーク調整モジュール109a(イニシエータと称する)が、第2のネットワーク調整モジュール109b(貸し手候補と称する)から1つ又は2つ以上のタイムスロットを借用することを要求する。第1のネットワーク調整モジュール109aは、第1のネットワークシステム101a内に含まれる。第2のネットワーク調整モジュール109bは、第2のネットワークシステム101b内に含まれる。第1のネットワークシステム101a及び第2のネットワークシステム101bは、図1に示したように、他のエンティティへのデータ伝送のための共通チャネルを共有している。第1のネットワークシステム101aは、データ伝送のために第1のアクティブ期間を指定される。第2のネットワークシステム101bは、データ伝送のために第2のアクティブ期間を指定される。第1のアクティブ期間は、第2のアクティブ期間とは重複しない。
【0071】
第1のネットワーク調整モジュール109a内に含まれるモニタモジュール203は、1つ又は2つ以上のタイムスロットを借用するためのトリガイベントを検出する(301)。モニタモジュール203は、トリガイベントを記述するイベントデータを、第1のネットワーク調整モジュール109a内に含まれる要求モジュール205に送信する。要求モジュール205は、トリガイベントに応えて借用要求を生成する(302)。要求モジュール205は、第1のネットワーク調整モジュール109a内に含まれる第1の通信モジュール201に借用要求を送信する。
【0072】
第1の通信モジュール201は、第2のネットワーク調整モジュール109b内に含まれる第2の通信モジュール201に借用要求を送信する(304)。第2の通信モジュール201は、第2のネットワーク調整モジュール109b内に含まれる承認モジュール209に借用要求を送信する。承認モジュール209は、第2のアクティブ期間から第1のネットワーク調整モジュール109aに1つ又は2つ以上のタイムスロットを貸し出すことを決定する(306)。例えば、承認モジュール209は、第2のアクティブ期間のなかに貸し出し可能な1つ又は2つ以上のアイドル状態のタイムスロットがあることを決定し、それらの1つ又は2つ以上のアイドル状態のタイムスロットを第1のネットワーク調整モジュール109aに貸し出すことを承認する。
【0073】
承認モジュール209は、貸し出し可能な1つ又は2つ以上のタイムスロットを、第1のネットワーク調整モジュール109aへの貸し出しのために確保する(308)。承認モジュール209は、承認応答を生成し(310)、第2の通信モジュール201に送信する。承認応答は、第1のネットワークシステム101aへの貸し出しを承認された1つ又は2つ以上のタイムスロットを識別する1つ又は2つ以上のタイムスロットIDや、特
定の貸し出し期間などを含む。
【0074】
第2の通信モジュール201は、第1の通信モジュール201に承認応答を送信する(312)。第1の通信モジュール201は、第1のネットワーク調整モジュール109a内に含まれる割り当てモジュール207に承認応答を送信する。割り当てモジュール207は、1つ又は2つ以上の借用タイムスロットを識別する1つ又は2つ以上のタイムスロットIDを承認応答から抽出する。割り当てモジュール207は、第2のアクティブ期間に含まれる1つ又は2つ以上の借用タイムスロットと、第1のアクティブ期間に含まれる指定タイムスロットとを、データ伝送のために、第1のネットワークシステム101a内に含まれる1つ又は2つ以上のノード103に割り当てる(314)。
【0075】
図3Bは、別の実施形態にしたがった、データ通信のためにタイムスロットを管理するプロセスを示したイベント図350である。図3Aを参照して上述したように、第1のネットワークシステム101a内に含まれる第1のネットワーク調整モジュール109aは、第2のネットワークシステム101b内に含まれる第2のネットワーク調整モジュール109bから1つ又は2つ以上のタイムスロットを借用することを要求する。データ伝送のために、第1のネットワークシステム101aは、第1のアクティブ期間を指定され、第2のネットワークシステム101bは、第2のアクティブ期間を指定される。第1のネットワークシステム101a及び第2のネットワークシステム101bは、図1に示したように、他のエンティティへデータ伝送を行うための共通チャネルを共有している。
【0076】
第1のネットワーク調整モジュール109a内に含まれるモニタモジュール203は、1つ又は2つ以上のタイムスロットを借用するためのトリガイベントを検出する(351)。モニタモジュール203は、トリガイベントを記述するイベントデータを、第1のネットワーク調整モジュール109a内に含まれる要求モジュール205に送信する。要求モジュール205は、トリガイベントに応えて借用要求を生成する(352)。要求モジュール205は、第1のネットワーク調整モジュール109a内に含まれる第1の通信モジュール201に借用要求を送信する。
【0077】
第1の通信モジュール201は、第2のネットワーク調整モジュール109b内に含まれる第2の通信モジュール201に借用要求を送信する(354)。第2の通信モジュール201は、第2のネットワーク調整モジュール109b内に含まれる承認モジュール209に借用要求を送信する。承認モジュール209は、第2のアクティブ期間から第1のネットワーク調整モジュール109aにタイムスロットを貸し出さないことを決定する(356)。例えば、承認モジュール209は、第2のアクティブ期間に含まれる全てのタイムスロットが1つ又は2つ以上のノード103によるデータ伝送のために占有されていることを検出し、第1のネットワーク調整モジュール109aにタイムスロットを貸し出さないことを決定する。
【0078】
承認モジュール209は、不承認応答を生成し(358)、第2の通信モジュール201に送信する。第2の通信モジュール201は、第1の通信モジュール201に不承認応答を送信する(360)。第1の通信モジュール201は、第1のネットワーク調整モジュール109a内に含まれる割り当てモジュール207に不承認応答を送信する。割り当てモジュール207は、借用要求が第2のネットワーク調整モジュール109bによって拒否されたことを決定する。割り当てモジュール207は、第1のアクティブ期間に含まれる指定タイムスロットを、データ伝送のために、第1のネットワークシステム101a内に含まれる1つ又は2つ以上のノード103に割り当てる(362)。
【0079】
(処理フロー)
図4は、1つの実施形態にしたがった、1つ又は2つ以上のタイムスロットを借用する
処理400を示したフローチャートである。例示の実施形態では、ネットワーク調整モジュール109a(イニシエータ)は、別のネットワーク調整モジュール109b(貸し手候補)から1つ又は2つ以上のタイムスロットを借用することを要求する。イニシエータ内に含まれるモニタモジュール203は、1つ又は2つ以上のタイムスロットを借用するためのトリガイベントを検出する(401)。モニタモジュール203は、トリガイベントを記述するイベントデータを、イニシエータ内に含まれる要求モジュール205に送信する。要求モジュール205は、トリガイベントの受信に応えて借用要求を生成する(402)。要求モジュール205は、イニシエータ内に含まれる通信モジュール201に借用要求を送信する。通信モジュール201は、借用要求を貸し手候補に送信する(404)。
【0080】
貸し手候補内に含まれる承認モジュール209は、1つ又は2つ以上のタイムスロットをイニシエータに貸し出すかどうかを決定し、少なくとも該決定に基づいて応答を生成する。例えば、承認モジュール209は、図5を参照して後ほど説明するのと同様なステップを実施し、イニシエータからの借用要求の受信に応えて応答を生成する。承認モジュール209は、その応答を、イニシエータ内に含まれる通信モジュール201に送信する。
【0081】
通信モジュール201は、貸し手候補からの応答を受信し(406)、イニシエータ内に含まれる割り当てモジュール207に送信する。割り当てモジュール207は、借用要求が貸し手候補によって承認されたかどうかを決定する(408)。例えば、割り当てモジュール207は、応答が承認応答であるか又は不承認応答であるかを決定する。承認応答は、貸し手候補が借用要求を承認したことを示す。例えば、承認応答は、イニシエータに貸し出される1つ又は2つ以上のタイムスロットを識別する1つ又は2つ以上のタイムスロットIDを含む。不承認応答は、貸し手候補が借用要求を拒否したことを示す。もし、借用要求が貸し手候補によって承認された場合、処理400は、ステップ410に進む。そうでなければ、処理400は、ステップ412に進む。
【0082】
ステップ410では、割り当てモジュール207は、貸し手候補から借用された1つ又は2つ以上のタイムスロットと、イニシエータに指定された1つ又は2つ以上のタイムスロットとを、データ伝送のために1つ又は2つ以上のノード103に割り当てる。1つ又は2つ以上の指定タイムスロットは、イニシエータに指定された第1のアクティブ期間に含まれるタイムスロットである。1つ又は2つ以上の借用タイムスロットは、貸し手候補に指定された第2のアクティブ期間に含まれるタイムスロットである。第1のアクティブ期間は、第2のアクティブ期間とは重複しない。
【0083】
ステップ412では、割り当てモジュール207は、イニシエータに関連付けられた1つ又は2つ以上の指定タイムスロットのみを、データ伝送のために1つ又は2つ以上のノード103に割り当てる。そして処理400は終了する。
【0084】
図5は、1つの実施形態にしたがった、1つ又は2つ以上のタイムスロットをイニシエータに貸し出すかどうかを決定する処理500を示したフローチャートである。例示の実施形態では、ネットワーク調整モジュール109a(イニシエータ)は、別の調整モジュール109b(貸し手候補)から1つ又は2つ以上のタイムスロットを借用することを要求する。貸し手候補は、1つ又は2つ以上のタイムスロットをイニシエータに貸し出すかどうかを決定する。貸し手候補内に含まれる通信モジュール201は、イニシエータから借用要求を受信する(502)。通信モジュール201は、貸し手候補内に含まれる承認モジュール209に借用要求を送信する。
【0085】
承認モジュール209は、イニシエータに貸し出し可能な1つ又は2つ以上のタイムスロットがあるかどうかを決定する(504)。例えば、承認モジュール209は、データ
伝送のために使用されておらず、尚且つその他のどのネットワーク調整モジュール109に貸し出されていないアイドル状態のタイムスロットがあるかどうかを決定する。もし、貸し出し可能な1つ又は2つ以上のタイムスロットがある場合、処理500は、ステップ506に進む。そうでなければ、処理500は、ステップ512に進む。
【0086】
ステップ506では、承認モジュール209は、貸し出し可能な1つ又は2つ以上のタイムスロットをイニシエータへの貸し出しのために確保する。承認モジュール209は、確保された1つ又は2つ以上のタイムスロットを識別する1つ又は2つ以上のタイムスロットIDを含む承認応答を生成する(508)。承認モジュール209は、承認応答をイニシエータに送信する(510)。
【0087】
ステップ512では、承認モジュール209は、イニシエータへのタイムスロットの貸し出しを拒否することの表示を含む不承認応答を生成する。承認モジュール209は、不承認応答をイニシエータに送信する(514)。そして処理500は終了する。
【0088】
(タイムスロットの貸借例)
図6Aは、1つの実施形態にしたがった、データ通信のためにタイムスロットを管理するプロセス600を示した図である。例示の実施形態では、第1のネットワーク調整モジュール109a、第2のネットワーク調整モジュール109b、第3のネットワーク調整モジュール109c、及び第4のネットワーク調整モジュール109dが、互いの及び/又は図1に示されたその他のエンティティとのデータ通信のために共通チャネルを共有している。第1のネットワーク調整モジュール109aは、第1のアクティブ期間602を指定され、第1のネットワーク調整モジュール109aに関連付けられた1つ又は2つ以上のノード103が第1のアクティブ期間602中にデータを伝送することを許可している。同様に、第2のネットワーク調整モジュール109bは、第2のアクティブ期間604を指定される。第3のネットワーク調整モジュール109cは、第3のアクティブ期間606を指定される。第4のネットワーク調整モジュール109dは、第4のアクティブ期間608を指定される。アクティブ期間602、604、606、及び608は、図6Aに示したように、重複しない。図6Aは、また、各ネットワーク調整モジュール109a、109b、109c、及び109dのための非アクティブ期間も示している。
【0089】
図6Bは、別の実施形態にしたがった、データ通信のためにタイムスロットを管理するプロセス650を示した図である。図6Aを参照して上述したように、各ネットワーク調整モジュール109a、109b、109c、及び109dは、重複しないアクティブ期間を指定される。1つの実施形態では、ネットワーク調整モジュール109a内に含まれるモニタモジュール203は、1つ又は2つ以上のタイムスロットを借用するためのトリガイベントを検出する。ネットワーク調整モジュール109a内に含まれる要求モジュール205は、1つ又は2つ以上の借用要求を生成し、ネットワーク調整モジュール109b、109c、及び109dのうちの1つ又は2つ以上に送信する。
【0090】
例示の実施形態では、ネットワーク調整モジュール109b及び109dは、それぞれ、借用要求を承認せず、ネットワーク調整モジュール109aにタイムスロットを貸し出さないことを決定する。ネットワーク調整モジュール109cは、自身に関連付けられたアクティブ期間606からネットワーク調整モジュール109aにタイムスロット654を貸し出すことを承認する。貸し出しの承認後、ネットワーク調整モジュール109cに関連付けられたタイムスロット654は、ネットワーク調整モジュール109aのための借用タイムスロット656とも称される。1つの実施形態では、ネットワーク調整モジュール109aは、アクティブ期間602に含まれる指定タイムスロット652と、アクティブ期間606に含まれる借用タイムスロット656(すなわちタイムスロット654)とを、データ伝送のために、ネットワーク調整モジュール109aに関連付けられたノー
ド103に割り当てる。例示の実施形態では、ネットワーク調整モジュール109aは、アクティブ期間606と借用タイムスロット656とを含むようにアクティブ期間を延長する。
【0091】
(効果)
図7Aは、1つの実施形態にしたがった、タイムスロット管理のパフォーマンスを示したグラフ700である。ここではパフォーマンス評価のために、本明細書で説明する技術を、IEEE802.15.4プロトコルに適用した。1つの実施形態では、IEEE802.15.4プロトコルは、伝送時間が保証タイムスロット(GTS)に分割されるように、スーパフレームのコンテンションフリー期間(CFP)においてTDMAベースの方式を使用する。保証タイムスロットは、データを伝送するためにノード103に割り当てられる。しかし、システム100は、例えば、図2〜6Bを参照して上述したように、ネットワーク調整モジュール109がデータ伝送のためにその他のネットワーク調整モジュール109から貸し出し可能タイムスロットを借用することを可能にする。したがって、IEEE802.15.4プロトコルよりも更に好都合である。
【0092】
図7Aは、システム100についてのシミュレーション結果の一例を、パケット配信率対データ送信期間の形で表した図である。シミュレーションの結果は、システム100がパケット配信率を体系的に向上させることを明らかにしている。例えば、システム100(図7Aにおいて「借用タイムスロット(BTS)」として示す)は、IEEE802.15.4プロトコルのストックGTS(図7Aにおいて「IEEE802.15.4 GTS」として示す)及び/又はコンテンションアクセス期間(CAP)(図7Aにおいて「IEEE802.15.4 CAP」として示す)などのその他の技術を採用した場合よりも高いパケット配信比を実現している。
【0093】
図7Bは、別の実施形態にしたがった、タイムスロット管理のパフォーマンスを示したグラフ750である。図7Bは、システム100についてのシミュレーション結果を、エンドツーエンド待ち時間対データ送信期間の形で表している。シミュレーションの結果は、システム100がエンドツーエンド待ち時間を体系的に短縮することを明らかにしている。例えば、システム100(図7Bにおいて「BTS」として示す)は、IEEE802.15.4 CAP及びIEEE802.15.4 GTSなどのその他の技術を採用した場合よりも短いエンドツーエンド待ち時間を実現している。
【0094】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環
境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【0095】
100・・・システム
101・・・ネットワークシステム
103・・・ノード
105・・・ネットワーク
107・・・接続ユニット
109・・・ネットワーク調整モジュール
113・・・スイッチユニット
115・・・サブシステム

【特許請求の範囲】
【請求項1】
貸し手候補からデータ通信用のタイムスロットを借用するタイムスロット共有方法であって、
前記貸し手候補からタイムスロットを借用するためのトリガイベントを検出するステップと、
前記トリガイベントに対応する借用要求を生成するステップと、
前記貸し手候補から、前記借用要求に対する応答を受信するステップと、
少なくとも前記応答に基づいて、前記借用要求が承認されたことを判定するステップと、
前記借用要求が承認された場合に、データ通信のために、第一のアクティブ期間に含まれる一つまたは複数の指定タイムスロットと、第二のアクティブ期間に含まれる借用タイムスロットを割り当てるステップと、
を含む、タイムスロット共有方法。
【請求項2】
前記データ通信は、時分割多元接続(TDMA)を用いたメディアアクセス制御プロトコルによって行われる、
請求項1に記載のタイムスロット共有方法。
【請求項3】
前記第一のアクティブ期間は、イニシエータと関連付いた第一のネットワークシステムによって指定され、
前記第二のアクティブ期間は、前記貸し手候補と関連付いた第二のネットワークシステムによって指定される、
請求項1に記載のタイムスロット共有方法。
【請求項4】
前記第一のネットワークシステムおよび第二のネットワークシステムは、データ通信のための共通チャネルを共有する、
請求項3に記載のタイムスロット共有方法。
【請求項5】
前記共通チャネルは、第一のネットワークシステムおよび第二のネットワークシステムが利用する、共通の周波数を用いた無線チャネルである、
請求項4に記載のタイムスロット共有方法。
【請求項6】
前記借用タイムスロットは、指定された貸し出し期間の間、第一のネットワークシステム用に確保される、
請求項3に記載のタイムスロット共有方法。
【請求項7】
前記借用タイムスロット、および、一つまたは複数の指定タイムスロットは、データを送信する前記第一のネットワークシステムに含まれる一つまたは複数のノードに割り当てられる、
請求項3に記載のタイムスロット共有方法。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7A】
image rotate

【図7B】
image rotate


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