JP2011142473A - Apparatus and method for estimating users' waiting time, and program - Google Patents

Apparatus and method for estimating users' waiting time, and program Download PDF

Info

Publication number
JP2011142473A
JP2011142473A JP2010001586A JP2010001586A JP2011142473A JP 2011142473 A JP2011142473 A JP 2011142473A JP 2010001586 A JP2010001586 A JP 2010001586A JP 2010001586 A JP2010001586 A JP 2010001586A JP 2011142473 A JP2011142473 A JP 2011142473A
Authority
JP
Japan
Prior art keywords
time
packet
packets
window
waiting time
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
JP2010001586A
Other languages
Japanese (ja)
Other versions
JP4927180B2 (en
Inventor
Yuji Yamada
勇二 山田
Koji Yamamoto
浩司 山本
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.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2010001586A priority Critical patent/JP4927180B2/en
Publication of JP2011142473A publication Critical patent/JP2011142473A/en
Application granted granted Critical
Publication of JP4927180B2 publication Critical patent/JP4927180B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To estimate users' waiting time, even when a protocol for performing encryption with respect to an application layer, or the like, is used, by reducing the size of acquired data. <P>SOLUTION: An apparatus for estimating the users' waiting time includes the devices: for acquiring respective packets transmitted to a user terminal from a server providing the service of a TCP base, and storing the packets in a memory together with time information; for calculating the number of the packets by each time slot; for extracting as an extraction time slot group a time slot group where the number of packets is equal to or more than a predetermined detection threshold; for identifying a continuous section being a time section, where the packets continuously appear, while deviating a sliding window in a time progress direction, based on the total time of the extraction time slots included in the sliding window having a prescribed window time length and also on the window time length; and for output of the identified continuous section as the estimated users' waiting time. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、クライアント/サーバ型のTCPベースアプリケーションを利用するユーザが、ユーザ端末上で体感する待ち時間を推定するための技術に関するものである。   The present invention relates to a technique for estimating a waiting time experienced by a user using a client / server type TCP-based application on a user terminal.

クライアント/サーバ型のTCPベースのアプリケーションが広く普及している。当該アプリケーションをユーザが快適に使用するためには、ユーザがユーザ端末に対する操作を行ってから、当該操作に対する結果がユーザ端末の画面上に表示されるまでの時間である待ち時間(以下、これをユーザ待ち時間と呼ぶ)が短いことが好ましい。そのため、アプリケーションの品質を評価するにあたって、ユーザ待ち時間は重要な指標の一つであり、ユーザ待ち時間を適切に推定することが求められている。   Client / server type TCP-based applications are widespread. In order for the user to use the application comfortably, a waiting time (hereinafter referred to as this) from when the user performs an operation on the user terminal until the result of the operation is displayed on the screen of the user terminal. The user waiting time) is preferably short. Therefore, when evaluating the quality of an application, the user waiting time is one of important indexes, and it is required to appropriately estimate the user waiting time.

ユーザ待ち時間を推定する従来技術としては、事前評価型とインサービス評価型がある。   Conventional techniques for estimating the user waiting time include a prior evaluation type and an in-service evaluation type.

事前評価型の技術は、実際の利用環境ではなく、擬似的な利用環境を用いて、被験者にアプリケーションを利用してもらい、待ち時間を計測するものである。また、擬似的な利用環境で、擬似クライアントを用いて待ち時間を計測する技術もある。   The pre-evaluation technique uses a pseudo-use environment instead of an actual use environment, asks the subject to use the application, and measures the waiting time. There is also a technique for measuring waiting time using a pseudo client in a pseudo use environment.

インサービス評価型の技術としては、サーバに蓄積されたログを解析することによりユーザ待ち時間を推定する技術、サーバとユーザ端末間で送受信される情報を収集、解析し、解析結果からユーザ待ち時間を推定する技術、実際の利用環境で擬似クライアントプログラムをユーザ端末で実行させることにより待ち時間を計測する技術等がある。   As an in-service evaluation type technology, a technology that estimates user waiting time by analyzing logs accumulated in the server, collects and analyzes information sent and received between the server and the user terminal, and determines the user waiting time from the analysis result. There is a technique for estimating the waiting time by executing a pseudo client program on a user terminal in an actual usage environment.

なお、先行技術文献として、TCP上でのデータ転送における遅延等の品質を推定する技術を開示した特許文献1がある。   As a prior art document, there is Patent Document 1 that discloses a technique for estimating quality such as delay in data transfer over TCP.

特開2004−140596号公報JP 2004-140596 A

しかしながら、従来の事前評価型の技術では、実際にユーザがアプリケーションを利用しているときのユーザ待ち時間を推定することができない。従って、通信ネットワークの状況等に応じて変化する場合があるユーザ待ち時間を適切に推定できない。また、事前評価型の技術では、通信ネットワークの状況等によりユーザ待ち時間が悪化した場合等に、それに対する対応をとるといったことができない。   However, the conventional prior evaluation technique cannot estimate the user waiting time when the user actually uses the application. Therefore, it is not possible to appropriately estimate the user waiting time that may change depending on the status of the communication network. Also, with the prior evaluation type technology, when the user waiting time deteriorates due to the state of the communication network or the like, it is not possible to take measures against it.

インサービス評価型の技術を用いることにより、事前評価型の問題を解決できる。しかし、従来のインサービス評価型の技術には次のような問題がある。
サーバに蓄積されたログを解析することによりユーザ待ち時間を推定する技術では、サーバでの処理時間に関わる時間しか推定できず、通信ネットワークに起因するユーザ待ち時間の変化等を把握することができない。
By using in-service evaluation type technology, it is possible to solve the problem of prior evaluation type. However, the conventional in-service evaluation technology has the following problems.
The technology that estimates the user waiting time by analyzing the logs accumulated in the server can only estimate the time related to the processing time at the server and cannot grasp the change in the user waiting time caused by the communication network. .

また、擬似クライアントプログラムを用いる技術では、サーバ及び通信ネットワークに測定用のオーバヘッドを生じさせることになり、測定に起因してアプリケーションの品質劣化等が生じてしまう可能性があるという問題がある。   In addition, the technique using the pseudo client program causes a measurement overhead in the server and the communication network, and there is a problem that the quality of the application may be deteriorated due to the measurement.

また、サーバとユーザ端末間で送受信される情報を収集、解析する従来の技術では、ユーザ待ち時間を推定するために、ユーザ端末とサーバ間で双方向に送受信される全てのデータを取得する必要があり、取得するべきデータのサイズが非常に大きくなってしまうという問題がある。更に、従来技術では、トランスポート層よりも上位の層までの情報を解析する必要があるため、HTTPSのようなトランスポート層よりも上位の層に対して暗号化を行うプロトコルが使用された場合、取得した情報の解析が不可能となり、ユーザ待ち時間の算出が行えないという問題がある。   In addition, in the conventional technique for collecting and analyzing information transmitted and received between the server and the user terminal, it is necessary to acquire all data transmitted and received bidirectionally between the user terminal and the server in order to estimate the user waiting time. There is a problem that the size of data to be acquired becomes very large. Furthermore, in the prior art, it is necessary to analyze information up to a layer higher than the transport layer, and therefore, when a protocol that encrypts a layer higher than the transport layer such as HTTPS is used. The obtained information cannot be analyzed, and the user waiting time cannot be calculated.

本発明は上記の点に鑑みてなされたものであり、ユーザ端末とサーバ間で送受信されるデータを取得することによりユーザ待ち時間を推定する技術において、取得するべきデータのサイズを軽減し、トランスポート層よりも上位の層に対して暗号化を行うプロトコルが使用された場合でも、ユーザ待ち時間を推定することを可能とした技術を提供することを目的とする。   The present invention has been made in view of the above points. In the technology for estimating user waiting time by acquiring data transmitted and received between a user terminal and a server, the size of the data to be acquired is reduced, and It is an object of the present invention to provide a technique that makes it possible to estimate a user waiting time even when a protocol that performs encryption for a layer higher than a port layer is used.

上記の課題を解決するために、本発明は、TCPベースのアプリケーションサービスを提供するアプリケーションサーバに通信ネットワークを介して接続され、前記アプリケーションサービスを利用するユーザ端末におけるユーザ待ち時間を推定するユーザ待ち時間推定装置であって、前記アプリケーションサーバから前記ユーザ端末に向けて送信された各パケットを取得し、当該パケットを取得した時刻の情報とともに、当該パケットを記憶手段に格納するパケット取得手段と、前記パケット取得手段により取得されたパケット群から、予め定めた時間幅を有するタイムスロット毎のパケット数を算出するパケット数集計手段と、前記パケット数集計手段により算出されたタイムスロット毎のパケット数に基づき、パケット数が予め定めた検知閾値以上であるタイムスロット群を、抽出タイムスロット群として抽出する抽出手段と、所定のウィンドウ時間長を有するスライディングウィンドウを定め、スライディングウィンドウに含まれる抽出タイムスロットの合計時間と前記ウィンドウ時間長とに基づき、スライディングウィンドウを時間進行方向にずらしながら、パケットが連続して出現した時間区間である連続区間を識別する連続区間識別手段と、前記連続区間識別手段により識別された連続区間を、推定されたユーザ待ち時間として出力する出力手段とを備えることを特徴とするユーザ待ち時間推定装置として構成される。   In order to solve the above-mentioned problem, the present invention is connected to an application server that provides a TCP-based application service via a communication network and estimates a user waiting time in a user terminal that uses the application service. A packet acquisition unit for acquiring each packet transmitted from the application server to the user terminal, and storing the packet in a storage unit together with information on a time at which the packet was acquired; Based on the number of packets for each time slot calculated by the packet number aggregation means, the packet number aggregation means for calculating the number of packets for each time slot having a predetermined time width from the packet group acquired by the acquisition means, Detection with predetermined number of packets Extracting means for extracting a time slot group that is equal to or greater than the value as an extracted time slot group, a sliding window having a predetermined window time length is defined, and the total time of the extracted time slots included in the sliding window and the window time length are Based on the above, the continuous section identifying means for identifying the continuous section that is the time section in which the packets appear continuously while shifting the sliding window in the time progress direction, and the continuous section identified by the continuous section identifying means are estimated. It comprises an output means which outputs as a user waiting time, It comprises as a user waiting time estimation apparatus characterized by the above-mentioned.

前記連続区間識別手段は、ある抽出タイムスロットに対応する連続性判定開始位置から時間進行方向に伸びるスライディングウィンドウに含まれる抽出タイムスロットの合計時間を算出し、前記ウィンドウ時間長に対する前記合計時間の割合が予め定めた閾値以上であるか否かを判定する判定手段と、前記判定手段により、前記ウィンドウ時間長に対する前記合計時間の割合が前記予め定めた閾値以上であると判定された場合に、連続性判定開始位置を次の抽出タイムスロットにずらし、当該ずらした連続性判定開始位置に基づき前記判定手段による処理を行うスライディング手段と、前記判定手段と前記スライディング手段による処理を、前記ウィンドウ時間長に対する前記合計時間の割合が前記予め定めた閾値未満であると判定されるまで繰り返し行い、最初の連続性判定開始位置から、最後に前記合計時間の割合が前記閾値以上であると判定されたスライディングウィンドウの末尾までの時間を前記パケットが連続して出現した時間区間であると決定する手段とを備えて構成することができる。   The continuous section identifying means calculates a total time of extraction time slots included in a sliding window extending in a time progression direction from a continuity determination start position corresponding to a certain extraction time slot, and a ratio of the total time to the window time length A determination means for determining whether or not is equal to or greater than a predetermined threshold; and when the determination means determines that the ratio of the total time to the window time length is equal to or greater than the predetermined threshold. Sliding the sex determination start position to the next extraction time slot and performing processing by the determination means based on the shifted continuity determination start position; and processing by the determination means and the sliding means with respect to the window time length Until the ratio of the total time is determined to be less than the predetermined threshold. Repeatedly, the time from the initial continuity determination start position to the end of the sliding window at which the ratio of the total time is finally determined to be equal to or greater than the threshold is a time interval in which the packet appears continuously. And means for determining.

本発明によれば、アプリケーションサーバからユーザ端末に向けて送信されたパケットを取得することによりユーザ待ち時間を推定できるので、ユーザ端末とサーバ間で双方向に送受信されるパケットを取得しなければならない従来技術に比べて、取得すべきデータ量を削減できる。また、本発明では、トランスポート層よりも上位の層のプロトコルに係るヘッダの内容等を参照する必要がないので、トランスポート層よりも上位の層に対して暗号化を行うプロトコルが使用された場合でも、ユーザ待ち時間を推定することが可能になる。   According to the present invention, since the user waiting time can be estimated by acquiring a packet transmitted from the application server to the user terminal, it is necessary to acquire a packet that is transmitted and received bidirectionally between the user terminal and the server. Compared with the prior art, the amount of data to be acquired can be reduced. Further, in the present invention, since it is not necessary to refer to the contents of the header related to the protocol of the layer higher than the transport layer, a protocol for performing encryption on the layer higher than the transport layer was used. Even in this case, it is possible to estimate the user waiting time.

本発明の実施の形態に係るシステムの全体構成図である。1 is an overall configuration diagram of a system according to an embodiment of the present invention. 「ユーザ待ち時間」を説明するための図である。It is a figure for demonstrating "user waiting time." ユーザ待ち時間推定装置1の機能構成図である。It is a functional block diagram of the user waiting time estimation apparatus 1. ユーザ待ち時間推定装置1の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the user waiting time estimation apparatus 1. FIG. パケット格納部12に格納されるパケットの例を示す図である。4 is a diagram illustrating an example of a packet stored in a packet storage unit 12. FIG. パケット格納部12に格納されるパケットの例を示す図である。4 is a diagram illustrating an example of a packet stored in a packet storage unit 12. FIG. トラヒック分類部13により分類されたパケットの例を示す図である。It is a figure which shows the example of the packet classified by the traffic classification | category part. パケット数集計部14により得られた集計結果を示すヒストグラムである。6 is a histogram showing a totaling result obtained by a packet number totaling unit 14. 連続区間識別部15が実行する処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process which the continuous area identification part 15 performs. 連続区間識別部15が実行する処理を説明するための概念図である。It is a conceptual diagram for demonstrating the process which the continuous area identification part 15 performs. 連続区間識別部15が実行する処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process which the continuous area identification part 15 performs. 連続区間識別部15が実行する処理を説明するための概念図である。It is a conceptual diagram for demonstrating the process which the continuous area identification part 15 performs.

以下、図面を参照して本発明の実施の形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

(システム構成)
図1に、本発明の実施の形態に係るユーザ待ち時間推定装置1を含むシステムの全体構成図を示す。
(System configuration)
FIG. 1 shows an overall configuration diagram of a system including a user waiting time estimation apparatus 1 according to an embodiment of the present invention.

図1に示すように、本実施の形態に係るシステムは、ユーザ待ち時間推定装置1、アプリケーションサーバ2、ユーザ端末3を備え、これらが通信ネットワーク4に接続されて構成されている。   As shown in FIG. 1, the system according to the present embodiment includes a user waiting time estimation device 1, an application server 2, and a user terminal 3, which are connected to a communication network 4.

アプリケーションサーバ2は、アプリケーションサービスをユーザ端末3に対して提供するサーバである。アプリケーションサーバ2が提供するアプリケーションサービスは、例えば、Webページ提供サービス等である。   The application server 2 is a server that provides application services to the user terminal 3. The application service provided by the application server 2 is, for example, a web page providing service.

ユーザ待ち時間推定装置1は、アプリケーションサーバ2と通信を行うユーザ端末3を操作するユーザが体感する待ち時間を推定する装置である。また、ユーザ端末3は、Webブラウザ等を備えた一般的なPC端末である。通信ネットワーク4は、インターネットやLAN等を含むIP(Internet Protocol)によるデータ通信可能なネットワークである。   The user waiting time estimation device 1 is a device that estimates a waiting time experienced by a user who operates a user terminal 3 that communicates with the application server 2. The user terminal 3 is a general PC terminal equipped with a web browser or the like. The communication network 4 is a network capable of data communication by IP (Internet Protocol) including the Internet and LAN.

また、アプリケーションサーバ2とユーザ端末3間で送受信される全てのパケット(IPパケット)をユーザ待ち時間推定装置1が受信できるように通信ネットワーク4が構成されているものとする。例えば、ユーザ待ち時間推定装置1は、通信ネットワーク4内で、アプリケーションサーバ2を接続するLANスイッチのミラーポートに接続される。   Further, it is assumed that the communication network 4 is configured so that the user waiting time estimation apparatus 1 can receive all packets (IP packets) transmitted and received between the application server 2 and the user terminal 3. For example, the user waiting time estimation apparatus 1 is connected to a mirror port of a LAN switch that connects the application server 2 within the communication network 4.

ただし、ユーザ待ち時間推定装置1は、必ずしも通信ネットワーク4から直接にパケットを取得しなくてもよい。例えば、通信ネットワーク4から他の装置により取得されたパケットを、当該装置からユーザ待ち時間推定装置1に入力する構成としてもよい。   However, the user waiting time estimation apparatus 1 does not necessarily have to acquire a packet directly from the communication network 4. For example, it is good also as a structure which inputs the packet acquired by the other apparatus from the communication network 4 to the user waiting time estimation apparatus 1 from the said apparatus.

なお、本実施の形態では、ユーザ端末3とアプリケーションサーバ2間におけるデータ通信のトランスポート層のプロトコルとしてTCP(Transmission Control Protocol)を用いることを前提としている。TCPは、フロー制御等の制御のための通信が頻繁に発生するとともに、要求に対応する応答が必ず発生するので、本発明に係る技術に適しているからである。また、図1では、アプリケーションサーバ2とユーザ端末3がそれぞれ1つづつ示されているが、それぞれ複数台備えられてよいことはいうまでもない。   In the present embodiment, it is assumed that TCP (Transmission Control Protocol) is used as a transport layer protocol for data communication between the user terminal 3 and the application server 2. This is because TCP is suitable for the technology according to the present invention because communication for control such as flow control frequently occurs and a response corresponding to the request always occurs. Further, in FIG. 1, one application server 2 and one user terminal 3 are shown, but it goes without saying that a plurality of each of them may be provided.

次に、図2を参照して、本実施の形態に係る"ユーザ待ち時間"について説明する。図2は、アプリケーションサーバ2とユーザ端末3間でのTCPの通信シーケンスの概要を表している図である。   Next, “user waiting time” according to the present embodiment will be described with reference to FIG. FIG. 2 is a diagram showing an outline of a TCP communication sequence between the application server 2 and the user terminal 3.

図2に示すように、ユーザがユーザ端末3上で、所望の表示結果を得るための所定の操作(例えば、ブラウザ画面上に表示された特定のボタンをクリックする操作)を行うと、パケットがアプリケーションサーバ2とユーザ端末3間で送受信され、上記操作に対応する結果(例えば、表示されることを期待していたWebページ画面)がユーザ端末3上に表示される。   As shown in FIG. 2, when the user performs a predetermined operation (for example, an operation of clicking a specific button displayed on the browser screen) for obtaining a desired display result on the user terminal 3, the packet is displayed. A result (for example, a Web page screen that was expected to be displayed) that is transmitted / received between the application server 2 and the user terminal 3 and that corresponds to the above operation is displayed on the user terminal 3.

本明細書及び特許請求の範囲では、上記のように所定の操作を行った時刻から、当該所定の操作に対応する結果が表示される時刻までをユーザ待ち時間としている。   In the present specification and claims, the user waiting time is from the time when the predetermined operation is performed as described above to the time when the result corresponding to the predetermined operation is displayed.

図3に、本実施の形態に係るユーザ待ち時間推定装置1の機能構成図を示す。図3に示すように、ユーザ待ち時間推定装置1は、入力部11、パケット格納部12、トラヒック分類部13、パケット数集計部14、連続区間識別部15、RTT(Round Trip Time)提供部16、及び出力部17を有する。   In FIG. 3, the functional block diagram of the user waiting time estimation apparatus 1 which concerns on this Embodiment is shown. As shown in FIG. 3, the user waiting time estimation apparatus 1 includes an input unit 11, a packet storage unit 12, a traffic classification unit 13, a packet number counting unit 14, a continuous section identification unit 15, and an RTT (Round Trip Time) providing unit 16. And an output unit 17.

各機能部の処理の内容については、後述するシステムの動作説明のところで詳細に説明することとし、以下では各機能部の機能の概要を説明する。   The contents of the processing of each functional unit will be described in detail in the description of the system operation described later, and the outline of the function of each functional unit will be described below.

