特許第6228112号(P6228112)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フェイスブック,インク.の特許一覧

<>
  • 特許6228112-サーチ結果としてのイメージの提示 図000002
  • 特許6228112-サーチ結果としてのイメージの提示 図000003
  • 特許6228112-サーチ結果としてのイメージの提示 図000004
  • 特許6228112-サーチ結果としてのイメージの提示 図000005
  • 特許6228112-サーチ結果としてのイメージの提示 図000006
  • 特許6228112-サーチ結果としてのイメージの提示 図000007
  • 特許6228112-サーチ結果としてのイメージの提示 図000008
  • 特許6228112-サーチ結果としてのイメージの提示 図000009
  • 特許6228112-サーチ結果としてのイメージの提示 図000010
  • 特許6228112-サーチ結果としてのイメージの提示 図000011
  • 特許6228112-サーチ結果としてのイメージの提示 図000012
  • 特許6228112-サーチ結果としてのイメージの提示 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6228112
(24)【登録日】2017年10月20日
(45)【発行日】2017年11月8日
(54)【発明の名称】サーチ結果としてのイメージの提示
(51)【国際特許分類】
   G06F 17/30 20060101AFI20171030BHJP
【FI】
   G06F17/30 340Z
   G06F17/30 110F
   G06F17/30 419B
