JP2012068800A - 非同期処理サービス管理システム - Google Patents

非同期処理サービス管理システム Download PDF

Info

Publication number
JP2012068800A
JP2012068800A JP2010212014A JP2010212014A JP2012068800A JP 2012068800 A JP2012068800 A JP 2012068800A JP 2010212014 A JP2010212014 A JP 2010212014A JP 2010212014 A JP2010212014 A JP 2010212014A JP 2012068800 A JP2012068800 A JP 2012068800A
Authority
JP
Japan
Prior art keywords
business
processing
asynchronous
log
server
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.)
Granted
Application number
JP2010212014A
Other languages
English (en)
Other versions
JP5475602B2 (ja
Inventor
Takashi Mitamura
崇司 三田村
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2010212014A priority Critical patent/JP5475602B2/ja
Publication of JP2012068800A publication Critical patent/JP2012068800A/ja
Application granted granted Critical
Publication of JP5475602B2 publication Critical patent/JP5475602B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】非同期処理での各サーバ・各業務アプリケーションの連携を追跡し、処理構成を可視化する非同期処理サービス管理システムを提供する。
【解決手段】業務サーバ10は、業務APL15が非同期処理により他の業務APL15を呼び出す際にATxIDを発行するATxID発行部12とログ出力部13とを有し、第1の業務APL15は、非同期処理により第2の業務APL15から呼び出されたものである場合に、さらに非同期処理により第3の業務APL15を呼び出した際に新たに発行した第1のATxIDを呼び出し元の第2のATxIDと関連付けてログ14に出力し、管理サーバ20は、各業務サーバ10のログ14に記録されたログを収集して収集ログ23に記録するログ収集部22と、ログを解析してATxIDの関連付けの情報に基づいて非同期処理における各業務APL15間の連携を追跡し、処理構成に係る情報を取得する構成解析部25とを有する。
【選択図】図1

Description

本発明は、複数のサーバにより提供される各機能の連携によりユーザに各種サービスを提供する情報処理システムにおける運用管理の技術に関し、特に、複数のサーバの各業務アプリケーションが非同期処理により連携して全体としてサービスを提供する情報処理システムにおける運用管理を行う非同期処理サービス管理システムに適用して有効な技術に関するものである。
近年では多くの業務(サービス)がコンピュータシステムでの情報処理により提供され、その際、多数のサーバ機器が利用されることも多い。これらのサーバ機器は、主にデータセンターなどの施設で運用管理される。このとき、これらのサーバ機器や設備をサービスの提供主体が所有して運用管理するのではなく、アウトソーシングにより外部のベンダー等に運用管理を委託する場合も多い。また、近年ではクラウドコンピューティング環境を利用して構築され運用される場合もある。
このようなシステム形態では、サーバ機器等およびその上で稼働する業務アプリケーションからなる情報システムの運用管理を担当する主体と、業務アプリケーションによって実現されるサービスの提供主体とが、契約によりSLA(Service Level Agreement)を締結し、運用管理側が一定のサービスレベルをサービスの提供主体に保証するということが行われる。
従って、運用管理側では、システムの稼働状況を監視して現状のサービスレベルを把握し、システムがSLAを遵守しているか否かを判定するとともに、SLAを遵守できていない(もしくは遵守できなくなりそうな)場合には警告を発したり、SLAを遵守するために要求されるシステムの増強ポイントや構成変更ポイントなどを抽出したりすることが行われる。
これらに関する技術として、例えば、特開2006−252189号公報(特許文献1)には、ビジネス環境の変化やSLAの充足状況に応じて柔軟に機能・性能・信頼性といったサービスレベルを制御するアプリケーション運用管理方法に係る技術が記載されている。
特許文献1では、業務アプリケーション全体またはその一部は、部品であるソフトウェア・コンポーネントの組み合わせで構成され、個々のコンポーネントは、コンポーネントDBに格納されており、必要に応じて稼動環境にローディングされる。また、アプリケーションによるサービスは、システム運用ポリシー管理部によりそのポリシーが管理されて実施され、アプリケーションの稼動状況は、コンポーネント毎にランタイム・アプリケーション運用管理部により監視され、結果が監視履歴として蓄積される。この監視履歴とシステム運用ポリシーとを照らし合わせて業務アプリケーションの状態を診断し、この診断結果に基づいてアプリケーションを構成するコンポーネントの制御を行う。
特開2006−252189号公報
現在の情報システム環境では、複数のサーバ上で稼働する業務アプリケーションプログラムおよびこれにより実現される機能の連携により全体として一つのサービスが実現されてユーザに提供される場合も多い。例えば、インターネットを介した株式取引のシステムにおいて、保有する株式を売却し、これにより得た資金で別の株式を購入する、という一連のサービスを想定した場合、株式売却、約定、口座入出金、株式購入等、複数の独立した汎用的な機能を実装する部品化された業務アプリケーションが連携して一連の処理が行われ、サービスとして実現される。
このとき、例えば、SLA遵守の観点や、顧客からのサービスレベルに関する問い合わせに対する回答などの観点からは、当該サービスにおけるサービスレベルとしては、個別の業務アプリケーション単位ではなく、一連の処理全体もしくはその一部についてのTAT(Turn Around Time)や処理時間などを指標として把握することが必要となる。例えば、上記のサービスの例で、次の株式を購入するために、顧客から「売却した株式の金額が口座に入金されるのはいつか?」というような問い合わせを受けることが想定される。また、このような処理に要する処理時間の保証値をサービスレベルとしてSLAに規定することも想定される。
ここで、サービスに係る一連の処理における各サーバ(機能)の連携が同期処理で行われる場合であれば、複数のサーバ間での一連の処理の制御は最終的に処理の開始元のサーバに戻ってくる。従って、一連の同期処理の終了時点を把握することは容易であり、TATを算出することは容易である。
しかし、各サーバ(機能)の連携が非同期処理で行われる場合は、あるサーバは、連携のために他のサーバを呼び出した後は、その後どのように処理が行われているかについて関知しないため、処理の流れを追跡することは困難であり、一連の処理からなるサービスの終了タイミングや、全体に要した処理時間を把握することは困難である。従って、基本的には一連の非同期処理からなるサービスにおけるサービスレベルを保証することはできないが、顧客から上述したようなサービスレベルに関する問い合わせがあった場合などにはある程度の確度で処理時間等を回答できるようにしたいという要望がある。
また、非同期処理の場合、同期処理とは異なって処理経路が一直線であるとは限らず、処理内容に応じて複数のサーバ間での処理経路が分岐して、異なるサーバで同時並行的に処理が行われる場合も生じる。
しかし、これらの処理を行うサーバ機器の運用管理等を行う担当者は業務アプリケーションの開発者とは基本的に異なるため、サーバ(機能)間の連携関係、処理経路などの詳細を把握することができず、ブラックボックス化された状態で運用せざるを得ない場合も生じる。このような状況では、例えば、サーバから出力されたログ等を見ても、どのサーバのどの業務アプリケーションから出力されたものかは把握できても、この処理がどのサーバのどの機能から呼び出されて、次にどの機能が呼び出されるのかといった非同期処理の処理構成を運用管理者が把握するのは困難である。
なお、上記のような課題については、特許文献1などを含むシステムの運用監視における従来の技術では特に考慮されていないのが現状である。
そこで本発明の目的は、複数のサーバ上で稼働する業務アプリケーションによる非同期処理によってサービスを提供するシステムにおいて、非同期処理での各サーバもしくは各業務アプリケーションの連携を追跡可能とし、これによって非同期処理の処理構成を可視化する非同期処理サービス管理システムを提供することにある。また、本発明の別の目的は、サービスに係る一連の非同期処理全体もしくはその一部における処理時間の情報を取得する非同期処理サービス管理システムを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
本発明の代表的な実施の形態による非同期処理サービス管理システムは、複数の業務サーバ上でそれぞれ稼働する各業務アプリケーションでの非同期処理による連携によって提供されるサービスを管理する非同期処理サービス管理システムであって、以下の特徴を有するものである。
すなわち、非同期処理サービス管理システムは、前記各業務サーバとネットワークを介して接続可能であり、前記各業務サーバ上でそれぞれ稼働する前記各業務アプリケーションの稼働状況を把握し管理する管理サーバを有し、前記業務サーバは、当該業務サーバ上で稼働する業務アプリケーションが、非同期処理により他の業務サーバ上の業務アプリケーションを呼び出す際に、当該業務サーバ上で稼働する業務アプリケーションからの要求により、非同期処理毎に識別可能な非同期処理トランザクションIDを発行する非同期処理トランザクションID発行部と、当該業務サーバ上で稼働する業務アプリケーションからの要求により、ログ情報をログ記録装置に記録可能であるログ出力部とを有する。
第1の業務サーバ上で稼働する第1の業務アプリケーションは、非同期処理により第2の業務サーバ上で稼働する第2の業務アプリケーションから呼び出されたものである場合に、さらに非同期処理により第3の業務サーバ上で稼働する第3の業務アプリケーションを呼び出した際に、前記第1の業務サーバにおいて発行された第1の非同期処理トランザクションIDに係る情報を、呼び出し元の前記第2の業務サーバにおいて発行された第2の非同期処理トランザクションIDと関連付けて、前記第1の業務サーバ上の第1のログ出力部によって第1のログ記録装置に出力する。
また、前記管理サーバは、前記各業務サーバの前記ログ記録装置に記録されたログ情報を収集して収集ログ記録装置に記録するログ収集部と、前記収集ログ記録装置に記録されたログ情報を解析して、前記非同期処理トランザクションIDの関連付けの情報に基づいて、前記サービスを提供するための一連の非同期処理における前記各業務アプリケーション間の連携を追跡し、非同期処理の処理構成に係る情報を取得する構成解析部とを有する。
また、本発明の代表的な実施の形態による非同期処理サービス管理システムは、前記管理サーバが、さらに、前記サービスを提供するための一連の非同期処理の全体もしくは一部における前記各業務アプリケーションについての、前記ログ収集部に記録されたログ情報を解析して、前記非同期処理トランザクションIDの関連付けの情報に基づいて、前記各業務アプリケーション間の連携を追跡し、その処理時間の情報を取得する処理時間算出部を有することを特徴とするものである。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
本発明の代表的な実施の形態によれば、複数のサーバ上で稼働する業務アプリケーションによる非同期処理によってサービスを提供するシステムにおいて、非同期処理での各サーバもしくは各業務アプリケーションの連携を追跡可能とし、これによって非同期処理の処理構成を可視化することが可能となる。また、サービスに係る一連の非同期処理全体もしくはその一部における処理時間の情報を取得することが可能となる。
本発明の一実施の形態である非同期処理サービス管理システムの構成例について概要を示した図である。 本発明の一実施の形態における非同期処理の処理構成の例について概要を示した図である。 同期処理の処理構成の例について概要を示した図である。 非同期処理の処理構成の例について概要を示した図である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下においては、本発明の特徴を分かり易くするために、従来の技術と比較して説明する。
<概要>
各業務アプリケーションによるサービスの提供を同期処理によって実現する構成の場合、SLAに規定された項目の一つとして、もしくは、顧客からの問い合わせに対する回答などの観点から、サービスに係る一連の処理についてのTATを取得するということは容易である。
図3は、同期処理の処理構成の例について概要を示した図である。図3では、4台の業務サーバ10(業務サーバA(10a)〜業務サーバD(10d))が同期処理により連携してサービスの提供に係る処理を行う場合の例を示している。例えば、一連の処理の最初として業務サーバA(10a)で稼働する業務アプリケーション(APL) A(15a)が実行され、そこから同期的に業務サーバB(10b)で稼働する業務APL B(15b)が呼び出される。さらに、業務APL B(15b)の処理中に、同期的に業務サーバC(10c)で稼働する業務APL C(15c)が呼び出される。さらに、業務APL C(15c)の処理中に、同期的に業務サーバD(10d)で稼働する業務APL D(15d)が呼び出される。
業務APL D(15d)での処理が終了すると、処理の制御は呼び出し元の業務APL C(15c)に戻る。さらに、業務APL C(15c)での処理が終了すると、処理の制御は呼び出し元の業務APL B(15b)に戻る。同様に、業務APL B(15b)での処理が終了すると、処理の制御は呼び出し元の業務APL A(15a)に戻る。業務APL A(15a)での処理が終了すると、サービスの提供に係る一連の処理は終了する。
このとき、各業務サーバ10は、一般的に、業務APL15(業務APL A(15a)〜業務APL D(15d))での処理に係るログとして、例えば、処理の開始時と終了時にログ14(ログA(14a)〜ログD(14d))にレコードをそれぞれ出力する。従って、上記の一連の処理においては、業務サーバA(10a)上のログA(14a)に記録された、業務APL A(15a)の処理の開始と終了のログを参照することで、一連の同期処理の処理時間(TAT)を取得することができる。また、ログA(14a)に蓄積して記録されたログから統計情報を取得することにより、SLAの遵守状況を確認したり、顧客からの問い合わせに対して処理にかかる想定所用時間を回答したりすることが可能となる。
一方、図4は、非同期処理の処理構成の例について概要を示した図である。図4では、上述した図3と同様に、4台の業務サーバ10が連携して、業務サーバA(10a)から始まって業務サーバD(10d)までの一連の処理によってサービスの提供に係る処理を行う場合の例を示しているが、ここでは、各業務サーバ10で稼働する業務APL15が非同期処理により連携を行っている。
業務APL15が他の業務APL15を非同期処理により呼び出す際には、例えば、各業務APL15(もしくは業務サーバB)に連携用のキューを設け、このキューに処理要求の電文を追加・挿入する。各業務APL15は、対応するキューから電文を取り出し、電文に指定されたパラメータ等に基づいて処理を開始する。図4の例では、業務APL A(15a)は、処理要求の電文を業務サーバB(10b)(もしくは業務APL B(15b))のキュー16bに追加する。業務APL B(15b)は、キュー16bから処理要求の電文を随時取り出して処理を開始する。さらに、業務APL B(15b)は、処理要求の電文を業務サーバC(10c)(もしくは業務APL C(15c))のキュー16cに追加する。業務APL C(15c)は、同様にキュー16cから処理要求の電文を随時取り出して処理を開始する。
図4の例に示すような非同期処理では、同期処理の場合と異なり、一連の処理の終了は、処理を開始した業務APL A(15a)ではなく連携の末尾で呼び出された業務APL15となる。このため、処理を開始した業務サーバA(10a)上のログA(14a)を解析しても、一連の処理の終了タイミングを把握することはできない。
また、非同期処理であることから、例えば、業務サーバB(10b)の業務APL B(15b)は、業務サーバC(10c)の業務APL C(15c)を呼び出すのと並行して(すなわち、業務APL C(15c)での処理が終了したか否かに関わらず)、業務サーバD(10d)の業務APL D(15d)を呼び出すことも可能である。例えば、このような処理構成が不明の状態で、業務サーバD(10d)のログD(14d)を参照した場合、業務APL D(15d)が呼び出されて実行されたことは把握できても、これが業務APL B(15b)から業務APL C(15c)を呼び出すのと並行して呼び出されたのか、もしくは、業務APL C(15c)から呼び出されたのかが把握できない(業務APL A(15a)から呼び出された可能性や、クライアント端末50から最初に呼び出された可能性もある)。
従って、ある一つの一連の処理を特定して、その処理経路を追跡して把握し、処理に要した時間を算出するということは非常に困難である。例えば、「(業務APL A(15a)によって)売却した株式の金額が(業務APL D(15d)によって)口座に入金されるのはいつか?」というような問い合わせに対する回答のように、業務APL A(15a)での処理から業務APL D(15d)での処理までに要する処理時間を算出する際に、各業務サーバ10での業務APL15の平均処理時間をログ14から取得してこれを積み上げて算出する、という手法をとることができない。
そこで、本発明の一実施の形態である非同期処理サービス管理システムでは、各業務サーバで非同期処理が発生する度に、これに対して非同期処理トランザクションID(以下では「ATxID」と記載する場合がある)を発行し、これをログ14やジャーナル等に出力する。このATxIDに基づいて一連の非同期処理における各業務サーバ10(業務APL15)での処理を関連付けることで連携を追跡可能とし、これによって非同期処理の処理構成を可視化するとともに、サービスに係る一連の処理全体もしくはその一部における処理時間の情報を取得することを可能とする。
<システム構成>
図1は、本発明の一実施の形態である非同期処理サービス管理システムの構成例について概要を示した図である。非同期処理サービス管理システム1は、データセンター等、複数の業務サーバ10を運用管理するサイトにて構築され、例えば、複数の業務サーバ10と、管理サーバ20およびPC(Personal Computer)等からなる運用端末30が、LAN(Local Area Network)等の内部ネットワーク41に接続された構成を有する。また、業務サーバ10には、インターネット等のネットワーク42を経由して、PC等からなる複数のクライアント端末50がアクセス可能な構成となっている。
業務サーバ10は、単独もしくは他の業務サーバ10と連携して、クライアント端末50を介してユーザにサービスの提供を行うサーバ機器であり、例えば、基盤部11、ATxID発行部12、ログ出力部13、および業務アプリケーション(APL)15の各ソフトウェア、およびデータベースやファイル等からなるログ14を有する。
基盤部11は、OS(Operating System)やWebサーバプログラム、データベース管理プログラムなどの各種ミドルウェア等からなり、業務サーバ10の基盤機能を提供する。ATxID発行部12は、後述する業務APL15から呼び出され、業務APL15が非同期処理により他の業務APL15を呼び出す際にこれに対して割当てるATxIDを発行する。ATxIDのフォーマットは特に何らかのものに限定されるものではないが、少なくとも、どの業務APL15(もしくは業務サーバ10)からの要求により発行されたかを識別可能であり、さらに、シーケンス番号等により、同一の業務APL15からの要求により発行されたものがそれぞれ識別可能となることが必要である。
ログ出力部13は、業務APL15から呼び出され、業務APL15での処理に伴うログの出力要求を受けて、これをログ14に出力する。ログ出力部13は、業務APL15の中に組み込まれて実装されていてもよい。業務APL15は、例えば他の業務サーバ10の業務APL15と連携して、ユーザに対するサービスの提供に係る処理を実行する。他の業務サーバ10との連携については、同期処理、非同期処理いずれを利用するものであってもよい。なお、業務APL10は、必ずしも全てがクライアント端末50からその機能に直接アクセス可能である必要はなく、他の業務APL10からのみ呼び出されて利用されるものを有していてもよい。
業務APL15は、上述したように、非同期処理により他の業務APL15を呼び出す際に、ATxID発行部12によりATxIDの発行を受けて取得する。取得したATxIDの情報は、ログ出力部13を介してログ14に出力する。この限りにおいて、各業務APL15を本実施の形態の非同期処理サービス管理システム1での管理対象とするには、改修により、もしくは初期開発当初からこのような機能を実装しておく必要がある。
一方、管理サーバ20は、各業務サーバ10のログ14を収集して解析・集計することによって、各業務APL15の稼働状況を把握・管理するサーバ機器であり、例えば、基盤部21、ログ収集部22、処理時間算出部24、構成解析部25、および表示部26の各ソフトウェア、およびデータベースやファイル等からなる収集ログ23を有する。この管理サーバ20は、各業務APL15によって提供される非同期処理サービスにおける各業務APL15間の連携を追跡し、その処理構成を把握して可視化するとともに、サービスに係る一連の処理全体もしくはその一部における処理時間の情報(サービスレベル)を取得する。
基盤部21は、業務サーバ10の基盤部11と同様に、OSやWebサーバプログラム、データベース管理プログラムなどの各種ミドルウェア等からなり、管理サーバ20の基盤機能を提供する。ログ収集部22は、各業務サーバ10のログ14からログデータを収集して収集ログ23に格納する。収集のタイミングや手法は要件に応じて適宜設定可能である。例えば、定期的にログ収集部22が各業務サーバ10のログ14からログ出力部13を介して該当するログデータを抽出して収集する構成としたり、逆に各業務サーバ10のログ出力部13が管理サーバ20のログ収集部22にほぼリアルタイムでログを送信する構成としたりなどが考えられる。
処理時間算出部24は、収集ログ23に格納されたログデータを解析して、運用端末30を介した運用担当者等からの指示に従って、指定されたサービスに係る一連の処理全体もしくはその一部における処理時間の情報を取得することを可能とする。ここでは、単独の業務処理(トランザクション)についての処理時間の情報を取得可能であるとともに、複数回実行された業務処理についての各処理時間の情報を集計することで統計情報を算出可能とし、サービス全体でのSLAの遵守状況の確認等に利用できるようにしてもよい。
構成解析部25は、収集ログ23に格納されたログデータを解析して、サービスを提供するための一連の非同期処理における各業務APL15間の連携を追跡し、非同期処理の処理構成を取得する。例えば、任意のサービスに係る一連の非同期処理について、各業務APL15の呼び出し元と呼び出し先の対応、およびその順序の情報を取得する。この情報により、運用担当者等は、例えば、非同期処理の処理構成がブラックボックス化された状態で開発担当者等から引き渡しを受けて運用を開始することになったような場合であっても、処理構成に係る情報を把握する、すなわち論理的に可視化することができる。
さらに、表示部26は、構成解析部25で取得した処理構成の情報に基づいて、これを運用端末30のグラフィカルインタフェース上に可視化して表示する。これにより、非同期処理の処理構成を物理的にも可視化することができる。なお、表示部26では、例えば、任意のエンティティ(本実施の形態では業務APL15もしくは業務サーバ10)について関連(本実施の形態では業務APL15の呼び出し)を有するもの同士を線分や矢印等で連結して表示用データとし、運用端末30上のWebブラウザ等に表示するような既存の技術を利用することができる。
<非同期処理の処理構成の把握手法>
図2は、本実施の形態における非同期処理の処理構成の例について概要を示した図である。本実施の形態では、上述したように、業務APL15が非同期処理として他の業務APL15を呼び出す際、ATxID発行部12によりATxIDが発行され、これをログ14に出力する。例えば、図中の業務サーバA(10a)では、業務APL A(15a)が業務サーバB(10b)の業務APL B(15b)を非同期処理として呼び出す際に、ATxID発行部12によりATxID=“A001”が発行され、この情報を追加した処理要求の電文をキュー16bに追加することで、業務APL B(15b)を呼び出す。
このとき、業務APL A(15a)は、このATxID=“A001”により非同期処理を呼び出した(開始した)旨をログA(14a)に記録する。なお、本実施の形態では、ATxIDは、例えば、各業務APL15を識別可能な文字列(“A”、“B”、…)にシーケンス番号(“001”、“002”、…)を付加したフォーマットとしている。
業務サーバB(10b)では、業務APL B(15b)がキュー16bから処理要求の電文を随時取り出して処理を開始する。当該処理の中で、業務APL B(15b)は、業務サーバC(10c)の業務APL C(15c)を非同期処理として呼び出すため、処理要求の電文を業務サーバC(10c)(もしくは業務APL C(15c))のキュー16cに追加する。このとき、業務サーバB(10b)のATxID発行部12によりATxID=“B001”が発行され、このATxIDにより非同期処理を呼び出した(開始した)旨をログB(14b)に記録する。
さらに、業務サーバD(10d)の業務APL D(15d)を非同期処理として呼び出すため、業務サーバD(10d)(もしくは業務APL D(15d))のキュー16dにも非同期処理の処理要求の電文を追加する。このとき、業務サーバB(10b)のATxID発行部12によりATxID=“B002”が発行され、このATxIDにより非同期処理を呼び出した(開始した)旨をログB(14b)に記録する。
なお、ログB(14b)に非同期処理を呼び出した旨を記録する際、呼び出し元との連携の関係が把握可能となるよう、呼び出し元となった処理のATxID(図2の業務サーバB(10b)の例ではいずれも呼元ATxID=“A001”)の情報を追加して関連付ける。この呼び出し元となった処理のATxIDの情報を参照することにより、対象の業務処理における、各業務APL15間の処理の連携を追跡することが可能となる。
その後、業務APL B(15b)が業務APL A(15a)から呼び出された非同期処理を終了する際、その旨をログ14bに記録する。その際、当該処理のATxID=“A001”の情報についても記録する。以上の処理は、さらに非同期処理によって呼び出された業務APL C(15c)および業務APL D(15d)についても同様である。
ここで、例えば、「(業務APL A(15a)によって)売却した株式の金額が(業務APL D(15d)によって)口座に入金されるのはいつか?」というようなサービスレベルについての問い合わせに対して回答するような場合、業務APL A(15a)での処理の開始から、非同期処理による連携によって呼び出された業務APL D(15d)での処理の終了までの処理時間(の統計情報)を取得する必要がある。
この処理時間を算出する手法としては種々のものが考え得るが、例えば、管理サーバ20の処理時間算出部24は、収集ログ23を参照し、まず、対象のサービスに係る非同期処理の連携における末尾の処理(当該例では業務APL D(15d))に対応する開始・終了のログを取得してその処理時間を算出する。また、収集ログ23から当該処理において出力された非同期処理の終了のログを検索して取得する。図2の例では、業務サーバD(10d)のログ14dに出力されたATxID=“B002”の終了ログが取得できる。
次に、対象の処理について遡って、収集ログ23からATxID=“B002”の開始ログを検索して取得する。図2の例では、業務サーバB(10b)のログ14bに出力されたATxID=“B002”の開始ログが取得できる。ここで、当該開始ログに対応する業務処理(業務APL B(15b)での処理)の処理時間を、当該業務処理の開始・終了のログに基づいて算出する。
図2の例では、当該開始ログにその呼び出し元がATxID=“A001”の処理である旨の情報が追加されている。従って、当該業務処理は、さらに呼び出し元の処理(ATxID=“A001”)から非同期処理によって呼び出されたものであることが分かる。
なお、本実施の形態では、当該開始ログに呼び出し元のATxIDの情報を追加することで関連付けるようにしているが、当該開始ログに対応する取引処理がさらに他の業務APL15から非同期処理により呼び出されたものである場合、当該取引処理の一連のログには、呼び出し元の非同期処理の終了ログ(図2の例ではログ14bにおけるATxID=“A001”の終了ログ)が出力されているはずである。従って、その有無を検索することによっても、当該取引処理が非同期処理として呼び出されたものであるか否かを判断することができる(すなわち、当該取引処理の一連のログの中に含まれている、ということによって黙示的に関連付けられる)。
次に、対象の処理についてさらに遡って、収集ログ23からATxID=“A001”の開始ログを検索して取得する。図2の例では、業務サーバA(10a)のログ14aに出力されたATxID=“A001”の開始ログが取得できる。ここで、当該開始ログに対応する業務処理(業務APL A(15a)での処理)の処理時間を、当該業務処理の開始・終了のログに基づいて算出する。ここで、業務APL A(15a)は、処理時間を求める対象である一連の非同期処理における先頭の処理であるため、ここで連携の追跡は終了する。
このとき、上記で算出した、業務APL D(15d)、業務APL B(15b)、業務APL A(15a)における各処理時間を合算することで、一連の非同期処理での連携における各業務サーバ10での処理時間の合計を得ることができる。
なお、上記のような処理時間の算出方法では、業務サーバ10において実際に処理をしている時間の合計を得ることができるが、処理負荷が高いシステム環境などでは、各業務サーバ10での処理に時間を要し、各キュー16に処理要求の電文が滞留するという場合も生じ得る。このとき、上記のような処理時間の算出方法では、キュー16に処理要求の電文が滞留している時間が含まれない。そこで、上記の例では、一連の非同期処理の連携における末尾の業務処理(業務APL D(15d)での処理)の終了のログを取得し、非同期処理の連携を追跡して、その先頭の業務処理(業務APL A(15a)での処理)の開始のログを取得して、これらのログのタイムスタンプの差分によって全体での処理時間を算出することができる。
例えば、この全体での処理時間と、各業務サーバ10(業務APL15)での処理時間の合計との差分を求めることにより、キュー16に処理要求が滞留している時間を把握することができる。また、各業務処理でのログのタイムスタンプの差分を解析することにより、非同期処理毎の各キュー16での滞留時間を把握することも可能である。これらにより、一連の非同期処理におけるボトルネックの有無や、その場所等を解析するということも可能である。
また、管理サーバ20の構成解析部25は、各種の業務処理(サービス)について、例えば、対象範囲を限定せずに収集ログ23から一連の非同期処理の連携を上記と同様の手順によって追跡し、その関係を記録することで、各サービスについての非同期処理の処理構成に係る情報を得ることができる。また、表示部26は、構成解析部25によって得られた情報に基づいて、例えば、サービス毎に各業務APL15(もしくは業務サーバ10)とその連携の関係をフロー図のような形式で画面表示するなどにより可視化する。
以上に説明したように、本発明の一実施の形態である非同期処理サービス管理システム1によれば、各業務サーバ10(業務APL15)で非同期処理が発生する度に、これに対してATxIDを発行し、これをログ14やジャーナル等に出力する。呼び出された業務サーバ10(業務APL15)において、さらに非同期処理が発生する際、新たに発行したATxIDと、呼び出し元の業務サーバ10(業務APL15)で発行されたATxIDの情報とを関連付けてログ14に出力する。
管理サーバ20においてこれらのログ情報を収集し、解析して集計することで、一連の非同期処理での各業務サーバ10(業務APL15)の連携を追跡可能とし、これによって非同期処理の処理構成を可視化するとともに、サービスに係る一連の処理全体もしくはその一部における処理時間の情報を取得することが可能となる。
これにより、運用担当者においてSLAの遵守状況をアプリケーション的な観点からもある程度把握することが可能となり、また、各業務APL15での処理時間に加えて非同期処理の際のキューでの滞留時間の情報などに基づいて、パフォーマンスやキャパシティ上のチューニングポイント(ボトルネック)等を把握することも可能となる。
また、既存の各業務APL15は、非同期処理により他の業務APL15を呼び出す際に、ATxID発行部12にATxIDの発行を依頼して取得し、これを含むログをログ14に出力するという微少な改修のみで容易に非同期処理サービス管理システム1での管理対象とすることが可能であり、各業務APL15の既存の処理への影響と、開発担当者・運用担当者の作業負荷を最小限に抑えることが可能である。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、複数のサーバの各業務アプリケーションが非同期処理により連携して全体としてサービスを提供する情報処理システムにおける運用管理を行う非同期処理サービス管理システムに利用可能である。
1…非同期処理サービス管理システム、
10(10a〜d)…業務サーバ(A〜D)、11…基盤部、12…非同期処理トランザクションID(ATxID)発行部、13…ログ出力部、14(14a〜d)…ログ(A〜D)、15(15a〜d)…業務アプリケーション(APL)(A〜D)、16(16a〜d)…キュー、
20…管理サーバ、21…基盤部、22…ログ収集部、23…収集ログ、24…処理時間算出部、25…構成解析部、26…表示部、
30…運用端末、
41…内部ネットワーク、42…ネットワーク、
50…クライアント端末。

Claims (4)

  1. 複数の業務サーバ上でそれぞれ稼働する各業務アプリケーションでの非同期処理による連携によって提供されるサービスを管理する非同期処理サービス管理システムであって、
    前記各業務サーバとネットワークを介して接続可能であり、前記各業務サーバ上でそれぞれ稼働する前記各業務アプリケーションの稼働状況を把握し管理する管理サーバを有し、
    前記業務サーバは、
    当該業務サーバ上で稼働する業務アプリケーションが、非同期処理により他の業務サーバ上の業務アプリケーションを呼び出す際に、当該業務サーバ上で稼働する業務アプリケーションからの要求により、非同期処理毎に識別可能な非同期処理トランザクションIDを発行する非同期処理トランザクションID発行部と、
    当該業務サーバ上で稼働する業務アプリケーションからの要求により、ログ情報をログ記録装置に記録可能であるログ出力部とを有し、
    第1の業務サーバ上で稼働する第1の業務アプリケーションは、非同期処理により第2の業務サーバ上で稼働する第2の業務アプリケーションから呼び出されたものである場合に、さらに非同期処理により第3の業務サーバ上で稼働する第3の業務アプリケーションを呼び出した際に、前記第1の業務サーバにおいて発行された第1の非同期処理トランザクションIDに係る情報を、呼び出し元の前記第2の業務サーバにおいて発行された第2の非同期処理トランザクションIDと関連付けて、前記第1の業務サーバ上の第1のログ出力部によって第1のログ記録装置に出力し、
    前記管理サーバは、
    前記各業務サーバの前記ログ記録装置に記録されたログ情報を収集して収集ログ記録装置に記録するログ収集部と、
    前記収集ログ記録装置に記録されたログ情報を解析して、前記非同期処理トランザクションIDの関連付けの情報に基づいて、前記サービスを提供するための一連の非同期処理における前記各業務アプリケーション間の連携を追跡し、非同期処理の処理構成に係る情報を取得する構成解析部とを有することを特徴とする非同期処理サービス管理システム。
  2. 請求項1に記載の非同期処理サービス管理システムにおいて、
    前記管理サーバは、さらに、前記サービスを提供するための一連の非同期処理の全体もしくは一部における前記各業務アプリケーションについての、前記ログ収集部に記録されたログ情報を解析して、前記非同期処理トランザクションIDの関連付けの情報に基づいて、前記各業務アプリケーション間の連携を追跡し、その処理時間の情報を取得する処理時間算出部を有することを特徴とする非同期処理サービス管理システム。
  3. 請求項1または2に記載の非同期処理サービス管理システムにおいて、
    前記管理サーバは、さらに、前記構成解析部によって取得された前記サービスを提供するための一連の非同期処理の処理構成に係る情報に基づいて、これを可視化して運用端末上に表示させる表示部を有することを特徴とする非同期処理サービス管理システム。
  4. 請求項2に記載の非同期処理サービス管理システムにおいて、
    前記管理サーバの前記処理時間算出部は、前記サービスを提供するための一連の非同期処理の全体もしくは一部における前記各業務アプリケーションについての、前記ログ収集部に記録されたログ情報におけるタイムスタンプの差分を解析することにより、前記各業務アプリケーション間の呼び出しに利用されるキューでの滞留時間を取得することを特徴とする非同期処理サービス管理システム。
JP2010212014A 2010-09-22 2010-09-22 非同期処理サービス管理システム Expired - Fee Related JP5475602B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010212014A JP5475602B2 (ja) 2010-09-22 2010-09-22 非同期処理サービス管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010212014A JP5475602B2 (ja) 2010-09-22 2010-09-22 非同期処理サービス管理システム

Publications (2)

Publication Number Publication Date
JP2012068800A true JP2012068800A (ja) 2012-04-05
JP5475602B2 JP5475602B2 (ja) 2014-04-16

Family

ID=46166040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010212014A Expired - Fee Related JP5475602B2 (ja) 2010-09-22 2010-09-22 非同期処理サービス管理システム

Country Status (1)

Country Link
JP (1) JP5475602B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016062506A (ja) * 2014-09-19 2016-04-25 株式会社東芝 監視システム、監視装置及び監視方法
JP2016514296A (ja) * 2013-02-14 2016-05-19 アビニシオ テクノロジー エルエルシー キュー監視及び視覚化
JP2020071729A (ja) * 2018-10-31 2020-05-07 富士通株式会社 処理フレームワーク連携装置、処理フレームワーク連携方法および処理フレームワーク連携プログラム
WO2020166374A1 (ja) * 2019-02-15 2020-08-20 日本電信電話株式会社 処理システム、処理方法、上位システム、下位システム、上位プログラムおよび下位プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315198A (ja) * 1999-05-06 2000-11-14 Hitachi Ltd 分散処理システム及びその性能モニタリング方法
JP2005338978A (ja) * 2004-05-25 2005-12-08 Nippon Telegr & Teleph Corp <Ntt> ログ情報収集方法およびコンテンツ配信システム
JP2010117757A (ja) * 2008-11-11 2010-05-27 Nomura Research Institute Ltd 性能監視システムおよび性能監視方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315198A (ja) * 1999-05-06 2000-11-14 Hitachi Ltd 分散処理システム及びその性能モニタリング方法
JP2005338978A (ja) * 2004-05-25 2005-12-08 Nippon Telegr & Teleph Corp <Ntt> ログ情報収集方法およびコンテンツ配信システム
JP2010117757A (ja) * 2008-11-11 2010-05-27 Nomura Research Institute Ltd 性能監視システムおよび性能監視方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016514296A (ja) * 2013-02-14 2016-05-19 アビニシオ テクノロジー エルエルシー キュー監視及び視覚化
JP2016062506A (ja) * 2014-09-19 2016-04-25 株式会社東芝 監視システム、監視装置及び監視方法
JP2020071729A (ja) * 2018-10-31 2020-05-07 富士通株式会社 処理フレームワーク連携装置、処理フレームワーク連携方法および処理フレームワーク連携プログラム
JP7087921B2 (ja) 2018-10-31 2022-06-21 富士通株式会社 処理フレームワーク連携装置、処理フレームワーク連携方法および処理フレームワーク連携プログラム
WO2020166374A1 (ja) * 2019-02-15 2020-08-20 日本電信電話株式会社 処理システム、処理方法、上位システム、下位システム、上位プログラムおよび下位プログラム
JP7116318B2 (ja) 2019-02-15 2022-08-10 日本電信電話株式会社 処理システム、処理方法、上位システム、下位システム、上位プログラムおよび下位プログラム

Also Published As

Publication number Publication date
JP5475602B2 (ja) 2014-04-16

Similar Documents

Publication Publication Date Title
US10348809B2 (en) Naming of distributed business transactions
CN103002005B (zh) 云服务监测系统
US11055619B2 (en) Systems and methods for energy expert collaboration features
US8347268B2 (en) Automated performance monitoring
US7184935B1 (en) Determining and annotating a signature of a computer resource
US8683587B2 (en) Non-intrusive monitoring of services in a services-oriented architecture
JP2010117757A (ja) 性能監視システムおよび性能監視方法
JP6423803B2 (ja) キュー監視及び視覚化
CN104937548A (zh) 动态图的性能监视
US8914798B2 (en) Production control for service level agreements
US20150012647A1 (en) Router-based end-user performance monitoring
JP5475602B2 (ja) 非同期処理サービス管理システム
US20230117225A1 (en) Automated workflow analysis and solution implementation
CN110009759A (zh) 基于区块链的考勤方法、考勤系统及考勤装置
Joshi et al. Managing the quality of virtualized services
US11650966B2 (en) Assisted problem identification in a computing system
JPWO2020202433A1 (ja) 情報処理装置およびapi使用履歴表示プログラム
US8589207B1 (en) System and method for determining and visually predicting at-risk integrated processes based on age and activity
US20180260754A1 (en) Systems and methods for managing resources in an information technology (it) infrastructure
JP2023535959A (ja) 開発プロセス中の開発者の時間の計算
US11169905B2 (en) Testing an online system for service oriented architecture (SOA) services
Munawar Adaptive Monitoring of Complex Software Systems using Management Metrics
Schwarzer Explaining and visualizing autoscaling behavior of microservice systems deployed on Kubernetes
Tran Developing web services with serverless architecture
JP2019139506A (ja) 情報処理プログラム、情報処理方法及び情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140121

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: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140206

R150 Certificate of patent or registration of utility model

Ref document number: 5475602

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees