(57)【特許請求の範囲】
【請求項１】
データフロー伝送方法であって、
ソフトウェア定義型ネットワーク（ＳＤＮ）コントローラが、第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定することと、
前記ＳＤＮコントローラが前記複数の経路における各経路に経路識別子を割り当て、各経路に割り当てられた経路識別子が該経路及び前記指定サービスに唯一に対応することと、
前記ＳＤＮコントローラが前記複数の経路における各経路に対して、該経路における前記第２ネットワーク装置以外のネットワーク装置に転送情報を送信し、前記転送情報は、該転送情報を受信するネットワーク装置の該経路におけるネクストホップへ該経路の経路識別子が載せられているデータフローを転送することを示すためのものであることと、
前記ＳＤＮコントローラがプリセットされたルールに基づいて前記複数の経路から１つの経路を選択して、第１ネットワーク装置が前記指定サービスのデータフローに選択された経路の経路識別子を追加するように、前記選択された経路の経路識別子を前記第１ネットワーク装置に送信することと、を含む
データフロー伝送方法。
【請求項２】
前記ＳＤＮコントローラが第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定することは、
前記ＳＤＮコントローラが第１ネットワーク装置から第２ネットワーク装置までの経路を計算することと、
計算された経路の数がＭ以下である場合、前記ＳＤＮコントローラが計算されたすべての経路を第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路として確定することと、
計算された経路の数がＭより大きい場合、前記ＳＤＮコントローラが経路コストの昇順で計算された経路を並び替え、得られるシーケンスから経路コストの低い方からＭ個の経路を選択して、第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路として確定することと、を含み、
前記Ｍが前記第１ネットワーク装置から第２ネットワーク装置までの最大経路数である
請求項１に記載の方法。
【請求項３】
前記選択された経路が経路調整条件を満たすと検出する場合、前記ＳＤＮコントローラがプリセットされたルールに基づいて前記複数の経路から１つの経路を再選択して、第１ネットワーク装置が前記指定サービスのデータフローに前記再選択された経路の経路識別子を追加するように、該再選択された経路の経路識別子を前記第１ネットワーク装置に通知し、
前記経路調整条件は、経路品質が前記指定サービスに対応する経路制約条件を満たしていないこと及び／又は経路に故障リンクがあることを含むこと
を更に含む請求項１に記載の方法。
【請求項４】
前記ＳＤＮコントローラが前記複数の経路を経路計画リストに記録することと、
経路最適化条件が満たされている場合、前記ＳＤＮコントローラが前記経路計画リストに記録された経路に対して経路最適化を行い、前記経路最適化が少なくとも経路計画リストに経路を追加すること、または経路計画リストから経路を削除することとを含むことと、
前記経路計画リストに追加した各経路に対し、前記ＳＤＮコントローラが該経路における前記第２ネットワーク装置以外のネットワーク装置に転送情報を送信することと、
を更に含む請求項１に記載の方法。
【請求項５】
前記ＳＤＮコントローラが経路計画リストに記録された経路に対して経路最適化を行うことは、
前記ＳＤＮコントローラが前記経路計画リストから故障経路を削除することと、
前記ＳＤＮコントローラが第１ネットワーク装置から第２ネットワーク装置までの経路を計算し、計算された経路を予備経路リストに記録し、予備経路リストから前記経路計画リストに記録された経路を削除することと、
前記経路計画リストに記録された経路を削除して予備経路リストが空にならない場合、前記ＳＤＮコントローラが予備経路リストにおける経路を利用して前記経路計画リストにおける経路に対して経路最適化を行うことと、を含む
請求項４に記載の方法。
【請求項６】
前記ＳＤＮコントローラが予備経路リストにおける経路を利用して経路計画リストにおける経路に対して経路最適化を行うことは、
前記予備経路リストにおける経路数ＫがＨ以下である場合、前記ＳＤＮコントローラが前記予備経路リストにおけるすべての経路を前記経路計画リストに追加することと、
前記Ｋが前記Ｈより大きい場合、前記ＳＤＮコントローラが経路コストの昇順で前記予備経路リストからＨ個の経路を抽出して前記経路計画リストに追加し、前記予備経路リストから前記Ｈ個の経路を削除し、Ｈ個の経路を削除した後の予備経路リストにおける第１指定経路で経路計画リストにおける第２指定経路を取り替え、第１指定経路の経路コストが第２指定経路の経路コストより小さいことと、
前記Ｈが前記第１ネットワーク装置から第２ネットワーク装置までの最大経路数Ｍと前記経路計画リストにおける経路数Ｌとの差であることと、を含む
請求項５に記載の方法。
【請求項７】
前記経路識別子はディファレンシエーテッドサービスコードポイント（ＤＳＣＰ：Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｃｏｄｅ  Ｐｏｉｎｔ）数値である
請求項１に記載の方法。
【請求項８】
ソフトウェア定義型ネットワーク（ＳＤＮ）コントローラであって、
プロセッサと、
機械実行可能命令が記憶される機械可読記憶媒体と、を備え、
前記機械実行可能命令を読み取って実行することにより、前記プロセッサは、
第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定し、
前記複数の経路における各経路に経路識別子を割り当て、各経路に割り当てられた経路識別子が該経路及び前記指定サービスに唯一に対応し、
前記複数の経路における各経路に対して、該経路における前記第２ネットワーク装置以外のネットワーク装置に転送情報を送信し、前記転送情報は、該転送情報を受信するネットワーク装置の該経路におけるネクストホップへ該経路の経路識別子が載せられているデータフローを転送することを示すためのものであり、
プリセットされたルールに基づいて前記複数の経路から１つの経路を選択して、第１ネットワーク装置が前記指定サービスのデータフローに前記選択された経路の経路識別子を追加するように、前記選択された経路の経路識別子を前記第１ネットワーク装置に送信する
ソフトウェア定義型ネットワーク（ＳＤＮ）コントローラ。
【請求項９】
第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定することは、
第１ネットワーク装置から第２ネットワーク装置までの経路を計算することと、
計算された経路の数がＭ以下である場合、計算されたすべての経路を第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路として確定することと、
計算された経路の数がＭより大きい場合、経路コストの昇順で計算された経路を並び替え、得られるシーケンスから経路コストの低い方からＭ個の経路を選択して、第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路として確定することと、を含み、
前記Ｍが前記第１ネットワーク装置から第２ネットワーク装置までの最大経路数である
請求項８に記載のＳＤＮコントローラ。
【請求項１０】
前記機械実行可能命令によって、前記プロセッサは、更に、
前記選択された経路が経路調整条件を満たすと検出する場合、プリセットされたルールに基づいて前記複数の経路から１つの経路を再選択して、第１ネットワーク装置が前記指定サービスのデータフローに前記再選択された経路の経路識別子を追加するように、該再選択された経路の経路識別子を前記第１ネットワーク装置に通知するし、
前記経路調整条件は、経路品質が前記指定サービスに対応する経路制約条件を満たしていないこと及び／又は経路に故障リンクがあること
を含む請求項８に記載のＳＤＮコントローラ。
【請求項１１】
前記機械実行可能命令によって、前記プロセッサは、更に、
前記複数の経路を経路計画リストに記録し、
経路最適化条件が満たされている場合、前記経路計画リストに記録された経路に対して経路最適化を行い、前記経路最適化が少なくとも経路計画リストに経路を追加すること、
または経路計画リストから経路を削除することを含み、
前記経路計画リストに追加した各経路に対し、該経路における前記第２ネットワーク装置以外のネットワーク装置に転送情報を送信する
請求項８に記載のＳＤＮコントローラ。
【請求項１２】
経路計画リストに記録された経路に対して経路最適化を行うことは、
前記経路計画リストから故障経路を削除することと、
第１ネットワーク装置から第２ネットワーク装置までの経路を計算し、計算された経路を予備経路リストに記録し、予備経路リストから前記経路計画リストに記録された経路を削除することと、
前記経路計画リストに記録された経路を削除して予備経路リストが空にならない場合、予備経路リストにおける経路を利用して前記経路計画リストにおける経路に対して経路最適化を行うことと、
を含む請求項１１に記載のＳＤＮコントローラ。
【請求項１３】
予備経路リストにおける経路を利用して経路計画リストにおける経路に対して経路最適化を行うことは、
前記予備経路リストにおける経路数ＫがＨ以下である場合、前記予備経路リストにおけるすべての経路を前記経路計画リストに追加することと、
前記Ｋが前記Ｈより大きい場合、経路コストの昇順で前記予備経路リストからＨ個の経路を抽出して前記経路計画リストに追加し、前記予備経路リストから前記Ｈ個の経路を削除し、Ｈ個の経路を削除した後の予備経路リストにおける第１指定経路で経路計画リストにおける第２指定経路を取り替え、第１指定経路の経路コストが第２指定経路の経路コストより小さいことと、
前記Ｈが前記第１ネットワーク装置から第２ネットワーク装置までの最大経路数Ｍと前記経路計画リストにおける経路数Ｌとの差であることと、を含む
請求項１２に記載のＳＤＮコントローラ。
【請求項１４】
前記経路識別子はディファレンシエーテッドサービスコードポイント（ＤＳＣＰ：Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｃｏｄｅ  Ｐｏｉｎｔ）数値である
請求項８に記載のＳＤＮコントローラ。
【請求項１５】
機械可読記憶媒体であって、
機械可読記憶媒体に記憶されている命令が機械により実行されるとき、前記機械は、
第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定し、
前記複数の経路における各経路に経路識別子を割り当て、各経路に割り当てられた経路識別子が該経路及び前記指定サービスに唯一に対応し、
前記複数の経路における各経路に対して、該経路における前記第２ネットワーク装置以外のネットワーク装置に転送情報を送信し、前記転送情報は、該転送情報を受信するネットワーク装置の該経路におけるネクストホップへ該経路の経路識別子が載せられているデータフローを転送することを示すためのものであり、
プリセットされたルールに基づいて前記複数の経路から１つの経路を選択して、第１ネットワーク装置が前記指定サービスのデータフローに前記選択された経路の経路識別子を追加するように、前記選択された経路の経路識別子を前記第１ネットワーク装置に送信することを
実行する機械可読記憶媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本願は、２０１７年７月２５日に提出した中国特許出願２０１７１０６１０２４３．０を優先権として主張し、その全内容が援用により本願に取り込まれている。
【背景技術】
【０００２】
ソフトウェア定義型ネットワーク（ＳＤＮ、Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ）コントローラは一般的にマルチプロトコルラベルスイッチング（ＭＰＬＳ、Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）によりデータフロー伝送を行うものである。ところで、現在、データフロー伝送アプリケーションは基礎ネットワークが多くＩＰネットワークである。データフロー伝送のサービス要求を満たすために、ＳＤＮコントローラはＩＰネットワークによるデータフロー伝送も提供している。
【０００３】
ＩＰネットワークによるデータフロー伝送過程において、ＳＤＮコントローラはデータフローの経由の経路における各ネットワーク装置にルーティングを送信することができる。ルーティングは出力ポート又はネクストホップを示し、データフローのワンホップ伝送を実現する。データフロー伝送の経由の経路が変化すると、ＳＤＮコントローラは新しい経路を再選択して、その選択されて新しい経路における各ネットワーク装置にルーティングを送信する。このため、経路調整時間が長すぎるときがある。
【図面の簡単な説明】
【０００４】
【図１】図１は本開示に係る方法のフローチャートである。
【図２】図２は本開示に係る実施ネットワーキングの模式図である。
【図３】図３は本開示に係る実施例に適用される工業縦型ネットワーキング図である。
【図４】図４は本開示に係る経路を最適化するフローチャートである。
【図５】図５は本開示に係る装置の構造模式図である。
【図６】図６は本開示に係る図５に示される装置のハードウェア構造模式図である。
【発明を実施するための形態】
【０００５】
本発明の目的、技術案及び利点をより明確にするために、以下に図面を参照しながら具体的な実施例によって本発明を詳しく説明する。
【０００６】
図１に示すように、図１は本発明に係る方法のフローチャートである。該プロセスはＳＤＮコントローラに適用される。
【０００７】
図１に示すように、該プロセスは以下のステップを含んでもよい。
【０００８】
ステップ１０１、ＳＤＮコントローラが第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定する。
【０００９】
本開示では、一実施例として、第１ネットワーク装置、第２ネットワーク装置はＳＤＮコントローラが指定サービスのネットワーク範囲に基づいて確定したスケジューリング開始と終了のサービスオブジェクトである。ここで、指定サービスは異なるタイプの各サービス、例えばビデオサービス、オフィスサービス等であってもよい。
【００１０】
例えば、図２に示されるように、ネットワーキングにはノード１〜ノード６合計６つのノードがあり、ビデオサービスのネットワーク範囲はノード１〜ノード３の間に適用される。指定サービスがビデオサービスである場合を例として、ＳＤＮコントローラはその定義されたビデオサービスのネットワーク範囲に基づいてノード１とノード３とがビデオサービススケジューリングを行うスケジューリング開始と終了のサービスオブジェクトであると確定する。ノード１はスケジューリング開始サービスオブジェクト、即ち上記第１ネットワーク装置であり、ノード３はスケジューリング終了サービスオブジェクト、即ち上記第２ネットワーク装置である。
【００１１】
一実施例として、上記指定サービスのネットワーク範囲はネットワーキングにおけるネットワークトポロジーに基づいて定義したものである。ここで、ネットワークトポロジーはボーダーゲートウェイプロトコルリンクステート（ＢＧＰ−ＬＳ、Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ  Ｌｉｎｋ  Ｓｔａｔｅ）に基づいて動的に収集してもよいし、ユーザーが手動で追加してもよく、本開示は具体的に制限しない。
【００１２】
第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定した後、本開示では、第１ネットワーク装置から第２ネットワーク装置までの他のサービスはいずれも該確定された複数の経路を共有してもよい。
【００１３】
本開示では、一実施例として、経路とサービスとはいずれもディファレンシエーテッドサービスコードポイント（ＤＳＣＰ、Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｃｏｄｅ  Ｐｏｉｎｔ）によって区別されてもよい。ただし、ＤＳＣＰの個数は限られており、例えば１〜４７、４９〜６３合計６２個の数値で使用することができるため、上記ステップ１０１において確定された指定サービスのデータフローを第１ネットワーク装置から第２ネットワーク装置に送信するための経路数をＮとして制限し、第１ネットワーク装置と第２ネットワーク装置との間のサービス数をＴとして制限してもよい。一実施例として、上記Ｎが１より大きく、且つデフォルト経路の最大数Ｍ以下であり、Ｍが第１ネットワーク装置から第２ネットワーク装置まで計画された最大経路数であり、Ｔが１以上かつデフォルトサービスの最大数Ｓ以下である。Ｓ、ＭはＤＳＣＰ個数＝Ｓ＊（Ｍ＋１）の条件を満たす。
【００１４】
上記Ｍに基づき、ステップ１０１では、第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定することは、第１ネットワーク装置から第２ネットワーク装置までの経路を計算することと、計算された経路の数がＭ以下である場合、計算されたすべての経路を、第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路として確定することと、計算された経路の数がＭより大きい場合、経路コストの昇順でその計算された経路を並べ替え、得られるシーケンスから経路コストの低い方からＭ個の経路を選択して、第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路として確定することと、を含んでもよい。最終的に、その確定された指定サービスのデータフローを第１ネットワーク装置から第２ネットワーク装置に送信するための経路数がＭ以下である。
【００１５】
ステップ１０２、ＳＤＮコントローラがステップ１０１で確定された複数の経路の各経路に経路識別子を割り当てる。
【００１６】
本開示では、各経路に割り当てられた経路識別子が該経路及び前記指定サービスに唯一に対応する。ここで、経路識別子はＤＳＣＰ数値であり、以下に例を挙げて説明し、ここで詳細な説明は省略する。
【００１７】
ステップ１０３、ＳＤＮコントローラがステップ１０１で確定された複数の経路の各経路に対して、該経路における第２ネットワーク装置以外のネットワーク装置に転送情報を送信する。
【００１８】
本開示では、転送情報は該転送情報を受信するネットワーク装置の該経路におけるネクストホップへ該経路の経路識別子が載せられているデータフローを転送することを示すためのものである。転送情報には少なくとも経路識別子、経路のネクストホップが載せられている。
【００１９】
ステップ１０４、ＳＤＮコントローラがプリセットされたルールに基づいてステップ１０１で確定された複数の経路から１つの経路を選択して、第１ネットワーク装置が指定サービスのデータフローにその選択された経路の経路識別子を追加するように、前期選択された経路の経路識別子を第１ネットワーク装置に送信する。
【００２０】
ステップ１０３からわかるように、第１ネットワーク装置に複数の転送情報が保存されている。各転送情報が１つの経路に対応し、経路の経路識別子によって転送情報を確定する。第１ネットワーク装置が指定サービスのデータフローを受信した場合、指定サービスのデータフローにＳＤＮコントローラで通知した経路識別子を追加する。このように、該経路識別子に基づき、第１ネットワーク装置は経路識別子に対応する転送情報によってデータフローをネクストホップに転送する。前記ネクストホップがデータフローを受信した場合、データフローに載せられている経路識別子に基づいて対応する転送情報を選択して転送することによって、最終的に指定サービスのデータフローを経路識別子に対応する経路に沿って転送させる。
【００２１】
ここで、図１に示されるプロセスを完了する。
【００２２】
図１に示されるプロセスによれば、本開示では、第１ネットワーク装置が指定サービスのデータフローを第２ネットワーク装置にスケジューリングする前に、ＳＤＮコントローラは指定サービスデータフローを送信するための各経路の転送情報を該経路における第２ネットワーク装置以外のネットワーク装置に予め送信する。これは、先に第１ネットワーク装置と第２ネットワーク装置との間に指定サービスデータフローを送信するためのすべての経路を予め配置することに相当し、後続の指定サービスデータフローの送信経路が調整されてから調整後の経路の転送情報を送信することがなくてもよいので、経路調整効率を向上させる。
【００２３】
更に、本開示では、上記ステップ１０１で確定されて第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路は共有経路であり、他のいずれか２つのネットワーク装置の間のサービスに共有されてもよい。これにより、経路リソースの消費を抑えることができる。
【００２４】
一実施例として、本開示では、指定サービスのデータフローが常に最適な経路に沿って転送されることを確保するために、本開示では、指定サービスのデータフローのために選択した経路（指定サービスデータフローの現在経路とも称される）をリアルタイムに監視する。指定サービスデータフローの現在経路が経路調整条件を満たすと監視する場合、指定サービスデータフローの現在経路を更新してもよい。ここで、経路調整条件を満たすことは、指定サービスデータフローの現在経路の経路品質が指定サービスに対応する経路制約条件を満たしていない及び／又は指定サービスデータフローの現在経路に故障リンクが含まれていることを含む。ここで、指定サービスに対応する経路制約条件はサービスの要件に応じてカスタマイズされるものであり、例えば経路遅延の時間、経路パケットロスの率、経路帯域幅のサイズ等である。
【００２５】
具体的に、ＳＤＮコントローラは指定サービスデータフローの現在経路が経路調整条件を満たすと検出する場合、指定サービスデータフローの現在経路が指定サービスのデータフローを転送し続けることに適せず、上記ステップ１０１で確定された複数の経路の最適な経路でなくなることを意味している。これに基づき、指定サービスのデータフローが常に最適な経路に沿って転送されることを確保するために、ＳＤＮコントローラはプリセットされたルールに基づいて上記ステップ１０１で確定された複数の経路から改めて１つの経路を選択して、第１ネットワーク装置が指定サービスのデータフローにその再選択された経路の経路識別子を追加するように、該再選択された経路の経路識別子を第１ネットワーク装置に通知する。これは指定サービスデータフローの現在経路が上記再選択された経路になることも意味し、指定サービスのデータフローが常に最適な経路に沿って転送されることを実現する。
【００２６】
本開示では、ＳＤＮコントローラがプリセットされたルールに基づいて上記ステップ１０１で確定された複数の経路から改めて１つの経路を選択して第１ネットワーク装置に通知することは、指定サービスデータフローの経路調整に相当する。ただし、上記複数の経路の各経路における第２ネットワーク装置以外のネットワーク装置に転送情報を送信したため、経路を調整しても改めてその選択された経路の転送情報を送信する必要がなく、経路調整効率を大幅に向上させる。
【００２７】
以下、以下の実施例によって本開示に係る図１に示される方法を説明する。
【００２８】
図３に示すように、図３は本開示に係る実施例に適用される工業縦型ネットワーキング図である。図３に示される工業縦型ネットワーキングでは、ＳＤＮコントローラが予め定義されたサービスネットワーク範囲に基づいて生成したスケジューリング開始サービスオブジェクトは図３におけるノード３＿Ａであり、スケジューリング終了サービスオブジェクトはノード３＿Ｃであると仮定する。工業縦型ネットワーキングにおけるサービスネットワーク範囲は工業縦型ネットワーキング全体のネットワークトポロジー又は予め設定されたネットワークトポロジーに基づいて定義されてもよい。ここで、ネットワークトポロジーはノード情報（メーカー、バージョン及びインターフェース情報等）、リンク情報（ノード同士の接続関係を含む）、リンク割り当て可能な帯域幅及び動的リンク属性例えば遅延、パケットロスの率、リアルタイム帯域の幅等を含む。
【００２９】
ＳＤＮコントローラがノード３＿Ａとノード３＿Ｃとの間に双方向トンネルを確立する。双方向トンネルはトンネル送信元アドレスがノード３＿Ａのループバック（Ｌｏｏｐ  Ｂａｃｋ）ポートアドレスであり、トンネル宛先アドレスがノード３＿ＣのＬｏｏｐＢａｃｋポートアドレスである。本実施例はノード３＿Ａとノード３＿Ｃとの間に確立された双方向トンネルがＧＲＥ（Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ）トンネルである場合を例として、ＧＲＥトンネルはトンネル送信元アドレスがノード３＿ＡのＬｏｏｐＢａｃｋポートアドレス１．１．１．１であり、トンネル宛先アドレスがノード３＿ＣのＬｏｏｐＢａｃｋポートアドレス１．１．１．３である。ただし、ノード３＿Ａとノード３＿Ｃとの間にＧＲＥトンネルが確立された場合、このステップは省略してもよい。
【００３０】
一実施例として、ノード３＿Ａからノード３＿Ｃまでのすべてのサービスがいずれも優先的にＧＲＥトンネルを介して転送されることを確保するために、ノード３＿Ａとノード３＿Ｃとの間にＧＲＥトンネルを確立した後、ノード３＿Ｃがローカルプライベートネットワークルーティングをボーダーゲートウェイプロトコル（ＢＧＰ、Ｂｏｒｄｅ  ｒＧａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）でＧＲＥトンネルにリリースすることによって、ノード３＿Ａからノード３＿Ｃまでのすべてのサービスがいずれも優先的にＧＲＥトンネルを介して転送されることを実現する。
【００３１】
ＳＤＮコントローラはノード３＿Ａからノード３＿Ｃまでの経路が計画されていないと検査する場合、ノード３＿Ａからノード３＿Ｃに送信する経路を確定する。経路がなるべく重複しなく、経路コスト（ｃｏｓｔ）が最も低くて数がデフォルト経路の最大数Ｍより小さいスケジューリング経路を確定する。一実施例として、ここで、Ｍの値が５である。
【００３２】
図３に示されるネットワーキングに基づき、ＳＤＮコントローラはノード３＿Ａからノード３＿Ｃに送信する経路を以下に確定すると仮定する。
経路１：ノード３＿Ａ−＞ノード３＿Ｃ、ｃｏｓｔが１であり、ホップ数が１である。
経路２：ノード３＿Ａ−＞ノード３＿Ｂ−＞ノード３＿Ｄ−＞ノード３＿Ｃ、ｃｏｓｔが３であり、ホップ数が３である。
経路３：ノード３＿Ａ−＞ノード３＿Ｅ−＞ノード３＿Ｆ−＞ノード３＿Ｂ−＞ノード３＿Ｄ−＞ノード３＿Ｃ、ｃｏｓｔが５であり、ホップ数が５である。
【００３３】
ＳＤＮコントローラはノード３＿Ａからノード３＿Ｃに送信する経路を確定した後、各経路に対して、ノード３＿Ａからノード３＿Ｃまでの各サービスを該経路のＤＳＣＰに適用すると確定する。
【００３４】
ノード３＿Ａからノード３＿Ｃまでのサービス数が５である（デフォルトサービスの最大数Ｓより小さい）場合、該５つのサービス及び上記確定されたノード３＿Ａからノード３＿Ｃに送信する経路のＤＳＣＰ計画は表１に示される。
【表１】
0006920533.tif 000002
【００３５】
例を挙げて表１の数字を説明する。数字「１」を例として、表１では、数字「１」はＤＳＣＰリソースにおける数値であり、サービス１の識別子を示す。更に数字「２」を例として、表１では、数字「２」はＤＳＣＰリソースにおける数値であり、サービス１及び経路１に対応しているように具体的にサービス１が経路１に適用される経路識別子である。表１における他の数字の意味は同様であり、ここで詳細な説明は省略する。
【００３６】
表１に示されるサービス１を例として、他のサービスは同様である。ＳＤＮコントローラは各経路に対して該経路におけるノード３＿Ｃ以外のノードに転送情報を送信する。
【００３７】
経路１を例として、以上に説明される経路１がノード３＿Ａ−＞ノード３＿Ｃである場合、ＳＤＮコントローラがノード３＿Ａに経路１の転送情報を送信する。ノード３＿Ａは経路１の最初のホップノードである。一実施例として、ＳＤＮコントローラがノード３＿Ａに送信した転送情報は、グローバルポリシーベースルーティング（ＰＢＲ、Ｐｏｌｉｃｙ−Ｂａｓｅｄ  Ｒｏｕｔｉｎｇ）が挙げられ、具体的に、上記ＧＲＥトンネルの送信元アドレス、宛先アドレス、対応サービス１の経路１の識別子（つまり、ＤＳＣＰが２である）、ネクストホップ（ノード３＿Ｃ）を含む。
【００３８】
更に経路２を例として、以上に説明される経路２がノード３＿Ａ−＞ノード３＿Ｂ−＞ノード３＿Ｄ−＞ノード３＿Ｃである場合、ＳＤＮコントローラがノード３＿Ａ、ノード３＿Ｂ、ノード３＿Ｄに経路２の転送情報を送信する。ノード３＿Ａは経路２における最初のホップノードである。一実施例として、ＳＤＮコントローラがノード３＿Ａに送信した転送情報はグローバルＰＢＲが挙げられ、具体的に、上記ＧＲＥトンネルの送信元アドレス、宛先アドレス、対応サービス１の経路２の識別子（つまり、ＤＳＣＰが３である）、ネクストホップ（ノード３＿Ｂ）を含む。ノード３＿Ｂは経路２における最初のホップノード以外のホップノードである。一実施例として、ＳＤＮコントローラがノード３＿Ｂに送信した転送情報は入力インターフェースに基づくＰＢＲであってもよい。具体的に、上記ＧＲＥトンネルの送信元アドレス、宛先アドレス、対応サービス１の経路２の識別子（つまり、ＤＳＣＰが３である）、ネクストホップ（ノード３＿Ｄ）を含む。ノード３＿Ｄも経路２における最初のホップノード以外のホップノードである。一実施例として、ＳＤＮコントローラがノード３＿Ｄに送信した転送情報は入力インターフェースに基づくＰＢＲであってもよい。具体的に、上記ＧＲＥトンネルの送信元アドレス、宛先アドレス、対応サービス１の経路２の識別子（つまり、ＤＳＣＰが３である）、ネクストホップ（ノード３＿Ｃ）を含む。経路が経路３である場合は同様であるので、詳細な説明を省略する。
【００３９】
ただし、ＳＤＮコントローラはノード３＿Ａとノード３＿Ｃとの間にスケジューリング経路が計画されたと検査する場合、上記スケジューリング経路の確定、転送情報の送信ステップを省略してもよい。
【００４０】
また表１に示されるサービス１を例として、ＳＤＮコントローラは上記３つの経路即ち経路１、経路２、経路３から最適な経路を選択する。ここで、最適というのは経路品質、経路帯域幅、経路ｃｏｓｔ等の経路パラメータが最適であることを意味する。
【００４１】
ＳＤＮコントローラが経路１を最適なものとして選択する場合、ＳＤＮコントローラは通知メッセージ（メッセージａと記される）をノード３＿Ａに送信する。該メッセージａに載せられてサービス１で選択した経路１のＤＳＣＰ即ち２は、サービス１が経路１を利用可能なサービス経路として選択することを示すたものものである。
【００４２】
ノード３＿ＡはＳＤＮコントローラから送信されたメッセージａを受信して、メッセージａに載せられているＤＳＣＰ即ち２を保存する。
【００４３】
ノード３＿Ａはそれから続いてサービス１のデータフローを受信し、その受信されたデータフローがサービス１のデータフローであると識別する場合、データフローにＧＲＥトンネルヘッドをカプセル化し、ＧＲＥトンネルヘッドはトンネル送信元アドレスフィールドが上記ＧＲＥトンネルの送信元アドレスであり、トンネル宛先アドレスフィールドが上記ＧＲＥトンネルの宛先アドレスである。ＧＲＥトンネルヘッドにおけるＤＳＣＰフィールドは上記メッセージａに載せられているＤＳＣＰ即ち２である。一実施例として、ノード３＿Ａは受信されたデータフローがサービス１のデータフローであると識別することは、具体的に、データフローの元の特徴、例えばサービスに対応するポート番号等を識別し、予め定義されたデータフローの元の特徴とサービスとの対応関係から該識別された元の特徴を含む対応関係を検索し、該検索された対応関係におけるサービス識別子がサービス１の識別子である場合、受信されたデータフローがサービス１のデータフローであると確定する。
【００４４】
ノード３＿ＡはＧＲＥトンネルヘッドをカプセル化したデータフローを、ＤＳＣＰが２である際に対応する経路即ち経路１を介して転送する。
【００４５】
ノード３＿Ｃはデータフローを受信し、データフローのＧＲＥトンネルヘッドにおけるトンネル送信元アドレス及び宛先アドレスに基づいてデータフローに対してＧＲＥトンネルヘッドのディカプセルおよび転送を行う。
【００４６】
実際の応用では、経路１はサービス１の利用可能なサービス経路として選択される際に最適なものであっても、経路１によるデータフローの伝送量の増加に伴って、経路１のリンク品質が変化している。これに基づき、本開示では、ＳＤＮコントローラは経路１のリンク品質をリアルタイムに監視し、経路１のリンク品質が低くて経路調整条件を満たし、ここで、経路調整条件が以上のようであると検出すると、現在の各スケジューリング経路即ち経路１、経路２、経路３のリンク品質に基づいて最適な経路を再選択する。
【００４７】
ＳＤＮコントローラが経路２を最適なものとして選択する場合、ＳＤＮコントローラは通知メッセージ（メッセージｂと記される）をノード３＿Ａに送信する。該メッセージｂに載せられてサービス１で選択した経路２のＤＳＣＰ即ち３は、この前にサービス１で選択した経路１を経路２に更新することを示すためのものである。ＳＤＮコントローラがサービス１に適用されるすべての経路の転送情報を予め送信することを前提とすると、この時に経路調整を行っても、ＳＤＮコントローラはサービス１のために選択した経路１を経路２に更新することをノード３＿Ａに通知すればよいので、経路２の転送情報を送信しなくて経路調整効率を大幅に向上させる。
【００４８】
ノード３＿ＡはＳＤＮコントローラから送信されたメッセージｂを受信して、メッセージｂに載せられているＤＳＣＰ即ち３を保存する。
【００４９】
ノード３＿Ａはそれから続いてサービス１のデータフローを受信したとき、その受信されたデータフローがサービス１のデータフローであると識別する場合、データフローにＧＲＥトンネルヘッドをカプセル化し、ＧＲＥトンネルヘッドはトンネル送信元アドレスフィールドが上記ＧＲＥトンネルの送信元アドレスであり、トンネル宛先アドレスフィールドが上記ＧＲＥトンネルの宛先アドレスである。ＧＲＥトンネルヘッドにおけるＤＳＣＰフィールドは上記メッセージｂに載せられているＤＳＣＰ即ち３である。
【００５０】
ノード３＿ＡはＧＲＥトンネルヘッドをカプセル化したデータフローを、ＤＳＣＰが３である際に対応する経路即ち経路２を介して転送する。
【００５１】
ノード３＿Ｂはデータフローを受信して、データフローのＧＲＥトンネルヘッドにおけるＤＳＣＰフィールドを識別する。該ＤＳＣＰが３であると識別し、この前に受信されたすべての転送情報からＤＳＣＰが３であると含む転送情報を検索し、該検索された転送情報におけるネクストホップによって転送する。
【００５２】
ノード３＿Ｄはノード３＿Ｂと同様であり、データフローを受信したとき、データフローのＧＲＥトンネルヘッドにおけるＤＳＣＰフィールドを識別する。ＤＳＣＰが３であると発見し、前に受信されてすべての転送情報からＤＳＣＰが３であるとの転送情報を検索し、その検索された転送情報におけるネクストホップによって転送を行う。
【００５３】
ノード３＿Ｃはデータフローを受信し、データフローのＧＲＥトンネルヘッドにおけるトンネル送信元アドレス及び宛先アドレスに基づいて、データフローに対してＧＲＥトンネルヘッドのカプセル解除および転送を行う。
【００５４】
ただし、本実施例では、ＳＤＮコントローラはサービス１に経路を選択した後、サービス１のトラフィックを収集しやすくするために、サービス１に選択した経路において収集の出力ポートを指定し、トラフィックの収集ポリシー（マッチングルールがＧＲＥトンネル送信元アドレス、ＧＲＥトンネル宛先アドレス、ＤＳＣＰである）をその指定された収集の出力ポートに送信し、指定された収集の出力ポートにおいてサービス１のトラフィックをトラフィックスケジューリングの根拠として収集する。一実施例として、指定された収集の出力ポートはサービス１に選択した経路においてノード３＿Ｃ以外で各ノード転送サービス１データフローの出力ポートであってもよい。
【００５５】
以上は本開示に係る実施例を説明した。
【００５６】
ただし、一実施例として、ＳＤＮコントローラは第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定した後、その確定された複数の経路を経路計画リストに記録してもよい。
【００５７】
ＳＤＮコントローラは経路最適化条件をリアルタイムに監視する。ここで、経路最適化条件は、具体的に実現するとき、ネットワークトポロジーの変化、例えばリンクの追加又はリンクの故障など、該変化に起因してその前に確定された指定サービスのデータフローを第１ネットワーク装置から第２ネットワーク装置に送信するための経路が変化することであってもよい。
【００５８】
ＳＤＮは経路最適化条件が満たされていると監視する場合、経路計画リストに記録された経路に対して経路最適化を行う。一実施例として、ここで、経路最適化は少なくとも経路計画リストに経路を追加すること、または経路計画リストから経路を削除することを含む。図４には具体的にどのように経路計画リストに対してスケジューリング経路の最適化を行うかを示す。
【００５９】
図４に示すように、図４は本開示に係るスケジューリング経路を最適化するフローチャートである。図４に示すように、該プロセスは以下のステップを含んでもよい。
【００６０】
ステップ４０１、ＳＤＮコントローラが経路計画リストから故障経路を削除する。
【００６１】
ステップ４０２、ＳＤＮコントローラが第１ネットワーク装置と第２ネットワーク装置との間の経路を計算して、計算された経路を予備経路リストに記録する。
【００６２】
一実施例として、ＳＤＮコントローラは計算した経路の数がＭ以下である場合、計算された各経路を予備スケジューリング経路として予備経路リストに記録し、計算された経路の数がＭより大きい場合、経路コストの昇順でその計算された経路を並び替え、得られるシーケンスから経路コストの低い方からＭ個の経路を予備スケジューリング経路として選択して予備経路リストに記録する。最終的に、予備経路リストに記録された経路数がＭ以下である。
【００６３】
ステップ４０３、ＳＤＮコントローラは予備経路リストから前記経路計画リストに記録された経路を削除する。前記経路計画リストに記録された経路を削除して予備経路リストが空にならない場合、予備経路リストにおける経路を利用して前記経路計画リストにおける経路に対して経路最適化を行う。
【００６４】
予備経路リストにおける経路を利用して経路計画リストにおける経路に対して経路最適化を行うかは、具体的に以下のとおりである。
【００６５】
ステップａ１、予備経路リストにおける経路数Ｋ及びＨを比較し、ＨがＭと経路計画リストにおける経路数Ｌとの差であり、ＫがＨ以下である場合、ステップａ２を実行し、ＫがＨより大きい場合、ステップａ３を実行する。
【００６６】
ステップａ２、予備経路リストにおけるすべての経路を前記経路計画リストに追加する。経路の最適化を終了する。
【００６７】
ステップａ３、経路コストの昇順で予備経路リストからＨ個の経路を抽出して経路計画リストに追加し、予備経路リストから上記Ｈ個の経路を削除し、Ｈ個の経路を削除した後の予備経路リストにおける第１指定経路で経路計画リストにおける第２指定経路を取り替え、第１指定経路の経路コストが第２指定経路の経路コストより小さい。
【００６８】
一実施例として、ここで、Ｈ個の経路を削除した後の予備経路リストにおける第１指定経路で経路計画リストにおける第２指定経路を取り替えることは、
予備経路リストにおける経路コストが最も低い経路と前記経路計画リストにおける経路コストが最も高い経路とを比較し、
前者の経路コストが後者の経路コストより大きい場合、経路の最適化を終了し、
前者の経路コストが後者の経路コストより小さい場合、前記経路計画リストにおける経路コストが最も高い経路を前記予備経路リストにおける経路コストが最も低い経路に取り替え、予備経路リストから前記経路コストが最も低い経路を削除し、上記経路コストの最も低い経路を削除して予備経路リストが空にならない場合、前記予備経路リストにおける経路コストが最も低い経路と前記経路計画リストにおける経路コストが最も高い経路とを比較するステップに戻ることを含む。
【００６９】
ここで、図４に示されるプロセスを完了する。
【００７０】
図４に示されるプロセスにおけるステップ４０１〜ステップ４０３によって、スケジューリング経路の最適化を完了する。
【００７１】
最終的に、経路計画リストに記録された経路は最適化の前に記録された経路と比べて、
経路計画リストにいくつかの最適化されたスケジューリング経路（第１種類のスケジューリング経路と記される）を追加し、
前に経路計画リストに記録されたスケジューリング経路が最適化して削除される（第２種類のスケジューリング経路と記される）ように変化した。
【００７２】
以上の２種類のスケジューリング経路に対して、本開示は更に対応する解決方法を提供し、具体的に以下のとおりである。
【００７３】
第１種類のスケジューリング経路に対しては、第１種類のスケジューリング経路における第２ネットワーク装置以外のネットワーク装置に転送情報を送信することによって、第１種類のスケジューリング経路がオンタイムで常に指定サービスを転送することを確保する。
【００７４】
第２種類のスケジューリング経路に対しては、第２種類のスケジューリング経路の転送情報を削除することを第２種類のスケジューリング経路における第２ネットワーク装置以外のネットワーク装置に通知することによって、各スケジューリングオブジェクトがオンタイムで余計な転送情報を削除する。一実施例として、本開示では、一般的に、先に第１種類のスケジューリング経路における第２ネットワーク装置以外のネットワーク装置に転送情報を送信してから、第２種類のスケジューリング経路における第２ネットワーク装置以外のネットワーク装置に第２種類のスケジューリング経路の転送情報を削除することを通知する。その目的はデータフロー伝送の中断を防止する。
【００７５】
ここで、本発明に係る方法の説明を完了する。
【００７６】
以下、本発明に係る装置を説明する。
【００７７】
図５に示すように、図５は本開示に係る装置の構造図である。該装置はＳＤＮコントローラに適用され、
第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定する経路確定モジュール５０１と、
前記複数の経路の各経路に経路識別子を割り当てて、前記複数の経路の各経路に対して、該経路における前記第２ネットワーク装置以外のネットワーク装置に転送情報を送信するものであって、前記各経路に割り当てられた経路識別子が該経路及び前記指定サービスに唯一に対応し、前記転送情報が該経路の経路識別子が載せられているデータフローを、該転送情報を受信するネットワーク装置が該経路におけるネクストホップに転送することを示すための転送情報設定モジュール５０２と、
プリセットされたルールに基づいて前記複数の経路から１つの経路を選択して、第１ネットワーク装置が前記指定サービスのデータフローに前記選択された経路の経路識別子を追加するように、前記選択された経路の経路識別子を前記第１ネットワーク装置に送信するための経路調整モジュール５０３と、を備える。
【００７８】
一実施例として、前記経路確定モジュール５０１が第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路を確定することは、
第１ネットワーク装置から第２ネットワーク装置までの経路を計算することと、
計算された経路の数がＭ以下である場合、計算されたすべての経路を、第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路として確定することと、
計算された経路の数がＭより大きい場合、経路コストの昇順でその計算された経路を並べ替え、得られるシーケンスから経路コストの低い方からＭ個の経路を選択して第１ネットワーク装置から指定サービスのデータフローを第２ネットワーク装置に送信するための複数の経路として確定することと、を含み、
前記Ｍが前記第１ネットワーク装置から第２ネットワーク装置までの最大経路数である。
【００７９】
一実施例として、前記経路調整モジュール５０３は前記選択された経路が経路調整条件を満たすと更に検出する場合、プリセットされたルールに基づいて前記複数の経路から１つの経路を再選択して前記第１ネットワーク装置に通知することによって、第１ネットワーク装置が前記指定サービスのデータフローに前記再選択された経路の経路識別子を追加し、
前記経路調整条件は、経路品質が前記指定サービスに対応する経路制約条件を満たしていないこと及び／又は経路に故障リンクがであることを含む。
【００８０】
一実施例として、前記経路確定モジュール５０１は更に前記複数の経路を経路計画リストに記録し、
前記経路調整モジュール５０３は経路最適化条件が満たされる場合、前記経路計画リストに記録された経路に対して経路最適化を行い、前記経路最適化が少なくとも経路計画リストに経路を追加すること、または経路計画リストから経路を削除することを含み、前記経路計画リストに追加した各経路に対して該経路における前記第２ネットワーク装置以外のネットワーク装置に転送情報を送信する。
【００８１】
前記経路調整モジュール５０３が経路計画リストに記録された経路に対して経路最適化を行うことは、
前記経路計画リストから故障経路を削除することと、
第１ネットワーク装置から第２ネットワーク装置までの経路を計算し、計算された経路を予備経路リストに記録し、予備経路リストから前記経路計画リストに記録された経路を削除することと、
前記経路計画リストに記録された経路を削除して予備経路リストが空にならない場合、予備経路リストにおける経路を利用して前記経路計画リストにおける経路に対して経路最適化を行うことと、を含む。
【００８２】
一実施例として、前記経路調整モジュール５０３が予備経路リストにおける経路を利用して経路計画リストにおける経路に対して経路最適化を行うことは、
前記予備経路リストにおける経路数ＫがＨ以下であり、前記ＨがＭと前記経路計画リストにおける経路数Ｌとの差である場合、前記予備経路リストにおけるすべての経路を前記経路計画リストに追加することと、
前記Ｋが前記Ｈより大きい場合、経路コストの昇順で前記予備経路リストからＨ個の経路を抽出して前記経路計画リストに追加し、前記予備経路リストから前記Ｈ個の経路を削除し、Ｈ個の経路を削除した後の予備経路リストにおける第１指定経路で経路計画リストにおける第２指定経路を取り替え、第１指定経路の経路コストが第２指定経路の経路コストより小さいことと、を含む。
【００８３】
ここで、本発明に係る装置の構造図を完了する。
【００８４】
それに対応して、本開示は更に図５に示される装置に対応するハードウェア構造図を提供する。図６に示すように、機械可読記憶媒体６０１、プロセッサ６０２を備えてもよく、機械可読記憶媒体６０１、プロセッサ６０２がシステムバス６０３によって通信してもよい。
【００８５】
機械可読記憶媒体６０１は上記経路確定モジュール５０１、転送情報設定モジュール５０２、経路調整モジュール５０３の実行する操作に対応する機械実行可能命令を記憶することに用いられ、
上記サービススケジューリング方法を実現するよう、プロセッサ６０２は機械実行可能命令をロードして実行することに用いられる。
【００８６】
一実施例として、機械可読記憶媒体６０１はいかなる電子、磁気、光学又は他の物理記憶装置であってもよく、情報例えば実行可能命令、データ等を包含又は記憶してもよい。例えば、機械可読記憶媒体はＲＡＭ（Ｒａｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ランダムアクセスメモリ）、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライブ（例えば、ハードディスクドライブ）、ソリッドステートドライブ、いかなるタイプのメモリディスク（例えば、光ディスク、ｄｖｄ等）、又は類似の記憶媒体、又はそれらの組み合わせであってもよい。
【００８７】
ここで、図６に示されるハードウェア構造の説明を完了する。
【００８８】
以上の説明は本発明の好適な実施例であって、本発明を制限するためのものではなく、本発明の趣旨及び原則内に行ったいかなる修正、等価置換、改良等は、いずれも本発明の保護範囲内に含まれるべきである。
【図１】
0006920533.tif 000003
【図２】
0006920533.tif 000004
【図３】
0006920533.tif 000005
【図４】
0006920533.tif 000006
【図５】
0006920533.tif 000007
【図６】
0006920533.tif 000008