JP7135489B2 - 分散処理システムに用いられるサーバ装置、分散処理方法およびプログラム - Google Patents
分散処理システムに用いられるサーバ装置、分散処理方法およびプログラム Download PDFInfo
- Publication number
- JP7135489B2 JP7135489B2 JP2018117605A JP2018117605A JP7135489B2 JP 7135489 B2 JP7135489 B2 JP 7135489B2 JP 2018117605 A JP2018117605 A JP 2018117605A JP 2018117605 A JP2018117605 A JP 2018117605A JP 7135489 B2 JP7135489 B2 JP 7135489B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- processing
- server device
- middleware
- unit
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
OpenFlowは、OpenFlowコントローラとOpenFlowスイッチとから構成される。OpenFlowコントローラでは、複数のOpenFlowスイッチの動作を一括して管理できる。経路制御の機能は「Control Plane」(Cプレーン)が、データ転送の機能は「Data Plane」(Dプレーン)が担う。
通信システムに対する分散処理技術は、Cプレーンを主な適用先としてきた。一方、Dプレーンの断の発生がシステムの品質に大きな影響を与えるものがある。例えば、電話会議システムは、RTP(Real time Transport Protocol)などを用いて音声や動画などのデータ転送を行う。Dプレーンの断時間の増大は、電話会議システムの品質に大きな影響を与える。
図12に示すように、分散処理システム1は、電話端末(SIP User Agent)(ユーザ端末装置)2と、ロードバランサ(LB:Load balancer)3と、会議サーバ4aを有するクラスタメンバ4と、複製された会議サーバ5aを有するクラスタメンバ5と、を含んで構成される。
電話端末2は、ロードバランサ3を介してクラスタメンバ4とクラスタメンバ5とでSIP(Session Initiation Protocol)を用いてやり取りを行う。電話端末2とクラスタメンバ4およびクラスタメンバ5間は、RTPを用いて直接やり取りを行う。電話端末2は、SIPを用いてやり取りを行うことで、RTPの処理遅延やシステム内の処理増を防いでいる。
このような従来の分散処理システムの減設時の動作は、次の通りである。分散処理システムが、自身で保持している処理状態データを他のサーバ装置に複製として作成し、減設指示が生じた際、その複製が原本に昇格し、そのサーバ装置に処理が振り分けられることによって、処理の継続が可能となる。
ミドルウェアのstateは、定期的に引き継がれる。保守コマンドによる原本移動が生じた際にも、引き継がれる。
また、故障時の切り替え時間も削減することができる。
このように、ミドルウェアもアプリケーションもstateを持つようなアプリケーションを分散処理基盤に適用した場合の切り替え時間を削減することができる。
(第1の実施形態)
図1は、本発明の実施形態に係る分散処理システムを模式的に示す機能ブロック図である。
図1に示すように、本発明の実施形態に係る分散処理システム1は、複数のユーザ端末装置10(10A,10B,10C,…)間のセッションを成立させるための呼信号を複数のサーバ装置30(30A,30B,30C,…)(クラスタメンバ)によって分散処理するシステムである。分散処理システム1は、複数のユーザ端末装置10と通信可能に接続されるバランサ装置20と、バランサ装置20および他のサーバ装置30と通信可能に接続される複数のサーバ装置30と、を備える。
また、分散処理システム1の外部には、分散処理システム1からの減設指示を受けて、減設対象のサーバ装置30を減設する外部データベースサーバ部40が設置される。
バランサ装置20は、ユーザ端末装置10によって送信された呼信号を受信し、受信された呼信号を単純な規則で複数のサーバ装置30のいずれかに送信する、いわゆるロードバランサ(LB:Load balancer)である。
サーバ装置(VM:Virtual Machine)30は、ユーザ端末装置10によって送信された呼信号をバランサ装置20を介して受信し、受信された呼信号をハッシュ化したハッシュ値に基づいて、当該呼信号を自サーバ装置30を含む複数のサーバ装置30(すなわち、分散処理システム1に既設のサーバ装置30)のいずれかに振り分ける(転送する)。サーバ装置30は、CPU(Central Processing Unit)、ROM(Read-Only Memory)、RAM(Random Access Memory)、入出力回路等によって構成されており、機能部として、アプリケーション部31と、アプリケーション部31用の記憶部32と、ミドルウェア部33と、ミドルウェア部33用の記憶部34(記憶手段)と、を備える。
なお、サーバ装置30には、呼を処理するSIP(Session Initiation Protocol)サーバ、呼以外の処理を行う、例えばWebサーバが挙げられる。
アプリケーション部31は、サーバ装置30のCPUのうち、アプリケーションの機能を実行する機能部である。アプリケーション部31は、呼信号に関する情報を記憶部32に記憶させる。アプリケーション部31は、記憶部32に記憶された呼信号に関する情報に基づいて、後記するミドルウェア部33によって自サーバ装置30に振り分けられた呼信号によるセッションの制御を行う。
ミドルウェア部33は、サーバ装置30のCPUのうち、ミドルウェアの機能を実行する機能部である。ミドルウェア部33は、移動元から移動先へのミドルウェアの引継ぎ処理の完了通知を受信するまでは、移動元のアプリケーション処理を継続させる(詳細後記)。ミドルウェア部33は、自サーバ装置30によって取得された呼信号に含まれるユーザ端末装置IDをハッシュ化することによってハッシュ値を算出し、算出されたハッシュ値と予め設定された振り分け規則とに基づいて、自サーバ装置30によって取得された呼信号を、自サーバ装置30を含む複数のサーバ装置30のいずれかへ振り分ける(転送する)。
図2は、移動前クラスタメンバおよび移動後クラスタメンバのアプリケーション部31およびミドルウェア部33の機能ブロック図である。
移動前サーバ装置30を、移動前クラスタメンバ30A、また、移動後サーバ装置30を、移動後クラスタメンバ30Bとして説明する。
図2に示すように、移動前クラスタメンバ30Aは、アプリケーション部31が減設前アプリケーション固有処理部311と、原本プロセス停止部312と、を備える。
移動前クラスタメンバ30Aは、従来技術の減設前に実行するアプリケーション固有処理を、減設前アプリケーション固有処理部311と、原本プロセス停止部312とに分離する。
減設前アプリケーション固有処理部311は、減設前に実行するアプリケーション固有処理を行う。
移動前クラスタメンバ30Aは、ミドルウェア部33がミドルstate引継ぎ完了通知受信部331と、原本削除依頼受信・アプリケーション通知部332と、アプリケーション停止処理判断部333と、切替完了受信部334(完了通知受信手段)と、を備える。
ミドルstate引継ぎ完了通知受信部331は、減設前アプリケーション固有処理部311からミドルstate引継ぎ完了通知受信し、アプリケーション停止処理判断部333に通知する。
原本削除依頼受信・アプリケーション通知部332は、原本削除依頼受信・アプリケーションを原本プロセス停止部312に通知する。
アプリケーション停止処理判断部333は、移動元から移動先へのミドルウェアの引継ぎ処理の完了通知を受信するまでは、移動元のアプリケーション処理を継続させる。
切替完了受信部334は、移動元から移動先へのミドルウェアの引継ぎ処理の完了通知を受信する。
原本昇格完了通知部313は、原本昇格完了を切替完了通知部335に通知する。
移動後クラスタメンバ30Bは、ミドルウェア部33が切替完了通知部335を備える。
切替完了通知部335は、切替完了受信部334に、移動元から移動先へのミドルウェアの引継ぎ処理の完了を通知する。
なお、アプリケーション停止処理判断部333、切替完了受信部334、および切替完了通知部335は、従来技術に追加された機能部である。
[クラスタメンバの動作]
まず、図3、図4のフローを参照して、サーバ装置30(クラスタメンバ)のミドルウェア部33の動作例について具体的に説明する。
<原本プロセス停止遅延判断>
図3は、移動前クラスタメンバ30Aのミドルウェア部33によって実行される、ミドルstate引継ぎ完了通知による原本プロセス停止遅延判断を示すフローチャートである。
まず、ステップS1でミドルstate引継ぎ完了通知受信部331(図2参照)は、移動前クラスタメンバ30Aのアプリケーション部31から完了通知を受信する。
ステップS2でアプリケーション停止処理判断部333(図2参照)は、タイマの計時を開始する。このタイマは、何らかの理由でアプリケーション停止のための完了通知が受け取れなかった場合、タイムアウト処理を行うものである。
ステップS3でアプリケーション停止処理判断部333は、原本プロセス停止遅延コンフィグ値がOFF、切り替え完了通知受信、またはタイマが閾値を超える、のいずれかの条件に該当するか否かを判定する。
上記原本プロセス停止遅延コンフィグ値は、各アプリケーション特性や使用用途に基づき以下を考慮して、保守者が判断し設定する。
原本プロセス停止遅延コンフィグ値をONにしておくことで、原本プロセス停止した後から切り替えが完了するまでにアプリケーション状態の変更があった場合、移動前クラスタメンバ30Aではアプリケーション状態変更が実行されるが、移動後クラスタメンバ30Bには変更が引き継がれない。
ちなみに、従来技術においては、アプリケーション状態の変更を受け付けない期間である。
上記原本プロセス停止遅延コンフィグ値の設定は、アプリケーション状態の変更発生頻度が低い運用形態時に使用する。
上記条件のいずれかに該当する場合(ステップS3:Yes)、ステップS4でアプリケーション停止処理判断部333は、移動前クラスタメンバ30Aの原本プロセス停止部312に原本プロセス停止指示を通知して本フローの処理を終了する。
図4は、移動前クラスタメンバ30Aのミドルウェア部33によって実行される、切替完了通知による原本プロセス停止遅延判断を示すフローチャートである。
ステップS11で切替完了受信部334(図2参照)は、アプリケーション停止処理判断部333に切替完了を通知する。
ステップS12でアプリケーション停止処理判断部333(図2参照)は、タイマの計時を開始する。
ステップS13でアプリケーション停止処理判断部333は、ミドルstate引継ぎ処理を実行する。
ステップS14でアプリケーション停止処理判断部333は、移動後クラスタメンバ30Bのミドルウェア部33の切替完了通知部335(図2参照)から切替完了通知受信するか、または上記タイマが設定値を超えるか否かを判定する。
上記切替完了通知受信するか、または上記タイマが設定値を超えた場合(ステップS14:Yes)、ステップS15でアプリケーション停止処理判断部333は、移動前クラスタメンバ30Aの原本プロセス停止部312に原本プロセス停止指示を通知して本フローの処理を終了する。
次に、分散処理システム1の動作について説明する。
[比較例]
図5は、比較例の分散処理システムの保守コマンド時の動作を示す制御シーケンス図である。なお、アプリケーション処理として「呼」を例に採る。
図5の比較例において、クラスタメンバ#1が移動前クラスタメンバ、クラスタメンバ#2が移動後クラスタメンバである。図5のクラスタメンバ#1のミドルウェア部53は、図2のミドルウェア部33からアプリケーション停止処理判断部333、切替完了受信部334、および切替完了通知部335を、取り去った、従来機能部である。また、図5のクラスタメンバ#1のアプリケーション部51は、図2のアプリケーション部31から減設前アプリケーション固有処理部311と原本プロセス停止部312とを取り去ったものである。
保守機構6は、ネットワークを構成する回線や機材、遠隔地の設備などを監視・管理するための機器などを設置し、管理者が監視や運用、保守などを行う。
図5に示すように、管理者は、保守機構6に保守コマンドを入力する(ステップS101)。保守機構6は、この保守コマンドを受けて、移動前クラスタメンバ#1のミドルウェア部53に原本削除を依頼する(ステップS102)。
移動前クラスタメンバ#1のミドルウェア部53は、移動前クラスタメンバ#1のアプリケーション部51に原本移動を通知する(ステップS103)。
アプリケーション部51は、「原本移動通知」を受けてアプリケーション固有処理を実行する(ステップS104)。なお、図5の白抜きのブロックは、処理の継続期間を表している(以下同様の表記)。
アプリケーション固有処理により「原本プロセス停止」となり(ステップS105)、通話が中断する(図5のg印参照)。以下、「呼」の振り分けが完了(後記ステップS118)するまでが通話中断時間となる。
移動前クラスタメンバ#1のアプリケーション部51は、移動前クラスタメンバ#1のミドルウェア部53に「原本昇格完了」を送信する(ステップS106)。
移動前クラスタメンバ#1のミドルウェア部53は、「原本昇格完了」を受けて、移動後クラスタメンバ#2のミドルウェア部53に「ミドルstate引継ぎ」を送信する(ステップS107)。
移動前クラスタメンバ#1のミドルウェア部53は、「ミドルstate引継ぎ完了」を受けて、原本削除を行う(ステップS109)。
移動前クラスタメンバ#1のミドルウェア部53は、移動後クラスタメンバ#2のミドルウェア部53に「原本登録応答」を送信する(ステップS110)。
移動後クラスタメンバ#2のアプリケーション部51は、「原本昇格通知」を受けて、アプリケーション固有処理やソフトウェアリソース生成などを実行する(ステップS113)。
ところが、ステップS113の処理においては、アプリケーションのstateが引き継がれないため、別場所にあるDB(例えば図1の外部データベースサーバ部40)からのデータ取得などの処理が発生する。すなわち、アプリケーションはstateを持つが、このstateは分散処理によって引き継がれず、別の手段で生成されるデータ取得などの処理が発生する。なお、図5のハッチングのブロックは、遅延時間が生じる処理期間を表している(以下同様の表記)。
移動後クラスタメンバ#2のアプリケーション部51は、電話端末#1に切り替え要求「re-INVITE」を送信し(ステップS115)、順次、電話端末#Nに切り替え要求「re-INVITE」を送信する(ステップS116)。電話端末#1は、通話可能な場合には「200 OK」を応答し(ステップS117)、同様に、電話端末#1は、通話可能な場合には「200 OK」を応答する(ステップS118)。
図1に示すように、分散処理システム1において、既設のサーバ装置30Aがユーザ端末装置10Aの既存呼を処理し(図1の符号a参照)、既設のサーバ装置30Bがユーザ端末装置10Bの既存呼を処理する(図1の符号b参照)。
分散処理システム1に対してサーバ装置30Aが減設された後にユーザ端末装置10Cからの新規呼が発生した場合を例に採り説明する。
分散処理システム1に対してユーザ端末装置10Cからの新規呼が発生した場合、図1の符号c(破線矢印および×印参照)に示すように、ユーザ端末装置10Cからの新規呼は減設対象サーバ装置30Aには振り分けられない。この場合、ユーザ端末装置10Cからの新規呼は、例えばサーバ装置30Bに振り分ける(図1の符号d参照)。
図5の制御シーケンスに戻って、「呼」の振り分けが終了すると、通話が再開する。
移動後クラスタメンバ#2のアプリケーション部51は、「呼」の振り分けが終了すると、移動後クラスタメンバ#2のミドルウェア部53に「原本昇格完了」を通知する(ステップS119)。
図5に示すように、比較例では、通話中断時間が長く、アプリケーション起動遅延によるDプレーンの断時間の増大を招いていた。
図6は、本実施形態の分散処理システム1の保守コマンド時の動作を示す制御シーケンス図である。図5の比較例と同一処理を行うステップには、同一ステップ番号を付している。
<通話中>
図6に示すように、管理者は、保守機構6に保守コマンドを入力する(ステップS101)。保守機構6は、この保守コマンドを受けて、移動前クラスタメンバ#1のミドルウェア部53に原本削除を依頼する(ステップS102)。
移動前クラスタメンバ#1のミドルウェア部53は、移動前クラスタメンバ#1のアプリケーション部51に原本移動を通知する(ステップS103)。
アプリケーション部51は、「原本移動通知」を受けてアプリケーション固有処理を実行する(ステップS104)。
移動前クラスタメンバ#1のミドルウェア部53は、「原本昇格完了」を受けて、移動後クラスタメンバ#2のミドルウェア部53に「ミドルstate引継ぎ」を送信する(ステップS107)。
移動前クラスタメンバ#1のミドルウェア部53は、「ミドルstate引継ぎ完了」を受けて、原本削除を行う(ステップS109)。
移動前クラスタメンバ#1のミドルウェア部53は、移動後クラスタメンバ#2のミドルウェア部53に「原本登録応答」を送信する(ステップS110)。
移動後クラスタメンバ#2のアプリケーション部51は、「原本昇格通知」を受けて、アプリケーション固有処理やソフトウェアリソース生成などを実行する(ステップS113)。
ここで初めて停止となる。また、Dプレーンは電話と直接やりとりしているため、アプリケーションが終了しなければ通話続行可能である。
通話中断時間は、ほぼ瞬断であり、Dプレーンの断時間は極めて短い。
移動後クラスタメンバ#2のアプリケーション部51は、アプリケーション固有処理やソフトウェアリソース生成処理の終了後、電話端末(ユーザ端末装置)2の切り替えを行う(ステップS114)。電話端末2は、ロードバランサ3(図1参照)を介して移動後クラスタメンバ#2とSIPを用いてやり取りを行う。
移動後クラスタメンバ#2のアプリケーション部51は、電話端末#1に切り替え要求「re-INVITE」を送信し(ステップS115)、順次、電話端末#Nに切り替え要求「re-INVITE」を送信する(ステップS116)。電話端末#1は、通話可能な場合には「200 OK」を応答し(ステップS117)、同様に、電話端末#1は、通話可能な場合には「200 OK」を応答する(ステップS118)。
「呼」の振り分けが終了すると、通話が再開する。
移動後クラスタメンバ#2のアプリケーション部51は、「呼」の振り分けが終了すると、移動後クラスタメンバ#2のミドルウェア部53に「原本昇格完了」を通知する(ステップS119)。
移動前クラスタメンバ#1のミドルウェア部53は、移動後クラスタメンバ#2のアプリケーション部51に「切替え完了応答」を送信する(ステップS202)。
原本プロセス停止
移動前クラスタメンバ#1のアプリケーション部51は、「切替え完了応答」を受けて、「原本プロセス停止」となり(ステップS203)、通話が中断する(図6のh印参照)。
移動対象であるDDCの原本プロセスの停止を移動完了後にすることになる。
このように、ミドルウェアもアプリケーションもstateを持つようなアプリケーションを分散処理基盤に適用した場合の切り替え時間を削減することができる。
図7は、本発明の第2の実施形態に係る分散処理システムの移動前クラスタメンバおよび移動後クラスタメンバのアプリケーション部31およびミドルウェア部33の機能ブロック図である。
図7に示すように、本発明の実施形態に係る分散処理システムの移動後クラスタメンバ30Bは、アプリケーション部31が外部DB取得部315Bおよび開始前アプリケーション固有処理部316Bからなるアプリケーション開始処理部314Bを備える。
アプリケーション開始処理部314Bは、アプリケーション開始処理を行う。
外部DB取得部315Bは、外部データベースサーバ部40のDB40aにアクセスし、データを取得する。
開始前アプリケーション固有処理部316Bは、開始前アプリケーション固有処理を行う。
ここで、減設前に実行するアプリケーション固有処理を原本プロセス停止部とその他に分離している。
複製登録処理部333Bは、複製登録処理を行う。
複製アプリケーション開始判断部334Bは、複製アプリケーション開始を判断する。
複製アプリケーション開始依頼部335Bは、複製アプリケーション開始を依頼する。
[クラスタメンバの動作]
図8は、移動後クラスタメンバ30Bのミドルウェア部33によって実行される、複製アプリケーション開始判断を示すフローチャートである。
ステップS31で複製登録処理部333Bは、複製作成に必要な処理を実行し、実行後にその処理結果を複製アプリケーション開始判断部334Bに通知する。
ステップS32で複製アプリケーション開始判断部334Bは、複製アプリケーションを予め起動するか否かを、予め保守者が設定した複製アプリケーション開始判断コンフィグ値により判断する。
複製アプリケーション開始判断コンフィグ値は、複製アプリケーションを開始するか否かを設定する。複製ACT ONにすることで、このコンフィグ値が参照される。複製アプリケーション開始判断コンフィグ値は、各アプリケーション特性や使用用途に基づき以下を考慮して、保守者が判断・設定する。
複製ACT ONにすることで、故障発生時のサービス中断時間が短くなる。ただし、複製ACT ONにすることで、複製側のアプリケーションも起動するため、運用時の負荷が高くなる。運用負荷が高くなっても、できる限りサービス中断時間を短くしたいような運用形態時に、複製ACT ONにより使用する。
まず、分散処理システムの保守コマンド時の動作について説明する。
図9は、本実施形態の分散処理システムの保守コマンド時の動作を示す制御シーケンス図である。図5の比較例と同一処理を行うステップには、同一ステップ番号を付している。
前提として、移動先のアプリケーションはアクト状態で立ち上げておく。すなわち、予め、原本作成と同時に複製もアクトスタンバイ状態にしておく。
移動後クラスタメンバ#2のアプリケーション部31は、事前準備で予めアプリケーションを起動し、アプリケーション固有処理やソフトウェアリソース生成などを実行する(ステップS301)。
管理者は、保守機構6に保守コマンドを入力する(ステップS101)。保守機構6は、この保守コマンドを受けて、移動前クラスタメンバ#1のミドルウェア部33に原本削除を依頼する(ステップS102)。
移動前クラスタメンバ#1のミドルウェア部33は、移動前クラスタメンバ#1のアプリケーション部31に原本移動を通知する(ステップS103)。
アプリケーション部31は、「原本移動通知」を受けてアプリケーション固有処理を実行する(ステップS104)。
アプリケーション固有処理により「原本プロセス停止」となり(ステップS105)、通話が中断する(図9のj印参照)。以下、「呼」の振り分けが完了(後記ステップS118)するまでが通話中断時間となる。
移動前クラスタメンバ#1のアプリケーション部31は、移動前クラスタメンバ#1のミドルウェア部33に「原本昇格完了」を送信する(ステップS106)。
移動前クラスタメンバ#1のミドルウェア部33は、「原本昇格完了」を受けて、移動後クラスタメンバ#2のミドルウェア部33に「ミドルstate引継ぎ」を送信する(ステップS107)。
移動前クラスタメンバ#1のミドルウェア部33は、「ミドルstate引継ぎ完了」を受けて、原本削除を行う(ステップS109)。
移動前クラスタメンバ#1のミドルウェア部33は、移動後クラスタメンバ#2のミドルウェア部33に「原本登録応答」を送信する(ステップS110)。
移動後クラスタメンバ#2のミドルウェア部33は、原本登録を行う(ステップS111)とともに、移動後クラスタメンバ#2のアプリケーション部31に「原本昇格通知」を送信する(ステップS112)。
移動後クラスタメンバ#2のアプリケーション部31は、電話端末#1に切り替え要求「re-INVITE」を送信し(ステップS115)、順次、電話端末#Nに切り替え要求「re-INVITE」を送信する(ステップS116)。電話端末#1は、通話可能な場合には「200 OK」を応答し(ステップS117)、同様に、電話端末#1は、通話可能な場合には「200 OK」を応答する(ステップS118)。
「呼」の振り分けが終了すると、通話が再開する。
移動後クラスタメンバ#2のアプリケーション部31は、「呼」の振り分けが終了すると、移動後クラスタメンバ#2のミドルウェア部33に「原本昇格完了」を通知する(ステップS119)。
次に、分散処理システムの故障時の動作について説明する。
[比較例]
図10は、比較例の分散処理システムの故障時の動作を示す制御シーケンス図である。図5の比較例と同一処理を行うステップには、同一ステップ番号を付している。
<通話中>
移動前クラスタメンバ#1のアプリケーション部51において、通話中に故障が発生したとする(ステップS401)(図10のk印参照)。
保守機構6は、クラスタメンバ(ここでは移動前クラスタメンバ#1)の故障を発見する(ステップS402)。
保守機構6は、移動後クラスタメンバ#2のミドルウェア部53に原本登録を依頼する(ステップS403)。
移動後クラスタメンバ#2のミドルウェア部53は、原本登録依頼を受けて、原本登録を行う(ステップS404)。移動後クラスタメンバ#2のミドルウェア部53は、移動後クラスタメンバ#2のアプリケーション部51に原本昇格を通知する(ステップS405)。
移動後クラスタメンバ#2のアプリケーション部51は、「原本昇格通知」を受けてアプリケーション固有処理やソフトウェアリソース生成などを実行する(ステップS406)。上述したように、アプリケーション固有処理やソフトウェアリソース生成などは、別場所にあるDB(例えば図1の外部データベースサーバ部40)からのデータ取得などの処理が発生するため、時間がかかる。
移動後クラスタメンバ#2のアプリケーション部51は、電話端末#1に切り替え要求「re-INVITE」を送信し(ステップS408)、順次、電話端末#Nに切り替え要求「re-INVITE」を送信する(ステップS409)。電話端末#1は、通話可能な場合には「200 OK」を応答し(ステップS410)、同様に、電話端末#1は、通話可能な場合には「200 OK」を応答する(ステップS411)。
移動後クラスタメンバ#2のアプリケーション部51は、「呼」の振り分けが終了すると、移動後クラスタメンバ#2のミドルウェア部53に「原本昇格完了」を通知する(ステップS119)。
比較例では、通話中断時間が長く、アプリケーション起動遅延によるDプレーンの断時間が増大していた。
図11は、本実施形態の分散処理システムの故障時の動作を示す制御シーケンス図である。図10の比較例と同一処理を行うステップには、同一ステップ番号を付している。
移動後クラスタメンバ#2のアプリケーション部31は、事前準備で予めアプリケーションを起動し、アプリケーション固有処理やソフトウェアリソース生成などを実行する(ステップS301)。予め、原本作成と同時に複製もアクトスタンバイ状態にしておく。
移動前クラスタメンバ#1のアプリケーション部51において、通話中に故障が発生したとする(ステップS401)(図10のk印参照)。
保守機構6は、クラスタメンバ(ここでは移動前クラスタメンバ#1)の故障を発見する(ステップS402)。
保守機構6は、移動後クラスタメンバ#2のミドルウェア部53に原本登録を依頼する(ステップS403)。
移動後クラスタメンバ#2のミドルウェア部53は、原本登録依頼を受けて、原本登録を行う(ステップS404)。移動後クラスタメンバ#2のミドルウェア部53は、移動後クラスタメンバ#2のアプリケーション部51に原本昇格を通知する(ステップS405)。
移動後クラスタメンバ#2のアプリケーション部51は、電話端末#1に切り替え要求「re-INVITE」を送信し(ステップS408)、順次、電話端末#Nに切り替え要求「re-INVITE」を送信する(ステップS409)。電話端末#1は、通話可能な場合には「200 OK」を応答し(ステップS410)、同様に、電話端末#1は、通話可能な場合には「200 OK」を応答する(ステップS411)。
移動後クラスタメンバ#2のアプリケーション部51は、「呼」の振り分けが終了すると、移動後クラスタメンバ#2のミドルウェア部53に「原本昇格完了」を通知する(ステップS412)。
また、故障時の切り替え時間も削減することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
10,10A,10B,10C ユーザ端末装置
20 バランサ装置
30,30A,30B,30C, サーバ装置
31 アプリケーション部
33 ミドルウェア部
311 減設前アプリケーション固有処理部
312 原本プロセス停止部
333 アプリケーション停止処理判断部(アプリケーション停止判断手段)
334 切替完了受信部(完了通知受信手段)
315B 外部DB取得部
316B 開始前アプリケーション固有処理部
314 アプリケーション開始処理部
333B 複製登録処理部
334B 複製アプリケーション開始判断部(アプリケーション開始処理手段)
335B 複製アプリケーション開始依頼部
Claims (4)
- 自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続するCプレーン(Control Plane)とDプレーン(Data Plane)が一体化した分散処理システムに用いられるサーバ装置であって、
前記サーバ装置は、
前記ミドルウェアの複製作成時から移動先のアプリケーションを予め起動したアクトスタンバイ状態とするアプリケーション開始処理手段を備え、
前記アプリケーション開始処理手段は、原本作成と同時に移動先の前記他のサーバ装置の前記アプリケーションをアクトスタンバイ状態で立ち上げさせるとともに、前記Dプレーンで用いるアプリケーション固有処理およびソフトウェアリソース生成を実行させておき、原本昇格の通知を受けると、アクトスタンバイ状態で立ち上げておいた、かつ、予め実行しておいた前記アプリケーション固有処理および前記ソフトウェアリソース生成を用いて、前記アプリケーションによるサービスの切り替えを行う
ことを特徴とするサーバ装置。 - 前記アプリケーション開始処理手段は、
自身のアプリケーションプロセス終了後に、前記他のサーバ装置へのミドルウェアの引継ぎ処理およびサービスの切り替え処理を行う
ことを特徴とする請求項1に記載のサーバ装置。 - 自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続するCプレーン(Control Plane)とDプレーン(Data Plane)が一体化した分散処理システムに用いられるサーバ装置による分散処理方法であって、
前記サーバ装置が、
前記ミドルウェアの複製作成時から移動先のアプリケーションを予め起動したアクトスタンバイ状態とするとともに、
原本作成と同時に移動先の前記他のサーバ装置の前記アプリケーションをアクトスタンバイ状態で立ち上げさせるとともに、前記Dプレーンで用いるアプリケーション固有処理およびソフトウェアリソース生成を実行させておき、原本昇格の通知を受けると、アクトスタンバイ状態で立ち上げておいた、かつ、予め実行しておいた前記アプリケーション固有処理および前記ソフトウェアリソース生成を用いて、前記アプリケーションによるサービスの切り替えを行うステップ
を実行することを特徴とする分散処理方法。 - 自身で保持しているミドルウェアの処理状態データを他のサーバ装置に複製として作成し、自身が減設された際、前記複製が原本に昇格し、前記他のサーバ装置に処理が振り分けられることによって前記ミドルウェアとアプリケーションとの処理を継続するCプレーン(Control Plane)とDプレーン(Data Plane)が一体化した分散処理システムに用いられるサーバ装置としてのコンピュータを、
前記ミドルウェアの複製作成時から移動先のアプリケーションを予め起動したアクトスタンバイ状態とするとともに、
原本作成と同時に移動先の前記他のサーバ装置の前記アプリケーションをアクトスタンバイ状態で立ち上げさせるとともに、前記Dプレーンで用いるアプリケーション固有処理およびソフトウェアリソース生成を実行させておき、原本昇格の通知を受けると、アクトスタンバイ状態で立ち上げておいた、かつ、予め実行しておいた前記アプリケーション固有処理および前記ソフトウェアリソース生成を用いて、前記アプリケーションによるサービスの切り替えを行うアプリケーション開始処理手段、
として機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018117605A JP7135489B2 (ja) | 2018-06-21 | 2018-06-21 | 分散処理システムに用いられるサーバ装置、分散処理方法およびプログラム |
US17/253,719 US20210266367A1 (en) | 2018-06-21 | 2019-06-19 | Server device used in distributed processing system, distributed processing method, and program |
PCT/JP2019/024305 WO2019244932A1 (ja) | 2018-06-21 | 2019-06-19 | 分散処理システムに用いられるサーバ装置、分散処理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018117605A JP7135489B2 (ja) | 2018-06-21 | 2018-06-21 | 分散処理システムに用いられるサーバ装置、分散処理方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019219976A JP2019219976A (ja) | 2019-12-26 |
JP7135489B2 true JP7135489B2 (ja) | 2022-09-13 |
Family
ID=68984044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018117605A Active JP7135489B2 (ja) | 2018-06-21 | 2018-06-21 | 分散処理システムに用いられるサーバ装置、分散処理方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210266367A1 (ja) |
JP (1) | JP7135489B2 (ja) |
WO (1) | WO2019244932A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006058960A (ja) | 2004-08-17 | 2006-03-02 | Nec Corp | 冗長構成のサーバシステムにおける同期化方法及びシステム |
JP2012215937A (ja) | 2011-03-31 | 2012-11-08 | Hitachi Solutions Ltd | データベースのストリーム型レプリケーション機能を用いたスケールアップとダウン方法及びシステム |
-
2018
- 2018-06-21 JP JP2018117605A patent/JP7135489B2/ja active Active
-
2019
- 2019-06-19 US US17/253,719 patent/US20210266367A1/en not_active Abandoned
- 2019-06-19 WO PCT/JP2019/024305 patent/WO2019244932A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006058960A (ja) | 2004-08-17 | 2006-03-02 | Nec Corp | 冗長構成のサーバシステムにおける同期化方法及びシステム |
JP2012215937A (ja) | 2011-03-31 | 2012-11-08 | Hitachi Solutions Ltd | データベースのストリーム型レプリケーション機能を用いたスケールアップとダウン方法及びシステム |
Non-Patent Citations (1)
Title |
---|
片岡 操,分散処理技術を利用したN-act型電話会議システムの運用と評価 ,電子情報通信学会技術研究報告 ,日本,一般社団法人電子情報通信学会,2018年02月22日,第117巻,第459号,pp.193-198 |
Also Published As
Publication number | Publication date |
---|---|
US20210266367A1 (en) | 2021-08-26 |
WO2019244932A1 (ja) | 2019-12-26 |
JP2019219976A (ja) | 2019-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210117224A1 (en) | Virtual machine migration while maintaining live network links | |
JP5513997B2 (ja) | 通信システムおよび通信システム更新方法 | |
KR102059251B1 (ko) | 노드 시스템, 서버 장치, 스케일링 제어 방법 및 프로그램 | |
KR101924746B1 (ko) | 네트워크 기능 가상화의 관리, 및 오케스트레이션 장치, 시스템, 관리 방법 및 프로그램 | |
RU2507703C2 (ru) | Объединение ресурсов в сервере центра коммутации с кластером с электронными платами | |
US20170024450A1 (en) | Systems and methods for autonomous, scalable, and distributed database management | |
JP6857781B2 (ja) | ビジネス移行のための方法および装置 | |
EP2907025A1 (en) | Methods for zero loss and nonstop packet processing during system software upgrades | |
JP2019512974A (ja) | 仮想ネットワーク機能の移行のための方法 | |
JP5859634B2 (ja) | 移動体通信システム、通信システム、呼処理ノード及び通信制御方法 | |
WO2017215408A1 (zh) | 会话切换控制方法、装置及接入点设备 | |
US20060282831A1 (en) | Method and hardware node for customized upgrade control | |
US10216593B2 (en) | Distributed processing system for use in application migration | |
Doan et al. | Follow me, if you can: A framework for seamless migration in mobile edge cloud | |
JP5579224B2 (ja) | 移動体通信システム、呼処理ノード及び通信制御方法 | |
JP2008167359A (ja) | Ip電話システムにおける所分割方法,ファイル更新方法及びip電話システム | |
JP5667506B2 (ja) | クラスタシステムおよびソフトウェアアップデート方法 | |
JP7135489B2 (ja) | 分散処理システムに用いられるサーバ装置、分散処理方法およびプログラム | |
KR101883671B1 (ko) | 노드 분산 방법 및 이를 수행하는 관리 서버 | |
JP2022092156A (ja) | アプリ間通信制御方法およびアプリ間通信制御プログラム | |
JP6745767B2 (ja) | 通信サービスシステムおよび系切り戻し方法 | |
JP6243294B2 (ja) | 通信システム、制御装置及びデータベースアクセス方法 | |
JP2017215872A (ja) | バックアップ制御サーバ、およびサービス制御サーバのアプリケーションデータバックアップ方法 | |
JP5551967B2 (ja) | クラスタシステム、クラスタシステムのスケールアウト方法、リソースマネージャ装置、サーバ装置 | |
CN118467507A (zh) | 数据库节点的下线处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220427 |
|
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: 20220802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220815 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7135489 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |