JP7107789B2 - 情報処理システム、情報処理方法、及び、プログラム - Google Patents

情報処理システム、情報処理方法、及び、プログラム Download PDF

Info

Publication number
JP7107789B2
JP7107789B2 JP2018165441A JP2018165441A JP7107789B2 JP 7107789 B2 JP7107789 B2 JP 7107789B2 JP 2018165441 A JP2018165441 A JP 2018165441A JP 2018165441 A JP2018165441 A JP 2018165441A JP 7107789 B2 JP7107789 B2 JP 7107789B2
Authority
JP
Japan
Prior art keywords
service
agent
information processing
agents
services
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
Application number
JP2018165441A
Other languages
English (en)
Other versions
JP2020038506A (ja
Inventor
孝昌 大竹
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.)
NEC Solutions Innovators Ltd
Original Assignee
NEC Solutions Innovators Ltd
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 NEC Solutions Innovators Ltd filed Critical NEC Solutions Innovators Ltd
Priority to JP2018165441A priority Critical patent/JP7107789B2/ja
Publication of JP2020038506A publication Critical patent/JP2020038506A/ja
Application granted granted Critical
Publication of JP7107789B2 publication Critical patent/JP7107789B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、処理の監視に関し、特に、複数の処理の監視に関する。
情報処理システムの利用者は、情報処理システムの動作状態を監視する。そのため、情報処理システムの監視に関する技術が、提案されている(例えば、特許文献1ないし3を参照)。
特許文献1に記載の発明は、アプリケーションにおける応答時間の算出、及び、算出した応答時間の表示に関連する発明である。
特許文献2に記載の発明は、アプリケーションに関連するノードの表示に関連する発明である。
特許文献3に記載の発明は、分散データの管理に関連する発明である。
ネットワーク及びコンピュータの性能の向上に伴い、ネットワークを介して接続された複数のコンピュータから提供される機能を組み合わせて所望の機能を実現することが行われている。
このような、ネットワークを介して組み合わせて利用可能な機能を提供するシステムは、クラウドコンピューティングシステム又はクラウドシステムと呼ばれている。あるいは、組合せ可能な機能を提供するシステムは、Infrastructure as a Service(IssS)、又は、Platform as a Service(PaaS)などと呼ばれている。
なお、クラウドコンピューティングシステムにおいて提供される機能に対しては、機能を提供する会社、及び/又は、機能の規模などに伴い、各種の名称が用いられている。例えば、機能の単位は、サービス、モジュール、エージェント、カプセル、又は、Application Programming Interface(API)などと呼ばれている。
以下の説明において、システムから提供される個別の機能を「エージェント」と呼ぶ。また、エージェントを組み合わせて実現する所望の機能を「サービス」と呼ぶ。
なお、個別の機能は組み合わされて所望のサービスを実現するため、クラウドコンピューティングシステムなどでは、提供される機能(以下の説明における「エージェント」に相当する機能)は、「マイクロ・サービス」と呼ばれる場合がある。
具体的には、ネットワークを介して接続されているコンピュータが、所定のソフトウェアを基に動作して、エージェントとしての機能の提供を実現する。そして、クラウドコンピューティングシステムの利用者は、一つ又は複数のコンピュータにおいて動作しているエージェントを組み合わせて、所定のサービスとしての機能を実現する。なお、コンピュータは、少なくとも一つのプロセッサとメモリとを備え、メモリなどに保存されたソフトウェアを基に所定の機能を実現する装置である。
必要となるサービスにおける機能が変更となった場合、利用者は、組合せて用いているエージェントを変更して、機能の変更に対応する。利用しているエージェントの変更に伴い、エージェントとしての機能を提供するコンピュータは、変更となる場合がある。
また、必要となるサービスにおける性能が変更となった場合、利用者は、利用するエージェントの数を変更して性能の変更に対応する。利用しているエージェントの数の変更に伴い、エージェントとしての機能を提供するコンピュータの数、又は、サービスを実現するためのコンピュータの構成などが、変更となる場合がある。
このように、クラウドコンピューティングシステムでは、実際のエージェントを実現する物理的なコンピュータは、必要となる機能及び性能に対応して変化する。
特開2018-028783号公報 特開2012-221500号公報 特表2014-515522号公報
利用者が利用するサービスには、必要となる性能がある。サービスの利用者は、提供されているサービスが、必要となる性能を満足しているかを知るため、所定の項目の監視を希望する。
監視したい項目は、1つの項目に限られず、複数の項目がある。
例えば、サービスにおける処理のスループット及び/又は処理遅延は、監視項目の一例である。あるいは、サービスを提供する機器における障害の有無は、監視項目の一例である。あるいは、サービスに利用されているリソースの量は、監視項目の一例である。
監視項目の1つとして、サービスの稼働状態がある。稼働状態として用いられる監視項目の一例は、「稼働率」である。稼働率とは、対象における能力に対して実際に利用されている能力の割合である。例えば、モノリシック(monolithic)に作成されたシステムの稼働率は、システムの全運転時間に対するサービスを提供するための稼働時間の割合である。あるは、モノリシックなシステムの稼働率は、「全運転時間に対する停止時間の割合を1から引いた値」である。
ただし、クラウドコンピューティングシステムのようなシステムでは、サービスの提供に用いられるエージェントは、相互に独立して動作する。さらに、1つのサービスの実現において、同様の機能を実現するエージェントが、複数用いられている場合が多い。この場合、一部のエージェントが障害などのために停止しても、サービスの提供は、同様の機能を実現する他のエージェントを用いて継続される。つまり、複数のエージェントを用いて実現されているサービスでは、一部のエージェントが停止しても、サービスの提供としての稼働状態は、継続される場合がある。
つまり、クラウドコンピューティングシステムのような複数のエージェントを用いて実現されているサービスの稼働状態は、そのサービスの稼働時間からは求めることができない。
このような複数のエージェントを用いて実現されているサービスの稼働状態を求めるためには、そのサービスのために用いられている全てのエージェントの稼働状態を把握することが必要である。
しかし、一般的なクラウドコンピューティングシステムにおいて、個別のエージェントは、組み合わされることにより、外部に対して所定のサービスの提供するものであり、単独でその稼働状態を外部に通知するようには作成されていない。さらに、障害などで停止したエージェントは、稼働状態を報告することができない。
また、一般的なクラウドコンピューティングシステムにおいて実現されているサービスには、非常に多くのエージェント(例えば、マイクロ・サービス)が用いられている。さらに、用いられているエージェントは、スケールイン又はスケールアウトのため、一定ではなく、常に変化している。そのため、エージェントが、個別に稼働状態を報告する機能を備えたとしても、サービスに関連する全てのエージェントの稼働状態を取得することは、実効的に困難である。
このように、ネットワークを介して接続されたコンピュータにおいて実現されているエージェントを組み合わせてサービスを提供しているシステムでは、サービスの稼働状態を監視することができなかった。
特許文献1は、稼働している仮想マシンのアドレスなどについて開示しているが、仮想マシンの稼働状態の監視については開示していない。
特許文献2及び3は、システムにおける稼働の監視に関する技術を開示していない。
このように、特許文献1ないし3は、複数のエージェントを組み合わせて実現されているサービスの稼働状態を監視できないという問題点があった。
本発明の目的は、上記問題点を解決し、ネットワークを介して接続されている複数のコンピュータに基づいて提供されるエージェントを組み合わせて実現されたサービスの稼働状態を監視する情報処理システムなどを提供することにある。
本発明の一形態における情報処理システムは、
ネットワークを介して接続する複数のコンピュータを含み、
1つ又は複数のコンピュータを用いて、
所定の機能の単位であるエージェントと、
少なくとも一部の前記エージェントの組合せとしてクライアントに提供されるサービスと、
所定の回数のサービス及び所定の期間のサービスにおいて、サービスそれぞれに関連するエージェントそれぞれにおける動作状態を監視し、動作状態を基にサービスの稼働状態を算出し、算出した稼働状態を所定のモニタに送信する監視エージェントと
を実行する。
本発明の一形態における情報処理方法は、
ネットワークを介して接続する複数のコンピュータにおいて、
1つ又は複数のコンピュータが、
所定の機能の単位であるエージェントと、
少なくとも一部の前記エージェントの組合せとしてクライアントに提供されるサービスと、
所定の回数のサービス及び所定の期間のサービスにおいて、サービスそれぞれに関連するエージェントそれぞれにおける動作状態を監視し、動作状態を基にサービスの稼働状態を算出し、算出した稼働状態を所定のモニタに送信する監視エージェントと
して動作する。
本発明の一形態におけるプログラムは、
ネットワークを介して接続する複数のコンピュータにおいて、
1つ又は複数のコンピュータに、
所定の機能の単位であるエージェントとしての処理と、
少なくとも一部の前記エージェントの組合せとしてクライアントに提供されるサービスとしての処理と、
所定の回数のサービス及び所定の期間のサービスにおいて、サービスそれぞれに関連するエージェントそれぞれにおける動作状態を監視し、動作状態を基にサービスの稼働状態を算出し、算出した稼働状態を所定のモニタに送信する監視エージェントしての処理と
を実行させる。
本発明に基づけば、複数のエージェントを組み合わせて実現されたサービスの稼働状態を監視するとの効果を奏することができる。
図1は、第1の実施形態にかかる情報処理システムのハードウェア構成の一例を示すブロック図である。 図2は、第1の実施形態にかかる情報処理装置のハードウェア構成の一例を示すブロック図である。 図3は、第1の実施形態にかかる情報処理システムの機能構成の一例を示すブロック図である。 図4は、第1のサービスの一例を示す図である。 図5は、第2のサービスの一例を示す図である。 図6は、第3のサービスの一例を示す図である。 図7は、第1の実施形態にかかる監視エージェントの動作を説明するための図である。 図8は、稼働率の一例を示す図である。 図9は、障害に関連する情報の一例を示す図である。
上記のとおり、クラウドコンピューティングシステムのように、複数のエージェントを用いたサービスの提供において、サービスの稼働率など稼働状態を把握することが難しかった。発明者は、以下で詳細に説明するように、複数のエージェントに用いてサービスを提供する情報処理システムにおいても算出できる、稼働状態を示す値を見いだした。これは、発明者が新規に見いだした知見である。
次に、本発明の実施形態について図面を参照して説明する。
なお、各図面は、本発明の実施形態を説明するためのものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。また、図面中の矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
(用語の説明)
説明を明確とするため、以下の実施形態の説明における用語を説明する。
「エージェント」とは、各実施形態にかかる情報処理システムが提供する機能の単位である。なお、各実施形態にかかる情報処理システムは、複数のエージェントの組合せを、単独のエージェントと同様に提供してもよい。ただし、以下の説明では、説明を明確とするため、一例として、単独のエージェントを用いた説明とする。
「サービス」とは、エージェントを組み合わせて提供される所定の機能である。サービスとは、例えば、World Wide Web(WWW)サーバ、又は、メール・サーバである。サービスは、以下の説明において、各実施形態にかかる情報処理システムにおける稼働状態の監視対象となる単位である。
各実施形態にかかる情報処理システムは、エージェントの組合せであるサービスの稼働状態を監視する。また、上記のとおり、各実施形態にかかる情報処理システムは、複数のエージェントの組合せをエージェントとして提供してもよい。そのため、各実施形態にかかる情報処理システムは、エージェントの組合せにおける動作状態を監視してもよい。ただし、以下の説明では、説明を明確とするため、一例として、「サービス」を監視対象として説明する。
<第1の実施形態>
以下、図面を参照して、本発明における第1の実施形態について説明する。
まず、図面を参照して、第1の実施形態にかかる情報処理システム100のハードウェア構成について説明する。
図1は、第1の実施形態にかかる情報処理システム100のハードウェア構成の一例を示すブロック図である。
情報処理システム100は、複数の情報処理装置600と、ネットワーク700とを含む。
ネットワーク700は、情報処理装置600を相互に接続する。さらに、ネットワーク700は、情報処理装置600及びクライアント装置800を接続する。ネットワーク700は、各装置を接続できれば、その構成などは限定されない。例えば、ネットワーク700は、インターネット、イントラネット、又は、公衆電話網である。
情報処理装置600は、所定のエージェントとしての機能を、クライアント装置800に提供する。さらに、情報処理装置600は、エージェントの組合せであるサービスとしての機能を提供する。情報処理システム100は、組み合わせるエージェントを実行している情報処理装置600を限定されない。情報処理システム100は、ネットワーク700を介して接続された複数の情報処理装置600において動作するエージェントを組み合わせてもよい。あるいは、情報処理システム100は、同じ情報処理装置600において動作するエージェントを組み合わせてもよい。さらに、情報処理システム100は、利用するエージェントが動作する情報処理装置600を適宜変更してもよい。
情報処理装置600は、メモリと、少なくとも一つのプロセッサ(例えば、Central Processing Unit (CPU))とを含む。メモリは、Read Only Memory (ROM)及びRandom Access Memory (RAM)を含む。情報処理装置600のCPUは、メモリ上のプログラムを基に、エージェントとしての機能を実現する。情報処理装置600は、磁気ディスク装置のような外部記憶装置を用いてもよい。
さらに、情報処理装置600は、ネットワーク700と接続するための構成(例えば、Network Interface Curcuit(NIC))を備える。
情報処理装置600は、さらに、周辺機器と接続するための構成(例えば、Input and Output Curcuit(IOC))を備えてもよい。
クライアント装置800は、情報処理システム100から、サービスとしての機能の提供を受ける装置である。クライアント装置800は、サービスの提供を受ける装置であれば、その構成などを限定されない。クライアント装置800は、例えば、サーバ、パーソナルコンピュータ、タブレット、携帯電話、又は、携帯情報端末(Personal Data Assistant(PDA))である。
次の、図面を参照して、情報処理装置600のハードウェア構成を説明する。
図2は、第1の実施形態にかかる情報処理装置600のハードウェア構成の一例を示すブロック図である。
情報処理装置600は、CPU610と、ROM620と、RAM630と、内部記憶装置640と、IOC650と、NIC680とを含み、コンピュータを構成している。
CPU610は、ROM620及び/又は内部記憶装置640からプログラムを読み込む。そして、CPU610は、読み込んだプログラムに基づいて、RAM630と、内部記憶装置640と、IOC650と、NIC680とを制御する。そして、CPU610を含むコンピュータは、これらの構成を制御し、エージェントとしての各機能を実現する。
CPU610は、各機能を実現する際に、RAM630又は内部記憶装置640を、プログラムの一時記憶媒体として使用してもよい。
また、CPU610は、コンピュータで読み取り可能にプログラムを記憶した記録媒体690が含むプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。あるいは、CPU610は、NIC680を介して、図示しない外部の装置からプログラムを受け取り、RAM630又は内部記憶装置640に保存して、保存したプログラムを基に動作してもよい。
ROM620は、CPU610が実行するプログラム及び固定的なデータを記憶する。ROM620は、例えば、P-ROM(Programmable-ROM)又はフラッシュROMである。
RAM630は、CPU610が実行するプログラム及びデータを一時的に記憶する。RAM630は、例えば、D-RAM(Dynamic-RAM)である。
内部記憶装置640は、情報処理装置600が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置640は、CPU610の一時記憶装置として動作してもよい。内部記憶装置640は、例えば、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)又はディスクアレイ装置である。
ROM620と内部記憶装置640とは、不揮発性(non-transitory)の記憶媒体である。一方、RAM630は、揮発性(transitory)の記憶媒体である。そして、CPU610は、ROM620、内部記憶装置640、又は、RAM630に記憶されているプログラムを基に動作可能である。つまり、CPU610は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
IOC650は、CPU610と、利用者が操作する機器などとのデータを仲介する。図2は、機器の一例として、入力機器660及び表示機器670を示す。IOC650は、例えば、IOインターフェースカード又はUSB(Universal Serial Bus)カードである。さらに、IOC650は、USBのような有線に限らず、無線を用いてもよい。
なお、入力機器660は、情報処理装置600の利用者からの入力指示を受け取る機器である。入力機器660は、例えば、キーボード、マウス又はタッチパネルである。表示機器670は、情報処理装置600の利用者に情報を表示する機器である。表示機器670は、例えば、液晶ディスプレイ、有機エレクトロルミネッセンス・ディスプレイ、又は、電子ペーパーである。
NIC680は、ネットワーク700を介して他の情報処理装置600及びクライアント装置800とのデータのやり取りを中継する。NIC680は、例えば、LAN(Local Area Network)カードである。さらに、NIC680は、有線に限らず、無線を用いてもよい。
次に、図面を参照して、情報処理システム100の機能構成について説明する。
図3は、第1の実施形態にかかる情報処理システム100の機能構成の一例を示すブロック図である。
図3は、説明の便宜のため、情報処理装置600に加え、情報処理システム100からサービスの提供を受けるクライアント装置800に対応する機能として、4つのクライアント810を示している。以下の説明において、個別のクライアント810を区別する場合は、アルファベットを付して、クライアント810Aないし810Dを用いて説明する。クライアント810を区別する必要がない場合、クライアント810として説明する。
さらに、図3は、情報処理システム100から、サービスの稼働状態を受信するモニタ820を示している。モニタ820を実現する装置は、限定されない。モニタ820は、所定のクライアント装置800の機能として実現されてもよい。あるいは、モニタ820は、図示しない監視用の装置を用いて実現されてもよい。あるいは、いずれかの情報処理装置600が、モニタ820としての機能を実現してもよい。
次に、情報処理装置600における機能構成について説明する。
情報処理システム100において、1つ又は複数の情報処理装置600が、エージェント200及び監視エージェント210(以下、まとめて「エージェント200など」とも呼ぶ)としての機能を実現する。
情報処理装置600は、上記で説明したハードウェアを用いて、エージェント200などの機能を実現する。例えば、情報処理装置600は、所定のオペレーティングシステム(Operationg System(OS))を実行し、そのOS上で動作するソフトウェアとしてエージェント200など実行する。ただし、情報処理装置600がエージェント200などの機能を実現する構成は、上記の構成に限定されない。
また、情報処理装置600におけるエージェント200などの配置は、限定されない。1つの情報処理装置600が、複数のエージェント200などを実行してもよい。あるいは、複数の情報処理装置600が、協働してエージェント200などの機能を実現してもよい。さらに、情報処理システム100は、エージェント200などとしての機能を実現する情報処理装置600を変更してもよい。
エージェント200は、それぞれ、異なる機能を実現してもよい。ただし、複数のエージェント200が、同様の機能を実現してもよい。あるいは、エージェント200は、他のエージェント200における一部の機能を含んだ機能を実現してもよい。つまり、エージェント200は、他のエージェント200と一部の機能が共通していてもよい。
図3において、同じ機能を実現するエージェント200は、同じアルファベットを付した。例えば、図3の上部左に記載された3つのエージェント200Aは、同じ機能を実現する。これに対し、エージェント200Bは、エージェント200Aとは、少なくとも一部が異なる機能を実現する。
図3は、9種類のエージェント(エージェント200Aから200H、及び、監視エージェント210)を示している。
情報処理システム100は、情報処理装置600が実現しているエージェント200を組み合わせてサービスとしての機能を実現(提供)する。例えば、エージェント200Aないし200Hは、所定のサービスを提供するために組み合わされる。なお、以下の説明において、エージェント200Aないし200Hを特に区別する必要がない場合は、エージェント200として説明する。
以下の説明では、一例として、情報処理システム100は、3つのサービスを提供するとする。
図4は、第1のサービスの一例を示す図である。図4において、太線を用いて結合されているエージェント200が、第1のサービスに関連する。具体的には、第1のサービスは、3つのエージェント200Aと、エージェント200Bと、エージェント200Cと、エージェント200Dとを用いて実現されている。第1のサービスにおいて、3つのエージェント200Aは、並列にクライアント810に対する窓口としての機能を実現している。
図5は、第2のサービスの一例を示す図である。図5において、太線を用いて結合されているエージェント200が、第2のサービスに関連する。具体的には、第2のサービスは、2つのエージェント200Aと、エージェント200Eと、エージェント200Dとを用いて実現されている。第2のサービスにおいて、2つのエージェント200Aは、並列にクライアント810に対する窓口としての機能を実現している。
図6は、第3のサービスの一例を示す図である。図6において、太線を用いて結合されているエージェント200が、第3のサービスに関連する。具体的には、第3のサービスは、エージェント200Fと、2つのエージェント200Gと、エージェント200Hと、エージェント200Dとを用いて実現されている。第3のサービスにおいて、2つのエージェント200Gは、並列に所定の機能を実現している。
図3を参照した説明に戻る。
監視エージェント210は、エージェント200と同様に、情報処理システム100に含まれる情報処理装置600を用いて提供されるエージェントである。ただし、監視エージェント210は、サービスの提供に用いられず、サービスの提供時に、サービスの提供に用いられるエージェント200の動作状態を監視する。
図面を参照して、監視エージェント210の動作を説明する。
図7は、第1の実施形態にかかる監視エージェント210の動作を説明するための図である。図7は、第3のサービスが動作する場合を示している。図7は、破線を用いてサービス(今の場合、第3のサービス)の要求を示している。図7は、第3のサービスが5回要求された場合を示す。
なお、監視エージェント210は、第1のサービスなど他のサービスについても同様に監視する。ただし、図が煩雑となるため、図7は、第3のサービスの場合を示している。
また、図7は、1つの監視エージェント210が監視している場合を示している。ただし。情報処理システム100は、一つに限らず、複数の監視エージェント210を動作させてもよい。例えば、情報処理システム100は、サービスそれぞれに対して、監視エージェント210を起動して監視させてもよい。
あるいは、情報処理システム100は、同じサービスに対して、複数の監視エージェント210を用いてもよい。この場合、各監視エージェント210の監視対象は、少なくとも一部が異なっていてもよい。つまり、監視エージェント210は、一部のエージェント200の組合せの動作状態を監視してもよい。
図7に示されているように、情報処理システム100において第3のサービスが要求されると、監視エージェント210は、第3のサービスの要求毎に、第3のサービスの提供に関連するエージェント200の動作状態を取得する。今の場合、監視されるエージェント200は、エージェント200F、200G、200H、及び200Dである。
そして、監視エージェント210は、所定数のサービスが要求されるまで、又は、所定の時間の経過するまで、監視を継続する。
例えば、監視エージェント210は、図7に示されているように、5回の第3のサービスが要求されるまで監視を継続する。なお、図7において、第3のサービスは、左のエージェント200Gを用いて2回提供され、右側のエージェント200Gを用いて3回提供されている。
そして、監視エージェント210は、監視したサービスにおけるエージェント200の動作状態(例えば、障害の有無)を基に、サービス(この場合、第3のサービス)が成功したか否かを判定し、成功したサービス(及び/又は失敗したサービス)の数を計測する。
例えば、監視対象のサービスが正常に終了した場合、監視エージェント210は、そのサービスが成功したと判定する。
一方、例えば、監視対象のサービスを提供するためのエージェント200のいずれかが障害となっている場合、監視エージェント210は、そのサービスが成功しなかったと判定する。
例えば、図7において、右側のエージェント200Gが正常に動作し、左側のエージェント200Gが障害となっていたとする。この場合、監視エージェント210は、成功したサービスとして、右側のエージェント200Gを用いたサービスの数(この場合、「3」)を計測する。
あるいは、監視エージェント210は、失敗したサービスの数として、左側のエージェント200Gを用いてサービスの数(この場合、「2」)を計測する。そして、監視エージェント210は、要求されたサービスの総数(この場合、「5」)から失敗したサービスの数を引いて、成功したサービスの数としてもよい。
そして、監視エージェント210は、成功したサービスの数と、要求されたサービスの数と基に、サービス(この場合、第3のサービス)の稼働状態を示す値を算出する。
稼働状態を示す値の一例として、稼働率を用いて説明する。
図8は、稼働率の一例を示す図である。図8の稼働率は、成功したサービスの数を、要求されたサービスの数で割った値(要求されたサービスの数に対する成功したサービスの数の比率)である。例えば、図7に示すように、何らかの原因で左側のエージェント200Gに障害が発生していた場合、第3のサービスは、2回失敗となる。つまり、第3のサービスは、要求された5回の中で3回成功した。したがって、この場合の稼働率は、0.6(60%)となる。
このように、情報処理システム100は、監視エージェント210を用いて、情報処理システム100が提供するサービスに関連するエージェント200の動作状態を監視する。監視エージェント210は、エージェント200の動作状態を基に、サービスの稼働状態(例えば、稼働率)を算出する。さらに、監視エージェント210は、算出したサービスの稼働状態を、所定のモニタ820は送信する。
情報処理システム100の利用者などは、モニタ820を参照して、サービスの稼働状態を把握できる。
なお、監視エージェント210は、各サービスの稼働状態の把握において、所定の期間及び所定の回数のサービスの提供における稼働状態を用いるのは、次の理由に基づく。
すなわち、サービスの提供に利用されるエージェント200は、必ずしも一定ではない。エージェント200を実行する情報処理装置600が変更となる場合がある。また、障害となったエージェント200は、リカバリなどで回復する場合もある。そのため、監視エージェント210は、サービスに用いられるエージェント200の変化の影響を低減するため、所定の期間、及び、所定の回数のサービスに対して稼働状態を監視することが望ましい。
(効果の説明)
次に、第1の実施形態にかかる情報処理システム100の効果について説明する。
第1の実施形態にかかる情報処理システム100は、複数のエージェント200を組み合わせて実現されたサービスの稼働状態を監視するとの効果を得ることができる。
その理由は、次のとおりである。
情報処理システム100は、ネットワーク700を介して接続する複数の情報処理装置600(コンピュータ)を含む。情報処理システム100は、1つ又は複数のコンピュータを用いて、所定の機能の単位であるエージェント200と、少なくとも一部のエージェント200の組合せとしてクライアント810に提供されるサービスと、監視エージェント210とを実行する。監視エージェント210は、所定の回数のサービス及び所定の期間のサービスにおいて、サービスそれぞれに関連するエージェント200それぞれにおける動作状態を監視する。そして、監視エージェント210は、動作状態を基にサービスの稼働状態を算出し、算出した稼働状態を所定のモニタ820に送信する。
このように、情報処理システム100は、監視エージェント210を用いてサービスを提供するエージェント200それぞれの動作状態を基にサービスの稼働状態を監視する。そして、情報処理システム100は、モニタ820に複数のエージェント200を用いたサービスの稼働状態に関する情報を提供できる。
情報処理システム100の利用者などは、モニタ820において、監視エージェント210からの情報を確認できる。
さらに、監視エージェント210は、サービスの稼働状態として、上記の稼働率を用いてもよい。具体的には、監視エージェント210は、サービスそれぞれに関連するエージェント200それぞれの動作状態を基にサービスそれぞれが成功したか否かを判定し、成功したサービスの数と監視したサービスの数との比率(稼働率)を算出してもよい。
<第2の実施形態>
第1の実施形態において、情報処理システム100は、サービスに関連するエージェント200の動作状態を監視する。ただし、エージェント200は、複数のサービスに用いられる場合がある。
例えば、図4ないし図6を参照すると、エージェント200Dは、第1ないし第3のサービスのいずれにも用いられている。
このような場合、例えば、エージェント200Dの障害が、いずれのサービスに対する動作における障害であるかを判別できた方が望ましい。
そこで、エージェント200とそのエージェント200が関連するサービスとの関係を考慮した実施形態を、第2の実施形態として説明する。
第2の実施形態にかかる情報処理システム100の構成及び動作は、以下で説明する識別子を用いる点を除き、第1の実施形態にかかる構成及び動作と同様である。そのため、第1の実施形態の同様の構成及び動作の詳細な説明を省略し、第2の実施形態に関連する構成及び動作を説明する。
第2の実施形態にかかるエージェント200は、関連するサービスの識別子を保持する。エージェント200がサービスの識別子を保持する手法は、限定されない。
例えば、エージェント200は、次のようにサービスの識別子を保持すればよい。クライアント810からサービスの要求を受けた場合、要求を受けたエージェント200は、そのサービスに識別子を設定する。そして、エージェント200は、要求されたサービスを実現するために他のエージェント200に所定の要求を送信するときに、サービスの識別子を送信する。なお、エージェント200は、識別子の送信手法を限定されない。エージェント200は、要求にサービスの識別子を含めてもよく、所定の手順に沿って要求と識別子とを別々に送信してもよい。
サービスの識別子を受け取ったエージェント200は、同様に、サービスの識別子を次のエージェント200に送信する。
そして、監視エージェント210から動作状態の問い合わせを受けた場合、エージェント200は、監視エージェント210に、動作状態に合わせてサービスの識別子を送信する。
監視エージェント210は、エージェント200の動作状態とサービスの識別子とを受信する。そして、監視エージェント210は、サービスの識別子を用いて、サービス毎にエージェント200の動作状態を基にしたサービスの稼働状態を計測する。
例えば、監視エージェント210は、サービスの識別子毎に、要求されたサービスの数と、成功したサービスの数とを計測する。そして、監視エージェント210は、サービス毎の稼働状態をモニタ820に出力する。
なお、サービスの識別子の送信は、エージェント200における動作状態の送信時に限定されない。例えば、監視エージェント210が、必要に応じて、エージェント200からサービスの識別子を取得してもよい。
(効果の説明)
次に第2の実施形態にかかる情報処理システム100の効果について説明する。
第2の実施形態にかかる情報処理システム100は、第1の実施形態の効果に加え、複数のサービスに利用されるエージェント200がある場合でも、エージェント200における動作状態を基に、サービスの稼働状態を計測するとの効果を得ることができる。
その理由は、次のとおりである。
第2の実施形態にかかるエージェント200は、サービスを識別するための識別子を保持する。監視エージェント210は、サービスの識別子それぞれに関連するサービスの稼働状態を算出する。
その結果、情報処理システム100の利用者などは、複数のサービスに利用されるエージェント200が含まれる場合でも、それぞれのサービスに関連した動作状態を把握できる。
<第3の実施形態>
エージェント200において発生する障害は、1つに限られず、複数となる場合が多い。
そこで、障害に関する詳細な情報を提供するエージェント200を、第3の実施形態として説明する。
次に、図面を参照して、第3の実施形態について説明する。
第3の実施形態にかかる情報処理システム100の構成及び動作は、障害に関連する情報を除き、第1の実施形態にかかる構成及び動作が同様である。そのため、第1の実施形態と同様の構成及び動作の詳細な説明を省略し、第3の実施形態にかかる構成及び動作を説明する。
第3の実施形態にかかるエージェント200は、障害に関連する情報を取得及び/又を保持する。例えば、エージェント200は、動作における不具合を検出した場合、不具合に関連する情報を収集し、収集した情報を保持する。
そして、エージェント200は、障害に関連する情報を含めて、監視エージェント210に動作状態を送信する。
監視エージェント210は、動作状態に合わせて、受信した障害に関連する情報をモニタ820に出力する。
情報処理システム100の利用者などは、監視エージェント210が出力した障害に関連する情報を基に、障害の影響範囲を把握したり、復旧方法を選択したりする。
障害に関連する情報は、限定されない。
図9は、障害に関連する情報の一例を示す図である。
図9に示されている障害に関連する情報は、識別子、障害の継続性、障害の種類、及び呼出し元を含む。ただし、図9に示す情報は、一例であり、第3の実施形態の限定を意図するものではない。
図9における識別子は、第2の実施形態におけるサービスの識別子である。例えば、識別子は、障害に関連するサービスの特定に用いられる。
このように、第3の実施形態にかかる情報処理システム100は、第2の実施形態におけるサービスの識別子に関する構成及び動作を含んでよい。ただし、第3の実施形態にかかる情報処理システム100は、サービスの識別子に関する構成を含まなくてもよい。
障害の継続性は、エージェント200が検出した障害が、一時的な障害であるか、恒久的な障害であるかを示す情報である。障害の継続性は、障害の影響時間などの判断に用いられる。
障害の種別は、エージェント200における障害を区別するための情報である。例えば、障害種別は、エラーコード、又は、エラーメッセージである。なお、障害の種別は、エージェント200の動作における要求元又は要求先の情報(例えば、相手が停止中、相手から応答無、相手がエラーを報告)でもよい。障害の種別は、復旧方法などの選択に用いられる。
呼出し元は、サービスに関連してエージェント200を呼び出した構成(例えば、エージェント200又はクライアント810)を示す情報であり。呼出し元は、エージェント200が検出した障害の関連範囲の把握に用いられる。
(効果の説明)
次に第3の実施形態にかかる情報処理システム100の効果について説明する。
第3の実施形態にかかる情報処理システム100は、第1の実施形態の効果に加え、エージェント200が検出した障害の詳細を把握するとの効果を得ることができる。
その理由は、次のとおりである。
第3の実施形態にかかるエージェント200は、障害に関連する情報を保持する。そして、監視エージェント210は、サービスにそれぞれに関連するエージェント200から障害に関連する情報を取得し、モニタ820に障害に関連する情報を送信する。
その結果、情報処理システム100の利用者などは、障害に関連した情報を確認できる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
100 情報処理システム
200 エージェント
210 監視エージェント
600 情報処理装置
610 CPU
620 ROM
630 RAM
640 内部記憶装置
650 IOC
660 入力機器
670 表示機器
680 NIC
690 記録媒体
700 ネットワーク
800 クライアント装置
810 クライアント
820 モニタ

Claims (6)

  1. ネットワークを介して接続する複数のコンピュータを含み、
    1つ又は複数の前記コンピュータを用いて、
    所定の機能の単位であるエージェントと、
    少なくとも一部の前記エージェントの組合せとしてクライアントに提供されるサービスと、
    所定の回数の前記サービス及び所定の期間の前記サービスにおいて、前記サービスそれぞれに関連する前記エージェントそれぞれにおける動作状態を監視し、前記動作状態を基に前記サービスの稼働状態を算出し、算出した前記稼働状態を所定のモニタに送信する監視エージェントと
    を実行する情報処理システム。
  2. 前記監視エージェントは、前記稼働状態として、前記動作状態を基に前記サービスそれぞれが成功したか否かを判定し、成功した前記サービスの数と監視した前記サービスの数との比率を算出する
    請求項1に記載の情報処理システム。
  3. 前記エージェントは、前記サービスを識別するための識別子を保持し、
    前記監視エージェントは、前記識別子それぞれに関連する前記サービスの前記稼働状態を算出する
    請求項1又は2に記載の情報処理システム。
  4. 前記エージェントは、さらに、障害に関連する情報を保持し、
    前記監視エージェントは、さらに、前記サービスそれぞれに関連する前記エージェントから障害に関連する前記情報を取得し、前記モニタに前記障害に関連する前記情報を送信する
    請求項2に記載の情報処理システム。
  5. ネットワークを介して接続する複数のコンピュータにおいて、
    1つ又は複数の前記コンピュータが、
    所定の機能の単位であるエージェントと、
    少なくとも一部の前記エージェントの組合せとしてクライアントに提供されるサービスと、
    所定の回数の前記サービス及び所定の期間の前記サービスにおいて、前記サービスそれぞれに関連する前記エージェントそれぞれにおける動作状態を監視し、前記動作状態を基に前記サービスの稼働状態を算出し、算出した前記稼働状態を所定のモニタに送信する監視エージェントと
    して動作する情報処理方法。
  6. ネットワークを介して接続する複数のコンピュータにおいて、
    1つ又は複数の前記コンピュータに、
    所定の機能の単位であるエージェントとしての処理と、
    少なくとも一部の前記エージェントの組合せとしてクライアントに提供されるサービスとしての処理、
    所定の回数の前記サービス及び所定の期間の前記サービスにおいて、前記サービスそれぞれに関連する前記エージェントそれぞれにおける動作状態を監視し、前記動作状態を基に前記サービスの稼働状態を算出し、算出した前記稼働状態を所定のモニタに送信する監視エージェントしての処理と
    を実行させるプログラム。