【請求項の数】20
【全頁数】22
(21)【出願番号】特願2014-514516(P2014-514516)
(86)(22)【出願日】2012年6月4日
(65)【公表番号】特表2014-522535(P2014-522535A)
(43)【公表日】2014年9月4日
(86)【国際出願番号】US2012040649
(87)【国際公開番号】WO2012170318
(87)【国際公開日】20121213
【審査請求日】2015年5月15日
(31)【優先権主張番号】13/156,219
(32)【優先日】2011年6月8日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】ツェン、エリック
【審査官】 齊藤 貴孝
(56)【参考文献】
【文献】 特開2010−277178(JP,A)
【文献】 特開2005−050135(JP,A)
【文献】 米国特許出願公開第2007/0042800(US,A1)
【文献】 米国特許出願公開第2007/0174790(US,A1)
【文献】 特開2004−062227(JP,A)
【文献】 特表2013−502653(JP,A)
【文献】 中井 紀之,インターネット検索の達人になろう! Google120%活用術,ASAHIパソコン,日本,朝日新聞社,2002年 5月15日,第311号,p.80−85
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
1つ以上のプロセッサを含む、オンラインソーシャルネットワークのユーザのクライアントデバイスにおいて実行される方法であって、
前記1つ以上のプロセッサが、前記ユーザによってテキスト入力ボックス内に入力されたサーチクエリの1つ以上の文字を受信するステップであって、前記ユーザは前記オンラインソーシャルネットワークのソーシャルチャートの第1のノードに関連付けられている、ステップと、
前記1つ以上のプロセッサが、前記サーチクエリを受信することに応答して、前記ソーシャルチャートの1以上の第2のノードに関連付けられているサーチ結果の第1の組を編集するステップであって、前記サーチ結果の第1の組は、前記クライアントデバイスに記憶されている情報から受信され、前記サーチ結果の第1の組の前記サーチ結果の各々は、前記ユーザの前記第1のノードからしきい値の離間の程度以内にある、前記1以上の第2のノードのうちの1つの第2のノードに対応している、編集ステップと、
前記1つ以上のプロセッサが、前記ユーザに表示するために、前記テキスト入力ボックスに隣接するように、前記サーチ結果の第1の組のリストを提供する、第1の組リスト提供ステップと、
前記サーチ結果の第1の組の何れのサーチ結果に対してもユーザ対話を受信しないことに基づいて、追加の結果が必要であることに関して肯定判定がされる場合、
前記1つ以上のプロセッサが、前記サーチクエリを実行する要求を前記オンラインソーシャルネットワークに送信するステップと、
前記1つ以上のプロセッサが、前記ソーシャルチャートの1以上の第3のノードに関連付けられているサーチ結果の第2の組を前記オンラインソーシャルネットワークから受信するステップであって、前記サーチ結果の第2の組は、前記サーチ結果の第1の組とは異なる、ステップと、
前記1つ以上のプロセッサが、前記ユーザに表示するために、前記テキスト入力ボックスに隣接するように、前記サーチ結果の第2の組のリストを提供するステップと、を有し、
前記肯定判定がされない場合、
前記1つ以上のプロセッサが、前記サーチクエリを実行するための要求を前記オンラ
インソーシャルネットワークに送信しないステップと、を有する、方法。
【請求項2】
前記1つ以上のプロセッサが、前記ユーザによって前記テキスト入力ボックス内に入力された前記サーチクエリの1以上の追加の文字を受け取るステップであって、前記サーチ結果の第1の組および前記サーチ結果の第2の組のうちの少なくとも1つは、前記1以上の追加の文字を受信する前に、前記ユーザに表示される、ステップを更に有する、請求項1に記載の方法。
【請求項3】
前記第1の組リスト提供ステップは、
前記1つ以上のプロセッサが、前記クライアントデバイスの画面の一つの部分を前記サーチ結果の第1の組および前記サーチ結果の第2の組のうちの1つ以上のサーチ結果のそれぞれに割り当てるステップと、
前記1つ以上のプロセッサが、前記サーチ結果にそれぞれ割り当てられた前記画面の前記部分内において前記サーチ結果の第1の組および前記サーチ結果の第2の組のうちの前記1つ以上のサーチ結果のそれぞれに関連付けられているイメージを表示するステップであって、前記イメージによって、前記画面の前記部分が実質的に消費される、ステップと、を含む、請求項1に記載の方法。
【請求項4】
前記サーチ結果の第1の組に関連付けられている前記1以上のイメージの各々は、前記第2のノードにそれぞれ対応し、前記1以上のイメージは、前記第2のノードにそれぞれ関連付けられている1以上のイメージから1つのイメージを選択することに基づいて選択され、前記サーチ結果の第2の組に関連付けられている前記1以上のイメージの各々は、前記第3のノードにそれぞれ対応し、サーチ結果の前記第2の組の前記1以上のイメージは、前記第3のノードにそれぞれ関連付けられている1以上のイメージから1つのイメージを選択することに基づいて選択される、請求項3に記載の方法。
【請求項5】
追加の結果が必要であることに関する前記肯定判定は、前記1つ以上のプロセッサが、前記サーチ結果が少なくともしきい値数の文字を含むことを判定するステップを更に含む、請求項1に記載の方法。
【請求項6】
前記しきい値の離間の程度は、1度の離間、2度の離間、または、任意の程度の離間を含む、請求項1に記載の方法。
【請求項7】
前記1つ以上のプロセッサが、前記サーチ結果の第1の組の各サーチ結果について、前記サーチ結果の係数を算出するステップを更に有し、前記係数は、前記サーチ結果に対する前記ユーザの親和性の尺度に基づき、前記親和性の尺度は、前記サーチ結果に関連付けられているノードと、前記ソーシャルチャートのユーザ・ノードとの間の離間の程度に部分的に基づき、前記ユーザ・ノードは、前記サーチを要求している前記ユーザに対応する、請求項1に記載の方法。
【請求項8】
前記1以上の第2のノードは、前記1以上の第3のノードとは異なる、請求項1に記載の方法。
【請求項9】
前記サーチ結果の第1の組の前記サーチ結果の各々は、前記サーチ結果の前記文字に一致する、請求項1に記載の方法。
【請求項10】
前記サーチ結果の第2の組の前記サーチ結果の各々は、前記サーチ結果の前記文字に一致する、請求項1に記載の方法。
【請求項11】
前記サーチクエリは、N個の文字を含み、前記ユーザがN番目の文字を入力したことに
応答して、前記サーチ結果の第1の組が生成される、請求項1に記載の方法。
【請求項12】
前記サーチクエリは、N個の文字を含み、前記ユーザが(N+1)個の文字を入力したことに応答して、前記サーチ結果の第2の組が生成される、請求項1に記載の方法。
【請求項13】
前記サーチ結果の第1の組の前記サーチ結果の各々は、前記1以上の第2のノードに関連付けられている1以上のイメージを含み、前記サーチ結果の第2の組の前記サーチ結果の各々は、前記1以上の第3のノードに関連付けられている1以上のイメージを含む、請求項1に記載の方法。
【請求項14】
前記オンラインソーシャルネットワークに前記要求を送信しないことは、追加の結果を必要としないという判定に基づく、請求項1に記載の方法。
【請求項15】
前記サーチ結果の第1の組の何れのサーチ結果に対してもユーザ対話を受信しないことは、所定の期間中に発生する、請求項1に記載の方法。
【請求項16】
1つ以上のプロセッサによって実行可能な命令を有するメモリを備えるシステムであって、前記1つ以上のプロセッサは、前記メモリに結合され、および、前記命令を実行するように動作可能であり、前記1つ以上のプロセッサは、前記命令が実行されるとき、
オンラインソーシャルネットワークのユーザのクライアントデバイスが、前記ユーザによってテキスト入力ボックス内に入力されたサーチクエリの1つ以上の文字を受信するステップであって、前記ユーザは前記オンラインソーシャルネットワークのソーシャルチャートの第1のノードに関連付けられている、ステップと、
前記サーチクエリを受信することに応答して、前記ソーシャルチャートの1以上の第2のノードに関連付けられているサーチ結果の第1の組を編集するステップであって、前記サーチ結果の第1の組は、前記クライアントデバイスに記憶されている情報から受信され、前記サーチ結果の第1の組の前記サーチ結果の各々は、前記ユーザの前記第1のノードからしきい値の離間の程度以内にある、前記1以上の第2のノードのうちの1つの第2のノードに対応している、編集ステップと、
前記ユーザに表示するために、前記テキスト入力ボックスに隣接するように、前記サーチ結果の第1の組のリストを提供する、第1の組リスト提供ステップと、
前記サーチ結果の第1の組の何れのサーチ結果に対してもユーザ対話を受信しないことに基づいて、追加の結果が必要であることに関する肯定判定がされる場合、
前記サーチクエリを実行する要求を前記オンラインソーシャルネットワークに送信するステップと、
前記ソーシャルチャートの1以上の第3のノードに関連付けられているサーチ結果の第2の組を前記オンラインソーシャルネットワークから受信するステップであって、前記サーチ結果の第2の組は、前記サーチ結果の第1の組とは異なる、ステップと、
前記ユーザに表示するために、前記テキスト入力ボックスに隣接するように、前記サーチ結果の第2の組のリストを提供するステップと、を有し、
前記肯定判定がされない場合、
前記サーチクエリを実行するための要求を前記オンラインソーシャルネットワークに送信しないステップと、を行うように構成される、システム。
【請求項17】
前記1つ以上のプロセッサは、前記命令を実行するとき、前記ユーザによって前記テキスト入力ボックス内に入力された前記サーチクエリの1以上の追加の文字を受け取るステップであって、前記サーチ結果の第1の組および前記サーチ結果の第2の組のうちの少なくとも1つは、前記1以上の追加の文字を受信する前に、前記ユーザに表示される、ステップを行うように更に構成される、請求項16に記載のシステム。
【請求項18】
前記第1の組リスト提供ステップは、
クライアントデバイスの画面の一つの部分を前記サーチ結果の第1の組および前記サーチ結果の第2の組のうちの1つ以上のサーチ結果のそれぞれに割り当てるステップと、
前記サーチ結果にそれぞれ割り当てられた前記画面の前記部分内において前記サーチ結果の第1の組および前記サーチ結果の第2の組のうちの前記1つ以上のサーチ結果のそれぞれに関連付けられているイメージを表示するステップであって、前記イメージによって、前記画面の前記部分が実質的に消費される、ステップと、を含む、請求項16に記載のシステム。
【請求項19】
前記サーチ結果の第1の組に関連付けられている前記1以上のイメージの各々は、前記第2のノードにそれぞれ対応し、前記1以上のイメージは、前記第2のノードにそれぞれ関連付けられている1以上のイメージから1つのイメージを選択することに基づいて選択され、前記サーチ結果の第2の組に関連付けられている前記1以上のイメージの各々は、前記第3のノードにそれぞれ対応し、サーチ結果の前記第2の組の前記1以上のイメージは、前記第3のノードにそれぞれ関連付けられている1以上のイメージから1つのイメージを選択することに基づいて選択される、請求項18に記載のシステム。
【請求項20】
ソフトウェアを具体化する1つ以上の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは、1つ以上のコンピュータシステムによって実行されるときに、
オンラインソーシャルネットワークのユーザのクライアントデバイスが、前記ユーザによってテキスト入力ボックス内に入力されたサーチクエリの1つ以上の文字を受信するステップであって、前記ユーザは前記オンラインソーシャルネットワークのソーシャルチャートの第1のノードに関連付けられている、ステップと、
前記サーチクエリを受信することに応答して、前記ソーシャルチャートの1以上の第2のノードに関連付けられているサーチ結果の第1の組を編集するステップであって、前記サーチ結果の第1の組は、前記クライアントデバイスに記憶されている情報から受信され、前記サーチ結果の第1の組の前記サーチ結果の各々は、前記ユーザの前記第1のノードからしきい値の離間の程度以内にある、前記1以上の第2のノードのうちの1つの第2のノードに対応している、編集ステップと、
前記ユーザに表示するために、前記テキスト入力ボックスに隣接するように、前記サーチ結果の第1の組のリストを提供する、第1の組リスト提供ステップと、
前記サーチ結果の第1の組の何れのサーチ結果に対してもユーザ対話を受信しないことに基づいて、追加の結果が必要であることに関して肯定判定がされる場合、
前記サーチクエリを実行する要求を前記オンラインソーシャルネットワークに送信するステップと、
前記ソーシャルチャートの1以上の第3のノードに関連付けられているサーチ結果の第2の組を前記オンラインソーシャルネットワークから受信するステップであって、前記サーチ結果の第2の組は、前記サーチ結果の第1の組とは異なる、ステップと、
前記ユーザに表示するために、前記テキスト入力ボックスに隣接するように、前記サーチ結果の第2の組のリストを提供するステップと、を有し、
前記肯定判定がされない場合、
前記サーチクエリを実行するための要求を前記オンラインソーシャルネットワークに送信しないステップと、が行われるように構成される、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、サーチクエリに対して識別されたサーチ結果の提示に関する。
【背景技術】
【0002】
インターネットは、大量の情報を提供しており、これらの情報は、世界中において、サーバ及びクライアント上やデータベース内などのように、多くの異なるサイトにおいて且つ多くの異なるデバイスに記憶されていることもある。これらの様々なサイトに位置する様々なデバイスは、有線又は無線接続により、コンピュータ又は通信ネットワークに対して通信するようにリンクされている。人は、ネットワークに接続された適切なネットワークデバイス(例えば、コンピュータ、スマート携帯電話機、エンターテインメントコンソールなど)を使用することにより、インターネット上において提供されている特定の情報に対してアクセスすることができる。
【0003】
インターネット上において提供されている膨大な量の情報に起因し、ユーザ自身が必要とする特定の情報を人間(例えば、ネットワークユーザ)がインターネットの全体を通じて手作業でサーチすることは、現実的でないだけではなく、不可能である。この代わりに、大部分のネットワークユーザは、所望の情報をユーザ自身が見つけることができるように、様々なタイプのコンピュータ実装ツールを利用している。最も一般的に且つ広範に使用されているコンピュータ実装ツールのうちの1つがサーチツールであり、これは、サーチエンジンとも呼ばれている。インターネット上において特定の話題に関係する情報をサーチするために、ユーザは、通常、その話題を表すいくつかの単語をサーチツールに提供しており、これらは、しばしば、「サーチクエリ」又は単に「クエリ」と呼ばれている。サーチツールは、様々なサーチアルゴリズムを使用してサーチクエリに基づいてサーチを実施し、且つ、サーチ結果の組を生成するが、サーチ結果のそれぞれは、サーチクエリに関係する可能性が最も高い所定の情報に対応している。次いで、これらのサーチ結果がユーザに提示される。
【0004】
高度なサーチツールは、サーチ処理の一部として、サーチ結果の単なる識別に加えて、多数のその他の機能も実装している。例えば、サーチツールは、通常、サーチクエリに対する関連性が相対的に高いサーチ結果が、サーチクエリに対する関連性が相対的に低いサーチ結果よりも高くランク付けされ、且つ、その結果、サーチクエリに対する関連性が相対的に低いサーチ結果よりも先にネットワークユーザに提示されるように、サーチクエリとの関係におけるその相対的な関連性の程度に応じて、識別されたサーチ結果をランク付けしている。サーチツールによって生成されるサーチ結果の品質を改善するための努力が継続的に行われている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、概して、サーチクエリに対して識別されたサーチ結果の提示に関する。
【課題を解決するための手段】
【0006】
特定の実施形態は、テキスト入力ボックスに現在入力されているサーチクエリの文字の組にアクセスしてもよく、テキスト入力ボックスに現在入力されている文字の組に基づいてサーチ結果の第1の組を編集してもよく、この場合に、この編集することは、テキスト入力ボックス内に入力されている文字の組に対する変更に応答して再実行され、サーチ結果の第1の組のそれぞれのサーチ結果にイメージを関連付けてもよく、且つ、サーチ結果の第1の組をテキスト入力ボックスに隣接するイメージのサーチ結果の第1の組として提
示してもよい。
【0007】
以下、本開示のこれらの及びその他の特徴、態様、及び利点について、以下の添付図面との関連において更に詳細に説明する。
【図面の簡単な説明】
【0008】
図1】例示的なサーチ結果の組を示す図。
図2】例示的なサーチ結果の組を示す図。
図3】サーチを実施するための例示的なシステムを示す図。
図4】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
図5】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
図6】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
図7】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
図8】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
図9】サーチ結果をイメージとして提示する例示的なユーザインタフェースを示す図。
図10】サーチを実施するための例示的な方法を示す図。
図11】ソーシャルネットワークシステムに含まれる情報を表す例示的なチャートを示す図。
図12】例示的なコンピュータシステムを示す図。
【発明を実施するための形態】
【0009】
以下、添付図面に示されているそのいくつかの実施形態を参照し、本開示について詳細に説明する。以下の説明においては、本開示を十分に理解することができるように、多数の特定の詳細事項について記述されている。但し、本開示は、これらの特定の詳細事項のうちの一部又はすべてを伴うことなく実施してもよい。その他の例においては、本開示を不必要に曖昧にすることのないように、周知の処理工程及び/又は構造については、詳細に記述されていない。更には、本開示は、特定の実施形態との関連において記述されているが、この説明は、記述されている実施形態に本開示を限定することを意図したものではないことを理解されたい。逆に、この説明は、添付の請求項によって規定されている本開示の精神及び範囲に含まれる代替形態、変更形態、及び均等物を含むものと解釈されたい。
【0010】
コンピュータ実装サーチツールは、インターネットやイントラネットなどの1つ又は複数の情報源から特定の話題に関連する情報をサーチするように設計されている。サーチを実施するために、ユーザは、サーチツールに対してサーチクエリを発行してもよい。サーチクエリは、一般に、話題を表す1つ又は複数の単語を含む。これに応答して、サーチツールは、サーチクエリに関係する可能性が高い所定の情報にそれぞれが対応しているサーチ結果の組を識別してもよい。サーチ結果の組は、任意の数の要因に基づいてランク付けされてもよく、且つ、その個々のランクに応じてユーザに提示してもよい。
【0011】
特定の実施形態においては、それぞれのサーチ結果は、イメージの形態においてユーザに提示してもよく、このイメージは、サーチ結果を表すものであってもよく、サーチ結果について記述するものであってもよく、又はサーチ結果に関連するものであってもよい。例えば、サーチ結果と個別に関連付けられたイメージをユーザが使用しているクライアン
トデバイス(例えば、コンピュータ又はスマートフォン)の画面に表示することによってサーチ結果をユーザに提示するときは、特定のサーチ結果について予約されている画面のそれぞれの部分は、そのサーチ結果と関連するイメージによって実質的に消費される。
【0012】
タイプアヘッド(Type Ahead)
特定の実施形態においては、サーチツールは、「タイプアヘッド」機能を実装してもよく、この機能は、テキスト(例えば、サーチクエリ)について徐々にサーチすると共にフィルタリングするためのユーザインタフェースとの対話方法であり、「インクリメンタルサーチ」、「インクリメンタルファインド」、又は「リアルタイムサジェスチョン」とも呼ばれている。ユーザがサーチクエリのテキストをタイプするのに伴って、そのテキストに一致し得る1つ又は複数の候補が見つけられ、且つ、即座にユーザに提示される。この即座のフィードバックにより、多くの場合に、ユーザは、そのサーチクエリの単語又はフレーズの全体をタイプすることが不要となる。また、ユーザは、提示されたリストのうちから、密接に関係している選択肢を選択してもよい。更には、特定の実施形態においては、ユーザがサーチクエリのそれぞれの文字をタイプするのに伴って、それまでにタイプしているテキストに対応したサーチ結果の組をユーザに対して即座に提示してもよい。このサーチ結果は、ユーザが更なる文字をタイプするごとに、更新されてもよい。
【0013】
例えば、ユーザがある人物のサーチを所望しており、且つ、その人物の名前をサーチクエリとして入力することを開始すると仮定する。ユーザは、まず、文字「s」を(例えば、ユーザインタフェースに含まれた入力フィールド内に)タイプする。この時点において、文字「s」によって始まる名前のうちのいくつか(例えば、Sam(サム)、Sara、Sharon、Stevenなど)をユーザに対して示唆してもよい。更には、示唆された名前のうちの1つ(例えば、示唆された第1の名前であるSam)に対応するサーチ結果の組をユーザに対して同様に提示してもよい。次いで、ユーザが文字「a」をタイプすると仮定する。この時点において、文字列「sa」によって始まる名前のうちのいくつか(例えば、Sam、Sandra、Sara、Sasha、Saulなど)をユーザに対して示唆してもよい。更には、示唆された名前のうちの1つ(例えば、Sandra)に対応するサーチ結果の組をユーザに対して同様に提示してもよい。このプロセスは、ユーザが名前のタイプを終了するか又は示唆された名前のうちの1つを選択する時点まで継続してもよい。タイプアヘッドについては、2010年6月15日付けで出願された「ソーシャルネットワークシステムにおけるオブジェクトのサーチ及び取り出し(Search and Retrieval of Objects in a Social Networking System)」という名称の米国特許出願第12/816,377号明細書に更に詳細に記述されており、この特許文献の内容は、引用により、そのすべてが、すべての目的のために、本明細書に包含される。
【0014】
図1及び図2は、「タイプアヘッド」機能を取り入れたサーチ結果の2つの例示的な組を示している。図1に示されている例示的ユーザインタフェースにおいては、ユーザがサーチクエリを提供してもよい入力フィールド110と、サーチ結果を表示してもよい出力フィールド120と、が存在してもよい。ユーザが単語「sam」を入力フィールド110内においてタイプするのに伴って、サーチクエリ「sam」に基づいて編集されたサーチ結果の組131、132、133を出力フィールド120内においてユーザに提示してもよい。図2に示されているように、単語が「samuel」となるように、ユーザが継続して入力フィールド110内においてタイプしたと仮定する。この時点においては、サーチクエリ「samuel」に基づいて、サーチ結果の新しい組141、142、143を編集してもよい。このサーチ結果の新しい組141、142、143を出力フィールド120内において表示することにより、以前のサーチ結果の組131、132、133を置換えてもよい。
【0015】
理論的には、ユーザが単一の文字(例えば、「s」)を入力フィールド110内においてタイプしたとき、即座に、その文字に基づいてサーチ結果の組を編集し、且つ、出力フィールド120内において表示してもよい。更には、ユーザが入力フィールド110内において更なる文字をタイプしてサーチクエリを変更するごとに、それまでにユーザによって提供されている文字に基づいてサーチ結果の新しい組を編集し、且つ、出力フィールド120内において表示してもよい。但し、実際には、ユーザが入力フィールド110内に新しい文字を入力するごとに、サーチツールがサーチ結果の組を編集及び提示しない場合もある。例えば、ユーザが第1文字「s」を入力した場合に、サーチクエリとして機能するには、単一の文字では、あまりに曖昧であり、且つ、単一の文字「s」に関係すると見なしてもよい可能なサーチ結果は多数存在することになり、その結果、単一の文字「s」に基づいてサーチ結果の組を編集してユーザに提示したとしても、ユーザには、あまり有用ではないということになり得る。従って、サーチツールは、この時点では、所定のサーチ結果を編集することなく、且つ、ユーザからの更なる入力を待つように選択してもよい。ユーザが2つの更なる文字「a」及び「m」を入力した場合には、3つの文字「s」、「a」、及び「m」は、有意な単語、すなわち、有意なサーチクエリを形成する。この時点で、サーチツールは、サーチクエリ「sam」に基づいてサーチ結果の組を編集すると共に出力フィールド120内においてユーザに提示するようにサーチ結果の組を選択してもよい。
【0016】
サーチクエリをタイプするとき、ユーザは、しばしば、サーチフレーズの一部として誤った文字を入力する可能性がある。特定のユーザのサーチクエリに関する過去の知識、一般的なユーザのサーチクエリ、デバイスの現在のキーボードのレイアウト、及びユーザがタイプしている可能性が高い1つ又は複数の言語の定義を使用することにより、誤った文字が入力されたとき、ユーザが意図している可能性の高いサーチフレーズをサーチツールが「推定」することを、支援し、且つ、可能にし得る。例えば、標準的なUS QWERTYキーボード上の文字「w」は、文字「q」、「e」、「a」、「s」、及び「d」によって最も近接して取り囲まれている。ユーザが「s」に続いて「w」をタイプした場合には、「sw」の代わりに、ユーザが「sa」又は「se」を入力することを意図していた可能性がある。「sa」又は「se」についてサーチ結果が存在している場合には、任意選択により、(例えば、「sw」についてのサーチ結果に加えて、又はその代わりに)、自動訂正機能(オートコレクション)が一時的に適用されているという旨のインジケータと共に、これらのサーチ結果を表示してもよい。この結果、サーチ結果をタップする前にユーザがサーチクエリを訂正する必要性が低くなる。
【0017】
インテリジェントサーバ要求
特定の実施形態においては、ユーザは、例えば、且つ、限定を伴うことなしに、デスクトップコンピュータシステム、ノートブックコンピュータシステム、ネットブックコンピュータシステム、ハンドヘルド型電子デバイス、又は携帯電話機などの適切なクライアントデバイスを使用してサーチを実施してもよい。クライアントデバイスは、ネットワークに接続されていてもよく、或いは、接続されていなくてもよい。図3は、ネットワーク310に接続された例示的なクライアントデバイス330を示している。特定の実施形態においては、クライアントデバイス330は、ハードウェア、ソフトウェア、又は組込み型の論理要素、或いは、このような2つ以上の要素の組合せを含む電子デバイスであってもよく、且つ、クライアント330によって実装され又はサポートされる適切な機能を実行する能力を有してもよい。
【0018】
更には、ネットワーク310に接続された任意の数のサーバ320が存在してもよい。特定の実施形態においては、それぞれのサーバ320は、一体的なサーバであってもよく、或いは、複数のコンピュータ又は複数のデータセンタに跨る分散型サーバであってもよい。それぞれのサーバ320は、サーバ320によって実装され又はサポートされる適切
な機能を実行するべく、ハードウェア、ソフトウェア、又は組込み型の論理要素、或いは、このような複数の要素の組合せを含んでもよい。特定の実施形態においては、ソーシャルネットワークウェブサイトを実装するソーシャルネットワークシステム322を1つ又は複数のサーバ320上においてホスティングしてもよい。ソーシャルネットワークシステム322については、更に詳細に後述する。
【0019】
特定の実施形態においては、1つ又は複数のデータストレージ340を1つ又は複数のサーバ320に対して通信するようにリンクしてもよい。特定の実施形態においては、データストレージ340を使用し、ソーシャルネットワークシステム322に関連する情報などの様々なタイプの情報を記憶してもよい。特定の実施形態においては、データストレージ340内に記憶されている情報を特定のデータ構造に応じて編成してもよい。
【0020】
サーチクエリに基づいたサーチを実施するとき、サーチ結果の組を編集するための情報を複数の情報源から取得してもよい。例えば、ユーザ(例えば、クライアントデバイス330)自体が使用しているクライアントデバイスに記憶されているデータが存在してもよく、且つ、クライアントデバイスにローカルに記憶されているデータからサーチ結果の一部を取得してもよい。更には、サーチを実施する時点においてクライアントデバイスがネットワーク(例えば、ネットワーク310)に接続されている場合に、ネットワークを通じてクライアントデバイスからアクセス可能なサーバ(例えば、サーバ320)又はデータベース(例えば、データベース340)に記憶されているデータからサーチ結果の一部を遠隔的に取得してもよい。特定の実施形態においては、サーチを要求するユーザは、ソーシャルネットワークシステム(例えば、ソーシャルネットワークシステム322)の会員であってもよい。ソーシャルネットワークシステムは、様々なタイプの情報を収容してもよい。ソーシャルネットワークシステムと関連するデータからサーチ結果の一部を取得してもよい。また、インターネット上において公開されているデータからサーチ結果の一部を取得してもよい。
【0021】
例えば、サーチクエリ「sam」に基づいたサーチを実施するとき、サーチツールは、(1)ユーザがそのサーチを要求するために使用しているユーザのスマートフォンに記憶されている連絡先の中に「Sam」という名前の人物が存在しているかどうか、(2)ソーシャルネットワークシステム内におけるユーザの社会的な(ソーシャル)繋がりの中に「Sam」という名前の人物が存在しているかどうか、及び(3)インターネット上において「sam」という単語と関連するコンテンツ又はリソースが存在しているかどうか、を判定してもよい。編集されるサーチ結果は、これらの供給源のすべてから取得された情報に基づいたものであってもよい。例えば、サーチ結果は、(1)ユーザのスマートフォンに記憶されている連絡先からの「Sam」という名前のユーザの友人、(2)ソーシャルネットワークシステムからのユーザの2つの社会的な繋がりであって、いずれもが「Sam」という名前を有する繋がり、及び(3)「sam」に関係するインターネット上のいくつかのウェブページを含んでもよい。
【0022】
特定の実施形態においては、サーチツールは、「インテリジェントサーバ要求」と称する機能を実装し得る。サーチクエリを受け取ったとき、サーチツールは、まず、ユーザのクライアントデバイスにローカルに記憶されているデータからサーチ結果を識別する。ユーザが探しているサーチ結果が、ユーザのクライアントデバイスにローカルに記憶されているデータの中に見つけられた場合には、ネットワークを通じてリモートサーバから更なるサーチ結果を取得する必要はないこともある。特定の実施形態においては、必要なときのみ(例えば、ユーザが探しているサーチ結果がユーザのクライアントデバイスにローカルに記憶されているデータの中には見つけられないときのみ)、サーチツールは、リモートサーバに対して更なるサーチ結果を要求すると共にダウンロードしている。
【0023】
例えば、「sam」というサーチクエリを受け取ったとき、サーチツールは、まず、ユーザがそのサーチを要求するために使用しているユーザのスマートフォンに記憶されている連絡先リストをサーチしてもよい。「Sam」という名前の連絡先がユーザのスマートフォンに記憶されている連絡先リストの中に見つけられた場合には、サーチツールは、この連絡先及び彼(Sam)の情報(例えば、電子メールアドレス又は電話番号)をサーチ結果としてユーザに提示してもよい。ユーザがこのサーチ結果と対話した場合には(例えば、その連絡先に対する通話を開始した場合には)、これは、ユーザ自身が探している情報を既に見つけており、従って、リモートサーバに対して更なるサーチ結果を要求する必要がないことを示すことになる。その一方で、ユーザがこのサーチ結果を無視した場合には、これは、その連絡先が、ユーザが探している「Sam」ではないことを意味することになり、従って、サーチツールは、「sam」に関係する更なるサーチ結果をリモートサーバから(例えば、ソーシャルネットワークシステムと関連するサーバ又はインターネット上においてウェブサイトをホスティングしているサーバから)取得することになり得る。
【0024】
特定の実施形態においては、特定のデータ(例えば、頻繁にアクセスされる情報)は、クライアントデバイスにおいてローカルにキャッシュしておいてもよい。サーチツールは、キャッシュされているデータ及びクライアントデバイスにおいてローカルに記憶されているデータ、並びに、遠隔装置(例えば、サーバ及びデータベース)に記憶されているデータから、サーチ結果を取得してもよい。特定の実施形態においては、サーチツールによってサポートされている「タイプアヘッド」機能を伴う場合に、ユーザがサーチクエリを形成する文字の入力を開始するのに伴って、サーチツールは、まず、キャッシュされているデータ又はユーザのクライアントデバイスにローカルに記憶されているデータからサーチ結果を識別する。しきい値数の文字(例えば、2つ又は3つの文字)がユーザによって入力された後にのみ、サーチツールは、ネットワーク上における遠隔情報源(例えば、サーバ又はデーベース)からのサーチ結果の取得を開始する。
【0025】
ユーザのクライアントデバイスにローカルに記憶されているデータから、及び、リモートサーバに記憶されているデータから、サーチ結果が取得されたとき、特定の実施形態においては、利用可能になり次第、サーチ結果をユーザに対して提示してもよい(例えば、ユーザのクライアントデバイスにおいて表示してもよい)。例えば、ユーザのクライアントデバイスにローカルに記憶されているデータから取得されるサーチ結果は、多くの場合に、サーチクエリを受け取り次第又はその直後に、利用可能な状態となる。これらのサーチ結果は、利用可能となった後に、即座に、ユーザに対して提示されてもよい。その後に、リモートサーバに記憶されているデータから更なるサーチ結果を取得する場合には、これらの更なる結果は、利用可能となるのに伴って、ユーザに提示してもよい(例えば、ユーザに対して既に提示されているサーチ結果に付加されてもよい)。
ユーザインタフェース
特定の実施形態においては、相対的に高くランク付けされたサーチ結果が相対的に低くランク付けされたサーチ結果よりも先にユーザに対して提示されるように、ユーザへの提示に先立って、サーチクエリに応答して編集されたサーチ結果の組をランク付けしてもよい。特定の実施形態においては、サーチクエリとの関係においてサーチ結果の組をランク付けするときは、多数の異なる要因を考慮してもよい。例えば、それぞれのサーチ結果のコンテンツを分析し、サーチクエリに対するその関連性の程度を判定してもよい。更には、特定の実施形態は、例えば、且つ、限定を伴うことなしに、サーチが実施されているコンテキスト、サーチクエリが表している話題の特性又は特徴、サーチが要求されている時点及び場所、並びに、サーチを要求しているユーザのソーシャルネットワーク情報及び行動プロファイルなどの要因に基づいてサーチ結果をランク付けしてもよい。
【0026】
特定の実施形態においては、それぞれのサーチ結果をイメージと関連付けてもよい。イ
メージは、対応するサーチ結果を表すものであってもよく、対応するサーチ結果を記述するものであってもよく、或いは、対応するサーチ結果に関連したものであってもよい。例えば、サーチ結果が人物である場合には、関連するイメージは、その人物の顔を示す人物の写真(ユーザプロファイル写真など)であってもよい。サーチ結果が企業である場合には、関連するイメージは、その企業のロゴであってもよい。サーチ結果が場所である場合には、関連するイメージは、その場所のいくつかの代表的な又は認識可能な特徴を示す写真であってもよい。異なるサーチ結果は、異なる関連するイメージを有してもよい。
【0027】
特定の実施形態においては、サーチ結果のユーザに対する提示は、サーチ結果と個々に関連付けられたイメージをユーザのクライアントデバイスの画面に表示することにより、実現される。図4図9は、サーチ結果の組に対応するイメージ(例えば、アイコン)の組を表示するいくつかの例示的な構成を示す。図4においては、イメージ431は、格子内に配置されている。垂直スライダバー441と、水平スライダバー443と、が存在している。ユーザは、これらのスライダバーを使用してイメージの頁を移動してもよい。特定の実施形態においては、いくつかのイメージ431と関連するテキストの説明文433が存在してもよい。但し、これらのテキストの説明文433は、イメージ431を補助するためのものである。図5においては、イメージ431は、列として垂直方向に配置されている。垂直スライダバー441を使用してイメージの頁を移動してもよい。図6においては、イメージ431は、行として水平方向に配置されている。水平スライダバー443を使用してイメージのページを移動してもよい。図7においては、イメージ431は、重ねられて(スタック)として配置されている。ユーザは、それぞれのイメージをスタックの最上部に移動させることにより、それぞれのイメージ431を観察してもよい。イメージ431のサイズは、スタックの最上部に近づくのに伴って大きくなり、且つ、スタックの最下部に近づくのに伴って小さくなる。図8においては、イメージ431は、異なるタイプのスタックとして配置してもよく、この場合には、中央のイメージが最大サイズを有しており、両側のイメージは、サイズが徐々に小さくなっている。ユーザは、それぞれのイメージをスタックの中央部に移動させることにより、それぞれのイメージ431を観察してもよい。図9においては、イメージ431は、格子、列、又は行において、イメージのエッジが接触した状態において、互いに直接的に隣接した状態に配置されてもよい。また、その他の配置も可能であり、且つ、本開示は、任意の適切な配置を想定している。例示的な配置のうちのいくつか(例えば、図7図9に示されているもの)は、比較的多くの数のイメージを比較的に小さな領域内に詰め込んでもよいように、その他の配置よりもコンパクトになっている。例示的な配置のうちのいくつかによれば、イメージを表示画面において「ラップアラウンド」させることができる。
【0028】
特定の実施形態においては、いずれの配置が使用されるのかとは無関係に、サーチ結果の組に対応するイメージの組をユーザのクライアントデバイスの画面に表示するときは、それぞれのサーチ結果に対して画面の一つの部分が割り当てられ、且つ、サーチ結果と関連するイメージによって、対応するサーチ結果に割り当てられている画面の部分が実質的に消費又は占有される。特定の実施形態においては、サーチ結果に対応するイメージは、サーチクエリがユーザによって入力される入力フィールド(例えば、テキスト入力ボックス)に隣接して表示してもよい。
【0029】
いくつかの実施形態においては、図4に示されているように、サーチ結果のためのイメージに加えて表示されるテキストの説明文が存在してもよいが、テキストの説明文は、イメージと比べた場合に、(例えば、サイズ又は場所の観点で)重要性が低く且つ補助的な存在である。その他の実施形態においては、図5図9に示されているように、1つのイメージのみがそれぞれのサーチ結果ごとに表示されている(すなわち、テキストの説明文やその他の要素が存在してはいない)。この結果、サーチ結果に対応するイメージを図7図9に示されているタイル状の、重ねられた、且つ、直接隣接した(すなわち、エッジ
が接触した)配置などの非常にコンパクトな形態で表示することができる。このようなコンパクトな配置は、比較的多くのイメージを比較的小さな表示領域内に詰め込んでもよいことから、比較的小さな画面を有するデバイス(例えば、モバイルデバイス)の場合に、特に適している。
【0030】
しばしば、クライアントデバイスは、「ホバリング」機能をサポートする入力要素(例えば、マウス又はタッチスクリーン)を含んでもよい。例えば、マウスの場合には、ユーザは、マウスを使用することにより、カーソルがイメージの上方においてホバリングするように、マウスのクリックを伴うことなしにイメージの上方においてカーソルを移動させてもよい。タッチスクリーンの場合には、ホバリング動作を長い押圧によってシミュレートしてもよく、この場合に、ユーザは、自身の指をタッチスクリーンに対して押圧し、且つ、保持する。特定の実施形態においては、「ホバリング」機能をサポートしているクライアントデバイスの場合には、カーソルがイメージ431の上方においてホバリングしているとき、クライアントデバイスは、イメージ431の頁を一度に1頁ずつ移動させてもよい。
【0031】
「タイプアヘッド」をサポートしていると共にサーチ結果を、図4図8に示されているイメージなどのイメージとして提示するサーチツールと関連したユーザインタフェースは、例えば、且つ、限定を伴うことなしに、クライアントデバイスに位置したサーチバー、電子メールのユーザインタフェース又はその他のメッセージングシステムのアドレス入力フィールド、又はクライアントデバイスにおいて稼働している任意の適用可能なソフトウェアアプリケーションのユーザインタフェースなどの様々な異なるコンテキストに取り入れられてもよい。
【0032】
図10は、イメージをサーチ結果として提示する例示的な方法を示している。特定の実施形態においては、ユーザは、ステップ1001に示されているように、ユーザデバイス又はクライアントデバイスにおいてサーチクエリを入力してもよい。特定の実施形態は、ステップ1002に示されているように、ユーザデバイスに記憶されている情報から、ユーザによってそれまでに入力されているサーチクエリの現在のバージョンに基づいてサーチ結果の組を識別してもよい。このサーチ結果の組は、ステップ1003に示されているように、イメージの組としてユーザに提示されてもよい(例えば、イメージは、ユーザデバイスの画面に表示される)。
【0033】
特定の実施形態は、ステップ1004に示されるように、追加のサーチ結果が必要であるか否かを判定してもよい。例えば、サーチクエリの現在のバージョンに関係する又は密接に関係する記憶された情報がユーザのクライアントデバイスに存在していない場合がある。或いは、ユーザに既に提示されているサーチ結果が、ユーザのニーズに照らして、十分なものではない(例えば、ユーザに対して既に提示されているサーチ結果のいずれもが、ユーザが探しているものではない)とユーザが判断する場合もある。追加のサーチ結果が必要である場合には、特定の実施形態は、ステップ1005に示されているように、1つ又は複数のリモートサーバに記憶されている情報から追加のサーチ結果を識別してもよく、且つ、ステップ1006に示されているように、これらの追加のサーチ結果をユーザに対してイメージとして提示してもよい。
【0034】
サーチ結果の組に対して、特定の実施形態は、サーチクエリに対するその関連性の相対的な程度、並びに、ソーシャルネットワークシステムに含まれている情報に基づいて、サーチ結果をランク付けしてもよい。ソーシャルネットワークとは、一般に、友人関係、親戚関係、共通の関心、金融取引、嫌悪、或いは、信念、知識、又は名声からなる関係性などの1つ又は複数のタイプの相互依存性又は関係性によって接続された個人又は組織などのエンティティから構成される社会的構造体である。近年においては、ソーシャルネット
ワークは、インターネットを活用している。ソーシャルネットワークウェブサイトの形態でインターネット上に存在するソーシャルネットワークシステムが存在している。このようなソーシャルネットワークウェブサイトにより、ウェブサイトユーザと一般的には呼ばれるその会員は、様々な社会的活動を実行することができる。例えば、www.facebook.comでFacebook、 Inc.によって運営されているソーシャルネットワークウェブサイトの場合には、そのユーザは、例えば、電子メール、インスタントメッセージ、又はブログの投稿を通じてユーザ自身の友人と通信することが可能であり、社会的イベントを組織することが可能であり、写真を共有することが可能であり、ユーザの友人又は関心のあるイベントに関するニュースを受け取ることが可能であり、ゲームを楽しむことが可能であり、且つ、イベントを計画することができる。
【0035】
ソーシャルネットワークシステムは、そのユーザに関係する膨大な量の情報を収容してもよい。このような情報は、個々のユーザの社会的な繋がりに限定されるものではなく、例えば、且つ、限定を伴うことなしに、人口統計的情報、ネットワーク又は社会的活動、行動プロファイル、及び個々のユーザの個人的な好み、関心、又は趣味を含んでもよい。特定の実施形態は、チャートを使用することにより、ソーシャルネットワークシステムに収容されている情報を表してもよく、このチャートは、任意の数のノード及びエッジを有してもよく、その例が図11に示されている。
【0036】
図11に示されているチャート1100においては、それぞれのノードは、エンティティを表してもよく、これは、人間であってもよく(例えば、ソーシャルネットワークシステムのユーザ)、或いは、人間でなくてもよい(例えば、場所、イベント、活動、企業、オブジェクト、メッセージ、掲示、イメージ、ウェブページ、ニュースフィードなど)。2つのノードが所定の方式によって関係付けられている(すなわち、2つのノードの間に関係が存在している)場合には、それら2つのノードは、エッジによって接続される。チャート1100内の2つのノードを関係付けてもよく、且つ、従って、エッジによって接続してもよい例示的なケースは、限定を伴うことなしに、(1)2つのノードが、それぞれ、ソーシャルネットワークシステムの2人のユーザを表しており、且つ、2人のユーザが社会的に接続されている(例えば、互いに友人である)場合、(2)2つのノードが、それぞれ、ソーシャルネットワークシステムの1人のユーザと1つのイベントを表しており、且つ、そのユーザがそのイベントに出席している場合、(3)2つのノードがソーシャルネットワークシステムの1人のユーザと1つの場所を表しており、且つ、そのユーザがその場所を訪れたことがある場合、(4)2つのノードが、ソーシャルネットワークシステムの1人のユーザを表しており、且つ、そのユーザがウェブページと対話している(例えば、閲覧している)場合、(5)2つのノードが、それぞれ、1つのイベントと1つの場所を表しており、且つ、そのイベントがその場所において開催される場合、(6)2つのノードが、それぞれ、ソーシャルネットワークシステムの1人のユーザと1つのイメージ(例えば、デジタル写真)を表しており、且つ、そのユーザがそのイメージに含まれている場合、(7)2つのノードが、それぞれ、ソーシャルネットワークシステムの1人のユーザと1つの製品(例えば、携帯電話機)を表しており、且つ、そのユーザがその製品を所有し使用している場合、並びに、(8)2つのノードが、それぞれ、ソーシャルネットワークシステムの1人のユーザと1つのソフトウェアアプリケーション(例えば、ウェブに基づいたゲーム)を表しており、且つ、そのユーザがそのアプリケーションを使用している(例えば、ゲームを楽しんでいる)場合を含んでもよい。繋がりは、2人の人間の間に、人間と人間ではないエンティティの間に、且つ、人間ではない2つのエンティティの間に、存在してもよい。2つの人間の又は人間ではないエンティティの間における任意のタイプの関係は、それら2つのエンティティの間における繋がりを結果的にもたらしてもよい。
【0037】
チャート1100においては、2つの特定のノードの間にエッジが存在しているときは
、それら2つのノードは、直接的に関係付けられていると見なしてもよい。例えば、エッジ1120Aは、ノード1110Aとノード1110Bを接続しており、且つ、従って、ノード1110A及び1110Bは、直接的に関係付けられている。同様に、エッジ1120Bは、ノード1110Bとノード1110Cを接続しており、且つ、従って、ノード1110B及び1110Cは、直接的に関係付けられている。2つの特定のノードの間にエッジが存在していないときも、2つのノードを依然として間接的に関係付けられていると見なしてもよい。例えば、ノード1110A及び1110Cを直接的に接続しているエッジは存在していないが、ノード1110A及び1110Cは、依然として、ノード1110Bを通じて間接的に関係付けられていると見なしてもよい。ノード1110Aとの関係において、ノード1110Bは、ノード1110Cよりも、ノード1110Aに対する相対的に緊密な関係を有しており、その理由は、チャート1100においては、ノード1110Aからノード1110Bまで移動するには、1回のホップを要するが、ノード1110Aからノード1110Cまで移動するには、2回のホップを(すなわち、ノード1110Bを通じて)要するからである。特定の実施形態においては、2つの特定のノードとの関係において、1つのノードから別のノードに移動するのに要するホップの回数が少ないほど、それら2つのノードは、相対的に密接に関係付けられている。
【0038】
特定の実施形態は、このようなチャートを使用し、サーチ結果の識別及びランク付けを支援してもよい。特定の実施形態においては、このようなチャートを使用し、例えば、チャート内のそれぞれのノードごとに、サーチを要求しているユーザに対応したノードに対するその関係性を示す係数を算出してもよい。この係数を使用して、サーチ結果の組のランク付けを支援してもよい。特定の実施形態においては、それぞれのサーチ結果も、チャート内のノードに同様に対応してもよい。
【0039】
サーチ結果は、ランク付けされて、その個々のランクに応じて、ユーザに対して提示されてもよい。ステップ1007に示されているように、ユーザがサーチクエリに対して更なる文字の入力を継続した場合には、特定の実施形態は、ユーザによってそれまでに入力されているサーチクエリの現在のバージョン(すなわち、追加の文字を有するサーチクエリ)に基づいてサーチ結果の新しい組を識別してもよく、且つ、ステップ1002〜ステップ1007を反復してもよい。この処理は、ユーザがサーチクエリの入力を停止する時点まで継続されてもよい。
【0040】
特定の実施形態は、1つ又は複数のコンピュータシステムにおいて実装されてもよい。例えば、図10に示されている処理は、非一時的なコンピュータ可読媒体内に記憶されたコンピュータソフトウェアとして実装されてもよい。図12は、例示的なコンピュータシステム1200を示している。特定の実施形態においては、1つ又は複数のコンピュータシステム1200は、本明細書において図示又は記述されている1つ又は複数の方法の1つ又は複数のステップを実行している。特定の実施形態においては、1つ又は複数のコンピュータシステム1200は、本明細書において図示又は記述されている機能を提供している。特定の実施形態においては、1つ又は複数のコンピュータシステム1200において稼働しているソフトウェアは、本明細書において記述又は図示されている1つ又は複数の方法の1つ又は複数のステップを実行するか、又は本明細書において記述又は図示されている機能を提供している。特定の実施形態は、1つ又は複数のコンピュータシステム1200の1つ又は複数の部分を含む。
【0041】
本開示は、任意の適切な数のコンピュータシステム1200を想定している。本開示は、任意の適切な物理的形態を有するコンピュータシステム1200を想定している。一例として、且つ、限定を伴うことなしに、コンピュータシステム1200は、組込み型のコンピュータシステム、システムオンチップ(SOC:System−On−Chip)、シングルボードコンピュータシステム(SBC:Single−Board−Compu
ter system)(例えば、コンピュータオンモジュール(COM:Computer On−Module)やシステムオンモジュール(SOM:System−On−Module)など)、デスクトップコンピュータシステム、ラップトップ又はノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムからなるメッシュ、携帯電話機、個人情報端末(PDA:Personal Digital Assistant)、サーバ、又はこれらのうちの2つ以上の組合せであってもよい。適宜、コンピュータシステム1200は、1つ又は複数のコンピュータシステム1200を含んでもよく、一体的な又は分散されたものであってもよく、複数の場所に跨っていてもよく、複数の機械に跨っていてもよく、或いは、クラウド内に存在していてもよく、このクラウドは、1つ又は複数のネットワーク内における1つ又は複数のクラウド要素を含んでいてもよい。適宜、1つ又は複数のコンピュータシステム1200は、実質的な空間的又は時間的制限を伴うことなしに、本明細書において記述又は図示されている1つ又は複数の方法の1つ又は複数のステップを実行されてもよい。一例として、且つ、限定を伴うことなしに、1つ又は複数のコンピュータ1200は、本明細書において記述又は図示されている1つ又は複数の方法の1つ又は複数のステップをリアルタイムで又はバッチモードにおいて実行してもよい。1つ又は複数のコンピュータ1200は、適宜、本明細書において記述又は図示されている1つ又は複数の方法の1つ又は複数のステップを異なる時点において又は異なる場所において実行してもよい。
【0042】
特定の実施形態においては、コンピュータシステム1200は、プロセッサ1202と、メモリ1204と、ストレージ1206と、入出力(I/O)インタフェース1208と、通信インタフェース1210と、バス1212と、を含む。本開示は、特定数の特定の要素を特定の構成において有する特定のコンピュータシステムについて記述及び図示しているが、本開示は、任意の適切な数の任意の適切な要素を任意の適切な構成において有する任意の適切なコンピュータシステムを想定している。
【0043】
特定の実施形態においては、プロセッサ1202は、コンピュータプログラムを構成するものなどの命令を実行するためのハードウェアを含む。一例として、且つ、限定を伴うことなしに、命令を実行するために、プロセッサ1202は、内部レジスタ、内部キャッシュ、メモリ1204、又はストレージ1206から命令を取得(フェッチ)してもよく、それらの命令をデコード及び実行してもよく、且つ、次いで、1つ又は複数の結果を内部レジスタ、内部キャッシュ、メモリ1204、又はストレージ1206に書き込んでもよい。特定の実施形態においては、プロセッサ1202は、データ、命令、又はアドレス用の1つ又は複数の内部キャッシュを含んでもよい。本開示は、適宜、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ1202を想定している。一例として、且つ、限定を伴うことなしに、プロセッサ1202は、1つ又は複数の命令キャッシュ、1つ又は複数のデータキャッシュ、及び1つ又は複数のトランスレーションルックアサイドバッファ(TLB:Translation Lookaside Buffer)を含んでもよい。命令キャッシュ内の命令は、メモリ1204又はストレージ1206内の命令のコピーであってもよく、且つ、命令キャッシュは、プロセッサ1202によるそれらの命令の取得を加速することになり得る。データキャッシュ内のデータは、プロセッサ1202において稼働する命令が働きかける対象であるメモリ1204又はストレージ1206内のデータの、プロセッサ1202において稼働する後続の命令によるアクセスのための又はメモリ1204又はストレージ1206に書き込むためのプロセッサ1202において稼働する先行する命令の結果の、或いは、その他の適切なデータの、コピーであってもよい。データキャッシュは、プロセッサ1202による読取り又は書込みを加速することになり得る。TLBは、プロセッサ1202のための仮想アドレス変換を加速することになり得る。特定の実施形態においては、プロセッサ1202は、データ、命令、及びアドレス用の1つ又は複数の内部レジスタを含んでもよい。本開示は、適宜、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ1202を想定している。適宜、プロ
セッサ1202は、1つ又は複数の演算論理ユニット(ALU:Arithmetic Logic Unit)を含んでもよく、マルチコアプロセッサであってもよく、或いは、1つ又は複数のプロセッサ1202を含んでもよい。本開示は、特定のプロセッサを記述及び図示しているが、本開示は、任意の適切なプロセッサを想定している。
【0044】
特定の実施形態においては、メモリ1204は、プロセッサ1202が実行する対象である命令又はプロセッサ1202が処理する対象であるデータを記憶するためのメインメモリを含む。一例として、且つ、限定を伴うことなしに、コンピュータシステム1200は、ストレージ1206又は別の供給源(例えば、別のコンピュータシステム1200など)からメモリ1204に命令を読み込んでもよい。次いで、プロセッサ1202は、メモリ1204から内部レジスタ又は内部キャッシュに命令を読み込んでもよい。命令を実行するために、プロセッサ1202は、内部レジスタ又は内部キャッシュから命令を取得し、且つ、それらの命令をデコードしてもよい。命令の実行の際又はその後に、プロセッサ1202は、1つ又は複数の結果(中間又は最後の結果であってもよい)を内部レジスタ又は内部キャッシュに書き込んでもよい。次いで、プロセッサ1202は、それらの結果のうちの1つ又は複数をメモリ1204に書き込んでもよい。特定の実施形態においては、プロセッサ1202は、(ストレージ1206又は別の場所ではなく)1つ又は複数の内部レジスタ又は内部キャッシュ内の又はメモリ1204内の命令のみを実行し、且つ、(ストレージ1206又は別の場所ではなく)1つ又は複数の内部レジスタ又は内部キャッシュ内の又はメモリ1204内のデータに対してのみ処理している。1つ又は複数のメモリバス(それぞれがアドレスバス及びデータバスを含む)によってプロセッサ1202をメモリ1204に結合してもよい。バス1212は、後述するように、1つ又は複数のメモリバスを含んでもよい。特定の実施形態においては、1つ又は複数のメモリ管理ユニット:(MMU:Memory Management Unit)が、プロセッサ1202とメモリ1204の間に存在し、且つ、プロセッサ1202によって要求されたメモリ1204に対するアクセスを促進している。特定の実施形態においては、メモリ1204は、ランダムアクセスメモリ(RAM:Random Access Memory)を含む。このRAMは、適宜、揮発性メモリであってもよい。適宜、このRAMは、ダイナミックランダムアクセスメモリ(DRAM:Dynamic RAM)又はスタティックランダムアクセスメモリ(SRAM:Static RAM)であってもよい。更には、適宜、このRAMは、シングルポート又はマルチポートRAMであってもよい。本開示は、任意の適切なRAMを想定している。メモリ1204は、適宜、1つ又は複数のメモリ1204を含んでもよい。本開示は、特定のメモリについて記述及び図示しているが、本開示は、任意の適切なメモリを想定している。
【0045】
特定の実施形態においては、ストレージ1206は、データ又は命令用のマスストレージを含む。一例として、且つ、限定を伴うことなしに、ストレージ1206は、HDD、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、磁気光ディスク、磁気テープ、又はユニバーサルシリアルバス(USB:Universal Serial Bus)ドライブ、又はこれらのうちの2つ以上のものの組合せを含んでもよい。ストレージ1206は、適宜、着脱可能の又は着脱不能の(又は、固定された)媒体を含んでもよい。ストレージ1206は、適宜、コンピュータシステム1200の内部に位置してもよく、或いは、外部に位置してもよい。特定の実施形態においては、ストレージ1206は、不揮発性の半導体メモリである。特定の実施形態においては、ストレージ1206は、読取り専用メモリ(ROM:Read−Only Memory)を含む。適宜、このROMは、マスクプログラムROM、プログラム可能型読取り専用メモリ(PROM:Programmable ROM)、消去可能なプログラム可能型読取り専用メモリ(EPROM:Erasable PROM)、電気的に消去可能なプログラム可能型読取り専用メモリ(EEPROM:Electrically Erasable PROM)、電気的に消去可能なプログラム可能型読取り専用メモリ(EAROM:El
ectrically Alterable ROM)、又はフラッシュメモリ、或いは、これらのうちの2つ以上の組合せであってもよい。本開示は、任意の適切な物理的形態を有するマスストレージ1206を想定している。ストレージ1206は、適宜、プロセッサ1202とストレージ1206の間の通信を促進する1つ又は複数のストレージ制御ユニットを含んでもよい。適宜、ストレージ1206は、1つ又は複数のストレージ1206を含んでもよい。本開示は、特定のストレージについて記述及び図示しているが、本開示は、任意の適切なストレージを想定している。
【0046】
特定の実施形態においては、I/Oインタフェース1208は、コンピュータシステム1200と1つ又は複数のI/O装置の間の通信用の1つ又は複数のインタフェースを提供するハードウェア、ソフトウェア、又は両方を含む。コンピュータシステム1200は、適宜、これらのI/O装置のうちの1つ又は複数を含んでもよい。これらのI/O装置のうちの1つ又は複数は、人間とコンピュータシステム1200の間の通信を可能にし得る。一例として、且つ、限定を伴うことなしに、I/O装置は、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、他の適切なI/O装置、又はこれらのうちの2つ以上の組合せを含んでもよい。I/O装置は、1つ又は複数のセンサを含んでもよい。本開示は、任意の適切なI/O装置と、それらのI/O装置用の任意の適切なI/Oインタフェース1208と、を想定している。適宜、I/Oインタフェース1208は、プロセッサ1202がこれらのI/O装置のうちの1つ又は複数を駆動できるようにする1つ又は複数の装置又はソフトウェアドライバを含んでもよい。I/Oインタフェース1208は、適宜、1つ又は複数のI/Oインタフェース1208を含んでもよい。本開示は、特定のI/Oインタフェースについて記述及び図示しているが、本開示は、任意の適切なI/Oインタフェースを想定している。
【0047】
特定の実施形態においては、通信インタフェース1210は、コンピュータシステム1200と1つ又は複数のその他のコンピュータシステム1200又は1つ又は複数のネットワークの間の通信(例えば、パケットに基づいた通信)用の1つ又は複数のインタフェースを提供するハードウェア、ソフトウェア、又はこれらの両方を含む。一例として、且つ、限定を伴うことなしに、通信インタフェース1210は、イーサーネット(Ethernet(登録商標))又はその他の有線ネットワークとの通信のためのネットワークインタフェースカード(NIC:Network Interface Controller)又はネットワークアダプタ、或いは、WI−FIネットワークなどの無線ネットワークとの通信のための無線NIC(WNIC:Wireless NIC)又は無線アダプタを含んでもよい。本開示は、任意の適切なネットワーク及びそのネットワーク用の任意の適切な通信インタフェース1210を想定している。一例として、且つ、限定を伴うことなしに、コンピュータシステム1200は、アドホックネットワーク、パーソナルエリアネットワーク(PAN:Personal Area Network)、ローカルエリアネットワーク(LAN:Local Area Network)、ワイドエリアネットワーク(WAN:Wide Area Network)、メトロポリタンエリアネットワーク(MAN:Metropolitan Area Network)、又はインターネットの1つ又は複数の部分、或いは、これらのうちの2つ以上の組合せと通信してもよい。これらのネットワークのうちの1つ又は複数のネットワークの1つ又は複数の部分は、有線であってもよく、或いは、無線であってもよい。一例として、コンピュータシステム1200は、無線PAN(WPAN:Wireless PAN)(例えば、BLUETOOTH(登録商標) WPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラー電話ネットワーク(例えば、世界移動体通信システム(GSM(登録商標):Global System for Mobile communications)ネットワークなど)、又はその他の適切な無線ネットワーク、或いは、これらのうちの2つ以上の組合せと通信してもよい。コンピュータシステム1200は、
適宜、これらのネットワークのいずれかのための任意の通信インタフェース1210を含んでもよい。通信インタフェース1210は、適宜、1つ又は複数の通信インタフェース1210を含んでもよい。本開示は、特定の通信インタフェースについて記述及び図示しているが、本開示は、任意の適切な通信インタフェースを想定している。
【0048】
特定の実施形態においては、バス1212は、コンピュータシステム1200の要素を互いに結合するハードウェア、ソフトウェア、又はこれらの両方を含む。一例として、且つ、限定を伴うことなしに、バス1212は、アクセラレーテッドグラフィクスポート(AGP:Accelerated Graphics Port)又はその他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA:Enhanced Industry Standard Architecture)バス、フロントサイドバス(FSB:Front−Side Bus)、HT(HYPERTRANSPORT)相互接続、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、INFINIBAND相互接続、ローピンカウント(LPC:Low−Pin−Count)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA:Micro Channel Architecture)バス、ペリフェラルコンポーネントインターコネクト(PCI:Peripheral Component Interconnect)バス、PCI―エックス:PCIエクスプレス(PCI−X:PCI−Express)バス、シリアルアドバンストテクノロジアタッチメント(SATA:Serial Advanced Technology Attachment)バス、ビデオエレクトロニクススタンダードアソシエーションローカル(VLB:Video Electronics Standards Association local)バス、又は他の適切なバス、或いは、これらのうちの2つ以上の組合せを含んでもよい。バス1212は、適宜、1つ又は複数のバス1212を含んでもよい。本開示は、特定のバスを記述及び図示しているが、本開示は、任意の適切なバス又は相互接続を想定している。
【0049】
本明細書においては、コンピュータ可読記憶媒体に対する参照は、1つ又は複数の非一時的な有体のコンピュータ可読記憶媒体処理構造体を含む。一例として、且つ、限定を伴うことなしに、コンピュータ可読記憶媒体は、適宜、半導体に基づいた又はその他の集積回路(IC:Integrated Circuit)(例えば、フィールドプログラマブルゲートアレイ(FPGA:Field−Programmable Gate Arrayなど)又は特定用途向け集積回路(ASIC:Application−Specific IC))、ハードディスク、HDD、ハイブリッドハードドライブ(HHD:Hybrid Hard Drive)、光ディスク、光ディスクドライブ(ODD:Optical Disc Drive)、磁気光ディスク、磁気光ドライブ、フロッピー(登録商標)ディスク、フロッピー(登録商標)ディスクドライブ(FDD:Flopply Disk Drive)、磁気テープ、ホログラフィック記憶媒体、ソリッドステイトドライブ(SSD:Solid−State Drive)、RAMドライブ、セキュアデジタル(SECURE DIGITAL)カード、セキュアデジタル(SECURE DIGITAL)ドライブ、又は他の適切なコンピュータ可読記憶媒体、或いは、これらのうちの2つ以上の組合せを含んでもよい。本明細書においては、コンピュータ可読記憶媒体に対する参照は、米国特許法第101条の下における特許保護の権利を有していない媒体を除外している。本明細書においては、コンピュータ可読記憶媒体に対する参照は、米国特許法第101条の下における特許保護の権利を有していない程度における信号伝送の一時的な形態(伝播する電気又は電磁信号それ自体など)を除外している。非一時的なコンピュータ可読記憶媒体は、適宜、揮発性であってもよく、不揮発性であってもよく、或いは、揮発性及び不揮発性の組合せであってもよい。
【0050】
本開示は、任意の適切なストレージを実装する1つ又は複数のコンピュータ可読媒体記
憶媒体を想定している。特定の実施形態においては、コンピュータ可読記憶媒体は、適宜、プロセッサ1202の1つ又は複数の部分(例えば、1つ又は複数の内部レジスタ又はキャッシュなど)、メモリ1204の1つ又は複数の部分、ストレージ1206の1つ又は複数の部分、又はこれらの組合せを実装している。特定の実施形態においては、コンピュータ可読記憶媒体は、RAM又はROMを実装している。特定の実施形態においては、コンピュータ可読記憶媒体は、揮発性の又は永久的なメモリを実装している。特定の実施形態においては、1つ又は複数のコンピュータ可読記憶媒体は、ソフトウェアが具体化する。本明細書においては、ソフトウェアに対する参照は、適宜、1つ又は複数のアプリケーション、バイトコード、1つ又は複数のコンピュータプログラム、1つ又は複数の実行可能ファイル、1つ又は複数の命令、ロジック、マシンコード、1つ又は複数のスクリプト、又はソースコードを含んでもよく、且つ、この逆も又同様である。特定の実施形態においては、ソフトウェアは、1つ又は複数のアプリケーションプログラミングインタフェース(API:Application Programming Interface)を含む。本開示は、任意の適切なプログラミング言語又はプログラミング言語の組合せによって書き込まれた又はその他の方法で表現された任意の適切なソフトウェアを想定している。特定の実施形態においては、ソフトウェアは、ソースコード又はオブジェクトコードとして表現されている。特定の実施形態においては、ソフトウェアは、例えば、C、Perl、又はこれらの適切な拡張版などのハイレベルなプログラミング言語によって表現されている。特定の実施形態においては、ソフトウェアは、アセンブリ言語(又は、マシンコード)などのローレベルなプログラミング言語によって表現されている。特定の実施形態においては、ソフトウェアは、JAVA(登録商標)、C、又はC++によって表現されている。特定の実施形態においては、ソフトウェアは、ハイパーテキストマークアップランゲージ(HTML:Hyper Text Markup Language)、エクステンシブルマークアップランゲージ(XML:Extensible Markup Language)、又はその他の適切なマークアップ言語によって表現されている。
【0051】
本明細書においては、「又は」は、そうではない旨が明示的に示されているか、又はそうではない旨が文脈によって示されていない限り、包含的であり、且つ、排他的ではない。従って、本明細書においては、「A又はB」は、そうではない旨が明示的に示されているか、又はそうではない旨が文脈によって示されていない限り、「A、B、又はこれらの両方」を意味している。更には、「及び」は、そうではない旨が明示的に示されているか、又はそうではない旨が文脈によって示されていない限り、結合状態と個別状態の両方である。従って、「A及びB」は、そうではない旨が明示的に示されているか、又はそうではない旨が文脈によって示されていない限り、「結合された状態において又は個別の状態においてA及びB」を意味している。
【0052】
本開示は、当業者が想定する本明細書における例示的実施形態に対するすべての変更形態、置換形態、変動形態、変化形態、修正形態を含む。同様に、適宜、添付の請求項も、当業者が想定する本明細書における例示的実施形態に対するすべての変更形態、置換形態、変動形態、変化形態、修正形態を含む。更には、特定の機能を実行するべく適合された、構成された、能力を有する、設定された、可能になった、動作可能である、或いは、機能する装置(デバイス)又はシステム或いは装置又はシステムの要素に対する添付の請求項における参照は、その装置、システム、又は要素が、そのように適合されるか、構成されるか、能力を有するか、設定されるか、可能になるか、動作可能であるか、又は機能する限り、それ又はその特定の機能が起動されるか、ターンオンされるか、又はアンロックされるかどうかとは無関係に、その装置、システム、要素を含む。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12