JP2018521610A - ルート追跡を用いて地理位置を特定するための方法、システムおよび装置 - Google Patents

ルート追跡を用いて地理位置を特定するための方法、システムおよび装置 Download PDF

Info

Publication number
JP2018521610A
JP2018521610A JP2018523369A JP2018523369A JP2018521610A JP 2018521610 A JP2018521610 A JP 2018521610A JP 2018523369 A JP2018523369 A JP 2018523369A JP 2018523369 A JP2018523369 A JP 2018523369A JP 2018521610 A JP2018521610 A JP 2018521610A
Authority
JP
Japan
Prior art keywords
geolocation
delay
address
estimated
geographic location
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.)
Granted
Application number
JP2018523369A
Other languages
English (en)
Other versions
JP2018521610A5 (ja
JP6920294B2 (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.)
Dynamic Network Services Inc
Original Assignee
Dynamic Network Services Inc
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 Dynamic Network Services Inc filed Critical Dynamic Network Services Inc
Publication of JP2018521610A publication Critical patent/JP2018521610A/ja
Publication of JP2018521610A5 publication Critical patent/JP2018521610A5/ja
Application granted granted Critical
Publication of JP6920294B2 publication Critical patent/JP6920294B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

特定のインターネットプロトコル(IP)アドレスに関連する装置の地理位置(ジオロケーション)を推定するための従来方法は、一般的に非常に不正確な結果をもたらす。多くの場合、推定されたIPジオロケーションは、間違った大陸にある。本発明の実施形態は、遅延測定値、ドメインネームサーバ(DNS)情報およびルーティング情報に基づいて、不正確な推定値を特定および改善するための技術を含む。例えば、複数の収集装置からの遅延測定値を用いて、IPジオロケーション推定値の妥当性を評価することができ、場合によって、IPジオロケーション推定値の精度を高めることができる。DNSおよびルーティング情報を用いて、推定されたIPジオロケーションを確証することができる。得られたより正確なIPジオロケーション推定結果を用いて、インターネットトラフィックをより効率的にルーティングし、機密情報をルーティングするための規則を強化し、トラブルシューティングを簡単化することができる。

Description

関連出願の相互参照
本願は、米国特許法第119条(e)に基づき、2015年7月22日に出願され且つ「ルート追跡を用いて地理位置を特定するための方法、システムおよび装置」と題された米国特許出願第62/195488号の優先権を主張する。当該出願の全体は、参照により本明細書に組み込まれる。
背景
インターネットプロトコル(IP)地理位置(geographic location)またはIPジオロケーション(geolocation)は、特定のIPアドレスに関連する装置の物理位置を推測または推定することである。換言すると、IPジオロケーションは、所望レベルの特異度で、IPアドレスを地球上のある位置に特定することである。特定のIPアドレスの地理位置を推測または推定するための技術は、(1)インターネットホストまたはローカルネットワークノードに対応するドメインネームサーバ(DNS)名、(2)IPアドレスと、既知の地理位置に配置された一群の装置との間の遅延測定値、および(3)IP−位置の部分マッピング情報と境界ゲートウェイプロトコル(border gateway protocol、BGP)プレフィックス情報との組み合わせから、地理位置を推定する。これらの技術の詳細については、例えば、参照によりその全体が本明細書に組み込まれた米国特許第7711846号を参照する。
残念なことに、IPジオロケーション推定値は、ケーブル、ルータ、サーバおよびアクセス装置などの物理関係ではなく、IPアドレス、ルーティングプロトコルおよびアプリケーションの論理関係の観測に基づいて推定されたため、不正確であり、場合によって非常に不正確である。論理関係は、しばしば物理関係に関連されるが、必ずしも連携するとは限らない。例えば、インターネット空間では互いに隣接するIPアドレスは、必ずしも互いに地理的に隣接するとは限らず、その逆も同様である。例えば、ブラジルとペルーとは、互いに地理的に隣接するが、インターネット空間では互いに隣接していない。また、装置の物理位置の変化は、必ずしも装置のインターネット空間位置の変化に対応するとは限らず、その逆も同様である。特定のBGPプレフィックスを公告したルータを検討する。プレフィックスを公告することによって、ルータは、物理空間において移動されても、論理的な観点から固定である1つ以上の論理的なインターネット関係を確立する。
また、プレフィックスを1つの場所に配置する必要がない。エンドユーザ(end user)ネットワークは、しばしば単一の地理範囲を有するが、例えば、(ルータ、スイッチおよびファイアウォールを含む)広域ネットワークに使用されたインフラストラクチャIPアドレスは、グローバル範囲であり得るプロバイダの運用領域の全体に分散されることがある。したがって、連続のインフラストラクチャIPアドレスは、単一のプレフィックスとしてインターネットの他の部分に接続されても、物理的に離れた場所に配置されることがある。
さらに、ジオロケーションの推測または推定に使用されたネットワーク情報は、不正確、不完全、またはその両方である可能性がある。プレフィックスの登録は、しばしば、エンドユーザの自己報告によって行われ、地域インターネット登録官がその有効性をチェックしない。したがって、DNS情報が間違った可能性がある。例えば、特定の区域(例えば、英国)に関連するドメインは、必ずしもその区域にホストされるとは限らない。インターネットサービスプロバイダは、しばしば、都市の略語をルータのインターフェイス名に使用するが、命名規則は、プロバイダによって異なり、必ずしも最新のものとは限らない。例えば、ルータインターフェイスは、光ファイバの遠端に接続されているある都市の名前で命名されてもよい。同様に、BGP情報、特に広範囲の地理区域(例えば、大陸)をカバーするプレフィックスを公告する地域プロバイダのBGP情報は、不確定である可能性がある。
また、人為的な遅延によって時間測定値が長くなり、その結果、インターネットノード間の距離推定値を増加することによって、遅延測定値は、しばしば不精確である。これらの遅延は、パケットを符号化するための時間としての直列遅延と、ルータのキュー遅延と、総伝播距離と伝播速度(光ファイバの場合、約200000km/秒)との積に等しい伝播遅延とを含むがこれらに限定されない。通信媒体(通常、光ファイバ)が2点の間に直線ではなく蛇行して配置された場合、伝播遅延がより大きくなる。実際に、多くの光ファイバは、既存の送電線用地に沿って蛇行して配置される。他の場合、光ファイバは、地理的な制約(例えば、丘および川)、経済的な制約(例えば、不動産所有者とインターネットサービスプロバイダとの間のビジネス関係の欠如)、またはその両方の制約によって、蛇行して配置される。一般的には、遅延が長くなれば、伝播経路が遠回りになる可能性が高くなり、エンドポイント間の距離推定値の人為的な増加をもたらす可能性も高くなる。
不完全または不正確なネットワーク情報および不精確な遅延測定値によって、IPアドレスの物理位置の推定に関連する不確実性レベルは、ジオロケーション推定値の特異度レベルと共に大きくなる。例えば、非常に高い信頼度で、特定のIPアドレスの惑星(地球)を推測することができる。IPアドレスの大陸を特定する場合、信頼度が低下する傾向がある。また、IPアドレスの国を特定する場合、部分的な理由として各国の大きさおよび国境が変動するため、不確実性がさらに増加する傾向がある。さらに、首都圏/都市レベルでIPジオロケーションを推定する場合の信頼度は、都市の位置および他の都市との近接度に部分的に依存して、さらに低下する傾向がある。
概要
発明者らは、不正確な登録および/またはDNS情報および遅延測定値における遅延によって、利用可能なIPジオロケーションデータが不正確になる傾向があることを認識した。また、プレフィックスが複雑な方法で重なり、相関することがあるため、正確なIPジオロケーション問題を複雑化する。また、本発明者らは、不正確なIPジオロケーションデータがインターネットトラフィックの管理およびトラブルシューティングに悪影響を及ぼすことを認識した。より具体的には、不正確なIPジオロケーション推定は、高いDNS遅延および不正確なDNSベースド負荷分散を引き起こす可能性がある。例えば、トラフィックが実際に米国から来た場合、負荷をヨーロッパのリソースに分散してしまう。さらに、不正確なIPジオロケーション推定は、ネットワーク問題が発生した場所および原因に関する不正確な結論をもたらし、その結果、不適切または非効率的もしくは無駄なトラブルシューティングをもたらす可能性がある。
本技術の実施形態は、他のIPジオロケーション技術よりもより正確に実行できるIPジオロケーションの方法およびシステムを含む。1つの例は、インターネットに動作可能に接続され、IPアドレスを有する少なくとも1つの装置を特定するための方法を含む。この方法は、第三者から、装置のIPアドレスに基づいた装置の第1推定地理位置を自動的に取得するステップを含む。また、方法は、インターネットに動作可能に接続された複数のセンサの各センサから装置のIPアドレスへの送信に関連する各々の遅延分布を測定することを含む。複数のセンサの各センサは、異なるジオロケーションに配置される。プロセッサは、測定された遅延分布から少なくとも1つの遅延を選択し、選択された遅延を測定したセンサを特定する。プロセッサは、遅延に基づいて、センサと装置との間の最大可能な地理距離を推定し、それを装置の第1推定地理位置とセンサの地理位置との間の距離と比較する。装置の第1推定地理位置が、センサの地理位置から推定された最大可能な地理距離内に位置していない場合、プロセッサは、最大可能な地理距離および地理位置に基づいて装置の第2推定地理位置を決定する。
他の実施形態は、インターネットに動作可能に接続され、IPアドレスを有する少なくとも1つの装置の地理位置を推定するための別の方法を含む。この方法は、第一者から、装置のIPアドレスに基づいた装置の第1推定地理位置を自動的に取得するステップと、第二者から、装置のIPアドレスに基づいた装置の第2推定地理位置を自動的に取得するするステップとを含む。プロセッサは、第1推定地理位置と第2推定地理位置との間の距離を決定する。その距離が所定の閾値を超える場合、プロセッサは、インターネットに動作可能に接続された複数のセンサの各センサから装置のIPアドレスへの送信に関連する各々の遅延を測定する。複数のセンサの各センサは、異なる地理位置に配置される。プロセッサは、各々の遅延から少なくとも1つの遅延を選択し、選択された遅延を測定したセンサを特定し、選択された遅延に少なくとも部分的に基づいて、センサと装置との間の最大可能な地理距離を推定する。その後、プロセッサは、センサの地理位置から推定された最大可能な地理距離に基づいて、装置の第3推定地理位置を決定する。
更新された新たなオロケーション推定値を用いて、装置におよび/または装置からパケットをルーティングすることによって、パケット遅延を減少させるおよび/またはパケット量を増加させることができる。また、更新された新たなオロケーション推定値を用いて、例えば、データセキュリティに関する規則または法律に従って、特定の地理区域の周りに、特定の地理区域を回避して、または特定の地理区域を通って、パケットをルーティングすることができる。ジオロケーション推定値を使用して、インターネットサービスプロバイダ(ISP)を選択することができ、ドメインネームシステム(DNS)クエリを解析することもできる。
また、本技術の実施形態は、インターネットプロトコル(IP)アドレス内の指定のネットワークプレフィックスのジオロケーションを推定するための方法および装置を含む。指定のネットワークプレフィックスの地理位置を推定するために、プロセッサまたは他のコンピュータ装置は、指定のネットワークプレフィックスのトランシット木を割り出す。トランシット木は、指定のネットワークプレフィックスの自律システム(AS)経路を表し、第1ASと第2ASとの間の少なくとも1つのエッジを示す。プロセッサは、第1ASの地理位置および第2ASの地理位置に基づいて、指定のネットワークプレフィックスの第1推定地理位置を推定する。場合によって、プロセッサは、第1推定地理位置と、第三者から得られた指定のネットワークプレフィックスの第2推定地理位置とを比較することができる。第1推定地理位置と第2推定地理位置とが一致しない場合、プロセッサは、指定のネットワークプレフィックスとの間の送信遅延測定値を用いて、第1推定地理位置を検証することができる。
本技術のさらに別の実施形態は、第1のIPアドレスを有する装置のジオロケーションを推定するための方法および装置を含む。この場合、コンピュータネットワーク(例えば、インターネット)に接続された収集装置または他の装置は、パケットを第1のIPアドレスに送信する。パケットに応答して、収集装置は、第1のIPアドレスとは異なる第2のIPアドレスから、ポート到達不能なメッセージを受信する。収集装置または収集装置に結合された別の処理装置は、ポート到達不能なメッセージに応答して、第2のIPアドレスが第1のIPアドレスのエイリアスであると判定する。したがって、収集装置または他の処理装置は、第1のIPアドレスおよび第2のIPアドレスの共通地理位置を推定する。
前述した発想および以下でより詳細に説明する追加の発想(これらの発想が相互に矛盾しない前提で)の全ての組み合わせは、本明細書に開示された発明の主題の一部であると理解すべきである。特に、本開示の最後の特許請求の範囲の全ての組み合わせは、本明細書に開示された発明の主題の一部であると考えられる。また、本明細書に明示的に使用された用語および参照により他の開示に援用された用語は、本明細書に開示された特定の概念と最も一致する意味で解釈されるべきであることを理解すべきである。
当業者であれば、図面は、主に説明の目的のものであり、本明細書に記載された発明の主題の範囲を限定するものではないことを理解するであろう。図面は、必ずしも一定の縮尺描かれていない。いくつかの例において、本明細書に開示された発明の主題の様々な態様は、異なる特徴を容易に理解させるために、図面においてこれらの特徴を拡大または縮小することがある。図面において、同様の参照符号は、一般的に、同様の特徴(例えば、機能的におよび/または構造的に類似する要素)を指す。
本発明の特徴および利点は、図面と併せて以下の詳細な説明からより明らかになるであろう。
特定のIPアドレスに関連する少なくとも1つの装置のジオロケーションを推定するためのプロセスを示す図である。 特定のIPアドレスに関連する少なくとも1つの装置のジオロケーションを推定するための別のプロセスを示す図である。 図1Aおよび1Bに示されたプロセスを用いて得られたIPアドレスのジオロケーション推定値に対する訂正を示すマップである。 図1Aおよび1Bに示すIPジオロケーションプロセスの実行に適したジオロケーションシステムの一例を示す図である。 物理的および仮想的なルート追跡データ収集装置および/またはネットワークセンサを含むルート追跡データ収集装置の位置を示す図である。 グロバールに配置されたルート追跡データ収集装置および/またはネットワークセンサによってカバーされた地理的な区域を示す図である。 グロバールに配置されたルート追跡データ収集装置および/またはネットワークセンサによってカバーされた地理的な区域を示す図である。 ジオロケーションサーバの一例を示す図である。 ルート追跡収集データ装置の一例を示す図である。 TTLを増分することによって、(図2Aに黒い矢印で示された)特定の追跡ルートを決定するためのプロセスを示す図である。 3つのルート追跡データ収集装置によってカバーされた区域の交差を示す図である。 マルチプロトコルラベルスイッチング(MultiProtocol Label Switching、MPLS)トンネルを経由したルーティングを示す図である。 MPLSトンネルに関連するIPアドレスのジオロケーションを推定するためのプロセスを示す図である。 IPアドレスのエイリアス除去およびジオロケーションの推定を行うためのプロセスを示す図である。 図7Aのプロセスを用いて、特定および測位されたエイリアス化IPアドレスを示すグラフである。 ジオロケーションサーバによって生成された、インターネットの起源からコアまで遷移したネットワークプレフィックスの集合を示すトランシット木である。 図8Aに示すトランシット木を用いて、指定のネットワークプレフィックスのジオロケーションを推定するためのプロセスを示す図である。 単一区域に配置されたネットワークプレフィックス群の境界ゲートウェイプロトコル(BGP)対時間のルーティング安定性を示す図である。
詳細な説明
以下、追跡ルートおよび他の情報を用いて、地理位置(geographic location)を特定するための本発明のシステム、方法および装置に関連する様々な発想および実施形態をより詳細に説明する。上記で説明されおよび以下により詳細に検討される様々な発想は、特定の実施方法に限定されず、多くの方法のいずれかで実施され得ることを理解すべきである。特定の実現例および応用例は、主に説明の目的で提供される。
理論的には、全てのインターネット性能データを知っていれば、インターネットトラフィックを正確にルーティングすることができる。しかしながら、実際には、全てのインターネット性能データが知られていないため、利用可能なインターネット性能データおよび地理位置情報を用いて、インターネットトラフィックを調整する。例えば、南米のIPアドレスからのデータリクエストは、そのIPアドレスと南米のデータセンタとの地理的な近接度に基づいて、南米のデータセンタにルーティングされる可能性がある。しかしながら、南米のIPアドレスの相互接続には制限がある。例えば、アマゾン熱帯雨林およびアンデス山脈は、接続に大きな物理的な障壁を与えている。その代わりに、多くの場合、南米のインターネットトラフィックは、マイアミを経由してルーティングされる。したがって、ブラジルのIPアドレスからデータをリクエストした場合、コロンビアデータセンタがブラジルのIPアドレスに地理的に近いにも関わらず、実際には、コロンビアのデータセンタではなく、そのデータリクエストをマイアミのデータサーバにルーティングした方がより効率的である。同様に、特定のIPアドレスの地理位置に関する情報が不正確の場合、不必要の遅延および混雑などを増やすルーティングをもたらしてしまう。
IPアドレスの地理位置(ジオロケーション:geolocation)に関するより精確な推定値を用いて、インターネット上のトラフィックをより効率的に案内することができる。例えば、IPアドレスの地理位置を用いて、IPアドレスにまたはIPアドレスからパケットを送信するための理論上の遅延制限値を予測することができる。理論上の遅延制限値になるべき近づくようにルーティングを決定するために、ジオロケーションデータをグローバル遅延マップに関連付ける必要がある。ジオロケーションデータを用いて、インテリジェントなルーティングの判断に十分な情報を提供することができ且つ発信元および宛先の位置のある程度の匿名性を提供することができる程度の精度で、トラフィックの発信元および宛先の物理位置を特定することができる。例えば、輸出規制を遵守するためまたは盗聴の危険性を減らすため、ジオロケーション情報を用いて、特定の国を経由してまたは特定の国を避けて、機密なデータをルーティングすることができる。また、ジオロケーション情報を用いて、ネットワーク問題の解決およびネットワークの拡張計画を行うことができる。
遅延測定値、DNS名、ルーティング情報、または様々な公開または私用ソース(例えば、データセンタの公開位置、掲示板、店舗位置)から、IPアドレスのジオロケーションを推定することができる。しかしながら、光ファイバが直線に配置されず、地理的に離れたポイントが十分ではなく、測定ポイントの位置精度が十分ではなく且つ均一的に/理想的に分布されておらず、光の速度が速すぎて(光ファイバの1ミリ秒=100キロ)短い測定ができないなどの理由で、多くの既知ポイントからの遅延測定値を使用した三角測量は、概ねの場所しか推定できない。IPアドレスに関連する都市名または空港コードをしばしば含むDNS情報を用いて、ISPのインフラストラクチャの異なるIPアドレスから復元された名前をアルゴリズム的に解析することができるが、ISPの間に命名規則が異なる、矛盾するまたは間違える可能性がある。また、装置を移動することができるため、装置の位置の確認が困難である。特定のサービスプロバイダのサービス地域に基づくルーティング情報から、地理位置を推定することができるが、地域の有力企業のマクロレベルしかできない。
本明細書に開示された技術は、遅延測定値、DNS情報およびルーティング情報に基づくIPジオロケーションに関する。多くの他の技術とは異なり、本発明の例示的な技術を用いて、市販のジオロケーション情報を含む第三者からのジオロケーションデータの矛盾または誤差を検出し、訂正することができる。これらのジオロケーションデータは、エンドユーザにとって正しいが、インフラストラクチャにとって正しくないため、インターネットトラフィックのルーティングおよび解析における有用性が制限されている。
第三者のIPジオロケーション推定値における誤差の特定および訂正
図1Aは、第三者のIPジオロケーションデータから、特定のIPアドレスに関連する装置のジオロケーション推定値を精密化するためのプロセス101を示す図である。この例において、プロセスは、1つ以上のIPアドレスの経緯度推定値を含み得るジオロケーションデータを取得すること(ブロック111)から開始する。このデータは、第三者から、例えば、商用位置情報源(例えば、Neustar、MaxMind、Digital Envoyなど)、プレフィックス登録データ、または他の公開または私用ソースから、定期的にまたはユーザの要求に応じて、自動的に入手可能またはユーザの介入によって入手可能である。
ブロック112において、プロセッサまたは他の適切な装置は、地球上の多くの箇所から得られた遅延測定値から、ジオロケーションを推定する。例えば、図2A〜2Dに示すジオロケーションシステムを用いて、これらの遅延測定値を取得することができる。プロセッサは、これらの遅延測定値を用いて、ジオロケーション推定値の妥当性を検査する(ブロック113)。遅延測定値によって、特定のジオロケーション推定値が妥当でないことを示す場合(例えば、遅延測定値によって、実際の位置がジオロケーション推定値よりも特定の測定位置に近いことを示す場合)、プロセッサは、このジオロケーション推定値を破棄する(ブロック114)。
また、以下でより詳細に説明するように、プロセッサは、1つ以上の適切な誤差検出技術を用いて、ジオロケーション推定値および/または遅延測定値内の異常値を特定することができる(ブロック115)。上述したように、プロセッサは、遅延、DNS名、公開または私用ソースのデータマイニングおよび/またはルーティング情報を用いて、異常値をさらに解析することができる(ブロック116)。ブロック117において、プロセッサは、遅延、DNS名、公開または私用ソースおよび/またはルーティング情報に基づいて、矛盾するIPアドレスの実際のジオロケーションの確率的な推定値を提供する。
必要に応じて、プロセッサは、機械学習技術を適用することによって、矛盾特定の信頼性を向上させることができる(ブロック118)。換言すれば、プロセッサは、連続測定からの情報を用いて、信頼区間を縮小することができる。一般的に、遅延測定値が多いほど、より高い信頼性のIPジオロケーション推定値が得られる。また、プロセッサは、初期のジオロケーション推定値、訂正後のジオロケーション推定値および/または訂正値自身を示すマップまたは他の表現を生成することができる(ブロック119)。
以下の例は、図1Aに示すプロセスを用いて、エンドユーザプレフィックス195.160.236.0/22の市販のIPジオロケーション推定値を評価および訂正する方法を示している。米国ニューハンプシャー(NH)州Hanover市に設置された収集装置から、エンドユーザプレフィックス195.160.236.0/22のIPアドレス195.160.236.1までのルート追跡データは、以下の通りである。
エンドユーザプレフィックス195.160.236.0/22は、少なくとも2つのサーバIPアドレス(すなわち、195.160.236.9および195.160.237.24)を含み、欧州地域インターネットレジストリ機関である欧州IPネットワーク(RIPE)を介して登録されているが、英国に位置すると自己報告している。2つの商用情報源がこのIPプレフィックスを英国に位置付け、4つの商用情報源がこのIPプレフィックスをイングランドのマンチェスター市に位置付け、もう1つの商用情報源がこのIPプレフィックスを米国ニューハンプシャー州ラコニア市(Laconia)に位置付ける。
エンドユーザプレフィックス195.160.236.0/22は、Terrenap社(AS23148)によって公告される。Terrenap社は、マイアミに登録されており、大手インターネットサービスプロバイダとしてのVerizon、Hurricane ElectricおよびXOを含む。AS23148は、起源として140個のプレフィックスを有し、そのうち113個が米国に位置し、残りがアルゼンチン、ベルギー、ドミニカ共和国、スペインおよびオランダに位置すると思われる。しかしながら、より具体的なプレフィックス195.160.236.0/24のルートは、異なっている。プレフィックス195.160.236.0/24は、WorldPath社(AS3770)によって公告される。WorldPath社は、米国ニューハンプシャー州Portmouth市に登録されており、大手インターネットサービスプロバイダとしてのAT&T、CogentおよびCentury Linkを含む。AS3770は、起源として46個の別のプレフィックスを有し、これらの全てが米国の国内に位置する。このことは、このプレフィックスが実際に2つの異なる地理位置に所在しており、少なくとも1つが米国に所在するが、いずれも英国に所在しないことを示唆している。
エンドユーザプレフィックス195.160.236.0/22に関連するDNS情報は、物理位置に関するいくつかの追加的なヒントを与えるが、プレフィックスのジオロケーションを決定的に判断することができない。ルート追跡測定値は、このプレフィックスに関連するルータのDNS名を提供する。通常、DNS名は、最も近い空港を示す3桁の空港コードまたは都市を示す都市略称を含む。上記例の場合、ルータのDNS名は、以下のコード(および空港コードの説明)、すなわち、BOS(米国のボストン(Boston))、NYC(米国のニューヨーク市(New York City))、BST(アフガニスタンのボスト(Bost))、およびVOR(未定義)を含む。したがって、DNS情報を用いて、地理位置を特定するための他の証拠を確証することができるが、DNS情報だけでは必ずしも精確なIPジオロケーション推定値を提供できるとは限らない。
遅延測定値は、IPプレフィックスと1つ以上の測定位置との間の距離の上限を提供することができる。上記例の場合、(DNS情報から得られたNYC名が正しく、且つ遅延を測定するために使用されたパケットと目標IPアドレスとの間の往復経路が対称的であると仮定する場合)遅延測定値は、目標IP(195.160.236.1)がニューハンプシャー州Hanover市から5300km以内であり、ニューヨーク市から1800km以内であることを示している。これらの測定値によって、英国は、目標IPアドレスの可能な場所から除外される。
しかしながら、遅延測定値には誤差が存在するため、単純に遅延測定値を減算することによって、目標IPアドレスの地理位置を正確に推定できないことがある。誤差の原因は、(上記の背景で説明した)遅延、目標IPアドレスまでの往復経路の非対称性(すなわち、測定パケットは、1つの経路に沿って測定装置から目標IPアドレスに送信され、異なる経路に沿って目標IPアドレスから測定装置に返送される)、および以下でより詳細に説明するマルチプロトコルラベルスイッチング(Multiprotocol Label Switching、MPLS)を含む。しかしながら、単一の遅延測定値を用いて、不正確なIPジオロケーション推定値を破棄することができる。
幸いにも、系統的な測定誤差がない限り、多くの遅延測定値を統合することによって、IPジオロケーション推定値の不確実性を低減することができる。例えば、一対のノード間で多くの遅延測定を行うことによって、遅延分布を得ることができる。最短遅延は、ノード間の距離のより正確な測定値を与えることができる。目標IPと多くの異なる測定位置との間に遅延測定およびルート追跡を行うことによって、推定値をより精確にすることができる。
この場合、エンドユーザプレフィックス195.160.236.0/22に位置する2つのサーバまでのルート追跡測定をより多く行うことによって、位置範囲をさらに狭くすることができる。
・ 米国ニューハンプシャー州ポーツマス市から195.160.236.9までの追跡ルートは、1つのホップである。
・ 1 gw-vip. ep.psml.renesys.com (195.160.236.9) 0.235 ms 0.236 ms 0.236 ms
・ 米国フロリダ州マイアミ市から195.160.237.24までの追跡ルートも1つのホップである。
・ 1 master.ep.mial.renesys.com (195.160.237.24) 0.269 ms 0.309 ms 0.310 ms
このプレフィックスは、ダイナミックネットワークサービス社のデータセンタに所有される。195.160.236.0/24は、ニューハンプシャー州ポーツマス市に所在していると公告され、195.160.236.0/22は、フロリダ州マイアミ市に所在していると公告される。/24プレフィックスが使用可能である限り、195.160.236.9は、ポーツマスに所在し、195.160.237.24は、フロリダ州マイアミ市に所在する。/24プレフィックスが使用不可になると、両方のプレフィックス(したがって、両方のIPアドレス)は、マイアミ市に所在する。
図1Bは、コンピュータ、ルータおよび他の装置のIPアドレスに基づいて、それらのジオロケーションを推定するための別のプロセス102を示す図である。ステップ130において、ジオロケーションサーバまたは他のプロセッサは、1つ以上の第三者サービスから、1つ以上のコンピュータおよびルータなどのジオロケーション推定値を自動的に取得する。場合によって、ジオロケーションサーバは、第三者が運営するサーバから、これらの推定値を自動的にダウンロードまたは受信することができる。複数の情報源から所定のIPアドレスに関するジオロケーション推定値を受信した場合、ジオロケーションサーバは、これらのジオロケーション推定値を互いに比較することができる(ステップ132)。推定値が一致しない場合(例えば、推定値が離れ過ぎる(例えば、100キロ以上に離れる)、また1つの推定値が一般名称(例えば、「北アメリカ」)であって、他の推定値が特定名称(例えば、「ニューヨーク、NY」)である場合)、ジオロケーションサーバは、IPアドレスと収集装置またはセンサとの間の送信遅延分布を取得することができる(ステップ134)。
例えば、以下で詳細に説明するように、ジオロケーションサーバは、IPアドレスと200個以上の収集装置との間のパケット送信に関連する往復時間(round-trip time、RTT)から、遅延分布を得ることができる。ジオロケーションサーバ(または収集装置)は、各収集装置のRTT測定値に基づいてRTT分布を決定し、その後、RTT分布に基づいて、RTT測定値に関連する信頼区間に入る遅延を推定することができる。場合によって、ジオロケーションサーバは、マルチプロトコルラベルスイッチング(MultiProtocol Label Switching、MPLS)ホップに関連するRTT測定値、または(IPアドレスと収集装置との間の不可能な物理距離を示す)短すぎるRTT測定値または長すぎるRTT測定値を排除する。ジオロケーションサーバは、遅延の誤差源を特定し、これらの誤差源による遅延を調整することもできる。
ジオロケーションサーバは、ステップ136において、位置が特定されている各IPアドレスの遅延分布から1つ以上の遅延を選択し、ステップ138において、対応する収集装置を特定する。その後、ジオロケーションサーバは、選択した遅延を用いて、IPアドレスと収集装置との間の距離を推定する。より具体的には、ジオロケーションサーバは、遅延測定値および光ファイバの速度を用いて、IPアドレスと対応する収集装置との間の最大距離を推定することができる。ジオロケーションサーバは、IPアドレスを囲む収集装置から3つ以上の短い遅延を選択した場合、図5に示すような三角測量技術を用いて、IPアドレスの地理位置をより精確に推定することができる。収集装置からの範囲が一部しか重ならない場合、ジオロケーションサーバは、以下でより詳細に説明するように、そのIPアドレスをエニーキャスト(anycast)IPアドレスとして特定することができる。
ステップ142において、ジオロケーションサーバは、第三者のジオロケーション推定値がステップ140で推定された距離によって描かれた円周(または交差区域)内に位置するか否かを判断する。肯定の場合、ジオロケーションサーバは、第三者のジオロケーション推定値が一定の距離範囲内で精確である。否定の場合、ジオロケーションサーバは、収集装置の位置および計算距離に基づいて、IPアドレスの新たな地理位置を生成する。この新たな推定値は、RTT測定分布によって決められ、距離測定の不確実性に影響を与える信頼区間に入る可能性がある。場合によって、距離測定の変化は、非常に大きい。例えば、図1Cは、一対のIPアドレスに対応する新しいジオロケーションおよび古いジオロケーションを用いて生成されたマップを示している。図示のように、1つのIPアドレスの位置は、米国のニューヨーク市からセネガルのダカールに訂正され、もう1つのIPアドレスの位置は、フランスのパリからオーストラリアのパースに訂正された。
新たなオロケーション推定値は、様々な形で使用することができる。例えば、プロセッサは、新たなオロケーション推定値を用いて、ルーティングテーブルの更新の一部として、IPアドレスとの間のパケット送信に関連する遅延を予測することができる。更新された遅延およびルーティングテーブルを用いて、ネットワーク内のホップの数の代わりに、実際の距離に基づいて、トラフィックをより効率的にルーティングすることができる(ステップ146)。また、更新された遅延およびルーティングテーブルを用いて、追加ルータの設置時間および場所を計画することができる(例えば、南米に追加ルータを設置することによって、マイアミのルータを経由してトラフィックを送信する必要を排除または削減することができる)。これによって、ネットワークの特定部分の全体的な遅延を短縮することができ、および/またはパケット量を増加することができる。
また、新たなオロケーション推定値を用いて、特定の地理区域を優先するまたは回避することができる。例えば、ユーザは、セキュリティリスクを引き起こす可能性がある国または地域またはその周辺を回避して、機密情報をルーティングしたいことがある。この場合、ユーザは、トラフィックを直接にルーティングすることができないが、インターネットサービスプロバイダ(ISP)のルータのジオロケーションに基づいて、トラフィックを搬送するISPを選択することができる(ステップ148)。また、ユーザは、機密情報の送信に関する法律、規則またはポリシーに準拠するように、ISPルータのジオロケーションに基づいてISPを選択することによって、特定の国を通ってトラフィックをルーティングすることができる。
さらに、新たなオロケーション推定値を用いて、ホップ数および遅延に加えてまたはその代わりに、ジオロケーションに基づいて、ドメインネームシステム(DNS)クエリを解析することができる(ステップ150)。ユーザのジオロケーションを精確に知ることによって、ユーザが照会したドメインを、リクエストされたデータをホストしている最も適切なデータセンタに変換することができる。これによって、地理的に近いデータセンタを選択することができ、遅延または上述した問題のいずれかを低減することができる。
例示的なジオロケーションシステム
図2Aは、例えば図1Aに示すプロセス101に従って、第三者のジオロケーションデータの誤差を特定および訂正するために使用できるルート追跡データの収集に適したジオロケーションシステム200の一例を示す。必要に応じて、収集されたルート追跡データは、インターネットサービスプロバイダ(例えば、Sprint社およびAT&T社)から得られたDNSデータおよびルーティングデータに組み入れることができる。
図2Aに示されたジオロケーションシステム200は、ジオロケーションサーバ210を含む。ジオロケーションサーバ210は、ジオロケーションデータベース212、1つ以上のクライアント214、およびルート追跡データ収集装置220のネットワークに接続される。明瞭化のため、図2Aが1つのみのジオロケーションサーバ210および1つのみのデータベース212を示しているが、システム200は、同期された複数のジオロケーションサーバ210および複数のデータベース212を含むおよび/または使用することができる。複数のジオロケーションサーバ210を使用する場合、ジオロケーションサーバ210を同期することによって、複数のデータベース212に分散され得るデータを処理することができる。したがって、有線および/または無線の通信プロトコルおよび/または技術を用いて、データベース212を同期することができ、通信を行うことができる。
ルート追跡データ収集装置220は、各々のプロバイダのデータセンタ内に存在する実在マシンまたは仮想マシンである。これらの実在マシンまたは仮想マシンの各々は、自律システム(AS)230またはルーティングドメインに属する。動作時、ルート追跡データ収集装置220は、自身のAS230および他のAS230内のルータ240、標的コンピューティング装置250、および境界ゲートウェイプロトコル(BGP)ルータ260(境界ルータ260とも知られている)までの経路に関連する遅延を測定する。
AS230は、コンピューティング装置250の郵便番号として考えられてもよい。すなわち、各々のAS230は、ISPに基づいたインターネットの近隣としてみなすことができ、必ずしも地理的な近隣とは限らない。各AS230は、境界ゲートウェイプロトコル(BGP)ルータ260(境界ルータ260とも知られている)およびAS230のルーティングポリシーを実装し、隣接するAS230に位置するBGPルータ260との接続を維持する他のルータ240を含む。出願の時点では、グローバルインターネット上のASの数は、54000を超えている。
より正式には、AS230は、単一の管理実体(例えば、大学、企業、事業部)を代表する共通ネットワーク管理者(または管理者グループ)によって管理されている単一且つ明確に定義されたルーティングポリシーに従って、接続されたIPネットワークグループである。AS230内の所定のIPネットワークにおけるノードは、同様のネットワークプレフィックスを共有し、そのプレフィックスに含まれる個々のIPアドレスを利用してインターネットに接続する。殆どの自律システム230は、複数のネットワークプレフィックスを有する。AS230は、TCP/IPネットワークにおいてドメイン間のルーティングを行うために使用される外部ゲートウェイプロトコル(exterior gateway protocol、EGP)であるBGPを用いて、境界ルータ260の間でルーティングメッセージを交換することによって、他のAS230とルーティング情報を共有することができる。
BGPの更新を交換するために、境界ルータ260とそのBGPピアのうち1つとの間の接続を確立することによって、ルーティング情報をAS230内にまたはAS230間で共有することができる。当業者なら理解するように、境界ルータ260間でデータを交換するプロセスは、「ピアリング」と呼ばれる。ピアリングセッションにおいて、2つのネットワークは、直接に接続され、データを直接に交換する。内部BGPピアリングセッションでは、単一のAS230内の境界ルータ260と内部ルータ240とは、直接に接続される。外部BGPピアリングセッションでは、隣接するAS230内の境界ルータ260は、互いに直接に接続される。
図2Aおよび4は、ルート追跡データ収集装置220aから標的コンピュータ250aまでのルート追跡測定を示す。ルート追跡データ収集装置220aは、インターネット制御メッセージプロトコル(Internet Control Message Protocol、ICMP)を用いて、第1パケットを標的コンピュータ250aに送信する。また、ルート追跡データ収集装置220aは、「生存時間」(time to live、TTL)として知られ、「1」に等しいホップ制限値を第1パケットに指定する。第1ルータ240aは、第1パケットを受信すると、TTLを(1から0に)減らす。TTL=0を有するパケットを受信すると、第1ルータ240aは、標的コンピュータ250aへの経路に沿って第1パケットを次のルータに送信する代わりに、「時間超過」メッセージ401aをルート追跡データ収集装置220aに返す。これによって、ルート追跡データ収集装置220aは、標的コンピュータ250aへの経路に位置する第1ルータ240aまでのホップに関連する遅延を決定することができる。次いで、ルート追跡データ収集装置220aは、TTL=2を有する第2パケットを標的コンピュータ250aに送信する。第2ルータ260aは、別の時間超過メッセージを返す。このように、その後の(TTL=3〜TTL=6を有する)パケットは、ルータ260b、260c、240b、260dおよび260eから時間超過メッセージを誘発する。標的コンピュータ250aは、TTL=7を有する最終パケットを受信すると、「エコー応答」メッセージ402をルート追跡データ収集装置220aに返す。これによって、ルート追跡データ収集装置220aは、最終ホップの遅延を測定することができる。
各ジオロケーションデータベース212は、ルート追跡データ収集装置220によって取得されたルート追跡データに加えて、BGP更新メッセージデータ、ルーティング登録データ、ドメインネームサーバ(DNS)データ、インターネットワークデータ、公開および私用ソースのデータマイニング、および/またはこれらのデータソースのいずれかまたは全てに関連するデータまたはこれらから得られるデータを含むがこれらに限定されない他のデータを含む。上記で説明したおよび下記で説明するように、これらのデータは、ISPおよび/または他のソースから収集することができ、ジオロケーション推定値の精度を向上させるために使用することができる。
ルート追跡データ収集装置のグローバル配置およびカバー範囲
図2Bは、図2Aのグローバルに配置されたルート追跡データ収集システムにおけるルート追跡データ収集装置の位置を示す。システムは、地理的なアクセス可能性、人口密度およびIPアドレス密度などに基づいて配置された数十個〜数百個(例えば、300以上)または数千個の収集装置を含むことができる。図2Bのマップ上の各ドットは、異なる物理的または仮想的なルート追跡データ収集装置を表す。
図2Cおよび2Dは、図2Aおよび2Bに示されたものと類似するグローバルに配置されたルート追跡データ収集システムの地理的なカバー範囲を示す。図2Cおよび2Dの陰影は、インターネットプロトコル(IP)アドレスのセルまたはグループのメジアン遅延(median latency)を示す。より具体的には、図2Cおよび2Dの経緯度の1/4の各セルは、現在最も近いルート追跡データ収集装置からそのセル内の全てのIPのメジアン遅延に従って、陰影を付ける。図2Cおよび2Dのセル201が黒くなれば、ルート追跡データ収集装置がセル内の全てのIPに近くなり、ジオロケーション推定値の精度が高くなる。図2Cおよび2Dのセル201が白くなれば、ルート追跡データ収集装置がセル内の全てのIPに遠くなり、ジオロケーション推定値の精度が低くなると考えられる。黒は、0msの遅延を示し、白は、少なくとも100msの遅延を示し、灰色は、中間遅延(例えば、25ms)を示す。
図2Cおよび2Dの陰影は、追加の収集装置を配置すること、およびルート追跡データ収集装置によって各セルから収集されたデータに重みを付けることを支援することができる。最適なシナリオとしては、全てのセルが完全に黒くなることである。この最適なシナリオの場合、100%の信頼性または精度でジオロケーションを推定することができる。
ジオロケーションサーバおよびルート追跡データ収集装置
図3Aは、ジオロケーションサーバ110を示すブロック図である。ジオロケーションサーバ110は、ユーザインターフェイス312に接続されたプロセッサ318と、通信インターフェイス319と、実行可能な命令316を格納するメモリ314とを含む。これらの実行可能な命令316は、ジオロケーションサーバプロセス317を実行させる命令を含む。これらの実行可能な命令は、プロセッサ318によって実行されると、プロセッサ318に指示して、ルート追跡データおよびネットワークプレフィックス情報などに基づいてIPアドレスのジオロケーションを解析し、推定する。
プロセッサ318は、ユーザからのリクエストおよび/またはシステムによって生成されたリクエストを処理するためのプログラム要素を動作させる1つ以上の高速データ処理ユニットを含むことができる。多くの場合、これらの高速データ処理ユニットは、一体化したシステム(バス)コントローラ、メモリ管理制御ユニット、浮動小数点ユニット、グラフィックス処理ユニットのような専用処理サブユニット、およびデジタル信号処理ユニットなどを含むがこれらに限定されない様々な専用処理ユニットを含むことができる。また、プロセッサ318は、高速アクセス可能な内部メモリを含むことができ、プロセッサ自体以外のメモリをマッピングし、アドレス指定することができる。内部メモリは、高速レジスタ、様々なレベル(例えば、レベル1、2、3)のキャッシュメモリ、RAM、ROMなどを含むがこれらに限定されない。プロセッサ318は、命令アドレスを介してアクセス可能なメモリアドレス空間を使用することによって、メモリ314および実行可能な命令316にアクセスすることができる。プロセッサ318は、命令アドレスを構築および復号することによって、メモリ状態および/または実行可能な命令を有する特定のメモリアドレス空間までの回路経路にアクセスすることができる。
通信インターフェイス319は、多くのインターフェイスアダプタを受け入れる、それらに接続するおよび/またはそれらと通信することができる。これらのインターフェイスアダプタは、一般的にアダプタカードの形を有するが、必ずしもアダプタカードの形を有する必要がない。これらのインターフェイスアダプタは、入力出力(I/O)インターフェイス、記憶インターフェイスおよびネットワークインターフェイスなどを含むがこれらに限定されない。例えば、通信インターフェイス319に含まれたネットワークインターフェイスを用いて、図2Aのルート追跡データ収集装置320に情報を送信することができ、当該収集装置から情報を受信することもできる。
ユーザインターフェイスディスプレイ312は、ビデオインターフェイスからの信号を受信するインターフェイス(例えば、DVI回路およびケーブル)を備えた陰極線管(CRT)または液晶ディスプレイ(LCD)系モニタを含むことができる。代替的に、ユーザインターフェイスディスプレイ312は、タッチスクリーンおよび/または他の情報表示装置を含むことができる。ビデオインターフェイスは、メモリ314に記憶され且つプロセッサ318によって実行される実行可能な命令316によって生成された情報を合成する。実行可能な命令316は、ジオロケーションサーバプロセス317を含み、ジオロケーションサーバプロセス317は、1つ以上のルート追跡データ収集装置220から得られたデータを処理および解析するための命令セットを備える。ユーザインターフェイスディスプレイ312は、Apple(登録商標)OS、Windows(登録商標)OS、Linux(登録商標)、Unix(登録商標)などのオペレーティングシステムおよび/またはオペレーティング環境によって提供された従来のグラフィックユーザインターフェイスを含むことができる。ユーザインターフェイスディスプレイ312は、テキスト機能および/またはグラフィック機能を介して、プログラム要素および/またはシステム設備の表示、実行、対話、操作および/または作動を可能にすることができる。ユーザインターフェイスディスプレイ312は、コンピュータシステムに作用、対話および/または作動することができる機能をユーザに提供する。ユーザインターフェイスディスプレイ312は、それ自体および/または同様のものを含む要素集合内の他の構成要素と通信することができる。ユーザインターフェイスディスプレイ312は、プログラム要素、システム、ユーザ、データ通信、リクエスト、および/または応答を包含、通信、生成、取得および/または提供することができる。
図3Bは、例示的なルート追跡データ収集装置220を示すブロック図である。ルート追跡データ収集装置220は、サーバ110内の通信インターフェイス319およびプロセッサ318と各々類似する通信インターフェイス332およびプロセッサ324を含む。また、ルート追跡データ収集装置220は、1つ以上の標的コンピューティング装置(例えば、図2Aのルータ240および標的コンピューティング装置250)からのルート追跡データを収集するための命令329を含む実行可能な命令328を記憶するメモリ326を含む。
ルート追跡データおよびルート追跡データの収集
図1および4は、ルート追跡データシステムの動作原理を示す。ルート追跡を行うために、ルート追跡データ収集装置220aは、インターネット制御メッセージプロトコル(Internet Control Message Protocol、ICMP)を用いて、第1パケットを標的コンピュータ250aに送信する。また、ルート追跡データ収集装置220aは、「生存時間」(time to live、TTL)として知られ、「1」に等しいホップ制限値を第1パケットに指定する。第1ルータ240aは、第1パケットを受信すると、TTLを(1から0に)減らす。TTL=0を有するパケットを処理すると、第1ルータ240aは、標的コンピュータ250aまでの経路に沿って第1パケットを次のルータに送信する代わりに、「時間超過」メッセージ401aをルート追跡データ収集装置220aに返す。これによって、ルート追跡データ収集装置220aは、標的コンピュータ250aまでの経路上に位置する第1ルータ240aまでのホップに関連する遅延を決定することができる。次いで、ルート追跡データ収集装置220aは、TTL=2を有する第2パケットを標的コンピュータ250aに送信する。第2ルータ260aは、別の時間超過メッセージを返す。このように、その後の(TTL=3〜TTL=7を有する)パケットは、ルータ260b、260c、240b、260dおよび260eから時間超過メッセージを引き出す。標的コンピュータ250aは、TTL=8を有する最終パケットを受信すると、「エコー応答」メッセージ402をルート追跡データ収集装置220aに返す。これによって、ルート追跡データ収集装置220aは、最終ホップの遅延を測定することができる。
ルート追跡データ収集装置220aは、TTLを増やすたびに、パケットを送信し、トランシットルータからの「TTL超過」応答401a、401b、401c...を監視することによって、標的コンピュータ250aまでの経路上に位置する連続ホップおよび標的コンピュータ250aまでの往復時間の両方を見出す。ルート追跡データ収集装置220aは、収集された「TTL超過」応答を使用して、ICMPパケットがターゲット装置250aに到達し且つICMPエコー応答402を返すまでに通過したルータのリストを構築する。
収集されたルート追跡データは、対応するルート追跡データ収集装置220の識別子および/またはIPアドレスを含む追跡ルート内の各装置の識別子を含む。含まれたIPアドレスは、グローバルまたはローカルコンピュータネットワークの一部であるルータを表すことができる。また、ルート追跡データは、ルート追跡データ収集装置220がルータから応答を受信するために要した時間と、ルート追跡データ収集装置220が標的コンピューティング装置からICMPエコー応答を受信するために要した時間とを含む。
必要に応じて、ジオロケーションサーバ110は、ルート追跡データ収集装置220によって取得されたルート追跡データを受信し、処理することによって、以下に示すようなデータ構造で、人間可読中間フォーマットを生成することができる。
以下には、tr_base_fieldsデータフォーマットのルート追跡データの一例を示す。ジオロケーションサーバプロセスの説明を簡略化するために、各フィールドは、単独の行に列挙される。
ジオロケーションに使用されるフィールドは、次のもの、すなわち、2:タイムスタンプ(1970年1月1日以降の秒数、すなわち、UNIXエポック)、7:収集装置名(各収集装置の特有の識別子、例示の収集装置は、ニューヨーク市にある)、8:ルート追跡の目標IPアドレス、11〜21:ルート追跡ホップ(ネットワークトポロジーに従って変動する可変数)を含む。
各ホップは、コンマで区切られ、ホップIP(応答を受信しなかった場合、q)、ミリ秒の往復時間(RTT)、TTL、リバースTTL、および0以上のMPLSラベルからなるサブリストを含む。
いくつかの実現例において、ジオロケーションサーバプロセスは、各ホップから得られたRTT値であるルート追跡データ収集装置の遅延に基づいている。上記の例で示すように、1回のルート追跡で複数の応答ホップを生成し、各ホップは、収集装置(この場合、ニューヨーク市に位置する収集装置)のIPおよび往復時間(RTT)を有する。ジオロケーションサーバプロセスは、各ルート追跡を個々のタプル(収集装置の所在都市、IP、RTT)または収集装置のエッジ遅延に分解する。
この例の収集されたルート追跡データにおける第12行:63.251.26.29,0.363,2,254を検討する。IPアドレス63.251.26.29は、収集装置からの往復時間が0.363ms(RTT)である。いくつかの実現例において、ジオロケーションサーバプロセスは、ホップの第3フィールドまたは第4フィールド(TTLおよびリバースTTL)を考慮しない場合がある。特定の整数識別子を用いて、各都市を表すことができる。例えば、ニューヨーク市のジオネームIDは、5128581である。ニューヨーク市に所在するルート追跡データ収集装置からのホップは、(5128581,63.251.26.29,0.363)というタプルとして表すことができる。
光ファイバの速度制約によって、1msのRTTは、大きな円周または往復経路に沿って約100キロを移動した可能な最大距離に対応する。すなわち、このホップの場合、0.363msのRTTでは、ニューヨーク市に位置するルート追跡データ収集装置から、IPアドレス63.251.26.29を有する装置までの最大距離は、36.3キロ(22.6マイル)である。場合によって、データセンタを離れる時に初期遅延があるため、このIPは、同一のデータセンタに配置されている可能性が高い。この証拠の他に、他のルート追跡からの追加測定値による支持によって、ジオロケーションサーバプロセスは、ルート追跡データ収集装置が配置されている都市の緯度および経度、並びにこの収集装置によってカバーされる半径に基づいて、IPジオロケーションをより精確にすることができる。ジオロケーションサーバプロセス分析は、光速度の考慮基づいて、ジオロケーションサーバから引き出される推論を確証する。
マルチプロトコルラベルスイッチング(MPLS)およびジオロケーション
場合によって、ルート追跡ホップは、行末にマルチプロトコルラベルスイッチング(MPLS)ラベルを含むことがある。上記の行15、16および17に示すように、各々のルート追跡ホップは、MPLSラベル576241、519266および16013でそれぞれ終わる。これらのMPLSホップのRTTは、しばしば、MPLSトンネル送出ホップのRTTに対応し、以下で図6Aを参照してより詳細に説明するようにより大きい妥当半径をもたらすため、遅延の測定および比較のために、これらのMPLSホップを破棄することができる。複数の測定値を検討する場合、MPLSホップを削除することによって、より厳密な妥当性エンベロープを提供することができる。したがって、いくつかの実現例において、MPLSホップをフィルタリングすることによって、統計的に妥当な半径を減少させ、測定値を改善することができる。
例示のルート追跡データからMPLSラベルを破棄すると、以下のように、ジオロケーションを行うためのタプルのリストを生成することができる。各タプルにおいて、第1要素は、ニューヨーク市に位置する収集装置のジオネームID(5128581)およびルート追跡の起点に対応する。
(5128581,63.251.26.29,0.363)
(5128581,74.217.167.75,1.297)
(5128581,129.250.205.81,1.171)
(5128581,129.250.3.25,114.446)
(5128581,83.217.227.22,123.002)
(5128581,212.39.70.174,125.613)
(5128581,88.203.215.250,124.967)
なお、最後のホップ内のIPアドレスは、88.203.215.250であり、目標IPアドレス(フィールド8)と同様である。これは、ルート追跡内の最終標的装置が、ルート追跡データ収集装置によって行われたプロービングに応答または反応したことを意味する。
エッジ遅延の重なりを用いたジオロケーション
いくつかの実現例において、ルート追跡データ収集装置のエッジ遅延は、図2Bに示すグローバルに配置されたルート追跡データ収集装置によって行われたルート追跡に依存することができる。場合によって、総数300以上の収集装置は、一日に5百万を超える測定を行うことができる。ジオロケーションサーバは、各エッジの複数の測定値に基づいて、統計的な推測を生成することができる。各々のルート追跡データ収集装置に埋め込まれたタイマは、各収集装置からIPアドレスまでの妥当半径を定義するために利用されるRTTの測定値に、ノイズを追加することができる。測定値の欠陥またはノイズを考慮するために、ジオロケーションサーバは、異常値を特定するための改良トンプソンTauテスト(Modified Thompson Tau test)を用いて、(潜在的または人為的に)低いRTTを有する異常値を排除することができる。計算上の便宜として、各収集装置エッジの遅延の25%値を使用すると、改良トンプソンTauテストの代わりに、異常値を合理的に排除することができる。以下、25%値を使用する。しかしながら、このことは、本技術の態様を定義するものではなく、異常値を排除できる多くの方法のうち、1つとして見なすべきである。異常値を減らすまたは排除するための他の可能性として、5%値、10%値、15%値、中央値、モード、または他の適切な技術の使用を含むがこれらに限定されない。
図5は、3つのルート追跡データ収集装置によってカバーされた区域の交差を示す。いくつかの実現例において、ジオロケーションサーバプロセスは、各収集装置、例えばルート追跡データ収集装置501a、503aおよび505aから、標的コンピュータ装置に対応するIPアドレスまでの妥当半径を生成することができる。所定のIPアドレス、ネットワークプレフィックスおよび/または標的装置に対して、各収集装置によってカバーされる半径によって画定された円周509、511および513の交差部分は、IPが所在する可能性がある区域507aを画定する。当該区域内の都市は、そのIPのジオロケーション候補である。例えば、ルート追跡データ収集装置501b、503bおよび505bによって収集されたルート追跡データに基づいて、収集装置501b、503bおよび505bの中間の都市507bは、候補都市である可能性がある。
場合によって、これらの円周は、交差しなくてもよい。この場合、遅延は、IPが2つ以上の収集装置の設置都市に近い、すなわち、一対の収集装置の中間点よりも収集装置の設置都市に近いことを示している。このような状況は、同一のIPを有する装置が2つ以上の場所に位置していることを示すため、ジオ不一致(geo-inconsistency)に分類される。これは、エニーキャストネットワークの特徴である。ジオロケーションサーバプロセスは、ジオ不一致インスタンスを特定し、対応するIPをエニーキャストとして標記する。
インターネットプロバイダが特定のIPの位置を変更できるため、収集されたルート追跡データを定期的にプローブすることによって、標的のジオロケーションが定常である時に、目標IPアドレスまでの測定値を測定したことを確認することができる。
以下、実質的にハイパーテキストプリプロセッサコード(PHP)の形式で、目標装置のプロービング、目標装置が所在する都市の特定、およびエニーキャストIPアドレスの特定を含むジオロケーションサーバプロセスのいくつかの機能の擬似コード表現の一例を提供する。
いくつかの実現例において、ジオロケーションサーバは、遅延が大きすぎて選択を単一の都市または大都市に減縮することができない場合に、IPアドレスをより広い地理範囲に割り当てる。例えば、妥当な都市の最終リストが全て同じ州または地方に位置する場合、ジオロケーションサーバプロセスは、ジオロケーションを州範囲または地方範囲に割り当てることができる。ジオロケーションサーバプロセスのさらなる実装は、IPを割り当てることができる全ての可能なグリッドセルを決定する。
ジオ遅延(geolatency)決定の例示
本社が南アフリカに位置するインターネットプロバイダMTN(AS6637)から起源するIPアドレス41.181.245.81を検討する。
以下は、ジオロケーションサーバプロセスからの出力情報である。
上記の出力情報において、下線付きフィールドは、最も近い収集装置の位置、目標IPまでの遅延、測定値の数、および収集装置が位置する都市のジオネームIDである。この場合、最も近い収集装置は、ロンドンに位置し、ロンドンに位置する収集装置から目標IPまでの遅延は、0.7msである。
下線付きフィールドの下方のデータは、各収集装置からの遅延の25%値を有するタプルである。各タプルは、コンマで区切られた3つの項目、すなわち、RTT(25%値)、測定値の数、ジオネームIDを含む。
下線付きフィールドの直後の第1タプルが最小遅延を有するように、遅延に従ってこれらのタプルを並べる。
タプル(0.7,1478,2643743)は、1478個の測定値に基づいて、ロンドン(2643743)に位置する収集装置から0.7msという1番目短い測定値を有する。このタプルは、便宜上、前述した3つのフィールドの情報を繰り返している。
タプル(6.2,3,2641170)は、ノッティンガム(2641170)収集装置からの6.2msという2番目に短い測定値を有する。合計で39個の収集装置都市がそのIPに測定値を返した。
ロンドンとケープタウンとの間のファイバの可能な最小RTT遅延は、95.7msである。ロンドンのルート追跡データ収集装置からIPアドレス41.181.245.81までの遅延がわずか0.7msであるため、ジオロケーションサーバプロセスは、光速制約に基づいて、そのIPがインターネットプロバイダの識別情報によって示唆されたように、南アフリカに位置していないことを確実に判断することができる。また、ジオロケーションサーバプロセスは、ロンドン収集装置からの遅延が短いため、そのIPの位置をロンドンに割り当てることができる。この訂正を行うために、ジオロケーションサーバプロセスは、まず、他のルート追跡データ収集装置もロンドンがそのIPの可能な位置であることを裏付けることを判断する。
例えば、以下は、ロンドンの収集装置からのIPアドレス41.181.245.81までの単一のルート追跡データである。このIPアドレスがロンドンに位置することを明確に宣言する前に、多くの場所からの多くのルート追跡を用いて、更なる裏付けを提供することができる。
ドメインネームシステム(DNS)逆引き
いくつかの実現例において、ジオロケーションサーバプロセスは、可能な場合、IPのDNS逆引き(rDNS)を用いて、推論をさらに補足することができる。プロバイダは、定義した命名規則に従って、ジオロケーション情報をルータ名にエンコードすることがよくある。上記のルート追跡例において、下線付きの80.231.219.189は、同様に下線付きのrDNS、すなわち、20.ael.edge-01-lon.as33517.netを有する。ラベルの一部「lon」は、そのIPアドレスがロンドンに位置することを示している。ジオロケーションサーバプロセスには、手動で得られたルールに基づくエンジンを有する。このエンジンは、必要に応じて、これらのラベルからジオロケーション情報を抽出する。これらのラベルは、物理的な遅延とは異なり、人間によって入力され、正しく管理されていない場合、間違ったことがある。しかしながら、rDNSからのジオロケーションを遅延からのジオロケーションに組み合わせることによって、より精確なIPジオロケーションを得ることができる。69.252.112.58(se02.woburn.ma.boston.comcast.net)を例示として検討する。
ウォバーン(Woburn)は、ボストンの北約15kmに位置している。ジオロケーションサーバプロセスをこのIPアドレスに適用すると、次の結果が得られる。
ボストンは、IPアドレス(69.252.112.58)から8.5msの最も近いルート追跡データ収集装置である。しかしながら、rDNSは、IPアドレスがマサチューセッツ州ウォバーン(Woburn)に位置するという情報を提供している。ジオロケーションサーバプロセスは、ウォバーンがこの収集装置の遅延分布範囲内の可能な都市であるか否かを検証する。これによって、ジオロケーションサーバプロセスは、ジオロケーションをボストンではなくウォバーンにより精確に割り当てることができ、IPジオロケーション推定値の精度を向上させる。
また、いくつかの実現例において、ジオロケーションサーバは、類似のrDNS名を見出し、遅延を用いて検証した後、自然言語処理を介してジオロケーションを割り当てることによって、ルールを自動的に発見しようとする。ジオロケーションサーバは、発見した全てのrDNS名のデータベースを管理することによって、ルールを発見する。IPv4の場合、アドレス空間全体の逆解析を行うことによって、現時点では12.2億を超えるrDNSエントリを生成する。IPv6の場合、スペースの巨大さを考慮して、グローバルオープンDNSの帰納およびルート追跡されているIPv6スペースのrDNSの選択的な解析から得られたパッシブDNSから、rDNSエントリを収集する。サービスに指示して、受信したクエリおよび提供した応答の両方(リクエストのタイムスタンプ、リクエストしたドメインおよびレコードの種類、提供した応答、および任意のDNSクエリおよび応答を分類する他の属性を含むがこれらに限定されない)を記録することによって、オープンDNSの帰納からrDNSを収集する。
単純な例として、ジオロケーションサーバは、(既存のルールを検査することによって、または遅延を検討することによって)rDNS内の「nyc」を含む文字列が、関連するIPアドレスがニューヨーク市に位置することを強く示すことを発見することができる。現在、IPv4には260万件を超えるrDNSエントリがあるが、その多くは、現在では商用プロバイダによってニューヨーク市に割り当てられていない。
67.17.81.197(loopO.csl.NYC2.NYC.gblx.net)を検討する。現時点では、3つの異なる商用プロバイダは、このIPアドレスを米国テキサス州ダラス市、エクアドル(都市なし)、または米国(都市なし)に各々割り当てている。このIPアドレスは、NYCに位置する場合、遅延上一致するが、テキサス州またはエクアドルに位置する場合、完全に不可能である。現在のところ、全てのIPv4空間には100個を超える.nyc.glbx.netのrDNSレコードがあって、全ての遅延は、IPアドレスがニューヨーク市に位置する場合と一致している。また、「nyc」を含む多数のrDNSルールも、ニューヨーク市に関連している。したがって、ジオロケーションサーバは、rDNS内の文字列「nyc.gblx.net」が、ニューヨーク市に割り当てられた関連するIPアドレスを強く示すことを発見することができ、それによって、対応するルールを自動的に作成し、作成したルールをルールに基づくrDNS処理エンジンに追加することができる。
公開データソースおよび私用データソース
いくつかの実現例において、ジオロケーションサーバは、本明細書に記載の技術を用いて更なる検証を行うために、公開ソース、私用ソースおよび準私用ソースから、可能な物理アドレスを特定する。これらのソースは、他の方法で公開されていない特定の物理アドレスを見つけるためのデータセンタの掲示板または企業のキャリアページ、プルダウンメニューでルータ位置を提供するルートルッキングメガネ、複数の場所に位置する大手チェーン店のような、IPアドレスに結び付けることができる店舗位置、および数十個のグローバルおよびローカルインターネットルーティングレジストリ(IRR)からのプレフィックス登録データを含むが、これに限定されない。
上述した技術の一例として、119カ国に位置しており、3万6千軒を超えるマクドナルド(登録商標)レストランを検討する。これらの店舗の多くには番号が付けられており、数千軒が上記のrDNSデータに見付けられる。以下の2つのIPアドレスおよびそのrDNSエントリを検討する。
・ip=206.59.233.82 fqdn=nmd.mcdl8734.mia.wayport.net
・ip=206.59.233.83 fqdn=ethl-l.nmd.mcdl8734.mia.wayport.net
これらの2つのIPアドレスは、明らかにマクドナルドの店舗番号18734を参照している。公開ウェブサイトを参照することによって、この店舗は、マイアミの中心部から約12マイル離れ、1930 palocka Blvd、Opa-Locka (Dade County)、FL、33054に位置する。このように見付けた可能なジオロケーションは、本明細書に記載された他の方法でさらに検証することができる。
エニーキャスト例
別の例として、標的装置がエニキャストIPを有する場合、ジオロケーションサーバプロセスから異なる結果を得ることができる。以下に示すIPアドレス199.27.135.101の結果を検討する。
上記の例に示されている第1行の下線付き値7191は、地理上一致していない収集装置の都市ペアの数を表している。上記のIPアドレスは、4887398(シカゴ)から0.4msでありながら、4164138(マイアミ)、4744870(アシュバーン)、5809844(シアトル)、および2147714(シドニー)の各々からも0.4msである。上記のIPアドレスを有する単一の装置がこれらの各都市(および結果内のいくつかの他の都市)と同様に近くなることが物理的に不可能であるため、上記のIPアドレスがエニーキャストアドレスであることを推定することができ、「地球」というジオロケーションに割り当てることができる。
ジオロケーションサンドイッチの決定
追跡ルートを、収集装置のIPアドレスから目標IPアドレスまでのIPアドレスのシーケンスとして見なす。本明細書に記載された1つ以上の技術および他の技術を用いて、各IPアドレスをジオロケーションに割り当てることができる。IPアドレスのシーケンスをサブシーケンスまたはホップフラグメントにさらに細分することができる。いくつかの実現例において、フラグメントの最初のホップおよび最後のホップが同一の国に位置するが、1つ以上の中間ホップが他の国に位置する場合、ジオロケーションサーバは、サンドイッチアプローチを用いて、追跡ルートの一部または全てのフラグメントを検討する。
サンドイッチアプローチの基礎は、追跡ルートがある国を離れて別の国に進入する可能性が殆どなく、元の国に戻るだけということである。そのようなフラグメントが見つかった場合、フラグメント内の1つ以上のIPアドレスの位置が間違って特定された可能性がある。フラグメント内の各IPアドレスは、本明細書に記載の技術を用いて、さらに分析することができる。いくつかの実現例において、ジオロケーションサーバプロセスは、このアプローチの一般論を用いて、フラグメント内の最初のホップおよび最後のホップが一見では距離上近いが、フラグメントのホップ間の距離の合計が大きいであるルート追跡シーケンスを探す。すなわち、最初のホップから最後のホップまでの正味距離は、ホップ間の距離の合計よりも小さい。このようなU字形シーケンスは、例えば、2つのローカルプロバイダが、ビジネス上の理由または他の理由で、全てのマーケットにおいて物理的に接続しておらず、離れた場所でトラフィックを交換する場合に、合理的である。潜在的に間違ったジオロケーションと同様に、このような一見では異常なジオロケーションは、本明細書に記載された他の手法で検証する必要がある。
サンドイッチジオロケーションの例
以下、ニューヨーク市の収集装置からオーストラリアのIPアドレスまでの追跡ルートを検討する。IPシーケンス114.31.199.242、114.31.199.59および114.31.199.58のホップ(ホップ13、14および15)が各々米国、ニュージーランドおよび米国に位置するため、このIPシーケンスをサンドイッチとして特定する。この場合、シーケンス内の各ホップがMPLSトンネル(4列目のMPLSラベルで示されている)に位置し、RTTが個々のIPのものではなく、トンネルの最後のRTTを反映するため、RTTは、役に立たない。
しかしながら、サンドイッチ内のIPアドレスの逆引きDNS(以下に示されている名前中の「sjc」および「ca」)のジオロケーションヒントは、全ての3つのIPアドレスのジオロケーションがカリフォルニア州サンノゼ(San Jose)であることを示唆している。
サンノゼ(San Jose)のある場所からの更なる検査によって、114.31.199.59は、サンノゼから2.157msである。光ファイバの速度制約によって、サンノゼからニュージーランドのWellingtonまでの可能な最小RTTが107msであるため、ニュージーランド(NZ)は、妥当なジオロケーションではない。
ジオロケーションサーバは、114.31.199.59がサンノゼから2.157msであると断定する。すなわち、真のジオロケーションは、サンノゼの収集装置から215キロ以内である。したがって、ニュージーランドは、妥当なジオロケーションではない。また、ジオロケーションサーバは、このIPアドレスのrDNSに埋め込まれたサンノゼ(San Jose)の空港コード「sjc」を検出することによって、サンノゼが実際のジオロケーションであることをさらに裏付け、このIPアドレスのジオロケーションをカリフォルニア州サンノゼ(San Jose)に訂正する。
エッジ遅延ジオロケーション
いくつかの実現例において、ジオロケーションサーバは、エッジ遅延アルゴリズムを用いて、隣接するホップのジオロケーションを推測する。この方法は、追跡ルート内の最後から2番目のホップのジオロケーションが最終標的のジオロケーションを示しているか否かを調べる場合、特に最終標的が(ネットワークエンジニアによってしばしばアイボールネットワークとして呼ばれる)エンドユーザネットワークであって、逆引きDNSにジオロケーションヒントが存在しない場合に、特に有用である。この場合、最後から2番目のホップは、インフラストラクチャ、例えば、データセンタの場所をrDNSに埋め込んだデータセンタルータのIPアドレスである。
このアプローチは、MPLSトンネル内部の追跡ルートおよびMPLSトンネル外部の隣接IPアドレス間の遅延差の分布を構築することによって機能する。全てのペアのRTTの間のメジアン遅延差を計算する。ペア内の一方のIPアドレスのジオロケーションが正しいと仮定して、計算した遅延差を用いて、ペア内の他方のIPアドレスのジオロケーションを推定する。ジオロケーションサーバは、次に、計算したメジアン値を各対の隣接するIPアドレスの推定ジオロケーションの可能な最小RTTと比較する。前者のメジアン値が後者の最小RTTよりも小さい場合、IPアドレスの片方または両方のジオロケーションが正しくない可能性がある。また、いくつかの実現例において、ペア内の一方のIPアドレスのジオロケーションを確証した場合、ジオロケーションサーバプロセスは、他方のIPアドレスのジオロケーションが、隣接するIPアドレスから、RTTのメジアン値および光ファイバの速度によって画定された半径の範囲内に位置すると推定する。
最後から2番目のホップの例
マイクロソフト(登録商標)は、ワイオミング州のシャイアン(Cheyenne)近くのララミー郡(Laramie County)にデータセンタを有する。以下に示すように、シャイアンの東部にあるニューハンプシャー州ポーツマスに位置する収集装置からの追跡ルート、およびシャイアンの西部にあるワシントン州シアトルに収集装置からの追跡ルートを検討する。
両方の追跡ルートの最後から2番目のホップは、埋め込みrDNSを含む。各々のホップのrDNSは、Cys01を含み、CYSは、シャイアン(Cheyenne)のIATA空港コードである。最終標的の遅延が最後から2番目のホップの1ms以内にあるため、最後から2番目のIPアドレスと目標IPアドレスとが同一のデータセンタにあることを強く示唆している。ジオロケーションサーバは、最後から2番目のホップと目標IPアドレスとの間の遅延および最後から2番目のホップのrDNSを考慮して、この目標IPアドレスを最後から2番目のホップと同様の位置、すなわち、ワイオミング州シャイアンに割り当てる。
IPエイリアスおよびMPLSラベルを使用したジオロケーション
ネットワーク接続装置(例えば、ルータ、ファイアウォールおよびスイッチ)は、通常、多くの異なるネットワークインターフェイスを有する。これらのインターフェイスの各々は、特有のIPアドレスを持つことができ、(多くの場合、銅線または光ファイバを介して)他の装置と物理的に接続することができる。例えば、1つのコンピュータ装置は、コンピュータ装置の(潜在的に多くの)インターフェイスに割り当てられた全てのIPアドレスと同様に、1つの地理位置に位置する。1つの装置に属する全てのIPアドレスを見出すプロセスは、エイリアス除去(de-aliasing)と呼ばれる。
いくつかの実現例において、上記のジオロケーションサーバは、MPLSラベルに基づく技術に加えて、1つ以上のエイリアス除去技術(例えば、メルカトル技術)を用いて、エイリアス化されたIPアドレスを見出すことができる。ジオロケーションサーバは、これらの技術を用いて、IPのエイリアスセットを特定し、各セットの共通ジオロケーションを推定することができる。これらのエイリアスセットは、通常、インターネット上の1つのルータに設けれたインターフェイスを表す。その結果、ジオロケーションサーバは、全てのセットのジオロケーションをより精確に判定し、観測された多くの追跡ルートのジオロケーションを訂正し、追跡されている装置に隣接するホップの可能なジオロケーションを1人以上のユーザに通知または警告することができる。
メルカトル(Mercator)技術は、選択されたIPアドレスの任意のポートに任意のパケットを送信し、特定のルート追跡データ収集装置の目標ではないIPアドレスから、ポート到達不能なメッセージの返送時間を監視することを含むことができる。ルート追跡データ収集装置の目標ではないIPアドレスから適切なメッセージを受信すると、このIPアドレスが1つ以上のIPエイリアスを有することを推測することができる。このように、世界中に配置されたルート追跡データ収集装置は、グローバルルート追跡で観測された全てのIPアドレスを目標にすることができ、妥当なIPエイリアスのペアを収集することができる。また、この手法によって新たに発見されたIPアドレスをIPアドレスのリストに追加して、反復的にプローブすることによって、より多くのIPエイリアスを発見することができる。観察された矛盾のないペアは、推移閉包プロセスを介して共通セットに集めることができる。
代替的な実現例は、ジオロケーションサーバに送信された世界範囲のルート追跡データ内のMPLSラベルの共通シーケンスを観察することを含む。特定のシーケンスに対して、異なる追跡が異なるルータインターフェイスを通過する時に、ラベルが変化しないが、そのIPアドレスが変化する可能性がある。ジオロケーションサーバは、MPLSラベルを用いて、異なるIPアドレスを同一の装置に関連付けることができる。
MPLSラベルを用いて、異なるIPアドレスを同一の装置に関連付けることを理解するために、図6Aに示されたMPLSトンネル600を検討する。MPLSトンネル600は、エッジLSRとも呼ばれる入来ラベルエッジルータ(Label Edge Router、LER)602と送出LER606との間に接続されているいくつかのラベルスイッチルータ(label switch router、LSR)604a〜604c(まとめてLSR604という)を含む。LER602は、パケットを受信すると、パケットの転送等価クラス(Forwarding Equivalence Class、FEC)およびパケットのラベルスイッチング経路(Label Switching Path、LSP)を決定し、パケットのMPLSヘッダを作成し、MPLSトンネル600の第1のLSR604aにパケットを転送する前に、適切なラベルをMPLSヘッダに挿入する。MPLSヘッダ内のラベルは、入来LERと送出LERとの間のMPLSトンネル600内のノード(この例では、LSR604)を特定する。
パケットを受信すると、第1のLSR604aは、パケットのMPLSヘッダ内のラベルを検査することによって、パケットの宛先を判断する。しかしながら、他のルータとは異なり、第1のLSR604aは、必ずしもIPルーティング情報を持っているとは限らない。代わりに、第1のLSR604aは、単にパケットのMPLSヘッダ内のラベルを検査することによって、MPLSトンネル600におけるパケットの次の宛先(この場合、第2のLSR604b)を決定する。第1のLSR604aは、MPLSヘッダを更新してから、パケットをLSR604bに転送する。同様の動作を繰り返すことによって、パケットが送出LER606に到達する。この送出LER606は、完全なIPルーティングテーブルを有し、パケットを適切にルーティングする。
LSR604は、完全なIPルーティングテーブルではなく、特定のMPLSラベル情報を使用して動作するため、トラフィックを比較的迅速にルーティングすることができる。しかしながら、LSR604は、IPルーティング情報ではなくMPLSラベルに依存するため、必ずしもトラフィックをMPLSトンネル600の外側の宛先にルーティングできるとは限らない。具体的に、第1のLSR604aは、入来LER602から、TTL=1のパケットを受信する場合、「時間超過」メッセージを入来LER602に返せず、パケットを第2のLSR604bに転送する。第2のLSR604bは、パケットを第3のLSR604cに転送し、第3のLSR604cは、パケットを送出LER606に転送し、送出LER606は、「時間超過」メッセージを入来LER602に返す。入来LER602がTTL=2のパケットおよびTTL=3のパケットを第2のLSR604bおよび第3のLSR604cに各々転送する場合、同様のことが起こる。すなわち、パケットは、送出LER606に転送され、送出LER606は、「時間超過」メッセージを入来LER602に返す。また、送出LER606は、TTL=4のパケットを受信することに応答して、(正確に)「時間超過」メッセージを返す。TTL=4にならないと、実際のエンドポイントが見えないが、結果として報告された中間ホップに到達した時間は、実際にLER606に関するものである。インターネット上のMPLSトンネルの普及を考えると、MPLSトンネルを見つけて、MPLSトンネルの中間ホップ遅延を無視することによって、遅延を用いて、ジオロケーションを容易に特定することができる。
図6Bは、ルート追跡データ内のMPLSラベルを用いて、特定のルータの地理位置を推定するためのプロセス600を示す。既知のMPLSドメインを通った追跡ルートの場合、ジオロケーションサーバは、LSPを選択するために入来LERに使用されたFECを決定する(ステップ602)。追跡ルート内の各MPLSホップに対して、ジオロケーションサーバは、MPLSホップのIPアドレスを追跡ルート上のある点のMPLSラベルシーケンスにマッピングする(ステップ604)。ジオロケーションサーバは、選択した時間枠に亘って、MPLSドメインを通った全ての追跡ルートに対して、IPアドレスのマッピングを繰り返す(ステップ606)。ジオロケーションサーバは、各々の特有の着信MPLSラベルシーケンスに対応する全てのIPアドレスを集約し(ステップ608)、遅延時間、rDNS情報またはその両方を用いて、集約したIPアドレスのジオロケーションを推定する(ステップ610)。
例として、以下の3つの追跡シーケンスを検討する。以下の表は、遭遇したIPアドレスとMPLSラベルを列挙する。MPLSラベルシーケンスは、全ての3つのケースにおいて同様である。下線付きのIPアドレスは、同一のルータに属し、ラベルシーケンス(1314,1496,1793)によって特定される。斜体のIPアドレスは、別の共通ルータに属し、ラベルシーケンス(1314,1496,1793,1807,1609)によって特定される。ジオロケーションサーバは、共通のラベルシーケンスを共有する同一のMPLSドメインを通った複数の追跡シーケンスから見付けたMPLSのIPアドレスを同一のルータに属するものとして特定することができる。MPLSのIPアドレスは、同一のルータに属するため、同様の地理位置を有する。
上記の技術を用いて、ジオロケーションサーバは、1つの機器に属し、したがって1つのジオロケーションに位置する可能性が高い一組のIPアドレスを収集する。次いで、ジオロケーションサーバは、遅延および/またはDNS情報を用いて、各組のIPアドレスを共通のロケーションまたはロケーションセットに設定しようとする。
メルカトルサブプロセスを用いて見出したIPエイリアスセットの場合、IPアドレス自体は、一般的に直接プローブ可能である。ジオロケーションサーバは、複数の場所から特定のメンバセットにPINGすることによって、最も近い収集装置を検出し、遅延測定値に基づいて、一組の妥当な地理位置を割り出す。
いくつかの実現例において、ジオロケーションサーバは、三角測量技術を使用して、最も近い収集装置を決定する。ジオロケーションサーバは、各セット内の全てのIPを逆解析することによって、空港コード、都市名または他の地理的な略称を探す。DNS情報からの場所セットと遅延測定値からの場所セットとの交差は、より小さい潜在的な場所セットを形成する。この場所セットが空の場合、ジオロケーションサーバは、(人間が入力したものであり、誤差がある)DNS情報を無視する。各セットのIPエイリアスの最終結果は、観測された全ての遅延測定値と一致し、可能な場合、DNSラベルから得られた地理的なヒントと一致する妥当な場所セットである。
MPLSラベルを用いて見出したIPエイリアスセットの場合、IPアドレス自体は、必ずしも直接的にプローブ可能ではなく、ルート追跡を介して、他の宛先に送信することによって観測可能である。また、このようなルート追跡測定で観察された遅延情報は、そのタイミングがトンネルの終端に関連する可能性があるため、MPLSトンネルの中間ホップを得るために使用できない。したがって、上述したように、ジオロケーションサーバは、一般的にMPLSラベルを用いて、ルート追跡から得られた遅延測定値を特定できるMPLSトンネル内の中間ホップの遅延を廃棄することができる。遅延情報の直接的なプロービングまたは精確な遅延情報の間接的な取得が不可能の場合、ジオロケーションサーバは、DNSラベル逆引きを行うことによって、MPLSトンネルに属するIPエイリアスの位置を特定することができる。
図7Aおよび7Bは、ジオロケーションサーバプロセスに利用されたIPエイリアス除去技術の一例を示す。以下、ジオロケーションサーバに利用され、共通ルータ上のIPアドレスを特定し、セット全体のジオロケーション推定値を改善するためのメルカトル技術の一例を示す。以下の12個のIPアドレスは、IPエイリアスの関連セットとして特定された。
ジオロケーションサーバは、図7Aに示すプロセス700を用いて、グラフ内の接続された要素を見つけることによって、上記のセットを特定する。すなわち、IPアドレスAのメルカトルプローブがIPアドレスBを返す場合、IPアドレスAおよびBが相関することができる。このような関連付けは、理論的にグラフ上で、有向エッジで、AおよびBを各々表す2つのノードを連結したものとして描くことができる。AがBのエイリアスであり且つBがCのエイリアスである場合、A、BおよびCは、互いのエイリアスである。
換言すれば、プロセス700は、センサからの任意のパケット(例えば、TCP(Transmission Control Protocol)パケットまたはUDP(User Datagram Protocol)パケット)を、選択したIPアドレスを表すルータインターフェイスの任意のポートに送信することを含む。センサは、往復遅延を測定し、ポート到達不能なメッセージを監視する(ステップ704)。センサがポート到達不能なメッセージを受信すると、センサまたはジオロケーションサーバは、ポート到達不能なメッセージが任意のパケットの宛先とは異なるIPアドレスから返されたものであるかを判断する(ステップ706)。肯定の場合、ジオロケーションサーバは、ポート到達不能なメッセージを返したIPアドレスを含む宛先のIPアドレスが1つ以上のIPエイリアスを有すると判定する(ステップ708)。次に、ジオロケーションサーバは、全てのIPエイリアスが同一のジオロケーションに位置すると判断し(ステップ710)、上述した技術を用いてジオロケーションを推定する。
上記の12個のIPアドレスおよび得られた関連性は、図7Bに示す接続グラフによって表すことができる。図7Bは、全てのIPアドレスが関連していることを示す。図7Bにおいて、12個のIPアドレスのうち7個が強く接続されたサブグラフを形成するため、各IPアドレスは、両方向から「可視」である。すなわち、Aをプローブする場合、コンポーネントの少なくとも1つのメンバを返し、コンポーネントの1つ以上のメンバをプローブする場合、Aを返す。接続されたコンポーネントしか必要としないが、強く接続されたコンポーネントは、エイリアスの非常に強い証拠を提供する。
上記の接続性に基づいて、ジオロケーションサーバは、同一装置に属するIPアドレスを推測することができ、これらのIPアドレスを同一の地理位置に割り当てることができる。遅延測定値は、これらのIPアドレスが全てカリフォルニア州サンノゼ(San Jose)に近いことを示している。これらのIPアドレスの全てのDNS情報は、サンノゼのグレートオークス(Great Oaks)地区を示している。例えば、図7の68.86.83.46ノード705をbe-17-pe02.1lgreatoaks.ca.ibone.comcast.netに変換することができる。ジオロケーションサーバによる自動分析に基づいて、12個のIPアドレスは、全て米国のカリフォルニア州サンノゼのグレートオークスに位置する。
現時点では、3つの商用IPジオロケーションプロバイダは、これらの12のIPアドレスに対して、以下のジオロケーション推定値を与えた。
プロバイダ1:米国、特定の都市なし
プロバイダ2:バージニア州アッシュバーン(Virginia、Ashburn)、ジョージア州マリエッタ(Georgia、Marietta)、コロラド州デンバー(Colorado、Denver)、カリフォルニア州ロサンゼルス(California、Los Angeles)を含むいくつかの米国都市
プロバイダ3:ワシントン州シアトル(Washington、Seattle)、コロラド州デンバー(Colorado、Denver)、テキサス州ダラス(Texas、Dallas)、ジョージア州マリエッタ(Georgia、Marietta)を含むいくつかの米国都市
これらは、商用IPジオロケーションデータの典型的な例である。商用ジオロケーションプロバイダは、全てのエイリアスを同一の位置に割り当てることが殆どないが、(特に国際接続ルータの場合)エイリアスを異なる国に割り当てることが珍しいことではない。
トランシット木
いくつかの実施形態において、ジオロケーションサーバは、遅延およびDNS解析を用いて、国レベルで間違ったジオロケーションを特定し、その後、訂正および改良を行うことができる。これを達成するために、ジオロケーションサーバは、複数(例えば、600以上)のピアセッションからのBGPルーティングデータに対する分析を実行する。ジオロケーションサーバは、BGPデータ収集装置から、インターネット上で追跡される各ネットワークプレフィクスまでの自律システム(AS)経路に関する情報を含むBGPデータを受信する。各AS経路は、ルートを交換し、一定のビジネス関係を維持する近隣自律システムを表すAS−ASエッジを含む。
図8Aは、ジオロケーションサーバによって生成された、インターネットの起源からコアまで遷移する単一のネットワークプレフィックスを示す。いくつかの実現例において、ジオロケーションサーバは、機械学習分類器を用いて、これらのASエッジをいくつかの異なるカテゴリ(タグ)、例えば、トランシット、ピアリング、クラスタ、交換のうちの1つに分類する。地方または地域のトランシットプロバイダは、限定された地理範囲に経営するため、したがって、所在国に割り当てられたネットワークプレフィックスを遷移すると予想される。生成されたBGPエッジのタグは、ジオロケーションサーバによって利用され、各ネットワークプリフィックスがインターネットの起源からコアまで遷移した状態、例えば、図8Aに示すトランシット木を決定する。
図8Bは、同一のトランシットエッジが所有する他のプレフィックスの仮定ジオロケーションに基づいて、検討中のプレフィックスの可能なジオロケーションを決定するためのプロセス800を示している。ステップ802において、ジオロケーションサーバは、生成されたエッジタグに基づいて、検討中のプレフィックスのトランシット木を割り出す。次に、ジオロケーションサーバは、トランシット木内のエッジの全てまたは一部のプレフィックスのジオロケーションを調べる(ステップ804)。プレフィックスが通過すると観察された各エッジに対して、ジオロケーションサーバは、エッジを通過した全てのプレフィックスの地理分布を割り出し、そのエッジを通過した検討中のプレフィックスを観測しているBGPピアの数に基づいて、地理分布に加重値を付ける(ステップ806)。ジオロケーションサーバは、これらの加重地理分布を、検討中のプレフィックスの国家レベルの(可能な)推奨ジオロケーションに結合する(ステップ808)。ステップ810において、ジオロケーションサーバは、トランシット木から推定地理位置を、1つ以上の第三者によって報告された検討中のプレフィックスのジオロケーションと比較する。上述したように、ジオロケーションサーバは、例えば、報告されたジオロケーションを自動的に取得することができる。推定地理位置が報告されたジオロケーションと一致しない場合、ジオロケーションサーバは、例えば上述した技術を用いて、遅延測定値を有するプレフィックスのジオロケーションを検証する(ステップ812)。
図8Aに示されたトランシット木の実用例は、1つの大手商業プロバイダによって米国のオレゴン州ポートランド市に割り当てられたプレフィックス118.150.0.0/20に関するものである。このプレフィックスのトランシット木を調べると、多くのトランシットエッジが、このプロバイダによって台湾に割り当てられたプレフィックスを有し、殆どのBGPピアが、これらのエッジ、特にプレフィックスの起源に最も近いエッジを観察していることは分かる。ジオロケーションサーバによって行われた採点によって、このプレフィックスの最も可能なジオロケーションは、実際に台湾であり、米国ではないことを示している。遅延測定値は、このプレフィックスが台湾に位置する可能性があるが、米国に位置する可能性が全くないことを証明している。
時間上相関するルーティングイベント
いくつかの実現例において、ジオロケーションサービスは、BGP故障履歴および不安定性データを用いて、間違ったジオロケーションを特定し、その後、訂正および改良を行うことができる。これを達成するために、ジオロケーションサーバは、複数(例えば、600以上)のピアセッションからのBGPルーティングデータから得られた、インターネット上の追跡プレフィックスの一部または全部に対して、故障および不安定性計算を実行し、同一時間に特定の行動を示すプレフィックスセットを「イベント」として特定する。これらのイベントを時間に相関させることによって、ネットワークインフラストラクチャおよびこれらのプレフィックスのルーティング経路の共通点を見出すことができる。
割り出されたこれらのイベントは、しばしば、特定の地理位置における大きなネットワーク故障および復旧を表す。例えば、ジオロケーションサーバは、商業サービスが、121個のプレフィックス(これらのプレフィックスの96%がインドに割り当てられている)が同時に取り下げられたイベントを観測した。同日の15分後、ジオロケーションサーバは、これらのプレフィックスの殆どが戻されたことを観測した。この2つのイベントが99個の共通プレフィックスを含むため、同一の物理インフラストラクチャにおける障害および復旧である可能性がある。これらのプレフィックスの殆どが地理的にインドに割り当てられたという事実は、この解釈を裏付けている。
ジオロケーションサーバは、インドに位置していない少数のプレフィックスを解析することによって、潜在的に間違ったジオロケーションの候補セットを生成することができた。同一ネットワークの障害によるものではなく、プレフィックスが同時に取り下げられるおよび復旧される可能性が非常に低いが、ゼロではない。したがって、これらのプレフィックスのジオロケーションを検証する必要がある。
例えば、米国ウィスコンシン州ラシーンのModine Manufacturing Companyに登録された198.40.150.0/24は、このようなプレフィックスの1つであった。2011年に、全ての利用可能な商業サービスがこのプレフィックスをインドに割り当て、殆どの商業サービスが今でもそうしている。ジオロケーションサーバは、198.40.150.0/24がAS21758(Modine Manufacturing Company)によって公告され、AS18101(Reliance Communications Mumbai)を独占的に通過したことを観測した。AS18101は、インドに独占的に位置し、ムンバイおよびチェンナイに多くのプレフィックスを有する。非常に驚くべきことに、彼らは、Modine社の本拠地であるウィスコンシン州ラシーン地域にもインターネットサービスを提供している。ARINからのレジストリは、このプレフィックスがウィスコンシン州のラシーンにあると記録している。これは、間違いなく、間違ったジオロケーションの共通原因である。
遅延データは、このプレフィックスがインドのチェンナイにあることを示唆している。Modine社が2008年12月の記者発表でインドのチェンナイに新しい製造施設を公告したことがあるため、これは、驚くべきことではない。駐在事務所のプレフィックスを本社の物理アドレスに登録することが珍しいことではない。ジオロケーションサーバは、時間的に相関する一群のBGPルーティング故障および復旧から潜在的に間違ったジオロケーションを発見することによって、このプレフィックスをチェンナイに配置し、遅延データを用いて新たなジオロケーションを検証することができる。遅延データだけではこのような間違ったジオロケーションの特定に十分であるが、BGPルーティングイベントは、より小さい地理的な規模で、特に遅延だけでは決定できない近接都市の位置を訂正および改良することができる。
図9は、短期間の地域的なインターネット不安定におけるネットワークプレフィックスの集合を示す。x軸は、時間を示し、y軸の各「列」は、各プレフィックスを示す。図中、パターンがはっきりと現れることによって、アルゴリズム的に分類されたプレフィックスの共通の不安定パターンを示すことができる。ジオロケーションサーバは、分類内の地理的な矛盾を検索し、上述した技術を用いて、異常を検証または無効化する。
エニーキャストインスタンスからの距離
いくつかの実現例において、ジオロケーションサービスは、グローバルエニーキャストネットワークに問い合わせることによって得られたIPアドレスの地理分布を用いて、不正確なジオロケーションを特定し、その後、訂正および改良を行うことができる。システムは、商用DNSサービスの一部として正式なDNS応答を提供し、世界中の数千万回の再帰に対する回答を与えるために、広く配置されたグローバルエニーキャストネットワークを含む。本明細書に記載の技術を用いて、エニーキャストネットワークの各インスタンスを照会する再帰の地理分布を監視することによって、地理的な異常値を発見し、可能な訂正を調べることができる。また、rDNSと同様に、エニーキャストインスタンスのジオロケーションは、そのインスタンスに対する位置クエリの弱い識別子である。すなわち、うまく設計されたエニーキャストネットワークは、クエリをローカルに保つ傾向がある。
パラメトリック経路フィッティング
いくつかの実現例において、ジオロケーションサービスは、追跡ルートエッジの下流で得られたIPアドレスの地理分布を用いて、間違ったジオロケーションを特定し、その後、訂正および改良を行うことができる。各追跡ルートは、ルート追跡データ収集装置から宛先IPアドレスまでの経路に沿って得られた一連の連続IPアドレスから構成される。その経路に沿った連続IPアドレスの各ペアは、グラフの理論的な用語で有向エッジとして見なすことができる。各エッジまたは各連続エッジシーケンスに対して、ジオロケーションサーバは、特定の経路フラグメントを通過した全ての追跡ルートのエッジの下流で得られた一組のIPアドレスを割り出すことによって、遅延およびホップを示すデータモデルを構築する。次に、ジオロケーションサーバは、有向経路フラグメントに各々関連する各下流IPアドレスセット内の地理的な異常値を探す。本明細書に記載の技術を用いて、これらの異常値の可能な訂正をさらに調べることができる。
位置特定できないIPアドレス
いくつかの実現例において、ジオロケーションサーバは、(例えば、「地球」または大陸のような非常に広い区域以外の)合理的な特異度で、位置特定できないIPアドレスを特定する。このような特異度の欠如にはいくつかの理由がある。例えば、IPアドレスがモバイル装置に帰属しているため、自由にローミングすることができる。IPアドレスが衛星回線の他方端にある。衛星は、通常、静止軌道にあり(それによって、RTT500msを超える遅延を有し)、広い地理区域をカバーする広幅ビームを有する。遅延を用いて衛星接続を特定することができるが、IPの実際の位置は、衛星ビームの任意位置にあってもよい。
また、IPアドレスは、エニーキャストであり、すなわち、BGPルーティングを介して複数の場所から公表される可能性がある。この場合、これらのIPアドレスは、同時に多くの異なる場所に存在するため、単一のジオロケーションを有していない。しばしば、コンテンツプロバイダは、エニーキャストルーティング技術を用いて、一般的なコンテンツのレプリカストアからエンドユーザまでの遅延を短縮する。上記に説明したように、ジオロケーションサーバは、遅延測定値に基づいて、地理的に矛盾であると特定されたIPアドレスをエニーキャストとして標記する。
ジオロケーションプロバイダは、通常、データベースに含まれた各IPアドレスを単一の地理位置に割り当てる。エニーキャストネットワークの場合、この方法は、錯誤を引き起こすことがある。例えば、8.8.8.8に位置するGoogle(登録商標)の一般的な公開DNS再帰リゾルバを検討する。前例に使用された商用プロバイダと同様のプロバイダを用いて、ジオロケーションサーバは、以下のジオロケーションを出力する。
プロバイダ1:米国カリフォルニア州マウンテンビュー(Mountain View, California, USA)
プロバイダ2:米国カリフォルニア州マウンテンビュー(Mountain View, California, USA)
プロバイダ3:米国カリフォルニア州マウンテンビュー(Mountain View, California, USA)
ジオロケーションサーバは、Google(登録商標)DNSのIPアドレス8.8.8.8が110個のルート追跡データ収集装置から5ms以内にあり、26704個異なる収集装置ペア間で矛盾があるため、エニーキャスト(すなわち、多くの実際のGoogle位置)である可能性が高いことを示している。しかしながら、ジオロケーションサーバの測定結果は、IPアドレス8.8.8.8を有するGoogleインスタンスのいずれも実際にマウンテンビューに位置していないことを示している。Google自身が公開した情報もこの結果を裏付けている。ジオロケーションサーバは、遅延測定値を用いて、エニーキャストプレフィックスを見つけるだけでなく、各エニキャストインスタンスの可能な位置を特定することもできる。
結論
本明細書は、本発明の様々な実施形態を記載および例示したが、当業者であれば、本明細書に記載の機能を実行するため、および/または結果を得るため、および/または利点を得るために、様々な他の手段および/または構造を想到することができ、これらの変形および/または修正の各々は、本明細書に記載された本発明の実施形態の範囲内に含まれるとみなされる。より概括的に、当業者であれば、本明細書に記載された全てのパラメータ、寸法、材料および構成は、例示的であり、実際のパラメータ、寸法、材料および/または構成は、本発明の教示が使用される特定の応用に依存することを理解するであろう。当業者は、本明細書に記載のパラメータおよび構成が例示的であり、実際のパラメータおよび/または構成が本発明のシステムおよび技術が使用される具体的な用途に依存することを理解すべきである。また、当業者は、通常の実験によって、本発明の具体的な実施形態と同等するものを認識または把握することができるであろう。したがって、本明細書に記載の実施形態は、例示のみとして提示され、添付の特許請求の範囲および均等の範囲内に含まれることを理解すべきである。本発明は、具体的に説明した以外の方法で実施することができる。本明細書に記載された本発明の実施形態は、本明細書に記載された個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。さらに、これらの特徴、システム、物品、キット、および/または方法の2つ以上の組み合わせが、互いに矛盾しない場合、本発明の範囲に含まれる。
上述した本発明の実施形態は、多くの方法のいずれかで実施することができる。例えば、いくつかの実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いて実装されてもよい。一実施形態の任意の態様をソフトウェアの少なくとも一部に実装する場合、ソフトウェアコードは、単一のコンピュータによって提供された任意の適切なプロセッサまたはプロセッサ群または複数のコンピュータに分散された任意の適切なプロセッサまたはプロセッサ群に実行され得る。
この点に関して、本発明の様々な態様は、少なくとも部分的にコンピュータ可読記憶媒体(または複数のコンピュータ可読記憶媒体)(例えば、コンピュータメモリ、1つ以上のフロッピー(登録商標)ディスク、コンパクトディスク、光学ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ(FPGA)、他の半導体装置、または他の有形的なコンピュータ記憶媒体または非一時的な媒体)にエンコードされた1つ以上のプログラムとして具体化することができ、これらのプログラムは、1つ以上のコンピュータまたは他のプロセッサ上で実行されると、上述した技術の様々な実施形態を実現する方法を実行する。コンピュータ可読媒体は、格納しているプログラムを1つ以上の異なるコンピュータまたは他のプロセッサにロードして、上述した本発明の様々な態様を実施することができるように、移動可能である。
本明細書において、「プログラム」または「ソフトウェア」という用語は、一般的な意味で、コンピュータまたは他のプロセッサに指示して、上述した本発明の様々な態様を実施するようにプログラムすることができる任意の種類のコンピュータコードまたはコンピュータ実行可能な命令セットを指す。また、この実施形態の1つの態様によれば、実行されると本発明の方法を実行する1つ以上のコンピュータプログラムは、単一のコンピュータまたはプロセッサ上に駐在する必要がなく、多くの異なるコンピュータまたはプロセッサにモジュール式で配置されても、本発明の様々な態様を実施することができる。
コンピュータ実行可能な命令は、多くの形態、例えば、1つ以上のコンピュータまたは他の装置によって実行されるプログラムモジュールであってもよい。一般的には、プログラムモジュールは、特定のタスクを実行するまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的には、プログラムモジュールの機能は、必要に応じて、様々な実施形態に組み合わられてもよく、分散されてもよい。
また、本明細書に記載された技術は、少なくとも1つの例示を与えた方法として具体化されてもよい。方法の一部として行われた動作は、任意の順序を実行してもよい。したがって、例示的な実施形態では連続的な動作として示されているが、例えば、例示の順序と異なる順序で、例えば、いくつかの動作を同時に行うように、実施形態を構成することができる。
なお、本明細書において定義され、使用された全ての定義は、辞書定義、参照により組み込まれた文書の定義、および/または定義された用語の通常意味よりも優先する。
特に明記しない限り、不定冠詞「a」または「an」は、本明細書および特許請求の範囲に使用された場合、「1つ以上」を意味する。
「および/または」という語句は、本明細書および特許請求の範囲に使用された場合、列挙された要素の「一方または両方」を意味し、すなわち、これらの要素が一部の場合に共同に存在し、他の場合に単独に存在することを意味する。同様に、「および/または」で列挙された複数の要素は、列挙された要素のうち「1つ以上」として解釈すべきである。具体的に、「および/または」という語句によって具体的に特定された要素以外に、他の要素が、特定された要素と関連するか否かにかかわらず、必要に応じて存在してもよい。したがって、非限定的な例として、「Aおよび/またはB」は、「含む(comprising)」などの開放型言語と併せて使用された場合、一実施形態において、Aのみ(必要に応じて、B以外の要素)を含み、別の実施形態において、Bのみ(必要に応じて、A以外の要素)を含み、さらに別の実施形態において、AおよびBの両方(必要に応じて他の元素)を含むことを意味する。
「または」という用語は、本明細書および特許請求の範囲に使用された場合、上記で定義した「および/または」と同様の意味を有すると理解すべきである。例えば、「または」または「および/または」は、リスト中の項目を分ける場合、包括的であり、すなわち、要素の数またはリストの少なくとも1つを含み、必要に応じてリストにない追加の項目を含むとして解釈すべきである。明白に反対の意味を示す用語、例えば、「1つのみ」または「正確に1つのみ」または「からなる」は、特許請求の範囲に使用された場合、要素の数またはリストの1つのみの要素を含むことを意味する。一般的に、本明細書に使用された用語「または」は、前方に「どちらか」、「一方」、「一方のみ」などの排他的な条件があった場合、排他的な意味(すなわち、両方ではなく、一方または他方)を意味するとして理解すべきである。「本質的に〜からなる」という用語は、特許請求の範囲に使用された場合、特許法の分野に使用される通常の意味を有するものとする。
1つ以上の要素のリストを参照する「少なくとも1つ」という用語は、本明細書および特許請求の範囲に使用された場合、必ずしもリストに具体的に列挙された全ての要素の少なくとも1つを含まず、リスト内の複数の要素から選択された少なくとも1つの要素を含み、リスト内の要素の組み合わせを除外しないことを意味すると理解すべきである。また、「少なくとも1つの」という用語によって具体的に特定されたリスト内の要素以外に、他の要素が、具体的に特定されたリスト内の要素と関連するか否かにかかわらず、必要に応じて存在してもよい。したがって、非限定的な例として、「AおよびBの少なくとも1つ」(または同等に「AまたはBの少なくとも1つ」、または同等に「Aおよび/またはBの少なくとも1つ」)は、一実施形態において、少なくとも1つのA、場合によって2つ以上のAを含み、Bを含まない(場合によって、B以外の元素を含む)ことを意味し、別の実施形態において、少なくとも1つのB、場合によって2つ以上のBを含み、Aを含まない(場合によって、A以外の元素を含む)ことを意味し、さらに別の実施形態において、少なくとも1つのA、場合によって2つ以上のA、および少なくとも1つのB、場合によって2つ以上のB(場合によって、他の要素)を含むことを意味する。
特許請求の範囲および上記の明細書において、「備える(comprising)」、「含む(including)」、「もつ(carrying)」、「有する(having)」、「含有する(containing)」、「関与する(involving)」、「保有する(holding)」、「構成される(composed of)」などの全ての接続用語は、開放的な意味、すなわち、限定せず含むという意味で理解すべきである。「〜からなる」および「本質的に〜からなる」という接続用語のみは、米国特許商標庁の特許審査手続書第2111.03項に記載されているように、閉鎖型または半閉鎖型接続用語として理解すべきである。

Claims (28)

  1. インターネットに動作可能に接続され、インターネットプロトコル(IP)アドレスを有する少なくとも1つの装置の位置を特定するための方法であって、
    (A)第三者から、前記少なくとも1つの装置の第1推定地理位置を自動的に取得するステップを含み、前記第1推定地理位置は、前記少なくとも1つの装置の前記IPアドレスに基づき、
    (B)インターネットに動作可能に接続された複数のセンサの各センサから前記少なくとも1つの装置の前記IPアドレスへの送信に関連する各々の遅延分布を測定するステップを含み、前記複数のセンサの各センサは、異なる地理位置に配置されており、
    (C)ステップ(B)で測定された各々の遅延分布から、少なくとも1つの遅延を選択するステップと、
    (D)ステップ(C)で選択された前記少なくとも1つの遅延を測定した少なくとも1つのセンサを特定するステップと、
    (E)ステップ(C)で選択された前記少なくとも1つの遅延に少なくとも部分的に基づいて、ステップ(D)で特定された前記少なくとも1つのセンサと前記少なくとも1つの装置との間の最大可能な地理距離を推定するステップと、
    (F)前記少なくとも1つの装置の前記第1推定地理位置がステップ(D)で特定された前記少なくとも1つのセンサの地理位置からステップ(E)で推定された前記最大可能な地理距離内に位置するか否かを判定するステップと、
    (G)前記少なくとも1つの装置の前記第1推定地理位置がステップ(D)で特定された前記少なくとも1つのセンサの地理位置からステップ(E)で推定された前記最大可能な地理距離内に位置していない場合、前記少なくとも1つの装置の第2推定地理位置を決定するステップとを含み、前記第2推定地理位置は、ステップ(D)で特定された前記少なくとも1つのセンサの地理位置からステップ(E)で推定された前記最大可能な地理距離内に位置する、方法。
  2. 前記少なくとも1つの装置は、複数の装置を備え、前記複数の装置の各装置は、対応するIPアドレスを有し、
    ステップ(A)は、サーバから、前記複数の装置内の各装置の推定地理位置のデジタル表現を自動的にダウンロードすることを含む、請求項1に記載の方法。
  3. ステップ(B)は、
    前記複数のセンサの各センサから、前記少なくとも1つの装置との間のパケットの送信に関連する往復時間(RTT)の複数の測定値を取得することと、
    RTTの複数の測定値に各々対応するRTT分布を決定することと、
    前記RTT分布に少なくとも部分的に基づいて、前記複数のセンサの各センサの前記遅延を推定することとを含む、請求項1に記載の方法。
  4. RTTの複数の測定値に各々対応する前記RTT分布を決定することは、マルチプロトコルラベルスイッチング(MPLS)ホップに関連するRTT測定値を排除することを含む、請求項3に記載の方法。
  5. RTTの複数の測定値に各々対応する前記RTT分布を決定することは、閾値未満のRTT測定値を排除することを含む、請求項3に記載の方法。
  6. 前記RTT分布に少なくとも部分的に基づいて、前記複数のセンサの各センサの前記遅延を推定することは、前記RTT分布に基づいて、信頼区間に入る前記遅延を推定することを含む、請求項3に記載の方法。
  7. ステップ(E)は、ステップ(C)で選択された前記少なくとも1つの遅延に関連する前記信頼区間に入る前記最大可能な地理距離を推定することを含む、請求項6に記載の方法。
  8. ステップ(B)は、少なくとも200個のセンサの各々からの遅延を測定することを含む、請求項1に記載の方法。
  9. ステップ(B)は、
    前記遅延のうち、少なくとも1つ遅延の少なくとも1つの誤差源を特定することと、
    前記少なくとも1つの誤差源を補償するように、前記少なくとも1つ遅延を調整することとを含む、請求項1に記載の方法。
  10. ステップ(C)は、ステップ(B)で測定された前記遅延から、少なくとも3つの遅延を選択することを含み、
    ステップ(D)は、ステップ(C)で選択された前記少なくとも3つの遅延を測定した少なくとも3つのセンサを特定することを含み、
    ステップ(E)は、ステップ(D)で特定された前記少なくとも3つのセンサの三角測量を行うことを含む、請求項1に記載の方法。
  11. ステップ(E)は、ステップ(D)で特定された前記少なくとも3つのセンサの各々の遅延および地理位置に基づいて、前記IPアドレスをエニーキャストIPアドレスとして特定することとを含む、請求項10に記載の方法。
  12. 前記第2推定地理位置に少なくとも部分的に基づいて、前記少なくとも1つの装置へのパケットの送信および/または前記少なくとも1つの装置からのパケットの送信に関連する遅延を予測するステップをさらに含む、請求項1に記載の方法。
  13. パケット遅延を減少させるおよび/またはパケット量を増加させるために、前記第2推定地理位置に少なくとも部分的に基づいて、前記少なくとも1つの装置におよび/または前記少なくとも1つの装置からパケットをルーティングするステップをさらに含む、請求項1に記載の方法。
  14. 前記第2推定地理位置に少なくとも部分的に基づいて、特定の地理区域の周りにまたは特定の地理区域からパケットをルーティングするステップをさらに含む、請求項1に記載の方法。
  15. 前記第2推定地理位置に基づいて、インターネットサービスプロバイダ(ISP)を選択するステップをさらに含む、請求項1に記載の方法。
  16. 前記第2推定地理位置に基づいて、ドメインネームシステム(DNS)クエリを解析するステップをさらに含む、請求項1に記載の方法。
  17. インターネットに動作可能に接続され、インターネットプロトコル(IP)アドレスを有する少なくとも1つの装置の地理位置を推定するための方法であって、
    (A)第一者から、前記少なくとも1つの装置の第1推定地理位置を自動的に取得するステップを含み、前記第1推定地理位置は、前記少なくとも1つの装置の前記IPアドレスに基づき、
    (B)第二者から、前記少なくとも1つの装置の第2推定地理位置を自動的に取得するステップを含み、前記第2推定地理位置は、前記少なくとも1つの装置の前記IPアドレスに基づき、
    (C)ステップ(A)で得られた前記第1推定地理位置とステップ(B)で得られた前記第2推定地理位置との間の距離を決定するステップと、
    (D)ステップ(C)で決定された距離が所定の閾値を超える場合、インターネットに動作可能に接続された複数のセンサの各センサから前記少なくとも1つの装置の前記IPアドレスへの送信に関連する各々の遅延を測定するステップを含み、前記複数のセンサの各センサは、異なる地理位置に配置され、
    (E)ステップ(D)で測定された各々の遅延から、少なくとも1つの遅延を選択するステップと、
    (F)ステップ(E)で選択された前記少なくとも1つの遅延を測定した前記少なくとも1つのセンサを特定するステップと、
    (G)ステップ(E)で選択された前記少なくとも1つの遅延に少なくとも部分的に基づいて、ステップ(F)で特定された前記少なくとも1つのセンサと前記少なくとも1つの装置との間の最大可能な地理距離を推定するステップと、
    (H)ステップ(F)で特定された前記少なくとも1つのセンサの地理位置からステップ(G)で推定された前記最大可能な地理距離に少なくとも部分的に基づいて、前記少なくとも1つの装置の第3推定地理位置を決定するステップとを含む、方法。
  18. ステップ(C)は、
    前記複数のセンサの各センサから、前記少なくとも1つの装置との間のパケットの送信に関連する往復時間(RTT)の複数の測定値を取得することと、
    RTTの複数の測定値に各々対応するRTT分布を決定することと、
    決定された前記RTT分布に少なくとも部分的に基づいて、前記複数のセンサの各センサの前記遅延を推定することとを含む、請求項17に記載の方法。
  19. マルチプロトコルラベルスイッチング(MPLS)ホップに関連する少なくとも1つのRTT測定値を排除するステップをさらに含む、請求項18に記載の方法。
  20. 閾値未満のRTT測定値を排除するステップをさらに含む、請求項18に記載の方法。
  21. ステップ(D)は、信頼区間に入る前記複数のセンサの各センサの前記遅延を推定することを含み、
    ステップ(G)は、ステップ(E)で選択された前記少なくとも1つの遅延に関連する前記信頼区間に入る前記最大可能な地理距離を推定することを含む、請求項18に記載の方法。
  22. パケット遅延を減少させるおよび/またはパケット量を増加させるために、前記第2推定地理位置に少なくとも部分的に基づいて、前記少なくとも1つの装置におよび/または前記少なくとも1つの装置からパケットをルーティングするステップをさらに含む、請求項17に記載の方法。
  23. 前記第2推定地理位置に少なくとも部分的に基づいて、特定の地理区域の周りにまたは特定の地理区域からパケットをルーティングするステップをさらに含む、請求項17に記載の方法。
  24. 前記第3推定地理位置と、前記第1推定地理位置および前記第2推定地理位置の少なくとも1つとを示すマップを生成するステップをさらに含む、請求項17記載の方法。
  25. インターネットプロトコル(IP)アドレス内の指定のネットワークプレフィックスの地理位置を推定するための方法であって、
    前記指定のネットワークプレフィックスのトランシット木を計算するステップを含み、前記トランシット木は、前記指定のネットワークプレフィックスの自律システム(AS)経路を表し、第1ASと第2ASとの間の少なくとも1つのエッジを示し、
    前記第1ASの地理位置および前記第2ASの地理位置に基づいて、前記指定のネットワークプレフィックスの第1推定地理位置を推定するステップを含む、方法。
  26. 前記第1推定地理位置と、第三者から得られた前記指定のネットワークプレフィックスの第2推定地理位置とを比較するステップをさらに含む、請求項25に記載の方法。
  27. 前記指定のネットワークプレフィックスへの送信の遅延測定値を用いて、前記第1推定地理位置を検証するステップをさらに含む、請求項26に記載の方法。
  28. 第1インターネットプロトコル(IP)アドレスを有する装置の地理位置を推定するための方法であって、
    パケットを前記第1のIPアドレスに送信するステップと、
    前記パケットに応答して、前記第1のIPアドレスとは異なる第2のIPアドレスから、ポート到達不能なメッセージを受信するステップと、
    前記ポート到達不能なメッセージに応答して、前記第2のIPアドレスが前記第1のIPアドレスのエイリアスであることを判定するステップと、
    前記第1のIPアドレスと前記第2のIPアドレスとの共通地理位置を推定するステップとを含む、方法。
JP2018523369A 2015-07-22 2016-07-21 ルート追跡を用いて地理位置を特定するための方法、システムおよび装置 Active JP6920294B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562195488P 2015-07-22 2015-07-22
US62/195,488 2015-07-22
PCT/US2016/043328 WO2017015454A1 (en) 2015-07-22 2016-07-21 Methods, systems, and apparatus for geographic location using trace routes

Publications (3)

Publication Number Publication Date
JP2018521610A true JP2018521610A (ja) 2018-08-02
JP2018521610A5 JP2018521610A5 (ja) 2019-07-11
JP6920294B2 JP6920294B2 (ja) 2021-08-18

Family

ID=57834726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018523369A Active JP6920294B2 (ja) 2015-07-22 2016-07-21 ルート追跡を用いて地理位置を特定するための方法、システムおよび装置

Country Status (5)

Country Link
US (3) US10742752B2 (ja)
EP (1) EP3326074B1 (ja)
JP (1) JP6920294B2 (ja)
CN (3) CN108027800B (ja)
WO (1) WO2017015454A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020115796A1 (ja) * 2018-12-03 2021-09-02 株式会社Geolocation Technology Ipアドレスの使用地域特定システム
US11399073B2 (en) 2015-07-22 2022-07-26 Dynamic Network Services. Inc. Methods, systems, and apparatus for geographic location using trace routes
US11601337B1 (en) 2021-10-29 2023-03-07 Kyndryl, Inc. Virtual server geolocation detection

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940670B2 (en) 2009-12-10 2018-04-10 Royal Bank Of Canada Synchronized processing of data by networked computing resources
CN105978756B (zh) * 2009-12-10 2019-08-16 加拿大皇家银行 通过网络化计算资源同步处理数据的装置、系统和方法
US10366048B2 (en) * 2010-10-22 2019-07-30 Signify Holding B.V. Method of performing automatic commissioning of a network
EP3345346B1 (en) * 2015-09-04 2020-10-21 Dynamic Network Services, Inc. Methods and apparatus for real-time traffic steering using real-time user monitoring data
JP7046818B2 (ja) 2016-02-22 2022-04-04 ダイナミック・ネットワーク・サービシーズ・インコーポレイテッド グローバルルーティングハイジャックを発見するための方法および装置
US11652730B2 (en) * 2016-08-23 2023-05-16 Telefonaktiebolaget Lm Ericsson (Publ) Selective processing of traffic flows based on latency requirements
WO2018170120A1 (en) * 2017-03-15 2018-09-20 Thomson Reuters Global Resources Unlimited Company Systems and methods for detecting and locating unsecured sensors in a network
US10644997B2 (en) * 2017-08-14 2020-05-05 Level 3 Communications, Llc Stitching label-switched paths between autonomous systems with Internet Protocol routing
US10547500B1 (en) * 2017-09-13 2020-01-28 Amazon Technologies, Inc. Determining sources of network packet loss
WO2019210349A1 (en) * 2018-05-01 2019-11-07 HowTech Pty Ltd Geolocation system and method
CN108965050B (zh) * 2018-06-29 2021-05-14 安擎(天津)计算机有限公司 一种服务器定位功能测试方法及系统
US10924560B2 (en) * 2018-07-30 2021-02-16 Facebook, Inc. Determining geographic locations of network devices
US11005923B2 (en) 2019-05-29 2021-05-11 Apple Inc. Proxy server selection based on server latency times
CN110474843B (zh) * 2019-07-03 2021-07-06 上海交通大学 基于路由跳数的ip定位方法
US20220360556A1 (en) * 2019-07-10 2022-11-10 Nippon Telegraph And Telephone Corporation Country estimation device, country estimation method and country estimation program
CN113746654B (zh) * 2020-05-29 2024-01-12 中国移动通信集团河北有限公司 一种IPv6地址管理和流量分析的方法和装置
US11233719B1 (en) * 2020-12-18 2022-01-25 Prosimo Inc Estimating speedtest server accuracy
CN112769702B (zh) * 2021-01-06 2023-07-21 郑州埃文计算机科技有限公司 一种基于路由器别名和基准点地理特征的路由器定位方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004507917A (ja) * 2000-08-22 2004-03-11 インターナップ ネットワーク サービセズ コーポレイション 多数の利用可能なインターネットルートプロバイダを介したルーティングを最適化するための方法及びシステム
US7711846B2 (en) * 2000-11-17 2010-05-04 Microsoft Corporation System and method for determining the geographic location of internet hosts
US20110282988A1 (en) * 2010-05-13 2011-11-17 Northwestern University Geographic location system and method

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675741A (en) * 1994-10-25 1997-10-07 Cabletron Systems, Inc. Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network
AUPQ545600A0 (en) 2000-02-04 2000-03-02 Geobytes Inc Method and apparatus for identifying locale of internet users
US6684250B2 (en) 2000-04-03 2004-01-27 Quova, Inc. Method and apparatus for estimating a geographic location of a networked entity
US7200673B1 (en) 2000-06-09 2007-04-03 Steven Augart Determining the geographic location of a network device
US8036139B2 (en) * 2002-10-28 2011-10-11 Cisco Technology, Inc. Internal BGP downloader
US8107366B2 (en) * 2006-08-22 2012-01-31 Embarq Holdings Company, LP System and method for using centralized network performance tables to manage network communications
US7983691B1 (en) 2006-11-06 2011-07-19 Google Inc. Geographically localizing mobile communciation devices
US8661101B2 (en) 2007-06-01 2014-02-25 Avaya Inc. Method of IP address de-aliasing
EP2012491A1 (en) * 2007-07-02 2009-01-07 Alcatel Lucent Method of distributing geo-localisation information
US8977843B2 (en) * 2008-05-30 2015-03-10 The Boeing Company Geolocating network nodes in attenuated environments for cyber and network security applications
US8144611B2 (en) * 2009-02-10 2012-03-27 Microsoft Corporation Network coordinate systems using IP information
US8566441B2 (en) * 2010-11-22 2013-10-22 Microsoft Corporation Network latency estimation for mobile devices
US9838301B2 (en) * 2011-06-30 2017-12-05 Neustar Ip Intelligence, Inc. System and method for predicting the geographic location of an internet protocol address
US8745177B1 (en) * 2011-11-01 2014-06-03 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
US9026145B1 (en) * 2012-03-23 2015-05-05 Google Inc. Systems and methods for mapping IP-addresses to geolocations
US8743893B2 (en) 2012-05-18 2014-06-03 Renesys Path reconstruction and interconnection modeling (PRIM)
US20140280881A1 (en) * 2013-03-14 2014-09-18 Google Inc. Using latency and route information to estimate location
US9998354B2 (en) * 2013-09-24 2018-06-12 Netflix, Inc. Server selection for content distribution
US10250474B2 (en) * 2014-03-31 2019-04-02 Cisco Technology, Inc. Calculating latency in computer networks
EP3326074B1 (en) 2015-07-22 2023-03-15 Dynamic Network Services, Inc. Methods, systems, and apparatus for geographic location using trace routes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004507917A (ja) * 2000-08-22 2004-03-11 インターナップ ネットワーク サービセズ コーポレイション 多数の利用可能なインターネットルートプロバイダを介したルーティングを最適化するための方法及びシステム
US7711846B2 (en) * 2000-11-17 2010-05-04 Microsoft Corporation System and method for determining the geographic location of internet hosts
US20110282988A1 (en) * 2010-05-13 2011-11-17 Northwestern University Geographic location system and method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BAMBA GUEYE ET AL.: "Constraint-Based Geolocation of Internet Hosts", IEEE/ACM TRANSACTIONS ON NETWORKING, VOL.14, NO.6, JPN6020010859, December 2006 (2006-12-01), pages 1219 - 1232, XP011145285, ISSN: 0004380415, DOI: 10.1109/TNET.2006.886332 *
DANILO CICALESE ET AL.: "A Fistful of Pings: Accurate and Lightweight Anycast Enumeration and Geolocation", 2015 IEEE CONFERENCE ON COMPUTER COMMUNICATIONS(INFOCOM), JPN6020010860, 1 May 2015 (2015-05-01), pages 2776 - 2784, ISSN: 0004380416 *
DOXA CHATZOPOULOU ET AL., IP GEOLOCATION, JPN6020042143, January 2007 (2007-01-01), pages 1 - 6, ISSN: 0004380417 *
S.S.SIWPERSAD ET AL.: "Assessing the geographic resolution of exhaustive tabulation for geolocating Internet hosts", INTERNATIONAL CONFERENCE ON PASSIVE AND ACTIVE NETWORK MEASUREMENT, JPN6020010857, 2008, ISSN: 0004380414 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11399073B2 (en) 2015-07-22 2022-07-26 Dynamic Network Services. Inc. Methods, systems, and apparatus for geographic location using trace routes
JPWO2020115796A1 (ja) * 2018-12-03 2021-09-02 株式会社Geolocation Technology Ipアドレスの使用地域特定システム
US11601337B1 (en) 2021-10-29 2023-03-07 Kyndryl, Inc. Virtual server geolocation detection

Also Published As

Publication number Publication date
EP3326074A4 (en) 2019-06-12
EP3326074B1 (en) 2023-03-15
WO2017015454A1 (en) 2017-01-26
US20200389535A1 (en) 2020-12-10
US10742752B2 (en) 2020-08-11
US11399073B2 (en) 2022-07-26
CN108027800B (zh) 2022-04-29
EP3326074A1 (en) 2018-05-30
US20190007503A1 (en) 2019-01-03
JP6920294B2 (ja) 2021-08-18
US20220279050A1 (en) 2022-09-01
CN115378843B (zh) 2023-12-22
CN115378843A (zh) 2022-11-22
CN108027800A (zh) 2018-05-11
CN117914748A (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
JP6920294B2 (ja) ルート追跡を用いて地理位置を特定するための方法、システムおよび装置
US9800478B2 (en) Cross-layer troubleshooting of application delivery
US20210243099A1 (en) Cross-layer troubleshooting of application delivery
Katz-Bassett et al. Towards IP geolocation using delay and topology measurements
KR101086545B1 (ko) 수동적 tcp 성능 계측을 이용하여 글로벌 트래픽 로드 밸런싱을 위한 네트워크 근접도를 결정하기 위한 방법
Luckie et al. Bdrmap: Inference of borders between IP networks
US9385925B1 (en) Anycast route detection
Nomikos et al. O peer, where art thou? Uncovering remote peering interconnections at IXPs
Bajpai et al. Vantage point selection for IPv6 measurements: Benefits and limitations of RIPE Atlas tags
Giotsas et al. O peer, where art thou? Uncovering remote peering interconnections at IXPs
Vermeulen et al. Internet scale reverse traceroute
Fok et al. MonoScope: Automating network faults diagnosis based on active measurements
US10547500B1 (en) Determining sources of network packet loss
US11792110B2 (en) Geolocation system and method
CN104079681A (zh) 一种别名解析方法
Li et al. Assessing locator/identifier separation protocol interworking performance through RIPE Atlas
Raspall Building Nemo, a system to monitor IP routing and traffic paths in real time
Hendriks Improving anycast census at scale
US20230231773A1 (en) Determining an organizational level network topology
McCherry et al. Mapping Internet Infrastructure
Fossen et al. Forensic geolocation of internet addresses using network measurements
Motamedi Internet Topology Discovery
Malibago Automated Monitoring of Internet Service Provider (ISP) Topologies
Görner GeoRoute—Geographically Constrained Routing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201104

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210323

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210726

R150 Certificate of patent or registration of utility model

Ref document number: 6920294

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150