特許第6042997号(P6042997)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ツィンファ ユニバーシティの特許一覧 ▶ シェンチェン テンセント コンピュータ システムズ カンパニー リミテッドの特許一覧

特許6042997携帯端末の位置データを利用してIPの地理的位置を特定する方法及びサーバ
<>
  • 特許6042997-携帯端末の位置データを利用してIPの地理的位置を特定する方法及びサーバ 図000007
  • 特許6042997-携帯端末の位置データを利用してIPの地理的位置を特定する方法及びサーバ 図000008
  • 特許6042997-携帯端末の位置データを利用してIPの地理的位置を特定する方法及びサーバ 図000009
  • 特許6042997-携帯端末の位置データを利用してIPの地理的位置を特定する方法及びサーバ 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6042997
(24)【登録日】2016年11月18日
(45)【発行日】2016年12月14日
(54)【発明の名称】携帯端末の位置データを利用してIPの地理的位置を特定する方法及びサーバ
(51)【国際特許分類】
   G06F 17/30 20060101AFI20161206BHJP
【FI】
   G06F17/30 310Z
   G06F17/30 170C
【請求項の数】19
【全頁数】25
(21)【出願番号】特願2015-549949(P2015-549949)
(86)(22)【出願日】2013年6月6日
(65)【公表番号】特表2016-512620(P2016-512620A)
(43)【公表日】2016年4月28日
(86)【国際出願番号】CN2013076887
(87)【国際公開番号】WO2014161228
(87)【国際公開日】20141009
【審査請求日】2015年6月29日
(31)【優先権主張番号】201310108842.4
(32)【優先日】2013年3月30日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】598098331
【氏名又は名称】ツィンファ ユニバーシティ
(73)【特許権者】
【識別番号】515178096
【氏名又は名称】シェンチェン テンセント コンピュータ システムズ カンパニー リミテッド
(74)【代理人】
【識別番号】100107515
【弁理士】
【氏名又は名称】廣田 浩一
(74)【代理人】
【識別番号】100107733
【弁理士】
【氏名又は名称】流 良広
(74)【代理人】
【識別番号】100115347
【弁理士】
【氏名又は名称】松田 奈緒子
(74)【代理人】
【識別番号】100163038
【弁理士】
【氏名又は名称】山下 武志
(72)【発明者】
【氏名】チャン・ヤオシュエ
(72)【発明者】
【氏名】チョウ・ユェジー
(72)【発明者】
【氏名】リウ・ハオ
(72)【発明者】
【氏名】チェン・チュアン
(72)【発明者】
【氏名】ワン・ジュホン
【審査官】 早川 学
(56)【参考文献】
【文献】 特表2010−535390(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行する携帯端末の位置データを利用してIPアドレスの地理的位置を特定する方法であって、
各々がユーザ識別情報、時間、及び地理的位置を含む位置データレコードを複数有する地理的位置のデータセットを生成するように、予め設定した時間帯にユーザが使用した携帯端末の位置データを獲得するステップ1と、
前記地理的位置のデータセットを前処理するステップ2と、
前記地理的位置のデータセットに基づいて前記ユーザの各々の毎日の第1の時間帯における前記位置データレコードを獲得するとともに、前記第1の時間帯における前記位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心を前記ユーザの前記第1の時間帯における第1の候補位置とし、及び前記地理的位置のデータセットに基づいて前記ユーザの各々の毎日の第2の時間帯における前記位置データレコードを獲得するとともに、前記第2の時間帯における前記位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心を前記ユーザの前記第2の時間帯における第2の候補位置とするステップ3と、
各々が前記ユーザ識別情報、時間、及びIPアドレスを含むIPアドレスのデータレコードを複数有するIPアドレスのデータセットを生成するように、前記予め設定した時間帯に前記ユーザが使用した固定端末に対応するIPアドレスデータを獲得するステップ4と、
前記IPアドレスのデータレコードの各々における前記IPアドレスをそれぞれIPセグメントに変換し、前記ユーザが使用する前記IPセグメントに対応する前記IPアドレスデータレコードの数が予め定められた第1の閾値より小さい場合、前記IPアドレスのデータセットから前記IPセグメントに対応する前記IPアドレスのデータレコードを削除するように、前記IPアドレスのデータセットを前処理するステップ5と、
前処理された前記IPアドレスのデータセットにおけるIPセグメントに基づき、前記IPセグメントを使用するすべてのユーザを獲得し、前記すべてのユーザに対応する前記第1の候補位置と前記第2の候補位置を前記IPセグメントの候補地理的位置として獲得するとともに、一連の集合を得られるように、前記候補地理的位置をクラスタリングし、前記一連の集合から前記候補地理的位置を最も多く含む集合を獲得し、前記集合に対応する重心を前記IPセグメントに対応する地理的位置とするステップ6と
を含むことを特徴とする方法。
【請求項2】
ステップ2が、
地理的位置のデータセットから一つの未処理ユーザを獲得するステップ21と、
前記地理的位置のデータセットから前記未処理ユーザのすべての位置データレコードを獲得するステップ22と、
前記すべての位置データレコードの数が予め定められた第2の閾値より小さいか又は予め定められた第3の閾値より大きいかを判断するステップ23と、
予め定められた第2の閾値より小さい又は予め定められた第3の閾値より大きい場合、前記地理的位置のデータセットから前記未処理ユーザに対応するすべての位置データレコードを削除するステップ24と、
前記地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ21に戻って継続し、前記地理的位置のデータセットの中に未処理ユーザがない場合、前処理を終了し、ステップ3に移行するステップ25と
を含む請求項1に記載の方法。
【請求項3】
ステップ3が、
地理的位置のデータセットから一つの未処理ユーザを獲得するステップ31と、
前記地理的位置のデータセットから前記未処理ユーザの毎日の第1の時間帯における位置データレコードを獲得し、2つごとに前記位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、前記地理的位置の距離に基づいて前記位置データにおける前記地理的位置をクラスタリングするとともに、前記一連の集合における一つ又は複数の前記集合の重心を前記未処理ユーザの第1の候補位置とするステップ32と、
前記地理的位置のデータセットから前記未処理ユーザの毎日の第2の時間帯における位置データレコードを獲得し、2つごとに前記位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、前記地理的位置の距離に基づいて前記位置データにおける前記地理的位置をクラスタリングするとともに、前記一連の集合における一つ又は複数の前記集合の重心を前記未処理ユーザの第2の候補位置とするステップ33と、
前記地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ31に戻って継続し、前記地理的位置のデータセットの中に未処理ユーザがない場合、クラスタリングを終了し、ステップ4に移行するステップ34と
を含む請求項1に記載の方法。
【請求項4】
ステップ32において、
2つごとに位置データレコード間の地理的位置の距離を獲得することが、具体的には、
前記2つの位置データレコードにおける前記地理的位置が緯度及び経度でない場合、前記地理的位置をそれぞれ緯度及び経度「lat1,lng1」と「lat2,lng2」に変換するとともに、緯度及び経度「lat1,lng1」と「lat2,lng2」をそれぞれ弧度「α1,β1」と「α2,β2」に変換するステップと、
S=arccos(sin(α1)*sin(α2)+cos(α1)*cos(α2)*cos(β1−β2))*Rという公式に基づいて前記地理的位置の距離Sを獲得するステップとを含み、
その中におけるarccos、sin、cosはそれぞれ逆余弦、正弦、余弦記号であり、Rは地球赤道の半径であり、
前記ステップ32において、仮に一つの集合が{[lat1,lng1][lat2,lng2]...,[latn,lngn]}であれば、集合の重心を[(lat1+lat2+...+latn)/n,(lng1+lng2+...+lngn)/n]とするステップに基づいて前記集合の重心を獲得するステップと
を含み、nは正整数である請求項3に記載の方法。
【請求項5】
ステップ32において、
地理的位置の距離に基づいて位置データにおける前記地理的位置をクラスタリングすることが、具体的には、
前記位置データの各々における前記地理的位置を一つの緯度及び経度を含む集合{「lati,lngi」}に変換するステップ321と、2つの集合ごとに、2つの前記集合から任意に1つずつ緯度及び経度を獲得した場合の最大距離と定義される前記集合間の距離を獲得するステップ322と、
距離が一番近い前記集合を2つ獲得し、前記距離が予め定められた第4の閾値より小さい場合、2つの前記集合を、元の2つの前記集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ322に戻って引き続き実行し、予め定められた第4の閾値より大きい又は予め定められた第4の閾値と同じである場合、クラスタリングを終了してステップ33に移行するステップ323と
を含み、iが1以上の正整数である請求項3に記載の方法。
【請求項6】
ステップ5において、
IPアドレスデータレコードの各々におけるIPアドレスをそれぞれIPセグメントに変換することが、具体的には、
変換された前記IPアドレスに対応する前記IPセグメントに保持する必要なIPアドレスの長さMビットを獲得するステップと、
前記IPアドレスに対応する前記IPセグメントを得られるように、前記IPアドレスにおける上位Mビットの数値を変えず、下位32−Mビットの数値を0に設定するステップとを含み、
Mは8以上32以下の整数である請求項1に記載の方法。
【請求項7】
ステップ6が、具体的には、
前処理されたアドレスのデータセットから一つの未処理IPセグメントを獲得するステップ61と、
前記アドレスのデータセットから前記IPセグメントを使用したすべてのユーザを獲得するとともに、前記すべてのユーザの第1の候補位置と第2の候補位置を前記IPセグメントの候補地理的位置として獲得し、2つごとに前記候補地理的位置間の距離を獲得し、一連の集合を得られるように前記距離に基づいてクラスタリングするステップ62と、
前記IPセグメントの地理的位置として一つの前記集合の重心を選択するステップ63と
を含む請求項1に記載の方法。
【請求項8】
ステップ62において、
距離に基づいてクラスタリングすることが、具体的には、
候補地理的位置の各々に対応する緯度及び経度「lati,lngi」を一つの緯度及び経度を含む集合{[lati,lngi]}に変換するステップ621と、
2つの集合ごとに、2つの前記集合から任意に一つの緯度及び経度を獲得した場合の最短距離と定義される前記集合間の距離を獲得するステップ622と、
距離が一番近い前記集合を2つ獲得し、前記距離が予め定められた第5の閾値より小さい場合、2つの前記集合を、元の2つの前記集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ622に戻って引き続き実行し、予め定められた第5の閾値より大きい又は予め定められた第5の閾値と同じである場合、クラスタリングを終了してステップ63に移行するステップ623と
を含み、iは1以上の正整数である請求項7に記載の方法。
【請求項9】
ステップ63において、
IPセグメントの地理的位置として一つの集合の重心を選択することが、具体的には、
すべての集合を候補地理的位置を含む数の多い順に整列し、それぞれC1,C2,…Ci…,Cnとするステップ631と、
C1に含まれる前記候補地理的位置の数がC2より大きい場合、C1を選択してステップ634に移行し、そうでない場合ステップ633に移行するステップ632と、
C1に含まれる前記候補地理的位置の数がCiと同じである場合、C1,…Ciの中から一番多いユーザの数を有する前記集合を選択して、ステップ634に移行し、一番多いユーザの数を有する前記集合が複数ある場合、前記集合からランダムに一つを選択してステップ634に移行するステップ633と、
選択された前記集合の重心を前記IPセグメントの前記地理的位置として獲得するステップ634と
を含み、nは集合の数である請求項7に記載の方法。
【請求項10】
ユーザ識別情報、時間、及び地理的位置を含む位置データレコードを複数有する地理的位置のデータセットを生成するように、予め設定した時間帯にユーザが使用した携帯端末の位置データを獲得する第1の獲得モジュールと、
前記地理的位置のデータセットを前処理する第1の前処理モジュールと、
前記地理的位置のデータセットに基づいて前記ユーザの各々の毎日の第1の時間帯における前記位置データレコードを獲得するとともに、前記第1の時間帯における前記位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心を前記ユーザが前記第1の時間帯における第1の候補位置とし、及び前記地理的位置のデータセットに基づいて前記ユーザが毎日の第2の時間帯における前記位置データレコードを獲得するとともに、前記第2の時間帯における前記位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心を前記ユーザが前記第2の時間帯における第2の候補位置とする第1のクラスタリングモジュールと、
各々が前記ユーザ識別情報、時間、及びIPアドレスを含むIPアドレスのデータレコードを複数有するIPアドレスのデータセットを生成するように、前記予め設定した時間帯に前記ユーザが使用した固定端末に対応するIPアドレスデータを獲得する第2の獲得モジュールと、
前記IPアドレスデータレコードの各々における前記IPアドレスをそれぞれIPセグメントに変換し、前記ユーザが使用する前記IPセグメントに対応する前記IPアドレスデータレコードの数が予め定められた第1の閾値より小さい場合、前記IPアドレスのデータセットから前記IPセグメントに対応する前記IPアドレスのデータレコードを削除するように、前記IPアドレスのデータセットを前処理する第2の前処理モジュールと、
前処理された前記IPアドレスのデータセットにおけるIPセグメントに基づき、前記IPセグメントを使用するすべてのユーザを獲得し、前記すべてのユーザに対応する前記第1の候補位置と前記第2の候補位置を前記IPセグメントの候補地理的位置として獲得するとともに、一連の集合を得られるように前記候補地理的位置をクラスタリングし、前記一連の集合から前記候補地理的位置を最も多く含む集合を獲得し、前記集合に対応する重心を前記IPセグメントに対応する地理的位置とする第2のクラスタリングモジュールと
を含むことを特徴とするサーバ。
【請求項11】
第1の前処理モジュールが、
地理的位置のデータセットから一つの未処理ユーザを獲得するステップ21と、
前記地理的位置のデータセットから前記未処理ユーザのすべての位置データレコードを獲得するステップ22と、
前記すべての位置データレコードの数が予め定められた第2の閾値より小さいか又は第3の予め定められた第3の閾値より大きいかを判断するステップ23と、
予め定められた第2の閾値より小さい又は予め定められた第3の閾値より大きい場合、前記地理的位置のデータセットから前記未処理ユーザに対応するすべての位置データレコードを削除するステップ24と、
前記地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ21に戻って継続し、前記地理的位置のデータセットの中に未処理ユーザがない場合、前処理を終了するステップ25と、
を更に実行するように構成されている請求項10に記載のサーバ。
【請求項12】
第1のクラスタリングモジュールが、
地理的位置のデータセットから一つの未処理ユーザを獲得するステップ31と、
前記地理的位置のデータセットから前記未処理ユーザの毎日の第1の時間帯における前記位置データレコードを獲得し、2つごとに前記位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、前記地理的位置の距離に基づいて前記位置データにおける前記地理的位置をクラスタリングするとともに、前記一連の集合における一つ又は複数の前記集合の重心を前記未処理ユーザの第1の候補位置とするステップ32と、
前記地理的位置のデータセットから前記未処理ユーザの毎日の第2の時間帯における前記位置データレコードを獲得し、2つごとに前記位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、前記地理的位置の距離に基づいて前記位置データにおける前記地理的位置をクラスタリングするとともに、前記一連の集合における一つ又は複数の前記集合の重心を前記未処理ユーザの第2の候補位置とするステップ33と、
前記地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ31に戻って継続し、前記地理的位置のデータセットの中に未処理ユーザがない場合、クラスタリングを終了するステップ34と、
を更に実行するように構成されている請求項10に記載のサーバ。
【請求項13】
第1のクラスタリングモジュールが、
2つごとに位置データレコード間の地理的位置の距離を獲得するように、
2つの位置データレコードにおける前記地理的位置が緯度及び経度でない場合、前記地理的位置をそれぞれ緯度及び経度「lat1,lng1」と「lat2,lng2」に変換し、前記緯度及び経度「lat1,lng1」と「lat2,lng2」をそれぞれ弧度「α1,β1」と「α2,β2」に変換するステップと、
S=arccos(sin(α1)*sin(α2)+cos(α1)*cos(α2)*cos(β1−β2))*Rという公式に基づいて前記地理的位置の距離Sを獲得するステップと、
前記集合の重心を獲得するように、仮に一つの集合が{[lat1,lng1][lat2,lng2]...,[latn,lngn]}であれば、前記集合の重心を[(lat1+lat2+...+latn)/n,(lng1+lng2+...+lngn)/n]とするステップと、
を更に実行するように構成され、
arccos、sin、cosはそれぞれ逆余弦、正弦、余弦記号を指し、Rは地球赤道半径を指し、nは正整数である請求項12に記載のサーバ。
【請求項14】
第1のクラスタリングモジュールが、
地理的位置の距離に基づいて位置データにおける前記地理的位置をクラスタリングするように、
前記位置データの各々における前記地理的位置を一つの緯度及び経度を含む集合{「lati,lngi」}に変換するステップ321と、
2つの前記集合ごとに、2つの前記集合から任意に1つずつ緯度及び経度を獲得した場合の最大距離と定義される前記集合間の距離を獲得するステップ322と、
距離が一番近い前記集合を2つ獲得し、前記距離が予め定められた第4の閾値より小さい場合、2つの前記集合を、元の2つの前記集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ322に戻って引き続き実行し、予め定められた第4の閾値より大きい又は予め定められた第4の閾値と同じである場合、クラスタリングを終了してステップ33に移行するステップ323と、
を更に実行するように構成され、iが1以上の正整数である請求項12に記載のサーバ。
【請求項15】
第2の前処理モジュールが、
IPアドレスデータレコードの各々におけるIPアドレスをそれぞれIPセグメントに変換するように、
変換された前記IPアドレスに対応する前記IPセグメントに保持する必要なIPアドレスの長さMビットを獲得するステップと、
前記IPアドレスに対応する前記IPセグメントを得られるように、前記IPアドレスにおける上位Mビットの数値を変えず、下位32−Mビットの数値を0に設定するステップと、
を更に実行するように構成され、Mは8以上32以下の整数である請求項10に記載のサーバ。
【請求項16】
第2のクラスタリングモジュールが、
前処理されたIPアドレスのデータセットから一つの未処理IPセグメントを獲得するステップ61と、
前記IPアドレスのデータセットから前記IPセグメントを使用したすべてのユーザを獲得するとともに、前記すべてのユーザの第1の候補位置と第2の候補位置を前記IPセグメントの候補地理的位置として獲得し、2つごとに前記候補地理的位置間の距離を獲得し、一連の集合を得られるように前記距離に基づいてクラスタリングするステップ62と、
前記IPセグメントの前記地理的位置として一つの前記集合の重心を選択するステップ63と
を更に実行するように構成されている請求項10に記載のサーバ。
【請求項17】
第2のクラスタリングモジュールが、
距離に基づいてクラスタリングするように、
候補地理的位置の各々に対応する緯度及び経度「lati,lngi」を一つの緯度及び経度を含む集合{[lati,lngi]}に変換するステップ621と、
2つの集合ごとに、2つの前記集合から任意に一つの緯度及び経度を獲得した場合の最短距離と定義される前記集合間の距離を獲得するステップ622と、
距離が一番近い前記集合を2つ獲得し、前記距離が予め定められた第5の閾値より小さい場合、2つの前記集合を、元の2つの前記集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ622に戻って引き続き実行し、予め定められた第5の閾値より大きい又は予め定められた第5の閾値と同じである場合、クラスタリングを終了してステップ63に移行するステップ623と
を更に実行するように構成され、iは1以上の正整数である請求項16に記載のサーバ。
【請求項18】
第2のクラスタリングモジュールが、
IPセグメントの地理的位置として一つの前記集合の重心を選択するように、すべての集合を候補地理的位置を含む数の多い順に整列し、それぞれC1,C2,…Ci…,Cnとするステップ631と、
C1に含まれる前記候補地理的位置の数がC2より大きい場合、C1を選択してステップ634に移行し、そうでない場合ステップ633に移行するステップ632と、
C1に含まれる前記候補地理的位置の数がCiと同じである場合、C1,…Ciの中から一番多いユーザの数を有する前記集合を選択して、ステップ634に移行し、一番多いユーザの数を有する前記集合が複数ある場合、前記集合からランダムに一つを選択してステップ634に移行するステップ633と、
選択された前記集合の重心を前記IPセグメントの前記地理的位置として獲得するステップ634と
を更に実行するように構成され、nは集合の数である請求項17に記載のサーバ。
【請求項19】
コンピュータに、請求項1から9のいずれかに記載の携帯端末の位置データを利用してIPアドレスの地理的位置を特定する方法を実行させるためのコンピュータプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はコンピュータ技術分野に関し、特にユーザが使用する携帯電話等の携帯端末の位置データを利用して、パソコン等の固定端末及びそれに利用されるIPアドレスの地理的位置を特定する方法に関する。また、本発明は更にサーバを提供する。
【背景技術】
【0002】
コンピュータのIPアドレスから当該コンピュータの地理的位置を推定すること(IP測位)は幅広く応用されている。例えばオンライン広告、電子商取引、アプリケーション監視、ネットワーク診断などである。オンライン広告を例にみると、ウェブサイトがユーザのコンピュータのIPアドレスから正確にユーザの所在地の地理的位置を推定できれば、ウェブサイトにおいてランダムに位置と無関係の広告ではなく、ユーザの所在地付近の広告情報(例えばユーザの居住地域近くの映画館)を表示することができる。
現在のIP測位方法は主に遅延測定によるものとデータベースによるものの2つに分けられる。遅延測量によるIP測位は異なる地域に設置されたサーバを利用して、目標IPまでのネットワーク遅延を測定し、ネットワーク遅延の長さによってこれらのサーバから目標IPまでの実際の距離を推定する。この方法は通常10〜40キロメートルの精度に達することができるが、各地に大規模にサーバを設置しなければならないため、コストも比較的高い。同時に、大規模にわたるネットワーク遅延を測定するため、一つのIPアドレスの地理的位置を特定するには数十秒から数分の応答時間が必要となる。データベースに基づく方法は、ユーザによって提出されたIP登録情報、ドメイン名ログイン情報、位置情報等の収集された情報をデータベースに記憶し、これらのデータを利用してIPアドレスの地理的位置を特定する。応答時間が早いのが利点で、データベースを直接調べれば一つのIPアドレスの地理的位置を特定することができる。しかし、データソース自身の精度が低いため、この方法では70キロメートル以上の精度しか取得できず、都市レベルの精度の応用ニーズしか満たせない。
【0003】
具体的には、遅延測定によるIP測位方法はGeoPing、CBG、TBG、Octant、WangGeo等を含む。GeoPingはその中における最も簡単な方法で、目標IPまでネットワーク遅延が一番短いサーバの位置を直接IP位置であると推定し、測位精度が300キロメートル以上である。CBGはすべてのサーバから目標IPまでのネットワーク遅延を利用してそれぞれの距離を推定し、これらの距離により目標IPの可能なエリアを特定し、それからすべての可能なエリアの共通部分を目標IPの位置とする。測位精度は200キロメートルぐらいである。TBGとOctantはCBGの元にネットワークのトポロジーを考慮したため、目標IPをもっと小さい範囲に限定できる。TBGとOctantの測位精度は、それぞれ60キロメートルと35キロメートルに達する。WangGeoはネットワーク遅延とネットワークトポロジーを考慮した上、更にウェブサイト上の郵便番号アドレスを結合し、7〜10キロメートルの測位精度に達する。
【0004】
データベースに基づくIP測位方法はユーザによって提出されたIP登録情報、DNS情報の位置情報等を利用してIPアドレスの地理的位置を特定する。例えば、北京のある会社があるIPアドレスを登録したことがわかれば、普通はこのIPが北京にあるのを確定できる。IPアドレスに対応するドメインネームがrouter−1.haidian.chinanet.cnであれば、当該IPアドレスは海澱区にあることが推定できる。国内における有名なIP測位ウェブサイト(IP138、IP.cn等)はほとんどこれらの方法を利用している。もう一つの方法はユーザが自分で貢献した位置情報を利用する。例えばテンセントの位置共有ウェブサイト(ip.qq.com)においてユーザが自分のIPアドレス及びそれに対応する位置情報を提供することができる。
現在のIP測位方法及びそれらの比較を表1に示す。以下のとおりまとめられる。
1、遅延測定による方法は応答時間が長く、デプロイコストが高く、最高の測位精度は7〜10キロメートルに達する。
2、データベースに基づく方法は応答時間が早く、デプロイコストも低いが、測位精度も低い。
3、上述の2つの方法は、オンライン広告などの応用に必要な街レベル(例えば2キロメートル以内)の測位精度をいずれも満たせない。
[表1] 現在のIP測位方法及びそれらの比較
【表1】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、少なくとも上記の技術課題の一つをある程度解決することを目的とする。
このため、本発明は携帯端末の位置データを利用してIPの地理的位置を特定する方法を提供することを一つ目の目的とし、当該方法は街レベルのIP測位精度を実現でき、同時に簡単にデプロイできることと応答速度が速いことなどの利点がある。
本発明はサーバを提供することを別の目的とする。
本発明はコンピュータ読み取り可能な記憶媒体を提供することを更に別の目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するため、本発明に関る第1の実施形態は携帯端末の位置データを利用してIPの地理的位置を特定する方法を提供する。当該方法は、各々がユーザ識別情報(ID)、時間、及び地理的位置を含む位置データレコードを複数有する地理的位置のデータセットを生成するように、予め設定した時間帯にユーザが使用した携帯端末の位置データを獲得するステップ1と、
前記地理的位置のデータセットを前処理するステップ2と、
前記地理的位置のデータセットに基づいて前記ユーザの各々の毎日の第1の時間帯における前記位置データレコードを獲得するとともに、前記第1の時間帯における前記位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心を前記ユーザの前記第1の時間帯における第1の候補位置とし、及び前記地理的位置のデータセットに基づいて前記ユーザの各々の毎日の第2の時間帯における前記位置データレコードを獲得するとともに、前記第2の時間帯における前記位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心を前記ユーザの前記第2の時間帯における第2の候補位置とするステップ3と、
前記ユーザ識別情報、時間、及びIPアドレスを含むIPアドレスのデータレコードを複数有するIPアドレスのデータセットを生成するように、前記予め設定した時間帯に前記ユーザが使用した固定端末に対応するIPアドレスデータを獲得するステップ4と、前記IPアドレスデータレコードにおける前記IPアドレスをそれぞれIPセグメントに変換し、前記ユーザが使用する前記IPセグメントに対応する前記IPアドレスデータレコードの数が予め定められた第1の閾値より小さい場合、前記IPアドレスのデータセットから前記IPセグメントに対応する前記IPアドレスのデータレコードを削除するように、前記IPアドレスのデータセットを前処理するステップ5と、前処理された前記IPアドレスのデータセットにおけるIPセグメントに基づき、前記IPセグメントを使用するすべてのユーザを獲得し、前記すべてのユーザに対応する前記第1の候補位置と前記第2の候補位置を前記IPセグメントの候補地理的位置として獲得するとともに、一連の集合を得られるように前記候補地理的位置をクラスタリングし、前記一連の集合から前記候補地理的位置を最も多く含む集合を獲得し、前記集合に対応する重心を前記IPセグメントに対応する地理的位置とするステップ6を含む。
【0007】
本発明の一実施形態では、前記ステップ2は、前記地理的位置のデータセットから一つの未処理ユーザを獲得するステップ21と、前記地理的位置のデータセットから前記未処理ユーザのすべての位置データレコードを獲得するステップ22と、前記すべての位置データレコードの数が予め定められた第2の閾値より小さいか又は予め定められた第3の閾値より大きいかを判断するステップ23と、予め定められた第2の閾値より小さい又は予め定められた第3の閾値より大きい場合、前記地理的位置のデータセットから前記未処理ユーザに対応するすべての位置データレコードを削除するステップ24と、前記地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ21に戻って継続し、前記地理的位置のデータセットの中に未処理ユーザがない場合、前処理を終了し、ステップ3に移行するステップ25とを含む。
【0008】
本発明の一実施形態では、ステップ3は、前記地理的位置のデータセットから一つの未処理ユーザを獲得するステップ31と、前記地理的位置のデータセットから前記未処理ユーザの毎日の第1の時間帯における前記位置データレコードを獲得し、2つごとに前記位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、前記地理的位置の距離に基づいて前記位置データにおける前記地理的位置をクラスタリングするとともに、前記一連の集合における一つ又は複数の前記集合の重心を前記未処理ユーザの前記第1の候補位置とするステップ32と、前記地理的位置のデータセットから前記未処理ユーザの毎日の第2の時間帯における前記位置データレコードを獲得し、2つごとに前記位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、前記地理的位置の距離に基づいて前記位置データにおける前記地理的位置をクラスタリングするとともに、前記一連の集合における一つ又は複数の前記集合の重心を前記未処理ユーザの前記第2の候補位置とするステップ33と、前記地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ31に戻って継続し、前記地理的位置のデータセットの中に未処理ユーザがない場合、クラスタリングを終了し、ステップ4に移行するステップ34とを含む。
【0009】
本発明の一実施形態では、前記ステップ32において、2つごとに前記位置データレコード間の地理的位置の距離を獲得することが、具体的には、前記2つの位置データレコードにおける前記地理的位置が緯度及び経度でない場合、前記地理的位置をそれぞれ緯度及び経度「lat,lng」と「lat,lng」に変換するとともに、緯度及び経度「lat,lng」と「lat,lng」をそれぞれ弧度「α,β」と「α,β」に変換するステップと、S=arccos(sin(α)*sin(α)+cos(α)*cos(α)*cos(β−β))*Rという公式に基づいて前記地理的位置の距離Sを獲得するステップとを含み、そのうち、arccos、sin、cosはそれぞれ逆余弦、正弦、余弦記号で、Rは地球赤道の半径である。前記ステップ32において、仮に一つの集合が{[lat,lng][lat,lng]...,[lat,lng]}であれば、前記集合の重心を[(lat+lat+...+lat)/n,(lng+lng+...+lng)/n](nは正整数である)とするステップに基づいて前記集合の重心を獲得する。
【0010】
本発明の一実施形態では、前記ステップ32において、前記地理的位置の距離に基づいて前記位置データにおける前記地理的位置をクラスタリングすることが、具体的には、前記位置データの各々における前記地理的位置を一つの緯度及び経度を含む集合{「lat,lng」}(iが1以上の正整数である)に変換するステップ321と、2つの前記集合ごとに、2つの前記集合から任意に1つずつ緯度及び経度を獲得した場合の最大距離と定義される前記集合間の距離を獲得するステップ322と、距離が一番近い前記集合を2つ獲得し、前記距離が予め定められた第4の閾値より小さい場合、2つの前記集合を、元の2つの前記集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ322に戻って引き続き実行し、予め定められた第4の閾値より大きい又は予め定められた第4の閾値と同じである場合、クラスタリングを終了してステップ33に移行するステップ323とを含む。
【0011】
本発明の一実施形態では、前記ステップ5において、前記IPアドレスデータレコードの各々における前記IPアドレスをそれぞれIPセグメントに変換することが、具体的には、変換された前記IPアドレスに対応する前記IPセグメントに保持するのに必要なIPアドレスの長さM(Mは8以上32以下の整数である)ビットを獲得するステップと、前記IPアドレスに対応する前記IPセグメントを得るように、前記IPアドレスにおける上位Mビットの数値を変えず、下位32−Mビットの数値を0に設定するステップとを含む。
【0012】
本発明の一実施形態では、前記ステップ6は、具体的には、前処理された前記IPアドレスのデータセットから一つの未処理IPセグメントを獲得するステップ61と、前記アドレスのデータセットから前記IPセグメントを使用したすべてのユーザを獲得するとともに、前記すべてのユーザの前記第1の候補位置と前記第2の候補位置を前記IPセグメントの候補地理的位置として獲得し、2つごとに前記候補地理的位置間の距離を獲得し、一連の集合を得られるように前記距離に基づいてクラスタリングするステップ62と、前記IPセグメントの前記地理的位置として一つの前記集合の重心を選択するステップ63とを含む。
【0013】
本発明の一実施形態では、前記ステップ62において、前記距離に基づいてクラスタリングすることが、具体的には、前記候補地理的位置の各々に対応する緯度及び経度「lat,lng」を一つの緯度及び経度を含む集合{[lat,lng]}(iは1以上の正整数である)に変換するステップ621と、2つの集合ごとに、2つの前記集合から任意に一つの緯度及び経度を獲得した場合の最短距離と定義される前記集合間の距離を獲得するステップ622と、距離が一番近い前記集合を2つ獲得し、前記距離が予め定められた第5の閾値より小さい場合、2つの前記集合を、元の2つの前記集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ622に戻って引き続き実行し、予め定められた第5の閾値より大きい又は予め定められた第5の閾値と同じである場合、クラスタリングを終了してステップ63に移行するステップ623とを含む。
【0014】
本発明の一実施形態では、前記ステップ63において、前記IPセグメントの前記地理的位置として一つの前記集合の重心を選択することが、具体的には、すべての集合を前記候補地理的位置を含む数の多い順に整列し、それぞれC,C,…C…,C(nは集合の数である)とするステップ631と、Cに含まれる前記候補地理的位置の数がCより大きい場合、Cを選択してステップ634に移行し、そうでない場合ステップ633に移行するステップ632と、Cに含まれる前記候補地理的位置の数がCと同じである場合、C,…Cの中から一番多いユーザの数を有する前記集合を選択して、ステップ634に移行し、一番多いユーザの数を有する前記集合が最初に複数ある場合、前記集合からランダムに一つを選択してステップ634に移行するステップ633と、選択された前記集合の重心を前記IPセグメントの前記地理的位置として獲得するステップ634とを含む。
【0015】
本発明に係る予め設定した時間帯は一ヶ月又は一年のような任意の長さの時間であってもよい。本発明に係る閾値又は数の選択は任意の値と設定してもよく、これらの値は方法自身に影響をもたらさず、結果の精度にだけ影響を及ぼすだけである。
【0016】
本発明に係る携帯端末の位置データを利用してIPの地理的位置を特定する方法は下記の原理によるものである。大部分の人は毎日の活動に強い規則性があり、即ち普通第1の時間帯(夜)は家に、平日の第2の時間帯(昼)は職場にいる。ユーザが使う携帯端末(例えば携帯電話)の位置データ(通常はGPSによって獲得する)を集めれば、夜の位置データレコードがユーザの家の付近に集中し、平日の昼の位置データレコードが職場の付近に集中することになる。これによってあるユーザの大体の家と職場の地理的位置を推定できる。同時にユーザが使う固定端末のIP利用レコードも集められる。集められたIP利用レコードのデータからあるIPセグメントが複数のユーザの固定端末に使われることがわかれば、このIPセグメントがこれらのユーザの家と職場が集中する地理的位置にある可能性が高い。
【0017】
本発明の実施形態に係る携帯端末の位置データを利用してIPの地理的位置を特定する方法は少なくとも下記の特徴及び有益な効果がある。ユーザが使用する携帯端末(例えばGPS機能付き携帯電話)が生じた位置データを利用して当該ユーザが使用した固定端末(例えば家庭用パソコン、オフィスパソコン)、サーバなど及びそれらに使われたIPアドレスに対応する地理的位置を間接に推定する。携帯端末が提供した高精度の地理的位置データを間接に利用したため、街レベルのIPアドレス測位精度が実現され、同時に設置が簡単で応答時間が速い等の利点もある。
【0018】
上記の目的を実現するため、本発明の第2の実施形態はサーバを提供する。当該サーバは、各々が、ユーザ識別情報、時間、及び地理的位置を含む位置データレコードを複数有する地理的位置のデータセットを生成するように、予め設定した時間帯にユーザが使用した携帯端末の位置データを獲得する第1の獲得モジュールと、前記地理的位置のデータセットを前処理する第1の前処理モジュールと、前記地理的位置のデータセットに基づいて前記ユーザの各々の毎日の第1の時間帯における前記位置データレコードを獲得するとともに、前記第1の時間帯における前記位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心を前記ユーザの前記第1の時間帯における第1の候補位置とし、及び前記地理的位置のデータセットに基づいて前記ユーザの毎日の第2の時間帯における前記位置データレコードを獲得するとともに、前記第2の時間帯における前記位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心を前記ユーザの前記第2の時間帯における第2の候補位置とする第1のクラスタリングモジュールと、前記ユーザ識別情報、時間、及びIPアドレスを含むIPアドレスのデータレコードを複数有するIPアドレスのデータセットを生成するように、前記予め設定した時間帯に前記ユーザが使用した固定端末に対応するIPアドレスデータを獲得する第2の獲得モジュールと、前記IPアドレスデータレコードの各々における前記IPアドレスをそれぞれIPセグメントに変換し、前記ユーザが使用する前記IPセグメントに対応する前記IPアドレスデータレコードの数が予め定められた第1の閾値より小さい場合、前記IPアドレスのデータセットから前記IPセグメントに対応する前記IPアドレスのデータレコードを削除するように、前記IPアドレスのデータセットを前処理する第2の前処理モジュールと、前処理された前記IPアドレスのデータセットのそれぞれにおけるIPセグメントに基づき、前記IPセグメントを使用するすべてのユーザを獲得し、前記すべてのユーザに対応する前記第1の候補位置と前記第2の候補位置を前記IPセグメントの候補地理的位置として獲得するとともに、一連の集合を得られるように前記候補地理的位置をクラスタリングし、前記一連の集合から前記候補地理的位置を最も多く含む集合を獲得し、前記集合に対応する重心を前記IPセグメントに対応する地理的位置とする第2のクラスタリングモジュールとを含む。
【0019】
本発明の一実施形態では、前記第1の前処理モジュールは、前記地理的位置のデータセットから一つの未処理ユーザを獲得するステップ21と、前記地理的位置のデータセットから前記未処理ユーザのすべての位置データレコードを獲得するステップ22と、前記すべての位置データレコードの数が予め定められた第2の閾値より小さいか又は予め定められた第3の閾値より大きいかを判断するステップ23と、予め定められた第2の閾値より小さい又は予め定められた第3の閾値より大きい場合、前記地理的位置のデータセットから前記未処理ユーザに対応するすべての位置データレコードを削除するステップ24と、前記地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ21に戻って継続し、前記地理的位置のデータセットの中に未処理ユーザがない場合、前処理を終了するステップ25とを更に実行するように構成されている。
【0020】
本発明の一実施形態では、前記第1のクラスタリングモジュールは、前記地理的位置のデータセットから一つの未処理ユーザを獲得するステップ31と、前記地理的位置のデータセットから前記未処理ユーザの毎日の第1の時間帯における前記位置データレコードを獲得し、2つごとに前記位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、前記地理的位置の距離に基づいて前記位置データにおける前記地理的位置をクラスタリングするとともに、前記一連の集合における一つ又は複数の前記集合の重心を前記未処理ユーザの前記第1の候補位置とするステップ32と、前記地理的位置のデータセットから前記未処理ユーザの毎日の第2の時間帯における前記位置データレコードを獲得し、2つごとに前記位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、前記地理的位置の距離に基づいて前記位置データにおける前記地理的位置をクラスタリングするとともに、前記一連の集合における一つ又は複数の前記集合の重心を前記未処理ユーザの前記第2の候補位置とするステップ33と、前記地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ31に戻って継続し、前記地理的位置のデータセットの中に未処理ユーザがない場合、クラスタリングを終了するステップ34とを更に実行するように構成されている。
【0021】
本発明の一実施形態では、前記第1のクラスタリングモジュールは、2つごとに前記位置データレコードの地理的位置間の距離を獲得するように、前記2つの位置データレコードにおける前記地理的位置が緯度及び経度でない場合、前記地理的位置をそれぞれ緯度及び経度「lat,lng」と「lat,lng」に変換し、前記緯度及び経度「lat,lng」と「lat,lng」をそれぞれ弧度「α,β」と「α,β」に変換するステップと、S=arccos(sin(α)*sin(α)+cos(α1)*cos(α)*cos(β−β))*R(ここで、arccos、sin、cosはそれぞれ逆余弦、正弦、余弦記号を指し、Rは地球赤道の半径を表す)という公式に基づいて前記地理的位置の距離Sを獲得するステップと、前記集合の重心を獲得するように、仮に一つの集合が{[lat,lng][lat,lng]...,[lat,lng]}であれば、前記集合の重心を[(lat+lat+...+lat)/n,(lng+lng+...+lng)/n](nは正整数である)とするステップを更に実行するように構成されている。
【0022】
本発明の一実施形態では、前記第1のクラスタリングモジュールは、前記地理的位置の距離に基づいて前記位置データにおける前記地理的位置をクラスタリングするように、前記位置データの各々における前記地理的位置を一つの緯度及び経度を含む集合{「lat,lng」}(iが1以上の正整数である)に変換するステップ321と、2つの前記集合ごとに、2つの前記集合から任意に1つずつ緯度及び経度を獲得した場合の最大距離と定義される前記集合間の距離を獲得するステップ322と、距離が一番近い前記集合を2つ獲得し、前記距離が予め定められた第4の閾値より小さい場合、2つの前記集合を、元の2つの前記集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ322に戻って引き続き実行し、予め定められた第4の閾値より大きい又は予め定められた第4の閾値と同じである場合、クラスタリングを終了してステップ33に移行するステップ323とを更に実行するように構成されている。
【0023】
本発明の一実施形態では、前記第2の前処理モジュールは、前記IPアドレスデータレコードの各々における前記IPアドレスをそれぞれIPセグメントに変換するように、変換された前記IPアドレスに対応する前記IPセグメントに保持するのに必要なIPアドレスの長さMビットを獲得するステップと、前記IPアドレスに対応する前記IPセグメントを得るように、前記IPアドレスにおける上位Mビットの数値を変えず、下位32−Mビットの数値を0に設定するステップとを更に実行するように構成されている。Mは8以上32以下の整数である。
【0024】
本発明の一実施形態では、前記第2のクラスタリングモジュールは、前処理された前記IPアドレスのデータセットから一つの未処理IPセグメントを獲得するステップ61と、前記アドレスのデータセットから前記IPセグメントを使用したすべてのユーザを獲得するとともに、前記すべてのユーザの前記第1の候補位置と前記第2の候補位置を前記IPセグメントの候補地理的位置として獲得し、2つごとに前記候補地理的位置の距離を獲得し、一連の集合を得られるように前記距離に基づいてクラスタリングするステップ62と、前記IPセグメントの前記地理的位置として一つの前記集合の重心を選択するステップ63とを更に実行するように構成されている。
【0025】
本発明の一実施形態では、前記第2のクラスタリングモジュールは、前記距離に基づいてクラスタリングするように、前記候補地理的位置の各々に対応する緯度及び経度「lat,lng」を一つの緯度及び経度を含む集合{[lat,lng]}(iは1以上の正整数である)に変換するステップ621と、2つの集合ごとに、2つの前記集合から任意に一つの緯度及び経度を獲得した場合の最短距離と定義される前記集合間の距離を獲得するステップ622と、距離が一番近い前記集合を2つ獲得し、前記距離が予め定められた第5の閾値より小さい場合、2つの前記集合を、元の2つの前記集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ622に戻って引き続き実行し、予め定められた第5の閾値より大きい又は予め定められた第5の閾値と同じである場合、クラスタリングを終了してステップ63に移行するステップ623とを更に実行するように構成されている。
【0026】
本発明の一実施形態では、前記第2のクラスタリングモジュールは、前記IPセグメントの前記地理的位置として一つの前記集合の重心を選択するように、前記集合を前記候補地理的位置を含む数の多い順に整列し、それぞれC,C,…C…,C(nは集合の数である)とするステップ631と、Cに含まれる前記候補地理的位置の数がCより大きい場合、Cを選択してステップ634に移行し、そうでない場合ステップ633に移行するステップ632と、Cに含まれる前記候補地理的位置の数がCと同じである場合、C,…Cの中から一番多いユーザの数を有する前記集合を選択して、ステップ634に移行し、一番多いユーザの数を有する前記集合が複数ある場合、前記集合からランダムに一つを選択してステップ634に移行するステップ633と、選択された前記集合の重心を前記IPセグメントの前記地理的位置として獲得するステップ634とを更に実行するように構成されている。
【0027】
本発明の実施形態に係るサーバは少なくとも下記特徴及び有益な効果がある。ユーザが使用する携帯端末(例えばGPS機能付き携帯電話)が生じた位置データを利用して当該ユーザが使用した固定端末(例えば家庭用パソコン、オフィスパソコン)、サーバ及びそれらに使われたIPアドレスに対応する地理的位置を間接に推定する。携帯端末が提供した高精度の地理的位置データを間接に利用したため、当該サーバは街レベルのIPアドレス測位精度が実現され、同時に設置が簡単で応答時間が速い等の利点もある。
【0028】
上記目的を実現するため、本発明の第3の実施形態はコンピュータ読み取り可能な記憶媒体を提供する。コンピュータ読み取り可能な記憶媒体は、コンピュータが本発明の第1の実施形態による前記携帯端末の位置データを利用してIP地理的位置を特定する方法を実行させるためのコンピュータプログラムを記憶するように構成されている。
【0029】
本発明の追加の態様及び利点が下記の説明において部分的に表され、一部が下記の説明より明らかとなり、或は本発明の実行より了解できる。
【図面の簡単な説明】
【0030】
本発明のこれらの及び/又は付加の態様及び利点は、添付図面を参照してなされる以下の説明から明らかになり、より容易に認識される。
図1】本発明の実施形態における全体のフローチャートである。
図2】本発明の実施形態による地理的位置のデータセットを前処理する(ステップ2)を示すフローチャートである。
図3】本発明の実施形態による第1の候補位置と第2の候補位置を得られるように位置データレコードをクラスタリングする(ステップ3)フローチャートである。
図4】本発明の実施形態によるサーバを示すブロック図である。
【発明を実施するための形態】
【0031】
以下、本発明の実施の形態を詳細に説明する。前記実施の形態の実例が図面において示されるが、同一の又は類似する符号が同一又は類似の部品又は同一又は類似の機能を有する部品を表す。以下、図面を参照しながら説明する実施形態は、例示的なものであり、本発明を一般的に理解するために用いられる。実施形態は、本発明を限定するように解釈されてはならない。
【0032】
本発明における「第1」、「第2」等の用語は単に説明のためのみに用いられ、相対的な重要性に明示的にも暗示的にも関連づけられ使用されるものではない。また、本発明において、別途、明確に限定した場合を除き、「繋がり」、「接続」などの用語を広義に理解すべきである。例えば、機械的な接続でもよいし、電気接続でもよい。また、直接の繋がりでもよいし、ものを介する間接の繋がりでもよい。本分野の技術者は、具体的な状況によって本発明における上記用語の意味を理解できる。また、本発明において、別途明確に限定した場合を除き、用語「複数」は2つ又は2つ以上を指す。
【0033】
フローチャートにおいて又はここで他の方式で説明された論理又はステップは、一つ又は複数の論理機能又はステップを実現するための実行可能な命令の符号のモジュール、断片又は部分であり、並びに本発明の好ましい実施形態は他の形態も含み、例示された又は議論された順序(関与された機能とほぼ同じ方式又は逆の順序を含む)によらず実行できることは、当業者であれば理解すべきである。以下の説明と図面を参照して、本発明の実施形態のこれら及び他の態様をよりはっきり了解できる。これらの説明と図面において、本発明の実施形態に係る特定の実施方式を公開して本発明の実施形態の原理の方式が表れたが、上記の実施形態は、本発明を限定するように解釈される事が出来ず、本発明の要旨及び範囲を逸脱しない範囲で実施形態における変更、入れ替え及び修正、変型がなされることができることを当業者によって認識された。
【0034】
以下は図面を参照しながら本発明の実施形態による携帯端末の位置データを利用してIP地理的位置を特定する方法を説明する。
本発明は、ユーザがインスタントメッセンジャーソフトIM又はソーシャルアプリケーション、例えばテンセントの携帯版QQ、携帯ウェイボー等のアプリケーションを使用することを例にユーザが使用する携帯端末の位置データの収集ルートを説明し、ユーザがテンセントのデスクトップ版QQを使用することを例にユーザが使用する固定端末のIPアドレスデータの収集ルートを説明する。ユーザがテンセントの携帯版QQ、携帯ウェイボー等のアプリケーションを使用するとき、「足跡」、「説説」などの機能を利用して自分の地理的位置情報を提供することができる。これらの地理的位置情報はユーザのログインID(本発明におけるユーザ識別情報)、提供した時間及び地理的位置(GPS機能を利用して獲得された緯度及び経度データ)を含む。ユーザがデスクトップ版テンセントQQにログインするたびに、サーバはユーザが提供したデータに基づいてそれぞれのログイン情報を記録する。これらのログイン情報はユーザのログインID(ユーザ識別情報)、ログイン時間及びログインしたIPアドレスを含む。前記ユーザが自分で提供した地理的位置情報とデスクトップ版QQのログイン情報に基づいて、本発明の実施形態に必要とされる地理的位置のデータセットとIPアドレスのデータセットとを獲得することができる。
【0035】
本方法の実施形態は以下のステップを含む。
各々がユーザ識別情報、時間、及び地理的位置を含む位置データレコードを複数有する地理的位置のデータセットを生成するように、予め設定した時間帯(長くても短くてもよい、例えば一ヶ月)にユーザが使用した携帯端末の位置データを獲得するステップ1である。
本発明の一実施形態では、位置データは緯度及び経度(「lat,lng」)であり、収集された位置のデータセットをMySQLデータベースに格納される。データレコードの形式は表2に示される。
[表2] 携帯端末の位置データの格納形式
【表2】
【0036】
地理的位置のデータセットを前処理するステップ2である。
図に示されているように、本ステップは、地理的位置のデータセットから一つの未処理ユーザ(ユーザ識別情報)を獲得するステップ21と、地理的位置のデータセットから当該未処理ユーザのすべての位置データレコードを獲得するステップ22と、すべての位置データレコードの数が予め定められた第2の閾値(実際の状況に応じて設定し、本実施形態では10件である)より小さいか又は予め定められた第3の閾値(実際の状況に応じて設定し、本実施形態では1000件である)より大きいかを判断するステップ23と、予め定められた第2の閾値より小さい又は予め定められた第3の閾値より大きい場合、地理的位置のデータセットから当該未処理ユーザに対応するすべての位置データレコードを削除するステップ24と、地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ21に戻って継続し、前記地理的位置のデータセットの中に未処理ユーザがない場合、前処理を終了し、ステップ3に移行するステップ25とを含む。
【0037】
地理的位置のデータセットに基づいてユーザの各々の毎日の第1の時間帯(夜)における位置データレコードを獲得するとともに、第1の時間帯における位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心をユーザの第1の時間帯における第1の候補位置とし、並びに地理的位置のデータセットに基づいてユーザの各々の毎平日の第2の時間帯(昼)における位置データレコードを獲得するとともに、第2の時間帯における位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心をユーザの第2の時間帯における第2の候補位置とするステップ3である。
本発明の一実施形態では、当該ユーザの第1の候補位置と第2の候補位置がMySQLデータベースに格納されている。格納形式は表3に示される。
[表3] ユーザの第1の候補位置と第2の候補位置におけるデータの格納形式
【表3】
【0038】
図3に示されているように、本ステップは、地理的位置のデータセットから一つの未処理ユーザを獲得するステップ31と、地理的位置のデータセットから当該未処理ユーザの毎日の第1の時間帯(本実施形態では毎日夜8時〜朝7時である)における位置データレコードを獲得し、2つごとに位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、地理的位置の距離に基づいて位置データにおける地理的位置をクラスタリングするとともに、一連の集合における一つ又は複数の集合の重心を未処理ユーザの第1の候補位置とするステップ32と、地理的位置のデータセットから未処理ユーザの毎日の第2の時間帯(本実施形態では月曜日〜金曜日の午前9時〜午後6時である)における位置データレコードを獲得し、2つごとに位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、地理的位置の距離に基づいて位置データにおける地理的位置をクラスタリングするとともに、一連の集合における一つ又は複数の前記集合の重心を未処理ユーザの前記第2の候補位置とするステップ33と、地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ31に戻って継続し、地理的位置のデータセットの中に未処理ユーザがない場合、クラスタリングを終了し、ステップ4に移行するステップ34とを含む。
【0039】
上記ステップ32において、2つごとに位置データレコード間の地理的位置の距離を獲得することが、具体的に、2つの位置データレコードにおける地理的位置が緯度及び経度でない場合、地理的位置をそれぞれ緯度及び経度「lat,lng」と「lat,lng」に変換するとともに、緯度及び経度「lat,lng」と「lat,lng」をそれぞれ弧度「α,β」と「α,β」に変換するステップと、S=arccos(sin(α)*sin(α)+cos(α)*cos(α)*cos(β−β))*Rという公式に基づいて前記地理的位置の距離Sを獲得するステップとを含み、その中におけるarccos、sin、cosはそれぞれ逆余弦、正弦、余弦記号であり、Rは地球赤道の半径(デフォルト値6378137.0メートル)である。
【0040】
上記ステップ32において、地理的位置の距離に基づいて位置データにおける地理的位置をクラスタリングすることが、具体的に、位置データの各々における前記地理的位置を一つの緯度及び経度を含む集合{「lat,lng」}(iが1以上の正整数である)に変換するステップ321と、2つの集合から任意に1つずつ緯度及び経度を獲得した場合の最大距離と定義される2つごとに集合間の距離を獲得するステップ322と、距離が一番近い集合を2つ獲得し、距離が予め定められた第4の閾値(本実施形態では200メートルである)より小さい場合、2つの集合を、元の2つの集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ322に戻って引き続き実行し、予め定められた第4の閾値より大きい又は予め定められた第4の閾値と同じである場合、クラスタリングを終了してステップ33に移行するステップ323とを含む。
【0041】
上記ステップ32において、仮に一つの集合が{[lat,lng][lat,lng]...,[lat,lng]}であれば、集合の重心を[(lat+lat+...+lat)/n,(lng+lng+...+lng)/n](nは正整数である)とするステップに基づいて集合の重心を獲得する。
【0042】
各々がユーザ識別情報、時間、及びIPアドレスを含むIPアドレスのデータレコードを複数有するIPアドレスのデータセットを生成するように、予め設定した時間帯(長くても短くてもよい、例えば一ヶ月)にユーザが使用した固定端末に対応するIPアドレスデータを獲得するステップ4である。
獲得されたデータをMySQLデータベースに格納する。本実施形態におけるデータの格納形式は表4に示されている。
[表4] IPアドレスデータの格納形式
【表4】
【0043】
IPアドレスデータレコードの各々におけるIPアドレスをそれぞれIPセグメントに変換し、ユーザが使用するIPセグメントに対応するIPアドレスデータレコードの数が予め定められた第1の閾値(例えば10より小さい)より小さい場合、IPアドレスのデータセットからIPセグメントに対応するIPアドレスのデータレコードを削除するように、IPアドレスのデータセットを前処理するステップ5である。
上記ステップ5において、IPアドレスデータレコードの各々におけるIPアドレス(本実施形態はIPアドレス166.111.120.13を例として説明する)をそれぞれIPセグメントに変換することが、具体的には、変換されたIPアドレスに対応したIPセグメントに保持する必要なIPアドレスの長さMビットを獲得するステップ51と、IPアドレスに対応したIPセグメントを得られるように、IPアドレスにおける上位Mビットの数値を変えず、下位32−Mビットの数値を0に設定するステップ52とを含み、Mは8以上32以下の整数であり、本実施形態では24とする。
本実施形態では、上位24ビットを変えず、下位8ビットを0に設定して、166.111.120.13に対応したIPセグメント166.111.120.0を獲得する。
[表5] IPアドレスをIPセグメントに変換された後の格納形式
【表5】
【0044】
前処理されたIPアドレスのデータセットにおけるIPセグメントに基づき、IPセグメントを使用するすべてのユーザを獲得し、すべてのユーザに対応する第1の候補位置と第2の候補位置をIPセグメントの候補地理的位置として獲得するとともに、一連の集合を得られるように候補地理的位置をクラスタリングし、一連の集合から候補地理的位置を最も多く含む集合を獲得し、集合に対応する重心をIPセグメントに対応する地理的位置とするステップ6である。
本ステップは、前処理された前記IPアドレスのデータセットから一つの未処理IPセグメントを獲得するステップ61と、アドレスのデータセットから当該未処理IPセグメントを使用したすべてのユーザを獲得するとともに、すべてのユーザの第1の候補位置と第2の候補位置(ステップ3の結果に基づいて獲得する)をIPセグメントの候補地理的位置として獲得し、2つごとに候補地理的位置間の距離を獲得し、一連の集合を得られるように距離に基づいてクラスタリングするステップ62と、IPセグメントの地理的位置として一つの集合の重心を選択するステップ63とを含む。
【0045】
上記ステップ62において、距離に基づいてクラスタリングすることが、具体的には、候補地理的位置の各々に対応する緯度及び経度「lat,lng」を一つの緯度及び経度を含む集合{[lat,lng]}(iは1以上の正整数である)に変換するステップ621と、2つの集合ごとに、2つの集合から任意に1つずつ緯度及び経度を獲得した場合の最短距離と定義される集合間の距離を獲得するステップ622と、距離が一番近い集合を2つ獲得し、距離が予め定められた第5の閾値(本実施形態では500メートルである)より小さい場合、2つの集合を、元の2つの集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ622に戻って引き続き実行し、予め定められた第5の閾値(本実施形態では500メートルである)より大きい又は予め定められた第5の閾値と同じである場合、クラスタリングを終了してステップ63に移行するステップ623とを含む。
【0046】
上記ステップ63において、IPセグメントの地理的位置として一つの集合の重心を選択することが、具体的には、すべての集合を候補地理的位置を含む数の多い順に整列し、それぞれC,C,…C…,C(nは集合の数である)とするステップ631と、Cに含まれる候補地理的位置の数がCより大きい場合、Cを選択してステップ634に移行し、そうでない場合ステップ633に移行するステップ632と、Cに含まれる候補地理的位置の数がCと同じである場合、C,…Cの中から一番多いユーザの数を有する集合を選択して、ステップ634に移行し、一番多いユーザの数を有する集合が複数ある場合、集合からランダムに一つを選択してステップ634に移行するステップ633と、選択された集合の重心をIPセグメントの地理的位置として獲得するステップ634とを含む。
【0047】
上記実施形態を実現するため、本発明はサーバを提供する。
図4は本発明の実施形態によるサーバのブロック図である。
図4に示されているように、サーバは第1の獲得モジュール10、第1の前処理モジュール20、第1のクラスタリングモジュール30、第2の獲得モジュール40、第2の前処理モジュール50及び第2のクラスタリングモジュール60を含む。
【0048】
第1の獲得モジュール10は、各々がユーザ識別情報、時間、及び地理的位置を含む位置データレコードを複数有する地理的位置のデータセットを生成するように、予め設定した時間帯(長くても短くてもよい、例えば一ヶ月)にユーザが使用した携帯端末の位置データを獲得するように構成されている。本発明の一実施形態では、位置データは緯度及び経度(「lat,lng」)であり、収集された位置のデータセットをMySQLデータベースに格納される。データレコードの形式は上記表2に示される。
【0049】
第1の前処理モジュール20は地理的位置のデータセットを前処理するように構成されている。本発明の一実施形態では、第1の前処理モジュールは、地理的位置のデータセットから一つの未処理ユーザ(ユーザ識別情報)を獲得するステップ21と、地理的位置のデータセットから当該未処理ユーザのすべての位置データレコードを獲得するステップ22と、すべての位置データレコードの数が予め定められた第2の閾値(実際の状況に応じて設定し、本実施形態では10件である)より小さいか又は予め定められた第3の閾値(実際の状況に応じて設定し、本実施形態では1000件である)より大きいかを判断するステップ23と、予め定められた第2の閾値より小さい又は予め定められた第3の閾値より大きい場合、地理的位置のデータセットから当該未処理ユーザに対応するすべての位置データレコードを削除するステップ24と、地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ21に戻って継続し、前記地理的位置のデータセットの中に未処理ユーザがない場合、前処理を終了するステップ25とを更に実行する。方法実施形態及びそれに対応する図2を参照しながら理解されたい。
【0050】
第1のクラスタリングモジュール30は地理的位置のデータセットに基づいてユーザの各々の毎日の第1の時間帯(夜)における位置データレコードを獲得するとともに、第1の時間帯における位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心をユーザが第1の時間帯における第1の候補位置とし、並びに地理的位置のデータセットに基づいてユーザの各々の毎平日の第2の時間帯(昼)における位置データレコードを獲得するとともに、第2の時間帯における位置データレコードをクラスタリングし、クラスタリングされた複数の集合の重心をユーザが第2の時間帯における第2の候補位置とするように構成されている。本発明の一実施形態では、当該ユーザの第1の候補位置と第2の候補位置をMySQLデータベースに格納されている。第1の候補位置と第2の候補位置の格納形式は上記表3に示される。
【0051】
本発明の一実施形態では、第1のクラスタリングモジュール30は、地理的位置のデータセットから一つの未処理ユーザを獲得するステップ31と、地理的位置のデータセットから当該未処理ユーザの毎日の第1の時間帯(本実施形態では毎日夜8時〜朝7時である)における位置データレコードを獲得し、2つごとに位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、地理的位置の距離に基づいて位置データにおける地理的位置をクラスタリングするとともに、一連の集合における一つ又は複数の集合の重心を未処理ユーザの第1の候補位置とするステップ32と、地理的位置のデータセットから未処理ユーザの毎日の第2の時間帯(本実施形態では月曜日〜金曜日の午前9時〜午後6時である)における位置データレコードを獲得し、2つごとに位置データレコード間の地理的位置の距離を獲得するとともに、一連の集合を得られるように、地理的位置の距離に基づいて位置データにおける地理的位置をクラスタリングするとともに、一連の集合における一つ又は複数の前記集合の重心を未処理ユーザの前記第2の候補位置とするステップ33と、地理的位置のデータセットの中に未処理ユーザが存在した場合、ステップ31に戻って継続し、地理的位置のデータセットの中に未処理ユーザがない場合、クラスタリングを終了するステップ34とを更に実行する。方法実施形態及びそれに対応する図3を参照しながら理解されたい。
【0052】
本発明の別の実施形態では、第1のクラスタリングモジュール30は、2つごとに位置データレコード間の地理的位置の距離を獲得するように、2つの位置データレコードにおける地理的位置が緯度及び経度でない場合、地理的位置をそれぞれ緯度及び経度「lat,lng」と「lat,lng」に変換するとともに、緯度及び経度「lat,lng」と「lat,lng」をそれぞれ弧度「α,β」と「α,β」に変換するステップと、S=arccos(sin(α)*sin(α)+cos(α)*cos(α)*cos(β−β))*Rという公式に基づいて前記地理的位置の距離Sを獲得するステップとを更に実行し、その中におけるarccos、sin、cosはそれぞれ逆余弦、正弦、余弦記号であり、Rは地球赤道の半径(デフォルト値6378137.0メートル)である
【0053】
本発明の別の実施形態では、第1のクラスタリングモジュール30は、地理的位置の距離に基づいて位置データにおける地理的位置をクラスタリングするように、位置データの各々における前記地理的位置を一つの緯度及び経度を含む集合{「lat,lng」}(iが1以上の正整数である)に変換するステップ321と、2つの集合から任意に1つずつ緯度及び経度を獲得した場合の最大距離と定義される2つごとに集合間の距離を獲得するステップ322と、距離が一番近い集合を2つ獲得し、距離が予め定められた第4の閾値(本実施形態では200メートルである)より小さい場合、2つの集合を、元の2つの集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ322に戻って引き続き実行し、予め定められた第4の閾値より大きい又は予め定められた第4の閾値と同じである場合、クラスタリングを終了するステップ323とを更に実行する。
【0054】
本発明の別の実施形態では、第1のクラスタリングモジュール30は、集合の重心を得られるように、仮に一つの集合が{[lat,lng][lat,lng]...,[lat,lng]}であれば、集合の重心を[(lat+lat+...+lat)/n,(lng+lng+...+lng)/n](nは正整数である)とするステップを更に実行する。
【0055】
第2の獲得モジュール40は、各々がユーザ識別情報、時間、及びIPアドレスを含むIPアドレスのデータレコードを複数有するIPアドレスのデータセットを生成するように、予め設定した時間帯(長くても短くてもよい、例えば一ヶ月)にユーザが使用した固定端末に対応するIPアドレスデータを獲得するように構成されている。獲得されたデータをMySQLデータベースに格納する。本実施形態におけるデータレコードの形式は上記表4に示されている。
【0056】
第2の前処理モジュール50は、IPアドレスのデータセットを前処理するように構成されている。IPアドレスデータレコードの各々におけるIPアドレスをそれぞれIPセグメントに変換し、ユーザが使用するIPセグメントに対応するIPアドレスデータレコードの数が予め定められた第1の閾値(例えば10より小さい)より小さい場合、IPアドレスのデータセットからIPセグメントに対応するIPアドレスのデータレコードを削除する。
【0057】
本発明の一実施形態では、第2の前処理モジュール50は、IPアドレスデータレコードの各々におけるIPアドレスをそれぞれIPセグメントに変換するように、変換されたIPアドレスに対応したIPセグメントに保持する必要なIPアドレスの長さMビットを獲得するステップと、IPアドレスに対応したIPセグメントを得られるように、IPアドレスにおける上位Mビットの数値を変えず、下位32−Mビットの数値を0に設定するステップとを更に実行する。Mは8以上32以下の整数であり、本実施形態では24とする。
本実施形態では、上位24ビットを変えず、下位8ビットを0に設定して、166.111.120.13に対応したIPセグメント166.111.120.0を獲得する。IPセグメントに変換されたIPアドレスの格納形式は上記表5を参照しながら理解されたい。
【0058】
第2のクラスタリングモジュール60は、前処理されたIPアドレスのデータセットにおけるIPセグメントに基づき、IPセグメントを使用するすべてのユーザを獲得し、すべてのユーザに対応する第1の候補位置と第2の候補位置をIPセグメントの候補地理的位置として獲得するとともに、一連の集合を得られるように候補地理的位置をクラスタリングし、一連の集合から候補地理的位置を最も多く含む集合を獲得し、集合に対応する重心をIPセグメントに対応する地理的位置とするように構成されている。
【0059】
本発明の一実施形態では、第2のクラスタリングモジュール60は、前処理された前記IPアドレスのデータセットから一つの未処理IPセグメントを獲得するステップ61と、アドレスのデータセットから当該未処理IPセグメントを使用したすべてのユーザを獲得するとともに、すべてのユーザの第1の候補位置と第2の候補位置(ステップ3の結果に基づいて獲得する)をIPセグメントの候補地理的位置として獲得し、2つごとに候補地理的位置間の距離を獲得し、一連の集合を得られるように距離に基づいてクラスタリングするステップ62と、IPセグメントの地理的位置として一つの集合の重心を選択するステップ63とを更に実行する。
【0060】
本発明の別の実施形態では、第2のクラスタリングモジュール60は、距離に基づいてクラスタリングするように、候補地理的位置の各々に対応する緯度及び経度「lat,lng」を一つの緯度及び経度を含む集合{[lat,lng]}(iは1以上の正整数である)に変換するステップ621と、2つの集合ごとに、2つの集合から任意に1つずつ緯度及び経度を獲得した場合の最短距離と定義される集合間の距離を獲得するステップ622と、距離が一番近い集合を2つ獲得し、距離が予め定められた第5の閾値(本実施形態では500メートルである)より小さい場合、2つの集合を、元の2つの集合のすべての緯度及び経度を含む一つの新しい集合に合併させるとともに、ステップ622に戻って引き続き実行し、予め定められた第5の閾値(本実施形態では500メートルである)より大きい又は予め定められた第5の閾値と同じである場合、クラスタリングを終了するステップ623とを更に実行する。
【0061】
本発明の一実施形態では、第2のクラスタリングモジュール60は、IPセグメントの地理的位置として一つの集合の重心を選択するように、すべての集合を候補地理的位置を含む数の多い順に整列し、それぞれC,C,…C…,C(nは集合の数である)とするステップ631と、Cに含まれる候補地理的位置の数がCより大きい場合、Cを選択してステップ634に移行し、そうでない場合ステップ633に移行するステップ632と、Cに含まれる候補地理的位置の数がCと同じである場合、C,…Cの中から一番多いユーザの数を有する集合を選択して、ステップ634に移行し、一番多いユーザの数を有する集合が複数ある場合、集合からランダムに一つを選択してステップ634に移行するステップ633と、選択された集合の重心をIPセグメントの地理的位置として獲得するステップ634とを更に実行する。
【0062】
本発明の実施形態に係るサーバは少なくとも下記特徴及び有益な効果がある。ユーザが使用する携帯端末(例えばGPS機能付き携帯電話)が生じた位置データを利用して当該ユーザが使用した固定端末(例えば家庭用パソコン、オフィスパソコン)、サーバなど及びそれらに使われたIPアドレスに対応する地理的位置を間接に推定する。
携帯端末が提供した高精度の地理的位置データを間接に利用したため、当該サーバは街レベルのIPアドレス測位精度が実現され、同時に設置が簡単で応答時間が速い等の利点もある。
【0063】
上記目的を実現するため、本発明はコンピュータ読み取り可能な記憶媒体を提供する。コンピュータ読み取り可能な記憶媒体は、コンピュータが本発明の第1の実施形態による前記携帯端末の位置データを利用してIP地理的位置を特定する方法を実行させるためのコンピュータプログラムを記憶するように構成されている。
【0064】
フローチャートにおいて又はここで他の方式で説明された論理又はステップは、一つ又は複数の論理機能又はステップを実現するための実行可能な命令の符号のモジュール、断片又は部分であり、本発明の好ましい実施形態は他の形態も含み、例示された又は議論された順序(関与された機能とほぼ同じ方式又は逆の順序を含む)によらず実行できることは、当業者であれば理解すべきである。
【0065】
フローチャートにおいて又はここで他の方式で説明されたロジック及び/又はステップは、例えば、論理機能を実現するための実行可能な命令の順序リストであると考えられることができ、具体的に任意のコンピュータ可読媒体においても実現することができ、命令実行システム、装置、又はデバイス(例えば、コンピュータに基づいたシステムであり、プロセッサのシステム又は他の命令実行システム、装置、又はデバイスから命令を取得して実行するシステムを含む)により使用されるためのものであり、又はこれらの命令実行システム、装置、又はデバイスと組合せて使用するためのものである。本明細書では、「コンピュータ可読媒体」は、命令実行システム、装置、又はデバイスにより使用されるために、又はこれらの命令実行システム、装置、又はデバイスと組合せて使用するために、プログラムを含有、格納、通信、転送又は伝送できるいずれかの装置であってもよい。コンピュータ可読媒体のより具体的な例示(不完全なリスト)は、一つ又は複数の配線を有する電気的接続部(電子装置)、ポータブルコンピュータディスケットカートリッジ(磁気装置)、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去再書き込み可能な読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバーデバイス、及びポータブルコンパクトディスク読み取り専用メモリ(CDROM)を含む。また、コンピュータ可読媒体はさらに、その上に上記プログラムを印刷できる紙又は別の適切な媒体であってもよい。それは、例えば、紙又は他の媒体に光学走査を行ってから、編集、解釈又は必要に応じて他の適当な方法によって処理して、電子的に上記プログラムを取得し、次いで、それをコンピュータメモリに格納することができるためである。
【0066】
本発明の各部分は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実現することができる。上記実施形態において、複数のステップ又は方法は、メモリに格納され且つ適切な命令実行システムにより実行されるソフトウェア又はファームウェアで実現することができる。例えば、ハードウェアで実現する場合、他の実施形態と同様に、当該技術分野で公知の以下の技術におけるいずれか1つ又はそれらの組み合わせで実現することができる。データ信号に論理機能を実現するための論理ゲート回路を有するディスクリート論理回路、適切な組み合わせ論理ゲート回路を有する専用集積回路、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などである。
【0067】
上述の実施形態を実現する方法が係る全部又は部分のステップはプログラムによって関連するハードウェアに命令を実行して完了でき、前記プログラムはコンピュータ読み取り可能な記憶媒体に記憶され、プログラムを実行するとき、実施形態のステップの一つ又はその組合せを含むことを本技術分野の一般の技術者は理解すべきである。
【0068】
また、本発明の実施形態に係る各機能ユニットは一つの処理モジュールに統合されてもよいし、各ユニットの物理的存在であってもよいし、ソフトウェアによるモジュールを利用してもよい。前記統合されたモジュールはハードウェアを利用してもできるし、ソフトウェアを利用してもできる。前記統合されたモジュールはソフトウェアを利用して独立するプロダクトとして販売又は利用されるとき、コンピュータ読み取り可能な記憶媒体に記憶されてもよい。
【0069】
前記記憶媒体はROM、ディスク又はCD等である。
【0070】
本明細書の説明において、用語の「一実施形態」、「ある実施形態」、「例示」、「具体的な例示」、又は「ある例示」等の言葉とは、当該実施形態又は例示と合わせて説明された具体的な特徴、構成、材料又は特性が本発明の少なくとも一実施形態又は例示に含まれることを意味する。本明細書において、上記の用語の概略表現は必ずしも同じ実施形態又は例示を指さず、且つ、任意の一つ又は幾つの実施形態や例示において、説明された具体的な特徴、構成、材料又は特性を適当な方法で組み合わせることもできる。
【0071】
以上、本発明の実施形態を示して説明したが、本発明の原理と要旨から逸脱しない範囲で、これらの実施形態に対し様々な変更、修正、置換及び変形をすることができることは、当業者にとって理解できる。本発明の技術範囲は、特許請求の範囲及びその均等構成を基準にする。
図1
図2
図3
図4