ネットワークノードにおいて実行されるネットワークにおけるルーティングパスコンバージェンス時間を短縮する方法であって、第1のネットワークノードにおいて、現在のネットワーク状態が、古いネットワーク状態から新しいネットワーク状態に変化したという指示を受信するステップと、第1のネットワークノードが新しいネットワーク状態に関連付けられている事前計算済みのルーティング情報にアクセスできるかどうかを決定するステップと、第1のネットワークノードが新しいネットワーク状態に関連付けられている事前計算済みのルーティング情報にアクセスできる場合、事前計算済みのルーティング情報を使用して将来のネットワークトラフィックをルーティングするステップと、第1のネットワークノードが新しいネットワーク状態に関連付けられている事前計算済みのルーティング情報にアクセスできない場合、新しいルーティング情報を計算し、新しいルーティング情報を使用して将来のネットワークトラフィックをルーティングするステップとを備える、方法。将来のネットワーク状態を予測するステップと、予測される将来のネットワーク状態に基づいて予測されるルーティング情報を計算するステップと、第1のネットワークノードにおいて将来のネットワーク状態に関連して計算されたルーティング情報を格納するステップとをさらに備える、請求項1に記載の方法。予測するステップおよび計算するステップのうちの少なくとも1つが、第1のネットワークノードとは別個の第2のネットワークノードにおいて実行される、請求項2に記載の方法。将来のネットワーク状態を予測するステップが、予測される将来のネットワーク状態の順序付きセットを生成するステップと、ルーティング情報がまだ計算されていない予測される将来のネットワーク状態の順序付きセット内の第1の将来のネットワーク状態を決定するステップとをさらに備える、請求項2に記載の方法。事前計算済みのルーティング情報および新しいルーティング情報がいずれも最短パスツリーまたは転送テーブルである、請求項1に記載の方法。事前計算済みのルーティング情報を使用して将来のネットワークトラフィックをルーティングするステップが、事前計算済みのルーティング情報に基づいて転送テーブルを計算するステップをさらに備える、請求項1に記載の方法。現在のネットワーク状態が変化したという指示を受信した後、古いネットワーク状態に関連して第1のネットワークノードにおいて古いネットワーク状態に関連付けられている古いルーティング情報を格納するステップをさらに備える、請求項1に記載の方法。ネットワークにおいてルーティングパスコンバージェンス時間を短縮する第1のネットワークノードであって、ネットワーク状態情報を受信する第1のインターフェイスと、ネットワーク状態情報に基づいて少なくとも1つの将来のネットワーク状態を予測するネットワーク状態予測器とを備え、少なくとも1つの将来のネットワーク状態が現在のネットワーク状態とは異なる、第1のネットワークノード。少なくとも1つの将来のネットワーク状態を含む予測メッセージを生成するネットワーク状態予測生成器と、予測メッセージを第2のネットワークノードに伝送する第2のインターフェイスとをさらに備える、請求項8に記載の第1のネットワークノード。第2のインターフェイスと、転送テーブルを格納する転送テーブルストレージと、第1のインターフェイスを介してネットワークトラフィックを受信し、転送テーブルを使用してネットワークトラフィックのネクストホップを決定し、第2のインターフェイスを介してネットワークトラフィックをネクストホップに伝送するルーティングプロセッサとをさらに備える、請求項8に記載の第1のネットワークノード。オープンショーテストパスファーストのような規格は、ルーティング情報を生成することの問題に実用的な解決策をもたらすが、それらの規格は機能するまでに時間を要する。たとえば、ネットワークの変化が生じた直後、各ノードにおけるルーティング情報は、ある程度、古いものになっており不正確である。各ノードが変化の指示を受信して、ネットワークの新しい状態を決定し、最適なルーティングパスを決定して、転送テーブルを更新するまで、情報は古い状態のままである。ノードがネットワークに追加される、ノードがネットワークから除去される、ノードが障害状態に入る、ノードが障害状態から回復する、および他のネットワーク変化のイベントが頻発する可能性があるので、ルータの動作時間の相当の部分が、古いルーティング情報に従ってトラフィックを転送すること、または最新のルーティング情報を待つことに費やされる場合もある。ネットワーク変化イベントとネットワーク内のすべてのノードにおける転送テーブルの正常な更新との間のこの時間は、本明細書において、ネットワークコンバージェンス時間networkconvergencetimeと称される。したがって、ネットワーク変化イベントとネットワーク内のさまざまなノードにおけるルーティング情報のコンバージェンスとの間の時間を短縮する方法が必要とされている。特に、転送テーブルの更新に費やされる時間を短縮する方法およびネットワークノードを提供することが望ましいと考えられる。ネットワークコンバージェンス時間を短縮する方法に対する現在の必要性を踏まえて、さまざまな例示的な実施形態の概要が提示される。以下の要約において、簡略化および省略が一部行なわれることがあるが、それは、本発明の範囲を限定するためではなく、さまざまな例示的な実施形態の一部の態様を強調し導入することが意図されている。当業者が本発明の概念を実施して使用できるようにするために十分な、好ましい例示的な実施形態の詳細な説明は、後段において続いて行なわれる。さまざまな例示的な実施形態は、起こりうる将来のネットワーク状態を予測することができるネットワークルータを提供する。次いで、そのようなネットワークルータは、これらの起こりうる将来のネットワーク状態に対して、最短パスツリー、転送テーブル、および/またはルーティングテーブルのようなルーティング情報を事前計算して格納することができる。その後、ネットワーク状態が変化したという指示をネットワークノードが受信すると、ノードは最初に、新しいネットワーク状態が、ルーティング情報が事前計算したネットワーク状態であるかどうかを調べることができる。事前計算されたネットワーク状態である場合、ノードは、事前計算済みのルーティング情報を使用することで、ルーティング情報が最新の状態になるまでの時間を短縮することができる。この第1の例示的な実施形態によれば、すべての予測および事前計算の機能は、ネットワークノードにおいてローカルに実行される。さまざまな代替的な実施形態は、ネットワーク内の他のノードに対してこれらのさまざまな予測機能の少なくとも一部を実行する予測ノードを提供する。たとえば、予測ノードは、他のノードについて起こりうる関連した将来のネットワーク状態を単純に予測して、この情報を適切なノードに伝送することができる。次いで、他の各ノードは、将来のネットワーク状態に関連付けられているルーティング情報をローカルに事前計算することができる。あるいは、予測ノードは、他のノードの各々についてルーティング情報を事前計算して、関連するルーティング情報を将来の状態情報と共に、他のノードの各々に伝送することができる。その後、他のノードは、将来使用できるようにこの情報を格納しておくだけでよい。さまざまな例示的な実施形態は、ノードにおいて、現在のネットワーク状態が、古いネットワーク状態から新しいネットワーク状態に変化したという指示を受信するステップと、ノードが新しいネットワーク状態に関連付けられている事前計算済みのルーティング情報にアクセスできるかどうかを決定するステップと、ノードが新しいネットワーク状態に関連付けられている事前計算済みのルーティング情報にアクセスできる場合、事前計算済みのルーティング情報を使用して将来のネットワークトラフィックをルーティングするステップと、ノードが新しいネットワーク状態に関連付けられている事前計算済みのルーティング情報にアクセスできない場合、新しいルーティング情報を計算し、新しいルーティング情報を使用して将来のネットワークトラフィックをルーティングするステップのうちの1つまたは複数を含む方法および関連するネットワークノードに関する。さまざまな例示的な実施形態は、付加的または代替的に、ネットワーク状態情報を受信する第1のインターフェイスと、ネットワーク状態情報に基づいて少なくとも1つの将来のネットワーク状態を予測するネットワーク状態予測器のうちの1つまたは複数を含み、少なくとも1つの将来のネットワーク状態は現在のネットワーク状態とは異なる、方法および関連するネットワークノードに関する。このようにして、さまざまな例示的な実施形態は、ネットワークコンバージェンス時間の短縮を可能にすることが明らかとなろう。特に、起こりうる将来のネットワーク状態に対してルーティング情報を事前計算することにより、ネットワークノードは、ネットワークが実際に変化した後に転送テーブルを更新するために費やす時間を短縮することができる。さまざまな例示的な実施形態をより深く理解するため、添付の図面に参照が行なわれる。これ以降、類似する番号が類似するコンポーネントまたはステップを示す図面を参照して、さまざまな例示的な実施形態の広範な態様が開示される。図1は、データパケットをルーティングするための例示的なネットワーク100を示す。例示的なネットワークは、さまざまなアプリケーションにデータ転送を行なうためのパケット交換通信ネットワークであってもよい。例示的なネットワーク100はさらに、ネットワーク内の変化に応答してルーティング情報を自動更新するための規格を実施することができる。たとえば、ネットワーク100は、オープンショーテストパスファーストOSPF規格を実施する自律システムを構成することができる。例示的なネットワークは、複数のノードA-G110-170を含むことができる。各ノードA-G110-170は、ルータ、スイッチ、またはデータパケットを受信してパケットのそれぞれの宛先に向けて転送するように構成された他のネットワーク機器であってもよい。各ノードはまた、追加のネットワークデバイスおよびエンドユーザ機器のような、複数の追加のデバイス図示せずに接続されてもよい。ノードA-G110-170は各々、1つまたは複数のリンクを介して1つまたは複数の他のノードA-G110-170に接続されてもよい。各リンクは、リンクコストに関連付けられてもよい。たとえば、ノードC130は、コスト2を有するリンクを介してノードD140に接続されてもよい。このリンクコストは、たとえば、ノード間の地理的距離、リンクに関連付けられているビットレート、ノード間の中間デバイスの数、および/またはリンクの現在の負荷のようなさまざまな要因に基づいて割り当てられてもよい。ノードB120とノードG170の間のリンクなどの一部のリンクは、障害が生じているため、パケットの転送には望ましくないこともある。そのようなリンクは、それに応じて、使用を妨げるように、非常に高いかまたは無限のリンクコストを割り当てられてもよい。各ノードA-G110-170は、例示的なネットワーク100のローカル表現を格納することができる。そのようなローカル表現は、OSPFに従って他のノードA-G110-170によって伝送されたリンク状態アドバタイズメントLSAメッセージで搬送された情報からローカルに構築されてもよい。たとえば、各ノードは、リンク状態データベースLSDB:LinkStateDatabaseのすべてのノードおよびエッジの指示を格納することができる。そのような表現は、最短パスツリーを構築するため、および最終的に、パケットをそれぞれの宛先に転送する際に使用する転送テーブルを構築するため、各ノードA-G110-170によって使用されてもよい。図2は、1つのノードから複数の他の可能なノードへの最適パスを決定するための例示的な最短パスツリーSPT200を示す。SPT200は、当業者に知られている任意の方法を使用して、例示的なネットワーク100のようなネットワークの現在の状態の表現を使用するノードC130のパースペクティブから構築されてもよい。たとえば、ノードはダイクストラの最短経路ツリーDjikstra’sShortestPathTreeアルゴリズムを使用してSPTを構築することができる。SPT200は、例示的なネットワーク100を考慮すると、ノードC130によって構築されたSPTであってもよい。SPT200は、ノードA-G110-170に対応する複数のノード表現A-G210-270を含むことができる。SPT200は、ノードC130からネットワーク内の各ノードへの最適パスを指示することができる。たとえば、SPT200は、ノードC130からノードG170への最短パスが、ノードB120または他のパス経由ではなく、ノードD140を経由することを指示する。したがって、ノードG170に宛てられた、ノードC130によって受信されたパケットは、SPT200に従ってノードD140に転送される必要がある。次に、ノードD140は、パケットをノードG170に転送できるようにする自身のルーティング情報を含むことができる。SPT200を計算した後、ノードC130は、例示的なネットワーク100の新しい状態を反映するように、その転送テーブルを更新することができる。特に、ノードC130は、SPT200を分析して、とりうる宛先ノードごとに使用されるべきネクストホップノードを決定することができる。次いで、この情報は、パケットを転送するときに迅速にアクセスできるよう転送テーブルに格納されてもよい。図3は、パケット宛先に基づいてパケットが伝送されるべきネクストホップを決定するための例示的な転送テーブル300を示す。転送テーブル300は、たとえば、ノードC130に格納されているデータベース内のテーブルであってもよい。あるいは、転送テーブル300は、一連のリンクされたリスト、アレイ、または類似するデータ構造であってもよい。したがって、転送テーブル300は、基礎をなすデータの抽象化であり、基礎をなすデータの格納に適した任意のデータ構造が使用されてもよいことが明らかとなろう。転送テーブル300は、宛先フィールド302、およびネクストホップフィールド304を含むことができる。宛先フィールド302は、各エントリが関連付けられている宛先デバイスを指示することができ、ネクストホップフィールド304は、関連する宛先デバイスに適切なネクストホップデバイスを指示することができる。転送テーブル300が、いくつかの点で、簡略化されたものであることは明らかとなろう。たとえば、転送テーブルは、IPプレフィックス、発信ポート番号、宛先MACアドレス、および/または代替ネクストホップのような、追加のフィールドを含むことができる。さまざまな変形が、当業者には明らかとなろう。例示的なテーブル300に示されるデータが、いくつかの点で、抽象化および/または簡略化されたものであり、たとえば、宛先フィールド302は1つまたは複数の宛先ノードのアドレスを格納することができることが明らかとなろう。転送テーブルは、複数のエントリ310-370を含むことができる。エントリ310は、ノードA110に宛てられたパケットが、ノードB120に転送される必要があることを指示することができる。同様に、エントリ320および350は、ノードB120またはノードE150に宛てられたパケットが、ノードB120に転送される必要があることを指示することができる。エントリ340、360、370は、それぞれ、ノードD140、ノードF160、ノードG170に宛てられたパケットが、ノードD140に転送される必要があることを指示することができる。例示的なネットワーク100のコンポーネントを説明してきたが、例示的なネットワーク100の動作の概要がこれ以降説明される。後段の説明が例示的なネットワーク100の動作の概要を提供することを意図されており、したがって若干簡略化されたものであることは明らかとなろう。例示的なネットワーク100の詳細な動作は、図4-図10に関連して以下でさらに詳細に説明される。ノードC130がテーブル300のような最新の転送テーブルを生成した後、ノードC130は、そのアイドル処理時間を使用して、次に認められる可能性のある将来のネットワーク状態を予測することができる。次いで、ノードC130は、それらの予測される状態の各々についてSPTを事前計算し、格納することができる。次いで、ネットワークが予測される状態のうちの1つに移行する場合、事前計算済みのSPTは直ちに使用されてもよい。したがって、ノードC130が直ちにその転送テーブルの更新を開始することができるので、コンバージェンス時間は短縮されてもよい。図4は、パケットをルーティングして、ネットワークコンバージェンス時間を短縮するための例示的なネットワークノード400を示す。ネットワークノード400は、例示的なネットワーク100の1つまたは複数のノードA-G110-170に対応することができる。ネットワークノード400は、パケット受信機405、リンク状態アドバタイズメントLSA識別子410、ルーティングプロセッサ420、パケット送信機425、ネットワーク状態機械430、ネットワーク状態履歴ストレージ440、最短パスツリーSPT生成器450、転送テーブル生成器460、転送テーブルストレージ470、およびネットワーク状態予測器480を含むことができる。パケット受信機405は、他のネットワークデバイスからパケットを受信するように構成されたハードウェア、および/または機械可読ストレージ媒体上の符号化された実行可能命令を備えるインターフェイスであってもよい。パケット受信機405は、複数のポートを含むことができ、複数のネットワークデバイスからパケットを受信することができる。たとえば、パケット受信機405は、リンク状態アドバタイズメントパケット、および通常のネットワークトラフィックに関連するパケットを受信することができる。リンク状態アドバタイズメントLSA識別子410は、受信したパケットがノード400の処理すべきLSAであるかどうかを決定するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。パケットがLSAである場合、LSA識別子410は、ネットワークで変化が生じたことを、ネットワーク状態機械430に通知することができる。たとえば、LSA識別子410は、パケットを、ネットワーク状態機械410に単に渡すことができる。それ以外の場合、LSA識別子は、パケットを、さらにルーティングするためにルーティングプロセッサに渡すことができる。ルーティングプロセッサ420は、パケットをそれぞれの宛先にルーティングするように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。ルーティングプロセッサは、受信した各パケットから宛先を抽出し、転送テーブルストレージ470に格納されている転送テーブルを使用してその宛先のネクストホップを決定することができる。次いで、ルーティングプロセッサは、パケットを、送信機425を介して適切なネクストホップに転送することができる。パケット送信機425は、他のネットワークデバイスにパケットを送信するように構成されたハードウェア、および/または機械可読ストレージ媒体上の符号化された実行可能命令を備えるインターフェイスであってもよい。パケット送信機425は、複数のポートを含むことができ、複数のネットワークデバイスに複数種のパケットを送信することができる。たとえば、パケット送信機425は、リンク状態アドバタイズメントパケット、および通常のネットワークトラフィックに関連するパケットを送信することができる。ネットワーク状態機械430は、ネットワーク状態がどのように変化したかを決定するために受信したLSAを解釈するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。たとえば、ネットワーク状態機械は、現在のネットワーク状態の表現にアクセスすることができ、受信したLSAに基づいてネットワーク状態を変更することができる。次いで、新しいネットワーク状態表現は、たとえば、ネットワーク状態履歴ストレージ440に格納されてもよい。ネットワーク状態機械430はさらに、受信したLSAに基づいて、SPTが新しいネットワーク状態に既に使用可能であるかどうかを決定することができる。ネットワーク状態機械430の例示的な実施形態の詳細な動作は、図9に関して以下でさらに詳細に説明される。ネットワーク状態機械430が事前計算済みのSPTを見つけることができる場合、ネットワーク状態機械430は、SPTを転送テーブル生成器460に転送することができる。それ以外の場合、ネットワーク状態機械430は、新しいSPTが生成される必要があるという指示をSPT生成器450に送信することができる。さまざまな実施形態において、ネットワーク状態機械430は、新しい状態に入る場合、以前の状態の表現を削除することができる。さまざまな代替的な実施形態において、ネットワーク状態機械は、以前の状態および任意のSPT、転送テーブル、ルーティングテーブル、および/またはそれに関連付けられている他のルーティング情報を保持することができる。ネットワーク状態機械430はさらに、図9を参照して以下でさらに詳細に説明されるように、新しい状態から以前の状態に再度入るために、1つまたは複数の移行を生成することができる。たとえば、ネットワーク状態機械430は、処理したばかりのLSAの逆であって、この以前の状態に戻るよう導く移行を生成することができる。ネットワーク状態履歴ストレージ440は、以前および/または現在のネットワーク状態の表現を格納することができる任意の機械可読媒体であってもよい。したがって、ネットワーク状態履歴ストレージ440は、読み取り専用メモリROM、ランダムアクセスメモリRAM、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および/または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。最短パスツリーSPT生成器450は、ネットワークの表現から最短パスツリーを生成するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。たとえば、SPT生成器450は、ダイクストラのアルゴリズムまたは当業者に知られている任意の他の方法を使用して、最短パスツリーを生成することができる。SPTが生成されると、SPT生成器450は、SPTが現在のネットワーク状態を表す場合、SPTを転送テーブル生成器に送信することができる。一方、新しいSPTが予測されるネットワーク状態を表す場合、以下でさらに詳細に説明されるように、SPT生成器450は、将来使用する可能性に備えて、新しいSPTをネットワーク状態機械430に渡すことができる。次いで、ネットワーク状態機械430は、SPTを自身のローカルメモリまたはノード400内の他のストレージデバイスに格納することができる。転送テーブル生成器460は、SPTに基づいて転送テーブルを生成するかまたは更新するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。たとえば、転送テーブル生成器は、ネットワークノード400の現在のSPTに基づいて、転送テーブルストレージ470の任意のエントリが追加または変更されるべきであるかどうかを決定することができる。転送テーブルストレージ470は、転送テーブルを格納することができる任意の機械可読媒体であってもよい。したがって、転送テーブルストレージ470は、読み取り専用メモリROM、ランダムアクセスメモリRAM、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および/または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。転送テーブルストレージ470は、ノード400内の独立したストレージデバイスであってもよいか、またはネットワーク状態履歴ストレージ440と同じものであってもよい。ネットワーク状態予測器480は、可能性のある将来のネットワーク状態を予測するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。そのような予測は、たとえば、現在のネットワーク状態、以前認められたネットワーク状態、起こりうる変化の可能性、およびネットワークへの起こりうる変化の関連性のような、複数の要因に基づいてもよい。たとえば、ネットワーク状態履歴ストレージ440内のデータが、現在使用可能な特定のリンクが頻繁に障害状態に入って、転送テーブルに変化を生じさせていることを指示する場合、ネットワーク状態予測器480は、次のLSAにおいてリンクが障害を生じていると示される可能性があることを指示することができる。一方、ネットワーク状態予測器が、頻繁に障害を生じるリンクが転送テーブルの変更を必要とすることはまれであると決定する場合、ネットワーク状態予測器480は、このとりうる状態を起こりうる将来の状態として報告または考察することを控えることができる。事前計算のためにどのネットワーク状態が最も有利であるかを決定するために、多数の方法および基準が採用されてもよいことは明らかであろう。ネットワーク状態予測器480は、ネットワークノード400が他のタスクの実行中によるビジー状態ではない間、ネットワークノード400のアイドル時間を使用して将来のネットワーク状態を予測することができる。ネットワーク状態予測器480は、一度に1つの状態を予測することができるか、または予測される状態のリストを生成することができる。そのようなリストは、可能性/関連性の降順で順序付けられてもよい。その後、ネットワーク状態予測器480は、ネットワークノード400のアイドル時間中に、予測される状態を最短パスツリー生成器に伝送することができ、SPTが予測される状態の各々について事前計算されるようにすることができる。アイドル時間は、ノード400プロセッサが他のタスクの実行中によるビジー状態ではない時間として、ネットワークノード400によって識別されてもよい。ネットワーク状態予測器480は、特定数の状態に関連付けられているSPTが事前計算されるまで、または特定の量のメモリが事前計算済みのSPTの格納に使用されるまで、このように続行することができる。一部の実施形態において、ネットワーク状態予測器480は、いずれのルーティング情報にも変化をもたらすことのない将来の状態を予測することができる。そのような場合、ネットワーク状態機械430は、そのような予測を無視することができるか、もしくは現在のSPTが使用されてもよいという指示、またはそのようなネットワークの変化に応答してアクションを行なう必要がないという指示を格納することができる。ネットワーク状態が変化する場合、ネットワーク状態予測器480は、最初から開始して、予測される状態およびSPTの新しいセットを生成することができる。あるいは、ネットワーク状態予測器480は、以前事前計算済みのSPTを再使用して、現在のネットワーク状態に照らして最も関連性または生じる可能性の低いSPTのみを置き換えるよう試みることもできる。例示的なノード400は事前計算された最短パスツリーに関して説明されているが、さまざまな代替的な実施形態が代替または追加のタイプのルーティング情報を事前計算できることに留意されたい。たとえば、ノード図示せずは、転送テーブル自体、その一部、ルーティングテーブル、またはその一部を事前計算することができる。OSPF以外の規格を採用するシステムの場合、それらの規格に固有のルーティング情報が事前計算されてもよい。そのような代替的な実施形態を実施する際に有用な変更は、当業者には明らかとなろう。図5は、起こりうる将来のネットワーク状態を予測するための例示的な予測ノード500を示す。予測ノード500は、例示的なネットワーク100または追加のノード図示せずの1つまたは複数のノードA-G110-170に対応することができる。予測ノード500は、将来のSPTを予測するために1つまたは複数のノードA-G110-170と共に動作するように構成されてもよい。予測ノード500は、パケット受信機505、ネットワーク状態履歴識別子510、ネットワーク状態予測生成器520、パケット送信機525、ネットワーク状態履歴ストレージ540、およびネットワーク状態予測器580を含むことができる。予測ノード500は、追加の他のコンポーネントを含むことができる。たとえば、予測ノード500がルータでもあるさまざまな実施形態において、予測ノード500は、ネットワークノード400の1つまたは複数の要素を含むことができる。パケット受信機505は、他のネットワークデバイスからパケットを受信するように構成されたハードウェア、および/または機械可読ストレージ媒体上の符号化された実行可能命令を備えるインターフェイスであってもよい。パケット受信機505は、複数のポートを含むことができ、複数のネットワークデバイスからパケットを受信することができる。たとえば、パケット受信機505は、リンク状態アドバタイズメントパケット、他のネットワーク状態履歴パケット、および/または通常のネットワークトラフィックに関連するパケットを受信することができる。ネットワーク状態履歴識別子510は、パケット受信機505を介して受信したパケットがネットワーク状態履歴を含むかどうかを決定するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。一部の実施形態において、そのようなパケットはLSAであってもよい。他のネットワークノードがネットワーク状態に関する情報を伝達するように構成される他の実施形態において、そのようなパケットは、別のノードによって予測ノード500に伝送される特別に構築されたパケットであってもよい。そのようなパケットは、定期的に伝送されてもよいか、または発信側ノードによって認められるネットワーク状態への更新がある場合に伝送されてもよい。ネットワーク状態履歴パケットを識別すると、ネットワーク状態履歴識別子510は、更新を反映するように、ネットワーク状態履歴ストレージに格納されているデータを更新することができる。ネットワーク状態予測生成器520は、他のノードに伝送するためにネットワーク状態予測メッセージを生成するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。たとえば、ネットワーク状態予測生成器520は、単一のネットワーク状態予測、またはネットワーク状態予測器580によって生成されたネットワーク状態予測の順序付きリストを含むパケットを構築することができる。その後、ネットワーク状態予測生成器は、パケット送信機525を介して、新しいパケットを1つまたは複数の他のノードに送信することができる。以下でネットワーク状態予測器580に関して説明されるように、予測は、複数のノードまたは単一のノードのみに適用可能であってもよい。ネットワーク状態予測生成器520は、予測が適用可能であるノードだけに新しいパケットを転送することができる。パケット送信機525は、他のネットワークデバイスにパケットを送信するように構成されたハードウェア、および/または機械可読ストレージ媒体上の符号化された実行可能命令を備えるインターフェイスであってもよい。パケット送信機525は、複数のポートを含むことができ、複数のネットワークデバイスにパケットを送信することができる。たとえば、パケット送信機425は、リンク状態アドバタイズメントパケット、ネットワーク状態予測パケット、および/または通常のネットワークトラフィックに関連するパケットを送信することができる。ネットワーク状態履歴ストレージ540は、以前および/または現在のネットワーク状態の表現を格納することができる任意の機械可読媒体であってもよい。したがって、ネットワーク状態履歴ストレージ540は、読み取り専用メモリROM、ランダムアクセスメモリRAM、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および/または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。ネットワーク状態予測器580は、可能性のある将来のネットワーク状態を予測するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。この点において、ネットワーク状態予測器は、ネットワーク状態予測器480と類似するか、または同一であってもよい。ネットワーク状態予測器580はさらに、特定のノードのコンテキスト内で予測を生成するように構成されてもよい。したがって、ネットワーク状態予測器は、ネットワーク内のさまざまなノードについてさまざまな予測を生成することができる。たとえば、ネットワーク状態予測器は、1つの起こりうる将来のネットワーク状態が、第1のノードの転送テーブルへの更新を必要とするが、第2のノードの転送テーブルへの更新は必要としないことを決定することができる。したがって、ネットワーク状態予測器580は、この将来のネットワーク状態が、第1のノードに報告されるべきであるが、第2のノードにはその必要がないことを指示することができる。図6は、パケットをルーティングし、予測ノードと協働してネットワークコンバージェンス時間を短縮するためのネットワークノード600の例示的な実施形態を示す。ネットワークノード600は、例示的なネットワーク100の1つまたは複数のノードA-G110-170に対応することができる。ネットワークノード600は、パケット受信機405、ネットワーク状態予測識別子680、リンク状態アドバタイズメントLSA識別子410、ルーティングプロセッサ420、パケット送信機425、ネットワーク状態機械430、予測ストレージ685、最短パスツリーSPT生成器450、転送テーブル生成器460、転送テーブルストレージ470、およびネットワーク状態予測器480を含むことができる。したがって、ネットワークノード600の多数の要素が、ネットワークノード400のさまざまな要素と類似するかまたは同一であってもよい。ネットワーク状態予測識別子680は、受信したパケットが予測ノード500によって構築され伝送されたネットワーク状態予測メッセージのようなネットワーク状態予測を含むかどうかを決定するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。受信したパケットがそのような情報を含む場合、ネットワーク状態予測識別子680は、パケットから1つまたは複数のネットワーク状態予測を抽出して、それらを予測ストレージ685に格納することができる。その後、最短パスツリー生成器450は、ネットワークノード600のアイドル処理時間を使用して、予測されるネットワーク状態に従ってSPTを計算し、ネットワーク状態機械430を更新することができる。予測ストレージ685は、現在および/または予測されるネットワーク状態の表現を格納することができる任意の機械可読媒体であってもよい。したがって、予測ストレージ685は、読み取り専用メモリROM、ランダムアクセスメモリRAM、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および/または類似するストレージ媒体のような機械可読ストレージ媒体を含むことができる。図7は、起こりうる将来のネットワーク状態を予測するための予測ノード700の代替的な実施形態を示す。予測ノード700は、例示的なネットワーク100の1つまたは複数のノードA-G110-170または追加のノード図示せずに対応することができる。予測ノード700は、将来のSPTを予測するために1つまたは複数のノードA-G110-170と共に動作するように構成されてもよい。予測ノード700は、パケット受信機505、ネットワーク状態履歴識別子510、パケット送信機525、ネットワーク状態履歴ストレージ540、ネットワーク状態予測器580、最短パスツリー生成器750、および最短パスツリーメッセージ生成器790を含むことができる。したがって、予測ノード700の多数の要素が、予測ノード500のさまざまな要素と類似するかまたは同一であってもよい。予測ノード700は、追加の他のコンポーネントを含むことができる。たとえば、予測ノード700がルータでもあるさまざまな実施形態において、予測ノードは、ネットワークノード400の1つまたは複数の要素を含むことができる。最短パスツリーSPT生成器750は、ネットワークの表現から最短パスツリーを生成するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。したがって、SPT生成器750は、ネットワークノード400のSPT生成器450と類似するかまたは同一であってもよい。SPT生成器750は、予測ノード700のアイドル時間を使用して、ネットワーク状態予測生成器580によって生成された予測ネットワーク状態に対して1つまたは複数のSPTを生成することができる。最短パスツリーSPTメッセージ生成器790は、他のノードに伝送するためにSPT予測メッセージを生成するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。たとえば、SPTメッセージ生成器790は、単一のネットワーク状態予測を含むパケットを構築して、SPTまたはネットワーク状態予測の順序付きリストと、ネットワーク状態予測器580およびSPT生成器750によって生成された関連するSPTを関連付けることができる。その後、SPTメッセージ生成器790は、パケット送信機525を介して、新しいパケットを1つまたは複数の他のノードに送信することができる。上記で説明されているように、予測は、複数のノードまたは単一のノードのみに適用可能であってもよい。SPTメッセージ生成器790は、予測が適用可能であるノードだけに新しいパケットを転送することができる。図8は、パケットをルーティングし、予測ノードと協働してネットワークコンバージェンス時間を短縮するためのネットワークノード800の代替的な実施形態を示す。ネットワークノード800は、例示的なネットワーク100の1つまたは複数のノードA-G110-170に対応することができる。ネットワークノード800は、パケット受信機405、最短パスツリーSPTメッセージ識別子895、リンク状態アドバタイズメントLSA識別子410、ルーティングプロセッサ420、パケット送信機425、ネットワーク状態機械430、最短パスツリーSPT生成器450、転送テーブル生成器460、転送テーブルストレージ470、およびネットワーク状態予測器480を含むことができる。したがって、ネットワークノード800の多数の要素が、ネットワークノード400および/またはネットワークノード600のさまざまな要素と類似するかまたは同一であってもよい。最短パスツリーSPTメッセージ識別子895は、受信したパケットが予測ノード700によって生成されたSPTメッセージのような1つまたは複数の予測されるSPTを含むかどうかを決定するように構成されたハードウェア、および/または機械可読ストレージ媒体上の実行可能命令を含むことができる。受信したパケットがそのような情報を含む場合、SPTメッセージ識別子895は、将来使用される可能性に備えて、予測されるSPTをネットワーク状態機械430に転送することができる。図9は、事前計算済みのルーティング情報を見つけるための例示的な状態機械900を示す。状態機械900は、ネットワーク状態機械430のプログラミング、および/またはネットワーク状態機械430によって管理される1つまたは複数のデータ構造に対応することができる。状態機械900は、現在の状態910、複数のとりうる状態920、930、940、および複数のとりうる移行911、912、913、914を含むことができる。各状態910、920、930、940はさらに、SPTに関連付けられてもよい。移行911は、現在の状態910において開始して終端する。移行911は、ノードB120とノードG170の間のリンクが10のリンクコストに復元されたことをLSAが指示する場合、適用可能であることを指示する。移行911は同じ状態にループバックするので、そのようなLSAの場合には、ノードの適切なSPTには変更が行なわれることはないことを指示する。次いで、ノードは、さらなるアクションは必要ないと決定することができる。移行912は、現在の状態910において開始し、とりうる状態920において終端し、ノードC130とノードD140の間のリンクの障害を指示するLSAに適用可能である。そのような場合、ノードは、状態920に関連付けられているSPTを使用し、その結果、新しく障害が発生したリンクの使用を回避する。移行913は、現在の状態910において開始し、とりうる状態930において終端し、障害ノードB120を指示するLSAに適用可能である。そのような場合、ノードは、状態930に関連付けられているSPTを使用し、その結果、やむを得ない場合を除きトラフィックをノードB120に送信することを回避する。この例において、ノードB120に宛てられたトラフィックのみが、ノードB120に送信される。移行914は、現在の状態910において開始し、とりうる状態940において終端し、ノードF160のみに接続されている新しいノードH図示せずがネットワークに追加されたことを指示するLSAに適用可能である。そのような場合、ノードは、状態940に関連付けられているSPTを使用し、その後、ノードD140を介して新しいノードにトラフィックを送信する。示されている移行基準は一例を表していることに留意されたい。追加の移行基準が、当業者には明らかとなろう。たとえば、ネットワークからのノードの除去が基準として使用されてもよい。さらなる例として、複数の変化が単一の移行において指示されてもよい。たとえば、Bにおける障害およびBとGの間のリンクを報告するLSAに適用可能な移行図示せずが状態910から状態913に追加されてもよい。図10は、ネットワークコンバージェンス時間を短縮するための例示的な方法1000を示す。方法1000またはその一部は、ネットワークノード400、500、600、700、および/または800のコンポーネントによって実行されてもよい。方法1000は、ステップ1000で開始して、ステップ1010に進み、ここでネットワークノードがLSAを受信する。次いで、ステップ1020において、ノードは何が新しいネットワーク状態であるかを決定することができる。たとえば、ノードは、上記で説明されるように、LSAを状態機械に適用することができる。ステップ1030において、ノードは、最短パスツリーSPTが新しいネットワーク状態に対して既に計算されているかどうかを決定することができる。たとえば、ノードは、LSAに対して状態が状態機械に存在するかどうか、および/またはSPTが状態に関連付けられているかどうかを決定することができる。そのような場合、ステップ1040において、ノードは単に事前計算済みのSPTを取り出すことができる。一方、事前計算済みのSPTが使用可能ではない場合、ステップ1050において、ノードは新しいSPTを計算することができる。入手方法にはかかわりなく、SPTが使用可能になれば、ステップ1060において、ノードは転送テーブルの生成を開始することができる。図7および/または図8の実施形態におけるような、第2のノードが他のノードに対して予測されるSPTを生成するさまざまな実施形態において、方法1000は、直接ステップ1095に進むことができる。それ以外の場合、方法1000は、ステップ1065に進むことができ、ここでノードは、ノードのCPUまたはコアのうちの少なくとも1つが現在アイドル状態であるかどうかを決定することができる。ステップ1065において、方法1000は、処理する前にCPUがアイドル状態になるまで待機することができる。あるいは、方法1000は、この待機期間中に、新しいLSAの受信のような他のイベントによって中断または一時停止されてもよい。ノードが、CPUは現在アイドル状態であると決定する場合、方法100は、ステップ1070に進むことができる。ステップ1070において、ノードは、追加のSPTを格納するために十分なメモリが使用可能であるかどうかを決定することができる。代替的または追加的に、ノードは、満足な数のSPTが事前計算されているかどうかを決定することができる。さらに多くのSPTが事前計算されうる、および/または事前計算されるべきである場合、方法1000はステップ1080に進む。さまざまな実施形態において、予測される状態にSPTを適応させるため、1つまたは複数の関連性の低いSPTがメモリから消去されてもよい。ステップ1080において、ノードは予測される状態を決定する。これは、将来の状態をローカルに予測するステップ、および/または外部ノードによって提供された予測される状態を読み込むステップを含むことができる。次いで、方法1000はステップ1090に進み、ここでノードは、予測されるネットワーク状態に基づいて新しいSPTを計算する。次いで、方法1000は、ステップ1065にループバックして、プロセスを繰り返す。メモリが満杯であるか、または満足な数のSPTが事前計算されてしまうと、実施形態に応じて、方法1000はステップ1070からステップ1095に進んで終了する。ノードがSPTを事前計算している間に、新しいLSAが到着可能なことは明らかである。さまざまな実施形態は、ステップ1070-1090のSPT事前計算手順が新しいLSAを処理するために中断または時期尚早に一時停止されてもよいことを規定することができる。現実世界で実施するための追加の変更は、当業者には明らかとなろう。前述のさまざまな例示的な実施形態により、ネットワークコンバージェンス時間を短縮することができる。特に、起こりうる将来のネットワーク状態に対して、SPTおよび/または転送テーブルのようなルーティング情報を事前計算することにより、ネットワークノードは、ネットワークが実際に変化した後に転送テーブルを更新するために費やす時間を短縮することができる。本発明のさまざまな例示的な実施形態が、ハードウェア、ソフトウェア、および/またはファームウェアにおいて実施されうることが、上記の説明から明らかとなろう。さらに、さまざまな例示的な実施形態は、本明細書において詳細に説明される動作を実行するために少なくとも1つのプロセッサによって読み込まれ実行されうる、機械可読ストレージ媒体に格納された命令として実施されてもよい。機械可読ストレージ媒体は、パーソナルまたはラップトップコンピュータ、サーバ、または他のコンピューティングデバイスのような、機械によって読み取り可能な形態で情報を格納するための任意のメカニズムを含むことができる。したがって、機械可読ストレージ媒体は、読み取り専用メモリROM、ランダムアクセスメモリRAM、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、および類似するストレージ媒体を含むことができる。プロセッサと称される任意の機能ブロックを含む、図面に示されるさまざまな要素の機能は、専用ハードウェア、および適切なソフトウェアと関連してソフトウェアを実行することができるハードウェアの使用を通じて提供されてもよい。プロセッサにより提供される場合、機能は、単一の専用プロセッサ、単一の共有プロセッサ、または一部が共有されうる複数の個々のプロセッサによって提供されてもよい。さらに、プロセッサまたはコントローラという用語の明示的な使用は、ソフトウェアを実行することができるハードウェアのみを参照するものと解釈されるべきではなく、デジタル信号プロセッサDSPハードウェア、ネットワークプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ソフトウェアを格納するための読み取り専用メモリROM、ランダムアクセスメモリRAM、および不揮発性ストレージを、制限なく暗黙的に含むことができる。標準および/またはカスタムの他のハードウェアが含まれてもよい。同様に、図面に示される任意のスイッチは、概念的なものに過ぎない。それらの機能は、プログラム論理の動作を通じて、専用論理を通じて、プログラム制御および専用論理の相互作用を通じて、または手動によっても実行されてもよく、特定の技法は、コンテキストからさらに具体的に理解されるように実施者により選択可能である。当業者には、本明細書における任意のブロック図が、本発明の原理を具現する例示的な回路の概念的な図を表すことが理解されるであろう。同様に、任意の流れ図、フローダイアグラム、状態遷移図、擬似コードなどは、機械可読媒体において概ね表されてもよく、コンピュータまたはプロセッサによりそのようなコンピュータまたはプロセッサが明示的に示されているかどうかにかかわらず実行されてもよいさまざまなプロセスを表すことが理解されよう。さまざまな例示的な実施形態が、その特定の例示的な態様を特に参照して詳細に説明されてきたが、本発明は他の実施形態が可能であり、その詳細はさまざまな明白な点において変更が可能であることを理解されたい。当業者には容易に明らかなように、本発明の趣旨および範囲を逸脱することなく変形および変更が行なわれてもよい。したがって、前述の開示、説明、および図面は、例示のみを目的としており、本発明を何ら限定するものではなく、本発明は特許請求の範囲によってのみ定義される。