(57)【要約】【課題】INT-IDの枯渇を防止し、監視フロー数の増加を可能とする。【解決手段】コントローラ１０のINT-ID割り当て部１２は、フローに対するINT-IDの割当要求を受け付けた場合、当該フローの5tuple情報と、ネットワークの全経路の経路情報を格納する経路情報ＤＢ１３とを参照して、INT-IDの割当対象のフローの経路を計算する。そして、INT-ID割り当て部１２は、計算した経路が、INT-IDを割り当て済みのいずれのフローの経路とも交わらない場合、ID情報ＤＢ１４に示される割り当て済みのINT-IDの中から、当該INT-IDの割当対象のフローに割り当てるINT-IDを選択する。【選択図】図２
2020031339.tif 000002
【特許請求の範囲】
【請求項１】
受信したフローのパケットに、当該フローに対応するINT-IDを埋め込む第１のスイッチと、受信したフローのパケットに埋め込まれたINT-IDに基づく処理を実行する第２のスイッチとを制御するコントローラであって、
前記フローに割り当て済みのINT-IDを示したID情報を記憶する記憶部と、
前記第１のスイッチから、前記INT-IDの割当対象のフローの5tuple情報を含むINT-IDの割当要求を受け付けた場合、前記割当要求に含まれるINT-IDの割当対象のフローの5tuple情報と、前記第１のスイッチおよび前記第２のスイッチを含むネットワークの全経路の経路情報とを参照して、前記INT-IDの割当対象のフローの経路を計算する経路計算部と、
前記計算した経路が、前記ID情報に示されるINT-IDを割り当て済みのいずれかのフローの経路と交わるか否かを判定する判定部と、
前記判定部により、前記INT-IDの割当対象のフローの経路が、前記INT-IDを割り当て済みのいずれのフローの経路とも交わらないと判定された場合、前記ID情報に示される割り当て済みのINT-IDの中から、前記INT-IDの割当対象のフローに割り当てるINT-IDを選択するINT-ID選択部と、
前記INT-IDの割当対象のフローを中継する前記第１のスイッチに、前記選択した当該フローのINT-IDを通知する通知部と、
を備えることを特徴とするコントローラ。
【請求項２】
前記INT-ID選択部は、
前記判定部により、前記INT-IDの割当対象のフローの経路が、前記INT-IDを割り当て済みのいずれかのフローの経路と交わると判定された場合、前記ID情報に示される割り当て済みのINT-ID以外のINT-IDを、前記INT-IDの割当対象のフローに割り当てるINT-IDとして選択する
ことを特徴とする請求項１に記載のコントローラ。
【請求項３】
前記INT-ID選択部は、さらに、
前記INT-IDの割当対象のフローに割り当てたINT-IDを、前記ID情報に追加する
ことを特徴とする請求項１に記載のコントローラ。
【請求項４】
受信したフローのパケットに、当該フローに対応するINT-IDを埋め込む第１のスイッチと、受信したフローのパケットに埋め込まれたINT-IDに基づく処理を実行する第２のスイッチと、前記第１のスイッチおよび前記第２のスイッチを制御するコントローラとを備えるシステムであって、
前記コントローラは、
前記フローに割り当て済みのINT-IDを示したID情報を記憶する記憶部と、
前記第１のスイッチから、前記INT-IDの割当対象のフローの5tuple情報の通知を受け付けた場合、前記INT-IDの割当対象のフローの5tuple情報と、前記第１のスイッチおよび前記第２のスイッチを含むネットワークの全経路の経路情報とを参照して、前記INT-IDの割当対象のフローの経路を計算する経路計算部と、
前記計算した経路が、前記ID情報に示されるINT-IDを割り当て済みのいずれかのフローの経路と交わるか否かを判定する判定部と、
前記判定部により、前記INT-IDの割当対象のフローの経路が、前記INT-IDを割り当て済みのいずれのフローの経路とも交わらないと判定された場合、前記ID情報に示される割り当て済みのINT-IDの中から、前記INT-IDの割当対象のフローに割り当てるINT-IDを選択するINT-ID選択部と、
前記INT-IDの割当対象のフローを中継する前記第１のスイッチに、前記選択した当該フローのINT-IDを通知する通知部と、
を備え、
前記第１のスイッチは、
前記INT-IDの割当要求を出力するトリガーとなるフローを検出する検出部と、
前記検出部によりトリガーとなるフローが検出された場合、前記コントローラへ前記フローの5tuple情報を含むINT-IDの割当要求を送信するINT-ID割当要求部と
を備えることを特徴とするシステム。
【請求項５】
受信したフローのパケットに、当該フローに対応するINT-IDを埋め込む第１のスイッチと、受信したフローのパケットに埋め込まれたINT-IDに基づく処理を実行する第２のスイッチとを制御するコントローラにより実行される制御方法であって、
前記第１のスイッチから、前記INT-IDの割当対象のフローの5tuple情報を含むINT-IDの割当要求を受け付けた場合、前記割当要求に含まれるINT-IDの割当対象のフローの5tuple情報と、前記第１のスイッチおよび前記第２のスイッチを含むネットワークの全経路の経路情報とを参照して、前記INT-IDの割当対象のフローの経路を計算する経路計算ステップと、
前記計算した経路が、前記フローに割り当て済みのINT-IDを示したID情報に示されるINT-IDを割り当て済みのいずれかのフローの経路と交わるか否かを判定する判定ステップと、
前記判定ステップにより、前記INT-IDの割当対象のフローの経路が、前記INT-IDを割り当て済みのいずれのフローの経路とも交わらないと判定された場合、前記ID情報に示される割り当て済みのINT-IDの中から、前記INT-IDの割当対象のフローに割り当てるINT-IDを選択するINT-ID選択ステップと、
前記INT-IDの割当対象のフローを中継する前記第１のスイッチに、前記選択した当該フローのINT-IDを通知する通知ステップと、
を含んだことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラ、システム、および、制御方法に関する。
【背景技術】
【０００２】
In‐band  Network  Telemetry  (INT、非特許文献１参照)は、データセンタネットワーク等において送受信されるパケットのパケットヘッダにメタデータを挿入することでパケットごとにネットワーク状態を収集可能なフレームワークである。例えば、分散アーキテクチャやチェイニング技術を実装したネットワークに、上記のINTを用いることでアプリケーション単位でのフロー情報の可視化が可能となる。
【０００３】
複数のフロー経路をとりえるようなファブリック（各スイッチにより構成されるトポロジ）においてINTを実施するためには、各スイッチにINTメタデータのエントリを登録する必要がある。例えば、ファブリックの各スイッチがマイクロフロー（5tupleで定義されるフロー）単位でINTを実施するためには、各スイッチに監視対象のマイクロフローに付与したINT-IDに対応するエントリを登録する必要がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】In‐band  Network  Telemetry（INT）、［平成30年7月30日検索］、インターネット＜URL：https://p4.org/assets/INT-current-spec.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、INTにおける監視対象のフローの種類数が増加した場合、当該フローに割り当てるINT-IDが枯渇してしまうおそれがある。そこで、本発明は、INT-IDの枯渇を防止し、監視フロー数の増加を可能とすることを課題とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、本発明は、受信したフローのパケットに、当該フローに対応するINT-IDを埋め込む第１のスイッチと、受信したフローのパケットに埋め込まれたINT-IDに基づく処理を実行する第２のスイッチとを制御するコントローラであって、前記フローに割り当て済みのINT-IDを示したID情報を記憶する記憶部と、前記第１のスイッチから、前記INT-IDの割当対象のフローの5tuple情報を含むINT-IDの割当要求を受け付けた場合、前記割当要求に含まれるINT-IDの割当対象のフローの5tuple情報と、前記第１のスイッチおよび前記第２のスイッチを含むネットワークの全経路の経路情報とを参照して、前記INT-IDの割当対象のフローの経路を計算する経路計算部と、前記計算した経路が、前記ID情報に示されるINT-IDを割り当て済みのいずれかのフローの経路と交わるか否かを判定する判定部と、前記判定部により、前記INT-IDの割当対象のフローの経路が、前記INT-IDを割り当て済みのいずれのフローの経路とも交わらないと判定された場合、前記ID情報に示される割り当て済みのINT-IDの中から、前記INT-IDの割当対象のフローに割り当てるINT-IDを選択するINT-ID選択部と、前記INT-IDの割当対象のフローを中継する前記第１のスイッチに、前記選択した当該フローのINT-IDを通知する通知部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、INT-IDの枯渇を防止し、監視フロー数の増加を可能とすることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態のコントローラを含むシステムの構成例を説明する図である。
【図２】図２は、図１のコントローラを説明する図である。
【図３】図３は、システムの処理手順の例を説明する図である。
【図４】図４は、システムの処理手順の例を説明する図である。
【図５】図５は、システムがＩＰ電話等の通信で用いられるフローを対象にINT-IDの割当を行う場合の処理手順の例を説明する図である。
【図６】図６は、システムがＩＰ電話等の通信で用いられるフローを対象にINT-IDの割当を行う場合の処理手順の例を説明する図である。
【図７】図７は、制御プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本発明を実施するための形態（実施形態）について説明する。本発明は、以下に説明する実施形態に限定されない。
【００１０】
［システムの構成例］
まず、図１を用いて本実施形態のコントローラを含むシステムの構成例を説明する。システムは、ファブリック構成をとり、コントローラ１０と、Border  leaf（第１のスイッチ）２０と、leaf（第２のスイッチ）３０とを備える。Border  leaf２０およびleaf３０の台数は、図１に示す台数に限定されない。また、システムは、例えば、leaf３０から送られた情報を集計する集計サーバ４０、フローによるデータ通信により様々なアプリケーションサービスを提供するサーバ等を含んでいてもよい。
【００１１】
コントローラ１０は、Border  leaf２０およびleaf３０を制御する。また、コントローラ１０は、Border  leaf２０およびleaf３０上を中継するフローに割り当てるINT-IDを選択する。コントローラ１０は、制御部１１と、INT-ID割り当て部１２と、経路情報ＤＢ（データベース）１３と、ID情報ＤＢ１４とを備える。
【００１２】
このコントローラ１０は、フローにINT-IDを割り当てる際、経路が交わらないフローについて同じINT-IDを割り当てる。例えば、図２に示すように、既に、フロー２０１に対しINT-ID「100」が割り当て済みである場合、コントローラ１０は、INT-IDの割当対象のフロー２０２の経路を計算し、計算したフロー２０２の経路がフロー２０１の経路と交わらない場合、フロー２０２にフロー２０１と同じINT-ID「100」を割り当てる。
【００１３】
このようにコントローラ１０は、INT-IDを各フローに割り当てる際、互いに交わらない経路のフローに同じINT-IDを割り当てる。よって、システムは、INTに用いるINT-IDのID空間を効率よく利用できるので、INT-IDの枯渇を防止することができる。その結果、INTにおける監視フロー数の増加を可能とすることができる。
【００１４】
また、上記のBorder  leaf２０およびleaf３０それぞれが必要以上に多くのINT-IDに関するエントリを持つ必要がなくなるので、Border  leaf２０およびleaf３０がエントリを保持するのに必要なメモリ量を低減することができる。このコントローラ１０の詳細は、図２を用いて後記する。
【００１５】
図１の説明に戻る。Border  leaf２０は、ネットワーク（Border  leaf２０およびleaf３０により構成されるネットワーク）の境界に設置され、フローを中継するスイッチである。このBorder  leaf２０は、例えば、監視対象のフローを受信すると、当該フローのパケットに当該フローに割り当てられたINT-IDを埋め込み、leaf３０へ転送する。
【００１６】
leaf３０は、フローを中継するスイッチである。このLeaf３０は、例えば、受信したフローのパケットに埋め込まれたINT-IDに基づき、INTに関する処理を行う。一例を挙げると、leaf３０は、受信したフローのパケットに埋め込まれたINT-IDに基づき、INT-IDごとのフローのパケットのカウントを行う。そして、leaf３０は、INT-IDごとのフローのパケットのカウントの結果を集計サーバ４０へ送信する。
【００１７】
集計サーバ４０は、各leaf３０から送信された各INT-IDのフローの情報を集計する。例えば、集計サーバ４０は、各leaf３０から送信されたフローのパケットのカウントの結果をINT-IDごとに集計する。これにより、集計サーバ４０は、例えば、各フローのパケットロス、パケットの順序逆転等をアプリケーション単位で把握することができる。
【００１８】
［コントローラ］
図２を用いて、コントローラ１０を詳細に説明する。コントローラ１０は、前記したとおり、制御部１１と、INT-ID割り当て部１２と、経路情報ＤＢ１３と、ID情報ＤＢ１４とを備える。なお、経路情報ＤＢ１３およびID情報ＤＢ１４は、例えば、コントローラ１０の備える記憶部（図示省略）に装備される。この経路情報ＤＢ１３およびID情報ＤＢ１４は、コントローラ１０の外部の装置に装備されてもよい。
【００１９】
制御部１１は、コントローラ１０全体の制御を司る。例えば、制御部１１は、Border  leaf２０からフローの5tuple情報を含む当該フローへのINT-IDの割り当て要求を受信すると、INT-ID割り当て部１２に対し、INT-IDの割り当てを依頼する。
【００２０】
一例を挙げると、制御部１１は、Border  leaf２０から、当該Border  leaf２０にINT-IDの割り当てのトリガーとなるフローの到着した旨の情報と、当該フローの5tuple情報とを受信すると、INT-ID割り当て部１２に対し、当該フローの5tuple情報を含むINT-IDの割り当て依頼を出力する。その後、制御部１１は、INT-ID割り当て部１２から、当該フローに割り当てたINT-IDを受け取ると、当該INT-IDをBorder  leaf２０へ通知する。また、制御部１１は、当該フローに割り当てたINT-IDをleaf３０へ通知する。
【００２１】
INT-ID割り当て部１２は、制御部１１からの依頼に基づき、フローにINT-IDを割り当てる。このINT-ID割り当て部１２は、経路計算部１２１と、判定部１２２と、INT-ID選択部１２３とを備える。
【００２２】
経路計算部１２１は、経路情報ＤＢ１３に記憶されるネットワークの経路情報を参照して、フローの経路を計算する。例えば、経路計算部１２１は、制御部１１からフロー（INT-ID割当対象のフロー）の5tuple情報を含む当該フローへのINT-IDの割り当て依頼を受信すると、当該フローの5tuple情報と、経路情報ＤＢ１３に記憶される経路情報とを参照して、当該フローの経路を計算する。
【００２３】
判定部１２２は、経路計算部１２１により計算された、INT-ID割当対象のフローの経路が、INT-IDを割り当て済みのいずれかのフローの経路と交わるか否かを判定する。例えば、判定部１２２は、経路情報ＤＢ１３から、INT-IDを割り当て済みのフローの経路情報を読み出すと、経路計算部１２１により計算されたINT-ID割当対象のフローの経路が、INT-IDを割り当て済みのいずれかのフローの経路と交わるか否かを判定する。
【００２４】
INT-ID選択部１２３は、フローに割り当てるINT-IDを選択する。例えば、INT-ID選択部１２３は、判定部１２２により、INT-IDの割当対象のフローの経路が、INT-IDを割り当て済みのいずれのフローの経路とも交わらないと判定された場合、ID情報ＤＢ１４に示される割り当て済みのINT-IDの中から、INT-IDの割当対象のフローに割り当てるINT-IDを選択する。そして、INT-ID選択部１２３は、選択したINT-IDを制御部１１へ出力する。
【００２５】
一例を挙げると、判定部１２２が、INT-IDを割り当て済みのフロー２０１の経路と、INT-IDの割当対象のフロー２０２の経路とが交わらないと判定した場合、INT-ID選択部１２３は、フロー２０２に割り当てるINT-IDとして、フロー２０１に割り当てたINT-IDと同じINT-ID（100）を選択する。そして、INT-ID選択部１２３は選択したINT-ID（100）を制御部１１へ出力する。
【００２６】
一方、判定部１２２により、INT-IDの割当対象のフローの経路が、INT-IDを割り当て済みのいずれかのフローの経路と交わると判定された場合、INT-ID選択部１２３は、ID情報ＤＢ１４に示される割り当て済みのINT-ID以外のINT-IDの中から、INT-IDの割当要求の対象のフローに割り当てるINT-IDを選択する。そして、INT-ID選択部１２３は、選択したINT-IDを制御部１１へ出力する。また、INT-ID選択部１２３は、選択したINT-ID（つまり、割り当て済みのINT-ID）をID情報ＤＢ１４に記録する。
【００２７】
また、INT-ID選択部１２３は、当該フローに割り当てるINT-IDを選択すると、選択したINT-IDと当該INT-IDが割り当てられたフローの識別情報（例えば、5tuple情報）とを対応付けた情報を、経路情報ＤＢ１３に格納する。
【００２８】
経路情報ＤＢ１３は、Border  leaf２０およびleaf３０を含むネットワークの全経路の経路情報を格納する。また、ID情報ＤＢ１４は、割り当て済みのINT-IDを格納する。
【００２９】
［Border  leaf］
Border  leaf２０は、INT-ID割当要求部２１と、INT-IDテーブル２２とを備える。INT-ID割当要求部２１は、コントローラ１０にフローのINT-IDの割当要求を送信する。例えば、INT-ID割当要求部２１は、INT-IDの割当対象となるフローの5tuple情報を含むINT-IDの割当要求をコントローラ１０へ送信する。その後、INT-ID割当要求部２１は、コントローラ１０から当該フローに割り当てるINT-IDを受信すると、受信したINT-IDをINT-IDテーブル２２に追加する。
【００３０】
INT-IDテーブル２２は、フローごとに当該フローに割り当てられたINT-IDを示した情報である。例えば、INT-IDテーブル２２は、以下の表１に示すように、フローの5tuple情報（src  IP（送信元IPアドレス）、dst  IP（宛先IPアドレス）、src  port（送信元ポート番号）、dst  port（宛先ポート番号）およびprotocol（プロトコル））の組み合わせごとに、当該5tuple情報を持つフローに割り当てられたINT-IDを示した情報である。
【００３１】
【表１】
2020031339.tif 000003
【００３２】
このINT-IDテーブル２２は、Border  leaf２０が、例えば、監視対象のフローにINT-IDを挿入する際に参照される。
【００３３】
［leaf］
Leaf３０は、受信したフローのINT-IDに対応する処理を実行する。例えば、まず、leaf３０は、コントローラ１０から、各フローに割り当てたINT-IDを受信すると、これを集計情報３１（表２参照）のエントリとして登録しておく。その後、leaf３０が、集計情報３１に登録されたINT-IDを持つフローを受信すると、当該INT-IDのフローのパケットをカウントし、集計情報３１に記録する。そして、leaf３０は、カウントの結果が記録された集計情報３１を集計サーバ４０へ送信する。
【００３４】
集計情報３１は、例えば、以下の表２に示すように、INT-IDごとに、当該INT-IDを持つフローのパケットのカウントの結果（seq  num  counter）を記録した情報である。
【００３５】
【表２】
2020031339.tif 000004
【００３６】
［処理手順の例］
次に、図３および図４を用いて、システムの処理手順の例を説明する。
【００３７】
まず、システムの管理者が、INT-IDの取得開始をBorder  leaf２０に設定する（図３のＳ１）。ここでのINT-IDの取得開始の設定は、システムの管理者からBorder  leaf２０へのINT-IDの取得開始の指示入力でもよいし、Border  leaf２０に対するINT-IDの取得開始のトリガーとなるトリガーフローの設定であってもよい。
【００３８】
ここで、Border  leaf２０におけるINT-IDの取得開始のトリガーがトリガーフローの受信である場合、Border  leaf２０が当該トリガーフローを受信すると、INT-ID割当要求部２１は、トリガーフローの到着と、当該トリガーフローの5tuple情報とをコントローラ１０へ通知する（Ｓ２）。当該通知を受けたコントローラ１０の制御部１１は、INT-ID割り当て部１２に対し、当該フローの5tuple情報を含むINT-IDの割り当て依頼を出力する（Ｓ３：INT-IDの割り当てを依頼）。INT-IDの割り当て依頼を受けたINT-ID割り当て部１２は、制御部１１経由で経路情報ＤＢ１３の経路情報を読み出す。
【００３９】
図４の説明に移る。図３のＳ３の後、INT-ID割り当て部１２は、経路情報ＤＢ１３の経路情報を参照して、経路計算を行い、互いの経路が交わらないフローに同じINT-IDを割り当てる（図４のＳ４）。
【００４０】
つまり、Ｓ４において、経路計算部１２１は、INT-IDの割当対象のフローの5tuple情報と、経路情報ＤＢ１３に記憶される経路情報とを参照して、INT-IDの割当対象のフローの経路を計算する。そして、判定部１２２は、INT-IDの割当対象のフローの経路が、経路情報ＤＢ１３に記憶されるINT-IDを割り当て済みのいずれのフローの経路とも交わらないと判定した場合、INT-ID選択部１２３は、ID情報ＤＢ１４に示される割り当て済みのINT-IDの中から、INT-IDの割当要求の対象のフローに割り当てるINT-IDを選択する。そして、INT-ID選択部１２３は、選択したINT-IDを制御部１１へ出力する。
【００４１】
一方、判定部１２２は、INT-IDの割当対象のフローの経路が、経路情報ＤＢ１３に記憶されるINT-IDを割り当て済みのいずれかのフローの経路と交わると判定した場合、INT-ID選択部１２３は、ID情報ＤＢ１４に示される割り当て済みのINT-ID以外のINT-IDの中から、INT-IDの割当要求の対象のフローに割り当てるINT-IDを選択する。そして、INT-ID選択部１２３は、選択したINT-IDを制御部１１へ出力する。
【００４２】
Ｓ４の後、制御部１１は、Ｓ４で割り当てたINT-IDをBorder  leaf２０へ通知する（Ｓ５）。そして、Border  leaf２０のINT-ID割当要求部２１は、コントローラ１０から通知されたINT-IDをINT-IDテーブル２２に追加する。その後、Border  leaf２０は、当該INT-IDテーブル２２に基づき、受信したフローのパケットにINT-IDを挿入する。
【００４３】
また、制御部１１は、Ｓ４で割り当てたINT-IDをleaf３０へ通知し、leaf３０は、通知されたINT-IDを集計情報３１に追加する。その後、leaf３０は、受信したフローのINT-IDに基づくINTの処理を実行する。例えば、leaf３０は、受信したフローのINT-IDごとに、当該INT-IDを持つフローのパケットのカウントを行い、カウントの結果を集計情報３１に記録する。
【００４４】
このようにシステムは、INT-IDを各フローに割り当てる際、互いに交わらない経路のフローに同じINT-IDを割り当てる。よって、システムは、INTに用いるINT-IDのID空間を効率よく利用できるので、INT-IDの枯渇を防止することができる。その結果、INTにおける監視フロー数の増加を可能とすることができる。
【００４５】
また、上記のBorder  leaf２０およびleaf３０それぞれが、必要以上に多くのINT-IDに関するエントリを持つ必要がなくなるので、Border  leaf２０およびleaf３０がエントリを保持するのに必要なメモリ量を低減することができる。
【００４６】
［その他の実施形態］
なお、システムは、ＩＰ（Internet  Protocol）電話等の通信に用いられるフローを対象に上記のINT-IDの割当を行ってもよい。この場合の実施形態を、図５および図６を用いて説明する。
【００４７】
例えば、Border  leaf２０は、ＩＰ電話等の通信のセッション開始プロトコルであるSIP（Session  Initiation  Protocol）のフローを検出する検出部２３を備える。そして、コントローラ１０のINT-ID割り当て部１２は、いずれかのBorder  leaf２０においてSIPのフローを検出すると、当該SIPのフローの受信後に開始されるMEDIAフローの経路を計算し、当該MEDIAフローに割り当てるINT-IDを選択する。
【００４８】
まず、システムの管理者は、Border  leaf２０の検出部２３にINT-IDの取得開始のトリガーフローを設定する（図５のＳ１１）。例えば、管理者は、INT-IDの取得開始のトリガーとなるSIPのフローに関する情報をBorder  leaf２０の検出部２３に設定する。その後、Border  leaf２０の検出部２３がINT-IDの取得開始のトリガーとなるSIPのフローのパケット（SIPパケット）の到着を検出すると、INT-ID割当要求部２１は、SIPパケットの検出をコントローラ１０へ通知する（Ｓ１２）。具体的には、INT-ID割当要求部２１は、SIPパケットに含まれるSIP情報を含むINT-IDの割り当て要求をコントローラ１０へ通知する。当該通知を受けたコントローラ１０の制御部１１は、INT-ID割り当て部１２に対し、当該フローのSIP情報を含むINT-ID割当依頼を出力する（Ｓ１３：INT-IDの割り当てを依頼）。そして、INT-ID割り当て部１２は、制御部１１経由で経路情報ＤＢ１３の経路情報を読み出す。
【００４９】
図６の説明に移る。図５のＳ１３の後、INT-ID割り当て部１２は、経路情報ＤＢ１３の経路情報とSIP情報とを参照して、MEDIAフローの経路を特定する。そして、INT-ID割り当て部１２は、互いの経路が交わらないフローに同じINT-IDを割り当てる（図６のＳ１４）。
【００５０】
つまり、経路計算部１２１は、SIP情報と、経路情報ＤＢ１３に記憶される経路情報とを参照して、上記のSIPのフローの後に開始されるMEDIAフローの経路を計算する。そして、判定部１２２は、MEDIAフローの経路が、INT-IDを割り当て済みのいずれのフローの経路とも交わらないと判定した場合、INT-ID選択部１２３は、ID情報ＤＢ１４に示される割り当て済みのINT-IDの中から、当該MEDIAフローに割り当てるINT-IDを選択する。そして、INT-ID選択部１２３は、選択したINT-IDを制御部１１へ出力する。一方、判定部１２２が当該MEDIAフローの経路は、INT-IDを割り当て済みのいずれかのフローの経路と交わると判定した場合、INT-ID選択部１２３は、ID情報ＤＢ１４に示される割り当て済みのINT-ID以外のINT-IDの中から、当該MEDHIAフローに割り当てるINT-IDを選択する。そして、INT-ID選択部１２３は、選択したINT-IDを制御部１１へ出力する。
【００５１】
Ｓ１４の後、制御部１１は、Ｓ１４で割り当てられたINT-IDを、当該MEDIAフローの経路のBorder  leaf２０へ通知する（Ｓ１５）。そして、当該Border  leaf２０のINT-ID割当要求部２１は、コントローラ１０から通知されたINT-IDをINT-IDテーブル２２に追加する。その後、Border  leaf２０は、当該INT-IDテーブル２２に基づき、受信したMEDIAフローのパケットにINT-IDを挿入する。
【００５２】
また、制御部１１は、Ｓ１４で割り当てたINT-IDをleaf３０へ通知し、leaf３０は、通知されたINT-IDを集計情報３１に追加する。その後、leaf３０は、受信したフローのINT-IDに基づくINTを開始する（Ｓ１６）。例えば、leaf３０は、受信したMEDIAフローのパケットについて、INT-IDごとにパケットの到着順を集計情報３１に記録する。そして、leaf３０は、当該集計情報３１を集計サーバ４０へ送信する。その後、集計サーバ４０が各leaf３０から送信されたMEDIAフローのパケットの到着順を確認することで、各MEDIAフローのUDPパケットの順序の逆転を把握することができる。
【００５３】
このようにすることで、システムは、INT-IDをIP電話の通信のMEDIAフローに割り当てる場合においても、互いに交わらない経路のフローに同じINT-IDを割り当てるので、INT-IDのID空間を効率よく利用できる。その結果、INTに用いるINT-IDの枯渇を防止することができる。また、上記のBorder  leaf２０およびleaf３０それぞれが、必要以上に多くのINT-IDに関するエントリを持つ必要がなくなる。
【００５４】
［プログラム］
また、上記の実施形態で述べたコントローラ１０の機能を実現するプログラムを所望の情報処理装置（コンピュータ）にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置をコントローラ１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）等がその範疇に含まれる。また、コントローラ１０を、クラウドサーバに実装してもよい。
【００５５】
図７を用いて、上記のプログラム（制御プログラム）を実行するコンピュータの一例を説明する。図７に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００５６】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００５７】
ここで、図７に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００５８】
そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００５９】
なお、上記の制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００６０】
１０  コントローラ
１１  INT-ID割り当て部
１２  制御部
１３  経路情報DB
１４  ID情報ＤＢ
２０  Border  leaf
２１  INT-ID割当要求部
２２  INT-IDテーブル
２３  検出部
３０  leaf
３１  集計情報
４０  集計サーバ
１２１  経路計算部
１２２  判定部
１２３  INT-ID選択部
【図１】
2020031339.tif 000005
【図２】
2020031339.tif 000006
【図３】
2020031339.tif 000007
【図４】
2020031339.tif 000008
【図５】
2020031339.tif 000009
【図６】
2020031339.tif 000010
【図７】
2020031339.tif 000011