(57)【要約】      （修正有）【課題】デバイスの位置に基づいてコンテンツにアクセスし、取得するシステム及び方法を提供する。【解決手段】ウェブブラウザを介して1つ又は複数の信頼できるオンラインサービスのリストを取得し４０２、取得されたリストを使用してオンラインサービスからコンテンツを要求するかどうかを決定する４０４、４０６、４０８。このオンラインサービスからコンテンツを要求する場合、コンテンツの要求と共に、要求デバイスの位置をこのオンラインサービスに送信する４１０。【選択図】図４
2015079501.tif 000002
【特許請求の範囲】
【請求項１】
位置に基づくコンテンツにアクセスする方法であって、
クライアントデバイスで実行されるウェブブラウザによって、1つ又は複数の信頼できるオンラインサービスのリストを前記クライアントデバイスのメモリから取得する段階と、
オンラインサービスから利用可能なコンテンツにアクセスするための命令を受け取る段階と、
前記クライアントデバイスで実行される前記ウェブブラウザによって、前記命令に関連付けられた前記オンラインサービスが、1つ又は複数の信頼できるオンラインサービスの前記リストに含まれていることを確認する段階と、
前記ウェブブラウザによって、前記オンラインサービスから前記コンテンツを要求する段階と、
前記ウェブブラウザによって、前記クライアントデバイスの位置を前記コンテンツに対する前記要求と共に前記オンラインサービスに送る段階とを含む、方法。
【請求項２】
前記クライアントデバイスの前記位置を前記オンラインサービスに送る前に、前記位置を暗号化する段階をさらに含む、請求項1に記載の方法。
【請求項３】
前記クライアントデバイスの前記位置を前記オンラインサービスに送る前に、前記位置の正確度を低下させる段階をさらに含む、請求項1に記載の方法。
【請求項４】
信頼できるとして予め承認されたオンラインサービスのリストを前記ウェブブラウザで受け取る段階と、
前記クライアントデバイスによる表示を目的として予め承認されたオンラインサービスの前記リストを与える段階と、
予め承認されたオンラインサービスの前記表示されたリストから、選択された1つ又は複数のオンラインサービスをユーザインターフェースデバイスを介して受け取る段階と、
前記選択された1つ又は複数の予め承認されたオンラインサービスを、1つ又は複数の信頼できるオンラインサービスの前記リストに格納する段階とをさらに含む、請求項1に記載の方法。
【請求項５】
予め承認されたオンラインサービスの前記リストと共に、表示を目的として、予め承認されたオンラインサービスが前記クライアントデバイスの前記位置を必要とする理由を示す段階をさらに含む、請求項4に記載の方法。
【請求項６】
オンラインサービスから利用可能なコンテンツにアクセスするための命令を受け取る前記段階が、
ウェブページに埋め込まれ前記ウェブブラウザに前記オンラインサービスからサードパーティーコンテンツを要求させるコンテンツタグを実行する段階を含む、請求項1に記載の方法。
【請求項７】
前記クライアントデバイスの前記位置を前記オンラインサービスに送る前記段階が、
前記ウェブブラウザによって、前記クライアントデバイスの前記位置を、前記オンラインサービスの前記コンテンツに対する前記要求に埋め込む段階とを含む、請求項1に記載の方法。
【請求項８】
1つ又は複数のプロセッサを含む、位置に基づくコンテンツにアクセスするシステムであって、前記プロセッサが、
クライアントデバイスで実行されるウェブブラウザによって、1つ又は複数の信頼できるオンラインサービスのリストを前記クライアントデバイスのメモリから取得し、
オンラインサービスから利用可能なコンテンツにアクセスするための命令を受け取り、
前記クライアントデバイスで実行される前記ウェブブラウザによって、前記命令に関連付けられた前記オンラインサービスが、1つ又は複数の信頼できるオンラインサービスの前記リストに含まれていることを確認し、
前記ウェブブラウザによって、前記オンラインサービスから前記コンテンツを要求し、
前記ウェブブラウザによって、前記クライアントデバイスの位置を前記コンテンツに対する前記要求と共に前記オンラインサービスに送るよう動作可能な、システム。
【請求項９】
前記1つまたは複数のプロセッサは、
前記クライアントデバイスの前記位置を前記オンラインサービスに送る前に、前記位置を暗号化するよう動作可能である、請求項8に記載のシステム。
【請求項１０】
前記1つまたは複数のプロセッサは、
前記クライアントデバイスの前記位置を前記オンラインサービスに送る前に、前記位置の正確度を低下させるよう動作可能である、請求項8に記載のシステム。
【請求項１１】
前記1つまたは複数のプロセッサは、
信頼できるとして予め承認されたオンラインサービスのリストを前記ウェブブラウザで受け取り、
前記クライアントデバイスによる表示を目的として予め承認されたオンラインサービスの前記リストを与え、
予め承認されたオンラインサービスの前記表示されたリストから、選択された1つ又は複数のオンラインサービスをユーザインターフェースデバイスを介して受け取り、
前記選択された1つ又は複数の予め承認されたオンラインサービスを、1つ又は複数の信頼できるオンラインサービスの前記リストに格納するよう動作可能である、請求項8に記載のシステム。
【請求項１２】
前記1つまたは複数のプロセッサは、
予め承認されたオンラインサービスの前記リストと共に、表示を目的として、予め承認されたオンラインサービスが前記クライアントデバイスの前記位置を必要とする理由を示すよう動作可能である、請求項11に記載のシステム。
【請求項１３】
前記1つまたは複数のプロセッサは、ウェブページに埋め込まれ前記ウェブブラウザに前記オンラインサービスからサードパーティーコンテンツを要求させるコンテンツタグを実行することによって、オンラインサービスから利用可能なコンテンツにアクセスするための命令を受け取るよう動作可能である、請求項8に記載のシステム。
【請求項１４】
前記1つまたは複数のプロセッサは、前記ウェブブラウザにより前記クライアントデバイスの前記位置を前記オンラインサービスからの前記コンテンツに対する前記要求に埋め込むことによって、前記クライアントデバイスの前記位置を前記オンラインサービスに送るよう動作可能である、請求項8に記載のシステム。
【請求項１５】
プロセッサにより実行可能な機械命令を格納するコンピュータ可読メモリであって、前記機械命令は、前記プロセッサに、
クライアントデバイスで実行されるウェブブラウザによって、1つ又は複数の信頼できるオンラインサービスのリストを前記クライアントデバイスのメモリから取得させることと、
オンラインサービスから利用可能なコンテンツにアクセスするための命令を受け取らせることと、
前記クライアントデバイスで実行される前記ウェブブラウザによって、前記命令に関連付けられた前記オンラインサービスが、1つ又は複数の信頼できるオンラインサービスの前記リストに含まれていることを確認させることと、
前記ウェブブラウザによって、前記オンラインサービスから前記コンテンツを要求させることと、
前記ウェブブラウザによって、前記クライアントデバイスの位置を前記コンテンツに対する前記要求と共に前記オンラインサービスに送らせることとを含む動作を実行させる、コンピュータ可読メモリ。
【請求項１６】
前記動作が、
前記クライアントデバイスの前記位置を前記オンラインサービスに送る前に、前記位置を暗号化することをさらに含む、請求項15に記載のコンピュータ可読メモリ。
【請求項１７】
前記動作が、
前記クライアントデバイスの前記位置を前記オンラインサービスに送る前に、前記位置を暗号化することと、
前記クライアントデバイスの前記位置を前記オンラインサービスに送る前に、前記位置の正確度を低下させることとをさらに含む、請求項15に記載のコンピュータ可読メモリ。
【請求項１８】
前記動作が、
信頼できるとして予め承認されたオンラインサービスのリストを前記ウェブブラウザで受け取ることと、
前記クライアントデバイスによる表示を目的として予め承認されたオンラインサービスの前記リストを与えることと、
予め承認されたオンラインサービスの前記表示されたリストから、選択された1つ又は複数のオンラインサービスをユーザインターフェースデバイスを介して受け取ることと、
前記選択された1つ又は複数の予め承認されたオンラインサービスを、1つ又は複数の信頼できるオンラインサービスの前記リストに格納することとをさらに含む、請求項15にコンピュータ可読メモリ。
【請求項１９】
前記動作が、
予め承認されたオンラインサービスの前記リストと共に、表示を目的として、予め承認されたオンラインサービスが前記クライアントデバイスの前記位置を必要とする理由を示すことをさらに含む、請求項18に記載のコンピュータ可読メモリ。
【請求項２０】
オンラインサービスから利用可能なコンテンツにアクセスするための命令を受け取らせる前記動作が、
ウェブページに埋め込まれ前記ウェブブラウザに前記オンラインサービスからサードパーティーコンテンツを要求させるコンテンツタグを実行することを含む、請求項15に記載のコンピュータ可読メモリ。
【発明の詳細な説明】
【背景技術】
【０００１】
オンラインコンテンツは、様々なファーストパーティー又はサードパーティーソースから受け取ることができる。一般的に、ファーストパーティーコンテンツとは、ユーザデバイスにより要求された又は表示される一次オンラインコンテンツを指す。例えば、ファーストパーティーコンテンツは、クライアントによって要求されたウェブページ又は上述のデバイス上で走るスタンドアローン形式のアプリケーション(例えば、ビデオゲーム、チャットプログラムなど)である。対照的に、サードパーティーコンテンツは、ファーストパーティーコンテンツと共に提供されうる付加的なコンテンツを指す。例えば、サードパーティーコンテンツは、要求されたウェブページ(例えば、サーチエンジンからのサーチ結果ウェブページ、オンライン記事を含むウェブページ、ソーシャルネットワークサービスのウェブページなど)と共に表示される又はスタンドアローン形式のアプリケーション内(例えば、ゲーム内の広告)で表示される公益事業告知若しくは広告である。より一般的には、ファーストパーティー・コンテンツプロバイダーは、別のコンテンツプロバイダー(すなわちサードパーティー・コンテンツプロバイダー)による、ファーストパーティーのコンテンツと共にコンテンツの提供を許容する任意のコンテンツプロバイダーである。
【発明の概要】
【０００２】
本明細書では、位置に基づくコンテンツにアクセスするためのシステム及び方法に関わる幾つかの実装例が開示されている。一実装例は、位置に基づくコンテンツにアクセスする方法である。前記方法は、ウェブブラウザによって、1つ又は複数の信頼できるオンラインサービスのリストをデバイスのメモリから取得する段階を含む。前記方法は、オンラインサービスから利用可能なコンテンツにアクセスするための命令を受け取る段階をさらに含む。前記方法は、前記ウェブブラウザによって、前記命令に関連付けられた前記オンラインサービスが、1つ又は複数の信頼できるオンラインサービスの前記リストに含まれていることを確認する段階をさらに含む。前記方法は、前記ウェブブラウザによって、前記オンラインサービスから前記コンテンツを要求する段階をさらに含む。前記方法は、前記ウェブブラウザによって、前記デバイスの位置を前記コンテンツに対する前記要求と共に前記オンラインサービスに送る段階をさらに含む。
【０００３】
別の実装例は、位置に基づくコンテンツにアクセスするためのシステムである。前記システムは、ウェブブラウザによって、1つ又は複数の信頼できるオンラインサービスのリストをデバイスのメモリから取得するよう動作可能な1つ又は複数のプロセッサを含む。前記1つ又は複数のプロセッサは、オンラインサービスから利用可能なコンテンツにアクセスするための命令を受け取るようさらに動作可能である。前記1つ又は複数のプロセッサは、前記ウェブブラウザによって、前記命令に関連付けられた前記オンラインサービスが、1つ又は複数の信頼できるオンラインサービスの前記リストに含まれていることを確認するようさらに動作可能である。前記1つ又は複数のプロセッサは、前記ウェブブラウザによって、前記オンラインサービスから前記コンテンツを要求するようさらに動作可能である。前記1つ又は複数のプロセッサは、前記ウェブブラウザによって、前記デバイスの位置を前記コンテンツに対する前記要求と共に前記オンラインサービスに送るようさらに動作可能である。
【０００４】
さらなる実装例は、プロセッサにより実行可能な機械命令を格納するコンピュータ可読記憶媒体であって、前記機械命令は前記プロセッサに複数の動作を実行させる。前記動作は、ウェブブラウザによって、1つ又は複数の信頼できるオンラインサービスのリストをデバイスのメモリから取得する動作を含む。前記動作は、オンラインサービスから利用可能なコンテンツにアクセスするための命令を受け取る動作をさらに含む。前記動作は、前記ウェブブラウザによって、前記命令に関連付けられた前記オンラインサービスが、1つ又は複数の信頼できるオンラインサービスの前記リストに含まれていることを確認する動作をさらに含む。前記動作は、前記ウェブブラウザによって、前記オンラインサービスから前記コンテンツを要求する動作をさらに含む。前記動作は、前記ウェブブラウザによって、前記デバイスの位置を前記コンテンツに対する前記要求と共に前記オンラインサービスに送る動作をさらに含む。
【０００５】
これらの実装例を記載したのは、本開示の範囲を制限又は限定するためではなくその理解の助けとなる実装例を示すためである。後述する利点の１つ又は複数を実現するため、特定の実装例を開発することは可能である。
【図面の簡単な説明】
【０００６】
１つ又は複数の実装例の詳細は、添付の図面及び以下の説明に記載されている。本開示のその他の特徴、側面、及び利点は、説明、図面、及び特許請求の範囲から明らかとなるはずである。
【図１】ファーストパーティーコンテンツと共に提示するためのサードパーティーコンテンツが選択されるコンピュータシステムの一実装例のブロック図である。
【図２】埋め込まれたサードパーティーコンテンツを備えたファーストパーティー・ウェブページを示す電子表示装置の一実装例の代表的な図である。
【図３】様々な実装例による図1のクライアントデバイスの詳細なブロック図である。
【図４】位置に基づいたコンテンツにアクセスするためのプロセスの一実装例で実行されるステップのフローチャートである。
【図５】ウェブブラウザの基本設定画面の一実装例の図である。
【０００７】
これら様々な図面中の類似番号及び記号は、類似の構成要素を示す。
【発明を実施するための形態】
【０００８】
本開示の様々な態様によれば、ファーストパーティー・コンテンツプロバイダーは、コンテンツ選択サービスに、ファーストパーティー・コンテンツプロバイダーのコンテンツと共にどのサードパーティーコンテンツが提供されるかを決定させることができる。その引き換えとして、ファーストパーティー・コンテンツプロバイダーは、そのコンテンツ選択サービスがサードパーティー・コンテンツプロバイダーから得た収入の一部を受け取ることができる。例えば、ウェブサイト運営者は、ウェブサイトのページに掲載するためのサードパーティー広告をコンテンツ選択サービスが選択できるようにしてもよい。するとコンテンツ選択サービスは、ウェブサイトにコンテンツを掲載するサードパーティー・コンテンツプロバイダーに一定の金額を請求し、この額の一部をファーストパーティー・コンテンツプロバイダーに配分できる。
【０００９】
様々な実装例では、ファーストパーティーコンテンツもサードパーティーコンテンツも、デバイスの位置に基づいて最適化できる。一実装例では、このデバイスが、当該デバイスの位置を使用してサードパーティー広告又は他のコンテンツをそのデバイスで提示するため選択するコンテンツ選択サービスに、その位置を報告できる。例えば、ユーザが地元の映画館近くを移動中であると仮定する。ユーザがシステムに自分のデバイスの位置を使用することを許可すれば、ユーザには、その映画館のサードパーティークーポン又は他の販売促進用の品が与えられるようにしてもよい。別の実施形態では、このデバイスは、ファーストパーティーコンテンツに対する要求と共にその位置を報告できる。例えば、このデバイスのウェブブラウザは、特定のファーストパーティーウェブサイトを要求する際に、このデバイスの位置に関する情報を含めることができる。すると、そのウェブサイトは、この位置情報を用いてファーストパーティーコンテンツをそのデバイスの位置に合わせて調整できる。例えば、小売業ウェブサイトは、最も近い店舗で購入できる商品の在庫情報を表示できる。
【００１０】
様々な実装例によれば、ユーザのプライバシーを保証するため幾つかの措置を講じてもよい。幾つかの実装例では、ウェブブラウザは、1つ又は複数の信頼できるオンラインサービスのリストを取得するよう構成できる。このウェブブラウザは、このリストを用いてどのオンラインサービスがそのデバイスから位置情報を受け取るのに適格であるかを管理できる。一実装例では、予め承認されたオンラインサービスのリストをウェブブラウザにインストールしたり、後で(例えば、新たなリストが入手可能となったときにブラウザのアップデート時など)リモート位置からこのブラウザにより受け取らせたりしてもよい。例えば、このウェブブラウザの製作者は、このウェブブラウザから位置情報を受け取りたいオンラインサービスを予め選別してもよい。別の実装例では、このウェブブラウザは、どのオンラインサービスがそのデバイスの位置に関するデータを受け取るのに適格であるかをユーザに指定させるよう構成できる。又、このウェブブラウザは、位置情報の暗号化や送信前に位置の正確度を低下させるなどの付加的な措置を講じてもよい。例えば、このウェブブラウザは、このデバイスのより正確な位置を与える代わりに、このデバイスの位置を市、郵便番号、州レベルなどまで一般化してもよい。
【００１１】
図1を参照すると、本明細書に記載の実装例に従ったコンピュータシステム100のブロック図が示されている。システム100は、ネットワーク106を介して他の計算デバイスと通信するクライアントデバイス102を含んでいる。クライアントデバイス102は、ウェブブラウザ又は他のアプリケーション(例えば、ビデオゲーム、メッセンジャープログラム、メディアプレーヤー、ソーシャルネットワーキング・アプリケーション)を実行してネットワーク106を介して他のデバイスからコンテンツを取り出すことができる。例えば、クライアントデバイス102は、任意の数のコンテンツソース108、110(例えば、第1コンテンツソースからn番目のコンテンツソースまで)と通信できる。コンテンツソース108、110は、画像、ビデオ、及びオーディオのようなウェブページデータ並びに/又は他のコンテンツをクライアントデバイス102に提供することができる。コンピュータシステム100は、クライアントデバイス102に提供されるサードパーティーコンテンツを選択するよう構成されたコンテンツ選択サービス104も含むことができる。例えば、コンテンツソース108は、コンテンツ選択サービス104により選択された付加的なサードパーティーコンテンツを含むファーストパーティー・ウェブページを、クライアントデバイス102に提供できる。
【００１２】
ネットワーク106は、クライアントデバイス102と、コンテンツソース108、110と、コンテンツ選択サービス104との間で情報を中継する任意形式のコンピュータネットワークでよい。例えば、ネットワーク106は、インターネット及び/又はローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、セルラーネットワーク、若しくは衛星ネットワークなどの他の種類のデータネットワークを含むことができる。ネットワーク106は、データをネットワーク106内で送信且つ/又は受信するよう構成された任意数の計算デバイス(例えば、コンピュータ、サーバ、ルータ、ネットワークスイッチなど)を含むこともできる。さらに、ネットワーク106は、任意数の結線による接続及び/又はワイヤレス接続を含むこともできる。例えば、クライアントデバイス102は、ネットワーク106における他の計算デバイスに結線(例えば、光ファイバーケーブル、カテゴリ5ケーブルなど)されたトランシーバとワイヤレスで(WiFi、セルラー、無線など)通信できる。
【００１３】
クライアントデバイス102は、ネットワーク106を介して通信するよう構成された任意数の様々な種類のユーザ電子デバイス(例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、スマートフォン、デジタルビデオレコーダ、テレビ用セットトップボックス、ビデオゲームコンソール、それらの組合せなど)でよい。幾つかの実装例では、クライアントデバイス102の種類は、モバイルデバイス、デスクトップデバイス(例えば、固定状態維持を意図された又は主としてローカルエリアネットワークを介してネットワーク106にアクセスするよう構成されたデバイス)、又は他のカテゴリの電子デバイス(例えば、タブレットデバイスを第3のカテゴリと見なしうる)として分類できる。クライアントデバイス102は、プロセッサ112及びメモリ114を含むことが図示されている。メモリ114は、プロセッサ112により実行されると、本明細書に記載された1つ又は複数の動作をプロセッサ112に実行させる機械命令を格納できる。プロセッサ112は、1つ又は複数のマイクロプロセッサ、ASIC、FPGA、他の論理処理装置、又はそれらの組合せを含むことができる。メモリ114は、プロセッサ112にプログラム命令を与えることができる電子、光学、磁気、又は他の任意記憶デバイス若しくは通信デバイスを含むことができるが、それらに限定されない。メモリ114は、フロッピー（登録商標）ディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ROM、RAM、EEPROM、EPROM、フラッシュメモリ、光学メディア、又はプロセッサ112が命令を読み出し可能な他の任意適切なメモリを含むことができる。
【００１４】
クライアントデバイス102は、1つ又は複数のユーザインターフェースデバイスを含むことができる。ユーザインターフェースデバイスは、感覚情報を生成(例えば、表示装置における可視化、1つ又は複数の音、触覚フィードバックなど)することによってデータをユーザに伝達し且つ/又はユーザから受信した感覚情報を電子信号に変換する(例えば、キーボード、マウス、ポインティングデバイス、タッチスクリーン表示装置、マイクロフォンなど)任意の電子デバイスとすればよい。こうした1つ又は複数のユーザインターフェースデバイスは、様々な実装例に従って、クライアントデバイス102のハウジングの内部に設けられていてもよいし(例えば、内蔵表示装置、マイクなど)、クライアントデバイス102のハウジングの外部に設けられていてもよい(クライアントデバイス102に接続されたモニタ、クライアントデバイス102に接続されたスピーカなど)。例えば、クライアントデバイス102は、コンテンツソース108、110及び/若しくはコンテンツ選択サービス104から受け取られたウェブページ又は他のデータを表示する電子表示装置116を含むことができる。様々な実装例では、表示装置116は、プロセッサ112及び/又はメモリ114のハウジングと同じハウジングの内部に設けてもよいし、外部に設けてもよい。例えば、表示装置116は、コンピュータモニタ、テレビ、又は他の任意スタンドアローン形式の電子表示装置のような外部表示装置でよい。他の例では、表示装置116は、ラップトップコンピュータ、モバイルデバイス、又は一体型表示装置を備えた他形式の計算デバイスのハウジング内に組み込んでもよい。
【００１５】
コンテンツソース108、110は、ネットワーク106に接続されたデバイスにコンテンツを与えるネットワーク106に接続された1つ又は複数の電子デバイスでよい。例えば、コンテンツソース108、110は、コンピュータサーバ(例えば、FTPサーバ、ファイル共有サーバ、ウェブサーバなど)又はサーバの組合せ(例えば、データセンター、クラウドコンピューティング・プラットフォームなど)でよい。コンテンツとしては、ウェブページデータ、テキストファイル、スプレッドシート、画像、検索結果、他の形式の電子文書、及びクライアントデバイス102により実行可能なアプリケーションが含まれるがそれらに限定されない。例えば、コンテンツソース108は、検索クエリに応答して検索結果データをクライアントデバイス102に与えるオンライン検索エンジンでよい。別の例では、コンテンツソース110は、ウェブページに対する要求に応答してこのウェブページのデータをクライアントデバイス102に与えるファーストパーティー・ウェブサーバでよい。クライアントデバイス102と同様に、コンテンツソース108、110は、それぞれプロセッサ122、126と、プロセッサ122、126により実行可能なプログラム命令を格納するメモリ124、128とを含むことができる。例えば、コンテンツソース108の処理回路は、コンテンツソース108にネットワーク106を介してコンテンツを提供させるウェブサーバソフトウェア、FTPサービングソフトウェア、及び他の種類のソフトウェアなどの命令を含むことができる。
【００１６】
様々な実装例によれば、コンテンツソース108、110は、1つ又は複数のコンテンツタグを含むファーストパーティー・ウェブページをクライアントデバイス102に提供できる。一般に、コンテンツタグとは、サードパーティーコンテンツをファーストパーティー・ウェブページに含める動作に関連付けられたウェブページコードを指す。例えば、コンテンツタグは、ウェブページ上のサードパーティーコンテンツのスロット、ページ外サードパーティーコンテンツのスロット(例えば、隙間(interstitial)スロット)を定義でき、さらに、サードパーティーコンテンツが非同期的又は同期的にロードされるべきか、ウェブページ上でのサードパーティーコンテンツのロードを禁止すべきか、正しくロードできなかったサードパーティーコンテンツを更新すべきか、サードパーティーコンテンツを提供するコンテンツソース(例えば、コンテンツソース108、110、コンテンツ選択サービス104など)のネットワーク位置、サードパーティーコンテンツをクリックすることに関連付けられたネットワーク位置(例えば、URL)、サードパーティーコンテンツが表示装置上でどのようにレンダリングされるべきか、クライアントデバイス102にブラウザクッキーを設定させるコマンド(例えば、画像要求を介してクッキーを設定するピクセルタグを介して)、サードパーティーコンテンツを取得するのに用いられる1つ又は複数のキーワード、及びファーストパーティー・ウェブページにサードパーティーコンテンツを提供することに関連付けられた他の機能を定義できる。例えば、コンテンツソース108は、クライアントデバイス102にコンテンツ選択サービス104からサードパーティーコンテンツを取得させるファーストパーティー・ウェブページを、クライアントデバイス102に与えることができる。別の実装例では、コンテンツは、コンテンツ選択サービス104が選択し且つクライアントデバイス102に送られるファーストパーティー・ウェブページデータの一部としてコンテンツソース108が提供するようにしてよい。さらに別の例では、コンテンツ選択サービス104が、クライアントデバイス102に、サードパーティーコンテンツをメモリ114又はコンテンツソース108、110などの指定場所から取得させることができる。
【００１７】
又、コンテンツ選択サービス104は、ネットワーク106に接続された1つ又は複数の電子デバイスでよい。コンテンツ選択サービス104は、コンピュータサーバ(例えば、FTPサーバ、ファイル共有サーバ、ウェブサーバなど)又はサーバの組合せ(例えば、データセンター、クラウドコンピューティング・プラットフォームなど)でよい。コンテンツ選択サービス104は、プロセッサ118と、プロセッサ118により実行可能なプログラム命令を格納するメモリ120とを含むことができる。コンテンツ選択サービス104が計算デバイスの組合せである場合は、プロセッサ118は、それらデバイスの複数プロセッサ全体を表すことができ、メモリ120はそれらデバイスの複数メモリ全体を表すことができる。
【００１８】
コンテンツ選択サービス104は、クライアントデバイス102のためにサードパーティーコンテンツを選択するよう構成できる(すなわち、コンテンツ選択サービス104はサードパーティーコンテンツ選択サービスを提供できる)。一実装例では、選択されたサードパーティーコンテンツは、コンテンツ選択サービス104によってネットワーク106を介してクライアントデバイス102に提供すればよい。例えば、コンテンツソース110は、このサードパーティーコンテンツをコンテンツ選択サービス104にアップロードできる。次に、コンテンツ選択サービス104は、コンテンツソース108、110のいずれかにより提供されるファーストパーティーコンテンツと共に提示すべきサードパーティーコンテンツをクライアントデバイス102に提供できる。他の実装例では、コンテンツ選択サービス104は、選択されたサードパーティーコンテンツを(例えば、クライアントデバイス102のメモリ114から、コンテンツソース110からなど)クライアントデバイス102に取得させる命令をクライアントデバイス102に提供できる。例えば、コンテンツ選択サービス104は、クライアントデバイス102が訪問するファーストパーティー・ウェブページの一部として提供される又はクライアントデバイス102により実行されるファーストパーティー・アプリケーション内で(例えば、ゲーム、メッセンジャーアプリケーション内など)提供されるサードパーティーコンテンツを選択できる。
【００１９】
幾つかの実装例では、コンテンツ選択サービス104は、クライアントデバイス102に関連付けられたデバイス識別子に基づいてコンテンツを選択するように構成できる。一般的に、デバイス識別子とは、コンテンツ選択サービス104により選択されるコンテンツを受け取るデバイス又はソフトウェアを表すため使用できる任意形式のデータを指す。幾つかの実装例では、任意のデバイス識別子は、1つ又は複数の他のデバイス識別子(例えば、モバイルデバイスのデバイス識別子、ホームコンピュータのデバイス識別子など)に関連付けることができる。デバイス識別子には、クッキー、デバイス製造番号、汎用デバイス識別子(UDID)値、ユーザプロファイルデータ、又はネットワークアドレスなどを含むことができるがそれらに限定されない。例えば、クライアントデバイス102に設定されたクッキーは、コンテンツ選択サービス104によるクライアントデバイス102の識別のために使用できる。別の例では、クライアントデバイス102のモバイルアプリケーションに関連付けられたUDID は、コンテンツ選択サービス104によるクライアントデバイス102の識別のために使用できる。
【００２０】
本明細書で記載したシステムがユーザの個人情報を収集又は利用する状況に関しては、どのプログラム若しくは特徴がこうした情報を収集するのか、収集できる情報の種類（例えば、ユーザのソーシャルネットワークに関する情報、ソーシャルアクション又はアクティビティ、ユーザの好み、ユーザの現在地など）、及び/又はどのようにサードパーティーコンテンツがコンテンツ選択サービス104によって選択されユーザに提示されるのか、を制御する機会をユーザに与えてもよい。デバイス識別子のようなある種のデータは、それが格納又は使用される前に1つ又は複数の方法で匿名にして、コンテンツ選択サービス104によってサードパーティーコンテンツ選択のため使用されるパラメータ(例えば、人口統計パラメータ)を生成する時には、個人識別を可能とする情報が削除されるようにしてもよい。例えば、クライアントデバイス102のデバイス識別子を匿名化して、それに対応するユーザに関する個人識別を可能とする情報が、コンテンツ選択サービス104によってそのデバイス識別子から特定できないようにしてもよい。別の例では、位置情報が取得されるユーザの地理的位置を一般化して(例えば都市、郵便番号、州レベルまで)、ユーザの正確な位置が特定できないようにしてもよい。従って、クライアントデバイス102のユーザは、コンテンツ選択サービス104によって自分に関して収集され使用される情報を管理できる。
【００２１】
クライアントデバイス102のユーザが自分に関する情報のコンテンツ選択サービス104による使用を許容する選択をした場合、コンテンツ選択サービス104は、デバイス識別子に関連付けられた履歴データを用いて適切なコンテンツをそのユーザに選択できる。履歴データは、オンラインイベント(例えば、ウェブページ訪問、提示されたコンテンツとの対話、検索実行、購入、コンテンツのダウンロードなど)を示す、デバイス識別子に関連付けられた任意データでよい。分析された履歴データに部分的に基づいて、コンテンツ選択サービス104は、ファーストパーティーコンテンツと共に提供されるサードパーティーコンテンツ(例えば、表示されたウェブページの一部として、ポップアップとして、ビデオゲーム内で、別の種類のアプリケーション内で、など)を選択できる。デバイス識別子に関連付けられた付加的データは、クライアントデバイス102のデバイスタイプ(例えば、クライアントデバイス102がデスクトップかモバイルデバイスかなど)、クライアントデバイス102の位置、又はクライアントデバイス102が生成した検索クエリを含むことができるが、それらに限定されない。例えば、コンテンツ選択サービス104は、ファーストパーティー・ウェブページの一部として又は検索結果と共に提供されるサードパーティーコンテンツを、コンテンツソース108、110のいずれから選択できる。
【００２２】
コンテンツ選択サービス104は、デバイス識別子に関連付けられた履歴データを解析して、ユーザにとって興味又は重要性がありそうな1つ又は複数の話題を識別できる。例えば、コンテンツ選択サービス104は、コンテンツソース108からのウェブページのテキスト及び/又は画像を解析してこのウェブページの1つ又は複数の話題を識別できる。幾つかの実装例では、話題は、コンテンツ選択サービス104により使用される所定の興味カテゴリに対応してもよい。例えば、ゴルフ専用のウェブページは、スポーツ興味カテゴリの下に分類できる。幾つかの場合では、コンテンツ選択サービス104により使用される興味カテゴリは分類学に一致させてもよい(例えば、任意の興味カテゴリはより広い興味カテゴリの下に分類すればよい)。例えば、ゴルフの興味カテゴリは、/スポーツ/ゴルフ、/スポーツ/個人スポーツ/ゴルフとしたり、他の階層カテゴリの下に分類してもよい。同様に、コンテンツ選択サービス104は、クライアントデバイス102がアクセスしたファーストパーティー・ウェブページのコンテンツを解析してそのウェブページの1つ又は複数の話題カテゴリを識別できる。例えば、コンテンツ選択サービス104は、ウェブページでテキスト又は画像認識を使用してそのウェブページが/スポーツ/ゴルフの話題カテゴリ専用であることを特定できる。
【００２３】
コンテンツ選択サービス104は、デバイス識別子に関連付けられた1つ又は複数のオンラインイベントを示す履歴データを受け取ることができる。コンテンツタグが、クライアントデバイス102にコンテンツ選択サービス104からコンテンツを要求させる実装例では、こうした要求は、クライアントデバイス102のデバイス識別子及び/又は付加的情報(例えば、ロードされたウェブページ、差し向けウェブページなど)を含むことができる。例えば、コンテンツ選択サービス104は、クライアントデバイス102に提供されたサードパーティーコンテンツがインターフェースデバイスを用いて選択されたか否か(例えば、クライアントデバイス102のユーザが、サードパーティー・ハイパーリンク、サードパーティー画像などをクリックしたか)に関する履歴データを受信し、格納できる。コンテンツ選択サービス104は、そうしたデータを格納してデバイス識別子に関連付けられたオンラインイベントの履歴を記録してもよい。幾つかの場合では、クライアントデバイス102は、コンテンツタグを最初に実行することなく履歴データをコンテンツ選択サービス104に提供してもよい。例えば、クライアントデバイス102は、履歴データをコンテンツ選択サービス104に定期的に送ってもよいし、ユーザインターフェースデバイスからのコマンド受け取りに応答して送ってもよい。幾つかの実装例では、コンテンツ選択サービス104は、コンテンツソース108、110から履歴データを受け取ることができる。例えば、コンテンツソース108は、クライアントデバイス102とのウェブ対話に関する履歴データを格納し、その履歴データをコンテンツ選択サービス104に提供できる。
【００２４】
コンテンツ選択サービス104は、1つ又は複数の重みづけを興味又は製品カテゴリに適用し、このカテゴリがデバイス識別子に関連付けられるか否かを決定してもよい。例えば、コンテンツ選択サービス104は、任意のデバイス識別子に関連付けられる製品又は興味カテゴリの数に上限を設定してもよい。そして、上位n番目までの最も高い重みづけを備えたカテゴリを、特定のデバイス識別子に関連付けられるようコンテンツ選択サービス104が選択すればよい。カテゴリ重みづけは、例えば、デバイス識別子によって訪問されたそのカテゴリに関するウェブページの数、それらの訪問が起こったとき、訪問されたウェブページでそのカテゴリの話題が言及される頻度、又はそのカテゴリに関してデバイス識別子により実行される任意のオンライン動作に基づかせればよい。例えば、比較的最近訪問したウェブページの話題は、過去に訪問されたウェブページよりも高い重みづけを受け取るようにしてもよい。カテゴリは、ウェブページ訪問が発生した時間によって細分してもよい。例えば、興味又は製品カテゴリは、デバイス識別子がそのカテゴリに関するウェブページを訪問した時に基づいて、長期、短期、及び現在のカテゴリに細分してもよい。
【００２５】
コンテンツ選択サービス104は、どのサードパーティーコンテンツがクライアントデバイス102に提供されるべきかを決定するため、サードパーティー・コンテンツプロバイダーを対象としてコンテンツオークションを実行するよう構成してもよい。例えば、コンテンツ選択サービス104は、クライアントデバイス102による1つ又は複数のコンテンツソース108、110からのファーストパーティーコンテンツへの要求に応答して又はクライアントデバイス102によるファーストパーティー・アプリケーションの実行に応答して、リアルタイムのコンテンツオークションを実行してよい。コンテンツ選択サービス104は、オークションの落札者を決定するための任意数の要因を用いてよい。例えば、オークションの落札者は、そのサードパーティープロバイダーの付け値及び/又はそのサードパーティープロバイダーのコンテンツの品質スコア(例えば、クライアントデバイス102のユーザがそのコンテンツをクリックする可能性の目安)に部分的に基づいていてもよい。言い換えれば、幾つかの実装例では、最高入札者が、コンテンツ選択サービス104によるコンテンツオークションの落札者になるとは限らない。
【００２６】
コンテンツ選択サービス104は、サードパーティー・コンテンツプロバイダーがコンテンツオークションにどのように且ついつ参加するかを管理するため、当該プロバイダーにキャンペーンを企画させるよう構成できる。キャンペーンは、最低入札額、最高入札額、目標入札額、1つ又は複数の予算額(例えば、日々の予算、週予算、合計予算など)などの任意数の入札関連パラメータを含むことができる。幾つかの実装例では、入札額は、サードパーティープロバイダーがクライアントデバイス102においてそのプロバイダーのコンテンツの表示と引き替えに支払う意思がある額に対応させればよい。言い換えれば、入札額は、インプレッション単価又は1000人当たりリーチ単価(CPM)に基づくものすればよい。別の場合では、入札額は、サードパーティーコンテンツがクライアントデバイスで提示されたことに応答して実行された特定の動作に対応していてもよい。例えば、入札額は、サードパーティー・コンテンツプロバイダーのコンテンツがクライアントデバイスでクリックされたことでクライアントデバイスがそのプロバイダーのウェブサイトに転送された場合にサードパーティー・コンテンツプロバイダーが支払う意思がある金額とすればよい。すなわち、入札額はクリック単価(CPC)入札額でよい。他の場合では、入札額は、クライアントデバイス102のユーザが購入するなど、任意動作がサードパーティープロバイダーのウェブサイトで実行されたことに対応していてもよい。
【００２７】
コンテンツ選択サービス104を介して作成されたキャンペーンは、コンテンツオークションにおいて、サードパーティー・コンテンツプロバイダーに代わっていつ入札するかを制御する選択パラメータを含むことができる。サードパーティーコンテンツが検索エンジンからの検索結果と共に提示される場合、例えば、こうした選択パラメータは、1つ又は複数の組の検索キーワードを含むことができる。例えば、サードパーティー・コンテンツプロバイダーは、「カリフォルニアのゴルフリゾート」に関する検索クエリが検索エンジンに送られるコンテンツオークションにしか参加しないようにできる。サードパーティー・コンテンツプロバイダーに代わって入札がいつ行われるかを制御する他のパラメータの例は、デバイス識別子の履歴データを用いて(例えば、デバイス識別子が訪問したウェブページに基づいて)識別される話題、サードパーティーコンテンツが一緒に提示されるウェブページ若しくは他のファーストパーティーコンテンツの話題、コンテンツを提示するクライアントデバイスの地理的位置、又は検索クエリの一部として指定される地理的位置を含むことができるが、それらに限定されない。幾つかの場合では、選択パラメータは、サードパーティーコンテンツが提示される特定のウェブページ、ウェブサイト、又は一群のウェブサイトを指定できる。例えば、ゴルフ用品を販売する広告主は、特定オンライン新聞のスポーツページでの広告掲載を望むことを指定できる。
【００２８】
様々な実装例によれば、コンテンツ選択サービス104により選択されたサードパーティーコンテンツ及び/又はコンテンツソース108、110のいずれかからのファーストパーティーコンテンツは、クライアントデバイス102の位置に基づいて最適化してよい。例えば、コンテンツ選択サービス104は、クライアントデバイス102の位置を用いてクライアントデバイス102近くに位置した企業の広告を選択してもよい。別の例では、コンテンツソース108からのファーストパーティー・ウェブページは、クライアントデバイス102の位置に合わせて調整し、ウェブページにその地域の特価品を含めたり、ウェブページ用に言語を選択したり、ウェブページで位置フィルタを検索機構に適用したりできる(例えば、その地域の店舗での在庫品をリストアップする)。
【００２９】
幾つかの実装例では、クライアントデバイス102のウェブブラウザは、コンテンツソース108〜110のいずれかから又はコンテンツ選択サービス104からコンテンツを要求する際に、当該クライアントデバイスの位置を報告するよう構成してもよい。一実装例では、ベースウェブブラウザ自体を構成することで、コンテンツ要求と共にクライアントデバイス102の位置を報告させてよい。言い換えれば、ウェブブラウザは、そのウェブブラウザにクライアントデバイス102の位置を報告させる任意ウェブページコードを最初に実行させることなく、クライアントデバイス102の位置を報告できる。例えば、このウェブブラウザは、クライアントデバイス102の位置を、クライアントデバイス102が再起動された後にブラウザが送った最初のコンテンツ要求と共にコンテンツソース108に送ることができる。
【００３０】
クライアントデバイス102のウェブブラウザは、1つ又は複数のコンテンツソースのホワイトリストを利用してクライアントデバイス102の位置を報告すべきかどうかを決定するよう構成できる。例えば、クライアントデバイス102は、その位置を、ホワイトリストの内容に基づいてコンテンツソース108には報告するが、コンテンツソース110には報告しないようにできる。様々な実装例では、このホワイトリストは、クライアントデバイス102のユーザにより手動で追加されたオンラインコンテンツソース、位置情報の受け取りを(例えば、ブラウザの製作者により)予め承認されたオンラインコンテンツソース、又はクライアントデバイス102のユーザにより確認された予め承認されたコンテンツソースを含むことができる。例えば、このブラウザを実行しているデバイスから位置情報を受け取ることを望むオンラインコンテンツソースは、そのコンテンツソースがその位置情報をどのように使用するか、その情報をどのように格納するか、その位置情報をどれだけの期間保持するかに関する情報を提出するよう、そのブラウザの製作者に求められるようにしてよい。製作者は、コンテンツソースから提出されたデータに基づいて、このウェブブラウザが位置情報をそのコンテンツソースに送ることを承認すればよい。幾つかの場合では、このウェブブラウザが予め承認されたオンラインソースに位置情報を報告できるのは、予め承認されたオンラインソースのリストをクライアントデバイス102のユーザに提示した後である。例えば、このウェブブラウザは、予め承認されたオンラインソースのリスト、これらオンラインソースが位置情報をどのように使用するかに関する詳細情報、及び/又は位置情報の特定オンラインソースへの送信を許可するか不許可とするかの選択肢を表示できる。言い換えれば、このウェブブラウザを構成することによって、クライアントデバイス102のユーザに、予め承認されたオンラインソースのどれがクライアントデバイス102から報告済み位置情報を受け取りできるかを選択できる。
【００３１】
図2を参照すると、代表的なファーストパーティー・ウェブページ206を表示する電子表示装置116を示す。電子表示装置116は、電子表示装置116に視覚情報を表示させるプロセッサ112と電子的に通信する。図示したように、プロセッサ112は、クライアントデバイス102のメモリ114に格納されたウェブブラウザ200を実行して、ネットワーク106を介してクライアントデバイス102により受け取られたコンテンツの情報を表示できる。他の実装例では、クライアントデバイス102が実行する別のアプリケーションが、ウェブブラウザ200に関して記載した機能の一部又は全部を実装していてもよい(例えば、ビデオゲーム、チャットアプリケーションなどがウェブブラウザとして機能してもよい)。
【００３２】
ウェブブラウザ200は、入力装置(例えば、ポインティングデバイス、キーボード、タッチスクリーンなど)からフィールド202を介して全域資源位置指示子(URL)の入力を受け取ることで動作できる。例えば、http://www.example.org/weather.htmlというURLをフィールド202に入力できる。プロセッサ112は、入力されたURLを用いてこのURLに対応するネットワークアドレスを備えたコンテンツソースからデータを要求できる。言い換えれば、クライアントデバイス102は、入力されたURLでアクセス可能なファーストパーティーコンテンツを要求できる。この要求に応答して、このコンテンツソースは、ウェブページデータ及び/又は他のデータをクライアントデバイス102に返すことができる。ウェブブラウザ200は返されたデータを解析し、視覚的情報をこのデータに基づいて電子表示装置116に表示させる。
【００３３】
一般的に、ウェブページデータは、テキスト、ハイパーリンク、レイアウト情報、及びファーストパーティー・ウェブページ206の視覚レイアウトに枠組みを与える他のデータを含むことができる。幾つかの実装例では、ウェブページデータは、ハイパーテキストマーク付け言語(HTML)、拡張HTML (XHTML)、及び拡張マーク付け言語(XML)、又は他の任意マーク付け言語などのマーク付け言語で記述されたウェブページコードの1つ又は複数ファイルでよい。例えば、図2のウェブページデータは、ウェブサイト「www.example.org」が提供するファイル「weather.html」を含むことができる。このウェブページデータは、ファーストパーティー・ウェブページ206のどの場所にテキスト208のような表示が配置されるかを指定するデータを含むことができる。幾つかの実装例では、このウェブページデータは、ファーストパーティー・ウェブページ206で表示される付加的な情報を取得するためウェブブラウザ200により使用される付加的なURL情報を含むこともできる。例えば、ファイル「weather.html」は、プロセッサ112が画像210〜216をそれぞれのコンテンツソースから取得するため使用する1つ又は複数の命令を含んでもよい。
【００３４】
ウェブブラウザ200は、ファーストパーティー・ウェブページ206に関連付けられた幾つかの移動制御手段を含むことができる。例えば、ウェブブラウザ200は、入力204(例えば、戻りボタン、進みボタンなど)を介して受け取ったコマンドに応答して、複数ウェブページ間を戻ったり進んだりするよう構成できる。さらに、ウェブブラウザ200は、ファーストパーティー・ウェブページ206のうち、現在は画面の外にある部分を表示させるのに使用できる1つ又は複数のスクロールバー220を含むこともできる。例えば、ファーストパーティー・ウェブページ206は、電子表示装置116の画面よりも大きくなるようにフォーマットしてもよい。そうした場合は、1つ又は複数のスクロールバー220を用いて、電子表示装置116におけるファーストパーティー・ウェブページ206の垂直位置及び/又は水平位置を調節できる。
【００３５】
ファーストパーティー・ウェブページ206は1つ又は複数の話題に関するものでよい。例えば、ファーストパーティー・ウェブページ206は、メイン州フリーポートの天気予報のみに関するものでよい。幾つかの実装例では、コンテンツ選択サービス104のようなコンテンツ選択サーバが、1つ又は複数の話題を識別するためファーストパーティー・ウェブページ206のコンテンツを解析してもよい。例えば、コンテンツ選択サービス104は、テキスト208及び/又は画像210〜216を解析してファーストパーティー・ウェブページ206が天気予報のみに関するものであることを識別できる。幾つかの実装例では、ファーストパーティー・ウェブページ206のウェブページデータは、話題を識別するメタデータを含むこともできる。
【００３６】
幾つかの実装例では、ウェブブラウザ200は、ファーストパーティー・ウェブページ206に対するコンテンツ要求と共に、クライアントデバイス102の位置を特定し且つ報告するよう構成できる。例えば、ウェブブラウザ200は、アドレスhttp://www.example.org/weather.htmlに関連付けられたコンテンツソースに送られるHTTP要求のヘッダーにクライアントデバイス102の位置を含めてもよい。それに応答して、コンテンツソースは、受け取った位置情報を用いてウェブページ206のコンテンツを、クライアントデバイス102の位置に合わせて調整できる。例えば、クライアントデバイス102は、現在、メイン州フリーポートに位置していると仮定する。それであれば、ウェブページ206のプロバイダーは、クライアントデバイス102のこの位置を使ってウェブページ206にメイン州フリーポートの天気予報を含めることができる。
【００３７】
幾つかの実装例では、コンテンツ選択サービス104は、ファーストパーティー・ウェブページ206上で(例えば、埋め込み画像又はビデオなど)又はファーストパーティー・ウェブページ206と共に(例えば、ポップアップウィンドウ又はタブなどで)提示されるコンテンツのうち幾つかを選択できる。例えば、コンテンツ選択サービス104は、サードパーティーコンテンツ218をウェブページ206に含まれるように選択してもよい。幾つかの実装例では、1つ又は複数のコンテンツタグが、サードパーティーコンテンツ218の位置でコンテンツフィールドを定義するウェブページ206のコードに埋め込まれるようにしてもよい。ファーストパーティー・ウェブページ206がロードされるときに、別のコンテンツタグが、ウェブブラウザ200に、コンテンツ選択サービス104から付加的なコンテンツを要求させてもよい。言い換えれば、ウェブページ206のコードは、ウェブブラウザ200に、コンテンツ選択サービス104からサードパーティーコンテンツを要求させる命令を含むことができる。ウェブブラウザ200は、クライアントデバイス102の位置をこの要求と共に含めることができる(例えば、HTTP要求のヘッダーなどに)。幾つかの場合では、ウェブページ206上のコンテンツタグがクライアントデバイス102の位置をコンテンツ選択サービス104に報告させるための命令を含むか否かにかかわらず、ウェブブラウザ200はそうした報告を行ってもよい（すなわち、コンテンツ要求と共に位置情報を報告するようにウェブブラウザ200自体を構成できる）。
【００３８】
コンテンツ選択サービス104は、ウェブブラウザ200から受け取った位置情報を用いてウェブページ206と共に表示するためのサードパーティーコンテンツ218を選択できる。例えば、クライアントデバイス102はフリーポートのメインストリートに位置し、「ザ・ローカルバーガースタンド」というレストランの近くに位置していると仮定する。コンテンツ選択サービス104は、この位置情報を用いて販売促進、クーポンなどを含むこのレストランの広告を選択してもよい。幾つかの実装例では、サードパーティーコンテンツ218は、サードパーティーコンテンツ218がクリックされるかインターフェースデバイスを用いてそれ以外の方法で選択された時にクライアントデバイス102に動作を実行させる対話型コンテンツでよい。例えば、サードパーティーコンテンツ218をクリックすると、ウェブブラウザ200にザ・ローカルバーガースタンドのウェブサイトまで移動させたり、ユーザを最も近いレストランの位置に導く道案内プログラムを起動さたり、ビデオをプレイしたり、他の動作を実行させればよい。
【００３９】
図3を参照すると、様々な実装例による図1のクライアントデバイス102の詳細なブロック図が示されている。図示したように、クライアントデバイス102は、互いに電子的に通信する多くのハードウェア構成要素を含むことができる。例えば、クライアントデバイス102は、ネットワーク106を介して別の計算デバイスからデータ(例えば、ファースト又はサードパーティーコンテンツ、予め承認されたオンラインサービスなど)を受け取るよう且つ/又は別の計算デバイスにネットワーク106を介してデータ（例えば、コンテンツ要求、位置データなど）を与えるよう構成されたプロセッサ112と電子的に通信する入力及び/又は出力(I/O)ハードウェア302を含むことができる。クライアントデバイス102は、プロセッサ112により実行されると、プロセッサ112に本明細書に記載された諸機能を実行させる様々なソフトウェアモジュールをメモリ114に含むこともできる。
【００４０】
メモリ114は、図2に示したウェブブラウザ200を含むことができる。様々な実装例では、ウェブブラウザ200は、オンラインコンテンツソースからコンテンツを要求し、要求されたコンテンツを表示するよう構成できる。ウェブブラウザ200は、一実装例では単にウェブブラウザとしてもよいし、或いは別の実装例ではウェブページ間を移動する機能を含む別のアプリケーションでもよい。例えば、場合によっては、電子メールプログラムがウェブブラウザ機能を含んでいてもよい。ウェブブラウザ200は、本明細書に記載した機能を実行するための任意数のソフトウェアモジュールを含み且つ/又は使用することができる。図示したように、ウェブブラウザ200は、位置特定モジュール306、コンテンツ要求生成器310、及び/又は表示モジュール312を含むことができるが、それらに限定されない。
【００４１】
図示したように、ウェブブラウザ200は、1つ又は複数のコンテンツソースのリストを含む予め承認されたホワイトリスト304を備えることができる。予め承認されたホワイトリスト304に含まれたこの一つ又は複数のコンテンツソースは、ウェブブラウザ200の製作者又は別の承認実体により予め承認されたものでよい。幾つかの場合では、ウェブブラウザ200から位置情報を受け取って使用を望むコンテンツソースは、まず、製作者又は承認実体にそのための要求を送る。この要求は、コンテンツソースのデータ保持ポリシー（例えば、受け取られた位置が任意の期間保持されないことを保証するため）、位置情報がコンテンツソースによりどのように使用されるか（例えば、広告目的、コンテンツをクライアントデバイスの位置に合わせて調整する目的など）、位置情報を保護するためにコンテンツソースが講じるセキュリティー措置（例えば、コンテンツソースが暗号化を行うかなど）、又はコンテンツソースによる位置情報の使用に関する他の任意情報を含むことができる。一実装例では、こうした承認実体は、コンテンツソースにより与えられる回答が正確であることを確認してもよい。例えば、承認実体は、コンテンツソースが、受け取られた位置情報を明言されたものと異なる目的で使用しないことを確認してもよい。異なる目的で使用した場合は、そのコンテンツソースを将来のホワイトリストから除去してもよい。
【００４２】
ウェブブラウザ200は、予め承認されたホワイトリスト304を、ネットワーク106を介して他のデバイスから受け取ることもできる。例えば、予め承認されたホワイトリスト304は自動的に（例えば、新たな予め承認されたホワイトリストが入手可能となった時、周期的になど）又はリストの更新を求めるユーザ要求に応答して更新すればよい。一実装例では、予め承認されたホワイトリスト304は、ウェブブラウザ200のインストールの一部として含めてもよい。例えば、クライアントデバイス102により実行されるインストーラが、予め承認されたホワイトリスト304をメモリ114に転送すればよい。
【００４３】
ウェブブラウザ200は、ホワイトリスト基本設定308も含むこともできる。様々な実装例では、ウェブブラウザ200は、クライアントデバイス102のユーザが、ウェブブラウザ200による位置情報の報告方法を制御できるようにしてもよい。例えば、ホワイトリスト基本設定308は、ウェブブラウザ200がそもそも位置情報を報告するかどうかを制御する1つ又は複数のパラメータを含むことができる。別の例では、ウェブブラウザ200は、予め承認されたホワイトリスト304を基本設定準備の一環としてユーザに提示できる。こうした基本設定画面は、オンラインサービスを識別する情報及び/又はこのサービスによる位置情報の使用方法などの予め承認されたホワイトリスト304に含まれた任意の情報を含むことができる。さらに、この基本設定画面は、ユーザが、予め承認されたホワイトリスト304のどのコンテンツソースがウェブブラウザ200から位置情報を受け取るのに適格かを指定できるように構成できる。幾つかの場合では、この基本設定画面は、クライアントデバイス102のユーザが、予め承認されたホワイトリスト304に含まれていないコンテンツソースを指定できるように構成してもよい。新たな予め承認されたホワイトリストがウェブブラウザ200により受け取られると、クライアントデバイス102のユーザには、現在の予め承認されたホワイトリストと新たなリストとの間の変更点を検討し（新たなコンテンツソースを信頼できるホワイトリスト314に含めるべきか選択するなど）、且つ/又は信頼できるホワイトリスト314に既に含まれている各コンテンツソースを再確認することを促すメッセージを表示してもよい。
【００４４】
ウェブブラウザ200は任意のホワイトリスト基本設定308（例えば、クライアントデバイス102のユーザにより指定されたパラメータ）と、予め承認されたホワイトリスト304（例えば、認証サービスにより承認済のオンラインソース）とを組み合わせて信頼できるホワイトリスト314を作成してもよい。信頼できるホワイトリスト314は、一般に、ウェブブラウザ200から位置情報を受け取るのに適格な任意オンラインサービスのリストを含むことができる。例えば、ウェブブラウザ200は、クライアントデバイスの位置を、信頼できるホワイトリスト314に含まれるコンテンツソースからのコンテンツに対する要求に含めることができる。
【００４５】
一実装例では、ウェブブラウザ200は、位置特定モジュール306を含むことができる。位置特定モジュール306は、一般に、クライアントデバイス102の位置を特定するよう構成されている。様々な実装例では、位置特定モジュール306は、トランシーバからの三角測量データを用いて（例えば、セルラー方式受信機からのセルラー方式三角測量を用いて）又はクライアントデバイス102の地理的位置を特定するよう構成されたクライアントデバイス102の他の任意ハードウェア回路を用いて（例えば、クライアントデバイス102がアクセスしたWiFiホットスポットに基づいて）、クライアントデバイス102の衛星受信機（例えば、GPS又は他の受信機）からのデータに基づいて位置特定を実行する。幾つかの実装例では、位置特定モジュール306は、クライアントデバイス102の位置を直接特定する。例えば、位置特定モジュール306は、クライアントデバイス102の位置を特定するためローカルGPS受信機と直接対話してもよい。他の実装例では、位置特定モジュール306は、クライアントデバイス102により実行される他のソフトウェアを介して間接的にクライアントデバイス102の位置を求めてもよい。例えば、クライアントデバイス102が、ウェブブラウザ200に加え、道案内プログラムを実行すると仮定する。こうした場合、位置特定モジュール306は、アプリケーションプログラム・インタフェース(API)を介してこの道案内プログラムから位置情報にアクセスできる。
【００４６】
幾つかの場合では、位置特定モジュール306により特定される位置の正確度レベルは、位置特定モジュール306が引き下げてもよい。例えば、特定された位置が、10フィートの誤差半径を備えた住所に対応すると仮定する。こうした場合は、位置特定モジュール306は、その住所を中心とする誤差半径を増やすか、特定した位置を一街区全体、市、州、国、時間帯、郵便番号、市外局番などのより広い地理的範囲と置換することでその位置の正確度を引き下げることができる。他の場合では、特定された位置を受け取るコンテンツソースは、代替的に、その位置情報を使う前に正確度レベルを低くしてもよい。
【００４７】
ウェブブラウザ200は、コンテンツ要求生成器310を含むこともできる。オンラインコンテンツソースからのオンラインコンテンツにアクセスするための命令の受け取りに応答して、コンテンツ要求生成器310は、ネットワーク106を介してコンテンツ要求をこのコンテンツソースに与えることができる。幾つかの場合では、コンテンツ要求生成器310は、クライアントデバイス102のユーザインターフェースデバイスからこの命令を受け取ることもできる。例えば、ウェブブラウザ200のユーザは、URLをブラウザ200に入力して、このコンテンツ要求を開始できる。他の場合では、コンテンツ要求生成器310は、ウェブページコードからこの命令を受け取ることもできる。例えば、ウェブブラウザ200がアクセスしたウェブページのコンテンツタグは、ウェブブラウザ200により実行されると、コンテンツ要求生成器310にサードパーティーコンテンツに対するコンテンツ要求を生成し、送信させる命令としてもよい（例えば、コンテンツ選択サービス104から）。
【００４８】
様々な実装例によれば、コンテンツ要求生成器310は、コンテンツ要求に関連付けられたコンテンツソースを信頼できるホワイトリスト314と比較できる。このコンテンツソースが信頼できるホワイトリスト314に含まれていれば、コンテンツ要求生成器310は、位置特定モジュール306により特定された位置をこの要求と共に与えてもよい。一実装例では、コンテンツ要求生成器310は、この位置情報を例えばHTTP要求のヘッダーなどHTTP要求そのものに含めてもよい。別の実装例では、コンテンツ要求生成器310は、この位置をコンテンツ要求とは別の通信として送信できる。両方の送信は同一又はリンクされたデバイス識別子を含むことができ、これらを受け取るコンテンツソースは2つの送信を関連付けできる。例えば、コンテンツ要求生成器310は、クライアントデバイス102の位置及びクライアントデバイス102を識別するクッキーを含む第1のメッセージをコンテンツ選択サービス104に送ることができる。コンテンツ要求生成器310は、送信直後に、同じクッキーとコンテンツ選択サービス104がサードパーティーコンテンツを選ぶのに使用できる他の情報（例えば、コンテンツスロットのサイズ、話題など）とを含む第2のコンテンツ要求を送ることができる。
【００４９】
一実装例では、コンテンツ要求生成器310は、信頼できるホワイトリスト314内のファーストパーティーコンテンツソースの許可を、ファーストパーティーコンテンツと共に提示される任意のサードパーティーコンテンツに適用するよう構成してもよい。例えば、クライアントデバイス102のユーザが、特定のニュースウェブサイトによるウェブブラウザ200からの位置情報の受け取りを許可したと仮定する。その場合、コンテンツ要求生成器310は、このニュースウェブサイトと共に提示されるサードパーティーコンテンツに対する要求に位置情報を含ませてもよい。この機能は、幾つかの場合では、ホワイトリスト基本設定308に設定されたパラメータ値により制御されるものとしてよい(例えば、ウェブブラウザ200は、その位置を、信頼できるホワイトリスト314内のコンテンツソースのみとしか共有できないよう限定してもよいし、コンテンツソースの許可を任意のサードパーティーコンテンツにも伝播させてもよい)。
【００５０】
コンテンツ要求生成器310は、任意数の技法を用いて送信された位置情報の安全性を確保するよう構成できる。幾つかの実装例では、コンテンツ要求生成器310は、送信前に位置特定モジュール306からの位置情報を暗号化できる。例えば、この位置情報は、HTTPSのような安全なプロトコルを介して送信すればよい。別の例では、ウェブブラウザ200及び位置情報を受け取るコンテンツソースは公開鍵暗号方式を使用することで、この位置情報にはそのコンテンツソースのみがアクセスできることを保証できる。こうした鍵は、ウェブブラウザ200とコンテンツソースとの間で、予め承認されたホワイトリスト304をウェブブラウザ200に提供する証明サービスを介して共有するか又はこれら二者間で直接共有できる。
【００５１】
ウェブブラウザ200は表示モジュール312を含むこともできる。表示モジュール312は、コンテンツ要求に応答してウェブブラウザ200が受け取った任意のコンテンツを1つ又は複数の電子表示装置に表示するよう構成されている。例えば、表示モジュール312は、コンテンツ要求の送信に応答してウェブブラウザ200が受け取ったウェブページデータを解釈し、表示データをI/Oハードウェア302を介して表示装置116に送信できる。幾つかの場合では、表示モジュール312は、ウェブブラウザ200用の1つ又は複数の構成画面を表示装置に表示できる。例えば、表示モジュール312は、表示装置に、ユーザが予め承認されたホワイトリスト304を検討し且つホワイトリスト基本設定308を入力して信頼できるホワイトリスト314を生成できる構成画面を送信できる。
【００５２】
図4を参照すると、様々な実装例による、位置に基づいたコンテンツにアクセスするためのプロセス400のフローチャートが示されている。プロセス400は、一般に、1つ又は複数の信頼できるオンラインサービスのリストを取り出す段階(ステップ402)と、オンラインサービスからのコンテンツにアクセスするための命令を受け取る段階(ステップ404)と、このオンラインサービスが信頼できるサービスのリストに載っているかを確認する段階(ステップ406)と、このオンラインサービスからコンテンツを要求する段階（ステップ408）と、デバイスの位置をこの要求と共にこのオンラインサービスに送る段階(ステップ410)とを含む。プロセス400は、格納された機械命令を実行する1つ又は複数の計算装置により実装すればよい。例えば、プロセス400は、図3で詳細に示したクライアントデバイス102によって実装できる。一般に、プロセス400は、ウェブブラウザが、位置に基づくコンテンツにそのコンテンツに対する初期要求を介してアクセスすることを許可する(例えば、ブラウザが、それ自身にデバイスの位置を報告させるウェブページコードを先ず実行させることなく)。さらに、ユーザが、どのオンラインサービスがコンテンツ要求と共にそのデバイスの位置をウェブブラウザから直接受け取るのに適格かを管理できるので、プロセス400はユーザのプライバシーを保証する。
【００５３】
図4を継続して参照してより詳細に説明すると、プロセス400は、1つ又は複数の信頼できるオンラインサービスのリストを取り出す段階(ステップ402)を含んでいる。様々な実装例では、図3に示したウェブブラウザ200のようなウェブブラウザは、ホワイトリスト化され且つウェブブラウザから位置情報を受け取るのに適格である1つ又は複数の信頼できるオンラインサービスのリストを格納し取り出すことができる。例えば、ウェブブラウザ200は、信頼できるホワイトリストをコンテンツ選択サービス104又は任意のコンテンツソース108〜110を含むメモリから取り出すことができる。幾つかの実装例では、この1つ又は複数の信頼できるオンラインサービスのリストは、予め承認されたオンラインサービスのリストに部分的に基づいて生成すればよい。例えば、このウェブブラウザの製作者又は別の承認実体は、このウェブブラウザから位置情報を直接受け取るのに適格なオンラインサービスを予め選別できる。一実装例では、このウェブブラウザは、そのユーザに、信頼できるオンラインサービスの最終リストを生成するため、予め承認されたサービスから幾つかを選択させるよう構成できる。一実装例では、この信頼できるリストに含まれる信頼できるサービスのうち1つ又は複数は、ウェブブラウザのユーザが直接指定できる(例えば、予め承認されていないサービスをリストに追加することで)。
【００５４】
続けて図4を参照すると、プロセス400は、オンラインサービスからのコンテンツにアクセスするための命令を受け取る段階(ステップ404)を含む。このコンテンツは、様々な場合においてファーストパーティーコンテンツ又はサードパーティーコンテンツでよい。一実装例では、このウェブブラウザは、キーボード、タッチスクリーン、ポインティングデバイスなどのユーザ入力デバイスを介してこの命令を受け取る。例えば、このウェブブラウザは、任意のウェブページに移動するためユーザがURLをこのウェブブラウザに入力する際にコンテンツにアクセスするための命令を受け取ることができる。別の例では、このウェブブラウザは、ユーザが格納されたブックマークを選択する際に命令を受け取ることができる。別の実装例では、コンテンツにアクセスするための命令は、このウェブブラウザにより実行されるウェブページコードに対応してよい。例えば、このウェブブラウザがアクセスするファーストパーティー・ウェブページは、このブラウザにより実行されるとこのブラウザにサードパーティーコンテンツを要求させるコンテンツタグ(例えば、スクリプト又は他のコード)を含むことができる。さらに別の実装例では、この命令は、信頼できるオンラインサービスに関してウェブブラウザに問い合わせする埋め込み型ウェブページスクリプト(例えばJavaScript（登録商標）)に対応する。このサービスがブラウザの信頼できるオンラインサービスのリストに含まれていれば、このスクリプトはウェブブラウザをそのサービスの対応するアドレスに転送できる。
【００５５】
続けて図4を参照すると、プロセス400は、このオンラインサービスが信頼できるサービスのリストに載っているかを確認する段階(ステップ406)を含んでいる。例えば、図3に示したウェブブラウザ200のコンテンツ要求生成器310は、命令からのオンラインサービスを1つ又は複数の信頼できるオンラインサービスのリストと比較できる。これらが一致していれば、このオンラインサービスは、このデバイスの位置をコンテンツ要求と共に受け取るのに適格であると判断できる。幾つかの実装例では、この比較はURL毎に実行すればよい。例えば、このウェブブラウザは、命令からのURLが信頼できるサービスのリストのURLと一致した場合のみに一致が存在すると判断してよい。他の実装例では、要求されたURLの一部であるトップレベルドメイン又は高レベルのURLが信頼できるサービスのリストに含まれている場合に一致が存在すると判断してもよい。さらに別の実装例では、一致の有無は、命令を生成させたファーストパーティーコンテンツに関連付けられた許可に基づいて判断すればよい。例えば、このウェブブラウザが、信頼できるサービスのリストに含まれるファーストパーティー・ウェブページにアクセスし、ウェブページのコードが、ウェブブラウザにコンテンツ選択サービスからサードパーティーコンテンツを要求させるコンテンツタグを含むものと仮定する。幾つかの実装例では、このファーストパーティー・ウェブページが信頼できるサービスのリストに含まれるサービスにより提供される場合は、その許可はコンテンツ選択サービスによっても継承されるものとしてよい。
【００５６】
続けて図4を参照すると、プロセス400は、このオンラインサービスからコンテンツを要求する段階（ステップ408）を含む。ステップ404からの命令に応答して、ウェブブラウザは対応するコンテンツ要求を生成し、そのオンラインサービスに要求を送信できる。例えば、図3に示したウェブブラウザ200のコンテンツ要求生成器310は、コンテンツ選択サービス又は他のオンラインコンテンツソースからのファーストパーティーコンテンツ又はサードパーティーコンテンツへの要求を生成し、送信できる。
【００５７】
続けて図4を参照すると、プロセス400は、デバイスの位置をこのコンテンツ要求と共にこのオンラインサービスに送る段階(ステップ410)を含む。様々な実装例では、ステップ406でこのオンラインサービスが信頼できると判断されると、このデバイスの位置をコンテンツ要求と共にこのサービスに送信できる。言い換えれば、このデバイスの位置は、コンテンツに対する初期要求と共にウェブブラウザ自体から直接送信できる。幾つかの場合では、ウェブブラウザは、位置情報をこのコンテンツ要求（例えば、このコンテンツ要求のヘッダーなど）に含めてもよい。別の場合では、ウェブブラウザは、この位置情報をコンテンツ要求が送信された時刻に近い時刻（例えば、コンテンツ要求の送信の数秒前又は後）に別の送信として送ったり、このコンテンツ要求と同時に送ったりしてもよい。送られた位置情報は、実装例によっては暗号化し且つ/又はその正確度を下げてもよい。
【００５８】
コンテンツソースによってコンテンツ要求と共に受け取られた位置情報は、コンテンツをデバイスの位置に合わせて調整するために使用可能である。例えば、地元企業の広告は、このデバイスによりその位置に基づき表示を目的として選択できる。別の場合では、ファーストパーティー・ウェブページは、このデバイスの位置に合わせて最適化してよい。例えば、小売りウェブサイトであれば、この位置情報を用いて、このデバイス近くの小売店のセールス、販売促進、在庫情報などをファーストパーティー・ウェブページの一部として提供できる。
【００５９】
図5を参照すると、ウェブブラウザの基本設定画面の一実装例が図示されている。図示したように、図2及び3のウェブブラウザは、基本設定画面500を含むことができる。基本設定画面500は、クライアントデバイス102のユーザが、ウェブブラウザ200から位置情報を受け取ることを予め承認されているオンラインサービスを再検討できるように構成してよい。さらに、基本設定画面500は、ユーザが位置情報をその予め承認されたオンラインサービスへの送信を望んでいるのかに関する入力をユーザから受け取るよう構成できる。
【００６０】
基本設定画面500は、予め承認されたオンラインサービスに関する情報をユーザに提示する表、グリッド、又は他の任意グラフ構造体を含むことができる。例えば、基本設定画面500の表は第1列502を含むことができ、この第1列は、オンラインサービスが、ウェブブラウザ200からの位置情報を受け取ることを許可されているかどうかに関する入力を受け取るよう構成されている。例えば、列502は、ユーザが位置情報を対応するオンラインサービスに送りたいのかに関する意思表示を受け取るよう構成されたラジオボタン、チェックボックスなどの入力機構を含むことができる。この表は、予め承認されたオンラインサービスそれぞれを識別する列504も含むことができる。さらに、この表は、オンラインサービスがデバイスの位置情報を欲しがる1つ又は複数の理由を記載する列506も含むことができる。こうした理由は、事前承認プロセスの一部としてオンラインサービスにより与えられてもよい。
【００６１】
図示した例では、承認されたオンラインサービスのリストは、行508に記載された第1オンラインサービスと、行510に記載された第2オンラインサービスとを含むものと仮定する。行508は、オンラインサービスの名前（例えば、「ザ・ローカルバーガースタンド」）を識別し、さらに、このサービスのドメイン名又は他のURL(例えば、www.localburgerstand.test)を含むこともできる。行508も、このサービスが位置情報を欲しがる理由（デバイスに最も近いレストランの販売促進を行うなど）を含むことができる。行510は、「J・ドウズ・カーペットクリーニング」のような別のオンラインサービス、その対応するネットワークアドレス(例えば、www.cleaning.test)、又はこのサービスが位置情報をどのように利用するか（例えば、デバイスの位置に合わせてそのウェブサイトを最適化するなど）を明記できる。この例で示したように、ウェブブラウザ200のユーザが行508のチェックボックスを選択したか、行510のチェックボックスの選択を解除したと仮定する。いずれの場合も、ユーザは、行508のオンラインサービスのみがデバイスの位置を受け取るのに適格であると指定したことになる。画面500を介して指定された基本設定が保存されれば、ウェブブラウザ200は、行508に記載されたサービスを含む一方で行510のサービスは含まない信頼できるオンラインサービスのリストを生成できる。
【００６２】
一実装例では、基本設定画面500は、ウェブブラウザ200のユーザが、予め承認されていないオンラインサービスを指定できるように構成された追加入力（図示しない）を含むことができる。別の実装例では、基本設定画面500は、ユーザが、オンラインサービスによる位置情報の共有を防止できるようにするパラメータを含むことができる。さらに別の実装例では、基本設定画面500は、位置情報がどのように送られるか又は位置情報の内容を制御するパラメータ（例えば、初期の正確度レベルを使用すべきか）を含むことができ、或いはウェブブラウザ200に関して本明細書で記載された機能を制御する他の任意パラメータを含むことができる。
【００６３】
本明細書に記載した主題及び動作の実装例は、デジタル電子回路又はコンピュータソフトウェア、ファームウェア若しくは本明細書で開示された構造体及びその構造的等価物を含むハードウェア又はそれらの1つ若しくは複数の組合せで実装できる。本明細書に記載した主題の実装例は、1つ又は複数のコンピュータプログラムとして、すなわち、データ処理装置による実行又はデータ処理装置の動作制御のため1つ又は複数のコンピュータ記憶媒体で符号化されたコンピュータプログラム命令の1つ又は複数のモジュールとして実装できる。代替的に又は付加的に、これらプログラム命令は、データ処理装置により実行するため適切な受信装置への送信用に情報を符号化するため生成される、例えば機械生成電気、光学、又は電磁気信号などの人工生成伝搬信号で符号化できる。コンピュータ格納媒体は、コンピュータ可読格納媒体、コンピュータ可読格納基板、ランダム又はシリアルアクセス記憶装置アレイ若しくはデバイス、又はそれらの1つ若しくは複数の組合せとすることができ、或いはそれらに含まれていてもよい。さらに、コンピュータ格納媒体は伝搬信号ではないが、コンピュータ格納媒体は、人工生成伝搬信号で符号化されたコンピュータプログラム命令の供給源又は出力先となりうる。コンピュータ格納媒体は、1つ若しくは複数の別々の構成要素又は媒体(例えば、複数のCD、ディスク、又は他の記憶装置)とすることができ、又はそれらに含まれていてもよい。従って、このコンピュータ格納媒体は有形である。
【００６４】
本明細書に記載された動作は、1つ又は複数のコンピュータ可読格納装置に格納された又は他の供給源から受け取られたデータに対してデータ処理装置によって実行されうる動作として実現できる。
【００６５】
「クライアント」又は「サーバ」という用語は、例示的には、プログラマブルプロセッサ、コンピュータ、チップ搭載システム、それらの複数又は組合せを含む、データを処理するためのあらゆる種類の装置、デバイス、機械を含む。こうした装置は、例えば、FPGA（書替え可能ゲートアレイ）又はASIC（特定用途向けIC）などの専用論理回路を含むことができる。さらに、この装置は、ハードウェアに加え、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームのランタイム環境、仮想マシン、これらの1つ又は複数の組合せなどを構成するコードなど、当該コンピュータプログラムの実行環境を作成するコードを含むことができる。これら装置及び実行環境は、ウェブサービス、分散型計算及びグリッドコンピューティング・インフラストラクチャなどの様々な異なる計算モデルインフラストラクチャを実現できる。
【００６６】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとも呼ばれる)は、コンパイル済み若しくは解釈実行言語又は宣言型若しくは手続き型言語を含む任意形式のプログラミング言語で書くことができ、こうしたプログラムは、スタンドアローン形式のプログラム若しくはモジュール、構成要素、サブルーチン、オブジェクト又は計算環境における使用に適した他の単位を含む任意形式で導入できる。コンピュータプログラムは、ファイルシステムのファイルに対応できるが、必ずしもそうである必要はない。プログラムは、他のプログラム又はデータ(例えば、マーク付け言語文書に格納された1つ又は複数のスクリプト)を保持するファイルの一部、このプログラム専用の単一ファイル、又は多数の調整ファイル(例えば、1つ又は複数のモジュール、サブプログラム、又はコードの複数部分を格納するファイル)に格納できる。コンピュータプログラムは、単一のコンピュータ又は単一サイトに配置された複数のコンピュータ若しくは複数サイトに分散されて通信ネットワークにより相互接続した複数のコンピュータで実行されるよう導入することもできる。
【００６７】
本明細書で説明したプロセス及び論理フローは、入力データを処理しかつ出力を生成することによって動作を実行する1つ又は複数のコンピュータプログラムを実行する１つ又は複数のプログラマブルプロセッサにより実行できる。これらプロセス及び論理フローは、例えば、FPGA（書替え可能ゲートアレイ）又はASIC（特定用途向けIC）などの専用論理回路により実行でき、装置も、FPGA又はASICなどの専用論理回路として実装できる。
【００６８】
コンピュータプログラムの実行に適したプロセッサは、例示目的だが、汎用及び専用マイクロプロセッサ並びに任意種類のデジタルコンピュータの１つ又は複数のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリ若しくはランダムアクセス記憶装置又はそれら両方から命令及びデータを受け取る。コンピュータの不可欠な要素は、命令に従って動作を実行するためのプロセッサと、命令及びデータを格納するための１つ又は複数の記憶装置とである。一般に、コンピュータは、例えば、磁気ディスク、光磁気ディスク、又は光ディスクなどの１つ又は複数のデータ格納用の大容量記憶装置を含むか、それらからデータを受信又は転送、並びにその両方を行うため機能的に接続されている。しかし、コンピュータはそうした装置を備えている必要はない。さらに、コンピュータは、一部しか列挙しないが、例えば、携帯電話、個人情報端末(PAD)、携帯オーディオ若しくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、又は携帯用記憶装置(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)などの別の装置に埋め込んでもよい。コンピュータプログラム命令及びデータを格納するのに適した装置は、例えば、EPROM、EEPROM、及びフラッシュメモリ装置などの半導体記憶装置、例えば、内部ハードディスク又はリムーバルブディスクなどの磁気ディスク、光磁気ディスク、並びにCD-ROM及びDVD-ROMディスクを含むあらゆる形式の不揮発性記憶装置、媒体及び記憶装置を例えば含む。こうしたプロセッサ及びメモリは、専用論理回路により補足するかそれに組み込み可能である。
【００６９】
ユーザとのインタラクションを実現するため、本明細書に記載された主題の実装例は、表示装置(例えば、CRT(ブラウン管)、LCD(液晶表示装置)、OLED(有機発光ダイオード)、TFT (薄膜トランジスタ)、プラズマ、他の柔軟性構成モニタ、又は情報をユーザに表示するための他のモニタなど)と、ユーザがコンピュータに入力を与えるのに使用するキーボードと、例えばマウス、トラックボール、タッチスクリーン、タッチパッドなどのポインティングデバイスとを備えたコンピュータで実装できる。他の種類のデバイスを使ってもユーザとインタラクションを実現できる。例えば、ユーザに与えられるフィードバックは、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなどの任意形式の感覚フィードバックでよく、ユーザからの入力は、音響、音声、又は触覚入力を含む任意形式で受信できる。さらに、コンピュータは、例えば、ユーザのクライアントデバイス上のウェブブラウザから受信した要求に応答してウェブページをウェブブラウザに送るなど、ユーザが使用する装置との間で文書を送受信することでユーザとインタラクションできる。
【００７０】
本明細書に記載された主題の実装例は、データサーバなどのバックエンド構成要素を含んだ計算機システム、例えばアプリケーションサーバなどのミドルウェア構成要素を含んだ計算機システム、ユーザが本明細書に記載された主題の実装例とインタラクションする手段となるグラフィカル・ユーザインタフェース若しくはウェブブラウザを備えたクライアントコンピュータなどのフロントエンド構成要素を含む計算機システム、又は１つ又は複数のそうしたバックエンド、ミドルウェア、若しくはフロントエンド構成要素の任意組合せ含む計算機システムで実装できる。こうしたシステムの構成要素は、例えば通信ネットワークなどの任意形式又は媒体のデジタルデータ通信により相互接続できる。通信ネットワークの例には、ローカルエリアネットワーク（「LAN」）、広域ネットワーク（「WAN」）、相互接続ネットワーク(例えば、インターネット)、及びピアツーピアネットワーク(例えば、アドホック・ピアツーピアネットワーク)が含まれる。
【００７１】
本明細書で開示された特徴は、スマートテレビモジュール（又はインターネット接続テレビモジュール、ハイブリッドテレビモジュールなど）で実装でき、スマートテレビモジュールは、従来のテレビ番組ソース（例えば、ケーブル、衛星、無線、又は他の信号を介して受信されるもの）とのインターネット接続性を組み込むよう構成された処理回路を含む。スマートテレビモジュールはテレビ受像機に物理的に組み込んでもよいし、セットトップボックス、ブルーレイ又は他のデジタル媒体プレーヤー、ゲームコンソール、ホテルテレビシステム、及び他のコンパニオンデバイスなどの別個の装置を含んでもよい。スマートテレビモジュールは、視聴者がビデオ、映画、写真、及び他のコンテンツを、ウェブ、地元ケーブルテレビチャンネル、衛星テレビチャンネル、又はローカルハードドライブ上で検索し発見できるよう構成できる。セットトップボックス(STB)又はセットトップユニット(STU)は、チューナを内蔵すると共にテレビ受像機及び外部信号源に接続できる情報装置を含み、信号をコンテンツに変換してテレビ画面又は他の表示装置に表示可能としてもよい。スマートテレビモジュールは、ウェブブラウザ、複数のストリーミングメディア・サービス、接続ケーブル若しくは衛星メディアソース、他のウェブ「チャンネル」などの複数の異なるアプリケーションのアイコンを含むホームスクリーン又はトップレベル画面を表示するよう構成できる。さらに、こうしたスマートテレビモジュールは、ユーザに電子番組案内を送るよう構成してもよい。スマートテレビモジュールのコンパニオンアプリケーションはモバイル計算デバイス上で動作可能として、利用可能な番組に関する追加情報をユーザに提供し、ユーザがスマートテレビモジュールなどを制御可能としてよい。代替的な実施形態では、これらの特徴は、ラップトップコンピュータ若しくは他のパーソナルコンピュータ、スマートフォン、他の携帯電話、手持ち式コンピュータ、タブレットPC、又は他の計算デバイスで実装してよい。
【００７２】
本明細書は多くの特定の実装例に関する詳細を含むが、これらはいかなる発明の範囲又は請求項の限定と解釈されるべきでなく、特定の発明の特定の実装例に固有な特徴の記述と解釈すべきである。別々の実装例の文脈で本明細書に記載された幾つかの特徴は、組み合わせることにより単一の実装例でも実現してもよい。反対に、単一の実装例の文脈で記載された様々な特徴は、複数の実装例で別々に又は任意適切な部分的な組合せでも実現してもよい。さらに、幾つかの特徴は、特定の組合せで動作するように上記で説明されかつ請求項にも当初そのように記載されているかもしれないが、請求項に記載の組合せからの1つ又は複数の特徴は、場合によってはこうした組合せから削除でき、さらに、請求項に記載されたこの組合せは、部分的組合せ又は部分的組合せの変形例に関するものとしてよい。
【００７３】
同様に、動作は図面では特定の順序で図示されているが、所望の結果を得るためには、こうした動作は、図示した特定の順序又は連続した順序で実行する必要があると理解すべきではなく、またすべての例示的な動作が実行される必要があるとも理解すべきでもない。一定の状況では、多重タスク処理及び並列処理が有利となることがある。さらに、上述の実装例における様々なシステム構成要素の分離は、すべての実装例でそうした分離が必要であると理解すべきでなく、上述のプログラム構成要素及びシステムは、概して単一のソフトウェア製品に統合又は多数のソフトウェア製品に実装できることは理解すべきである。
【００７４】
ここまで本主題の幾つかの実装例を説明してきた。他の実装例も次の請求項の範囲に入る。幾つかの場合では、請求項に記載の動作は、異なる順序で実行しても所望の結果を得ることができる。さらに、添付図面に示したプロセスは、所望の結果を得るために図示した順序や連続した順番で実行する必要があるわけではない。幾つかの実装例では、多重タスク処理又は並列処理が有利となることがある。
【図１】
2015079501.tif 000003
【図２】
2015079501.tif 000004
【図３】
2015079501.tif 000005
【図４】
2015079501.tif 000006
【図５】
2015079501.tif 000007
【外国語明細書】
2015079501000001.pdf