(57)【要約】一実施形態においては、テキスト入力ボックス内に現在入力されているサーチクエリの文字の組にアクセスするステップ、テキスト入力ボックス内に現在入力されている文字の組に基づいてサーチ結果の第１の組を編集するステップであって、編集がテキスト入力ボックス内に入力されている文字の組に対する変更に応答して再実行されるステップ、イメージをサーチ結果の第１の組からのそれぞれのサーチ結果と関連付けるステップ、及びテキスト入力ボックスに隣接した状態においてサーチ結果の第１の組をイメージの第１の組として提示するステップである。
2014522535.tif 000002
【特許請求の範囲】
【請求項１】
第１コンピュータデバイスにより、
テキスト入力ボックス内に現在入力されているサーチクエリの文字の組にアクセスするステップと、
前記テキスト入力ボックス内に現在入力されている前記文字の組に基づいてサーチ結果の第１の組を編集するステップであって、前記編集は前記テキスト入力ボックス内に入力されている前記文字の組に対する変更に応答して再実行される、編集ステップと、
前記サーチ結果の第１の組からの各サーチ結果にイメージを関連付ける、関連付けステップと、
前記サーチ結果の第１の組を前記テキスト入力ボックスに隣接するイメージの第１の組として提示する、イメージ提示ステップと、を有する、方法。
【請求項２】
前記テキスト入力ボックス内に入力されている前記サーチクエリの前記文字の組に対する１つ以上の追加の文字を受け取るステップと、
前記１つ以上の追加の文字を含む、前記テキスト入力ボックス内に現在入力されている前記文字の組に基づいてサーチ結果の第２の組を編集するステップと、
前記サーチ結果の第２の組からの各サーチ結果にイメージを関連付けるステップと、
前記サーチ結果の第２の組を前記テキスト入力ボックスに隣接するイメージの第２の組として提示するステップであって、前記イメージの第２の組によって、前記イメージの第１の組が置換えられる、ステップと、を更に有する、請求項１に記載の方法。
【請求項３】
前記編集ステップ及び前記イメージ提示ステップは、
前記第１コンピュータデバイスに記憶されている情報から１つ以上の第１サーチ結果を識別するステップと、
前記１つ以上の第１サーチ結果を１つ以上の第１イメージとして提示するステップと、
前記１つ以上の第１サーチ結果が不十分である場合に、
１つ以上の第２コンピュータデバイスに記憶されている情報から１つ以上の第２サーチ結果を識別すること、
前記１つ以上の第２サーチ結果を１つ以上の第２イメージとして提示することと、を含む、請求項１に記載の方法。
【請求項４】
前記編集ステップは、前記第１コンピュータデバイス及び１つ以上の第２コンピュータデバイスに記憶されている情報から前記サーチ結果の第１の組を識別するステップを含む、請求項１に記載の方法。
【請求項５】
前記イメージ提示ステップは、
前記第１コンピュータデバイスの画面の一つの部分を前記サーチ結果の第１の組からの１つ以上のサーチ結果のそれぞれに割り当てるステップと、
前記サーチ結果に割り当てられた前記画面の前記部分内において前記サーチ結果の第１の組からの前記１つ以上のサーチ結果のそれぞれと関連付けられた前記イメージを表示するステップであって、前記イメージによって、前記画面の前記部分が実質的に消費される、ステップと、を含む、請求項１に記載の方法。
【請求項６】
前記関連付けステップは、前記サーチ結果の第１の組からの各サーチ結果に対して、該サーチ結果を表すイメージを選択することを含む、請求項１に記載の方法。
【請求項７】
前記イメージの第１の組は、各イメージが互いに隣接するように配置されて、該各イメージの１つ以上のエッジは１つ以上の他のイメージの１つ以上のエッジと接触する、請求項１に記載の方法。
【請求項８】
１つ以上のプロセッサによって実行可能な命令を有するメモリを備えるシステムであって、前記１つ以上のプロセッサは、前記メモリに結合され、および、前記命令を実行するように動作可能であり、前記１つ以上のプロセッサは、前記命令を実行することによって、
テキスト入力ボックス内に現在入力されているサーチクエリの文字の組にアクセスして、
前記テキスト入力ボックス内に現在入されている前記文字の組に基づいてサーチ結果の第１の組を編集し、前記編集することは、前記テキスト入力ボックス内に入力されている前記文字の組に対する変更に応答して再実行され、
前記サーチ結果の第１の組からの各サーチ結果にイメージを関連付けて
前記サーチ結果の第１の組を前記テキスト入力ボックスに隣接するイメージの第１組として提示するように動作可能である、システム。
【請求項９】
前記１つ以上のプロセッサは、前記命令を実行することによって更に、
前記テキスト入力ボックス内に入力されている前記サーチクエリの前記文字の組に対する１つ以上の追加の文字を受け取り、
前記１つ以上の追加の文字を含む、前記テキスト入力ボックス内に現在入力されている前記文字の組に基づいてサーチ結果の第２の組を編集し、
前記サーチ結果の第２の組からの各サーチ結果にイメージを関連付けて、
前記サーチ結果の第２の組を前記テキスト入力ボックスに隣接するイメージの第２の組として提示し、前記イメージの第２の組が前記イメージの第１の組を置換えるように動作可能である、請求項８に記載のシステム。
【請求項１０】
前記編集すること及び前記提示することは、
第１コンピュータデバイスに記憶されている情報から１つ以上の第１サーチ結果を識別することと、
前記１つ以上の第１サーチ結果を１つ以上の第１イメージとして提示することと、
前記１つ以上の第１サーチ結果が不十分である場合に、
１つ以上の第２コンピュータデバイスに記憶されている情報から１つ以上の第２サーチ結果を識別することと、
前記１つ以上のサーチ結果を１つ以上の第２イメージとして提示することとを含む、請求項８に記載のシステム。
【請求項１１】
前記編集することは、第１コンピュータデバイス及び１つ以上の第２コンピュータデバイスに記憶されている情報から前記サーチ結果の第１の組を識別することを含む、請求項８に記載のシステム。
【請求項１２】
前記提示することは、
第１コンピュータデバイスの画面の一つの部分を前記サーチ結果の第１の組からの１つ以上のサーチ結果のそれぞれに対して割り当てることと、
前記サーチ結果に割り当てられた前記画面の前記部分内において前記サーチ結果の第１の組からの前記１つ以上のサーチ結果のそれぞれと関連付けられた前記イメージを表示することであって、前記イメージによって、前記画面の前記部分が実質的に消費されることとを含む、請求項８に記載のシステム。
【請求項１３】
前記関連付けることは、前記サーチ結果の第１の組からの各サーチ結果に対して、該サーチ結果を表すイメージを選択することを含む、請求項８に記載のシステム。
【請求項１４】
前記イメージの第１の組は、各イメージが互いに隣接するように配置されて、該各イメ
ージの１つ以上のエッジは１つ以上の他のイメージの１つ以上のエッジと接触する、請求項８に記載のシステム。
【請求項１５】
ソフトウェアを具体化する１つ以上の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは、１つ以上のコンピュータシステムによって実行されるときに、
テキスト入力ボックス内に現在入力されているサーチクエリの文字の組にアクセスして、
前記テキスト入力ボックス内に現在入力されている前記文字の組に基づいてサーチ結果の第１の組を編集し、前記編集することは、前記テキスト入力ボックス内に入力されている前記文字の組に対する変更に応答して再実行され、
前記サーチ結果の第１の組からの各サーチ結果にイメージを関連付けて、
前記サーチ結果の第１の組を前記テキスト入力ボックスに隣接するイメージの第１の組として提示するように動作可能である、媒体。
【請求項１６】
前記ソフトウェアは、前記１つ以上のコンピュータシステムによって実行されるときに更に、
前記テキスト入力ボックス内に入力されている前記サーチクエリの前記文字の組に対する１つ以上の追加の文字を受け取り、
前記１つ以上の追加の文字を含む、前記テキスト入力ボックス内に現在入力されている前記文字の組に基づいてサーチ結果の第２の組を編集し、
前記サーチ結果の第２の組からの各サーチ結果にイメージを関連付け、
前記サーチ結果の第２の組を前記テキスト入力ボックスに隣接するイメージの第２の組として提示し、前記イメージの第２の組によって、前記イメージの第１の組が置換えられるように動作可能である、請求項１５に記載の媒体。
【請求項１７】
前記サーチ結果の第１の組を編集すること及び提示することは、
第１コンピュータデバイスに記憶されている情報から１つ以上の第１サーチ結果を識別するステップと、
前記１つ以上の第１サーチ結果を１つ以上の第１イメージとして提示するステップと、
前記１つ以上の第１サーチ結果が不十分である場合に、
１つ以上の第２コンピュータデバイスに記憶されている情報から１つ以上の第２サーチ結果を識別し、前記１つ以上の第２サーチ結果を１つ以上の第２イメージとして提示するステップとを含む、請求項１５に記載の媒体。
【請求項１８】
前記サーチ結果の第１の組を編集することは、第１コンピュータデバイス及び１つ以上の第２コンピュータデバイスに記憶されている情報から前記サーチ結果の第１の組を識別するステップを有する、請求項１５に記載の媒体。
【請求項１９】
前記サーチ結果の第１の組を前記イメージの第１の組として提示することは、
１コンピュータデバイスの画面の一つの部分を前記サーチ結果の第１の組からの１つ以上のサーチ結果のそれぞれに割り当てるステップと、
前記サーチ結果に割り当てられた前記画面の前記部分内において前記サーチ結果の第１の組からの前記１つ以上のサーチ結果のそれぞれと関連付けられた前記イメージを表示するステップであって、前記イメージによって、前記画面の前記部分が実質的に消費される、ステップとを有する、請求項１５に記載の媒体。
【請求項２０】
前記イメージの第１の組は、各イメージが互いに隣接するように配置されて、該各イメージの１つ以上のエッジは１つ以上の他のイメージの１つ以上のエッジと接触する、請求項１５に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、サーチクエリに対して識別されたサーチ結果の提示に関する。
【背景技術】
【０００２】
インターネットは、大量の情報を提供しており、これらの情報は、世界中において、サーバ及びクライアント上やデータベース内などのように、多くの異なるサイトにおいて且つ多くの異なるデバイスに記憶されていることもある。これらの様々なサイトに位置する様々なデバイスは、有線又は無線接続により、コンピュータ又は通信ネットワークに対して通信するようにリンクされている。人は、ネットワークに接続された適切なネットワークデバイス（例えば、コンピュータ、スマート携帯電話機、エンターテインメントコンソールなど）を使用することにより、インターネット上において提供されている特定の情報に対してアクセスすることができる。
【０００３】
インターネット上において提供されている膨大な量の情報に起因し、ユーザ自身が必要とする特定の情報を人間（例えば、ネットワークユーザ）がインターネットの全体を通じて手作業でサーチすることは、現実的でないだけではなく、不可能である。この代わりに、大部分のネットワークユーザは、所望の情報をユーザ自身が見つけることができるように、様々なタイプのコンピュータ実装ツールを利用している。最も一般的に且つ広範に使用されているコンピュータ実装ツールのうちの１つがサーチツールであり、これは、サーチエンジンとも呼ばれている。インターネット上において特定の話題に関係する情報をサーチするために、ユーザは、通常、その話題を表すいくつかの単語をサーチツールに提供しており、これらは、しばしば、「サーチクエリ」又は単に「クエリ」と呼ばれている。サーチツールは、様々なサーチアルゴリズムを使用してサーチクエリに基づいてサーチを実施し、且つ、サーチ結果の組を生成するが、サーチ結果のそれぞれは、サーチクエリに関係する可能性が最も高い所定の情報に対応している。次いで、これらのサーチ結果がユーザに提示される。
【０００４】
高度なサーチツールは、サーチ処理の一部として、サーチ結果の単なる識別に加えて、多数のその他の機能も実装している。例えば、サーチツールは、通常、サーチクエリに対する関連性が相対的に高いサーチ結果が、サーチクエリに対する関連性が相対的に低いサーチ結果よりも高くランク付けされ、且つ、その結果、サーチクエリに対する関連性が相対的に低いサーチ結果よりも先にネットワークユーザに提示されるように、サーチクエリとの関係におけるその相対的な関連性の程度に応じて、識別されたサーチ結果をランク付けしている。サーチツールによって生成されるサーチ結果の品質を改善するための努力が継続的に行われている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は、概して、サーチクエリに対して識別されたサーチ結果の提示に関する。
【課題を解決するための手段】
【０００６】
特定の実施形態は、テキスト入力ボックスに現在入力されているサーチクエリの文字の組にアクセスしてもよく、テキスト入力ボックスに現在入力されている文字の組に基づいてサーチ結果の第１の組を編集してもよく、この場合に、この編集することは、テキスト入力ボックス内に入力されている文字の組に対する変更に応答して再実行され、サーチ結果の第１の組のそれぞれのサーチ結果にイメージを関連付けてもよく、且つ、サーチ結果の第１の組をテキスト入力ボックスに隣接するイメージのサーチ結果の第１の組として提
示してもよい。
【０００７】
以下、本開示のこれらの及びその他の特徴、態様、及び利点について、以下の添付図面との関連において更に詳細に説明する。
【図面の簡単な説明】
【０００８】
【図１】例示的なサーチ結果の組を示す図。
【図２】例示的なサーチ結果の組を示す図。
【図３】サーチを実施するための例示的なシステムを示す図。
【図４】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
【図５】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
【図６】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
【図７】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
【図８】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
【図９】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
【図１０】サーチを実施するための例示的な方法を示す図。
【図１１】ソーシャルネットワークシステムに含まれる情報を表す例示的なチャートを示す図。
【図１２】例示的なコンピュータシステムを示す図。
【発明を実施するための形態】
【０００９】
以下、添付図面に示されているそのいくつかの実施形態を参照し、本開示について詳細に説明する。以下の説明においては、本開示を十分に理解することができるように、多数の特定の詳細事項について記述されている。但し、本開示は、これらの特定の詳細事項のうちの一部又はすべてを伴うことなく実施してもよい。その他の例においては、本開示を不必要に曖昧にすることのないように、周知の処理工程及び／又は構造については、詳細に記述されていない。更には、本開示は、特定の実施形態との関連において記述されているが、この説明は、記述されている実施形態に本開示を限定することを意図したものではないことを理解されたい。逆に、この説明は、添付の請求項によって規定されている本開示の精神及び範囲に含まれる代替形態、変更形態、及び均等物を含むものと解釈されたい。
【００１０】
コンピュータ実装サーチツールは、インターネットやイントラネットなどの１つ又は複数の情報源から特定の話題に関連する情報をサーチするように設計されている。サーチを実施するために、ユーザは、サーチツールに対してサーチクエリを発行してもよい。サーチクエリは、一般に、話題を表す１つ又は複数の単語を含む。これに応答して、サーチツールは、サーチクエリに関係する可能性が高い所定の情報にそれぞれが対応しているサーチ結果の組を識別してもよい。サーチ結果の組は、任意の数の要因に基づいてランク付けされてもよく、且つ、その個々のランクに応じてユーザに提示してもよい。
【００１１】
特定の実施形態においては、それぞれのサーチ結果は、イメージの形態においてユーザに提示してもよく、このイメージは、サーチ結果を表すものであってもよく、サーチ結果について記述するものであってもよく、又はサーチ結果に関連するものであってもよい。例えば、サーチ結果と個別に関連付けられたイメージをユーザが使用しているクライアン
トデバイス（例えば、コンピュータ又はスマートフォン）の画面に表示することによってサーチ結果をユーザに提示するときは、特定のサーチ結果について予約されている画面のそれぞれの部分は、そのサーチ結果と関連するイメージによって実質的に消費される。
【００１２】
タイプアヘッド（Ｔｙｐｅ  Ａｈｅａｄ）
特定の実施形態においては、サーチツールは、「タイプアヘッド」機能を実装してもよく、この機能は、テキスト（例えば、サーチクエリ）について徐々にサーチすると共にフィルタリングするためのユーザインタフェースとの対話方法であり、「インクリメンタルサーチ」、「インクリメンタルファインド」、又は「リアルタイムサジェスチョン」とも呼ばれている。ユーザがサーチクエリのテキストをタイプするのに伴って、そのテキストに一致し得る１つ又は複数の候補が見つけられ、且つ、即座にユーザに提示される。この即座のフィードバックにより、多くの場合に、ユーザは、そのサーチクエリの単語又はフレーズの全体をタイプすることが不要となる。また、ユーザは、提示されたリストのうちから、密接に関係している選択肢を選択してもよい。更には、特定の実施形態においては、ユーザがサーチクエリのそれぞれの文字をタイプするのに伴って、それまでにタイプしているテキストに対応したサーチ結果の組をユーザに対して即座に提示してもよい。このサーチ結果は、ユーザが更なる文字をタイプするごとに、更新されてもよい。
【００１３】
例えば、ユーザがある人物のサーチを所望しており、且つ、その人物の名前をサーチクエリとして入力することを開始すると仮定する。ユーザは、まず、文字「ｓ」を（例えば、ユーザインタフェースに含まれた入力フィールド内に）タイプする。この時点において、文字「ｓ」によって始まる名前のうちのいくつか（例えば、Ｓａｍ（サム）、Ｓａｒａ、Ｓｈａｒｏｎ、Ｓｔｅｖｅｎなど）をユーザに対して示唆してもよい。更には、示唆された名前のうちの１つ（例えば、示唆された第１の名前であるＳａｍ）に対応するサーチ結果の組をユーザに対して同様に提示してもよい。次いで、ユーザが文字「ａ」をタイプすると仮定する。この時点において、文字列「ｓａ」によって始まる名前のうちのいくつか（例えば、Ｓａｍ、Ｓａｎｄｒａ、Ｓａｒａ、Ｓａｓｈａ、Ｓａｕｌなど）をユーザに対して示唆してもよい。更には、示唆された名前のうちの１つ（例えば、Ｓａｎｄｒａ）に対応するサーチ結果の組をユーザに対して同様に提示してもよい。このプロセスは、ユーザが名前のタイプを終了するか又は示唆された名前のうちの１つを選択する時点まで継続してもよい。タイプアヘッドについては、２０１０年６月１５日付けで出願された「ソーシャルネットワークシステムにおけるオブジェクトのサーチ及び取り出し（Ｓｅａｒｃｈ  ａｎｄ  Ｒｅｔｒｉｅｖａｌ  ｏｆ  Ｏｂｊｅｃｔｓ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｙｓｔｅｍ）」という名称の米国特許出願第１２／８１６，３７７号明細書に更に詳細に記述されており、この特許文献の内容は、引用により、そのすべてが、すべての目的のために、本明細書に包含される。
【００１４】
図１及び図２は、「タイプアヘッド」機能を取り入れたサーチ結果の２つの例示的な組を示している。図１に示されている例示的ユーザインタフェースにおいては、ユーザがサーチクエリを提供してもよい入力フィールド１１０と、サーチ結果を表示してもよい出力フィールド１２０と、が存在してもよい。ユーザが単語「ｓａｍ」を入力フィールド１１０内においてタイプするのに伴って、サーチクエリ「ｓａｍ」に基づいて編集されたサーチ結果の組１３１、１３２、１３３を出力フィールド１２０内においてユーザに提示してもよい。図２に示されているように、単語が「ｓａｍｕｅｌ」となるように、ユーザが継続して入力フィールド１１０内においてタイプしたと仮定する。この時点においては、サーチクエリ「ｓａｍｕｅｌ」に基づいて、サーチ結果の新しい組１４１、１４２、１４３を編集してもよい。このサーチ結果の新しい組１４１、１４２、１４３を出力フィールド１２０内において表示することにより、以前のサーチ結果の組１３１、１３２、１３３を置換えてもよい。
【００１５】
理論的には、ユーザが単一の文字（例えば、「ｓ」）を入力フィールド１１０内においてタイプしたとき、即座に、その文字に基づいてサーチ結果の組を編集し、且つ、出力フィールド１２０内において表示してもよい。更には、ユーザが入力フィールド１１０内において更なる文字をタイプしてサーチクエリを変更するごとに、それまでにユーザによって提供されている文字に基づいてサーチ結果の新しい組を編集し、且つ、出力フィールド１２０内において表示してもよい。但し、実際には、ユーザが入力フィールド１１０内に新しい文字を入力するごとに、サーチツールがサーチ結果の組を編集及び提示しない場合もある。例えば、ユーザが第１文字「ｓ」を入力した場合に、サーチクエリとして機能するには、単一の文字では、あまりに曖昧であり、且つ、単一の文字「ｓ」に関係すると見なしてもよい可能なサーチ結果は多数存在することになり、その結果、単一の文字「ｓ」に基づいてサーチ結果の組を編集してユーザに提示したとしても、ユーザには、あまり有用ではないということになり得る。従って、サーチツールは、この時点では、所定のサーチ結果を編集することなく、且つ、ユーザからの更なる入力を待つように選択してもよい。ユーザが２つの更なる文字「ａ」及び「ｍ」を入力した場合には、３つの文字「ｓ」、「ａ」、及び「ｍ」は、有意な単語、すなわち、有意なサーチクエリを形成する。この時点で、サーチツールは、サーチクエリ「ｓａｍ」に基づいてサーチ結果の組を編集すると共に出力フィールド１２０内においてユーザに提示するようにサーチ結果の組を選択してもよい。
【００１６】
サーチクエリをタイプするとき、ユーザは、しばしば、サーチフレーズの一部として誤った文字を入力する可能性がある。特定のユーザのサーチクエリに関する過去の知識、一般的なユーザのサーチクエリ、デバイスの現在のキーボードのレイアウト、及びユーザがタイプしている可能性が高い１つ又は複数の言語の定義を使用することにより、誤った文字が入力されたとき、ユーザが意図している可能性の高いサーチフレーズをサーチツールが「推定」することを、支援し、且つ、可能にし得る。例えば、標準的なＵＳ  ＱＷＥＲＴＹキーボード上の文字「ｗ」は、文字「ｑ」、「ｅ」、「ａ」、「ｓ」、及び「ｄ」によって最も近接して取り囲まれている。ユーザが「ｓ」に続いて「ｗ」をタイプした場合には、「ｓｗ」の代わりに、ユーザが「ｓａ」又は「ｓｅ」を入力することを意図していた可能性がある。「ｓａ」又は「ｓｅ」についてサーチ結果が存在している場合には、任意選択により、（例えば、「ｓｗ」についてのサーチ結果に加えて、又はその代わりに）、自動訂正機能（オートコレクション）が一時的に適用されているという旨のインジケータと共に、これらのサーチ結果を表示してもよい。この結果、サーチ結果をタップする前にユーザがサーチクエリを訂正する必要性が低くなる。
【００１７】
インテリジェントサーバ要求
特定の実施形態においては、ユーザは、例えば、且つ、限定を伴うことなしに、デスクトップコンピュータシステム、ノートブックコンピュータシステム、ネットブックコンピュータシステム、ハンドヘルド型電子デバイス、又は携帯電話機などの適切なクライアントデバイスを使用してサーチを実施してもよい。クライアントデバイスは、ネットワークに接続されていてもよく、或いは、接続されていなくてもよい。図３は、ネットワーク３１０に接続された例示的なクライアントデバイス３３０を示している。特定の実施形態においては、クライアントデバイス３３０は、ハードウェア、ソフトウェア、又は組込み型の論理要素、或いは、このような２つ以上の要素の組合せを含む電子デバイスであってもよく、且つ、クライアント３３０によって実装され又はサポートされる適切な機能を実行する能力を有してもよい。
【００１８】
更には、ネットワーク３１０に接続された任意の数のサーバ３２０が存在してもよい。特定の実施形態においては、それぞれのサーバ３２０は、一体的なサーバであってもよく、或いは、複数のコンピュータ又は複数のデータセンタに跨る分散型サーバであってもよい。それぞれのサーバ３２０は、サーバ３２０によって実装され又はサポートされる適切
な機能を実行するべく、ハードウェア、ソフトウェア、又は組込み型の論理要素、或いは、このような複数の要素の組合せを含んでもよい。特定の実施形態においては、ソーシャルネットワークウェブサイトを実装するソーシャルネットワークシステム３２２を１つ又は複数のサーバ３２０上においてホスティングしてもよい。ソーシャルネットワークシステム３２２については、更に詳細に後述する。
【００１９】
特定の実施形態においては、１つ又は複数のデータストレージ３４０を１つ又は複数のサーバ３２０に対して通信するようにリンクしてもよい。特定の実施形態においては、データストレージ３４０を使用し、ソーシャルネットワークシステム３２２に関連する情報などの様々なタイプの情報を記憶してもよい。特定の実施形態においては、データストレージ３４０内に記憶されている情報を特定のデータ構造に応じて編成してもよい。
【００２０】
サーチクエリに基づいたサーチを実施するとき、サーチ結果の組を編集するための情報を複数の情報源から取得してもよい。例えば、ユーザ（例えば、クライアントデバイス３３０）自体が使用しているクライアントデバイスに記憶されているデータが存在してもよく、且つ、クライアントデバイスにローカルに記憶されているデータからサーチ結果の一部を取得してもよい。更には、サーチを実施する時点においてクライアントデバイスがネットワーク（例えば、ネットワーク３１０）に接続されている場合に、ネットワークを通じてクライアントデバイスからアクセス可能なサーバ（例えば、サーバ３２０）又はデータベース（例えば、データベース３４０）に記憶されているデータからサーチ結果の一部を遠隔的に取得してもよい。特定の実施形態においては、サーチを要求するユーザは、ソーシャルネットワークシステム（例えば、ソーシャルネットワークシステム３２２）の会員であってもよい。ソーシャルネットワークシステムは、様々なタイプの情報を収容してもよい。ソーシャルネットワークシステムと関連するデータからサーチ結果の一部を取得してもよい。また、インターネット上において公開されているデータからサーチ結果の一部を取得してもよい。
【００２１】
例えば、サーチクエリ「ｓａｍ」に基づいたサーチを実施するとき、サーチツールは、（１）ユーザがそのサーチを要求するために使用しているユーザのスマートフォンに記憶されている連絡先の中に「Ｓａｍ」という名前の人物が存在しているかどうか、（２）ソーシャルネットワークシステム内におけるユーザの社会的な（ソーシャル）繋がりの中に「Ｓａｍ」という名前の人物が存在しているかどうか、及び（３）インターネット上において「ｓａｍ」という単語と関連するコンテンツ又はリソースが存在しているかどうか、を判定してもよい。編集されるサーチ結果は、これらの供給源のすべてから取得された情報に基づいたものであってもよい。例えば、サーチ結果は、（１）ユーザのスマートフォンに記憶されている連絡先からの「Ｓａｍ」という名前のユーザの友人、（２）ソーシャルネットワークシステムからのユーザの２つの社会的な繋がりであって、いずれもが「Ｓａｍ」という名前を有する繋がり、及び（３）「ｓａｍ」に関係するインターネット上のいくつかのウェブページを含んでもよい。
【００２２】
特定の実施形態においては、サーチツールは、「インテリジェントサーバ要求」と称する機能を実装し得る。サーチクエリを受け取ったとき、サーチツールは、まず、ユーザのクライアントデバイスにローカルに記憶されているデータからサーチ結果を識別する。ユーザが探しているサーチ結果が、ユーザのクライアントデバイスにローカルに記憶されているデータの中に見つけられた場合には、ネットワークを通じてリモートサーバから更なるサーチ結果を取得する必要はないこともある。特定の実施形態においては、必要なときのみ（例えば、ユーザが探しているサーチ結果がユーザのクライアントデバイスにローカルに記憶されているデータの中には見つけられないときのみ）、サーチツールは、リモートサーバに対して更なるサーチ結果を要求すると共にダウンロードしている。
【００２３】
例えば、「ｓａｍ」というサーチクエリを受け取ったとき、サーチツールは、まず、ユーザがそのサーチを要求するために使用しているユーザのスマートフォンに記憶されている連絡先リストをサーチしてもよい。「Ｓａｍ」という名前の連絡先がユーザのスマートフォンに記憶されている連絡先リストの中に見つけられた場合には、サーチツールは、この連絡先及び彼（Ｓａｍ）の情報（例えば、電子メールアドレス又は電話番号）をサーチ結果としてユーザに提示してもよい。ユーザがこのサーチ結果と対話した場合には（例えば、その連絡先に対する通話を開始した場合には）、これは、ユーザ自身が探している情報を既に見つけており、従って、リモートサーバに対して更なるサーチ結果を要求する必要がないことを示すことになる。その一方で、ユーザがこのサーチ結果を無視した場合には、これは、その連絡先が、ユーザが探している「Ｓａｍ」ではないことを意味することになり、従って、サーチツールは、「ｓａｍ」に関係する更なるサーチ結果をリモートサーバから（例えば、ソーシャルネットワークシステムと関連するサーバ又はインターネット上においてウェブサイトをホスティングしているサーバから）取得することになり得る。
【００２４】
特定の実施形態においては、特定のデータ（例えば、頻繁にアクセスされる情報）は、クライアントデバイスにおいてローカルにキャッシュしておいてもよい。サーチツールは、キャッシュされているデータ及びクライアントデバイスにおいてローカルに記憶されているデータ、並びに、遠隔装置（例えば、サーバ及びデータベース）に記憶されているデータから、サーチ結果を取得してもよい。特定の実施形態においては、サーチツールによってサポートされている「タイプアヘッド」機能を伴う場合に、ユーザがサーチクエリを形成する文字の入力を開始するのに伴って、サーチツールは、まず、キャッシュされているデータ又はユーザのクライアントデバイスにローカルに記憶されているデータからサーチ結果を識別する。しきい値数の文字（例えば、２つ又は３つの文字）がユーザによって入力された後にのみ、サーチツールは、ネットワーク上における遠隔情報源（例えば、サーバ又はデーベース）からのサーチ結果の取得を開始する。
【００２５】
ユーザのクライアントデバイスにローカルに記憶されているデータから、及び、リモートサーバに記憶されているデータから、サーチ結果が取得されたとき、特定の実施形態においては、利用可能になり次第、サーチ結果をユーザに対して提示してもよい（例えば、ユーザのクライアントデバイスにおいて表示してもよい）。例えば、ユーザのクライアントデバイスにローカルに記憶されているデータから取得されるサーチ結果は、多くの場合に、サーチクエリを受け取り次第又はその直後に、利用可能な状態となる。これらのサーチ結果は、利用可能となった後に、即座に、ユーザに対して提示されてもよい。その後に、リモートサーバに記憶されているデータから更なるサーチ結果を取得する場合には、これらの更なる結果は、利用可能となるのに伴って、ユーザに提示してもよい（例えば、ユーザに対して既に提示されているサーチ結果に付加されてもよい）。
ユーザインタフェース
特定の実施形態においては、相対的に高くランク付けされたサーチ結果が相対的に低くランク付けされたサーチ結果よりも先にユーザに対して提示されるように、ユーザへの提示に先立って、サーチクエリに応答して編集されたサーチ結果の組をランク付けしてもよい。特定の実施形態においては、サーチクエリとの関係においてサーチ結果の組をランク付けするときは、多数の異なる要因を考慮してもよい。例えば、それぞれのサーチ結果のコンテンツを分析し、サーチクエリに対するその関連性の程度を判定してもよい。更には、特定の実施形態は、例えば、且つ、限定を伴うことなしに、サーチが実施されているコンテキスト、サーチクエリが表している話題の特性又は特徴、サーチが要求されている時点及び場所、並びに、サーチを要求しているユーザのソーシャルネットワーク情報及び行動プロファイルなどの要因に基づいてサーチ結果をランク付けしてもよい。
【００２６】
特定の実施形態においては、それぞれのサーチ結果をイメージと関連付けてもよい。イ
メージは、対応するサーチ結果を表すものであってもよく、対応するサーチ結果を記述するものであってもよく、或いは、対応するサーチ結果に関連したものであってもよい。例えば、サーチ結果が人物である場合には、関連するイメージは、その人物の顔を示す人物の写真（ユーザプロファイル写真など）であってもよい。サーチ結果が企業である場合には、関連するイメージは、その企業のロゴであってもよい。サーチ結果が場所である場合には、関連するイメージは、その場所のいくつかの代表的な又は認識可能な特徴を示す写真であってもよい。異なるサーチ結果は、異なる関連するイメージを有してもよい。
【００２７】
特定の実施形態においては、サーチ結果のユーザに対する提示は、サーチ結果と個々に関連付けられたイメージをユーザのクライアントデバイスの画面に表示することにより、実現される。図４〜図９は、サーチ結果の組に対応するイメージ（例えば、アイコン）の組を表示するいくつかの例示的な構成を示す。図４においては、イメージ４３１は、格子内に配置されている。垂直スライダバー４４１と、水平スライダバー４４３と、が存在している。ユーザは、これらのスライダバーを使用してイメージの頁を移動してもよい。特定の実施形態においては、いくつかのイメージ４３１と関連するテキストの説明文４３３が存在してもよい。但し、これらのテキストの説明文４３３は、イメージ４３１を補助するためのものである。図５においては、イメージ４３１は、列として垂直方向に配置されている。垂直スライダバー４４１を使用してイメージの頁を移動してもよい。図６においては、イメージ４３１は、行として水平方向に配置されている。水平スライダバー４４３を使用してイメージのページを移動してもよい。図７においては、イメージ４３１は、重ねられて（スタック）として配置されている。ユーザは、それぞれのイメージをスタックの最上部に移動させることにより、それぞれのイメージ４３１を観察してもよい。イメージ４３１のサイズは、スタックの最上部に近づくのに伴って大きくなり、且つ、スタックの最下部に近づくのに伴って小さくなる。図８においては、イメージ４３１は、異なるタイプのスタックとして配置してもよく、この場合には、中央のイメージが最大サイズを有しており、両側のイメージは、サイズが徐々に小さくなっている。ユーザは、それぞれのイメージをスタックの中央部に移動させることにより、それぞれのイメージ４３１を観察してもよい。図９においては、イメージ４３１は、格子、列、又は行において、イメージのエッジが接触した状態において、互いに直接的に隣接した状態に配置されてもよい。また、その他の配置も可能であり、且つ、本開示は、任意の適切な配置を想定している。例示的な配置のうちのいくつか（例えば、図７〜図９に示されているもの）は、比較的多くの数のイメージを比較的に小さな領域内に詰め込んでもよいように、その他の配置よりもコンパクトになっている。例示的な配置のうちのいくつかによれば、イメージを表示画面において「ラップアラウンド」させることができる。
【００２８】
特定の実施形態においては、いずれの配置が使用されるのかとは無関係に、サーチ結果の組に対応するイメージの組をユーザのクライアントデバイスの画面に表示するときは、それぞれのサーチ結果に対して画面の一つの部分が割り当てられ、且つ、サーチ結果と関連するイメージによって、対応するサーチ結果に割り当てられている画面の部分が実質的に消費又は占有される。特定の実施形態においては、サーチ結果に対応するイメージは、サーチクエリがユーザによって入力される入力フィールド（例えば、テキスト入力ボックス）に隣接して表示してもよい。
【００２９】
いくつかの実施形態においては、図４に示されているように、サーチ結果のためのイメージに加えて表示されるテキストの説明文が存在してもよいが、テキストの説明文は、イメージと比べた場合に、（例えば、サイズ又は場所の観点で）重要性が低く且つ補助的な存在である。その他の実施形態においては、図５〜図９に示されているように、１つのイメージのみがそれぞれのサーチ結果ごとに表示されている（すなわち、テキストの説明文やその他の要素が存在してはいない）。この結果、サーチ結果に対応するイメージを図７〜図９に示されているタイル状の、重ねられた、且つ、直接隣接した（すなわち、エッジ
が接触した）配置などの非常にコンパクトな形態で表示することができる。このようなコンパクトな配置は、比較的多くのイメージを比較的小さな表示領域内に詰め込んでもよいことから、比較的小さな画面を有するデバイス（例えば、モバイルデバイス）の場合に、特に適している。
【００３０】
しばしば、クライアントデバイスは、「ホバリング」機能をサポートする入力要素（例えば、マウス又はタッチスクリーン）を含んでもよい。例えば、マウスの場合には、ユーザは、マウスを使用することにより、カーソルがイメージの上方においてホバリングするように、マウスのクリックを伴うことなしにイメージの上方においてカーソルを移動させてもよい。タッチスクリーンの場合には、ホバリング動作を長い押圧によってシミュレートしてもよく、この場合に、ユーザは、自身の指をタッチスクリーンに対して押圧し、且つ、保持する。特定の実施形態においては、「ホバリング」機能をサポートしているクライアントデバイスの場合には、カーソルがイメージ４３１の上方においてホバリングしているとき、クライアントデバイスは、イメージ４３１の頁を一度に１頁ずつ移動させてもよい。
【００３１】
「タイプアヘッド」をサポートしていると共にサーチ結果を、図４〜図８に示されているイメージなどのイメージとして提示するサーチツールと関連したユーザインタフェースは、例えば、且つ、限定を伴うことなしに、クライアントデバイスに位置したサーチバー、電子メールのユーザインタフェース又はその他のメッセージングシステムのアドレス入力フィールド、又はクライアントデバイスにおいて稼働している任意の適用可能なソフトウェアアプリケーションのユーザインタフェースなどの様々な異なるコンテキストに取り入れられてもよい。
【００３２】
図１０は、イメージをサーチ結果として提示する例示的な方法を示している。特定の実施形態においては、ユーザは、ステップ１００１に示されているように、ユーザデバイス又はクライアントデバイスにおいてサーチクエリを入力してもよい。特定の実施形態は、ステップ１００２に示されているように、ユーザデバイスに記憶されている情報から、ユーザによってそれまでに入力されているサーチクエリの現在のバージョンに基づいてサーチ結果の組を識別してもよい。このサーチ結果の組は、ステップ１００３に示されているように、イメージの組としてユーザに提示されてもよい（例えば、イメージは、ユーザデバイスの画面に表示される）。
【００３３】
特定の実施形態は、ステップ１００４に示されるように、追加のサーチ結果が必要であるか否かを判定してもよい。例えば、サーチクエリの現在のバージョンに関係する又は密接に関係する記憶された情報がユーザのクライアントデバイスに存在していない場合がある。或いは、ユーザに既に提示されているサーチ結果が、ユーザのニーズに照らして、十分なものではない（例えば、ユーザに対して既に提示されているサーチ結果のいずれもが、ユーザが探しているものではない）とユーザが判断する場合もある。追加のサーチ結果が必要である場合には、特定の実施形態は、ステップ１００５に示されているように、１つ又は複数のリモートサーバに記憶されている情報から追加のサーチ結果を識別してもよく、且つ、ステップ１００６に示されているように、これらの追加のサーチ結果をユーザに対してイメージとして提示してもよい。
【００３４】
サーチ結果の組に対して、特定の実施形態は、サーチクエリに対するその関連性の相対的な程度、並びに、ソーシャルネットワークシステムに含まれている情報に基づいて、サーチ結果をランク付けしてもよい。ソーシャルネットワークとは、一般に、友人関係、親戚関係、共通の関心、金融取引、嫌悪、或いは、信念、知識、又は名声からなる関係性などの１つ又は複数のタイプの相互依存性又は関係性によって接続された個人又は組織などのエンティティから構成される社会的構造体である。近年においては、ソーシャルネット
ワークは、インターネットを活用している。ソーシャルネットワークウェブサイトの形態でインターネット上に存在するソーシャルネットワークシステムが存在している。このようなソーシャルネットワークウェブサイトにより、ウェブサイトユーザと一般的には呼ばれるその会員は、様々な社会的活動を実行することができる。例えば、ｗｗｗ．ｆａｃｅｂｏｏｋ．ｃｏｍでＦａｃｅｂｏｏｋ、  Ｉｎｃ．によって運営されているソーシャルネットワークウェブサイトの場合には、そのユーザは、例えば、電子メール、インスタントメッセージ、又はブログの投稿を通じてユーザ自身の友人と通信することが可能であり、社会的イベントを組織することが可能であり、写真を共有することが可能であり、ユーザの友人又は関心のあるイベントに関するニュースを受け取ることが可能であり、ゲームを楽しむことが可能であり、且つ、イベントを計画することができる。
【００３５】
ソーシャルネットワークシステムは、そのユーザに関係する膨大な量の情報を収容してもよい。このような情報は、個々のユーザの社会的な繋がりに限定されるものではなく、例えば、且つ、限定を伴うことなしに、人口統計的情報、ネットワーク又は社会的活動、行動プロファイル、及び個々のユーザの個人的な好み、関心、又は趣味を含んでもよい。特定の実施形態は、チャートを使用することにより、ソーシャルネットワークシステムに収容されている情報を表してもよく、このチャートは、任意の数のノード及びエッジを有してもよく、その例が図１１に示されている。
【００３６】
図１１に示されているチャート１１００においては、それぞれのノードは、エンティティを表してもよく、これは、人間であってもよく（例えば、ソーシャルネットワークシステムのユーザ）、或いは、人間でなくてもよい（例えば、場所、イベント、活動、企業、オブジェクト、メッセージ、掲示、イメージ、ウェブページ、ニュースフィードなど）。２つのノードが所定の方式によって関係付けられている（すなわち、２つのノードの間に関係が存在している）場合には、それら２つのノードは、エッジによって接続される。チャート１１００内の２つのノードを関係付けてもよく、且つ、従って、エッジによって接続してもよい例示的なケースは、限定を伴うことなしに、（１）２つのノードが、それぞれ、ソーシャルネットワークシステムの２人のユーザを表しており、且つ、２人のユーザが社会的に接続されている（例えば、互いに友人である）場合、（２）２つのノードが、それぞれ、ソーシャルネットワークシステムの１人のユーザと１つのイベントを表しており、且つ、そのユーザがそのイベントに出席している場合、（３）２つのノードがソーシャルネットワークシステムの１人のユーザと１つの場所を表しており、且つ、そのユーザがその場所を訪れたことがある場合、（４）２つのノードが、ソーシャルネットワークシステムの１人のユーザを表しており、且つ、そのユーザがウェブページと対話している（例えば、閲覧している）場合、（５）２つのノードが、それぞれ、１つのイベントと１つの場所を表しており、且つ、そのイベントがその場所において開催される場合、（６）２つのノードが、それぞれ、ソーシャルネットワークシステムの１人のユーザと１つのイメージ（例えば、デジタル写真）を表しており、且つ、そのユーザがそのイメージに含まれている場合、（７）２つのノードが、それぞれ、ソーシャルネットワークシステムの１人のユーザと１つの製品（例えば、携帯電話機）を表しており、且つ、そのユーザがその製品を所有し使用している場合、並びに、（８）２つのノードが、それぞれ、ソーシャルネットワークシステムの１人のユーザと１つのソフトウェアアプリケーション（例えば、ウェブに基づいたゲーム）を表しており、且つ、そのユーザがそのアプリケーションを使用している（例えば、ゲームを楽しんでいる）場合を含んでもよい。繋がりは、２人の人間の間に、人間と人間ではないエンティティの間に、且つ、人間ではない２つのエンティティの間に、存在してもよい。２つの人間の又は人間ではないエンティティの間における任意のタイプの関係は、それら２つのエンティティの間における繋がりを結果的にもたらしてもよい。
【００３７】
チャート１１００においては、２つの特定のノードの間にエッジが存在しているときは
、それら２つのノードは、直接的に関係付けられていると見なしてもよい。例えば、エッジ１１２０Ａは、ノード１１１０Ａとノード１１１０Ｂを接続しており、且つ、従って、ノード１１１０Ａ及び１１１０Ｂは、直接的に関係付けられている。同様に、エッジ１１２０Ｂは、ノード１１１０Ｂとノード１１１０Ｃを接続しており、且つ、従って、ノード１１１０Ｂ及び１１１０Ｃは、直接的に関係付けられている。２つの特定のノードの間にエッジが存在していないときも、２つのノードを依然として間接的に関係付けられていると見なしてもよい。例えば、ノード１１１０Ａ及び１１１０Ｃを直接的に接続しているエッジは存在していないが、ノード１１１０Ａ及び１１１０Ｃは、依然として、ノード１１１０Ｂを通じて間接的に関係付けられていると見なしてもよい。ノード１１１０Ａとの関係において、ノード１１１０Ｂは、ノード１１１０Ｃよりも、ノード１１１０Ａに対する相対的に緊密な関係を有しており、その理由は、チャート１１００においては、ノード１１１０Ａからノード１１１０Ｂまで移動するには、１回のホップを要するが、ノード１１１０Ａからノード１１１０Ｃまで移動するには、２回のホップを（すなわち、ノード１１１０Ｂを通じて）要するからである。特定の実施形態においては、２つの特定のノードとの関係において、１つのノードから別のノードに移動するのに要するホップの回数が少ないほど、それら２つのノードは、相対的に密接に関係付けられている。
【００３８】
特定の実施形態は、このようなチャートを使用し、サーチ結果の識別及びランク付けを支援してもよい。特定の実施形態においては、このようなチャートを使用し、例えば、チャート内のそれぞれのノードごとに、サーチを要求しているユーザに対応したノードに対するその関係性を示す係数を算出してもよい。この係数を使用して、サーチ結果の組のランク付けを支援してもよい。特定の実施形態においては、それぞれのサーチ結果も、チャート内のノードに同様に対応してもよい。
【００３９】
サーチ結果は、ランク付けされて、その個々のランクに応じて、ユーザに対して提示されてもよい。ステップ１００７に示されているように、ユーザがサーチクエリに対して更なる文字の入力を継続した場合には、特定の実施形態は、ユーザによってそれまでに入力されているサーチクエリの現在のバージョン（すなわち、追加の文字を有するサーチクエリ）に基づいてサーチ結果の新しい組を識別してもよく、且つ、ステップ１００２〜ステップ１００７を反復してもよい。この処理は、ユーザがサーチクエリの入力を停止する時点まで継続されてもよい。
【００４０】
特定の実施形態は、１つ又は複数のコンピュータシステムにおいて実装されてもよい。例えば、図１０に示されている処理は、非一時的なコンピュータ可読媒体内に記憶されたコンピュータソフトウェアとして実装されてもよい。図１２は、例示的なコンピュータシステム１２００を示している。特定の実施形態においては、１つ又は複数のコンピュータシステム１２００は、本明細書において図示又は記述されている１つ又は複数の方法の１つ又は複数のステップを実行している。特定の実施形態においては、１つ又は複数のコンピュータシステム１２００は、本明細書において図示又は記述されている機能を提供している。特定の実施形態においては、１つ又は複数のコンピュータシステム１２００において稼働しているソフトウェアは、本明細書において記述又は図示されている１つ又は複数の方法の１つ又は複数のステップを実行するか、又は本明細書において記述又は図示されている機能を提供している。特定の実施形態は、１つ又は複数のコンピュータシステム１２００の１つ又は複数の部分を含む。 
【００４１】
本開示は、任意の適切な数のコンピュータシステム１２００を想定している。本開示は、任意の適切な物理的形態を有するコンピュータシステム１２００を想定している。一例として、且つ、限定を伴うことなしに、コンピュータシステム１２００は、組込み型のコンピュータシステム、システムオンチップ（ＳＯＣ：Ｓｙｓｔｅｍ−Ｏｎ−Ｃｈｉｐ）、シングルボードコンピュータシステム（ＳＢＣ：Ｓｉｎｇｌｅ−Ｂｏａｒｄ−Ｃｏｍｐｕ
ｔｅｒ  ｓｙｓｔｅｍ）（例えば、コンピュータオンモジュール（ＣＯＭ：Ｃｏｍｐｕｔｅｒ  Ｏｎ−Ｍｏｄｕｌｅ）やシステムオンモジュール（ＳＯＭ：Ｓｙｓｔｅｍ−Ｏｎ−Ｍｏｄｕｌｅ）など）、デスクトップコンピュータシステム、ラップトップ又はノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムからなるメッシュ、携帯電話機、個人情報端末（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、サーバ、又はこれらのうちの２つ以上の組合せであってもよい。適宜、コンピュータシステム１２００は、１つ又は複数のコンピュータシステム１２００を含んでもよく、一体的な又は分散されたものであってもよく、複数の場所に跨っていてもよく、複数の機械に跨っていてもよく、或いは、クラウド内に存在していてもよく、このクラウドは、１つ又は複数のネットワーク内における１つ又は複数のクラウド要素を含んでいてもよい。適宜、１つ又は複数のコンピュータシステム１２００は、実質的な空間的又は時間的制限を伴うことなしに、本明細書において記述又は図示されている１つ又は複数の方法の１つ又は複数のステップを実行されてもよい。一例として、且つ、限定を伴うことなしに、１つ又は複数のコンピュータ１２００は、本明細書において記述又は図示されている１つ又は複数の方法の１つ又は複数のステップをリアルタイムで又はバッチモードにおいて実行してもよい。１つ又は複数のコンピュータ１２００は、適宜、本明細書において記述又は図示されている１つ又は複数の方法の１つ又は複数のステップを異なる時点において又は異なる場所において実行してもよい。
【００４２】
特定の実施形態においては、コンピュータシステム１２００は、プロセッサ１２０２と、メモリ１２０４と、ストレージ１２０６と、入出力（Ｉ／Ｏ）インタフェース１２０８と、通信インタフェース１２１０と、バス１２１２と、を含む。本開示は、特定数の特定の要素を特定の構成において有する特定のコンピュータシステムについて記述及び図示しているが、本開示は、任意の適切な数の任意の適切な要素を任意の適切な構成において有する任意の適切なコンピュータシステムを想定している。
【００４３】
特定の実施形態においては、プロセッサ１２０２は、コンピュータプログラムを構成するものなどの命令を実行するためのハードウェアを含む。一例として、且つ、限定を伴うことなしに、命令を実行するために、プロセッサ１２０２は、内部レジスタ、内部キャッシュ、メモリ１２０４、又はストレージ１２０６から命令を取得（フェッチ）してもよく、それらの命令をデコード及び実行してもよく、且つ、次いで、１つ又は複数の結果を内部レジスタ、内部キャッシュ、メモリ１２０４、又はストレージ１２０６に書き込んでもよい。特定の実施形態においては、プロセッサ１２０２は、データ、命令、又はアドレス用の１つ又は複数の内部キャッシュを含んでもよい。本開示は、適宜、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ１２０２を想定している。一例として、且つ、限定を伴うことなしに、プロセッサ１２０２は、１つ又は複数の命令キャッシュ、１つ又は複数のデータキャッシュ、及び１つ又は複数のトランスレーションルックアサイドバッファ（ＴＬＢ：Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）を含んでもよい。命令キャッシュ内の命令は、メモリ１２０４又はストレージ１２０６内の命令のコピーであってもよく、且つ、命令キャッシュは、プロセッサ１２０２によるそれらの命令の取得を加速することになり得る。データキャッシュ内のデータは、プロセッサ１２０２において稼働する命令が働きかける対象であるメモリ１２０４又はストレージ１２０６内のデータの、プロセッサ１２０２において稼働する後続の命令によるアクセスのための又はメモリ１２０４又はストレージ１２０６に書き込むためのプロセッサ１２０２において稼働する先行する命令の結果の、或いは、その他の適切なデータの、コピーであってもよい。データキャッシュは、プロセッサ１２０２による読取り又は書込みを加速することになり得る。ＴＬＢは、プロセッサ１２０２のための仮想アドレス変換を加速することになり得る。特定の実施形態においては、プロセッサ１２０２は、データ、命令、及びアドレス用の１つ又は複数の内部レジスタを含んでもよい。本開示は、適宜、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ１２０２を想定している。適宜、プロ
セッサ１２０２は、１つ又は複数の演算論理ユニット（ＡＬＵ：Ａｒｉｔｈｍｅｔｉｃ  Ｌｏｇｉｃ  Ｕｎｉｔ）を含んでもよく、マルチコアプロセッサであってもよく、或いは、１つ又は複数のプロセッサ１２０２を含んでもよい。本開示は、特定のプロセッサを記述及び図示しているが、本開示は、任意の適切なプロセッサを想定している。
【００４４】
特定の実施形態においては、メモリ１２０４は、プロセッサ１２０２が実行する対象である命令又はプロセッサ１２０２が処理する対象であるデータを記憶するためのメインメモリを含む。一例として、且つ、限定を伴うことなしに、コンピュータシステム１２００は、ストレージ１２０６又は別の供給源（例えば、別のコンピュータシステム１２００など）からメモリ１２０４に命令を読み込んでもよい。次いで、プロセッサ１２０２は、メモリ１２０４から内部レジスタ又は内部キャッシュに命令を読み込んでもよい。命令を実行するために、プロセッサ１２０２は、内部レジスタ又は内部キャッシュから命令を取得し、且つ、それらの命令をデコードしてもよい。命令の実行の際又はその後に、プロセッサ１２０２は、１つ又は複数の結果（中間又は最後の結果であってもよい）を内部レジスタ又は内部キャッシュに書き込んでもよい。次いで、プロセッサ１２０２は、それらの結果のうちの１つ又は複数をメモリ１２０４に書き込んでもよい。特定の実施形態においては、プロセッサ１２０２は、（ストレージ１２０６又は別の場所ではなく）１つ又は複数の内部レジスタ又は内部キャッシュ内の又はメモリ１２０４内の命令のみを実行し、且つ、（ストレージ１２０６又は別の場所ではなく）１つ又は複数の内部レジスタ又は内部キャッシュ内の又はメモリ１２０４内のデータに対してのみ処理している。１つ又は複数のメモリバス（それぞれがアドレスバス及びデータバスを含む）によってプロセッサ１２０２をメモリ１２０４に結合してもよい。バス１２１２は、後述するように、１つ又は複数のメモリバスを含んでもよい。特定の実施形態においては、１つ又は複数のメモリ管理ユニット：（ＭＭＵ：Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）が、プロセッサ１２０２とメモリ１２０４の間に存在し、且つ、プロセッサ１２０２によって要求されたメモリ１２０４に対するアクセスを促進している。特定の実施形態においては、メモリ１２０４は、ランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。このＲＡＭは、適宜、揮発性メモリであってもよい。適宜、このＲＡＭは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  ＲＡＭ）又はスタティックランダムアクセスメモリ（ＳＲＡＭ：Ｓｔａｔｉｃ  ＲＡＭ）であってもよい。更には、適宜、このＲＡＭは、シングルポート又はマルチポートＲＡＭであってもよい。本開示は、任意の適切なＲＡＭを想定している。メモリ１２０４は、適宜、１つ又は複数のメモリ１２０４を含んでもよい。本開示は、特定のメモリについて記述及び図示しているが、本開示は、任意の適切なメモリを想定している。
【００４５】
特定の実施形態においては、ストレージ１２０６は、データ又は命令用のマスストレージを含む。一例として、且つ、限定を伴うことなしに、ストレージ１２０６は、ＨＤＤ、フロッピー（登録商標）ディスクドライブ、フラッシュメモリ、光ディスク、磁気光ディスク、磁気テープ、又はユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ドライブ、又はこれらのうちの２つ以上のものの組合せを含んでもよい。ストレージ１２０６は、適宜、着脱可能の又は着脱不能の（又は、固定された）媒体を含んでもよい。ストレージ１２０６は、適宜、コンピュータシステム１２００の内部に位置してもよく、或いは、外部に位置してもよい。特定の実施形態においては、ストレージ１２０６は、不揮発性の半導体メモリである。特定の実施形態においては、ストレージ１２０６は、読取り専用メモリ（ＲＯＭ：Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）を含む。適宜、このＲＯＭは、マスクプログラムＲＯＭ、プログラム可能型読取り専用メモリ（ＰＲＯＭ：Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、消去可能なプログラム可能型読取り専用メモリ（ＥＰＲＯＭ：Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、電気的に消去可能なプログラム可能型読取り専用メモリ（ＥＥＰＲＯＭ：Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、電気的に消去可能なプログラム可能型読取り専用メモリ（ＥＡＲＯＭ：Ｅｌ
ｅｃｔｒｉｃａｌｌｙ  Ａｌｔｅｒａｂｌｅ  ＲＯＭ）、又はフラッシュメモリ、或いは、これらのうちの２つ以上の組合せであってもよい。本開示は、任意の適切な物理的形態を有するマスストレージ１２０６を想定している。ストレージ１２０６は、適宜、プロセッサ１２０２とストレージ１２０６の間の通信を促進する１つ又は複数のストレージ制御ユニットを含んでもよい。適宜、ストレージ１２０６は、１つ又は複数のストレージ１２０６を含んでもよい。本開示は、特定のストレージについて記述及び図示しているが、本開示は、任意の適切なストレージを想定している。
【００４６】
特定の実施形態においては、Ｉ／Ｏインタフェース１２０８は、コンピュータシステム１２００と１つ又は複数のＩ／Ｏ装置の間の通信用の１つ又は複数のインタフェースを提供するハードウェア、ソフトウェア、又は両方を含む。コンピュータシステム１２００は、適宜、これらのＩ／Ｏ装置のうちの１つ又は複数を含んでもよい。これらのＩ／Ｏ装置のうちの１つ又は複数は、人間とコンピュータシステム１２００の間の通信を可能にし得る。一例として、且つ、限定を伴うことなしに、Ｉ／Ｏ装置は、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、他の適切なＩ／Ｏ装置、又はこれらのうちの２つ以上の組合せを含んでもよい。Ｉ／Ｏ装置は、１つ又は複数のセンサを含んでもよい。本開示は、任意の適切なＩ／Ｏ装置と、それらのＩ／Ｏ装置用の任意の適切なＩ／Ｏインタフェース１２０８と、を想定している。適宜、Ｉ／Ｏインタフェース１２０８は、プロセッサ１２０２がこれらのＩ／Ｏ装置のうちの１つ又は複数を駆動できるようにする１つ又は複数の装置又はソフトウェアドライバを含んでもよい。Ｉ／Ｏインタフェース１２０８は、適宜、１つ又は複数のＩ／Ｏインタフェース１２０８を含んでもよい。本開示は、特定のＩ／Ｏインタフェースについて記述及び図示しているが、本開示は、任意の適切なＩ／Ｏインタフェースを想定している。
【００４７】
特定の実施形態においては、通信インタフェース１２１０は、コンピュータシステム１２００と１つ又は複数のその他のコンピュータシステム１２００又は１つ又は複数のネットワークの間の通信（例えば、パケットに基づいた通信）用の１つ又は複数のインタフェースを提供するハードウェア、ソフトウェア、又はこれらの両方を含む。一例として、且つ、限定を伴うことなしに、通信インタフェース１２１０は、イーサーネット（Ｅｔｈｅｒｎｅｔ（登録商標））又はその他の有線ネットワークとの通信のためのネットワークインタフェースカード（ＮＩＣ：Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ）又はネットワークアダプタ、或いは、ＷＩ−ＦＩネットワークなどの無線ネットワークとの通信のための無線ＮＩＣ（ＷＮＩＣ：Ｗｉｒｅｌｅｓｓ  ＮＩＣ）又は無線アダプタを含んでもよい。本開示は、任意の適切なネットワーク及びそのネットワーク用の任意の適切な通信インタフェース１２１０を想定している。一例として、且つ、限定を伴うことなしに、コンピュータシステム１２００は、アドホックネットワーク、パーソナルエリアネットワーク（ＰＡＮ：Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ローカルエリアネットワーク（ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ワイドエリアネットワーク（ＷＡＮ：Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、メトロポリタンエリアネットワーク（ＭＡＮ：Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、又はインターネットの１つ又は複数の部分、或いは、これらのうちの２つ以上の組合せと通信してもよい。これらのネットワークのうちの１つ又は複数のネットワークの１つ又は複数の部分は、有線であってもよく、或いは、無線であってもよい。一例として、コンピュータシステム１２００は、無線ＰＡＮ（ＷＰＡＮ：Ｗｉｒｅｌｅｓｓ  ＰＡＮ）（例えば、ＢＬＵＥＴＯＯＴＨ（登録商標）  ＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、セルラー電話ネットワーク（例えば、世界移動体通信システム（ＧＳＭ（登録商標）：Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）ネットワークなど）、又はその他の適切な無線ネットワーク、或いは、これらのうちの２つ以上の組合せと通信してもよい。コンピュータシステム１２００は、
適宜、これらのネットワークのいずれかのための任意の通信インタフェース１２１０を含んでもよい。通信インタフェース１２１０は、適宜、１つ又は複数の通信インタフェース１２１０を含んでもよい。本開示は、特定の通信インタフェースについて記述及び図示しているが、本開示は、任意の適切な通信インタフェースを想定している。
【００４８】
特定の実施形態においては、バス１２１２は、コンピュータシステム１２００の要素を互いに結合するハードウェア、ソフトウェア、又はこれらの両方を含む。一例として、且つ、限定を伴うことなしに、バス１２１２は、アクセラレーテッドグラフィクスポート（ＡＧＰ：Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）又はその他のグラフィックスバス、拡張業界標準アーキテクチャ（ＥＩＳＡ：Ｅｎｈａｎｃｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、フロントサイドバス（ＦＳＢ：Ｆｒｏｎｔ−Ｓｉｄｅ  Ｂｕｓ）、ＨＴ（ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ）相互接続、業界標準アーキテクチャ（ＩＳＡ：Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＩＮＦＩＮＩＢＡＮＤ相互接続、ローピンカウント（ＬＰＣ：Ｌｏｗ−Ｐｉｎ−Ｃｏｕｎｔ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ペリフェラルコンポーネントインターコネクト（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＰＣＩ―エックス：ＰＣＩエクスプレス（ＰＣＩ−Ｘ：ＰＣＩ−Ｅｘｐｒｅｓｓ）バス、シリアルアドバンストテクノロジアタッチメント（ＳＡＴＡ：Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）バス、ビデオエレクトロニクススタンダードアソシエーションローカル（ＶＬＢ：Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ  ｌｏｃａｌ）バス、又は他の適切なバス、或いは、これらのうちの２つ以上の組合せを含んでもよい。バス１２１２は、適宜、１つ又は複数のバス１２１２を含んでもよい。本開示は、特定のバスを記述及び図示しているが、本開示は、任意の適切なバス又は相互接続を想定している。
【００４９】
本明細書においては、コンピュータ可読記憶媒体に対する参照は、１つ又は複数の非一時的な有体のコンピュータ可読記憶媒体処理構造体を含む。一例として、且つ、限定を伴うことなしに、コンピュータ可読記憶媒体は、適宜、半導体に基づいた又はその他の集積回路（ＩＣ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙなど）又は特定用途向け集積回路（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  ＩＣ））、ハードディスク、ＨＤＤ、ハイブリッドハードドライブ（ＨＨＤ：Ｈｙｂｒｉｄ  Ｈａｒｄ  Ｄｒｉｖｅ）、光ディスク、光ディスクドライブ（ＯＤＤ：Ｏｐｔｉｃａｌ  Ｄｉｓｃ  Ｄｒｉｖｅ）、磁気光ディスク、磁気光ドライブ、フロッピー（登録商標）ディスク、フロッピー（登録商標）ディスクドライブ（ＦＤＤ：Ｆｌｏｐｐｌｙ  Ｄｉｓｋ  Ｄｒｉｖｅ）、磁気テープ、ホログラフィック記憶媒体、ソリッドステイトドライブ（ＳＳＤ：Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＲＡＭドライブ、セキュアデジタル（ＳＥＣＵＲＥ  ＤＩＧＩＴＡＬ）カード、セキュアデジタル（ＳＥＣＵＲＥ  ＤＩＧＩＴＡＬ）ドライブ、又は他の適切なコンピュータ可読記憶媒体、或いは、これらのうちの２つ以上の組合せを含んでもよい。本明細書においては、コンピュータ可読記憶媒体に対する参照は、米国特許法第１０１条の下における特許保護の権利を有していない媒体を除外している。本明細書においては、コンピュータ可読記憶媒体に対する参照は、米国特許法第１０１条の下における特許保護の権利を有していない程度における信号伝送の一時的な形態（伝播する電気又は電磁信号それ自体など）を除外している。非一時的なコンピュータ可読記憶媒体は、適宜、揮発性であってもよく、不揮発性であってもよく、或いは、揮発性及び不揮発性の組合せであってもよい。
【００５０】
本開示は、任意の適切なストレージを実装する１つ又は複数のコンピュータ可読媒体記
憶媒体を想定している。特定の実施形態においては、コンピュータ可読記憶媒体は、適宜、プロセッサ１２０２の１つ又は複数の部分（例えば、１つ又は複数の内部レジスタ又はキャッシュなど）、メモリ１２０４の１つ又は複数の部分、ストレージ１２０６の１つ又は複数の部分、又はこれらの組合せを実装している。特定の実施形態においては、コンピュータ可読記憶媒体は、ＲＡＭ又はＲＯＭを実装している。特定の実施形態においては、コンピュータ可読記憶媒体は、揮発性の又は永久的なメモリを実装している。特定の実施形態においては、１つ又は複数のコンピュータ可読記憶媒体は、ソフトウェアが具体化する。本明細書においては、ソフトウェアに対する参照は、適宜、１つ又は複数のアプリケーション、バイトコード、１つ又は複数のコンピュータプログラム、１つ又は複数の実行可能ファイル、１つ又は複数の命令、ロジック、マシンコード、１つ又は複数のスクリプト、又はソースコードを含んでもよく、且つ、この逆も又同様である。特定の実施形態においては、ソフトウェアは、１つ又は複数のアプリケーションプログラミングインタフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を含む。本開示は、任意の適切なプログラミング言語又はプログラミング言語の組合せによって書き込まれた又はその他の方法で表現された任意の適切なソフトウェアを想定している。特定の実施形態においては、ソフトウェアは、ソースコード又はオブジェクトコードとして表現されている。特定の実施形態においては、ソフトウェアは、例えば、Ｃ、Ｐｅｒｌ、又はこれらの適切な拡張版などのハイレベルなプログラミング言語によって表現されている。特定の実施形態においては、ソフトウェアは、アセンブリ言語（又は、マシンコード）などのローレベルなプログラミング言語によって表現されている。特定の実施形態においては、ソフトウェアは、ＪＡＶＡ（登録商標）、Ｃ、又はＣ＋＋によって表現されている。特定の実施形態においては、ソフトウェアは、ハイパーテキストマークアップランゲージ（ＨＴＭＬ：Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、エクステンシブルマークアップランゲージ（ＸＭＬ：Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、又はその他の適切なマークアップ言語によって表現されている。
【００５１】
本明細書においては、「又は」は、そうではない旨が明示的に示されているか、又はそうではない旨が文脈によって示されていない限り、包含的であり、且つ、排他的ではない。従って、本明細書においては、「Ａ又はＢ」は、そうではない旨が明示的に示されているか、又はそうではない旨が文脈によって示されていない限り、「Ａ、Ｂ、又はこれらの両方」を意味している。更には、「及び」は、そうではない旨が明示的に示されているか、又はそうではない旨が文脈によって示されていない限り、結合状態と個別状態の両方である。従って、「Ａ及びＢ」は、そうではない旨が明示的に示されているか、又はそうではない旨が文脈によって示されていない限り、「結合された状態において又は個別の状態においてＡ及びＢ」を意味している。
【００５２】
本開示は、当業者が想定する本明細書における例示的実施形態に対するすべての変更形態、置換形態、変動形態、変化形態、修正形態を含む。同様に、適宜、添付の請求項も、当業者が想定する本明細書における例示的実施形態に対するすべての変更形態、置換形態、変動形態、変化形態、修正形態を含む。更には、特定の機能を実行するべく適合された、構成された、能力を有する、設定された、可能になった、動作可能である、或いは、機能する装置（デバイス）又はシステム或いは装置又はシステムの要素に対する添付の請求項における参照は、その装置、システム、又は要素が、そのように適合されるか、構成されるか、能力を有するか、設定されるか、可能になるか、動作可能であるか、又は機能する限り、それ又はその特定の機能が起動されるか、ターンオンされるか、又はアンロックされるかどうかとは無関係に、その装置、システム、要素を含む。
【図１】
2014522535.tif 000003
【図２】
2014522535.tif 000004
【図３】
2014522535.tif 000005
【図４】
2014522535.tif 000006
【図５】
2014522535.tif 000007
【図６】
2014522535.tif 000008
【図７】
2014522535.tif 000009
【図８】
2014522535.tif 000010
【図９】
2014522535.tif 000011
【図１０】
2014522535.tif 000012
【図１１】
2014522535.tif 000013
【図１２】
2014522535.tif 000014
【国際調査報告】
2014522535.tif 000015
2014522535.tif 000016