JP2020201637A - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP2020201637A
JP2020201637A JP2019106993A JP2019106993A JP2020201637A JP 2020201637 A JP2020201637 A JP 2020201637A JP 2019106993 A JP2019106993 A JP 2019106993A JP 2019106993 A JP2019106993 A JP 2019106993A JP 2020201637 A JP2020201637 A JP 2020201637A
Authority
JP
Japan
Prior art keywords
instance
processing
processing system
target
recovery
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
Application number
JP2019106993A
Other languages
English (en)
Inventor
一樹 西海
Kazuki Saikai
一樹 西海
雄一 大林
Yuichi Obayashi
雄一 大林
諭 五島
Satoshi Goshima
諭 五島
靖雄 中島
Yasuo Nakajima
靖雄 中島
孝記 中島
Takanori Nakajima
孝記 中島
中村 剛
Takeshi Nakamura
中村  剛
▲徳▼一 朴
Deok-Il Park
▲徳▼一 朴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2019106993A priority Critical patent/JP2020201637A/ja
Priority to US16/893,756 priority patent/US11487623B2/en
Priority to EP20178495.6A priority patent/EP3748502A1/en
Priority to CN202010506186.3A priority patent/CN112055041B/zh
Publication of JP2020201637A publication Critical patent/JP2020201637A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Abstract

【課題】 運用コストを抑えることができる情報処理システムを提供する。【解決手段】 遠隔管理システムにおいて、複数のインスタンスで並列分散処理を実行するデバイス管理サービス40のインスタンスのそれぞれは、インスタンス自身の復旧に関する処理の状況をカウンター情報から取得するとともに、インスタンス自身の復旧に関する処理を実行した場合に、この処理の状況をカウンター情報に記憶し(S223、S224、S243)、複数のインスタンスで並列分散処理を実行するワーカーサービス50のインスタンスのそれぞれは、デバイス管理サービス40のインスタンスの復旧に関する処理の状況をカウンター情報から取得するとともに、デバイス管理サービス40のインスタンスの復旧に関する処理を実行した場合に、この処理の状況をカウンター情報に記憶する(S221、S222、S242)ことを特徴とする。【選択図】 図11

Description

