(57)【要約】【課題】ユニキャストトラフィックを同期させるための方法および装置を提供すること。【解決手段】周波数ホッピングメッシュネットワークに電子デバイスを接続するステップであって、ネットワークが同期ブロードキャストチャネルスケジュールおよび非同期ユニキャストチャネルスケジュールを有する、ステップと、ネットワークの共通タイミング間隔値を導出するステップと、ネットワークルートデバイスに対する電子デバイスの階層位置に基づいて、ユニキャスト送信スロットおよびユニキャスト受信スロットを交互に備える、導出された共通タイミング間隔の細分割を確立するステップと、ネットワークルートデバイスに対して異なる階層位置にある１ホップネットワークネイバーと、対応するユニキャスト送信スロットまたはユニキャスト受信スロット内の少なくとも１つのパケットを送信するステップおよび受信するステップのうちの少なくとも１つとを含む、ネットワーク接続可能電子デバイスを動作させるための技術が提供される。【選択図】図１
2020031424.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続可能電子デバイスを動作させるためのコンピュータ実装方法であって、
周波数ホッピングメッシュネットワークに前記電子デバイスを接続するステップであって、前記ネットワークが同期ブロードキャストチャネルスケジュールおよび非同期ユニキャストチャネルスケジュールを有する、ステップと、
前記ネットワークの共通タイミング間隔値を導出するステップと、
ネットワークルートデバイスに対する前記電子デバイスの階層位置に基づいて、ユニキャスト送信スロットおよびユニキャスト受信スロットを交互に備える、前記導出された共通タイミング間隔の細分割を確立するステップと、
前記ネットワークルートデバイスに対して異なる階層位置にある１ホップネットワークネイバーと、対応するユニキャスト送信スロットまたはユニキャスト受信スロット内の少なくとも１つのパケットを送信するステップおよび受信するステップのうちの少なくとも１つと
を含む、コンピュータ実装方法。
【請求項２】
前記電子デバイスがユニキャスト受信スロットにあることに応答して、少なくとも次のユニキャスト送信スロットの開始時間まで前記電子デバイスによる送信を遅延させるステップをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記階層位置が、前記ネットワークルートデバイスからの前記電子デバイスのホップカウントによって決定される、請求項１または請求項２に記載のコンピュータ実装方法。
【請求項４】
前記ネットワークルートデバイスが境界ルータを備える、請求項３に記載のコンピュータ実装方法。
【請求項５】
前記階層位置が、前記電子デバイスの低電力損失ネットワーク用ルーティングプロトコル（ＲＰＬ）ランク用のルーティングプロトコルによって決定される、請求項１または請求項２に記載のコンピュータ実装方法。
【請求項６】
周波数ホッピングメッシュネットワークに前記電子デバイスを接続する前記ステップが、Ｗｉ−ＳＵＮネットワークに前記電子デバイスを接続するステップを含む、請求項１から５のいずれか一項に記載のコンピュータ実装方法。
【請求項７】
前記ネットワークの共通タイミング間隔値を導出する前記ステップが、前記周波数ホッピングメッシュネットワークのブロードキャスト間隔を決定するステップを含む、請求項１から６のいずれか一項に記載のコンピュータ実装方法。
【請求項８】
前記共通タイミング間隔の前記細分割が、少なくとも１つのブロードキャストスロットおよび少なくとも１つの前記ユニキャストスロットに分割可能な少なくとも１つのサブ間隔を備える、請求項１から７のいずれか一項に記載のコンピュータ実装方法。
【請求項９】
電子デバイスであって、
周波数ホッピングメッシュネットワークに前記電子デバイスを接続するように動作可能な接続ロジックであって、前記ネットワークが同期ブロードキャストチャネルスケジュールおよび非同期ユニキャストチャネルスケジュールを有する、接続ロジックと、
前記ネットワークの共通タイミング間隔値を導出するように動作可能なタイミングロジックと、
ネットワークルートデバイスに対する前記電子デバイスの階層位置に基づいて、ユニキャスト送信スロットおよびユニキャスト受信スロットを交互に備える、前記導出された共通タイミング間隔の細分割を確立するように動作可能な分割器ロジックと、
前記ネットワークルートデバイスに対して異なる階層位置にある１ホップネットワークネイバーと、対応するユニキャスト送信スロットまたはユニキャスト受信スロット内の少なくとも１つのパケットを送信することおよび受信することのうちの少なくとも１つを行うように動作可能なトランシーバロジックと
を備える、電子デバイス。
【請求項１０】
コンピュータにロードされ、そこで実行されると、請求項１から８のいずれかに記載の方法のステップを実行するように論理回路を動作させることを前記コンピュータに行わせるように動作可能な、コンピュータプログラムコード。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、周波数ホッピングメッシュネットワーク、特に、パケット伝送障害が当たり前である低電力損失ネットワーク（ＬＬＮ）において、ユニキャストトラフィックを同期させるための方法および装置に関する。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
そのようなネットワークでは、過度の送信再試行動作は、個々のメッセージの待ち時間を増やすだけでなく、ネットワークに過負荷をかけたり、ネットワークパスの計算に使用される統計データに干渉したりすることにより、システム動作に深刻な悪影響を及ぼす可能性がある。ネットワークが拡大するにつれて、これらの問題は悪化する。
【課題を解決するための手段】
【０００３】
ネットワークにおけるユニキャストトラフィック処理において遭遇する多くの問題に対する第１の手法では、本技術は、周波数ホッピングメッシュネットワークに電子デバイスを接続するステップであって、ネットワークが同期ブロードキャストチャネルスケジュールおよび非同期ユニキャストチャネルスケジュールを有する、ステップと、ネットワークの共通タイミング間隔値を導出するステップと、ネットワークルートデバイスに対する電子デバイスの階層位置に基づいて、ユニキャスト送信スロットおよびユニキャスト受信スロットを交互に備える、導出された共通タイミング間隔の細分割を確立するステップと、ネットワークルートデバイスに対して異なる階層位置にある１ホップネットワークネイバーと、対応するユニキャスト送信スロットまたはユニキャスト受信スロット内の少なくとも１つのパケットを送信するステップおよび受信するステップのうちの少なくとも１つとを含む、ネットワーク接続可能電子デバイスを動作させるためのコンピュータ実装方法を提供する。
【０００４】
ハードウェア手法では、本技術の方法を実施するように動作可能な論理要素を備える電子装置が提供される。別の手法では、コンピュータ実装方法は、コンピュータプログラム製品の形態で実現されてもよい。
【０００５】
開示された技術の実装形態は、添付図面を参照して、ほんの一例として次に記載される。
【図面の簡単な説明】
【０００６】
【図１】現在記載されている技術が実装され得るメッシュネットワーク内のいくつかの接続の簡略図である。
【図２】メッシュネットワークの動作の第１の実例を示す図である。
【図３】伝送障害の一例を実証するメッシュネットワークの動作の第２の実例を示す図である。
【図４】伝送障害のさらなる例を実証するメッシュネットワークの動作の第３の実例を示す図である。
【図５】現在記載されている技術が実装され得る手段による、ロジック、ファームウェア、またはソフトウェアの構成要素の配置のブロック図である。
【図６】現在記載されている技術の一実装形態による、メッシュネットワークを動作させる方法の一例を示す図である。
【図７】本技術の一実装形態を実証するメッシュネットワークの動作の第４の実例を示す図である。
【発明を実施するための形態】
【０００７】
本技術は、周波数ホッピングメッシュネットワークにおいてユニキャストトラフィックを同期させるためのコンピュータ実装技術および論理装置をこのように提供する。様々な実装形態では、周波数ホッピングメッシュネットワークと同様の特性を有するネットワークも、本技術を適用することによって改善されてよい。
【０００８】
それらのホップツーホップ信号伝搬方法に固有の電力消費の拡散を利用することによって得ることができる電力消費の経済性のために、メッシュネットワークは、しばしば低電力損失ネットワーク（ＬＬＮ）に実装される。ＬＬＮは、通常、特にそれらが電池式であるかまたは環境発電であるときに、主として、処理能力、メモリ、および時にはエネルギーが制限される制約付きデバイスから構成される。これらのノードは、通常、不安定であり、その結果パケット配信速度が比較的低い可能性がある、通常、低いデータレートのみをサポートする、損失の多いリンクによって相互接続される。
【０００９】
したがって、ＬＬＮは、しばしば有利なことにメッシュネットワークとして配置され、その中では、接続デバイスが自分自身のために動作および送信／受信を実行するリーフノードとして、ならびに他の接続デバイスのためのルータとしての両方で機能することができる。したがって、そのようなネットワークにおける送信は、通常、そのソースデバイスから、１つまたは複数の中間接続デバイスを介して、その１つまたは複数のターゲットデバイスにホップバイホップ方式で進行する。これらのシングルホップ送信の各々は伝送障害に対して脆弱であり、そのような障害の１つの重要な原因は、メッシュネットワークが、通常、集中的に制御および同期されていないことであり、したがって、おそらく、デバイスが異なるチャネル上にあるため、しばしば、デバイスがパケット到着の時点で受信モードではなく送信モードにいるため、パケットが到着した時点でデバイスがリッスンしていないチャネルを介して、パケットがデバイスに送信される可能性がある。
【００１０】
ここで図１を参照すると、周波数ホッピングメッシュネットワーク（たとえば、低電力損失ネットワーク用ルーティングプロトコル（ＲＰＬ）を使用するもの）などのメッシュネットワークにおけるいくつかの接続の非常に簡略化された図が示されている。上述されたように、そのようなネットワークでは、パケットは発信元から宛先にホップバイホップでルーティングされる。図１では、メッシュネットワーク１００の一部が示され、ノード０  １０２は、ＨＯＰ１にある１ホップネイバーノード１  １０４およびノード２  １０６、ならびに２ホップネイバーノード３  １０８、ノード４  １１０、ノード５  １１２、およびノード６  １１４などの、メッシュネットワーク内の他のノードに、ブロードキャスト方式またはユニキャスト（ポイントツーポイント）方式で送信され得るパケットなどのメッセージのＨＯＰ０にある発信元ノードである。当業者には明らかなように、図１に示されたメッシュネットワーク１００の部分は、７つのノードの二分木に限定され、すべて親子階層で接続されている。実際には、メッシュネットワークのノードの各々は、１ホップネイバーへの複数の接続を有することができるが、現在開示されている技術を理解しやすくするために、この複雑さは示されていない。したがって、図では、すべてのユニキャストトラフィックは、常に、ノードからその次の１ホップネイバーもしくは子ノードへのダウンストリームに、またはその前の１ホップネイバーもしくは親ノードへのアップストリームに流れる。ネットワークの構成に応じて、他のトラフィック、たとえば、より良い親を見つけることに関与するトラフィックも存在してよい。しかしながら、ノードの次または前の１ホップネイバー以外の任意のノードへのユニキャストトラフィック、またはそれを介してルーティングされるユニキャストトラフィックは、本開示の範囲外である。
【００１１】
図１において、ノード０  １０２がノード４  １１０にデータを送信したい場合、データパケットはノード１  １０４をルータとして使用して送信される。ノード５  １１２がノード０  １０２にデータを送信したい場合、データはノード２  １０６をルータとして使用して送信される。ユニキャストトラフィックに加えて、ブロードキャストトラフィックも存在し、それは、データが宛先アドレスをもたず、ネットワーク内のすべてのリスニングノードに向けられていることを意味する。したがって、図１において、ノード０  １０２がブロードキャストパケットを送信すると、ノード１、２、３、４および５がリスニングモードにある場合、それらはパケットを受信する。
【００１２】
たとえば、Ｗｉ−ＳＵＮ周波数ホッピング拡散スペクトル（ＦＨＳＳ）ネットワークでは、ネットワーク内のすべてのノードは、同期ブロードキャストチャネルスケジュールおよび個別の非同期ユニキャストチャネルスケジュールを有する。ブロードキャストデータを送信するために、発信者はそれを自分のブロードキャストチャネル上で送信するだけで、範囲内のいずれのノードもそれを受信することができる。したがって、ノード０  １０２がそのスケジュールされたブロードキャストチャネル０上でブロードキャストパケットを送信する場合、ブロードキャストスケジュールは同期されているので、すべてのノードはチャネル０をリッスンしており、パケットを受信することができる。同様に、ノード３  １０８がそのスケジュールされたブロードキャストチャネル１上でブロードキャストパケットを送信する場合、すべての他のデバイスはそれを受信することができる。対照的に、ユニキャストデータを送信するために、発信者は、次／前のホップルータノードのユニキャストチャネルスケジュールを特定して、その時点でどのチャネル上でそれがパケットをリッスンしているかを知り、そのチャネル上でデータを送信する必要がある。ネイバーノードのユニキャストチャネルスケジュールを特定することは、通常、各１ホップネイバーのチャネルスケジュールが記録されたネイバーテーブルを使用して実現される。しかしながら、ノードのユニキャストスケジュールは同期されていないので、ブロードキャスト送信と同じ単純さの機能はユニキャスト送信に適用されず、したがって、この問題に対処するために本開示の技術の構成が必要とされる。
【００１３】
図２は、ノードのホップごとの階層内に４つのノード、ノード０、ノード１、ノード２、およびノード３を備える簡略化されたメッシュネットワークの動作の第１の実例２００を示す。図から明らかなように、各ノードはネットワークに公表する周波数ホッピングスケジュールを有し、その結果、他のノードは各ノードがいつも動作しているチャネルを知らされる。しかしながら、任意のノードがいかなるときに任意のチャネル上で送信または受信しているかどうかは示されない。図２では、ノード０（ホップ０）はノード４（ホップ２）にユニキャストデータを送信することを望み、ノード１（ホップ１）をルータとして使用する必要がある。ノード０はその公表された周波数ホッピングスケジュールから、ノード１のユニキャストチャネルスケジュールを計算する。ここで、ノード０は、ノード１が現在チャネル１０にあるようにスケジュールされていることを知り、そこでパケットを送信する。ノード１は、ノード４のチャネルスケジュールを検索してノード４にパケットをルーティングし、チャネル１４を使用してノード４に送信する。
【００１４】
図２に示されたように、必要な場合ホップごとにパケットを前方にルーティングする１つまたは複数の中間ノードを介して、正常な送信が発信元ノードから宛先ノードに渡される。パケットが到着したときに各ノードが受信状態にある場合はすべてうまくいき、次いで、それが向けられた宛先ノードではない場合、パケットを転送するために送信状態に切り替えることができる。しかしながら、ノードが送信状態に切り替わってパケットを別のノードのリスニングチャネルに送信すると、それ自体のリスニングチャネル上では何も受信することができず、これは、パケットが失われて再送信が必要になる可能性があり、それにより、スケーラビリティ問題が発生し、実装できるネットワークのサイズが制限されることを意味する。
【００１５】
たとえば、図３の実例３００では、ノード１がノード０からパケットを受信し、送信モードに切り替えてチャネル１４上で（ホップ２にある）ノード３にパケットを転送した後にチャネル１０上で受信モードを出たばかりのときに、（ホップ１にある）ノード２は、チャネル１０上で（ホップ０にある）ノード１にパケットを送信するように試みる。ノード１は受信モードではなくチャネル１０上で送信モードになっているので、ノード２からの送信は失われる。したがって、ノードのチャネルスケジュールがそのネイバーノードに知られている場合でも、宛先ノードが受信モードにないので、送信が失われる可能性がある。
【００１６】
図４に示されたさらなる実例４００では、（ホップ０にある）ノード０はチャネル１０上でノード１（ホップ１）にパケットを送信しており、同時にノード１はチャネル０上で（ホップ０にある）ノード０にパケットを送信している。ノード０が送信モードに切り替えてノード１にパケットを送信しており、ノード１が送信モードに切り替えてノード０にパケットを送信しているので、両方のパケットが失われる。
【００１７】
これらの問題を軽減するために、共通タイミング間隔がネットワークから導出され（実装形態では、共通タイミング間隔はネットワーク全体のブロードキャストスケジュールから導出される）、ネットワークルートデバイスに対するデバイスのホップごとの階層位置に基づいて、たとえば、ＲＰＬプロトコルの既知のランクパラメータを用いて、交互のユニキャスト送信スロットおよびユニキャスト受信スロットに再分割され、階層はネットワークルートデバイスからのホップカウントによって確立される。したがって、ノードは、対応するユニキャスト送信スロットまたはユニキャスト受信スロットで、それらの１ホップネットワークネイバーとパケットを送受信することが可能になり、それにより、１ホップネイバー間の送信スロットおよび受信スロットのホップごとの交替は、ネイバーが受信モードにあるべきときに送信モードにある機会を減らし、その逆も同様である。ユニキャスト送信スロットおよびユニキャスト受信スロットの数は、より長い待ち時間を引き起こす少なすぎるスロットと、送受信間であまりにも速い交替を引き起こし、したがってタイミング誤差を引き起こす多すぎるスロットとの間のバランスに基づいて、実装形態ごとに決定されてよい。
【００１８】
ここで図５を参照すると、現在記載されている技術が実装され得るロジック構成要素、ファームウェア構成要素、またはソフトウェア構成要素を備える、例示的な処理構成のブロック図が示されている。図５は、ネットワークルートデバイス５０２を有するメッシュネットワーク５００を示し、その中で、接続可能デバイス５０４は、ブロードキャストチャネル５１８およびユニキャストチャネル５２０を用いて、その最も近い１ホップネイバーである、１ホップネイバーＡ５０６および１ホップネイバーＢ５０８に接続された１つのノードを形成する。接続可能デバイス５０４はホップ１にあり、その親である１ホップネイバーＡ５０６はホップ０にある。接続可能デバイス５０４は、その子である、ホップ２にある１ホップネイバーＢ５０８にも接続されている。接続可能デバイス５０４、そのネイバー５０６および５０８、ならびにネットワークルートデバイス５０２は、モバイル（セルラー）電話デバイス、クライアントまたはサーバのコンピューティングデバイス、ウェアラブルトラッカデバイス、インテリジェントルーティングデバイスなどの、ネットワークの一部として動作するのに適した任意のデバイスを備えてもよい。
【００１９】
接続可能デバイス５０４は、送信機／受信機５１０を形成する１つまたは複数の構成要素を使用して、ブロードキャストチャネル５１８およびユニキャストチャネル５２０を介して通信する。実施形態では、ブロードキャスト間隔データ５１２は、送信機／受信機５１０を使用してブロードキャストチャネル５１８から取得され、間隔分割器５１４に渡されてもよく、間隔分割器５１４は、ブロードキャスト間隔をサブ間隔に分割し、ユニキャストチャネルスケジューラ５１６にサブ間隔データを提供するように動作可能である。実施形態では、ユニキャストチャネルスケジューラ５１６は、ユニキャストトラフィック用の送信間隔および受信間隔を、それぞれ、接続可能デバイス５０４から、および接続可能デバイス５０４に、交互に制御するように動作可能である。これらのネットワーク構成要素の様々な動作方法が以下に詳細に記載される。
【００２０】
ここで図６を参照すると、図５に示された接続可能デバイス５０４がユニキャストトラフィックの同期を実現することができる１つの方法６００が示されている。方法は開始ステップ６０２で始まり、６０４において、（図５の接続可能デバイス５０４などの）接続可能デバイスが、（図５のメッシュネットワーク５００などの）メッシュネットワークに接続する。６０６において、接続可能デバイス５０４は、メッシュネットワーク５００から受信された情報から共通タイミング間隔値を導出する。実装形態では、共通タイミング間隔値は同期ブロードキャスト間隔値から導出され、同期ブロードキャスト間隔値は、接続可能デバイス５０４に知られていてもよく、メッシュネットワーク５００に接続された別のデバイスからの送信の形で受信されてもよい。６０８において、接続可能デバイス５０４は、共通タイミング間隔をサブ間隔に再分割し、６１０において、各サブ間隔が送信スロットまたは受信スロットのいずれかであるように、サブ間隔に基づいて送信スロットおよび受信スロットを交互にスケジュールする。実装形態では、接続可能デバイス５０４は、その親の送信スロットおよび受信スロットに関する情報を有し、その交互の送信スロットおよび受信スロットをその親のそれらに対して逆にスケジュールするように動作可能であり、したがって、接続可能デバイス５０４の親（図５の１ホップネイバーＡ５０６）は、そのスケジュールに従って送信モードにあり、接続可能デバイス５０４は受信モードにあり、その逆も同様である。
【００２１】
同じ技法がメッシュネットワークを介して適用されると、各親子関係は同じパターンに従い、その結果、共通タイミング間隔の各サブ間隔において、各デバイスはその親およびその子とは反対のモードにある。実装形態では、メッシュネットワークを介した送信モードと受信モードの交替は、（図５のネットワークルートデバイス５０２などの）ネットワークルートデバイスから外側に伝搬されてもよい。接続可能デバイスは、今やユニキャスト用に設定されたその送信スケジュールおよび受信スケジュールを有し、６１２において、スケジュールに従って送信または受信するように動作可能である。終了ステップ６１４において、方法は完了する。
【００２２】
このようにして、本技術の実装形態によれば、同期ブロードキャストスケジュールを使用して、ノードが時間をブロードキャストトラフィック期間およびユニキャストトラフィック期間に分割することを可能にするベースライン「ハートビート」間隔を提供することができ、ユニキャストトラフィック期間は、順番に送信（ＴＸ）スロットおよび受信（ＲＸ）スロットに分割され、これらのスロットはそれらの最も近いネイバーのスロットに対して交互になるように配置される。このようにして、ホップＸ上のノードがＴＸスロット内にあるとき、前のホップ（Ｘ−１）および次のホップ（Ｘ＋１）のノードは常にＲＸスロット内にあり、したがって、前または次のホップのネイバーとの間の送信は、決して衝突することはできない。このようにして再送信に対する必要性が減少すると、全体的なネットワークトラフィックが減少し、したがって、より大規模なネットワークをサポートすることができる。
【００２３】
図７は、本技術の一実施形態による、ネットワークの動作の一例を示す。図の上部に示されたように、ネットワーク全体に設定されたブロードキャスト間隔は、「ハートビート」、つまりネットワークの各ノードによって検出できる共通タイミング間隔を提供する。ブロードキャスト間隔は、最初に、実際のブロードキャストチャネルスロット（ＢＣ０、ＢＣ１、…）から構成され、その間にブロードキャスト通信が送受信され得る。ブロードキャストスロット（ＢＣ０、ＢＣ１、…）の間、ノードはブロードキャスト通信を送受信するように動作可能である。ブロードキャスト間隔は、（ＢＣ０とＢＣ１との間の空きスロットとして図に示された）ブロードキャストチャネルを収容するために必要とされないスロットからさらに構成される。本技術によるユニキャスト通信を同期させるためにネットワークノードによって使用される、サブ間隔「ハートビート」を提供するのは、ブロードキャストスロットと（点線の垂直線として図に示された）「空き」スロットとの間の分割である。このようにユニキャスト通信に利用可能にされる時間は、送信（ＴＸ）スロットおよび受信（ＲＸ）スロットに分割され、スロットはホップごとに交互になるように設定され、その結果、たとえば、ノード１が受信（ＲＸ）に設定されるとき、その親と子の１ホップネイバー（それぞれ、ホップ０にあるノード０、ならびにホップ２にあるノード２および３）は、送信（ＴＸ）に設定され、その逆も同様である。
【００２４】
図７では、（ホップ０にある）ノード０は（ホップ２にある）ノード３にデータを送信することを望み、（ホップ１にある）ノード１をルータとして使用する必要がある。ノード０は送信（ＴＸ）モードにあり、ノード１のユニキャストチャネルスケジュールを検索する。ここで、ノード１が現在チャネル１０上にあり、送信（ＴＸ）モードにあるノード０の１ホップのネイバーであるため、受信（ＲＸ）モードにあり、送信Ａにおいてパケットを送信することが分かる。ノード１は、その受信（ＲＸ）スロット中にパケットを受信し、次いで、それ自体の送信（ＴＸ）スロットが始まるまで待機し、ノード４のチャネルスケジュールを検索し、送信Ａ’においてノード３のチャネル１５で送信することにより、ノード３にパケットをルーティングする。一方、（同様にホップ２にあり、したがってノード１の１ホップネイバーである）ノード２は、ノード１が受信（ＲＸ）モードにある間そのリスニングチャネルに留まるので、送信Ｂにおいてチャネル１０上のノード１にパケットを送信することができる。
【００２５】
当業者によって諒解されるように、本技法は、システム、方法、またはコンピュータプログラム製品として具現化されてもよい。したがって、本技法は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態の形を取ることができる。「構成要素」という単語が使用される場合、それは上記の実施形態のうちのいずれかの任意の部分を指すことが当業者によって理解されよう。
【００２６】
さらに、本技法は、その上に具現化されたコンピュータ可読プログラムコードを有するコンピュータ可読媒体内に具現化されたコンピュータプログラム製品の形を取ることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読媒体は、たとえば、限定はしないが、電子、磁気、光、電磁気、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、または上記の適切な組合せであってもよい。
【００２７】
本技法の動作を実行するためのコンピュータプログラムコードは、オブジェクト指向プログラミング言語および従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれてもよい。
【００２８】
たとえば、本技法の動作を実行するためのプログラムコードは、Ｃなどの（解釈またはコンパイルされた）従来のプログラミング言語のソース、オブジェクト、もしくは実行可能コード、またはアセンブリコード、ＡＳＩＣ（特定用途向け集積回路）もしくはＦＰＧＡ（フィールドプログラマブルゲートアレイ）をセットアップもしくは制御するためのコード、またはＶｅｒｉｌｏｇ（登録商標）もしくはＶＨＤＬ（超高速集積回路ハードウェア記述言語）などのハードウェア記述言語のためのコードを備えてもよい。
【００２９】
プログラムコードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、かつ部分的にリモートコンピュータ上で、または全体的にリモートコンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、任意のタイプのネットワークを介して、ユーザのコンピュータに接続されてもよい。コード構成要素は、手順、方法などとして具現化されてもよいし、ネイティブ命令セットの直接機械命令から高水準のコンパイルまたは解釈された言語構成まで、任意の抽象化レベルにある命令または命令のシーケンスの形を取ることができる副構成要素を備えてもよい。
【００３０】
本技法の実施形態による論理方法のすべてまたは一部が、方法のステップを実行する論理要素を備える論理装置内で適切に具現化され得ること、およびそのような論理要素は、たとえば、プログラマブル論理アレイまたは特定用途向け集積回路における論理ゲートなどの構成要素を備えてよいことも当業者には明らかであろう。そのような論理配置はさらに、たとえば、固定搬送媒体を使用して記憶され得る仮想ハードウェア記述子言語を使用して、そのようなアレイまたは回路内に論理構造を一時的または恒久的に確立するための要素を有効にすることで具現化されてもよい。
【００３１】
一代替案では、本技法の一実施形態は、コンピュータ基盤またはネットワークに展開され、その上で実行されたときに、方法のすべてのステップを前記コンピュータシステムまたはネットワークに実行させるように動作可能なコンピュータプログラムコードを展開するステップを含む、サービスを展開するコンピュータ実装方法の形で実現されてもよい。
【００３２】
さらなる代替案では、本技法の一実施形態は、機能データをその上に有するデータキャリアの形で実現されてもよく、前記機能データは、コンピュータシステムまたはネットワークにロードされ、それによって動作するときに、前記コンピュータシステムが方法のすべてのステップを実行することを可能にする、機能コンピュータデータ構造を備える。
【００３３】
本技法の範囲から逸脱することなく、上記の例示的な実施形態に対して多くの改良および修正を行うことができることは、当業者には明らかであろう。
【符号の説明】
【００３４】
０  ブロードキャストチャネル
１  ブロードキャストチャネル
１０  チャネル
１４  チャネル
１５  チャネル
１００  メッシュネットワーク
１０２  ノード０
１０４  １ホップネイバーノード１
１０６  １ホップネイバーノード２
１０８  ２ホップネイバーノード３
１１０  ２ホップネイバーノード４
１１２  ２ホップネイバーノード５
１１４  ２ホップネイバーノード６
２００  実例
３００  実例
４００  実例
５００  メッシュネットワーク
５０２  ネットワークルートデバイス
５０４  接続可能デバイス
５０６  １ホップネイバーＡ
５０８  １ホップネイバーＢ
５１０  送信機／受信機
５１２  ブロードキャスト間隔データ
５１４  間隔分割器
５１６  ユニキャストチャネルスケジューラ
５１８  ブロードキャストチャネル
５２０  ユニキャストチャネル
６００  方法
６０２  開始ステップ
６０４  ステップ
６０６  ステップ
６０８  ステップ
６１０  ステップ
６１２  ステップ
６１４  終了ステップ
７００  実例
【図１】
2020031424.tif 000003
【図２】
2020031424.tif 000004
【図３】
2020031424.tif 000005
【図４】
2020031424.tif 000006
【図５】
2020031424.tif 000007
【図６】
2020031424.tif 000008
【図７】
2020031424.tif 000009
【手続補正書】
【提出日】令和1年12月4日(2019.12.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
図２は、ノードのホップごとの階層内に４つのノード、ノード０、ノード１、ノード２、およびノード３を備える簡略化されたメッシュネットワークの動作の第１の実例２００を示す。図から明らかなように、各ノードはネットワークに公表する周波数ホッピングスケジュールを有し、その結果、他のノードは各ノードがいつも動作しているチャネルを知らされる。しかしながら、任意のノードがいかなるときに任意のチャネル上で送信または受信しているかどうかは示されない。図２では、ノード０（ホップ０）はノード３（ホップ３）にユニキャストデータを送信することを望み、ノード１（ホップ１）をルータとして使用する必要がある。ノード０はその公表された周波数ホッピングスケジュールから、ノード１のユニキャストチャネルスケジュールを計算する。ここで、ノード０は、ノード１が現在チャネル１０にあるようにスケジュールされていることを知り、そこでパケットを送信する。ノード１は、ノード３のチャネルスケジュールを検索してノード３にパケットをルーティングし、チャネル１４を使用してノード３に送信する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
たとえば、図３の実例３００では、ノード１がノード０からパケットを受信し、送信モードに切り替えてチャネル１４上で（ホップ３にある）ノード３にパケットを転送した後にチャネル１０上で受信モードを出たばかりのときに、（ホップ２にある）ノード２は、チャネル１０上で（ホップ１にある）ノード１にパケットを送信するように試みる。ノード１は受信モードではなくチャネル１０上で送信モードになっているので、ノード２からの送信は失われる。したがって、ノードのチャネルスケジュールがそのネイバーノードに知られている場合でも、宛先ノードが受信モードにないので、送信が失われる可能性がある。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
図７では、（ホップ０にある）ノード０は（ホップ２にある）ノード３にデータを送信することを望み、（ホップ１にある）ノード１をルータとして使用する必要がある。ノード０は送信（ＴＸ）モードにあり、ノード１のユニキャストチャネルスケジュールを検索する。ここで、ノード１が現在チャネル１０上にあり、送信（ＴＸ）モードにあるノード０の１ホップのネイバーであるため、受信（ＲＸ）モードにあり、送信Ａにおいてパケットを送信することが分かる。ノード１は、その受信（ＲＸ）スロット中にパケットを受信し、次いで、それ自体の送信（ＴＸ）スロットが始まるまで待機し、ノード３のチャネルスケジュールを検索し、送信Ａ’においてノード３のチャネル１４で送信することにより、ノード３にパケットをルーティングする。一方、（同様にホップ２にあり、したがってノード１の１ホップネイバーである）ノード２は、ノード１が受信（ＲＸ）モードにある間そのリスニングチャネルに留まるので、送信Ｂにおいてチャネル１０上のノード１にパケットを送信することができる。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク接続可能電子デバイスを動作させるためのコンピュータ実装方法であって、
周波数ホッピングメッシュネットワークに前記電子デバイスを接続するステップであって、前記ネットワークが同期ブロードキャストチャネルスケジュールおよび非同期ユニキャストチャネルスケジュールを有する、ステップと、
前記ネットワークの共通タイミング間隔値を導出するステップと、
ネットワークルートデバイスに対する前記電子デバイスの階層位置に基づいて、ユニキャスト送信スロットおよびユニキャスト受信スロットを交互に備える、前記導出された共通タイミング間隔の細分割を確立するステップと、
前記ネットワークルートデバイスに対して異なる階層位置にある１ホップネットワークネイバーと、対応するユニキャスト送信スロットまたはユニキャスト受信スロット内の少なくとも１つのパケットを送信するステップおよび受信するステップのうちの少なくとも１つと
を含む、コンピュータ実装方法。
【請求項２】
前記電子デバイスがユニキャスト受信スロットにあることに応答して、少なくとも次のユニキャスト送信スロットの開始時間まで前記電子デバイスによる送信を遅延させるステップをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記階層位置が、前記ネットワークルートデバイスからの前記電子デバイスのホップカウントによって決定される、請求項１または請求項２に記載のコンピュータ実装方法。
【請求項４】
前記ネットワークルートデバイスが境界ルータを備える、請求項３に記載のコンピュータ実装方法。
【請求項５】
前記階層位置が、前記電子デバイスの低電力損失ネットワーク用ルーティングプロトコル（ＲＰＬ）ランク用のルーティングプロトコルによって決定される、請求項１または請求項２に記載のコンピュータ実装方法。
【請求項６】
周波数ホッピングメッシュネットワークに前記電子デバイスを接続する前記ステップが、全てのノードが同期ブロードキャストチャネルスケジュールおよび個別の非同期ユニキャストチャネルスケジュールを有するネットワークに前記電子デバイスを接続するステップを含む、請求項１から５のいずれか一項に記載のコンピュータ実装方法。
【請求項７】
前記ネットワークの共通タイミング間隔値を導出する前記ステップが、前記周波数ホッピングメッシュネットワークのブロードキャスト間隔を決定するステップを含む、請求項１から６のいずれか一項に記載のコンピュータ実装方法。
【請求項８】
前記共通タイミング間隔の前記細分割が、少なくとも１つのブロードキャストスロットおよび少なくとも１つの前記ユニキャストスロットに分割可能な少なくとも１つのサブ間隔を備える、請求項１から７のいずれか一項に記載のコンピュータ実装方法。
【請求項９】
電子デバイスであって、
周波数ホッピングメッシュネットワークに前記電子デバイスを接続するように動作可能な接続ロジックであって、前記ネットワークが同期ブロードキャストチャネルスケジュールおよび非同期ユニキャストチャネルスケジュールを有する、接続ロジックと、
前記ネットワークの共通タイミング間隔値を導出するように動作可能なタイミングロジックと、
ネットワークルートデバイスに対する前記電子デバイスの階層位置に基づいて、ユニキャスト送信スロットおよびユニキャスト受信スロットを交互に備える、前記導出された共通タイミング間隔の細分割を確立するように動作可能な分割器ロジックと、
前記ネットワークルートデバイスに対して異なる階層位置にある１ホップネットワークネイバーと、対応するユニキャスト送信スロットまたはユニキャスト受信スロット内の少なくとも１つのパケットを送信することおよび受信することのうちの少なくとも１つを行うように動作可能なトランシーバロジックと
を備える、電子デバイス。
【請求項１０】
コンピュータにロードされ、そこで実行されると、請求項１から８のいずれかに記載の方法のステップを実行するように論理回路を動作させることを前記コンピュータに行わせるように動作可能な、コンピュータプログラムコード。
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2020031424.tif 000010
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2020031424.tif 000011
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2020031424.tif 000012
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2020031424.tif 000013
【外国語明細書】
2020031424000001.pdf