(58)【調査した分野】(Int.Cl.,DB名)
前記マップスペースと共に表示するためのコンテンツアイテムを選択するステップが、前記第1ユーザデバイスで前記マップスペースに対するユーザ対話が行われる前に前記コンテンツアイテムを選択するステップを含むことを特徴とする請求項1に記載の方法。
前記マップスペースリクエストに応答して、要求された前記マップスペースを前記第1ユーザデバイスに提供するステップをさらに有することを特徴とする請求項2に記載の方法。
前記マップスペースと共に表示するためのコンテンツアイテムを選択する手順が、前記第1ユーザデバイスで前記マップスペースに対するユーザ対話が行われる前に前記コンテンツアイテムを選択する手順を含むことを特徴とする請求項8に記載のシステム。
前記1つ以上のコンピュータが、前記マップスペースリクエストに応答して、要求された前記マップスペースを前記第1ユーザデバイスに提供する手順を実行するようにさらに構成されることを特徴とする請求項9に記載のシステム。
前記マップスペースと共に表示するためのコンテンツアイテムを選択する手順が、前記第1ユーザデバイスで前記マップスペースに対するユーザ対話が行われる前に前記コンテンツアイテムを選択する手順を含むことを特徴とする請求項15に記載のコンピュータ読み取り可能な記録媒体。
前記命令群が、前記処理デバイスに、前記マップスペースリクエストに応答して、要求された前記マップスペースを前記第1ユーザデバイスに提供する手順をさらに実行させることを特徴とする請求項16に記載のコンピュータ読み取り可能な記録媒体。
【発明を実施するための形態】
【0011】
各図面において、同一の参照記号は同一の要素を示す。
【0012】
§1.0 概要
本明細書の主題は、表示環境における広告などのコンテンツアイテムの選択に関する。いくつかの実施形態では、例えば、特定のマップスペース(例えば、マップの一部)を要求するユーザの関心事にコンテンツアイテムが関係する確率に基づいてコンテンツアイテムを選択できる。マップスペースを要求しているユーザの関心事にコンテンツアイテムが関係する確率は、例えば、マップスペースの前回の提示に応答してユーザデバイスから受信した入力データに基づいて割り出すことができる。入力データは、ユーザ動作を表すデータでありうる。ユーザ動作は、例えば、ユーザによるマップ特徴(map feature)(例えば、表示オプション)の選択や、マップスペースが表示されている間の検索照会(クエリ)の提出であってよい。
【0013】
入力データを使用して、入力データに対応するトピックデータなどのコンテンツターゲティングデータ、およびトピックが入力データに関連する対応確率を生成できる。コンテンツターゲティングデータをコンテンツセレクタ(例えば、広告サーバ)に提供することができ、コンテンツセレクタは、トピックおよび対応確率に基づきマップスペースと共に提示するコンテンツアイテムを特定できる。選択されたコンテンツアイテムをコンテンツアイテムセレクタから受信して、要求されたマップスペースと共に提示することができる。いくつかの実施形態では、提示されるマップスペースにコンテンツアイテムを提示できる。別の実施形態では、表示環境においてマップスペースの隣にコンテンツアイテムを提示できる。
【0014】
ある実施例では、ユーザはナパ渓谷などのワイナリーが多数存在する町のマップスペースを要求することがある。そのため、マップスペースが提示されている間に以前のユーザが入力した「ワイナリー」の検索照会を通じて入力データを受信している可能性がある。いくつかの実施形態では、こうした「ワイナリー」の照会を使用して関連トピックを特定できる。例えば、意味的ルールを使用して、複数のトピック「ワイン」、「ワイナリーツアー」、「ピノノワール」が「ワイナリー」に関連することを判断することができる。また、各トピックが照会「ワイナリー」に対応する確率を割り出すことができる。例えば、「ワイン」、「ワイナリーツアー」、「ピノノワール」は、照会「ワイナリー」に関連する確率が、それぞれ0.3、0.2、0.1でありうる。
【0015】
これらの確率を調整して、マップスペースを要求する任意のユーザに各トピックが関係する確率を表すことができる。一実施例では、ユーザから受信した全入力データに対する、ユーザから受信したコンテンツターゲティングデータに関連する入力データの数の割合を割り出すことができる。次いで、マップスペースを要求する任意のユーザに各トピックが関係する確率を、例えば、上記割合と各確率とを掛け合わせることによって割り出すことができる。上記の実施例で言えば、ユーザから受信した入力データの30%がトピック「ワイン」に関連する場合、トピック「ワイン」に基づき提示されるコンテンツアイテムがマップスペースを要求する任意のユーザに関係する確率は9%(例えば、0.3×0.3)でありうる。
【0016】
コンテンツターゲティングデータをコンテンツアイテムセレクタに提供できる。そして、コンテンツアイテムセレクタは、コンテンツターゲティングデータに基づき提示すべきコンテンツアイテムを特定することができる。例えば、「ワイン」に関連するコンテンツを有するコンテンツアイテムを、マップスペースと共に提示するため特定できる。そして、コンテンツアイテムをマップスペース内またはマップスペースの隣に提示できる。
【0017】
§1.1 マップ広告
図1は、例示的なオンラインマップ環境100を示すブロック図である。マップ環境100は、マップと共に表示するコンテンツアイテムの提供を容易にすることができる。本明細書では、例示的なコンテンツアイテムとして広告を使用し、例示的なコンテンツサーバとして広告サーバを使用するが、ビデオクリップへのアイコンリンク、情報リンクまたは情報のスニペット、ピクチャのリンクなどのように、他のサーバからさまざまなコンテンツアイテムを提供および提示することもできる。
【0018】
いくつかの実施形態では、広告主102は、広告サーバ104に接続して、広告103のアップロード、広告統計の追跡、および広告スペースの入札を行うことができ、または他の方法で広告サーバ104と対話することができる。広告主102は、ネットワーク105を介して広告サーバ104と接続することができる。ネットワーク105は、広域ネットワーク、ローカルエリアネットワーク、インターネット、またはその他のパブリックネットワークもしくはプライベートネットワークもしくは両者の組み合わせであってよい。
【0019】
広告103は、グラフィック広告、文字のみの広告、画像広告、音声による広告、映像広告、こうした要素の1つまたは複数を組み合わせた広告などの形態であってよい。広告103は、リンク、メタ情報、および/または機械実行可能な命令などの埋め込み情報を含むこともできる。広告103をマップ109での提示用にフォーマットできる。広告サーバ104に接続された広告記憶装置106に広告103を保存することができる。
【0020】
広告103は、ユーザデバイス110の表示環境に提示されるマップ109と共に表示できる。ユーザデバイス110がマップサーバ112に接続し、マップ記憶装置114に保存されたマップデータから生成されたマップを要求した場合に、ユーザデバイス110のユーザインタフェースにマップを提供するマップサーバ112にマップが直接要求されることがある。
【0021】
あるいは、ユーザデバイス110がパブリッシャ108にコンテンツを要求したのに応答して、パブリッシャ108にマップ109が要求されることがある。例示的なパブリッシャ108は、ウェブサイトを提供するネットワークコンテンツプロバイダでありうる。パブリッシャ108はユーザデバイス110からコンテンツに対する要求を受け取り、当該要求に応答してコンテンツを提示する。要求に応答して、パブリッシャ108は、コンテンツと共にマップ109を含めることができ、それによりユーザデバイス110は、パブリッシャのウェブサイトを介してマップ109にアクセスすることができる。
【0022】
例えば、パブリッシャ108が企業体であり、パブリッシャ108のホームページに自社の位置を示すマップを提供することがある。パブリッシャ108によるマップ要求に応答して、マップサーバ112は、提示用に、要求されたマップのデータをマップ記憶装置114から選択し、選択されたデータをパブリッシャ108または要求しているユーザデバイス110に提供する。
【0023】
ユーザデバイス110は、コンピュータネットワーク環境での通信および取り出された情報の表示が可能なデバイスを利用して、ネットワーク105を介してパブリッシャのウェブサイトまたはマップサーバ112に接続することができる。例示的なユーザデバイス110は、ウェブ接続可能なハンドヘルドデバイス、携帯電話、セットトップボックス、ゲームコンソール、携帯情報端末(PDA)、ナビゲーション装置、またはコンピュータを含む。
【0024】
マップ109に対する要求はまた、広告103に対する要求を包含または生成することができる。マップサーバ112は、広告サーバ104に広告103を要求することができる。いくつかの実施形態では、マップサーバ112への提供のため選択される広告103は、マップサーバ112によって選択されたマップ109との関連性またはその他の広告選択基準、例えば、マップスペースを閲覧しているユーザによって提出された検索照会などに基づき選択できる。例えば、選択されたマップ109の領域内に広告主102が小売拠点を有する場合、広告103はマップ109に関連しうる。同様に、ユーザがマップを閲覧しているときにユーザが検索照会を提出したことに応答して、広告103を表示できる。
【0025】
広告103は、マップ109上の広告主102に関連する位置を表す位置に(例えば、広告主の小売拠点のマップの近くに重ねる形で)または表示環境の指定部分(例えば、マップのサイドバー)に掲載することができる。
【0026】
しかしながら、ユーザがマップ閲覧している間にユーザ動作に基づき広告を選択するには、ユーザは検索照会を提出するか、マップ特徴を選択する必要がある。同様に、ユーザデバイスに表示されるマップスペースにおける1つの位置に対応する会社所在地に基づき広告を選択すると、ユーザにとって興味のない広告が提示される可能性がある。例えば、ユーザは休暇を過ごす場所のマップ位置を閲覧しているが、休暇場所近くに位置する配管業者のコンテンツアイテムが提示されることがある。
【0027】
そのため、いくつかの実施形態では、マップスペースを要求しているユーザに広告が関係する可能性に基づいて、マップスペースと共に提示する広告103を選択できる。こうした関係の可能性は、後述するように、マップスペースに対して以前のユーザが行った対話に基づいて判断できる。したがって、マップ109のマップスペース内でユーザがアクションを起こす前に、マップスペースを要求したユーザの関心事に関係がありそうな広告103を提供できる。
【0028】
§2.0 コンテンツアイテムの選択
図2Aおよび
図2Bは、ズームレベルが互いに異なっている、提示する広告を選択可能なマップ200の実施例である。具体的には、
図2Aは、ウェブブラウザウィンドウなどの表示領域204の第1ズームレベルのマップ200を示しており、
図2Bは、表示領域204の第2ズームレベルのマップ200を示している。
図2Aおよび
図2Bの各マップは、マップ200が表示領域204に最初に表示されたときに、さらなるユーザ対話を伴わずに広告を提示することができる。これらの広告は、マップスペース202に関連するコンテンツターゲティングデータから選択される。コンテンツターゲティングデータは、マップスペースを直ちに要求する前に他のユーザにマップスペースを提示したことに応答して表示領域204で表示インタフェースから受信した検索照会や特徴選択などの入力データに基づく。
【0029】
第1ズームレベルのマップ200は、マップスペース202に対する要求に応答してユーザデバイスに表示できる、マップサーバによって選択されたマップ200の一部であるマップスペース202が示されている。いくつかの実施形態では、マップスペース202は、表示領域204およびズームレベルによって定められる。ズームレベルは、表示領域204内のマップスペース202の倍率を表しており、表示領域204のズームコントロール222のズームバー220の位置によって視覚的に示されている。
【0030】
ユーザデバイスに提示されるマップスペース202は、マップ上の特徴を識別するテキストアイテム203aおよび/またはマップ特徴を視覚的に示すグラフィックアイテム203b(例えば、公園のアイコンやモニュメントのアイコン)などのマップ特徴アイテム203を含むことができる。マップ特徴アイテム203は、さらに、名所旧跡や他の興味深い場所の写真、およびマップスペース202の特徴のカテゴリ(例えば、レストラン、コーヒーショップ、ナイトクラブ、または教会など)の位置を表すアイコンを含むことができる。特徴アイテム203は、マップスペース202の一部として提供されうる。
【0031】
いくつかの特徴アイテム203は、表示領域204の特徴メニュー205などの第1表示インタフェースを介してユーザによって選択的に有効、無効にすることができる。例えば、マップスペース202でレストランの所在地を閲覧することに関心があるユーザは、レストランの位置を特定するマップスペース202上にアイコンを置くマップ特徴を有効にすることができる。特徴アイテム203は、特徴メニュー205の特徴アイテム203に対応する特徴ラベル207を選択することによって選択的に有効または無効にすることができる。特徴メニュー205は、ユーザが所定の選択肢をクリック可能な表示インタフェース205に含まれうる。例えば、ユーザは、有効または無効にしたいと考える特徴アイテム203に対応する特徴ラベル207をクリックすることができる。いくつかの実施形態では、データをマップサーバに提出することで、特徴ラベル207の選択を報告することができる。マップサーバは、データの受信に応答して、マップスペース202で特徴アイテム203の表示を容易にするために使用できる追加のマップデータを提供できる。
【0032】
いくつかの実施形態では、ユーザは、表示領域204に提供されるテキストボックス209bを備える検索インタフェース209aなどの第2表示インタフェース209aを介して照会を提出することができる。検索インタフェース209aにより、例えば、ユーザはテキストボックス209bに照会内容を入力して照会をマップサーバ112に提出できる。
【0033】
表示領域204では別の表示インタフェースを使用することもできる。例えば、スペース202上に表示される選択可能なマップウィジェットがある。いくつか例を挙げると、建物や企業のアイコン、ユーザが距離を測ったり経路を描いたりするのに使用できるルーラや経路追跡ツールなどがある。
【0034】
マップスペース202にはマップ位置210も描かれており、点で示されている。
図2Aおよび
図2Bの実施例では、マップ位置210は、表示領域204に提示されている2つのマップスペース202,230のほぼ中央に位置する。マップ位置210は、マップスペース202に表示されていないこともあり、そのため概念上のものでありうる。別の実施形態では、点、地理座標、または他の表示をマップスペース202に表示することでマップ位置210を表すこともある。マップ位置210は、会社所在地、例えば「123 Third Avenue」であってよく、または緯度経度座標、もしくはマップ200のマップスペース202の位置を表すその他の識別子であってもよい。
【0035】
マップ位置210が単一の参照ポイントである場合、類似のマップスペースが、マップの共通部分内に位置するマップ位置を有することがある。いくつかの実施形態では、参照マップ位置の指定範囲内にあるすべてのマップ位置が参照マップポイントと関連することがある。例えば、
図2Aのマップスペース202が任意の方向に若干移動した場合、新たなマップ位置が同様に若干調整される。しかしながら、移動したマップスペースに関連するデータは、当初提示されていたマップスペース202とほぼ同じであってよい。よって、新たなマップ位置に関連する別個のデータとして新たなマップスペースに関連するデータをすべて保存するのではなく、移動したマップスペースはマップ位置210と関連づけることができる。例えば、マップタイル、緯度/経度の範囲、またはマップのその他の共通領域にあるマップ位置は、単一のマップ位置と関連づけることができる。
【0036】
図2Aに示されているように、他の通常のマップ記号、例えば通りや街区が通常のブロックおよび通りの記号によって示されている。これらの要素の一部は、図面が過密にならないよう省略されている。
【0037】
表示インタフェース205もしくは表示インタフェース209またはその他の表示インタフェースの使用によって受信した入力データを使用して、マップスペース202に関連するコンテンツターゲティングデータを特定することができる。次いで、このコンテンツターゲティングデータを使用して、マップスペースが要求されるたびにマップスペース202または表示領域の他の部分に表示する広告を選択することができる。例えば、マップスペース202に広告を提示するために複数の掲載位置206a,206bを割り当てることができ、マップスペース202が表示領域204に最初に表示されたときにコンテンツターゲティングに基づく広告を選択し表示することができる。こうした広告は、マップ特徴、例えば特徴203、建物の抽象的表示211、またはその他の特徴、例えば公園もしくはモニュメントの記号を排除しないように表示されるのが望ましい。同様に、
図2Bのマップスペース230に示されているマップサイドバー213に広告を提示できる。
【0038】
広告選択は、特定のマップスペースに対する要求に基づく最初の広告ターゲティングを改善する。背景には、マップスペース202に関連するユーザの関心事の示すもの全体に部分的に基づいて広告が選択されることがある。例えば、以前のユーザによる特徴アイテム203の選択または検索照会の提出に応答して以前のユーザから受信した入力データを使用して、コンテンツターゲティングデータを生成することができる。そして、入力データを受信したときに提示されたマップスペース202のマップ位置210とコンテンツターゲティングデータを関連づけることができる。コンテンツターゲティングデータを使用して、マップスペースを要求しているユーザに関係する確率が割り出された広告を特定することができる。
【0039】
コンテンツターゲティングデータおよび関連するマップ位置を保存し、時間の経過に伴い更新することで、マップスペースの提示に応答して同一または類似のコンテンツターゲティングデータを受信する頻度を特定することができる。例えば、マップスペース202に描かれている公園で年1回のコーヒーフェスティバルが開かれるとする。公園はその他の時点ではトピック「コーヒー」と関係がないかもしれないが、時間の経過に伴い、ユーザが
図2Aのマップスペース202を閲覧しているときにコーヒーに関連する統計的に有意な数の照会を検索インタフェース209に入力することがある。次いで、こうした照会を考慮するためコンテンツターゲティングデータを更新する(例えば、照会カウントを増やす)ことができ、それによりトピック「コーヒー」に関連するコンテンツターゲティングデータはマップ位置210に関連する。その後、ユーザがマップスペース202を要求したとき、トピック「コーヒー」に関連する広告をマップスペース202と共に最初に表示できる。
【0040】
いくつかの実施形態では、コンテンツターゲティングデータは、最も高い頻度で使用される入力データによって決定される。例えば、マップスペースに関連する照会を入力頻度に従ってランクづけすることができ、上位N個の照会、例えば上位3つの照会を使用してマップスペース202の広告を選択することができる。
【0041】
別の実施形態では、コンテンツターゲティングデータは、入力データに関連するトピックを含むこともできる。例えば、入力データに基づいてトピックデータの集合を生成することができる。こうしたトピックデータの集合は、入力データに関連すると判断する意味的ルールに基づいて生成されるトピックを含むことができる。例えば、照会「コーヒー」を受信した場合、トピック「ラテ」、「カプチーノ」、および「コーヒーショップ」を生成することができる。これらのトピックをマップ位置と関連づけ、保存して広告選択を容易にすることもできる。
【0042】
多くの既知のデータ分類手法を使用して、トピックデータの集合を作成することができる。例示的なデータ分類手法として、凝縮型階層的クラスタリング、分割型クラスタリング、スペクトラルクラスタリングなどを挙げることができる。
【0043】
いくつかの実施形態では、クラスタリングデータの生成済みトピックが入力データに関連する確率を、コンテンツターゲティングデータに含めることができる。この確率は、トピックを生成するために使用される意味的ルールに基づいて割り出すことができ、入力データとトピックとの相関の測度になりうる。例えば、トピック「ラテ」、「カプチーノ」、「コーヒーショップ」は、トピックを生成するために使用されるルールに基づき、照会「コーヒー」に関連する確率がそれぞれ0.1、0.15、0.2でありうる。これらの確率をトピックに関連づけ、追加のコンテンツターゲティングデータとして保存してコンテンツアイテムの選択を容易にすることができる。
【0044】
いくつかの実施形態では、入力データが任意のユーザに関係する確率を、例えばすべての照会に対して入力データを受信する頻度に基づいて割り出すことができる。例えば、照会「コーヒー」は、1,000回の照会につき1回受信されるとする。そのため、入力データ「コーヒー」に基づき選択された広告が、その後にマップスペース202を要求するユーザの関心事に関係する確率は0.001となる。なぜなら、1,000人のユーザのうち1人が、マップスペース202の提示に応答して「コーヒー」への照会を提出しているからである。
【0045】
同様に、コンテンツターゲティングデータに含まれるトピックがマップスペース202を要求している任意のユーザに関係する確率を、入力データとトピックとの関連性の測度に基づいて割り出すことができる。例えば、トピック「コーヒーショップ」は、マップスペース202を要求する任意のユーザに関係する確率が0.0002(例えば、0.2×0.001)となりうる。同様に、トピック「ラテ」および「カプチーノ」は、マップスペース202を要求する任意のユーザに関係する確率がそれぞれ0.0001、0.00015となりうる。いくつかの実施形態では、トピックが関係する確率は、入力データとして受信されるときトピックが関係する確率と、別の入力データに基づき生成されるときトピックが関係する確率の合計でありうる。例えば、入力データとして受信したトピックが、任意のユーザに関係する確率0.1、他の入力データに基づきトピックとして生成されたとき関係する確率0.001を有する場合、トピックが関係する全体の確率は0.101になりうる。
【0046】
マップ位置210のコンテンツターゲティングデータとして含まれる入力データおよびトピックは、確率に基づきランクづけできる。上記の実施例に基づき、トピック「コーヒー」、「ラテ」、「カプチーノ」、および「コーヒーショップ」の考えうるランクづけを表1に示す。
【0048】
トピックのランクづけを使用して、広告選択に使用するコンテンツターゲティングデータのサブセットを特定することができる。いくつかの実施形態では、しきい値確率を使用してコンテンツターゲティングデータのサブセットを特定することができる。例えば、0.00018より高い確率を有するトピックを使用してマップスペース202と共に提示する広告を特定することができる。例えば、トピック「コーヒー」、「コーヒーショップ」を使用して広告を特定する。同様に、トピックのしきい値数を使用して、マップスペース202と共に提示する広告を特定することができる。トピックのしきい値数は、独立して、またはしきい値確率と共に使用できる。例えば、最大3つのトピックを使用して広告を特定することができる。トピックのしきい値数が独立して使用される場合、トピック「コーヒー」、「コーヒーショップ」、「カプチーノ」を使用して広告を特定することができる。一方、トピックのしきい値数がしきい値確率と共に使用される場合、広告を特定するために使用されるトピックは、しきい値確率の要件により「コーヒー」、「コーヒーショップ」に限定されうる。
【0049】
マップスペース202に対する要求に応答して、例えば、広告に関連する広告データとコンテンツターゲティングデータを比較することにより広告を選択することができる。広告は、例えば、広告を対象とするために使用できる広告データとしてキーワードを含むことができる。そのため、広告に関連するキーワードとコンテンツターゲティングデータを比較して、広告を提示できるか判断することができる。広告に関連するキーワードにコンテンツターゲティングデータが対応する場合、広告を提示用に選択できる。例えば、コンテンツターゲティングデータがトピック「コーヒー」を含むとき、キーワード「コーヒー」を含むコーヒーショップの広告を提示用に選択できる。
【0050】
いくつかの実施形態では、選択される広告は、マップを要求したユーザの関心事に関係する確率が最も高いコンテンツターゲティングデータのトピックに対応するキーワードを有する広告であってよい。例えば、上記の実施例で言えば、トピック「コーヒー」、「コーヒーショップ」を使用して広告を選択する場合、キーワード「コーヒー」を有する広告をマップスペース202で提示するため選択できる。なぜなら、トピック「コーヒー」の方が、マップスペース202を要求するユーザの関心事に関係する確率が高いからである。
【0051】
いくつかの実施形態では、コンテンツターゲティングデータに文脈データを含めることができる。マップスペースの隣に提示されるコンテンツ(例えば、テキスト)から文脈データを導出できる。例えば、車に関連するテキストコンテンツに隣接したウェブページ、例えば自動車のトピックに関連するウェブページにマップスペースを提示することができる。状況によっては、用語「車」のみでは、どんな車関連広告(例えば、車修理店、カーディーラー、レンタカー業など)が、ウェブページを要求するユーザに関係するかを判断するのに十分な情報が得られないことがある。同様に、照会「修理店」は、マップスペースが提示されているときに最も多く受信される照会でありうる。状況によっては、照会「修理店」のみでは、どんな修理店関連広告(例えば、車、腕時計、電気掃除機など)が、ウェブページを要求するユーザに関係するかを判断するのに十分な情報が得られないことがある。
【0052】
しかしながら、コンテンツターゲティングデータが「車」および「修理店」を含むよう、照会「修理店」を文脈データ「車」と組み合わせることができる。そして、「車」および「修理店」を含むコンテンツターゲティングデータは、車修理センターの広告と対応する可能性の方が、他の修理センターの広告(例えば、腕時計または電気掃除機)または他の車の広告(例えば、カーディーラー、レンタカー業)と対応する可能性よりも高い。そのため、マップスペースに隣接して提示された文脈データの組み合わせをコンテンツターゲティングデータに含めて、マップスペースに対する要求に応答するコンテンツアイテムの選択を容易にすることができる。
【0053】
いくつかの実施形態では、マップ位置210に関連するコンテンツターゲティングデータは、マップスペース202のズームレベルに依拠しうる。
図2Bは、ズームコントロール222のズームバー220の調整された位置が示すように、
図2Aの視界に比べて低いズームレベル、例えば「縮小された(zoomed out)」視界でのマップ200を示している。
【0054】
図2Bの相対的に低いズームレベルで、マップスペース230が表示領域204に表示されている。マップスペース230は、マップ200の相対的に大きな部分を含み、
図2Aで提示されたマップスペース202を含む。マップスペース230を要求するユーザは、マップスペース202を要求したユーザとは異なる関心を持っていることがある。その結果、ユーザは特徴アイテム203を選択して、マップスペース202が提示されていた間に提出された照会とは異なる照会を提出することもある。したがって、コンテンツターゲティングデータは、マップスペース202と関連したコンテンツターゲティングデータとは異なるマップスペース230と関連しうる。
【0055】
いくつかの実施形態では、個別のコンテンツターゲティングデータを、特定のマップ位置210に対して各ズームレベルで維持することができる。例えば、第1コンテンツターゲティングデータを、マップスペース202を提示することになるズームレベルでマップ位置210において維持できる。同様に、第2コンテンツターゲティングデータを、マップスペース230を提示することになるズームレベルでマップ位置210において維持できる。したがって、各マップスペース202,230において、各ユーザの関心事に関係しそうな広告を独立して選択できる。
【0056】
いくつかの実施形態では、選択される広告の数は、マップスペースのズームレベルに部分的に基づきうる。例えば、提示する広告が一切選択されないレベルに満たないしきい値ズームレベルを特定することができる。同様に、各マップ位置210の各ズームレベルにおいて提示する広告のしきい値数を特定することができる。いくつかの実施形態では、選択される広告の数はマップスペースの特徴の密度に左右されうる。例えば、マップスペース上の特徴アイテム203の密度が高い場合、掲載できる場所はほとんど残らないことがある。そのため、マップスペースに広告を掲載することにより、マップスペースが過密になることもある。その結果、過密化したマップスペースに広告を追加することにより、マップ200は使用困難になることがあるため、マップ200の効用は低下する可能性がある。例えば、広告が特徴アイテム203に被さっている場合、ユーザは目的の場所を特定できないことがある。
【0057】
§3.0 例示的なコンテンツアイテム選択システム
図3は例示的なコンテンツアイテム選択システム300のブロック図である。システム300を使用して、上述の特徴、例えば、マップスペースを要求したユーザの関心事にコンテンツアイテムが関係する確率を含みうるコンテンツターゲティングデータに基づいて要求されたマップスペースに掲載するコンテンツアイテムの選択を実現できる。
【0058】
システム300は、コンテンツアイテム選択モジュール302を含むことができる。コンテンツアイテム選択モジュール302は、例えば、
図1に示すマップサーバ112に実装できる。コンテンツアイテム選択モジュール302は、コンテンツターゲティングデータ記憶装置304および掲載位置データ記憶装置306とデータ通信を行うことができる。コンテンツターゲティングデータ記憶装置304および掲載位置データ記憶装置306はそれぞれ、例えばマップ記憶装置114またはその他の記憶媒体に実装できる。
【0059】
いくつかの実施形態では、コンテンツアイテム選択モジュール302は、コンテンツターゲティングデータ記憶装置304に保存されたコンテンツターゲティングデータに基づいて掲載する広告を特定することができる。そして、コンテンツアイテム選択モジュール302は、掲載位置データ記憶装置306に記憶されている掲載位置によって定められた掲載場所に提示する選択済み広告を提供することができる。あるいは、コンテンツアイテム選択モジュール302は、
図2Bのマップサイドバー213など、マップスペースの隣に表示する広告を提供することができる。
【0060】
§3.1 コンテンツターゲティングデータ記憶装置
コンテンツターゲティングデータ記憶装置304は、マップスペース、例えばマップスペース202またはマップスペース230に提示する広告を特定するために使用できるコンテンツターゲティングデータを保存することができる。例えば、コンテンツターゲティングデータは、マップスペースが提示されている間にユーザデバイスから受信した入力データを含むことができる。いくつかの実施形態では、コンテンツターゲティングデータはさらに、入力データおよび意味的ルールに基づき生成されたトピックを含むことができる。コンテンツターゲティングデータは、さらに、マップスペースを要求したユーザの関心事に各トピックが関係する確率を含むことができる。コンテンツターゲティングデータはマップ位置、例えばマップ位置に対応する座標に関連する。
【0061】
上述のとおり、特定のマップ位置のコンテンツターゲティングデータは、各ズームレベルで異なりうる。そのため、マップ位置の各ズームレベルは、個別のコンテンツターゲティングデータ記録を持ちうる。その結果、マップ位置を対象として異なるズームレベルにおいて異なる広告を選択できる。いくつかの実施形態では、広告の数も同様にズームレベルに依拠することができる。しきい値ズームレベルを超えると、マップスペースから広告を省くことができる。同様に、選択された特徴アイテムの高密化が認識された場合、マップスペースが乱雑にならないようマップスペースから広告を省くことができる。そのため、いくつかの実施形態では、コンテンツターゲティングデータ記憶装置304は、ズームレベルおよびコンテンツターゲティングデータが関連するマップ位置に従ってコンテンツターゲティングデータ記録を索引づけできる。
【0062】
マップ位置はマップ上の所定の場所(例えば座標位置)であってよい。いくつかの実施形態では、複数のマップ位置のコンテンツターゲティングデータを1つのコンテンツターゲティングデータ記録に統合できる。例えば、マップを格子に分けることができ、格子の各部分をマップの特定の部分(例えば、地理的領域)に対応させることができる。その結果、マップの特定部分の中にあるマップ位置に関連するコンテンツターゲティング記録を、1つのコンテンツターゲティングデータ記録に統合できる。コンテンツターゲティングデータを当該データが関連するマップ位置に従って保存して、マップスペース要求に応答してコンテンツターゲティングデータを取り出すのを容易にすることができる。例えば、マップスペース要求に対応するマップ位置を踏まえ、同じ格子領域にあるマップ位置に関連するコンテンツターゲティングデータを抽出用に特定できる一方、格子領域外のコンテンツターゲティングデータを無視することができる。
【0063】
例示的なコンテンツターゲティングデータ構造305が
図3に示されている。2つのズームレベルZ1,Z2のコンテンツターゲティングデータ記録が示されている。第1ズームレベルZ1の各コンテンツターゲティングデータ記録は、マップ位置(例えば、位置11、12、1m)およびズームレベル(例えば、ズームZ1)によって索引づけされている。各コンテンツターゲティングデータ記録はまた、対応するマップスペースとの以前のユーザ対話に応答して生成されたトピックデータを含むコンテンツターゲティングデータ(例えば、T1,T2,…,Tm)を含む。例えば、コンテンツターゲティング記録11が
図2Aのマップスペース202のコンテンツターゲティングデータを含む場合、マップ位置11はマップ位置210と対応することができ、ズームレベルZ1はマップスペース202のズームレベルに対応することができる。したがって、マップ位置210に対応するマップスペースがズームレベルZ1で要求される場合、コンテンツターゲティングデータ記録11を取り出して、マップスペースと共に提示する広告の特定を容易にすることができる。
【0064】
同様に、
図2Bのズームレベルに対応する第2ズームレベルZ2での各コンテンツターゲティングデータ記録が特定され、マップ位置(例えば、位置L21,L22,…,L2n)およびズームレベル(例えば、ズームZ2)によって索引づけされている。こうしたコンテンツターゲティング記録の各々はまた、対応するマップスペースとの以前のユーザ対話に応答して生成されたトピックデータを含むコンテンツターゲティングデータ(例えば、T1,T2,…,Tn)を含む。そのため、マップ位置210に対応するマップスペースがズームレベルZ2で要求された場合、コンテンツターゲティングデータ記録21が取り出されて、マップスペースと共に提示する広告の特定を容易にすることができる。同様に、残りのコンテンツターゲティングデータ記録2,…,nは、追加のマップ位置に関連するマップスペースに対応することができる。
【0065】
§3.2 掲載位置データ記憶装置
コンテンツデータに応じて選択される広告を、マップサイドバー213、またはマップスペース、例えばマップスペース230に表示できる。広告がマップスペースに提供される場合、オプションの掲載位置データ記憶装置306は、様々なズームレベルで広告の掲載位置を記憶することができる。いくつかの実施形態では、広告の掲載位置をコンテンツ掲載データ構造307に記憶することができる。各広告は、関連マップ位置ML、および掲載記録に保存された複数の掲載位置データを持つことができる。掲載位置データはマップ位置MLおよびズームレベルZ1,…,Zqに基づき、マップ位置MLに基づき広告の掲載位置を定めることができ、それにより、マップスペースが広告と共に当該ズームレベルで提示されるとき、広告は当該ズームレベルでマップスペースに提示されているマップ特徴アイテムを妨害することも、マップスペースを乱雑にすることもない。
【0066】
例えば、位置MLは
図2Aおよび
図2Bの2つのマップスペース202,230に示されているマップ位置210に対応することができる。ズームZ1ならびに対応する2つの掲載位置L11,L12によって索引づけされた記録は、
図2Aのマップスペース202に図示された2つの位置206a,206bに対応することができる。同様に、ズームレベルZ2および対応する位置L21によって索引づけされた記録は、
図2Bのマップスペース230に図示された位置206cに対応することができる。
【0067】
§3.3 コンテンツアイテム選択モジュール
コンテンツアイテム選択モジュール302はマップスペースと共に提示する広告を選択する役割を担う。コンテンツアイテム選択モジュール302は、例えばマップサーバ112に実装できる。
【0068】
§3.3.1 コンテンツアイテム選択
コンテンツアイテム選択モジュール302は、マップスペースが要求されたという通知を受信することができ、マップスペースに関連するマップ位置およびズームレベルを特定することができる。マップ位置をマップスペースに事前に関連づけることができ(例えば、マップスペースの中央の位置)、または例えば、事前に割り当てられたマップスペースが、既存のコンテンツターゲティングデータ記録に関連するマップ位置の所定の近距離内にあるマップ位置を有する結果、マップスペースにマップ位置を割り当てることができる。いずれの場合も、コンテンツアイテム選択モジュール302は、対応するコンテンツターゲティングデータ記録について、コンテンツターゲティングデータ記憶装置304に照会を行う。
【0069】
例えば、マップスペースが
図1のマップサーバ112に要求された場合、マップサーバ112は、マップスペースのマップ位置210を識別する情報をコンテンツアイテム選択モジュール302に提供することができる。コンテンツアイテム選択モジュール302は、マップ位置210およびズームレベルを使用して、要求されたコンテンツターゲティングデータを特定することができる。そして、コンテンツアイテム選択モジュール302は、マップ位置に対応するマップスペースが表示されるズームレベルによって索引づけされたコンテンツターゲティングデータ記憶装置304から、地理的領域の適切なコンテンツターゲティングデータ記録を取り出すことができる。したがって、ズームレベルZ1におけるマップ位置210のために、コンテンツターゲティングデータ記録L11を取り出すことができる。次いで、コンテンツターゲティングデータ記録L11に含まれるコンテンツターゲティングデータに基づき広告を選択できる。同様に、ズームレベルZ2におけるマップ位置210のために、コンテンツターゲティングデータ記録L21を取り出すことができ、次いで、コンテンツターゲティングデータ記録L21に含まれるコンテンツターゲティングデータに基づき広告を選択できる。
【0070】
いくつかの実施形態では、コンテンツアイテム選択モジュール302は、コンテンツターゲティングデータ記録からの情報を
図1の広告サーバ104に提供して、記録内のコンテンツターゲティングデータに対応する広告を受け取ることができる。広告サーバ104は、例えば、キーワードなどのコンテンツターゲティングデータに関連するキーワードに基づいて、マップ環境と共に提示する広告を特定することができる。
【0071】
別の実施形態では、コンテンツアイテム選択モジュール302は、マップスペースの対応するコンテンツターゲティングデータに基づき仮想ウェブページを生成することができる。例えば、広告サーバ104がウェブページのコンテンツに基づきコンテンツアイテム、例えば広告を提供するように構成されている場合、仮想ウェブページを作成できる。例えば、ユーザが
図2Aのマップスペース202を要求したのに応答して、広告サーバ104は、ページタイトル「コーヒー」を含み、見出し「コーヒーショップ」、記事として文言「カプチーノ」を含む仮想ウェブページから広告に対する要求を受信できる。そして、広告サーバ104は、キーワードおよびウェブページでのキーワードの掲載を考慮した、広告の関係性を判断するアルゴリズムに基づき、仮想ウェブページの適切なコンテンツを特定することができる。例えば、広告サーバ104は、特定されたトピックを使用して、キーワード「コーヒー」、「コーヒーショップ」、および「カプチーノ」に関連する広告を選択することができる。
【0072】
また、広告サーバ104は、提示用に選択すべき順番で広告をランクづけすることができる。このランクづけは、例えば、広告の選択につながったコンテンツの種類に基づき行うことができる。いくつかの実施形態では、タイトルに基づき選択された広告に最高ランクを付けることができ、ヘッダーに基づき選択された広告には、タイトル内容に基づき選択された広告に次ぐランクを付けることができ、記事内容に基づき選択された広告には、ヘッダー内容に基づき選択された広告に次ぐランクを付けることができる。したがって、上記の例では、表2に示すとおり、選択および/または表示のため広告をランクづけすることができる。
【0074】
コンテンツターゲティングデータの各トピックの仮想ページ位置を、トピックに関連する関係性の確率に基づいて割り出すことができる。しきい値確率は、コンテンツターゲティングデータのタイトル、ヘッダーまたは記事内容のカテゴリを定めることができる。例えば、コンテンツターゲティングデータのトピックに関連する0.001以上の確率がタイトルのトピックを定めることができ、0.005以上の確率がヘッダーのトピックを定めることができ、その他すべての確率に関連するトピックが記事内容であると考えることができる。そのため、広告サーバ104は、マップ環境と共に含まれるテキスト内容にかかわらず、広告を要求する他のウェブページと同様の方法で、マップ環境と共に提示される広告を特定することができる。
【0075】
§3.3.2 コンテンツターゲティングデータの生成
いくつかの実施形態では、コンテンツアイテム選択モジュール302は、マップスペースが提示されている間に受信する最初の入力データに基づきコンテンツターゲティングデータ記録を生成することができる。コンテンツアイテム選択モジュール302は、マップスペースが提示されている間に受信する後続の入力データに基づきコンテンツターゲティングデータ記録を更新することができる。コンテンツターゲティングデータが生成された後、マップ位置に関連するコンテンツターゲティングデータ記録としてコンテンツターゲティングデータ記録装置304にコンテンツターゲティングデータを保存できる。
【0076】
いくつかの実施形態では、コンテンツアイテム選択モジュール302は、マップスペースが提示されている間にユーザデバイスから受信した照会に基づきマップ位置のコンテンツターゲティングデータを生成することができる。例えば、コンテンツアイテム選択モジュール302は、
図2Aのマップスペースが提示されている間にユーザデバイスから照会「コーヒー」を受信することがある。次いで、コンテンツアイテム選択モジュール302は、マップ位置210およびマップスペース202に対応するズームレベルのコンテンツターゲティングデータ記録を作成または更新してトピック「コーヒー」を含めることができる。
【0077】
コンテンツアイテム選択モジュール302は、特徴アイテムの選択に基づきマップ位置のコンテンツターゲティングデータを生成することができる。いくつかの実施形態では、特徴アイテムの選択を対応するキーワードにマップできる。例えば、マップスペース内に位置するすべてのレストラン所在地を表すアイコンを提示する特徴の選択を示すユーザデバイスから入力データを受信した場合、コンテンツアイテム選択モジュール302は、マップ位置およびズームレベルに対応するコンテンツターゲティングデータ記録にトピック「レストラン」を含めることができる。
【0078】
コンテンツアイテム選択モジュール302は、上記のとおり入力データに基づき追加のトピックを生成することができる。いくつかの実施形態では、コンテンツアイテム選択モジュール302は、入力データに関連するトピックを生成することができる。例えば、入力データ「レストラン」に基づき、コンテンツアイテム選択モジュール302はトピック「カフェ」および「デリカテッセン」を生成することができる。次いで、入力データを受信したときに提示されたマップスペースのマップ位置およびズームレベルに対応するコンテンツターゲティングデータ記録にこれらのトピックを含めることができる。
【0079】
いくつかの実施形態では、コンテンツアイテム選択モジュール302は、入力データに意味的ルールを適用することによってトピックを生成することができる。意味的ルールは、例えば、トピックの意味および使用と入力データとの相関に基づきトピックを特定することができる。この相関に基づき、コンテンツアイテム選択モジュール302は関連性の測度(例えば、トピックが入力データに関連する確率)をトピックに割り当てることができる。
【0080】
関連性の測度に基づき、コンテンツアイテム選択モジュール302は、コンテンツデータ記録に対応するマップスペースを要求するユーザの関心事にトピックが関係する確率を生成することができる。例えば、コンテンツアイテム選択モジュール302は、特定のマップスペースに対する要求の数のカウント、受信した入力データの総カウント、および入力データとして各トピックを受信した回数を特定するカウントを維持することができる。コンテンツアイテム選択モジュール302は、これらのカウントを使用して、各トピックに対応する入力データ全体のパーセンテージおよび入力データとして各トピックを受信したすべてのマップ要求のパーセンテージを割り出すことができる。これらのパーセンテージに基づき、マップスペースを要求する任意のユーザに各トピックが関係する確率を割り出すことができる。コンテンツアイテム選択モジュール302は、これらの確率をトピックと共にコンテンツターゲティングデータ記録に保存して、上記のとおり広告の選択を容易にすることができる。
【0081】
§4.0 例示的なプロセスの流れ
図4は、マップと共に提示するコンテンツアイテムを選択する例示的なプロセス400の流れ図である。このプロセス400は、例えば、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302で使用できる。
【0082】
ステージ402では、マップスペースの提示に応答して入力データを受信する。いくつかの実施形態では、入力データは、特徴アイテムの選択に基づき受信したデータまたはマップスペースが提示されている間に受信した照会に対応することができる。入力データは、例えば、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302によって受信されうる。
【0083】
ステージ404では、入力データに基づいてコンテンツターゲティングデータを生成する。いくつかの実施形態では、コンテンツターゲティングデータは、入力データおよび入力データに関連するトピックを含むことができる。コンテンツターゲティングデータは、例えば、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302によって生成されうる。
【0084】
ステージ406では、マップスペースに対応するマップ位置とコンテンツターゲティングデータとを関連づける。いくつかの実施形態では、コンテンツターゲティングデータは、ズームレベルに基づきマップ位置と関連づけできる。関連づけは、例えば、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302によって実行できる。
【0085】
ステージ408では、マップスペースに対する要求を受信する。いくつかの実施形態では、マップスペースは、ユーザデバイスの表示領域に提示するマップの一部である。マップスペースに対する要求は、例えば、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302によって受信されうる。
【0086】
ステージ410では、マップスペースに関連するコンテンツターゲティングデータを特定する。いくつかの実施形態では、コンテンツターゲティングデータは、マップスペースの提示に応答して表示インタフェースから受信した入力データに基づく。入力データは、マップスペースに対する要求の前に表示インタフェースで受信されうる。いくつかの実施形態では、コンテンツターゲティングデータは、マップ要求に関連するマップ位置を特定し、マップ位置に関連するコンテンツターゲティングデータを特定することによって特定できる。コンテンツターゲティングデータは、例えば、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302によって特定されうる。
【0087】
ステージ412では、コンテンツターゲティングデータに基づきマップスペースと共に表示するコンテンツアイテムを特定する。いくつかの実施形態では、コンテンツアイテムは、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302によって特定されうる。
【0088】
ステージ414では、マップスペースに対する要求に応答してユーザデバイスの表示領域に表示するコンテンツアイテムを提供する。
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302が、表示領域で表示するコンテンツアイテムを提供できる。
【0089】
図5は、入力データに基づきコンテンツターゲティングデータを生成する例示的なプロセス500の流れ図である。プロセス500は、例えば、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302で使用できる。プロセス500を使用して、例えば
図4のステージ404を実施できる。
【0090】
ステージ502では、入力データおよび意味的ルールに基づきコンテンツターゲティングデータを生成する。いくつかの実施形態では、意味的ルールを使用して、入力データの意味的に関連する(例えば、入力データの意味に対応する)コンテンツターゲティングデータを生成することができる。コンテンツターゲティングデータは、例えば、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302によって生成されうる。
【0091】
ステージ504では、コンテンツターゲティングデータとマップスペースとの関連性のしきい値測度を満たすコンテンツターゲティングデータを特定する。いくつかの実施形態では、関連性のしきい値測度は、マップスペースを要求するユーザの関心事にコンテンツターゲティングデータが関係するしきい値の確率であってよい。コンテンツターゲティングデータの特定は、例えば、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302によって実行できる。
【0092】
ステージ506では、コンテンツターゲティングデータとマップスペースとの関連性の測度に基づきコンテンツターゲティングデータをランクづけする。いくつかの実施形態では、関連性の測度は、コンテンツターゲティングデータがマップスペースに関連する確率であってよい。いくつかの実施形態では、関連性の測度は、マップスペースを要求するユーザの関心事にコンテンツターゲティングデータが関係する確率であってよい。ランクづけは、例えば、
図1のマップサーバ112および/または
図3のコンテンツアイテム選択モジュール302によって実行できる。
【0093】
図6は、オンラインマップと共に提示するコンテンツアイテムの選択を容易にするために使用可能な例示的なコンピュータシステム600のブロック図である。システム600は、プロセッサ610、メモリ620、記憶デバイス630、および入力/出力デバイス640を含む。複数のコンポーネント610,620,630,640の各々は、例えばシステムバス650を使用して相互に接続できる。プロセッサ610は、システム600内で実行する命令を処理することができる。一実施形態では、プロセッサ610は単一スレッドのプロセッサである。別の実施形態では、プロセッサ610はマルチスレッドのプロセッサである。プロセッサ610は、メモリ620または記憶デバイス630に保存された命令を処理することができる。
【0094】
メモリ620は、システム600内の情報を保存する。一実施形態では、メモリ620はコンピュータ読み取り可能な媒体である。一実施形態では、メモリ620は揮発性記憶装置である。別の実施形態では、メモリ620は非揮発性記憶装置である。
【0095】
記憶デバイス630は、システム600の大量記憶を行うことができる。一実施形態では、記憶デバイス630はコンピュータ読み取り可能な媒体である。様々な実施形態では、記憶デバイス630は、例えばハードディスクドライブ、光ディスクドライブ、または他の大容量記憶デバイスを含むことができる。
【0096】
入力/出力デバイス640は、システム600の入力/出力処理を行う。一実施形態では、入力/出力デバイス640は、1つまたは複数のネットワークインタフェースデバイス、例えばイーサネット(登録商標)カードなど、シリアル通信デバイス、例えばRS-232ポートなど、および/または無線インタフェースデバイス、例えば802.11カードなどを含むことができる。別の実施形態では、入力/出力デバイスは、入力データを受信し、出力データを他の入力/出力デバイス、例えばキーボード、プリンタ、および表示デバイス660に送信するように構成されたドライバデバイスを含むことができる。一方、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビ用クライアントデバイスなど、その他の実施形態を使用することもできる。
【0097】
コンテンツアイテム選択モジュール302は、実行時に上記の処理および機能を1つまたは複数の処理デバイスに実施させる命令によって実現できる。かかる命令は、インタプリタ型命令、例えばスクリプト命令(例えば、JavaScript(登録商標)もしくはECMAScript命令)など、または実行可能コードまたはコンピュータ読み取り可能な媒体に保存されたその他の命令などを含むことができる。コンテンツアイテム選択モジュール302は、サーバファームなどネットワーク上に分散して実装することができ、または1つのコンピュータデバイスに実装できる。
【0098】
図6で例示的な処理システムを示したが、本明細書で説明する主題および機能的処理の実施形態は、他の種類のデジタル電子回路において、または本明細書で開示される構造およびその構造の同等物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはこれらのうちの1つもしくは複数の組み合わせで実現できる。本明細書で説明する主題の実施形態は、1つまたは複数のコンピュータプログラム製品、すなわち、処理システムによる実行のため、または処理システムの処理を制御するため、有形プログラムキャリア上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実現できる。コンピュータ読み取り可能な媒体は、機械読み取り可能な記憶デバイス、機械読み取り可能な記憶基板、メモリデバイス、機械読み取り可能な伝搬信号に影響を与える合成物、またはこれらの1つもしくは複数の組み合わせであってよい。
【0099】
「処理システム」という用語は、例えばプログラム可能プロセッサ、コンピュータまたは複数のプロセッサもしくはコンピュータを含む、データを処理するすべての装置、デバイス、および機械を包含する。処理システムは、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つもしくは複数の組み合わせを構成するコードを含むことができる。
【0100】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても知られている)は、コンパイルされた、もしくは翻訳された言語、または宣言形もしくは手続き形の言語を含む任意の形式のプログラミング言語で書かれてよく、独立プログラムとしての形式、またはモジュール、コンポーネント、サブルーチンもしくはコンピューティング環境での使用に適したその他のユニットとしての形式など、任意の形式で展開されてよい。コンピュータプログラムは、ファイルシステムのファイルに必ずしも対応しているわけではない。プログラムは、他のプログラムもしくはデータ(例えば、マーク付け言語文書に記憶される1つもしくは複数のスクリプト)を保持するファイルの一部、問題のプログラム専用の1つのファイル、または複数の調整されたファイル(例えば、1つもしくは複数のモジュール、サブプログラムもしくはコードの一部を記憶するファイル)に記憶できる。コンピュータプログラムは、1つのコンピュータ、または1つの場所に位置するか、もしくは複数の場所に分布し、通信ネットワークで相互接続された複数のコンピュータで実行されるよう展開できる。
【0101】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ読み取り可能な媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイス、例えば、半導体メモリデバイス(例えば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(例えば、内部ハードディスクまたは取り外し可能ディスク)、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路によって補完され、または専用論理回路に組み込まれてよい。
【0102】
本明細書で説明する主題の実施形態は、後置コンポーネント、例えばデータサーバを含む、またはミドルウェアコンポーネント、例えばアプリケーションサーバを含む、または前置コンポーネント、例えば、本明細書で説明する主題の実施でユーザが対話できるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータを含む、または1つもしくは複数のかかる後置、ミドルウェアもしくは前置コンポーネントの任意の組み合わせを含むコンピューティングシステムで実施できる。システムのコンポーネントは、デジタルデータ通信の任意の形式または媒体、例えば通信ネットワークによって相互接続できる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、例えばインターネットが含まれる。
【0103】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いに離れており、通常は通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータで稼動し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0104】
本明細書は多くの特定の実施形態の詳細を含んでいるが、かかる詳細を、いずれかの発明または特許請求の範囲の限定と解釈すべきではなく、特定の発明の特定の実施形態に固有の特徴の説明と解釈すべきである。また、個別の実施形態との関連で本明細書において説明する一定の特徴はまた、一実施形態において組み合わせで実施できる。反対に、一実施形態との関連で説明する様々な特徴は、複数の実施形態で個別に、または任意の適切な副組み合わせで実施できる。さらに、特徴は一定の組み合わせで機能するものとして上述され、当初はそういうものとして請求されることもあるが、請求される組み合わせによる1つまたは複数の特徴は、場合によっては、当該組み合わせで実施可能であり、請求される組み合わせは副組み合わせまたは副組み合わせの変形を対象にしうる。
【0105】
同様に、処理は特定の順序で図示されているが、これについては、望ましい結果を達成するために、かかる処理を示された特定の順序でもしくは順次に実行すること、またはすべての示された処理を実行することを要求するものとして理解すべきではない。一定の状況では、多重タスク処理および並列処理が有利なこともある。また、上述の実施形態における様々なシステムコンポーネントの分離については、すべての実施形態でかかる分離を要求するものとして理解すべきではなく、説明されるプログラムコンポーネントおよびシステムは一般に1つのソフトウェア製品への統合、または複数のソフトウェア製品へのパッケージ化が可能であると理解すべきである。
【0106】
明細書中の記載は、本発明の最良の形態を示しており、本発明について説明し、当業者が本発明を実施し利用できるように例を示している。明細書中の記載は、記載内容そのものに本発明を限定するものではない。そのため、本発明は上記の例を参照して詳述されているが、当業者は本発明の範囲から逸脱することなく、これらの例を変更、修正、および変形することができる。