本発明は、障害から自律復旧することが可能な情報処理システムに関する。
従来、パプリッククラウドにおいて、現用系の情報処理システムで発生した障害を検出した場合に、現用系の情報処理システムから待機系の情報処理システムにIP(Internet Protocol)アドレスを付け替えることによって、現用系の情報処理システムに代えて待機系の情報処理システムでサービスの提供を継続するものが知られている(例えば、特許文献1参照。)。
特開2018−133764号公報
しかしながら、従来の技術においては、待機系の情報処理システムが必要であり、待機系の情報処理システム分の運用コストがかかるという問題がある。
そこで、本発明は、運用コストを抑えることができる情報処理システムを提供することを目的とする。
本発明の情報処理システムは、複数のインスタンスを備え、これらのインスタンスで並列分散処理を実行する第1の並列分散処理システムと、複数のインスタンスを備え、これらのインスタンスで並列分散処理を実行する第2の並列分散処理システムと、前記第1の並列分散処理システムの前記インスタンスの復旧に関する処理の状況を前記第1の並列分散処理システムの前記インスタンス毎に示す処理状況情報を記憶する処理状況記憶部とを備え、前記第1の並列分散処理システムの前記インスタンスのそれぞれは、インスタンス自身の復旧に関する処理の状況を前記処理状況情報から取得するとともに、インスタンス自身の復旧に関する処理を実行した場合に、この処理の状況を前記処理状況情報に記憶し、前記第2の並列分散処理システムの前記インスタンスのそれぞれは、前記第1の並列分散処理システムの前記インスタンスの復旧に関する処理の状況を前記処理状況情報から取得するとともに、前記第1の並列分散処理システムの前記インスタンスの復旧に関する処理を実行した場合に、この処理の状況を前記処理状況情報に記憶することを特徴とする。
この構成により、本発明の情報処理システムは、第1の並列分散処理システムのインスタンスの復旧に関する処理を、第1の並列分散処理システムのインスタンス自身と、第2の並列分散処理システムのインスタンスとによって実行するので、第1の並列分散処理システムに対応する待機系のシステムが不要であり、運用コストを抑えることができる。
本発明の情報処理システムにおいて、前記第1の並列分散処理システムの前記インスタンスは、このインスタンスの異常に対する前記第2の並列分散処理システムの前記インスタンスによる監視の状況が特定の状況になったことが前記処理状況情報に示された場合に、前記第1の並列分散処理システムの前記インスタンス自身の復旧に関する処理として、前記第1の並列分散処理システムの前記インスタンス自身のアプリケーションを再起動しても良い。
この構成により、本発明の情報処理システムは、第1の並列分散処理システムのインスタンスの異常に対する第2の並列分散処理システムのインスタンスによる監視の状況に応じて、第1の並列分散処理システムのインスタンスのアプリケーションを再起動するので、第1の並列分散処理システムのインスタンスのアプリケーションの再起動を適切なタイミングで実行することができる。
本発明の情報処理システムにおいて、前記第2の並列分散処理システムの前記インスタンスは、前記第1の並列分散処理システムの前記インスタンスの前記アプリケーションの再起動から特定の時間が経過しても、このアプリケーションの再起動が成功したことが前記処理状況情報に示されない場合に、前記第1の並列分散処理システムのこのインスタンスの再起動を要求しても良い。
この構成により、本発明の情報処理システムは、第1の並列分散処理システムのインスタンスのアプリケーションの再起動が失敗した場合に、このインスタンスの再起動を適切なタイミングで実行することができる。
本発明の情報処理システムにおいて、前記第2の並列分散処理システムの前記インスタンスは、前記第1の並列分散処理システムの前記インスタンスの再起動の要求から特定の時間が経過しても、このインスタンスの再起動が成功したことが前記処理状況情報に示されない場合に、自律復旧処理の失敗の通知のための処理を実行しても良い。
この構成により、本発明の情報処理システムは、第1の並列分散処理システムのインスタンスの再起動が失敗した場合に、自律復旧処理の失敗の通知のための処理を実行するので、人間による復旧処理を適切なタイミングで受ける可能性を向上することができる。
本発明の情報処理システムは、運用コストを抑えることができる。
本発明の一実施の形態に係るシステムのブロック図である。 図1に示す遠隔管理システムのブロック図である。 図2に示すカウンター情報の一例を示す図である。 1台のコンピューターによって構成される場合の図1に示す監視システムのブロック図である。 インスタンスが起動される場合の図2に示す復旧処理モジュールの動作のフローチャートである。 インスタンスの内部でWebアプリケーションが起動される場合の図2に示す復旧処理モジュールの動作のフローチャートである。 インスタンスの内部のWebアプリケーションの起動後の図2に示す復旧処理モジュールの動作のフローチャートである。 監視処理を実行する場合の図2に示す監視モジュールの動作のフローチャートである。 図8に示すインスタンス別監視処理のフローチャートである。 図9に示す監視詳細処理のフローチャートである。 (a)図2に示すデバイス管理サービスのインスタンスのWebアプリケーションの再起動が成功する場合のフローチャートである。 (b)図2に示すデバイス管理サービスのインスタンスのWebアプリケーションの再起動が失敗するが、このインスタンスの再起動が成功する場合のフローチャートである。 (c)図2に示すデバイス管理サービスのインスタンスのWebアプリケーションの再起動が失敗し、このインスタンスの再起動も失敗する場合のフローチャートである。 (a)図2に示すデバイス管理サービスのインスタンスのWebアプリケーションの再起動が開始されないが、このインスタンスの再起動が成功する場合のフローチャートである。 (b)図2に示すデバイス管理サービスのインスタンスのWebアプリケーションの再起動が開始されず、このインスタンスの再起動も失敗する場合のフローチャートである。
以下、本発明の実施の形態について、図面を用いて説明する。
まず、本発明の一実施の形態に係るシステムの構成について説明する。
図1は、本実施の形態に係るシステム10のブロック図である。
図1に示すように、システム10は、画像形成装置を管理する業者(以下「管理業者」という。)の客のLAN(Local Area Network)などのネットワーク20を備えている。システム10は、ネットワーク20以外にも、ネットワーク20と同様の構成のネットワークを少なくとも1つ備えることが可能である。
ネットワーク20は、ネットワーク20の内部と、ネットワーク20の外部との間の通信を制御するファイアウォール21と、画像形成装置22とを備えている。ネットワーク20は、画像形成装置22以外にも、画像形成装置22と同様の構成の画像形成装置を少なくとも1つ備えることが可能である。ネットワーク20における画像形成装置は、例えば、MFP(Multifunction Peripheral)、プリンター専用機などによって構成されており、管理業者の客によって使用される。
システム10は、システム10における各画像形成装置を遠隔管理する情報処理システムとしての遠隔管理システム30を備えている。遠隔管理システム30は、例えば世界中に配置されている、例えば数百万台などの膨大な数の画像形成装置を管理することが可能である。遠隔管理システム30は、管理業者によって使用される。遠隔管理システム30は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。以下において、遠隔管理システム30は、パブリッククラウドのクラウドプラットフォーム上で動作するものとして説明する。
遠隔管理システム30にはインターネットを介して多数の画像形成装置が接続可能であるので、遠隔管理システム30を構成するサーバーの能力は、遠隔管理システム30に接続される画像形成装置の増加に伴って、機動的に拡大される。また、遠隔管理システム30が動作するクラウドプラットフォームは、このクラウドプラットフォームのシステム障害やメンテナンスのために、遠隔管理システム30が把握していないタイミングで、システムの一部がダウンする場合がある。
システム10は、遠隔管理システム30を監視する監視システム70を備えている。監視システム70は、管理業者によって使用される。監視システム70は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
システム10における各ネットワークと、遠隔管理システム30と、監視システム70とは、インターネット11を介して互いに通信可能である。
図2は、遠隔管理システム30のブロック図である。
図2に示すように、遠隔管理システム30は、遠隔管理システム30によって遠隔管理される画像形成装置とのデータ通信を担当するサービスであって、外部との通信を行うためのWebサーバーを実現するデバイス管理サービス40と、利用者からは見えないデータ集計や、メール送信、レポート作成といったバッチ処理を実施するサービスであるワーカーサービス50とを備えている。
デバイス管理サービス40は、インスタンス41を備えている。インスタンス41は、例えばIIS(Internet Information Services)など、Webサーバーを実現するためのWebアプリケーション41aを備えている。デバイス管理サービス40は、インスタンス41以外にも、インスタンス41と同様な構成のインスタンスを少なくとも1つ備えている。すなわち、デバイス管理サービス40は、インスタンスが冗長化されていて、複数のインスタンスで並列分散処理を実行する構成を有しており、本発明の第1の並列分散処理システムを構成している。デバイス管理サービス40のインスタンスが冗長化されている理由は、例えば、複数のインスタンスによって実行することによる処理の高速化のためや、いずれかのインスタンスに障害が生じた場合に、障害が生じたインスタンスを再起動しても処理を継続することができるためである。
ワーカーサービス50は、インスタンス51を備えている。ワーカーサービス50は、インスタンス51以外にも、インスタンス51と同様な構成のインスタンスを少なくとも1つ備えている。すなわち、ワーカーサービス50は、インスタンスが冗長化されていて、複数のインスタンスで並列分散処理を実行する構成を有しており、本発明の第2の並列分散処理システムを構成している。ワーカーサービス50のインスタンスが冗長化されている理由は、例えば、複数のインスタンスによって実行することによる処理の高速化のためや、いずれかのインスタンスに障害が生じた場合に、障害が生じたインスタンスを再起動しても処理を継続することができるためである。
遠隔管理システム30は、ワーカーサービス50のインスタンスによって実行される処理を示すメッセージを格納するためのメッセージキュー61を備えている。遠隔管理システム30は、メッセージキュー61以外にも、メッセージキュー61と同様なメッセージキューを少なくとも1つ備えることが可能である。遠隔管理システム30におけるメッセージキューは、処理の種類毎に設けられている。
遠隔管理システム30の利用者や画像形成装置が遠隔管理システム30に何らかの処理を依頼すると、デバイス管理サービス40のインスタンスのうち、処理中ではないいずれかのインスタンスは、依頼された処理の種類に応じたメッセージキューに、この処理を示すメッセージを格納する。ワーカーサービス50のインスタンスのうち、処理中ではないいずれかのインスタンスは、遠隔管理システム30のいずれかのメッセージキューに実行待ちのメッセージが格納されている場合、このメッセージをメッセージキューから取り出した後、このメッセージに応じた処理を実行する。なお、ワーカーサービス50のインスタンスは、メッセージに応じた処理の実行を開始した後、この処理の実行を終了するまでに、インスタンス自身が再起動などによって終了する場合、この処理の実行を中止して、この処理を示すメッセージを、いずれかのメッセージキューに格納する。
遠隔管理システム30がデバイス管理サービス40およびワーカーサービス50の両方を備えている理由は、遠隔管理システム30の利用者や画像形成装置がデバイス管理サービス40を介して遠隔管理システム30に依頼した処理をワーカーサービス50で実行することによって、遠隔管理システム30の利用者や画像形成装置がデバイス管理サービス40との処理を一旦終了することができ、その結果、遠隔管理システム30の利用者や画像形成装置がデバイス管理サービス40を介して新たな処理を遠隔管理システム30に依頼することができるからである。
遠隔管理システム30は、デバイス管理サービス40およびワーカーサービス50の両方から読み出しまたは書き込みが可能なカウンターを示すカウンター情報62aを記憶するキャッシュサービス62を備えている。
図3は、カウンター情報62aの一例を示す図である。
図3に示すように、カウンター情報62aは、デバイス管理サービス40のインスタンスの識別情報(以下「インスタンスID」という。)と、このインスタンスIDが付されたインスタンス用のカウンターの値(以下「カウンター値」という。)と、時刻とを互いに関連付けて、デバイス管理サービス40のインスタンス毎に含む。カウンター情報62aは、デバイス管理サービス40のインスタンスの復旧に関する処理の状況をデバイス管理サービス40のインスタンス毎に示す情報であり、本発明の処理状況情報を構成している。したがって、キャッシュサービス62は、本発明の処理状況記憶部を構成している。
図2に示すように、遠隔管理システム30は、遠隔管理システム30のログなどの各種の情報を記憶するStorageTable63を備えている。StorageTable63は、監視システム70(図1参照。)によって監視される。
デバイス管理サービス40のインスタンス41は、インスタンス41に発生した異常からの復旧に必要な内部処理を実行する復旧処理モジュール41bを備えている。
デバイス管理サービス40のインスタンスの復旧処理モジュールによって実行される内部処理としては、このインスタンスのWebサーバーのメモリーダンプを出力する処理である「Dump出力」と、このインスタンスの内部でWebアプリケーションを再起動する処理である「アプリケーション再起動」とが存在する。
「Dump出力」とは、デバイス管理サービス40における対象のインスタンスが外部からの要求を受け付けないと判断された場合に、このインスタンスが外部からの要求を受け付けないと判断された時点での、このインスタンスのWebサーバーのメモリーダンプを取得、転送することで、後の障害解析を容易にするための処理である。「アプリケーション再起動」とは、デバイス管理サービス40における対象のインスタンスの内部でWebアプリケーションを再起動することによって、このインスタンスが新たな要求を受け付けられるようにするための復旧処理である。「アプリケーション再起動」が実行される前には、「Dump出力」が必ず実行される。
ワーカーサービス50のインスタンス51は、デバイス管理サービス40のインスタンスを監視する監視モジュール51aを備えている。監視モジュール51aは、デバイス管理サービス40のインスタンスの停止が発生しているか否かを監視する処理である「死活監視」、デバイス管理サービス40のインスタンスによる復旧処理の進行を監視する処理である「リカバリー状況監視」、および、「通知判断」という3つの処理を実行する。
「死活監視」は、ワーカーサービス50からデバイス管理サービス40のインスタンスに対して、503HTTP(Hypertext Transfer Protocol)エラーなど、処理の滞留によるインスタンスの停止が発生していないかを監視する処理である。
「リカバリー状況監視」は、遠隔管理システム30が動作するパブリッククラウドにおいて、デバイス管理サービス40のデプロイ済みのいずれかのインスタンスをOS(Operating System)レベルで再起動するための操作である「インスタンス再起動」を、「アプリケーション再起動」によって障害の復旧が行われない場合に行う処理である。「リカバリー状況監視」は、例えば、遠隔管理システム30の外部からの過負荷による障害である場合や、Webアプリケーションの障害ではなく、デバイス管理サービス40のインスタンス自体の障害である場合など、デバイス管理サービス40の復旧処理モジュール41bによって実施された「アプリケーション再起動」によっても、障害が解消されない場合に、パブリッククラウド側に「インスタンス再起動」を要求する。パブリッククラウドは、ワーカーサービス50の監視モジュール51aによって「インスタンス再起動」が要求された場合、要求された「インスタンス再起動」の対象のインスタンスの再起動を行う。
「通知判断」は、「インスタンス再起動」によっても障害が復旧しない場合に、遠隔管理システム30による自律復旧処理の失敗の通知を監視システム70に実行させるための通知用ログをStorageTable63に記憶する処理である。
遠隔管理システム30は、ワーカーサービス50にデバイス管理サービス40のインスタンスを監視させる処理(以下「監視処理」という。)のためのメッセージ(以下「監視メッセージ」という。)を、例えば5分毎など、定期的に発行する監視メッセージ発行部64を備えている。
図4は、1台のコンピューターによって構成される場合の監視システム70のブロック図である。
図4に示す監視システム70は、種々の操作が入力される例えばキーボード、マウスなどの操作デバイスである操作部71と、種々の情報を表示する例えばLCDなどの表示デバイスである表示部72と、LAN、インターネットなどのネットワーク経由で、または、ネットワークを介さずに有線または無線によって直接に、外部の装置と通信を行う通信デバイスである通信部73と、各種の情報を記憶する例えば半導体メモリー、HDDなどの不揮発性の記憶デバイスである記憶部74と、監視システム70全体を制御する制御部75とを備えている。
記憶部74は、遠隔管理システム30(図2参照。)を監視するための監視プログラム74aを記憶している。監視プログラム74aは、例えば、監視システム70の製造段階で監視システム70にインストールされていても良いし、CD、DVD、USBメモリーなどの外部の記憶媒体から監視システム70に追加でインストールされても良いし、ネットワーク上から監視システム70に追加でインストールされても良い。
記憶部74は、各種の情報の連絡先を示す連絡先情報74bを記憶している。連絡先情報74bに示される連絡先は、例えば電子メールアドレスである。連絡先情報74bは、例えば、遠隔管理システム30の開発者の連絡先や、遠隔管理システム30の利用者の連絡先など、複数の連絡先を示しても良い。
制御部75は、例えば、CPUと、プログラムおよび各種のデータを記憶しているROMと、制御部75のCPUの作業領域として用いられるメモリーとしてのRAMとを備えている。制御部75のCPUは、記憶部74または制御部75のROMに記憶されているプログラムを実行する。
制御部75は、監視プログラム74aを実行することによって、遠隔管理システム30の構成要素を監視する構成要素監視部75aと、構成要素監視部75aによる監視結果が事前に定めた条件を満たす場合に、連絡先情報74bに示す連絡先に対して通知を実行する通知実行部75bとを実現する。
次に、システム10の動作について説明する。
まず、インスタンスが起動される場合の復旧処理モジュールの動作について説明する。
図5は、インスタンスが起動される場合の復旧処理モジュールの動作のフローチャートである。
デバイス管理サービス40のインスタンスが起動されると、このインスタンスの復旧処理モジュールは、図5に示す動作を実行する。
図5に示すように、復旧処理モジュールは、復旧処理モジュール自身を備えるインスタンス用のカウンター値にカウンター情報62aにおいて0を登録する(S101)。
次いで、復旧処理モジュールは、カウンター情報62aにおいて、復旧処理モジュール自身を備えるインスタンスに関連付けられた時刻として現在時刻を登録して(S102)、図5に示す動作を終了する。
次に、インスタンスの内部でWebアプリケーションが起動される場合の復旧処理モジュールの動作について説明する。
図6は、インスタンスの内部でWebアプリケーションが起動される場合の復旧処理モジュールの動作のフローチャートである。
例えば、デバイス管理サービス40のインスタンスが起動されると、このインスタンスは、内部でWebアプリケーションを起動する。また、デバイス管理サービス40のインスタンスは、Webアプリケーションを再起動する場合もある。デバイス管理サービス40のインスタンスの内部でWebアプリケーションが起動されると、このインスタンスの復旧処理モジュールは、図6に示す動作を実行する。
図6に示すように、復旧処理モジュールは、復旧処理モジュール自身を備えるインスタンス用のカウンター値をカウンター情報62aにおいて0に更新する(S121)。
次いで、復旧処理モジュールは、カウンター情報62aにおいて、復旧処理モジュール自身を備えるインスタンスに関連付けられた時刻を現在時刻に更新して(S122)、図6に示す動作を終了する。
次に、インスタンスの内部のWebアプリケーションの起動後の復旧処理モジュールの動作について説明する。
図7は、インスタンスの内部のWebアプリケーションの起動後の復旧処理モジュールの動作のフローチャートである。
デバイス管理サービス40のインスタンスの内部でWebアプリケーションが起動されると、このインスタンスの復旧処理モジュールは、図7に示す動作を実行する。
図7に示すように、復旧処理モジュールは、復旧処理モジュール自身を備えるインスタンス用のカウンター値を、このインスタンスのインスタンスIDに基づいてカウンター情報62aから取得する(S141)。
次いで、復旧処理モジュールは、S141において取得したカウンター値が特定の値以上であるか否かを判断する(S142)。S142における「特定の値」は、例えば5である。
復旧処理モジュールは、S141において取得したカウンター値が特定の値以上ではないとS142において判断すると、S141の処理を実行する。
復旧処理モジュールは、S141において取得したカウンター値が特定の値以上であるとS142において判断すると、復旧処理モジュール自身を備えるインスタンス用のカウンター値をカウンター情報62aにおいて−1に更新する(S143)。
次いで、復旧処理モジュールは、カウンター情報62aにおいて、復旧処理モジュール自身を備えるインスタンスに関連付けられた時刻を現在時刻に更新する(S144)。
次いで、復旧処理モジュールは、復旧処理モジュール自身を備えるインスタンスの内部でWebアプリケーションを再起動する(S145)。
次いで、復旧処理モジュールは、S145における復旧処理の内容のログをStorageTable63に記憶して(S146)、S141の処理を実行する。
次に、監視処理を実行する場合のワーカーサービス50のインスタンスの監視モジュールの動作について説明する。
図8は、監視処理を実行する場合のワーカーサービス50のインスタンスの監視モジュールの動作のフローチャートである。
監視メッセージ発行部64は、監視メッセージを、例えば5分毎など、定期的に発行し、監視処理用のメッセージキュー(以下「監視メッセージキュー」という。)に、この監視メッセージを格納する。ワーカーサービス50のインスタンスのうち、処理中ではないいずれかのインスタンスは、監視メッセージキューに実行待ちの監視メッセージが格納されている場合、この監視メッセージを監視メッセージキューから取り出した後、この監視メッセージに応じた監視処理を、図8に示すように実行する。
図8に示すように、ワーカーサービス50のインスタンスのうち、図8に示す動作を実行するインスタンスの監視モジュール(以下「対象監視モジュール」という。)は、今回の監視処理の開始のログをStorageTable63に記憶する(S161)。
次いで、対象監視モジュールは、デバイス管理サービス40のインスタンスのリストをパブリッククラウドから取得する(S162)。
次いで、対象監視モジュールは、デバイス管理サービス40のインスタンス別に実行する処理であるインスタンス別監視処理を、S162において取得したリストに示されているインスタンスのそれぞれに対して並行して実行する(S163)。
図9は、図8に示すインスタンス別監視処理のフローチャートである。
図9に示すように、対象監視モジュールは、デバイス管理サービス40のインスタンスのうち、今回のインスタンス別監視処理の対象のもの(以下、図9および図10に示す動作の説明において「対象インスタンス」という。)のカウンター値を、対象インスタンスのインスタンスIDに基づいてカウンター情報62aから取得する(S181)。
次いで、対象監視モジュールは、S181において取得したカウンター値が0以上であるか否かを判断する(S182)。
対象監視モジュールは、S181において取得したカウンター値が0以上であるとS182において判断すると、図10に示す監視詳細処理を実行する(S183)。
図10は、図9に示す監視詳細処理のフローチャートである。
図10に示すように、対象監視モジュールは、対象インスタンスに対する監視用のWebリクエストを作成する(S201)。
次いで、対象監視モジュールは、S201において作成したWebリクエストを、特定の時間のリクエストタイムアウト値を設定して実行する(S202)。
なお、S201〜S202の処理は、上述した「死活監視」に関する処理である。
対象監視モジュールは、S202の処理の後、S202における実行の結果を判断する(S203)。
対象監視モジュールは、S202における実行の結果が、S202において実行したWebリクエストに対して対象インスタンスから正常なレスポンスが届いたとS203において判断すると、カウンター情報62aにおいて対象インスタンス用のカウンター値を0に更新して(S204)、カウンター情報62aにおいて対象インスタンスに関連付けられた時刻(以下「対象カウンター時刻」という。)を現在時刻に更新する(S205)。
対象監視モジュールは、S202における実行の結果が、503HTTPエラーであった、または、S202において設定したリクエストタイムアウト値に応じたタイムアウトであったとS203において判断すると、カウンター情報62aにおける対象インスタンス用のカウンター値が特定の閾値以上であるか否かを判断する(S206)。S206における閾値は、例えば10など、正の値である。
対象監視モジュールは、カウンター情報62aにおける対象インスタンス用のカウンター値が特定の閾値以上ではないとS206において判断すると、カウンター情報62aにおいて対象インスタンス用のカウンター値を1だけ増加させて(S207)、対象カウンター時刻を現在時刻に更新する(S208)。
対象監視モジュールは、カウンター情報62aにおける対象インスタンス用のカウンター値が特定の閾値以上であるとS206において判断すると、カウンター情報62aにおいて対象インスタンス用のカウンター値を−2に更新して(S209)、対象カウンター時刻を現在時刻に更新する(S210)。
次いで、対象監視モジュールは、対象インスタンスに関してパブリッククラウド側に「インスタンス再起動」を要求する(S211)。
対象監視モジュールは、S202における実行の結果が、503HTTPエラーおよびタイムアウトのいずれでもないエラーであったとS203において判断すると、このエラーのログをStorageTable63に記憶する(S212)。
対象監視モジュールは、S205、S208、S211またはS212の処理の後、図10に示す監視詳細処理を終了する。
図9に示すように、対象監視モジュールは、S181において取得したカウンター値が0以上ではないとS182において判断すると、対象カウンター時刻を取得する(S184)。
次いで、対象監視モジュールは、S184において取得した対象カウンター時刻に特定の時間を足した時刻より現在時刻が後であるか否かを判断する(S185)。S185における「特定の時間」は、例えば20分である。
対象監視モジュールは、対象カウンター時刻に特定の時間を足した時刻より現在時刻が後であるとS185において判断すると、カウンター情報62aにおける対象インスタンス用のカウンター値が−2以下であるか否かを判断する(S186)。
対象監視モジュールは、カウンター情報62aにおける対象インスタンス用のカウンター値が−2以下ではないとS186において判断すると、カウンター情報62aにおいて対象インスタンス用のカウンター値を1だけ減少させて(S187)、カウンター情報62aにおいて対象カウンター時刻を現在時刻に更新する(S188)。
次いで、対象監視モジュールは、対象インスタンスに関してパブリッククラウド側に「インスタンス再起動」を要求する(S189)。
なお、S182、S184〜S189の処理は、上述した「リカバリー状況監視」に関する処理である。
対象監視モジュールは、カウンター情報62aにおける対象インスタンス用のカウンター値が−2以下であるとS186において判断すると、カウンター情報62aにおいて対象カウンター時刻を現在時刻に更新する(S190)。
次いで、対象監視モジュールは、遠隔管理システム30による自律復旧処理の失敗を監視システム70に通知させるための通知用ログをStorageTable63に記憶する(S191)。
なお、S182、S184〜S186およびS190〜S191の処理は、上述した「通知判断」に関する処理である。
対象監視モジュールは、S183の処理が終了するか、対象カウンター時刻に特定の時間を足した時刻より現在時刻が後ではないとS185において判断するか、S189またはS191の処理が終了すると、今回の監視処理による監視結果をStorageTable63に記憶し(S192)、図9に示すインスタンス別監視処理を終了する。
図8に示すように、対象監視モジュールは、S163の処理の後、今回の監視処理の終了のログをStorageTable63に記憶して(S164)、図8に示す動作を終了する。
次に、遠隔管理システム30におけるデバイス管理サービス40の障害の復旧処理の処理パターンの類型について説明する。
なお、以下においては、S142における「特定の値」、S185における「特定の時間」、S206における閾値は、それぞれ、5、20分、10であるものとする。
図11(a)は、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が成功する場合のフローチャートである。図11(b)は、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が失敗するが、このインスタンスの再起動が成功する場合のフローチャートである。図11(c)は、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が失敗し、このインスタンスの再起動も失敗する場合のフローチャートである。図12(a)は、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が開始されないが、このインスタンスの再起動が成功する場合のフローチャートである。図12(b)は、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が開始されず、このインスタンスの再起動も失敗する場合のフローチャートである。
図11および図12に示す動作の説明においては、デバイス管理サービス40の全てのインスタンスを代表して、1つのインスタンス(以下、図11および図12に示す動作の説明において「対象インスタンス」という。)について説明する。
まず、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が成功する場合について、図11(a)を用いて説明する。
デバイス管理サービス40の対象インスタンスが起動され、対象インスタンスの内部でWebアプリケーションが起動されると、S101の処理およびS121の処理によって、対象インスタンス用のカウンター値は、対象インスタンスの復旧処理モジュールによって、0に設定される。また、デバイス管理サービス40の対象インスタンスが正常である場合には(S203で正常)、対象インスタンス用のカウンター値は、ワーカーサービス50のいずれかのインスタンスの監視モジュールによって、0に設定される(S204)。したがって、デバイス管理サービス40の対象インスタンスの異常が発生するまでは、対象インスタンス用のカウンター値は、0である。
図11(a)に示すように、デバイス管理サービス40の対象インスタンスの異常が発生すると、対象インスタンスに対するワーカーサービス50のいずれかのインスタンスの監視モジュールによる監視用のWebリクエストに対して503HTTPエラーやタイムアウトが発生するので(S203で503HTTPエラーまたはタイムアウト)、ワーカーサービス50のこのインスタンスの監視モジュールによって、デバイス管理サービス40の対象インスタンス用のカウンター値は、S207の処理によって1に設定される(S221)。
同様にして、デバイス管理サービス40の対象インスタンスに対するワーカーサービス50のいずれかのインスタンスの監視モジュールによる監視用のWebリクエストに対して503HTTPエラーやタイムアウトが合計で5回連続して発生すると、ワーカーサービス50のこれらのインスタンスの監視モジュールによって、デバイス管理サービス40の対象インスタンス用のカウンター値は、合計5回のS207の処理によって5に設定される(S222)。
そして、デバイス管理サービス40の対象インスタンス用のカウンター値が5以上になると(S142でYES)、このカウンター値は、対象インスタンスの復旧処理モジュールによって、S143の処理によって−1に設定され(S223)、対象インスタンスの内部のWebアプリケーションは、この復旧処理モジュールによって、S145の処理によって再起動させられる。
デバイス管理サービス40の対象インスタンスの内部のWebアプリケーションの再起動が成功すると、S121の処理によって、対象インスタンス用のカウンター値は、対象インスタンスの復旧処理モジュールによって、0に設定される(S224)。対象インスタンスのWebアプリケーションの再起動が成功した場合、対象インスタンスは、正常である。
次に、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が失敗するが、このインスタンスの再起動が成功する場合について、図11(b)を用いて説明する。
上述したように、デバイス管理サービス40の対象インスタンスの異常が発生するまでは、対象インスタンス用のカウンター値は、0である。
図11(b)に示すように、S221〜S223に関しては、図11(a)に示す処理と同様である。
S223の処理の後、デバイス管理サービス40の対象インスタンスのWebアプリケーションの再起動が失敗すると、対象インスタンス用のカウンター値は、対象インスタンスの復旧処理モジュールによって、0に設定されることはない。したがって、このカウンター値がS143の処理によって−1に設定された直後のS144の処理において、対象インスタンスの復旧処理モジュールによって更新された、対象インスタンスに関連付けられた時刻から20分が経過しても、このカウンター値は、−1のままである(S241)。
デバイス管理サービス40の対象インスタンスのWebアプリケーションが、対象インスタンスの復旧処理モジュールによって、S145の処理によって再起動させられた後、対象インスタンス用のカウンター値が−1のまま、デバイス管理サービス40の対象インスタンスに関連付けられた時刻から20分が経過すると(S185でYES)、対象インスタンス用のカウンター値は、S187の処理によって、ワーカーサービス50のいずれかのインスタンスの監視モジュールによって、−2に設定され(S242)、デバイス管理サービス40の対象インスタンスは、この監視モジュールによって、S189の処理によって再起動が要求される。
デバイス管理サービス40の対象インスタンスの再起動が成功すると、対象インスタンスの内部でWebアプリケーションが起動されるので、S101の処理およびS121の処理によって、対象インスタンス用のカウンター値は、対象インスタンスの復旧処理モジュールによって、0に設定される(S243)。デバイス管理サービス40の対象インスタンスの再起動が成功した場合、対象インスタンスは、正常である。
次に、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が失敗し、このインスタンスの再起動も失敗する場合について、図11(c)を用いて説明する。
上述したように、デバイス管理サービス40の対象インスタンスの異常が発生するまでは、対象インスタンス用のカウンター値は、0である。
図11(c)に示すように、S221〜S223、S241〜S242に関しては、図11(b)に示す処理と同様である。
S242の処理の後、デバイス管理サービス40の対象インスタンスの再起動が失敗すると、対象インスタンス用のカウンター値は、対象インスタンスの復旧処理モジュールによって、0に設定されることはない。したがって、このカウンター値がS187の処理によって−2に設定された直後のS188の処理において、ワーカーサービス50のいずれかのインスタンスの監視モジュールによって更新された、対象インスタンスに関連付けられた時刻から20分が経過しても、このカウンター値は、−2のままである(S261)。
デバイス管理サービス40の対象インスタンスが、ワーカーサービス50のいずれかのインスタンスの監視モジュールによって、S189の処理によって再起動が要求された後、対象インスタンス用のカウンター値が−2のまま、対象インスタンスに関連付けられた時刻から20分が経過すると(S185でYES)、S191の処理によって、ワーカーサービス50のいずれかのインスタンスの監視モジュールによって、通知用ログがStorageTable63に記憶される。StorageTable63に通知用ログが記憶されると、StorageTable63を監視する監視システム70は、StorageTable63に記憶されている通知用ログに基づいて、対象インスタンスに関して遠隔管理システム30による自律復旧処理の失敗を、連絡先情報74bに示す連絡先に対して電子メールで通知する。したがって、この電子メールを確認した人間によって、遠隔管理システム30の障害の復旧処理が実行される。
次に、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が開始されないが、このインスタンスの再起動が成功する場合について、図12(a)を用いて説明する。
上述したように、デバイス管理サービス40の対象インスタンスの異常が発生するまでは、対象インスタンス用のカウンター値は、0である。
図12(a)に示すように、S221〜S222に関しては、図11(a)に示す処理と同様である。
しかしながら、デバイス管理サービス40の対象インスタンスに障害が発生している場合、対象インスタンス用のカウンター値が5以上になっても、対象インスタンスの復旧処理モジュールによって、このカウンター値が−1に設定されたり、対象インスタンスの内部のWebアプリケーションが再起動させられたりすることはない。
したがって、デバイス管理サービス40の対象インスタンスに対するワーカーサービス50のいずれかのインスタンスの監視モジュールによる監視用のWebリクエストに対して503HTTPエラーやタイムアウトが更に5回連続して発生することによって合計で10回連続して発生すると、ワーカーサービス50のこれらのインスタンスの監視モジュールによって、デバイス管理サービス40の対象インスタンス用のカウンター値は、合計10回のS207の処理によって10に設定される(S281)。
そして、デバイス管理サービス40の対象インスタンス用のカウンター値が10以上になると(S206でYES)、このカウンター値は、ワーカーサービス50のいずれかのインスタンスの監視モジュールによって、S209の処理によって−2に設定され(S282)、対象インスタンスは、この監視モジュールによって、S211の処理によって再起動が要求される。
デバイス管理サービス40の対象インスタンスの再起動が成功すると、対象インスタンスの内部でWebアプリケーションが起動されるので、S101の処理およびS121の処理によって、対象インスタンス用のカウンター値は、対象インスタンスの復旧処理モジュールによって、0に設定される(S283)。デバイス管理サービス40の対象インスタンスの再起動が成功した場合、対象インスタンスは、正常である。
次に、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が開始されず、このインスタンスの再起動も失敗する場合について、図12(b)を用いて説明する。
上述したように、デバイス管理サービス40の対象インスタンスの異常が発生するまでは、対象インスタンス用のカウンター値は、0である。
図12(b)に示すように、S221〜S222、S281〜S282に関しては、図12(a)に示す処理と同様である。
S282の処理の後、デバイス管理サービス40の対象インスタンスの再起動が失敗すると、対象インスタンス用のカウンター値は、対象インスタンスの復旧処理モジュールによって、0に設定されることはない。したがって、このカウンター値がS209の処理によって−2に設定された直後のS210の処理において、ワーカーサービス50のいずれかのインスタンスの監視モジュールによって更新された、対象インスタンスに関連付けられた時刻から20分が経過しても、このカウンター値は、−2のままである(S301)。
デバイス管理サービス40の対象インスタンスが、ワーカーサービス50のいずれかのインスタンスの監視モジュールによって、S211の処理によって再起動が要求された後、対象インスタンス用のカウンター値が−2のまま、対象インスタンスに関連付けられた時刻から20分が経過すると(S185でYES)、S191の処理によって、ワーカーサービス50のいずれかのインスタンスの監視モジュールによって、通知用ログがStorageTable63に記憶される。StorageTable63に通知用ログが記憶されると、StorageTable63を監視する監視システム70は、StorageTable63に記憶されている通知用ログに基づいて、対象インスタンスに関して遠隔管理システム30による自律復旧処理の失敗を、連絡先情報74bに示す連絡先に対して電子メールで通知する。したがって、この電子メールを確認した人間によって、遠隔管理システム30の障害の復旧処理が実行される。
以上に説明したように、デバイス管理サービス40のインスタンスのそれぞれは、インスタンス自身の復旧に関する処理の状況をカウンター情報62aから取得する(S141)とともに、インスタンス自身の復旧に関する処理を実行した場合に、この処理の状況をカウンター情報62aに記憶する(S101〜S102、S121〜S122、S143〜S144)。また、ワーカーサービス50のインスタンスのそれぞれは、デバイス管理サービス40のインスタンスの復旧に関する処理の状況をカウンター情報62aから取得する(S181、S184)とともに、デバイス管理サービス40のインスタンスの復旧に関する処理を実行した場合に、この処理の状況をカウンター情報62aに記憶する(S187〜S188、S190、S204〜S205、S207〜S208、S209〜S210)。この構成により、遠隔管理システム30は、デバイス管理サービス40のインスタンスの復旧に関する処理を、デバイス管理サービス40のインスタンス自身と、ワーカーサービス50のインスタンスとによって実行するので、デバイス管理サービス40に対応する待機系のシステムが不要であり、運用コストを抑えることができる。
ワーカーサービス50のインスタンスの監視モジュールは、デバイス管理サービス40のインスタンスの復旧に関する処理の状況を、ワーカーサービス50からもデバイス管理サービス40からも独立したキャッシュサービス62のカウンター情報62aに書き込む。したがって、遠隔管理システム30は、デバイス管理サービス40と、ワーカーサービス50とがそれぞれ複数のインスタンスで冗長化された構成であるにもかかわらず、インスタンスの数が変動しても問題なく動作を継続することができ、適切な障害検知と、適切な自律復旧とを実現することができる。
遠隔管理システム30において、デバイス管理サービス40のインスタンスは、このインスタンスの異常に対するワーカーサービス50のインスタンスによる監視の状況が特定の状況になったことがカウンター情報62aに示された場合(S142でYES)に、デバイス管理サービス40のインスタンス自身の復旧に関する処理として、デバイス管理サービス40のインスタンス自身のWebアプリケーションを再起動する(S145)。この構成により、遠隔管理システム30は、デバイス管理サービス40のインスタンスの異常に対するワーカーサービス50のインスタンスによる監視の状況に応じて、デバイス管理サービス40のインスタンスのWebアプリケーションを再起動するので、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動を適切なタイミングで実行することができる。
遠隔管理システム30において、ワーカーサービス50のインスタンスは、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動から特定の時間が経過しても、このアプリケーションの再起動が成功したことがカウンター情報62aに示されない場合(S185でYESおよびS186でNO)に、デバイス管理サービス40のこのインスタンスの再起動を要求する(S189)。この構成により、遠隔管理システム30は、デバイス管理サービス40のインスタンスのWebアプリケーションの再起動が失敗した場合に、このインスタンスの再起動を適切なタイミングで実行することができる。
遠隔管理システム30において、ワーカーサービス50のインスタンスは、デバイス管理サービス40のインスタンスの再起動の要求から特定の時間が経過しても、このインスタンスの再起動が成功したことがカウンター情報62aに示されない場合(S185でYESおよびS186でYES)に、自律復旧処理の失敗の通知のための処理(S191)を実行する。この構成により、遠隔管理システム30は、デバイス管理サービス40のインスタンスの再起動が失敗した場合に、自律復旧処理の失敗の通知のための処理を実行するので、人間による復旧処理を適切なタイミングで受ける可能性を向上することができる。
本発明の処理状況記憶部は、本実施の形態においてキャッシュサービス62であるが、キャッシュサービス以外の記憶部でも良い。例えば、本発明の処理状況記憶部は、データベースやストレージテーブルでも良い。
30 遠隔管理システム(情報処理システム)
40 デバイス管理サービス(第1の並列分散処理システム)
41 インスタンス
50 ワーカーサービス(第2の並列分散処理システム)
51 インスタンス
62 キャッシュサービス(処理状況記憶部)
62a カウンター情報(処理状況情報)

