JP6601232B2 - 分析方法、分析装置、及び分析プログラム - Google Patents

分析方法、分析装置、及び分析プログラム Download PDF

Info

Publication number
JP6601232B2
JP6601232B2 JP2016009937A JP2016009937A JP6601232B2 JP 6601232 B2 JP6601232 B2 JP 6601232B2 JP 2016009937 A JP2016009937 A JP 2016009937A JP 2016009937 A JP2016009937 A JP 2016009937A JP 6601232 B2 JP6601232 B2 JP 6601232B2
Authority
JP
Japan
Prior art keywords
component
information
path information
path
components
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
JP2016009937A
Other languages
English (en)
Other versions
JP2017130105A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016009937A priority Critical patent/JP6601232B2/ja
Priority to US15/401,307 priority patent/US10404563B2/en
Publication of JP2017130105A publication Critical patent/JP2017130105A/ja
Application granted granted Critical
Publication of JP6601232B2 publication Critical patent/JP6601232B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Description

本発明は、分析方法、分析装置、及び分析プログラムに関する。
アプリケーションプログラムやネットワークサービス等において、実際に運用を行なっている状況下で、遅延個所や異常個所を特定することが試みられている。
通常、遅延個所や異常個所を特定するためには、その個所の前後のログを採取して、状態を監視し続ける必要がある。例えばstart−A−B−C−D−endという処理シーケンスの場合、Aの直前、A−B間、B−C間、C−D間、Dの直後でタイムスタンプの付いたログが採取される。これにより、処理A〜Dのいずれにおいて、遅延が発生しているかを特定することができる。例えば処理Bが遅延している場合、Bの直前(A−B間)のログと、Bの直後(B−C間)のログとを参照することで、処理Bを遅延個所として特定することができる。
その一方で、アプリケーションプログラムやネットワークサービスにおいて、遅延個所や異常個所を特定するためには、多数の監視個所で大量のログを採取する必要がある。このため、遅延個所や異常個所の絞込みや特定には、多大なオーバヘッド及びネットワーク負荷が発生する。
特開平8−147344号公報 特開2000−83057号公報
運用時に余分なオーバヘッドやネットワーク負荷を発生させることなく問題個所(遅延個所や異常個所)を特定するために、事前に詳細なログを採取分析して機能(処理)毎のパス情報(動作フロー)を取得することが試みられている。この場合、運用時には、実際の運用情報(リクエストログ)が取得される。そして、問題発生時には、事前に取得されたパス情報と、運用時に取得された運用情報とを用いて、問題個所の分析特定が行なわれる。以下、問題個所を、遅延原因個所あるいは問題コンポーネントという場合がある。
ここで、パス情報は、例えば、各機能で使用されるコンポーネントを特定する情報(コンポーネント群)を含む。このとき、Web(ウエブ)の機能毎のパス情報は、例えば、URL(Uniform Resource Locator)を含むURI(Uniform Resource Identifier)によって分類される。
例えば図2に示すごとくc1〜c5をネットワークコンポーネントとした場合、各コンポーネントc1〜c5を流れるメッセージデータを分析する。これにより、各機能Fi(iは自然数)で用いられるコンポーネントは、各機能Fiに対応するURL+CGI(Common Gateway Interface)パラメータを用いて、例えば、以下のように機能Fi毎に分類される。
機能F1(http://foo.com/appli1.cgi?flag=exec)のパス=c1−c2−c4−c5
機能F2(http://foo.com/appli1.cgi?flag=calc)のパス=c1−c3−c5
機能F3(http://foo.com/appli1.cgi?data=true)のパス=c1−c2
機能F4(http://foo.com/appli2.cgi?feature=3)のパス=c3−c4
しかし、機能(URL+CGIパラメータ)が同一であっても、運用時間帯や曜日や、リクエストパターンやデータベースの状況などに依っては、当該同一の機能に対応する各パス情報に、異なるコンポーネントが含まれる場合がある。つまり、前記状況に依って、同一の機能が、異なるパス情報を有し、異なる複数のパスを通る場合がある。この場合、当該同一の機能についての異なるパス情報は、当該同一の機能についての一つのパス情報に統合され、統合されたパス情報は、異なるコンポーネントの全てを含むように規定される。このため、パス情報には、不定(非決定的)な部分が含まれる場合がある。パス情報に不定な部分が含まれていると、実運用時に、或るリクエストがどのコンポーネントを使ったかが不明のまま分析処理が行なわれ、遅延原因個所を正確に特定(推定)することができない。
一つの側面で、本発明は、問題個所を正確に特定できるようにすることを目的とする。
本件の分析方法は、コンピュータが、複数の機能のそれぞれが使用する一以上のコンポーネントに係る情報を含む事前に取得される前記機能毎のパス情報と、運用時に取得される運用情報と、に基づき、前記一以上のコンポーネントの中から問題コンポーネントを問題個所として特定する。本件の分析方法は、前記コンピュータが、前記複数の機能のうちの同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして事前に抽出する。また、本件の分析方法は、前記運用時に前記不定コンポーネントが使用されたかを検知する。さらに、本件の分析方法は、前記運用時に問題が生じた場合、前記パス情報と前記運用情報と前記不定コンポーネントの使用検知結果とに基づき、前記問題個所を特定する。
一実施形態によれば、問題個所を正確に特定することができる。
本実施形態に係る分析装置を適用されるネットワークシステムの一例、及び本実施形態に係る分析装置の機能構成の一例を示すブロック図である。 機能とコンポーネント群との対応関係(パス情報)の一例を示す図である。 同一の機能について、異なるコンポーネントを含む二つのパス情報が取得される場合の一例を示す図である。 図3に示す例について、同一の機能についての異なる二つのパス情報と当該二つのパス情報を統合した一つのパス情報とを示す図である。 実運用時に取得されるパス情報の第1例を示す図である。 図5に示すパス情報に基づく遅延原因個所の特定処理の第1例を説明する図である。 実運用時に取得されるパス情報の第2例を示す図である。 図7に示すパス情報に基づく遅延原因個所の特定処理の第2例を説明する図である。 (A)〜(C)は本実施形態の分析手順の第1例を説明する図である。 (A)〜(C)は本実施形態の分析手順の第2例を説明する図である。 本実施形態の分析方法における運用時ログ採取個所情報の決定処理の一例を説明する図である。 本実施形態の分析方法における、運用時に採取したログを用いた遅延原因個所の特定処理の一例を説明する図である。 本実施形態の使用情報出力コード(第1コード)の追加処理の一例を説明するフローチャートである。 本実施形態におけるAPサーバの運用時処理の一例を説明するフローチャートである。 本実施形態における遅延原因個所の特定処理の一例を説明するフローチャートである。 (A)及び(B)は本実施形態の第1変形例を説明する図である。 (A)及び(B)は本実施形態の第2変形例を説明する図である。
以下、図面を参照して実施形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術が実施形態に適用されることは排除されない。また、以下に説明する各種の例示的態様は、適宜に組み合わせて実施しても構わない。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
〔1〕本実施形態に係る分析装置を適用されるネットワークシステムの構成
まず、図1を参照しながら、本実施形態に係る分析装置を適用されるネットワークシステムの構成について説明する。なお、図1は、本実施形態に係る分析装置を適用されるネットワークシステムの一例、及び本実施形態に係る分析装置の機能構成の一例を示すブロック図である。
図1に示すネットワークシステムは、例えば、インターネット等のネットワーク10と、当該ネットワーク10に接続されるサーバ群(符号20,30,40参照)と、ネットワークスイッチ(NS)50とを含む。サーバ群には、例えば、Webサーバ30や、アプリケーション(AP)サーバ40、その他のサーバ20等が含まれる。
APサーバ40は、本実施形態に係る分析装置としての機能を実現すべく、例えば、事前分析ブロック401、運用ブロック402、ユーザリクエストデータベース403、パス情報データベース404、及び、運用時ログ採取個所情報データベース405を含む。以下、データベースはDBと略記する場合がある。
APサーバ40は、例えば、CPU(Cenrtral Processing Unit)等の処理部、ROM(Read Only Memory),RAM(Random Access Memory)等のメモリ、HDD(Hard Disk Drive),SSD(Solid State Drive)等の記憶装置、LCD(Liquid Crystal Display)等の表示装置、印刷装置などを含む。APサーバ40においては、CPUがメモリや記憶装置から所定のアプリケーションプログラムを読み出して実行することにより、各種機能が実現される。所定のアプリケーションプログラムには、例えば、後述する事前分析ブロック401や運用ブロック402としての機能を実現するプログラムの一例としての分析プログラムが含まれる。表示装置や印刷装置には、例えばCPUによる演算結果等を出力することができる。なお、他のサーバ20やWebサーバ30についても、ハードウェアとして、上述と同様のCPU,メモリ,記憶装置,表示装置,印刷装置などが備えられる。
上述した所定のアプリケーションプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、上記処理部は、当該記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。上記処理部は、CPUのほか、MPU(Micro-Processing Unit),コンピュータ等であってもよい。
ユーザリクエストDB403、パス情報DB404、及び運用時ログ採取個所情報DB405は、例えば、APサーバ40のメモリや記憶装置によって実現される。
事前分析ブロック401は、事前分析フェーズにおいて、後述するごとく、パス情報や運用時ログ採取個所情報を生成する。事前分析ブロック401は、事前分析フェーズで用いられる分析装置の一例として捉えることができ、例えば、事前データ採取部410及びパス分析部420を含む。
事前データ採取部410は、ユーザリクエストDB403のデータ(リクエスト等)を仮想ユーザのデータとしてネットワーク10へ投入(送信)する。なお、事前データ採取部410は、実運用時の実際のリクエスト及び状態等を保存しておいて、実運用時の運用状態を再現するようにしてもよい。そして、事前データ採取部410は、仮想ユーザのデータ投入による結果として各サーバ20,30,40に流れるメッセージデータを採取する。
パス分析部420は、事前データ採取部410によって採取されたデータに基づきパス分析を行ない、その分析結果として、例えば、パス情報及び運用時ログ採取個所情報を生成し取得する。取得されたパス情報及び運用時ログ採取個所情報は、それぞれパス情報DB404及び運用時ログ採取個所情報DB405に格納される。パス分析部420は、後述するパス情報取得部421の一例、不定コンポーネント抽出部422の一例及び再構成部423の一例として捉えることができる。
運用ブロック402は、運用フェーズにおいて、後述するごとく、運用情報(運用データ)と、事前分析ブロック401によって事前に生成されたパス情報及び運用時ログ採取個所情報とに基づき問題個所を特定する。運用ブロック402は、運用フェーズで用いられる分析装置の一例として捉えることができ、例えば、運用データ採取部430、機能選別部440、データスライス分割部450、及び問題箇所特定部460を含む。
運用データ採取部430は、運用フェーズにおいて、実運用でサーバ群20,30,40に流れるデータから例えばURL+CGIパラメータ等を例えばログデータ(リクエストログ)として採取する。運用データ採取部430は、後述する運用情報取得部431の一例及び検知部432の一例として捉えることができる。
なお、実運用では「前面のサーバ」の情報のみ採取するようにしてよい。「前面のサーバ」とは、事前分析フェーズにおける「全サーバ」と対比して、ユーザからのリクエストを受け付ける、最もユーザ側のサーバを意味する。図1に例示する構成ではWebサーバ30が「前面のサーバ」に相当し得る。ただし、構成によっては、負荷分散サーバ(ロードバランサ;図示省略)が「前面のサーバ」に相当することもあれば、APサーバ40が「前面のサーバ」に相当することもある。
機能選別部440は、採取したログデータを、パス情報DB404のパス情報と照らし合わせて、ログデータの機能選別(分類)を行なう。
データスライス分割部450は、例えば、選別された各機能で正常と異常とが混在しない時間区間を切り出す処理(ステートの変化タイミングを演算する処理)を実施する。
問題個所特定部460は、データスライス分割部450によって切り出された時間区間について遅延の検知を行なう。問題個所特定部460は、遅延を検知した場合、後述するごとく、パス情報DB404のパス情報と照らし合わせて、問題個所の絞込み又は特定を行なう。問題個所特定部460は、後述する特定部の一例として捉えることができる。
なお、事前分析ブロック401及び運用ブロック402における各種機能は、本実施形態のネットワークシステムに含まれるPC(Personal Computer)等の処理装置によって実現されてもよいし、本実施形態のネットワークシステムに含まれるAPサーバ40等によって実現されてもよい。また、事前分析ブロック401及び運用ブロック402における各種機能は、一台の処理装置、もしくは、一台のAPサーバ40等によって実現されてもよい。
本実施形態では、運用ブロック402において運用時に余分なオーバヘッドやネットワーク負荷を発生させることなく問題個所を特定するために、事前分析ブロック401において、事前に詳細なログを採取分析して機能(処理)毎のパス情報が生成されて取得されている。ここで、パス情報は、図2を参照しながら前述したように、例えば、各機能で使用されるコンポーネントを特定する情報(コンポーネント群)を含む。このとき、Webの機能毎のパス情報は、例えばURI(URL)によって分類される。
例えば図2を参照しながら前述したように、各コンポーネントc1〜c5を流れるメッセージデータを分析することで、各機能Fi(iは自然数)で用いられるコンポーネントは、各機能Fiに対応するURIを用いて、機能Fi毎に分類される。以下、各機能Fiに対応するURIをURLiと表記する場合がある。
「機能」(あるいは「処理」)は、例えば、次のように分類される。まず、予めキャプチャ済みの実データや、事前データ採取部410がテストデータを再現(リプレイ)することによって採取されたデータに基づき、システムの各機能Fiのパスをパス分析部420が分類する。
例えば図2を参照しながら前述したように、c1〜c5をネットワークコンポーネントとした場合、各コンポーネントc1〜c5を流れるメッセージデータを分析し、URL+CGIパラメータで機能Fiを分類する。
なお、コンポーネントc1〜c5は、プログラムのメソッド単位、ブロック単位として処理することもできる。「コンポーネント」という用語は、「モジュール」あるいは「チェックポイント」という用語に置き換えて使用してもよい。また、「パス」は、「コンポーネント」の集合(コンポーネント群)として位置付けられる。各機能(処理)Fiと複数のコンポーネントc1〜c5との対応関係を示す情報のことを「パス情報」と呼ぶ。さらに、「コンポーネント」を「コンポ」と略記する場合がある。
ここで、運用フェーズで用いられる運用ブロック402による問題個所(異常個所)の特定機能について、簡単に説明する。図2に示す例において、通常時に比べ機能F1及びF2が遅延した場合、運用ブロック402においては、パス情報に照らし合わせることで機能F1及びF2に対応するコンポーネントc1,c2,c3,c4,c5が問題個所である可能性をもつと判断することができる。
さらに、運用ブロック402においては、例えば、機能F3及びF4は遅延していないという情報と、機能F3及びF4のパス情報とにより、機能F1,F2及びF3の共通コンポーネントc1,c2,c3,c4には問題がないと判断することができる。その結果、運用ブロック402(問題個所特定部460)においては、残ったコンポーネントc5を遅延原因個所として特定することができる。
なお、分析対象がプログラムの場合、コンポーネントc1〜c5は、以下のように、メソッド(関数)呼出し単位、ブロック単位、利用者指定のログ出力個所単位、あるいはこれらのいずれかの組み合わせを単位として処理することができる。
・メソッド(関数)呼出し単位
c1=method1()→c2=method2()→c4=method3()等
・ブロック単位(if文や{}などで区分けされたブロック)
c1=while(..)→c2=if ()...→c4=else...等
・利用者指定のログ出力個所単位
c1={file=foo.java,line=35}→c2={file=foo.java,line=55}→c4={file=boo.java,line=20}等
〔2〕本実施形態に係る分析装置の概要
ところで、機能(リクエスト)に対応する「URL+CGIパラメータ」が同一であっても、運用時間帯や曜日や、リクエストパターンやデータベースの状況などに依っては、当該同一の機能(リクエスト)に対応するパス情報の内容(コンポーネント集合の要素)が異なる場合がある。つまり、各機能に対応するパス情報に、異なるコンポーネントが含まれ、各リクエストによる動作が不定になる場合がある。
このような場合、二以上の同一の機能(リクエスト)は一つの機能(リクエスト)に統合され、統合された機能のパス情報は、異なるコンポーネントの全てを含むように規定される。このように二以上の同一の機能を一つの機能に統合する具体的な例について、図3および図4を参照しながら説明する。
ここで、図3は、同一の機能(URL+CGIパラメータ)について、異なるコンポーネントを含む二つのパス情報が取得される場合の一例を示す図である。図4は、図3に示す例について、同一の機能についての異なる二つのパス情報と当該二つのパス情報を統合した一つのパス情報とを示す図である。
図3に示す例では、同一の「URL+CGIパラメータ」(/foo/func?k1=v1)のそれぞれに対し、異なる二つのパス(a1)及び(a2)が取得されている。パス(a1)は、図3に示すように、コンポーネントc1,c2,c3,c4を含む。パス(a2)は、図3に示すように、コンポーネントc1,c2,c3,c5を含む。
また、図4の上段においては、各機能に対応するパスに含まれるコンポーネントがテーブル形式で示されている。図3及び図4において、各機能に対応するパスに含まれるコンポーネントには“1”が付与されている。
図3、及び図4の上段に示すように、パス(a1)とパス(2)とにおいてコンポーネントc1,c2,c3は共通して含まれるが、コンポーネントc4はパス(a1)のみに含まれ、コンポーネントc5はパス(a2)のみに含まれる。
このような場合、同一の「URL+CGIパラメータ」(/foo/func?k1=v1)について
の二つのパス情報は一つのパス情報に統合される。これにより、図4の上段に示す、同一の機能に対応する二つのパス(a1)とパス(2)とは、図4の下段に示すように、一つのパス情報にまとめて定義される。したがって、統合後のパス情報は、5つのコンポーネントc1〜c5を含む。
なお、図3及び図4における同一の機能(URL+CGIパラメータ)は、以下、URL1と表記する場合がある。
しかしながら、上述のごとく二つのパス(a1),(a2)を統合して一つのパス情報として定義した場合、統合後のパス情報には、コンポーネントc4,c5が不定(非決定的)な部分として含まれる。パス情報に不定な部分(例えばc4,c5)が含まれていると、実運用時(システムの本番実行時)に、或るリクエスト(機能)がコンポーネントc4,c5のどちらを使ったかが不明のまま分析処理が行なわれる。このため、図5〜図8を参照しながら具体的に説明するように、遅延原因個所を正確に特定することができない。
ここで、図5は、実運用時に取得されるパス情報の第1例を示す図であり、図6は、図5に示すパス情報に基づく遅延原因個所の特定処理の第1例を説明する図である。また、図7は、実運用時に取得されるパス情報の第2例を示す図であり、図8は、図7に示すパス情報に基づく遅延原因個所の特定処理の第2例を説明する図である。
まず、図5及び図6を参照しながら、パス情報に不定な部分が含まれる場合の遅延原因個所の特定処理の第1例について説明する。図5及び図6に示すように、URL1のパス情報は、二つのパス(a1),(a2)を統合したものであり、5つのコンポーネントc1〜c5を含む。また、URL2のパス(b1)は、3つのコンポーネントc1〜c3を含む。
ここで、図6に示すように、URL1の処理において遅延が生じ、URL2の処理は正常に実行されたものとする。この場合、URL1のパス情報は二つのパス(a1)及び(a2)を統合しているので、遅延原因個所をコンポーネントc4,c5に絞り込むことはできるが、遅延原因個所がコンポーネントc4,c5のいずれであるかを特定することはできない。
例えば、遅延の生じたリクエストがURL1の(a1)のパスを通る場合、遅延原因個所はコンポーネントc4である一方、遅延の生じたリクエストがURL1の(a2)のパスを通る場合、遅延原因個所はコンポーネントc5である。しかし、コンポーネントc4とc5とのどちらが使用されたかを正しく認識することができないため、遅延原因個所をコンポーネントc4及びc5よりも詳細に絞り込むことができない。
ついで、図7及び図8を参照しながら、パス情報に不定な部分が含まれる場合の遅延原因個所の特定処理の第2例について説明する。図7及び図8に示すように、URL1のパス情報は、前述したように、二つのパス(a1),(a2)を統合したものであり、5つのコンポーネントc1〜c5を含む。また、URL3のパス(b2)は、3つのコンポーネントc2,c3,c5を含む。
ここで、図8に示すように、URL3の処理において遅延が生じ、URL1の処理は正常に実行されたものとする。この場合、例えば、正常リクエストがURL1の(a1)のパスを通るのであれば、URL1のパス情報はコンポーネントc1〜c4を含みコンポーネントc5を含まない。したがって、URL3のパス(b2)を考慮すると、遅延原因個所をコンポーネントc5に絞り込むことができる。
つまり、正常リクエストがURL1の(a1)のパスを通ることが分かっていれば、コンポーネントc5を遅延原因個所として特定できるはずである。しかしながら、URL1のパス情報として二つのパス(a1)及び(a2)を統合した結果を用いて分析するため、図8に示すように、遅延原因個所の見逃しが発生してしまう。換言すると、二以上のパスを一つのパス情報に統合して定義する手法では、リクエストが、統合する前の元のパス(a1)及び(a2)のうち、どちらのパスのものか分からず、遅延原因個所の特定を正確に行なうことができない。
そこで、本実施形態では、事前の分析を行なってパス情報(動作フロー情報)を取得する際、機能(URL+CGIパラメータ)が同一でパス(=コンポーネントの集合)の異なるリクエストがある場合(動作が不定のリクエストがある場合)、不定な部分(不定コンポーネント)が抽出される。そして、実運用時には、遅延原因個所を特定するための必要最小限の情報である、不定な部分に係る情報(不定コンポーネントの使用検知結果)が取得され、不定な部分に係る情報に基づき、遅延原因個所が正確に特定(推定)される。なお、以下では、「実運用」を単に「運用」という場合がある。
特に、本実施形態の分析方法(以下「本方法」という場合がある)においては、以下の構成により、問題個所(遅延原因個所)を正確に特定することができる。
例えば、本方法は、複数の機能のそれぞれが使用する一以上のコンポーネントに係る情報を含む事前に取得される前記機能毎のパス情報と、運用時に取得される運用情報と、に基づき、前記一以上のコンポーネントの中から問題コンポーネントを問題個所として特定する。
このとき、本方法は、前記複数の機能のうちの同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして事前に抽出する。また、本方法は、前記運用時に前記不定コンポーネントが使用されたかを検知する。そして、本方法は、前記運用時に問題が生じた場合、前記パス情報と前記運用情報と前記不定コンポーネントの使用検知結果とに基づき、前記問題個所を特定する。
このような構成により、事前の分析を行なってパス情報を取得する際に、機能が同一でパスの異なるリクエストがある場合、不定コンポーネントが抽出される。そして、運用時に、問題が生じた場合、問題個所を特定するための必要最小限の情報である、不定コンポーネントの使用検知結果が取得され、当該使用検知結果に基づき、図3〜図8を参照しながら前述した手法では不定であった部分の分析を決定的に行なうことができる。したがって、問題個所を正確に特定することができる。
〔3〕本実施形態に係る分析装置の機能構成
次に、図1を参照しながら、事前分析ブロック401,運用ブロック402,ユーザリクエストDB403,パス情報DB404及び運用時ログ採取個所情報DB405を含む本実施形態に係る分析装置の機能構成について説明する。
事前分析ブロック401におけるパス分析部420は、パス情報取得部421、不定コンポーネント抽出部422及び再構成部423を含む。
パス情報取得部421は、複数の機能(URL+CGIパラメータ)のそれぞれが使用する一以上のコンポーネント(モジュール,メソッド)に係る情報を含む機能毎のパス情報を、事前に取得する。
このとき、パス情報取得部421は、同一の機能についての異なるパス情報を前記同一の機能についての一つのパス情報に統合し、統合した前記一つのパス情報として、後述する不定コンポーネント抽出部422によって抽出される不定コンポーネントに係る情報を規定する(図9(B)や図10(B)の“2”参照)。
また、パス情報取得部421は、同一の機能が常に使用するコンポーネントを決定コンポーネントとして認識し、統合した一つのパス情報として、決定コンポーネントに係る情報を規定する(図9(B)や図10(B)の“1”参照)。
パス情報取得部421は、上述のごとく事前に取得したパス情報を、パス情報DB404に記録保存する。
またさらに、パス情報取得部421は、上述のごとく取得されたパス情報に基づき、運用時にログを採取すべき個所を示すログ採取個所情報(図11参照)を事前に取得し、運用時ログ採取個所情報DB405に記録保存する。
不定コンポーネント抽出部422は、複数の機能のうちの同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして事前に抽出する。
一方、運用ブロック402における運用データ採取部430は、運用情報取得部431及び検知部432を含む。
運用情報取得部431は、運用時つまり運用フェーズにおいて、サーバ群20,30,40に流れるデータから、例えばURL+CGIパラメータ,処理時刻,応答時間等を、運用情報(図12上段の運用データ(運用ログ)参照)として取得する。
検知部432は、運用時ログ採取個所情報DB405及びAPサーバ40の運用時ログ出力部41と協働して、運用時にどの不定コンポーネントが使用されたかを検知する。
このとき、検知部432は、運用開始時、具体的にはパス情報及び運用自ログ採取個所情報の取得後で運用開始前に、運用時ログ採取個所情報DB405(もしくはパス情報DB404)を参照する。検知部432は、運用時ログ採取個所情報DB405を参照することで、複数の機能のそれぞれについて取得されたパス情報において規定される不定コンポーネントを、使用検知対象として認識する。そして、検知部432は、運用時に、使用検知対象として認識した不定コンポーネントが使用されたかを検知する。
より具体的に、本実施形態において、運用開始時に、使用検知対象として認識した不定コンポーネントが運用時に使用されると第1使用検知情報(使用情報)を出力する第1コード(使用情報出力コード)が、不定コンポーネントに対して追加される。使用情報出力コードの追加には、例えばバイトコードインジェクションツールが用いられる。また、使用情報出力コードの追加は、運用データ採取部430における検知部432によって行なわれてもよいし、パス分析部420によって行なわれてもよい。そして、実運用中のAPサーバ40において、使用情報出力コードを付されたコンポーネントが使用されると、APサーバ40における運用時ログ出力部41が、第1使用検知情報(使用情報)を検知部432に対して出力する。
問題個所特定部(特定部)460は、運用時に問題(遅延)が生じた場合、上述したパス情報と運用情報と不定コンポーネントの使用検知結果(第1使用検知情報)とに基づき、一以上のコンポーネントの中から問題コンポーネントを問題個所として特定する。
なお、運用時ログ出力部41、運用時ログ採取個所情報DB405及び検知部432は、図16(A)や図16(B)を参照しながら後述する本実施形態の第1変形例を実現する際にも用いられる。
このとき、検知部432は、運用開始時に、パス情報を事前に取得する際に前記複数の機能がいずれも使用しなかった未使用コンポーネントに対して、上述した第1コードと同様の第2コード(使用情報出力コード)を追加する。当該第2コードも、第1コードと同様、未使用コンポーネントが運用時に使用されると第2使用検知情報(使用情報)を、当該未使用コンポーネントを使用したAPサーバ40等に出力させる。
当該第2コードを用いることで、実運用中のAPサーバ40において、使用情報出力コードを付されたコンポーネントが使用されると、APサーバ40における運用時ログ出力部41から、第2使用検知情報(使用情報)が検知部432に対して出力される。
再構成部423は、図16(A)や図16(B)を参照しながら後述する本実施形態の第1変形例を実現する際に用いられるもので、第2使用検知情報が出力された場合、パス情報を、未使用コンポーネントを含むように再構成する。ここでは、再構成部423としての機能は、パス分析部420に含まれているが、第2使用検知情報を受信する運用データ採取部430に含まれていてもよい。
そして、問題個所特定部460は、運用時に問題(遅延)が生じた場合、再構成部423によって再構成されたパス情報と、運用情報と、第2使用検知情報とに基づき、一以上のコンポーネントの中から問題コンポーネントを問題個所として特定する。
また、不定コンポーネント抽出部422は、図17(A)や図17(B)を参照しながら後述する本実施形態の第2変形例を実現する際にも用いられる。
このとき、不定コンポーネント抽出部422は、機能毎のパス情報と当該パス情報に含まれる一以上のコンポーネントとの関係について事前学習を行なう。そして、不定コンポーネント抽出部422は、当該事前学習の結果、同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして抽出してもよい。
〔4〕本実施形態に係る分析装置の動作
ついで、図9〜図15を参照しながら、本実施形態に係る分析装置の動作について説明する。
〔4−1〕本実施形態の分析手順の第1例
まず、図9(A)〜図9(C)を参照しながら、本実施形態の分析手順の第1例について説明する。特に、本第1例では、図5及び図6を参照しながら前述したような不定な部分がパス情報に含まれる場合の分析手順について説明する。
事前分析に際して、まず、事前データ採取部410によって、ユーザリクエストDB403のデータ(リクエスト等)が、仮想ユーザのデータとしてネットワーク10へ投入される。これにより、事前データ採取部410によって、仮想ユーザのデータ投入による結果として各サーバ20,30,40に流れるメッセージデータが採取される。
そして、採取されたデータに基づき、パス分析部420におけるパス情報取得部421及び不定コンポーネント抽出部422は、以下のようなパス分析を行なう。
例えば、図9(A)に示すように、まず手順S1において、不定コンポーネント抽出部422は、不定コンポーネントを事前に抽出する。このとき、複数の機能のうちの同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして事前に抽出する。
換言すると、同一の機能(URL+CGIパラメータ;リクエスト)において100%使用されるコンポーネント(メソッド)は、決定コンポーネント(決定的な部分)として抽出される。一方、同一の機能(URL+CGIパラメータ)において使用される場合と使用されない場合とがあるコンポーネント(メソッド)は、不定コンポーネントとして抽出される。なお、決定コンポーネントは、不定コンポーネント抽出部422によって抽出されてもよいし、パス情報取得部421によって抽出されてもよいし、パス情報取得部421と不定コンポーネント抽出部422との協働によって抽出されてもよい。
図9(A)に示す例では、同一のURL1について異なるパス〔パス(a1)=c1−c2−c3−c4及びパス(a2)=c1−c2−c3−c5〕が得られる。このとき、コンポーネントc1〜c3は、同一のURL1の両方のパスで用いられるため、決定コンポーネントとして認識される。コンポーネントc4は、一方のパス(a1)で用いられ他方のパス(a2)で用いられないため、不定コンポーネントとして認識される。同様に、コンポーネントc5も、一方のパス(a2)で用いられ他方のパス(a1)で用いられないため、不定コンポーネントとして認識される。また、URL2については一つのパス(b1)が得られ、当該パス(b1)では三つのコンポーネントc1〜c3が用いられている。このため、URL2について、三つのコンポーネントc1〜c3は決定コンポーネントとして認識される。
これに伴い、パス情報取得部421によって、図9(B)に示すように、パス(a1)とパス(a2)とを一つに統合して一つのURL1に対応付けたパス情報が生成されるとともに、URL2についてのパス情報が生成される(手順S1)。図9(B)に示すURL1についてのパス情報では、コンポーネントc1〜c3が決定コンポーネント(決定的な部分)である旨を示す“1”が設定され、コンポーネントc4,c5が不定コンポーネント(不定な部分)である旨を示す“2”が設定される。また、図9(B)に示すURL2についてのパス情報では、コンポーネントc1〜c3が決定コンポーネント(決定的な部分)である旨を示す“1”が設定される。上述のごとく事前に取得されたパス情報は、パス情報DB404に記録保存される。
なお、図11及び図12を参照しながら後述する例では、上述のごとく事前に取得されたパス情報に基づき、運用時にログを採取すべき個所を示すログ採取個所情報(図11参照)が事前に取得され、運用時ログ採取個所情報DB405に記録保存される。しかし、ここでは、運用時ログ採取個所情報の取得は省略され、図9(B)に示すごときパス情報において“2”を設定された不定コンポーネントc4,c5が、運用時にログを採取すべき個所(使用検知対象)として認識される。後述する分析手順の第2例についても同様である。
上述のごとくパス情報を事前に取得した後、図9(A)に示す例では、運用開始時(パス情報及び運用自ログ採取個所情報の取得後で運用開始前)に、検知部432はパス情報DB404を参照する。そして、手順S2において、検知部432は、決定コンポーネントc1〜c3には使用情報出力コードを追加せず(運用ログを採らず)、不定コンポーネントc4,c5には使用情報出力コードを追加する(運用ログを採る)。
これにより、使用情報出力コードを追加された不定コンポーネントc4,c5が実運用時に使用されると、APサーバ40における運用時ログ出力部41が起動され、第1使用検知情報(使用情報)が、運用ログとして検知部432に対し出力される。したがって、検知部432は、運用時に、使用検知対象である不定コンポーネントc4とc5とのいずれかが使用されたか否かを検知することができる。
つまり、運用時には、運用情報取得部431によって、サーバ群20,30,40に流れるデータから、運用ログ(例えば図12上段参照)が取得される。その際、検知部432によって、APサーバ40の運用時ログ出力部41と協働して、運用時にどの不定コンポーネントが使用されたかが検知される。
ここで、図6に示す例と同様、URL1の処理(リクエスト)において遅延が生じ、URL2の処理(リクエスト)は正常に実行されたものとする。
このとき、運用時に、URL1についてコンポーネントc4の使用を示す使用情報が運用時ログ出力部41から出力されると、図9(C)の上段(遅延原因個所の特定処理時のデータ)に示すごとく、URL1のc4のコンポーネント情報“1”が追加される。これに伴い、問題個所特定部460は、コンポーネントc4を問題コンポーネント(問題個所)として特定することができる(手順S3)。
一方、運用時に、URL1についてコンポーネントc5の使用を示す使用情報が運用時ログ出力部41から出力されると、図9(C)の下段(遅延原因個所の特定処理時のデータ)に示すごとく、URL1のc5のコンポーネント情報“1”が追加される。これに伴い、問題個所特定部460は、コンポーネントc5を問題コンポーネント(問題個所)として特定することができる(手順S3)。
このようにして、運用時にコンポーネントc4とc5とのどちらが使用されたかを正しく認識することができ、遅延原因個所をコンポーネントc4とc5とのいずれか一方に絞り込むことができる。このため、本実施形態によれば、遅延原因個所を正確に特定することができる。
〔4−2〕本実施形態の分析手順の第2例
ついで、図10(A)〜図10(C)を参照しながら、本実施形態の分析手順の第2例について説明する。特に、本第2例では、図7及び図8を参照しながら前述したような不定な部分がパス情報に含まれる場合の分析手順について説明する。
本第2例においても、上述した分析手順の第1例と同様、事前分析に際して、事前データ採取部410によって、各サーバ20,30,40に流れるメッセージデータが採取される。そして、採取されたデータに基づき、パス情報取得部421及び不定コンポーネント抽出部422は、上述した分析手順の第1例と同様のパス分析を行なう。
図10(A)に示す例でも、図9(A)に示した例と同様、同一のURL1について異なるパス(a1)及び(a2)が得られる。このとき、コンポーネントc1〜c3は、同一のURL1の両方のパスで用いられるため、決定コンポーネントとして認識される。コンポーネントc4は、一方のパス(a1)で用いられ他方のパス(a2)で用いられないため、不定コンポーネントとして認識される。同様に、コンポーネントc5も、一方のパス(a2)で用いられ他方のパス(a1)で用いられないため、不定コンポーネントとして認識される。また、URL3については一つのパス(b2)が得られ、当該パス(b2)では三つのコンポーネントc2,c3,c5が用いられている。このため、URL3について、三つのコンポーネントc2,c3,c5は決定コンポーネントとして認識される。
これに伴い、パス情報取得部421によって、図10(B)に示すように、パス(a1)とパス(a2)とを一つに統合して一つのURL1に対応付けたパス情報が生成されるとともに、URL3についてのパス情報が生成される(手順S1)。図10(B)に示すURL1についてのパス情報では、コンポーネントc1〜c3が決定コンポーネント(決定的な部分)である旨を示す“1”が設定され、コンポーネントc4,c5が不定コンポーネント(不定な部分)である旨を示す“2”が設定される。また、図10(B)に示すURL3についてのパス情報では、コンポーネントc2,c3,c5が決定コンポーネント(決定的な部分)である旨を示す“1”が設定される。上述のごとく事前に取得されたパス情報は、パス情報DB404に記録保存される。
上述のごとくパス情報を事前に取得した後、図10(A)に示す例でも、運用開始時に検知部432はパス情報DB404を参照する。そして、手順S2において、検知部432は、決定コンポーネントc1〜c3には使用情報出力コードを追加せず(運用ログを採らず)、不定コンポーネントc4,c5には使用情報出力コードを追加する(運用ログを採る)。
これにより、使用情報出力コードを追加された不定コンポーネントc4,c5が実運用時に使用されると、APサーバ40における運用時ログ出力部41が起動され、第1使用検知情報(使用情報)が、運用ログとして検知部432に対し出力される。したがって、分析手順の第2例においても、上述した第1例と同様、検知部432は、運用時に、使用検知対象である不定コンポーネントc4とc5とのいずれかが使用されたか否かを検知することができる。
つまり、分析手順の第2例においても、上述した第1例と同様、運用時には、運用情報取得部431によって、サーバ群20,30,40に流れるデータから、運用ログ(例えば図12上段参照)が取得される。その際、検知部432によって、APサーバ40の運用時ログ出力部41と協働して、運用時にどの不定コンポーネントが使用されたかが検知される。
ここで、図8に示す例と同様、URL1の処理(リクエスト)は正常に実行され、URL3の処理において遅延が生じたものとする。
このとき、運用時に、URL1についてコンポーネントc4の使用を示す使用情報が運用時ログ出力部41から出力されると、図10(C)における遅延原因個所の特定処理時のデータに示すごとく、URL1のc4のコンポーネント情報“1”が追加される。
これに伴い、問題個所特定部460は、正常なリクエストがURL1の(a1)のパスを通り、URL1のパス情報がコンポーネントc1〜c4を含みコンポーネントc5を含まないことを認識することができる。したがって、問題個所特定部460は、URL3のパス情報(b2)を考慮すると、遅延原因個所をコンポーネントc5に絞り込むことができる(手順S3)。このような組合せでURL3が遅延している場合、正常なURL1がコンポーネントc5を使用していることはあり得ない。
つまり、問題個所特定部460は、正常リクエストがURL1の(a1)のパスを通ることを認識することができ、コンポーネントc5を遅延原因個所として特定することができる。したがって、URL1のパス情報として二つのパス(a1)及び(a2)を統合した結果を用いて分析しても、図8に示したような遅延原因個所の見逃しの発生を抑止することができる。このため、本実施形態によれば、遅延原因個所を正確に特定することができる。
〔4−3〕本実施形態の運用時ログ採取個所情報の決定処理の一例
次に、図11を参照しながら、本実施形態の分析方法における運用時ログ採取個所情報の決定処理(事前分析フェーズ)の一例について説明する。
事前分析フェーズにおいて、まず、事前データ採取部410によって、ユーザリクエストDB403のデータ(リクエスト等)が、仮想ユーザのデータとしてネットワーク10へ投入される。これにより、事前データ採取部410によって、仮想ユーザのデータ投入による結果として、例えば図11の上段に示す情報(リクエスト毎にパスを生成した情報)が採取される。
図11の上段に示す情報には、リクエスト毎にURLと処理時刻(タイムスタンプ)と使用コンポーネント情報とが含まれる。具体的に、1番目のリクエストについて、“URL1”と、処理時刻“timestamp1”と、使用コンポーネント情報として“c1:c2:c3:c4”とが採取されている。2番目のリクエストについて、“URL2”と、処理時刻“timestamp2”と、使用コンポーネント情報として“c1:c2:c3”とが採取されている。3番目のリクエストについて、“URL1”と、処理時刻“timestamp3”と、使用コンポーネント情報として“c1:c2:c3:c5”とが採取されている。4番目のリクエストについて、“URL3”と、処理時刻“timestamp4”と、使用コンポーネント情報として“c2:c3:c5”とが採取されている。5番目のリクエストについて、“URL4”と、処理時刻“timestamp5”と、使用コンポーネント情報として“c2:c4”とが採取されている。6番目のリクエストについて、“URL4”と、処理時刻“timestamp6”と、使用コンポーネント情報として“c2:c3”とが採取されている。
図11の上段に示すごとく採取された情報に基づき、パス情報取得部421及び不定コンポーネント抽出部422によって、以下のようなパス分析が行なわれ、図11の中段に示すパス情報が取得されてパス情報DB404に保存される。
つまり、手順S11において、リクエストURL毎にパスが統合集約される。そして、URLが同一のリクエストにおいて必ず使用されるコンポーネントは、決定コンポーネントとして抽出され、当該コンポーネントのパス情報として“1”が記録される。一方、URLが同一のリクエストにおいて使用される場合と使用されない場合とがあるコンポーネントは不定コンポーネントとして抽出され、当該コンポーネントのパス情報として“2”が記録される。
例えば、図11の中段に示すパス情報では、二つのリクエスト(URL1)について異なるパス(c1:c2:c3:c4とc1:c2:c3:c5)が得られる。このとき、コンポーネントc1〜c3は、二つのURL1の両方のパスで用いられるため、決定コンポーネントとして認識される。コンポーネントc4は、一方のパスで用いられ他方のパスで用いられないため、不定コンポーネントとして認識される。同様に、コンポーネントc5も、一方のパスで用いられ他方のパスで用いられないため、不定コンポーネントとして認識される。したがって、URL1で使用されるコンポーネントc1〜c5のパス情報としては、それぞれ1,1,1,2,2が設定される。
同様に、図11の中段に示すパス情報では、二つのリクエスト(URL4)について異なるパス(c2:c4とc2:c3)が得られる。このとき、コンポーネントc2は、二つのURL4の両方のパスで用いられるため、決定コンポーネントとして認識される。コンポーネントc4は、一方のパスで用いられ他方のパスで用いられないため、不定コンポーネントとして認識される。同様に、コンポーネントc3も、一方のパスで用いられ他方のパスで用いられないため、不定コンポーネントとして認識される。したがって、URL4で使用されるコンポーネントc2〜c4のパス情報としては、それぞれ1,2,2が設定される。
また、図11の中段に示すパス情報では、URL2については一つのパスが得られ、当該パスではコンポーネントc1〜c3が用いられている。このため、URL2について、コンポーネントc1〜c3は決定コンポーネントとして認識される。したがって、URL2で使用されるコンポーネントc1〜c3のパス情報としては、それぞれ1,1,1が設定される。
同様に、図11の中段に示すパス情報では、URL3については一つのパスが得られ、当該パスではコンポーネントc2,c3,c5が用いられている。このため、URL3について、コンポーネントc2,c3,c5は決定コンポーネントとして認識される。したがって、URL3で使用されるコンポーネントc2,c3,c5のパス情報としては、それぞれ1,1,1が設定される。
そして、図11の中段に示すごとく取得されたパス情報に基づき、パス情報取得部421によって、以下のような分析が行なわれ、図11の下段に示す運用時ログ採取個所情報が取得されて運用時パスログ採取個所情報DB405に保存される。
つまり、手順S12において、パス情報が参照され、いずれかのURLで不定(=2)を記録されているコンポーネント(パス情報の縦の列のどこかに“2”を設定されたコンポーネント)はログ採取対象として認識される。そして、当該コンポーネントについて、DB405における運用時ログ採取個所情報に“1”が記録される。
例えば、図11の中段に示すパス情報からは、手順S12によって、コンポーネントc3,c4,c5について“1”を記録した、図11の下段に示すような運用時ログ採取個所情報が、取得されて、運用時ログ採取個所情報DB405に保存される。
〔4−4〕本実施形態の遅延原因個所の特定処理の一例
次に、図12を参照しながら、本実施形態の分析方法における、運用時に採取したログを用いた遅延原因個所の特定処理(運用フェーズ)の一例について説明する。
運用フェーズにおいて、まず、運用開始時に、運用時ログ採取個所情報DB405における運用時ログ採取個所情報(図11の下段参照)が参照される。そして、運用時ログ採取個所情報において“1”を設定されたコンポーネント(図11及び図12ではc3,c4,c5)に使用情報出力コードが追加される。これにより、当該コンポーネントが使用されると当該コンポーネントについての運用ログを採取することが可能になる。この後、運用データ採取部430の運用情報取得部431によって、例えば、図12の上段に示すような運用データ(運用ログ)が、運用時のリクエスト毎に取得される(手順S21)。
図12の上段に示す運用ログには、リクエスト毎に、URLと、処理時刻と、応答時間(遅延/正常)と、当該リクエスト時に使用される不定コンポーネントに関する情報とが含まれる。なお、例えば、応答時間が所定閾値を超えた場合、当該応答時間に対応するリクエストは遅延と認識される一方、応答時間が所定閾値以下である場合、当該応答時間に対応するリクエストは正常と認識される。
具体的に、1番目のリクエストについては、“URL1”と処理時刻“timestampA”と応答時間“restime(遅延)”とが採取されたものとする。このとき、URL1について、コンポーネントc1,c2,c3,c4が使用実行され遅延が生じた場合、これらのコンポーネントc1,c2,c3,c4には、運用時ログ採取対象としてコンポーネントc3,c4が含まれる。このため、検知部432によってコンポーネントc3,c4の使用情報が検知される。しかし、URL1では、コンポーネントc3,c4のうち、コンポーネントc4のみが不定コンポーネントであることが、パス情報に基づき認識される。したがって、コンポーネントc4のみが運用ログとして記録される。当該1番目のリクエストと同様、4番目のリクエストについては、“URL1”と処理時刻“timestampD”と応答時間“restime(遅延)”とコンポーネントc4とが運用ログとして記録される。
また、2番目のリクエストについては、“URL2”と処理時刻“timestampB”と応答時間“restime(正常)”とが採取されたものとする。このとき、URL2について、コンポーネントc1,c2,c3が正常に使用実行された場合、これらのコンポーネントc1,c2,c3には、運用時ログ採取対象としてコンポーネントc3が含まれる。このため、検知部432によってコンポーネントc3の使用情報が検知される。しかし、URL2においてコンポーネントc3は不定でないことが、パス情報に基づき認識される。したがって、コンポーネントc3は運用ログとして記録されない。当該2番目のリクエストと同様、3番目のリクエストについては、“URL2”と処理時刻“timestampC”と応答時間“restime(正常)”とが運用ログとして記録される。
問題個所特定部460は、事前分析で得られたパス情報(図12の中段参照)を参照する。これにより、問題箇所特定部460は、分析対象となるURL1及びURL2のうちURL1は、不定コンポーネントc3またはc4を使用している可能性があることを認識する(手順S22)。
そこで、問題個所特定部460は、上述のごとく採取された運用ログ(図12の上段参照)からURL1を検索し、URL1についてコンポーネントc4を使用していることを示す使用情報を認識する(手順S23)。そして、問題個所特定部460は、図12の下段(遅延原因個所の特定処理時のデータ)に示すごとく、URL1の使用コンポーネントに不定コンポーネントc4を含めた上で、遅延原因個所の特定処理を実行する(手順S24)。
これにより、運用時にコンポーネントc4とc5とのどちらが使用されたかを正しく認識することができ、遅延原因個所をコンポーネントc4とc5とのいずれか一方に絞り込むことができる。したがって、遅延原因個所を正確に特定することができる。
〔4−5〕本実施形態における各種処理の説明
まず、図13に示すフローチャート(ステップS101,S102)に従って、本実施形態の使用情報出力コード(第1コード)の追加処理の一例について説明する。
不定コンポーネントが使用されると使用情報を出力する使用情報出力コードを追加する処理は、前述したように、検知部432もしくはパス分析部420によって行なわれる。当該処理は、例えば図13に示すフローチャートに従って行なわれる。
つまり、まず、運用開始時に、運用時ログ採取個所が、運用時ログ採取個所情報DB405から読み出される(ステップS101)。読み出された運用時ログ採取個所は、ログ出力機構の設定テンプレート内に埋め込まれ、設定ファイルとして出力されることで、使用情報出力コードが追加される。
使用情報出力コードの追加については、汎用的なツール(例えばバイトコードインジェクションツール)が用意されているため、そのツールの設定ファイルを用意するだけで自動的に埋め込み処理を実行することができる。当該埋め込み処理は、事前分析フェーズ完了後(運用開始前)に一回のみ実行される。
ついで、図14に示すフローチャート(ステップS111,S112)に従って、本実施形態におけるAPサーバ40の運用時処理(運用時ログ出力部41による処理)の一例について説明する。
運用フェーズにおいて、APサーバ40は、リクエスト時に呼び出されたコンポーネントを、事前分析で得られたDB404におけるパス情報と照らし合わせ、呼び出されたコンポーネントが不定コンポーネントであるか否かを認識する。呼び出されたコンポーネントが不定コンポーネントでない場合、APサーバ40は、当該コンポーネントについての運用ログを記録しない。一方、呼び出されたコンポーネントが不定コンポーネントである場合、当該コンポーネントについての運用ログを、APサーバ40のメモリ上に記録する(ステップS111)。
そして、リクエスト終了時に、APサーバ40は、メモリ上に、不定コンポーネントについてのURL(+CGIパラメータ)と処理時刻(リクエスト時刻)と応答時間(リクエスト処理に要した時間)とが記録されているか否かを判断する。不定コンポーネントに係る情報が記録されていない場合、APサーバ40は、運用データ採取部430に対し何ら出力しない。一方、不定コンポーネントに係る情報が記録されている場合、APサーバ40は、当該不定コンポーネントについてのURL,処理時刻,応答時間を含む当該不定コンポーネントに係る情報を、運用データ採取部430に対し運用データとして出力する(ステップS112)。
ついで、図15に示すフローチャート(ステップS121〜S125)に従って、本実施形態における遅延原因個所の特定処理(問題個所特定部460による処理)の一例について説明する。
運用フェーズにおいて、APサーバ40等から新しいリクエストについての運用データ(運用ログ)が採取されると、運用ブロック402の問題個所特定部460は、その運用ログを読み出す(ステップS121)。
そして、問題個所特定部460は、パス情報の決定コンポーネント(例えば図12のURL1のc1〜c3)と運用データ上の不定コンポーネント(例えば図12のURL1のc4)とを、当該新しいリクエストのパスとして認識する(ステップS122)。問題個所特定部460は、認識したパスが遅延リクエストか否か(応答時間が所定閾値を超えているか否か)を判断する(ステップS123)。
認識したパスが遅延リクエストでない場合(ステップS123のNOルート)、問題個所特定部460は、ステップS121の処理に戻り、新しいリクエストについての運用データが採取されるのを待機する。一方、認識したパスが遅延リクエストである場合(ステップS123のYESルート)、問題個所特定部460は、図9や図10や図12を参照しながら前述した手順によって、読み出したリクエスト群を用い遅延原因個所の特定処理を実行する(ステップS124)。そして、問題個所特定部460は、特定処理によって得られた遅延原因個所を、ディスプレイ,プリンタ,各種記録媒体等によって出力する(ステップS125)。
なお、ここでは、機能選別部440やデータスライス分割部450による処理の説明は省略している。
〔5〕変形例
次に、図16及び図17を参照しながら、本実施形態の変形例について説明する。
〔5−1〕本実施形態の第1変形例
まず、図16(A)及び図16(B)を参照しながら、本実施形態の第1変形例について説明する。
本実施形態において、例えば図16(A)に示すように、c1,c2,c3が決定コンポーネントでありc4,c5が不定コンポーネントであることが、事前分析時の情報として取得されたものとする(手順S1)。この場合、図9(A)に示す例と同様、決定コンポーネントc1〜c3には使用情報出力コードは追加されず、不定コンポーネントc4,c5には使用情報出力コードが追加される(手順S2)。
一方、ネットワークシステムにおいては、運用時に、例えば図16(B)に示すごとく事前分析時には使用しなかった未使用コンポーネントが使用されるといった想定外の挙動を示す場合があり得る。このような想定外の挙動は、例えば、事前分析に用いるリクエストパターンの網羅が足りなかった状況において生じる。
そこで、本実施形態の第1変形例では、事前分析時に、どのリクエストによっても使用されなかった未使用コンポーネント(例えば図16(B)中のコンポーネントc6,c7など)に対しても使用情報出力コードが追加される。これにより、上述のような想定外の挙動を示した場合(例えば図16(B)において一点鎖線で示すような未知のパスを通った場合)にも、遅延原因個所の正確な特定が可能になる。ただし、このとき、全ての未使用コンポーネントに使用情報出力コードを追加するのではなく、ログ採取オーバーヘッドとのトレードオフを考慮して使用情報出力コードを追加すべき未使用コンポーネントを選択することが望ましい。
上述のように、未使用コンポーネントにも使用情報出力コードを追加すべく、第1変形例において、検知部432は、運用開始時に、パス情報を事前に取得する際に未使用コンポーネントに対して、上述した第1コードと同様の第2コード(使用情報出力コード)を追加する。当該第2コードも、第1コードと同様、未使用コンポーネントが運用時に使用されると第2使用検知情報(使用情報)を、当該未使用コンポーネントを使用したAPサーバ40等に出力させる。
上述のような第2コードを用いることで、実運用中のAPサーバ40において、使用情報出力コードを付されたコンポーネントが使用されると、APサーバ40における運用時ログ出力部41から、第2使用検知情報(使用情報)が検知部432に対して出力される。
そして、パス分析部420または運用データ採取部430における再構成部423は、運用時ログ出力部41から第2使用検知情報(使用情報)が出力された場合、パス情報を、未使用コンポーネントを含むように再構成する。
これにより、問題個所特定部460は、運用時に問題(遅延)が生じた場合、再構成部423によって再構成されたパス情報と、運用情報と、第2使用検知情報とに基づき、未使用コンポーネントも考慮して、遅延原因個所(問題コンポーネント)を正確に特定することができる。
〔5−2〕本実施形態の第2変形例
ついで、図17(A)及び図17(B)を参照しながら、本実施形態の第2変形例について説明する。
本実施形態の第2実施形態では、パス分析部420における不定コンポーネント抽出部422は、機能毎のパス情報と当該パス情報に含まれる一以上のコンポーネントとの関係について事前学習を行なう。そして、不定コンポーネント抽出部422は、当該事前学習の結果、同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして抽出する。
このとき、事前分析時に、例えば図17(A)に示すように、URL1について、月〜金曜日のパスが、URL1について、決定コンポーネントc1,c2,c3の他に、コンポーネントc4も必ず使用することが学習された場合、第2変形例では以下のように動作する。つまり、運用時が月〜金曜日であれば、コンポーネントc4も決定コンポーネントとして取り扱われる。これにより、図17(A)に示すように、月〜金曜日のパスとしては、パス(a1)のみが用いられパス(a2)(コンポーネントc5)は用いられない。したがって、決定コンポーネントc1〜c4には使用情報出力コードは追加されない。
また、事前分析時に、例えば図17(B)に示すように、URL1について、土・日曜日のパスが、URL1について、決定コンポーネントc1,c2,c3の他に、コンポーネントc5も必ず使用することが学習された場合、上述した月〜金曜の場合と同様に動作する。つまり、運用時が土日であれば、コンポーネントc5も決定コンポーネントとして取り扱われる。これにより、図17(B)に示すように、土日のパスとしては、パス(a2)のみが用いられパス(a1)(コンポーネントc4)は用いられない。したがって、決定コンポーネントc1〜c3,c5には使用情報出力コードは追加されない。
事前分析時に上述のような学習を行なった結果、依然として不定コンポーネントが存在する場合に、当該不定コンポーネントについて、使用情報出力コードが追加される。
ここで、曜日等に依ってパス上のコンポーネントを全て決定できる場合、使用情報出力コードを追加して不定コンポーネントのログを採らなくてもよい。これは、URL1のパスについては、曜日が分かればパスがコンポーネントc4とc5のどちらを通過したかを特定できるからである。したがって、上述したように、曜日等の分類(学習)を行なっても不定コンポーネントが存在する場合に、当該不定コンポーネントについて、使用情報出力コードを追加してログの採取が行なわれる。
なお、上述した第2実施形態では、曜日について学習する場合について説明したが、コンポーネントの時間帯や、リクエストパターンやデータベースの状況などについて学習してもよい。
〔6〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、運用時ログを出力するAPサーバ40と、本実施形態に係る分析装置としての機能を実現する事前分析ブロック401及び運用ブロック402を含むサーバとは、異なる二つのハードウェア上に別々に備えられてもよいし、同一のハードウェア上に備えられてもよい。
〔7〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の機能のそれぞれが使用する一以上のコンポーネントに係る情報を含む事前に取得される前記機能毎のパス情報と、運用時に取得される運用情報と、に基づき、前記一以上のコンポーネントの中から問題コンポーネントを問題個所として特定する分析方法であって、
前記複数の機能のうちの同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして事前に抽出し、
前記運用時に前記不定コンポーネントが使用されたかを検知し、
前記運用時に問題が生じた場合、前記パス情報と前記運用情報と前記不定コンポーネントの使用検知結果とに基づき、前記問題個所を特定する、分析方法。
(付記2)
前記同一の機能についての異なるパス情報を前記同一の機能についての一つのパス情報に統合し、
統合した前記一つのパス情報として、前記不定コンポーネントに係る情報を規定する、付記1に記載の分析方法。
(付記3)
前記同一の機能が常に使用するコンポーネントを決定コンポーネントとして認識し、
統合した前記一つのパス情報として、前記決定コンポーネントに係る情報を規定する、付記2に記載の分析方法。
(付記4)
運用開始時に、前記複数の機能のそれぞれについて取得された前記パス情報において規定される前記不定コンポーネントを、使用検知対象として認識し、
前記運用時に、前記使用検知対象として認識した前記不定コンポーネントが使用されたかを検知する、付記2または付記3に記載の分析方法。
(付記5)
前記運用開始時に、前記使用検知対象として認識した前記不定コンポーネントが前記運用時に使用されると第1使用検知情報を出力する第1コードを、前記不定コンポーネントに対して追加し、
前記第1使用検知情報を前記使用検知結果として用いる、付記4に記載の分析方法。
(付記6)
運用開始時に、前記パス情報を事前に取得する際に前記複数の機能がいずれも使用しなかった未使用コンポーネントに対して、前記未使用コンポーネントが前記運用時に使用されると第2使用検知情報を出力する第2コードを追加し、
前記第2使用検知情報が出力された場合、前記パス情報を、前記未使用コンポーネントを含むように再構成する、付記1〜付記5のいずれか一項に記載の分析方法。
(付記7)
前記機能毎のパス情報と当該パス情報に含まれる前記一以上のコンポーネントとの関係について事前学習を行ない、
当該事前学習の結果、前記同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、前記不定コンポーネントとして抽出する、付記1〜付記6のいずれか一項に記載の分析方法。
(付記8)
複数の機能のそれぞれが使用する一以上のコンポーネントに係る情報を含む前記機能毎のパス情報を、事前に取得するパス情報取得部と、
前記複数の機能のうちの同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして事前に抽出する不定コンポーネント抽出部と、
運用時に運用情報を取得する運用情報取得部と、
前記運用時に前記不定コンポーネントが使用されたかを検知する検知部と、
前記運用時に問題が生じた場合、前記パス情報と前記運用情報と前記不定コンポーネントの使用検知結果とに基づき、前記一以上のコンポーネントの中から問題コンポーネントを問題個所として特定する特定部と、を備えた、分析装置。
(付記9)
前記パス情報取得部は、
前記同一の機能についての異なるパス情報を前記同一の機能についての一つのパス情報に統合し、
統合した前記一つのパス情報として、前記不定コンポーネントに係る情報を規定する、付記8に記載の分析装置。
(付記10)
前記パス情報取得部は、
前記同一の機能が常に使用するコンポーネントを決定コンポーネントとして認識し、
統合した前記一つのパス情報として、前記決定コンポーネントに係る情報を規定する、付記9に記載の分析装置。
(付記11)
前記検知部は、
運用開始時に、前記複数の機能のそれぞれについて取得された前記パス情報において規定される前記不定コンポーネントを、使用検知対象として認識し、
前記運用時に、前記使用検知対象として認識した前記不定コンポーネントが使用されたかを検知する、付記9または付記10に記載の分析装置。
(付記12)
前記検知部は、前記運用開始時に、前記使用検知対象として認識した前記不定コンポーネントが前記運用時に使用されると第1使用検知情報を出力する第1コードを、前記不定コンポーネントに対して追加し、
前記特定部は、前記第1使用検知情報を前記使用検知結果として用いる、付記11に記載の分析装置。
(付記13)
前記検知部は、運用開始時に、前記パス情報を事前に取得する際に前記複数の機能がいずれも使用しなかった未使用コンポーネントに対して、前記未使用コンポーネントが前記運用時に使用されると第2使用検知情報を出力する第2コードを追加し、
前記第2使用検知情報が出力された場合、前記パス情報を、前記未使用コンポーネントを含むように再構成する再構成部を備える、付記8〜付記12に記載の分析装置。
(付記14)
前記不定コンポーネント抽出部は、
前記機能毎のパス情報と当該パス情報に含まれる前記一以上のコンポーネントとの関係について事前学習を行ない、
当該事前学習の結果、前記同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、前記不定コンポーネントとして抽出する、付記8〜付記13のいずれか一項に記載の分析装置。
(付記15)
複数の機能のそれぞれが使用する一以上のコンポーネントに係る情報を含む事前に取得される前記機能毎のパス情報と、運用時に取得される運用情報と、に基づき、前記一以上のコンポーネントの中から問題コンポーネントを問題個所として特定するコンピュータに、
前記複数の機能のうちの同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして事前に抽出し、
前記運用時に前記不定コンポーネントが使用されたかを検知し、
前記運用時に問題が生じた場合、前記パス情報と前記運用情報と前記不定コンポーネントの使用検知結果とに基づき、前記問題個所を特定する、
処理を実行させる、分析プログラム。
(付記16)
前記同一の機能についての異なるパス情報を前記同一の機能についての一つのパス情報に統合し、
統合した前記一つのパス情報として、前記不定コンポーネントに係る情報を規定する、
処理を、前記コンピュータに実行させる、付記15に記載の分析プログラム。
(付記17)
前記同一の機能が常に使用するコンポーネントを決定コンポーネントとして認識し、
統合した前記一つの機能の前記パス情報として、前記決定コンポーネントに係る情報を規定する、
処理を、前記コンピュータに実行させる、付記16に記載の分析プログラム。
(付記18)
運用開始時に、前記複数の機能のそれぞれについて取得された前記パス情報において規定される前記不定コンポーネントを、使用検知対象として認識し、
前記運用時に、前記使用検知対象として認識した前記不定コンポーネントが使用されたかを検知する、
処理を、前記コンピュータに実行させる、付記16または付記17に記載の分析プログラム。
(付記19)
前記運用開始時に、前記使用検知対象として認識した前記不定コンポーネントが前記運用時に使用されると第1使用検知情報を出力する第1コードを、前記不定コンポーネントに対して追加し、
前記第1使用検知情報を前記使用検知結果として用いる、
処理を、前記コンピュータに実行させる、付記18に記載の分析プログラム。
(付記20)
運用開始時に、前記パス情報を事前に取得する際に前記複数の機能がいずれも使用しなかった未使用コンポーネントに対して、前記未使用コンポーネントが前記運用時に使用されると第2使用検知情報を出力する第2コードを追加し、
前記第2使用検知情報が出力された場合、前記パス情報を、前記未使用コンポーネントを含むように再構成する、
処理を、前記コンピュータに実行させる、付記15〜付記19のいずれか一項に記載の分析プログラム。
10 ネットワーク
20 サーバ
30 Webサーバ
40 AP(アプリケーション)サーバ(分析装置,コンピュータ)
41 運用時ログ出力部(検知部)
50 ネットワークスイッチ(NS)
401 事前分析ブロック(分析装置)
402 運用ブロック(分析装置)
403 ユーザリクエストデータベース(分析装置)
404 パス情報データベース(分析装置)
405 運用時ログ採取個所情報データベース(検知部,分析装置)
410 事前データ採取部
420 パス分析部
421 パス情報取得部
422 不定コンポーネント抽出部
423 再構成部
430 運用データ採取部
431 運用情報取得部
432 検知部
440 機能選別部
450 データスライス分割部
460 問題個所特定部(特定部)
F1,F2,F3,F4,Fi 機能(処理)
c1,c2,c3,c4,c5 コンポーネント(モジュール,メソッド,チェックポイント)

Claims (9)

  1. コンピュータが、複数の機能のそれぞれが使用する一以上のコンポーネントに係る情報を含む事前に取得される前記機能毎のパス情報と、運用時に取得される運用情報と、に基づき、前記一以上のコンポーネントの中から問題コンポーネントを問題個所として特定する分析方法であって、
    前記コンピュータは、
    前記複数の機能のうちの同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして事前に抽出し、
    前記運用時に前記不定コンポーネントが使用されたかを検知し、
    前記運用時に問題が生じた場合、前記パス情報と前記運用情報と前記不定コンポーネントの使用検知結果とに基づき、前記問題個所を特定する、分析方法。
  2. 前記コンピュータは、
    前記同一の機能についての異なるパス情報を前記同一の機能についての一つのパス情報に統合し、
    統合した前記一つのパス情報として、前記不定コンポーネントに係る情報を規定する、請求項1に記載の分析方法。
  3. 前記コンピュータは、
    前記同一の機能が常に使用するコンポーネントを決定コンポーネントとして認識し、
    統合した前記一つのパス情報として、前記決定コンポーネントに係る情報を規定する、請求項2に記載の分析方法。
  4. 前記コンピュータは、
    運用開始時に、前記複数の機能のそれぞれについて取得された前記パス情報において規定される前記不定コンポーネントを、使用検知対象として認識し、
    前記運用時に、前記使用検知対象として認識した前記不定コンポーネントが使用されたかを検知する、請求項2または請求項3に記載の分析方法。
  5. 前記コンピュータは、
    前記運用開始時に、前記使用検知対象として認識した前記不定コンポーネントが前記運用時に使用されると第1使用検知情報を出力する第1コードを、前記不定コンポーネントに対して追加し、
    前記第1使用検知情報を前記使用検知結果として用いる、請求項4に記載の分析方法。
  6. 前記コンピュータは、
    運用開始時に、前記パス情報を事前に取得する際に前記複数の機能がいずれも使用しなかった未使用コンポーネントに対して、前記未使用コンポーネントが前記運用時に使用されると第2使用検知情報を出力する第2コードを追加し、
    前記第2使用検知情報が出力された場合、前記パス情報を、前記未使用コンポーネントを含むように再構成する、請求項1〜請求項5のいずれか一項に記載の分析方法。
  7. 前記コンピュータは、
    前記機能毎のパス情報と当該パス情報に含まれる前記一以上のコンポーネントとの関係を分析し
    当該分析の結果、前記同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、前記不定コンポーネントとして抽出し、前記関係を運用ログとして蓄積する、請求項1〜請求項6のいずれか一項に記載の分析方法。
  8. 複数の機能のそれぞれが使用する一以上のコンポーネントに係る情報を含む前記機能毎のパス情報を、事前に取得するパス情報取得部と、
    前記複数の機能のうちの同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして事前に抽出する不定コンポーネント抽出部と、
    運用時に運用情報を取得する運用情報取得部と、
    前記運用時に前記不定コンポーネントが使用されたかを検知する検知部と、
    前記運用時に問題が生じた場合、前記パス情報と前記運用情報と前記不定コンポーネントの使用検知結果とに基づき、前記一以上のコンポーネントの中から問題コンポーネントを問題個所として特定する特定部と、を備えた、分析装置。
  9. 複数の機能のそれぞれが使用する一以上のコンポーネントに係る情報を含む事前に取得される前記機能毎のパス情報と、運用時に取得される運用情報と、に基づき、前記一以上のコンポーネントの中から問題コンポーネントを問題個所として特定するコンピュータに、
    前記複数の機能のうちの同一の機能が使用する場合と使用しない場合とがあるコンポーネントを、不定コンポーネントとして事前に抽出し、
    前記運用時に前記不定コンポーネントが使用されたかを検知し、
    前記運用時に問題が生じた場合、前記パス情報と前記運用情報と前記不定コンポーネントの使用検知結果とに基づき、前記問題個所を特定する、
    処理を実行させる、分析プログラム。
JP2016009937A 2016-01-21 2016-01-21 分析方法、分析装置、及び分析プログラム Active JP6601232B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016009937A JP6601232B2 (ja) 2016-01-21 2016-01-21 分析方法、分析装置、及び分析プログラム
US15/401,307 US10404563B2 (en) 2016-01-21 2017-01-09 Method for analysis, analyzer, and non-transitory computer-readable recording medium having stored therein analysis program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016009937A JP6601232B2 (ja) 2016-01-21 2016-01-21 分析方法、分析装置、及び分析プログラム

Publications (2)

Publication Number Publication Date
JP2017130105A JP2017130105A (ja) 2017-07-27
JP6601232B2 true JP6601232B2 (ja) 2019-11-06

Family

ID=59359286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016009937A Active JP6601232B2 (ja) 2016-01-21 2016-01-21 分析方法、分析装置、及び分析プログラム

Country Status (2)

Country Link
US (1) US10404563B2 (ja)
JP (1) JP6601232B2 (ja)

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3459481B2 (ja) 1994-11-17 2003-10-20 富士通株式会社 論理回路設計用パス解析表示装置
JP2000083057A (ja) 1998-09-07 2000-03-21 Toshiba Corp ネットワーク管理端末装置及び経路情報収集方法
US6785723B1 (en) * 2000-06-22 2004-08-31 International Business Machines Corporation Tracking the transmission of web documents or files sent from resource locations through servers on the web to client computer stations which send tracked transmission characteristics data back to said servers
US8199649B2 (en) * 2001-03-28 2012-06-12 Alcatel Lucent Method and apparatus for rerouting a connection in a data communication network based on a user connection monitoring function
CN1754352B (zh) * 2003-02-21 2011-09-21 日本电信电话株式会社 用于进行通信网络中的通道的故障救济的装置和方法
US7373415B1 (en) * 2003-07-31 2008-05-13 Yahoo! Inc. System and method for monitoring delivery of digital content, including streaming media
JP4209758B2 (ja) * 2003-11-20 2009-01-14 富士通株式会社 迂回通信経路設計方法
US7406032B2 (en) * 2005-01-06 2008-07-29 At&T Corporation Bandwidth management for MPLS fast rerouting
CN101069394B (zh) * 2005-12-05 2015-01-28 日本电信电话株式会社 故障补救方法和数据包通信装置
EP1981215B1 (en) * 2006-01-25 2013-01-09 Hitachi, Ltd. Network system
US8072879B2 (en) * 2006-02-03 2011-12-06 Cisco Technology, Inc. Technique for determining whether to reestablish fast rerouted primary tunnels based on backup tunnel path quality feedback
US8488444B2 (en) * 2007-07-03 2013-07-16 Cisco Technology, Inc. Fast remote failure notification
CN101471849B (zh) * 2007-12-29 2011-04-06 华为技术有限公司 一种分组传送网的保护方法
WO2010018755A1 (ja) * 2008-08-11 2010-02-18 株式会社日立製作所 トランスポート制御サーバ、ネットワークシステム及びトランスポート制御方法
US8422364B2 (en) * 2010-05-17 2013-04-16 Cisco Technology, Inc. Multicast label distribution protocol node protection
US8489676B1 (en) * 2010-06-30 2013-07-16 Symantec Corporation Technique for implementing seamless shortcuts in sharepoint
EP2652918B1 (en) * 2010-12-15 2016-03-09 Telefonaktiebolaget LM Ericsson (publ) Segment recovery in connection-oriented network
US9160652B2 (en) * 2012-08-31 2015-10-13 Cisco Technology, Inc. Fast reroute for bidirectional co-routed traffic engineering tunnels
EP2712099B1 (en) * 2012-09-19 2015-04-01 Alcatel Lucent Method for managing and maintaining an accurate distribution of time in a network when a failure occurs
US9197495B1 (en) * 2013-02-11 2015-11-24 Amazon Technologies, Inc. Determining locations of network failures
WO2014131429A1 (en) * 2013-02-26 2014-09-04 Telefonaktiebolaget L M Ericsson (Publ) Traffic recovery in openflow networks
US9444675B2 (en) * 2013-06-07 2016-09-13 Cisco Technology, Inc. Determining the operations performed along a service path/service chain
US9806979B1 (en) * 2013-12-19 2017-10-31 Amdocs Software Systems Limited System, method, and computer program for optimizing a chain of virtual network functions in a network based on network function virtualization (NFV)
WO2015090449A1 (en) * 2013-12-20 2015-06-25 Telefonaktiebolaget L M Ericsson (Publ) Method and network node for managing resource allocation in traffic restoration
DE102015201144A1 (de) * 2014-01-30 2015-07-30 Eci Telecom Ltd. Eine Methode zur Implementierung des Fast Reroutings (FRR)
US9565163B1 (en) * 2014-07-20 2017-02-07 Adva Optical Networking Se Verification of network service paths
US9992056B2 (en) * 2015-10-20 2018-06-05 Cisco Technology, Inc. Triggered in-band operations, administration, and maintenance in a network environment

Also Published As

Publication number Publication date
US10404563B2 (en) 2019-09-03
JP2017130105A (ja) 2017-07-27
US20170214594A1 (en) 2017-07-27

Similar Documents

Publication Publication Date Title
JP6264849B2 (ja) 分析方法、分析装置、及び分析プログラム
Nguyen et al. Automated detection of performance regressions using statistical process control techniques
US6694288B2 (en) System and method for automated analysis of load testing results
US7747986B2 (en) Generating static performance modeling factors in a deployed system
US20110047414A1 (en) Method and apparatus for cause analysis involving configuration changes
US8850435B2 (en) Detecting bottleneck condition based on frequency distribution of sampled counts of processing requests
US20090196186A1 (en) Root cause problem detection in network traffic information
AU2019275633B2 (en) System and method of automated fault correction in a network environment
US10733038B2 (en) Abnormal module detection using aggregated time interval analysis
CN110537170B (zh) 分析大规模数据处理作业的方法、系统以及计算机可读存储设备
US11429574B2 (en) Computer system diagnostic log chain
US10657028B2 (en) Method for replicating production behaviours in a development environment
US7484130B2 (en) Configuring an application monitor utilizing discovered structural information for an application under test
JP2007133870A (ja) コンピューティング・システムのオートノミック能力を測定するための方法、システム及びコンピュータ・プログラム
Meskas et al. flowCut: An R package for automated removal of outlier events and flagging of files based on time versus fluorescence analysis
US8261122B1 (en) Estimation of recovery time, validation of recoverability, and decision support using recovery metrics, targets, and objectives
JP6295801B2 (ja) 分析方法、分析装置、及び分析プログラム
JP6601232B2 (ja) 分析方法、分析装置、及び分析プログラム
CN110554949A (zh) 一种跨平台的进程数据收集分析工具、方法及使用方法
CN115391224A (zh) 一种流量回放方法、装置、计算机设备及可读存储介质
CN111143151A (zh) 业务监控方法、装置以及电子设备
CN115186001A (zh) 一种补丁处理方法和装置
CN113867998B (zh) 一种收集认证测试中故障瞬时日志的方法及系统
CN116467101A (zh) 座舱软件稳定性评估方法、装置、电子设备及存储介质
CN113282505A (zh) 软件测试进度分析方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190719

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190923

R150 Certificate of patent or registration of utility model

Ref document number: 6601232

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150