JP2017167675A - 情報処理システム、情報処理方法、及びサーバ - Google Patents
情報処理システム、情報処理方法、及びサーバ Download PDFInfo
- Publication number
- JP2017167675A JP2017167675A JP2016050198A JP2016050198A JP2017167675A JP 2017167675 A JP2017167675 A JP 2017167675A JP 2016050198 A JP2016050198 A JP 2016050198A JP 2016050198 A JP2016050198 A JP 2016050198A JP 2017167675 A JP2017167675 A JP 2017167675A
- Authority
- JP
- Japan
- Prior art keywords
- server
- information
- service
- instruction
- standby
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
Abstract
【課題】平常時のサービス提供に用いられないサーバのリソースの使用量を抑える。【解決手段】サービスを提供する稼働系のサーバと、前記稼働系のサーバで前記サービスを提供できないときに該サービスを提供する予備系のサーバと、前記稼働系のサーバに記憶されている情報を用いて、前記予備系のサーバの状態を前記稼働系のサーバの状態に同期させる同期制御サーバと、を有する情報処理システムにおいて、前記同期制御サーバは、前記予備系のサーバに、前記稼働系のサーバから情報を取得させる同期指示部、を有し、前記予備系のサーバは、同期の指示を受けたことに応じて生成される処理実行部を有し、前記処理実行部は、前記稼働系のサーバから前記情報を取得し、取得した前記情報を記憶部に記憶させた後に、削除される情報処理システム、が提供される。【選択図】図4
Description
本発明は、情報処理システム、情報処理方法、及びサーバに関する。
ユーザが端末を用いて、各種Webサービスを提供するサーバにアクセスし、サービス提供を受ける形態が普及している。
また、平常時にサービスを提供する稼働系のサーバの故障等に備えて、予備系のサーバを配備することも実施されている。例えば、予備系のサーバを配置し、予備系のサーバに記憶される情報を、稼働系のサービス提供サーバに記憶される情報に同期させることにより、稼働系のサーバが故障した場合でも、予備系のサーバを用いてサービスの提供を継続することが提案されている(例えば、特許文献1)。
しかしながら、故障等の非常時の使用を前提としている予備系のサーバを、常時動作させ、情報を同期させることは、サービス提供コストの増加要因となり得るため好ましくない場合がある。予備系のサービス提供サーバは、第三者が提供するクラウドインフラプラットフォーム(以下、クラウド)上に構築される場合が多い。この場合、クラウドを運営する第三者から、サーバの使用する処理能力や記憶容量等のリソースの使用量に応じて、サーバの使用料を課金されるケースが一般的である。このため、各種Webサービスの提供者にとっては、可能な限りクラウド上に構築されている予備系のサーバのリソースの使用量を抑えることが好ましい。
本発明は、上記の課題に鑑みてされたものであって、平常時のサービス提供に用いられないサーバのリソースの使用量を抑えることを目的とする。
一つの態様によれば、サービスを提供する稼働系のサーバと、前記稼働系のサーバで前記サービスを提供できないときに該サービスを提供する予備系のサーバと、前記稼働系のサーバに記憶されている情報を用いて、前記予備系のサーバの状態を前記稼働系のサーバの状態に同期させる同期制御サーバと、を有する情報処理システムにおいて、前記同期制御サーバは、前記予備系のサーバに、前記稼働系のサーバから情報を取得させる同期指示部、を有し、前記予備系のサーバは、同期の指示を受けたことに応じて生成される処理実行部を有し、前記処理実行部は、前記稼働系のサーバから前記情報を取得し、取得した前記情報を記憶部に記憶させた後に、削除される情報処理システム、が提供される。
平常時のサービス提供に用いられないサーバのリソースの使用量を抑えることが可能となる。
<システム構成>
図1を用いて、本実施形態に係る情報処理システム1について説明する。情報処理システム1は、稼働系のサーバ群10、予備系のサーバ群20、端末30、及び運用制御サーバ50を有する。端末30、サーバ群(10、20)、及び運用制御サーバ50は、ネットワーク40を介して接続される。ネットワーク40は有線ネットワークと、無線ネットワークとを有する。
図1を用いて、本実施形態に係る情報処理システム1について説明する。情報処理システム1は、稼働系のサーバ群10、予備系のサーバ群20、端末30、及び運用制御サーバ50を有する。端末30、サーバ群(10、20)、及び運用制御サーバ50は、ネットワーク40を介して接続される。ネットワーク40は有線ネットワークと、無線ネットワークとを有する。
稼働系のサーバ群10は、平常時にユーザ35にサービスを提供するサーバ群である。稼働系のサーバ群10は、一以上のサーバ装置を有し、ユーザ35に各種サービスを提供する機能が配備されている。例えば、稼働系のサーバ群10は、ユーザ35のログイン処理を行うログインサーバ、アプリケーションの処理の実行及び端末30へのアプリケーションの提供を行うアプリケーションサーバ、端末30への各種コンテンツの提供を行うコンテンツサーバ、端末30に映像配信サービスの提供を行う映像配信サーバ、ユーザ35の情報と各種サービスを提供するために必要な情報を記憶するデータベースサーバ、及びデータベースに記憶されているデータを永続的に記憶するためのデータストアの機能を有する。
端末30は、サービスの提供を受けるユーザ35の端末であって、例えば、スマートフォン、タブレット端末、及びパソコン等である。
端末30は、ユーザ35からの指示を受けて、サービス提供要求を、稼働系のサーバ群10に送信し、稼働系のサーバ群10から要求信号の応答を受信する。信号45は、サービス提供要求と応答とを示している。
予備系のサーバ群20は、一以上のサーバ装置を有し、運用制御サーバ50からの指示を受けて、稼働系のサーバ群10と同様の機能が生成される。予備系のサーバ群20は、稼働系のサーバ群10の故障等により正常に動作できない場合に、ユーザ35に、稼働系のサーバ群10が提供するのと同様のサービスを提供する。
稼働系のサーバ群10の故障時にサービスを提供するために、予備系のサーバ群20は、所定の条件を満たす場合、稼働系のサーバ群10で記憶している情報を取得し(信号25)、取得した情報を記憶する。情報が取得されたタイミングでは、稼働系のサーバ群10で記憶している情報と、予備系のサーバ群20で記憶している情報とは、同期している。
所定の条件は、情報の種類毎に設定される。使用する予備系のサーバ群20のリソースを節約するため、情報の重要度に応じて所定の条件は調整されてもよい。ここで、情報の重要度は、例えば、最新の情報を記憶しておく必要性に基づいて定められる。例えば、ユーザ35に提供するサービスの提供に影響のあるユーザの登録情報等は、所定の数のユーザが登録される度に、同期するように所定の条件は調整されてもよい。また、サービスに影響の少ないサービスの提供状態等に関する情報(例えば、統計情報)は、1日に1回同期するように所定の条件は調整されてもよい。
図1に示すように、稼働系のサーバ群10と、予備系のサーバ群20とは、別のデータセンタに配備されることが好ましい。停電等により、データセンタに配備されている全てのサーバが、正常に動作できない場合であっても、予備系のサーバ群20に切り替えて、ユーザにサービスを提供できるためである。
予備系のサーバ群20は、第三者が提供するクラウドインフラサービスプラットフォーム(以下、クラウド)上に配備されることが想定される。この場合、クラウド上のサーバ群は、クラウドを使用する事業者が共用するため、予備系のサーバ群20の配置コストを抑えることが可能である。
クラウド上に、配備されているサーバ群を使用する場合、該サーバ群の使用時間、及び使用する記憶容量等の使用リソース量に応じて、サーバ群の使用者は、クラウドの提供者に費用を支払うことが一般的である。このため、予備系のサーバ群20の配置コストを抑えるためには、予備系のサーバ群20が使用するクラウド上のリソース量を抑えることが好ましい。
運用制御サーバ50は、稼働系のサーバ群10に記憶されている情報を用いて、予備系のサーバ群の状態を稼働系のサーバの状態に同期させる。
運用制御サーバ50は、予備系のサーバ群20上に、稼働系のサーバ群10が提供しているのと同様の機能を生成させる。
運用制御サーバ50は、稼働系のサーバ群10に記憶されている情報の種類毎に更新状態を取得し(信号53)、更新状態を取得した情報の各々を予備系のサーバ群20に記憶させる必要があるか否かを判断する。必要があると判断した場合、運用制御サーバ50は、予備系のサーバ群20に、稼働系のサーバ群10から情報を取得することを指示する(信号55)。
図2を用いて、稼働系のサーバ群10が正常に動作しなくなった場合の動作について説明する。稼働系のサーバ群10が正常に動作しなくなった場合とは、稼働系のサーバ群10の装置故障に加えて、ネットワーク40の異常、稼働系のサーバ群10の電源供給の異常等のサービス提供事業者では、解決困難な場合を含む。
ステップS201で、運用制御サーバ50が、稼働系のサーバ群10の故障を検出する。
ステップS202で、運用制御サーバ50は、予備系のサーバ群20に、処理の開始を指示する。処理の開始の指示を受けて、予備系のサーバ群20は、稼働系のサーバ群10が提供しているのと同様の機能を生成する。具体的には、予備系のサーバ群20は、サーバの起動処理、アプリケーションの展開処理、及びアプリケーションの稼働の事前設定処理を行う。
予備系のサーバ群20の起動処理等を実行するときには、予備系のサーバ群20は、稼働系のサーバ群10から取得し、予備系のサーバ群20のデータストアに記憶されている情報を用いて起動処理を行う。
これらの処理を実行することにより、予備系のサーバ群20は、ユーザにサービスを提供可能な状態となる。
例えば、予備系のサーバ群20は、予備系のサーバ群20上に実行インスタンスを生成し、ユーザにサービスを提供する。ここで、実行インスタンスとは、コンピュータプログラム及びデータ構造等を、サーバのメインメモリ上に展開し、処理・実行できる状態とした仮想的なコンピュータである。
運用制御サーバ50は、API(Application Interface)を指定、又はサーバ起動時のスクリプトを指定することにより、予備系のサーバ群20上に、稼働系のサーバ群10で提供する機能と同様の機能を提供する実行インスタンスを生成させてもよい。この場合に、必要に応じて、データをデータストアから読み出し予備系のサーバ群20上のデータベースで使用してもよい。読み出しには、汎用的なデータベースミドルウエアを用いることが可能である。
運用制御サーバ50は、予備系のサーバ群20がサービスを提供可能な状態となった後に、ステップS203以降の処理を実行する。
ステップS203で、運用制御サーバ50は、DNSサーバ60にDNSクエリに対する応答の変更を指示する。ここで、DNSクエリは、サービスを提供するサーバの接続先のアドレスの問い合わせである。具体的には、運用制御サーバ50は、稼働系のサーバ群10のIPアドレスから、予備系のサーバ群20のIPアドレスに変更することを、DNSサーバ60に指示する。
ステップS204で、端末30は、DNSサーバ60にサービスを提供するサーバの接続先の問い合わせを送信すると、DNSサーバ60から接続先のIPアドレス、この場合は、予備系のサーバ群20のIPアドレスを受信する。
ステップS205で、端末30は、ステップS204で取得したIPアドレスを用いて、予備系のサーバ群20にサービス提供要求を送信する。
<予備系のサーバ群の起動及びデータの同期>
図3を用いて予備系のサーバ群20の起動処理について説明する。
図3を用いて予備系のサーバ群20の起動処理について説明する。
図3の(A)は、予備系のサーバ群20が、運用制御サーバ50から処理開始の指示を受けたときの様子を示す図である。予備系のサーバ群20のデータストア201は、予備系のサーバ群20が、稼働系のサーバ群10から取得した情報を、取得した時刻(同期時刻)と対応付けて記憶している。図3の(A)の例では、データストア201は、同期時刻T1に稼働系のサーバ群10から取得した情報Aと、情報Bとを記憶している。データストア201に記憶されている情報は、予備系のサーバ群20上の実行インスタンスが削除された後も消去されない情報である。
図3の(B)は、処理の開始の指示を受けて、予備系のサーバ群20上に実行インスタンス202が生成される様子を示している。実行インスタンス202は、データストア201に記憶されている情報(情報A、情報B)を読出し、読み出した情報を用いて、サービスを提供するための処理を実行する。
次に、図4を用いて予備系のサーバ群20の同期処理について説明する。
図4の(A)は、予備系のサーバ群20が、運用制御サーバ50から同期の指示を受けたときの様子を示す図である。同期の指示には、同期すべき情報の種類(情報A)を含む。
図4の(B)は、予備系のサーバ群20上に実行インスタンス202が生成される様子を示している。同期の指示を受けたことに応じて、予備系のサーバ群20上に実行インスタンス202が生成される。生成された実行インスタンス202は、データストア201から情報を読出し、前回同期処理を実行したときの稼働系のサーバ群10と同じ状態で動作する。
図4の(C)は、実行インスタンス202が稼働系のサーバ群10から、情報を取得する様子を示している。実行インスタンス202は、稼働系のサーバ群10から、現在の時刻T3における情報(情報A、情報B)を取得する。ここで、実行インスタンス202は、前回同期した時刻T1における情報(情報A、情報B)からの差分の情報のみを、稼働系のサーバ群10から取得してもよい。
図4の(D)は、実行インスタンス202が、取得した時刻T3における情報(情報A、情報B)をデータストア201に書き込む様子を示している。
図4の(E)は、実行インスタンス202が、データストア201への書込みに完了後に、予備系のサーバ群20から削除される様子を示している。
実行インスタンス202が同期処理の完了後に、削除されることにより、予備系のサーバ群20上の使用リソースを削減することが可能となる。これにより、予備系のサーバ群20の運用コストの削減に寄与することができる。
なお、上述した実施形態では、情報の種類毎に関わらず同じタイミングで同期の処理が実行されるケースについて説明したが、異なるタイミングで同期の処理が実行されてもよい。同じタイミングで同期の処理を行う場合、情報の状態管理が容易であるというメリットがある。
<ハードウエア構成>
運用制御サーバ50、予備系のサーバ群20及び稼働系のサーバ群10に属するサーバは、一般的なコンピュータ300により実現される。図5は、一般的なコンピュータ300のハードウエアの構成を示す図である。コンピュータ300は入出力部301、外部I/F302、RAM303、ROM304、CPU305、通信I/F306、HDD307などを備え、それぞれがバスBで相互に接続されている。
運用制御サーバ50、予備系のサーバ群20及び稼働系のサーバ群10に属するサーバは、一般的なコンピュータ300により実現される。図5は、一般的なコンピュータ300のハードウエアの構成を示す図である。コンピュータ300は入出力部301、外部I/F302、RAM303、ROM304、CPU305、通信I/F306、HDD307などを備え、それぞれがバスBで相互に接続されている。
入出力部301は、コンピュータ300のユーザから、各種設定を受け付けると共に、設定されている情報等を表示する。
通信I/F306は、他のサーバ、端末30等と、有線、又は無線のネットワークを介して通信を行う。
HDD307はプログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータにはコンピュータ300全体を制御する基本ソフトウエアであるOS、OS上において各種機能を提供するアプリケーションソフトウエアなどがある。なお、コンピュータ300は、HDD307に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであってもよい。
外部I/F302は、外部装置とのインタフェースである。外部装置には、外部記録媒体302aなどがある。これにより、コンピュータ300は外部I/F302を介して外部記録媒体302aの読み取り及び/又は書き込みを行うことができる。外部記録媒体302aにはフレキシブルディスク、CD、DVD、SDメモリカード、及びUSBメモリなどがある。
ROM304は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)の一例である。ROM304にはコンピュータ300の起動時に実行されるBIOS、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM303はプログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)の一例である。
CPU305は、ROM304及びHDD307などの記憶装置からプログラムやデータをRAM303上に読み出し、処理を実行することで、コンピュータ300全体の制御やコンピュータ300の機能を実現する演算装置である。
<機能構成>
(1)運用制御サーバ
図6を用いて運用制御サーバ50の機能構成について説明する。運用制御サーバ50は、送受信部510、情報取得部520、判断部530、同期指示部540、状態検知部550、切替制御部560、及び情報記憶部570を有する。情報記憶部570は、同期判断テーブル571を有する。
(1)運用制御サーバ
図6を用いて運用制御サーバ50の機能構成について説明する。運用制御サーバ50は、送受信部510、情報取得部520、判断部530、同期指示部540、状態検知部550、切替制御部560、及び情報記憶部570を有する。情報記憶部570は、同期判断テーブル571を有する。
送受信部510は、他のサーバ等との間でデータの送受信を行う。
情報取得部520は、稼働系のサーバ群10が記憶している情報の状態を、稼働系のサーバ群10から取得する。情報の状態とは、例えば、新たに登録された顧客情報の件数、及び顧客情報の連絡先等を相互に登録する情報であるコンタクトリストに含まれるコンタクト先の件数等である。
判断部530は、取得した更新状態を基に、予備系のサーバ群20で記憶されている情報を、稼働系のサーバ群10で記憶されている情報に同期させるか否かを判断する。判断部530は、判断のときに、同期判断テーブル571を参照する。
同期指示部540は、予備系のサーバ群20に同期の指示を行う。同期の指示には、同期すべき情報の種類を含んでもよいし、全ての情報を同期する旨を含んでもよい。
状態検知部550は、稼働系のサーバ群10が正常に動作しているか否かを監視する。状態検知部550は、稼働系のサーバ群10が正常に動作していない状態であることを検知した場合、切替制御部560に通知する。正常に動作していない状態とは、例えば、稼働系のサーバ群10の故障している状態、及び電源断やネットワーク40の故障により稼働系のサーバ群10と正常にデータの送受信できない状態等である。
切替制御部560は、稼働系のサーバ群10が正常に動作していない場合に、予備系のサーバ群20に切り替える処理を実行する。切替制御部560は、予備系のサーバ群20に、起動する指示を行う。また、切替制御部560は、予備系のサーバ群20から、起動処理が完了した旨の応答を受信したことに応じて、DNSサーバ60にDNSクエリの応答を予備系のサーバ群20のアドレスに変更することを指示する。
情報記憶部570は、情報取得部520が取得した情報の状態を、取得した時刻と対応付けて記憶する。情報記憶部570は、同期判断テーブル571を有する。図7は、同期判断テーブル571の一例である。同期判断テーブル571には、判断項目と設定値とが対応付けられて記憶されている。
判断部530は、情報取得部520が取得した情報の状態と、情報記憶部570が記憶している情報の状態とを比較し、情報の更新状態を算出する。例えば、情報取得部520が時刻T1における情報の状態を取得し、情報記憶部570が最新の情報の状態として時刻T2における情報の状態を記憶している場合(T1はT2より後の時刻)、判断部530は、時刻T1から時刻T2における更新状態を算出する。ここで、更新状態は取得した情報の種類毎に算出される。
判断部530は、情報の種類毎に設定された所定の条件を満たすか否かを判断する。所定の条件は、予備系のサーバ群20に切替えたときにサービスに影響を与える情報、つまり、継続性が要求される情報ほど満たし易いように設定される。サービスに影響を与える情報が更新された場合には、なるべく早期に情報を同期させることが好ましい。一方で、サービスにあまり影響を与えない情報については、早期に情報を同期させる必要性は低い。
具体的には、判断部530は、算出した更新状態と、同期判断テーブル571に設定されている設定値とを比較することにより、同期させるか否かを判断する。設定値はサービスへの影響度(重要性)に基づいて、設定される。
例えば、算出された更新状態から、顧客情報の新規登録件数が設定値に設定されている件数を超えることが特定された場合、判断部530は、情報を同期させると判断してもよい(判断1)。ここで、判断部530は、稼働系のサーバ群10で記憶している新規登録された顧客がログインした数を取得し、ログイン数が設定値に設定されている件数を超えることが特定された場合、情報を同期させると判断してもよい。ユーザがログイン処理をした後、実際にサービスを利用した数を基に、判断部530が、同期の要否を判断できるためである。
例えば、算出された更新状態から、コンタクトリストの新規又は更新件数(変更件数)が設定値に設定されている件数を超えることが特定された場合、判断部530は、情報を同期させると判断してもよい(判断2)。
例えば、算出された更新状態から、新規のデータベースの構造であるデータベーススキーマが登録されていることが特定された場合、判断部530は、情報を同期させると判断してもよい(判断3)。
例えば、保守運用やサービスデータの収集等に関する情報については、情報を取得した時刻と前回の同期時刻とから算出される経過時間が、設定値に設定されている時間以上の場合、判断部530は、情報を同期させると判断してもよい(判断4)。
複数の判断(判断1〜判断4)が行われ、同期が必要と判断された項目が一つでも存在する場合、判断部530は、同期の対象となる全ての情報の同期が必要と判断してもよい。
また、判断部530は、同期が必要と判断された項目のみを同期する必要があると判断してもよい。
なお、上述した判断項目の種類及び設定値は一例であり、判断項目の種類及び設定値は、サービス提供者の判断により変更される。
(2)稼働系のサーバ群
図8に、稼働系のサーバ群10の機能構成を示す。稼働系のサーバ群10は、送受信部110、サービス提供機能部120、同期制御部130、及び情報記憶部140を有する。
図8に、稼働系のサーバ群10の機能構成を示す。稼働系のサーバ群10は、送受信部110、サービス提供機能部120、同期制御部130、及び情報記憶部140を有する。
送受信部110は、他のサーバ等との間でデータの送受信を行う。
サービス提供機能部120は、端末30からのサービス提供の要求を受けて、各種サービスを提供する。
同期制御部130は、運用制御サーバ50からの要求を受けて、情報記憶部140で記憶している情報の状態を特定し、特定された情報の状態を、運用制御サーバ50に送信する。
同期制御部130は、予備系のサーバ群20から同期要求を受信する。同期制御部130は、情報記憶部140から要求された情報を取得し、予備系のサーバ群20に通知する。
情報記憶部140は、各種情報を記憶する。
なお、上述した説明では、稼働系のサーバ群10の各機能が、1つのサーバ上に配置される場合について説明したが、各機能を複数のサーバ上に配置し相互に連携させることにより、同様の機能を実現することも可能である。
(3)予備系のサーバ群
図9に、予備系のサーバ群20の機能構成を示す。予備系のサーバ群20は、送受信部210、サービス制御部220、サービス提供機能部230及び情報記憶部240を有する。
図9に、予備系のサーバ群20の機能構成を示す。予備系のサーバ群20は、送受信部210、サービス制御部220、サービス提供機能部230及び情報記憶部240を有する。
送受信部110は、他のサーバ等との間でデータの送受信を行う。
サービス制御部220は、運用制御サーバ50からの指示を受けて、サービス提供機能部230を生成する。サービス制御部220は、サービス提供機能部230が同期処理を完了したときに、サービス提供機能部230を削除する。
サービス提供機能部230は、稼働系のサーバ群10のサービス提供機能部120と同様の機能を有する。サービス提供機能部230は、サービス制御部220により生成、及び削除される。サービス提供機能部230は、例えば、実行インスタンスにより実現される。
サービス提供機能部230は、情報記憶部240の同期情報記憶テーブル241に記憶されているデータを用いて、ユーザにサービスを提供する。
予備系のサーバ群20が、運用制御サーバ50から同期指示を受けた場合、サービス提供機能部230は、同期情報記憶テーブル241を参照し、記憶されている情報の同期時刻を確認する。サービス提供機能部230は、稼働系のサーバ群10から最後の同期時刻以降に更新された情報を取得する。
情報記憶部240は、各種情報を記憶する。同期情報記憶テーブル241は、稼働系のサーバ群10から取得した情報を、取得した時刻と共に記憶する。取得した時刻は同期時刻と呼ばれてもよい。情報記憶部240に記憶されている情報は、サービス提供機能部230が削除された後も、情報記憶部240に記憶され、サービス提供機能部230が再度生成されたときに使用される。
なお、上述した説明では、予備系のサーバ群20の各機能が、1つのサーバ上に配置される場合について説明したが、各機能を複数のサーバ上に配置し相互に連携させることにより、同様の機能を実現することも可能である。
<動作手順>
(1)動作シーケンス
図10を用いて、本実施形態に係る動作シーケンスについて説明する。
(1)動作シーケンス
図10を用いて、本実施形態に係る動作シーケンスについて説明する。
ステップS1001で、運用制御サーバ50は、稼働系のサーバ群10に、情報の更新状態を問い合わせる。問い合わせには、前回問い合わせた時刻又は前回予備系のサーバ群20に同期を指示した時刻(T1とする)を含む。また、問い合わせには、問い合わせの対象となる情報を含んでもよい。
ステップS1002で、稼働系のサーバ群10は、情報の更新状態を特定する。
ステップS1003で、稼働系のサーバ群10は、運用制御サーバ50に、情報の更新状態を応答する。
ステップS1004で、運用制御サーバ50は、取得した情報の更新状態を基に、情報の同期が必要か否かを判断する。
ここでは、情報の同期が必要と判断されたものとして説明を進める。
ステップS1005で、予備系のサーバ群20は、情報の同期の指示を受信する。情報の同期の指示には、予備系のサーバ群20に、サービス提供機能部230を生成すること、稼働系のサーバ群10から情報を取得すること、及び、情報記憶部240に取得した情報が記憶された後に、サービス提供機能部230を削除することを含んでもよい。
ステップS1006で、予備系のサーバ群20のサービス制御部220は、指示を受信したことに応じて、サービス提供機能部230を生成する。生成されたサービス提供機能部230は、情報記憶部240に記憶されている情報を読み出し、サービス提供機能部230が削除される直前の状態となる。サービス提供機能部230は、同期情報記憶テーブル241を参照し、前回、稼働系のサーバ群10から情報を取得した時刻を特定する。ここでは前回情報を取得した時刻をT2とする。
ステップS1007で、予備系のサーバ群20は、情報の取得要求を、稼働系のサーバ群10に送信する。情報の取得要求には、時刻T2を含む。
ステップS1008で、稼働系のサーバ群10は、取得要求を受信した時刻T3と、時刻T2との間で更新された情報を特定する。
ステップS1009で、稼働系のサーバ群10は、予備系のサーバ群20に、特定された情報を送信する。
ステップS1010で、予備系のサーバ群20は、受信した情報を情報記憶部240に書込む。書き込み処理を実行することにより、予備系のサーバ群20で記憶されている情報は、時刻T3の稼働系のサーバ群10で記憶されている情報と同期する。
受信した情報の書込み後に、オプション1、又はオプション2の処理が実行される。
オプション1の場合、ステップS1011で、予備系のサーバ群20のサービス制御部220は、サービス提供機能部230を削除する。
オプション2の場合、ステップS1012で、運用制御サーバ50は、同期の指示を送信してから所定の時間を経過したことを検出する。
ステップS1013で、運用制御サーバ50は、予備系のサーバ群20に同期の終了の指示を送信する。
ステップS1014で、同期の終了の指示を受けたことに応じて、予備系のサーバ群20のサービス制御部220は、サービス提供機能部230を削除する。
オプション2の場合、ステップS1009から同期の終了までの期間、稼働系のサーバ群10と予備系のサーバ群20との状態を同期させてもよい。
なお、サービス提供機能部230が削除されるときに、記憶されている情報を、情報記憶部240内の永続的な情報を格納する領域に格納される。永続的な情報を格納する領域とは、例えば、データストアである。また、情報の同期の要否については、情報の種類毎に判断されてもよい。この場合、情報の同期は、情報の種類毎に実行される。
なお、サービス提供機能部230が削除されるときに、記憶されている情報を、情報記憶部240内の永続的な情報を格納する領域に格納される。永続的な情報を格納する領域とは、例えば、データストアである。また、情報の同期の要否については、情報の種類毎に判断されてもよい。この場合、情報の同期は、情報の種類毎に実行される。
(2)フローチャート
図11を用いて本実施形態に係るフローチャートを説明する。図11は運用制御サーバ50が、同期の手順を実行するときのフローチャートである。
図11を用いて本実施形態に係るフローチャートを説明する。図11は運用制御サーバ50が、同期の手順を実行するときのフローチャートである。
ステップS1101で、運用制御サーバ50の情報取得部520は、稼働系のサーバ群10から、情報の更新状態を取得する。
ステップS1102で、判断部530は、取得した情報の更新状態と、同期判断テーブル571で記憶している情報とを基に、予備系のサーバ群20で記憶している情報を、稼働系のサーバ群10で記憶している情報に同期させる必要があるか否かを判断する。
具体的には、判断部530は、情報の更新状態が、判断項目に設定されている設定値の条件を満たすか否かを判断する。判断部530は、判断項目毎に判断を行い、同期させる必要があると判断された項目が存在する場合(ステップS1102 Yes)、ステップS1103に進む。一方、同期させる必要があると判断された項目が存在しない場合、処理を終了する。
ステップS1103で、同期指示部540は、予備系のサーバ群20に情報の同期の指示を送信し、処理を終了する。
ステップS1101乃至ステップS1103の処理は所定の期間が経過した後に、再度実行される。
[その他]
稼働系のサーバ群10は、稼働系のサーバの一例である。予備系のサーバ群20は、予備系のサーバの一例である。運用制御サーバ50は、同期制御サーバの一例である。
稼働系のサーバ群10は、稼働系のサーバの一例である。予備系のサーバ群20は、予備系のサーバの一例である。運用制御サーバ50は、同期制御サーバの一例である。
サービス提供機能部120は、処理実行部の一例である。切替制御部560は、切替指示部の一例である。状態検知部550は、検知部の一例である。
上述した実施の形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、稼働系のサーバ群10、予備系のサーバ群20、又は運用制御サーバ50に供給してもよい。そして、稼働系のサーバ群10、予備系のサーバ群20、又は運用制御サーバ50が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、上述の実施形態が、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は、いずれかの実施の形態を構成することになる。ここで、記憶媒体は、記録媒体または非一時的な記憶媒体である。
また、コンピュータ装置が読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に従って、コンピュータ装置上で動作しているオペレーティングシステム(OS)等が実際の処理の一部または全部を行ってもよい。さらに、その処理によって前述した実施形態の機能が実現されてもよいことは言うまでもない。
以上、本発明の好ましい実施形態について説明したが、本発明はこうした実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1 情報処理システム
10 稼働系のサーバ群
20 予備系のサーバ群
30 端末
50 運用制御サーバ
60 DNSサーバ
110 送受信部(稼働系のサーバ群)
120 サービス提供機能部(稼働系のサーバ群)
130 同期制御部(稼働系のサーバ群)
140 情報記憶部(稼働系のサーバ群)
210 送受信部(予備系のサーバ群)
220 サービス制御部(予備系のサーバ群)
230 サービス提供機能部(予備系のサーバ群)
240 情報記憶部(予備系のサーバ群)
241 同期情報記憶テーブル(予備系のサーバ群)
510 送受信部(運用制御サーバ)
520 情報取得部(運用制御サーバ)
530 判断部(運用制御サーバ)
540 同期指示部(運用制御サーバ)
550 状態検知部(運用制御サーバ)
560 切替制御部(運用制御サーバ)
570 情報記憶部(運用制御サーバ)
571 同期判断テーブル(運用制御サーバ)
10 稼働系のサーバ群
20 予備系のサーバ群
30 端末
50 運用制御サーバ
60 DNSサーバ
110 送受信部(稼働系のサーバ群)
120 サービス提供機能部(稼働系のサーバ群)
130 同期制御部(稼働系のサーバ群)
140 情報記憶部(稼働系のサーバ群)
210 送受信部(予備系のサーバ群)
220 サービス制御部(予備系のサーバ群)
230 サービス提供機能部(予備系のサーバ群)
240 情報記憶部(予備系のサーバ群)
241 同期情報記憶テーブル(予備系のサーバ群)
510 送受信部(運用制御サーバ)
520 情報取得部(運用制御サーバ)
530 判断部(運用制御サーバ)
540 同期指示部(運用制御サーバ)
550 状態検知部(運用制御サーバ)
560 切替制御部(運用制御サーバ)
570 情報記憶部(運用制御サーバ)
571 同期判断テーブル(運用制御サーバ)
Claims (9)
- サービスを提供する稼働系のサーバと、前記稼働系のサーバで前記サービスを提供できないときに該サービスを提供する予備系のサーバと、前記稼働系のサーバに記憶されている情報を用いて、前記予備系のサーバの状態を前記稼働系のサーバの状態に同期させる同期制御サーバと、を有する情報処理システムにおいて、
前記同期制御サーバは、
前記予備系のサーバに、前記稼働系のサーバから前記情報を取得させる同期指示部、を有し、
前記予備系のサーバは、
同期の指示を受けたことに応じて生成される処理実行部、を有し、
前記処理実行部は、前記稼働系のサーバから前記情報を取得し、取得した前記情報を記憶部に記憶させた後に、削除される情報処理システム。 - 前記同期制御サーバは、
前記稼働系のサーバから前記情報の更新状態を取得する取得部と、
前記情報の更新状態が、前記情報の種類毎に設定された所定の条件を満たすか否かを判断する判断部と、を有し、
前記所定の条件を満たすと判断された場合、前記同期指示部は、前記予備系のサーバに、前記稼働系のサーバから前記情報を取得させる、請求項1に記載の情報処理システム。 - 前記同期制御サーバは、
前記稼働系のサーバの異常を検知する検知部と、
異常を検知したことに応じて、前記予備系のサーバへの切替の指示を送信する切替指示部と、を有し、
前記予備系のサーバは、前記切替の指示を受信したことに応じて、前記処理実行部を生成し、
生成された前記処理実行部は、前記記憶部に記憶されている前記情報を用いて動作する、請求項1又は2に記載の情報処理システム。 - 前記情報のいずれかが、前記所定の条件を満たす場合、前記同期指示部は、前記予備系のサーバに、前記稼働系のサーバから前記情報を取得させる、請求項2に記載の情報処理システム。
- 前記情報の種類毎に設定された前記所定の条件は、切替時に継続性が要求される情報ほど満たし易いように設定される、請求項4に記載の情報処理システム。
- サービスを提供する稼働系のサーバと、前記稼働系のサーバで前記サービスを提供できないときに該サービスを提供する予備系のサーバと、前記稼働系のサーバに記憶されている情報を用いて、前記予備系のサーバの状態を前記稼働系のサーバの状態に同期させる同期制御サーバとの間で実行される情報処理方法であって、
前記同期制御サーバが、前記予備系のサーバに、前記稼働系のサーバから前記情報を取得させるステップと、
前記予備系のサーバが、同期の指示を受けたことに応じて処理実行部を生成するステップと、
前記予備系のサーバが、前記処理実行部を用いて、前記稼働系のサーバから前記情報を取得するステップと、
前記予備系のサーバが、取得した前記情報を記憶部に記憶させた後に、前記処理実行部を削除するステップと、を有する、情報処理方法。 - サービスを提供する稼働系のサーバに記憶されている情報を用いて前記サービスを提供できないときに該サービスを提供する予備系のサーバの状態を、前記稼働系のサーバの状態に同期させる同期制御サーバであって、
前記予備系のサーバに、前記稼働系のサーバから前記情報を取得させる同期指示を送信する同期指示部、を有し、
前記同期指示は、
前記予備系のサーバに、同期の指示を受けたことに応じて処理実行部を生成する指示、
前記処理実行部が、前記稼働系のサーバから前記情報を取得する指示、及び、
取得した前記情報を記憶部に記憶させた後に、前記処理実行部を削除する指示を含む、同期制御サーバ。 - サービスを提供する稼働系のサーバと、前記稼働系のサーバで前記サービスを提供できないときに該サービスを提供する予備系のサーバであって、
前記稼働系のサーバから情報を取得する指示を受信する受信部と、
前記取得する指示を受けたことに応じて生成される処理実行部とを有し、
前記処理実行部は、前記稼働系のサーバから前記情報を取得し、取得した前記情報を記憶部に記憶させた後に、削除される予備系のサーバ。 - サービスを提供する稼働系のサーバに記憶されている情報を用いて前記サービスを提供できないときに該サービスを提供する予備系のサーバの状態を、前記稼働系のサーバの状態に同期させる同期制御サーバのプログラムであって、
前記予備系のサーバに、前記稼働系のサーバから情報を取得させる同期指示を送信するステップ、を同期制御サーバに実行させ、
前記同期指示は、
前記予備系のサーバに、同期の指示を受けたことに応じて処理実行部を生成する指示、
前記処理実行部が、前記稼働系のサーバから前記情報を取得する指示、及び、
取得した前記情報を記憶部に記憶させた後に、前記処理実行部を削除する指示を含む、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016050198A JP2017167675A (ja) | 2016-03-14 | 2016-03-14 | 情報処理システム、情報処理方法、及びサーバ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016050198A JP2017167675A (ja) | 2016-03-14 | 2016-03-14 | 情報処理システム、情報処理方法、及びサーバ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017167675A true JP2017167675A (ja) | 2017-09-21 |
Family
ID=59913428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016050198A Pending JP2017167675A (ja) | 2016-03-14 | 2016-03-14 | 情報処理システム、情報処理方法、及びサーバ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017167675A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019045023A1 (ja) | 2017-08-31 | 2019-03-07 | 日本精工株式会社 | ウォーム減速機 |
WO2019189571A1 (ja) * | 2018-03-29 | 2019-10-03 | Necプラットフォームズ株式会社 | コンピュータシステム、通信システム、コンピュータシステムによる制御方法及びプログラム |
JP7462550B2 (ja) | 2020-12-24 | 2024-04-05 | 株式会社日立製作所 | 通信監視対処装置、通信監視対処方法、及び通信監視対処システム |
-
2016
- 2016-03-14 JP JP2016050198A patent/JP2017167675A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019045023A1 (ja) | 2017-08-31 | 2019-03-07 | 日本精工株式会社 | ウォーム減速機 |
WO2019189571A1 (ja) * | 2018-03-29 | 2019-10-03 | Necプラットフォームズ株式会社 | コンピュータシステム、通信システム、コンピュータシステムによる制御方法及びプログラム |
JP2019175257A (ja) * | 2018-03-29 | 2019-10-10 | Necプラットフォームズ株式会社 | コンピュータシステム、通信システム、コンピュータシステムによる制御方法及びプログラム |
US11113134B2 (en) | 2018-03-29 | 2021-09-07 | Nec Platforms, Ltd. | Computer system, communications system, control method by computer system, and program |
JP7028503B2 (ja) | 2018-03-29 | 2022-03-02 | Necプラットフォームズ株式会社 | コンピュータシステム、通信システム、コンピュータシステムによる制御方法及びプログラム |
JP7462550B2 (ja) | 2020-12-24 | 2024-04-05 | 株式会社日立製作所 | 通信監視対処装置、通信監視対処方法、及び通信監視対処システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10511480B2 (en) | Message flow management for virtual networks | |
US10601680B2 (en) | Application resiliency using APIs | |
US7603423B2 (en) | Communication system with primary device and standby device to prevent suspension of service of the system | |
JP5352367B2 (ja) | 仮想マシン起動端末および仮想マシン起動プログラム | |
US10972347B2 (en) | Converting a first cloud network to second cloud network in a multi-cloud environment | |
KR101499068B1 (ko) | 어플리케이션 공유 서비스 방법 및 이에 적용되는 장치 | |
CN107172214B (zh) | 一种具有负载均衡的服务节点发现方法及装置 | |
US11832349B2 (en) | Nomination of a primary cell phone from a pool of cell phones | |
CN110391940A (zh) | 服务地址的响应方法、装置、***、设备和存储介质 | |
JP2017167675A (ja) | 情報処理システム、情報処理方法、及びサーバ | |
JP2015506112A (ja) | 一時的障害中における第2場所へのリクエストのリダイレクト | |
US9706440B2 (en) | Mobile communication system, call processing node, and communication control method | |
WO2016067520A1 (en) | Information processing apparatus, control method thereof, and program | |
CN107623705B (zh) | 基于视频云存储***的存储模式升级方法、装置和*** | |
CN108683586B (zh) | 即时通讯***中的数据处理方法、装置、介质和计算设备 | |
CN113391759B (zh) | 一种通信方法和设备 | |
EP3884648B1 (en) | Geo-replicated iot hub | |
CN111106966B (zh) | 一种信息处理方法及装置、设备、存储介质 | |
KR101618992B1 (ko) | 가상 데스크탑 서비스 제공 시스템 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체와, 하드웨어와 결합되어 그 제어방법을 실행시키기 위하여 매체에 저장된 애플리케이션 | |
US11163600B2 (en) | Providing physical host state information to virtual machines deployed on the physical host | |
CN111404980B (zh) | 一种数据存储方法及一种对象存储*** | |
CN113094211B (zh) | 一种备份数据处理的方法和装置 | |
JP4656865B2 (ja) | 分散処理システム及びファイル更新方法 | |
CN114466026A (zh) | 应用程序接口的更新方法、装置、存储介质和计算设备 | |
CN117076190A (zh) | 数据存储的方法和装置 |