Claims (4)

  1. 複数のインスタンスを備え、これらのインスタンスで並列分散処理を実行する第1の並列分散処理システムと、
    複数のインスタンスを備え、これらのインスタンスで並列分散処理を実行する第2の並列分散処理システムと、
    前記第1の並列分散処理システムの前記インスタンスの復旧に関する処理の状況を前記第1の並列分散処理システムの前記インスタンス毎に示す処理状況情報を記憶する処理状況記憶部と
    を備え、
    前記第1の並列分散処理システムの前記インスタンスのそれぞれは、インスタンス自身の復旧に関する処理の状況を前記処理状況情報から取得するとともに、インスタンス自身の復旧に関する処理を実行した場合に、この処理の状況を前記処理状況情報に記憶し、
    前記第2の並列分散処理システムの前記インスタンスのそれぞれは、前記第1の並列分散処理システムの前記インスタンスの復旧に関する処理の状況を前記処理状況情報から取得するとともに、前記第1の並列分散処理システムの前記インスタンスの復旧に関する処理を実行した場合に、この処理の状況を前記処理状況情報に記憶することを特徴とする情報処理システム。
  2. 前記第1の並列分散処理システムの前記インスタンスは、このインスタンスの異常に対する前記第2の並列分散処理システムの前記インスタンスによる監視の状況が特定の状況になったことが前記処理状況情報に示された場合に、前記第1の並列分散処理システムの前記インスタンス自身の復旧に関する処理として、前記第1の並列分散処理システムの前記インスタンス自身のアプリケーションを再起動することを特徴とする請求項1に記載の情報処理システム。
  3. 前記第2の並列分散処理システムの前記インスタンスは、前記第1の並列分散処理システムの前記インスタンスの前記アプリケーションの再起動から特定の時間が経過しても、このアプリケーションの再起動が成功したことが前記処理状況情報に示されない場合に、前記第1の並列分散処理システムのこのインスタンスの再起動を要求することを特徴とする請求項2に記載の情報処理システム。
  4. 前記第2の並列分散処理システムの前記インスタンスは、前記第1の並列分散処理システムの前記インスタンスの再起動の要求から特定の時間が経過しても、このインスタンスの再起動が成功したことが前記処理状況情報に示されない場合に、自律復旧処理の失敗の通知のための処理を実行することを特徴とする請求項3に記載の情報処理システム。
