(57)【要約】  フローにおけるデータパケットを経路指定するためのノードが開示される。このノードは、概して、第1のソース経路から第2のソース経路にフローを再経路指定するためのコマンドを受信するように構成されている受信機を備える。ノードはまた、フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定するためのプロセッサと、その決定に応答して第2のソース経路において第2のデータパケットを送信するように構成された送信機とを含む。代替としては、フローの第1と第2の連続するデータパケット間の時間期間の決定は、第2の、次の連続するデータパケットのみを第2のソース経路に沿って経路指定する方式でフローの再経路指定を行うように、所与のノードに命令することができるネットワークコントローラによって行われ得る。
2018505616.tif 000002
【特許請求の範囲】
【請求項１】
フローにおけるデータパケットを経路指定するためのノードであって、
第1のソース経路から第2のソース経路に前記フローを再経路指定するためのコマンドを受信するように構成された受信機と、
前記フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定するためのプロセッサと、
前記決定に応答して前記第2のソース経路において前記第2のデータパケットを送信するように構成された送信機と
を備える、ノード。
【請求項２】
前記第1のソース経路が、第1の伝送遅延を有し、前記第2のソース経路が、第2の伝送遅延を有し、閾値時間値が、前記第1の伝送遅延と前記第2の伝送遅延との差に基づいている、請求項1に記載のノード。
【請求項３】
前記受信機が、外部ソースから、前記第1の伝送遅延および前記第2の伝送遅延のうちの少なくとも1つの継続時間に関する情報を受信するように構成されている、請求項2に記載のノード。
【請求項４】
前記送信機が、前記第2のデータパケットを送信することに先立って、前記第1のソース経路において前記第1のデータパケットを送信するように構成されている、請求項1に記載のノード。
【請求項５】
前記送信機は、前記時間期間が前記閾値を超えない場合、前記第1のソース経路において前記第2のデータパケットを経路指定するように構成されている、請求項1に記載のノード。
【請求項６】
前記時間期間が、前記第1のデータパケットの前記経路指定の完了から、前記第2のデータパケットの前記経路指定の開始まで測定される、請求項1に記載のノード。
【請求項７】
ルータおよびスイッチのうちの少なくとも1つである、請求項1に記載のノード。
【請求項８】
前記データパケットの経路指定が、マルチプロトコルラベルスイッチング(MPLS)を含む、請求項1に記載のノード。
【請求項９】
フローにおけるデータパケットを経路指定するための方法であって、
第1のソース経路から第2のソース経路に前記フローを再経路指定するためのコマンドを受信するステップであって、前記第1のソース経路と前記第2のソース経路は、異なっている、ステップと、
前記フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定するステップと、
前記決定に応答して前記第2のソース経路において前記第2のデータパケットを送信するステップと
を含む、方法。
【請求項１０】
閾値時間値が、前記第1のソース経路に関連する第1の伝送遅延と、前記第2のソース経路に関連する第2の伝送遅延との比較に基づいている、請求項9に記載の方法。
【請求項１１】
前記送信するステップは、前記時間期間が、前記閾値を超えない場合、前記第1のソース経路において前記第2のデータパケットを送信するステップを含む、請求項9に記載の方法。
【請求項１２】
前記データパケットの経路指定が、マルチプロトコルラベルスイッチング(MPLS)を含む、請求項9に記載の方法。
【請求項１３】
ネットワークを介するデータパケットのフローを制御するためのネットワークコントローラであって、
前記ネットワークの中のノードにおける2つ以上の連続するデータパケットの予想到着時間情報を決定することと、
前記フローの第1と第2の連続するデータパケット間の時間期間が、前記予想到着時間情報に基づいた閾値を超えたことを決定することと、
前記ノードのうちの1つに、前記決定に応答して第1のソース経路から第2のソース経路に前記フローを再経路指定するための命令を送信することであって、それにより、前記ノードのうちの前記1つは、前記第1のソース経路に沿って前記第1のデータパケットを送信し、前記第2のソース経路に沿って前記第2のデータパケットを送信するようになる、命令を送信することと
を行うように構成されている、ネットワークコントローラ。
【請求項１４】
前記第1のソース経路が、第1の伝送遅延を有し、前記第2のソース経路が、第2の伝送遅延を有し、当該ネットワークコントローラが、前記第1の伝送遅延と前記第2の伝送遅延との差に基づいた閾値時間値を決定するようにさらに構成されている、請求項13に記載のネットワークコントローラ。
【請求項１５】
再経路指定するための前記命令は、受信ノードが前記フローの前記再経路指定を行うための正確な瞬間を決定することを可能にするデータパケット情報を含んでいる、請求項13に記載のネットワークコントローラ。
【請求項１６】
前記データパケット情報は、前記第1と前記第2の連続するデータパケットが前記受信ノードによって認識できるようにする前記第1と前記第2の連続するデータパケットの識別情報を含んでいる、請求項15に記載のネットワークコントローラ。
【請求項１７】
プロセッサが、前記予想到着時間に基づいて前記受信ノードにおいて前記フローの前記再経路指定を行うための正確な瞬間を決定するようにさらに構成され、送信機が、前記正確な瞬間の前記決定に基づいて、前記受信ノードに、再経路指定するための前記命令を送信する、請求項13に記載のネットワークコントローラ。
【請求項１８】
ネットワークモジュールによって実行可能なコンピュータソフトウェア製品を上に記憶しているネットワークデータベースをさらに備え、前記コンピュータソフトウェア製品が、前記ネットワークの受信ノードに経路指定命令をインストールためのコンピュータコードを有し、前記経路指定命令が、前記受信ノードのプロセッサによって実行可能であり、前記受信ノードに、以下の、
前記フローを再経路指定するためのコマンドの受信後、前記フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定するステップと、
前記決定に応答して、前記第2のソース経路において前記第2のデータパケットを送信するステップと
を行うように命令する、請求項13に記載のネットワークコントローラ。
【請求項１９】
ネットワークを介するデータパケットのフローを経路指定する方法であって、
前記ネットワークの中のノードにおける2つ以上の連続するデータパケットの予想到着時間情報を決定するステップと、
前記フローの第1と第2の連続するデータパケット間の時間期間が、前記予想到着時間情報に基づいた閾値を超えたことを決定するステップと、
前記ノードのうちの1つに、前記決定に応答して、第1のソース経路から第2のソース経路に前記フローを再経路指定するための命令を送信するステップであって、それにより、前記ノードのうちの前記1つは、前記第1のソース経路に沿って前記第1のデータパケットを送信し、前記第2のソース経路に沿って前記第2のデータパケットを送信するようになる、命令を送信するステップと
を含む、方法。
【請求項２０】
前記第1のソース経路が、第1の伝送遅延を有し、前記第2のソース経路が、第2の伝送遅延を有し、ネットワークコントローラが、前記第1の伝送遅延と前記第2の伝送遅延との差に基づいて閾値時間値を決定するステップをさらに含む、請求項19に記載のネットワークコントローラ。
【請求項２１】
再経路指定するための前記命令は、受信ノードが前記フローの前記再経路指定を行うための正確な瞬間を決定することを可能にするデータパケット情報を含んでいる、請求項19に記載の方法。
【請求項２２】
前記データパケット情報は、前記第1と前記第2の連続するデータパケットが前記受信ノードによって認識できるようにする前記第1と前記第2の連続するデータパケットの識別情報を含んでいる、請求項21に記載の方法。
【請求項２３】
前記受信ノードに、再経路指定するための前記命令を前記送信するステップが、前記ノードのうちの中間ノードを介して間接的に行われる、請求項21に記載の方法。
【請求項２４】
予想到着時間に基づいて受信ノードにおいて前記フローの前記再経路指定を行うための正確な瞬間を決定するステップをさらに含み、前記受信ノードに、再経路指定するための前記命令を前記送信するステップが、前記正確な瞬間の前記決定に基づいて行われる、請求項20に記載の方法。
【請求項２５】
前記ネットワークの受信ノードに経路指定命令をインストールするステップをさらに含み、前記経路指定命令が、前記受信ノードのプロセッサによって実行可能であり、前記受信ノードに、以下の、
前記フローを再経路指定するための前記コマンドの受信後、前記フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定するステップと、
前記決定に応答して、前記第2のソース経路において前記第2のデータパケットを送信するステップと
を行うように命令する、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
相互参照
本出願は、参照によりその内容全体が本明細書に組み込まれている2015年1月30日に出願された「Node, Network Controller, and Associated Methods for Routing Data Packets in a Network」と題する米国特許出願第14/610,608号の優先権を主張するものである。
【０００２】
本改善は、一般に、ネットワーク通信の分野に関し、より詳細には、ネットワークにおけるデータパケットをソース経路指定するためのシステム、デバイス、および方法に関する。
【背景技術】
【０００３】
通信ネットワーキングの分野においては、ネットワークが、一般に複数のデータパケットにセグメント化される情報を送信、転送、および/または受信するための複数の相互接続されたノードを組み込んでいることが知られている。これらのノード間の通信を可能にするために、通信プロトコルが、例として、国際標準化機構(ISO:International Organization for Standardization)によって確立されている。これらの通信プロトコルの中で、ソース経路指定は、所与のネットワーク経路に沿って部分的にまたは完全に指定された一連の中間ノードに沿って、順次、複数のデータパケットを転送するために使用される。
【０００４】
ソース経路指定を含む既存のシステム、デバイス、および方法は、ある程度までは満足できるものであるが、伝送中のデータパケットの経路指定に関連する問題に対処するという点では特に、依然として改善の余地が残っている。
【発明の概要】
【課題を解決するための手段】
【０００５】
1つの態様によれば、フローにおけるデータパケットを経路指定するためのノードが提供される。このノードは、概して、第1のソース経路から第2のソース経路にフローを再経路指定するためのコマンドを受信するように構成されている受信機を備える。ノードはまた、フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定するためのプロセッサと、その決定に応答して第2のソース経路において第2のデータパケットを送信するように構成された送信機とを含む。
【０００６】
別の態様によれば、フローにおけるデータパケットを経路指定するための方法が提供される。この方法は、第1のソース経路から第2のソース経路にフローを再経路指定するためのコマンドを受信するステップを含み、ここでは、第1のソース経路と第2のソース経路は、異なっている。方法はまた、フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定するステップと、その決定に応答して第2のソース経路において第2のデータパケットを送信するステップとを有する。
【０００７】
別の態様によれば、ネットワークを介するデータパケットのフローを制御するためのネットワークコントローラが提供される。このネットワークコントローラは、ネットワークの中のノードにおける2つ以上の連続するデータパケットの予想到着時間情報を決定することと、フローの第1と第2の連続するデータパケット間の時間期間が、予想到着時間情報に基づいた閾値を超えたことを決定することと、ノードのうちの1つに、その決定に応答して第1のソース経路から第2のソース経路にフローを再経路指定するための命令を送信することであって、それにより、ノードのうちのその1つは、第1のソース経路に沿って第1のデータパケットを送信し、第2のソース経路に沿って第2のデータパケットを送信するようになる、命令を送信することとを行うように構成されている。
【０００８】
別の態様によれば、データパケットのフローの経路指定に際して、ネットワークのノードを制御する方法が提供される。この方法は、ネットワークの中のノードにおける2つ以上の連続するデータパケットの予想到着時間情報を決定するステップと;フローの第1と第2の連続するデータパケット間の時間期間が、予想到着時間情報に基づいた閾値を超えたことを決定するステップと、ノードのうちの1つに、その決定に応答して第1のソース経路から第2のソース経路にフローを再経路指定するための命令を送信するステップであって、それにより、ノードのうちのその1つは、第1のソース経路に沿って第1のデータパケットを送信し、第2のソース経路に沿って第2のデータパケットを送信するようになる、命令を送信するステップとを含むことができる。
【０００９】
別の態様によれば、フローにおけるデータパケットを経路指定するためのネットワークコントローラが提供される。このネットワークコントローラは、ネットワークに動作可能なように結合され、かつネットワークのノードに、第1のソース経路から第2のソース経路にフローを再経路指定するためのコマンドを転送するように構成されている、ネットワークモジュールを備え、ここでは、第1のソース経路と第2のソース経路は、異なっている。ネットワークコントローラはまた、ネットワークモジュールによって実行可能なコンピュータソフトウェア製品をその上に記憶したネットワークデータベースを有する。コンピュータソフトウェア製品は、ネットワークのノードに経路指定命令をインストールするためのコンピュータコードを有する。ノードのプロセッサによって実行可能な経路指定命令は、フローを再経路指定するためのコマンドを受信後、フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定することと、その決定に応答して第2のソース経路において第2のデータパケットを送信することとを含んでいる。
【００１０】
別の態様によれば、フローにおけるデータパケットを経路指定するための方法が提供される。この方法は、ネットワークのノードに経路指定命令を転送するステップを有し、ここでは、経路指定命令は、ノードのプロセッサによって実行可能である。経路指定命令は、フローを再経路指定するためのコマンドを受信後、フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定することと、その決定に応答して第2のソース経路において第2のデータパケットを送信することとを含んでいる。
【００１１】
別の態様によれば、ネットワーク通信システムが提供される。このネットワーク通信システムは、第1のノードに結合されている少なくとも1つのデータソースを含む。第1のノードは、データパケットを少なくとも1つの中間ノードにわたって第1のソース経路に沿って第2のノードに経路指定するように構成され、ここでは、第1のソース経路は、第1の伝送遅延を有する。ネットワーク通信システムはまた、第2のノードに結合されている少なくとも1つのデータ宛先を有する。第1のソース経路から、少なくとも1つの他の中間ノードにわたり第2の伝送遅延を有する第2のソース経路にフローを再経路指定するためのコマンドの発生後、第1のノードは、フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定後、第2のソース経路にフローを経路指定するようにさらに構成されている。
【００１２】
本改善に関する多くのさらなる特徴およびそれらの組合せは、本開示を読んだ後、当業者には見えるであろう。
【図面の簡単な説明】
【００１３】
【図１】一実施形態によるネットワーク通信システムの第1の例のネットワーク図である。
【図２】ネットワーク通信システムにおけるデータパケットの例示的なフローを示す概略図である。
【図３】ネットワーク通信システムにおけるデータパケットの例示的なフローを示す概略図である。
【図４】一実施形態による図1のネットワーク通信システムのネットワークコントローラの一例の高レベル概略図である。
【図５】一実施形態による図1のネットワーク通信システムの入口ノードの一例の高レベル概略図である。
【図６】一実施形態によるネットワークにおけるデータパケットを再経路指定するための方法の第1の例のフローチャートである。
【図７】一実施形態によるネットワークにおけるデータパケットを再経路指定するための方法の第2の例のフローチャートである。
【図８】一実施形態によるネットワーク通信システムの第2の例のネットワーク図である。
【発明を実施するための形態】
【００１４】
これらの図面は、説明を目的として、例示的な実施形態を示し、変形形態、代替の構成、代替の構成要素、および修正形態が、これらの例示的な実施形態に対して作成され得る。
【００１５】
いくつかのネットワーク制御シナリオは、ネットワークにおけるデータパケットのフローの経路を、これらのデータパケットがネットワークによって搬送されているときに変更することを含む。フローのソース経路を変更するこの動作は、一般に、再経路指定と呼ばれる。いくつかの例においては、フローのソース経路を変更することは、通信エラーにつながることが知られている。例として、データパケットの再順序付けは、新規ソース経路の伝送遅延が初期ソース経路の伝送遅延よりも小さい場合に行われ得る。
【００１６】
本明細書においては、方法およびシステムについて説明し、ここでは、関連する状況において、再経路指定するためのコマンドの発生後、フローの再経路指定に自動的に進むのではなく、最後に送信されたデータパケットの送信から、次のデータパケットの送信前までに経過した時間期間がモニタリングされる。後続のデータパケットは、このモニタリングされた時間期間が、所与の閾値に到達したと決定されたときのみ、新規ソース経路に沿って経路指定される。所与の閾値は、可能な例を挙げると、2つのソース経路間の伝送遅延の差に応じて選択されても、任意選択で、ネットワークの許容範囲または他の因子を考慮に入れても、または特定の代替の状況において適切と見なされる任意の他の考慮事項に応じて選択されてもよい。
【００１７】
モニタリングは、フローにおける連続するパケット間の時間を測定することによって、直接、行われても、またはフローにおけるデータパケットのトラフィックレートを介して、もしくはいくつかの他の適切な手段によって、推測されてもよい。モニタリングが、時間期間を測定することによって、直接、行われるシナリオにおいては、測定された時間期間が所与の閾値を超えたと決定されない場合、すぐ後のデータパケットは、依然として、初期経路に沿って送信され、連続するパケットの後続のペア間の時間は、次のデータパケットが新規経路に沿って送信されることになるかどうかを決定するために測定され得る。このプロセスは、後続のデータパケットを新規ソース経路に沿って送信することに先立って、少なくとも所与の閾値の継続時間を有する時間期間が検出されるまで、数回、繰返し可能である。
【００１８】
次に、実施形態の諸例について、詳述する。
【００１９】
図1は、ネットワーク通信システム100の第1の例を示している。示されているように、システム100は、パケット交換型ネットワーク140によって相互接続されているネットワークコントローラ110、データソース120、およびデータ宛先130を含む。パケット交換型ネットワーク140は、複数のノードを含む。より具体的には、図1は、フローF(太線参照)が、第1のノード150、中間ノード160、および第2のノード170を有していることを示している。この例においては、第1のノード150は、入口ノードであり、一方、第2のノード170は、出口ノードである。しかしながら、例として、第1のノード150は、入口ノードであっても、なくてもよく、一方、第2のノード170は、出口ノードであっても、なくてもよい。
【００２０】
本明細書に開示される方法およびシステムは、ソース経路指定を含むネットワーク通信システム100において使用され得る。典型的には、ソース経路指定は、複数のデータパケットのフローがその後に続くように、一連のノード、リンク、および/またはそれらの組合せを部分的にまたは完全に指定することを可能にする。本明細書でソース経路と呼ばれる一連のノードおよび/またはリンクに関連付けられるデータは、パケット交換型ネットワーク140の後続のノード150、160、および170のうちのそれぞれのノードによって読取りおよび処理可能なヘッダとして、データパケットのそれぞれに組み込まれている。一実施形態においては、ソース経路は、概して、ネットワークコントローラ110によって選択され、一方、ヘッダは、第1のノード150によってデータパケットに組み込まれている。言い換えれば、ネットワーク通信システム100を使用してネットワークコントローラ110は、フローがその後に続くことになるソース経路を選択し、第1のノード150に伝える。ソースノード150は、ソース経路を示すヘッダをフローのデータパケットのそれぞれに組み込む。
【００２１】
パケット交換型ネットワーク140のノード150、160、および170は、物理的に互いに離れているので、データパケットが第1のノード150から第2のノード170に移動するのに必要な時間量、すなわち、伝送遅延は、一般に、後に続くことになるソース経路によって決まる。ソース経路は、フローのすべてのデータパケットによって取られ得るが、いくつかの管理上および/または動作上の理由により、ネットワークコントローラ110は、第1のノード150に再経路指定するためのコマンドを送信することによって、フローの伝送中にデータパケットのうちのいくつかのソース経路を変更することになり得る。この状況においては、新規ソース経路に関連する伝送遅延が、先のソース経路に関連する伝送遅延以下である場合、通信エラーが発生する場合がある。実際、そのような通信エラーの1つの可能なソースは、新規ソース経路に沿って後に送信されたデータパケットが、先のソース経路に沿って先に送信されたデータパケットに先立って、出口ノードに到達する場合にあり得、したがって、出口ノードは、複数のデータパケットを、それらが最初に送信された順序とは異なる順序で受信することになる。このタイプの通信エラーは、しばしば、データパケットの「再順序付け(re-ordering)」と呼ばれる。データパケットを、それらが最初に入口ノードによって送信された順序で受信することは、好ましい場合があることが分かったため、本明細書に開示される方法およびシステムは、ネットワーク通信システム100に沿う伝送中、受信したデータパケットのこの再順序付けを防止するのに寄与する。
【００２２】
図2は、ネットワーク通信システムにおけるデータパケットの再順序付けの一例を示す概略図である。示されているように、上側の時間軸は、各データパケットPiが、第1のノードから送信された時(たとえば、瞬間)を示し、一方、下側の時間軸は、各データパケットPiが、第2のノードにおいて受信された瞬間を示している。この例においては、先のソース経路は、第1の伝送遅延dt1を特徴とする第1のソース経路R1であり、後続のソース経路は、第2の伝送遅延dt2を特徴とする第2のソース経路R2である。言い換えれば、データパケットP1は、瞬間t1で送信され、瞬間t1+dt1で受信され、データパケットP2は、瞬間t2で送信され、瞬間t2+dt2で受信される、などである。示されている例においては、再経路指定するためのコマンドの受信後間もなく(瞬間tR)、データパケットP4の後に送信されるデータパケットP5が、データパケットP4に先立って受信される範囲においては、第2の伝送遅延dt2は、第1の伝送遅延dt1よりも著しく小さく、本明細書でデータパケットの再順序付けと呼ばれる状況は望ましくない。
【００２３】
図3は、データパケットの再順序付けが回避されるシナリオを示している概略図である。図3に示されているデータパケットのフローは、図2において先に説明したデータパケットのフローと同様である。この例においては、再経路指定するためのコマンドは、瞬間tRにおいて受信される。再経路指定するためのコマンドを施行し、すぐに第2のソース経路を介してデータパケットP5を送信するのではなくて、データパケットP5は(可能性として他のデータパケットと一緒に)、引き続き第1のソース経路R1に沿って送信される。一回でも十分な継続時間を有する時間期間がフローに検出されると、後続のデータパケットは、第2のソース経路R2に沿って経路指定される。「十分な」継続時間は、データパケットの再順序付けを回避する所与の閾値時間値に対応すると言うことができ、それは、典型的には、時間期間が、少なくとも第1の伝送遅延と第2の伝送遅延との時間差(dt1-dt2)の継続時間を有する場合、その事例になる。
【００２４】
代替の実施形態においては、データ伝送における遅延を低減させるために、所与の閾値時間値を所与のネットワークにおける汎関数と見なされる最小値に設定することが好ましい場合がある。ほとんどのネットワークは、再順序付けすることなく、データパケットの重複する所与の範囲を管理することができるので、例として、所与の閾値時間値Thresは、
Thres=dt1-dt2-ttv
に対応するように設定され得、ただし、ttvは、パケット再順序付けに対する、ネットワークの許容範囲に関連する任意選択の許容範囲時間値(たとえば、所与のネットワークが、通信エラーを生じさせることなく、バッファリングなどによって許容する/扱うことができるデータパケットの時間的な重複量)である。
【００２５】
第1の時間遅延dt1と第2の時間遅延dt2との差を伝送遅延差と表すことは適切であり得、それは、本明細書ではDtと呼ばれる。
【００２６】
代替の実施形態においては、所与の閾値は、任意の適切な時間値とすることができ、値dt1およびdt2とは無関係であってよい。
【００２７】
1つの実施形態においては、時間期間の継続時間は、フローにおける連続するデータパケット間の経過する時間期間を測定することによって、直接、測定され得る。言い換えれば、データパケットの終了が検出された後、経過する時間量が、測定され、閾値と比較される。フローにおける別のデータパケットが、経過時間が閾値に到達するのに先立って経路指定されることになる場合、他のデータパケットは、第1のソース経路に沿って経路指定される。測定は、フローにおける次のパケットが検出される前に閾値継続時間が経過するまで、他のパケットが経路指定された後、すべての後続のパケットについて繰返し可能であり、その時点で、フローにおける次のパケットは、第2のソース経路に沿って経路指定される。
【００２８】
別の実施形態においては、十分な継続時間は、フローのトラフィックレートから推測され得る。具体的には、十分な継続時間は、フローにおけるデータパケットのトラフィックレート(たとえば、ビット/s)が、フローにおける連続データパケット間の経過する時間が可能性として閾値時間値を超えることになる点まで低減したことを決定すると同時に、推測され得る。例として、フローにおける所与のトラフィックレートの場合、連続データパケット間の時間量の決定は、推定平均データパケット継続時間にさらに基づくことができる。次いで、閾値時間値は、トラフィックレートおよび推定平均データパケット継続時間に基づいて設定され得る。データパケットの継続時間に著しい変化が存在するとき、推定平均データパケット継続時間の標準偏差などの因子は、許容範囲時間値の決定の際に考慮に入れることができる。標準偏差が高い実施形態は、たとえば、より保守的な許容範囲時間値の選択を保証することができる。いくつかの実施形態においては、許容範囲時間値の初期値は、概算に基づいて設定可能であり、次いで、許容範囲時間値は、満たしていると見なされるまで、反復的に調整され得る。
【００２９】
一実施形態においては、第1のノード150は、再経路指定のためのコマンドがいつ与えられるべきであるかを決定するために数学的条件を検証することができる。上に示されているように、1つの実施形態においては、数学的条件は、典型的には、十分な継続時間を有する時間期間が検出されたかどうか(たとえば、測定されたかどうか、または推測されたかどうか)を決定することを含む。十分な継続時間は、Thresと呼ばれ、その決定法(determination)は、基本的には、Period_of_time≧Thresと示すことができる。
【００３０】
一実施形態においては、上に言及した時間期間は、図3に示されているように、瞬間ti+tPから、つまり、データパケットPiの伝送が開始された瞬間tiに、データパケットPiの時間的継続時間tPを加えたものから測定される。フローにおけるデータパケットの時間的継続時間tPは、均一であっても、または均一でなくてもよい。連続するパケット間の時間が、たとえば、フローにおけるパケットの時間的継続時間が比較的均一であるとき、時間tiから測定可能であることが企図され、この場合においては、許容範囲時間値は、フローのデータパケットの継続時間tPを考慮に入れるように調整され得る。
【００３１】
図4は、ネットワークコントローラ110の一例の高レベル概略図を示している。示されているように、ネットワークコントローラ110は、ネットワークデータベース400を含む。ネットワークデータベースには、ネットワーク通信システムの、より具体的には、パケット交換型ネットワーク140のトポロジーおよび動作特性に関するデータが投入される。例として、ネットワークデータベース400は、データソース120のそれぞれ、ノード150、160、および170のそれぞれ、ならびにデータ宛先130のそれぞれ、ノードを相互接続するリンクのそれぞれ、パケット交換型ネットワーク140間の可能なソース経路のそれぞれ、ならびに可能なソース経路に関連する伝送遅延のそれぞれを識別する記録を含むことができる。その上、ネットワークコントローラ110は、たとえば、管理上および/または動作上の理由に応じて、データパケットのフローのソース経路がいつパケット交換型ネットワーク140において再経路指定されるべきであるかを決定するように構成されている。一実施形態においては、再経路指定は、第1のノード150に、再経路指定するためのコマンドを送信することにより、ネットワークコントローラ110によって開始される。他の実施形態においては、再経路指定は、第1のノード150に、再経路指定するためのコマンドを示すネットワークコマンドを送信することにより、パケット交換型ネットワークに結合されたデバイスによって開始される。言い換えれば、第1のノード150によって受信されることになるネットワークコマンド(たとえば、再経路指定するためのコマンド)は、元々の、ネットワークコントローラ110によって送信されることに限定されるものではなく、サードパーティデバイス、たとえば、例として、ネットワーク140に結合されている任意のノードによって送信されてもよい。
【００３２】
ネットワークデータベース400に記憶されているデータのうちの少なくとも一部は、ネットワークコントローラ110がネットワークコマンドを送信することに先立ってアクセス可能である。ネットワークデータベース400は、ネットワーク140のトポロジーおよび動作特性が変化したとき、たとえば、新規ノードまたはリンクが追加もしくは更新されたとき、あるいはノードまたはリンクが機能しなくなった、もしくは除去されたとき、更新され得る。ネットワーク条件の変更に関する更新は、ネットワーク140に接続されたノードから、または専用のモニタ(図示せず)から受信され得る。一実施形態においては、ネットワークデータベース400は、リアルタイムに、またはほぼリアルタイムに更新され得る。
【００３３】
なおも図4を参照すると、ネットワークコントローラ110は、ネットワークデータベース400に動作可能なように接続されたネットワークモジュール410を含む。ネットワークモジュール410は、フローのソース経路を生成し、ソース経路を、それに関連する伝送遅延とともに、直接的かまたはネットワーク140を介する間接的かのいずれかで、そのフローの第1のノード150に送信する。
【００３４】
図5は、第1のノード150の一例の高レベル概略図を示している。示されているように、第1のノード150は、第2のソース経路R2にフローを再経路指定するためのコマンドをネットワークコントローラ110から受信するように構成されている受信機510を含む。
【００３５】
この実施形態においては、第1のノード150の受信機510は、プロセッサ520と、ネットワークコントローラ110によって指定される第1のソース経路に沿ってフローを経路指定するように構成されている送信機530とに動作可能なように接続されている。本明細書に説明されている方法およびシステムにおいては、プロセッサ520は、第2のソース経路に再経路指定するためのコマンドを受信後、所与の閾値時間値を有する時間期間が検出されたとき、第2のソース経路にフローを経路指定するように構成されている。
【００３６】
一実施形態においては、第1のノード150は、それに接続されて、第1の伝送遅延dt1および第2の伝送遅延dt2が比較されることになる許容範囲時間値を記憶するためのメモリ540を含む。一実施形態においては、許容範囲時間値は、メモリ540において恒久的に記憶される。別の実施形態においては、許容範囲時間値は、フローを再経路指定するようにコマンドを出した場合、ネットワークコントローラ110によって、第2のソース経路および第2の伝送遅延とともに指定される。その上、許容範囲時間値は、一定であっても、あるいはデータパケットのフロー、およびデータパケットの時間長、または他のネットワークパラメータに応じて可変であってもよい。
【００３７】
再経路指定するためのコマンドは、入口ノードに送信されても、または第1のソース経路および第2のソース経路に共通である中間ノード160のうちのいずれか1つに送信されてもよい。
【００３８】
示されている実施形態においては、ノード150、160、および170は、パケット交換型ネットワーク140を経由して、情報を送信、受信、および/または転送するように構成されている能動電子素子である。例として、ノード150、160、および170は、スイッチ、モデム、ハブもしくはブリッジなどのデータ通信装置(DCE:data communication equipment)、ルータ、ワークステーション、もしくはサーバなどのデータ端末装置(DTE:data terminal equipment)、および/またはそれらの組合せとすることができる。
【００３９】
図6は、互いに動作可能なように結合されている複数のノード150、160、および170でできているネットワーク140を介するフローにおけるデータパケットを再経路指定するための方法600の第1の例のフローチャートである。この方法は、602で、第1のノード150により、フローにおけるデータパケットを第1のソース経路R1に沿って経路指定することによって開始する。第1のソース経路、たとえば、第1のソース経路R1に沿って、データパケットがその後に続くことになる一連のノードおよび/またはリンク、ならびに/あるいは第1の伝送遅延dt1に対するデータは、602aで、ネットワークコントローラ110から第1のノード150に送信され得る。R1に沿ってデータパケットを経路指定している間(602)のいくつかの時点において、第1のノード150は、604で、第1のソース経路R1から第2のソース経路R2にデータパケットのフローを再経路指定するためのコマンドをネットワークコントローラ110から受信する。第2のソース経路R2、たとえば、第2のソース経路R2に沿って、データパケットがその後に続くことになる一連のノードおよび/またはリンク、ならびに第2の伝送遅延dt2に対するデータは、604aで、決定される。606で、伝送遅延差Dtは、例として、ネットワークコントローラ110によって、または第1のノード150によって、計算され得る。608で、先に計算されたDtは、任意選択的に、ステップ608aで、アクセス可能な許容範囲時間値と比較される。伝送遅延差が許容範囲時間値よりも小さいと決定される場合、第2のソース経路R2に沿ってフローを経路指定するためのコマンドは、612で、フローにおける次のデータパケットを第2のソース経路R2に沿って経路指定することによって実行され得る。伝送遅延差が、許容範囲時間値よりも大きいと決定される場合、610で、ノード150は、フローの連続するパケット間の経過する時間を測定し、閾値時間値よりも大きい経過時間を検出したときだけ、フローにおける次のデータパケットを第2のソース経路R2に沿って経路指定する。許容範囲時間値は、いくつかの状況においては、第1の伝送遅延dt1および第2の伝送遅延dt2と、直接、比較され得る場合もあるので、ステップ606は、任意選択である。破線のボックス606、608、および608aによって識別されるように、いくつかの動作は、第1のノード150によって、直接、実行され得ない。例として、608における比較するステップは、一実施形態においては、ネットワークコントローラ110によって実行され、第1のノード150に伝達され得る。
【００４０】
図7は、互いに動作可能なように結合されている複数のノード150、160、および170でできているネットワーク140におけるフローのデータパケットを再経路指定するための方法700の第2の例のフローチャートである。この方法700は、方法600のステップ602、602a、604、604a、606、608および608aに対応するステップ702、702a、704、704a、706、708および708aを含む。この例においては、tRは、再経路指定するためのコマンドの受信に対応する時間であり、tiは、データパケットPiの伝送の開始に対応する時間であり、ただし、データパケットPiは、再経路指定するためのコマンドの受信に先立って送信されるフローにおける最後のデータパケットであり、ti+1は、データパケットPi+1の伝送の開始に対応する時間であり、ただし、データパケットPi+1は、再経路指定するためのコマンドを受信後、第1のノード150によって送信されることになるフローにおける最初のデータパケットであり、したがって、Pi+1、ti<tR<ti+1である。708で、伝送遅延差Dtが、許容範囲時間値よりも大きいことが決定されるとき、伝送遅延差Dtは、710で、時間ti、tR、ti+1、およびtPと比較される。710で、第1のノード150は、フローにおける最後のデータパケットPiの終了が送信されてから過ぎた時間に対応する経過時間をモニタリングし、この経過時間が、Dtよりも大きいかどうかを決定する。そうである場合、データパケットは、第2のソース経路R2に経路指定され、そうでない場合、第1のノード150は、継続時間Thresを有する時間期間が検出されるまで、フローのデータパケットを第1のソース経路R1に経路指定する。より具体的には、データパケットPiの伝送の終了に関連する時間ti+tPから、再経路指定するためのコマンドの受信に関連する時間tRまでの経過した時間が、伝送遅延差Dtよりも大きいとき、つまり、tR-(ti+tP)>Dtのとき、第1のノード150は、フローにおける次のデータパケットを第2のソース経路R2に経路指定する。一方、この経過する時間が、伝送遅延差Dtよりも小さいとき、つまり、tR-(ti+tP)≦Dtであるとき、第1のノード150は、閾値時間値Thresに対応するフローにおける連続するパケット間の時間が712で検出されたときに、フローにおけるデータパケットを第2のソース経路R2に経路指定する。この時間は、再経路指定するためのコマンドの受信に先立って送信されるデータパケットPiと、受信後、送信されることになるデータパケットPi+1との間で検出され得る。別の実施形態においては、この時間は、フローの2つの後続の連続データパケットPi+k+1とPi+k+2との間で検出され得、ただし、iおよびkは、正の整数である。破線のボックス706、708、708a、および710によって識別されるように、いくつかの動作は、第1のノード150によって、直接、実行され得ない。例として、708および710で、比較するステップは、一実施形態においては、ネットワークコントローラ110によって実行され、第1のノード150に伝達され得る。
【００４１】
代替の実施形態においては、ネットワークコントローラ110は、ネットワークの入口ノード150において、および/または他のノード160、170において、それらのパスに沿って、フローにおけるパケットの予想到着時間に関する情報を有することができる。この実施形態においては、ネットワークコントローラ110が、第1のソース経路R1から第2のソース経路R2にフローを再経路指定することを意思決定したとき、ネットワークコントローラ110は、フローを再経路指定する意思決定に続いて、連続するパケットPi+k+1とPi+k+2との間の、Dtよりも大きい時間期間の次の例を識別するのに十分な情報を有することができる。この実施形態においては、ネットワークコントローラ110は、第1のソース経路R1から第2のソース経路R2にフローを再経路指定するための命令をネットワークにおける適切なノード160に送信することができ、この命令は、パケットPi+k+1を識別し、その後、再経路指定が行われることになる。命令をネットワークコントローラ110から受信すると、ノード160は、パケットPi+1からPi+k+1を第1のソース経路R1に沿って経路指定し、パケットPi+k+2を第2のソース経路R2に沿って経路指定することになる。命令を受信するノードに命令を送信する際、ネットワークコントローラは、直接、受信ノードと通信することができ、あるいはたとえば、例として、受信ノードに到達するまで、中間ノードによって繰り返されることになる命令を含むことによって、1つまたは複数の中間ノードを介して受信ノードと通信することができる。ネットワークコントローラ110は、代替として、フローを再経路指定するようにノード160に命令するのを待機し、ノード160におけるパケットPi+k+1到着とパケットPi+k+2到着との間の時間のみ、その命令を送信することができる。
【００４２】
図8は、例示的なネットワーク通信システム800のネットワーク図である。この例においては、ノードA、B、C、D、E、F、Gは、パケット交換型ネットワーク840を形成する。ノードCは、入口ノード850であり、ノードEは、所与のフローに関連する出口ノード870である。データは、少なくとも入口ノードCおよび出口ノードEを介して、データソース820からデータ宛先830に送信されることになる。システム800に必要とされる通信プロトコルは、本明細書においては、緩いリンクソース経路指定、厳密なリンクソース経路指定、および/またはマルチプロトコルラベルスイッチング(MPLS:multiprotocol label switching)セグメント経路指定とすることができる。ネットワーク通信システム800は、例として、ノードA、B、C、D、E、F、およびGのうちのいくつかを相互接続する双方向リンクおよび二重リンクを含む。R1により識別される矢印は、第1のソース経路R1を示している。第1のソース経路に対するデータは、辿る一連のノード、一例ではノードC、F、G、およびEなどとすることも、またはパスに沿ってそれぞれのノード間を辿る一連のリンク、たとえば、リンク1、4、および3などとすることもできる。ネットワークコントローラ810から、入口ノード850が第1のソース経路R1から第2のソース経路R2にデータパケットのフローを再経路指定するためのコマンドをR2に対するデータとともに受信したとき、入口ノード850は、第2のソース経路R2に沿ってフローのデータパケットを再経路指定することに先立って、本明細書に開示される方法を行う。第2のソース経路に対するデータは、辿る一連のノード、つまり、ノードC、A、B、およびEとすることも、または辿る一連のリンク、つまり、例として、リンク3、2、および2とすることもできる。一旦、再経路指定するためのコマンドが受信されると、入口ノード850は、本明細書に開示される方法を行うことによって、R2に沿って送信されるパケットが、データパケットを実際に再経路指定することに先立ってデータパケットの再順序付けを引き起こさないであろうことを検証する。別の実施形態においては、フローは、第1のソース経路R1から、ノードC、F、D、およびEを辿る第3のソース経路R3に再経路指定される。この特定の実施形態においては、再経路指定するためのコマンドは、状況に応じて、直接的または間接的に、ノードCかまたはFかのいずれかに送信され得る。より広範に述べると、第2のソース経路は、実施形態に応じて、第1のソース経路のノードを1つも含まないことも、1つ含むことも、または複数含むこともできる。
【００４３】
図1に戻って参照すると、ネットワーク140は、複数のワイヤードリンクを含んだEthernetネットワークである。しかしながら、別の実施形態においては、ネットワーク140は、フレームリレーネットワーク、非同期転送モード(ATM:Asynchronous Transfer Mode)ネットワーク、または汎用パケット無線サービス(GPRS:general packet radio service)ネットワークなどの別のタイプのパケット交換型ネットワーク140とすることができ、複数のワイヤードリンク、ワイヤレスリンク、またはそれらの組合せを含んでもよい。
【００４４】
別の実施形態においては、ネットワーク140は、MPLSネットワークであり、ここでは、第1のノード150は、本明細書に示されている方法に従って、データパケットを処理するように構成されているMPLSスイッチである。この実施形態においては、MPLSスイッチは、例として、電子回路、および/またはマイクロコントローラを使用してハードコーディングされ得る。
【００４５】
別の実施形態においては、ネットワークコントローラ110は、ソフトウェア定義型ネットワーク(SDN:software-defined network)コントローラであり、パケット交換型ネットワーク140の制御プレーン機能を行う。ネットワークコントローラ110は、たとえば、OpenDaylight SDNコントローラ、またはオープンネットワークオペレーティングシステム(ONOS:Open Network Operating System)SDNコントローラなどとすることができる。別の実施形態においては、ネットワークコントローラ810は、非SDNネットワークコントローラであってもよい。
【００４６】
ネットワークコントローラ110はまた、ネットワーク140のトラフィックエンジニアリング機能を行うこともできる。たとえば、ネットワークコントローラ110は、ネットワーク140において送信されるパケットに最適なパスを決定することができ、システム110のノードにおいて、たとえば、ノード150、160、および170においてパケットの出発時間をスケジューリングして、ネットワーク140を介するそのようなパケットの伝送の遅延およびジッタが最小限になるようにすることができる。ネットワークコントローラ110は、OpenFlow(商標)プロトコルおよび/またはプロトコル忘却型フォワーディング(POF:Protocol-Oblivious Forwarding)プロトコルに従って、システム100のノード、たとえば、データソース120、ならびにノード150、160、および170と通信することができる。ネットワークコントローラ110はまた、ネットワーク140のネットワーク設定、ネットワークモニタリングなどを含む、様々な他の制御プレーン機能を行うこともできる。
【００４７】
示されている例においては、第1のノード150は、本明細書に説明されている方法を行うようにプログラム可能なSDNスイッチである。別の実施形態においては、第1のノード150は、本明細書に説明されている方法を行うようにプログラム可能なMPLSスイッチである。実際、第1のノード150がプログラム可能である実施形態においては、メモリ540は、本明細書に示されている方法に従って、データパケットを処理するプログラムをその上に記憶していることが可能である。一実施形態においては、このプログラムは、ネットワークコントローラ110によって、メモリ540において経路指定命令の形態で恒久的にまたは一時的にインストールされる。別の実施形態においては、ネットワークコントローラ110のネットワークデータベース400は、例として、ノード150のメモリ540においてこれらの命令をインストールするために、経路指定命令をその上に記憶している。
【００４８】
本明細書に開示される実施形態は、ハードウェア、ソフトウェア、またはそれらの組合せを使用することによって実装され得る。そのような理解に基づいて、技術的な解決策が、ソフトウェア製品の形態で具現化され得る。ソフトウェア製品は、コンパクトディスク読取り専用メモリ(CD-ROM)、USBフラッシュディスク、固体ドライブ、または取外し式ハードディスクとすることができる、不揮発性または非一時的ストレージ媒体に記憶され得る。ソフトウェア製品は、コンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデイバス)が、実施形態に提供されている方法を実行できるようようするいくつかの命令を含んでいる。
【００４９】
プログラムコードは、本明細書に説明される機能を行うために、および出力情報を生成するために、入力データに与えられる。出力情報は、例として、第2のノード170など、1つまたは複数の出力デバイスに与えられ、かつ/または送信される。一実施形態によれば、プログラムコードの入力データは、第1のノード150によって受信されるデータパケットのフローに対応することができ、一方、出力情報は、本明細書に説明されている方法の一実施形態により、その中に遅延データパケットをいくつか有する、またはまったく有していないデータパケットのフローに対応することができる。別の実施形態によれば、プログラムコードは、データパケットを再経路指定することに先立って、第1の伝送遅延と第2の伝送遅延とを比較するステップに対する許容範囲時間値を提供することができる。また、プログラムコードは、例として、第1のノード150にインストールされることになるコンピュータソフトウェア製品の形態で提供され得る。いくつかの実施形態においては、通信インターフェースは、ネットワーク通信インターフェースとすることができる。要素が組み合わせられる実施形態においては、通信インターフェースは、プロセス間通信のためのものなど、ソフトウェア通信インターフェースとすることができる。さらなる他の実施形態においては、ハードウェア、ソフトウェア、またはそれらの組合せとして実装される通信インターフェースの組合せが存在してもよい。
【００５０】
各コンピュータプログラムは、汎用または専用のプログラマブルコンピュータによって読み取ることができるストレージ媒体またはデバイス(たとえば、ROM、磁気ディスク、光ディスク、固体ドライブ)に記憶されて、ストレージ媒体またはデバイスが本明細書に説明されている手順を行うようにコンピュータによって読み取られるとき、コンピュータを設定し動作させることができる。システムの実施形態はまた、コンピュータプログラムにより設定された非一時的コンピュータ可読ストレージ媒体として実装されるように見なされてよく、ここで、そのように設定されたストレージ媒体により、コンピュータは、本明細書に説明されている機能を行うように特定の、予め定義された形で動作することになる。
【００５１】
さらには、説明した実施形態のシステムおよび方法は、1つまたは複数のプロセッサのコンピュータが使用できる命令を担持する物理的な非一時的コンピュータ可読媒体を含むコンピュータプログラム製品に配布することができる。媒体は、磁気または電子の形態などでの1つまたは複数のディスケット、コンパクトディスク、テープ、チップ、揮発性メモリ、および不揮発性メモリなどを含む様々な形態で提供され得る。非一時的という用語は、一次メモリ、揮発性メモリ、およびRAMなどのコンピュータ可読媒体を排除するように意図するものではなく、ただし、その媒体に記憶されているデータは一時的に記憶されているにすぎない。コンピュータが使用できる命令はまた、コンパイルされた、かつコンパイルされていないコードを含む様々な形態であってもよい。
【００５２】
説明した実施形態のシステムおよび方法は、サーバ、サービス、インターフェース、ポータル、プラットフォームを含むことができ、またはハードウェアデバイスから形成される他のシステムが使用可能である。そのような用語の使用は、1つまたは複数のデバイスが、コンピュータ可読有形の非一時的媒体において記憶されたソフトウェア命令を実行するように構成された少なくとも1つのプロセッサを有することを表すように見なされる。開示されているコンピュータベースのアルゴリズム、プロセス、方法、または他のタイプの命令セットは、プロセッサに、開示されているステップを実行させる命令を記憶する非一時的な有形コンピュータ可読媒体を含むコンピュータプログラム製品として具現化され得ることをさらに認識すべきである。
【００５３】
本明細書に使用されるとき、および文脈が別段の指示をしない限り、「〜に結合される(coupled to)」という用語は、直接的な結合(ここでは、互いに結合されている2つの要素が、互いに接触する)と、間接的な結合(ここでは、少なくとも1つの追加の要素が、2つ要素間に置かれている)との両方を含むように意図されている。そのため、「〜に結合される(coupled to)」および「〜と結合される(coupled with)」という用語は、同義に使用される。
【００５４】
本明細書に説明されている実施形態は、物理的コンピュータハードウェア実施形態によって実装される。本明細書に説明されている実施形態は、具体的には、たとえば、コンピューティングデバイス、サーバ、プロセッサ、メモリ、ネットワークのコンピュータハードウェア構成を設定する有用な物理マシンを提供する。たとえば、本明細書に説明されている実施形態は、コンピュータ装置、および電子データ信号の処理および変換を通じてコンピュータによって実装される方法を対象とする。
【００５５】
本明細書に説明されている実施形態は、具体的には、様々な行為を実装するように構成されているコンピューティングデバイス、サーバ、受信機、送信機、プロセッサ、メモリ、ディスプレイ、ネットワークを含むことができる。本明細書に説明されている実施形態は、様々なタイプの情報を表す電磁信号を処理し、変換するようになされている電子マシンを対象とする。本明細書に説明されている実施形態は、マシンおよびそれらの使用法に広く、完全に関係し、本明細書に説明されている実施形態は、コンピュータハードウェア、マシン、様々なハードウェア構成要素とともにそれらの使用法以外では意味を持つことも、または実践的な適用可能性を有することもない。
【００５６】
具体的には、非物理的ハードウェアの様々な行為を実装するように構成されたコンピューティングデバイス、サーバ、受信機、送信機、プロセッサ、メモリ、ディスプレイ、ネットワークに置き換えて、たとえば、精神的ステップを使用すると、実質的に、実施形態が働くやり方に影響をもたらす可能性がある。
【００５７】
そのようなハードウェア限定事項は、本明細書に説明されている実施形態の本質的要素であることは明らかであり、それらは、本明細書に説明されている実施形態の動作および構造に重大な影響を及ぼすことなく、削除されること、または精神的手段に置き換えられることはできない。ハードウェアは、本明細書に説明されている実施形態にとって本質であり、単に、迅速に、かつ効率的な方式でステップを行うためだけに使用されるのではない。
【００５８】
本発明およびその利点について、詳細に説明してきたが、様々な変更形態、置換形態、および代替形態が、添付の特許請求の範囲によって定義されるように、本発明から逸脱することなく本明細書において作成され得る。
【００５９】
その上、本出願の範囲は、本明細書に説明されているプロセス、マシン、製造、組成物、手段、方法、およびステップの特定の実施形態に限定するように意図するものではない。当業者なら本発明の本開示から容易に認識することになるように、現在、存在する、または後に開発されることになる、本明細書に説明されている対応する実施形態と実質的に同じ機能を行う、もしくは実質的に同じ結果を達成するプロセス、マシン、製造、組成物、手段、方法、またはステップは、本発明に従って利用され得る。したがって、添付の特許請求の範囲は、そのようなプロセス、マシン、製造、組成物、手段、方法、またはステップをその範囲内に含めるよう意図されている。
【００６０】
理解され得るように、上に説明され、図示されている例は、ほんの一例であるように意図されている。例として、本明細書に開示される方法およびシステムは、2つの連続フローに属するデータパケットの再順序付けに関連する問題に対処するために使用され得る。その上、本明細書に開示される方法は、入口ノードによって実行され得るが、それらはまた、パケット交換型ネットワークの任意の他のノードによっても実行され得ることが分かる。実際、入口ノードという用語は、中間ノードおよび出口ノードなどのパケット交換型ネットワークの他のタイプのノードを排除するものと解釈すべきではない。本開示は、所与の閾値が第1の伝送遅延dt1および第2の伝送遅延dt2に関連付けられる例を示しているが、代替の実施形態においては、十分な閾値は、第1の伝送遅延dt1および第2の伝送遅延dt2以外をベースに決定されてもよい。範囲は、添付の特許請求の範囲によって示されている。
【符号の説明】
【００６１】
100  ネットワーク通信システム
110  ネットワークコントローラ
120  データソース
130  データ宛先
140  パケット交換型ネットワーク
150  第1のノード
160  中間ノード
170  第2のノード
400  ネットワークデータベース
410  ネットワークモジュール
510  受信機
520  プロセッサ
530  送信機
540  メモリ
800  ネットワーク通信システム
810  ネットワークコントローラ
820  データソース
830  データ宛先
840  パケット交換型ネットワーク
850  入口ノード
870  出口ノード
dt1  第1の伝送遅延
dt2  第2の伝送遅延
tR  瞬間
Dt  伝送遅延差
Pi  データパケット
R1  第1のソース経路
R2  第2のソース経路
【図１】
2018505616.tif 000003
【図２】
2018505616.tif 000004
【図３】
2018505616.tif 000005
【図４】
2018505616.tif 000006
【図５】
2018505616.tif 000007
【図６】
2018505616.tif 000008
【図７】
2018505616.tif 000009
【図８】
2018505616.tif 000010
【手続補正書】
【提出日】平成29年10月20日(2017.10.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
フローにおけるデータパケットを経路指定するためのノードであって、
第1のソース経路から第2のソース経路に前記フローを再経路指定するためのコマンドを受信するように構成された受信機と、
前記フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定するためのプロセッサと、
前記決定に応答して前記第2のソース経路において前記第2のデータパケットを送信するように構成された送信機と
を備える、ノード。
【請求項２】
前記第1のソース経路が、第1の伝送遅延を有し、前記第2のソース経路が、第2の伝送遅延を有し、閾値時間値が、前記第1の伝送遅延と前記第2の伝送遅延との差に基づいている、請求項1に記載のノード。
【請求項３】
前記受信機が、外部ソースから、前記第1の伝送遅延および前記第2の伝送遅延のうちの少なくとも1つの継続時間に関する情報を受信するように構成されている、請求項2に記載のノード。
【請求項４】
前記送信機が、前記第2のデータパケットを送信することに先立って、前記第1のソース経路において前記第1のデータパケットを送信するように構成されている、請求項1から3のいずれか一項に記載のノード。
【請求項５】
前記送信機は、前記時間期間が前記閾値を超えない場合、前記第1のソース経路において前記第2のデータパケットを経路指定するように構成されている、請求項1から3のいずれか一項に記載のノード。
【請求項６】
フローにおけるデータパケットを経路指定するための方法であって、
第1のソース経路から第2のソース経路に前記フローを再経路指定するためのコマンドを受信するステップであって、前記第1のソース経路と前記第2のソース経路は、異なっている、ステップと、
前記フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定するステップと、
前記決定に応答して前記第2のソース経路において前記第2のデータパケットを送信するステップと
を含む、方法。
【請求項７】
閾値時間値が、前記第1のソース経路に関連する第1の伝送遅延と、前記第2のソース経路に関連する第2の伝送遅延との比較に基づいている、請求項6に記載の方法。
【請求項８】
前記送信するステップは、前記時間期間が、前記閾値を超えない場合、前記第1のソース経路において前記第2のデータパケットを送信するステップを含む、請求項6または7に記載の方法。
【請求項９】
前記データパケットの経路指定が、マルチプロトコルラベルスイッチング(MPLS)を含む、請求項6または7に記載の方法。
【請求項１０】
ネットワークを介するデータパケットのフローを制御するためのネットワークコントローラであって、
前記ネットワークの中のノードにおける2つ以上の連続するデータパケットの予想到着時間情報を決定することと、
前記フローの第1と第2の連続するデータパケット間の時間期間が、前記予想到着時間情報に基づいた閾値を超えたことを決定することと、
前記ノードのうちの1つに、前記決定に応答して第1のソース経路から第2のソース経路に前記フローを再経路指定するための命令を送信することであって、それにより、前記ノードのうちの前記1つは、前記第1のソース経路に沿って前記第1のデータパケットを送信し、前記第2のソース経路に沿って前記第2のデータパケットを送信するようになる、命令を送信することと
を行うように構成されている、ネットワークコントローラ。
【請求項１１】
前記第1のソース経路が、第1の伝送遅延を有し、前記第2のソース経路が、第2の伝送遅延を有し、当該ネットワークコントローラが、前記第1の伝送遅延と前記第2の伝送遅延との差に基づいた閾値時間値を決定するようにさらに構成されている、請求項10に記載のネットワークコントローラ。
【請求項１２】
再経路指定するための前記命令は、受信ノードが前記フローの前記再経路指定を行うための正確な瞬間を決定することを可能にするデータパケット情報を含んでいる、請求項10または11に記載のネットワークコントローラ。
【請求項１３】
前記データパケット情報は、前記第1と前記第2の連続するデータパケットが前記受信ノードによって認識できるようにする前記第1と前記第2の連続するデータパケットの識別情報を含んでいる、請求項12に記載のネットワークコントローラ。
【請求項１４】
プロセッサが、予想到着時間に基づいて受信ノードにおいて前記フローの前記再経路指定を行うための正確な瞬間を決定するようにさらに構成され、送信機が、前記正確な瞬間の前記決定に基づいて、前記受信ノードに、再経路指定するための前記命令を送信する、請求項10に記載のネットワークコントローラ。
【請求項１５】
ネットワークモジュールによって実行可能なコンピュータソフトウェアを上に記憶しているネットワークデータベースをさらに備え、前記コンピュータソフトウェアが、前記ネットワークの受信ノードに経路指定命令をインストールためのコンピュータコードを有し、前記経路指定命令が、前記受信ノードのプロセッサによって実行可能であり、前記受信ノードに、以下の、
前記フローを再経路指定するためのコマンドの受信後、前記フローの第1と第2の連続するデータパケット間の時間期間が、閾値を超えたことを決定するステップと、
前記決定に応答して、前記第2のソース経路において前記第2のデータパケットを送信するステップと
を行うように命令する、請求項10に記載のネットワークコントローラ。
【請求項１６】
ネットワークを介するデータパケットのフローを経路指定する方法であって、
前記ネットワークの中のノードにおける2つ以上の連続するデータパケットの予想到着時間情報を決定するステップと、
前記フローの第1と第2の連続するデータパケット間の時間期間が、前記予想到着時間情報に基づいた閾値を超えたことを決定するステップと、
前記ノードのうちの1つに、前記決定に応答して、第1のソース経路から第2のソース経路に前記フローを再経路指定するための命令を送信するステップであって、それにより、前記ノードのうちの前記1つは、前記第1のソース経路に沿って前記第1のデータパケットを送信し、前記第2のソース経路に沿って前記第2のデータパケットを送信するようになる、命令を送信するステップと
を含む、方法。
【請求項１７】
前記第1のソース経路が、第1の伝送遅延を有し、前記第2のソース経路が、第2の伝送遅延を有し、前記第1の伝送遅延と前記第2の伝送遅延との差に基づいて閾値時間値を決定するステップをさらに含む、請求項16に記載の方法。
【請求項１８】
再経路指定するための前記命令は、受信ノードが前記フローの前記再経路指定を行うための正確な瞬間を決定することを可能にするデータパケット情報を含んでいる、請求項16または17に記載の方法。
【請求項１９】
前記データパケット情報は、前記第1と前記第2の連続するデータパケットが前記受信ノードによって認識できるようにする前記第1と前記第2の連続するデータパケットの識別情報を含んでいる、請求項18に記載の方法。
【請求項２０】
前記受信ノードに、再経路指定するための前記命令を前記送信するステップが、前記ノードのうちの中間ノードを介して間接的に行われる、請求項18に記載の方法。
【国際調査報告】
2018505616.tif 000011
2018505616.tif 000012