入力部11は、ユーザ端末3とアプリケーションサーバ2間で送受信されるパケットのうち、アプリケーションサーバ2からユーザ端末3に向かうパケットを通信ネットワーク4等から取得し、各パケットにタイムスタンプ(現在時刻、パケットを取得した時刻)を付してパケット格納部12に格納する機能部である。   The input unit 11 acquires, from the communication network 4 or the like, packets that are transmitted from the application server 2 to the user terminal 3 among packets transmitted and received between the user terminal 3 and the application server 2, and each packet has a time stamp (current time, packet Is a functional unit that stores the packet in the packet storage unit 12.

トラヒック分類部13は、アプリケーションサーバ2からユーザ端末3に向かうパケットを宛先毎に分類する機能部である。パケット数集計部14は、特定のユーザ端末宛であると識別されたパケット群毎に、予め定めた時間幅(タイムスロット)毎のパケット数を算出する処理を行う機能部である。   The traffic classifying unit 13 is a functional unit that classifies packets from the application server 2 toward the user terminal 3 for each destination. The packet count totaling unit 14 is a functional unit that performs a process of calculating the number of packets for each predetermined time width (time slot) for each packet group identified as being addressed to a specific user terminal.

連続区間識別部15は、パケット数集計部14により得られた予め定めた時間幅毎のパケット数を用いて、所定の時間幅内に一定量以上のパケットが連続して出現しているか否かを識別することにより、ユーザによる待ち時間が継続していると推定できる時間区間を求める機能部である。   The continuous section identifying unit 15 uses the predetermined number of packets for each time width obtained by the packet number totaling unit 14 to determine whether or not a certain amount of packets continuously appear within a predetermined time width. Is a functional unit for obtaining a time interval in which it can be estimated that the waiting time by the user continues.

また、RTT提供部16は、RTT(Round Trip Time:ユーザ端末3からアプリケーションサーバ2にパケットを送信して、確認応答パケットがアプリケーションサーバ2からユーザ端末3に返されるまでの時間)を取得し、それを連続区間識別部15に提供する機能部である。出力部17は、連続区間識別部15により得られた時間区間を、推定されたユーザ待ち時間の情報として出力する機能部である。   Further, the RTT providing unit 16 obtains RTT (Round Trip Time: the time from when the user terminal 3 transmits a packet to the application server 2 until the acknowledgment packet is returned from the application server 2 to the user terminal 3), It is a functional unit that provides it to the continuous section identifying unit 15. The output unit 17 is a functional unit that outputs the time interval obtained by the continuous interval identification unit 15 as information on the estimated user waiting time.

ユーザ待ち時間推定装置1は、メモリやハードディスク等の記憶手段及びCPUを備える一般的なコンピュータに、各機能部に対応する処理を行うためのプログラムを搭載することにより実現できる。当該プログラムは、可搬メモリやディスク等の記録媒体から上記コンピュータにインストールしてもよいし、ネットワーク上のサーバから上記コンピュータにダウンロードし、インストールすることとしてもよい。   The user waiting time estimation device 1 can be realized by mounting a program for performing processing corresponding to each functional unit on a general computer including a storage unit such as a memory and a hard disk and a CPU. The program may be installed in the computer from a recording medium such as a portable memory or a disk, or may be downloaded from a server on a network to the computer and installed.

(システムの動作)
次に、ユーザ待ち時間推定装置1の動作の例を、図4のフローチャートに沿って説明する。まず、ユーザ待ち時間推定装置1の入力部11は、通信ネットワーク4から、アプリケーションサーバ2を送信元とするパケットを順次取得し、取得した時刻の情報であるタイムスタンプを付してパケット格納部12に格納する(図4のステップ1)。
(System operation)
Next, an example of the operation of the user waiting time estimation apparatus 1 will be described along the flowchart of FIG. First, the input unit 11 of the user waiting time estimation apparatus 1 sequentially acquires packets originating from the application server 2 from the communication network 4 and attaches a time stamp that is information about the acquired time to the packet storage unit 12. (Step 1 in FIG. 4).

ユーザ待ち時間推定装置1は、特定のアプリケーションサーバ2から送信されるパケットを常にパケット格納部12に格納し、当該アプリケーションサーバ2に関するユーザ待ち時間推定の必要が生じたときに、特定の時間区間に取得されたパケットを解析の対象としてもよいし、ユーザ指示等により特定の時間区間だけパケット収集を行い、そこで収集されたパケットを解析の対象としてもよい。また、常にパケットをパケット格納部12に格納し、一定時間毎に特定のアプリケーションサーバに関するユーザ待ち時間推定処理を実行することとしてもよい。もちろん、その他の形態を用いてもよい。   The user waiting time estimation device 1 always stores a packet transmitted from a specific application server 2 in the packet storage unit 12, and when there is a need for user waiting time estimation regarding the application server 2, the user waiting time estimation device 1 The acquired packets may be analyzed, or packets may be collected for a specific time interval according to a user instruction or the like, and the collected packets may be analyzed. Alternatively, the packet may be always stored in the packet storage unit 12, and the user waiting time estimation process for a specific application server may be executed at regular time intervals. Of course, other forms may be used.

パケット格納部12に格納されるパケットの例を図5(a)に示す。例えば、図5(a)の第1行目は、送信元IPアドレスがIPアドレス1、送信元ポート番号がポート番号1、宛先IPアドレスがIPアドレス3、宛先ポート番号がポート番号1であるIPパケットが、時刻1に取得され、格納されたことを示している。他の行も同様である。   An example of a packet stored in the packet storage unit 12 is shown in FIG. For example, the first line in FIG. 5A shows an IP whose source IP address is IP address 1, source port number is port number 1, destination IP address is IP address 3, and destination port number is port number 1. The packet is acquired and stored at time 1. The same applies to the other lines.

なお、図5(a)では、宛先IPアドレスがIPアドレス3であるIPパケットのみを示しているが、一般には、種々の宛先IPアドレスのIPパケットが取得される。また、パケット格納部12に格納する対象となるパケットの送信元IPアドレスと宛先IPアドレスとを予め決めている場合には、取得したパケットからIPヘッダを除き、TCPヘッダが付されたTCPパケットの形式でパケット格納部12に格納することとしてもよい。   In FIG. 5A, only the IP packet whose destination IP address is IP address 3 is shown, but in general, IP packets of various destination IP addresses are acquired. When the source IP address and the destination IP address of the packet to be stored in the packet storage unit 12 are determined in advance, the IP header is excluded from the acquired packet, and the TCP packet with the TCP header is added. It is good also as storing in the packet storage part 12 in a format.

続いて、図4のステップ2において、トラヒック分類部13が、パケット格納部12に格納されたパケットを、宛先ユーザ端末毎に分類する処理を行う。分類にあたって、本実施の形態では、宛先IPアドレスと宛先ポート番号の1つの組が1つの宛先ユーザ端末に対応するものとし、宛先IPアドレスと宛先ポート番号の組毎にパケットを分類する処理を行う。   Subsequently, in step 2 of FIG. 4, the traffic classification unit 13 performs processing for classifying the packets stored in the packet storage unit 12 for each destination user terminal. In classification, in this embodiment, one set of destination IP address and destination port number corresponds to one destination user terminal, and a process of classifying packets for each set of destination IP address and destination port number is performed. .

ただし、NAT経由の通信等の場合に、1つの宛先ユーザ端末に対して、1つの宛先IPアドレスと、連続する複数の宛先ポート番号が割り当てられる場合があることを考慮して、同じ宛先IPアドレスの複数のパケットであって、連続するポート番号を有する複数のパケットが所定の短い時間(例えば0.5秒)内に現れた場合は、それらのパケットは1つのユーザ端末宛のパケットであるとみなしている。   However, in the case of communication via NAT, the same destination IP address is considered in consideration that one destination IP address and a plurality of consecutive destination port numbers may be assigned to one destination user terminal. If a plurality of packets having consecutive port numbers appear within a predetermined short time (for example, 0.5 seconds), the packets are addressed to one user terminal. I consider it.

例えば、パケット格納部12に格納されたパケットが図5(a)に示すとおりのものであった場合、宛先IPアドレスは同一なので、トラヒック分類部13は、図5(b)に示すようにパケットを分類(ソート)する。図5(b)の例において、宛先ポート番号1のIPパケットはユーザ端末A宛てのパケット、宛先ポート番号8のパケットはユーザ端末Aと異なるユーザ端末B宛てのパケットなどとみなすことができる。   For example, if the packet stored in the packet storage unit 12 is as shown in FIG. 5A, the destination IP address is the same, so the traffic classification unit 13 uses the packet as shown in FIG. Sort (sort). In the example of FIG. 5B, an IP packet with destination port number 1 can be regarded as a packet destined for user terminal A, a packet with destination port number 8 can be regarded as a packet destined for user terminal B different from user terminal A, and the like.

また、例えば、パケット格納部12に格納されたパケットが図6(a)に示すようなものであり、時刻1から時刻4までの時間及び時刻5から時刻7までの時間のそれぞれが所定の時間より短い場合、トラヒック分類部13は、パケットを図6(b)に示すように分類する。図6(b)の例において、宛先ポート番号1〜4のパケットはユーザ端末X宛てのパケット、宛先ポート番号10〜12のパケットはユーザ端末Xと異なるユーザ端末Y宛てのパケットとみなすことができる。   Further, for example, the packet stored in the packet storage unit 12 is as shown in FIG. 6A, and each of the time from time 1 to time 4 and the time from time 5 to time 7 is a predetermined time. If shorter, the traffic classification unit 13 classifies the packet as shown in FIG. In the example of FIG. 6B, packets with destination port numbers 1 to 4 can be regarded as packets destined for user terminal X, and packets with destination port numbers 10 to 12 can be regarded as packets destined for user terminal Y different from user terminal X. .

なお、以下で説明する処理は、分類されたパケット群のうち、特定の1つのユーザ端末宛のパケットに対する処理であるものとする。また、分類がなされたパケットは、パケット格納部12に格納してもよいし、パケット格納部12以外のメモリ等の記憶手段に格納してもよい。   Note that the processing described below is processing for a packet addressed to one specific user terminal in the classified packet group. Further, the classified packets may be stored in the packet storage unit 12 or may be stored in a storage unit such as a memory other than the packet storage unit 12.

また、宛先ユーザ端末毎に分類されたパケットを取得する方法は、上記の方法に限られるわけではなく、結果として、宛先ユーザ端末毎に分類されたパケットを取得できるのであればどのような手段を用いてもよい。   In addition, the method of acquiring the packet classified for each destination user terminal is not limited to the above method. As a result, any means can be used as long as the packet classified for each destination user terminal can be acquired. It may be used.

次に、図4のステップ3において、ユーザ待ち時間推定装置1のパケット数集計部14は、分類されたパケットについて、予め定めた時間幅(Wで表し、タイムスロットとも呼ぶ)毎の個数を算出する処理を行う。   Next, in step 3 of FIG. 4, the packet counting unit 14 of the user waiting time estimation apparatus 1 calculates the number of classified packets for each predetermined time width (denoted by W and also referred to as a time slot). Perform the process.

例えば、トラヒック分類部13により、図7に示すパケットが、アプリケーションサーバ2からユーザ端末3宛(IPアドレス3及び宛先ポート番号10で識別されるユーザ端末)のパケットとして抽出されたものとする。また、例えば、タイムスロットの大きさWとして0.1秒(以下、時間の単位は秒であるとする)を使用するものとする。   For example, assume that the traffic classification unit 13 extracts the packet shown in FIG. 7 from the application server 2 as a packet addressed to the user terminal 3 (a user terminal identified by the IP address 3 and the destination port number 10). For example, it is assumed that the time slot size W is 0.1 second (hereinafter, the unit of time is seconds).

この場合、パケット数集計部14は、時刻0から時刻0.1の間のタイムスロットのパケット数を3として求め、時刻0.1から時刻0.2の間のタイムスロットのパケット数を4として求める。他のタイムスロットでも同様である。このようにして算出した結果から、図8に示すヒストグラムが得られる。   In this case, the packet counting unit 14 calculates the number of packets in the time slot between time 0 and time 0.1 as 3, and sets the number of packets in the time slot between time 0.1 and time 0.2 as 4. Ask. The same applies to other time slots. The histogram shown in FIG. 8 is obtained from the results calculated in this way.

続いて、図4のステップ4において、連続区間識別部15が、パケット数集計部14により得られたタイムスロット毎のパケット数に基づき、ユーザ待ち時間であると推定することができるパケットの連続区間を識別する処理を行う。   Subsequently, in step 4 of FIG. 4, the continuous section identification unit 15 can estimate the user waiting time based on the number of packets for each time slot obtained by the packet count totaling unit 14. The process of identifying is performed.

本実施の形態では、連続区間識別部15は、ユーザ端末3からアプリケーションサーバ2にパケットが送信されてから、確認応答パケットがアプリケーションサーバ2からユーザ端末3に返されるまでの時間であるRTTを利用して連続区間を識別することもできるし、RTTを利用しないで連続区間を識別することもできる。RTTを利用するかしないかは、例えば、アプリケーションサーバ2の位置(国内か外国か等)や、通信ネットワーク4の状態等で判断し、ユーザによりRTTを利用するかしないかを設定することができる。   In the present embodiment, the continuous section identification unit 15 uses RTT, which is the time from when a packet is transmitted from the user terminal 3 to the application server 2 until the confirmation response packet is returned from the application server 2 to the user terminal 3. Thus, continuous sections can be identified, and continuous sections can be identified without using RTT. Whether or not to use RTT can be determined, for example, by the location of application server 2 (whether domestic or foreign), the state of communication network 4, etc., and whether or not to use RTT can be set by the user. .

<RTTを利用しない場合>
まず、RTTを利用しない場合の処理について、図9のフローチャート、及び、図10に示す処理の概念図を用いて説明する。
<When not using RTT>
First, processing when RTT is not used will be described using the flowchart of FIG. 9 and the conceptual diagram of processing shown in FIG.

なお、以下の処理の前提として、タイムスロットにおけるパケット数の閾値である検知閾値と、スライディングウィンドウの時間長さLと、連続性判定閾値Sとが予め連続区間識別部15に入力され、メモリ等に保持されているものとする。   As a premise of the following processing, a detection threshold that is a threshold of the number of packets in a time slot, a sliding window time length L, and a continuity determination threshold S are input to the continuous section identification unit 15 in advance, and the memory or the like. It is assumed that

まず、図9のステップ10において、連続区間識別部15は、パケット数が検知閾値以上の全てのタイムスロットを抽出する。ここで、検知閾値は、0以上の整数である。検知閾値は、対象とする通信(ユーザによる操作に起因する通信)以外の通信に係るパケットを、ユーザ待ち時間推定において検知しないようにするために設けられるものである。
また、各タイムスロットは、その開始時間位置と終了時間位置で識別される情報である。ステップ10の処理は、図10において、パケット数が点線と重なるか、点線を越えているタイムスロットを抽出する処理に相当する。以下、ここで抽出されたタイムスロットを、抽出タイムスロットと呼ぶ。
First, in step 10 of FIG. 9, the continuous section identification unit 15 extracts all time slots whose number of packets is equal to or greater than the detection threshold. Here, the detection threshold is an integer of 0 or more. The detection threshold is provided to prevent detection of a packet related to communication other than target communication (communication caused by user operation) in the user waiting time estimation.
Each time slot is information identified by its start time position and end time position. The process of step 10 corresponds to the process of extracting a time slot in which the number of packets overlaps or exceeds the dotted line in FIG. Hereinafter, the extracted time slot is referred to as an extracted time slot.

次に、図9のステップ20において、連続区間識別部15は、複数の抽出タイムスロットのうちの、後述する連続性判定開始位置になったことがない抽出タイムスロットの中で、時間的に最初に位置する抽出タイムスロットの開始位置(時刻Tとする)を特定する。   Next, in step 20 of FIG. 9, the continuous section identification unit 15 is first in time among the extracted time slots that have not reached the continuity determination start position described later among the plurality of extracted time slots. The start position (denoted as time T) of the extraction time slot located at is specified.

そして、連続区間識別部15は、連続区間識別のためにスライディングウィンドウをずらす時間長さを示す変数であるCを初期化(C=0とする)する(ステップ30)。続いて、連続区間識別部15は、上記抽出タイムスロットの開始位置である時刻Tから始まるスライディングウィンドウに含まれる抽出タイムスロットの合計の時間長さを求め、スライディングウィンドウの時間長さLに対する当該抽出タイムスロットの合計の時間長さの割合Rを求める(ステップ40)。以下では、スライディングウィンドウの開始位置を連続性判定開始位置と呼ぶことにする。   Then, the continuous section identification unit 15 initializes C (set to C = 0), which is a variable indicating the time length for shifting the sliding window for continuous section identification (step 30). Subsequently, the continuous section identification unit 15 obtains the total time length of the extracted time slots included in the sliding window starting from the time T, which is the start position of the extracted time slot, and performs the extraction with respect to the time length L of the sliding window. A ratio R of the total time length of the time slots is obtained (step 40). Hereinafter, the start position of the sliding window will be referred to as the continuity determination start position.

ステップ40において、タイムスロットの時間幅がWであり、連続性判定開始位置から始まるスライディングウィンドウの時間長さLの中に、抽出タイムスロット(パケット数が検知閾値以上のタイムスロット)がM個含まれるとした場合、抽出タイムスロットの合計の時間長さはW×Mであるから、R=W×M/Lとなる。また、図10の場合について、タイムスロットの幅を0.1、各スライディングウィンドウの長さを1とすると、スライディングウィンドウAの中に、8個の抽出タイムスロットが含まれるから、R=0.1×8/1=0.8となる。   In step 40, the time width of the time slot is W, and M extraction time slots (time slots in which the number of packets is equal to or greater than the detection threshold) are included in the time length L of the sliding window starting from the continuity determination start position. In this case, since the total time length of the extracted time slots is W × M, R = W × M / L. Also, in the case of FIG. 10, if the time slot width is 0.1 and the length of each sliding window is 1, since eight extraction time slots are included in the sliding window A, R = 0. 1 × 8/1 = 0.8.

続いて、連続区間識別部15は、Rが連続性判定閾値S以上であるか否かを判定する(ステップ50)。本実施の形態において、Sは、0から1の間の定数であり、例えばS=0.5である。   Subsequently, the continuous section identification unit 15 determines whether or not R is greater than or equal to the continuity determination threshold S (step 50). In the present embodiment, S is a constant between 0 and 1, for example, S = 0.5.

ステップ50において、Rが連続性判定閾値S以上であると判定された場合、連続区間識別部15は、連続性判定開始位置を、時間進行方向において次に位置する抽出タイムスロットの開始位置とする。また、連続性判定開始位置をずらした長さ(前の連続性判定開始位置から次の連続性判定開始位置までの時間)をKとし、C=C+Kとする(ステップ60)。その後、ステップ40に戻る。   If it is determined in step 50 that R is greater than or equal to the continuity determination threshold S, the continuous section identification unit 15 sets the continuity determination start position as the start position of the next extracted time slot positioned in the time progression direction. . Further, the length of shifting the continuity determination start position (time from the previous continuity determination start position to the next continuity determination start position) is set as K, and C = C + K (step 60). Thereafter, the process returns to step 40.

また、ステップ50において、Rが連続性判定閾値S以上でないと判定された場合、連続区間識別部15は、ステップ70に進み、C=C−Kとするとともに、TからT+C+Lの区間を連続区間としてメモリ等の記憶手段に記録し、ステップ20に戻る。ただし、ステップ50の判定処理において、一度もYesの判定がされずに最初からNoと判定された場合には、ステップ70を経ずにステップ20に戻る。ステップ20において、現在の連続性開始判定位置の次の抽出タイムスロットの開始位置がTとなり、それ以降の処理が繰り返される。ここで、次の抽出タイムスロットが存在しなければ処理を終了する(ステップ80)。   If it is determined in step 50 that R is not equal to or greater than the continuity determination threshold S, the continuous section identification unit 15 proceeds to step 70, sets C = C−K, and sets a section from T to T + C + L as a continuous section. Is recorded in a storage means such as a memory, and the process returns to step 20. However, in the determination process of step 50, if the determination of Yes is never made and it is determined No from the beginning, the process returns to step 20 without passing through step 70. In step 20, the start position of the extraction time slot next to the current continuity start determination position is T, and the subsequent processing is repeated. If there is no next extraction time slot, the process is terminated (step 80).

上記の処理の概念を図10を参照して説明する。図10の例では、スライディングウィンドウの時間長さがタイムスロット10個分の長さであり、連続性判定閾値S=1/2=0.5であるものとする。つまり、この場合、スライディングウィンドウ内に、5個以上の抽出タイムスロットが含まれる場合に、ステップ50においてYESと判定される。   The concept of the above processing will be described with reference to FIG. In the example of FIG. 10, it is assumed that the time length of the sliding window is the length of 10 time slots, and the continuity determination threshold S = 1/2 = 0.5. That is, in this case, when five or more extracted time slots are included in the sliding window, YES is determined in step 50.

図10の例では、点線よりパケット数の多いタイムスロットがまず抽出される。そして、スライディングウィンドウAの開始位置Tが最初の連続性判定開始位置となり、スライディングウィンドウAには、8個の抽出タイムスロットが含まれるので、ステップ50においてYESと判定され、連続性判定開始位置がスライディングウィンドウBの開始位置までずらされ、同様の判定処理及び連続性判定開始位置をずらす処理等が繰り返される。   In the example of FIG. 10, a time slot having a larger number of packets than the dotted line is first extracted. Then, the start position T of the sliding window A becomes the first continuity determination start position, and since eight extraction time slots are included in the sliding window A, YES is determined in step 50, and the continuity determination start position is The position is shifted to the start position of the sliding window B, and the same determination process and the process of shifting the continuity determination start position are repeated.

図10の例では、スライディングウィンドウEには、5個の抽出タイムスロットが含まれるが、スライディングウィンドウFには、4個の抽出タイムスロットしか含まれず、ここではステップ50の判定はNoになる。従って、スライディングウィンドウAの開始位置Tから、スライディングウィンドウEの終了位置(T+C+L)までの時間区間が、ユーザ待ち時間に対応する連続区間であるとして記憶手段に記録されることになる。   In the example of FIG. 10, the sliding window E includes five extracted time slots, but the sliding window F includes only four extracted time slots. Here, the determination in step 50 is No. Accordingly, the time section from the start position T of the sliding window A to the end position (T + C + L) of the sliding window E is recorded in the storage means as a continuous section corresponding to the user waiting time.

ステップ80において、処理が終了すると、記憶手段に格納されている連続区間情報(=ユーザ待ち時間情報)が、出力部17に渡され、出力される(図4のステップ5)。例えば、出力部17は、ユーザ待ち時間情報として、対象となっているアプリケーションサーバ2のIPアドレス及びポート番号、ユーザ端末3に対応するIPアドレス及びポート番号、及び、ユーザ待ち時間(連続区間)の開始時刻と終了時刻を出力する。また、ユーザ端末3に対応するIPアドレス及びポート番号から、ユーザ端末もしくはユーザの名前を識別可能である場合には、ユーザ端末もしくはユーザの名前を出力してもよい。   In step 80, when the process is completed, the continuous section information (= user waiting time information) stored in the storage means is passed to the output unit 17 and output (step 5 in FIG. 4). For example, the output unit 17 uses the IP address and port number of the target application server 2 as the user waiting time information, the IP address and port number corresponding to the user terminal 3, and the user waiting time (continuous section). Output start time and end time. If the user terminal or user name can be identified from the IP address and port number corresponding to the user terminal 3, the user terminal or user name may be output.

出力部17から出力された情報は、例えば、ネットワーク管理者の端末に転送され、表示される。   The information output from the output unit 17 is transferred to, for example, a network administrator's terminal and displayed.

上述した本実施の形態における技術を用いることにより、安定したネットワーク環境において、ユーザ待ち時間を適切に推定することが可能となる。TCPパケットを用いる場合において、TCPヘッダの中の情報から、データ転送開始及び終了を判定することにより、ユーザ待ち時間を推定することも考えられるが、ユーザ待ち時間の中で、TCP上でのデータ転送開始及び終了が連続的に複数回発生する場合があるので、TCPヘッダの中の情報からでは、適切にユーザ待ち時間を推定することはできない。   By using the technique in the present embodiment described above, it is possible to appropriately estimate the user waiting time in a stable network environment. When using TCP packets, it is possible to estimate the user waiting time by determining the start and end of data transfer from the information in the TCP header, but the data on the TCP within the user waiting time Since the transfer start and end may occur continuously a plurality of times, the user waiting time cannot be estimated appropriately from the information in the TCP header.

本実施の形態のように、TCPベースのアプリケーションサーバ2からユーザ端末3に送信されるパケットが、ある程度の短い時間間隔で連続的に発生している場合はユーザの待ちが継続していると判定する手法により、より適切にユーザ待ち時間を推定することが可能になる。なお、本実施の形態における技術は、アプリケーションサーバ2側において、ユーザ端末3に対してTCPパケットを送出せずにデータ処理(データのハードディスクへの書き込み処理等)を行う時間が比較的短い場合に適している。   As in the present embodiment, when packets transmitted from the TCP-based application server 2 to the user terminal 3 are continuously generated at a certain short time interval, it is determined that the user wait is continued. By this technique, it is possible to estimate the user waiting time more appropriately. The technique in the present embodiment is such that the application server 2 side performs a relatively short time for performing data processing (such as writing data to a hard disk) without sending a TCP packet to the user terminal 3. Is suitable.

上記の例において、タイムスロットの時間幅W、スライディングウィンドウの時間長さL、及び、連続性判定閾値Sについては、実験等により適切な値を定めればよいが、安定したネットワーク環境での一例として、タイムスロットの時間幅Wとして0.1を用い、スライディングウィンドウの時間長さLとしてタイムスロット10個分である1を用い、連続性判定閾値Sとして1/2を用いることにより、良好な結果が得られている。   In the above example, the time width W of the time slot, the time length L of the sliding window, and the continuity determination threshold value S may be determined appropriately by experiments or the like. However, an example in a stable network environment By using 0.1 as the time width W of the time slot, using 1 which is 10 timeslots as the time length L of the sliding window, and using 1/2 as the continuity determination threshold S, The result is obtained.

<RTTを利用する場合>
次に、RTTを利用する場合の連続区間の識別処理のフローチャートを図11に示す。以下では、RTTを利用しない場合との相違点を中心に説明する。
<When using RTT>
Next, FIG. 11 shows a flowchart of identification processing of continuous sections when using RTT. The following description will focus on the differences from when RTT is not used.

RTTを利用しない場合は、スライディングウィンドウの時間長さLとして予め定めた長さを用いていたのに対し、RTTを利用する場合の処理は、図11のステップ35において、スライディングウィンドウの長さLをRTTに基づき算出し、それ以降の処理において、RTTに基づき求めたLを用いて連続区間を判定している。その他の処理については図9の場合と同じである。より詳細には以下のとおりである。   When the RTT is not used, a predetermined length is used as the sliding window time length L. On the other hand, when the RTT is used, the process in step 35 of FIG. Is calculated based on RTT, and in subsequent processing, continuous sections are determined using L obtained based on RTT. Other processes are the same as those in FIG. More details are as follows.

本実施の形態では、入力部11は、RTTを求めるためのデータとして、アプリケーションサーバ2からユーザ端末3に向かうパケットの他に、ユーザ端末3からプリケーションサーバ2に向かうパケットのうちの一部のパケットを取得してパケット格納部12に格納することができる。RTT提供部16は、パケット格納部12に格納されたデータを参照することにより、例えば、シーケンス番号で送信パケットとそれに対応する応答パケットを識別し、所定の時間毎のRTTを算出することができる。なお、TCPパケットからRTTを算出すること自体は従来技術である。もちろん、RTT提供部16は、その他の方法でRTTを算出することとしてもよい。例えば、ユーザ待ち時間推定装置1の外部にある装置でRTTを取得し、その装置からRTTを受信することとしてもよい。   In the present embodiment, the input unit 11 uses, as data for obtaining the RTT, some of the packets from the user terminal 3 to the application server 2 in addition to the packets from the application server 2 to the user terminal 3. Packets can be acquired and stored in the packet storage unit 12. By referring to the data stored in the packet storage unit 12, the RTT providing unit 16 can identify, for example, a transmission packet and a response packet corresponding to the sequence number, and calculate an RTT for each predetermined time. . Note that calculating the RTT from the TCP packet is a conventional technique. Of course, the RTT providing unit 16 may calculate the RTT by other methods. For example, an RTT may be acquired by a device outside the user waiting time estimation device 1 and the RTT may be received from the device.

ステップ35において、連続区間識別部15は、RTT提供部16から、連続性判定開始位置に最も近い時刻に対応するRTTを取得する。ここでRTTをTRと表すと、連続区間識別部15は、L=(TR+W)×N(Nは自然数)としてLを求める。例えば、TR=0.01、W=0.1、N=10であるとすると、L=0.11×10=1.1となる。また、例えば、R=0.05、W=0.1、N=10であるとすると、L=0.15×10=1.5となる。   In step 35, the continuous section identifying unit 15 acquires an RTT corresponding to the time closest to the continuity determination start position from the RTT providing unit 16. Here, when RTT is expressed as TR, the continuous section identification unit 15 calculates L as L = (TR + W) × N (N is a natural number). For example, if TR = 0.01, W = 0.1, and N = 10, then L = 0.11 × 10 = 1.1. For example, if R = 0.05, W = 0.1, and N = 10, then L = 0.15 × 10 = 1.5.

RTTを用いる場合の処理の概念を図12を用いて説明する。図12において、(A)で示される部分は、L=1.1の場合であり、(B)で示される部分は、L=1.5の場合を示している。図12に示すとおり、スライディングウィンドウの長さLをRTTに応じて伸ばすことにより、RTTの影響でパケットの出現間隔が間延びする場合であっても、適切に連続区間(ユーザ待ち時間であると推定できる区間)を識別できる。   The concept of processing when RTT is used will be described with reference to FIG. In FIG. 12, the part shown by (A) is a case where L = 1.1, and the part shown by (B) shows a case where L = 1.5. As shown in FIG. 12, by extending the sliding window length L according to the RTT, even if the packet appearance interval is extended due to the RTT, the continuous interval (estimated to be the user waiting time) Can be identified).

