(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-09
(45)【発行日】2024-02-20
(54)【発明の名称】大域的並行最適化経路を計算する方法、機器及びコンピュータ読み取り可能な記憶媒体
(51)【国際特許分類】
H04L 45/645 20220101AFI20240213BHJP
【FI】
H04L45/645
(21)【出願番号】P 2022505478
(86)(22)【出願日】2020-07-23
(86)【国際出願番号】 CN2020103798
(87)【国際公開番号】W WO2021027519
(87)【国際公開日】2021-02-18
【審査請求日】2022-01-26
(31)【優先権主張番号】201910754127.5
(32)【優先日】2019-08-15
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】511151662
【氏名又は名称】中興通訊股▲ふん▼有限公司
【氏名又は名称原語表記】ZTE CORPORATION
【住所又は居所原語表記】ZTE Plaza,Keji Road South,Hi-Tech Industrial Park,Nanshan Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】肖 述 超
【審査官】鈴木 香苗
(56)【参考文献】
【文献】欧州特許出願公開第02063585(EP,A1)
【文献】国際公開第2016/104719(WO,A1)
【文献】中国特許出願公開第103581006(CN,A)
【文献】藤岡 新也 ほか,ネットワークの全体最適化手法の検討 Study of network global optimization methods,電子情報通信学会技術研究報告 Vol.113 No.207 IEICE Technical Report,日本,一般社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,2013年09月05日,pp.49-54
(58)【調査した分野】(Int.Cl.,DB名)
H04L 45/645
(57)【特許請求の範囲】
【請求項1】
大域的並行最適化経路を計算する方法であって、
経路計算要素PCEが、トポロジ構造に基づいて、1つまたは複数のサービス内の各サービスの最適経路を個別に計算し、且つ前記各サービスの前記最適経路に、最適スペクトルリソースを個別に割り当てるステップと、
前記PCEが、前記各サービスの前記最適経路と最適スペクトルリソースの両方をパラメータとして、または前記各サービスの最適経路をパラメータとして、目的関数に従って前記各サービスおよび前記1つまたは複数のサービス内の全てのサービスを評価して、前記各サービスの最小目標値及び前記全てのサービスの最小目標値を算出するステップと、
前記PCEが、トポロジ構造に基づいて、前記各サービスの実際の経路を順次計算し、実際の最適経路とし、且つ前記実際の経路に実際のスペクトルリソースを順次割り当て、実際の最適スペクトルリソースとするステップと、
前記PCEが、前記各サービスの前記実際の最適経路及び/または前記実際の最適スペクトルリソースをパラメータとして、
前記目的関数に従って前記全てのサービスを評価して、前記全てのサービスの実際の目標値を算出し、実際の最適目標値とするステップと、
再計算の回数が閾値に達したことと、
前記実際の最適目標値と前記全てのサービスの最小目標値との差分値が既定値以下であることと、
の少なくとも1つが満たされるまで、前記PCEが前記1つまたは複数のサービス内のサービスサブセットを並べ替え、並べ替えされたサービス順序に従って、前記サービスサブセット内の各サービスの実際の経路を再計算し且つスペクトルリソースを再割り当てし、前記全てのサービスの実際の目標値を再計算し、再計算された前記実際の目標値が再計算前の前記実際の目標値よりも小さい場合、前記実際の最適目標値を更新し且つ前記実際の最適経路及び前記実際の最適スペクトルリソースを更新するステップと
を含む、
方法。
【請求項2】
前記PCEが前記各サービスの前記実際の経路を順次計算するステップは:
前記目的関数を最も優先度の高い制約条件とし、前記各サービスぞれぞれの制約条件を考慮して、前記各サービスの前記実際の経路を順次計算するステップを含む
請求項1に記載の方法。
【請求項3】
前記PCEが前記各サービスの前記実際の経路を順次計算するステップはさらに:
前記各サービスの前記最小目標値が大きい順に前記各サービスの前記実際の経路を順次計算するステップ、又は
前記各サービスの前記最小目標値が小さい順に前記各サービスの前記実際の経路を順次計算するステップ、又は
前記各サービスの前記実際の経路をランダムな順序で順次計算するステップ、
のうちの一つを含む請求項1に記載の方法。
【請求項4】
前記PCEが前記各サービスの前記最適経路を個別に計算するステップは:
前記目的関数を最も優先度の高い制約条件とし、前記各サービスぞれぞれの制約条件を考慮して、前記各サービスの前記最適経路を個別に計算するステップを含む
請求項1に記載の方法。
【請求項5】
前記PCEが前記実際の最適経路と前記実際の最適スペクトルリソースを更新するステップはさらに:
以前に計算された前記実際の目標値を前記実際の最適目標値として記憶するステップと、
以前に計算された前記各サービスの実際の経路を前記実際の最適経路として記憶するステップと、
以前に割り当てられた前記実際のスペクトルリソースを前記実際の最適スペクトルリソースとして記憶するステップと、
並べ替えられた順序に従って、前記サービスサブセット内の各サービスの実際の経路を再計算し、且つ対応するスペクトルリソースを再割り当てするステップであって、前記1つまたは複数のサービスのうち、前記サービスサブセット以外の他のサービスの実際の経路と実際のスペクトルリソースを変更しないステップと、
前記目的関数に従って、前記全てのサービスの実際の目標値を再計算するステップと、
再計算された実際の目標値が記憶された前記実際の最適目標値より小さい場合、記憶された前記実際の最適目標値を前記再計算された実際の目標値に更新し、記憶された前記実際の最適経路を再計算された前記全てのサービスの実際の経路に更新し、且つ記憶された前記実際の最適スペクトルリソースを再割り当てされた前記全てのサービスの実際のスペクトルリソースに更新するステップと、
を含む請求項1に記載の方法。
【請求項6】
前記目的関数は:
前記目的関数に従って計算される目標値が経路の総帯域幅消費量である総帯域幅消費量を最小化するMBC、又は
前記目的関数に従って計算される目標値が最大負荷リンクの負荷値である最大負荷リンクの負荷値を最小化するMLL、又は
前記目的関数に従って計算される目標値が経路総コストである経路総コストを最小化するMCC、
のうちの一つである請求項1に記載の方法。
【請求項7】
前記PCEが前記サービスサブセットを並べ替えるステップは、
前記1つまたは複数のサービスの現在の順序に従って、前記1つまたは複数のサービスから前記サービスサブセットを順次選択するステップと、
前記サービスサブセット内の各サービスの順序を順に反転させて並び替えを行うステップと、
を含む請求項1に記載の方法。
【請求項8】
前記サービスサブセットは:
前記1つまたは複数のサービスのうち整列された連続のサービス、又は
前記1つまたは複数のサービスのうち整列された非連続のサービス、
を含む請求項1に記載の方法。
【請求項9】
前記既定値は既定比例値Sと前記全てのサービスの最小目標値との積であり、前記既定比例値Sはゼロ以上の非負値である
請求項1に記載の方法。
【請求項10】
前記PCEが経路計算クライアントPCCから前記1つまたは複数のサービスの経路計算要求を受信するステップと、
前記PCEが、前記1つまたは複数のサービス内の各サービスの前記実際の経路と、前記実際の経路に対して割り当てられた実際のスペクトルリソースとを含む経路計算結果を前記PCCに送信するステップと、
をさらに含む請求項1に記載の方法。
【請求項11】
大域的並行最適化経路を計算する機器であって、
コンピュータ実行可能な命令が記憶されたメモリと、
前記メモリにカップリングされたプロセッサと、を含み、前記コンピュータ実行可能な命令が前記プロセッサによって実行された時、前記機器に請求項1から10の何れか一項に記載の方法を実現させる
機器。
【請求項12】
請求項1から10の何れか一項に記載の方法を実行するためのコンピュータプログラムが記憶された
コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は出願番号が201910754127.5で、出願日が2019年08月15日である中国特許出願に基づいて提出され、その中国特許出願の優先権を主張し、その中国特許出願の全ての内容を参考として本願に援用する。
【0002】
本発明の実施例は光伝送ネットワーク通信の分野に関し、特に光伝送ネットワークにおける大域的並行最適化経路を計算する方法、機器及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0003】
光伝送ネットワーク構造の中で、経路計算要素(PCE:Path Computation Element)はネットワークの中で経路計算専用の機能実体であり、既知のネットワークトポロジ構造と制約条件に基づいて、経路計算クライアント(PCC:Path Computation Client)の要求に応じて制約条件を満たす最適経路を算出することができる。
【0004】
PCEとPCCは、ネットワーク機器の内部に集積されてもよいし、それぞれ別の機器であってもよく、ネットワーク上の任意の場所に位置することが可能である。例えば、PCEはSDON(Software Defined Optical Network)コントローラの内部に集積できる。PCCとPCE間は専用の通信プロトコルで通信し、経路計算要求を提出し、経路計算結果を得ることができる。例えば、PCCとPCEは経路計算要素通信プロトコルPCEP(PCE Communication Protocol)で通信することができる。
【0005】
並行マルチサービス経路の計算を実現するための既存の方法の1つは、GCO(Global Concurrent Optimization)大域的並行最適化の経路計算方法である。GCO技術はネットワークトポロジにおいて現在既に確立されている全てのTE(Traffic Engineering) LSP(Label Switched Path)に基づくとともに、確立された各サービスそれぞれの制約条件を考慮して、最適な経路結果の集合を得る。例えば、サービスの制約には、通過するノード、避けるノード、通過するリンク及び/または避けるリンクなどが含まれる。
【0006】
GCOは主に集中型ネットワーク構造、例えばPCEやSDONコントローラに応用されている。分散型LSR(Label Switching Router)でもGCOを使用できる。しかし、GCOを用いた分散型LSRでは、ネットワーク全体の安定性に影響を与えないように、PCE間に複雑な同期メカニズムが必要である。
【0007】
プロバイダがネットワーク計画で同時に1組のサービスを確立する必要がある場合、ネットワークリソースを最大限に利用し、経路計算中の渋滞を最大限に回避し、比較的優れた経路集合を得るためには、大域的並行最適化された経路計算方法を使用する必要がある。ネットワークで実際に障害が発生し、一連のTE LSPが最適な再ルーティングを必要とする場合も、大域的並行最適化された経路計算方法を必要とする。
【0008】
新しいTE LSPがネットワークに追加されたり、ネットワークからTE LSPが削除されたりすると、大域的なネットワークリソースが分散され、ネットワークにすでに存在するTE LSPは最適なリソース使用状況を提供しなくなる。ネットワークリソースの利用率を向上させるためには、ネットワーク内のサービス経路を再最適化する必要がある。大域的並行最適化経路計算は、ネットワークトポロジ全体と既存の全てのTE LSP及びその制約を同時に考慮して、ネットワーク全体を再最適化することで、全てのTE LSPの制約を満たすことができる。一方、大域的並行最適化経路計算は、局所的なTE LSPまたは局所的なネットワークトポロジだけを考慮して、一部のネットワークを再最適化することもできる。ネットワークを再最適化するプロセスには、既存のサービス経路を再調整し、以前の経路を新しい経路に置き換えることが含まれる。
【0009】
並行マルチサービス経路計算を実現するために、いくつかの場合では、通常のやり方としては、ネットワークトポロジや既存のTE LSP及びその制約などを数学モデルに変換し、混合整数線形計画法を用いて解き、MILP(Mixed Integer Linear Programming)と表記する。常用の商用ソルバーにはCPLEX、Gurobi、XPRESSがあり、オープンソースの非商用ソルバーにはCBC、SCIPなどがある。しかし、これらのソルバーは線形モデルの問題のみに対処でき、非線形モデルの問題には対処できない。例えば、常用のソルバーでは、光ネットワーク構造における一部の複雑なモデルの問題に対処できない。また、ネットワークトポロジ規模の拡大とサービス経路数の増加に伴い、ソルバーを用いてサービス経路を計算する時間も指数関数的に上昇している。また、商用ソルバーの販売価格が非常に高く、一般的にはスタンドアローンで毎年課金する。これも非常に重要な考慮事項である。
【0010】
他の場合では、力ずくで求解する方法を採用する。具体的には、現在よく使われている目的関数は:総帯域幅消費量を最小化する(MBC:Minimize aggregate Bandwidth Consumption)目的関数、最大負荷リンクの負荷値を最小化する(MLL:Minimize the load of the Most Loaded Link)目的関数、経路総コストを最小化する(MCC:Minimize Cumulative Cost of a set of paths)目的関数を含む。上記力ずくで求解する方法は、目的関数ごとに、異なるサービス経路順番に応じて各サービスの経路を順次計算し、最終的に目的関数を満たす最適結果を得る。この力ずくで求解する方法によって最終的に得られる結果は目的関数を満たす最適結果であり、すなわち、最終的に得られる結果と目的関数を満たす最適結果との差はゼロである。しかし、サービス経路の数が増加した場合において、この力ずくで求解する方法がかかる時間は急激に上昇し、全体的な時間量は膨大である。この状況は具体的な応用過程では受け入れがたいものである。
【0011】
以上をまとめると、場合によっては、光ネットワーク構造における複雑なモデルに対処できないという問題、計算されたサービス経路結果と目的関数を満たす最適結果との差が大きい(すなわち、近似度が小さい)という問題、機器の使用費用が高いという問題、さらに、トポロジの規模が大きくなることによるサービス経路の計算にかかる時間が長すぎるという問題がある。
【発明の概要】
【課題を解決するための手段】
【0012】
そこで、本発明の実施例は大域的並行最適化経路を計算する方法、機器及びコンピュータ読み取り可能な記憶媒体を提供する。
【0013】
本発明の実施例は大域的並行最適化経路を計算する方法を提供し、前記方法は:経路計算要素PCEは、トポロジ構造に基づいて、1つまたは複数のサービス内の各サービスの実際の経路を順次計算し、実際の最適経路とするステップと、PCEは実際の経路に実際のスペクトルリソースを順次割り当て、実際の最適スペクトルリソースとするステップと、PCEは目的関数に従って、全てのサービスの実際の目標値を計算し、実際の最適目標値とするステップと、再計算の回数が閾値に達するまで、及び/または前記実際の最適目標値と前記全てのサービスの最小目標値との差分値が既定値以下になるまで、PCEが1つ又は複数のサービス内のサービスサブセットを並べ替え、サービスサブセット内の各サービスの実際の経路を再計算しかつスペクトルリソースを再割り当てし、全てのサービスの実際の目標値を再計算し、実際の最適目標値を更新し、かつ実際の最適経路と実際の最適スペクトルリソースを更新するステップと、を含み、実際の最適目標値は算出される全ての実際の目標値のうちの最小値である。
【0014】
本発明の実施例はさらに:大域的並行最適化経路を計算する機器を提供し、前記機器は:コンピュータ実行可能な命令が記憶されたメモリと、メモリにカップリングされたプロセッサと、を含み、コンピュータ実行可能な命令がプロセッサによって実行された時、この機器に上記の大域的並行最適化経路を計算する方法のステップを実現させる。
【0015】
本発明の実施例はさらに:コンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ読み取り可能な記憶媒体には、上記の大域的並行最適化経路を計算する方法のステップを実現するコンピュータプログラムが記憶されている。
【0016】
以上の説明は本発明の一部の技術案の概要に過ぎず、本発明の技術的手段をより明確に把握して、明細書の内容に則って実施できるように、かつ本発明の上記とその他の目的、特徴及び利点をより分かりやすくするために、以下では、特にここに本発明の具体的な実施形態を列挙する。
【0017】
以下の好ましい実施例の詳細な説明を読むことによって、当業者にとって、各種の他の長所と利点は明らかになる。図面は好ましい実施例を示すためであり、本発明に対する制限とはみなさない。なお、全ての図面において、同じ符号で同じ部品を示す。
【図面の簡単な説明】
【0018】
【
図1A】本発明の実施例が提供する一つのサービス経路の模式図である。
【
図1B】本発明の実施例が提供する一つのPCEとPCCネットワーク接続模式図である。
【
図2】本発明の実施例が提供する一つの大域的並行最適化経路を計算する模式フローチャートである。
【
図3】本発明の実施例が提供するサービス経路とスペクトル反復最適化を確定する模式フローチャートである。
【
図4】本発明の実施例が提供する光伝送ネットワークトポロジの模式図である。
【
図5】本発明の実施例が提供するもう一つの光伝送ネットワークトポロジの模式図である。
【
図6】本発明の実施例が提供するもう一つの光伝送ネットワークトポロジの模式図である。
【
図7】本発明の実施例が提供するPCEの構造模式図である。
【発明を実施するための形態】
【0019】
以下では、図面を参照して本発明の例示的実施例についてより詳細に説明する。図面では本発明の例示的実施例を示しているが、ここで述べた実施例に限定されることなく、各種の形式により本発明を実現できる。むしろ、これらの実施例を提供するのは、本発明をよりはっきり理解できるようにするためで、かつ本発明の範囲を完全に当業者に伝えられるようにするためである。
【0020】
図1Aは本発明の実施例が提供する一つのサービス経路の模式図である。
図1に示すように、1組の経路は2本の経路P
1とP
2を含む。よく使われる目的関数について、ここに具体的に説明する。
【0021】
目的関数における用語は以下となる:
- N本のリンクを含むネットワーク{Li,(i=1...N)}。
【0022】
- K本のリンクからなる経路P{Lpi,(i=1...K)}。
- リンクLのMetricはM(L)と表す。metricはコストや時間遅延などとすることができる。
【0023】
- 経路PのコストはC(P)と表し、ここではC(P)=sum{M(Lpi),(i=1...K)}となる。
【0024】
- リンクL上の残存帯域幅をr(L)と表す。
- リンクL上の最大予約可能帯域幅をR(L)と表す。
【0025】
1)総帯域幅消費量を最小化する(MBC:Minimize aggregate Bandwidth Consumption)目的関数
全てのサービスの総帯域幅消費量が最小で、つまりAggregate bandwidth consumptionの値が最小である。
【0026】
目的関数の説明:(sum{R(Li)-r(Li),i=1...N})が最小であることを確保するように、1組の経路を算出する。
【0027】
ここで、R(Li)はトポロジ内のあるリンクLi上の予約可能な帯域幅を表す。r(Li)はトポロジ内のあるリンクLi上の残存帯域幅である。R(Li)-r(Li)の合計が最小であるということは、結果経路内の全てのリンクにおける使用済みの帯域幅の合計が最小であることが望ましいということを意味する。
【0028】
2)最大負荷リンクの負荷値を最小化する(MLL:Minimize the load of the Most Loaded Link)目的関数
全てのサービスにおいて最大負荷リンクの負荷が最小で、つまりLoad of the most loaded linkの値が最小である。
【0029】
目的関数の説明:(max{(R(Li)-r(Li))/R(Li),i=1...N})が最小であることを確保するように、1組の経路を算出する。
【0030】
ここで、R(Li)はトポロジ内のあるリンクLi上の予約可能な帯域幅を表す。r(Li)はトポロジ内のあるリンクLi上の残存帯域幅である。R(Li)-r(Li)/R(Li)とは、あるリンクLi上の帯域幅の使用率を意味する。結果経路上の全てのリンクの中で最も大きいものの負荷が最小になる必要がある。
【0031】
3)経路総コストを最小化する(MCC:Minimize Cumulative Cost of a set of paths)目的関数
全てのサービス経路のコストの合計が最小で、つまりCumulative TE costの値が最小である。
【0032】
目的関数の説明:(sum{C(Pi),i=1...m})が最小であることを確保するように、1組の経路{P1...Pm}を算出する。
【0033】
ここで、C(Pi)は、経路中の全てのリンクのコストの合計であってもよいし、経路中の全てのリンクの時間遅延の合計であってもよい。
【0034】
図1Bは本発明の実施例が提供する一つのPCEとPCCネットワーク接続模式図である。
図1Bに示すように、PCE 101はPCC 102と接続されており、両者の間では通信が行われている。
図1Bは1つのPCEと1つのPCCのみを示しているが、本発明の実施例はPCEが接続するPCCの数を制限しない。当然のことながら、実際の光ネットワーク構造では、PCEの数及びPCCの数は1つまたは複数であってもよい。
【0035】
本発明の実施例において、代替的に、PCE 101は、PCC 102から1つ又は複数のサービスのサービス経路を最適化する要求を受信し、そして、PCE 101は、大域的並行最適化経路を計算するための方法を実行する。要求された1つ又は複数のサービス内の各サービスの最適化された経路が算出され、最適化された経路に対して実際のスペクトルリソースが割り当てられた後、PCE 101は、PCC 102にこれらの最適化された経路と、最適化された経路に対して割り当てられた実際のスペクトルリソースとを送信する。
【0036】
図2は本発明の実施例が提供する一つの大域的並行最適化経路を計算する模式フローチャートである。大域的並行最適化経路計算方法では、まず、PCE(例えば、
図1Bに示すPCE 101)が、1つまたは複数のサービスの最適経路と最適スペクトルリソースを確定する。次に、PCEは、1つまたは複数のサービスの実際の経路と実際のスペクトルリソースに対する反復最適化プロセスを実行する。
【0037】
具体的には、
図2に示すように、ブロック201で、PCE(例えば、
図1Bに示すPCE 101)は、ネットワークトポロジ構造とネットワーク内のスペクトルリソース全体に基づいて、各サービスの最適経路を個別に計算し、各サービスの最適経路に、最適スペクトルリソースを個別に割り当てる。
【0038】
本発明の実施例において、代替的に、ネットワークターゲットトポロジにおいて、PCEは目的関数を最も優先度の高い制約条件とし、各サービスのそれぞれの制約条件を加えて、各サービスのサービス経路をそれぞれ計算し、各サービスにスペクトルリソースを割り当てる。すなわち、PCEは1つまたは複数のサービス内の各サービスについて個別にサービス経路を計算し且つスペクトルリソースを割り当て、他のサービスの状況を考慮しないため、このプロセスは各サービスについての最適経路と最適スペクトルリソースを必然的に獲得する。
【0039】
ブロック202において、PCE(例えば
図1Bに示すPCE 101)は、各サービスの最適経路と対応するスペクトルリソースの両方をパラメータとして、または各サービスの最適経路を個別にパラメータとして、目的関数に従って各サービスの最小目標値及び全てのサービスの最小目標値T
minを算出する。T
minは、目的関数に従って全てのサービスについて計算された目標値のうちの最小極限値、すなわち理想目標値または極限目標値である。本発明の実施例において、代替的に、PCE(例えば
図1Bに示すPCE 101)は、各サービスの最適経路及び/または最適スペクトルリソースをパラメータとして、目的関数に従って各サービスの最小目標値、及び全てのサービスの最小目標値T
minを算出する。本発明の実施例において、代替的に、ブロック202は最小目標値T
minを記録または記憶することも含む。
【0040】
ブロック203において、各サービスの最小目標値に基づいて、適切なストラテジーに従ってサービスを整列した後、PCE(例えば、
図1Bに示すPCE 101)は、ネットワークトポロジ構造とネットワーク内のスペクトルリソース全体に基づいて、1つ又は複数のサービス内の各サービスの実際の経路を順次計算し、対応するスペクトルリソースを順次割り当てる。例えば、ネットワークターゲットトポロジにおいて、PCEは目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、各サービスの実際の経路を順次計算し、実際のスペクトルリソースを順次割り当てる。PCEは、1つまたは複数のサービスの各サービスについて実際のサービス経路を計算し且つ実際のスペクトルリソースを割り当てる際に、他のサービスの状況を考慮する必要があるため、計算された実際のサービス経路と割り当てられた実際のスペクトルリソースは、最適経路と最適スペクトルリソースの効果を達成することができないに違いない。
【0041】
本発明の実施例において、代替的に、PCEは、計算された各サービスの最小目標値が大きい順に各サービスの実際の経路を順次計算する。代替的に、PCEは、計算された各サービスの最小目標値が小さい順に各サービスの実際の経路を順次計算する。代替的に、PCEは各サービスの実際の経路をランダムな順序で順次計算する。
【0042】
本発明の実施例において、代替的に、ブロック203はまた、適切なストラテジーを用いて各サービスを整列し、そして、整列後に順次に各サービスの実際の経路を計算し且つ対応するスペクトルリソースを割り当てることを含む。例えば、各サービスの最小目標値が大きい順、各サービスの最小目標値が小さい順、またはランダムな順序で全てのサービスを整列してもよい。
【0043】
ブロック204において、PCE(例えば、
図1Bに示すPCE 101)は、1つ又は複数のサービス内の各サービスの実際のサービス経路及び/または対応するスペクトルリソースをパラメータとして、目的関数に従って1つ以上のサービスの実際の目標値Tを計算し、初期の実際の最適目標値T
bestとする。本発明の実施例において、ブロック204はさらに、実際の最適目標値T
bestを記録または記憶し、全てのサービスの実際の経路を初期の実際の最適経路として記録または記憶し、及び全てのサービスの実際のスペクトルリソースを初期の実際の最適スペクトルリソースとして記録または記憶することを含む。本発明の実施例において、代替的に、PCE(例えば、
図1Bに示すPCE 101)は、各サービスの実際のサービス経路及び/または実際のスペクトルリソースをパラメータとして、目的関数に従って1つ又は複数のサービスの実際の目標値Tを計算し、且つ初期の実際の最適目標値T
bestとする。本発明の実施例において、ブロック204はさらに、実際の最適目標値T
best、実際の最適経路、及び実際の最適スペクトルリソースを記録または記憶することを含む。
【0044】
ブロック205において、PCE(例えば、
図1Bに示すPCE 101)は、1つ又は複数のサービス内のサービスサブセットを並べ替える。ブロック206において、PCE(例えば、
図1Bに示すPCE 101)は、並べ替えた順序に従って上記のサービスサブセット内の各サービスの実際の経路を再計算し、対応するスペクトルリソースを再割り当てし、且つ実際の目標値Tを再計算する。TがT
bestより小さい場合、実際の最適目標値T
bestをTに更新し、実際の最適経路と実際の最適スペクトルリソースを今回の全てのサービスの経路とスペクトルリソースに更新し、再計算の回数が閾値に達するまで、及び/または実際の最適目標値T
bestと最小目標値T
minとの差分値が既定値以下になるまで、以上の操作を繰り返す。ブロック207において、PCE(例えば、
図1Bに示すPCE 101)は、更新された実際の最適経路と実際の最適スペクトルリソースをPCC(例えば、
図1Bに示すPCC 102)に送信する。つまり、PCEは、最終的に得られた1つまたは複数のサービス内の各サービスの実際のサービス経路と実際のスペクトルリソースをPCCに送信する。
【0045】
図3は本発明の実施例が提供するサービス経路とスペクトルの反復最適化を決定する模式フローチャートである。
図3は1つまたは複数のサービスの実際の経路及び実際のスペクトルリソースに対するPCEの反復最適化プロセスを詳細に示す。例えば、
図3は、
図2の例示におけるブロック205、206と207の方法ステップをさらに詳細に説明する。
【0046】
具体的には、
図3に示すように、ブロック301において、PCE(例えば、
図1Bに示すPCE 101)は再計算回数の閾値(すなわち反復回数)を設定し、且つ既定値Vを設定する。本発明の実施例において、代替的に、既定値Vは、最小目標値T
minに関連する既定比例値Sと最小目標値T
minとの積であってもよく、ここで、既定比例値Sは、ゼロ以上の非負値である。1-Sは目標の最適度である。つまりV=T
min*Sである。したがって、実際の最適目標値T
bestと最小目標値T
minとの差分値が既定値Vと等しい場合、T
bestはT
minと(1+S)の積であり、つまりT
best=T
min*(1+S)となる。
【0047】
ブロック302において、1つまたは複数のサービスの全てのサービスからサービスサブセットを選択する。本発明の実施例において、代替的に、全てのサービスのシーケンスの中で、適切なストラテジーに従って一部のサービスをそのサービスサブセットとして選択する。ブロック303において、このサービスサブセットに既に割り当てられたスペクトルリソースを解放する。ブロック304において、このサービスサブセット内の各サービスを並べ替えて、目的関数に従ってこのサービスサブセット内の各サービスの経路を再計算し且つ対応するスペクトルリソースを割り当てる。
【0048】
本発明の実施例において、代替的に、このサービスサブセットは、1つ又は複数のサービスの全てのサービスのうち整列された連続のサービスであってもよいし、全てのサービスのうち整列された非連続のサービスであってもよい。
【0049】
例えば、現在の全てのサービスのシーケンスがB0、B1、B2、…、Bi、…、Bj、…、Bk、…、Bnであると仮定する。このシーケンスからサービスサブセットを選択するストラテジーとこのサービスサブセットを並べ替えるストラテジーは、次の方法を含んでもよい:
1)現在のサービス序列の中で、サービスBiとBjをランダムに選択し、ただし、i<jである。つまり、現在のサービスシーケンスの中で、選択されたサービスサブセットは、Bi、Bj、及びBiとBjの間の全てのサービスである。次に、Bi、Bj、及びBiとBjの間の全てのサービスの順序を順に反転させて並べ替えを行う。それから、PCEは選択されたサービスサブセットについてBj、Bj-1、...、Bi+1、Biの順に、このサービスサブセット内の各サービスのサービス経路を再計算する。さらに、1つ又は複数のサービスのうち、選択されたサービスサブセット以外の他のサービスの経路を変更しない。
【0050】
2)現在のサービスシーケンスおいて、m個のサービスをランダムに選択し、ただし、m≧2である。例えば、Bi、Bj、Bk、...の全部でm個のサービスを選択し、ただし、i<j<kである。そして、Bi、Bj、Bk、...の全部でm個のサービスの順序を順に反転させて並べ替えを行う。それから、PCEは、並べ替えられたこの部分のm個のサービスについて、…、Bk、Bj、Biの順に、これらのサービスの実際のサービス経路を再計算し、再計算された実際のサービス経路に、対応するスペクトルリソースを割り当てる。さらに、1つ又は複数のサービスのうち、選択されたサービスサブセット以外の他のサービスの経路と割り当てられたスペクトルリソースを変更しない。
【0051】
本発明の実施例において、代替的に、ブロック304はさらに、ネットワークトポロジ構造に基づいて目的関数を最も優先順位の高い制約条件として、選択されたこの部分のサービスそれぞれの制約条件を加え、適切な順序で、選択されたこのサービスサブセットについて経路を再計算し、且つ対応するスペクトルリソースを割り当てることを含む。
【0052】
PCEは、選択されたこのサービスサブセット内の各サービスに既に割り当てられた実際のスペクトルリソースを解放し、これにより、全体のネットワーク遊休スペクトルリソースは、解放前の遊休スペクトルリソースと解放されたばかりの選択されたこの部分のサービスの実際のスペクトルリソースとを含む。それから、PCEはトポロジ構造と遊休スペクトルリソースに基づいて、並べ替えられたサービス順序に従って、選択されたこのサービスサブセット内の各サービスの実際の経路を再計算し、且つ実際のスペクトルリソースを再割り当てする。
【0053】
ブロック305において、目的関数に従って全てのサービスについて目標値Tを再計算する。ブロック306において、再計算された目標値TがTbestより小さいか否かを判断する。TがTbestより小さい場合、ブロック307を実行し、TbestをTに更新し、全てのサービス経路とスペクトルを、実際の最適経路と実際の最適スペクトルリソースとして記憶する。例えば、全てのサービス内の各サービスのサービス経路と、各サービスに割り当てられたスペクトルリソースを、実際の最適経路とスペクトルリソースとして記憶する。TがTbest以上である場合、ブロック308を実行し、PCEによる再計算の回数が設定された閾値に既に達したか否かを判断する。
【0054】
PCE(例えば、
図1Bに示すPCE 101)による再計算の回数が設定された閾値に既に達した場合、ブロック310を実行する。PCEによる再計算の回数が設定された閾値に達していない場合、ブロック309を実行する。
【0055】
ブロック309において、実際の最適目標値Tbestと最小目標値Tminとの差分値が既定値V以下であるか否かを判断する。(Tbest-Tmin)が既定値V以下である場合、ブロック310を実行する。(Tbest-Tmin)が既定値Vより大きい場合、ブロック302の実行を再開する。本発明の実施例において、代替的に、ブロック309は、既定値Vの値を設定することも含む。例えば、既定値Vは、最小目標値Tminに関連する既定比例値Sと最小目標値Tminとの積として設定でき、ここで、既定比例値Sは、ゼロ以上の非負値である。
【0056】
ブロック310において、PCE(例えば、
図1Bに示すPCE 101)は、更新された実際の最適経路と実際の最適スペクトルリソースをPCC(例えば、
図1Bに示すPCC 102)に送信する。つまり、PCEは、最終的に得られた1つまたは複数のサービス内の各サービスの実際のサービス経路と実際のスペクトルリソースをPCCに送信する。
【0057】
具体的には、本発明の実施例において、代替的に、目標値Tを再計算し且つ実際の最適目標値Tbestを更新するプロセスは:以前に計算された、全てのサービスについて計算された実際の最適目標値Tbestを記憶するステップと、以前に計算された、全てのサービスについての実際の最適経路とスペクトルリソースを記憶するステップと、並べ替えられた順序に従って、選択された部分のサービス内の各サービスの実際の経路を再計算し且つ対応するスペクトルリソースを割り当てるステップと、全てのサービス内の各サービスの実際の経路及び/または対応するスペクトルリソースをパラメータとして、前記目的関数に従って実際の目標値Tを再計算するステップと、再計算された実際の目標値Tが記憶された実際の最適目標値Tbestより小さい場合、記憶された実際の最適目標値Tbestを、再計算された実際の目標値Tに更新し、記憶された実際の最適経路とスペクトルリソースを今回の全てのサービスの経路とスペクトルリソースに更新するステップと、を含む。
【0058】
これにより分かるように、本発明の実施形態によれば、サービスの初期最適経路と最適スペクトルリソースを確定する際に(例えば、ブロック201)、貪欲な考え方を採用することで、最適度の高い初期の結果経路を得ることができる。それから、本発明の実施形態によれば、並行経路計算結果の最適度と計算にかかる時間との間で比較的良いバランスをとることができる。ネットワークトポロジの規模が大きくなければ、閾値(すなわち反復回数)を大き目に設定し、既定比例値S(例えば、最小目標値Tminに関連する既定比例値)を小さ目に設定してもよく、これにより、計算された経路結果が目的関数を満たす最適度がより良くなる。ネットワークトポロジの規模が大きければ、最適度をある程度犠牲にすることを前提としても計算時間をあまり消費しないように、閾値(すなわち反復回数)を減らし、且つ既定比例値Sを大きく設定してもよい。
【0059】
本発明の実施例の方法及びシステムに関わる主要な処理プロセスをより具体的に説明するために、以下では3つの具体的な実施例を通して詳細に説明する。
【0060】
本発明の実施例において、リンク内の総波長数から使用済みの波長数を差し引くと、そのリンク内で使用可能な波長数が得られる。例えば、1つの特定のリンク内で、1波長の帯域幅が50GHZで、そのリンク上の総帯域幅が500GHZである場合、そのリンク内の総波長数は10になる。1つのリンク上の総波長数が10で、使用済みの波長数が2であると仮定すると、そのリンク上の使用可能な波長数は8になる。
【0061】
図4は本発明の実施例が提供する光伝送ネットワークトポロジの模式図である。この実施例は、総帯域幅消費量を最小化する大域的並行最適化の具体的な方法を用いて、総帯域幅消費量を最小化する(MBC:Minimize aggregate Bandwidth Consumption)目的関数を採用する。
【0062】
図4に示すように、ネットワークトポロジはノードA、B、C、D、E、F、Gからなる。
図4に示すようなネットワークのリンク横の数字は、そのリンクで利用可能な波長数を示す。
【0063】
例えば、
図4に示すネットワークトポロジでは、以下の4つのサービスを実現する必要がある。
図4の実施例によって実現可能なサービスの数及びタイプは限定されず、変化してもよい。
【0064】
サービス1:A~E、ヘッドノードがAで、テールノードがEである。
サービス2:B~G、ヘッドノードがBで、テールノードがGである。
【0065】
サービス3:F~B、ヘッドノードがFで、テールノードがBである。
サービス4:D~G、ヘッドノードがDで、テールノードがGである。
【0066】
各サービスは、通過する全てのリンクにおいて固定幅の波長を占用すると仮定する。
図4に示すネットワークトポロジ内で大域的並行最適化経路を計算する方法の実行は、主に以下のステップ1とステップ2を含む。ここで、ステップ1とステップ2の各サブステップは、以下に詳述するように、それぞれ
図2と
図3の模式フローチャートにおける各ブロックによって実行されるステップに対応する。
【0067】
ステップ1:各サービスの初期の実際の最適経路と最適スペクトルを確定する。
ブロック201:ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、各サービスの最適経路をそれぞれ計算し、最適スなペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス1の経路はA-B-Eである。
【0068】
サービス2の経路はB-D-Gである。
サービス3の経路はF-G-D-Bである。
【0069】
サービス4の経路はD-Gである。
ブロック202:MBC目的関数(sum{R(Li)-r(Li),i=1...N})に従って、全てのサービスの最適経路の最小目標値Tminを評価する。各サービスは、通過する全てのリンクにおいて固定幅の波長を占用するため、1つのサービス経路の波長数の合計は、そのサービスが通過するリンクの数になる。これにより、サービス1の経路の波長数の合計は2、サービス2の経路の波長数の合計は2、サービス3の経路の波長数の合計は3、サービス4の波長数の合計は1となる。したがって、Tminは全てのサービスの波長数の合計であり、Tminの値は2+2+3+1=8である。
【0070】
ブロック203:サービスの順序をランダムに狂わした結果、サービスの順序は3、2、4、1となった。波長数の合計が大きい順に、サービスを整列し、順序は3、2、1、4である。並べ替えられた後のサービス順序に従って、ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、各サービスの実際の経路を順次計算し、実際のスペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス3の経路はF-G-D-Bで、目的関数によって評価された経路波長数の合計は3である。
【0071】
サービス2の経路はB-E-Gで、目的関数によって評価された経路波長数の合計は2である。
【0072】
サービス1の経路はA-C-F-G-Eで、目的関数によって評価された経路波長数の合計は4である。
【0073】
サービス4の経路はD-E-Gで、目的関数によって評価された経路波長数の合計は2である。
【0074】
ブロック204:目的関数に従って全てのサービスの実際の経路の波長数の合計が3+2+4+2=11であると評価し、Tbestとして記録し、各サービスの実際の経路と割り当てられた実際のスペクトルを初期の実際の最適経路とスペクトルリソースとして記録する。
【0075】
ステップ2:サービス経路とスペクトルの反復最適化。
ブロック301:最大反復計算回数(即ち閾値)を2に設定し、既定比例値Sを0.1に設定すると、既定値V=Tmin*S=8*0.1=0.8となる。
【0076】
1回目の反復計算(再計算):
ブロック302:サービスシーケンス3、2、1、4において、サービスBi、Bjをランダムに選択し、ただしi<jであり、Biがサービス2で、Bjがサービス1であると仮定する。
【0077】
選択されたサービスの順序を調整し、BiとBj、そして両者の間のサービスの順序を反転させる。つまり、選択されたサービスの調整後の順序は1、2となる。
【0078】
ブロック303:トポロジからサービス1とサービス2(すなわちサービスBi、Bj)が占用するスペクトルリソースを解放する。
【0079】
ブロック304:ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、サービス1とサービス2の順に、サービス1とサービス2の実際の経路を再計算し、実際のスペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス3の経路はF-G-D-Bで、目的関数によって評価された経路波長数の合計は3である。
【0080】
サービス1の新しい経路はA-C-D-Eで、目的関数によって評価された経路波長数の合計は3である。
【0081】
サービス2の新しい経路はB-E-Gで、目的関数によって評価された経路波長数の合計は2である。
【0082】
サービス4の経路はD-E-Gで、目的関数によって評価された経路波長数の合計は2である。
【0083】
ブロック305:目的関数に従って全てのサービス経路の波長数の合計が3+3+2+2=10であると評価し、Tと表記する。
【0084】
ブロック306と307:T(10)<Tbest(11)であるので、TbestをTに更新し、各サービスの実際の経路と割り当てられた実際のスペクトルリソースを最適結果として記録する。
【0085】
ブロック308:再計算の回数が最大反復計算回数に達したか否かを判断する。現在の反復回数(再計算の回数)は1であり、設定された最大反復計算回数2に達していないため、ブロック309に移行する。
【0086】
ブロック309:(Tbest-Tmin)>V、すなわちTbestの値10とTminの値8の差分値は2で、VはTminの値8とSの積で、8*0.1=0.8で、差分値2はVの値0.8より大きいので、ブロック302に移行する。
【0087】
2回目の反復計算(再計算):
ブロック302:サービスシーケンス3、1、2、4において、サービスBi、Bjをランダムに選択し、ただしi<jであり、Biがサービス1で、Bjがサービス4であると仮定する。
【0088】
選択されたサービスの順序を調整し、BiとBj、そして両者の間のサービスの順序を順に反転させる。つまり、選択されたサービスの調整後の順序は4、2、1となる。
【0089】
ブロック303:トポロジからサービス4、2、1が占用するスペクトルリソースを解放する。
【0090】
ブロック304:ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、サービス4、2、1の順に、サービス4、2、1の実際の経路を再計算し、実際のスペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス3の経路はF-G-D-Bで、目的関数によって評価された経路波長数の合計は3である。
【0091】
サービス4の新しい経路はD-Gで、目的関数によって評価された経路波長数の合計は1である。
【0092】
サービス2の新しい経路はB-E-Gで、目的関数によって評価された経路波長数の合計は2である。
【0093】
サービス1の新しい経路はA-C-F-G-Eで、目的関数によって評価された経路波長数の合計は4である。
【0094】
ブロック305:目的関数に従って全てのサービス経路の波長数の合計が3+1+2+4=10であると評価し、Tと表記する。
【0095】
ブロック306と307:T(10)=Tbest(10)であるため、TbestをTに更新しない。
【0096】
ブロック308:再計算の回数が最大反復計算回数に達したか否かを判断する。このとき、反復回数(再計算の回数)は2であり、最大反復計算回数2に既に達したので、ブロック310に移行する。
【0097】
ブロック310:記録された各サービスの実際の経路と割り当てられた実際のスペクトルリソースの最適結果を出力する。
【0098】
図5は本発明の実施例が提供するもう一つの光伝送ネットワークトポロジの模式図である。本実施例は、最大負荷リンクの負荷値を最小化する大域的並行最適化の具体的な方法を採用し、最大負荷リンクの負荷値を最小化する(MLL:Minimize the load of the Most Loaded Link)目的関数を採用する。
【0099】
図5に示すように、トポロジはノードA、B、C、D、E、F、Gからなる。リンク横の数字は、このリンク上の使用済み波長数とこのリンク上の総波長数との比の値で、つまり使用済み波長数/総波長数を表す。
【0100】
例えば、
図4と同様に、
図5のネットワークトポロジにおいて、以下の4つのサービスを実現する必要がある。
図5の実施例によって実現可能なサービスの数及びタイプは、限定されず、変化してもよい。
【0101】
サービス1:A~E、ヘッドノードがAで、テールノードがEである。
サービス2:B~G、ヘッドノードがBで、テールノードがGである。
【0102】
サービス3:F~B、ヘッドノードがFで、テールノードがBである。
サービス4:D~G、ヘッドノードがDで、テールノードがGである。
【0103】
各サービスは、通過する全てのリンクにおいて固定幅の波長を占用すると仮定する。
図4と同様に、
図5に示すネットワークトポロジにおいて大域的並行最適化経路を計算する方法を実行することは、主に以下のステップ1とステップ2を含み、ステップ1とステップ2の各サブステップは、それぞれ
図2と
図3の模式フローチャートの各ブロックで実行されるステップに対応する。
【0104】
ステップ1:各サービスの初期の実際の最適経路と最適スペクトルを確定する。
ブロック201:ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、各サービスの最適経路をそれぞれ計算し、最適スなペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス1の経路はA-B-Eである。
【0105】
サービス2の経路はB-D-Gである。
サービス3の経路はF-G-D-Bである。
【0106】
サービス4の経路はD-Gである。
ブロック202:MLL目的関数(max{(R(Li)-r(Li))/R(Li),i=1...N})に従って、各サービス経路の目標値Tminを評価する。具体的には、各サービス経路の各リンクにおける使用済み波長数/総波長数をパラメータとして、MLL目的関数に従ってこのサービス経路の目標値を計算する。そして、MLL目的関数に従って全てのサービスの目標値Tminを計算する。
【0107】
MLL目的関数に従って計算されたサービス1の経路の目標値が2/10、サービス2の経路の目標値が2/10、サービス3の経路の目標値が3/10、サービス4経路の目標値が1/10であるとすると、MLL目的関数に従って計算された全てのサービスの目標値Tminはmax(2/10,2/10,3/10,1/10)=3/10となる。
【0108】
ブロック203:サービスの順序をランダムに狂わした結果、サービスの順序は3、4、2、1となった。計算された各サービス経路の目標値が大きい順にサービスを並べ替えると、並べ替え後の順序は3、2、1、4になる。それから、並べ替えられたサービス順序に従って、ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、各サービスの実際の経路を順次計算し、実際のスペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス3の経路はF-G-D-Bで、この場合、目的関数によって評価された経路目標値は3/10である。
【0109】
サービス2の経路はB-E-Gで、この場合、目的関数によって評価された経路目標値は2/10である。
【0110】
サービス1の経路はA-C-F-G-Eで、この場合、目的関数によって評価された経路目標値は4/10である。
【0111】
サービス4の経路はD-E-Gで、この場合、目的関数によって評価された経路目標値は3/10である。
【0112】
ブロック204:目的関数に従って全てのサービス経路の総目標値がmax(3/10,2/10,4/10,3/10)=4/10であると評価し、Tbestとして記録し、各サービスの実際の経路と割り当てられた実際のスペクトルリソースを初期の実際の最適経路とスペクトルリソースとして記録する。
【0113】
ステップ2:サービス経路とスペクトルの反復最適化。
ブロック301:最大反復計算回数を2に設定し、既定比例値Sを0.1に設定すると、既定値V=Tmin*S=(3/10)*0.1=0.03となる。
【0114】
1回目の反復計算(再計算):
ブロック302:サービスシーケンス3、2、1、4において、サービスBi、Bjをランダムに選択し、ただしi<jであり、Biがサービス2で、Bjがサービス1であると仮定する。
【0115】
選択されたサービスの順序を調整し、BiとBj、そして両者の間のサービスの順序を順に反転させる。つまり、選択されたサービスの調整後の順序は1、2となる。
【0116】
ブロック303:トポロジからサービス1、2が占用するスペクトルリソースを解放する。
【0117】
ブロック304:ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、サービス1、2の順に、サービス1、2の実際の経路を再計算し、実際のスペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス3の経路はF-G-D-Bで、この場合、目的関数によって評価された経路目標値は3/10である。
【0118】
サービス1の新しい経路はA-C-D-Eで、この場合、目的関数によって評価された経路目標値は1/10である。
【0119】
サービス2の新しい経路はB-E-Gで、この場合、目的関数によって評価された経路目標値は2/10である。
【0120】
サービス4の経路はD-E-Gで、この場合、目的関数によって評価された経路目標値は2/10である。
【0121】
ブロック305:目的関数に従って全てのサービス経路の総目標値がmax(3/10,1/10,2/10,2/10)=3/10であると評価し、Tと表記する。
【0122】
ブロック306と307:T(3/10)<Tbest(4/10)であるので、TbestをTに更新し、各サービスの実際の経路と割り当てられた実際のスペクトルリソースを最適結果として記録する。つまり、更新後、Tbestの値は3/10になる。
【0123】
ブロック308:再計算の回数が最大反復計算回数に達したか否かを判断する。このとき、反復回数(再計算の回数)は1であり、最大反復計算回数2に達していないので、ブロック309に移行する。
【0124】
ブロック309:(Tbest-Tmin)<V、すなわちTbestの値3/10とTminの値3/10の差分値は0で、VはTminの値3/10とSの積で、(3/10)*0.1=0.03で、差分値0はVの値0.03より小さいので、ブロック310に移行する。
【0125】
ブロック310:記録された各サービスの実際の経路と実際のスペクトルリソースの最適結果を出力する。
【0126】
図6本発明の実施例が提供するもう一つの光伝送ネットワークトポロジの模式図である。本実施例において、経路総コストを最小化する大域的並行最適化の具体的な方法を採用し、経路総コストを最小化する(MCC:Minimize Cumulative Cost of a set of paths)目的関数を採用する。
【0127】
図6に示すように、トポロジはノードA、B、C、D、E、F、Gからなる。リンク横の数字は、そのリンクのコストを表す。代替的に、リンクのコストは距離、時間遅延、ジッタなどであってもよい。
【0128】
例えば、
図4及び
図5と同様に、
図6のネットワークトポロジにおいて、以下の4つのサービスを実現する必要がある。
図6の実施例によって実現可能なサービスの数及びタイプは限定されず、変化してもよい。
【0129】
サービス1:A~E、ヘッドノードがAで、テールノードがEである。
サービス2:B~G、ヘッドノードがBで、テールノードがGである。
【0130】
サービス3:F~B、ヘッドノードがFで、テールノードがBである。
サービス4:D~G、ヘッドノードがDで、テールノードがGである。
【0131】
各サービスは、通過する全てのリンクにおいて固定幅の波長を占用すると仮定する。
図4及び
図5と同様に、
図6に示すネットワークトポロジにおいて大域的並行最適化経路を計算する方法を実行することは、主に以下のステップ1とステップ2を含み、ステップ1とステップ2の各サブステップは、それぞれ
図2と
図3の模式フローチャートの各ブロックで実行されるステップに対応する。
【0132】
ステップ1:各サービスの初期の実際の最適経路と最適スペクトルを確定する。
ブロック201:ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、各サービスの最適経路をそれぞれ計算し、最適スなペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス1の経路はA-B-Eである。
【0133】
サービス2の経路はB-D-Gである。
サービス3の経路はF-G-D-Bである。
【0134】
サービス4の経路はD-Gである。
ブロック202:MCC目的関数(sum{C(Pi),i=1...m})に従って、各サービス経路の目標値Tminを評価する。一つのサービス経路のコストは、経路上の各リンクのコストの合計である。したがって、サービス1の経路コストが200、サービス2の経路コストが200、サービス3の経路コストが300、サービス4の経路コストが100であるとすると、MCC目的関数に従って計算された全てのサービスの目標値Tminは総コスト200+200+300+100=800となる。
【0135】
ブロック203:サービスの順序をランダムに狂わした結果、サービスの順序は3、2、4、1となった。各サービスの経路コストが大きい順に、サービスを並べ替えると、順序は3、2、1、4となる。並べ替えられたサービス順序に従って、ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、各サービスの実際の経路を順次計算し、実際のスペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス3の経路はF-G-D-Bで、目的関数によって評価された経路コストは300である。
【0136】
サービス2の経路はB-E-Gで、目的関数によって評価された経路コストは200である。
【0137】
サービス1の経路はA-C-F-G-Eで、目的関数によって評価された経路コストは400である。
【0138】
サービス4の経路はD-E-Gで、目的関数によって評価された経路コストは200である。
【0139】
ブロック204:目的関数に従って全てのサービス経路の総コストが300+200+400+200=1100であると評価し、Tbestとして記録し、各サービスの実際の経路と割り当てられた実際のスペクトルリソースを初期の実際の最適経路とスペクトルリソースとして記録する。
【0140】
ステップ2:サービス経路とスペクトルの反復最適化。
ブロック301:最大反復計算回数を2に設定し、既定比例値Sを0.1に設定すると、既定値V=Tmin*S=800*0.1=80となる。
【0141】
1回目の反復計算(再計算):
ブロック302:サービスシーケンス3、2、1、4において、サービスBi、Bjをランダムに選択し、ただしi<jであり、Biがサービス2で、Bjがサービス1であると仮定する。
【0142】
選択されたサービスの順序を調整し、BiとBj、そして両者の間のサービスの順序を順に反転させる。つまり、選択されたサービスの調整後の順序は1、2となる。
【0143】
ブロック303:トポロジからサービス1、2が占用するスペクトルリソースを解放する。
【0144】
ブロック304:ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、サービス1、2の順に、サービス1、2の実際の経路を再計算し、実際のスペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス3の経路はF-G-D-Bで、目的関数によって評価された経路コストは300である。
【0145】
サービス1の新しい経路はA-C-D-Eで、目的関数によって評価された経路コストは300である。
【0146】
サービス2の新しい経路はB-E-Gで、目的関数によって評価された経路コストは200である。
【0147】
サービス4の経路はD-E-Gで、目的関数によって評価された経路コストは200である。
【0148】
ブロック305:目的関数に従って全てのサービス経路の総コストが300+300+200+200=1000であると評価し、Tと表記する。
【0149】
ブロック306と307:T(1000)<Tbest(1100)であるので、TbestをTに更新し、各サービスの実際の経路と割り当てられた実際のスペクトルリソースを最適結果として記録する。
【0150】
ブロック308:再計算の回数が最大反復計算回数に達したか否かを判断する。このとき、反復回数(再計算の回数)は1であり、最大反復計算回数2に達していないので、ブロック309に移行する。
【0151】
ブロック309:(Tbest-Tmin)>V、すなわちTbestの値1000とTminの値800の差分値は200で、VはTminの値800とSの積で、800*0.1=80で、差分値200はVの値80より大きいので、ブロック302に移行する。
【0152】
ブロック302に移行する。
2回目の反復計算(再計算):
ブロック302:サービスシーケンス3、1、2、4において、サービスBi、Bjをランダムに選択し、ただしi<jであり、Biがサービス1で、Bjがサービス4であると仮定する。
【0153】
選択されたサービスの順序を調整し、BiとBj、そして両者の間のサービスの順序を順に反転させる。つまり、選択されたサービスの調整後の順序は4、2、1となる。
【0154】
ブロック303:トポロジからサービス4、2、1が占用するスペクトルリソースを解放する。
【0155】
ブロック304:ターゲットトポロジにおいて、目的関数を最も優先度の高い制約条件とし、各サービス自身の制約条件を加えて、サービス4、2、1の順に、サービス4、2、1の実際の経路を再計算し、実際のスペクトルリソースを割り当てる。結果経路がそれぞれ以下であるとする:
サービス3の経路はF-G-D-Bで、目的関数によって評価された経路コストは300である。
【0156】
サービス4の新しい経路はD-Gで、目的関数によって評価された経路コストは100である。
【0157】
サービス2の新しい経路はB-E-Gで、目的関数によって評価された経路コストは200である。
【0158】
サービス1の新しい経路はA-C-F-G-Eで、目的関数によって評価された経路コストは400である。
【0159】
ブロック305:目的関数に従って全てのサービス経路の総コストが300+100+200+400=1000であると評価し、Tと表記する。
【0160】
ブロック306と307:T(1000)=Tbest(1000)であるため、TbestをTに更新しない。
【0161】
ブロック308:再計算の回数が最大反復計算回数に達したか否かを判断する。このとき、反復回数(再計算の回数)は2であり、最大反復計算回数2に既に達したので、ブロック310に移行する。
【0162】
ブロック310:記録された各サービスの実際の経路と実際のスペクトルリソースの最適結果を出力する。
【0163】
図7は本発明の実施例が提供するPCEの構造模式図である。PCE 700は、
図1のPCE 101であってもよい。
図7に示すPCE 700は:コンピュータ実行可能な命令が記憶されたメモリ702と、メモリ702にカップリングされたプロセッサ701と、を含み、コンピュータ実行可能な命令がプロセッサ701によって実行された時、PCE 700に
図2から
図6に示す方法を実現させる。
【0164】
本発明の実施例において、代替的に、PCE 700は受信回路703をさらに含み、受信回路703は具体的に、PCC(例えば、
図1Bに示すPCC 102)から前記1つ又は複数のサービスの経路を最適化する要求を受信するために使用できる。そして、PCE 700のプロセッサ701は具体的に、
図2及び
図3に示すような、大域的並行最適化経路を計算するフローを実行し、例えば、経路を計算し、スペクトルリソースを割り当て、目的関数に従って目標値を計算し、目標値を再計算し且つ更新するなどの方法ステップを実行できる。
【0165】
本発明の実施例において、代替的に、PCE 700は、送信回路704をさらに含む。大域的並行最適化経路を計算するプロセスの実行後、PCE 700の送信回路704は、1つまたは複数のサービス内の各サービスの最適化された実際の経路及びこれらの実際の経路に割り当てられた実際のスペクトルリソースをPCCに送信する。
【0166】
本発明の実施形態によるPCE 700内の各回路及び/またはユニットの上記及びその他の動作及び/または機能は、それぞれ
図1Aから
図6における各方法の対応する流れを実現するためのものであり、簡潔のために、ここでは説明を省略する。
【0167】
本発明の実施例はさらに:コンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ読み取り可能な記憶媒体には、上記方法のステップを実行するためのコンピュータプログラムが記憶されている。
【0168】
本発明の実施例はサービス経路の結果と目的関数を満たす最適結果との間の近似度を向上させ、トポロジの規模が大きくなった後サービス経路の計算に実際にかかる時間を短縮するための大域的並行最適化経路を計算する方法、機器及びコンピュータ読み取り可能な記憶媒体を提供する。
【0169】
当業者であれば、本文で開示された実施例に関連して説明された各例示のユニット及び/または回路、ならびにアルゴリズムやステップは、電子ハードウェア、またはコンピュータソフトウェアと電子ハードウェアとの組み合わせで実現できることに気づける。これらの機能は果たしてハードウェアで実行されるのかソフトウェアで実行されるのかは、技術案の特定の応用と設計の制約条件によって決まる。当業者であれば、特定の応用ごとに異なる方法を用いて、記載された機能を実現してもよいが、このような実現は本発明の範囲を超えるものと考えられるべきではない。
【0170】
説明の容易さと簡潔さのために、以上に記載したシステム、装置とユニット及び/または回路の具体的な動作プロセスは、前述の方法実施例における対応するプロセスを参照でき、ここでは説明を省略することは当業者であれば明確に理解できる。
【0171】
本発明が提供するいくつかの実施例において、開示された方法、機器及び装置は他の方法で実現されてもよい。例えば、以上に記載した装置の実施例は単なる例示的なものであり、例えば、前記ユニット及び/または回路の区分は、単なる論理機能の区分であって、実際に実現する場合、他の区分方法があってもよい。例えば、複数のユニットまたはコンポーネントが組み合わされてもよいし、別のシステムに統合されてもよいし、または、いくつかの特徴が省略されてもよいし、実行されなくてもよい。なお、表示または議論された相互のカップリングまたは直接カップリングまたは通信接続は、いくつかのインターフェース、装置、ユニット及び/または回路を介した間接カップリングまたは通信接続であってもよく、電気的、機械的、または他の形態であってもよい。
【0172】
前記分離された部品として説明された回路及び/またはユニットは、物理的に分離されていてもいなくてもよく、ユニットとして表示された部品は、物理的なユニットであってもそうでなくてもよく、つまり、一箇所にあってもよく、あるいは複数のネットワークユニットに分散されていてもよい。実際の必要に応じてその一部または全部のユニットを選択して本実施例の案の目的を実現することができる。
【0173】
また、本発明の各実施例における各機能ユニット及び/または回路は、1つの処理ユニットに集積されてもよいし、各ユニットが個別に物理的に存在していてもよいし、あるいは、2つ又は2つ以上のユニットが1つのユニットに集積されてもよい。
【0174】
前記機能は、ソフトウェア機能ユニットとして実現され且つ独立した製品として販売または使用される場合、1つのコンピュータ読み取り可能な記憶媒体に記憶することができる。このような理解に基づいて、本発明の技術案は、本質としては、或いは先行技術に対して貢献する部分又はこの技術案の部分は、ソフトウェア製品の形式で体現できる。当該コンピュータソフトウェア製品は一つの記憶媒体の中に記憶され、一台のコンピュータ機器(パーソナルコンピュータ、サーバ、或いはネットワーク機器等でもよい)に本発明の各実施例に記載の方法の全て又は一部のステップを実行させるための幾つかの命令を含む。一方、前述の記憶媒体は:USBメモリ、リムーバブルハードディスク、読み取り専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスクまたは光ディスクなど、プログラムコードを記憶できる各種媒体を含む。
【0175】
以上の記載は、本発明の具体的な実施形態に過ぎず、本発明の保護範囲はこれに限定されるものではなく、当業者であれば、本発明が開示した技術的範囲内で、変更または置換を容易に想到でき、それらは全て本発明の保護範囲内に含まれるはずである。したがって、本発明の保護範囲は特許請求の範囲に準ずるものとする。