JP2018165441A 2018-09-04 2018-09-04 情報処理システム、情報処理方法、及び、プログラム Active JP7107789B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018165441A JP7107789B2 (ja) 2018-09-04 2018-09-04 情報処理システム、情報処理方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018165441A JP7107789B2 (ja) 2018-09-04 2018-09-04 情報処理システム、情報処理方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2020038506A JP2020038506A (ja) 2020-03-12
JP7107789B2 true JP7107789B2 (ja) 2022-07-27

Family

ID=69738004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018165441A Active JP7107789B2 (ja) 2018-09-04 2018-09-04 情報処理システム、情報処理方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP7107789B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114050991B (zh) * 2021-11-12 2023-03-10 北京天融信网络安全技术有限公司 测试代理的方法、装置、设备以及存储介质
KR102560225B1 (ko) * 2023-02-16 2023-07-27 나무기술 주식회사 클라우드 인프라 기반의 가상os 다중 장애 발생 모니터링 및 병렬 처리 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003709A (ja) 2006-06-20 2008-01-10 Mitsubishi Electric Corp 管理装置及びタスク管理方法及びプログラム
JP2010117757A (ja) 2008-11-11 2010-05-27 Nomura Research Institute Ltd 性能監視システムおよび性能監視方法
JP2010272090A (ja) 2009-05-25 2010-12-02 Hitachi Ltd 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198330A (ja) * 1996-01-17 1997-07-31 Nippon Telegr & Teleph Corp <Ntt> サービス異常の管理方法及び装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003709A (ja) 2006-06-20 2008-01-10 Mitsubishi Electric Corp 管理装置及びタスク管理方法及びプログラム
JP2010117757A (ja) 2008-11-11 2010-05-27 Nomura Research Institute Ltd 性能監視システムおよび性能監視方法
JP2010272090A (ja) 2009-05-25 2010-12-02 Hitachi Ltd 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法

Also Published As

Publication number Publication date
JP2020038506A (ja) 2020-03-12

Similar Documents

Publication Publication Date Title
Rostanski et al. Evaluation of highly available and fault-tolerant middleware clustered architectures using RabbitMQ
RU2604519C2 (ru) Меж-облачное управление и устранение неполадок
US10462027B2 (en) Cloud network stability
CN107005580A (zh) 网络功能虚拟化服务链接
US9417939B2 (en) Dynamic escalation of service conditions
GB2407887A (en) Automatically modifying fail-over configuration of back-up devices
JP2013535745A (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
JP2007226400A (ja) 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム
JP4596889B2 (ja) ストレージシステムの管理方法
JP7107789B2 (ja) 情報処理システム、情報処理方法、及び、プログラム
EP2645635B1 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
US8543680B2 (en) Migrating device management between object managers
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
EP4030736A1 (en) Load balancing system, method and apparatus, and storage medium
CN111526038B (zh) 业务请求分发方法、装置、计算机设备及可读存储介质
WO2013171865A1 (ja) 管理方法及び管理システム
JPWO2014006692A1 (ja) 制御対象フロー特定プログラム、制御対象フロー特定方法および制御対象フロー特定装置
JP2017027110A (ja) 情報処理装置、優先度算出プログラムおよびデータセンタシステム
US8370897B1 (en) Configurable redundant security device failover
JP2012198651A (ja) クラスタシステム、仮想マシンサーバ、仮想マシンのフェイルオーバ方法、仮想マシンのフェイルオーバプログラム
JP7474168B2 (ja) 監視システムおよび障害監視方法
JP6269004B2 (ja) 監視支援プログラム、監視支援方法および監視支援装置
US20160034919A1 (en) Collection and aggregation of large volume of metrics
JP2010087834A (ja) ネットワーク監視システム
JP2016151965A (ja) 冗長構成システム及び冗長構成制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210816

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211110

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220615

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220714

R150 Certificate of patent or registration of utility model

Ref document number: 7107789

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150