(実施の形態の効果について)
上記のように、本実施の形態で説明した技術によれば、アプリケーションサーバ2からユーザ端末3に向けて送信されたパケットを取得することによりユーザ待ち時間を推定できるので、ユーザ端末とサーバ間で双方向に送受信されるパケットを取得しなければならない従来技術に比べて、取得すべきデータ量を削減できる。また、本実施の形態の技術では、トランスポート層よりも上位の層のプロトコルに係るヘッダの内容等を参照する必要がないので、トランスポート層よりも上位の層に対して暗号化を行うプロトコルが使用された場合でも、ユーザ待ち時間を推定することが可能になる。
(Effects of the embodiment)
As described above, according to the technique described in the present embodiment, the user waiting time can be estimated by acquiring a packet transmitted from the application server 2 to the user terminal 3, and therefore, between the user terminal and the server. The amount of data to be acquired can be reduced as compared with the conventional technique in which packets transmitted and received in both directions must be acquired. Further, in the technique of the present embodiment, there is no need to refer to the contents of a header related to a protocol in a layer higher than the transport layer, so a protocol for performing encryption on a layer higher than the transport layer. Even when is used, the user waiting time can be estimated.

また、本実施の形態の技術では、RTTに応じてスライディングウィンドウの時間長さを変更することが可能なので、通信ネットワークの状況に応じたユーザ待ち時間を推定できる。   Moreover, in the technique of the present embodiment, the sliding window time length can be changed according to the RTT, so that the user waiting time can be estimated according to the state of the communication network.