JP2019106993A 2019-06-07 2019-06-07 情報処理システム Pending JP2020201637A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019106993A JP2020201637A (ja) 2019-06-07 2019-06-07 情報処理システム
US16/893,756 US11487623B2 (en) 2019-06-07 2020-06-05 Information processing system
EP20178495.6A EP3748502A1 (en) 2019-06-07 2020-06-05 Monitoring a photocopying machine and restarting it in case of failures
CN202010506186.3A CN112055041B (zh) 2019-06-07 2020-06-05 信息处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019106993A JP2020201637A (ja) 2019-06-07 2019-06-07 情報処理システム

Publications (1)

Publication Number Publication Date
JP2020201637A true JP2020201637A (ja) 2020-12-17

Family

ID=71016412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019106993A Pending JP2020201637A (ja) 2019-06-07 2019-06-07 情報処理システム

Country Status (4)

Country Link
US (1) US11487623B2 (ja)
EP (1) EP3748502A1 (ja)
JP (1) JP2020201637A (ja)
CN (1) CN112055041B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12026237B2 (en) 2019-12-11 2024-07-02 The Boeing Company Software license manager
US11983252B2 (en) * 2019-12-11 2024-05-14 The Boeing Company Software license manager security
US12579537B2 (en) * 2023-09-22 2026-03-17 Motorola Mobility Llc Digital wallet balance display in an electronic device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133674A1 (en) * 2002-09-24 2004-07-08 Katsuhiko Sasaki Remote management system, electronic apparatus, control method, and program that reduce communication costs in occurrence of abnormality
US20050179931A1 (en) * 2004-02-03 2005-08-18 Yukio Yamaguchi Image processing apparatus and method of automatic reboot
US20060136686A1 (en) * 2004-12-22 2006-06-22 International Business Machines Corporation Log shipping data replication with parallel log writing and log shipping at the primary site
US9652326B1 (en) * 2014-01-24 2017-05-16 Amazon Technologies, Inc. Instance migration for rapid recovery from correlated failures

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324596A (ja) * 1992-05-21 1993-12-07 Toshiba Corp 並列多重処理システム
JP4039276B2 (ja) * 2003-03-05 2008-01-30 富士ゼロックス株式会社 サービス処理システム及びプログラム
US7730489B1 (en) * 2003-12-10 2010-06-01 Oracle America, Inc. Horizontally scalable and reliable distributed transaction management in a clustered application server environment
EP2312586A1 (en) * 2008-04-16 2011-04-20 Panasonic Corporation Reproduction device, reproduction method, and program
US8676753B2 (en) * 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US8499336B2 (en) * 2010-11-23 2013-07-30 Cisco Technology, Inc. Session redundancy among a server cluster
US8601058B2 (en) * 2011-03-24 2013-12-03 Cisco Technology, Inc. Mobile videoconferencing
US8447851B1 (en) * 2011-11-10 2013-05-21 CopperEgg Corporation System for monitoring elastic cloud-based computing systems as a service
JP5575338B2 (ja) * 2012-01-05 2014-08-20 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム
EP2880528A4 (en) * 2012-07-31 2016-04-06 Hewlett Packard Development Co MONITORING FOR MANAGED SERVICES
US9110844B2 (en) * 2012-08-27 2015-08-18 Microsoft Technology Licensing, Llc State maintenance as a service
US20150026086A1 (en) * 2013-06-28 2015-01-22 TempDaddy, Inc. Systems and methods for providing a virtual staffing agency
US9430318B2 (en) * 2014-01-27 2016-08-30 Microsoft Technology Licensing, Llc Health monitoring and recovery for infrastructure devices
US9436544B2 (en) * 2014-06-26 2016-09-06 Wipro Limited Methods for implementing error detection and recovery and devices thereof
JP5933875B1 (ja) * 2014-12-15 2016-06-15 三菱電機株式会社 情報処理装置及び起動方法
US10289446B1 (en) * 2015-09-15 2019-05-14 Amazon Technologies, Inc. Preserving web browser child processes by substituting a parent process with a stub process
US20170149864A1 (en) * 2015-11-24 2017-05-25 International Business Machines Corporation Distributed applications management with dependent resilient distributed services
US10528427B1 (en) * 2016-06-09 2020-01-07 Intuit, Inc. Self-healing system for distributed services and applications
US10275346B2 (en) * 2016-12-08 2019-04-30 Sap Se Automatic testing of disaster recovery scenarios in cloud environments
US10938782B1 (en) * 2016-12-27 2021-03-02 Amazon Technologies, Inc. Secure hardware signal filtering
JP2018133764A (ja) 2017-02-17 2018-08-23 株式会社リコー 冗長構成システム、切替方法、情報処理システムおよびプログラム
US10482069B1 (en) * 2017-08-04 2019-11-19 Jpmorgan Chase Bank, N.A. Method and system for implementing a version control adaptive architecture platform
US11663094B2 (en) * 2017-11-30 2023-05-30 Hewlett Packard Enterprise Development Lp Reducing recovery time of an application
US11108859B2 (en) * 2018-07-02 2021-08-31 Accenture Global Solutions Limited Intelligent backup and recovery of cloud computing environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133674A1 (en) * 2002-09-24 2004-07-08 Katsuhiko Sasaki Remote management system, electronic apparatus, control method, and program that reduce communication costs in occurrence of abnormality
US20050179931A1 (en) * 2004-02-03 2005-08-18 Yukio Yamaguchi Image processing apparatus and method of automatic reboot
US20060136686A1 (en) * 2004-12-22 2006-06-22 International Business Machines Corporation Log shipping data replication with parallel log writing and log shipping at the primary site
US9652326B1 (en) * 2014-01-24 2017-05-16 Amazon Technologies, Inc. Instance migration for rapid recovery from correlated failures

