(57)【特許請求の範囲】
【請求項１】
１つ以上の物理ノードと、該物理ノードを接続する１つ以上の物理リンクとを含む物理ネットワークへ仮想光ネットワーク（ＶＯＮ）をマッピングする方法であって、
前記物理ノード及び前記物理リンクの特性を表す物理ネットワーク情報と、１つ以上のＶＯＮデマンドと、前記物理ネットワークの１つ以上の技術制約とを読み出すことと、
前記ＶＯＮデマンドを処理し続けるべきかどうかを判定する繰り返し条件に繰り返しパラメータが違反しているかどうかを判定することと、
前記繰り返しパラメータが前記繰り返し条件に違反していないことに応答して、前記ＶＯＮデマンドの未処理サブグループがあるかどうかを判定することと、
１つ以上の未処理サブグループがあることに応答して、前記ＶＯＮのサブグループを選択することと、
前記ＶＯＮのサブグループのための実行可能なマッピングパターンを計算することであり、前記実行可能なマッピングパターンは、プロビジョニング基準を満たす１つ以上のアブストラクトマッピングパターンを含み、前記実行可能なマッピングパターンを計算することは、前記ＶＯＮデマンドの中の第１ＶＯＮデマンドについて計算されたアブストラクトマッピングパターンセットから第１アブストラクトマッピングパターンを選択し、前記物理ネットワーク情報における前記第１アブストラクトマッピングパターンの第１仮想リンクのエンドポイント間のスロット連続最短経路を計算し、該計算されたスロット連続最短経路から前記第１仮想リンクのためのコンクリート経路を指定し、前記第１アブストラクトマッピングパターンに対応するコンクリートマッピングパターンに前記コンクリート経路として指定された最短経路を加えることを含む、前記実行可能なマッピングパターンを計算することと、
前記サブグループの中から、前記実行可能なマッピングパターンの中の１つの実行可能なマッピングパターン及びスロット割り当てソリューションを有するＶＯＮの組を見つけることであり、前記組の大きさは、前記プロビジョニング基準に違反することなしに前記物理ネットワークに同時にマッピングされ得るＶＯＮの数に等しい、前記見つけることと、
実行可能なスロット割り当てを有する前記組のマッピングソリューションを求めることと、
前記マッピングソリューションのスロット割り当てを求めることと
を有する方法。
【請求項２】
前記繰り返しパラメータが前記繰り返し条件に違反することに応答して、前記ＶＯＮデマンドの少なくとも一部に従って前記物理ノード及び前記物理リンクを構成するよう前記物理ネットワークにおいて前記マッピングソリューションを実施する
ことを更に有する請求項１に記載の方法。
【請求項３】
前記マッピングソリューションのスロット割り当てを求めることに続いて、前記ＶＯＮデマンドの更なる未処理サブグループがあるかどうかを更に判定することと、
前記ＶＯＮデマンドの１つ以上の更なる未処理サブグループがあることに応答して、前記ＶＯＮの他のサブグループを選択することと、
前記ＶＯＮの他のサブグループのための実行可能なマッピングパターンを計算することと、
前記他のサブグループの中から、前記ＶＯＮの他のサブグループのための実行可能なマッピングパターンの中の１つの実行可能なマッピングパターン及びスロット割り当てソリューションを有するＶＯＮの他の組を見つけることであり、前記他の組の大きさは、前記プロビジョニング基準に違反することなしに前記物理ネットワークに同時にマッピングされ得るＶＯＮの数に等しい、前記他の組を見つけることと、
実行可能なスロット割り当てを有する前記他の組の他のマッピングソリューションを求めることと、
前記他のマッピングソリューションのスロット割り当てを求めることと
を更に有する請求項１に記載の方法。
【請求項４】
前記ＶＯＮデマンドの１つ以上の未処理サブグループがないことに応答して、ＶＯＮ処理の最後の繰り返しによりマッピングのステータスを反映するよう前記繰り返しパラメータを更新することと、
更新された繰り返しパラメータが前記繰り返し条件に違反するかどうかを判定することと
を更に有する請求項１に記載の方法。
【請求項５】
前記繰り返し条件は、
前記ＶＯＮの全てがマッピングされること、
繰り返しの特定の最大回数が実行されること、
ある量の時間が過ぎること、及び
少なくとも１つの新しいＶＯＮが最後の繰り返しにおいてうまくマッピングされること
のうちの１つ以上を含む、請求項１に記載の方法。
【請求項６】
前記計算することは、
前記ＶＯＮデマンドが解析されたかどうかを判定することと、
前記ＶＯＮデマンドが解析されていないことに応答して、前記解析されていないＶＯＮデマンドの中から前記第１ＶＯＮデマンドを選択することと、
前記第１ＶＯＮデマンドのための前記アブストラクトマッピングパターンセットを組み合わせ的に計算することと、
前記第１ＶＯＮデマンドのためのコンクリートマッピングセットを初期化することと、
前記アブストラクトマッピングパターンセットが解析されるかどうかを判定することと、
前記アブストラクトマッピングパターンセットが解析されないことに応答して、前記アブストラクトマッピングパターンセットから前記第１アブストラクトマッピングパターンを選択することと、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されているかどうかを判定することと、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されていないことに応答して、前記第１アブストラクトマッピングパターンから前記第１仮想リンクを取り出すことと、
前記第１アブストラクトマッピングパターンの前の仮想リンクからの１つ以上のノード又は１つ以上のリンクに関する物理ネットワーク情報を除くことと、
前記物理ネットワーク情報における前記第１仮想リンクのエンドポイント間の前記スロット連続最短経路を計算することと、
スロットが不十分である、前記物理ネットワーク情報における前記第１仮想リンクのエンドポイント間の前記スロット連続最短経路の中の１つ以上のスロット連続最短経路を取り除くことと、
前記第１仮想リンクのための前記コンクリート経路を指定することと、
前記第１アブストラクトマッピングパターンに対応する前記コンクリートマッピングパターンに前記最短経路を加えることと
を含む、請求項１に記載の方法。
【請求項７】
前記計算することは、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されていることに応答して、前記コンクリートマッピングパターンが完成したかどうかを判定することと、
前記コンクリートマッピングパターンが完成したことに応答して、該コンクリートマッピングパターンをコンクリートマッピングパターンセットに加えることと、
前記アブストラクトマッピングパターンセットが解析されることに応答して、前記コンクリートマッピングパターンセットを出力することと、
前記ＶＯＮデマンドが解析されることに応答して、前記実行可能なマッピングパターンの計算を完了することと
を更に含む、請求項６に記載の方法。
【請求項８】
前記組の大きさを求めることを更に有し、該求めることは、
最大値パラメータを前記ＶＯＮデマンドの数の絶対値であるよう初期化することと、
最小値パラメータを１であるよう更に初期化することと、
最大プロビジョナブルサイズパラメータをゼロであるよう更に初期化することと、
前記ＶＯＮデマンドがプロビジョナブルであるかどうかを判定することと、
前記ＶＯＮデマンドがプロビジョナブルでないことに応答して、前記最大値パラメータが前記最小値パラメータ以上であるかどうかを判定することと、
前記最大値パラメータが前記最小値パラメータ以上であることに応答して、前記最大値パラメータと前記最小値パラメータとの差の半分に適用される床関数と前記最小値パラメータとの和に等しい中間値パラメータを設定することと、
前記中間値パラメータ以上の大きさの前記ＶＯＮデマンドの組がプロビジョナブルであるかどうかを判定することと、
前記中間値パラメータ以上の大きさの前記ＶＯＮデマンドの組がプロビジョナブルであることに応答して、前記最大プロビジョナブルサイズパラメータを前記中間値パラメータ及び前記最大プロビジョナブルサイズパラメータのうち大きい方であるよう更新することと、
１と前記中間値パラメータとの和に前記最小値パラメータを設定することと
を含む、請求項１に記載の方法。
【請求項９】
前記組の大きさを求めることは、
前記中間値パラメータ以上の大きさの前記ＶＯＮデマンドの組がプロビジョナブルでないことに応答して、前記中間値パラメータと１との差に前記最大値パラメータを設定することと、
前記最大値パラメータが前記最小値パラメータよりも小さいことに応答して、前記最大プロビジョナブルサイズパラメータを出力することと
を更に含む、請求項８に記載の方法。
【請求項１０】
前記中間値パラメータ以上の大きさの前記ＶＯＮデマンドの組がプロビジョナブルであるかどうかを判定することは、
前記大きさを更に読み出すことと、
カウンタパラメータをゼロに初期化することと、
ブロックト制約セットをヌルに更に初期化することと、
前記カウンタパラメータが最大ブロックカウントパラメータよりも小さいかどうかを判定することと、
前記カウンタパラメータが前記最大ブロックカウントパラメータよりも小さいことに応答して、前記物理ネットワーク情報、前記ＶＯＮデマンド、スロット数パラメータ、及び前記ブロックト制約セットに適用される実行可能なマッピング関数のための実行可能なマッピングがあるかどうかを判定することと、
前記実行可能なマッピングがあることに応答して、前記物理ネットワーク情報、前記ＶＯＮデマンド、前記実行可能なマッピング、及び前記ブロックト制約セットに適用されるスロット割り当て関数のための実行可能なスロット割り当てがあるかどうかを判定することと、
前記実行可能なスロット割り当てがないことに応答して、前記実行可能なマッピングをブロックトマッピングの組に加えて、前記カウンタパラメータをインクリメントすることと
を含む、請求項８に記載の方法。
【請求項１１】
物理ノード及び該物理ノードを接続する物理リンクの特性を表す物理ネットワーク情報と、１つ以上のＶＯＮデマンドと、前記物理ノード及び前記物理リンクを含む物理ネットワークの１つ以上の技術制約とを読み出すことと、
前記ＶＯＮデマンドを処理し続けるべきかどうかを判定する繰り返し条件に繰り返しパラメータが違反しているかどうかを判定することと、
前記繰り返しパラメータが前記繰り返し条件に違反していないことに応答して、前記ＶＯＮデマンドの未処理サブグループがあるかどうかを判定することと、
１つ以上の未処理サブグループがあることに応答して、前記ＶＯＮのサブグループを選択することと、
前記ＶＯＮのサブグループのための実行可能なマッピングパターンを計算することであり、前記実行可能なマッピングパターンは、プロビジョニング基準を満たす１つ以上のアブストラクトマッピングパターンを含み、前記実行可能なマッピングパターンを計算することは、前記ＶＯＮデマンドの中の第１ＶＯＮデマンドについて計算されたアブストラクトマッピングパターンセットから第１アブストラクトマッピングパターンを選択し、前記物理ネットワーク情報における前記第１アブストラクトマッピングパターンの第１仮想リンクのエンドポイント間のスロット連続最短経路を計算し、該計算されたスロット連続最短経路から前記第１仮想リンクのためのコンクリート経路を指定し、前記第１アブストラクトマッピングパターンに対応するコンクリートマッピングパターンに前記コンクリート経路として指定された最短経路を加えることを含む、前記実行可能なマッピングパターンを計算することと、
前記サブグループの中から、前記実行可能なマッピングパターンの中の１つの実行可能なマッピングパターン及びスロット割り当てソリューションを有するＶＯＮの組を見つけることであり、前記組の大きさは、前記プロビジョニング基準に違反することなしに前記物理ネットワークに同時にマッピングされ得るＶＯＮの数に等しい、前記見つけることと、
実行可能なスロット割り当てを有する前記組のマッピングソリューションを求めることと、
前記マッピングソリューションのスロット割り当てを求めることと
を含む動作を実行するようプロセッサによって実行可能なプログラミングコードが符号化されている非一時的なコンピュータ可読媒体。
【請求項１２】
前記動作は、前記繰り返しパラメータが前記繰り返し条件に違反することに応答して、前記ＶＯＮデマンドの少なくとも一部に従って前記物理ノード及び前記物理リンクを構成するよう前記物理ネットワークにおいて前記マッピングソリューションを実施することを更に有する、
請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１３】
前記動作は、
前記マッピングソリューションのスロット割り当てを求めることに続いて、前記ＶＯＮデマンドの更なる未処理サブグループがあるかどうかを更に判定することと、
前記ＶＯＮデマンドの１つ以上の更なる未処理サブグループがあることに応答して、前記ＶＯＮの他のサブグループを選択することと、
前記ＶＯＮの他のサブグループのための実行可能なマッピングパターンを計算することと、
前記他のサブグループの中から、前記ＶＯＮの他のサブグループのための実行可能なマッピングパターンの中の１つの実行可能なマッピングパターン及びスロット割り当てソリューションを有するＶＯＮの他の組を見つけることであり、前記他の組の大きさは、前記プロビジョニング基準に違反することなしに前記物理ネットワークに同時にマッピングされ得るＶＯＮの数に等しい、前記他の組を見つけることと、
実行可能なスロット割り当てを有する前記他の組の他のマッピングソリューションを求めることと、
前記他のマッピングソリューションのスロット割り当てを求めることと
を更に有する、請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１４】
前記動作は、
前記ＶＯＮデマンドの１つ以上の未処理サブグループがないことに応答して、ＶＯＮ処理の最後の繰り返しによりマッピングのステータスを反映するよう前記繰り返しパラメータを更新することと、
更新された繰り返しパラメータが前記繰り返し条件に違反するかどうかを判定することと
を更に有する、請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１５】
前記繰り返し条件は、
前記ＶＯＮの全てがマッピングされること、
繰り返しの特定の最大回数が実行されること、
ある量の時間が過ぎること、及び
少なくとも１つの新しいＶＯＮが最後の繰り返しにおいてうまくマッピングされること
のうちの１つ以上を含む、請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１６】
前記計算することは、
前記ＶＯＮデマンドが解析されたかどうかを判定することと、
前記ＶＯＮデマンドが解析されていないことに応答して、前記解析されていないＶＯＮデマンドの中から前記第１ＶＯＮデマンドを選択することと、
前記第１ＶＯＮデマンドのための前記アブストラクトマッピングパターンセットを組み合わせ的に計算することと、
前記第１ＶＯＮデマンドのためのコンクリートマッピングセットを初期化することと、
前記アブストラクトマッピングパターンセットが解析されるかどうかを判定することと、
前記アブストラクトマッピングパターンセットが解析されないことに応答して、前記アブストラクトマッピングパターンセットから前記第１アブストラクトマッピングパターンを選択することと、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されているかどうかを判定することと、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されていないことに応答して、前記第１アブストラクトマッピングパターンから前記第１仮想リンクを取り出すことと、
前記第１アブストラクトマッピングパターンの前の仮想リンクからの１つ以上のノード又は１つ以上のリンクに関する物理ネットワーク情報を除くことと、
前記物理ネットワーク情報における前記第１仮想リンクのエンドポイント間の前記スロット連続最短経路を計算することと、
スロットが不十分である、前記物理ネットワーク情報における前記第１仮想リンクのエンドポイント間の前記スロット連続最短経路の中の１つ以上のスロット連続最短経路を取り除くことと、
前記第１仮想リンクのための前記コンクリート経路を指定することと、
前記第１アブストラクトマッピングパターンに対応する前記コンクリートマッピングパターンに前記最短経路を加えることと
を含む、請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１７】
前記計算することは、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されていることに応答して、前記コンクリートマッピングパターンが完成したかどうかを判定することと、
前記コンクリートマッピングパターンが完成したことに応答して、該コンクリートマッピングパターンをコンクリートマッピングパターンセットに加えることと、
前記アブストラクトマッピングパターンセットが解析されることに応答して、前記コンクリートマッピングパターンセットを出力することと、
前記ＶＯＮデマンドが解析されることに応答して、前記実行可能なマッピングパターンの計算を完了することと
を更に含む、請求項１６に記載の非一時的なコンピュータ可読媒体。
【請求項１８】
前記動作は、前記組の大きさを求めることを更に含み、該求めることは、
最大値パラメータを前記ＶＯＮデマンドの数の絶対値であるよう初期化することと、
最小値パラメータを１であるよう更に初期化することと、
最大プロビジョナブルサイズパラメータをゼロであるよう更に初期化することと、
前記ＶＯＮデマンドがプロビジョナブルであるかどうかを判定することと、
前記ＶＯＮデマンドがプロビジョナブルでないことに応答して、前記最大値パラメータが前記最小値パラメータ以上であるかどうかを判定することと、
前記最大値パラメータが前記最小値パラメータ以上であることに応答して、前記最大値パラメータと前記最小値パラメータとの差の半分に適用される床関数と前記最小値パラメータとの和に等しい中間値パラメータを設定することと、
前記中間値パラメータ以上の大きさの前記ＶＯＮデマンドの組がプロビジョナブルであるかどうかを判定することと、
前記中間値パラメータ以上の大きさの前記ＶＯＮデマンドの組がプロビジョナブルであることに応答して、前記最大プロビジョナブルサイズパラメータを前記中間値パラメータ及び前記最大プロビジョナブルサイズパラメータのうち大きい方であるよう更新することと、
１と前記中間値パラメータとの和に前記最小値パラメータを設定することと
を含む、請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記組の大きさを求めることは、
前記中間値パラメータ以上の大きさの前記ＶＯＮデマンドの組がプロビジョナブルでないことに応答して、前記中間値パラメータと１との差に前記最大値パラメータを設定することと、
前記最大値パラメータが前記最小値パラメータよりも小さいことに応答して、前記最大プロビジョナブルサイズパラメータを出力することと
を更に含む、請求項１８に記載の非一時的なコンピュータ可読媒体。
【請求項２０】
前記中間値パラメータ以上の大きさの前記ＶＯＮデマンドの組がプロビジョナブルであるかどうかを判定することは、
前記大きさを更に読み出すことと、
カウンタパラメータをゼロに初期化することと、
ブロックト制約セットをヌルに更に初期化することと、
前記カウンタパラメータが最大ブロックカウントパラメータよりも小さいかどうかを判定することと、
前記カウンタパラメータが前記最大ブロックカウントパラメータよりも小さいことに応答して、前記物理ネットワーク情報、前記ＶＯＮデマンド、スロット数パラメータ、及び前記ブロックト制約セットに適用される実行可能なマッピング関数のための実行可能なマッピングがあるかどうかを判定することと、
前記実行可能なマッピングがあることに応答して、前記物理ネットワーク情報、前記ＶＯＮデマンド、前記実行可能なマッピング、及び前記ブロックト制約セットに適用されるスロット割り当て関数のための実行可能なスロット割り当てがあるかどうかを判定することと、
前記実行可能なスロット割り当てがないことに応答して、前記実行可能なマッピングをブロックトマッピングの組に加えて、前記カウンタパラメータをインクリメントすることと
を含む、請求項１８に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
ここで論じられる実施形態は、仮想光ネットワークデマンドのスケーラブル・プロビジョニングに関係がある。
【背景技術】
【０００２】
電気通信、ケーブルテレビ、及びデータ通信システムは、遠隔地点間で情報を高速に運ぶために光ネットワークを使用する。光ネットワークでは、情報は、光ファイバを通じて光信号の形で運ばれる。光ファイバは、光経路とも呼ばれ得る。
【０００３】
Software-defined  networking（ＳＤＮ）は、ネットワーク仮想化及び抽象化におけるステップである。ＳＤＮは、ソフトウェア命令を用いて自動的に論理ネットワークエンティティがインスタンス化されることを可能にしてよい。このようにして、ＳＤＮは、仮想ネットワークの柔軟な定義を可能にしてよい。例えば、Open  Network  Foundation（ＯＮＦ）によって管理されるOpenFlow通信プロトコルによれば、トラフィックフローエンティティは、ヘッダ空間において定義されるレイヤ識別子の任意の組み合わせを用いてインスタンス化されてよい。OpenFlowは、トラフィックフローを定義するために様々なレイヤでトラフィック識別子（例えば、インターネットプロトコル（ＩＰ）アドレス、メディアアクセスコントローラ（ＭＡＣ）アドレス、ポートアドレス、など）の様々な組み合わせを使用してよい。物理スイッチへのフローに関連するパケット転送ルールをインストールし設定することによって、OpenFlowコントローラは、トラフィックフローエンティティが、物理スイッチを含むネットワークを通じてルーティングされるパスをインスタンスタンス化することを確かにしてよい。
【０００４】
FlowVisorは、OpenFlowのネットワーク仮想化レイヤの一例である。FlowVisorは、複数のトラフィックフローエンティティを所与のスライスと関連付けることによって、仮想ネットワークエンティティ（“スライス”と呼ばれる。）をインスタンス化してよい。これによって、夫々のスライスは別個のテナントコントローラによって管理され、ネットワークトラフィックの一部及び物理ネットワークのサブセットに対するテナント制御が可能となる。OpenFlowでは、複数のフロースペースが夫々のネットワークスイッチについて定義されてよい。夫々のフロースペースは、スライスと関連付けられてよく、よって、別個のコントローラによって管理される。FlowVisorは、１つのスライスにおけるアクションが、OpenFlowメッセージをインターセプトして上書きすることによって他に影響を及ぼさないことを確かにしてよい。
【０００５】
ＳＤＮテクノロジの原理及び特徴は、インターネットプロトコル（ＩＰ）及びイーサネット（登録商標）ネットワークを中心として最初に展開された。しかし、ＳＤＮの概念は、光ネットワークにも導入されてよい。例えば、ＳＤＮ概念は、無色／無指向／フレックスグリッドのreconfigurable  optical  add/drop  multiplexer（ＲＯＡＤＭ）及び多重変調フォーマットのためのプログラム可能なトランスポンダを用いて構築された高速光ネットワークに適用されてよい。ＳＤＮ対応可能な光ネットワークはSoftware-defined  Optical  Network（ＳＤＯＮ）と呼ばれてよく、よりオープンであり、プログラム可能であり、且つ、アプリケーションアウェアであってよい。ＳＤＯＮの特徴は光ネットワーク仮想化である。これは、ネットワークサービスプロバイダが、同じ物理インフラストラクチャ上で複数の同時に存在する孤立した仮想光ネットワーク（ＶＯＮ；virtual  optical  network）をプロビジョニングすることを可能にしてよい。例えば、従来の光ネットワークでは、ネットワークサービスは光経路（すなわち、所与のエンドポイント間の光ネットワーク経路）に関して提供される。ＳＤＯＮでは、ネットワークサービスは、ＶＯＮに関して提供されてよい。リクエストに応答してＶＯＮをプロビジョニングする場合に、ＶＯＮを物理ネットワークにマッピングするための種々のマッピングパターンが可能であり得る。
【０００６】
然るに、ネットワークサービスは、従来の光経路の代わりにＳＤＯＮにおいてＶＯＮとして提供されてよい。ＶＯＮプロビジョニングは、ある側面において従来の光経路プロビジョニングと区別可能であり得る。例えば、光経路はポイント・ツー・ポイントであってよく、一方、ＶＯＮは複数の仮想ノード及び仮想リンクのネットワークを含んでよい。ＶＯＮにおける夫々の仮想ノードは、物理ネットワークの物理ノードへマッピングされてよく、一方、ＶＯＮにおける夫々の仮想リンクは、物理ノードを接続する１つ以上の物理リンクへマッピングされてよい。ある実施形態では、特定のＶＯＮのための仮想リンクは、個々によりむしろ、集合的にプロビジョニングされてよい。このようにして、ＶＯＮデマンドは、ＶＯＮデマンドのための所望の基準の下で全ての仮想リンクがうまく物理リンクにマッピングされている場合にサーブされてよい。
【０００７】
更に、特定の光経路は、固定ソース及びあて先ノードを有してよい。ＶＯＮでは、仮想ノードの物理ノードへのマッピングは柔軟であってよい。例えば、仮想ノードは、結果として得られる物理ＳＤＯＮスライスがＶＯＮのサービスレベルアグリーメントを満足する限りは、ある地理的範囲内の又はある数の指定された物理ノードの中のいずれかの物理ノードへマッピングされてよい。そのような柔軟性は、ネットワークサービスプロバイダがリース使用量を最適化し且つサービスプロビジョニングコストを削減することができるようにしてよい。
【０００８】
ＶＯＮプロビジョニングは、光ネットワーキングサービスの概念をポイント・ツー・ポイントの固定ノード対光経路のプロビジョニングからマルチポイント・フレキシブルノード又はグループ光ネットワークスライシングへ一般化してよい。光経路は、固定ノードマッピングを夫々持った２つの仮想ノードを含むＶＯＮの特定のインスタンスであってよいので、ＳＤＯＮサービスプロバイダは、そのＶＯＮサービスプロビジョニングシステムをほとんど変更することなしに光経路プロビジョニングへの後方互換性を有してよい。
【０００９】
ここで請求される対象は、上記のいずれかの欠点を解消する実施形態又は上記の環境でしか動作しない実施形態に制限されない。むしろ、この背景は、ここで記載される実施形態が実施され得る技術分野の一例を説明するためにのみ与えられている。
【発明の概要】
【００１０】
実施形態の態様に従って、１つ以上の物理ノードと、該物理ノードを接続する１つ以上の物理リンクとを含む物理ネットワークへ仮想光ネットワーク（ＶＯＮ）をマッピングする方法が提供される。方法は、前記物理ノード及び前記物理リンクの特性を表す物理ネットワーク情報と、１つ以上のＶＯＮデマンドと、前記物理ネットワークの１つ以上の技術制約とを読み出すことを含んでよい。方法は、前記ＶＯＮデマンドを処理し続けるべきかどうかを判定する繰り返し条件に繰り返しパラメータが違反しているかどうかを判定することを含んでよい。前記繰り返しパラメータが前記繰り返し条件に違反していないことに応答して、方法は、前記ＶＯＮデマンドの未処理サブグループがあるかどうかを判定することを含んでよい。１つ以上の未処理サブグループがあることに応答して、方法は、前記ＶＯＮのサブグループを選択することを含んでよい。方法は、前記ＶＯＮのサブグループのための実行可能なマッピングパターンを計算することを含んでよい。方法は、実行可能なマッピング及びスロット割り当てソリューションを有する前記サブグループの最も大きいサブセットのサイズを求めることを含んでよい。方法は、実行可能なスロット割り当てを有する前記サブセットのマッピングソリューションを求めることを含んでよい。方法は、前記マッピングソリューションのスロット割り当てを求めることを含んでよい。
【００１１】
実施形態の目的及び利点は、特許請求の範囲で特に示されている要素、機構、及び組み合わせによって少なくとも実現され達成されるであろう。
【００１２】
上記の概要及び以下の詳細な記載は、実例及び説明であって、請求される発明の限定ではない点が理解されるべきである。
【図面の簡単な説明】
【００１３】
例となる実施形態は、添付の図面の使用を通じて、更なる特定性及び詳細をもって記載及び説明される。
【００１４】
【図１Ａ】幾つかの実施形態が実施され得る例となる動作環境のブロック図を表す。
【００１５】
【図１Ｂ】図１の動作環境において実装され得る例となるネットワークのブロック図を表す。
【００１６】
【図２Ａ】図１の動作環境において実装され得る物理ネットワークの例となるマップである。
【００１７】
【図２Ｂ】例となるＶＯＮデマンドを表す。
【００１８】
【図２Ｃ】他の例となるＶＯＮデマンドを表す。
【００１９】
【図３Ａ】図２ＢのＶＯＮデマンドの例となるアブストラクトマッピングパターンを表す。
【００２０】
【図３Ｂ】図２ＣのＶＯＮデマンドの他の例となるアブストラクトマッピングパターンを表す。
【００２１】
【図４】例となる最短経路探索木を表す。
【００２２】
【図５】ＶＯＮデマンドプロビジョニングプロセスの構成された例となるコンピューティングシステムを表す。
【００２３】
【図６Ａ】ＶＯＮを物理ネットワークへマッピングする例となる方法のフロー図である。
【図６Ｂ】図６Ａのフロー図の続きである。
【００２４】
【図７Ａ】実行可能なマッピングパターンを計算する例となる方法のフロー図である。
【図７Ｂ】図７Ａのフロー図の続きである。
【００２５】
【図８Ａ】サブグループの最大サブセットのサイズを求める例となる方法のフロー図である。
【図８Ｂ】図８Ａのフロー図の続きである。
【００２６】
【図９】あるサイズのＶＯＮデマンドのセットがプロビジョナブルであるかどうかを判定する例となる方法のフロー図である。
【００２７】
全ては、ここで記載される少なくとも１つの実施形態に従う。
【発明を実施するための形態】
【００２８】
多くの物理ネットワークについて、複数の仮想光ネットワーク（ＶＯＮ）デマンドは、いずれかの所与の時点でサーブされてよい。幾つかの物理ネットワークは、多数の物理ノード、物理リンク、及び光伝送スロット（スロット）を含んでよく、それにより、物理ネットワークへの最善のsoftware-defined  optical  network（ＳＤＯＮ）を決定することは、相当な計算リソース及び計算時間の増大を伴うこととなる。この計算複雑性は、所与の物理ネットワークについて複数のＶＯＮデマンドとともに増大する傾向がある。
【００２９】
発見的マッピングプロセスは、発見最良適合マッピングパターンをＶＯＮデマンドへ割り当てるよう夫々のＶＯＮデマンドを別々に処理してよい。発見的マッピングプロセスは、計算的に効率がよいが、全てのＶＯＮデマンドが最良適合マッピングパターンを見つけるためにまとめて考えられず、複数のＶＯＮデマンドの特定の順列が調べられないままですみ、削減されたＶＯＮプロビジョニングをもたらし得るので、最善のマッピングソリューションを提供しないことがある。結果として、物理ネットワークの全体的な設備稼働率は最善ではない。
【００３０】
幾つか又は全ての起こり得るマッピングパターンを考える網羅的列挙マッピングプロセスは、ＶＯＮデマンドが最善のマッピングソリューションを理論上見つけるために実行されてよい。しかし、網羅的列挙のための計算リソース及び時間は、幾つかのシナリオにおいて実際的な様態においてＶＯＮデマンドに有効に応答するには法外に高く且つ融通が利かないことがある。
【００３１】
然るに、ここで記載される幾つかの実施形態は、可能な限り多くのＶＯＮデマンドをプロビジョニングするよう構成される。例となる実施形態において、ＳＤＯＮマッピングソリューションは、ＶＯＮのサブグループが処理される複数の繰り返しの間に生成されてよい。サブグループの夫々について、幾つか又は全ての実行可能なマッピングパターンが計算される。実行可能なマッピング及びスロット割り当てソリューションを有するサブグループの最大サブセットのサイズが見つけられる。加えて、サブセットのベストコストのマッピングソリューション及びマッピングソリューションのベストコストのスロット割り当てが見つけられ得る。ＶＯＮデマンドプロビジョニングプロセスは、停止基準に達するか及び／又はＶＯＮの幾つか又は全てがマッピングソリューションにおいて含まれるまで、続いてよい。マッピングソリューションは、物理ネットワークへ通信されそこで実装されてよい。
【００３２】
以下の記載では、開示されている対象の議論を促すよう、一例として、詳細が示されている。開示されている実施形態は例であり、全ての可能な実施形態を網羅するものではない。本発明の実施形態は、添付の図面を参照して説明される。
【００３３】
図１Ａは、幾つかの実施形態が実施され得る例となる動作環境５０を表す。動作環境５０において、マッピングソリューション１０９はＳＤＯＮコントローラ１１３によって生成されてよい。マッピングソリューション１０９は、物理ネットワーク２００へ通信されそこで実装されてよい。例えば、マッピングソリューション１０９は、マッピングソリューション１０９に従って物理ノード１０１のサブセット及び／又は物理リンク１０５のサブセットを構成してよい。
【００３４】
マッピングソリューション１０９は、ＶＯＮデマンド１１１及び／又は物理ネットワーク情報１２３に基づき生成されてよい。ＶＯＮデマンド１１１は、カスタマサーバ１２５によってＳＤＯＮコントローラ１１３へ通信されてよい。物理ネットワーク情報１２３は、物理ネットワーク２００から読み出され又は別なふうにアクセスされてよい。
【００３５】
動作環境５０は、ＳＤＯＮコントローラ１１３、カスタマサーバ１２５、及び物理ネットワーク２００を含む。ＳＤＯＮコントローラ１１３、カスタマサーバ１２５及び物理ネットワーク２００（集合的に、「環境コンポーネント」）は、ネットワーク１０７を介して情報（例えば、１２３、１１１、１０９）をやり取りしてよい。環境コンポーネント及びネットワーク１０７の夫々は、以下で簡単に説明される。
【００３６】
ネットワーク１０７は、有線ネットワーク、無線ネットワーク、又はそれらのあらゆる組み合わせを含んでよい。ネットワーク１０７は、スター構成、トークンリング構成、又は他の構成を含む如何なる適切な構成（複数を含む。）も含んでよい。ネットワーク１０７は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えば、インターネット）、及び／又は他の相互に接続されたデータパスを含んでよく、それを介して複数のデバイスを通信することができる。幾つかの実施形態において、ネットワーク１０７は、ピア・ツー・ピアネットワークを含んでよい。ネットワーク１０７はまた、多種多様な通信プロトコルにおけるデータの通信を可能にし得る電気通信ネットワークへ結合されるか又はその部分を含んでもよい。幾つかの実施形態において、ネットワーク１０７は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）、直接データ接続、無線アプリケーションプロトコル（ＷＡＰ）、電子メール、及び同様のものを含むデータの送信及び受信のためのＢｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク及び／又はセルラー通信ネットワークを含む。動作環境５０において、ネットワーク１０７は、物理ネットワーク２００とは別個に表されている。幾つかの実施形態において、ネットワーク１０７及びそのある部分は、物理ネットワーク２００の物理リンク１０５の１つ以上において含まれるか又はそれを構成してよい。
【００３７】
カスタマサーバ１２５は、プロセッサベースのコンピューティングシステムを含んでよい。例えば、カスタマサーバ１２５は、サーバとして機能するよう構成されたハードウェアサーバ又は他のプロセッサベースのコンピューティングシステムを含んでよい。カスタマサーバ１２５は、メモリ及びネットワーク通信機能を含んでよい。動作環境５０において、カスタマサーバ１２５は、ＳＤＯＮコントローラ１１３及び／又は物理ネットワーク２００若しくはそのコンポーネントと通信するよう構成されてよい。カスタマサーバ１２５は、物理ネットワーク２００において構成されるＶＯＮを要求するカスタマ又は他のエンティティと関連してよい。
【００３８】
カスタマサーバ１２５は、ＶＯＮデマンド１１１をＳＤＯＮコントローラ１１３へ通信してよい。ＶＯＮデマンド１１１は、１つ以上の仮想ノード、１つ以上の候補物理ノード、及び１つ以上の仮想リンクを含んでよい。ＶＯＮデマンド１１１の幾つかの例は、本開示において別の場所で与えられる。ＶＯＮデマンド１１１に基づき、マッピングソリューション１０９は生成されてよい。マッピングソリューション１０９は、第１ＶＯＮ１０３Ａ及び第２ＶＯＮ１０３Ｂを構成するよう物理ネットワーク２００において実装されてよい。
【００３９】
物理ネットワーク２００は、物理ノード１０１及び物理リンク１０５を含んでよい。物理ノード１０１は、物理リンク１０５を介して通信上結合されてよい。物理ノード１０１の１つ以上は、サーバ、あるいは、中継器及び／又はハブのような他のネットワークコンポーネントを含んでよい。
【００４０】
物理リンク１０５は、物理ノード１０１を通信上リンクする如何なるネットワークハードウェアコンポーネントも含んでよい。例えば、物理リンク１０５は、ネットワーク１０７を参照して記載された１つ以上のハードウェアコンポーネントを含んでよい。物理リンク１０５及び物理ノード１０１は、ＳＤＯＮコントローラ１１３によって生成されるマッピングソリューション１０９に基づき構成可能である。
【００４１】
表される実施形態では、ＳＤＯＮコントローラ１１３は、物理ネットワーク２００の外に表されている。幾つかの実施形態において、ＳＤＯＮコントローラ１１３は、物理ネットワーク２００に含まれてよい。例えば、ＳＤＯＮコントローラ１１３は、物理ノード１０１の１つ以上に含まれてよい。
【００４２】
ＳＤＯＮコントローラ１１３は、プロセッサベースのコンピューティングシステムを含んでよい。例えば、ＳＤＯＮコントローラ１１３は、サーバとして機能するよう構成されたハードウェアサーバ又は他のプロセッサベースのコンピューティングシステムを含んでよい。ＳＤＯＮコントローラ１１３は、メモリ及びネットワーク通信機能を含んでよい。動作環境５０において、ＳＤＯＮコントローラ１１３は、カスタマサーバ１２５及び／又は物理ネットワーク２００若しくはそのコンポーネントと通信するよう構成されてよい。
【００４３】
ＳＤＯＮコントローラ１１３は、ＶＯＮプロビジョンモジュール１１５を含んでよい。ＶＯＮプロビジョンモジュール１１５は、ＶＯＮデマンドプロビジョニングプロセスを実行するよう構成されてよい。ＶＯＮデマンドプロビジョニングプロセスは、物理ネットワーク情報１２３及び／又はＶＯＮデマンド１１１に基づきマッピングソリューション１０９を生成してよい。
【００４４】
ＶＯＮプロビジョンモジュール１１５は、マッピングソリューション１０９を物理ネットワーク２００へ通信してよい。マッピングソリューション１０９は、物理ノード１０１及び物理リンク１０５の１つ以上を構成して、例えば、第１ＶＯＮ１０３Ａ及び／又は第２ＶＯＮ１０３Ｂを生成するよう、物理ネットワーク２００において実装されてよい。
【００４５】
幾つかの実施形態において、ＶＯＮプロビジョンモジュール１１５は、１つ以上の繰り返しの間にマッピングソリューション１０９を生成するよう構成されてよい。例えば、繰り返しの間に、特定のサイズのマッピングされていないＶＯＮ（例えば、１０３Ａ及び１０３Ｂ）のサブグループが処理されてよい。ＶＯＮプロビジョンモジュール１１５は、サブグループの構成ＶＯＮの１つ以上についての幾つか又は全ての実行可能なマッピングパターンを計算するよう構成されてよい。ＶＯＮプロビジョンモジュール１１５は、実行可能なマッピング及びスロット割り当てソリューションを有するＶＯＮのサブグループの最大サブセットのサイズを求めてよい。ＶＯＮプロビジョンモジュール１１５は、実行可能なスロット割り当てを有するサブセットのベストコストのマッピングソリューションを求めてよく、マッピングソリューションのベストコストのスロット割り当てが求められ得る。ＶＯＮプロビジョンモジュール１１５は、停止基準に達するまで、ＶＯＮデマンドプロビジョニングプロセスを続けてよい。
【００４６】
ＶＯＮプロビジョンモジュール１１５は、プロセッサ、マイクロプロセッサ（例えば、１つ以上の動作を実行するか又はその実行を制御する。）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は特定用途向け集積回路（ＡＳＩＣ）を含むハードウェアにより実施されてよい。幾つかの他の事例では、ＶＯＮプロビジョンモジュール１１５は、ハードウェアとソフトウェアとの組み合わせにより実施されてよい。ソフトウェアにおける実施は、コンピューティングシステム（例えば、カスタマサーバ１２５、ＳＤＯＮコントローラ１１３、及び物理ネットワーク２００）のハードウェアに含まれ得るような１つ以上のトランジスタ又はトランジスタ素子の急速活性化及び非活性化を含んでよい。加えて、ソフトウェア定義の命令が、トランジスタ素子内の情報に作用してよい。ソフトウェア命令の実施は、電子経路を少なくとも一時的な再構成し、コンピューティングハードウェアを変形させてよい。
【００４７】
本開示の適用範囲から逸脱することなしに、動作環境５０に対して、変更、追加、又は削除が行われてよい。具体的に、動作環境は、１つ以上のＳＤＯＮコントローラ、１つ以上のカスタマサーバ、１つ以上の物理ネットワーク、又はそれらのあらゆる組み合わせを含んでよい。更に、ここで記載される実施形態における様々なコンポーネントの分離は、そのような分離が全ての実施形態で起こることを示すよう意図されない。本開示のために、記載されている環境コンポーネントは、単一のコンポーネントにまとめられても、あるいは、複数のコンポーネントに分けられてもよいことが理解され得る。例えば、ＳＤＯＮコントローラ１１３は、物理ノード１０１の１つ以上に含まれてよい。
【００４８】
動作環境５０において、環境コンポーネントの１つ以上におけるメモリは、図５を参照して記載されるメモリ５０８と同様であってよく、環境コンポーネントの１つ以上におけるプロセッサは、図５を参照して記載されるプロセッサ５０４と同様であってよく、環境コンポーネントの１つ以上のネットワーク通信機能は、図５を参照して記載される通信ユニット５０２によって提供されてよい。
【００４９】
図１Ｂは、例となるネットワーク１００を表し、ネットワーク１００は、図１Ａの動作環境５０において実装され得る光通信システムを表してよい。ネットワーク１００は、ネットワーク１００のコンポーネント（例えば、ネットワーク要素）によって通信される１つ以上の光信号を運ぶよう構成された１つ以上の光ファイバ１０６を含んでよい。ネットワーク１００のネットワーク要素は、光ファイバ１０６によって連結されてよく、潜在的に他のネットワーク要素（図示せず。）の中でも特に、１つ以上の送信器１０２、１つ以上のマルチプレクサ１０４、１つ以上の光増幅器１０８、１つ以上の光アド／ドロップマルチプレクサ（ＯＡＤＭ；optical  add/drop  multiplexer）１１０、１つ以上のデマルチプレクサ１３０、及び１つ以上の受信器１１２を含んでよい
【００５０】
ネットワーク１００は、終端ノードを伴うポイント・ツー・ポイント光ネットワーク、リング光ネットワーク、メッシュ光ネットワーク、若しくはその他適切な光ネットワーク、又は光ネットワークの組み合わせを含んでよい。光ファイバ１０６は、極めて低い損失で長い距離にわたって光信号を通信することが可能なガラスの細い房を含んでよい。光ファイバ１０６は、多種多様なファイバ種類から選択された如何なる適切な種類のファイバも含んでよい。
【００５１】
情報は、光の１つ以上の波長を変調して、光の１つ以上の波長において情報を符号化することによって、ネットワーク１００を通じて送信及び受信されてよい。光ネットワーキングにおいて、光の波長は、チャネル、スペクトルスロット、又はスロットとも呼ばれ得る。夫々のスロットは、一定量の情報をネットワーク１００を通じて搬送するよう構成されてよい。
【００５２】
幾つかの実施形態において、複数の光信号は、波長分割多重化（ＷＤＭ）を用いてスロットを単一の広域光信号へと結合することによって、複数の波長（夫々の波長はスロットを表す。）を用いて単一のファイバを通じて同時に送信されてよい。疎波長分割多重化（ＣＷＤＭ）は、少数のスロットにおいて広く間隔をあけられている波長の多重化（通常は、２０ナノメートル（ｎ）よりも大きく且つ１６個に満たない波長）を指す。密波長分割多重化（ＤＷＤＭ）は、多数のスロットにより密に間隔をあけられている波長の多重化（通常は、０．８ｎｍに満たず且つ４０個よりも多い波長）を指す。ＷＤＭ又は他の多波長多重化伝送技術は、光ファイバごとの集約バンド幅を増大させるために光ネットワークにおいて用いられる。ＷＤＭによれなければ、光ネットワークにけるバンド幅は、１波長のビットレートに制限され得る。ネットワーク１００は、ＷＤＭ又は何らかの他の適切なマルチチャネル多重化技術を用いてバラバラなチャネルを送信するよう構成されてよい。
【００５３】
送信器（図１Ｂにおける“Ｔｘ”）１０２は、特定の波長においてネットワーク１００を通じて光信号を送信するよう構成されてよい。送信器１０２の夫々は、送信のために電気信号を光信号に変換するよう構成されたシステム、装置、又はデバイスを含んでよい。送信器１０２は、夫々が、電気信号を受信し、該電気信号に含まれる情報を、特定の波長でレーザによって生成される光ビームに変調して、光ビームをネットワーク１００の１つ以上の部分を通じて送信するために、レーザ及び変調器を含んでよい。語「光」は、概してここでは、何らかの適切な波長の電磁放射に言及するために使用され、例えば、約８００〜９００ｎｍ、１３６０〜１４６０ｎｍ、１５３０〜１５６５ｎｍ、又は他の適切な波長の波長を持った光を含んでよい。
【００５４】
マルチプレクサ１０４は、送信器１０２へ光学的に結合されてよく、異なる波長で送信器１０２によって送信された光ビームを、複数のチャネル、又は共通の光経路において（例えば、光ファイバ１０６内を）伝播するスロットを有するＷＤＭ信号へとまとめるよう構成されたシステム、装置、又はデバイスを含んでよい。
【００５５】
光増幅器１０８は、ネットワーク１００内のＷＤＭ信号を増幅してよく、光ファイバ１０６のある長さの前及び／又は後に位置付けられてよい。光増幅器１０８は、ＷＤＭ信号を増幅するよう構成されたシステム、装置、又はデバイスを含んでよい。少なくとも１つの実施形態では、光増幅器１０８は、ＷＤＭ信号を増幅する光中継器を含んでよい。この増幅は光−電気又は電気−光変換により実行されてよい。幾つかの実施形態において、光増幅器１０８は、ドープトファイバ増幅要素を形成するよう希土類元素をドープされた光ファイバ１０６を含んでよい。それにより、信号がファイバを通る場合に、外部エネルギは、ポンプ信号の形で適用されて光ファイバ１０６のドープ部分の原子を励起し、ＷＤＭ信号強さを増大させる。一実施形態において、光増幅器１０８は、エルビウム添加ファイバ増幅器（ＥＤＦＡ；erbium-doped  fiber  amplifier）を含む。
【００５６】
ＯＡＤＭ１１０は、光ファイバ１０６を介してネットワーク１００へ結合されてよい。ＯＡＤＭ１１０は、アド／ドロップモジュールを含んでよく、光ファイバ１０６から個々の波長で光信号をアド及び／又はドロップするよう構成されたシステム、装置、又はデバイスを含んでよい。光信号は、光ファイバ１０６に沿って直接にあて先へ移動してよく、あるいは、光信号は、あて先に着く前に１つ以上の付加的なＯＡＤＭ１１０及び又は光増幅器１０８を通されてよい。
【００５７】
ネットワーク１００は、ネットワーク１００の１つ以上のあて先において１つ以上のデマルチプレクサ１３０を更に含んでよい。デマルチプレクサ１３０は、単一の合成ＷＤＭ信号を異なる光経路における夫々の波長での個々のチャネルへと分けることによってデマルチプレクサとして動作するシステム、装置、又はデバイスを含んでよい。１つの制限されない例では、ネットワーク１００は、４０チャネルＤＷＤＭ信号を送信及び搬送してよい。デマルチプレクサ１３０は、４０個の異なるチャネルに従って４０チャネルＤＷＤＭ信号を４０個の別々の光信号へと分けてよく、別々の光信号の夫々を受信器１１２の対応する１つへ向けてよい。
【００５８】
ネットワーク１００のある実施形態において、ＯＡＤＭ１１０は、ＷＤＭ信号の個々の又は複数の波長をアド又はドロップすることができる再構成可能なＯＡＤＭ（ＲＯＡＤＭ）を表してよい。個々の又は複数の波長は、例えば、ＲＯＡＤＭに含まれ得る波長選択スイッチ（ＷＳＳ）（図示せず。）を用いて、光領域においてアド又はドロップされてよい。
【００５９】
受信器１１２は、デマルチプレクサ１３０へ光学的結合されてよい。夫々の受信器１１２は、デマルチプレクサ１３０から別々の光信号のうちの対応する１つを受信するよう構成されてよく、光信号によって搬送されているデータを得るよう光信号を処理してよい。例えば、夫々の受信器１１２は、自身に入射した対応する光信号を表す電気データ信号を生成してよい。然るに、ネットワーク１００は、ネットワーク１００の夫々のチャネル又はスロットについて少なくとも１つの受信器１１２を含んでよい。
【００６０】
光ネットワークは、光信号内に含まれている情報を運ぶために変調技術を用いてよい。例となる変調方式には、とりわけ、制限なしに、位相シフトキーイング（ＰＳＫ；phase-shift  keying）、周波数シフトキーイング（ＦＳＫ；frequency-shift  keying）、振幅シフトキーイング（ＡＳＫ；amplitude-shift  keying）、及び直交振幅変調（ＱＡＭ；quadrature  amplitude  modulation）が含まれてよい。ＰＳＫでは、光信号によって搬送される情報は、搬送波又は単にキャリアとしても知られている基準信号の位相を変調することによって運ばれてよい。情報は、２段階又はバイナリ位相シフトキーイング（ＢＰＳＫ；binary  phase-shift  keying）、４段階又は直交位相シフトキーイング（ＱＰＳＫ；quadrature  phase-shift  keying）、多段階位相シフトキーイング（Ｍ−ＰＳＫ；multi-level  phase-shift  keying）、及び差動位相シフトキーイング（ＤＰＳＫ；differential  phase-shift  keying）を用いて信号自体の位相を変調することによって運ばれてよい。ＱＡＭでは、光信号によって搬送される情報は、搬送波の振幅及び位相の両方を変調することによって運ばれてよい。ＰＳＫは、搬送波の振幅が一定に保たれる点で、ＱＡＭの一部と考えられてよい。加えて、偏光分割多重化（ＰＤＭ；polarization  division  multiplexing）技術は、情報を送信するために、より大きいビットレートを可能にしてよい。ＰＤＭ伝送は、チャネルに関連する光信号の様々な偏光成分に情報を変調することを含む。光信号の偏光は、一般に、光信号の発振の方向を指してよい。語「偏光」は、一般に、空間内のある点での光信号の電界ベクトルの先端によって描かれる経路を指してよい。この経路は、光信号の伝播方向に直交してよい。
【００６１】
光ネットワークは、マネージメントプレーン、コントロールプレーン、及びトランスポートプレーン（図示せず。）を含む物理レイヤを有してよい。中央管理ホスト（図示せず。）は、マネージメントプレーンに存在してよく、コントロールプレーンのコンポーネントを監督するよう構成されてよい。マネージメントプレーンは、トランスポートプレーンエンティティ、コントロールプレーンエンティティ、及びネットワーク要素に対する最終的な制御を有してよい。１つの制限されない例として、マネージメントプレーンは、１つ以上のプロセッシングリソース及びデータストレージコンポーネントを含む中央演算処理ユニット（例えば、中央管理ホスト）から成ってよい。マネージメントプレーンは、コントロールプレーンの要素と電気的に通信してよく、更には、トランスポートプレーンの１つ以上のネットワーク要素とも電気的に通信してよい。マネージメントプレーンは、システム全体のための管理機能を実行し、ネットワーク要素、コントロールプレーン、及びトランスポートプレーンの間の協調を提供してよい。幾つかの例では、マネージメントプレーンは、ネットワーク要素の観点から１つ以上のネットワーク要素を扱う要素管理システム（ＥＭＳ）、ネットワークの観点からデバイスを扱うネットワーク管理システム（ＮＭＳ）、及び／又はネットワーク規模の動作を扱う動作サポートシステム（ＯＳＳ）を含んでよい。
【００６２】
本開示の適用範囲から逸脱すること成しに、ネットワーク１００に対して、変更、追加、又は削除が行われてよい。例えば、ネットワーク１００は、図１Ｂに表されているよりも多い又は少ない要素を含んでよい。加えて、ネットワーク１００は、分散補償モジュール（ＤＣＭ）のような、明示的に図示されてない他の要素を含んでよい。ネットワーク１００は、リング、メッシュ、及び／又は階層ネットワークトポロジのような、光信号を送信するための如何なる適切なネットワークトポロジも含んでよい。
【００６３】
図２Ａは、物理ネットワーク２００の例を表す。物理ネットワーク２００は、物理リンク１０５によって互いに接続されている物理ノード１０１を含んでよい。物理ネットワーク２００は、図１Ｂのネットワーク１００を含むか又はそれに対応してよく、あるいは、ネットワーク１００のコンポーネントの１つ以上を含んでよい。物理ノード１０１は、図２ＡにおいてＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ及びＧとラベルを付されている。物理リンク１０５は、図２ＡにおいてＡ１、Ｂ１、Ｃ１、Ｄ１、Ｅ１、Ｆ１、Ｇ１、Ｈ１、Ｉ１及びＪ１とラベルを付されている。物理リンクＡ１乃至Ｊ１は、物理ノードＡ乃至Ｇのうちの２つの間にわたる。図２Ａにおいて、物理リンクＡ１乃至Ｊ１の夫々の長さは、物理リンクラベルの下に含まれている。図２Ａの物理ネットワーク２００では、距離はマイルで表される。例えば、物理リンクＡ１は、１００マイルの長さを有してよく、これは、物理ノードＡと物理ノードＥとの間の距離に対応する。
【００６４】
物理ノードＡ乃至Ｇのうちの１つ以上は、上記のプロセッサベースのサーバのようなコンピュータシステムを含むか、又はそれを表してよい。物理ノードＡ乃至Ｇは、図１Ｂを参照して論じられたコンポーネント（例えば、１０２、１０４、１３０、１０６、１０８、及び１１２）のうちの１つ以上を含んでよい。物理ノードＡ乃至Ｇは、データ及び情報を他の物理ノードＡ乃至Ｇへ物理リンクＡ１乃至Ｊ１のうちの１つ以上を介してアクティブにルーティングしてよい。物理ノードＡ乃至Ｇのうちのどれが、そして、物理リンクＡ１乃至Ｊ１のうちのどれを介するのかは、ＶＯＮデマンド（例えば、図１ＡのＶＯＮデマンド１１１）に従って適合されてよい。物理ノードＡ乃至Ｇは、メモリ及び１つ以上のプロセッサを含んでよい。幾つかの実施形態において、物理ノードＡ乃至Ｇのうちの１つ以上は、ＳＤＯＮコントローラ（例えば、図１ＡのＳＤＯＮコントローラ１１３）を含んでよい。ＳＤＯＮコントローラは、本願で記載されるＶＯＮプロビジョニングプロセスの１つ以上を実行するか、又はその実行を引き起こしてよい。
【００６５】
物理リンクＡ１乃至Ｊ１のうちの１つ以上は、物理ノードＡ乃至Ｇのうちの２つ以上の間でデータ及び情報をやり取りするよう構成されてよい。例えば、物理ノードＡと物理ノードＢとの間のデータの送信は、物理リンクＪ１を介してよい。物理リンクＡ１乃至Ｊ１は、図１Ｂを参照して論じられたコンポーネント（例えば、１０２、１０４、１３０、１０６、１０８、１１０及び１１２）のうちの１つ以上を含んでよい。幾つかの実施形態において、物理リンクＡ１乃至Ｊ１は２つ以上のスロットを含んでよい。スロットは、その上で通信される光信号の波長を含んでよい。
【００６６】
図２Ａの物理ネットワーク２００は、必ずしも実寸通りに描かれておらず、互いに対する物理ノードのおおよその相対位置を表してよい。更に、本開示のために、本開示で記載されるプロセスは物理ネットワーク２００を参照して論じられているが、それらのプロセスは、物理ノード、物理リンク、及び本願の別の場所で詳述されるプロビジョニング機能を含む如何なる物理ネットワークにも適用可能であってよいことが理解され得る。
【００６７】
幾つかの環境において、カスタマは、特定のＶＯＮが物理ネットワーク２００を用いて仮想的に構築されることを要求してよい。特定のＶＯＮの特性は、ＶＯＮデマンドにおいて要求されてよい。ＶＯＮデマンドは、１つ以上の仮想ノード及び１つ以上の仮想リンクを含み得るネットワークトポロジを含んでよい。仮想ノードは、仮想ノードがマッピングされ得る物理ノード（例えば、物理ノードＡ乃至Ｇ）の組を含んでよい。仮想ノードがマッピングされ得る物理ノードの組は、候補物理ノードと呼ばれる。ＶＯＮデマンドを実現するよう、１つ以上のマッピングパターンが、物理ネットワーク２００を用いて生成されてよい。
【００６８】
図２Ｂ及び２Ｃは、夫々、第１ＶＯＮデマンド２１０及び第２ＶＯＮデマンド２２０（集合的に、ＶＯＮデマンド２１０／２２０）を表す。第１ＶＯＮデマンド２１０及び第２ＶＯＮデマンド２２０は、図１ＡのＶＯＮデマンド１１１の例であってよい。例えば、第１ＶＯＮデマンド２１０は、第１ＶＯＮ１０３Ａのためであってよく、第２ＶＯＮデマンド２２０は、第２ＶＯＮ１０３Ｂのためであってよい。以下の段落で詳述される例では、ＶＯＮデマンド２１０／２２０は、ＶＯＮデマンドプロビジョニングプロセスに従って、図２Ａの物理ネットワーク２００へマッピングされてよい。この例では、物理ネットワーク２００における図２Ａの物理リンクＡ１乃至Ｊ１の夫々は２つのスロットを含む。本開示のために、以下の議論は、一例となるＶＯＮプロビジョニングであることが理解されてよい。然るに、ＶＯＮデマンドプロビジョニングプロセスは、物理リンクＡ１乃至Ｊ１の夫々において他の個数のスロットが含まれ得る他の物理ネットワーク及び／又は他のＶＯＮデマンドに適用されてよい。
【００６９】
図２Ｂにおいて、第１ＶＯＮデマンド２１０は、第１仮想ノードＶ１、第２仮想ノードＶ２、及び第３仮想ノードＶ３（概して、仮想ノードＶ１、Ｖ２、Ｖ３、又はそれらの組み合わせ）を特定する。第１ＶＯＮデマンド２１０は、仮想ノードＶ１、Ｖ２及びＶ３を接続する３つの仮想リンク２０２、２０４及び２０６を更に特定する。具体的に、第１仮想リンク２０２は、仮想ノードＶ１及びＶ３を接続し、第２仮想リンク２０４は、仮想ノードＶ１及びＶ２を接続し、第３仮想リンク２０６は、仮想ノードＶ２及びＶ３を接続する。
【００７０】
第１ＶＯＮデマンド２１０は、候補物理ノード２３０Ａ乃至２３０Ｅを含んでよい。候補物理ノード２３０Ａ乃至２３０Ｅは、仮想ノードＶ１乃至Ｖ３がマッピングされ得る物理ネットワーク２００における物理ノードＡ乃至Ｇの組を表す。仮想ノードＶ１乃至Ｖ３の夫々のための候補物理ノード２３０Ａ乃至２３０Ｅは、対応する仮想ノードＶ１乃至Ｖ３に隣接して破線によって表されている。例えば、第１仮想ノードＶ１は、物理ノードＡを含む候補物理ノード２３０Ａに、及び物理ノードＥを含む候補物理ノード２３０Ｂに対応してよい。候補物理ノード２３０Ｃ及び２３０Ｄは仮想ノードＶ３に対応し、候補物理ノード２３０Ｅは仮想ノードＶ２に対応してよい。
【００７１】
仮想ノードＶ１乃至Ｖ３の夫々は、一意のマッピングパターンを形成するよう、対応する候補物理ノード２３０Ａ乃至２３０Ｅのうちの１つへマッピングされてよい。一般に、マッピングパターンを形成するときに、仮想ノードＶ１、Ｖ２及びＶ２のうちの２つは、同じ候補物理ノード２３０Ａ乃至２３０Ｅへマッピングされ得ない。然るに、第１ＶＯＮデマンド２１０を参照して、４つの可能なマッピングパターンが存在する。第１ＶＯＮデマンド２１０についてのマッピングパターンは、表１に載せられている：
【表１】
0006696303.tif 000002
【００７２】
図２Ｃにおいて、第２ＶＯＮデマンド２２０は、第４仮想ノードＶ４、第５仮想ノードＶ５、及び第６仮想ノードＶ６（概して、仮想ノードＶ４、Ｖ５、Ｖ６、又はそれらの組み合わせ）を特定する。第２ＶＯＮデマンド２２０は、２つの仮想リンク２２２及び２２４を更に特定する。仮想リンク２２２及び２２４は、仮想ノードＶ４乃至Ｖ６を接続する。具体的に、第４仮想リンク２２２は、仮想ノードＶ４及びＶ５を接続し、第５仮想リンク２２４は、仮想ノードＶ５及びＶ６を接続する。
【００７３】
第２ＶＯＮデマンド２２０は、上記の候補物理ノード２３０Ａ乃至２３０Ｅと同様である候補物理ノード２３０Ｆ乃至２３０Ｋを含んでよい。上記のように、仮想ノードＶ４乃至Ｖ６の夫々のための候補物理ノード２３０Ｆ乃至２３０Ｋは、対応する仮想ノードＶ４乃至Ｖ６に隣接して破線によって表されている。例えば、第４仮想ノードＶ４は、物理ノードＣ及びＤを含む候補物理ノード２３０Ｋ及び２３０Ｆに対応してよい。第５仮想ノードＶ５は、物理ノードＦ及びＧを含む候補物理ノード２３０Ｇ及び２３０Ｈに対応してよい。第６仮想ノードＶ６は、物理ノードＡ及びＢを含む候補物理ノード２３０Ｉ及び２３０Ｊに対応してよい。
【００７４】
仮想ノードＶ４乃至Ｖ６の夫々は、一意のマッピングパターンを形成するよう、対応する候補物理ノード２３０Ｆ乃至２３０Ｋのうちの１つへ“マッピング”されてよい。然るに、第２ＶＯＮデマンド２２０について８つのマッピングパターンが存在し、これは、表２に載せられている：
【表２】
0006696303.tif 000003
【００７５】
［ＶＯＮデマンドプロビジョニング］
図１Ａ及び２Ａ乃至２Ｃをまとめて参照して、ＶＯＮデマンドプロビジョニングプロセスは、ＶＯＮデマンド２１０及び２２０を含み得るＶＯＮデマンド１１１の幾つか又は全ての物理ネットワーク２００への最善のマッピングソリューションを決定してよい。ＶＯＮデマンドプロビジョニングプロセスにおいて、ＶＯＮデマンド１１１の幾つか又は全てはマッピングされなくてよい。例えば、ＶＯＮデマンド２１０及び／又は２２０の一方又は両方は、最善のマッピングに含まれなくてよい。
【００７６】
加えて、ＶＯＮデマンドプロビジョニングプロセスは、ＶＯＮプロビジョニング基準の１つ以上が満足されるように最善のマッピングを生成してよい。ＶＯＮプロビジョニング基準は：仮想ノードＶ１乃至Ｖ６のうちの１つ以上が対応する候補物理ノード２３０Ａ乃至２３０Ｋのうちの１つにマッピングされること；仮想リンク２０２、２０４、２０６、２２２、２２４のうちの１つ以上が物理ネットワーク２００における物理リンクＡ１乃至Ｊ１のうちの１つ以上にマッピングされること；マッピングソリューションがＶＯＮマッピングパターンのうちの１つで実現されること（例えば、第１ＶＯＮデマンド２１０からの第１ＶＯＮ１０３Ａは、表１のＭＰ０１乃至ＭＰ０４のうちの１つで実現される。）；仮想ノードＶ１乃至Ｖ６のうちの２つが同じ物理ノードＡ乃至Ｇにマッピングされ得ないこと；距離適応変調、例えば、仮想リンク２０２、２０４、２０６、２２２及び２２４のうちの１つからのスロットの特定の数がマッピングされた仮想リンクの総物理長さの関数であってよいことを含んでよい。距離適応変調の例として、例えば、距離が４００マイルに満たない場合には、マッピングソリューションは、物理リンクごとに１つのスロットを含んでよく、距離が４００マイルよりも大きい場合には、マッピングソリューションは、リンクごとに２つのスロットを含んでよい。
【００７７】
加えて、又は代替的に、幾つかの実施形態において、ＶＯＮデマンドプロビジョニングプロセスは、１つ以上のリンク容量制約を含んでよい。リンク容量制約は、例えば、物理リンクごとの利用可能なスロットの数を制限することを含んでよい。ＶＯＮプロビジョニング基準は：仮想リンクＶ１乃至Ｖ６のうちの１つ以上が、それがトラバースする夫々の物理リンク１０５において同じスロットを占有するようマッピングされること（例えば、スロット連続）；ネットワークフラグメンテーションを最小限とし得る、マッピングの間の最も低い利用可能なスロットへの仮想リンク２０２、２０４、２０６、２２２及び２２４のうちの１つ以上の割り当て；１つ以上の信頼性制約（例えば、単一のＶＯＮデマンドのためのマッピングソリューション内で物理ノード及び／又は物理リンクの交差がないこと。）；及びマッピングされるＶＯＮの数、物理スロットの総数（ネットワーク稼働率）、ある程度のネットワークフラグメンテーション、他のコスト関数因子、又はそれらの何らかの組み合わせを考慮し得るコスト関数を更に含んでよい。
【００７８】
ＶＯＮデマンドプロビジョニングプロセスは、ＳＤＯＮコントローラ１１３が物理ネットワーク情報１２３を読み出すことによって開始してよい。物理ネットワーク情報１２３は、物理ノード１０１及び物理リンク１０５の特性（例えば、相対位置、距離、など）を表してよい。ＳＤＯＮコントローラ１１３は、ＶＯＮデマンド１１１及び物理ネットワーク２００の１つ以上の技術制約（例えば、物理リンクごとのスロットの数）を更に読み出してよい。
【００７９】
一般に、ＶＯＮデマンドプロビジョニングプロセスは、１つ以上の繰り返しにおいて実行されてよい。繰り返しの開始時に、ＶＯＮプロビジョンモジュール１１５は、繰り返しパラメータが繰り返し条件に違反しているかどうかを判定してよい。繰り返し条件は、ＶＯＮデマンド１１１及び／又は物理ネットワーク情報１２３を処理し続けるべきかどうかを決定する。例えば、繰り返しパラメータが繰り返し条件に違反することに応答して、ＶＯＮプロビジョンモジュール１１５はＶＯＮを処理するのを中止する。繰り返しパラメータが繰り返し条件に違反していないことに応答して、ＶＯＮプロビジョンモジュール１１５は、マッピングされていないＶＯＮをサブグループごとに処理し続ける。
【００８０】
幾つかの実施形態において、繰り返し条件は、全てのＶＯＮがマッピングされること、特定の最大数の繰り返しが実行されること、ある量の時間が過ぎること、少なくとも１つの新しいＶＯＮが最後の繰り返しにおいてうまくマッピングされること、又はそれらの何らかの組み合わせを含んでよい。それら及び他の実施形態において、繰り返しパラメータは、繰り返し条件に関係があってよい。例えば、繰り返しパラメータは、全ＶＯＮマッピング済みパラメータ、繰り返しカウントパラメータ、クロックパラメータ、ＶＯＮマッピング進捗追跡パラメータ、又はそれらの何らかの組み合わせを含んでよい。
【００８１】
繰り返しの間、マッピングされていないＶＯＮは、一度に１つのサブグループを処理されてよい。例えば、第１の繰り返しでは、第１のサブグループが処理され、次いで、第２の繰り返しでは、第２のサブグループが処理される、など。サブグループは特定のサイズを有してよい。例えば、マッピングされていないＶＯＮは第１ＶＯＮ１０３Ａ及び第２ＶＯＮ１０３Ｂを含んでよい。サブグループは、第１ＶＯＮ１０３Ａ及び第２ＶＯＮ１０３Ｂのうちの１つを含んでよい。多数のＶＯＮ（例えば、１００）が物理ネットワーク２００へマッピングされている実施形態では、サブグループは、例えば、繰り返しごとに１０個のＶＯＮを含んでよい。
【００８２】
ＶＯＮプロビジョンモジュール１１５は、サブグループの構成要素であるＶＯＮについて幾つか又は全ての実行可能なマッピングパターンを計算する。例えば、上記の表１及び２は、第１ＶＯＮデマンド２１０及び第２ＶＯＮデマンド２２０の全ての起こり得るマッピングパターンを表す。起こり得るマッピングパターンから、ＶＯＮプロビジョンモジュール１１５は、ＶＯＮプロビジョン基準に照らして、それらのうちのどれが実行可能なマッピングパターンを含むかを判定してよい。実行可能なマッピングパターンを計算することの幾つかの追加の詳細及び実行不可能なマッピングの例は、本開示において別の場所で与えられる。
【００８３】
ＶＯＮプロビジョンモジュール１１５は、実行可能なマッピング及びスロット割り当てソリューションを有するＶＯＮのサブグループの最も大きいサブセットのサイズを求めてよい。例えば、サブグループは１５個のＶＯＮを含んでよい。最も大きいサブセットのサイズは、ＶＯＮプロビジョン基準に違反することなしに物理ネットワーク２００へ同時にマッピングされ得る１５個のＶＯＮの数を含んでよい。サイズを求めることの幾つかの追加の詳細は、本開示において別の場所で与えられる。
【００８４】
加えて、ＶＯＮプロビジョンモジュール１１５は、実行可能なスロット割り当てを有するサブセットのベストコストのマッピングソリューションを求めてよい。サブセットは、先に計算された最大のプロビジョナブル・サブセットサイズに等しいサイズを有してよい。幾つかの実施形態において、ベストコストのマッピングソリューションは、２０１５年２月１０日付けで出願された米国特許出願第１４／６１９０３２号及び２０１４年９月１９日付けで出願された米国特許出願第１４／４９１７０２号に記載されるように見つけられ得る。これらの特許文献は、その全文を参照により本願に援用される。幾つかの実施形態において、ベストコストのマッピングソリューションを求めることは、後述される１つ又は両方の拡張を伴った米国特許出願第１４／６１９０３２号のベストコストのマッピングソリューションを求めることと同様であり得る。
【００８５】
ＶＯＮプロビジョンモジュール１１５は、マッピングソリューションのベストコストのスロット割り当てを求めてよい。幾つかの実施形態において、ベストコストのスロット割り当ては、２０１５年２月１０日付けで出願された米国特許出願第１４／６１９０２９号に従って見つけられ得る。この特許文献は、その全文を参照により本願に援用される。
【００８６】
ベストコストのスロット割り当てに続いて、ＶＯＮデマンドの未処理のサブグループがあるかどうかが判定されてよい。ＶＯＮデマンドの未処理のサブグループがある場合には、ＶＯＮプロビジョンモジュール１１５は、処理されていない他のサブグループを選択してよい。他のサブグループについて、実行可能なマッピングパターンが計算されてよく、最大のサブセットのサイズが求められてよく、そのサブセットのマッピングソリューションが求められてよく、スロット割り当てが求められてよい。
【００８７】
ＶＯＮデマンドの未処理のサブグループがない場合には、繰り返しパラメータは更新されてよい。ＶＯＮプロビジョンモジュール１１５は、更新された繰り返しパラメータが繰り返し条件に違反するかどうかを判定してよい。繰り返しパラメータが繰り返し条件に違反しないことに応答して、ＶＯＮプロビジョンモジュール１１５は、上述されたように、マッピングされていないＶＯＮをサブグループごとに処理する。更新された繰り返しパラメータが繰り返し条件に違反することに応答して、ＶＯＮデマンドプロビジョニングプロセスは中止してよい。ＶＯＮプロビジョンモジュール１１５は、物理ネットワーク２００で実装され得るマッピングソリューション１０９を出力してよい。
【００８８】
［実行可能なマッピングパターン］
概して、実行可能なマッピングパターンを計算するよう、候補物理ノード２３０Ａ乃至２３０Ｋの夫々は、仮想ノードＶ１乃至Ｖ６の夫々がＶＯＮのためのマッピングパターンの組を生成するために選択されてよい。例えば、上記の表１は、候補物理ノード２３０Ａ乃至２３０Ｅの夫々が第１ＶＯＮデマンド２１０のために選択されているマッピングパターンの組を含む。続く議論では、実行可能性の判定の前の初期マッピングパターンは、“アブストラクト”マッピングパターンと呼ばれる。然るに、表１は、アブストラクトマッピングパターンの組を含む。
【００８９】
アブストラクトマッピングパターンの組の夫々について、物理リンク１０５に沿った経路は、仮想リンクの夫々について選択される（例えば、第１ＶＯＮデマンド２１０のための仮想リンク２０２、２０４及び２０６、又は第２ＶＯＮデマンド２２０のための仮想リンク２２２及び２２４）。以下の段落では、仮想リンク２０２、２０４及び２０６しか記載されていないが、第２ＶＯＮデマンド２２０が考慮される場合には仮想リンク２２２及び２２４が記載されてよいことが理解され得る。選択された経路を含むアブストラクトマッピングパターンの夫々について、ＶＯＮプロビジョニング基準が満足されるかどうかが判定される。ＶＯＮプロビジョニング基準が満足される場合には、アブストラクトマッピングパターンは実行可能である。実行可能なアブストラクトマッピングパターンは、コンクリートマッピングパターンと呼ばれる。ＶＯＮプロビジョニング基準が満足されない場合には、アブストラクトマッピングパターンは実行不可能である。
【００９０】
幾つかの環境において、ＶＯＮデマンド２１０を考える場合に仮想リンク２０２、２０４及び２０６（あるいは、ＶＯＮデマンド２２０を考える場合に仮想リンク２２２及び２２４）に適し得る物理リンク１０５の複数の経路が存在してよい。最短の長さを有し且つＶＯＮプロビジョニング基準を満足する経路が選択されてよい。
【００９１】
幾つかの実施形態において、実行可能なマッピングパターンの計算の間に考えられ得るＶＯＮプロビジョニング基準は：仮想リンク２０２、２０４及び２０６がその両方のエンドポイントとして同じ物理ノード１０１を有し得ないこと；選択された物理リンク１０５がその長さに端から端まで仮想リンク２０２、２０４及び２０６によって必要とされるスロットの数のスロット連続利用可能性を有し得ること；経路の異なる長さについて異なる数のスロットを有し得る距離適応変調；無ノード交差及び／又は無リンク交差；又はそれらの何らかの組み合わせを含んでよい。
【００９２】
無ノード交差は、同じＶＯＮの２０２、２０４及び２０６のような２つの仮想リンクが、場合により共通のエンドポイントを除いて、如何なる物理ノード１０１も共有しないようにする制約を含んでよい。無リンク交差は、同じＶＯＮの２０２、２０４及び２０６のような２つの仮想リンクが如何なる共通の物理リンク１０５も共有しないようにする制約を含んでよい。幾つかの実施形態において、無リンク交差を含むならば、前に使用された物理リンク１０５は除かれてよい。
【００９３】
例となる実施形態において、実行可能なマッピングパターンを計算するよう、ＶＯＮプロビジョンモジュール１１５は、物理ネットワーク情報１２３及びＶＯＮデマンド１１１を読み出してよい。ＶＯＮプロビジョンモジュール１１５は、次いで、ＶＯＮデマンド１１１の１つ以上が既に解析されているかどうかを判定してよい。ＶＯＮデマンド１１１が解析されていることに応答して、ＳＤＯＮコントローラ１１３は、実行可能なマッピングパターンの計算を完了してよい。ＶＯＮデマンド１１１が解析されていないことに応答して、ＶＯＮプロビジョンモジュール１１５は、ＶＯＮデマンド１１１の中からＶＯＮデマンド（この例では、第１ＶＯＮデマンド２１０）を選択してよい。選択されるＶＯＮデマンドは、解析されていない。ＶＯＮプロビジョンモジュール１１５は、第１ＶＯＮデマンド２１０のためのアブストラクトマッピングパターンセットを組み合わせ的に計算してよい。例えば、表１は、第１ＶＯＮデマンド２１０のためのアブストラクトマッピングパターンセットを含む。
【００９４】
ＶＯＮプロビジョンモジュール１１５は、次いで、第１ＶＯＮデマンド２１０のためのコンクリートマッピングセットを初期化してよい。ＶＯＮプロビジョンモジュール１１５は、前記アブストラクトマッピングパターンセットが解析されるているかどうかを判定してよい。アブストラクトマッピングパターンセットが解析されていないことに応答して、ＳＤＯＮコントローラ１１３は、コンクリートマッピングパターンセットを出力してよい。
【００９５】
アブストラクトマッピングパターンセットが解析されていないことに応答して、ＶＯＮプロビジョンモジュール１１５は、アブストラクトマッピングパターンセットから第１アブストラクトマッピングパターン（例えば、ＭＰ０１）を選択してよい。ＶＯＮプロビジョンモジュール１１５は、第１アブストラクトマッピングパターンの仮想リンク２０２、２０４及び２０６が処理されるかどうかを判定してよい。第１アブストラクトマッピングパターンの仮想リンクが処理されていることに応答して、ＶＯＮプロビジョンモジュール１１５は、コンクリートマッピングパターンが完成したかどうかを判定してよい。
【００９６】
第１アブストラクトマッピングパターンの仮想リンク２０２、２０４及び２０６が処理されていないことに応答して、ＶＯＮプロビジョンモジュール１１５は、第１アブストラクトマッピングパターンから第１仮想リンク（例えば、２０２、２０４又は２０６）を取り出してよい。ＶＯＮプロビジョンモジュール１１５は、第１アブストラクトマッピングパターンの以前に処理された仮想リンク２０２、２０４及び２０６からの１つ以上の物理ノード１０１又は１つ以上の物理リンク１０５に関する物理ネットワーク情報１２３を除いてよい。マッピングされたＶＯＮに対して物理ネットワーク情報の除外は、無ノード交差及び／又は無リンク交差制約を強いてよい。同じマッピングパターンの以前の処理された仮想リンク２０２、２０４及び２０６によって使用された物理ノード１０１及び／又は物理リンク１０５は、現在の仮想リンク２０２、２０４及び２０６が“交差”しないように、除外されてよい。
【００９７】
ＶＯＮプロビジョンモジュール１１５は、物理ネットワーク情報１２３における第１仮想リンクのエンドポイント間の物理ネットワーク２００における１つ以上のスロット連続最短経路を計算してよい。スロット連続最短経路は、あるノードまでの最短経路が見つけられるまで、探索木として幾つか又は全ての経路を記憶し、刈り込み、当該木に加えるようダイクストラ（Dijkstra）の単源最短経路アルゴリズムの変更されたバージョンを用いて、選択されてよい。幾つかの実施形態において、最短経路の計算は、夫々のマッピングパターンにおいて夫々の仮想リンクについて別々に実行されてよい。幾つかの実施形態において、幾つかの仮想リンクについての最短経路の計算は、まとめて実行されてよい。例えば、最短経路は、物理ネットワーク情報１２３がリンク／ノード交差制約によって変更されていない実施形態では、幾つかの仮想リンクについて計算されてよい。
【００９８】
ＶＯＮプロビジョンモジュール１１５は、スロットが不十分である物理ネットワーク情報１２３における第１仮想リンクのエンドポイント間の１つ以上のスロット連続最短経路を取り除いてよい。ＶＯＮプロビジョンモジュール１１５は、第１仮想リンクのためのコンクリート経路を指定してよい。コンクリート経路は、最も連続的なスロットを有する最短経路を含んでよい。ＶＯＮプロビジョンモジュール１１５は、第１アブストラクトマッピングパターンに対応するコンクリートマッピングパターンに最短経路を加えてよい。ＶＯＮプロビジョンモジュール１１５は、コンクリートマッピングパターンをコンクリートマッピングパターンセットに加えてよい。特に、ＶＯＮプロビジョンモジュール１１５は、コンクリートマッピングパターンが処理され、完成したと判断される場合に、コンクリートマッピングパターンを加えてよい。幾つかの実施形態において、完了は、物理経路が仮想エッジの夫々について指定される場合である。ＶＯＮプロビジョンモジュール１１５は、ＶＯＮデマンド１１１の幾つか又は全てのアブストラクトマッピングパターンの幾つか又は全てが処理されるまで計算プロセスを続けてよい。
【００９９】
図３Ａ、３Ｂ及び４は、実行可能なマッピングパターンの計算の例を表す。図３Ａ、３Ｂ及び４は、図１Ａ及び２Ａ乃至２Ｃに関連して記載される。例となるマッピングパターンの計算プロセスは、物理ネットワーク２００並びにＶＯＮデマンド２１０及び２２０に基づく。図３Ａ、３Ｂ及び４の例では、物理ノードＡと物理ノードＥとの間の物理リンクＡ１のスロット０はブロックされる。他の物理リンクＢ１乃至Ｊ１の夫々は、リンクごとに２つのスロットを含む。加えて、距離適応変調が実装され、それにより、４００マイルを上回る仮想リンクは２つのスロットを使用し、４００マイルに満たない仮想リンクは１つのスロットを使用する。
【０１００】
図３Ａは、ＭＰ０１として表１において含まれている第１アブストラクトマッピングパターン３０２を表す。図３Ｂは、ＭＰ０６として表２において含まれている第６アブストラクトマッピングパターン３０４を表す。図２Ａ及び３Ａを参照すると、第１ＶＯＮをマッピングするよう、仮想リンク２０２、２０４及び２０６は、物理ネットワーク２００の物理リンク１０５に沿った経路にマッピングされてよい。
【０１０１】
例えば、アブストラクトマッピングパターン３０２のためのコンクリートマッピングパターンの計算を考えるとする。仮想リンク２０４は物理リンクＪ１にマッピングされてよい。仮想リンク２０２は物理リンクＪ１及びＥ１にマッピングされてよい。仮想リンク２０６は物理リンクＥ１にマッピングされてよい。しかし、無エッジ交差制約が強いられる場合には、Ｊ１への仮想リンク２０４のマッピングは、物理リンクＪ１及びＥ１への仮想リンク２０２のマッピングとのコンフリクトを引き起こし得る。第１アブストラクトマッピングパターン３０２は、仮想リンク２０４が物理リンクＪ１の除外により実行不可能になるので、捨てられるべきであってよい。物理リンクＪ１は、物理リンクＪ１が仮想リンク２０２によって使用されるので、考慮から外されてよい。あるいは、その逆も同様である。
【０１０２】
図４は、例となる最短経路探索木４００を表す。最短経路探索木４００において、物理ノードＡからＣへの最短トポロジー経路である物理経路Ａ−Ｅ−Ｄ−Ｃは、この仮想エッジをサポートするにはスロットが不十分であるので、それから刈り取られる。この経路は５５０マイルの長さである。距離適応変調によって、この経路上にマッピングされた仮想エッジは２つのスロットを伴う。しかし、エッジＡ１におけるスロット０はこの例ではブロックされているので、ただ１つの連続スロットしかＡ−Ｅ−Ｄ−Ｃに沿って利用可能でなく、これは不十分である。然るに、物理ノードＡ−Ｂ−Ｃを含む経路が、仮想リンク２０２のための最短の実行可能な経路であってよい。同様の最短経路探索木は、仮想リンクの夫々のマッピングのために実施されてよい。
【０１０３】
図３Ｂを参照すると、仮想リンク２２２のマッピングは、図２Ａの物理ノードＤ−Ｇ−Ｆと通る経路として計算されてよい。仮想リンク２２４のマッピングは、物理ノードＦ−Ｃ−Ｂを通る又は物理ノードＦ−Ｇ−Ｂを通る経路を含んでよい。無ノード交差制約が実装される実施形態では、物理ノードＦ−Ｃ−Ｂを通る経路が、物理ノードＤ−Ｇ−Ｆを通る経路とのコンフリクトを回避するために使用されてよい。無ノード交差制約が実装されない実施形態では、物理ノードＦ−Ｇ−Ｂを通る経路が、その経路の方が短いので、使用されてよい。
【０１０４】
［最大プロビジョナブル・サブセット］
ＶＯＮのサブグループのプロビジョナブル・サブセットの最大サイズを決定するよう、繰り返しプロビジョナブルテストプロセスが実装されてよい。概して、繰り返しプロビジョナブルテストプロセスでは、サブセットのサイズは様々なパラメータの間で変化し、特定のサイズのＶＯＮのサブセットがプロビジョナブルであるかどうかが繰り返し判定される。特定のサイズのサブセットがプロビジョナブルである場合には、より大きいサイズのサブセットが次いでテストされる。特定のサイズのサブセットがプロビジョナブルでない場合には、次いでサイズは低減される。繰り返しプロビジョナブルテストプロセスは、最大のサイズが見つけられるまで続けられる。２値探索プロセスは、ＶＯＮのサブグループのプロビジョナブル・サブセットの最大サイズを見つけるための繰り返し探索を編成するために使用されてよい。
【０１０５】
例となる実施形態において、最大のプロビジョナブル・サブセットのサイズを求めるよう、ＶＯＮプロビジョンモジュール１１５は、物理ネットワーク情報１２３及びＶＯＮデマンド１１１を読み出してよい。ＶＯＮプロビジョンモジュール１１５は、ＶＯＮデマンドの数の絶対値であるよう最大値パラメータを初期化してよい。ＶＯＮプロビジョンモジュール１１５は、１であるよう最小値パラメータを更に初期化してよい。ＶＯＮプロビジョンモジュール１１５は、ゼロであるよう最大プロビジョナブルサイズパラメータを更に初期化してよい。ＶＯＮプロビジョンモジュール１１５は、全てのＶＯＮデマンドが同時にプロビジョナブルであるかどうかを判定してよい。ＶＯＮデマンドがプロビジョナブルであるかどうかの判定の幾つかの追加の詳細は、以下で与えられる。
【０１０６】
全てのＶＯＮデマンドが同時にプロビジョナブルでないことに応答して、ＶＯＮプロビジョンモジュール１１５は、最大値パラメータが最小値パラメータ以上であるかどうかを判定してよい。最大値パラメータ最小値パラメータより小さいことに応答して、ＶＯＮプロビジョンモジュール１１５は、最大プロビジョナブルサイズパラメータを出力してよい。
【０１０７】
最大値パラメータが最小値パラメータ以上であることに応答して、ＶＯＮプロビジョンモジュール１１５は、最大値パラメータと最小値パラメータとの差の半分に適用される床関数と最小値パラメータとの和に等しい中間値パラメータを設定してよい。ＶＯＮプロビジョンモジュール１１５は、中間値パラメータ以上のサイズのＶＯＮデマンドの組のサブセットがプロビジョナブルであるかどうかを判定してよい。中間値パラメータ以上のサイズのＶＯＮデマンドの組のサブセットがプロビジョナブルであることに応答して、ＶＯＮプロビジョンモジュール１１５は、最大プロビジョナブルサイズパラメータを中間値パラメータ及び最大プロビジョナブルサイズパラメータの現在の値のうち大きい方であるよう更新してよい。ＶＯＮプロビジョンモジュール１１５は、１と中間値パラメータとの和に最小値パラメータを設定してよい。中間値パラメータ以上のサイズのＶＯＮデマンドのサイズのサブセットがプロビジョナブルでないことに応答して、ＶＯＮプロビジョンモジュール１１５は、最大値パラメータを中間値パラメータと１との差に設定してよい。
【０１０８】
［プロビジョナブル判定］
最大サブセットサイズを求めるプロセスは、ＶＯＮ又はそのサブセットがプロビジョナブルであるかどうかに関して１つ以上の判定を含んでよい。例えば、幾つかの実施形態において、サブグループ内の全てのＶＯＮがプロビジョナブルであるかどうかが判定されてよく、そして、特定のサイズのサブグループのサブセットがプロビジョナブルであるかどうかが判定されてよい。プロビジョナブル判定を行うことは、真又は偽の出力を返してよい。
【０１０９】
プロビジョナブル判定を行うよう、実行可能なマッピング関数が実装されてよい。米国特許出願第１４／６１９０３２号では、実行可能なマッピング関数の例が記載されている。ここ実施されるように、実行可能なマッピング関数は、物理ネットワーク情報１２３及びＶＯＮデマンド１１１を入力として受信し、マッピングされたソリューションを返すよう構成されてよい。実行可能なマッピング関数によって出力されるマッピングされたソリューションは、マッピングパターン選択制約、リンク容量制約、ソリューション品質制約、マッピングされたサブセットのサイズ制約、及びブロックトマッピングソリューション制約を満足する。
【０１１０】
マッピングパターン選択制約は、夫々のマッピングされたＶＯＮが（コンクリート）マッピングパターンの１つに従って実現されることを決定づけてよい。このとき、コンクリートマッピングパターンは、上記のコンクリートマッピングパターン計算プロシージャ（図７Ａ及び７Ｂを参照）に従って適切に具体化されているアブストラクトマッピングパターン（表１又は２のマッピングパターンの１つ）である。リンク容量制約は、物理ネットワーク２００のリンク容量が満たされることを決定づけてよい（例えば、物理リンク１０５ごとのスロットの数は超えられない）。ソリューション品質制約は、マッピングされたソリューションが特定の数以下の物理スロットを含むことを決定づけてよい。マッピングされたサブセットのサイズ制約は、マッピングされたソリューションがある特定の数のＶＯＮ又は特定のサイズのＶＯＮのサブセットを含むことを決定づけてよい。ブロックトマッピングソリューション制約は、マッピングされたソリューションが、実行不可能であるか又は別なふうに利用不可能であると以前に決定されたことがあるブロックされたマッピングソリューションを含まないことを決定づけてよい。マッピングパターン選択制約、リンク容量制約、及びソリューション品質制約は、米国特許出願第１４／６１９０３２号に記載において論じられている。
【０１１１】
リンク容量制約は、リンク容量式に従って一般化されてよい：
ａ１＋ａ２＜＝２；
ｂ１＋ｂ２＜＝２；
・
・
・
ｊ１＋ｊ２＜＝２；及び
全てのａ１〜ｊ１及びａ２〜ｊ２＞＝０。
リンク容量式において、ａ１は、第１ＶＯＮ１０３Ａのためのマッピングソリューションにおいて使用される物理ネットワーク２００の選択された物理リンクＡ１のスロットの数を示す整数変数を表す。パラメータａ２は、第２ＶＯＮ１０３Ｂのマッピングソリューションにおいて使用される物理ネットワーク２００の選択された物理リンクＡ１のスロットの数を示す整数変数パラメータを表す。同様の約束事が、ａ１〜ｊ１及びａ２〜ｊ２に適用される。“２”は、特定の物理リンクのリンク容量を表す。然るに、リンク容量は、ａ１＋ａ２＝＜２であるから、保たれる。
【０１１２】
ソリューション品質制約は、ソリューション品質式に従って一般化されてよい：
ａ１＋ｂ１＋．．．ｊ１＋ａ２＋ｂ２＋．．．ｊ２＜＝ｑ。
ソリューション品質式において、ａ１〜ｊ１及びａ２〜ｊ２は上述されたとおりである。パラメータｑは、物理ネットワーク２００のスロットのある数を表すスロット数パラメータを表す。然るに、この制約は、マッピングソリューションによって使用されるスロットの総数が物理ネットワークのスロットの指定されたパラメータｑを超えないことを特定する。
【０１１３】
マッピングされたサブセットのサイズ制約は、マッピングされたサブセットのサイズ制約の式によって表現されてよい：
【数１】
0006696303.tif 000004
マップ制約式において、ＶＯＮｓは、ＶＯＮ１、ＶＯＮ２．．．ＶＯＮｋ−１及びＶＯＮｋを含むＶＯＮの組を表す。整数ｋは、ＶＯＮの組におけるＶＯＮの数を表す。パラメータｉは、特定のＶＯＮを参照する計数変数を表す。パラメータｍｐｉｊは、ＶＯＮｉのためのｊ番目のマッピングパターンに対応するマッピングパターン選択制約を表す。パラメータｓｉは、計算されたマッピングソリューションにおいてＶＯＮｉがうまくマッピングされるかどうかを示す整数パラメータを表す。パラメータｓｉは、ＶＯＮｉがマッピングされる場合且つその場合に限り‘１’に等しくてよく、ＶＯＮｉがマッピングされない場合に‘０’に等しくてよい。パラメータｄは、うまくマッピングされるＶＯＮのサイズ又は数を表す。演算子∨は“ｏｒ”演算子を表す。
【０１１４】
マッピングされたサブセットのサイズ制約の例は、図１Ａ及び２Ａ乃至３Ｂによって表されている。目下の例では、物理リンク１０５の夫々は、４つのスロットを含み、物理リンクＪ１及びＦ１のスロット０及び１は、ブロックされる。更に、候補物理ノードＢは、第２ＶＯＮデマンド２２０からの第２ＶＯＮ１０３Ｂにおける仮想ノードＶ６の候補物理ノードの組から除外される。よって、Ｖ６は、この場合に、ただ１つの候補物理ノードＡしか有さない。この例において、全ての起こり得るマッピング構成における第２ＶＯＮデマンド２２０からの第２ＶＯＮ１０３Ｂは、物理リンクＪ１で２つのスロットを含む。加えて、幾つかの又は全ての起こり得るマッピング構成における第１ＶＯＮデマンド２１０からの第１ＶＯＮ１０３Ａは、物理リンクＪ１に沿って少なくとも１つのスロットを含む。然るに、マッピングされるサブセットの最大サイズ（マップ制約式からパラメータ‘ｄ’により表される。）は、第１ＶＯＮ１０３Ａ及び第２ＶＯＮ１０３Ｂのうちのただ１つがマッピングされ得るので、多くても１に等しくてよい。
【０１１５】
ブロックトマッピングソリューション制約は、ブロッキングセット制約式によって表現されてよい：
Ｉ＝Ｉ１∧Ｉ２∧．．．∧Ｉｂ；
ａ１＝１；ａ２＝０；ｂ２＝０；．．．ｊ１＝１；ｊ２＝１（選択されたとおり）；及び
ＩＸ＝（ａ１！＝１）∨（ａ２！＝０）∨（ｂ１！＝０）∨（ｂ２！＝０）．．．∨（ｊ１！＝１）∨（ａ２！＝０）。
ブロッキングセット制約において、∨、ａ１〜ｊ１及びａ２からｊ２は上述されたとおりである。Ｉは、１つのマッピングソリューションについてのブロッキング制約を夫々表すＩ１、Ｉ２．．．Ｉｂを含むブロッキング制約セットを表す。ＩＸは、ブロッキング制約の１つである。演算子∧は、ａｎｄ演算子を表す。ブロッキング制約は、続くＶＯＮマッピングソリューションが調査されることによって、物理リンク１０５の具体的な組み合わせの使用を妨げる。
【０１１６】
幾つかの実施形態において、実行可能なマッピング関数は、実行可能なマッピングの式によって表現されてよい：
ｍ＝ｍａｐＶＯＮ（ｎ，Ｖ，ｄ，ｑ，Ｉ）
実行可能なマッピングの式において、ｍは、マッピングされたソリューションを表す。関数ｍａｐＶＯＮは、実行可能なマッピング関数を表す。パラメータｎは物理ネットワーク情報１２３を表す。パラメータＶはＶＯＮデマンド１１１を表す。パラメータｄは、マッピングされたソリューションｍがうまくマッピングするために要求されるＶＯＮ１１１の組の中のＶＯＮのサブセットの最大サイズを表す。パラメータｑは、計算されたマッピングソリューション１０９が使用されることを認められる物理ネットワーク２００のスロットの最大数を表すスロット数パラメータを表す。パラメータＩは、ブロックト制約セットを表す。パラメータｎ、Ｖ、ｄ、ｑ、Ｉは、本願において別の場所で記載されるとおりである。
【０１１７】
実行可能なマッピング関数に加えて、プロビジョナブル判定は、スロット割り当て関数を必要としてよい。スロット割り当て関数は、米国特許出願第１４／６１９０２９号において記載されているものと実質的に同様であってよい。
【０１１８】
幾つかの実施形態において、スロット割り当て関数は、スロット割り当て式によって表現されてよい：
ａ＝ｓｌｏｔＡｓｓｉｇｎ（ｎ，Ｖ，ｍ，ｃ）。
スロット割り当て式において、ｎ、Ｖ及びｍは上述されたとおりである。パラメータａはスロット割り当てソリューションを表し、ｃは、計算されたスロット割り当てソリューション‘ａ’が有することが認められる最大コスト値を表す。
【０１１９】
然るに、例となる実施形態において、そのサイズのＶＯＮデマンドの組がプロビジョナブルであるかどうかを判定するよう、ＶＯＮプロビジョンモジュール１１５は、物理ネットワーク情報１２３、ＶＯＮデマンド１１１、及びサイズ（パラメータ‘ｄ’として先で表される。）を読み出してよい。ＶＯＮプロビジョンモジュール１１５は、カウンタパラメータをゼロに、そして、ブロックト制約セットをヌルに初期化してよい。
【０１２０】
ＶＯＮプロビジョンモジュール１１５は、カウンタパラメータが最大ブロックカウントパラメータよりも小さいかどうかを判定してよい。カウンタパラメータが最大ブロックカウントパラメータ以上であることに応答して、ＶＯＮプロビジョンモジュール１１５は偽（ＦＡＬＳＥ）出力を返してよい。
【０１２１】
カウンタパラメータが最大ブロックカウントパラメータよりも小さいことに応答して、ＶＯＮプロビジョンモジュール１１５は、実行可能なマッピング関数について実行可能なマッピングがあるかどうかを判定してよい。幾つかの実施形態において、実行可能なマッピングは、物理ネットワーク情報１２３、ＶＯＮデマンド１１１、スロット数パラメータ、及びブロックト制約セットに適用されるｍａｐＶＯＮ関数の適用から返されてよい。実行可能なマッピングがないことに応答して、ＶＯＮプロビジョンモジュール１１５は偽（ＦＡＬＳＥ）出力を返してよい。
【０１２２】
実行可能なマッピングがあることに応答して、ＶＯＮプロビジョンモジュール１１５は、コストパラメータ‘ｑ’のために無限（ＩＮＦＩＮＩＴＥ）値を指定して、スロット割り当て関数について実行可能なスロット割り当てがあるかどうかを判定してよい。幾つかの実施形態において、スロット割り当て関数は、物理ネットワーク情報１２３、ＶＯＮデマンド１１１、実行可能なマッピング、及びＩＮＦＩＮＩＴＥと指定されたスロット割り当てのためのコストに適用されるｓｌｏｔＡｓｓｉｇｎ関数を含んでよい。実行可能なスロット割り当てがないことに応答して、ＶＯＮプロビジョンモジュール１１５は、ブロックされたマッピングの組に実行可能なマッピングを加え、カウンタパラメータをインクリメント（１を加算）してよい。
【０１２３】
図５は、ＶＯＮデマンドプロビジョニングプロセスのために構成される例となるコンピューティングシステム５００を表す。コンピューティングシステム５００は、図１Ａの動作環境５０において実装されてよい。コンピューティングシステム５００の例は、ＳＤＯＮコントローラ１１３及び／又は物理ノード１１０／Ａ〜Ｇの１つ以上を含んでよい。コンピューティングシステム５００は、１つ以上のプロセッサ５０４、メモリ５０８、通信ユニット５０２、ユーザ入力デバイス５１４、及びデータストレージ５０１を含んでよい。データストレージ５０１は、ＶＯＮプロビジョンモジュール１１５を更に含む。
【０１２４】
プロセッサ５０４は、様々なコンピュータハードウェア又はソフトウェアモジュールを含む如何なる適切な特別目的又は汎用のコンピュータ、コンピューティングエンティティ、又はプロセッシングデバイスも含んでよく、如何なる適用可能なコンピュータ可読記憶媒体でも記憶される命令を実行するよう構成されてよい。例えば、プロセッサ５０４は、命令を解釈するよう及び／又は実行するよう且つ／あるいはデータを処理するよう構成されるマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、ＡＳＩＣ、ＦＰＧＡ、又はその他デジタル若しくはアナログ回路を含んでよい。
【０１２５】
図５では単一のプロセッサとして表されているが、プロセッサ５０４は、より一般的には、本開示で記載される動作をいくつでも個々に又は集合的に実行するよう構成されるプロセッサをいくつでも含んでよい。加えて、プロセッサ５０４の１つ以上は、１つ以上の異なる電子デバイス又はコンピューティングシステムに存在してよい。幾つかの実施形態において、プロセッサ５０４は、メモリ５０８、データストレージ５０１、又はメモリ５０８及びデータストレージ５０１において記憶されているプログラム命令を解釈及び／又は実行し且つ／あるいはデータを処理してよい。幾つかの実施形態において、プロセッサ５０４は、データストレージ５０１からプログラム命令をフェッチして、プログラム命令をメモリ５０８においてロードしてよい。プログラム命令がメモリ５０８にロードされた後、プロセッサ５０４はプログラム命令を実行してよい。
【０１２６】
メモリ５０８及びデータストレージ５０１は、コンピュータ実行可能命令又はデータ構造を搬送し又は記憶しているコンピュータ可読記憶媒体を含んでよい。そのようなコンピュータ可読記憶媒体は、プロセッサ５０４のような汎用又は特別目的のコンピュータによってアクセスされ得る如何なる利用可能な媒体も含んでよい。一例として、制限なしに、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、フラッシュメモリデバイス（例えば、ソリッドステートメモリデバイス）、あるいは、コンピュータ実行可能命令又はデータ構造の形で所望のプログラムコードを搬送又は記憶するために使用されてよく且つ汎用又は特別目的のコンピュータによってアクセスされ得る何らかの他の記憶媒体を含む有形な又は非一時的なコンピュータ可読記憶媒体を含んでよい。上記の組み合わせも、コンピュータ可読記憶媒体の適用範囲内に含まれてよい。コンピュータ実行可能命令は、例えば、プロセッサ５０４に特定の動作又は動作群を実行させるよう構成される命令及びデータを含んでよい。
【０１２７】
通信ユニット５０２は、通信を受信及び送信するよう構成されるハードウェアの１つ以上の要素を含んでよい。幾つかの実施形態において、通信ハードウェアデバイスの中でもとりわけ、通信ユニット５０２は、アンテナ、有線ポート、及び変調／復調ハードウェアの１つ以上を含んでよい。特に、通信ユニット５０２は、コンピューティングシステム５００の外からの通信を受信し、通信をプロセッサ５０４へ与えるよう、あるいは、プロセッサ５０４から他のデバイス又はネットワークへ通信を送信するよう構成されてよい。
【０１２８】
ユーザ入力デバイス５１４は、ユーザから入力を受けるよう及び／又はユーザへ出力を提供するよう構成されるハードウェアの１つ以上の要素を含んでよい。幾つかの実施形態において、ユーザ入力デバイス５１４は、ハードウェアデバイスの中でもとりわけ、スピーカ、マイクロホン、ディスプレイ、キーボード、及びタッチスクリーン、ホログラフィック投影の１つ以上を含んでよい。それら及び他の実施形態において、ユーザ入力デバイス５１４は、コンピューティングシステム５００のユーザから入力を受けるよう構成されてよい。
【０１２９】
ＶＯＮプロビジョンモジュール１１５は、データストレージ５０１において記憶されているプログラム命令を含んでよい。プロセッサ５０４は、ＶＯＮプロビジョンモジュール１１５をメモリ５０８にロードし、ＶＯＮプロビジョンモジュール１１５を実行するよう構成されてよい。代替的に、プロセッサ５０４は、ＶＯＮプロビジョンモジュール１１５を、メモリ５０７にロードせずに、データストレージ５０１から行ごとに実行してよい。ＶＯＮプロビジョンモジュール１１５を実行するときに、プロセッサ５０４は、本願で別の場所で記載されるようにＶＯＮデマンドプロビジョニングプロセスの実行のために構成されてよい。
【０１３０】
本開示の適用範囲から逸脱することなしに、コンピューティングシステム５００に対して、変更、追加又は削除が行われてよい。例えば、幾つかの実施形態において、コンピューティングシステム５００はユーザ入力デバイス５１４を含まなくてよい。幾つかの実施形態において、コンピューティングシステム５００の異なるコンポーネントは物理的に別個であってよく、如何なる適切なメカニズムを介しても通信上結合されてよい。例えば、データストレージ５０１は、プロセッサ５０４、メモリ５０８、及び通信ユニット５０２を含むサーバとは別のストレージデバイスの部分であってよく、すなわち、ストレージデバイスへ通信上結合されてよい。
【０１３１】
図６Ａ及び６Ｂは、ここで記載される少なくとも１つの実施形態に従って配置される、ＶＯＮを物理ネットワークへマッピングする例となる方法６００のフロー図である。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【０１３２】
方法６００はブロック６０２から開始してよい。ブロック６０２で、物理ネットワーク情報、ＶＯＮデマンド、及び技術制約が読み出される。ブロック６０４で、繰り返しパラメータが繰り返し条件に違反するかどうかが判定されてよい。繰り返し条件は、ＶＯＮデマンドを処理し続けるべきかどうかを決定づけてよい。
【０１３３】
繰り返しパラメータが繰り返し条件に違反することに応答して（ブロック６０４で“はい”）、方法６００はブロック６１８へ進んでよい。繰り返しパラメータが繰り返し条件に違反しないことに応答して（ブロック６０４で“いいえ”）、方法６００はブロック６０５へ進んでよい。ブロック６０５で、マッピングされていないＶＯＮはサブグループごとに処理されてよい。ブロック６０７で、ＶＯＮデマンドの未処理のサブグループがあるかどうかが判定されてよい。１つ以上の未処理のサブグループがあることに応答して（ブロック６０７で“はい”）、方法６００はブロック６０６へ進んでよい。１つ以上の未処理のサブグループがないことに応答して（ブロック６０７で“いいえ”）、方法６００は図６Ｂのブロック６１６へ進んでよい。ブロック６０６で、ＶＯＮのサブグループは選択されてよい。ブロック６０８で、実行可能なマッピングパターンが、ＶＯＮのそのサブグループについて計算されてよい。幾つかの実施形態において、ブロック６０８は、以下で論じられる方法７００の１つ以上のブロックを含んでよい。
【０１３４】
図６Ｂを参照して、ブロック６１０で、サブグループの最も大きいサブセットのサイズが求められてよい。最も大きいサブセットは、実行可能なマッピング及びスロット割り当てソリューションを含んでよい。幾つかの実施形態において、ブロック６１０は、方法８００及び／又は９００の１つ以上のブロックを含んでよい。ブロック６１２で、マッピングソリューションは、そのサブセットについて求められてよい。マッピングソリューションは、実行可能なスロット割り当てを含んでよい。ブロック６１４で、マッピングソリューションのスロット割り当てが求められてよい。ブロック６１４から、方法６００はブロック６０７へ進み、ブロック６０４、６０５、６０７、６０６、６０８、６１８、６１０、６１２、６１４及び６１６を通ってよい。
【０１３５】
ブロック６１６で、繰り返しパラメータは更新されてよい。繰り返しパラメータは、ＶＯＮ処理の最後の繰り返しによりマッピングのステータスを反映するよう更新されてよい。ブロック６１６から、方法６００はブロック６０４へ進んでよい。方法６００は更に、ブロック６０４、６０５、６０７、６０６、６０８、６１８、６１０、６１２、６１４及び６１６の１つ以上の中を進んでよい。ブロック６１８で、マッピングソリューションは物理ネットワークにおいて実装されてよい。実装は、ＶＯＮデマンドの少なくとも一部に従って物理ノード及び／又は物理リンクを構成することを含んでよい。
【０１３６】
当業者には明らかなように、ここで開示されているこの及び他のプロシージャ及び方法に関して、プロセス及び方法において実行される機能は、別の順序で実施されてよい。更に、説明されているステップ及び動作は、単に例として提供されているのであって、ステップ及び動作の幾つかは、開示されている実施形態から外れることなしに、任意であっても、より少ないステップ及び動作にまとめられても、あるいは、更なるステップ及び動作に拡張されてもよい。
【０１３７】
図７Ａ及び７Ｂは、ここで記載されている少なくとも１つの実施形態に従って配置される、実行可能なマッピングパターンを計算する例となる方法７００のフロー図である。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【０１３８】
図７Ａを参照して、方法７００はブロック７０２から開始してよい。ブロック７０２で、物理ネットワーク情報及びＶＯＮデマンドが読み出される。ブロック７０４で、ＶＯＮデマンドが解析されているかどうかが判定されてよい。ＶＯＮデマンドが解析されていることに応答して（ブロック７０４で“はい”）、方法７００はブロック７３２へ進んでよい。ブロック７３２で、方法７００は終了する。ＶＯＮデマンドが解析されていないことに応答して（ブロック７０４で“いいえ”）、方法はブロック７０６へ進んでよい。ブロック７０６で、ＶＯＮデマンドの中の第１ＶＯＮデマンドが選択されてよい。選択される第１ＶＯＮデマンドは、未だ解析されていない。ブロック７０８で、アブストラクトマッピングパターンセットは、ＶＯＮデマンドについて組み合わせ的に計算されてよい。ブロック７０９で、コンクリートマッピングセットは、第１ＶＯＮデマンドについて初期化されてよい。
【０１３９】
ブロック７１０で、アブストラクトマッピングパターンセットが解析されるかどうかが判定されてよい。アブストラクトマッピングパターンが解析されることに応答して（ブロック７１０で“はい”）、方法７００はブロック７３４へ進んでよい。アブストラクトマッピングパターンセットが解析されないことに応答して（ブロック７１０で“いいえ”）、方法７００はブロック７１２へ進んでよい。ブロック７１２で、第１アブストラクトマッピングパターンが、アブストラクトマッピングパターンセットから選択されてよい。ブロック７１２から、方法７００は部７Ｂのブロック７１４へ進んでよい。ブロック７３４で、コンクリートマッピングパターンセットが出力されてよく、方法７００はブロック７０４へ進んでよい。方法７００は、ブロック７０４、７０６、７０８、７０９。７１０、７１２、７３２、７３４、７１４、７１６、７１８、７２０、７２２、７２４、７２６、７２８及び７３０の１つ以上の中を進んでよい。
【０１４０】
図７Ｂを参照して、ブロック７１４で、第１アブストラクトマッピングパターンの仮想リンクが処理されるかどうかが判定されてよい。第１アブストラクトマッピングパターンの仮想リンクが処理されないことに応答して（ブロック７１４で“いいえ”）、方法７００はブロック７１６へ進んでよい。第１アブストラクトマッピングパターンの仮想リンクが処理されることに応答して（ブロック７１４で“はい”）、方法７００はブロック７２８へ進んでよい。
【０１４１】
ブロック７１６で、第１仮想リンクは、第１アブストラクトマッピングパターンから取り出されてよい。ブロック７１８で、物理ネットワーク情報が除かれてよい。例えば、第１アブストラクトマッピングパターンの以前にマッピングされた仮想リンクの中の１つ以上のノード又は１つ以上のリンクに関する物理ネットワーク情報が除かれてよい。ブロック７２０で、スロット連続最短経路が計算されてよい。スロット連続最短経路は、物理ネットワーク情報における第１仮想リンクのエンドポイント間で計算されてよい。
【０１４２】
ブロック７２２で、スロット連続最短経路は、スロットが不十分である物理ネットワーク情報における第１仮想リンクのエンドポイント間で刈り取られてよい。ブロック７２４で、コンクリート経路が第１仮想経路のために指定されてよい。例えば、コンクリート経路は、最も連続的なスロットを有する最短経路を含んでよい。ブロック７２６で、最短経路は、第１アブストラクトマッピングパターンに対応するコンクリートマッピングパターンに加えられてよい。方法７００はブロック７２６からブロック７１４へ進んでよい。方法７００は、次いで、ブロック７０４、７０６、７０８、７０９、７１０、７１２、７３２、７３４、７１４、７１６、７１８、７２０、７２２、７２４、７２６、７２８及び７３０の１つ以上の中を進んでよい。
【０１４３】
ブロック７２８で、コンクリートマッピングパターンが完成したかどうかが判定されてよい。コンクリートマッピングパターンが完成したことに応答して（ブロック７２８で“はい”）、方法７００はブロック７３０へ進んでよい。コンクリートマッピングパターンが完成してないことに応答して（ブロック７２８で“いいえ”）、方法７００はブロック７１０へ進んでよい。ブロック７３０で、コンクリートマッピングパターンは、コンクリートマッピングパターンセットに加えられてよい。方法７００はブロック７３０からブロック７１０へ進んでよい。方法７００は、次いで、ブロック７０４、７０６、７０８、７０９、７１０、７１２、７３２、７３４、７１４、７１６、７１８、７２０、７２２、７２４、７２６、７２８及び７３０の１つ以上の中を進んでよい。
【０１４４】
幾つかの実施形態において、図７Ａ及び７Ｂを参照して記載されるブロックの１つ以上は、方法６００の他において実施されてよい。例えば、図７Ａ及び７Ｂを参照して記載されるブロックの１つ以上は、方法６００のブロック６０８に含まれてよい。
【０１４５】
図８Ａ及び８Ｂは、ここで記載される少なくとも１つの実施形態に従って配置される、実行可能なマッピング及びスロット割り当てソリューションを有するサブグループの最も大きいサブセットのサイズを求める例となる方法８００のフロー図である。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【０１４６】
図８Ａを参照して、方法８００はブロック８０２から開始してよい。ブロック８０２で、物理ネットワーク情報及びＶＯＮデマンドが読み出される。ブロック８０４で、最大値パラメータは初期化されてよい。最大値パラメータは、ＶＯＮデマンドの数の絶対値であるよう初期化されてよい。ブロック８０６で、最小値パラメータは初期化されてよい。最小値パラメータは、１であるよう初期化されてよい。ブロック８０８で、最大プロビジョナブルサイズパラメータが初期化されてよい。最大プロビジョナブルサイズパラメータは、ゼロであるよう初期化されてよい。
【０１４７】
ブロック８１０で、ＶＯＮデマンドがプロビジョナブルであるかどうかが判定されてよい。ＶＯＮデマンドがプロビジョナブルでないことに応答して（ブロック８１０で“いいえ”）、方法８００は８１２へ進んでよい。ＶＯＮデマンドがプロビジョナブルであることに応答して（ブロック８１０で“はい”）、方法８００はブロック８１４へ進んでよい。ブロック８１４で、ＶＯＮデマンドの数の絶対値が出力されてよい。
【０１４８】
ブロック８１２で、最大値パラメータが最小値パラメータ以上であるかどうかが判定されてよい。最大値パラメータが最小値パラメータよりも小さいことに応答して（ブロック８１２で“いいえ”）、方法８００はブロック８１６へ進んでよい。ブロック８１６で、最大プロビジョナブルサイズパラメータは出力されてよい。最大値パラメータが最小値パラメータ以上であることに応答して（ブロック８１２で“はい”）、方法８００は図８Ｂのブロック８１８で進んでよい。
【０１４９】
図８Ｂを参照して、ブロック８１８で、中間値パラメータは、最大値パラメータと最小値パラメータとの差の半分に適用される床関数と最小値パラメータとの和に等しく設定されてよい。ブロック８２０で、中間値パラメータ以上のサイズのＶＯＮデマンドの組がプロビジョナブルであるかどうかが判定されてよい。中間値パラメータ以上のサイズのＶＯＮデマンドの組がプロビジョナブルでないことに応答して（ブロック８２０で“いいえ”）、方法８００はブロック８２６へ進んでよい。ブロック８２６で、最大値パラメータは、中間値パラメータと１との差に設定されてよい。
【０１５０】
中間値パラメータ以上のサイズのＶＯＮデマンドの組がプロビジョナブルであることに応答して（ブロック８２０で“はい”）、方法８００はブロック８２２へ進んでよい。ブロック８２２で、最大プロビジョナブルサイズパラメータは、中間値パラメータ及び最大プロビジョナブルサイズパラメータのうち大きい方であるよう更新されてよい。ブロック８２４で、最小値パラメータは、１と中間値パラメータとの和に設定されてよい。方法８００は、図８Ａのブロック８２４及び／又は８２６からブロック８１２へ進んでよい。方法８００は次いで、ブロック８１２、８１８、８２０、８２２、８２４、８２６及び８１６の１つ以上の中を進んでよい。
【０１５１】
幾つかの実施形態において、図８Ａ及び８Ｂを参照して記載されるブロックの１つ以上は、方法６００及び７００の他において実施されてよい。例えば、図８Ａ及び８Ｂを参照して記載されるブロックの１つ以上は、方法６００のブロック６１０に含まれてよい。
【０１５２】
図９は、ここで記載される少なくとも１つの実施形態に従って配置される、あるサイズのＶＯＮデマンドの組がプロビジョナブルであるかどうかを判定する例となる方法９００のフロー図である。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【０１５３】
方法９００はブロック９０２から開始してよい。ブロック９０２で、物理ネットワーク情報、ＶＯＮデマンド、及びサイズが読み出される。ブロック９０４で、カウンタパラメータは初期化されてよい。例えば、カウンタパラメータは、ゼロに初期化されてよい。ブロック９０６で、ブロックト制約セットは初期化されてよい。例えば、ブロックト制約セットは、ゼロに初期化されてよい。
【０１５４】
ブロック９０８で、カウンタパラメータが最大ブロックカウントパラメータよりも小さいかどうかが判定されてよい。カウンタパラメータが最大ブロックカウントパラメータよりも小さいことに応答して（ブロック９０８で“はい”）、方法９００はブロック９１０へ進んでよい。カウンタパラメータが最大ブロックカウントパラメータ以上であることに応答して（ブロック９０８で“いいえ”）、方法９００はブロック９２０へ進んでよい。ブロック９２０で、ＦＡＬＳＥが返される。ＦＡＬＳＥは、ＶＯＮデマンドの組がプロビジョナブルでないこと示す。
【０１５５】
ブロック９１０で、実行可能なマッピング関数について実行可能なマッピングがあるかどうかが判定されてよい。実行可能なマッピング関数は、物理ネットワーク情報、ＶＯＮデマンド、最小プロビジョントＶＯＮセットサイズパラメータ、ソリューション品質パラメータ、及びブロックト制約セットに適用されてよい。幾つかの実施形態において、実行可能なマッピング関数は、実行可能なマッピングの式ｍａｐＶＯＮ（ｎ，Ｖ，ｄ，ｑ，Ｉ）によって表現されてよい。
【０１５６】
実行可能なマッピングがあることに応答して（ブロック９１０で“はい”）、方法９００はブロック９１２へ進んでよい。実行可能なマッピングがないことに応答して（ブロック９１０で“いいえ”）、方法９００はブロック９２０へ進んでよく、そこでＦＡＬＳＥが返される。
【０１５７】
ブロック９１２で、スロット割り当て関数について実行可能なスロット割り当てがあるかどうかが判定されてよい。スロット割り当て関数は、物理ネットワーク情報、ＶＯＮデマンド、実行可能なマッピング、及びスロット割り当てのためのコストパラメータに適用されてよい。幾つかの実施形態において、スロット割り当て関数は、スロット割り当て式ａ＝ｓｌｏｔＡｓｓｉｇｎ（ｎ，Ｖ，ｍ，ｃ）によって表現されてよい。
【０１５８】
実行可能なスロット割り当てがあることに応答して、方法９００はブロック９１８へ進んでよい。ブロック９１８で、真（ＴＲＵＥ）が返される。ＴＲＵＥは、ＶＯＮデマンドの組がプロビジョナブルであることを示す。
【０１５９】
実行可能なスロット割り当てがないことに応答して、方法９００はブロック９１４へ進んでよい。ブロック９１４で、実行可能なマッピングは、ブロックト制約セットに加えられてよい。ブロック９１６で、カウンタパラメータはインクリメントされてよい。カウンタパラメータをインクリメントするよう、１がカウンタパラメータに加えられてよい。
【０１６０】
幾つかの実施形態において、図９を参照して記載されるブロックの１つ以上は、方法６００、７００及び８００の他において実施されてよい。例えば、図９を参照して記載されるブロックの１つ以上は、方法８００のブロック８１０及び／又は８２０に含まれてよい。
【０１６１】
方法６００、７００、８００及び９００は、図１Ａの動作環境５０のような動作環境で実行されてよい。方法６００、７００、８００及び９００は、幾つかの実施形態において、図１Ａ乃至２Ｃを参照して記載されるＳＤＯＮコントローラ１１３及び／又は物理ノード１０１／Ａ〜Ｇによってプログラム可能に実行されてよい。ＳＤＯＮコントローラ１１３及び／又は物理ノード１０１／Ａ〜Ｇは、方法６００、７００、８００及び９００を実行するか又はその実行を引き起こすようプロセッサによって実行可能であるプログラミングコード又は命令を記憶しているか又は符号化されている非一時的なコンピュータ可読媒体（例えば、図５のメモリ５０８）を含んでよく、あるいは、それに通信上結合されてよい。加えて、又は代替的に、ＳＤＯＮコントローラ１１３及び／又は物理ノード１０１／Ａ〜Ｇは、方法６００、７００、８００及び９００の実行を引き起こすか又は制御するようにコンピュータ命令を実行するよう構成されるプロセッサ（例えば、図５のプロセッサ５０４）を含んでよい。
【０１６２】
ここで記載される実施形態は、以下でより詳細に論じられるように、様々なコンピュータハードウェア又はソフトウェアモジュールを含む特別目的又は汎用のコンピュータの使用を含んでよい。
【０１６３】
ここで記載される実施形態は、コンピュータ実行可能命令又はデータ構造を搬送するか又は記憶しているコンピュータ可読媒体を用いて実施されてよい。そのようなコンピュータ可読媒体は、汎用又は特別目的のコンピュータによってアクセスされ得る如何なる利用可能な媒体であってもよい。例として、制限なしに、そのようなコンピュータ可読媒体には、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、電気的消去可能なプログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）、コンパクトディスク型リードオンリーメモリ（ＣＤ−ＲＯＭ）若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、フラッシュメモリデバイス（例えば、ソリッドステートメモリデバイス）、あるいは、コンピュータ実行可能命令又はデータ構造の形で所望のプログラムコードを搬送又は記憶するために使用されてよく且つ汎用又は特別目的のコンピュータによってアクセスされ得る何らかの他の記憶媒体を含む有形なコンピュータ可読記憶媒体が含まれてよい。上記の組み合わせも、コンピュータ可読媒体の適用範囲内に含まれてよい。
【０１６４】
コンピュータ実行可能命令には、例えば、汎用コンピュータ、特別目的コンピュータ、又は特別目的プロセッシングデバイス（例えば、１つ以上のプロセッサ）に特定の機能又は機能群を実行させる命令及びデータを含んでよい。対象は、構造的特徴及び／又は方法論的動作に特有の言語で記載されてきたが、添付の特許請求の範囲で定義される対象は、必ずしも、上記の具体的な特徴又は動作に制限されない点が理解されるべきである。むしろ、上記の具体的な特徴及び動作は、特許請求の範囲を実施する例となる形態として開示されている。
【０１６５】
ここで使用されるように、語「モジュール」又は「コンポーネント」は、モジュール若しくはコンポーネントの動作を実行するよう構成される特定のハードウェア実施、及び／又はコンピューティングシステムの汎用ハードウェア（例えば、コンピュータ可読媒体、プロセッシングデバイス、など）で記憶及び／又は実行され得るソフトウェアオブジェクト若しくはソフトウェアルーチンに言及してよい。幾つかの実施形態において、ここで記載される種々のコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステムで（例えば、別個のスレッドとして）実行するオブジェクト又はプロセスとして実施されてよい。ここで記載されるシステム及び方法の幾つかは、（汎用ハードウェアで記憶及び／又は実行される）ソフトウェアにおいて実施されるものとして概して記載されているが、特定のハードウェア実施又はソフトウェア及び特定のハードウェア実施の組み合わせも可能であって考えられている。本明細書において、「コンピューティングエンティティ」は、ここで先に定義されているあらゆるコンピューティングシステム、又はコンピューティングシステムで実行されるあらゆるモジュール若しくはモジュールの組み合わせであってよい。
【０１６６】
ここで挙げられている全ての例及び条件付き言語は、当該技術を促進することに本発明者によって寄与される概念及び本発明を読者が理解するのを助けるよう教育的な目的を意図され、そのような具体的に挙げられている例及び条件に制限されないものとして解釈されるべきである。本発明の実施形態は詳細に記載されてきたが、様々な変更、置換及び代替は、本開示の主旨及び適用範囲から逸脱することなしに、それらの実施形態に対して行われてよい。
【０１６７】
上記の実施形態に加えて、以下の付記を開示する。
（付記１）
１つ以上の物理ノードと、該物理ノードを接続する１つ以上の物理リンクとを含む物理ネットワークへ仮想光ネットワーク（ＶＯＮ）をマッピングする方法であって、
前記物理ノード及び前記物理リンクの特性を表す物理ネットワーク情報と、１つ以上のＶＯＮデマンドと、前記物理ネットワークの１つ以上の技術制約とを読み出し、
前記ＶＯＮデマンドを処理し続けるべきかどうかを判定する繰り返し条件に繰り返しパラメータが違反しているかどうかを判定し、
前記繰り返しパラメータが前記繰り返し条件に違反していないことに応答して、前記ＶＯＮデマンドの未処理サブグループがあるかどうかを判定し、
１つ以上の未処理サブグループがあることに応答して、前記ＶＯＮのサブグループを選択し、
前記ＶＯＮのサブグループのための実行可能なマッピングパターンを計算し、
実行可能なマッピング及びスロット割り当てソリューションを有する前記サブグループの最も大きいサブセットのサイズを求め、
実行可能なスロット割り当てを有する前記サブセットのマッピングソリューションを求め、
前記マッピングソリューションのスロット割り当てを求める
ことを有する方法。
（付記２）
前記繰り返しパラメータが前記繰り返し条件に違反することに応答して、前記ＶＯＮデマンドの少なくとも一部に従って前記物理ノード及び前記物理リンクを構成するよう前記物理ネットワークにおいて前記マッピングソリューションを実施する
ことを更に有する付記１に記載の方法。
（付記３）
前記マッピングソリューションのスロット割り当てを求めることに続いて、前記ＶＯＮデマンドの更なる未処理サブグループがあるかどうかを更に判定し、
前記ＶＯＮデマンドの１つ以上の更なる未処理サブグループがあることに応答して、前記ＶＯＮの他のサブグループを選択し、
前記ＶＯＮの他のサブグループのための実行可能なマッピングパターンを計算し、
実行可能なマッピング及びスロット割り当てソリューションを有する前記他のサブグループの他の最も大きいサブセットのサイズを求め、
実行可能なスロット割り当てを有する前記他のサブセットの他のマッピングソリューションを求め、
前記他のマッピングソリューションのスロット割り当てを求める
ことを更に有する付記１に記載の方法。
（付記４）
前記ＶＯＮデマンドの１つ以上の未処理サブグループがないことに応答して、ＶＯＮ処理の最後の繰り返しによりマッピングのステータスを反映するよう前記繰り返しパラメータを更新し、
更新された繰り返しパラメータが前記繰り返し条件に違反するかどうかを判定する
ことを更に有する付記１に記載の方法。
（付記５）
前記繰り返し条件は、
前記ＶＯＮの全てがマッピングされること、
繰り返しの特定の最大回数が実行されること、
ある量の時間が過ぎること、及び
少なくとも１つの新しいＶＯＮが最後の繰り返しにおいてうまくマッピングされること
のうちの１つ以上を含む、付記１に記載の方法。
（付記６）
前記計算することは、
前記ＶＯＮデマンドが解析されたかどうかを判定し、
前記ＶＯＮデマンドが解析されていないことに応答して、前記解析されていないＶＯＮデマンドの中から第１ＶＯＮデマンドを選択し、
前記第１ＶＯＮデマンドのためのアブストラクトマッピングパターンセットを組み合わせ的に計算し、
前記第１ＶＯＮデマンドのためのコンクリートマッピングセットを初期化し、
前記アブストラクトマッピングパターンセットが解析されるかどうかを判定し、
前記アブストラクトマッピングパターンセットが解析されないことに応答して、前記アブストラクトマッピングパターンセットから第１アブストラクトマッピングパターンを選択し、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されているかどうかを判定し、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されていないことに応答して、前記第１アブストラクトマッピングパターンから第１仮想リンクを取り出し、
前記第１アブストラクトマッピングパターンの前の仮想リンクからの１つ以上のノード又は１つ以上のリンクに関する物理ネットワーク情報を除き、
前記物理ネットワーク情報における前記第１仮想リンクのエンドポイント間の１つ以上のスロット連続最短経路を計算し、
スロットが不十分である前記物理ネットワーク情報における前記第１仮想リンクのエンドポイント間の１つ以上のスロット連続最短経路を取り除き、
前記第１仮想リンクのためのコンクリート経路を指定し、
前記第１アブストラクトマッピングパターンに対応するコンクリートマッピングパターンに前記最短経路を加える
ことを含む、付記１に記載の方法。
（付記７）
前記計算することは、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されていることに応答して、前記コンクリートマッピングパターンが完成したかどうかを判定し、
前記コンクリートマッピングパターンが完成したことに応答して、該コンクリートマッピングパターンをコンクリートマッピングパターンセットに加え、
前記アブストラクトマッピングパターンセットが解析されることに応答して、前記コンクリートマッピングパターンセットを出力し、
前記ＶＯＮデマンドが解析されることに応答して、前記実行可能なマッピングパターンの計算を完了する
ことを更に含む、付記６に記載の方法。
（付記８）
前記サイズを求めることは、
最大値パラメータを前記ＶＯＮデマンドの数の絶対値であるよう初期化し、
最小値パラメータを１であるよう更に初期化し、
最大プロビジョナブルサイズパラメータをゼロであるよう更に初期化し、
前記ＶＯＮデマンドがプロビジョナブルであるかどうかを判定し、
前記ＶＯＮデマンドがプロビジョナブルでないことに応答して、前記最大値パラメータが前記最小値パラメータ以上であるかどうかを判定し、
前記最大値パラメータが前記最小値パラメータ以上であることに応答して、前記最大値パラメータと前記最小値パラメータとの差の半分に適用される床関数と前記最小値パラメータとの和に等しい中間値パラメータを設定し、
前記中間値パラメータ以上のサイズの前記ＶＯＮデマンドの組がプロビジョナブルであるかどうかを判定し、
前記中間値パラメータ以上のサイズの前記ＶＯＮデマンドの組がプロビジョナブルであることに応答して、前記最大プロビジョナブルサイズパラメータを前記中間値パラメータ及び前記最大プロビジョナブルサイズパラメータのうち大きい方であるよう更新し、
１と前記中間値パラメータとの和に前記最小値パラメータを設定する
ことを含む、付記１に記載の方法。
（付記９）
前記サイズを求めることは、
前記中間値パラメータ以上のサイズの前記ＶＯＮデマンドの組がプロビジョナブルでないことに応答して、前記中間値パラメータと１との差に前記最大値パラメータを設定し、
前記最大値パラメータが前記最小値パラメータよりも小さいことに応答して、前記最大プロビジョナブルサイズパラメータを出力する
ことを更に含む、付記８に記載の方法。
（付記１０）
前記中間値パラメータ以上のサイズの前記ＶＯＮデマンドの組がプロビジョナブルであるかどうかを判定することは、
前記サイズを更に読み出し、
カウンタパラメータをゼロに初期化し、
ブロックト制約セットをヌルに更に初期化し、
前記カウンタパラメータが最大ブロックカウントパラメータよりも小さいかどうかを判定し、
前記カウンタパラメータが前記最大ブロックカウントパラメータよりも小さいことに応答して、前記物理ネットワーク情報、前記ＶＯＮデマンド、スロット数パラメータ、及び前記ブロックト制約セットに適用される実行可能なマッピング関数のための実行可能なマッピングがあるかどうかを判定し、
前記実行可能なマッピングがあることに応答して、前記物理ネットワーク情報、前記ＶＯＮデマンド、前記実行可能なマッピング、及び前記ブロックト制約セットに適用されるスロット割り当て関数のための実行可能なスロット割り当てがあるかどうかを判定し、
前記実行可能なスロット割り当てがないことに応答して、前記実行可能なマッピングをブロックトマッピングの組に加えて、前記カウンタパラメータをインクリメントする
ことを含む、付記８に記載の方法。
（付記１１）
物理ノード及び該物理ノードを接続する物理リンクの特性を表す物理ネットワーク情報と、１つ以上のＶＯＮデマンドと、前記物理ノード及び前記物理リンクを含む物理ネットワークの１つ以上の技術制約とを読み出し、
前記ＶＯＮデマンドを処理し続けるべきかどうかを判定する繰り返し条件に繰り返しパラメータが違反しているかどうかを判定し、
前記繰り返しパラメータが前記繰り返し条件に違反していないことに応答して、前記ＶＯＮデマンドの未処理サブグループがあるかどうかを判定し、
１つ以上の未処理サブグループがあることに応答して、前記ＶＯＮのサブグループを選択し、
前記ＶＯＮのサブグループのための実行可能なマッピングパターンを計算し、
実行可能なマッピング及びスロット割り当てソリューションを有する前記サブグループの最も大きいサブセットのサイズを求め、
実行可能なスロット割り当てを有する前記サブセットのマッピングソリューションを求め、
前記マッピングソリューションのスロット割り当てを求める
動作を実行するようプロセッサによって実行可能なプログラミングコードが符号化されている非一時的なコンピュータ可読媒体。
（付記１２）
前記動作は、前記繰り返しパラメータが前記繰り返し条件に違反することに応答して、前記ＶＯＮデマンドの少なくとも一部に従って前記物理ノード及び前記物理リンクを構成するよう前記物理ネットワークにおいて前記マッピングソリューションを実施することを更に有する、
付記１１に記載の非一時的なコンピュータ可読媒体。
（付記１３）
前記動作は、
前記マッピングソリューションのスロット割り当てを求めることに続いて、前記ＶＯＮデマンドの更なる未処理サブグループがあるかどうかを更に判定し、
前記ＶＯＮデマンドの１つ以上の更なる未処理サブグループがあることに応答して、前記ＶＯＮの他のサブグループを選択し、
前記ＶＯＮの他のサブグループのための実行可能なマッピングパターンを計算し、
実行可能なマッピング及びスロット割り当てソリューションを有する前記他のサブグループの他の最も大きいサブセットのサイズを求め、
実行可能なスロット割り当てを有する前記他のサブセットの他のマッピングソリューションを求め、
前記他のマッピングソリューションのスロット割り当てを求める
ことを更に有する、付記１１に記載の非一時的なコンピュータ可読媒体。
（付記１４）
前記動作は、
前記ＶＯＮデマンドの１つ以上の未処理サブグループがないことに応答して、ＶＯＮ処理の最後の繰り返しによりマッピングのステータスを反映するよう前記繰り返しパラメータを更新し、
更新された繰り返しパラメータが前記繰り返し条件に違反するかどうかを判定する
ことを更に有する、付記１１に記載の非一時的なコンピュータ可読媒体。
（付記１５）
前記繰り返し条件は、
前記ＶＯＮの全てがマッピングされること、
繰り返しの特定の最大回数が実行されること、
ある量の時間が過ぎること、及び
少なくとも１つの新しいＶＯＮが最後の繰り返しにおいてうまくマッピングされること
のうちの１つ以上を含む、付記１１に記載の非一時的なコンピュータ可読媒体。
（付記１６）
前記計算することは、
前記ＶＯＮデマンドが解析されたかどうかを判定し、
前記ＶＯＮデマンドが解析されていないことに応答して、前記解析されていないＶＯＮデマンドの中から第１ＶＯＮデマンドを選択し、
前記第１ＶＯＮデマンドのためのアブストラクトマッピングパターンセットを組み合わせ的に計算し、
前記第１ＶＯＮデマンドのためのコンクリートマッピングセットを初期化し、
前記アブストラクトマッピングパターンセットが解析されるかどうかを判定し、
前記アブストラクトマッピングパターンセットが解析されないことに応答して、前記アブストラクトマッピングパターンセットから第１アブストラクトマッピングパターンを選択し、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されているかどうかを判定し、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されていないことに応答して、前記第１アブストラクトマッピングパターンから第１仮想リンクを取り出し、
前記第１アブストラクトマッピングパターンの前の仮想リンクからの１つ以上のノード又は１つ以上のリンクに関する物理ネットワーク情報を除き、
前記物理ネットワーク情報における前記第１仮想リンクのエンドポイント間の１つ以上のスロット連続最短経路を計算し、
スロットが不十分である前記物理ネットワーク情報における前記第１仮想リンクのエンドポイント間の１つ以上のスロット連続最短経路を取り除き、
前記第１仮想リンクのためのコンクリート経路を指定し、
前記第１アブストラクトマッピングパターンに対応するコンクリートマッピングパターンに前記最短経路を加える
ことを含む、付記１１に記載の非一時的なコンピュータ可読媒体。
（付記１７）
前記計算することは、
前記第１アブストラクトマッピングパターンの仮想リンクが処理されていることに応答して、前記コンクリートマッピングパターンが完成したかどうかを判定し、
前記コンクリートマッピングパターンが完成したことに応答して、該コンクリートマッピングパターンをコンクリートマッピングパターンセットに加え、
前記アブストラクトマッピングパターンセットが解析されることに応答して、前記コンクリートマッピングパターンセットを出力し、
前記ＶＯＮデマンドが解析されることに応答して、前記実行可能なマッピングパターンの計算を完了する
ことを更に含む、付記１６に記載の非一時的なコンピュータ可読媒体。
（付記１８）
前記サイズを求めることは、
最大値パラメータを前記ＶＯＮデマンドの数の絶対値であるよう初期化し、
最小値パラメータを１であるよう更に初期化し、
最大プロビジョナブルサイズパラメータをゼロであるよう更に初期化し、
前記ＶＯＮデマンドがプロビジョナブルであるかどうかを判定し、
前記ＶＯＮデマンドがプロビジョナブルでないことに応答して、前記最大値パラメータが前記最小値パラメータ以上であるかどうかを判定し、
前記最大値パラメータが前記最小値パラメータ以上であることに応答して、前記最大値パラメータと前記最小値パラメータとの差の半分に適用される床関数と前記最小値パラメータとの和に等しい中間値パラメータを設定し、
前記中間値パラメータ以上のサイズの前記ＶＯＮデマンドの組がプロビジョナブルであるかどうかを判定し、
前記中間値パラメータ以上のサイズの前記ＶＯＮデマンドの組がプロビジョナブルであることに応答して、前記最大プロビジョナブルサイズパラメータを前記中間値パラメータ及び前記最大プロビジョナブルサイズパラメータのうち大きい方であるよう更新し、
１と前記中間値パラメータとの和に前記最小値パラメータを設定する
ことを含む、付記１１に記載の非一時的なコンピュータ可読媒体。
（付記１９）
前記サイズを求めることは、
前記中間値パラメータ以上のサイズの前記ＶＯＮデマンドの組がプロビジョナブルでないことに応答して、前記中間値パラメータと１との差に前記最大値パラメータを設定し、
前記最大値パラメータが前記最小値パラメータよりも小さいことに応答して、前記最大プロビジョナブルサイズパラメータを出力する
ことを更に含む、付記１８に記載の非一時的なコンピュータ可読媒体。
（付記２０）
前記中間値パラメータ以上のサイズの前記ＶＯＮデマンドの組がプロビジョナブルであるかどうかを判定することは、
前記サイズを更に読み出し、
カウンタパラメータをゼロに初期化し、
ブロックト制約セットをヌルに更に初期化し、
前記カウンタパラメータが最大ブロックカウントパラメータよりも小さいかどうかを判定し、
前記カウンタパラメータが前記最大ブロックカウントパラメータよりも小さいことに応答して、前記物理ネットワーク情報、前記ＶＯＮデマンド、スロット数パラメータ、及び前記ブロックト制約セットに適用される実行可能なマッピング関数のための実行可能なマッピングがあるかどうかを判定し、
前記実行可能なマッピングがあることに応答して、前記物理ネットワーク情報、前記ＶＯＮデマンド、前記実行可能なマッピング、及び前記ブロックト制約セットに適用されるスロット割り当て関数のための実行可能なスロット割り当てがあるかどうかを判定し、
前記実行可能なスロット割り当てがないことに応答して、前記実行可能なマッピングをブロックトマッピングの組に加えて、前記カウンタパラメータをインクリメントする
ことを含む、付記１８に記載の非一時的なコンピュータ可読媒体。
【符号の説明】
【０１６８】
５０，１００                    動作環境（光通信ネットワーク）
１０１                          物理ノード
１０３Ａ                        第１ＶＯＮ
１０３Ｂ                        第２ＶＯＮ
１０５                          物理リンク
１０６                          光ファイバ
１０７                          ネットワーク
１０９                          マッピングソリューション
１１１，２１０，２２０          ＶＯＮデマンド
１１３                          ＳＤＯＮコントローラ
１１５                          ＶＯＮプロビジョンモジュール
１２３                          物理ネットワーク情報
１２５                          カスタマサーバ１２５
２００                          物理ネットワーク
２０２〜２０６，２２２，２２４  仮想リンク
２３０Ａ〜２３０Ｋ              候補物理ノード
３０２，３０４                  アブストラクトマッピングパターン
５００                          コンピューティングシステム
５０２                          通信ユニット
５０４                          プロセッサ
５０８                          メモリ
Ｖ１〜Ｖ６                      仮想ノード
【図１Ａ】
0006696303.tif 000005
【図１Ｂ】
0006696303.tif 000006
【図２Ａ】
0006696303.tif 000007
【図２Ｂ】
0006696303.tif 000008
【図２Ｃ】
0006696303.tif 000009
【図３Ａ】
0006696303.tif 000010
【図３Ｂ】
0006696303.tif 000011
【図４】
0006696303.tif 000012
【図５】
0006696303.tif 000013
【図６Ａ】
0006696303.tif 000014
【図６Ｂ】
0006696303.tif 000015
【図７Ａ】
0006696303.tif 000016
【図７Ｂ】
0006696303.tif 000017
【図８Ａ】
0006696303.tif 000018
【図８Ｂ】
0006696303.tif 000019
【図９】
0006696303.tif 000020