KR20140079823A - 소셜 관련성에 의한 객체의 순위화 - Google Patents

소셜 관련성에 의한 객체의 순위화 Download PDF

Info

Publication number
KR20140079823A
KR20140079823A KR1020147012784A KR20147012784A KR20140079823A KR 20140079823 A KR20140079823 A KR 20140079823A KR 1020147012784 A KR1020147012784 A KR 1020147012784A KR 20147012784 A KR20147012784 A KR 20147012784A KR 20140079823 A KR20140079823 A KR 20140079823A
Authority
KR
South Korea
Prior art keywords
node
user
nodes
attribute
concept
Prior art date
Application number
KR1020147012784A
Other languages
English (en)
Other versions
KR101686594B1 (ko
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 KR20140079823A publication Critical patent/KR20140079823A/ko
Application granted granted Critical
Publication of KR101686594B1 publication Critical patent/KR101686594B1/ko

Links

Images

Classifications

    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

일실시예로, 본 발명의 시스템은 소셜 네트워킹 환경을 구현하고, 개별 사용자에 각각 해당하는 제1 세트의 사용자 노드와 개별 컨셉에 각각 해당하는 제2 세트의 컨셉 노드를 포함하는 복수의 노드를 포함하는 저장된 정보에 접속하도록 동작하는 하나 이상의 컴퓨팅 시스템을 포함한다. 본 발명의 시스템은 특정 사용자 노드에 대한 특정 컨셉 노드의 관련도를 표현하는 사용자와 컨셉에 대한 매치 계수를 생성할 수 있다.

Description

소셜 관련성에 의한 객체의 순위화{RANKING OBJECTS BY SOCIAL RELEVANCE}
본 명세서는 일반적으로 소셜 네트워킹에 관한 것이며, 더 상세하게는 소셜 네트워크 환경을 기초로 통합 소셜 네트워크 환경 및 소셜 그래프를 이용하여 특정 사용자 노드에 대한 관련성으로 객체를 순위화하는 것에 관한 것이다. 소셜 그래프는 소셜 네트워크 환경에서 사용자와 컨셉을 표현하는 노드뿐만 아니라 이런 노드 사이의 연결관계를 정의하거나 표현하는 에지를 포함한다. 특정 사용자 노드에 대한 임의의 객체의 소셜 관련성은 사용자 노드와 연결된 노드들을 객체 노드와 연결된 노드들과 상호 참조(cross referencing)하여 계산될 수 있다.
컴퓨터 사용자들은 가령 인터넷과 같은 공중 네트워크뿐만 아니라 사설 네트워크를 포함하는 다양한 근거리 및 광역 컴퓨터 네트워크를 통해 방대한 양의 정보에 접근하고 정보를 공유할 수 있다. 통상, 사용자의 컴퓨팅 장치에 설치되는 웹 브라우저는 예컨대 관련 URLs(uniform resource locators)에 의해 식별되는 다양한 네트워크 서버에 위치한 정보로의 접근 및 정보와의 상호작용을 용이하게 한다. 사용자-생성 컨텐츠의 공유를 가능하게 하는 종래의 접근방법은 가령 소셜 네트워킹 웹사이트와 같은 다양한 정보 공유 기술 또는 플랫폼을 포함한다. 이런 웹사이트는 다른 사용자에 의해 생성되거나 맞춤화된 "프로필" 페이지를 사용자에게 보여줄 수 있는 애플리케이션용 플랫폼을 포함하거나, 플랫폼과 연결되거나, 플랫폼을 제공할 수 있는데, 여기서 다른 사용자에 의한 가시성 및 이런 페이지와의 상호작용은 일부 특징적인 규정 세트(set of rules)에 의해 통제된다. 예로서, 사용자 프로필은 연락 정보, 배경 정보, 일/직업 정보뿐만 아니라 관심사와 같은 사용자-선언형 정보를 포함할 수 있다.
종래의 소셜 네트워크는 통상 "노드"라고 하는 개인, 그룹, 엔티티 또는 조직으로 구성된 소셜 구조이며, 노드는 하나 이상의 특정 타입의 상호의존성에 의해 결부(연결)된다. 소셜 네트워크(그래프) 분석은 노드와 에지를 구성하는 네트워크 이론의 관점에서 소셜 관계를 보여준다. 노드는 네트워크 내의 개인 행위자이며, 에지는 행위자 사이의 관계이다. 그 결과, 그래프-기반 구조는 종종 매우 복잡하다. 노드 사이의 많은 종류의 에지가 있을 수 있다. 가장 간단한 형태로, 소셜 네트워크나 소셜 그래프는 연구되는 모든 노드들 사이의 모든 관련 에지들의 지도이다.
특정 사용자에 대한 노드의 관련성은 소셜 그래프의 분석을 통해 결정될 수 있다. 특정 개인에 대한 노드의 관련성 점수를 계산함으로써, 컨텐츠 전달이 크게 향상되고 사용자 경험은 개선된다.
발명의 내용 중에 포함되어 있다.
도 1은 예시적인 소셜 네트워크 환경의 예시적인 컴퓨터 네트워크 환경을 도시한다.
도 2a는 예시적인 소셜 네트워크 환경의 예시적인 구성요소를 도시한다.
도 3은 예시적인 소셜 그래프를 도시한다.
도 4a 내지 4c는 예시적인 사용자 프로필 페이지를 각각 도시한다.
도 5는 예시적인 컨셉 프로필 페이지를 도시한다.
도 6은 특정 사용자 노드에 대한 객체 노드의 관련성을 계산하기 위한 예시적인 소셜 그래프를 도시한다.
도 7은 2개의 노드 사이의 매치 계수를 계산하기 위한 예시적인 방법을 도시하는 흐름도를 도시한다.
도 8은 예시적인 컴퓨터 시스템 구조를 도시한다.
특정 실시예는 통합 소셜 네트워크 환경을 가능하게 하는 기반구조 또는 플랫폼(이하에서는 기반구조와 플랫폼은 호환하여 사용될 수 있다)을 포함하는 소셜 네트워크 환경에 관한 것이다. 본 명세서에서, 소셜 네트워크 환경은 소셜 그래프 정보를 포함하는 소셜 그래프의 관점에서 기술될 수 있다. 특정 실시예로, 소셜 네트워크 환경을 구현하는 소셜 네트워크 환경의 하나 이상의 컴퓨팅 시스템은 본 명세서에 기술되는 소셜 네트워크 환경을 구현하는데 사용하기 위해 소셜 그래프 정보를 포함하는 데이터 구조를 포함하거나, 데이터 구조를 저장하거나, 데이터 구조에 접속한다.
특정 실시예로, 소셜 그래프 정보는 개별 사용자에 각각 해당하는 사용자 노드들의 제1 세트 및 개별 컨셉에 각각 해당하는 컨셉 노드들의 제2 세트를 포함한다. 본 명세서에서 사용되는 바와 같이, "사용자"는 개인(사람인 사용자), 엔티티(예컨대, 기업, 비즈니스 또는 제3자 애플리케이션) 또는 이런 소셜 네트워크 환경과 상호작용하거나 이런 소셜 네트워크 환경에서 통신하는 (예컨대, 개인 또는 엔티티의) 그룹일 수 있다. 본 명세서에서 사용되는 바와 같이, "컨셉(concept)"은 사용자가 예로써, 스포츠, 스포츠 팀, 음악 장르, 음악 작곡가, 취미, 비즈니스(기업), 엔티티, 그룹, 제3자 애플리케이션, 유명인사, 등록 사용자가 아닌 사람 등과 같은 것에 대한 관심, 그것에 대한 좋아요 또는 그것과의 관계를 선언하거나 명시할 수 있는 실제의 무엇을 말할 수 있다. 특정 실시예로, 각각의 노드는 소셜 네트워크 환경에서 호스팅되거나 접속가능한 해당 웹페이지("프로필 페이지")를 가지거나, 해당 웹페이지를 표현하거나, 해당 웹페이지로 표현된다.
예로써, 사용자 노드는 해당 사용자가 컨텐츠를 추가할 수 있고, 선언을 할 수 있으며, 그렇지 않으면 그 또는 그녀 자신을 표현할 수 있는 해당 사용자 프로필 페이지를 가질 수 있는 한편, 컨셉 노드는 복수의 사용자들이 컨텐츠를 추가할 수 있고, 선언을 할 수 있으며, 특히 컨셉과 관련하여 그들 자신을 표현할 수 있는 해당 컨셉 프로필 페이지("허브(hub)")를 가질 수 있다. 특정 실시예로, 소셜 그래프 정보는 소셜 그래프에서 해당 노드 쌍 사이의 연결을 각각 정의하거나 표현하는 복수의 에지들을 더 포함한다.
특정 실시예로, 소셜 그래프는 컨셉 노드들의 서브-카테고리를 포함한다. 먼저, 속성 노드는 반드시 해당 허브 페이지를 가지는 것은 아니며 반드시 소셜 네트워크의 사용자들에게 보이는 것은 아닌 사용자 노드 또는 다른 컨셉 노드와 연결되는 컨셉 노드이다. 예컨대, 소셜 네트워크는 스포츠 게임과 특정 사용자의 에지 연결을 기초로 사용자가 "스포츠" 또는 "액션 게임"에 대해 친밀감을 가지고 있음을 추론할 수 있다. 이런 속성 노드는 소셜 네트워크에 의해 동적으로 생성되며, 일반적으로 이런 넓은 카테고리에 대한 허브 페이지는 무의미하거나 소셜 네트워크의 사용자들에게 사용을 거의 제공하지 않을 것이다. 마찬가지로, 컨셉이 허브 페이지를 가지는 것이 말이 안 되는 그런 좁은 컨셉에 대해 사용자가 친밀감을 표현한다면, 친밀감은 속성 노드로서 소셜 그래프에서 추적되나, 사용자들에게 공공연히 보이지는 않는다. 예컨대, 사용자가 허브 페이지를 갖는 특정 레스토랑에서 체크인하고 또한 레스토랑에서 특정 요리에 대해 친밀감을 표현(예컨대, "레스토랑 X의 푸아 그라(foie gras)는 대단하다")한다면, 소셜 네트워크는 자연어 프로그래밍을 사용하여 속성 노드(레스토랑 X의 푸아 그라)에 대한 "좋아요"와 같이 친밀감을 결정할 수 있다. 특정 실시예로, 속성 노드로의 연결의 수가 기결정된 수를 초과하는 경우, 소셜 네트워크는 속성 노드에 대한 허브 페이지를 동적으로 생성한다. 특정 실시예로, 소셜 네트워크는 속성 노드(이 예에서, 레스토랑 X의 관리자)와 관련된 컨셉 노드의 관리자에게 메시지를 보낼 것이고, 그 또는 그녀는 속성 노드에 대해 생성된 서브페이지를 좋아하는지 여부를 질의할 것이다.
특정 실시예로, 객체 노드는 특정 사용자와 관련되는 컨셉 노드들의 서브세트이다. 사용자는 객체 노드를 명시적으로 생성할 수 있거나, 객체 노드가 사용자에 대하여 소셜 네트워크에 의해 동적으로 생성될 수 있다. 예컨대, 게임이나 애플리케이션의 게재자는 다른 사용자들에 의한 구매와 다운로드를 위해 그 애플리케이션을 앱 스토어(app store)에 업로드할 때 객체 노드를 생성할 수 있다. 생성 시점에, 게재자는 장르/카테고리, 게재 날짜, 버전 등과 같이, 객체 노드의 속성들을 태그할 수 있다. 특정 실시예로, 이런 메타-데이터 태그는 (가령, 상술한 바대로 "행위" 또는 "스포츠"와 같은) 기존의 속성 노드들과 관련될 수 있다. 특정 실시예에서는 객체가 생성될 때 사용자 태깅이 필요하지 않다. 예컨대, 가수 또는 밴드가 그들의 새 앨범을 뮤직 스토어에 업로드할 때, 소셜 네트워크는 ID3 태그로부터 장르 정보를 또는 밴드의 허브 페이지로부터 정보를 자동으로 풀링할 수 있다. 본 명세서는 연결된 속성 노드를 통해 특정 사용자 노드에 대한 객체 노드의 순위화를 기술하지만, 그 알고리즘이 이 구성으로 국한되지 않는다. 본 명세서에서 사용되는 바와 같이, 객체 노드가 임의의 컨셉 노드일 수 있고, 속성 노드가 임의의 컨셉 노드일 수 있다.
일부의 실시예로, 각각의 에지는 소셜 그래프에서 에지가 연결하는 노드의 타입에 적어도 일부를 기초로 한 복수의 에지 타입 중 하나일 수 있다. 예로서, 하나의 특정 실시예로, 제1 에지 타입에서 각각의 에지는 제1 세트로부터의 사용자 노드 쌍 사이의 연결을 정의하는 한편, 제2 에지 타입에서 각각의 에지는 제1 세트로부터의 사용자 노드와 제2 세트에서 컨셉 노드 사이의 연결을 정의한다. 게다가, 제3 에지 타입에서 각각의 에지는 제2 세트에서 컨셉 노드 쌍 사이의 연결을 정의할 수 있다. 이런 실시예로, 에지 그 자체는 가령, 예컨대 에지를 연결하는 노드의 타입(예컨대, 사용자 또는 컨셉)을 기술하는 데이터, 에지가 연결하는 다른 노드에 대해 에지에 의해 연결되는 노드 쌍 중 하나의 관리자의 접근 권한(예컨대, 에지에 의해 연결되는 다른 노드에 대해 한 노드의 관리자의 읽기 또는 쓰기 접근), 또는 에지가 어떻게 또는 왜 먼저 개시되거나 생성되었는지(즉, 명시적인 사용자 행위나 선언에 응답하거나, 명시적인 사용자 행위 없이 자동으로)를 기술하는 데이터, 에지로 연결된 노드에 관한 또는 노드에 의해 공유된 다양한 요인이나 기준에 의해 결정되는 연결의 강도, 다른 적절하거나 관련된 데이터 등과 같이, 에지를 연결하는 노드 쌍 사이의 연결 타입을 정의하는 데이터를 저장할 수 있거나, 이런 데이터와 함께 저장될 수 있다. 대안의 실시예로, 각각의 에지는 에지를 연결하는 노드의 타입에 관계없이 노드 사이의 연결을 단순히 정의하거나 표현할 수 있다. 즉, 에지 그 자체는 에지가 연결하는 노드의 식별자를 저장하거나 식별자와 함께 저장될 수 있으나, 에지가 연결하는 노드 쌍 사이의 연결의 타입을 기술하는 데이터를 저장하거나 그 데이터와 함께 저장될 수 없다. 게다가, 임의의 이런 또는 다른 실시예에서, 에지에 의해 연결되는 노드 사이의 연결이나 관계의 타입을 나타낼 수 있는 데이터는 노드 그 자체와 함께 저장될 수 있다.
특정 실시예로, 컨셉 데이터베이스는 공지된 컨셉의 인덱스뿐만 아니라 일부의 실시예에서는 개별 컨셉과 관련된 다양한 속성, 메타데이터 또는 다른 정보를 포함한다. 특정 실시예로, 하나 이상의 백엔드(서버-측) 프로세스는 하나 이상의 외부 데이터 소스(예컨대, WIKIPEDIA(www.wikipedia.org), FREEBASE(METAWEB에서 이용가능한 www.freebase.com) 또는 통상의 인터넷)를 크롤(crawl)하여 컨셉 데이터베이스의 생성 및 파퓰레이팅(populating)을 용이하게 하거나 도와준다. 일부의 실시예로, 컨셉 데이터베이스는 또한 본 명세서에 기술된 소셜 네트워크 환경의 사용자들로부터 추출된 정보과 함께 증가할 수 있다.
특정 실시예는 또한 특정 사용자에 대한 관련성의 순서로 객체 노드를 순위화하는 방법에 관한 것이다. 특정 실시예로, 하나 이상의 서버-측 순위화 프로세스는 특정 사용자 노드와 각각의 객체 노드 세트 사이의 매치 계수를 기초로 사용자에게 디스플레이하기 위해 객체 노드들의 세트의 순위화를 생성한다. 더 상세하게, 하나 이상의 서버-측 순위화 프로세스는 사용자 노드와 연결된 각각의 속성 노드에 대하여 사용자 노드에 대한 그 속성 노드의 중요도를 결정할 수 있다.
하기에 예로서 제한 없이 더 상세히 기술되는 바와 같이, 이런 소셜 네트워킹 플랫폼의 다양한 부분들은 다양한 소프트웨어 구성요소나 프로세스가 특정 실시예를 구현할 수 있도록 하는 하드웨어 아키텍처 또는 소프트웨어 프레임 워크를 통해 구현될 수 있다. 이 플랫폼은 하나 이상의 통합형 또는 분산형 컴퓨팅 시스템에 위치하거나 체화될 수 있는 하나 이상의 하드웨어 또는 소프트웨어 구성요소를 포함할 수 있다. 추가로, 본 명세서에서 사용되는 바와 같이, "또는"은 "또는"뿐만 아니라 "및"을 의미할 수 있다, 즉 명시적으로 언급되거나 함축적으로 암시되는 것이 아니면, "또는"이 반드시 "및"을 제외하는 것은 아니다.
방금 설명한 바와 같이, 다양한 예시적인 실시예에서, 하나 이상의 설명된 웹 페이지 또는 웹 애플리케이션은 소셜 네트워크 환경 또는 소셜 네트워킹 서비스와 관련된다. 본 명세서에서 사용되는 바와 같이, "사용자"는 개인(사람인 사용자), 엔티티(예컨대, 기업, 비즈니스 또는 제3자 애플리케이션) 또는 이런 소셜 네트워크 환경과 상호작용하거나 이런 소셜 네트워크 환경에서 통신하는 (예컨대, 개인 또는 엔티티의) 그룹일 수 있다. 본 명세서에서 사용되는 바와 같이, "등록 사용자"는 소셜 네트워크 환경 내 공식적으로 등록된 사용자를 말한다(일반적으로, 본 명세서에 기술되는 사용자들 및 사용자 노드들은 오직 등록된 사용자들을 말하지만, 이는 다른 실시예에서 반드시 필요조건인 것은 아니다; 즉, 다른 실시예로, 본 명세서에 기술되는 사용자들 및 사용자 노드들은 본 명세서에 기술되는 소셜 네트워크 환경에 등록되지 않은 사용자들을 말할 수 있다). 특정 실시예로, 등록 사용자는 소셜 네트워크 환경에 의해 저장되거나 호스팅되며, 다른 사용자들의 전부 또는 선택된 부분집합에 의해 열람가능한 해당 "프로필" 페이지를 갖는다. 일반적으로, 사용자는 그들 자신의 개별 프로필 페이지의 전부나 일부에 대한 관리 권한뿐만 아니라, 잠재적으로 예컨대 홈 페이지, 웹 애플리케이션 호스팅 페이지 및 다른 가능성을 포함하는 특정 사용자에 의해 또는 특정 사용자용 다른 페이지에 대한 관리 권한을 갖는다. 본 명세서에서 사용되는 바와 같이, "인증 사용자"는 사용자가 관리 권한을 가지는 해당 프로필 페이지에서 주장되는 사용자로서 소셜 네트워크 환경에 의해 인증된 사용자, 또는 대안으로 상기 주장되는 사용자의 적합하게 신임된 대리인을 말한다.
본 명세서에서 사용되는 바와 같이, "연결(connection)"는 소셜 네트워크 환경의 사용자와 컨셉 사이의 정의된 관계를 나타낼 수 있는데, 이는 소셜 네트워크 환경의 적절한 데이터 구조에서 논리적으로 정의될 수 있으며, 연결을 맺은 소셜 네트워크 환경의 사용자 또는 컨셉에 해당하는 노드 사이의 관계(이하, 에지라고 함)를 정의하는데 사용될 수 있다. 본 명세서에서 사용되는 바와 같이, "친구관계(friendship)"는 가령 정의된 소셜 관계와 같이 소셜 네트워크 환경의 한 쌍의 사용자들 사이의 연결을 말한다. 본 명세서에서 사용되는 바와 같이, "친구"는 또 다른 사용자가 연결, 친구관계, 연관 또는 관계를 형성하여 2명의 사용자 사이에 에지가 생성되도록 하는 소셜 네트워크 환경의 임의의 사용자를 말한다. 예로써, 2명의 등록 사용자는 예컨대 다른 사용자에 대한 친구관계 요청을 전송하거나 전송되도록 한 후 그 사용자가 그 요청을 받아들이거나 거절할 수 있도록 하여 친구관계를 위해 2명의 사용자 중 하나가 다른 한 명을 선택함으로써, 명시적으로 서로 친구가 될 수 있다. 대안으로, 친구관계 또는 다른 연결은 자동으로 확립될 수 있다. 이런 소셜 친구관계는 다른 사용자들이, 특히 등록 사용자 중 하나 또는 모두와 친구인 사람들이 알아볼 수 있다. 또한, 등록 사용자의 친구는 등록 사용자의 프로필 또는 다른 페이지에 있는 컨텐츠, 특히 사용자-생성 또는 사용자-선언 컨텐츠에 대한 접근 권한을 증가시킬 수 있다. 그러나, 소셜 그래프에서 사용자 간에 확립된 친구 연결을 갖는 2명의 사용자가 반드시 실제생활(소셜 네트워킹 환경 외부)에서 (종래의 의미의) 친구이어야 하는 것은 아님을 유의해야 한다. 예컨대, 일부의 구현에서, 사용자는 비즈니스 또는 다른 비-인격 엔티티일 수 있으며, 따라서 단어의 통상의 의미로 사람인 사용자와 친구가 될 수는 없다.
본 명세서에서 사용되는 바와 같이, "팬(fan)"은 웹 페이지, 웹 애플리케이션 또는 소셜 네트워크 환경에서 접근가능한 다른 웹 컨텐츠의 지지자인 사용자를 말할 수 있다. 특정 실시예로, 사용자가 특정 웹 페이지의 팬(특정 웹 페이지의 "팬들")인 경우, 사용자는 다른 등록 사용자에 대한 팬으로서 또는 열람하는 일반 공중으로서 그 페이지에 리스트될 수 있다. 추가로, 사용자의 아바타 또는 프로필 사진이 그 페이지에(또는 하기에 기술되는 임의의 페이지에서/페이지 상에서) 나타날 수 있다. 본 명세서에서 사용되는 바와 같이, "좋아요(like)"는 사용자, 특히 등록 또는 인증 사용자가 그 또는 그녀가 좋아하거나, 지지하거나 즐기는 (다양한 예시적인 실시예로 본 명세서에서 사용되는 바와 같이, 컨셉이나 컨셉 프로필 페이지와 같은 어떤 것에 "좋아요" 하거나 "팬"인 것은 소셜 네트워킹 환경에서 동등하게 처리되거나 정의될 수 있으며, 교환하여 사용될 수 있다; 마찬가지로, 자신을 가령 컨셉 또는 컨셉 프로필 페이지와 같은 어떤 것의 "팬"이라고 선언하거나, 자신이 그것을 "좋아한다"고 선언하는 것은 소셜 네트워킹 환경에서 동등하게 정의될 수 있으며 본 명세서에서 교환하여 사용될 수 있다) 팬이거나, 긍정적인 견해를 갖는다고 선언하거나 명시한, 가령, 예로써 제한 없이, 관심사, 링크, 하나의 미디어(예컨대, 사진, 사진 앨범, 비디오, 노래 등), 컨셉, 엔티티 또는 페이지와 같은 임의의 무엇을 말한다. 본 명세서에서 사용되는 바와 같이, "관심사(interest)"는 가령 사용자의 프로필 페이지에 제시되는 사용자-선언 관심사와 같은 사용자-선언 관심사를 말한다. 본 명세서에서 사용되는 바와 같이, "바램(want)"은 사용자가 원하는 실제의 무엇을 말할 수 있다. 상술한 바와 같이, "컨셉(concept)"은 사용자가 예로써, 스포츠, 스포츠 팀, 음악 장르, 음악 작곡가, 취미, 비즈니스(기업), 엔티티, 그룹, 유명인사, 등록 사용자가 아닌 사람, 또는 심지어 일부 실시예에서는 또 다른 사용자(예컨대, 비-인증된 사용자) 등과 같은 것에 대한 관심, 그것에 대한 좋아요 또는 그것과의 관계를 선언하거나 명시할 수 있는 실제의 무엇을 말할 수 있다. 예로서, 하나 이상의 복수의 사용자들(예컨대, Jerry Rice 외의 사용자들)에 의해 생성되고 운영되는, 유명한 프로 풋볼 선수인 "Jerry Rice"에 대한 컨셉 노드 및 컨셉 프로필 페이지가 있을 수 있는 한편, 소셜 그래프는 Jerry Rice 그 자신에 의해 생성되고 운영되는 Jerry Rice에 대한 사용자 노드 및 사용자 프로필 페이지를 추가로 포함한다. 특정 실시예로, 하기에 더 상세히 기술되는 바와 같이, 친구 연결 또는 친구관계는 소셜 그래프에서 사용자 노드 사이의 에지로 정의되거나 표현된 논리상의 연결을 정의하거나 나타낼 수 있는 한편, 일반적으로 관심사 또는 연관을 명시하는 좋아요, 바램, 팬 또는 다른 연결은 소셜 그래프에서 사용자 노드와 컨셉 노드 사이의 (그리고 일부의 실시예로 2명의 사용자 노드 사이 또는 2개의 컨셉 노드 사이의) 논리상의 연결이나 에지를 정의할 수 있다. 다른 에지 타입은 가령 노래 또는 영화와 같은 한 객체에 대해 사용자가 한 특정 행위에 해당할 수 있다. 예컨대, 추가의 에지 타입은 컨텐츠나 객체를 구매하는 것, 컨텐츠를 열람하거나 듣는 것, 컨텐츠를 공유하는 것, 컨텐츠를 북마킹하는 것 등에 해당하는 에지 타입들을 포함할 수 있다.
특정 실시예는 다중 네트워크 주소화 시스템을 포함하는, 가령 인터넷과 같은 광역 네트워크 환경에서 동작할 수 있다. 도 1은 다양한 예시적인 실시예들이 동작할 수 있는 예시적인 네트워크 환경을 도시한다. 네트워크 클라우드(60)는 일반적으로 본 명세서에 기술된 다양한 시스템 및 호스트가 통신할 수 있는 하나 이상의 상호연결된 네트워크를 나타낸다. 네트워크 클라우드(60)는 패킷-기반 광역 네트워크(가령 인터넷), 사설 네트워크, 무선 네트워크, 위성 네트워크, 셀룰러 네트워크, 무선호출(paging) 네트워크 등을 포함할 수 있다. 도 1이 도시하는 바와 같이, 특정 실시예는 소셜 네트워킹 시스템(20)과 클라이언트 장치(30)뿐만 아니라, 일부의 실시예에서는 하나 이상의 제3자 웹 애플리케이션 서버(40) 또는 하나 이상의 엔터프라이즈 서버(50)를 포함하는 네트워크 환경과 함께 동작할 수 있다. 클라이언트 장치(30), 웹 애플리케이션 서버(40) 및 엔터프라이즈 서버(50)는 네트워크 서비스 제공자, 무선 반송파, 한 세트의 라우터나 네트워킹 스위치 또는 임의의 다른 적합한 수단을 통해 네트워크 환경과 네트워크 클라우드(60)로 동작가능하게 연결될 수 있다.
각각의 클라이언트 장치(30), 웹 애플리케이션 서버(40) 또는 엔터프라이즈 서버(50)는 일반적으로 컴퓨터 네트워크에서 (예컨대, 원격으로) 통신하기 위한 기능을 포함하는 (가령 도 9에 참조로 하기에 기술되는 것과 같은) 컴퓨터, 컴퓨팅 시스템 또는 컴퓨팅 장치일 수 있다. 클라이언트 장치(30)는 다른 적합한 컴퓨팅 장치들 가운데, 데스크톱 컴퓨터, 랩톱 컴퓨터, 개인 정보 단말기(PDA), 차량 내외 항법시스템, 스마트폰이나 다른 셀룰러나 모바일 장치, 또는 모바일 게임장치일 수 있다. 클라이언트 장치(30)는, 도 2b에 도시된 바와 같이, 가령 웹 브라우저(예컨대, 마이크로소프트 윈도우 인터넷 익스플로러, 모질라 파이어폭스, 애플 사파리, 구글 크롬 및 오페라 등)와 같은 하나 이상의 클라이언트 애플리케이션을 실행하여 컴퓨터 네트워크(60)를 통해 컨텐츠에 접근하고 컨텐츠를 열람할 수 있다. 특정한 구현으로, 클라이언트 애플리케이션은 클라이언트 장치(30)의 사용자가 가령 소셜 네트워킹 환경(20)에 의해 호스팅된 자원, 웹 애플리케이션 서버(40) 또는 엔터프라이즈 서버(50)와 같이 검색되는 특정 네트워크 자원의 주소로 들어갈 수 있도록 해준다. 이들 주소는 URL(Uniform Resource Locators)일 수 있다. 또한, 일단 페이지나 다른 자원이 검색되었다면, 클라이언트 애플리케이션은 사용자가 다른 자원으로의 하이퍼링크를 "클릭"하는 경우 다른 페이지나 레코드로의 접속을 제공할 수 있다. 예로서, 이런 하이퍼링크는 웹 페이지 내에 위치할 수 있으며, 사용자가 또 다른 페이지의 URL에 들어가고 그 페이지를 검색하는 자동화 방식을 제공할 수 있다.
더 상세하게, 클라이언트 장치(30)에서 사용자가 소셜 네트워크 환경(20)에 의해 호스팅된 특정 웹페이지(이하, 타겟 구조화 문서라고 또한 함) 또는 웹 애플리케이션 서버(40)에 의해 호스팅되고 소셜 네트워크 환경(20)과 함께 이용가능하도록 하는 웹 애플리케이션을 열람하고자 하는 경우, 사용자의 웹 브라우저(202) 또는 다른 클라이언트-측 구조화 문서 렌더링 엔진이나 적절한 클라이언트 애플리케이션은 요청을 만들어내고 소셜 네트워크 환경(20)으로 전송한다. 요청은 일반적으로 URL이나 다른 문서 식별자뿐만 아니라 메타데이터나 다른 정보를 포함한다. 예로서, 요청은 가령 사용자 ID와 같은 사용자를 식별하는 정보뿐만 아니라 사용자의 클라이언트 컴퓨팅 장치(30)에서 실행하는 웹 브라우저(202)나 운영 시스템을 식별하거나 특징짓는 정보를 포함할 수 있다. 또한, 요청은 사용자의 클라이언트 장치의 지리적 위치나 사용자의 클라이언트 장치의 논리적 네트워크 위치를 식별하는 위치 정보뿐만 아니라 요청이 전송되었던 시간을 식별하는 타임스탬프를 포함할 수 있다.
예시적인 구현으로, 소셜 네트워크 환경(20)에 의해 호스팅되는 웹페이지나 구조화된 문서에 대한 요청이 소셜 네트워크 환경(20)에 의해 수신되는 경우, 소셜 네트워크 환경(20) 내에서 실행하는 하나 이상의 페이지-생성 프로세스(200)는 통상 하이퍼텍스트 마크업 언어(HTML), 확장형 마크업 언어(XML) 또는 다른 웹 브라우저-지원 구조화된 문서의 형태로 베이스 웹페이지를 생성한다. 이후, 생성되는 구조화된 문서는 하나 이상의 부분이나 부분 응답을 포함할 수 있는 응답으로 하이퍼텍스트 전송 프로토콜(HTTP)이나 클라이언트 장치(30)에서 웹 브라우저(202)에 의해 렌더링하기 위한 다른 적절한 연결을 통해 요청중인 클라이언트(30)로 전송된다. 구조화된 문서는 하나 이상의 자원(예컨대,자바스트립트(JavaScript)의 스크립트, 코드 세그먼트 또는 자원, 캐스캐이딩 스타일 시트(Cascading Style Sheet, CSS) 코드 세그먼트 또는 자원, 이미지 데이터나 자원, 비디오 데이터나 자원 등) 또는 전송되는 문서 내에 내장되는 그런 자원으로의 참조를 포함할 수 있다. 예로서, HTML 문서에 내장되는 자원은 일반적으로 자원의 타입에 따라 스크립트 요소, 이미지 요소 또는 객체 요소 등 내에 포함되거나 특정될 수 있다. 자원을 참조하거나 특정하는 요소는 소셜 네트워크 환경(20) 내에 또는 하나 이상의 외부 위치에 서버 또는 데이터 스토어 내에 있을 수 있는 자원의 위치를 웹페이지를 요청중인 클라이언트 장치(30)로 식별하는 소스 속성(예컨대, src)을 포함할 수 있다. 통상, 응답을 수신하자마자, 클라이언트 장치(30)에서 실행하는 웹 브라우저(202)나 다른 클라이언트 문서 렌더링 애플리케이션은 이후 수신되는 구조화된 문서의 DOM(Document Object Model) 표현을 구성하며, 그 문서에 내장된 (하나 이상의 다른 외부 위치에 있을 수 있는) 자원(들)을 요청한다.
예시적인 구현으로, 소셜 네트워크 환경(20)의 등록 사용자가 먼저 소정의 사용자 세션에서 소셜 네트워크 환경(20)으로부터 웹페이지를 요청할 때, 소셜 네트워크 환경(20)에서 사용자의 클라이언트 장치(30)로 전송된 응답은 클라이언트 장치에서 로그인 페이지를 렌더링하기 위한 페이지-생성 프로세스로 생성된 구조화된 문서를 포함할 수 있다. 이후, 사용자는 그 또는 그녀의 로그인 크리덴셜(예컨대, 사용자 ID 및 패스워드)을 입력할 수 있으며, 그 다음 로그인 크리덴셜은 사용자의 클라이언트 장치(30)에서 소셜 네트워크 환경(20)으로 전송된다. 사용자를 성공적으로 인증하자마자, 소셜 네트워크 환경(20)은 이후 사용자의 클라이언트 장치(30)에 사용자의 웹 브라우저(202)로 사용자의 클라이언트 장치에서 사용자 홈페이지나 사용자 프로필 페이지를 렌더링하기 위한 페이지-생성 프로세스로 생성되는 구조화된 문서를 포함하는 응답을 전송할 수 있다.
일예의 실시예에서, 소셜 네트워킹 환경(20)은 본 명세서에 기술된 바와 같이 클라이언트 장치(30)에서 사용자들이 서로 통신하거나 상호작용하며 가령 사용자 프로필과 같은 컨텐츠에 접속할 수 있도록 해주는 컴퓨팅 시스템을 포함한다. 도 2a에 도시된 바와 같이, 소셜 네트워킹 환경(20)은 다양한 예시적인 실시예에서 하나 이상의 물리적 서버(22a 또는 22b)(이하에서는 총괄하여 서버(22)라고도 함)뿐만 아니라, (하나 이상의 다양한 통합형이나 분산형 컴퓨팅 시스템, 데이터베이스 또는 데이터 서버에서 또는 그에 의해 구현될 수 있는) 본 명세서에서 총괄하여 데이터 스토어(24)라고 하는 하나 이상의 데이터 스토어를 포함하는 네트워크 주소화 시스템이다. 하나 이상의 물리적 서버(22)는 예로써, 한 세트의 라우터 또는 네트워킹 스위치(26)를 통해 컴퓨터 네트워크(60)와 동작가능하게 연결된다. 예시적인 실시예로, 하나 이상의 물리적 서버(22)에 의해 호스팅되는 기능은 웹 또는 HTTP 서버, FTP 서버뿐만 아니라, 제한 없이, 공통 게이트웨이 인터페이스(CGI) 스크랩트를 사용하여 구현되는 웹 페이지와 애플리케이션, PHP 하이퍼-텍스트 전처리기(PHP), 액티브 서버 페이지(ASP), 하이퍼 텍스트 마크업 언어(HTML), 확장형 마크업 언어(XML), 자바, 자바스크립트, 비동기 자바스크립트와 XML(AJAX) 등을 포함할 수 있다.
물리적 서버(22)는 소셜 네트워킹 환경(20)의 동작에 관한 기능을 호스트 할 수 있다. 예로서, 소셜 네트워킹 환경(20)은 하나 이상의 클라이언트 장치(30)에서 하나 이상의 사용자들이 정보를 열람 및 게시할 뿐만 아니라 웹사이트를 통해 서로 통신할 수 있도록 해주는 웹사이트를 호스트 할 수 있다. 서버(22)가 예컨대 소셜 네트워킹 환경(20)을 호스팅하는 많은 서버들뿐만 아니라 다른 컨텐츠 분배 서버, 데이터 스토어 및 데이터베이스를 포함할 수 있지만, 이하에서, 서버들(22)은 서버(22)라고 한다. 데이터 스토어(24)는 컨텐츠 객체를 포함하는 디지털 데이터 객체로서 소셜 네트워킹 환경의 동작과 관련되고 동작가능하게 해주는 컨텐츠 및 데이터를 저장할 수 있다. 특정한 구현으로, 데이터 객체는 데이터 파일, 데이터베이스 또는 레코드에 통상 저장되거나 포함되는 디지털 정보의 아이템이다. 컨텐츠 객체는 텍스트(예컨대, ASCII, SGML, HTML), 이미지(예컨대, jpeg, tif 및 gif), 그래픽(벡터-기반 또는 비트맵), 오디오, 비디오(예컨대, mpeg) 또는 다른 멀티미디어, 및 이들의 조합을 포함하는 많은 형태를 취할 수 있다. 또한, 컨텐츠 객체 데이터는 실행가능한 코드 객체(예컨대, 브라우저 윈도우 또는 프레임 내의 실행가능한 게임), 팟캐스트(podcast) 등을 포함할 수 있다. 논리적으로, 데이터 스토어(24)는 하나 이상의 물리적 시스템에 저장된 논리적으로 관계된 레코드 또는 파일의 통합 모음으로서 정보를 관리하는, 가령 관계형 데이터베이스 및 객체-지향형 데이터베이스와 같은 하나 이상의 다양한 개별 또는 통합 데이터베이스에 해당한다. 구조적으로, 데이터 스토어(24)는 하나 이상의 많은 계층의 데이터 저장 및 관리 시스템을 일반적으로 포함할 수 있다. 특정 실시예로, 데이터 스토어(24)는 가령 하나 이상의 데이터베이스 서버, 대량 저장 미디어, 미디어 라이브러리 시스템, 저장 영역 네트워크, 데이터 저장 클라우드 등과 같은 구성요소를 포함하는 임의의 적합한 물리적 시스템(들)에 의해 구현될 수 있다. 일예의 실시예에서, 데이터 스토어(24)는 하나 이상의 서버, 데이터베이스(예컨대, MySQL) 및/또는 데이터 웨어하우스(warehouses)를 포함할 수 있다.
데이터 스토어(24)는 서로 다른 소셜 네트워크 환경(20) 사용자들, 클라이언트 장치(30), 웹 애플리케이션 서버(40) 또는 엔터프라이즈 서버(50)와 관련되는 데이터뿐만 아니라, 특정 실시예에서는 다양한 컨셉과 관련되는 데이터를 포함할 수 있다. 상술한 바와 같이, 특정 실시예는 통합형 소셜 네트워크 환경을 가능하게 하는 플랫폼을 포함하는 소셜 네트워크 환경(20)에 관한 것이다. 하기의 예시적인 실시예로, 소셜 네트워크 환경은 소셜 그래프 정보를 포함하는 소셜 그래프의 관점에서 기술되거나 구현될 수 있다. 특정 실시예로, 데이터 스토어(24)는 본 명세서에 기술되는 소셜 네트워크 환경을 구현하는데 사용하기 위한 소셜 그래프 정보가 저장되는 소셜 그래프 데이터베이스를 포함한다. 특정 실시예로, 데이터 스토어(24), 특히 소셜 그래프 데이터베이스에서 소셜 네트워크 환경(20)에 의해 저장되는 소셜 그래프 정보는 복수의 노드와 해당 노드 사이의 연결을 정의하는 복수의 에지를 포함한다. 특정 실시예로, 노드 또는 에지 그 자체는 (하기에 기술되는 바와 같이) 해당 사용자 또는 컨셉에 대한 식별자, 속성 및 (해당 프로필 페이지에 대한 정보를 포함하는) 정보를 포함하는 데이터 객체이며, 이들의 일부는 실제로 해당 프로필이나 다른 페이지에 렌더링된다. 또한, 노드는 개별 노드에 해당하는 프로필 페이지의 렌더링과 함께 컨텐츠를 렌더링하는데 사용하기 위한 포인터나 다른 객체로의 참조, 데이터 구조 또는 자원을 포함할 수 있다.
도 3은 훈시적 목적상 2차원 시각적 지도 표현으로 나타낸 예시적인 소셜 그래프(300)를 도시한다. 특정 실시예로, 소셜 그래프(300)의 복수의 노드와 에지는 데이터 스토어(24), 특히 소셜 그래프 데이터베이스에 데이터 객체로서 저장된다. 추가로, 이하에서 기술되는 바와 같이, 데이터 스토어(24)는 소셜 그래프 데이터베이스를 인덱싱하여 생성되는 노드나 에지의 하나 이상의 검색가능하거나 질의가능한 인덱스를 더 포함할 수 있다. 특정 실시예로, 복수의 노드는 관리 노드(302)의 제1 세트 및 비-관리 노드(304)의 제2 세트를 포함한다. 특정 실시예로, 관리 노드(302)의 제1 세트는 개별 사용자와 그 사용자의 개별 사용자 프로필 페이지에 각각 해당하는 사용자-관리 노드(이하에서는 "사용자 노드"라고도 함)이다. 특정 실시예로, 사용자 노드(304)에 해당하는 사용자 프로필 페이지는 (예컨대 등록 사용자가 행한 양심적이거나 부적절한 행위의 결과로서, 일반적으로 소셜 네트워크 환경(20)의 공식 관리자가 사용자의 프로필 페이지를 수정하거나 삭제하도록 접속하고자 하거나 접속을 필요로 하지 않는다면) 개별 소유 (등록) 사용자에 의해 그리고 그에 의해서만 수정되거나, 기록되거나, 관리될 수 있다. 특정한 일실시예로, 사용자 노드(302)의 제1 세트는 인증 노드(302a)의 제1 서브세트 및 비-인증 노드(302b)의 제2 세트를 포함한다. 특정 실시예로, 인증 노드(302a)의 제1 서브세트는 각각의 등록 인증 사용자에 해당하는 반면, 비-인증 노드(302b)의 제2 서브세트는 소셜 네트워크 환경에 의해 인증되지 않은 등록 사용자에 해당한다. 예컨대, 인증 사용자는 그들이 그 또는 그녀의 개별 프로필 페이지에 있다고 주장하는 사람임이 확인된 사용자일 수 있는 반면, 비-인증 사용자는 그들이 그 또는 그녀의 개별 프로필 페이지에 있다고 주장하는 사람임이 확인되지 않은 사용자일 수 있다(예컨대, 비-인증 사용자가 대통령 오바마가 아니라도 비-인증 사용자는 대통령 버락 오바마의 이름의 프로필 페이지를 등록할 수 있다). 일부의 실시예로, 몇몇 기존의 사용자 프로필 페이지에 대해, 소셜 네트워크 환경(20)은 사용자 프로필 페이지의 관리자가 진실로 주장되는 사용자(사용자가 주장하는 실제 사람)의 본인의 음성인지를 결정할 수 있다. 현재 관리자가 실제로 또는 진실로 주장되는 사용자가 아니라고 결정되면, 소셜 네트워크 환경(20)은 그 페이지에 대한 그 사용자의 관리상의 권리를 제거할 수 있다. 이런 방식으로, 사용자 노드와 해당 사용자 프로필 페이지는 소셜 그래프 데이터베이스에 저장된 소셜 그래프 정보에 컨셉 노드(304)와 해당 컨셉 프로필 페이지로 재정의될 수 있다. 다양한 실시예에서, 사용자 노드(302a 및 302b)는 다른 노드 타입들과 구분하여 분류될 수 있거나 분류되지 않을 수 있음을 더 유의해야 한다; 즉, 일실시예로, 사용자 노드(302)는 명시적인 사용자 노드 타입이나 서브-타입에 의해서 보다는 그 노드에 해당하는 데이터 객체와 함께 또는 그 객체 내에 저장된 데이터를 기초로 인증 사용자 노드 또는 비-인증 사용자 노드로서 식별될 수 있다.
도 4a는 사용자 노드(302)에 해당하는 사용자의 예시적인 사용자 프로필 페이지를 도시한다. 특정 실시예로, 사용자 프로필 페이지는 개인정보 설정에 따라 사용자, 사용자의 친구 및 심지어 다른 친구가 아닌 사용자에게 보일 수 있는데, 그 설정은 예컨대 사용자의 프로필 페이지나 사용자 홈페이지를 통해 사용자에 의해 설정되거나 수정될 수 있다. 사용자 프로필 페이지는 하나 이상의 탭(401)의 선택을 통해 열람가능하거나 접속가능한 많은 다른 서브페이지를 포함할 수 있다. 예로서, 도 4a에 도시된 실시예로, 사용자 프로필 페이지는 (하기에 기술되는) 게시물에 대한 담벼락(피드)에 접속하기 위한 담벼락(피드) 탭(Wall (feed) tab)(401a), 사용자에 대한 또는 사용자와 관련한 정보를 입력하고 디스플레이하기 위한 정보(Info) 탭(401b), 포토를 업로드하고 디스플레이하기 위한 포토(Photos) 탭(401c) 및 박스(Boxes) 탭(401d)을 포함한다. 사용자는 사용자 프로필 사진(403)으로 디스플레이하기 위한 사진 탭(401c)에 업로드된 특정 포토나 사진을 선택할 수 있다. 예시적인 구현으로, 사용자의 프로필 사진(403)뿐만 아니라, 메시지를 또 다른 사용자에게 송신하거나, 프로필 페이지를 편집하거나, 사용자의 친구들을 열람하거나, 사용자의 포토를 열람하는 옵션과 같은 다른 특징들은 예컨대 어느 탭들(401)이 선택되더라도 그 페이지의 "크롬(chrome)" (경계) 영역에 디스플레이될 수 있다. 일부의 구현으로, 검색 바 또는 검색 인터페이스는 또한 사용자가 검색하고자 하는 다른 사용자들의 이름 또는 개념과 같은 정보를 사용자가 타이핑할 수 있게 하는 사용자 프로필 페이지(뿐만 아니라 다른 페이지들)의 크롬에 렌더링된다.
일반적으로, 사용자 프로필 페이지를 통해 사용자와 다른 사용자들에게 접속가능하거나 가시적인 정보의 큰 일부 또는 전부가 자기-선언(self-declared)된다; 즉, 사용자는 사용자 프로필 페이지가 생성될 때 디폴트로 자동으로 나타날 수 있거나 나타날 수 없는 다양한 섹션나 형태의 정보 또는 컨텐츠를 타이핑 또는 입력한다. 특정 실시예로, 사용자는 사용자가 소셜 네트워크 환경(20)으로 로깅될 때마다 그 또는 그녀의 사용자 프로필 페이지를 편집할 수 있다. 예로서, 사용자 프로필은 정보 탭(401b) 아래의 기본 정보 섹션(402)에, 예컨대 적절한 이름(사람의 이름, 중간이름 및 성, 비즈니스 엔티티의 상표명 또는 회사명 등), 인명 정보, 인구학적 정보 및 다른 타입의 설명적 정보를 포함할 수 있는, 소셜 네트워크 환경(20)에 의해 가능해지는 소셜 네트워크의 각각의 사용자를 설명하는 데이터를 포함한다. 기본 정보 섹션(402)은 사용자의 성별, 현재 거주 도시, 생일, 고향, 관계 상태, 정치적 견해, (예컨대, 친구, 관계, 데이팅, 네트워킹 등을 찾기 위해) 사용자가 무엇을 검색중인지나 사용자가 어떻게 소셜 네트워크를 사용중인지 등을 더 포함할 수 있다.
특정 실시예로, 사용자 프로필 페이지는 또한 사용자가 더 많은 개인적 선언을 입력할 수 있는 개인 정보 섹션(406)을 포함할 수 있다. 예로서, 개인 정보 섹션(406)은 사용자가 그, 그녀 또는 그것이 예컨대 스포츠 또는 음악과 같은 것에 참여하거나 즐기는 다양한 활동을 선언할 수 있는 서브-섹션(408)을 포함할 수 있다. 예컨대, 섹션(408)에서, 사용자는 예컨대 활동들을 단순히 리스팅함으로써 이런 활동들을 선언할 수 있다. 예컨대, 사용자는 "역도, 하이킹, 탁구 치기 및 푸즈볼(foozball)"을 리스팅할 수 있거나, 예컨대 "나는 역도를 즐기는 중이다, 나는 하이킹을 좋아한다, 나는 탁구를 매우 좋아한다, 나는 푸즈볼을 잘한다"와 같은 문구를 사용할 수 있다. 사용자는 예컨대 콤마(commas), 세미콜론(semicolons), 대시(dashes) 또는 캐리지 리턴(carriage return)로 그 또는 그녀의 선언된 활동(및 하기에 기술되는 다른 선언들)을 나누거나 그린다. 또한, 예시적인 개인 정보 섹션(406)은 사용자가 다양한 관심사를 선언할 수 있는 서브-섹션(410)을 포함할 수 있다. 재차, 사용자는 예컨대 "독서 및 사진찍기"를 타이핑하거나, 예컨대 "나는 독서를 좋아한다, 나는 사진찍기를 좋아한다"와 같은 문구를 사용하여, 이런 관심사를 단순히 리스팅할 수 있다. 또 다른 예로서, 관심사 섹션(406)은 그 또는 그녀가 좋아하거나 관심이 있는 음악을 사용자가 선언할 수 있는 가장 좋아하는 음악 서브-섹션(412), 가장 좋아하는 TV쇼 서브-섹션(414), 가장 좋아하는 영화 서브-섹션(416), 가장 좋아하는 책 서브-섹션(418), 가장 좋아하는 인용구 서브-섹션(420) 및 심지어 이전에 기술된 섹션에는 맞지 않을 수 있는 그 또는 그녀 자신에 대한 일반 선언을 사용자가 입력할 수 있는 일반적인 "나에 대하여(about me)" 서브-섹션(422)을 포함할 수 있다.
특정 실시예로, 사용자 프로필 페이지는 또한 예컨대 이메일 주소, 전화번호 및 거주 도시를 포함하는 다양한 연락정보를 사용자가 입력할 수 있는 연락정보 섹션(424)을 포함할 수 있다. 또한, 사용자 프로필 페이지는 사용자가 그 또는 그녀의 학력을 입력할 수 있는 교육 및 일 섹션(426)을 포함할 수 있다. 예로서, 예컨대 "스탠포드 대학"을 단순히 타이핑하거나, "나는 스탠포드 대학에 다녔다"를 타이핑하거나, 메뉴 인터페이스로부터 스탠포드 대학을 선택함으로써, 사용자는 섹션(426)에서 그 또는 그녀는 스탠포드 대학에 다녔다고 선언할 수 있다. 또한, 사용자는 예컨대 수여한 학위, 학과, 졸업 날짜 등과 같은 더 많은 특정 정보를 기술할 수 있다. 또 다른 예로서, 섹션(426)은 사용자가 사용자의 경력을 입력할 수 있게 할 수 있다. 예로서, 사용자는 예컨대 "회사 Z"를 단순히 타이핑하거나, "나는 회사 Z에서 일한다"라고 타이핑하거나, 메뉴에서 회사 Z를 선택함으로써, 그 또는 그녀가 회사 Z에서 일한다고 선언할 수 있다.
특정 실시예로, 하기에 더 상세히 기술되는 바와 같이, 하나 이상의 이전에 기술된 섹션 또는 서브-섹션에 입력된 선언들의 하나 이상의 용어들은 하이라이팅되거나, 다른 색으로 렌더링되거나, 밑줄쳐지거나, 클릭가능해질 수 있다. 예로서, 선언들로 입력되는 하나 이상의 용어들 및 특히 공지된 컨셉이나 기존의 컨셉 노드(304)에 부합되는 용어들은 클릭이나 선택시 사용자를 그 용어 전용이고, 특정 실시예로 선언된 용어와 동일하거나 유사한 이름을 가지는 컨셉 프로필 페이지로 인도하는 하이퍼링크와 관련될 수 있다. 예로서, 가장 좋아하는 TV쇼 섹션(414)에서 "Family Guy"에 해당하는 하이퍼링크를 클릭하면 사용자는 Family Guy TV쇼 전용 웹페이지(하기에 기술되는 바와 같은 컨셉 프로필 페이지/허브)로 인도될 수 있다.
특정 실시예로, 사용자 프로필 페이지는 또한 소셜 그래프 데이터베이스에 저장된 소셜 그래프에서 에지에 의해 정의되는 것으로 사용자의 친구들의 전부 또는 서브세트를 디스플레이하는 (크롬이나 페이지의 다른 영역에서 볼 수 있는) 친구 섹션(428)을 포함한다. 특정 실시예로, 사용자는 친구와 관련된 이름이나 썸네일 이미지(429)를 클릭하여 선택된 친구의 사용자 프로필 페이지로 인도될 수 있다. 특정 실시예로, 제2 사용자가 사용자의 친구일 수 있는지 여부에 관계없이 사용자가 또 다른 제2 사용자에 대해 행하는 임의의 행위 및, 특정 실시예로 사용자가 다양한 컨셉 노드에 대해 행하는 행위들은 담벼락 (피드) 탭(401a) 하의 담벼락 (피드) 섹션(432) 내의 서브-섹션으로 열람될 수 있는 최근 활동 섹션(430)에 디스플레이될 수 있다. 통상, 담벼락 (피드) 섹션(432)은 사용자와 친구들이 그들이 보는 메시지를 입력 박스(434)를 통해 게시할 수 있게 할 뿐만 아니라, 담벼락(피드)의 게시물과 관련하여 코멘트하거나 그 자신을 표현할 수 있게 하는 모든 사용자 프로필 페이지 상의 공간이다.
특정 실시예로, 비-관리 노드(304)의 제2 세트는 각각의 컨셉 전용의 개별 컨셉 및 개별 컨셉 프로필 페이지(이하, "허브"라고도 함)에 각각 해당하는 비-관리 노드이다. 특정 실시예로, 비-관리 노드(304)("컨셉 노드" 또는 "허브 노드"라고도 함)는 일반적으로 임의의 한 사용자에 의해 관리되지 않는 각각의 컨셉 프로필 페이지(허브)를 가지는 노드이다; 대신, 특정 실시예로, 허브는 일반적으로 특정 실시예에서 허브 노드(304)와 연결되지 않은 사용자들(즉, 사용자 노드(302)가 소셜 그래프 데이터베이스에서 소셜 그래프의 에지로 허브 노드(304)와 반드시 연결되지는 않은 사용자들)을 포함하는 소셜 네트워크 환경(20)의 임의의 등록 사용자에 의해, 적어도 일부, 관리되거나, 생성되고, 작성되며 기여되거나 수정될 수 있다. 어떤 의미로, 허브는 소셜 네트워크 환경(20)의 등록 사용자들의 커뮤니티에 의해 관리되거나 기여될 수 있다. 특정 실시예로, 허브 노드(304)의 제2 세트는 비-포괄 허브에 각각 해당하는 비-관리 노드(304a)의 제1 서브세트 및 포괄 허브에 각각 해당하는 비-관리 노드(304b)의 제2 서브세트를 포함한다. 예로서, 포괄 허브는 달리기와 같은 추상적 활동 전용의 허브일 수 있는 반면, 비-포괄 허브는 러너의 특정 클럽 전용의 프로필 페이지와 같이 더 구체적인 컨셉 전용의 허브일 수 있다. 다양한 실시예로, 노드들(304a 및 304b)은 다른 노드 타입과 구별되게 분류될 수 있거나 분류되지 않을 수 있음에 더 유의해야 한다; 즉, 일실시예로, 허브 노드(304)는 명시적인 허브 노드 타입 또는 서브-타입에 의해서라기 보다는 허브 노드에 해당하는 데이터 객체와 함께 또는 그 데이터 객체 내의 데이터를 기초로 포괄 허브 노드 또는 비-포괄 허브 노드로서 식별될 수 있다.
사용자 프로필 페이지와 마찬가지로, 컨셉 프로필 페이지("허브")는 해당 허브 노드(304)와 관련된 컨셉에 관한 정보를 공유한다. 특정 실시예로, 소셜 네트워크 환경(20)으로 로그인되고 허브를 열람하는 임의의 등록 사용자는 컨텐츠를 위키-사이트(wiki-site)와 유사한 허브로 추가할 수 있다. 도 5는 영화 "The Shawshank Redemption"에 대한 예시적인 허브를 도시한다. 예시적인 실시예로, 도 5에 도시된 바와 같이, 허브는 사용자 프로필 페이지와 유사하게 담벼락 (피드) 탭(501a), 정보 탭(501b), 포토 탭(501c) 및 박스 탭(501d)을 통해 접근가능한 서브-페이지들을 포함할 수 있다. 또한, 허브는 일반적으로 기본 정보 섹션(502), 상세 정보 섹션(504)뿐만 아니라, (특정 실시예로, 사용자 생성 컨텐츠나 사용자 추가 컨텐츠가 허브에 보이기 전에 컨텐츠 승인이나 동기화 프로세스와 관련된 시간 지연이 있을 수 있지만) 잠재적으로 허브를 열람하는 임의의 사용자에 의해 통상 채워질 수 있거나, 추가적 또는 대안적으로 외부 또는 제3자 소스(예컨대, WIKIPEDIA)로부터의 정보의 추출을 기초로 한 임의의 전부의 다른 섹션들을 포함할 수 있다. 또한, 허브는 사용자가 컨셉 내의 이미지 또는 컨셉과 관련된 이미지를 업로드할 수 있게 하는 포토 탭(501c) 하의 포토 또는 사진 섹션을 포함할 수 있으며, 이미지들 중 하나는 허브에 대한 프로필 사진(512)으로 선택될 수 있다.
특정 실시예로, 담벼락 (또는 뉴스 피드/활동 피드) 섹션(501a) 또는 허브의 다른 피드나 활동 섹션은 코멘트, 상태 업데이트, 담벼락 게시물 및 그 허브를 열람중인 사용자 및 사용자의 친구들과 관련된 다른 사용자 활동을 디스플레이한다. 또한, 담벼락 (또는 뉴스 피드/활동 피드) 섹션(501a) 또는 허브의 다른 피드나 활동 섹션은 코멘트, 상태 업데이트, 담벼락 게시물 및 그 허브가 생성되는 컨셉과 관련이 있는 다른 사용자 활동과 사용자 생성 컨텐츠를 디스플레이할 수 있다. 더 상세하게, 소셜 네트워킹 환경(20) 내의 하나 이상의 프로세스는 코멘트, 상태 업데이트, 담벼락 게시물 및 컨셉에 의해 필터링되는 요청중인 사용자 및 그 요청중인 사용자의 친구들과 관련된 다른 사용자-생성 컨텐츠와 사용자 활동에 대한 검색; 즉, 요청중인 사용자 및 그 요청중인 사용자의 친구들에 관한 사용자 피드나 활동의 스트림에서 현재 요청되거나 열람되는 허브의 컨셉에 관한 키워드(및 추천 허브와 관련된 컨셉에 관한 잠재적 키워드)에 대한 키워드 검색을 수행할 수 있고, 현재 요청되거나 열람되는 허브의 담벼락 또는 피드 섹션(501a)에서 사용자 컨텐츠 또는 활동의 이런 서브세트를 디스플레이한다. 예로서, 발명의 명칭이 "REAL TIME CONTENT SEARCHING IN SOCIAL NETWORK"이고 2010년 2월 11일에 출원된 미국특허출원 No.12/704,400은 이런 검색, 필터링 및 디스플레이를 수행하는 방법, 프로세스 또는 시스템을 기술하며, 본 명세서에 참조로 통합된다. 또한, 담벼락 또는 피드 섹션(501a)은 단지 허브를 열람하는 사용자 및 그 사용자의 친구들의 것들이 아니라, 허브가 생성되었던 컨셉에 관한 코멘트, 상태 업데이트, 담벼락 게시물 및 소셜 네트워킹 환경(20)의 임의의 모든 사용자들의 다른 사용자 활동을 디스플레이하는, 방금 기술된 것과는 분리된 섹션일 수 있는 섹션을 포함할 수 있다.
특정 실시예로, 허브의 생성시 특정 허브에 디스플레이되는 디폴트 섹션은 컨셉 그 자체에 따라 다를 수 있다; 즉, 허브 노드(304)는 소셜 네트워크 환경(20)에 의해 카테고리화될 수 있고, 이런 카테고리(예컨대, 사람, 장소, 사물, 활동, 스포츠, 스포츠 팀, 유명인사, 도시, 위치, 영화, 배우, 책, 레스토랑 등)는 어느 섹션이 특정 허브에서 디스플레이되는지를 적어도 일부 좌우할 수 있다. 예로서, 영화 허브는 도 5에 도시되는 바와 같이 영화에 출연한 배우들을 입력하는 섹션이나 서브-섹션뿐만 아니라, 감독, 작가, 개봉 스튜디오, 개봉 날짜 등과 같은 정보를 입력하는 섹션이나 서브-섹션을 포함할 수 있다. 특정 실시예로, 허브는 또한 도 5에 도시되는 예에서 팬 섹션(508)과 같이, 컨셉으로 또는 컨셉과 연결(과 소셜 그래프의 해당 에지)을 맺은 사용자들을 리스팅하거나 디스플레이하는 (특정 실시예로 어느 탭들(501)이 현재 선택되더라도 볼 수 있는) 섹션(508)을 포함한다. 예로서, 이런 사용자들은 예컨대 그들이 영화를 좋아하고, 영화를 봤고, 영화를 보고자 하고, 그 영화에 연기했다는 등을 표시하는, 소셜 그래프 데이터베이스에 저장되는 연결 및 관련 에지를 가질 수 있다. 일부의 실시예로, 팬 섹션(508)에 디스플레이되는 사용자들은 또한 그 허브를 현재 열람하는 사용자와의 친구들인 사용자들만을 포함할 수 있다.
특정 실시예로, 각각의 허브는 또한 이름(512)의 리스트 또는 세트, 썸네일 이미지(514) 또는 다른 허브와 관련된 다른 식별자를 포함하거나 디스플레이하는 (특정 실시예로 어느 탭들(501)이 현재 선택되더라도 볼 수 있는) 추천 섹션(510)을 포함하며, 각각의 추천 섹션은 각각의 다른 허브로의 하이퍼링크를 포함할 수 있다. 특정 실시예로, 추천 섹션(510)에 디스플레이되거나 리스팅되는 허브는 특정 허브(이하, "요청된 허브"라고도 함)를 요청하거나 현재 열람하는 특정 사용자(이하, "요청중인 사용자"라고도 함), 요청된 허브, 사용자 노드(302)는 또한 각각의 에지로 요청된 허브의 허브 노드(304)와 연결될 수 있거나 연결될 수 없는 사용자의 친구들 및 요청된 허브의 허브 노드(304)로 또한 연결되는 각각의 허브 노드(304)를 가진 다른 허브: 중 하나 이상과의 일부 결정된 관계를 가지거나, 그 하나 이상에 대한 소셜 그래프 데이터베이스로부터 추출된 정보의 레버리지를 기초로 결정된다. 예로서, 추천 섹션(510)에 디스플레이되는 추천 허브는 (소셜 그래프 데이터베이스에서 에지로) 요청중인 사용자의 친구들 및 특히 (소셜 그래프 데이터베이스에서 에지로) 요청된 허브와 또한 연결되는 친구들에게 좋아요를 받거나 연결되는 허브를 포함할 수 있다. 또 다른 예로서, 추천 섹션(510)에 디스플레이되는 추천 허브는, (소셜 그래프 데이터베이스에서 에지로) 요청된 허브와 반드시 연결되지는 않은 사용자들 및 특히 요청중인 사용자의 친구들이 (소셜 그래프 데이터베이스에서 에지로 정의되는 바와 같이) 또한 좋아요 하거나 (소셜 그래프 데이터베이스에서 에지로) 연결되는, 허브들을 포함할 수 있다. 또 다른 예로서, 추천 섹션(510)에 디스플레이되는 추천 허브는 (소셜 그래프 데이터베이스에서 에지로) 요청된 허브 및 (소셜 그래프 데이터베이스에서 에지로 정의되는 바와 같이) 요청중인 사용자의 하나 이상의 친구들과 연결되는 허브들을 포함할 수 있다. 또 다른 예로서, 추천 섹션(510)에 디스플레이되는 추천 허브는 (소셜 그래프 데이터베이스에서 에지로) 요청된 허브와 연결되거나, (소셜 그래프 데이터베이스에서 에지에 의해 정의되는 바와 같이) 요청중인 사용자의 친구들과 반드시 연결되지는 않는 허브들을 포함할 수 있다.
특정 실시예로, 허브 노드(304)와 각각의 허브는 소셜 네트워크 환경(20)의 사용자들에 의해 명시적으로 생성될 수 있거나, 다양한 기준을 기초로 자동으로 발생할 수 있다. 특정 실시예로, 허브와 각각의 허브 노드(304)는 예컨대 이들이 포괄 또는 비-포괄로 간주되거나 분류되는지 여부와 같이 2가지 종류일 수 있다. 하나의 특정한 구현으로, 허브와 각각의 허브 노드(304)는 "잠김(locked)"이거나 "열림(un-locked)"일 수 있다. 허브는 예컨대 소셜 네트워크 환경(20)의 생성자 또는 관리자에 의해 생성 시간 또는 다른 적절한 시간에 잠길 수 있다. 상술한 바와 같이, 허브는 본질적으로 커뮤니티에 의해 소유되며, 따라서 특정 실시예로 소셜 네트워크 환경(20)의 임의의 사용자는 허브를 편집(예컨대, 컨텐츠나 선언을 추가)할 수 있다. 그러나, 특정 실시예로, 열린 허브의 편집은 즉시 "작동 가능(go live)"한(사용자 또는 허브를 열람중인 다른 사용자에게 보이게 될 수 있는) 반면, 잠긴 허브의 편집은 수정되고 사용자에게 공연히 제시되기 전에 신뢰할만한 사용자 또는 관리자에 의한 승인을 필요로 할 수 있다. 추가로, 일부 실시예에서 소셜 네트워크 환경(20)은 어느 사용자가 어느 컨텐츠를 허브로 추가했는지 뿐만 아니라 언제 이 사용자가 각각의 컨텐츠를 추가했는지를 추적할 수 있음을 유의해야 한다.
또한, 특정 실시예로, 소셜 네트워크 환경(20)은 가령 허브 노드(304)가 이전에 생성되게 한 실제 유명인사나 비즈니스와 같이 허브 노드(304)에 해당하는 허브 (또는 비-인증 사용자 노드(302b)에 해당하는 비-인증 사용자 프로필 페이지)의 진정한 음성을 위한 수단이나 프로세스(예컨대, 선택가능한 링크나 사용자 인터페이스)를 제공하여, 이들 노드를 요청함으로써 그들에 대한 관리상의 권리를 가정하고 소셜 그래프 내에서 예컨대 등록 인증 사용자 노드(302a)로 (또는 대안으로 인증 허브 노드(304)로) 이들을 재정의한다.
도 3에 도시된 바와 같이, 소셜 그래프 데이터베이스에 저장된 사용자 노드(302)와 허브 노드(304)는 에지를 통해 서로 연결될 수 있다. 상술한 바와 같이, 일부의 실시예로, 각 에지는 에지에 의해 연결된 노드 쌍 사이의 연결을 정의하거나, 표시하거나, 특징짓는 복수의 에지 타입 중 한 에지 타입에 의해 분류되거나 특징지어질 수 있다. 예로서, 사용자 노드(302)는 제1 에지 타입의 에지(306)를 통해 서로 연결될 수 있다. 특정 실시예로, 에지(306)는 각각의 사용자 노드(302)와 관련된 사용자들(예컨대, 친구들) 사이의 친구관계 또는 다른 소셜 관계 연결을 정의한다. 추가로, 사용자 노드(302)는 하나 이상의 제2 에지 타입의 에지(308)를 통해 컨셉 노드(304)와 연결될 수 있다. 예로서, 사용자 노드(302)에 해당하는 사용자는 그 또는 그녀가 특정 허브 노드(304)에 해당하는 컨셉을 좋아하거나, 그 컨셉의 팬이거나, 그 컨셉을 바라거나, 그 컨셉에 관심이 있거나 그 컨셉과 연관됨을 선언하거나 표시할 수 있다. 상술한 바와 같이, 다른 에지 타입은 가령 노래의 연주 및/또는 공유와 같이, 허브 노드에 관한 컨셉이나 디지털 객체와 사용자의 상호작용을 기초로 할 수 있다. 사용자는 예컨대 초대에 응답하여 사용자의 홈 또는 프로필 페이지의 링크를 클릭하거나, 친구의 프로필 페이지의 링크를 클릭하거나, 특정 실시예로 몇몇 자동 수단이나 자동화된 수단에 의하는 것과 같이, 해당 컨셉 노드의 허브의 링크를 클릭하거나 다른 적절한 수단으로 이런 좋아함 또는 관심을 표시할 수 있다.
게다가, 일부의 실시예로, 다양한 허브 노드(304)는 제3 에지 타입의 에지(310)를 통해 소셜 그래프 데이터베이스에서 서로 연결될 수 있다. 이런 제3 에지 타입은 허브 노드(304) 사이의 정보형이거나 범주형 관계를 정의할 수 있는데, 이들의 일부는 이런 허브를 계층적으로 조직하려고 할 수 있다. 예로서, 아시아 음식 전용 포괄 허브는 비-포괄 허브에 디스플레이되는 다양한 아시아 레스토랑에 대한 페이지나 리뷰 페이지의 링크를 가질 수 있다. 이와 같이, 소셜 그래프에서 에지(310)는 포괄 아시아 음식 허브를 하나 이상의 다른 포괄 허브나 비-포괄 허브로 연결할 수 있다.
추가로, 일부의 실시예로, 각 에지 타입은 해당 노드 쌍들 사이의 특정 연결 타입을 설명하는 세부사항이나 메타데이터를 추가한 복수의 에지 서브-타입을 포함할 수 있다. 게다가, 일부의 실시예로, 새로운 에지 타입은 자동으로 또는 동적으로 정의되거나 생성될 수 있다. 예로서, 제3자 웹 애플리케이션에 입력되거나 관련된 정보는 새로운 에지 타입이 정의되거나 생성될 수 있도록 할 수 있다. 특정 예로서, Netflix용 웹 애플리케이션은 "보고 싶은 영화(movies I want to see)"를 의미하는 에지 타입을 생성할 수 있다.
에지가 관련 에지 타입을 가지거나 그 에지 타입으로 할당되는 실시예에서, 에지 그 자체는 예컨대 에지가 연결하는 노드 타입을 설명하는 데이터(예컨대, 사용자, 허브, 카테고리 또는 허브의 분류), 에지가 연결하는 다른 노드에 대해 에지에 의해 연결된 노드들 쌍 중 하나의 관리자의 접속 권한(예컨대, 에지로 연결된 다른 노드에 대해 한 노드의 관리자의 읽기 또는 쓰기 접속), 또는 (예컨대, 명시적인 사용자 행위나 선언에 응답하여 또는 명시적인 사용자 행위 없이 자동으로) 에지가 어떻게 또는 왜 먼저 개시되었거나 생성되었는지 설명하는 데이터와 같이 에지가 연결하는 노드 쌍 사이의 연결 타입을 정의하는 데이터, 에지로 연결된 노드 (또는 더 상세하게는 사용자 또는 개별 연결 노드와 관련된 컨셉)와 관련되거나 노드에 의해 공유되는 다양한 요인이나 기준으로 결정되는 연결의 강도 및 다른 적절하거나 관련된 데이터를 저장하거나 이들과 함께 저장될 수 있다.
대안의 실시예로, 각 에지는 에지가 연결하는 노드 타입에 관계없이 노드들 사이의 연결을 단순히 정의하거나 표현할 수 있다; 즉, 에지 그 자체는 에지가 연결하는 노드의 식별자를 저장할 수 있거나 그 식별자와 함께 저장될 수 있으나, 에지가 연결하는 노드들의 쌍 사이의 연결 타입을 설명하는 데이터를 저장할 수 없거나 그 데이터와 함께 저장될 수 없다. 게다가, 임의의 이런 또는 다른 실시예에서, 에지에 의해 연결되는 노드들 사이의 연결이나 관계의 타입을 나타낼 수 있는 데이터는 노드 자체와 함께 저장될 수 있다. 특정 실시예로, 에지뿐만 아니라, 속성(예컨대, 에지 타입과 에지로 연결된 노드에 해당하는 노드 식별자), 메타데이터 또는 에지를 정의하거나 특징짓거나 에지와 관련된 다른 정보는 소셜 그래프 데이터베이스에 (예컨대, 데이터 객체로서) 저장될 수 있고, 주기적으로 또는 다양한 행위나 요인에 응답하여 업데이트될 수 있다(예컨대, 사용자가 허브와 더 많이 상호작용할 때, 각각의 사용자를 연결하는 에지와 허브 노드는 이런 상호작용을 반영하도록 업데이트될 수 있으며, 이후 이것은 하기에 더 상세히 기술되는 바와 같이 에지를 특징짓는 친밀감이나 연결 강도 점수에 기여할 수 있다).
특정 실시예로, 소셜 네트워크 환경(20)은 다양한 목적을 위해 또는 다양한 기존의 기능이나 새로운 기능을 구현하거나 증가시키기 위해 사용자 노드(302)뿐만 아니라 허브 노드(304) 모두로부터 추출된 정보를 레버리지(leverage)할 수 있다. 추가로, 허브 노드(304)가 다양한 사용자에 의해 입력되거나 기여되는 정보로 파퓰레이팅될 때, 다른 허브 노드(304)와 각각의 허브가 하기에 기술된 바와 같이 이런 정보를 기초로 생성될 수 있다. 게다가, 허브는 다수의 방식으로 가치를 사용자에게 제공할 수 있다. 예로서, 제1 사용자가 특정 허브를 방문한다면, 사용자는 그 사용자의 친구들 중 다양한 몇몇도 그 허브로 또한 연결됨을 발견할 수 있다. 예컨대, 온라인 음악 스토어에서, 허브는 음악가, 앨범 또는 특정 노래에 해당할 수 있다. 또한, 제1 사용자는 그 친구들이 어떤 다른 허브에 연결되는지를 쉽게 결정할 수 있다. 또한, 소셜 네트워크 환경(20)은 사용자와 사용자의 친구에 대한 이런 정보를 상관시켜, 예컨대 관심사나 속성의 중복을 발견할 수 있으며, 이는 이후 다른 허브를 생성하는데 사용되고, 타겟 광고를 생성하는데 사용되거나, 가령 추천된 허브와 같이 사용자에게 추천할 수 있다.
도 6은 2차원적으로 도 3의 예시적 소셜 그래프의 일부를 도시한다. 컨셉 노드들(601-619)은 소셜 네트워크상의 컨셉들을 표현한다. 컨셉 노드들(601-619)은 관리 노드 또는 비-관리 노드일 수 있다. 예컨대, 노드(609)("농구")는 단일의 사용자가 그 노드를 생성했을 가능성이 적은 넓은 컨셉일 수 있다. 컨셉 노드들(601-619)은 허브 페이지를 가진 보이는 컨셉 노드 또는 소셜 네트워크의 사용자들에게 보이지 않는 허브 페이지가 빠져 있는 속성 노드일 수 있다. 예컨대, 노드(605)("스포츠")는 전혀 허브를 가질 가능성이 없는 넓은 컨셉이며, 따라서 보이지 않는 속성 노드이다. 특정 실시예로, 그것은 컨셉 "스포츠"에 대한 포괄 허브일 수 있다. 컨셉 노드(601)는 애플리케이션을 표현하는 객체 노드, 이 경우에는 "NBA 2011"이란 게임이다. 객체 노드(601)는 그것과 직접 연결되는 다수의 컨셉 노드들(601-604)을 가진다. 특정 실시예로, 객체 노드(601)는 그것이 사용자에 의한 다운로드용으로 그 게임을 애플리케이션 스토어로 업로드할 때 게임 발행자에 의해 명시적으로 생성된다. 이런 경우, 소셜 네트워크는 객체 노드를 생성하는 사용자가 발행자, 장르 및 게임의 날짜와 같은 기결정된 필드를 기입하도록 요구한다. 사용자로부터 이런 값들을 수신한 후, 소셜 네트워크는 소셜 네트워크에서 컨셉이나 속성 노드와 그 값들을 매칭한다. 이 예에서, 그 값들은 기존의 속성 노드들(602, 603 및 604)로 각각 링크된다. 객체 노드를 발행하는 사용자에 의해 입력된 특정 값이 기존의 컨셉 노드와 매칭될 수 없다면, 그것은 동적으로 생성된다.
치어리더(606), 축구(607), 풋볼(608) 및 농구(609)를 표현하는 컨셉 노드들은 컨셉 노드(605)("스포츠")와 연결된다. 농구 팀(612, 613 및 614)에 해당하는 개별 풋볼 및 축구 팀들이 분명히 존재하지만, 이 다이어그램의 목적상 도시되지 않는다. 추가로, 각각의 팀 컨셉 노드는 컨셉 노드들(616, 617, 618 및 619)과 같은 다수의 플레이어 컨셉 노드들을 포함할 수 있다. 컨셉 노드(606)("치어리더")는 컨셉 노드(612)를 치어리더 X(610) 및 치어리더 Y(611)로 연결하는 컨셉 에지에 의해 입증되는 바와 같이, 2개의 다른 Chicago Bulls 치어리더에 대한 컨셉 노드를 표현하는 2개의 연결된 컨셉 노드(610 및 611)를 포함한다. 소셜 그래프의 복잡성은 추가되는 각 노드와 에지로 증가하며, 많은 경우에 2차원 공간에 명확히 렌더링될 수 없다.
객체 노드(601)에 관하여, 2차 컨셉 노드(605)(스포츠) 및 3차 컨셉 노드(609)(농구)는 사용자가 기입하도록 요구되는 서브 장르 필드로서 마찬가지로 생성될 수 있다. 특정 실시예로, 2차 및 3차 컨셉 노드는 객체 노드(601)에 대한 다른 정보의 자연어 처리를 통해 소셜 네트워크에 의해 동적으로 생성된다.
사용자 노드(620)는 사용자 노드(621)로 표현되는 제2 사용자와 친구 에지를 통해 연결되는 제1 사용자에 해당한다. 사용자(620)는 소셜 네트워크에서 2개의 농구 팀 "Houston Rockets"와 "Miami Heat"을 "좋아요"함으로써 컨셉 노드(614 및 615)로 표현되는 이런 2개의 농구 팀에 대해 친밀감을 보여주었다. 사용자 노드(620)가 컨셉 "농구"(609)에 대해 친밀감을 명시적으로 보여주지 않았지만, 소셜 네트워크는 컨셉 노드(614)("Miami Heat"), 컨셉 노드(615)("Houston Rockets") 및 전체 컨셉 "농구" 사이의 컨셉 에지들로 인해 사용자 노드(620)로부터 컨셉 노드(609)에 대한 친밀감을 추론할 수 있다. 마찬가지로, 소셜 네트워크 사용자(2)(사용자 노드(621))는 컨셉 노드(619)를 좋아요 함으로써 플레이어 "Dwyane Wade"에 대해 친밀감을 표현했다. 따라서, 소셜 네트워크는 사용자 노드(621)로부터 컨셉 노드(609)에 대한 더 약한 친밀감을 추론할 수 있다.
특정 실시예로, 소셜 네트워크는 특정 사용자에 대한 관련성의 내림차순으로 소셜 그래프에서 객체 노드들의 전부 또는 서브세트를 순위화하고자 할 수 있다. 예컨대, 사용자가 게임 또는 제3자 애플리케이션을 구매하고자 앱 스토어를 방문할 때, 특정 사용자와 가장 관련 있는 객체들을 디스플레이하는 것이 사용자와 객체 노드 발행자 모두에게 이점적이다. 그러나, 더 기술되는 바와 같이 순위화 시스템은 사용자 노드와의 관련성을 기초로 객체 노드를 순위화하는 것으로 국한되지 않는다. 사실상, 본 명세서에 기술된 방법은 임의의 다른 노드에 대하여 임의의 노드에 대한 매치 계수를 생성하는데 적용될 수 있다.
특정 실시예로, 도 3 및 6의 소셜 그래프는 2차원 그래프로 표현되지만 표 또는 링크 리스트와 같은 데이터 구조에 저장될 수 있다. 예컨대, 컨셉 노드 "스포츠"는 복수의 엔트리, 각각의 스포츠 "농구", "풋볼", "축구" 등에 대해 하나를 포함할 수 있다. 각각의 이런 엔트리는 개별 스포츠에 대한 컨셉 노드로의 포인터 또는 링크를 포함한다. 예컨대, "스포츠" 표에서 엔트리 "농구"는 "농구"에 대한 또 다른 표로의 링크를 포함할 수 있다. 예로서, "농구"에 대한 표는 각각의 개별 팀에 대한 다수의 엔트리를 포함할 수 있고, 각각의 엔트리는 또 다른 표로의 포인터 또는 링크를 포함한다. 특정 실시예로, 다양한 표로의 링크 또는 포인터는 2개의 표 사이의 연결 타입에 대한 정보를 포함할 수 있다.
도 7은 소셜 그래프 데이터베이스로부터 추출된 정보에 적어도 일부 기초로, 하나 이상의 서버-측 순위화 프로세스(이하, 순위화 프로세스라고 함)에 의해 또는 그와 관련하여 구현되는, 특정 사용자 노드에 대한 노드를 순위화하는 예시적인 방법을 도시하는 흐름도를 보여준다. 특정 실시예로, 순위화 프로세스는 소셜 그래프 데이터베이스로부터 소셜 그래프 데이터를 레버리지(leverage)하는데, 그 소셜 그래프 데이터는 소셜 그래프 데이터에 기초한 순위를 생성하도록 소셜 그래프 데이터베이스를 인덱싱하여 생성되는 하나 이상의 검색가능하거나 질의가능한 인덱스를 포함할 수 있다.
단계 701에서, 사용자 노드는 객체 노드와 비교된다. 특정 실시예로, 순위는 애플리케이션 마켓에서 애플리케이션이나 게임에 해당하는 객체 노드에 대해 생성된다. 특정 실시예로, 객체 노드는 컨텐츠 마켓으로부터 다운로드하기 위한 노래 또는 다른 미디어에 해당한다. 특정 실시예로, 임의의 2개의 노드는 2개의 노드 사이의 매치 계수를 기초로 순위를 생성하도록 비교될 수 있다. 예컨대, 2명의 사용자는 타겟팅 광고용으로 그 유사성을 결정하기 위해 순위화 알고리즘을 통해 비교될 수 있다.
단계 702에서, 순위화 프로세스는 사용자 노드와 객체 노드 모두와 연결되는 공통 속성 노드를 선택한다. 예컨대, 도 6을 참조하면, 사용자 1은 1차 연결로서 "좋아요" 에지를 통해 컨셉 노드(614 및 615)로 연결되며, 컨셉 노드(614 및 615)를 통해 2차 컨셉 에지로 컨셉 노드(609) 및 3차 컨셉 에지로 노드(605)와 연결된다. 마찬가지로, 객체 노드(601)는 1차 컨셉 에지를 통해 노드(609)와 연결된다. 특정 실시예로, 노드(609)("농구")는 객체 노드(601)가 생성될 때 메타-데이터로서 객체 노드(601)와 관련된 사용자에 의해 입력된다.
단계 703에서, 사용자-속성 계수 및 객체-속성 계수는 순위화 프로세스에 의해 계산된다. 사용자-속성 및 객체-속성 계수는 사용자 또는 객체에 대한 특정 속성 노드의 중요도를 표현한다. 특정 실시예로, 객체-속성 계수의 값은 그 값이 할당되는 메타-데이터 카테고리에 따라 다르다. 예컨대, 게임이나 애플리케이션의 장르가 그것이 발행된 연도나 발행자보다 그것을 정의하는데 훨씬 더 관련이 있다. 특정 실시예로, 객체 노드 관리자는 객체를 기술하는 메타-데이터를 입력하도록 객체 노드 생성에서 프롬프트되며, 순위화 시스템은 "중요(important)"로 입력되는 제1 X 메타-데이터 태그를 순위화한다.
사용자-속성 계수는 특정 사용자에 대해 특정 노드가 얼마나 중요한지를 표현한다. 이 계수는 다양한 방식으로 가중될 수 있다. 특정 실시예로, 노드에 대한 분리도는 계수의 가중치를 변경한다; 1차 연결은 2차 및 3차 연결보다 사용자에게 더 중요하다. 특정 실시예로, 노드에 대한 연결의 타입이 사용자-속성 계수에 영향을 준다. 예컨대, 사용자가 컨셉 노드의 "팬"이 되면 그 컨셉 노드에 대한 사용자-속성 값이 "좋아요" 에지를 통해 연결된 컨셉 노드보다 더 높게 가중된다. 특정 실시예로, 명시적인 그래프 연결은 함축된 그래프 연결보다 더 높게 가중된다. 특정 실시예로, 사용자-속성 계수는 1차 연결을 통해 사용자로 연결되는 노드와 더 많은 1차 연결들을 공유하는 2차 연결들에 대해 증가한다. 예컨대, 사용자가 특정 노드를 모두 좋아하는 10명의 친구들을 가진다면, 그 2차 노드는 사용자의 친구들 중 5명이 좋아하는 2차 노드보다 더 높게 순위화될 것이다.
단계 704에서, 피드백 가중치는 특정 객체-속성 계수에 대해 계산된다. 피드백 가중치는 객체 노드에 대한 특정 컨셉 노드의 중요도를 변경하는 값이다. 피드백 가중치는 객체와의 사용자 상호작용을 모니터하는 기계 학습 알고리즘에 의해 계산된다. 예컨대, 도 6을 다시 한번 참조하면, 순위화 프로세스는 애플리케이션 스토어로부터 객체(601)의 사용자 구매를 모니터한다. 순위화 프로세스는 애플리케이션 스토어로부터 게임을 구매하는 더 많은 사용자들이 컨셉 노드(609)("농구")에 대해 높은 사용자-속성 계수를 가지며, 게임을 구매하는 상대적으로 적은 사용자들이 노드(606)("치어리더")에 대해 강한 사용자-속성 계수를 가지고 있음을 결정할 수 있다. 따라서, 순위화 프로세스는 "농구"에 대한 피드백 가중치를 증가시키고 "치어리더"에 대한 피드백 가중치를 감소시키며, 이로써 "치어리더"에 대해 친밀감을 표현한 사용자에게 그 게임을 디스플레이할 가능성을 감소시킨다. 특정 실시예로, 객체 노드와의 사용자 상호작용이 있을 때마다, 예컨대 그 노드와 관련된 애플리케이션을 다운로드하거나, 그 노드를 좋아요 하거나, 그 노드의 리뷰를 게시하거나, 소셜 네트워크 외부에서 그 노드와 상호작용할 때마다, 피드백 가중치는 변경된다.
특정 실시예로, 피드백 가중치를 계산하기 위해, 순위화 프로세스는 객체 노드와의 사용자 노드 상호작용을 감지하며, 객체 노드와 사용자 노드 모두와 연결되는 노드들을 식별한다. 특정 실시예로, 상호연결된 노드들의 세트는 1차 연결로 제한될 수 있다. 특정 실시예로, 상호연결된 노드들의 세트는 N차 연결로 제한된다. 특정 실시예로, 사용자 노드와도 연결된 속성 노드에 해당하는 피드백 가중치는 증가하는 반면, 사용자와 연결되지 않은 속성 노드에 해당하는 피드백 가중치는 감소한다. 예컨대, 상호작용은 노드를 "좋아요"하는 것, 노드로 체크인하는 것, 노드에 대해 친밀감을 표현하는 것, 애플리케이션, 영화 또는 노래와 같은 노드와 관련된 컨텐츠를 구매하는 것, 노드의 긍정적인 리뷰를 게시하는 것, 노드에 대한 오퍼를 이행하는 것, 사용자의 뉴스피드에 대한 노드를 부스팅하는 것 등일 수 있다.
단계 705에서, 사용자-속성 계수, 객체-속성 계수 및 피드백 가중치의 곱이 계산되고 저장된다.
단계 706에서, 프로세스는 사용자 노드와 객체 노드 모두와 연결되는 모든 상호적인 속성 노드들에 대해 그 자체로 반복한다. 특정 실시예로, 프로세스는 1차 노드만으로 제한된다. 특정 실시예로, 프로세스는 N차 노드로 제한된다. 특정 실시예로, 분리도 제한이 부과되지 않고, 사용자 노드와 객체 노드는 모든 노드의 연결을 기초로 매칭된다.
단계 707에서, 저장된 곱들은 사용자 노드와의 객체 노드에 대한 전체 매치 계수를 획득하도록 합계된다. 이런 전체 프로세스는 관련 세트 내의 모든 객체들에 대해 반복된다. 예컨대, 사용자가 애플리케이션 스토어를 브라우징하고 있다면, 각 애플리케이션에 대한 매치 계수는 그 특정 사용자에 대해 계산된다. 특정 실시예로, 가장 높은 매치 계수를 가진 상위 10개 객체는 사용자에게 디스플레이된다. 특정 실시예로, 객체나 컨셉 노드의 세트가 필터링된 후 매치 계수가 계산된다. 예컨대, 음악 스토어를 브라우징하는 사용자는 "랩 및 힙-합"으로 그의 검색을 제한한다면, 그 장르에서 리스팅되는 노드에 대한 매치 계수만이 계산된다.
소정의 사용자 노드와 컨셉(또는 객체) 노드 사이의 매치 계수의 계산이:
Figure pct00001
로 표현될 수 있다. 여기서, i는 개별 컨셉 노드 또는 속성 노드를 표현하고, Ui는 사용자-속성 계수를 표현하며, Oi는 객체-속성 계수를 표현하며, Fi,o는 특정 객체 노드 및 속성/컨셉 노드 쌍에 대한 피드백 가중치를 표현한다.
특정 실시예로, 피드백 가중치는 명시적으로 정의된 값이 아니다; 이런 경우에 객체-속성 계수(Oi)는 노드 그 자체와의 관찰된 사용자 노드 상호작용을 기초로 직접적으로 증가하거나 감소한다.
본 명세서에 기술된 애플리케이션 또는 프로세스는 실행시 하나 이상의 프로세서가 상술한 동작을 구현하도록 동작가능한, 일련의 컴퓨터 판독가능한 명령어로 실시될 수 있거나, 유형의 데이터 저장 매체 상에서 또는 내에서 구현되거나 부호화될 수 있다. 상술한 프로세서 및 메커니즘이 광범위한 물리적 시스템에 의해 그리고 광범위한 네트워크와 컴퓨팅 환경에서 구현될 수 있는 한편, 하기에 기술되는 컴퓨팅 시스템은 제한하려 하기보다는 훈시적인 목적으로 상술한 서버 및 클라이언트 시스템의 예시적인 컴퓨팅 시스템 아키텍처를 제공한다.
도 8는 서버(22a, 22b)를 구현하는데 사용될 수 있는 예시적인 컴퓨팅 시스템 아키텍처를 도시한다. 일실시예로, 하드웨어 시스템(800)은 프로세서(802), 캐시 메모리(804) 및 유형의 컴퓨터 판독가능한 매체에 저장되고 본 명세서에 기술된 기능에 관한 하나 이상의 실행가능한 모듈과 드라이버를 포함한다. 추가로, 하드웨어 시스템(800)은 고성능 입력/출력(I/O) 버스(806) 및 표준 I/O 버스(808)를 포함한다. 호스트 브릿지(810)는 프로세서(802)와 고성능 I/O 버스(806)를 연결하는 반면, I/O 버스 브릿지(812)는 2개의 버스(806 및 808)를 서로 연결한다. 시스템 메모리(814) 및 하나 이상의 네트워크/통신 인터페이스(816)는 버스(806)에 연결된다. 하드웨어 시스템(800)은 비디오 메모리(미도시) 및 비디오 메모리에 연결된 디스플레이 장치를 더 포함할 수 있다. 대용량 저장소(818) 및 I/O 포트(820)가 버스(808)에 연결된다. 하드웨어 시스템(800)은 키보드와 포인팅 장치 및 버스(808)에 연결된 디스플레이 장치(미도시)를 선택적으로 포함할 수 있다. 일괄적으로, 이들 구성요소들은 캘리포니아, 산타 클라라의 인텔(Intel)사에 의해 제조된 x86-호환가능 프로세서와 캘리포니아, 서니베일의 AMD(Advanced Micro Devices)사에 의해 제조된 x86-호환가능 프로세서 및 임의의 다른 적합한 프로세서에 기반한 범용 컴퓨터 시스템을 포함하나 이에 제한되지 않는, 컴퓨터 하드웨어 시스템의 광범위한 카테고리를 나타내는 것으로 의도된다.
하드웨어 시스템(800)의 구성요소는 하기에 더 상세히 기술된다. 특히, 네트워크 인터페이스(816)는 하드웨어 시스템(800)과 가령 이더넷(Ethernet)(예컨대, IEEE 802.3) 네트워크, 백플레인(backplane) 등과 같은 임의의 광범위한 네트워크 사이의 통신을 제공한다. 대용량 저장소(818)는 서버(22a, 22b)에서 구현되는 상술한 기능을 실행하기 위한 데이터 및 프로그래밍 명령어의 영구 저장을 제공하는 반면, 시스템 메모리(814)(예컨대, DRAM)는 프로세서(802)에 의해 실행될 경우의 데이터 및 프로그래밍 명령어의 일시 저장을 제공한다. I/O 포트(820)는 하드웨어 시스템(800)에 연결될 수 있는 추가적인 주변 장치들 사이의 통신을 제공하는 하나 이상의 직렬 및/또는 병렬 통신 포트이다.
하드웨어 시스템(800)은 다양한 시스템 아키텍처를 포함할 수 있으며, 하드웨어 시스템(800)의 다양한 구성요소는 재배열될 수 있다. 예컨대, 캐시(804)는 프로세서(802)에 내장(on-chip)될 수 있다. 대안으로, 캐시(804) 및 프로세서(802)는 "프로세서 모듈"로 함께 패킹될 수 있으며, 이때 프로세서(802)를 "프로세서 코어"라고 한다. 게다가, 본 발명의 특정 실시예는 상기 구성요소 모두를 필요로 하지 않거나 포함하지 않을 수 있다. 예컨대, 표준 I/O 버스(808)와 연결되는 주변 장치는 고성능 I/O 버스(806)로 연결될 수 있다. 또한, 일부 실시예로, 단일 버스만 존재할 수 있으며, 이때 하드웨어 시스템(800)의 구성요소는 단일 버스에 연결된다. 게다가, 하드웨어 시스템(800)은 추가의 프로세서, 저장장치 또는 메모리와 같은 추가적인 구성요소를 포함할 수 있다.
하나의 구현으로, 본 명세서에 기술된 실시예의 동작은 분산형 컴퓨팅 환경에서 개별적으로 또는 일괄적으로 하드웨어 시스템(800)에 의해 운영되는 일련의 실행가능한 모듈로 구현된다. 특정 실시예로, 한 세트의 소프트웨어 모듈 및/또는 드라이버는 네트워크 통신 프로토콜 스택, 브라우징과 다른 컴퓨팅 기능, 최적화 프로세스 등을 구현한다. 상술한 기능형 모듈은 하드웨어, 컴퓨터 판독가능한 매체에 저장된 실행가능한 모듈 또는 이 둘의 조합에 의해 실현될 수 있다. 예컨대, 기능형 모듈은 가령 프로세서(802)와 같은 하드웨어 시스템의 프로세서에 의해 실행되는 복수의 또는 일련의 명령어를 포함할 수 있다. 초기에, 일련의 명령어는 가령 대용량 저장소(818)와 같은 저장장치에 저장될 수 있다. 그러나, 일련의 명령어는 가령 디스켓, CD-ROM, ROM, EEPROM 등과 같은 임의의 적합한 저장 매체에 유형으로 저장될 수 있다. 게다가, 일련의 명령어는 국부적으로 저장될 필요는 없으며, 네트워크/통신 인터페이스(816)를 통해 가령 네트워크상의 서버와 같은 원격 저장장치로부터 수신될 수 있다. 명령어는 가령 대용량 저장소(818)와 같은 저장장치로부터 메모리(814)로 복사된 후 프로세서(802)에 의해 접근되고 실행된다.
운영 시스템은 소프트웨어 애플리케이션(미도시)으로의 및 소프트웨어 애플리케이션으로부터의 데이터의 입력 및 출력을 포함하는, 하드웨어 시스템(800)의 동작을 관리 및 제어한다. 운영 시스템은 시스템상에서 실행되는 소프트웨어 애플리케이션과 시스템의 하드웨어 구성요소 사이의 인터페이스를 제공한다. 가령, 리눅스(LINUX) 운영 시스템, 캘리포니아, 쿠퍼티노의 애플 컴퓨터(Apple Computer)사로부터 이용가능한 애플 매킨토시(Apple Macintosh) 운영 시스템, 유닉스(UNIX) 운영 시스템, 마이크로소프트(r) 윈도우(r) 운영 시스템, BSD 운영 시스템 등과 같은 임의의 적합한 운영 시스템이 사용될 수 있다. 물론, 다른 구현도 가능하다. 예컨대, 본 명세서에 기술된 닉네임 생성 기능은 펌웨어(firmware)에서 또는 애플리케이션 주문형 집적회로(application specific integrated circuit) 상에서 구현될 수 있다.
게다가, 상술한 구성요소 및 동작은 저장 매체에 저장된 명령어들로 구성될 수 있다. 명령어는 프로세싱 시스템에 의해 검색되고 실행될 수 있다. 명령어의 일부 예는 소프트웨어, 프로그램 코드 및 펌웨어이다. 저장 매체의 일부 예는 메모리 장치, 테이프(tape), 디스크, 집적회로 및 서버이다. 명령어는 프로세싱 시스템이 본 발명과 부합하여 동작하도록 프로세싱 시스템에 의해 실행되는 경우 동작한다. "프로세싱 시스템"이란 용어는 단일 프로세싱 장치 또는 내부-동작형 프로세싱 장치의 그룹을 말한다. 프로세싱 장치의 일부 예는 집적회로들 및 논리 회로부(logic circuitry)이다. 당업자에게 명령어, 컴퓨터 및 저장 매체는 자명하다.
본 명세서는 당업자가 이해할 수 있는 본 명세서의 예시적인 실시예에 대한 모든 변화, 치환, 변형, 대체 및 변경을 포함한다. 마찬가지로, 적절한 경우에, 첨부된 청구항들은 당업자가 이해할 수 있는 본 명세서의 예시적인 실시예에 대한 모든 변화, 치환, 변형, 대체 및 변경을 포함한다. 예로써, 본 발명의 실시예들이 소셜 네트워킹 웹사이트와 연결되어 동작하는 것으로 기술되었으나, 본 발명은 웹 애플리케이션을 지원하는 임의의 통신 시설과 연결되어 사용될 수 있다. 게다가, 일부 실시예로, "웹 서비스" 및 "웹-사이트"란 용어는 교환하여 사용될 수 있으며, 서버로 직접 API를 호출하는, 가령 모바일 장치(예컨대, 셀룰러폰, 스마트폰, 개인용 GPS, 개인용정보단말기(personal digital assistance), 개인용 게임장치 등)와 같은 장치상의 커스텀(custom) API 또는 일반 API를 추가적으로 나타낼 수 있다.

Claims (20)

  1. 하나 이상의 컴퓨팅 시스템에 의해:
    소셜 그래프에서 특정 사용자를 표현하고 복수의 속성 노드와 연결되는 사용자 노드에 접속하는 단계; 및
    소셜 그래프에서 복수의 속성 노드와 각각 연결되는 각각의 복수의 객체 노드에 대해, 사용자 노드와 객체 노드 모두와 연결되는 모든 속성 노드의 세트에 접속하여, 사용자 노드와 개별 객체 노드 사이의 매치 계수(match coefficient)를 계산하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    매치 계수를 계산하는 단계는:
    상기 세트에서 발견된 각각의 속성 노드에 대해, 사용자 노드와 속성 노드 사이의 제1 계수 및 객체 노드와 속성 노드 사이의 제2 계수를 계산하는 단계; 및
    모든 제1 계수와 제2 계수의 합-곱(sum-product)을 획득하는 단계를 포함하는 방법.
  3. 제 2 항에 있어서,
    사용자 노드와 속성 노드 사이의 분리도가 증가함에 따라 제1 계수는 감소하며, 객체 노드와 속성 노드 사이의 분리도가 증가함에 따라 제2 계수는 감소하는 방법.
  4. 제 2 항에 있어서,
    각각의 제2 계수는 관련 속성 노드와 객체 노드 쌍에 대한 피드백 가중치(feedback weight)로 곱해지는 방법.
  5. 제 4 항에 있어서,
    피드백 가중치는 기계 학습 알고리즘을 통해 계산되는 방법.
  6. 제 5 항에 있어서,
    각각의 속성 노드와 객체 노드 쌍에 대한 피드백 가중치는:
    객체 노드와의 모든 사용자 노드 상호작용을 모니터하고;
    객체 노드와의 각각의 사용자 노드 상호작용에 대해, 속성 노드가 또한 사용자 노드와 연결되는지를 결정하며; 긍정적인 결정의 결과로서 피드백 가중치를 증가시키고; 부정적인 결정의 결과로서 피드백 가중치를 감소시킴;에 의해 계산되는 방법.
  7. 제 6 항에 있어서,
    객체 노드와의 사용자 노드 상호작용의 타입이 피드백 가중치가 증가하거나 감소하는 양을 결정하는 방법.
  8. 제 1 항에 있어서,
    특정 사용자 노드와 연결되는 속성 노드는 소셜 그래프로부터 계산된 친밀감을 포함하는 방법.
  9. 제 8 항에 있어서,
    소셜 그래프는 특정 사용자의 프로필로부터 정보를 포함하는 방법.
  10. 제 8 항에 있어서,
    소셜 그래프는 소셜 네트워크에서 사용자의 행위를 포함하는 방법.
  11. 제 8 항에 있어서,
    소셜 그래프는 소셜 네트워크 외부의 인터넷-연결 노드에서 사용자의 행위를 포함하는 방법.
  12. 제 8 항에 있어서,
    소셜 그래프는 사용자의 메시지에서 공통 키워드를 포함하는 방법.
  13. 제 6 항에 있어서,
    속성 노드는 메타데이터 태그를 포함하는 방법.
  14. 제 13 항에 있어서,
    메타데이터 태그는 특정 객체 노드와 관련된 노드 관리자로부터 수신되는 방법.
  15. 제 14 항에 있어서,
    수신된 메타데이터 태그는 기결정된 피드백 가중치를 초기에 할당받는 방법.
  16. 제 1 항에 있어서,
    기결정된 임계치를 초과하는 매치 계수를 가진 노드를 특정 사용자에게 홍보하는 단계를 더 포함하는 방법.
  17. 제 1 항에 있어서,
    특정 사용자에게 디스플레이하기 위해 매치 계수의 내림차순으로 모든 노드를 순위화하는 단계를 더 포함하는 방법.
  18. 제 1 항에 있어서,
    속성 노드는 컨셉 노드를 포함하는 방법.
  19. 제 18 항에 있어서,
    객체 노드는 컨셉 노드를 포함하는 방법.
  20. 제 18 항에 있어서,
    컨셉 노드는 소셜 그래프에 의해 동적으로 생성되는 방법.
KR1020147012784A 2011-10-18 2012-09-14 소셜 관련성에 의한 객체의 순위화 KR101686594B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/276,216 2011-10-18
US13/276,216 US8977611B2 (en) 2011-10-18 2011-10-18 Ranking objects by social relevance
PCT/US2012/055278 WO2013058903A1 (en) 2011-10-18 2012-09-14 Ranking objects by social relevance

Publications (2)

Publication Number Publication Date
KR20140079823A true KR20140079823A (ko) 2014-06-27
KR101686594B1 KR101686594B1 (ko) 2016-12-14

Family

ID=48086701

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147012784A KR101686594B1 (ko) 2011-10-18 2012-09-14 소셜 관련성에 의한 객체의 순위화

Country Status (6)

Country Link
US (2) US8977611B2 (ko)
JP (1) JP5964977B2 (ko)
KR (1) KR101686594B1 (ko)
AU (1) AU2012326599B2 (ko)
CA (1) CA2851365C (ko)
WO (1) WO2013058903A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101866866B1 (ko) 2017-01-12 2018-06-14 서울대학교산학협력단 부호화된 네트워크에서의 개인화된 랭킹 방법, 이를 수행하기 위한 기록 매체 및 장치
KR20210132578A (ko) * 2020-04-27 2021-11-04 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 지식 그래프를 구축하는 방법, 장치, 기기 및 저장 매체

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171338B2 (en) 2009-09-30 2015-10-27 Evan V Chrapko Determining connectivity within a community
US20110099164A1 (en) 2009-10-23 2011-04-28 Haim Zvi Melman Apparatus and method for search and retrieval of documents and advertising targeting
US9324112B2 (en) 2010-11-09 2016-04-26 Microsoft Technology Licensing, Llc Ranking authors in social media systems
US9286619B2 (en) 2010-12-27 2016-03-15 Microsoft Technology Licensing, Llc System and method for generating social summaries
US9710765B2 (en) * 2011-05-26 2017-07-18 Facebook, Inc. Browser with integrated privacy controls and dashboard for social network data
US8977611B2 (en) * 2011-10-18 2015-03-10 Facebook, Inc. Ranking objects by social relevance
US9269110B2 (en) * 2011-10-24 2016-02-23 Jonathan Blake System and method for interface and interaction with internet applications
US20130124644A1 (en) * 2011-11-11 2013-05-16 Mcafee, Inc. Reputation services for a social media identity
US8825763B2 (en) * 2011-12-09 2014-09-02 Facebook, Inc. Bookmarking social networking system content
US9002936B2 (en) * 2011-12-09 2015-04-07 Facebook, Inc. Metanodes for open graph protocols
US8856141B1 (en) 2011-12-15 2014-10-07 Google Inc. Providing posts from an extended network
US8788340B2 (en) * 2011-12-16 2014-07-22 Facebook, Inc. Advertisement based on application-created social content
US9171287B2 (en) * 2011-12-19 2015-10-27 Facebook, Inc. Ordering of bookmarks for objects in a social networking system
US9177291B2 (en) * 2012-01-11 2015-11-03 Facebook, Inc. Chaining connection requests
US20130212081A1 (en) * 2012-02-13 2013-08-15 Microsoft Corporation Identifying additional documents related to an entity in an entity graph
US9218630B2 (en) 2012-03-22 2015-12-22 Microsoft Technology Licensing, Llc Identifying influential users of a social networking service
US20130282817A1 (en) * 2012-03-22 2013-10-24 Gerard J. Montgomery Targeting Media Based on Viewer Attributes and Elements
US9542482B1 (en) * 2012-04-06 2017-01-10 Amazon Technologies Inc. Providing items of interest
US8935255B2 (en) * 2012-07-27 2015-01-13 Facebook, Inc. Social static ranking for search
US9247020B2 (en) * 2012-08-07 2016-01-26 Google Inc. Media content receiving device and distribution of media content utilizing social networks and social circles
US9154575B2 (en) * 2012-08-28 2015-10-06 Facebook, Inc. Soft matching user identifiers
US9413709B1 (en) * 2012-11-07 2016-08-09 Google Inc. Determining membership in a social graph
US10037538B2 (en) * 2012-12-11 2018-07-31 Facebook, Inc. Selection and presentation of news stories identifying external content to social networking system users
CA2836878A1 (en) * 2012-12-19 2014-06-19 Vale S.A. Apparatus and method of determining complexity of a collaborative effort
US9294576B2 (en) 2013-01-02 2016-03-22 Microsoft Technology Licensing, Llc Social media impact assessment
US9633400B2 (en) * 2013-01-04 2017-04-25 Samsung Electronics Co., Ltd. Display apparatus and method of providing a user interface
US9146986B2 (en) * 2013-03-14 2015-09-29 Facebook, Inc. Systems, methods, and apparatuses for implementing an interface to view and explore socially relevant concepts of an entity graph
US8917274B2 (en) * 2013-03-15 2014-12-23 Palantir Technologies Inc. Event matrix based on integrated data
US9852477B2 (en) * 2013-03-20 2017-12-26 Kaptivating Technology Llc Method and system for social media sales
US20140317078A1 (en) * 2013-04-18 2014-10-23 SkillPages Holdings Limited Method and system for retrieving information
US9367536B2 (en) 2013-05-03 2016-06-14 Facebook, Inc. Using inverse operators for queries on online social networks
US9367625B2 (en) 2013-05-03 2016-06-14 Facebook, Inc. Search query interactions on online social networks
US9367880B2 (en) 2013-05-03 2016-06-14 Facebook, Inc. Search intent for queries on online social networks
US20140351717A1 (en) * 2013-05-24 2014-11-27 Facebook, Inc. User-Based Interactive Elements For Content Sharing
US9552055B2 (en) * 2013-07-15 2017-01-24 Facebook, Inc. Large scale page recommendations on online social networks
CN104424187B (zh) * 2013-08-19 2019-05-24 腾讯科技(深圳)有限公司 一种向客户端用户推荐好友的方法及装置
JP6122126B2 (ja) * 2013-08-27 2017-04-26 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
US9665875B2 (en) * 2013-10-18 2017-05-30 Sap Se Automated software tools for improving sales
US9686276B2 (en) 2013-12-30 2017-06-20 AdMobius, Inc. Cookieless management translation and resolving of multiple device identities for multiple networks
US8954441B1 (en) * 2014-01-02 2015-02-10 Linkedin Corporation Graph-based system and method of information storage and retrieval
US9483162B2 (en) * 2014-02-20 2016-11-01 Palantir Technologies Inc. Relationship visualizations
US9898716B2 (en) 2014-06-27 2018-02-20 Empire Technology Development Llc Social network construction
US20160117355A1 (en) * 2014-10-22 2016-04-28 Facebook, Inc. Social Scores for Network Elements
US9892210B2 (en) * 2014-10-31 2018-02-13 Microsoft Technology Licensing, Llc Partial graph incremental update in a social network
US20160148126A1 (en) 2014-11-20 2016-05-26 Atom Tickets, LLC Automated event concessions management system
US10262066B2 (en) 2014-12-24 2019-04-16 Samsung Electronics Co., Ltd. Crowd-sourced native application crawling
US20160188716A1 (en) * 2014-12-24 2016-06-30 Quixey, Inc. Crowd-Sourced Crawling
US10382577B2 (en) * 2015-01-30 2019-08-13 Microsoft Technology Licensing, Llc Trending topics on a social network based on member profiles
US9882861B2 (en) 2015-02-25 2018-01-30 International Business Machines Corporation Blinder avoidance in social network interactions
US9578043B2 (en) 2015-03-20 2017-02-21 Ashif Mawji Calculating a trust score
US9817905B2 (en) * 2015-03-31 2017-11-14 Linkedin Corporation Profile personalization based on viewer of profile
US10380205B2 (en) 2015-03-31 2019-08-13 Microsoft Technology Licensing, Llc Algorithm for selecting and scoring suggested action
CN106407238B (zh) * 2015-08-03 2021-07-13 腾讯科技(深圳)有限公司 基于媒体内容互动的方法和系统
US9330138B1 (en) 2015-09-18 2016-05-03 Linkedin Corporation Translating queries into graph queries using primitives
US9378241B1 (en) 2015-09-18 2016-06-28 Linkedin Corporation Concatenated queries based on graph-query results
US9535963B1 (en) 2015-09-18 2017-01-03 Linkedin Corporation Graph-based queries
US9378239B1 (en) 2015-09-18 2016-06-28 Linkedin Corporation Verifying graph-based queries
US9378303B1 (en) * 2015-09-18 2016-06-28 Linkedin Corporation Representing compound relationships in a graph database
US9514247B1 (en) 2015-10-28 2016-12-06 Linkedin Corporation Message passing in a distributed graph database
US9927956B2 (en) 2016-01-14 2018-03-27 Likeopedia, Llc System and method for categorizing and ranking content for presentation
US10956565B2 (en) * 2016-02-12 2021-03-23 Micro Focus Llc Visualization of associations among data records in a security information sharing platform
US20170235792A1 (en) 2016-02-17 2017-08-17 Www.Trustscience.Com Inc. Searching for entities based on trust score and geography
US9679254B1 (en) 2016-02-29 2017-06-13 Www.Trustscience.Com Inc. Extrapolating trends in trust scores
US10180992B2 (en) 2016-03-01 2019-01-15 Microsoft Technology Licensing, Llc Atomic updating of graph database index structures
US20170262521A1 (en) 2016-03-11 2017-09-14 Linkedin Corporation Partitioning and replicating data in scalable distributed data stores
US9721296B1 (en) 2016-03-24 2017-08-01 Www.Trustscience.Com Inc. Learning an entity's trust model and risk tolerance to calculate a risk score
US10789295B2 (en) 2016-09-28 2020-09-29 Microsoft Technology Licensing, Llc Pattern-based searching of log-based representations of graph databases
US10754859B2 (en) 2016-10-28 2020-08-25 Microsoft Technology Licensing, Llc Encoding edges in graph databases
US11126971B1 (en) * 2016-12-12 2021-09-21 Jpmorgan Chase Bank, N.A. Systems and methods for privacy-preserving enablement of connections within organizations
US10878474B1 (en) 2016-12-30 2020-12-29 Wells Fargo Bank, N.A. Augmented reality real-time product overlays using user interests
US10445321B2 (en) 2017-02-21 2019-10-15 Microsoft Technology Licensing, Llc Multi-tenant distribution of graph database caches
US10671671B2 (en) 2017-06-09 2020-06-02 Microsoft Technology Licensing, Llc Supporting tuples in log-based representations of graph databases
US10445370B2 (en) 2017-06-09 2019-10-15 Microsoft Technology Licensing, Llc Compound indexes for graph databases
US10628492B2 (en) 2017-07-20 2020-04-21 Microsoft Technology Licensing, Llc Distributed graph database writes
US10540359B2 (en) * 2017-07-27 2020-01-21 Facebook, Inc. Systems and methods for providing a boost for content items in ranking for feeds
US10983997B2 (en) 2018-03-28 2021-04-20 Microsoft Technology Licensing, Llc Path query evaluation in graph databases
JP2022506500A (ja) 2018-11-02 2022-01-17 シー3.エーアイ, インコーポレイテッド 全履歴動的ネットワーク分析のためのシステムおよび方法
US11567995B2 (en) 2019-07-26 2023-01-31 Microsoft Technology Licensing, Llc Branch threading in graph databases
US11113267B2 (en) 2019-09-30 2021-09-07 Microsoft Technology Licensing, Llc Enforcing path consistency in graph database path query evaluation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008137590A2 (en) * 2007-05-01 2008-11-13 Google Inc. Keyword and user association
JP2010218376A (ja) * 2009-03-18 2010-09-30 Nomura Research Institute Ltd ユーザ関心ジャンル分析システム
KR20110086233A (ko) * 2010-01-22 2011-07-28 유플리트 주식회사 공통 관심 사용자 검색장치 및 방법
JP2011170471A (ja) * 2010-02-17 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> ソーシャルグラフ生成方法、ソーシャルグラフ生成装置、およびプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526464B2 (en) * 2003-11-28 2009-04-28 Manyworlds, Inc. Adaptive fuzzy network system and method
US20090132345A1 (en) * 2004-02-13 2009-05-21 Bahram Meyssami Method and system for determining relevant matches based on attributes
US20070150498A1 (en) * 2005-12-23 2007-06-28 Xerox Corporation Social network for distributed content management
US7856411B2 (en) * 2006-03-21 2010-12-21 21St Century Technologies, Inc. Social network aware pattern detection
US20080109491A1 (en) * 2006-11-03 2008-05-08 Sezwho Inc. Method and system for managing reputation profile on online communities
WO2008111048A2 (en) * 2007-03-09 2008-09-18 Ghost, Inc. System and method for browser within a web site and proxy server
US8260642B2 (en) * 2007-05-18 2012-09-04 International Business Machines Corporation Method and system for scoring and ranking a plurality of relationships in components of socio-technical system
US8301623B2 (en) * 2007-05-22 2012-10-30 Amazon Technologies, Inc. Probabilistic recommendation system
GB0710845D0 (en) * 2007-06-06 2007-07-18 Crisp Thinking Ltd Communication system
US20090091087A1 (en) * 2007-10-03 2009-04-09 Robert Andrew Wasmund Quiz-nested quiz game and system therefore
US20090198666A1 (en) * 2008-02-01 2009-08-06 Winston Ronald H Affinity matching system and method
US8024324B2 (en) * 2008-06-30 2011-09-20 International Business Machines Corporation Information retrieval with unified search using multiple facets
US8990106B2 (en) * 2008-08-22 2015-03-24 Realwire Limited Information categorisation systems, modules, and methods
US8626141B2 (en) * 2009-07-30 2014-01-07 Qualcomm Incorporated Method and apparatus for customizing a user interface menu
US20110035329A1 (en) * 2009-08-07 2011-02-10 Delli Santi James W Search Methods and Systems Utilizing Social Graphs as Filters
US9305081B2 (en) * 2009-11-20 2016-04-05 Nec Corporation Information processing device
US20110302097A1 (en) * 2010-06-04 2011-12-08 Microsoft Corporation Behavior-based networks
EP2451141B1 (en) * 2010-11-09 2018-11-07 BlackBerry Limited Methods and apparatus to display mobile device contents
KR101073602B1 (ko) 2010-11-30 2011-10-14 중앙대학교 산학협력단 소셜 신뢰도 모델 생성 시스템 및 방법
US10304066B2 (en) * 2010-12-22 2019-05-28 Facebook, Inc. Providing relevant notifications for a user based on location and social information
US8832111B2 (en) * 2010-12-30 2014-09-09 Facebook, Inc. Distributed cache for graph data
US8977611B2 (en) * 2011-10-18 2015-03-10 Facebook, Inc. Ranking objects by social relevance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008137590A2 (en) * 2007-05-01 2008-11-13 Google Inc. Keyword and user association
JP2010218376A (ja) * 2009-03-18 2010-09-30 Nomura Research Institute Ltd ユーザ関心ジャンル分析システム
KR20110086233A (ko) * 2010-01-22 2011-07-28 유플리트 주식회사 공통 관심 사용자 검색장치 및 방법
JP2011170471A (ja) * 2010-02-17 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> ソーシャルグラフ生成方法、ソーシャルグラフ生成装置、およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101866866B1 (ko) 2017-01-12 2018-06-14 서울대학교산학협력단 부호화된 네트워크에서의 개인화된 랭킹 방법, 이를 수행하기 위한 기록 매체 및 장치
KR20210132578A (ko) * 2020-04-27 2021-11-04 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 지식 그래프를 구축하는 방법, 장치, 기기 및 저장 매체

Also Published As

Publication number Publication date
KR101686594B1 (ko) 2016-12-14
US9959359B2 (en) 2018-05-01
US20130097180A1 (en) 2013-04-18
JP5964977B2 (ja) 2016-08-03
US20150127663A1 (en) 2015-05-07
AU2012326599B2 (en) 2017-10-12
WO2013058903A1 (en) 2013-04-25
CA2851365A1 (en) 2013-04-25
AU2012326599A1 (en) 2014-04-24
CA2851365C (en) 2020-07-07
JP2014534516A (ja) 2014-12-18
US8977611B2 (en) 2015-03-10

Similar Documents

Publication Publication Date Title
KR101686594B1 (ko) 소셜 관련성에 의한 객체의 순위화
JP6250768B2 (ja) ソーシャルネットワークのユーザ間のやりとりの円滑化
US10430425B2 (en) Generating suggested queries based on social graph information
US10331748B2 (en) Dynamically generating recommendations based on social graph information
KR101748336B1 (ko) 자연어 처리에 기반한 서로 다른 객체들에 대한 계수 귀속
US8244848B1 (en) Integrated social network environment
US8572129B1 (en) Automatically generating nodes and edges in an integrated social graph

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191202

Year of fee payment: 4