Also Published As

Publication number Publication date
CN112055041A (zh) 2020-12-08
US20200387428A1 (en) 2020-12-10
EP3748502A1 (en) 2020-12-09
US11487623B2 (en) 2022-11-01
CN112055041B (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
US8533525B2 (en) Data management apparatus, monitoring apparatus, replica apparatus, cluster system, control method and computer-readable medium
JP5444178B2 (ja) バックアップ・リストア処理装置とバックアップ・リストア処理方法およびプログラム
US9720776B2 (en) Server system, method for controlling the same, and program for executing parallel distributed processing
CN109558260B (zh) Kubernetes故障排除系统、方法、设备及介质
JP2020201637A (ja) 情報処理システム
JP6558037B2 (ja) 運用管理プログラム、運用管理方法、および運用管理装置
KR101881232B1 (ko) 이메일 웹클라이언트 통지 큐잉
JP6124644B2 (ja) 情報処理装置および情報処理システム
JP4107676B2 (ja) トランザクション引継ぎシステム
US11397632B2 (en) Safely recovering workloads within a finite timeframe from unhealthy cluster nodes
JP5366184B2 (ja) データ記憶システム、データ記憶方法
JP6222759B2 (ja) 障害通知装置、障害通知方法及びプログラム
CN110502460A (zh) 数据处理的方法和节点
JP6665892B2 (ja) 情報処理システム,情報処理装置および制御プログラム
CN104463550A (zh) 通知错误消息的管理装置以及利用该装置的通知方法
US11442812B2 (en) System and method
US9110850B2 (en) Method for accelerating start up of a computerized system
CN115037652A (zh) 一种套保系统后台模块运行监控系统
JP5939053B2 (ja) リモートバックアップ装置、リモートバックアップシステム、方法およびプログラム
JP2007133795A (ja) クラスタ構成の業務システム
JP2018022402A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
US20260101008A1 (en) Storage medium storing server application providing troubleshooting support service and information processing system for providing troubleshooting support service
CN111381969B (zh) 一种分布式软件的管理方法及其系统
JP2007272328A (ja) コンピュータ・システム
JP4459185B2 (ja) コンピュータ・システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231220