本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.

1 ユーザ待ち時間推定装置
2 アプリケーションサーバ
3 ユーザ端末
4 通信ネットワーク
11 入力部
12 パケット格納部
13 トラヒック分類部
14 パケット数集計部
15 連続区間識別部
16 RTT提供部
17 出力部
DESCRIPTION OF SYMBOLS 1 User waiting time estimation apparatus 2 Application server 3 User terminal 4 Communication network 11 Input part 12 Packet storage part 13 Traffic classification part 14 Packet count total part 15 Continuous section identification part 16 RTT provision part 17 Output part

Claims (6)

TCPベースのアプリケーションサービスを提供するアプリケーションサーバに通信ネットワークを介して接続され、前記アプリケーションサービスを利用するユーザ端末におけるユーザ待ち時間を推定するユーザ待ち時間推定装置であって、
前記アプリケーションサーバから前記ユーザ端末に向けて送信された各パケットを取得し、当該パケットを取得した時刻の情報とともに、当該パケットを記憶手段に格納するパケット取得手段と、
前記パケット取得手段により取得されたパケット群から、予め定めた時間幅を有するタイムスロット毎のパケット数を算出するパケット数集計手段と、
前記パケット数集計手段により算出されたタイムスロット毎のパケット数に基づき、パケット数が予め定めた検知閾値以上であるタイムスロット群を、抽出タイムスロット群として抽出する抽出手段と、
所定のウィンドウ時間長を有するスライディングウィンドウを定め、スライディングウィンドウに含まれる抽出タイムスロットの合計時間と前記ウィンドウ時間長とに基づき、スライディングウィンドウを時間進行方向にずらしながら、パケットが連続して出現した時間区間である連続区間を識別する連続区間識別手段と、
前記連続区間識別手段により識別された連続区間を、推定されたユーザ待ち時間として出力する出力手段と
を備えることを特徴とするユーザ待ち時間推定装置。
A user waiting time estimation device that is connected to an application server that provides a TCP-based application service through a communication network and estimates a user waiting time in a user terminal that uses the application service,
A packet acquisition means for acquiring each packet transmitted from the application server to the user terminal, and storing the packet in a storage means together with information on a time at which the packet was acquired;
From the packet group acquired by the packet acquisition means, a packet number counting means for calculating the number of packets for each time slot having a predetermined time width;
Based on the number of packets for each time slot calculated by the packet number counting means, an extraction means for extracting a time slot group whose number of packets is equal to or greater than a predetermined detection threshold as an extraction time slot group;
A sliding window having a predetermined window time length is defined, and a time at which packets continuously appear while shifting the sliding window in the time progress direction based on the total time of extraction time slots included in the sliding window and the window time length. Continuous section identifying means for identifying continuous sections that are sections;
An output means for outputting the continuous section identified by the continuous section identifying means as an estimated user waiting time.
前記連続区間識別手段は、
ある抽出タイムスロットに対応する連続性判定開始位置から時間進行方向に伸びるスライディングウィンドウに含まれる抽出タイムスロットの合計時間を算出し、前記ウィンドウ時間長に対する前記合計時間の割合が予め定めた閾値以上であるか否かを判定する判定手段と、
前記判定手段により、前記ウィンドウ時間長に対する前記合計時間の割合が前記予め定めた閾値以上であると判定された場合に、連続性判定開始位置を次の抽出タイムスロットにずらし、当該ずらした連続性判定開始位置に基づき前記判定手段による処理を行うスライディング手段と、
前記判定手段と前記スライディング手段による処理を、前記ウィンドウ時間長に対する前記合計時間の割合が前記予め定めた閾値未満であると判定されるまで繰り返し行い、最初の連続性判定開始位置から、最後に前記合計時間の割合が前記閾値以上であると判定されたスライディングウィンドウの末尾までの時間を前記パケットが連続して出現した時間区間であると決定する手段と
を備えることを特徴とする請求項1に記載のユーザ待ち時間推定装置。
The continuous section identifying means includes
The total time of the extraction time slots included in the sliding window extending in the time progression direction from the continuity determination start position corresponding to a certain extraction time slot is calculated, and the ratio of the total time to the window time length is equal to or greater than a predetermined threshold value Determination means for determining whether or not there is;
When the determination means determines that the ratio of the total time to the window time length is equal to or greater than the predetermined threshold, the continuity determination start position is shifted to the next extraction time slot, and the shifted continuity is Sliding means for performing processing by the determination means based on the determination start position;
The determination unit and the sliding unit repeat the processing until it is determined that the ratio of the total time to the window time length is less than the predetermined threshold, and from the initial continuity determination start position to the last The means for determining that the time until the end of the sliding window, in which the ratio of the total time is determined to be equal to or greater than the threshold, is a time interval in which the packet appears continuously. The user waiting time estimation apparatus described.
前記スライディングウィンドウのウィンドウ時間長を、前記通信ネットワークにおけるRTTに基づき算出する算出手段を備えることを特徴とする請求項1又は2に記載のユーザ待ち時間推定装置。   3. The user waiting time estimation apparatus according to claim 1, further comprising a calculation unit configured to calculate a window time length of the sliding window based on an RTT in the communication network. 前記算出手段は、予め定めた時間長に、前記RTTの値を加えることにより得た値から、前記スライディングウィンドウのウィンドウ時間長を算出することを特徴とする請求項3に記載のユーザ待ち時間推定装置。   4. The user waiting time estimation according to claim 3, wherein the calculating means calculates a window time length of the sliding window from a value obtained by adding the value of the RTT to a predetermined time length. apparatus. TCPベースのアプリケーションサービスを提供するアプリケーションサーバに通信ネットワークを介して接続され、前記アプリケーションサービスを利用するユーザ端末におけるユーザ待ち時間を推定するユーザ待ち時間推定装置が実行するユーザ待ち時間推定方法であって、
前記アプリケーションサーバから前記ユーザ端末に向けて送信された各パケットを取得し、当該パケットを取得した時刻の情報とともに、当該パケットを記憶手段に格納するパケット取得ステップと、
前記パケット取得ステップにより取得されたパケット群から、予め定めた時間幅を有するタイムスロット毎のパケット数を算出するパケット数集計ステップと、
前記パケット数集計ステップにより算出されたタイムスロット毎のパケット数に基づき、パケット数が予め定めた検知閾値以上であるタイムスロット群を、抽出タイムスロット群として抽出する抽出ステップと、
所定のウィンドウ時間長を有するスライディングウィンドウを定め、スライディングウィンドウに含まれる抽出タイムスロットの合計時間と前記ウィンドウ時間長とに基づき、スライディングウィンドウを時間進行方向にずらしながら、パケットが連続して出現した時間区間である連続区間を識別する連続区間識別ステップと、
前記連続区間識別ステップにより識別された連続区間を、推定されたユーザ待ち時間として出力する出力ステップと
を備えることを特徴とするユーザ待ち時間推定方法。
A user waiting time estimation method executed by a user waiting time estimation apparatus that estimates a user waiting time in a user terminal that is connected to an application server that provides a TCP-based application service via a communication network and uses the application service, ,
A packet acquisition step of acquiring each packet transmitted from the application server to the user terminal and storing the packet in a storage unit together with information on a time when the packet is acquired;
From the packet group acquired by the packet acquisition step, a packet number counting step for calculating the number of packets for each time slot having a predetermined time width;
Based on the number of packets for each time slot calculated by the packet number counting step, an extraction step for extracting a time slot group whose number of packets is equal to or greater than a predetermined detection threshold as an extraction time slot group;
A sliding window having a predetermined window time length is defined, and a time at which packets continuously appear while shifting the sliding window in the time progress direction based on the total time of extraction time slots included in the sliding window and the window time length. A continuous section identification step for identifying continuous sections that are sections;
An output step of outputting the continuous section identified by the continuous section identification step as an estimated user waiting time.
コンピュータを、TCPベースのアプリケーションサービスを提供するアプリケーションサーバに通信ネットワークを介して接続され、前記アプリケーションサービスを利用するユーザ端末におけるユーザ待ち時間を推定するユーザ待ち時間推定装置として機能させるためのプログラムであって、コンピュータを、
前記アプリケーションサーバから前記ユーザ端末に向けて送信された各パケットを取得し、当該パケットを取得した時刻の情報とともに、当該パケットを記憶手段に格納するパケット取得手段、
前記パケット取得手段により取得されたパケット群から、予め定めた時間幅を有するタイムスロット毎のパケット数を算出するパケット数集計手段、
前記パケット数集計手段により算出されたタイムスロット毎のパケット数に基づき、パケット数が予め定めた検知閾値以上であるタイムスロット群を、抽出タイムスロット群として抽出する抽出手段、
所定のウィンドウ時間長を有するスライディングウィンドウを定め、スライディングウィンドウに含まれる抽出タイムスロットの合計時間と前記ウィンドウ時間長とに基づき、スライディングウィンドウを時間進行方向にずらしながら、パケットが連続して出現した時間区間である連続区間を識別する連続区間識別手段、
前記連続区間識別手段により識別された連続区間を、推定されたユーザ待ち時間として出力する出力手段、
として機能させるためのプログラム。
A program for connecting a computer to an application server that provides a TCP-based application service via a communication network and functioning as a user waiting time estimation device that estimates a user waiting time in a user terminal that uses the application service. Computer
Packet acquisition means for acquiring each packet transmitted from the application server to the user terminal, and storing the packet in a storage means together with information on the time when the packet was acquired;
A packet number counting means for calculating the number of packets per time slot having a predetermined time width from the packet group acquired by the packet acquisition means;
Extraction means for extracting a time slot group in which the number of packets is equal to or greater than a predetermined detection threshold based on the number of packets for each time slot calculated by the packet number counting means, as an extraction time slot group;
A sliding window having a predetermined window time length is defined, and a time at which packets continuously appear while shifting the sliding window in the time progress direction based on the total time of extraction time slots included in the sliding window and the window time length. Continuous section identifying means for identifying continuous sections that are sections;
Output means for outputting the continuous section identified by the continuous section identifying means as the estimated user waiting time;
Program to function as.
JP2010001586A 2010-01-06 2010-01-06 User waiting time estimation apparatus, user waiting time estimation method, and program Active JP4927180B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010001586A JP4927180B2 (en) 2010-01-06 2010-01-06 User waiting time estimation apparatus, user waiting time estimation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010001586A JP4927180B2 (en) 2010-01-06 2010-01-06 User waiting time estimation apparatus, user waiting time estimation method, and program

