JP6489239B2 - 通信装置、システム、方法、及びプログラム - Google Patents
通信装置、システム、方法、及びプログラム Download PDFInfo
- Publication number
- JP6489239B2 JP6489239B2 JP2017559143A JP2017559143A JP6489239B2 JP 6489239 B2 JP6489239 B2 JP 6489239B2 JP 2017559143 A JP2017559143 A JP 2017559143A JP 2017559143 A JP2017559143 A JP 2017559143A JP 6489239 B2 JP6489239 B2 JP 6489239B2
- Authority
- JP
- Japan
- Prior art keywords
- controller
- switch
- rollback
- communication
- image
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 427
- 230000006854 communication Effects 0.000 title claims description 86
- 238000004891 communication Methods 0.000 title claims description 40
- 230000008569 process Effects 0.000 claims description 411
- 238000012545 processing Methods 0.000 claims description 41
- 230000004044 response Effects 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 11
- 238000005096 rolling process Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000004886 process control Methods 0.000 claims 1
- 238000011109 contamination Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000002955 isolation Methods 0.000 description 7
- 230000006855 networking Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 241001529742 Rosmarinus Species 0.000 description 1
- 244000178231 Rosmarinus officinalis Species 0.000 description 1
- 101710176296 Switch 2 Proteins 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- ZRHANBBTXQZFSP-UHFFFAOYSA-M potassium;4-amino-3,5,6-trichloropyridine-2-carboxylate Chemical compound [K+].NC1=C(Cl)C(Cl)=NC(C([O-])=O)=C1Cl ZRHANBBTXQZFSP-UHFFFAOYSA-M 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
前記関連するスイッチプロセスは前記フローに対応するスイッチプロセスを実行し、
前記保存されたイメージを用いて前記スイッチプロセスをロールバックする制御を行う、通信方法が提供される。
本発明のさらに他の特徴及び利点は、本発明を実施することが企図されている形態を図示及び説明した添付の図面と併せて以下の詳細な説明から当業者には容易に明らかになるであろう。理解されるように、本発明は、他の異なる実施形態が可能であり、そのいくつかの詳細は、本発明から逸脱することなく、様々な明白な点において変更可能である。したがって、図面及び説明は、本質的に例示的であるとみなされるべきであり、限定的ではないとみなされるべきである。
(a)保存された状態が復元される、
(b)保存された実行コードが復元される、及び、
(c)保存された状態及び保存された実行コードが復元される。
保存された状態302は、実行中のスイッチプロセスの既存の状態305に上書きされる、
実行中のスイッチ処理の実行コード306に実行コード303を上書きする、又は、
保存された状態302及び実行コード303は、実行中のスイッチ処理の既存の状態305及び実行コード306にそれぞれ上書きされる。
受信したパケットヘッダの宛先IPアドレスフィールドがXであれば、スイッチプロセスAにパケットをディスパッチする。
受信したパケットヘッダの宛先IPアドレスフィールドがYであれば、スイッチ処理Bにパケットをディスパッチする。
受信したパケットヘッダの宛先IPアドレスフィールドがZであれば、パケットはスイッチプロセスCにディスパッチされる。この例では、ディスパッチャ120は宛先IPアドレス:Xの受信IPパケットをスイッチプロセスAにディスパッチする。
(a)保存状態が復元される、
(b)保存された実行コードが復元される、
(c)保存された状態及び保存された実行コードが復元される、
の3つのタイプを含む。図2に示すように、保存された状態及び/又は実行コードは、実行中のコントローラプロセス201の既存の状態及び/又は実行コードに上書きされる。この構成は、ロールバック・シャットダウン・リブート操作と比較して、ロールバック操作による回復プロセスの加速又は高速化に寄与する。保存された状態302及び/又は実行コード303を実行中のコントローラプロセス201に復元する際には、実行中のコントローラプロセス201に対して、相互排他及び同期などの制御が行われてもよいことは勿論である。
(a)保存状態の復元、
(b)保存した実行コードの復元、及び、
(c)保存した状態と保存した実行コードの復元、
が行われる。図2に示すように、保存された状態及び/又は実行コードは、実行中のコントローラプロセスの既存の状態及び/又は実行コードに上書きされる。
12 プロセス2
20 マシンメモリ
21 隔離された領域(Isoated Area)1
22 隔離された領域(Isoated Area)2
23 OS/ハイパーバイザ領域
30 論理アドレス
31 ページテーブル
32 物理アドレス
33 マシンメモリ
51−53 ノード
100、100A−100C スイッチ
100−1 スイッチ−1
100−2 スイッチ−2
101、101A−101C スイッチプロセス
102、102A−102C 隔離された環境(Isoated Environment)
101−1A、101−2A テナントA用スイッチプロセス
101−1B、101−2B テナントB用スイッチプロセス
103 フローテーブル
104 ストレージ(記憶装置)(フローエントリ)
106A テナントネットワークA
106B テナントネットワークB
110 ハイパーバイザ
111 プロセス起動(invocation)/再開(resume)部
112 プロセス終了(termination)/中断(suspend)部
113 状態/コード保存部
114 インテグリティ尺度(Integrity measure)計算部
115 インテグリティ尺度保存部
116 インテグリティ尺度検査部
117 状態/コード復元部
118 ストレージ(記憶装置)
120 ディスパッチャ
121 ディスパッチルールテーブル
122 ストレージ(記憶装置)
130 NICs(ネットワークインタフェースコントローラ:複数)
151−1A、151−2A テナントAホスト
151−1B、151−2B テナントBホスト
200 コントローラ
201、201A−201C コントローラプロセス
202、202A−202C コントローラコアプロセス
201−A テナントA用コントローラプロセス
201−B テナントB用コントローラプロセス
203、203A−203C サウスバウンドAPI
204、204A−204C ノースバウンドAPI
205A−205C 隔離された環境
210 ハイパーバイザ
220 ディスパッチャ(サウスバウンドAPIのディスパッチャ)
222 ストレージ(ディスパッチルール)
230 ディスパッチャ(ノースバウンドAPIのディスパッチャ)
240A−240C スイッチ
241A−241C リクエスト
250、250A−250C アプリケーション
251A−251C リクエスト
301 保存されたプロセスイメージ
302 状態
303 実行コード
304 実行中のプロセス
305 状態
306 実行コード
401、401A−401C 管理プロセス
410 パケット処理ハードウェア
420 ディスパッチャ
Claims (32)
- 各々がそれぞれに対応するフローに対して通信処理を行う複数の通信プロセスと、
ネットワークに接続されるように構成された複数のネットワークインタフェースと、
前記ネットワークインタフェースからパケットを受信し、フローと、前記フローがディスパッチされる通信プロセスとの関連付けを規定したディスパッチルールに基づいて、前記パケットを関連する通信プロセスにディスパッチするディスパッチャと、
保存された各通信プロセスのイメージを用いて前記各通信プロセスをロールバックする制御を行う制御部と、
を備え、
前記制御部は、
設定に応じて、前記通信プロセスの状態、又は、実行コード、又は、状態及び実行コードを、前記通信プロセスのイメージとして、記憶装置に保存する保存部と、
前記記憶装置に保存されている前記通信プロセスの状態、又は、実行コード、又は、状態及び実行コードを、実行中の前記通信プロセスの既存の状態、又は、実行コード、又は、既存の状態及び実行コードに上書きすることによってロールバックを実行する復元部と、
を備えた、通信装置。 - 前記制御部は、ロールバック操作のために保存された前記通信プロセスのイメージであるロールバックイメージのインテグリティ尺度を前記記憶装置に保存し、
前記制御部は、前記通信プロセスのロールバックイメージのインテグリティ尺度を計算し、今回計算されたインテグリティ尺度が、前記保存されたロールバックイメージのインテグリティ尺度と同じであるかチェックする請求項1に記載の通信装置。 - 前記制御部は、定期的に、前記通信プロセスのロールバックイメージの更新を行うように構成されており、前記ロールバックをトリガする予め定められたイベントの発生に応じて、保存されている最新のロールバックイメージを用いて前記通信プロセスのロールバックを行う、請求項2に記載の通信装置。
- 前記通信プロセスは、
前記ディスパッチャによってディスパッチされたパケットを受信すると、前記パケットのヘッダフィールド情報をフローを取り扱うためのルールと照合し、照合結果に基づいて前記パケットを処理するスイッチプロセスを備え、前記ルールは、パケットのヘッダフィールド情報と照合されるマッチフィールドと、一致するパケットの取り扱いを規定するアクションフィールドと、を備え、
前記制御部は、前記スイッチプロセスが1又はN個のフローを処理するたびに(Nは2以上の予め定められた整数)、又は、ロールバックをトリガするための所定のイベントの発生に応答して、ロールバックを実行するように制御する請求項1乃至3のいずれか1項に記載の通信装置。 - 前記通信プロセスは、前記通信装置を制御するコントローラとの間で通信を行う管理プロセスを含み、
前記通信装置は、さらに、
前記ネットワークインタフェースと前記ディスパッチャとの間に配置され、フローを処理するためのルールに従ってパケット処理を行うパケット処理部を備え、
前記ディスパッチャはフローを処理するための前記ルールをモニタする請求項1乃至3のいずれか1項に記載の通信装置。 - 前記通信プロセスは、
スイッチからのメッセージを受信すると、フローのパス上の各スイッチに適用されるフローを処理するためのルールを生成し、前記生成したルールを経路上の各スイッチに送信するコントローラプロセスを含み、
前記ルールは、前記スイッチが受信したパケットと照合されるマッチフィールドと、前記マッチフィールドと一致するパケットの前記スイッチによる取り扱いを規定するアクションフィールドと、を含み、
前記制御部は、
前記コントローラプロセスが、
前記スイッチからの要求を処理した後、
1つの操作を処理した後、
定期的に、又は、
ロールバックをトリガするための予め定められたイベントの発生に応答して、
前記コントローラプロセスのロールバックを制御する請求項1乃至3のいずれか1項に記載の通信装置。 - 前記コントローラプロセスは、
コントローラコアプロセスと、
前記ディスパッチャの側に位置するアプリケーションインタフェースを備え、
前記コントローラプロセスのロールバックにおいて、
前記コントローラコアプロセス及び前記アプリケーションインタフェースの少なくとも一方がロールバックされるか、
前記コントローラコアプロセス及び前記アプリケーションインタフェースが別々にロールバックされる、請求項6に記載の通信装置。 - 前記通信プロセスは、前記通信プロセスに割り当てられた環境において実行されるように構成され、
前記各通信プロセスのために配置された環境は、1つ又は複数の環境のそれぞれから隔離されている、請求項1乃至6のいずれか1項に記載の通信装置。 - 前記制御部において、
前記保存部は、前記通信プロセスのイメージとそのインテグリティ尺度を前記記憶装置に保存し、
現在算出されている通信プロセスのインテグリティ尺度が、以前に計算され保存されたインテグリティ尺度と同じであるかどうかを検査する検証器を備え、
前記通信プロセスの現在計算されたインテグリティ尺度が、以前に計算されて保存された通信プロセスのインテグリティ尺度と同じでない場合に、
前記復元部は、保存されている前記通信プロセスのイメージを復元することによって前記通信プロセスをロールバックする請求項1乃至8のいずれか1項に記載の通信装置。 - 各々がそれぞれに対応するフローに対してスイッチ処理を行う複数のスイッチプロセスと、
ネットワークに接続されるように構成された複数のネットワークインタフェースと、
前記ネットワークインタフェースからパケットを受信し、フローと、前記フローがディスパッチされるスイッチプロセスとの関連付けを規定したディスパッチルールに基づいて、前記パケットを関連するスイッチプロセスにディスパッチするディスパッチャと、
保存された前記スイッチプロセスのイメージを用いて各スイッチプロセスをロールバックする制御を行う制御部と、
を備え、
前記制御部は、
設定に応じて、前記スイッチプロセスの状態、又は、実行コード、又は、状態及び実行コードを、前記スイッチプロセスのイメージとして、記憶装置に保存する保存部と、
前記記憶装置に保存されている前記スイッチプロセスの状態、又は、実行コード、又は、状態及び実行コードを、実行中の前記スイッチプロセスの既存の状態、又は、実行コード、又は、既存の状態及び実行コードに上書きすることによって前記スイッチプロセスのロールバックを実行する復元部と、
を備えたスイッチ装置。 - 各々が1つ又は複数のスイッチの制御を行う複数のコントローラプロセスと、
スイッチと、前記スイッチからのメッセージがディスパッチされるコントローラプロセスとの関連付けを規定したディスパッチルールに基づいて、前記スイッチからのメッセージを関連するコントローラプロセスにディスパッチするディスパッチャと、
保存された各コントローラプロセスのイメージを用いて前記各コントローラプロセスをロールバックする制御を行う制御部と、
を備え、
前記制御部は、
設定に応じて、前記コントローラプロセスの状態、又は、実行コード、又は、状態及び実行コードを、前記コントローラプロセスのイメージとして、記憶装置に保存する保存部と、
前記記憶装置に保存されている前記コントローラプロセスの状態、又は、実行コード、又は、状態及び実行コードを、実行中の前記コントローラプロセスの既存の状態、又は、実行コード、又は、既存の状態及び実行コードに上書きすることによって前記コントローラプロセスのロールバックを実行する復元部と、
を備えたコントローラ装置。 - スイッチと、
前記スイッチを制御するコントローラと、
を備え、
前記スイッチは、
各々がそれぞれに対応するフローに対してスイッチ処理を行う複数のスイッチプロセスと、
ネットワークに接続されるように構成された複数のネットワークインタフェースと、
前記ネットワークインタフェースからパケットを受信し、フローと、前記フローがディスパッチされるスイッチプロセスとの関連付けを規定したディスパッチルールに基づいて、前記パケットを関連するスイッチプロセスにディスパッチするディスパッチャと、
保存された各スイッチプロセスのイメージを用いて各スイッチプロセスをロールバックする制御を行う制御部と、
を備え、
前記制御部は、
設定に応じて、前記スイッチプロセスの状態、又は、実行コード、又は、状態及び実行コードを、前記スイッチプロセスのイメージとして、記憶装置に保存する保存部と、
前記記憶装置に保存されている前記スイッチプロセスの状態、又は、実行コード、又は、状態及び実行コードを、実行中の前記スイッチプロセスの既存の状態、又は、実行コード、又は、既存の状態及び実行コードに上書きすることによって前記スイッチプロセスのロールバックを実行する復元部と、
を備えた通信システム。 - 前記制御部は、前記スイッチプロセスが1又はN個のフローを処理するたびに(Nは2以上の予め定められた整数)、又は、前記スイッチプロセスのロールバックをトリガするための所定のイベントの発生に応答して、前記スイッチプロセスのロールバックを実行するように制御する請求項12に記載の通信システム。
- 前記制御部において、
前記保存部は、前記スイッチプロセスのイメージとそのインテグリティ尺度を前記記憶装置に保存し、
現在算出されているスイッチプロセスのインテグリティ尺度が、以前に計算され保存されたインテグリティ尺度と同じであるかどうかを検査する検証器を備え、
前記復元部は、前記スイッチプロセスの現在計算されたインテグリティ尺度が、以前に計算されて保存されたスイッチプロセスのインテグリティ尺度と同じでない場合に、保存されている前記スイッチプロセスのイメージを復元することによって前記スイッチプロセスをロールバックする請求項12又は13に記載の通信システム。 - 前記スイッチは、前記スイッチプロセスを制御するハイパーバイザを備え、
前記ハイパーバイザは前記制御部を含む請求項12乃至14のいずれか1項に記載の通信システム。
- 前記スイッチに含まれる前記制御部は、ロールバック操作のために保存された前記スイッチプロセスのイメージであるロールバックイメージのインテグリティ尺度を前記記憶装置に保存し、
前記制御部は、前記スイッチプロセスのロールバックイメージのインテグリティ尺度を計算し、今回計算されたインテグリティ尺度が、前記保存されたロールバックイメージのインテグリティ尺度と同じであるかチェックする請求項12乃至15のいずれか1項に記載の通信システム。 - 前記制御部は、定期的に、前記スイッチプロセスのロールバックイメージの更新を行うように構成されており、前記ロールバックをトリガする予め定められたイベントの発生に応じて、保存されている最新のロールバックイメージを用いて前記スイッチプロセスのロールバックを行う請求項16に記載の通信システム。
- 前記ネットワークインタフェースから受信したパケットのヘッダフィールド情報が示すフローのディスパッチルールが存在しない場合には、該フローのディスパッチルールの問い合わせをコントローラに対して行い、
前記コントローラから送信されたフローに対するディスパッチルールを受信すると、前記ディスパッチルールに基づき、前記フローに関連するスイッチプロセスを呼び出し、前記スイッチプロセスから前記コントローラに応答を送信し、
前記応答を受けた前記コントローラは、前記スイッチプロセスに対してフローに関する処理を規定したルールを作成して送信し、
前記スイッチプロセスは、前記コントローラから前記ルールを受信すると、前記ルールに基づいて前記フローに関連する1つ又は複数のパケットを処理する請求項12乃至17のいずれか1項に記載の通信システム。 - 前記スイッチプロセスは、前記スイッチを制御する前記コントローラとの間で通信を行う管理プロセスを含み、
前記スイッチは、さらに、
前記ネットワークインタフェースと前記ディスパッチャとの間に配置され、フローを処理するためのルールに従ってパケット処理を行うパケット処理部を備え、
前記ディスパッチャはフローを処理するための前記ルールをモニタする請求項12乃至18のいずれか1項に記載の通信システム。 - 前記制御部は、1つ以上の関連するスイッチプロセスの制御を行う複数のコントローラプロセスと、
前記スイッチプロセスからのメッセージがディスパッチされるコントローラプロセスとスイッチプロセスとの関連付けを定義する第1のディスパッチルールに基づいて、前記スイッチプロセスからのメッセージを関連するコントローラプロセスにディスパッチする第1のディスパッチャと、
保存されたコントローラプロセスのイメージを用いて前記コントローラプロセスのロールバックを制御する制御部と、を備えた請求項12に記載の通信システム。 - 前記制御部は、
前記コントローラプロセスがスイッチからの要求を処理した後、
1つの操作を処理した後、
定期的に、又は、
ロールバックをトリガするための予め定められたイベントの発生に応答して、
前記コントローラプロセスのロールバックを実行するように制御する請求項20に記載の通信システム。 - 前記コントローラは、
アプリケーションからのメッセージがディスパッチされるコントローラプロセスとアプリケーションとの関連付けを定義する第2のディスパッチルールに基づいて、アプリケーション又はより上位の層からのメッセージを、コントローラプロセスへディスパッチする第2のディスパッチャを備え、
前記コントローラプロセスは、
コアプロセスと、
前記第1のディスパッチャとインタフェースし、前記第1のディスパッチャからの要求を受信し前記コアプロセスへ供給する第1のインタフェースと、
前記第2のディスパッチャをインタフェースし、前記第2のディスパッチャからの要求を受け、前記コアプロセスへ供給する第2のインタフェースと、
を備え、
前記制御部は、前記第1及び第2インタフェース、又はコアプロセスの少なくとも一つをロールバックするか、あるいは、
前記制御部は、前記第1及び第2インタフェース、又はコアプロセスを別々にロールバックする請求項20又は21に記載の通信システム。 - 前記コントローラに含まれる前記制御部において、
前記保存部は、前記コントローラプロセスのイメージとそのインテグリティ尺度を保存し、
前記コントローラプロセスの今回計算されたインテグリティ尺度が、以前に計算されて保存されたコントローラプロセスのインテグリティ尺度と同じであるかどうかをチェックする検証器を備え、
前記コントローラプロセスの現在計算されたインテグリティ尺度が、以前に計算されて保存された前記コントローラプロセスのインテグリティ尺度と同じでないことが検出された場合、前記復元部は、保存されている前記コントローラプロセスのイメージを復元することによって前記コントローラプロセスをロールバックする請求項20乃至22のいずれか1項に記載の通信システム。 - 前記コントローラに含まれる前記制御部は、ロールバック操作のために保存された前記コントローラプロセスのイメージであるロールバックイメージのインテグリティ尺度を前記記憶装置に保存し、前記制御部は、前記コントローラプロセスのロールバックイメージのインテグリティ尺度を計算し、今回計算されたインテグリティ尺度が、前記保存されたロールバックイメージのインテグリティ尺度と同じであるかチェックする請求項20乃至23のいずれか1項に記載の通信システム。
- 前記コントローラに含まれる前記制御部は、定期的に、前記コントローラプロセスのロールバックイメージの更新を実行するように構成され、
前記制御部は、ロールバックをトリガするための予め定められたイベントの発生に応答して、保存されたコントローラプロセスの最新のロールバックイメージでロールバックを行う請求項24に記載の通信システム。 - 前記スイッチに含まれる前記スイッチプロセスと、前記コントローラに含まれる前記コントローラプロセスとの少なくとも一方は、割り当てられた環境において実行されるように構成され、
前記各プロセスの環境は、1つ又は複数のプロセスの他のプロセスの1つ又は複数の環境のそれぞれから隔離されている請求項20乃至25のいずれか1項に記載の通信システム。 - フローと、前記フローがディスパッチされるスイッチプロセスとの関連付けを規定したディスパッチルールに基づいて、受信パケットを、関連するスイッチプロセスにディスパッチし、
前記関連するスイッチプロセスは前記フローに対応するスイッチプロセスを実行し、
保存された前記スイッチプロセスのイメージを用いて前記スイッチプロセスをロールバックする制御を行い、その際、
設定に応じて、前記スイッチプロセスの状態、又は、実行コード、又は、状態及び実行コードを、前記スイッチプロセスのイメージとして、記憶装置に保存し、
前記記憶装置に保存されている前記スイッチプロセスの状態、又は、実行コード、又は、状態及び実行コードを、実行中の前記スイッチプロセスの既存の状態、又は、実行コード、又は、既存の状態及び実行コードに上書きすることによって前記スイッチプロセスのロールバックを実行する、通信方法。 - 前記スイッチプロセスが1又はN個のフロー(Nは2以上の所定の整数)を処理するたびに、又はロールバックをトリガする予め定められたイベントの発生に応答して、前記スイッチプロセスのロールバックを実行するように制御することを特徴とする請求項27に記載の通信方法。
- コントローラに含まれる複数のコントローラプロセスのそれぞれが、1つ又は複数の関連するスイッチプロセスの制御を実行し、
前記スイッチプロセスからのメッセージが送信されるコントローラプロセスと前記スイッチプロセスとの関連付けを定義する第1のディスパッチルールに基づいて、前記スイッチプロセスからのメッセージを関連するコントローラプロセスにディスパッチし、
保存された前記コントローラプロセスのイメージを用いて前記コントローラプロセスのロールバックの実行を制御し、その際、
設定に応じて、前記スイッチプロセスの状態、又は、実行コード、又は、状態及び実行コードを、前記コントローラプロセスのイメージとして、記憶装置に保存し、
前記記憶装置に保存されている前記コントローラプロセスの状態、又は、実行コード、又は、状態及び実行コードを、実行中の前記コントローラプロセスの既存の状態、又は、実行コード、又は、既存の状態及び実行コードに上書きすることによって前記コントローラプロセスのロールバックを実行する請求項27又は28に記載の通信方法。 - 前記コントローラプロセスが、
スイッチからの要求を処理した後、
1つの操作を処理した後、
定期的に、又は、
ロールバックをトリガする予め定められたイベントの発生に応答して、
前記コントローラプロセスのロールバックを実行するように制御する請求項29に記載の通信方法。 - 各々がそれぞれに対応するフローに対して通信処理を行う複数の通信プロセスと、
ネットワークインタフェースからパケットを受信し、前記フローがディスパッチされる通信プロセスと、フローとの関連付けを定義するディスパッチルールに基づいて、前記パケットを関連する通信プロセスにディスパッチするディスパッチ処理と、
通信プロセスの保存されたイメージを用いて前記各通信プロセスをロールバックするロールバック処理として、
前記通信プロセスの状態、又は、実行コード、又は、状態及び実行コードを、前記通信プロセスのイメージとして、記憶装置に保存する処理と、
前記記憶装置に保存されている前記通信プロセスの状態、又は、実行コード、又は、状態及び実行コードを、実行中の前記通信プロセスの既存の状態、又は、実行コード、又は、既存の状態及び実行コードに上書きすることによってロールバックを実行する処理と、
をコンピュータに処理を実行させるプログラム。 - 前記ロールバック処理は、
定期的に、又は、
前記通信プロセスが1又はN個(Nは2以上の所定の整数である)のフローを処理するたびに、前記通信プロセスをロールバックする請求項31に記載のプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/002389 WO2016181424A1 (en) | 2015-05-11 | 2015-05-11 | Communication apparaus, system, method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018516001A JP2018516001A (ja) | 2018-06-14 |
JP6489239B2 true JP6489239B2 (ja) | 2019-03-27 |
Family
ID=53276220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017559143A Active JP6489239B2 (ja) | 2015-05-11 | 2015-05-11 | 通信装置、システム、方法、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10649847B2 (ja) |
JP (1) | JP6489239B2 (ja) |
WO (1) | WO2016181424A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11431569B2 (en) * | 2016-07-21 | 2022-08-30 | Nec Corporation | Communication apparatus, system, rollback method, and non-transitory medium |
CN107547258B (zh) * | 2017-07-18 | 2021-02-05 | 新华三云计算技术有限公司 | 一种网络策略的实现方法和装置 |
JP6948303B2 (ja) * | 2018-11-07 | 2021-10-13 | 株式会社日立製作所 | ストレージシステム |
CN113067741B (zh) * | 2020-01-02 | 2022-11-29 | 中国移动通信有限公司研究院 | 一种信息处理方法、装置、终端及存储介质 |
US11334670B2 (en) | 2020-01-28 | 2022-05-17 | Hewlett Packard Enterprise Development Lp | Integrity verification for a software stack or part of a software stack |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185678B1 (en) * | 1997-10-02 | 2001-02-06 | Trustees Of The University Of Pennsylvania | Secure and reliable bootstrap architecture |
US7430164B2 (en) * | 1998-05-04 | 2008-09-30 | Hewlett-Packard Development Company, L.P. | Path recovery on failure in load balancing switch protocols |
US6335932B2 (en) * | 1998-07-08 | 2002-01-01 | Broadcom Corporation | High performance self balancing low cost network switching architecture based on distributed hierarchical shared memory |
US7366171B2 (en) * | 1999-03-17 | 2008-04-29 | Broadcom Corporation | Network switch |
US6909713B2 (en) * | 2001-09-05 | 2005-06-21 | Intel Corporation | Hash-based data frame distribution for web switches |
US7738457B2 (en) * | 2006-12-20 | 2010-06-15 | Oracle America, Inc. | Method and system for virtual routing using containers |
JP5900352B2 (ja) | 2011-02-04 | 2016-04-06 | 日本電気株式会社 | パケット処理装置、パケット処理方法およびプログラム |
US9098331B2 (en) * | 2011-06-29 | 2015-08-04 | Telefonaktiebolaget L M Ericsson (Publ) | Joint scheduling of multiple processes on a shared processor |
US8516241B2 (en) * | 2011-07-12 | 2013-08-20 | Cisco Technology, Inc. | Zone-based firewall policy model for a virtualized data center |
US9094449B2 (en) * | 2011-09-14 | 2015-07-28 | Architecture Technology Corporation | Fight-through nodes for survivable computer network |
WO2014142095A1 (ja) | 2013-03-12 | 2014-09-18 | 日本電気株式会社 | 制御装置、通信システム、同期方法及びプログラム |
JP6435695B2 (ja) * | 2014-08-04 | 2018-12-12 | 富士通株式会社 | コントローラ,及びその攻撃者検知方法 |
US20180152475A1 (en) * | 2016-11-30 | 2018-05-31 | Foundation Of Soongsil University-Industry Cooperation | Ddos attack detection system based on svm-som combination and method thereof |
-
2015
- 2015-05-11 WO PCT/JP2015/002389 patent/WO2016181424A1/en active Application Filing
- 2015-05-11 JP JP2017559143A patent/JP6489239B2/ja active Active
- 2015-05-11 US US15/573,033 patent/US10649847B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10649847B2 (en) | 2020-05-12 |
US20180165156A1 (en) | 2018-06-14 |
WO2016181424A1 (en) | 2016-11-17 |
JP2018516001A (ja) | 2018-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11824962B2 (en) | Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks | |
US8613085B2 (en) | Method and system for traffic management via virtual machine migration | |
EP2907291B1 (en) | Virtual firewall mobility | |
JP6489239B2 (ja) | 通信装置、システム、方法、及びプログラム | |
JP5781616B2 (ja) | 脆弱性対策装置、および脆弱性対策方法 | |
US11240204B2 (en) | Score-based dynamic firewall rule enforcement | |
US20120317566A1 (en) | Virtual machine packet processing | |
US20140289399A1 (en) | Apparatus and method of detecting migration completion of virtual machine | |
US9654513B1 (en) | Automated network security policy deployment in a dynamic environment | |
US20150207664A1 (en) | Network control software notification with denial of service protection | |
US11252018B2 (en) | Service chaining with service path monitoring | |
JP6604336B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
US20220210167A1 (en) | Context-aware intrusion detection system | |
US11539722B2 (en) | Security threat detection based on process information | |
US20150207666A1 (en) | Network control software notification and invalidation of static entries | |
US11349702B2 (en) | Communication apparatus, system, rollback method, and non-transitory medium | |
US10528375B2 (en) | Maintaining security system information in virtualized computing environments | |
JP5736346B2 (ja) | 仮想化装置、仮想化制御方法、仮想化装置制御プログラム | |
JP6569741B2 (ja) | 通信装置、システム、方法、及びプログラム | |
US20240314141A1 (en) | Multi-engine intrusion detection system | |
JP6787475B2 (ja) | 通信装置、システム、ロールバック方法及びプログラム | |
US11848948B2 (en) | Correlation-based security threat analysis | |
US20220210127A1 (en) | Attribute-based firewall rule enforcement | |
US20220417260A1 (en) | Detecting and blocking a malicious file early in transit on a network | |
US20230222027A1 (en) | Distributed system, communication terminal, function recovery method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180928 |
|
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: 20190129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190211 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6489239 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |