JP6311265B2 - Communication relay device, communication relay system, relay definition information update method, and update program - Google Patents
Communication relay device, communication relay system, relay definition information update method, and update program Download PDFInfo
- Publication number
- JP6311265B2 JP6311265B2 JP2013216522A JP2013216522A JP6311265B2 JP 6311265 B2 JP6311265 B2 JP 6311265B2 JP 2013216522 A JP2013216522 A JP 2013216522A JP 2013216522 A JP2013216522 A JP 2013216522A JP 6311265 B2 JP6311265 B2 JP 6311265B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- communication
- relay
- information
- definition information
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、通信中継装置、通信中継システム、中継定義情報の更新方法及び更新プログラムに関し、特に、装置間の通信を中継定義情報に基づき中継する通信中継装置、通信中継システム、中継定義情報の更新方法及び更新プログラムに関する。 The present invention relates to a communication relay device, a communication relay system, a relay definition information update method, and an update program, and in particular, a communication relay device, a communication relay system, and an update of relay definition information that relay communication between devices based on the relay definition information. The present invention relates to a method and an update program.
OpenFlow技術は、通信をEnd−to−Endのフロー(flow)として捉え、フロー単位で経路制御、障害回復等を行うものである(例えば、特許文献1の段落0002等)。転送ノードとして機能するOpenFlowSwitch(OFS)は、OFSを制御するOpenFlowController(OFC)との間で、通信用のセキュアチャネル(Secure Channel)を備える。そして、OFSは、OFCから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルールと、処理内容を定義したアクション(Action)と、フロー統計情報との組が定義される。ここで、OFSは、通信中継装置の一例であり、OFCは、通信制御装置の一例である。 The OpenFlow technology captures communication as an end-to-end flow, and performs path control, failure recovery, and the like on a per-flow basis (for example, paragraph 0002 of Patent Document 1). The OpenFlow Switch (OFS) functioning as a forwarding node includes a secure channel (Secure Channel) for communication with the OpenFlow Controller (OFC) that controls the OFS. The OFS operates according to a flow table instructed to be added or rewritten as appropriate from the OFC. In the flow table, for each flow, a set of a rule that collates with the packet header, an action (Action) that defines processing contents, and flow statistical information is defined. Here, OFS is an example of a communication relay device, and OFC is an example of a communication control device.
また、OFCは、障害耐性を高めるために、複数台でクラスタ構成により運用されることがある。この場合、一方のOFCを稼働系(ACT)、他方のOFCを待機系(SBY)とし、稼働系に障害が発生したときには自動的に待機系に切り替わる構成としている。また、障害時ばかりでなく、制御ソフトウェア等を更新するなどのメンテナンスのために、任意のタイミングで稼働系と待機系のOFCを切り替える場合もある。ここで、ACT−SBY型のクラスタを利用した、サービスを止めずに行うソフトウェアアップデート方式としてローリングアップデート技術がある。ローリングアップデート技術では、稼働系及び待機系のOFCの間で一部のデータが同期されており、待機系でも稼働系と同じ内部イベントを受け取る。そして、先に待機系のソフトウェアを更新し、クラスタの切り替えを行い、その後、切替後の待機系(元の稼働系)のソフトウェアを更新することで、サービスを止めずに双方のソフトウェアの更新を行うものである。 In addition, OFC may be operated in a cluster configuration with a plurality of units in order to increase fault tolerance. In this case, one of the OFCs is an active system (ACT) and the other OFC is a standby system (SBY). When a failure occurs in the active system, the system is automatically switched to the standby system. In addition, not only at the time of a failure, but also for maintenance such as updating control software or the like, there are cases where the active and standby OFCs are switched at an arbitrary timing. Here, there is a rolling update technique as a software update method using an ACT-SBY type cluster without stopping the service. In the rolling update technology, some data is synchronized between the active and standby OFCs, and the standby system receives the same internal event as that of the active system. Then, update the standby software first, switch the cluster, and then update the standby software (original operating system) after switching, so that both software can be updated without stopping the service. Is what you do.
また、DMT(Device Management Tree)ベースのデバイス管理技術としてOMA−DM(Open Mobile Alliance−Device Management)がある(例えば、特許文献2の段落0004及び0005等)。 Further, as a device management technology based on DMT (Device Management Tree), there is OMA-DM (Open Mobile Alliance-Device Management) (for example, paragraphs 0004 and 0005 of Patent Document 2).
まず、DMTは、デバイス管理を行うために使用される木構造データである。各ノードの名前は、URI(Uniform Resource Identifier)として表すことができる。そのため、ネットワーク上デバイス管理サーバや組み込み機器内のデバイス管理アプリは、URIを指定することでDMT内の任意のノードに対して読み書きや実行命令の発行を行うことができる。また、DMTにノードを動的に追加することも可能である。 First, DMT is tree structure data used for device management. The name of each node can be expressed as a URI (Uniform Resource Identifier). Therefore, the device management server on the network and the device management application in the embedded device can read / write and issue an execution command to any node in the DMT by specifying the URI. It is also possible to dynamically add nodes to the 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(遠隔セキュリティーロック)などがある。 OMA-DM is a standard for a remote device management protocol used in 3G mobile phones and WIMAX (Worldwide Interoperability for Microwave Access). The standardization organization is OMA (Open Mobile Alliance). OMA-DM manages devices in units of MO (Management Object) corresponding to DMT. Standard MOs provided by OMA-DM include FUMO (remote firmware update), SCOMO (remote SW update), Diamon (remote diagnosis), and LAWMO (remote security lock).
また、MDA(登録商標)(Model Driven Architecture)とは、モデルとして表現される構造的仕様のガイドラインを提供するソフトウェア開発手法である。MDAを用いると、GUI(Graphical User Interface)開発ツールを用いて記述されたモデルから、機械語プログラムを自動生成することが可能となる。MDAを用いた開発ツールとしては、例えば、BridgePointやRhapsodyなどがあり、組み込み系ソフトウェア開発に用いられている。また、MDAには、SQLの構文を一部取り入れたアクション記述言語をサポートしたExecutable UML(Unified Modeling Language)という手法がある。 MDA (registered trademark) (Model Drive Architecture) is a software development technique that provides guidelines for structural specifications expressed as models. When MDA is used, a machine language program can be automatically generated from a model described using a GUI (Graphical User Interface) development tool. Development tools using MDA include, for example, BridgePoint and Rhapsody, and are used for embedded software development. In addition, MDA has a method called Executable UML (Unified Modeling Language) that supports an action description language that partially incorporates the syntax of SQL.
ここで、OFS等の通信中継装置における通信を中継するための定義である中継定義情報を既存のプロトコルに従って更新しようとすると、通常のフロー制御の通信への影響が大きくなるおそれがあるという問題点がある。まず、既存のプロトコルに従って通信中継装置の中継定義情報を更新するには、OFC等の通信制御装置から更新用コマンド(例えばOpenflowの場合、flow_mod)を通信中継装置へ送信する必要がある。しかし、更新用コマンドは、中継定義情報の更新単位が限られているため、きめ細かな更新が行えない。そのため、更新内容によっては、通信制御装置と通信中継装置の間でフローエントリ間の状態整合処理等の通信量が膨大となり得る。よって、通常のフロー制御の通信への影響が大きくなるおそれがある。 Here, if the relay definition information, which is a definition for relaying communication in a communication relay apparatus such as OFS, is updated according to an existing protocol, there is a possibility that the influence on communication of normal flow control may increase. There is. First, in order to update the relay definition information of the communication relay device according to the existing protocol, it is necessary to transmit an update command (for example, flow_mod in the case of Openflow) to the communication relay device from a communication control device such as OFC. However, since the update command has a limited update unit for the relay definition information, it cannot be updated finely. Therefore, depending on the update contents, the amount of communication such as state matching processing between flow entries between the communication control device and the communication relay device can be enormous. Therefore, there is a possibility that the influence of normal flow control on communication becomes large.
本発明は、このような問題点を解決するためになされたものであり、通信への影響を抑えつつ、通信中継装置の中継定義情報を更新するための通信中継装置、通信中継システム、中継定義情報の更新方法及び更新プログラムを提供することを目的とする。 The present invention has been made in order to solve such problems, and a communication relay device, a communication relay system, and a relay definition for updating the relay definition information of a communication relay device while suppressing the influence on communication. An object is to provide an information update method and an update program.
本発明の第1の態様にかかる通信中継装置は、
装置間の通信の中継に関する定義である複数の中継定義情報を記憶する記憶部と、
前記中継定義情報を更新するための更新情報を取得する取得部と、
複数の前記中継定義情報を更新するための更新指示に応じた所定のタイミングにより、前記更新情報に基づく更新処理を実行する更新部と、
を備える。
The communication relay device according to the first aspect of the present invention includes:
A storage unit for storing a plurality of relay definition information, which is a definition related to relay of communication between devices;
An acquisition unit for acquiring update information for updating the relay definition information;
An update unit that executes an update process based on the update information at a predetermined timing according to an update instruction for updating a plurality of the relay definition information;
Is provided.
本発明の第2の態様にかかる通信中継システムは、
装置間の通信の中継に関する定義である複数の中継定義情報を保持し、当該中継定義情報に基づいて前記装置間の通信の中継を行う通信中継装置と、
前記通信中継装置を制御する通信制御装置と、
前記通信中継装置及び前記通信制御装置と接続された管理サーバと、を備え、
前記通信制御装置又は前記管理サーバは、前記中継定義情報を更新するための更新情報を前記通信中継装置へ送信し、
前記通信中継装置は、
前記更新情報を受信し、
複数の前記中継定義情報を更新するための指示に応じて、前記更新情報に基づく更新処理を所定のタイミングにより実行する。
The communication relay system according to the second aspect of the present invention includes:
A communication relay device that holds a plurality of relay definition information that are definitions relating to relay of communication between devices, and relays communication between the devices based on the relay definition information;
A communication control device for controlling the communication relay device;
A management server connected to the communication relay device and the communication control device,
The communication control device or the management server transmits update information for updating the relay definition information to the communication relay device,
The communication relay device is:
Receiving the update information;
In response to an instruction to update a plurality of the relay definition information, an update process based on the update information is executed at a predetermined timing.
本発明の第3の態様にかかる中継定義情報の更新方法は、
装置間の通信の中継に関する定義である複数の中継定義情報の更新方法であって、
前記複数の中継定義情報を保持する通信中継装置が、
前記中継定義情報を更新するための更新情報を取得し、
複数の前記中継定義情報を更新するための更新指示に応じた所定のタイミングにより、前記更新情報に基づく更新処理を実行する。
The update method of the relay definition information according to the third aspect of the present invention includes:
A method for updating a plurality of relay definition information, which is a definition related to relay of communication between devices,
A communication relay device holding the plurality of relay definition information,
Obtain update information for updating the relay definition information,
Update processing based on the update information is executed at a predetermined timing according to an update instruction for updating the plurality of relay definition information.
本発明の第4の態様にかかる更新プログラムは、
コンピュータに、
装置間の通信の中継に関する定義である中継定義情報を更新するための更新情報を取得する処理と、
複数の前記中継定義情報を更新するための更新指示に応じた所定のタイミングにより、前記更新情報に基づいて更新する更新処理と、
を実行させる。
The update program according to the fourth aspect of the present invention is:
On the computer,
Processing for obtaining update information for updating relay definition information that is a definition related to relay of communication between devices;
An update process for updating based on the update information at a predetermined timing according to an update instruction for updating a plurality of the relay definition information;
Is executed.
本発明の第5の態様にかかる通信中継装置は、
稼働系と待機系により冗長構成された複数の通信制御装置により制御され、
端末間の通信の中継に関する定義である複数の中継定義情報を保持し、
前記稼働系と前記待機系の切り替えの間に、前記複数の中継定義情報のうち2以上を更新するための更新情報に基づいて、当該2以上の中継定義情報の更新処理を開始する。
The communication relay device according to the fifth aspect of the present invention is:
Controlled by a plurality of communication control devices configured redundantly by the active system and the standby system,
Holds multiple relay definition information, which is a definition for relaying communication between terminals,
During the switching between the active system and the standby system, based on update information for updating two or more of the plurality of relay definition information, update processing of the two or more relay definition information is started.
本発明により、通信への影響を抑えつつ、通信中継装置の中継定義情報を更新するための通信中継装置、通信中継システム、中継定義情報の更新方法及び更新プログラムを提供することができる。 According to the present invention, it is possible to provide a communication relay device, a communication relay system, a relay definition information update method, and an update program for updating the relay definition information of the communication relay device while suppressing the influence on communication.
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。 Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In the drawings, the same elements are denoted by the same reference numerals, and redundant description will be omitted as necessary for the sake of clarity.
<発明の実施の形態1>
図1は、本発明の実施の形態1にかかる通信中継装置100の構成を示すブロック図である。通信中継装置100は、端末11と端末12との間の通信の中継を行う装置である。端末11と端末12とは、通信パケット等を、通信中継装置100を介して送受信する通信装置である。
<
FIG. 1 is a block diagram showing the configuration of the
通信中継装置100は、記憶部110と、取得部120と、更新部130とを備える。記憶部110は、中継定義情報111a、111b、・・・及び111nと、更新情報112とを記憶する記憶装置である。中継定義情報111a〜111nは、端末間の通信の中継に関する定義を示す情報である。例えば、通信パケットヘッダと照合するルールと、処理内容を定義したアクション(Action)と、フロー統計情報との組が識別情報と対応付けられたものである。更新情報112は、中継定義情報111a〜111nのうち2以上(例えば、中継定義情報111a及び111b)を更新するための更新内容の定義を含む情報である。例えば、更新対象の中継定義情報の識別情報や、更新後の中継定義情報の値等である。さらに、更新情報112は、中継定義情報111a〜111nのうち2以上を更新するための更新指示を含むものであってもよい。
The
取得部120は、更新情報112を外部から取得する。また、更新情報112に更新指示が含まれていない場合には、取得部120は、更新情報112とは別に、複数の中継定義情報を更新するための更新指示を取得する。更新部130は、更新指示に応じた所定のタイミングにより、更新情報112に基づく更新処理を実行する。
The
図2は、本発明の実施の形態1にかかる中継定義情報の更新処理の流れを示すフローチャートである。まず、通信中継装置100の記憶部110には予め中継定義情報111a〜111nが記憶されているものとする。尚、記憶部110には少なくとも2以上の中継定義情報が記憶されていればよい。
FIG. 2 is a flowchart showing a flow of relay definition information update processing according to the first exemplary embodiment of the present invention. First, it is assumed that the
通信中継装置100の取得部120は、外部から更新情報112を取得する(S11)。例えば、更新情報112には、中継定義情報111a及び111bに対する更新内容が含まれるものとする。次に、通信中継装置100の更新部130は、所定のタイミングであるか否かを判定する(S12)。所定のタイミングとしては例えば、上記更新指示により設定された時刻、又は、上記更新指示を受け付け又は検出したタイミング等であってもよい。
The
所定のタイミングでない場合は、所定時間経過後、再度、ステップS12を行う。所定のタイミングと判定された場合、更新部130は、更新情報に基づき、例えば、中継定義情報111a及び111bを更新する(S13)。
If it is not the predetermined timing, step S12 is performed again after the predetermined time has elapsed. When it is determined as the predetermined timing, the updating
このように、本発明の実施の形態1では、複数の中継定義情報の更新情報をまとめて取得し、1回のトリガ(更新タイミング)により更新処理を行うことで、更新のための通信量を抑制できる。つまり、通信中継装置100に対して外部から各中継定義情報に対する個別の更新命令を逐次、受信することを回避できる。そのため、端末間の通信への影響を抑えつつ、効率的に更新をすることができる。
As described above, in the first embodiment of the present invention, the update information of a plurality of relay definition information is collectively acquired and the update processing is performed by one trigger (update timing), so that the communication traffic for the update can be reduced. Can be suppressed. That is, it is possible to avoid sequentially receiving individual update commands for each relay definition information from the outside to the
尚、通信中継装置100は、他の複数の通信中継装置の間の通信の中継を行うものであってもよい。そのため、上述した中継定義情報は、装置間の通信の中継に関する定義を示す情報といえる。
Note that the
<発明の実施の形態2>
本発明の実施の形態2は、上述した実施の形態1の応用例であり、OpenFlow技術に基づくネットワークシステムを対象とした場合について説明する。但し、本発明は、OpenFlow技術に限定されない。また、以下では、通信中継装置の一例としてOFS(OpenFlow Switch)、通信中継装置を制御する通信制御装置の一例としてOFC(OpenFlow Controller)を用いる。また、中継定義情報の一例としてOFSに内蔵されるフローテーブルにおける各フローエントリを用いる。但し、通信中継装置、通信中継装置及び中継定義情報の例は、これらに限定されない。
<Embodiment 2 of the Invention>
The second embodiment of the present invention is an application example of the first embodiment described above, and a case where a network system based on the OpenFlow technology is targeted will be described. However, the present invention is not limited to the OpenFlow technology. In the following, OFS (OpenFlow Switch) is used as an example of a communication relay device, and OFC (OpenFlow Controller) is used as an example of a communication control device that controls the communication relay device. Moreover, each flow entry in the flow table built in OFS is used as an example of relay definition information. However, examples of the communication relay device, the communication relay device, and the relay definition information are not limited to these.
ここで、OFCがローリングアップデート機能をサポートした場合、下位互換性(backward compatibility)を保証しなければならない。そのため、過去バージョンの仕様(プロトコルの仕様など)に不十分な点が見つかったとしても、新バージョンで変更できないという問題があった。 Here, when the OFC supports the rolling update function, it is necessary to ensure backward compatibility. For this reason, even if an insufficient point is found in the specifications of the previous version (protocol specifications, etc.), there is a problem that it cannot be changed in the new version.
例えば、旧仕様の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、管理ネットワーク)の輻輳状態が発生する可能性がある。 For example, when the cookie value is changed between the old specification OFC (old ACT) and the new specification OFC (new ACT), after switching the cluster, the OFC sends a flow mod message to each OFS for each flow entry. There is a need. Here, cookie is identification information for the OFS to identify each flow entry in the flow table. Therefore, updating the cookie by the OFC rolling update results in a change of the ID of the flow entry. Therefore, when using the flow mod message, the existing flow entry is deleted, and the changed cookie value is set to the ID. A new flow entry is added. Therefore, when a large number of flow entries are registered in the OFS, a large number of flow mods proportional to the number of flow entries are transmitted from the OFC. Therefore, there is a possibility that a congestion state of a secure channel (management channel) that is a communication connection between the OFC and the OFS occurs.
ここで、cookieは64bitの情報であり、自由な値を設定することができる。そのため、単なるIDとしてではなく、OFCで使用する内部情報などを加えて使用する場合がある。内部情報としては、例えば、フローエントリ種別(Bloadcast,IP multicast,unicast等)等が考えられる。また、現行のOpenFlowの仕様では、フローエントリの統計情報の取得時に、cookie値の他にcookie maskの指定が可能であり、取得するフローエントリ情報のフィルタリングを行うこともできる。(すなわち、ある特定のフローエントリ種別の情報のみを取得することができる。) Here, cookie is 64-bit information, and a free value can be set. For this reason, there is a case where the internal information used in the OFC is added in addition to the simple ID. As the internal information, for example, a flow entry type (Broadcast, IP multicast, unicast, etc.) can be considered. In addition, in the current OpenFlow specification, when the statistical information of a flow entry is acquired, a cookie mask can be specified in addition to the cookie value, and the acquired flow entry information can be filtered. (In other words, only information of a specific flow entry type can be acquired.)
そのため、OFCのバージョンアップに伴い、内部情報の扱いが変更になり、その結果、フローエントリのうち、内容(照合ルールやアクション等)は一緒であるが、cookieの値のみ変更になるというケースが考えられる。 For this reason, the handling of internal information is changed with the upgrade of OFC, and as a result, the contents (matching rules, actions, etc.) of the flow entries are the same, but only the value of cookie is changed. Conceivable.
さらに、OFC側でのフローエントリの書き換えの内容によっては(cookie書き換えなど)、上述の通り、フローエントリが一時的に削除されるため、OFSに接続されている端末間の通信が途切れてしまう可能性もある。 Furthermore, depending on the content of the flow entry rewrite on the OFC side (cookie rewrite, etc.), as described above, the flow entry is temporarily deleted, so communication between terminals connected to the OFS may be interrupted. There is also sex.
そこで、本発明の実施の形態は、OFS内部で保持するフローエントリ等の情報の書き換え処理を、OFC主導ではなく、OFCのクラスタ切り替えの間にOFS主導で行うものである。本発明の実施の形態の概要の一部としては以下ものが挙げられる。例えば、OFSは、外部から与えられたトリガによって自らの内部のフローテーブルを編集する機能を有する。そして、OFSのフローテーブルの制御方式としては、OFC側のソフトウェアの更新時にOFSに対して編集処理起動のトリガを与えることによって、OFSのフローテーブルを更新後のOFCの制御仕様に同期させる。また、そのためにあらかじめ、OFSに対してフローエントリ更新用のソフトウェアを事前に送信し、OFSのクラスタフェイルオーバー中の新ACTに切り替わる間にフローエントリの更新を行うようにしてもよい。 Therefore, in the embodiment of the present invention, rewriting processing of information such as a flow entry held in the OFS is performed not by the OFC but by the OFS during the OFC cluster switching. The following is mentioned as a part of the outline of the embodiment of the present invention. For example, OFS has a function of editing its own flow table by a trigger given from the outside. The OFS flow table is controlled by synchronizing the OFS flow table with the updated OFC control specification by giving an OFS trigger to start editing processing when the OFC software is updated. For this purpose, flow entry update software may be transmitted to the OFS in advance, and the flow entry may be updated while switching to a new ACT during the cluster failover of the OFS.
また、ローリングアップデートによるOFCのアップデート後に、OFCからのフロー設定要求(flow modメッセージ)を用いずに、OFSに設定済みの既存のフローエントリを更新することも可能である。これにより、クラスタ切り替え後のネットワーク負荷を最小限にすることができる。 It is also possible to update an existing flow entry already set in the OFS without using a flow setting request (flow mod message) from the OFC after the OFC is updated by rolling update. Thereby, the network load after cluster switching can be minimized.
さらに、cookie値の書き換えの場合などには、フローエントリを一旦削除せずに、OFS内部で差分のみを書き換えるため、OFSに接続されている端末間の通信に切断が発生しないという効果も奏する。尚、既存のOpenFlowプロトコルを使用してcookieを書き換える場合には、上述の通りフローエントリを一回削除しなければならない。 Further, in the case of rewriting a cookie value or the like, since only the difference is rewritten inside the OFS without deleting the flow entry once, there is an effect that no disconnection occurs in communication between terminals connected to the OFS. When rewriting a cookie using the existing OpenFlow protocol, the flow entry must be deleted once as described above.
また、上述した実施の形態1から次のように改良しても良い。例えば、上述した図1の更新情報112として、中継定義情報(フローエントリ)に対応する新たな識別情報(更新後のcookie値)を含み、前記更新部は、更新処理により中継定義情報における識別情報を、更新情報に含まれる新たな識別情報へ更新することが望ましい。上述の通り、フローエントリのID(cookie)のみを更新する場合、従来はフローエントリ自体の削除及び新規追加が必要であり、その場合、当該フローエントリに基づく既存の端末間通信が中断されることになっていた。しかし、フローエントリのIDのみを更新することにより、端末間の既存の通信を中断することがなくなる。
Further, the following improvement may be made from the first embodiment described above. For example, the
さらに、前記取得部は、前記複数の中継定義情報の更新内容に応じた更新処理が実装された更新プログラムを前記更新情報として取得し、前記更新部は、前記更新プログラムを前記所定のタイミングに実行することにより、前記更新処理を行うとよい。これにより、既存のプロトコルに依存しない柔軟な(きめ細かな)更新処理を実現できる。また、フローエントリ数にかかわらず、一種類の更新プログラムを送信するだけで実現できるため、更新のための通信量を抑制することができる。 Further, the acquisition unit acquires, as the update information, an update program in which an update process according to update contents of the plurality of relay definition information is implemented, and the update unit executes the update program at the predetermined timing By doing so, the update process may be performed. Thereby, a flexible (fine) update process that does not depend on an existing protocol can be realized. Further, since it can be realized only by transmitting one type of update program regardless of the number of flow entries, the traffic for updating can be suppressed.
また、前記通信中継装置は、稼働系(ACT)と待機系(SBY)により冗長構成された複数の通信制御装置(例えば、OFC)により制御され、前記更新部は、前記稼働系と前記待機系の切り替え(例えば、ローリングアップデート又は単に、クラスタ切り替え)を前記所定のタイミングとして、前記更新処理を開始することが望ましい。これにより、より早くOFCとの同期を行うことができる。また、系切替中に更新処理が完了しなくても、既存の同期処理(例えば、フローエントリ間の状態整合処理)で残りの更新処理を行うことで、全て既存の同期処理で対応する場合に比べて、通信負荷を低減できる。 The communication relay device is controlled by a plurality of communication control devices (for example, OFC) configured redundantly by an active system (ACT) and a standby system (SBY), and the update unit includes the active system and the standby system It is desirable to start the updating process with the switching (for example, rolling update or simply cluster switching) as the predetermined timing. Thereby, synchronization with OFC can be performed earlier. In addition, even if the update process is not completed during system switching, if the remaining update process is performed in the existing synchronous process (for example, the state matching process between flow entries), all the existing synchronous processes can be used. In comparison, the communication load can be reduced.
さらに、前記更新部は、前記通信制御装置と当該通信中継装置との間の制御のための接続(例えば、セキュアチャネル)が切断されたことを検出した場合を、前記所定のタイミングとして前記更新処理を開始すると良い。このように、OFCの系切替を自ら検出することで、外部からの指示によらずに更新を開始できる。 Further, the update unit detects the disconnection of a connection (for example, a secure channel) for control between the communication control device and the communication relay device as the predetermined timing. Good to start with. In this way, by detecting the OFC system switching by itself, the update can be started without an external instruction.
さらに、前記取得部は、外部から前記更新処理の開始要求を前記更新指示として取得し、前記更新部は、前記開始要求の取得後に前記接続が切断されたことを検出した場合に、前記更新処理を開始すると良い。これにより、系切替とは無関係な切断時に不必要に更新処理を行うことを防止し、更新開始タイミングを適切に制御できる。 Furthermore, the acquisition unit acquires the update process start request from the outside as the update instruction, and the update unit detects the update process when detecting that the connection is disconnected after the start request is acquired. Good to start with. Thereby, it is possible to prevent unnecessary update processing at the time of disconnection unrelated to system switching, and to appropriately control the update start timing.
また、前記取得部は、前記所定のタイミングの基準となる時刻情報を前記更新情報に含めて取得し、前記更新部は、前記接続が切断されたことを検出した場合に、前記取得した時刻情報に基づいて前記所定のタイミングであるか否かを判定し、当該所定のタイミングであると判定した場合に、前記更新処理を開始すると良い。これにより、不必要な更新処理を行うことを防止し、更新開始タイミングを適切に制御できる。 In addition, the acquisition unit acquires time information serving as a reference for the predetermined timing in the update information, and the update unit detects the acquired time information when detecting that the connection is disconnected. Whether or not the predetermined timing is reached is determined, and when it is determined that the predetermined timing is reached, the update process may be started. Thereby, it is possible to prevent unnecessary update processing and appropriately control the update start timing.
さらに、前記通信中継装置は、前記稼働系と前記待機系の切り替えの前に前記更新情報を取得していることが望ましい。これにより、更新の開始時の負荷を低減し、更新処理の迅速な開始を実現できる。 Furthermore, it is preferable that the communication relay device acquires the update information before switching between the active system and the standby system. As a result, the load at the start of the update can be reduced, and the update process can be started quickly.
また、本実施の形態2にかかる通信中継装置は、次のように表現することもできる。すなわち、稼働系と待機系により冗長構成された複数の通信制御装置により制御され、端末間の通信の中継に関する定義である中継定義情報を保持し、前記稼働系と前記待機系の切り替えの間に、前記中継定義情報を更新するための更新情報に基づいて、当該中継定義情報の更新処理を開始する。このように、少なくとも更新処理の開始を系切替中とすることで、より早くOFCとの同期を行うことができる。また、系切替中に更新処理が完了しなくても、既存の同期処理(例えば、フローエントリ間の状態整合処理)で残りの更新処理を行うことで、全て既存の同期処理で対応する場合に比べて、通信負荷を低減できる。 The communication relay device according to the second embodiment can also be expressed as follows. That is, it is controlled by a plurality of communication control devices configured redundantly by an active system and a standby system, holds relay definition information that is a definition related to relay of communication between terminals, and is switched between the active system and the standby system. Then, based on the update information for updating the relay definition information, update processing of the relay definition information is started. In this way, at least the start of the update process is during system switching, so that synchronization with the OFC can be performed earlier. In addition, even if the update process is not completed during system switching, if the remaining update process is performed in the existing synchronous process (for example, the state matching process between flow entries), all the existing synchronous processes can be used. In comparison, the communication load can be reduced.
さらに、本発明の実施の形態2を通信中継システムとする場合は、次のように表現することもできる。すなわち、通信中継システムは、装置間の通信の中継に関する定義である複数の中継定義情報を保持し、当該中継定義情報に基づいて前記装置間の通信の中継を行う通信中継装置と、前記通信中継装置を制御する通信制御装置と、前記通信中継装置及び前記通信制御装置と接続された管理サーバと、を備え、前記通信制御装置又は前記管理サーバは、前記中継定義情報を更新するための更新情報を前記通信中継装置へ送信し、前記通信中継装置は、前記更新情報を受信し、複数の前記中継定義情報を更新するための指示に応じて、前記更新情報に基づく更新処理を所定のタイミングにより実行する。 Furthermore, when the second embodiment of the present invention is a communication relay system, it can be expressed as follows. That is, the communication relay system holds a plurality of relay definition information that is a definition related to relay of communication between devices, and relays communication between the devices based on the relay definition information, and the communication relay A communication control device for controlling a device; and the communication relay device and a management server connected to the communication control device, wherein the communication control device or the management server updates the relay definition information. Is transmitted to the communication relay device, and the communication relay device receives the update information and performs an update process based on the update information at a predetermined timing in response to an instruction to update the plurality of relay definition information. Run.
続いて、本発明の実施の形態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ネットワーク上で接続されている。
Subsequently, Embodiment 2 of the present invention will be specifically described below.
FIG. 3 is a block diagram showing a configuration of the
OFC21とOFC22とは、稼働系(ACT)と待機系(SBY)により冗長構成(クラスタ構成)された2台の通信制御装置である。図3では、稼働系(ACT)をOFC22、待機系(SBY)をOFC21としているが、本発明の実施の形態がこれに限定されないことは勿論である。また、OFCは3台以上であってもよい。OFC21及び22のそれぞれは、例えば、UNIX(登録商標)サーバにより実現可能である。また、OFC21及び22は、共通の仮想IPアドレスが割り当てられている。そのため、OFS31〜33の側では、OFC21又は22のいずれが稼働系(ACT)であり、待機系(SBY)であるかを意識する必要が無い。
The
ここで、ACT側のOFC22とOFS31〜33との間は、セキュアチャネルにより接続されている。また、SBY側のOFC21は、OFS31〜33のトポロジーやフローテーブル情報などの情報や、各OFSのポート状態変更通知などのイベントをACT側のOFC22から取得することができる。そして、ACT側のOFC22とSBY側のOFC21との制御ソフトウェアのバージョンが等しい場合には、互いのデータが完全に同期される。
Here, the
管理サーバ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に対してソフトウェア更新要求を送信する。
The
OFS31、32及び33は、内部に保存されたフローテーブルに基づいて、端末11〜16の間の通信を中継する。OFS31〜33は、例えば、組み込みLinux(登録商標)が実装された組み込み機器である。OFS31〜33のそれぞれは、管理ネットワーク経由で、OFC21及び22並びに管理サーバ40と通信を行うことができる。OFS31〜33は、例えば、OMA−DMなどの組み込み機器向けのデバイス管理プロトコルが実装されているOMA−DMクライアントが組み込まれているものとする。
The
ここで、本実施の形態では、OFS31〜33からOFC21及び22並びに管理サーバ40に対してTCP(Transmission Control Protocol)コネクションを確立させるものとする。TCPコネクションの接続のタイミングは、管理ネットワークの接続時(OFSの起動又は再起動に伴うネットワーク接続や、管理ネットワーク用のイーサーネットケーブルを動作中のOFSに接続する場合など)、又は、OFS内部の設定情報の更新時などが挙げられるが、これらに限定されない。ここで、OFSとOFCとの間は、セキュアチャネル接続であり、OFSと管理サーバとの間は、デバイス管理プロトコルのための接続である。
Here, in the present embodiment, a TCP (Transmission Control Protocol) connection is established from the
また、OFS31〜33は、接続を行うOFCのIPアドレスを内部設定情報として保持するものとする。さらに、OFS31〜33は、登録されたIPアドレスを持つOFS接続の有無を定期的に監視する。そして、OFS31〜33は、対象となるOFCが管理ネットワークに接続されたことを認識すると、当該OFCに対してセキュアチャネルの接続処理を行う。
Moreover, OFS 31-33 shall hold | maintain the IP address of OFC which connects as internal setting information. Further, the
また、OFS31〜33は、OFC21及び22の系切り替えの間を、フローテーブルの更新処理の開始タイミングとする。すなわち、OFS31〜33は、OFCの系切り替えのタイミングで、管理サーバ40から配信された更新ソフトウェアの実行を行う。但し、フローテーブル内の全エントリの消去などの単純な処理に関しては、管理サーバ40からのトリガを契機として行うこともできる。この場合は、管理サーバ40から配信された更新ソフトウェアを用いる必要がない。
Further, the
端末11〜16は、上述した図1の端末11と端末12と同等の通信装置である。そのため、端末11〜16は、OFS31〜33を介して互いに通信パケット等の送受信を行う。
The
開発端末50は、開発ユーザ等が使用することにより、OFS31〜33の更新ソフトウェアを生成する装置である。生成された更新ソフトウェアは、管理サーバ40を介してOFS31〜33へ配信される。ここで、本実施の形態にかかる更新ソフトウェアは、組込み機器である各OFS内で高速に書き換え処理を行い、省メモリ化を実現するものである。例えば、当該更新ソフトウェアは、機械語のバイナリコードで実現されたものである。または、当該更新ソフトウェアは、以下のような形態でもよい。例えば、Java(登録商標)に代表される中間言語、LLVM(Low Level Virtual Machine)のような共通実行環境で実行されるプログラムであるとよい。または、Luaなどのスクリプト言語やPythonなどのインタプリンタ言語であってもよい。
The
また、本実施の形態にかかる更新ソフトウェアは、更新対象のフローエントリ及び更新内容が指定されている。更新対象のフローエントリには2以上の指定が可能である。更新内容としては、更新後のcookie、上述したルール、アクション、又は、フロー統計情報の各値を、フローエントリごとに指定することができる。そして、当該更新ソフトウェアは、更新対象のフローエントリに対して指定された更新内容により更新する処理を含む。 In the update software according to the present embodiment, the update target flow entry and the update contents are specified. Two or more designations can be made for the flow entry to be updated. As the update contents, the updated cookie, the above-described rule, action, or each value of the flow statistical information can be designated for each flow entry. Then, the update software includes a process of updating with the update content designated for the flow entry to be updated.
また、当該更新ソフトウェアは、実行を開始する日付及び時刻を示す実行開始時刻情報を含むものであってもよい。または、デバイス管理プロトコル内に実行開始時刻情報を含めても良い。その場合、OFS31〜33が管理サーバ40から更新ソフトウェアをダウンロードする際に、併せて、実行開始時刻情報を取得してもよい。
The updated software may include execution start time information indicating the date and time at which execution is started. Alternatively, execution start time information may be included in the device management protocol. In that case, when the
または、開発端末50は、更新ソフトウェアではなく、各フローエントリの更新内容のデータのみを生成してもよい。更新内容としては、置換対象のフローエントリや、置換対象のcookie、上述したルール、アクション、又は、フロー統計情報の各値のみであってもよい。その場合、管理サーバ40は、各OFSに対して更新内容を配信することとなる。以上のことから、更新ソフトウェア又は更新内容は、上述した実施の形態1の更新情報の一例といえる。
Alternatively, the
図4は、本発明の実施の形態2にかかる管理サーバ40及びOFS31の概要構成を示すブロック図である。管理サーバ40は、構成管理機能401と、OFS制御機能402と、OFS及び更新ソフトウェア管理機能403と、OMA−DMサーバ404とを備える。構成管理機能401は、管理ネットワークに接続されているOFS31〜33の構成情報を管理する。構成管理機能401は、デバイス管理プロトコル経由での各OFSとのネゴシエーションを契機に、OFS情報を取得して内部に登録する。
FIG. 4 is a block diagram showing a schematic configuration of the
OFS及び更新ソフトウェア管理機能403は、OFS31〜33に対して、更新ソフトウェアの配信や更新開始のトリガM1を送信する。尚、OFS及び更新ソフトウェア管理機能403は、更新ソフトウェアの代わりに後述する更新内容のデータ自体を配信してもよい。また、OFS及び更新ソフトウェア管理機能403は、OFS31〜33のそれぞれが更新タイミングを検出する場合には、必ずしも更新開始のトリガを送信する必要はない。OFS制御機能402は、OFS及び更新ソフトウェア管理機能403からの要求を受けて、OFC21及び22に対してクラスタ切り替えM2を行う。
The OFS and update
また、OFS及び更新ソフトウェア管理機能403は、OFS31〜33に対して、フローテーブルなどを書き換えるための更新ソフトウェアを事前に配信することが望ましい。ここで、OFS及び更新ソフトウェア管理機能403は、例えば、深夜などtrafficの少ない時間帯に更新ソフトウェアを配信すると良い。
Further, it is desirable that the OFS and update
尚、OFS及び更新ソフトウェア管理機能403は、更新開始トリガと共に、更新ソフトウェアを配信することもできる。ここで、OFCの系切り替えの時間は、数十秒を想定している。そのため、更新開始トリガと共に、更新ソフトウェアを配信する場合、系切り替え中に更新処理を開始できない可能性がある。また、系切り替え中に更新処理を開始できたとしても、終了ができない場合には、系切り替え後に大量のパケットインやフローエントリ設定処理などが送信される可能性がある。そのため、系切り替え前後は、管理ネットワークの負荷をできるだけ下げる必要性が高い。よって、更新ソフトウェアを事前に配信する方法が望ましい。
The OFS and update
尚、OMA−DMサーバ404は、上述した通り、組み込み機器向けのデバイス管理プロトコルであるOMA−DMが実装されたサーバ機能を有する。
Note that, as described above, the OMA-
OFS31は、テーブル編集機能311と、OFS更新管理機能312と、OMA−DMクライアント313とを備える。尚、図4では、OFS32及び33は、OFS31と同等であるため図示及び説明を省略する。テーブル編集機能311は、内部のテーブル情報(不図示)(フローテーブル、グループテーブルなど)を編集(更新)する手段である。ここで、テーブル編集機能311は、管理サーバ40から取得した更新ソフトウェアを実行し、当該更新ソフトウェアの処理によりテーブルの所定のフローエントリを書き換える。
The
また、テーブル編集機能311は、管理サーバ40から取得した更新内容により、指定されたフローエントリの部分的な置換を行う。例えば、更新内容にcookieのみが指定されている場合には、テーブル編集機能311は、更新ソフトウェアの実行により、フローエントリのうちcookieのみを更新することができる。当該更新プログラムは、機械語等で作成されているため、OFSのハードウエアに直接アクセスすることが可能であるため、フローエントリを消さずにcookie書き換えることが可能である。従って、既存のフローエントリの削除及び新規のフローエントリの追加をする必要がなく、ルールやアクション等に変更がなければ、処理中の端末間の通信が中断されることはない。
Further, the
さらに、テーブル編集機能311は、トリガにより各テーブルの全エントリを消去することや、トリガにより指定されたエントリ、又は、条件に合うエントリを消去するようにしてもよい。
Further, the
OFS更新管理機能312は、管理サーバ40からの配信される更新ソフトウェアや更新内容である更新情報を取得する。また、OFS更新管理機能312は、管理サーバ40から更新開始のトリガを受信する。ここで、トリガとしては、プロトコルによる明示的な指示、セキュアチャネルの切断による暗黙的な指示、更新開始時刻の指示、これらの2つ以上の組み合わせ等が挙げられる。
The OFS
まず、トリガの例としてプロトコルによる明示的な指示は、既存のflow modメッセージとは異なり、具体的な更新対象のフローエントリの指定は含む必要がなく、最低限、開始の指示が含まれていればよい。そして、外部からフローテーブルの更新開始用のメッセージを、新たにプロトコルに規定することで実現できる。また、例えば、管理サーバ40がOFC21及び22に対してローリングアップデートの指示(クラスタ切り替えM2)を行うと共に、OFS31〜33に対して更新開始の指示を行っても良い。または、当該トリガと共に、更新ソフトウェア又は更新内容の配信を含めてもよい。
First, as an example of a trigger, an explicit instruction by a protocol is different from an existing flow mod message, and it is not necessary to include a specific specification of a flow entry to be updated, and at least a start instruction is included. That's fine. This can be realized by newly defining a flow table update start message from the outside in the protocol. For example, the
次に、トリガの例としてセキュアチャネルの切断による暗黙的な指示は、通常、OFCとOFSの間で確立されているOpenFlowメッセージ送受信可能なセキュアチャネルが切断されたことを契機とするものである。つまり、OFCのローリングアップデートが行われる場合、系切替前に、当初のACT側(旧ACT側)のOFCは、各OFSとのセキュアチャネルを切断する。そして、各OFSは、セキュアチャネルが切断されたことを検出する。尚、セキュアチャネルの切断の検出については後述する。但し、OFSからOFCへの片方向通信のみを対象としたセキュアチャネル、つまり、SBY側のOFS専用のread onlyチャンネルの切断は対象としない。尚、セキュアチャネルは、上述の通りOFCとOFSとの間の管理ネットワーク内の接続を意味する。そのため、セキュアチャネルが切断されても、図3のOpenFlowネットワーク側の通信(OFS側のフローテーブルに登録されているフローエントリにヒットするもの)には影響しない。 Next, as an example of a trigger, an implicit instruction by disconnecting a secure channel is usually triggered by disconnection of a secure channel established between OFC and OFS that can transmit and receive an OpenFlow message. That is, when OFC rolling update is performed, the OFC on the original ACT side (old ACT side) disconnects the secure channel with each OFS before system switching. Each OFS detects that the secure channel is disconnected. The detection of disconnection of the secure channel will be described later. However, disconnection of a secure channel only for one-way communication from OFS to OFC, that is, a read-only channel dedicated to OFS on the SBY side is not targeted. Note that the secure channel means a connection in the management network between the OFC and the OFS as described above. Therefore, even if the secure channel is disconnected, communication on the OpenFlow network side in FIG. 3 (those that hit a flow entry registered in the flow table on the OFS side) is not affected.
続いて、トリガの例として更新開始時刻の指示は、OFS31〜33がトリガを受信したタイミングで更新を開始するのではなく、受信した更新開始時刻を内部に設定し、当該時刻になった場合に更新を開始するものである。尚、更新開始時刻は、上述した実行開始時刻情報としてもよい。
Subsequently, as an example of the trigger, the update start time instruction is not to start the update at the timing when the
最後に、トリガの例として上記の組み合わせとは、例えば、更新ソフトウェア等の取得イベントと旧ACT側のOFCとのセキュアチャネルの切断検出イベントの2つのイベントの論理積が真になった場合などが挙げられる。さらに、当該2つのイベントの論理積が真になった時刻が上記更新開始時刻と異なる場合、OFS31〜33は更新処理を開始しないようにしてもよい。例えば、OFCの系切替が不調な場合には、セキュアチャネルが切断されていない可能性もあり、そのような場合にはOFSの更新処理も開始しないことが望ましいためである。
Finally, as an example of a trigger, the above combination is, for example, a case where the logical product of two events of an acquisition event of update software or the like and a secure channel disconnection detection event of the old ACT OFC is true. Can be mentioned. Furthermore, when the time when the logical product of the two events becomes true is different from the update start time, the
また、OFS31〜33は、フローテーブルの更新処理後、つまり、更新ソフトウェアの実行終了後に、切替後の新ACTのOFCとのセキュアチャネルの接続を確立する。その後、OFS31〜33は、当該更新ソフトウェアを削除してもよい。
The
ここで、新ACTに切り替わるまでにフローテーブルの更新処理が完了しなかった場合は、新ACTに切り替え後に更新ソフトウェアの実行を中断し、別途、既存の状態整合方式で未完了の更新を行っても構わない。すなわち、新ACTのOFCは、OFSから、更新が未完了のフローエントリの情報を逐次読み出し、差分をflow modメッセージにより設定し直すようにしてもよい。このように、既存の状態整合方式との組み合わせであっても、OFCからのフローエントリ再設定処理が大幅に減少するため、本発明の実施の形態は有効だと言える。 Here, if the update process of the flow table is not completed before switching to the new ACT, the execution of the update software is interrupted after switching to the new ACT, and an incomplete update is separately performed using the existing state matching method. It doesn't matter. That is, the OFC of the new ACT may sequentially read the information of the flow entry that has not been updated from the OFS and reset the difference using a flow mod message. Thus, the embodiment of the present invention can be said to be effective because the flow entry resetting process from the OFC is greatly reduced even in combination with the existing state matching method.
尚、OMA−DMクライアント313は、上述した通り、組み込み機器向けのデバイス管理プロトコルであるOMA−DMが実装されたクライアント機能を有する。
As described above, the OMA-
図5は、本発明の実施の形態2にかかるOFS31のハードウェア構成を示すブロック図である。OFS31は、OpenFlow制御IC61と、NOR FLASH MEMORY63と、CPU(Central Processing Unit)64と、イーサネット(登録商標)ドライバIC65と、HDD(Hard Disk Drive)66と、SDRAM(Synchronous DRAM)67とを備える。
FIG. 5 is a block diagram showing a hardware configuration of the
OpenFlow制御IC61は、専用のハードウエアとしてOFSに組み込まれている。OpenFlow制御IC61は、フローエントリ設定済みのOpenFlowネットワーク間の通信を、CPUを介さず、高速に行うことができる。ここでは、OpenFlow制御IC61は、ASIC(Application Specific Integrated Circuit)とDSP(Digital Signal Processor)とを備える構成とする。
The
OpenFlow制御IC61は、イーサネット制御部611と、SRAM(Static Random Access Memory)612とを備える。イーサネット制御部611は、ポート601〜603を介してOFS32、端末11及び12との間のイーサネット通信を制御する。SRAM612は、フローテーブル613と、グループテーブル614とを記憶する。フローテーブル613は、複数のフローエントリ615を含む。各フローエントリ615は、cookie616その他、ルール、アクション及びフロー統計情報等(不図示)を含む。グループテーブル614は、複数のグループエントリ(不図示)を含む。
The
OpenFlow制御IC61と、NOR FLASH MEMORY63と、CPU64と、イーサネットドライバIC65とは、アドレス及びデータバス62を介して接続されている。NOR FLASH MEMORY63は、書き換え可能なROM(Read Only Memory)として位置付けられる。NOR FLASH MEMORY63は、ブートローダのイメージなどを記憶している。イーサネットドライバIC65は、管理ネットワークを介してOFC21及び22並びに管理サーバ40との通信を行う。
The
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のカーネルイメージと、更新ソフトウェアや更新内容が格納される。
The
また、CPU64は、OpenFlowプロトコルの組み立てや解読といった、端末間の通信の中継処理の一部を行う。さらに、CPU64は、管理サーバ40との通信のための処理も行う。CPU64は、管理サーバ40から取得した更新ソフトウェア等をHDD66に格納する。そして、CPU64は、更新処理を開始するために所定のタイミングであるか否かの判定を行い、所定のタイミングである場合にHDD66から更新ソフトウェアを読み込み、実行する。これにより、更新処理が開始される。
Further, the
図6は、本発明の実施の形態2にかかるOFS内のCPU上で動作するソフトウェア構成の概念図である。本発明の実施の形態2にかかるOFSのOSとしては、組み込みLinux72が実装されている。OpenFlowSwitch制御/管理アプリ73は、ユーザ空間で動作するUNIXアプリケーションである。OpenFlowSwitch制御/管理アプリ73は、OpenFlow制御IC61の制御処理、OpenFlowプロトコルの組み立て及び解読処理、並びに、OFCとの通信処理などを行う。OpenFlow制御IC用ドライバ71は、カーネル空間で動作するカーネルオブジェクトで、OpenFlow制御IC61に対するレジスタ制御などを行う。
FIG. 6 is a conceptual diagram of a software configuration that operates on the CPU in the OFS according to the second embodiment of the present invention. An embedded
OFS更新アプリ75は、本発明の実施の形態2の中心的な処理が実装された、ユーザ空間で動作するUNIXアプリケーションである。OFS更新アプリ75は、管理サーバ40との通信処理やダウンロードした更新ソフトウェアの管理及び制御などを行う。デバイス管理ライブラリ76は、OMA‐DMなどのデバイス管理プロトコルなどが実装されている。ログフィルタリング処理アプリ74は、ログフィルタリングルール77に基づいてログ情報を解析(フィルタリング)し、解析結果をOFS更新アプリ75へ通知する。すなわち、ログフィルタリング処理アプリ74は、ログフィルタリングルール77に基づいてsyslogなどからセキュアチャネルの切断通知を検出し、OFCとのセキュアチャネルが切断された旨を通知する。ログフィルタリング処理アプリ74により、OpenFlowSwitch制御/管理アプリ73側に、OFS更新アプリ75に特化したロジックを実装する必要がなくなる。
The
フローテーブル更新アプリ78は、図4のテーブル編集機能311に相当する機能が実装されたアプリケーションである。DMT制御ライブラリ791は、DMTを制御するための共有ライブラリである。ユーザ作成ライブラリ792は、各種の共通的な処理を関数化した共有ライブラリである。
The flow
ここで、OFS31〜33は、管理サーバ40から配信されるフローテーブル更新アプリ78及びDMT制御ライブラリ79を受信し、OFS更新アプリ75により、予め定められたディレクトリへ格納する。さらに、OFS31〜33は、管理サーバ40から配信されるカーネルオブジェクト(不図示)も受信できる。また、OFS31〜33は、管理サーバ40から新たな更新ソフトウェアを受信した場合、既存のOFS更新アプリ75やログフィルタリング処理アプリ74を新たな更新ソフトウェアにより置換する。
Here, the
続いて、更新ソフトウェアの配信処理と、その後のOFS内部のフローテーブル更新処理の実施例について、図7及び図8のシーケンス図を用いて説明する。ここでは、OFC及びOFSの全てで、フローエントリのcookieの値のみを更新するものとする。そのため、ここで対象とする更新ソフトウェアは、OFSのOpenFlow制御IC61の内部に存在するフローテーブル613のcookieフィールド(cookie616)を直接変更するソフトウェアであるものとする。また、当該更新ソフトウェアは、高速書き換え処理及び組込み機器であるOFSの省メモリ化のため、機械語のバイナリデータであるものとする。但し、上述の通り、更新内容はこれに限定されない。
Next, an example of update software distribution processing and subsequent flow table update processing in the OFS will be described with reference to the sequence diagrams of FIGS. 7 and 8. Here, it is assumed that only the cookie value of the flow entry is updated in all of the OFC and OFS. For this reason, it is assumed that the target update software is software that directly changes the cookie field (cookie 616) of the flow table 613 existing in the
図7は、本発明の実施の形態2にかかる更新ソフトウェアの配信処理の流れを説明するためのシーケンス図である。ここでは、あらかじめ管理サーバ40とOFS31の間のTCPコネクションが確立されているものとする。また、TCPコネクションが確立するタイミングは、OFSの管理ネットワークへの接続時である。そして、当該接続のタイミングでOFS固有の情報(IPアドレスなど)が、管理サーバ40に登録されるものとする。
FIG. 7 is a sequence diagram for explaining the flow of the update software distribution process according to the second embodiment of the present invention. Here, it is assumed that a TCP connection between the
まず、管理サーバ40は、配信対象のOFS(例えば、OFS31)に対して更新ソフトウェア配信通知を送信する(S101)。ここで、更新ソフトウェア配信通知は、例えば、OMAで規定されたsyncML形式のXMLファイルであるが、これに限定されない。そして、更新ソフトウェア配信通知には、更新ソフトウェアが保存されているURLや更新ソフトウェアのOFS側での実行開始時刻情報が含まれる。
First, the
そして、例えば、OFS31は、管理サーバ40から更新ソフトウェア配信通知を受信する。次に、OFS31は、更新ソフトウェアのダウンロード要求を管理サーバ40へ送信する(S102)。具体的には、OFS31は、更新ソフトウェア配信通知に含まれる更新ソフトウェアが保存されているURLに対して更新ソフトウェアの取得要求を行う。
For example, the
その後、管理サーバ40は、OFS31からのダウンロード要求に応じて、更新ソフトウェアをOFS31へ送信する(S103)。すなわち、OFS31は、管理サーバ40から更新ソフトウェアを取得し、HDD66に保存する。また併せて、OFS31は、実行開始時刻情報を取得し、HDD66に保存する。
Thereafter, the
図8は、本発明の実施の形態2にかかるOFCの系切替時におけるOFSのフローテーブル更新処理の流れを説明するためのシーケンス図である。尚、図8は図7の更新ソフトウェアの配信後であり、OFS31〜33には更新ソフトウェアが格納済みであるものとする。 FIG. 8 is a sequence diagram for explaining the flow of the OFS flow table update process during OFC system switching according to the second embodiment of the present invention. 8 is after distribution of the update software of FIG. 7, and it is assumed that the update software has already been stored in the OFS 31-33.
まず、管理サーバ40は、ACT側(稼働系)であるOFC22に対して、クラスタ切り替え要求コマンドを送信する(S201)。例えば、管理サーバ40は、OFC22とSSHによるリモート接続を行い、UNXシェル上で、クラスタ切り替え要求のコマンドを発行する。これにより、クラスタ切り替えの要求を実現できる。
First, the
次に、ACT側のOFC22は、各OFSとの間のセキュアチャネルを切断する(S202)。具体的には、OFC22は、OFS31〜33のそれぞれとの間のTCPコネクションを切断する。
Next, the
続いて、ACT側のOFC22は、SBY側のOFC21に対してACT遷移要求(メッセージ)を発行する(S203)。これに伴い、SBY側のOFC21はACTへの遷移を開始する。また、ACT側のOFC22は、OSの再起動処理を行う(S2050)。そして、再起動後に、OFC22はSBY(待機系)として動作する。
Subsequently, the ACT-
ここで、ステップS202のセキュアチャネルの切断後、各OFSは、OFS更新処理を開始する(S204)。具体的には、まず、各OFSは、ログフィルタリング処理アプリ74により自身とOFC22との間のセキュアチャネルが切断されたことを検出する。そして、各OFSのOFS更新アプリ75は、既に取得済みの実行開始時刻情報内であることを確認し、更新ソフトウェアの実行を開始する。
Here, after disconnecting the secure channel in step S202, each OFS starts an OFS update process (S204). Specifically, each OFS first detects that the secure channel between itself and the
そして、各OFSは、フローテーブルの更新処理を行う(S2051、S2052等)。ここで、更新ソフトウェアに更新内容として各フローエントリのcookie値のみが設定されている場合、各OFSは、該当するフローエントリのcookieフィールドのみを直接書き換える。または、各OFSは、cookieのみ更新されたフローエントリ情報を新たに追加し、この新フローエントリ追加後に旧フローエントリを削除するようにしてもよい。この場合であっても、フローエントリの更新処理に伴うOpenFlowネットワークの切断を回避することができる。 Each OFS performs a flow table update process (S2051, S2052, etc.). Here, when only the cookie value of each flow entry is set as update contents in the update software, each OFS directly rewrites only the cookie field of the corresponding flow entry. Alternatively, each OFS may newly add flow entry information in which only cookie is updated, and delete the old flow entry after the addition of the new flow entry. Even in this case, it is possible to avoid disconnection of the OpenFlow network due to the flow entry update process.
ACTとSBYのクラスタ切り替え後、新ACT側であるOFC21と新SBY側であるOFC22との間で、OFSのトポロジー情報やOFC内で保有するフローエントリ情報の同期が行われる(S206)。これにより、新ACT側であるOFC21は、フローエントリのcookie情報が新しい値に書き換えられる。
After switching the cluster between ACT and SBY,
その後、各OFSは、新ACT側のOFC21との間でセキュアチャネルの接続を確立する(S207)。具体的には、各OFSは、新ACT側のOFC21に対してTCPコネクションの接続を行う。
Thereafter, each OFS establishes a secure channel connection with the
そして、新ACTのOFC21は、各OFSとの間でフローエントリの状態整合処理を行う(S208)。当該フローエントリの状態整合処理には、flow modメッセージ等を用いることができる。そのため、OFS側のフローテーブル更新処理が新ACTの起動までに終了しない場合でも、それ以後の更新処理に状態整合処理を用いることで、OFCとOFS間のフローテーブルの状態ずれを防ぐことができる。つまり、OFSが単独で実行する更新ソフトウェアによる更新処理と、OFCとの状態整合処理とを組み合わせることでも、同様の効果を得ることができる。そして、この場合でも、更新ソフトウェアによる更新処理においては、OFCとの通信量は抑制されるため、全ての更新処理を状態整合処理で行う場合に比べて、管理ネットワークの通信量が減少し、端末間の通信の中継への影響を抑えることができる。
Then, the
このように、本発明の実施の形態2にでは、ACTとSBYでフローエントリの仕様が異なっていても、ローリングアップデートを行う場合に、クラスタ切り替え後の大量のflow modの送信を抑えることができる。その理由は、本発明の実施の形態2により、OFS側で自律的にフローテーブルの書き換えを行うようになるため、OFCとの通信がトリガ等の最小限となるからである。 As described above, according to the second embodiment of the present invention, even when ACT and SBY have different flow entry specifications, transmission of a large amount of flow mod after cluster switching can be suppressed when performing rolling update. . The reason is that according to the second embodiment of the present invention, the flow table is rewritten autonomously on the OFS side, so communication with the OFC is minimized such as a trigger.
また、仕様変更により、フローエントリのcookie値などを変更する場合のハードルやリスクが非常に低くなる。本発明の実施の形態2により、OFCを介さずにOFS上で、フローエントリ情報を直接上書きしてしまうので、フローエントリが無効になる時間が無くなるからである。 In addition, hurdles and risks when changing the cookie value of the flow entry and the like due to the specification change become very low. This is because, according to the second embodiment of the present invention, the flow entry information is directly overwritten on the OFS without going through the OFC, so there is no time for the flow entry to become invalid.
<その他の発明の実施の形態>
上述した発明の実施の形態は、フローエントリのcookie書き換え以外にも、グループテーブルのグループIDのリファクタリング(グループエントリの内容へ変更せずにグループIDのみ置換する)などにも応用可能である。
<Other embodiments of the invention>
The above-described embodiment of the invention can be applied not only to rewriting a cookie of a flow entry but also to refactoring of a group ID of a group table (substituting only the group ID without changing the contents of the group entry).
尚、上述した実施の形態2では、OFCのローリングアップデートの場合について説明したが、これに限定されない。例えば、1台のOFCをアップデートするために停止するタイミングを所定のタイミングとしてもよい。さらに、OFCが二重化されている場合について説明したが、これに限定されない。例えば、通信制御装置が1台で運用されている場合に、当該通信制御装置のメンテナンスに合わせて、通信中継装置内の複数の中継定義情報の更新内容を1つにまとめた更新情報を送信することにより、更新を行うようにしてもよい。 In the second embodiment described above, the case of the OFC rolling update has been described. However, the present invention is not limited to this. For example, the stop timing for updating one OFC may be set as a predetermined timing. Furthermore, although the case where OFC is duplexed was demonstrated, it is not limited to this. For example, when a single communication control apparatus is operated, update information in which the update contents of a plurality of relay definition information in the communication relay apparatus are combined into one is transmitted in accordance with the maintenance of the communication control apparatus. Thus, the update may be performed.
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。 Furthermore, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present invention described above. For example, in the above-described embodiment, the present invention has been described as a hardware configuration, but the present invention is not limited to this. The present invention can also realize arbitrary processing by causing a CPU (Central Processing Unit) to execute a computer program. In this case, the computer program can be stored using various types of non-transitory computer readable media and supplied to the computer.
非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(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)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, DVD (Digital Versatile Disc), BD (Blu-ray (registered trademark) Disc), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM ( Random Access Memory)). The computer program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記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以上の中継定義情報の更新処理を開始する
通信中継装置。
A part or all of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.
(Appendix 1)
A storage unit for storing a plurality of relay definition information, which is a definition related to relay of communication between devices;
An acquisition unit for acquiring update information for updating the relay definition information;
An update unit that executes an update process based on the update information at a predetermined timing according to an update instruction for updating a plurality of the relay definition information;
A communication relay device comprising:
(Appendix 2)
The update information includes new identification information corresponding to the relay definition information,
The update unit
The communication relay device according to
(Appendix 3)
The acquisition unit acquires, as the update information, an update program in which an update process according to update contents of a plurality of relay definition information is implemented,
The communication relay device according to
(Appendix 4)
The communication relay device is controlled by a plurality of communication control devices configured redundantly by an active system and a standby system,
4. The communication relay device according to
(Appendix 5)
The update unit
The communication relay device according to claim 4, wherein the update processing is started as the predetermined timing when it is detected that a connection for control between the communication control device and the communication relay device is disconnected.
(Appendix 6)
The acquisition unit
Obtaining the update processing start request from the outside as the update instruction,
The communication relay device according to claim 5, wherein the update unit starts the update process when it detects that the connection is disconnected after obtaining the start request.
(Appendix 7)
The acquisition unit acquires time information that is a reference of the predetermined timing in the update information,
When the update unit detects that the connection has been disconnected, the update unit determines whether the predetermined timing is based on the acquired time information, and determines that the predetermined timing is reached The communication relay device according to appendix 5 or 6, wherein the update process is started.
(Appendix 8)
The communication relay device is:
The communication relay device according to any one of appendices 4 to 7, wherein the update information is acquired before switching between the active system and the standby system.
(Appendix 9)
A communication relay device that holds a plurality of relay definition information that are definitions relating to relay of communication between devices, and relays communication between the devices based on the relay definition information;
A communication control device for controlling the communication relay device;
A management server connected to the communication relay device and the communication control device,
The communication control device or the management server transmits update information for updating the relay definition information to the communication relay device,
The communication relay device is:
Receiving the update information;
In response to an instruction to update a plurality of the relay definition information, an update process based on the update information is executed at a predetermined timing.
Communication relay system.
(Appendix 10)
A method for updating a plurality of relay definition information, which is a definition related to relay of communication between devices,
A communication relay device holding the plurality of relay definition information,
Obtain update information for updating the relay definition information,
A method for updating relay definition information, wherein update processing based on the update information is executed at a predetermined timing according to an update instruction for updating a plurality of the relay definition information.
(Appendix 11)
On the computer,
Processing for obtaining update information for updating relay definition information that is a definition related to relay of communication between devices;
An update process for updating based on the update information at a predetermined timing according to an update instruction for updating a plurality of the relay definition information;
Update program to execute.
(Appendix 12)
Controlled by a plurality of communication control devices configured redundantly by the active system and the standby system,
Holds multiple relay definition information, which is a definition for relaying communication between terminals,
A communication relay device that starts update processing of two or more relay definition information based on update information for updating two or more of the plurality of relay definition information during switching between the active system and the standby system .
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 ユーザ作成ライブラリ
DESCRIPTION OF
31-33 OFS (Open Flow Switch)
40
611
613 Flow table 614 Group table 615
62 Address and
64 CPU
65 Ethernet Driver IC
66 HDD
67 SDRAM
68 SATA
69 SDRAM / IF
71 OpenFlow
73 OpenFlowSwitch control /
Claims (10)
端末間の通信の中継に関する定義である中継定義情報を記憶する記憶部と、
前記中継定義情報を更新するための更新情報を取得する取得部と、
前記中継定義情報を前記更新情報に基づき更新する更新部と、
を備え、
前記更新部は、前記複数の通信制御装置の稼働系と待機系の切り替えをトリガとして、更新処理を開始する
通信中継装置。 A communication relay device controlled by a plurality of redundantly configured communication control devices,
A storage unit for storing the relay definition information in a definition of a relay of the communication between the terminals,
An acquisition unit for acquiring update information for updating the relay definition information;
An update unit to update-out based on the previous Symbol update information before Symbol relay definition information,
Equipped with a,
The update unit as a trigger switch in the standby system and operating system of the plurality of communication control device, start the update process
Communication relay device.
前記更新部は、前記更新処理により前記中継定義情報における識別情報を、前記更新情報に含まれる新たな識別情報へ更新する
請求項1に記載の通信中継装置。 The update information includes new identification information corresponding to the relay definition information,
The communication relay device according to claim 1, wherein the update unit updates the identification information in the relay definition information to new identification information included in the update information by the update process.
前記更新部は、前記更新プログラムを前記トリガに応じて実行することにより、前記更新処理を行う
請求項1又は2に記載の通信中継装置。 Wherein the acquisition unit acquires the update the update processing according to the update content of the relay definition information is implemented as the update information,
The communication relay device according to claim 1, wherein the update unit performs the update process by executing the update program according to the trigger .
通信制御装置と当該通信中継装置との間の制御のための接続が切断されたことを前記トリガとして前記更新処理を開始する
請求項1乃至3のいずれか1項に記載の通信中継装置。 The update unit
Communication relay apparatus according to any one of claims 1 to 3 starting the update process as the trigger that the connection has been broken for the control between the communication controller and the communication relay apparatus.
外部から前記更新処理の開始要求を取得し、
前記更新部は、前記開始要求の取得後に前記接続が切断されたことを前記トリガとして、前記更新処理を開始する
請求項4に記載の通信中継装置。 The acquisition unit
From outside Tokushi preparative start request of the updating process,
The communication relay device according to claim 4 , wherein the update unit starts the update process with the trigger that the connection is disconnected after the start request is acquired.
前記通信中継装置を制御する複数の通信制御装置と、を備え、
前記複数の通信制御装置は、冗長構成され、稼働系と待機系の切り替えをトリガとして、前記中継定義情報を更新するための更新情報を前記通信中継装置へ送信し、
前記通信中継装置は、
前記更新情報に基づき前記中継定義情報を更新する、
通信中継システム。 It holds joint definition information in a definition of a relay of the communication between the terminals, and the communication relay device for relaying communications between the terminal based on the relay definition information,
And a plurality of communication control device for controlling the communication relay device,
The plurality of communication control devices are configured redundantly , and send update information for updating the relay definition information to the communication relay device, triggered by switching between an active system and a standby system ,
The communication relay device is:
To update the relay definition information-out based on the previous Symbol update information,
Communication relay system.
前記管理サーバは、前記複数の通信制御装置の稼働系と待機系の切り替えをトリガとして、前記中継定義情報を更新するための更新情報を前記通信中継装置へ送信し、 The management server uses the switching of the active system and the standby system of the plurality of communication control devices as a trigger to transmit update information for updating the relay definition information to the communication relay device,
前記通信中継装置は、前記更新情報に基づき前記中継定義情報を更新する、 The communication relay device updates the relay definition information based on the update information;
請求項6に記載の通信中継システム。 The communication relay system according to claim 6.
稼働系と待機系により冗長構成された複数の通信制御装置に制御され、前記中継定義情報を保持する通信中継装置が、
前記稼働系と前記待機系の切り替えをトリガとして通知された更新情報に基づき前記中継定義情報を更新するための更新処理を開始する
中継定義情報の更新方法。 A method of updating relay definition information in a definition of a relay of the communication between the terminals,
Operating system and is controlled in a plurality of communication control devices that are redundant by the standby system, a communication relay device for holding the RELAY definition information,
Method for updating relaying definition information for starting the updating process for updating the operating system and the standby system switchover notified based-out the relay definition information in the update information as a trigger for.
前記稼働系と前記待機系の切り替えをトリガとして通知された更新情報に基づき前記中継定義情報を更新する処理、
を実行させる更新プログラム。 Holds relay definition information, which is a definition related to relaying communication between terminals, and is controlled by a plurality of communication control devices configured redundantly by an active system and a standby system .
Processing for updating based-out the relay definition information to the notified update information switching of the standby system and the operating system as a trigger,
Update program to execute.
端末間の通信の中継に関する定義である複数の中継定義情報を保持し、
前記稼働系と前記待機系の切り替えの間に、前記複数の中継定義情報のうち2以上を更新するための更新情報に基づいて、当該2以上の中継定義情報の更新処理を開始する
通信中継装置。 Controlled by a plurality of communication control devices configured redundantly by the active system and the standby system,
Holds multiple relay definition information, which is a definition for relaying communication between terminals,
A communication relay device that starts update processing of two or more relay definition information based on update information for updating two or more of the plurality of relay definition information during switching between the active system and the standby system .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013216522A JP6311265B2 (en) | 2013-10-17 | 2013-10-17 | Communication relay device, communication relay system, relay definition information update method, and update program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013216522A JP6311265B2 (en) | 2013-10-17 | 2013-10-17 | Communication relay device, communication relay system, relay definition information update method, and update program |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018051921A Division JP6635138B2 (en) | 2018-03-20 | 2018-03-20 | Communication node, communication system, update method, and update program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015080105A JP2015080105A (en) | 2015-04-23 |
| JP6311265B2 true JP6311265B2 (en) | 2018-04-18 |
Family
ID=53011192
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013216522A Expired - Fee Related JP6311265B2 (en) | 2013-10-17 | 2013-10-17 | Communication relay device, communication relay system, relay definition information update method, and update program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6311265B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7091923B2 (en) * | 2018-08-07 | 2022-06-28 | 日本電信電話株式会社 | Transfer device, transfer method and program |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2935787B2 (en) * | 1993-05-07 | 1999-08-16 | 三菱電機株式会社 | Packet switching system |
| JPH11126169A (en) * | 1997-10-22 | 1999-05-11 | Fujitsu Ltd | Data conversion control method when replacing files |
| JP5717164B2 (en) * | 2009-10-07 | 2015-05-13 | 日本電気株式会社 | Computer system and computer system maintenance method |
| JP5488980B2 (en) * | 2010-02-08 | 2014-05-14 | 日本電気株式会社 | Computer system and communication method |
| JP5605109B2 (en) * | 2010-09-14 | 2014-10-15 | 日本電気株式会社 | Program generating apparatus, method and program, and remote management system |
| US9178833B2 (en) * | 2011-10-25 | 2015-11-03 | Nicira, Inc. | Chassis controller |
| EP2748977B1 (en) * | 2011-10-25 | 2019-02-27 | Nicira Inc. | Chassis controllers for converting universal flows |
| WO2013108761A1 (en) * | 2012-01-16 | 2013-07-25 | 日本電気株式会社 | Network system and path information synchronization method |
-
2013
- 2013-10-17 JP JP2013216522A patent/JP6311265B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015080105A (en) | 2015-04-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11290367B2 (en) | Hierarchical network configuration | |
| US9521070B2 (en) | Apparatus, information processing method and information processing system | |
| US20110238820A1 (en) | Computer, communication device, and communication control system | |
| CN110633127A (en) | A data processing method and related equipment | |
| CN108259215B (en) | Equipment management method and device | |
| CN105337904A (en) | Controller cluster upgrading method and device | |
| US10841160B2 (en) | System and method for processing messages during a reboot of a network device | |
| CN101888304A (en) | Method, device and system for upgrading routing equipment | |
| CN112039769B (en) | A method for processing routing and network equipment | |
| CN110943928B (en) | Method for synchronizing forwarding information states, controller, network forwarding device and storage medium | |
| CN103916277A (en) | Method and device for not interrupting forwarding service in rebooting process | |
| CN114244810A (en) | Virtual IP management method, device, electronic equipment and storage medium | |
| JP6311265B2 (en) | Communication relay device, communication relay system, relay definition information update method, and update program | |
| JP6635138B2 (en) | Communication node, communication system, update method, and update program | |
| JP6953713B2 (en) | Communication nodes, communication systems, communication methods and programs | |
| KR101650691B1 (en) | Method and apparatus for operating distributed controllers of software defined network | |
| US20150381480A1 (en) | Network system, resource control device, and virtual machine generation device | |
| JP6237102B2 (en) | Management device, control method and program for management device | |
| CN115174374B (en) | A system, method, device and medium for configuring network time synchronization tools | |
| CN114430310B (en) | Information processing method and device, broadband access server, and storage medium | |
| JP2017097590A (en) | Communication device and management device | |
| KR101628219B1 (en) | Method and apparatus for operating controller of software defined network | |
| WO2018121067A1 (en) | Network device update method and network device | |
| CN102571890B (en) | A kind of configuring management method of wireless sensing access multiplexing | |
| JP2015138987A (en) | Communication system and service restoration method in communication system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160905 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170629 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170711 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170911 |
|
| 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: 20180220 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180305 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6311265 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |