(57)【要約】【課題】ソーシャルネットワーキング・システムのユーザが入力した検索クエリに対して品質の高い検索結果をユーザに提示する方法を提供する。【解決手段】ユーザがクライアント・デバイスにおいて文字を入力するにつれ、検索クエリを受け取る工程と、検索クエリの文字と一致しているエンティティを識別する工程と、ユーザがエンティティとやりとりする蓋然性に基づいて、識別されたエンティティをランク付けする工程と、ソーシャルネットワーキング・システムのビジネス目標に基づいて、ランクを引き上げる工程と、ユーザが文字を入力するにつれ、提示のためにクライアント・デバイスに検索結果を送信する工程と、を備える方法が提供される。【選択図】図３
2015195062.tif 000002
【特許請求の範囲】
【請求項１】
ソーシャルネットワーキング・システムの１以上のコンピュータ・システムが、前記ソーシャルネットワーキング・システムの第１のユーザのクライアント・デバイスから、前記第１のユーザによって入力された１以上の文字を含む検索クエリを受け取る工程であって、前記第１のユーザが前記クライアント・デバイスにおいて前記ソーシャルネットワーキング・システムのユーザ・インターフェースに対して前記１以上の文字を入力するにつれ、前記１以上の文字が受け取られる、工程と、
前記ソーシャルネットワーキング・システムに関連付けられている１以上のエンティティを識別する工程であって、前記エンティティは、前記検索クエリの前記１以上の文字と一致している、工程と、
前記第１のユーザが識別された前記エンティティとやりとりする蓋然性に基づいて、識別された前記エンティティの各々をランク付けする、ランク付け工程と、
前記ソーシャルネットワーキング・システムのビジネス目標に基づいて、識別された前記エンティティの１以上のうちの１以上のランクを引き上げる、ランク引き上げ工程と、
受け取られた前記検索クエリに応答して、前記第１のユーザが前記クライアント・デバイスにおいて前記ソーシャルネットワーキング・システムのユーザ・インターフェースに対して前記１以上の文字を入力するにつれ、前記第１のユーザの前記クライアント・デバイスに１以上の検索結果を、前記第１のユーザに提示のために送信する工程であって、各検索結果は、識別された前記エンティティのうちの１つに対応しており、前記検索結果は、対応する識別された前記エンティティに対する前記ランク付け工程および前記ランク引き上げ工程に従って提示され、前記第１のユーザへの前記検索結果の提示は、前記第１のユーザが、前記第１のユーザとやりとりする前記検索結果のうちの１以上を選択することを可能にする、工程と、を備える、方法。
【請求項２】
前記検索クエリは、前記第１のユーザによって入力された前記１以上の文字を含むユーザ生成文字列であって、前記ユーザ生成文字列は、前記第１のユーザの前記クライアント・デバイスから受け取られ、前記ユーザ生成文字列の各文字が前記ユーザによって入力されるにつれ、前記ユーザ生成文字列は、前記第１のユーザによってクエリ・フィールドに入力され、かつ、前記クライアント・デバイスにおいてレンダリングされる、請求項１に記載の方法。
【請求項３】
前記クライアント・デバイスにおいて、クエリ・フィールドを前記検索結果によって自動的に埋める工程をさらに備える、請求項１に記載の方法。
【請求項４】
前記検索クエリは、クライアント・サイド・プロセスからの１以上の命令に応答して、前記クライアント・デバイス内で実行されている前記クライアント・サイド・プロセスから、または、クライアント・サイド・ドキュメント・レンダリング・アプリケーションから受け取られる、請求項１に記載の方法。
【請求項５】
前記検索結果は、前記第１のユーザによって入力されたところまでの前記１以上の文字に応答してリアルタイム提案として提供される、請求項１に記載の方法。
【請求項６】
識別された各エンティティは、ソーシャルネットワーキング・システムの１以上の機能に関連付けられている、請求項１に記載の方法。
【請求項７】
前記ビジネス目標は、前記機能の１以上に関連付けられている、請求項６に記載の方法。
【請求項８】
前記ビジネス目標は、ユーザに前記機能の１以上を使用するように奨励することを含む
、請求項６に記載の方法。
【請求項９】
前記ランク引き上げ工程は、識別された前記エンティティに関連付けられている前記機能の１以上との前記第１のユーザのやりとりのレベルにさらに基づく、請求項８に記載の方法。
【請求項１０】
前記第１のユーザが前記１以上の機能とやりとりしたレベルが低いほど、前記１以上の機能に関連付けられている識別された前記エンティティのうちの１以上の前記１以上のランクがより高く引き上げられる、請求項９に記載の方法。
【請求項１１】
前記機能の少なくとも１つは、前記ユーザが前記ソーシャルネットワーキング・システムの他のユーザに友人としての接続を形成することを可能にする、請求項６に記載の方法。
【請求項１２】
前記１以上の機能はさらに、
ソーシャル・グループの形成、
イベントの企画、
写真のアップロード、
少なくとも１つのソーシャルメディアアップデートを含むダイジェストの閲覧、
前記ソーシャルネットワーキング・システムによって最近実装された新たな機能とのやりとり、または、
前記ソーシャルネットワーキング・システムに対応しているオンライン・ゲームのプレイ、をすることを可能にする、請求項１に記載の方法。
【請求項１３】
前記ランク付け工程はさらに、前記第１のユーザの位置に基づく、請求項１に記載の方法。
【請求項１４】
前記ランク引き上げ工程は、前記第１のユーザを、識別された前記エンティティに関連付けられている１以上の機能に注目させるように、識別された前記エンティティの前記１以上の前記ランクを引き上げる工程を備える、請求項１に記載の方法。
【請求項１５】
前記ランク付け工程はさらに、識別された前記エンティティの前記検索クエリに対するコンテンツ関連性のレベルに基づく、請求項１に記載の方法。
【請求項１６】
前記ランク付け工程はさらに、識別された前記エンティティの前記検索クエリまたは前記第１のユーザに対する社会的関連性のレベルに基づく、請求項１に記載の方法。
【請求項１７】
前記ランク引き上げ工程はさらに、前記第１のユーザが、識別された前記エンティティに関連付けられている１以上の機能とやりとりしたレベルに基づいて、識別された前記エンティティに対して決定された引き上げ係数に基づく、請求項１に記載の方法。
【請求項１８】
前記ソーシャルネットワーキング・システムはソーシャル・グラフに関連付けられており、
前記ソーシャル・グラフは１以上のノードおよび１以上のエッジを含み、各ノードはエンティティを表しており、各エッジは２つのノード間を接続し、かつ、前記ノードの２つに各々対応して表されている前記エンティティの２つの間の関係を表しており、
前記ランク付け工程はさらに、識別された各々の前記エンティティに対して、識別された前記エンティティを表している第１のノードと、前記ソーシャル・グラフ中の前記第１のユーザを表している第２のノードとの間の距離に基づく、請求項１に記載の方法。
【請求項１９】
前記ランク付け工程は、１以上の以前の検索結果を選択するに際し、前記第１のユーザの行動履歴に基づいて、識別された前記エンティティの各々をランク付けする工程を備える、請求項１に記載の方法。
【請求項２０】
メモリと、
前記メモリに結合されている１以上のプロセッサであって、
ソーシャルネットワーキング・システムの第１のユーザのクライアント・デバイスから、前記第１のユーザによって入力された１以上の文字を含む検索クエリを受け取る工程であって、前記第１のユーザが前記クライアント・デバイスにおいて前記ソーシャルネットワーキング・システムのユーザ・インターフェースに対して前記１以上の文字を入力するにつれ、前記１以上の文字が受け取られる、工程と、
前記ソーシャルネットワーキング・システムに関連付けられている１以上のエンティティを識別する工程であって、前記エンティティは、前記検索クエリの前記１以上の文字と一致している、工程と、
前記第１のユーザが識別された前記エンティティとやりとりする蓋然性に基づいて、識別された前記エンティティの各々をランク付けする、ランク付け工程と、
前記ソーシャルネットワーキング・システムのビジネス目標に基づいて、識別された前記エンティティの１以上のうちの１以上のランクを引き上げる、ランク引き上げ工程と、
受け取られた前記検索クエリに応答して、前記第１のユーザが前記クライアント・デバイスにおいて前記ソーシャルネットワーキング・システムのユーザ・インターフェースに対して前記１以上の文字を入力するにつれ、前記第１のユーザの前記クライアント・デバイスに１以上の検索結果を、前記第１のユーザに提示のために送信する工程であって、各検索結果は、識別された前記エンティティのうちの１つに対応しており、前記検索結果は、対応する識別された前記エンティティに対する前記ランク付け工程および前記ランク引き上げ工程に従って提示され、前記第１のユーザへの前記検索結果の提示は、前記第１のユーザが、前記第１のユーザとやりとりする前記検索結果のうちの１以上を選択することを可能にする、工程と、
を含む操作を行うように構成される、プロセッサと、を備える、システム。
【請求項２１】
ソフトウェアを具現化する１以上の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは、１以上のコンピュータ・システムによって実行されるとき、
ソーシャルネットワーキング・システムの第１のユーザのクライアント・デバイスから、前記第１のユーザによって入力された１以上の文字を含む検索クエリを受け取る工程であって、前記第１のユーザが前記クライアント・デバイスにおいて前記ソーシャルネットワーキング・システムのユーザ・インターフェースに対して前記１以上の文字を入力するにつれ、前記１以上の文字が受け取られる、工程と、
前記ソーシャルネットワーキング・システムに関連付けられている１以上のエンティティを識別する工程であって、前記エンティティは、前記検索クエリの前記１以上の文字と一致している、工程と、
前記第１のユーザが識別された前記エンティティとやりとりする蓋然性に基づいて、識別された前記エンティティの各々をランク付けする、ランク付け工程と、
前記ソーシャルネットワーキング・システムのビジネス目標に基づいて、識別された前記エンティティの１以上のうちの１以上のランクを引き上げる、ランク引き上げ工程と、
受け取られた前記検索クエリに応答して、前記第１のユーザが前記クライアント・デバイスにおいて前記ソーシャルネットワーキング・システムのユーザ・インターフェースに対して前記１以上の文字を入力するにつれ、前記第１のユーザの前記クライアント・デバイスに１以上の検索結果を、前記第１のユーザに提示のために送信する工程であって、各検索結果は、識別された前記エンティティのうちの１つに対応しており、前記検索結果は、対応する識別された前記エンティティに対する前記ランク付け工程および前記ランク引
き上げ工程に従って提示され、前記第１のユーザへの前記検索結果の提示は、前記第１のユーザが、前記第１のユーザとやりとりする前記検索結果のうちの１以上を選択することを可能にする、工程と、が行われるように構成される、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、検索クエリ用に識別される検索結果の品質を向上させることに関する。
【背景技術】
【０００２】
インターネットは大量の情報を提供し、この情報は、サーバおよびクライアント上またはデータベース内など、世界中の多くの異なるサイトおよび多くの異なるデバイス上に記憶されうる。異なるサイトにあるこれらの異なるデバイスは、有線または無線の接続を介して、コンピュータまたは通信ネットワークに通信可能にリンクされている。人は、ネットワークに接続された好適なネットワーク・デバイス（たとえばコンピュータ、スマート・フォンなど）を用いて、インターネット上の使用可能な特定のいくつかの情報にアクセスできる。
【０００３】
インターネット上の莫大な量の情報が使用可能であるため、必要な特定のいくつかの情報についてインターネット全体を通じて人（たとえばネットワーク・ユーザ）が手動で検索することは、非現実的かつ不可能である。その代わりに、ほとんどのネットワーク・ユーザは、所望の情報を見つける手助けとして異なるタイプのコンピュータ実施ツールに依拠している。最も一般的かつ幅広く使用されるコンピュータ実施ツールの１つは、検索エンジンとも呼ばれる検索ツールである。インターネット上の特定のトピックに関する情報を検索するために、ユーザは、通常、しばしば「検索クエリ」または単に「クエリ」と呼ばれるそのトピックを記述するいくつかの単語を、検索ツールに提供する。検索ツールは、このクエリに基づき、様々な検索アルゴリズムを用いて検索を実行し、それぞれが検索クエリに関係している可能性が最も高い何らかの情報に対応する、検索結果のセットを生成する。次にこの検索結果がユーザに提示される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００９／０２７１３７４号明細書
【特許文献２】米国特許出願公開第２００９／０３０７２０５号明細書
【特許文献３】米国特許出願公開第２００８／０００５０７２号明細書
【特許文献４】米国特許出願公開第２００６／０２３５８７３号明細書
【特許文献５】韓国公開特許第１０−２０１１−００３２８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
高機能の検索ツールは、検索結果を単に検索工程の一部として識別することに加え、多くの他の機能性を実施する。たとえば検索ツールは、通常、検索クエリに関するそれらの相対的な関連度に従い、識別された検索結果をランク付けするものであるため、検索クエリに対する関連性が相対的に高い検索結果が高くランク付けされ、その結果として、検索クエリに対する関連性が低い検索結果よりも前にネットワーク・ユーザに提示される。検索ツールによって生成される検索結果の品質を向上させるために、持続的な取り組みが行われている。
【課題を解決するための手段】
【０００６】
本開示は、一般に、検索クエリ用に識別される検索結果の品質を向上させることに関する。
特定の実施形態において、１以上の計算装置（ｃｏｍｐｕｔｅｉｎｇ  ｄｅｖｉｃｅｓ）は、ユーザによって提供される検索クエリにアクセスすることと、その検索クエリに応答して検索結果のセットを識別することであって、そのセット内の１以上の検索結果がソーシャルネットワーキング・システムの機能に関連付けられる、識別することと、１以上の要素に基づいて検索結果のセットをランク付けすることと、ユーザを機能に注目させるために、機能に関連付けられた１以上の検索結果の１以上のランクを引き上げる（ｂｏｏｓｔ）ことと、検索結果のセットをそのランク付け順にユーザに提示することとが、可能である。
【０００７】
本開示のこれらおよび他の機能、態様、および利点を、以下の詳細な説明において、ならびに以下の図面に関連して、より詳細に説明する。
【図面の簡単な説明】
【０００８】
【図１】ソーシャルネットワーキング・システムに含まれる情報を表す例示のグラフを示す図。
【図２】ユーザが情報を検索するときに用い得る例示のユーザ・インターフェースを示す図。
【図３】検索クエリに応答して識別される検索結果のセットをランク付けする例示の方法を示す図。
【図４】例示のコンピュータシステムを示す図。
【発明を実施するための形態】
【０００９】
次に本開示を、添付の図面に示されるように、そのいくつかの実施形態を参照しながら詳細に説明する。以下の説明では、本開示を完全に理解するために多数の特定の細部が示されている。しかしながら本開示は、これらの特定の細部の一部またはすべてなしに実践可能である。その他の場合、本開示を不要に不明瞭にしないために、良く知られた方法工程および／または構造については詳細に説明されていない。加えて、本開示は特定の実施形態と関連して説明されているが、この説明は、説明された実施形態に本開示を限定することは意図されないことを理解されたい。それとは逆に、この説明は、添付の特許請求の範囲によって定義される本開示の趣旨および範囲内に含まれ得る、代替、修正、および等価物をカバーすることが意図される。
【００１０】
コンピュータ実施検索ツールは、インターネットまたはイントラネットなどの、１以上のネットワーク上の特定のトピックに関連する情報を検索するように設計される。検索を実行するために、ネットワーク・ユーザは、検索ツールに対して検索クエリを発行することができる。検索クエリは、一般に、トピックを記述する１以上の単語を含む。それに応じて、検索ツールは、それぞれが検索クエリに関係する可能性が高い何らかの情報に対応する、検索結果のセットを識別することができる。検索結果のセットは、任意数の要素に基づいてランク付けされ、それらそれぞれのランクに従ってユーザに提示され得る。
【００１１】
検索クエリに関して検索結果のセットをランク付けする場合、多くの異なる要素について考慮することができる。たとえば、各検索結果の内容を分析し、検索クエリに対するその関連度を決定することができる。加えて、特定の実施形態は、限定はしないが、たとえば、検索が実行されているコンテキスト、検索クエリによって記述されるトピックの性質または特徴、検索が要求される時点および位置、ならびに、検索を要求するユーザのソーシャルネットワーキング情報および挙動プロファイルなどの要素に基づき、検索結果をランク付けすることができる。特定の実施形態は、限定はしないが、たとえば、検索ツールを提供するエンティティのビジネス戦略または目標などの目的に従って、ある検索結果のランクを引き上げることもできる。
【００１２】
特定の実施形態において、検索ツールは、ソーシャルネットワーキング・システムによってまたはそれに従って提供され得る。ソーシャルネットワーキング・システムは、限定はしないが、たとえば、そのユーザが、電子メールまたはメッセージを介して自分の友人と連絡を取ること、イベントを企画すること、ソーシャル・グループを形成すること、写真をアップロードおよび共有すること、ニュース・フィードを読むこと、様々なウェブベースのアプリケーション（たとえば、ソーシャルネットワーキング・システムまたは第３者によって提供される）、オンライン・ゲームをプレイすることなどを、実行できるようにするなど、任意数の特徴を有し得る。特定の実施形態において、セット内の１以上の検索結果をこうした特徴に関連付けることができる。検索結果のセットをランク付けする場合、ユーザが有する機能とのやりとりのレベルは、考慮されうる。或る場合、ユーザが有する機能とのやりとりのレベルを引き上げ得ることを期待して、ユーザを機能に注目させるために、機能に関連付けられた検索結果のそれぞれのランクを引き上げる（すなわち人為的に上昇させる）ことができる。
【００１３】
ソーシャル・ネットワークとは、一般に、友情、親戚関係、共通の関心、金融取引、反感、あるいは信念、知識、または名声の関係などの、相互依存または関係の１以上のタイプによってつながっている、個人または組織などのエンティティによって構成される社会構造である。さらに最近では、ソーシャル・ネットワークは、インターネットを活用してきている。インターネット上にはソーシャルネットワーキング・ウェブサイトの形で、ソーシャルネットワーキング・システムが存在している。こうしたソーシャルネットワーキング・ウェブサイトは、一般にウェブサイト・ユーザと呼ばれるそのメンバーの様々な社会活動を可能にする。たとえば、Ｆａｃｅｂｏｏｋ（登録商標），Ｉｎｃ．によってｗｗｗ．ｆａｃｅｂｏｏｋ．ｃｏｍで運営されるソーシャルネットワーキング・ウェブサイトは、そのユーザが、電子メール、インスタント・メッセージ、またはブログへの投稿を介して自分の友人とコミュニケーションを取り、社会的イベントを計画し、写真を共有し、自分の友人または興味のあるイベントのニュースを受信し、ゲームをし、イベントを企画することなどを、可能にするものである。
【００１４】
ソーシャルネットワーキング・システムは、そのユーザに関する大量の情報を含むことができる。こうした情報は、個々のユーザの社会的つながりに限定されず、限定はしないが、たとえば、人口統計学的情報、ネットワークまたは社会活動、行動プロフィール、および、個々のユーザの個人的な好み、関心、または趣味を含むことができる。特定の実施形態は、任意数のノードおよびエッジを有し得るグラフを使用して、ソーシャルネットワーキング・システムに含まれる情報を表すことが可能であり、その一例が図１である。
【００１５】
図１のグラフ１００では、各ノードは、人間（たとえばソーシャルネットワーキング・システムのユーザ）または人間以外（たとえば位置、イベント、行動、ビジネス、物体、メッセージ、投稿、イメージ、ウェブ・ページ、ニュース・フィードなど）であり得る、エンティティを表すことができる。２つのノードは、２つのノードが何らかの方法で関係している（すなわち、２つのノード間に関係がある）場合、エッジに接続される。
【００１６】
グラフ１００における２つのノードが関係しているため、エッジに接続され得る場合、例示のケースは、限定はしないが、（１）２つのノードがそれぞれソーシャルネットワーキング・システムの２人のユーザを表し、その２人のユーザが社会的につながっている（たとえば互いに友人である）ケース、（２）２つのノードがそれぞれソーシャルネットワーキング・システムのユーザおよびイベントを表し、そのユーザがイベントに参加したケース、（３）２つのノードがソーシャルネットワーキング・システムのユーザおよび位置を表し、そのユーザがその位置にいたケース、（４）２つのノードがソーシャルネットワーキング・システムのユーザを表し、そのユーザがウェブ・ページとやりとりしていた（たとえばウェブ・ページを閲覧していた）ケース、（５）２つのノードがそれぞれイベン
トおよび位置を表し、そのイベントがその位置で開催されるケース、（６）２つのノードがそれぞれソーシャルネットワーキング・システムのユーザおよびイメージ（たとえばデジタル写真）を表し、そのユーザがそのイメージ中にいるケース、（７）２つのノードがそれぞれソーシャルネットワーキング・システムのユーザおよび製品（たとえば携帯電話）を表し、そのユーザがその製品を所有および使用するケース、ならびに（８）２つのノードがそれぞれソーシャルネットワーキング・システムのユーザおよびソフトウェア・アプリケーション（たとえばウェブベースのゲーム）を表し、そのユーザがそのアプリケーションを使用する（たとえばゲームをする）ケース、を含むことができる。接続は、２人の人間の間、人間と人間以外のエンティティとの間、および２つの人間以外のエンティティの間に存在し得る。２人の人間または人間以外のエンティティ間の任意のタイプの関係は、結果として２つのエンティティ間の接続を発生させる可能性がある。
【００１７】
グラフ１００において、２つの特定ノード間にエッジがある場合、その２つのノードは、直接関係しているとみなし得る。たとえば、エッジ１２０Ａはノード１１０Ａおよび１１０Ｂを接続しているため、ノード１１０Ａおよび１１０Ｂは、直接関係している。同様に、エッジ１２０Ｂはノード１１０Ｂおよび１１０Ｃを接続しているため、ノード１１０Ｂおよび１１０Ｃは、直接関係している。２つの特定ノード間にエッジがない場合、その２つのノードは依然として間接的に関係しているとみなし得る。たとえば、ノード１１０Ａを１１０Ｃに直接接続するエッジはないが、ノード１１０Ａとノード１１０Ｃとはノード１１０Ｂを介して依然として間接的に関係しているとみなし得る。
【００１８】
ノード１１０Ａに関して、ノード１１０Ｂは、ノード１１０Ｃに対するよりも近い関係を有し、これはグラフ１００において、ノード１１０Ａからノード１１０Ｂまで行くのは１ホップであるが、ノード１１０Ａからノード１１０Ｃまで行くのは２ホップ（すなわちノード１１０Ｂを通る）かかるためである。特定の実施形態では、２つの特定ノードに関して、１つのノードから別のノードまで行くのにかかるホップ数が少ないほど、２つのノードの関係は近い。
【００１９】
特定の実施形態において、ソーシャルネットワーキング・システムを実装するソーシャルネットワーキング・ウェブサイトは、そのユーザがソーシャル・コンテキストにおける特定のトピックに関する情報を検索できるようにする、検索ツールを提供することができる。図１に示されるようなグラフで表される情報を使用して、検索結果を識別およびランク付けするのを支援することができる。図２は、ユーザが検索クエリを提供し、検索結果を受信するときに用い得る、例示のユーザ・インターフェース２００を示す。このケースでは、ユーザが検索クエリを提供するときに用い得る入力フィールド２１０と、ユーザが検索クエリを（アイコン２２０をクリックすることによって）サブミットするときに用い得るアイコン２２０と、検索結果を表示し得る出力フィールド２３０とが存在する。
【００２０】
特定の実施形態において、図２に示されるようなユーザ・インターフェースを、電子デバイスのスクリーン上に表示するためにウェブ・ページまたはウィンドウ・パネルに組み込むことができる。たとえばインターフェース２００は、携帯電話またはタブレットのスクリーン上に表示されうる。
【００２１】
特定の実施形態において、検索ツールは、テキスト（たとえば検索クエリ）を徐々に検索してフィルタリングするためのユーザ・インターフェース対話方法である、「増分検索（ｉｎｃｒｅｍｅｎｔａｌ  ｓｅａｒｃｈ）」、「増分発見（ｉｎｃｒｅｍｅｎｔａｌ  ｆｉｎｄ）」、または「リアルタイム提案（ｒｅａｌ−ｔｉｍｅ  ｓｕｇｇｅｓｔｉｏｎｓ）」とも呼ばれる、「先行入力（ｔｙｐｅ  ａｈｅａｄ）」機能を実装可能である。ユーザが検索クエリのテキストを入力していくと、そのテキストに関する１以上の可能な合致が見つかり、ユーザに即時に提示される。この即時フィードバックにより、しばしばユ
ーザは、検索クエリの単語または語句全体を入力する前にやめることができる。ユーザは、提示されたリストから密接に関係するオプションを選択することも可能である。加えて、特定の実施形態において、ユーザが検索クエリのそれぞれの文字を入力していくと、それまでに入力したテキストに対応する検索結果のセットを、ユーザに対して即時に提示することができる。検索結果は、ユーザが文字を入力していくごとに更新され得る。
【００２２】
たとえば、ユーザがある人物の検索を希望し、検索クエリとしてその人物の名前の入力を開始すると想定する。第１にユーザは、文字「ｊ」を（たとえばユーザ・インターフェースに含まれる入力フィールド内に）入力する。この時点で、文字「ｊ」で始まるいくつかの名前（たとえばＪａｎｅ、Ｊｏｈｎ、Ｊｏｓｅｐｈ、Ｊｕｄｉｔｈなど）が、ユーザに提案され得る。加えて、提案された名前のうちの１以上に対応する検索結果のセット（たとえば、第１に提案された名前Ｊａｎｅ、または提案された名前Ｊａｎｅ、Ｊｏｈｎ、Ｊｏｓｅｐｈなどのうちのいくつか）も、ユーザに提示され得る。次にユーザが文字「ｏ」を入力すると想定する。この時点で、文字「ｊｏ」で始まる名前のいくつか（たとえばＪｏａｎ、Ｊｏｈｎ、Ｊｏｒｄｏｎ、Ｊｏｓｅｐｈ、Ｊｏｓｈｕａなど）が、ユーザに提示され得る。加えて、提案された名前のうちの１以上に対応する検索結果のセット（たとえばＪｏａｎ、またはＪｏａｎ、Ｊｏｈｎなど）も、ユーザに提示され得る。この工程は、ユーザが名前の入力を完了するまで、あるいは提案された名前または検索結果のうちの１つを選択するまで、続行され得る。先行入力については、２０１０年６月１５日出願の、全体としておよびすべての目的のために本願明細書に援用する、「Ｓｅａｒｃｈ  ａｎｄ  Ｒｅｔｒｉｅｖａｌ  ｏｆ  Ｏｂｊｅｃｔｓ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｙｓｔｅｍ」と題する米国特許出願第１２／８１６３７７号で、より詳細に説明されている。
【００２３】
検索語を入力する場合、ユーザは時折、検索語句の一部として誤った文字を入力することがある。特定ユーザの検索クエリ、一般ユーザの検索クエリ、デバイス上の現行キーボードのレイアウト、およびユーザが入力しようとしている可能性の高い言語の定義についての、過去の知識を用いることで、検索プロバイダは、たとえ誤った文字が入力された場合でも、可能性のある検索語句を「推測」することができる。たとえば標準的なＵＳ  ＱＷＥＲＴＹキーボードでは、文字「ｏ」は、文字「ｏ」、「ｐ」、「；」、「，」、および「ｋ」によって最も近くを囲まれている。ユーザが「ｊ」を入力した場合、「ｊｏ」以外のすべての２文字の組み合わせの結果セットは、ユーザの意図する検索クエリではない可能性が高い。「ｊｌ」についての結果が存在する場合は、それらが表示され得る。こうした結果が存在しない場合、「ｊｏ」についての結果が、一時的に自動修正が適用された旨のインジケータと共に、ユーザに対して表示され得る。これにより、検索結果をタップする前に検索結果をユーザが修正する必要は、削減される。
【００２４】
図２に示されたユーザ・インターフェース２００の例では、検索クエリをサブミットする（ｓｕｂｍｉｔ）ためのアイコン２２０が示されていることに留意されたい。このアイコンは、すべてのケースに必須ではない。たとえば「先行入力」機能がサポートされている場合、アイコン２２０は、不要であって、検索関係ユーザ・インターフェースに含まれる可能性がある。
【００２５】
検索ツールがユーザから検索クエリを受信した場合、その検索クエリに関連するとみなされる検索結果のセットを識別することができる。加えて検索結果のセットは、様々な要素、目的、および他の考慮事項に基づいてランク付けされうる。高いランクが付けられた検索結果は、低いランクが付けられた検索結果よりも前にユーザに提示される。ユーザに対して検索結果の良好なランク付けを達成することは、いくつかのケースにおいて特に望ましい。たとえば、しばしばユーザは、比較的小型のディスプレイ画面を有するモバイル電子デバイス（たとえば携帯電話またはタブレット・コンピュータ）を使用して検索を実
行するときがある。したがって、１つの画面内にそれほど多くの検索結果をユーザに表示および提示することはできない。ユーザが探している特定の検索結果を見つけるために、ユーザに複数の画面を下方スクロールさせないようにするには、これらの検索結果に高いランクを付けてユーザに最初に提示すれば、ユーザの時間を節約し、ユーザにとって検索体験をより効率的かつ楽しいものにすることができる。
【００２６】
特定の実施形態において、ユーザは、検索ツールを提供するかまたはこれに関連付けられたソーシャルネットワーキング・システムのユーザであり得る。検索クエリに応答して検索結果のセットをまとめ、ランク付けする場合、検索ツールは、ソーシャルネットワーキング・システム、ひいては検索ツールが使用可能な任意の関連情報（すなわち、インターネット上で使用可能なウェブ・ページまたは他のタイプのコンテンツのみに限定されない）を、検査および分析することができる。
【００２７】
たとえば、限定はしないが、検索ツールは、（１）検索クエリの性質およびコンテキスト（特にソーシャル・コンテキスト）（たとえば、検索クエリが人物、位置、イベント、場所、ソフトウェアまたはウェブ・アプリケーション、物体などについて言及しているかどうか）、（２）ユーザが検索を要求している社会的および人口統計学的情報（ユーザの社会的つながり、年齢、性別、家族状況など）、（３）ユーザの行動プロフィールまたは活動（たとえばユーザの日課、趣味、関心、過去のネットワークまたは社会活動など）、（４）ユーザが検索クエリを提供した時間および位置、（５）ソーシャルネットワーキング・システムがある検索結果（たとえば、ソーシャルネットワーキング・システムがユーザに注目させたい、ソーシャルネットワーキング・システムの機能に関連付けられた検索結果）のプロモーションを希望するかどうか、（６）ソーシャルネットワーキング・システムがユーザをある検索結果または行動へと向かわせるかまたは誘導することを希望するかどうか、（７）ユーザが典型的にあるクラスのまたはある特定の結果を選択するかまたは選択しないかなどの、この検索ツールまたは他の検索ツールを以前に使用したユーザの行動履歴、（８）或る位置でのユーザの行動履歴（たとえば、ユーザが自宅では常に人に関する結果を選択するが、自宅以外ではビジネスに関する結果を選択するなど）、および、（９）ユーザがある結果を選択した後に（たとえば、送達された結果にコメントするかまたは同意すること（ｌｉｋｉｎｇ）によって）検索結果に応答するかどうかに関してのユーザの行動履歴、について考慮することができる。加えて、特定の実施形態において、検索ツールは、ユーザが検索を要求するために使用した電子デバイスに記憶された情報を検査および分析し、こうした情報の一部を検索結果に含めることができる（たとえば、こうした情報が検索クエリに関連するとみなされる場合）。
【００２８】
図３は、検索を要求するユーザに関連するソーシャル情報の少なくとも一部を考慮しながら、検索クエリに応答して識別される検索結果のセットをランク付けする例示の方法を示す。図１に関して上記で説明したように、ソーシャルネットワーキング・システムで使用可能な情報は、グラフ（たとえばグラフ１００）によって表すことができる。こうしたグラフは、特定のユーザに関する特定の検索結果のセットをまとめ、ランク付けする場合に使用することができる。特定の実施形態において、検索を要求するユーザはソーシャルネットワーキング・システムのユーザであるため、グラフ内のノードの１つは、そのユーザを表すことができる。グラフを分析することによって、検索ツールは、いずれの他の人間および人間以外のエンティティ（たとえば、ユーザを表すノードに直接または間接的に接続されたグラフ内の他のノード）がユーザに直接または間接的に関係しているか、これらの関係のタイプ（たとえば、エッジがいずれの関係を表すか）、および、他のノードがユーザを表すノードにどの程度密接に関係しているか（たとえば、各ノード・ペア間のホップ数）を、決定することができる。
【００２９】
特定の実施形態は、工程３１０に示されるように、ユーザから検索クエリを受信するこ
とができる。ユーザは、ソーシャルネットワーキング・システムのユーザであり得、ネットワークに接続された電子デバイス（たとえば携帯電話またはタブレット）を介して検索クエリを提供し得る。たとえば、検索クエリが単語「Ｊｏｈｎｓｏｎ」であると想定する。
【００３０】
特定の実施形態は、工程３２０に示されるように、検索クエリに応答して検索結果のセットを識別し、まとめることができる。検索結果は、任意のタイプの情報またはコンテンツを含むことができる。たとえば、単語「Ｊｏｈｎｓｏｎ」は、人物（たとえばＭａｒｙ
Ｊｏｈｎｓｏｎ）、位置（たとえばＪｏｈｎｓｏｎ  Ｃｉｔｙ）、施設（たとえばＪｏｈｎｓｏｎ’ｓ  Ｈａｒｄｗａｒｅ  ＳｔｏｒｅまたはＪｏｈｎｓｏｎ  ＢＢＱ  Ｒｅｓｔａｕｒａｎｔ）、ブランドまたは製品名（たとえばＪｏｈｎｓｏｎ  ＆  Ｊｏｈｎｓｏｎ）、ニュース記事（たとえばＪｉｍｍｉｅ  Ｊｏｈｎｓｏｎに関するニュース・フィード）、およびメッセージ（たとえばＴｏｍ  Ｊｏｈｎｓｏｎによるかまたは関する投稿）を指す場合がある。検索結果は、検索クエリに関連して考察される多くのタイプの情報の混合とされうる。
【００３１】
検索結果を選択する場合、特定の実施形態は、たとえば、限定はしないが、ユーザによって使用される電子デバイスにローカルに記憶された情報、ソーシャルネットワーキング・システムに関連付けられたサーバまたはデータベースに記憶された情報、および、インターネット上に公開された情報などの、様々なソースから情報を取得することができる。たとえば、「Ｍａｒｙ  Ｊｏｈｎｓｏｎ」という名前の人物の連絡先情報は、ユーザの電子デバイスにローカルに記憶されうる。したがってＭａｒｙ  Ｊｏｈｎｓｏｎの名前および連絡先情報（たとえば電子メール・アドレスまたは電話番号）は、セットに含まれる検索結果の１つとして選択可能である。この場合、検索結果は、検索を実行する際にユーザによって使用された電子デバイスに記憶された情報に由来する。他の例として、ソーシャルネットワーキング・ウェブサイトのユーザのアカウントから、「Ｊｏｈｎｓｏｎ  ＢＢＱ  Ｒｅｓｔａｕｒａｎｔ」と呼ばれるレストランを過去に数回ユーザが訪問したことが特定できる（たとえばユーザは、Ｊｏｈｎｓｏｎ  ＢＢＱ  Ｒｅｓｔａｕｒａｎｔにいるときにソーシャルネットワーキング・システムに「チェックイン」した）。したがってＪｏｈｎｓｏｎ  ＢＢＱ  Ｒｅｓｔａｕｒａｎｔの名前およびアドレスを、セットに含まれる検索結果の１つとして選択することができる。この場合、検索結果は、ソーシャルネットワーキング・システムに関連付けられたサーバまたはデータベースに記憶された情報に由来する。他の例として、インターネット上に、ＮＡＳＣＡＲ（全米自動車競争協会）レースに参加しているＪｉｍｍｉｅ  Ｊｏｈｎｓｏｎに関するニュース記事が存在する場合がある。したがってこうしたニュース記事を含むウェブ・ページは、セットに含まれる検索結果の１つとして選択され得る。この場合、検索結果はインターネット上に公開された情報に由来する。
【００３２】
ユーザが検索工程を開始するために検索クエリをサブミットする場合、検索結果は様々なソースから取得され得るため、いくつかの特定の検索結果は他の結果よりも前に使用可能になる場合がある。たとえば、ユーザによって使用される電子デバイスにローカルに記憶された情報から取得される検索結果は、リモート・サイトに記憶されているために取得するのにわずかに長い時間がかかる可能性がある、ソーシャルネットワーキング・システムに関連付けられるかまたはインターネット上の情報から取得される検索結果より前に、容易に使用できる可能性がある。特定の実施形態において、何らかの検索結果が使用可能になるとすぐに、他の検索結果が使用可能になるのを待つ必要なく、それらをユーザに即時提示することができる。たとえば上記のシナリオでは、「メアリー・ジョンソン（Ｍａｒｙ  Ｊｏｈｎｓｏｎ）」に関する連絡先情報はユーザの電子デバイスにローカルに記憶されているため、容易に使用可能である。ユーザが検索クエリ「Ｊｏｈｎｓｏｎ」をサブミットすると、「Ｍａｒｙ  Ｊｏｈｎｓｏｎ」に関する連絡先情報がユーザに即時に提示
される可能性がある。その後、より多くの検索結果（たとえば、「Ｊｏｈｎｓｏｎ  ＢＢＱ  Ｒｅｓｔａｕｒａｎｔ」のアドレスおよび電話番号などの、ソーシャルネットワーキング・システムまたはインターネットから取得される）が使用可能になると、それらは検索クエリ「Ｊｏｈｎｓｏｎ」に関してまとめた検索結果のセットに追加され、ユーザに適宜（たとえば使用可能時に）提示され得る。
【００３３】
ソーシャルネットワーキング・システムは、いくつかの機能を実装およびサポートすることができる。特定の実施形態において、検索クエリに応答して選択される検索結果の１以上は、こうした機能の１以上に関連付けることができる。或るケースでは、検索クエリにそれほど関連していない検索結果がそれでもなお選択され、検索クエリに関する検索結果の１つとして含められる場合があり得る。たとえば機能の１つは、ユーザがソーシャルネットワーキング・ウェブサイトを介してオンライン・ゲームをプレイできるものとすることができる。「Ｈａｔｃｈｌｉｎｇｓ」と呼ばれる使用可能なゲームの１つが、「Ｊｏｈｎｓｏｎ」という単語に対する明らかな関連性は少ないかまったくないにもかかわらず、検索クエリ「Ｊｏｈｎｓｏｎ」に関する検索結果の１つとして選択され得る。
【００３４】
特定の実施形態は、工程３３０に示されるように、検索を要求するユーザに関連するソーシャル・コンテキストまたは情報に少なくとも基づいて、検索結果のセットをランク付けすることができる。既存の検索エンジン（たとえば、Ｇｏｏｇｌｅ、Ｍｉｃｒｏｓｏｆｔ、またはＹａｈｏｏによって提供される検索エンジン）は、主にコンテンツの関連性に基づいて検索結果をランク付けする。これらの検索エンジンは、検索を要求する特定のユーザに関連するソーシャル情報が、そうしたソーシャル情報を所有する任意のソーシャルネットワーキング・システムによって提供されないため、ソーシャル・コンテキストまたは情報を考慮しない。コンテンツの関連性の代わりに、またはそれに加えて、特定の実施形態は、ユーザに関する検索結果をランク付けする場合のいくつかの要素として、検索ツールを提供するかまたは検索ツールに関連付けられたソーシャルネットワーキング・システムが使用可能なソーシャル情報を考慮することができる。ある意味で、ランク付けは、ユーザのソーシャル情報に基づいて各ユーザ個人に対してカスタマイズされる。加えて、特定の実施形態において、ユーザの過去の行動を使用して検索結果の識別および／またはランク付けを支援することができる。
【００３５】
たとえば、ソーシャルネットワーキング・システムのユーザとして「Ｊｏｈｎｓｏｎ」という名前の人物が３人見つかったと想定する。検索を要求するユーザのいかなるソーシャル情報もない場合、３人のＪｏｈｎｓｏｎすべてが同様に、ユーザが検索している人物である可能性があり得る。１つのケースで、ユーザのソーシャル情報に基づき、Ｊｏｈｎｓｏｎのうちの１人（たとえばＪｏｈｎｓｏｎ  ＃１）はユーザの友人であるが、他の２人は友人でないものと想定する。この場合、ユーザがある他人ではなく自分の友人を検索する可能性の方が高いことから、Ｊｏｈｎｓｏｎ  ＃１には他の２人のＪｏｈｎｓｏｎよりも高いランクが付けられる可能性がある。さらに、他の２人のＪｏｈｎｓｏｎは、ユーザに関する検索結果として選択されない場合もあり得る。別のケースで、２人のＪｏｈｎｓｏｎ（たとえばＪｏｈｎｓｏｎ  ＃１およびＪｏｈｎｓｏｎ  ＃２）はどちらもユーザの友人であるが、Ｊｏｈｎｓｏｎ  ＃１はユーザと直接つながっており（たとえばグラフでは、ユーザおよびＪｏｈｎｓｏｎ  ＃１をそれぞれ表す２つのノード間にエッジが存在する）、Ｊｏｈｎｓｏｎ  ＃２はユーザと間接的につながっている（たとえばグラフに基づき、１以上の他のノードを介して接続されている）か、あるいは、ユーザがＪｏｈｎｓｏｎ  ＃２よりも数多くまたは頻繁にＪｏｈｎｓｏｎ  ＃１と連絡を取っていたと想定する。この場合、Ｊｏｈｎｓｏｎ  ＃１およびＪｏｈｎｓｏｎ  ＃２の両方が検索結果のセットに含まれ得るが、Ｊｏｈｎｓｏｎ  ＃１は、Ｊｏｈｎｓｏｎ  ＃２よりも高くランク付けされ得る。
【００３６】
別の例として、名前に単語「Ｊｏｈｎｓｏｎ」を有する２つの店、Ｊｏｈｎｓｏｎ’ｓ
Ｈａｒｄｗａｒｅ  ＳｔｏｒｅおよびＪｏｈｎｓｏｎ  ＢＢＱ  Ｒｅｓｔａｕｒａｎｔがあると想定する。ユーザが検索を実行するために使用する電子デバイスは、ユーザが「Ｊｏｈｎｓｏｎ」についての検索を要求しているデバイスの位置ならびにユーザの位置を示す位置データ（たとえばＧＰＳデータ）を供給することができる。１つのケースでは、Ｊｏｈｎｓｏｎ  ＢＢＱ  Ｒｅｓｔａｕｒａｎｔはユーザ位置の近くにあり、Ｊｏｈｎｓｏｎ’ｓ  Ｈａｒｄｗａｒｅ  Ｓｔｏｒｅは遠くにあると想定する。この場合、ユーザは近隣の店を検索する可能性の方が高いため、Ｊｏｈｎｓｏｎ  ＢＢＱ  ＲｅｓｔａｕｒａｎｔにはＪｏｈｎｓｏｎ’ｓ  Ｈａｒｄｗａｒｅ  Ｓｔｏｒｅよりも高いランクが付けられる可能性がある。別のケースでは、過去にＪｏｈｎｓｏｎ  ＢＢＱ  Ｒｅｓｔａｕｒａｎｔをユーザは訪問したが、Ｊｏｈｎｓｏｎ’ｓ  Ｈａｒｄｗａｒｅ  Ｓｔｏｒｅには行ったことがないと想定する。この場合も、ユーザは過去に何らかの接触をした店を検索する可能性の方が高いため、Ｊｏｈｎｓｏｎ  ＢＢＱ  ＲｅｓｔａｕｒａｎｔにはＪｏｈｎｓｏｎ’ｓ  Ｈａｒｄｗａｒｅ  Ｓｔｏｒｅよりも高いランクが付けられる可能性がある。
【００３７】
第３の例として、説明に単語「Ｊｏｈｎｓｏｎ」を有する２つのイベント、Ｊｏｈｎｓｏｎの誕生日パーティおよびＪｏｈｎｓｏｎ  Ｃｉｔｙ協議会（Ｊｏｈｎｓｏｎ  Ｃｉｔｙ  ｃｏｕｎｓｅｌ  ｍｅｅｔｉｎｇ）があると想定する。ユーザがＪｏｈｎｓｏｎの誕生日パーティに招待され、その招待に肯定的に答えた場合、Ｊｏｈｎｓｏｎの誕生日パーティにはＪｏｈｎｓｏｎ  Ｃｉｔｙ協議会よりも高いランクが付けられる可能性がある。ユーザがＪｏｈｎｓｏｎ  Ｃｉｔｙに住んでいない場合、Ｊｏｈｎｓｏｎ  Ｃｉｔｙ協議会は恐らくユーザと無関係であるため、Ｊｏｈｎｓｏｎ  Ｃｉｔｙ協議会は検索結果にまったく含まれない可能性がある。Ｊｏｈｎｓｏｎの誕生日パーティが土曜日夕方６時に計画され、ユーザが検索を要求した時刻がおよそ土曜日の午後５時である場合もまた、ユーザが検索を実行する時刻がイベントの時刻に極めて近い場合、ユーザは出席準備中にイベントに関する情報をチェックする可能性がより高いため、Ｊｏｈｎｓｏｎの誕生日パーティの方が高いランクが付けられる可能性がある。
【００３８】
第４の例として、ユーザのプロフィールに基づき、ユーザが自動車レースに関心があるか、またはユーザが自動車レースに関するメッセージを投稿したものと想定する。１つのケースでは、ＮＡＳＣＡＲレースに参加しているＪｉｍｍｉｅ  Ｊｏｈｎｓｏｎに関するニュース記事（たとえばニュース・フィード）は、ユーザがこうした記事に関心がある可能性が高いため、より高いランクが付けられる可能性がある。別のケースでは、Ｊｉｍｍｉｅ  Ｊｏｈｎｓｏｎおよび自動車レースに関する複数のニュース・フィードがあるが、古いものと新しいものがあると想定する。ユーザが検索を実行する時刻により近い、より最近のニュース・フィードは、古い、したがって恐らく陳腐化したニュース・フィードよりも、ユーザが関心を示す可能性が高いため、古いニュース・フィードよりも高いランクが付けられる可能性がある。
【００３９】
上記の例が示すように、ユーザによってサブミットされた検索クエリに応答して検索結果のセットを選択およびランク付けする場合、ユーザ、検索、または検索クエリに関連するいずれの使用可能な情報も使用され得る。こうした情報は、ユーザのデバイス上、ソーシャルネットワーキング・システムに関連して、またはインターネット上に公開で、などの様々なサイトで記憶されうる。ユーザのデバイス上で何らかの情報がすでに使用可能な場合、ソーシャルネットワーキング・システムから、またはインターネット上で、再度その情報を取得する必要のない可能性がある。特定の実施形態において、ソーシャルネットワーキング・システムに含まれる情報は（たとえば図１に示されるような）グラフとして提示可能であり、こうしたグラフは、グラフ内の各ノードについて、検索を要求するユーザに対応するノードとのその関係を示す係数を計算するために使用可能である。この係数
は、検索結果のセットをランク付けする支援に使用可能である。特定の実施形態において、各検索結果はグラフ内のノードに対応することも可能である。
【００４０】
特定の実施形態において、特定の検索結果が使用可能になるとすぐにユーザに特定の検索結果を提示することができる。より多くの検索結果が使用可能になるにつれて、それらの結果を既存の検索結果に追加および混合し、ユーザに提示することもできる。同時に、検索結果はランク付け可能であり、高いランクが付けられた検索結果は、低いランクが付けられた検索結果よりも前にユーザに提示されるものとする。しかしながら、第２の検索結果よりも前に使用可能となる第１の検索結果に、第２の検索結果よりも高いランクが付けられるとは限らない。特定の実施形態において、検索結果にランク付けする場合、ランク付け得点は各検索結果について計算され得、検索結果はそれぞれのランク付け得点に基づいてランク付けされる。
【００４１】
特定の実施形態において、各検索結果が使用可能になると、そのランク付け得点を計算することができる。２つの検索結果の間で、第１の検索結果が第２の検索結果よりも前に使用可能になるが、第１の検索結果のランク付け得点は第２の結果のランク付け得点よりも低いものと想定すると、これは、それらそれぞれのランク付け得点に基づき、ユーザの電子デバイスのディスプレイ画面上で、第２の検索結果が第１の検索結果より上に提示されるものとすることを意味する。第２の検索結果が使用可能になるまでに、第１の検索結果がすでにユーザに提示されている（すなわち、ユーザの電子デバイスのディスプレイ画面上に表示されている）場合がある。特定の実施形態において、第２の検索結果に第１の検索結果よりも高いランクが付けられると、第２の検索結果をユーザに提示する場合、第２の検索結果は、ユーザの電子デバイスのディスプレイ画面上で第１の検索結果より上に配置（たとえば挿入）され、事実上、第１の検索結果をそのディスプレイ画面よりさらに下に「プッシュ」する。
【００４２】
特定の実施形態は、工程３４０に示されるように、セット内の１以上の検索結果のそれぞれのランクを引き上げ、結果としてそれらを、通常はそれらよりも高いランクを付けられることになる何らかの他の検索結果より前に、ユーザに提示することができる。特定の検索結果のランクを引き上げるには、様々な理由が存在する。たとえば、検索ツールを提供するソーシャルネットワーキング・システムが、或るビジネス目標を達成することを希望する場合がある。検索を要求するユーザが、ソーシャルネットワーキング・ウェブサイトの自分のアカウントで識別される非常に少ない友人（たとえば５人未満の友人）のみを有すると想定する。ソーシャルネットワーキング・システムは、こうしたユーザに友人を増やすように奨励することを希望することができる。
【００４３】
ユーザがクエリ「Ｊｏｈｎｓｏｎ」に基づいて検索を実行するとき、特定の位置でイベントにユーザが参加していると想定する。１つのケースでは、２人のＪｏｈｎｓｏｎも同じイベントに参加していると想定する。Ｊｏｈｎｓｏｎ  ＃１はユーザの友人であり、Ｊｏｈｎｓｏｎ  ＃２はユーザにとって他人である。ユーザは自分と同じイベントに参加している自分の友人を検索する可能性がより高いため、通常、Ｊｏｈｎｓｏｎ  ＃１は、Ｊｏｈｎｓｏｎ  ＃２よりも高いランクが付けられることになる。しかしながら、新しい友人に出会うようユーザに奨励するために、Ｊｏｈｎｓｏｎ  ＃２のランクをＪｏｈｎｓｏｎ  ＃１のランクより上に引き上げることが可能であり、そこでＪｏｈｎｓｏｎ  ＃２は、Ｊｏｈｎｓｏｎ  ＃１よりも前にユーザに提示される。結果として、ユーザは、Ｊｏｈｎｓｏｎ  ＃２とも出会い、友人になることができる。
【００４４】
別のケースでは、ユーザの友人Ｊｏｈｎｓｏｎにとっては友人であるがユーザにとっては他人である「Ｓｍｉｔｈ」という名前の人物も、同じイベントに参加しているものと想定する。通常、Ｓｍｉｔｈがクエリ「Ｊｏｈｎｓｏｎ」に関してまとめた検索結果のセッ
トに含まれない可能性があるか、またはＳｍｉｔｈがクエリ「Ｊｏｈｎｓｏｎ」に関してまとめた検索結果のセットに含まれる場合、Ｓｍｉｔｈは、相対的に低いランクが付けられる可能性がある。しかしながら、新しい友人に出会うようユーザに奨励するために、Ｓｍｉｔｈのランクを何らかの他の検索結果のランクより上になるよう引き上げることが可能であり、したがってユーザに対してかなり早く提示される。結果としてユーザは、特に共通の友人を共有することを考慮し、Ｓｍｉｔｈと出会い、友人になることができる。
【００４５】
第２の例として、ソーシャルネットワーキング・システムは、機能（ｆｅａｔｕｒｅ）の或る機能性（ｃｅｒｔａｉｎ  ｆｕｎｃｔｉｏｎａｌｉｔｉｅｓ）についてユーザを教育すること、または或るユーザ行動を奨励することを希望する場合がある。１つのケースでは、検索を要求するユーザが、自分がソーシャルネットワーキング・ウェブサイトを通じて様々なオンライン・ゲームをプレイできることをまだ知らないものと想定する。ユーザがクエリ「（ｃａｆｅ）」の検索を要求したときに、「Ｃａｆｅ  Ｍｙｓｔｅｒｙ」という名前のオンライン・ゲームがランクを引き上げられた状態で検索結果に含まれる場合がある。このゲームがユーザに提示された場合、ユーザは、自分がこのゲームおよび多くの他のゲームをプレイできることを知る可能性がある。こうしたタイプの引き上げは、ユーザがその機能性に慣れるかまたはある行動パターンを獲得するまで、何回か反復可能である。その後、同様のタイプの検索結果のランクを引き上げることは、もはや不要となる。
【００４６】
第３の例として、ソーシャルネットワーキング・システムが最近新しい機能をそのウェブサイトに追加したものと想定する。この新しいアプリケーションにそのユーザを注目させるために、ユーザが検索を要求したときに、新しい機能に関する検索結果（たとえば新しい機能を指し示すリンク）を検索結果の１つとして含めることができる。これは、特定のユーザが以前に新しい機能を使用したかどうかに基づいて決定されうる。１つのケースでは、検索を要求するユーザがすでに新しい機能を使用していた場合、特に、新しい機能が検索クエリにほとんどまたはまったく関係ない場合、ユーザは新しい機能についてすでに知っているため、新しい機能を検索結果に含める必要のない可能性がある。他方で、検索を要求するユーザがこれまでに新しい機能にまったくふれた（ｉｎｔｅｒａｃｔ）ことがない場合、新しい機能を検索結果の１つとして選択することができる。さらに、新しい機能のランク付けを引き上げることが可能であり、結果としてユーザが注目するとすぐにユーザに提示される。
【００４７】
特定の実施形態において、ユーザによって提供される検索クエリについてまとめた検索結果のセットが与えられた場合、セット内の各検索結果についてランク付け得点を計算することができる。特定の実施形態において、ランク付け得点は、たとえば、限定はしないが、検索クエリに対する検索結果のコンテンツ関連性のレベル、検索または検索クエリを要求するユーザに対する検索結果の社会的関連性のレベル、あれば検索結果に与えられる引き上げ量（ビジネス目標に基づいて決定される）、ユーザが検索を要求する時点または位置に対して検索結果が有する時間または位置に関する接近度などの、多くの要素（たとえばアルゴリズムへの入力としての様々な要素）を考慮に入れるアルゴリズムを使用して計算することができる。アルゴリズムは、すべての使用可能な要素（すなわち入力）を組み合わせて、各検索結果について最終的なランク付け得点を決定することができる。特定の実施形態において、ランク付け得点は、０から１の間の数に正規化されうる。
【００４８】
或るケースでは、セットに含まれるソーシャルネットワーキング・ウェブサイトの機能に関連付けられた１以上の検索結果が存在し得る。特定の実施形態において、特定の機能が与えられると、ユーザがその機能にふれたことがない場合、機能に関連付けられた１以上の検索結果をセットに含めることができる。さらに、これらの検索結果のランク付けは（たとえば、これらの検索結果のそれぞれのランク付け得点を上昇させる引き上げ要素を
ランク付けアルゴリズムに提供することによって）引き上げられることが可能であるため、ユーザが機能に気付き、その後その機能を使用できることを期待して、これらの検索結果は、すぐにユーザに提示される。他方で、ユーザがすでにその機能にふれたことがある場合、機能に関連付けられた特別な動作（たとえば機能に関連付けられた検索結果を選択すること、およびそれらのランク付けを引き上げること）は必要でない可能性がある。
【００４９】
別の方法として、特定の実施形態において、特定の機能が与えられると、ユーザが機能とやりとり（ｉｎｔｅｒａｃｔｉｏｎ）する量または頻度を決定することができる。たとえば、ユーザが機能とやりとりするレベルは、０から１の間の数で表されうる。ユーザが機能とやりとりしていない場合、やりとりのレベルは０であり得る。他方で、ユーザがしばしば機能を使用する場合、やりとりのレベルは１に近くなり得る。検索クエリに関してまとめた検索結果のセット内に機能に関する１以上の検索結果を含めるかどうかについて、ユーザが所与の検索クエリに関して検索を実行するよう要求する場合、および含める場合、これらの検索結果のランク付けをどれだけ引き上げるかは、ユーザが機能とやりとりする現行レベルに依存することができる。たとえば、ユーザが機能とやりとりしないか、やりとりのレベルが非常に低い場合、機能に関するいくつかの検索結果をセットに含めることが可能であり、それらのランク付けをかなり高く引き上げることができる。ユーザが機能とやりとりすればするほど、セットに含められる機能に関する検索結果の数は徐々に減少し、それらのランク付けはわずかに引き上げられるだけで良くなる。最終的に、ユーザが機能と頻繁にやりとりすると、機能に関する検索結果をセット内に含める必要がなくなる。
【００５０】
特定の実施形態において、引き上げ係数（たとえば０から１の間の数）は、ユーザが機能とやりとりする現行レベルに基づき、機能に関する各検索結果について決定されうる。この引き上げ係数は、各検索結果についてランク付け得点を計算する場合に、入力の１つとしてランク付けアルゴリズムに供給されうる。機能に関係しない検索結果の場合、その引き上げ係数は、０（すなわち引き上げなし）にセットされうる。たとえば、ユーザが機能とまったくまたはほとんどやりとりしない場合、引き上げ係数は１に近くなり得る。ユーザが機能とやりとりすればするほど、引き上げ係数は徐々に減少し得る。最終的に、ユーザが機能と頻繁にやりとりすると、引き上げ係数は０に近くなり得る。
【００５１】
特定の実施形態において、機能に関する検索結果を検索クエリに関してまとめた検索結果のセットに含める場合、その機能に関心がないことを示すためのオプションをユーザに与えることができる。ユーザが特定の機能に関心がないことを示した場合、このユーザによって要求される後続の検索について、特に、こうした検索結果がユーザによって提供される検索クエリとほとんどまたはまったく関連性がない場合、その特定の機能に関する検索結果は、検索結果として人為的に選択されない。したがって、ユーザが特定の機能に関心がないことを示すと、ユーザがその機能とやりとりしたことがない場合であっても、その機能に関する検索結果は、検索結果として人為的に選択されず、その機能に関する検索結果が検索結果として選択される場合、それらのそれぞれのランクは、人為的に引き上げられない。
【００５２】
或るケースでは、ユーザの過去の行動が使用可能であれば、これを使用して検索結果の選択および／またはランク付けを支援すること、ならびに、いずれの検索結果がそれらのランクを引き上げたはずであるかを決定することが可能である。特定の実施形態において、ユーザの行動は行動プロファイルに集約されることが可能であり、このプロファイルに含まれる情報は必要に応じて検索ツールによって使用されることが可能である。たとえば、ユーザが場所の検索結果をほとんどまたはまったく選択（たとえばタップ）しないものと想定する。これは、ユーザが場所タイプの検索結果に関心がないことを示唆する可能性がある。この場合、ユーザの個人的な好みを考慮するために、ユーザに関する検索結果を
選択する場合、検索ツールは、場所タイプの検索結果をわずかに含むかまたはまったく含まないことができる。これとは逆に、システムは、ユーザの関心を広げるために、様々なタイプの検索結果を活用するようにユーザに奨励することを希望する場合がある。結果として、ユーザに関する検索結果を選択する場合、検索ツールは、多数の場所タイプの検索結果を含むことができる。さらに少なくともいくつかの場所タイプの検索結果のランクを、ユーザに注目させるために、人為的に引き上げることができる。特定の検索結果に関して、同様の戦略を適用することができる（たとえばユーザは、特定の検索結果をまったく選択しない）。
【００５３】
他の例として、ユーザが自宅、職場、または移動中に、特定タイプの検索結果のみをユーザが選択するものと想定する。したがって、ユーザの現在位置に基づき、多数のそれら特定タイプの検索結果が含まれることが可能であり、必要に応じて、それらタイプの検索結果の少なくとも一部のランクを引き上げることができる。
【００５４】
第３の例として、ユーザは、別の特定の人物に関連付けられたウェブ・ページ（たとえば、ブログなどの、その人物の個人的ページまたはその人物によって著されたページ）を閲覧する（たとえば読む）ことを好む場合があるが、様々な理由により、ユーザはその人物と直接連絡を取る（たとえば、ユーザが読んだページで回答またはコメントする）可能性がある。検索ツールに関連付けられたソーシャルネットワーキング・システムは、そのユーザが受動的に情報（たとえばウェブ・ページのコンテンツ）を閲覧するだけでなく、（たとえば、コメント、返信などを書くことによって）積極的に情報に寄与することも奨励するという、ビジネス目標を有することができる。ユーザがウェブ・ページを閲覧する場合、ユーザはすでにそのページのコンテンツへの関心を示しているため、そのページまたはページの著者とのさらなるやりとりを望んでいる可能性が高い。この場合、たとえばウェブ・ページのランク付けが引き上げられる可能性がある。
【００５５】
特定の実施形態は、工程３５０に示されるように、それらそれぞれのランクに応じて、検索結果のランク順にユーザのデバイス上に表示することによって、ユーザに検索結果を提示することができる。
【００５６】
高性能のユーザ・デバイスは、様々なタイプのデータを記憶するために十分な量の記憶スペースを有することができる。たとえばスマート・フォンを用いて、ユーザの連絡先、カレンダー・アポイントメント、イベント、タスク・リスト、インスタント・メッセージ、電子メール、ニュース・フィードなどのいくつかを、デバイス上に記憶することができる。こうした情報は、デバイスがオフラインの（すなわちネットワークから切断されている）場合であっても使用可能である。特定の実施形態において、ユーザは、自分のデバイスを用いて、デバイスがオンラインである（すなわちネットワークに接続されている）かまたはオフラインであるかにかかわらず、検索を実行することができる。デバイスがオンラインの場合、ユーザが検索を要求すると、検索結果は、ユーザのデバイスに記憶された情報、ならびにソーシャルネットワーキング・システムおよびインターネットで入手可能な情報の両方に基づいて、まとめられうる。デバイスがオフラインの場合、ユーザが検索を要求すると、検索結果は、ユーザのデバイスに記憶された情報にのみ基づいてまとめられうる。
【００５７】
特定の実施形態において、検索結果は、使用可能になるとすぐにユーザに提示される（たとえばユーザの電子デバイスの画面に表示される）。加えて、検索結果はランク付け可能であり、高いランクが付けられた検索結果は、ユーザの電子デバイスの画面上で低いランクが付けられた検索結果よりも上に表示されうる。高いランクが付けられた検索結果が低いランクが付けられた検索結果の後で使用可能になる場合、低いランクが付けられた検索結果をユーザの電子デバイスの画面上でさらに下にプッシュすることによって、ユーザ
の電子デバイスの画面上ですでに表示されている低いランクが付けられた検索結果よりも上に高いランクが付けられた検索結果を表示することが可能である。
【００５８】
或るケースでは、ユーザは、ユーザのデバイスがオフラインの間に（たとえば検索クエリをサブミットすることによって）検索工程を開始することができる。しかしながら、検索が実行されている間に、デバイスは、ネットワークに接続されてオンラインになる可能性がある。この場合、デバイスがオンラインになる前に、デバイス上にローカルに記憶された情報に基づいて検索結果を取得することができる。デバイスがオンラインになった後、ソーシャルネットワーキング・システムおよびインターネットで入手可能な情報から追加の検索結果を取得することができる。新しい検索結果は、使用可能になった後、既存の検索結果と混合する（ｃｏ−ｍｉｎｇｌｅ）ことができる。各検索結果のランクが決定可能である。検索結果の提示は、新しく使用可能になった検索結果を組み込む（たとえば何らかの新しい使用可能な検索結果を、ユーザのデバイスの画面上で何らかの既存の検索結果の上に挿入する）ために必要な場合に調整可能である。
【００５９】
前述の検索ツール機能（たとえば検索結果の識別、ランク付け、および引き上げ）は、実行されたときに上述の動作をプログラマブル・プロセッサに実装させる、コンピュータ読み取り可能記憶媒体上に記憶された一連の命令として実装可能である。図４は、例示のコンピュータシステム４００を示す。特定の実施形態において、１以上のコンピュータシステム４００は、本明細書で説明または図示される１以上の方法のうちの１以上の工程を実行する。特定の実施形態において、１以上のコンピュータシステム４００は、本明細書で説明または図示される機能を提供する。特定の実施形態において、１以上のコンピュータシステム４００上で実行中のソフトウェアは、本明細書で説明または図示される１以上の方法の１以上の工程を実行するか、あるいは本明細書で説明または図示される機能を提供する。特定の実施形態は、１以上のコンピュータシステム４００の１以上の部分を含む。
【００６０】
本開示は、任意の好適な数のコンピュータシステム４００を企図する。本開示は、任意の好適な物理形態（ｐｈｙｓｉｃａｌ  ｆｏｒｍ）を取るコンピュータシステム４００を企図する。限定としてではなく例として、コンピュータシステム４００は、埋め込み型コンピュータシステム、システム・オン・チップ（ＳＯＣ）、シングルボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータ・オン・モジュール（ＣＯＭ）またはシステム・オン・モジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップまたはノート型コンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末（ＰＤＡ）、サーバ、あるいは、これらの２つまたはそれ以上の組み合わせとすることができる。
【００６１】
必要に応じて、コンピュータシステム４００は、１以上のコンピュータシステム４００を含み、単一または分散型であり、複数の位置にわたり、複数のマシンにわたり、あるいは、１以上のネットワーク内に１以上のクラウド構成要素を含み得るクラウド内に常駐することが可能である。必要に応じて、１以上のコンピュータシステム４００は、実質的な空間または時間の限定なしに、本明細書で説明または図示される１以上の方法の１以上の工程を実行することができる。限定としてではなく例として、１以上のコンピュータシステム４００は、リアルタイムまたはバッチ・モードで、本明細書で説明または図示される１以上の方法の１以上の工程を実行することができる。１以上のコンピュータシステム４００は、必要に応じて、異なる時点または異なる位置で、本明細書で説明または図示される１以上の方法の１以上の工程を実行することができる。
【００６２】
特定の実施形態において、コンピュータシステム４００は、プロセッサ４０２、メモリ４０４、ストレージ４０６、入力／出力（Ｉ／Ｏ）インターフェース４０８、通信インタ
ーフェース４１０、およびバス４１２を含む。本開示は、特定の配列で特定数の特定の構成要素を有する特定のコンピュータシステムを説明および図示するが、本開示は、任意の好適な配列で任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
【００６３】
特定の実施形態において、プロセッサ４０２は、コンピュータ・プログラムを構成するような命令を実行するためのハードウェアを含む。限定としてではなく例として、命令を実行するために、プロセッサ４０２は、内部レジスタ、内部キャッシュ、メモリ４０４、またはストレージ４０６から命令を取り出し（またはフェッチし）、それらを復号および実行した後、１以上の結果を内部レジスタ、内部キャッシュ、メモリ４０４、またはストレージ４０６に書き込むことができる。特定の実施形態において、プロセッサ４０２は、データ、命令、またはアドレスのための１以上の内部キャッシュを含むことができる。本開示は、必要に応じて、好適な数の任意の好適な内部キャッシュを含むプロセッサ４０２を企図する。限定としてではなく例として、プロセッサ４０２は、１以上の命令キャッシュ、１以上のデータ・キャッシュ、および１以上の変換索引バッファ（ＴＬＢ）を含むことができる。命令キャッシュ内の命令は、メモリ４０４またはストレージ４０６内の命令のコピーであってよく、命令キャッシュは、プロセッサ４０２によってそれらの命令の取り出し速度を上げることができる。データ・キャッシュ内のデータは、そこで動作させるためにプロセッサ４０２で実行中の命令のためのメモリ４０４またはストレージ４０６内のデータのコピー、プロセッサ４０２で実行中の後続の命令によるアクセスのため、あるいはメモリ４０４またはストレージ４０６への書き込みのために、プロセッサ４０２で実行された以前の命令の結果のコピー、あるいは他の好適なデータのコピーであってよい。データ・キャッシュは、プロセッサ４０２による読み取りまたは書き込み動作の速度を上げることができる。変換索引バッファ（ＴＬＢ）は、プロセッサ４０２に関する仮想アドレス変換の速度を上げることができる。
【００６４】
特定の実施形態において、プロセッサ４０２は、データ、命令、またはアドレスのための１以上の内部レジスタを含むことができる。本開示は、必要に応じて、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ４０２を企図する。必要に応じて、プロセッサ４０２は、１以上の論理演算装置（ＡＬＵ）を含むこと、マルチコア・プロセッサであること、あるいは、１以上のプロセッサ４０２を含むことができる。本開示は特定のプロセッサを説明および図示しているが、本開示は、任意の好適なプロセッサを企図する。
【００６５】
特定の実施形態において、メモリ４０４は、プロセッサ４０２を実行させるための命令、またはプロセッサ４０２をそこで動作させるためのデータを、格納するための主メモリを含む。限定としてではなく例として、コンピュータシステム４００は、ストレージ４０６または別のソース（たとえば別のコンピュータシステム４００など）からメモリ４０４に、命令をロードすることができる。次にプロセッサ４０２は、メモリ４０４から内部レジスタまたは内部キャッシュに、命令をロードすることができる。命令を実行するために、プロセッサ４０２は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号することができる。命令の実行中または実行後、プロセッサ４０２は、１以上の結果（中間または最終の結果であってよい）を内部レジスタまたは内部キャッシュに書き込むことができる。次にプロセッサ４０２は、それらの結果の１以上をメモリ４０４に書き込むことができる。
【００６６】
特定の実施形態において、プロセッサ４０２は、１以上の内部レジスタまたは内部キャッシュにおいて、またはメモリ４０４において、（ストレージ４０６またはその他とは対照的に）命令のみを実行する。１以上のメモリ・バス（それぞれがアドレス・バスおよびデータ・バスを含むことができる）は、プロセッサ４０２をメモリ４０４に結合することができる。バス４１２は、以下で説明するように１以上のメモリ・バスを含むことができ
る。特定の実施形態において、１以上のメモリ管理装置（ＭＭＵ）は、プロセッサ４０２とメモリ４０４との間に常駐し、プロセッサ４０２によって要求されるメモリ４０４へのアクセスを容易にする。
【００６７】
特定の実施形態において、メモリ４０４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、必要に応じて揮発性メモリであってよい。必要に応じて、このＲＡＭは、動的ＲＡＭ（ＤＲＡＭ）または静的ＲＡＭ（ＳＲＡＭ）であってよい。さらに必要に応じて、このＲＡＭは、シングルポートまたはマルチポートのＲＡＭであってよい。本開示は、任意の好適なＲＡＭを企図する。メモリ４０４は、必要に応じて、１以上のメモリ４０４を含むことができる。本開示は特定のメモリを説明および図示しているが、本開示は、任意の好適なメモリを企図する。
【００６８】
特定の実施形態において、ストレージ４０６は、データまたは命令用の大容量ストレージを含む。限定としてではなく例として、ストレージ４０６は、ＨＤＤ、フロッピー（登録商標）・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス（ＢＵＳ）ドライブ、あるいは、これらの２つまたはそれ以上の組み合わせを含むことができる。ストレージ４０６は、必要に応じて、取り外し可能または取り外し不可（または固定型）媒体を含むことができる。ストレージ４０６は、必要に応じて、コンピュータシステム４００に対して内部または外部とすることができる。特定の実施形態において、ストレージ４０６は、不揮発性のソリッドステート・メモリである。特定の実施形態において、ストレージ４０６は、読み取り専用メモリ（ＲＯＭ）を含む。必要に応じて、このＲＯＭは、マスクプログラムドＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的可変ＲＯＭ（ＥＡＲＯＭ）、またはフラッシュ・メモリ、あるいはこれらの２つまたはそれ以上の組み合わせであってよい。本開示は、任意の好適な物理的形式を取る大容量ストレージ４０６を企図する。ストレージ４０６は、必要に応じて、プロセッサ４０２とストレージ４０６との間の通信を容易にする、１以上のストレージ制御装置を含むことができる。必要に応じて、ストレージ４０６は、１以上のストレージ４０６を含むことができる。本開示は特定のストレージを説明および図示しているが、本開示は任意の好適なストレージを企図する。
【００６９】
特定の実施形態において、Ｉ／Ｏインターフェース４０８は、コンピュータシステム４００と１以上のＩ／Ｏデバイスとの間の通信のために１以上のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム４００は、必要に応じて、これらのＩ／Ｏデバイスの１以上を含むことができる。これらのＩ／Ｏデバイスの１以上は、人とコンピュータシステム４００との間の通信を可能にすることができる。限定としてではなく例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニター、マウス、プリンター、スキャナー、スピーカ、スチルカメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオカメラ、他の好適なＩ／Ｏデバイス、またはこれらの２つまたはそれ以上の組み合わせを含むことができる。Ｉ／Ｏデバイスは、１以上のセンサーを含むことができる。本開示は、任意の好適なＩ／Ｏデバイス、およびそのための任意の好適なＩ／Ｏインターフェース４０８を企図する。必要に応じて、Ｉ／Ｏインターフェース４０８は、プロセッサがこれらのＩ／Ｏデバイスの１以上を駆動できるようにするための、１以上のデバイスまたはソフトウェア・ドライバを含むことができる。Ｉ／Ｏインターフェース４０８は、必要に応じて、１以上のＩ／Ｏインターフェース４０８を含むことができる。本開示は特定のＩ／Ｏインターフェースを説明および図示しているが、本開示は任意の好適なＩ／Ｏインターフェースを企図する。
【００７０】
特定の実施形態において、通信インターフェース４１０は、コンピュータシステム４０
０と１以上の他のコンピュータシステム４００あるいは１以上のネットワークとの間の通信（たとえばパケットベース通信など）のための、１以上のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく例として、通信インターフェース４１０は、イーサネット（登録商標）あるいは他の有線ベース・ネットワークまたは無線ＮＩＣ（ＷＮＩＣ）と通信するための、ネットワーク・インターフェース・コントローラ（ＮＩＣ）またはネットワーク・アダプタ、あるいは、ＷＩ−ＦＩネットワークなどの無線ネットワークと通信するための無線アダプタを含むことができる。本開示は、任意の好適なネットワークおよびそのための任意の好適な通信インターフェース４１０を企図する。
【００７１】
限定としてではなく例として、コンピュータシステム４００は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはインターネットの１以上の部分、あるいはこれらの２つまたはそれ以上の組み合わせと、通信することができる。１以上のこれらネットワークの１以上の部分は、有線または無線とすることができる。例として、コンピュータシステム４００は、無線ＰＡＮ（ＷＰＡＮ）（たとえばＢＬＵＥＴＯＯＴＨ（登録商標）  ＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、携帯電話網（たとえば、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ（登録商標））ネットワーク）、または他の好適な無線ネットワーク、あるいはこれらの２つまたはそれ以上の組み合わせと、通信することができる。コンピュータシステム４００は、必要に応じて、これらのネットワークのうちのいずれかのための任意の好適な通信インターフェース４１０を含むことができる。通信インターフェース４１０は、必要に応じて、１以上の通信インターフェース４１０を含むことができる。本開示は特定の通信インターフェースを説明および図示しているが、本開示は任意の好適な通信インターフェースを企図する。
【００７２】
特定の実施形態において、バス４１２は、コンピュータシステム４００の構成要素を互いに結合する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく例として、バス４１２は、Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）または他のグラフィクス・バス、拡張業界標準アーキテクチャ（ＥＩＳＡ）バス、フロントサイド・バス（ＦＳＢ）、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ（ＨＴ）相互接続、業界標準アーキテクチャ（ＩＳＡ）バス、ＩＮＦＩＮＩＢＡＮＤ相互接続、ローピンカウント（ＬＰＣ）バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、周辺構成要素相互接続（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩ−Ｘ）バス、シリアル・アドバンスド・テクノロジー・アタッチメント（ＳＡＴＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎローカル（ＶＬＢ）バス、または他の好適なバス、あるいはこれらの２つまたはそれ以上の組み合わせを含むことができる。バス４１２は、必要に応じて、１以上のバス４１２を含むことができる。本開示は特定のバスを説明および図示しているが、本開示は任意の好適なバスまたは相互接続を企図している。
【００７３】
本明細書では、コンピュータ読み取り可能記憶媒体への言及は、構造を有する、１以上の非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）で有形のコンピュータ読み取り可能記憶媒体を包含する。限定としてではなく例として、コンピュータ読み取り可能記憶媒体は、半導体ベースまたは他の集積回路（ＩＣ）（たとえば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または特定用途向けＩＣ（ＡＳＩＣ）など）、ハード・ディスク、ＨＤＤ、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスク、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ホログラフィ
ック記憶媒体、ソリッドステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、ＳＥＣＵＲＥ
ＤＩＧＩＴＡＬカード、ＳＥＣＵＲＥ  ＤＩＧＩＴＡＬドライブ、または他の好適なコンピュータ読み取り可能記憶媒体、あるいは必要に応じて、これらの２つまたはそれ以上の組み合わせを含むことができる。本明細書では、コンピュータ読み取り可能記憶媒体への言及は、米国特許法第１０１条の下で特許権保護資格のないいずれの媒体も除外する。本明細書では、コンピュータ読み取り可能記憶媒体への言及は、米国特許法第１０１条の下で特許権保護資格のない限りにおいて、過渡的な形の信号伝送（伝搬電気または電磁信号それ自体など）を除外する。非一時的なコンピュータ可読記憶媒体（ｃｏｍｐｕｔｅｒ−ｒｅａｄａｂｌｅ  ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｓｔｏｒａｇｅ  ｍｅｄｉａ）は、必要に応じて、揮発性、不揮発性、または揮発性および不揮発性の組み合わせとすることができる。
【００７４】
本開示は、任意の好適なストレージを実装する１以上のコンピュータ読み取り可能記憶媒体を企図する。特定の実施形態において、コンピュータ読み取り可能記憶媒体は、プロセッサ４０２の１以上の部分（たとえば１以上の内部レジスタまたはキャッシュなど）、メモリ４０４の１以上の部分、ストレージ４０６の１以上の部分、あるいは必要に応じて、これらの組み合わせを実装する。特定の実施形態において、コンピュータ読み取り可能記憶媒体は、ＲＡＭまたはＲＯＭを実装する。特定の実施形態において、コンピュータ読み取り可能記憶媒体は、揮発性または永続性メモリを実装する。特定の実施形態において、１以上のコンピュータ読み取り可能記憶媒体はソフトウェアを具現化する。
【００７５】
本明細書では、ソフトウェアへの言及は、１以上のアプリケーション、バイトコード、１以上のコンピュータ・プログラム、１以上の実行可能プログラム、１以上の命令、論理、機械コード、１以上のスクリプト、またはソース・コード、および必要に応じてその逆も同様に、包含可能である。特定の実施形態において、ソフトウェアは、１以上のアプリケーション・プログラミング・インターフェース（ＡＰＩ）を含む。本開示は、任意の好適なプログラミング言語またはプログラミング言語の組み合わせで作成されるかまたは他の方法で表される、任意の好適なソフトウェアを企図する。特定の実施形態において、ソフトウェアは、ソース・コードまたはオブジェクト・コードとして表される。特定の実施形態において、ソフトウェアは、たとえばＣ、Ｐｅｒｌ、またはそれらの好適な拡張などの、高水準プログラミング言語で表される。特定の実施形態において、ソフトウェアは、アセンブリ言語（または機械コード）などの低水準プログラミング言語で表される。特定の実施形態において、ソフトウェアは、ＪＡＶＡ（登録商標）、Ｃ、またはＣ＋＋で表される。特定の実施形態において、ソフトウェアは、ハイパー・テキスト・マークアップ言語（ＨＴＭＬ）、拡張可能マークアップ言語（ＸＭＬ）、または他の好適なマークアップ言語で表される。
【００７６】
本明細書では、「または」は、他の方法で明示的に示されていないかまたはコンテキストにより他の方法で示されていない限り、包含的であり排他的ではない。したがって本明細書では、「ＡまたはＢ」は、他の方法で明示的に示されていないかまたはコンテキストにより他の方法で示されていない限り、「Ａ、Ｂ、またはその両方」を意味する。さらに「および」は、他の方法で明示的に示されていないかまたはコンテキストにより他の方法で示されていない限り、両方の合同およびそれぞれである。したがって本明細書では、「ＡおよびＢ」は、他の方法で明示的に示されていないかまたはコンテキストにより他の方法で示されていない限り、「合同またはそれぞれにＡおよびＢ」を意味する。
【００７７】
本開示は、当業者であれば理解されるであろう、本明細書の例示的実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。同様に、必要に応じて、添付の特許請求の範囲は、当業者であれば理解されるであろう、本明細書の例示的実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。さらに添付の特許請求の
範囲において、特定の機能を実行するように適合され、配置され、実行可能であり、構成され、実行可能化され、動作可能であり、または機能可能である、装置またはシステムあるいは装置またはシステムの構成要素への言及は、これ、またはその特定の機能が活動化、電源ＯＮ、またはロック解除されているかどうかにかかわらず、その装置、システム、または構成要素がそのように適合され、配置され、実行可能であり、構成され、実行可能化され、動作可能であり、または機能可能である限り、その装置、システム、構成要素を包含する。
【図１】
2015195062.tif 000003
【図２】
2015195062.tif 000004
【図３】
2015195062.tif 000005
【図４】
2015195062.tif 000006