ネイティブアプリケーションへのウェブプロパティアクセスを可能にするためのシステムおよび方法

 

ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法であって、ネイティブアプリケーションを無線デバイスに提供することと、コンテンツ要求を送信することと、実行可能コードを含むコンテンツを受信することと、前記実行可能コードを実行して、前記無線デバイスに関するコンテキスト情報にアクセスすることと、コンテキスト情報を送信することと、前記コンテキスト情報に基づいて前記無線デバイスのコンテキストコンテンツを受信することとを含む方法。

 

 

[0001] ウェブサイトからのコンテンツの形式の情報は、一般に、多くの異なる種類の装置およびユーザに提供される。ますます多くのウェブコンテンツを受け取るようになってきているデバイスおよびユーザの一つには、無線デバイスおよびモバイルユーザがある。無線デバイスは、携帯用コンピュータデバイス、タブレットコンピュータ、スマートフォン、またはウェブコンテンツを閲覧及び受信することが可能なその他の任意の携帯用または無線デバイスであることができる。
[0002]モバイル無線コンピュータデバイスにおけるウェブブラウザは、オンラインで情報にアクセスする主要な方法を提供する。ユーザのなかには、無線デバイスに一つ以上のアプリケーションをインストールする者がいるかも知れないが、大多数のユーザにとっては、オンラインでコンテンツにアクセスすることは、一般に、そのデバイスにもともと備わった一つのウェブブラウザまたはそのデバイスにダウンロードされた一つのウェブブラウザを用いて行われる。ウェブブラウザは、W3C(ワールドワイドウェブコンソーシアム)仕様に準拠し、ウェブブラウザの中には追加機能を含むものもありうる。しかしながら、ウェブブラウザは、それらがインストールされたデバイスのネイティブアプリケーションプログラムインターフェイス(API)を十分にブリッジせず、したがって、ウェブアプリケーションは、ネイティブアプリケーションに比べて機能が限定されている。
[0003]HTML5にしたがって動作するほとんどのウェブアプリケーションにまだ広く利用されていない機能の一つは、実行可能コード(すなわち、ジャバスクリプトコード)が、ウェブソケットインターフェイスを用いてブラウザが動作している同じプラットフォームでアプリケーションにアクセスできるようにする機能である。たとえば、ウェブアプリケーションが、ユーザの日常生活に関連してウェブアプリケーションにアクセスするユーザの位置(たとえば、家、仕事、ジム、学校などのようなユーザの位置)に基づいてその動作を適合させることが望ましい場合、その機能は、ユーザの位置を積極的に監視し、時間をかけてこれらの位置の履歴またはデータベースを構築する必要がある。しかしながら、これは既存のウェブブラウザでは可能ではない。なぜならば、ユーザの位置は、積極的なウェブ閲覧の間のみにアクセス可能であり、「積極的な監視」という概念は、アプリケーションおよびブラウザのライフサイクルの制約によりHTML5に基づくウェブブラウザのバックグラウンドで作動するジャバスクリプトコードにより実現することができないからである。たとえば、HTML5のアプリケーションは、そのワーカーの一つのライフサイクルを制御することができないかもしれず、リソースのコンフリクトの場合、ブラウザによりいつでも中断されるかもしれない。「ワーカー」(worker)という用語は、バックグラウンドプロセスとしてそれ自体のスレッドにおいて実行することができるHTML5のジャバスクリプトを指す。したがって、ウェブサイトは、ユーザがデバイスを携帯して使用する際に、時間をかけて統合されることができる情報を用いてウェブサイトにアクセスするデバイスのユーザに関連する重要なコンテキスト情報(contextual information)からのコンテンツ配信を適合させることができない。
[0004] 単なる例として、ヤフー(www.yahoo.com)のような大規模なウェブサイトの中には、ユーザに対してそのユーザの経験を当該ウェブサイトに最適化するネイティブアプリケーションをダウンロードするよう促す機能を有するものがある。残念ながら、これらのウェブサイトは、一般に、eメール、ニュース、インスタントメッセージのような非常に限定的なサービスを提供するものであるが、ネイティブアプリケーションに取り込まれていないウェブプロパティ(対象のウェブサイトと同じドメインの他のウェブサイト)もなお有している。
[0005] したがって、ユーザがそのサイトを閲覧している間に、ウェブプロパティがユーザ固有の個人的情報にアクセスすることができるようにして、ユーザに豊富な経験を提供するのが望ましいと思われる。
[0006]ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法の実施形態は、ネイティブアプリケーションを無線デバイスに提供することと、コンテンツ要求を送信することと、実行可能コードを含むコンテンツを受信することと、実行可能コードを実行して、無線デバイスに関するコンテキスト情報(contextual information)にアクセスすることと、コンテキスト情報を送信することと、コンテキスト情報に基づいて無線デバイスのコンテキストコンテンツ(contextual content)を受信することとを含む。
[0007]無線デバイスの実施形態は、ネイティブアプリケーションと、コンテンツ要求を送信し、実行可能コードを含むコンテンツを受信するよう構成されたウェブブラウザと、実行可能コードを実行して、その無線デバイスにあるコンテキスト情報にアクセスするよう構成されたプロセッサとを含む。ウェブブラウザは、コンテキスト情報を送信するよう構成され、無線デバイスは、コンテキスト情報に基づいてコンテキストコンテンツを受信するよう構成される。
[0008]図面では、他の方法で示されていない限り、同じ参照番号が、様々なビュー全体を通じて、同じ部分を指す。「102a」または「102b」のような文字指定を有する参照番号では、文字指定は、同じ図面にある2つの同じ部分または要素を区別することができる。参照番号に対する文字指定は、参照番号が全ての図面における同じ参照番号を有する全ての部分を包含することが意図されているとき、省略されることができる。
ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムの実施形態を例示する機能ブロック図である。 ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の実施形態を例示するコールフロー図である。 ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の実施形態を説明するフローチャートである。 ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の別の実施形態を例示するコールフロー図である。 ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の別の実施形態を説明するフローチャートである。 ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法を実現することができる無線デバイスの例を示すブロック図である。
[0015]「例示的(exemplary)」という用語は、「例、実例、または例示としての役目をする」を意味するようにここでは使用される。「例示的」であるとここで説明されたいずれの態様も、必ずしも、他の態様よりも好ましいまたは有利であると解釈されるべきではない。
[0016]本記述では、「アプリケーション(application)」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような実行可能なコンテンツを有するファイルをも含みうる。加えて、ここで言う「アプリケーション」は、開かれる必要がありうる文書、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルをも含むことができる。
[0017] 「コンテンツ(content)」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような実行可能なコンテンツを有するファイルをも含むことができる。加えて、ここで言う「コンテンツ」は、開かれる必要がありうる文書、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルをも含むことができる。
[0018]本記述で使用されているように、「コンポーネント(component)」、「データベース(database)」、「モジュール(module)」、「システム(system)」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれか、のコンピュータ関連エンティティを指すに意図されている。例えば、コンポーネントは、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行ファイル(executable)、実行スレッド、プログラム、および/またはコンピュータでありうるがこれらに限定されない。例示として、コンピュータデバイス上で実行中のアプリケーションと、コンピュータデバイスとの両方がコンポーネントでありうる。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に存在することができ、コンポーネントは、1つのコンピュータ上で局所化、および/または、2つ以上のコンピュータ間で分散されることができる。加えて、これらのコンポーネントは、様々なデータ構造を記憶した様々なコンピュータ可読媒体により実行することができる。コンポーネントは、1つまたは複数のデータパケット(ローカルシステム中の、分散システム中の別のコンポーネントと相互動作する1つのコンポーネントからのデータ、および/または、インターネットのようなネットワークにわたって信号を介して他のシステムと相互動作する1つのコンポーネントからのデータ)を有する信号にしたがうような、ローカルおよび/またはリモートプロセスによって通信することができる。
[0019]ここで使用されているように、「ユーザデバイス」という用語は、ウェブサイトからコンテンツを受信することができ、ウェブサイトへ情報を発信することができるデバイスを含む。ユーザデバイスは、固定デバイス、無線デバイスまたはモバイルデバイスでありうる。
[0020]ここで使用されているように、「無線デバイス」という用語は、ウェブプロパティまたはウェブサイトにアクセスすることができる任意の携帯用または無線コンピュータデバイスのことを指す。ここで使用されているように、「ユーザデバイス」という用語は、「無線デバイス」という用語と置き換え可能である。
[0021]ここで使用されているように、「ユーザ」という用語は、ユーザデバイスまたは無線デバイスでコンテンツを受信し、ウェブサイトに情報を発信する個人のことを指す。
[0022]ここで使用されているように、「コンテキスト(context)」という用語は、ユーザ、ユーザデバイスまたは無線デバイスの、物理的、論理的、社会的およびその他のコンテキスト情報のような属性の任意のまたはすべてのことを指す。
[0023]ここで使用されているように、「コンテキストアウェアメタデータ(context aware metadata)」および「コンテキストメタデータ(contextual metadata)」という用語は、ユーザ、ユーザデバイスまたは無線デバイスのコンテキストを記述または定義するメタデータのことを指す。
[0024]ここで使用されているように、「コンテキストアウェアコンテンツ(context aware content)」という用語は、ユーザデバイスまたは無線デバイスに配信され、ユーザのコンテキストに適合されるコンテンツのことを指す。
[0025]ここで使用されているように、「ウェブプロパティ(web property)」という用語は、一つ以上のウェブページを有する一つ以上のウェブサイトを有するエンティティのことを指す。
[0026]一つの実施形態において、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法は、ネイティブアプリケーションがコンテキストアウェアネスアプリケーションのようなシステムを組み込み、(ネイティブアプリケーションがダウンロードされる無線デバイスに対して)ローカルウェブソケットインターアクションを可能にすることを含み、その結果ネイティブアプリケーション(たとえばヤフー)のデベロッパーに固有のウェブプロパティが、もともと備わった機能の利益を享受することができる。たとえば、ヤフーがネイティブアプリケーションにコンテキストアウェアネスアプリケーションを組み込み、そのコンテキストアウェアネスアプリケーションが無線デバイスにおいてローカル接続をオープンして、ヤフープロパティ(ウェブサイト)がそれにアクセスすることを許可する場合であって、もしヤフーのウェブプロパティが、無線デバイスと通信するため(たとえば、ウェブソケット接続を介して)ジャバスクリプトコードのような実行可能コードを組み込み、かつ無線デバイスのユーザがヤフーの(コンテキストアウェアネスアプリケーションを組み込んだ)ネイティブアプリケーションをインストール済みの場合は、ヤフーのウェブプロパティは、ユーザの無線デバイスからユーザのコンテキストデータにアクセスすることができる。ウェブプロパティが無線デバイスにコンテキストアウェアコンテンツを提供することを可能にするため、ユーザのコンテキストデータは、コンテキストアウェアネスアプリケーションにより、ウェブプロパティに利用可能となる。ヤフーを例として用いると、これによりヤフーは、無線デバイスのユーザがネイティブヤフーアプリケーションをダウンロードし起動した後、無線デバイスからアクセスされたとき、そのウェブサイトのすべてにおいてコンテキスト広告を表示することが可能となる。
[0027]図1は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムの実施形態を例示する機能ブロック図である。システム100は、ネットワーク104を通じてウェブサーバ106に接続された無線デバイス102を含む。無線デバイス102は、ワールドワイドウェブにアクセスすることが可能で、かつ通信チャネル103を通じてネットワーク104に接続されうる携帯電話、タブレットコンピュータデバイス、またはその他の任意の無線デバイスのような、任意のモバイルコンピュータデバイスでありうる。通信チャネル103は、無線通信チャネルとして図示されているが、いかなる通信チャネルでもありうる。ウェブサーバ106は、通信チャネル105を通じてネットワーク104に接続されうる。通信チャネル105は、有線通信チャネルとして図示されているが、いかなる通信チャネルでもありうる。ウェブサーバ106は、コンテンツをウェブプロパティ120から無線デバイス102へネットワーク104を通じて提供することができるハイパーテキスト転送プロトコル(HTTP)サーバでありうる。一つの実施形態において、ウェブサーバ106は、一つ以上のウェブページ108の形のコンテンツを一つ以上のウェブサイト107から保持し、また配信することができる。ウェブページ108は、HTMLコンテンツを含む様々なウェブベースのコンテンツを含むことができると理解され、また、単一のウェブページ108が図示されているが、ウェブプロパティ120は複数のウェブページ108を有する複数のウェブサイト107を有することができると理解される。ネットワーク104は、任意の広域ネットワークまたはローカルエリアネットワークでありうるし、また、一つの実施形態において、ワールドワイドウェブでありうる。
[0028]無線デバイス102は、図1において、ワールドワイドウェブにアクセス可能なきわめて簡略化された無線デバイスとして示されている。当業者は、無線デバイス102が、簡略化のために図1では省略されている多くのその他の構成要素を有していることを理解する。無線デバイス102は、ウェブブラウザ110とネイティブアプリケーション115とを含む。
[0029]一例として、ネイティブアプリケーション115は、ウェブプロパティ120によりまたはウェブサイト107により提供され、無線デバイス102にダウンロードされるか、またはそうでなければインストールされるアプリケーションでありうる。一例として、ネイティブアプリケーション115は、ウェブサーバ106から無線デバイス102にダウンロードされうる。ネイティブアプリケーション115は、ウェブプロパティ120またはウェブサイト107により提供されるか、リンクされるか、またはそうでなければ関連付けられるアプリケーションでありうる。一例として、ウェブブラウザ110が、ウェブプロパティ120、またはウェブプロパティ120に保持されているウェブサイト107またはウェブページ108にアクセスするために用いられるとき、ウェブサイト107は、無線デバイス102のユーザに、豊富なまたはよりよいユーザエクスペリエンスを提供する方法として、ネイティブアプリケーション115を無線デバイス102に提供しうる。
[0030]一つの実施形態において、ネイティブアプリケーション115は、アプリケーションプログラム117を含みうる。一つの実施形態において、アプリケーションプログラム117は、コンテキストアウェアネスモジュールまたはアプリケーションでありうるし、または無線デバイス102に関する、および/または無線デバイス102のユーザに関するコンテキスト情報を収集および保持することができる任意のモジュールまたはアプリケーションでありうる。これに関連して、アプリケーションプログラム117は、無線デバイス102に関するコンテキスト情報にアクセスすることができるという点において、「リスナー」アプリケーションまたは「コンテキスト」アプリケーションと称することができる。別のインプリメンテーションにおいて、ネイティブアプリケーション115は、別個のアプリケーションプログラム117を用いずに、無線デバイス102に関するコンテキスト情報を収集、保持およびアクセスすることができる機能を提供する別個のまたは統合されたモジュールを含みうる。しかしながら、ここに記載した実施形態において、アプリケーションプログラム117は、ネイティブアプリケーション115に含まれるか、またはそうでなければそれに関連するコンテキストアウェアネスアプリケーションであることができ、コンテキストアプリケーションプログラム117と称される。コンテキストアプリケーションプログラム117は、無線デバイス102に関する、および/または無線デバイス102のユーザに関するコンテキスト情報を収集、保持およびアクセスすることができる。「コンテキスト情報」という用語は、ユーザのプロファイル、ユーザの閲覧習慣、ユーザの位置、または無線デバイス102のユーザに関する他の任意のコンテキスト情報に関する任意の情報を指す。
[0031]ウェブサイト107またはウェブページ108は、また、無線デバイス102に実行可能コード112を転送しうる。一つの実施形態において、実行可能コード112は、ジャバスクリプトコードでありうるが、他の実行可能コードも可能である。一つの実施形態において、実行可能コード112は、ウェブブラウザ110がウェブページ108にアクセスするとき、ウェブサイト107により提供されるHTMLコンテンツと共にウェブブラウザ110に提供される。ウェブブラウザ110は、またジャバスクリプトエンジン130をも含む。ジャバスクリプトエンジン130は、ジャバスクリプトコードのような実行可能コード112を実行するよう構成されている。一つの実施形態において、実行可能コード112は、ウェブブラウザ110のジャバスクリプトエンジン130により実行され、ネイティブアプリケーション115がTCP(トランスミッションコントロールプロトコル)ポートをネイティブアプリケーション115に対してオープンするよう要求することにより、ウェブブラウザ110がネイティブアプリケーション115と相互作用することを可能にする。一つの実施形態において、ウェブブラウザ110のジャバスクリプトエンジン130は、実行可能コード112を実行し、無線デバイス102のコンテキストアプリケーションプログラム117に含まれるデータにアクセスするため、ネイティブアプリケーション115が、ウェブソケット接続を無線デバイス102のコンテキストアプリケーションプログラム117に対してオープンさせることを可能にする。一つの実施形態において、ネイティブアプリケーション115によりアクセスされたデータは、コンテキストアプリケーションプログラム117により保持されたか、またはそうでなければネイティブアプリケーション115に保持されたコンテキスト情報に関連する。
[0032]別の実施形態において、実行可能コード112の実行は、ジャバスクリプトエンジン130にコンテキストアプリケーションプログラム117からページ118をダウンロードさせるであろう。ページ118は、追加の実行可能コード125を含む。このようなインプリメンテーションは、無線デバイス102のセキュリティを危険にさらす可能性のある、クロスサイトスクリプティング(XSS)に関連したセキュリティ違反の防止に有益でありうる。このような実施形態において、実行可能コード125は、ウェブブラウザ110が、ウェブプロパティとスクリプトを交換することなく、コンテキストアプリケーションプログラム117から直接コンテキスト情報を得ることを可能にする。一つの実施形態において、実行可能コード112は、追加の実行可能コード125をコンテキストアプリケーションプログラム117からダウンロードされることを可能にするための命令を含むことができる。
[0033]図2は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の実施形態を例示するコールフロー図200である。線図200は、参考のため図1の様々な要素の動作を例示する。たとえば、コール202は、無線デバイス102におけるウェブブラウザ110が、ウェブページ108に対するHTTP要求をウェブサーバ106に送ることを表す。
[0034]コール204は、ウェブサーバ106が、無線デバイス102におけるウェブブラウザ110に、実行可能コード112を含むHTMLコンテンツを送ることを表す。一つの実施形態において、HTMLコンテンツに含まれる実行可能コード112は、ジャバスクリプトコードである。実行可能コード112は、無線デバイス102におけるジャバスクリプトエンジン130により実行される。
[0035]コール206は、ウェブブラウザ110から無線デバイス102におけるコンテキストアプリケーションプログラム117(「ローカルホスト」とも称される)に対して行われるHTTPコールを表す。コール206は、ウェブブラウザ110がコンテキストアプリケーションプログラム117に含まれるコンテキストデータにアクセスすることを可能にするために、ネイティブアプリケーション115が、無線デバイス102において、ネイティブアプリケーション115に対してTCP(トランスミッションコントロールプロトコル)ポートへのウェブソケット接続をオープンするようウェブブラウザ110に要求させる実行可能コード112の実行を表す。
[0036]コール208は、ネイティブアプリケーション115が無線デバイス102におけるブラウザ110へのウェブソケット接続をオープンすることを表す。
[0037]コール210は、無線デバイス102におけるウェブブラウザ110が、実行可能コード112を実行することを表し、ウェブブラウザ110がコンテキストアプリケーションプログラム117に含まれるコンテキストデータにアクセスすることを可能にするため、ネイティブアプリケーション115が、無線デバイス102において、ネイティブアプリケーション115に対してTCPポートへのウェブソケット接続をオープンするようウェブブラウザ110が要求することを表す。コンテキストデータは、ウェブサーバ106に送られる。
[0038]コール212は、ウェブサーバ106が、無線デバイス102から受信したコンテキスト情報に基づき、無線デバイス102にコンテキストコンテンツを供給することを表す。
[0039]図3は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の実施形態を説明するフローチャートである。ブロック302において、無線デバイス102は、ウェブサーバ106からのウェブページ108を要求する。
[0040]ブロック304において、ウェブサーバは、無線デバイス102に、実行可能コードを含むHTMLコンテンツを送る。一つの実施形態において、HTMLコンテンツはジャバスクリプトコード112を含む。
[0041] ブロック306において、無線デバイス102におけるウェブブラウザ110は、実行可能コード112を実行し、ウェブブラウザ110が、無線デバイス102のコンテキストアプリケーションプログラム117に含まれるかまたはそれによりアクセス可能なコンテキストコンテンツデータにアクセスすることを可能にするため、ネイティブアプリケーション115が、ネイティブアプリケーション115に対するTCPポートへのウェブソケット接続をオープンすることを要求する。
[0042]ブロック308において、ウェブブラウザは、ネイティブアプリケーション115と相互作用して、無線デバイス102におけるコンテキストアプリケーションプログラム117からコンテキスト情報を抽出する。一つの実施形態において、ネイティブアプリケーション115は、常に動作して無線デバイス102に関するプロファイル、履歴、および他のリアルタイムデータを蓄積する「リスナー」機能と称されるものを含むことができる。
[0043]ブロック310において、無線デバイス102におけるウェブブラウザ110は、ウェブサーバ106およびウェブサイト108にコンテキスト情報を送る。
[0044]ブロック312において、ウェブサーバ106は、無線デバイス102に関するコンテキスト情報に基づき、無線デバイスにコンテキストコンテンツを供給する。
[0045]図4は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の別の実施形態を例示するコールフロー図400である。線図400は、参考のため図1の様々な要素の動作を例示し、追加の実行可能コード125(図1)がコンテキストアプリケーションプログラム117からウェブブラウザ110に提供されて、ウェブプロパティとスクリプトコードを交換することなく、ウェブブラウザ110へのコンテキスト情報の転送を可能にし、したがって、無線デバイスとウェブプロパティとの間でスクリプトが転送される場合、クロスサイトスクリプティング(XSS)で起こりうるセキュリティ違反の可能性を最小限にする実施形態を指す。
[0046]一例として、コール402は、無線デバイス102におけるウェブブラウザ110が、ウェブページ108に対するHTTP要求をウェブサーバ106に送ることを表す。
[0047]コール404は、ウェブサーバ106が、無線デバイス102におけるウェブブラウザ110に、実行可能コード112を含むHTMLコンテンツを送ることを表す。一つの実施形態において、HTMLコンテンツに含まれる実行可能コード112は、ジャバスクリプトコードである。実行可能コード112は、無線デバイス102におけるジャバスクリプトエンジン130により実行される。一つの実施形態において、実行可能コード112は、追加の実行可能コード125がコンテキストアプリケーションプログラム117からダウンロードされることを可能にするための命令を含むことができる。
[0048]コール406は、ウェブブラウザ110から、追加のスクリプトの形で追加の実行可能コードを要求している無線デバイス102におけるアプリケーションプログラム117(「ローカルホスト」とも称される)に対して行われるコールを表す。このような実施形態において、追加のスクリプトは、ウェブブラウザ110が、ウェブプロパティとスクリプトを交換することなく、コンテキストアプリケーションプログラム117から直接コンテキスト情報を得ることを可能にする実行可能コード125の形であることができる。
[0049]コール408は、アプリケーションプログラム117が、クロスサイトスクリプティング(XSS)で起こりうるセキュリティ違反の可能性を最小限にしつつ、ウェブブラウザ110とコンテキストアプリケーションプログラム117が通信することを可能にする追加のスクリプトの形の追加の実行可能コード125(図1)に応答することを表す。
[0050]コール412は、ウェブブラウザ110から無線デバイス102におけるアプリケーションプログラム117(「ローカルホスト」とも称される)に対して行われるHTTPコールを表す。コール412は、実行可能コード112の実行を表し、ウェブブラウザ110がコンテキストアプリケーションプログラム117に含まれるコンテキストデータにアクセスすることを可能にするために、ウェブブラウザ110に、ネイティブアプリケーション115が無線デバイス102におけるネイティブアプリケーション115に対して、TCP(トランスミッションコントロールプロトコル)ポートへのウェブソケット接続をオープンすることを要求させることを表す。
[0051]コール414は、ネイティブアプリケーション115が無線デバイス102におけるブラウザ110へのウェブソケット接続をオープンすることを表す。
[0052]コール416は、無線デバイス102におけるウェブブラウザ110が、実行可能コード112および実行可能コード125を実行することを表し、ブラウザ110がアプリケーションプログラム117に含まれるコンテキストデータにアクセスすることを可能にするために、ウェブブラウザ110に、ネイティブアプリケーション115が無線デバイス102におけるネイティブアプリケーション115に対して、TCPポートへのウェブソケット接続をオープンすることを要求することを表す。コンテキストデータは、ウェブサーバ106に送られる。
[0053]コール418は、ウェブサーバ106が、無線デバイス102から受信したコンテキスト情報に基づき、無線デバイス102にコンテキストコンテンツを供給することを表す。
[0054]図5は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするための方法の別の実施形態を説明するフローチャートである。ブロック502において、無線デバイス102は、ウェブサーバ106からのウェブページ108を要求する。
[0055]ブロック504において、ウェブサーバは、無線デバイス102に、実行可能コードを含むHTMLコンテンツを送る。一つの実施形態において、HTMLコンテンツはジャバスクリプトコード112を含む。
[0056]ブロック506において、ウェブブラウザ110は、実行可能コードを実行し、コンテキストアプリケーションプログラム117に、追加のスクリプトの形で追加の実行可能コードを要求する。
[0057]ブロック508において、コンテキストアプリケーションプログラム117は、クロスサイトスクリプティング(XSS)で起こりうるセキュリティ違反の可能性を最小限にしつつ、ウェブブラウザ110とアプリケーションプログラム117が通信することを可能にする追加のスクリプトの形の追加の実行可能コード125(図1)を有するページ118でウェブブラウザ110に応答する。
[0058] ブロック512において、無線デバイス102におけるウェブブラウザ110は、実行可能コード112を実行し、ウェブブラウザ110が、無線デバイス102のコンテキストアプリケーションプログラム117に含まれるコンテキストコンテンツデータにアクセスすることを可能にするため、ネイティブアプリケーション115が、ネイティブアプリケーション115に対するTCPポートへのウェブソケット接続をオープンすることを要求する。
[0059]ブロック514において、ウェブブラウザ110は、ネイティブアプリケーション115と相互作用して、無線デバイス102におけるアプリケーションプログラム117からコンテキスト情報を抽出する。一つの実施形態において、ネイティブアプリケーション115は、常に動作して無線デバイス102に関するプロファイル、履歴、および他のリアルタイムデータを蓄積する「リスナー」機能と称されるものを含むことができる。
[0060]ブロック516において、無線デバイス102におけるウェブブラウザ110は、ウェブサーバ106およびウェブサイト108にコンテキスト情報を送る。
[0061]ブロック518において、ウェブサーバ106は、無線デバイス102に関するコンテキスト情報に基づき、無線デバイスにコンテキストコンテンツを供給する。
[0062]図6は、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法を実現することができる無線デバイス600の例を示すブロック図である。一つの実施形態において、無線デバイス600は、「ブルートゥース」無線通信デバイス、携帯電話、ワイファイ使用可能通信デバイス、または他の任意の通信デバイスであることができる。ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法の実施形態は、任意の通信デバイスにおいて実現することができる。図6に例示された無線デバイス600は、携帯電話の簡素化された例を意図し、ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法が実現される多くの考えられる応用例の一つを例示することを意図する。当業者は、携帯電話の動作を理解している。したがって、実施の詳細は省略される。一つの実施形態において、無線デバイス600は、システムバス632を通じて互いに接続されたベースバンドサブシステム610およびRFサブシステム620を含む。システムバス632は、上記の素子同士を互いに接続し、それらの相互運用性を可能にする物理的および論理的結合を含むことができる。一つの実施形態において、RFサブシステム620は、無線トランシーバであることができる。わかりやすくするために詳細は図示しないが、RFサブシステム620は、一般に、送信用ベースバンド情報信号を作成するための変調アップコンバージョン増幅回路を有する送信モジュール630を含み、データを回収するためRF信号を受信してベースバンド情報信号ダウンコンバートするための増幅フィルタリングダウンコンバージョン回路を有する受信モジュール640を含み、および、ダイプレクサ回路、デュプレクサ回路または、当業者に知られているように、受信信号と送信信号とを分離することができる他の任意の回路を含むフロントエンドモジュール(FEM)650を含む。アンテナ660は、FEM650に接続される。
[0063]ベースバンドサブシステム610は、一般に、システムバス612を通じて接続された、汎用または専用マイクロプロセッサであることができるプロセッサ602と、メモリ614と、アプリケーションソフトウェア604と、アナログ回路素子606と、デジタル回路素子608とを含む。システムバス612は、上記の素子同士を互いに接続し、それらの相互運用性を可能にするための物理的および論理的結合を含むことができる。
[0064]入力/出力(I/O)素子616は、接続部624を通じてベースバンドサブシステム610に接続され、メモリ618は、接続部626を通じてベースバンドサブシステム610に結合される。I/O素子616は、たとえば、マイクロフォン、キーパッド、スピーカ、ポインティングデバイス、ユーザインターフェイス制御素子、およびユーザが入力コマンドを提供し無線デバイス600から出力を受信することを可能にする他の任意のデバイスまたはシステムを含むことができる。
[0065]メモリ618は、揮発性または不揮発性の任意のタイプであることができ、一つの実施形態において、フラッシュメモリを含むことができる。メモリ618は、無線デバイス600に常設されることができ、または、着脱可能メモリカードのような着脱可能メモリ素子であることもできる。
[0066]プロセッサ602は、無線デバイス600の動作および機能を制御するためのアプリケーションソフトウェア604を実行する任意のプロセッサであることができる。メモリ614は、揮発性または不揮発性のメモリであることができ、一つの実施形態において、アプリケーションソフトウェア604を記憶する不揮発性メモリであることができる。
[0067]アナログ回路606およびデジタル回路608は、I/O素子616により提供される入力信号を送信されるべき情報信号に変換する信号処理、信号変換およびロジックを含む。同様に、アナログ回路606およびデジタル回路608は、受信信号からの回収情報を含む情報信号を生成するために使用される信号処理素子を含む。デジタル回路608は、たとえば、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、または他の任意の処理デバイスを含むことができる。ベースバンドサブシステム610は、アナログおよびデジタルの両方の素子を含むので、混合信号デバイス(MSD)と称されることができる。
[0068]ベースバンドサブシステム610は、また、ジャバスクリプトエンジン130および実行可能コード112のインスタンスを含む、ウェブブラウザ110のインスタンスを含む。メモリ614は、データベース642と、コンテキストアプリケーションプログラム117のインスタンスを含む、ネイティブアプリケーション115のインスタンスを含む。一つの実施形態の例において、データベース642は、コンテキストアプリケーションプログラム117から得られる無線デバイス600に関するコンテキストデータを記憶する。ネイティブアプリケーションに対するウェブプロパティアクセスを可能にするためのシステムおよび方法の一つの実施形態において、ウェブブラウザ110におけるジャバスクリプトエンジン130は、実行可能コード112を実行して、ウェブブラウザ110がデータベース642に含まれるコンテキストコンテンツデータにアクセスすることを可能にするため、ネイティブアプリケーション115がネイティブアプリケーション115に対するTCPポートへのウェブソケット接続をオープンすることを要求する。この相互作用は、図6において、矢印646を用いて例示され、また、コンテキストアプリケーションプログラム117とジャバスクリプトエンジン130との間の直接接続として矢印652を用いて例示される。ポートは、TCPポートであることができ、またはネイティブアプリケーション115とコンテキストアプリケーションプログラム117とをウェブブラウザ110または無線デバイス600におけるその他の素子にさらすためのその他の手段であることができる。実行可能コード112、またはもし含まれるとしたら追加の実行可能コード125は、ウェブプロパティとスクリプトを交換することなく、コンテキストアプリケーションプログラム117から取得されデータベース642に記憶されたコンテキスト情報を抽出するため、ネイティブアプリケーション115と相互に作用する。この相互作用は、図6において、矢印648を用いて例示される。一つの実施形態において、ネイティブアプリケーション115は、常に動作して無線デバイス600に関するプロファイル、履歴、および他のリアルタイムデータを蓄積する「リスナー」機能と称されるものを含むことができる。
[0069]無線デバイス600におけるウェブブラウザ110は、その後、ウェブサーバ106とウェブサイト108にコンテキスト情報を送り、これにより、ウェブサイト108は、コンテキスト情報に基づいて無線デバイス600にコンテキストコンテンツを提供することができる。
[0070]上の開示の点から、プログラミングの分野における当業者は難なく、例えば、本明細書におけるフローチャートおよび関連する記述に基づいて、開示された発明を実現するための適切なハードウェアおよび/または回路を識別することが、またはコンピュータコードを書くことができる。したがって、特定のセットのプログラムコード命令または詳細なハードウェアデバイスの開示は、どのように本発明を製造および使用すべきかの十分な理解のために必要であると考えられない。特許請求の範囲における、コンピュータによって実現されるプロセスの発明的な機能は、様々なプロセスフローを例示しうる図と関連して、ならびに上記の記述でより詳細に説明されている。
[0071]一つ以上の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実現されうる。ソフトウェアで実現される場合、これら機能は、コンピュータ可読媒体上で、1つ以上の命令またはコードとして送信または記憶されうる。コンピュータ可読媒体は、1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体およびコンピュータ記憶媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされうる任意の利用可能な媒体でありうる。限定ではなく例として、このようなコンピュータ可読媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で望ましいプログラムコードを搬送または記憶するために使用され、かつ、コンピュータによってアクセスされうる他の任意の媒体を備えうる。
[0072]また、いずれの接続手段もコンピュータ可読媒体と厳密には称される。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(「DSL」)、または赤外線、電波、およびマイクロ波のような無線技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースから送信される場合には、この同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、電波、およびマイクロ波のような無線技術は、媒体の定義に含まれる。
[0073]ここで使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(「CD」)、レーザーディスク(登録商標)、光ディスク、デジタル多目的ディスク(「DVD」)、フロッピー(登録商標)ディスクおよびブルーレイ(登録商標)ディスクを含み、ここで、ディスク(disks)は、通常磁気的にデータを再生し、一方ディスク(discs)は、レーザーを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
[0074]選択された態様は、詳細に例示および記述されているけれども、様々な代用および変更が、以下の特許請求の範囲によって定義されるように、本発明の趣旨および範囲から逸脱することなく、そこになされることができることは理解されることになる。
[0074]選択された態様は、詳細に例示および記述されているけれども、様々な代用および変更が、以下の特許請求の範囲によって定義されるように、本発明の趣旨および範囲から逸脱することなく、そこになされることができることは理解されることになる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法であって、
無線デバイス上のネイティブアプリケーションを提供することと、
コンテンツ要求を送信することと、
実行可能コードを含むコンテンツを受信することと、
前記実行可能コードを実行して、無線デバイスに関するコンテキスト情報にアクセスすることと、
コンテキスト情報を送信することと、
前記コンテキスト情報に基づいて無線デバイスにおいてコンテキストコンテンツを受信することと、
を含む方法。
[C2] 前記コンテキスト情報を送信することは、前記コンテキスト情報をコンテンツプロバイダに送信することを含む、
C1に記載の方法。
[C3] 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
C2に記載の方法。
[C4] 前記実行可能コードを実行して、前記コンテキスト情報にアクセスすることは、前記実行可能コードが実行している前記無線デバイスにポートをオープンすることと、前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスモジュールを用いて、前記無線デバイスに記憶されたコンテキスト情報にアクセスすることを含む、
C2に記載の方法。
[C5] 前記無線デバイスに前記ポートをオープンすることは、
前記無線デバイスにおいて、HTTP要求をコンテキストアウェアネスアプリケーションに送ることと、
前記無線デバイスにおいて、前記ネイティブアプリケーションとウェブブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
C4に記載の方法。
[C6] 前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
C4に記載の方法。
[C7] 前記ネイティブアプリケーションから追加の実行可能コードを受信することと、
前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスすることとをさらに含み、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、
C1に記載の方法。
[C8] ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法であって、
コンテンツ要求を受信することと、
実行可能コードを含むコンテンツを送信することと、
コンテキスト情報を受信することと、
前記コンテキスト情報に基づいてコンテキストコンテンツを送信することと、
を含む方法。
[C9] 前記コンテンツ要求は、ネイティブアプリケーションを有する無線デバイスから受信され、前記ネイティブアプリケーションは、コンテンツプロバイダに関連する、
C8に記載の方法。
[C10] 前記実行可能コードは、前記無線デバイスにおいてコンテキスト情報へのアクセスを可能にする、
C9に記載の方法。
[C11] 前記コンテキスト情報を受信することは、前記コンテンツプロバイダが、前記無線デバイスに前記コンテキストコンテンツを送信することを可能にする、
C10に記載の方法。
[C12] 前記実行可能コードは、追加の実行可能コードをさらに含み、前記無線デバイスにおけるウェブブラウザが、前記無線デバイスにある追加の実行可能コードにアクセスすることを可能にするよう構成される、
C11に記載の方法。
[C13] 無線デバイスであって、
ネイティブアプリケーションと、
コンテンツ要求を送信し、実行可能コードを含む前記コンテンツを受信するよう構成されたウェブブラウザと、
前記実行可能コードを実行して、前記無線デバイスにあるコンテキスト情報にアクセスするよう構成されたプロセッサと、を含み、
前記ウェブブラウザは、前記コンテキスト情報を送信するよう構成され、
無線デバイスは、前記コンテキスト情報に基づきコンテキストコンテンツを受信するよう構成された、
無線デバイス。
[C14] 前記コンテキスト情報は、コンテンツプロバイダに送信される、
C13に記載の無線デバイス。
[C15] 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
C14に記載の無線デバイス。
[C16] さらに、前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスアプリケーションを含み、前記実行可能コードを実行してコンテキスト情報にアクセスすることは、前記無線デバイスにおけるネイティブアプリケーションに対してポートをオープンすることと、前記コンテキストアウェアネスアプリケーションを用いることにより前記無線デバイスに記憶されたコンテキスト情報にアクセスすることとを含む、
C14に記載の無線デバイス。
[C17] 前記無線デバイスに前記ポートをオープンすることは、
前記無線デバイスにおいて、HTTP要求を前記コンテキストアウェアネスアプリケーションに送ることと、
前記無線デバイスにおいて、前記ネイティブアプリケーションとブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
C16に記載の無線デバイス。
[C18] 前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
C16に記載の無線デバイス。
[C19] 前記ネイティブアプリケーションに関連付けられた追加の実行可能コードを含み、
前記プロセッサは、前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスし、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、
C16に記載の無線デバイス。
[C20] 無線デバイス上のネイティブアプリケーションを提供することと、
コンテンツ要求を送信することと、
実行可能コードを含むコンテンツを受信することと、
前記実行可能コードを実行して、前記無線デバイスに関するコンテキスト情報にアクセスすることと、
前記コンテキスト情報を送信することと、
前記コンテキスト情報に基づいて前記無線デバイスにおけるコンテキストコンテンツを受信すること、
を含む動作を無線デバイスに行わせるよう構成されたサーバ実行可能命令を記憶した非一時的サーバ可読媒体。
[C21] 前記コンテキスト情報を送信することは、前記コンテキスト情報をコンテンツプロバイダに送信することを含む、
C20に記載の非一時的媒体。
[C22] 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
C21に記載の非一時的媒体。
[C23] 前記実行可能コードを実行して、前記コンテキスト情報にアクセスすることは、前記実行可能コードが実行している前記無線デバイスにポートをオープンすることと、前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスモジュールを用いて、前記無線デバイスに記憶されたコンテキスト情報にアクセスすることとを含む、
C21に記載の非一時的媒体。
[C24] 前記無線デバイスに前記ポートをオープンすることは、
前記無線デバイスにおいて、HTTP要求をコンテキストアウェアネスアプリケーションに送ることと、
前記無線デバイスにおいて、前記ネイティブアプリケーションとウェブブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
C23に記載の非一時的媒体。
[C25] 前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
C23に記載の非一時的媒体。
[C26] 前記ネイティブアプリケーションから追加の実行可能コードを受信することと、
前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスすることとをさらに含み、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、C20に記載の非一時的媒体。
[C27] コンテンツ要求を受信することと、
実行可能コードを含むコンテンツを送信することと、
コンテキスト情報を受信することと、
前記コンテキスト情報に基づいてコンテキストコンテンツを送信することと、
を含む動作をウェブサーバに行わせるよう構成されたサーバ実行可能命令を記憶した非一時的サーバ可読媒体。
[C28] 前記コンテンツ要求は、ネイティブアプリケーションを有する無線デバイスから受信され、前記ネイティブアプリケーションはコンテンツプロバイダに関連する、C27に記載の非一時的媒体。
[C29]前記実行可能コードは、前記無線デバイスにおいてコンテキスト情報へのアクセスを可能にする、
C28に記載の非一時的媒体。
[C30] 前記コンテキスト情報を受信することは、前記コンテンツプロバイダが、前記無線デバイスに前記コンテキストコンテンツを送信することを可能にする、
C10に記載の非一時的媒体。
[C31]前記実行可能コードは、追加の実行可能コードをさらに含み、前記無線デバイスにおけるウェブブラウザが、前記無線デバイスにある追加の実行可能コードにアクセスすることを可能にするよう構成される、
C30に記載の非一時的媒体。
[C32] 無線デバイスであって、
ネイティブアプリケーションと、
コンテンツ要求を送信し、実行可能コードを含む前記コンテンツを受信するためのウェブブラウザ手段と、
前記実行可能コードを実行して、前記無線デバイスにあるコンテキスト情報にアクセスするためのプロセッサ手段とを含み、
前記ウェブブラウザ手段は、前記コンテキスト情報を送信し、前記コンテキスト情報に基づくコンテキストコンテンツを受信する、
無線デバイス。
[C33] 前記コンテキスト情報は、コンテンツプロバイダに送信される、
C32に記載の無線デバイス。
[C34] 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
C33に記載の無線デバイス。
[C35] 前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスアプリケーションをさらに含み、前記実行可能コードを実行してコンテキスト情報にアクセスすることは、前記無線デバイスにおけるネイティブアプリケーションに対してポートをオープンすることと、前記コンテキストアウェアネスアプリケーションを用いることにより前記無線デバイスに記憶されたコンテキスト情報にアクセスすることとを含む、
C33に記載の無線デバイス。



  1. ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法であって、
    無線デバイス上のネイティブアプリケーションを提供することと、
    コンテンツ要求を送信することと、
    実行可能コードを含むコンテンツを受信することと、
    前記実行可能コードを実行して、無線デバイスに関するコンテキスト情報にアクセスすることと、
    コンテキスト情報を送信することと、
    前記コンテキスト情報に基づいて無線デバイスにおいてコンテキストコンテンツを受信することと、
    を含む方法。

  2. 前記コンテキスト情報を送信することは、前記コンテキスト情報をコンテンツプロバイダに送信することを含む、
    請求項1に記載の方法。

  3. 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
    請求項2に記載の方法。

  4. 前記実行可能コードを実行して、前記コンテキスト情報にアクセスすることは、前記実行可能コードが実行している前記無線デバイスにポートをオープンすることと、前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスモジュールを用いて、前記無線デバイスに記憶されたコンテキスト情報にアクセスすることを含む、
    請求項2に記載の方法。

  5. 前記無線デバイスに前記ポートをオープンすることは、
    前記無線デバイスにおいて、HTTP要求をコンテキストアウェアネスアプリケーションに送ることと、
    前記無線デバイスにおいて、前記ネイティブアプリケーションとウェブブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
    請求項4に記載の方法。

  6. 前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
    請求項4に記載の方法。

  7. 前記ネイティブアプリケーションから追加の実行可能コードを受信することと、
    前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスすることとをさらに含み、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、
    請求項1に記載の方法。

  8. ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法であって、
    コンテンツ要求を受信することと、
    実行可能コードを含むコンテンツを送信することと、
    コンテキスト情報を受信することと、
    前記コンテキスト情報に基づいてコンテキストコンテンツを送信することと、
    を含む方法。

  9. 前記コンテンツ要求は、ネイティブアプリケーションを有する無線デバイスから受信され、前記ネイティブアプリケーションは、コンテンツプロバイダに関連する、
    請求項8に記載の方法。

  10. 前記実行可能コードは、前記無線デバイスにおいてコンテキスト情報へのアクセスを可能にする、
    請求項9に記載の方法。

  11. 前記コンテキスト情報を受信することは、前記コンテンツプロバイダが、前記無線デバイスに前記コンテキストコンテンツを送信することを可能にする、
    請求項10に記載の方法。

  12. 前記実行可能コードは、追加の実行可能コードをさらに含み、前記無線デバイスにおけるウェブブラウザが、前記無線デバイスにある追加の実行可能コードにアクセスすることを可能にするよう構成される、
    請求項11に記載の方法。

  13. 無線デバイスであって、
    ネイティブアプリケーションと、
    コンテンツ要求を送信し、実行可能コードを含む前記コンテンツを受信するよう構成されたウェブブラウザと、
    前記実行可能コードを実行して、前記無線デバイスにあるコンテキスト情報にアクセスするよう構成されたプロセッサと、を含み、
    前記ウェブブラウザは、前記コンテキスト情報を送信するよう構成され、
    無線デバイスは、前記コンテキスト情報に基づきコンテキストコンテンツを受信するよう構成された、
    無線デバイス。

  14. 前記コンテキスト情報は、コンテンツプロバイダに送信される、
    請求項13に記載の無線デバイス。

  15. 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
    請求項14に記載の無線デバイス。

  16. さらに、前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスアプリケーションを含み、前記実行可能コードを実行してコンテキスト情報にアクセスすることは、前記無線デバイスにおけるネイティブアプリケーションに対してポートをオープンすることと、前記コンテキストアウェアネスアプリケーションを用いることにより前記無線デバイスに記憶されたコンテキスト情報にアクセスすることとを含む、
    請求項14に記載の無線デバイス。

  17. 前記無線デバイスに前記ポートをオープンすることは、
    前記無線デバイスにおいて、HTTP要求を前記コンテキストアウェアネスアプリケーションに送ることと、
    前記無線デバイスにおいて、前記ネイティブアプリケーションとブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
    請求項16に記載の無線デバイス。

  18. 前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
    請求項16に記載の無線デバイス。

  19. 前記ネイティブアプリケーションに関連付けられた追加の実行可能コードを含み、
    前記プロセッサは、前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスし、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、
    請求項16に記載の無線デバイス。

  20. 無線デバイス上のネイティブアプリケーションを提供することと、
    コンテンツ要求を送信することと、
    実行可能コードを含むコンテンツを受信することと、
    前記実行可能コードを実行して、前記無線デバイスに関するコンテキスト情報にアクセスすることと、
    前記コンテキスト情報を送信することと、
    前記コンテキスト情報に基づいて前記無線デバイスにおけるコンテキストコンテンツを受信すること、
    を含む動作を無線デバイスに行わせるよう構成されたサーバ実行可能命令を記憶した非一時的サーバ可読媒体。

  21. 前記コンテキスト情報を送信することは、前記コンテキスト情報をコンテンツプロバイダに送信することを含む、
    請求項20に記載の非一時的媒体。

  22. 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
    請求項21に記載の非一時的媒体。

  23. 前記実行可能コードを実行して、前記コンテキスト情報にアクセスすることは、前記実行可能コードが実行している前記無線デバイスにポートをオープンすることと、前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスモジュールを用いて、前記無線デバイスに記憶されたコンテキスト情報にアクセスすることとを含む、
    請求項21に記載の非一時的媒体。

  24. 前記無線デバイスに前記ポートをオープンすることは、
    前記無線デバイスにおいて、HTTP要求をコンテキストアウェアネスアプリケーションに送ることと、
    前記無線デバイスにおいて、前記ネイティブアプリケーションとウェブブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
    請求項23に記載の非一時的媒体。

  25. 前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
    請求項23に記載の非一時的媒体。

  26. 前記ネイティブアプリケーションから追加の実行可能コードを受信することと、
    前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスすることとをさらに含み、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、請求項20に記載の非一時的媒体。

  27. コンテンツ要求を受信することと、
    実行可能コードを含むコンテンツを送信することと、
    コンテキスト情報を受信することと、
    前記コンテキスト情報に基づいてコンテキストコンテンツを送信することと、
    を含む動作をウェブサーバに行わせるよう構成されたサーバ実行可能命令を記憶した非一時的サーバ可読媒体。

  28. 前記コンテンツ要求は、ネイティブアプリケーションを有する無線デバイスから受信され、前記ネイティブアプリケーションはコンテンツプロバイダに関連する、請求項27に記載の非一時的媒体。

  29. 前記実行可能コードは、前記無線デバイスにおいてコンテキスト情報へのアクセスを可能にする、
    請求項28に記載の非一時的媒体。

  30. 前記コンテキスト情報を受信することは、前記コンテンツプロバイダが、前記無線デバイスに前記コンテキストコンテンツを送信することを可能にする、
    請求項10に記載の非一時的媒体。

  31. 前記実行可能コードは、追加の実行可能コードをさらに含み、前記無線デバイスにおけるウェブブラウザが、前記無線デバイスにある追加の実行可能コードにアクセスすることを可能にするよう構成される、
    請求項30に記載の非一時的媒体。

  32. 無線デバイスであって、
    ネイティブアプリケーションと、
    コンテンツ要求を送信し、実行可能コードを含む前記コンテンツを受信するためのウェブブラウザ手段と、
    前記実行可能コードを実行して、前記無線デバイスにあるコンテキスト情報にアクセスするためのプロセッサ手段とを含み、
    前記ウェブブラウザ手段は、前記コンテキスト情報を送信し、前記コンテキスト情報に基づくコンテキストコンテンツを受信する、
    無線デバイス。

  33. 前記コンテキスト情報は、コンテンツプロバイダに送信される、
    請求項32に記載の無線デバイス。

  34. 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられ、前記コンテキストコンテンツを受信することは、前記コンテキストコンテンツを前記コンテンツプロバイダから受信することを含む、
    請求項33に記載の無線デバイス。

  35. 前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスアプリケーションをさらに含み、前記実行可能コードを実行してコンテキスト情報にアクセスすることは、前記無線デバイスにおけるネイティブアプリケーションに対してポートをオープンすることと、前記コンテキストアウェアネスアプリケーションを用いることにより前記無線デバイスに記憶されたコンテキスト情報にアクセスすることとを含む、
    請求項33に記載の無線デバイス。

 

 