Publications (2)

Publication Number Publication Date
JP2011142473A true JP2011142473A (en) 2011-07-21
JP4927180B2 JP4927180B2 (en) 2012-05-09

Family

ID=44458025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010001586A Active JP4927180B2 (en) 2010-01-06 2010-01-06 User waiting time estimation apparatus, user waiting time estimation method, and program

Country Status (1)

Country Link
JP (1) JP4927180B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011142474A (en) * 2010-01-06 2011-07-21 Ntt Communications Kk Apparatus and method for estimating users' waiting time, and program
WO2013147226A1 (en) 2012-03-30 2013-10-03 日本電信電話株式会社 User sensory quality estimation device, terminal bottleneck determination device, similar operation extraction device, and methods and programs therefor
JP2015195530A (en) * 2014-03-31 2015-11-05 Kddi株式会社 communication behavior analysis apparatus
JP2016051189A (en) * 2014-08-28 2016-04-11 日本電信電話株式会社 Web-display waiting-time estimation device, method and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007221207A (en) * 2006-02-14 2007-08-30 Hitachi Ltd Managing apparatus and communication system
JP2011142474A (en) * 2010-01-06 2011-07-21 Ntt Communications Kk Apparatus and method for estimating users' waiting time, and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007221207A (en) * 2006-02-14 2007-08-30 Hitachi Ltd Managing apparatus and communication system
JP2011142474A (en) * 2010-01-06 2011-07-21 Ntt Communications Kk Apparatus and method for estimating users' waiting time, and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011142474A (en) * 2010-01-06 2011-07-21 Ntt Communications Kk Apparatus and method for estimating users' waiting time, and program
WO2013147226A1 (en) 2012-03-30 2013-10-03 日本電信電話株式会社 User sensory quality estimation device, terminal bottleneck determination device, similar operation extraction device, and methods and programs therefor
US9794149B2 (en) 2012-03-30 2017-10-17 Nippon Telegraph And Telephone Corporation User experienced quality estimation apparatus, terminal bottleneck determination apparatus, similar operation extraction apparatus, method and program
JP2015195530A (en) * 2014-03-31 2015-11-05 Kddi株式会社 communication behavior analysis apparatus
JP2016051189A (en) * 2014-08-28 2016-04-11 日本電信電話株式会社 Web-display waiting-time estimation device, method and program

