JP2010123022A - Request associating program, request associating method, and request associating device - Google Patents
Request associating program, request associating method, and request associating device Download PDFInfo
- Publication number
- JP2010123022A JP2010123022A JP2008297662A JP2008297662A JP2010123022A JP 2010123022 A JP2010123022 A JP 2010123022A JP 2008297662 A JP2008297662 A JP 2008297662A JP 2008297662 A JP2008297662 A JP 2008297662A JP 2010123022 A JP2010123022 A JP 2010123022A
- Authority
- JP
- Japan
- Prior art keywords
- request
- encrypted
- end time
- requests
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、暗号化されたリクエストを受け付けてクライアントからの要求を処理するシステムにおいて、ネットワークシステムの運用状態の把握や性能劣化の原因究明等を行うために複数のサーバ間で送受信されるリクエストからトランザクション処理を分析してリクエスト間の呼出関係の対応付けを行うリクエスト対応付けプログラム、リクエスト対応付け方法およびリクエスト対応付け装置に関するものである。 In a system that accepts an encrypted request and processes a request from a client, the present invention is based on a request that is transmitted / received between a plurality of servers in order to grasp the operation state of a network system and investigate the cause of performance degradation. The present invention relates to a request associating program, a request associating method, and a request associating device for analyzing transaction processing and associating call relationships between requests.
オンラインバンキングシステムに見られるような入出金処理や残高照会は、機能の異なる複数のサーバ間でリクエストを送り合ってクライアントからの要求を処理するシステムアーキテクチャが用いられている。そのようなシステムとして、例えば図19に示すようなWebサーバ/App(アプリケーション)サーバ/DB(データベース)サーバにより構成されるWEB3階層システムが一般的に知られている。Webサーバはクライアントからのリクエストに基づいてAppサーバを呼び出し、呼び出しを受けたAppサーバは更にDBサーバにアクセスして例えば上記に示した処理を行う。即ち、システムの外部から受け付けたリクエストはその処理を行うため子のリクエストが呼び出され、さらにその子のリクエストを処理するために孫のリクエストが呼び出され、処理が行われる(このようなリクエストの集合がトランザクションである)。 The deposit / withdrawal processing and balance inquiry as seen in the online banking system uses a system architecture that processes requests from clients by sending requests between servers having different functions. As such a system, for example, a WEB three-tier system composed of a Web server / App (application) server / DB (database) server as shown in FIG. 19 is generally known. The Web server calls the App server based on the request from the client, and the App server that has received the call further accesses the DB server and performs the processing described above, for example. In other words, a request received from outside the system is processed by a child request to process the request, and a grandchild request is further processed to process the child request. Transaction).
このようなシステムにおいて、レスポンスの低下やシステム障害はサービスの低下に繋がることから性能劣化や障害の原因を究明することが必要である。そのためシステム全体で送受信されるリクエストからリクエストの呼出関係を調べ、それらのリクエストがどのような処理を行うものであるかを種別して分析することが行われる。分析のツールとしてシステム可視化分析ソフトウェアが存在し、そのソフトウェアでは階層化されたサーバ間で送受信されるリクエストをもとにトランザクションを組み立て、組み立てたトランザクションをもとに分析を行うことが知られている(特許文献1)。 In such a system, it is necessary to investigate the cause of performance degradation and failure because a response drop or system failure leads to a service drop. For this reason, the call relationship between requests is checked from the requests transmitted and received in the entire system, and the type of processing performed by those requests is analyzed. System visualization analysis software exists as an analysis tool, and it is known that the software assembles transactions based on requests sent and received between layered servers, and performs analysis based on the assembled transactions. (Patent Document 1).
従来は、このトランザクションの組み立てにリクエストとして送受信されている電文中の部分文字列(URL(Uniform Resource Locator)等のリクエストの一部)を用いて種別分けし、トランザクションを組み立てることが行われていた(特許文献2)。このとき、HTTP(Hyper Text Transfer Protocol)の通信を例に挙げれば、使える文字列としては処理されるCGI(Common Gateway Interface)のURLや、CGIに渡されるオプションのパラメタがある。従来技術ではこれらURLやCGIパラメタの文字列に基づいてリクエスト間の呼出関係を求め、予め定めた種別規定を参照してリクエストの種別分けしている。 Conventionally, in order to assemble this transaction, the transaction is assembled by classifying using a partial character string (part of a request such as URL (Uniform Resource Locator)) in a message sent and received as a request. (Patent Document 2). At this time, taking HTTP (Hyper Text Transfer Protocol) communication as an example, usable character strings include the URL of a CGI (Common Gateway Interface) to be processed and optional parameters passed to the CGI. In the prior art, the calling relationship between requests is obtained based on the URL and the character string of the CGI parameter, and the types of requests are classified by referring to a predetermined type rule.
上記の種別分けを図を用いて説明する。図20はHTTP通信におけるURLとパラメタの例を示し、図21にWEB3階層システムにおけるサーバ間で受け渡される上記のパラメタの例を示している。図21において、Webサーバはクライアントから受け取ったリクエストを解析してパラメタを含む新たなリクエストを生成してAppサーバを呼び出しパラメタを含む情報を渡している。Webサーバからのリクエストに基づいて、Appサーバは受け取ったリクエストを解析してパラメタを含むリクエストを生成し、DBサーバを呼び出しリクエストを渡す。DBサーバはリクエストに基づいて例えばデータベースにアクセスし、必要な処理をして処理結果をAppサーバにレスポンスする。レスポンスの情報は更にWEBサーバを介してクライアント(図21のClient、正確にはクライアントのWebブラウザ)に渡される。Webサーバ、AppサーバおよびDBサーバで受け渡しされるリクエストの呼出関係は、例えば図21に示すパラメタの文字列を基に関係付けられ、関係付けられたリクエストの集合と予め定めた種別規定(処理形態で定まるリクエストの呼出関係パターン)と比較することにより関係付けられたリクエストの集合はどのような処理を行ったものであるかを種別分けすることができる。
しかし、従来手法ではサーバ間での通信が暗号化されている場合には種別分けに必要となる電文中の文字列が解読できなくなるため、暗号化された通信を含むトランザクションを扱えないという問題がある。特に対外アクセスにも使用されているHTTPS通信では安全性を高めるために暗号化されており(CGIのURLとオプションパラメタの総てが暗号化される)、従来技術のように電文の部分文字列を使用してリクエストの呼出関係を調べて種別分けする手法が使用できない。 However, in the conventional method, when communication between servers is encrypted, the character string in the message required for classification cannot be decrypted, so there is a problem that transactions including encrypted communication cannot be handled. is there. In particular, HTTPS communication, which is also used for external access, is encrypted to enhance security (all CGI URLs and optional parameters are encrypted). It is not possible to use the method of classifying the request by examining the call relationship of requests.
図22は、暗号化されたリクエストを受け付けた場合の例を図21に対比させて描いたものである。図22に示されるようにWebサーバはクライアントから暗号化されたリクエストを受け付けると、下位階層のAppサーバに対して暗号化されたリクエストを平文化してリクエストを送信する。従って、Appサーバ以下においては従来手法によっては可能である。しかしながら、Appサーバ以下で呼出関係の対応付けしたリクエストとWebサーバが受け付けた暗号化されたリクエストとの呼出関係の対応付けは従来手法では困難である。 FIG. 22 illustrates an example in which an encrypted request is received in comparison with FIG. As shown in FIG. 22, when the Web server receives the encrypted request from the client, the Web server transmits the request to the lower-level App server by plainly transmitting the encrypted request. Therefore, below the App server, it is possible depending on the conventional method. However, it is difficult for the conventional method to associate the call relationship between the request associated with the call relationship below the App server and the encrypted request received by the Web server.
そこで、本発明では、HTTPS通信等によりリクエストの電文解読ができない(URLもパラメタも取得できない)場合において、各階層のサーバにおけるリクエストの呼出関係を求め、階層を跨ぐリクエスト間の対応付けを行うことを課題とする。 Therefore, in the present invention, when a request message cannot be decrypted by HTTPS communication or the like (a URL and a parameter cannot be acquired), a request calling relationship in a server in each layer is obtained, and a request is correlated between layers. Is an issue.
本発明のリクエスト対応付けプログラムは、暗号化されたリクエストを受け付けた最上階層のサーバが暗号化されたリクエストを平文化して次階層以下のサーバと平文化されたリクエストを送受信して処理を行うシステムにおいて、送受信されるリクエストの呼出関係を対応付けるリクエスト対応付けプログラムであり、次に示すリクエスト取得手順、サブモデルリスト作成手順、暗号化リクエストリスト作成手順および呼出関係確定手順をコンピュータに実行させることを特徴とするものである。 In the request association program of the present invention, the server at the highest layer that has received the encrypted request flattenes the encrypted request, and transmits / receives the plaintized request to / from the server below the next layer. In the system, a request association program for associating a call relationship between transmitted and received requests, causing a computer to execute the following request acquisition procedure, submodel list creation procedure, encrypted request list creation procedure, and call relationship determination procedure It is a feature.
リクエスト取得手順は、システムを構成する各階層のサーバで送受信されるリクエストとそのリクエストの開始/終了時間とを含む情報をキャプチャし、その情報をリクエストログとして記憶。 The request acquisition procedure captures information including requests sent and received by servers at each layer constituting the system and the start / end times of the requests, and stores the information as a request log.
サブモデルリスト作成手順は、リクエストログから次階層以下のサーバ間で送受信される平文化されたリクエストを抽出し、リクエストの文字列を基に階層に跨がるリクエスト間の呼出関係の集合を求めてサブモデルを作成し、サブモデルとそのサブモデルの開始/終了時間とをサブモデルリストとして記憶する。 The submodel list creation procedure extracts a plain request sent and received between servers below the request log from the request log, and obtains a set of call relations between requests across the hierarchy based on the request character string. The submodel is created, and the submodel and the start / end time of the submodel are stored as a submodel list.
暗号化リクエストリスト作成手順は、リクエストログから暗号化されたリクエストとそのリクエストの開始/終了時間とを抽出し、暗号化リクエストリストとして記憶する。 In the encryption request list creation procedure, the encrypted request and the start / end time of the request are extracted from the request log and stored as an encryption request list.
呼出関係確定手順は、サブモデルリストに記憶しているサブモデルの開始/終了時間と暗号化リクエストリストに記憶している暗号化されたリクエストの開始/終了時間とを基に、サブモデルと暗号化されたリクエストとの呼出関係を確定する。 The call relationship determination procedure is based on the submodel and encryption based on the start / end time of the submodel stored in the submodel list and the start / end time of the encrypted request stored in the encryption request list. Determine the calling relationship with the request that has been changed.
暗号化されたリクエストとそのリクエストに基づいて作成されたリクエストの集合(即ち、上記のサブモデル)とのそれぞれの開始/終了時間を比較することで呼出関係を容易に対応付けることができ、暗号化された通信であってもネットワークシステムの分析が可能となる。 By comparing the start / end times of the encrypted request and the set of requests created based on the request (ie, the above sub-model), the calling relationship can be easily associated with the encryption request. Even if the communication is performed, the network system can be analyzed.
本発明のリクエスト対応付けプログラム、リクエスト対応付け方法およびリクエスト対応付け装置についてWEB3階層システムを例にとり図1〜図18を用いて説明する。 The request association program, request association method, and request association apparatus of the present invention will be described with reference to FIGS.
まず本発明に係わる全体の構成例を図1を用いて説明する。図1において、WEB3階層システム10はWebサーバ11、Appサーバ12、DBサーバ13から成り、Webサーバ11はネットワーク20に接続している。クライアントが所有するクライアント端末30−33もネットワーク20と接続しており、クライアントはネットワーク20を介してWEB3階層システム10のWebサーバ11にリクエストを行い、サービスの提供を受けることができる。
First, an overall configuration example according to the present invention will be described with reference to FIG. In FIG. 1, the WEB three-
ポートミラーリング40は、WEB3階層システム10の各サーバで送受信されるリクエストをキャプチャし、可視化システム50の可視化サーバ100はシステム可視化ソフトウェアを搭載してポートミラーリング40がキャプチャしたリクエスト情報を取得する。可視化クライアント端末101は、可視化サーバ100がリクエスト情報を基に可視化した情報を表示する。
The
次に、図2を用いて可視化システム50の構成を説明する。可視化システム50は図1に示すように可視化サーバ100と可視化クライアント端末101とで構成し、可視化サーバ100は全体を制御するCPU(Central Processing Unit)110、リクエスト対応付けプログラム130を実行する主メモリ120、可視化クライアント端末101に対する入出力を制御する入出力制御部140、ポートミラーリング40から取得したリクエスト情報を記憶するリクエストログ記憶部150、リクエスト対応付けプログラム130を実行する上で作成されるリスト等の情報(詳細は後述する)を記憶するList/Map記憶部160、およびポートミラーリング40との通信を制御する通信制御部170から成る。
Next, the configuration of the
ここでは、本発明に必要な構成要素のみを示している。また、システム可視化分析ソフトウェアはリクエスト対応付けプログラム130がシステム可視化分析ソフトウェアを構成する1プログラムとして示している。なお、リクエスト対応付け装置は図2に示される可視化サーバ100に相当する。
Here, only the components necessary for the present invention are shown. Further, the system visualization analysis software is shown as one program in which the
次に、リクエスト対応付け方法について図3−図10を用いて説明する。図3はポートミラーリング40を介してリクエストログ記憶部150に記録したリクエストログのリクエストを各サーバの階層毎に示したものである。縦軸はクライアントをベースとして各サーバの階層(Web、App、DB)を示し、横軸は時間の推移を示す。図に示されるように、Webサーバの階層を示すWebではhttps1とhttps2のリクエストが記録され、Appの階層ではiiop1とiiop2が、DBの階層ではdb1とdb2がリクエストとして記録された例である。https1とhttps2とは暗号化されており、iiop1、iiop2、db1およびdb2のリクエストは平文化されている。リクエストログに記録されたログは、ポートミラーリング40が時系列に収集したリクエストを単に記録したもので、各階層を跨ぐリクエスト間の呼出関係は判っていない。
Next, the request association method will be described with reference to FIGS. FIG. 3 shows a request log request recorded in the request
このリクエストログを基に、平文化されているリクエストについて従来手法により図4に示す呼出関係の対応付けを行う。即ち、リクエストiiop1、iiop2とリクエストdb1、db2の電文を構成する部分文字列を基に親子関係、即ち呼出関係を構築する。図4の円で囲んだリクエスト(iiop1とdb1、およびiiop2とdb2)が呼出関係にあるリクエストの集合ということになる。なお、https1およびhttps2は暗号化されているため、従来手法によって呼出関係の対応付けはできない。 Based on this request log, the call relationship shown in FIG. That is, a parent-child relationship, that is, a calling relationship is constructed based on the partial character strings constituting the messages of the requests iiop1 and iiop2 and the requests db1 and db2. The requests (iiop1 and db1, and ioop2 and db2) enclosed in a circle in FIG. 4 are a set of requests having a calling relationship. In addition, since https1 and https2 are encrypted, it is not possible to associate the call relationship by the conventional method.
図4に示される対応付けがなされたリクエストの組み合わせ(リクエストの集合)に対してIDを付与し1つのサブモデルとして扱う。図5は対応付けがなされたリクエストの組み合わせをサブモデルとして置き換えた状態を示す。この状態から、このサブモデルに対する親となる暗号化されたHTTPSを探し、対応付けを行うことになる。 An ID is assigned to a request combination (a set of requests) associated with each other as shown in FIG. FIG. 5 shows a state in which the associated request combinations are replaced as submodels. From this state, the encrypted HTTPS serving as a parent for this sub-model is searched for and associated.
サブモデルに対応するHTTPSを探すために、サブモデルの開始/終了時間とHTTPSの開始/終了時間を対比し、サブモデルの開始/終了時間がHTTPSの開始/終了時間に内在するかどうかを調べる。図6に示す図の横軸は時間軸を示しており、サブモデルsub1はhttps1とhttps2の両リクエストの開始/終了時間内にあり、サブモデルsub2はhttps2のみ開始/終了時間内にあることが判る(図6のサブモデルの開始と終了の時間を点線で示しており、その時間がHTTPSの処理時間内にあるかどうかを見ている)。このとき、サブモデルsub1はhttps1とhttps2との2つのリクエストに関係しているので、それぞれのリクエスト(https1とhttps2)に50%の確率で呼出関係にあると言える。また、sub2はhttps2に100%の確率で呼出関係にあると言える。従って、sub2とhttps2とは呼出関係にあると確定する(サブモデルとリクエストのHTTPSとが呼出関係が確定した組み合わせをここでは確定モデルと言うことにする)。このため、サブモデルsub1とhttps1、またはsub1とhttps2の組み合わせの内のsub1とhttps2はあり得ないことになる。図7はsub2とhttps2が確定モデルとして決定され、それに伴ってsub1とhttps2の組み合わせは消去されたことを示している。 In order to find the HTTPS corresponding to the sub model, the start / end time of the sub model is compared with the start / end time of the HTTPS to check whether the start / end time of the sub model is inherent in the start / end time of the HTTPS. . The horizontal axis of the diagram shown in FIG. 6 indicates the time axis. The submodel sub1 may be within the start / end times of both https1 and https2, and the submodel sub2 may be within the start / end time of only https2. It can be seen (the start time and end time of the sub model in FIG. 6 are indicated by dotted lines, and it is checked whether or not the time is within the processing time of HTTPS). At this time, since the submodel sub1 is related to two requests, https1 and https2, it can be said that each request (https1 and https2) has a calling relationship with a probability of 50%. Moreover, it can be said that sub2 has a calling relationship with https2 at a probability of 100%. Therefore, it is determined that sub2 and https2 are in a call relationship (the combination in which the call relationship between the sub model and the request HTTPS is fixed is referred to as a fixed model here). For this reason, sub1 and https2 in the combination of submodels sub1 and https1, or sub1 and https2 cannot exist. FIG. 7 shows that sub2 and https2 are determined as the definite models, and accordingly, the combination of sub1 and https2 is deleted.
組み合わせが決まったサブモデルおよびHTTPSが除かれ、残ったサブモデルとHTTPSでサブモデルの開始/終了時間がHTTPSの開始/終了時間内にある確率を再計算する。図8は、図7でsub2とhttps2とが呼出関係にある確定モデルとして除かれ、sub1とhttps1とが残って呼出関係の確率を求めている状態を示している。sub1の開始/終了時間はhttps1の開始/終了時間内にあり、他のHTTPSは存在しないので確率100%となって、sub1とhttps1とは呼出関係にあると確定する(図9)。 The submodel and HTTPS whose combination is determined are removed, and the probability that the start / end time of the submodel is within the start / end time of HTTPS with the remaining submodel and HTTPS is recalculated. FIG. 8 shows a state in which sub2 and https2 are removed as a definite model in a call relationship in FIG. 7 and sub1 and https1 remain and the probability of the call relationship is obtained. The start / end time of sub1 is within the start / end time of https1, and since there is no other HTTPS, the probability is 100%, and it is determined that sub1 and https1 are in a calling relationship (FIG. 9).
図10は、最終的に認識された2つの確定モデルを示している(サブモデルをApp、DBの各階層に展開した状態で示している)。即ち、https1−iiop1−db1とhttps2−iiop2−db2はそれぞれ呼出関係にある。 FIG. 10 shows two finally recognized models (shown in a state where the submodel is expanded in each layer of App and DB). In other words, https1-ioop1-db1 and https2-ioop2-db2 are in a call relationship.
以上、本発明の各階層におけるリクエストの呼出関係の対応付け方法を説明した。次に、このことをコンピュータ(図2に示す可視化サーバ100)が処理する場合について処理フローとデータ例とを用いて説明する。図11−図14は処理フローを、図15−図18はデータ例を示すものである。
In the foregoing, the method for associating request calling relationships in each layer of the present invention has been described. Next, the case where this is processed by the computer (the
まず、図11は全体の処理フローを示し、ステップS100(以降、単にS100と記す)においてポートミラーリング40がキャプチャした各サーバのリクエストを取得し、リクエストログとしてリクエストログ記憶部150に記憶する。リクエストログのデータ例を図15に示す。図に示すように各サーバから時系列に取得したリクエストがそのリクエストの開始時間と終了時間を含んで記憶される。例えば、1行目のhttps1はWebサーバから取得した暗号化されたリクエストで、Webサーバがhttps1を受け付け処理を開始時間した時間(時刻)はh1−sで、処理を終了して例えばクライアントに処理結果を送信した時間はh1−eである。
First, FIG. 11 shows the overall processing flow. In step S100 (hereinafter, simply referred to as S100), the request of each server captured by the port mirroring 40 is acquired and stored in the request
このリクエストログからAppとDBの階層のリクエストであるiiopとdbとを抽出する(S101)。抽出したリクエストiiopとリクエストdbの呼出関係(即ち、親子関係にある)を従来技術を用いて求め、この組み合わせをサブモデルとする。このサブモデルにはIDを付与して開始時間と終了時間と共にsubmodelList161に登録する。サブモデルとしての開始と終了時間は、リクエストiiopの開始と終了時間ということになる(S102)。
From this request log, ioop and db which are requests of the App and DB layers are extracted (S101). The call relationship (that is, parent-child relationship) between the extracted request ioop and request db is obtained using conventional technology, and this combination is used as a submodel. An ID is assigned to this submodel and registered in the
続いて、リクエストログからWebの階層のHTTPSのリクエストを抽出し、開始と終了時間と共にhttpsList162に登録する(S103)。
Subsequently, an HTTPS request in the Web layer is extracted from the request log and registered in the
submodelList161とhttpsList162のデータ例を図16に示す。図16(a)はsubmodelList161のデータ例で、例えば、1行目のsub1は開始と終了時間はそれぞれs1−sとs1−eで、リクエストiiop1とdb1とから構成することを示している。また、図16(b)はhttpsList162の例で、例えば、1行目のhttps1は開始と終了時間はそれぞれh1−sとh1−eであることを示している。
A data example of the
submodelList161とhttpsList162のそれぞれに登録されている数(エントリ数)が「1」以上であれば「サブモデル/HTTPSマップ作成ルーチン」に入り、続いて「呼出関係確率算出ルーチン」、「確定モデル決定ルーチン」を経てリクエストであるhttps、iiop、dbの呼出関係の対応付けが決定される(S105−S107)。
If the numbers (number of entries) registered in each of the
次に、「サブモデル/HTTPSマップ作成ルーチン」について図12を用いて説明する。先のS102で作成したsubmodelList161からサブモデルを1つ取得する。続いて、S103で作成したhttpsList162からHTTPSを1つ取得する(S200、S201)。
Next, the “submodel / HTTPS map creation routine” will be described with reference to FIG. One submodel is acquired from the
取得したサブモデルの開始/終了時間とHTTPSの開始/終了時間を比較し、
「HTTPSの開始時間<サブモデルの開始時間」
且つ、
「HTTPSの終了時間>サブモデルの終了時間」
を満足する場合に、サブモデルとHTTPSのリクエストの組み合わせをsub2httpsMap163に登録する。即ち、サブモデルが処理した時間はHTTPSの処理した時間内にあるかどうかを判定し、時間内であれば呼出関係にある候補と見なしてsub2httpsMap163に登録している(S202、S203)。
Compare the start / end time of the acquired submodel with the start / end time of HTTPS,
"Start time of HTTPS <sub model start time"
and,
"End time of HTTPS> End time of sub model"
When the above condition is satisfied, the combination of the sub model and the HTTPS request is registered in sub2httpsMap163. That is, it is determined whether or not the time processed by the submodel is within the time processed by HTTPS, and if it is within the time, it is regarded as a candidate having a calling relationship and registered in the sub2httpsMap 163 (S202, S203).
sub2httpsMap163の登録が終わると、httpsList162から次のHTTPSを1つ取り出し、先のサブモデル(sub2httpsMap163に登録したサブモデル)と今回取り出したHTTPSとの開始/終了時間をS202に示す比較を行う。これを、httpsList162に登録された総てのHTTPSに対して行う。従って、1つのサブモデルに対して複数のHTTPSとの組み合わせが登録される場合がある。
When registration of sub2httpsMap163 ends, one next HTTPS is extracted from httpsList162, and the start / end times of the previous submodel (submodel registered in sub2httpsMap163) and the currently extracted HTTPS are compared in S202. This is performed for all HTTPS registered in the
S200で取り出した1つのサブモデルと登録された総てのHTTPSとの開始/終了時間の比較が終わったら、submodelList161から次のサブモデルを取り出し、同様の処理(S201−S204)を行う。submodelList161に登録された総てのサブモデルに対して上記の処理を行うと「サブモデル/HTTPSマップ作成ルーチン」は終了となる(S204、S205)。
When the start / end times of one submodel extracted in S200 and all registered HTTPS are compared, the next submodel is extracted from the
「サブモデル/HTTPSマップ作成ルーチン」では、リクエスト間で呼出関係にあると考えられるサブモデルとHTTPSの組み合わせをsub2httpsMap163にリストアップした。「呼出関係確率算出ルーチン」ではこのsub2httpsMap163を用いて、リストアップされたサブモデルのHTTPSに対する呼出関係の確率を求めることを行う。
In the “submodel / HTTPS map creation routine”, combinations of submodels and HTTPS considered to be in a call relationship between requests are listed in sub2httpsMap163. In the “call relationship probability calculation routine”, the
図13は、「呼出関係確率算出ルーチン」の処理フローを示し、まずS300でsub2httpsMap163に含まれるサブモデルから、異なるサブモデル名のサブモデルを抽出し、subList164に登録する。例えば、sub2httpsMap163にn個のサブモデルが登録されており、その内異なるサブモデル名のサブモデルがm個(当然ながらm<=nである)あるとしたら、このm個のサブモデルが抽出されsubList164に登録されることになる。
FIG. 13 shows the processing flow of the “call relationship probability calculation routine”. First, in S300, submodels having different submodel names are extracted from the submodels included in sub2httpsMap163 and registered in subList164. For example, if there are n submodels registered in sub2httpsMap163, and there are m submodels with different submodel names (of course, m <= n), these m submodels are extracted. It is registered in the
次に、subList164から1つのサブモデルを取り出し、sub2httpsMap163にある同一名のサブモデルの個数を計測する。計測した個数を「count」とすると、「100÷count」を確率として求め、sub2httpsMap163の該当するサブモデル名の確率フィールドに記録する(データ例を後述するが、sub2httpsMap163はサブモデル名をキーとして組み合わせ候補であるHTTPS名および確率のフィールドを備えているものとする)。sub2httpsMap163に例えばsub1のサブモデルが1個登録されていたとすれば、確率は「100%」となり、2個登録されていたとすれば確率は「50%」となる。2個登録の場合には、sub2httpsMap163の2カ所のsub1の確率フィールドに「50%」を記録することになる(S301−S303)。
Next, one submodel is extracted from the
subList164のサブモデルの総てに対して確率を求め、sub2httpsMap163に記録したら終了となる(S304)。
When the probabilities are obtained for all the sub models of the
図17にsub2httpsMap163とsubList164のデータ例を示す。図17(a)は、sub2httpsMap163のデータ例を示し、サブモデル名、HTTPS名および確率の各フィールドで構成する。例えば、1行目のサブモデル名sub1はhttps1と呼出関係にあると考えられ、その確率は50%であることを示している。図17(b)はsubList164を示し、sub2httpsMap163にエントリされたサブモデルをリストアップしたものである。
FIG. 17 shows a data example of sub2httpsMap163 and subList164. FIG. 17A shows a data example of sub2httpsMap163, which is composed of sub model name, HTTPS name, and probability fields. For example, the sub model name sub1 in the first line is considered to have a calling relationship with https1, and the probability is 50%. FIG. 17B shows the
次に「確定モデル決定ルーチン」について図14を用いて説明する。S400において、sub2httpsMap163から確率が最大を示すサブモデルとHTTPSの組み合わせを抽出し、maxposMap165に記録する。確率が最大を示す組み合わせは1つ以上ありこれらをmaxposMap165に記録することになる(S400)。 Next, the “determined model determination routine” will be described with reference to FIG. In S <b> 400, a combination of a sub model showing the maximum probability and HTTPS is extracted from sub2httpsMap163 and recorded in maxposMap165. There are one or more combinations having the maximum probability, and these are recorded in maxposMap 165 (S400).
続いて、maxposMap165に記録されたそれぞれのサブモデルについて、開始時間の最も早い組み合わせのエントリ以外を削除(これはサブモデルがHTTPSから呼び出されたと思われる順に処理を行うものである)し、そして残ったmaxposMap165のエントリに対してHTTPSのsub2httpsMap163での出現回数が最小となるエントリ以外を削除する。これはサブモデルを呼び出すようなHTTPS通信は、呼び出し後はすぐに帰った結果を処理(画面に出力)する(=処理時間がサブモデルの処理時間と大きくは違わない)という考えによるものである。多数のサブモデルを含んでいるHTTPS通信は着目しているサブモデルの親ではない可能性が高いので、この時点では着目しているサブモデルの親となりうるHTTPS通信は複数存在し得る。更に、残ったmaxposMap165のエントリに対してサブモデルとHTTPSの処理時間(開始から終了までの時間)の差が最小となるエントリ以外を削除する(S401−S403)。
Subsequently, for each submodel recorded in
上記のS401からS402の処理により、maxposMap165には1組のエントリが残ることなり、この組み合わせを確定モデルに決定する。確定モデルをmodelList166に記憶する(S404)。
As a result of the processing from S401 to S402, one set of entries remains in
sub2httpsMap163から、確定モデルとなったサブモデルとHTTPSを含む組み合わせのエントリを削除する。そして、sub2httpsMap163のエントリが「0」でなければ、S400に戻り次の確定モデルを決定する。sub2httpsMap163のエントリが「0」となった時点で終了となる。 From sub2httpsMap163, the entry of the combination including the sub model that has become the definite model and HTTPS is deleted. If the entry of sub2httpsMap163 is not “0”, the process returns to S400 to determine the next confirmed model. The process ends when the entry of sub2httpsMap163 becomes “0”.
modelList166に記憶されたサブモデルとHTTPSのリクエストの組み合わせが呼出関係にある。なお、サブモデルはsubmodellist161からサブモデルを構成するリクエストに展開でき、各階層に跨がるリクエスト間の対応付けができたことになる。
A combination of the sub model stored in the
10 WEB3階層
11 Webサーバ
12 Appサーバ
13 DBサーバ
20 ネットワーク
30 クライアント端末
31 クライアント端末
32 クライアント端末
33 クライアント端末
40 ポートミラーリング
50 可視化システム
100 可視化サーバ
101 可視化クライアント端末
110 CPU
120 主メモリ
130 リクエスト対応付けプログラム
131 リクエスト取得部
132 サブモデルリスト作成部
133 HTTPSリクエスト作成部
134 呼出関係確定部
140 入出力制御部
150 リクエストログ記憶部
160 List/Map記憶部
161 submodel
162 httpsList
163 sub2httpsMap
164 subList
165 maxposMap
166 modelList
170 通信制御部
DESCRIPTION OF
DESCRIPTION OF
162 httpsList
163 sub2httpsMap
164 subList
165 maxposMap
166 modelList
170 Communication control unit
Claims (5)
前記システムを構成する各階層のサーバで送受信されるリクエストと該リクエストの開始/終了時間とを含む情報をキャプチャし、該情報をリクエストログとして記憶するリクエスト取得手順と、
前記リクエストログから次階層以下のサーバ間で送受信される前記平文化されたリクエストを抽出し、該リクエストの文字列を基に階層に跨がるリクエスト間の呼出関係の集合を求めてサブモデルを作成し、該サブモデルと該サブモデルの開始/終了時間とをサブモデルリストとして記憶するサブモデルリスト作成手順と、
前記リクエストログから前記暗号化されたリクエストと該リクエストの開始/終了時間とを抽出し、暗号化リクエストリストとして記憶する暗号化リクエストリスト作成手順と、
前記サブモデルリストに記憶しているサブモデルの開始/終了時間と前記暗号化リクエストリストに記憶している暗号化されたリクエストの開始/終了時間とを基に、該サブモデルと該暗号化されたリクエストとの呼出関係を確定する呼出関係確定手順と
をコンピュータに実行させることを特徴とするリクエスト対応付けプログラム。 Requests sent / received in a system in which a server at the highest level that has received an encrypted request transmits the encrypted request and transmits / receives the encrypted request to / from a server below the next layer. A request mapping program for correlating the call relations of
A request acquisition procedure for capturing information including a request transmitted / received by a server of each layer constituting the system and a start / end time of the request, and storing the information as a request log;
Extract the plain requests sent and received between servers below the next layer from the request log, and obtain a sub-model by obtaining a set of call relationships between requests across layers based on the character strings of the requests. Creating a sub model list for storing the sub model and the start / end time of the sub model as a sub model list;
An encrypted request list creating procedure for extracting the encrypted request and the start / end time of the request from the request log and storing the request as an encrypted request list;
Based on the start / end time of the sub model stored in the sub model list and the start / end time of the encrypted request stored in the encryption request list, the sub model is encrypted. A request association program for causing a computer to execute a call relationship determination procedure for determining a call relationship with a received request.
ことを特徴とする請求項1に記載のリクエスト対応付けプログラム。 The calling relationship determination procedure examines the number of the encrypted requests whose start / end times of each of the submodels are within the start / end times of the encryption request list, and determines the submodel having the smallest number The request associating program according to claim 1, wherein it is determined that the encrypted request having the start / end time of the sub-model has a calling relationship.
ことを特徴とする請求項1または請求項2に記載のリクエスト対応付けプログラム。 The request association program according to claim 1 or 2, wherein the encrypted request is a request by HTTPS communication.
前記システムを構成する各階層のサーバで送受信されるリクエストと該リクエストの開始/終了時間とを含む情報をキャプチャし、該情報をリクエストログとして記憶するリクエスト取得手順と、
前記リクエストログから次階層以下のサーバ間で送受信される前記平文化されたリクエストを抽出し、該リクエストの文字列を基に階層に跨がるリクエスト間の呼出関係の集合を求めてサブモデルを作成し、該サブモデルと該サブモデルの開始/終了時間とをサブモデルリストとして記憶するサブモデルリスト作成手順と、
前記リクエストログから前記暗号化されたリクエストと該リクエストの開始/終了時間とを抽出し、暗号化リクエストリストとして記憶する暗号化リクエストリスト作成手順と、
前記サブモデルリストに記憶しているサブモデルの開始/終了時間と前記暗号化リクエストリストに記憶している暗号化されたリクエストの開始/終了時間とを基に、該サブモデルと該暗号化されたリクエストとの呼出関係を確定する呼出関係確定手順と
を有することを特徴とするリクエスト対応付け方法。 Requests sent / received in a system in which a server at the highest level that has received an encrypted request transmits the encrypted request and transmits / receives the encrypted request to / from a server below the next layer. A request mapping method for associating call relationships of
A request acquisition procedure for capturing information including a request transmitted / received by a server of each layer constituting the system and a start / end time of the request, and storing the information as a request log;
Extract the plain requests sent and received between servers below the next layer from the request log, and obtain a sub-model by obtaining a set of call relationships between requests across layers based on the character strings of the requests. Creating a sub model list for storing the sub model and the start / end time of the sub model as a sub model list;
An encrypted request list creating procedure for extracting the encrypted request and the start / end time of the request from the request log and storing the request as an encrypted request list;
Based on the start / end time of the sub model stored in the sub model list and the start / end time of the encrypted request stored in the encryption request list, the sub model is encrypted. A call relationship determination procedure for determining a call relationship with the received request.
前記システムを構成する各階層のサーバで送受信されるリクエストと該リクエストの開始/終了時間とを含む情報をキャプチャし、該情報をリクエストログとして記憶するリクエスト取得手段と、
前記リクエストログから次階層以下のサーバ間で送受信される前記平文化されたリクエストを抽出し、該リクエストの文字列を基に階層に跨がるリクエスト間の呼出関係の集合を求めてサブモデルを作成し、該サブモデルと該サブモデルの開始/終了時間とをサブモデルリストとして記憶するサブモデルリスト作成手段と、
前記リクエストログから前記暗号化されたリクエストと該リクエストの開始/終了時間とを抽出し、暗号化リクエストリストとして記憶する暗号化リクエストリスト作成手段と、
前記サブモデルリストに記憶しているサブモデルの開始/終了時間と前記暗号化リクエストリストに記憶している暗号化されたリクエストの開始/終了時間とを基に、該サブモデルと該暗号化されたリクエストとの呼出関係を確定する呼出関係確定手段と
を有することを特徴とするリクエスト対応付け装置。
Requests sent / received in a system in which a server at the highest level that has received an encrypted request transmits the encrypted request and transmits / receives the encrypted request to / from a server below the next layer. A request associating device for associating the call relations of
Request acquisition means for capturing information including a request transmitted and received by a server of each layer constituting the system and a start / end time of the request, and storing the information as a request log;
Extract the plain requests sent and received between servers below the next layer from the request log, and obtain a sub-model by obtaining a set of call relationships between requests across layers based on the character strings of the requests. Sub model list creating means for creating and storing the sub model and the start / end time of the sub model as a sub model list;
An encrypted request list creating means for extracting the encrypted request and the start / end time of the request from the request log and storing the request as an encrypted request list;
Based on the start / end time of the sub model stored in the sub model list and the start / end time of the encrypted request stored in the encryption request list, the sub model is encrypted. A request association unit for determining a call relationship with the requested request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008297662A JP2010123022A (en) | 2008-11-21 | 2008-11-21 | Request associating program, request associating method, and request associating device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008297662A JP2010123022A (en) | 2008-11-21 | 2008-11-21 | Request associating program, request associating method, and request associating device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010123022A true JP2010123022A (en) | 2010-06-03 |
Family
ID=42324295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008297662A Pending JP2010123022A (en) | 2008-11-21 | 2008-11-21 | Request associating program, request associating method, and request associating device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010123022A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013125477A (en) * | 2011-12-15 | 2013-06-24 | Fujitsu Ltd | Analysis device, analysis program and analysis method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006323471A (en) * | 2005-05-17 | 2006-11-30 | Fujitsu Ltd | Service processing circumstance analyzing program, service processing circumstance analyzing method and service processing circumstance analyzing device |
-
2008
- 2008-11-21 JP JP2008297662A patent/JP2010123022A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006323471A (en) * | 2005-05-17 | 2006-11-30 | Fujitsu Ltd | Service processing circumstance analyzing program, service processing circumstance analyzing method and service processing circumstance analyzing device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013125477A (en) * | 2011-12-15 | 2013-06-24 | Fujitsu Ltd | Analysis device, analysis program and analysis method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10671474B2 (en) | Monitoring node usage in a distributed system | |
IL275042A (en) | Self-adaptive application programming interface level security monitoring | |
US8600915B2 (en) | Systems for monitoring computer resources | |
US8799923B2 (en) | Determining relationship data associated with application programs | |
US20130159502A1 (en) | Methods for Monitoring Computer Resources | |
EP3697042A1 (en) | Traffic analysis method, public service traffic attribution method and corresponding computer system | |
CN110688598B (en) | Service parameter acquisition method and device, computer equipment and storage medium | |
US20080021696A1 (en) | System and method of providing a fast path link for an identified set of data | |
KR102295593B1 (en) | Automatically generating certification documents | |
CN111683066A (en) | Heterogeneous system integration method and device, computer equipment and storage medium | |
CN113811854B (en) | Micro-application function suggestions with cross-application activity relevance | |
CN111064725A (en) | Code zero intrusion interface verification method and device | |
CN110932918A (en) | Log data acquisition method and device and storage medium | |
CN110245314A (en) | A kind of web page fingerprint generation method | |
CN112200680B (en) | Block link point management method, device, computer and readable storage medium | |
JP4393580B1 (en) | Service system | |
JP2009277023A (en) | Data connecting program, information processor, and data connecting method | |
CN111770022A (en) | Link monitoring-based capacity expansion method, system, equipment and computer storage medium | |
US20230252462A1 (en) | Systems and methods for improved indexing of non-standardized, custom smart contracts | |
KR20210000041A (en) | Method and apparatus for analyzing log data in real time | |
US8984157B2 (en) | Network analysis in a file transfer system | |
JP2010123022A (en) | Request associating program, request associating method, and request associating device | |
US20140337069A1 (en) | Deriving business transactions from web logs | |
CN111752847A (en) | Interface comparison method, micro server, computer readable storage medium and electronic device | |
KR101584661B1 (en) | RTE-based big data analysis system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20110808 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121127 |
|
A02 | Decision of refusal |
Effective date: 20130319 Free format text: JAPANESE INTERMEDIATE CODE: A02 |