(58)【調査した分野】(Int.Cl.,DB名)
前記範疇に対応する検索結果を有する前記範疇の前記サブセットの各範疇を表示する前記命令が、その決定された範疇に関する範疇ヘッディングの下に、前記検索結果の各々を表示する命令を含む、請求項1または2に記載のシステム。
前記1つまたは複数のコンピュータが、前記複数の範疇の第1の範疇に属することが決定された、前記検索結果の前記第1のサブセット内の前記検索結果をランキングするステップを含む動作をさらに実行する、請求項2に記載のシステム。
前記範疇に対応する検索結果を有する前記範疇の前記サブセットの各範疇を表示する前記命令が、前記範疇をそれらのスコアに基づく順序で表示する命令を含む、請求項1または2または4に記載のシステム。
前記検索結果の各々に関するランキングスコアを決定するステップをさらに含み、前記範疇の各々の前記スコアが前記範疇の各々の中でそれぞれ提供された前記検索結果の前記ランキングスコアに基づく、請求項6に記載のシステム。
前記検索結果の各々に関する範疇を決定するステップが、前記受信されたクエリを提出したユーザによって行われる過去の動作に基づいて範疇を決定するステップを含み、前記過去の動作は、前記ユーザの検索履歴または前記ユーザによって前に閲覧された施設のレビューのうちの少なくとも1つを含む、請求項1または2または4に記載のシステム。
前記範疇に対応する検索結果を有する範疇の前記サブセットの各範疇を表示する前記命令が、少なくとも1つの範疇に関するユーザが選択可能なソートオプションによって範疇の前記サブセットの前記少なくとも1つの範疇を表示する命令を含み、前記ユーザが選択可能なソートオプションは、前記少なくとも1つの範疇におけるそれぞれの前記検索結果の風景、距離、価格、地域または評価のうちの少なくとも1つに基づいて、前記少なくとも1つの範疇における検索結果をソートするためのユーザが選択可能なオプションを含む、請求項1または2または4または6に記載のシステム。
複数の範疇の中から前記検索結果の各々に関する範疇を決定するステップが、前記受信された検索クエリに類似の前の検索クエリに応答することが分かった文書に割り当てられている範疇を決定することを含む、請求項1または2または4または6に記載のシステム。
【発明を実施するための形態】
【0010】
様々な図面内の類似の参照番号は類似の要素を示す。
【0011】
本明細書では、分類された検索結果をユーザに提供するためのシステム、方法、コンピュータプログラム、および記憶媒体について説明する。具体的には、あるトピックに関心を持つユーザは、そのトピックに関するより多くの情報を収集するために、検索クエリを検索サービス(例えば、Google Search)に与える。検索サービスは、検索クエリに基づいて、複数の検索結果を生成することができる。検索サービスは、検索結果の数をしきい値と比較して、しきい値を超えるとき、検索サービスは、検索結果に範疇(category)を適用して、分類された検索結果を生成する。分類された検索結果はユーザに提供される。いくつかの実装形態では、検索サービスは、他の信号に鑑みて、検索結果に範疇を適用する。
【0012】
いくつかの実装形態では、分類された検索結果は、1つまたは複数の範疇に従って、検索結果をクラスタリングする(clustering)ことによって取得される。例えば、検索結果の基層となる各リソース(例えば、ウェブページ)は関連する範疇を含むことが可能である。特定のリソースに関する範疇は、そのリソースに関する情報に基づいて決定され得る。分類された検索結果を提供するために、範疇に基づいて検索結果をグループ化することができる。
【0013】
いくつかの実装形態では、ユーザが検索クエリを検索サービスに与えるのに先立って、検索結果範疇を生成することが可能である。いくつかの例では、リソースのうちの少なくとも一部は、1つを超える範疇に組織化され得る。いくつかの実装形態では、ユーザが検索クエリを検索サービスに与えた後で、検索結果範疇の生成を行うことが可能である。
【0014】
非限定的な例として、ユーザはサンフランシスコ地域のホテルに関心がある場合があり、検索サービスの検索欄に例示的な検索クエリ「サンフランシスコホテル」を入力することができる。検索クエリ「サンフランシスコホテル」を受信することに応答して、検索サービスは、サンフランシスコ地域内のホテルに関連する複数のウェブページへのリンクを含む検索結果を生成する。この例では、検索結果は、サンフランシスコ地域内のホテルに対応する数千以上の検索結果を含む。検索結果を精緻化するために、検索結果の数がしきい値を超えるとき、検索サービスは検索結果を検索結果範疇に組織化することができる。具体的には、検索サービスは、検索結果のセットをその各々が検索結果のサブセットを含む検索結果範疇に分類(または、クラスタリング)する。上記の例を続けると、検索サービスは、サンフランシスコ内のホテルに関する検索結果を、ブティックホテル、高級ホテル、格安ホテル、ホテルスパ、および他の適切な範疇など、検索結果範疇にクラスタリングする。検索サービスは、検索結果範疇に従って組織化された検索結果のサブセットを検索結果ページ上に提供する。ユーザのために検索結果を組織化することに加えて、検索結果範疇に従って組織化された検索結果を提示することは、今後の検索タスクに関するクエリを精緻化するための種々の様式をユーザに教示する。
【0015】
図1は、本開示の実装形態を実行することができる、ある例示的なシステム100の図である。システム100は、各々がネットワーク106を介してサーバシステム104と通信することができるコンピューティングデバイス102A〜102Fを含む。コンピューティングデバイス102A〜102Fの各々は、それぞれ、関連するユーザ108A〜108Fを含む。ネットワーク106は、任意の数のモバイルコンピューティングデバイスと、固定コンピューティングデバイスと、サーバシステムとを接続する、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、セルラネットワーク、またはそれらの組合せなど、大規模コンピュータネットワークを含むことが可能である。サーバシステム104は、1つまたは複数のコンピューティングデバイス110と、1つまたは複数の機械可読リポジトリ、あるいはデータベース112とを含む。
【0016】
この例示的なシステム100では、コンピューティングデバイス102A〜102Dはモバイルコンピューティングデバイスとして例示され、コンピューティングデバイス102Eはデスクトップタイプのコンピューティングデバイスとして例示され、コンピューティングデバイス102Fはラップトップタイプのコンピューティングデバイスとして例示される。しかし、コンピューティングデバイス102A〜102Fは、各々、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、携帯情報端末(PDA)、セルラ電話、ネットワーク機器、カメラ、スマートフォン、エンハンスト汎用パケット無線サービス(enhanced general packet radio service)(EGPRS)モバイル電話、マルチメディア、ナビゲーションデバイス、電子メールデバイス、ゲーム機、またはこれらのデータ処理デバイスもしくは他のデータ処理デバイスのうちの任意の2つ以上の組合せなど、任意のタイプのコンピューティングデバイスを含むことが可能であることを理解されよう。
【0017】
図2は、ある例示的な検索結果ウェブページを示す。具体的には、GUI200はある例示的な検索結果ページ202を表示する。GUI200は、アドレスバー204と、ナビゲーションボタン206と、表示領域208とを含む。アドレスバー204は、表示領域208内のGUI200によって現在表示されているウェブページのインターネットアドレスを表示する。ナビゲーションボタン206は、いくつかの機能性の中でも、(前に閲覧されたウェブページにナビゲートするための「戻る」ボタンなど)ウェブページ間のナビゲーションと、現在のウェブページの再ロードまたはロード中断とを提供する。
【0018】
示された例では、検索結果ページ202は、Google Inc.によって提供されるGoogle Searchなどの検索サービスによって提供される。表示領域208は、検索クエリフィールド212と、検索ボタン214と、結果バー216と、検索結果リスト218とを含む検索結果ページ202を表示する。あるトピックに関心を持つ(任意のユーザ108A〜108Fなど)ユーザは、そのトピックに関する検索クエリ220を検索クエリフィールド212内に入力して、検索を開始する。例えば、サンフランシスコ地域内のホテルに関心を持つユーザは、「サンフランシスコホテル」の検索クエリ220を検索クエリフィールド212内に入力することができる。検索サービスは、検索クエリ220に応答する検索結果リスト218を検索結果ページ202上に提供する。検索結果リスト218は、検索結果222と分類された検索結果リスト224の両方を含むことが可能である。分類された検索結果リスト224は、分類された検索結果225を含むことが可能である。分類された検索結果リスト224は、下でさらに説明されるように、検索クエリ220に応答し、かつ分類またはクラスタリングされた検索結果225を含む。
【0019】
いくつかの例では、分類された検索結果225は、検索結果をユーザに配信するのに先立って生成される。上の例を続けると、検索クエリ220が「サンフランシスコホテル」であるとき、生成された検索結果をサンフランシスコ地域内の複数のホテル(例えば、サンフランシスコ地域内の数百または数千のホテル)と関連付けることが可能である。いくつかの実装形態では、生成された検索結果が検索結果のしきい値数を超えるとき、ユーザに表示される前に、検索結果を精緻化することが可能である。いくつかの実装形態では、生成された検索結果が検索結果のしきい値数を超えるとき、組み合わせて、またはその代わりに、他の信号に基づいて、ユーザに表示される前に検索結果を精緻化することが可能である。例えば、これらの信号は、ユーザから提供された入力、ユーザに基づいて決定された情報(例えば、ユーザのユーザプロフィール)、検索クエリ220のロケール、検索クエリ220の範疇、またはそれらの任意の組合せを含むことが可能である。
【0020】
信号がユーザからの入力を含むとき、そのような入力は、ユーザが要求する分類された検索結果を含むことが可能である。応答して、検索結果は、分類された検索結果を含むことが可能である。信号がユーザに基づいて決定された情報を含むとき、その情報は、とりわけ、ユーザの検索履歴、(例えば、そのユーザがある地理的位置を訪れたことを示す)ユーザの地理的な「チェックイン」履歴、ユーザによって前に閲覧された施設(例えば、レストラン)のレビュー、またはそれらの任意の組合せを含むことが可能である。例えば、ユーザが検索クエリ220を与えるとき、ユーザの決定された情報に関する信号に基づいて、検索結果を1つまたは複数の検索結果範疇に分類することが可能である。上の例を続けると、ユーザは、検索クエリ220「サンフランシスコホテル」を与える。ユーザに基づいて決定された情報は、高級ホテルに関してユーザが前に提供した検索、高級ホテルの地理的「チェックイン」、および/または高級ホテルに関して提供されたレビューに基づいて、そのユーザが高級ホテルに関心を持っていることを示すことができる。検索結果を、下でさらに説明される、高級ホテル範疇を含む、1つまたは複数の検索結果範疇に分類することが可能である。
【0021】
信号が検索クエリ220のロケールを含むとき、そのロケールは、検索クエリ220の地理的領域を含むことが可能である。例えば、検索クエリ220が少数の(例えば、しきい値未満の)検索結果だけを生み出すことになる地理的領域を含むとき、関連する信号は、そのような検索結果を示すことが可能であり、したがって、検索結果は分類された検索結果を含まない。しかし、検索クエリ220が多くの(例えば、しきい値を超える)検索結果を生み出すことになる地理的領域を含むとき、関連する信号はそのような検索結果を示すことが可能であり、したがって、検索結果は分類された検索結果を含む。信号が検索クエリ220の範疇を含むとき、範疇は少数の(例えば、しきい値未満の)関連する検索結果だけを有することが可能である。したがって、関連する信号はそのような検索結果を示すことが可能であり、したがって、検索結果は分類された検索結果を含まない。しかし、範疇が複数の(例えば、しきい値を超える)検索結果を含むとき、関連する信号はそのような検索結果を示すことが可能であり、したがって、検索結果は分類された検索結果を含む。
【0022】
本開示によれば、検索結果を1つまたは複数の検索結果範疇に分類(クラスタリング)することが可能であり、1つまたは複数の範疇に基づいて、分類された検索結果リスト(例えば、分類された検索結果リスト224)を生成して、ユーザに表示することが可能である。ユーザに表示される各検索結果範疇は、1つまたは複数の対応する検索結果(例えば、検索結果225)を含むことが可能である。例えば、
図2に示されるように、4つの検索結果範疇226A〜226Dがユーザに表示され、単一の検索結果225が各範疇の下に表示される。
図2に示される検索結果範疇は、ブティックホテル範疇(ヘッディング226A)と、高級ホテル範疇(ヘッディング226B)と、格安ホテル範疇(ヘッディング222C)と、ホテルスパ範疇(ヘッディング226D)とを含む。概して、分類された検索結果リスト224は、任意の数の検索結果範疇を含むことが可能である。
【0023】
検索結果範疇226A〜226Dは、検索サービスに前に提出された類似の検索クエリに応答して、前に取得された検索結果に基づいて事前に決定され得る。例えば、検索システムは、前に提出された類似の検索クエリに応答することが分かった検索結果と関連付けられた範疇から事前定義された範疇を取得することができる。いくつかの実装形態では、検索結果範疇は、レビューウェブサイト(例えば、Yelp、Google Places、Trip Advisor)から取得されたデータから決定され得る。具体的には、レビューウェブサイトは、ユーザが提出した、施設、例えば、サンフランシスコ地域内のホテルのレビューを含むことが可能である。これらのレビューは、キーワードを含めて、それらの施設を記述する内容を含むことが可能である。レビューウェブサイトは施設を記述するそのようなキーワードに関して取り出される(mined)ことが可能であり、キーワードを検索結果範疇として使用することが可能である。
【0024】
いくつかの実装形態では、検索結果範疇は、関連するランキングスコア(または、品質スコア)を有することが可能である。一実装形態では、検索結果範疇のランキングスコアは、範疇に分類された検索結果のランキングスコアに基づくことが可能である。検索結果に関するランキングスコアは、任意の適切なまたは知られているランキングアルゴリズムによって決定可能である。いくつかの実装形態では、検索結果範疇226A〜226Dは、ランキングされた順序で検索結果リスト224内に表示される。例えば、検索結果範疇226A〜226Dは、ランキングスコアの降順で表示され、あるいは、ランキングスコアの昇順で表示されてもよい。いくつかの実装形態では、検索結果範疇は、より多くの数の検索結果を有する検索結果範疇が分類された検索結果リスト224上のより高い(または、より低い)位置に出現するように、各検索結果範疇に分類された、いくつかの検索結果によってランキングされることが可能である。いくつかの実装形態では、しきい値を超えるランキングスコアを有する検索結果範疇だけが分類された検索結果リスト224内に表示される。
【0025】
いくつかの実装形態では、各検索結果範疇内に表示された検索結果をランキングされた順序で、例えば、ランキングスコアの降順に表示することが可能である。いくつかの実装形態では、各検索結果範疇内に表示される検索結果の数は異なってよい。例えば、
図2に示されるように、検索結果範疇ごとに1つの検索結果だけを表示することが可能であり、または検索結果範疇ごとに、ランキングスコアの降順に2つ以上の検索結果を表示することも可能である。
【0026】
いくつかの実装形態では、ヘッディング226A〜226Dは、選択可能な(例えば、「クリック可能な」)リンクであってよい。これらの実装形態では、ヘッディング226A〜226Dのうちの1つが選択されたとき、その検索結果範疇に分類された検索結果だけをユーザに表示することができる。いくつかの実装形態では、分類された検索結果リスト224は、検索結果範疇226A〜226Dだけを含み、何の検索結果225も含まない。いくつかの実装形態では、検索結果リスト218は、分類された検索結果リスト224だけを含み、検索結果222を含まない。
【0027】
いくつかの実装形態では、検索結果範疇226A〜226Dは、選択されたとき、追加の検索結果を提供する追加の結果リンク(図示せず)をさらに含むことが可能である。例えば、検索結果範疇226Aは、選択されたとき、「高級」ホテル範疇に関する追加の検索結果を表示する追加の結果リンク「より高級なホテルを示す」(図示せず)を含むことが可能である。
【0028】
さらに、分類された検索結果リスト224内に含まれた検索結果範疇の数は、検索クエリ220に応じて異なってよい。例えば、検索クエリ220「ホテルサンフランシスコ」の場合、分類された検索結果リスト224内に4つの検索結果範疇と関連するヘッディング226とが提供される。しかし、異なる検索クエリ220は、結果として、分類された検索結果リスト224内に異なる数の検索結果範疇の提示をもたらすことが可能である。さらに、いくつかの実装形態では、分類された検索結果リスト224を提示した後で、より広い検索結果リスト218は、選択されたとき、検索クエリ220に応答する追加の検索結果範疇を提供するために「もっと見る」リンク(例えば、「検索結果範疇をもっと見る」)(図示せず)を含むことが可能である。例えば、検索結果範疇226A〜226Dに加えて、「もっと見る」リンク(図示せず)が選択されたとき、分類された検索結果リスト224内に「ロマンティックな」検索結果範疇(図示せず)を含めることも可能である。
【0029】
いくつかの実装形態では、検索結果リスト218は、1つまたは複数のソート選択234を含むことが可能である。ソート選択234は、選択されたとき、検索サービスによって提供された検索結果を異なるソート基準および/もしくはランキング基準によってランキングならびに/またはソートするリンクである。例えば、
図2に示されるように、ソート選択234は、「風景」、「歩行距離」、「価格」、「地域」、「ホテルクラス」、および「掲載記事」を含むことが可能であり、風景の質、所与の位置からの歩行距離、地域の属性などに従って、検索結果をソートおよび/またはランキングするために使用可能である。さらに、いくつかのソート選択234は、検索結果のさらなる精緻化を含むことが可能である。例えば、ソート選択234「ホテルクラス」の場合、ソート結果236をさらに精緻化して、「5つ星」、「4つ星」、「3つ星」、「2つ星」、および「1つ星」のホテルを含むことが可能である。
【0030】
いくつかの実装形態では、分類された検索結果リスト224は、しきい値を超えるいくつかの検索結果の数を含んだ検索結果範疇だけを含める。さらなる実装形態では、そのような範疇を表示するためのユーザ選択に応答して(例えば、上で説明された「もっと見る」リンクを介して)しきい値より少ない検索結果を含んだ検索結果範疇を分類された検索結果リスト224内に含めることが可能である。
【0031】
図3は、分類された検索結果を提供するための例示的な構成要素を含むシステム300のブロック図を示す。いくつかの例では、システム300は、検索エンジン302と、指標記録304と、分類エンジン306と、分類データベース308とを含む。検索エンジン302および分類エンジン306は、各々、1つまたは複数のコンピューティングデバイス(例えば、サーバ)を使用して実行される、1つまたは複数のコンピュータプログラムとして提供可能である。指標記録304および分類データベース308は、1つまたは複数のコンピュータ可読記憶媒体として提供可能である。
【0032】
検索エンジン302は、検索クエリ310(例えば、検索クエリ220)を受信する。検索クエリ310を受信することに応答して、検索エンジン302は、指標記録304の1つまたは複数の指数を用いて検索クエリ310を処理して、1つまたは複数の検索結果を識別する。
【0033】
検索結果を検索結果リスト312内に提供することが可能である。指標記録304は、ネットワーク上で利用可能なリソース(例えば、インターネット上で利用可能なウェブページ)に関する指標付き情報を含む。いくつかの例では、指標記録304は、様々な基準(例えば、表題、ヘッディング、またはメタデータから抽出された語)に鑑みて、その内容が解析されて、指標付けされているウェブページの指標を含む。いくつかの実装形態では、検索エンジン302は、検索クエリ310および他の基準(例えば、ユーザに関して知られている情報、リソースの「鮮度」)に基づいて、リソースのランキングスコアを決定することができる。いくつかの実装形態では、指標記録304は、指標内の参照されたリソースの前に決定されたランキングスコアを含む。
【0034】
分類エンジン306は、検索エンジン302から検索結果リスト312を受信して、検索結果リスト312内の検索結果の数をしきい値と比較する。検索結果リスト312内の検索結果の数がしきい値を超えるとき、分類エンジン306は、検索結果リスト312内に提供された検索結果を1つまたは複数の範疇に組織化する。いくつかの例では、分類エンジン306は、分類データベース308内に記憶されている、検索結果に割り当てられた前に定義された範疇に照らして、検索結果リスト312の検索結果を組織化する。例えば、ウェブページは、それらの内容に基づいて、または、前に提出されている類似の検索クエリに対するそれらの応答に基づいて、前に解析および分類されている場合がある。いくつかの実装形態では、検索結果リスト312内の検索結果の数がしきい値を超えるとき、分類エンジン306は、他の信号に基づいて、組み合わせて、またはその代わりに、検索結果リスト312内に提供された検索結果を組織化する。例えば、これらの信号は、ユーザから提供された入力、ユーザに基づいて決定された情報(例えば、ユーザのユーザプロフィール)、検索クエリ310のロケール、検索クエリ310の範疇、またはそれらの任意の組合せを含むことが可能である。
【0035】
分類エンジン306は、決定された範疇を検索結果リスト312に適用して、分類された検索結果リスト314(例えば、分類された検索結果リスト224)を提供する。いくつかの実装形態では、リソース(例えば、ウェブページ)を(分類データベース308内の)1つを超える範疇と関連付けることが可能である。検索結果リスト312の検索結果の数がしきい値未満であるとき、分類エンジン306は、検索結果リスト312内で提供された検索結果を範疇に組織化せず、検索結果リスト312を提供する(すなわち、検索結果リスト312に沿って伝える)。
【0036】
図4は、検索結果を提供するためのある例示的な方法400の流れ図である。例示的な方法400は、1つまたは複数のコンピューティングデバイスを使用して実行可能である。例えば、
図3のシステム300を用いるコンピューティングデバイス102および/またはサーバシステム104は、例示的な方法400を実行するために使用可能である。
【0037】
検索クエリを受信する(402)。例えば、検索クエリは、検索クエリフィールド212への入力として受信された検索クエリ220であってよい。さらに、検索クエリは、検索結果エンジン302に提供された(すなわち、検索結果エンジン302によって受信された)検索クエリ310であってよい。検索結果リストを提供する(404)。例えば、検索結果リストは、検索クエリ220に応答して提供された検索結果リスト218、または検索クエリ310に応答して、検索結果エンジン302によって提供された検索結果リスト312であってよい。
【0038】
例えば、分類エンジン306によって、検索結果リストの検索結果の数をしきい値と比較する(406)。検索結果リストの検索結果の数がしきい値以上であるとき、検索結果を分類する(408)。例えば、検索結果リスト312の検索結果の数がしきい値を超えるとき、分類エンジン306は、検索結果を1つまたは複数の範疇に組織化する。検索結果を分類することに応答して、分類された検索結果リストを提供する(410)。例えば、分類エンジン306は分類された検索結果リスト314を提供する。
【0039】
検索結果リストの検索結果の数がしきい値未満であるとき、分類なしに、検索結果リストを提供する(412)。例えば、検索結果リスト312の検索結果の数がしきい値未満であるとき、分類エンジン306は、検索結果リスト312内に提供された検索結果を何の範疇にも組織化しない。
【0040】
本開示の実装形態、および本明細書で提供される機能的動作のすべてを、本明細書で開示された構造、およびそれらの構造的均等物、またはそれらのうちの1つまたは複数の組合せを含めて、デジタル電子回路内、あるいはコンピュータソフトウェア内、コンピュータファームウェア内、またはコンピュータハードウェア内で実現することが可能である。本開示の実装形態を、1つまたは複数のコンピュータプログラム製品、すなわち、データ処理装置によって実行するため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実現することが可能である。コンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基盤、メモリデバイス、機械可読伝搬信号に影響を及ぼす物質の合成物、またはそれらの1つまたは複数の組合せであってよい。「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含めて、データを処理するためのすべての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムに関する実行環境を生み出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組合せを構成するコードを含むことが可能である。
【0041】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)コンピュータプログラムを、コンパイル型言語またはインタープリタ型言語を含めて、任意の形態のプログラミング言語で書き込むことが可能であり、独立型プログラムとして、またはコンピューティング環境で使用するのに適したモジュール、構成要素、サブルーチン、または他のユニットとして含めて、任意の形態で展開することが可能である。コンピュータプログラムは、ファイルシステム内のファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語文書内に記憶された1つまたは複数のスクリプト)を保持するファイルの部分内、問題のプログラム専用の単一のファイル内、または複数の協調ファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)内に記憶可能である。コンピュータプログラムは、1つのコンピュータ上、または1つのサイトに配置されるか、もしくは複数のサイトを通して分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開され得る。
【0042】
本開示で説明された方法および論理の流れは、入力データに作用して、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行可能である。方法および論理の流れは、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実行可能であり、装置はやはりそれらとして実施可能である。
【0043】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方と、任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサとを含む。一般に、プロセッサは、命令およびデータを読出し専用メモリもしくはランダムアクセスメモリ、またはそれらの両方から受信することになる。コンピュータの要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとを含むことが可能である。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク、または光ディスクをやはり含むか、あるいはそのような大容量記憶デバイスからデータを受信するため、またはそのような大容量記憶デバイスにデータを転送するため、あるいはその両方を行うために動作可能に結合されることになる。しかし、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータを、ほんのいくつかの例を挙げれば、別のデバイス、例えば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオプレイヤ、全地球測位システム(GPS)受信機の中に埋め込むことが可能である。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、例えば、内蔵ハードディスクまたは取外し可能ディスクと、光磁気ディスクと、CD ROMディスクおよびDVD-ROMディスクとを含めて、すべての形態の不揮発性メモリ、メディアデバイスおよびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完されてよく、または専用論理回路内に組み込まれてもよい。
【0044】
ユーザとの相互作用を提供するために、本開示の実装形態は、情報をユーザに表示するためのディスプレイデバイス、例えば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタ、それによってユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上で実施可能である。ユーザとの相互作用を提供するために、他の種類のデバイスを使用することも同様に可能であり、例えば、ユーザに提供されたフィードバックは任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含めて、任意の形態で受信可能である。
【0045】
本開示はいくつかの詳細を含むが、これらは本開示または特許請求される可能性のあるものの範囲の限定として解釈されるべきではなく、むしろ、本開示の例示的な実装形態の特徴の説明として解釈されるべきである。本開示において別個の実装形態の関連で説明されたある種の特徴は、単一の実装形態と組み合わせて提供されることも可能である。逆に、単一の実装形態の関連で説明された様々な特徴は、複数の実装形態の形で別個にまたは任意の適切なサブコンビネーションの形で提供されることも可能である。さらに、特徴は上である種の組合せの形で動作するとして説明され得、当初、そういうものとして特許請求されるが、場合によっては、特許請求される組合せからの1つまたは複数の特徴を組合せから除去することが可能であり、特許請求される組合せはサブコンビネーションまたはサブコンビネーションの改変形態に関する場合もある。
【0046】
同様に、動作は図面において特定の順序で示されるが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序でまたは連続的な順序で実行されること、または、すべての例示された動作が実行されることを必要とすると解釈されるべきではない。ある状況では、マルチタスキングおよび並行処理が有利な場合がある。さらに、上で説明された実装形態内の様々なシステム構成要素の分離は、すべての実装形態でそのような分離を必要とすると解釈されるべきではなく、説明されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品内に一緒に統合されてよく、または複数のソフトウェア製品内に梱包されてもよいことを理解されたい。
【0047】
したがって、本開示の特定の実装形態が説明されている。他の実装形態は、以下の請求項の範囲内である。例えば、請求項で列挙される動作は、異なる順序で実行されてよく、依然として、望ましい結果を達成する。いくつかの実装形態が説明されている。それでもなお、本開示の趣旨および範囲から逸脱せずに、様々な修正を行うことが可能であることを理解されよう。例えば、ステップを再度順序付けして、加えて、または除去して、上で示された様々な形態の流れを使用することが可能である。したがって、他の実装形態は以下の特許請求の範囲内である。