(58)【調査した分野】(Int.Cl.,DB名)
前記ライブ事象に対応する事象検索結果は、検索結果において表示される対象である、と判定する動作が、前記少なくとも1つのエンティティと関連付けられた事実要約は、検索結果において表示される対象である、と判定する動作を含む、請求項9から14のいずれか一項に記載のシステム。
【発明を実施するための形態】
【0012】
種々の図面内の同様の参照番号および符号は、同様の要素を示す。
【0013】
本開示の実装は、概して、検索時にライブ事象を選択的に画面表示することに向けられる。さらに特には、本開示の実装は、ライブ事象を識別すること、および、検索結果において、ライブ事象のグラフィック表現を選択的に提供すること、に向けられる。いくつかの実装において、ライブ事象インデックスが設けられ、当該ライブ事象インデックスには、検索結果において画面表示するのに十分な量であると判定されるライブ事象が含まれる。いくつかの実装において、1つまたは複数のライブ事象が、クエリに応答して、ライブ事象インデックスから提供され得、1つまたは複数のライブ事象に対応するライブ事象検索結果が、検索結果において表示され得る。
【0014】
図1は、検索システムが検索結果を提供する、一例の環境100を示す図である。いくつかの例において、一例の環境100は、ユーザが、1つまたは複数のコンピュータに実装されるサービスと対話することを可能にする。コンピュータに実装されるサービスの例に含まれるものには、検索サービス、電子メールサービス、チャットサービス、文書共有サービス、カレンダ共有サービス、写真共有サービス、映像共有サービス、ブログサービス、マイクロブログサービス、ソーシャルネットワーキングサービス、位置情報(位置認識)サービス、チェックインサービス、および、レーティング/レビュー(ratings and review)サービス、を挙げることができる。
図1の例には、検索サービスを提供する検索システム120が示され、本明細書においてさらに詳細に説明する。
【0015】
引き続き
図1を参照すると、一例の環境100には、ネットワーク102、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、または、これらの組合せ、などが含まれ、ネットワーク102は、ウェブサイト104、ユーザデバイス106、および検索システム120を接続する。いくつかの例において、ネットワーク102には、有線および/または無線の通信リンクを介してアクセスすることができる。例えば、スマートフォンなどのモバイルコンピューティングデバイスは、セルラーネットワークを利用してネットワーク102にアクセスすることができる。環境100には、数百万個のウェブサイト104およびユーザデバイス106が含まれてもよい。
【0016】
いくつかの例において、ウェブサイト104は、ドメイン名と関連付けられ、1つまたは複数のサーバによりホストされる、1つまたは複数のリソース105として、提供される。一例のウェブサイトは、例えば、ハイパーテキストマークアップ言語(HTML)などの適切な機械可読言語でフォーマットされ、コンテンツを含むことができる、一群のウェブページである。コンテンツの例には、テキスト、画像、マルチメディアコンテンツ、および、プログラミング要素、例えば、スクリプト、が含まれる。各ウェブサイト104は、パブリッシャ、例えば、ウェブサイトを管理および/または所有するエンティティ、により維持される。
【0017】
いくつかの例において、リソース105は、ネットワーク102を介して提供されるデータであり、リソースのアドレス、例えば、URL(uniform resource locator)、と関連付けられる。いくつかの例において、ウェブサイト104により提供され得るリソース105には、数ある適切なデジタルコンテンツの中でも、ウェブページ、ワープロ文書、ならびに、PDF(portable document format)文書、画像、映像、およびフィードソース、が含まれる。リソース105には、例えば、語句、フレーズ、画像、およびサウンド、などのコンテンツを含むことができ、また、埋込み情報、例えば、メタ情報およびハイパーリンク、および/または、埋込み命令、例えば、スクリプト、が含まれてもよい。
【0018】
いくつかの例において、ユーザデバイス106は、ネットワーク102を介してリソース105を要求して受け取ることが可能な、電子デバイスである。ユーザデバイス106の例には、パーソナルコンピュータ、ラップトップコンピュータ、およびモバイルコンピューティングデバイス、例えば、スマートフォンおよび/またはタブレットコンピューティングデバイス、などが含まれ、これらは、ネットワーク102を介してデータを送受信することができる。本文書全体に渡って使用されるとき、モバイルコンピューティングデバイス(「モバイルデバイス」)という用語は、モバイル通信ネットワークを介して通信するように構成される、ユーザデバイスを指す。スマートフォン、例えば、インターネットを介して通信することが可能とされる電話、は、モバイルデバイスの一例である。ユーザデバイス106は、ユーザアプリケーション、例えば、ウェブブラウザ、を実行して、ネットワーク102を介したデータの送受信を容易にすることができる。
【0019】
いくつかの例において、リソース105の検索を容易にするために、検索システム120は、ウェブサイト104上で提供されるリソース105をクロールおよびインデックスすることにより、リソース105を識別する。リソース105に関するデータは、当該データが相当するリソースに基づき、インデックスされ得る。インデックスされ、かつ選択的にキャッシュされたリソース105のコピーが、検索インデックス122内に記憶される。
【0020】
ユーザデバイス106が、検索クエリ109を検索システム120にサブミットする。いくつかの例において、ユーザデバイス106には、1つまたは複数の入力モダリティを含むことができる。モダリティの例には、キーボード、タッチスクリーン、および/または、マイク、を含むことができる。例えば、ユーザは、キーボードおよび/またはタッチスクリーンを使用して、検索クエリをタイプ入力することができる。別の例として、ユーザは、検索クエリを発話することができ、ユーザ音声は、マイクを介してキャプチャされ、音声認識を介して処理されて、検索クエリを与える。
【0021】
検索クエリ109の受信に応答して、検索システム120が、検索インデックス122にアクセスし、検索クエリ109に関係するリソース105、例えば、検索クエリ109について、少なくとも最小の指定適合スコアを有するリソース105、を識別する。検索システム120は、リソース105を識別し、リソース105を識別する検索結果112を含む検索結果表示111を生成し、検索結果表示111をユーザデバイス106に返す。検索結果112には、クエリに応じた全般的な検索結果が含まれる。一例の文脈において、検索結果表示には、1つまたは複数のウェブページ、例えば、1つまたは複数の検索結果ページを含むことができる。いくつかの例において、ウェブページは、任意の適切な機械可読言語で書かれたウェブ文書に基づき、提供され得る。しかし、本開示の実装には、他の適切な表示のタイプを含むことができることが、考えられる。例えば、検索結果は、コンピューティングデバイス上で実行されるアプリケーションにより生成される表示、および/または、オペレーティングシステム、例えば、モバイルオペレーティングシステム、により生成される表示、で提供され得る。いくつかの例において、検索結果は、任意の適切な形式、例えば、JavaScript(登録商標)-html、プレーンテキスト、に基づき、提供され得る。
【0022】
検索結果112は、特定の検索クエリに応じたリソース105を識別する検索システム120により生成されるデータであり、リソース105へのリンクを含む。検索結果112の例には、ウェブページタイトル、ウェブページから抽出されたテキストのスニペットまたは画像の一部、および、ウェブページのURL、を含むことができる。いくつかの例において、検索結果112で提供されるデータは、リソースデータストアから取り出され得る。例えば、検索システム120は、検索結果表示111を提供することができ、検索結果表示111が検索結果112を表示する。いくつかの例において、検索結果表示111には、リソースデータストアから提供される情報、例えば、ウェブページタイトル、ウェブページから抽出されたテキストのスニペットまたは画像の一部、などをポピュレートすることができる。
【0023】
いくつかの例において、ユーザセッション中にサブミットされた検索クエリ109のデータは、履歴データストア124などのデータストア内に記憶される。例えば、検索システム120は、受け取った検索クエリを履歴データストア124内に記憶することができる。
【0024】
いくつかの例において、各検索クエリ109に応答して提供された検索結果112に応答して行われる動作を指定する選択データも、例えば、検索システム120により、履歴データストア124内に記憶される。これらの動作には、検索結果112が選択されたかどうか、例えば、クリックされたかどうか、ポインタでホバリングされたかどうか、を含むことができる。選択データには、検索結果112の選択ごとに、検索結果112が提供された検索クエリ109を識別するデータを含むこともできる。
【0025】
本開示の実装によると、一例の環境100には、検索システム120と通信可能に連結される、例えば、直接連結される、またはネットワーク102などのネットワークを介して連結される、ライブ事象システム130も含まれる。検索システム120およびライブ事象システム130が、
図1においては別個のシステムとして示されるが、検索システム120がライブ事象システム130を含むことができること、が考えられる。いくつかの実装において、ライブ事象システム130は、本明細書においてさらに詳細に説明するように、1つまたは複数のウェブサイトによりパブリッシュされるコンテンツを識別し、当該コンテンツは、検索結果において選択的に画面表示の対象となるライブ事象としての資格を得る。いくつかの例において、ライブ事象システム130は、ライブ事象データストア132内の選択ライブ事象と関連付けられた事象データを記憶する。ライブ事象システム130は、検索クエリ109に関係する可能性があり、かつ、ライブ事象データストア132内に記憶されたデータに基づく表示の準備が整った、1つまたは複数のライブ事象を識別する。いくつかの例において、ライブ事象システム130は、1つまたは複数のライブ事象が、検索結果表示で表示する対象であるかどうかを判定し、表示する対象である場合は、ライブ事象データストア132内に提供されたデータに基づき、検索結果表示111で提示される対象となる1つまたは複数のライブ事象を識別する。いくつかの例において、検索結果表示111には、リソース105を識別する検索結果112と、ライブ事象検索結果113とが含まれ、検索結果表示111は、ユーザデバイス106へ提供される。ライブ事象検索結果113には、1つまたは複数のライブ事象のグラフィック表現が含まれる。
【0026】
本開示の実装は、概して、検索時にライブ事象を選択的に画面表示することに向けられる。さらに特には、本開示の実装は、ライブ事象を識別すること、および、検索結果において、ライブ事象のグラフィック表現を選択的に提供すること、に向けられる。いくつかの実装において、ライブ事象の集合が、ライブ事象の上位集合から提供される。いくつかの例において、ライブ事象の集合には、検索結果において選択的に画面表示され得るライブ事象が含まれる。いくつかの例において、ライブ事象の上位集合内のライブ事象ごとに、品質スコアが判定され、ライブ事象は、それぞれの品質スコアに基づきライブ事象の集合に含まれる。いくつかの実装において、1つまたは複数のライブ事象検索結果は、クエリに応答して、検索結果において提供される。いくつかの例において、1つまたは複数のライブ事象は、クエリとライブ事象の集合内のライブ事象との間で共通に、1つまたは複数のエンティティに基づき、検索結果に含めるために選択される。
【0027】
いくつかの実装において、ライブ事象には、指定された日時に、1つまたは複数のリソース、例えば、ウェブページ、へのライブでストリーミングされる対象である、かつ、そこにおいて閲覧可能なコンテンツ、が含まれる。いくつかの例において、コンテンツには、音声および/または映像が含まれる。いくつかの例において、コンテンツは、1つまたは複数のコンピュータに実装されるサービスの1つまたは複数のウェブページへ、ライブでストリーミングされる。例えば、ライブ事象は、コンピュータに実装される映像共有サービスのウェブページ上で、ライブでストリーミングされ、かつ閲覧可能な映像として、提供され得る。別の例として、ライブ事象は、コンピュータに実装されるソーシャルネットワーキングサービスまたはコンピュータに実装されるチャットサービスのウェブページ上で閲覧可能な、ライブ映像のチャットセッションとして、提供され得る。
【0028】
いくつかの実装において、ライブ事象の上位集合が提供される。いくつかの例において、ライブ事象の上位集合には、1つまたは複数のコンピュータに実装されるサービスのライブ事象が含まれる。ライブ事象の例には、アメリカ合衆国大統領の一般教書演説を含むことができ、これは、1つまたは複数のリソース上、例えば、ウェブページwww.whitehouse.gov上で特定の日時に、ライブでの閲覧用にストリーミングされる。ライブ事象の別の例には、ユーザによりユーザの家庭からホストされるショーを含むことができ、これは、1つまたは複数のコンピュータに実装されるサービス上、例えば、映像共有サービス上で、特定の日時に、ライブでの閲覧用にストリーミングされる。いくつかの例において、ライブ事象は、少なくとも1つのコンピュータに実装されるサービスと関連付けられ、例えば、ライブ事象が、少なくとも1つのコンピュータに実装されるサービス上で発生して当該サービスを介して閲覧できるように、スケジューリングされる。例えば、第1のライブ事象が、第1のコンピュータに実装されるサービス上、例えば、映像共有サービス上、でスケジューリングされ得、第2のライブ事象が、第2のコンピュータに実装されるサービス上、例えば、チャットサービス上でスケジューリングされ得る。第1のライブ事象および第2のライブ事象は、両方ともライブ事象の上位集合に含まれ得る。
【0029】
いくつかの実装において、ライブ事象の上位集合内の各ライブ事象には、それぞれ事象データが含まれる。事象データの例には、ライブ事象の編成者、ライブ事象と関連付けられた1つまたは複数のエンティティ、ライブ事象の記述、ライブ事象の時間、ライブ事象の日付、および、ライブ事象がパブリッシュされるリソースのURL、を含むことができる。いくつかの例において、ライブ事象の編成者には、ライブ事象を、それぞれのコンピュータに実装されるサービスを用いてスケジューリングするユーザが含まれる。いくつかの例において、ユーザには、コンピュータに実装されるサービスを用いて登録されるユーザ、例えば、コンピュータに実装されるサービスを用いて定められるプロファイルおよび/または認証情報を有するユーザ、が含まれる。例えば、編成者は、コンピュータに実装されるサービスにログインすることができ、また、ライブ事象をスケジューリングすること、例えば、ライブ事象の記述、ライブ事象の時間、およびライブ事象の日時を入力すること、ができる。概して、用語「エンティティ」は、分離した単位、例えば、事象と関連付けることができる人、場所、物、または考え、である何かを指すものとすることができる。いくつかの例において、ライブ事象と関連付けられた1つまたは複数のエンティティには、1人/1つまたは複数の人、ブランド、会社、総合大学、大学、非営利団体、行政機関、などを含むことができる。例えば、ライブ事象に出資する会社は、ライブ事象と関連付けられた1つまたは複数のエンティティに含まれ得る。
【0030】
いくつかの例において、ライブ事象についてのエンティティの集合は、構造化されたデータに基づき提供され得る。例えば、複数のエンティティおよびそれに関連付けられた情報は、エンティティグラフ内の構造化されたデータとして記憶され得る。いくつかの例において、エンティティグラフには、複数のノードおよびノード間のエッジが含まれる。いくつかの例において、ノードはエンティティを表し、エッジはエンティティ間の関係を表す。いくつかの例において、エンティティグラフは、ドメイン、タイプ、およびプロパティに基づきデータを構造化する一例のスキームに基づき、提供され得る。いくつかの例において、ドメインには、名前空間を共有する1つまたは複数のタイプが含まれる。いくつかの例において、名前空間は、一意的に名前が付けられたオブジェクトのディレクトリとして提供され、名前空間内の各オブジェクトは、一意的な名前、例えば、識別子を有する。いくつかの例において、タイプは、トピックに関する関係「であること」を示し、一群のプロパティを保持するために使用される。いくつかの例において、トピックは、人、場所、または物などのエンティティを表す。いくつかの例において、各トピックは、当該トピックに関連付けられた1つまたは複数のタイプを有することができる。いくつかの例において、プロパティは、トピックと関連付けられ、かつ、トピックとプロパティの値との間の関係を「有すること」を定義する。いくつかの例において、プロパティの値は、別のトピックを含むことができる。いくつかの例において、ライブ事象と関連付けられたデータが、エンティティグラフから1つまたは複数のエンティティを選択するエンティティアノテータに提供され、1つまたは複数のエンティティは、ライブ事象と関連付けられたエンティティの集合に含まれる。
【0031】
いくつかの実装において、事象データは、ライブ事象の上位集合内のライブ事象ごとに処理されて、それぞれの品質スコアを提供する。いくつかの例において、品質スコアは、ライブ事象の品質の程度を反映し、事象データ、例えば、編成者、事象と関連付けられた1つまたは複数のエンティティ、などに基づく。例えば、アメリカ合衆国大統領の一般教書演説は、比較的高い品質スコアを有し得、一方、ユーザによりユーザの家庭からホストされるショーは、比較的低い品質スコアを有し得る。
【0032】
いくつかの実装において、ライブ事象の品質スコアは、1つまたは複数のサブスコアに基づき判定される。サブスコアの例には、編成者スコア、1つまたは複数のエンティティスコア、および記述スコア、を含むことができる。いくつかの例において、編成者スコアは、1つまたは複数のサブスコアの平均として判定される。いくつかの例において、編成者スコアは、1つまたは複数のサブスコアの加重平均として判定される。例えば、それぞれの重みを、それぞれのサブスコアに適用することができる。このようにして、それぞれのスコアが、それぞれの重みに基づき、品質スコアに影響を与えることができる。例えば、編成者スコアを、記述スコアよりも重く加重することができるため、編成者スコアは、品質スコアに対して、記述スコアよりも大きく寄与する。
【0033】
いくつかの例において、編成者スコアは、事象の編成者に特有のものであり、編成者と関連付けられた情報に基づくものとすることができる。情報の例には、編成者によって編成される多数の良質のライブ事象、および/または、編成者が、1つまたは複数のコンピュータに実装されるサービス内に有する多数のフォロワ、を含むことができる。いくつかの例において、編成者スコアは、編成者によって編成される良質のライブ事象の数に少なくとも部分的に基づき、および/または、編成者が有するフォロワの数に少なくとも部分的に基づき、判定され得る。
【0034】
例えば、編成者によって編成されるライブ事象の集合が、提供され得、かつ、それぞれの品質スコアを含むことができる。いくつかの例において、ライブ事象の品質スコアが、閾値品質スコアを超える場合、ライブ事象は良質のライブ事象として指定される。いくつかの例において、編成者が、他のライブ事象を(品質スコアが判定されている現在のライブ事象の他に)何も編成していない場合、または、編成者が良質のライブ事象を何も編成していない場合、編成者スコアは、最小値、例えば、0、に設定され得る。いくつかの例において、編成者が、少なくとも閾値個数の良質のライブ事象を編成している場合、編成者スコアは、最大値、例えば、1、に設定され得る。いくつかの例において、編成者スコアは、編成者がスケジューリングした良質のライブ事象の数に基づき、最小値と最大値との間の値に設定され得る。
【0035】
別の例として、コンピュータに実装されるサービスの1人または複数のユーザは、いわゆる、それぞれのコンピュータに実装されるサービス内の編成者のフォロワ、とすることができる。いくつかの例において、フォロワは、コンピュータに実装されるサービス内の別のユーザと関連付けられた情報を、自動的に受け取ることを選択しているユーザである。例えば、編成者のフォロワは、編成者がスケジューリングしたライブ事象と関連付けられた情報を、自動的に受け取ることができる。いくつかの例において、編成者が有するフォロワの数は、1つまたは複数のコンピュータに実装されるサービスから受け取ることができる。いくつかの例において、フォロワの数が、フォロワの閾値個数を超える場合、編成者スコアは、最大値、例えば、1、に設定され得る。いくつかの例において、フォロワの数が、フォロワの閾値個数を超えない場合、編成者スコアは、最小値、例えば、0、に設定され得る。いくつかの例において、編成者スコアは、編成者が有するフォロワの数に基づき、最小値と最大値との間の値に設定され得る。
【0036】
いくつかの実装において、編成者スコアは、良質のライブ事象の数およびフォロワの数に基づき提供され得る。例えば、第1のスコアは、良質のライブ事象の数に基づき判定され得、第2のスコアは、フォロワの数に基づき判定され得る。いくつかの例において、編成者スコアは、第1のスコアおよび第2のスコアに基づき提供され得る。例えば、編成者スコアは、第1のスコアと第2のスコアの平均とすることができる。別の例として、編成者スコアは、第1のスコアと第2のスコアの加重平均とすることもでき、それぞれの重みが、第1のスコアと第2のスコアとに適用される。
【0037】
いくつかの実装において、エンティティスコアは、ライブ事象と関連付けられたエンティティに特有のものである。上述のように、エンティティの例には、人、ブランド、会社、総合大学、大学、非営利団体、および行政機関、が含まれる。いくつかの例において、エンティティスコアは、それぞれのエンティティの人気の程度を示す。例えば、エンティティスコアは、例えば、検索システムにより受け取られた、それぞれのエンティティを明示的に含む、および/または、それぞれのエンティティと関連付けられた、クエリの数、に基づき提供され得る。別の例として、エンティティスコアは、それぞれのエンティティが、明示的に参照された回数、および/または、1つまたは複数のソーシャルネットワーキングサービスを介して配信される投稿と関連付けられた回数、に基づき提供され得る。いくつかの実装において、エンティティスコアは、エンティティスコアのインデックスから受け取られる。例えば、1つまたは複数のコンピュータに実装されるサービスは、エンティティスコア判定すること、および、エンティティスコアをエンティティスコアのインデックスに記憶すること、ができる。
【0038】
いくつかの実装において、記述スコアは、記述がある場合には、事象と関連付けられた記述に基づき提供される。いくつかの例において、記述スコアは、記述の長さに基づき判定される。例えば、長さは、ワードカウントとして提供され得る。いくつかの例において、ワードカウントは、記述に含まれる語句の数として判定される。いくつかの例において、ワードカウントは、記述内に提供される一意的な語句の数のみを含む。例えば、1つの単語が記述内に複数回現れる場合、その単語は一度計数されるだけである。いくつかの例において、ワードカウントではストップワードを除外する。例えば、ワードカウントが判定される前に、1つまたは複数のストップワードを、フィルタして記述から取り出すことができる。ストップワードの例には、「the」、「is」、「it」、「are」、「a」、および「an」、を含むことができる。
【0039】
いくつかの実装において、ワードカウントは、1つまたは複数の閾値ワードカウントと比較される。いくつかの例において、ワードカウントが閾値ワードカウントを超える場合、記述スコアは、最大値、例えば、1、と等しく設定され得る。いくつかの例において、ワードカウントが閾値ワードカウントを超えない場合、記述スコアは、最小値、例えば、0、と等しく設定され得る。このようにして、比較的短い記述には、比較的長い記述よりも低いスコアを割り当てることができる。いくつかの例において、非常に長い記述も、より低い記述スコアとなるようにしてもよい。例えば、ワードカウントを、第1の閾値ワードカウントおよび第2の閾値ワードカウントと比較することができる。ワードカウントが第2の閾値ワードカウントを超え、かつ、第1の閾値ワードカウントを超えない場合、記述スコアは、最大値と等しく設定される。ワードカウントが第1の閾値ワードカウントを超えるか、または、第2の閾値ワードカウントを超えない場合、記述スコアは、最小値と等しく設定される。
【0040】
いくつかの実装において、ライブ事象の集合は、ライブ事象の上位集合内のライブ事象の品質スコアに基づき提供され得る。いくつかの例において、ライブ事象の上位集合のうちのライブ事象の品質スコアは、閾値品質スコアと比較される。いくつかの例において、品質スコアが、閾値品質スコアを超える場合、ライブ事象は、ライブ事象の集合に含まれる。いくつかの例において、品質スコアが閾値品質スコアを超えない場合、ライブ事象は、ライブ事象の集合に含まれない。このようにして、ライブ事象の集合を、ライブ事象の上位集合の部分集合として説明することができる。いくつかの例において、ライブ事象の集合は、ライブ事象の上位集合と同じライブ事象を含むことができる。例えば、ライブ事象の上位集合内の全事象の品質スコアが、閾値品質スコアを超える場合、ライブ事象の上位集合内の全事象も、ライブ事象の集合に含まれる。
【0041】
本開示の実装によると、ライブ事象の集合内のライブ事象は、ライブ事象データストア内、例えば、
図1のライブ事象データストア132内、に記憶される。いくつかの例において、各ライブ事象と関連付けられた事象データも、ライブ事象データストア内に記憶される。いくつかの実装において、ライブ事象データストアには、クエリに応答して検索結果において選択的に画面表示され得る、ライブ事象が含まれる。
【0042】
本開示の実装によると、1つまたは複数のライブ事象検索結果は、クエリに応答して、検索結果において選択的に提供され得る。いくつかの実装において、クエリが受け取られ、そのクエリと関連付けられたエンティティの集合が、提供される。いくつかの例において、エンティティの集合には1つまたは複数のエンティティが含まれる。いくつかの例において、クエリと関連付けられた1つまたは複数のエンティティは、クエリを1つまたは複数のエンティティにマッピングするクエリテーブルから提供される。いくつかの例において、エンティティグラフから1つまたは複数のエンティティを選択して、1つまたは複数のエンティティを返す、エンティティアノテータへ、クエリが提供される。
【0043】
いくつかの実装において、クエリと関連付けられたエンティティの集合内の1つまたは複数のエンティティが、ライブ事象データストア内に記憶されるライブ事象と関連付けられたエンティティの集合内のエンティティと、比較される。いくつかの例において、クエリと関連付けられた少なくとも1つのエンティティが、ライブ事象と関連付けられたエンティティとマッチする場合、そのライブ事象は、適格なライブ事象、例えば、検索結果における画面表示に適格、であると判定される。いくつかの例において、クエリと関連付けられた少なくとも1つのエンティティは、2つまたはそれ以上のライブ事象と関連付けられたエンティティとマッチし得る。その結果、2つまたはそれ以上のライブ事象が、適格なライブ事象、例えば、検索結果における画面表示に適格、であると判定される。従って、適格なライブ事象には、クエリに応じるものと判定されたライブ事象が含まれる。
【0044】
いくつかの実装において、事実要約を、クエリに応答して、検索結果において表示する対象であるかどうか、が判定される。いくつかの例において、事実要約は、ライブ事象と関連付けられたエンティティとマッチする、クエリと関連付けられた少なくとも1つのエンティティ、に対応する。いくつかの例において、事実要約が、表示される対象である場合、ライブ事象が検索結果において表示され得る。いくつかの例において、事実要約が、表示される対象ではない場合、ライブ事象は、検索結果において表示されない。
【0045】
いくつかの例において、事実要約は、人、場所、国、史跡、動物、歴史的事象、組織、ビジネス、スポーツチーム、スポーツ事象、映画、歌、アルバム、ゲーム、芸術品、または任意の他のエンティティ、などの特定のエンティティを参照すると判定されたクエリについて提供され得る。例えば、クエリと関連付けられたエンティティについて、事実要約は表示される対象である、と判定され得る。それに応じて、事実要約が、表示のためにトリガされ得る。
【0046】
概して、特定のエンティティについての事実要約には、特定のエンティティに関連するコンテンツを含むことができる。いくつかの実装において、事実要約には、特定のエンティティに関係すると思われる事実情報の集合が含まれる。例えば、俳優についての事実要約には、俳優の略歴情報およびその俳優が登場した映画またはテレビ番組と関連付けられたコンテンツが、含まれてもよい。いくつかの実装において、事実要約には、特定のエンティティに関連する情報の要約が含まれる。例えば、ある国家についての事実要約には、国家の地図、国旗、国家の公用語、および/または、国家に関連する他の事実およびコンテンツ、が含まれてもよい。いくつかの例において、事実要約内に提供される情報を、1つまたは複数のリソース、例えば、ウェブページ、から引き抜かれるものとすることができ、また、統合して事実要約をポピュレートすることができる。
【0047】
いくつかの実装において、適格なライブ事象が、実際に検索結果において画面表示される対象であるかどうかは、適格なライブ事象と関連付けられた時間に基づき判定される。いくつかの例において、適格なライブ事象が、クエリが送信または受信されたときに対して、あまりにも遠い未来にスケジューリングされる場合、適格なライブ事象は、検索結果において画面表示されない。いくつかの例において、適格なライブ事象が、クエリが送信または受信されたときに対して、あまりにも遠い未来にスケジューリングされない場合、適格なライブ事象は、検索結果において画面表示される。いくつかの例において、適格なライブ事象が、例えば、クエリが送信または受信されたときに、現在発生している場合、適格なライブ事象は、検索結果において画面表示される。いくつかの例において、適格なライブ事象が終了している場合、適格なライブ事象は、検索結果において画面表示されない。
【0048】
いくつかの実装において、時間差が、適格なライブ事象の集合内の適格なライブ事象ごとに判定される。いくつかの例において、時間差は、クエリが送信または受信された時間、および、それぞれのライブ事象が発生するべくスケジューリングされている時間、に基づき判定される。いくつかの例において、それぞれのライブ事象が発生するべくスケジューリングされている時間は、数日、数時間、数分、または数秒、となる。いくつかの例において、時間差は秒単位で提供される。時間差は、ライブ事象が未来に発生するべくスケジューリングされる場合、正の値であり、ライブ事象が、クエリが送信または受信されたのと略同時に始まる場合、ゼロであり、ライブ事象が発生中、または既に発生している場合、負の値である。
【0049】
いくつかの実装において、時間差は、1つまたは複数の時間差閾値と比較される。いくつかの例において、時間差が時間差閾値を超える場合、それぞれの適格なライブ事象は、検索結果において画面表示されない。いくつかの例において、時間差が時間差閾値を超えない場合、それぞれの適格なライブ事象は、検索結果において画面表示させることができる。いくつかの例において、画面表示対象のライブ事象の集合が提供され、この集合には、それぞれの時間差が閾値時間差を超えない、1つまたは複数の適格なライブ事象が含まれる。
【0050】
いくつかの実装において、時間差閾値は、クエリに基づき提供され得る。いくつかの例において、クエリの意図が判定され、時間差閾値が、その意図に基づく。いくつかの例において、クエリの意図は、クエリをサブミットする際のユーザの意図を反映する。意図の例には、一般的意図、および特別意図、を含むことができる。いくつかの例において、一般的意図は、ユーザが、クエリのうちの1つまたは複数の用語についての一般的な情報を求めて、クエリをサブミットしたことを示す。例えば、一例のクエリ[一般教書演説]は、一般的意図と関連付けることが可能であり、例えば、ユーザが、一般的な情報を探しているかもしれない。いくつかの例において、特別意図は、ユーザが、クエリのうちの1つまたは複数の用語について特別な情報を求めて、クエリをサブミットしたことを示す。例えば、一例のクエリ[一般教書演説のライブストリーム]は、特別意図と関連付けることが可能であり、例えば、ユーザは、一般教書演説をライブで見るためのリソースを探している。いくつかの実装において、意図は特別意図であると判定される場合、時間差閾値が第1の値に設定され、意図は特別意図以外のもの、例えば、一般的意図、であると判定される場合、時間差閾値は、第1の値より小さい第2の値に設定される。このようにして、遠い未来に発生するライブ事象は、特別意図に応答して、検索結果において画面表示させることができるが、特別意図ではない意図に応答して、検索結果において画面表示はされない。
【0051】
いくつかの実装において、クエリの意図が、1つまたは複数のクエリパターンに基づき判定され得る。いくつかの例において、クエリパターンには、クエリに含まれる1つまたは複数の用語のパターンが含まれる。各クエリパターンは、それぞれの意図と関連付けることができる。いくつかの例において、クエリが、1つまたは複数のクエリパターンと比較され、クエリがクエリパターンとマッチする場合、そのクエリパターンと関連付けられた意図が選択される。例えば、クエリパターンの例には、[ライブ 見る *]、[* 見る ライブ]および[ライブ * 見る]を含むことができ、ここで、*はワイルドカードを示し、これらの例はそれぞれ特別意図と関連付けられる。一例のクエリ[一般教書演説をライブで見る]は、クエリパターン[ライブ * 見る]とマッチすると判定され得、従って、クエリが特別意図と関連付けられている、と判定され得る。
【0052】
上述のように、画面表示対象のライブ事象の集合が提供され、この集合には、それぞれの時間差が閾値時間差を超えない、1つまたは複数の適格なライブ事象が含まれる。いくつかの例において、画面表示対象のライブ事象の集合内の各ライブ事象が、検索結果において画面表示される。事象検索結果が、画面表示対象のライブ事象の集合内のライブ事象ごとに提供され、事象検索結果は、それぞれのライブ事象のグラフィック表現を提供する。いくつかの例において、事象検索結果には事象データが含まれる。例えば、事象検索結果には、ライブ事象のタイトルおよび記述を含むことができる。いくつかの例において、事象検索結果にはURLが含まれ、ユーザが、URLを選択して、ライブ事象をパブリッシュしているリソースにナビゲートする、ことを可能にする。いくつかの例において、事象検索結果には、ライブ事象が開始するまでの時間、または、ライブ事象が現在発生中かどうか、を示す時間インジケータ、が含まれる。いくつかの例において、時間インジケータは、それぞれのライブ事象について判定される時間差に基づき提供される。
【0053】
図2は、ライブ事象を識別するための一例の環境200を示す。一例の環境200には、ライブ事象識別子202、エンティティアノテータ204、および検索システム206、が含まれる。いくつかの例において、検索システム206は、
図1の検索システム120に対応する。いくつかの例において、ライブ事象識別子202、エンティティアノテータ204、および検索システム206は、それぞれ、1つまたは複数のコンピューティングデバイスにより実行される1つまたは複数のコンピュータ実行可能プログラムとして、提供され得る。
【0054】
いくつかの実装において、ライブ事象識別子202は、1つまたは複数のデータソース208、210から、ライブ事象の事象データを受け取る。いくつかの例において、各データソース208、210は、コンピュータに実装されるサービスに特有である。例えば、データソース208は、映像共有サービスと関連付けることが可能であり、映像共有サービスについてスケジューリングされたライブ事象の事象データ、を含むことができる。別の例として、データソース208は、ソーシャルネットワーキングサービスと関連付けることが可能であり、ソーシャルネットワーキングサービスについてスケジューリングされたライブ事象の事象データ、を含むことができる。いくつかの例において、データソース208、210から提供されるライブ事象は、ライブ事象の上位集合に含まれる。いくつかの例において、ライブ事象の上位集合のうちのライブ事象は、ライブ事象識別子202により処理されて、ライブ事象の集合を提供する。いくつかの例において、ライブ事象の集合と関連付けられた事象データが、データストア212内に記憶される。
【0055】
いくつかの実装において、ライブ事象識別子202は、本明細書に記載されるように、ライブ事象がライブ事象の集合に含まれる、と識別する。例えば、ライブ事象識別子202は、本明細書に記載されるように、ライブ事象の上位集合内のライブ事象ごとに、品質スコアを判定する。いくつかの例において、ライブ事象識別子202は、品質スコアの計算において使用可能な1つまたは複数のデータソースに対してデータを要求して受け取ることができる。例えば、ライブ事象識別子202は、エンティティアノテータ204に対して、エンティティの集合を要求して受け取ることができる。例えば、エンティティアノテータ204は、ライブ事象と関連付けられたエンティティデータを、例えば、ライブ事象識別子から受け取ることができ、エンティティグラフから1つまたは複数のエンティティを選択して、ライブ事象と関連付けられたエンティティの集合を、ライブ事象識別子202に提供する。
別の例として、エンティティアノテータ204は、データソース214から、ライブ事象と関連付けられたエンティティデータを受け取ることができる。別の例として、ライブ事象識別子202は、エンティティスコアのインデックス(図示せず)に対して、エンティティスコアを要求して受け取ることができる。別の例として、ライブ事象識別子202は、事象編成者と関連付けられたデータ、例えば、フォロワのデータ、を、例えば、1つまたは複数のデータソース208、210に対して要求して受け取ることができる。
【0056】
いくつかの実装において、検索システム206は、本明細書に記載されるように、ライブ事象を、検索結果において選択的に画面表示する。いくつかの例において、検索システム206は、クエリを受け取り、ライブ事象検索結果が、そのクエリに応答して表示される対象であるかどうかを判定する。例えば、検索システム206は、クエリと関連付けられたエンティティとそれぞれのライブ事象と関連付けられたエンティティと、に基づき適格なライブ事象の集合を提供することができ、それぞれのライブ事象について時間差を判定することができ、時間差に基づき、ライブ事象が検索結果に含まれるかどうかを判定することができる。
【0057】
図3は、ライブ事象を含む一例の検索結果ページ300を示す図である。一例の検索結果ページ300が、ウェブブラウザ内に描かれているが、これは、文脈上の理由のみによるものであり、本開示の範囲を、任意の1つのウェブブラウザ、または、ウェブページを供することを伴う実装にも、限定することは意図されない。例示の検索結果ページ300には、検索ボックス302、検索クエリ304、検索ボタン306、ユーザ情報308、全般的な検索結果310、および詳細記事検索結果312、が含まれる。
【0058】
示した例では、検索クエリ304は、[一般教書演説]として与えられる。クエリ304に応答して、全般的な検索結果310が表示され、ライブ事象検索結果312が表示される。全般的な検索結果310は、クエリに応じたリソース、例えば、一般教書演説を全体的に記載する、百科事典ウェブサイト上でパブリッシュされるウェブページ、を提示する。ライブ事象検索結果312は、クエリに応じたライブ事象を提示する。
【0059】
図4は、本開示の実装に従って実行することができる、一例のプロセス400を示す。一例のプロセス400は、例えば、
図1の一例の環境100、例えば、検索システム120および/またはライブ事象システム130、により実装され得る。いくつかの例において、一例のプロセス400は、1つまたは複数のコンピューティングデバイスを使用して実行される、1つまたは複数のコンピュータ実行可能プログラムにより提供され得る。一例のプロセス400は、実行されて、検索結果においてライブ事象を選択的に画面表示することができる。
【0060】
クエリが受け取られる(402)。例えば、
図1の検索システム120がクエリを受け取る。クエリと関連付けられたエンティティの集合が取得される(404)。例えば、エンティティの集合は、本明細書に記載されるように、クエリテーブルに対して要求されて受け取られることが可能である。ライブ事象と関連付けられたエンティティの集合が取得される(406)。例えば、それぞれのライブ事象と関連付けられたエンティティの集合が、ライブ事象データストア、例えば、
図1のライブ事象データストア132、ライブ事象データストア212、から提供され得る。エンティティが、クエリと関連付けられたエンティティの集合と、ライブ事象と関連付けられたエンティティの集合のそれぞれと、の間で比較される(408)。
【0061】
1つまたは複数のライブ事象が、クエリに応じたものであるかどうか、が判定される(410)。例えば、クエリと関連付けられた少なくとも1つのエンティティが、ライブ事象の1つまたは複数のうちのエンティティとマッチするかどうか、が比較に基づき判定され得る。いくつかの例において、適格なライブ事象の集合が提供され、この集合には、クエリと関連付けられた.エンティティとマッチするエンティティを有するライブ事象が含まれる。いくつかの例において、クエリと関連付けられた少なくとも1つのエンティティが、ライブ事象の1つまたは複数のうちのエンティティとマッチしない場合、クエリに応じたライブ事象は無い、と判定され、検索結果は、ライブ事象が無い状態で提供される(412)。いくつかの例において、クエリと関連付けられた少なくとも1つのエンティティが、ライブ事象の1つまたは複数のうちのエンティティとマッチする場合、事実要約は表示される対象であるかどうかが判定される(414)。いくつかの例において、事実要約が表示される対象ではない場合、検索結果は、ライブ事象が無い状態で提供される(412)。いくつかの例において、事実要約が表示される対象である場合、それぞれのライブ事象と関連付けられた時間差が、時間差閾値を超えるかどうかが判定される(416)。いくつかの例において、適格なライブ事象の集合内のライブ事象のうちの全ての時間差が、時間差閾値を超える場合、検索結果は、ライブ事象が無い状態で提供される(412)。いくつかの例において、適格なライブ事象の集合内のライブ事象の時間差が、時間差閾値を超えない場合、ライブ事象は、画面表示対象のライブ事象の集合に含まれる。1つまたは複数のライブ事象を有する検索結果が提供される(418)。例えば、検索結果には、1つまたは複数のライブ事象検索結果を含むことができ、各ライブ事象検索結果は、画面表示対象のライブ事象の集合内のそれぞれのライブ事象のグラフィック表現である。
【0062】
図5は、本開示の実装に従って実行することができる、一例のプロセス500を示す。一例のプロセス500は、例えば、
図1の一例の環境100、例えば、検索システム120および/またはライブ事象システム130、により実装され得る。いくつかの例において、一例のプロセス500は、1つまたは複数のコンピューティングデバイスを使用して実行される、1つまたは複数のコンピュータ実行可能プログラムにより提供され得る。一例のプロセス500は、実行されて、検索結果において画面表示させることができる1つまたは複数のライブ事象を識別する。
【0063】
ライブ事象の上位集合が取得される(502)。例えば、複数のデータソースのそれぞれからの、1つまたは複数のライブ事象が、受け取られ、かつ、ライブ事象の上位集合内に含まれる。いくつかの例において、ライブ事象の上位集合内のライブ事象のそれぞれと関連付けられた事象データが、例えば、データソースから受け取られる。品質スコアが、ライブ事象の上位集合内のライブ事象ごとに判定される(504)。例えば、品質スコアは、本明細書に記載されるように、編成者スコア、1つまたは複数のエンティティスコア、および記述スコア、のうちの1つまたは複数に基づき判定される。ライブ事象の集合は、それぞれの品質スコアに基づき提供される(506)。例えば、ライブ事象の上位集合のうちのライブ事象の品質スコアは、閾値品質スコアと比較される。いくつかの例において、品質スコアが、閾値品質スコアを超える場合、ライブ事象は、ライブ事象の集合に含まれる。いくつかの例において、品質スコアが閾値品質スコアを超えない場合、ライブ事象は、ライブ事象の集合に含まれない。このようにして、ライブ事象の集合を、ライブ事象の上位集合の部分集合として説明することができる。いくつかの例において、ライブ事象の集合は、ライブ事象の上位集合と同じライブ事象を含むことができる。例えば、ライブ事象の上位集合内の全事象の品質スコアが、閾値品質スコアを超える場合、ライブ事象の上位集合内の全事象も、ライブ事象の集合に含まれる。
【0064】
主題の実装、および本明細書に記載される動作は、本明細書に開示される構造、およびその構造的等価物、または、それらのうちの1つまたは複数の組合せ、を含む、デジタル電子回路において、または、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて実現させることができる。本明細書に記載される主題の実装は、1つまたは複数のコンピュータプログラムを使用して、すなわち、データ処理装置により実行するためにコンピュータ記憶媒体上に符号化された、または、データ処理装置の動作を制御するための、コンピュータプログラム命令の1つまたは複数のモジュールを使用して、実現され得る。代替として、または加えて、プログラム命令は、人工的に生成される伝播信号上に、例えば、データ処理装置による実行のために、適切な受信装置への送信用に情報を符号化するために生成される、機械によって生成される電気信号、光信号、または電磁信号上に、符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムアクセスメモリもしくはシリアルアクセスメモリのアレイもしくはデバイス、またはそれらの1つまたは複数の組合せ、とすることができ、またはそれらに含まれてもよい。さらに、コンピュータ記憶媒体が伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成される伝播信号内に符号化されるコンピュータプログラム命令の、送信元または送信先とすることができる。コンピュータ記憶媒体は、1つまたは複数の別個物理構成要素または媒体(例えば、複数のCD、ディスク、または他の記憶デバイス)、とすることもでき、またはそれらに含まれてもよい。
【0065】
本明細書に記載される動作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶されたデータ、または他のソースから受信されたデータ、に対してデータ処理装置により実行される動作として実装され得る。
【0066】
用語「データ処理装置」は、データを処理するための全ての種類の装置、デバイス、および機械、を包含し、例として、プログラム可能プロセッサ、コンピュータ、チップ上のシステム、または、既述のものの複数もしくは組合せ、が含まれる。装置には、専用の論理回路、例えば、FPGA(field programmable gate array)またはASIC(application-specific integrated circuit)、を含むことができる。装置には、ハードウェアに加えて、当該のコンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームのライタイム環境、仮想マシン、または、それらの1つまたは複数の組合せ、を構成するコード、を含むこともできる。装置および実行環境は、ウェブサービス、分散コンピューティングインフラストラクチャおよびグリッドコンピューティングインフラストラクチャ、などの種々の異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0067】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコード、としても既知である)は、コンパイル型言語またはインタプリタ型言語、宣言型言語または手続き型言語、を含む任意の形式のプログラミング言語で書くことができ、また、任意の形式で、スタンドアロンプログラムとして、または、モジュール、コンポーネント、サブルーチン、オブジェクト、もしくは、コンピューティング環境における使用に適切な他の単位、として、展開することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、必ずしも対応する必要はない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語文書内に記憶される1つまたは複数のスクリプト)を保持するファイルの一部、当該プログラム専用の単一ファイル、または、複数の調整されたファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)、の中に記憶させることができる。コンピュータプログラムは、展開されて、1つのコンピュータ上、または、1カ所に設置されるか、複数箇所に分散されて通信ネットワークにより相互接続される、複数のコンピュータ上、で実行させることができる。
【0068】
本明細書に記載されるプロセスおよび論理フローは、1つまたは複数のコンピュータプログラムを実行して、入力データの演算および出力の生成により、動作を行う、1つまたは複数のプログラム可能プロセッサにより実行することができる。プロセスおよび論理フローはまた、専用論理回路、例えば、FPGA(field programmable gate array)またはASIC(application-specific integrated circuit)、により実行させることができ、また、装置は、当該専用論理回路として実装され得る。
【0069】
コンピュータプログラムの実行に適切なプロセッサには、例として、汎用および専用のマイクロプロセッサ、ならびに、任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサ、が含まれる。概して、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはこの両方、から命令およびデータを受け取る。コンピュータの要素には、命令に従って動作を行うためのプロセッサ、および、命令およびデータを記憶するための1つまたは複数のメモリデバイス、を含むことができる。概して、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク、または光ディスクも含むこともあり、または、これらからデータを受信する、もしくはこれらにデータを転送する、もしくはその両方を行う、ように動作可能に連結される。しかし、コンピュータは、必ずしもかかるデバイスを有するわけではない。さらに、コンピュータは、別のデバイス、例えば、少々例を挙げると、モバイルフォン、携帯型情報端末(PDA)、モバイル音声プレイヤもしくはモバイル映像プレイヤ、ゲーム機、グローバルポジショニングシステム(GPS)受信機、または、携帯型記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)、の中に埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するのに適切なデバイスには、全ての形式の不揮発性メモリデバイス、媒体デバイス、およびメモリデバイス、が含まれ、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスクまたは着脱可能ディスク;光磁気ディスク;ならびにCD-ROMディスクおよびDVD-ROMディスク、が含まれる。プロセッサおよびメモリは、専用論理回路により補足されること、または専用論理回路内に組み込まれること、が可能である。
【0070】
ユーザとの対話を提供するために、本明細書に記載される主題の実装は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタ、キーボード、および、ユーザがコンピュータに入力を行うポインティングデバイス、例えば、マウスまたはトラックボール、を有するコンピュータ上で実装され得る。他の種類のデバイスを使用して、同様にユーザとの対話を提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または、触覚フィードバック、とすることができ、ユーザからの入力を、音響、音声、または触覚の入力を含む、任意の形式で受け取ることができる。加えて、コンピュータは、ユーザにより使用されるデバイスに文書を送信すること、および当該デバイスから文書を受信することにより、例えば、ウェブブラウザから受け取った要求に応答して、ユーザのクライアントデバイス上のウェブブラウザに、ウェブページを送信することにより、ユーザと対話することができる。
【0071】
本明細書に記載される主題の実装は、コンピューティングシステムであって、バックエンドコンポーネントを、例えば、データサーバとして含む、または、ミドルウェアコンポーネント、例えば、アプリケーションサーバ、を含む、または、フロントエンドコンポーネント、例えば、グラフィカルユーザインターフェース、もしくはユーザが本明細書に記載される主題の実装と対話することができるウェブブラウザ、を有するクライアントコンピュータ、を含む、または、1つまたは複数のかかるバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムにおいて実装可能である。システムの構成要素は、任意の形式または媒体のデジタルデータ通信、例えば、通信ネットワーク、により相互接続可能である。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、ならびに、ピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)、が含まれる。
【0072】
コンピューティングシステムには、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般的に互いに遠隔にあり、典型的には、通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、コンピュータプログラムが、それぞれのコンピュータ上で稼働し、かつ、互いにクライアント-サーバの関係を有する、ということにより生じる。いくつかの実装において、サーバはデータ(例えば、HTMLページ)をクライアントデバイスに送信する(例えば、クライアントデバイスと対話するユーザにデータを表示し、当該ユーザからユーザ入力を受信する目的で)。クライアントデバイスにおいて生成されるデータ(例えば、ユーザ対話の結果)は、クライアントデバイスからサーバにおいて受信され得る。
【0073】
本明細書には、多くの特定の実装の詳細が含まれるが、これらは、本開示のいずれの実装の範囲にも、または請求される範囲にも、制限を設けるものと解釈されるべきではなく、実装例に特有の特徴を説明するものとして解釈されるべきである。別個の実装の文脈で本明細書に記載される特定の特徴は、単一の実装において組み合わせて実装されてもよい。逆に、単一の実装の文脈で記載される種々の特徴も、複数の実装において別個に、または、任意の適切なサブコンビネーションにおいて、実装されてもよい。さらに、特徴については、特定の組合せにおいて動作するものとして記載され、そのようなものとして最初は請求されるかもしれないが、場合によっては、その組合せから、請求される組合せによる1つまたは複数の特徴を削除することができ、請求される組合せは、サブコンビネーションまたはサブコンビネーションのバリエーションに対処するものとしてもよい。
【0074】
同様に、動作が、図面においては特別な順序で示されるが、これは、かかる動作が図示の特別な順序もしくは連続順に実行され、または、全ての例示の動作が実行され、望ましい結果を達成する、ということを要求するものとして理解されるべきではない。特定の状況において、マルチタスクおよびパラレル処理が有利であることがある。さらに、上述の実装における種々のシステム構成要素を分離することは、かかる分離を全ての実装において要求するものとして理解されるべきではなく、また、記載のプログラムコンポーネントおよびシステムを、全体的に、単一のソフトウェア製品に統合すること、または複数のソフトウェア製品にパッケージ化すること、ができるということは理解されるべきである。
【0075】
このようにして、主題の特別の実装が記載された。他の実装は、以下の請求項の範囲に入る。場合によっては、請求項に列挙される動作は、異なる順序で実行され、それでもなお、望ましい結果を達成することができる。加えて、添付の図面において示されるプロセスは、望ましい結果を達成するために、図示された特別な順序、または連続順、を必ずしも要求するわけではない。特定の実装において、マルチタスクおよびパラレル処理が有利であることがある。