(57)【要約】  ウェブページ内のコンテンツアイテムからアプリケーションを起動することに関する。本明細書に記載する主題の1つの態様は、アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するステップを含む方法として実施することができる。この方法は、コンテンツアイテムを表示するステップと、コンテンツアイテムのユーザ選択を受信するステップと、これに応答して、アプリケーションがユーザデバイスにインストールされているかどうかを自動的に確認するステップをさらに含むことができる。この方法は、第1のデータ要素を含む要求をサーバに伝送するステップと、第1のデータ要素によって識別されるアプリケーションをユーザデバイスにインストールするステップとをさらに含むことができる。
2015501496.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するステップと、
前記コンテンツアイテムを表示するステップと、
前記コンテンツアイテムのユーザ選択を受信するステップと、
前記ユーザ選択を受信したことに応答して、前記アプリケーションがユーザデバイスにインストールされているかどうかを自動的に確認するステップと、
前記第1のデータ要素を含む要求をサーバに伝送するステップと、
前記第1のデータ要素によって識別される前記アプリケーションを前記ユーザデバイスにインストールするステップと、
前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップとを含む、データ処理装置によって実行されるコンピュータ実装方法。
【請求項２】
前記アプリケーションを使用して前記製品の購入トランザクションを完了するステップをさらに含む、請求項1に記載の方法。
【請求項３】
コンバージョントラッキング情報を伝送するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記コンテンツアイテムが、コンバージョンログを保持するサーバのアドレスをさらに含む、請求項1に記載の方法。
【請求項５】
前記コンテンツアイテムが、前記アプリケーションの最小バージョンを識別する第3のデータ要素を含む、請求項1に記載の方法。
【請求項６】
前記アプリケーションのインストールされているバージョンが、前記アプリケーションの前記最小バージョンより古いかどうかを確認するステップをさらに含む、請求項5に記載の方法。
【請求項７】
前記第2のデータ要素が、前記アプリケーションが起動されるまで、アプリケーションのメッセージ待ち行列に格納される、請求項1に記載の方法。
【請求項８】
前記サーバが、アプリケーションのダウンロードを提供する、請求項1に記載の方法。
【請求項９】
前記サーバが、アプリケーションのダウンロードを提供する第2のサーバに前記要求をリダイレクトする、請求項1に記載の方法。
【請求項１０】
前記アプリケーションが、インストール後に自動的に起動される、請求項1に記載の方法。
【請求項１１】
前記第2のデータ要素を処理するように構成された複数のアプリケーションのアイコンを表示するステップと、
前記アプリケーションのユーザ選択を受信するステップとをさらに含む、請求項1に記載の方法。
【請求項１２】
前記第1のデータ要素と一致しないアプリケーションが前記第2のデータ要素を処理するのを防止するステップをさらに含む、請求項1に記載の方法。
【請求項１３】
データ処理装置によって実行されるコンピュータ実装方法であって、
アプリケーションを識別する第1のデータ要素、製品を識別する第2のデータ要素、および1組の命令を含むコンテンツアイテムを伝送するステップを含み、前記1組の命令が、前記コンテンツアイテムのユーザ選択に応答してユーザデバイスによって実行されたときに、前記処理装置に、
前記アプリケーションが前記ユーザデバイスにインストールされているかどうかを自動的に確認するステップと、
前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップとを含む動作を実行させる、方法。
【請求項１４】
前記1組の命令が、スクリプトである、請求項13に記載の方法。
【請求項１５】
前記動作が、コンバージョントラッキング情報を伝送するステップをさらに含む、請求項13に記載の方法。
【請求項１６】
データ処理装置と、
前記データ処理装置によって実行されたときに、前記データ処理装置に、
アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するステップと、
前記コンテンツアイテムを表示するステップと、
前記コンテンツアイテムのユーザ選択を受信するステップと、
前記ユーザ選択を受信したことに応答して、前記アプリケーションがユーザデバイスにインストールされているかどうかを自動的に確認するステップと、
前記第1のデータ要素を含む要求をサーバに伝送するステップと、
前記第1のデータ要素によって識別される前記アプリケーションを前記ユーザデバイスにインストールするステップと、
前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップとを含む動作を実行させる命令が格納された、前記データ処理装置に結合されたメモリとを備える、システム。
【請求項１７】
前記動作が、
前記アプリケーションを使用して前記製品の購入トランザクションを完了するステップをさらに含む、請求項16に記載のシステム。
【請求項１８】
前記動作が、
コンバージョントラッキング情報を伝送するステップをさらに含む、請求項16に記載のシステム。
【請求項１９】
前記コンテンツアイテムが、コンバージョンログを保持するサーバのアドレスをさらに含む、請求項16に記載のシステム。
【請求項２０】
前記コンテンツアイテムが、前記アプリケーションの最小バージョンを識別する第3のデータ要素を含む、請求項16に記載のシステム。
【請求項２１】
前記動作が、前記アプリケーションのインストールされているバージョンが、前記アプリケーションの前記最小バージョンより古いかどうかを確認するステップをさらに含む、請求項20に記載のシステム。
【請求項２２】
前記第2のデータ要素が、前記アプリケーションが起動されるまで、アプリケーションのメッセージ待ち行列に格納される、請求項16に記載のシステム。
【請求項２３】
前記サーバが、アプリケーションのダウンロードを提供する、請求項16に記載のシステム。
【請求項２４】
前記サーバが、アプリケーションのダウンロードを提供する第2のサーバに前記要求をリダイレクトする、請求項16に記載のシステム。
【請求項２５】
前記アプリケーションが、インストール後に自動的に起動される、請求項16に記載のシステム。
【請求項２６】
前記動作が、
前記第2のデータ要素を処理するように構成された複数のアプリケーションのアイコンを表示するステップと、
前記アプリケーションのユーザ選択を受信するステップとをさらに含む、請求項16に記載のシステム。
【請求項２７】
前記動作が、
前記第1のデータ要素と一致しないアプリケーションが前記第2のデータ要素を処理するのを防止するステップをさらに含む、請求項16に記載のシステム。
【請求項２８】
アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するように構成されたネットワークインタフェースと、
前記コンテンツアイテムを表示するように構成されたディスプレイと、
前記コンテンツアイテムのユーザ選択を受信するように構成されたユーザインタフェースと、
前記ユーザ選択を受信したことに応答して、前記アプリケーションがインストールされているかどうかを自動的に確認する手段と、
前記第1のデータ要素を含む要求をサーバに伝送するように構成されたネットワークインタフェースと、
前記第1のデータ要素によって識別される前記アプリケーションをインストールするように構成されたモジュールと、
前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動する手段とを備える、システム。
【請求項２９】
ユーザが前記アプリケーションを使用して前記製品の購入トランザクションを完了することを可能にするように構成されたユーザインタフェースをさらに含む、請求項28に記載のシステム。
【請求項３０】
コンバージョントラッキング情報を伝送するように構成されたネットワークインタフェースをさらに含む、請求項28に記載のシステム。
【請求項３１】
前記コンテンツアイテムが、コンバージョンログを保持するサーバのアドレスをさらに含む、請求項28に記載のシステム。
【請求項３２】
前記コンテンツアイテムが、前記アプリケーションの最小バージョンを識別する第3のデータ要素を含む、請求項28に記載のシステム。
【請求項３３】
前記アプリケーションのインストールされているバージョンが、前記アプリケーションの前記最小バージョンより古いかどうかを確認するように構成されたモジュールをさらに含む、請求項32に記載のシステム。
【請求項３４】
前記第2のデータ要素が、前記アプリケーションが起動されるまで、アプリケーションのメッセージ待ち行列に格納される、請求項28に記載のシステム。
【請求項３５】
前記サーバが、アプリケーションのダウンロードを提供する、請求項28に記載のシステム。
【請求項３６】
前記サーバが、アプリケーションのダウンロードを提供する第2のサーバに前記要求をリダイレクトする、請求項28に記載のシステム。
【請求項３７】
前記アプリケーションが、インストール後に自動的に起動される、請求項28に記載のシステム。
【請求項３８】
前記第2のデータ要素を処理するように構成された複数のアプリケーションのアイコンを表示するように構成されたディスプレイと、
前記アプリケーションのユーザ選択を受信するように構成されたユーザインタフェースとをさらに含む、請求項28に記載のシステム。
【請求項３９】
前記第1のデータ要素と一致しないアプリケーションが前記第2のデータ要素を処理するのを防止するように構成されたモジュールをさらに含む、請求項28に記載のシステム。
【請求項４０】
アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するように構成されたワイヤレスネットワークインタフェースと、
前記コンテンツアイテムを提示するように構成されたディスプレイと、
前記コンテンツアイテムのユーザ選択を受信するように構成されたユーザインタフェースと、
前記ユーザ選択を受信したことに応答して、前記アプリケーションがインストールされているかどうかを自動的に確認する手段と、
前記第1のデータ要素を含む要求をサーバに伝送するように構成されたワイヤレスネットワークインタフェースと、
前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動する手段とを備える、モバイルデバイス。
【請求項４１】
ユーザが前記アプリケーションを使用して前記製品の購入トランザクションを完了することを可能にするように構成されたユーザインタフェースをさらに含む、請求項40に記載のモバイルデバイス。
【請求項４２】
コンバージョントラッキング情報を伝送するように構成されたワイヤレスネットワークインタフェースをさらに含む、請求項40に記載のモバイルデバイス。
【請求項４３】
前記コンテンツアイテムが、コンバージョンログを保持するサーバのアドレスをさらに含む、請求項40に記載のモバイルデバイス。
【請求項４４】
前記コンテンツアイテムが、前記アプリケーションの最小バージョンを識別する第3のデータ要素を含む、請求項40に記載のモバイルデバイス。
【請求項４５】
前記アプリケーションのインストールされているバージョンが、前記アプリケーションの前記最小バージョンより古いかどうかを確認するように構成されたモジュールをさらに含む、請求項44に記載のモバイルデバイス。
【請求項４６】
前記第2のデータ要素が、前記アプリケーションが起動されるまで、アプリケーションのメッセージ待ち行列に格納される、請求項40に記載のモバイルデバイス。
【請求項４７】
前記サーバが、アプリケーションのダウンロードを提供する、請求項40に記載のモバイルデバイス。
【請求項４８】
前記サーバが、アプリケーションのダウンロードを提供する第2のサーバに前記要求をリダイレクトする、請求項40に記載のモバイルデバイス。
【請求項４９】
前記アプリケーションが、インストール後に自動的に起動される、請求項40に記載のモバイルデバイス。
【請求項５０】
前記第2のデータ要素を処理するように構成された複数のアプリケーションのアイコンを表示するように構成されたディスプレイと、
前記アプリケーションのユーザ選択を受信するように構成されたユーザインタフェースとをさらに含む、請求項40に記載のモバイルデバイス。
【請求項５１】
前記第1のデータ要素と一致しないアプリケーションが前記第2のデータ要素を処理するのを防止するように構成されたモジュールをさらに含む、請求項40に記載のモバイルデバイス。
【請求項５２】
実行されたときに、処理デバイスに、
アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するステップと、
前記コンテンツアイテムを表示するステップと、
前記コンテンツアイテムのユーザ選択を受信するステップと、
前記ユーザ選択を受信したことに応答して、前記アプリケーションがユーザデバイスにインストールされているかどうかを自動的に確認するステップと、
前記第1のデータ要素を含む要求をサーバに伝送するステップと、
前記第1のデータ要素によって識別される前記アプリケーションを前記ユーザデバイスにインストールするステップと、
前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップとを含む動作を実行させる、前記処理デバイスによって実行可能な命令を含むソフトウェアを格納するコンピュータ可読記憶媒体。
【請求項５３】
前記動作が、
前記アプリケーションを使用して前記製品の購入トランザクションを完了するステップをさらに含む、請求項52に記載のシステム。
【請求項５４】
前記動作が、
コンバージョントラッキング情報を伝送するステップをさらに含む、請求項52に記載のシステム。
【請求項５５】
前記コンテンツアイテムが、コンバージョンログを保持するサーバのアドレスをさらに含む、請求項52に記載のシステム。
【請求項５６】
前記コンテンツアイテムが、前記アプリケーションの最小バージョンを識別する第3のデータ要素を含む、請求項52に記載のシステム。
【請求項５７】
前記動作が、前記アプリケーションのインストールされているバージョンが、前記アプリケーションの前記最小バージョンより古いかどうかを確認するステップをさらに含む、請求項56に記載のシステム。
【請求項５８】
前記第2のデータ要素が、前記アプリケーションが起動されるまで、アプリケーションのメッセージ待ち行列に格納される、請求項52に記載のシステム。
【請求項５９】
前記サーバが、アプリケーションのダウンロードを提供する、請求項52に記載のシステム。
【請求項６０】
前記サーバが、アプリケーションのダウンロードを提供する第2のサーバに前記要求をリダイレクトする、請求項52に記載のシステム。
【請求項６１】
前記アプリケーションが、インストール後に自動的に起動される、請求項52に記載のシステム。
【請求項６２】
前記動作が、
前記第2のデータ要素を処理するように構成された複数のアプリケーションのアイコンを表示するステップと、
前記アプリケーションのユーザ選択を受信するステップとをさらに含む、請求項52に記載のシステム。
【請求項６３】
前記動作が、
前記第1のデータ要素と一致しないアプリケーションが前記第2のデータ要素を処理するのを防止するステップをさらに含む、請求項52に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
2011年11月1日出願の米国仮出願第61/554310号の優先権を主張する。米国仮出願第61/554310号の内容は、参照により本明細書に組み込まれる。
【０００２】
本開示は、ウェブページ内のコンテンツアイテムからアプリケーションを起動することに関する。
【背景技術】
【０００３】
インターネットは、様々なリソースへのアクセスを提供する。例えば、ビデオファイルおよび/またはオーディオファイル、ならびに特定の主題または特定のニュース記事のウェブページは、インターネットを介してアクセスすることができる。これらのリソースにアクセスすると、それらのリソースとともにコンテンツアイテム(例えば広告)が提供される機会が生じる。コンテンツアイテムを要求されたリソースとペアリングすることにより、価値を創出することができる。例えば、ウェブページは、広告またはその他のコンテンツアイテムを提示することができるコンテンツスロットを含むことができる。これらのコンテンツスロットは、ウェブページ内に定義してもよいし、そのウェブページとともに例えばポップアップウィンドウ内に提示されるように定義してもよい。ペアリングされたオンラインコンテンツは、ユーザが関心があると考えられる追加情報を有するランディングページへのリンクを含むことができる。
【０００４】
モバイルデバイス用のアプリケーションは、その目的のためにサーバを運営/保守するアプリケーションベンダからダウンロードで入手可能であることが多い。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書は、ウェブページ内のコンテンツアイテムからアプリケーションを起動することに関する技術を記載する。一般に、本明細書に記載する主題の1つの態様は、アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するステップを含む方法として実施することができる。この方法は、前記コンテンツアイテムを表示するステップと、前記コンテンツアイテムのユーザ選択を受信するステップとをさらに含むことができる。この方法は、前記ユーザ選択を受信したことに応答して、前記アプリケーションがユーザデバイスにインストールされているかどうかを自動的に確認するステップをさらに含むことができる。この方法は、前記第1のデータ要素を含む要求をサーバに伝送するステップと、前記第1のデータ要素によって識別される前記アプリケーションを前記ユーザデバイスにインストールするステップとをさらに含むことができる。この方法は、前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップをさらに含むことができる。
【０００６】
一般に、本明細書に記載する主題の1つの態様は、アプリケーションを識別する第1のデータ要素、製品を識別する第2のデータ要素、および1組の命令を含むコンテンツアイテムを伝送するステップを含む方法として実施することができる。前記1組の命令は、前記コンテンツアイテムのユーザ選択に応答してユーザデバイスによって実行されたときに、前記処理装置に、前記アプリケーションが前記ユーザデバイスにインストールされているかどうかを自動的に確認するステップと、前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップとを含む動作を実行させる。前記1組の命令は、スクリプトとすることができる。前記動作は、コンバージョントラッキング情報を伝送するステップをさらに含むこともできる。
【０００７】
一般に、本明細書に記載する主題の1つの態様は、データ処理装置と、前記データ処理装置に結合されたメモリとを備えるシステムとして実施することができる。前記メモリは、前記データ処理装置によって実行されたときに、前記データ処理装置に、アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するステップを含む動作を実行させる命令を格納している。前記動作は、前記コンテンツアイテムを表示するステップと、前記コンテンツアイテムのユーザ選択を受信するステップとをさらに含むことができる。前記動作は、前記ユーザ選択を受信したことに応答して、前記アプリケーションがユーザデバイスにインストールされているかどうかを自動的に確認するステップをさらに含むことができる。前記動作は、前記第1のデータ要素を含む要求をサーバに伝送するステップと、前記第1のデータ要素によって識別される前記アプリケーションを前記ユーザデバイスにインストールするステップとをさらに含むことができる。前記動作は、前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップをさらに含むことができる。
【０００８】
一般に、本明細書に記載する主題の1つの態様は、データ処理装置および前記データ処理装置に結合されたメモリを含むシステムとして実施することができる。前記メモリは、前記データ処理装置によって実行されたときに、前記データ処理装置に、アプリケーションを識別する第1のデータ要素、製品を識別する第2のデータ要素および1組の命令を含むコンテンツアイテムを伝送するステップを含む動作を実行させる命令を格納している。前記1組の命令は、前記コンテンツアイテムのユーザ選択に応答してユーザデバイスによって実行されたときに、前記処理装置に、前記アプリケーションが前記ユーザデバイスにインストールされているかどうかを自動的に確認するステップと、前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップとを含む動作を実行させる。前記1組の命令は、スクリプトとすることができる。前記動作は、コンバージョントラッキング情報を伝送するステップをさらに含むこともできる。
【０００９】
一般に、本明細書に記載する主題の1つの態様は、アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するように構成されたネットワークインタフェースを備えるシステムとして実施することができる。前記システムは、前記コンテンツアイテムを表示するように構成されたディスプレイをさらに備えることができる。前記システムは、前記コンテンツアイテムのユーザ選択を受信するように構成されたユーザインタフェースをさらに備えることができる。前記システムは、前記ユーザ選択を受信したことに応答して、前記アプリケーションがインストールされているかどうかを自動的に確認する手段をさらに備えることができる。前記システムは、前記第1のデータ要素を含む要求をサーバに伝送するように構成されたネットワークインタフェースをさらに備えることができる。前記システムは、前記第1のデータ要素によって識別される前記アプリケーションをインストールするように構成されたモジュールをさらに備えることができる。前記システムは、前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動する手段をさらに備えることができる。
【００１０】
一般に、本明細書に記載する主題の1つの態様は、アプリケーションを識別する第1のデータ要素、製品を識別する第2のデータ要素、および1組の命令を含むコンテンツアイテムを伝送するように構成されたネットワークインタフェースを備えるシステムとして実施することができる。前記1組の命令は、前記コンテンツアイテムのユーザ選択に応答してユーザデバイスによって実行されたときに、前記処理装置に、前記アプリケーションが前記ユーザデバイスにインストールされているかどうかを自動的に確認するステップと、前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップとを含む動作を実行させる。前記1組の命令は、スクリプトとすることができる。前記動作は、コンバージョントラッキング情報を伝送するステップをさらに含むこともできる。
【００１１】
一般に、本明細書に記載する主題の1つの態様は、アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するように構成されたワイヤレスネットワークインタフェースを備えるモバイルデバイスとして実施することができる。前記システムは、前記コンテンツアイテムを提示するように構成されたディスプレイをさらに備えることができる。前記システムは、前記コンテンツアイテムのユーザ選択を受信するように構成されたユーザインタフェースをさらに備えることができる。前記システムは、前記ユーザ選択を受信したことに応答して、前記アプリケーションがインストールされているかどうかを自動的に確認する手段をさらに備えることができる。前記システムは、前記第1のデータ要素を含む要求をサーバに伝送するように構成されたワイヤレスネットワークインタフェースをさらに備えることができる。前記システムは、前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動する手段をさらに備えることができる。
【００１２】
一般に、本明細書に記載する主題の1つの態様は、実行されたときに、処理デバイスに、アプリケーションを識別する第1のデータ要素および製品を識別する第2のデータ要素を含むコンテンツアイテムを受信するステップを含む動作を実行させる、処理デバイスによって実行可能な命令を含むソフトウェアを格納するコンピュータ可読記憶媒体として実施することができる。前記動作は、前記コンテンツアイテムを表示するステップと、前記コンテンツアイテムのユーザ選択を受信するステップとをさらに含むことができる。前記動作は、前記ユーザ選択を受信したことに応答して、前記アプリケーションがユーザデバイスにインストールされているかどうかを自動的に確認するステップをさらに含むことができる。前記動作は、前記第1のデータ要素を含む要求をサーバに伝送するステップと、前記第1のデータ要素によって識別される前記アプリケーションを前記ユーザデバイスにインストールするステップとをさらに含むことができる。前記動作は、前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップをさらに含むことができる。
【００１３】
一般に、本明細書に記載する主題の1つの態様は、実行されたときに、処理デバイスに、アプリケーションを識別する第1のデータ要素、製品を識別する第2のデータ要素、および1組の命令を含むコンテンツアイテムを伝送するステップを含む動作を実行させる、処理デバイスによって実行可能な命令を含むソフトウェアを格納するコンピュータ可読記憶媒体として実施することができる。前記1組の命令は、前記コンテンツアイテムのユーザ選択に応答してユーザデバイスによって実行されたときに、前記処理装置に、前記アプリケーションが前記ユーザデバイスにインストールされているかどうかを自動的に確認するステップと、前記アプリケーションによって表示される第1のコンテンツが前記製品と関係するように、前記第2のデータ要素を入力として前記アプリケーションを起動するステップとを含む動作を実行させる。前記1組の命令は、スクリプトとすることができる。前記動作は、コンバージョントラッキング情報を伝送するステップをさらに含むこともできる。
【００１４】
上記その他の実施形態はそれぞれ、必要に応じて、以下の特徴のうちの1つまたは複数を含むことができる。製品の購入トランザクションは、アプリケーションを用いて完了することができる。コンバージョントラッキング情報は、伝送することができる。コンテンツアイテムは、コンバージョンログを保持するサーバのアドレスを含むことができる。コンテンツアイテムは、アプリケーションの最小バージョンを識別する第3のデータ要素を含むことができる。アプリケーションのインストールされているバージョンが、アプリケーションの最小バージョンより古いかどうかを判定する確認を実行することができる。第2のデータ要素は、アプリケーションが起動されるまで、アプリケーションのメッセージ待ち行列に格納することができる。サーバは、アプリケーションのダウンロードを提供することができる。サーバは、アプリケーションのダウンロードを提供する第2のサーバに要求をリダイレクトすることができる。アプリケーションは、インストール後に自動的に起動することができる。第2のデータ要素を処理するように構成された複数のアプリケーションのアイコンを表示することができ、アプリケーションのユーザ選択を受信することができる。第1のデータ要素と一致しないアプリケーションが第2のデータ要素を処理するのを防止することができる。
【００１５】
本発明の特定の実施形態を実施して、以下の利点のうちの1つまたは複数を実現することができるが、あるいは以下の利点は1つも実現できないこともある。いくつかの実施態様では、ウェブページ内のコンテンツアイテムから購入トランザクションを容易にするように構成された特殊アプリケーション内に提示される関連コンテンツに直接ディープリンクすることによって、コンテンツアイテムに関連する製品の購入を容易にすることができる。いくつかの実施態様では、製品を見つけて購入するプロセスを合理化することによって、ユーザエクスペリエンスを強化することができる。いくつかの実施態様では、広告主の特殊アプリケーションをユーザが関心を持っている製品にリンクし、ユーザが広告主のオンラインショッピングアプリケーションを採用することを促進することにより、広告主のブランドプロモーションを容易にすることができる。広告主のアプリケーションのユーザは、競争相手よりその広告主から将来も購入する可能性が高くなる可能性がある。いくつかの実施態様は、広告主のアプリケーションのインストールベースを増加させる助けとなることができる。
【００１６】
本発明の1つまたは複数の実施形態の詳細を、添付の図面および以下の説明に記載する。本発明のその他の特徴、態様および利点は、この説明、図面および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】例示的なオンライン環境を示すブロック図である。
【図２】ウェブページからコンテンツアイテムに関連するアプリケーションを起動する例示的なプロセスを示す流れ図である。
【図３】本明細書に記載するアプリケーションファインダモジュールの実施形態を実施する例示的なモバイルデバイスを示す概略図である。
【図４】図3のデバイスの内部アーキテクチャを示すブロック図である。
【図５】図3のデバイスが使用するオペレーティングシステムの例示的な構成要素を示すブロック図である。
【図６】図5のオペレーティングシステムカーナルによって実施される例示的なプロセスを示すブロック図である。
【図７】本明細書に記載する技術を実施するために使用することができるコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
【発明を実施するための形態】
【００１８】
これらの図面で、同じ参照番号および参照符は、同じ要素を示す。
【００１９】
多くのモバイルアプリケーションでは、ユーザは、そのアプリケーション内で購入を行うことができる。例えば、ユーザは、ブックストアアプリケーションで書籍を購入したり、ショッピングアプリケーションでカメラを購入したりすることができる。ユーザの関心を主にかき立てるのは、アプリケーション自体ではなくアプリケーションが販売する製品であることがあるので、特定のアプリケーションを採用することを直接促すことは困難である可能性がある。発行者または広告主がアプリケーション内のコンテンツと直接ディープリンクするコンテンツアイテムを作成できるようにすれば、ユーザエクスペリエンスを向上させ、発行者がさらなるビジネスを展開する機会を創出することができる。
【００２０】
例えば、ユーザは、ある製品を検索するデバイス(例えばモバイルデバイス)を使用することができる。カメラを探すユーザ検索クエリにより、検索結果ウェブページに含まれるコンテンツアイテム(例えば広告)を得ることができる。このコンテンツアイテムは、そのコンテンツアイテムと関連するショッピングアプリケーションのカメラセクションへのディープリンクを可能にするデータ要素を含むことができる。同様に、書評に関するウェブページ上のコンテンツアイテムは、ブックストアアプリケーション内のその書籍に関する特定のセクションにディープリンクすることができるものとする。
【００２１】
アプリケーションの起動時に、関心のある製品を識別するデータ要素をアプリケーションに渡して、このディープリンキングを容易にすることができる。ユーザデバイスは、コンテンツアイテムによって指定されたアプリケーションがデバイスにインストールされていない場合に対処するように構成することができる。ユーザがコンテンツアイテムを選択(例えばその上でクリック)したとき、そのアプリケーションがインストールされている場合には、その関連する製品に関係するデータ要素を入力としてそのアプリケーションを起動して、その製品と関係するコンテンツ(例えばランディングページ)がそのアプリケーション内に表示されるようにすることができる。そのアプリケーションが現在インストールされていない場合には、アプリケーションベンダシステムから提供されるそのアプリケーションのダウンロード画面を、ユーザに提示することができる。ユーザの認可により、そのアプリケーションをユーザデバイスにダウンロードしてインストールすることができる。インストールが完了すると、ディープリンク情報によってそのアプリケーションを起動することができる。
【００２２】
いくつかの実施態様では、指定されたアプリケーションがインストールされているかどうかを確認し、そのアプリケーションを起動する命令(例えばJavaScript(登録商標)スクリプト)がコンテンツアイテムに含まれていることもある。
【００２３】
コンテンツアイテムは、ネットワークを介して提供することができる任意のデータである。例えば、ランディングページへのリンクを含む広告は、コンテンツアイテムである。
【００２４】
ディープリンキングとは、行先ウェブサイトのメインページまたはホームページではなく、その行先ウェブサイト上の特定のコンテンツ(例えばウェブページまたは画像)を指すハイパーリンクを作成することである。このようなリンクを、ディープリンクと呼ぶことがある。例えば、オンライン商人のウェブサイトは、訪問者を迎え入れ、訪問者が関心のあるコンテンツまたは製品を見つけるのを助けるメインページまたはホームページを有することがある。訪問者は、そのウェブサイト内の、特定の製品に関係するコンテンツを含む他のウェブページに移動することができる。メインページまたはホームページを見ずに、その商人のウェブサイト上の特定の製品のウェブページにユーザを導くリンクも、ディープリンクの一例である。
【００２５】
図1は、ユーザデバイスが特殊アプリケーションを使用してコンテンツアイテム(例えば広告)と関連するオンラインコンテンツ(例えばランディングページ)にアクセスすることができる、例示的なオンライン環境100を示すブロック図である。この例示的な環境100は、例えばローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネットまたはそれらの組合せなどのネットワーク102を含む。このネットワーク102は、ウェブサイト104、ユーザデバイス106、コンテンツプロバイダ(例えば広告主108)、広告管理システム110を接続する。この例示的な環境100は、数千のウェブサイト104、ユーザデバイス106および広告主108を含むことができる。
【００２６】
ウェブサイト104は、ドメイン名と関連する、1つまたは複数のサーバをホストとする1つまたは複数のリソース105を含む。例示的なウェブサイトは、テキスト、画像、マルチメディアコンテンツ、および例えばスクリプトなどのプログラミング要素を含むことができる、ハイパーテキストマークアップ言語(HTML)でフォーマット化された複数のウェブページの集合体である。各ウェブサイト104は、例えばウェブサイト104を制御、管理および/または所有するエンティティなどの発行者によって保持される。
【００２７】
リソース105は、ネットワーク102を介して提供することができる任意のデータを含む。リソース105は、リソース105に関連付けられたリソースアドレスで識別される。リソースとしては、いくつか例を挙げると、HTMLページ、ワープロ文書、ならびにポータブルドキュメントフォーマット(PDF)ドキュメント、画像、ビデオおよびフィードソースなどがある。リソースは、埋込み情報(例えばハイパーリンクのメタ情報)および/または埋込み命令(例えばJavaScript(登録商標)スクリプト)を含むことができる、例えば単語、語句、画像および音声などのコンテンツを含むことができる。
【００２８】
ユーザデバイス106は、ユーザによって制御される、ネットワーク102を介してリソースを要求および受信することができる電子デバイスである。例示的なユーザデバイス106としては、パーソナルコンピュータ、モバイル通信デバイス、ならびにネットワーク102を介してデータを送信および受信することができるその他のデバイスが挙げられる。ユーザデバイス106は、通常は、ネットワーク102を介したデータの送信および受信ならびにユーザに対するコンテンツの提示を容易にするユーザアプリケーション(例えばウェブブラウザ)を含む。
【００２９】
ユーザデバイス106は、ウェブサイト104にリソース105を要求することができる。その結果、リソース105を表すデータをユーザデバイス106に提供して、ユーザデバイス106が提示することができる。リソース105を表すデータは、そのリソースの一部分、あるいは広告またはその他のコンテンツを提示することができるユーザディスプレイの一部分(例えばポップアップウィンドウの提示位置またはウェブページのスロット)を指定するデータも含むことができる。これらのリソースまたはユーザディスプレイの指定部分は、広告スロットまたはインプレッションと呼ばれる。
【００３０】
これらのリソースの検索を容易にするために、この環境は、様々なウェブサイト104上で様々な発行者から提供される様々なリソースを巡回して索引付けすることによってリソースを識別する検索システム112を含むことができる。リソースに関するデータは、そのデータが対応するリソースに基づいて索引付けすることができる。索引付けされ、必要に応じてキャッシュされたリソースのコピーは、索引付きキャッシュ114に格納される。
【００３１】
ユーザデバイス106は、ネットワーク102を介して検索システム112に検索クエリ116を提出することができる。これに応答して、検索システム112は、索引付きキャッシュ114にアクセスして、検索クエリ116に関連するリソースを識別する。検索システム112は、検索結果118の形でリソースを識別し、検索結果118を検索結果ページでユーザデバイス106に戻す。検索結果118は、検索システム112によって生成される、特定の検索クエリに応じるリソースを識別する、そのリソースへのリンクを含むデータである。例示的な検索結果118としては、ウェブページタイトル、ウェブページから抽出されるテキストのスニペットまたは画像の一部分、およびウェブページのURLなどが挙げられる。検索結果ページは、広告またはその他のコンテンツを提示することができる1つまたは複数の広告スロットも含むことができる。
【００３２】
リソース105または検索結果118がユーザデバイス106から要求されたとき、広告管理システム110は、追加コンテンツ(例えば広告)をリソース105または検索結果118とともに提供することを求める要求を受信する。広告を求める要求は、要求されたリソースまたは検索結果ページについて定義された広告スロットの特徴を含むことができ、これらの要求が、広告管理システム110に提供される。
【００３３】
例えば、広告スロットが定義されるリソースへの参照(例えばURL)、広告スロットのサイズ、および/または広告スロット内の提示に利用できるメディアタイプを、広告管理システム110に提供することができる。同様に、要求されたリソースに関連するキーワード(「リソースキーワード」)または検索結果が要求される検索クエリ116も、広告管理システム110に提供して、リソースまたは検索クエリ116に関連する広告の識別を容易にすることができる。
【００３４】
広告を求める要求に含まれるデータに基づいて、広告管理システム110は、要求に応答して提供するのに適格な広告(「適格広告(eligible advertisement)」)を選択することができる。例えば、適格広告としては、広告スロットの特徴と一致する特徴を有する、指定されたリソースキーワードまたは検索クエリ116に関連すると識別された広告が挙げられる。
【００３５】
広告管理システム110は、オークションの結果に基づいて、リソースの広告スロットまたは検索結果ページに提示するために提供される適格広告から選択することができる。例えば、広告管理システム110は、広告主から入札を受け、オークションの終了時に最高入札者に広告スロットを割り当てることができる。入札価格は、広告主がリソースまたは検索結果ページとともに自分の広告が提示されること(または選択されること)に対して支払おうと考えている金額である。例えば、入札価格は、広告主が広告の1000インプレッション(すなわち提示)ごとに支払おうと考えている金額を指定することもあり、これはCPC入札と呼ばれる。あるいは、入札価格は、広告主が広告の選択(すなわちクリックスルー)または広告選択後のコンバージョンに対して支払おうと考えている金額を指定することもある。最高入札者は、入札価格のみに基づいて決定してもよいし、各入札者の入札価格に1つまたは複数のファクタ(例えば広告のパフォーマンスから導出される品質スコア、またはランディングページスコアなど)を掛けた値に基づいて決定してもよい。
【００３６】
コンバージョンは、リソースまたは検索結果ページとともに提供される広告に関係する特定のアクションをユーザが実行したときに起こる。何がコンバージョンとなるかは場合によって様々であり、様々な方法で決定することができる。例えば、あるコンバージョンは、ユーザが広告の上でクリックして、ランディングページに差し向けられたときに起こることもある。別のコンバージョンは、ユーザがランディングページから離れる前に、または最初にランディングページを訪れてから所定の期間内(例えば30日間以内)に購入を完了したときに起こることもある。また、コンバージョンは、任意の測定可能/観測可能なユーザアクションとして広告主が定義することもできる。ユーザアクションとしては、例えば、白書をダウンロードする、ウェブサイトの少なくとも所与の深さまで移動する、少なくとも特定数のウェブページを閲覧する、ウェブサイトまたはウェブページ上に少なくとも所定の時間留まる、ウェブサイト上で登録を行う、などが挙げられる。その他のアクションも、コンバージョンとして用いることができる。
【００３７】
広告管理システムは、コンテンツアイテムの過去の割当ておよびユーザ対話に関するデータをデータ記憶装置119に格納し、アクセスすることができる。データ記憶装置119は、発行者のウェブサイトおよび広告との以前のユーザ対話を表すデータを格納するデータ記憶装置である。例えば、ある広告を求める要求を受信したことに応答して、広告管理システム110は、その要求が対応するウェブサイトを識別し、かつその要求をそのウェブサイトのインプレッションとして識別するデータを格納することができる。さらに、広告管理システム110は、要求に応答して提供された広告、およびその広告が提示された後に検出された任意のユーザアクション(例えばクリックまたはコンバージョン)を表すデータを格納することができる。データ記憶装置119は、ユーザのセッションログも格納することができる。
【００３８】
広告管理システム110は、アプリケーションURLモジュール120を含むこともできる。アプリケーションURLモジュールは、コンテンツアイテムのフォーマットURLを生成または修正するために使用することができる。例えば、アプリケーションURLモジュールは、広告主108から、ランディングページのURLを含むコンテンツアイテムを受信することがある。URLは、フォーマット化することができ、ランディングページを見るための好ましいアプリケーションおよびコンテンツアイテムに関連する1つまたは複数の製品の特徴を指定するデータ要素を含むことができる。アプリケーションURLモジュールは、コンバージョントラッキングに関係するデータ要素を追加することによってこのURLを修正することができる。例えば、アプリケーションURLモジュールは、共通ゲートウェイインタフェース(CGI)パラメータとしてコンバージョントラッキングサーバのURLを追加することができる。アプリケーションURLモジュール120は、広告管理システム110のサーバシステムインタフェース構成要素を通して、修正したコンテンツアイテムを伝送することができる。いくつかの実施態様では、アプリケーションURLモジュールは、広告主108から受信したコンテンツアイテムに関連するフォーマット化されていないデータ要素に基づいて、ディープリンキングアプリケーションに固有のランディングページのURLを生成することもできる。
【００３９】
オンライン環境100は、アプリケーションベンダシステム125も含むことができる。アプリケーションベンダシステムは、ダウンロード用のアプリケーションを提供する1つまたは複数のサーバを含むことができる。一部のアプリケーションは無料で入手可能であることもあるが、その他のアプリケーションは、ダウンロードする前に購入トランザクションが必要になることもある。いくつかの実施態様では、アプリケーションURLモジュール120は、コンテンツアイテムに関連するアプリケーションのダウンロードを提供するアプリケーションベンダシステムのサーバのURLをCGIパラメータとして含むように、アプリケーションに固有のランディングページのURLを修正することができる。
【００４０】
ユーザデバイス106は、アプリケーションファインダモジュール130を含むことができる。アプリケーションファインダモジュールは、コンテンツアイテムによって指定されたアプリケーションがそのユーザデバイスにインストールされているかどうかを確認するために使用することができる。必要なら、アプリケーションファインダモジュールは、アプリケーションベンダシステム125からのアプリケーションのダウンロードおよびそのアプリケーションのユーザデバイスへのインストールを容易にすることができる。アプリケーションファインダモジュールは、さらに、アプリケーションがコンテンツアイテムに関連する製品のコンテンツを自動的にロードできるようにする入力パラメータによってそのアプリケーションの起動を容易にすることができる。
【００４１】
アプリケーションファインダモジュール130は、図3から図6に示すモバイルデバイス300などの処理装置上で実行されるソフトウェアとして実装することができる。
【００４２】
広告管理システム110は、1つまたは複数のコンピューティングデバイス(例えば図7に示すコンピュータシステム)などの処理装置上で実行されるソフトウェアとして実装することができる。
【００４３】
図2は、ウェブページ内のコンテンツアイテムのユーザ選択に基づいてアプリケーションを起動する例示的なプロセス200を示す流れ図である。コンテンツアイテムは、製品と、その製品に関するさらなる情報を見るために使用することができるアプリケーションとを指定することができる。ユーザがウェブページからコンテンツアイテムを選択すると、その製品に関係する情報がそのアプリケーションによって表示される最初のコンテンツとなるように、指定されたアプリケーションが指定された製品への参照によって起動される。アプリケーションがまだインストールされていない場合には、ユーザは、そのアプリケーションのダウンロードを提供するサーバに送られる。アプリケーションをダウンロードしてインストールした後で、そのアプリケーションを、その製品への参照により自動的に起動することができる。ユーザは、アプリケーションを通してこのコンテンツと対話することができ、場合によってはその製品を購入することができる。
【００４４】
プロセス200は、ユーザのモバイルコンピューティングデバイス(例えば図7に示すもの)によって実行されるアプリケーションファインダモジュールによって実施することができる。例えば、プロセス200は、図3から図6に示すモバイルデバイスによって実行されるアプリケーションファインダ552によって実施することができる。
【００４５】
202で、アプリケーションおよび製品に関連するコンテンツアイテムを受信する。例えば、コンテンツアイテムは、ユーザが関心を持つ可能性があるさらなる情報を含むランディングページのURLを含む広告とすることができる。URLは、ランディングページのコンテンツを見るために使用することができるアプリケーションを識別することができる。URLは、コンテンツアイテムと関連する製品を指定する1つまたは複数のデータ要素をさらに含むことができる。いくつかの実施態様では、コンテンツアイテムは、コンバージョントラッキングサーバ(例えば広告管理システム110の構成要素)のURLをさらに含むことができる。コンバージョントラッキングサーバは、コンテンツアイテムのコンバージョンのログを保持することができる。例えば、ダウンロードできる歌に関連するコンテンツアイテムは、以下のようなフォーマットのURLを含むことがある。
【００４６】
http://www.companv.com/companyAppID/<artist name>/<album name>/<song na me>?conversion url=<url>
【００４７】
ここで、www.company.comは、広告主のウェブサーバのURLであり、データ要素「companyAppID」は、アプリケーションを識別する英数字シーケンスであり、<artist_name>、<album_name>および<song_name>は、製品(例えば歌)を識別するデータ要素であり、conversion_urlは、例えばコンバージョントラッキングサーバのURLである<url>の値に設定されるCGIパラメータである。いくつかの実施態様では、コンテンツアイテムは、指定されたランディングページのコンテンツをサポートするために必要なアプリケーションの最小バージョン番号を指定するデータ要素をさらに含むこともある。
【００４８】
いくつかの実施態様では、コンテンツアイテムは、図1の広告主108が部分的に生成することができる。いくつかの実施態様では、コンテンツアイテムは、図1の広告管理システム110のアプリケーションURLモジュール120が部分的に生成し、伝送することができる。
【００４９】
コンテンツは、202で、ユーザデバイス106(例えば携帯電話)が受信することができる。コンテンツアイテムは、ユーザデバイスのネットワークインタフェース構成要素を介して受信することができる。いくつかの実施態様では、コンテンツは、202で、ユーザデバイスのワイヤレスネットワークインタフェース(例えば図3のアンテナ305)を介して受信することができる。
【００５０】
204で、コンテンツアイテムを、ユーザに対して表示する。コンテンツアイテムは、図1のユーザデバイス106上で動作するブラウザアプリケーション(例えば図5に示すブラウザ551)によって、それが提供されるウェブページの残りの部分とともに処理することができる。ブラウザアプリケーションは、ユーザデバイスのディスプレイ(例えば図3に示すディスプレイ301)上に表示することができるコンテンツアイテムに基づく画像をレンダリングすることができる。例えば、コンテンツアイテムは、「View in Company App」というラベルが付けられたリンクを含むことができる。
【００５１】
206で、コンテンツアイテムのユーザ選択を受信する。ユーザは、ユーザデバイスのユーザインタフェースデバイス(例えばキーパッド、マウス、jマウスまたはタッチパッド)を用いることによってコンテンツアイテムを選択することができる。例えば、ユーザは、図3に示すモバイルデバイス300のポインティングデバイス304を使用してディスプレイ301の一部分の上でクリックすることによって、コンテンツアイテムを選択することができる。
【００５２】
208で、ユーザデバイスを確認して、コンテンツアイテムが指定するアプリケーションがインストールされているかどうかを判定する。例えば、ユーザデバイスのオペレーティングシステムによって格納されている登録アプリケーションのリストを検索して、アプリケーションを識別するコンテンツアイテム中のデータ要素と一致する値を探す。いくつかの実施態様では、インストールされているアプリケーションのバージョン番号を、コンテンツアイテム中のデータ要素によって指定される最小バージョン番号と比較することによって確認することができる。
【００５３】
ユーザ選択を受信すると、アプリケーションファインダモジュール130は、ユーザデバイス106上で動作して、コンテンツアイテムと関連するデータ要素(例えばURL構成要素またはパラメータ)を処理し、208で、指定されたアプリケーションがインストールされているかどうかを確認することができる。例えば、図5に示すアプリケーションファインダ552が動作して、208で、コンテンツアイテムと関連するアプリケーションがモバイルデバイス300にインストールされているかどうかを確認することができる。
【００５４】
215で、アプリケーションの適当なバージョンがインストールされていない場合には、220で、そのアプリケーションを求める要求を、遠隔サーバに伝送することができる。例えば、そのアプリケーションを求める要求は、ユーザデバイス106からアプリケーションベンダシステム125のサーバに伝送することができる。いくつかの実施態様では、220で、この要求は、広告主108のサーバに伝送することもできる。いくつかの実施態様では、広告主のサーバが、この要求をアプリケーションベンダシステムのサーバにリダイレクトすることもできる。
【００５５】
アプリケーションを求める要求により、遠隔サーバに、アプリケーションをダウンロードする提案を含む1つまたは複数のウェブページを伝送するという形で応答させることができる。ユーザは、これらのウェブページのうちの1つまたは複数と対話して、222で、アプリケーションのダウンロードを開始することができる。いくつかの実施態様では、アプリケーションのダウンロードは、ユーザが事前にアプリケーションベンダシステムに登録しておいたアカウント情報を用いて自動的に開始することができる。いくつかの実施態様では、ユーザが、ウェブページを通して入札情報を入力することができる。いくつかの実施態様では、ユーザが、条件への同意を示すことによって、ダウンロード動作を認可することができる。
【００５６】
224で、アプリケーションを、ユーザデバイスにインストールすることができる。例えば、コンテンツアイテムによって識別されるアプリケーションを、図3から図6に示すモバイルデバイス300にインストールすることができる。
【００５７】
インストールが完了した後、または215でアプリケーションが既にインストールされている場合には、230で、コンテンツアイテムと関連する製品を識別するデータ要素を入力パラメータとして、アプリケーションを起動することができる。例えば、コンテンツアイテムが、歌を指定するデータ要素を有するURLを含む場合には、アプリケーションは、その歌に関する情報および選択されるとユーザデバイスにその歌をダウンロードすることになる購入トランザクションをユーザが完了することを可能にするアイコンを表示する、広告主のサーバから提供されるランディングページをロードすることによって始動することができる。
【００５８】
いくつかの実施態様では、コンテンツアイテムに関連する製品を識別する1つまたは複数のデータ要素は、ユーザデバイスのオペレーティングシステムによって保持されるアプリケーションのメッセージ待ち行列に書き込むことができる。メッセージは、目標アプリケーションの一意識別子を含むことができる。アプリケーションは、起動されたときに、そのアプリケーションに向けられたメッセージがないかどうかメッセージ待ち行列を確認し、以前に保存されたメッセージを取り出すことができる。アプリケーションは、製品を識別する1つまたは複数のデータ要素を復号し、それらを入力パラメータとして受け入れることができる。これらの入力パラメータに基づいて、アプリケーションは、識別された製品に関連するコンテンツ(例えば指定されたランディングページ)を自動的にロードし、表示することができる。
【００５９】
アプリケーションは、既にインストールされていると判定されたときに、自動的に起動することができる。いくつかの実施態様では、アプリケーションは、インストールの工程が完了した後、自動的に起動する。いくつかの実施態様では、この起動は、ユーザ入力(例えばポインティングデバイス304を介して受信する入力)によって開始することができる。いくつかの実施態様では、コンテンツアイテムのランディングページを処理することができる複数のアプリケーションのアイコンが、ユーザに提示される。例えば、アプリケーションは、それらが特定のパターンに一致するURLを処理することを示すように、ユーザデバイスのオペレーティングシステムに登録することができる。これで、ユーザは、利用可能なアプリケーションの中から選択することができる。いくつかの実施態様では、ランディングページを処理することができる、指定されたアプリケーション以外のアプリケーション、すなわちコンテンツアイテムのアプリケーションを識別するデータ要素と一致しないアプリケーションを、抑制することができる。例えば、利用可能なアプリケーションの選択肢をユーザに提示せずに、指定されたアプリケーションを自動的に起動して、ランディングページを処理することができる。いくつかの実施態様では、ユーザに対して、ランディングページを処理するための選択肢を1つだけ提示する、すなわち指定されたアプリケーションだけを提示することもできる。リンクされたコンテンツを見るためにアプリケーションを起動するために、ユーザの許可が要求されることもある。例えば、ユーザに対して、「このリンクはCompany Appを開こうとしています。このアプリケーションを開きますか?(Y/N)」というメッセージを提示することもできる。このメッセージは、「これをデフォルトにする」オプションを含むこともできる。
【００６０】
アプリケーションは、ユーザデバイス106(例えば図3から図6に示すモバイルデバイス300)上で起動することができる。ユーザデバイス106上で動作するアプリケーションファインダモジュール130は、指定されたアプリケーションの起動230を開始することができる。例えば、コンテンツアイテムに関連するアプリケーションがモバイルデバイス300にインストールされているときには、図5に示すアプリケーションファインダ552は、230でそのアプリケーションを起動することができる。いくつかの実施態様では、ユーザは、ユーザインタフェースデバイス(例えばキーボード302またはポインティングデバイス304)を介して選択を入力することによって、アプリケーションの起動を開始することもできる。
【００６１】
ユーザは、アプリケーションを使用して、製品に関連するコンテンツ(例えば指定されたランディングページ)とさらに対話することができ、232で製品を購入することを選択することができる。アプリケーションは、購入トランザクションを容易にすることができる。例えば、アプリケーションは、「今買う」アイコンをユーザに提示することができる。ユーザが(例えばポインタデバイス304で)「今買う」アイコンを選択すると、例えば入札情報を入力し、販売条件への同意を示すことによって購入トランザクションを完了するために使用することができるウェブページをユーザに提示することができる。いくつかの実施態様では、「今買う」アイコンを選択することによって同意を表明するだけで購入トランザクションを完了できるように、ユーザの入札情報を事前登録しておくこともできる。
【００６２】
234で、アプリケーションは、コンバージョンデータをサーバに伝送することができる。アプリケーションは、コンバージョントラッキングサーバを指定するデータ要素を入力パラメータとして受け入れることができる。例えば、アプリケーションは、CGI入力パラメータとしてconversion_urlを受け入れることができる。ユーザが購入またはその他のトランザクションを完了したときに、アプリケーションは、そのトランザクションを反映するデータを、指定されたコンバージョンサーバ(例えばconversion_urlデータ要素の値と一致するURLを有するサーバ)に伝送することができる。
【００６３】
いくつかの実施態様では、指定されたアプリケーションがインストールされているかどうかを確認し、そのアプリケーションを起動する命令(例えばJavaScript(登録商標)スクリプト)を、コンテンツアイテムに含めることもできる。プロセス200を実施するように構成されたユーザデバイス内に予め設置されたモジュールに頼るのではなく、これらの命令を実行して、プロセス200の一部分を実施することができる。これらの命令は、ユーザデバイス上のランタイムライブラリ(例えばコアJava(登録商標)ライブラリ531)を使用してブラウザ(例えば図5のブラウザ551)アプリケーションによって実行することができる。これらの命令は、アプリケーションがユーザデバイスにインストールされているかどうかを、ブラウザに自動的に確認させることができる。これらの命令は、さらに、アプリケーションによって最初に表示されるコンテンツが製品に関係したものとなるように、コンテンツアイテムに関連する製品を指定するデータ要素を入力パラメータとしてアプリケーションを起動させることができる。これらの命令は、アプリケーションを求める要求を、ユーザデバイス106からアプリケーションベンダシステムサーバ125に伝送させることができる。これらの命令は、コンバージョンを反映するデータを、ユーザデバイスからコンバージョントラッキングサーバ(例えば広告管理システム110の構成要素)に伝送させることができる。アプリケーションを指定するデータ要素と、製品を指定するデータ要素と、これらの命令とを含むコンテンツアイテムは、広告管理システム110からユーザデバイス106に伝送することができる。
【００６４】
次に、図3を参照すると、アプリケーションファインダモジュール130(図1に示す)を実装する例示的なモバイルデバイス300の外観が示してある。簡単に言うと、デバイス300は、特に、ウェブページ内におけるコンテンツアイテムのユーザ選択に基づいてアプリケーションを起動し、必要ならインストールするように構成されたプロセッサを含む。
【００６５】
さらに詳細には、デバイス300のハードウェア環境は、テキスト、画像およびビデオをユーザに対して表示するディスプレイ301と、テキストデータおよびユーザコマンドをデバイス300に入力するためのキーボード302と、ディスプレイ301に表示されるオブジェクトを指示、選択および調節するためのポインティングデバイス304と、アンテナ305と、ネットワーク接続306と、カメラ307と、マイクロフォン309と、スピーカ310とを備える。デバイス300では外部アンテナ305を示しているが、デバイス300は、ユーザには見えない内部アンテナを備えていてもよい。
【００６６】
ディスプレイ301は、デバイス300が使用するソフトウェアアプリケーションのユーザインタフェースおよびデバイス300を動作させるために使用されるオペレーティングシステムプログラムを構成するビデオ、グラフィックス、画像およびテキストを表示することができる。ディスプレイ301に表示することができると考えられる要素には、新たなメッセージの存在をユーザに知らせる新着メールインジケータ311、電話呼の着信中、発信中または通話中であることを示すアクティブコールインジケータ312、データを伝送および受信するためにデバイス300が現在使用しているデータ標準を示すデータ標準インジケータ314、信号強度バーを使用するなどしてアンテナ305によって受信した信号の強度の測定値を示す信号強度インジケータ315、残りのバッテリ寿命の測定値を示すバッテリ寿命インジケータ316、あるいは現在時刻を出力するクロック317がある。
【００６７】
ディスプレイ301は、ウェブブラウザアプリケーションアイコン319、電話アプリケーションアイコン320、検索アプリケーションアイコン321、コンタクトアプリケーションアイコン322、マッピングアプリケーションアイコン324、電子メールアプリケーションアイコン325またはその他のアプリケーションアイコンなど、ユーザが利用できる様々なアプリケーションを表すアプリケーションアイコンを示すこともできる。1つの例示的な実施態様では、ディスプレイ301は、16ビットカラー以上の性能の、クオータービデオグラフィックスアレイ(QVGA)薄膜トランジスタ(TFT)液晶ディスプレイ(LCD)である。
【００６８】
ユーザは、キーボード(または「キーパッド」)302を使用して、コマンドおよびデータを入力して、オペレーティングシステムおよびアプリケーションを動作させ、制御する。キーボード302は、単独で選択されたときには英数字「Q」および「W」と関連付けられ、キー329と組み合わせて押されたときには「*」および「1」と関連付けられるキー326および327など、英数字と関連付けられた標準的なキーボードのボタンまたはキーを含む。個々のキーは、オペレーティングシステムまたはオペレーティングシステムによって呼び出されたアプリケーションの状態に基づいて、ラベル付けされていない機能など、特別な文字または機能と関連付けることもできる。例えば、アプリケーションが数字の入力を必要とするときには、キー327を単独で選択して、「1」が入力されるようにすることもできる。
【００６９】
英数字キーパッドと従来通りに関連付けられたキーに加えて、キーボード302は、着信した呼に応答させたり新たな呼を発信させたりする呼設定キー330、アクティブコールを終了させる呼終了キー331、メニューをディスプレイ301内に表示させるドロップダウンメニューキー332、以前にアクセスしたネットワークアドレスに再度アクセスさせる後方移動キー334、アクティブなウェブページをお気に入りサイトのブックマークフォルダに入れたり、ブックマークフォルダを表示させたりするお気に入りキー335、デバイス300上に呼び出されたアプリケーションを所定のネットワークアドレスに移動させるホームページキー336、または多方向移動、アプリケーション選択、ならびに電源およびボリュームの制御を行うためのその他のキーなど、その他の特殊機能キーも含む。
【００７０】
ユーザは、デバイス300およびデバイス300上に呼び出されたアプリケーションとの対話およびそれらの制御の一部として、ポインティングデバイス304を使用して、ディスプレイ301に表示されるグラフィックスおよびテキストオブジェクトを選択し、調整する。ポインティングデバイス304は、任意の適当な種類のポインティングデバイスであり、ジョイスティック、トラックボール、タッチパッド、カメラ、音声入力デバイス、ディスプレイ301と組み合わせて実装されるタッチスクリーンデバイス、またはその他の任意の入力デバイスとすることができる。
【００７１】
外部アンテナであっても内部アンテナであってもよいアンテナ305は、二地点間無線通信、ワイヤレスローカルエリアネットワーク(LAN)通信または位置決定を実施する無線周波数(RF)信号の伝送および受信のために使用される、指向性または全方向性アンテナである。アンテナ305は、特殊移動体無線(SMR)、セルラまたは個人通信サービス(PCS)の周波数帯域を用いる二地点間無線通信を容易にすることができ、任意数のデータ標準を用いてデータの伝送を実施することができる。例えば、アンテナ305は、ワイヤレスブロードバンド(WiBro)、マイクロ波アクセスのための世界相互運用性(WiMAX)、3GPPロングタームエボリューション(LTE)、ウルトラモバイルブロードバンド(UMB)、高性能無線メトロポリタンネットワーク(HIPERMAN)、iBurstまたは大容量空間分割多重アクセス(HC-SDMA)、高速OFDMパケットアクセス(HSOPA)、高速パケットアクセス(HSPA)、HSPAエボリューション、HSPA+、高速アップロードパケットアクセス(HSUPA)、高速ダウンリンクパケットアクセス(HSDPA)、汎用アクセスネットワーク(GAN)、時分割同期符号分割多重アクセス(TD-SCDMA)、エボリューションデータオプティマイズド(Evolution-Data Optimized)(またはEvolution-Data Only)(EVDO)、時分割符号分割多重アクセス(TD-CDMA)、フリーダムオブモバイルマルチメディアアクセス(Freedom Of Mobile Multimedia Access(FOMA)、ユニバーサル移動体通信システム(UMTS)、広帯域符号分割多重アクセス(W-CDMA(登録商標))、GSM(登録商標)進化型高速データレート(EDGE)、エンハンストGPRS(EGPRS)、符号分割多重アクセス2000(CDMA2000)、広帯域統合ディスパッチエンハンストネットワーク(WiDEN)、高速回路交換データ(HSCSD)、汎用パケット無線サービス(GPRS)、パーソナルハンディフォンシステム(PHS)、回路交換データ(CSD)、パーソナルデジタルセルラ(PDC)、CDMAone、デジタル高度携帯電話システム(D-AMPS)、統合デジタル拡張ネットワーク(IDEN)、移動体通信用グローバルシステム(GSM(登録商標))、DataTAC、Mobitex、セルラデジタルパケットデータ(CDPD)、Hicap、高度携帯電話システム(AMPS)、北欧携帯電話(NMP)、Autoradiopuhelin(ARP)、Autotelまたは公衆自動陸上移動体(Public Automated Land Mobile(PALM)、Mobiltelefonisystem D(MTD)、Offentlig Landmobil Telefoni(OLT)、高度移動電話システム(AMTS)、改良型移動電話サービス(IMTS)、移動電話システム(MTS)、プッシュトゥトーク(PTT)またはその他の技術などを用いて、デバイス300と基地局の間のデータ伝送を可能にすることができる。W-CDMA(登録商標)、HSUPA、GSM(登録商標)、GPRS、およびEDGEネットワークを介した通信は、例えば、QUALCOMM RTR6285(登録商標)トランシーバおよびPM7540(登録商標)電源管理回路を有するQUALCOMM MSM7200Aチップセットを用いて行うことができる。
【００７２】
ワイヤレスまたは有線コンピュータネットワーク接続306は、モデム接続、イーサネット(登録商標)を含むローカルエリアネットワーク(LAN)接続、あるいはデジタル加入者回線(DSL)、ケーブル高速インターネット接続、ダイアルアップ接続、T-1ライン、T-3ライン、光ファイバ接続または衛星接続などのブロードバンド広域ネットワーク(WAN)接続とすることができる。ネットワーク接続306は、LANネットワーク、企業もしくは政府WANネットワーク、インターネット、電話網またはその他のネットワークに接続することができる。ネットワーク接続306は、有線またはワイヤレスのコネクタを使用する。ワイヤレスコネクタの例としては、例えば、赤外線データ協会(IrDA)ワイヤレスコネクタ、Wi-Fiワイヤレスコネクタ、光ワイヤレスコネクタ、米国電気電子技術者協会(IEEE)標準802.11ワイヤレスコネクタ、BLUETOOTH(登録商標)ワイヤレスコネクタ(BLUETOOTH(登録商標)バージョン1.2または3.0コネクタなど)、近距離無線通信(NFC)コネクタ、直交周波数分割多重(OFDM)超広帯域(UWB)ワイヤレスコネクタ、時間変調超広帯域(TM-UWB)ワイヤレスコネクタまたはその他のワイヤレスコネクタなどが挙げられる。有線コネクタの例としては、例えば、IEEE-1394 FIREWIREコネクタ、ユニバーサルシリアルバス(USB)コネクタ(mini-B USBインタフェースコネクタを含む)、シリアルポートコネクタ、パラレルポートコネクタまたはその他の有線コネクタなどが挙げられる。別の実施態様では、ネットワーク接続306およびアンテナ305の機能は、1つの構成要素に統合される。
【００７３】
カメラ307は、デバイス300がデジタル画像を取り込むことを可能にするものであり、スキャナ、デジタルスチルカメラ、デジタルビデオカメラまたはその他のデジタル入力デバイスとすることができる。1つの例示的な実施態様では、カメラ307は、相補型金属酸化膜半導体(CMOS)を利用する3メガピクセル(MP)カメラである。
【００７４】
マイクロフォン309は、デバイス300が音声を取り込むことを可能にするものであり、全方向性マイクロフォン、単指向性マイクロフォン、双方向性マイクロフォン、ショットガンマイクまたは音声を電気信号に変換するその他のタイプの装置とすることができる。マイクロフォン309は、例えばデバイス300による電話呼中にユーザが別のユーザに話をしているときに、そのユーザが発する音声を取り込むために使用することができる。逆に、スピーカ310は、デバイスが電気信号を電話アプリケーションプログラムが生成する別のユーザの声または呼出し音アプリケーションプログラムが生成する呼出し音などの音声に変換することを可能にするものである。さらに、図3ではデバイス300を手持ち型デバイスとして示してあるが、別の実施態様では、デバイス300は、ラップトップ、ワークステーション、ミッドレンジコンピュータ、メインフレーム、組込みシステム、電話機、デスクトップPC、タブレットコンピュータ、PDAまたはその他のタイプのコンピューティングデバイスとすることができる。
【００７５】
図4は、デバイス300の内部アーキテクチャ400を示すブロック図である。このアーキテクチャは、オペレーティングシステムまたはアプリケーションを備えるコンピュータ命令が処理される中央処理装置(CPU)401、通信インタフェースとビデオ、グラフィックス、画像およびテキストをディスプレイ301にレンダリングする処理機能とを提供し、1組の組込み制御(ボタン、テキストおよびリストなど)を提供し、多様なスクリーンサイズに対応するディスプレイインタフェース402、キーボード302との通信インタフェースを提供するキーボードインタフェース404、ポインティングデバイス304との通信インタフェースを提供するポインティングデバイスインタフェース405、アンテナ305との通信インタフェースを提供するアンテナインタフェース406、コンピュータネットワーク接続306を介してネットワークとの通信インタフェースを提供するネットワーク接続インタフェース407、通信インタフェースとカメラ307からデジタル画像を取り込む処理機能とを提供するカメラインタフェース408、マイクロフォン309を用いて音声を電気信号に変換し、スピーカ310を用いて電気信号を音声に変換する通信インタフェースを提供する音声インタフェース409、コンピュータ命令およびデータがCPU401による処理に備えて揮発性メモリデバイスに格納されるランダムアクセスメモリ(RAM)410、基本入出力(I/O)、スタートアップまたはキーボード302からのキーストロークの受信などの基本システム機能のための不変低レベルシステムコードまたはデータが不揮発性メモリデバイスに格納される読取り専用メモリ(ROM)411、オペレーティングシステム414と、アプリケーションプログラム415(例えばウェブブラウザアプリケーション、ウィジェットまたはガジェットエンジン、および/あるいはその他のアプリケーションを必要に応じて含む)とデータファイル416とを含むファイルが格納される、記憶媒体412またはその他の適当なタイプのメモリ(例えばRAM、ROM、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク、ハードディスク、取外し可能カートリッジ、フラッシュドライブなど)、デバイス300の現実世界の位置、相対位置または地理学的位置を提供するナビゲーションモジュール417、適当な交流(AC)または直流(DC)を電源構成要素に供給する電源419、ならびにデバイス300が電話網を介して音声を伝送および受信することを可能にするテレフォニサブシステム420を含む。これらの構成デバイスおよびCPU401は、バス421を介して互いに通信する。
【００７６】
CPU401は、いくつかのコンピュータプロセッサのうちの1つとすることができる。1つの構成では、コンピュータCPU401は、複数の処理ユニットである。RAM410は、オペレーティングシステムアプリケーションプログラムおよびデバイスドライバなどのソフトウェアプログラムの実行中にCPU401に高速のRAM記憶を提供するように、コンピュータバス421とインタフェースをとる。さらに詳細には、CPU401は、ソフトウェアプログラムを実行するために、記憶媒体412またはその他の媒体からコンピュータ実行可能プロセスステップをRAM410のフィールドにロードする。データは、RAM410に格納され、ここで実行中にコンピュータCPU401からアクセスされる。1つの例示的な構成では、デバイス300は、少なくとも128MBのRAMおよび256MBのフラッシュメモリを含む。
【００７７】
記憶媒体412自体は、独立ディスク冗長アレイ(RAID)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、USBフラッシュドライブ、外部ハードディスクドライブ、サムドライブ、ペンドライブ、キードライブ、高密度デジタル多用途ディスク(HD-DVD)光ディスクドライブ、内部ハードディスクドライブ、Blu-Ray光ディスクドライブまたはホログラフィックデジタルデータストレージ(HDDS)光ディスクドライブ、外部ミニデュアルインラインメモリモジュール(DIMM)同期動的ランダムアクセスメモリ(SDRAM)または外部マイクロDIMM SDRAMなど、いくつかの物理ドライブユニットを含むことができる。このようなコンピュータ可読記憶媒体は、デバイス300が取外し可能メモリ媒体および固定型メモリ媒体に格納されたコンピュータ実行可能プロセスステップやアプリケーションプログラムなどにアクセスして、データをデバイス300からオフロードしたり、またはデバイス300にデータをアップロードしたりすることを可能にする。
【００７８】
コンピュータプログラム製品は、記憶媒体412、すなわち機械可読記憶媒体中に有形に実施される。コンピュータプログラム製品は、機械によって読み取られると、データ処理装置に画像データをモバイルデバイスに格納させるように動作する命令を含む。いくつかの実装形態では、コンピュータプログラム製品は、データ処理装置に、ウェブページ内におけるコンテンツアイテムのユーザ選択に基づいてアプリケーションを起動させ、必要ならインストールさせる命令を含む。
【００７９】
オペレーティングシステム414は、モバイルデバイスプラットフォームなどのLINUX(登録商標)ベースのオペレーティングシステム、APPLEのMAC OS X、MICROSOFTのWINDOWS(登録商標) NT/WINDOWS(登録商標) 2000/WINDOWS(登録商標) XP/WINDOWS(登録商標) MOBILE、様々なUNIX(登録商標)フレーバのオペレーティングシステム、あるいはコンピュータのプロプライエタリなオペレーティングシステムまたは組込みシステムとすることができる。オペレーティングシステム414のアプリケーション開発プラットフォームまたはフレームワークは、ワイヤレス用のバイナリランタイム環境(BREW)、SUN MICROSYSTEMSのJAVA SCRIPT(登録商標)プログラミング言語を用いるJAVA(登録商標)プラットフォームマイクロエディション(JAVA(登録商標) ME)またはJAVA (登録商標)2プラットフォームマイクロエディション(J2ME)、PYTHON(登録商標)、FLASH LITEまたはMICROSOFTの.NET Compact、あるいは別の適当な環境とすることができる。
【００８０】
デバイスは、オペレーティングシステム414、ならびに電子メール、インスタントメッセージ、ビデオサービスアプリケーション、マッピングアプリケーション、文書処理、表計算、プレゼンテーション、ゲーム、マッピング、ウェブブラウジング、JAVA SCRIPT(登録商標)エンジンまたはその他のアプリケーションなどのアプリケーションプログラム415のためのコンピュータ実行可能コードを格納する。例えば、1つの実施態様では、GMAIL電子メールアプリケーション、インスタントメッセージアプリケーション、ビデオサービスアプリケーション、マッピングアプリケーションまたは画像編集およびプレゼンテーションアプリケーションにユーザがアクセスすることを可能にすることができる。アプリケーションプログラム415は、TAFRI(登録商標)ウィジェットエンジンなどのウィジェットまたはガジェットエンジン、WINDOWS(登録商標) SIDEBARガジェットエンジンやKAPSULES(登録商標)ガジェットエンジンなどのMICROSOFTガジェットエンジン、KONFABULATOR(登録商標)ウィジェットエンジンなどのYAHOO!ウィジェットエンジン、APPLE DASHBOARDウィジェットエンジン、ガジェットエンジン、KLIPFOLIOウィジェットエンジン、OPERA(登録商標)ウィジェットエンジン、WIDSETS(登録商標)ウィジェットエンジン、プロプライエタリなウィジェットもしくはガジェットエンジン、あるいはデスクトップ上の物理的に呼び起されたアプレットのためのホストシステムソフトウェアを提供するその他のウィジェットまたはガジェットエンジンを含むこともできる。
【００８１】
上述の実施態様を用いて、ウェブページ内におけるコンテンツアイテムのユーザ選択に基づいてアプリケーションを起動し、必要ならインストールすることを実現することができるが、本開示による機能を、動的リンクライブラリ(DLL)として、あるいはFOXFIREウェブブラウザ、APPLE SAFARIウェブブラウザ、またはMICROSOFT INTERNET EXPLORERウェブブラウザなどのインターネットウェブブラウザなど、その他のアプリケーションプログラムへのプラグインとして実装することも可能である。
【００８２】
ナビゲーションモジュール417は、全地球測位システム(GPS)信号、全地球的航法衛星システム(GLONASS)、Galileo測位システム、Beidou衛星航法および測位システム、慣性航法システム、推測航法システムを用いたり、あるいはデータベース中の住所、インターネットプロトコル(IP)アドレスまたは位置情報にアクセスしたりすることなどによって、デバイスの絶対位置または相対位置を決定することができる。ナビゲーションモジュール417は、1つまたは複数の加速度計を用いることなどによって、デバイス300の角変位、配向または速度を測定するために使用することもできる。
【００８３】
図5は、デバイス300が使用するオペレーティングシステム414がモバイルデバイスプラットフォームである場合のオペレーティングシステム414の例示的な構成要素を示すブロック図である。オペレーティングシステム414は、関連する電話アプリケーションが応答可能であり、不安定なアプリケーションがオペレーティングシステムの障害(または「クラッシュ」)を引き起こさないことを保証しながら、複数のプロセスを呼び出す。タスク切替えを用いて、オペレーティングシステム414は、関連する各アプリケーションの状態を失うことなく、電話の通話中にアプリケーションの切換えを可能にする。オペレーティングシステム414は、アプリケーションフレームワークを使用して構成要素の再利用を促進し、またポインティングデバイスとキーボード入力を組み合わせ、ピボッティングを可能にすることによって、スケーラブルなユーザエクスペリエンスを提供することができる。このように、オペレーティングシステムは、高度な、標準に基づくウェブブラウザを使用しながら、リッチなグラフィックスシステムおよびメディアエクスペリエンスを提供することができる。
【００８４】
オペレーティングシステム414は、一般に、6つの構成要素、すなわちカーネル500、ライブラリ501、オペレーティングシステムランタイム502、アプリケーションライブラリ504、システムサービス505およびアプリケーション506に分けることができる。カーネル500は、オペレーティングシステム414およびアプリケーションプログラム415などのソフトウェアがディスプレイインタフェース402を介してディスプレイ301と対話することを可能にするディスプレイドライバ507と、ソフトウェアがカメラ307と対話することを可能にするカメラドライバ509と、BLOUETOOTHドライバ510と、M-Systemsドライバ511と、バインダ(IPC)ドライバ512と、USBドライバ514と、ソフトウェアがキーボードインタフェース404を介してキーボード302と対話することを可能にするキーパッドドライバ515と、WiFiドライバ516と、ソフトウェアが音声インタフェース409を介してマイクロフォン309およびスピーカ310と対話することを可能にするオーディオドライバ517と、ソフトウェアが電源519と対話し、電源519を管理することを可能にする電源管理構成要素519とを含む。
【００８５】
1つの実施態様ではLINUX(登録商標)ベースのオペレーティングシステム用のBlueZ BLUETOOTH(登録商標)スタックに基づくBLUETOOTH(登録商標)ドライバは、ヘッドセットおよびハンズフリーデバイスのプロファイルサポート、ダイアルアップネットワーキング、パーソナルエリアネットワーキング(PAN)、またはオーディオストリーミング(Advance Audio Distribution Profile(A2DP)またはAudio/Video Remote Control Profile(AVRCP)によるものなど)を提供する。BLUETOOTH(登録商標)ドライバは、スキャン、ペアリングおよびペアリング解除のためのJAVA(登録商標)結合、ならびにサービスクエリを提供する。
【００８６】
ライブラリ501は、効率的なJAVA(登録商標)アプリケーションプログラミングインタフェース(API)層を使用して標準的なビデオ、オーディオおよび静止フレームフォーマット(Moving Picture Experts Group(MPEG-4)、H.264、MPEG-1オーディオレイヤ-3(MP3)、Advanced Audio Coding(AAC)、適応多重レート(AMR)、Joint Photographic Experts Group(JPEG)など)をサポートするメディアフレームワーク520と、サーフェスマネージャ521と、2次元アプリケーション描画用の簡易グラフィックスライブラリ(SGL)522と、ゲームおよび3次元レンダリング用の組込みシステム向けオープングラフィックスライブラリ(OpenGL ES)524と、C標準ライブラリ(LIBC)525と、LIBWEBCOREライブラリ526と、FreeTypeライブラリ527と、SSL 529と、SQLiteライブラリ530とを含む。
【００８７】
オペレーティングシステムランタイム502は、コアJAVA(登録商標)ライブラリ531、およびDalvik仮想マシン532を含む。Dalvik仮想マシン532は、カスタマイズされたファイルフォーマット(.DEX)を実行するカスタム仮想マシンである。
【００８８】
オペレーティングシステム414は、図5に示すように、MIDP JAVA(登録商標)仕様要求(JSR)構成要素、MIDPランタイム、およびMIDPアプリケーションなどのMobile Information Device Profile(MIDP)構成要素を含むこともできる。MIDP構成要素は、デバイス300上で動作するMIDPアプリケーションをサポートすることができる。
【００８９】
グラフィックスレンダリングに関しては、システム全体のコンポーザが、OpenGL ES 524および2次元ハードウェアアクセラレータをその構成に使用して、サーフェスおよびフレームバッファを管理し、ウィンドウ遷移を処理する。
【００９０】
Dalvik仮想マシン532は、ランタイムメモリを非常に効率的に使用し、CPU最適化バイトコードインタープリタを実装し、デバイスごとに複数の仮想マシンプロセスをサポートするので、組込み型の環境とともに使用することができる。カスタムファイルフォーマット(.DEX)は、共用定数プールを用いてメモリを節約し、読取り専用構造を用いてプロセス間共有を改善し、簡潔な固定幅命令を用いて構文解析時間を短縮して、ランタイム効率を高めるように設計され、それにより、インストールされたアプリケーションを構築時にカスタムファイルフォーマットに翻訳できるようにしている。関連するバイトコードは、短時間で解釈されるように設計されるが、これは、固定幅命令を使用することにより構文解析が簡略化され、16ビットコード単位により読取りが最小限になるので、スタックベースではなくレジスタベースの命令が、メモリおよびディスパッチオーバヘッドを節約するからである。
【００９１】
アプリケーションライブラリ504は、ビューシステム534、リソースマネージャ535、コンテンツプロバイダ537、およびアプリケーションファインダ552を含む。システムサービス505は、ステータスバー539と、アプリケーションランチャ540と、インストールされた全てのアプリケーションに関する情報を保持するパッケージマネージャ541と、テレフォニサブシステム420とのプリケーションレベルJAVA(登録商標)インタフェースを提供するテレフォニマネージャ542と、ステータスバーおよび画面上の通知への全てのアプリケーションアクセスを可能にする通知マネージャ544と、複数のウィンドウを有する複数のアプリケーションがディスプレイ301を共有することを可能にするウィンドウマネージャ545と、各アプリケーションを別個のプロセスで実行し、アプリケーションのライフサイクルを管理し、アプリケーション間履歴を保持するアクティビティマネージャ546とを含む。
【００９２】
アプリケーション506は、ホームアプリケーション547、ダイヤラアプリケーション549、コンタクトアプリケーション550、およびブラウザアプリケーション551を含む。
【００９３】
テレフォニマネージャ542は、イベント通知(電話状態、ネットワーク状態、加入者識別モジュール(SIM)状況、または音声メール状況など)を提供し、状態情報(ネットワーク情報、SIM情報、または音声メールの有無など)へのアクセスを可能にし、呼を開始し、呼状態の問合せおよび制御を行う。ブラウザアプリケーション551は、ナビゲーション機能を含む、全画面のデスクトップのようなマネージャにウェブページをレンダリングする。さらに、ブラウザアプリケーション551は、シングルカラムの小画面レンダリングも可能にし、その他のアプリケーションへのHTMLビューの組込みを実現する。
【００９４】
図6は、オペレーティングシステムカーネル600によって実施される例示的なプロセスを示すブロック図である。一般に、アプリケーションおよびシステムサービスは別個のプロセスで動作し、アクティビティマネージャ546は、各アプリケーションを別個のプロセスで実行し、アプリケーションのライフサイクルを管理する。アプリケーションは、それぞれのプロセスで動作するが、多くのアクティビティまたはサービスが同じプロセスで動作することもできる。プロセスは、必要に応じて開始および停止させてアプリケーションの構成要素を実行するが、リソースを回収するために終了することもできる。各アプリケーションには、プロセス名がそのアプリケーションのパッケージ名であるプロセスがそれぞれ割り当てられ、アプリケーションの個々の部分には、別のプロセス名を割り当てることができる。
【００９５】
一部のプロセスは、永続的にすることができる。例えば、サーフェスマネージャ616、ウィンドウマネージャ614またはアクティビティマネージャ610などのコアシステム構成要素に関連するプロセスは、デバイス300が給電されている間は連続的に実行することができる。さらに、一部のアプリケーション固有プロセスも永続的にすることができる。例えば、ダイヤラアプリケーション621に関連するプロセスも、永続的にすることができる。
【００９６】
オペレーティングシステムカーネル600によって実施されるプロセスは、一般に、システムサービスプロセス601、ダイヤラプロセス602、ブラウザプロセス604、およびマッププロセス605に分類することができる。システムサービスプロセス601は、ステータスバー539と関連するステータスバープロセス606と、アプリケーションランチャ540と関連するアプリケーションランチャプロセス607と、パッケージマネージャ541と関連するパッケージマネージャプロセス609と、アクティビティマネージャ546と関連するアクティビティマネージャプロセス610と、グラフィックス、ローカライズされた文字列およびXMLレイアウト記述へのアクセスを提供するリソースマネージャ535と関連するリソースマネージャプロセス611と、通知マネージャ544と関連する通知マネージャプロセス612と、ウィンドウマネージャ545と関連するウィンドウマネージャプロセス614と、コアJAVA(登録商標)ライブラリ531と関連するコアJAVA(登録商標)ライブラリプロセス615と、サーフェスマネージャ521と関連するサーフェスマネージャプロセス616と、Dalvik仮想マシン532と関連するDalvik仮想マシンプロセス617と、LIBCライブラリ525と関連するLIBCプロセス619と、アプリケーションファインダ552と関連するアプリケーションファインダプロセス620とを含む。
【００９７】
ダイヤラプロセス602は、ダイヤラアプリケーション549と関連するダイヤラアプリケーションプロセス621と、テレフォニマネージャ542と関連するテレフォニマネージャプロセス622と、コアJAVA(登録商標)ライブラリ531と関連するコアJAVA(登録商標)ライブラリプロセス624と、Dalvik仮想マシン532と関連するDalvik仮想マシンプロセス625と、LIBCライブラリ525と関連するLIBCプロセス626とを含む。ブラウザプロセス604は、ブラウザアプリケーション551と関連するブラウザアプリケーションプロセス627と、コアJAVA(登録商標)ライブラリ531と関連するコアJAVA(登録商標)ライブラリプロセス629と、Dalvik仮想マシン532と関連するDalvik仮想マシンプロセス630と、LIBWEBCOREライブラリ526と関連するLIBWEBCOREプロセス631と、LIBCライブラリ525と関連するLIBCプロセス632とを含む。
【００９８】
マッププロセス605は、マップアプリケーションプロセス634、コアJAVA(登録商標)ライブラリプロセス635、Dalvik仮想マシンプロセス636、およびLIBCプロセス637を含む。特に、Dalvik仮想マシンプロセスなど一部のプロセスは、システムサービスプロセス601、ダイヤラプロセス602、ブラウザプロセス604およびマッププロセス605のうちの1つまたは複数に存在することができる。
【００９９】
図7は、本明細書に記載する技術とともに使用することができる、一般的なコンピュータデバイス700および一般的なモバイルコンピュータデバイス750の例を示す図である。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレームおよびその他の適当なコンピュータなど、様々な形態のデジタルコンピュータを表すことを意図している。コンピューティングデバイス750は、携帯情報端末、セルラ電話、スマートフォンおよびその他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すことを意図している。ここに示す構成要素、それらの相互接続および関係、ならびにそれらの機能は、例示のみを目的としたものであり、本明細書に記載し、かつ/または本明細書において請求する、本発明の実施態様を制限するためのものではない。
【０１００】
コンピューティングデバイス700は、プロセッサ702と、メモリ704と、記憶デバイス706と、メモリ704および高速拡張ポート710に接続する高速インタフェース708と、低速バス714および記憶デバイス706に接続する低速インタフェース712とを含む。各構成要素702、704、706、708、710および712は、様々なバスを用いて相互接続され、共通のマザーボード上に、または適宜その他の方法で、取り付けることができる。プロセッサ702は、メモリ704または記憶デバイス706に格納された命令など、コンピューティングデバイス700内で実行される命令を処理して、GUI用のグラフィック情報を、高速インタフェース708に結合されたディスプレイ716などの外部入出力デバイスに表示することができる。その他の実施態様では、複数のプロセッサおよび/または複数のバスを、適宜複数個のメモリおよび複数種類のメモリとともに使用することができる。また、複数のコンピューティングデバイス700を、各デバイスが必要な動作の一部を提供するように(例えばサーババンク、ブレードサーバ群またはマルチプロセッサシステムとして動作するように)接続することもできる。
【０１０１】
メモリ704は、コンピューティングデバイス700内の情報を格納する。1つの実施態様では、メモリ704は、1つまたは複数の揮発性メモリユニットである。別の実施態様では、メモリ704は、1つまたは複数の不揮発性メモリユニットである。メモリ704は、磁気ディスクまたは光ディスクなど、別の形態のコンピュータ可読媒体であってもよい。
【０１０２】
記憶デバイス706は、コンピューティングデバイス700に大容量記憶を提供することができる。1つの実施態様では、記憶デバイス706は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイスもしくはテープデバイス、フラッシュメモリもしくはその他の同様の固体状態メモリデバイス、または記憶エリアネットワーク内のデバイスもしくはその他の構成のデバイスなどのデバイスアレイなどのコンピュータ可読媒体であるか、あるいはそれらを含むことができる。コンピュータプログラム製品は、情報担体に有形に実装することができる。また、コンピュータプログラム製品は、実行時に上述の方法などの1つまたは複数の方法を実行する命令も含むことができる。情報担体は、メモリ704、記憶デバイス706、プロセッサ702上のメモリ、または伝播信号などのコンピュータ可読媒体または機械可読媒体である。
【０１０３】
高速制御装置708は、コンピューティングデバイス700の帯域幅を消費する動作を管理し、低速制御装置712は、帯域幅をそれほど消費しない動作を管理する。この機能の割振りは、単なる例示である。1つの実施態様では、高速制御装置708は、メモリ704、ディスプレイ716(例えば、グラフィックスプロセッサまたはアクセラレータを介して)、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート710に結合される。この実施態様では、低速制御装置712は、記憶デバイス706および低速拡張ポート714に結合される。様々な通信ポート(例えばUSB、Bluetooth(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット(登録商標))を含むことができる低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなど1つまたは複数の入出力装置、あるいはスイッチまたはルータなどのネットワーキングデバイスに、例えば、ネットワークアダプタを介して結合することができる。
【０１０４】
コンピューティングデバイス700は、図示のように、いくつかの異なる形態で実装することができる。例えば、標準サーバ720として実装してもよいし、一群のこのようなサーバの中で何度も実装してもよい。また、ラックサーバシステム724の一部として実装してもよい。さらに、ラップトップコンピュータ722などのパーソナルコンピュータに実装することもできる。あるいは、コンピューティングデバイス700のいくつかの構成要素を、デバイス750などのモバイルデバイス(図示せず)の他の構成要素と組み合わせてもよい。このようなデバイスはそれぞれ、コンピューティングデバイス700、750の1つまたは複数を含むことができ、システム全体を、互いに通信する複数のコンピューティングデバイス700、750で構成することもできる。
【０１０５】
コンピューティングデバイス750は、特に、プロセッサ752、メモリ764、ディスプレイ754などの入出力装置、通信インタフェース766、およびトランシーバ768を含む。デバイス750に、マイクロドライブまたはその他のデバイスなどの記憶デバイスを設けて、追加の記憶域を持たせることもできる。各構成要素750、752、764、754、766および768は、様々なバスを用いて相互接続され、これらの構成要素のうちのいくつかを、共通のマザーボード上に、または適宜その他の方法で、取り付けることもできる。
【０１０６】
プロセッサ752は、メモリ764に格納された命令など、コンピューティングデバイス750内の命令を実行することができる。このプロセッサは、別個の複数のアナログプロセッサおよびデジタルプロセッサを含む複数のチップからなるチップセットとして実装することができる。このプロセッサは、例えばユーザインタフェース、デバイス750が実行するアプリケーション、およびデバイス750によるワイヤレス通信の制御など、デバイス750のその他の構成要素の調整を行うことができる。
【０１０７】
プロセッサ752は、ディスプレイ754に結合された制御インタフェース758およびディスプレイインタフェース756を介してユーザと通信することができる。ディスプレイ754は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機発光ダイオード)ディスプレイあるいはその他の適当なディスプレイ技術とすることができる。ディスプレイインタフェース756は、グラフィック情報およびその他の情報をユーザに提示するようにディスプレイ754を駆動する適当な回路構成を備えることができる。制御インタフェース758は、ユーザからコマンドを受信し、それらをプロセッサ752への提出用に変換することができる。さらに、プロセッサ752と通信する外部インタフェース762を設けて、デバイス750がその他のデバイスと近領域通信できるようにすることもできる。外部インタフェース762は、例えば、実施態様によっては有線通信を実現し、実施態様によってはワイヤレス通信を実現することができる。また、複数のインタフェースを使用することもできる。
【０１０８】
メモリ764は、コンピューティングデバイス750内の情報を格納する。メモリ764は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニットあるいは1つまたは複数の不揮発性メモリユニットのうちの1つまたは複数として実装することができる。また、拡張メモリ774を設け、これを例えばSIMM(シングルインラインメモリモジュール)カードインタフェースを含むことがある拡張インタフェース772を介してデバイス750に接続することもできる。このような拡張メモリ774は、デバイス750に追加の記憶スペースを提供することができ、あるいは、デバイス750用のアプリケーションまたはその他の情報を格納することもできる。具体的には、拡張メモリ774は、上述のプロセスを実行する、または補足するための命令を含むことができ、また安全な情報を含むこともできる。したがって、例えば、拡張メモリ774は、デバイス750のセキュリティモジュールとして設けることができ、デバイス750の安全に使用できるようにする命令でプログラミングすることができる。さらに、安全なアプリケーションは、ハッキングできない方法でSIMMカードに識別情報を配置するなど、付加情報とともにSIMMカードを介して提供することができる。
【０１０９】
後述のように、メモリは、例えばフラッシュメモリおよび/またはNVRAMメモリを含むことができる。1つの実施態様では、コンピュータプログラム製品は、情報担体に有形に実装される。コンピュータプログラム製品は、実行時に上述の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ764、拡張メモリ774、プロセッサ752上のメモリ、あるいは例えばトランシーバ768または外部インタフェース762を介して受信することができる伝播信号などのコンピュータ可読媒体または機械可読媒体である。
【０１１０】
デバイス750は、必要に応じてデジタル信号処理回路構成を含むことができる通信インタフェース766を介してワイヤレス通信を行うことができる。通信インタフェース766は、特に、GSM(登録商標)音声コール、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000またはGPRSなど、様々なモードまたはプロトコルでの通信を実現することができる。この通信は、例えば、無線周波数トランシーバ768を介して行うことができる。さらに、短距離通信は、Bluetooth(登録商標)、WiFiまたはその他のそのようなトランシーバ(図示せず)を用いるなどして行うことができる。さらに、GPS(全地球測位システム)受信機モジュール770が、デバイス750上で動作するアプリケーションが適宜使用することができる追加のナビゲーション関連および位置関連ワイヤレスデータをデバイス750に提供することができる。
【０１１１】
デバイス750は、ユーザの口頭による情報を受信し、これを使用可能なデジタル情報に変換することができるオーディオコーデック760を用いて、可聴的に通信することもできる。オーディオコーデック760は、同様に、例えばデバイス750のハンドセット内などにあるスピーカを介するなどして、ユーザに対して可聴音声を生成することができる。この音声は、音声通話の音声を含むこともできるし、記録音声(例えば音声メッセージや音楽ファイルなど)を含むこともできるし、またデバイス750上で動作するアプリケーションが生成する音声を含むこともできる。
【０１１２】
コンピューティングデバイス750は、図示のように、いくつかの異なる形態で実装することができる。例えば、セルラ電話780として実装することができる。また、スマートフォン782、携帯情報端末、またはその他の同様のモバイルデバイスの一部として実装することもできる。
【０１１３】
本明細書に記載するシステムおよび技術の様々な実施態様は、デジタル電子回路、集積回路、特殊設計ASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組合せで実現することができる。これらの様々な実装態様は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間でデータおよび命令を受信および伝送するように結合された、特殊目的または汎用の少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能かつ/または解釈可能な1つまたは複数のコンピュータプログラムで実装することを含むことができる。
【０１１４】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとも呼ばれる)は、プログラマブルプロセッサ用の機械命令を含み、高度手続き型かつ/またはオブジェクト指向プログラミング言語で、かつ/あるいはアセンブリ/機械言語で実装することができる。本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含むプログラマブルプロセッサに機械命令および/またはデータを提供するために使用される、任意のコンピュータプログラム製品、装置および/またはデバイス(例えば磁気ディスク、光ディスク、メモリ、プログラマブル論理素子(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【０１１５】
ユーザとの対話を実現するために、本明細書に記載するシステムおよび技術は、ユーザに対して情報を表示するディスプレイデバイス(例えばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなど)と、ユーザがコンピュータに入力を与えるためのキーボードおよびポインティングデバイス(例えばマウスまたはトラックボールなど)とを有するコンピュータ上に実装することができる。ユーザとの対話を実現するために、その他の種類のデバイスを使用することもできる。例えば、ユーザに与えられるフィードバックは、どのような形態の感覚的フィードバック(例えば、視覚的フィードバック、聴覚的フィードバックまたは触覚的フィードバック)であってもよく、ユーザからの入力は、音響、発話または触覚入力など、どのような形態で受信するものであってもよい。
【０１１６】
本明細書に記載するシステムおよび技術は、後置構成要素(例えばデータサーバとして)を含むコンピューティングシステム、ミドルウェア構成要素(例えばアプリケーションサーバ)を含むコンピューティングシステム、前置構成要素(例えば本明細書に記載するシステムおよび技術の実施態様とユーザが対話できるようにするグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、あるいはこれらの後置構成要素、ミドルウェア構成要素または前置構成要素の任意の組合せを含むコンピューティングシステムに実装することができる。システムの構成要素は、任意の形態または媒体のデジタルデータ通信(例えば通信ネットワーク)によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)およびインターネットなどが挙げられる。
【０１１７】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いに離間しており、通常は通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作する、互いにクライアント/サーバ関係を有するコンピュータプログラムから生じる。
【０１１８】
いくつかの実施形態について説明した。ただし、本発明の趣旨および範囲を逸脱することなく、様々な修正を加えることができることは理解されるであろう。例えば、アプリケーションファインダモジュールは、アプリケーションベンダサーバとのインタフェースをとるユーザデバイス(例えばモバイルデバイス300)上のクライアントアプリケーションの一部として実装してもよい。いくつかの実施態様では、アプリケーションファインダモジュールは、ユーザデバイス(例えばモバイルデバイス300)上のアプリケーションランチャシステムサービス(例えばアプリケーションランチャ540)の一部として実装することもできる。
【０１１９】
本明細書に記載するシステムがユーザに関する個人情報を収集する状況では、ユーザに対し、個人情報(例えばユーザの好みまたはユーザの現在位置に関する情報)を収集する可能性があるプログラムまたは機能にオプトイン/オプトアウトする機会を与えることができる。さらに、特定のデータは、それを格納または使用する前に1つまたは複数の方法で匿名化して、個人が特定できる情報が除去されるようにすることもできる。例えば、ユーザのIDを匿名化して、そのユーザについて個人が特定できる情報を求めることができないようにしたり、あるいは、位置情報(例えば町、郵便番号または州のレベルまでの位置情報)が得られる場合にユーザの地理学的位置を一般化して、ユーザの特定の位置を求めることができないようにしたりすることもできる。
【０１２０】
本明細書に記載するプロセスおよびそれらの変形形態は、当事者のプライバシが保護されることを保証する機能を含む。同様に、これらのプロセスは、当事者に関する情報が、ソーシャルグラフに組み込む前でも、別の当事者に漏れる前に、公知であることを確認するようにプログラムすることができる。
【０１２１】
さらに、図示の論理フローは、図示した具体的な順序または連続順でなくても、望ましい結果を得ることができる。さらに、記載したフローは、他のステップを加えることも、あるいは一部のステップを省略することもでき、また、記載したシステムは、他の構成要素を追加することも、あるいは一部の構成要素を除去することもできる。したがって、他の実施形態も、添付の特許請求の範囲に含まれる。
【符号の説明】
【０１２２】
102  ネットワーク
104  ウェブサイト
105  リソース
106  ユーザデバイス
108  広告主
110  広告管理システム
112  検索システム
114  索引付きキャッシュ
116  クエリ
118  検索結果
119  データ記憶装置
120  アプリケーションURLモジュール
125  アプリケーションベンダシステム
130  アプリケーションファインダモジュール
401  CPU
402  ディスプレイインタフェース
404  キーボードインタフェース
405  ポインティングデバイスインタフェース
406  アンテナインタフェース
407  ネットワーク接続インタフェース
408  カメラインタフェース
409  音声インタフェース
410  メインメモリ
411  ROM
412  記憶媒体
414  オペレーティングシステム
415  アプリケーションプログラム
416  データファイル
417  ナビゲーションモジュール
419  電源
420  テレフォニサブシステム
500  カーネル
501  ライブラリ
502  オペレーティングシステムランタイム
504  アプリケーションライブラリ
505  システムサービス
506  アプリケーション
507  ディスプレイドライバ
509  カメラドライバ
510  BLOUETOOTHドライバ
511  M-Systemsドライバ
512  バインダ(IPC)ドライバ
514  USBドライバ
515  キーパッドドライバ
516  WiFiドライバ
517  オーディオドライバ
519  電源管理構成要素
520  メディアフレームワーク
521  サーフェスマネージャ
522  SGL
524  OpenGL ES
525  LIBC
526  LIBWEBCORE
527  FreeType
529  SSL
530  SQLite
531  コアJAVA(登録商標)ライブラリ
532  Dalvik仮想マシン
534  ビューシステム
535  リソースマネージャ
537  コンテンツプロバイダ
539  ステータスバー
540  アプリケーションランチャ
541  パッケージマネージャ
542  テレフォニマネージャ
544  通知マネージャ
545  ウィンドウマネージャ
546  アクティビティマネージャ
547  ホームアプリケーション
549  ダイヤラアプリケーション
550  コンタクトアプリケーション
551  ブラウザアプリケーション
552  アプリケーションファインダ
600  オペレーティングシステムカーネル
601  システムサービスプロセス
602  ダイヤラプロセス
604  ブラウザプロセス
605  マッププロセス
606  ステータスバープロセス
607  アプリケーションランチャプロセス
609  パッケージマネージャプロセス
610  アクティビティマネージャプロセス
611  リソースマネージャプロセス
612  通知マネージャプロセス
614  ウィンドウマネージャプロセス
615  コアJAVA(登録商標)ライブラリプロセス
616  サーフェスマネージャプロセス
617  Dalvik仮想マシンプロセス
619  LIBCプロセス
620  アプリケーションファインダプロセス
621  ダイヤラアプリケーションプロセス
622  テレフォニマネージャプロセス
624  コアJAVA(登録商標)ライブラリプロセス
625  Dalvik仮想マシンプロセス
626  LIBCプロセス
627  ブラウザアプリケーションプロセス
629  コアJAVA(登録商標)ライブラリプロセス
630  Dalvik仮想マシンプロセス
631  LIBWEBCOREプロセス
632  LIBCプロセス
634  マップアプリケーションプロセス
635  コアJAVA(登録商標)ライブラリプロセス
636  Dalvik仮想マシンプロセス
637  LIBCプロセス
700  コンピュータデバイス
702  プロセッサ
704  メモリ
706  記憶デバイス
708  高速インタフェース
710  高速拡張ポート
712  低速インタフェース
714  低速バス
716  ディスプレイ
720  標準サーバ
722  ラップトップコンピュータ
724  ラックサーバシステム
750  モバイルコンピュータデバイス
752  プロセッサ
754  ディスプレイ
756  ディスプレイインタフェース
758  制御インタフェース
760  オーディオコーデック
762  外部インタフェース
764  メモリ
766  通信インタフェース
768  トランシーバ
770  GPS受信機モジュール
774  拡張メモリ
780  セルラ電話
782  スマートフォン
【図１】
2015501496.tif 000003
【図２】
2015501496.tif 000004
【図３】
2015501496.tif 000005
【図４】
2015501496.tif 000006
【図５】
2015501496.tif 000007
【図６】
2015501496.tif 000008
【図７】
2015501496.tif 000009
【国際調査報告】
2015501496.tif 000010
2015501496.tif 000011