(57)【要約】  特定のインターネットプロトコル（ＩＰ）アドレスに関連する装置の地理位置（ジオロケーション）を推定するための従来方法は、一般的に非常に不正確な結果をもたらす。多くの場合、推定されたＩＰジオロケーションは、間違った大陸にある。本発明の実施形態は、遅延測定値、ドメインネームサーバ（ＤＮＳ）情報およびルーティング情報に基づいて、不正確な推定値を特定および改善するための技術を含む。例えば、複数の収集装置からの遅延測定値を用いて、ＩＰジオロケーション推定値の妥当性を評価することができ、場合によって、ＩＰジオロケーション推定値の精度を高めることができる。ＤＮＳおよびルーティング情報を用いて、推定されたＩＰジオロケーションを確証することができる。得られたより正確なＩＰジオロケーション推定結果を用いて、インターネットトラフィックをより効率的にルーティングし、機密情報をルーティングするための規則を強化し、トラブルシューティングを簡単化することができる。
2018521610.tif 000002
【特許請求の範囲】
【請求項１】
インターネットに動作可能に接続され、インターネットプロトコル（ＩＰ）アドレスを有する少なくとも１つの装置の位置を特定するための方法であって、
（Ａ）第三者から、前記少なくとも１つの装置の第１推定地理位置を自動的に取得するステップを含み、前記第１推定地理位置は、前記少なくとも１つの装置の前記ＩＰアドレスに基づき、
（Ｂ）インターネットに動作可能に接続された複数のセンサの各センサから前記少なくとも１つの装置の前記ＩＰアドレスへの送信に関連する各々の遅延分布を測定するステップを含み、前記複数のセンサの各センサは、異なる地理位置に配置されており、
（Ｃ）ステップ（Ｂ）で測定された各々の遅延分布から、少なくとも１つの遅延を選択するステップと、
（Ｄ）ステップ（Ｃ）で選択された前記少なくとも１つの遅延を測定した少なくとも１つのセンサを特定するステップと、
（Ｅ）ステップ（Ｃ）で選択された前記少なくとも１つの遅延に少なくとも部分的に基づいて、ステップ（Ｄ）で特定された前記少なくとも１つのセンサと前記少なくとも１つの装置との間の最大可能な地理距離を推定するステップと、
（Ｆ）前記少なくとも１つの装置の前記第１推定地理位置がステップ（Ｄ）で特定された前記少なくとも１つのセンサの地理位置からステップ（Ｅ）で推定された前記最大可能な地理距離内に位置するか否かを判定するステップと、
（Ｇ）前記少なくとも１つの装置の前記第１推定地理位置がステップ（Ｄ）で特定された前記少なくとも１つのセンサの地理位置からステップ（Ｅ）で推定された前記最大可能な地理距離内に位置していない場合、前記少なくとも１つの装置の第２推定地理位置を決定するステップとを含み、前記第２推定地理位置は、ステップ（Ｄ）で特定された前記少なくとも１つのセンサの地理位置からステップ（Ｅ）で推定された前記最大可能な地理距離内に位置する、方法。
【請求項２】
前記少なくとも１つの装置は、複数の装置を備え、前記複数の装置の各装置は、対応するＩＰアドレスを有し、
ステップ（Ａ）は、サーバから、前記複数の装置内の各装置の推定地理位置のデジタル表現を自動的にダウンロードすることを含む、請求項１に記載の方法。
【請求項３】
ステップ（Ｂ）は、
前記複数のセンサの各センサから、前記少なくとも１つの装置との間のパケットの送信に関連する往復時間（ＲＴＴ）の複数の測定値を取得することと、
ＲＴＴの複数の測定値に各々対応するＲＴＴ分布を決定することと、
前記ＲＴＴ分布に少なくとも部分的に基づいて、前記複数のセンサの各センサの前記遅延を推定することとを含む、請求項１に記載の方法。
【請求項４】
ＲＴＴの複数の測定値に各々対応する前記ＲＴＴ分布を決定することは、マルチプロトコルラベルスイッチング（ＭＰＬＳ）ホップに関連するＲＴＴ測定値を排除することを含む、請求項３に記載の方法。
【請求項５】
ＲＴＴの複数の測定値に各々対応する前記ＲＴＴ分布を決定することは、閾値未満のＲＴＴ測定値を排除することを含む、請求項３に記載の方法。
【請求項６】
前記ＲＴＴ分布に少なくとも部分的に基づいて、前記複数のセンサの各センサの前記遅延を推定することは、前記ＲＴＴ分布に基づいて、信頼区間に入る前記遅延を推定することを含む、請求項３に記載の方法。
【請求項７】
ステップ（Ｅ）は、ステップ（Ｃ）で選択された前記少なくとも１つの遅延に関連する前記信頼区間に入る前記最大可能な地理距離を推定することを含む、請求項６に記載の方法。
【請求項８】
ステップ（Ｂ）は、少なくとも２００個のセンサの各々からの遅延を測定することを含む、請求項１に記載の方法。
【請求項９】
ステップ（Ｂ）は、
前記遅延のうち、少なくとも１つ遅延の少なくとも１つの誤差源を特定することと、
前記少なくとも１つの誤差源を補償するように、前記少なくとも１つ遅延を調整することとを含む、請求項１に記載の方法。
【請求項１０】
ステップ（Ｃ）は、ステップ（Ｂ）で測定された前記遅延から、少なくとも３つの遅延を選択することを含み、
ステップ（Ｄ）は、ステップ（Ｃ）で選択された前記少なくとも３つの遅延を測定した少なくとも３つのセンサを特定することを含み、
ステップ（Ｅ）は、ステップ（Ｄ）で特定された前記少なくとも３つのセンサの三角測量を行うことを含む、請求項１に記載の方法。
【請求項１１】
ステップ（Ｅ）は、ステップ（Ｄ）で特定された前記少なくとも３つのセンサの各々の遅延および地理位置に基づいて、前記ＩＰアドレスをエニーキャストＩＰアドレスとして特定することとを含む、請求項１０に記載の方法。
【請求項１２】
前記第２推定地理位置に少なくとも部分的に基づいて、前記少なくとも１つの装置へのパケットの送信および／または前記少なくとも１つの装置からのパケットの送信に関連する遅延を予測するステップをさらに含む、請求項１に記載の方法。
【請求項１３】
パケット遅延を減少させるおよび／またはパケット量を増加させるために、前記第２推定地理位置に少なくとも部分的に基づいて、前記少なくとも１つの装置におよび／または前記少なくとも１つの装置からパケットをルーティングするステップをさらに含む、請求項１に記載の方法。
【請求項１４】
前記第２推定地理位置に少なくとも部分的に基づいて、特定の地理区域の周りにまたは特定の地理区域からパケットをルーティングするステップをさらに含む、請求項１に記載の方法。
【請求項１５】
前記第２推定地理位置に基づいて、インターネットサービスプロバイダ（ＩＳＰ）を選択するステップをさらに含む、請求項１に記載の方法。
【請求項１６】
前記第２推定地理位置に基づいて、ドメインネームシステム（ＤＮＳ）クエリを解析するステップをさらに含む、請求項１に記載の方法。
【請求項１７】
インターネットに動作可能に接続され、インターネットプロトコル（ＩＰ）アドレスを有する少なくとも１つの装置の地理位置を推定するための方法であって、
（Ａ）第一者から、前記少なくとも１つの装置の第１推定地理位置を自動的に取得するステップを含み、前記第１推定地理位置は、前記少なくとも１つの装置の前記ＩＰアドレスに基づき、
（Ｂ）第二者から、前記少なくとも１つの装置の第２推定地理位置を自動的に取得するステップを含み、前記第２推定地理位置は、前記少なくとも１つの装置の前記ＩＰアドレスに基づき、
（Ｃ）ステップ（Ａ）で得られた前記第１推定地理位置とステップ（Ｂ）で得られた前記第２推定地理位置との間の距離を決定するステップと、
（Ｄ）ステップ（Ｃ）で決定された距離が所定の閾値を超える場合、インターネットに動作可能に接続された複数のセンサの各センサから前記少なくとも１つの装置の前記ＩＰアドレスへの送信に関連する各々の遅延を測定するステップを含み、前記複数のセンサの各センサは、異なる地理位置に配置され、
（Ｅ）ステップ（Ｄ）で測定された各々の遅延から、少なくとも１つの遅延を選択するステップと、
（Ｆ）ステップ（Ｅ）で選択された前記少なくとも１つの遅延を測定した前記少なくとも１つのセンサを特定するステップと、
（Ｇ）ステップ（Ｅ）で選択された前記少なくとも１つの遅延に少なくとも部分的に基づいて、ステップ（Ｆ）で特定された前記少なくとも１つのセンサと前記少なくとも１つの装置との間の最大可能な地理距離を推定するステップと、
（Ｈ）ステップ（Ｆ）で特定された前記少なくとも１つのセンサの地理位置からステップ（Ｇ）で推定された前記最大可能な地理距離に少なくとも部分的に基づいて、前記少なくとも１つの装置の第３推定地理位置を決定するステップとを含む、方法。
【請求項１８】
ステップ（Ｃ）は、
前記複数のセンサの各センサから、前記少なくとも１つの装置との間のパケットの送信に関連する往復時間（ＲＴＴ）の複数の測定値を取得することと、
ＲＴＴの複数の測定値に各々対応するＲＴＴ分布を決定することと、
決定された前記ＲＴＴ分布に少なくとも部分的に基づいて、前記複数のセンサの各センサの前記遅延を推定することとを含む、請求項１７に記載の方法。
【請求項１９】
マルチプロトコルラベルスイッチング（ＭＰＬＳ）ホップに関連する少なくとも１つのＲＴＴ測定値を排除するステップをさらに含む、請求項１８に記載の方法。
【請求項２０】
閾値未満のＲＴＴ測定値を排除するステップをさらに含む、請求項１８に記載の方法。
【請求項２１】
ステップ（Ｄ）は、信頼区間に入る前記複数のセンサの各センサの前記遅延を推定することを含み、
ステップ（Ｇ）は、ステップ（Ｅ）で選択された前記少なくとも１つの遅延に関連する前記信頼区間に入る前記最大可能な地理距離を推定することを含む、請求項１８に記載の方法。
【請求項２２】
パケット遅延を減少させるおよび／またはパケット量を増加させるために、前記第２推定地理位置に少なくとも部分的に基づいて、前記少なくとも１つの装置におよび／または前記少なくとも１つの装置からパケットをルーティングするステップをさらに含む、請求項１７に記載の方法。
【請求項２３】
前記第２推定地理位置に少なくとも部分的に基づいて、特定の地理区域の周りにまたは特定の地理区域からパケットをルーティングするステップをさらに含む、請求項１７に記載の方法。
【請求項２４】
前記第３推定地理位置と、前記第１推定地理位置および前記第２推定地理位置の少なくとも１つとを示すマップを生成するステップをさらに含む、請求項１７記載の方法。
【請求項２５】
インターネットプロトコル（ＩＰ）アドレス内の指定のネットワークプレフィックスの地理位置を推定するための方法であって、
前記指定のネットワークプレフィックスのトランシット木を計算するステップを含み、前記トランシット木は、前記指定のネットワークプレフィックスの自律システム（ＡＳ）経路を表し、第１ＡＳと第２ＡＳとの間の少なくとも１つのエッジを示し、
前記第１ＡＳの地理位置および前記第２ＡＳの地理位置に基づいて、前記指定のネットワークプレフィックスの第１推定地理位置を推定するステップを含む、方法。
【請求項２６】
前記第１推定地理位置と、第三者から得られた前記指定のネットワークプレフィックスの第２推定地理位置とを比較するステップをさらに含む、請求項２５に記載の方法。
【請求項２７】
前記指定のネットワークプレフィックスへの送信の遅延測定値を用いて、前記第１推定地理位置を検証するステップをさらに含む、請求項２６に記載の方法。
【請求項２８】
第１インターネットプロトコル（ＩＰ）アドレスを有する装置の地理位置を推定するための方法であって、
パケットを前記第１のＩＰアドレスに送信するステップと、
前記パケットに応答して、前記第１のＩＰアドレスとは異なる第２のＩＰアドレスから、ポート到達不能なメッセージを受信するステップと、
前記ポート到達不能なメッセージに応答して、前記第２のＩＰアドレスが前記第１のＩＰアドレスのエイリアスであることを判定するステップと、
前記第１のＩＰアドレスと前記第２のＩＰアドレスとの共通地理位置を推定するステップとを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、米国特許法第１１９条（ｅ）に基づき、２０１５年７月２２日に出願され且つ「ルート追跡を用いて地理位置を特定するための方法、システムおよび装置」と題された米国特許出願第６２／１９５４８８号の優先権を主張する。当該出願の全体は、参照により本明細書に組み込まれる。
【背景技術】
【０００２】
背景
インターネットプロトコル（ＩＰ）地理位置（geographic location）またはＩＰジオロケーション（geolocation）は、特定のＩＰアドレスに関連する装置の物理位置を推測または推定することである。換言すると、ＩＰジオロケーションは、所望レベルの特異度で、ＩＰアドレスを地球上のある位置に特定することである。特定のＩＰアドレスの地理位置を推測または推定するための技術は、（１）インターネットホストまたはローカルネットワークノードに対応するドメインネームサーバ（ＤＮＳ）名、（２）ＩＰアドレスと、既知の地理位置に配置された一群の装置との間の遅延測定値、および（３）ＩＰ−位置の部分マッピング情報と境界ゲートウェイプロトコル（border gateway protocol、ＢＧＰ）プレフィックス情報との組み合わせから、地理位置を推定する。これらの技術の詳細については、例えば、参照によりその全体が本明細書に組み込まれた米国特許第７７１１８４６号を参照する。
【発明の概要】
【０００３】
残念なことに、ＩＰジオロケーション推定値は、ケーブル、ルータ、サーバおよびアクセス装置などの物理関係ではなく、ＩＰアドレス、ルーティングプロトコルおよびアプリケーションの論理関係の観測に基づいて推定されたため、不正確であり、場合によって非常に不正確である。論理関係は、しばしば物理関係に関連されるが、必ずしも連携するとは限らない。例えば、インターネット空間では互いに隣接するＩＰアドレスは、必ずしも互いに地理的に隣接するとは限らず、その逆も同様である。例えば、ブラジルとペルーとは、互いに地理的に隣接するが、インターネット空間では互いに隣接していない。また、装置の物理位置の変化は、必ずしも装置のインターネット空間位置の変化に対応するとは限らず、その逆も同様である。特定のＢＧＰプレフィックスを公告したルータを検討する。プレフィックスを公告することによって、ルータは、物理空間において移動されても、論理的な観点から固定である１つ以上の論理的なインターネット関係を確立する。
【０００４】
また、プレフィックスを１つの場所に配置する必要がない。エンドユーザ（end user）ネットワークは、しばしば単一の地理範囲を有するが、例えば、（ルータ、スイッチおよびファイアウォールを含む）広域ネットワークに使用されたインフラストラクチャＩＰアドレスは、グローバル範囲であり得るプロバイダの運用領域の全体に分散されることがある。したがって、連続のインフラストラクチャＩＰアドレスは、単一のプレフィックスとしてインターネットの他の部分に接続されても、物理的に離れた場所に配置されることがある。
【０００５】
さらに、ジオロケーションの推測または推定に使用されたネットワーク情報は、不正確、不完全、またはその両方である可能性がある。プレフィックスの登録は、しばしば、エンドユーザの自己報告によって行われ、地域インターネット登録官がその有効性をチェックしない。したがって、ＤＮＳ情報が間違った可能性がある。例えば、特定の区域（例えば、英国）に関連するドメインは、必ずしもその区域にホストされるとは限らない。インターネットサービスプロバイダは、しばしば、都市の略語をルータのインターフェイス名に使用するが、命名規則は、プロバイダによって異なり、必ずしも最新のものとは限らない。例えば、ルータインターフェイスは、光ファイバの遠端に接続されているある都市の名前で命名されてもよい。同様に、ＢＧＰ情報、特に広範囲の地理区域（例えば、大陸）をカバーするプレフィックスを公告する地域プロバイダのＢＧＰ情報は、不確定である可能性がある。
【０００６】
また、人為的な遅延によって時間測定値が長くなり、その結果、インターネットノード間の距離推定値を増加することによって、遅延測定値は、しばしば不精確である。これらの遅延は、パケットを符号化するための時間としての直列遅延と、ルータのキュー遅延と、総伝播距離と伝播速度（光ファイバの場合、約２０００００ｋｍ／秒）との積に等しい伝播遅延とを含むがこれらに限定されない。通信媒体（通常、光ファイバ）が２点の間に直線ではなく蛇行して配置された場合、伝播遅延がより大きくなる。実際に、多くの光ファイバは、既存の送電線用地に沿って蛇行して配置される。他の場合、光ファイバは、地理的な制約（例えば、丘および川）、経済的な制約（例えば、不動産所有者とインターネットサービスプロバイダとの間のビジネス関係の欠如）、またはその両方の制約によって、蛇行して配置される。一般的には、遅延が長くなれば、伝播経路が遠回りになる可能性が高くなり、エンドポイント間の距離推定値の人為的な増加をもたらす可能性も高くなる。
【０００７】
不完全または不正確なネットワーク情報および不精確な遅延測定値によって、ＩＰアドレスの物理位置の推定に関連する不確実性レベルは、ジオロケーション推定値の特異度レベルと共に大きくなる。例えば、非常に高い信頼度で、特定のＩＰアドレスの惑星（地球）を推測することができる。ＩＰアドレスの大陸を特定する場合、信頼度が低下する傾向がある。また、ＩＰアドレスの国を特定する場合、部分的な理由として各国の大きさおよび国境が変動するため、不確実性がさらに増加する傾向がある。さらに、首都圏／都市レベルでＩＰジオロケーションを推定する場合の信頼度は、都市の位置および他の都市との近接度に部分的に依存して、さらに低下する傾向がある。
【発明が解決しようとする課題】
【０００８】
概要
発明者らは、不正確な登録および／またはＤＮＳ情報および遅延測定値における遅延によって、利用可能なＩＰジオロケーションデータが不正確になる傾向があることを認識した。また、プレフィックスが複雑な方法で重なり、相関することがあるため、正確なＩＰジオロケーション問題を複雑化する。また、本発明者らは、不正確なＩＰジオロケーションデータがインターネットトラフィックの管理およびトラブルシューティングに悪影響を及ぼすことを認識した。より具体的には、不正確なＩＰジオロケーション推定は、高いＤＮＳ遅延および不正確なＤＮＳベースド負荷分散を引き起こす可能性がある。例えば、トラフィックが実際に米国から来た場合、負荷をヨーロッパのリソースに分散してしまう。さらに、不正確なＩＰジオロケーション推定は、ネットワーク問題が発生した場所および原因に関する不正確な結論をもたらし、その結果、不適切または非効率的もしくは無駄なトラブルシューティングをもたらす可能性がある。
【課題を解決するための手段】
【０００９】
本技術の実施形態は、他のＩＰジオロケーション技術よりもより正確に実行できるＩＰジオロケーションの方法およびシステムを含む。１つの例は、インターネットに動作可能に接続され、ＩＰアドレスを有する少なくとも１つの装置を特定するための方法を含む。この方法は、第三者から、装置のＩＰアドレスに基づいた装置の第１推定地理位置を自動的に取得するステップを含む。また、方法は、インターネットに動作可能に接続された複数のセンサの各センサから装置のＩＰアドレスへの送信に関連する各々の遅延分布を測定することを含む。複数のセンサの各センサは、異なるジオロケーションに配置される。プロセッサは、測定された遅延分布から少なくとも１つの遅延を選択し、選択された遅延を測定したセンサを特定する。プロセッサは、遅延に基づいて、センサと装置との間の最大可能な地理距離を推定し、それを装置の第１推定地理位置とセンサの地理位置との間の距離と比較する。装置の第１推定地理位置が、センサの地理位置から推定された最大可能な地理距離内に位置していない場合、プロセッサは、最大可能な地理距離および地理位置に基づいて装置の第２推定地理位置を決定する。
【００１０】
他の実施形態は、インターネットに動作可能に接続され、ＩＰアドレスを有する少なくとも１つの装置の地理位置を推定するための別の方法を含む。この方法は、第一者から、装置のＩＰアドレスに基づいた装置の第１推定地理位置を自動的に取得するステップと、第二者から、装置のＩＰアドレスに基づいた装置の第２推定地理位置を自動的に取得するするステップとを含む。プロセッサは、第１推定地理位置と第２推定地理位置との間の距離を決定する。その距離が所定の閾値を超える場合、プロセッサは、インターネットに動作可能に接続された複数のセンサの各センサから装置のＩＰアドレスへの送信に関連する各々の遅延を測定する。複数のセンサの各センサは、異なる地理位置に配置される。プロセッサは、各々の遅延から少なくとも１つの遅延を選択し、選択された遅延を測定したセンサを特定し、選択された遅延に少なくとも部分的に基づいて、センサと装置との間の最大可能な地理距離を推定する。その後、プロセッサは、センサの地理位置から推定された最大可能な地理距離に基づいて、装置の第３推定地理位置を決定する。
【００１１】
更新された新たなオロケーション推定値を用いて、装置におよび／または装置からパケットをルーティングすることによって、パケット遅延を減少させるおよび／またはパケット量を増加させることができる。また、更新された新たなオロケーション推定値を用いて、例えば、データセキュリティに関する規則または法律に従って、特定の地理区域の周りに、特定の地理区域を回避して、または特定の地理区域を通って、パケットをルーティングすることができる。ジオロケーション推定値を使用して、インターネットサービスプロバイダ（ＩＳＰ）を選択することができ、ドメインネームシステム（ＤＮＳ）クエリを解析することもできる。
【００１２】
また、本技術の実施形態は、インターネットプロトコル（ＩＰ）アドレス内の指定のネットワークプレフィックスのジオロケーションを推定するための方法および装置を含む。指定のネットワークプレフィックスの地理位置を推定するために、プロセッサまたは他のコンピュータ装置は、指定のネットワークプレフィックスのトランシット木を割り出す。トランシット木は、指定のネットワークプレフィックスの自律システム（ＡＳ）経路を表し、第１ＡＳと第２ＡＳとの間の少なくとも１つのエッジを示す。プロセッサは、第１ＡＳの地理位置および第２ＡＳの地理位置に基づいて、指定のネットワークプレフィックスの第１推定地理位置を推定する。場合によって、プロセッサは、第１推定地理位置と、第三者から得られた指定のネットワークプレフィックスの第２推定地理位置とを比較することができる。第１推定地理位置と第２推定地理位置とが一致しない場合、プロセッサは、指定のネットワークプレフィックスとの間の送信遅延測定値を用いて、第１推定地理位置を検証することができる。
【００１３】
本技術のさらに別の実施形態は、第１のＩＰアドレスを有する装置のジオロケーションを推定するための方法および装置を含む。この場合、コンピュータネットワーク（例えば、インターネット）に接続された収集装置または他の装置は、パケットを第１のＩＰアドレスに送信する。パケットに応答して、収集装置は、第１のＩＰアドレスとは異なる第２のＩＰアドレスから、ポート到達不能なメッセージを受信する。収集装置または収集装置に結合された別の処理装置は、ポート到達不能なメッセージに応答して、第２のＩＰアドレスが第１のＩＰアドレスのエイリアスであると判定する。したがって、収集装置または他の処理装置は、第１のＩＰアドレスおよび第２のＩＰアドレスの共通地理位置を推定する。
【００１４】
前述した発想および以下でより詳細に説明する追加の発想（これらの発想が相互に矛盾しない前提で）の全ての組み合わせは、本明細書に開示された発明の主題の一部であると理解すべきである。特に、本開示の最後の特許請求の範囲の全ての組み合わせは、本明細書に開示された発明の主題の一部であると考えられる。また、本明細書に明示的に使用された用語および参照により他の開示に援用された用語は、本明細書に開示された特定の概念と最も一致する意味で解釈されるべきであることを理解すべきである。
【００１５】
当業者であれば、図面は、主に説明の目的のものであり、本明細書に記載された発明の主題の範囲を限定するものではないことを理解するであろう。図面は、必ずしも一定の縮尺描かれていない。いくつかの例において、本明細書に開示された発明の主題の様々な態様は、異なる特徴を容易に理解させるために、図面においてこれらの特徴を拡大または縮小することがある。図面において、同様の参照符号は、一般的に、同様の特徴（例えば、機能的におよび／または構造的に類似する要素）を指す。
【００１６】
本発明の特徴および利点は、図面と併せて以下の詳細な説明からより明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１Ａ】特定のＩＰアドレスに関連する少なくとも１つの装置のジオロケーションを推定するためのプロセスを示す図である。
【図１Ｂ】特定のＩＰアドレスに関連する少なくとも１つの装置のジオロケーションを推定するための別のプロセスを示す図である。
【図１Ｃ】図１Ａおよび１Ｂに示されたプロセスを用いて得られたＩＰアドレスのジオロケーション推定値に対する訂正を示すマップである。
【図２Ａ】図１Ａおよび１Ｂに示すＩＰジオロケーションプロセスの実行に適したジオロケーションシステムの一例を示す図である。
【図２Ｂ】物理的および仮想的なルート追跡データ収集装置および／またはネットワークセンサを含むルート追跡データ収集装置の位置を示す図である。
【図２Ｃ】グロバールに配置されたルート追跡データ収集装置および／またはネットワークセンサによってカバーされた地理的な区域を示す図である。
【図２Ｄ】グロバールに配置されたルート追跡データ収集装置および／またはネットワークセンサによってカバーされた地理的な区域を示す図である。
【図３Ａ】ジオロケーションサーバの一例を示す図である。
【図３Ｂ】ルート追跡収集データ装置の一例を示す図である。
【図４】ＴＴＬを増分することによって、（図２Ａに黒い矢印で示された）特定の追跡ルートを決定するためのプロセスを示す図である。
【図５】３つのルート追跡データ収集装置によってカバーされた区域の交差を示す図である。
【図６Ａ】マルチプロトコルラベルスイッチング（MultiProtocol Label Switching、ＭＰＬＳ）トンネルを経由したルーティングを示す図である。
【図６Ｂ】ＭＰＬＳトンネルに関連するＩＰアドレスのジオロケーションを推定するためのプロセスを示す図である。
【図７Ａ】ＩＰアドレスのエイリアス除去およびジオロケーションの推定を行うためのプロセスを示す図である。
【図７Ｂ】図７Ａのプロセスを用いて、特定および測位されたエイリアス化ＩＰアドレスを示すグラフである。
【図８Ａ】ジオロケーションサーバによって生成された、インターネットの起源からコアまで遷移したネットワークプレフィックスの集合を示すトランシット木である。
【図８Ｂ】図８Ａに示すトランシット木を用いて、指定のネットワークプレフィックスのジオロケーションを推定するためのプロセスを示す図である。
【図９】単一区域に配置されたネットワークプレフィックス群の境界ゲートウェイプロトコル（ＢＧＰ）対時間のルーティング安定性を示す図である。
【発明を実施するための形態】
【００１８】
詳細な説明
以下、追跡ルートおよび他の情報を用いて、地理位置（geographic location）を特定するための本発明のシステム、方法および装置に関連する様々な発想および実施形態をより詳細に説明する。上記で説明されおよび以下により詳細に検討される様々な発想は、特定の実施方法に限定されず、多くの方法のいずれかで実施され得ることを理解すべきである。特定の実現例および応用例は、主に説明の目的で提供される。
【００１９】
理論的には、全てのインターネット性能データを知っていれば、インターネットトラフィックを正確にルーティングすることができる。しかしながら、実際には、全てのインターネット性能データが知られていないため、利用可能なインターネット性能データおよび地理位置情報を用いて、インターネットトラフィックを調整する。例えば、南米のＩＰアドレスからのデータリクエストは、そのＩＰアドレスと南米のデータセンタとの地理的な近接度に基づいて、南米のデータセンタにルーティングされる可能性がある。しかしながら、南米のＩＰアドレスの相互接続には制限がある。例えば、アマゾン熱帯雨林およびアンデス山脈は、接続に大きな物理的な障壁を与えている。その代わりに、多くの場合、南米のインターネットトラフィックは、マイアミを経由してルーティングされる。したがって、ブラジルのＩＰアドレスからデータをリクエストした場合、コロンビアデータセンタがブラジルのＩＰアドレスに地理的に近いにも関わらず、実際には、コロンビアのデータセンタではなく、そのデータリクエストをマイアミのデータサーバにルーティングした方がより効率的である。同様に、特定のＩＰアドレスの地理位置に関する情報が不正確の場合、不必要の遅延および混雑などを増やすルーティングをもたらしてしまう。
【００２０】
ＩＰアドレスの地理位置（ジオロケーション：geolocation）に関するより精確な推定値を用いて、インターネット上のトラフィックをより効率的に案内することができる。例えば、ＩＰアドレスの地理位置を用いて、ＩＰアドレスにまたはＩＰアドレスからパケットを送信するための理論上の遅延制限値を予測することができる。理論上の遅延制限値になるべき近づくようにルーティングを決定するために、ジオロケーションデータをグローバル遅延マップに関連付ける必要がある。ジオロケーションデータを用いて、インテリジェントなルーティングの判断に十分な情報を提供することができ且つ発信元および宛先の位置のある程度の匿名性を提供することができる程度の精度で、トラフィックの発信元および宛先の物理位置を特定することができる。例えば、輸出規制を遵守するためまたは盗聴の危険性を減らすため、ジオロケーション情報を用いて、特定の国を経由してまたは特定の国を避けて、機密なデータをルーティングすることができる。また、ジオロケーション情報を用いて、ネットワーク問題の解決およびネットワークの拡張計画を行うことができる。
【００２１】
遅延測定値、ＤＮＳ名、ルーティング情報、または様々な公開または私用ソース（例えば、データセンタの公開位置、掲示板、店舗位置）から、ＩＰアドレスのジオロケーションを推定することができる。しかしながら、光ファイバが直線に配置されず、地理的に離れたポイントが十分ではなく、測定ポイントの位置精度が十分ではなく且つ均一的に／理想的に分布されておらず、光の速度が速すぎて（光ファイバの１ミリ秒＝１００キロ）短い測定ができないなどの理由で、多くの既知ポイントからの遅延測定値を使用した三角測量は、概ねの場所しか推定できない。ＩＰアドレスに関連する都市名または空港コードをしばしば含むＤＮＳ情報を用いて、ＩＳＰのインフラストラクチャの異なるＩＰアドレスから復元された名前をアルゴリズム的に解析することができるが、ＩＳＰの間に命名規則が異なる、矛盾するまたは間違える可能性がある。また、装置を移動することができるため、装置の位置の確認が困難である。特定のサービスプロバイダのサービス地域に基づくルーティング情報から、地理位置を推定することができるが、地域の有力企業のマクロレベルしかできない。
【００２２】
本明細書に開示された技術は、遅延測定値、ＤＮＳ情報およびルーティング情報に基づくＩＰジオロケーションに関する。多くの他の技術とは異なり、本発明の例示的な技術を用いて、市販のジオロケーション情報を含む第三者からのジオロケーションデータの矛盾または誤差を検出し、訂正することができる。これらのジオロケーションデータは、エンドユーザにとって正しいが、インフラストラクチャにとって正しくないため、インターネットトラフィックのルーティングおよび解析における有用性が制限されている。
【００２３】
第三者のＩＰジオロケーション推定値における誤差の特定および訂正
図１Ａは、第三者のＩＰジオロケーションデータから、特定のＩＰアドレスに関連する装置のジオロケーション推定値を精密化するためのプロセス１０１を示す図である。この例において、プロセスは、１つ以上のＩＰアドレスの経緯度推定値を含み得るジオロケーションデータを取得すること（ブロック１１１）から開始する。このデータは、第三者から、例えば、商用位置情報源（例えば、Neustar、MaxMind、Digital Envoyなど）、プレフィックス登録データ、または他の公開または私用ソースから、定期的にまたはユーザの要求に応じて、自動的に入手可能またはユーザの介入によって入手可能である。
【００２４】
ブロック１１２において、プロセッサまたは他の適切な装置は、地球上の多くの箇所から得られた遅延測定値から、ジオロケーションを推定する。例えば、図２Ａ〜２Ｄに示すジオロケーションシステムを用いて、これらの遅延測定値を取得することができる。プロセッサは、これらの遅延測定値を用いて、ジオロケーション推定値の妥当性を検査する（ブロック１１３）。遅延測定値によって、特定のジオロケーション推定値が妥当でないことを示す場合（例えば、遅延測定値によって、実際の位置がジオロケーション推定値よりも特定の測定位置に近いことを示す場合）、プロセッサは、このジオロケーション推定値を破棄する（ブロック１１４）。
【００２５】
また、以下でより詳細に説明するように、プロセッサは、１つ以上の適切な誤差検出技術を用いて、ジオロケーション推定値および／または遅延測定値内の異常値を特定することができる（ブロック１１５）。上述したように、プロセッサは、遅延、ＤＮＳ名、公開または私用ソースのデータマイニングおよび／またはルーティング情報を用いて、異常値をさらに解析することができる（ブロック１１６）。ブロック１１７において、プロセッサは、遅延、ＤＮＳ名、公開または私用ソースおよび／またはルーティング情報に基づいて、矛盾するＩＰアドレスの実際のジオロケーションの確率的な推定値を提供する。
【００２６】
必要に応じて、プロセッサは、機械学習技術を適用することによって、矛盾特定の信頼性を向上させることができる（ブロック１１８）。換言すれば、プロセッサは、連続測定からの情報を用いて、信頼区間を縮小することができる。一般的に、遅延測定値が多いほど、より高い信頼性のＩＰジオロケーション推定値が得られる。また、プロセッサは、初期のジオロケーション推定値、訂正後のジオロケーション推定値および／または訂正値自身を示すマップまたは他の表現を生成することができる（ブロック１１９）。
【００２７】
以下の例は、図１Ａに示すプロセスを用いて、エンドユーザプレフィックス１９５．１６０．２３６．０／２２の市販のＩＰジオロケーション推定値を評価および訂正する方法を示している。米国ニューハンプシャー（ＮＨ）州Hanover市に設置された収集装置から、エンドユーザプレフィックス１９５．１６０．２３６．０／２２のＩＰアドレス１９５．１６０．２３６．１までのルート追跡データは、以下の通りである。
【００２８】
【表１】
2018521610.tif 000003
【００２９】
エンドユーザプレフィックス１９５．１６０．２３６．０／２２は、少なくとも２つのサーバＩＰアドレス（すなわち、１９５．１６０．２３６．９および１９５．１６０．２３７．２４）を含み、欧州地域インターネットレジストリ機関である欧州ＩＰネットワーク（ＲＩＰＥ）を介して登録されているが、英国に位置すると自己報告している。２つの商用情報源がこのＩＰプレフィックスを英国に位置付け、４つの商用情報源がこのＩＰプレフィックスをイングランドのマンチェスター市に位置付け、もう１つの商用情報源がこのＩＰプレフィックスを米国ニューハンプシャー州ラコニア市（Laconia）に位置付ける。
【００３０】
エンドユーザプレフィックス１９５．１６０．２３６．０／２２は、Terrenap社（ＡＳ２３１４８）によって公告される。Terrenap社は、マイアミに登録されており、大手インターネットサービスプロバイダとしてのVerizon、Hurricane ElectricおよびXOを含む。ＡＳ２３１４８は、起源として１４０個のプレフィックスを有し、そのうち１１３個が米国に位置し、残りがアルゼンチン、ベルギー、ドミニカ共和国、スペインおよびオランダに位置すると思われる。しかしながら、より具体的なプレフィックス１９５．１６０．２３６．０／２４のルートは、異なっている。プレフィックス１９５．１６０．２３６．０／２４は、WorldPath社（ＡＳ３７７０）によって公告される。WorldPath社は、米国ニューハンプシャー州Portmouth市に登録されており、大手インターネットサービスプロバイダとしてのAT&T、CogentおよびCentury Linkを含む。ＡＳ３７７０は、起源として４６個の別のプレフィックスを有し、これらの全てが米国の国内に位置する。このことは、このプレフィックスが実際に２つの異なる地理位置に所在しており、少なくとも１つが米国に所在するが、いずれも英国に所在しないことを示唆している。
【００３１】
エンドユーザプレフィックス１９５．１６０．２３６．０／２２に関連するＤＮＳ情報は、物理位置に関するいくつかの追加的なヒントを与えるが、プレフィックスのジオロケーションを決定的に判断することができない。ルート追跡測定値は、このプレフィックスに関連するルータのＤＮＳ名を提供する。通常、ＤＮＳ名は、最も近い空港を示す３桁の空港コードまたは都市を示す都市略称を含む。上記例の場合、ルータのＤＮＳ名は、以下のコード（および空港コードの説明）、すなわち、ＢＯＳ（米国のボストン（Boston））、ＮＹＣ（米国のニューヨーク市（New York City））、ＢＳＴ（アフガニスタンのボスト（Bost））、およびＶＯＲ（未定義）を含む。したがって、ＤＮＳ情報を用いて、地理位置を特定するための他の証拠を確証することができるが、ＤＮＳ情報だけでは必ずしも精確なＩＰジオロケーション推定値を提供できるとは限らない。
【００３２】
遅延測定値は、ＩＰプレフィックスと１つ以上の測定位置との間の距離の上限を提供することができる。上記例の場合、（ＤＮＳ情報から得られたＮＹＣ名が正しく、且つ遅延を測定するために使用されたパケットと目標ＩＰアドレスとの間の往復経路が対称的であると仮定する場合）遅延測定値は、目標ＩＰ（１９５．１６０．２３６．１）がニューハンプシャー州Hanover市から５３００ｋｍ以内であり、ニューヨーク市から１８００ｋｍ以内であることを示している。これらの測定値によって、英国は、目標ＩＰアドレスの可能な場所から除外される。
【００３３】
しかしながら、遅延測定値には誤差が存在するため、単純に遅延測定値を減算することによって、目標ＩＰアドレスの地理位置を正確に推定できないことがある。誤差の原因は、（上記の背景で説明した）遅延、目標ＩＰアドレスまでの往復経路の非対称性（すなわち、測定パケットは、１つの経路に沿って測定装置から目標ＩＰアドレスに送信され、異なる経路に沿って目標ＩＰアドレスから測定装置に返送される）、および以下でより詳細に説明するマルチプロトコルラベルスイッチング（Multiprotocol Label Switching、ＭＰＬＳ）を含む。しかしながら、単一の遅延測定値を用いて、不正確なＩＰジオロケーション推定値を破棄することができる。
【００３４】
幸いにも、系統的な測定誤差がない限り、多くの遅延測定値を統合することによって、ＩＰジオロケーション推定値の不確実性を低減することができる。例えば、一対のノード間で多くの遅延測定を行うことによって、遅延分布を得ることができる。最短遅延は、ノード間の距離のより正確な測定値を与えることができる。目標ＩＰと多くの異なる測定位置との間に遅延測定およびルート追跡を行うことによって、推定値をより精確にすることができる。
【００３５】
この場合、エンドユーザプレフィックス１９５．１６０．２３６．０／２２に位置する２つのサーバまでのルート追跡測定をより多く行うことによって、位置範囲をさらに狭くすることができる。
【００３６】
・  米国ニューハンプシャー州ポーツマス市から１９５．１６０．２３６．９までの追跡ルートは、１つのホップである。
【００３７】
・  1 gw-vip. ep.psml.renesys.com (195.160.236.9) 0.235 ms 0.236 ms 0.236 ms
・  米国フロリダ州マイアミ市から１９５．１６０．２３７．２４までの追跡ルートも１つのホップである。
【００３８】
・  1 master.ep.mial.renesys.com (195.160.237.24) 0.269 ms 0.309 ms 0.310 ms
このプレフィックスは、ダイナミックネットワークサービス社のデータセンタに所有される。１９５．１６０．２３６．０／２４は、ニューハンプシャー州ポーツマス市に所在していると公告され、１９５．１６０．２３６．０／２２は、フロリダ州マイアミ市に所在していると公告される。／２４プレフィックスが使用可能である限り、１９５．１６０．２３６．９は、ポーツマスに所在し、１９５．１６０．２３７．２４は、フロリダ州マイアミ市に所在する。／２４プレフィックスが使用不可になると、両方のプレフィックス（したがって、両方のＩＰアドレス）は、マイアミ市に所在する。
【００３９】
図１Ｂは、コンピュータ、ルータおよび他の装置のＩＰアドレスに基づいて、それらのジオロケーションを推定するための別のプロセス１０２を示す図である。ステップ１３０において、ジオロケーションサーバまたは他のプロセッサは、１つ以上の第三者サービスから、１つ以上のコンピュータおよびルータなどのジオロケーション推定値を自動的に取得する。場合によって、ジオロケーションサーバは、第三者が運営するサーバから、これらの推定値を自動的にダウンロードまたは受信することができる。複数の情報源から所定のＩＰアドレスに関するジオロケーション推定値を受信した場合、ジオロケーションサーバは、これらのジオロケーション推定値を互いに比較することができる（ステップ１３２）。推定値が一致しない場合（例えば、推定値が離れ過ぎる（例えば、１００キロ以上に離れる）、また１つの推定値が一般名称（例えば、「北アメリカ」）であって、他の推定値が特定名称（例えば、「ニューヨーク、ＮＹ」）である場合）、ジオロケーションサーバは、ＩＰアドレスと収集装置またはセンサとの間の送信遅延分布を取得することができる（ステップ１３４）。
【００４０】
例えば、以下で詳細に説明するように、ジオロケーションサーバは、ＩＰアドレスと２００個以上の収集装置との間のパケット送信に関連する往復時間（round-trip time、ＲＴＴ）から、遅延分布を得ることができる。ジオロケーションサーバ（または収集装置）は、各収集装置のＲＴＴ測定値に基づいてＲＴＴ分布を決定し、その後、ＲＴＴ分布に基づいて、ＲＴＴ測定値に関連する信頼区間に入る遅延を推定することができる。場合によって、ジオロケーションサーバは、マルチプロトコルラベルスイッチング（MultiProtocol Label Switching、ＭＰＬＳ）ホップに関連するＲＴＴ測定値、または（ＩＰアドレスと収集装置との間の不可能な物理距離を示す）短すぎるＲＴＴ測定値または長すぎるＲＴＴ測定値を排除する。ジオロケーションサーバは、遅延の誤差源を特定し、これらの誤差源による遅延を調整することもできる。
【００４１】
ジオロケーションサーバは、ステップ１３６において、位置が特定されている各ＩＰアドレスの遅延分布から１つ以上の遅延を選択し、ステップ１３８において、対応する収集装置を特定する。その後、ジオロケーションサーバは、選択した遅延を用いて、ＩＰアドレスと収集装置との間の距離を推定する。より具体的には、ジオロケーションサーバは、遅延測定値および光ファイバの速度を用いて、ＩＰアドレスと対応する収集装置との間の最大距離を推定することができる。ジオロケーションサーバは、ＩＰアドレスを囲む収集装置から３つ以上の短い遅延を選択した場合、図５に示すような三角測量技術を用いて、ＩＰアドレスの地理位置をより精確に推定することができる。収集装置からの範囲が一部しか重ならない場合、ジオロケーションサーバは、以下でより詳細に説明するように、そのＩＰアドレスをエニーキャスト（anycast）ＩＰアドレスとして特定することができる。
【００４２】
ステップ１４２において、ジオロケーションサーバは、第三者のジオロケーション推定値がステップ１４０で推定された距離によって描かれた円周（または交差区域）内に位置するか否かを判断する。肯定の場合、ジオロケーションサーバは、第三者のジオロケーション推定値が一定の距離範囲内で精確である。否定の場合、ジオロケーションサーバは、収集装置の位置および計算距離に基づいて、ＩＰアドレスの新たな地理位置を生成する。この新たな推定値は、ＲＴＴ測定分布によって決められ、距離測定の不確実性に影響を与える信頼区間に入る可能性がある。場合によって、距離測定の変化は、非常に大きい。例えば、図１Ｃは、一対のＩＰアドレスに対応する新しいジオロケーションおよび古いジオロケーションを用いて生成されたマップを示している。図示のように、１つのＩＰアドレスの位置は、米国のニューヨーク市からセネガルのダカールに訂正され、もう１つのＩＰアドレスの位置は、フランスのパリからオーストラリアのパースに訂正された。
【００４３】
新たなオロケーション推定値は、様々な形で使用することができる。例えば、プロセッサは、新たなオロケーション推定値を用いて、ルーティングテーブルの更新の一部として、ＩＰアドレスとの間のパケット送信に関連する遅延を予測することができる。更新された遅延およびルーティングテーブルを用いて、ネットワーク内のホップの数の代わりに、実際の距離に基づいて、トラフィックをより効率的にルーティングすることができる（ステップ１４６）。また、更新された遅延およびルーティングテーブルを用いて、追加ルータの設置時間および場所を計画することができる（例えば、南米に追加ルータを設置することによって、マイアミのルータを経由してトラフィックを送信する必要を排除または削減することができる）。これによって、ネットワークの特定部分の全体的な遅延を短縮することができ、および／またはパケット量を増加することができる。
【００４４】
また、新たなオロケーション推定値を用いて、特定の地理区域を優先するまたは回避することができる。例えば、ユーザは、セキュリティリスクを引き起こす可能性がある国または地域またはその周辺を回避して、機密情報をルーティングしたいことがある。この場合、ユーザは、トラフィックを直接にルーティングすることができないが、インターネットサービスプロバイダ（ＩＳＰ）のルータのジオロケーションに基づいて、トラフィックを搬送するＩＳＰを選択することができる（ステップ１４８）。また、ユーザは、機密情報の送信に関する法律、規則またはポリシーに準拠するように、ＩＳＰルータのジオロケーションに基づいてＩＳＰを選択することによって、特定の国を通ってトラフィックをルーティングすることができる。
【００４５】
さらに、新たなオロケーション推定値を用いて、ホップ数および遅延に加えてまたはその代わりに、ジオロケーションに基づいて、ドメインネームシステム（ＤＮＳ）クエリを解析することができる（ステップ１５０）。ユーザのジオロケーションを精確に知ることによって、ユーザが照会したドメインを、リクエストされたデータをホストしている最も適切なデータセンタに変換することができる。これによって、地理的に近いデータセンタを選択することができ、遅延または上述した問題のいずれかを低減することができる。
【００４６】
例示的なジオロケーションシステム
図２Ａは、例えば図１Ａに示すプロセス１０１に従って、第三者のジオロケーションデータの誤差を特定および訂正するために使用できるルート追跡データの収集に適したジオロケーションシステム２００の一例を示す。必要に応じて、収集されたルート追跡データは、インターネットサービスプロバイダ（例えば、Sprint社およびAT&T社）から得られたＤＮＳデータおよびルーティングデータに組み入れることができる。
【００４７】
図２Ａに示されたジオロケーションシステム２００は、ジオロケーションサーバ２１０を含む。ジオロケーションサーバ２１０は、ジオロケーションデータベース２１２、１つ以上のクライアント２１４、およびルート追跡データ収集装置２２０のネットワークに接続される。明瞭化のため、図２Ａが１つのみのジオロケーションサーバ２１０および１つのみのデータベース２１２を示しているが、システム２００は、同期された複数のジオロケーションサーバ２１０および複数のデータベース２１２を含むおよび／または使用することができる。複数のジオロケーションサーバ２１０を使用する場合、ジオロケーションサーバ２１０を同期することによって、複数のデータベース２１２に分散され得るデータを処理することができる。したがって、有線および／または無線の通信プロトコルおよび／または技術を用いて、データベース２１２を同期することができ、通信を行うことができる。
【００４８】
ルート追跡データ収集装置２２０は、各々のプロバイダのデータセンタ内に存在する実在マシンまたは仮想マシンである。これらの実在マシンまたは仮想マシンの各々は、自律システム（ＡＳ）２３０またはルーティングドメインに属する。動作時、ルート追跡データ収集装置２２０は、自身のＡＳ２３０および他のＡＳ２３０内のルータ２４０、標的コンピューティング装置２５０、および境界ゲートウェイプロトコル（ＢＧＰ）ルータ２６０（境界ルータ２６０とも知られている）までの経路に関連する遅延を測定する。
【００４９】
ＡＳ２３０は、コンピューティング装置２５０の郵便番号として考えられてもよい。すなわち、各々のＡＳ２３０は、ＩＳＰに基づいたインターネットの近隣としてみなすことができ、必ずしも地理的な近隣とは限らない。各ＡＳ２３０は、境界ゲートウェイプロトコル（ＢＧＰ）ルータ２６０（境界ルータ２６０とも知られている）およびＡＳ２３０のルーティングポリシーを実装し、隣接するＡＳ２３０に位置するＢＧＰルータ２６０との接続を維持する他のルータ２４０を含む。出願の時点では、グローバルインターネット上のＡＳの数は、５４０００を超えている。
【００５０】
より正式には、ＡＳ２３０は、単一の管理実体（例えば、大学、企業、事業部）を代表する共通ネットワーク管理者（または管理者グループ）によって管理されている単一且つ明確に定義されたルーティングポリシーに従って、接続されたＩＰネットワークグループである。ＡＳ２３０内の所定のＩＰネットワークにおけるノードは、同様のネットワークプレフィックスを共有し、そのプレフィックスに含まれる個々のＩＰアドレスを利用してインターネットに接続する。殆どの自律システム２３０は、複数のネットワークプレフィックスを有する。ＡＳ２３０は、ＴＣＰ／ＩＰネットワークにおいてドメイン間のルーティングを行うために使用される外部ゲートウェイプロトコル（exterior gateway protocol、ＥＧＰ）であるＢＧＰを用いて、境界ルータ２６０の間でルーティングメッセージを交換することによって、他のＡＳ２３０とルーティング情報を共有することができる。
【００５１】
ＢＧＰの更新を交換するために、境界ルータ２６０とそのＢＧＰピアのうち１つとの間の接続を確立することによって、ルーティング情報をＡＳ２３０内にまたはＡＳ２３０間で共有することができる。当業者なら理解するように、境界ルータ２６０間でデータを交換するプロセスは、「ピアリング」と呼ばれる。ピアリングセッションにおいて、２つのネットワークは、直接に接続され、データを直接に交換する。内部ＢＧＰピアリングセッションでは、単一のＡＳ２３０内の境界ルータ２６０と内部ルータ２４０とは、直接に接続される。外部ＢＧＰピアリングセッションでは、隣接するＡＳ２３０内の境界ルータ２６０は、互いに直接に接続される。
【００５２】
図２Ａおよび４は、ルート追跡データ収集装置２２０ａから標的コンピュータ２５０ａまでのルート追跡測定を示す。ルート追跡データ収集装置２２０ａは、インターネット制御メッセージプロトコル（Internet Control Message Protocol、ＩＣＭＰ）を用いて、第１パケットを標的コンピュータ２５０ａに送信する。また、ルート追跡データ収集装置２２０ａは、「生存時間」（time to live、ＴＴＬ）として知られ、「１」に等しいホップ制限値を第１パケットに指定する。第１ルータ２４０ａは、第１パケットを受信すると、ＴＴＬを（１から０に）減らす。ＴＴＬ＝０を有するパケットを受信すると、第１ルータ２４０ａは、標的コンピュータ２５０ａへの経路に沿って第１パケットを次のルータに送信する代わりに、「時間超過」メッセージ４０１ａをルート追跡データ収集装置２２０ａに返す。これによって、ルート追跡データ収集装置２２０ａは、標的コンピュータ２５０ａへの経路に位置する第１ルータ２４０ａまでのホップに関連する遅延を決定することができる。次いで、ルート追跡データ収集装置２２０ａは、ＴＴＬ＝２を有する第２パケットを標的コンピュータ２５０ａに送信する。第２ルータ２６０ａは、別の時間超過メッセージを返す。このように、その後の（ＴＴＬ＝３〜ＴＴＬ＝６を有する）パケットは、ルータ２６０ｂ、２６０ｃ、２４０ｂ、２６０ｄおよび２６０ｅから時間超過メッセージを誘発する。標的コンピュータ２５０ａは、ＴＴＬ＝７を有する最終パケットを受信すると、「エコー応答」メッセージ４０２をルート追跡データ収集装置２２０ａに返す。これによって、ルート追跡データ収集装置２２０ａは、最終ホップの遅延を測定することができる。
【００５３】
各ジオロケーションデータベース２１２は、ルート追跡データ収集装置２２０によって取得されたルート追跡データに加えて、ＢＧＰ更新メッセージデータ、ルーティング登録データ、ドメインネームサーバ（ＤＮＳ）データ、インターネットワークデータ、公開および私用ソースのデータマイニング、および／またはこれらのデータソースのいずれかまたは全てに関連するデータまたはこれらから得られるデータを含むがこれらに限定されない他のデータを含む。上記で説明したおよび下記で説明するように、これらのデータは、ＩＳＰおよび／または他のソースから収集することができ、ジオロケーション推定値の精度を向上させるために使用することができる。
【００５４】
ルート追跡データ収集装置のグローバル配置およびカバー範囲
図２Ｂは、図２Ａのグローバルに配置されたルート追跡データ収集システムにおけるルート追跡データ収集装置の位置を示す。システムは、地理的なアクセス可能性、人口密度およびＩＰアドレス密度などに基づいて配置された数十個〜数百個（例えば、３００以上）または数千個の収集装置を含むことができる。図２Ｂのマップ上の各ドットは、異なる物理的または仮想的なルート追跡データ収集装置を表す。
【００５５】
図２Ｃおよび２Ｄは、図２Ａおよび２Ｂに示されたものと類似するグローバルに配置されたルート追跡データ収集システムの地理的なカバー範囲を示す。図２Ｃおよび２Ｄの陰影は、インターネットプロトコル（ＩＰ）アドレスのセルまたはグループのメジアン遅延（median latency）を示す。より具体的には、図２Ｃおよび２Ｄの経緯度の１／４の各セルは、現在最も近いルート追跡データ収集装置からそのセル内の全てのＩＰのメジアン遅延に従って、陰影を付ける。図２Ｃおよび２Ｄのセル２０１が黒くなれば、ルート追跡データ収集装置がセル内の全てのＩＰに近くなり、ジオロケーション推定値の精度が高くなる。図２Ｃおよび２Ｄのセル２０１が白くなれば、ルート追跡データ収集装置がセル内の全てのＩＰに遠くなり、ジオロケーション推定値の精度が低くなると考えられる。黒は、０ｍｓの遅延を示し、白は、少なくとも１００ｍｓの遅延を示し、灰色は、中間遅延（例えば、２５ｍｓ）を示す。
【００５６】
図２Ｃおよび２Ｄの陰影は、追加の収集装置を配置すること、およびルート追跡データ収集装置によって各セルから収集されたデータに重みを付けることを支援することができる。最適なシナリオとしては、全てのセルが完全に黒くなることである。この最適なシナリオの場合、１００％の信頼性または精度でジオロケーションを推定することができる。
【００５７】
ジオロケーションサーバおよびルート追跡データ収集装置
図３Ａは、ジオロケーションサーバ１１０を示すブロック図である。ジオロケーションサーバ１１０は、ユーザインターフェイス３１２に接続されたプロセッサ３１８と、通信インターフェイス３１９と、実行可能な命令３１６を格納するメモリ３１４とを含む。これらの実行可能な命令３１６は、ジオロケーションサーバプロセス３１７を実行させる命令を含む。これらの実行可能な命令は、プロセッサ３１８によって実行されると、プロセッサ３１８に指示して、ルート追跡データおよびネットワークプレフィックス情報などに基づいてＩＰアドレスのジオロケーションを解析し、推定する。
【００５８】
プロセッサ３１８は、ユーザからのリクエストおよび／またはシステムによって生成されたリクエストを処理するためのプログラム要素を動作させる１つ以上の高速データ処理ユニットを含むことができる。多くの場合、これらの高速データ処理ユニットは、一体化したシステム（バス）コントローラ、メモリ管理制御ユニット、浮動小数点ユニット、グラフィックス処理ユニットのような専用処理サブユニット、およびデジタル信号処理ユニットなどを含むがこれらに限定されない様々な専用処理ユニットを含むことができる。また、プロセッサ３１８は、高速アクセス可能な内部メモリを含むことができ、プロセッサ自体以外のメモリをマッピングし、アドレス指定することができる。内部メモリは、高速レジスタ、様々なレベル（例えば、レベル１、２、３）のキャッシュメモリ、ＲＡＭ、ＲＯＭなどを含むがこれらに限定されない。プロセッサ３１８は、命令アドレスを介してアクセス可能なメモリアドレス空間を使用することによって、メモリ３１４および実行可能な命令３１６にアクセスすることができる。プロセッサ３１８は、命令アドレスを構築および復号することによって、メモリ状態および／または実行可能な命令を有する特定のメモリアドレス空間までの回路経路にアクセスすることができる。
【００５９】
通信インターフェイス３１９は、多くのインターフェイスアダプタを受け入れる、それらに接続するおよび／またはそれらと通信することができる。これらのインターフェイスアダプタは、一般的にアダプタカードの形を有するが、必ずしもアダプタカードの形を有する必要がない。これらのインターフェイスアダプタは、入力出力（Ｉ／Ｏ）インターフェイス、記憶インターフェイスおよびネットワークインターフェイスなどを含むがこれらに限定されない。例えば、通信インターフェイス３１９に含まれたネットワークインターフェイスを用いて、図２Ａのルート追跡データ収集装置３２０に情報を送信することができ、当該収集装置から情報を受信することもできる。
【００６０】
ユーザインターフェイスディスプレイ３１２は、ビデオインターフェイスからの信号を受信するインターフェイス（例えば、ＤＶＩ回路およびケーブル）を備えた陰極線管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）系モニタを含むことができる。代替的に、ユーザインターフェイスディスプレイ３１２は、タッチスクリーンおよび／または他の情報表示装置を含むことができる。ビデオインターフェイスは、メモリ３１４に記憶され且つプロセッサ３１８によって実行される実行可能な命令３１６によって生成された情報を合成する。実行可能な命令３１６は、ジオロケーションサーバプロセス３１７を含み、ジオロケーションサーバプロセス３１７は、１つ以上のルート追跡データ収集装置２２０から得られたデータを処理および解析するための命令セットを備える。ユーザインターフェイスディスプレイ３１２は、Apple（登録商標）OS、Windows（登録商標）OS、Linux（登録商標）、Unix（登録商標）などのオペレーティングシステムおよび／またはオペレーティング環境によって提供された従来のグラフィックユーザインターフェイスを含むことができる。ユーザインターフェイスディスプレイ３１２は、テキスト機能および／またはグラフィック機能を介して、プログラム要素および／またはシステム設備の表示、実行、対話、操作および／または作動を可能にすることができる。ユーザインターフェイスディスプレイ３１２は、コンピュータシステムに作用、対話および／または作動することができる機能をユーザに提供する。ユーザインターフェイスディスプレイ３１２は、それ自体および／または同様のものを含む要素集合内の他の構成要素と通信することができる。ユーザインターフェイスディスプレイ３１２は、プログラム要素、システム、ユーザ、データ通信、リクエスト、および／または応答を包含、通信、生成、取得および／または提供することができる。
【００６１】
図３Ｂは、例示的なルート追跡データ収集装置２２０を示すブロック図である。ルート追跡データ収集装置２２０は、サーバ１１０内の通信インターフェイス３１９およびプロセッサ３１８と各々類似する通信インターフェイス３３２およびプロセッサ３２４を含む。また、ルート追跡データ収集装置２２０は、１つ以上の標的コンピューティング装置（例えば、図２Ａのルータ２４０および標的コンピューティング装置２５０）からのルート追跡データを収集するための命令３２９を含む実行可能な命令３２８を記憶するメモリ３２６を含む。
【００６２】
ルート追跡データおよびルート追跡データの収集
図１および４は、ルート追跡データシステムの動作原理を示す。ルート追跡を行うために、ルート追跡データ収集装置２２０ａは、インターネット制御メッセージプロトコル（Internet Control Message Protocol、ＩＣＭＰ）を用いて、第１パケットを標的コンピュータ２５０ａに送信する。また、ルート追跡データ収集装置２２０ａは、「生存時間」（time to live、ＴＴＬ）として知られ、「１」に等しいホップ制限値を第１パケットに指定する。第１ルータ２４０ａは、第１パケットを受信すると、ＴＴＬを（１から０に）減らす。ＴＴＬ＝０を有するパケットを処理すると、第１ルータ２４０ａは、標的コンピュータ２５０ａまでの経路に沿って第１パケットを次のルータに送信する代わりに、「時間超過」メッセージ４０１ａをルート追跡データ収集装置２２０ａに返す。これによって、ルート追跡データ収集装置２２０ａは、標的コンピュータ２５０ａまでの経路上に位置する第１ルータ２４０ａまでのホップに関連する遅延を決定することができる。次いで、ルート追跡データ収集装置２２０ａは、ＴＴＬ＝２を有する第２パケットを標的コンピュータ２５０ａに送信する。第２ルータ２６０ａは、別の時間超過メッセージを返す。このように、その後の（ＴＴＬ＝３〜ＴＴＬ＝７を有する）パケットは、ルータ２６０ｂ、２６０ｃ、２４０ｂ、２６０ｄおよび２６０ｅから時間超過メッセージを引き出す。標的コンピュータ２５０ａは、ＴＴＬ＝８を有する最終パケットを受信すると、「エコー応答」メッセージ４０２をルート追跡データ収集装置２２０ａに返す。これによって、ルート追跡データ収集装置２２０ａは、最終ホップの遅延を測定することができる。
【００６３】
ルート追跡データ収集装置２２０ａは、ＴＴＬを増やすたびに、パケットを送信し、トランシットルータからの「ＴＴＬ超過」応答４０１ａ、４０１ｂ、４０１ｃ．．．を監視することによって、標的コンピュータ２５０ａまでの経路上に位置する連続ホップおよび標的コンピュータ２５０ａまでの往復時間の両方を見出す。ルート追跡データ収集装置２２０ａは、収集された「ＴＴＬ超過」応答を使用して、ＩＣＭＰパケットがターゲット装置２５０ａに到達し且つＩＣＭＰエコー応答４０２を返すまでに通過したルータのリストを構築する。
【００６４】
収集されたルート追跡データは、対応するルート追跡データ収集装置２２０の識別子および／またはＩＰアドレスを含む追跡ルート内の各装置の識別子を含む。含まれたＩＰアドレスは、グローバルまたはローカルコンピュータネットワークの一部であるルータを表すことができる。また、ルート追跡データは、ルート追跡データ収集装置２２０がルータから応答を受信するために要した時間と、ルート追跡データ収集装置２２０が標的コンピューティング装置からＩＣＭＰエコー応答を受信するために要した時間とを含む。
【００６５】
必要に応じて、ジオロケーションサーバ１１０は、ルート追跡データ収集装置２２０によって取得されたルート追跡データを受信し、処理することによって、以下に示すようなデータ構造で、人間可読中間フォーマットを生成することができる。
【００６６】
【数１】
2018521610.tif 000004
【００６７】
以下には、tr_base_fieldsデータフォーマットのルート追跡データの一例を示す。ジオロケーションサーバプロセスの説明を簡略化するために、各フィールドは、単独の行に列挙される。
【００６８】
【数２】
2018521610.tif 000005
【００６９】
ジオロケーションに使用されるフィールドは、次のもの、すなわち、２：タイムスタンプ（１９７０年１月１日以降の秒数、すなわち、ＵＮＩＸエポック）、７：収集装置名（各収集装置の特有の識別子、例示の収集装置は、ニューヨーク市にある）、８：ルート追跡の目標ＩＰアドレス、１１〜２１：ルート追跡ホップ（ネットワークトポロジーに従って変動する可変数）を含む。
【００７０】
各ホップは、コンマで区切られ、ホップＩＰ（応答を受信しなかった場合、ｑ）、ミリ秒の往復時間（ＲＴＴ）、ＴＴＬ、リバースＴＴＬ、および０以上のＭＰＬＳラベルからなるサブリストを含む。
【００７１】
いくつかの実現例において、ジオロケーションサーバプロセスは、各ホップから得られたＲＴＴ値であるルート追跡データ収集装置の遅延に基づいている。上記の例で示すように、１回のルート追跡で複数の応答ホップを生成し、各ホップは、収集装置（この場合、ニューヨーク市に位置する収集装置）のＩＰおよび往復時間（ＲＴＴ）を有する。ジオロケーションサーバプロセスは、各ルート追跡を個々のタプル（収集装置の所在都市、ＩＰ、ＲＴＴ）または収集装置のエッジ遅延に分解する。
【００７２】
この例の収集されたルート追跡データにおける第１２行：６３．２５１．２６．２９，０．３６３，２，２５４を検討する。ＩＰアドレス６３．２５１．２６．２９は、収集装置からの往復時間が０．３６３ｍｓ（ＲＴＴ）である。いくつかの実現例において、ジオロケーションサーバプロセスは、ホップの第３フィールドまたは第４フィールド（ＴＴＬおよびリバースＴＴＬ）を考慮しない場合がある。特定の整数識別子を用いて、各都市を表すことができる。例えば、ニューヨーク市のジオネームＩＤは、５１２８５８１である。ニューヨーク市に所在するルート追跡データ収集装置からのホップは、（５１２８５８１，６３．２５１．２６．２９，０．３６３）というタプルとして表すことができる。
【００７３】
光ファイバの速度制約によって、１ｍｓのＲＴＴは、大きな円周または往復経路に沿って約１００キロを移動した可能な最大距離に対応する。すなわち、このホップの場合、０．３６３ｍｓのＲＴＴでは、ニューヨーク市に位置するルート追跡データ収集装置から、ＩＰアドレス６３．２５１．２６．２９を有する装置までの最大距離は、３６．３キロ（２２．６マイル）である。場合によって、データセンタを離れる時に初期遅延があるため、このＩＰは、同一のデータセンタに配置されている可能性が高い。この証拠の他に、他のルート追跡からの追加測定値による支持によって、ジオロケーションサーバプロセスは、ルート追跡データ収集装置が配置されている都市の緯度および経度、並びにこの収集装置によってカバーされる半径に基づいて、ＩＰジオロケーションをより精確にすることができる。ジオロケーションサーバプロセス分析は、光速度の考慮基づいて、ジオロケーションサーバから引き出される推論を確証する。
【００７４】
マルチプロトコルラベルスイッチング（ＭＰＬＳ）およびジオロケーション
場合によって、ルート追跡ホップは、行末にマルチプロトコルラベルスイッチング（ＭＰＬＳ）ラベルを含むことがある。上記の行１５、１６および１７に示すように、各々のルート追跡ホップは、ＭＰＬＳラベル５７６２４１、５１９２６６および１６０１３でそれぞれ終わる。これらのＭＰＬＳホップのＲＴＴは、しばしば、ＭＰＬＳトンネル送出ホップのＲＴＴに対応し、以下で図６Ａを参照してより詳細に説明するようにより大きい妥当半径をもたらすため、遅延の測定および比較のために、これらのＭＰＬＳホップを破棄することができる。複数の測定値を検討する場合、ＭＰＬＳホップを削除することによって、より厳密な妥当性エンベロープを提供することができる。したがって、いくつかの実現例において、ＭＰＬＳホップをフィルタリングすることによって、統計的に妥当な半径を減少させ、測定値を改善することができる。
【００７５】
例示のルート追跡データからＭＰＬＳラベルを破棄すると、以下のように、ジオロケーションを行うためのタプルのリストを生成することができる。各タプルにおいて、第１要素は、ニューヨーク市に位置する収集装置のジオネームＩＤ（５１２８５８１）およびルート追跡の起点に対応する。
（５１２８５８１，６３．２５１．２６．２９，０．３６３）
（５１２８５８１，７４．２１７．１６７．７５，１．２９７）
（５１２８５８１，１２９．２５０．２０５．８１，１．１７１）
（５１２８５８１，１２９．２５０．３．２５，１１４．４４６）
（５１２８５８１，８３．２１７．２２７．２２，１２３．００２）
（５１２８５８１，２１２．３９．７０．１７４，１２５．６１３）
（５１２８５８１，８８．２０３．２１５．２５０，１２４．９６７）
なお、最後のホップ内のＩＰアドレスは、８８．２０３．２１５．２５０であり、目標ＩＰアドレス（フィールド８）と同様である。これは、ルート追跡内の最終標的装置が、ルート追跡データ収集装置によって行われたプロービングに応答または反応したことを意味する。
【００７６】
エッジ遅延の重なりを用いたジオロケーション
いくつかの実現例において、ルート追跡データ収集装置のエッジ遅延は、図２Ｂに示すグローバルに配置されたルート追跡データ収集装置によって行われたルート追跡に依存することができる。場合によって、総数３００以上の収集装置は、一日に５百万を超える測定を行うことができる。ジオロケーションサーバは、各エッジの複数の測定値に基づいて、統計的な推測を生成することができる。各々のルート追跡データ収集装置に埋め込まれたタイマは、各収集装置からＩＰアドレスまでの妥当半径を定義するために利用されるＲＴＴの測定値に、ノイズを追加することができる。測定値の欠陥またはノイズを考慮するために、ジオロケーションサーバは、異常値を特定するための改良トンプソンＴａｕテスト（Modified Thompson Tau test）を用いて、（潜在的または人為的に）低いＲＴＴを有する異常値を排除することができる。計算上の便宜として、各収集装置エッジの遅延の２５％値を使用すると、改良トンプソンＴａｕテストの代わりに、異常値を合理的に排除することができる。以下、２５％値を使用する。しかしながら、このことは、本技術の態様を定義するものではなく、異常値を排除できる多くの方法のうち、１つとして見なすべきである。異常値を減らすまたは排除するための他の可能性として、５％値、１０％値、１５％値、中央値、モード、または他の適切な技術の使用を含むがこれらに限定されない。
【００７７】
図５は、３つのルート追跡データ収集装置によってカバーされた区域の交差を示す。いくつかの実現例において、ジオロケーションサーバプロセスは、各収集装置、例えばルート追跡データ収集装置５０１ａ、５０３ａおよび５０５ａから、標的コンピュータ装置に対応するＩＰアドレスまでの妥当半径を生成することができる。所定のＩＰアドレス、ネットワークプレフィックスおよび／または標的装置に対して、各収集装置によってカバーされる半径によって画定された円周５０９、５１１および５１３の交差部分は、ＩＰが所在する可能性がある区域５０７ａを画定する。当該区域内の都市は、そのＩＰのジオロケーション候補である。例えば、ルート追跡データ収集装置５０１ｂ、５０３ｂおよび５０５ｂによって収集されたルート追跡データに基づいて、収集装置５０１ｂ、５０３ｂおよび５０５ｂの中間の都市５０７ｂは、候補都市である可能性がある。
【００７８】
場合によって、これらの円周は、交差しなくてもよい。この場合、遅延は、ＩＰが２つ以上の収集装置の設置都市に近い、すなわち、一対の収集装置の中間点よりも収集装置の設置都市に近いことを示している。このような状況は、同一のＩＰを有する装置が２つ以上の場所に位置していることを示すため、ジオ不一致（geo-inconsistency）に分類される。これは、エニーキャストネットワークの特徴である。ジオロケーションサーバプロセスは、ジオ不一致インスタンスを特定し、対応するＩＰをエニーキャストとして標記する。
【００７９】
インターネットプロバイダが特定のＩＰの位置を変更できるため、収集されたルート追跡データを定期的にプローブすることによって、標的のジオロケーションが定常である時に、目標ＩＰアドレスまでの測定値を測定したことを確認することができる。
【００８０】
以下、実質的にハイパーテキストプリプロセッサコード（ＰＨＰ）の形式で、目標装置のプロービング、目標装置が所在する都市の特定、およびエニーキャストＩＰアドレスの特定を含むジオロケーションサーバプロセスのいくつかの機能の擬似コード表現の一例を提供する。
【００８１】
【数３−１】
2018521610.tif 000006
【００８２】
【数３−２】
2018521610.tif 000007
【００８３】
いくつかの実現例において、ジオロケーションサーバは、遅延が大きすぎて選択を単一の都市または大都市に減縮することができない場合に、ＩＰアドレスをより広い地理範囲に割り当てる。例えば、妥当な都市の最終リストが全て同じ州または地方に位置する場合、ジオロケーションサーバプロセスは、ジオロケーションを州範囲または地方範囲に割り当てることができる。ジオロケーションサーバプロセスのさらなる実装は、ＩＰを割り当てることができる全ての可能なグリッドセルを決定する。
【００８４】
ジオ遅延（geolatency）決定の例示
本社が南アフリカに位置するインターネットプロバイダＭＴＮ（ＡＳ６６３７）から起源するＩＰアドレス４１．１８１．２４５．８１を検討する。
【００８５】
以下は、ジオロケーションサーバプロセスからの出力情報である。
【００８６】
【数４】
2018521610.tif 000008
【００８７】
上記の出力情報において、下線付きフィールドは、最も近い収集装置の位置、目標ＩＰまでの遅延、測定値の数、および収集装置が位置する都市のジオネームＩＤである。この場合、最も近い収集装置は、ロンドンに位置し、ロンドンに位置する収集装置から目標ＩＰまでの遅延は、０．７ｍｓである。
【００８８】
下線付きフィールドの下方のデータは、各収集装置からの遅延の２５％値を有するタプルである。各タプルは、コンマで区切られた３つの項目、すなわち、ＲＴＴ（２５％値）、測定値の数、ジオネームＩＤを含む。
【００８９】
下線付きフィールドの直後の第１タプルが最小遅延を有するように、遅延に従ってこれらのタプルを並べる。
【００９０】
タプル（０．７，１４７８，２６４３７４３）は、１４７８個の測定値に基づいて、ロンドン（２６４３７４３）に位置する収集装置から０．７ｍｓという１番目短い測定値を有する。このタプルは、便宜上、前述した３つのフィールドの情報を繰り返している。
【００９１】
タプル（６．２，３，２６４１１７０）は、ノッティンガム（２６４１１７０）収集装置からの６．２ｍｓという２番目に短い測定値を有する。合計で３９個の収集装置都市がそのＩＰに測定値を返した。
【００９２】
ロンドンとケープタウンとの間のファイバの可能な最小ＲＴＴ遅延は、９５．７ｍｓである。ロンドンのルート追跡データ収集装置からＩＰアドレス４１．１８１．２４５．８１までの遅延がわずか０．７ｍｓであるため、ジオロケーションサーバプロセスは、光速制約に基づいて、そのＩＰがインターネットプロバイダの識別情報によって示唆されたように、南アフリカに位置していないことを確実に判断することができる。また、ジオロケーションサーバプロセスは、ロンドン収集装置からの遅延が短いため、そのＩＰの位置をロンドンに割り当てることができる。この訂正を行うために、ジオロケーションサーバプロセスは、まず、他のルート追跡データ収集装置もロンドンがそのＩＰの可能な位置であることを裏付けることを判断する。
【００９３】
例えば、以下は、ロンドンの収集装置からのＩＰアドレス４１．１８１．２４５．８１までの単一のルート追跡データである。このＩＰアドレスがロンドンに位置することを明確に宣言する前に、多くの場所からの多くのルート追跡を用いて、更なる裏付けを提供することができる。
【００９４】
【数５】
2018521610.tif 000009
【００９５】
ドメインネームシステム（ＤＮＳ）逆引き
いくつかの実現例において、ジオロケーションサーバプロセスは、可能な場合、ＩＰのＤＮＳ逆引き（ｒＤＮＳ）を用いて、推論をさらに補足することができる。プロバイダは、定義した命名規則に従って、ジオロケーション情報をルータ名にエンコードすることがよくある。上記のルート追跡例において、下線付きの８０．２３１．２１９．１８９は、同様に下線付きのｒＤＮＳ、すなわち、20.ael.edge-01-lon.as33517.netを有する。ラベルの一部「lon」は、そのＩＰアドレスがロンドンに位置することを示している。ジオロケーションサーバプロセスには、手動で得られたルールに基づくエンジンを有する。このエンジンは、必要に応じて、これらのラベルからジオロケーション情報を抽出する。これらのラベルは、物理的な遅延とは異なり、人間によって入力され、正しく管理されていない場合、間違ったことがある。しかしながら、ｒＤＮＳからのジオロケーションを遅延からのジオロケーションに組み合わせることによって、より精確なＩＰジオロケーションを得ることができる。６９．２５２．１１２．５８（se02.woburn.ma.boston.comcast.net）を例示として検討する。
【００９６】
ウォバーン（Woburn）は、ボストンの北約１５ｋｍに位置している。ジオロケーションサーバプロセスをこのＩＰアドレスに適用すると、次の結果が得られる。
【００９７】
【数６】
2018521610.tif 000010
【００９８】
ボストンは、ＩＰアドレス（６９．２５２．１１２．５８）から８．５ｍｓの最も近いルート追跡データ収集装置である。しかしながら、ｒＤＮＳは、ＩＰアドレスがマサチューセッツ州ウォバーン（Woburn）に位置するという情報を提供している。ジオロケーションサーバプロセスは、ウォバーンがこの収集装置の遅延分布範囲内の可能な都市であるか否かを検証する。これによって、ジオロケーションサーバプロセスは、ジオロケーションをボストンではなくウォバーンにより精確に割り当てることができ、ＩＰジオロケーション推定値の精度を向上させる。
【００９９】
また、いくつかの実現例において、ジオロケーションサーバは、類似のｒＤＮＳ名を見出し、遅延を用いて検証した後、自然言語処理を介してジオロケーションを割り当てることによって、ルールを自動的に発見しようとする。ジオロケーションサーバは、発見した全てのｒＤＮＳ名のデータベースを管理することによって、ルールを発見する。ＩＰｖ４の場合、アドレス空間全体の逆解析を行うことによって、現時点では１２．２億を超えるｒＤＮＳエントリを生成する。ＩＰｖ６の場合、スペースの巨大さを考慮して、グローバルオープンＤＮＳの帰納およびルート追跡されているＩＰｖ６スペースのｒＤＮＳの選択的な解析から得られたパッシブＤＮＳから、ｒＤＮＳエントリを収集する。サービスに指示して、受信したクエリおよび提供した応答の両方（リクエストのタイムスタンプ、リクエストしたドメインおよびレコードの種類、提供した応答、および任意のＤＮＳクエリおよび応答を分類する他の属性を含むがこれらに限定されない）を記録することによって、オープンＤＮＳの帰納からｒＤＮＳを収集する。
【０１００】
単純な例として、ジオロケーションサーバは、（既存のルールを検査することによって、または遅延を検討することによって）ｒＤＮＳ内の「ｎｙｃ」を含む文字列が、関連するＩＰアドレスがニューヨーク市に位置することを強く示すことを発見することができる。現在、ＩＰｖ４には２６０万件を超えるｒＤＮＳエントリがあるが、その多くは、現在では商用プロバイダによってニューヨーク市に割り当てられていない。
【０１０１】
６７．１７．８１．１９７（loopO.csl.NYC2.NYC.gblx.net）を検討する。現時点では、３つの異なる商用プロバイダは、このＩＰアドレスを米国テキサス州ダラス市、エクアドル（都市なし）、または米国（都市なし）に各々割り当てている。このＩＰアドレスは、ＮＹＣに位置する場合、遅延上一致するが、テキサス州またはエクアドルに位置する場合、完全に不可能である。現在のところ、全てのＩＰｖ４空間には１００個を超える.nyc.glbx.netのｒＤＮＳレコードがあって、全ての遅延は、ＩＰアドレスがニューヨーク市に位置する場合と一致している。また、「ｎｙｃ」を含む多数のｒＤＮＳルールも、ニューヨーク市に関連している。したがって、ジオロケーションサーバは、ｒＤＮＳ内の文字列「nyc.gblx.net」が、ニューヨーク市に割り当てられた関連するＩＰアドレスを強く示すことを発見することができ、それによって、対応するルールを自動的に作成し、作成したルールをルールに基づくｒＤＮＳ処理エンジンに追加することができる。
【０１０２】
公開データソースおよび私用データソース
いくつかの実現例において、ジオロケーションサーバは、本明細書に記載の技術を用いて更なる検証を行うために、公開ソース、私用ソースおよび準私用ソースから、可能な物理アドレスを特定する。これらのソースは、他の方法で公開されていない特定の物理アドレスを見つけるためのデータセンタの掲示板または企業のキャリアページ、プルダウンメニューでルータ位置を提供するルートルッキングメガネ、複数の場所に位置する大手チェーン店のような、ＩＰアドレスに結び付けることができる店舗位置、および数十個のグローバルおよびローカルインターネットルーティングレジストリ（ＩＲＲ）からのプレフィックス登録データを含むが、これに限定されない。
【０１０３】
上述した技術の一例として、１１９カ国に位置しており、３万６千軒を超えるマクドナルド（登録商標）レストランを検討する。これらの店舗の多くには番号が付けられており、数千軒が上記のｒＤＮＳデータに見付けられる。以下の２つのＩＰアドレスおよびそのｒＤＮＳエントリを検討する。
・ip=206.59.233.82 fqdn=nmd.mcdl8734.mia.wayport.net
・ip=206.59.233.83 fqdn=ethl-l.nmd.mcdl8734.mia.wayport.net
これらの２つのＩＰアドレスは、明らかにマクドナルドの店舗番号１８７３４を参照している。公開ウェブサイトを参照することによって、この店舗は、マイアミの中心部から約１２マイル離れ、1930 palocka Blvd、Opa-Locka (Dade County)、FL、33054に位置する。このように見付けた可能なジオロケーションは、本明細書に記載された他の方法でさらに検証することができる。
【０１０４】
エニーキャスト例
別の例として、標的装置がエニキャストＩＰを有する場合、ジオロケーションサーバプロセスから異なる結果を得ることができる。以下に示すＩＰアドレス１９９．２７．１３５．１０１の結果を検討する。
【０１０５】
【数７】
2018521610.tif 000011
【０１０６】
上記の例に示されている第１行の下線付き値７１９１は、地理上一致していない収集装置の都市ペアの数を表している。上記のＩＰアドレスは、４８８７３９８（シカゴ）から０．４ｍｓでありながら、４１６４１３８（マイアミ）、４７４４８７０（アシュバーン）、５８０９８４４（シアトル）、および２１４７７１４（シドニー）の各々からも０．４ｍｓである。上記のＩＰアドレスを有する単一の装置がこれらの各都市（および結果内のいくつかの他の都市）と同様に近くなることが物理的に不可能であるため、上記のＩＰアドレスがエニーキャストアドレスであることを推定することができ、「地球」というジオロケーションに割り当てることができる。
【０１０７】
ジオロケーションサンドイッチの決定
追跡ルートを、収集装置のＩＰアドレスから目標ＩＰアドレスまでのＩＰアドレスのシーケンスとして見なす。本明細書に記載された１つ以上の技術および他の技術を用いて、各ＩＰアドレスをジオロケーションに割り当てることができる。ＩＰアドレスのシーケンスをサブシーケンスまたはホップフラグメントにさらに細分することができる。いくつかの実現例において、フラグメントの最初のホップおよび最後のホップが同一の国に位置するが、１つ以上の中間ホップが他の国に位置する場合、ジオロケーションサーバは、サンドイッチアプローチを用いて、追跡ルートの一部または全てのフラグメントを検討する。
【０１０８】
サンドイッチアプローチの基礎は、追跡ルートがある国を離れて別の国に進入する可能性が殆どなく、元の国に戻るだけということである。そのようなフラグメントが見つかった場合、フラグメント内の１つ以上のＩＰアドレスの位置が間違って特定された可能性がある。フラグメント内の各ＩＰアドレスは、本明細書に記載の技術を用いて、さらに分析することができる。いくつかの実現例において、ジオロケーションサーバプロセスは、このアプローチの一般論を用いて、フラグメント内の最初のホップおよび最後のホップが一見では距離上近いが、フラグメントのホップ間の距離の合計が大きいであるルート追跡シーケンスを探す。すなわち、最初のホップから最後のホップまでの正味距離は、ホップ間の距離の合計よりも小さい。このようなＵ字形シーケンスは、例えば、２つのローカルプロバイダが、ビジネス上の理由または他の理由で、全てのマーケットにおいて物理的に接続しておらず、離れた場所でトラフィックを交換する場合に、合理的である。潜在的に間違ったジオロケーションと同様に、このような一見では異常なジオロケーションは、本明細書に記載された他の手法で検証する必要がある。
【０１０９】
サンドイッチジオロケーションの例
以下、ニューヨーク市の収集装置からオーストラリアのＩＰアドレスまでの追跡ルートを検討する。ＩＰシーケンス１１４．３１．１９９．２４２、１１４．３１．１９９．５９および１１４．３１．１９９．５８のホップ（ホップ１３、１４および１５）が各々米国、ニュージーランドおよび米国に位置するため、このＩＰシーケンスをサンドイッチとして特定する。この場合、シーケンス内の各ホップがＭＰＬＳトンネル（４列目のＭＰＬＳラベルで示されている）に位置し、ＲＴＴが個々のＩＰのものではなく、トンネルの最後のＲＴＴを反映するため、ＲＴＴは、役に立たない。
【０１１０】
【数８】
2018521610.tif 000012
【０１１１】
しかしながら、サンドイッチ内のＩＰアドレスの逆引きＤＮＳ（以下に示されている名前中の「sjc」および「ca」）のジオロケーションヒントは、全ての３つのＩＰアドレスのジオロケーションがカリフォルニア州サンノゼ（San Jose）であることを示唆している。
【０１１２】
【数９】
2018521610.tif 000013
【０１１３】
サンノゼ（San Jose）のある場所からの更なる検査によって、１１４．３１．１９９．５９は、サンノゼから２．１５７ｍｓである。光ファイバの速度制約によって、サンノゼからニュージーランドのWellingtonまでの可能な最小ＲＴＴが１０７ｍｓであるため、ニュージーランド（ＮＺ）は、妥当なジオロケーションではない。
【０１１４】
【数１０】
2018521610.tif 000014
【０１１５】
ジオロケーションサーバは、１１４．３１．１９９．５９がサンノゼから２．１５７ｍｓであると断定する。すなわち、真のジオロケーションは、サンノゼの収集装置から２１５キロ以内である。したがって、ニュージーランドは、妥当なジオロケーションではない。また、ジオロケーションサーバは、このＩＰアドレスのｒＤＮＳに埋め込まれたサンノゼ（San Jose）の空港コード「sjc」を検出することによって、サンノゼが実際のジオロケーションであることをさらに裏付け、このＩＰアドレスのジオロケーションをカリフォルニア州サンノゼ（San Jose）に訂正する。
【０１１６】
エッジ遅延ジオロケーション
いくつかの実現例において、ジオロケーションサーバは、エッジ遅延アルゴリズムを用いて、隣接するホップのジオロケーションを推測する。この方法は、追跡ルート内の最後から２番目のホップのジオロケーションが最終標的のジオロケーションを示しているか否かを調べる場合、特に最終標的が（ネットワークエンジニアによってしばしばアイボールネットワークとして呼ばれる）エンドユーザネットワークであって、逆引きＤＮＳにジオロケーションヒントが存在しない場合に、特に有用である。この場合、最後から２番目のホップは、インフラストラクチャ、例えば、データセンタの場所をｒＤＮＳに埋め込んだデータセンタルータのＩＰアドレスである。
【０１１７】
このアプローチは、ＭＰＬＳトンネル内部の追跡ルートおよびＭＰＬＳトンネル外部の隣接ＩＰアドレス間の遅延差の分布を構築することによって機能する。全てのペアのＲＴＴの間のメジアン遅延差を計算する。ペア内の一方のＩＰアドレスのジオロケーションが正しいと仮定して、計算した遅延差を用いて、ペア内の他方のＩＰアドレスのジオロケーションを推定する。ジオロケーションサーバは、次に、計算したメジアン値を各対の隣接するＩＰアドレスの推定ジオロケーションの可能な最小ＲＴＴと比較する。前者のメジアン値が後者の最小ＲＴＴよりも小さい場合、ＩＰアドレスの片方または両方のジオロケーションが正しくない可能性がある。また、いくつかの実現例において、ペア内の一方のＩＰアドレスのジオロケーションを確証した場合、ジオロケーションサーバプロセスは、他方のＩＰアドレスのジオロケーションが、隣接するＩＰアドレスから、ＲＴＴのメジアン値および光ファイバの速度によって画定された半径の範囲内に位置すると推定する。
【０１１８】
最後から２番目のホップの例
マイクロソフト（登録商標）は、ワイオミング州のシャイアン（Cheyenne）近くのララミー郡（Laramie County）にデータセンタを有する。以下に示すように、シャイアンの東部にあるニューハンプシャー州ポーツマスに位置する収集装置からの追跡ルート、およびシャイアンの西部にあるワシントン州シアトルに収集装置からの追跡ルートを検討する。
【０１１９】
【数１１】
2018521610.tif 000015
【０１２０】
両方の追跡ルートの最後から２番目のホップは、埋め込みｒＤＮＳを含む。各々のホップのｒＤＮＳは、Cys01を含み、ＣＹＳは、シャイアン（Cheyenne）のＩＡＴＡ空港コードである。最終標的の遅延が最後から２番目のホップの１ｍｓ以内にあるため、最後から２番目のＩＰアドレスと目標ＩＰアドレスとが同一のデータセンタにあることを強く示唆している。ジオロケーションサーバは、最後から２番目のホップと目標ＩＰアドレスとの間の遅延および最後から２番目のホップのｒＤＮＳを考慮して、この目標ＩＰアドレスを最後から２番目のホップと同様の位置、すなわち、ワイオミング州シャイアンに割り当てる。
【０１２１】
ＩＰエイリアスおよびＭＰＬＳラベルを使用したジオロケーション
ネットワーク接続装置（例えば、ルータ、ファイアウォールおよびスイッチ）は、通常、多くの異なるネットワークインターフェイスを有する。これらのインターフェイスの各々は、特有のＩＰアドレスを持つことができ、（多くの場合、銅線または光ファイバを介して）他の装置と物理的に接続することができる。例えば、１つのコンピュータ装置は、コンピュータ装置の（潜在的に多くの）インターフェイスに割り当てられた全てのＩＰアドレスと同様に、１つの地理位置に位置する。１つの装置に属する全てのＩＰアドレスを見出すプロセスは、エイリアス除去（de-aliasing）と呼ばれる。
【０１２２】
いくつかの実現例において、上記のジオロケーションサーバは、ＭＰＬＳラベルに基づく技術に加えて、１つ以上のエイリアス除去技術（例えば、メルカトル技術）を用いて、エイリアス化されたＩＰアドレスを見出すことができる。ジオロケーションサーバは、これらの技術を用いて、ＩＰのエイリアスセットを特定し、各セットの共通ジオロケーションを推定することができる。これらのエイリアスセットは、通常、インターネット上の１つのルータに設けれたインターフェイスを表す。その結果、ジオロケーションサーバは、全てのセットのジオロケーションをより精確に判定し、観測された多くの追跡ルートのジオロケーションを訂正し、追跡されている装置に隣接するホップの可能なジオロケーションを１人以上のユーザに通知または警告することができる。
【０１２３】
メルカトル（Mercator）技術は、選択されたＩＰアドレスの任意のポートに任意のパケットを送信し、特定のルート追跡データ収集装置の目標ではないＩＰアドレスから、ポート到達不能なメッセージの返送時間を監視することを含むことができる。ルート追跡データ収集装置の目標ではないＩＰアドレスから適切なメッセージを受信すると、このＩＰアドレスが１つ以上のＩＰエイリアスを有することを推測することができる。このように、世界中に配置されたルート追跡データ収集装置は、グローバルルート追跡で観測された全てのＩＰアドレスを目標にすることができ、妥当なＩＰエイリアスのペアを収集することができる。また、この手法によって新たに発見されたＩＰアドレスをＩＰアドレスのリストに追加して、反復的にプローブすることによって、より多くのＩＰエイリアスを発見することができる。観察された矛盾のないペアは、推移閉包プロセスを介して共通セットに集めることができる。
【０１２４】
代替的な実現例は、ジオロケーションサーバに送信された世界範囲のルート追跡データ内のＭＰＬＳラベルの共通シーケンスを観察することを含む。特定のシーケンスに対して、異なる追跡が異なるルータインターフェイスを通過する時に、ラベルが変化しないが、そのＩＰアドレスが変化する可能性がある。ジオロケーションサーバは、ＭＰＬＳラベルを用いて、異なるＩＰアドレスを同一の装置に関連付けることができる。
【０１２５】
ＭＰＬＳラベルを用いて、異なるＩＰアドレスを同一の装置に関連付けることを理解するために、図６Ａに示されたＭＰＬＳトンネル６００を検討する。ＭＰＬＳトンネル６００は、エッジＬＳＲとも呼ばれる入来ラベルエッジルータ（Label Edge Router、ＬＥＲ）６０２と送出ＬＥＲ６０６との間に接続されているいくつかのラベルスイッチルータ（label switch router、ＬＳＲ）６０４ａ〜６０４ｃ（まとめてＬＳＲ６０４という）を含む。ＬＥＲ６０２は、パケットを受信すると、パケットの転送等価クラス（Forwarding Equivalence Class、ＦＥＣ）およびパケットのラベルスイッチング経路（Label Switching Path、ＬＳＰ）を決定し、パケットのＭＰＬＳヘッダを作成し、ＭＰＬＳトンネル６００の第１のＬＳＲ６０４ａにパケットを転送する前に、適切なラベルをＭＰＬＳヘッダに挿入する。ＭＰＬＳヘッダ内のラベルは、入来ＬＥＲと送出ＬＥＲとの間のＭＰＬＳトンネル６００内のノード（この例では、ＬＳＲ６０４）を特定する。
【０１２６】
パケットを受信すると、第１のＬＳＲ６０４ａは、パケットのＭＰＬＳヘッダ内のラベルを検査することによって、パケットの宛先を判断する。しかしながら、他のルータとは異なり、第１のＬＳＲ６０４ａは、必ずしもＩＰルーティング情報を持っているとは限らない。代わりに、第１のＬＳＲ６０４ａは、単にパケットのＭＰＬＳヘッダ内のラベルを検査することによって、ＭＰＬＳトンネル６００におけるパケットの次の宛先（この場合、第２のＬＳＲ６０４ｂ）を決定する。第１のＬＳＲ６０４ａは、ＭＰＬＳヘッダを更新してから、パケットをＬＳＲ６０４ｂに転送する。同様の動作を繰り返すことによって、パケットが送出ＬＥＲ６０６に到達する。この送出ＬＥＲ６０６は、完全なＩＰルーティングテーブルを有し、パケットを適切にルーティングする。
【０１２７】
ＬＳＲ６０４は、完全なＩＰルーティングテーブルではなく、特定のＭＰＬＳラベル情報を使用して動作するため、トラフィックを比較的迅速にルーティングすることができる。しかしながら、ＬＳＲ６０４は、ＩＰルーティング情報ではなくＭＰＬＳラベルに依存するため、必ずしもトラフィックをＭＰＬＳトンネル６００の外側の宛先にルーティングできるとは限らない。具体的に、第１のＬＳＲ６０４ａは、入来ＬＥＲ６０２から、ＴＴＬ＝１のパケットを受信する場合、「時間超過」メッセージを入来ＬＥＲ６０２に返せず、パケットを第２のＬＳＲ６０４ｂに転送する。第２のＬＳＲ６０４ｂは、パケットを第３のＬＳＲ６０４ｃに転送し、第３のＬＳＲ６０４ｃは、パケットを送出ＬＥＲ６０６に転送し、送出ＬＥＲ６０６は、「時間超過」メッセージを入来ＬＥＲ６０２に返す。入来ＬＥＲ６０２がＴＴＬ＝２のパケットおよびＴＴＬ＝３のパケットを第２のＬＳＲ６０４ｂおよび第３のＬＳＲ６０４ｃに各々転送する場合、同様のことが起こる。すなわち、パケットは、送出ＬＥＲ６０６に転送され、送出ＬＥＲ６０６は、「時間超過」メッセージを入来ＬＥＲ６０２に返す。また、送出ＬＥＲ６０６は、ＴＴＬ＝４のパケットを受信することに応答して、（正確に）「時間超過」メッセージを返す。ＴＴＬ＝４にならないと、実際のエンドポイントが見えないが、結果として報告された中間ホップに到達した時間は、実際にＬＥＲ６０６に関するものである。インターネット上のＭＰＬＳトンネルの普及を考えると、ＭＰＬＳトンネルを見つけて、ＭＰＬＳトンネルの中間ホップ遅延を無視することによって、遅延を用いて、ジオロケーションを容易に特定することができる。
【０１２８】
図６Ｂは、ルート追跡データ内のＭＰＬＳラベルを用いて、特定のルータの地理位置を推定するためのプロセス６００を示す。既知のＭＰＬＳドメインを通った追跡ルートの場合、ジオロケーションサーバは、ＬＳＰを選択するために入来ＬＥＲに使用されたＦＥＣを決定する（ステップ６０２）。追跡ルート内の各ＭＰＬＳホップに対して、ジオロケーションサーバは、ＭＰＬＳホップのＩＰアドレスを追跡ルート上のある点のＭＰＬＳラベルシーケンスにマッピングする（ステップ６０４）。ジオロケーションサーバは、選択した時間枠に亘って、ＭＰＬＳドメインを通った全ての追跡ルートに対して、ＩＰアドレスのマッピングを繰り返す（ステップ６０６）。ジオロケーションサーバは、各々の特有の着信ＭＰＬＳラベルシーケンスに対応する全てのＩＰアドレスを集約し（ステップ６０８）、遅延時間、ｒＤＮＳ情報またはその両方を用いて、集約したＩＰアドレスのジオロケーションを推定する（ステップ６１０）。
【０１２９】
例として、以下の３つの追跡シーケンスを検討する。以下の表は、遭遇したＩＰアドレスとＭＰＬＳラベルを列挙する。ＭＰＬＳラベルシーケンスは、全ての３つのケースにおいて同様である。下線付きのＩＰアドレスは、同一のルータに属し、ラベルシーケンス（１３１４，１４９６，１７９３）によって特定される。斜体のＩＰアドレスは、別の共通ルータに属し、ラベルシーケンス（１３１４，１４９６，１７９３，１８０７，１６０９）によって特定される。ジオロケーションサーバは、共通のラベルシーケンスを共有する同一のＭＰＬＳドメインを通った複数の追跡シーケンスから見付けたＭＰＬＳのＩＰアドレスを同一のルータに属するものとして特定することができる。ＭＰＬＳのＩＰアドレスは、同一のルータに属するため、同様の地理位置を有する。
【０１３０】
【表２】
2018521610.tif 000016
【０１３１】
上記の技術を用いて、ジオロケーションサーバは、１つの機器に属し、したがって１つのジオロケーションに位置する可能性が高い一組のＩＰアドレスを収集する。次いで、ジオロケーションサーバは、遅延および／またはＤＮＳ情報を用いて、各組のＩＰアドレスを共通のロケーションまたはロケーションセットに設定しようとする。
【０１３２】
メルカトルサブプロセスを用いて見出したＩＰエイリアスセットの場合、ＩＰアドレス自体は、一般的に直接プローブ可能である。ジオロケーションサーバは、複数の場所から特定のメンバセットにＰＩＮＧすることによって、最も近い収集装置を検出し、遅延測定値に基づいて、一組の妥当な地理位置を割り出す。
【０１３３】
いくつかの実現例において、ジオロケーションサーバは、三角測量技術を使用して、最も近い収集装置を決定する。ジオロケーションサーバは、各セット内の全てのＩＰを逆解析することによって、空港コード、都市名または他の地理的な略称を探す。ＤＮＳ情報からの場所セットと遅延測定値からの場所セットとの交差は、より小さい潜在的な場所セットを形成する。この場所セットが空の場合、ジオロケーションサーバは、（人間が入力したものであり、誤差がある）ＤＮＳ情報を無視する。各セットのＩＰエイリアスの最終結果は、観測された全ての遅延測定値と一致し、可能な場合、ＤＮＳラベルから得られた地理的なヒントと一致する妥当な場所セットである。
【０１３４】
ＭＰＬＳラベルを用いて見出したＩＰエイリアスセットの場合、ＩＰアドレス自体は、必ずしも直接的にプローブ可能ではなく、ルート追跡を介して、他の宛先に送信することによって観測可能である。また、このようなルート追跡測定で観察された遅延情報は、そのタイミングがトンネルの終端に関連する可能性があるため、ＭＰＬＳトンネルの中間ホップを得るために使用できない。したがって、上述したように、ジオロケーションサーバは、一般的にＭＰＬＳラベルを用いて、ルート追跡から得られた遅延測定値を特定できるＭＰＬＳトンネル内の中間ホップの遅延を廃棄することができる。遅延情報の直接的なプロービングまたは精確な遅延情報の間接的な取得が不可能の場合、ジオロケーションサーバは、ＤＮＳラベル逆引きを行うことによって、ＭＰＬＳトンネルに属するＩＰエイリアスの位置を特定することができる。
【０１３５】
図７Ａおよび７Ｂは、ジオロケーションサーバプロセスに利用されたＩＰエイリアス除去技術の一例を示す。以下、ジオロケーションサーバに利用され、共通ルータ上のＩＰアドレスを特定し、セット全体のジオロケーション推定値を改善するためのメルカトル技術の一例を示す。以下の１２個のＩＰアドレスは、ＩＰエイリアスの関連セットとして特定された。
【０１３６】
【数１２】
2018521610.tif 000017
【０１３７】
ジオロケーションサーバは、図７Ａに示すプロセス７００を用いて、グラフ内の接続された要素を見つけることによって、上記のセットを特定する。すなわち、ＩＰアドレスＡのメルカトルプローブがＩＰアドレスＢを返す場合、ＩＰアドレスＡおよびＢが相関することができる。このような関連付けは、理論的にグラフ上で、有向エッジで、ＡおよびＢを各々表す２つのノードを連結したものとして描くことができる。ＡがＢのエイリアスであり且つＢがＣのエイリアスである場合、Ａ、ＢおよびＣは、互いのエイリアスである。
【０１３８】
換言すれば、プロセス７００は、センサからの任意のパケット（例えば、ＴＣＰ（Transmission Control Protocol）パケットまたはＵＤＰ（User Datagram Protocol）パケット）を、選択したＩＰアドレスを表すルータインターフェイスの任意のポートに送信することを含む。センサは、往復遅延を測定し、ポート到達不能なメッセージを監視する（ステップ７０４）。センサがポート到達不能なメッセージを受信すると、センサまたはジオロケーションサーバは、ポート到達不能なメッセージが任意のパケットの宛先とは異なるＩＰアドレスから返されたものであるかを判断する（ステップ７０６）。肯定の場合、ジオロケーションサーバは、ポート到達不能なメッセージを返したＩＰアドレスを含む宛先のＩＰアドレスが１つ以上のＩＰエイリアスを有すると判定する（ステップ７０８）。次に、ジオロケーションサーバは、全てのＩＰエイリアスが同一のジオロケーションに位置すると判断し（ステップ７１０）、上述した技術を用いてジオロケーションを推定する。
【０１３９】
上記の１２個のＩＰアドレスおよび得られた関連性は、図７Ｂに示す接続グラフによって表すことができる。図７Ｂは、全てのＩＰアドレスが関連していることを示す。図７Ｂにおいて、１２個のＩＰアドレスのうち７個が強く接続されたサブグラフを形成するため、各ＩＰアドレスは、両方向から「可視」である。すなわち、Ａをプローブする場合、コンポーネントの少なくとも１つのメンバを返し、コンポーネントの１つ以上のメンバをプローブする場合、Ａを返す。接続されたコンポーネントしか必要としないが、強く接続されたコンポーネントは、エイリアスの非常に強い証拠を提供する。
【０１４０】
上記の接続性に基づいて、ジオロケーションサーバは、同一装置に属するＩＰアドレスを推測することができ、これらのＩＰアドレスを同一の地理位置に割り当てることができる。遅延測定値は、これらのＩＰアドレスが全てカリフォルニア州サンノゼ（San Jose）に近いことを示している。これらのＩＰアドレスの全てのＤＮＳ情報は、サンノゼのグレートオークス（Great Oaks）地区を示している。例えば、図７の６８．８６．８３．４６ノード７０５をbe-17-pe02.1lgreatoaks.ca.ibone.comcast.netに変換することができる。ジオロケーションサーバによる自動分析に基づいて、１２個のＩＰアドレスは、全て米国のカリフォルニア州サンノゼのグレートオークスに位置する。
【０１４１】
現時点では、３つの商用ＩＰジオロケーションプロバイダは、これらの１２のＩＰアドレスに対して、以下のジオロケーション推定値を与えた。
【０１４２】
プロバイダ１：米国、特定の都市なし
プロバイダ２：バージニア州アッシュバーン（Virginia、Ashburn）、ジョージア州マリエッタ（Georgia、Marietta）、コロラド州デンバー（Colorado、Denver）、カリフォルニア州ロサンゼルス（California、Los Angeles）を含むいくつかの米国都市
プロバイダ３：ワシントン州シアトル（Washington、Seattle）、コロラド州デンバー（Colorado、Denver）、テキサス州ダラス（Texas、Dallas）、ジョージア州マリエッタ（Georgia、Marietta）を含むいくつかの米国都市
これらは、商用ＩＰジオロケーションデータの典型的な例である。商用ジオロケーションプロバイダは、全てのエイリアスを同一の位置に割り当てることが殆どないが、（特に国際接続ルータの場合）エイリアスを異なる国に割り当てることが珍しいことではない。
【０１４３】
トランシット木
いくつかの実施形態において、ジオロケーションサーバは、遅延およびＤＮＳ解析を用いて、国レベルで間違ったジオロケーションを特定し、その後、訂正および改良を行うことができる。これを達成するために、ジオロケーションサーバは、複数（例えば、６００以上）のピアセッションからのＢＧＰルーティングデータに対する分析を実行する。ジオロケーションサーバは、ＢＧＰデータ収集装置から、インターネット上で追跡される各ネットワークプレフィクスまでの自律システム（ＡＳ）経路に関する情報を含むＢＧＰデータを受信する。各ＡＳ経路は、ルートを交換し、一定のビジネス関係を維持する近隣自律システムを表すＡＳ−ＡＳエッジを含む。
【０１４４】
図８Ａは、ジオロケーションサーバによって生成された、インターネットの起源からコアまで遷移する単一のネットワークプレフィックスを示す。いくつかの実現例において、ジオロケーションサーバは、機械学習分類器を用いて、これらのＡＳエッジをいくつかの異なるカテゴリ（タグ）、例えば、トランシット、ピアリング、クラスタ、交換のうちの１つに分類する。地方または地域のトランシットプロバイダは、限定された地理範囲に経営するため、したがって、所在国に割り当てられたネットワークプレフィックスを遷移すると予想される。生成されたＢＧＰエッジのタグは、ジオロケーションサーバによって利用され、各ネットワークプリフィックスがインターネットの起源からコアまで遷移した状態、例えば、図８Ａに示すトランシット木を決定する。
【０１４５】
図８Ｂは、同一のトランシットエッジが所有する他のプレフィックスの仮定ジオロケーションに基づいて、検討中のプレフィックスの可能なジオロケーションを決定するためのプロセス８００を示している。ステップ８０２において、ジオロケーションサーバは、生成されたエッジタグに基づいて、検討中のプレフィックスのトランシット木を割り出す。次に、ジオロケーションサーバは、トランシット木内のエッジの全てまたは一部のプレフィックスのジオロケーションを調べる（ステップ８０４）。プレフィックスが通過すると観察された各エッジに対して、ジオロケーションサーバは、エッジを通過した全てのプレフィックスの地理分布を割り出し、そのエッジを通過した検討中のプレフィックスを観測しているＢＧＰピアの数に基づいて、地理分布に加重値を付ける（ステップ８０６）。ジオロケーションサーバは、これらの加重地理分布を、検討中のプレフィックスの国家レベルの（可能な）推奨ジオロケーションに結合する（ステップ８０８）。ステップ８１０において、ジオロケーションサーバは、トランシット木から推定地理位置を、１つ以上の第三者によって報告された検討中のプレフィックスのジオロケーションと比較する。上述したように、ジオロケーションサーバは、例えば、報告されたジオロケーションを自動的に取得することができる。推定地理位置が報告されたジオロケーションと一致しない場合、ジオロケーションサーバは、例えば上述した技術を用いて、遅延測定値を有するプレフィックスのジオロケーションを検証する（ステップ８１２）。
【０１４６】
図８Ａに示されたトランシット木の実用例は、１つの大手商業プロバイダによって米国のオレゴン州ポートランド市に割り当てられたプレフィックス１１８．１５０．０．０／２０に関するものである。このプレフィックスのトランシット木を調べると、多くのトランシットエッジが、このプロバイダによって台湾に割り当てられたプレフィックスを有し、殆どのＢＧＰピアが、これらのエッジ、特にプレフィックスの起源に最も近いエッジを観察していることは分かる。ジオロケーションサーバによって行われた採点によって、このプレフィックスの最も可能なジオロケーションは、実際に台湾であり、米国ではないことを示している。遅延測定値は、このプレフィックスが台湾に位置する可能性があるが、米国に位置する可能性が全くないことを証明している。
【０１４７】
時間上相関するルーティングイベント
いくつかの実現例において、ジオロケーションサービスは、ＢＧＰ故障履歴および不安定性データを用いて、間違ったジオロケーションを特定し、その後、訂正および改良を行うことができる。これを達成するために、ジオロケーションサーバは、複数（例えば、６００以上）のピアセッションからのＢＧＰルーティングデータから得られた、インターネット上の追跡プレフィックスの一部または全部に対して、故障および不安定性計算を実行し、同一時間に特定の行動を示すプレフィックスセットを「イベント」として特定する。これらのイベントを時間に相関させることによって、ネットワークインフラストラクチャおよびこれらのプレフィックスのルーティング経路の共通点を見出すことができる。
【０１４８】
割り出されたこれらのイベントは、しばしば、特定の地理位置における大きなネットワーク故障および復旧を表す。例えば、ジオロケーションサーバは、商業サービスが、１２１個のプレフィックス（これらのプレフィックスの９６％がインドに割り当てられている）が同時に取り下げられたイベントを観測した。同日の１５分後、ジオロケーションサーバは、これらのプレフィックスの殆どが戻されたことを観測した。この２つのイベントが９９個の共通プレフィックスを含むため、同一の物理インフラストラクチャにおける障害および復旧である可能性がある。これらのプレフィックスの殆どが地理的にインドに割り当てられたという事実は、この解釈を裏付けている。
【０１４９】
ジオロケーションサーバは、インドに位置していない少数のプレフィックスを解析することによって、潜在的に間違ったジオロケーションの候補セットを生成することができた。同一ネットワークの障害によるものではなく、プレフィックスが同時に取り下げられるおよび復旧される可能性が非常に低いが、ゼロではない。したがって、これらのプレフィックスのジオロケーションを検証する必要がある。
【０１５０】
例えば、米国ウィスコンシン州ラシーンのModine Manufacturing Companyに登録された１９８．４０．１５０．０／２４は、このようなプレフィックスの１つであった。２０１１年に、全ての利用可能な商業サービスがこのプレフィックスをインドに割り当て、殆どの商業サービスが今でもそうしている。ジオロケーションサーバは、１９８．４０．１５０．０／２４がＡＳ２１７５８（Modine Manufacturing Company）によって公告され、ＡＳ１８１０１（Reliance Communications Mumbai）を独占的に通過したことを観測した。ＡＳ１８１０１は、インドに独占的に位置し、ムンバイおよびチェンナイに多くのプレフィックスを有する。非常に驚くべきことに、彼らは、Modine社の本拠地であるウィスコンシン州ラシーン地域にもインターネットサービスを提供している。ＡＲＩＮからのレジストリは、このプレフィックスがウィスコンシン州のラシーンにあると記録している。これは、間違いなく、間違ったジオロケーションの共通原因である。
【０１５１】
遅延データは、このプレフィックスがインドのチェンナイにあることを示唆している。Modine社が２００８年１２月の記者発表でインドのチェンナイに新しい製造施設を公告したことがあるため、これは、驚くべきことではない。駐在事務所のプレフィックスを本社の物理アドレスに登録することが珍しいことではない。ジオロケーションサーバは、時間的に相関する一群のＢＧＰルーティング故障および復旧から潜在的に間違ったジオロケーションを発見することによって、このプレフィックスをチェンナイに配置し、遅延データを用いて新たなジオロケーションを検証することができる。遅延データだけではこのような間違ったジオロケーションの特定に十分であるが、ＢＧＰルーティングイベントは、より小さい地理的な規模で、特に遅延だけでは決定できない近接都市の位置を訂正および改良することができる。
【０１５２】
図９は、短期間の地域的なインターネット不安定におけるネットワークプレフィックスの集合を示す。ｘ軸は、時間を示し、ｙ軸の各「列」は、各プレフィックスを示す。図中、パターンがはっきりと現れることによって、アルゴリズム的に分類されたプレフィックスの共通の不安定パターンを示すことができる。ジオロケーションサーバは、分類内の地理的な矛盾を検索し、上述した技術を用いて、異常を検証または無効化する。
【０１５３】
エニーキャストインスタンスからの距離
いくつかの実現例において、ジオロケーションサービスは、グローバルエニーキャストネットワークに問い合わせることによって得られたＩＰアドレスの地理分布を用いて、不正確なジオロケーションを特定し、その後、訂正および改良を行うことができる。システムは、商用ＤＮＳサービスの一部として正式なＤＮＳ応答を提供し、世界中の数千万回の再帰に対する回答を与えるために、広く配置されたグローバルエニーキャストネットワークを含む。本明細書に記載の技術を用いて、エニーキャストネットワークの各インスタンスを照会する再帰の地理分布を監視することによって、地理的な異常値を発見し、可能な訂正を調べることができる。また、ｒＤＮＳと同様に、エニーキャストインスタンスのジオロケーションは、そのインスタンスに対する位置クエリの弱い識別子である。すなわち、うまく設計されたエニーキャストネットワークは、クエリをローカルに保つ傾向がある。
【０１５４】
パラメトリック経路フィッティング
いくつかの実現例において、ジオロケーションサービスは、追跡ルートエッジの下流で得られたＩＰアドレスの地理分布を用いて、間違ったジオロケーションを特定し、その後、訂正および改良を行うことができる。各追跡ルートは、ルート追跡データ収集装置から宛先ＩＰアドレスまでの経路に沿って得られた一連の連続ＩＰアドレスから構成される。その経路に沿った連続ＩＰアドレスの各ペアは、グラフの理論的な用語で有向エッジとして見なすことができる。各エッジまたは各連続エッジシーケンスに対して、ジオロケーションサーバは、特定の経路フラグメントを通過した全ての追跡ルートのエッジの下流で得られた一組のＩＰアドレスを割り出すことによって、遅延およびホップを示すデータモデルを構築する。次に、ジオロケーションサーバは、有向経路フラグメントに各々関連する各下流ＩＰアドレスセット内の地理的な異常値を探す。本明細書に記載の技術を用いて、これらの異常値の可能な訂正をさらに調べることができる。
【０１５５】
位置特定できないＩＰアドレス
いくつかの実現例において、ジオロケーションサーバは、（例えば、「地球」または大陸のような非常に広い区域以外の）合理的な特異度で、位置特定できないＩＰアドレスを特定する。このような特異度の欠如にはいくつかの理由がある。例えば、ＩＰアドレスがモバイル装置に帰属しているため、自由にローミングすることができる。ＩＰアドレスが衛星回線の他方端にある。衛星は、通常、静止軌道にあり（それによって、ＲＴＴ５００ｍｓを超える遅延を有し）、広い地理区域をカバーする広幅ビームを有する。遅延を用いて衛星接続を特定することができるが、ＩＰの実際の位置は、衛星ビームの任意位置にあってもよい。
【０１５６】
また、ＩＰアドレスは、エニーキャストであり、すなわち、ＢＧＰルーティングを介して複数の場所から公表される可能性がある。この場合、これらのＩＰアドレスは、同時に多くの異なる場所に存在するため、単一のジオロケーションを有していない。しばしば、コンテンツプロバイダは、エニーキャストルーティング技術を用いて、一般的なコンテンツのレプリカストアからエンドユーザまでの遅延を短縮する。上記に説明したように、ジオロケーションサーバは、遅延測定値に基づいて、地理的に矛盾であると特定されたＩＰアドレスをエニーキャストとして標記する。
【０１５７】
ジオロケーションプロバイダは、通常、データベースに含まれた各ＩＰアドレスを単一の地理位置に割り当てる。エニーキャストネットワークの場合、この方法は、錯誤を引き起こすことがある。例えば、８．８．８．８に位置するGoogle（登録商標）の一般的な公開ＤＮＳ再帰リゾルバを検討する。前例に使用された商用プロバイダと同様のプロバイダを用いて、ジオロケーションサーバは、以下のジオロケーションを出力する。
【０１５８】
プロバイダ１：米国カリフォルニア州マウンテンビュー（Mountain View, California, USA）
プロバイダ２：米国カリフォルニア州マウンテンビュー（Mountain View, California, USA）
プロバイダ３：米国カリフォルニア州マウンテンビュー（Mountain View, California, USA）
ジオロケーションサーバは、Google（登録商標）ＤＮＳのＩＰアドレス８．８．８．８が１１０個のルート追跡データ収集装置から５ｍｓ以内にあり、２６７０４個異なる収集装置ペア間で矛盾があるため、エニーキャスト（すなわち、多くの実際のGoogle位置）である可能性が高いことを示している。しかしながら、ジオロケーションサーバの測定結果は、ＩＰアドレス８．８．８．８を有するGoogleインスタンスのいずれも実際にマウンテンビューに位置していないことを示している。Google自身が公開した情報もこの結果を裏付けている。ジオロケーションサーバは、遅延測定値を用いて、エニーキャストプレフィックスを見つけるだけでなく、各エニキャストインスタンスの可能な位置を特定することもできる。
【０１５９】
結論
本明細書は、本発明の様々な実施形態を記載および例示したが、当業者であれば、本明細書に記載の機能を実行するため、および／または結果を得るため、および／または利点を得るために、様々な他の手段および／または構造を想到することができ、これらの変形および／または修正の各々は、本明細書に記載された本発明の実施形態の範囲内に含まれるとみなされる。より概括的に、当業者であれば、本明細書に記載された全てのパラメータ、寸法、材料および構成は、例示的であり、実際のパラメータ、寸法、材料および／または構成は、本発明の教示が使用される特定の応用に依存することを理解するであろう。当業者は、本明細書に記載のパラメータおよび構成が例示的であり、実際のパラメータおよび／または構成が本発明のシステムおよび技術が使用される具体的な用途に依存することを理解すべきである。また、当業者は、通常の実験によって、本発明の具体的な実施形態と同等するものを認識または把握することができるであろう。したがって、本明細書に記載の実施形態は、例示のみとして提示され、添付の特許請求の範囲および均等の範囲内に含まれることを理解すべきである。本発明は、具体的に説明した以外の方法で実施することができる。本明細書に記載された本発明の実施形態は、本明細書に記載された個々の特徴、システム、物品、材料、キット、および／または方法を対象とする。さらに、これらの特徴、システム、物品、キット、および／または方法の２つ以上の組み合わせが、互いに矛盾しない場合、本発明の範囲に含まれる。
【０１６０】
上述した本発明の実施形態は、多くの方法のいずれかで実施することができる。例えば、いくつかの実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いて実装されてもよい。一実施形態の任意の態様をソフトウェアの少なくとも一部に実装する場合、ソフトウェアコードは、単一のコンピュータによって提供された任意の適切なプロセッサまたはプロセッサ群または複数のコンピュータに分散された任意の適切なプロセッサまたはプロセッサ群に実行され得る。
【０１６１】
この点に関して、本発明の様々な態様は、少なくとも部分的にコンピュータ可読記憶媒体（または複数のコンピュータ可読記憶媒体）（例えば、コンピュータメモリ、１つ以上のフロッピー（登録商標）ディスク、コンパクトディスク、光学ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、他の半導体装置、または他の有形的なコンピュータ記憶媒体または非一時的な媒体）にエンコードされた１つ以上のプログラムとして具体化することができ、これらのプログラムは、１つ以上のコンピュータまたは他のプロセッサ上で実行されると、上述した技術の様々な実施形態を実現する方法を実行する。コンピュータ可読媒体は、格納しているプログラムを１つ以上の異なるコンピュータまたは他のプロセッサにロードして、上述した本発明の様々な態様を実施することができるように、移動可能である。
【０１６２】
本明細書において、「プログラム」または「ソフトウェア」という用語は、一般的な意味で、コンピュータまたは他のプロセッサに指示して、上述した本発明の様々な態様を実施するようにプログラムすることができる任意の種類のコンピュータコードまたはコンピュータ実行可能な命令セットを指す。また、この実施形態の１つの態様によれば、実行されると本発明の方法を実行する１つ以上のコンピュータプログラムは、単一のコンピュータまたはプロセッサ上に駐在する必要がなく、多くの異なるコンピュータまたはプロセッサにモジュール式で配置されても、本発明の様々な態様を実施することができる。
【０１６３】
コンピュータ実行可能な命令は、多くの形態、例えば、１つ以上のコンピュータまたは他の装置によって実行されるプログラムモジュールであってもよい。一般的には、プログラムモジュールは、特定のタスクを実行するまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的には、プログラムモジュールの機能は、必要に応じて、様々な実施形態に組み合わられてもよく、分散されてもよい。
【０１６４】
また、本明細書に記載された技術は、少なくとも１つの例示を与えた方法として具体化されてもよい。方法の一部として行われた動作は、任意の順序を実行してもよい。したがって、例示的な実施形態では連続的な動作として示されているが、例えば、例示の順序と異なる順序で、例えば、いくつかの動作を同時に行うように、実施形態を構成することができる。
【０１６５】
なお、本明細書において定義され、使用された全ての定義は、辞書定義、参照により組み込まれた文書の定義、および／または定義された用語の通常意味よりも優先する。
【０１６６】
特に明記しない限り、不定冠詞「ａ」または「ａｎ」は、本明細書および特許請求の範囲に使用された場合、「１つ以上」を意味する。
【０１６７】
「および／または」という語句は、本明細書および特許請求の範囲に使用された場合、列挙された要素の「一方または両方」を意味し、すなわち、これらの要素が一部の場合に共同に存在し、他の場合に単独に存在することを意味する。同様に、「および／または」で列挙された複数の要素は、列挙された要素のうち「１つ以上」として解釈すべきである。具体的に、「および／または」という語句によって具体的に特定された要素以外に、他の要素が、特定された要素と関連するか否かにかかわらず、必要に応じて存在してもよい。したがって、非限定的な例として、「Ａおよび／またはＢ」は、「含む（comprising）」などの開放型言語と併せて使用された場合、一実施形態において、Ａのみ（必要に応じて、Ｂ以外の要素）を含み、別の実施形態において、Ｂのみ（必要に応じて、Ａ以外の要素）を含み、さらに別の実施形態において、ＡおよびＢの両方（必要に応じて他の元素）を含むことを意味する。
【０１６８】
「または」という用語は、本明細書および特許請求の範囲に使用された場合、上記で定義した「および／または」と同様の意味を有すると理解すべきである。例えば、「または」または「および／または」は、リスト中の項目を分ける場合、包括的であり、すなわち、要素の数またはリストの少なくとも１つを含み、必要に応じてリストにない追加の項目を含むとして解釈すべきである。明白に反対の意味を示す用語、例えば、「１つのみ」または「正確に１つのみ」または「からなる」は、特許請求の範囲に使用された場合、要素の数またはリストの１つのみの要素を含むことを意味する。一般的に、本明細書に使用された用語「または」は、前方に「どちらか」、「一方」、「一方のみ」などの排他的な条件があった場合、排他的な意味（すなわち、両方ではなく、一方または他方）を意味するとして理解すべきである。「本質的に〜からなる」という用語は、特許請求の範囲に使用された場合、特許法の分野に使用される通常の意味を有するものとする。
【０１６９】
１つ以上の要素のリストを参照する「少なくとも１つ」という用語は、本明細書および特許請求の範囲に使用された場合、必ずしもリストに具体的に列挙された全ての要素の少なくとも１つを含まず、リスト内の複数の要素から選択された少なくとも１つの要素を含み、リスト内の要素の組み合わせを除外しないことを意味すると理解すべきである。また、「少なくとも１つの」という用語によって具体的に特定されたリスト内の要素以外に、他の要素が、具体的に特定されたリスト内の要素と関連するか否かにかかわらず、必要に応じて存在してもよい。したがって、非限定的な例として、「ＡおよびＢの少なくとも１つ」（または同等に「ＡまたはＢの少なくとも１つ」、または同等に「Ａおよび／またはＢの少なくとも１つ」）は、一実施形態において、少なくとも１つのＡ、場合によって２つ以上のＡを含み、Ｂを含まない（場合によって、Ｂ以外の元素を含む）ことを意味し、別の実施形態において、少なくとも１つのＢ、場合によって２つ以上のＢを含み、Ａを含まない（場合によって、Ａ以外の元素を含む）ことを意味し、さらに別の実施形態において、少なくとも１つのＡ、場合によって２つ以上のＡ、および少なくとも１つのＢ、場合によって２つ以上のＢ（場合によって、他の要素）を含むことを意味する。
【０１７０】
特許請求の範囲および上記の明細書において、「備える（comprising）」、「含む（including）」、「もつ（carrying）」、「有する（having）」、「含有する（containing）」、「関与する（involving）」、「保有する（holding）」、「構成される（composed of）」などの全ての接続用語は、開放的な意味、すなわち、限定せず含むという意味で理解すべきである。「〜からなる」および「本質的に〜からなる」という接続用語のみは、米国特許商標庁の特許審査手続書第２１１１．０３項に記載されているように、閉鎖型または半閉鎖型接続用語として理解すべきである。
【図１Ａ】
2018521610.tif 000018
【図１Ｂ】
2018521610.tif 000019
【図１Ｃ】
2018521610.tif 000020
【図２Ａ】
2018521610.tif 000021
【図２Ｂ】
2018521610.tif 000022
【図２Ｃ】
2018521610.tif 000023
【図２Ｄ】
2018521610.tif 000024
【図３Ａ】
2018521610.tif 000025
【図３Ｂ】
2018521610.tif 000026
【図４】
2018521610.tif 000027
【図５】
2018521610.tif 000028
【図６Ａ】
2018521610.tif 000029
【図６Ｂ】
2018521610.tif 000030
【図７Ａ】
2018521610.tif 000031
【図７Ｂ】
2018521610.tif 000032
【図８Ａ】
2018521610.tif 000033
【図８Ｂ】
2018521610.tif 000034
【図９】
2018521610.tif 000035
【国際調査報告】
2018521610.tif 000036
2018521610.tif 000037