(57)【特許請求の範囲】
【請求項１】
ネットワーク内のデータパケットの群の迅速なデータフローを促進する方法であって、前記ネットワークが複数のネットワークドメイン（１００、２００、３００）を備え、各々のネットワークドメインが、各々がスイッチとして役立つ第１の部類の複数のネットワーク要素（Ｓ１．１、Ｓ１．２、Ｓ１．３、Ｓ１．４、Ｓ１．５、Ｓ１．６、Ｓ２．１、Ｓ２．２、Ｓ２．３、Ｓ２．４、Ｓ２．５、Ｓ２．６、Ｓ３．１、Ｓ３．２、Ｓ３．３、Ｓ３．４、Ｓ３．５、Ｓ３．６）、および、各々がコントローラとして役立つ、第１の部類とは異なる第２の部類の少なくとも１つのネットワーク要素（１０、２０、３０）を備え、前記スイッチ（Ｓ１．１、Ｓ１．２、Ｓ１．３、Ｓ１．４、Ｓ１．５、Ｓ１．６、Ｓ２．１、Ｓ２．２、Ｓ２．３、Ｓ２．４、Ｓ２．５、Ｓ２．６、Ｓ３．１、Ｓ３．２、Ｓ３．３、Ｓ３．４、Ｓ３．５、Ｓ３．６）が、データパケットを受信し、それらのデータパケットを、コントローラから生じ転送スイッチに格納されたフロー情報データベース内のエントリを排他的に使用することにより決定されるそれぞれの隣接スイッチに転送するように構成され、前記コントローラ（１０、２０、３０）が、そのようなフロー情報データベースを生成し、そのフロー情報データベースを少なくとも１つのスイッチ（Ｓ１．１、Ｓ１．２、Ｓ１．３、Ｓ１．４、Ｓ１．５、Ｓ１．６、Ｓ２．１、Ｓ２．２、Ｓ２．３、Ｓ２．４、Ｓ２．５、Ｓ２．６、Ｓ３．１、Ｓ３．２、Ｓ３．３、Ｓ３．４、Ｓ３．５、Ｓ３．６）に転送するように構成される、方法において、
−  第１のネットワークドメイン（１００）内のスイッチ（Ｓ１．１）によりデータパケットの群の第１のデータパケットを受信するステップ（Ｓ１０）と、
−  第１のスイッチ（Ｓ１．１）により、第１のデータパケットから、データパケットがネットワークのどのネットワーク要素に向けて送出されることになるかを指定するアドレス情報を抽出するステップと、
−  アドレス情報に対してフロー情報データベース内のエントリが存在しないならば、スイッチから第１のネットワークドメイン（１００）の第１のコントローラ（１０）に第１のデータパケットを転送するステップ（Ｓ１６）と、
−  第１のコントローラにより、データパケットからアドレス情報を抽出するステップと、
−  第１のあらかじめ決定された判断基準によって、後の段階でデータパケットの群のさらなる転送に関与し得る、または関与することになる、第１のネットワークドメイン（１００）の外側の少なくとも第２のコントローラ（３０、４０）を決定するステップと、
−  第２のコントローラ（３０、４０）に、前記第１のネットワークドメイン（１００）以外の前記ネットワークドメイン内の前記スイッチの接続情報を参照せずに抽出された警告データを転送するステップ（Ｓ２８、Ｓ３０）であって、前記警告データが、アドレス情報またはそのアドレス情報から導出された情報を提供するデータであり、そのことにより第２のコントローラ（３０、４０）が、第２のネットワークドメイン（３００）への第１のデータパケットの到着の前に処理ステップを遂行することが可能になる、転送するステップ（Ｓ２８、Ｓ３０）と
を含む、方法。
【請求項２】
第１のコントローラ（１０）が、アドレス情報を使用することにより、データパケットの群により通過されることになる、第１のネットワークドメイン（１００）内の接続されるスイッチの経路（Ｓ１．１、Ｓ１．３、Ｓ１．５、Ｓ１．６；Ｓ１．１、Ｓ１．４、Ｓ１．５、Ｓ１．６）、および、データパケットが第１のネットワークドメイン（１００）内のスイッチ（Ｓ１．６）から向けて送出されることになる第２のネットワークドメイン（３００）内のスイッチ（Ｓ３．６）を決定する、請求項１に記載の方法。
【請求項３】
第１のコントローラ（１０）が、決定された経路を基にしてフロー情報データベース、またはそのフロー情報データベースの少なくともエントリを生成し、それを少なくとも、経路の一部であるスイッチ（Ｓ１．１、Ｓ１．３、Ｓ１．５、Ｓ１．６）のいくつかに送出し、第１のコントローラ（１０）がさらに、第１のデータパケットを第１のスイッチ（Ｓ１．１）に返送する、または経路のさらなるスイッチ（Ｓ１．２、Ｓ１．４、Ｓ１．５、Ｓ１．６）に送出する、請求項２に記載の方法。
【請求項４】
第１のコントローラ（１０）が、第２のコントローラ（３０）としての第２のネットワークドメイン（３００）のコントローラ（３０）に警告データを送出する、請求項２または３に記載の方法。
【請求項５】
第１のコントローラ（１０）が、マスターコントローラ（４０）に警告データを送出し、前記マスターコントローラ（４０）が、少なくとも１つの第２または第３のネットワークドメイン（２０、３０）であって、その少なくとも１つの第２または第３のネットワークドメイン（２０、３０）のスイッチにより、データパケットの群が、第２のあらかじめ決定された判断基準によって転送されることになる、少なくとも１つの第２または第３のネットワークドメイン（２０、３０）を決定し、前記マスターコントローラ（４０）が、受信された警告データ、またはその受信された警告データから導出された他の警告データを、第２のネットワークドメイン（３００）の、および／または第３のネットワークドメイン（２００）の第２のコントローラ（２０、３０）に送出する、請求項１から４のいずれかに記載の方法。
【請求項６】
第２のネットワークドメイン（３００）の、および／または第３のネットワークドメイン（２００）の前記第２のコントローラ（２０、３０）が、警告データを受信すると、警告データから、データパケットの群により通過されることになる、その第２のコントローラのドメイン内の接続されるスイッチの経路を決定し、決定された経路を基にして、フロー情報データベース内の少なくともエントリを生成し（Ｓ３６）、それを、経路の一部であるスイッチ（Ｓ３．６、Ｓ３．５、Ｓ３．４、Ｓ３．２）の少なくともいくつかに送出する（Ｓ３８）、請求項４または請求項５に記載の方法。
【請求項７】
第２のネットワークドメイン（３００）の前記第２のコントローラ（３０）または第３のネットワークドメイン（２００）の前記第２のコントローラ（２０）が、警告データを受信すると、少なくとも第２のスイッチに要求を転送し、前記要求が、警告データから抽出された、または警告データを基にして規定された特定のアドレス情報に関する、前記第２のスイッチ内に格納されたフロー情報データベース内のエントリの存在に関係するものであり、前記第２のスイッチが、第２のコントローラ（３０、２０）に、そのようなエントリが存在するか否かの情報を返送し、そのようなエントリが存在しない場合、第２のコントローラ（３０、２０）が、決定された経路を基にして、フロー情報データベース内の少なくともエントリを生成し（Ｓ３６）、それを、経路の一部であるスイッチ（Ｓ３．６、Ｓ３．５、Ｓ３．４、Ｓ３．２）の少なくともいくつかに送出する（Ｓ３８）、請求項４または請求項５に記載の方法。
【請求項８】
第１のスイッチにより抽出されたアドレス情報に対して、第１のスイッチが接続される隣接スイッチを指示する、フロー情報データベース内のエントリが存在するならば、第１のスイッチ（Ｓ１．１）が、その隣接スイッチ（Ｓ１．３）に、第１のデータパケット、および、データパケットの同じ群のすべてのデータパケットを転送する、請求項１から７のいずれかに記載の方法。
【請求項９】
第１のコントローラ（Ｓ．１．１）が、第１のデータパケットから補足データを抽出し、
ａ）前記補足データに応じて第１のネットワークドメイン（１００）の外側のコントローラ（３０、４０）を決定する、および／または、
ｂ）前記補足データに応じた経路を決定する、および／または、
ｃ）警告データを規定するときに前記補足データを使用する、
請求項１から８のいずれか一項に記載の方法。
【請求項１０】
複数のネットワークドメイン（１００、２００、３００）を備える通信ネットワークであって、各々のネットワークドメイン（１００、２００、３００）が、複数のスイッチ（Ｓ１．１、Ｓ１．２、Ｓ１．３、Ｓ１．４、Ｓ１．５、Ｓ１．６、Ｓ２．１、Ｓ２．２、Ｓ２．３、Ｓ２．４、Ｓ２．５、Ｓ２．６、Ｓ３．１、Ｓ３．２、Ｓ３．３、Ｓ３．４、Ｓ３．５、Ｓ３．６）、および、前記スイッチとは異なる少なくとも１つのコントローラ（１０、２０、３０）を備え、前記スイッチ（Ｓ１．１、Ｓ１．２、Ｓ１．３、Ｓ１．４、Ｓ１．５、Ｓ１．６、Ｓ２．１、Ｓ２．２、Ｓ２．３、Ｓ２．４、Ｓ２．５、Ｓ２．６、Ｓ３．１、Ｓ３．２、Ｓ３．３、Ｓ３．４、Ｓ３．５、Ｓ３．６）が、コントローラから生じるフロー情報データベースを排他的に使用することによりデータパケットを受信および転送するように構成され、前記コントローラ（１０、２０、３０）が、データパケットから少なくともアドレス情報を提供するデータを抽出するためにスイッチからデータパケットを受信し、抽出されたデータを使用することによりフロー情報データベース内のエントリを生成し、スイッチにこれらのエントリを送出するように構成され、
第１のネットワークドメイン（１００）内のコントローラの少なくとも１つ（１０）が、第１のネットワークドメイン（１００）の外側のコントローラ（３０、４０）に、前記第１のネットワークドメイン（１００）以外の前記ネットワークドメイン内の前記スイッチの接続情報を参照せずに抽出されたデータ、および／または、前記抽出されたデータを基にして提供されるデータを転送するように構成される、通信ネットワーク。
【請求項１１】
第１のドメイン（１００）内のコントローラ（１０）が、第２のネットワークドメイン（３００）内の第２のコントローラ（３０）に、抽出されたデータ、および／または、抽出されたデータを基にして提供されるデータを転送するように構成され、前記第２のコントローラ（３０）が、第１のコントローラ（１０）により転送されるデータを基にしてフロー情報データベース内のエントリを生成するように構成される、請求項１０に記載の通信ネットワーク。
【請求項１２】
マスターコントローラ（４０）を備え、第１のドメイン（１００）内のコントローラ（１０）が、第１のコントローラとして、マスターコントローラ（４０）に、抽出されたデータ、および／または、抽出されたデータを基にして提供されるデータを転送するように構成され、前記マスターコントローラ（４０）が、特定のあらかじめ決定された判断基準によって、第１のコントローラ（１０）から受信されたデータを基にして第１のドメイン（１００）とは異なるさらなるネットワークドメイン（３００）を決定し、さらなるネットワークドメイン（３００）内のコントローラ（３０）に、第１のコントローラから受信されたデータ、または、その第１のコントローラから受信されたデータから導出されたデータを転送するように構成される、請求項１０または請求項１１に記載の通信ネットワーク。
【請求項１３】
マスターコントローラ（４０）が、ネットワークドメインの一部であるコントローラである、請求項１２に記載の通信ネットワーク。
【請求項１４】
マスターコントローラ（４０）が、すべてのネットワークドメイン（１００、２００、３００）の外側に設けられる、請求項１２に記載の通信ネットワーク。
【請求項１５】
通信ネットワーク内のコントローラとして作動するようにプログラムされるデータ処理ユニット（１０）であって、前記通信ネットワークが複数のネットワークドメイン（１００、２００、３００）を備え、各々のネットワークドメイン（１００、２００、３００）が、複数のスイッチ（Ｓ１．１、Ｓ１．２、Ｓ１．３、Ｓ１．４、Ｓ１．５、Ｓ１．６、Ｓ２．１、Ｓ２．２、Ｓ２．３、Ｓ２．４、Ｓ２．５、Ｓ２．６、Ｓ３．１、Ｓ３．２、Ｓ３．３、Ｓ３．４、Ｓ３．５、Ｓ３．６）、および、前記スイッチとは異なる少なくとも１つのコントローラ（１０、２０、３０）を備え、ネットワーク内の前記コントローラが、データパケットから少なくともアドレス情報を抽出するためにスイッチからデータパケットを受信し、スイッチが受信されたデータパケットを向けて転送すべき隣接スイッチを決定することを可能にするフロー情報データベースを生成するように構成され、したがって前記複数のネットワークドメインの中の第１のネットワークドメイン（１００）のデータ処理ユニット（１０）が、前記第１のネットワークドメイン（１００）以外の前記ネットワークドメイン内の前記スイッチの接続情報を参照せずにスイッチから受信されたデータパケットから少なくともアドレス情報を抽出するようにプログラムされ、
データ処理ユニット（１０）が、コントローラとして作動するようにプログラムされておりデータ処理ユニット（１０）に結合される別の処理ユニット（３０、４０）に、データパケットから抽出されたデータ、および／または、そのような抽出されたデータを基にして提供されるデータを転送するようにさらにプログラムされる、データ処理ユニット（１０）。
【請求項１６】
通信ネットワーク内のコントローラとして作動するようにプログラムされるデータ処理ユニット（３０）であって、前記通信ネットワークが複数のネットワークドメイン（１００、２００、３００）を備え、各々のネットワークドメイン（１００、２００、３００）が、複数のスイッチ（Ｓ１．１、Ｓ１．２、Ｓ１．３、Ｓ１．４、Ｓ１．５、Ｓ１．６、Ｓ２．１、Ｓ２．２、Ｓ２．３、Ｓ２．４、Ｓ２．５、Ｓ２．６、Ｓ３．１、Ｓ３．２、Ｓ３．３、Ｓ３．４、Ｓ３．５、Ｓ３．６）、および、前記スイッチとは異なる少なくとも１つのコントローラ（１０、２０、３０）を備え、データ処理ユニット（３０）がフロー情報データベース内のエントリを生成するようにプログラムされ、データ処理ユニット（３０）が、コントローラとして作動するようにプログラムされておりデータ処理ユニット（１０）に結合される前記複数のネットワークドメイン中の第１のネットワークドメイン（１００）の別の処理ユニット（１０）から前記第１のネットワークドメイン（１００）以外の前記ネットワークドメイン内の前記スイッチの接続情報を参照せずに抽出されたデータを受信し、そのような受信されたデータを基にしてフロー情報データベース内のエントリを生成するようにさらにプログラムされる、データ処理ユニット（３０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、ネットワーク内のデータパケットの群の迅速なデータフローを促進する方法であって、前記ネットワークが複数のネットワークドメインを備え、その場合から、各々のネットワークドメインが、各々がスイッチとして役立つ第１の部類の複数のネットワーク要素、および、各々がコントローラとして役立つ第２の部類の少なくとも１つのネットワーク要素を備える、方法に関係する。
【０００２】
本発明は、複数のネットワークドメインを備える通信ネットワークであって、各々のネットワークドメインが複数のスイッチおよび少なくとも１つのコントローラを備える、通信ネットワークにもまた関係する。
【０００３】
さらに本発明は、通信ネットワーク内のコントローラとして作動するようにプログラムされる２つの種類のデータ処理ユニットに関係する。
【背景技術】
【０００４】
本発明は、ネットワークまたはネットワークにおける方法に関係したものであり、本発明の基本的な概念は、２つの部類に分けられ得るネットワーク要素としての処理ユニットを設け、第１の部類のネットワーク要素が、第２の部類のネットワーク要素の役割とは異なる、ネットワーク内のデータパケットのルーティングに関する役割を有することにある。第１の部類のネットワーク要素は、スイッチと呼ばれ得るものであり、データパケットをルーティングする、すなわち、それらのデータパケットを、通信回線を介してそれぞれのスイッチに直接接続されるスイッチである隣接するスイッチに転送するタスクを有し得る。しかしながらスイッチは、それら自体、データパケットがどの隣接スイッチに向けて送出されることになるかを規定しない。むしろそれらのスイッチは、例えば、データパケットの群内のデータパケットのヘッダ内に包含され得る複数のアドレスに対して、自身のヘッダ内にそれぞれのアドレスを有するデータパケットが向けて送出されることになる隣接スイッチに関する情報を提供するフローテーブルの形式での、フロー情報データベース（または転送情報データベース）を利用する。スイッチがこれらのフロー情報データベースを利用する状態で、第２の部類のネットワーク要素、コントローラは、情報データベース内に含まれる情報またはデータを提供することに責任を負う。
【０００５】
ネットワーク内でスイッチは、スイッチのネットワークを得るために隣接スイッチに接続される必要がある。各々のスイッチに対しては、それを用いてスイッチが接続される通信回線とは異なり得る通信回線を介してそのスイッチに接続されるコントローラが設けられ得る。さらに、異なるコントローラは、ネットワーク内の他の通信回線とは異なり得るさらなる通信回線を介して相互に接続され得る。例えば通信回線は、これらの通信回線を介して通信するときに必要とされる異なるプロトコルにより相互に異なる場合がある。
【０００６】
データパケットまたはデータパケットの群をルーティングするとき、ルーティングが十分に迅速に行われることを確実にする必要性が存在する場合がある。例えばデータパケットの群が、ネットワークを介して送出されることになる音声または映像のデータを表すならば、データのフローにおいての各々の遅延は回避されなければならない。したがって、少なくとも特に定めた種類のデータパケットが、データパケットの群が向けて送出されるアドレスに対応するエンドデバイスに、可能な限り迅速に、または少なくとも最低限の速度によって到着することを確実にする必要性が存在する。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】ＲＦＣ４６５５、ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／／ｒｆｃ４６５５、２０１１年１１月１４日
【非特許文献２】ＲＦＣ５４４０、ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／／ｒｆｃ５４４０、２０１１年１１月１４日
【非特許文献３】ＩＥＴＦインターネットドラフト、「Ｔｒａｆｆｉｃ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｄａｔａｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ  ａｎｄ  Ｓｕｐｐｏｒｔ  ｏｆ  ＧＭＰＬＳ」、ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｄｒａｆｔ−ｉｅｔｆ−ｃｃａｍｐ−ｇｍｐｌｓ−ｔｅｄ−ｍｉｂ−０１
【非特許文献４】ＲＦＣ４６２０５、ｈｔｔｐｓ：／／ｄａｔａｔｒｅｃｋｅｒ．ｉｅｔｆ．ｏｒｇ／ｄｏｃ／ｒｆｃ２２０５
【発明の概要】
【発明が解決しようとする課題】
【０００８】
したがって、上記で説明された特徴の少なくともいくつかを有する、ネットワーク内のデータパケットの群の迅速なデータフローを促進する方法を提供することが、本発明の目的である。そのような方法が利用または遂行されるネットワークを提供することが、本発明のさらなる目的である。さらなる目的は、データパケットの群の迅速なデータフローを可能にするために使用され得るデータ処理ユニットの形式でのネットワーク要素を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、本発明の第１の態様により、複数のネットワークドメインを備える（通信）ネットワーク内のデータパケットの群の迅速なデータフローを促進する方法により解決される。各々のネットワークドメインは、各々がスイッチとして役立つ第１の部類の複数のネットワーク要素、および、各々がコントローラとして役立つ、第２の部類の少なくとも１つのネットワーク要素を備え、前記スイッチは、データパケットを受信し、それらのデータパケットを、転送スイッチ（すなわち、受信するデータパケットを転送することになるスイッチ）に格納されたフロー情報データベース内のエントリを使用することにより決定される（それぞれのスイッチに接続される）それぞれの隣接スイッチに転送するように構成され、前記コントローラは、そのようなフロー情報データベースを生成し、そのフロー情報データベースを少なくとも１つのスイッチに転送するように構成される。方法は、第１のネットワークドメイン内のスイッチによりデータパケットの群の第１のデータパケットを受信するステップと、第１のスイッチにより、第１のデータパケット（すなわち、第１のデータパケットのヘッダ）から、データパケットがネットワークのどのネットワーク要素に向けて送出されなければならないかを指定する、（少なくとも）アドレス情報を抽出するステップと、そのアドレス情報に対してフロー情報データベース内のエントリが存在しないならば、第１のネットワークドメインの第１のコントローラに第１のデータパケットを転送するステップと、第１のコントローラにより、データパケット（すなわち、データパケットのヘッダ）から（少なくとも）アドレス情報を抽出するステップとを含む。方法は、第１の決定された判断基準によって、後の段階でデータパケットの群のさらなる転送に関与し得る、または関与することになる、第１のネットワークドメインの外側の少なくとも第２のコントローラを決定するステップと、第２のコントローラに警告データを転送するステップであって、前記警告データが、アドレス情報またはそのアドレス情報から導出された情報を提供するようなデータであり、そのことにより第２のコントローラが、第２のネットワークドメインへの第１のデータパケットの到着の前に処理ステップを遂行することが可能になる、転送するステップとをさらに含む。
【００１０】
本発明は、中でも、数個のネットワークドメインのネットワーク内のデータをルーティングする場合に、ドメイン間通信の概念を導入する。データパケットが現在転送およびルーティングされているドメインの外側のコントローラに警告することにより、これらの異なるコントローラは、この第２のネットワークドメインを、第１のネットワークドメイン内で現在転送されているデータパケットの将来のルーティングのために準備するような様式で、第１のデータパケットの到着の前に処理ステップを遂行することが可能であり、この準備は、少なくとも、第２のネットワークドメイン内のネットワーク要素が、警告データが送出されなかった場合より迅速にデータパケットの群をルーティングおよび転送することを可能にするような種類のものであり得る。したがって少なくとも所望されれば、データパケットのルーティングのためにかかる時間は少なくなる。
【００１１】
本方法の好ましい実施形態では第１のコントローラは、アドレス情報を使用することにより、データパケットの群により通過されることになる、第１のネットワークドメイン内の接続されるスイッチの経路を決定し、データパケットが第１のドメイン内のスイッチから向けて送出されることになる第２のネットワークドメイン内のスイッチもまた決定する。経路決定および警告データの転送するステップの両方を遂行する場合、第１のコントローラは非常に効率的にデータを計算することが可能である。
【００１２】
経路を決定することが可能であるために、第１のコントローラは、数値的なアドレスの形式でのアドレス情報に加えてさらに、ラベルまたは名前、送信元情報、すなわちデータパケットがどこから来るかからの情報を使用する場合があり、第１のコントローラは、帯域幅および他のサービス品質パラメータ、リソース、使用すべき、または回避すべき共有リスクリンクグループ、必要とされる素な経路の数および素に近い（ｎｅａｒ−ｄｉｓｊｏｉｎｔ）経路が容認可能であるかどうか、経路リソースの回復力、信頼性、およびロバスト性のレベル、ならびに、ポリシーに関係した情報をさらに使用する場合がある。
【００１３】
好ましくは第１のコントローラは、決定された経路を基にしてフローデータベース、またはそのフローデータベースの少なくともエントリを生成し、それを、経路の一部であるスイッチの少なくともいくつかに送出する。経路に沿った第１のデータパケットの転送を可能にするために、第１のコントローラはさらに、第１のデータパケットを第１のスイッチに返送する、または経路のさらなるスイッチに送出するものであり、この第１の、またはさらなるスイッチは、フロー情報データベースを受信したことにより、データパケットがどの隣接スイッチに向けて転送されることになるかを決定することが可能にされている。フローデータベースは、任意の種類の記憶手段内の任意のタイプのデータの集合であり得る。好ましくは、フローテーブルがフローデータベースとして使用される。
【００１４】
さらに好ましくは第１のコントローラは、第２のコントローラとしての第２のネットワークドメインのコントローラに警告データを送出する。この特定の実施形態では、まさにその第１のコントローラが、経路を決定する警告データを転送することが非常に効率的であることが判明しており、その理由は、第１のコントローラが、データパケットが第１のネットワークドメインから向けて送出されることになる第２のネットワークドメイン内のスイッチを決定し、第１のコントローラは、経路を介して警告データがどの第２のネットワークドメインに向けて送出されることになるか、すなわち、警告データがどの第２のコントローラに向けて送出されることになるかを知っているからというものである。
【００１５】
上述の実施形態に対する代替案として、またはその実施形態に加えて遂行されることになるさらなる実施形態では、第１のコントローラは、マスターコントローラに警告データを送出し、前記マスターコントローラは、少なくとも１つの第２または第３のネットワークドメインであって、その少なくとも１つの第２または第３のネットワークドメインのスイッチにより、データパケットの群が、第２のあらかじめ決定された判断基準によって転送されることになる、少なくとも１つの第２または第３のネットワークドメインを決定する。マスターコントローラは、受信された警告データ、またはその受信された警告データから導出された他の警告データを、第２のネットワークドメインの、および／または第３のネットワークドメインの第２のコントローラに送出する。第２のネットワークドメインは、第１のコントローラにより識別されるものと同一であり得る。第３のネットワークドメインは、第１のコントローラにより経路の一部であると決定される第２のネットワークドメインとは異なる場合がある。
【００１６】
本発明の好ましい実施形態では、警告データを受信するコントローラ（第２のネットワークドメインの、および／または第３のネットワークドメインの第２のコントローラ）は、警告データから、データパケットの群により通過されることになる、そのコントローラのドメイン内の接続されるスイッチの経路を決定し、決定された経路を基にして、フロー情報データベース、例えばフローテーブル内の少なくともエントリを生成し、それを、経路の一部であるスイッチの少なくともいくつかに送出する。換言すれば第２のコントローラは好ましくは、データパケットを転送するための（さらに場合によっては、警告情報の転送するステップの）第１のコントローラと同じステップを基本的に遂行する。しかしながら、第２のコントローラは、それ自体は、そのコントローラのネットワークドメインのスイッチの１つからデータパケットを受信していないという点での相違がある。むしろ第２のコントローラは、第２のコントローラがそのようなデータパケットから抽出し得た同じまたは同様の情報を提供する警告データを受信している。
【００１７】
経路を直ちに決定することに対する代替案では、第２のネットワークドメインの第２のコントローラまたは第３のネットワークドメインの第２のコントローラは、警告データを受信すると、少なくとも第２のスイッチに要求を転送し、前記要求は、警告データから抽出された、または警告データを基にして規定された特定のアドレス情報に関する、前記第２のスイッチ内に格納されたフロー情報データベース内のエントリの存在に関係するものであり、前記第２のスイッチは、第２のコントローラに、そのようなエントリが存在するか否かの情報を返送する。そのようなエントリが存在しない場合に限り、第２のコントローラは、決定された経路を基にして、フロー情報データベース内の（少なくとも）エントリを生成しなければならず、それを、経路の一部であるスイッチの少なくともいくつかに送出する。
【００１８】
この代替案では第２のコントローラは、経路を決定することを決して無駄にではなく、このことが実際に必要とされる場合にのみ行う。このことが時には、第２のコントローラの計算時間に関してより効率的である場合がある。他方で、フロー情報データベース内のエントリが特定のアドレスに関して存在するか否かに関して知ることなく経路を直ちに決定する代替案が、より時間がかからない場合がある。
【００１９】
本発明の好ましい実施形態では、第１のスイッチにより抽出されたアドレス情報に対して、第１のスイッチが接続される隣接スイッチを指示する、（フローテーブルなどの）フロー情報データベース内のエントリが存在するならば、第１のスイッチは、その隣接スイッチに、第１のデータパケット、および／または、データパケットの同じ群のデータパケットを転送する。この場合、転送するステップは（第１のデータパケットは、第１のコントローラには送出されないことになるので）行われない。
【００２０】
本方法の好ましい実施形態では第１のコントローラは、帯域幅および他のサービス品質パラメータ、リソース、使用すべき、または回避すべき共有リスクリンクグループ、必要とされる素な経路の数および素に近い経路が容認可能であるかどうか、経路リソースの回復力、信頼性、およびロバスト性のレベル、ならびに、ポリシーに関係した情報など、第１のデータパケットから（アドレスデータに加えてさらに）補足データを抽出する。この補足データは、ａ）（警告データが向けて転送されることになる）第１のネットワークドメインの外側のコントローラを決定するとき、ｂ）経路を決定するとき、および／または、ｃ）警告データを規定するときに使用され得る。
【００２１】
ネットワーク内のデータパケットの群の迅速なデータフローを促進する提示される方法は、通信ネットワーク内のデータパケットの群を、１つのスイッチからそのスイッチに接続される隣接スイッチにそのようなデータパケットを転送する任意のステップが遂行されるとすぐにルーティングする方法となる。したがって、本発明の好ましい実施形態のいくつかは、例えば電気通信ネットワークまたはインターネットなどのネットワーク内のデータパケットのルーティングのそのような方法に関係するものである。
【００２２】
本発明の第２の態様によれば、複数のネットワークドメインを備えるネットワークが提供され、各々のネットワークドメインが複数のスイッチおよび少なくとも１つのコントローラを備え、前記スイッチは、フロー情報データベースを使用することによりデータパケットを受信および転送するように構成され、前記コントローラは、データパケットから少なくともアドレス情報を提供するデータを抽出するためにスイッチからデータパケットを受信し、さらに、抽出されたデータを使用することにより情報データベース内のエントリを生成し、スイッチにこれらのエントリを送出するように構成される。さらに、第１のネットワークドメイン内のコントローラの少なくとも１つは、第１のネットワークドメインの外側のコントローラに、抽出されたデータ、および／または、抽出されたデータを基にして提供されるデータを転送するように構成される。
【００２３】
ここでも本発明は、通信ネットワークに関係する場合に、ネットワーク内のルーティング速度を高める目的でドメイン間通信の概念を導入する。用語「構成された」は、特定のステップを遂行するような特定の様式でプログラムされる、スイッチまたはコントローラとして作動するデータ処理ユニットに関係することとして解釈され得る。複数のステップに名前が付けられている場合、そのことを、コンピュータプログラムが異なるソフトウェアモジュールを有し、各々のソフトウェアモジュールがステップの各々のものの遂行に責任を負うというような様式で解釈することが可能である。
【００２４】
例えば、データパケットを受信し、データを抽出し、さらに、フロー情報データベース内のエントリを生成し、スイッチにこれらのエントリを送出するように構成されたコントローラは、スイッチから来る要求を受信するように構成され、これらの要求の処理を遂行するように構成された要求処理エンティティと、ネットワークグラフおよび適用制約に基づいて、要求処理エンティティからの要求によってネットワーク経路を計算するように構成された経路計算エンティティと、要求処理エンティティからの要求によって、計算されたネットワーク経路のスイッチの転送／フロー情報データベース内の転送またはフローエントリを確立するように構成されたフロー制御エンティティとを備えると解釈され得る。経路計算エンティティは、計算されたネットワーク経路および他のリソースとともに更新されるグラフィックエンジニアリングデータベースにさらにリンクされ得る。
【００２５】
第１のネットワークドメイン内のコントローラの１つが、抽出されたデータ、および／または、抽出されたデータを基にして提供されるデータを転送するように構成されるならば、これは、コントローラに関して言えば、抽出されたデータを向けて送出すべき第１のネットワークドメインの外側の第２のコントローラを決定することに、および、その第２のコントローラへのこれらの抽出されたデータの送出を起こすことに責任を負うソフトウェアモジュールを備えるような様式でプログラムされるデータ処理ユニットと解釈され得る。ソフトウェアモジュールは、抽出されたデータを基にして、第２のコントローラによる使用のためのデータを生成するモジュールもまた備え得る。
【００２６】
上記で述べられたソフトウェアモジュールに対する代替案として、専用ハードウェア構成要素もうまく働き得る。
【００２７】
コントローラおよび／またはスイッチは、「プロセッサ」の形式での個々のデータ処理ユニットであり得る。これらの機能は、単一の専用プロセッサにより、単一の共有プロセッサにより、または、中のいくつかが共有され得る複数の個々のプロセッサにより提供され得る。さらに、用語「プロセッサ」または「コントローラ」を明示的に使用することは、ソフトウェアを実行することが可能なハードウェアを排他的に指すと解釈されるべきではなく、限定はしないが、デジタル信号プロセッサ、ハードウェア、ネットワークプロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、ソフトウェアを記憶するための読み出し専用メモリ、ランダムアクセスメモリ、および不揮発性記憶装置を暗黙に含み得る。従来型および／またはカスタムの、他のハードウェアもまた含まれ得る。
【００２８】
通信ネットワークの好ましい実施形態では、第１のドメイン内のコントローラは、第２のドメイン内の第２のコントローラに、抽出されたデータ、および／または、抽出されたデータを基にして提供されるデータを転送するように構成され、前記第２のコントローラは、第１のコントローラにより転送されるデータを基にしてフロー情報データベース内の少なくともエントリを生成するように構成される。その態様では通信ネットワークは、ネットワーク内のデータパケットまたはデータパケットの群のより迅速なルーティングを提供することに役立つものであり、その理由は、第２のコントローラは、データパケット自体を受信する必要がなく、むしろ、データパケットの受信の代わりに、第１のネットワークドメイン内のコントローラからデータのみを受信するからというものである。フロー情報データベース内のエントリの生成は、第２のネットワークドメインへのデータパケットの群の第１のデータパケットの到着の前の処理ステップとなる、またはそのような処理ステップとなり得る。
【００２９】
好ましくは、通信ネットワークはマスターコントローラを備え、第１のドメイン内のコントローラは、第１のコントローラとして、マスターコントローラに、抽出されたデータ、および／または、抽出されたデータを基にして提供されるデータを転送するように構成され、前記マスターコントローラは、特定のあらかじめ決定された判断基準によって、第１のコントローラから受信されたデータを基にして第１のドメインとは異なるさらなるネットワークドメインを決定し、さらなるネットワークドメイン内のコントローラに、第１のコントローラから受信されたデータ、または、その第１のコントローラから受信されたデータから導出されたデータを転送するように構成される。その好ましい実施形態では、通信ネットワーク内で提供されるマスターコントローラの概念が導入される。マスターコントローラはそれ自体が、データパケットにより通過されることになる経路を決定もしくは計算することが可能であり、または、マスターコントローラからのコマンドによって、データパケットのルーティングに関与し得る、もしくは少なくとも関与することになる、さらなるネットワークドメインを他の方法で決定することが可能である。
【００３０】
マスターコントローラは、ネットワークドメインに責任を負うコントローラの１つであり得る。この場合では、１つのネットワークドメインが、そのコントローラに関して、他のネットワークドメインより高い責任を有する。マスターコントローラを伴うネットワークドメインは、ともかくも「マスターネットワークドメイン」となり得る。そのような階層構造は、いくつかの場合では好都合であり得る。そのようなことに対する代替案として、マスターコントローラは、分離してすべてのネットワークドメインの外側に設けられ得る。この場合では、すべてのネットワークドメインの平等性が、分離したマスターコントローラを設けなければならないことを代償として確かなものにされ得る。しかしながらそのような分離したマスターコントローラが、そのマスターコントローラが適したデータ処理ユニットの形式で遂行しなければならない特定のタスクにとっては目的にかなったものである場合がある。
【００３１】
本発明のさらなる第３の態様では、通信ネットワーク内のコントローラとして作動するようにプログラムされるデータ処理ユニットが提供され、前記通信ネットワークが複数のネットワークドメインを備え、各々のネットワークドメインが複数のスイッチおよび少なくとも１つのコントローラを備え、ネットワーク内の前記コントローラは、データパケットから少なくともアドレス情報を抽出するためにスイッチからデータパケットを受信し、スイッチが受信されたデータパケットを向けて転送すべき隣接スイッチを決定することを可能にするフロー情報データベース内のエントリを生成するように構成される。そのようなコントローラとして作動するとき、データ処理ユニットは必ず、スイッチから受信されたデータパケットから少なくともアドレス情報を抽出するようにプログラムされる。さらにデータ処理ユニットは、コントローラとして作動するようにプログラムされておりデータ処理ユニットに結合される別の処理ユニットに、データパケットから抽出されたデータ、および／または、そのような抽出されたデータを基にして提供されるデータを転送するようにさらにプログラムされる。
【００３２】
データ処理ユニットは、通信ネットワークを説明するときに上記で述べられた特定のソフトウェアモジュールを使用してプログラムされ得る。本発明の現在考慮中の第３の態様では、個々のコントローラが、ネットワーク内のデータパケットの群のルーティングの速度を高めることに寄与し得ることは明らかである。
【００３３】
本発明の第４のさらなる態様では、通信ネットワーク内のコントローラとして作動するようにプログラムされるデータ処理ユニットが提供され、前記通信ネットワークが複数のネットワークドメインを備え、各々のネットワークドメインが複数のスイッチおよび少なくとも１つのコントローラを備え、データ処理ユニットがフロー情報データベース内のエントリを生成するようにプログラムされる。データ処理ユニットは、コントローラとして作動するようにプログラムされておりデータ処理ユニットに結合される別の処理ユニットからデータを受信し、そのような受信されたデータを基にしてフロー情報データベース内のエントリを生成するようにさらにプログラムされる。
【００３４】
本発明の第４の態様によるデータ処理ユニットは、明示的に名前が付けられた特徴に加えてさらに、そのデータ処理ユニットが、これらのデータパケットから少なくともアドレス情報を抽出するためにスイッチからデータパケットを受信し、スイッチがそのような抽出された少なくともアドレス情報を基にして、受信されたデータパケットを向けて転送すべき隣接スイッチを決定することを可能にする、フロー情報データベース内のエントリを生成するようにプログラムされるという特徴を含み得る。
【００３５】
本発明の第４の態様によるデータ処理ユニットは、通信ネットワーク内のデータパケットの群のルーティングの速度を高めるためにネットワーク内で使用され得る。このことが特に少なくとも真となるのは、同時に本発明の第３の態様によるデータ処理ユニットがネットワーク内に設けられ、本発明の第３の態様によるそのようなデータ処理ユニットが、本発明の第４の態様による処理ユニットに、データパケットから抽出されたデータ、および／または、そのような抽出されたデータを基にして提供されるデータを転送し、そのことにより、本発明の第４の態様による処理ユニットが、本発明の第３の態様によるデータ処理ユニットから受信されたデータを基にしてフロー情報データベース内のエントリを生成することが可能になる場合である。
【００３６】
経路計算を使用してフロー情報データベースを決定することに関して言えば、データ処理ユニットは、好ましくはＲＦＣ４６５５において規定されるような経路計算エンティティを備え得るものであり、ＲＦＣ４６５５に関しては、少なくとも２０１１年１１月１４日にインターネットを介して利用可能であるｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／／ｒｆｃ４６５５を参照されたい。データ処理ユニットは、ＲＦＣ５４４０において規定されるような経路計算プロトコルによって経路計算要素と通信するように構成された要求処理エンティティを備え得るものであり、ＲＦＣ５４４０に関しては、やはりインターネットを介して少なくとも２０１１年１１月１４日に利用可能であるｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／／ｒｆｃ５４４０を参照されたい。経路計算要素は、中央に集中されて更新される現時点のリソースおよびトラフィック情報を格納する中央トラフィックエンジニアリングデータベースにリンクされ得るものであり、ネットワーク要素内に、すなわちデータ処理ユニット内に局所的なトラフィックエンジニアリングデータベースを有する必要性はない。トラフィックエンジニアリングデータベースの動作は、上記で述べられたようなＲＦＣ４６５５において、および、「Ｔｒａｆｆｉｃ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｄａｔａｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ  ａｎｄ  Ｓｕｐｐｏｒｔ  ｏｆ  ＧＭＰＬＳ」という名称のＩＥＴＦインターネットドラフトにおいてより詳細に解説されており、そのＩＥＴＦインターネットドラフトに関しては、ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｄｒａｆｔ−ｉｅｔｆ−ｃｃａｍｐ−ｇｍｐｌｓ−ｔｅｄ−ｍｉｂ−０１を参照されたい。
【００３７】
要求処理エンティティは、リソース予約プロトコルインスタンスを備えるものであり、それぞれのプロトコルは、ＲＦＣ４６２０５において規定されており、ｈｔｔｐｓ：／／ｄａｔａｔｒｅｃｋｅｒ．ｉｅｔｆ．ｏｒｇ／ｄｏｃ／ｒｆｃ２２０５を参照されたい。
【００３８】
トラフィックエンジニアリングデータベースは、汎用マルチプロトコルラベルスイッチング（ＧＭＰＬＳ）インスタンスを備え得る。その方途では横断型技術（ｃｒｏｓｓ−ｔｅｃｈｎｏｌｏｇｙ）ルータは、それらのルータの内側にＧＭＰＬＳ機能を有する必要がない。
【００３９】
好ましい実施形態によれば、データ処理ユニット内の要求処理エンティティは、ネットワーク要素からの経路制御計算要素プロトコルメッセージおよび／またはＯｐｅｎＦｌｏｗプロトコルメッセージを、受信および解釈するようにさらに構成される。その方途では、ＯｐｅｎＦｌｏｗクライアントに関しての、経路計算要素クライアントを有する既存のネットワーク要素との後方互換性が保証される。
【００４０】
付随する図面が、本発明の現在好ましい非限定的な例示的な実施形態を例示するために使用される。付随する図面とともに読むことで、以下の詳細な説明から、本発明の上記および他の、利点、特徴、および目的が明白となり、本発明がより良く理解されることになる。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施形態によって提供され、本発明の好ましい実施形態による方法の遂行を可能にする通信ネットワークの概略図である。
【図２】２つの代替案での本発明の実施形態による方法の個々のステップを例示するフロー図である。
【発明を実施するための形態】
【００４２】
通信ネットワークは、個々のホストＨ１、Ｈ２、Ｈ３、Ｈ４、Ｈ５、Ｈ６の間の通信に役立つものである。ネットワークは、個々のネットワークドメイン１００、２００、３００を備える。各々のネットワークドメインは、複数のスイッチおよび１つの（ローカル）コントローラを備える。
【００４３】
第１のネットワークドメイン１００は、スイッチＳ１．１、Ｓ１．２、Ｓ１．３、Ｓ１．４、Ｓ１．５、およびＳ１．６を備え、これらのスイッチは、これらの各々の少なくとも１つの隣接スイッチに接続される。すべてのスイッチＳ１．１、Ｓ１．２、Ｓ１．３、Ｓ１．４、Ｓ１．５、およびＳ１．６に接続されるのが、ローカルコントローラ１０である（接続回線は示されない）。スイッチＳ１．１およびＳ１．２は、それぞれホストＨ１およびＨ２に結合される。スイッチＳ１．６は、このスイッチは他のネットワークドメイン２００および３００に接続されるので、特に重要なものである。
【００４４】
ネットワークドメイン２００は、スイッチＳ２．１、Ｓ２．２、Ｓ２．３、Ｓ２．４、Ｓ２．５、およびＳ２．６を備え、これらのスイッチは、これらの各々の少なくとも１つの隣接スイッチに接続される。すべてのスイッチＳ２．１、Ｓ２．２、Ｓ２．３、Ｓ２．４、Ｓ２．５、およびＳ２．６に接続されるのが、ローカルコントローラ２０である（接続回線は示されない）。スイッチＳ２．１およびＳ２．２は、それぞれホストＨ３およびＨ４に結合される。特に重要なものが、通信回線１−２を介して第１のネットワークドメイン１００のスイッチＳ１．６に、およびネットワークドメイン３００に接続されるスイッチＳ２．６である。
【００４５】
ネットワークドメイン３００は、スイッチＳ３．１、Ｓ３．２、Ｓ３．３、Ｓ３．４、Ｓ３．５、およびＳ３．６を備え、これらのスイッチは、これらの各々の少なくとも１つの隣接スイッチに接続される。すべてのスイッチＳ３．１、Ｓ３．２、Ｓ３．３、Ｓ３．４、Ｓ３．５、およびＳ３．６に接続されるのが、ローカルコントローラ３０である（接続回線は示されない）。スイッチＳ３．１およびＳ３．２は、それぞれホストＨ５およびＨ６に結合される。特に重要なものが、それぞれ通信回線１−３および２−３を介して、第１のネットワークドメイン１００のスイッチＳ１．６およびネットワークドメイン２００のスイッチＳ２．６の両方に接続されるスイッチＳ３．６である。
【００４６】
各々のネットワークドメイン１００、２００、３００が、そのローカルコントローラ１０、２０、３０を有する状態で、これらのローカルコントローラのすべては、図には示されない特定の通信回線を介して結合され、さらに、「マスターコントローラ」と呼ばれ得るものであり、図１には示されない通信回線を介してローカルコントローラ１０、２０、３０のすべてにさらに結合される、さらなるコントローラ４０が存在する。
【００４７】
以下では、本発明の好ましい実施形態による方法が図２に関して考察される。
【００４８】
現在考慮中の場合では、ホストＨ１がホストＨ６にデータパケットの群を送出する状況を考察する。
【００４９】
ホストＨ１に結合される第１のスイッチが、スイッチＳ１．１であり、ステップＳ１０において、ホストＨ１からデータパケット（少なくとも第１のデータパケット）を受信する（図２ではより一般的にするために、受信するスイッチは「スイッチＡ」と呼ばれる。現在考慮中の例では、「スイッチＡ」は「Ｓ１．１」により置き換えられ得る）。
【００５０】
スイッチＳ１．１は、今度はステップＳ１２において、データパケットが、典型的にはそのデータパケットのヘッダ内に、知られているアドレスを含むかどうかをチェックする。知られているアドレスとは、スイッチＳ１．１内に格納されるフローテーブル内のエントリがそれに対して存在するアドレスのことである。
【００５１】
その答えは、過去において数個のデータパケットがホストＨ１からホストＨ６にルーティングされた場合があり、アドレスがスイッチＳ３．２を伴うホストＨ６のものであるという理由で、肯定的であり得る。したがってスイッチＳ１．１は、フローテーブル内のエントリによって次のスイッチにデータパケットを転送することが可能であることになり、これに関してステップＳ１４を参照されたい。次のスイッチＢは、フローテーブルが何を指定するかに応じて、スイッチＳ１．３またはスイッチＳ１．４であり得る。
【００５２】
これに対して、少なくとも、フローテーブル内のデータエントリがスイッチの記憶手段内で保持された前回のサイクルにおいて、データパケットが、ホストＨ１を伴うスイッチＳ１．１からホストＨ６を伴うスイッチＳ３．２に送出されておらず、その結果アドレスが知られていない（または、削除の後に知られなくなる）ということがあり得る。その場合スイッチＳ１．１は、ステップＳ１６において、スイッチＳ１．１のローカルコントローラ１０にデータパケットを転送する。ローカルコントローラ１０は、例えばＯｐｅｎＦｌｏｗネットワーク概念から知られている、よく知られている様式で、経路を算出することが可能であるものとする。現在考慮中の場合では経路は、Ｓ１．１、Ｓ１．３、Ｓ１．５、Ｓ１．６によって、または代替的にＳ１．１、Ｓ１．４、Ｓ１．５、Ｓ１．６によって開始することが可能であり、Ｓ３．６によって、ローカルコントローラ１０に知られていないさらなるスイッチによって継続されることになる。
【００５３】
第１のネットワークドメイン１００内の経路部分に関しては、現在考慮中の場合にローカルコントローラ１０は、第１のデータパケットのヘッダ内の補足データから、ホストＨ１からのデータパケットの群が迅速なルーティングを必要とすることを認識することが可能であり、したがって、スイッチＳ１．４が例えばより高性能（ｐｅｒｆｏｒｍａｎｔ）である状態で、スイッチＳ１．３よりスイッチＳ１．４の方を選ぶことになる。したがってステップＳ２０においてローカルコントローラ１０は、第１のネットワークドメイン１００のスイッチに、（全体的に新しい）フローテーブルまたはそのフローテーブルの少なくともエントリを伝達することになる。スイッチＳ１．１に対するフローテーブル内のエントリは、スイッチＳ．３．２／ホストＨ６のアドレスを有するパケットは、スイッチＳ１．４に転送されることになるということを指定することになる。次にスイッチＳ１．４に対するフローテーブルは、スイッチＳ３．２／ホストＨ６のアドレスを有するデータパケットは、スイッチＳ１．５に転送されなければならないことになるということを指定することになる。スイッチＳ１．５に対する新しいフローテーブルは、スイッチＳ３．２／ホストＨ６のアドレスを有するデータパケットは、スイッチＳ１．６に転送されることになるということを指定することになる。次にスイッチＳ１．６に対するフローテーブルは、スイッチＳ３．２／ホストＨ６のアドレスを有するデータパケットは、第２のネットワークドメイン３００のスイッチＳ３．６に転送されることになるということを指定することになる。
【００５４】
ステップＳ２０においてフローテーブルを伝達することに加えてさらに、ローカルコントローラ１０は、今度はスイッチＡ、スイッチＳ１．１に戻るように転送されることになるパケットを送出することになる。あるいはローカルコントローラ１０は、スイッチＡ’、例えばデータパケットをルーティングすることに責任を負う他のスイッチの１つに、例えば次のスイッチＳ１．４にパケットを送出することが可能である。
【００５５】
次のステップＳ２４において、今度は、ステップＳ１８において第１のネットワークドメイン１００内のローカルコントローラ１０により算出された経路が、別のドメインに関わるものであるかどうかがチェックされる。関わらない場合は、処置は必要でない（Ｓ２６）。現在考慮中の例では、経路は実際に別のドメイン、すなわち第２のネットワークドメイン３００に関わるものである。この場合、第１の代替案ではローカルコントローラ１０は、別のローカルコントローラ、すなわち第２のネットワークドメイン３００の第２のローカルコントローラ３０に、特定の情報を転送する。
【００５６】
ローカルコントローラ１０は特に、第２のローカルコントローラ３０にそのような情報を提供して、第２のコントローラ３０が、データパケットの受信のために第２のネットワークドメイン３００を準備する第２のネットワークドメイン３００内の処理ステップを遂行することを可能にすることが可能である。
【００５７】
通常、異なるネットワークドメイン１００、２００、３００は相互に独立しており、それらの接続形態は他のネットワークドメインのローカルコントローラには特に知られていないので、ローカルコントローラ１０は、スイッチＳ．３．６以外のスイッチを識別することが可能ではなかった。したがってステップＳ１８においてローカルコントローラ１０は、ローカルコントローラ１０自体の第１のネットワークドメイン１００に関してのみの、および、ローカルコントローラ１０に知られているネットワーク要素Ｓ３．６を含む経路を、第２のネットワークドメイン３００内のさらなる経路を算出することが可能でない状態で算出している。その場合、ローカルコントローラ１０からローカルコントローラ３０にステップＳ２８において転送される情報は、ローカルコントローラ３０が、それ自体が経路を算出することが可能であるような種類のものである。例えば単に情報は、スイッチＳ３．２／Ｈ６のアドレスであって、そのアドレスからローカルコントローラ１０が、スイッチＳ３．２／Ｈ６が第２のネットワークドメイン３００の一部であることを単に知る、スイッチＳ３．２／Ｈ６のアドレスを含み得る。アドレス情報に加えてさらに、ローカルネットワークコントローラ１０は、データパケットの群が通信ネットワーク内で取り扱われることになる優先順位を決定する、帯域幅に関する情報または他の情報などの補足情報を転送することが可能である。例えば補足情報は、ホストＨ１からのデータが音声または映像のデータであることを、および、したがって迅速なルーティングが必要とされることを指定することが可能である。このようにローカルコントローラ１０は、したがって第２のローカルコントローラ３０に情報を転送することが、または少なくとも、高い優先順位が、それぞれ、データパケットの群に、もしくはアドレスＳ３．２／Ｈ６に起因するものであるという情報を転送することが可能である。
【００５８】
ローカルコントローラ３０に情報を転送することの代替案として（またはさらに、その転送することに加えて）、ローカルコントローラ１０は、マスターコントローラ４０に、ローカルコントローラ３０に関して上記で述べられたのと同じ、または同様の情報を転送することが可能である。マスターコントローラ４０は、ドメインエッジ経路を、アドレス情報から探して取得することが可能であり、または算出することもまた可能であり、すなわち、現在考慮中のアドレスに対しては、特定のエッジスイッチＳ１．６、Ｓ３．６が必要とされることを知ることになる。（マスターコントローラ４０が、現在考慮中の場合において、スイッチＳ１．６からスイッチＳ３．６への情報フローが、第３のネットワークドメイン２００のスイッチ２．６を介して進むことが可能であると決定するということもまたあり得る。）いずれの場合でもマスターコントローラ４０は、ステップＳ３４において、通信ネットワーク内のデータフローまたはデータパケットの群のルーティングを管理し、ローカルコントローラ３０、２０に状況に応じて作動させることが可能である。したがってマスターコントローラ４０は、マスターコントローラ４０により決定された、第１のローカルコントローラ１０からローカルコントローラ３０にステップＳ２８において送出される情報ａとは別の種類のものであり得る、情報ｂを転送する。現在考慮中の場合ではマスターコントローラ４０は、データパケットの群は第２のネットワークドメイン３００に必ずルーティングされなければならないので、ローカルコントローラ３０に情報ｂを少なくとも転送することになる。マスターコントローラ４０は、さらに同時に、データがスイッチＳ２．６を介してルーティングされることになっていた場合には、ローカルコントローラ２０に情報ｂ’を転送し得る。マスターコントローラ４０は第２の場合には、ローカルコントローラ１０に、スイッチＳ３．２／ホストＨ６のアドレスを有するデータパケットは最初にスイッチＳ２．６に送出されることになるということを指定するフローテーブルエントリをスイッチＳ１．６に提供させるように、ローカルコントローラ１０にさらに通知することになる。
【００５９】
以下では話を簡単にするために、情報ａがローカルコントローラ３０にステップＳ２８において送出された場合に、および／または、情報ｂが第２のネットワークドメイン３００の同じローカルコントローラ３０に送出された場合に、何が起こるかを考察するのみとする。
【００６０】
第２のコントローラ３０は、スイッチＳ３．２／ホストＨ６にルーティングされることになるデータパケットが第２のネットワークドメイン３００内に来ることが予測されることになるということを何らかの方法で指定する、情報ａまたはｂを、それぞれローカルコントローラ１０またはマスターコントローラ４０から受信したところである。したがってローカルコントローラ３０は、第２のネットワークドメイン３００内の経路を算出し、例えば、データパケットはスイッチＳ３．６、Ｓ３．５、Ｓ３．３、Ｓ３．２を介してホストＨ６にルーティングされることになるということを算出することになる。あるいはローカルコントローラ３０は、その特定のアドレスに関係するフローテーブルがすでに存在するか否かをスイッチに「照会する」ことが可能である。スイッチへのそのような要求に対する否定的な応答を受信したときにのみ、ローカルコントローラ３０は経路を算出することになる。
【００６１】
ステップＳ３６において経路を算出してしまうと、ローカルコントローラ３０は、同じドメインのスイッチに、スイッチにより必要とされるフローテーブルを伝達することになる。これらのスイッチは、特にスイッチＳ３．６、Ｓ３．５、Ｓ３．３、およびＳ３．２である（図２においての表示「スイッチＤ、Ｅ、Ｆ」は、有限の数のスイッチを表す）。スイッチＳ３．６に対する新しいフローテーブルは、スイッチＳ３．２／ホストＨ６のアドレスを有するデータパケットはスイッチＳ３．５に送出されることになるということを指定することになる。スイッチＳ３．５に対する新しいフローテーブルは、そのようなデータパケットは隣接スイッチＳ３．３にルーティングされることになるということを指定することになる。次に利用可能なスイッチＳ３．３に対するフローテーブルは、データパケットがアドレスＳ３．２／ホストＨ６を有するならば、データパケットはスイッチＳ３．２に送出されることになるということを指定することになる。
【００６２】
上記で説明された方法は、ネットワーク内のデータフローの速度を高め、または少なくとも、速度が、所望されるより低くない速度であることを確かなものにする。特にローカルコントローラ３０などのローカルコントローラは、データパケットに関して、そのようなデータパケットがそれらのローカルコントローラのネットワークドメイン３００の第１のスイッチＳ３．６に到着する前に知る。この方法が遂行されなかったならば、アドレスはスイッチＳ３．６のフローテーブル内に含まれないということがあり得る。その場合スイッチＳ３．６は、データパケットを受信するときに、ローカルコントローラ３０が経路を算出することを可能にするためにローカルコントローラ３０にデータパケットをさらに転送しなければならないことになる。本方法により、そのようなこととは対照的にローカルコントローラ３０は、エッジスイッチＳ３．６へのデータパケットの到着の前に、経路の算出または同様の処理ステップを開始することが可能である。このことによりデータフローは、少なくとも必要とされれば、より高速にされる。
【００６３】
本発明は、３つのネットワークドメインのみを提供することに限定されず、３つより少ないネットワークドメイン、および特に３つより多いネットワークドメインの両方を提供し得る、または、それらの両方に関連して使用され得るものである。本発明の方法は、特に定めた数のネットワークドメインを有するネットワーク内のアプリケーションに限定されず、それらのネットワークドメインの少なくとも２つが存在する場合に提供される。
【００６４】
本発明の原理が特定の実施形態に関連して上記で述べられたが、この説明は単に、例としてであり、係属中の特許請求の範囲により決定される保護の範囲の限定としてではなく行われるということは明確に理解されるべきである。
【図１】
0005828047.tif 000002
【図２】
0005828047.tif 000003