(57)【要約】【課題】効率の良い通信を行うことができる制御プロトコルシステムを提供する。【解決手段】モニタモジュールと、要求モジュールと、割り当てモジュールとを含む制御プロトコルシステム。モニタモジュールは、貸し手候補からタイムスロットを借用するためのトリガイベントを検出する。要求モジュールは、トリガイベントに応えて借用要求を生成する。割り当てモジュールは、借用要求に応える貸し手候補からの応答を受信する。割り当てモジュールは、少なくとも前記応答に基づいて、借用要求が承認されたかどうかを決定する。割り当てモジュールは、前記承認に応えて、データ通信のために、第１のアクティブ期間に含まれる１つ又は２つ以上の指定タイムスロットと、第２のアクティブ期間に含まれる借用タイムスロットとを割り当てる。【選択図】図１
2013090331.tif 000002
【特許請求の範囲】
【請求項１】
貸し手候補からデータ通信用のタイムスロットを借用するタイムスロット共有方法であって、
前記貸し手候補からタイムスロットを借用するためのトリガイベントを検出するステップと、
前記トリガイベントに対応する借用要求を生成するステップと、
前記貸し手候補から、前記借用要求に対する応答を受信するステップと、
少なくとも前記応答に基づいて、前記借用要求が承認されたことを判定するステップと、
前記借用要求が承認された場合に、データ通信のために、第一のアクティブ期間に含まれる一つまたは複数の指定タイムスロットと、第二のアクティブ期間に含まれる借用タイムスロットを割り当てるステップと、
を含む、タイムスロット共有方法。
【請求項２】
前記データ通信は、時分割多元接続（ＴＤＭＡ）を用いたメディアアクセス制御プロトコルによって行われる、
請求項１に記載のタイムスロット共有方法。
【請求項３】
前記第一のアクティブ期間は、イニシエータと関連付いた第一のネットワークシステムによって指定され、
前記第二のアクティブ期間は、前記貸し手候補と関連付いた第二のネットワークシステムによって指定される、
請求項１に記載のタイムスロット共有方法。
【請求項４】
前記第一のネットワークシステムおよび第二のネットワークシステムは、データ通信のための共通チャネルを共有する、
請求項３に記載のタイムスロット共有方法。
【請求項５】
前記共通チャネルは、第一のネットワークシステムおよび第二のネットワークシステムが利用する、共通の周波数を用いた無線チャネルである、
請求項４に記載のタイムスロット共有方法。
【請求項６】
前記借用タイムスロットは、指定された貸し出し期間の間、第一のネットワークシステム用に確保される、
請求項３に記載のタイムスロット共有方法。
【請求項７】
前記借用タイムスロット、および、一つまたは複数の指定タイムスロットは、データを送信する前記第一のネットワークシステムに含まれる一つまたは複数のノードに割り当てられる、
請求項３に記載のタイムスロット共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信システムに関する。特に、本発明は、車載ネットワークにおいて時分割多重アクセス（ＴＤＭＡ）ベースのメディアアクセス制御プロトコルを使用して、データ通信のためにタイムスロットを管理するシステム及び方法に関する。
【背景技術】
【０００２】
（関連出願への相互参照）
本出願は、「Control Protocol System（制御プロトコルシステム）」と題され２０１
１年１０月１７日に出願された米国出願第６１／５４８，００２号の優先権を主張する。該出願は、その全体が本明細書中に参照として組み込まれる。
また、本出願は、「Control Protocol System（制御プロトコルシステム）」と題され
２０１２年３月１５日に出願された米国出願第１３／４２１，５８５号の優先権を主張する。
【０００３】
ＴＤＭＡベースの複数のパーソナルエリアネットワーク（ＰＡＮ）がデータ伝送のために共通チャネル上で動作しているとき、従来の技術では、ＰＡＮシステム内に含まれるノードに対し、そのＰＡＮシステム用に指定されたアクティブ期間中にのみデータを伝送することが許可される。例えば、同じチャネルを共有している各種のＰＡＮシステム間における干渉及び／又は衝突を回避するために、そのＰＡＮシステム用に指定されたアクティブ期間外にデータを送信することは、ＰＡＮシステム内に含まれるどのノードに対しても許可されない。
【先行技術文献】
【非特許文献】
【０００４】
”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
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＰＡＮシステム内に含まれる１つ又は２つ以上のノードが大量にデータを送信しなければならない状況下では、従来の技術では、それらの１つ又は２つ以上のノードが、ＰＡＮシステム用に指定されたアクティブ期間中にしかデータの伝送を行うことができないため、深刻な伝送遅延を招く恐れがある。
なかでも特に、ＰＡＮシステム用のデータバッファが満杯であるときに、データ損失を増大させる恐れがある。例えば、データバッファが満杯である場合に、新しく受信されたデータパケットを失う可能性がある。これは、しばしばパケット配信率の低下を招く。
更に、ＰＡＮシステム内に含まれるノードが、ＰＡＮシステムのアクティブ期間外にデータパケットを生成するときは、データパケットを一時的にデータバッファに入れるため、データパケットの配信に対して深刻なワンホップ遅延を招く恐れがある。
【０００６】
例えば、ＴＤＭＡベースの方法によって保証付きタイムスロットを実現するＩＥＥＥ８０２．１５．４プロトコル（非特許文献１参照）においては、１つのＰＡＮシステム内において保証付きタイムスロットを割り当てることのみが考慮されている。例えば、保証付きタイムスロットを、要求に応じて複数のＰＡＮシステムに配布することは考慮されていない。したがって、従来技術では、データ伝送において、望ましくない非効率を頻繁に引き起こす。
この非効率の要因の一つは、もし、第１のＰＡＮシステムが１つ又は２つ以上の保証付きタイムスロットにおいて伝送するべきデータがない場合に、第１のＰＡＮシステム用のそれらの保証付きタイムスロットがしばしば無駄にされることである。たとえ、第２のＰＡＮシステムが伝送を待つデータを有していたとしても、第２のＰＡＮシステムは、第１のＰＡＮシステム用に指定されたアイドル状態の保証付きタイムスロットをデータ伝送のために使用することができない。したがって、従来技術は、動作が非効率的である。
【０００７】
本発明は、上記の問題点を考慮してなされたものであり、効率の良い通信を行うことができる制御プロトコルシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、先行技術の欠点及び限界を、データ通信のためにタイムスロットを管理するシステム及び方法を提供することによって克服する。
本発明に係る制御プロトコルシステムは、モニタモジュールと、要求モジュールと、割り当てモジュールとを含む。モニタモジュールは、貸し手候補からタイムスロットを借用するためのトリガイベントを検出する。要求モジュールは、トリガイベントに応えて借用要求を生成する。割り当てモジュールは、借用要求に応える貸し手候補からの応答を受信する。割り当てモジュールは、少なくとも前記応答に基づいて、借用要求が承認されたかどうかを決定する。割り当てモジュールは、前記承認に応えて、データ通信のために、第１のアクティブ期間に含まれる１つ又は２つ以上の指定タイムスロットと、第２のアクティブ期間に含まれる借用タイムスロットとを割り当てる。
【０００９】
本発明は、前記制御プロトコルシステムが行うタイムスロット共有方法として特定することができる。
【発明の効果】
【００１０】
本発明によると、効率の良い通信を行うことができる制御プロトコルシステムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】１つの実施形態における、データ通信のためにタイムスロットを管理するシステムを示したハイレベルブロック図である。
【図２】１つの実施形態における、接続ユニットを示したブロック図である。
【図３Ａ】各種の実施形態における、データ通信のためにタイムスロットを管理するプロセスを示したイベント図である。
【図３Ｂ】各種の実施形態における、データ通信のためにタイムスロットを管理するプロセスを示した第二のイベント図である。
【図４】１つの実施形態における、データ伝送のために１つ又は２つ以上のタイムスロットを借用する方法を示したフローチャートである。
【図５】１つの実施形態における、１つ又は２つ以上のタイムスロットを貸し出すかどうかを決定する方法を示したフローチャートである。
【図６Ａ】各種の実施形態における、データ通信のためにタイムスロットを管理するプロセスを示した図である。
【図６Ｂ】各種の実施形態における、データ通信のためにタイムスロットを管理するプロセスを示した第二の図である。
【図７Ａ】各種の実施形態における、タイムスロット管理のパフォーマンスを示したグラフである。
【図７Ｂ】各種の実施形態における、タイムスロット管理のパフォーマンスを示した第二のグラフである。
【発明を実施するための形態】
【００１２】
データ通信のためにタイムスロットを管理するシステム及び方法を、以下に説明する。
以下の説明では、本発明を十分に理解できるように、多くの詳細について説明する。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。たとえば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【００１３】
本明細書における「１つの実施形態」または「別の実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴・構造・性質が少なくとも本発明の一つの実施形態に含まれることを意味する。「１つの実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
【００１４】
以下の詳細な説明の一部は、非一時的（non-transitory）なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において（また一般に）アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である
【００１５】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【００１６】
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー（登録商標）ディスク・光ディスク・ＣＤ−ＲＯＭ・ＭＯディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
【００１７】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
【００１８】
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【００１９】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
【００２０】
入力／出力（Ｉ／Ｏ）装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはＩ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【００２１】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット（登録商標）は、現在利用可能なネットワークアダプタのほんの一例である。
【００２２】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【００２３】
（システム概要）
図１は、１つの実施形態にしたがった、タイムスロットを管理するシステム１００のハイレベルブロック図を示している。システム１００は、１つ又は２つ以上のネットワークシステム１０１ａ、１０１ｂ、…１０１ｎ（個々に又はまとめてネットワークシステム１０１と称する）と、スイッチユニット１１３と、１つ又は２つ以上のサブシステム１１５ａ、１１５ｂ、…１１５ｎ（個々に又はまとめてネットワークシステム１０１と称する）とを含む。システム１００のこれらのコンポーネントは、互いに可通信式につながれている。３つのネットワークシステム１０１ａ、１０１ｂ、１０１ｎ及び３つのサブシステム１１５ａ、１１５ｂ、１１５ｎのみが示されているが、当業者ならば、システム１００に、任意の数のネットワークシステム１０１及び任意の数のサブシステム１１５が含まれうることがわかるであろう。更に、図１には、１つのスイッチユニット１１３のみが描かれているが、システム１００は、任意の数のスイッチユニット１１３を含むことが可能である。
【００２４】
ネットワークシステム１０１ａは、信号線１０２を通じてスイッチユニット１１３に可通信式につながれている。ネットワークシステム１０１ｂは、信号線１０４を通じてスイッチユニット１１３に可通信式につながれている。ネットワークシステム１０１ｎは、信号線１２０を通じてスイッチユニット１１３に可通信式につながれている。サブシステム１１５ａは、信号線１１０を通じてスイッチユニット１１３に可通信式につながれている。サブシステム１１５ｂは、信号線１１２を通じてスイッチユニット１１３に可通信式に
つながれている。サブシステム１１５ｎは、信号線１２２を通じてスイッチユニット１１３に可通信式につながれている。１つの実施形態では、各信号線１０２、１０４、１１０、１１２、１２０、及び１２２は、無線接続（例えば無線ローカルエリアネットワーク（ＬＡＮ）接続やＢｌｕｅｔｏｏｔｈ（登録商標）接続など）及び有線接続（例えばケーブルや地上の通信線などを通じた有線接続）のうちの１つを表している。
【００２５】
例示の実施形態では、システム１００は、更に、ネットワーク１０５と、統一型クラウドデータベース１１７とを含む。ネットワーク１０５及び統一型クラウドデータベース１１７は、それらがシステム１００のオプション機能であることを示すために、破線で描かれている。スイッチユニット１１３は、信号線１０６を通じてネットワーク１０５に可通信式につながれている。統一型クラウドデータベース１１７は、信号線１０８を通じてネットワーク１０５に可通信式につながれている。１つの実施形態では、各信号線１０６及び１０８は、無線接続（例えば無線ＬＡＮ接続や３Ｇ若しくは４Ｇネットワーク接続など）及び有線接続のうちの１つである。
【００２６】
システム１００は、図１に示したようなスター型構成を使用して例示されているが、その他の実施形態では、システム１００は、シリアルバス構成、トークンリング構成、又は当業者に知られたその他の構成などの、その他の任意の構成を使用して実装されうる。
【００２７】
ネットワークシステム１０１ａは、共通のネットワークを形成する１つ又は２つ以上のエンティティを含むシステムである。例えば、ネットワークシステム１０１ａは、共通のパーソナルエリアネットワーク（ＰＡＮ）を形成する一群のデバイスを含むパーソナルエリアネットワークシステムである。例示の実施形態では、ネットワークシステム１０１ａは、なかでも特に、１つ又は２つ以上のノード１０３ａ、１０３ｂ、…１０３ｎ（個々に又はまとめてノード１０３と称する）と、接続ユニット１０７ａとを含む。１つの実施形態では、１つ又は２つ以上のノード１０３ａ、１０３ｂ、…１０３ｎと、接続ユニット１０７ａとは、パーソナルエリアネットワークを形成する。別の実施形態では、１つ又は２つ以上のノード１０３ａ、１０３ｂ、…１０３ｎと、接続ユニット１０７ａとは、ローカルエリアネットワークなどの別のタイプのネットワークを形成する。ネットワークシステム１０１ａのこれらのコンポーネントは、互いに可通信式につながれている。
【００２８】
ノード１０３ａは、信号線１１４を通じて接続ユニット１０７ａに可通信式につながれている。ノード１０３ｂは、信号線１１６を通じて接続ユニット１０７ａに可通信式につながれている。ノード１０３ｎは、信号線１１８を通じて接続ユニット１０７ａに可通信式につながれている。各信号線１１４、１１６、及び１１８は、有線接続及びＢｌｕｅｔｏｏｔｈ（登録商標）接続などの無線接続のうちの１つである。
【００２９】
ノード１０３ａ、１０３ｂ、…１０３ｎは、車に含まれる任意のデバイスである。例えば、ノード１０３は、ランプ、モータ、ヒータ、センサ、アクチュエータ、電子制御ユニット（ＥＣＵ）などのうちの１つである。当業者ならば、その他のタイプのデバイスもノード１０３となりうることがわかるであろう。１つの実施形態では、第１のノード１０３ａは、接続ユニット１０７ａを通じてネットワークシステム１０１ａ内に含まれる第２のノード１０３ｂと通信する。例えば、第１のノード１０３ａは、データを接続ユニット１０７ａに伝送し、該接続ユニット１０７ａに、そのデータを第２のノード１０３ｂに中継させる。別の実施形態では、第１のノード１０３ａは、接続ユニット１０７ａを伴うことなく第２のノード１０３ｂと直接通信する。例えば、第１のノード１０３ａは、Ｂｌｕｅｔｏｏｔｈ（登録商標）接続を使用して第２のノード１０３ｂと通信する。
【００３０】
接続ユニット１０７ａは、ネットワークシステム１０１ａ内に含まれるノード１０３ａ、１０３ｂ、…１０３ｎのための通信を扱うモジュールである。例えば、接続ユニット１
０７ａは、スイッチ及び／又はゲートウェイデバイスなどのうちの１つである。１つの実施形態では、接続ユニット１０７ａは、ノード１０３ａ、１０３ｂ、…１０３ｎ間における通信を扱う。例えば、接続ユニット１０７ａは、第１のノード１０３ａから第２のノード１０３ｂへデータを中継する。別の実施形態では、接続ユニット１０７ａは、ネットワークシステム１０１の中のノード１０３と、システム１００のその他のコンポーネントとの間における通信を担う。例えば、接続ユニット１０７ａは、ネットワークシステム１０１ａ内に含まれるノード１０３からデータを受信し、該データを別のネットワークシステム１０１内に含まれる別のノード１０３に送信する。更に別の実施形態では、接続ユニット１０７ａは、ネットワークシステム１０１ａ内に含まれるノード１０３であり、同じネットワークシステム１０１ａ内に含まれるその他の全てのノード１０３に関連した通信を扱う。
【００３１】
例示の実施形態では、接続ユニット１０７ａは、ネットワーク調整モジュール１０９ａを含む。ネットワーク調整モジュール１０９ａは、データ通信のためにタイムスロットを管理する手段である。１つの実施形態では、データ通信は、時分割多重アクセス（ＴＤＭＡ）ベースのメディアアクセス制御プロトコルを使用して実現される。１つの実施形態では、ネットワーク調整モジュール１０９ａは、接続ユニット１０７ａ内に含まれるプロセッサ（不図示）のオンチップストレージ（不図示）に保存されたコード及びルーチンを実行することで機能する。別の実施形態では、ネットワーク調整モジュール１０９ａは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は特殊用途向け集積回路（ＡＳＩＣ）などのハードウェアを使用して実装される。更に別の実施形態では、ネットワーク調整モジュール１０９ａは、ハードウェアとソフトウェアとの組み合わせを使用して実装される。ネットワーク調整モジュール１０９ａについては、図２〜図７Ｂを参照して後ほど詳しく説明する。
【００３２】
ネットワークシステム１０１ｂ及び１０１ｎは、ネットワークシステム１０１ａと同様の構造及び機能を有する。同様の要素に言及するために、類似の参照符号が使用されており、同様の要素に関する説明は省略する。１つの実施形態では、ネットワークシステム１０１ａ、１０１ｂ、…１０１ｎは、車載ネットワーク内に含まれている。
【００３３】
例示の実施形態では、ネットワークシステム１０１ｂは、ノード１０３ｃと、ノード１０３ｄと、接続ユニット１０７ｂとを含む。接続ユニット１０７ｂは、ネットワーク調整モジュール１０９ｂを含む。ノード１０３ｃは、信号線１２４を通じて接続ユニット１０７ｂに可通信式につながれている。ノード１０３ｄは、信号線１２６を通じて接続ユニット１０７ｂに可通信式につながれている。当業者ならば、ネットワークシステム１０１ｂが任意の数のノード１０３を含みうることがわかるであろう。ネットワークシステム１０１ｎは、ノード１０３ｅと、ノード１０３ｆと、接続ユニット１０７ｎとを含む。接続ユニット１０７ｎは、ネットワーク調整モジュール１０９ｎを含む。ノード１０３ｅは、信号線１２８を通じて接続ユニット１０７ｎに可通信式につながれている。ノード１０３ｆは、信号線１３０を通じて接続ユニット１０７ｎに可通信式につながれている。当業者ならば、ネットワークシステム１０１ｎが任意の数のノード１０３を含みうることがわかるであろう。
【００３４】
１つの実施形態では、ネットワークシステム１０１ａ、１０１ｂ、…１０１ｎは、互いにデータを通信し合うための共通のチャネルを共有している。例えば、ネットワークシステム１０１内に含まれるノード１０３は、共通チャネルを使用してその他のネットワークシステム１０１内に含まれるその他のノード１０３と通信し合う。別の実施形態では、ネットワークシステム１０１ａ、１０１ｂ、…１０１ｎは、スイッチユニット１１３とデータを通信し合うために共通チャネルを共有している。例えば、ネットワークシステム１０１ａ、１０１ｂ、…１０１ｎ内に含まれるノード１０３は、共通チャネルを使用してスイ
ッチユニット１１３と通信し合う。更に別の実施形態では、ネットワークシステム１０１ａ、１０１ｂ、…１０１ｎは、１つ又は２つ以上のサブシステム１１５ａ、１１５ｂ、…１１５ｎとデータを通信し合うために共通チャネルを共有している。１つの実施形態では、共通チャネルは、ネットワークシステム１０１ａ、１０１ｂ、…１０１ｎについて同じ無線周波数で動作する無線通信チャネルである。
【００３５】
１つの実施形態では、ネットワークシステム１０１ａ、１０１ｂ、…１０１ｎは、スイッチユニット１１３を伴うことなく互いに直接通信し合う。例えば、ネットワークシステム１０１内に含まれるノード１０３は、無線通信チャネルを使用して別のネットワークシステム１０１内に含まれる別のノード１０３と直接通信し合う。別の実施形態では、ネットワークシステム１０１ａ、１０１ｂ、…１０１ｎは、スイッチユニット１１３を伴うことなく１つ又は２つ以上のサブシステムと直接通信し合う。例えば、ネットワークシステム１０１内に含まれるノード１１３は、無線通信チャネルを使用して１つ又は２つ以上のサブシステム１１５と直接通信し合う。
【００３６】
ここで、アクティブ期間について説明する。アクティブ期間とは、データを伝送するためにネットワークシステム１０１用に指定されている期間である。例えば、ネットワークシステム１０１のアクティブ期間は、ネットワークシステム１０１内に含まれるノード１０３がデータを伝送することを許可された期間である。ノード１０３は、ネットワークシステム１０１の非アクティブ期間中は、データを伝送することを許可されない。ネットワークシステム１０１の非アクティブ期間は、データ伝送のためにネットワークシステム１０１用に指定されていない期間である。例えば、ネットワークシステム１０１の非アクティブ期間は、ネットワークシステム１０１内に含まれるノード１０３がデータを伝送することを許可されない期間である。１つの実施形態では、第１のネットワークシステム１０１のアクティブ期間は、第２のネットワークシステム１０１の非アクティブ期間である。ネットワークシステム１０１のアクティブ期間及び非アクティブ期間を図示した例が、図６Ａである。ネットワークシステム１０１のアクティブ期間を、そのネットワークシステム１０１の指定アクティブ期間と称する。
【００３７】
１つの実施形態では、アクティブ期間は、１つ又は２つ以上のタイムスロットを含む。タイムスロットは、アクティブ期間の何分の１かを構成する持続時間である。ネットワークシステム１０１用に指定されたアクティブ期間に含まれるタイムスロットを、ネットワークシステム１０１の指定タイムスロットと称する。
【００３８】
データ通信のために共通チャネルを共有している、異なるネットワークシステム１０１ａ、１０１ｂ、…１０１ｎ間における衝突及び／又は干渉を回避するために、ネットワークシステム１０１ａ、１０１ｂ、…１０１ｎは、各自、重複しないアクティブ期間をデータ伝送のために指定される。例えば、第１のネットワークシステム１０１は、第１のアクティブ期間を指定される。ネットワーク調整モジュール１０９は、第１のアクティブ期間に含まれる１つ又は２つ以上の指定タイムスロットを、第１のネットワークシステム１０１内に含まれる１つ又は２つ以上のノード１０３に割り当てて、該１つ又は２つ以上のノード１０３が指定タイムスロット中にデータを伝送することを許可する。同様に、第２のネットワークシステム１０１は、第２のアクティブ期間を指定され、第２のネットワークシステム１０１内に含まれる１つ又は２つ以上のノード１０３が第２のアクティブ期間中にデータを伝送することを許可する。第１のアクティブ期間は、第２のアクティブ期間と重複しないので、データ伝送中に第１のネットワークシステム１０１と第２のネットワークシステム１０１との間に干渉及び／又は衝突が引き起こされることはない。
【００３９】
１つの実施形態では、第１のアクティブ期間に関連付けられた第１のネットワークシステム１０１は、図２〜７Ｂを参照して後ほど更に詳しく説明するように、第２のネットワ
ークシステム用に指定された第２のアクティブ期間から１つ又は２つ以上のタイムスロットを借用する。第２のネットワークシステム１０１は、借用される１つ又は２つ以上のタイムスロットを第１のネットワークシステム１０１のために確保しておき、第１のネットワークシステム１０１内に含まれるノード１０３が第１のネットワークシステム１０１用に指定された第１のアクティブ期間中及び第２のアクティブ期間に含まれる借用タイムスロット中にデータを伝送することを許可する。
【００４０】
スイッチユニット１１３は、システム１００の異なるエンティティ間でデータをルーティングするためのデバイスである。例えば、スイッチユニット１１３は、ネットワークシステム１０１とネットワーク１０５との間でデータをルーティングする。１つの実施形態では、スイッチユニット１１３は、ネットワークシステム１０１とサブシステム１１５との間でデータをルーティングする。別の実施形態では、スイッチユニット１１３は、第１のネットワークシステム１０１と第２のネットワークシステム１０１との間でデータをルーティングする。更に別の実施形態では、スイッチユニット１１３は、第１のサブシステム１１５と第２のサブシステム１１５との間でデータをルーティングする。
【００４１】
サブシステム１１５は、車内で使用可能な任意の機能を提供するためのシステムである。例えば、サブシステム１１５は、安全システム（例えばエアバッグ監視システムやエンジン監視システムなど）、情報提供システム（例えば全地球測位システム）、及びエンターテイメントシステム（例えばステレオシステム）などのうちの１つである。当業者ならば、その他のタイプのシステムもサブシステム１１５となりうることがわかるであろう。１つの実施形態では、サブシステム１１５は、１つ又は２つ以上のノード１０３を各自が含む、１つ又は２つ以上のネットワークシステム１０１を含む。別の実施形態では、サブシステム１１５は、車載ネットワーク内に含まれる。
【００４２】
オプションであるネットワーク１０５は、有線又は無線の、従来のタイプのネットワークであり、スター型構成、トークンリング構成、又は当業者に知られるその他の構成などの、任意の数の構成を含みうる。１つの実施形態では、ネットワーク１０５は、ローカルエリアネットワーク（ＬＡＮ）、例えばインターネットなどの広域ネットワーク（ＷＡＮ）、及び／又は複数のデバイスがそれを通して通信し合うその他の任意の相互接続データ経路のうちの、１つ又は２つを含む。別の実施形態では、ネットワーク１０５は、ピアツーピアネットワークである。
ネットワーク１０５は、種々様々な通信プロトコルでデータを送信するために、電気通信ネットワークにつながれる又は電気通信ネットワークの部分を含む。例えば、ネットワークは、３Ｇネットワーク又は４Ｇネットワークである。更に別の実施形態では、ネットワーク１０５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、無線アプリケーションプロトコル（ＷＡＰ）、ｅ−ｍａｉｌなどを介するなどしてデータを送受信するために、Ｂｌｕｅｔｏｏｔｈ通信ネットワーク又はセルラ式通信ネットワークを含む。更に別の実施形態では、ネットワーク１０５のなかのリンクの全部又は一部が、セキュアソケットレイヤ（ＳＳＬ）、セキュアＨＴＴＰ、及び／又は仮想プライベートネットワーク（ＶＰＮ）などの、従来の暗号化技術を使用して暗号化される。
【００４３】
オプションの統一型クラウドデータベース１１７は、ネットワーク１０５を通じてアクセス可能なオンラインデータベースである。例えば、統一型クラウドデータベース１１７は、複数の企業によって提供される複数の仮想サーバ上にデータを保存するデータベースである。１つの実施形態では、統一型クラウドデータベース１１７は、システム１００の機能性を提供するためのあらゆるデータを保存する。別の実施形態では、統一型クラウドデータベース１１７は、複数の車に組み込まれた複数のネットワークシステム１０１及び／又はサブシステム１１５から受信したデータを保存する。
【００４４】
システム１００は、（１）複数のネットワークシステム１０１（例えば１０個のネットワークシステム１０１）が、データ伝送のために共通チャネルを共有している状況、（２）各ネットワークシステム１０１が、複数のノード１０３を含む（例えば、各ネットワークシステム１０１が、データを伝送するために２０個を超えるノード１０３を含み、往来の混雑を招く恐れがある）状況、（３）指定アクティブ期間のみを使用して通信した場合よりも高い伝送速度が要求されている状況、及び（４）ネットワークシステム１０１内に含まれるノード１０３が、そのネットワークシステム１０１用に指定されたアクティブ期間外におけるデータの伝送を要求している状況のうちの、１つ又は２つ以上の状況下において、特に有益である。以下で更に詳しく説明するように、システム１００は、ネットワークシステム１０１のなかのネットワーク調整モジュール１０９が、その他のネットワークシステム１０１のなかのその他のネットワーク調整モジュール１０９から、利用可能なタイムスロットをデータ伝送のために借用することを可能にする。したがって、ネットワークシステム１０１は、同じチャネルを共有している異なるネットワークシステム１０１間における衝突を回避しつつ、データ伝送のために自身のアクティブ期間を延長することができる。
【００４５】
（ネットワーク調整モジュール）
次に、ネットワーク調整モジュール１０９をより詳しく説明する図２を参照する。図２は、１つの実施形態にしたがった接続ユニット１０７を示したブロック図である。例示の実施形態では、接続ユニット１０７は、プロセッサ２３７と、メモリ２３９と、ネットワーク調整モジュール１０９とを含む。接続ユニット１０７のこれらのコンポーネントは、バス２２０を通じて互いに可通信式につながれている。プロセッサ２３７は、信号線２３６を通じてバス２２０に可通信式につながれている。メモリ２３９は、信号線２３８を通じてバス２２０に可通信式につながれている。
【００４６】
プロセッサ２３７は、計算の実施や、メモリ２３９に保存されたデータの取り出しなどに用いられ、算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、又はその他のプロセッサアレイを含む。プロセッサ２３７は、データ信号を処理するものであり、複合命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、又は命令セットの組み合わせを実行するアーキテクチャなどの、各種の計算アーキテクチャを含みうる。図２では、１つのプロセッサのみが示されているが、複数のプロセッサが含まれてもよい。処理能力は、画像の表示、画像のキャプチャ、及び画像の伝送をサポートすることに限られてもよい。また、処理能力は、各種タイプの特徴抽出や特徴サンプリングなどの、より複雑なタスクを実施するのに十分であってもよい。当業者ならば、その他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、及び物理的構成を用い得ることが自明であろう。
【００４７】
メモリ２３９は、プロセッサ２３７によって実行されうる命令及び／又はデータを保存する。命令及び／又はデータは、本明細書で説明する任意の及び／又は全ての技術を実施するためのコードを含みうる。メモリ２３９は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、又は当該分野で知られるその他の何らかのメモリデバイスであってよい。１つの実施形態では、メモリ２３９は、ハードディスクドライブ、フロッピィディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、又はより永久的な方式で情報を保存するための、当該分野で知られるその他の何らかの大容量ストレージデバイスも含む。
【００４８】
例示の実施形態では、ネットワーク調整モジュール１０９は、通信モジュール２０１と、モニタモジュール２０３と、要求モジュール２０５と、割り当てモジュール２０７と、
承認モジュール２０９と、グラフィカルユーザインターフェース（ＧＵＩ）モジュール２１１とを含む。これらのコンポーネントは、バス２２０を通じて互いに可通信式につながれている。
【００４９】
通信モジュール２０１は、プロセッサ２３７によって実行され、ネットワーク調整モジュール１０９のコンポーネントと、システム１００のその他のコンポーネントとの間における通信を扱うコード及びルーチンである。例えば、ネットワーク調整モジュール１０９内に含まれる通信モジュール２０１は、要求モジュール２０５から借用要求を受信し、該借用要求を別のネットワーク調整モジュール１０９に送信する。借用要求とは、データ伝送のために、他のネットワークシステム１０１から１つ又は２つ以上のタイムスロットを借用するための要求である。
【００５０】
１つの実施形態では、通信モジュール２０１は、ネットワーク調整モジュール１０９のコンポーネント間における通信を扱う。例えば、通信モジュール２０１は、トリガイベントを記述するイベントデータをモニタモジュール２０３から受信し、該イベントデータを要求モジュール２０５に送信する。トリガイベントについては、後ほど更に詳しく説明する。当業者ならば、通信モジュール２０１が、本明細書で説明する任意の機能を提供しうることがわかるであろう。通信モジュール２０１は、信号線２２２を通じてバス２２０に可通信式につながれている。
【００５１】
モニタモジュール２０３は、プロセッサ２３７によって実行され、ネットワークシステム１０１に関連した任意のトリガイベントの発生を監視するコード及びルーチンである。モニタモジュール２０３は、信号線２２４を通じてバス２２０に可通信式につながれている。１つの実施形態では、モニタモジュール２０３は、トリガイベントの発生について、ネットワークシステム１０１内に含まれる１つ又は２つ以上のノード１０３を監視する。もし、ネットワークシステム１０１においてトリガイベントの発生を検出した場合、モニタモジュール２０３は、そのトリガイベントを記述するイベントデータを要求モジュール２０５に送信する。
【００５２】
トリガイベントとは、他のネットワークシステム１０１から１つ又は２つ以上のタイムスロットを借用するための要求をトリガするイベントである。例えば、トリガイベントは、ネットワークシステム１０１内に含まれる１つ又は２つ以上のノード１０３におけるデータ伝送が混雑していること、ネットワークシステム１０１内に含まれる１つ又は２つ以上のバッファ（不図示）における利用可能ストレージスペースが既定の閾値を下回ること、ネットワークシステム１０１の指定アクティブ期間外でデータを伝送しようとする要求、及び伝送のパフォーマンスを向上させようとする命令（例えば、より高い伝送速度、より短い遅延、及び／又はより低いデータ損失などでデータを伝送しようとする要求）のうちの１つである。当業者ならば、その他のタイプのトリガイベントも用い得ることがわかるであろう。
【００５３】
要求モジュール２０５は、プロセッサ２３７によって実行され、借用要求を生成するコード及びルーチンである。要求モジュール２０５は、信号線２２６を通じてバス２２０に可通信式につながれている。１つの実施形態では、借用要求は、イニシエータと、貸し手候補と、タイムスロットを借用することの表示とを記述するデータを含む。イニシエータとは、借用要求を生成するエンティティである。例えば、イニシエータは、ネットワークシステム１０１内に含まれるネットワーク調整モジュール１０９であって、その他のネットワークシステム１０１から１つ又は２つ以上のタイムスロットを借用することを要求するネットワーク調整モジュール１０９である。また、貸し手候補は、１つ又は２つ以上のタイムスロットをイニシエータに貸し出すかどうかを決定するエンティティである。例えば、貸し手候補は、イニシエータから受信した借用要求を処理し、１つ又は２つ以上のタ
イムスロットをイニシエータに貸し出すかどうかを決定するネットワーク調整モジュール１０９である。１つの実施形態では、イニシエータ及び貸し手候補は、データ伝送のための共通チャネルを共有しているネットワーク調整モジュール１０９である。
【００５４】
１つの実施形態では、ネットワークシステム１０１内に含まれる要求モジュール２０５が、トリガイベントを記述するイベントデータをモニタモジュール２０３から受信する。要求モジュール２０５は、トリガイベントに応えて、貸し手候補から１つ又は２つ以上のタイムスロットを借用するための借用要求を生成する。要求モジュール２０５は、借用要求を貸し手候補に送信する。別の実施形態では、要求モジュール２０５は、トリガイベントに応えて複数の借用要求を生成し、複数の貸し手候補に送信する。例えば、要求モジュール２０５は、複数の貸し手候補についてそれぞれ借用要求を生成し、それぞれ複数の貸し手候補に送信する。
【００５５】
割り当てモジュール２０７は、プロセッサ２３７によって実行され、データ通信のために１つ又は２つ以上のノード１０３にタイムスロットを割り当てるコード及びルーチンである。割り当てモジュール２０７は、信号線２２８を通じてバス２２０に可通信式につながれている。１つの実施形態では、割り当てモジュール２０７は、ネットワークシステム１０１のアクティブ期間に含まれる１つ又は２つ以上の指定タイムスロットを、ネットワークシステム１０１内に含まれる１つ又は２つ以上のノード１０３に割り当てる。例えば、割り当てモジュール２０７は、アクティブ期間に含まれる第１のタイムスロットを第１のノード１０３に割り当てて、第１のノード１０３が第１のタイムスロット中にデータを伝送することを許可する。同様に、割り当てモジュール２０７は、アクティブ期間に含まれる第２のタイムスロットを第２のノード１０３に割り当てて、第２のノード１０３が第２のタイムスロット中にデータを伝送することを許可する。
【００５６】
１つの実施形態では、割り当てモジュール２０７は、貸し手候補から応答を受信する。応答は、借用要求に対する応答を含む。例えば、応答は、承認応答及び不承認応答のどちらかである。不承認応答は、イニシエータへのタイムスロットの貸し出しを拒否する、貸し手候補からの応答である。１つの実施形態では、不承認応答は、借用要求を承認しなかった１つ又は２つ以上の貸し手候補と、借用要求を開始させたイニシエータと、不承認であることの表示とを記述するデータを含む。
【００５７】
承認応答は、イニシエータへの１つ又は２つ以上のタイムスロットの貸し出しを承認する、貸し手候補からの応答である。１つの実施形態では、承認応答は、借用要求を承認した１つ又は２つ以上の貸し手候補と、借用要求を開始させたイニシエータと、承認することの表示と、イニシエータに貸し出される１つ又は２つ以上のタイムスロットについての１つ又は２つ以上のタイムスロット識別子（ＩＤ）と、特定の貸し出し期間とを記述するデータを含む。特定の貸し出し期間とは、貸し手候補がイニシエータへの１つ又は２つ以上のタイムスロットの貸し出しを承諾した期間である。例えば、特定の貸し出し期間は、貸し手候補が借用要求を承認した時点から計って２分間の持続時間である。１つの実施形態では、特定の期間は、貸し手候補によって決定される。イニシエータに貸し出される１つ又は２つ以上のタイムスロットを、イニシエータのための１つ又は２つ以上の借用タイムスロットと称する。
【００５８】
１つの実施形態では、割り当てモジュール２０７は、少なくとも受信した応答に基づいて、借用要求が貸し手候補によって承認されたかどうかを決定する。例えば、割り当てモジュール２０７は、応答が承認応答であるか又は不承認応答であるかを決定する。もし、応答が不承認応答であった場合、割り当てモジュール２０７は、借用要求が貸し手候補によって拒否されたことを決定する。割り当てモジュール２０７は、指定アクティブ期間に含まれる指定タイムスロットのみを、データ伝送のために１つ又は２つ以上のノード１０
３に割り当てる。
【００５９】
もし、応答が承認応答であった場合、割り当てモジュール２０７は、借用要求が貸し手候補によって承認されたことを決定する。割り当てモジュール２０７は、１つ又は２つ以上の借用タイムスロットを識別する１つ又は２つ以上のタイムスロットＩＤを承認応答から抽出する。１つの実施形態では、割り当てモジュール２０７は、指定アクティブ期間と１つ又は２つ以上の借用タイムスロットとを含むように、ネットワークシステム１０１のためのアクティブ期間を延長する。指定アクティブ期間と、１つ又は２つ以上の借用タイムスロットとを含むアクティブ期間を、延長アクティブ期間と称する。
【００６０】
割り当てモジュール２０７は、延長アクティブ期間に含まれるタイムスロットを、データ伝送のために１つ又は２つ以上のノード１０３に割り当てる。例えば、割り当てモジュール２０７は、指定タイムスロットと１つ又は２つ以上の借用タイムスロットとを１つ又は２つ以上のノード１０３に割り当て、該１つ又は２つ以上のノード１０３が指定タイムスロット中及び１つ又は２つ以上の借用タイムスロット中にデータを伝送することを許可する。１つの実施形態では、割り当てモジュール２０７は、１つ又は２つ以上の借用タイムスロットを、特定の貸し出し期間中にのみ１つ又は２つ以上のノード１０３に割り当てる。もし、特定の貸し出し期間が経過した場合は、割り当てモジュール２０７は、それらの借用タイムスロットをノード１０３に割り当てない。その代わり、割り当てモジュール２０７は、新しい借用要求を生成して承認のために貸し手候補に送信するように、要求モジュール２０５に指示する。
【００６１】
１つの実施形態では、割り当てモジュール２０７は、複数の貸し手候補から複数の応答を受信する。例えば、割り当てモジュール２０７は、複数の貸し手候補から応答をそれぞれ受信する。割り当てモジュール２０７は、複数の応答のなかに承認応答があるかどうかを決定する。もし、複数の応答のなかに承認応答が含まれない場合、割り当てモジュール２０７は、イニシエータへのタイムスロットの貸し出しを承認する貸し手候補がいないことを決定する。割り当てモジュール２０７は、ネットワークシステム１０１用に指定されたアクティブ期間に含まれる指定タイムスロットのみを、データ伝送のために１つ又は２つ以上のノード１０３に割り当てる。
【００６２】
もし、複数の応答のなかに１つ又は２つ以上の承認応答が含まれる場合、割り当てモジュール２０７は、１つ又は２つ以上の承認応答から１つ又は２つ以上のタイムスロットＩＤを抽出する。割り当てモジュール２０７は、ネットワークシステム１０１のための指定アクティブ期間と、１つ又は２つ以上の承認応答に含まれるタイムスロットＩＤによって識別される全ての借用タイムスロットとを含むように、アクティブ期間を延長する。割り当てモジュール２０７は、延長アクティブ期間に含まれるタイムスロット（例えば、指定アクティブ期間に含まれる指定タイムスロット及びその他のネットワークシステム１０１からの全ての借用タイムスロット）を、データ伝送のために１つ又は２つ以上のノード１０３に割り当てる。
【００６３】
ネットワークシステム１０１（例えばイニシエータ）にとって、ネットワークシステム１０１のための指定アクティブ期間と、１つ又は２つ以上のその他のネットワークシステム１０１（例えば貸し手候補）からの１つ又は２つ以上の借用タイムスロットとを含むように、自身のアクティブ期間を延長することは、とりわけ好都合である。例えば、ネットワークシステム１０１内に含まれる１つ又は２つ以上のノード１０３は、ネットワークシステム１０１に関連付けられた指定アクティブ期間を使用するのみならず、その他のネットワークシステム１０１からの１つ又は２つ以上の借用タイムスロットも使用してデータを伝送することができる。タイムスロットを借用することで、スループットの向上、遅延の短縮、及び／又はデータ損失の低減などの、ネットワークシステム１０１にとっての各
種のパフォーマンス向上が達成される。
【００６４】
承認モジュール２０９は、プロセッサ２３７によって実行され、指定アクティブ期間から１つ又は２つ以上のタイムスロットをイニシエータに貸し出すことを承認するかどうかを決定するコード及びルーチンである。承認モジュール２０９は、信号線２３０を通じてバス２２０に可通信式につながれている。１つの実施形態では、承認モジュール２０９は、イニシエータから借用要求を受信し、イニシエータに貸し出し可能なタイムスロットがあるかどうかを決定する。例えば、承認モジュール２０９は、ネットワークシステム１０１用に指定されたアクティブ期間のなかに、アイドル状態のタイムスロットがあるかどうかを決定する。
【００６５】
もし、イニシエータに貸し出し可能な１つ又は２つ以上のタイムスロットがある場合、承認モジュール２０９は、イニシエータへの１つ又は２つ以上の貸し出し可能タイムスロットの貸し出しを承認する。１つの実施形態では、承認モジュール２０９は、１つ又は２つ以上のタイムスロットをイニシエータのために確保する。例えば、承認モジュール２０９は、同じネットワークシステム１０１内に含まれるどのノード１０３にもそれらの確保されたタイムスロットを割り当てないように、割り当てモジュール２０７に指示する。１つの実施形態では、承認モジュール２０９は、１つ又は２つ以上の貸し出し可能タイムスロットを特定の貸し出し期間にわたってイニシエータに貸し出すことを承認する。承認モジュール２０９は、確保されたタイムスロットを識別する１つ又は２つ以上のタイムスロットＩＤと、特定の貸し出し期間とを含む承認応答を生成する。承認モジュール２０９は、承認応答をイニシエータに送信する。１つの実施形態では、特定の貸し出し期間（例えば５分間）が経過したときに、承認モジュール２０９は、貸し出し可能タイムスロットをイニシエータのために確保することを止める。
【００６６】
もし、イニシエータに貸し出し可能なタイムスロットがない（例えば、ネットワークシステム１０１のための全ての指定タイムスロットが、データ伝送のためにノード１０３に割り当て済み、及び／若しくは割り当てられると見越されている、又は指定タイムスロットが、その他のイニシエータに貸し出されているなど）場合、承認モジュール２０９は、イニシエータへのタイムスロットの貸し出しを拒否する。承認モジュール２０９は、タイムスロットの貸し出しが不承認であることを示す不承認応答を生成し、イニシエータに送信する。
【００６７】
１つの実施形態では、承認モジュール２０９は、複数のイニシエータから複数の借用要求を受信する。例えば、承認モジュール２０９は、各イニシエータから借用要求を受信する。１つの実施形態では、承認モジュール２０９は、複数の借用要求に優先順位をつける。例えば、承認モジュール２０９は、少なくとも各借用要求の受信時間に基づいて、複数の借用要求の順序を決める。承認モジュール２０９は、各借用要求を少なくともその順序に基づいて処理し、上述されたものと同様の動作の実施によってそれぞれのイニシエータに１つ又は２つ以上のタイムスロットを貸し出すかどうかを決定する。例えば、承認モジュール２０９は、受信時間が最も早い借用要求を選択し、その最も早い借用要求を生成したイニシエータへの１つ又は２つ以上のタイムスロットの貸し出しを承認するかどうかを決定する。次に、承認モジュール２０９は、受信時間が２番目に早い借用要求を選択し、その２番目に早い借用要求を生成したイニシエータに１つ又は２つ以上のタイムスロットを貸し出すかどうかを決定する。
【００６８】
ＧＵＩモジュール２１１は、プロセッサ２３７によって実行され、ユーザへのＧＵＩを提供するためのグラフィカルデータを生成するコード及びルーチンである。ＧＵＩモジュール２１１は、信号線２３２を通じてバス２２０に可通信式につながれている。ＧＵＩモジュール２１１は、ネットワークシステム１０１内に含まれるディスプレイ（不図示）に
グラフィカルデータを送信し、ディスプレイに、少なくともグラフィカルデータに基づいてユーザに対してＧＵＩを提示する。
【００６９】
１つの実施形態では、ＧＵＩモジュール２１１は、イニシエータに貸し出される１つ又は２つ以上のタイムスロットを識別する１つ又は２つ以上のタイムスロットＩＤを承認モジュール２０９から受信する。ＧＵＩモジュール２１１は、イニシエータに貸し出される１つ又は２つ以上のタイムスロットについて管理者に知らせるために、ＧＵＩを提供するためのグラフィカルデータを生成する。別の実施形態では、ＧＵＩモジュール２１１は、トリガイベントを記述するイベントデータをモニタモジュール２０３から受信する。ＧＵＩモジュール２１１は、トリガイベントについて管理者に知らせるために、ＧＵＩを提供するためのグラフィカルデータを生成する。当業者ならば、ＧＵＩモジュール２１１が、本明細書で説明するその他の機能も提供しうることがわかるであろう。
【００７０】
（イベント図）
図３Ａは、１つの実施形態にしたがった、データ通信のためにタイムスロットを管理するプロセスを示したイベント図３００である。例示の実施形態では、第１のネットワーク調整モジュール１０９ａ（イニシエータと称する）が、第２のネットワーク調整モジュール１０９ｂ（貸し手候補と称する）から１つ又は２つ以上のタイムスロットを借用することを要求する。第１のネットワーク調整モジュール１０９ａは、第１のネットワークシステム１０１ａ内に含まれる。第２のネットワーク調整モジュール１０９ｂは、第２のネットワークシステム１０１ｂ内に含まれる。第１のネットワークシステム１０１ａ及び第２のネットワークシステム１０１ｂは、図１に示したように、他のエンティティへのデータ伝送のための共通チャネルを共有している。第１のネットワークシステム１０１ａは、データ伝送のために第１のアクティブ期間を指定される。第２のネットワークシステム１０１ｂは、データ伝送のために第２のアクティブ期間を指定される。第１のアクティブ期間は、第２のアクティブ期間とは重複しない。
【００７１】
第１のネットワーク調整モジュール１０９ａ内に含まれるモニタモジュール２０３は、１つ又は２つ以上のタイムスロットを借用するためのトリガイベントを検出する（３０１）。モニタモジュール２０３は、トリガイベントを記述するイベントデータを、第１のネットワーク調整モジュール１０９ａ内に含まれる要求モジュール２０５に送信する。要求モジュール２０５は、トリガイベントに応えて借用要求を生成する（３０２）。要求モジュール２０５は、第１のネットワーク調整モジュール１０９ａ内に含まれる第１の通信モジュール２０１に借用要求を送信する。
【００７２】
第１の通信モジュール２０１は、第２のネットワーク調整モジュール１０９ｂ内に含まれる第２の通信モジュール２０１に借用要求を送信する（３０４）。第２の通信モジュール２０１は、第２のネットワーク調整モジュール１０９ｂ内に含まれる承認モジュール２０９に借用要求を送信する。承認モジュール２０９は、第２のアクティブ期間から第１のネットワーク調整モジュール１０９ａに１つ又は２つ以上のタイムスロットを貸し出すことを決定する（３０６）。例えば、承認モジュール２０９は、第２のアクティブ期間のなかに貸し出し可能な１つ又は２つ以上のアイドル状態のタイムスロットがあることを決定し、それらの１つ又は２つ以上のアイドル状態のタイムスロットを第１のネットワーク調整モジュール１０９ａに貸し出すことを承認する。
【００７３】
承認モジュール２０９は、貸し出し可能な１つ又は２つ以上のタイムスロットを、第１のネットワーク調整モジュール１０９ａへの貸し出しのために確保する（３０８）。承認モジュール２０９は、承認応答を生成し（３１０）、第２の通信モジュール２０１に送信する。承認応答は、第１のネットワークシステム１０１ａへの貸し出しを承認された１つ又は２つ以上のタイムスロットを識別する１つ又は２つ以上のタイムスロットＩＤや、特
定の貸し出し期間などを含む。
【００７４】
第２の通信モジュール２０１は、第１の通信モジュール２０１に承認応答を送信する（３１２）。第１の通信モジュール２０１は、第１のネットワーク調整モジュール１０９ａ内に含まれる割り当てモジュール２０７に承認応答を送信する。割り当てモジュール２０７は、１つ又は２つ以上の借用タイムスロットを識別する１つ又は２つ以上のタイムスロットＩＤを承認応答から抽出する。割り当てモジュール２０７は、第２のアクティブ期間に含まれる１つ又は２つ以上の借用タイムスロットと、第１のアクティブ期間に含まれる指定タイムスロットとを、データ伝送のために、第１のネットワークシステム１０１ａ内に含まれる１つ又は２つ以上のノード１０３に割り当てる（３１４）。
【００７５】
図３Ｂは、別の実施形態にしたがった、データ通信のためにタイムスロットを管理するプロセスを示したイベント図３５０である。図３Ａを参照して上述したように、第１のネットワークシステム１０１ａ内に含まれる第１のネットワーク調整モジュール１０９ａは、第２のネットワークシステム１０１ｂ内に含まれる第２のネットワーク調整モジュール１０９ｂから１つ又は２つ以上のタイムスロットを借用することを要求する。データ伝送のために、第１のネットワークシステム１０１ａは、第１のアクティブ期間を指定され、第２のネットワークシステム１０１ｂは、第２のアクティブ期間を指定される。第１のネットワークシステム１０１ａ及び第２のネットワークシステム１０１ｂは、図１に示したように、他のエンティティへデータ伝送を行うための共通チャネルを共有している。
【００７６】
第１のネットワーク調整モジュール１０９ａ内に含まれるモニタモジュール２０３は、１つ又は２つ以上のタイムスロットを借用するためのトリガイベントを検出する（３５１）。モニタモジュール２０３は、トリガイベントを記述するイベントデータを、第１のネットワーク調整モジュール１０９ａ内に含まれる要求モジュール２０５に送信する。要求モジュール２０５は、トリガイベントに応えて借用要求を生成する（３５２）。要求モジュール２０５は、第１のネットワーク調整モジュール１０９ａ内に含まれる第１の通信モジュール２０１に借用要求を送信する。
【００７７】
第１の通信モジュール２０１は、第２のネットワーク調整モジュール１０９ｂ内に含まれる第２の通信モジュール２０１に借用要求を送信する（３５４）。第２の通信モジュール２０１は、第２のネットワーク調整モジュール１０９ｂ内に含まれる承認モジュール２０９に借用要求を送信する。承認モジュール２０９は、第２のアクティブ期間から第１のネットワーク調整モジュール１０９ａにタイムスロットを貸し出さないことを決定する（３５６）。例えば、承認モジュール２０９は、第２のアクティブ期間に含まれる全てのタイムスロットが１つ又は２つ以上のノード１０３によるデータ伝送のために占有されていることを検出し、第１のネットワーク調整モジュール１０９ａにタイムスロットを貸し出さないことを決定する。
【００７８】
承認モジュール２０９は、不承認応答を生成し（３５８）、第２の通信モジュール２０１に送信する。第２の通信モジュール２０１は、第１の通信モジュール２０１に不承認応答を送信する（３６０）。第１の通信モジュール２０１は、第１のネットワーク調整モジュール１０９ａ内に含まれる割り当てモジュール２０７に不承認応答を送信する。割り当てモジュール２０７は、借用要求が第２のネットワーク調整モジュール１０９ｂによって拒否されたことを決定する。割り当てモジュール２０７は、第１のアクティブ期間に含まれる指定タイムスロットを、データ伝送のために、第１のネットワークシステム１０１ａ内に含まれる１つ又は２つ以上のノード１０３に割り当てる（３６２）。
【００７９】
（処理フロー）
図４は、１つの実施形態にしたがった、１つ又は２つ以上のタイムスロットを借用する
処理４００を示したフローチャートである。例示の実施形態では、ネットワーク調整モジュール１０９ａ（イニシエータ）は、別のネットワーク調整モジュール１０９ｂ（貸し手候補）から１つ又は２つ以上のタイムスロットを借用することを要求する。イニシエータ内に含まれるモニタモジュール２０３は、１つ又は２つ以上のタイムスロットを借用するためのトリガイベントを検出する（４０１）。モニタモジュール２０３は、トリガイベントを記述するイベントデータを、イニシエータ内に含まれる要求モジュール２０５に送信する。要求モジュール２０５は、トリガイベントの受信に応えて借用要求を生成する（４０２）。要求モジュール２０５は、イニシエータ内に含まれる通信モジュール２０１に借用要求を送信する。通信モジュール２０１は、借用要求を貸し手候補に送信する（４０４）。
【００８０】
貸し手候補内に含まれる承認モジュール２０９は、１つ又は２つ以上のタイムスロットをイニシエータに貸し出すかどうかを決定し、少なくとも該決定に基づいて応答を生成する。例えば、承認モジュール２０９は、図５を参照して後ほど説明するのと同様なステップを実施し、イニシエータからの借用要求の受信に応えて応答を生成する。承認モジュール２０９は、その応答を、イニシエータ内に含まれる通信モジュール２０１に送信する。
【００８１】
通信モジュール２０１は、貸し手候補からの応答を受信し（４０６）、イニシエータ内に含まれる割り当てモジュール２０７に送信する。割り当てモジュール２０７は、借用要求が貸し手候補によって承認されたかどうかを決定する（４０８）。例えば、割り当てモジュール２０７は、応答が承認応答であるか又は不承認応答であるかを決定する。承認応答は、貸し手候補が借用要求を承認したことを示す。例えば、承認応答は、イニシエータに貸し出される１つ又は２つ以上のタイムスロットを識別する１つ又は２つ以上のタイムスロットＩＤを含む。不承認応答は、貸し手候補が借用要求を拒否したことを示す。もし、借用要求が貸し手候補によって承認された場合、処理４００は、ステップ４１０に進む。そうでなければ、処理４００は、ステップ４１２に進む。
【００８２】
ステップ４１０では、割り当てモジュール２０７は、貸し手候補から借用された１つ又は２つ以上のタイムスロットと、イニシエータに指定された１つ又は２つ以上のタイムスロットとを、データ伝送のために１つ又は２つ以上のノード１０３に割り当てる。１つ又は２つ以上の指定タイムスロットは、イニシエータに指定された第１のアクティブ期間に含まれるタイムスロットである。１つ又は２つ以上の借用タイムスロットは、貸し手候補に指定された第２のアクティブ期間に含まれるタイムスロットである。第１のアクティブ期間は、第２のアクティブ期間とは重複しない。
【００８３】
ステップ４１２では、割り当てモジュール２０７は、イニシエータに関連付けられた１つ又は２つ以上の指定タイムスロットのみを、データ伝送のために１つ又は２つ以上のノード１０３に割り当てる。そして処理４００は終了する。
【００８４】
図５は、１つの実施形態にしたがった、１つ又は２つ以上のタイムスロットをイニシエータに貸し出すかどうかを決定する処理５００を示したフローチャートである。例示の実施形態では、ネットワーク調整モジュール１０９ａ（イニシエータ）は、別の調整モジュール１０９ｂ（貸し手候補）から１つ又は２つ以上のタイムスロットを借用することを要求する。貸し手候補は、１つ又は２つ以上のタイムスロットをイニシエータに貸し出すかどうかを決定する。貸し手候補内に含まれる通信モジュール２０１は、イニシエータから借用要求を受信する（５０２）。通信モジュール２０１は、貸し手候補内に含まれる承認モジュール２０９に借用要求を送信する。
【００８５】
承認モジュール２０９は、イニシエータに貸し出し可能な１つ又は２つ以上のタイムスロットがあるかどうかを決定する（５０４）。例えば、承認モジュール２０９は、データ
伝送のために使用されておらず、尚且つその他のどのネットワーク調整モジュール１０９に貸し出されていないアイドル状態のタイムスロットがあるかどうかを決定する。もし、貸し出し可能な１つ又は２つ以上のタイムスロットがある場合、処理５００は、ステップ５０６に進む。そうでなければ、処理５００は、ステップ５１２に進む。
【００８６】
ステップ５０６では、承認モジュール２０９は、貸し出し可能な１つ又は２つ以上のタイムスロットをイニシエータへの貸し出しのために確保する。承認モジュール２０９は、確保された１つ又は２つ以上のタイムスロットを識別する１つ又は２つ以上のタイムスロットＩＤを含む承認応答を生成する（５０８）。承認モジュール２０９は、承認応答をイニシエータに送信する（５１０）。
【００８７】
ステップ５１２では、承認モジュール２０９は、イニシエータへのタイムスロットの貸し出しを拒否することの表示を含む不承認応答を生成する。承認モジュール２０９は、不承認応答をイニシエータに送信する（５１４）。そして処理５００は終了する。
【００８８】
（タイムスロットの貸借例）
図６Ａは、１つの実施形態にしたがった、データ通信のためにタイムスロットを管理するプロセス６００を示した図である。例示の実施形態では、第１のネットワーク調整モジュール１０９ａ、第２のネットワーク調整モジュール１０９ｂ、第３のネットワーク調整モジュール１０９ｃ、及び第４のネットワーク調整モジュール１０９ｄが、互いの及び／又は図１に示されたその他のエンティティとのデータ通信のために共通チャネルを共有している。第１のネットワーク調整モジュール１０９ａは、第１のアクティブ期間６０２を指定され、第１のネットワーク調整モジュール１０９ａに関連付けられた１つ又は２つ以上のノード１０３が第１のアクティブ期間６０２中にデータを伝送することを許可している。同様に、第２のネットワーク調整モジュール１０９ｂは、第２のアクティブ期間６０４を指定される。第３のネットワーク調整モジュール１０９ｃは、第３のアクティブ期間６０６を指定される。第４のネットワーク調整モジュール１０９ｄは、第４のアクティブ期間６０８を指定される。アクティブ期間６０２、６０４、６０６、及び６０８は、図６Ａに示したように、重複しない。図６Ａは、また、各ネットワーク調整モジュール１０９ａ、１０９ｂ、１０９ｃ、及び１０９ｄのための非アクティブ期間も示している。
【００８９】
図６Ｂは、別の実施形態にしたがった、データ通信のためにタイムスロットを管理するプロセス６５０を示した図である。図６Ａを参照して上述したように、各ネットワーク調整モジュール１０９ａ、１０９ｂ、１０９ｃ、及び１０９ｄは、重複しないアクティブ期間を指定される。１つの実施形態では、ネットワーク調整モジュール１０９ａ内に含まれるモニタモジュール２０３は、１つ又は２つ以上のタイムスロットを借用するためのトリガイベントを検出する。ネットワーク調整モジュール１０９ａ内に含まれる要求モジュール２０５は、１つ又は２つ以上の借用要求を生成し、ネットワーク調整モジュール１０９ｂ、１０９ｃ、及び１０９ｄのうちの１つ又は２つ以上に送信する。
【００９０】
例示の実施形態では、ネットワーク調整モジュール１０９ｂ及び１０９ｄは、それぞれ、借用要求を承認せず、ネットワーク調整モジュール１０９ａにタイムスロットを貸し出さないことを決定する。ネットワーク調整モジュール１０９ｃは、自身に関連付けられたアクティブ期間６０６からネットワーク調整モジュール１０９ａにタイムスロット６５４を貸し出すことを承認する。貸し出しの承認後、ネットワーク調整モジュール１０９ｃに関連付けられたタイムスロット６５４は、ネットワーク調整モジュール１０９ａのための借用タイムスロット６５６とも称される。１つの実施形態では、ネットワーク調整モジュール１０９ａは、アクティブ期間６０２に含まれる指定タイムスロット６５２と、アクティブ期間６０６に含まれる借用タイムスロット６５６（すなわちタイムスロット６５４）とを、データ伝送のために、ネットワーク調整モジュール１０９ａに関連付けられたノー
ド１０３に割り当てる。例示の実施形態では、ネットワーク調整モジュール１０９ａは、アクティブ期間６０６と借用タイムスロット６５６とを含むようにアクティブ期間を延長する。
【００９１】
（効果）
図７Ａは、１つの実施形態にしたがった、タイムスロット管理のパフォーマンスを示したグラフ７００である。ここではパフォーマンス評価のために、本明細書で説明する技術を、ＩＥＥＥ８０２．１５．４プロトコルに適用した。１つの実施形態では、ＩＥＥＥ８０２．１５．４プロトコルは、伝送時間が保証タイムスロット（ＧＴＳ）に分割されるように、スーパフレームのコンテンションフリー期間（ＣＦＰ）においてＴＤＭＡベースの方式を使用する。保証タイムスロットは、データを伝送するためにノード１０３に割り当てられる。しかし、システム１００は、例えば、図２〜６Ｂを参照して上述したように、ネットワーク調整モジュール１０９がデータ伝送のためにその他のネットワーク調整モジュール１０９から貸し出し可能タイムスロットを借用することを可能にする。したがって、ＩＥＥＥ８０２．１５．４プロトコルよりも更に好都合である。
【００９２】
図７Ａは、システム１００についてのシミュレーション結果の一例を、パケット配信率対データ送信期間の形で表した図である。シミュレーションの結果は、システム１００がパケット配信率を体系的に向上させることを明らかにしている。例えば、システム１００（図７Ａにおいて「借用タイムスロット（ＢＴＳ）」として示す）は、ＩＥＥＥ８０２．１５．４プロトコルのストックＧＴＳ（図７Ａにおいて「ＩＥＥＥ８０２．１５．４  ＧＴＳ」として示す）及び／又はコンテンションアクセス期間（ＣＡＰ）（図７Ａにおいて「ＩＥＥＥ８０２．１５．４  ＣＡＰ」として示す）などのその他の技術を採用した場合よりも高いパケット配信比を実現している。
【００９３】
図７Ｂは、別の実施形態にしたがった、タイムスロット管理のパフォーマンスを示したグラフ７５０である。図７Ｂは、システム１００についてのシミュレーション結果を、エンドツーエンド待ち時間対データ送信期間の形で表している。シミュレーションの結果は、システム１００がエンドツーエンド待ち時間を体系的に短縮することを明らかにしている。例えば、システム１００（図７Ｂにおいて「ＢＴＳ」として示す）は、ＩＥＥＥ８０２．１５．４  ＣＡＰ及びＩＥＥＥ８０２．１５．４  ＧＴＳなどのその他の技術を採用した場合よりも短いエンドツーエンド待ち時間を実現している。
【００９４】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環
境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【００９５】
１００・・・システム
１０１・・・ネットワークシステム
１０３・・・ノード
１０５・・・ネットワーク
１０７・・・接続ユニット
１０９・・・ネットワーク調整モジュール
１１３・・・スイッチユニット
１１５・・・サブシステム
【図１】
2013090331.tif 000003
【図２】
2013090331.tif 000004
【図３Ａ】
2013090331.tif 000005
【図３Ｂ】
2013090331.tif 000006
【図４】
2013090331.tif 000007
【図５】
2013090331.tif 000008
【図６Ａ】
2013090331.tif 000009
【図６Ｂ】
2013090331.tif 000010
【図７Ａ】
2013090331.tif 000011
【図７Ｂ】
2013090331.tif 000012