(57)【要約】  ユーザデバイスに対する、インターネットプロトコル（ＩＰ）アドレスと、メディアアクセス制御（ＭＡＣ）アドレスと、ロケーションとを関係付けるための方法において、ユーザデバイスに関連する、ＩＰ・ＤＨＣＰ（ダイナミックホストコンフィギュレーションプロトコル）バインディングをドメインネームサーバ（ＤＮＳ）から受信することと、ユーザデバイスに関連するＭＡＣアドレスをＤＮＳから受信することと、ユーザデバイスに対する、ＩＰアドレスとＭＡＣアドレスとを関係付けることと、ＭＡＣアドレスを使用して、ユーザデバイスの地理的なロケーションを取得することと、ＩＰ：ＭＡＣアドレス関係と、ユーザデバイスのロケーションと、ＩＰ：ＭＡＣアドレス関係およびユーザデバイスのロケーションに対応するタイムスタンプとを有するテーブルを構築することと、ＩＰ：ＭＡＣアドレス関係と、ユーザデバイスのロケーションとを使用して、文脈コンテンツをユーザデバイスに配信することとを含む。【選択図】  図１
2016527817.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデバイスに対する、インターネットプロトコル（ＩＰ）アドレスと、メディアアクセス制御（ＭＡＣ）アドレスと、ロケーションとを関係付けるための方法において、
ユーザデバイスに関連する、ＩＰ・ＤＨＣＰ（ダイナミックホストコンフィギュレーションプロトコル）バインディングをドメインネームサーバ（ＤＮＳ）から受信することと、
前記ユーザデバイスに関連するＭＡＣアドレスを前記ＤＮＳから受信することと、
前記ユーザデバイスに対する、前記ＩＰアドレスと前記ＭＡＣアドレスとを関係付けることと、
前記ＭＡＣアドレスを使用して、前記ユーザデバイスの地理的なロケーションを取得することと、
前記ＩＰ：ＭＡＣアドレス関係と、前記ユーザデバイスの前記ロケーションと、前記ＩＰ：ＭＡＣアドレス関係および前記ユーザデバイスの前記ロケーションに対応するタイムスタンプとを有するテーブルを構築することと、
前記ＩＰ：ＭＡＣアドレス関係と、前記ユーザデバイスの前記ロケーションとを使用して、文脈コンテンツを前記ユーザデバイスに配信することとを含む方法。
【請求項２】
少なくとも部分的に、前記ユーザデバイスの前記ロケーションによって、前記文脈コンテンツを決定する請求項１記載の方法。
【請求項３】
前記ＩＰ・ＤＨＣＰバインディングと、前記ユーザデバイスのＭＡＣアドレスおよびロケーションとを、リアルタイムで周期的に受信する請求項１記載の方法。
【請求項４】
前記ＩＰ：ＭＡＣアドレス関係と、前記ユーザデバイスの前記ロケーションとを使用して、文脈コンテンツを前記ユーザデバイスに配信することは、ロケーション決定技術から前記ユーザデバイスのＩＰアドレスを切り離すことによって、前記ユーザデバイスの前記ＩＰアドレスから独立している請求項１記載の方法。
【請求項５】
前記ユーザデバイスの前記ＩＰアドレスを使用して、前記ユーザデバイスの前記ＭＡＣアドレスを決定することをさらに含む請求項１記載の方法。
【請求項６】
前記ユーザデバイスの前記ＭＡＣアドレスを使用して、前記ユーザデバイスのロケーションを決定する請求項５記載の方法。
【請求項７】
コンテンツに対する要求を修正するためのメタデータとして、前記ユーザデバイスの前記ロケーションを使用することをさらに含む請求項６記載の方法。
【請求項８】
ユーザデバイスに対する、インターネットプロトコル（ＩＰ）アドレスと、メディアアクセス制御（ＭＡＣ）アドレスと、ロケーションとを関係付けるシステムにおいて、
ユーザデバイスに関連する、ＩＰ・ＤＨＣＰ（ダイナミックホストコンフィギュレーションプロトコル）バインディングをドメインネームサーバ（ＤＮＳ）から受信するポジションマッパーエレメントと、
前記ポジションマッパーエレメントは、前記ユーザデバイスに関連するＭＡＣアドレスを前記ＤＮＳから受信し、
前記ポジションマッパーエレメントは、前記ユーザデバイスに対する、前記ＩＰアドレスと前記ＭＡＣアドレスとを関係付け、
前記ＭＡＣアドレスを使用して、前記ユーザデバイスの地理的なロケーションを取得するロケーションエンジンと、
前記ポジションマッパーエレメントは、前記ＩＰ：ＭＡＣアドレス関係と、前記ユーザデバイスの前記ロケーションと、前記ＩＰ：ＭＡＣアドレス関係および前記ユーザデバイスの前記ロケーションに対応するタイムススタンプとを有するテーブルを構築し、
前記ＩＰ：ＭＡＣアドレス関係と、前記ユーザデバイスの前記ロケーションとを使用して、文脈コンテンツを前記ユーザデバイスに配信するサーバとを具備するシステム。
【請求項９】
前記ユーザデバイスの前記ロケーションによって、前記文脈コンテンツを決定する請求項８記載のシステム。
【請求項１０】
前記ＩＰ・ＤＨＣＰバインディングと、前記ユーザデバイスのＭＡＣアドレスおよびロケーションとを、リアルタイムで周期的に受信する請求項８記載のシステム。
【請求項１１】
前記ＩＰ：ＭＡＣアドレス関係と、前記ユーザデバイスの前記ロケーションとを使用して、文脈コンテンツを前記ユーザデバイスに配信することは、ロケーション決定技術から前記ユーザデバイスのＩＰアドレスを切り離すことによって、前記ユーザデバイスの前記ＩＰアドレスから独立している請求項８記載のシステム。
【請求項１２】
前記ユーザデバイスの前記ＩＰアドレスが、前記ユーザデバイスの前記ＭＡＣアドレスを決定する請求項８記載のシステム。
【請求項１３】
前記ユーザデバイスの前記ＭＡＣアドレスが、前記ユーザデバイスのロケーションを決定する請求項１２記載のシステム。
【請求項１４】
前記ユーザデバイスの前記ロケーションが、コンテンツに対する要求を修正するためのメタデータを構成する請求項１３記載のシステム。
【請求項１５】
ユーザデバイスのロケーションを決定するための方法において、
ユーザデバイスに関連する、ＩＰ・ＤＨＣＰ（ダイナミックホストコンフィギュレーションプロトコル）バインディングをドメインネームサーバ（ＤＮＳ）から受信することと、
前記ユーザデバイスに関連するＭＡＣアドレスを前記ＤＮＳから受信することと、
前記ユーザデバイスに対する、前記ＩＰアドレスと前記ＭＡＣアドレスとを関係付けることと、
前記ＭＡＣアドレスを使用して、前記ユーザデバイスの地理的なロケーションを取得することと、
前記ＩＰ：ＭＡＣアドレス関係と、前記ユーザデバイスの前記ロケーションと、前記ＩＰ：ＭＡＣアドレス関係および前記ユーザデバイスの前記ロケーションに対応するタイムスタンプとを有するテーブルを構築することと、
前記ＩＰ：ＭＡＣアドレス関係と、前記ユーザデバイスの前記ロケーションとを使用して、文脈コンテンツを前記ユーザデバイスに配信することとを含み、
前記文脈コンテンツは、少なくとも部分的に、前記ユーザデバイスの前記ロケーションによって決定される方法。
【請求項１６】
前記ＩＰ・ＤＨＣＰバインディングと、前記ユーザデバイスのＭＡＣアドレスおよびロケーションとを、リアルタイムで周期的に受信する請求項１５記載の方法。
【請求項１７】
前記ＩＰ：ＭＡＣアドレス関係と、前記ユーザデバイスの前記ロケーションとを使用して、文脈コンテンツを前記ユーザデバイスに配信することは、ロケーション決定技術から前記ユーザデバイスのＩＰアドレスを切り離すことによって、前記ユーザデバイスの前記ＩＰアドレスから独立している請求項１５記載の方法。
【請求項１８】
前記ユーザデバイスの前記ＩＰアドレスが、前記ユーザデバイスの前記ＭＡＣアドレスを決定する請求項１５記載の方法。
【請求項１９】
前記ユーザデバイスの前記ＭＡＣアドレスが、前記ユーザデバイスのロケーションを決定する請求項１８記載の方法。
【請求項２０】
前記ユーザデバイスの前記ロケーションは、コンテンツに対する要求を修正するためのメタデータを構成する請求項１９記載の方法。
【発明の詳細な説明】
【関連技術の説明】
【０００１】
［０００１］
ロケーションベースのサービスは、ますます普及している。ロケーションベースのサービスの例は、第三者アプリケーションを使用することなくウェブサイトにアクセスすることができるスマートフォンや他のデバイスのような移動体コンピューティングデバイスのユーザに対する、ロケーションベースの状況認識コンテンツの配信である。例えば、移動体デバイスのユーザが、ワイヤレスアクセスポイントのネットワークにより監視されている地理的なエリアに入る。典型的に、移動体デバイスは、ワイヤレスアクセスポイントのうちの１つに接続されて、ネットワークへのアクセスを得るだろう。このようなワイヤレスアクセスポイントのネットワークは、典型的に、ユーザをワイヤレスにネットワークに接続させる基礎となる技術として、ワイヤレス忠実度（ＷｉＦｉ）を使用する。ＷｉＦｉネットワークの例は、ＩＥＥＥ８０２．１１ｂ／ｇ／ｎのうちの１つ以上に、または、同様なワイヤレスアクセス標準規格にしたがって実現されるものである。移動体デバイスのユーザは、移動体デバイス上のウェブブラウザを使用して、ネットワークを提供するエンティティと、監視されているエリアとに関係するウェブサイトを要求する。ユーザは、その後、例えば、ユーザのロケーションに基づいて、状況認識コンテンツを受信する。
【０００２】
［０００２］
一般的に、ＷｉＦｉは、ユーザを識別して、ロケーションベースのサービスを提供するために、各移動体デバイスに割り当てられているメディアアクセス制御（ＭＡＣ）アドレスを使用する。しかしながら、アプリケーションレイヤエンティティは、典型的に、移動体デバイスを識別する方法として、インターネットプロトコル（ＩＰ）アドレスを用いるだろう。残念ながら、ＭＡＣアドレスは、アプリケーションレイヤにおいて、ＩＰアドレスを翻訳しない、または、ＩＰアドレスに対応しないので、したがって、アプリケーションレベルにおいて、ロケーションベースのサービスを、ＷｉＦｉ接続されている移動体デバイスに提供することを困難にする。したがって、アプリケーションレイヤにおいて、ロケーションベースのサービスを移動体デバイスに提供するために、アプリケーションおよびサービスは、ＩＰアドレスをＭＡＣアドレスにマッピングする方法を要求する。
【概要】
【０００３】
［０００３］
ユーザデバイスに対する、インターネットプロトコル（ＩＰ）アドレスと、メディアアクセス制御（ＭＡＣ）アドレスと、ロケーションとを関係付けるための方法およびシステムのさまざまな実施形態を開示する。ユーザデバイスに対する、インターネットプロトコル（ＩＰ）アドレスと、メディアアクセス制御（ＭＡＣ）アドレスと、ロケーションとを関係付けるための方法の例示的な実施形態は、ユーザデバイスに関連する、ＩＰ・ＤＨＣＰ（ダイナミックホストコンフィギュレーションプロトコル）バインディングをドメインネームサーバ（ＤＮＳ）から受信することと、ユーザデバイスに関連するＭＡＣアドレスをＤＮＳから受信することと、ユーザデバイスに対する、ＩＰアドレスとＭＡＣアドレスとを関係付けることと、ＭＡＣアドレスを使用して、ユーザデバイスの地理的なロケーションを取得することと、ＩＰ：ＭＡＣアドレス関係と、ユーザデバイスのロケーションと、ＩＰ：ＭＡＣアドレス関係およびユーザデバイスのロケーションに対応するタイムスタンプとを有するテーブルを構築することと、ＩＰ：ＭＡＣアドレス関係と、ユーザデバイスのロケーションとを使用して、文脈コンテンツをユーザデバイスに配信することとを含んでいる。
【図面の簡単な説明】
【０００４】
［０００４］
図において、同一の参照番号は、特に示していない限り、さまざまな図を通して同一の部分を指す。「１０２ａ」または「１０２ｂ」のような文字記号指定を有する参照番号に対して、文字記号指定は、同一の図において存在する２つの同一の部分またはエレメントを差別化するかもしれない。すべての図において、同一の参照番号を有するすべての部分を参照番号が含むことを意図するとき、参照番号に対する文字記号指定を省略するかもしれない。  
【図１】［０００５］  図１は、ユーザデバイスに対する、ＩＰアドレスと、ＭＡＣアドレスと、ロケーションとを関係付けるためのシステムおよび方法の実施形態の機能的なブロックダイヤグラムである。
【図２】［０００６］  図２は、図１のポジションマッパーの機能的なブロックダイヤグラムである。
【図３】［０００７］  図３は、ＩＰアドレスと、ＭＡＣアドレスと、ロケーションとを関係付けるための方法の実施形態を図示しているコールフローダイヤグラムである。
【図４】［０００８］  図４は、図１のドメインネームサーバのブロックダイヤグラムと、ＩＰ：ＤＨＣＰバインディングテーブルの例である。
【図５Ａ】［０００９］  図５Ａは、ユーザデバイスに対する、ＩＰアドレスと、ＭＡＣアドレスと、ロケーションとを関係付けるための方法の実施形態を、集合的に図示しているフローチャートである。
【図５Ｂ】［０００９］  図５Ｂは、ユーザデバイスに対する、ＩＰアドレスと、ＭＡＣアドレスと、ロケーションとを関係付けるための方法の実施形態を、集合的に図示しているフローチャートである。
【詳細な説明】
【０００５】
［００１０］
単語「例示」は、「例、インスタンスまたは実例として機能する」ことを意味するように、ここで使用している。ここで「例示的」として説明する任意の態様は、必ずしも、他の態様を越えて好ましいか、または、有利であるように解釈されるべきではない。
【０００６】
［００１１］
この説明では、用語「アプリケーション」は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、および、パッチのような、実行可能なコンテンツを有するファイルも含んでいてもよい。さらに、ここで言及される「アプリケーション」は、開く必要があるかもしれないドキュメントや、または、アクセスする必要がある他のデータのような、本質的に実行可能でないファイルも含んでいるかもしれない。
【０００７】
［００１２］
この説明において使用するように、用語「コンポーネント」、「データベース」、「モジュール」、「システム」およびこれらに類するものは、ハードウェア、ファームウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、または、実行中のソフトウェアのいずれかであるコンピュータ関連エンティティを指すように意図されている。例えば、コンポーネントは、プロセッサ上で実行しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および／または、コンピュータであってもよいが、これらに限定されなくてもよい。実例として、コンピューティングデバイス上で実行されているアプリケーションと、コンピューティングデバイスとの両方が、コンポーネントであってもよい。１つ以上のコンポーネントは、実行のプロセスおよび／またはスレッド内に存在するかもしれず、コンポーネントは、１つのコンピュータ上に局所化させるか、および／または、２つ以上のコンピュータ間に分散させてもよい。さらに、これらのコンポーネントは、その上に記憶されているさまざまなデータ構造を有するさまざまなコンピュータ読取可能な媒体から実行してもよい。コンポーネントは、１つ以上のデータパケット（例えば、信号によって、ローカルシステムと分散システム中の別のコンポーネントと対話する、および／または、インターネットのようなネットワークに渡って他のシステムと対話する、１つのコンポーネントからのデータ）を有する信号にしたがうようなローカルプロセスおよび／または遠隔プロセスにより通信してもよい。
【０００８】
［００１３］
ここで使用するように、用語「ユーザデバイス」および「クライアントデバイス」は、ウェブサイトからコンテンツを受信し、情報をウェブサイトに送信することができるデバイスを含む。ユーザデバイスまたはクライアントデバイスは、静的デバイスまたは移動体デバイスとすることができる。用語「ユーザデバイス」と「クライアントデバイス」は、交換可能に使用できる。
【０００９】
［００１４］
ここで使用するように、用語「ユーザ」は、ユーザデバイス上で、または、クライアントデバイス上で、コンテンツを受信し、情報をウェブサイトに送信する個人を指す。
【００１０】
［００１５］
ここで使用するように、用語「ＭＡＣアドレス」と用語「ＭＡＣ  ＩＤ」は、デバイスに割り当てられているメディアアクセス制御（ＭＡＣ）識別子を指し、交換可能に使用できる。
【００１１】
［００１６］
図１は、ユーザデバイスに対する、ＩＰアドレスと、ＭＡＣアドレスと、ロケーションとを関係付けるシステムの実施形態の機能的なブロックダイヤグラムである。システム１００は、ユーザデバイス１０２と、ネットワーク１０６と、ルータ／スイッチ１０７と、プロキシサーバ１０８と、ウェブサーバ１１０と、ドメインネームサーバ１１５とを備える。ユーザデバイス１０２は、静的なデバイスまたは移動体デバイスとすることができ、典型的に、ウェブコンテンツにアクセスしてウェブコンテンツを見るためのハイパーテキスト転送プロトコル（ＨＴＴＰ）ウェブブラウザ１０４のようなブラウザ１０４を含んでいる移動体コンピューティングデバイスである。実施形態において、ユーザデバイス１０２は、インターネットに接続できるスマートフォンのような移動体デバイスである。ウェブサーバ１１０は、ＨＴＴＰサーバとすることができる。
【００１２】
［００１７］
実施形態において、ネットワーク１０６は、アクセスポイント１０５（各ラベル付けされた「ＡＰ」）のネットワークを構成する。例において、ＩＥＥＥ８０２．１１ｂ／ｇ／ｎに、または、別のワイヤレスアクセス標準規格にしたがった接続を使用して、移動体デバイス１０２はアクセスポイント１０５ａにワイヤレスに接続されている。ユーザデバイス１０２が接続されているアクセスポイントのロケーションを知ることと、受信信号強度インジケーション（ＲＳＳＩ）や往復時間（ＲＴＴ）のような無線パラメータを使用して、ロケーションを決定するアルゴリズムと、ＧＰＳマッピングと、これらの組み合わせと、または、別のロケーション決定技術とを含むが、これに限定されない多数の方法において、ユーザデバイス１０２のロケーションを決定できる。
【００１３】
［００１８］
ルータ／スイッチ１０７は、ルータや、スイッチや、他の機能性を含むが、これらに限定されないさまざまな機能性を備えている。ルータ／スイッチ１０７は、接続１１７を通してドメインネームサーバ１１５に接続されている。ネットワーク１１７は、ＬＡＮ、ＷＡＮ、または、別のネットワークとすることができる。さらに、別のエレメントとして示しているが、ルータ／スイッチ１０７およびＤＮＳ１１５は、ネットワーク１０６の内部に存在していてもよい。ネットワーク１０６は、ソフトウェアモジュール１２２も備えている。ソフトウェアモジュール１２２は、文脈パラメータに基づいてルーティングするための論理を有し、状況認識メタデータのフローを管理するが、その際に、ソフトウェアモジュール１２２は、ユーザデバイス１０２から受信したＨＴＴＰまたはＨＴＴＰＳの要求に対して、メタデータを、適用し、付加し、添付し、またはそうでなければ、関係付ける。インプリメンテーション例において、ソフトウェアモジュール１２２は、プロキシサーバ１０８と、インターネットコンテンツ適応プロトコル（ＩＣＡＰ）エレメント１１２と、ポジションマッパー１１４と、ロケーションエンジン１１６とによって提供される機能性を備え、管理することができ、これらのエレメントは、「状況サーバ」１３０として言及される。例において、ソフトウェアモジュール１２２によって付加されるメタデータは、ユーザデバイス１０２の状況を識別し、状況認識メタデータをプロキシサーバ１０８に提供する。状況認識メタデータは、ユーザデバイス１０２によって送られたＨＴＴＰまたはＨＴＴＰＳの要求に付加され、メタデータは、ユーザデバイス１０２の状況を規定し、ユーザデバイス１０２の状況に対応し、または、そうでなければユーザデバイス１０２の状況を識別する。ユーザデバイス１０２の状況は、例えば、ユーザデバイスが移動しているかまたは静的であるか否か、ユーザデバイスの特定のロケーション、デバイスのユーザが歩いているか、買い物をしているか、運転しているか、屋内か、屋外か否か等であってもよい。ロケーションベースの状況認識コンテンツを提供することの例は、例えば、ＩＰアドレスをＭＡＣアドレスに関係付けるシステムおよび方法とともに、アクセスポイント１０５を使用するロケーションエンジンかまたは他のＩＰベースのシステムかによって決定される１つのまたは別のロケーションに、ユーザがいるか否かに基づいて、ユーザに提供されるウェブサイト調整コンテンツである。
【００１４】
［００１９］
インプリメンテーションに依存して、ソフトウェアモジュール１２２は、プロキシサーバ１０８と、ＩＣＡＰエレメント１１２と、ポジションマッパー１１４と、ロケーションエンジン１１６とのうちの１つ以上を管理して、ユーザデバイス１０２の状況を識別し、ＨＴＴＰまたはＨＴＴＰＳ要求の一部として、状況認識メタデータを、提供し、付加し、またはそうでなければ、関係付ける。ＩＣＡＰエレメント１１２とプロキシサーバ１０８の間の通信は、ＨＴＴＰヘッダ修正機能性を実現するための標準的な方法を提供する。
【００１５】
［００２０］
ロケーションエンジン１１６は、ユーザデバイス１０２の現在のロケーションを提供する。ロケーションエンジン１１６は、三角測量、待ち時間データ、アクセスポイント接続データ、または、ユーザデバイス１０２の現在のロケーションを検出するための他の方法のうちの１つ以上を使用できる。典型的に、移動体デバイス１０２は、ＭＡＣアドレスによって、ネットワーク１０６に対して識別され、ＩＰアドレスが割り当てられる。ＩＰアドレスは、動的に割り当てられるＩＰアドレスとすることができる。
【００１６】
［００２１］
実施形態において、ポジションマッパー１１４は、論理接続１６０を通してルータ／スイッチ１０７およびネットワーク１０６を介して、ユーザデバイス１０２に関連する、ＩＰ・ＤＨＣＰバインディングとＭＡＣアドレスとをＤＮＳ１１５から受信する。代替的に、ＤＮＳ１１５は、ネットワーク１０６に直接接続されていてもよく、または、ルータ／スイッチ１０７の機能性は、ネットワーク１０６の一部とすることができる。ポジションマッパー１１４は、ユーザデバイス１０２に関連するロケーション情報をロケーションエンジン１１６から受信する。ポジションマッパー１１４は、ユーザデバイス１０２に対応するＩＰおよびＭＡＣアドレス関係を使用して、テーブル１２０を構築する。テーブル１２０は、ＩＰ・ＭＡＣアドレスマッピング（ＩＰ：ＭＡＣ）と、ユーザデバイス１０２に対するロケーション確定と、ロケーション確定に対応する時間を識別するタイプスタンプとを含む。この方法において、ＤＮＳ１１５を使用してリアルタイムでＩＰ：ＭＡＣアドレスマッピングを提供し、ロケーションエンジン１１６を使用して、ＭＡＣアドレスに基づいてデバイスロケーションを提供することにより、ポジションマッパー１１４は、何らかの特定のＩＰ：ＭＡＣアドレスマッピングに基づかない。なぜなら、ポジションマッパー１１４は、ロケーション決定技術から、ユーザデバイス１０２のＩＰアドレスを切り離すからである。実施形態において、ユーザデバイス１０２のＭＡＣアドレスを使用して、ユーザデバイス１０２のロケーションを決定する。ＩＰ・ＭＡＣアドレス関係は、ＤＮＳ１１５から受信した、ＩＰ・ＤＨＣＰバインディングとＭＡＣアドレスとから作成され、ポジションマッパー１１４によって維持されるので、さまざまなアプリケーションレイヤからの要求は、応答中にロケーション情報を含むことができる。システムが集中化されていて、各ＡＰがそれ自身のＤＨＣＰテーブルを有する実施形態では、マッピングは、ユーザデバイス１０２とそのロケーションを識別するために、ＡＰ情報とともに、ＭＡＣアドレスおよびＩＰ情報も含むだろう。
【００１７】
［００２２］
特に、ポジションマッパー１１４は、ユーザデバイス１０２のＩＰアドレスを取り、ＩＰアドレスとＩＰ：ＭＡＣアドレスマッピングとに基づいて、ユーザデバイス１０２に対するＭＡＣアドレスを決定し、ユーザデバイス１０２のＭＡＣアドレスに基づいて、ロケーションエンジン１１６からのロケーション情報を要求する。ポジションマッパー１１４は、その後、状況認識メタデータソフトウェア１２２の動作の一部として、ユーザデバイス１０２に対する文脈情報を要求したＩＣＡＰエレメント１１２に対して、ロケーション情報を戻す。この方法において、ユーザデバイス１０２に関連するロケーション情報は、ポジションマッパー１１４からＩＣＡＰエレメント１１２に送られる。ＩＣＡＰエレメント１１２は、ユーザデバイス１０２のロケーション情報を有する修正ＨＴＴＰヘッダを、プロキシサーバ１０８に提供する。プロキシサーバ１０８は、修正ヘッダを受信し、修正ＨＴＴＰ要求をウェブサーバ１１０に提供する。したがって、ユーザデバイス１０２の現在のロケーションを有する修正された要求は、ウェブサーバ１１０が、ユーザデバイス１０２のロケーションに基づいて、文脈コンテンツをユーザデバイス１０２に提供できるようにする。
【００１８】
［００２３］
図２は、図１のポジションマッパー１１４を実現するのに使用できるコンピューティングデバイス２００の機能的なブロックダイヤグラムである。実施形態において、コンピューティングデバイス２００は、サーバデバイスのような独立型のコンピューティングデバイスとして実現することができる。実施形態において、コンピューティングデバイス２００は、状況サーバ１３０（図１）の一部またはすべてとすることができる。
【００１９】
［００２４］
実施形態において、コンピューティングデバイス２００は、システムバス２１２を通して動作可能に接続されている、メモリ２０２と、プロセッサ２０４と、データベース２０６と、入力／出力（Ｉ／Ｏ）エレメント２０８とを備えている。メモリ２０２は、任意のタイプの揮発性メモリまたは不揮発性メモリと、共有メモリと、分散メモリとを備えることができ、そして、実施形態において、ポジションマッパーソフトウェアモジュール１１４およびアプリケーションソフトウェアモジュール２１０を記憶する不揮発性メモリとすることができる。
【００２０】
［００２５］
プロセッサ２０４は、ポジションマッパーソフトウェアモジュール１１４およびアプリケーションソフトウェアモジュール２１０を実行する汎用または特殊目的のマイクロプロセッサとすることができる。システムバス２１２は、上述したエレメントを互いに結合させて、それらの相互運用を可能にする物理および論理接続を備えることができる。
【００２１】
［００２６］
実施形態において、ポジションマッパーソフトウェアモジュール１１４は、ポジションマッパーソフトウェアモジュール１１４内のプロセスまたは実行スレッドとして図示している多数の機能を実行する。
【００２２】
［００２７］
ＩＰ・ＭＡＣ・ロケーションスレッド２２２は、バインディングテーブル４１０（図４）と、ポジションマッパーサンプルテーブル１２０（図１）とを作り出すために、ＩＰアドレス、ＭＡＣアドレスおよびロケーションを相関させるスレッドプロセスであり、これらのそれぞれのインスタンスは、データベース２０６中に位置するように図示されている。
【００２３】
［００２８］
移動体ビューキャッシュスレッド２２４は、関係するＩＰアドレスとＭＡＣアドレスとを有するロケーション情報を記憶するスレッドプロセスである。関係するＩＰアドレスとＭＡＣアドレスとを有するロケーション情報を記憶することは、各クエリに対するロケーション情報を得るためにロケーションエンジン１１６に対して同期コールを行う必要なく、情報のより迅速なルックアップを可能にする。移動体ビューキャッシュスレッド２２４の複数のインスタンスは、同時に実行してもよい。
【００２４】
［００２９］
ＲＥＳＴサーバスレッド２２６は、他の第三者アプリケーションに対して、ＪａｖａＳｃｒｉｐｔ（登録商標）Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）インターフェースを見せるプロセススレッドであり、これにより、ＩＰアドレスにまたは移動体ビューキャッシュスレッド２２４中の他の情報に基づいて、これらの第三者アプリケーションが、コンピューティングデバイス２００からのロケーション情報を要求できるようになる。用語「ＲＥＳＴ」は、ワールドワイドウェブのような分散システムに対して使用される「Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｆｅｒ」ソフトウェアアーキテクチャを示している。実施形態において、ＲＥＳＴサーバスレッド２２６は、ＪＳＯＮサーバによって実現できる。ＲＥＳＴサーバスレッド２２６の複数のインスタンスは、同時に実行してもよい。
【００２５】
［００３０］
移動体ビューリアルタイム追跡「ＲＴＴ」スレッド２２８は、各ユーザデバイスの追跡セッションを管理するプロセススレッドである。規定された時間期間と、特定のＭＡＣアドレスとに対して、追跡セッションを維持できる。移動体ビューＲＴＴスレッド２２８に対する２つの入力パラメータは、ロケーション要求をどれ位の頻度で報告するかと、ユーザデバイスをどれ位長く追跡するかである。移動体ビューリアルタイム追跡「ＲＴＴ」スレッド２２８の複数のインスタンスを、同時に実行してもよい。
【００２６】
［００３１］
ロケーションエンジンインターフェース２３２は、ロケーションエンジン１１６に対するライブラリインターフェースである。
【００２７】
［００３２］
ルータ２３４は、ネットワーク１０６（図１）に対するアクセスを提供する任意のルータとすることができ、一般的に、インターネットアクセスを提供する任意のルータとすることができる。
【００２８】
［００３３］
基準時間スレッド２３６は、特定のユーザデバイスに対してロケーション確定が提供された時間に対応するタイムスタンプを提供する。
【００２９】
［００３４］
図３は、ＩＰアドレスと、ＭＡＣアドレスと、ロケーションとを関係付けるための方法の実施形態を図示しているコールフローダイヤグラムである。ダイヤグラム３００は、参照のために、図１中のさまざまなエレメントの動作を図示している。例として、コール３０２は、ユーザデバイス１０２からネットワーク１０６に提供されたダイナミックホストコンフィギュレーションプロトコル（ＤＨＣＯ）要求を表している。説明を容易にするために、図３では、アクセスポイント１０５と、ネットワーク１０６と、ルータ／スイッチ１０７と、ＤＮＳ１１５との機能性が、組み合わされている。コール３０２に応答して、アクセスポイント１０５ａ、ルータ／スイッチ１０７およびネットワーク１０６は、インターネットプロトコル（ＩＰ）アドレスをユーザデバイス１０２に対して割り当てるコール３０４を提供し、したがって、ユーザデバイス１０２がネットワーク１０６を通してアクセスして通信できるようになる。ＡＰ１０５および／またはＤＮＳ１１５および／またはルータ／スイッチ１０７によって、ＩＰアドレスが割り当てられる。ＤＮＳ１１５は、ユーザデバイス１０２に割り当てられているＩＰアドレスを、ユーザデバイス１０２のＭＡＣアドレスと関係付けるＩＰ：ＤＨＣＰバインディングテーブルを構築する。ＩＰ：ＤＨＣＰバインディングテーブルの例は、図４中に示されている。ＩＰ：ＤＨＣＰバインディングテーブル４１０は、特定のユーザデバイスに対するＭＡＣアドレスとＩＰアドレスとの関係を図示している。
【００３０】
［００３５］
コール３０６は、ユーザデバイス１０２によってなされて、ネットワーク１０６を通してプロキシサーバ１０８に転送される、ウェブサイト（例えば、ｗｗｗ．ｄｏｍａｉｎ．ｃｏｍ）に対するＨＴＴＰ要求を図示している。コール３２０は、ここで説明するように、ネットワーク１０６とポジションマッパー１１４との間での、ＩＰおよびメディアアクセス制御（ＭＡＣ）アドレスマッピングを表わしている。
【００３１】
［００３６］
コール３０８は、プロキシサーバ１０８からＩＣＡＰエレメント１１２に送られた、修正ＨＴＴＰヘッダに対する要求の転送を表わす。修正ＨＴＴＰヘッダに対する要求は、接続１４２を通してプロキシサーバ１０８から送られ、ユーザデバイス１０２の状況に関係する状況認識メタデータを含んでいる。実施形態において、多数の異なる方法において、ユーザデバイスの状況を決定できる。図１に示されている例では、ユーザデバイス１０２からの何らかの寄与または対話なしで、ネットワーク１０６と、プロキシサーバ１０８と、ウェブサーバ１１０とのうちの１つ以上によって、ユーザデバイス１０２の状況が決定される。言い換えると、ユーザデバイス１０２は標準的で修正されていないデバイスであり、何らかの状況認識は、ユーザデバイス１０２以外のエレメントによって決定される。実施形態において、ネットワーク１０６と、プロキシサーバ１０８と、サーバ１１０とのうちの１つ以上が、ネットワークパラメータに基づいて、ユーザデバイス１０２の状況を決定する。
【００３２】
［００３７］
ユーザデバイス１０２のポジションを決定して、修正ヘッダ情報を取得するために、ＩＣＡＰエレメント１１２とポジションマッパー１１４との間に発行されるコール３１２が、接続１４４を通して行なわれる。
【００３３】
［００３８］
接続１４６を通して、ポジションマッパー１１４とロケーションエンジン１１６との間で行われるコール３１４は、ユーザデバイス１０２のロケーションの最初の検出を指す。即時のポーリング要求は、第１の確定に対する知覚時間（ＴＴＦＦ）を短くすることによって、ユーザ経験を改善する。コール３１６は、一連のポーリング間隔と、ポジションロケーション確定とを指し、これは、コール３１４による最初の要求の後に、ユーザデバイス１０２のロケーションを決定するために、ポジションマッパー１１４とＤＮＳ１１５との間で、そして、ポジションマッパー１１４とロケーションエンジン１１６との間でリアルタイムに起こる。ポーリング間隔は、任意の期間とすることができ、例において、一（１）秒とすることができる。例として、ポジションマッパー１１４は、ＤＮＳ１１５を一（１）秒毎にポーリングして、ＩＰ：ＭＡＣアドレス関係を決定する。ポジションマッパー１１４は、すべてのＭＡＣ  ＩＤと、ロケーション確定と、各ロケーション確定に対するタイムスタンプとについて、五（５）秒毎にロケーションエンジン１１６をポーリングする。ロケーションエンジン１１６は、以前の追跡要求からの、ＭＡＣ  ＩＤと、ロケーション確定と、タイムスタンプ情報とを有してもよい。ポジションマッパー１１４は、この情報をロケーションエンジン１１６から取得してもよく、それを、ＤＮＳ１１５から受信した最近のＩＰ：ＭＡＣアドレス関係にマッピングしてもよい。ポジションマッパー１１４は、特定のＭＡＣ  ＩＤに対するとともに、現在のロケーション確定を有しないデバイスに対する単一の確定クエリを取得してもよい。
【００３４】
［００３９］
ポジションマッパー１１４からＩＣＡＰエレメント１１２へのコール３１８は、ロケーションエンジン１１６によって決定されるユーザデバイス１０２のロケーションを含む。実施形態において、コール３１８は、ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）応答とすることができ、ポジションマッパー１１４からＩＣＡＰエレメント１１２に提供されて、ユーザデバイス１０２の、ロケーションおよび関連する状況情報と呼ばれる。実施形態において、ロケーションは、「ジオフェンスゾーン」ロケーションとして呼ぶことができ、「ジオフェンスゾーン」ロケーションは、ユーザデバイス１０２およびユーザの存在に対して監視される地理エリアを指す。実施形態において、このようなジオフェンスゾーンは、アミューズメント施設でのアトラクションを、パフォーマンス現場を、または、ＧＰＳや無線周波数識別（ＲＦＩＤ）やビデオ監視等のような１つ以上の技術を使用して監視することができる他の何らかのエリアを含むことができる。ポジションマッパー１１４は、ＩＰ：ＭＡＣアドレス関係と、ロケーション情報と、タイムスタンプ情報とを使用して、テーブル１２０を構築する。
【００３５】
［００４０］
ＩＣＡＰエレメント１１２からウェブサーバ１１０に発行されるコール３２２は、例えば、ウェブサーバ１１０からの状況情報をさらに取り出すために、ユーザがログインしているか否かを決定するように試行する。
【００３６】
［００４１］
ウェブサーバ１１０からＩＣＡＰエレメント１１２へのコール３２４は、ユーザデバイス１０２が、ウェブサーバ１１０にログインしているか否かについての情報を含んでいる。
【００３７】
［００４２］
接続１４２を通して、ＩＣＡＰエレメント１１２からプロキシサーバ１０８に発行されるコール３２６は、修正ＨＴＴＰヘッダをプロキシサーバ１０８に提供する。修正ＨＴＴＰヘッダは、状況認識メタデータを含み、ユーザデバイス１０２のロケーションも含んでいる。
【００３８】
［００４３］
コール３２０は、ネットワーク１０６とポジションマッパー１１４との間のＩＰおよびメディアアクセス制御（ＭＡＣ）アドレスマッピングを表している。ポジションマッパー１１４は、バインディングテーブル４１０（図４）からユーザデバイス１０２のＩＰアドレスおよびＭＡＣアドレスを取り、ユーザデバイス１０２のＭＡＣアドレスに基づいて、ロケーションエンジン１１６からのロケーション情報を要求する。ポジションマッパー１１４は、その後、ユーザデバイス１０２のロケーションを、ＩＰアドレスおよびＭＡＣアドレスに関係付け、テーブル１２０（図１）を構築する。タイムスタンプは、ポジションマッパー１１４中の基準時間スレッド２３６によって発生され、ＩＰ：ＭＡＣアドレス関係およびロケーション情報に関係付けられる。タイムスタンプは、ロケーション確定の年齢を提供し、新たなロケーション確定を要求すべきか否かを決定するための構成可能なしきい値に基づいている。ポジションマッパーソフトウェア１１４が実行されるコンピューティングデバイス２００によって保持されているローカル時間により、タイムスタンプを提供することができる。
【００３９】
［００４４］
ロケーションエンジン１１６にかかわらず、ポジションマッパー１１４は、ポジション確定のためにポジションマッパー１１４自体のタイムスタンプを維持するので、システム１００中のすべてのデバイスが同一の時間ソースに同期する必要はない。タイムスタンプしきい値は構成可能であり、ロケーション確定がしきい値量よりも古い（例えば、１分よりも古い）ことが決定された場合、新たなタイムスタンプを発生させる。しきい値は、意図されたアプリケーションに基づいており、ロケーションエンジン１１６（図１）に対する要求の数および頻度をバランスさせて、制御するためのものである。例えば、ポジションロケーション確定が、移動体ビューキャッシュ２２４において１分よりも古い場合、更新されたポジション情報を取得するために、移動体ビューＲＴＴスレッド２２８に対する新たな追跡要求を開始する。
【００４０】
［００４５］
ポジションマッパー１１４は、その後、コール３１８中で、ユーザデバイス１０２に対する文脈情報を要求したＩＣＡＰエレメント１１２にロケーション情報を戻す。この方法において、ユーザデバイス１０２に関連するロケーション情報は、ＩＣＡＰエレメント１１２に返送され、ＩＣＡＰエレメント１１２は、ユーザデバイス１０２のロケーション情報を有する修正ＨＴＴＰヘッダを、（コール３２６中で）プロキシサーバ１０８に提供する。この方法において、ユーザデバイス１０２に関連する、ロケーション情報と、より広い範囲まで広げて、状況情報とが、明示的にまたは暗示的にのいずれかで、ＨＴＴＰ要求に加えられる。
【００４１】
［００４６］
接続１３６を通してプロキシサーバ１０８からウェブサーバ１１０に提供されるコール３２８は、状況認識メタデータを有する（例えば、示されているようなｕｒｌ修正を使用する、または、例としてｘタグ挿入を使用する）修正ＨＴＴＰ要求を含み、ユーザデバイス１０２のロケーションを含んでいる。
【００４２】
［００４７］
接続１３８を通してのウェブサーバ１１０からプロキシサーバ１０８へのコール３３２は、ユーザデバイス１０２のロケーションおよび状況に基づいてユーザに対して調整されるロケーションベースの文脈コンテンツを含んでいる。接続１３４および１３２を通して、プロキシサーバ１０８から移動体デバイス１０２に提供されるコール３３４は、ユーザデバイス１０２に配信される状況認識コンテンツを含む。この方法において、ユーザデバイス１０２の状況が決定され、状況特有のコンテンツがウェブサーバ１１０からユーザデバイス１０２に提供される。
【００４３】
［００４８］
図５Ａおよび図５Ｂは、ユーザデバイスに対する、ＩＰアドレスと、ＭＡＣアドレスと、ロケーションとを関係付けるための方法の実施形態を集合的に図示しているフローチャート５００である。
【００４４】
［００４９］
ブロック５０２では、ユーザデバイス１０２が、ダイナミックホストコンフィギュレーションプロトコル（ＤＨＣＰ）要求を開始し、直接的に、または、ルータ／スイッチ１０７を介してのいずれかで、ＤＮＳ１１５に対する要求をネットワーク１０６に送る。ＤＮＳ１１５と、ルータ／スイッチ１０７と、ネットワーク１０６は、インターネットプロトコル（ＩＰ）アドレスにより応答し、したがって、ユーザデバイス１０２は、ネットワーク１０６を通してアクセスして通信できるようになる。
【００４５】
［００５０］
ブロック５０４では、ポジションマッパー１１４が、ＤＨＣＰテーブルについてＤＮＳ１１５をポーリングし、ユーザデバイス１０２に対するＩＰ・ＤＨＣＰバインディングを取得する。
【００４６】
［００５１］
ブロック５０６では、ポジションマッパー１１４が、ユーザデバイス１０２のＭＡＣアドレスについてＤＮＳ１１５をポーリングする。
【００４７】
［００５２］
ブロック５０８では、ポジションマッパー１１４が、ＩＰアドレスとＭＡＣアドレスとを関係付けて、テーブル１２０（図１）を構築する。
【００４８】
［００５３］
ブロック５１２では、ＩＣＡＰエレメント１１２が、ＩＰアドレスにより、ユーザデバイス１０２の文脈情報に対する、ポジションマッパー１１４からのヘッダを要求し、そして、情報を取得して、ＨＴＴＰ要求を修正する。
【００４９】
［００５４］
ブロック５１４では、ポジションマッパー１１４が、ユーザデバイス１０２のＭＡＣアドレスを使用して、ユーザデバイス１０２のロケーションに対する要求をロケーションエンジン１１６に送る。
【００５０】
［００５５］
ブロック５１６では、ロケーションエンジン１１６が、ユーザデバイス１０２のロケーションを提供する。
【００５１】
［００５６］
ブロック５１８では、ポジションマッパー１１４が、ロケーションエンジン１１６から受信したロケーション確定をタイムスタンプし、ユーザデバイス１０２のロケーションを有する応答を、ＪＳＯＮ応答の形態でＩＣＡＰエレメント１１２に送る。
【００５２】
［００５７］
ブロック５２２では、ＩＣＡＰエレメント１１２が、ユーザデバイス１０２のロケーションを受信する。
【００５３】
［００５８］
ブロック５２４では、ユーザデバイス１０２がウェブサーバ１１０にログインしているか否かをＩＣＡＰエレメント１１２が決定する。
【００５４】
［００５９］
ブロック５２６では、ユーザデバイス１０２がウェブサーバ１１０にログインしているか否かについての情報をＩＣＡＰエレメント１１２が受信する。
【００５５】
［００６０］
ブロック５２８では、ＩＣＡＰエレメント１１２が、修正ＨＴＴＰヘッダをプロキシサーバ１０８に提供する。修正ＨＴＴＰヘッダは、状況認識メタデータを含み、ユーザデバイス１０２のロケーションも含んでいる。
【００５６】
［００６１］
ブロック５３２では、プロキシサーバ１０８が、修正ＨＴＴＰ要求をウェブサーバ１１０に配信する。修正ＨＴＴＰ要求は、状況認識メタデータと、ユーザデバイス１０２のロケーションとを含んでいる。
【００５７】
［００６２］
ブロック５３４では、ウェブサーバ１１０が、コンテンツをプロキシサーバ１０８に提供し、コンテンツは、ユーザデバイス１０２のロケーションおよび状況に対する文脈コンテンツを含んでいる。
【００５８】
［００６３］
ブロック５３６では、プロキシサーバ１０８が、状況認識コンテンツをユーザデバイス１０２に提供する。
【００５９】
［００６４］
上記の開示の観点において、プログラミングにおける当業者のうちの１人は、コンピュータコードを書くか、または、適切なハードウェアおよび／または回路を識別して、例えば、この明細書におけるフローチャートと関係する説明とに基づいて、困難なく、開示した発明を実現することができる。したがって、プログラムコード命令または詳細なハードウェアデバイスの特定のセットの開示は、どのように発明を実施して、使用するかについての適正な理解のための必要性を考慮していない。特許請求の範囲において請求するコンピュータにより実現されるプロセスの進歩性ある機能性を、上記の説明において、そして、図面とともに、さらに詳細に説明しており、これは、さまざまなプロセスフローを示しているかもしれない。
【００６０】
［００６５］
１つ以上の例示的な態様において、記述した機能は、ハードウェアで、ソフトウェアで、ファームウェアで、または、これらのものを組み合わせた任意のもので実現してもよい。ソフトウェアで実現された場合、機能は、１つ以上の命令またはコードとして、コンピュータ読取可能な媒体上に記憶されてもよく、あるいは、１つ以上の命令またはコードとして、コンピュータ読取可能な媒体上に送信されてもよい。コンピュータ読取可能な媒体は、１つの場所から別の場所へのコンピュータプログラムの転送を促進する任意の媒体を含むコンピュータ記憶媒体および通信媒体の両方を含む。記憶媒体は、コンピュータによりアクセスできる任意の利用可能な媒体であってもよい。例として、限定ではないが、このようなコンピュータ読取可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で所望のプログラムコードを伝えるか、または、記憶するのに使用してもよく、コンピュータによってアクセスしてもよい他の何らかの媒体を備えていてもよい。
【００６１】
［００６６］
また、任意の接続は、コンピュータ読取可能な媒体と適切に呼ばれる。例えば、同軸ケーブルや、光ファイバケーブルや、ツイスト線や、デジタル加入者線（ＤＳＬ）や、あるいは、赤外線、無線、マイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または、他の遠隔ソースからソフトウェアを送信する場合、同軸ケーブル、光ファイバケーブル、ツイスト線、ＤＳＬ、または、赤外線、無線、および、マイクロ波のようなワイヤレス技術は、媒体の定義中に含まれる。
【００６２】
［００６７］
ここで使用されるディスクは、コンパクトディスク（「ＣＤ」）、レーザディスク（登録商標）、光学ディスク、デジタル汎用ディスク（「ＤＶＤ」）、フロッピー（登録商標）ディスク、および、ブルーレイ（登録商標）ディスクを含み、普通、ディスク（ｄｉｓｃ）は、データを磁気的に再生する一方で、ディスク（ｄｉｓｃ）はデータをレーザで光学的に再生する。上記の組み合わせも、コンピュータ読取可能な媒体の範囲内に含むべきである。
【００６３】
［００６８］
選択した態様を図示して詳細に説明してきたが、本発明の精神および範囲から逸脱することなく、以下の特許請求の範囲によって規定するように、ここにおいてさまざまな代用と改変を行ってもよいことが理解されるだろう。
【図１】
2016527817.tif 000003
【図２】
2016527817.tif 000004
【図３】
2016527817.tif 000005
【図４】
2016527817.tif 000006
【図５Ａ】
2016527817.tif 000007
【図５Ｂ】
2016527817.tif 000008
【国際調査報告】
2016527817.tif 000009
2016527817.tif 000010
2016527817.tif 000011