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

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

Info

Publication number
JP6009714B2
JP6009714B2 JP2016500924A JP2016500924A JP6009714B2 JP 6009714 B2 JP6009714 B2 JP 6009714B2 JP 2016500924 A JP2016500924 A JP 2016500924A JP 2016500924 A JP2016500924 A JP 2016500924A JP 6009714 B2 JP6009714 B2 JP 6009714B2
Authority
JP
Japan
Prior art keywords
wireless device
executable code
context
native application
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016500924A
Other languages
English (en)
Other versions
JP2016517571A (ja
Inventor
ビランジェ、エリック・ピー.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016517571A publication Critical patent/JP2016517571A/ja
Application granted granted Critical
Publication of JP6009714B2 publication Critical patent/JP6009714B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Description

[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]選択された態様は、詳細に例示および記述されているけれども、様々な代用および変更が、以下の特許請求の範囲によって定義されるように、本発明の趣旨および範囲から逸脱することなく、そこになされることができることは理解されることになる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[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に記載の無線デバイス。

Claims (17)

  1. ネイティブアプリケーションに対するウェブプロパティアクセスを可能にする方法であって、
    無線デバイス上のネイティブアプリケーションを提供することと、
    前記無線デバイスが、コンテンツプロバイダにコンテンツ要求を送信することと、
    前記無線デバイスが、前記要求に応答して前記コンテンツプロバイダからコンテンツを受信することここで、前記コンテンツは、実行可能コードを含む、
    前記無線デバイスで前記実行可能コードを実行して、前記無線デバイスにポートをオープンすることおよび前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスモジュールを使用して前記無線デバイスに記憶されたコンテキスト情報にアクセスすることによって、前記コンテキスト情報にアクセスすることと、
    前記無線デバイスが、コンテンツプロバイダに前記コンテキスト情報を送信することと、
    前記コンテキスト情報に応答して、前記コンテンツプロバイダから前記無線デバイスにおいてコンテキストコンテンツを受信することと、
    を含む方法。
  2. 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられる、請求項1に記載の方法。
  3. 前記無線デバイスに前記ポートをオープンすることは、
    前記無線デバイスにおいて、HTTP要求をコンテキストアウェアネスアプリケーションに送ることと、
    前記無線デバイスにおいて、前記ネイティブアプリケーションとウェブブラウザとの間でウェブソケットをオープンすること含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
    請求項1に記載の方法。
  4. 前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
    請求項に記載の方法。
  5. 前記ネイティブアプリケーションから追加の実行可能コードを受信することと、
    前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスすることとをさらに含み、前記追加の実行可能コードは、前記ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、
    請求項1に記載の方法。
  6. 無線デバイスであって、
    ネイティブアプリケーションと、
    コンテンツ要求を送信し、前記コンテンツを受信するように構成されたウェブブラウザここで、前記コンテンツは、実行可能コードを含む、
    前記実行可能コードを実行するように構成されたプロセッサと、
    前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスアプリケーションと、を含み、
    前記実行可能コードを実行することは、前記無線デバイスに記憶されたコンテキスト情報にアクセスするために、前記無線デバイスにおける前記ネイティブアプリケーションに対してポートをオープンし、
    前記ウェブブラウザは、コンテンツプロバイダに前記コンテキスト情報を送信するように構成され、
    前記無線デバイスは、前記コンテキスト情報に応答して、前記コンテンツプロバイダからコンテキストコンテンツを受信するように構成された、
    無線デバイス。
  7. 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられる、請求項6に記載の無線デバイス。
  8. 前記無線デバイスに前記ポートをオープンすることは、
    前記無線デバイスにおいて、HTTP要求を前記コンテキストアウェアネスアプリケーションに送ることと、
    前記無線デバイスにおいて、前記ネイティブアプリケーションとブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
    請求項6に記載の無線デバイス。
  9. 前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
    請求項6に記載の無線デバイス。
  10. 前記ネイティブアプリケーションに関連付けられた追加の実行可能コードをさらに含み、
    前記プロセッサは、前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスし、前記追加の実行可能コードは、ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、
    請求項6に記載の無線デバイス。
  11. 無線コンピュータデバイス上のネイティブアプリケーションを提供することと、
    前記無線コンピュータデバイスが、コンテンツプロバイダにコンテンツ要求を送信することと、
    前記無線コンピュータデバイスが、前記要求に応答して、前記コンテンツプロバイダからコンテンツを受信することここで、前記コンテンツは、実行可能コードを含む、
    前記無線コンピュータデバイス上で前記実行可能コードを実行して、前記無線コンピュータデバイスにポートをオープンすることおよび前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスモジュールを使用して前記無線コンピュータデバイスに記憶されたコンテキスト情報にアクセスすることによって、前記コンテキスト情報にアクセスすることと、
    前記無線コンピュータデバイスが、前記コンテンツプロバイダに前記コンテキスト情報を送信することと、
    前記コンテキスト情報に応答して、前記コンテンツプロバイダから前記無線コンピュータデバイスにおけるコンテキストコンテンツを受信すること、
    を含む動作を前記無線コンピュータデバイスに行わせるように構成された実行可能命令を記憶したコンピュータ可読記憶媒体
  12. 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられる、請求項11に記載のコンピュータ可読記憶媒体
  13. 前記無線コンピュータデバイスに前記ポートをオープンすることは、
    前記無線コンピュータデバイスにおいて、HTTP要求をコンテキストアウェアネスアプリケーションに送ることと、
    前記無線コンピュータデバイスにおいて、前記ネイティブアプリケーションとウェブブラウザとの間でウェブソケットをオープンすることを含み、前記ウェブソケットは、前記コンテキストアウェアネスアプリケーションから前記ウェブブラウザに前記コンテキスト情報を転送することを可能にする、
    請求項11に記載のコンピュータ可読記憶媒体
  14. 前記コンテキストアウェアネスアプリケーションは、コンテキスト情報用の前記ポートを連続的にモニターする、
    請求項13に記載のコンピュータ可読記憶媒体
  15. 前記ネイティブアプリケーションから追加の実行可能コードを受信することと、
    前記追加の実行可能コードを実行して前記ネイティブアプリケーションから直接前記コンテキスト情報にアクセスすることとをさらに含み、前記追加の実行可能コードは、ウェブプロパティとスクリプトを交換することなく、前記ネイティブアプリケーションとの相互作用を可能にする、請求項11に記載のコンピュータ可読記憶媒体
  16. 無線デバイスであって、
    ネイティブアプリケーションと、
    コンテンツ要求をコンテンツプロバイダに送信し、前記コンテンツを受信するためのウェブブラウザ手段ここで、前記コンテンツは、実行可能コードを含む、
    前記実行可能コードを実行するためのプロセッサ手段と、
    前記ネイティブアプリケーションに関連付けられたコンテキストアウェアネスアプリケーションと、を含み、ここで、前記実行可能コードを実行することは、前記無線デバイスに記憶されたコンテキスト情報にアクセスするために、前記無線デバイスにおける前記ネイティブアプリケーションに対してポートをオープンし、
    前記ウェブブラウザ手段は、前記コンテキスト情報を送信し、前記コンテキスト情報に基づいて、前記コンテンツプロバイダからコンテキストコンテンツを受信する、無線デバイス。
  17. 前記ネイティブアプリケーションは、前記コンテンツプロバイダに関連付けられる、請求項16に記載の無線デバイス。
JP2016500924A 2013-03-13 2014-03-10 ネイティブアプリケーションへのウェブプロパティアクセスを可能にするためのシステムおよび方法 Expired - Fee Related JP6009714B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/798,703 US9203891B2 (en) 2013-03-13 2013-03-13 System and method to enable web property access to a native application
US13/798,703 2013-03-13
PCT/US2014/022250 WO2014164391A1 (en) 2013-03-13 2014-03-10 System and method to enable web property access to a native application

Publications (2)

Publication Number Publication Date
JP2016517571A JP2016517571A (ja) 2016-06-16
JP6009714B2 true JP6009714B2 (ja) 2016-10-19

Family

ID=50543652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016500924A Expired - Fee Related JP6009714B2 (ja) 2013-03-13 2014-03-10 ネイティブアプリケーションへのウェブプロパティアクセスを可能にするためのシステムおよび方法

Country Status (6)

Country Link
US (1) US9203891B2 (ja)
EP (1) EP2972822B1 (ja)
JP (1) JP6009714B2 (ja)
KR (1) KR101680509B1 (ja)
CN (1) CN105051685B (ja)
WO (1) WO2014164391A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189622B2 (en) * 2013-04-30 2015-11-17 Vmware, Inc. Static redirection for objective C
US9311407B2 (en) 2013-09-05 2016-04-12 Google Inc. Native application search results
US10949487B2 (en) * 2015-04-20 2021-03-16 Hyland Switzerland Sàrl Systems and methods for accessing computing device resources
JP6554350B2 (ja) * 2015-07-14 2019-07-31 株式会社Phone Appli サービスシステム
CN107133077A (zh) * 2016-02-29 2017-09-05 深圳秀豹科技有限公司 一种网页端调用本地应用功能的方法及装置
CN107370775B (zh) * 2016-05-11 2020-04-28 阿里巴巴集团控股有限公司 一种启动应用的方法和系统
CN107370778B (zh) * 2016-05-11 2020-06-30 阿里巴巴集团控股有限公司 一种启动应用的方法和系统
CN107015870B (zh) 2016-09-19 2020-11-03 创新先进技术有限公司 实现web页面与本地应用通信的方法、装置和电子设备
CN114579774A (zh) * 2017-03-03 2022-06-03 谷歌有限责任公司 用于检测应用不当地实施对内容项的呈现的系统和方法
JP6451963B1 (ja) * 2017-10-09 2019-01-16 治 寺田 通信システム
US10826895B1 (en) * 2018-10-04 2020-11-03 State Farm Mutual Automobile Insurance Company System and method for secure authenticated user session handoff
US10630718B2 (en) * 2018-11-27 2020-04-21 BehavioSec Inc Detection of remote fraudulent activity in a client-server-system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752042A (en) 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
AU2582401A (en) 1999-12-17 2001-06-25 Dorado Network Systems Corporation Purpose-based adaptive rendering
US7437312B2 (en) 2000-08-23 2008-10-14 Bizrate.Com Method for context personalized web browsing
US20030050964A1 (en) 2001-09-07 2003-03-13 Philippe Debaty Method and system for context manager proxy
US20040221021A1 (en) 2003-04-30 2004-11-04 Domer Jason A. High performance managed runtime environment application manager equipped to manage natively targeted applications
US7716651B2 (en) * 2005-01-26 2010-05-11 Microsoft Corporation System and method for a context-awareness platform
US7706739B2 (en) * 2005-03-11 2010-04-27 Openwave Systems Inc. Broadcast system and method for cellular networks
US7873710B2 (en) 2007-02-06 2011-01-18 5O9, Inc. Contextual data communication platform
US7962444B2 (en) * 2008-05-19 2011-06-14 Qualcomm Incorporated System and method for presenting a contextual action for an indicator
US20100082750A1 (en) * 2008-09-29 2010-04-01 Microsoft Corporation Dynamically transforming data to the context of an intended recipient
US8352967B2 (en) 2008-11-10 2013-01-08 Google Inc. Safe browser plugins using native code modules
US20110213655A1 (en) 2009-01-24 2011-09-01 Kontera Technologies, Inc. Hybrid contextual advertising and related content analysis and display techniques
US20100229045A1 (en) 2009-03-09 2010-09-09 Quantia Communications, Inc. Computer Method and Apparatus Providing Invocation of Device-Specific Application Through a Generic HTTP Link
US20100274823A1 (en) * 2009-04-23 2010-10-28 Sailesh Sathish Method, apparatus and computer program product for providing an adaptive context model framework
US8868637B2 (en) 2009-09-02 2014-10-21 Facebook, Inc. Page rendering for dynamic web pages
JP5682181B2 (ja) * 2010-08-25 2015-03-11 日本電気株式会社 通信制御機能を有する通信装置、方法、プログラム
FR2964766B1 (fr) 2010-09-09 2013-04-26 Mobilegov France Procede de generation de pages web personnalisees
KR20120067830A (ko) 2010-12-16 2012-06-26 한국전자통신연구원 모바일 웹 지도 서비스 시스템 및 이를 위한 서비스 단말
JP5857443B2 (ja) * 2011-05-12 2016-02-10 ソニー株式会社 コンテンツ共有システム
US9198038B2 (en) * 2011-06-13 2015-11-24 Qualcomm Incorporated Apparatus and methods of identity management in a multi-network system

Also Published As

Publication number Publication date
US9203891B2 (en) 2015-12-01
JP2016517571A (ja) 2016-06-16
KR20150132312A (ko) 2015-11-25
EP2972822A1 (en) 2016-01-20
CN105051685B (zh) 2018-04-13
KR101680509B1 (ko) 2016-11-28
CN105051685A (zh) 2015-11-11
US20140280694A1 (en) 2014-09-18
EP2972822B1 (en) 2020-10-28
WO2014164391A1 (en) 2014-10-09

Similar Documents

Publication Publication Date Title
JP6009714B2 (ja) ネイティブアプリケーションへのウェブプロパティアクセスを可能にするためのシステムおよび方法
CN106471466B (zh) 短暂应用
US8438312B2 (en) Dynamically rehosting web content
US8843820B1 (en) Content script blacklisting for use with browser extensions
US20170103047A1 (en) Mechanisms to Compose, Execute, Save, and Retrieve Hyperlink Pipelines in Web Browsers
US9235693B2 (en) System and methods thereof for tracking and preventing execution of restricted applications
CA2890866A1 (en) System and method of automatic generation and insertion of analytic tracking codes
JP2013196063A (ja) クッキー共有プログラム、クッキー共有機能を備えたWebサーバ、クッキー共有システム及びクッキーの共有方法
CN104683297A (zh) 一种资源访问的方法及装置、服务器及终端
US8645535B1 (en) Detecting profile changes based on device behavior
US10951682B2 (en) Systems and methods for accessing multiple resources via one identifier
Yu et al. Effects of stigma and discrimination reduction trainings conducted under the California mental health services authority: An evaluation of NAMI's Ending the Silence
US9871873B2 (en) Adapter for communication between web applications within a browser
US20160378982A1 (en) Local environment protection method and protection system of terminal responding to malicious code in link information
Xu et al. Lessons learned from the massive shift to online learning due to COVID-19
Lim et al. The 2014 technology summit for victim service providers: Identifying challenges and possible solutions
US20150149596A1 (en) Sending mobile applications to mobile devices from personal computers
Kumar et al. Integrated Web of Things Interface for IoT Environment
Davies Biodiversity and the Great Green Wall
Flowe PREDICTING CLIMATE-SENSITIVE INFECTIOUS DISEASES TO PROTECT PUBLIC HEALTH AND STRENGTHEN NATIONAL
Susantono How to finance Asia’s infrastructure gap-Bambang Susantono
Hauser List of proposed D6 street repairs for FY19
Schmitt Olabisi et al. Participatory Modeling of Climate Change Impacts on Public Health in Long Beach, California: Discussion from a Workshop Hosted by the RAND Frederick S. Pardee Center for Longer Range Global Policy and the Future Human Condition
Wyatt Tonga: Introducing eGovernment through Digital Health
CN104615607B (zh) 在两服务提供端之间管理资源传输的方法和计算机系统

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160914

R150 Certificate of patent or registration of utility model

Ref document number: 6009714

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees