(58)【調査した分野】(Int.Cl.,DB名)
前記ユーザについてのユーザタグを決定するステップが、前記情報に少なくとも部分的に基づいて乱数または擬似乱数を決定して、前記乱数または擬似乱数を前記ユーザタグとして提供するステップをさらに含む、請求項1に記載の方法。
前記ユーザについてのユーザタグを決定するステップが、結果を生成する前記情報の少なくとも一部に一方向性関数を適用して、前記結果を前記ユーザタグとして使用するステップをさらに含む、請求項1に記載の方法。
前記関連付けを格納するステップが、前記ユーザタグと、前記第1の匿名の識別子と、前記第2の別の匿名の識別子とを表内のエントリとして格納するステップを含む、請求項1に記載の方法。
前記関連付けを格納するステップが、前記ユーザタグを前記第1の匿名の識別子と前記第2の別の匿名の識別子との両方にマッピングするステップを含む、請求項1に記載の方法。
第1の期間および第2の期間が、ユーザが複数の別のデバイスからログインすることを可能にしたログインから一定の長さの時間が経過した後に満了する、請求項11に記載の方法。
前記ユーザによって使用される第3のデバイスからログイン要求を受信するステップであって、前記ログイン要求が、前記第3のデバイスに関連付けられる第3の別の匿名の識別子に関連付けられているステップと、
前記ユーザタグと、前記第1の匿名の識別子と、前記第2の別の匿名の識別子と、前記第3の別の匿名の識別子との間の関連付けを格納するステップと、
前記第1の匿名の識別子を含む前記第1のデバイスか、
前記第2の別の匿名の識別子を含む前記第2の別のデバイスか、
前記第3の別の匿名の識別子を含む前記第3の別のデバイスのいずれかからコンテンツを求める要求を受信するステップと、
前記要求に応じて、および前記関連付けを使用してコンテンツを提供するステップとをさらに備える、請求項1に記載の方法。
コンテンツを求める要求を受信するステップは、前記第1の匿名の識別子を含む前記第1のデバイスから要求を受信するステップであって、前記第1の匿名の識別子がクッキーであるステップを含む、請求項1に記載の方法。
前記要求に応じてコンテンツを提供するステップが、前記ユーザについての情報を使用して、前記ユーザにコンテンツを提供するステップをさらに含む、請求項1に記載の方法。
前記マッピングを使用するステップが、コンバージョントラッキング、周波数キャッピング、人口統計および関心カテゴリ推論、またはリマーケティングのために前記マッピングを使用するステップを含む、請求項22に記載の方法。
【発明を実施するための形態】
【0021】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【0022】
本文書は、コンテンツ選択を容易にするためにユーザに関連付けられる個人を特定できる情報を格納せずに、複数のデバイスに関連付けられた、または関連付けられているユーザにコンテンツを提供するための方法、処理、およびシステムを説明する。たとえば、ユーザが第1のデバイス(たとえば、ユーザの家庭用PC)からユーザサービスにログオンすると、ユーザに関連付けられる一意の識別子(たとえば、ユーザの電子メールアドレス、電話番号、または他の個人情報)を使用するユーザタグが決定され得る。ユーザタグを決定するために、たとえば一方向性ハッシュ関数を使用して乱数または擬似乱数を作成して、一意の識別子を難読化することができる。ユーザタグは、ユーザの第1のデバイスにマッピングされ得る。続いて、ユーザが第2の別のデバイスからサービスにログインすると、同じユーザタグが第2の別のデバイスにマッピングされ得る。これらの例におけるマッピングは、各デバイスに関連付けられる匿名の識別子(たとえば、クッキー、ブラウザクッキー、デバイス識別子等)を使用することができる。その結果、マッピングは、ユーザに関連付けられる個人を特定できる情報(PII)を格納せずに、ユーザに関連付けられるすべてのデバイスを識別することができる。続いてコンテンツがデバイスのうちのいずれかでユーザに提供される場合、マッピングに含まれる情報を使用して、ユーザに提供されるべき関連コンテンツを選択する際に支援することができる。関連コンテンツの選択は、たとえばコンテンツが配信される時間および方法に対する制限を含む、コンテンツがユーザに配信される方法に関する決定を含み得る。たとえば、ユーザが使用するデバイスの数に関わらず、広告のインプレッション数を、ユーザあたりおよび期間あたりの固定されたインプレッション数に制限することができる。いくつかの実装形態では、ユーザは、ユーザが複数のデバイスにわたって発見されることを可能にする、および/または、そのような発生に基づいてユーザがコンテンツを提供されることを可能にするプログラムまたは機能をオプトイン/オプトアウトする機会を提供され得る。
【0023】
いくつかの実装形態では、匿名の識別子(たとえば、クッキー)が古くなっていないことを保証するために、マッピング処理が定期的に繰り返され得る。たとえば、コンピュータ上のクッキーは時間の経過とともに失効することもあり、ユーザがクッキーを削除して、その結果新しいクッキーを設定することもできる。クッキー-マッピング処理を定期的に繰り返すことによって、ユーザに属しているクッキーの現在のセットが正しくマッピングされていることを保証することができる。クッキーを参照している間、ユーザに関連する一意の識別子または難読化された識別子を含む、またはそれらから導出された他の形式の匿名の識別子を使用することができる。
【0024】
いくつかの実装形態では、ユーザセッション履歴情報を匿名で格納することができる。たとえば、セッション履歴情報は、ユーザのブラウジング履歴、ユーザが特定の広告を見た回数、または他のセッション履歴情報を含むことができる。情報は、本明細書に記載の匿名の識別子に関連付けて格納することができる。いくつかの実装形態では、第1のデバイス上でのユーザのセッションに関連付けられるセッション履歴情報を、第1のデバイスに関連付けられる匿名の識別子を含む表に格納することができる。同じ表を使用して、同じユーザの第2のデバイス上でのユーザのセッションについてのセッション履歴情報を格納することができる。いくつかの実装形態では、別のまたは同じ表を使用して、匿名の識別子間の関連付けを格納することができる。いくつかの実装形態では、たとえば、所与のユーザについての対応する個人を特定する情報なしに、匿名の識別子、関連付け、およびセッションデータのすべてを格納することができる。
【0025】
以下でさらに詳細に説明するように、関連付けおよびセッション履歴情報の格納の後に、ユーザに関連付けられるデバイスのうちのいずれかから、コンテンツ(たとえば、広告)を求める要求(所与のデバイスに関連付けられる匿名の識別子を含む要求)が送信され得る。いくつかの実装形態では、受信された要求に応じて、たとえばユーザが関心を持つ可能性がある広告を決定する際に、表に格納されたセッション履歴情報を使用することができる。決定は、ユーザの格納されたセッション履歴情報に基づいて、ユーザについての推論を含むことができる。いくつかの実装形態では、たとえば匿名の識別子を使用して表を結合することによって、ユーザについてのセッション履歴情報を統合することができる。たとえば、コンテンツを求める要求を受信することができ、要求はユーザのデスクトップデバイスに関連付けられる匿名の識別子を含むことができる。受信された匿名の識別子を使用して、ユーザの他の匿名の識別子(たとえば、ユーザのモバイルデバイスおよび他のデバイス)を調べることができる。受信された匿名の識別子のセットを使用して、他の表内のセッション履歴情報(たとえば、ユーザブラウジング履歴)にアクセスすることができる。いくつかの実装形態では、統合された情報を生成するそれぞれのデバイスについて、すべてのセッション履歴情報を結合することができる。いくつかの実装形態では、受信された要求に応じてユーザに配信するための対象コンテンツを決定および選択するために、統合されたセッション履歴情報をコンテンツ管理システムに提供することができる。たとえば、セッション履歴情報はユーザが特定の広告を見た回数を含むことができるので、コンテンツ管理システムは、すでにあらかじめ定められた回数だけ表示された広告をユーザのために選択することを回避するために役立つ。
【0026】
いくつかの実装形態では、情報の統合は、オンデマンドで、たとえばコンテンツを求める要求が発生した後にリアルタイムで発生し得る。たとえば、匿名の識別子によって様々な表に個別に格納されたユーザのセッション履歴情報を結合することができる。情報をリアルタイムで統合することによって、たとえば、ユーザが、ユーザによって使用されるデバイスに基づいて、ユーザが関心を持つ可能性があるコンテンツを提供されることをオプトアウトしたかどうかに関連する問題を解決することができる。たとえば、ユーザがオプトアウトしたデバイスについてのセッション履歴情報は、他のセッション履歴情報と統合されない。いくつかの実装形態では、コンテンツを求める任意の要求に先立って、ユーザについての情報を統合して格納することができる。たとえば、ユーザセッション履歴情報のすべてを、たとえばすべてのユーザデバイスにわたるすべてのユーザセッション履歴情報を含む第3の表に格納することができる。
【0027】
図1はコンテンツを配信するための例示的環境100のブロック図である。例示的環境100は、コンテンツを求める要求に応じてコンテンツを選択して提供するためのコンテンツ管理システム110を含む。例示的環境100は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどの、ネットワーク102を含む。ネットワーク102は、ウェブサイト104、ユーザデバイス106、コンテンツスポンサー108(たとえば、広告主)、発行者109、およびコンテンツ管理システム110に接続している。例示的環境100は、数多くのウェブサイト104、ユーザデバイス106、コンテンツスポンサー108、および発行者109を含むことができる。
【0028】
いくつかの実装形態では、例示的環境100は、任意の特定のユーザに、ユーザのウェブサービス、電子メール、ソーシャルネットワーク、ビジネスアプリケーション、または他のリソースへのアクセスを提供することができる、ユーザログインサービス120をさらに含む。たとえば、ユーザログインサービス120は、ユーザに関連付けられる任意のデバイス上で実行しているウェブブラウザまたは他のアプリケーションなどを通じて、ユーザからログイン要求を受信することができる。ログイン要求は、たとえば、ユーザのログインID(たとえば、一意の識別子、電子メールアドレス、電話番号、またはログイン時にユーザを確認するために使用することができるユーザについての他の任意の識別子)を含むことができる。また、ユーザログインサービス120は、ユーザが現在ログオンしている、または最近ログインしたデバイスに関連する情報を保持することができる。情報は、たとえば、ユーザに関連付けられる個人を特定する情報を含まないユーザタグによる、デバイスへの匿名の識別子のマッピングを含むことができる。いくつかの実装形態では、ユーザごとに、匿名の識別子関連付け121のデータストア内に、または何らかのデータ構造内に、マッピングを格納することができる。
【0029】
いくつかの実装形態では、匿名の識別子関連付け121または他の何らかのデータストアは、ユーザごとにセッション履歴データを格納することができる。たとえば、セッション履歴データは、それぞれのデバイスからのそれぞれのユーザセッションの間に得られた情報の統合でよい。いくつかの実装形態では、セッション履歴データは、たとえば、しきい値期間よりも古いユーザについてのセッション履歴データをパージするために使用することができるタイムスタンプを含むことができる。いくつかの実装形態では、セッション履歴データは、ユーザが1つまたは複数のデバイス上でセッションにログインする限り存在することができる。
【0030】
ウェブサイト104は、ドメイン名に関連付けられる、および1つまたは複数のサーバによってホストされる、1つまたは複数のリソース105を含む。例示的なウェブサイトは、テキスト、画像、マルチメディアコンテンツ、およびスクリプトなどのプログラミング要素を含むことができる、ハイパーテキストマークアップ言語(HTML)でフォーマットされたウェブページの集合である。各ウェブサイト104は、ウェブサイト104を制御、管理、および/または所有するエンティティである、コンテンツ発行者によって保持され得る。
【0031】
リソース105は、ネットワーク102を介して提供され得る任意のデータでよい。リソース105は、リソース105に関連付けられるリソースアドレスによって識別され得る。リソースは、いくつか例を挙げると、HTMLページ、ワープロ文書、ポータブルドキュメントフォーマット(PDF)文書、画像、ビデオ、およびニュースフィードソースを含む。リソースは、埋め込まれた情報(メタ情報ハイパーリング等)および/または埋め込まれた命令(JavaScript(登録商標)スクリプト等)を含み得る、単語、語句、画像、ビデオ、および音などのコンテンツを含み得る。
【0032】
ユーザデバイス106は、ユーザの制御下の電子デバイスであり、ネットワーク102を介してリソースを要求および受信することができる。例示的なユーザデバイス106は、パーソナルコンピュータ(PC)、1つまたは複数のプロセッサが埋め込まれた、またはそれに結合されたテレビ、セットトップボックス、モバイル通信デバイス(たとえば、スマートフォン)、タブレットコンピュータ、およびネットワーク102を介してデータを送受信することができる他のデバイスを含む。ユーザデバイス106は、一般的に、ネットワーク102を介するデータの送受信を容易にするために、ウェブブラウザなどの1つまたは複数のユーザアプリケーションを含む。
【0033】
ユーザデバイス106は、ウェブサイト104にリソース105を要求することができる。次に、ユーザデバイス106によって表示されるために、リソース105を表すデータをユーザデバイス106に提供することができる。リソース105を表すデータは、コンテンツを表示することができるポップアップウィンドウの表示位置や第3者コンテンツサイトまたはウェブページのスロットなどの、リソースの一部またはユーザディスプレイの一部を指定するデータも含むことができる。リソースまたはユーザディスプレイのこれらの指定された部分はスロット(たとえば、広告スロット)と呼ばれる。
【0034】
これらのリソースの検索を容易にするために、環境100は、ウェブサイト104上でコンテンツ発行者によって提供されるリソースをクロールしてインデックス付けすることによってリソースを識別する検索システム112を含むことができる。データが対応するリソースに基づいて、リソースについてのデータをインデックス付けすることができる。インデックス付けされて、任意でキャッシュされたリソースのコピーを、インデックス付けされたキャッシュ114に格納することができる。
【0035】
ユーザデバイス106は、ネットワーク102を介して検索クエリ116を検索システム112に提出することができる。それに応じて、検索システム112がインデックス付けされたキャッシュ114にアクセスして、検索クエリ116に関連するリソースを識別する。検索システム112は、検索結果118の形でリソースを識別して、検索結果ページ内で検索結果118をユーザデバイス106に返す。検索結果118は、特定の検索クエリに応じてリソースを識別する検索システム112によって生成されたデータでよく、リソースへのリンクを含む。いくつかの実装形態では、検索結果118は、店舗の商品、電話番号、住所、または営業時間に対するクエリに応じたものなどの、マップ、回答などのコンテンツ自体を含む。いくつかの実装形態では、コンテンツ管理システム110は、検索システム112から受信した情報(たとえば、識別されたリソース)を使用して、検索結果118を生成することができる。例示的な検索結果118は、ウェブページタイトル、ウェブページから抽出したテキストの断片や画像の一部、およびウェブページのURLを含むことができる。検索結果ページは、他のコンテンツアイテム(たとえば、広告)を表示することができる1つまたは複数のスロットも含むことができる。いくつかの実装形態では、検索結果ページまたは他のウェブページ上のスロットは、予約処理の一部として提供されたコンテンツアイテムのためのコンテンツスロットを含むことができる。予約処理では、発行者およびコンテンツアイテムのスポンサーは、発行者がスケジュール(たとえばX日までに1000インプレッションを提供する)、または他の発行基準に従って、所与のコンテンツアイテム(または、キャンペーン)を発行することに同意する契約を締結する。いくつかの実装形態では、予約処理に関連付けられる優先順位に少なくとも部分的に基づいて(たとえば、予約を満たす緊急性に基づいて)、コンテンツスロットを求める要求を満たすために選択されたコンテンツアイテムが選択され得る。
【0036】
ユーザデバイス106によって、リソース105、検索結果118、および/または他のコンテンツが要求されると、コンテンツ管理システム110がコンテンツを求める要求を受信する。コンテンツを求める要求は、要求されたリソースまたは検索結果ページについて定義されるスロットの特性を含むことができ、コンテンツ管理システム110に提供され得る。
【0037】
たとえば、スロットが定義されるリソースへの参照(たとえば、URL)、スロットのサイズ、および/またはスロット内で表示するために利用可能な媒体の種類が、コンテンツ管理システム110に提供され得る。同様に、リソースまたは検索クエリ116に関連するコンテンツの識別を容易にするために、要求されたリソースに関連付けられるキーワード(「リソースキーワード」)、または検索結果が要求される検索クエリ116もコンテンツ管理システム110に提供され得る。
【0038】
要求に含まれるデータに少なくとも部分的に基づいて、コンテンツ管理システム110は、要求に応じて提供される対象であるコンテンツ(「対象コンテンツアイテム」)を選択することができる。たとえば、対象コンテンツアイテムは、広告スロットの特性と一致する特性を有する、および指定されたリソースキーワードまたは検索クエリ116に関連するものとして識別される、対象広告を含むことができる。いくつかの実装形態では、対象コンテンツアイテムの選択は、人口統計信号および行動信号などのユーザ信号にさらに依存し得る。対象コンテンツを選択する際に、上述のマッピングに関連付けられるユーザ識別子情報などの他の情報を使用および/または評価することができる。
【0039】
コンテンツ管理システム110は、オークションの結果に少なくとも部分的に基づいて(または他の何らかの選択処理によって)、リソースのスロットまたは検索結果ページ内で表示するために提供されるべき対象コンテンツアイテムから選択することができる。たとえば、対象コンテンツアイテムのために、コンテンツ管理システム110は、コンテンツスポンサー108からオファーを受信して、受信されたオファーに少なくとも部分的に基づいて(たとえば、オークション終了時の最高入札者に基づいて、またはオープン予約を満たすことに関連するものなどの他の基準に基づいて)、スロットを割り当てることができる。オファーは、リソースまたは検索結果ページとともにそれらのコンテンツを表示(または選択)するために、コンテンツスポンサーが支払うことを望む金額を表す。たとえば、オファーは、CPM入札と呼ばれる、コンテンツアイテムの1000インプレッション(すなわち、表示)ごとにコンテンツスポンサーが支払うことを望む金額を指定することができる。あるいは、オファーは、コンテンツアイテムの選択(すなわち、クリックスルー)、またはコンテンツアイテムの選択に続くコンバージョンについて、コンテンツスポンサーが支払うことを望む金額(たとえば、エンゲージメント当たりの単価)を指定することができる。たとえば、選択されたコンテンツアイテムは、オファーのみに基づいて決定されてもよく、コンテンツパフォーマンスから導出される品質スコア、ランディングページスコア、および/または他の要因などの、1つまたは複数の要因によって乗算される各コンテンツスポンサーのオファーに基づいて決定されてもよい。
【0040】
コンバージョンは、リソースまたは検索結果ページとともに提供されるコンテンツアイテムに関連する特定のトランザクションまたは動作をユーザが実行するときに発生すると言える。コンバージョンを構成するものはケースバイケースで異なり、様々な方法で決定され得る。たとえば、コンバージョンは、ユーザが、ウェブページと呼ばれるコンテンツアイテム(たとえば、広告)をクリックして、ウェブページを去る前に購入を完了するときに発生し得る。また、コンバージョンは、コンテンツプロバイダによって、ホワイトペーパーをダウンロードすること、少なくともウェブサイトの所与の深さまでナビゲートすること、少なくとも一定数のウェブページを閲覧すること、ウェブサイトまたはウェブページ上で少なくともあらかじめ定められた長さの時間を費やすこと、ウェブサイト上で登録すること、メディアを体験すること、またはコンテンツアイテムの再発行または共有などのコンテンツアイテム(たとえば、広告)に関連するソーシャルアクションを実行することなどの、任意の測定可能または観察可能なユーザ動作と定義することができる。コンバージョンを構成する他の動作も使用され得る。
【0041】
いくつかの実装形態では、たとえば、ユーザが複数のデバイスを使用してリソースにアクセスしたときにそのユーザを認識することによって、コンバージョンが発生する可能性を改善することができる。たとえば、コンテンツアイテム(たとえば、広告)が、第1のデバイス(たとえば、ユーザの家庭用PC)上でユーザによってすでに見られていることが分かっている場合、別のデバイス(たとえば、ユーザのスマートフォン)上で同じコンテンツアイテムを同じユーザに提供するか否かの決定を行う(たとえば、パラメータを使用して)ことができる。これにより、同じユーザへの広告の複数のインプレッションが、いずれの場合もコンバージョンにつながると予測されるかに応じて、たとえば、広告のインプレッションを繰り返すこと、または後続のインプレッションを回避することのいずれかによって、コンバージョンの可能性が高くなり得る。
【0042】
本明細書で論じたシステムが、ユーザについての個人情報を収集する状況では、ユーザは、個人情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションまたは活動、ユーザの嗜好、あるいはユーザの現在位置についての情報)を収集することができるプログラムまたは機能をオプトイン/オプトアウトする機会を提供され得る。さらに、ユーザに関連付けられる個人を特定できる情報が除去されるようにするために、あるデータが格納または使用される前に、1つまたは複数の方法で、そのデータを匿名化することができる。たとえば、ユーザについて個人を特定できる情報を決定できないようにするために、ユーザのアイデンティティを匿名化されてもよく、ユーザの特定の位置を決定できないようにするために、位置情報が取得されるユーザの地理的位置(都市、郵便番号、または州レベル等)が一般化されてもよい。
【0043】
図2Aおよび
図2Bは、情報を取り出すために複数のデバイス106を使用するユーザにコンテンツを提供するための例示的システム200を集合的に示している。たとえば、ユーザ201(たとえば、アダム)によって使用されるデバイス106は、第1のデバイス106a(たとえば、アダムの家庭用PC)、第2のデバイス106b(たとえば、アダムのスマートフォンなどのモバイルコンピューティングデバイス)、第3のデバイス106c(たとえば、アダムの仕事用ラップトップコンピュータ)、および/または他のデバイス106を含むことができる。たとえばコンテンツ管理システム110によってデバイス106のうちのいずれかに提供されるコンテンツは、ユーザを複数のデバイス106のすべてに関連付ける情報に依存し得る。
【0044】
図2Aを参照すると、ユーザ201(たとえば、アダム)は、アダムをユーザログインサービス120に識別するユーザログイン識別子204aを使用して、第1のデバイス106a(たとえば、アダムの家庭用PC)からユーザログインサービス120にログインすることができる。たとえば、ユーザログイン識別子204aはアダムのログインID(たとえば、アダムジョーンズ)、または認証情報を含むことができ、ログインサービス120(たとえば、アダムをソーシャルサービスに記録するために)によって受信される第1のログイン要求に含まれ得る。ログイン要求を、第1のデバイス106aに関連付けられる第1の匿名の識別子206a(たとえば、クッキー、ブラウザクッキー、デバイス識別子等)に関連付けることができる。
【0045】
いくつかの実装形態では、ユーザログインサービス120は、ユーザ201についてのユーザタグ208aを決定することができ、ユーザタグ208aは、ユーザに関連付けられる個人を特定できる情報を一切含まない。個人を特定できる情報の例には、ユーザに関連付けられるログイン識別子、ユーザの電子メールアドレス、ユーザの電話番号などがある。
【0046】
いくつかの実装形態では、ユーザログインサービス120は、ユーザタグ208aを別の方法で決定することができる。たとえば、ユーザについてのユーザタグ208aを決定するステップは、ユーザに関連付けられる個人を特定できる情報に少なくとも部分的に基づいて乱数または擬似乱数を決定するステップをさらに含むことができ、乱数または擬似乱数をユーザタグ208aとして提供することができる。いくつかの実装形態では、ユーザタグ208aを決定するステップは、結果を生成するために、個人を特定できる情報の少なくとも一部に一方向性関数(たとえば、ハッシュ関数)を適用するステップをさらに含むことができ、結果はユーザタグ208aのために使用され得る。いくつかの実装形態では、ユーザタグ208aを決定するための他の技法を使用することができ、複数の技法(たとえば、暗号化を含む)を組み合わせて使用することができる。
【0047】
ユーザ201は、やはりアダムを識別するユーザログイン識別子204bを使用して、第2の別のデバイス106b(たとえば、アダムのスマートフォンまたは他の何らかのデバイス)からログインサービス120にログインすることができる。たとえば、ユーザログイン識別子204bは、第1のデバイス106aにログインするためにアダムが使用したものと同じログイン識別子でよい。いくつかの実装形態では、第2の別のデバイス106b(たとえば、アダムのスマートフォン)へのログインは、アダムがまだ第1のデバイス106a(たとえば、アダムの家庭用PC)にログインしている間に発生する場合がある。第2のログインの間、ユーザログインサービス120は、たとえば第2の別のデバイス106bから第2のログイン要求を受信することができる。第2のログイン要求を、たとえば、第2の別のデバイス106bに関連付けられる第2の匿名の識別子206b(たとえば、クッキー、デバイス識別子等)に関連付けることができる
【0048】
いくつかの実装形態では、第1の匿名の識別子と第2の別の匿名の識別子を別々のブラウザに関連付けることができる。たとえば、第1のデバイス106aおよび第2の別のデバイス106bは同じデバイスでよいが、第1の匿名の識別子206aと第2の匿名の識別子206bはそれぞれ異なるブラウザに関連付けられてよい。これは、たとえば同じユーザが2つの別のブラウザを使用する場合に発生し得る。
【0049】
いくつかの実装形態では、ユーザログインサービス120は、匿名の識別子関連付け121のデータストア内の、ユーザタグ208aと、第1の匿名の識別子206aと、第2の別の匿名の識別子206bとの間の関連付けを格納することができる。いくつかの実装形態では、ユーザタグ208を匿名の識別子206に関連付けるペアとして関連付けを格納することができる。いくつかの実装形態では、ユーザタグはログインセッションごとに同じなので、格納された関連付けはユーザタグを除外する。たとえば、この例で格納された関連付けは2つ以上の匿名の識別子の間のものである。たとえば、アダムについてのユーザタグ208aを、アダムの第1のデバイス106a(たとえば、アダムの家庭用PC)からのログインに対応する第1の匿名の識別子206aとともに格納することができる。別の例では、アダムについての同じユーザタグ208aを、アダムの第2の別のデバイス106b(たとえば、アダムのスマートフォン)からのログインに対応する第2の別の匿名の識別子206bとともに格納することができる。結果として、ユーザの複数の匿名の識別子間の関連付けが格納される。
【0050】
ユーザタグ208aと匿名の識別子206aおよび206bとの間の関連付けを格納するために、別の技法を使用することができる。いくつかの実装形態では、関連付けを格納するステップは、たとえば、1つまたは複数のエントリまたは行を使用して第1の匿名の識別子と第2の別の匿名の識別子の両方にユーザタグがマッピングされる表内のエントリまたは行として情報を格納するステップを含むことができる。
【0051】
いくつかの実装形態では、関連付けを格納するステップは、第1の期間の満了後にユーザタグを除去するステップ、および/または第2の期間の満了後に第2の別の匿名の識別子を除去するステップを含むことができる。いくつかの実装形態では、第1の期間と第2の期間は同じでもよい。いくつかの実装形態では、第1の期間および第2の期間は、ユーザがサービスからログアウトするときに満了することができる。いくつかの実装形態では、第1の期間および第2の期間は、ユーザが複数の別のデバイスからログインすることを可能にしたログインから一定の長さの時間が経過した後に満了することができる。例示的な時間の長さは、実質的に2日間、実質的に3日間、実質的に4日間、または実質的に1週間を含む。
【0052】
たとえば、アダムに関連付けられるユーザタグをアダムの複数のユーザデバイスのいずれかにマッピングする関連付けを、数日間、またはアダムが複数の別のデバイスからログインする可能性がある他の何らかの期間にわたって格納されたままにすることができる。いくつかの実装形態では、アダムがサービスから出る(またはログオフする)と、アダムのデバイスのいずれかに関連する情報を削除することができる。
【0053】
図2Bを参照すると、コンテンツ管理システム110は、第1のデバイス106aまたは第2の別のデバイス106bのいずれかからコンテンツ212aまたは212bを求める要求を受信することができる。たとえば、コンテンツ212aを求める要求は、ウェブページ218a上の広告スロット216aを満たす広告を求める要求でよい。別の例では、コンテンツ212bを求める要求は、ウェブページ218b上の広告スロット216bを満たす広告を求める要求でよい。コンテンツ212aを求める要求が第1のデバイス106aからのものである場合、たとえば、コンテンツを求める要求は第1の匿名の識別子206aを含むことができる。あるいは、コンテンツ212bを求める要求が第2の別のデバイス106bからのものである場合、たとえば、コンテンツを求める要求は第2の別の匿名の識別子206bを含むことができる。
【0054】
コンテンツを求める要求の発信元にかかわらず、コンテンツ管理システム110は、要求に応じて、およびユーザタグを複数のデバイスにマッピングする(たとえば、匿名の識別子関連付け121から)情報を使用して、コンテンツアイテム(たとえば、コンテンツアイテム220aまたは220b)を提供することができる。たとえば、情報は、ユーザタグ208aと、第1の匿名の識別子206aと、第2の別の匿名の識別子206bとの間の関連付けを含むことができる。この情報を使用して、コンテンツ管理システム110は、たとえば、特定のユーザデバイスにかかわらず、コンテンツを求める要求があたかも同じユーザから来ているかのように取り扱うことができる。いくつかの実装形態では、コンテンツ212bを求める要求についての対象コンテンツアイテムを識別するステップは、たとえば、第1のデバイス106a上で同じユーザ(たとえば、アダム)にすでに提供されたコンテンツに依存し得る。結果として、ユーザごとに1インプレッションが提供されるように定義されたカリフォルニアバケーションについての広告を、アダムの第1のデバイス106a上で表示することができ、アダムの第2の別のデバイス106b上では再び繰り返されない。いくつかの実装形態では、ユーザの複数の装置のそれぞれに一度に一度だけ同じ広告を提供することが有益な場合がある。
【0055】
アダムのデバイス106aおよび106bはアダムが使用することができるデバイスの2つの例である。たとえば、アダムは第3の別のデバイス106c(たとえば、仕事用ラップトップコンピュータ)を使用することができる。アダムが、ログインするために第3の別のデバイス106cを使用すると、たとえばユーザログインサービス120は、第3の別の匿名の識別子206cを匿名の識別子関連付け121に格納することができる。結果として、3つのデバイス106a〜106cを、アダムに関連付けられるユーザタグ208aに関連付けることができる。
【0056】
同様に、他のユーザ(たとえば、ベティ)が、複数の別のデバイスからログインするためにユーザログインサービス120を使用することができる。ベティが第4および第5のデバイスにログインする結果として、たとえば、ユーザログインサービス120は、第4の別の匿名の識別子206dおよび第5の別の匿名の識別子206eを匿名の識別子関連付け121に格納することができる(しかし、それらの識別子はもちろん、アダムではなくベティに関連付けて格納されることになる)。
【0057】
図3Aは、ユーザに関連付けられる複数のデバイスのいずれかで、ユーザにコンテンツを提供するための例示的処理300の流れ図である。いくつかの実装形態では、コンテンツ管理システム110、および/またはユーザログインサービス120は、1つまたは複数のプロセッサによって実行される命令を使用して処理300のステップを実行することができる。
図1〜
図2Bは、処理300のステップを実行するための例示的構造を提供するために使用される。
【0058】
サービスにログインするためにユーザによって使用される第1のデバイスから、第1のログイン要求が受信される(302)。第1のログイン要求は、第1のデバイスに関連付けられる第1の匿名の識別子に関連付けられる。たとえば、ユーザログインサービス120は、ユーザ201(たとえば、アダム)が第1のデバイス106aにログインすると、第1のログイン要求を受信することができる。ログイン要求には、ユーザログイン識別子204aおよび第1の匿名の識別子206aが含まれ得る。
【0059】
ユーザについてのユーザタグが決定される(304)。ユーザタグは、ユーザに関連付けられる個人を特定できる情報を一切含まない。いくつかの実装形態では、ユーザログインサービス120は、ログイン識別子204aの一方向性ハッシュ(たとえば、「アダムジョーンズ」のハッシュ)を使用してユーザタグ208aを決定することができる。いくつかの実装形態では、ユーザログインサービス120は、ユーザのログイン識別子に基づいて、たとえばユーザログイン識別子204aをシードとして使用して、ユーザタグ208aを乱数または擬似乱数として決定することができる。いくつかの実装形態では、ユーザタグ208aは、ログイン要求に含まれる情報に少なくとも部分的にさらに基づくことができる。
【0060】
ユーザによって使用される第2の別のデバイスから、第2のログイン要求が受信される(306)。第2のログイン要求が、第2の別のデバイスに関連付けられる第2の別の匿名の識別子に関連付けられる。たとえば、ユーザログインサービス120は、ユーザ201(たとえば、アダム)が第2の別のデバイス106b(たとえば、アダムのスマートフォン)からサービスにログインすると、第2のログイン要求を受信することができる。ログイン要求には、ユーザログイン識別子204bおよび第2の匿名の識別子206bが含まれ得る。
【0061】
ユーザタグと、第1の匿名の識別子と、第2の別の匿名の識別子との間の関連付けが格納される(308)。たとえば、ユーザログインサービス120は、ユーザタグ208aと、第1の匿名の識別子206aと、第2の別の匿名の識別子206bとの間の関連付けを、匿名の識別子関連付け121に格納することができる。いくつかの実装形態では、関連付けを作成するために、ログイン要求がどのデバイスから来ているかにかかわらず、ユーザに同じユーザタグを作成することができる。たとえば、ユーザタグがユーザログイン識別子の一方向性ハッシュ関数を使用して生成される場合、第2の要求のために生成されたユーザタグが、第1の要求のために生成されたユーザタグと同じでよい。このように、ユーザが任意のデバイスからログインするたびにユーザタグは同じでよい。
【0062】
第1の匿名の識別子を含む第1のデバイス、または第2の別の匿名の識別子を含む第2の別のデバイスのいずれかから、コンテンツを求める要求が受信される(310)。たとえば、コンテンツ管理システム110は、第1のデバイス106aまたは第2の別のデバイス106bのいずれかから、それぞれコンテンツ212aまたはコンテンツ212bを求める要求を受信することができる。コンテンツ212a(またはコンテンツ212b)を求める要求は、ウェブページ218a(またはウェッブページ218b)上の広告スロット216a(または広告スロット216b)を満たすための広告を求める要求などの、広告コンテンツを求める要求でよい。
【0063】
コンテンツが、要求に応じて、および関連付けを使用して提供される(312)。たとえば、コンテンツ管理システム110は、要求のソースに応じて、コンテンツアイテム220aまたはコンテンツアイテム220bのいずれかを提供することができる。いくつかの実装形態では、要求に応じてコンテンツを提供するステップは、ユーザについての情報を使用して、ユーザが関心を持つ可能性があるコンテンツを提供するステップをさらに含むことができる。たとえば、ユーザに関連付けられる情報に少なくとも部分的に基づいて、カリフォルニアバケーションについての広告を選択することができる。さらに、たとえばコンテンツを求める要求の発信元である第1のデバイスまたは第2の別のデバイスのいずれかに、ユーザにコンテンツを提供することができる。いくつかの実装形態では、ユーザへのコンテンツの配信は、ユーザに関連付けられる個人を特定できる情報を格納するステップを含まない、格納された関連付けに基づき得る。
【0064】
いくつかの実装形態では、システムは、ユーザが関心を持つ可能性があるコンテンツを選択して提供するために使用することができる情報などの、ユーザに関する他の情報を格納することができる。いくつかの実装形態では、システムは、たとえばコンテンツ選択の目的で使用することができるユーザについてのプロファイルを格納することができる。プロファイルは、第1のデバイスまたは第2のデバイスから受信したセッション日に基づいて更新することができる。
【0065】
いくつかの実装形態では、処理300は、たとえば第3のログイン要求を処理するための、さらなるステップを含むことができる。たとえば、ログイン要求は、ユーザによって使用される第3のデバイス(たとえば、デバイス106c)から受信することができる(たとえば、ユーザログインサービス120によって)。ログイン要求は、第3のデバイス106cに関連付けられる第3の別の匿名の識別子206cに関連付けることができる。ユーザタグ208aと、第1の匿名の識別子206aと、第2の別の匿名の識別子206bと、第3の別の匿名の識別子206cとを関連付ける関連付けを格納することができる。
【0066】
コンテンツを求める要求が、第1の匿名の識別子を含む第1のデバイスか、第2の別の匿名の識別子を含む第2の別のデバイスか、第3の別の匿名の識別子を含む第3の別のデバイスのいずれかから受信され得る。コンテンツは、要求に応じて、および関連付けを使用して(たとえば、コンテンツ管理システム110によって)提供され得る。
【0067】
図3Bは、複数のデバイスにリンクされた(たとえば、サービスによって生成された識別子を使用して)ユーザが関心を持つ可能性があるコンテンツを提供するための例示的処理320の流れ図である。いくつかの実装形態では、コンテンツ管理システム110、および/またはユーザログインサービス120は、1つまたは複数のプロセッサによって実行される命令を使用して処理320のステップを実行することができる。
図1〜
図2Bは、処理320のステップを実行するための例示的構造を提供するために使用される。
【0068】
ユーザに関連付けられる複数の匿名の識別子が、サービスによってリンクされる(322)。たとえば、デバイス106a〜デバイス106c上のユーザ201(たとえば、アダム)による複数のログイン要求の結果として、ユーザログインサービスは、ユーザタグ208aを使用して、関連付けられた匿名の識別子206a〜匿名の識別子206cをリンクすることができる。たとえば、ユーザタグ208aは、ユーザログイン識別子204a(たとえば、アダムジョーンズ)の一方向性ハッシュのものでよい。
【0069】
いくつかの実装形態では、複数の匿名の識別子をリンクするステップは、複数の別のデバイスから、ユーザからログイン要求を受信するステップと、ユーザに関連付けられるユーザタグを決定するステップであって、ユーザタグが、ユーザに関連付けられる個人を特定できる情報を一切含まないステップと、ユーザタグを、各ログイン要求に関連付けられる匿名の識別子にマッピングするステップとを含むことができる。たとえば、ユーザ201(たとえば、アダム)は、複数のデバイス106からユーザログインサービス120にログインすることができる。ログイン要求ごとに、ユーザログインサービス120はユーザタグ208aを決定することができる。いくつかの実装形態では、ユーザタグ208aを決定するステップは、一方向性関数(たとえば、繰り返し可能な)を、ユーザに関連付けられる一意の情報(たとえば、電子メールアドレス、電話番号等)に適用して、結果(たとえば、乱数または擬似乱数)をユーザタグ208aとして使用するステップを含むことができる。さらに、ユーザログインサービス120は、ユーザタグ208aを匿名の識別子のそれぞれ(たとえば、匿名の識別子206a〜匿名の識別子206c)にマッピングして、マッピングを匿名の識別子関連付け121に格納することができる。いくつかの実装形態では、複数の匿名の識別子は、ブラウザクッキー、デバイス識別子、または他の何らかの識別子でよい。
【0070】
ユーザからコンテンツを求める要求がサービスで受信されて、各要求は匿名の識別子のうちの1つを含む(324)。たとえば、コンテンツ管理システム110は、たとえばコンテンツアイテムスロット(たとえば、広告スロット216aまたは広告スロット216b)を満たすために、コンテンツ212aまたはコンテンツ212bを求める要求を受信することができる。
【0071】
受信された要求に応じて、コンテンツがユーザに提供される(326)。たとえば、コンテンツ管理システム110が、コンテンツ212aまたはコンテンツ212bを求める要求に応じて、それぞれコンテンツアイテム220aまたはコンテンツアイテム220bを選択して提供することができる。コンテンツ管理システム110は、匿名の識別子関連付け121内の情報を使用することができる。たとえば、コンテンツ管理システム110が、所与の広告についてのインプレッションの有限数(たとえば、1)を規定するバケーション広告キャンペーンのための対象コンテンツを識別する場合、コンテンツ管理システム110がアダムの家庭用PC上でアダムに提供するカリフォルニアバケーション広告は、アダムのスマートフォン上で繰り返されない。
【0072】
図3Cは、別のデバイスに関連付けられるユーザにコンテンツを提供するための例示的処理340の流れ図である。いくつかの実装形態では、コンテンツ管理システム110、および/またはユーザログインサービス120は、1つまたは複数のプロセッサによって実行される命令を使用して処理340のステップを実行することができる。
図1〜
図2Bは、処理340のステップを実行するための例示的構造を提供するために使用される。
【0073】
ユーザによって使用される第1のデバイスから、第1のログイン要求が受信され、第1のログイン要求は第1の匿名の識別子に関連付けられている(342)。例を挙げると、ユーザログインサービス120は、ユーザ201(たとえば、アダム)が第1のデバイス106aにログインすると、第1のログイン要求を受信することができる。ログイン要求には、ユーザログイン識別子204aおよび第1の匿名の識別子206aが含まれ得る。
【0074】
ユーザについてのユーザタグが決定され、ユーザタグは、ユーザに関連付けられる個人を特定できる情報を一切含まない(344)。いくつかの実装形態では、ユーザログインサービス120は、ログイン識別子204aの一方向性ハッシュ(たとえば、「アダムジョーンズ」のハッシュ)を使用してユーザタグ208aを決定することができる。いくつかの実装形態では、ユーザログインサービス120は、たとえばユーザログイン識別子204aをシードとして使用して、ユーザタグ208aを乱数として決定することができる。いくつかの実装形態では、ユーザタグは、ログイン要求に含まれる情報に少なくとも部分的にさらに基づくことができる。
【0075】
ユーザによって使用される第2の別のデバイスから第2のログイン要求が受信され、第2のログイン要求は、第2の別の匿名の識別子に関連付けられている(346)。たとえば、ユーザログインサービス120は、ユーザ201が第2の別のデバイス106b(たとえば、アダムのスマートフォン)からサービスにログインすると、第2のログイン要求を受信することができる。ログイン要求には、ユーザログイン識別子204bおよび第2の匿名の識別子206bが含まれ得る。
【0076】
ユーザが第2のデバイスにログインしたことが決定される(348)。たとえば、ユーザログインサービス120は、要求に基づいて、ユーザ201が第2の別のデバイス106bにログインしたことを決定することができる。
【0077】
ユーザタグと、第1のデバイスの匿名の識別子と、第2の別のデバイスの匿名の識別子との間の関連付けが格納される(350)。例を挙げると、ユーザログインサービス120は、ユーザタグ208aと、第1の匿名の識別子206aと、第2の別の匿名の識別子206bとの間の関連付けを、匿名の識別子関連付け121に格納することができる。
【0078】
第1のデバイスの匿名の識別子を使用する第1のデバイス、または第2の別のデバイスの匿名の識別子を使用する第2の別のデバイスのいずれかから、コンテンツを求める要求が受信される(352)。たとえば、コンテンツ管理システム110は、第1のデバイス106aまたは第2の別のデバイス106bのいずれかから、それぞれコンテンツ212aまたはコンテンツ212bを求める要求を受信することができる。コンテンツ212a(またはコンテンツ212b)を求める要求は、たとえば、ウェブページ218a(またはウェブページ218b)上の広告スロット216a(または広告スロット216b)を満たすための広告を求める要求でよい。
【0079】
コンテンツが、第3の要求に応じて、第1のデバイスの匿名の識別子、または第2の別のデバイスの匿名の識別子のいずれかを使用して、および関連付けに基づいて提供される(354)。たとえば、コンテンツ管理システム110は、要求のソースに応じて、コンテンツアイテム220aまたはコンテンツアイテム220bのいずれかを提供することができる。
【0080】
図3Dは、別のデバイスに関連付けられるユーザにコンテンツを配信するための例示的処理360の流れ図である。いくつかの実装形態では、コンテンツ管理システム110、およびユーザログインサービス120は、1つまたは複数のプロセッサによって実行される命令を使用して処理360のステップを実行することができる。
図1〜
図2Bは、処理360のステップを実行するための例示的構造を提供するために使用される。
【0081】
クライアントデバイス上で第1のクライアント処理を実行しているユーザから、サービスにログインするための要求が受信される(362)。たとえば、ユーザ201(たとえば、アダム)がユーザログインサービス120にログインして(たとえば、ツールバーから)、サービス(たとえば、電子メール、ソーシャルネットワーキングアプリケーション等)にアクセスすることができ、そこへのアクセスはユーザログインサービス120によって制御され得る。結果として、ユーザログインサービス120は、アダムの第1のデバイス106a上で実行しているウェブブラウザまたは他のクライアント処理などから、第1のデバイス106a(たとえば、アダムの家庭用PC)からログイン要求を受信することができる。
【0082】
要求に応じて、および1つまたは複数のプロセッサを使用して、クライアントデバイスに格納するためにクライアント識別子がクライアントデバイスに返され、クライアント識別子が、このセッションのためのサービスへのユーザを識別する(364)。たとえば、ユーザログインサービス120は、ユーザ(たとえば、アダム)を識別するが、ユーザに関連付けられる個人を特定できる情報を含まない、クライアント識別子を決定することができる。いくつかの実装形態では、クライアント識別子はクッキーでよい。いくつかの実装形態では、ログインするときにユーザによって提供されたユーザログイン識別子(たとえば、アダムジョーンズまたは彼のログイン識別子)の一方向性ハッシュを使用して、クライアント識別子を決定することができる。いくつかの実装形態では、クライアント識別子は乱数でもよく、他の何らかの識別子でもよい。
【0083】
ログインした後、クライアントデバイスからコンテンツを求める1つまたは複数の要求が受信され、各要求は、クライアント識別子および所与のセッションまたはデバイスに関連付けられるクッキーを含む(366)。例を挙げると、コンテンツ管理システム110は、たとえばウェブページ218a上の広告スロット216aを満たすための要求などの、第1のデバイス106aからコンテンツ212aを求める要求を受信することができる。いくつかの実装形態では、コンテンツ管理システム110は、第1のデバイス106a上のアダムのセッションに関連付けられるクッキーも受信することができる。受信されるクッキーは、第1のデバイス106aに格納されて、デバイスを識別するクッキーのコピーでもよい。
【0084】
クライアント識別子がクッキーにマッピングされて、マッピングが格納される(368)。たとえば、ユーザログインサービス120は、クライアント識別子とクッキーとの間のマッピングを、たとえば匿名の識別子関連付け121に格納することができる。いくつかの実装形態では、マッピングは、マッピングに基づいてユーザにコンテンツを提供するために使用される情報を格納するステップを含むことができる。たとえば、マッピングとともに格納された情報は、コンバージョントラッキング、周波数キャッピング、人口統計および関心カテゴリ推論、リマーケティング、および/または他の用途のために使用することができる。いくつかの実装形態では、マッピングとともに格納された情報は、ユーザについての推論(たとえば、関心、ユーザの購入の意思、または他の情報)を含むことができる。あるデバイスから学習した推論を、ユーザが別のデバイスを使用する際に、ユーザへの広告を選択して提供するために使用することができる。ユーザプロファイルの形式などの、ユーザについての情報を格納するための他の手段が可能である。
【0085】
その後の時点で、サービスにログインするために後続の要求が受信され、後続の要求がユーザからのものであり、別のクライアントデバイス、あるいはクライアントデバイス上で実行される別のブラウザを通じてのいずれかによる、第2のクライアント処理に関連付けられている(370)。たとえば、ユーザログインサービス120は、第2の別のデバイス106b上(たとえば、アダムのスマートフォン)で、同じユーザ201(たとえば、アダム)からログイン要求を受信することができる。これは、たとえば、アダムが依然として彼の第1のデバイス106a(たとえば、アダムの家庭用PC)にログオンしている間に発生し得る。
【0086】
後続の要求に応じて、クライアントデバイスに格納するためにクライアント識別子がクライアントデバイスに返され、クライアント識別子が、この後続のセッションのためのサービスへのユーザを識別する(372)。たとえば、アダムの第1のデバイス106aに返された同じクライアント識別子を、アダムの第2の別のデバイス106bに返すことができる。
【0087】
コンテンツを求める1つまたは複数の後続の要求がユーザから受信され、各後続の要求が、クライアント識別子、および後続のセッションまたはデバイスに関連付けられる第2の別のクッキーを含む(374)。例を挙げると、コンテンツ管理システム110は、たとえばアダムのスマートフォンのウェブページ218b上の広告スロット216bを満たすための要求などの、第2の別のデバイス106bからコンテンツ212bを求める要求を受信することができる。同時に、コンテンツ管理システム110は、第2の別のデバイス106b上のアダムのセッションに関連付けられる第2の別のクッキーも受信することができる。
【0088】
クライアント識別子が第2の別のクッキーにマッピングされて、マッピングが格納される(376)。たとえば、ユーザログインサービス120は、クライアント識別子と第2の別のクッキーとの間のマッピングを、たとえば匿名の識別子関連付け121に格納することができる。結果として、クライアント識別子と、クッキー(たとえば、第1のデバイス106aからの)と、第2の別のクッキー(たとえば、第2の別のデバイス106bからの)との間に関連付けが存在することになる。
【0089】
マッピングを使用して、コンテンツがユーザに配信される(378)。たとえば、コンテンツ管理システム110が、マッピングを使用して、バケーション広告キャンペーン、たとえば、任意の1人のユーザに、所与の広告についてのインプレッションの有限数(たとえば、1)を規定するキャンペーンについてのコンテンツアイテムを提供することができる。結果として、たとえばコンテンツ管理システム110がアダムの家庭用PC上でアダムに提供するカリフォルニアバケーション広告は、アダムのスマートフォン上で繰り返されない。
【0090】
図4は、本明細書に記載のシステムおよび方法を、クライアント、あるいはサーバまたは複数のサーバとして実装するために使用することができるコンピューティングデバイス400、コンピューティングデバイス450のブロック図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形態のデジタルコンピュータを表すことを意図している。コンピューティングデバイス400は、テレビ、または1つまたは複数のプロセッサが埋め込まれた、あるいはそれに接続された他の電子デバイスなどの、他の任意の典型的な非モバイルデバイスを表すことをさらに意図している。コンピューティングデバイス450は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなどの、様々な形態のモバイルデバイスを表すことを意図している。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は例示的なものに過ぎず、本明細書で記載および/または主張される本発明の実装形態を限定することを意味するものではない。
【0091】
コンピューティングデバイス400は、プロセッサ402、メモリ404、記憶装置406、メモリ404および高速拡張ポート410に接続している高速インターフェース408、ならびに低速バス414および記憶装置406に接続している低速インターフェース412を含む。それぞれのコンポーネント402、404、406、408、410、および412は、様々なバスを使用して相互接続されており、共通マザーボード上に、または必要に応じて他の方法で搭載され得る。プロセッサ402は、メモリ404または記憶装置406に格納された命令を含む、コンピューティングデバイス400内で実行するための命令を処理して、高速インターフェース408に結合されたディスプレイ416などの外部入力/出力デバイス上にGUIのためのグラフィカル情報を表示することができる。他の実装形態では、必要に応じて、複数のメモリおよびメモリのタイプとともに、複数のプロセッサおよび/または複数のバスを使用することができる。また、複数のコンピューティングデバイス400を接続することができ、各デバイスが必要な操作の一部を提供する(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0092】
メモリ404は、コンピューティングデバイス400内に情報を格納する。一実装形態では、メモリ404はコンピュータ可読媒体である。一実装形態では、メモリ404は揮発性メモリユニットである。別の実装形態では、メモリ404は不揮発性メモリユニットである。
【0093】
記憶装置406は、コンピューティングデバイス400のための大容量記憶装置を提供することができる。一実装形態では、記憶装置406はコンピュータ可読媒体である。様々な異なる実装形態では、記憶装置406は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイスでもよく、フラッシュメモリまたは他の同様のソリッドステートメモリデバイスでもよく、あるいはストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイでもよい。一実装形態では、コンピュータプログラム製品は、情報担体において明確に具現化される。コンピュータプログラム製品は、実行されると、上述の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ404、記憶装置406、またはプロセッサ402上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0094】
高速コントローラ408がコンピューティングデバイス400の帯域幅集中型操作を管理して、低速コントローラ412がより低速の帯域幅集中型操作を管理する。このようなデューティーの割当ては、例示的なものに過ぎない。一実装形態では、高速コントローラ408は、メモリ404、ディスプレイ416(たとえば、グラフィックプロセッサまたは加速器を通じて)、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート410に結合されている。実装形態では、低速コントローラ412は、記憶装置406および低速拡張ポート414に結合されている。様々な通信ポート(たとえば、USB、ブルートゥース、イーサネット(登録商標)、ワイヤレスイーサネット(登録商標))を含み得る低速拡張ポートは、たとえばネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナ、あるいはスイッチまたはルータなどのネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに結合することができる。
【0095】
図面に示されるように、コンピューティングデバイス400はいくつかの異なる形式で実装され得る。たとえば、標準サーバ420として実装されてもよく、そのようなサーバのグループ内で複数回実装されてもよい。また、ラックサーバシステム424の一部として実装されてもよい。さらに、ラップトップコンピュータ422などのパーソナルコンピュータに実装されてもよい。あるいは、コンピューティングデバイス400からのコンポーネントが、デバイス450などのモバイルデバイス(図示せず)内の他のコンポーネントと結合されてもよい。そのようなデバイスのそれぞれは、1つまたは複数のコンピューティングデバイス400、コンピューティングデバイス450を含むことができ、システム全体は、相互に通信している複数のコンピューティングデバイス400、コンピューティングデバイス450で構成されてよい。
【0096】
コンピューティングデバイス450は、数あるコンポーネントの中でも特に、プロセッサ452、メモリ464、ディスプレイ454などの入力/出力デバイス、通信インターフェース466、およびトランシーバ468を含む。さらなる記憶装置を提供するために、デバイス450はマイクロドライブまたは他のデバイスなどの記憶装置も備え得る。それぞれのコンポーネント450、452、464、454、466、および468は、様々なバスを使用して相互接続されており、コンポーネントのうちのいくつかは、共通マザーボード上に、または必要に応じて他の方法で搭載され得る。
【0097】
プロセッサ452は、メモリ464に格納された命令を含む、コンピューティングデバイス450内で実行するための命令を処理することができる。プロセッサは、別のアナログおよびデジタルプロセッサも含むことができる。プロセッサは、たとえば、ユーザインターフェースの制御などの、デバイス450の他のコンポーネントの調整のために、デバイス450によって実行されるアプリケーション、およびデバイス450によるワイヤレス通信を提供することができる。
【0098】
プロセッサ452は、ディスプレイ454に結合された制御インターフェース458およびディスプレイインターフェース456を通じてユーザと通信することができる。ディスプレイ454は、たとえば、TFT LCDディスプレイまたはOLEDディスプレイ、あるいは他の適切なディスプレイ技術でよい。ディスプレイインターフェース456は、グラフィカルおよび他の情報をユーザに表示するためにディスプレイ454を駆動するための、適切な回路を備え得る。制御インターフェース458は、ユーザからコマンドを受信して、プロセッサ452に提出するためにそれらのコマンドを変換することができる。さらに、デバイス450と他のデバイスとの近距離通信を可能にするために、プロセッサ452と通信する外部インターフェース462が提供されてもよい。外部インターフェース462は、たとえば、ワイヤード通信を提供することもでき(たとえば、ドッキング手順を介して)、ワイヤレス通信を提供することもできる(たとえば、ブルートゥースまたは他のそのような技術を介して)。
【0099】
メモリ464が、コンピューティングデバイス450内に情報を格納する。一実装形態では、メモリ464はコンピュータ可読媒体である。一実装形態では、メモリ464は揮発性メモリユニットである。別の実装形態では、メモリ464は不揮発性メモリユニットである。拡張メモリ474が提供されて、たとえば加入者識別モジュール(SIM)カードインターフェースを含み得る拡張インターフェース472を通じてデバイス450に接続されてよい。そのような拡張メモリ474はデバイス450のための余分な記憶空間を提供することができ、また、デバイス450のためのアプリケーションまたは他の情報を格納することもできる。具体的には、拡張メモリ474は、上述の処理を実行または補完するための命令を含むことができ、また安全な情報も含むことができる。したがって、たとえば、拡張メモリ474はデバイス450のためのセキュリティモジュールとして提供されてよく、またデバイス450の安全な使用を可能にする命令でプログラムされてよい。さらに、さらなる情報とともに、非ハッキング方法でSIMカード上に識別情報を置くことなど、SIMカードを介して安全なアプリケーションが提供され得る。
【0100】
後述するように、メモリは、たとえばフラッシュメモリおよび/またはMRAMメモリを含み得る。一実装形態では、コンピュータプログラム製品は、情報担体において明確に具現化される。コンピュータプログラム製品は、実行されると、上述の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ464、拡張メモリ474、またはプロセッサ452上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0101】
デバイス450は、必要に応じてデジタル信号処理回路を含み得る通信インターフェース466を通じて、ワイヤレスに通信することができる。通信インターフェース466は、特にGSM(登録商標)ボイスコール、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどの通信を様々なモードまたはプロトコル下で提供することができる。そのような通信は、たとえば、無線周波数トランシーバ468を通じて発生し得る。さらに、短距離通信は、ブルートゥース、Wi-Fi、または他のそのようなトランシーバ(図示せず)などを使用して発生し得る。さらに、GPS受信機モジュール470は、デバイス450上で実行しているアプリケーションによって必要に応じて使用することができる、さらなるワイヤレスデータをデバイス450に提供することができる。
【0102】
また、デバイス450は、ユーザからの口頭の情報を受け取り、その情報を使用可能なデジタル情報に変換することができる音声コーデック460を使用して、聴覚的に通信することができる。音声コーデック460は、同様に、たとえばデバイス450のハンドセット内のスピーカなどを通じて、ユーザのための可聴音を生成することができる。そのような音声は、音声通話からの音声を含むことができ、録音された音声(たとえば、ボイスメッセージ、音楽ファイル等)を含むことができ、またデバイス450上で動作しているアプリケーションによって生成された音声を含むこともできる。
【0103】
図面に示されるように、コンピューティングデバイス450はいくつかの異なる形態で実装することができる。たとえば、コンピューティングデバイス450はセルラー電話480として実装され得る。また、コンピューティングデバイス450は、スマートフォン482、携帯情報端末、または他の同様のモバイルデバイスの一部として実装され得る。
【0104】
本明細書に記載のシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現することができる。これらの様々な実装形態は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するために結合された、およびそこにデータおよび命令を送信するために結合された、専用または汎用の少なくとも1つのプログラム可能プロセッサを含むプログラム可能なシステム上で実行可能な、および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含み得る。
【0105】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラム可能プロセッサのための機械命令を含み、ハイレベル手続き型言語および/またはオブジェクト指向プログラミング言語に、ならびに/あるいはアセンブリ言語/機械言語に実装され得る。本明細書で使用されるように、「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含むプログラム可能プロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラム可能プロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0106】
ユーザとの対話を提供するために、本明細書に記載のシステムおよび技法を、情報をユーザに表示するためのディスプレイデバイス(たとえば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ)、ならびにそれによりユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)を有するコンピュータに実装することができる。ユーザとの対話を提供するために、他の種類のデバイスを使用することもできる。たとえば、ユーザに提供されたフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)でよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信されてよい。
【0107】
本明細書に記載のシステムおよび技法は、バックエンドコンポーネントを含む(たとえば、データサーバとして)、またはミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を含む、あるいはフロントエンドコンポーネント(たとえば、ユーザが、本明細書に記載のシステムおよび技法の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)、あるいはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムに実装することができる。システムのコンポーネントは、任意の形式または媒体のデジタルデータ通信(たとえば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットがある。
【0108】
コンピューティングシステムはクライアントとサーバを含み得る。一般的に、クライアントとサーバは互いに離れており、一般的に通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行しており、相互にクライアントサーバ関係を有する、コンピュータプログラムの効能によって生じる。
【0109】
本明細書は多くの具体的な実装形態の詳細を含むが、これらは任意の発明の範囲または特許請求され得るものの範囲の限定として解釈されるべきではなく、むしろ特定の発明の特定の実装形態における固有の機能の説明と解釈されるべきである。また、本明細書において個別の実装形態の文脈で記載されている特定の特徴は、単一の実装形態と組み合わせて実装することができる。逆に、単一の実装形態の文脈で記載されている様々な特徴は、複数の実装形態に別個に実装されてもよく、任意の適切なサブコンビネーションで実装されてもよい。さらに、特徴は、上記で特定の組合せで働くものとして記載されており、最初はそのように特許請求されているが、場合によっては特許請求される組合せからの1つまたは複数の特徴を組合せから削除することができ、特許請求される組合せはサブコンビネーションまたはサブコンビネーションのバリエーションを対象とすることができる。
【0110】
同様に、操作は特定の順序で図面に示されているが、望ましい結果を達成するために、このような動作が図示された特定の順序または連続的順序で実行されること、または図示されたすべての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスキングおよび並列処理が有利な場合がある。さらに、上述の実装形態における様々なシステムコンポーネントの分離は、すべての実装形態においてそのような分離が必要であると理解されるべきではなく、記述されたプログラムコンポーネントおよびシステムは一般的に単一のソフトウェア製品に統合されてもよく、複数のソフトウェア製品にパッケージ化されてもよいことが理解されるべきである。
【0111】
これまで、本主題の特定の実装形態を説明してきた。他の実装形態は以下の特許請求の範囲内である。場合によっては、特許請求の範囲に記載されたアクションは異なる順序で実行されてよく、それでも所望の結果を達成することができる。さらに、添付の図面に示された処理は、望ましい結果を達成するために、図示された特定の順序または連続的順序を必ずしも必要としない。特定の実装形態では、マルチタスキングおよび並列処理が有利な場合がある。