JP6343625B2 - 推定装置及び推定方法 - Google Patents

推定装置及び推定方法 Download PDF

Info

Publication number
JP6343625B2
JP6343625B2 JP2016033515A JP2016033515A JP6343625B2 JP 6343625 B2 JP6343625 B2 JP 6343625B2 JP 2016033515 A JP2016033515 A JP 2016033515A JP 2016033515 A JP2016033515 A JP 2016033515A JP 6343625 B2 JP6343625 B2 JP 6343625B2
Authority
JP
Japan
Prior art keywords
time
trial
estimation
web page
relative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016033515A
Other languages
English (en)
Other versions
JP2017151722A (ja
Inventor
川口 銀河
銀河 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016033515A priority Critical patent/JP6343625B2/ja
Publication of JP2017151722A publication Critical patent/JP2017151722A/ja
Application granted granted Critical
Publication of JP6343625B2 publication Critical patent/JP6343625B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、推定装置及び推定方法に関する。
インターネットの利用が普及している中で、ウェブブラウザを快適に利用できるかどうかは、ユーザが「インターネットを快適に利用できるか」に大きく影響する。
そのため、ユーザがウェブページを閲覧する際にブラウザを操作し、ブラウザがデータを読み込み・表示をするまでにかかる時間(以下、「ウェブページ表示時間」という。)を把握し、管理することが品質管理上重要である。
ウェブページ表示時間を把握するため、ブラウザにはNavigationTiming等の仕組みが供えられ、直接表示時間を知る手法なども普及してきている(非特許文献1、非特許文献2)。
本多他、「Navigation Timing APIを用いたWeb品質劣化切り分け」、コミュニケーションクオリティ研究会2014. 「Navigation Timing」、[online]、[平成27年10月26日検索]、インターネット(URL:http://www.w3.org/TR/navigation-timing/) H. Drucker, et al.,``Support Vector Regression Machines'',Advances in Neural Information Processing Systems 9, NIPS 1996,
しかしながら、NavigationTiming技術については、コンテンツ事業者(ウェブサーバ)やユーザ(クライアント端末)において利用されることが想定されており、データ転送を担当するキャリアが管理するネットワーク上において観測されるデータに対して適用することは困難である。
本発明は、上記の点に鑑みてなされたものであって、ネットワーク上の観測データからウェブブラウザの快適性を推定可能とすることを目的とする。
そこで上記課題を解決するため、推定装置は、ウェブブラウザでのウェブページの表示に関する複数回の試行のそれぞれにおいて観測された所定数のGETリクエストのURLのうち、各試行に含まれる割合が第1の閾値以上であるURLのリストを生成するリスト生成部と、前記試行ごとに、前記所定数のGETリクエストのうち、前記リストに含まれるURLに係るGETリクエストの比率を算出する算出部と、前記試行ごとに、前記所定数のGETリクエストの試行内での相対的な発生時期、前記比率、及び前記リストに含まれる各URLに係るGETリクエストの前記相対的な発生時期を含む情報と、前記試行ごとに計測された、前記ウェブページの表示が指示されてから、少なくとも前記ウェブページの表示に必要なデータの前記ウェブブラウザへの転送が完了するまでの所要時間との関係を、第1の推定モデルに学習させる第1のモデル生成部と、ネットワーク上において観測された、前記ウェブページに関する各GETリクエストの相対的な発生時期に前記第1の推定モデルを適用して、前記所要時間を推定する第1の推定部と、
を有する。
ネットワーク上の観測データからウェブブラウザの快適性を推定可能とすることができる。
第1の実施の形態における推定装置のハードウェア構成例を示す図である。 第1の実施の形態における推定装置の機能構成例を示す図である。 第1の実施の形態において推定装置が実行する処理手順の一例を説明するためのフローチャートである。 学習データを構成するHTTP−GETの発生履歴を示す図である。 学習データを構成する転送完了時間及び表示完了時間の履歴の例を示す図である。 第1の実施の形態における各試行についての学習閾値分のレコードの抽出結果の一例を示す図である。 各HTTP−GETの発生時刻の相対時刻への変換結果の一例を示す図である。 試行ごとの転送完了時間又は表示完了時間のベクトルの一例を示す図である。 第2の実施の形態における推定装置の機能構成例を示す図である。 第2の実施の形態において推定装置が実行する処理手順の一例を説明するためのフローチャートである。 第2の実施の形態における各試行についての学習閾値分のレコードの抽出結果の一例を示す図である。 URLごとの観測比率の算出結果の一例を示す図である。 共通URLリストの一例を示す図である。 共通URL比率の算出結果及び各共通URLの相対時刻の算出結果の一例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。まず、ウェブページの閲覧・表示におけるプロセスについて説明する。当該プロセスを極めて単純化すると、以下の通りである。
(1)ユーザによるクリック等を起点としたページ取得要求が発生する。
(2)ブラウザが対象URLの指すページのhtmlデータについてHTTP(HyperText Transfer Protocol)のGETリクエストで転送を要求すると、htmlデータがブラウザに転送される。
(3)htmlデータ内にサブコンテンツ(画像データ、必要script等)が示されており、ブラウザは、それらを順次解読処理し、HTTPのGETリクエストで取得する(HTTPでGET)。
(4)ブラウザは順次取得したサブコンテンツを処理して表示する。
一般のウェブページの閲覧では、httpsで暗号化されていない場合は、ネットワーク上でのパケットのやり取りを読み取る(パケットキャプチャする)ことで、個別のHTTPのGETリクエスト(以下、「HTTP−GET」と表記する。)の送出状況及び送出時刻を把握することが出来る。そこで、(4)の表示処理の分を省略して、少なくとも(1)から(3)までの所要時間(≒ウェブページの表示が指示されてから表示に必要なデータのブラウザへの転送が完了するまでの所要時間)を知ることが出来れば、簡易的に表示完了時間を推定することができる。以下、この「ウェブページの表示が指示されてから表示に必要なデータのブラウザへの転送が完了するまでの所要時間」を、単に、「転送完了時間」という。また、(1)〜(4)までの所要時間を、「表示完了時間」という。
しかし、HTTP−GETを観測することで、「転送完了時間」を特定するには以下の2点の問題がある。
(a)ウェブページの作りによっては、自動更新等により、ウェブページの表示完了後もHTTP−GETが継続して発生する。
(b)同じウェブページを同じ端末で繰り返し表示した場合、表示完了までに生じるHTTP−GETの数が必ずしも一定ではない。
まず、(a)により、一つのウェブページに関して「HTTP−GETの発生が終了するタイミング」はネットワーク上でGETリクエストの発生状況を観測する範囲では判断できないため、そもそも表示用データの転送の完了は、HTTP−GETの転送の完了と対応しない。
また、(b)により、ウェブページ毎にHTTP−GETの数に関して一定の閾値を事前に決定し、HTTP−GETのシーケンスを観測して当該閾値にGET回数が到達した時点をもってHTTP−GETの転送の完了と判断することも困難である。
そこで、本実施の形態では、転送完了(上記の(3)の完了)よりも手前の段階(上記の(3)の途中までの段階)でのHTTP−GETの発生履歴から、転送完了時間又は表示完了時間を推定する。
図1は、第1の実施の形態における推定装置のハードウェア構成例を示す図である。図1の推定装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
推定装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って推定装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、推定装置10は、それぞれが図1に示される構成を有する複数のコンピュータによって構成されてもよい。
図2は、第1の実施の形態における推定装置の機能構成例を示す図である。図2において、推定装置10は、学習データ取得部11、閾値決定部12、推定モデル生成部13、及び推定部14等を有する。これら各部は、推定装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。推定装置10は、また、学習データ記憶部15を利用する。学習データ記憶部15は、例えば、補助記憶装置102、又は推定装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
学習データ取得部11は、予め設定されたURLに係る、評価対象のウェブページ(以下「評価対象ページ」という。)について、転送完了時間又は表示完了時間の推定のための学習データを取得する。推定の対象が転送完了時間であれば、転送完了時間に関する学習データが取得され、推定の対象が表示完了時間であれば、表示完了時間に関する学習データが取得される。推定の対象が、転送完了時間及び表示完了時間のいずれであるかは、予め設定される。学習データは、ネットワークキャプチャデータの取得や、ウェブブラウザにおけるウェブページに関するデータ転送の完了又はウェブページの表示の完了等のタイミングの検知等を並行して実行することで取得される。学習データ取得部11は、同一の評価対象ページに関して複数回にわたって繰り返し行われるウェブページの表示指示及び表示ついて、ページ転送完了の時刻若しくはページ表示完了の時刻、及び転送されたHTTP−GET(HTTPのGETリクエスト)の発生履歴を示す学習データを取得する。取得された学習データは、学習データ記憶部15に記憶される。
閾値決定部12は、学習データに基づいて、転送完了時間又は表示完了時間の推定に用いるHTTP−GETの数(閾値)を決定する。
推定モデル生成部13は、閾値決定部12によって決定された閾値の範囲内の学習データを、統計的な推定モデルに学習させる。
推定部14は、学習データを学習した推定モデルを、ネットワーク上において観測された観測データ(GETリクエストの発生履歴)に対して適用して、転送完了時間及び表示完了時間のうち、推定対象として設定された方を推定する。
以下、推定装置10が実行する処理手順について説明する。図3は、第1の実施の形態において推定装置が実行する処理手順の一例を説明するためのフローチャートである。
ステップS110において、学習データ取得部11は、予めそのURLが設定されている評価対象ページを、推定装置10内のブラウザに表示させ、その際のHTTP−GETの発生履歴と、ブラウザによる評価対象ページの転送完了時間又は表示完了時間との実績値を取得する。学習データ取得部11は、取得されたデータ(学習データ)を、学習データ記憶部15に記憶する。なお、HTTP−GETの発生履歴については、転送の開始から転送完了時間までのものが取得される。すなわち、転送完了時間より後のHTTP−GETについては、当該発生履歴に含まれない。
HTTP−GETの発生履歴については、例えば、推定装置10内のtcpdump等のパケットキャプチャツールでパケットデータを取得した後、tshark等のキャプチャ解析ツールで、当該パケットデータをHTTP−GETの発生数及び時刻に変換することで取得されてもよい。例えば、キャプチャデータファイル名がdump.pcapであるとすると、以下のコマンドを実行することで、HTTP−GETの発生数、時刻、及びURLを得ることができる。
%tshark -r dump.pcap -Y http.request.uri -T fields -e frame.time_epoch-e http.request.full_uri ......
又は、推定装置10内にプロキシを設定し、ブラウザによるウェブページの表示時のプロキシログからHTTP−GETの時刻情報のログが取得されてもよい。
一方、ブラウザでの評価対象ページの転送完了時間及び表示完了時間については、例えば、NavigationTimingのAPI(Application Program Interface)により計測して数値化が可能である。
なお、ステップS110の1回の実行を、「試行」という。ステップS110は、事前に設定された試行回数(例えば、101回等)分だけ繰り返される。その結果、図4及び図5に示される情報によって構成される学習データが、取得される。
図4は、学習データを構成するHTTP−GETの発生履歴を示す図である。図4において、HTTP−GETの発生履歴は、各試行において検出されたHTTP−GETごとに、試行番号、URL、及び時刻等を含む。
試行番号は、何番目の試行において検出されたGETリクエストであるのかを示す値である。URLは、GETリクエストの宛先のURLである。時刻は、GETリクエストが発生した(検出された)時刻である。なお、試行ごとに、GETリクエストの数は異なりうるため、図4において、試行ごとの行数は異なりうる。
図5は、学習データを構成する転送完了時間及び表示完了時間の履歴の例を示す図である。図5には、各試行における、評価対象ページの転送完了時間及び表示完了時間が示されている。なお、推定の対象が転送完了時間である場合、転送完了時間のみが取得されてもよく、表示完了時間である場合、転送完了時間及び表示完了時間が取得されてもよい。
なお、図4と図5とにおいて、試行番号が共通するレコードは、同じ試行番号に関する学習データである。例えば、図5において、試行2(試行番号が2である試行)に関するHTTP−GETの発生履歴は、図4において試行番号が2であるレコードを参照することで特定できる。
なお、評価対象ページの表示に関する試行は、推定装置10とは異なる端末において実行されてもよい。この場合、ステップS110では、学習データが入力されるだけでよい。
続いて、閾値決定部12は、予め設定されている閾値決定法及びパラメータを、学習データに適用することで、閾値を決定する(ステップS120)。
まず、閾値決定部12は、HTTP−GET発生履歴(図4)について、試行ごとのレコード数を集計し、集計結果を昇順にソートする。図4の例では、試行1の集計結果は4であり、試行2の集計結果は5である。
続いて、閾値決定部12は、予め設定されている閾値決定法及びパラメータに基づいて、閾値を決定する。本実施の形態では、「分布の下位パーセンタイル指定」で、ソートした数字の小さい側から、事前に決められた分位点が閾値として決定される。
例えば、閾値決定法が、「分布の下位5パーセンタイル」であれば、ソート結果の最小値から5%の位置(すなわち、101回試行の場合、最小値から6個目の値)が閾値として決定される。
この理由は、最小値を用いると、異常終了してしまったサンプル等が含まれる場合、最小値が極めて小さくなり、推定に必要な適正なデータ数が得られない可能性があるためである。そこで、一定の分位点抽出で対応する。
以上により決定された閾値を、「学習閾値N」という。
続いて、推定モデル生成部13は、HTTP−GET発生履歴(図4)について、試行ごとに、時刻の値が小さい方から学習閾値N個分のレコード(すなわち、発生時期の早い順にN個のGETリクエストに関するレコード)を抽出する(ステップS130)。なお、レコードの数が学習閾値N未満である試行については、レコードの抽出は行われない。
図6は、第1の実施の形態における各試行について学習閾値分のレコードの抽出結果の一例を示す図である。図6では、レコードの抽出が行われた試行ごとに、試行番号、N個分のHTTP−GETの発生時刻が示されている。なお、図6では、M個の試行が、学習閾値N個以上のレコードを含んでいた例に対応する。
続いて、推定モデル生成部13は、レコードが抽出された試行ごとに、各HTTP−GETの発生時刻を、当該試行の最初のHTTP−GETの発生時刻からの相対値(相対時刻)に変換する(ステップS140)。すなわち、図6に示される各試行のGET−X(X=1〜N)時刻について、GET−1時刻からの差分(試行内の相対的な発生時期)が算出される。
図7は、各HTTP−GETの発生時刻の相対時刻への変換結果の一例を示す図である。図7には、図6に示した各試行の各HTTP−GETの発生時刻について、相対時刻への変換結果が示されている。なお、GET−1時刻については、各試行について、相対時刻は常に0となり情報量が無いので破棄する。その結果、各試行の列数はN−1となる。
続いて、推定モデル生成部13は、(GET数がN以上であった)試行ごとに、転送完了時間又は表示完了時間のベクトルを生成する(ステップS150)。
図8は、試行ごとの転送完了時間又は表示完了時間のベクトルの一例を示す図である。図8において、(1)は、図5に示した学習データに基づいて生成された、転送完了時間のベクトルである。(2)は、図5に示した学習データに基づいて生成された、表示完了時間のベクトルである。なお、推定対象が転送完了時間であれば、転送完了時間のベクトルのみが生成されてもよく、推定対象が表示完了時間であれば、表示完了時間のベクトルのみが生成されてもよい。
続いて、推定モデル生成部13は、予め設定された推定方法に基づいて、推定モデルを生成する(ステップS160)。本実施の形態では、推定方法として、サポートベクター回帰(SVR:SupportVectorRegression)が設定された例について説明する。但し、本実施の形態に適用可能な推定方法は、SVRに限定されず、他の方法が用いられてもよい。例えば、重回帰等が用いられてもよい。なお、SVR自体は、単なる機械学習の既知の手法であり、本実施の形態では、入力データの使い方及び出力とのマッピングがポイントである。
ここでは、学習データ(X)を以下のように構成する。
X=(X_1,X_2,...,X_(N−1))
但し、
X_1=[各試行のGET−2の相対時刻の長さMのベクトル]
=[0.032,0.200,...,0.222](図7の例)
X_(N−1)=[0.233,0.668,...,1.223]
また、学習データ(Y)を以下のように構成する。
転送完了時間が推定対象である場合、
Y=[転送完了時間の長さMのベクトル]=[2.5,2.9,...,4.1]
表示完了時間が推定対象である場合、
Y=[表示完了時間の長さMのベクトル]=[3.1,3.6,...,4.7]
推定モデル生成部13は、SVRのモデルEを生成し、上記のように構成した学習データ(X)及び学習データ(Y)で学習させる。すなわち、XとYとの関係を、モデルEに学習させる。
例えば、SVRの機能を持っているscikit-learnのライブラリにおける、SVRの使い方(http://scikit-learn.org)に準じれば、以下の記述によって、モデルEの生成と、学習とを行うことができる。
E=SVR() #モデル生成
E.fit(X、Y) #学習データで学習
続いて、推定部14は、モデルEを、ネットワーク上の観測データに対して適用し、当該観測データに関して、転送完了時間又は表示完了時間を推定する(ステップS170)。
具体的には、推定部14は、ネットワーク上において時系列に観測された評価対象ページに関する各HTTP−GETの発生時刻の履歴を取得する。推定部14は、当該各HTTP−GETの発生時刻について、最初のHTTP−GETの発生時刻からの相対的な発生時期(相対時刻)を算出する。その結果、相対時刻のベクトルX_newが得られる。
例えば、観測された各HTTP−GETの発生時刻の履歴が、以下の通りであったとする。
GET発生時刻の履歴:(2345.333,2345.999,2346.500,2347.000)
この場合、X_newの値は、以下の通りとなる。
X_new=[0.666,1.167,...,1.667]
推定部14は、X_newを推定モデルEに適用し、推定値T_eを得る。
T_e=E.predict(X_new)
このように推定されたT_eの値(例えば、3.8)が、観測データに関する「転送完了時間」又は「表示完了時間」の推定値である。すなわち、学習データ(Y)が転送完了時間のベクトルであれば、転送完了時間の推定値が得られる。学習データ(Y)が表示完了時間のベクトルであれば、表示完了時間の推定値が得られる。
なお、転送完了時間及び表示完了時間の双方の推定値が得られてもよい。
また、複数のURLのそれぞれごとに推定モデルを生成しておき、ネットワークにおいて観測されたGETリクエストに係るURLに対応する推定モデルを利用して、転送完了時間又は表示完了時間の推定が行われてもよい。
上述したように、本実施の形態によれば、ネットワーク上の観測データからウェブブラウザの快適性を推定可能とすることができる。
次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
第1の実施の形態による(GET時系列のみによる推定)では、転送完了時間及び表示完了時間等の待ち時間が大きくなる領域では、推定精度が落ちる可能性が有る。これは学習データの分布の裾(異常値)領域の問題であり、もともと推定がしにくい領域であるためである。
そこで、第2の実施の形態では、以下の2つのいずれか、又は双方を行うことで、精度低下問題を改善する。
(a)毎回の表示(試行)において共通的に観測される割合の高い「共通URL」のHTTP−GETにおける挙動を学習データに加味する。
(b)推定結果として「待ち時間が大きい」と判断された場合に、待ち時間が大きい範囲に特化した推定器で再推定を実施する。
以下の説明において、(a)のみが実施されるケースを「ケースA」という。また、(b)のみが実施されるケースを「ケースB」という。更に、(a)及び(b)の双方が実施されるケースを「ケースC」という。
図9は、第2の実施の形態における推定装置の機能構成例を示す図である。図9中、図2と同一部分には同一符号を付し、その説明は適宜省略する。
図9において、推定装置10は、更に、共通URLリスト生成部21、共通URL比率算出部22、異常閾値決定部23、再推定モデル生成部24、及び再推定部25を有する。これら各部は、推定装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。推定装置10は、また、共通URLリスト記憶部26を利用する。共通URLリスト記憶部26は、例えば、補助記憶装置102、又は推定装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
共通URLリスト生成部21は、HTTP−GETの発生履歴(図4)において、各試行に含まれる割合(試行あたりの出現頻度)が一定の閾値以上のURL(以下、「共通URL」という。)の集合(以下、「共通URLリスト」という。)を生成する。
共通URL比率算出部22は、試行ごとに、当該試行において観測されたHTTP−GET群に対する共通URLに係るHTTP−GET群の比率(以下、「共通URL比率」という。)を算出する。共通URL比率は、URLごとの観測時刻と共に学習データに加えられる。
異常閾値決定部23は、待ち時間が大きい範囲を識別するための閾値(以下、「異常閾値」という。)を決定する。
再推定モデル生成部24は、転送完了時間又は表示完了時間が異常閾値以上のデータに基づいて、待ち時間が大きい範囲に対応する推定モデル(以下、「再推定モデル」という。)を生成する。
再推定部25は、推定部14による推定結果が異常閾値より大きかった場合に、再推定モデルに基づいて転送完了時間又は表示完了時間を推定し、その推定結果によって、推定部14による推定結果を置き換える。
図10は、第2の実施の形態において推定装置が実行する処理手順の一例を説明するためのフローチャートである。図10中、図3と同一ステップには同一ステップ番号を付し、その説明は省略する。
図10では、ステップS130がステップS130aに置換されている。ステップS130aにおいて、推定モデル生成部13は、HTTP−GET発生履歴(図4)について、試行ごとに、学習閾値N個分のレコードを抽出する際に、時刻だけでなくURLも抽出する。
図11は、第2の実施の形態における各試行についての学習閾値分のレコードの抽出結果の一例を示す図である。図11では、HTTP−GET発生履歴の各レコードから、時刻及びURLが抽出されている。
続くステップS151〜S154は、ケースBが採用される場合は、実施されなくてよい。
ステップS151において、共通URLリスト生成部21は、図11におけるHTTP−GETのURLごとに、各試行に含まれる割合(以下、「観測比率」という。)を算出する。
或るURLの観測比率=全試行において当該URLが観測された回数/試行回数M
すなわち、観測比率は、1回の試行あたりに観測される回数である。URLごとの観測比率の算出結果の一例を図12に示す。
続いて、共通URLリスト生成部21は、観測比率が、予め設定された共通URL抽出閾値よりも大きいURL(共通URL)を抽出し、抽出された共通URLのリストである共通URLリストを生成する(S152)。生成された共通URLリストは、共通URLリスト記憶部26に記憶される。
例えば、共通URL抽出閾値=0.7とすると、図13に示されるような共通URLリストが生成される。なお、図13において、URL番号は、各共通URLを識別するための識別子である。図13では、共通URLがC個である例が示されている。以下におけるCは、共通URLの数を示す。
続いて、共通URL比率算出部22は、M回の試行ごとに、当該試行において発生したHTTP−GET(図4におけるHTTP−GET)の総数に対する共通URLの数の比率を算出する(S153)。或る試行に関して、共通URLの数とは、当該試行において発生したHTTP−GETのうち、共通URLリストに含まれるいずれかの共通URLに一致するHTTP−GETの数をいう。
続いて、共通URL比率算出部22は、M回の試行ごとに、共通URLリストに含まれている各共通URLについて、当該試行の先頭のHTTP−GETの発生時刻からの相対値(相対時刻)を算出する(S154)。ここで、共通URLリストのうち、当該試行に一致するURLが含まれている共通URLについては、当該URLの時刻についての相対時刻が算出される。一方、当該試行に一致するURLが含まれていない共通URLについては、予め設定されている「欠損URL代替時間」が、相対時刻として採用される。また、一つの試行内に同一の共通URLが複数回含まれている場合には、予め設定されている「重複URL選定方法」に従って、相対時刻が算出される。例えば、重複URL選定方法において、「最初」の共通URLの時刻が選択されることが設定されている場合には、時系列順において最初に出現した共通URLの時刻について相対時刻が算出される。また、重複URL選定方法において、「最後」の共通URLの時刻が選択されることが設定されている場合には、時系列順において最後に出現した共通URLの時刻について相対時刻が算出される。
ステップS153において算出された共通URL比率、及びステップS154における算出結果は、各HTTP−GETの発生時刻の相対時刻を示すデータ(図7)に追加される。
図14は、共通URL比率の算出結果及び各共通URLの相対時刻の算出結果の一例を示す図である。図14には、図7に示したデータに加え、共通URL比率及び各共通URLの相対時刻が試行ごとに示されている。なお、図14において、各共通URLの相対時刻を示す項目名は、「URL番号−Δt」の形式によって表現されている。
続くステップS160aは、ケースBが採用される場合には、第1の実施の形態と同様でよい。一方、ケースB以外が採用される場合、推定モデル生成部13は、学習データ(X)を以下のように構成する。
X=(X_1,X_2,...,X_(N+C))
但し、
X_(N+C)=[0.221,3.000,...,....,1.133]
すなわち、図14の行列(共通URL比率の列も含む)が、Xに代入される。
したがって、ケースB以外が採用される場合、ステップS160aでは、このような学習データ(X)が適用されて、第1の実施の形態と同様にモデルEが生成される。
続くステップS170aは、ケースBが採用される場合は、第1の実施の形態と同様でよい。一方、ケースB以外が採用される場合、X_newのデータ構造は、図14の1試行分(1行分)のデータ構造と同じベクトルとなる。この際、共通URL比率は、ネットワーク上で観測されたHTTP−GETの発生履歴のベクトルと、共通URLリスト記憶部26に記憶されている共通URLリストとに基づいて、上記した手順で算出される。また、ネットワーク上で観測されたHTTP−GETの発生履歴における、各共通URLの相対時刻についても、上記した手順で算出される。このようなX_newが適用されて、転送完了時間又は表示完了時間が推定される。
続く、ステップS180以降は、ケースAが採用される場合は実行されなくてよい。
ステップS180において、異常閾値決定部23は、異常閾値を決定する。異常閾値は、例えば、以下のように決定される。
Y_selfestimate=E.predict(X)
として学習データ(X)による予測結果Y_selfestimateを算出し、Y_selfestimateのベクトルの要素を数値の大きさで昇順にソートし、ソート結果の下位から「待ち時間異常値カットオフ比率」となる要素の値を、異常閾値とする。なお、学習データ(X)の値は、ケースBが採用される場合は、第1の実施の形態において説明した通りであり、ケースCが採用される場合は、ステップS160aにおいて説明した通りである。また、「待ち時間異常値カットオフ比率」は、例えば、分布の下位パーセンタイル指定によって、予め設定される。
なお、異常閾値は、ユーザによって予め設定されてもよい。この場合、ステップS180は実行されなくてもよい。
続いて、再推定モデル生成部24は、ステップS170aにおける推定結果であるT_eが、異常閾値より大きいか否かを判定する(S181)。
T_eが異常閾値以下である場合(S181でNo)、T_eが推定結果として確定される。T_eが異常閾値より大きい場合(S181でYes)、再推定モデル生成部24は、待ち時間が大きい範囲に特化した推定モデル(以下、「モデルE2」という。)を生成する(S182)。モデルE2の生成に際し、学習データ(Y2)及び学習データ(X2)が生成される。学習データ(Y2)は、第1の実施の形態において説明した学習データ(Y)から、異常閾値未満の値が除去されたベクトルである。例えば、転送完了時間に関する異常閾値が、2.7であるとすると、図8の(1)において、試行1の2.5は学習データ(Y2)に含まれず、試行2の2.9は学習データ(Y2)に含まれる。
また、学習データ(X2)には、学習データ(X)のうち、学習データ(Y2)に含まれる試行に対応した試行に関するデータのみが含まれる。このような学習データ(Y2)及び学習データ(X2)に基づいて、モデルE2の学習が行われる。
第1の実施の形態と同様に、SVRの機能を持っているscikit-learnのライブラリにおける、SVRの使い方に準じれば、以下の記述によって、モデルE2の生成と、学習とを行うことができる。
E2=SVR() #モデル生成
E2.fit(X2、Y2) #学習データで学習
続いて、再推定部25は、モデルE2を、ステップS170aにおいて使用した観測データに対して適用し、当該観測データに関して、転送完了時間又は表示完了時間を推定する(ステップS183)。
T_e'=E2.predict(X_new)
T_e'によって、T_eが置き換えられる。すなわち、T_e'が、推定結果として確定される。
この際、ケースB、ケースCのそれぞれの場合のX_newのデータ構造については、ステップS170aにおいて説明した通りである。
なお、第2の実施の形態において、共通URLリスト生成部21は、リスト生成部の一例である。共通URL比率算出部22は、算出部の一例である。推定モデル生成部13は、第1のモデル生成部の一例である。推定部14は、第1の推定部の一例である。再推定モデル生成部24は、第2のモデル生成部の一例である。再推定部25は、第2の推定部の一例である。モデルEは、第1の推定モデルの一例である。モデルE2は、第2の推定モデルの一例である。
評価対象ウェブページは、或るウェブページの一例である。転送完了時間及び表示完了時間は、試行ごとに計測された、前記或るウェブページの表示が指示されてから、少なくとも前記或るウェブページの表示に必要なデータのウェブブラウザへの転送が完了するまでの所要時間の一例である。共通URL抽出閾値は、第1の閾値の一例である。異常閾値は、第2の閾値の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 推定装置
11 学習データ取得部
12 閾値決定部
13 推定モデル生成部
14 推定部
15 学習データ記憶部
21 共通URLリスト生成部
22 共通URL比率算出部
23 異常閾値決定部
24 再推定モデル生成部
25 再推定部
26 共通URLリスト記憶部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス

Claims (6)

  1. ウェブブラウザでのウェブページの表示に関する複数回の試行のそれぞれにおいて観測された所定数のGETリクエストのURLのうち、各試行に含まれる割合が第1の閾値以上であるURLのリストを生成するリスト生成部と、
    前記試行ごとに、前記所定数のGETリクエストのうち、前記リストに含まれるURLに係るGETリクエストの比率を算出する算出部と、
    前記試行ごとに、前記所定数のGETリクエストの試行内での相対的な発生時期、前記比率、及び前記リストに含まれる各URLに係るGETリクエストの前記相対的な発生時期を含む情報と、前記試行ごとに計測された、前記ウェブページの表示が指示されてから、少なくとも前記ウェブページの表示に必要なデータの前記ウェブブラウザへの転送が完了するまでの所要時間との関係を、第1の推定モデルに学習させる第1のモデル生成部と、
    ネットワーク上において観測された、前記ウェブページに関する各GETリクエストの相対的な発生時期に前記第1の推定モデルを適用して、前記所要時間を推定する第1の推定部と、
    を有することを特徴とする推定装置。
  2. 前記第1の推定部によって推定された前記所要時間が第2の閾値より大きい場合に、前記複数回の試行のうち、前記所要時間が前記第2の閾値より大きい第1の試行の前記所要時間と、前記第1の試行ごとに、前記所定数のGETリクエストの前記相対的な発生時期、前記比率、及び前記リストに含まれる各URLに係るGETリクエストの前記相対的な発生時期を含む情報との関係を、第2の推定モデルに学習させる第2のモデル生成部と、
    ネットワーク上において観測された、前記ウェブページに関する各GETリクエストの相対的な発生時期に前記第2の推定モデルを適用して、前記所要時間を推定する第2の推定部と、
    を有することを特徴とする請求項1記載の推定装置。
  3. ウェブブラウザでのウェブページの表示に関する複数回の試行のそれぞれにおけるに所定数のGETリクエストのそれぞれについての試行内での相対的な発生時期と、前記試行ごとに計測された、前記ウェブページの表示が指示されてから、少なくとも前記ウェブページの表示に必要なデータの前記ウェブブラウザへの転送が完了するまでの所要時間との関係を、第1の推定モデルに学習させる第1のモデル生成部と、
    ネットワーク上において観測された、前記ウェブページに関する各GETリクエストの相対的な発生時期に、前記第1の推定モデルを適用して、当該GETリクエストに関する前記所要時間を推定する第1の推定部と、
    前記第1の推定部によって推定された前記所要時間が第2の閾値より大きい場合に、前記複数回の試行のうち、前記所要時間が前記第2の閾値より大きい第1の試行の前記所要時間と、前記第1の試行ごとの前記所定数のGETリクエストの前記相対的な発生時期との関係を、第2の推定モデルに学習させる第2のモデル生成部と、
    ネットワーク上において観測された、前記ウェブページに関する各GETリクエストの相対的な発生時期に前記第2の推定モデルを適用して、前記所要時間を推定する第2の推定部と、
    を有することを特徴とする推定装置。
  4. ウェブブラウザでのウェブページの表示に関する複数回の試行のそれぞれにおいて観測された所定数のGETリクエストのURLのうち、各試行に含まれる割合が第1の閾値以上であるURLのリストを生成するリスト生成手順と、
    前記試行ごとに、前記所定数のGETリクエストのうち、前記リストに含まれるURLに係るGETリクエストの比率を算出する算出手順と、
    前記試行ごとに、前記所定数のGETリクエストの試行内での相対的な発生時期、前記比率、及び前記リストに含まれる各URLに係るGETリクエストの前記相対的な発生時期を含む情報と、前記試行ごとに計測された、前記ウェブページの表示が指示されてから、少なくとも前記ウェブページの表示に必要なデータの前記ウェブブラウザへの転送が完了するまでの所要時間との関係を、第1の推定モデルに学習させる第1のモデル生成手順と、
    ネットワーク上において観測された、前記ウェブページに関する各GETリクエストの相対的な発生時期に前記第1の推定モデルを適用して、前記所要時間を推定する第1の推定手順と、
    をコンピュータが実行することを特徴とする推定方法。
  5. 前記第1の推定手順において推定された前記所要時間が第2の閾値より大きい場合に、前記複数回の試行のうち、前記所要時間が前記第2の閾値より大きい第1の試行の前記所要時間と、前記第1の試行ごとに、前記所定数のGETリクエストの前記相対的な発生時期、前記比率、及び前記リストに含まれる各URLに係るGETリクエストの前記相対的な発生時期を含む情報との関係を、第2の推定モデルに学習させる第2のモデル生成手順と、
    ネットワーク上において観測された、前記ウェブページに関する各GETリクエストの相対的な発生時期に前記第2の推定モデルを適用して、前記所要時間を推定する第2の推定手順と、
    をコンピュータが実行することを特徴とする請求項4記載の推定方法。
  6. ウェブブラウザでのウェブページの表示に関する複数回の試行のそれぞれにおけるに所定数のGETリクエストのそれぞれについての試行内での相対的な発生時期と、前記試行ごとに計測された、前記ウェブページの表示が指示されてから、少なくとも前記ウェブページの表示に必要なデータの前記ウェブブラウザへの転送が完了するまでの所要時間との関係を、第1の推定モデルに学習させる第1のモデル生成手順と、
    ネットワーク上において観測された、前記ウェブページに関する各GETリクエストの相対的な発生時期に、前記第1の推定モデルを適用して、当該GETリクエストに関する前記所要時間を推定する第1の推定手順と、
    前記第1の推定手順において推定された前記所要時間が第2の閾値より大きい場合に、前記複数回の試行のうち、前記所要時間が前記第2の閾値より大きい第1の試行の前記所要時間と、前記第1の試行ごとの前記所定数のGETリクエストの前記相対的な発生時期との関係を、第2の推定モデルに学習させる第2のモデル生成手順と、
    ネットワーク上において観測された、前記ウェブページに関する各GETリクエストの相対的な発生時期に前記第2の推定モデルを適用して、前記所要時間を推定する第2の推定手順と、
    をコンピュータが実行することを特徴とする推定方法。
JP2016033515A 2016-02-24 2016-02-24 推定装置及び推定方法 Active JP6343625B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016033515A JP6343625B2 (ja) 2016-02-24 2016-02-24 推定装置及び推定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016033515A JP6343625B2 (ja) 2016-02-24 2016-02-24 推定装置及び推定方法

Publications (2)

Publication Number Publication Date
JP2017151722A JP2017151722A (ja) 2017-08-31
JP6343625B2 true JP6343625B2 (ja) 2018-06-13

Family

ID=59739049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016033515A Active JP6343625B2 (ja) 2016-02-24 2016-02-24 推定装置及び推定方法

Country Status (1)

Country Link
JP (1) JP6343625B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019086928A (ja) * 2017-11-06 2019-06-06 ファナック株式会社 制御装置及び機械学習装置

Also Published As

Publication number Publication date
JP2017151722A (ja) 2017-08-31

Similar Documents

Publication Publication Date Title
US10204035B1 (en) Systems, methods and devices for AI-driven automatic test generation
US8078691B2 (en) Web page load time prediction and simulation
US20150088959A1 (en) Method and system for automated transaction analysis
CN106411639A (zh) 访问数据的监控方法及系统
CN108701130A (zh) 使用自动浏览群集更新提示模型
Saverimoutou et al. Web browsing measurements: An above-the-fold browser-based technique
JP5957419B2 (ja) QoE推定装置、QoE推定方法及びプログラム
JP6423529B2 (ja) ユーザ推定装置、ユーザ推定方法、および、ユーザ推定プログラム
JP6343625B2 (ja) 推定装置及び推定方法
CN107040504A (zh) 测试方法和装置
JP2004348640A (ja) ネットワーク管理システム及びネットワーク管理方法
JP6218767B2 (ja) ユーザ対話パターンモニタのための方法、サーバ、及びエージェント
US20190089795A1 (en) Communication analysis device, communication analysis method, and program recording medium
JP6280092B2 (ja) 推定装置及び推定方法
Suffian et al. Performance testing: Analyzing differences of response time between performance testing tools
JP6199844B2 (ja) 被疑箇所推定装置及び被疑箇所推定方法
JP5979185B2 (ja) 運用管理装置、運用管理システム、情報処理方法、及び運用管理プログラム
JP4451188B2 (ja) 情報処理システム、及び情報処理システムの制御方法
CN115509851A (zh) 页面监控方法、装置及设备
JP2019219786A (ja) 品質推定装置、品質推定方法及びプログラム
JP5590196B2 (ja) 運用管理装置、運用管理システム、情報処理方法、及び運用管理プログラム
WO2022034657A1 (ja) 閲覧離脱確率推定装置、閲覧離脱確率推定方法及びプログラム
JP6426535B2 (ja) テスト支援装置、及びテスト支援方法
JP6056094B2 (ja) サイト分析システム、サイト分析方法、サーバ装置、及びプログラム
JP6767425B2 (ja) 分析装置および分析方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180521

R150 Certificate of patent or registration of utility model

Ref document number: 6343625

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150