JP2016522927A - 可変検索クエリ・バーティカル・アクセス - Google Patents

可変検索クエリ・バーティカル・アクセス Download PDF

Info

Publication number
JP2016522927A
JP2016522927A JP2016510771A JP2016510771A JP2016522927A JP 2016522927 A JP2016522927 A JP 2016522927A JP 2016510771 A JP2016510771 A JP 2016510771A JP 2016510771 A JP2016510771 A JP 2016510771A JP 2016522927 A JP2016522927 A JP 2016522927A
Authority
JP
Japan
Prior art keywords
user
vertical
objects
verticals
social networking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016510771A
Other languages
English (en)
Other versions
JP2016522927A5 (ja
JP6407968B2 (ja
Inventor
サンカー、スリイラム
ダンデレ、ケダール
Original Assignee
フェイスブック,インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2016522927A publication Critical patent/JP2016522927A/ja
Publication of JP2016522927A5 publication Critical patent/JP2016522927A5/ja
Application granted granted Critical
Publication of JP6407968B2 publication Critical patent/JP6407968B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • User Interface Of Digital Computer (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)

Abstract

一実施形態では、方法は、オンライン・ソーシャル・ネットワークのユーザから、ある個数のキャラクタを有するキャラクタ文字列を含む検索クエリ入力を受信する工程と、オンライン・ソーシャル・ネットワークに関連付けられているオブジェクトを各々記憶する1以上のバーティカルにアクセスする工程であって、キャラクタの個数がしきい値数以下である場合、第1のバーティカルのセットにアクセスし、キャラクタの個数がしきい値数より大きい場合、第1のバーティカルのセットと第2のバーティカルセットとにアクセスする、工程と、キャラクタ文字列に実質的にマッチするバーティカルに関連付けられている1以上のオブジェクトを識別するために、アクセスされた各バーティカルを検索する工程と、識別されたオブジェクトに対する参照をユーザに送信する工程と、を備える。

Description

本開示は一般に、ソーシャルグラフ、およびソーシャルネットワーキング環境内でオブジェクトについて検索を実行することに関する。
ソーシャルネットワーキング・システム(ソーシャルネットワーキング・ウェブサイトを含む)は、そのソーシャルネットワーキング・システムのユーザ(人または組織など)がそのソーシャルネットワーキング・システムと互いに対話すること、およびそのソーシャルネットワーキング・システムを通じて互いに対話することを可能にする。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザに関連付けられているユーザ・プロフィールを作成して、ソーシャルネットワーキング・システム内に記憶する。ユーザ・プロフィールは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な関心に関する情報を含む。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザと、ソーシャルネットワーキング・システムのその他のユーザとの関係のレコードを作成および記憶すること、ならびにサービス(たとえば、ウォール投稿、写真共有、イベント編成、メッセージング、ゲーム、または広告)を提供して、ユーザ同士の間における社会的な交流を容易にすることも可能である。
ソーシャルネットワーキング・システムは、そのサービスに関連したコンテンツまたはメッセージを、1つまたは複数のネットワークを通じて、ユーザのモバイルまたはその他のコンピューティング・デバイスへ送信する。ユーザは、自分のユーザ・プロフィールおよびソーシャルネットワーキング・システム内のその他のデータにアクセスするためにソフトウェア・アプリケーションを自分のモバイルまたはその他のコンピューティング・デバイス上にインストールすることもできる。ソーシャルネットワーキング・システムは、ユーザにつながっているその他のユーザの集約されたストーリのニュース・フィードなど、ユーザに表示するためのコンテンツ・オブジェクトのパーソナライズされたセットを生成する。
ソーシャルグラフ分析は、ソーシャルな関係を、ノードおよびエッジから構成されているネットワーク理論の点から見る。ノードは、ネットワーク内の個々の行為主体を表し、エッジは、行為主体同士の間における関係を表す。結果として生じるグラフベースの構造は、しばしば非常に複雑である。多くのタイプのノード、およびノード同士をつなげるための多くのタイプのエッジが存在する。ソーシャルグラフは、その最も単純な形態においては、調査されているすべてのノードの間における関連があるすべてのエッジのマップである。
特定の実施形態では、ソーシャルネットワーキング・システムのユーザは、検索クエリを用いて、システムに関連付けられているオブジェクトについて検索する。
特定の実施形態では、ユーザから受信される検索クエリ入力に応じて、ソーシャルネットワーキング・システムは、その検索クエリ入力のキャラクタ文字列にマッチするオブジェクトについて検索するために1以上のバーティカルにアクセスする。検索クエリ入力に応じてアクセスされるバーティカルの個数は、キャラクタ文字列の長さによって異なってもよい。より短いキャラクタ文字列については、キャラクタ文字列は多数のオブジェクトとマッチする場合がある。結果として、比較的短いキャラクタ文字列を処理することは、非効率な場合がある。クエリ処理の効率を向上させるために、限られた数のバーティカルのみが、より短いキャラクタ文字列に対するマッチについて検索されてもよい。しかしながら、ユーザが追加のキャラクタを入力するにつれ、追加のバーティカルが検索されても
よい。検索クエリの長さが増大するにつれ、そのクエリとマッチするオブジェクトはより少なくなるので、より長いキャラクタ文字列に対するマッチについて、より多くのバーティカルを検索することがより効率的となり得る。識別されたオブジェクトに基づき、ソーシャルネットワーキング・システムは、次いで、それらのオブジェクトに対する参照を、例えば、クエリ・フィールドに関連付けられているドロップダウン・メニューによるユーザに対する表示用に送信することができる。クエリを行うユーザは、次いで、その参照に対応するオブジェクトがソーシャルネットワーキング・システムによって取り出されるべきであることを示すように、複数の参照から選択してもよい。本明細書に記載のように変更可能な数のバーティカルにアクセスすることによって、多数のオブジェクトとマッチし得る比較的短い検索クエリに応じる検索であるバーティカルの数を制限することにより、またクエリがより洗練されるにつれバーティカル検索の数および種類を拡張することにより、クエリ処理の効率を向上することができる。
ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す図。 例示的なソーシャルグラフを示す図。 ソーシャルネットワーキング・システムのオブジェクトを記憶するための一例のパーティショニングを示す図。 オンライン・ソーシャル・ネットワークの例示的なウェブページを示す図。 ソーシャル・ネットワークの例示的なクエリを示す図。 ソーシャル・ネットワークの例示的なクエリを示す図。 クエリに応じてバーティカルを検索する一例の方法を示す図。 例示的なコンピュータ・システムを示す図。
システムの概観
図1は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境100を示している。ネットワーク環境100は、ネットワーク110によって互いにつながっているクライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を含む。図1は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の特定の構成を示しているが、本開示は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、ネットワーク110を迂回して、互いに直接つながる。別の例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置される。その上、図1は、特定の数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を示しているが、本開示は、任意の適切な数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を想定している。限定ではなく、例として、ネットワーク環境100は、複数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を含む。
本開示は、任意の適切なネットワーク110を想定している。限定ではなく、例として、ネットワーク110の1つまたは複数の部分は、アド・ホック・ネットワーク、イント
ラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含む。ネットワーク110は、1つまたは複数のネットワーク110を含む。
リンク150は、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を通信ネットワーク110に、または互いに接続する。本開示は、任意の適切なリンク150を想定している。特定の実施形態においては、1つまたは複数のリンク150は、1つもしくは複数の有線リンク(たとえば、デジタル・サブスクライバ・ライン(DSL)もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様(DOCSIS)など)、無線リンク(たとえば、Wi−Fiもしくはワールドワイド・インターオペラビリティー・フォー・マイクロウェーブ・アクセス(WiMAX)など)、または光リンク(たとえば、同期光ネットワーク(SONET)もしくは同期デジタル階層(SDH)など)を含む。特定の実施形態においては、1つまたは複数のリンク150はそれぞれ、アド・ホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー・テクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク150、または複数のそのようなリンク150の組合せを含む。リンク150は、ネットワーク環境100の全体を通じて必ずしも同じである必要はない。1つまたは複数の第1のリンク150は、1つまたは複数の点において1つまたは複数の第2のリンク150とは異なる。
特定の実施形態においては、クライアント・システム130は、クライアント・システム130によって実装またはサポートされる適切な機能を実行する、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスである。限定ではなく、例として、クライアント・システム130は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、eブック・リーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含む。本開示は、任意の適切なクライアント・システム130を想定している。クライアント・システム130は、クライアント・システム130のネットワーク・ユーザがネットワーク110にアクセスすることを可能にする。クライアント・システム130は、自分のユーザがその他のクライアント・システム130のその他のユーザと通信することを可能にする。
特定の実施形態においては、クライアント130は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOXなどのウェブ・ブラウザ132を含むことができ、1つまたは複数のアドオン、プラグイン、またはTOOLBARもしくはYAHOO TOOLBARなどのその他の拡張を有する。クライアント・システム130のユーザは、ウェブ・ブラウザ132を特定のサーバ(サーバ162、またはサードパーティ・システム170に関連付けられているサーバなど)へ導くユニフォーム・リソース・ロケータ(URL)またはその他のアドレスを入力することができ、ウェブ・ブラウザ132は、ハイパー・テキスト転送プロトコル(HTTP)要求を生成して、そのHTTP要求をサーバに通信する。サーバは、そのHTTP要求を受け入れて、そのHTTP要求に応答して1つまたは複数のハイパー・テキスト・マークアップ言語(HTML)ファイルをクライアント・システム130に通信する。クライアント・システム130は、ユーザに提示するためにサーバからのHT
MLファイルに基づいてウェブページをレンダリングする。本開示は、任意の適切なウェブページ・ファイルを想定している。限定ではなく、例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパー・テキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングする。そのようなページは、限定ではなく、例として、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで書かれたスクリプトなどのスクリプト、AJAX(Asynchronous JAVASCRIPT(登録商標) and XML)などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、(そのウェブページをレンダリングするためにブラウザが使用する)1つまたは複数の対応するウェブページ・ファイルを含み、その逆もまた同様である。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストするネットワークアドレス可能なコンピューティング・システムである。ソーシャルネットワーキング・システム160は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャルグラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、記憶すること、受け取ること、および送信する。ソーシャルネットワーキング・システム160は、ネットワーク環境100のその他の構成要素によって直接、またはネットワーク110を通じてアクセスされる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のサーバ162を含む。それぞれのサーバ162は、1つのサーバ、または複数のコンピュータもしくは複数のデータセンタにわたる分散サーバである。サーバ162は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Exchangeサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものである。特定の実施形態においては、それぞれのサーバ162は、サーバ162によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのような構成要素の組合せを含む。特定の実施形態においては、ソーシャルネットワーキング・システム164は、1つまたは複数のデータ・ストア164を含む。データ・ストア164は、さまざまなタイプの情報を記憶するために使用される。特定の実施形態においては、データ・ストア164内に記憶されている情報は、特定のデータ構造に従って編成される。特定の実施形態では、各データ・ストア164は、リレーショナル・データベース、カラム・データベース、コリレーション・データベース、または他の適切なデータベースであってよい。本開示では、特定のタイプのデータベースについて記載し示しているが、本開示では任意の適切なタイプのデータベースを企図する。特定の実施形態は、クライアント・システム130、ソーシャルネットワーキング・システム160、またはサードパーティ・システム170が、データ・ストア164内に記憶されている情報を管理すること、取り出すこと、修正すること、追加すること、または削除することを可能にするインタフェースを提供する。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャルグラフを1つまたは複数のデータ・ストア164内に記憶する。特定の実施形態においては、ソーシャルグラフは、複数のノード(複数のユーザ・ノード(それぞれが、特定のユーザに対応している)、または複数のコンセプト・ノード(それぞれが、特定のコンセプトに対応している)を含む)と、ノード同士をつなげる複数のエッジとを含む。ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供する。特定
の実施形態においては、ユーザたちは、ソーシャルネットワーキング・システム160を通じてオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキング・システム160のその他の複数のユーザにつながり(connection)(すなわち、関係)を付加する。本明細書においては、「友達」という用語は、ユーザがソーシャルネットワーキング・システム160を通じて、つながり、関連付け、または関係を形成しているソーシャルネットワーキング・システム160のその他の任意のユーザに及ぶ。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システム160によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを取る能力をユーザに提供する。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャルネットワーキング・システム160のユーザが属するグループもしくはソーシャル・ネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エントリー、ユーザが使用するコンピュータベースのアプリケーション、ユーザがサービスを通じてアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行する広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含む。ユーザは、ソーシャルネットワーキング・システム160において、またはサードパーティ・システム170の外部システム(ソーシャルネットワーキング・システム160とは別個のものであって、ネットワーク110を通じてソーシャルネットワーキング・システム160に結合されている)によって表される任意のものと対話する。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざまなエンティティ同士をリンクできる。限定ではなく、例として、ソーシャルネットワーキング・システム160は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム170もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミング・インタフェース(API)もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にする。
特定の実施形態においては、サードパーティ・システム170は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータ・ストア、1つもしくは複数のインタフェース(APIを含むが、それには限定されない)、1つもしくは複数のウェブ・サービス、1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または(たとえば、サーバが通信する)その他の任意の適切な構成要素を含む。サードパーティ・システム170は、ソーシャルネットワーキング・システム160を運営しているエンティティとは異なるエンティティによって運営される。しかしながら、特定の実施形態においては、ソーシャルネットワーキング・システム160およびサードパーティ・システム170は、ソーシャルネットワーキング・システム160またはサードパーティ・システム170のユーザにソーシャルネットワーキング・サービスを提供するために互いに連携して機能する。この意味において、ソーシャルネットワーキング・システム160は、サードパーティ・システム170などのその他のシステムがインターネットを通じてソーシャルネットワーキング・サービスおよび機能をユーザに提供するために使用するプラットフォーム、またはバックボーンを提供する。
特定の実施形態においては、サードパーティ・システム170は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含む。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの1つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム130に通信される。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって関心がある物またはアクティビテ
ィに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含む。限定ではなく、別の例として、コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、ディスカウント・チケット、ギフト券、またはその他の適切なインセンティブ・オブジェクトを含む。
特定の実施形態においては、ソーシャルネットワーキング・システム160はまた、ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャルネットワーキング・システム160とのユーザの対話を高める。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキング・システム160に付加、アップロード、送信、または「投稿」する任意のものを含む。限定ではなく、例として、ユーザは、クライアント・システム130からソーシャルネットワーキング・システム160へ投稿を通信する。投稿は、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、映像、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含む。コンテンツは、ニュース・フィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャルネットワーキング・システム160に付加されることも可能である。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含む。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可/プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの1つまたは複数を含む。ソーシャルネットワーキング・システム160は、適切な構成要素、たとえば、ネットワーク・インタフェース、セキュリティー・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワークオペレーション・コンソール、その他の適切な構成要素、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ユーザ・プロフィールを記憶するための1つまたは複数のユーザプロフィール・ストアを含む。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含む。関心情報は、1つまたは複数のカテゴリに関連した関心を含む。カテゴリは、一般的または具体的である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね!」を表明した場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリである。ユーザに関するつながり情報を記憶するために、つながりストアが使用される。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示す。つながり情報は、さまざまなユーザおよびコンテンツ・オブジェクト(内部および外部の両方)の間におけるユーザ定義のつながりを含むこともできる。ネットワーク110を通じてソーシャルネットワーキング・システム160を1つもしくは複数のクライアント・システム130または1つもしくは複数のサードパーティ・システム170にリンクさせるために、ウェブ・サーバが使用される。ウェブ・サーバは、ソーシャルネットワーキング・システム160と、1つまたは複数のクライアント・システム130との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含む。API要求サーバは、サードパーティ・システム170が、1つまたは複数のAPIを呼び出す
ことによってソーシャルネットワーキング・システム160からの情報にアクセスすることを可能にする。ソーシャルネットワーキング・システム160の上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用される。アクション・ログとともに、サードパーティコンテンツ・オブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクト・ログが保持される。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム130に提供する。情報は、通知としてクライアント・システム130へ押し出されることが可能であり、または情報は、クライアント・システム130から受け取られた要求に応答してクライアント・システム130から引き出される。ソーシャルネットワーキング・システム160のユーザの1つまたは複数のプライバシー設定を実施するために、認可サーバが使用される。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されるかを決定する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキング・システム160によって記録されること、またはその他のシステム(たとえば、サードパーティ・システム170)と共有されることのオプトインまたはオプトアウトを行うことを可能にする。サードパーティ・システム170などのサードパーティから受け取られたコンテンツ・オブジェクトを記憶するために、サードパーティコンテンツオブジェクト・ストアが使用される。ユーザに関連付けられているクライアント・システム130から受け取られたロケーション情報を記憶するために、ロケーション・ストアが使用される。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供する。
ソーシャルグラフ
図2は、例示的なソーシャルグラフ200を示している。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャルグラフ200を1つまたは複数のデータ・ストア内に記憶する。特定の実施形態においては、ソーシャルグラフ200は、複数のノード(複数のユーザ・ノード202、または複数のコンセプト・ノード204を含む)と、ノード同士をつなげる複数のエッジ206とを含む。図2において示されている例示的なソーシャルグラフ200は、教示上の目的から、2次元のビジュアル・マップ表示で示されている。特定の実施形態においては、ソーシャルネットワーキング・システム160、クライアント・システム130、またはサードパーティ・システム170は、適切なアプリケーションに関してソーシャルグラフ200および関連したソーシャルグラフ情報にアクセスする。ソーシャルグラフ200のノードおよびエッジは、データ・オブジェクトとして、たとえば(ソーシャル・グラフ・データベースなどの)データ・ストア内に記憶される。そのようなデータ・ストアは、ソーシャルグラフ200のノードまたはエッジの1つまたは複数の検索可能なまたはクエリ可能なインデックスを含む。
特定の実施形態においては、ユーザ・ノード202は、ソーシャルネットワーキング・システム160のユーザに対応する。限定ではなく、例として、ユーザは、ソーシャルネットワーキング・システム160と、またはソーシャルネットワーキング・システム160を通じて対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション)、または(たとえば、個人もしくはエンティティの)グループである。特定の実施形態においては、あるユーザがソーシャルネットワーキング・システム160とのアカウントに登録した場合には、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード202を作成し、そのユーザ・ノード202を1つまたは複数のデータ・ストア内に記憶する。本明細書において記述されているユーザおよびユーザ・ノード202は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード
202に及ぶ。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード202は、適切な場合には、ソーシャルネットワーキング・システム160に登録されていないユーザに及ぶ。特定の実施形態においては、ユーザ・ノード202は、ユーザによって提供された情報、またはソーシャルネットワーキング・システム160を含むさまざまなシステムによって収集された情報に関連付けられる。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供する。特定の実施形態においては、ユーザ・ノード202は、ユーザに関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられる。特定の実施形態においては、ユーザ・ノード202は、1つまたは複数のウェブページに対応する。
特定の実施形態においては、コンセプト・ノード204は、コンセプトに対応する。限定ではなく、例として、コンセプトは、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワーク・システム160に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど)、エンティティ(たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など)、ソーシャルネットワーキング・システム160内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されるリソース(たとえば、オーディオ・ファイル、映像ファイル、デジタル写真、テキスト・ファイル、構造化ドキュメント、もしくはアプリケーションなど)、物的もしくは知的財産(たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など)、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応する。コンセプト・ノード204は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキング・システム160を含むさまざまなシステムによって収集された情報に関連付けられる。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、1つもしくは複数のイメージ(たとえば、本の表紙のイメージ)、ロケーション(たとえば、住所もしくは地理的ロケーション)、(URLに関連付けられる)ウェブサイト、連絡先情報(たとえば、電話番号もしくはEメール・アドレス)、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含む。特定の実施形態においては、コンセプト・ノード204は、コンセプト・ノード204に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられる。特定の実施形態においては、コンセプト・ノード204は、1つまたは複数のウェブページに対応する。
特定の実施形態においては、ソーシャルグラフ200内のノードは、ウェブページ(「プロフィール・ページ」と呼ばれる場合もある)を表すこと、またはウェブページによって表される。プロフィール・ページは、ソーシャルネットワーキング・システム160によってホストされること、またはソーシャルネットワーキング・システム160にとってアクセス可能である。プロフィール・ページは、サードパーティ・サーバ170に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード204に対応する。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できる。限定ではなく、例として、ユーザ・ノード202は、対応するユーザプロフィール・ページを有することができ、そのユーザプロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現する。限定ではなく、別の例として、コンセプト・ノード204は、対応するコンセプト・プロフィール・ページを有することができ、そのコンセプト・プロフィール・ページにおいては、1人または複数のユーザ
が、特にコンセプト・ノード204に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現する。
特定の実施形態においては、コンセプト・ノード204は、サードパーティ・システム170によってホストされているサードパーティ・ウェブページまたはリソースを表す。サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す(たとえば、JAVASCRIPT(登録商標)、AJAX、もしくはPHPコードで実装される)その他の対話可能なオブジェクトを含む。限定ではなく、例として、サードパーティ・ウェブページは、「いいね!」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含む。サードパーティ・ウェブページを閲覧しているユーザは、それらのアイコンのうちの1つ(たとえば、「食べる」)を選択することによってアクションを実行して、クライアント・システム130に、そのユーザのアクションを示すメッセージをソーシャルネットワーキング・システム160へ送信させる。そのメッセージに応答して、ソーシャルネットワーキング・システム160は、ユーザに対応するユーザ・ノード202と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード204との間においてエッジ(たとえば、「食べる」エッジ)を作成して、エッジ206を1つまたは複数のデータ・ストア内に記憶する。
特定の実施形態においては、ソーシャルグラフ200内の1対のノードが、1つまたは複数のエッジ206によって互いにつながる。1対のノードをつなげるエッジ206は、それらの1対のノードの間における関係を表す。特定の実施形態においては、エッジ206は、1対のノードの間における関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表す。限定ではなく、例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であるということを示す。この表示に応答して、ソーシャルネットワーキング・システム160は、「友達要求」を第2のユーザに送信する。第2のユーザがその「友達要求」を承認した場合には、ソーシャルネットワーキング・システム160は、ソーシャルグラフ200内で第1のユーザのユーザ・ノード202を第2のユーザのユーザ・ノード202につなげるエッジ206を作成して、エッジ206をソーシャルグラフ情報としてデータ・ストア24のうちの1つまたは複数の中に記憶する。図2の例においては、ソーシャルグラフ200は、ユーザ「A」のユーザ・ノード202と、ユーザ「B」のユーザ・ノード202との間における友達関係を示すエッジ206と、ユーザ「C」のユーザ・ノード202と、ユーザ「B」のユーザ・ノード202との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード202同士をつなげる特定の属性を伴う特定のエッジ206を記述している、または示しているが、本開示は、ユーザ・ノード202同士をつなげる任意の適切な属性を伴う任意の適切なエッジ206を想定している。限定ではなく、例として、エッジ206は、友達関係、家族関係、ビジネスもしくは雇用関係、ファン関係、フォロワー関係、ビジター関係、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表す。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、1つまたは複数のエッジ206によってソーシャルグラフ200内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士に及ぶ。
特定の実施形態においては、ユーザ・ノード202とコンセプト・ノード204との間におけるエッジ206は、ユーザ・ノード202に関連付けられているユーザによって、コンセプト・ノード204に関連付けられているコンセプトに対して実行された特定のア
クションまたはアクティビティを表す。限定ではなく、例として、図2において示されているように、ユーザは、コンセプトに対して「いいね!を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジ・タイプまたはサブタイプに対応する。コンセプト・ノード204に対応するコンセプト・プロフィール・ページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、クリック可能な「チェックイン」アイコンなど)、または選択可能な「お気に入りに追加」アイコンを含む。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャルネットワーキング・システム160は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成する。限定ではなく、別の例として、あるユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の曲(「イマジン」)を聴く場合がある。このケースにおいては、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード202と、その曲およびアプリケーションに対応するコンセプト・ノード204との間において、(図2に示されているような)「聴いた」エッジ206および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したということを示す。その上、ソーシャルネットワーキング・システム160は、その曲に対応するコンセプト・ノード204と、そのアプリケーションに対応するコンセプト・ノード204との間において、(図2に示されているような)「再生した」エッジ206を作成して、その特定の曲がその特定のアプリケーションによって再生されたということを示す。このケースにおいては、「再生した」エッジ206は、外部アプリケーション(SPOTIFY)によって外部オーディオ・ファイル(「イマジン」という曲)に関して実行されたアクションに対応する。本開示は、ユーザ・ノード202とコンセプト・ノード204とをつなげる特定の属性を伴う特定のエッジ206について記述しているが、本開示は、ユーザ・ノード202とコンセプト・ノード204とをつなげる任意の適切な属性を伴う任意の適切なエッジ206を想定している。その上、本開示は、単一の関係を表すユーザ・ノード202とコンセプト・ノード204との間におけるエッジについて記述しているが、本開示は、1つまたは複数の関係を表すユーザ・ノード202とコンセプト・ノード204との間におけるエッジを想定している。限定ではなく、例として、エッジ206は、ユーザが特定のコンセプトに対して「いいね!」を表明しているということ、およびその特定のコンセプトを使用したということの両方を表す。あるいは、別のエッジ206は、(図2において、ユーザ「E」を表すユーザ・ノード202と、「SPOTIFY」を表すコンセプト・ノード204との間において示されているような)ユーザ・ノード202とコンセプト・ノード204との間におけるそれぞれのタイプの関係(または、単一の関係が複数集まったもの)を表す。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ソーシャルグラフ200内でユーザ・ノード202とコンセプト・ノード204との間においてエッジ206を作成する。限定ではなく、例として、(たとえば、ユーザのクライアント・システム130によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって)コンセプト・プロフィール・ページを閲覧しているユーザは、「いいね!」アイコンをクリックまたは選択することにより、コンセプト・ノード204によって表されているコンセプトを自分が気に入っているということを示すことができ、その「いいね!」アイコンをクリックまたは選択することは、ユーザのクライアント・システム130に、そのコンセプト・プロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソーシャルネットワーキング・システム160へ送信させる。そのメッセージに応答して、ソーシャルネットワーキング・システム160は、そのユーザとコンセプト・ノード204との間における「いいね!」エッジ206によって示されているように、そのユーザに関連付けられているユーザ・ノード202とコンセプト・ノード204との間においてエッジ20
6を作成する。特定の実施形態においては、ソーシャルネットワーキング・システム160は、エッジ206を1つまたは複数のデータ・ストア内に記憶する。特定の実施形態においては、エッジ206は、特定のユーザ・アクションに応答してソーシャルネットワーキング・システム160によって自動的に形成される。限定ではなく、例として、第1のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ206は、第1のユーザに対応するユーザ・ノード202と、それらのコンセプトに対応するコンセプト・ノード204との間において形成される。本開示は、特定の様式で特定のエッジ206を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ206を形成することを想定している。
オブジェクト・タイプに基づくインデックス付け
図3は、ソーシャルネットワーキング・システム160のオブジェクトを記憶するための一例のパーティショニングを示す。複数のデータ・ストア164(「バーティカル」とも呼ばれる)は、ソーシャルネットワーキング・システム160のオブジェクトを記憶してもよい。データ・ストアに記憶されるデータ(例えば、ソーシャルグラフ200用データ)の量は非常に大きいかもしれない。限定ではなく一例として、フェイスブック社(カリフォルニア、メンローパーク)によって用いられるソーシャルグラフは、108程度の複数のノード、および1010程度の複数のエッジを有することができる。通常、大きなデータベースなどデータの大きなコレクションは複数のパーティションへと分割されてもよい。データベースの各パーティションのためのインデックスは全データベースのためのインデックスより小さいので、パーティショニングによってデータベースにアクセスする際のパフォーマンスを向上させることができる。パーティションは多数のサーバを通じて分散されてもよいので、パーティショニングによってデータベースにアクセスする際の性能及び信頼性も向上させることができる。普通の場合、データベースはデータベースの複数の行(又は複数の列)を別々に記憶することにより分割されることができる。特定の実施形態では、データベースはオブジェクト・タイプに基づくことによって分割され得る。データ・オブジェクトは、単一のオブジェクト・タイプのデータ・オブジェクトを各々保持する複数のパーティション記憶されることができる。特定の実施形態では、ソーシャルネットワーキング・システム160は、検索クエリの期待される結果と同じオブジェクト・タイプのオブジェクトを記憶する特定のパーティションに検索クエリを送出することによって、検索クエリに応じて検索結果を取り出すことができる。本開示では特定の方式によりオブジェクトを記憶することについて記載するが、本開示では任意の適切な方式によりオブジェクトを記憶することが想定される。
特定の実施形態では、各オブジェクトはソーシャルグラフ200の特定のノードに対応する。特定のノードと別のノードとを接続するエッジ206は、それらのノードに対応するオブジェクト同士の間の関係を示すことができる。オブジェクトを記憶することに加えて、特定のデータ・ストアは、そのオブジェクトに関係するソーシャルグラフ情報を記憶することもできる。これに代えて、特定のオブジェクトに関するソーシャルグラフ情報が、そのオブジェクトとは異なるデータ・ストアに記憶されてもよい。ソーシャルネットワーキング・システム160は、新たに受信されるオブジェクトと、この受信されるオブジェクトに関連付けられている関係とに基づき、データ・ストアの検索インデックスを更新してもよい。
特定の実施形態では、各データ・ストア164は、それぞれのデータ・ストレージ・デバイス340に複数のオブジェクト・タイプのうちの特定の1つのオブジェクトを記憶するように構成される。オブジェクト・タイプは、例えば、ユーザ、写真、投稿(ポスト)、コメント、メッセージ、イベント・リスト、ウェブページ、アプリケーション、ロケーション、ユーザプロフィール・ページ、コンセプト・プロフィール・ページ、ユーザ・グループ、オーディオ・ファイル、動画、オファー/クーポン、または別の適切なタイプの
オブジェクトであってよい。本開示では特定のタイプのオブジェクトについて記載するが、本開示では任意の適切なタイプのオブジェクトが想定される。限定ではなく一例として、図3に示されるユーザ・バーティカルP1はユーザ・オブジェクトを記憶してもよい。ユーザ・バーティカルP1に記憶されている各ユーザ・オブジェクトは、オンライン・ソーシャル・ネットワークのユーザの識別子(例えば、キャラクタ文字列)、ユーザ名、およびプロフィール写真を含んでもよい。また、ソーシャルネットワーキング・システム160は、ユーザ・オブジェクトに関連付けられている情報(言語、ロケーション、教育、連絡先情報、関心、関係状態、友達/連絡先のリスト、家族のリスト、プライバシー設定など)を、ユーザ・バーティカルP1に記憶してもよい。限定ではなく一例として、図3に示されるポスト・バーティカルP2はポスト・オブジェクトを記憶してもよい。ポスト・バーティカルP2に記憶されている各ポスト・オブジェクトは、識別子(ソーシャルネットワーキング・システム160に対してポストされるポストに対するテキスト文字列)を含んでもよい。また、ソーシャルネットワーキング・システム160は、ポスト・オブジェクトに関連付けられている情報(タイムスタンプ、著者、プライバシー設定、そのポストに好意(「いいね」)を示しているユーザ、「いいね」のカウント、コメント、コメントのカウント、ロケーションなど)を、ポスト・バーティカルP2に記憶してもよい。限定ではなく一例として、写真バーティカルP3は、写真オブジェクト(または動画またはオーディオなど他のメディアのタイプのオブジェクト)を記憶してもよい。写真バーティカルP3に記憶されている各写真オブジェクトは、識別子および写真を含んでもよい。また、ソーシャルネットワーキング・システム160は、写真オブジェクトに関連付けられている情報(タイムスタンプ、著者、プライバシー設定、その写真にタグ付けされているユーザ、その写真に好意を示しているユーザ、コメントなど)を、バーティカルP3に記憶してもよい。特定の実施形態では、各データ・ストアは、データ・ストレージ・デバイス340における記憶されている各オブジェクトに関連付けられている情報を記憶するように構成されてもよい。
特定の実施形態では、各バーティカル164に記憶されているオブジェクトは、1以上の検索インデックスによってインデックス化されてもよい。検索インデックスは、1以上のコンピューティング・デバイス(例えば、サーバ)を含む、それぞれのインデックス・サーバ330によってホストされてもよい。インデックス・サーバ330は、ソーシャルネットワーキング・システム160(またはサードパーティ・システム)のユーザまたは他の処理によってソーシャルネットワーキング・システム160に対し送出されたデータ(例えば、写真および写真に関連付けられている情報)に基づき、検索インデックスを更新してもよい。また、インデックス・サーバ330は、周期的に(例えば、24時間毎に)検索インデックスを更新してもよい。インデックス・サーバ330は、検索語を含むクエリを受信し、その検索語に対応する1以上の検索インデックスから検索結果にアクセスし取り出すことができる。幾つかの実施形態では、特定のオブジェクト・タイプに対応するバーティカルは、それぞれの検索インデックスを各々含む複数の物理的または論理的パーティションを含む。
特定の実施形態では、ソーシャルネットワーキング・システム160は、PHP(ハイパーテキスト・プリプロセッサ)処理310から検索クエリを受信してもよい。PHP処理310は、ソーシャルネットワーキング・システム160の1以上のサーバ162によってホストされる1以上のコンピューティング処理を含んでよい。検索クエリは、PHP処理に対しユーザまたはソーシャルネットワーキング・システム160(またはサードパーティ・システム170)の別の処理によって送出されるテキスト文字列または検索クエリであってよい。
インデックスおよび検索クエリに関するさらなる情報は、米国特許出願第13/560212号(2012年7月27日出願)、米国特許出願第13/560901号(201
2年7月27日出願)、および米国特許出願第13/723861号(2012年12月21日)に見出される。それらの文献の各々を引用によって本明細書に援用する。
先行入力(タイプアヘッド)プロセス
特定の実施形態においては、1または複数のクライアント側および/またはバックエンド(サーバ側)プロセスが、ソーシャルグラフ要素(たとえば、ユーザ・ノード202、コンセプト・ノード204、またはエッジ206)を、ソーシャルネットワーキング・システム160によってホストされること、またはソーシャルネットワーキング・システム160においてアクセスできる要求されているウェブページ(たとえば、オンライン・ソーシャル・ネットワークのユーザプロフィール・ページ、コンセプト・プロフィール・ページ、検索結果ウェブページ、または別の適切なページなど)とともにレンダリングされた入力フォーム内にユーザによって現在入力されている情報にマッチさせることを自動的に試みる「タイプアヘッド」機能を実装および利用する。特定の実施形態においては、ユーザが言明を行うためにテキストを入力している際に、タイプアヘッド機能は、その言明(declaration)において入力されているテキスト文字の文字列を、ソーシャルグラフ200内のユーザ、コンセプト、またはエッジ、およびそれらの対応する要素に対応する文字の文字列(たとえば、名前、記述)にマッチさせることを試みる。特定の実施形態においては、マッチが見つかった場合には、タイプアヘッド機能は、既存のソーシャルグラフ要素のソーシャルグラフ要素への参照(たとえば、ノードの名前/タイプ、ノードID、エッジの名前/タイプ、エッジID、または別の適切な参照もしくは識別子など)をフォームに自動入力(automatically populate)する。
特定の実施形態においては、ユーザが、そのユーザのプロフィール・ページ、ホーム・ページ、またはその他のページのさまざまなセクションにおいてコンテンツを付加するまたは言明を行うために使用されるフォーム内にテキストをタイプまたはその他の形で入力する際に、タイプアヘッド・プロセスは、ソーシャルネットワーキング・システム160において(またはその中で)(たとえば、サーバ162内で)実行される1または複数のフロントエンド(クライアント側)および/またはバックエンド(サーバ側)タイプアヘッド・プロセス(以降では、単に「タイプアヘッド・プロセス」と呼ばれる)と連携して機能して、そのユーザがテキストの文字を入力する際にそのユーザによって入力されたそれらのテキストの文字に対する最も関連があるまたはベスト・マッチであると決定された、既存のソーシャルグラフ要素の名前に対応する1もしくは複数の用語、または既存のソーシャルグラフ要素に関連付けられている用語をフォームに自動入力することを対話式におよび(ユーザにとってそう見えるように)ほぼ瞬時に試みる。ノードおよびエッジに関連付けられている情報を含めて、ソーシャル・グラフ・データベース内のソーシャルグラフ情報、またはソーシャル・グラフ・データベースからの抽出およびインデックス付けされた情報を利用して、タイプアヘッド・プロセスは、ソーシャル・グラフ・データベースからの情報と連携して、ならびに潜在的には、ソーシャルネットワーキング・システム160内において配置または実行されているその他のさまざまなプロセス、アプリケーション、またはデータベースと連携して、ユーザの意図されている言明を高い精度で予測できる。しかしながら、ソーシャルネットワーキング・システム160は、ユーザに、自分が望む基本的に任意の言明を入力するための自由を提供して、ユーザが自分自身を自由に表現することを可能にすることもできる。
特定の実施形態においては、ユーザがテキスト文字をフォーム・ボックスまたはその他のフィールド内に入力する際に、タイプアヘッド・プロセスは、ユーザが文字を入力している際にユーザの言明において入力された文字の文字列にマッチする既存のソーシャルグラフ要素(たとえば、ユーザ・ノード202、コンセプト・ノード204、またはエッジ206)を識別することを試みる。特定の実施形態においては、ユーザが文字をフォーム・ボックス内に入力する際に、タイプアヘッド・プロセスは、入力されたテキスト文字の
文字列を読み取る。それぞれのキーストロークが行われた際に、フロントエンド・タイプ・アヘッド・プロセスは、入力された文字の文字列を、要求(または呼び出し)として、ソーシャルネットワーキング・システム160内で実行されるバックエンド・タイプ・アヘッド・プロセスに送信する。特定の実施形態においては、タイプアヘッド・プロセスは、AJAX(Asynchronous JavaScript(登録商標)and XML)またはその他の適切な技術、特に非同期技術を通じて通信を行う。特定の実施形態においては、要求は、結果を迅速かつ動的に送信およびフェッチすることを可能にするXMLHTTPRequest(XHR)であること、またはXHRを含む。特定の実施形態においては、タイプアヘッド・プロセスは、要求の前に、要求の後に、または要求とともに、ユーザが言明を行っている特定のページの特定のセクションを識別するセクション識別子(セクションID)を送信することもできる。特定の実施形態においては、ユーザIDパラメータが送信されることも可能であるが、これは、いくつかの実施形態においては不要である。なぜなら、ユーザは、そのユーザがソーシャルネットワーキング・システム160にログインしていること(またはソーシャルネットワーキング・システム160によってその他の形で認証されていること)に基づいて既に「知られている」場合があるためである。
特定の実施形態においては、タイプアヘッド・プロセスは、マッチしているソーシャルグラフ要素を識別することを試みるために1または複数のマッチング・アルゴリズムを使用する。特定の実施形態においては、1または複数のマッチが見つかった場合には、タイプアヘッド・プロセスは、たとえば、マッチしているソーシャルグラフ要素の名前(名前文字列)または記述、ならびに場合によっては、マッチしているソーシャルグラフ要素に関連付けられているその他のメタデータを含む(AJAXまたはその他の適切な技術を利用する)応答をユーザのクライアント・システム130へ送信する。限定ではなく一例として、ユーザが、「pok」という文字をクエリ・フィールド内に入力している場合には、タイプアヘッド・プロセスは、ドロップダウン・メニュー(「poker(ポーカー)」または「pokemon(ポケモン)」という名前の、または「poker(ポーカー)」または「pokemon(ポケモン)」専用のプロフィール・ページなど、マッチしている既存のプロフィール・ページおよびそれぞれのユーザ・ノード202またはコンセプト・ノード204の名前を表示する)を表示し、これをユーザが次いでクリックまたはその他によって選択し、それによって、選択されたノードに対応するマッチしたユーザまたはコンセプトの名前を言明したいという要望を確定させることができる。限定ではなく、別の例として、「poker(ポーカー)」をクリックすると、タイプアヘッド・プロセスは、「poker(ポーカー)」という言明をクエリ・フィールドに自動入力することができ、またはその自動入力をウェブ・ブラウザ132に行わせる。特定の実施形態においては、タイプアヘッド・プロセスは、ドロップダウン・メニューを表示するのではなく、単に上位にランク付けされたマッチの名前またはその他の識別子をフィールドに自動入力する。ユーザは、次いで、単に自分のキーボード上の「enter(入力)」キーを押すことによって、またはその自動入力された言明をクリックすることによって、その自動入力された言明を確定させることができる。
タイプアヘッド・プロセスに関するさらなる情報は、2010年4月19日に出願された米国特許出願第12/763162号、および2012年7月23日に出願された米国特許出願第13/556072号に見出される。それらの文献の各々を引用によって本明細書に援用する。
タイプアヘッド検索クエリによる可変インデックス化
図4は、オンライン・ソーシャル・ネットワークの例示的なウェブページを示している。特定の実施形態においては、ユーザは、テキストをクエリ・フィールド450内に入力することによって、クエリをソーシャルネットワーク・システム160に送出する。オン
ライン・ソーシャル・ネットワークのユーザは、そのオンライン・ソーシャル・ネットワークに関連付けられている特定のコンテンツ・オブジェクトまたは(以下「オブジェクト」)またはコンテンツ・オブジェクト・タイプ(以下「オブジェクト・タイプ」)(例えば、ユーザ、コンセプト、ウェブページ、外部コンテンツ、またはリソース)について、そのオブジェクトまたはオブジェクト・タイプを記述する短いフレーズ(しばしば「検索クエリ」と呼ばれる)を検索エンジンに提供することによって、検索する。そのクエリは、テキスト・クエリであることが可能であり、1または複数のキャラクタ文字列(1または複数のnグラムが含まれる)を含む。一般に、ユーザは、キャラクタ文字列に実質的にマッチするソーシャルネットワーキング・システム160上のオブジェクトを検索するために、1以上のキャラクタを含む任意のキャラクタ文字列をクエリ・フィールド450内に入力する。ソーシャルネットワーキング・システム160は、次いで、そのクエリにマッチするオブジェクトを識別するために、1以上のバーティカル164を検索することができる。検索エンジンは、さまざまな検索アルゴリズムを用いてクエリに基づく検索を行い、その検索クエリに関連している可能性が最も高いオブジェクト(例えば、ユーザプロフィール・ページ、コンテンツプロフィール・ページ、または外部リソース)を識別する検索結果を生成することができる。検索を行うために、ユーザは検索クエリを検索エンジンに入力または送信する。それに応答して、検索エンジンは、その検索クエリに関連している可能性が高い1以上のリソースを識別することができる(それらのリソースの各々が、その検索クエリに対応する「検索結果」として個別に呼ばれる場合もあり、複数の「検索結果」として集合的に呼ばれる場合もある。識別されたオブジェクトは、例えば、ソーシャルグラフ要素(すなわち、ユーザ・ノード202、コンセプト・ノード204、エッジ206)、プロフィール・ページ、外部ウェブページ、またはそれらの任意の組合せを含むことができる。ソーシャルネットワーキング・システム160は、次いで、識別されたオブジェクトに対応する検索結果により検索結果ウェブページを生成し、その検索結果ウェブページをユーザに送信する。特定の実施形態では、検索エンジンは、その検索を、そのオンライン・ソーシャル・ネットワークに関連付けられているオブジェクトに限定する。しかしながら、特定の実施形態では、検索エンジンは、他のソース(サードパーティ・システム170、インターネット、またはワールド・ワイド・ウェブ、または他の適切なソース)に関連付けられているオブジェクトも検索できる。本開示では、特定の方式によりソーシャルネットワーキング・システム160にクエリを行うことについて記載しているが、本開示では、任意の適切な方式によりソーシャルネットワーキング・システム160にクエリを行うことが想定される。
特定の実施形態では、本明細書において記載されているタイプアヘッド・プロセスは、ユーザによって入力された検索クエリに適用される。限定ではなく一例として、ユーザがテキスト・キャラクタをクエリ・フィールド450内に入力する際、タイプアヘッド・プロセスは、そのユーザが文字を入力している際にクエリ・フィールド450内に入力された文字の文字列にマッチする1以上のユーザ・ノード202、コンセプト・ノード204、またはエッジ206を識別することを試みる。タイプアヘッド・プロセスは、テキスト・クエリからの文字列またはnグラムを含む要求または呼出(call)を受け取った際、入力されたテキストにマッチしているそれぞれの名前、タイプ、カテゴリ、またはその他の識別子を有する既存のソーシャルグラフ要素(すなわち、ユーザ・ノード202、コンセプト・ノード204、エッジ206)を識別するための検索を実行するか、またはそうした検索が実行されるようにすることができる。タイプアヘッド・プロセスは、マッチしているノードまたはエッジを識別することを試みるために1以上のマッチング・アルゴリズムを使用する。1以上のマッチが見つかった場合、タイプアヘッド・プロセスは、たとえば、マッチしているノードの名前(名前文字列)、および場合によっては、マッチしているノードに関連付けられているその他のメタデータを含む応答をユーザのクライアント・システム130へ送信する。タイプアヘッド・プロセスは、次いで、ドロップダウン・メニュー400(それぞれのユーザ・ノード202またはコンセプト・ノード204に
ついてのマッチしているプロフィール・ページに対する参照(例えば、そのページに関連付けられている名前または写真)を表示し、そのマッチしているユーザ・ノード202またはコンセプト・ノード204につながるマッチしているエッジ206の名前を表示する)を表示し、これをユーザが次いでクリックその他によって選択し、それによって、選択されたノードに対応するマッチしたユーザまたはコンセプトの名前を検索したい、またはマッチしているエッジによって、マッチしたユーザまたはコンセプトにつながっているユーザまたはコンセプトを検索したいという要望を確定させることができる。これに代えて、タイプアヘッド・プロセスは、ドロップダウン・メニュー400を表示するのではなく、単に上位にランク付けされたマッチの名前またはその他の識別子をフォームに自動入力する。ユーザは、次いで、単にキーボード上の「enter(入力)」キーを押すことによって、またはその自動入力された言明をクリックすることによって、その自動入力された言明を確定させる。マッチしているノードおよび/またはエッジをユーザが確定させると、タイプアヘッド・プロセスは、マッチしているソーシャルグラフ要素を含むクエリをユーザが確定させたことをソーシャルネットワーキング・システム160に通知する要求を送信する。送信された要求に応答して、ソーシャルネットワーキング・システム160は、マッチしているソーシャルグラフ要素について、または必要に応じて、マッチしているソーシャルグラフ要素につながっているソーシャルグラフ要素について、ソーシャル・グラフ・データベースを自動的に(またはこれに代えて、要求における命令に基づいて)呼出またはその他によって検索する。本開示では、特定の方式によりタイプアヘッド・プロセスを検索クエリに適用することについて記載しているが、本開示では、任意の適切な方式によるタイプアヘッド・プロセスを検索クエリに適用することが想定される。
検索クエリおよび検索結果に関連して、特定の実施形態では、2006年8月11日に出願された米国特許出願第11/503093号、2010年12月22日に出願された米国特許出願第12/977027号、2010年12月23日に出願された米国特許出願第12/978265号、および2012年12月31日に出願された米国特許出願第13/732101号において開示されている1または複数のシステム、構成要素、要素、機能、方法、動作、または工程を利用することができる。それらの文献の各々を引用によって本明細書に援用する。
図5A〜図5Bは、オンライン・ソーシャル・ネットワークのクエリ例を示す。特定の実施形態では、第1のユーザ(すなわち、クエリを行うユーザ)から受信される検索クエリ入力に応じて、ソーシャルネットワーキング・システム160は、その検索クエリ入力にマッチするオブジェクトについて検索するために1以上のバーティカル164にアクセスする。検索クエリ入力は、クエリを行うユーザによって例えばクエリ・フィールド450に入力される、1以上のキャラクからなるキャラクタ文字列を含んでもよい。検索クエリ入力に応じてアクセスされるバーティカル164の個数は、キャラクタ文字列の長さ(すなわち、検索クエリ長)によって異なってもよい。非常に短いキャラクタ文字列(例えば、数キャラクタ)については、キャラクタ文字列は多数のオブジェクトとマッチする場合がある。結果として、非常に短いキャラクタ文字列を処理することは、高負荷の(intensive)処理であり得る。クエリ処理の効率を向上させるために、限られた個数のバーティカル164(またさらには特定のバーティカル164の一部)のみが、短いキャラクタ文字列に対するマッチについて検索されてもよい。しかしながら、クエリを行うユーザが追加のキャラクタを入力するにつれ、追加のバーティカル164が検索されてもよい。検索クエリ入力のキャラクタ文字列の長さが増大するにつれ、そのキャラクタ文字列とマッチするオブジェクトはより少なくなるので、より長いキャラクタ文字列に対するマッチについて、より多くのバーティカル164を検索することがより効率的となり得る。キャラクタ文字列がより長くなり、クエリがより複雑になるにつれ、より多くのバーティカル164が検索されてもよい。限定ではなく一例として、図5Aに示されるように2つのキャラクタのみが入力されている場合、入力されたキャラクタにマッチするユーザを
識別するためにユーザ・バーティカル164のみが検索される。より多くのキャラクタがキャラクタ文字列に追加されるにつれ、追加のバーティカル164(例えば、写真バーティカル164、ポスト・バーティカル164、ページ・バーティカル164など)が検索されてよい。限定ではなく一例として、図5Bに示されるようにクエリを行うユーザが4つのキャラクタを入力すると、それらの入力されたキャラクタにマッチする識別されるコンセプトに対し、ページ・バーティカル164も検索されてよい。識別されたオブジェクトに基づき、ソーシャルネットワーキング・システム160は、次いで、その識別されたオブジェクトのうちの1以上に対する参照を、例えば、クエリ・フィールド450に関連付けられているドロップダウン・メニュー400による表示用に、ユーザに送信することができる。上述のタイプアヘッド・プロセスに関連して、ユーザがクエリ・フィールド450にキャラクタを入力するにつれ、この参照がタイプアヘッド・サジェスト(例えば、クライアントサイドのタイプアヘッド処理を介する)としてユーザに対し表示されてもよい。クエリを行うユーザは、次いで、サジェストにおいて参照されるオブジェクトがソーシャルネットワーキング・システム160によって取り出されるべきであることを示すように、タイプアヘッド・サジェストから選択してもよい。換言すれば、クエリを行うユーザがクエリ・フィールド450により多くのキャラクタを入力するにつれ、追加のバーティカル164が検索されるので、ドロップダウン・メニュー400においてタイプアヘッド・サジェストとして表示される結果の多様性が増大する。図5A〜図5Bは、クエリ・フィールド450における様々な検索クエリ入力例と、ドロップダウン・メニュー400において応答して生成される、検索クエリ入力にマッチする識別されたオブジェクトに対する様々な参照とを示す(しかしながら、他の適切なグラフィカル・ユーザ・インタフェースが可能である)。本明細書に記載のように変更可能な個数のバーティカルにアクセスすることによって、多数のオブジェクトとマッチし得る比較的短い検索クエリに応じる検索であるバーティカルの個数を制限することにより、またクエリがより洗練されるにつれバーティカル検索の数およびタイプを拡張することにより、クエリ処理の効率を向上することができる。バーティカル164を特定の方式により検索することについて本開示では記載し図5A〜図5Bに示すが、本開示では任意の適切な方式によりバーティカル164を検索することについて想定される。
特定の実施形態では、ソーシャルネットワーキング・システム160は、クエリを行う/第1のユーザ(第1のユーザ・ノード202に対応)から検索クエリ入力を受信する。検索クエリ入力は、例えば、ユーザにオンライン・ソーシャル・ネットワークのウェブページ上のクエリ・フィールド450にキャラクタ文字列を入力させることによってなど、任意の適切な方式により受信されてよい。検索クエリ入力は、第1の個数のキャラクタを有するキャラクタ文字列を含んでもよい。限定ではなく一例として、ユーザが、「ケイティ・カイザー(Catie Kaiser)」という名前のユーザ(クエリを行うユーザの2次のつながりである)を検索することを望む場合がある。クエリを行うユーザは、図5Aに示されるように、ユーザの姓「ka」からキャラクタを入力することによって開始する。これに応じて、ソーシャルネットワーキング・システム160は、キャラクタ文字列「ka」にマッチする1以上のユーザ・ノード202(ユーザプロフィール・ページに対応する)を識別するために、ユーザ・バーティカル164を検索する。しかしながら、キャラクタ文字列が2つのキャラクタのみからなるので、ソーシャルネットワーキング・システム160は、クエリを行うユーザの1次のつながりであるユーザのあいだで検索するのみであり、またしたがって、所望される2次のつながり「Catie Kaiser」は2つのキャラクタのみを入力することによっては識別されない。これによって、検索クエリの範囲を拡張するために追加のキャラクタを入力し、クエリを洗練することが、クエリを行うユーザに対して効果的に強いられる。したがって、図5Bに示すように、クエリを行うユーザは、検索クエリ入力がキャラクタ文字列「kais」を含むように、追加のキャラクタを入力する。クエリを行うユーザがクエリ・フィールド450に各キャラクタを入力するにつれ、ソーシャルネットワーキング・システム160は、ドロップダウン
・メニュー400に示されるように、そのキャラクタ文字列にマッチするように識別されるソーシャルグラフ・エンティティを参照する様々なタイプアヘッド・サジェストを提供することができる。より長いキャラクタ文字列「kais」では、ソーシャルネットワーキング・システム160は、2次のつながりおよびページを含むようにその検索を拡張し、したがって、ユーザ「Catie Kaiser」はマッチするオブジェクトとして識別される。図5Bは、ユーザ「Catie Kaiser」に対する参照がクエリ「kais」に応じて表示されているドロップダウン・メニュー400を示す。本開示では特定の方式により特定のクエリを受信することについて記載するが、本開示では任意の適切な方式による任意の適切なクエリを受信することについて想定される。
特定の実施形態では、ソーシャルネットワーキング・システム160は、第1のユーザ(すなわち、クエリを行うユーザ)から受け取られる検索クエリを解析して、1または複数のnグラムを識別する。一般に、nグラムとは、テキストまたは話語(speech)の所与のシーケンスからのn個のアイテムの連続したシーケンスである。それらのアイテムは、テキストまたは話語のシーケンスからの文字(キャラクタ)、音素、音節、字、言葉、語基ペア、接頭辞、または他の識別可能なアイテムである。nグラムは、クエリを行うユーザによって入力されるテキストの1または複数のキャラクタ(字、数字、句読点など)を含む。サイズ1のnグラムは「ユニグラム」と呼ばれることがあり、サイズ2のnグラムは「バイグラム」または「ダイグラム」と呼ばれることがあり、サイズ3のnグラムは「トライグラム」と呼ばれることがある、といった具合である。各nグラムは、クエリを行っているユーザから受け取られる検索クエリからの1以上の部分を含む。特定の実施形態では、それぞれのnグラムは、第1のユーザによって入力されるキャラクタ文字列(たとえば、テキストの1以上のキャラクタ)を含む。
限定ではなく一例として、ソーシャルネットワーキング・システム160は、「レシピについてのすべて(all about recipes)」という検索クエリを解析して、「すべて(all)」、「について(about)」、「レシピ(recipes)」、「についてのすべて(all about)」、「レシピについて(about recipes)」、「レシピについてのすべて(all about recipes)」というnグラムを識別する。特定の実施形態では、各nグラムは、検索クエリからのn個のアイテムの連続したシーケンスを含む。本開示では、特定の方式により特定のクエリを解析することについて記述しているが、本開示では、任意の適切な方式により任意の適切なクエリを解析することが想定される。 要素検出および検索クエリの解析に関連して、特定の実施形態では、2012年7月23日に出願された米国特許出願第13/556072号および2012年12月31日に出願された米国特許出願第13/732101号において開示されている1以上のシステム、構成要素、要素、機能、方法、動作、または工程を利用することができる。それらの文献の各々を引用によって本明細書に援用する。
特定の実施形態では、ソーシャルネットワーキング・システム160は、ユーザから受信される検索クエリに応じて、1以上のバーティカル164にアクセスする。各バーティカル164は、オンライン・ソーシャル・ネットワークに関連付けられている1以上のオブジェクトを記憶することができる。検索クエリに応じてアクセスされるバーティカル164の個数は、検索クエリの長さに基づいてもよい。検索クエリ長(すなわち、検索クエリ入力を含むキャラクタ文字列におけるキャラクタの個数)が増大するにつれ、追加のバーティカル164がアクセスされてもよい。アクセスされるバーティカル164の各追加のセットは、より多くのキャラクタがキャラクタ文字列に追加されるにつれ、より多くのオブジェクト・タイプが検索されるように、異なるオブジェクト・タイプのものであってもよい。特定の実施形態では、検索クエリ長がしきい値数以下である場合、ソーシャルネットワーキング・システム160は1以上の第1のバーティカルにアクセスし、検索クエリ長がしきい値数より大きい場合、ソーシャルネットワーキング・システム160は、第1のバーティカルと1以上の第2のバーティカルとにアクセスする。このしきい値数は、
例えば、1つ、2つ、3つ、4つ、または5つのキャラクタなど、任意の適切な個数のキャラクタであってよい。第1のバーティカルおよび第2のバーティカルは、同じオブジェクト・タイプのオブジェクトを記憶してもよく、様々なオブジェクト・タイプのオブジェクトを記憶してもよい。限定ではなく一例として、検索クエリ長がしきい値数未満である場合、ソーシャルネットワーキング・システム160は、クエリを行うユーザの1次の友達(検索クエリ入力のキャラクタ文字列と実質的にマッチする)のみを識別するようにユーザ・バーティカル164を検索する。換言すれば、ソーシャルネットワーキング・システム160は、クエリを行うユーザのユーザ・ノード202の1次の隔たり以内に1以上のユーザ・ノード202を識別し得る。しかしながら、検索クエリ長がしきい値数より大きい場合、ソーシャルネットワーキング・システム160は、クエリを行うユーザの1次または2次の友達(検索クエリ入力のキャラクタ文字列と実質的にマッチする)を識別するようにユーザ・バーティカル164を検索する。換言すれば、ソーシャルネットワーキング・システム160は、クエリを行うユーザのユーザ・ノード202の2次の隔たり以内に1以上のユーザ・ノード202を識別し得る。特定の実施形態では、検索クエリ長が第1のしきい値数および第2のしきい値数の両方より大きい場合、ソーシャルネットワーキング・システム160は、第1のバーティカルと、第2のバーティカルと、1以上の第3のバーティカルとにアクセスする。第2のしきい値数は第1のしきい値数よりも長さが1キャラクタ以上大きい必要がある。換言すれば、特定のバーティカル164に対するアクセスの限界を定める複数のしきい値数が存在し得る。後続のしきい値が越えられるとき、ソーシャルネットワーキング・システム160が1以上の追加のバーティカル164にアクセスしてもよい。検索クエリ長に対して任意の適切なしきい値数が指定されてよい。限定ではなく一例として、ソーシャルネットワーキング・システム160は、次の方式によりウェブ・ブラウザまたはソーシャルネットワーキング・システム160の1以上のバーティカル164に関連付けられているキャッシュにアクセスしてもよい。
この例では、第1、第2、第3、第4、第5のしきい値数は、それぞれ1,2,3,5,7個のキャラクタにて指定される。検索クエリ長が各しきい値を越えるとき、検索の範囲が拡張される。換言すれば、検索クエリ長が2,3,4,6,8個のキャラクタまで増大すると、追加のバーティカル164(またはバーティカル164の部分)が検索の範囲に追加される。本開示では特定の方式により特定のバーティカル164にアクセスすること
について記載するが、本開示では任意の適切な方式により任意の適切なバーティカル164にアクセスすることについて想定される。
特定の実施形態では、ソーシャルネットワーキング・システム160は、クエリを行うユーザに関連付けられているクライアント・システム130のウェブ・ブラウザ132に関連付けられているキャッシュにアクセスする。このキャッシュは、オンライン・ソーシャル・ネットワークに関連付けられている1以上のキャッシュ済みオブジェクトに関する情報を記憶することができる。検索クエリ長がしきい値数未満である場合、ソーシャルネットワーキング・システム160は、マッチするオブジェクトについて検索するためにキャッシュにアクセスしてよい(例えば、クライアントサイドの検索処理を介して)。オンライン・ソーシャル・ネットワークに関連付けられている任意の適切なオブジェクト(またはオブジェクトの部分)は、クエリを行うユーザのクライアント・システム130上にキャッシュされてもよい。キャッシュ済みオブジェクト(またはそうしたオブジェクトに関する情報)は、例えば、クエリを行うユーザに対して高いソーシャルグラフ親和性を有するノードに関連付けられているページ(例えば、親しい友達または家族のユーザプロフィール・ページ)、クエリを行うユーザの友達、頻繁にアクセスされるページ、最近アクセスされたページ、他の適切なオブジェクト、またはそれらの任意の組合せを含んでもよい。限定ではなく一例として、上述のテーブルにより記載されるように、検索クエリ長が1キャラクタ以下である場合、ソーシャルネットワーキング・システム160は、検索クエリ入力のキャラクタ文字列と実質的にマッチするオブジェクトを識別するためにクエリを行うユーザのウェブ・ブラウザ132に関連付けられているキャッシュにアクセスすることができる。この例では、キャッシュは、クエリを行うユーザの親しい友達および家族に関連付けられている情報のみを記憶してもよい。しかしながら、検索クエリ長がこのしきい値を越えて増大すると、ソーシャルネットワーキング・システム160は、キャッシュの代りに(または場合によっては、キャッシュに加えて)1以上のバーティカル164を検索してよい。特定の実施形態では、ソーシャルネットワーキング・システム160は、検索クエリ入力のキャラクタ文字列に実質的にマッチする1以上のキャッシュ済みオブジェクトを識別するためにキャッシュを検索する。キャッシュ済みオブジェクトは、上述のように、バーティカル164に記憶されているオブジェクトに対するのと同様に検索および識別されることができる。特定の実施形態では、ソーシャルネットワーキング・システム160は、クエリを行うユーザに対し、識別されたキャッシュ済みオブジェクトのうちの1以上にそれぞれ対応する1以上の参照を送る。識別されたオブジェクトがクエリを行うユーザのクライアント・システム130のキャッシュに記憶される場合、ソーシャルネットワーキング・システム160は、キャッシュからキャッシュ済みオブジェクトを取り出すようにウェブ・ブラウザ132に単に命令してもよい。これに代えて、識別されたキャッシュ済みオブジェクトは、ソーシャルネットワーキング・システム160から取り出されてもよい。本開示では特定の方式により特定のキャッシュ済みオブジェクトにアクセスすることについて記載するが、本開示では任意の適切な方式により任意の適切なキャッシュ済みオブジェクトにアクセスすることが想定される。
特定の実施形態では、ソーシャルネットワーキング・システム160は、検索クエリ入力のキャラクタ文字列に実質的にマッチする1以上のオブジェクトを識別するために、各アクセスされるバーティカル164を検索する。ソーシャルネットワーキング・システム160は、例えば、1以上のストリング・マッチング・アルゴリズムを用いて1以上のオブジェクトに各々に関連付けられているキャラクタからなる文字列にキャラクタ文字列をマッチさせることによってなど、任意の適切な方式により、マッチするオブジェクトを識別してもよい。限定ではなく一例として、図5Bに示すように、検索クエリ入力「kais」に応じて、ソーシャルネットワーキング・システム160は、1以上のユーザ・バーティカル164および1以上のページ・バーティカル164にアクセスし、それらのバーティカルに記憶されているオブジェクト(例えば、ユーザプロフィール・ページまたはコ
ンセプト・プロフィール・ページ)を識別するために、アクセスされるバーティカルを検索してもよい。ソーシャルネットワーキング・システム160は、各アクセスされるバーティカルに次のクエリ・コマンドを送出することができる。
ソーシャルネットワーキング・システム160は、各バーティカル164のインデックス・サーバ330にアクセスし、インデックス・サーバ330にクエリ・コマンドにマッチする結果を返させてよい。限定ではなく一例として、ソーシャルネットワーキング・システム160は、ユーザ・バーティカル164のインデックス・サーバ330にアクセスし、インデックス・サーバ330にユーザ<Kaisen L>,<Nathen Kaiser>,<Catie Kaiser>,<Alex Kaiser>(ユーザ識別子によって各々表される)を識別させる。すなわち、ユーザ<Kaisen L>,<Nathen Kaiser>,<Catie Kaiser>,<Alex Kaiser>は、「kais」にマッチする名前を有する。さらにまた、それらの識別されたユーザの各々は、クエリを行うユーザの友達の友達であるユーザに対応するオブジェクトを要求するクエリ制約(friends_of: (friends_of: <me>))とマッチする。また、ソーシャルネットワーキング・システム160は、ページ・バーティカル164のインデックス・サーバ330にもアクセスし、インデックス・サーバ330にバンド<Kaiser Chiefs>についてのページを識別させることができる。すなわち、バンド<Kaiser Chiefs>は、「kais」とマッチする名前を有する。さらにまた、識別ページは、ページに対応するオブジェクトを要求するクエリ制約(pages: <>)にマッチする。より多くのキャラクタがキャラクタ文字列に追加されるにつれ、上述のクエリ・コマンドは、追加のバーティカル164(または同じバーティカル164の追加の部分)からのオブジェクトを要求する追加のクエリ制約を含むように修正されることができる。特定の実施形態では、ソーシャルネットワーキング・システム160は、識別されたオブジェクトに対するOR演算を実行することによって、識別されたオブジェクトを集約する。本開示では特定の方式により特定のオブジェクトを識別することについて記載するが、本開示では任意の適切な方式により任意の適切なオブジェクトを識別することが想定される。特定の実施形態では、ソーシャルネットワーキング・システム160は、「弱い論理積(weak and)」(WAND)または「強い論理和(strong or)」演算子(SOR)を含むクエリ・コマンドを生成する。WANDおよびSOR演算子に関するさらなる情報は、引用によって援用される2012年7月27日出願の米国特許出願第13/560901号に見出される。
特定の実施形態では、マッチするオブジェクトを識別するためにバーティカル164を検索するとき、ソーシャルネットワーキング・システム160は、単に特定のバーティカル164においてしきい値数までのマッチするノードを識別し、得点を決定する。このしきい値数のマッチするオブジェクトは、次いで、ソーシャルネットワーキング・システム160によって得点決定され、ランクを決定されてよい。しきい値数は、検索品質を高めるように、または検索結果の処理を最適化するように選ばれてよい。限定ではなく一例として、ソーシャルネットワーキング・システム160は、単に、クエリ・コマンド要求ユーザに応じてユーザ・バーティカル164における上位N個のマッチするオブジェクト(すなわち、得点決定する個数)を識別することができる。この上位N個のオブジェクトは、ユーザ・バーティカル164に対応する検索インデックスにおけるオブジェクトの静的
なランキング(例えば、クエリを行うユーザに対するユーザの現在のソーシャルグラフ親和性に基づくランキング)によって決定されてもよい。特定の実施形態では、上位N個の識別されたオブジェクトは、検索クエリ自体に基づき再びランクを決定される。限定ではなく一例として、得点決定する個数が500である場合、上位500個のオブジェクトが識別されてよい。これらの500個のオブジェクトは、次いで、1以上の因子(例えば、検索クエリまたは他のクエリ制約、ソーシャルグラフ親和性、検索履歴などに対するマッチ)に基づきランクを決定されてよく、上位M個の結果は、次いで、クエリを行うユーザに対する表示用にタイプアヘッド・サジェストとして生成されもよい(例えば、図5Aおよび図5Bに示されるように、上位6個の結果はドロップダウン・メニュー400に表示されてよい)。特定の実施形態では、1回以上のランキング後の上位の結果は、最終回のランキング用にアグリゲータ320に送られ、そこではクエリを行うユーザに対する提示の前に、識別されたオブジェクトが再配列されたり、冗長な結果が除かれたり、または任意の他のタイプの結果処理が行われてよい。本開示では特定の個数のオブジェクトを識別することについて記載するが、本開示では任意の適切な個数のオブジェクトを識別することが想定される。本開示では特定の方式によりオブジェクトのランクを決定することについて記載するが、本開示では任意の適切な方式によりオブジェクトのランクを決定することが想定される。
特定の実施形態では、ソーシャルネットワーキング・システム160は、識別されたオブジェクトに対する1以上の参照を生成する。これらの参照は、クエリを行うユーザからの検索クエリ入力に応じてユーザに対し表示されるタイプアヘッド・サジェストとして生成されてよい。タイプアヘッド・サジェスト(例えば、識別されたノードまたはその対応するプロフィール・ページに対する参照)は、タイプアヘッド・サジェストを生成するために用いられる特定の探索アルゴリズムによって決定されるように、検索クエリ入力に対するその相対的な関連性の度合にしたがって得点決定(またはランク決定)され、ユーザに提示されてよい。また、タイプアヘッド・サジェストは、ユーザに対するその相対的な関連性の度合にしたがって得点決定され、ユーザに提示されてもよい。特定の実施形態では、タイプアヘッド・サジェストは、検索エンジンによって実装される特定の得点決定/ランク決定アルゴリズムによって得点決定またはランク決定される。限定ではなく一例として、検索クエリまたはユーザに対しより関連するタイプアヘッド・サジェストは、より関連しないリソースより高く得点決定されてよい。関連性が決定される方法は、ソーシャルネットワーキング・システム160によって識別される検索意図に基づいて修正されてもよい。特定の実施形態では、ソーシャルネットワーキング・システム160は、1以上のタイプアヘッド・サジェストのランクを決定することができる。タイプアヘッド・サジェストは、例えば、タイプアヘッド・サジェストについて決定されたスコアに基づき、ランクを決定されてよい。最も関連する結果(例えば、最高/最良の得点である)が最高のランクに決定されてよく、より低いランクを有する残りの結果は、最も関連しない結果が最低のランクに決定されるように、その得点/関連性に釣り合う。本開示では識別されたオブジェクトに対し特定の方式により特定の参照を生成することについて記載するが、本開示では識別されたオブジェクトに対し任意の適切な方式により任意の適切な参照を生成することが想定される。
特定の実施形態では、ソーシャルネットワーキング・システム160は、識別されたオブジェクトのうちの1以上に対する1以上の参照を、クエリを行うユーザへ送信する。ユーザがクエリ・フィールド450にキャラクタ文字列として検索クエリ入力を入力すると、上述のタイプアヘッド・プロセスは、識別されたオブジェクトに対する参照をタイプアヘッド・サジェストとして自動的に送信する。タイプアヘッド・サジェストは、例えば、ドロップダウン・メニュー400(クエリ・フィールド450に関連付けられ得る)に表示される、識別されたオブジェクトを含む異なるウェブページに各々関連付けられているリンクのリストの形態により、ユーザに対し送信されてよい。特定の実施形態では、タイ
プアヘッド・サジェストにおける各リンクは、参照されるコンテンツを含む対応するウェブページがどこに位置するかと、そのウェブページを取り出すためのメカニズムとを指定するユニフォーム・リソース・ロケータ(URL)を含む。ソーシャルネットワーキング・システム160は、次いで、タイプアヘッド・サジェストを、ユーザのクライアント・システム130上のウェブ・ブラウザ132に送信してよい。ユーザは、次いで、適切な場合、URLリンクをクリックするなど、ドロップダウン・メニュー400からオブジェクトを選択し、ソーシャルネットワーキング・システム160または外部システム(例えば、サードパーティ・システム170など)からのオブジェクトにアクセスしてよい。特定の実施形態では、各タイプアヘッド・サジェストは、プロフィール・ページへのリンクと、プロフィール・ページの説明もしくは概要(または、そのページに対応するノード)とを含む。タイプアヘッド・サジェストを生成するとき、ソーシャルネットワーキング・システム160は、各タイプアヘッド・サジェストに対し1以上のスニペットを生成してよい。ここで、スニペットは、タイプアヘッド・サジェストの対象についての文脈情報(すなわち、ソーシャルグラフ・エンティティ、プロフィール・ページ、または特定のタイプアヘッド・サジェストに対応する他のオブジェクトについての文脈情報)である。特定の実施形態では、ソーシャルネットワーキング・システム160は、単に特定の得点/ランク閾値の上の得点/ランクを有するタイプアヘッド・サジェストを送信する。限定ではなく一例として、ソーシャルネットワーキング・システム160は、特定の検索クエリ入力に応答して、単に上位10個のサジェストをクエリを行うユーザに送信して戻してよい。本開示では識別されたオブジェクトに対する特定の参照を特定の方式により送信することについて説明するが、本開示では識別されたオブジェクトに対する任意の適切な参照を任意の適切な方式により送信することが想定される。
図6は、クエリに応じてバーティカルを検索する一例の方法600を示す。この方法は、工程610にて開始してよく、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークの第1のユーザから第1の個数のキャラクタを有するキャラクタ文字列を含む検索クエリを受信してよい。工程620にて、ソーシャルネットワーキング・システム160は、1以上のバーティカル164にアクセスしてよい。各バーティカル164は、オンライン・ソーシャル・ネットワークに関連付けられている1以上のオブジェクトを記憶することができる。第1の個数が第1のしきい値数以下である場合、ソーシャルネットワーキング・システム160は、1以上の第1のバーティカル164にアクセスしてよい。しかしながら、第1の個数が第1のしきい値数より大きい場合、ソーシャルネットワーキング・システム160は、1以上の第1のバーティカル164と、1以上の第2のバーティカル164とにアクセスしてよい。工程630にて、ソーシャルネットワーキング・システム160は、キャラクタ文字列に実質的にマッチする、バーティカル164に関連付けられている1以上のオブジェクトを識別するために、各アクセスされるバーティカル164を検索してよい。工程640にて、ソーシャルネットワーキング・システム160は、第1のユーザに対し、識別されたオブジェクトのうちの1以上に対するそれぞれ1以上の参照を送ってよい。特定の実施形態では、適切な場合、図6の方法の1以上のステップを繰り返す。本開示では、図6の方法の特定のステップを特定の順番により発生するように記載し示しているが、本開示では、図6の方法の任意の適切なステップが任意の適切な順番により発生することが想定される。さらに、本開示では、図6の方法の特定のステップを実施する特定の構成要素、デバイス、またはシステムについて記載し示しているが、本開示では、図6の方法の任意の適切なステップを実施する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せが想定される。
システムおよび方法
図7は、例示的なコンピュータ・システム700を示している。特定の実施形態においては、1または複数のコンピュータ・システム700が、本明細書において記述されているまたは示されている1または複数の方法の1または複数の工程を実行する。特定の実施
形態においては、1または複数のコンピュータ・システム700が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、1または複数のコンピュータ・システム700上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている1もしくは複数の方法の1もしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、1または複数のコンピュータ・システム700の1または複数の部分を含む。本明細書においては、コンピュータ・システムへの言及は、適切な場合には、コンピューティング・デバイスを包含することができ、その逆もまた同様である。その上、コンピュータ・システムへの言及は、適切な場合には、1または複数のコンピュータ・システムを包含する。
本開示は、任意の適切な数のコンピュータ・システム700を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム700を想定している。限定ではなく、例として、コンピュータ・システム700は、組み込みコンピュータ・システム、システムオンチップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータオンモジュール(COM)もしくはシステムオンモジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの複数の組合せである。適切な場合には、コンピュータ・システム700は、1もしくは複数のコンピュータ・システム700を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンタにわたること、または、クラウド(1もしくは複数のネットワーク内の1もしくは複数のクラウド・コンポーネントを含む)内に常駐する。適切な場合には、1または複数のコンピュータ・システム700は、本明細書において記述されているまたは示されている1または複数の方法の1または複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行する。限定ではなく、例として、1または複数のコンピュータ・システム700は、本明細書において記述されているまたは示されている1または複数の方法の1または複数の工程をリアル・タイムで、またはバッチ・モードで実行する。1または複数のコンピュータ・システム700は、適切な場合には、本明細書において記述されているまたは示されている1または複数の方法の1または複数の工程を別々の時点で、または別々のロケーションで実行する。
特定の実施形態においては、コンピュータ・システム700は、プロセッサ702、メモリ704、ストレージ706、入力/出力(I/O)インタフェース708、通信インタフェース710、およびバス712を含む。本開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切な構成要素を任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
特定の実施形態においては、プロセッサ702は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ702は、内部レジスタ、内部キャッシュ、メモリ704、またはストレージ706から命令を取り出し(またはフェッチし)、それらの命令をデコードして実行し、次いで、1または複数の結果を内部レジスタ、内部キャッシュ、メモリ704、またはストレージ706に書き込む。特定の実施形態においては、プロセッサ702は、データ、命令、またはアドレスのための1または複数の内部キャッシュを含む。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ702を想定している。限定ではなく、例として、プロセッサ702は、1または複数の命令キャッシュ、1または複数のデータ・キャッシュ、および1または複数の
変換ルックアサイド・バッファ(TLB)を含む。命令キャッシュ内の命令は、メモリ704またはストレージ706内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ702によるそれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ702において実行される命令が機能する際に基づくメモリ704もしくはストレージ706内のデータのコピー、プロセッサ702において実行される後続の命令によるアクセスのための、もしくはメモリ704もしくはストレージ706への書き込みのためのプロセッサ702において実行された以前の命令の結果、またはその他の適切なデータである。データ・キャッシュは、プロセッサ702による読み取りオペレーションまたは書き込みオペレーションを高速化する。TLBは、プロセッサ702のための仮想アドレス変換を高速化する。特定の実施形態においては、プロセッサ702は、データ、命令、またはアドレスのための1または複数の内部レジスタを含む。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ702を想定している。適切な場合には、プロセッサ702は、1もしくは複数の演算ロジック・ユニット(ALU)を含むこと、マルチコア・プロセッサであること、または1もしくは複数のプロセッサ702を含む。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
特定の実施形態においては、メモリ704は、プロセッサ702が実行するための命令、またはプロセッサ702が機能する際に基づくデータを記憶するためのメイン・メモリを含む。限定ではなく、例として、コンピュータ・システム700は、命令をストレージ706または別のソース(たとえば、別のコンピュータ・システム700など)からメモリ704にロードする。次いでプロセッサ702は、命令をメモリ704から内部レジスタまたは内部キャッシュにロードする。命令を実行するために、プロセッサ702は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードする。命令の実行中または実行後に、プロセッサ702は、1または複数の結果(それらは、中間の結果または最終的な結果である場合がある)を内部レジスタまたは内部キャッシュに書き込む。次いでプロセッサ702は、それらの結果のうちの1または複数をメモリ704に書き込む。特定の実施形態においては、プロセッサ702は、(ストレージ706またはその他の場所ではなく)1もしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ704内の命令のみを実行し、(ストレージ706またはその他の場所ではなく)1もしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ704内のデータ上でのみ機能する。1または複数のメモリ・バス(それらはそれぞれ、アドレス・バスおよびデータ・バスを含む)は、プロセッサ702をメモリ704に結合する。バス712は、以降で記述されているような1または複数のメモリ・バスを含む。特定の実施形態においては、1または複数のメモリ管理ユニット(MMU)が、プロセッサ702とメモリ704との間に常駐し、プロセッサ702によって要求されるメモリ704へのアクセスを容易にする。特定の実施形態においては、メモリ704は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合には、揮発性メモリであることが可能であり、適切な場合には、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)である。その上、適切な場合には、このRAMは、シングルポートRAMまたはマルチポートRAMである。本開示は、任意の適切なRAMを想定している。メモリ704は、適切な場合には、1または複数のメモリ704を含む。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
特定の実施形態においては、ストレージ706は、データまたは命令のためのマス・ストレージを含む。限定ではなく、例として、ストレージ706は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらのうちの複数の組合せを含む。ストレージ706は、適切
な場合には、取り外し可能なまたは取り外し不能な(すなわち、固定された)メディアを含む。ストレージ706は、適切な場合には、コンピュータ・システム700の内部または外部に存在する。特定の実施形態においては、ストレージ706は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ706は、読み取り専用メモリ(ROM)を含む。適切な場合には、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書替え可能ROM(EAROM)、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せである。本開示は、任意の適切な物理的な形態を取るマス・ストレージ706を想定している。ストレージ706は、適切な場合には、プロセッサ702とストレージ706との間における通信を容易にする1または複数のストレージ・コントロール・ユニットを含む。適切な場合には、ストレージ706は、1または複数のストレージ706を含む。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
特定の実施形態においては、I/Oインタフェース708は、コンピュータ・システム700と1または複数のI/Oデバイスとの間における通信のための1または複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム700は、適切な場合には、これらのI/Oデバイスのうちの1または複数を含む。これらのI/Oデバイスのうちの1または複数は、人とコンピュータ・システム700との間における通信を可能にする。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なI/Oデバイス、またはこれらのうちの複数の組合せを含む。I/Oデバイスは、1または複数のセンサを含む。本開示は、任意の適切なI/Oデバイス、およびそれらのI/Oデバイスのための任意の適切なI/Oインタフェース708を想定している。適切な場合には、I/Oインタフェース708は、プロセッサ702がこれらのI/Oデバイスのうちの1または複数を駆動することを可能にする1または複数のデバイス・ドライバまたはソフトウェア・ドライバを含む。I/Oインタフェース708は、適切な場合には、1または複数のI/Oインタフェース708を含む。本開示は、特定のI/Oインタフェースについて記述し、示しているが、本開示は、任意の適切なI/Oインタフェースを想定している。
特定の実施形態においては、通信インタフェース710は、コンピュータ・システム700と、1もしくは複数のその他のコンピュータ・システム700または1もしくは複数のネットワークとの間における通信(たとえば、パケットベースの通信など)のための1または複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース710は、イーサネット(登録商標)もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インタフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなどの無線ネットワークと通信するための無線NIC(WNIC)もしくは無線アダプタを含む。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース710を想定している。限定ではなく、例として、コンピュータ・システム700は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1または複数の部分、またはこれらのうちの複数の組合せと通信する。これらのネットワークのうちの1または複数の1または複数の部分は、有線または無線である。例として、コンピュータ・システム700は、無線PAN(WPAN)(たとえば、ブルートゥースWPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラー電話ネットワーク(たとえば、グローバル・システム・フォー・モバイル・コ
ミュニケーションズ(GSM(登録商標))ネットワークなど)、またはその他の適切な無線ネットワーク、またはこれらのうちの複数の組合せと通信する。コンピュータ・システム700は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース710を含む。通信インタフェース710は、適切な場合には、1または複数の通信インタフェース710を含む。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信インタフェースを想定している。
特定の実施形態においては、バス712は、コンピュータ・システム700の構成要素同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス712は、アクセラレイティッド・グラフィックス・ポート(AGP)もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ(EISA)バス、フロントサイド・バス(FSB)、ハイパートランスポート(HT)インターコネクト、インダストリー・スタンダード・アーキテクチャ(ISA)バス、インフィニバンド・インターコネクト、ローピンカウント(LPC)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、ペリフェラル・コンポーネント・インターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアル・アドバンスト・テクノロジー・アタッチメント(SATA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル(VLB)バス、または別の適切なバス、またはこれらのうちの複数の組合せを含む。バス712は、適切な場合には、1または複数のバス712を含む。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
本明細書においては、1または複数の非一時的コンピュータ可読記憶媒体は、適切な場合には、1もしくは複数の半導体ベースのもしくはその他の集積回路(IC)(たとえば、フィールドプログラマブル・ゲート・アレイ(FPGA)もしくは特定用途向け集積回路(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的コンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含む。非一時的コンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せである。
雑題
本明細書においては、「または(もしくは)」は、包含的であり、排他的ではない(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AまたはB」は、「A、B、またはその両方」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。その上、「および(ならびに)」は、包括的および個別的の両方である(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AおよびB」は、「まとめて、または個別に、AおよびB」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。
本開示の範囲は、当業者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的
な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定の構成要素、要素、機能、オペレーション、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されている構成要素、要素、機能、オペレーション、または工程のうちの任意のものの任意の組合せまたは順列を含む。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行する、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムの構成要素への添付の特許請求の範囲における言及は、その装置、システム、構成要素、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、または構成要素が、そうするように適合されている、そうするようにアレンジされている、そうする、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、構成要素を包含する。

Claims (20)

  1. 1以上のコンピューティング・デバイスが、
    オンライン・ソーシャル・ネットワークの第1のユーザから、第1の個数のキャラクタを有するキャラクタ文字列を含む検索クエリ入力を受信する工程と、
    前記オンライン・ソーシャル・ネットワークに関連付けられている1以上のオブジェクトを各々記憶する1以上のバーティカルにアクセスする工程であって、
    前記第1の個数が第1のしきい値数以下である場合、1以上の第1のバーティカルにアクセスし、
    前記第1の個数が前記第1のしきい値数より大きい場合、前記1以上の第1のバーティカルと1以上の第2のバーティカルとにアクセスする、アクセス工程と、
    前記キャラクタ文字列に実質的にマッチするバーティカルに関連付けられている1以上のオブジェクトを識別するために、アクセスされた各バーティカルを検索する検索工程と、
    識別された前記オブジェクトのうちの1つ以上に対する1以上の参照を第1のユーザに送信する工程と、を行う方法。
  2. 前記アクセス工程は、前記第1の個数が第2のしきい値数より大きい場合、前記1以上の第1のバーティカルと、前記1以上の第2のバーティカルと、1以上の第3のバーティカルとにアクセスする工程であって、前記第2のしきい値数は前記第1のしきい値数より大きい、工程を含む、請求項1に記載の方法。
  3. 前記第1のしきい値数は、1、2、3、4、または5個のキャラクタであり、前記第2のしきい値数は、前記第1のしきい値数より1キャラクタ以上大きい、請求項2に記載の方法。
  4. 前記第1の個数が第2のしきい値数未満である場合、クライアント・システムのウェブ・ブラウザに関連付けられているキャッシュにアクセスする工程であって、前記キャッシュは、前記オンライン・ソーシャル・ネットワークに関連付けられている1以上のキャッシュ済みオブジェクトに関する情報を記憶している、工程と、
    前記キャラクタ文字列に実質的にマッチする1以上のキャッシュ済みオブジェクトを識別するために前記キャッシュを検索する検索工程と、
    識別された前記キャッシュ済みオブジェクトのうちの1つ以上に対する1以上の参照をそれぞれ前記第1のユーザに送信する工程と、をさらに備える請求項1に記載の方法。
  5. 各第1のバーティカルは、第1のオブジェクト・タイプのオブジェクトを記憶し、各第2のバーティカルは、第2のオブジェクト・タイプのオブジェクトを記憶する、請求項1に記載の方法。
  6. 前記第1のオブジェクト・タイプおよび前記第2のオブジェクト・タイプは各々、ユーザ、写真、投稿、ウェブページ、アプリケーション、ロケーション、またはユーザ・グループからなる群から選択される、請求項5に記載の方法。
  7. 各第1のバーティカルは、第1のオブジェクト・タイプのオブジェクトの第1のセットからのオブジェクトを記憶し、各第2のバーティカルは、前記第1のオブジェクト・タイプのオブジェクトの第2のセットからのオブジェクトを記憶する、請求項1に記載の方法。
  8. 前記第1のしきい値数は、1、2、3、4、または5個のキャラクタである、請求項1に記載の方法。
  9. 複数のノードと該ノードを接続する複数のエッジとを含むソーシャルグラフにアクセスする工程であって、前記複数のノードのうちの2つのノードの間の前記複数のエッジの各々は、それら2つのノードの間の1次の隔たりを表し、前記ノードは、
    前記第1のユーザに対応する第1のノードと、
    前記オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第2のユーザに各々対応する複数の第2のノードと、を含む、工程をさらに備える請求項1に記載の方法。
  10. 前記複数のノードの各ノードは特定のオブジェクトに関連付けられている、請求項9に記載の方法。
  11. 各第1のバーティカルは、前記オンライン・ソーシャル・ネットワークの1以上のユーザプロフィール・ページを記憶するユーザ・バーティカルであり、各ユーザプロフィール・ページは前記複数のノードのうちの1つのノードに対応する、請求項9に記載の方法。
  12. 各第2のバーティカルは、写真バーティカル、投稿バーティカル、ページ・バーティカル、ロケーション・バーティカル、アプリケーション・バーティカル、およびユーザグループ・バーティカルからなる群から選択される、請求項11に記載の方法。
  13. 前記第1のバーティカルおよび前記第2のバーティカルの両方は、ユーザ・バーティカルである、請求項9に記載の方法。
  14. 前記検索工程は、
    前記第1の個数が第1のしきい値数以下である場合、前記第1のノードの1次の隔たり以内に1以上の第2のノードを識別するためにユーザ・バーティカルを検索する工程と、
    前記第1の個数が第1のしきい値数より大きい場合、前記第1のノードの2次の隔たり以内に1以上の第2のノードを識別するためにユーザ・バーティカルを検索する工程と、を含む、請求項13に記載の方法。
  15. 前記キャラクタ文字列は、前記第1のユーザに関連付けられているクライアント・システムから受信される、ユーザ生成キャラクタ文字列であり、前記ユーザ生成キャラクタ文字列は、前記第1のユーザによってクエリ・フィールドに入力され、前記キャラクタ文字列の各キャラクタが前記ユーザによって入力されるにつれ、クライアント・デバイスにおいてレンダリングされる、請求項1に記載の方法。
  16. クライアント・システムにおいて、識別された前記オブジェクトに対する参照を前記クエリ・フィールドに自動入力する工程をさらに備える、請求項15に記載の方法。
  17. 前記検索工程は、前記オブジェクトのうちの1以上の各々に関連付けられているキャラクタからなる文字列にキャラクタ文字列をマッチさせることを試みるために1以上のストリング・マッチング・アルゴリズムを用いる工程を含む、請求項1に記載の方法。
  18. 前記第1のユーザから前記参照のうちの1つの選択を受信する工程と、
    前記参照に対応する前記オブジェクトを前記第1のユーザに送信する工程と、をさらに備える請求項1に記載の方法。
  19. ソフトウェアを具現する1以上の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは実行時、
    オンライン・ソーシャル・ネットワークの第1のユーザから、第1の個数のキャラクタ
    を有するキャラクタ文字列を含む検索クエリ入力を受信する工程と、
    前記オンライン・ソーシャル・ネットワークに関連付けられている1以上のオブジェクトを各々記憶する1以上のバーティカルにアクセスする工程であって、
    前記第1の個数が第1のしきい値数以下である場合、1以上の第1のバーティカルにアクセスし、
    前記第1の個数が前記第1のしきい値数より大きい場合、前記1以上の第1のバーティカルと1以上の第2のバーティカルとにアクセスする、アクセス工程と、
    前記キャラクタ文字列に実質的にマッチするバーティカルに関連付けられている1以上のオブジェクトを識別するために、アクセスされた各バーティカルを検索する検索工程と、
    識別された前記オブジェクトのうちの1つ以上に対する1以上の参照を第1のユーザに送信する工程と、を行うように動作可能である、媒体。
  20. 1つ以上のプロセッサと、前記プロセッサに結合されており、前記プロセッサによって実行可能な命令を含むメモリと、を備えるシステムであって、前記プロセッサは、前記命令を実行する時、
    オンライン・ソーシャル・ネットワークの第1のユーザから、第1の個数のキャラクタを有するキャラクタ文字列を含む検索クエリ入力を受信する工程と、
    前記オンライン・ソーシャル・ネットワークに関連付けられている1以上のオブジェクトを各々記憶する1以上のバーティカルにアクセスする工程であって、
    前記第1の個数が第1のしきい値数以下である場合、1以上の第1のバーティカルにアクセスし、
    前記第1の個数が前記第1のしきい値数より大きい場合、前記1以上の第1のバーティカルと1以上の第2のバーティカルとにアクセスする、アクセス工程と、
    前記キャラクタ文字列に実質的にマッチするバーティカルに関連付けられている1以上のオブジェクトを識別するために、アクセスされた各バーティカルを検索する検索工程と、
    識別された前記オブジェクトのうちの1つ以上に対する1以上の参照を第1のユーザに送信する工程と、を行うように動作可能である、システム。
JP2016510771A 2013-04-25 2014-04-24 可変検索クエリ・バーティカル・アクセス Active JP6407968B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/870,113 2013-04-25
US13/870,113 US9910887B2 (en) 2013-04-25 2013-04-25 Variable search query vertical access
PCT/US2014/035219 WO2014176387A1 (en) 2013-04-25 2014-04-24 Variable search query vertical access

Publications (3)

Publication Number Publication Date
JP2016522927A true JP2016522927A (ja) 2016-08-04
JP2016522927A5 JP2016522927A5 (ja) 2018-05-10
JP6407968B2 JP6407968B2 (ja) 2018-10-17

Family

ID=51790224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016510771A Active JP6407968B2 (ja) 2013-04-25 2014-04-24 可変検索クエリ・バーティカル・アクセス

Country Status (11)

Country Link
US (2) US9910887B2 (ja)
EP (1) EP2989567A4 (ja)
JP (1) JP6407968B2 (ja)
KR (1) KR101918659B1 (ja)
CN (1) CN105359140B (ja)
AU (1) AU2014257044B2 (ja)
BR (1) BR112015027001A2 (ja)
CA (1) CA2909465C (ja)
IL (1) IL242130B (ja)
MX (1) MX358111B (ja)
WO (1) WO2014176387A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732208B2 (en) * 2010-04-19 2014-05-20 Facebook, Inc. Structured search queries based on social-graph information
US9910887B2 (en) * 2013-04-25 2018-03-06 Facebook, Inc. Variable search query vertical access
CN107292302B (zh) * 2016-03-31 2021-05-14 阿里巴巴(中国)有限公司 检测图片中兴趣点的方法和系统
US10534815B2 (en) * 2016-08-30 2020-01-14 Facebook, Inc. Customized keyword query suggestions on online social networks
CN106372214A (zh) * 2016-09-05 2017-02-01 青岛海信宽带多媒体技术有限公司 网页页面的显示控制方法和智能终端
US10528556B1 (en) * 2017-12-31 2020-01-07 Allscripts Software, Llc Database methodology for searching encrypted data records
US20190251422A1 (en) * 2018-02-09 2019-08-15 Microsoft Technology Licensing, Llc Deep neural network architecture for search
CN109271449A (zh) * 2018-09-30 2019-01-25 山东超越数控电子股份有限公司 一种基于文件的分布式存储查询系统及查询方法
CN109828984B (zh) * 2019-01-11 2021-06-08 北京明略软件系统有限公司 一种分析处理的方法、装置、计算机存储介质及终端
US11217011B2 (en) * 2019-04-19 2022-01-04 Facebook Technologies, Llc. Providing semantic-augmented artificial-reality experience
CN110209914B (zh) * 2019-06-13 2024-04-12 腾讯科技(成都)有限公司 一种信息查询方法及相关装置
US20230014590A1 (en) * 2021-07-16 2023-01-19 Adp, Inc. Method and system for providing static and dynamic inputs and advanced logging capabilities in application development systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148775A (ja) * 2005-11-28 2007-06-14 Hitachi Ltd 駅名検索方法
JP2009500366A (ja) * 2005-07-06 2009-01-08 グラクソ グループ リミテッド ヒスタミンh3アンタゴニストとしてのピラゾロ[3,4−d]アゼピン誘導体
WO2011105607A1 (ja) * 2010-02-26 2011-09-01 楽天株式会社 情報処理装置、情報処理方法、情報処理プログラムを記録した記録媒体
US20120317097A1 (en) * 2011-06-08 2012-12-13 Erick Tseng Presenting Images as Search Results

Family Cites Families (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997026729A2 (en) 1995-12-27 1997-07-24 Robinson Gary B Automated collaborative filtering in world wide web advertising
US7631012B2 (en) 1997-05-22 2009-12-08 Computer Associates Think, Inc. System and method of operating a database
US7110993B2 (en) 1999-05-28 2006-09-19 Overture Services, Inc. System and method for influencing a position on a search result list generated by a computer network search engine
US6470336B1 (en) * 1999-08-25 2002-10-22 Matsushita Electric Industrial Co., Ltd. Document image search device and recording medium having document search program stored thereon
US6539232B2 (en) 2000-06-10 2003-03-25 Telcontar Method and system for connecting mobile users based on degree of separation
US6957184B2 (en) 2000-07-20 2005-10-18 Microsoft Corporation Context free grammar engine for speech recognition system
US7155061B2 (en) * 2000-08-22 2006-12-26 Microsoft Corporation Method and system for searching for words and phrases in active and stored ink word documents
US6766320B1 (en) 2000-08-24 2004-07-20 Microsoft Corporation Search engine with natural language-based robust parsing for user query and relevance feedback learning
US6714939B2 (en) 2001-01-08 2004-03-30 Softface, Inc. Creation of structured data from plain text
US8095875B2 (en) 2001-06-22 2012-01-10 Krause Philip R Method and apparatus for consolidating network information
US20090006543A1 (en) 2001-08-20 2009-01-01 Masterobjects System and method for asynchronous retrieval of information based on incremental user input
US7752326B2 (en) 2001-08-20 2010-07-06 Masterobjects, Inc. System and method for utilizing asynchronous client server communication objects
US8112529B2 (en) 2001-08-20 2012-02-07 Masterobjects, Inc. System and method for asynchronous client server session communication
EP1442411A4 (en) 2001-09-30 2006-02-01 Realcontacts Ltd CONNECTING SERVICE
EP1470475A4 (en) 2001-12-28 2009-04-22 Ibm LECTRONIC DATA STORAGE IN R EL TIME
US7539697B1 (en) 2002-08-08 2009-05-26 Spoke Software Creation and maintenance of social relationship network graphs
US7249123B2 (en) 2002-10-31 2007-07-24 International Business Machines Corporation System and method for building social networks based on activity around shared virtual objects
US7836391B2 (en) 2003-06-10 2010-11-16 Google Inc. Document search engine including highlighting of confident results
US7069308B2 (en) 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
US20050091202A1 (en) 2003-10-22 2005-04-28 Thomas Kapenda J. Social network-based internet search engine
US20050125408A1 (en) 2003-11-20 2005-06-09 Beena Somaroo Listing service tracking system and method for tracking a user's interaction with a listing service
US20050131872A1 (en) 2003-12-16 2005-06-16 Microsoft Corporation Query recognizer
US7707122B2 (en) 2004-01-29 2010-04-27 Yahoo ! Inc. System and method of information filtering using measures of affinity of a relationship
WO2005104039A2 (en) 2004-03-23 2005-11-03 Google, Inc. A digital mapping system
US20060218111A1 (en) 2004-05-13 2006-09-28 Cohen Hunter C Filtered search results
WO2005116979A2 (en) 2004-05-17 2005-12-08 Visible Path Corporation System and method for enforcing privacy in social networks
US7689452B2 (en) 2004-05-17 2010-03-30 Lam Chuck P System and method for utilizing social networks for collaborative filtering
US7788260B2 (en) 2004-06-14 2010-08-31 Facebook, Inc. Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation
US7454430B1 (en) 2004-06-18 2008-11-18 Glenbrook Networks System and method for facts extraction and domain knowledge repository creation from unstructured and semi-structured documents
US7836044B2 (en) 2004-06-22 2010-11-16 Google Inc. Anticipated query generation and processing in a search engine
US8302164B2 (en) 2004-07-22 2012-10-30 Facebook, Inc. Authorization and authentication based on an individual's social network
US7809695B2 (en) 2004-08-23 2010-10-05 Thomson Reuters Global Resources Information retrieval systems with duplicate document detection and presentation functions
AU2005301055A1 (en) 2004-11-04 2006-05-11 Topeer Corporation System and method for creating a secure trusted social network
US7499940B1 (en) 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
US7461059B2 (en) 2005-02-23 2008-12-02 Microsoft Corporation Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks
US7451161B2 (en) 2005-04-28 2008-11-11 Friendster, Inc. Compatibility scoring of users in a social network
US7840589B1 (en) 2005-05-09 2010-11-23 Surfwax, Inc. Systems and methods for using lexically-related query elements within a dynamic object for semantic search refinement and navigation
US20080005064A1 (en) 2005-06-28 2008-01-03 Yahoo! Inc. Apparatus and method for content annotation and conditional annotation retrieval in a search context
US8086605B2 (en) 2005-06-28 2011-12-27 Yahoo! Inc. Search engine with augmented relevance ranking by community participation
US7801392B2 (en) * 2005-07-21 2010-09-21 Fuji Xerox Co., Ltd. Image search system, image search method, and storage medium
CA2615659A1 (en) 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
US20080065617A1 (en) * 2005-08-18 2008-03-13 Yahoo! Inc. Search entry system with query log autocomplete
AU2006321767B2 (en) 2005-12-07 2010-11-25 Telecommunication Systems, Inc. Method and system for a user input solution for a limited telecommunication device
US8027943B2 (en) 2007-08-16 2011-09-27 Facebook, Inc. Systems and methods for observing responses to invitations by users in a web-based social network
US7702685B2 (en) 2006-01-20 2010-04-20 Microsoft Corporation Querying social networks
US20070192293A1 (en) 2006-02-13 2007-08-16 Bing Swen Method for presenting search results
US20070219954A1 (en) 2006-03-15 2007-09-20 Microsoft Corporation Refined Search User Interface
US9323867B2 (en) 2006-08-03 2016-04-26 Microsoft Technology Licensing, Llc Search tool using multiple different search engine types across different data sets
US8201107B2 (en) 2006-09-15 2012-06-12 Emc Corporation User readability improvement for dynamic updating of search results
US7636712B2 (en) 2006-11-14 2009-12-22 Microsoft Corporation Batching document identifiers for result trimming
WO2008059534A2 (en) 2006-11-16 2008-05-22 Onmobile Global Limited System and method for facilitating a ready social network
US8024328B2 (en) 2006-12-18 2011-09-20 Microsoft Corporation Searching with metadata comprising degree of separation, chat room participation, and geography
US7840538B2 (en) 2006-12-20 2010-11-23 Yahoo! Inc. Discovering query intent from search queries and concept networks
WO2008085207A2 (en) 2006-12-29 2008-07-17 Prodea Systems, Inc. Multi-services application gateway
US7636713B2 (en) 2007-01-31 2009-12-22 Yahoo! Inc. Using activation paths to cluster proximity query results
US20080183694A1 (en) 2007-01-31 2008-07-31 Daniel Cane Method and system presenting search results using relationship information
US7680882B2 (en) 2007-03-06 2010-03-16 Friendster, Inc. Multimedia aggregation in an online social network
US20100145771A1 (en) 2007-03-15 2010-06-10 Ariel Fligler System and method for providing service or adding benefit to social networks
US8713143B2 (en) 2007-04-27 2014-04-29 President And Fellows Of Harvard College Establishing a social network
US7783630B1 (en) 2007-06-29 2010-08-24 Emc Corporation Tuning of relevancy ranking for federated search
US8572094B2 (en) 2007-08-17 2013-10-29 Google Inc. Ranking social network objects
US8031595B2 (en) 2007-08-21 2011-10-04 International Business Machines Corporation Future location determination using social networks
US20090094200A1 (en) 2007-10-05 2009-04-09 Yahoo! Inc. Method for Admission-controlled Caching
US8862622B2 (en) 2007-12-10 2014-10-14 Sprylogics International Corp. Analysis, inference, and visualization of social networks
US20090164929A1 (en) 2007-12-20 2009-06-25 Microsoft Corporation Customizing Search Results
US20090164408A1 (en) 2007-12-21 2009-06-25 Ilya Grigorik Method, System and Computer Program for Managing Delivery of Online Content
US20090197681A1 (en) 2008-01-31 2009-08-06 Microsoft Corporation System and method for targeted recommendations using social gaming networks
US7853587B2 (en) 2008-01-31 2010-12-14 Microsoft Corporation Generating search result summaries
US8234193B2 (en) 2008-03-03 2012-07-31 Wildfire Interactive, Inc. Method and system for providing online promotions through a social network-based platform
US20090228296A1 (en) 2008-03-04 2009-09-10 Collarity, Inc. Optimization of social distribution networks
US8606721B1 (en) 2008-03-11 2013-12-10 Amazon Technologies, Inc. Implicit social graph edge strengths
US20090259646A1 (en) 2008-04-09 2009-10-15 Yahoo!, Inc. Method for Calculating Score for Search Query
US8645406B2 (en) 2008-04-11 2014-02-04 Microsoft Corporation Exploiting conditions to optimize expensive database queries
US20090265326A1 (en) 2008-04-17 2009-10-22 Thomas Dudley Lehrman Dynamic personal privacy system for internet-connected social networks
US8744976B2 (en) 2008-04-28 2014-06-03 Yahoo! Inc. Discovery of friends using social network graph properties
US20090271374A1 (en) 2008-04-29 2009-10-29 Microsoft Corporation Social network powered query refinement and recommendations
US20090276414A1 (en) 2008-04-30 2009-11-05 Microsoft Corporation Ranking model adaptation for searching
US8417698B2 (en) 2008-05-06 2013-04-09 Yellowpages.Com Llc Systems and methods to provide search based on social graphs and affinity groups
US8244727B2 (en) 2008-05-29 2012-08-14 Nokia Corporation Method, apparatus, and computer program product for content use assignment by exploiting social graph information
US8055673B2 (en) 2008-06-05 2011-11-08 Yahoo! Inc. Friendly search and socially augmented search query assistance layer
US8082278B2 (en) 2008-06-13 2011-12-20 Microsoft Corporation Generating query suggestions from semantic relationships in content
US8027990B1 (en) 2008-07-09 2011-09-27 Google Inc. Dynamic query suggestion
US8290924B2 (en) 2008-08-29 2012-10-16 Empire Technology Development Llc Providing answer to keyword based query from natural owner of information
US20100082695A1 (en) 2008-09-26 2010-04-01 Hardt Dick C Enterprise social graph and contextual information presentation
US8578274B2 (en) 2008-09-26 2013-11-05 Radius Intelligence. Inc. System and method for aggregating web feeds relevant to a geographical locale from multiple sources
US8060492B2 (en) 2008-11-18 2011-11-15 Yahoo! Inc. System and method for generation of URL based context queries
US7934161B1 (en) 2008-12-09 2011-04-26 Jason Adam Denise Electronic search interface technology
US8145622B2 (en) 2009-01-09 2012-03-27 Microsoft Corporation System for finding queries aiming at tail URLs
US8412749B2 (en) 2009-01-16 2013-04-02 Google Inc. Populating a structured presentation with new values
US8495065B2 (en) 2009-02-02 2013-07-23 Waldeck Technology, Llc Maintaining a historical record of anonymized user profile data by location for users in a mobile environment
US8250053B2 (en) 2009-02-24 2012-08-21 Microsoft Corporation Intelligent enhancement of a search result snippet
US20100235354A1 (en) 2009-03-12 2010-09-16 International Business Machines Corporation Collaborative search engine system
US8145636B1 (en) 2009-03-13 2012-03-27 Google Inc. Classifying text into hierarchical categories
US20100250526A1 (en) 2009-03-27 2010-09-30 Prochazka Filip Search System that Uses Semantic Constructs Defined by Your Social Network
CA2763668A1 (en) * 2009-05-27 2010-12-02 Google Inc. Computer application data in search results
US8209330B1 (en) 2009-05-29 2012-06-26 Google Inc. Ordering image search results
US20100321399A1 (en) 2009-06-18 2010-12-23 Patrik Ellren Maps from Sparse Geospatial Data Tiles
US8150843B2 (en) 2009-07-02 2012-04-03 International Business Machines Corporation Generating search results based on user feedback
US8667009B2 (en) 2009-07-21 2014-03-04 Saambaa Llc Systems and methods for utilizing and searching social network information
US20110078166A1 (en) 2009-09-29 2011-03-31 Nokia Corporation Method and apparatus for creating and utilizing information representation of queries
US8306922B1 (en) 2009-10-01 2012-11-06 Google Inc. Detecting content on a social network using links
US20110087534A1 (en) 2009-10-14 2011-04-14 Wantsa Media (Canada), Inc. Search queries and advertising platforms utilizing at least one social graph
US8316056B2 (en) 2009-12-08 2012-11-20 Facebook, Inc. Second-order connection search in a social networking system
US20110184981A1 (en) 2010-01-27 2011-07-28 Yahoo! Inc. Personalize Search Results for Search Queries with General Implicit Local Intent
US8301639B1 (en) 2010-01-29 2012-10-30 Google Inc. Location based query suggestion
US10748119B2 (en) 2010-02-01 2020-08-18 Microsoft Technology Licensing, Llc Social network search
US8595297B2 (en) 2010-02-08 2013-11-26 At&T Intellectual Property I, L.P. Searching data in a social network to provide an answer to an information request
US8527496B2 (en) 2010-02-11 2013-09-03 Facebook, Inc. Real time content searching in social network
US9015733B2 (en) 2012-08-31 2015-04-21 Facebook, Inc. API version testing based on query schema
US20110231296A1 (en) 2010-03-16 2011-09-22 UberMedia, Inc. Systems and methods for interacting with messages, authors, and followers
US8782080B2 (en) 2010-04-19 2014-07-15 Facebook, Inc. Detecting social graph elements for structured search queries
US8918418B2 (en) 2010-04-19 2014-12-23 Facebook, Inc. Default structured search queries on online social networks
US8732208B2 (en) 2010-04-19 2014-05-20 Facebook, Inc. Structured search queries based on social-graph information
US8180804B1 (en) 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
US8868603B2 (en) 2010-04-19 2014-10-21 Facebook, Inc. Ambiguous structured search queries on online social networks
US8751521B2 (en) 2010-04-19 2014-06-10 Facebook, Inc. Personalized structured search queries for online social networks
US8244848B1 (en) 2010-04-19 2012-08-14 Facebook, Inc. Integrated social network environment
US8185558B1 (en) 2010-04-19 2012-05-22 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph
US8572129B1 (en) 2010-04-19 2013-10-29 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph
US8719246B2 (en) 2010-06-28 2014-05-06 Microsoft Corporation Generating and presenting a suggested search query
CA2747081A1 (en) * 2010-07-22 2012-01-22 Yellow Pages Group Co./Groupe Pages Jaunes Cie. Social graph search system
US20120042020A1 (en) 2010-08-16 2012-02-16 Yahoo! Inc. Micro-blog message filtering
US8832093B2 (en) 2010-08-18 2014-09-09 Facebook, Inc. Dynamic place visibility in geo-social networking system
US20120059708A1 (en) 2010-08-27 2012-03-08 Adchemy, Inc. Mapping Advertiser Intents to Keywords
US8930453B2 (en) 2010-10-27 2015-01-06 Myspace Llc Social networking relevance index
CN105956116B (zh) 2010-10-30 2020-02-28 国际商业机器公司 用于处理将要显示的内容的方法和系统
US8364709B1 (en) 2010-11-22 2013-01-29 Google Inc. Determining word boundary likelihoods in potentially incomplete text
EP2458545A1 (en) 2010-11-30 2012-05-30 France Telecom Method of and apparatus for managing data representative of a business in a database
US10304066B2 (en) 2010-12-22 2019-05-28 Facebook, Inc. Providing relevant notifications for a user based on location and social information
US9978022B2 (en) 2010-12-22 2018-05-22 Facebook, Inc. Providing context relevant search for a user based on location and social information
US8832111B2 (en) 2010-12-30 2014-09-09 Facebook, Inc. Distributed cache for graph data
US8527497B2 (en) 2010-12-30 2013-09-03 Facebook, Inc. Composite term index for graph data
US8688691B2 (en) 2011-01-13 2014-04-01 International Business Machines Corporation Relevancy ranking of search results in a network based upon a user's computer-related activities
US8639725B1 (en) 2011-01-31 2014-01-28 Google Inc. Methods for efficiently querying multiple points in an indexed quadtree
US9870424B2 (en) 2011-02-10 2018-01-16 Microsoft Technology Licensing, Llc Social network based contextual ranking
US20120278127A1 (en) 2011-04-28 2012-11-01 Rawllin International Inc. Generating product recommendations based on dynamic product context data and/or social activity data related to a product
US8676937B2 (en) 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
US20120311034A1 (en) 2011-06-03 2012-12-06 Cbs Interactive Inc. System and methods for filtering based on social media
US8909637B2 (en) 2011-06-03 2014-12-09 Facebook, Inc. Context-based ranking of search results
US20160026727A1 (en) 2011-06-03 2016-01-28 Google Inc. Generating additional content
US9268857B2 (en) 2011-06-03 2016-02-23 Facebook, Inc. Suggesting search results to users before receiving any search query from the users
US20120317088A1 (en) 2011-06-07 2012-12-13 Microsoft Corporation Associating Search Queries and Entities
US9342605B2 (en) 2011-06-13 2016-05-17 Facebook, Inc. Client-side modification of search results based on social network data
US8601027B2 (en) 2011-06-20 2013-12-03 Google Inc. Query-based user groups in social networks
US9779385B2 (en) 2011-06-24 2017-10-03 Facebook, Inc. Inferring topics from social networking system communications
US9218390B2 (en) 2011-07-29 2015-12-22 Yellowpages.Com Llc Query parser derivation computing device and method for making a query parser for parsing unstructured search queries
US20130031106A1 (en) 2011-07-29 2013-01-31 Microsoft Corporation Social network powered query suggestions
US8538960B2 (en) 2011-08-05 2013-09-17 Microsoft Corporation Providing objective and people results for search
US20130041876A1 (en) 2011-08-08 2013-02-14 Paul Alexander Dow Link recommendation and densification
US11620719B2 (en) 2011-09-12 2023-04-04 Microsoft Technology Licensing, Llc Identifying unseen content of interest
US8312056B1 (en) 2011-09-13 2012-11-13 Xerox Corporation Method and system for identifying a key influencer in social media utilizing topic modeling and social diffusion analysis
US10120877B2 (en) 2011-09-15 2018-11-06 Stephan HEATH Broad and alternative category clustering of the same, similar or different categories in social/geo/promo link promotional data sets for end user display of interactive ad links, coupons, mobile coupons, promotions and sale of products, goods and services integrated with 3D spatial geomapping and mobile mapping and social networking
US20130086024A1 (en) 2011-09-29 2013-04-04 Microsoft Corporation Query Reformulation Using Post-Execution Results Analysis
US8918354B2 (en) 2011-10-03 2014-12-23 Microsoft Corporation Intelligent intent detection from social network messages
US8949232B2 (en) 2011-10-04 2015-02-03 Microsoft Corporation Social network recommended content and recommending members for personalized search results
US9324113B2 (en) 2011-10-12 2016-04-26 Microsoft Technology Licensing, Llc Presenting social network connections on a search engine results page
US8868590B1 (en) 2011-11-17 2014-10-21 Sri International Method and system utilizing a personalized user model to develop a search request
US8893076B2 (en) 2011-12-14 2014-11-18 Adobe Systems Incorporated Configurable computation modules
US8935261B2 (en) 2011-12-28 2015-01-13 Facebook, Inc. Social discovery and ranking of pages
US20150074289A1 (en) 2011-12-28 2015-03-12 Google Inc. Detecting error pages by analyzing server redirects
US8949264B2 (en) 2012-01-30 2015-02-03 Hewlett-Packard Development Company, L.P. Disambiguating associations
US20130204737A1 (en) 2012-02-03 2013-08-08 Shubham Agarwal Leveraging store activity for recommendations
US8321364B1 (en) 2012-02-08 2012-11-27 Google Inc. Method and system for including robots into social networks
US20130227011A1 (en) 2012-02-29 2013-08-29 Eventbrite, Inc. Interest-Based Social Recommendations for Event Ticket Network Systems
US8762324B2 (en) 2012-03-23 2014-06-24 Sap Ag Multi-dimensional query expansion employing semantics and usage statistics
US9971993B2 (en) 2012-03-26 2018-05-15 Microsoft Technology Licensing, Llc Leveraging a social graph for use with electronic messaging
CN102811179B (zh) * 2012-03-29 2015-11-25 北京淘友天下科技发展有限公司 一种社交网络中的信息提供方法及系统
US8924434B2 (en) 2012-06-29 2014-12-30 Oracle International Corporation Project resource comparison view
US8935255B2 (en) 2012-07-27 2015-01-13 Facebook, Inc. Social static ranking for search
US9158801B2 (en) * 2012-07-27 2015-10-13 Facebook, Inc. Indexing based on object type
US8983991B2 (en) 2012-07-27 2015-03-17 Facebook, Inc. Generating logical expressions for search queries
US10311085B2 (en) 2012-08-31 2019-06-04 Netseer, Inc. Concept-level user intent profile extraction and applications
US9646028B2 (en) 2012-08-31 2017-05-09 Facebook, Inc. Graph query logic
CN102945258B (zh) * 2012-10-18 2016-01-20 北京淘友天下科技发展有限公司 获取社交网络用户可信度方法及系统
US20140122465A1 (en) 2012-10-31 2014-05-01 Brandon Bilinski Ranking Music Search Results
CN103002410B (zh) * 2012-11-21 2015-04-08 北京百度网讯科技有限公司 用于移动终端的增强现实方法、系统和移动终端
US8935271B2 (en) 2012-12-21 2015-01-13 Facebook, Inc. Extract operator
US9514191B2 (en) 2013-03-14 2016-12-06 Microsoft Technology Licensing, Llc Visualizing ranking factors for items in a search result list
US20140280115A1 (en) * 2013-03-14 2014-09-18 Nokia Corporation Methods, apparatuses, and computer program products for improved device and network searching
US20150161519A1 (en) 2013-04-19 2015-06-11 Google Inc. Name recognition
US9910887B2 (en) * 2013-04-25 2018-03-06 Facebook, Inc. Variable search query vertical access
US9367536B2 (en) * 2013-05-03 2016-06-14 Facebook, Inc. Using inverse operators for queries on online social networks
US9367880B2 (en) * 2013-05-03 2016-06-14 Facebook, Inc. Search intent for queries on online social networks
US8949250B1 (en) 2013-12-19 2015-02-03 Facebook, Inc. Generating recommended search queries on online social networks
US9646055B2 (en) 2014-04-03 2017-05-09 Facebook, Inc. Blending search results on online social networks
US20150363402A1 (en) 2014-06-13 2015-12-17 Facebook, Inc. Statistical Filtering of Search Results on Online Social Networks
US20160041982A1 (en) 2014-08-05 2016-02-11 Facebook, Inc. Conditioned Search Ranking Models on Online Social Networks
US9792364B2 (en) * 2014-08-08 2017-10-17 Facebook, Inc. Blending search results on online social networks
US9754037B2 (en) 2014-08-27 2017-09-05 Facebook, Inc. Blending by query classification on online social networks
US9703859B2 (en) 2014-08-27 2017-07-11 Facebook, Inc. Keyword search queries on online social networks
US10740412B2 (en) * 2014-09-05 2020-08-11 Facebook, Inc. Pivoting search results on online social networks
US20160148264A1 (en) * 2014-11-24 2016-05-26 Facebook, Inc. Searching for Offers and Advertisements on Online Social Networks
US9990441B2 (en) 2014-12-05 2018-06-05 Facebook, Inc. Suggested keywords for searching content on online social networks
US20160203238A1 (en) 2015-01-09 2016-07-14 Facebook, Inc. Suggested Keywords for Searching News-Related Content on Online Social Networks
RU2606309C2 (ru) * 2015-06-09 2017-01-10 Общество С Ограниченной Ответственностью "Яндекс" Способ создания аннотированного поискового индекса и сервер, используемый в нем
US20170046390A1 (en) 2015-08-14 2017-02-16 Facebook, Inc. Searching public posts on online social networks
US20170083523A1 (en) 2015-09-18 2017-03-23 Facebook, Inc. Granular Forward Indexes on Online Social Networks
US10810217B2 (en) 2015-10-07 2020-10-20 Facebook, Inc. Optionalization and fuzzy search on online social networks
US10545969B2 (en) 2015-11-16 2020-01-28 Facebook, Inc. Ranking and filtering comments based on audience
US10387511B2 (en) 2015-11-25 2019-08-20 Facebook, Inc. Text-to-media indexes on online social networks
US10740368B2 (en) 2015-12-29 2020-08-11 Facebook, Inc. Query-composition platforms on online social networks
US10853335B2 (en) 2016-01-11 2020-12-01 Facebook, Inc. Identification of real-best-pages on online social networks
US10162899B2 (en) 2016-01-15 2018-12-25 Facebook, Inc. Typeahead intent icons and snippets on online social networks
US10740375B2 (en) 2016-01-20 2020-08-11 Facebook, Inc. Generating answers to questions using information posted by users on online social networks
US20170308583A1 (en) 2016-04-20 2017-10-26 Facebook, Inc. Suggested Queries Based on Interaction History on Online Social Networks
US10235469B2 (en) * 2016-11-30 2019-03-19 Facebook, Inc. Searching for posts by related entities on online social networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009500366A (ja) * 2005-07-06 2009-01-08 グラクソ グループ リミテッド ヒスタミンh3アンタゴニストとしてのピラゾロ[3,4−d]アゼピン誘導体
JP2007148775A (ja) * 2005-11-28 2007-06-14 Hitachi Ltd 駅名検索方法
WO2011105607A1 (ja) * 2010-02-26 2011-09-01 楽天株式会社 情報処理装置、情報処理方法、情報処理プログラムを記録した記録媒体
US20120317097A1 (en) * 2011-06-08 2012-12-13 Erick Tseng Presenting Images as Search Results

Also Published As

Publication number Publication date
CN105359140B (zh) 2019-01-11
KR20160004343A (ko) 2016-01-12
CN105359140A (zh) 2016-02-24
AU2014257044B2 (en) 2019-02-28
AU2014257044A1 (en) 2015-12-10
US20140324963A1 (en) 2014-10-30
US20180150509A1 (en) 2018-05-31
IL242130B (en) 2018-08-30
US9910887B2 (en) 2018-03-06
EP2989567A4 (en) 2016-11-30
US10102245B2 (en) 2018-10-16
KR101918659B1 (ko) 2018-11-14
BR112015027001A2 (pt) 2017-07-25
EP2989567A1 (en) 2016-03-02
MX358111B (es) 2018-08-06
WO2014176387A1 (en) 2014-10-30
JP6407968B2 (ja) 2018-10-17
CA2909465A1 (en) 2014-10-30
CA2909465C (en) 2018-12-11
MX2015014919A (es) 2016-06-24

Similar Documents

Publication Publication Date Title
JP6388988B2 (ja) オンライン・ソーシャル・ネットワークにおける検索クエリのための静的ランク付け
JP6293830B2 (ja) オンライン・ソーシャル・ネットワークにおける検索クエリに対する近似的プライバシ
JP6408081B2 (ja) オンライン・ソーシャル・ネットワーク上の検索結果をブレンドすること
JP6568609B2 (ja) 構造化された検索クエリのための文法モデル
JP6377807B2 (ja) オンライン・ソーシャル・ネットワークにおける検索クエリの書き換え
JP6419905B2 (ja) クエリについての逆演算子の使用
JP6306120B2 (ja) 構造化検索クエリの自然言語レンダリング
JP6435307B2 (ja) クエリについての検索意図
JP6242967B2 (ja) オンライン・ソーシャル・ネットワーク上での構造化検索クエリの修正
JP6506401B2 (ja) オンライン・ソーシャル・ネットワーク上でニュース関連のコンテンツを検索するための提案キーワード
JP6407968B2 (ja) 可変検索クエリ・バーティカル・アクセス
JP2017123199A (ja) オンライン・ソーシャル・ネットワーク上のあいまいな構造化検索クエリ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180323

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180323

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180627

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180919

R150 Certificate of patent or registration of utility model

Ref document number: 6407968

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250