JP6635138B2 - 通信ノード、通信システム、更新方法及び更新プログラム - Google Patents

通信ノード、通信システム、更新方法及び更新プログラム Download PDF

Info

Publication number
JP6635138B2
JP6635138B2 JP2018051921A JP2018051921A JP6635138B2 JP 6635138 B2 JP6635138 B2 JP 6635138B2 JP 2018051921 A JP2018051921 A JP 2018051921A JP 2018051921 A JP2018051921 A JP 2018051921A JP 6635138 B2 JP6635138 B2 JP 6635138B2
Authority
JP
Japan
Prior art keywords
update
communication
information
flow entry
ofs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2018051921A
Other languages
English (en)
Other versions
JP2018093552A (ja
Inventor
賢太郎 笹川
賢太郎 笹川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2018051921A priority Critical patent/JP6635138B2/ja
Publication of JP2018093552A publication Critical patent/JP2018093552A/ja
Application granted granted Critical
Publication of JP6635138B2 publication Critical patent/JP6635138B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信ノード、通信システム、更新方法及び更新プログラムに関し、特に、受信パケットの処理ルールを定義したフローエントリを更新する通信ノード、通信システム、更新方法及び更新プログラムに関する。
OpenFlow技術は、通信をEnd−to−Endのフロー(flow)として捉え、フロー単位で経路制御、障害回復等を行うものである(例えば、特許文献1の段落0002等)。転送ノードとして機能するOpenFlowSwitch(OFS)は、OFSを制御するOpenFlowController(OFC)との間で、通信用のセキュアチャネル(Secure Channel)を備える。そして、OFSは、OFCから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルールと、処理内容を定義したアクション(Action)と、フロー統計情報との組が定義される。ここで、OFSは、通信中継装置の一例であり、OFCは、通信制御装置の一例である。
また、OFCは、障害耐性を高めるために、複数台でクラスタ構成により運用されることがある。この場合、一方のOFCを稼働系(ACT)、他方のOFCを待機系(SBY)とし、稼働系に障害が発生したときには自動的に待機系に切り替わる構成としている。また、障害時ばかりでなく、制御ソフトウェア等を更新するなどのメンテナンスのために、任意のタイミングで稼働系と待機系のOFCを切り替える場合もある。ここで、ACT−SBY型のクラスタを利用した、サービスを止めずに行うソフトウェアアップデート方式としてローリングアップデート技術がある。ローリングアップデート技術では、稼働系及び待機系のOFCの間で一部のデータが同期されており、待機系でも稼働系と同じ内部イベントを受け取る。そして、先に待機系のソフトウェアを更新し、クラスタの切り替えを行い、その後、切替後の待機系(元の稼働系)のソフトウェアを更新することで、サービスを止めずに双方のソフトウェアの更新を行うものである。
また、DMT(Device Management Tree)ベースのデバイス管理技術としてOMA−DM(Open Mobile Alliance−Device Management)がある(例えば、特許文献2の段落0004及び0005等)。
まず、DMTは、デバイス管理を行うために使用される木構造データである。各ノードの名前は、URI(Uniform Resource Identifier)として表すことができる。そのため、ネットワーク上デバイス管理サーバや組み込み機器内のデバイス管理アプリは、URIを指定することでDMT内の任意のノードに対して読み書きや実行命令の発行を行うことができる。また、DMTにノードを動的に追加することも可能である。
また、OMA−DMは、3G携帯電話やWIMAX(Worldwide Interoperability for Microwave Access)で運用されている遠隔デバイス管理プロトコルの規格である。規格化団体は、OMA(Open Mobile Alliance)である。OMA−DMは、DMTに相当するMO(Management Object)という単位でデバイスの管理を行う。OMA−DMが提供する標準MOは、FUMO(遠隔ファームウエア更新)、SCOMO(遠隔SW更新)、DiagMon(遠隔診断)、LAWMO(遠隔セキュリティーロック)などがある。
また、MDA(登録商標)(Model Driven Architecture)とは、モデルとして表現される構造的仕様のガイドラインを提供するソフトウェア開発手法である。MDAを用いると、GUI(Graphical User Interface)開発ツールを用いて記述されたモデルから、機械語プログラムを自動生成することが可能となる。MDAを用いた開発ツールとしては、例えば、BridgePointやRhapsodyなどがあり、組み込み系ソフトウェア開発に用いられている。また、MDAには、SQLの構文を一部取り入れたアクション記述言語をサポートしたExecutable UML(Unified Modeling Language)という手法がある。
特開2012−049674号公報 特開2012−063826号公報
ここで、OFS等の通信ノードにおける受信パケットの処理ルールを定義したフローエントリを既存のプロトコルに従って更新しようとすると、通常のフロー制御の通信への影響が大きくなるおそれがあるという問題点がある。まず、既存のプロトコルに従ってフローエントリを更新するには、OFC等の通信制御装置から更新用コマンド(例えばOpenflowの場合、flow_mod)を通信中継装置へ送信する必要がある。しかし、更新用コマンドは、フローエントリの更新単位が限られているため、きめ細かな更新が行えない。そのため、更新内容によっては、通信制御装置と通信ノードの間でフローエントリ間の状態整合処理等の通信量が膨大となり得る。よって、通常のフロー制御の通信への影響が大きくなるおそれがある。
本発明は、このような問題点を解決するためになされたものであり、通信への影響を抑えつつ、受信パケットの処理ルールを定義したフローエントリを更新するための通信ノード、通信システム、更新方法及び更新プログラムを提供することを目的とする。
本発明の第1の態様にかかる通信ノードは、
通信制御装置により制御される通信ノードであって、
受信パケットの処理ルールを定義したフローエントリを記憶する記憶手段と、
前記フローエントリの更新に用いる更新情報を受信する受信手段と、
前記更新情報を用いて前記更新を実行する更新手段と、
を備え、
前記更新手段は、前記通信制御装置から通知される更新指示に従って前記更新を開始し、
前記更新指示は、前記更新を開始するタイミングを示す情報を含む
ことを特徴とする。
本発明の第2の態様にかかる通信システムは、
受信パケットの処理ルールを定義したフローエントリを記憶し、前記フローエントリを用いて当該受信パケットを処理する通信ノードと、
前記通信ノードに対して、前記フローエントリの更新に用いる更新情報を送信する通信制御装置と、
を含み、
前記通信ノードは、前記通信制御装置から通知される更新指示に従って前記フローエントリの更新を開始し、
前記更新指示は、前記更新を開始するタイミングを示す情報を含む
ことを特徴とする。
本発明の第3の態様にかかる更新方法は、
受信パケットの処理ルールを定義したフローエントリの更新方法であって、
前記フローエントリを記憶する記憶手段と、
前記フローエントリの更新に用いる更新情報を用いて前記更新を実行する更新手段と、
を備える通信ノードにおいて、
前記更新情報を受信するステップと、
通信制御装置から通知される更新指示に従って前記更新を開始するステップと、
を含み、
前記更新指示は、前記更新を開始するタイミングを示す情報を含む
ことを特徴とする。
本発明の第4の態様にかかる更新プログラムは、
受信パケットの処理ルールを定義したフローエントリを記憶する記憶手段と、
前記フローエントリの更新に用いる更新情報を受信する受信手段と、
前記更新情報を用いて前記更新を実行する更新手段と、
を備えるコンピュータに、
通信制御装置から通知される更新指示に含まれる前記更新を開始するタイミングに従って前記更新を開始させる
処理を実行させることを特徴とする。
本発明により、通信への影響を抑えつつ、受信パケットの処理ルールを定義したフローエントリを更新するための通信ノード、通信システム、更新方法及び更新プログラムを提供することができる。
本発明の実施の形態1にかかる通信中継装置の構成を示すブロック図である。 本発明の実施の形態1にかかる中継定義情報の更新処理の流れを示すフローチャートである。 本発明の実施の形態2にかかるOpenFlowネットワークシステムの構成を示すブロック図である。 本発明の実施の形態2にかかる管理サーバ及びOFSの概要構成を示すブロック図である。 本発明の実施の形態2にかかるOFSのハードウェア構成を示すブロック図である。 本発明の実施の形態2にかかるOFS内のCPU上で動作するソフトウェア構成の概念図である。 本発明の実施の形態2にかかる更新ソフトウェアの配信処理の流れを説明するためのシーケンス図である。 本発明の実施の形態2にかかるOFCの系切替時におけるOFSのフローテーブル更新処理の流れを説明するためのシーケンス図である。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
<発明の実施の形態1>
図1は、本発明の実施の形態1にかかる通信中継装置100の構成を示すブロック図である。通信中継装置100は、端末11と端末12との間の通信の中継を行う装置である。端末11と端末12とは、通信パケット等を、通信中継装置100を介して送受信する通信装置である。
通信中継装置100は、記憶部110と、取得部120と、更新部130とを備える。記憶部110は、中継定義情報111a、111b、・・・及び111nと、更新情報112とを記憶する記憶装置である。中継定義情報111a〜111nは、端末間の通信の中継に関する定義を示す情報である。例えば、通信パケットヘッダと照合するルールと、処理内容を定義したアクション(Action)と、フロー統計情報との組が識別情報と対応付けられたものである。更新情報112は、中継定義情報111a〜111nのうち2以上(例えば、中継定義情報111a及び111b)を更新するための更新内容の定義を含む情報である。例えば、更新対象の中継定義情報の識別情報や、更新後の中継定義情報の値等である。さらに、更新情報112は、中継定義情報111a〜111nのうち2以上を更新するための更新指示を含むものであってもよい。
取得部120は、更新情報112を外部から取得する。また、更新情報112に更新指示が含まれていない場合には、取得部120は、更新情報112とは別に、複数の中継定義情報を更新するための更新指示を取得する。更新部130は、更新指示に応じた所定のタイミングにより、更新情報112に基づく更新処理を実行する。
図2は、本発明の実施の形態1にかかる中継定義情報の更新処理の流れを示すフローチャートである。まず、通信中継装置100の記憶部110には予め中継定義情報111a〜111nが記憶されているものとする。尚、記憶部110には少なくとも2以上の中継定義情報が記憶されていればよい。
通信中継装置100の取得部120は、外部から更新情報112を取得する(S11)。例えば、更新情報112には、中継定義情報111a及び111bに対する更新内容が含まれるものとする。次に、通信中継装置100の更新部130は、所定のタイミングであるか否かを判定する(S12)。所定のタイミングとしては例えば、上記更新指示により設定された時刻、又は、上記更新指示を受け付け又は検出したタイミング等であってもよい。
所定のタイミングでない場合は、所定時間経過後、再度、ステップS12を行う。所定のタイミングと判定された場合、更新部130は、更新情報に基づき、例えば、中継定義情報111a及び111bを更新する(S13)。
このように、本発明の実施の形態1では、複数の中継定義情報の更新情報をまとめて取得し、1回のトリガ(更新タイミング)により更新処理を行うことで、更新のための通信量を抑制できる。つまり、通信中継装置100に対して外部から各中継定義情報に対する個別の更新命令を逐次、受信することを回避できる。そのため、端末間の通信への影響を抑えつつ、効率的に更新をすることができる。
尚、通信中継装置100は、他の複数の通信中継装置の間の通信の中継を行うものであってもよい。そのため、上述した中継定義情報は、装置間の通信の中継に関する定義を示す情報といえる。
<発明の実施の形態2>
本発明の実施の形態2は、上述した実施の形態1の応用例であり、OpenFlow技術に基づくネットワークシステムを対象とした場合について説明する。但し、本発明は、OpenFlow技術に限定されない。また、以下では、通信中継装置の一例としてOFS(OpenFlow Switch)、通信中継装置を制御する通信制御装置の一例としてOFC(OpenFlow Controller)を用いる。また、中継定義情報の一例としてOFSに内蔵されるフローテーブルにおける各フローエントリを用いる。但し、通信中継装置、通信中継装置及び中継定義情報の例は、これらに限定されない。
ここで、OFCがローリングアップデート機能をサポートした場合、下位互換性(backward compatibility)を保証しなければならない。そのため、過去バージョンの仕様(プロトコルの仕様など)に不十分な点が見つかったとしても、新バージョンで変更できないという問題があった。
例えば、旧仕様のOFC(旧ACT)と新仕様のOFC(新ACT)でcookieの値を変更する場合、クラスタ切り替え後に、OFCは、各OFSに対してフローエントリごとにflow modメッセージを送信する必要がある。ここで、cookieは、OFSがフローテーブル内の各フローエントリを識別するための識別情報である。そのため、OFCのローリングアップデートによりcookieを更新することは、フローエントリのIDの変更となるため、flow modメッセージを用いる場合には、既存のフローエントリを削除し、かつ、変更後のcookie値をIDとした新規のフローエントリを追加することとなる。そのため、OFSに多数のフローエントリが登録されている場合、フローエントリ数に比例した多数のflow modがOFCから送出される。それ故、OFCとOFS間の通信接続であるセキュアチャネル(secure channel、管理ネットワーク)の輻輳状態が発生する可能性がある。
ここで、cookieは64bitの情報であり、自由な値を設定することができる。そのため、単なるIDとしてではなく、OFCで使用する内部情報などを加えて使用する場合がある。内部情報としては、例えば、フローエントリ種別(Bloadcast,IP multicast,unicast等)等が考えられる。また、現行のOpenFlowの仕様では、フローエントリの統計情報の取得時に、cookie値の他にcookie maskの指定が可能であり、取得するフローエントリ情報のフィルタリングを行うこともできる。(すなわち、ある特定のフローエントリ種別の情報のみを取得することができる。)
そのため、OFCのバージョンアップに伴い、内部情報の扱いが変更になり、その結果、フローエントリのうち、内容(照合ルールやアクション等)は一緒であるが、cookieの値のみ変更になるというケースが考えられる。
さらに、OFC側でのフローエントリの書き換えの内容によっては(cookie書き換えなど)、上述の通り、フローエントリが一時的に削除されるため、OFSに接続されている端末間の通信が途切れてしまう可能性もある。
そこで、本発明の実施の形態は、OFS内部で保持するフローエントリ等の情報の書き換え処理を、OFC主導ではなく、OFCのクラスタ切り替えの間にOFS主導で行うものである。本発明の実施の形態の概要の一部としては以下ものが挙げられる。例えば、OFSは、外部から与えられたトリガによって自らの内部のフローテーブルを編集する機能を有する。そして、OFSのフローテーブルの制御方式としては、OFC側のソフトウェアの更新時にOFSに対して編集処理起動のトリガを与えることによって、OFSのフローテーブルを更新後のOFCの制御仕様に同期させる。また、そのためにあらかじめ、OFSに対してフローエントリ更新用のソフトウェアを事前に送信し、OFSのクラスタフェイルオーバー中の新ACTに切り替わる間にフローエントリの更新を行うようにしてもよい。
また、ローリングアップデートによるOFCのアップデート後に、OFCからのフロー設定要求(flow modメッセージ)を用いずに、OFSに設定済みの既存のフローエントリを更新することも可能である。これにより、クラスタ切り替え後のネットワーク負荷を最小限にすることができる。
さらに、cookie値の書き換えの場合などには、フローエントリを一旦削除せずに、OFS内部で差分のみを書き換えるため、OFSに接続されている端末間の通信に切断が発生しないという効果も奏する。尚、既存のOpenFlowプロトコルを使用してcookieを書き換える場合には、上述の通りフローエントリを一回削除しなければならない。
また、上述した実施の形態1から次のように改良しても良い。例えば、上述した図1の更新情報112として、中継定義情報(フローエントリ)に対応する新たな識別情報(更新後のcookie値)を含み、前記更新部は、更新処理により中継定義情報における識別情報を、更新情報に含まれる新たな識別情報へ更新することが望ましい。上述の通り、フローエントリのID(cookie)のみを更新する場合、従来はフローエントリ自体の削除及び新規追加が必要であり、その場合、当該フローエントリに基づく既存の端末間通信が中断されることになっていた。しかし、フローエントリのIDのみを更新することにより、端末間の既存の通信を中断することがなくなる。
さらに、前記取得部は、前記複数の中継定義情報の更新内容に応じた更新処理が実装された更新プログラムを前記更新情報として取得し、前記更新部は、前記更新プログラムを前記所定のタイミングに実行することにより、前記更新処理を行うとよい。これにより、既存のプロトコルに依存しない柔軟な(きめ細かな)更新処理を実現できる。また、フローエントリ数にかかわらず、一種類の更新プログラムを送信するだけで実現できるため、更新のための通信量を抑制することができる。
また、前記通信中継装置は、稼働系(ACT)と待機系(SBY)により冗長構成された複数の通信制御装置(例えば、OFC)により制御され、前記更新部は、前記稼働系と前記待機系の切り替え(例えば、ローリングアップデート又は単に、クラスタ切り替え)を前記所定のタイミングとして、前記更新処理を開始することが望ましい。これにより、より早くOFCとの同期を行うことができる。また、系切替中に更新処理が完了しなくても、既存の同期処理(例えば、フローエントリ間の状態整合処理)で残りの更新処理を行うことで、全て既存の同期処理で対応する場合に比べて、通信負荷を低減できる。
さらに、前記更新部は、前記通信制御装置と当該通信中継装置との間の制御のための接続(例えば、セキュアチャネル)が切断されたことを検出した場合を、前記所定のタイミングとして前記更新処理を開始すると良い。このように、OFCの系切替を自ら検出することで、外部からの指示によらずに更新を開始できる。
さらに、前記取得部は、外部から前記更新処理の開始要求を前記更新指示として取得し、前記更新部は、前記開始要求の取得後に前記接続が切断されたことを検出した場合に、前記更新処理を開始すると良い。これにより、系切替とは無関係な切断時に不必要に更新処理を行うことを防止し、更新開始タイミングを適切に制御できる。
また、前記取得部は、前記所定のタイミングの基準となる時刻情報を前記更新情報に含めて取得し、前記更新部は、前記接続が切断されたことを検出した場合に、前記取得した時刻情報に基づいて前記所定のタイミングであるか否かを判定し、当該所定のタイミングであると判定した場合に、前記更新処理を開始すると良い。これにより、不必要な更新処理を行うことを防止し、更新開始タイミングを適切に制御できる。
さらに、前記通信中継装置は、前記稼働系と前記待機系の切り替えの前に前記更新情報を取得していることが望ましい。これにより、更新の開始時の負荷を低減し、更新処理の迅速な開始を実現できる。
また、本実施の形態2にかかる通信中継装置は、次のように表現することもできる。すなわち、稼働系と待機系により冗長構成された複数の通信制御装置により制御され、端末間の通信の中継に関する定義である中継定義情報を保持し、前記稼働系と前記待機系の切り替えの間に、前記中継定義情報を更新するための更新情報に基づいて、当該中継定義情報の更新処理を開始する。このように、少なくとも更新処理の開始を系切替中とすることで、より早くOFCとの同期を行うことができる。また、系切替中に更新処理が完了しなくても、既存の同期処理(例えば、フローエントリ間の状態整合処理)で残りの更新処理を行うことで、全て既存の同期処理で対応する場合に比べて、通信負荷を低減できる。
さらに、本発明の実施の形態2を通信中継システムとする場合は、次のように表現することもできる。すなわち、通信中継システムは、装置間の通信の中継に関する定義である複数の中継定義情報を保持し、当該中継定義情報に基づいて前記装置間の通信の中継を行う通信中継装置と、前記通信中継装置を制御する通信制御装置と、前記通信中継装置及び前記通信制御装置と接続された管理サーバと、を備え、前記通信制御装置又は前記管理サーバは、前記中継定義情報を更新するための更新情報を前記通信中継装置へ送信し、前記通信中継装置は、前記更新情報を受信し、複数の前記中継定義情報を更新するための指示に応じて、前記更新情報に基づく更新処理を所定のタイミングにより実行する。
続いて、本発明の実施の形態2について以降に具体的に説明する。
図3は、本発明の実施の形態2にかかるOpenFlowネットワークシステム1の構成を示すブロック図である。OpenFlowネットワークシステム1は、端末11〜16と、OFS31〜33と、OFC21及び22と、管理サーバ40と、開発端末50とを備える。OFC21及び22と、OFS31〜33と、管理サーバ40とは、管理ネットワーク上で接続されている。また、開発端末50は管理サーバ40と接続されている。尚、開発端末50と管理サーバ40との接続を管理ネットワークに加えても構わない。また、OFS31は、端末11〜13及びOFS32とOpenFlowネットワーク上で接続されている。OFS32は、OFS31及び33とOpenFlowネットワーク上で接続されている。OFS33は、OFS32及び端末14〜16とOpenFlowネットワーク上で接続されている。
OFC21とOFC22とは、稼働系(ACT)と待機系(SBY)により冗長構成(クラスタ構成)された2台の通信制御装置である。図3では、稼働系(ACT)をOFC22、待機系(SBY)をOFC21としているが、本発明の実施の形態がこれに限定されないことは勿論である。また、OFCは3台以上であってもよい。OFC21及び22のそれぞれは、例えば、UNIX(登録商標)サーバにより実現可能である。また、OFC21及び22は、共通の仮想IPアドレスが割り当てられている。そのため、OFS31〜33の側では、OFC21又は22のいずれが稼働系(ACT)であり、待機系(SBY)であるかを意識する必要が無い。
ここで、ACT側のOFC22とOFS31〜33との間は、セキュアチャネルにより接続されている。また、SBY側のOFC21は、OFS31〜33のトポロジーやフローテーブル情報などの情報や、各OFSのポート状態変更通知などのイベントをACT側のOFC22から取得することができる。そして、ACT側のOFC22とSBY側のOFC21との制御ソフトウェアのバージョンが等しい場合には、互いのデータが完全に同期される。
管理サーバ40は、OFC21及び22とOFS31〜33を管理する。管理サーバ40は、例えば、UNIXサーバにより実現可能である。管理サーバ40は、各々のOFCとSSH(Secure SHell)による接続が確立されており、UNIXのシェル上で動作するコマンドにより、管理サーバ40からOFC21及び22のクラスタ切り替えを行うことができる。また、管理サーバ40は、OMA−DMなどの遠隔デバイス管理プロトコルが実装されているOMA−DMサーバであるものとする。そして、管理サーバ40は、あらかじめ決められた時刻に、対象となるACT側のOFC22に対してクラスタ切り替え要求を送信する。また、管理サーバ40は、クラスタ切り替え要求の送信と同時に、OFS31〜33に対してソフトウェア更新要求を送信する。
OFS31、32及び33は、内部に保存されたフローテーブルに基づいて、端末11〜16の間の通信を中継する。OFS31〜33は、例えば、組み込みLinux(登録商標)が実装された組み込み機器である。OFS31〜33のそれぞれは、管理ネットワーク経由で、OFC21及び22並びに管理サーバ40と通信を行うことができる。OFS31〜33は、例えば、OMA−DMなどの組み込み機器向けのデバイス管理プロトコルが実装されているOMA−DMクライアントが組み込まれているものとする。
ここで、本実施の形態では、OFS31〜33からOFC21及び22並びに管理サーバ40に対してTCP(Transmission Control Protocol)コネクションを確立させるものとする。TCPコネクションの接続のタイミングは、管理ネットワークの接続時(OFSの起動又は再起動に伴うネットワーク接続や、管理ネットワーク用のイーサーネット(登録商標)ケーブルを動作中のOFSに接続する場合など)、又は、OFS内部の設定情報の更新時などが挙げられるが、これらに限定されない。ここで、OFSとOFCとの間は、セキュアチャネル接続であり、OFSと管理サーバとの間は、デバイス管理プロトコルのための接続である。
また、OFS31〜33は、接続を行うOFCのIPアドレスを内部設定情報として保持するものとする。さらに、OFS31〜33は、登録されたIPアドレスを持つOFS接続の有無を定期的に監視する。そして、OFS31〜33は、対象となるOFCが管理ネットワークに接続されたことを認識すると、当該OFCに対してセキュアチャネルの接続処理を行う。
また、OFS31〜33は、OFC21及び22の系切り替えの間を、フローテーブルの更新処理の開始タイミングとする。すなわち、OFS31〜33は、OFCの系切り替えのタイミングで、管理サーバ40から配信された更新ソフトウェアの実行を行う。但し、フローテーブル内の全エントリの消去などの単純な処理に関しては、管理サーバ40からのトリガを契機として行うこともできる。この場合は、管理サーバ40から配信された更新ソフトウェアを用いる必要がない。
端末11〜16は、上述した図1の端末11と端末12と同等の通信装置である。そのため、端末11〜16は、OFS31〜33を介して互いに通信パケット等の送受信を行う。
開発端末50は、開発ユーザ等が使用することにより、OFS31〜33の更新ソフトウェアを生成する装置である。生成された更新ソフトウェアは、管理サーバ40を介してOFS31〜33へ配信される。ここで、本実施の形態にかかる更新ソフトウェアは、組込み機器である各OFS内で高速に書き換え処理を行い、省メモリ化を実現するものである。例えば、当該更新ソフトウェアは、機械語のバイナリコードで実現されたものである。または、当該更新ソフトウェアは、以下のような形態でもよい。例えば、Java(登録商標)に代表される中間言語、LLVM(Low Level Virtual Machine)のような共通実行環境で実行されるプログラムであるとよい。または、Luaなどのスクリプト言語やPythonなどのインタプリンタ言語であってもよい。
また、本実施の形態にかかる更新ソフトウェアは、更新対象のフローエントリ及び更新内容が指定されている。更新対象のフローエントリには2以上の指定が可能である。更新内容としては、更新後のcookie、上述したルール、アクション、又は、フロー統計情報の各値を、フローエントリごとに指定することができる。そして、当該更新ソフトウェアは、更新対象のフローエントリに対して指定された更新内容により更新する処理を含む。
また、当該更新ソフトウェアは、実行を開始する日付及び時刻を示す実行開始時刻情報を含むものであってもよい。または、デバイス管理プロトコル内に実行開始時刻情報を含めても良い。その場合、OFS31〜33が管理サーバ40から更新ソフトウェアをダウンロードする際に、併せて、実行開始時刻情報を取得してもよい。
または、開発端末50は、更新ソフトウェアではなく、各フローエントリの更新内容のデータのみを生成してもよい。更新内容としては、置換対象のフローエントリや、置換対象のcookie、上述したルール、アクション、又は、フロー統計情報の各値のみであってもよい。その場合、管理サーバ40は、各OFSに対して更新内容を配信することとなる。以上のことから、更新ソフトウェア又は更新内容は、上述した実施の形態1の更新情報の一例といえる。
図4は、本発明の実施の形態2にかかる管理サーバ40及びOFS31の概要構成を示すブロック図である。管理サーバ40は、構成管理機能401と、OFS制御機能402と、OFS及び更新ソフトウェア管理機能403と、OMA−DMサーバ404とを備える。構成管理機能401は、管理ネットワークに接続されているOFS31〜33の構成情報を管理する。構成管理機能401は、デバイス管理プロトコル経由での各OFSとのネゴシエーションを契機に、OFS情報を取得して内部に登録する。
OFS及び更新ソフトウェア管理機能403は、OFS31〜33に対して、更新ソフトウェアの配信や更新開始のトリガM1を送信する。尚、OFS及び更新ソフトウェア管理機能403は、更新ソフトウェアの代わりに後述する更新内容のデータ自体を配信してもよい。また、OFS及び更新ソフトウェア管理機能403は、OFS31〜33のそれぞれが更新タイミングを検出する場合には、必ずしも更新開始のトリガを送信する必要はない。OFS制御機能402は、OFS及び更新ソフトウェア管理機能403からの要求を受けて、OFC21及び22に対してクラスタ切り替えM2を行う。
また、OFS及び更新ソフトウェア管理機能403は、OFS31〜33に対して、フローテーブルなどを書き換えるための更新ソフトウェアを事前に配信することが望ましい。ここで、OFS及び更新ソフトウェア管理機能403は、例えば、深夜などtrafficの少ない時間帯に更新ソフトウェアを配信すると良い。
尚、OFS及び更新ソフトウェア管理機能403は、更新開始トリガと共に、更新ソフトウェアを配信することもできる。ここで、OFCの系切り替えの時間は、数十秒を想定している。そのため、更新開始トリガと共に、更新ソフトウェアを配信する場合、系切り替え中に更新処理を開始できない可能性がある。また、系切り替え中に更新処理を開始できたとしても、終了ができない場合には、系切り替え後に大量のパケットインやフローエントリ設定処理などが送信される可能性がある。そのため、系切り替え前後は、管理ネットワークの負荷をできるだけ下げる必要性が高い。よって、更新ソフトウェアを事前に配信する方法が望ましい。
尚、OMA−DMサーバ404は、上述した通り、組み込み機器向けのデバイス管理プロトコルであるOMA−DMが実装されたサーバ機能を有する。
OFS31は、テーブル編集機能311と、OFS更新管理機能312と、OMA−DMクライアント313とを備える。尚、図4では、OFS32及び33は、OFS31と同等であるため図示及び説明を省略する。テーブル編集機能311は、内部のテーブル情報(不図示)(フローテーブル、グループテーブルなど)を編集(更新)する手段である。ここで、テーブル編集機能311は、管理サーバ40から取得した更新ソフトウェアを実行し、当該更新ソフトウェアの処理によりテーブルの所定のフローエントリを書き換える。
また、テーブル編集機能311は、管理サーバ40から取得した更新内容により、指定されたフローエントリの部分的な置換を行う。例えば、更新内容にcookieのみが指定されている場合には、テーブル編集機能311は、更新ソフトウェアの実行により、フローエントリのうちcookieのみを更新することができる。当該更新プログラムは、機械語等で作成されているため、OFSのハードウエアに直接アクセスすることが可能であるため、フローエントリを消さずにcookie書き換えることが可能である。従って、既存のフローエントリの削除及び新規のフローエントリの追加をする必要がなく、ルールやアクション等に変更がなければ、処理中の端末間の通信が中断されることはない。
さらに、テーブル編集機能311は、トリガにより各テーブルの全エントリを消去することや、トリガにより指定されたエントリ、又は、条件に合うエントリを消去するようにしてもよい。
OFS更新管理機能312は、管理サーバ40からの配信される更新ソフトウェアや更新内容である更新情報を取得する。また、OFS更新管理機能312は、管理サーバ40から更新開始のトリガを受信する。ここで、トリガとしては、プロトコルによる明示的な指示、セキュアチャネルの切断による暗黙的な指示、更新開始時刻の指示、これらの2つ以上の組み合わせ等が挙げられる。
まず、トリガの例としてプロトコルによる明示的な指示は、既存のflow modメッセージとは異なり、具体的な更新対象のフローエントリの指定は含む必要がなく、最低限、開始の指示が含まれていればよい。そして、外部からフローテーブルの更新開始用のメッセージを、新たにプロトコルに規定することで実現できる。また、例えば、管理サーバ40がOFC21及び22に対してローリングアップデートの指示(クラスタ切り替えM2)を行うと共に、OFS31〜33に対して更新開始の指示を行っても良い。または、当該トリガと共に、更新ソフトウェア又は更新内容の配信を含めてもよい。
次に、トリガの例としてセキュアチャネルの切断による暗黙的な指示は、通常、OFCとOFSの間で確立されているOpenFlowメッセージ送受信可能なセキュアチャネルが切断されたことを契機とするものである。つまり、OFCのローリングアップデートが行われる場合、系切替前に、当初のACT側(旧ACT側)のOFCは、各OFSとのセキュアチャネルを切断する。そして、各OFSは、セキュアチャネルが切断されたことを検出する。尚、セキュアチャネルの切断の検出については後述する。但し、OFSからOFCへの片方向通信のみを対象としたセキュアチャネル、つまり、SBY側のOFS専用のread onlyチャンネルの切断は対象としない。尚、セキュアチャネルは、上述の通りOFCとOFSとの間の管理ネットワーク内の接続を意味する。そのため、セキュアチャネルが切断されても、図3のOpenFlowネットワーク側の通信(OFS側のフローテーブルに登録されているフローエントリにヒットするもの)には影響しない。
続いて、トリガの例として更新開始時刻の指示は、OFS31〜33がトリガを受信したタイミングで更新を開始するのではなく、受信した更新開始時刻を内部に設定し、当該時刻になった場合に更新を開始するものである。尚、更新開始時刻は、上述した実行開始時刻情報としてもよい。
最後に、トリガの例として上記の組み合わせとは、例えば、更新ソフトウェア等の取得イベントと旧ACT側のOFCとのセキュアチャネルの切断検出イベントの2つのイベントの論理積が真になった場合などが挙げられる。さらに、当該2つのイベントの論理積が真になった時刻が上記更新開始時刻と異なる場合、OFS31〜33は更新処理を開始しないようにしてもよい。例えば、OFCの系切替が不調な場合には、セキュアチャネルが切断されていない可能性もあり、そのような場合にはOFSの更新処理も開始しないことが望ましいためである。
また、OFS31〜33は、フローテーブルの更新処理後、つまり、更新ソフトウェアの実行終了後に、切替後の新ACTのOFCとのセキュアチャネルの接続を確立する。その後、OFS31〜33は、当該更新ソフトウェアを削除してもよい。
ここで、新ACTに切り替わるまでにフローテーブルの更新処理が完了しなかった場合は、新ACTに切り替え後に更新ソフトウェアの実行を中断し、別途、既存の状態整合方式で未完了の更新を行っても構わない。すなわち、新ACTのOFCは、OFSから、更新が未完了のフローエントリの情報を逐次読み出し、差分をflow modメッセージにより設定し直すようにしてもよい。このように、既存の状態整合方式との組み合わせであっても、OFCからのフローエントリ再設定処理が大幅に減少するため、本発明の実施の形態は有効だと言える。
尚、OMA−DMクライアント313は、上述した通り、組み込み機器向けのデバイス管理プロトコルであるOMA−DMが実装されたクライアント機能を有する。
図5は、本発明の実施の形態2にかかるOFS31のハードウェア構成を示すブロック図である。OFS31は、OpenFlow制御IC61と、NOR FLASH MEMORY63と、CPU(Central Processing Unit)64と、イーサネットドライバIC65と、HDD(Hard Disk Drive)66と、SDRAM(Synchronous DRAM)67とを備える。
OpenFlow制御IC61は、専用のハードウエアとしてOFSに組み込まれている。OpenFlow制御IC61は、フローエントリ設定済みのOpenFlowネットワーク間の通信を、CPUを介さず、高速に行うことができる。ここでは、OpenFlow制御IC61は、ASIC(Application Specific Integrated Circuit)とDSP(Digital Signal Processor)とを備える構成とする。
OpenFlow制御IC61は、イーサネット制御部611と、SRAM(Static Random Access Memory)612とを備える。イーサネット制御部611は、ポート601〜603を介してOFS32、端末11及び12との間のイーサネット通信を制御する。SRAM612は、フローテーブル613と、グループテーブル614とを記憶する。フローテーブル613は、複数のフローエントリ615を含む。各フローエントリ615は、cookie616その他、ルール、アクション及びフロー統計情報等(不図示)を含む。グループテーブル614は、複数のグループエントリ(不図示)を含む。
OpenFlow制御IC61と、NOR FLASH MEMORY63と、CPU64と、イーサネットドライバIC65とは、アドレス及びデータバス62を介して接続されている。NOR FLASH MEMORY63は、書き換え可能なROM(Read Only Memory)として位置付けられる。NOR FLASH MEMORY63は、ブートローダのイメージなどを記憶している。イーサネットドライバIC65は、管理ネットワークを介してOFC21及び22並びに管理サーバ40との通信を行う。
CPU64は、I/Oレジスタ設定または、DMA転送によりOpenFlow制御IC61の制御を行う。また、CPU64は、OFC21及び22とのOpenFllowプロトコルを使用した通信などの処理を行う。さらに、CPU64は、組み込み向けのSoC(System on a Chip)として実現することができる。また、CPU64は、PLLが内蔵されるクロックコントローラ(不図示)、SATA I/Fコントローラ(不図示)やSDRAM I/Fコントローラ(不図示)などの周辺デバイスが内蔵される。そのため、CPU64は、SATA68を介してHDD66と接続され、SDRAM/IF69を介してSDRAM67と接続される。HDD66には、組み込みLinuxなどのOSのカーネルイメージと、更新ソフトウェアや更新内容が格納される。
また、CPU64は、OpenFlowプロトコルの組み立てや解読といった、端末間の通信の中継処理の一部を行う。さらに、CPU64は、管理サーバ40との通信のための処理も行う。CPU64は、管理サーバ40から取得した更新ソフトウェア等をHDD66に格納する。そして、CPU64は、更新処理を開始するために所定のタイミングであるか否かの判定を行い、所定のタイミングである場合にHDD66から更新ソフトウェアを読み込み、実行する。これにより、更新処理が開始される。
図6は、本発明の実施の形態2にかかるOFS内のCPU上で動作するソフトウェア構成の概念図である。本発明の実施の形態2にかかるOFSのOSとしては、組み込みLinux72が実装されている。OpenFlowSwitch制御/管理アプリ73は、ユーザ空間で動作するUNIXアプリケーションである。OpenFlowSwitch制御/管理アプリ73は、OpenFlow制御IC61の制御処理、OpenFlowプロトコルの組み立て及び解読処理、並びに、OFCとの通信処理などを行う。OpenFlow制御IC用ドライバ71は、カーネル空間で動作するカーネルオブジェクトで、OpenFlow制御IC61に対するレジスタ制御などを行う。
OFS更新アプリ75は、本発明の実施の形態2の中心的な処理が実装された、ユーザ空間で動作するUNIXアプリケーションである。OFS更新アプリ75は、管理サーバ40との通信処理やダウンロードした更新ソフトウェアの管理及び制御などを行う。デバイス管理ライブラリ76は、OMA‐DMなどのデバイス管理プロトコルなどが実装されている。ログフィルタリング処理アプリ74は、ログフィルタリングルール77に基づいてログ情報を解析(フィルタリング)し、解析結果をOFS更新アプリ75へ通知する。すなわち、ログフィルタリング処理アプリ74は、ログフィルタリングルール77に基づいてsyslogなどからセキュアチャネルの切断通知を検出し、OFCとのセキュアチャネルが切断された旨を通知する。ログフィルタリング処理アプリ74により、OpenFlowSwitch制御/管理アプリ73側に、OFS更新アプリ75に特化したロジックを実装する必要がなくなる。
フローテーブル更新アプリ78は、図4のテーブル編集機能311に相当する機能が実装されたアプリケーションである。DMT制御ライブラリ791は、DMTを制御するための共有ライブラリである。ユーザ作成ライブラリ792は、各種の共通的な処理を関数化した共有ライブラリである。
ここで、OFS31〜33は、管理サーバ40から配信されるフローテーブル更新アプリ78及びDMT制御ライブラリ79を受信し、OFS更新アプリ75により、予め定められたディレクトリへ格納する。さらに、OFS31〜33は、管理サーバ40から配信されるカーネルオブジェクト(不図示)も受信できる。また、OFS31〜33は、管理サーバ40から新たな更新ソフトウェアを受信した場合、既存のOFS更新アプリ75やログフィルタリング処理アプリ74を新たな更新ソフトウェアにより置換する。
続いて、更新ソフトウェアの配信処理と、その後のOFS内部のフローテーブル更新処理の実施例について、図7及び図8のシーケンス図を用いて説明する。ここでは、OFC及びOFSの全てで、フローエントリのcookieの値のみを更新するものとする。そのため、ここで対象とする更新ソフトウェアは、OFSのOpenFlow制御IC61の内部に存在するフローテーブル613のcookieフィールド(cookie616)を直接変更するソフトウェアであるものとする。また、当該更新ソフトウェアは、高速書き換え処理及び組込み機器であるOFSの省メモリ化のため、機械語のバイナリデータであるものとする。但し、上述の通り、更新内容はこれに限定されない。
図7は、本発明の実施の形態2にかかる更新ソフトウェアの配信処理の流れを説明するためのシーケンス図である。ここでは、あらかじめ管理サーバ40とOFS31の間のTCPコネクションが確立されているものとする。また、TCPコネクションが確立するタイミングは、OFSの管理ネットワークへの接続時である。そして、当該接続のタイミングでOFS固有の情報(IPアドレスなど)が、管理サーバ40に登録されるものとする。
まず、管理サーバ40は、配信対象のOFS(例えば、OFS31)に対して更新ソフトウェア配信通知を送信する(S101)。ここで、更新ソフトウェア配信通知は、例えば、OMAで規定されたsyncML形式のXMLファイルであるが、これに限定されない。そして、更新ソフトウェア配信通知には、更新ソフトウェアが保存されているURLや更新ソフトウェアのOFS側での実行開始時刻情報が含まれる。
そして、例えば、OFS31は、管理サーバ40から更新ソフトウェア配信通知を受信する。次に、OFS31は、更新ソフトウェアのダウンロード要求を管理サーバ40へ送信する(S102)。具体的には、OFS31は、更新ソフトウェア配信通知に含まれる更新ソフトウェアが保存されているURLに対して更新ソフトウェアの取得要求を行う。
その後、管理サーバ40は、OFS31からのダウンロード要求に応じて、更新ソフトウェアをOFS31へ送信する(S103)。すなわち、OFS31は、管理サーバ40から更新ソフトウェアを取得し、HDD66に保存する。また併せて、OFS31は、実行開始時刻情報を取得し、HDD66に保存する。
図8は、本発明の実施の形態2にかかるOFCの系切替時におけるOFSのフローテーブル更新処理の流れを説明するためのシーケンス図である。尚、図8は図7の更新ソフトウェアの配信後であり、OFS31〜33には更新ソフトウェアが格納済みであるものとする。
まず、管理サーバ40は、ACT側(稼働系)であるOFC22に対して、クラスタ切り替え要求コマンドを送信する(S201)。例えば、管理サーバ40は、OFC22とSSHによるリモート接続を行い、UNXシェル上で、クラスタ切り替え要求のコマンドを発行する。これにより、クラスタ切り替えの要求を実現できる。
次に、ACT側のOFC22は、各OFSとの間のセキュアチャネルを切断する(S202)。具体的には、OFC22は、OFS31〜33のそれぞれとの間のTCPコネクションを切断する。
続いて、ACT側のOFC22は、SBY側のOFC21に対してACT遷移要求(メッセージ)を発行する(S203)。これに伴い、SBY側のOFC21はACTへの遷移を開始する。また、ACT側のOFC22は、OSの再起動処理を行う(S2050)。そして、再起動後に、OFC22はSBY(待機系)として動作する。
ここで、ステップS202のセキュアチャネルの切断後、各OFSは、OFS更新処理を開始する(S204)。具体的には、まず、各OFSは、ログフィルタリング処理アプリ74により自身とOFC22との間のセキュアチャネルが切断されたことを検出する。そして、各OFSのOFS更新アプリ75は、既に取得済みの実行開始時刻情報内であることを確認し、更新ソフトウェアの実行を開始する。
そして、各OFSは、フローテーブルの更新処理を行う(S2051、S2052等)。ここで、更新ソフトウェアに更新内容として各フローエントリのcookie値のみが設定されている場合、各OFSは、該当するフローエントリのcookieフィールドのみを直接書き換える。または、各OFSは、cookieのみ更新されたフローエントリ情報を新たに追加し、この新フローエントリ追加後に旧フローエントリを削除するようにしてもよい。この場合であっても、フローエントリの更新処理に伴うOpenFlowネットワークの切断を回避することができる。
ACTとSBYのクラスタ切り替え後、新ACT側であるOFC21と新SBY側であるOFC22との間で、OFSのトポロジー情報やOFC内で保有するフローエントリ情報の同期が行われる(S206)。これにより、新ACT側であるOFC21は、フローエントリのcookie情報が新しい値に書き換えられる。
その後、各OFSは、新ACT側のOFC21との間でセキュアチャネルの接続を確立する(S207)。具体的には、各OFSは、新ACT側のOFC21に対してTCPコネクションの接続を行う。
そして、新ACTのOFC21は、各OFSとの間でフローエントリの状態整合処理を行う(S208)。当該フローエントリの状態整合処理には、flow modメッセージ等を用いることができる。そのため、OFS側のフローテーブル更新処理が新ACTの起動までに終了しない場合でも、それ以後の更新処理に状態整合処理を用いることで、OFCとOFS間のフローテーブルの状態ずれを防ぐことができる。つまり、OFSが単独で実行する更新ソフトウェアによる更新処理と、OFCとの状態整合処理とを組み合わせることでも、同様の効果を得ることができる。そして、この場合でも、更新ソフトウェアによる更新処理においては、OFCとの通信量は抑制されるため、全ての更新処理を状態整合処理で行う場合に比べて、管理ネットワークの通信量が減少し、端末間の通信の中継への影響を抑えることができる。
このように、本発明の実施の形態2にでは、ACTとSBYでフローエントリの仕様が異なっていても、ローリングアップデートを行う場合に、クラスタ切り替え後の大量のflow modの送信を抑えることができる。その理由は、本発明の実施の形態2により、OFS側で自律的にフローテーブルの書き換えを行うようになるため、OFCとの通信がトリガ等の最小限となるからである。
また、仕様変更により、フローエントリのcookie値などを変更する場合のハードルやリスクが非常に低くなる。本発明の実施の形態2により、OFCを介さずにOFS上で、フローエントリ情報を直接上書きしてしまうので、フローエントリが無効になる時間が無くなるからである。
<その他の発明の実施の形態>
上述した発明の実施の形態は、フローエントリのcookie書き換え以外にも、グループテーブルのグループIDのリファクタリング(グループエントリの内容へ変更せずにグループIDのみ置換する)などにも応用可能である。
尚、上述した実施の形態2では、OFCのローリングアップデートの場合について説明したが、これに限定されない。例えば、1台のOFCをアップデートするために停止するタイミングを所定のタイミングとしてもよい。さらに、OFCが二重化されている場合について説明したが、これに限定されない。例えば、通信制御装置が1台で運用されている場合に、当該通信制御装置のメンテナンスに合わせて、通信中継装置内の複数の中継定義情報の更新内容を1つにまとめた更新情報を送信することにより、更新を行うようにしてもよい。
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。
非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、コンピュータプログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
装置間の通信の中継に関する定義である複数の中継定義情報を記憶する記憶部と、
前記中継定義情報を更新するための更新情報を取得する取得部と、
複数の前記中継定義情報を更新するための更新指示に応じた所定のタイミングにより、前記更新情報に基づく更新処理を実行する更新部と、
を備える通信中継装置。
(付記2)
前記更新情報は、前記中継定義情報に対応する新たな識別情報を含み、
前記更新部は、
前記更新処理により前記中継定義情報における識別情報を、前記更新情報に含まれる新たな識別情報へ更新する
付記1に記載の通信中継装置。
(付記3)
前記取得部は、複数の中継定義情報の更新内容に応じた更新処理が実装された更新プログラムを前記更新情報として取得し、
前記更新部は、前記更新プログラムを前記所定のタイミングに実行することにより、前記更新処理を行う
付記1又は2に記載の通信中継装置。
(付記4)
前記通信中継装置は、稼働系と待機系により冗長構成された複数の通信制御装置により制御され、
前記更新部は、前記稼働系と前記待機系の切り替えを前記所定のタイミングとして、前記更新処理を開始する
付記1乃至3のいずれか1項に記載の通信中継装置。
(付記5)
前記更新部は、
前記通信制御装置と当該通信中継装置との間の制御のための接続が切断されたことを検出した場合を、前記所定のタイミングとして前記更新処理を開始する
付記4に記載の通信中継装置。
(付記6)
前記取得部は、
外部から前記更新処理の開始要求を前記更新指示として取得し、
前記更新部は、前記開始要求の取得後に前記接続が切断されたことを検出した場合に、前記更新処理を開始する
付記5に記載の通信中継装置。
(付記7)
前記取得部は、前記所定のタイミングの基準となる時刻情報を前記更新情報に含めて取得し、
前記更新部は、前記接続が切断されたことを検出した場合に、前記取得した時刻情報に基づいて前記所定のタイミングであるか否かを判定し、当該所定のタイミングであると判定した場合に、前記更新処理を開始する
付記5又は6に記載の通信中継装置。
(付記8)
前記通信中継装置は、
前記稼働系と前記待機系の切り替えの前に前記更新情報を取得している
付記4乃至7のいずれか1項に記載の通信中継装置。
(付記9)
装置間の通信の中継に関する定義である複数の中継定義情報を保持し、当該中継定義情報に基づいて前記装置間の通信の中継を行う通信中継装置と、
前記通信中継装置を制御する通信制御装置と、
前記通信中継装置及び前記通信制御装置と接続された管理サーバと、を備え、
前記通信制御装置又は前記管理サーバは、前記中継定義情報を更新するための更新情報を前記通信中継装置へ送信し、
前記通信中継装置は、
前記更新情報を受信し、
複数の前記中継定義情報を更新するための指示に応じて、前記更新情報に基づく更新処理を所定のタイミングにより実行する、
通信中継システム。
(付記10)
装置間の通信の中継に関する定義である複数の中継定義情報の更新方法であって、
前記複数の中継定義情報を保持する通信中継装置が、
前記中継定義情報を更新するための更新情報を取得し、
複数の前記中継定義情報を更新するための更新指示に応じた所定のタイミングにより、前記更新情報に基づく更新処理を実行する
中継定義情報の更新方法。
(付記11)
コンピュータに、
装置間の通信の中継に関する定義である中継定義情報を更新するための更新情報を取得する処理と、
複数の前記中継定義情報を更新するための更新指示に応じた所定のタイミングにより、前記更新情報に基づいて更新する更新処理と、
を実行させる更新プログラム。
(付記12)
稼働系と待機系により冗長構成された複数の通信制御装置により制御され、
端末間の通信の中継に関する定義である複数の中継定義情報を保持し、
前記稼働系と前記待機系の切り替えの間に、前記複数の中継定義情報のうち2以上を更新するための更新情報に基づいて、当該2以上の中継定義情報の更新処理を開始する
通信中継装置。
100 通信中継装置
110 記憶部
111a、111b、・・・111n 中継定義情報
112 更新情報
120 取得部
130 更新部
1 OpenFlowネットワークシステム
11〜16 端末
21、22 OFC(Open Flow Controller)
31〜33 OFS(Open Flow Switch)
40 管理サーバ
50 開発端末
401 構成管理機能
402 OFS制御機能
403 OFS及び更新ソフトウェア管理機能
404 OMA−DMサーバ
311 テーブル編集機能
312 OFS更新管理機能
313 OMA−DMクライアント
M1 ソフトウェア配信、更新開始トリガ
M2 クラスタ切り替え
M3 secure channel切断
601〜603 ポート
61 OpenFlow制御IC
611 イーサネット制御部
612 SRAM
613 フローテーブル
614 グループテーブル
615 フローエントリ
616 cookie
62 アドレス及びデータバス
63 NOR FLASH MEMORY
64 CPU
65 イーサネットドライバIC
66 HDD
67 SDRAM
68 SATA
69 SDRAM/IF
71 OpenFlow制御IC用ドライバ
72 組み込みLinux
73 OpenFlowSwitch制御/管理アプリ
74 ログフィルタリング処理アプリ
75 OFS更新アプリ
76 デバイス管理ライブラリ
77 ログフィルタリングルール
78 フローテーブル更新アプリ
791 DMT制御ライブラリ
792 ユーザ作成ライブラリ

Claims (6)

  1. 通信制御装置により制御される通信ノードであって、
    受信パケットの処理ルールを定義したフローエントリを記憶する記憶手段と、
    前記通信制御装置の仕様変更のためのアップデートに伴う前記フローエントリの更新に用いる更新情報を外部から受信する受信手段と、
    前記更新情報を用いて前記更新を実行する更新手段と、
    を備え、
    前記更新手段は、前記通信制御装置から通知される更新指示に従って前記更新を開始し、
    前記更新指示は、前記更新を開始するタイミングを示す情報を含む
    ことを特徴とする通信ノード。
  2. 前記通信制御装置は冗長構成された通信制御装置であり、
    前記タイミングを示す情報は、前記冗長構成された通信制御装置の稼働系と待機系を切り替える時刻を示す情報である
    ことを特徴とする請求項1に記載の通信ノード。
  3. 前記更新情報は、前記フローエントリに含まれる情報を書き換えるための書き換え情報を含み、
    前記更新手段は、前記フローエントリに含まれる情報を、前記書き換え情報に書き換える
    ことを特徴とする請求項1又は2のいずれか一項に記載の通信ノード。
  4. 受信パケットの処理ルールを定義したフローエントリを記憶し、前記フローエントリを用いて当該受信パケットを処理する通信ノードと、
    前記通信ノードに対して、自身の仕様変更のためのアップデートに伴う前記フローエントリの更新に用いる更新情報を送信する通信制御装置と、
    を含み、
    前記通信ノードは、前記通信制御装置から通知される更新指示に従って前記フローエントリの更新を開始し、
    前記更新指示は、前記更新を開始するタイミングを示す情報を含む
    ことを特徴とする通信システム。
  5. 受信パケットの処理ルールを定義したフローエントリの更新方法であって、
    前記フローエントリを記憶する記憶手段と、
    通信制御装置の仕様変更のためのアップデートに伴う前記フローエントリの更新に用いる更新情報を用いて前記更新を実行する更新手段と、
    を備える通信ノードにおいて、
    前記更新情報を外部から受信するステップと、
    前記通信制御装置から通知される更新指示に従って前記更新を開始するステップと、
    を含み、
    前記更新指示は、前記更新を開始するタイミングを示す情報を含む
    ことを特徴とする更新方法。
  6. 受信パケットの処理ルールを定義したフローエントリを記憶する記憶手段と、
    通信制御装置の仕様変更のためのアップデートに伴う前記フローエントリの更新に用いる更新情報を外部から受信する受信手段と、
    前記更新情報を用いて前記更新を実行する更新手段と、
    を備えるコンピュータに、
    前記通信制御装置から通知される更新指示に含まれる前記更新を開始するタイミングに従って前記更新を開始させる
    処理を実行させることを特徴とする更新プログラム。
JP2018051921A 2018-03-20 2018-03-20 通信ノード、通信システム、更新方法及び更新プログラム Expired - Fee Related JP6635138B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018051921A JP6635138B2 (ja) 2018-03-20 2018-03-20 通信ノード、通信システム、更新方法及び更新プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018051921A JP6635138B2 (ja) 2018-03-20 2018-03-20 通信ノード、通信システム、更新方法及び更新プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013216522A Division JP6311265B2 (ja) 2013-10-17 2013-10-17 通信中継装置、通信中継システム、中継定義情報の更新方法及び更新プログラム

Publications (2)

Publication Number Publication Date
JP2018093552A JP2018093552A (ja) 2018-06-14
JP6635138B2 true JP6635138B2 (ja) 2020-01-22

Family

ID=62566476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018051921A Expired - Fee Related JP6635138B2 (ja) 2018-03-20 2018-03-20 通信ノード、通信システム、更新方法及び更新プログラム

Country Status (1)

Country Link
JP (1) JP6635138B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579192A (zh) * 2019-09-30 2021-03-30 北京京东尚科信息技术有限公司 信息处理方法、装置、系统和计算机可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2935787B2 (ja) * 1993-05-07 1999-08-16 三菱電機株式会社 パケット交換システム
JP5075056B2 (ja) * 2008-08-15 2012-11-14 株式会社エヌ・ティ・ティ・ドコモ 通信システム
US8559314B2 (en) * 2011-08-11 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Implementing OSPF in split-architecture networks
CN104185972A (zh) * 2012-03-05 2014-12-03 日本电气株式会社 网络系统、交换机和网络构建方法
WO2013132559A1 (en) * 2012-03-06 2013-09-12 Nec Corporation Communication apparatus, control apparatus, communication system, packet processing method, communication apparatus control method, and program

Also Published As

Publication number Publication date
JP2018093552A (ja) 2018-06-14

Similar Documents

Publication Publication Date Title
US10873523B2 (en) Hierarchical network configuration
US11743097B2 (en) Method and system for sharing state between network elements
US20110238820A1 (en) Computer, communication device, and communication control system
CN108259215B (zh) 一种设备管理方法及装置
US20150040115A1 (en) System and method for accelerated software upgrades
US9792106B1 (en) Technique for fast network device configuration upgrade and reload
US10567195B2 (en) Network nodes in a ring network
CN110943928B (zh) 转发信息状态同步方法、控制器、网络转发设备及存储介质
US20200153682A1 (en) System and method for processing messages during a reboot of a network device
JP6635138B2 (ja) 通信ノード、通信システム、更新方法及び更新プログラム
US20170374028A1 (en) Software-defined networking controller
JP6311265B2 (ja) 通信中継装置、通信中継システム、中継定義情報の更新方法及び更新プログラム
US10735259B2 (en) Virtual switch updates via temporary virtual switch
US20200374221A1 (en) Method and system for plug and play routing
TW201735579A (zh) 設定裝置、通信系統、通信裝置之設定更新方法及程式
JP2006113754A (ja) ソフトウェア更新装置及び方法
US10516625B2 (en) Network entities on ring networks
CN106301877A (zh) 一种虚拟网元的升级方法和装置
JP2017097590A (ja) 通信装置、及び管理装置
JP6237102B2 (ja) 管理装置、管理装置の制御方法及びプログラム
US10270655B2 (en) Method for running a computer network and computer network
CN113867886A (zh) 一种分布式虚拟交换机端口镜像的方法、装置及存储介质
CN114930313A (zh) 用于管理区块链节点的系统和方法
KR101628219B1 (ko) 소프트웨어 정의 네트워크에서 컨트롤러를 운용하는 방법 및 장치
CN111106957A (zh) 一种交换机批量升级固件的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180320

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191202

R150 Certificate of patent or registration of utility model

Ref document number: 6635138

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees