(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-12
(45)【発行日】2024-01-22
(54)【発明の名称】ネットワーク管理システム、リモートプロシージャコールリクエストをサービスするためのコンピュータ実施方法、および、光通信システム
(51)【国際特許分類】
G06F 9/54 20060101AFI20240115BHJP
H04B 10/27 20130101ALI20240115BHJP
H04L 41/0273 20220101ALI20240115BHJP
H04L 41/12 20220101ALI20240115BHJP
【FI】
G06F9/54 D
H04B10/27
H04L41/0273
H04L41/12
【外国語出願】
(21)【出願番号】P 2019157549
(22)【出願日】2019-08-30
【審査請求日】2022-05-27
(32)【優先日】2018-08-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502101180
【氏名又は名称】サブコム,エルエルシー
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(74)【代理人】
【識別番号】100094112
【氏名又は名称】岡部 讓
(74)【代理人】
【識別番号】100106183
【氏名又は名称】吉澤 弘司
(74)【代理人】
【識別番号】100114915
【氏名又は名称】三村 治彦
(74)【代理人】
【識別番号】100125139
【氏名又は名称】岡部 洋
(72)【発明者】
【氏名】エリック ボドナー
(72)【発明者】
【氏名】ウィルコ エシェバッハ
(72)【発明者】
【氏名】ユンル シェイ
(72)【発明者】
【氏名】リチャード クラム
(72)【発明者】
【氏名】ジョナサン エム.リス
【審査官】坂東 博司
(56)【参考文献】
【文献】米国特許出願公開第2009/0199220(US,A1)
【文献】特開平11-045231(JP,A)
【文献】米国特許第06201862(US,B1)
【文献】特開平09-160856(JP,A)
【文献】米国特許出願公開第2005/0022208(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/54
H04L 41/00
H04B 10/27
H04L 41/0273
H04L 41/12
(57)【特許請求の範囲】
【請求項1】
ネットワーク管理システムであって、
メモリと、
コントローラであって、
リモートコンピューティングデバイスから
ウェブサービスのユーザリクエストを受信し、前記
ウェブサービスのユーザリクエストは少なくとも1つのネットワークエレメントアドレス及び前記少なくとも1つのネットワークエレメントアドレス上で実行する動作の識別子を含み、
前記少なくとも1つのネットワークエレメントアドレス及び前記少なくとも1つのネットワークエレメントアドレス上で実行する前記動作の前記識別子を抽出し、
前記少なくとも1つのネットワークエレメントアドレスに関連したプリコンパイル済みインターフェース記述言語(IDL)アダプタを前記メモリから選択し、
抽出された前記少なくとも1つのネットワークエレメントアドレス及び前記少なくとも1つのネットワークエレメントアドレス上で実行する前記動作に少なくとも部分的に基づいて、前記ウェブサービスのユーザリクエストを少なくとも1つのIDLベースのメッセージに変換し、
前記選択されたプリコンパイル済みIDLアダプタに基づいて前記
ウェブサービスのユーザリクエストを満たす少なくとも1つのリモートプロシージャコール(RPC)機能を選択し、
前記少なくとも1つのネットワークエレメントアドレスに関連した1以上のネットワークエレメントに
前記少なくとも1つのIDLベースのメッセージを送信することによって前記少なくとも1つのRPC機能を実行し、
前記実行された少なくとも1つのRPC機能からの応答に基づいて前記リモートコンピューティングデバイスに応答メッセージを送信し、前記応答メッセージが前記
ウェブサービスのユーザリクエストと同じフォーマットである、コントローラと
を備え
、
前記コントローラは更に、前記1以上のネットワークエレメントが、論理名を用いるオブジェクト参照を公表することによって、前記論理名により実行される動作をユーザに公表することを可能とする、
ネットワーク管理システム。
【請求項2】
前記コントローラは更に、前記ユーザの関連する特権及びアクセス権限に基づいて前記動作を許可するかどうかを判定する認証を実行する、請求項1に記載のネットワーク管理システム。
【請求項3】
前記コントローラは更に、前記ウェブサービスのユーザリクエストを解析して、前記ウェブサービスのユーザリクエストが予め定められたプロトコルに適合するかどうかを判定する、請求項1に記載のネットワーク管理システム。
【請求項4】
前記ユーザリクエストが、Simple Object Access Protocol(SOAP)標準又はRepresentative State Transfer(REST)標準に適合する自己記述メッセージである、請求項1に記載のネットワーク管理システム。
【請求項5】
前記少なくとも1つのRPC機能が、共通オブジェクト・リクエスト・ブローカ・アーキテクチャ(CORBA)のアーキテクチャに基づいて実行される、請求項1に記載のネットワーク管理システム。
【請求項6】
前記少なくとも1つのネットワークエレメントアドレスが、ケーブル地上局の識別子、エレメントタイプ、エレメント識別子(ID)及び/又はサブコンポーネントIDの内の少なくとも1つを含む、請求項1に記載のネットワーク管理システム。
【請求項7】
前記メモリがそこに記憶されたトポロジーテーブルをさらに含み、前記トポロジーテーブルは、光通信システム内の異なるネットワークエレメントに各々が対応する複数のネットワークエレメントアドレスを含む、請求項
6に記載のネットワーク管理システム。
【請求項8】
前記メモリがそこに記憶されたIDLアダプタテーブルをさらに含み、前記IDLアダプタテーブルは複数のプリコンパイル済みIDLアダプタを含み、前記プリコンパイル済みIDLアダプタの各々は、光通信システム内の1以上のネットワークエレメントに関連付けられている、請求項1に記載のネットワーク管理システム。
【請求項9】
前記メモリからの前記少なくとも1つのネットワークエレメントアドレスに関連した前記プリコンパイル済みインターフェース記述言語(IDL)アダプタを選択するステップが、前記IDLアダプタテーブル上でルックアップを実行するステップを含む、請求項
8に記載のネットワーク管理システム。
【請求項10】
前記メモリからの前記少なくとも1つのネットワークエレメントアドレスに関連した前
記プリコンパイル済みインターフェース記述言語(IDL)アダプタを選択するステップが、少なくとも第1及び第2のプリコンパイル済みIDLアダプタを特定するステップを含み、前記第1のプリコンパイル済みIDLアダプタは汎用のIDLベースの通信のための方法を含み、前記第2のプリコンパイル済みIDLアダプタは、ネットワークエレメントに対してカスタマイズされた論理を提供するようにランタイム拡張性のためのスタブインターフェースを定義する、請求項1に記載のネットワーク管理システム。
【請求項11】
少なくとも第1のケーブル地上局と第2のケーブル地上局との間に延在する通信経路を有する海底光通信システムにおいて実施される請求項1に記載のネットワーク管理システム。
【請求項12】
リモートプロシージャコールリクエストをサービスするためのコンピュータ実施方法であって、
コントローラによって、リモートコンピューティングデバイスから
ウェブサービスのユーザリクエストを受信するステップであって、前記
ウェブサービスのユーザリクエストは、少なくとも1つのネットワークエレメントアドレス及び前記少なくとも1つのネットワークエレメントアドレス上で実行する動作の識別子を含む自己記述メッセージを含む、ステップと、
前記コントローラによって、前記少なくとも1つのネットワークエレメントアドレス及び前記少なくとも1つのネットワークエレメントアドレス上で実行する前記動作の前記識別子を抽出するステップと、
前記コントローラによって、前記少なくとも1つのネットワークエレメントアドレスに関連したプリコンパイル済みインターフェース記述言語(IDL)アダプタをメモリから選択するステップと、
前記コントローラによって、抽出された前記少なくとも1つのネットワークエレメントアドレス及び前記少なくとも1つのネットワークエレメントアドレス上で実行する前記動作に少なくとも部分的に基づいて、前記ウェブサービスのユーザリクエストを少なくとも1つのIDLベースのメッセージに変換するステップと、
前記コントローラによって、前記選択されたプリコンパイル済みIDLアダプタに基づいて前記
ウェブサービスのユーザリクエストを満たす少なくとも1つのリモートプロシージャコール(RPC)機能を選択するステップと、
前記コントローラによって、前記少なくとも1つのネットワークエレメントアドレスに関連した1以上のネットワークエレメントに
前記少なくとも1つのIDLベースのメッセージを送信することによって、前記少なくとも1つのRPC機能を実行するステップと、
前記コントローラによって、前記実行された少なくとも1つのRPC機能からの応答に基づいて前記リモートコンピューティングデバイスに応答メッセージを送信するステップであって、前記応答メッセージは前記
ウェブサービスのユーザリクエストと同じフォーマットである、ステップと
を備え、
前記コントローラによって、
前記1以上のネットワークエレメントが、論理名を用いるオブジェクト参照を公表することによって、前記論理名により実行される動作をユーザに公表することを可能とするステップを更に備える、
方法。
【請求項13】
前記少なくとも1つのネットワークエレメントアドレスに関連した前記プリコンパイル済みIDLアダプタを前記メモリから選択するステップが、IDLアダプタテーブル上でルックアップを実行するステップを含み、前記IDLアダプタテーブルは、ネットワークエレメントとプリコンパイル済みIDLアダプタとの間の複数の関連性を含む、請求項
12に記載の方法。
【請求項14】
複数のケーブル地上局の間に延在する光通信経路を備えた光通信システムであって、前記複数のケーブル地上局の各々は、前記光通信経路に沿って配設された複数のネットワークエレメントの1以上のネットワークエレメントに関連付けられており、
RPCゲートウェイサーバであって、
ウェブサービスのユーザリクエストを受信し、前記
ウェブサービスのユーザリクエストは、動作の識別子及び前記動作を実行する少なくとも1つのネットワークエレメントの識別子を含む自己記述メッセージを含み、
マスターネットワークエレメントとして動作するネットワークエレメントを特定し、
前記特定されたマスターネットワークエレメントに第1のメッセージを送信し、前記第1のメッセージは、前記マスターネットワークエレメントに、前記少なくとも1つのネットワークエレメントの前記識別子に関連したネットワークエレメントに対応するプリコンパイル済みインターフェース記述言語(IDL)アダプタを選択させ、
前記マスターネットワークエレメントに、前記動作の識別子及び前記少なくとも1つのネットワークエレメントの前記識別子に少なくとも部分的に基づいて、前記ウェブサービスのユーザリクエストを少なくとも1つのIDLベースのメッセージに変換させ、前記マスターネットワークエレメントに、前記選択されたプリコンパイル済みIDLアダプタに基づいて前記ウェブサービスのユーザリクエストを満たす少なくとも1つのリモートプロシージャコール(RPC)機能を選択させ、前記マスターネットワークエレメントに、前記選択されたIDLアダプタ及び前記動作に基づいて
前記少なくとも1つのネットワークエレメントの前記識別子に関連した前記ネットワークエレメントに
前記少なくとも1つの
IDLベースのメッセージを送信
することによって前記少なくとも1つのRPC機能を実行させる、RPCゲートウェイサーバ
を備え
、
前記RPCゲートウェイサーバは更に、前記マスターネットワークエレメントに、前記少なくとも1つのネットワークエレメントの前記識別子に関連した前記ネットワークエレメントが、論理名を用いるオブジェクト参照を公表することによって、前記論理名により実行される動作をユーザに公表することを可能とさせる、
光通信システム。
【請求項15】
前記特定されたマスターネットワークエレメントに送信された前記第1のメッセージが、前記特定されたマスターネットワークエレメントに、共通オブジェクト・リクエスト・ブローカ・アーキテクチャ(CORBA)を介して、前記少なくとも1つのネットワークエレメントの前記識別子に関連した前記ネットワークエレメントと通信させるように構成された、請求項
14に記載の光通信システム。
【請求項16】
前記RPCゲートウェイサーバが、前記光通信システムにおいて前記複数のネットワークエレメントを管理するように構成されたネットワーク管理サーバ(NMS)内で実施される、請求項
14に記載の光通信システム。
【請求項17】
前記少なくとも1つのネットワークエレメントの前記識別子に関連した前記ネットワークエレメントが、分岐ユニット(BU)、ネットワーク管理システム、再プログラム可能な光アド/ドロップマルチプレクサ(ROADM)、中継器、給電装置(PFE)又は回線モニタリング装置(LME)を備える、請求項
14に記載の光通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、概略として、リモートプロシージャコール(RPC)インターフェースを利用する通信システムに関し、より具体的には、ウェブサービスとIDLベースのRPCサービスとの間をインターフェースするためのシステム及び方法並びにそれを用いる光通信システムに関する。
【背景技術】
【0002】
インターネット及びその関連技術の発展により、ウェブアプリケーション及びサービスは、ソフトウェア産業において益々大衆的かつ重要となっている。ウェブ技術の中でもRepresentative State Transfer(REST)は、最も普遍的かつ急成長している技術の1つとなっている。カスタマイズされたクライアント-エンドユーザインターフェースの開発及び統合を適応させるようにRESTful APIを提供するソフトウェアの必要性が増加している。現在では、ほとんどの開発言語が、RESTfulウェブサービスを構築するフレームワークを含む。
【0003】
しかしながら、既存の多くの実施では、インターネットの初期段階中に開発された共通オブジェクト・リクエスト・ブローカ・アーキテクチャ(CORBA)を利用する。CORBAは、異なるプログラミング言語の利点を最大化して分散ネットワークエレメントサービス(NES)を管理するように多くのシステムがクロスプラットフォーム通信を採用するオブジェクトマネジメントグループによって定義されたソフトウェア標準である。例えば、C++開発を考慮すると、ネイティブC++開発環境はグラフィカルユーザインターフェース(GUI)に対するネイティブサポートを有していないので、C++はGUI開発のサポートに対して他の開発言語(例えば、JAVA)を必要とする。同様に、CORBAは異なる実施(例えば、C、C++、Java、Pascal、Python、Ruby)に対して提示されるインターフェース及びオブジェクトを調整するのにインターフェース定義言語(IDL)を用い、それにより開発者は、「再度一から作り直す」必要がなくクロスプラットフォーム通信ソフトウェアを開発し、その延長として、そのようなソフトウェアシステムの開発に関連したコスト及び時間を節約する。CORBAは、開発者から隠されている根底にあるクライアント-サーバ通信コードの多くでオブジェクトレベルにおいてアクセスがあるクロスプラットフォーム通信の明確に定義された形態を提供する。同様にして、CORBAは、論理名を用いてオブジェクトの参照を登録及びルックアップする単純な形態を開発者に提供するネーミングサービスを特徴とする。
【0004】
しかしながら、CORBAは、軽微でない課題に起因して実行困難なソリューションを先送りしている。例えば、CORBAアーキテクチャにおけるクライアント及びサーバの双方は、互換性を保証するようにランタイムにおいて同じIDLを利用する必要がある。IDL間の不整合は、結果としてクライアントとサーバの間の通信の完全な断絶をもたらすことになる。これは、公開された機能/方法に対するマイナーチェンジ及びアップグレードであっても、実行困難となり得るサーバとすべてのクライアントとの間の同期化を必要とするので、CORBAの実施を相対的に脆弱にする。さらに、多数の既存のソリューションは、CORBA自体の知識だけでなくコアサービスへの変化の性質も必要とするある程度の独自CORBAエレメントを利用する。この独自の知識は、広範囲に及ぶトレーニングを必要とし、残念なことに、それ以外の機能ソフトウェアの再利用ではなく、レガシーCORBAソフトウェアサービスの完全に一からの再開発を結果としてもたらしてしまう。
【0005】
以下の図面と併せて読まれるべきである以下の詳細な説明に対して参照がなされるべきであり、同様の符号は同様の部分を表す。
【図面の簡単な説明】
【0006】
【
図1】
図1は、CORBAクライアント及びサーバについての通信アーキテクチャの簡略化したブロック図である。
【
図2】
図2は、本開示による光通信システムの例示的な一実施形態の簡略化したブロック図である。
【
図3】
図3は、
図2の光通信システムでの使用に適したネットワーク管理システム(NMS)の例示的な実施形態の簡略化したブロック図である。
【
図4】
図4は、
図2の光通信システムで使用するためのリモートプロシージャコール(RPC)アーキテクチャの例示的な実施形態の簡略化したブロック図である。
【
図5】
図5は、
図4のRPCアーキテクチャで使用するためのネットワークエレメントアドレスフォーマットの例を示す。
【
図6】
図6は、本開示の態様によるインターフェース記述言語(IDL)継承モデルの簡略化したブロック図を示す。
【
図7】
図7は、本開示の実施形態によるIDLベースのイベントメッセージについての通信の例を示す。
【
図8A】
図8Aは、本開示の実施形態による光通信システム内においてRPCリクエストをサービスするための方法の例をまとめて示す。
【
図8B】
図8Bは、本開示の実施形態による光通信システム内においてRPCリクエストをサービスするための方法の例をまとめて示す。
【
図8C】
図8Cは、本開示の実施形態による光通信システム内においてRPCリクエストをサービスするための方法の例をまとめて示す。
【
図8D】
図8Dは、本開示の実施形態による光通信システム内においてRPCリクエストをサービスするための方法の例をまとめて示す。
【発明を実施するための形態】
【0007】
上述のように、CORBAベースの実施は配備された多数のソフトウェアアプリケーションで使用中であるが、本技術には、現在広く用いられているウェブベースの技術と比較して開発及び維持すべき課題が残っている。一方、CORBA及び現代のウェブベースの実施を融合させようとする試みに非常に多くの技術的課題が残っているので、既存のCORBAベースのシステムの機能コンポーネント及びレガシーサポートを保持する新たなソフトウェアシステムを作成する問題には課題が残っている。
【0008】
既存のCORBA開発プロセスは、プレーンテキストでIDLを定義することを含む。IDL言語は、他のコンパイラ型/インタープリタ型言語と同様に構文及び書式設定を含み、メソッド、引数及び種々のパラメータを定義する。そして、プレーンテキストのIDLは、所望の言語、例えば、C++又はJavaにおけるアダプタを生成するようにコンパイルされる。生成されるアダプタはまた、所与のプログラムのランタイム(実行)中にインスタンス化可能なプリコンパイル済みIDLアダプタともいわれることもある。そして、
図1に示すように、CORBAクライアント及びサーバアプリケーションは、それらの関連アダプタに基づいてクライアントとサーバの間に1:1の関係性を形成する。リクエストはクライアントとサーバの間で直接なされ、応答は、オブジェクトリクエストブローカの使用を通じてそれらのリクエストに基づいて返される。
【0009】
残念ながら、CORBAは、インターネットがその初期段階にあり、セキュリティが第一の関心事項でなかった時に開発された。CORBAはセキュリティ方式を元々は実施せず、CORBAインターフェースは実質的なセキュリティの危機をもたらす。CORBAインターフェースのぞんざいな公開は、CORBAはインターネット及び攻撃者にとって容易なターゲットにサーバを公開させたままとなるインターフェースレベルでのセキュリティチェックを有さないので、ソフトウェアシステム全体への潜在的な脅威である。
【0010】
根本的なIDLへのアップグレード及びマイナーチェンジはまた、CORBAを用いることに対しても同様に大きな課題をもたらす。例えば、クライアント及びサーバは双方ともIDLが整合しなくてはならず、そのため任意の変更は、同期化を目的としてクライアント及びサーバの双方のコードを更新されたIDLで再コンパイルすることを余儀なくさせる。クライアント及びサーバのコードを扱う個別のチームは、完全なクライアント/サーバのIDL互換性を仮想的に不可能とするレートで変更を実施することができる多数の開発者を有することが多いので、このレベルの同期化は実行困難となってしまう。さらに、ソフトウェアエンジニアによる既存のCORBA実施の再利用がセキュリティの危機として回避されることが多くても、CORBAの古い知識及び厳格性は、Simple Object Access Protocol(SOAP)及びRESTなどの現代の技術を用いてコードを再開発する負の側面を凌ぎ得る。現代のウェブサービスを介してCORBAインターフェースを公開させるいくつかのアプローチ、例えば、REST、SOAPが、CORBAの再利用を可能とするように提案されている。ただし、これらのアプローチは、ミドルウェアとCORBAインターフェースの間の通信処理を開発しなくてはならないので、相当量の開発時間及び経験を未だに必要とする。
【0011】
したがって、実施形態によると、SOAP及びRESTなどのウェブサービスアプローチで、IDLベースのRPCアーキテクチャ、例えば、CORBAをインターフェースするための技術が開示される。特に、本開示の実施形態は、SOAP及びRESTなどのウェブサービスプロトコルを介するクライアントアクセスを可能とするクライアント直接対応側を有する中央マネージャゲートウェイを含むRPCアーキテクチャを含む。中央マネージャゲートウェイは、複数のネットワークエレメントと通信可能なサーバ直接対応側をさらに含み、各ネットワークエレメントが共通のIDLアーキテクチャ及びRPCマネージャインスタンスを実施する。ネットワークエレメントの各々、特に、それらのRPCマネージャインスタンスは、ネーミングサービス、例えば、CORBAネーミングサービスを公開させる目的で、システムのためのネットワークトポロジーを「学習」し、トポロジーデータベースを維持するように、他のRPCマネージャインスタンスと通信し得る。ネットワークエレメントはあるマスターエレメントを選択し得るが、他はスレーブのままにする。中央マネージャゲートウェイは、マスターネットワークエレメントを自動的に突きとめ、クライアントリクエストをそこに転送し得る。同様に、マスターネットワークエレメントは、ウェブサービスリクエストを変換し、そのリクエストを満たすように1以上のIDL方法を実行し得る。そして、マスターネットワークエレメントは、実行されたIDL方法への応答をウェブサービスメッセージに変換し、それを、例えば、プロキシとして動作する中央マネージャゲートウェイによって発信元クライアントに戻し、又は所望の構成に依存してクライアントに直接戻して送信し得る。RESTはステートレスアーキテクチャを実施するので、ウェブサービスは、REST APIコールにわたってデータメッセージの持続性をサポートしない。中央マネージャゲートウェイは、そのような持続性を管理及び促進するので、RESTウェブサービスメッセージもサポートしつつ、CORBAインフラストラクチャ/サービスの整合性を維持することができる。
【0012】
本開示の実施形態の1つの具体的で非限定的な例では、複数のJavaアダプタの生成を可能とするIDLフレームワークが開示される。Javaアダプタの第1のアダプタは、コンパイル及び汎用CORBA通信を可能とするように、CORBAベースのC++システムに対して定義されたIDL定義を含み、Javaアダプタの第2のアダプタは、ランタイムサービスを与える定義を含む。ランタイムサービスは、例えば、所与のアプリケーションに対して特定の論理を実施するようにアプリケーションプログラマーによってオーバーライドあるいは拡張され得るスタブ定義によって提供され得る。そして、RESTfulサービスは、IDL要件、例えば、CORBAに適合するRESTサービスを提供し、また、アプリケーション特定論理をカスタマイズ及び統合する方法でエンドユーザに提供する複数のアダプタを実施し得る。IDLに基づくグラフィカルユーザインターフェース(GUI)ライブラリはまた、クライアント側サービスを提供する目的のためにも生成され得る。GUI、種々のアダプタ及び他の関連コンポーネントは、コードの再利用を最大化するようにクライアント及びサーバソフトウェアで再利用及びコンパイルされ得る(ただし、サーバは必ずしもGUIを提示しない)。RESTサーバのコンテキストにおいては、複数のアダプタがパッケージ済みライブラリであってもよく、そこで定義及び実施される方法は、統合された開発環境がサポートする他の特徴とともに直接コール及びパッケージされ得る。
【0013】
したがって、本開示は、IDLベースのサービスをぞんざいに公開させる既存のシステム、又はCORBAなどのIDLベースのサービスを公開させる以前からの既存のアプリケーションを再設計及び開発することによってコードの再利用を阻害する他のアプローチを上回る多くの効果を提供する。例えば、ここで開示されるRPCアーキテクチャで開発されたアプリケーションは、ハイレベルのカスタム化及びコードの再利用により迅速な開発及び拡張可能なフレームワークも提供しつつ、既存のCORBAサービスを利用し得る。さらに、SOAP及びRESTなどの現代のサービスは、安全かつ容易に開発されるクライアントアクセスを提供するようにクライアント直接対応であり得る。そのため、ここで開示されるRPCアーキテクチャは、(例えば、既存のCORBAサービスと完全な互換性を有する)レガシーコードアプリケーションを維持し、新たなクライアントアプリケーションを設計する従来の知識、向上した安全性 並びにSOAP及びRESTなどのウェブサービスアーキテクチャを有するCORBAなどのレガシーRPC技術を透過的にブリッジする能力の要件を除去することによって、コンピュータサービスシステムを向上させる。さらに、本開示によるRPCアーキテクチャは、クライアントとIDLベースのサービス、例えば、CORBAとの間の1:N関係性を可能とし、これは
図1に関して上記のようにクライアントとサーバの間の1:1関係性を通常与える制限を超越する。
【0014】
図面では、
図2は、本開示による光通信システム200を示す。光通信システム200は、説明の容易化のためであって限定ではなく非常に簡素な形態で示される。光通信システム200は、海中光通信システムとして実施され得るものであり、要素の少なくとも一部は海面下に位置する。さらに、光通信システム200は、複数のチャネル波長を介して送信可能な波長分割多重(WDM)システムとして実施され得る。図示するように、光通信システム200は、複数のケーブル地上局、すなわち、ケーブル地上局202-1、202-2及び202-3の間に延在する光伝送経路203を含む。
【0015】
図示するように、光通信200は、比較的大きな地理的な距離(例えば、数十、数百又は数千キロメートル)に及ぶ210としてまとめて示される光ファイバケーブルを含む。したがって、海底光ネットワークは、例えば、海底に沿って配設され、又は海上プラットフォームに配設される複数の「湿式」光コンポーネントを備え得る。ただし、ケーブルセグメントはこの件に関して必ずしも限定されることなく、光通信システム200は、地上の光ファイバセグメントの少なくともある程度の長さを含み得る。ここで開示される例及びシナリオは、ケーブル地上局、すなわち、CLSを参照するが、開示はこの件に関して必ずしも限定されない。例えば、ここで開示される技術は、例えば、2~3例を挙げると、ネットワークオペレーションセンター(NOC)及びリモートオペレーションポジション(ROP)を含む光通信システム内に位置する任意のステーションに同様に適用可能である。
【0016】
続いて、光伝送経路203は、1以上の光ファイバ対を備える少なくとも1つの光ケーブル210を含む。光伝送経路203は、中継器218-1、218-2及び1以上の分岐ユニット、例えばBU225を含む複数の光コンポーネントを含む。BUは、分岐経路、例えば分岐経路214からチャネル波長を送信及び受信するために、再プログラム可能な光アド/ドロップマルチプレクサ(ROADM)又は(例えば、リモートモニタリング及び制御のための回路構成を含み得る)他の適切な光フィルタ/コンポーネントを含み得る。各ケーブル地上局は、種々の光コンポーネントへのアクセスを提供するために、及びシステム内のコマンド/応答エレメント(CRE)へのインターフェースを提供するためにエレメント管理システム(EMS)を含み得る。
図2に示す光コンポーネントの各々はまた、ネットワークエレメントとも呼ばれ、各ネットワークエレメントは構成、モニタリング及びメンテナンスの目的でリモートアクセスを可能とする。この目的のため、用語のネットワークエレメントは、有線又は無線接続を通じてリモートネットワークベースの通信を可能とする回路構成及び/又はソフトウェアを含む光通信システム200における任意のコンポーネント、例えば、BU、ROADM、光中継器、NMS、EMS、LME、PFEを参照する。
【0017】
ケーブル地上局202-1~202-3の各々は、海岸に沿って又はプラットフォームに配設され得る。ケーブル地上局202-1~202-3の各々は、チャネル回線カード(図示せず)、給電装置(PFE)212-1などのような回線終端装置(LTE)を含み得る。PFE212-1は、光伝送経路203に沿って定電圧又は定電流を供給するように構成され得る。
【0018】
さらに図示するように、第1のケーブル地上局202-1は、NMS204-1、EMS206-1及びLME208-1を含む。NMS204-1は、
図3を参照してさらに詳述するNMS304として実施され得る。各NMSは、N個のEMSシステムと通信するように構成され得る。EMSシステムの各々は、所与のケーブル地上局に対してローカルに、あるいは隣接する中継器及び他の要素などの光コンポーネントと通信するように構成され得る。LME装置は、光伝送経路203に沿って名目上の性能を保証し、欠陥、例えば、ケーブル破損を検出するように、高損失ループバック(HLLB)又は他の測定を実行するのに利用され得る。
【0019】
選択的に、2以上のケーブル地上局は、冗長性及び耐障害性のために、並びにネットワークエレメントのローカルな管理のために同様のコンポーネントを含み得る。例えば、第2のケーブル地上局202-2は、NMS204-2、EMS206-2及びLME208-2を含み得る。さらに以下で説明するように、NMSコンポーネント204-1、204-2の各々は、単一のNMSシステム304をまとめて形成してもよく、それによってユーザは、例えば、グラフィカルユーザインターフェース(GUI)を直接介して、又はAPIを介して、いずれのNMSコンポーネントにもログインし、リクエストをサービスさせることができる。この例において、NMSコンポーネントの1つはマスターとして動作してもよく、それによってスレーブNMSシステムは、ハンドリングのためにリクエストをプロキシし、あるいはマスターに転送する。マスターNMSがオフラインになるイベントでは、光通信システム200は、スレーブNMSをマスターの役割に自動的に切り替えるように構成され得る。
【0020】
図3は、本開示によるネットワーク管理システム(NMS)アーキテクチャ304の例を示す。NMSアーキテクチャ304は、明瞭化のためであって限定ではなく非常に簡素な形態で示される。NMSアーキテクチャ304は、NMSアーキテクチャ304をまとめて提供するように、例えば、複数のNMSサーバ、EMSサーバ、LMEなどを含む異なる構成で実施され得る。このように、コンポーネントは、冗長性、耐障害性を提供し、NMSアーキテクチャ200のユーザに対して複数のアクセスポイントを提供するように、複数のケーブル地上局、例えば、
図2のCLS202-1・・CLS202-3に分散され得る。したがって、NMS204は、単一のNMSサーバ、例えばNMS204-1としてまとめて実施されてもよいし、
図2に示すように複数のNMSシステム、例えば、NMS204-1、204-2を備えてもよい。
【0021】
さらに図示するように、NMS304は、コントローラ305、メモリ307、システムリソースデータベース312、セキュリティマネージャ320及びユーザインターフェース324を含む複数の関連するコンポーネントを含む。NMS304は、ハードウェア(例えば、回路構成)、ソフトウェア、パブリック/プライベートクラウド又はそれらの組合せにおいて実施され得る。実施形態では、NMS304は、NMS処理、例えば、
図8A~8Dの処理800を実行するように、(NMSコントローラともいわれることがある)コントローラ305によって実行され得る、メモリ307に記憶された複数の非一時的命令として少なくともある程度実施され得る。ここで一般的にいうコントローラは、プロセッサ(例えば、×86プロセス又は仮想コンピュータ)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)又は他の任意の適切な処理デバイス/回路構成として実施され得る。
【0022】
ユーザインターフェース324は、ユーザ、例えばユーザ429(
図4)からのリクエストを受信及び処理するグラフィカルユーザインターフェース(GUI)コンポーネント及び/又はAPIコンポーネントを備え得る。実施形態では、ユーザインターフェースのAPIは、RESTアーキテクチャを実施し得る。他の実施形態では、ユーザインターフェース324のAPIは、CORBAアーキテクチャを実施し得る。セキュリティマネージャ320は、ユーザから受信されたリクエスト301がユーザの関連する特権及びアクセス権限に基づいて許容可能となることを保証するように構成され得る。
【0023】
NMS204は、メモリ307に記憶されたシステムリソースデータベース312を含み得る。システムリソースデータベース312は、例えば、複数のNMS及びEMSを含む複数のコンポーネントに分散されてもよく、
図3に示す実施形態は限定を意図していない。例えば、各ケーブル地上局は、例えば、回線カード、PFE、中継器、LME、イコライザ、コンピュータサーバ及び分岐ユニットを含む(ネットワークエレメントとも呼ばれ得る)各関連する光コンポーネントを示すデータを記憶するEMSを含み得る。そして、NMS203は、システムリソーステーブル312を集合的及び論理的に形成するようにケーブル地上局の各々からのEMSデータを利用してもよく、ただし、データは異なるケーブル地上局に物理的に分散され得る。システムリソースデータベース312は、構造化照会言語(SQL)データベース、フラットファイル(例えば、固有のユニバーサルマークアップ言語(XML))、インメモリデータ構造体又はそれらの任意の組合せを含み得る。
【0024】
図4は、本開示の実施形態によるリモートプロシージャコール(RPC)のためのアーキテクチャ400の一例を説明するブロック図を示す。図示するように、クライアント側は、中央マネージャゲートウェイ401と通信するようにクライアント407を利用することができるユーザ429を含む。クライアント407は、ラップトップ、デスクトップコンピュータ、サーバコンピュータ、又はコントローラ/プロセッサと、メモリと、ユーザインターフェースなどとを有するスマートフォンのようなリモートコンピューティングデバイスを備え得る。中央マネージャゲートウェイ401はまた、RPCゲートウェイ401といわれることもある。なお、中央マネージャゲートウェイ401は、ネットワークエレメントの1つのネットワークエレメント406-1によって、又は光通信システム200の異なるサーバコンピュータによってインスタンス化され得る。クライアント407は、RESTクライアント、又はSOAPなどの他の適切なクライアントアプローチを備え得る。クライアント407は、通信サービス及び動的変更のランタイムインスタンス化を可能とするウェブサービスオブジェクトライブラリ、例えばRESTフレームワークを利用し得る。IDLベースのプロトコルとは対照的に、ウェブサービスは、クライアント-サーバの互換性を破壊することなくプロトコルレベルで変更がなされることを可能とする。したがって、ウェブサービスオブジェクトライブラリは、例えば、C、C++、Java、Ruby、C#、VB.NET、Lua、Python又は他の任意の適切なプログラミング言語などの任意数のプログラミング言語で開発され得る。
【0025】
サーバ側コンポーネントのコンテキストにおいて、RPCアーキテクチャ400は、マスターネットワークエレメントによって実施され得る中央マネージャゲートウェイ401及びリモートプロシージャコール(RPC)マネージャ405を含む。図示するように、ネットワークエレメント406-1~406-Nの各々は、RPCマネージャ405のインスタンスを実行する回路構成及び/又はソフトウェアを含み得る。RPCマネージャ405をインスタンス化するそれらのネットワークエレメントはまた、ネットワークエレメントマネージャともいわれることがある。ネットワークエレメント406-1~406-Nの各々は、
図3を参照して上述したNMSサーバ304などのNMSサーバとして実施され得る。ただし、各ネットワークエレメント406-1~406-Nは、ラックマウント式コンピュータサーバを含む他のタイプのシステムとして実施されてもよい。いずれにしても、各ネットワークエレメント406-1~406-Nは、関連するプロセッサ/コントローラによって実行された場合に、RPCマネージャ処理のローカルインスタンスを実行させる複数の命令を含み得る。ネットワークエレメントは、相互に通信し、例えば、投票を介して、又は単にいずれかのネットワークエレメントがまずオンラインになることによってマスターを選択することにより、「マスター」エレメントを選別し得る。
図4に示すように、ネットワークエレメント406-1は、マスターエレメントであるため、中央マネージャゲートウェイ401によってクライアント407にアクセス可能なRPCマネージャ405をホストする。
【0026】
RPCマネージャ405の各インスタンスは、プロトコル非依存インターフェース409及びリクエストブローカ411を含む複数のコンポーネントを含み得る。プロトコル非依存インターフェース409は、REST又は他の所望のプロトコルを介してリクエストをサービスするためにN個のパーサモジュールを含み得る。パーサモジュールは、リクエストの解析を可能として、リクエストが有効である(例えば、不正な形式でない)場合に、(例えば、セキュリティマネージャ320を用いることによって)リクエストが認められるかを判定し、リクエストの要求が何であるかを判定する。リクエストブローカ411は、汎用中央マネージャIDLパーサを含んでもよく、それは
図6を参照して以下でより詳細に説明される。例えば、IDLパーサは、アダプタとしても知られておりCORBA IDLから出力されるプリコンパイル済みIDLを利用し得る。この例では、リクエストブローカ411は、CORBAネーミングサービス414を提供し得る。CORBAネーミングサービス414は、他のCORBAサーバアプリケーションが論理名を用いるオブジェクトの参照を公表することを可能とする。したがって、クライアント407は、RPCマネージャ405にネーミングサービス414を介して名称をルックアップすることを要求することによって、ローカルの論理名により実行される動作をリクエストし得る。
【0027】
例えば、
図5に示すように、ネットワークエレメントB406-2及びネットワークエレメントC406-3は、ネットワークエレメントアドレス501に基づいて光通信システム200内で一意的に特定され得る。ネットワークエレメントアドレス501は、各ケーブル地上局が複数の関連するネットワークエレメントを有することを可能とする方式に従う文字列を含み得る。ただし、他のネーミング方式が利用されてもよく、
図5に示す例は限定を意図するものではない。各ネットワークエレメントアドレスは、ケーブルステーション内のネットワークエレメント及びサブコンポーネントの階層を伝達する所定の一連のエンティティタイプ/エンティティID対を含むことができ、各エンティティを一意的に特定する。例えば、デュアルTLAネットワークエレメントは、「Cable.1/FP.1/DTLA.1.」などのそのケーブル及びファイバ対スコープのもとで一意的に特定される。
【0028】
図5にさらに示すように、ネットワークエレメントアドレス501は、ケーブル地上局識別子502、ファイバ対識別子503、エレメントタイプID504及びエレメントID505のうちの少なくとも1以上を特定し得る。その上、ネットワークエレメントアドレスは、サブコンポーネントID、例えばサブコンポーネントID506を含み得る。したがって、各ネットワークエレメントは、ネーミングサービス414に登録され得るネットワークエレメントアドレスを割り当てられ得る。なお、マスターネットワークエレメント、例えば、
図4に示すネットワークエレメントA406-1が、リクエストをサービスする目的で名称ルックアップを実行している間でも、他のネットワークエレメント、例えば、ネットワークエレメントA406-2~406-Nはまた、新たなマスターネットワークエレメントが(例えば、欠陥、ケーブル破損、停電などに起因して)選択されるイベントにおいて、それらのローカル名称サービスを更新及び同期化する登録も受信し得る。
【0029】
図4では、RPCマネージャ405の各インスタンスは、光通信システム200内の他のネットワークエレメントから登録メッセージを受信することができる。登録データは、ネーミングサービス414による使用のためにトポロジーテーブル412に記憶され得る。登録データは、IPアドレス(IPv4、IPv6など)、ホスト名、デバイスタイプ及び他のネットワークエレメントの特徴を含むことができる。ある場合には、各ネットワークエレメントに対するトポロジーテーブル412が、関連するシステムリソースデータベース312に記憶され得る(
図3)。実施形態では、トポロジーテーブル412は、各ネットワークエレメント及びそのサブコンポーネントの階層的オブジェクトモデルを定義し、各コンポーネントは、属性を有するエンティティ及びサブコンポーネントを示す子エンティティとして提示される。そして、各エンティティは、そのネットワークエレメントアドレスによって一意的に特定されてもよく、
図5に関して上述したような「A.FP1.DTLA1」などのユーザフレンドリな名称を提供するようにフルネーム属性を含むことができる。RPCマネージャ405の各インスタンスは、トポロジースナップショットを回収する包括的IDL getTopology()の方法をサポート可能である。トポロジー変更イベント、例えばCORBAイベントは、属性値が各ネットワークエレメント/エンティティから変化すると送信可能となり、それにより各RPCマネージャ405は同期化されたトポロジーデータモデルを維持することができる(
図7参照)。
【0030】
動作において、クライアント407は、リクエストメッセージ408を送信する。リクエストメッセージ408は、例えば、SOAP又はRESTなどのウェブサービスプロトコルにおいてフォーマット化され得る。したがって、リクエストメッセージ408は、情報スキーマがメッセージ自体から派生され得る自己記述フォーマットを有するように正確に記述され得る。例えば、JSONは、比較的容易な解析及びメッセージ適応性を可能とするこの形式で自己記述する。これに対して、CORBAなどのIDLベースの方式は、IDLにメッセージの方式を理解することを要求する。リクエストメッセージ408は、少なくとも1つのネットワークエレメント及び実行する動作を特定し得る。ネットワークエレメントは、ネットワークエレメントアドレス、例えば、
図5に示すネットワークエレメントアドレス501によって特定され得る。動作は、構成パラメータ、ログデータ、アップタイム、ステータスなどのような所望のネットワークエレメントに対してリクエストされた属性/データを得るGET動作を含み得る。動作は、特定の属性/データを変更するためのSET動作をさらに含み得る。
【0031】
中央マネージャゲートウェイ401は、リクエストメッセージ408を受信し得る。そして、中央マネージャゲートウェイ401は、リクエストを処理するのに現在のマスターネットワークエレメントを判定し得る。例えば、
図4に示すように、ネットワークエレメントA406-1は、マスターネットワークエレメントとして動作している。したがって、中央マネージャゲートウェイ401は、ネットワークエレメントA406-1を突きとめ、それにリクエストメッセージ408を転送する。そして、ネットワークエレメントA406-1は、リクエストメッセージ408を受信してそれを処理する。
【0032】
ネットワークエレメントA406-1、より具体的にはRPCマネージャ405は、例えば、HTTPパーサモジュールを用いてリクエストメッセージ408を解析して、ネットワークエレメントアドレス及び所望の動作を抽出するのにプロトコル非依存インターフェース409を利用し得る。ネットワークエレメントA406-1は、リクエストされたネットワークエレメントが存在するとの判定と、さらにRESTインターフェースのステートレス属性を保持している間に必要となる任意の持続性の管理との前又は後に、(例えば、セキュリティマネージャ320を用いて)リクエストされた動作を許可するかを判定する認証を実行し得る。RPCマネージャ405は、抽出されたネットワークエレメントアドレスがシステムにおいて既知であるかを判定するのにトポロジーテーブル412に問い合わせることができる。ネットワークエレメントアドレスが既知でないイベントでは、RPCマネージャ405は、NAKメッセージ、例えば、HTTP NOT_FOUNDなどのHTTPエラーコードを送信し得る(404)。ネットワークエレメントがトポロジーテーブル412において見付けられた(及びリクエストが許可された)場合には、RPCマネージャ405は、リクエストメッセージ408の動作がトポロジーテーブル412に記憶された情報/属性などのローカルデータを介して実行され得るかを判定する。例えば、ステータス及びアップタイムなどのいくつかのリクエストが、CORBAメッセージングを用いるリモートネットワークエレメントと必ずしも通信することなくサービスされ得る。そのようなある例は、ネットワークエレメント(例えば、LME)のもとでサブコンポーネント(例えば、LMEポート、LMEスイッチ位置)のリストを入手すること、並びに動作状態、故障LED状態、及び/又は(例えば、回路パックモデル及び物理的位置などを含む)在庫情報などのネットワークエレメントの属性及びサブコンポーネントの属性を回収することを含む。
【0033】
リクエストされた動作がローカルデータを用いて実行不可能なイベントでは、RPCマネージャ405は、リクエストブローカ411を利用して抽出されたネットワークエレメントアドレスに関連したネットワークエレメントと通信することができる。この通信は、例えば、CORBAプロトコルに適合するメッセージ422を送信するIDLベースのメッセージング方式を用いることを含み得る。例えば、リクエストブローカ411は、システムにおいてネットワークエレメントの各々に関連したプリコンパイル済みIDLインスタンス(又はアダプタ)を有し得る。したがって、リクエストブローカ411は、ターゲットのネットワークエレメントと互換性を有するIDLでクライアントをインスタンス化するようにIDLストア413からプリコンパイル済みIDLを回収し得る。上述したように、クライアントのIDLは、CORBAベースのクライアント-サーバ通信においてサーバのIDLと整合しなくてはならない。そのため、IDLストア413は、プリコンパイル済みIDLアダプタのライブラリを含んでもよく、各プリコンパイル済みIDLアダプタは1以上のネットワークエレメントに対応する。そして、リクエストブローカ411は、抽出されたネットワークエレメントアドレス及びリクエストされた動作に少なくともある程度基づいてリクエストメッセージ408を同等のIDLベースのメッセージに変換し得る。そしてさらに、リクエストブローカ411は、抽出されたネットワークエレメントアドレスに関連したネットワークエレメントに対応するIDLを用いて実行する1以上のリモートプロシージャコールを特定し得る。例えば、リクエストされた動作は特定の構成設定を回収するものであってもよく、IDLは、リクエストされた動作を満たすのに利用され得るリモートプロシージャコールGET_PARAMETER()を定義し得る。そして、リクエストブローカ411は、ネットワークエレメントアドレスに関連したネットワークエレメントにメッセージ422を送信し得る。
【0034】
シナリオの一例では、リクエストブローカ411は、リクエストメッセージ408を満たすために、1以上のプリコンパイル済みIDLアダプタを用いて実行する2以上のリモートプロシージャコールを特定し得る。例えば、あるリクエストは、ログデータ、ステータスなどについてのリクエストのような2以上のネットワークエレメントと通信することを必要とし得る。他の例では、あるリクエストは、ネットワークエレメント上で2以上の異なるリモートプロシージャコールをコールすることを必要とし得る。例えば、エラーカウント、パワーレベル及び再送信カウントなどの複数の測定値についてのリクエストは、ユーザ429からRPCマネージャ405によって受信されるある1つのリクエストを満たすようにメッセージング422を用いて複数のリモートプロシージャコールをコールすることを必要とし得る。したがって、ある1つのリクエストメッセージ408は、2以上のネットワークエレメントの1以上のリモートプロシージャコールをコール/実行することによって、2以上のネットワークエレメントとのメッセージ422の通信をもたらし得る。
【0035】
したがって、本開示によるRPCアーキテクチャ400は、クライアント407と、複数のIDLベースのサーバインスタンス、すなわち、ネットワークエレメント406-1~406-Nとの間の1:Nの関係性を可能とする。CORBAのコンテキストにおいて、そのような1:Nの関係性は、CORBAが1:1の直接的クライアント-サーバ通信フローに限定されるので(上述の
図1参照)、アーキテクチャの制限を超越する。
【0036】
図6は、本開示の態様によるIDL継承モデル600の一例を示す。図示するように、IDL継承モデル600は、汎用中央マネージャベースIDL601、ウェブサービス602(例えば、RESTサーバ)、RPCマネージャベースIDL603、RPCマネージャA IDL604及びRPCマネージャB IDL605を含む。汎用中央マネージャIDL601は、すべてのサーバコンポーネントに共通のインターフェースを定義する。ウェブサービス602は、ユーザリクエスト、例えば、RESTリクエスト、SOAPリクエストをハンドリングするようにRPCマネージャ406(
図4)によってインスタンス化されてもよく、
図4に関して上述したように、リクエストを同等のリモートプロシージャコールに変換する目的で汎用中央マネージャベースIDLを実施することができる。
【0037】
同様にして、RPCマネージャベースIDL603は、例えば、ステータス情報、動作パラメータ、診断情報を取得するリモートプロシージャコールなどの各ネットワークエレメントに共通のインターフェースを定義し得る。RPCマネージャA IDL604及びRPCマネージャB IDL605は、1以上のタイプのネットワークエレメントに特定のインターフェースをさらに定義し得る。例えば、RPCマネージャA IDL604は回線モニタリング装置(LME)に特定のインターフェースを定義し、RPCマネージャB IDL605は光中継デバイスに特定のインターフェースを定義し得る。したがって、ネットワークエレメント、例えば、ネットワークエレメント406-1~406-3は、リクエストをサービスするのに適切なインターフェースが確実に利用可能となるように、それらのデバイスのタイプに特定のIDLを導出し得る。他の例では、RPCマネージャA IDL604及びRPCマネージャB IDL605は、ユーザが各所定のプレースホルダ機能に関連した論理をカスタマイズできるように、ランタイムで動的に設定し得る「スタブ」又はプレースホルダ機能を定義し得る。したがって、各クライアント/サーバインスタンスは、2以上のプリコンパイル済みIDLアダプタ、すなわち少なくとも、例えば、CORBAを介して通信する共通/デフォルトの方法及び機能を定義する第1のIDLアダプタ、並びに公開されたRPC動作のランタイムカスタマイズ化を可能とするスタブ/プレースホルダ機能を有する第2のIDLアダプタをロードすることができる。
【0038】
図7は、本開示の実施形態によるイベント通信フローの例を示す。図示するように、ネットワークエレメントB406-2は、IDLベースのイベントメッセージ702を送信する。例えば、IDLベースのイベントメッセージ702は、CORBAプロトコルに適合し得る。ネットワークエレメントA406-1は、RPC管理目的のためのマスターとして動作して、IDLベースのイベントメッセージ702を受信する。ネットワークエレメントA406-1は、RPCマネージャ405をインスタンス化することによって、IDLベースのイベント702をウェブサービスメッセージ703に変換する。ウェブサービスメッセージ703は、ネットワークエレメントアドレス及びイベントタイプの識別子を少なくとも含む。そして、ネットワークエレメントA406-1は、ウェブサービスメッセージ703をクライアント407に送信する。
【0039】
図8A~8Dは、上記の態様及び実施形態を具現化するRPCアーキテクチャによってリクエストをサービスするための処理800の一例をまとめて提供する。処理800は、RPCマネージャ又は中央マネージャゲートウェイインスタンスとして動作する場合に、NMS304のコントローラ305(
図3)によって実行され得る複数の機械可読命令として明示し得る。
【0040】
動作802では、中央マネージャゲートウェイ401のサーバは、クライアント、例えば、クライアント407からのウェブサービスのリクエストを受信する(
図4)。ウェブサービスのリクエストは、例えば、REST又はSOAPに適合するフォーマットであり得る。ウェブサービスのリクエストは、1以上のターゲットのネットワークエレメントアドレス、及びターゲットのネットワークエレメント上で実行する動作の識別子を含み得る。動作804では、中央マネージャゲートウェイ401は、ネットワークエレメントのいずれがマスターとして動作しているかを特定する。マスターネットワークエレメントが存在しないイベントにおいて、動作808では、中央マネージャゲートウェイ401は、否定応答(NAK)メッセージ、例えば、HTTPエラーコードを送信する。NAKメッセージは、動作802において受信されるリクエスト、例えば、REST、JSONなどと同じフォーマットで送信され得る。一方、動作806では、中央マネージャゲートウェイ401は、ウェブサービスのリクエストをマスターRPCマネージャ、例えば、
図4に示すようにネットワークエレメントA406-1に転送/送信する。
【0041】
動作810では、マスターRPCマネージャが、転送されたウェブサービスのリクエストを受信する。動作812では、マスターRPCマネージャは、例えば、HTTPパーサモジュールを用いて、受信されたウェブサービスのリクエストからターゲットのネットワークエレメントアドレス及び動作を抽出する。ネットワークエレメントアドレスのフォーマットは、
図5に関して図示及び上述したフォーマットに適合し得る。動作814では、マスターRPCマネージャは、抽出されたターゲットのネットワークエレメントアドレスに関連したネットワークエレメントが存在するかを判定する。これは、例えば、抽出されたターゲットのネットワークエレメントアドレスが既知であるかを判定するのにトポロジーテーブル412に問い合わせることを含み得る。ターゲットのネットワークエレメントアドレスが存在する場合には、処理は動作818へ続き、そうでなければ、処理は動作816へ続いて、マスターRPCマネージャがNAKメッセージをクライアントに送信し戻す。NAKメッセージは、動作802において受信されたリクエストと同じフォーマットで送信され得る。
【0042】
動作818では、マスターRPCマネージャは、リクエストをサービスするのにローカルデータが利用され得るかを判定する。上記のように、アップタイム、ステータスなどのようないくつかの情報は、トポロジーテーブル412、あるいはメモリ307に記憶され得る。したがって、ローカルデータに記憶された属性/特徴は、リクエストをサービスするのに利用され得る。ローカルデータがリクエストを満たす場合には、マスターRPCマネージャは、ローカルデータから情報を回収し、応答メッセージを生成する。動作822では、マスターRPCマネージャは、動作802において受信されたリクエストを同じフォーマット、例えば、JSON、XML又は他のREST/SOAP互換フォーマットで、生成された応答メッセージをクライアントに送信する。
【0043】
動作824では、マスターRPCマネージャは、抽出されたターゲットのネットワークエレメントアドレスに関連したターゲットのネットワークエレメントに対応するプリコンパイル済みIDLアダプタ(又は単にアダプタ)を選択及びインスタンス化し得る。動作824は、RPCマネージャがターゲットのネットワークエレメントと通信できるようになるIDLを特定するように、IDLストア413上でルックアップを問合わせ/実行するマスターRPCマネージャを含み得る。
図6に関して上記のように、複数のネットワークエレメントは、同じRPCマネージャのIDLに関連付けられ得る。したがって、RPCマネージャは、既知のタイプのターゲットのネットワークエレメントに基づいて、プリコンパイル済みIDLアダプタを単に回収し得る。代替的に又はさらに、IDLストア413は、例えば1:1の関係性で、各ネットワークエレメントを特定のプリコンパイル済みIDLアダプタに関連付け得る。そのため、マスターRPCマネージャは、IDLストア413においてターゲットのネットワークエレメントとその対応するIDLとの間の関連に基づいて用いるプリコンパイル済みIDLアダプタを決定し得る。
【0044】
いずれのイベントにおいても、動作826に続いて、マスターRPCマネージャは、動作824においてインスタンス化/選択されたプリコンパイル済みIDLアダプタに基づいて、ターゲットのネットワークエレメント上でコールする1以上のリモートプロシージャコール、例えば機能/方法を特定することができる。動作828では、マスターRPCマネージャは、ターゲットのネットワークエレメントに対して特定された1以上のリモートプロシージャコールを実行する。動作830では、マスターRPCマネージャは、実行されたリモートプロシージャコールからの応答を受信し、動作802においてクライアントから受信されたリクエストの同じフォーマット、例えばXML/JSONで、応答に基づいて応答メッセージを生成する。動作832では、マスターRPCマネージャは、例えば、中央マネージャゲートウェイ401を通じて生成された応答メッセージをルーティングすること、又は生成された応答メッセージをクライアントに直接送信することによって、生成された応答メッセージをクライアントに送信する。
【0045】
本開示の態様によると、ネットワーク管理システムが開示される。ネットワーク管理システムは、メモリと、コントローラであって、リモートコンピューティングデバイスからユーザリクエストを受信し、ユーザリクエストは少なくとも1つのネットワークエレメントアドレス及び少なくとも1つのネットワークエレメントアドレス上で実行する動作の識別子を含み、少なくとも1つのネットワークエレメントアドレス及び少なくとも1つのネットワークエレメントアドレス上で実行する動作の識別子を抽出し、少なくとも1つのネットワークエレメントアドレスに関連したプリコンパイル済みインターフェース記述言語(IDL)アダプタをメモリから選択し、選択されたプリコンパイル済みIDLアダプタに基づいてユーザリクエストを満たす少なくとも1つのリモートプロシージャコール(RPC)機能を選択し、少なくとも1つのネットワークエレメントアドレスに関連した1以上のネットワークエレメントに少なくとも1つのIDLベースのメッセージを送信することによって少なくとも1つのRPC機能を実行し、実行された少なくとも1つのRPC機能からの応答に基づいてリモートコンピューティングデバイスに応答メッセージを送信するコントローラとを備え、応答メッセージはユーザリクエストと同じフォーマットである。
【0046】
本開示の他の態様によると、リモートプロシージャコールリクエストをサービスするためのコンピュータ実施方法が開示される。コンピュータ実施方法は、コントローラによって、リモートコンピューティングデバイスからユーザリクエストを受信する動作であって、ユーザリクエストは少なくとも1つのネットワークエレメントアドレス及び少なくとも1つのネットワークエレメントアドレス上で実行する動作の識別子を含む自己記述メッセージを含む動作と、コントローラによって、少なくとも1つのネットワークエレメントアドレス及び少なくとも1つのネットワークエレメントアドレス上で実行する動作の識別子を抽出する動作と、コントローラによって、少なくとも1つのネットワークエレメントアドレスに関連したプリコンパイル済みインターフェース記述言語(IDL)アダプタをメモリから選択する動作と、コントローラによって、選択されたプリコンパイル済みIDLアダプタに基づいてユーザリクエストを満たす少なくとも1つのリモートプロシージャコール(RPC)機能を選択する動作と、コントローラによって、少なくとも1つのネットワークエレメントアドレスに関連した1以上のネットワークエレメントに少なくとも1つのIDLベースのメッセージを送信することによって少なくとも1つのRPC機能を実行する動作と、コントローラによって、実行される少なくとも1つのRPC機能からの応答に基づいてリモートコンピューティングデバイスに応答メッセージを送信する動作とを含み、応答メッセージはユーザリクエストと同じフォーマットである。
【0047】
本開示のさらに他の態様によると、光通信システムが開示される。光通信システムは、複数のケーブル地上局の間に延在する光通信経路を備え、複数のケーブル地上局の各々は、光通信経路に沿って配設された複数のネットワークエレメントの1以上のネットワークエレメントに関連付けられており、システムは、RPCゲートウェイサーバを備え、RPCゲートウェイサーバはユーザリクエストを受信し、ユーザリクエストは、動作の識別子、及び動作を実行し、マスターネットワークエレメントとして動作するネットワークエレメントを特定し、特定されたマスターネットワークエレメントに第1のメッセージを送信する少なくとも1つのネットワークエレメントの識別子を含む自己記述メッセージを含み、第1のメッセージは、マスターネットワークエレメントに、少なくとも1つのネットワークエレメントの識別子に関連したネットワークエレメントに対応するプリコンパイル済みインターフェース記述言語(IDL)アダプタを選択させ、マスターネットワークエレメントに、選択されたIDLアダプタ及び動作に基づいてネットワークエレメントに少なくとも1つのメッセージを送信させる。
【0048】
ここで開示される方法の実施形態は、コントローラ、プロセッサ及び/又は他のプログラム可能なデバイスを用いて実施され得る。その目的のために、ここで説明する方法は、1以上のプロセッサによって実行されると方法を実行するそこに記憶された命令を有する有形の非一時的コンピュータ可読媒体上で実施され得る。
【0049】
したがって例えば、NMS304は、ここで説明する動作を実行するように、(例えば、ファムウェア又はソフトウェアに)命令を記憶する記憶媒体を含み得る。記憶媒体は、任意のタイプの有形の媒体、例えば、フロッピーディスク、光ディスク、コンパクトディスク読出し専用メモリ(CD-ROM)、コンパクトディスクリライタブル(CD-RW)及び光磁気ディスクを含む任意のタイプのディスク、読出し専用メモリ(ROM)、ダイナミック及びスタティックランダムアクセスメモリ(RAM)などのRAM、消去可能なプログラマブル読出し専用メモリ(EPROM)、電気的に消去可能なプログラマブル読出し専用メモリ(EEPROM)、フラッシュメモリ、磁気若しくは光カード、又は電子命令を記憶するのに適した任意のタイプの媒体などの半導体デバイスを含み得る。
【0050】
ここでの任意のブロック図は、本開示の原理を具現化する説明的回路構成の概念図を示すことが当業者には理解される。同様に、任意のブロック図、フローチャート、フロー図、状態遷移図、疑似コードなどは、コンピュータ可読媒体において実質的には示されるので、コンピュータ又はプロセッサが明示されるか否かに関わらず、そのようなコンピュータ又はプロセッサによって実行され得る種々の処理を示すことが理解される。ソフトウェアモジュール又はソフトウェアであるように示唆される単なるモジュールは、フローチャートのエレメント又は処理ステップ及び/若しくは本文の説明の性能を示す他のエレメントの任意の組合せとしてここでは示され得る。そのようなモジュールは、明示又は示唆されるハードウェアによって実行され得る。
【0051】
図面に示す種々のエレメントの機能は、「プロセッサ」と付された任意の機能ブロックを含み、専用のハードウェアと、適切なソフトウェアに関連したソフトウェア実行可能なハードウェアの使用を通じて提供され得る。機能は、単一の専用プロセッサによって、単一の共用プロセッサによって、又はその一部が供用され得る複数の個々のプロセッサによって提供され得る。さらに、用語「プロセッサ」の明示的な使用は、ソフトウェアを実行可能なハードウェアに排他的に言及するように解釈されるべきではなく、限定することなく、デジタル信号プロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを記憶するための読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)及び不揮発性ストレージを示唆的に含み得る。他の従来的及び/又はカスタムのハードウェアも、含まれ得る。
【0052】
特に断りがない限り、単語「実質的に」の使用は、正確な関係性、状況、配置、向き及び/又は他の特徴、並びに当業者によって理解されるようなそれらの変形を含むと解釈され得るものであり、そのような変形の及ぶ範囲内では、開示する方法及びシステムに実質的には影響を与えない。本開示の全体にわたって、名詞を修飾する冠詞「a」及び/又は「an」及び/又は「the」の使用は、便宜的に用いられ、特に断りがない限り、修飾される名詞の1つ又は2つ以上を含むように理解され得る。用語「備える」、「含む」及び「有する」は、包括的であり、列挙される要素以外の追加的要素があり得ることを意味することを意図している。
【0053】
方法及びシステムをその特定の実施形態に対して説明したが、それらはそのようには限定されない。明らかに多くの変更例及び変形例が、上記の教示の観点から明らかとなり得る。ここで記載及び説明される部分の詳細、材料及び配置の多くの追加的変更が、当業者によってなされ得る。
【0054】
実施形態の例のこれまでの説明は、説明及び記載の目的のために提示された。網羅的であり、又は開示される正確な形態に本開示を限定することは意図されていない。多くの変更例及び変形例が、この開示の観点で可能である。本開示の範囲は、この詳細な説明によってではなく、ここに添付される特許請求の範囲によって限定されることが意図される。