(57)【特許請求の範囲】
【請求項１】
ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法であって、
無線デバイス上のネイティブアプリケーションを提供することと、
前記無線デバイスが、コンテンツプロバイダにコンテンツ要求を送信することと、
前記無線デバイスが、前記要求に応答して前記コンテンツプロバイダからコンテンツを受信することと、ここで、前記コンテンツは、実行可能コードを含む、
前記無線デバイスで前記実行可能コードを実行して、前記無線デバイスにポートをオープンすることおよび前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスモジュールを使用して前記無線デバイスに記憶されたコンテキスト情報にアクセスすることによって、前記コンテキスト情報にアクセスすることと、
前記無線デバイスが、コンテンツプロバイダに前記コンテキスト情報を送信することと、
前記コンテキスト情報に応答して、前記コンテンツプロバイダから前記無線デバイスにおいてコンテキストコンテンツを受信することと、
を含む方法。
【請求項２】
前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられる、請求項１に記載の方法。
【請求項３】
前記無線デバイスに前記ポートをオープンすることは、
前記無線デバイスにおいて、ＨＴＴＰ要求をコンテキストアウェアネスアプリケーションに送ることと、
前記無線デバイスにおいて、前記ネイティブアプリケーションとウェブブラウザとの間でウェブソケットをオープンすること含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
請求項１に記載の方法。
【請求項４】
前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
請求項３に記載の方法。
【請求項５】
前記ネイティブアプリケーションから追加の実行可能コードを受信することと、
前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスすることとをさらに含み、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、
請求項１に記載の方法。
【請求項６】
無線デバイスであって、
ネイティブアプリケーションと、
コンテンツ要求を送信し、前記コンテンツを受信するように構成されたウェブブラウザと、ここで、前記コンテンツは、実行可能コードを含む、
前記実行可能コードを実行するように構成されたプロセッサと、
前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスアプリケーションと、を含み、
前記実行可能コードを実行することは、前記無線デバイスに記憶されたコンテキスト情報にアクセスするために、前記無線デバイスにおける前記ネイティブアプリケーションに対してポートをオープンし、
前記ウェブブラウザは、コンテンツプロバイダに前記コンテキスト情報を送信するように構成され、
前記無線デバイスは、前記コンテキスト情報に応答して、前記コンテンツプロバイダからコンテキストコンテンツを受信するように構成された、
無線デバイス。
【請求項７】
前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられる、請求項６に記載の無線デバイス。
【請求項８】
前記無線デバイスに前記ポートをオープンすることは、
前記無線デバイスにおいて、ＨＴＴＰ要求を前記コンテキストアウェアネスアプリケーションに送ることと、
前記無線デバイスにおいて、前記ネイティブアプリケーションとブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
請求項６に記載の無線デバイス。
【請求項９】
前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
請求項６に記載の無線デバイス。
【請求項１０】
前記ネイティブアプリケーションに関連付けられた追加の実行可能コードをさらに含み、
前記プロセッサは、前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスし、前記追加の実行可能コードは、ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、
請求項６に記載の無線デバイス。
【請求項１１】
無線コンピュータデバイス上のネイティブアプリケーションを提供することと、
前記無線コンピュータデバイスが、コンテンツプロバイダにコンテンツ要求を送信することと、
前記無線コンピュータデバイスが、前記要求に応答して、前記コンテンツプロバイダからコンテンツを受信することと、ここで、前記コンテンツは、実行可能コードを含む、
前記無線コンピュータデバイス上で前記実行可能コードを実行して、前記無線コンピュータデバイスにポートをオープンすることおよび前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスモジュールを使用して前記無線コンピュータデバイスに記憶されたコンテキスト情報にアクセスすることによって、前記コンテキスト情報にアクセスすることと、
前記無線コンピュータデバイスが、前記コンテンツプロバイダに前記コンテキスト情報を送信することと、
前記コンテキスト情報に応答して、前記コンテンツプロバイダから前記無線コンピュータデバイスにおけるコンテキストコンテンツを受信すること、
を含む動作を前記無線コンピュータデバイスに行わせるように構成された実行可能命令を記憶したコンピュータ可読記憶媒体。
【請求項１２】
前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられる、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記無線コンピュータデバイスに前記ポートをオープンすることは、
前記無線コンピュータデバイスにおいて、ＨＴＴＰ要求をコンテキストアウェアネスアプリケーションに送ることと、
前記無線コンピュータデバイスにおいて、前記ネイティブアプリケーションとウェブブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
請求項１３に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記ネイティブアプリケーションから追加の実行可能コードを受信することと、
前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスすることとをさらに含み、前記追加の実行可能コードは、ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１６】
無線デバイスであって、
ネイティブアプリケーションと、
コンテンツ要求をコンテンツプロバイダに送信し、前記コンテンツを受信するためのウェブブラウザ手段と、ここで、前記コンテンツは、実行可能コードを含む、
前記実行可能コードを実行するためのプロセッサ手段と、
前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスアプリケーションと、を含み、ここで、前記実行可能コードを実行することは、前記無線デバイスに記憶されたコンテキスト情報にアクセスするために、前記無線デバイスにおける前記ネイティブアプリケーションに対してポートをオープンし、
前記ウェブブラウザ手段は、前記コンテキスト情報を送信し、前記コンテキスト情報に基づいて、前記コンテンツプロバイダからコンテキストコンテンツを受信する、無線デバイス。
【請求項１７】
前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられる、請求項１６に記載の無線デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001] ウェブサイトからのコンテンツの形式の情報は、一般に、多くの異なる種類の装置およびユーザに提供される。ますます多くのウェブコンテンツを受け取るようになってきているデバイスおよびユーザの一つには、無線デバイスおよびモバイルユーザがある。無線デバイスは、携帯用コンピュータデバイス、タブレットコンピュータ、スマートフォン、またはウェブコンテンツを閲覧及び受信することが可能なその他の任意の携帯用または無線デバイスであることができる。
【０００２】
[0002]モバイル無線コンピュータデバイスにおけるウェブブラウザは、オンラインで情報にアクセスする主要な方法を提供する。ユーザのなかには、無線デバイスに一つ以上のアプリケーションをインストールする者がいるかも知れないが、大多数のユーザにとっては、オンラインでコンテンツにアクセスすることは、一般に、そのデバイスにもともと備わった一つのウェブブラウザまたはそのデバイスにダウンロードされた一つのウェブブラウザを用いて行われる。ウェブブラウザは、W3C（ワールドワイドウェブコンソーシアム）仕様に準拠し、ウェブブラウザの中には追加機能を含むものもありうる。しかしながら、ウェブブラウザは、それらがインストールされたデバイスのネイティブアプリケーションプログラムインターフェイス（API)を十分にブリッジせず、したがって、ウェブアプリケーションは、ネイティブアプリケーションに比べて機能が限定されている。  
[0003]HTML５にしたがって動作するほとんどのウェブアプリケーションにまだ広く利用されていない機能の一つは、実行可能コード（すなわち、ジャバスクリプトコード）が、ウェブソケットインターフェイスを用いてブラウザが動作している同じプラットフォームでアプリケーションにアクセスできるようにする機能である。たとえば、ウェブアプリケーションが、ユーザの日常生活に関連してウェブアプリケーションにアクセスするユーザの位置（たとえば、家、仕事、ジム、学校などのようなユーザの位置）に基づいてその動作を適合させることが望ましい場合、その機能は、ユーザの位置を積極的に監視し、時間をかけてこれらの位置の履歴またはデータベースを構築する必要がある。しかしながら、これは既存のウェブブラウザでは可能ではない。なぜならば、ユーザの位置は、積極的なウェブ閲覧の間のみにアクセス可能であり、「積極的な監視」という概念は、アプリケーションおよびブラウザのライフサイクルの制約によりHTML5に基づくウェブブラウザのバックグラウンドで作動するジャバスクリプトコードにより実現することができないからである。たとえば、HTML５のアプリケーションは、そのワーカーの一つのライフサイクルを制御することができないかもしれず、リソースのコンフリクトの場合、ブラウザによりいつでも中断されるかもしれない。「ワーカー」（worker）という用語は、バックグラウンドプロセスとしてそれ自体のスレッドにおいて実行することができるHTML５のジャバスクリプトを指す。したがって、ウェブサイトは、ユーザがデバイスを携帯して使用する際に、時間をかけて統合されることができる情報を用いてウェブサイトにアクセスするデバイスのユーザに関連する重要なコンテキスト情報（contextual information）からのコンテンツ配信を適合させることができない。
【０００３】
[0004] 単なる例として、ヤフー(www.yahoo.com)のような大規模なウェブサイトの中には、ユーザに対してそのユーザの経験を当該ウェブサイトに最適化するネイティブアプリケーションをダウンロードするよう促す機能を有するものがある。残念ながら、これらのウェブサイトは、一般に、eメール、ニュース、インスタントメッセージのような非常に限定的なサービスを提供するものであるが、ネイティブアプリケーションに取り込まれていないウェブプロパティ（対象のウェブサイトと同じドメインの他のウェブサイト）もなお有している。  
[0005] したがって、ユーザがそのサイトを閲覧している間に、ウェブプロパティがユーザ固有の個人的情報にアクセスすることができるようにして、ユーザに豊富な経験を提供するのが望ましいと思われる。
【発明の概要】
【０００４】
[0006]ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法の実施形態は、ネイティブアプリケーションを無線デバイスに提供することと、コンテンツ要求を送信することと、実行可能コードを含むコンテンツを受信することと、実行可能コードを実行して、無線デバイスに関するコンテキスト情報（contextual information）にアクセスすることと、コンテキスト情報を送信することと、コンテキスト情報に基づいて無線デバイスのコンテキストコンテンツ（contextual content）を受信することとを含む。
【０００５】
[0007]無線デバイスの実施形態は、ネイティブアプリケーションと、コンテンツ要求を送信し、実行可能コードを含むコンテンツを受信するよう構成されたウェブブラウザと、実行可能コードを実行して、その無線デバイスにあるコンテキスト情報にアクセスするよう構成されたプロセッサとを含む。ウェブブラウザは、コンテキスト情報を送信するよう構成され、無線デバイスは、コンテキスト情報に基づいてコンテキストコンテンツを受信するよう構成される。
【図面の簡単な説明】
【０００６】
[0008]図面では、他の方法で示されていない限り、同じ参照番号が、様々なビュー全体を通じて、同じ部分を指す。「１０２ａ」または「１０２ｂ」のような文字指定を有する参照番号では、文字指定は、同じ図面にある２つの同じ部分または要素を区別することができる。参照番号に対する文字指定は、参照番号が全ての図面における同じ参照番号を有する全ての部分を包含することが意図されているとき、省略されることができる。
【図１】ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムの実施形態を例示する機能ブロック図である。
【図２】ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の実施形態を例示するコールフロー図である。
【図３】ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の実施形態を説明するフローチャートである。
【図４】ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の別の実施形態を例示するコールフロー図である。
【図５】ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の別の実施形態を説明するフローチャートである。
【図６】ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法を実現することができる無線デバイスの例を示すブロック図である。
【発明を実施するための形態】
【０００７】
[0015]「例示的（exemplary）」という用語は、「例、実例、または例示としての役目をする」を意味するようにここでは使用される。「例示的」であるとここで説明されたいずれの態様も、必ずしも、他の態様よりも好ましいまたは有利であると解釈されるべきではない。
【０００８】
[0016]本記述では、「アプリケーション（application）」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような実行可能なコンテンツを有するファイルをも含みうる。加えて、ここで言う「アプリケーション」は、開かれる必要がありうる文書、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルをも含むことができる。
【０００９】
[0017] 「コンテンツ（content）」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような実行可能なコンテンツを有するファイルをも含むことができる。加えて、ここで言う「コンテンツ」は、開かれる必要がありうる文書、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルをも含むことができる。  
[0018]本記述で使用されているように、「コンポーネント（component）」、「データベース（database）」、「モジュール（module）」、「システム（system）」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれか、のコンピュータ関連エンティティを指すに意図されている。例えば、コンポーネントは、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行ファイル（executable）、実行スレッド、プログラム、および／またはコンピュータでありうるがこれらに限定されない。例示として、コンピュータデバイス上で実行中のアプリケーションと、コンピュータデバイスとの両方がコンポーネントでありうる。１つまたは複数のコンポーネントは、プロセスおよび／または実行スレッド内に存在することができ、コンポーネントは、１つのコンピュータ上で局所化、および／または、２つ以上のコンピュータ間で分散されることができる。加えて、これらのコンポーネントは、様々なデータ構造を記憶した様々なコンピュータ可読媒体により実行することができる。コンポーネントは、１つまたは複数のデータパケット（ローカルシステム中の、分散システム中の別のコンポーネントと相互動作する１つのコンポーネントからのデータ、および／または、インターネットのようなネットワークにわたって信号を介して他のシステムと相互動作する１つのコンポーネントからのデータ）を有する信号にしたがうような、ローカルおよび／またはリモートプロセスによって通信することができる。
【００１０】
[0019]ここで使用されているように、「ユーザデバイス」という用語は、ウェブサイトからコンテンツを受信することができ、ウェブサイトへ情報を発信することができるデバイスを含む。ユーザデバイスは、固定デバイス、無線デバイスまたはモバイルデバイスでありうる。
【００１１】
[0020]ここで使用されているように、「無線デバイス」という用語は、ウェブプロパティまたはウェブサイトにアクセスすることができる任意の携帯用または無線コンピュータデバイスのことを指す。ここで使用されているように、「ユーザデバイス」という用語は、「無線デバイス」という用語と置き換え可能である。
【００１２】
[0021]ここで使用されているように、「ユーザ」という用語は、ユーザデバイスまたは無線デバイスでコンテンツを受信し、ウェブサイトに情報を発信する個人のことを指す。
【００１３】
[0022]ここで使用されているように、「コンテキスト（context）」という用語は、ユーザ、ユーザデバイスまたは無線デバイスの、物理的、論理的、社会的およびその他のコンテキスト情報のような属性の任意のまたはすべてのことを指す。
【００１４】
[0023]ここで使用されているように、「コンテキストアウェアメタデータ（context aware metadata）」および「コンテキストメタデータ（contextual metadata）」という用語は、ユーザ、ユーザデバイスまたは無線デバイスのコンテキストを記述または定義するメタデータのことを指す。
【００１５】
[0024]ここで使用されているように、「コンテキストアウェアコンテンツ（context aware content)」という用語は、ユーザデバイスまたは無線デバイスに配信され、ユーザのコンテキストに適合されるコンテンツのことを指す。
【００１６】
[0025]ここで使用されているように、「ウェブプロパティ(web property)」という用語は、一つ以上のウェブページを有する一つ以上のウェブサイトを有するエンティティのことを指す。
【００１７】
[0026]一つの実施形態において、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法は、ネイティブアプリケーションがコンテキストアウェアネスアプリケーションのようなシステムを組み込み、（ネイティブアプリケーションがダウンロードされる無線デバイスに対して）ローカルウェブソケットインターアクションを可能にすることを含み、その結果ネイティブアプリケーション（たとえばヤフー）のデベロッパーに固有のウェブプロパティが、もともと備わった機能の利益を享受することができる。たとえば、ヤフーがネイティブアプリケーションにコンテキストアウェアネスアプリケーションを組み込み、そのコンテキストアウェアネスアプリケーションが無線デバイスにおいてローカル接続をオープンして、ヤフープロパティ（ウェブサイト）がそれにアクセスすることを許可する場合であって、もしヤフーのウェブプロパティが、無線デバイスと通信するため（たとえば、ウェブソケット接続を介して）ジャバスクリプトコードのような実行可能コードを組み込み、かつ無線デバイスのユーザがヤフーの（コンテキストアウェアネスアプリケーションを組み込んだ）ネイティブアプリケーションをインストール済みの場合は、ヤフーのウェブプロパティは、ユーザの無線デバイスからユーザのコンテキストデータにアクセスすることができる。ウェブプロパティが無線デバイスにコンテキストアウェアコンテンツを提供することを可能にするため、ユーザのコンテキストデータは、コンテキストアウェアネスアプリケーションにより、ウェブプロパティに利用可能となる。ヤフーを例として用いると、これによりヤフーは、無線デバイスのユーザがネイティブヤフーアプリケーションをダウンロードし起動した後、無線デバイスからアクセスされたとき、そのウェブサイトのすべてにおいてコンテキスト広告を表示することが可能となる。
【００１８】
[0027]図１は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムの実施形態を例示する機能ブロック図である。システム１００は、ネットワーク１０４を通じてウェブサーバ１０６に接続された無線デバイス１０２を含む。無線デバイス１０２は、ワールドワイドウェブにアクセスすることが可能で、かつ通信チャネル１０３を通じてネットワーク１０４に接続されうる携帯電話、タブレットコンピュータデバイス、またはその他の任意の無線デバイスのような、任意のモバイルコンピュータデバイスでありうる。通信チャネル１０３は、無線通信チャネルとして図示されているが、いかなる通信チャネルでもありうる。ウェブサーバ１０６は、通信チャネル１０５を通じてネットワーク１０４に接続されうる。通信チャネル１０５は、有線通信チャネルとして図示されているが、いかなる通信チャネルでもありうる。ウェブサーバ１０６は、コンテンツをウェブプロパティ１２０から無線デバイス１０２へネットワーク１０４を通じて提供することができるハイパーテキスト転送プロトコル（HTTP)サーバでありうる。一つの実施形態において、ウェブサーバ１０６は、一つ以上のウェブページ１０８の形のコンテンツを一つ以上のウェブサイト１０７から保持し、また配信することができる。ウェブページ１０８は、HTMLコンテンツを含む様々なウェブベースのコンテンツを含むことができると理解され、また、単一のウェブページ１０８が図示されているが、ウェブプロパティ１２０は複数のウェブページ１０８を有する複数のウェブサイト１０７を有することができると理解される。ネットワーク１０４は、任意の広域ネットワークまたはローカルエリアネットワークでありうるし、また、一つの実施形態において、ワールドワイドウェブでありうる。
【００１９】
[0028]無線デバイス１０２は、図１において、ワールドワイドウェブにアクセス可能なきわめて簡略化された無線デバイスとして示されている。当業者は、無線デバイス１０２が、簡略化のために図１では省略されている多くのその他の構成要素を有していることを理解する。無線デバイス１０２は、ウェブブラウザ１１０とネイティブアプリケーション１１５とを含む。  
[0029]一例として、ネイティブアプリケーション１１５は、ウェブプロパティ１２０によりまたはウェブサイト１０７により提供され、無線デバイス１０２にダウンロードされるか、またはそうでなければインストールされるアプリケーションでありうる。一例として、ネイティブアプリケーション１１５は、ウェブサーバ１０６から無線デバイス１０２にダウンロードされうる。ネイティブアプリケーション１１５は、ウェブプロパティ１２０またはウェブサイト１０７により提供されるか、リンクされるか、またはそうでなければ関連付けられるアプリケーションでありうる。一例として、ウェブブラウザ１１０が、ウェブプロパティ１２０、またはウェブプロパティ１２０に保持されているウェブサイト１０７またはウェブページ１０８にアクセスするために用いられるとき、ウェブサイト１０７は、無線デバイス１０２のユーザに、豊富なまたはよりよいユーザエクスペリエンスを提供する方法として、ネイティブアプリケーション１１５を無線デバイス１０２に提供しうる。  
[0030]一つの実施形態において、ネイティブアプリケーション１１５は、アプリケーションプログラム１１７を含みうる。一つの実施形態において、アプリケーションプログラム１１７は、コンテキストアウェアネスモジュールまたはアプリケーションでありうるし、または無線デバイス１０２に関する、および／または無線デバイス１０２のユーザに関するコンテキスト情報を収集および保持することができる任意のモジュールまたはアプリケーションでありうる。これに関連して、アプリケーションプログラム１１７は、無線デバイス１０２に関するコンテキスト情報にアクセスすることができるという点において、「リスナー」アプリケーションまたは「コンテキスト」アプリケーションと称することができる。別のインプリメンテーションにおいて、ネイティブアプリケーション１１５は、別個のアプリケーションプログラム１１７を用いずに、無線デバイス１０２に関するコンテキスト情報を収集、保持およびアクセスすることができる機能を提供する別個のまたは統合されたモジュールを含みうる。しかしながら、ここに記載した実施形態において、アプリケーションプログラム１１７は、ネイティブアプリケーション１１５に含まれるか、またはそうでなければそれに関連するコンテキストアウェアネスアプリケーションであることができ、コンテキストアプリケーションプログラム１１７と称される。コンテキストアプリケーションプログラム１１７は、無線デバイス１０２に関する、および／または無線デバイス１０２のユーザに関するコンテキスト情報を収集、保持およびアクセスすることができる。「コンテキスト情報」という用語は、ユーザのプロファイル、ユーザの閲覧習慣、ユーザの位置、または無線デバイス１０２のユーザに関する他の任意のコンテキスト情報に関する任意の情報を指す。
【００２０】
[0031]ウェブサイト１０７またはウェブページ１０８は、また、無線デバイス１０２に実行可能コード１１２を転送しうる。一つの実施形態において、実行可能コード１１２は、ジャバスクリプトコードでありうるが、他の実行可能コードも可能である。一つの実施形態において、実行可能コード１１２は、ウェブブラウザ１１０がウェブページ１０８にアクセスするとき、ウェブサイト１０７により提供されるHTMLコンテンツと共にウェブブラウザ１１０に提供される。ウェブブラウザ１１０は、またジャバスクリプトエンジン１３０をも含む。ジャバスクリプトエンジン１３０は、ジャバスクリプトコードのような実行可能コード１１２を実行するよう構成されている。一つの実施形態において、実行可能コード１１２は、ウェブブラウザ１１０のジャバスクリプトエンジン１３０により実行され、ネイティブアプリケーション１１５がTCP（トランスミッションコントロールプロトコル）ポートをネイティブアプリケーション１１５に対してオープンするよう要求することにより、ウェブブラウザ１１０がネイティブアプリケーション１１５と相互作用することを可能にする。一つの実施形態において、ウェブブラウザ１１０のジャバスクリプトエンジン１３０は、実行可能コード１１２を実行し、無線デバイス１０２のコンテキストアプリケーションプログラム１１７に含まれるデータにアクセスするため、ネイティブアプリケーション１１５が、ウェブソケット接続を無線デバイス１０２のコンテキストアプリケーションプログラム１１７に対してオープンさせることを可能にする。一つの実施形態において、ネイティブアプリケーション１１５によりアクセスされたデータは、コンテキストアプリケーションプログラム１１７により保持されたか、またはそうでなければネイティブアプリケーション１１５に保持されたコンテキスト情報に関連する。
【００２１】
[0032]別の実施形態において、実行可能コード１１２の実行は、ジャバスクリプトエンジン１３０にコンテキストアプリケーションプログラム１１７からページ１１８をダウンロードさせるであろう。ページ１１８は、追加の実行可能コード１２５を含む。このようなインプリメンテーションは、無線デバイス１０２のセキュリティを危険にさらす可能性のある、クロスサイトスクリプティング（XSS)に関連したセキュリティ違反の防止に有益でありうる。このような実施形態において、実行可能コード１２５は、ウェブブラウザ１１０が、ウェブプロパティとスクリプトを交換することなく、コンテキストアプリケーションプログラム１１７から直接コンテキスト情報を得ることを可能にする。一つの実施形態において、実行可能コード１１２は、追加の実行可能コード１２５をコンテキストアプリケーションプログラム１１７からダウンロードされることを可能にするための命令を含むことができる。 
[0033]図２は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の実施形態を例示するコールフロー図２００である。線図２００は、参考のため図１の様々な要素の動作を例示する。たとえば、コール２０２は、無線デバイス１０２におけるウェブブラウザ１１０が、ウェブページ１０８に対するHTTP要求をウェブサーバ１０６に送ることを表す。  
[0034]コール２０４は、ウェブサーバ１０６が、無線デバイス１０２におけるウェブブラウザ１１０に、実行可能コード１１２を含むHTMLコンテンツを送ることを表す。一つの実施形態において、HTMLコンテンツに含まれる実行可能コード１１２は、ジャバスクリプトコードである。実行可能コード１１２は、無線デバイス１０２におけるジャバスクリプトエンジン１３０により実行される。
【００２２】
[0035]コール２０６は、ウェブブラウザ１１０から無線デバイス１０２におけるコンテキストアプリケーションプログラム１１７（「ローカルホスト」とも称される）に対して行われるHTTPコールを表す。コール２０６は、ウェブブラウザ１１０がコンテキストアプリケーションプログラム１１７に含まれるコンテキストデータにアクセスすることを可能にするために、ネイティブアプリケーション１１５が、無線デバイス１０２において、ネイティブアプリケーション１１５に対してTCP（トランスミッションコントロールプロトコル）ポートへのウェブソケット接続をオープンするようウェブブラウザ１１０に要求させる実行可能コード１１２の実行を表す。
【００２３】
[0036]コール２０８は、ネイティブアプリケーション１１５が無線デバイス１０２におけるブラウザ１１０へのウェブソケット接続をオープンすることを表す。
【００２４】
[0037]コール２１０は、無線デバイス１０２におけるウェブブラウザ１１０が、実行可能コード１１２を実行することを表し、ウェブブラウザ１１０がコンテキストアプリケーションプログラム１１７に含まれるコンテキストデータにアクセスすることを可能にするため、ネイティブアプリケーション１１５が、無線デバイス１０２において、ネイティブアプリケーション１１５に対してTCPポートへのウェブソケット接続をオープンするようウェブブラウザ１１０が要求することを表す。コンテキストデータは、ウェブサーバ１０６に送られる。
【００２５】
[0038]コール212は、ウェブサーバ１０６が、無線デバイス１０２から受信したコンテキスト情報に基づき、無線デバイス１０２にコンテキストコンテンツを供給することを表す。
【００２６】
[0039]図３は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の実施形態を説明するフローチャートである。ブロック３０２において、無線デバイス１０２は、ウェブサーバ１０６からのウェブページ１０８を要求する。
【００２７】
[0040]ブロック３０４において、ウェブサーバは、無線デバイス１０２に、実行可能コードを含むHTMLコンテンツを送る。一つの実施形態において、HTMLコンテンツはジャバスクリプトコード１１２を含む。
【００２８】
[0041] ブロック３０６において、無線デバイス１０２におけるウェブブラウザ１１０は、実行可能コード１１２を実行し、ウェブブラウザ１１０が、無線デバイス１０２のコンテキストアプリケーションプログラム１１７に含まれるかまたはそれによりアクセス可能なコンテキストコンテンツデータにアクセスすることを可能にするため、ネイティブアプリケーション１１５が、ネイティブアプリケーション１１５に対するTCPポートへのウェブソケット接続をオープンすることを要求する。
【００２９】
[0042]ブロック３０８において、ウェブブラウザは、ネイティブアプリケーション１１５と相互作用して、無線デバイス１０２におけるコンテキストアプリケーションプログラム１１７からコンテキスト情報を抽出する。一つの実施形態において、ネイティブアプリケーション１１５は、常に動作して無線デバイス１０２に関するプロファイル、履歴、および他のリアルタイムデータを蓄積する「リスナー」機能と称されるものを含むことができる。  
[0043]ブロック３１０において、無線デバイス１０２におけるウェブブラウザ１１０は、ウェブサーバ１０６およびウェブサイト１０８にコンテキスト情報を送る。
【００３０】
[0044]ブロック３１２において、ウェブサーバ１０６は、無線デバイス１０２に関するコンテキスト情報に基づき、無線デバイスにコンテキストコンテンツを供給する。
【００３１】
[0045]図４は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の別の実施形態を例示するコールフロー図４００である。線図４００は、参考のため図１の様々な要素の動作を例示し、追加の実行可能コード１２５（図１）がコンテキストアプリケーションプログラム１１７からウェブブラウザ１１０に提供されて、ウェブプロパティとスクリプトコードを交換することなく、ウェブブラウザ１１０へのコンテキスト情報の転送を可能にし、したがって、無線デバイスとウェブプロパティとの間でスクリプトが転送される場合、クロスサイトスクリプティング（XSS)で起こりうるセキュリティ違反の可能性を最小限にする実施形態を指す。  
[0046]一例として、コール４０２は、無線デバイス１０２におけるウェブブラウザ１１０が、ウェブページ１０８に対するHTTP要求をウェブサーバ１０６に送ることを表す。  
[0047]コール４０４は、ウェブサーバ１０６が、無線デバイス１０２におけるウェブブラウザ１１０に、実行可能コード１１２を含むHTMLコンテンツを送ることを表す。一つの実施形態において、HTMLコンテンツに含まれる実行可能コード１１２は、ジャバスクリプトコードである。実行可能コード１１２は、無線デバイス１０２におけるジャバスクリプトエンジン１３０により実行される。一つの実施形態において、実行可能コード１１２は、追加の実行可能コード１２５がコンテキストアプリケーションプログラム１１７からダウンロードされることを可能にするための命令を含むことができる。  
[0048]コール４０６は、ウェブブラウザ１１０から、追加のスクリプトの形で追加の実行可能コードを要求している無線デバイス１０２におけるアプリケーションプログラム１１７（「ローカルホスト」とも称される）に対して行われるコールを表す。このような実施形態において、追加のスクリプトは、ウェブブラウザ１１０が、ウェブプロパティとスクリプトを交換することなく、コンテキストアプリケーションプログラム１１７から直接コンテキスト情報を得ることを可能にする実行可能コード１２５の形であることができる。 
[0049]コール４０８は、アプリケーションプログラム１１７が、クロスサイトスクリプティング（XSS)で起こりうるセキュリティ違反の可能性を最小限にしつつ、ウェブブラウザ１１０とコンテキストアプリケーションプログラム１１７が通信することを可能にする追加のスクリプトの形の追加の実行可能コード１２５（図１）に応答することを表す。
【００３２】
[0050]コール４１２は、ウェブブラウザ１１０から無線デバイス１０２におけるアプリケーションプログラム１１７（「ローカルホスト」とも称される）に対して行われるHTTPコールを表す。コール４１２は、実行可能コード１１２の実行を表し、ウェブブラウザ１１０がコンテキストアプリケーションプログラム１１７に含まれるコンテキストデータにアクセスすることを可能にするために、ウェブブラウザ１１０に、ネイティブアプリケーション１１５が無線デバイス１０２におけるネイティブアプリケーション１１５に対して、TCP（トランスミッションコントロールプロトコル）ポートへのウェブソケット接続をオープンすることを要求させることを表す。
【００３３】
[0051]コール４１４は、ネイティブアプリケーション１１５が無線デバイス１０２におけるブラウザ１１０へのウェブソケット接続をオープンすることを表す。
【００３４】
[0052]コール４１６は、無線デバイス１０２におけるウェブブラウザ１１０が、実行可能コード１１２および実行可能コード１２５を実行することを表し、ブラウザ１１０がアプリケーションプログラム１１７に含まれるコンテキストデータにアクセスすることを可能にするために、ウェブブラウザ１１０に、ネイティブアプリケーション１１５が無線デバイス１０２におけるネイティブアプリケーション１１５に対して、TCPポートへのウェブソケット接続をオープンすることを要求することを表す。コンテキストデータは、ウェブサーバ１０６に送られる。
【００３５】
[0053]コール４１８は、ウェブサーバ１０６が、無線デバイス１０２から受信したコンテキスト情報に基づき、無線デバイス１０２にコンテキストコンテンツを供給することを表す。
【００３６】
[0054]図５は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の別の実施形態を説明するフローチャートである。ブロック５０２において、無線デバイス１０２は、ウェブサーバ１０６からのウェブページ１０８を要求する。
【００３７】
[0055]ブロック５０４において、ウェブサーバは、無線デバイス１０２に、実行可能コードを含むHTMLコンテンツを送る。一つの実施形態において、HTMLコンテンツはジャバスクリプトコード１１２を含む。
【００３８】
[0056]ブロック５０６において、ウェブブラウザ１１０は、実行可能コードを実行し、コンテキストアプリケーションプログラム１１７に、追加のスクリプトの形で追加の実行可能コードを要求する。
【００３９】
[0057]ブロック５０８において、コンテキストアプリケーションプログラム１１７は、クロスサイトスクリプティング（XSS)で起こりうるセキュリティ違反の可能性を最小限にしつつ、ウェブブラウザ１１０とアプリケーションプログラム１１７が通信することを可能にする追加のスクリプトの形の追加の実行可能コード１２５（図１）を有するページ１１８でウェブブラウザ１１０に応答する。
【００４０】
[0058] ブロック５１２において、無線デバイス１０２におけるウェブブラウザ１１０は、実行可能コード１１２を実行し、ウェブブラウザ１１０が、無線デバイス１０２のコンテキストアプリケーションプログラム１１７に含まれるコンテキストコンテンツデータにアクセスすることを可能にするため、ネイティブアプリケーション１１５が、ネイティブアプリケーション１１５に対するTCPポートへのウェブソケット接続をオープンすることを要求する。
【００４１】
[0059]ブロック５１４において、ウェブブラウザ１１０は、ネイティブアプリケーション１１５と相互作用して、無線デバイス１０２におけるアプリケーションプログラム１１７からコンテキスト情報を抽出する。一つの実施形態において、ネイティブアプリケーション１１５は、常に動作して無線デバイス１０２に関するプロファイル、履歴、および他のリアルタイムデータを蓄積する「リスナー」機能と称されるものを含むことができる。  
[0060]ブロック５１６において、無線デバイス１０２におけるウェブブラウザ１１０は、ウェブサーバ１０６およびウェブサイト１０８にコンテキスト情報を送る。
【００４２】
[0061]ブロック５１８において、ウェブサーバ１０６は、無線デバイス１０２に関するコンテキスト情報に基づき、無線デバイスにコンテキストコンテンツを供給する。
【００４３】
[0062]図６は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法を実現することができる無線デバイス６００の例を示すブロック図である。一つの実施形態において、無線デバイス６００は、「ブルートゥース」無線通信デバイス、携帯電話、ワイファイ使用可能通信デバイス、または他の任意の通信デバイスであることができる。ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法の実施形態は、任意の通信デバイスにおいて実現することができる。図６に例示された無線デバイス６００は、携帯電話の簡素化された例を意図し、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法が実現される多くの考えられる応用例の一つを例示することを意図する。当業者は、携帯電話の動作を理解している。したがって、実施の詳細は省略される。一つの実施形態において、無線デバイス６００は、システムバス６３２を通じて互いに接続されたベースバンドサブシステム６１０およびRFサブシステム６２０を含む。システムバス６３２は、上記の素子同士を互いに接続し、それらの相互運用性を可能にする物理的および論理的結合を含むことができる。一つの実施形態において、RFサブシステム６２０は、無線トランシーバであることができる。わかりやすくするために詳細は図示しないが、RFサブシステム６２０は、一般に、送信用ベースバンド情報信号を作成するための変調アップコンバージョン増幅回路を有する送信モジュール６３０を含み、データを回収するためRF信号を受信してベースバンド情報信号ダウンコンバートするための増幅フィルタリングダウンコンバージョン回路を有する受信モジュール６４０を含み、および、ダイプレクサ回路、デュプレクサ回路または、当業者に知られているように、受信信号と送信信号とを分離することができる他の任意の回路を含むフロントエンドモジュール（FEM)６５０を含む。アンテナ６６０は、FEM６５０に接続される。  
[0063]ベースバンドサブシステム６１０は、一般に、システムバス６１２を通じて接続された、汎用または専用マイクロプロセッサであることができるプロセッサ６０２と、メモリ６１４と、アプリケーションソフトウェア６０４と、アナログ回路素子６０６と、デジタル回路素子６０８とを含む。システムバス６１２は、上記の素子同士を互いに接続し、それらの相互運用性を可能にするための物理的および論理的結合を含むことができる。
【００４４】
[0064]入力／出力（I/O）素子６１６は、接続部６２４を通じてベースバンドサブシステム６１０に接続され、メモリ６１８は、接続部６２６を通じてベースバンドサブシステム６１０に結合される。I/O素子６１６は、たとえば、マイクロフォン、キーパッド、スピーカ、ポインティングデバイス、ユーザインターフェイス制御素子、およびユーザが入力コマンドを提供し無線デバイス６００から出力を受信することを可能にする他の任意のデバイスまたはシステムを含むことができる。
【００４５】
[0065]メモリ６１８は、揮発性または不揮発性の任意のタイプであることができ、一つの実施形態において、フラッシュメモリを含むことができる。メモリ６１８は、無線デバイス６００に常設されることができ、または、着脱可能メモリカードのような着脱可能メモリ素子であることもできる。  
[0066]プロセッサ６０２は、無線デバイス６００の動作および機能を制御するためのアプリケーションソフトウェア６０４を実行する任意のプロセッサであることができる。メモリ６１４は、揮発性または不揮発性のメモリであることができ、一つの実施形態において、アプリケーションソフトウェア６０４を記憶する不揮発性メモリであることができる。  
[0067]アナログ回路６０６およびデジタル回路６０８は、I／O素子６１６により提供される入力信号を送信されるべき情報信号に変換する信号処理、信号変換およびロジックを含む。同様に、アナログ回路６０６およびデジタル回路６０８は、受信信号からの回収情報を含む情報信号を生成するために使用される信号処理素子を含む。デジタル回路６０８は、たとえば、デジタル信号プロセッサ（DSP)、フィールドプログラマブルゲートアレイ（FPGA)、または他の任意の処理デバイスを含むことができる。ベースバンドサブシステム６１０は、アナログおよびデジタルの両方の素子を含むので、混合信号デバイス（MSD)と称されることができる。
【００４６】
[0068]ベースバンドサブシステム６１０は、また、ジャバスクリプトエンジン１３０および実行可能コード１１２のインスタンスを含む、ウェブブラウザ１１０のインスタンスを含む。メモリ６１４は、データベース６４２と、コンテキストアプリケーションプログラム１１７のインスタンスを含む、ネイティブアプリケーション１１５のインスタンスを含む。一つの実施形態の例において、データベース６４２は、コンテキストアプリケーションプログラム１１７から得られる無線デバイス６００に関するコンテキストデータを記憶する。ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法の一つの実施形態において、ウェブブラウザ１１０におけるジャバスクリプトエンジン１３０は、実行可能コード１１２を実行して、ウェブブラウザ１１０がデータベース６４２に含まれるコンテキストコンテンツデータにアクセスすることを可能にするため、ネイティブアプリケーション１１５がネイティブアプリケーション１１５に対するTCPポートへのウェブソケット接続をオープンすることを要求する。この相互作用は、図６において、矢印６４６を用いて例示され、また、コンテキストアプリケーションプログラム１１７とジャバスクリプトエンジン１３０との間の直接接続として矢印６５２を用いて例示される。ポートは、TCPポートであることができ、またはネイティブアプリケーション１１５とコンテキストアプリケーションプログラム１１７とをウェブブラウザ１１０または無線デバイス６００におけるその他の素子にさらすためのその他の手段であることができる。実行可能コード１１２、またはもし含まれるとしたら追加の実行可能コード１２５は、ウェブプロパティとスクリプトを交換することなく、コンテキストアプリケーションプログラム１１７から取得されデータベース６４２に記憶されたコンテキスト情報を抽出するため、ネイティブアプリケーション１１５と相互に作用する。この相互作用は、図６において、矢印６４８を用いて例示される。一つの実施形態において、ネイティブアプリケーション１１５は、常に動作して無線デバイス６００に関するプロファイル、履歴、および他のリアルタイムデータを蓄積する「リスナー」機能と称されるものを含むことができる。
【００４７】
[0069]無線デバイス６００におけるウェブブラウザ１１０は、その後、ウェブサーバ１０６とウェブサイト１０８にコンテキスト情報を送り、これにより、ウェブサイト１０８は、コンテキスト情報に基づいて無線デバイス６００にコンテキストコンテンツを提供することができる。
【００４８】
[0070]上の開示の点から、プログラミングの分野における当業者は難なく、例えば、本明細書におけるフローチャートおよび関連する記述に基づいて、開示された発明を実現するための適切なハードウェアおよび／または回路を識別することが、またはコンピュータコードを書くことができる。したがって、特定のセットのプログラムコード命令または詳細なハードウェアデバイスの開示は、どのように本発明を製造および使用すべきかの十分な理解のために必要であると考えられない。特許請求の範囲における、コンピュータによって実現されるプロセスの発明的な機能は、様々なプロセスフローを例示しうる図と関連して、ならびに上記の記述でより詳細に説明されている。
【００４９】
[0071]一つ以上の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実現されうる。ソフトウェアで実現される場合、これら機能は、コンピュータ可読媒体上で、１つ以上の命令またはコードとして送信または記憶されうる。コンピュータ可読媒体は、１つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体およびコンピュータ記憶媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされうる任意の利用可能な媒体でありうる。限定ではなく例として、このようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で望ましいプログラムコードを搬送または記憶するために使用され、かつ、コンピュータによってアクセスされうる他の任意の媒体を備えうる。  
[0072]また、いずれの接続手段もコンピュータ可読媒体と厳密には称される。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（「ＤＳＬ」）、または赤外線、電波、およびマイクロ波のような無線技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースから送信される場合には、この同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、電波、およびマイクロ波のような無線技術は、媒体の定義に含まれる。  
[0073]ここで使用される場合、ディスク（disk）およびディスク（disc）は、コンパクトディスク（「ＣＤ」）、レーザーディスク（登録商標）、光ディスク、デジタル多目的ディスク（「ＤＶＤ」）、フロッピー（登録商標）ディスクおよびブルーレイ（登録商標）ディスクを含み、ここで、ディスク（disks）は、通常磁気的にデータを再生し、一方ディスク（discs）は、レーザーを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００５０】
[0074]選択された態様は、詳細に例示および記述されているけれども、様々な代用および変更が、以下の特許請求の範囲によって定義されるように、本発明の趣旨および範囲から逸脱することなく、そこになされることができることは理解されることになる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法であって、
無線デバイス上のネイティブアプリケーションを提供することと、
コンテンツ要求を送信することと、
実行可能コードを含むコンテンツを受信することと、
前記実行可能コードを実行して、無線デバイスに関するコンテキスト情報にアクセスすることと、
コンテキスト情報を送信することと、
前記コンテキスト情報に基づいて無線デバイスにおいてコンテキストコンテンツを受信することと、
を含む方法。
［Ｃ２］  前記コンテキスト情報を送信することは、前記コンテキスト情報をコンテンツプロバイダに送信することを含む、
Ｃ１に記載の方法。
［Ｃ３］  前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
Ｃ２に記載の方法。
［Ｃ４］  前記実行可能コードを実行して、前記コンテキスト情報にアクセスすることは、前記実行可能コードが実行している前記無線デバイスにポートをオープンすることと、前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスモジュールを用いて、前記無線デバイスに記憶されたコンテキスト情報にアクセスすることを含む、
Ｃ２に記載の方法。
［Ｃ５］  前記無線デバイスに前記ポートをオープンすることは、
前記無線デバイスにおいて、ＨＴＴＰ要求をコンテキストアウェアネスアプリケーションに送ることと、
前記無線デバイスにおいて、前記ネイティブアプリケーションとウェブブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
Ｃ４に記載の方法。
［Ｃ６］  前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
Ｃ４に記載の方法。
［Ｃ７］  前記ネイティブアプリケーションから追加の実行可能コードを受信することと、
前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスすることとをさらに含み、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、
Ｃ１に記載の方法。
［Ｃ８］  ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法であって、
コンテンツ要求を受信することと、
実行可能コードを含むコンテンツを送信することと、
コンテキスト情報を受信することと、
前記コンテキスト情報に基づいてコンテキストコンテンツを送信することと、
を含む方法。
［Ｃ９］  前記コンテンツ要求は、ネイティブアプリケーションを有する無線デバイスから受信され、前記ネイティブアプリケーションは、コンテンツプロバイダに関連する、
Ｃ８に記載の方法。
［Ｃ１０］  前記実行可能コードは、前記無線デバイスにおいてコンテキスト情報へのアクセスを可能にする、
Ｃ９に記載の方法。
［Ｃ１１］  前記コンテキスト情報を受信することは、前記コンテンツプロバイダが、前記無線デバイスに前記コンテキストコンテンツを送信することを可能にする、
Ｃ１０に記載の方法。
［Ｃ１２］  前記実行可能コードは、追加の実行可能コードをさらに含み、前記無線デバイスにおけるウェブブラウザが、前記無線デバイスにある追加の実行可能コードにアクセスすることを可能にするよう構成される、
Ｃ１１に記載の方法。
［Ｃ１３］  無線デバイスであって、
ネイティブアプリケーションと、
コンテンツ要求を送信し、実行可能コードを含む前記コンテンツを受信するよう構成されたウェブブラウザと、
前記実行可能コードを実行して、前記無線デバイスにあるコンテキスト情報にアクセスするよう構成されたプロセッサと、を含み、
前記ウェブブラウザは、前記コンテキスト情報を送信するよう構成され、
無線デバイスは、前記コンテキスト情報に基づきコンテキストコンテンツを受信するよう構成された、
無線デバイス。
［Ｃ１４］  前記コンテキスト情報は、コンテンツプロバイダに送信される、
Ｃ１３に記載の無線デバイス。
［Ｃ１５］  前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
Ｃ１４に記載の無線デバイス。
［Ｃ１６］  さらに、前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスアプリケーションを含み、前記実行可能コードを実行してコンテキスト情報にアクセスすることは、前記無線デバイスにおけるネイティブアプリケーションに対してポートをオープンすることと、前記コンテキストアウェアネスアプリケーションを用いることにより前記無線デバイスに記憶されたコンテキスト情報にアクセスすることとを含む、
Ｃ１４に記載の無線デバイス。
［Ｃ１７］  前記無線デバイスに前記ポートをオープンすることは、
前記無線デバイスにおいて、ＨＴＴＰ要求を前記コンテキストアウェアネスアプリケーションに送ることと、
前記無線デバイスにおいて、前記ネイティブアプリケーションとブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
Ｃ１６に記載の無線デバイス。
［Ｃ１８］  前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
Ｃ１６に記載の無線デバイス。
［Ｃ１９］  前記ネイティブアプリケーションに関連付けられた追加の実行可能コードを含み、
前記プロセッサは、前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスし、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、
Ｃ１６に記載の無線デバイス。
［Ｃ２０］  無線デバイス上のネイティブアプリケーションを提供することと、
コンテンツ要求を送信することと、
実行可能コードを含むコンテンツを受信することと、
前記実行可能コードを実行して、前記無線デバイスに関するコンテキスト情報にアクセスすることと、
前記コンテキスト情報を送信することと、
前記コンテキスト情報に基づいて前記無線デバイスにおけるコンテキストコンテンツを受信すること、
を含む動作を無線デバイスに行わせるよう構成されたサーバ実行可能命令を記憶した非一時的サーバ可読媒体。
［Ｃ２１］  前記コンテキスト情報を送信することは、前記コンテキスト情報をコンテンツプロバイダに送信することを含む、
Ｃ２０に記載の非一時的媒体。
［Ｃ２２］  前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
Ｃ２１に記載の非一時的媒体。
［Ｃ２３］  前記実行可能コードを実行して、前記コンテキスト情報にアクセスすることは、前記実行可能コードが実行している前記無線デバイスにポートをオープンすることと、前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスモジュールを用いて、前記無線デバイスに記憶されたコンテキスト情報にアクセスすることとを含む、
Ｃ２１に記載の非一時的媒体。
［Ｃ２４］  前記無線デバイスに前記ポートをオープンすることは、
前記無線デバイスにおいて、ＨＴＴＰ要求をコンテキストアウェアネスアプリケーションに送ることと、
前記無線デバイスにおいて、前記ネイティブアプリケーションとウェブブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
Ｃ２３に記載の非一時的媒体。
［Ｃ２５］  前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
Ｃ２３に記載の非一時的媒体。
［Ｃ２６］  前記ネイティブアプリケーションから追加の実行可能コードを受信することと、
前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスすることとをさらに含み、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、Ｃ２０に記載の非一時的媒体。
［Ｃ２７］  コンテンツ要求を受信することと、
実行可能コードを含むコンテンツを送信することと、
コンテキスト情報を受信することと、
前記コンテキスト情報に基づいてコンテキストコンテンツを送信することと、
を含む動作をウェブサーバに行わせるよう構成されたサーバ実行可能命令を記憶した非一時的サーバ可読媒体。
［Ｃ２８］  前記コンテンツ要求は、ネイティブアプリケーションを有する無線デバイスから受信され、前記ネイティブアプリケーションはコンテンツプロバイダに関連する、Ｃ２７に記載の非一時的媒体。
［Ｃ２９］前記実行可能コードは、前記無線デバイスにおいてコンテキスト情報へのアクセスを可能にする、
Ｃ２８に記載の非一時的媒体。
［Ｃ３０］  前記コンテキスト情報を受信することは、前記コンテンツプロバイダが、前記無線デバイスに前記コンテキストコンテンツを送信することを可能にする、
Ｃ１０に記載の非一時的媒体。
［Ｃ３１］前記実行可能コードは、追加の実行可能コードをさらに含み、前記無線デバイスにおけるウェブブラウザが、前記無線デバイスにある追加の実行可能コードにアクセスすることを可能にするよう構成される、
Ｃ３０に記載の非一時的媒体。
［Ｃ３２］  無線デバイスであって、
ネイティブアプリケーションと、
コンテンツ要求を送信し、実行可能コードを含む前記コンテンツを受信するためのウェブブラウザ手段と、
前記実行可能コードを実行して、前記無線デバイスにあるコンテキスト情報にアクセスするためのプロセッサ手段とを含み、
前記ウェブブラウザ手段は、前記コンテキスト情報を送信し、前記コンテキスト情報に基づくコンテキストコンテンツを受信する、
無線デバイス。
［Ｃ３３］  前記コンテキスト情報は、コンテンツプロバイダに送信される、
Ｃ３２に記載の無線デバイス。
［Ｃ３４］  前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
Ｃ３３に記載の無線デバイス。
［Ｃ３５］  前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスアプリケーションをさらに含み、前記実行可能コードを実行してコンテキスト情報にアクセスすることは、前記無線デバイスにおけるネイティブアプリケーションに対してポートをオープンすることと、前記コンテキストアウェアネスアプリケーションを用いることにより前記無線デバイスに記憶されたコンテキスト情報にアクセスすることとを含む、
Ｃ３３に記載の無線デバイス。
【図１】
0006009714.tif 000002
【図２】
0006009714.tif 000003
【図３】
0006009714.tif 000004
【図４】
0006009714.tif 000005
【図５】
0006009714.tif 000006
【図６】
0006009714.tif 000007