Patent trol of patentswamp
類似の特許
本明細書で提供されるシステムおよび方法は、ユーザに関連付けられた生体認証モデルを作成してもよい。作成された生体認証モデルは、認証目的用にユーザに提示されるチャレンジを作成するために利用されてもよい。チャレンジに対するユーザ応答は、期待される応答と比較され、ユーザ応答が予め決められたエラー内で期待される応答と一致する場合、ユーザは認証されてもよい。システムおよび方法は、モデルがユーザにより厳密に関連付けられ、ユーザが作成されたチャレンジに対してうまく応答することが可能な唯一の人でありうるように、作成されたモデルにおける脆弱性もしくはエラーを特定する適応性を有するように設計されたチャレンジをさらに作成してもよい。
【選択図】図3
音声及び/又は顔認識に基づくサービス提供に関連する装置、方法及び記憶媒体が本願において提供される。実施形態において、装置は、個別的に又は互いに協調して、複数の確認レベルで装置のユーザの確認を与えるように構成される音声認識エンジン及び顔認識エンジンを含む。装置は、少なくともサービスを受けるのに必要な確認レベルで前記ユーザが確認された後に、装置のユーザにサービスを提供するように構成されるサービスエージェントを更に含む。
システム及び方法は、持続グルコースモニタリング(CGM)システムと、それによって収集されたデータ処理のために供される。インターネットゲートウェイチップ(140、240、340、440)は、クラウドネットワークの記憶装置(150、250、350、450)と直接のデータ通信を容易にするように、CGMシステムの複数の構成部品に含まれ、それにより、CGMシステムにおけるCGMのセンサー(110、210、310、410)のデータを通信、および、記憶する。インターネットゲートウェイチップは、CGMの既存の無線式の受信機および表示装置のような受信機(130、230、330)内に、また、スマートフォンがCGMの無線式の受信機および表示装置の場合、スマートフォンまたは類似の装置内に、あるいは、CGMシステムおよびクラウドネットワークの記憶装置相互間の直接のデータ通信を容易にするように、既存のセンサーのようなセンサー、および/または、CGMの送信機(410、420)内に含まれ得る。
他の個人グループと調整するように構成される装置を含む、神経調節を安全且つ効果的に適用するように構成されるネットワーク可能な経頭蓋神経調節装置、並びに調整神経調節を含む神経調節を安全且つ効果的に適用する方法。
本発明は、通信分野に関し、特に音声通話方法、音声再生方法、装置、プログラム、及び記録媒体に関する。当該音声通話方法は、自分側の距離の感知値が所定の閾値未満であるか否かを検出し、距離の感知値が所定の閾値未満であることを検出した場合、所定の通話モードに入り、所定の通話モードにおいて、相手側の音声信号を自動的に再生させ、所定の通話モードにおいて自分側の音声信号を検出した場合、自分側の音声信号を収集して相手側へ伝送する。本発明は、ユーザが現在に端末に対して押下操作、或はクリック操作を行うのに不便な際に、ネットワーク・インターホンをスムーズに使用することができないの問題を解決し、ユーザが端末を耳に当てるだけで、ネットワーク・インターホンの音声再生と音声収集を自動的にトリガすることができて、他の操作をせずにネットワーク・インターホンを使用できる効果がある。
【選択図】図2
分散型弾性ネットワーク相互接続における同一端内システムの間で情報を交換する方法及びシステムであって、前記方法はリンクアグリゲーショングループエンドポイントにおける各システムに応用され、内部リンクインターフェースにより分散型リレー制御プロトコル(DRCP)プロトコルメッセージを送信し、そのうちに該システムのシステム情報が少なくとも含まれることと、隣接システムからのDRCPプロトコルメッセージを受信した後、該システムと前記隣接システムとが分散型弾性ネットワーク相互接続の1つのエンドポイントを形成することができることを判断すると、該システムの操作key値を確定することとを含む。前記システムは、送信ステートマシン、受信ステートマシン、協議ステートマシン、同期ステートマシン及び周期送信ステートマシンを含む。本発明の実施例を採用した後、分散型リンクアグリゲーショングループにおける一端の複数のシステムの間の制御通信を実現し、複数のシステムを1つのアグリゲーショングループにアグリゲーションした後、相互接続インターフェースでの保護を効果的に実現でき、リンクでの保護だけでなく、ノードレベルの保護を実現することができる。
【選択図】図2
本発明は、送信側装置と受信側装置がいずれもリンクバインド機能をサポートすることを確定した場合、バインドグループを確立することと、前記バインドグループにおけるバインドリンクを選択し使用して送信すべきデータを送信する場合、前記送信すべきデータをバインドデータフォーマットでカプセル化し、前記バインドリンクで送信し、非バインドリンクを選択し使用して送信すべきデータを送信する場合、前記送信すべきデータを一般的なデータフォーマットでカプセル化し、前記非バインドリンクで送信することとを含むデータ伝送方法を開示する。本発明は、同時にデータ伝送装置とコンピュータ記憶媒体を開示する。
【選択図】図1
データを暗号化するシステムおよび関連方法を開示する。少なくとも1つの実施形態では、キー管理プログラムは、少なくとも1つの計算装置上のメモリに位置し、データを暗号化するために使用される少なくとも1つの暗号化キーを作成および管理するように構成されている。少なくとも1つのキーファイルも少なくとも1つの計算装置上のメモリに位置し、少なくとも1人の許可されたユーザに関連づけられている。キーファイルは、疑似ランダムバイト列と、キーファイルをユーザに関連づけるために使用される固有のハッシュ値とを含むキーフィールドを含む。基本文字がキーフィールドのサブセットであるように、基本文字セットをキーフィールドからランダムに選択する。基本文字を暗号化アルゴリズムに入力して、暗号化キーを生成する。暗号化キーを用いてデータを暗号化する。
【選択図】図1
拡張物理ダウンリンク制御チャネル(EPDCCH)の場合、干渉セルのEPDCCHに対してセル間/セル内干渉抑圧(IS)および/または干渉消去(IC)を行うユーザ機器(UE)の能力に対して、物理リソースブロック(PRB)ペアの複数のリソース要素にわたる無制限のトラフィック対パイロット比(TPR)変動が及ぼすことになる有害な影響のために、それらの変動が問題になる。eNBによるEPDCCH管理に対して実際的制限を生じることなしにIS/ICを可能にするために、EPDCCHに対してTPR制限が課される。従って、ワイヤレス通信のための方法、装置、およびコンピュータプログラム製品が提供される。本装置は、1つまたは複数の制御チャネルを送信するための少なくとも1つのPRBペアの複数のリソース要素を識別し、複数の識別されたリソース要素を1つまたは複数のグループに分割し、該当グループにおける複数のリソース要素を1つのTPRに制限する。
【選択図】図13
インターネットプロトコル(IP)マルチメディアサブシステム(IMS)にアクセスするためのWebRTCのアーキテクチャを提供する複数の実施形態が、概してここで説明される。いくつかの実施形態において、非IMSユーザ機器(UE)が、非IMSUEと共同配置されたアプリケーションシグナルインターワーキングファンクション(ASIF)とともに提供される。非IMSUEは、非IMSUEをIMSコアに登録するための登録メッセージをASIFに送信するように構成される。ASIFは、非IMSUEからの登録メッセージをIMSベースシグナルに変換し、IMSベースシグナルに変換した登録メッセージを用いて非IMSUEをIMSコアに登録するように構成される。
To top