(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024110507
(43)【公開日】2024-08-16
(54)【発明の名称】地域特定システム
(51)【国際特許分類】
H04L 41/0853 20220101AFI20240808BHJP
G06Q 50/10 20120101ALI20240808BHJP
【FI】
H04L41/0853
G06Q50/10
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023015101
(22)【出願日】2023-02-03
(71)【出願人】
【識別番号】503295518
【氏名又は名称】株式会社Geolocation Technology
(74)【代理人】
【識別番号】100105784
【弁理士】
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】岩津 良哉
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC11
5L050CC11
(57)【要約】
【課題】動的IPアドレスについても、それが使用されている地域を特定することができるようにする。
【解決手段】経路探索コマンドの実行によって得られるネットワーク経路を表す経路情報と、当該ネットワーク経路に対する正解ラベルとなる地域情報との組み合わせから成る学習用データを用いた機械学習処理を繰り返し実行することにより、特定モデルを逐次更新するモデル生成部11と、地域特定対象のIPアドレスを用いて経路探索コマンドを実行することによって得られる経路情報を特定モデルに入力し、当該IPアドレスに対応する地域情報を特定モデルから出力する地域特定部14とを備え、特定モデルを逐次更新し、更新された直近の特定モデルを用いてIPアドレスから地域情報を特定することにより、動的IPアドレスについても使用地域を特定することができるようにする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
経路探索コマンドを実行することによって探索されるネットワーク経路の情報である経路情報と、当該ネットワーク経路に対する正解ラベルとなる地域情報との組み合わせから成る学習用データを用いた機械学習処理により、上記経路情報が入力された際に上記地域情報が出力されるように構成された特定モデルを生成するモデル生成部と、
地域特定対象のIPアドレスを用いて上記経路探索コマンドを実行することにより、上記IPアドレスに関するネットワーク経路の情報である上記経路情報を探索する経路探索部と、
上記経路探索部により探索された上記経路情報を上記モデル生成部により生成された上記特定モデルに入力し、上記IPアドレスに対応する地域情報を上記特定モデルから出力する地域特定部とを備え、
上記モデル生成部は、上記機械学習処理を繰り返し実行することによって上記特定モデルを逐次更新する
ことを特徴とする地域特定システム。
【請求項2】
上記モデル生成部は、上記経路探索コマンドを実行することによって探索される上記経路情報のうち最終到達ノードから遡って所定数のノードのIPアドレスと上記地域情報との組み合わせを上記学習用データとして用いて上記機械学習処理を行い、
上記地域特定部は、上記経路探索部により探索された上記経路情報のうち、最終到達ノードから遡って所定数のノードのIPアドレスを上記モデル生成部により生成された上記特定モデルに入力し、上記地域特定対象のIPアドレスに対応する地域情報を上記特定モデルから出力する
ことを特徴とする請求項1に記載の地域特定システム。
【請求項3】
上記モデル生成部は、上記経路探索コマンドを実行することによって探索される上記経路情報のうち、地域を識別可能な地域関連情報が含まれているものについて、当該経路情報と上記地域関連情報から特定される地域情報との組み合わせを上記学習用データとして用いて上記機械学習処理を行うことを特徴とする請求項1または2に記載の地域特定システム。
【請求項4】
上記モデル生成部は、上記経路探索コマンドを実行することによって探索される上記経路情報のうち、当該経路探索コマンドの実行に使用したIPアドレスに対応する地域情報が既知のものについて、当該経路情報と当該既知の地域情報との組み合わせを上記学習用データとして用いて上記機械学習処理を行うことを特徴とする請求項1または2に記載の地域特定システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地域特定システムに関し、特に、IPアドレスが使用されている地域を特定するためのシステムに用いて好適なものである。
【背景技術】
【0002】
従来、ユーザ端末のIPアドレスに基づいて、当該ユーザ端末が使用されている地域(つまり、IPアドレスが使用されている地域)を特定する技術が知られている(例えば、特許文献1,2参照)。特許文献1に記載の地域特定システムでは、経路探索コマンドの実行により得られるルータの経由情報を用いて、ルータのIPアドレスから地域を特定する。特許文献2の段落[0006]には、アドレス空間上の各IPアドレスに対してtracerouteを行い、経路上のルータのドメイン名などから都市を推定することが記載されている。
【0003】
特許文献1に記載の地域特定システムでは、経路探索コマンドを実行することにより、ルータの経由情報を含む通信経路を探索し、IPアドレスとそのIPアドレスが使用されている地域とを関連付けて成る情報を記憶した地域データベースを参照して、探索された通信経路の末端に位置するルータのIPアドレスから地域を特定する。
【0004】
ここで、経路探索コマンドの実行により探索された通信経路に含まれるルータの数が所定数の場合は、地域データベースに記憶されている地域を特定する。一方、通信経路に含まれるルータの数が所定数より少ない場合は、地域データベースに記憶されている地域よりも広い地域を特定する。その際、通信経路に含まれるルータの数が少ないほど、特定する地域の広さを大きくする。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第6902765号公報
【特許文献2】特許第5721138号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、IPアドレスには動的IPアドレスと呼ばれるものがある。動的IPアドレスは、数日から数ヵ月でIPアドレスの値が変化する。このため、IPアドレスと地域情報との対応関係を記録したデータベースを用いて地域情報を特定する場合、当該データベースを常に最新の状態に維持することが必要となる。そのためには、数日から数ヵ月のサイクルで都度分析を行い、IPアドレスと地域情報との適切な関連付けを行う必要がある。
【0007】
しかしながら、IPアドレスの数が膨大であり、ドメインによってIPアドレスの性質が異なるためドメインごとに分析を実施する必要もある。そのため、全ての分析を数日単位の周期で行うことは困難である。また、実務的にはアクセスの多いドメインから優先して分析を行うことになり、アクセスの少ないドメインの分析まで手が回らないことが多くなるという問題もあった。上記特許文献1,2に記載の従来技術は、動的IPアドレスを考慮した地域特定の仕組みが備えられておらず、動的IPアドレスから地域を特定することは難しい。
【0008】
本発明は、このような問題を解決するために成されたものであり、動的IPアドレスについても、当該動的IPアドレスが使用されている地域を特定することができるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記した課題を解決するために、本発明では、経路探索コマンドを実行することによって探索されるネットワーク経路の情報である経路情報と、当該ネットワーク経路に対する正解ラベルとなる地域情報との組み合わせから成る学習用データを用いた機械学習処理を繰り返し実行することにより、経路情報が入力された際に地域情報が出力されるように構成された特定モデルを逐次更新する。そして、地域特定対象のIPアドレスを用いて経路探索コマンドを実行することによって得られる経路情報を特定モデルに入力し、当該IPアドレスに対応する地域情報を特定モデルから出力するようにしている。
【発明の効果】
【0010】
上記のように構成した本発明によれば、IPアドレスのネットワーク経路とIPアドレスの使用地域との関係性を反映して生成される特定モデルが逐次更新され、更新された直近の特定モデルを用いてIPアドレスから地域情報が特定されるので、動的IPアドレスについても、当該動的IPアドレスが使用されている地域を特定することが可能である。
【図面の簡単な説明】
【0011】
【
図1】本実施形態による地域特定システムの機能構成例を示すブロック図である。
【
図2】あるIPアドレスを指定して経路探索コマンドを実行したときに得られる経路情報の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態を図面に基づいて説明する。
図1は、本実施形態による地域特定システム10の機能構成例を示すブロック図である。
図1に示すように、本実施形態の地域特定システム10は、その機能構成として、モデル生成部11、特定対象IP取得部12、経路探索部13および地域特定部14を備えている。モデル生成部11は、具体的な機能構成として、学習用データ生成部11Aおよび学習部11Bを備えている。また、地域特定部14はモデル記憶部14Aを備えている。
【0013】
上記機能ブロック11~14は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記機能ブロック11~14は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記憶媒体に記憶されたプログラムが動作することによって実現される。
【0014】
また、本実施形態の地域特定システム10は、インターネットまたは携帯電話網などの通信ネットワークを介してIPアドレスログ収集サーバ100と接続され、相互にデータ通信を行うことができるように構成されている。IPアドレスログ収集サーバ100は、図示しないユーザ端末から通信ネットワークを介して通信が行われるときに使用されるIPアドレスを取得し、IPアドレス記憶部101に格納する。
【0015】
通信ネットワーク上では、各地にいる多くのユーザが、それぞれのユーザ端末から所望のタイミングで所望のウェブサイトにアクセスしてコンテンツを閲覧したり、他のユーザ端末またはサーバなどとの間でコミュニケーションやデータ取得などの各種通信を行ったりしている。IPアドレスログ収集サーバ100は、これらの通信に使用されるIPアドレスを都度取得し、IPアドレスを取得した日時情報と共に履歴情報としてIPアドレス記憶部101に逐次格納する。
【0016】
モデル生成部11は、経路探索コマンドを実行することによって探索されるネットワーク経路の情報(以下、経路情報という)と、当該ネットワーク経路に対する正解ラベルとなる地域情報との組み合わせから成る学習用データを用いた機械学習処理により、経路情報が入力された際に地域情報が出力されるように構成された特定モデルを生成する。そして、生成した特定モデルを地域特定部14のモデル記憶部14Aに格納する。モデル生成部11は、この機械学習処理を繰り返し実行することにより、地域特定部14の特定モデルを逐次更新する。
【0017】
ここで、学習用データ生成部11Aは、IPアドレスログ収集サーバ100からIPアドレス記憶部101に記憶されている複数のIPアドレスを取得し、取得したIPアドレスに対して経路探索コマンドを実行することにより、それにより探索されるネットワーク経路の経路情報と地域情報との組み合わせから成る学習用データを生成する。
【0018】
IPアドレスログ収集サーバ100から取得する複数のIPアドレスは、特定モデルの更新タイミングから遡って所定期間中に収集されたIPアドレスとする。例えば、特定モデルの更新タイミングが属する日から数日前まで、数週間前まで、あるいは数ヵ月前までの日付情報と紐づけられているIPアドレスをIPアドレスログ収集サーバ100から取得する。動的IPアドレスが数日単位に変わることがあることを考慮すると、数日前までの直近のIPアドレスを用いて機械学習を行うのがより好ましい。
【0019】
ネットワーク経路の探索は、公知技術を適用して行うことが可能である。例えば、Unix(登録商標)のtracerouteコマンド(Windows(登録商標)ではtracertコマンド)を実行することにより、ある通信がインターネット上で行われたときにおける送信元ホストと送信先ホストとの間のネットワーク経路を得ることができる。ここでいうネットワーク経路は、ホスト間を接続する複数のルータの経由情報のことである。
【0020】
例えば、学習用データ生成部11Aは、IPアドレスログ収集サーバ100から取得したIPアドレスを送信先ホストとして指定して経路探索コマンドを実行することにより、指定した送信先ホストから送信元ホストまでの間のネットワーク経路を送信方向とは逆向きに探索し、ホスト間に存在するルータの経由情報を取得する。探索される経由情報には、両ホストのIPアドレスおよび経由した各ルータのIPアドレスが含まれている。また、探索される経路情報には、地域を識別可能な地域関連情報が含まれていることがある。
【0021】
図2は、あるIPアドレスを指定して経路探索コマンドを実行したときに得られる経路情報の一例を示す図である。
図2に示す例では、送信元ホストから送信先ホストまで6個のルータを経由するネットワーク経路が探索されており、全部で8個のノードのIPアドレスが含まれている。また、ネットワーク経路の一部に“TOKYO”または“tky”の文字列が含まれている。これが、地域を識別可能な地域関連情報である。経路探索コマンドを実行したとき、このような文字列が含まれている場合もあれば、含まれていない場合もある。
【0022】
学習用データ生成部11Aは、経路探索コマンドを実行することによって探索される経路情報のうち、地域を識別可能な地域関連情報が含まれているものについて、当該経路情報と地域関連情報から特定される地域情報との組み合わせを学習用データとして生成する。本実施形態では、地域情報として都道府県を表すコード情報(以下、都道府県コードという)を用いる。ここで、地域関連情報(経路情報に含まれる文字列)と地域情報(都道府県コード)との関連付け情報を記録した辞書データをあらかじめ用意しておき、この辞書データを参照することにより、地域関連情報に対応する地域情報を認識する。
【0023】
経路情報の中に、異なる地域を識別可能な地域関連情報が含まれている場合には、例えば、最終到達ノード(送信先ホスト)に最も近いノードに付されている地域関連情報を用いて学習用データを生成する。最終到達ノードのIPアドレスを用いてネットワーク経路の探索を行っているので、最終到達ノードに最も近いノードに付されている地域関連情報が、最終到達ノードのIPアドレスに対応する地域関連情報として正解である可能性が高いと考えられるからである。
【0024】
なお、学習用データ生成部11Aは、経路探索コマンドを実行することによって探索される経路情報のうち最終到達ノード(送信先ホスト)から遡って所定数のノードのIPアドレスと地域情報との組み合わせを学習用データとして用いて機械学習処理を行うようにしてもよい。最終到達ノードのIPアドレスを用いてネットワーク経路の探索を行っているので、最終到達ノードに近いいくつかのノードのIPアドレスが特に重要と考えられるからである。
【0025】
学習部11Bは、学習用データ生成部11Aにより生成された学習用データを用いて機械学習処理を行うことにより、経路情報が入力された際に地域情報が出力されるように構成された特定モデルを生成する。学習部11Bが生成する特定モデルの形態は任意であり、例えば回帰モデル、木モデル、ニューラルネットワークモデル、ベイズモデル、クラスタリングモデルなどのうち何れかとすることが可能である。なお、ここに挙げたモデルは一例に過ぎず、これに限定されるものではない。
【0026】
ここで、経路情報が入力された際に地域情報が出力されるように特定モデルを機械学習するとは、入力された経路情報に含まれる複数のIPアドレスの組み合わせまたは順列に対して、正解としての地域情報が高い確率で出力されやすくなるように、特定モデルのパラメータを調整することを意味する。正解としての地域情報とは、学習用データとして使用された経路情報に対応する地域情報のことである。つまり、学習部11Bは、特定モデルに入力される経路情報が学習用データとして使用された経路情報と同一または類似の特徴を有する場合に、当該学習用データとして使用された経路情報に対応する地域情報が特定モデルから出力されやすくなるように、特定モデルのパラメータを調整する。
【0027】
なお、学習部11Bは、次のように構成した特定モデルを機械学習処理によって生成するようにしてもよい。すなわち、地域関連情報が含まれている経路情報が特定モデルに入力された場合には、当該地域関連情報から特定される地域情報が特定モデルから出力されるようにする。一方、地域関連情報が含まれていない経路情報が特定モデルに入力された場合には、当該経路情報に含まれる複数のIPアドレスの組み合わせまたは順列に基づいて特定される地域情報が特定モデルから出力されるようにする。
【0028】
特定対象IP取得部12は、使用されている地域情報を特定したいIPアドレス(以下、地域特定対象のIPアドレスという)を取得する。例えば、特定対象IP取得部12は、IPアドレスログ収集サーバ100からIPアドレス記憶部101に記憶されている複数のIPアドレスを地域特定対象のIPアドレスとして取得する。例えば、特定対象IP取得部12は、学習用データとして使われていない直近のIPアドレスをIPアドレスログ収集サーバ100から取得する。
【0029】
なお、地域特定対象のIPアドレスの取得元は、学習用データに用いるIPアドレスの取得元と同じであることを要するものではない。すなわち、特定対象IP取得部12は、IPアドレスログ収集サーバ100とは異なる別のルートから地域特定対象のIPアドレスを取得するようにしてもよい。この場合、取得するIPアドレスは、任意の日付情報と紐づけられているIPアドレスとしてよい。
【0030】
経路探索部13は、特定対象IP取得部12により取得された地域特定対象のIPアドレスを用いて経路探索コマンドを実行することにより、IPアドレスに関するネットワーク経路の情報である経路情報を探索する。経路探索部13が行う経路探索処理は、学習用データ生成部11Aが行う経路探索処理と同じである。すなわち、経路探索部13は、特定対象IP取得部12により取得されたIPアドレスを送信先ホストとして指定して経路探索コマンドを実行することにより、送信元ホストから送信先ホストまでのネットワーク経路を探索する。
【0031】
地域特定部14は、経路探索部13により探索された経路情報を、モデル生成部11により生成されモデル記憶部14Aに記憶された特定モデルに入力し、地域特定対象のIPアドレスに対応する地域情報を特定モデルから出力する。ここで、学習部11Bが特定モデルを生成(更新)する際に、経路情報の最終到達ノードから遡って所定数のノードのIPアドレスと地域情報との組み合わせを学習用データとして用いて機械学習処理を行うようにした場合、地域特定部14は、経路探索部13により探索された経路情報のうち、最終到達ノードから遡って所定数のノードのIPアドレスを特定モデルに入力し、地域特定対象のIPアドレスに対応する地域情報を特定モデルから出力する。
【0032】
以上詳しく説明したように、本実施形態では、経路探索コマンドを実行することによって探索されるネットワーク経路を表す経路情報と、当該ネットワーク経路に対する正解ラベルとなる地域情報との組み合わせから成る学習用データを用いた機械学習処理を繰り返し実行することにより、経路情報が入力された際に地域情報が出力されるように構成された特定モデルを逐次更新する。そして、地域特定対象のIPアドレスを用いて経路探索コマンドを実行することによって得られる経路情報を特定モデルに入力し、当該IPアドレスに対応する地域情報を特定モデルから出力するようにしている。
【0033】
このように構成した本実施形態によれば、IPアドレスのネットワーク経路とIPアドレスの使用地域との関係性を反映して生成される特定モデルが逐次更新され、更新された直近の特定モデルを用いてIPアドレスから地域情報が特定されるので、動的IPアドレスについても、当該動的IPアドレスが使用されている地域を特定することが可能である。
【0034】
なお、上記実施形態では、IPアドレスに対して経路探索コマンドを実行することによって得られる経路情報のうち、地域関連情報が含まれているものから学習用データを生成する例について説明したが、本発明はこれに限定されない。例えば、学習用データ生成部11Aは、経路探索コマンドを実行することによって探索される経路情報のうち、当該経路探索コマンドの実行に使用したIPアドレスに対応する地域情報が既知のものについて、当該経路情報と当該既知の地域情報との組み合わせを学習用データとして用いるようにしてもよい。
【0035】
IPアドレスに対応する地域情報が既知のものというのは、経路探索コマンドの実行以外の方法によってIPアドレスと地域情報との関連付けができているものという意味である。経路探索コマンドの実行以外の方法として、いくつかの公知技術を適用することが可能である。
【0036】
例えば、全世界のドメインを管理する機関であるNIC(Network Information Center)や、日本のドメインを管轄するJPNICなどで得られる情報をもとに複数のIPアドレスを地域別に分類した地域別アドレス分類データベースを利用することが可能である。
【0037】
また、インターネット・サービス・プロバイダ(ISP)が多数の地域に設置しているアクセスポイントごとのIPアドレスと、当該アクセスポイントの設置地域とを関連付けて構成した地域別ISPアドレス分類データベースを利用することも可能である。
【0038】
また、IPアドレスに対応するドメインネームを取得し、ドメインネームを構成する文字列からネットワーク名を抽出してプロバイダ名を判定するとともに、ドメインネームを構成する文字列からホストネームを抽出する。そして、プロバイダごとにホストネームを地域別に分類した地域別ホストネーム分類データベースを参照して、上記抽出したホストネームから地域情報を取得するようにすることも可能である。
【0039】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0040】
10 地域特定システム
11 モデル生成部
11A 学習用データ生成部
11B 学習部
12 特定対象IP取得部
13 経路探索部
14 地域特定部
14A モデル記憶部