(57)【特許請求の範囲】
【請求項１】
１台以上のコンピューティング・デバイスによって、複数の検索語を含む検索クエリを受信する工程と、
前記１台以上のコンピューティング・デバイスによって、前記検索クエリにおいて、前記複数の検索語のうちの第１の検索語を識別する工程であって、前記第１の検索語は、複数のオブジェクト・タイプのうちの第１のオブジェクト・タイプに関連付けられるように決定される、第１の検索語を識別する工程と、
前記１台以上のコンピューティング・デバイスによって、前記検索クエリにおける前記第１の検索語をオプションにすることにより前記検索クエリを修正する工程であって、前記オプションにすることは、前記第１の検索語が前記第１のオブジェクト・タイプに関連付けられるように決定されることに基づき、前記オプションにすることは、修正された前記検索クエリの実行により、すべての結果に対する前記第１の検索語に一致する結果の特定の比を要求することを含む、前記検索クエリを修正する工程と、
前記１台以上のコンピューティング・デバイスによって、複数のデータ・ストアからの、前記第１のオブジェクト・タイプのオブジェクトを格納する第１のデータ・ストアに対して、実行用の修正された前記検索クエリを送信する工程と、
を含むことを特徴とする方法。
【請求項２】
１台以上のコンピューティング・デバイスによって、
前記オブジェクト・タイプのうちの第２のオブジェクト・タイプのオブジェクトを格納する第２のデータ・ストアに対して、実行用の修正なしの前記検索クエリを送信する工程と、
修正された前記検索クエリの実行による第１の検索結果と修正なしの前記検索クエリの実行による第２の検索結果とを集約する工程とを更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記１台以上のコンピューティング・デバイスによって、前記第１の検索結果に少なくとも一部基づいて、集約された前記検索結果をランク付けする工程を更に含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記第１の検索語をオプションにすることにより前記検索クエリを修正する工程は、前記検索クエリから前記第１の検索語を取り除く工程を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記検索語をオプションにすることにより前記検索クエリを修正する工程は、前記検索クエリにおける前記検索語に値を割り当てる工程を含み、修正された前記検索クエリは、修正された前記検索クエリの実行により、前記特定の比が前記割り当てられた値に相当することを要求することを特徴とする請求項１に記載の方法。
【請求項６】
前記第１のオブジェクト・タイプは、ユーザ、ウェブ・ページ、アプリケーション、あるいはグループであることを特徴とする請求項１に記載の方法。
【請求項７】
前記１台以上のコンピューティング・デバイスおよび前記複数のデータ・ストアは、ソーシャル・ネットワーキング・システムに関連付けられることを特徴とする請求項１に記載の方法。
【請求項８】
ソフトウェアを具現化する１つまたは複数の非一時的なコンピュータ可読記憶媒体であって、該ソフトウェアは実行時に、
複数の検索語を含む検索クエリを受信し、
前記検索クエリにおいて、前記複数の検索語のうちの第１の検索語を識別し、同第１の検索語は、複数のオブジェクト・タイプのうちの第１のオブジェクト・タイプに関連付けられるように決定され、
前記検索クエリにおいて前記第１の検索語をオプションにすることにより、前記検索クエリを修正し、前記オプションにすることは、前記第１の検索語が前記第１のオブジェクト・タイプに関連付けられるように決定されることに基づき、前記オプションにすることは、修正した前記検索クエリの実行により、すべての結果に対する前記第１の検索語に一致する結果の特定の比を要求することを含み、
複数のデータ・ストアからの、前記第１のオブジェクト・タイプのオブジェクトを格納する第１のデータ・ストアに対して、実行用の修正された前記検索クエリを送信する、
ように動作可能であることを特徴とするコンピュータ可読記憶媒体。
【請求項９】
前記ソフトウェアは、実行時に、
前記オブジェクト・タイプのうちの第２のオブジェクト・タイプのオブジェクトを格納する第２のデータ・ストアに対して、実行用の修正なしの前記検索クエリを送信し、
修正された前記検索クエリの実行による第１の検索結果と修正なしの前記検索クエリの実行による第２の検索結果とを集約する、
ように更に動作可能であることを特徴とする請求項８に記載の媒体。
【請求項１０】
前記ソフトウェアは、実行時に前記第１の検索結果に少なくとも一部基づいて、集約された前記検索結果をランク付けするように更に動作可能であることを特徴とする請求項９に記載の媒体。
【請求項１１】
前記第１の検索語をオプションにすることにより前記検索クエリを修正するために、前記ソフトウェアは、実行時に前記検索クエリから前記第１の検索語を取り除くように動作可能であることを特徴とする請求項８に記載の媒体。
【請求項１２】
前記検索語をオプションにすることにより前記検索クエリを修正するために、前記ソフトウェアは、実行時に前記検索クエリにおける前記検索語に値を割り当てるように動作可能であり、修正された前記検索クエリは、修正された前記検索クエリの実行により、前記特定の比が前記割り当てられた値に相当することを要求することを特徴とする請求項８に記載の媒体。
【請求項１３】
前記第１のオブジェクト・タイプは、ユーザ、ウェブ・ページ、アプリケーション、あるいはグループであることを特徴とする請求項８に記載の媒体。
【請求項１４】
前記非一時的なコンピュータ可読記憶媒体および前記複数のデータ・ストアは、ソーシャル・ネットワーキング・システムに関連付けられることを特徴とする請求項８に記載の媒体。
【請求項１５】
１つ以上のプロセッサと、
同１つ以上のプロセッサによって実行可能な指示を含むとともに前記１つ以上のプロセッサに接続されるメモリとを備え、前記１つ以上のプロセッサは、前記指示の実行時に、
複数の検索語を含む検索クエリを受信し、
前記検索クエリにおいて、前記複数の検索語のうちの第１の検索語を識別し、該第１の検索語は、複数のオブジェクト・タイプのうちの第１のオブジェクト・タイプに関連付けられるように決定され、
前記検索クエリにおいて前記第１の検索語をオプションにすることにより、前記検索クエリを修正し、前記オプションにすることは、前記第１の検索語が前記第１のオブジェクト・タイプに関連付けられるように決定されることに基づき、前記オプションにすることは、修正した前記検索クエリの実行により、すべての結果に対する前記第１の検索語に一致する結果の特定の比を要求することを含み、
複数のデータ・ストアからの、前記第１のオブジェクト・タイプのオブジェクトを格納する第１のデータ・ストアに対して、実行用の修正された前記検索クエリを送信する、
ように動作可能であることを特徴とするシステム。
【請求項１６】
前記１つ以上のプロセッサは、前記指示の実行時に、
前記オブジェクト・タイプのうちの第２のオブジェクト・タイプのオブジェクトを格納する第２のデータ・ストアに対して、実行用の修正なしの前記検索クエリを送信し、
修正された前記検索クエリの実行による第１の検索結果と修正なしの前記検索クエリの実行による第２の検索結果とを集約する、
ように更に動作可能であることを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記１つ以上のプロセッサは、前記指示の実行時に、前記第１の検索結果に少なくとも一部基づいて、集約された前記検索結果をランク付けするように更に動作可能であることを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記第１の検索語をオプションにすることにより前記検索クエリを修正するために、前記１つ以上のプロセッサは、前記指示の実行時に、前記検索クエリから前記第１の検索語を取り除くように動作可能であることを特徴とする請求項１５に記載のシステム。
【請求項１９】
前記検索語をオプションにすることにより前記検索クエリを修正するために、前記プロセッサは、前記指示の実行時に、前記検索クエリにおける前記検索語に値を割り当てるように動作可能であり、修正された前記検索クエリは、修正された前記検索クエリの実行により、前記特定の比が前記割り当てられた値に相当することを要求することを特徴とする請求項１５に記載のシステム。
【請求項２０】
前記特定の比はゼロであることを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データベースに関する。
【背景技術】
【０００２】
ソーシャルネットワーキング・ウェブサイトを含むソーシャル・ネットワーキング・システムにより、そのユーザ（人または団体など）は、ソーシャル・ネットワーキング・システムと対話し、ソーシャル・ネットワーキング・システムを介して互いに対話することができる。ソーシャル・ネットワーキング・システムは、ユーザからの入力により、ユーザに関連付けられたユーザ・プロフィールをソーシャル・ネットワーキング・システムに作成するとともに格納する。ユーザ・プロフィールは、ユーザの人口統計の情報、通信チャンネル情報、および個人的な関心についての情報を含む。ソーシャル・ネットワーキング・システムは、ユーザからの入力により、ソーシャル・ネットワーキング・システムの他のユーザとのユーザの関係の記録を生成するとともに格納する他、２人以上のユーザ間のソーシャルな対話を促進するためのサービス（例えば、ウォール・ポスト、写真共有、イベント構成、メッセージ、ゲーム、あるいは広告）を提供する。
【０００３】
ソーシャル・ネットワーキング・システムは、１つ以上のネットワーク上で、そのサービスに関係するコンテンツやメッセージを、ユーザのモバイルや他のコンピューティング・デバイスに送信する。ユーザは、ユーザのユーザ・プロフィールおよびソーシャル・ネットワーキング・システム内の他のデータにアクセスするために、ユーザのモバイルや他のコンピューティング・デバイスにソフトウェア・アプリケーションを更にインストールする。ソーシャル・ネットワーキング・システムは、ユーザにつながる他のユーザの集約されたストーリーのニュースフィードのような、ユーザに表示するべきコンテンツ・オブジェクトの個別化された組を生成する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、明細書に開示される。
【課題を解決するための手段】
【０００５】
所定の実施形態において、検索クエリにおける検索語を識別し、また、検索語をオプションにすることにより検索クエリを修正することによって、検索クエリを最適化する方法が開示される。所定の実施形態では、１台以上のコンピューティング・デバイスが検索クエリを受信し、検索クエリにおいて、複数のオブジェクト・タイプのうちの第１のオブジェクト・タイプに関連付けられる検索語を識別する。コンピューティング・デバイスは、検索クエリにおける検索語をオプションにすることにより、検索クエリを修正する。コンピューティング・デバイスは第１のオブジェクト・タイプの第１のデータ格納オブジェクトに対して、実行用の修正された検索クエリを送信する。コンピューティング・デバイスは、オブジェクト・タイプのうちの第２のオブジェクト・タイプのオブジェクトを格納する第２のデータ・ストアに対して、実行用の修正なしの検索クエリを更に送信し、修正された検索クエリの実行による第１の検索結果と修正なしの検索クエリを実行することによる第２の検索結果とを集約する。
より具体的には、方法は、１台以上のコンピューティング・デバイスによって、複数の検索語を含む検索クエリを受信する工程と、前記１台以上のコンピューティング・デバイスによって、前記検索クエリにおいて、前記複数の検索語のうちの第１の検索語を識別する工程であって、前記第１の検索語は、複数のオブジェクト・タイプのうちの第１のオブジェクト・タイプに関連付けられるように決定される、第１の検索語を識別する工程と、前記１台以上のコンピューティング・デバイスによって、前記検索クエリにおける前記第１の検索語をオプションにすることにより前記検索クエリを修正する工程であって、前記オプションにすることは、前記第１の検索語が前記第１のオブジェクト・タイプに関連付けられるように決定されることに基づき、前記オプションにすることは、修正された前記検索クエリの実行により、すべての結果に対する前記第１の検索語に一致する結果の特定の比を要求することを含む、前記検索クエリを修正する工程と、前記１台以上のコンピューティング・デバイスによって、複数のデータ・ストアからの、前記第１のオブジェクト・タイプのオブジェクトを格納する第１のデータ・ストアに対して、実行用の修正された前記検索クエリを送信する工程と、を含む。
【図面の簡単な説明】
【０００６】
【図１】ソーシャル・ネットワーキング・システムに関連付けられたネットワーク環境を例示する図。
【図２】ソーシャル・グラフを例示する図。
【図３】ソーシャル・ネットワーキング・システムのオブジェクトの格納のための分割を例示する図。
【図４】検索クエリを最適化する方法を例示する図。
【図５】コンピュータ・システムを例示する図。
【発明を実施するための形態】
【０００７】
図１は、ソーシャル・ネットワーキング・システムに関連する例示的なネットワーク環境１００を示す。ネットワーク環境１００は、ネットワーク１１０によって互いに接続されたユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサード・パーティ・システム１７０を含む。図１はユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サード・パーティ・システム（ｔｈｉｒｄ−ｐａｒｔｙ  ｓｙｓｔｅｍ）１７０、およびネットワーク１１０の特定の構成を示すが、本開示は、ユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サード・パーティ・システム１７０、およびネットワーク１１０の任意の適切な構成を企図する。限定ではなく例として、ネットワーク１１０を迂回して、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサード・パーティ・システム１７０のうちの２つ以上を互いに直接的に接続することができる。別の例として、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサード・パーティ・システム１７０のうちの２つ以上を、物理的または論理的に、全体的または部分的に共に配置することができる。さらに、図１は特定の数のユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サード・パーティ・システム１７０、およびネットワーク１１０を示すが、本開示は、任意の適切な数のユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サード・パーティ・システム１７０、およびネットワーク１１０を企図する。限定ではなく例として、ネットワーク環境１００は、複数のユーザ１０１、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、サード・パーティ・システム１７０、およびネットワーク１１０を含むことができる。
【０００８】
特定の実施形態では、ユーザ１０１は、ソーシャル・ネットワーキング・システム１６０と、またはソーシャル・ネットワーキング・システム１６０を介して対話または通信する個人（人間のユーザ）、エンティティ（例えば、企業、ビジネス、またはサード・パーティ・アプリケーション）、または（例えば、個人またはエンティティの）グループでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークをホストするネットワーク・アドレス指定可能コンピューティング・システム（ｎｅｔｗｏｒｋ−ａｄｄｒｅｓｓａｂｌｅ  ｃｏｍｐｕｔｉｎｇ  ｓｙｓｔｅｍ）でよい。ソーシャル・ネットワーキング・システム１６０は、例えば、ユーザ・プロファイル・データ、概念プロファイル・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関する他の適切なデータなどのソーシャル・ネットワーキング・データを生成、格納、受信、および送信することができる。ネットワーク環境１００の他の構成要素により、直接的に、またはネットワーク１１０を介して、ソーシャル・ネットワーキング・システム１６０にアクセスすることができる。特定の実施形態では、ソーシャル・ネットワーキング・システム１６０は、例えば、適切なプライバシー設定を設定することなどにより、ユーザ１０１がそのアクションをソーシャル・ネットワーキング・システム１６０によって記録させること、または他のシステム（例えば、サード・パーティ・システム１７０）と共有させることを選択するか、または選択しないことを可能にする許可サーバ（あるいは他の適切な１つ以上のコンポーネント）を含むことができる。ユーザのプライバシー・セッティングにより、ユーザに関連付けられるどのような情報のログが記録されるか、どのようにユーザに関連付けられる情報のログが記録されるか、いつユーザに関連付けられる情報がログを記録されるか、誰がユーザに関連付けられる情報のログを記録するか、誰がユーザに関連付けられる情報を共有するか、いかなる目的でユーザに関連付けられる情報のログを記録するか、あるいは情報を共有するかが決定される。認証サーバは、好適にブロッキング、データ・ハッシング、匿名化、あるいは他の適切な技術を介してソーシャル・ネットワーキング・システム１６０のユーザの１つ以上のプライバシー・セッティングを強化することに使用される。所定の実施形態では、サード・パーティ・システム１７０は、ウェブサイトおよびアプリケーションをホストすることができるネットワーク・アドレス指定可能なコンピューティング・システムである。サード・パーティ・システム１７０は、例えばウェブ・ページ、テキスト、画像、動画、オーディオ、あるいはアプリケーションなどのサードパーティ・システムデータを生成し、格納し、送受信する。ネットワーク環境１００の他の構成要素により、直接的に、またはネットワーク１１０を介して、サード・パーティ・システム１７０にアクセスすることができる。特定の実施形態では、１人または複数のユーザ１０１は、１つまたは複数のクライアント・システム１３０を使用して、ソーシャル・ネットワーキング・システム１６０��たはサード・パーティ・システム１７０にアクセスしてデータを送り、ソーシャル・ネットワーキング・システム１６０またはサード・パーティ・システム１７０からデータを受信することができる。クライアント・システム１３０は、直接的に、ネットワーク１１０を介して、またはサード・パーティ・システムを介して、ソーシャル・ネットワーキング・システム１６０またはサード・パーティ・システム１７０にアクセスすることができる。限定ではなく例として、クライアント・システム１３０は、ソーシャル・ネットワーキング・システム１６０を介してサード・パーティ・システム１７０にアクセスすることができる。クライアント・システム１３０は、例えば、パーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマートフォン、またはタブレット・コンピュータなどの任意の適切なコンピューティング装置でよい。
【０００９】
本開示は任意の適切なネットワーク１１０を企図する。限定ではなく例として、ネットワーク１１０のうちの１つまたは複数の部分は、アドホック・ネットワーク（ａｄ  ｈｏｃ  ｎｅｔｗｏｒｋ）、イントラネット、エクストラネット、仮想プライベート・ネットワーク（ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ：ＶＰＮ）、ローカル・エリア・ネットワーク（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ：ＬＡＮ）、ワイヤレスＬＡＮ（ｗｉｒｅｌｅｓｓ  ＬＡＮ：ＷＬＡＮ）、広域ネットワーク（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ：ＷＡＮ）、ワイヤレスＷＡＮ（ｗｉｒｅｌｅｓｓ  ＷＡＮ：ＷＷＡＮ）、大都市圏ネットワーク（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ：ＭＡＮ）、インターネットの一部、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋ：ＰＳＴＮ）の一部、携帯電話網、またはこれらの２つ以上の組合せを含むことができる。ネットワーク１１０は１つまたは複数のネットワーク１１０を含むことができる。
【００１０】
リンク１５０は、クライアント・システム１３０、ソーシャル・ネットワーキング・システム１６０、およびサード・パーティ・システム１７０を通信ネットワーク１１０に接続するか、または互いに接続することができる。本開示は任意の適切なリンク１５０を企図する。特定の実施形態では、１つまたは複数のリンク１５０は、１つまたは複数のワイヤーライン（ｗｉｒｅｌｉｎｅ）（例えば、デジタル加入者線（Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ：ＤＳＬ）またはＤａｔａ  Ｏｖｅｒ  Ｃａｂｌｅ  Ｓｅｒｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＤＯＣＳＩＳ）など）、ワイヤレス（例えば、Ｗｉ−ＦｉまたはＷｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ（ＷｉＭＡＸ）など）、または光（例えば、同期光ネットワーク（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｏｐｔｉｃａｌ  Ｎｅｔｗｏｒｋ：ＳＯＮＥＴ）または同期デジタル階層（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｉｇｉｔａｌ  Ｈｉｅｒａｒｃｈｙ：ＳＤＨ）など）リンクを含む。特定の実施形態では、１つまたは複数のリンク１５０はそれぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部、ＰＳＴＮの一部、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク１５０、または２つ以上のそのようなリンク１５０の組合せを含む。リンク１５０は、必ずしもネットワーク環境１００全体を通じて同一である必要はない。１つまたは複数の第１のリンク１５０は、１つまたは複数の点で１つまたは複数の第２のリンク１５０と異なることがある。
【００１１】
図２は、例示的なソーシャル・グラフ２００を示す。特定の実施形態では、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数のデータ・ストア（ｄａｔａ  ｓｔｏｒｅ）内に１つまたは複数のソーシャル・グラフ２００を格納することができる。特定の実施形態では、ソーシャル・グラフ２００は、複数のノード（これは複数のユーザ・ノード２０２または複数の概念ノード（ｃｏｎｃｅｐｔ  ｎｏｄｅ）２０４を含むことができる）と、ノードを接続する複数のエッジ（ｅｄｇｅ）２０６とを含むことができる。図２に示される例示的なソーシャル・グラフ２００は、説明のために、２次元視覚マップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム１６０、クライアント・システム１３０、またはサード・パーティ・システム１７０は、ソーシャル・グラフ２００および適切なアプリケーションについての関連するソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ２００のノードおよびエッジを、データ・オブジェクトとして、例えばデータ・ストア（ソーシャル・グラフ・データベースなど）内に格納することができる。そのようなデータ・ストアは、ソーシャル・グラフ２００のノードまたはエッジの１つまたは複数の検索可能または照会可能な索引を含むことができる。
【００１２】
特定の実施形態では、ユーザ・ノード２０２は、ソーシャル・ネットワーキング・システム１６０のユーザに対応することができる。限定ではなく例として、ユーザは、ソーシャル・ネットワーキング・システム１６０と、またはソーシャル・ネットワーキング・システム１６０を介して対話または通信する個人（人間のユーザ）、エンティティ（例えば、企業、ビジネス、またはサード・パーティ・アプリケーション）、または（例えば、個人またはエンティティの）グループでよい。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム１６０にアカウントを登録するとき、ソーシャル・ネットワーキング・システム１６０は、ユーザに対応するユーザ・ノード２０２を作成し、１つまたは複数のデータ・ストア内にユーザ・ノード２０２を格納することができる。本明細書で説明するユーザおよびユーザ・ノード２０２は、適切な場合、登録されたユーザおよび登録されたユーザに関連するユーザ・ノード２０２を指す。追加または代替として、本明細書で説明するユーザおよびユーザ・ノード２０２は、適切な場合、ソーシャル・ネットワーキング・システム１６０に登録していないユーザを指す。特定の実施形態では、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム１６０を含む様々なシステムによって収集される情報に、ユーザ・ノード２０２を関連付けることができる。限定ではなく例として、ユーザは、ユーザの名前、プロファイル写真、連絡先情報、誕生日、性別、結婚状況、家族状況、職業、学歴、好み、関心、または他の人口統計情報を提供することができる。特定の実施形態では、ユーザに関連する情報に対応する１つまたは複数のデータ・オブジェクトにユーザ・ノード２０２を関連付けることができる。特定の実施形態では、ユーザ・ノード２０２は、１つまたは複数のウェブ・ページに対応することができる。
【００１３】
特定の実施形態では、概念ノード２０４は概念（ｃｏｎｃｅｐｔ）に対応することができる。限定ではなく例として、概念は、場所（例えば、映画館、レストラン、ランドマーク、または都市など）、ウェブサイト（例えば、ソーシャル・ネットワーク・システム１６０に関連するウェブサイトまたはウェブ・アプリケーション・サーバに関連するサード・パーティ・ウェブサイトなど）、エンティティ（例えば、人、会社、グループ、スポーツ・チーム、または有名人など）、ソーシャル・ネットワーキング・システム１６０内またはウェブ・アプリケーション・サーバなどの外部サーバ上に位置することのできるリソース（例えば、オーディオ・ファイル、ビデオ・ファイル、デジタル・フォト、テキスト・ファイル、構造化された文書、またはアプリケーションなど）、物的または知的財産（例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著作物など）、ゲーム、活動、アイデアまたは理論、他の適切な概念、あるいは２つ以上のそのような概念に対応することができる。ユーザによって提供される概念の情報、またはソーシャル・ネットワーキング・システム１６０を含む様々なシステムによって収集される情報に概念ノード２０４を関連付けることができる。限定ではなく例として、概念の情報は、名前またはタイトル、１つまたは複数のイメージ（例えば、本のカバー・ページのイメージ）、位置（例えば、住所または地理的位置）、ウェブサイト（それをＵＲＬに関連付けることができる）、連絡先情報（例えば、電話番号またはｅメール・アドレス）、他の適切な概念情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態では、概念ノード２０４に関連する情報に対応する１つまたは複数のデータ・オブジェクトに概念ノード２０４を関連付けることができる。特定の実施形態では、概念ノード２０４は１つまたは複数のウェブ・ページに対応することができる。
【００１４】
特定の実施形態では、ソーシャル・グラフ２００内のノードは、ウェブ・ページ（「プロファイル・ページ」と呼ばれることがある）を表すこと、またはウェブ・ページによって表すことができる。プロファイル・ページは、ソーシャル・ネットワーキング・システム１６０によってホストすること、またはソーシャル・ネットワーキング・システム１６０にとってアクセス可能にすることができる。プロファイル・ページはまた、サード・パーティ・サーバ１７０に関連するサード・パーティ・ウェブサイト上でホストすることもできる。限定ではなく例として、特定の外部ウェブ・ページに対応するプロファイル・ページは、特定の外部ウェブ・ページでよく、プロファイル・ページは、特定の概念ノード２０４に対応することができる。プロファイル・ページは、他のユーザのすべてまたは選択された一部分によって閲覧可能とすることができる。限定ではなく例として、ユーザ・ノード２０２は、対応するユーザがその中でコンテンツを追加し、宣言を行い、あるいはユーザ自身を表現することのできる、対応するユーザ・プロファイル・ページを有することができる。限定ではなく別の例として、概念ノード２０４は、特に概念ノード２０４に対応する概念に関連して、１人または複数のユーザがその中でコンテンツを追加し、宣言を行い、またはユーザ自身を表現することのできる、対応する概念プロファイル・ページを有することができる。
【００１５】
特定の実施形態では、概念ノード２０４は、サード・パーティ・システム１７０によってホストされるサード・パーティ・ウェブページまたはリソースを表すことができる。サード・パーティ・ウェブページまたはリソースは、他の要素において、コンテンツ、選択可能な、もしくは他のアイコン、またはアクションもしくは活動を表す（例えば、ＪＡＶＡ（登録商標）Ｓｃｒｉｐｔ、ＡＪＡＸ、またはＰＨＰコードで実装することのできる）他の対話型オブジェクトを含むことができる。限定ではなく例として、サード・パーティ・ウェブページは、「いいね」、「チェックイン（ｃｈｅｃｋ  ｉｎ）」、「食べる（ｅａｔ）」、「レコメンド（ｒｅｃｏｍｍｅｎｄ）」、または別の適切なアクションもしくは活動などの、選択可能なアイコンを含むことができる。サード・パーティ・ウェブページを閲覧するユーザは、アイコンのうちの１つ（例えば、「食べる」）を選択し、クライアント・システム１３０に、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム１６０に送信させることによってアクションを実施することができる。メッセージに応答して、ソーシャル・ネットワーキング・システム１６０は、ユーザに対応するユーザ・ノード２０２と、サード・パーティ・ウェブページまたはリソースに対応する概念ノード２０４との間のエッジ（例えば、「食べる」エッジ）を作成し、１つまたは複数のデータ・ストア内にエッジ２０６を格納することができる。
【００１６】
特定の実施形態では、１つまたは複数のエッジ２０６によってソーシャル・グラフ２００内の１対のノードを互いに接続することができる。１対のノードを接続するエッジ２０６は、その１対のノード間の関係を表すことができる。特定の実施形態では、エッジ２０６は、１対のノード間の関係に対応する１つまたは複数のデータ・オブジェクトまたは属性を含むか、または表すことができる。限定ではなく例として、第１のユーザは、第２のユーザが第１のユーザの「友人」であることを示すことができる。この表示に応答して、ソーシャル・ネットワーキング・システム１６０は、第２のユーザに「友人要求」を送信することができる。第２のユーザが「友人要求」を確認した場合、ソーシャル・ネットワーキング・システム１６０は、第１のユーザのユーザ・ノード２０２をソーシャル・グラフ２００内の第２のユーザのユーザ・ノード２０２に接続するエッジ２０６を作成し、データ・ストア１６４のうちの１つまたは複数の中にエッジ２０６をソーシャル・グラフ情報として格納することができる。図２の例では、ソーシャル・グラフ２００は、ユーザ「Ａ」とユーザ「Ｂ」のユーザ・ノード２０２間の友人関係を示すエッジ２０６と、ユーザ「Ｃ」とユーザ「Ｂ」のユーザ・ノード２０２間の友人関係を示すエッジとを含む。本開示は、特定のユーザ・ノード２０２を接続する特定の属性を有する特定のエッジ２０６を説明するかまたは図示するが、本開示は、ユーザ・ノード２０２を接続する任意の適切な属性を有する任意の適切なエッジ２０６を企図する。限定ではなく例として、エッジ２０６は、友人関係、家族関係、ビジネスまたは雇用関係、ファン関係（ｆａｎ  ｒｅｌａｔｉｏｎｓｈｉｐ）、フォロワ関係、ビジター関係（ｖｉｓｉｔｏｒ  ｒｅｌａｔｉｏｎｓｈｉｐ）、加入者関係、上位／従属関係、相互関係、非相互関係、別の適切なタイプの関係、または２つ以上のそのような関係を表すことができる。さらに、本開示は一般にノードが接続されているものとして説明するが、本開示はまた、ユーザまたは概念が接続されているものとして説明する。本明細書では、接続されているユーザまたは概念に対する参照は、適切な場合、１つまたは複数のエッジ２０６によってソーシャル・グラフ２００内で接続されているユーザまたは概念に対応するノードを指すことがある。
【００１７】
特定の実施形態では、ユーザ・ノード２０２と概念ノード２０４との間のエッジ２０６は、概念ノード２０４に関連する概念に対する、ユーザ・ノード２０２に関連するユーザによって実施される特定のアクションまたは活動を表すことができる。限定ではなく例として、図２に示されるように、ユーザは、概念に対して「いいね」を表明し、概念に「出席し」、概念を「再生し」、概念を「聴取し」、概念を「調理し」、概念に「取り組み」、または概念を「視聴する」ことができ、そのそれぞれは、エッジ・タイプまたはサブタイプに対応することができる。概念ノード２０４に対応する概念プロファイル・ページは、例えば、選択可能な「チェックイン」アイコン（例えば、クリッカブル（ｃｌｉｃｋａｂｌｅ）「チェックイン」アイコンなど）または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム１６０は、それぞれのアクションに対応するユーザのアクションに応答して、「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく別の例として、ユーザ（ユーザ「Ｃ」）が、特定のアプリケーション（オンライン音楽アプリケーションであるＳＰＯＴＩＦＹ）を使用して、特定の歌を聴取することができる（「イマジン」）。この場合、ソーシャル・ネットワーキング・システム１６０は、（図２に示すように）ユーザに対応するユーザ・ノード２０２と、歌およびアプリケーションに対応する概念ノード２０４との間の「聴取済み（ｌｉｓｔｅｎｅｄ）」エッジ２０６および「使用済み（ｕｓｅｄ）」エッジを作成し、ユーザが歌を聴取し、アプリケーションを使用したことを示すことができる。さらに、ソーシャル・ネットワーキング・システム１６０は、（図２に示すように）歌およびアプリケーションに対応する概念ノード２０４間の「再生済み（ｐｌａｙｅｄ）」エッジ２０６を作成し、特定の歌が特定のアプリケーションによって再生されたことを示すことができる。この場合、「再生済み」エッジ２０６は、外部アプリケーション（ＳＰＯＴＩＦＹ）によって外部オーディオ・ファイル（歌「イマジン」）に対して実施されたアクションに対応する。本開示は、ユーザ・ノード２０２および概念ノード２０４を接続する特定の属性を有する特定のエッジ２０６を説明するが、本開示は、ユーザ・ノード２０２および概念ノード２０４を接続する任意の適切な属性を有する任意の適切なエッジ２０６を企図する。さらに、本開示は単一の関係を表すユーザ・ノード２０２と概念ノード２０４との間のエッジを説明するが、本開示は、１つまたは複数の関係を表すユーザ・ノード２０２と概念ノード２０４との間のエッジを企図する。限定ではなく例として、エッジ２０６は、ユーザが特定の概念を好むこと、および特定の概念を使用したことの両方を表すことができる。あるいは、別のエッジ２０６は、（図２の、ユーザ「Ｅ」に関するユーザ・ノード２０２と、「ＳＰＯＴＩＦＹ」に関する概念ノード２０４との間で示されるように）ユーザ・ノード２０２と概念ノード２０４との間の各タイプの関係（または複数の単一の関係）を表すことができる。
【００１８】
特定の実施形態では、ソーシャル・ネットワーキング・システム１６０は、ソーシャル・グラフ２００内のユーザ・ノード２０２と概念ノード２０４との間のエッジ２０６を作成することができる。限定ではなく例として、（例えば、ユーザのクライアント・システム１３０によってホストされるウェブ・ブラウザまたは専用アプリケーションを使用することによって）概念プロファイル・ページを閲覧するユーザは、「いいね」アイコンをクリックまたは選択することにより、ユーザが概念ノード２０４によって表される概念を好むことを示すことができ、それによって、ユーザのクライアント・システム１３０に、ユーザが概念プロファイル・ページに関連する概念を好むことを示すメッセージをソーシャル・ネットワーキング・システム１６０に送信させることができる。メッセージに応答して、ソーシャル・ネットワーキング・システム１６０は、ユーザと概念ノード２０４との間の「いいね」エッジ２０６で示されるように、ユーザに関連するユーザ・ノード２０２と、概念ノード２０４との間のエッジ２０６を作成することができる。特定の実施形態では、ソーシャル・ネットワーキング・システム１６０は、１つまたは複数のデータ・ストア内にエッジ２０６を格納することができる。特定の実施形態では、特定のユーザ・アクションに応答して、エッジ２０６をソーシャル・ネットワーキング・システム１６０によって自動的に形成することができる。限定ではなく例として、第１のユーザが写真をアップロードし、映画を視聴し、または歌を聴取する場合、第１のユーザに対応するユーザ・ノード２０２と、これらの概念に対応する概念ノード２０４との間のエッジ２０６を形成することができる。本開示は、特定の方式で特定のエッジ２０６を形成することを説明するが、本開示は、任意の適切な方式で任意の適切なエッジ２０６を形成することを企図する。
【００１９】
更に、任意の２つのノード間の隔たりの度合いは、１つのノードから別のノードまでソーシャル・グラフを横断するのに必要な最小数のホップ（あるいはエッジ）として定義される。２つのノード間の隔たりの度合いは、ユーザ間、あるいはソーシャル・グラフにおける２つのノードによって表される両概念の間の関連性の基準と考えられる。
【００２０】
上述したように、ソーシャル・ネットワーキング・システムは１つ以上のデータ・ストアにソーシャル・グラフの情報および他のソーシャル・ネットワーキング・システム関連情報を格納する。所定の実施形態では、データ・ストアに格納される情報は、所定のデータ構造体によって整理される。データ・ストアはそれぞれ、リレーショナル・データベース、列指向（ｃｏｌｕｍｎａｒ）データベース、相関関係データベース、あるいは他の適切なデータベースである。所定の実施形態においては、任意の適切なタイプのデータベースが考えられる。所定の実施形態においては、ソーシャル・ネットワーキング・システム、クライアント・システム、あるいはサード・パーティ・システムが、データ・ストアに格納される情報を管理、検索、修正、付加、あるいは削除可能なインターフェースが提供される。
【００２１】
付加的に、データベースは複数のパーティションに分割される。パーティションはそれぞれ個別のサーバによって、あるいは個別の物理的な位置に保持される。データベースの各パーティションのインデックスがデータベース全体のためのインデックスよりも小さいと、分割により、データベースにアクセスする際のパフォーマンスが改善される。複数のパーティションが多くのサーバに分配されると（パーティションの各々は、地理的に多様な位置で複写される）、分割により、データベースにアクセスする際のパフォーマンスおよび信頼性が更に改善される。データベースはデータベースの行（あるいは列）を個別に格納することにより分割される。データベースはハッシング・アルゴリズムを使用することによっても分割される。データベースは、データベース（例えば、米国の各時間帯の顧客）によって保持されるデータのある実際の世界の区分化によっても分割される。所定の実施形態においては、オブジェクト・タイプに基づきデータのコレクションのストレージがパーティション分割される。所定の実施形態においては、複数のパーティションにデータ・オブジェクトが格納され、各パーティションは１つのオブジェクト・タイプのデータ・オブジェクトを保持する。
【００２２】
図３は、ソーシャル・ネットワーキング・システムのオブジェクトの格納のためのパーティション分割、あるいはデータのコレクションを格納する任意の適切なシステムを例示する図である。図３の例では、複数のデータ・ストアあるいはバーティカル（ｖｅｒｔｉｃａｌｓ）（例えば、Ｐ１、Ｐ２、Ｐ３など）は、ソーシャル・ネットワーキング・システムのオブジェクトを格納する。所定の実施形態では、データ・ストアはそれぞれ対応するデータストレージ・デバイス３４０に複数のオブジェクト・タイプのうちの特定のオブジェクト・タイプのオブジェクトを格納するように構成される。オブジェクト・タイプは、ユーザ、ウェブ・ページ、アプリケーション、グループ、音楽、写真、動画、投稿、ニュース、質問、コメント、イベント、メッセージ、オファー（例えばクーポン）、およびレビューである。所定の実施形態においては、ソーシャル・ネットワーキング・システムの任意の適切なオブジェクト・タイプや、データのコレクションを格納する任意のシステムが考えられる。例えば、図３に例示されるバーティカルＰ１はユーザ・オブジェクトを格納し、バーティカルＰ２はウェブ・ページ・オブジェクトを格納し、バーティカルＰ３はアプリケーション・オブジェクトを格納する。すなわち、データ・ストアはそれぞれ、単一のオブジェクト・タイプのオブジェクトを格納する。所定の実施形態では、各データ・ストアやバーティカルに格納されるオブジェクトは、検索インデックスによってインデックスを付けられる。検索インデックスは、１台以上のコンピューティング・デバイス（例えばサーバ）を含む、各インデックス・サーバ３３０によってホストされる。
【００２３】
所定の実施形態では、１台以上のコンピューティング・デバイス（例えば、ソーシャル・ネットワーキング・システムのサーバ）にホストされるサーバ処理は、図３に例示するバーティカルにオブジェクトを格納する。サーバ処理はオブジェクトを受信し、受信オブジェクトのオブジェクト・タイプを識別する。例えば、サーバ処理は、特定のユーザによってソーシャル・ネットワーキング・システムにアップロードされるアプリケーションを受信し、アプリケーションのオブジェクト・タイプ（例えばアプリケーション）を識別する。サーバ処理は、受信アプリケーションに識別子（例えば、文字列）を割り当てる。付加的に、サーバ処理は、受信オブジェクトに関連付けられた情報を決定する。例えば、サーバ処理は、アプリケーション、アプリケーションに関するコメント、あるいはアプリケーションの位置を使用して、１人以上のユーザを決定する。サーバ処理は、識別されるオブジェクト・タイプのオブジェクトを格納するように構成される少なくとも１つの特定のデータ・ストアに受信オブジェクトを格納する。例えば、サーバ処理は、図３に例示するアプリケーション・バーティカルＰ３に受信アプリケーションを格納する。サーバ処理は、特定のデータ・ストアに受信オブジェクトに関連付けられた情報を格納する。サーバ処理は、受信オブジェクトに少なくとも一部基づき特定のデータ・ストアの検索インデックスを更新する。
【００２４】
いくつかの実施形態では、受信オブジェクト（例えば、受信アプリケーション）は、ソーシャル・ネットワーキング・システムのソーシャル・グラフの特定のノードに相当する。特定のノードと別のノードとをつなげるエッジは、受信オブジェクトと、別のノードに対応するユーザ（あるいは概念）との関係を示す。すなわち、サーバ処理は、特定のデータ・ストア（識別されたオブジェクト・タイプの）に、ソーシャル・グラフにおける受信オブジェクトの情報、および受信オブジェクトに対応するノード同士をつなげる１つ以上のエッジの情報を格納する。サーバ処理は、受信オブジェクトに基づきデータ・ストアの検索インデックスを、また、受信オブジェクトに関連付けられる関係（すなわちエッジ）を更新する。
【００２５】
ユーザあるいはコンピューティング・プロセスは、図３に例示するバーティカルに実行用の検索クエリを送り、これにより、バーティカルのインデックス・サーバは、検索クエリに対して１つ以上の検索結果を検索するとともに返す。インデックス・サーバはその全体において検索クエリを使用して検索結果を検索する。しかしながら、検索クエリ全体に基づく検索結果は最適ではないであろう。例えば、ユーザは、「ｆａｒｍｖｉｌｌｅ」という名のゲーム・アプリケーションを検索するために検索クエリ「ｆａｒｍｖｉｌｌｅアプリ」を送信する。検索クエリ「ｆａｒｍｖｉｌｌｅアプリ」全体が図３に例示するアプリケーション・バーティカルＰ３に送信されると、アプリケーション・バーティカルＰ３が「ｆａｒｍｖｉｌｌｅ」あるいは「ｆａｒｍｖｉｌｌｅ  ２」のようなアプリケーション・オブジェクトのみを格納するがアプリケーション・オブジェクト「ｆａｒｍｖｉｌｌｅアプリ」を格納しないため、アプリケーション・バーティカルＰ３のインデックス・サーバは、一致の結果を返さないであろう。これに対し、検索クエリ「ｆａｒｍｖｉｌｌｅ」がアプリケーション・バーティカルＰ３に送信されると、アプリケーション・バーティカルＰ３のインデックス・サーバは、一致した結果（例えばアプリケーション「ｆａｒｍｖｉｌｌｅ」および「ｆａｒｍｖｉｌｌｅ  ２」）を返す。すなわち、検索クエリが特定のバーティカルに送信される際に検索クエリにおける１つ以上の用語が取り払われるかオプションとされると、検索クエリにより、よりよい検索結果が生成される。所定の実施形態において、検索クエリにおける検索語をオプションにすることにより、検索クエリを最適化する方法が開示される。所定の実施形態においては、検索クエリにおいて検索語およびその対応するバーティカルが識別され、検索語をオプションにすることにより検索クエリが修正され、修正された検索クエリが、実行するために対応するバーティカルに送信される。
【００２６】
図４は、検索クエリを最適化する方法４００を例示する。方法４００は、ソーシャル・ネットワーキング・システムの１台以上のコンピューティング・デバイス（例えばサーバ）、あるいは１つ以上のデータベースを含む任意の適切なシステムによってホストされる集約処理（例えば、図３に例示されるトップ集約装置３２０）によって実行される。方法は工程４１０で開始する。所定の実施形態においては、工程４１０で、集約処理は検索クエリを受信する。例えば、集約処理は図３に例示するような検索クエリを受信する。検索クエリはテキスト・ストリングを含む。検索クエリは、ＰＨＰプロセス（あるいはソーシャル・ネットワーキング・システムの別のプロセス）を介してユーザによって送信される構造化しているか、実質的に構造化していないテキスト・ストリングである。検索クエリは、「ｆａｒｍｖｉｌｌｅアプリ」、「ベックス会社」、「レイク・タホ」、あるいは「米国大統領」などのテキスト・ストリングである。
【００２７】
所定の実施形態では、ソーシャル・ネットワーキング・システムは、実行するために、特定のバーティカルに送信される検索クエリにおいてオプションとされる１つ以上の検索語を指定する。例えば、ソーシャル・ネットワーキング・システムは、アプリケーション・バーティカルＰ３に送信される検索クエリにおいてオプションとされる検索語「アプリ」、「アプリケーション」、および「ゲーム」を指定する。ソーシャル・ネットワーキング・システムは、ページ・バーティカルＰ２に送信される検索クエリにおいてオプションとされる検索語「単ページ」、「複数ページ」、「会社」、「会社概要」、および「ｃｏｍ」を指定する。ソーシャル・ネットワーキング・システムは、ユーザ・バーティカルＰ１に送信される検索クエリにおいてオプションとされる検索語「友達」および「人」を指定する。ソーシャル・ネットワーキング・システムは、グループ・オブジェクト・タイプのオブジェクトを格納するデータ・ストアに送信される検索クエリにおいてオプションとされる検索語「単グループ」および「複数グループ」を更に指定する。所定の実施形態において、工程４２０では、集約処理は、検索クエリにおける複数のオブジェクト・タイプのうちの第１のオブジェクト・タイプに関連付けられる検索語を識別する。すなわち、集約処理は、検索クエリにおける第１のオブジェクト・タイプのオブジェクトを格納する特定のバーティカルに対応する検索語を識別する。検索語は、実行するために、特定のバーティカルに送信される検索クエリにおいてオプションとされる。
【００２８】
所定の実施形態において、工程４３０では、集約処理は、検索クエリにおける検索語をオプションにすることにより、検索クエリを修正する。集約処理は、検索クエリから検索語を取り除くことにより検索語をオプションにする。例えば、集約処理は、検索クエリ「ｆａｒｍｖｉｌｌｅアプリ」においてアプリケーション・オブジェクト・タイプに関連付けられる検索語「アプリ」を識別する。集約処理は、検索クエリから検索語を取り除くことにより検索語「アプリ」をオプションにする。すなわち、集約処理は検索クエリを「ｆａｒｍｖｉｌｌｅ」と修正する。別の例において、集約処理は、検索クエリ「ベックス会社」を受信する（例えば「ベック」あるいは「ベックス」という名の会社を検索するユーザから）。集約処理は、検索クエリ「ベックス会社」においてウェブ・ページ・オブジェクト・タイプに関連付けられる検索語「会社」を識別する。集約処理は、検索クエリから検索語を取り除くことにより検索語「会社」をオプションにする。すなわち、集約処理は検索クエリを「ベックス」と修正する。一実施形態において、集約処理は、検索クエリから「ａ」、「ａｎ」、あるいは「ｔｈｅ」のような１つ以上のストップワードを取り除く。例えば、集約処理は、検索クエリ「米国大統領」から「ｔｈｅ」を取り除く。
【００２９】
別例においては、集約処理は、検索クエリにおける検索語に値を割り当てることにより、検索語をオプションにする。修正された検索クエリは、修正された検索クエリの実行から、値を超えるすべての結果に対する検索語に一致する結果の比を要求する。例えば、集約処理は、検索クエリ「ｆａｒｍｖｉｌｌｅアプリ」において検索語「アプリ」に０．２の値を割り当てる。集約処理は検索クエリを「ｆａｒｍｖｉｌｌｅアプリ  ０．２」と修正する。修正済の検索クエリ「ｆａｒｍｖｉｌｌｅアプリ  ０．２」は、検索結果の２０％（すなわち０．２）が検索語「アプリ」と一致する必要があり、検索結果の残りの８０％がその検索語を省略することを要求する。すなわち、修正済の検索クエリ「ｆａｒｍｖｉｌｌｅアプリ  ０．２」の１００の検索結果がある場合、２０の結果が検索語「アプリ」と一致する必要があり、８０の結果が検索クエリの残り（すなわち「ｆａｒｍｖｉｌｌｅ」）のみと一致する。別の例において、集約処理は検索クエリ「レイク・タホ」を受信する。集約処理は、検索クエリ「レイク・タホ」において、ウェブ・ページ・オブジェクト・タイプに関連付けられる検索語「レイク」を識別する。集約処理は、検索クエリ「レイク・タホ」における検索語「レイク」に０．４の値を割り当てる。修正済の検索クエリ「レイク  ０．４  タホ」は、検索結果の４０％が検索語「レイク」と一致する必要があり、検索結果の残りの６０％がその検索語を省略する。すなわち、修正済の検索クエリ「レイク  ０．４  タホ」の１００の検索結果がある場合、４０の結果が検索語「レイク」と一致する必要があり、６０の結果が検索クエリの残り（すなわち「タホ」）にのみ一致する。
【００３０】
所定の実施形態において、工程４４０では、集約処理は、第１のオブジェクト・タイプのオブジェクトを格納する第１のデータ・ストアに対して、実行用の修正された検索クエリを送信する。すなわち、集約処理は、識別される検索語に対応するバーティカルに対して、実行用の修正された検索クエリを送信する。例えば、アプリケーション・オブジェクト・タイプに関連付けられる識別された検索語「アプリ」を有する検索クエリ「ｆａｒｍｖｉｌｌｅアプリ」において、集約処理は、図３に例示するアプリケーション・バーティカルＰ３に、修正済みの検索クエリ「ｆａｒｍｖｉｌｌｅ」（あるいは「ｆａｒｍｖｉｌｌｅアプリ  ０．２」）を送信する。アプリケーション・バーティカルＰ３が「ｆａｒｍｖｉｌｌｅ」を含む名前を有するアプリケーション・オブジェクトを格納する可能性が高く、アプリケーション・バーティカルＰ３が名前「ｆａｒｍｖｉｌｌｅアプリ」を有するアプリケーション・オブジェクトを格納する可能性が低いため、上述したように、修正済の検索クエリはよりよい検索結果を生成する。別の例において、ウェブ・ページ・オブジェクト・タイプに関連付けられる識別された検索語「会社」を有する検索クエリ「ベックス会社」に関して、集約処理は図３に例示するページ・バーティカルＰ２に修正済の検索クエリ「ベックス」を送信する。別の例において、ウェブ・ページ・オブジェクト・タイプに関連付けられる識別された検索語「レイク」を有する検索クエリ「レイク・タホ」に関して、集約処理は図３に例示するページ・バーティカルＰ２に修正済の検索クエリ「レイク  ０．４  タホ」を送信する。
【００３１】
第１のオブジェクト・タイプのオブジェクトを格納する第１のデータ・ストアに対して、実行用の修正された検索クエリを送信することに付加的に、所定の実施形態において、集約処理は、オブジェクト・タイプのうちの第２のオブジェクト・タイプのオブジェクトを格納する第２のデータ・ストアに対して、実行用の修正なしの検索クエリを送信する。すなわち、（識別された）第１のオブジェクト・タイプのオブジェクトを格納するデータ・ストアに修正された検索クエリを送信することに付加的に、集約処理は、第１のオブジェクト・タイプとは異なるオブジェクト・タイプのオブジェクトを各々格納する他のデータ・ストアに修正なしの検索クエリを送信する。例えば、集約処理は図３に例示するユーザ・バーティカルＰ１に、あるいはページ・バーティカルＰ２に、未修正の検索クエリ「ｆａｒｍｖｉｌｌｅアプリ」を送信する。別の例において、集約処理は図３に例示するユーザ・バーティカルＰ１に、あるいはアプリケーション・バーティカルＰ３に、未修正の検索クエリ「ベックス会社」を送信する。集約処理は図３に例示するユーザ・バーティカルＰ１に、あるいはアプリケーション・バーティカルＰ３に、未修正の検索クエリ「レイク・タホ」を送信する。
【００３２】
所定の実施形態において、集約処理は、修正された検索クエリの実行による第１の検索結果と修正なしの検索クエリ実行による第２の検索結果とを集約する。例えば、上述した検索クエリ「ｆａｒｍｖｉｌｌｅアプリ」において、集約装置は、アプリケーション・バーティカルＰ３から（修正済の検索クエリ「ｆａｒｍｖｉｌｌｅ」あるいは「ｆａｒｍｖｉｌｌｅアプリ  ０．２」に基づき）検索される検索結果の第１のリスト、並びにユーザ・バーティカルＰ１およびページ・バーティカルＰ２から（未修正の検索クエリ「ｆａｒｍｖｉｌｌｅアプリ」に基づき）検索される検索結果の第２のリストを集約する。集約処理は、検索結果の第１および第２のリストにＯＲ演算子を適用することにより、検索結果の第１および第２のリストを集約する。すなわち、集約される結果は、第１および第２のリストの検索結果の結合である。付加的に、所定の実施形態においては、集約処理は、第１の検索結果に少なくとも一部基づいて、集約された結果をランク付けする。例えば、集約処理は、（例えば、アプリケーション・バーティカルＰ３から修正済の検索クエリ「ｆａｒｍｖｉｌｌｅ」あるいは「ｆａｒｍｖｉｌｌｅアプリ  ０．２」に基づき検索される）第１の検索結果を、（例えば、ユーザ・バーティカルＰ１およびページ・バーティカルＰ２から未修正の検索クエリ「ｆａｒｍｖｉｌｌｅアプリ」に基づき検索される）第２の検索結果よりも高くランク付けする。
【００３３】
特定の実施形態は、適切な場合、図４の方法の１つまたは複数のステップを反復することができる。本開示は、図４の方法の特定のステップが特定の順序で行われるものとして説明および図示するが、本開示は、任意の適切な順序で行われる図４の方法の任意の適切なステップを企図する。さらに、本開示は、図４の方法の特定のステップを実施する特定の構成要素、装置、またはシステムを説明および図示するが、本開示は、図４の方法の任意の適切なステップを実施する任意の適切な構成要素、装置、またはシステムの任意の適切な組合せを企図する。
【００３４】
図５は、例示的なコンピュータ・システム５００を示す。特定の実施形態では、１つまたは複数のコンピュータ・システム５００は、本明細書で説明または図示される１つまたは複数の方法の１つまたは複数のステップを実施する。特定の実施形態では、１つまたは複数のコンピュータ・システム５００は、本明細書で説明または図示される機能を提供する。特定の実施形態では、１つまたは複数のコンピュータ・システム５００上で実行中のソフトウェアが、本明細書で説明または図示される１つまたは複数の方法の１つまたは複数のステップを実施しまたは本明細書で説明または図示される機能を提供する。特定の実施形態は、１つまたは複数のコンピュータ・システム５００の１つまたは複数の部分を含む。本明細書では、適切な場合、コンピュータ・システムに対する参照はコンピューティング装置を包含し、逆も同様である。さらに、適切な場合、コンピュータ・システムに対する参照は、１つまたは複数のコンピュータ・システムを包含する。
【００３５】
本開示は、任意の適切な数のコンピュータ・システム５００を企図する。本開示は、任意の適切な物理的形態を取るコンピュータ・システム５００を企図する。限定ではなく例として、コンピュータ・システム５００は、組込みコンピュータ・システム、システム・オン・チップ（ＳＯＣ）、シングル・ボード・コンピュータ・システム（ＳＢＣ）（例えば、コンピュータ・オン・モジュール（ＣＯＭ）やシステム・オン・モジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話型キオスク、メインフレーム、コンピュータ・システムのメッシュ、携帯電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらの２つ以上の組合せでよい。適切な場合、コンピュータ・システム５００は、１つまたは複数のコンピュータ・システム５００を含むことができ、一体型または分散型でよく、複数の場所にわたるものでよく、複数のマシンにわたるものでよく、複数のデータセンタにわたるものでよく、またはクラウド内に常駐することができ、クラウドは、１つまたは複数のネットワーク内の１つまたは複数のクラウド構成要素を含むことができる。適切な場合、１つまたは複数のコンピュータ・システム５００は、実質的な空間的または時間的な限定なしに、本明細書で説明または図示される１つまたは複数の方法の１つまたは複数のステップを実施することができる。限定ではなく例として、１つまたは複数のコンピュータ・システム５００は、本明細書で説明または図示される１つまたは複数の方法の１つまたは複数のステップをリアル・タイムに、またはバッチ・モードで実施することができる。適切な場合、１つまたは複数のコンピュータ・システム５００は、本明細書で説明または図示される１つまたは複数の方法の１つまたは複数のステップを異なる時刻または異なる場所で実施することができる。
【００３６】
特定の実施形態では、コンピュータ・システム５００は、プロセッサ５０２、メモリ５０４、ストレージ５０６、入力／出力（Ｉ／Ｏ）インターフェース５０８、通信インターフェース５１０、およびバス５１２を含む。本開示は、特定の構成の、特定の数の特定の構成要素を有する特定のコンピュータ・システムを説明および図示するが、本開示は、任意の適切な構成の、任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータ・システムを企図する。
【００３７】
特定の実施形態では、プロセッサ５０２は、コンピュータ・プログラムを構成するような命令を実行するハードウェアを含む。限定ではなく例として、命令を実行するために、プロセッサ５０２は、内部レジスタ、内部キャッシュ、メモリ５０４、またはストレージ５０６から命令を取り出し（またはフェッチし）、その命令を復号化および実行し、次いで内部レジスタ、内部キャッシュ、メモリ５０４、またはストレージ５０６に１つまたは複数の結果を書き込むことができる。特定の実施形態では、プロセッサ５０２は、データ、命令、またはアドレスのための１つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ５０２を企図する。限定ではなく例として、プロセッサ５０２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータ・キャッシュ、および１つまたは複数の変換ルックアサイド・バッファ（ｔｒａｎｓｌａｔｉｏｎ  ｌｏｏｋａｓｉｄｅ  ｂｕｆｆｅｒ：ＴＬＢ）を含むことができる。命令キャッシュ内の命令は、メモリ５０４またはストレージ５０６内の命令のコピーでよく、命令キャッシュは、プロセッサ５０２によるそうした命令の検索を加速することができる。データ・キャッシュ内のデータは、プロセッサ５０２で実行中の命令が演算するためのメモリ５０４またはストレージ５０６内のデータ、プロセッサ５０２で実行中の後続の命令によるアクセスのために、またはメモリ５０４もしくはストレージ５０６に書き込むために、プロセッサ５０２で実行された以前の命令の結果、あるいは他の適切なデータのコピーでもよい。データ・キャッシュは、プロセッサ５０２による読取りまたは書込み演算を加速することができる。ＴＬＢはプロセッサ５０２のための仮想アドレス変換（ｖｉｒｔｕａｌ−ａｄｄｒｅｓｓ  ｔｒａｎｓｌａｔｉｏｎ）を加速することができる。特定の実施形態では、プロセッサ５０２は、データ、命令、またはアドレス用の１つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ５０２を企図する。適切な場合、プロセッサ５０２は、１つまたは複数の演算論理装置（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ：ＡＬＵ）を含むことができ、マルチコア・プロセッサでよく、または１つまたは複数のプロセッサ５０２を含むことができる。本開示は特定のプロセッサを説明および図示するが、本開示は任意の適切なプロセッサを企図する。
【００３８】
特定の実施形態では、メモリ５０４は、プロセッサ５０２が実行するための命令、またはプロセッサ５０２が演算するためのデータを格納するメイン・メモリを含む。限定ではなく例として、コンピュータ・システム５００は、ストレージ５０６または別のソース（例えば、別のコンピュータ・システム５００など）からメモリ５０４に命令をロードすることができる。次いでプロセッサ５０２は、メモリ５０４から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ５０２は、内部レジスタまたは内部キャッシュから命令を取り出し、その命令を復号化することができる。命令の実行中または実行後に、プロセッサ５０２は、１つまたは複数の結果（これは中間結果または最終結果でよい）を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ５０２は、そうした結果の１つまたは複数をメモリ５０４に書き込むことができる。特定の実施形態では、プロセッサ５０２は、（ストレージ５０６または他の場所ではなく）１つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ５０４内の命令のみを実行し、（ストレージ５０６または他の場所ではなく）１つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ５０４内のデータのみに対して演算する。１つまたは複数のメモリ・バス（これはそれぞれアドレス・バスおよびデータ・バスを含むことができる）が、プロセッサ５０２をメモリ５０４に結合することができる。バス５１２は、以下で説明するように、１つまたは複数のメモリ・バスを含むことができる。特定の実施形態では、１つまたは複数のメモリ管理ユニット（ｍｅｍｏｒｙ  ｍａｎａｇｅｍｅｎｔ  ｕｎｉｔ：ＭＭＵ）が、プロセッサ５０２とメモリ５０４との間に常駐し、プロセッサ５０２によって要求されたメモリ５０４へのアクセスを可能にする。特定の実施形態では、メモリ５０４はランダム・アクセス・メモリ（ＲＡＭ）を含む。適切な場合、このＲＡＭは揮発性メモリでよい。適切な場合、このＲＡＭはダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）でよい。さらに、適切な場合、このＲＡＭは、単一ポートまたはマルチポートＲＡＭでよい。本開示は任意の適切なＲＡＭを企図する。適切な場合、メモリ５０４は、１つまたは複数のメモリ５０４を含むことができる。本開示は特定のメモリを説明および図示するが、本開示は任意の適切なメモリを企図する。
【００３９】
特定の実施形態では、ストレージ５０６は、データまたは命令用のマス・ストレージを含む。限定ではなく例として、ストレージ５０６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、あるいはこれらのうちの２つ以上の組合せを含むことができる。ストレージ５０６は、適切な場合、取外し可能または取外し不能（または固定）媒体を含むことができる。ストレージ５０６は、適切な場合、コンピュータ・システム５００の内部または外部でよい。特定の実施形態では、ストレージ５０６は不揮発性固体メモリである。特定の実施形態では、ストレージ５０６は読取り専用メモリ（ＲＯＭ）を含む。適切な場合、このＲＯＭは、マスクプログラムされたＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気書換え可能ＲＯＭ（ＥＡＲＯＭ）、またはフラッシュ・メモリ、あるいはこれらのうちの２つ以上の組合せでよい。本開示は、任意の適切な物理的形態を有するマス・ストレージ５０６を企図する。適切な場合、ストレージ５０６は、プロセッサ５０２とストレージ５０６との間の通信を可能にする１つまたは複数のストレージ制御ユニットを含むことができる。適切な場合、ストレージ５０６は、１つまたは複数のストレージ５０６を含むことができる。本開示は特定のストレージを説明および図示するが、本開示は任意の適切なストレージを企図する。
【００４０】
特定の実施形態では、Ｉ／Ｏインターフェース５０８は、コンピュータ・システム５００と１つまたは複数のＩ／Ｏ装置との間の通信のための１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム５００は、適切な場合、これらのＩ／Ｏ装置のうちの１つまたは複数を含むことができる。これらのＩ／Ｏ装置のうちの１つまたは複数は、人とコンピュータ・システム５００との間の通信を可能にすることができる。限定ではなく例として、Ｉ／Ｏ装置は、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なＩ／Ｏ装置、またはこれらのうちの２つ以上の組合せを含むことができる。Ｉ／Ｏ装置は１つまたは複数のセンサを含むことができる。本開示は、任意の適切なＩ／Ｏ装置およびそのための任意の適切なＩ／Ｏインターフェース５０８を企図する。適切な場合、Ｉ／Ｏインターフェース５０８は、プロセッサ５０２がこれらのＩ／Ｏ装置のうちの１つまたは複数を駆動することを可能にする１つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。Ｉ／Ｏインターフェース５０８は、適切な場合、１つまたは複数のＩ／Ｏインターフェース５０８を含むことができる。本開示は特定のＩ／Ｏインターフェースを説明および図示するが、本開示は任意の適切なＩ／Ｏインターフェースを企図する。
【００４１】
特定の実施形態では、通信インターフェース５１０は、コンピュータ・システム５００と、１つまたは複数の別のコンピュータ・システム５００あるいは１つまたは複数のネットワークとの間の通信（例えば、パケット・ベースの通信など）用の１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、通信インターフェース５１０は、イーサネット（登録商標）または他のワイヤ・ベースのネットワークと通信するネットワーク・インターフェース・コントローラ（ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃｏｎｔｒｏｌｌｅｒ：ＮＩＣ）またはネットワーク・アダプタ、あるいはＷｉ−Ｆｉネットワークなどのワイヤレス・ネットワークと通信するワイヤレスＮＩＣ（ｗｉｒｅ−ｂａｓｅｄ  ｎｅｔｗｏｒｋ  ｏｒ  ａ  ｗｉｒｅｌｅｓｓ：ＷＮＩＣ）またはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワークおよびそのための任意の適切な通信インターフェース５１０を企図する。限定ではなく例として、コンピュータ・システム５００は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、大都市圏ネットワーク（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ：ＭＡＮ）、またはインターネットの１つもしくは複数の部分、あるいはこれらのうちの２つ以上の組合せと通信することができる。これらのネットワークのうちの１つまたは複数の１つまたは複数の部分は、ワイヤードまたはワイヤレスでよい。１例を挙げると、コンピュータ・システム５００は、ワイヤレスＰＡＮ（ＷＰＡＮ）（例えば、ＢＬＵＥＴＯＯＴＨ（登録商標）  ＷＰＡＮなど）、Ｗｉ−Ｆｉネットワーク、ＷＩ−ＭＡＸネットワーク、携帯電話網（例えば、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ（ＧＳＭ（登録商標））ネットワークなど）、または他の適切なワイヤレス・ネットワーク、あるいはこれらのうちの２つ以上の組合せと通信することができる。コンピュータ・システム５００は、適切な場合、これらのネットワークのいずれかに関する任意の適切な通信インターフェース５１０を含むことができる。通信インターフェース５１０は、適切な場合、１つまたは複数の通信インターフェース５１０を含むことができる。本開示は特定の通信インターフェースを説明および図示するが、本開示は任意の適切な通信インターフェースを企図する。
【００４２】
特定の実施形態では、バス５１２は、コンピュータ・システム５００の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、バス５１２は、アクセラレーテッド・グラフィックス・ポート（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ：ＡＧＰ）または他のグラフィックス・バス、Ｅｎｈａｎｃｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＥＩＳＡ）バス、フロント・サイド・バス（ＦＳＢ）、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ（ＨＴ）相互接続、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、ＩＮＦＩＮＩＢＡＮＤ相互接続、低ピン・カウント（ｌｏｗ−ｐｉｎ−ｃｏｕｎｔ：ＬＰＣ）バス、メモリ・バス、Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バス、ＰＣＩ−Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バス、ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ  ｌｏｃａｌ（ＶＬＢ）バス、または別の適切なバス、あるいはこれらのうちの２つ以上の組合せを含むことができる。バス５１２は、適切な場合、１つまたは複数のバス５１２を含むことができる。本開示は特定のバスを説明および図示するが、本開示は、任意の適切なバスまたは相互接続を企図する。
【００４３】
本明細書では、コンピュータ可読非一時的記憶媒体は、適切な場合、１つまたは複数の半導体ベースの、または他の集積回路（ＩＣ）（例えば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または特定用途向けＩＣ（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスケット、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、固体ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切なコンピュータ可読非一時的記憶媒体、またはこれらの２つ以上の適切な組合せを含むことができる。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。
【００４４】
本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「または」は排他的ではなく包含的である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「ＡまたはＢ」は「Ａ、Ｂ、またはその両方」を意味する。さらに、別段に明記されていない限り、または文脈によって示されていない限り、「および」は協同および個々の両方である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「ＡおよびＢ」は、「ＡおよびＢが一緒に、または個別に」を意味する。
【００４５】
本開示の範囲は、当業者なら理解するはずである、本明細書で説明または図示される例示的実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または図示される例示的実施形態に限定されない。さらに、本開示は、本明細書のそれぞれの実施形態が特定の構成要素、要素、機能、動作、またはステップを含むものとして説明および図示するが、これらの実施形態のいずれも、当業者なら理解するはずである、本明細書のどこかで説明または図示される構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは置換を含むことができる。さらに、特定の機能を実施するように適合され、配置され、実施することが可能であり、実施するように構成され、実施することが可能にされ、実施するように動作可能である装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲での参照は、その装置、システム、または構成要素がそのように適合され、配置され、可能であり、構成され、可能にされ、動作可能にされる限り、その装置、システム、構成要素またはその特定の機能が活動化され、オンにされ、またはロック解除されるか否かに関わらず、その装置、システム、構成要素を包含する。
【図１】
0005986339.tif 000002
【図２】
0005986339.tif 000003
【図３】
0005986339.tif 000004
【図４】
0005986339.tif 000005
【図５】
0005986339.tif 000006