Also Published As

Publication number Publication date
JP4927180B2 (en) 2012-05-09

Similar Documents

Publication Publication Date Title
KR100768387B1 (en) Fault analysis program, device and method, and recording medium recording the fault analysis program
US6839754B2 (en) Network tomography using closely-spaced unicast packets
US9282017B2 (en) Apparatus and method for analyzing a packet
JP2018521611A5 (en)
JP2005506605A (en) Calculating response time at the server site for any application
EP3906656A1 (en) System and method for estimation of quality of experience (qoe) for web browsing using passive measurements
JP2008283621A (en) Apparatus and method for monitoring network congestion state, and program
JP4927180B2 (en) User waiting time estimation apparatus, user waiting time estimation method, and program
US20070177598A1 (en) Communication conditions determination method, communication conditions determination system, and determination apparatus
JP5957419B2 (en) QoE estimation apparatus, QoE estimation method and program
JP4927181B2 (en) User waiting time estimation apparatus, user waiting time estimation method, and program
Shaikh et al. Modeling and analysis of web usage and experience based on link-level measurements
KR20110057529A (en) A system of measuring server&#39;s response time by using a dummy request tag and the method thereof
JP5485204B2 (en) Network quality measurement method, delay fluctuation estimation device, network monitoring system, and program
US20160143082A1 (en) Method for detecting a message from a group of packets transmitted in a connection
US9749203B2 (en) Packet analysis apparatus and packet analysis method
JP5199224B2 (en) Flow communication quality estimation method, apparatus and program
JP7003467B2 (en) Packet classification program, packet classification method and packet classification device
JP5192451B2 (en) Network quality calculation system and method and program
US20200296189A1 (en) Packet analysis apparatus, packet analysis method, and storage medium
JP6390161B2 (en) Information processing apparatus, information processing system, usable bandwidth estimation method, and program for estimating usable bandwidth
JP3908627B2 (en) Web page transfer time estimation device, Web page transfer time estimation program, and computer readable recording medium recording Web page transfer time estimation program
Bujlow et al. A method for evaluation of quality of service in computer networks
JP5637972B2 (en) Monitoring device, monitoring method and program
JP3872746B2 (en) Packet communication quality measuring method and system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120119

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4927180

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250