【実施例】
【0022】
以下、この発明の実施例を添付図面に基づいて説明する。
実施例に係るエンド端末状態判定方法は、実験ホームネットワークを構築するステップと、判定用データ作成ステップと、機器情報蓄積ステップと、データ取得ステップと、実測ステップと、判定ステップとを具備する。
【0023】
この発明において、「ホームネットワーク」とは、アクセス網の引き込み線に接続された回線終端装置の配下にあるローカルエリアネットワークのこという。また、「エンド端末」とは、ホームネットワーク内のノードであって、IP(Internet Protocol)アドレスを保持し、IPパケットを終端する端末のことをいう。
【0024】
実験ホームネットワークは、ホームネットワーク内の他ノードとの接続用プロトコル及び機器名特定プロトコルに対応した第1及び第2のエンド端末が属するものである。実施例の実験ホームネットワークは、
図2に示すように、第1及び第2のエンド端末1、2と、ルータ3と、伝送媒体4とから構成されている。実験ホームネットワークは、エンド端末間の伝送遅延と送信先のエンド端末状態(アクティブ状態/スタンバイ状態)との因果関係を可及的に明らかにするため、なるべく簡素な構成が好ましい。
【0025】
接続用プロトコルとしては、例えば、ICMP(Internet Control Message Protocol)やARP(Address Resolution Protocol)が挙げられる。 ICMP、ARPはrequestメッセージを送信し、受信したエンド端末がreplyメッセージを受信することで接続確認を行う。また当該送信から当該受信するまでの時間をRTT(Round Trip Time)と呼ぶ。ICMPは、インターネット・プロトコルのデータグラム処理における誤りの通知や通信に関する情報の通知などのために使用されるものであり、ARPは、イーサネット環境において、IPアドレスからそれに対応するMACアドレスを動的に得るために使用されるものである。ICMPは、RTTの計測機能を具備する。実施例は、ICMPのRTT計測機能を活用するため、接続用プロトコルとしてICMPを採用している。
【0026】
機器名特定プロトコルとしては、例えば、HTIPやUPnP(Universal Plug and Play)が挙げられる。
【0027】
判定用データ作成ステップでは、データベースを作成する。この作成のため、実験ホームネットワーク内で、第1のエンド端末が、接続用プロトコルに従った特定要求をアクティブ状態の第2のエンド端末へ送信したときの応答受信までに要する時間の平均的な値を求める(以下、この平均値をTonと呼ぶ。)。実施例は、その特定要求として、ICMPのrequestメッセージの中でもPingを採用し、応答受信として、Pingに対応のreplyメッセージの受信を採用している(以下、同じ)。
【0028】
また、実験ホームネットワーク内で、第1のエンド端末1が、特定要求をスタンバイ状態の第2のエンド端末2へ送信したときの応答受信までに要する時間の平均的な値を求める(以下、この平均値をTstと呼ぶ。)。
【0029】
Ton、Tstは、第1のエンド端末1にする機種と、第2のエンド端末2にする機種の組み合わせごとに求める。Tonは、第2のエンド端末2がアクティブ状態になった時点からn秒後に第1のエンド端末1から特定要求を第2のエンド端末2へ送信し、この応答を受信するまでの時間を計測する実験を行う。nの値を適当な間隔でずらして当該実験を繰り返すことにより、Tonを求めるための母集団を得る。Tstは、第2のエンド端末2がスタンバイ状態になった時点から同様にnの値をずらした実験を繰り返して母集団を得る。第2のエンド端末2がアクティブ状態、スタンバイ状態になった時点の確認は、例えば、消費電力の測定、画面の点灯/消灯の切り替わりの目視確認等、適宜の方法で行う。また、この確認から、エンド端末2がアクティブ状態からスタンバイ状態へ自動移行するまでの時間(以下、この時間をTslと呼ぶ。)を知ることができる。
【0030】
また、Tonを求めた母集団から、標準偏差であるσonを求め、Tstを求めた母集団から、標準偏差であるσstを求めることができる。
【0031】
第2のエンド端末2が例えばスマートフォンのような携帯通信機器の場合、スタンバイ状態(画面が消灯状態)に移行した直後は、Pingを返すが、アクティブ状態のときよりも応答に時間がかかる。Ton、σonは、数10ミリ秒の値になるが、Tst、σstは、数100ミリ秒の値、100ミリ秒程度の値となることがある。また、スタンバイ状態になってから数分すると、Pingへの応答はさらに時間を要するようになり、Ping送信後5秒程度でCPUが起動してICMPに応答するようになる。このような第2のエンド端末2であれば、ICMPやARP等の応答確認パケットの応答を受信するまでの時間から、機器の状態(アクティブ状態/スタンバイ状態)を特定することが可能である。
【0032】
データベースは、実験で得たTon、Tst、σon、σst、第1のエンド端末の通信処理性能を示す機種情報、及び第2のエンド端末の機器名を対応付けて保持している。
図3にデータベースを概念的に例示するように、次のデータ(実験データ)項目を1レコードとして蓄積することができる。項目:CPU性能は、第1のエンド端末1の中央演算処理装置の駆動周波数である。項目:機器名は、機器名特定プロトコルで通知される第2のエンド端末2の機器名である。機器名は、プロトコルに規定の区分、製造メーカー名、機種名の情報集合体になっている。エンド端末の通信処理性能を示す機種情報は、機器名及びCPU性能の情報集合体になっている。なお、同じ機種名でも型番がCPU性能ごとに相違している場合のように、機器名単独又は型番単独がエンド端末の通信処理性能を示す機種情報になるときは、その単独情報を機種情報として使用することもできる。項目:Ton・σonは、同第2のエンド端末2におけるTonの値,σonの値である。項目:Tst・σstは、同第2のエンド端末2におけるTstの値,σstの値である。項目:Tslは、同第2のエンド端末2におけるTslの値である。
【0033】
データベースは、サービス提供者側で作成してもよいし、ユーザ側で作成してもよい。サービス提供者側で作成する場合、データベースをユーザに提供する手段は、インストール用プログラムのインターネットを介したダウンロード又は記録媒体の配布、インターネット上のデータベースサーバへのアクセス等、適宜の態様を採用することができる。
【0034】
実施例のデータベースは、サービス提供者側で作成され、ユーザに提供されている。
【0035】
図4に例示するように、ユーザのホームネットワークには、エンド端末10の他にもエンド端末20、21が属している。各エンド端末10、20、21は、ホームネットワーク内の他ノードとの接続用プロトコル及び機器名特定プロトコルに対応した機器からなる。接続用プロトコル、機器名特定プロトコルは、前述の第1のエンド端末、第2のエンド端末に対応のものとなっている。機器名特定プロトコルにより、エンド端末10から同ホームネットワークに接続されている他のエンド端末20、21の機器名(機器区分,製造メーカ,機種名,型番)を把握することができる。機器名特定プロトコルは、データベースの機器名と整合するように別エンド端末の機器名を知り得るものであればよい。
【0036】
実施例のプログラムは、ユーザのホームネットワーク内に接続されたエンド端末10に実装されている。このプログラムは、
図5に示すように、エンド端末10を、機器情報蓄積手段11と、データ取得手段12と、実測手段13と、判定手段14として機能させるためのものである。これらにより、同ホームネットワークに接続された別エンド端末20、21の利用状況の推測を行う。利用状況とは、ある瞬間において、そのエンド端末がアクティブ状態かスタンバイ状態か、すなわちユーザが利用しているか否かの情報を時間軸でまとめた情報である。以下、別エンド端末としてエンド端末20を代表例に説明する。
【0037】
実施例に係るプログラム、データベースは、エンド端末10にインストールされている。
【0038】
機器情報蓄積手段11は、機器情報蓄積ステップを実行するものであり、ホームネットワーク内の別エンド端末20から機器名特定プロトコルに従って受信した機器名を記憶する。
【0039】
データ取得手段12は、データ取得ステップを実行するものであり、自己の通信処理性能で特定要求をアクティブ状態の別エンド端末20へ送信したときの応答受信までに要する時間の平均的な値、すなわち自己の機種情報及び別エンド端末20の機器名の組み合わせに対応したTonを、データベースから取得する。なお、自己(エンド端末10)の機種情報は、機器名特定プロトコルに対応するため、自機器名等蓄積部に予め格納されている。
【0040】
また、データ取得手段12は、自己の通信処理性能で特定要求をスタンバイ状態の別エンド端末20へ送信したときの応答受信までに要する時間の平均的な値、すなわち、自己の機種情報及び別エンド端末20の機器名の組み合わせに対応したTstを、データベースから取得する。
【0041】
さらに、データ取得手段12は、取得するTonに対応のσon、取得するTstに対応のσstを取得する。
【0042】
また、データ取得手段12は、自己の機種情報及び別エンド端末20の機器名に対応したTslを取得する。
【0043】
実測手段13は、実測ステップを実行するものであり、別エンド端末20へ接続用プロトコルに従った特定要求を送信し、これに対する応答受信までの時間を計測する。
【0044】
実施例の実測手段13は、所定のタイミングで、別エンド端末20へ第1の特定要求を送信する。次に、実測手段13は、この送信から別エンド端末20のTsl未満の経過時間内に別エンド端末20へ第2の特定要求を送信し、これに対する応答受信までの時間を計測する(以下、この計測時間をTrと呼ぶ。)。次に、実測手段13は、第2の特定要求の送信から別エンド端末20のTslを超えた時間の経過後に別エンド端末20へ第3の特定要求を送信し、これに対する応答受信までの時間を計測する(以下、この計測時間をTと呼ぶ。)。
【0045】
様々な機種の別エンド端末20、21において第2の特定要求、第3の特定要求の送信目的を満足するため、第1と第2の特定要求の送信間隔、第2と第3の特定要求の送信間隔は、それぞれ1秒程度の短い間隔であることが望ましい。実施例は、(Tsl+1)秒の送信間隔を採用することにより、様々な別エンド端末20、21において、アクティブ状態/スタンバイ状態間の移行を確実に図るための時間的余裕を確保し、また、プログラムの簡素化を図っている。
【0046】
実施例の実測手段13は、ICMPのRTT計測機能を活用してTr、Tを計測する。
【0047】
判定手段14は、判定ステップを実行するものであり、取得済みのTon及びTstの各々と、実測手段13の計測結果との近似性を比較する内容の所定演算に基づいて、別エンド端末20の状態をアクティブ状態かスタンバイ状態か区別する。
【0048】
その所定演算として、実施例は、次の式1を採用している。
(式1)=|(T−Tnw)−(Ton+σon)|>|(T−Tnw)−(Tst+σst)|
ここで、Tnwは、Trから取得済みのTonを減じた値である。判定手段14は、(Tr−Ton)の演算により、Tnwを求めた後、式1の演算を行う。したがって、データ取得手段12の取得タイミングは、式1の演算までに必要なTon等をデータベースから取得することができる限り、適宜に設定することができる。
【0049】
すなわち、実施例の判定手段14は、式1のうち、|(T)−(Ton)|>| (T)−(Tst)|の計算要素により、Ton及びTstの各々と、TからTnwを減じた差分との近似性を比較する内容の所定演算に基づいて前記区別を行うものといえる。
【0050】
また、実施例の判定手段14は、式1のうち、|(T−Tnw)−(Ton)|>| (T−Tnw)−(Tst)|の計算要素により、Ton及びTstの各々と、TからTnwを減じた差分との近似性を比較する内容の所定演算に基づいて前記区別を行うものともいえる。
【0051】
また、実施例の判定手段14は、式1の全体により、(Ton+σon)及び(Tst−σst)の各演算値と、TからTnwを減じた差分との近似性を比較する内容の所定演算に基づいて前記区別を行うものともいえる。実施例では、式1の全体だけで区別するようにしたが、前述の計算要素を各個に演算し、さらには、式1等の演算で得た各区別結果間で結果の一致性を判定するようにしてもよい。
【0052】
機器情報蓄積手段11は、同ホームネットワーク内で機器名特定プロトコルに対応の全ての他エンド端末20、21について機器名を記憶する。実測手段13及び判定手段14は、それら全ての他エンド端末20、21のそれぞれを所定順次に別エンド端末として、前記区別を繰り返す。所定順次は、例えば、機器情報蓄積手段11への登録順、応答の確認順等である。機器情報蓄積手段11は、他エンド端末20、21ごとに判定手段14による区別結果を蓄積する。
【0053】
以下、実施例の各手段の詳細な動作を
図1、
図5、
図6に基づいて説明する。先ず、機器情報蓄積手段11は、情報収集命令を受信する(S1)。この命令は、インストールの完了後、このプログラムから自動的に与えられるようにしてもよいし、インターネット経由でサービス提供者側から送信するようにしてもよいし、ユーザのホームネットワークに新規の他エンド端末が追加される度に、このプログラムから自動的に与えられるようにしてもよい。
【0054】
命令を受信した機器情報蓄積手段11は、宛先がブロードキャストアドレスの機器名特定パケットを生成してエンド端末10内の送信部に渡し、送信部からパケットを送信する。機器情報蓄積手段11は、受信部により他エンド端末20、21からの応答パケットを受信し、他エンド端末20、21の機器名を特定する。機器情報蓄積手段11は、収集した機器名の情報を機器名蓄積部に登録する。機器情報蓄積手段11は、エンド端末10のARPテーブルから、同ホームネットワーク内に払いだされているIPアドレスの数を把握してIPアドレスの数だけ機器名を収集できるまで、機器名の特定処理を続ける(S2〜S3)。機器情報蓄積手段11は、新規の機器名を登録する都度、データ取得手段12に通知する。
【0055】
データ取得手段12は、機器名蓄積部から、その登録された別エンド端末20の機器名、Ton、Tst等、ローカルアドレス(例えば、ローカルIPアドレスやMACアドレス)の所要情報を取得する。データ取得手段12は、取得したローカルアドレスを実測手段13へ渡す。
【0056】
実測手段13は、全ての他エンド端末の状態確認を開始する(S4)。ここで、実測手段13は、全ての他エンド端末について所定の計測を行うことを1周回として管理するようになっている。この管理は、計測の実行履歴情報を一時的にメモリに保持することで行うようになっている。実測手段13は、当該周回について状態確認を終えていない他エンド端末が残っている「N」のとき、次の確認順に該当する他エンド端末の計測を行う(S4、S6)。一方、当該周回について全ての他エンド端末の状態確認を終えている「Y」のとき、実測手段13は、実行履歴情報のメモリクリアを行い、改めて確認順先頭に該当する他エンド端末から計測を行う(S4、S5、S6)。なお、状態確認の管理は、エンド端末10の機器名蓄積部に蓄積された実測手段13の計測結果や判定手段14の区別結果を参照して判断するようにしてもよい。
【0057】
S6において、実測手段13は、他エンド端末毎に渡されたローカルアドレス宛の特定要求パケットを二つ生成して送信部に一つずつ渡し、送信部から第1の特定要求を送信し、この送信から(Tsl+1)秒未満に送信部から第2の特定要求を送信する。そして、実測手段は、第2の特定要求の際のパケット送信時刻を記憶しておく(S6a〜S6c)。なお、第1の特定要求に対する応答受信(S6b)は、特に活用されない。
【0058】
実測手段13は、受信部により第2の特定要求に対する応答パケットを受信し、その受信時刻から、S6で記憶した送信時刻を引く演算を行うことにより、Trを計測する。実測手段13は、計測したTrを判定手段14に渡す(S6d)。
【0059】
判定手段14は、エンド端末10の自機器名等蓄積部からエンド端末10の機種情報を取得し、データ取得手段12を介してデータベースから同じ性能値のCPUに対応のTonを取得し、渡されたTrと取得済みのTonとを用いてTnwを計算し、この値を記憶しておく(S7)。
【0060】
実測手段13は、S6の処理後に予め生成しておいた特定要求パケットを送信部に渡し、第2の特定要求の送信時刻から(Tsl+1)秒が経過したとき、送信部から第3の特定要求を送信し、この送信時刻を記憶しておく(S8)。
【0061】
実測手段13は、受信部により第3の特定要求に対する応答パケットを受信し、その受信時刻から、S8で記憶した送信時刻を引く演算を行うことにより、Tを計測する。実測手段13は、計測したTr、Tを判定手段14に渡す(S9a)。
【0062】
判定手段14は、Tr、Tを実測手段13から受信すると、データ取得手段12からTon、Tst、σon、σstを取得し、式1の演算を行う(S9)。
【0063】
ここで、|(T−Tnw)−(Ton+σon)|>| (T−Tnw)−(Tst+σst)|が成立する「Y」の場合、ユーザのホームネットワーク環境を計測結果に反映した値(T−Tnw)がスタンバイ状態の実験結果(Tst+σst)により近い値であることを意味するため、別エンド端末20がスタンバイ状態であると区別する(S10)。一方、不成立の「N」の場合、逆に(T−Tnw)がアクティブ状態の実験結果(Ton+σon)により近い値であることを意味するため、別エンド端末20がアクティブ状態であると区別する(S11)。判定手段14は、区別した状態を機器名蓄積部に送信し、機器名蓄積部において蓄積データの状態として、機器名とともに区別した状態を蓄積する。
【0064】
実測手段13は、第3の特定要求の送信時刻から(Tsl+1)秒が経過すると、再びS4に戻り、以降の処理を繰り返す。つまり、
図4のホームネットワークにおいて、残りのエンド端末21が別エンド端末となり、エンド端末20が他エンド端末となって同様に状態の区別がエンド端末10によって実行され、これが終わると1周回分の状態確認が終了したことになり、再びエンド端末20、エンド端末21の順に状態確認が開始される。これら繰り返しは、情報収集終了命令を受信するまで実行される(S4〜S12)。
【0065】
このように、実施例は、エンド端末10に特別なプロトコルに対応の機能を実装することなく、当該端末10に既存のICMP/ARP等の接続用プロトコル、機器名特定プロトコルを活用し、その端末10によって同じホームネットワークに属する他のエンド端末20、21がアクティブ状態かスタンバイ状態かを区別することができる。その区別に際し、ユーザのホームネットワーク環境、実験値の標準偏差をも反映させているので、実施例は、特に信頼性をもった状態の区別結果を得ることができる。
【0066】
この発明の技術的範囲は、上述の実施形態に限定されず、特許請求の範囲の記載に基く技術的思想の範囲内での全ての変更を含むものである。