【文献】
下田 晃弘 Akihiro Shimoda,DNSログとフローの突合によるサービス毎トラフィック量推定方法,電子情報通信学会2015年総合大会講演論文集 通信2 PROCEEDINGS OF THE 2015 IEICE GENERAL CONFERENCE,2015年 2月24日,P.203,B-7-53
(58)【調査した分野】(Int.Cl.,DB名)
それぞれが複数のサービスを提供する複数のサーバのいずれかに対する、前記サービスの識別情報を含むアクセスについて、前記各サーバの前記識別情報ごとのアクセス数を記録する学習部と、
いずれかの前記サーバに対する、前記識別情報を含まないアクセスが観測されると、当該サーバに関して記録されている前記識別情報ごとのアクセス数に基づいて、当該アクセスの対象のサービスを推定する推定部と、
を有することを特徴とするサービス推定装置。
前記推定部は、いずれかの前記サーバに対する、前記識別情報を含むアクセスが観測されると、当該サーバに関して所定期間に記録された前記識別情報ごとのアクセス数に基づいて、当該アクセスの対象のドメイン名を推定する、
ことを特徴とする請求項1記載のサービス推定装置。
それぞれが複数のサービスを提供する複数のサーバのいずれかに対する、前記サービスの識別情報を含むアクセスについて、前記各サーバの前記識別情報ごとのアクセス数を記録する学習手順と、
いずれかの前記サーバに対する、前記識別情報を含まないアクセスが観測されると、当該サーバに関して記録されている前記識別情報ごとのアクセス数に基づいて、当該アクセスの対象のサービスを推定する推定手順と、
をコンピュータが実行することを特徴とするサービス推定方法。
【発明を実施するための形態】
【0012】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、SNI(Server Name Indication)対応クライアントからのサーバへのアクセスに基づきサービスへのアクセス状況を学習し、学習結果に基づきSNI非対応クライアントからのアクセスの対象のサービスを推定する。
【0013】
具体的には、サーバに対する通信を逐次観測し、観測時点までに蓄積された統計情報に基づいてサービスを逐次推定するリアルタイム法と、一定期間において観測された通信を対象に、全通信の統計情報に基づいてサービスを一括推定するバッチ法の2つの手法について開示する。
図1に、リアルタイム法のイメージとバッチ法のイメージとを示す。
【0014】
リアルタイム法は通信の開始時にサービスを推定するため、即応性が必要なシステムに適している。バッチ法は通信の開始前のみならず終了後の統計量を利用可能であるため、より精度のよい推定が可能である。
【0015】
第1〜第4の実施の形態はリアルタイム法に関し、第5〜第7の実施の形態はバッチ法に関する。
【0016】
なお、本実施の形態において、サーバとは、IPアドレスを識別情報とする単位(すなわち、IPアドレスによって区別される単位)である。サービスとは、FQDN(Fully Qualified Domain Name)又はFQDNからホスト名を除いたドメイン名を識別情報とする単位(すなわち、FQDN又はFQDNからホスト名を除いたドメイン名によって区別される単位)である。
【0017】
図2は、第1の実施の形態におけるサービス推定装置のハードウェア構成例を示す図である。
図2のサービス推定装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
【0018】
サービス推定装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0019】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってサービス推定装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0020】
図3は、第1の実施の形態におけるサービス推定装置の機能構成例を示す図である。
図3において、サービス推定装置10は、SNI判定部11、サービス学習部12、及びサービス推定部13等を有する。これら各部は、サービス推定装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。サービス推定装置10は、また、統計情報記憶部14を利用する。統計情報記憶部14は、例えば、補助記憶装置102、又はサービス推定装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【0021】
SNI判定部11は、観測されたHTTPSセッション(クライアントからサーバへのアクセス)について、SNIが含まれているか否かを判定する。サービス学習部12は、SNI情報が含まれていないアクセスについて、サーバ別及びサービス別のアクセス回数を統計情報記憶部14に記録する。サービス推定部13は、SNI情報が含まれていないアクセスについて、サービスを推定する。
【0022】
なお、第1の実施の形態において、サービス推定装置10は、サーバとクライアントとのネットワークのパケットを観測可能な位置であれば、どのような位置に配置されてもよい。
【0023】
以下、サービス推定装置10が実行する処理手順について説明する。
図4は、第1の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
【0024】
SNI判定部11は、ネットワークにおいて、クライアントc
iからサーバs
jへのアクセスを観測(検出)すると(S110でYes)、アクセス内容にSNI情報が含まれているか否かを判定する(S120)。当該アクセスは、例えば、SSL(Secure Socket Layer)のシーケンスにおける「ClientHello」であってもよい。
【0025】
アクセス内容にSNI情報が含まれている場合(S120でYes)、統計情報記憶部14に記憶されている統計情報を更新することで、サービスを学習する。統計情報には、サーバごとのサービスの集合と、各サーバのサービスごとのセッション数(SSLアクセス数)とが含まれる。ここで、アクセス内容に含まれていたSNI情報が示すサービスが、d
kであり、サーバs
jのサービスの集合がD
sjであり、サーバs
jのサービスd
kに対するセッション数がN
sj(d
k)であるとする。すなわち、D
sjは、サービスの集合が記録されるデータであり、N
sj(d
k)は、サーバs
jのサービスd
kに対するセッション数が記録されるデータである。なお、本実施の形態において、「セッション」とは、SSLセッションをいう。
【0026】
まず、サービス学習部12は、D
sjにd
kを記録済みであるか否かを判定する(S130)。D
sjにd
kが記録されていない場合(S130でYes)、サービス学習部12は、D
sjにd
kを記録する(S140)。続いて、サービス学習部12は、N
sj(d
k)に1を記録する(S150)。一方、D
sjにd
kが記録されている場合(S130でNo)、サービス学習部12は、N
sj(d
k)に1を加算した結果を、N
sj(d
k)に記録する(S160)。
【0027】
一方、アクセス内容にSNI情報が含まれていない場合(S120でNo)、サービス推定部13は、以下の確率P(d')に従って、サービスd'を選択し、選択結果をサービスの推定結果とする(S170)。
【0028】
【数1】
ここで、確率P(d')に従ってサービスd'を選択するとは、サービスd'が確率P(d')の確率で選択されるようにサービスd'を選択するということである。例えば、0〜1の範囲の乱数について、当該範囲を各d'の確率P(d')に応じた割合で分割してもよい。サービス推定部13は、当該乱数を発生させて、発生した値が属する範囲に対応するサービスd'を選択してもよい。
【0029】
上述したように、第1の実施の形態によれば、SNI対応クライアントからのアクセスに基づきサービスを学習し、学習結果に基づきSNI非対応クライアントからのアクセスの対象のサービスを推定することができる。その結果、例えば、SNI非対応クライアントのアクセスのデータを用いて、精度の高いサービス毎のトラヒック分析を行うことを可能とすることができる。
【0030】
次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
【0031】
第1の実施の形態では、学習期間の特段の制限は設けられていない。しかし、例えば、CDN(Content Delivery Network)の場合、サーバ側の制御によって配信サービスが時間変化するため、古い学習結果は誤推定の要因となる可能性が有る。第2の実施の形態では、斯かる問題を解決する。
【0032】
図5は、第2の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
図5中、
図4と同一ステップには同一ステップ番号を付し、その説明は省略する。
【0033】
図5では、ステップS150、S160、S170の代わりに、ステップS150a、S160a、S170aが実行される。また、ステップS160aに続いてステップS161が実行される。なお、
図5において、N
sj(d
k)は、サーバs
jのサービスd
kへのアクセスが観測(検出)された時刻の集合である。また、ステップS110におけるアクセスの観測時刻(最後のアクセスの観測時刻)は、時刻tであるとする。
【0034】
ステップS150aにおいて、サービス学習部12は、N
sj(d
k)に対して{t}を記録する(S150a)。すなわち、ステップS110におけるアクセスの観測時刻がN
sj(d
k)に追加される。
【0035】
ステップS160aにおいて、サービス学習部12は、以下の演算を行う。
【0036】
【数2】
但し、δは、学習履歴の保持期間である。すなわち、ステップS160aでは、時刻tから遡って保持期間δ内の時刻がN
sj(d
k)から抽出されて、N
sj(d
k)に代入される。
【0037】
続いて、サービス学習部12は、N
sj(d
k)と{t}との論理和をN
sj(d
k)に記録する(S161)。
【0038】
ステップS170aにおいて、サービス推定部13は、以下の確率P(d')に従って、サービスd'を選択し、選択結果をサービスの推定結果とする。
【0039】
【数3】
但し、|X|は、Xの要素数を表し、以下においても同様である。すなわち、|N
sj(d)|は、サーバs
jのサービスdに対するアクセス数を示す。
【0040】
式(3)では、時刻tのアクセス先であるサーバs
jのサービスd
kごとに、時刻tから遡って保持期間δ内の時刻がNs
j(d
k)に代入される。式(4)では、サーバs
jのサービスd'ごとに、当該サービスd'の保持期間δ内のアクセス数について、サーバs
jの全てのサービスの保持期間δ内のアクセス数の総和に対する割合が確率P(d')として算出される。
【0041】
すなわち、時刻tから保持期間δ内の学習結果に基づいて、確率P(d')が計算される。なお、確率P(d')に従って、サービスd'を選択することの意味は、第1の実施の形態と同様である。
【0042】
上述したように、第2の実施の形態によれば、古い学習結果に基づく誤推定の可能性を低下させることができる。
【0043】
次に、第3の実施の形態について説明する。第3の実施の形態では第1の実施の形態と異なる点について説明する。第3の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
【0044】
第1の実施の形態では特定クライアントから膨大な量のアクセスがあった場合に確率分布が偏ってしまう。そこで、第3の実施の形態では、確率分布の偏りを回避する例について説明する。
【0045】
図6は、第3の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
図6中、
図4と同一ステップには同一ステップ番号を付し、その説明は省略する。
【0046】
図6では、ステップS150に続いて、ステップS151が実行される。また、ステップS160の前に、ステップS155及びS156が実行される。
【0047】
ステップS151において、サービス学習部12は、C
sj,dkにc
iを記録する。ここで、C
sj,dkは、サーバs
jのサービスd
kにアクセスしたクライアントの集合である。c
iは、ステップS101において観測されたアクセスのアクセス元のクライアントの識別情報である。
【0048】
ステップS155において、サービス学習部12は、C
sj,dkにc
iが含まれているか否かを判定する。すなわち、クライアントc
iが、サーバs
jのサービスd
kに既にアクセスしていたか否かが判定される。クライアントc
iが、サーバs
jのサービスd
kにアクセスしていなかった場合(S155でYes)、サービス学習部12は、C
sj,dkにc
iを追加する(S156)。続いて、サービス学習部12は、N
sj(d
k)に1を加算した結果を、N
sj(d
k)に記録する(S160)。
【0049】
一方、クライアントc
iが、サーバs
jのサービスd
kにアクセスしていた場合(S155でNo)、ステップS156及びS160は実行されない。すなわち、第3の実施の形態において、同一のクライアントによる同一のサーバ及び同一のサービスに対するアクセスは、重複してカウントされない。したがって、N
sj(d
k)は、セッション数ではなく、クライアント数を意味する。その結果、アクセスの確率分布の偏りを回避することができる。
【0050】
なお、ステップS170の内容は、第1の実施の形態と同様でよい。
【0051】
次に、第4の実施の形態について説明する。第4の実施の形態では第3の実施の形態と異なる点について説明する。第4の実施の形態において特に言及されない点については、第3の実施の形態と同様でもよい。
【0052】
第4の実施の形態では、第3の実施の形態に対して第2の実施の形態が組み合わされる。
【0053】
図7は、第4の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
図7中、
図6と同一ステップには同一ステップ番号を付し、その説明は省略する。
【0054】
図7では、ステップS120でYesの場合に、サービス学習部12は、T(c
i)に対して時刻tを記録する(S121)。T(c
i)は、クライアントc
iによる最後のアクセスが観測された時刻である。すなわち、第4の実施の形態では、アクセスが観測されたクライアントごとに、当該クライアントが最後にいずれかのサーバにアクセスした時刻が統計情報記憶部14のT(c
i)に記録される。
【0055】
なお、
図7では、ステップS150及びS160は実行されなくてよい。
【0056】
また、
図7では、ステップS170がステップS170bに置き換わる。ステップS170bにおいて、サービス推定部13は、以下の確率P(d')に従って、サービスd'を選択し、選択結果をサービスの推定結果とする。
【0057】
【数4】
すなわち、式(5)では、サーバs
jのサービスd
kにアクセスしたクライアントの集合であるC
sj,dkのうち、T(c
i)が時刻tから遡って保持期間δ内のc
iが、N
sj(d
k)に代入される。すなわち、最後のアクセス時刻が保持期間δ内のc
iがN
sj(d
k)に代入される。N
sj(d
k)は、サーバs
jの全てのサービスdkについて生成される。
【0058】
また、式(6)では、サーバs
jのサービスd'ごとに、当該サービスd'の保持期間δ内のクライアント数について、サーバs
jの全てのサービスの保持期間δ内のクライアント数の総和に対する割合が確率P(d')として算出される。なお、確率P(d')に従って、サービスd'を選択することの意味は、第1の実施の形態と同様である。
【0059】
なお、第1〜第4の実施の形態では、確率的にサービスd'が選択される。但し、以下の式に基づいて、決定的にサービスd'が選択されてもよい。
【0060】
【数5】
すなわち、式(7)は、第1及び第3の実施の形態のように、N
sj(d')がアクセス数又はクライアント数である場合に、最大のN
sj(d')のサービスd'が選択されることを示す。また、式(8)は、第2及び第4の実施の形態のように、N
sj(d')がアクセス時刻の集合である場合に、要素数が最大のN
sj(d')のサービスd'が選択されることを示す。
【0061】
次に、第5の実施の形態について説明する。第5の実施の形態では第1の実施の形態と異なる点について説明する。第5の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。なお、第5の実施の形態以降は、バッチ法に関する実施形態である。
【0062】
図8は、第5の実施の形態におけるサービス推定装置の機能構成例を示す図である。
図8中、
図3と同一又は対応する部分には同一符号を付している。
【0063】
図8において、サービス推定装置10は、サービス学習部12の代わりに統計化処理部15を有する。統計化処理部15は、HTTPSトラヒック情報に基づいて、所定期間(以下、「観測期間T」という。)におけるサービスへのアクセスのうち、SNI対応クライアントからのアクセスに関する統計情報を計測又は算出する。計測又は算出された統計情報は、統計情報記憶部14に記憶される。具体的には、統計化処理部15は、観測期間Tにおいて、SNI対応クライアントからのアクセスの通信量をサービス別に計測する。本実施の形態において、セッション数及びトラヒック量が通信量の一例である。
【0064】
サービス推定部13は、HTTPSトラヒック情報と、統計情報記憶部14に記憶された情報とに基づいて、観測期間TにおけるSNI非対応クライアントからのアクセスをも含む通信量を、サービス別に推定する。
【0065】
なお、HTTPSトラヒック情報には、観測期間Tにおける、いずれかのクライアントによる、いずれかのサーバのいずれかのサービスへのアクセス(セッション)ごとに、クライアントの識別情報、SNI情報、サーバの識別情報、及びトラヒック量を示す情報(以下、「アクセスログ」という。)が含まれている。但し、SNI情報は、SNI情報が含まれているアクセスについてのみアクセスログに含まれている。
【0066】
図9は、第5の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
図9の処理手順は、観測期間Tの後に、観測期間Tにおいて観測されたHTTPSトラヒック情報について実行される。
【0067】
ステップS201において、統計化処理部15は、HTTPSトラヒック情報においてSNIが含まれているアクセスログに基づいて、観測期間Tにおいていずれかのサーバs
jにアクセスした全てのSNI対応クライアントc
sj={c
1,・・・,c
I}を特定する。
【0068】
続いて、統計化処理部15は、HTTPSトラヒック情報に基づいて、観測期間Tにおいてアクセスされたサーバs
jごとに、当該サーバ
sjが提供する全サービスD
sj={d
1,・・・,d
K}を特定する(S202)。
【0069】
続いて、統計化処理部15は、SNI対応クライアントc
iごとに、サービスd
kごとのセッション数n(c
i,d
k)を、HTTPSトラヒック情報に基づいて集計する(S203)。続いて、統計化処理部15は、SNI対応クライアントc
iごとに、サービスd
kごとのトラヒック量v(c
i,d
k)を、HTTPSトラヒック情報に基づいて集計する(S204)。
【0070】
続いて、統計化処理部15は、各サーバs
jのサービスd
kごとの総セッション数N
sj(d
k)を、以下の演算により算出する(S205)。
【0071】
【数6】
すなわち、ステップS203において集計されたn(c
i,d
k)について、サーバs
jのサービスd
kごとの総和が算出される。
【0072】
続いて、統計化処理部15は、各サーバs
jのサービスd
kごとの総トラヒック量V
sj(d
k)を、以下の演算により算出する(S206)。
【0073】
【数7】
すなわち、ステップS204において集計されたv(c
i,d
k)について、サーバs
jのサービスd
kごとの総和が算出される。
【0074】
なお、ステップS205及びS206における算出結果は、統計情報記憶部14に記憶される。
【0075】
続いて、サービス推定部13は、HTTPSトラヒック情報のうち、SNI情報が含まれていないアクセスログに基づいて、全SNI非対応クライアントによるサーバs
jごとのセッション数N'
sjを集計する(S207)。
【0076】
続いて、サービス推定部13は、HTTPSトラヒック情報のうち、SNI情報が含まれていないアクセスログに基づいて、全SNI非対応クライアントによるサーバs
jごとのトラヒック量V'
sjを集計する(S208)。
【0077】
続いて、サービス推定部13は、以下の演算を行って、SNI対応クライアント及びSNI非対応クライアントを問わない全てのクライアントと、各サーバs
jの各サービスd
kとの総セッション数N
sj(d
k)を算出する(S209)。
【0078】
【数8】
すなわち、ステップS206の算出結果に対して、N
sj(d
k)の確率にN'
sjを乗じた値を加算した結果が、N
sj(d
k)の推定値として算出される。換言すれば、ステップS205において算出された各N
sj(d
k)の比に基づいて、各N
sj(d
k)に対してN'
sjが配分される。
【0079】
続いて、サービス推定部13は、以下の演算を行って、SNI対応クライアント及びSNI非対応クライアントを問わない全てのクライアントと、各サーバs
jの各サービスd
kとのトラヒック量V
sj(d
k)を算出する(S210)。
【0080】
【数9】
すなわち、ステップS207の算出結果に対して、V
sj(d
k)の確率にN'
sjを乗じた値を加算した結果が、V
sj(d
k)の推定値として算出される。換言すれば、ステップS206において算出された各V
sj(d
k)の比に基づいて、各V
sj(d
k)に対してV'
sjが配分される。
【0081】
上述したように、第5の実施の形態によれば、過去の一定期間における観測結果に基づいて、SNI非対応のクライアントによるアクセスも含む、各サービスへのアクセスの統計情報を得ることができる。
【0082】
次に、第6の実施の形態について説明する。第6の実施の形態では第5の実施の形態と異なる点について説明する。第6の実施の形態において特に言及されない点については、第5の実施の形態と同様でもよい。
【0083】
一般的に、サービスの内容が異なる場合、セッションあたりのトラヒック量(以下、「セッション長」という。)の分布も異なる。例えば、動画サービスの場合はセッション長が相対的に長くなり、Webページなどのテキストではセッション長は相対的に短くなる。第6の実施の形態では、このような事情を考慮することで推定精度を向上させる。
【0084】
図10は、第6の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
【0085】
ステップS301において、統計化処理部15は、HTTPSトラヒック情報に基づいて、観測期間Tにおいてアクセスされたサーバs
jごとに、当該サーバs
jが提供する全サービスD
sj={d
1,・・・,d
K}を特定する。
【0086】
続いて、統計化処理部15は、サーバs
jごとに以下の演算を行うことにより、各サーバs
jの各サービスd
kのセッション長の確率分布であるセッション長分布L
sj(d
k)を算出する。
【0087】
【数10】
但し、n
dk(l)は、サービスd
kについてセッション長lのセッションが観測された回数である。n
dk(l)は、HTTPSトラヒック情報から集計可能である。また、l
cは、0〜∞の任意のセッション長である。ここで、便宜上セッション長の最大値を∞と表現しているが、実際には過去に観測された最大のセッション長を記録しておき、その値とすれば良い。すなわち、ステップS302では、サービスd
kについて、n
dk(l)の総和が求められ、0〜∞の各セッション長l
cの観測回数n
dk(l
c)について、当該総和に対する割合の分布が算出される。
【0088】
続いて、サービス推定部13は、HTTPSトラヒック情報に含まれているアクセスログのうち、SNI情報が含まれていないアクセスログに基づいて、観測期間Tにおける、SNI非対応クライアントからのサーバs
jへの各アクセス(セッション)を特定し、それぞれのアクセスのセッション長l
cに基づいて、以下の確率P(d')に従って、各アクセスのサービスd'を選択する(S303)。選択結果が、サービスの推定結果とされる。
【0089】
【数11】
なお、確率P(d')に従って、サービスd'を選択することの意味は、第1の実施の形態と同様である。
【0090】
なお、第6の実施の形態において、セッション長は、予め定められた区間ごとの代表値によって表現されてもよい。
【0091】
次に、第7の実施の形態について説明する。第7の実施の形態では第6の実施の形態と異なる点について説明する。第7の実施の形態において特に言及されない点については、第6の実施の形態と同様でもよい。
【0092】
例えば、負荷分散等のために、複数のサーバによって同一のサービスが提供される場合がある。そして、サービスの内容が同一である場合、サーバが異なってもセッションあたりのトラヒック量(セッション長)の分布は同一となる又は類似したものとなる可能性が高い。第7の実施の形態では、このような事情を考慮して推定精度の向上を図る。
【0093】
図11は、第7の実施の形態におけるサービス推定装置が実行する処理手順の一例を説明するためのフローチャートである。
【0094】
ステップS401において、統計化処理部15は、HTTPSトラヒック情報に基づいて、観測期間Tにおいてアクセスされた全サービスD={d
1,・・・,d
K}を特定する。ここでは、サーバの別は考慮されない。
【0095】
続いて、統計化処理部15は、以下の演算を行うことにより、各サービスd
kのセッション長分布L(d
k)を算出する(S402)。
【0096】
【数12】
但し、n
dk(l)は、サービスd
kについてセッション長lのセッションが観測された回数である。また、l
cは、0〜∞の任意のセッション長である。すなわち、ステップS402では、サービスd
kについて、n
dk(l)の総和が求められ、0〜∞の各セッション長l
cの観測回数n
dk(l
c)について、当該総和に対する割合の分布が算出される。
【0097】
続いて、サービス推定部13は、HTTPSトラヒック情報に含まれているアクセスログのうち、SNI情報が含まれていないアクセスログに基づいて、観測期間Tにおける、SNI非対応クライアントからのサーバs
jへの各アクセス(セッション)を特定し、それぞれのアクセスのセッション長l
cに基づいて、以下の確率P(d')に従って、各アクセスのサービスd'を選択する(S403)。選択結果が、サービスの推定結果とされる。
【0098】
【数13】
なお、確率P(d')に従って、サービスd'を選択することの意味は、第1の実施の形態と同様である。
【0099】
なお、第7の実施の形態において、セッション長は、予め定められた区間ごとの代表値によって表現されてもよい。
【0100】
なお、第6及び第7の実施の形態では、確率的にサービスd'が選択される。但し、ステップS303又はS403では、以下の式に基づいて、決定的にサービスd'が選択(推定)されてもよい。
【0101】
【数14】
すなわち、サービス推定部13は、HTTPSトラヒック情報に含まれているアクセスログのうち、SNI情報が含まれていないアクセスログに基づいて、観測期間Tにおける、SNI非対応クライアントからのサーバs
jへの各アクセス(セッション)を特定し、それぞれのアクセスのセッション長l
cについて、観測回数が最大であるサービスd'をアクセス先として推定する。
【0102】
なお、上記各実施の形態において、サービス学習部12は、学習部の一例である。サービス推定部13は、推定部の一例である。統計化処理部15は、計測部及び算出部の一例である。
【0103】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。