KR101662195B1 - 소셜 네트워크 데이터에 기반한 검색 결과의 클라이언트-측 변경 - Google Patents

소셜 네트워크 데이터에 기반한 검색 결과의 클라이언트-측 변경 Download PDF

Info

Publication number
KR101662195B1
KR101662195B1 KR1020147000623A KR20147000623A KR101662195B1 KR 101662195 B1 KR101662195 B1 KR 101662195B1 KR 1020147000623 A KR1020147000623 A KR 1020147000623A KR 20147000623 A KR20147000623 A KR 20147000623A KR 101662195 B1 KR101662195 B1 KR 101662195B1
Authority
KR
South Korea
Prior art keywords
user
users
network
network resources
search results
Prior art date
Application number
KR1020147000623A
Other languages
English (en)
Other versions
KR20140051222A (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 KR20140051222A publication Critical patent/KR20140051222A/ko
Application granted granted Critical
Publication of KR101662195B1 publication Critical patent/KR101662195B1/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/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • 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/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
    • 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/24578Query processing with adaptation to user needs using ranking
    • 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/248Presentation of query results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

특정 실시예로, 본 발명은 클라이언트 장치에서 클라이언트 애플리케이션으로 로딩되는 구조화된 문서 내 제1 사용자의 검색 쿼리에 부합하는 한 세트의 검색 결과들에 접속하는 단계와, 제1 사용자와 관련이 있는 하나 이상의 제2 사용자들이 임의의 검색 결과들에 접속했는지를 판단하도록 소셜 그래프 정보의 데이터 스토어에 접속하는 단계와, 클라이언트 장치에서 하나 이상의 제2 사용자들에 의해 접속되었던 각각의 하나 이상의 검색 결과들을 클라이언트 애플리케이션의 사용자 인터페이스에서 시각적으로 구분하는 단계를 포함하는 방법이다.

Description

소셜 네트워크 데이터에 기반한 검색 결과의 클라이언트-측 변경{CLIENT-SIDE MODIFICATION OF SEARCH RESULTS BASED ON SOCIAL NETWORK DATA}
본 발명은 일반적으로 소셜 네트워킹 시스템에 관한 것이며, 더 상세하게는 소셜 네트워킹 시스템으로부터의 소셜 네트워크 데이터를 기초로 검색 결과들을 재정리하는 방법에 관한 것이다.
삭제
발명의 명칭이 "Automatically generating nodes and edges in an integrated social graph"이고, 2010년 4월 19일자로 출원되었으며, 발명자가 Narayanan 등인 미국 특허출원번호 제12/763,145호는, 다른 것들보다도, 소셜 네트워크 환경의 사용자에 의해 현재 입력되는 정보에 기반하여 자동으로 노드 및 에지를 생성하는 방법을 기술한다. 하나 이상의 클라이언트-측 및/또는 후단부 (서버-측) 프로세스들은, 각각의 기존 노드에 해당하는 컨셉을 요청된 웹 페이지와 함께 렌더링된 입력의 형태로 사용자에 의해 현재 입력되는 정보에 매치시키도록 자동으로 시도하는 "타이프어헤드(typeahead)" 기능을 구현하고 이용한다. 매치가 발견될 때, 이러한 프로세스들 또는 다른 프로세스들은 이후 사용자에 해당하는 노드(사용자의 노드)로부터 컨셉 매치에 해당하는 기존의 노드로의 에지를 자동으로 생성할 수 있다. 기존의 컨셉에 대한 매치 및 해당 노드가 발견되지 않을 때, 아니면 적어도 원하는 신뢰도로 발견되지 않을 때, 이러한 프로세스 및 다른 프로세스는 새로운 노드 및 새로운 노드로부터 사용자의 노드로의 에지를 자동으로 생성할 수 있다.
발명의 명칭이 "Search and retrieval of objects in a social networking system"이고, 2010년 6월 15일자로 출원되었으며, 발명자가 Wable 등인 미국 특허출원번호 제12/816,377호는, 다른 것들보다도, 소셜 네트워킹 시스템이 사용자와 관련된 질의를 수신하고, 그 응답으로 질의에 일치하고 소셜 네트워킹 시스템에 의해 저장된 객체를 포함하는 조합된 결과 세트를 제공하는 방법을 기술한다. 조합된 결과 세트는 상이한 검색 알고리즘으로부터 획득된 다수의 결과 세트들을 포함할 수 있다. 소셜 네트워킹 시스템에 의해 저장된 다양한 객체는, 상이한 컨셉을 표현하는 상이한 타입일 수 있고, 가령 사용자 객체, 애플리케이션 객체, 이벤트 객체, 위치 객체, 그룹 객체, 및 허브/페이지 객체일 수 있으며, 이들은 결과 세트에 포함될 수 있다. 결과 세트의 객체들은, 사용자의 객체와의 알려진 관계, 가령 사용자 및 객체와 관련된 위치들 사이의 지리적 거리에 적어도 부분적으로 기반하여 더 필터되거나, 순서화되거나, 및/또는 그룹화될 수 있다.
일반적으로 소셜 네트워크는 가령 친구관계, 혈연관계, 공통 관심사, 재정적 교환, 반감(dislike) 또는 믿음 관계와 같은 하나 이상의 상호의존 또는 관계 유형, 지식, 명성(prestige)으로 연결되는, 가령 개인들 또는 단체들과 같은 엔티티들로 구성된 사회적 구조이다. 최근 수년 이상 동안, 소셜 네트워크는 인터넷을 이용해왔다. 소셜 네트워킹 웹사이트의 형태로 인터넷에 존재하는 소셜 네트워킹 시스템들이 있다. 가령 소셜 네트워킹 웹사이트와 같은 소셜 네트워킹 시스템은 사용자들이 소셜 네트워킹 시스템과 상호작용하고, 소셜 네트워킹 시스템을 통해 서로 상호작용하도록 해준다.
소셜 네트워킹 시스템은 사용자와 관련하여 흔히 사용자 프로필이라 일컫는 레코드를 생성하고 저장할 수 있다. 사용자 프로필은 사용자의 인구학적 정보, 통신 채널 정보 및 개인 관심사를 포함할 수 있다. 또한, 소셜 네트워킹 시스템은 소셜 네트워킹 시스템에서 다른 사용자들과의 사용자의 관계(예컨대, 소셜 그래프)의 레코드를 생성하고 저장할 수 있을 뿐만 아니라 서비스(예컨대, 월-포스트, 사진 공유 또는 인스턴트 메시징)를 제공하여 소셜 네트워킹 시스템에서 사용자들 사이의 소셜 상호작용을 용이하게 할 수 있다. 또한, 소셜 네트워킹 시스템은 사용자 선호도(user preferences)를 생성하고 저장할 수 있다. 소셜 네트워킹 시스템은 애플리케이션 프로그래밍 인터페이스 및 제3자 시스템이 사용자들의 사용자 프로필 데이터에 접속할 수 있도록 하는 관련 기능을 지원할 수 있다. 이런 제3자 웹사이트는 사용자 프로필 데이터를 사용할 수 있고, 사용자들을 식별하고 이런 제3자 웹사이트에서 사용자들의 계정을 관리하기 위해 사용자의 신원 및 계정을 사용할 수 있다. 또한, 이런 제3자 웹사이트는 사이트에서의 사용자 경험을 개인화 또는 맞춤화하기 위해 사용자 프로필 데이터에 접속할 수 있다.
본 발명은 일반적으로 소셜 네트워킹 시스템에 관한 것이며, 더 상세하게는 소셜 네트워킹 시스템으로부터의 소셜 네트워크 데이터를 기초로 검색 결과들을 재정리하는 방법에 관한 것이다.
특정 실시예로, 본 발명의 방법은 클라이언트 장치에서 클라이언트 애플리케이션으로 로딩되는 구조화된 문서 내 제1 사용자의 검색 쿼리에 부합하는 한 세트의 검색 결과들에 접속하는 단계와, 제1 사용자와 관련이 있는 하나 이상의 제2 사용자들이 임의의 검색 결과들에 접속했는지를 판단하도록 소셜 그래프 정보의 데이터 스토어에 접속하는 단계와, 클라이언트 장치에서 하나 이상의 제2 사용자들에 의해 접속되었던 각각의 하나 이상의 검색 결과들을 클라이언트 애플리케이션의 사용자 인터페이스에서 시각적으로 구분하는 단계를 포함한다.
본 명세서의 이런 특징과 다른 특징, 태양 및 이점이 상세한 설명 및 하기의 도면과 함께 더 상세히 기술된다.
본 발명의 내용 중에 포함되어 있다.
도 1은 예시적 시스템을 도시한다.
도 2는 예시적 방법을 도시하는 흐름도이다.
도 3은 예시적 검색 결과를 도시한다.
도 4는 예시적 컴퓨터 시스템을 도시한다.
이제, 본 발명은 첨부도면에 도시된 바와 같이 본 발명의 몇몇 실시예들을 참조하여 상세히 기술된다. 하기의 상세한 설명에서는, 본 명세서의 완전한 이해를 제공하기 위해 많은 특정한 세부사항이 제시된다. 그러나, 본 명세서는 특정한 세부사항들의 일부 또는 전부 없이도 실행될 수 있다는 점이 당업자에게 명백하다. 다른 예에서, 본 명세서를 불필요하게 모호하지 않게 하기 위해, 잘 알려진 공정 단계 및/또는 구조는 상세히 기술되지 않았다. 또한, 본 명세서는 특정한 실시예들과 함께 기술되나, 이런 설명이 본 명세서를 기술된 실시예들로 제한하려는 의도는 아니라는 점을 이해해야 한다. 이에 반해, 상세한 설명은 첨부된 청구항들에 의해 정의되는 바와 같이 본 명세서의 기술사상 및 범위 내에 포함될 수 있는 대안들, 변형들 및 균등물을 포함하도록 의도된다.
소셜 네트워크 시스템 및 접속가능한 사용자 프로필 데이터
소셜 네트워킹 웹사이트와 같은 소셜 네트워킹 시스템은 사용자들이 소셜 네트워킹 시스템과 상호작용하고, 소셜 네트워킹 시스템을 통해 서로 상호작용하도록 해준다. 통상, 소셜 네트워킹 시스템의 등록된 사용자가 되기 위해, 엔티티, 인간 또는 비-인간은 소셜 네트워킹 시스템에 계정(account)을 등록한다. 그 이후, 등록된 사용자는 예컨대 올바른 로그인 ID나 사용자 이름 및 패스워드를 제공하여 계정을 통해 소셜 네트워킹 시스템으로 로그인할 수 있다. 본 명세서에서 사용되는 바와 같이, "사용자"는 이런 소셜 네트워크 환경과 또는 소셜 네트워크 환경에서 상호작용하거나 통신하는 개인(사람 사용자), 엔티티(예컨대, 기업, 비즈니스 또는 제3자 애플리케이션) 또는 (예컨대, 개인들 또는 엔티티의) 그룹일 수 있다.
사용자가 소셜 네트워킹 시스템에 계정을 등록하는 경우, 소셜 네트워킹 시스템은 사용자와 관련하여 흔히 "사용자 프로필"이라고 하는 레코드를 생성하고 저장할 수 있다. 사용자 프로필은 사용자에 의해 제공되는 정보 및 사용자의 활동 또는 행위와 관련하여 소셜 네트워킹 시스템을 포함하는 다양한 시스템에 의해 수집된 정보를 포함할 수 있다. 예컨대, 사용자는 이름, 프로필 사진, 연락처, 생일, 성별, 혼인 여부, 가족 관계, 직장, 학력, 기호, 관심사 및 사용자 프로필에 포함될 수 있는 다른 인구학적 정보를 제공할 수 있다. 사용자는 사용자가 그의 친구라고 간주하는 소셜 네트워킹 시스템의 다른 사용자들을 식별할 수 있다. 사용자의 친구들 또는 일촌 컨택들(first-degree contacts)의 리스트는 사용자의 프로필에 포함될 수 있다. 소셜 네트워킹 시스템에서 연결은 양방향이거나 단지 한 방향일 수 있다. 예컨대, 밥(Bob)과 조(Joe)가 둘 다 사용자들이며 서로 연결되어 있다면, 밥과 조는 서로 간의 연결이다. 반면에, 밥은 샘(Sam)의 포스팅된 컨텐츠 아이템을 열람하기 위해 샘과 연결하고자 하나, 샘이 밥과의 연결을 선택하지 않는다면, 샘은 밥의 연결이나, 밥은 샘의 연결이 아닌 일방의 연결이 형성될 수 있다. 소셜 네트워킹 시스템의 일부 실시예는 연결이 하나 이상의 연결 레벨(예컨대, 친구들의 친구들)을 통해 간접적일 수 있도록 한다. 연결(connections)은 사용자, 예컨대 친구가 되고자 특정한 다른 사용자를 선택하는 사용자에 의해 명시적으로 추가될 수 있으나, 사용자들의 공통의 특성(예컨대, 동일한 교육기관의 졸업생인 사용자들)을 기초로 소셜 네트워킹 시스템에 의해 자동으로 생성될 수 있다. 사용자는 사용자가 흔히 방문하는 웹사이트나 웹페이지를 식별하거나 북마크(bookmark)할 수 있으며, 이들 웹사이트나 웹페이지는 사용자의 프로필에 포함될 수 있다.
사용자는 사용자가 계정을 등록한 때 또는 후속 시점에 사용자의 다양한 측면에 관한 정보(가령 연락처 및 관심사)를 제공할 수 있다. 또한, 사용자는 그 또는 그녀의 프로필 정보를 임의의 시기에 업데이트할 수 있다. 예컨대, 사용자가 이사하거나 전화번호를 변경하는 경우, 사용자는 연락처를 업데이트할 수 있다. 추가로, 사용자의 관심사는 시간이 지남에 따라 변할 수 있으며, 사용자는 때때로 프로필의 관심사를 업데이트할 수 있다. 또한, 가령 시스템상의 특정 정보에 접근하는 빈도와 같이, 소셜 네트워킹 시스템상에서 사용자의 활동은 사용자의 프로필에 포함될 수 있는 정보를 제공할 수 있다. 또한, 이런 정보는 사용자의 가장 최근의 활동을 반영하여 때때로 업데이트될 수 있다. 게다가, 다른 사용자들 또는 사용자의 소위 친구들이나 컨택들(contacts)도 또한 사용자의 프로필에 대한 업데이트에 영향을 주거나 업데이트하도록 하는 활동을 수행할 수 있다. 예컨대, 컨택은 친구로서 사용자를 추가할 수 있다(또는 친구로서 사용자를 삭제할 수 있다). 또한, 컨택은 통상 월-포스트로 알려진 사용자의 프로필 페이지에 메시지를 기록할 수 있다. 또한, 사용자는 사용자의 프로필 페이지로 포스팅되는 상태 메시지를 입력할 수 있다.
소셜 네트워킹 시스템은 일반적으로 개인들의 그룹들 사이의 관계를 모델링할 수 있는 소셜 그래프 정보를 관리할 수 있으며, 조금 아는 사이(casual acquaintances)에서 가까운 가족 관계(familial bonds)까지의 관계를 포함할 수 있다. 소셜 네트워크는 그래프 구조를 사용하여 표현될 수 있다. 그래프의 각 노드는 소셜 네트워크의 회원에 해당한다. 2개의 노드를 연결하는 에지(edge)는 2명의 사용자 사이의 관계를 나타낸다. 또한, 임의의 2개의 노드 사이의 이격도(degree of separation)는 한 노드에서 다른 노드로 그래프를 횡단하는데 필요한 홉들(hops)의 최소 개수로 정의된다. 2명의 사용자 사이의 이격도는 그래프에서 노드로 표현되는 2명의 사용자 사이의 관련성의 기준으로 간주될 수 있다.
특정 실시예로, 에지는 에지가 소셜 그래프에 연결하는 노드의 타입에 적어도 일부를 기초로 한 복수의 에지 타입 중 하나일 수 있다. 특정 실시예로, 예컨대 제1 에지 타입으로부터의 각 에지는 제1 세트로부터의 한 쌍의 사용자 노드들 사이의 연결을 정의하는 반면, 제2 에지 타입으로부터의 각 에지는 제1 세트로부터의 사용자 노드와 제2 세트로부터의 개념 노드 사이의 연결을 정의한다. 게다가, 제3 에지 타입으로부터의 각 에지는 제2 세트로부터의 한 쌍의 개념 노드들 사이의 연결을 정의할 수 있다. 특정 실시예로, 에지 그 자체는 에지를 연결하는 노드 쌍 사이의 연결 타입을 정의하는 데이터를 저장하거나 데이터와 함께 저장될 수 있다. 특정 실시예로, 각 에지는 에지를 연결하는 노드 타입에 관계 없이 노드들 사이의 연결을 단순히 정의하거나 표현할 수 있다; 즉, 에지 그 자체는 에지를 연결하는 노드들의 식별자를 저장하거나 식별자와 함께 저장될 수 있으나, 에지를 연결하는 노드 쌍 사이의 연결을 타입을 기술하는 데이터를 저장하거나 데이터와 함께 저장될 수 있다. 게다가, 임의의 이런 또는 다른 특정 실시예로, 연결 타입이나 에지에 의해 연결된 노드들 사이의 관계를 나타낼 수 있는 데이터는 노드들 그 자체로 저장될 수 있다. 통합 소셜 그래프에서 자동 에지 생성에 관한 추가적인 정보는 다목적용으로 본 명세서에 참조로 통합된 미국특허출원 No.12/763,145에 기술된다.
사용자 프로필 페이지와 마찬가지로, 개념 프로필 페이지("허브(hubs)")는 해당하는 허브 노드와 관련된 개념에 관한 정보를 공유한다. 특정 실시예로, 소셜 네트워킹 시스템에 로그인 되고 허브를 열람하는 임의의 등록 사용자는 위키-사이트(wiki-site)와 유사한 허브로 컨텐츠를 추가할 수 있다. 또한, 허브는 일반적으로 기본 정보 섹션, 상세 정보 섹션뿐만 아니라 잠재적으로, 허브를 열람하는 임의의 사용자에 의해 통상 채워질 수 있는 임의의 모든, 다른 섹션들을 포함할 수 있다. 특정 실시예로, 월(또는 뉴스 피드/활동 피드) 섹션 또는 허브의 다른 피드 섹션이나 활동 섹션은 허브를 열람중인 사용자 및 사용자의 친구들과 관련된 코멘트, 상태 업데이트, 월 포스트 및 다른 사용자 활동을 디스플레이한다. 또한, 월(또는 뉴스 피드/활동 피드) 섹션 또는 허브의 다른 피드 섹션이나 활동 섹션은 생성된 허브에 대한 개념과 관련된 코멘트, 상태 업데이트, 월 포스트 및 다른 사용자 활동과 사용자 생성 컨텐츠를 디스플레이할 수 있다. 또한, 허브는 사용자들이 개념 내 또는 개념에 관한 이미지를 업로드할 수 있도록 하는 포토 탭 하에 있는 포토 또는 사진 섹션을 포함할 수 있는데, 이미지 중 하나는 허브에 대한 프로필 사진으로서 선택될 수 있다.
특정 실시예로, 소셜 그래프 데이터베이스에 저장된 사용자 노드 및 허브 노드는 에지를 통해 서로 연결될 수 있다. 특정 실시예로, 각 에지는 에지에 의해 연결된 노드 쌍 사이의 연결을 정의하거나, 표시하거나, 특징짓는 복수의 에지 타입들 중 한 에지 타입에 의해 분류되거나 특징지어질 수 있다. 특정 실시예로, 에지는 개별 사용자 노드들과 관련된 사용자들(예컨대, 친구들) 사이의 친구관계 또는 다른 소셜 관계 연결을 정의한다.
또한, 소셜 네트워킹 시스템은 개인정보 모델(privacy model)을 지원할 수 있다. 사용자는 다른 사용자 또는 제3자 애플리케이션과 사용자의 정보를 공유하고자 할 수 있거나 공유하지 않으려고 할 수 있으며, 또는 사용자는 오직 특정 사용자 또는 제3자 애플리케이션하고만 사용자의 정보를 공유하고자 할 수 있다. 사용자는 그의 정보가 사용자 프로필과 관련된 개인정보 설정을 통해 다른 사용자들 또는 제3자 애플리케이션과 공유되는지 여부를 제어할 수 있다. 예컨대, 사용자는 사용자와 관련된 각각의 사용자 자료에 대한 개인정보 설정을 선택할 수 있고/있거나, 전역적으로 또는 사용자 프로필 정보의 카테고리 또는 타입에 적용되는 설정을 선택할 수 있다. 개인정보 설정은 사용자 자료에 접근할 수 있는 엔티티의 집합(예컨대, 다른 사용자들, 사용자의 연결들, 친구들의 친구들 또는 제3자 애플리케이션)을 정의하거나 식별한다. 개인정보 설정은, 가령 소셜 네트워크에서 특정 엔티티(예컨대, 다른 사용자들), 사용자의 연결의 기정의된 그룹들, 특정 타입의 연결들, 모든 사용자의 연결들, 사용자의 연결들 중 모든 일촌 연결들, 전체의 소셜 네트워크 또는 (예컨대, 인터넷상에서 포스팅된 컨텐츠 아이템을 인덱싱 가능하고 검색가능하도록) 심지어 전체의 인터넷을 지정함으로써, 다양한 레벨의 세분화(granularity)로 지정될 수 있다. 사용자는 포스팅되는 모든 사용자 데이터에 대한 디폴트 개인정보 설정을 선택할 수 있다. 추가로, 사용자는 특정 엔티티가 사용자 자료 또는 특정 타입의 사용자 데이터를 열람하는 것을 구체적으로 배제할 수 있다.
도 1은 클라이언트 장치(110), 외부 웹사이트(120) 및 소셜 네트워킹 시스템(130)을 포함하는 시스템의 특정 실시예를 도시한다. 특정 실시예로, 링크(150)는 클라이언트 장치(110)와 외부 웹사이트(120) 사이, 클라이언트 장치(110)와 소셜 네트워킹 시스템(130) 사이 및 외부 웹사이트(120)와 소셜 네트워킹 시스템(130) 사이의 상호작용들을 도시한다.
클라이언트 장치(110)는 일반적으로 컴퓨터 네트워크를 통해 (예컨대, 원격으로) 통신하기 위한 기능들을 포함하는 컴퓨터 또는 컴퓨팅 장치이다. 클라이언트 장치(110)는 다른 적합한 컴퓨팅 장치들 가운데, 데스크톱 컴퓨터, 랩톱 컴퓨터, 개인 정보 단말기(PDA), 차량 내외 항법시스템, 스마트폰이나 다른 셀룰러폰 또는 모바일폰, 또는 모바일 게임장치일 수 있다. 클라이언트 장치(110)는 가령 웹 브라우저(예컨대, 마이크로소프트 윈도우 인터넷 익스플로러, 모질라 파이어폭스, 애플 사파리, 구글 크롬 및 오페라 등)와 같은 하나 이상의 클라이언트 애플리케이션을 실행하여 컴퓨터 네트워크를 통해 컨텐츠에 접근하고 컨텐츠를 열람할 수 있다.
특정 실시예로, 클라이언트 장치(110)는 구조화된 문서를 처리하는 브라우저 애플리케이션(112) 또는 다른 애플리케이션을 호스트할 수 있다. 특정 실시예로, 클라이언트 장치(110)는 외부 웹사이트(120) 및/또는 소셜 네트워킹 시스템(130)으로부터 하나 이상의 구조화된 문서를 수신할 수 있다. 특정 실시예로, 구조화된 문서는 가령 소셜 네트워킹 시스템(130)에 의해 관리되는 사용자 프로필의 소셜 네트워크 데이터 요소를 식별하는 API 호출(API calls)과 같은 텍스트, 링크, 스크립트 및 다른 속성들을 포함하는 마크업 언어 문서일 수 있다. 특정 실시예로, 구조화된 문서는 예컨대 클라이언트 장치(110)에서 디스플레이용 컨텐츠를 렌더링하는 방법을 명시하는 명령어를 포함할 수 있다. 특정 실시예로, 구조화된 문서는 예컨대 소셜 네트워킹 시스템(130)으로부터 추가 정보에 접속하는 방법에 관한 명령어를 포함할 수 있다. 대안으로, 구조화된 문서 내의 명령어는 클라이언트 장치(110)에서 스크립팅 엔진(116)에 의해 해석되는 프로그램 로직을 포함할 수 있다.
특정 실시예로, 브라우저 애플리케이션(112)은 구조화된 문서에서 마크업 언어를 처리할 수 있고 디스플레이 가능한 웹페이지로서 구조화된 문서를 렌더링할 수 있다. 특정 실시예로, 디스플레이 가능한 웹페이지는 외부 웹사이트(120)의 컨텐츠뿐만 아니라 소셜 네트워킹 시스템(130)의 하나 이상의 위치된 소셜 네트워크 데이터 요소를 포함할 수 있다. 특정 실시예로, 브라우저 애플리케이션(112)은 클라이어트 장치(110)의 디스플레이 상에 렌더링된 웹페이지를 디스플레이할 수 있다. 예컨대, 외부 웹사이트(120)에 의해 호스팅된 구조화된 문서는 사용자의 프로필 사진에 대한 API 호출을 포함할 수 있다. 구조화된 문서를 처리할 때, 브라우저 애플리케이션(112)은 요청을 소셜 네트워킹 시스템(130)으로 전송하여 사용자의 프로필 사진을 검색할 수 있다. 요청은 HTTP 요청일 수 있고, 소셜 네트워킹 시스템(130)의 사용자를 식별하는 정보를 갖는 브라우저 쿠키를 더 포함할 수 있다. 브라우저 쿠키는 예컨대 사용자가 최근에 소셜 네트워킹 시스템(130)에 로그인 하였고/하였거나 인증받았는지와 같은, 상태 및 사용자의 상태를 나타내는 다른 정보를 포함할 수 있다. 게다가, 외부 웹사이트(120)에 의해 제공되는 구조화된 문서는 사용자가 소셜 네트워크 시스템(130)으로 로그인하도록 해주는 (가령 div 또는 iframe 같은) 세그먼트를 포함할 수 있다. 예컨대, 구조화된 문서는 HTML 코드, Javascript 및 클라이언트 장치(110)에 의해 호스팅된 브라우저가 소셜 네트워킹 시스템(130)에 접속하고 디스플레이되는 구조화된 문서의 섹션에 로그인 인터페이스를 렌더링하도록 하는 다른 컨트롤들을 포함할 수 있다. 특정 실시예로, 외부 웹사이트(120)는 인터넷에서 접속가능한 임의의 웹사이트일 수 있고, 가령, 예로서 제한 없이, 텍스트, 오디오, 비디오, 이미지, 웹페이지, 문서, 실행가능한 것들 등과 같은 다양한 포맷을 가질 수 있다. 특정 실시예는 가령 검색 엔진(126)과 같이, 인터넷을 통해 원하는 정보의 위치를 찾아내기 위한 컴퓨터-구현 도구일 수 있다. 가장 흔한 검색 엔진들의 일부는 Microsoft® Inc.(http://www.bing.com), Yahoo!® Inc.(http://search.yahoo.com) 및 GoolgeTM Inc.(http://www.google.com)에 의해 제공되는 검색 엔진들이다. 특정 실시예로, 컨텐츠 스토어(124)로 도시된 바와 같이, 외부 웹사이트(120) 및 그 컨텐츠는 가령 컴퓨터 및 서버, 데이터베이스 등과 같은, 전세계의 많은 다른 사이트들에 저장될 수 있다. 특정 실시예로, 검색 엔진(126)이 위치를 찾고자하는 정보는 컨텐츠 스토어(124), 소셜 네트워킹 시스템(130) 또는 가령 컴퓨터 및 서버, 데이터베이스 등과 같은, 전세계의 많은 다른 사이트들에 있을 수 있다. 이런 다른 사이트들은 다양한 네트워크 기반구조를 통해 인터넷으로 통신가능하게 연결되며, 외부 웹사이트(120)의 URL(Uniform Resource Locator)은 해당 문서가 위치하는 곳 및 이 문서를 검색하는 메커니즘을 지정한다. 임의의 사람은 인터넷으로 연결된 적절한 네트워크 장치(예컨대, 컴퓨터, 스마트폰 전화 등)를 통해 공개적으로 이용가능한 외부 웹사이트(120)나 그 컨텐츠에 접근할 수 있다.
특정 실시예로, 외부 웹사이트(120) 및 소셜 네트워킹 시스템(130)은 하나 이상의 사용자들 또는 회원들을 가질 수 있다. 특정 실시예로, 외부 웹사이트(120)의 사용자들은 또한 소셜 네트워킹 시스템(130)의 사용자들일 수 있다. 특정 실시예로, 사용자는 클라이언트 장치(110)를 사용하여 외부 웹사이트(120) 및/또는 소셜 네트워킹 시스템(130)과 상호작용할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(130)은 사용자 프로필 정보 및 사용자들 사이의 연결을 유지할 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(130)은 소셜 네트워킹 시스템(130)이 요청된 정보 또는 요청된 정보의 서브세트와 응답할 수 있는 외부 웹사이트(120) 또는 클라이언트 장치(110) 중 하나로부터 요청을 수신할 수 있다. 클라이언트 장치(110), 외부 웹사이트(120) 및 소셜 네트워킹 시스템(130) 사이의 특정 상호작용들과 이런 3개의 시스템 간에 교환된 정보는 상세히 후술할 것이다.
하기에 더 상세히 기술되는 바와 같이, 본 발명의 구현은 사용자의 어느 소셜 네트워크 데이터 요소에 외부 웹사이트(120)가 접속하고자 하며 사용자가 그 또는 그녀의 개인정보 구성과 일치하는 접속을 제어할 수 있도록 하는지를 사용자에게 알려주는 확장된 클라이언트-측 기능을 포함한다.
특정 실시예로, 소셜 네트워킹 시스템(130)은 웹 서버(131), 인증 서버(132), 행위 로거(134), 행위 로그(135), 연결 데이터베이스(133), 개인정보 제어 데이터베이스(136) 및 회원 프로필 데이터베이스(137)를 포함할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(130)은 다양한 애플리케이션용 추가하거나 더 적거나 다른 모듈들을 포함할 수 있다. 가령, 네트워크 인터페이스, 보안 메커니즘, 부하 조절기, 장애극복 서버, 관리 및 네트워크 운영 콘솔 등과 같은 종래의 구성요소들은 시스템의 세부요소들을 모호하지 않게 하도록 도시되지 않는다. 특정 실시예로, 소셜 네트워킹 시스템(130)은 사용자들이 서로 통신하거나 상호작용하게 하며 본 명세서에 기술되는 바와 같은 컨텐츠에 접근하게 하는 컴퓨팅 시스템을 포함한다.
특정 실시예로, 소셜 네트워킹 시스템(130)은 회원 프로필 데이터베이스(137)에 사용자 프로필 데이터 소셜 그래프 정보를 저장한다. 특정 실시예로, 소셜 네트워킹 시스템(130)은 연결 데이터베이스(133)에 서로 다른 사용자들 사이의 하나 이사의 연결들을 나타내는 데이터를 저장한다. 연결 데이터베이스(133)의 특정 실시예는 유사하거나 공통인 경력, 그룹 맴버쉽, 취미 또는 학력을 표시했던 사용자들에 대한 연결 정보를 저장할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(130)은 또한 서로 다른 사용자들 간의 사용자-정의 연결을 포함할 수 있고, 이런 연결은 또한 연결 데이터베이스(133)에 저장될 수 있다. 연결 데이터베이스(135)의 특정 실시예는 사용자들이 다른 사용자들과의 관계를 지정할 수 있도록 한다. 특정 실시예로, 예컨대, 이런 사용자 정의 연결은 사용자들이 친구, 친척, 직장동료, 파트너 등과 같은 사용자들의 실생활과 유사한 다른 사용자들과의 관계를 생성할 수 있도록 한다. 특정 실시예로, 사용자들은 기정의된 연결 타입으로부터 선택할 수 있거나, 필요에 따라 그들 자신의 연결 타입을 정의할 수 있다.
특정 실시예로, 웹 서버(131)는 네트워크(140)를 통해 소셜 네트워킹 시스템(130)을 하나 이상의 클라이언트 장치(110)로 연결한다. 네트워크(140)는 일반적으로 클라이언트 장치(110)가 외부 웹사이트(120)와 소셜 네트워킹 시스템(130)에 접속할 수 있는 네트워크 또는 네트워크 집합(가령 인터넷 또는 기업 인트라넷 또는 이들의 조합)을 나타낸다. 특정 실시예로, 웹 서버(131)는 웹페이지뿐만 아니라 가령 Java, Flash, XML 등과 같은 다른 웹-관련 컨텐츠를 제공한다. 웹 서버(131)의 특정 실시예는 소셜 네트워킹 시스템(131)과 클라이언트 장치(110) 사이의 메시지를 수신하고 라우팅하기 위한 메일 서버 또는 다른 메시징 기능을 포함할 수 있다. 특정 실시예로, 메시지는 인스턴트 메시지, 큐잉된 메시지(예, 이메일), 텍스트 및 SMS 메시지, 또는 임의의 다른 적절한 메시징 기술일 수 있다.
특정 실시예로, 행위 로거(134)는 소셜 네트워킹 시스템(130)의 내 및/또는 외에서 사용자 행위에 대한 웹 서버(131)로부터의 통신을 수신할 수 있다. 특정 실시예로, 행위 로거(134)는 사용자 행위를 추적하기 위해 사용자 행위에 대한 정보를 행위 로그(135)에 거주시킨다. 더 상세하게는, 특정 사용자가 다른 사용자에 대하여 취하는 임의의 행위는 행위 로그(135)와 같이, 데이터베이스나 다른 데이터 저장소(repository)에서 관리되는 정보를 통해 각각의 사용자 프로필과 관련된다. 특정 실시예로, 행위 로그(135)에 기록된 회원들에 의해 취해진 행위들은 소셜 네트워킹 시스템(130)에서 회원들에 의해 취해진 행위들 또는 외부 웹사이트(120)에서 회원들에 의해 취해진 행위들일 수 있다. 특정 실시예로, 외부 웹사이트(120)에서 회원들에 의해 취해진 행위들은 웹 서버(131)로 통신되며, 웹 서버(131)는 요청을 행위 로거(134)로 송신하여 행위 로그(135)에 행위들 기록한다. 특정 실시예로, 이런 행위들은, 예컨대 다른 사용자에 대한 연결을 추가하는 행위, 메시지를 다른 사용자에게 송신하는 행위, 다른 사용자로부터의 메시지를 읽는 행위, 다른 사용자와 관련된 컨텐츠를 열람하는 행위, 다른 사용자들에 의해 포스팅된 이벤트에 참여하는 행위 등을 포함할 수 있다. 추가로, 특정 실시예에서, 다른 객체들과 관련된 행위들은 특정 사용자들에 대한 것일 수 있으며, 이런 행위들은 또한 그 사용자들과 관련될 수 있다.
특정 실시예로, 사용자가 소셜 네트워킹 시스템(130)에서 행위를 취하는 경우, 그 행위는 행위 로그(135)에 기록된다. 특정 실시예로, 소셜 네트워킹 시스템(130)은 행위 로그(135)를 엔트리의 데이터베이스로서 관리한다. 특정 실시예로, 행위가 소셜 네트워킹 시스템(130)에서 취해지는 경우, 소셜 네트워킹 시스템(130)은 그 행위에 대한 엔트리를 행위 로그(135)에 추가한다.
특정 실시예로, 소셜 네트워킹 시스템의 사용자는 외부 웹사이트에 의해 호스팅된 미디어를 소셜 네트워킹 시스템과 공유할 수 있고, 이런 행위는 행위 로거(134)에 의해 수신되고 행위 로그(135)에 저장될 수 있다. 특정 실시예로, 외부 웹사이트는 컨텐츠에 대한 링크를 소셜 네트워킹 시스템으로 전송하고 링크를 사용자 프로필에 대한 월 포스트 엔트리로서 포스팅하도록 동작하는 "공유(share)" 버튼을 사용할 수 있다. 특정 실시예로, 버튼은 뉴스 피드에 엔트리를 포스팅할 소셜 네트워킹 시스템으로 활동 스트림 엔트리를 전송하도록 동작한다. 특정 실시예로, 예컨대, 사용자는 클라이언트 장치(110)로부터 포토, 포토 앨범, 비디오 클립 또는 다른 미디어에 접속할 수 있고, 소셜 네트워킹 시스템에서 사용자 프로필과 관련된 월에 그 컨텐츠에 대한 링크를 포스팅할 수 있다.
특정 실시예로, 개인정보 제어 데이터베이스(136)는 사용자와 관련된 각각의 사용자 자료용 사용자의 설정 및 제3자 애플리케이션용 사용자의 설정에 대한 사용자의 개인정보 데이터를 저장할 수 있다. 예컨대, 사용자는 디폴트 개인정보 설정을 선택할 수 있거나, 사용자는 사용자 자료 또는 특정 타입의 사용자 데이터를 열람하는 것으로부터 특정 엔티티를 명시적으로 배제할 수 있으며, 모든 사용자들 및 사용자들의 친구들에 대한 모든 개인정보 데이터는 개인정보 제어 데이터베이스(136)에 저장될 수 있다.
특정 실시예로, 사용자의 개인정보 데이터는 사용자가 사용자 프로필, 이벤트, 위치, 미디어, 활동, 하나 이상의 사용자들 사이의 연결, 사용자와 관련된 뉴스 피드 또는 사용자가 소셜 네트워킹 시스템에서 취하는 임의의 다른 행위에 대해 행하는 변경을 포함하는, 사용자 프로필의 임의의 태양과 관련된 개인정보 설정을 포함할 수 있다. 특정 실시예로, 개인정보 제어 데이터베이스(136)와 관련된 개인정보 설정은 다양한 레벨의 세분화로 제공되고 저장될 수 있다. 특정 실시예로, 예컨대, 공유되는 정보는 가령 업무 전화번호와 같은 특정 정보 또는 가령 프로필 사진, 집 전화번호 및 상태를 포함하는 여러 개의 관련 정보를 포함하는 개인 정보와 같은 한 세트의 관련 정보일 수 있다. 대안으로, 특정 실시예에서, 개인정보 제어 데이터베이스(136)와 관련된 개인정보 설정은 소셜 네트워킹 시스템에서 사용자와 관련된 모든 정보에 적용될 수 있다. 특정 실시예로, 특정 사용자 정보에 접속할 수 있는 엔티티 세트의 내역은 다양한 레벨의 세분화로 또한 지정될 수 있다. 특정 실시예로, 사용자는 정보가 공유될 수 있는 임의의 수의 엔티티를 지정할 수 있다. 특정 실시예로, 정보가 공유될 수 있는 엔티티 세트들은 예컨대 사용자의 특정 친구들, 사용자의 모든 친구들, 친구들의 모든 친구들, 모든 애플리케이션 및 모든 외부 시스템을 포함할 수 있다. 특정 실시예로, 예컨대 사용자는 특정 정보에도 또한 접속할 수 있는 외부 시스템의 리스트를 제공할 수 있다.
특정 실시예는 사용자의 정보의 접속을 허용하지 않는 예외를 포함하는 한 세트의 엔티티를 지정할 수 있다. 특정 실시예로, 예컨대 소셜 네트워킹 시스템의 사용자는 모든 외부 시스템이 사용자의 업무 정보에 접속할 수 있도록 할 수 있으나, 업무 정보에의 접속을 허용하지 않는 외부 시스템의 리스트를 지정할 수 있다. 특정 실시예로, 사용자의 특정 정보로의 접속을 허용하지 않는 예외의 리스트는 "차단 리스트(block list)"일 수 있다. 특정 실시예로, 소셜 네트워킹 시스템의 사용자에 의해 지정된 차단 리스트에 속한 외부 시스템은 개인정보 제어 데이터베이스(136)에 저장된 개인정보 설정에 지정된 정보로의 접속으로부터 차단된다. 특정 실시예는 사용자에 의해 지정되고 개인정보 제어 데이터베이스(136)에 저장되는 바와 같이, 사용자 정보의 타입 및 엔티티 세트들에 의해 공유되거나 접속될 수 있는 정보의 엔티티 세트들에 따라 세분화된 접속 허용 또는 접속 거부의 다양한 조합을 고려한다.
특정 실시예로, 인증 서버(132)는 개인정보 보호정책에 대해 상술한 바와 같이, 소셜 네트워킹 시스템의 사용자들의 개인정보 설정을 강제한다. 특정 실시예로, 사용자의 개인정보 설정은 사용자와 관련된 특정 정보가 어떻게 공유될 수 있는지 결정한다. 특정 실시예로, 상술한 바와 같이, 개인정보 제어 데이터베이스(136)는 사용자와 제3자 애플리케이션용 사용자 설정과 관련된 각각의 사용자 자료용 사용자 설정에 대한 개인정보 데이터를 포함한다. 더 상세하게는, 사용자의 설정에 대한 개인정보 데이터는 사용자와 관련된 특정 정보 및 정보가 공유될 수 있는 엔티티나 엔티티들을 지정할 수 있다. 특정 실시예로, 정보가 공유될 수 있는 엔티티는 사용자들, 제3자 애플리케이션들, 외부 웹사이트들 또는 잠재적으로 정보에 접속할 수 있는 임의의 다른 엔티티를 포함할 수 있다. 특정 실시예로, 사용자에 의해 공유될 수 있는 정보는 임의의 태양의 사용자 프로필, 이벤트, 위치, 미디어, 활동 또는 사용자와 관련된 뉴스 피드를 포함할 수 있다.
검색 결과 변경
통상, 웹 브라우저는 클라이언트 장치에 렌더링하기 위해 웹페이지(또는 다른 구조화된 문서)로 접속하는데 사용된다. 웹 브라우저 애플리케이션은 일반적으로 네트워크를 통해 이용가능한 다양한 서버-호스팅 웹페이지로 사용자를 연결하도록 해주는 사용자의 컴퓨팅 장치(예컨대, 클라이언트 장치(110))에서 실행하도록 설정된 컴퓨터 프로그램이다. 비-독점적인 세트의 보편적인 웹 브라우저는 예로써 Internet ExplorerTM, FirefoxTM, SafariTM 및 OperaTM을 포함한다. 웹 브라우저는 웹페이지나 웹사이트의 정보형 시각적 컨텐츠를 디스플레이하는 표준 열람 창을 제공한다(적절한 경우, "웹사이트" 및 "웹페이지"란 용어는 본 명세서에서 호환하여 사용될 수 있다). 특정 실시예로, 브라우저는 구조화된 문서를 처리하고 문서의 인-메모리 표현(in-memory representation)을 생성한다. 이런 표현은 웹페이지의 문서 객체 모델(DOM) 표현일 수 있다. 이후, 웹 브라우저는 DOM(또는 다른 적절한) 표현을 이용하는 브라우저의 특정 클라이언트 열람 창에 페이지를 렌더링한다.
검색 엔진은 가령 인터넷, 월드 와이드 웹 또는 인트라넷과 같은, 네트워크상에 특정 내용 또는 주제와 관련된 정보를 찾도록 설계된 컴퓨터로 구현되는 도구이다. 검색을 실행하기 위해, 네트워크 사용자는 검색 쿼리를 검색 엔진으로 송출(issue)할 수 있다. 검색 쿼리는 일반적으로 주제나 개념을 설명하는 하나 이상의 단어들을 포함한다. 이에 응답하여, 검색 엔진은 총괄하여 검색 쿼리에 대해 식별된 "검색 결과"라고 일컬어질 수 있는, 검색 쿼리와 관련될 가능성이 있는 하나 이상의 네트워크 자원들을 식별할 수 있다. 네트워크 자원은 대개 검색 쿼리와의 각각의 관련성 정도에 따라 순위화되고 네트워크 사용자에게 제시된다.
도 2는 제1 사용자의 브라우저에 렌더링된 검색 쿼리에 대한 한 세트의 검색 결과들에 접속하고, 제1 사용자와 관련성이 있는 하나 이상의 제2 사용자들이 임의의 검색 결과들에 접속했는지를 판단하며, 검색 결과들이 하나 이상의 제2 사용자들에 의해 접속되었는지를 기초로 클라이언트 애플리케이션의 사용자 인터페이스에서 검색 결과들을 변경하기 위한 예시적 방법을 도시하는 흐름도이다. 특정 실시예는 브라우저(예컨대, 웹 브라우저) 상에서 동작하거나 실행하는 플러그-인 소프트웨어 애플리케이션(이하, "소셜 브라우저 익스텐션(social browser extension)"이라 함) 또는 구조화된 문서를 소모하는 다른 애플리케이션 클라이언트에 관한 것이다. 다른 구현으로, 본 명세서에 기술된 기능은 플러그-인과는 달리 직접 브라우저 클라이언트 애플리케이션으로 통합될 수 있다. 특정 실시예로, 제1 사용자의 신원(identity)은 플러그-인 그 자체 또는 연결 애플리케이션의 사용 등을 통해 브라우저 또는 플러그-인에 공지된다.
특정 실시예는, 단계 210에 도시된 바와 같이, 클라이언트 장치에서 클라이언트 애플리케이션(가령, 브라우저 클라이언트)으로 로딩되는 구조화된 문서 내에 포함되고 제1 사용자의 검색 쿼리에 부합하는 한 세트의 검색 결과들에 접속한다. 정교한 검색 엔진은 검색 프로세스의 일부로서 관련 네트워크 자원을 식별하는 것 이외에 많은 다른 기능들을 구현한다. 예컨대, 검색 엔진은 대개 검색 쿼리와 상대적으로 더 관련되는 네트워크 자원들이 더 높게 순위화되고 검색 쿼리와 상대적으로 덜 관련되는 네트워크 자원들에 앞서 네트워크 사용자에게 제시되도록, 검색 쿼리에 대한 각각의 관련성 정도에 따라 검색 쿼리에 대해 식별된 네트워크 자원들을 순위화한다. 또한, 검색 엔진은 각각의 식별된 네트워크 자원들의 간단한 요약을 제공할 수 있다.
도 3은 5개의 네트워크 자원들 및 더 상세하게는 5개의 웹페이지들(310, 320, 330, 340, 350)을 식별한 예시적 검색 결과(300)를 도시한다. 검색 결과(300)는 예시적 검색 쿼리 "조지 워싱턴 대통령(President Georage Washington)"에 응답하여 생성된다. 설명의 간소화를 위해 단지 5개의 네트워크 자원들만이 도시됨을 유의하자. 실제로, 검색 결과는 수백, 수천 또는 심지어 수백만의 네트워크 자원들을 식별할 수 있다. 특정 실시예로, 예시적 검색 결과(300)는 검색 결과들의 서브세트를 각각 포함할 수 있는 하나 이상의 구조화된 문서들을 포괄할 수 있다. 사용자로 반환된 제1 구조화된 문서는 일반적으로 가장 높은 순위의 검색 결과들을 포함할 수 있다. 다수의 임베디드 자원들 그 자체를 포함할 수 있는 구조화된 문서나 웹페이지는 가령 컨텐츠 평문 정보와 같은 데이터 레코드들 또는 가령 소프트웨어 프로그램이나 다른 코드 객체, 그래픽, 이미지, 오디오 신호, 비디오 등과 같이 더 복합적으로 디지털 인코딩된 멀티미디어 컨텐츠를 포함할 수 있다. 웹페이지를 생성하는 하나의 일반적인 마크업 언어는 하이퍼텍스트 마크업 언어(HTML)이다. 다른 일반 웹 브라우저 지원 언어와 기술은 확장형 마크업 언어(XML), 확장형 하이퍼텍스트 마크업 언어(XHTML), 자바스트립트(JavaScript), 캐스케이딩 스타일 시트(Cascading Style Sheet, CSS) 및 종종 자바(Java)를 포함한다.
도 3의 검색 결과(300)에 도시된 바와 같이, 네트워크 자원들(310, 320, 330, 340, 350)은 제목, 각각의 네트워크 자원을 간략히 설명하는 간단한 요약 및 URL의 형태로 클릭가능한 링크를 각각 포함한다. 특정 실시예로, 예컨대, 네트워크 자원(310)은 조지 워싱턴에 관한 정보를 포함하는 위키피디아(WIKIPEDIA)에 의해 제공되는 웹페이지이다. 이 특정 웹페이지의 URL은 "en.wikipedia.org/wiki/George_Washington"이다.
단계 220에 도시된 바와 같이, 특정 실시예는 소셜 네트워킹 시스템에 접속하여, 제1 사용자와 관련성이 있는 하나 이상의 제2 사용자들이 임의의 검색 결과들에 접속했는지를 판단한다. 상술한 바와 같이, 소셜 그래프 정보는 소셜 네트워킹 시스템에 의해 관리된다. 특정 실시예로, 제1 사용자와 임의의 하나 이상의 제2 사용자들 사이의 관련성은 소셜 그래프 내에서 하나 이상의 에지들과 노드들로 표현될 수 있다. 특정 실시예로, 소셜 브라우저 익스텐션은 구조화된 문서에 접속했던 사용자들에 대한 클릭-스트림 활동(click-stream activity)을 기록하고, 클릭-스트림 활동을 표현하는 데이터를 소셜 네트워킹 시스템(130)으로 전송한다. 소셜 네트워킹 시스템(130)은 데이터 스토어(137)에 클릭-스트림 데이터를 저장한다. 특정 실시예로, 클릭 스트림 데이터는 소셜 그래프에 추가된다. 특정 실시예로, 데이터 스토어(137)는 사용자가 접속했던 구조화된 문서의 URL, 구조화된 문서에 접속했던 사용자의 사용자ID 및 사용자가 구조화된 문서에 접속한 시간을 나타내는 시간 스탬프를 저장할 수 있다. 특정 실시예로, 예컨대, 하나 이상의 제2 사용자들이 도 3의 임의의 검색 결과들(310, 320, 330, 340, 350)에 접속했다면, 소셜 그래프 내에 저장되는 제2 사용자와 URL 사이의 에지(또는 다른 관련성)가 있을 것이다.
특정 실시예로, 소셜 브라우저 익스텐션은 소셜 네트워킹 시스템에 질의(query)하고, 소셜 그래프 데이터에 접속하여 임의의 제2 사용자들이 임의의 구조화된 문서의 검색 결과들에 접속했는지를 판단한다. 특정 실시예로, 제2 사용자는 제1 사용자의 일촌(및 가능하게는 2촌) 컨택이나 관계 중 임의의 하나일 수 있다. 특정 실시예로, 예컨대, 소셜 브라우저 익스텐션에 의해 전송된 쿼리는 사용자ID, 검색 결과들 내의 하나 이상의 URL들 및 t를 포함할 수 있는데, 여기서 t=TC-T(TC = 현재시간, T = 30초, 1분, 5분 또는 무한히 임의의 다른 특정 시간 구간)이다. 특정 실시예로, URL에 대한 쿼리 스트링(query string)은 가령 스킴(scheme), 호스트(host) 및 경로와 같은 각각의 검색 결과에 대한 전체 URL일 수 있다. 특정 실시예로, 각각의 검색 결과에 대한 URL의 쿼리 스트링은 단지 스킴 및 호스트일 수 있다. 다른 실시예로, 쿼리 스트링은 또한 부분 경로(partial path)를 포함할 수 있다. 특정 실시예로, t는 반환되는 클릭-스트림 데이터의 양을 제한하는 방법으로서 과거의 특정 시간을 나타낸다.
또한, 특정 실시예로, 소셜 브라우저 익스텐션은 검색 활동을 기록하고, 소셜 네트워킹 시스템으로 사용자들에 의해 검색 엔진으로 전송되었던 쿼리 및 사용자에 의해 클릭된 검색 결과들의 URL를 전송할 수 있다. 특정 실시예로, 소셜 브라우저는 복수의 검색 엔진들 중 하나에서 사용자들에 의해 제출된 쿼리를 소셜 네트워킹 시스템으로 전송하여, 검색 활동을 기록할 수 있다. 특정 실시예로, 소셜 브라우저 익스텐션은 검색 엔진에서 사용자에 의해 제출된 동일한 쿼리를 이용하고, 검색 결과들 내에서 사용자들에 의해 선택된 URL들에 대한 하이브리드 소셜 그래프를 질의할 수 있다. 특정 실시예로, 소셜 브라우저는 다른 검색 엔진들이 식별한 검색 결과들을 하이브리드 소셜 그래프의 쿼리로 삽입할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템은 또한 쿼리들을 디스플레이용 인스턴트 쿼리와 관련시키는 소셜 브라우저 익스텐션으로 반환할 수 있다.
특정 실시예는 사용자와 가장 소셜 관련성을 가지는 검색 결과들을 디스플레이한다. 특정 실시예로, 하이브리드 소셜 그래프로부터의 검색 결과들은 구조화된 문서에 포함된 검색 결과들의 사이드바(sidebar)에 또는 오버레이(overlay)로 디스플레이된다. 특정 실시예로, 예컨대, 소셜 브라우저 익스텐션은 검색 엔진에 의해 반환되고, 소셜 그래프에 접속하고 소셜 네트워킹 시스템 내외에서 행해진 임의의 오픈 그래프 행위(open graph action)를 표면화(surfacing)하여 검색된 결과들을 갖는 현재 페이지 내에 디스플레이되는, 검색 결과들을 증가시킬 수 있다. 더 상세하게, 오픈 그래프 행위는, 가령 체크-인, 좋아요 표시, 읽기, 추천, 리뷰, 코멘트 또는 임의의 다른 오픈 그래프 행위와 같이, 표면화될 수 있다. 특정 실시예로, 예컨대, 제1 사용자가 "Mexican Food Palo Alto"에 대한 검색 쿼리를 입력한다면, 가령 "Palo Alto Sol"과 같은 레스토랑이 제1 사용자의 임의의 친구들이 그곳을 체크-인한 경우 검색 결과들로 반환될 수 있다. 다른 특정 실시예로, 검색 결과들은 상술한 다양한 에지 형태에 따라, 가령 좋아요 표시, 추천, 친구, 리뷰, 코멘트 등과 같에 의해 필터링될 수 있다.
특정 실시예는 하나 이상의 제2 사용자들에 의해 행해졌던 추천들을 검색 결과들로 디스플레이할 수 있다. 특정 실시예로, 하나 이상의 제2 사용자들은 특정 제1 사용자에게 링크, 기사, 웹사이트 또는 특정 위치를 추천할 수 있다. 특정 실시예로, 제1 사용자가 하나 이상의 제2 사용자들에 의해 행해진 추천과 관련된 검색 쿼리를 입력할 때, 추천은 또한 검색 쿼리 결과들로 디스플레이될 수 있다.
단계 230에 도시된 바와 같이, 특정 실시예는 하나 이상의 제2 사용자들에 의해 접속되었던 각각의 하나 이상의 검색 결과들을 클라이언트 장치의 사용자 인터페이스에서 시각적으로 구분할 수 있다. 특정 실시예로, 소셜 브라우저 익스텐션은 페이지를 변경하여 어느 컨택들이 어느 검색 결과를 열람하거나 접속했는지 나타낸다. 특정 실시예로, 변경은 제1 사용자가 검색 결과에 대한 링크를 마우스-오버할 때 검색 결과들과 상호작용했던 제2 사용자들의 프로필 사진을 디스플레이하고/하거나 디스플레이되는 객체의 색, 폰트 타입, 크기 또는 스타일을 바꾸는 것 등일 수 있으나, 이에 국한되지 않는다.
특정 실시예로, 검색 결과들을 포함하는 구조화된 문서를 변경하기 위해, 애플리케이션은 웹 브라우저에 의해 생성된 현재 렌더링되는 구조화된 문서의 DOM(또는 다른 적절한) 표현에 접속한다. 특정 실시예로, 애플리케이션은 (네이티브 HTML이나 다른 마크업 언어 또는 (일반적으로 별도로 저장되는) 타겟 웹페이지를 렌더링하는 브라우저로 전송된 컨텐츠를 반드시 변경할 필요 없이) 결과 웹페이지의 DOM 표현을 변경하거나 변경되도록 하여, 구조화된 문서 내 객체들이 하나 이상의 제2 사용자들에 의해 접속되었음을 표시할 수 있다. 특정 실시예로, 변경된 DOM 표현은 구조화된 문서상의 객체들을 하이라이팅되거나, 컬러링되거나, 볼딩되거나, 객체들이 하나 이상의 제2 사용자들에 의해 접속되었음을 표시하는 임의의 다른 변경으로서 디스플레이할 수 있다. 또한, 소셜 브라우저 익스텐션은 마우스-오버 효과 등을 생성하기 위해 자바스트립트를 결과 웹페이지로 추가할 수 있다.
특정 실시예로, 소셜 브라우저 익스텐션은 오버레이 패널, 각 검색 결과에 인접한 소형 오버레이 패널 및/또는 적어도 하나 이상의 검색 결과들이 하나 이상의 제2 사용자들에 의해 접속되었음을 표시하는 사이드바를 디스플레이할 수 있다. 오버레이 패널의 특정 실시예는 하나 이상의 제2 사용자들에 의해 행해진 특정 추천들을 포함하는 검색 결과들을 디스플레이할 수 있다. 특정 실시예로, 도 3에 도시된 바와 같이, 예시적 검색 결과(300)의 디스플레이는 하나 이상의 검색 결과들(310, 320, 330, 340, 350)이 하나 이상의 제2 사용자들에 의해 접속되었음을, 가령 패널들(312, 322, 332, 342, 352)로 표시되도록 변경될 수 있다. 특정 실시예로, 검색 결과들(310, 320, 330, 340, 350)은 하이라이팅되거나, 컬러링되거나, 볼딩되거나, 검색 결과들(310, 320, 330, 340, 350)이 하나 이상의 제2 사용자들에 의해 접속되었음을 표시하는 임의의 다른 변경일 수 있다. 특정 실시예로, 검색 결과들(310, 320, 330, 340, 350)은 객체들이 하나 이상의 제2 사용자들에 의해 접속되었음을 표시하는, 가령 결과들에 인접하여 디스플레이되는 패널들(312, 322, 332, 342, 352에 소형 아이콘들을 가질 수 있다. 특정 실시예로, 변경은 제1 사용자가 검색 결과들(310, 320, 330, 340, 350)을 마우스-오버할 때까지 드러나지 않을 수 있다. 특정 실시예로, 한 세트의 사용자 선호도는 사용자가 특정 디스플레이 방식을 켰다 껐다(toggle) 하도록 할 수 있다. 특정 실시예로, 예컨대, 사용자 선호도의 세트는 사용자가 소형 아이콘, 사이드 패널, 하나 이상의 제2 사용자들이 하나 이상의 검색 결과들에 접속했음의 표시를 디스플레이하는 마우스-오버 방식 사이를 선택할 수 있도록 할 수 있다.
특정 실시예로, 오버레이 패널(들) 또는 사이드바는 각각의 하나 이상의 제2 사용자들의 사용자 프로필의 임의의 소셜 네트워크 데이터 요소를 디스플레이할 수 있다. 상술한 바와 같이, 다양한 정보는 소셜 네트워킹 시스템에 등록할 때 사용자에 의해 제공된다. 특정 실시예로, 가령 제2 사용자의 프로필 사진, 연락처, 생일, 성별, 결혼 여부, 가족관계, 고용, 학력, 선호도, 관심사 및 제2 사용자가 구조화된 문서의 검색 결과들에 접속하거나 상호작용한 결과로 생성된 소셜 그래프 데이터를 포함하는 다른 인구학적 정보와 같은, 각각의 하나 이상의 제2 사용자와 관련된 임의의 프로필 정보가 오버레이 패널(들)이나 사이드바에 디스플레이될 수 있다. 특정 실시예로, 예컨대, 제1 사용자와 관련된 제2 사용자가 조지 워싱턴의 백악관 약력(검색 결과 320)에 접속했다면, 제2 사용자와 기사 사이에 에지가 존재함을 표시하는 데이터가 패널(322)에 디스플레이될 것이다. 추가로, 특정 실시예로, 예컨대, 패널(322)은 또한 제2 사용자의 프로필 사진 및 다른 프로필 정보를 디스플레이할 수 있다.
특정 실시예로, 소셜 그래프에 접속하여 하나 이상의 제2 사용자들이 임의의 하나 이상의 검색 결과들에 접속했는지 판단하는 것은 제1 사용자의 한 세트의 사용자 선호도에 영향을 받을 수 있다. 특정 실시예로, 소셜 브라우저 익스텐션이 소셜 그래프에 접속하도록 해주는 사용자 선호도가 개인정보 설정 및 개인정보 제어 데이터베이스(136)에 저장된 다른 정보와 관련될 수 있다. 특정 실시예로, 사용자의 개인정보 설정의 하나 이상의 태양이 원격 접속에 대한 필요를 배제하도록 클라이언트 장치에 로컬 저장(및/또는 개인정보 제어 데이터베이스(136)와 동기화)될 수 있다. 특정 실시예로, 제1 사용자는 사용자 선호도의 세트를 켰다 껐다 할 수 있다. 특정 실시예로, 제1 사용자는 하나 이상의 제2 사용자에 대해 디스플레이되는 정보를 켰다 껐다 할 수 있다. 특정 실시예로, 제1 사용자는 오버레이 패널, 각 검색 결과에 근접한 소형 오버레이 패널 및 적어도 하나 이상의 검색 결과들이 하나 이상의 제2 사용자들에 의해 접속되었거나 오픈 그래프 상호작용에 의해 영향을 받았음을 표시하는 사이드바를 켰다 껐다 할 수 있다.
특정 실시예로, 검색 결과들은 다양한 측정기준에 따라 재정리되고 필터링될 수 있다. 특정 실시예로, 검색 결과들은 제1 사용자와 연결을 맺은 하나 이상의 제2 사용자들에 의해 접속되었던 각각의 하나 이상의 검색 결과들을 기초로 인기도 순위에 따라 재정리될 수 있다. 특정 실시예로, 예컨대, 검색 결과들은 가까운 친구에 의해 접속되었던 검색 결과가 사용자와 더 먼 관계에 의해 접속되었던 검색 결과들보다 더 높게 순위화될 수 있도록, 제1 사용자와 다른 제2 사용자들 사이의 친밀도를 기초로 재-순위화될 수 있다. 특정 실시예로, 소셜 네트워크 데이터에 대해 네트워크 자원들의 재정리 또는 재-순위화는 검색 엔진의 표준 검색 알고리즘 이외에 브라우저 또는 플러그-인으로 구현되는 순위 알고리즘에 의해 결정될 수 있다. 검색 쿼리 및 검색 쿼리에 응답하여 식별된 한 세트의 네트워크 자원들을 고려하여, 소셜 네트워킹 순위 알고리즘은 검색 결과들이 제1 사용자와 관계를 맺은 하나 이상의 제2 사용자들에 의해 접속되었는지 여부에 대한 상대적인 관련성 정도에 따라, 세트 내의 네트워크 자원들을 순위화한다. 특정 실시예로, 인기도 순위는 각각의 하나 이상의 제2 사용자들이 검색 결과에 대한 에지를 생성한 횟수를 기초로 할 수 있다. 특정 실시예로, 에지는 하나 이상의 열람 횟수, 좋아요 횟수 또는 소셜 네트워킹 시스템으로 포스팅되었던 검색 결과들의 횟수를 포함한다.
특정 실시예로, 인기도 순위는 검색 결과들과 상호작용했던 하나 이상의 제2 사용자들에 대한 제1 사용자의 계수를 기초로 할 수 있다. 더 상세하게, 하나 이상의 제2 사용자들이 특정 제1 사용자에 대한 하나 이상의 웹페이지들이나 다른 상호작용들을 명시적으로 표시하는 특정 실시예에서, 제1 사용자에게 디스플레이되는 검색 결과들은 이런 명시적 표시에 의해 영향을 받을 수 있다. 특정 실시예로, 예컨대, 제2 사용자가 한 페이지를 좋아요 했고 제1 사용자도 그 페이지를 좋아요 했다고 표시했다면, 좋아요 표시된 페이지는 제1 사용자의 검색 결과 리스트 상위에 나타날 수 있다. 추가적인 필터링 및 정리 기능은 다목적용으로 본 명세서에 전체로서 참조로 통합되고 발명의 명칭이 "Search and retrieval of objects in a social networking system"인 미국특허출원 No. 12/816377에 기술된다.
특정 실시예는 하나 이상의 컴퓨터 시스템들로 구현될 수 있다. 도 4는 서버를 구현하는데 사용될 수 있는 컴퓨터 시스템(400)의 예를 도시한다. 특정 실시예로, 하나 이상의 컴퓨터 시스템들(400)은 본 명세서에 기술되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 수행한다. 특정 실시예로, 하나 이상의 컴퓨터 시스템들(400)은 본 명세서에 기술되거나 도시된 기능을 제공한다. 특정 실시예로, 하나 이상의 컴퓨터 시스템들(400)을 실행하는 소프트웨어는 본 명세서에 기술되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 수행하거나, 본 명세서에 기술되거나 도시된 기능을 제공한다. 특정 실시예는 하나 이상의 컴퓨터 시스템들(400)의 하나 이상의 부분들을 포함한다.
본 명세서는 임의의 적절한 수의 컴퓨터 시스템(400)을 고려한다. 본 명세서는 임의의 적절한 물리적 형태를 취하는 컴퓨터 시스템(400)을 고려한다. 예로써 제한 없이, 컴퓨터 시스템(400)은 임베디드 컴퓨터 시스템, 시스템-온-칩(SOC), 단일-보드 컴퓨터 시스템(SBC)(예컨대, 컴퓨터-온-모듈(COM) 또는 시스템-온-모듈(SOM)), 데스크톱 컴퓨터 시스템, 랩톱 또는 노트북 컴퓨터 시스템, 상호작용형 키오스크(kiosk), 메인 프레임, 컴퓨터 시스템 메쉬(mesh), 모바일 전화, 개인 정보 단말기(PDA), 서버 또는 이들의 2 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(400)은 하나 이상의 컴퓨터 시스템(400)들을 포함할 수 있거나; 일체형 또는 분산형일 수 있거나; 다수의 위치에 걸쳐 있거나, 다수의 기계에 걸쳐 있거나; 하나 이상의 네트워크에 하나 이상의 클라우드 성분을 포함할 수 있는 클라우드에 상주할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템(400)은 본 명세서에 기술되거나 도시되는 하나 이상의 방법의 하나 이상의 단계를 실질적으로 공간적 또는 시간적 제한 없이 실행할 수 있다. 예로써 제한 없이, 하나 이상의 컴퓨터 시스템(400)은 본 명세서에 기술되거나 도시되는 하나 이상의 방법의 하나 이상의 단계를 실시간으로 또는 일괄 모드로 실행할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템(400)은 본 명세서에 기술되거나 도시되는 하나 이상의 방법의 하나 이상의 단계를 다른 시기에 또는 다른 위치에서 실행할 수 있다.
특정 실시예로, 컴퓨터 시스템(400)은 프로세서(402), 메모리(404), 저장소(406), 입력/출력(I/O) 인터페이스(408), 통신 인터페이스(410) 및 버스(412)를 포함한다. 본 명세서가 특정 배열로 특정한 수의 특정 구성요소를 갖는 특정 컴퓨터 시스템을 기술하고 도시하지만, 본 명세서는 임의의 적절한 구성으로 임의의 적절한 수의 임의의 적절한 구성요소를 갖는 임의의 적절한 컴퓨터 시스템을 고려한다.
특정 실시예로, 프로세서(402)는 가령 컴퓨터 프로그램을 구성하는 명령어와 같은 명령어를 실행하기 위한 하드웨어를 포함한다. 예로서 제한 없이, 명령어를 실행하기 위해, 프로세서(402)는 내부 레지스터, 내부 캐시, 메모리(404) 또는 저장소(406)로부터 명령어를 검색(또는 페치(fetch))할 수 있고; 명령어를 디코딩하고 실행한 후; 하나 이상의 결과를 내부 레지스터, 내부 캐시, 메모리(404) 또는 저장소(406)에 기록할 수 있다. 특정 실시예로, 프로세서(402)는 데이터용, 명령어용 또는 주소용 하나 이상의 내부 캐시를 포함할 수 있다.
특정 실시예로, 메모리(404)는 프로세서(402)가 실행하는 명령어 또는 프로세서(402)가 운영하는 데이터를 저장하기 위한 메인 메모리를 포함한다. 예로써 제한 없이, 컴퓨터 시스템(400)은 저장소(406)나 또 다른 소스(가령, 예컨대 또 다른 컴퓨터 시스템(400))에서 메모리(404)로 명령어를 로딩할 수 있다. 이후, 프로세서(402)는 메모리(404)에서 내부 레지스터나 내부 캐시로 명령어를 로딩할 수 있다. 명령어를 실행하기 위해, 프로세서(402)는 내부 레지스터나 내부 캐시로부터 명령어를 검색하고 이들을 디코딩할 수 있다. 명령어의 실행 중 또는 실행 후, 프로세서(402)는 (중간 결과 또는 최종 결과일 수 있는) 하나 이상의 결과를 내부 레지스터나 내부 캐시로 기록할 수 있다. 이후, 프로세서(402)는 하나 이상의 이런 결과를 메모리(404)에 기록할 수 있다. (주소 버스 및 데이터 버스를 각각 포함할 수 있는) 하나 이상의 메모리 버스는 프로세서(402)를 메모리(404)로 연결할 수 있다. 하기에 기술되는 바와 같이, 버스(412)는 하나 이상의 메모리 버스를 포함할 수 있다. 특정 실시예로, 하나 이상의 메모리 관리 유닛(MMUs)은 프로세서(402)와 메모리(404) 사이에 상주하며, 프로세서(402)에 의해 요청되는 메모리(404)로의 접근을 용이하게 한다. 특정 실시예로, 메모리(404)는 랜덤 액세스 메모리(RAM)를 포함한다. 적절한 경우, 이런 RAM은 휘발성 메모리일 수 있다.
특정 실시예로, 저장소(406)는 데이터용 또는 명령어용 대용량 저장소를 포함한다. 예로써 제한 없이, 저장소(406)는 HDD, 플로피 디스크 드라이브, 플래시 메모리, 광디스크, 자기-광학 디스크, 자기 테이프, 범용 직렬 버스(USB) 드라이브 또는 이들의 2 이상의 조합을 포함할 수 있다. 적절한 경우, 저장소(406)는 착탈식 또는 비-착탈식(또는 고정) 매체를 포함할 수 있다. 적절한 경우, 저장소(406)는 컴퓨터 시스템(400)의 내부 또는 외부에 있을 수 있다. 특정 실시예로, 저장소(406)는 비휘발성, 고체-상태(solid-state) 메모리이다. 특정 실시예로, 저장소(406)는 읽기 전용 메모리(ROM)를 포함한다. 적절한 경우, 이런 ROM은 마스크-프로그램화된 ROM, 프로그램가능 ROM(PROM), 소거가능 PROM(EPROM), 전기적 소거가능 PROM(EEPROM), 전기적 변경가능 ROM(EAROM), 플래시 메모리 또는 이들의 2 이상의 조합일 수 있다. 본 명세서는 임의의 적절한 물리적 형태를 취하는 대용량 저장소(406)를 고려한다. 적절한 경우, 저장소(406)는 프로세서(402)와 저장소(406) 사이의 통신을 용이하게 하는 하나 이상의 저장소 제어 유닛을 포함할 수 있다. 적절한 경우, 저장소(406)는 하나 이상의 저장소(406)를 포함할 수 있다. 본 명세서가 특정 저장소를 기술하고 도시하지만, 본 명세서는 임의의 적절한 저장소를 고려한다.
특정 실시예로, I/O 인터페이스(408)는 컴퓨터 시스템(400)과 하나 이상의 I/O 장치 사이의 통신을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어 또는 이들 모두를 포함한다. 적절한 경우, 컴퓨터 시스템(400)은 하나 이상의 이들 I/O 장치를 포함할 수 있다. 하나 이상의 이들 I/O 장치는 사람과 컴퓨터 시스템(400) 사이의 통신을 가능하게 할 수 있다. 예로써 제한 없이, I/O 장치는 키보드, 키패드, 마이크로폰, 모니터, 마우스, 프린터, 스캐너, 스피커, 스틸 카메라(still camera), 스타일러스(stylus), 태블릿, 터치 스크린, 트랙볼(trackball), 비디오 카메라, 또 다른 적절한 I/O 장치 또는 이들의 2 이상의 조합을 포함할 수 있다. I/O 장치는 하나 이상의 센서를 포함할 수 있다. 본 명세서는 임의의 적절한 I/O 장치 및 이에 대한 적절한 I/O 인터페이스(408)를 고려한다. 적절한 경우, I/O 인터페이스(408)는 프로세서(402)가 하나 이상의 이들 I/O 장치를 구동할 수 있도록 하는 하나 이상의 장치 또는 소프트웨어 드라이버를 포함할 수 있다. 적절한 경우, I/O 인터페이스(408)는 하나 이상의 I/O 인터페이스(408)를 포함할 수 있다. 본 명세서가 특정 I/O 인터페이스를 기술하고 도시하지만, 본 명세서는 임의의 적절한 I/O 인터페이스를 고려한다.
특정 실시예로, 통신 인터페이스(410)는 컴퓨터 시스템(400)과 하나 이상의 다른 컴퓨터 시스템(400)이나 하나 이상의 네트워크 사이의 통신(가령, 예컨대 패킷-기반 통신)을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어 또는 이들 모두를 포함한다. 예로써 제한 없이, 통신 인터페이스(410)는 이더넷이나 다른 유선-기반 네트워크로 통신하기 위한 네트워크 인터페이스 제어장치(NIC)나 네트워크 어댑터 또는 가령 WI-FI 네트워크와 같이 무선 네트워크로 통신하기 위한 무선 NIC(WNIC)나 무선 어댑터를 포함할 수 있다. 본 명세서는 임의의 적절한 네트워크 및 이에 대한 임의의 적절한 통신 인터페이스(410)를 고려한다. 예로써 제한 없이, 컴퓨터 시스템(400)은 애드 혹 네트워크(ad hoc network), 개인 영역 네트워크(PAN), 근거리 네트워크(LAN), 광역 네트워크(WAN), 대도시 네트워크(MAN), 인터넷의 하나 이상의 부분 또는 2 이상의 이런 네트워크들의 조합으로 통신할 수 있다. 하나 이상의 이런 네트워크의 하나 이상의 부분은 유선 또는 무선일 수 있다. 예로써, 컴퓨터 시스템(400)은 무선 PAN(WPAN)(가령, 예컨대 BLUETOOTH WPAN), WI-FI 네트워크, WI-MAX 네트워크, 셀룰러폰 네트워크(가령, 예컨대 GSM(Global System for Mobile Communication) 네트워크), 다른 적절한 무선 네트워크 또는 2 이상의 이런 네트워크들의 조합으로 통신할 수 있다. 적절한 경우, 컴퓨터 시스템(400)은 임의의 이들 네트워크에 대한 임의의 적절한 통신 인터페이스(410)를 포함할 수 있다. 적절한 경우, 통신 인터페이스(410)는 하나 이상의 통신 인터페이스(410)를 포함할 수 있다. 본 명세서가 특정 통신 인터페이스를 기술하고 도시하지만, 본 명세서는 임의의 적절한 통신 인터페이스를 고려한다.
특정 실시예로, 버스(412)는 컴퓨터 시스템(400)의 구성요소를 서로 연결하는 하드웨어, 소프트웨어 또는 이들 모두를 포함한다. 예로써 제한 없이, 버스(412)는 AGP(Accelerated Graphics Port)이나 다른 그래픽 버스, EISA(Enhanced Industry Standard Architecture) 버스, FSB(front-side bus), HT(HYPERTRANSPORT) 인터커넥트, ISA(Industry Standard Architecture) 버스, INFINIBAND 인터커넥트, LPC(low-pin-count) 버스, 메모리 버스, MCA(Micro Channel Architecture) 버스, PCI(Peripheral Component Interconnect) 버스, PCI-X(PCI-Express) 버스, SATA(serial advanced technology attachment) 버스, VLB(Video Electronics Standard Association local) 버스, 또 다른 적절한 버스 또는 2 이상의 이런 버스의 조합을 포함할 수 있다. 적절한 경우, 버스(412)는 하나 이상의 버스(412)를 포함할 수 있다. 본 명세서가 특정 버스를 기술하고 도시하지만, 본 명세서는 임의의 적절한 버스나 인터커넥트를 고려한다.
본 명세서에서, 컴퓨터 판독가능한 저장매체에 대한 언급은 구조를 갖는 하나 이상의 비일시적, 유형의 컴퓨터 판독가능한 저장매체를 포함한다. 예로써 제한 없이, 컴퓨터 판독가능한 저장매체는 반도체 기반 또는 다른 집적회로(IC)(가령, 예컨대 FPGA(field-programmable gate array) 또는 ASIC(application-specific IC)), 하드 디스크, HDD, 하이브리드 하드 디스크(HHD), 광학 디스크, 광학 디스크 드라이브(ODD), 자기-광학 디스크, 자기-광학 드라이브, 플로피 디스크, 플로피 디스크 드라이브(FDD), 자기 테이프, 홀로그래픽 저장매체, 고체-상태 드라이브(SSD), RAM 드라이브, SECURE DIGITAL 카드, SECURE DIGITAL 드라이브, 또 다른 적절한 컴퓨터 판독가능한 저장매체 또는, 적절한 경우, 2 이상의 이들의 조합을 포함할 수 있다. 본 명세서에서, 컴퓨터 판독가능한 저장매체에 대한 언급은 미국연방법률(35 U.S.C.§101)하에 특허로 보호받을 수 없는 임의의 매체를 배제한다. 본 명세서에서, 컴퓨터 판독가능한 저장매체에 대한 언급은 미국연방법률(35 U.S.C.§101)하에 특허로 보호받을 수 없는 정도로의, (가령 전파하는 전기적 또는 전자기적 신호 그 자체와 같은) 신호 전송의 일시적 형태를 배제한다. 적절한 경우, 컴퓨터 판독가능한 비일시적 저장매체는 휘발성, 비휘발성 또는 휘발성과 비휘발성의 조합일 수 있다.
본 명세서는 당업자가 이해할 수 있는 본 명세서의 예시적인 실시예들에 대한 모든 변화, 치환, 변형, 대체 및 변경을 포함한다. 마찬가지로, 적절한 경우, 첨부된 청구항들은 당업자가 이해할 수 있는 본 명세서의 예시적인 실시예들에 대한 모든 변화, 치환, 변형, 대체 및 변경을 포함한다.

Claims (20)

  1. 클라이언트 장치에서, 클라이언트 애플리케이션으로 로딩되는 하나 이상의 구조화된 문서 내의 검색 결과들에 액세스하는 단계;
    특정 기간 내에 임의의 식별된 네트워크 자원과 상호작용한 온라인 소셜 네트워크의 제1 사용자와 연관이 있는 온라인 소셜 네트워크의 한 명 이상의 제2 사용자들을 결정하기 위해 온라인 소셜 네트워크로부터 액세스되는 소셜 그래프 정보의 데이터 스토어에 액세스하는 단계;
    온라인 소셜 네트워크의 한 명 이상의 제2 사용자들에 의해 제출된 하나 이상의 이전의 검색과 연관된 하나 이상의 과거-검색 결과들에 액세스하는 단계; 및
    클라이언트 장치에서, 온라인 소셜 네트워크의 제1 사용자의 검색 질의에 해당하는 하나 이상의 네트워크 자원을 디스플레이하는 단계를 포함하며,
    상기 검색 결과들은 온라인 소셜 네트워크의 제1 사용자의 검색 질의에 해당하는 하나 이상의 네트워크 자원을 식별하고,
    네트워크 자원을 디스플레이하는 단계는 특정 기간 내에 온라인 소셜 네트워크의 제2 사용자들이 상호작용한 하나 이상의 디스플레이된 네트워크 자원을, 클라이언트 애플리케이션의 사용자 인터페이스에서, 시각적으로 구분하는 단계를 포함하며,
    식별된 네트워크 자원을 시각적으로 구분하는 단계는 검색 결과들의 식별된 네트워크 자원이 온라인 소셜 네트워크의 제2 사용자들에 의해 액세스되었다고 표시하고 식별된 네트워크 자원 중 적어도 하나 옆에 있는 오버레이 패널(overlay panel)을 디스플레이하는 단계를 포함하고,
    오버레이 패널은 온라인 소셜 네트워크로부터 액세스된 제2 사용자들의 프로필 사진을 디스플레이하는 방법.
  2. 제 1 항에 있어서,
    특정 기간 내에 제2 사용자들이 상호작용한 식별된 네트워크 자원은 색, 크기, 하이라이팅(highlighting), 폰트 또는 다른 시각적 표시 중 하나 이상에 의해 시각적으로 더 구분되는 방법.
  3. 제 1 항에 있어서,
    특정 기간 내에 제2 사용자들이 상호작용한 하나 이상의 식별된 네트워크 자원에 적어도 부분적으로 기반하는 인기도 순위에 따라 검색 결과들을 순위화하는 단계를 더 포함하는 방법.
  4. 제 3 항에 있어서,
    특정 기간 내에 제2 사용자들이 상호작용한 하나 이상의 식별된 네트워크 자원에 대해, 인기도 순위는 제2 사용자들과 각각 관련되는 노드와 식별된 네트워크 자원과 각각 관련되는 노드 사이의 상호작용에 적어도 부분적으로 기반하여 하나 이상의 에지가 생성된 횟수에 적어도 부분적으로 기반하는 방법.
  5. 제 4 항에 있어서,
    에지는 열람 횟수, 좋아요 횟수 또는 검색 결과들이 소셜 그래프 정보의 데이터 스토어를 포함하는 소셜 네트워킹 시스템에 게시되었던 횟수 중 하나 이상을 포함하는 방법.
  6. 하나 이상의 프로세서; 및
    프로세서에 의해 실행가능한 명령어를 포함하고 프로세서에 연결된 메모리를 포함하는 시스템으로서,
    상기 프로세서는:
    클라이언트 애플리케이션으로 로딩되는 하나 이상의 구조화된 문서 내의 검색 결과들에 액세스하고;
    특정 기간 내에 임의의 식별된 네트워크 자원과 상호작용한 온라인 소셜 네트워크의 제1 사용자와 연관이 있는 온라인 소셜 네트워크의 한 명 이상의 제2 사용자들을 결정하기 위해 온라인 소셜 네트워크로부터 액세스되는 소셜 그래프 정보의 데이터 스토어에 액세스하며;
    온라인 소셜 네트워크의 한 명 이상의 제2 사용자들에 의해 제출된 하나 이상의 이전의 검색과 연관된 하나 이상의 과거-검색 결과들에 액세스하고;
    온라인 소셜 네트워크의 제1 사용자의 검색 질의에 해당하는 하나 이상의 네트워크 자원을 디스플레이하는 명령어를 실행시 동작하고,
    상기 검색 결과들은 온라인 소셜 네트워크의 제1 사용자의 검색 질의에 해당하는 하나 이상의 네트워크 자원을 식별하고,
    네트워크 자원의 디스플레이는 특정 기간 내에 온라인 소셜 네트워크의 제2 사용자들이 상호작용한 하나 이상의 디스플레이된 네트워크 자원을, 클라이언트 애플리케이션의 사용자 인터페이스에서, 시각적으로 구분하는 것을 포함하며,
    식별된 네트워크 자원을 시각적으로 구분하는 것은 검색 결과들의 식별된 네트워크 자원이 온라인 소셜 네트워크의 제2 사용자들에 의해 액세스되었다고 표시하고 식별된 네트워크 자원 중 적어도 하나 옆에 있는 오버레이 패널을 디스플레이하는 것을 포함하고,
    오버레이 패널은 온라인 소셜 네트워크로부터 액세스된 제2 사용자들의 프로필 사진을 디스플레이하는 시스템.
  7. 제 6 항에 있어서,
    특정 기간 내에 제2 사용자들이 상호작용한 식별된 네트워크 자원은 색, 크기, 하이라이팅(highlighting), 폰트 또는 다른 시각적 표시 중 하나 이상에 의해 시각적으로 더 구분되는 시스템.
  8. 제 6 항에 있어서,
    프로세서는 특정 기간 내에 제2 사용자들이 상호작용한 하나 이상의 식별된 네트워크 자원에 적어도 부분적으로 기반하는 인기도 순위에 따라 검색 결과들을 순위화하는 명령어를 실행시 또한, 동작하는 시스템.
  9. 제 8 항에 있어서,
    특정 기간 내에 제2 사용자들이 상호작용한 하나 이상의 식별된 네트워크 자원에 대해, 인기도 순위는 제2 사용자들과 각각 관련되는 노드와 식별된 네트워크 자원과 각각 관련되는 노드 사이의 상호작용에 적어도 부분적으로 기반하여 하나 이상의 에지가 생성된 횟수에 적어도 부분적으로 기반하는 시스템.
  10. 제 9 항에 있어서,
    에지는 열람 횟수, 좋아요 횟수 또는 검색 결과들이 소셜 그래프 정보의 데이터 스토어를 포함하는 소셜 네트워킹 시스템에 게시되었던 횟수 중 하나 이상을 포함하는 시스템.
  11. 하나 이상의 컴퓨터-판독가능한 비-일시적 저장 매체로서,
    클라이언트 애플리케이션으로 로딩되는 하나 이상의 구조화된 문서 내의 검색 결과들에 액세스하고;
    특정 기간 내에 임의의 식별된 네트워크 자원과 상호작용한 제1 사용자와 연관이 있는 온라인 소셜 네트워크의 한 명 이상의 제2 사용자들을 결정하기 위해 온라인 소셜 네트워크로부터 액세스되는 소셜 그래프 정보의 데이터 스토어에 액세스하며;
    온라인 소셜 네트워크의 한 명 이상의 제2 사용자들에 의해 제출된 하나 이상의 이전의 검색들과 연관된 하나 이상의 과거-검색 결과들에 액세스하고;
    온라인 소셜 네트워크의 제1 사용자의 검색 질의에 해당하는 하나 이상의 네트워크 자원을 디스플레이하도록 실행시 동작하는 소프트웨어를 포함하며,
    상기 검색 결과들은 온라인 소셜 네트워크의 제1 사용자의 검색 질의에 해당하는 하나 이상의 네트워크 자원을 식별하고,
    네트워크 자원의 디스플레이는 특정 기간 내에 온라인 소셜 네트워크의 제2 사용자들이 상호작용한 하나 이상의 디스플레이된 네트워크 자원을, 클라이언트 애플리케이션의 사용자 인터페이스에서, 시각적으로 구분하는 것을 포함하며,
    식별된 네트워크 자원을 시각적으로 구분하는 것은 검색 결과들의 식별된 네트워크 자원이 온라인 소셜 네트워크의 제2 사용자들에 의해 액세스되었다고 표시하고 식별된 네트워크 자원 중 적어도 하나 옆에 있는 오버레이 패널을 디스플레이하는 것을 포함하고,
    오버레이 패널은 온라인 소셜 네트워크로부터 액세스된 제2 사용자들의 프로필 사진을 디스플레이하는 컴퓨터-판독가능한 비-일시적 저장 매체.
  12. 제 1 항에 있어서,
    소셜 그래프 정보의 데이터 스토어에 액세스하는 단계는:
    클라이언트 장치로부터 소셜 그래프 정보의 데이터 스토어를 포함하는 소셜 네트워킹 시스템으로:
    제1 사용자와 연관된 식별자(identification);
    특정 기간의 표시; 및
    하나 이상의 식별된 네트워크 자원과 각각 연관되는 하나 이상의 URLs(Uniform Resource Locators)를 전송하는 단계; 및
    클라이언트 장치에서, 소셜 그래프 정보를 수신하는 단계를 포함하는 방법.
  13. 제 1 항에 있어서,
    하나 이상의 노드는 제2 사용자들과 각각 연관되고,
    하나 이상의 노드는 제1 사용자와 각각 연관되며,
    제1 사용자와 연관되는 제2 사용자들은 각각의 노드가 제1 사용자와 연관된 노드 사이에서 특정 이격도를 갖는 제2 사용자들을 포함하는 방법.
  14. 제 6 항에 있어서,
    소셜 그래프 정보의 데이터 스토어에 액세스하는 것은:
    클라이언트 장치로부터 소셜 그래프 정보의 데이터 스토어를 포함하는 소셜 네트워킹 시스템으로:
    제1 사용자와 관련된 식별자(identification);
    특정 기간의 표시; 및
    하나 이상의 식별된 네트워크 자원과 각각 연관되는 하나 이상의 URLs(Uniform Resource Locators)를 전송하는 것; 및
    클라이언트 장치에서, 소셜 그래프 정보를 수신하는 것을 포함하는 시스템.
  15. 제 6 항에 있어서,
    하나 이상의 노드는 제2 사용자들과 각각 연관되고,
    하나 이상의 노드는 제1 사용자와 각각 연관되며,
    제1 사용자와 연관된 제2 사용자들은 각각의 노드가 제1 사용자와 연관된 노드 사이에서 특정 이격도를 갖는 제2 사용자들을 포함하는 시스템.
  16. 제 1 항에 있어서,
    오버레이 패널은 한 명 이상의 제2 사용자들 각각의 사용자 프로필로부터의 소셜 네트워크 데이터 요소를 디스플레이하는 방법.
  17. 제 1 항에 있어서,
    과거-검색 결과들은 한 명 이상의 제2 사용자들과 연관된 제2 사용자 검색 질의에 기반하여 결정된 하나 이상의 과거-검색 네트워크 자원을 포함하는 방법.
  18. 제 17 항에 있어서,
    온라인 소셜 네트워크의 제1 사용자의 검색 질의와 관련되는 과거-검색 네트워크 자원으로부터 하나 이상의 네트워크 자원을 결정하는 단계; 및
    클라이언트 장치에서, 제1 사용자의 검색 질의에 해당하는 하나 이상의 네트워크 자원에 추가로 과거-검색 네트워크 자원으로부터 하나 이상의 네트워크 자원을 디스플레이하는 단계를 더 포함하는 방법.
  19. 제 18 항에 있어서,
    특정 기간 내에 온라인 소셜 네트워크의 제2 사용자들이 상호작용한 하나 이상의 네트워크 자원 중 과거-검색 네트워크 자원으로부터 하나 이상의 네트워크 자원을, 클라이언트 애플리케이션의 사용자 인터페이스에서, 시각적으로 구분하는 단계를 더 포함하는 방법.
  20. 제 1 항에 있어서,
    온라인 소셜 네트워크의 한 명 이상의 제2 사용자들에 의해 제출된 하나 이상의 네트워크-자원 추천에 액세스하는 단계;
    온라인 소셜 네트워크의 제1 사용자의 검색 질의와 관련된 네트워크-자원 추천과 연관된 하나 이상의 네트워크 자원을 결정하는 단계; 및
    클라이언트 장치에서, 제1 사용자의 검색 질의에 해당하는 하나 이상의 네트워크 자원에 추가로 네트워크-자원 추천으로부터 하나 이상의 네트워크 자원을 디스플레이하는 단계를 더 포함하는 방법.
KR1020147000623A 2011-06-13 2012-06-06 소셜 네트워크 데이터에 기반한 검색 결과의 클라이언트-측 변경 KR101662195B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/159,247 US9342605B2 (en) 2011-06-13 2011-06-13 Client-side modification of search results based on social network data
US13/159,247 2011-06-13
PCT/US2012/040976 WO2012173835A2 (en) 2011-06-13 2012-06-06 Client-side modification of search results based on social network data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167025819A Division KR101779530B1 (ko) 2011-06-13 2012-06-06 소셜 네트워크 데이터에 기반한 검색 결과의 클라이언트-측 변경

Publications (2)

Publication Number Publication Date
KR20140051222A KR20140051222A (ko) 2014-04-30
KR101662195B1 true KR101662195B1 (ko) 2016-10-04

Family

ID=47294029

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147000623A KR101662195B1 (ko) 2011-06-13 2012-06-06 소셜 네트워크 데이터에 기반한 검색 결과의 클라이언트-측 변경
KR1020167025819A KR101779530B1 (ko) 2011-06-13 2012-06-06 소셜 네트워크 데이터에 기반한 검색 결과의 클라이언트-측 변경

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167025819A KR101779530B1 (ko) 2011-06-13 2012-06-06 소셜 네트워크 데이터에 기반한 검색 결과의 클라이언트-측 변경

Country Status (7)

Country Link
US (2) US9342605B2 (ko)
JP (2) JP5944495B2 (ko)
KR (2) KR101662195B1 (ko)
AU (2) AU2012271095B2 (ko)
CA (1) CA2838931C (ko)
MX (2) MX351105B (ko)
WO (1) WO2012173835A2 (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700708B2 (en) 2011-05-26 2014-04-15 Facebook, Inc. Social data recording
US8843554B2 (en) 2011-05-26 2014-09-23 Facebook, Inc. Social data overlay
US9710765B2 (en) 2011-05-26 2017-07-18 Facebook, Inc. Browser with integrated privacy controls and dashboard for social network data
US9747646B2 (en) 2011-05-26 2017-08-29 Facebook, Inc. Social data inputs
US9652810B2 (en) 2011-06-24 2017-05-16 Facebook, Inc. Dynamic chat box
US9311411B2 (en) * 2011-08-25 2016-04-12 Microsoft Technology Licensing, Llc Processing social search results
US9244985B1 (en) * 2011-09-06 2016-01-26 Google Inc. Generating search results for people
US9335883B2 (en) * 2011-09-08 2016-05-10 Microsoft Technology Licensing, Llc Presenting search result items having varied prominence
US9032290B2 (en) * 2011-09-21 2015-05-12 Facebook, Inc. Tool for creating structured objects and actions on a social networking system
US20130117324A1 (en) * 2011-11-07 2013-05-09 American Express Travel Related Services Company, Inc. Systems and Methods for Providing Electronic Help
US9055311B1 (en) * 2012-01-03 2015-06-09 Google Inc. Providing a program listing
US8875253B2 (en) * 2012-07-03 2014-10-28 Facebook, Inc. Trust metrics on shared computers
CN102831202A (zh) * 2012-08-08 2012-12-19 中兴通讯股份有限公司 一种向社交网站用户推送推荐好友的方法和系统
US9230022B1 (en) * 2012-08-23 2016-01-05 Amazon Technologies, Inc. Customizable result sets for application program interfaces
JP6102124B2 (ja) * 2012-08-24 2017-03-29 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
RU2589855C2 (ru) * 2013-01-18 2016-07-10 Общество С Ограниченной Ответственностью "Яндекс" Способ, система и компьютерная программа для управления информацией из социальных сетей
JP6054185B2 (ja) * 2013-01-22 2016-12-27 株式会社Nttドコモ 情報処理装置、情報処理方法及びプログラム
US20140280046A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Searching using social filters as operators
US20140297618A1 (en) * 2013-03-28 2014-10-02 Corinne Elizabeth Sherman Method and system for automatically selecting tags for online content
US9910887B2 (en) 2013-04-25 2018-03-06 Facebook, Inc. Variable search query vertical access
US9223898B2 (en) 2013-05-08 2015-12-29 Facebook, Inc. Filtering suggested structured queries on online social networks
US9317614B2 (en) * 2013-07-30 2016-04-19 Facebook, Inc. Static rankings for search queries on online social networks
US9715548B2 (en) * 2013-08-02 2017-07-25 Google Inc. Surfacing user-specific data records in search
US9953381B1 (en) * 2013-12-22 2018-04-24 Charles Schwab & Co., Inc. System and method for sharing investment information via a social network
US11330024B2 (en) 2014-01-29 2022-05-10 Ebay Inc. Personalized content sharing platform
US10303725B2 (en) * 2014-05-01 2019-05-28 Airbnb, Inc. Re-ranking search results for location refining and diversity
US9426143B2 (en) 2014-07-07 2016-08-23 Facebook, Inc. Providing social network content based on the login state of a user
RU2580516C2 (ru) * 2014-08-19 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ формирования персонализированной модели ранжирования, способ формирования модели ранжирования, электронное устройство и сервер
US10528597B2 (en) * 2014-09-28 2020-01-07 Microsoft Technology Licensing, Llc Graph-driven authoring in productivity tools
US10210146B2 (en) 2014-09-28 2019-02-19 Microsoft Technology Licensing, Llc Productivity tools for content authoring
US10402061B2 (en) 2014-09-28 2019-09-03 Microsoft Technology Licensing, Llc Productivity tools for content authoring
US9652787B2 (en) 2014-09-29 2017-05-16 Ebay Inc. Generative grammar models for effective promotion and advertising
US20160162487A1 (en) * 2014-12-09 2016-06-09 Facebook, Inc. Systems and methods for ranking and providing related content
US11803918B2 (en) * 2015-07-07 2023-10-31 Oracle International Corporation System and method for identifying experts on arbitrary topics in an enterprise social network
US10521420B2 (en) * 2015-07-31 2019-12-31 International Business Machines Corporation Analyzing search queries to determine a user affinity and filter search results
US10503796B2 (en) * 2015-10-26 2019-12-10 Facebook, Inc. Searching for application content with social plug-ins
WO2017137952A1 (en) * 2016-02-10 2017-08-17 Vats Nitin Intelligent chatting on digital communication network
US10203852B2 (en) * 2016-03-29 2019-02-12 Microsoft Technology Licensing, Llc Content selection in web document
CN107301189A (zh) * 2016-04-15 2017-10-27 阿里巴巴集团控股有限公司 一种数据展示方法及装置
KR101850853B1 (ko) * 2016-04-15 2018-04-20 (주)솔루젠 빅데이터를 이용한 검색 방법 및 장치
US10652188B2 (en) * 2016-06-03 2020-05-12 Facebook, Inc. Tracking post viewership
US11269961B2 (en) * 2016-10-28 2022-03-08 Microsoft Technology Licensing, Llc Systems and methods for App query driven results
JP6383059B1 (ja) * 2017-07-21 2018-08-29 テイク エイト インコーポレイテッド プログラム、表示方法及び端末
US10963514B2 (en) 2017-11-30 2021-03-30 Facebook, Inc. Using related mentions to enhance link probability on online social networks
US10129705B1 (en) 2017-12-11 2018-11-13 Facebook, Inc. Location prediction using wireless signals on online social networks
US11604968B2 (en) 2017-12-11 2023-03-14 Meta Platforms, Inc. Prediction of next place visits on online social networks
CN110276009B (zh) * 2019-06-20 2021-09-24 北京百度网讯科技有限公司 一种联想词的推荐方法、装置、电子设备及存储介质
GB2590691B (en) 2019-12-24 2023-04-19 Geromics Ltd Method for securely and privately sharing user data items with third parties
CN111915414B (zh) * 2020-08-31 2022-06-07 支付宝(杭州)信息技术有限公司 向目标用户展示目标对象序列的方法和装置
KR102489448B1 (ko) * 2022-07-05 2023-01-18 주식회사 뷰이 데이터 라벨링 서비스를 제공하기 위한 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070214121A1 (en) 2006-03-09 2007-09-13 Customerforce.Com Ranking search results presented to on-line users as a function of perspectives of relationships trusted by the users
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
US8180804B1 (en) 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954902B2 (en) 1999-03-31 2005-10-11 Sony Corporation Information sharing processing method, information sharing processing program storage medium, information sharing processing apparatus, and information sharing processing system
US6434599B1 (en) 1999-09-30 2002-08-13 Xoucin, Inc. Method and apparatus for on-line chatting
US6850988B1 (en) 2000-09-15 2005-02-01 Oracle International Corporation System and method for dynamically evaluating an electronic commerce business model through click stream analysis
US8707185B2 (en) 2000-10-10 2014-04-22 Addnclick, Inc. Dynamic information management system and method for content delivery and sharing in content-, metadata- and viewer-based, live social networking among users concurrently engaged in the same and/or similar content
KR20050054874A (ko) 2002-06-17 2005-06-10 포르토 라넬리, 에스. 에이 동일한 웹 페이지를 써핑하는 사용자간의 통신 엑세스
US8001187B2 (en) 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US20050198031A1 (en) 2004-03-04 2005-09-08 Peter Pezaris Method and system for controlling access to user information in a social networking environment
US8010458B2 (en) 2004-05-26 2011-08-30 Facebook, Inc. System and method for managing information flow between members of an online social network
US7702653B1 (en) 2004-06-30 2010-04-20 Google Inc. Methods and systems for triggering actions
US7716140B1 (en) 2004-12-31 2010-05-11 Google Inc. Methods and systems for controlling access to relationship information in a social network
US9715542B2 (en) * 2005-08-03 2017-07-25 Search Engine Technologies, Llc Systems for and methods of finding relevant documents by analyzing tags
US20110258049A1 (en) * 2005-09-14 2011-10-20 Jorey Ramer Integrated Advertising System
US7669123B2 (en) 2006-08-11 2010-02-23 Facebook, Inc. Dynamically providing a news feed about a user of a social network
US8185584B2 (en) 2006-05-31 2012-05-22 Red Hat, Inc. Activity history management for open overlay for social networks and online services
US8352573B2 (en) 2006-06-23 2013-01-08 Rohit Chandra Method and apparatus for automatically embedding and emailing user-generated highlights
US20080005223A1 (en) 2006-06-28 2008-01-03 Microsoft Corporation Reputation data for entities and data processing
WO2008019350A2 (en) 2006-08-04 2008-02-14 Meebo, Inc. A method and system for embedded group communication
EP2062170A2 (en) 2006-08-31 2009-05-27 QUALCOMM Incorporated Method and apparatus of obtaining or providing search results using user-based biases
US7765295B2 (en) 2006-10-25 2010-07-27 Compuware Corporation Methods and apparatus for real user monitoring
US20080243830A1 (en) 2007-03-30 2008-10-02 Fatdoor, Inc. User suggested ordering to influence search result ranking
US7945861B1 (en) 2007-09-04 2011-05-17 Google Inc. Initiating communications with web page visitors and known contacts
US8214883B2 (en) 2007-10-22 2012-07-03 Microsoft Corporation Using social networks while respecting access control lists
US9159034B2 (en) * 2007-11-02 2015-10-13 Ebay Inc. Geographically localized recommendations in a computing advice facility
US8799068B2 (en) * 2007-11-05 2014-08-05 Facebook, Inc. Social advertisements and other informational messages on a social networking website, and advertising model for same
US20090182589A1 (en) * 2007-11-05 2009-07-16 Kendall Timothy A Communicating Information in a Social Networking Website About Activities from Another Domain
JP2009181260A (ja) 2008-01-30 2009-08-13 Hewlett-Packard Development Co Lp プロファイル生成システム、プロファイル生成装置およびその方法
JP5054593B2 (ja) 2008-03-27 2012-10-24 日本電信電話株式会社 情報検索装置及びプログラム
EP2279472A4 (en) 2008-04-05 2013-11-20 Social Communications Co APPARATUS AND METHODS BASED ON A SHARED VIRTUAL SPACE COMMUNICATION ENVIRONMENT
US20090287645A1 (en) 2008-05-15 2009-11-19 Yahoo! Inc. Search results with most clicked next objects
US8051444B2 (en) * 2008-06-02 2011-11-01 Intent IQ, LLC Targeted television advertisements selected on the basis of an online user profile and presented with television programs or channels related to that profile
US20100023584A1 (en) 2008-07-23 2010-01-28 Motorola, Inc. Method and system for creating a personalized social network in a telecommunication network
US8219916B2 (en) * 2008-07-25 2012-07-10 Yahoo! Inc. Techniques for visual representation of user activity associated with an information resource
US8386506B2 (en) * 2008-08-21 2013-02-26 Yahoo! Inc. System and method for context enhanced messaging
US20100132049A1 (en) 2008-11-26 2010-05-27 Facebook, Inc. Leveraging a social graph from a social network for social context in other systems
KR101542520B1 (ko) 2009-01-13 2015-08-07 삼성전자주식회사 통신 망에서 프리젠스 서비스를 통한 정보 공유 장치 및 방법
US8539359B2 (en) * 2009-02-11 2013-09-17 Jeffrey A. Rapaport Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic
US20130198285A1 (en) 2009-03-26 2013-08-01 Shopmedia Inc. Contextual Information from Contexts
US8549072B2 (en) 2009-07-23 2013-10-01 Facebook, Inc. Markup language for incorporating social networking system information by an external website
US8868637B2 (en) 2009-09-02 2014-10-21 Facebook, Inc. Page rendering for dynamic web pages
KR101609140B1 (ko) 2009-09-07 2016-04-05 엘지전자 주식회사 휴대 단말기 및 휴대 단말기 동작방법
US9049258B2 (en) 2009-09-17 2015-06-02 Border Stylo, LLC Systems and methods for anchoring content objects to structured documents
US8620879B2 (en) 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service
US20150169571A1 (en) 2009-10-21 2015-06-18 Google Inc. Social Image Search
US20110099495A1 (en) 2009-10-22 2011-04-28 Xerox Corporation Method for enabling internet access on a multifunction reprographic machine
US20110106835A1 (en) 2009-10-29 2011-05-05 International Business Machines Corporation User-Defined Profile Tags, Rules, and Recommendations for Portal
US20110231296A1 (en) * 2010-03-16 2011-09-22 UberMedia, Inc. Systems and methods for interacting with messages, authors, and followers
US20110258039A1 (en) * 2010-04-14 2011-10-20 Microsoft Corporation Evaluating preferences of users engaging with advertisements
US8572129B1 (en) * 2010-04-19 2013-10-29 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph
US20110276631A1 (en) 2010-05-04 2011-11-10 Schmitt Steven J Systems and methods for accessing information from multiple networks, social graphs, and content sites
KR101699736B1 (ko) 2010-06-17 2017-01-25 엘지전자 주식회사 영상표시기기 및 그 동작방법
US20110320441A1 (en) * 2010-06-25 2011-12-29 Microsoft Corporation Adjusting search results based on user social profiles
US8700540B1 (en) * 2010-11-29 2014-04-15 Eventbrite, Inc. Social event recommendations
US9760894B2 (en) 2011-04-29 2017-09-12 Blackberry Limited Providing syndicated content associated with a link in received data
WO2012150602A1 (en) * 2011-05-03 2012-11-08 Yogesh Chunilal Rathod A system and method for dynamically monitoring, recording, processing, attaching dynamic, contextual & accessible active links & presenting of physical or digital activities, actions, locations, logs, life stream, behavior & status
US20120290637A1 (en) 2011-05-12 2012-11-15 Microsoft Corporation Personalized news feed based on peer and personal activity
US9424536B2 (en) * 2011-05-31 2016-08-23 Oracle International Corporation System for business portfolio modeling and analysis
US9652810B2 (en) 2011-06-24 2017-05-16 Facebook, Inc. Dynamic chat box
BR112015001467A2 (pt) * 2012-07-23 2017-07-04 Facebook Inc busca estruturada com base em informação de gráfico social

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20070214121A1 (en) 2006-03-09 2007-09-13 Customerforce.Com Ranking search results presented to on-line users as a function of perspectives of relationships trusted by the users
US8180804B1 (en) 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information

Also Published As

Publication number Publication date
AU2016222493B2 (en) 2017-06-29
US20160188736A1 (en) 2016-06-30
JP2016186791A (ja) 2016-10-27
WO2012173835A2 (en) 2012-12-20
US20120317109A1 (en) 2012-12-13
JP5944495B2 (ja) 2016-07-05
MX351105B (es) 2017-10-02
KR20160113741A (ko) 2016-09-30
KR101779530B1 (ko) 2017-10-10
JP6435289B2 (ja) 2018-12-05
AU2012271095A1 (en) 2014-01-09
MX2013014807A (es) 2014-05-22
AU2012271095B2 (en) 2016-08-11
MX337362B (es) 2016-02-29
CA2838931A1 (en) 2012-12-20
CA2838931C (en) 2019-02-12
KR20140051222A (ko) 2014-04-30
JP2014525070A (ja) 2014-09-25
AU2016222493A1 (en) 2016-09-22
US10296547B2 (en) 2019-05-21
US9342605B2 (en) 2016-05-17
WO2012173835A3 (en) 2013-02-21

Similar Documents

Publication Publication Date Title
KR101662195B1 (ko) 소셜 네트워크 데이터에 기반한 검색 결과의 클라이언트-측 변경
US9959580B2 (en) Social data overlay
US10200379B2 (en) Browser with integrated privacy controls and dashboard for social network data
US8700708B2 (en) Social data recording
US8280959B1 (en) Personalizing a web page outside of a social networking system with recommendations for content from the social networking system
US20170358037A1 (en) Social Data Inputs
US9720964B1 (en) Methods for enhancing search using a social network

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190917

Year of fee payment: 4