KR101585585B1 - 행위 유형에 기초한 제3자 애플리케이션으로부터 사용자에 관한 정보 수신 - Google Patents

행위 유형에 기초한 제3자 애플리케이션으로부터 사용자에 관한 정보 수신 Download PDF

Info

Publication number
KR101585585B1
KR101585585B1 KR1020157004178A KR20157004178A KR101585585B1 KR 101585585 B1 KR101585585 B1 KR 101585585B1 KR 1020157004178 A KR1020157004178 A KR 1020157004178A KR 20157004178 A KR20157004178 A KR 20157004178A KR 101585585 B1 KR101585585 B1 KR 101585585B1
Authority
KR
South Korea
Prior art keywords
user
social networking
networking system
party application
information
Prior art date
Application number
KR1020157004178A
Other languages
English (en)
Other versions
KR20150027308A (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 KR20150027308A publication Critical patent/KR20150027308A/ko
Application granted granted Critical
Publication of KR101585585B1 publication Critical patent/KR101585585B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • G06Q50/40
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services

Abstract

소셜 네트워킹 시스템은 제3자 애플리케이션이 행위 유형에 기초한 사용자 데이터 및 다수의 객체에 대한 행위 유형에 대응하는 사용자의 데이터의 수집을 요청할 수 있게 한다. 소셜 네트워킹 시스템의 사용자들은 정보와 연관된 행위 유형에 기초하여 개인 정보 또는 그들의 정보의 접근가능성을 제공한다(예컨대, 사용자는 행위의 소스에 관계없이, 특정 애플리케이션이 특정 유형의 모든 행위에 접근할 수 있게 한다). 제3자 애플리케이션은 사용자 데이터의 수집에 기초하여 사용자에 대한 개인화된 컨텐츠를 생성하고 그 후 소셜 네트워킹 시스템으로 개인화된 컨텐츠를 다시 게시하기 위하여 이렇게 접근된 정보를 사용할 수 있다.

Description

행위 유형에 기초한 제3자 애플리케이션으로부터 사용자에 관한 정보 수신{RECEIVING INFORMATION ABOUT A USER FROM A THIRD PARTY APPLICATION BASED ON ACTION TYPES}
본 발명은 일반적으로 소셜 네트워킹에 관한 것으로, 좀 더 구체적으로 정보와 관련된 행위 유형들에 기초하여 제3자 애플리케이션으로 사용자에 관한 정보를 제공하고 제3자 애플리케이션으로부터 사용자에 관한 정보를 수신하는 것에 관한 것이다.
소셜 네트워킹 시스템은 사용자들이 다른 사용자들과 연결되거나 통신할 수 있는 유용한 환경을 제공하기 때문에 최근 유행하고 있다. 다양한 서로 다른 유형의 소셜 네트워킹 시스템들이 존재하지만, 이러한 시스템들은 공통적으로 사용자들을 그들의 소셜 네트워크 내로 한정하거나 그 내에서만 상호작용하게 하는 메커니즘을 제공한다. 본 명세서에서, 사용자는 개인 또는 사업이나 비인격(non-person) 엔터티와 같은 임의의 다른 엔터티일 수 있다. 따라서, 소셜 네트워킹 시스템은 친구들 사이에 소셜 통신을 할 수 있게 하면서도 또한 사업자들이 잠재적 소비자와 연결되는 가치있는 툴일 수 있다. 상업적 목적이 아니더라도, 소셜 네트워킹 시스템은 다른 유형의 엔터티들이 그들의 메시지를 확산시킬 수 있게 한다. 예컨대, 비인격 엔터티는 다른 사용자들이 "좋아요" 할 수 있는 페이지 또는 그룹을 설정하거나 연관될 수 있으며, 이는 비인격 엔터티가 관심 사용자들의 그룹으로부터 통신을 수신하거나 관심 사용자들의 그룹으로 통신을 전송하는 포럼(forum)을 제공할 수 있게 한다.
유용한 소셜 정보가 에지에 의해 상호연결된 노드들의 "소셜 그래프" 내에 개념적으로 유지될 수 있다. 소셜 그래프 내의 각 노드는 다른 노드 상에 행위를 하고/하거나 받을 수 있는 무언가를 나타낸다. 노드의 일반적인 예들은 사용자들, 비인격 엔터티, 컨텐츠 아이템, 그룹, 이벤트, 위치, 메시지, 컨셉 및 소셜 네트워킹 시스템 내의 객체에 의해 표현될 수 있는 임의의 다른 것들을 포함한다. 소셜 그래프에서 두 노드 사이의 에지는 노드들 중 하나와 다른 노드 사이에 행해졌던 행위의 결과인 두 노드 사이의 특정 종류의 연결을 나타낸다.
예컨대, 한 사용자가 소셜 네트워킹 시스템 내에서 다른 사용자와의 연결을 확립하면, 그 사용자들은 노드로 표현되고 그들 사이의 에지는 그 확립된 연결을 나타낸다. 이 예를 계속하면, 한 사용자가 소셜 네트워킹 시스템 내의 다른 사용자에게 메시지를 전송할 수 있다. 메시징 행위는 소셜 네트워킹 시스템에 의해 식별된 두 노들 사이의 다른 에지를 나타낸다. 메시지 자체는 노드로 처리될 수 있다. 다른 예로, 한 사용자가 소셜 네트워킹 시스템에 의해 유지되는 이미지 내의 다른 사용자를 태그할 수 있다. 이 태그 행위는 사용자들 사이의 에지를 생성할 뿐 아니라 각 사용자와 노드인 이미지 사이의 에지를 생성할 수 있다. 또 다른 예로, 사용자가 이벤트에의 참석을 확인하면, 사용자와 이벤트는 노드이며, 이벤트에의 참석은 에지이다. 따라서 소셜 그래프를 사용하면, 소셜 네트워킹 시스템은 많은 서로 다른 유형의 객체들, 상호작용 및 이들 객체들 사이의 연결을 유지할 수 있으며, 그에 의하여 소셜 관련 정보의 매우 풍부한 스토어를 생성할 수 있다.
소셜 네트워킹 시스템은 사용자들이 그들이 좋아하는 영화, 음악, 유명인사, 소프트 음료, 취미, 스포츠 팀 및 활동들과 같이 현실 세계 개념으로 그들의 관심 및 선호를 공유하게 한다. 이러한 관심은 사용자 프로필에 사용자에 의해 선언될 수 있으며, 소셜 네트워킹 시스템에 의해 추론될 수도 있다. 사용자들은 또한 소셜 네트워킹 시스템 상의 페이지들과 상호작용하기, 소셜 네트워킹 시스템의 다른 사용자들과 원인과 논란에 관한 흥미있는 기사 공유하기 및 소셜 네트워킹 시스템 외부의 객체 상에서 다른 사용자들에 의해 생성된 행위에 코멘트하기를 포함하여, 소셜 네트워킹 시스템 상의 다양한 통신 채널을 통하여 이러한 현실 세계 개념과 상호작용할 수 있다. 게임 애플리케이션 플레이하기, 음악-스트리밍 서비스 듣기 및 서류 공유 시스템 읽기와 같이 외부 웹사이트 상에서 사용자들에 의해 객체 상에 수행된 행위들 또한 소셜 네트워킹 시스템에 의해 수집될 수 있다. 사용자들이 그들의 관심을 공유할 수 있지만, 제3자 애플리케이션으로 객체와 그들의 상호작용에 관한 정보를 공유할 수 있게 하는 툴은 아직 개발되지 않았다.
따라서, 사용자들이 행위 유형에 기초하여 제3자 애플리케이션과 정보를 공유할 수 있게 하는 메커니즘이 필요하다. 이는 제3자 애플리케이션들이 사용자들에게 개인화된 컨텐츠를 생성할 수 있게 한다.
소셜 네트워킹 시스템에서, 사용자들은 객체에 대하여 다양한 유형의 행위를 수행할 수 있다(예컨대, 노래에 있어서, 사용자는 노래를 구매하거나 듣거나 추천할 수 있다). 소셜 네트워킹 시스템 상의 객체들은 객체 특성을 포함할 수 있다(예컨대, 노래에 있어서, 아티스트, 장르 및 앨범이 노래의 객체 특성이다). 객체 유형에 대하여 수행된 각 행위 유형은 서로 다른 방식으로 수집될 수 있다(예컨대, 하나의 노래를 5번 듣는다거나 일주일에 평균 10마일을 걷는 것). 행위는 소셜 네트워킹 시스템을 사용하는 동안 사용자들에 의해 객체 상에 직접 수행될 수 있다. 그러나, 행위는 또한 소셜 네트워킹 시스템 플랫폼뿐 아니라 소셜 네트워킹 시스템 외부의 애플리케이션들 및 시스템들 상에 설치된 제3자 애플리케이션을 사용하여 사용자에 대하여 수행될 수 있다. 개시된 실시예들은 제3자 애플리케이션이 행위 유형에 기초하여 사용자 데이터를 요청하고 다수의 객체에 관하여 행위 유형에 대응하는 사용자의 데이터를 수집할 수 있게 한다. 소셜 네트워킹 시스템의 사용자들은 정보와 관련된 행위 유형에 기초하여 개인정보 보호 및 그들의 정보에 대한 접근성을 제공할 수 있다(예컨대, 사용자는 특정 애플리케이션이 행위의 소스에 관계없에 특정 유형의 모든 행위에 접근하게 할 수 있다). 제3자 애플리케이션은 사용자 데이터의 수집에 기초하여 사용자에 대하여 개인화된 컨텐츠를 생성하고 그 후 소셜 네트워킹 시스템으로 그 개인화된 컨텐츠를 다시 게시하기 위하여 이 접근된 정보를 사용할 수 있다.
본 명세서 내용 중에 포함되어 있음
도 1은 일부 실시예에 따라, 행위 유형에 기초하여 수집된 데이터를 제3자 애플리케이션에 제공하기 위한 프로세스의 고차 블럭도이다.
도 2는 일부 실시예에 따른 시스템 환경을 도시하는 고차 블럭도이다.
도 3은 본 발명의 실시예에 따라 사용자 행위를 나태내는 그래프 구조를 정의하는 고차 블럭도이다.
도 4a는 일부 실시예에 따라 행위 유형에 기초하여 수집된 데이터를 제3자 애플리케이션에 제공하기 위한 다양한 모듈들을 포함하는 수집 모듈을 도시하는 고차 블럭도이다.
도 4b는 일부 실시예에 따라 제3자 애플리케이션에 의해 생성된 개인화된 컨텐츠를 게시하기 위한 다양한 모듈들을 포함하는 게시자 모듈을 도시하는 고차 블럭도이다.
도 5는 일부 실시예에 따라 행위 유형에 기초하여 수집된 데이터를 제3자 애플리케이션에 제공하기 위한 프로세스를 도시하는 흐름도이다.
도 6은 일부 실시예에 따라 소셜 네트워킹 시스템으로 개인화된 컨텐츠를 게시하기 위한 프로세스를 도시하는 흐름도이다.
도 7은 일부 실시예에 따라 소셜 네트워킹 시스템으로 수집된 데이터로부터 생성된 개인화된 컨텐츠를 게시하는 예의 상호작용도이다.
도면은 오직 예시를 위하여 본 발명의 다양한 실시예들을 도시한다. 본 발명이 속하는 설명분야에서 통상의 지식을 가진 자라면 이하의 설명으로부터 본 명세서에 개시된 설명적 사상을 벗어나지 않는 범위 내에서 본 명세서에 설명된 구조 및 방법의 대안 실시예들이 채용될 수 있음을 용이하게 인식할 것이다.
개요
소셜 네트워킹 시스템은 소셜 네트워킹 시스템의 사용자에게 소셜 네트워킹 시스템의 다른 사용자들과 통신 및 상호작용할 수 있는 능력을 제공한다. 사용자들은 소셜 네트워킹 시스템에 가입하여 그들이 연결되기 원하는 다수의 다른 사용자들과의 연결을 추가한다. 소셜 네트워킹 시스템의 사용자들은 그들을 설명하는 정보를 제공할 수 있으며, 이는 사용자 프로필로 저장된다. 예컨대, 사용자들은 그들의 나이, 성별, 지정학적 위치, 학력, 경력 등을 제공할 수 있다. 사용자에 의해 제공된 정보는 사용자에게 정보를 안내하는 소셜 네트워킹 시스템에 의해 사용될 수 있다. 예컨대, 소셜 네트워킹 시스템은 사용자에게 소셜 그룹, 이벤트 및 잠재적 친구를 추천할 수 있다. 소셜 네트워킹 시스템은 또한 사용자들이 유명인사, 취미, 스포츠 팀, 책, 음악 등과 같은 주제에 직접 관심을 표현할 수 있게 한다. 이러한 관심은 공유된 관심에 기초하여 소셜 네트워킹 시스템의 다른 사용자들에게 관련 스토리를 보여주는 것에 의하여 소셜 네트워킹 시스템 상의 사용자 관심을 개인화하고 광고를 타겟팅하는 것을 포함하여 무수히 많은 방식으로 사용될 수 있다.
소셜 그래프는 소셜 네트워킹 시스템 상에 저장된 에지에 의해 연결된 노드들을 포함한다. 노드들은 사용자들 및 컨셉과 제목을 포함하는 웹 페이지와 같은 소셜 네트워킹 시스템의 객체들을 포함하며, 에지는 노드들을 연결한다. 에지는 사용자가 "아메리카 컵(America's Cup)"에 관하여 다른 사용자에 의해 공유된 뉴스 기사에 관심을 표현한 경우와 같이 두 노드 사이의 특정 상호작용을 나타낸다. 소셜 그래프는 그들의 상호작용을 나타내는 에지들에 정보를 저장하는 것에 의하여 소셜 네트워킹 시스템의 사용자 사이의 상호작용 뿐 아니라 노드와 소셜 네트워킹 시스템의 사용자와 객체 사이의 상호작용도 기록할 수 있다. 커스텀 그래프 객체 유형 및 그래프 행위 유형은 그래프 객체 및 그래프 행위의 속성을 정의하기 위하여 제3 개발자 뿐 아니라 소셜 네트워킹 시스템의 관리자에 의해 정의될 수 있다. 예컨대, 영화에 대한 그래프 객체는 제목, 배우, 감독, 프로듀서, 연도 등과 같은 다수의 정의된 객체 특성을 가질 수 있다. "구매"와 같은 그래프 행위 유형은 소셜 네트워킹 시스템의 사용자에 의해 수행된 커스텀 행위를 보고하기 위하여 소셜 네트워킹 시스템 외부의 웹 사이트 상의 제3 개발자에 의해 사용될 수 있다. 이러한 방식으로, 소셜 그래프는 "오픈"될 수 있으며, 제3 개발자가 외부 웹 사이트 상의 커스텀 그래프 객체 및 행위를 생성 및 사용할 수 있게 한다.
제3 개발자는 소셜 네트워킹 시스템의 사용자가 소셜 네트워킹 시스템 외부의 웹 사이트 상에 호스트되는 웹 페이지에 관심을 표현할 수 있게 한다. 이러한 웹 페이지는 아이프레임과 같이 웹 페이지에 위젯, 소셜 플러그인, 프로그램가능한 로직 또는 코드 스니핏(snippet)을 내장함으로써 소셜 네트워킹 시스템의 페이지 객체로 표현될 수 있다. 웹 페이지에 내장될 수 있는 임의의 주제는 이러한 방식으로 소셜 네트워킹 시스템에서 소셜 그래프의 노드가 될 수 있다. 그 결과, 사용자는 "저스틴 비버(Justin Bieber)"와 같은 키워드 또는 키워드 구문과 관련하여 소셜 네트워킹 시스템 외부의 많은 객체들과 상호작용할 수 있다. 객체와의 각 상호작용은 소셜 네트워킹 시스템에 의해 에지로 기록될 수 있다. 제3 개발자가 커스텀 객체 유형 및 커스텀 행위 유형을 정의할 수 있게 하는 것이 본 명세서에 참조로 수집되고 2011년 9월 21일자로 출원된 미국출원 제13/239,340호인 "소셜 네트워킹 시스템 상의 구조화된 객체 및 행위(Structured Objects and Actions on a Social Networking System)"에 더 설명되어 있다.
소셜 네트워킹 시스템은 사용자가 행위 유형에 기초한 사용자 데이터 수집에 제3자 애플리케이션의 접근을 허락할 수 있게 한다. 정교한 제3자 애플리케이션은 사용자에게 개인화된 컨텐츠를 제공하기 위하여 이러한 데이터를 수집할 수 있다. 예컨대, 제3자 애플리케이션은 행위 유형 "구매"에 기초하여 사용자 데이터의 수집을 검색할 수 있다. 이 데이터를 사용하여 제3자 애플리케이션은 사용자의 구매 활동의 분석을 생성할 수 있다.
다른 실시예에서, 소셜 네트워킹 시스템은 객체 유형 또는 특성에 기초하여 사용자 데이터를 수집할 수 있다. 제3자 애플리케이션은 사용자 데이터에 대한 요청에 하나 이상의 객체 유형 및/또는 하나 이상의 객체 특징을 특정할 수 있다 예컨대, 제3자 애플리케이션은 노래 객체가 객체 특성으로 관련 아티스트 객체를 가질 수 있기 때문에 특정 아티스트로부터의 노래를 듣는 사용자에 대한 데이터에 접근할 수 있다. 마찬가지로, 제3자 애플리케이션은 노래 객체가 장르 객체와 관련되기 때문에 팝 음악과 같은 특정 장르의 임의의 노래를 임계 횟수 재생한 것에 기초하여 사용자에 관한 데이터에 접근할 수 있다. 소셜 네트워킹 시스템은 또한 기결정된 수의 음악 재생 및 적어도 한 번의 콘서트 홀 체크인과 같이 제3자 애플리케이션이 다수의 서로 다른 유형의 행위의 수집을 특정하게 할 수 있다. 요약하면, 소셜 네트워킹 시스템의 객체들은 객체 유형에 기초하여 변하는 객체와 관련된 메타데이터를 가진다. 소셜 네트워킹 시스템은 제3자 애플리케이션이 이러한 객체 특성의 수집 또는 객체 특징을 검색할 수 있게 할 수 있다.
도 1은 일 실시예로 행위 유형에 기초하여 수집된 데이터를 제3자 애플리케이션에 제공하는 프로세스의 고차 블럭도를 나타낸다. 소셜 네트워킹 시스템(130)의 수집 모듈(132)은 행위 유형에 대하여 사용자에 관한 정보 요청에 응답한다. 요청은 사용자에 대한 사용자 식별자를 포함할 수 있고 하나 이상의 행위 유형을 특정할 수 있다. 수집 모듈(132)은 그 요청에 특정된 하나 이상의 행위 유형에 기초하여 수집된 수집 사용자 데이터(160)로 요청에 응답한다. 예컨대, 수집 사용자 데이터(160)는 "달리기", "수영" 및 "자전거"의 행위 유형에 기초하여 수집될 수 있다. 수집 사용자 데이터(160)는 특정된 행위 유형과 연관되는 컨텐츠 객체(136) 및 에지 객체(138)로부터의 정보를 포함한다. 예컨대, 수집 데이터는 "달리기", "수영" 및 "자전거"의 행위 유형을 가지는 에지 객체로부터일 수 있다. 소셜 네트워킹 시스템(130)의 컨텐츠 객체(136)는 소셜 네트워킹 시스템(130)의 사용자에 의해 행위가 수행될 수 있다. 컨텐츠 객체(136)는 페이지 포스트, 상태 업데이트, 뉴스피드 스토리, 사진, 비디오, 링크, 공유 컨텐츠 아이템, 게임 애플리케이션 달성, 지역 사업에의 체크인 이벤트 등과 같은 소셜 네트워킹 시스템(130) 상의 임의 유형의 객체를 포함할 수 있다. 사용자와 컨텐츠 객체(136) 사이의 사이의 상호작용은 사용자, 컨텐츠 객체(136) 및 행해지는 행위 유형을 식별하는 것을 포함하여 상호작용에 관한 정보를 포함하는 에지 객체(138)를 생성한다. 일 실시예에서, 소셜 네트워킹 시스템(130) 상의 컨텐츠 객체(136)는 소셜 네트워킹 시스템(130) 상에 설치된 특정 애플리케이션을 통하여 소셜 네트워킹 시스템의 사용자에 의해 행위가 수행될 수 있다.
일부 실시예에서, 수집 모듈(132)은 객체 유형 및/또는 특징을 특정하는 요청에 응답한다. 수집 모듈(132)은 특정된 객체 유형 및/또는 특징에 기초하여 수집된 수집 사용자 데이터로 응답한다. 예컨대, 수집 모듈(132)은 사용자의 체크인, 포스트된 이미지, 코멘트, 링크 및 포스트된 링크에 관한 정보로 응답할 수 있다.
일부 실시예에서, 소셜 네트워킹 시스템(130)의 게시자 모듈(134)은 소셜 네트워킹 시스템에 게시할 개인화된 컨텐츠(161)를 수신할 수 있다. 개인화된 컨텐츠는 수집 사용자 데이터(160)에 기초하여 생성된다. 일부 실시예에서, 게시자 모듈(134)은 수집 사용자 데이터(160)에 관한 뉴스 스토리를 수신한다. 예컨대, 제3자 애플리케이션(112)은 사용자의 달리기, 수영 및 자전거 활동을 보여주는 차트를 포함하는 뉴스 스토리를 게시자 모듈(134)로 전송할 수 있다. 일부 실시예에서, 게시자 모듈(134)은 작성자 인터페이스 입력을 수신한다. 작성자 인터페이스 입력은 수집 사용자 데이터(160)에 관한 텍스트, 비디오 또는 이미지를 포함할 수 있다. 예컨대, 작성자 인터페이스는 사용자의 최근 달리기, 수영 및 자전거 활동에 관한 통계를 포함하는 상태 메시지 업데이트를 포함할 수 있다. 개인화된 컨텐츠는 뉴스피드, 프로필 페이지 또는 애플리케이션 특정 페이지와 같은 소셜 네트워킹 시스템의 하나 이상의 페이지에 게시될 수 있다.
수집 사용자 데이터(160)에 포함된 개별 행위, 에지 및/또는 객체는 개별적으로 접근될 수 있으며, 수집 사용자 데이터(160)뿐만 아니라 객체 또는 행위의 개별 집합들은 집합 뿐 아니라 집합에 포함된 다양한 객체 및/또는 행위로의 접근을 허락한다. 예컨대, "달리기", "수영" 및 "수면"의 행위 유형에 기초하여 수집된 사용자 데이터(160)는 "달리기", "수영" 및 "수면"의 특정된 행위 유형과 관련관 컨텐츠 객체(136) 및 에지 객체(138)로부터의 정보를 포함할 수 있다. 사용자 장치(110)에 포함될 수 있는 제3자 애플리케이션(112)은 후술할 바와 같이 사용자에 대한 개인화된 컨텐츠를 생성하기 위하여 수집 사용자 데이터(160) 내의 컨텐츠 객체(136) 및/또는 에지 객체(138)에 접근할 수 있다. 사용자는 수집 사용자 데이터(160) 내의 객체로의 제3자 애플리케이션 접근을 조정하기 위하여 수집 사용자 데이터(160) 내의 컨텐츠 객체(136) 및/또는 에지 객체(138)를 서로 다른 승인과 연관시킬 수 있다. 예컨대, 사용자는 체력 훈련 제3자 애플리케이션(112)이 "수면" 행위 유형과 관련된 컨텐츠 객체(136) 또는 에지 객체(138)로 접근하는 것을 방지하면서 체력 훈련 제3자 애플리케이션(112)이 "달리기" 및 "수영" 행위 유형과 관련된 컨텐츠 객체(136) 및/또는 에지 객체(138)에 접근하게 할 수 있다.
사용자 장치(110)는 소셜 네트워킹 시스템(130)으로부터 수집 사용자 데이터(160)에 기초하여 사용자에 대한 개인화된 데이터를 생성하는 제3자 애플리케이션(112)을 포함한다. 앞서 논의된 바와 같이, 수집 사용자 데이터(160)는 행위 유형, 객체 유형, 객체 특성 또는 그들의 임의의 조합에 기초하여 수집될 수 있다. 예컨대, 제3자 애플리케이션(112)은 "달리기" 행위 유형에 기초한 수집된 데이터를 요청하는 요청을 소셜 네트워킹 시스템(130)으로 전송할 수 있다. 그 요청에 응답하여, 제3자 애플리케이션(112)은 "달리기" 행위 유형을 가지는 에지 객체와 관련하여 소셜 네트워킹 시스템(130)에 의해 유지되는 하나 이상의 객체로부터의 데이터를 수신할 수 있다. 제3자 애플리케이션(112)은 상술한 바와 같이 사용자에 대한 개인화된 컨텐츠를 생성하기 위하여 수집 사용자 데이터(160)를 사용할 수 있다.
외부 시스템(120)은 소셜 네트워킹 시스템(130) 및/또는 사용자 장치(110)와 통신하기 위한 명령어들을 포함하는 위젯(124)을 가지는 웹 페이지(122)를 포함한다. 위젯(124)은 행위 유형, 객체 유형, 객체 특성 또는 그들의 임의의 조합에 기초하여 수집된 수집 사용자 데이터를 획득할 수 있다. 위젯(124)은 사용자에게 디스플레이할 개인화된 컨텐츠를 생성하기 위하여 이 데이터를 사용할 수 있다.
상술한 방법을 사용하면, 소셜 네트워킹 시스템은 제3자 애플리케이션(112) 및 제3자 웹사이트가 소셜 네트워킹 시스템에 의해 수집된 상호작용에 기초하여 수집된 데이터를 검색하게 할 수 있다. 이러한 상호작용은 메시지, 웰 포스트 및 컨텐츠를 통한 소셜 네트워킹 시스템의 다른 사용자들과의 상호작용, 애플리케이션 상호작용, 비디오 및 사진 업로딩과 소셜 네트워킹 시스템 상의 게임 애플리케이션과의 상호작용과 같이 소셜 네트워킹 시스템 상의 객체와의 다른 상호작용과 같이 소셜 네트워킹 시스템 안에서 일어날 수 있다. 사용자 상호작용은 또한 달리기 운동을 완료하거나, 국토를 횡단하는 장거리 자동차 여행을 마치거나, 재생 리스트 상의 노래를 재생하는 것과 같이 소셜 네트워킹 시스템 외부에서 수행될 수도 있다.
도 1 및 다른 도면들은 유사한 요소를 식별하기 위하여 유사한 도면부호를 사용한다. "160-1"과 같이 도면부호 뒤의 문자는 텍스트가 특정 도면부호를 가지는 요소를 구체적으로 참조함을 가리킨다. 후속 문자 없는 텍스트 내의 도면부호는 그 도면부호를 가지는 도면 내의 요소들 중 임의의 것 또는 모두를 참조한다(예컨대, 텍스트 내의 "160"은 도면에서 도면부호 "160-1" 및/또는 "160-2"를 참조한다).
시스템 구조
도 2는 본 발명의 실시예에 따라, 제3자 애플리케이션이 사용자 상호작용에 기초하여 수집된 사용자 데이터에 접근할 수 있도록 설계된 시스템 환경(200)을 나타내는 고차 블럭도이다. 시스템 환경은 하나 이상의 사용자 장치(110), 소셜 네트워킹 시스템(130), 네트워크(204) 및 하나 이상의 외부 시스템(120)을 포함한다. 대안 구성으로, 다른 및/또는 추가 모듈들이 시스템에 포함될 수 있다. 설명을 위하여, 도 2에 도시된 시스템 환경(200)의 실시예는 단일 외부 시스템(120) 및 단일 사용자 장치(110)를 포함한다. 그러나, 다른 실시예에서, 시스템 환경(200)은 더 많은 사용자 장치(110) 및/또는 더 많은 외부 시스템(120)을 포함할 수 있다.
사용자 장치(110)는 사용자 입력을 수신하고 네트워크(204)를 통하여 데이터를 전송하고 수신할 수 있는 하나 이상의 컴퓨팅 징차를 포함한다. 일 실시예에서, 사용자 장치(110)는 예컨대, 마이크로소프트 윈도우-호환 운영 시스템(OS), 애플 OS X 및/또는 리눅스 배포판을 실행하는 종래 컴퓨터 시스템이다. 다른 실시예에서, 사용자 장치(110)는 개인휴대용 단말기(PDA), 이동전화, 스마트폰 등과 같이 컴퓨터 기능을 가지는 장치일 수 있다. 사용자 장치(110)는 네트워크(204)를 통하여 통신하도록 구성된다. 사용자 장치(110)는 예컨대, 사용자 장치(110)의 사용자가 소셜 네트워킹 시스템(130)과 상호작용할 수 있게 하는 브라우저 애플리케이션과 같은 애플리케이션을 실행할 수 있다. 다른 실시예에서, 사용자 장치(110)는 iOS 4 및 ANDROID와 같이 사용자 장치(110)의 네이티브 운영 시스템 상에서 실행되는 애플리케이션 프로그래밍 인터페이스(API)를 통하여 소셜 네트워킹 시스템(130)과 상호작용한다.
일 실시예에서, 네트워크(204)는 표준 통신 설명 및/또는 프로토콜을 사용한다. 따라서 네트워크(204)는 이더넷, 802.11, WiMAX(worldwide interoperability for microwave access), 3G, 4G, CDMA, DSL(digital subscriber line) 등과 같은 설명을 사용하는 링크를 포함할 수 있다. 마찬가지로, 네트워크(204)에서 사용되는 네트워킹 프로토콜은 MPLS(multiprotocol label switching), TCP/IP(transmission control protocol/Internet protocol), UDP(user datagram protocol), HTTP(hypertext transport protocol), SMTP(simple mail transfer protocol), FTP(file transfer protocol)을 포함할 수 있다. 네트워크(204)를 통하여 교환되는 데이터는 HTML(hypertext markup language) 및 XML(extensible markup language)를 포함하는 기술 및/또는 포맷을 사용하여 표현될 수 있다. 또한, 모든 링크 또는 링크 중 일부는 SSL(secure sockets layer), TLS(transport layer security) 및 IPsec(Internet Protocol security)과 같은 종래 암호화 기술을 사용하여 암호화될 수 있다.
도 2는 소셜 네트워킹 시스템(130)의 블럭도를 포함한다. 소셜 네트워킹 시스템(130)은 웹 서버(208), 사용자 프로필 스토어(206), 컨텐츠 스토어(212), 에지 스토어(214), 행위 로거(216), 활동 로그(218), 인증 서버(222), 수집 모듈(132) 및 게시자 모듈(134)을 포함한다. 다른 실시예에서, 소셜 네트워킹 시스템(130)은 다양한 애플리케이션들에 대하여 추가의, 더 적은 또는 다른 모듈들을 포함할 수 있다. 네트워크 인터페이스, 보안 기능, 부하 균형기, 대체작동 서버, 관리 및 네트워크 동작 콘솔 등과 같은 종래 구성요소들은 시스템의 구성을 불명확하게 하지 않기 위하여 도시되지 않는다.
웹 서버(208)는 네트워크(204)를 통하여 소셜 네트워킹 시스템(130)을 하나 이상의 사용자 장치(110)에 연결한다; 웹 서버(208)는 웹 페이지 뿐 아니라 자바, 플래시, XML 등과 같은 다른 웹 관련 컨텐츠를 서비스한다. 웹 서버(208)는 인스턴트 메시지, 큐잉 메시지(예컨대, 이메일), 텍스트 및 SMS(단문 메시지 서비스) 메시지 또는 임의의 다른 적절한 메시징 기술을 사용하여 전송된 메시지와 같이, 소셜 네트워킹 시스템(130)과 사용자 장치(110) 사이의 메시지를 수신하고 라우팅하는 기능을 제공할 수 있다. 사용자는 예컨대 컨텐츠 스토어(212)에 저장된 이미지나 비디오 같은 정보를 업로드하도록 웹 서버(208)로 요청을 전송할 수 있다. 추가로, 웹 서버(208)는 iOS, ANDROID, webOS 및 RIM과 같은 네이티브 사용자 장치 운영 시스템으로 직접 데이터를 전송하기 위하여 API 기능을 제공할 수 있다.
행위 로거(216)는 소셜 네트워킹 시스템(130) 내 및/또는 외에서 사용자 행위에 관한 웹 서버(208)로부터의 통신을 수신할 수 있다. 행위 로거(216)는 사용자 행위를 추적하기 위하여 사용자 행위에 관한 정보를 행위 로그를 기록한다. 그러한 행위는 예컨대, 무엇보다, 다른 사용자와의 연결을 추가하는 것, 다른 사용자에게 메시지를 전송하는 것, 이미지를 업로드하는 것, 다른 사용자로부터 메시지를 판독하는 것, 다른 사용자와 관련된 컨텐츠를 열람하는 것, 다른 사용자에 의해 포스팅된 이벤트에 참석하는 것을 포함할 수 있다. 또한, 다른 객체들과 관련하여 설명된 다수의 행위들이 특정 사용자들을 안내되며 따라서 이러한 행위들은 역시 이들 사용자들과 연관될 수 있다.
행위 로그(218)는 소셜 네트워킹 시스템(130)뿐 아니라 소셜 네트워킹 시스템(130)으로 정보를 다시 통신하는 외부 웹사이트 상의 사용자 행위를 추적하기 위하여 소셜 네트워킹 시스템(130)에 의해 사용될 수 있다. 상술한 바와 같이 사용자들은 포스트 상에 코멘트하기, 링크 공유하기 및 모바일 장치를 통하여 물리적 위치에 체크인하기를 포함하여 소셜 네트워킹 시스템(130) 상의 다양한 객체들과 상호작용할 수 있다. 행위 로그(218)는 또한 외부 웹사이트 상의 사용자 행위들도 포함할 수 있다. 예컨대, 주로 할인된 가격으로 고급스러운 신발을 판매하는 전자 상거래(e-commerce) 웹사이트는 그 전자 상거래 웹사이트가 소셜 네트워킹 시스템의 사용자를 식별할 수 있게 하는 소셜 플러그인을 통하여 소셜 네트워킹 시스템(130)의 사용자를 인식할 수 있다. 소셜 네트워킹 시스템의 사용자는 고유하게 식별가능하기 때문에, 이러한 고급 신발 재판매업자와 같은 전자 상거래 웹사이트는 사용자들이 그러한 웹 사이트를 방문함에 따라 이러한 사용자들에 관한 정보를 사용할 수 있다. 행위 로그는 이력 열람, 클릭한 광고, 구매 활동 및 구매 패턴을 포함하는 이들 사용자들에 관한 데이터를 기록한다.
사용자 프로필 스토어(206)는 사용자 계정 정보 및 사용자에 대한 다른 관련 정보를 저장한다. 사용자 프로필 스토어(206)에 저장된 사용자 프로필 정보는 인명정보, 인구학 정보, 및 경력, 학력, 성별, 취미 또는 기호, 위치 등과 같은 다른 유형의 설명 정보(descriptive) 등을 포함하여 소셜 네트워킹 시스템(130)의 사용자들을 설명한다. 사용자 프로필은 또한 예컨대 이미지 또는 비디오와 같이 사용자에 의해 제공된 다른 정보를 저장할 수 있다. 특정 실시예에서, 사용자의 이미지는 이미지에 디스플레이되는 소셜 네트워킹 시스템(130)의 사용자들의 식별 정보로 태그될 수 있다. 사용자 프로필 스토어(206)는 또한 행위 로그에 저장되고 컨텐츠 스토어(212)의 객체 상에 수행된 행위들에 대한 참조를 유지한다.
에지 스토어(214)는 소셜 네트워킹 시스템(130)의 사용자들과 다른 객체들 사이의 연결을 설명하는 정보를 저장한다. 일부 에지들은 사용자들에 의해 정의될 수 있으며, 사용자들이 다른 사용자들과 그들의 관계를 특정할 수 있게 한다. 예컨대, 사용자들은 친구, 동료, 파트너 등과 같이 사용자의 현실세계 관계와 유사한 다른 사용자들과의 에지를 생성할 수 있다. 다른 에지들은 사용자가 소셜 네트워킹 시스템의 페이지에 관심을 표현하는 것, 소셜 네트워킹 시스템의 다른 사용자들과 링크를 공유하는 것 및 소셜 네트워킹 시스템의 다른 사용자들에 의해 이루어진 포스트 상에 코멘트하는 것과 같이 소셜 네트워킹 시스템(130)의 객체들과 상호작용할 때 생성된다. 에지 스토어(214)는 객체, 관심 및 다른 사용자들에 대한 친밀성 점수와 같이 에지에 관한 정보를 포함하는 에지 객체를 저장한다. 친밀성 점수는 사용자에 의해 수행되는 행위에 기초하여 소셜 네트워킹 시스템(130)의 객체, 관심 및 다른 사용자들에 대한 사용자의 친밀성을 평가하기 위하여 시간에 따라 소셜 네트워킹 시스템(130)에 의해 계산될 수 있다. 일 실시예에서, 사용자와 특정 객체 사이의 다수의 상호작용은 에지 스토어(214)의 하나의 에지 객체에 저장될 수 있다. 예컨대, 레이디 가가의 앨범 "Born This Way"로부터 다수의 노래를 재생하는 사용자는 노래에 대하여는 다수의 에지 객체들일 수 있으나 레이디 가가에 대하여는 단 하나의 에지 객체일 수 있다.
인증 서버(222)는 소셜 네트워킹 시스템(130)의 사용자들의 하나 이상의 개인정보 설정을 실행한다. 사용자의 개인정보 설정은 사용자와 관련된 특정 정보가 어떻게 공유될 수 있는지를 결정한다. 개인정보 설정은 사용자와 관련된 특정 정보의 특정 및 그 정보가 공유될 수 있는 엔터티 또는 엔터티들의 특정을 포함한다. 정보가 공유될 수 있는 엔터티의 예는 다른 사용자, 애플리케이션, 외부 시스템(120) 또는 잠재적으로 그 정보에 접근할 수 있는 임의의 엔터티를 포함할 수 있다. 사용자에 의해 공유될 수 있는 정보는 프로필 사진과 같은 사용자 프로필 정보, 사용자와 연관된 전화번호, 사용자의 연결, 연결의 추가와 같이 사용자에 의해 행해진 행위, 사용자 프로필 정보 변경 등을 포함한다.
개인정보 설정 특정은 서로 다른 입자성(granularity) 레벨로 제공될 수 있다. 일부 실시예에서, 개인정보 설정은 행위 유형, 객체 유형, 객체 특성 또는 그들의 임이의 조합을 특정한다. 일부 실시예에서, 개인정보 설정은 다른 사용자들과 공유될 특정 정보를 식별한다. 예컨대, 개인정보 설정은 회사 전화번호 또는 프로필 사진, 집 전화번호 및 상태를 포함하는 개인정보와 같은 관련 정보의 특정 세트를 식별한다. 대안으로, 개인정보 설정은 사용자와 연관된 모든 정보에 적용할 수 있다. 특정 정보에 접근할 수 있는 엔터티들의 세트의 특정 또한 다양한 입자성 레벨로 특정될 수 있다. 정보가 공유될 수 있는 엔터티들의 다양한 세트들은 예컨대 사용자의 모든 친구, 친구의 모든 친구, 모든 애플리케이션 또는 모든 외부 시스템(120)을 포함할 수 있다. 일 실시예는 엔트리들의 세트의 특정이 많은 수의 엔트리들을 포함하게 하며, 예컨대, 사용자는 특정 정보에 접근을 허락받은 외부 시스템(120) 및/또는 제3자 애플리케이션의 리스트를 제공할 수 있다. 다른 실시예는 특정이 정보에의 접근을 허락받지 않는 예외와 함께 엔터티들의 세트를 포함할 수 있게 한다. 예컨대, 사용자는 모든 외부 시스템(120)이 사용자의 직업 정보에 접근할 수 있게 하거나 직업 정보에 접근을 허락받지 않는 외부 시스템(12)의 리스트를 특정한다. 특정 실시예는 특정 정보에 접근을 허락받지 않은 예외의 리스트를 차단 리스트라 한다. 사용자에 의해 특정된 차단 리스트에 속하는 외부 시스템(120)들은 개인정보 설정에 특정된 정보로 접근하는 것에 차단된다. 정보 특정의 입자성 및 정보가 공유되는 엔터티 특정의 입자성의 다양한 조합이 가능함을 주지하라. 즉 모든 개인 정보는 친구와 공유될 수 있는 반면 모든 직업 정보는 친구의 친구와 공유될 수 있다.
일부 실시예에서, 인증 서버(222)는 사용자와 관련된 각 제3자 애플리케이션 또는 엔터티에 있어서 사용자에 대한 개인정보 설정을 저장한다. 예컨대, 개인정보 설정은 특정 제3자 애플리케이션이 적근할 수 있는 행위 유형, 객체 유형 및 객체 특성을 특정한다. 일부 실시예에서, 사용자에 대한 개인정보 설정은 모든 제3자 애플리케이션에 대한 개인정보 설정의 세트를 포함한다. 예컨대, 개인정보 설정은 모든 제3자 애플리케이션이 접근할 수 있는 행위 유형을 특정할 수 있다.
일부 실시예에서, 사용자에 대한 개인정보 설정은 컨텐츠를 게시하기 위한 설정을 저장한다. 게시 개인정보 설정은 제3자 애플리케이션이 사용자의 친구 또는 오직 사용자에게만 개인화된 컨텐츠를 게시할 수 있는지 여부를 결정한다. 게시 개인정보 설정은 또한 개인화된 컨텐츠가 게시될 수 있는 통신 채널을 특정할 수 있다. 예컨대, 개인화된 컨텐츠는 뉴스피드, 프로필 페이지, 사용자 활동의 타임라인을 포함하는 프로필 페이지, 애플리케이션 페이지, 그룹 페이지, 대시보드 페이지, 메시지 또는 통지로 게시될 수 있다. 인증 서버(22)는 각 제3자 애플리케이션에 대한 개인정보 설정 또는 사용자와 연관된 제3자 애플리케이션 모두에 대한 단일 세트를 포함할 수 있다.
인증 서버(222)는 사용자와 연관된 특정 정보가 사용자의 친구, 외부 시스템(120) 및/또는 다른 애플리케이션과 엔터티에 의해 접근될 수 있는지를 결정하기 위한 로직을 포함한다. 제3자 애플리케이션 또는 외부 시스템(120)은 하나 이상의 행위 유형, 하나 이상의 객체 유형, 하나 이상의 객체 특성 또는 그들의 임의의 조합에 기초하여 수집된 사용자에 관한 정보에 접근하기 위하여 인증 서버(222)로부터의 인증을 필요로 할 수 있다. 사용자의 개인정보 설정에 기초하여, 인증 서버(222)는 다른 사용자, 외부 시스템(120), 애플리케이션 또는 다른 엔터티가 사용자에 의해 행해진 행위에 관한 정보를 포함하여 사용자와 연관된 정보로의 접근을 허가받았는지를 결정한다. 일 실시예에서, 인증 서버(222)는 제3자 애플리케이션 또는 외부 시스템(120)이 하나 이상의 행위 유형, 하나 이상의 객체 유형, 하나 이상의 객체 특성 및 그들의 임의의 조합에 기초하여 수집된 사용자에 관한 정보에 접속할 수 있는지를 결정하기 위하여 사용자의 개인정보 설정을 사용한다. 사용자의 개인정보 설정은 어떤 다른 사용자, 애플리케이션, 외부 시스템 또는 다른 엔터티들이 사용자의 행위에 관한 데이터 또는 사용자와 연관된 다른 정보를 수신하도록 허가받았는지를 특정할 수 있다.
그래프 행위 및 그래프 객체 구조
도 3은 본 발명의 일 실시예에 따라 그래프 행위 및 그래프 객체와 그의 관계를 나타내는 정의된 그래프 구조의 고차 블럭도이다. 듣기 행위(310)라는 하나의 행위만이 도시되고 있지만, 소셜 네트워킹 시스템(130) 내에 정의될 수 있는 모든 가능한 행위들이 유효할 것이다. 예컨대, 사용자들은 제품, 음악, 스포츠 경기 및 영화와 같은 다양한 객체에 대하여 읽기, 구매하기, 판매하기, 보기, 원하기, 재생하기, 달성하기, 가져오기, 추천하기, 리뷰하기, 방문하기 및 코멘트하기를 할 수 있다. 소셜 네트워킹 시스템(130) 외부의 엔터티들은 소셜 네트워킹 시스템(130)의 소셜 그래프에 게시하기 위하여 이러한 그래프 행위 및 그래프 객체를 정의할 수 있다. 그래프 행위 및 그래프 객체는 소셜 네트워킹 시스템(130)뿐 아니라 외부 시스템(120)의 사용자에 의해 수행될 수 있다.
도 3에 도시되고 상술한 바와 같이, 실시예들은 인터넷 라디오 웹사이트와 같은 외부 시스템(120) 상에서 음악을 듣는 것을 포함한다. 듣기 행위(310)는 다른 외부 시스템(120)에 대하여 정의될 수 있으며, 네트워크(204)에 연결된 독립 데스크탑 애플리케이션, 팟캐스트, 인터넷을 통하여 방송되는 지상국(terretrial radio station), 가상 음악 보관 웹사이트 및 음악 스트리빙 가입자 서비스 웹사이트를 포함한다. 상술한 바와 같이, 일부 실시예에서 듣기 행위(310)와 같은 행위들은 개방형으로 정의될 수 있으며, 따라서 재생리스트, 팟캐스트 및 스트리밍 라이브러리와 같은 새로운 객체는 그림으로 보여질 수는 없지만 듣기 행위(310)가 취해질 수 있다. 듣기 행위(310)는 소셜 네트워킹 시스템(130)에 의해 제공된 툴을 통하여 소셜 네트워크 시스템(130) 외부의 엔터티에 의해 정의될 수 있으며, 일 실시예에서 소셜 네트워킹 시스템(130)에 의해 제공된 툴은 엔터티가 듣기 행위(310) 유형과 연관된 객체 유형을 포함하는 행위 특성을 정의할 수 있게 한다. 툴은 소셜 네트워킹 시스템(130) 상의 웹 페이지에 새로운 행위 유형을 노출하여 소셜 네트워킹 시스템(130) 외부의 엔터티들이 그 새로운 행위 유형에 접근할 수 있게 한다.
그래프 객체는 객체 특성을 포함하도록 소셜 네트워킹 시스템(130) 외부의 엔터티에 의해 정의될 수 있다. 노래 객체(304)의 객체 특성은 예컨대 타이틀, 기간, 아티스트 객체(306), 앨범 객체(314) 및 다수의 장르 객체(316)를 포함할 수 있다. 아티스트 객체(306)의 객체 특성은 예컨대 아티스트 이름, 앨범 객체(314), 다수의 장르 객체(316) 및 아티스트 출생년도 객체(308)를 포함할 수 있다. 무선국 객체(302)는 애플리케이션에 의해 생성된 노래 객체(304)와의 연관을 포함할 수 있다. 예컨대, 무선국 객체(302)는 무선국 객체(302)와 연관된 무선국을 듣는 사용자에게 재생될 다수의 노래 객체(304)의 재생리스트를 포함할 수 있다. 일 실시예에서, 객체는 음악, 설명, 이미지 및 URL과 같은 표준 객체 특성을 가진다. 다른 객체 특성들이 소셜 네트워킹 시스템(130) 외부의 엔터티에 의해 정의될 수 있다. 이러한 방식으로, 다수의 서로 다른 객체들이 서로 관련될 수 있다.
무선국 객체(302)는 "99.7FM" 또는 "브리트니 스피어스 채널"과 같은 이름을 가지도록 정의될 수 있다. 무선국 객체(302)는 회사에 의해 소유되거나 특정 인터넷 URL 상에 방송 등과 같은 특성을 포함할 수 있다. 무선국 객체(302)는 노래 객체(304)에 링크된다. 노래 객체(304)는 무선국 상에서 재생되는 하나의 노래를 나타낸다. 노래 객체(304)는 그 노래를 작곡한 아티스트 객체(306)에 링크된다. 아티스트 객체(306)는 아티스트가 태어난 출생연도를 나타내는 아티스트 출생년도 객체(308)에 링크될 수 있다. 예컨대, 아티스트 객체(306)가 "브리트니 스피어스"를 나타낸다면, 제3 개발자가 브리트니 스피어스가 1981년에 태어난 것을 알기 때문에 아티스크 객체(306)는 "1981" 출생년도 객체(308)에 링크될 수 있다. 마찬가지로 브리트니 스피어스의 노래인 "Till the World Ends"에 대한 노래 객체(304)의 소유자는 또한 그 노래 객체(304)를 "Femme Fatale"에 대한 앨범 객체(314) 및 "팝", "댄스-팝" 및 "일렉트로팝"에 대한 장르 객체(316)에 연관시킬 것이다. 그러한 정보는 상호정의되거나 데이터베이스에 저장된 그래프 객체에 관한 정보를 사용하여 자동으로 연관될 수 있다.
인터넷 라디오 웹사이트에 대한 제3자 애플리케이션은 일 실시예에서 소셜 네트워킹 시스템(130)에 의해 제공된 툴을 사용하여, 또는 다른 실시예에서 태그를 사용하여 마크업 언어 문서에 외부 시스템(120) 상의 웹 페이지에 객체를 설명하는 것에 의하여, 상술한 바와 같이 무선국, 노래, 아티스트, 아티스트 출생년도, 앨범, 장르에 대한 객체를 정의할 수 있다. 듣기 행위(310)는 동일하거나 다른 제3 개발자에 의해 또는 소셜 네트워킹 시스템(130)의 관리자에 의해 정의될 수 있다. 대부분의 행위와 마찬가지로, 듣기 행위(31)는 행위가 일어난 지정학적 위치를 식별하고 기록하기 위하여 위치 객체(312)와 연관될 수 있다. 듣기 행위(310)는 또한 행위를 수행하고 있는 사용자에 대한 사용자 프로필 객체(318)와 연관될 수 있다. 마지막으로, 듣기 행위(310)의 특성은 듣기 행위(310)가 얼마나 자주 수행되었는지를 식별하는 수집기 객체(320)를 포함할 수 있다. 일 실시예에서, 수행된 행위의 이러한 개수는 사용자, 위치, 사용자 그룹 또는 소셜 네트워킹 시스템(130) 내의 임의의 식별가능한 노드에 의해 파괴될 수 있다.
일 예로, 소셜 네트워킹 시스템(130)의 사용자는 인터넷 라디오 웹사이트를 방문하고 외부 시스템(120)에서 호스트되는 인터넷 라디오 웹사이트 상에 취해진 행위를 공유하는 것을 허락한다. 사용자가 무선국을 듣는 것과 같이 인터넷 라디오 웹사이트 상의 행위를 수행함에 따라, 제3자 애플리케이션은 소셜 네트워킹 시스템(130) 내의 그래프 객체 인스턴스를 생성하기 위하여 마크업 언어 문서로 태그를 인코딩할 수 있다. 사용자가 인터넷 라디오 웹사이트에서 음악을 듣는 것에 따라, 듣기 행위(310)는 사용자에 대한 사용자 프로필 객체(318)와 연관하여 행위 로그에 기록되거나 소셜 네트워킹 시스템과 통신할 수 있다. 행위 로그는 사용자 식별자, 그래프 행위의 행위 유형, 객체 식별자, 시간, 날짜 및 사용자가 노래를 스킵하기 전에 얼마나 오랫동안 노래를 들었는지와 같이 객체 특성 및 행위 특성값과 같은 다른 메타데이터를 포함할 수 있다. 사용자가 GPS 기능을 가지는 모바일 장치를 사용하고 있거나 또는 다시 말해 지정학적 위치가 이용가능하다면, 그 위치에 대한 위치 객체(312)는 듣기 행위(310)와 연관될 수 있다.
수집기 객체(320)는 행위가 수행된 횟수의 카운트를 관리하기 위하여 듣기 행위(310)와 연관될 수 있다. 일 실시예에서, 무선국 객체(302), 노래 객체(304), 아티스트 객체(306), 앨범 객체(314) 및 장르 객체(316)와 같은 임의의 객체는 제3 개발자 또는 소셜 네트워킹 시스템의 관리자에 의해 수집이 수행될 수 있는 객체로서 구성될 수 있다. 그래프 구조는 완전히 맞춤가능하기 때문에, 수집뿐 아니라 합산, 횟수, 거리, 평균, 표준 편차와 같은 다른 통계적 기능도 특정 객체 상에 수행될 수 있다. 예컨대, 아티스트 객체(306)에 의해 표현된 레이디 가가를 듣는데 소모되는 시간과 같은 관심 데이터는 구조화된 그래프 행위 및 그래프 객체의 단순 질의로부터 결정될 수 있으며, 소셜 네트워킹 시스템(130)의 사용자들의 임의의 세트에 대하여 계산될 수 있다. 사용자가 무선국 상의 노래를 듣는 것에 따라, 듣기 행위(310)는 해당 무선국 객체(302), 음악 객체(304)뿐 아니라 그 노래에 대하여 링크된 아티스트 객체(306), 앨범 객체(314) 및 장르 객체(316)에 연관될 수 있다. 아티스트 출생년도 객체(308)는 듣기 행위(310)에 직접 링크되지는 않는 대신 아티스트 객체(306)에 직접 링크된다. 따라서, 출생년도에 의해 정렬된, 재생된 탑 아티스트들과 같이 관심 데이터 시각화를 생성하기 위하여 구체화된 질의가 이용될 수 있다.
수집된 사용자 데이터의 제공
도 4a는 일 실시예로 수집 모듈(132)의 고차 블럭도를 좀 더 상세히 도시한다. 수집 모듈(132)은 API 요청 모듈(140) 및 응답 모듈(137)을 포함한다. 이들 모듈은 행위 유형, 객체 유형, 객체 특성 또는 이들의 조합에 기초하여 수집된 사용자 데이터에 대한 요청에 응답하기 위하여 다른 모듈과 협력할 수 있다.
API 요청 모듈(136)은 사용자 데이터에 대한 애플리케이션 프로그래밍 인터페이스 요청을 수신한다. 요청은 제3자 애플리케이션 또는 외부 시스템에 의해 전송될 수도 있다. 요청은 사용자 식별자 및 하나 이상의 파라미터들을 포함할 수 있다. 사용자 식별자는 사용자 또는 사용자의 사용자 프로필을 고유하게 식별한다. 파라미터들은 하나 이상의 행위 유형, 하나 이상의 객체 유형, 하나 이상의 객체 특징 또는 이들의 임의의 조합을 특정할 수 있다. 행위 유형의 예는 "듣기", "재생하기" 및 "시청하기"를 포함한다. 객체 유형의 예는 체크인, 사진, 상태 메시지 업데이트, 음악의 장르 또는 노래가 재상된 횟수를 포함한다. 일부 실시예에서, 요청은 요청의 송신자를 식별하는 정보를 포함한다. 예컨대, 요청은 제3자 애플리케이션 또는 외부 시스템을 식별하는 정보를 포함할 수 있다.
API 요청 모듈(136)은 요청의 송신자가 요청된 정보로의 접근이 인증되었는지 여부를 결정한다. API 요청 모듈(136)은 인증 서버(222)로 요청의 송신자 및 요청 파라미터를 식별하는 정보를 전송한다. API 요청 모듈(136)이 인증 서버(222)로부터 인증을 수신하면, API 요청 모듈(136)은 응답 모듈(137)로 그 요청을 전송한다. 그렇지 않으면, API 요청 모듈(136)은 송신자에게 그들이 적절한 접근 권한을 가지고 있지 않음을 가리키는 메시지를 전송한다. 대안으로, 다이얼로그 박스가 허락을 요청하는 사용자에게 제시될 수 있다.
응답 모듈(137)은 API 요청의 하나 이상의 파라미터들에 기초하여 소셜 네트워킹 시스템에 의해 유지되는 그래프 객체로부터 사용자의 데이터를 수집하고 수집된 사용자 데이터는 요청의 송신자에게 제공한다. 일 실시예에서, "수집"이라는 용어는 요청된 정보를 검색, 수집 또는 모으는 것을 의미한다. 이 예에서, 응답 모듈(137)은 그래프 객체를 검색한 다음 그래프 객체 또는 그래프 객체로부터의 정보를 요청의 송신자에게 전송한다. 예컨대, 응답 모듈(137)은 사용자의 달리기 활동에 관한 정보를 포함하는 그래프 객체를 검색하여 그 그래프 객체를 요청의 송신자에게 전송할 수 있다. 일 실시예에서, "수집"이라는 용어는 정보의 여러 세트에 기초하여 정보를 결정하는 것을 의미한다. 따라서, 일 실시예에서, 수집 정보는 정보의 여러 세트의 조합일 수 있다. 이 경우, 응답 모듈(137)은 요청된 정보를 분석하고 요청된 정보에 기초하여 정보를 결정한다. 결정된 정보는 요청된 정보에 관한 요약 또는 메트릭일 수 있다. 예컨대, 요청된 정보가 사용자가 시간에 따라 하이킹한 거리를 설명할 때, 응답 모듈(137)은 사용자가 매주 하이킹한 평균 거리에 관한 통계로 요청된 정보를 수집할 수 있다.
일 실시예에서, 응답 모듈(137)은 소셜 네트워킹 시스템(130) 내의 특정 노드 및 그 노드와 관련된 에지에 대한 요청에 응답한다. 예컨대, 온라인 음악 스트리밍 서비스에 대한 제3자 애플리케이션은 저스틴 비버와 관련된 사용자 상호작용을 식별하고자 할 수 있다. 그 결과, 온라인 음악 스트리밍 서비스에 대한 제3자 애플리케이션은 커스텀 아티스트 객체를 저스틴 비버로 특정하는 이 정보를 요청하는 API 콜을 만들 수 있다. 일 실시예에서, 응답 모듈(137)은 제3자 애플리케이션에 의해 요청된 포맷의 사용자 상호작용 정보로 응답할 수 있다. 다른 실시예에서, 응답 모듈(137)은 에지 유형 및 사용자에 관한 정보를 포함하는 특정 노드와 사용자 상호작용에 관한 에지 정보 리스팅으로 특정 노드에 관한 에지 정보의 요청에 응답한다. 정교한 제3자 애플리케이션은 인구통계 필터, 위치 필터 등을 포함하는 것과 같이 사용자 상호작용 정보를 필터링하기 위하여 API 콜을 맞춤화할 수 있다.
일 예로, 응답 모듈(137)은 특정 행위 유형 및 특정 객체 특성을 가지는 사용자 상호작용에 관한 요청에 응답한다. 예컨대, 제3자 애플리케이션은 "듣기" 행위 유형 및 "클래식" 객체 특성을 특정하는 소셜 네트워킹 시스템에 대한 API 콜을 생성하는 것에 의해 사용자가 들었던 클래식 음악 노래에 관한 정보를 요청한다. 다른 예로, 제3자 애플리케이션은 행위 유형 "시청하기" 및 객체 특성 "액션"를 특정하는 API 콜을 생성하는 것에 의하여 사용자가 좋아하는 액션 영화에 관한 정보를 요청할 수 있다.
다른 예로, 응답 모듈(137)은 공통 객체 특성을 가지는 객체들에 수행된 다수의 행위 유형에 관한 정보의 요청에 응답한다. 예컨대, 스타벅스에 관한 제3자 애플리케이션은 읽기, 마시기, 있기 등과 같이 스타벅스 위치에서 임의 종류의 행위를 수행하는 소셜 네트워킹 시스템의 사용자에 관한 정보를 모으길 원할 수 있다. 특정 스타벅스 매장은 소셜 네트워킹 시스템 상의 개별 노드를 가질 수 있으나, 스타벅스와 제휴되어 있음과 커피숍이라는 공통 객체 특성을 공유할 수 있다. 그 결과, 다수의 행위 우형 및 다수의 객체 특성을 포함하는 다수의 API 콜들이 수신될 수 있다. 일부 실시예에서, 응답 모듈(137)은 상술한 바와 같이 수집 객체를 제공한다.
개인화된 컨텐츠 게시
도 4b는 일 실시예로 수집 모듈(132)의 고차 블럭도를 좀 더 자세히 도시한다. 그래프 게시자 모듈(134)은 작성자 입력 모듈(150) 및 개인화된 스토리 모듈(152)을 포함한다. 이 모듈들은 소셜 네트워킹 시스템으로 수집된 사용자 데이터에 기초하여 생성된 개인화된 컨텐츠를 게시하기 위하여 협력한다.
그래프 게시자 모듈(134)은 소셜 네트워킹 시스템으로 개인화된 컨텐츠를 게시한다. 제3자 애플리케이션은 수집 모듈(132)에 의해 제공된 사용자 데이터의 수집에 기초하여 사용자에 관한 개인화된 컨텐츠를 생성할 수 있다. 일부 실시예에서, 개인화된 컨텐츠를 게시하기 전에, 그래프 게시자 모듈(134)은 개인화된 컨텐츠를 게시할 수 있는 인증을 획득하기 위하여 인증 서버(222)로 요청을 전송한다. 사용자에 대한 개인정보 설정은 소셜 네트워킹 시스템으로 컨텐츠의 게시가 허용된 엔터티들을 특정할 수 있다. 일부 실시예에서, 사용자에 대한 개인정보 설정은 어디에 개인화된 컨텐츠가 게시될 수 있는지 및 누가 개인화된 컨텐츠를 볼 수 있는지를 특정한다. 일부 실시예에서, 개인정보 설정은 사용자의 연결들이 컨텐츠를 볼 수 있는지 여부를 특징할 수 있다.
개인정보 설정은 또한 외부 시스템(120), 제3자 애플리케이션 또는 임의의 다른 엔터티에 의하여 사용자가 수집된 사용자 데이터 또는 사용자와 연관된 다른 데이터로의 접근을 조정할 수 있게 한다. 추가로, 개인정보 설정은 다양한 제3자 애플리케이션 및/또는 외부 시스템(120) 사이에서 사용자와 연관된 데이터의 공유를 조정할 수 있다; 예컨대, 개인정보 설정은 제3자 애플리케이션이 사용자와 연관된 수집된 데이터에 접근할 수 있게 하고 또한 제3자 애플리케이션이 개인정보 설정에 의해 특정된 하나 이상의 추가 제3자 애플리케이션과 수집된 데이터를 공유할 수 있게 한다. 제3자 애플리케이션 및/또는 외부 시스템(120) 사이에서 데이터를 공유함으로써, 사용자에 관한 좀 더 정확한 정보를 유지하기 위하여 제3자 애플리케이션 또는 외부 시스템(120)에게 사용자에 관한 추가 정보가 이용가능해질 수 있다. 일 실시예에서, 사용자가 그러한 접근을 허용하는 것으로 판단되면, 제3자 애플리케이션 또는 외부 시스템(120)은 소셜 네트워킹 시스템에 용자의 수집된 데이터의 접근에 대한 보상을 한다.
그래프 게시자 모듈(134)은 개인화된 컨텐츠의 유형에 기초하여 선택된 하나 이상의 모듈들을 통하여 소셜 네트워킹 시스템으로 개인화된 컨텐츠를 게시한다. 일부 실시예에서, 개인화된 컨텐츠는 컨텐츠가 어떻게 사용자에게 제시되어야 하는지를 특정하는 정보를 포함할 수 있다. 예컨대, 개인화된 컨텐츠는 개인화된 컨텐츠가 뉴스 스토리에 게시되어야 하거나 작성자 인터페이스에 삽입되어야 함을 특정하는 정보를 포함할 수 있다. 일 실시예에서, 제3자 애플리케이션 또는 외부 시스템(120)은 소셜 네트워킹 시스템으로 게시될 개인화된 컨텐츠를 특정할 수 있으며, 게시된 컨텐츠로의 접근을 조정하는 개인정보 설정을 특정할 수 있다. 예컨대, 제3자 애플리케이션에 의해 게시된 컨텐츠로의 접근은 사용자로 제한되거나 사용자 및 사용자에 연결된 다른 사용자들로 제한될 수 있다. 추가 실시예로서, 제3자 애플리케이션 또는 외부 시스템(120)은 관련 주제를 가지는 다른 제3자 애플리케이션 또는 외부 시스템(120)이 게시된 컨텐츠에 접근하게 할 수 있다. 예컨대, 비디오 스트리밍 애플리케이션은 다른 비디오 스트리밍 애플리케이션이 게시된 컨텐츠에 접근할 수 있게 한다. 제3자 애플리케이션 또는 외부 시스템(120)에 의해 특정된 개인정보 설정 및 사용자에 의해 특정된 개인정보 설정에 근거하여, 광고주는 게시된 컨텐츠에 접근하는 제3자 애플리케이션, 외부 시스템(120), 사용자 및/또는 소셜 네트워킹 시스템 중 하나 이상에 보상할 수 있다. 예컨대, 광고주는 게시된 정보에 기초하여 광고를 타겟팅할 수 있다.
그래프 게시자 모듈(134)은 작성자 인터페이스에 개인화된 컨텐츠를 삽입하는 작성자 입력 모듈(150)을 포함한다. 개인화된 컨텐츠는 이미지, 링크, 비디오, 텍스트 또는 그들의 임의의 조합을 포함할 수 있다. 일부 실시예에서, 작성자 인터페이스는 상태 메시지 업데이트에 대한 컨텐츠를 수용한다. 작성자 인터페이스에 의해 생성된 컨텐츠 아이템은 사용자 및/또는 사용자의 연결들에게 디스플레이될 수 있다.
그래프 게시자 모듈(134)은 개인화된 컨텐츠를 뉴스 스토리로 게시하는 개인화된 스토리 모듈(152)을 포함한다. 뉴스 스토리는 사용자의 뉴스피드 및/또는 사용자의 연결들의 뉴스피드에 디스플레이될 수 있다. 뉴스 스토리는 사용자 및 사용자의 연결들 중 하나 이상을 태그할 수 있다. 예컨대, 사용자가 사용자의 친구들 중 두 명과 서핑하러 갔음을 설명하는 뉴스 스토리는 뉴스 스토리 내에 사용자 및 사용자의 친구들을 태그할 수 있다.
개인화된 컨텐츠는 수집된 사용자 데이터로의 통찰을 제공할 수 있다. 예컨대, 수집된 데이터가 사용자의 달리기, 바이킹 및 하이킹 활동에 관한 것인 경우, 개인화된 컨텐츠는 사용자의 활동에 관한 통계를 포함할 수 있으며, 사용자에게 추가 행위들에 대한 추천을 제공할 수 있다. 개인화된 컨텐츠는 또한 사용자가 목표를 향한 진행을 좀 더 쉽게 확인하거나 목표의 달성을 식별할 수 있도록 사용자의 목표를 행한 진행 및 달성을 보고할 수 있다.
개인화된 컨텐츠는 제3자 애플리케이션에 대한 페이지 또는 사용자의 뉴스피드, 프로필 페이지 또는 사용자의 활동의 타임라인을 포함하는 페이지에 디스플레이될 수 있다. 대안으로, 개인화된 컨텐츠는 통지 또는 경고를 통하여 사용자에게 제시될 수 있다. 일부 실시예에서, 개인화된 컨텐츠는 하나 이상의 사용자-특정 조건들이 만족될 때 사용자에게 제시될 수 있다. 예컨대, 임계에 도달되거나 목표가 달성되거나 중요한 단계에 다다르거나 또는 임의의 다른 적절한 조건이 특정되는 경우, 개인화된 컨텐츠를 포함하는 통지가 사용자에게 전송되거나 개인화된 컨텐츠가 사용자 및/또는 사용자에 연결된 사용자들에게 뉴스피드 스토리로 게시된다.
일부 실시예에서, 개인화된 컨텐츠는 사용자에게만 접근이 허용된 페이지에 게시된다. 예컨대, 사용자가 하나 이상의 제3자 애플리케이션으로부터 생성된 개인화된 커텐츠를 포함하는 개인정보 페이지(예컨대, 대시보드 페이지)를 가질 수 있다. 일부 실시예에서, 개인화된 컨텐츠는 사용자의 연결과 같은 다른 사용자와 사용자의 정보의 비교를 제공할 수 있다. 예컨대, 개인화된 컨텐츠는 사용자의 실행 시간이 사용자의 연결의 실행 시간과 어떻게 비교되는지를 나타내는 차트를 제시할 수 있다. 개인화된 컨텐츠는 또한 사용자와 연결된 다른 사용자들에게 디스플레이될 수도 있다. 예컨대, 개인화된 컨텐츠는 소셜 네트워킹 시스템 내의 사용자의 연결들 및 사용자의 연결들의 연결들에 디스플레이될 수 있다. 다른 방식으로 말하면, 개인화된 컨텐츠는 사용자의 1차 및 2차 연결에 디스플레이될 수 있다.
수집된 사용자 데이터 제공을 위한 프로세스
도 5는 행위 유형에 기초하여 수집된 사용자 데이터를 제3자 애플리케이션에 제공하는 프로세스(500)의 흐름도를 도시한다. 프로세스(500)는 하나 이상의 프로세서 및 비-일시적 메모리를 가지는 서버 시스템(예컨대, 소셜 네트워킹 시스템(130))에서 수행된다. 비-일시적 메모리는 하나 이상의 프로세서에 의해 수행될 하나 이상의 프로그램들을 저장한다. 하나 이상의 프로그램은 프로세스(500)를 위한 명령어들을 포함한다.
이 프로세스(500)에서, 소셜 그래프는 소셜 네트워킹 시스템에 의해 유지된다. 소셜 그래프는 소셜 네트워킹 시스템의 사용자들의 행위에 관한 데이터를 포함하며, 여기서 행위는 행위 유형을 가진다. 좀 더 구체적으로, 소셜 그래프는 하나 이상의 행위 유형들을 가지는 하나 이상의 행위를 나타내는 에지 객체를 포함한다. 에지 객체는 소셜 그래프의 하나 이상의 그래프 객체들 사이의 관계를 가리킨다. 에지 객체는 다른 그래프 객체와 사용자의 상호작용에 관한 정보를 저장할 수 있다. 예컨대, 사용자가 뉴스 스토리에 코멘트한 경우, 에지는 사용자에 관한 그래프 객체와 뉴스 스토리에 관한 그래프 객체 사이에 생성 또는 업데이트될 수 있다. 일부 실시예에서, 소셜 네트워킹 시스템에 의해 유지되는 소셜 그래프 내의 에지 객체들 중 적어도 하나는 소셜 네트워킹 시스템의 사용자에 의해 수행되는 행위에 관한 정보 아이템들을 저장한다. 일부 실시예에서, 소셜 네트워킹 시스템에 의해 유지되는 소셜 그래프 내의 에지 객체들 중 적어도 하나는 소셜 네트워킹 시스템 내의 사용자 연결들의 상호작용을 설명하는 정보를 포함한다.
소셜 네트워킹 시스템의 사용자에 대한 개인정보 설정이 유지(502)된다. 개인정보 설정은 제3자 애플리케이션에 의해 접근가능한 사용자와 연관된 하나 이상의 행위 유형을 특정한다. 구체적으로, 개인정보 설정은 제3자 애플리케이션에 의해 접근가능한 사용자와 연관된 에지 객체들의 하나 이상의 행위 유형을 특정하며, 여기서 제3자 애플리케이션은 소셜 네트워킹 시스템과 구별되는 엔터티에 의해 유지된다. 개인정보 설정은 사용자로부터 수신될 수 있다. 구체적으로, 사용자에 대한 개인정보 설정은 사용자에 의해 특정될 수 있다. 예컨대, 사용자는 제3자 애플리케이션이 "보기", "재생하기", "듣기" 및 "공유하기"의 행위들과 관련된 사용자의 상호작용에 관한 정보를 접속할 수 있음을 특정할 수 있다. 사용자는 서로 다른 제3자 애플리케이션에 대하여 서로 다른 개인정보 설정을 특정할 수 있다. 예컨대, 사용자는 하나의 제3자 애플리케이션에 대한 제1 세트의 개인정보 보호를 특정하고 다른 제3자 애플리케이션에 대하여 제2 세트의 개인정보 보호를 설정할 수 있다. 일부 실시예에서, 개인정보 설정은 제3자 애플리케이션에 의해 접근될 수 있는 사용자와 연관된 하나 이상의 객체 유형을 특정한다. 예컨대, 제3자 애플리케이션에 대한 개인정보 설정은 그 제3자 애플리케이션이 사용자와 연관된 컨텐츠 아이템, 이벤트 및 메시지에 접근할 수 있음을 특정할 수 있다. 일부 실시예에서, 개인정보 설정은 하나 이상의 객체 특성들을 특정할 수 있다. 예컨대, 개인정보 설정은 레스토랑의 유형 또는 영화의 장르를 특정할 수 있다.
사용자와 연관된 사용자 행위는 복수의 소스로부터 수신(504)된다. 좀 더 구체적으로, 사용자 행위에 관한 정보는 복수의 소스로부터 수신되며, 여기서 행위는 행위 유형을 가진다. 일부 실시예에서, 사용자 행위에 관한 정보를 포함하는 에지 객체가 복수의 소스로부터 수신된다. 복수의 소스는 제3자 애플리케이션 및 외부 시스템을 포함할 수 있다. 일부 실시예에서, 사용자 행위가 복수의 소스로부터 수신된다. 예컨대, 복수의 소스는 적어도 두 개의 서로 다른 제3자 애플리케이션 또는 적어도 두 개의 서로 다른 외부 시스템을 포함한다. 에지 객체는 사용자 또는 제3자 애플리케이션에 의해 소셜 네트워킹 시스템으로 전송될 수 있다. 일부 실시예에서, 에지 객체는 소셜 네트워킹 시스템에 의해 유지되는 소셜 그래프로부터 검색 또는 식별된다. 일부 실시예에서, 복수의 소스는 개인정보 설정에 특정된 제3자 애플리케이션을 포함하지 않는다. 에지 객체는 소셜 네트워킹 시스템 상의 그리고 소셜 네트워킹 시스템 밖의 사용자의 활동을 설명하는 정보를 포함할 수 있다. 일부 실시예에서, 에지 객체 중 적어도 하나는 소셜 네트워킹 시스템의 사용자 연결의 활동을 설명하는 정보를 포함한다.
제3자 애플리케이션으로부터 사용자 행위에 관한 정보의 요청이 수신(506)된다. 좀 더 구체적으로, 제3자 애플리케이션으로부터 사용자와 연관된 에지 객체에 관한 정보의 요청이 수신된다. 일부 실시예에서, 요청은 API 콜로부터 수신된다. 일부 실시예에서, 요청은 하나 이상의 행위 유형을 특정한다. 예컨대, 요청은 "달리기", "수영" 및 "자전거"의 행위 유형을 특정할 수 있다. 일부 실시예에서, 요청은 하나 이상의 객체 유형을 특정한다. 예컨대, 요청은 컨텐츠 아이템, 이벤트 및 지정학적 위치를 특정할 수 있다. 일부 실시예에서, 요청은 하나 이상의 객체 특성을 특정한다. 예컨대, 요청은 지정학적 위치를 특정할 수 있다. 일부 실시예에서, 요청은 하나 이상의 객체 유형을 특정할 수 있다. 예컨대, 요청은 체크인, 포스팅된 링크, 사진 및 상태 메시지 업데이트를 특정할 수 있다. 일부 실시예에서, 요청은 행위 유형, 객체 유형 및 객체 특성의 조합을 특정한다. 예컨대, 요청은 "재생" 행위 유형, "노래" 객체 유형 및 노래의 장르 또는 노래에 대한 임계 재생 횟수의 객체 특성을 특정할 수 있다. 일부 실시예에서, 요청에 특정된 행위 유형들 중 적어도 하나는 소셜 네트워킹 시스템 외부의 엔터티에 의해 정의된다. 예컨대, 제3자 애플리케이션이 "운동" 행위 유형을 특정할 수 있다.
사용자와 연관된 하나 이상의 행위에 관한 데이터가 개인정보 설정에 근거하여 수집(508)된다. 일부 실시예에서, 데이터는 개인정보 설정을 조건으로 사용자와 연관된 소셜 그래프의 하나 이상의 에지 객체로부터 수집된다. 일부 실시예에서, 데이터는 사용자와의 연결을 형성한 사용자들과 연관된 하나 이상의 에지 객체로부터 수집(508)된다. 다른 방식으로 말하면, 데이터는 사용자 연결의 활동에 관한 정보를 포함하는 하나 이상의 에지 객체로부터 수집될 수 있다. 일부 실시예에서, 데이터는 요청에 특정된 행위 유형, 객체 유형 또는 객체 특성과 매칭되는 하나 이상의 에지 객체로부터 수집된다. 데이터는 행위 유형, 객체 유형 또는 객체 특성의 조합과 매칭되는 하나 이상의 에지 객체로부터 수집될 수 있다. 예컨대, 요청은 행위 "재생"을 특정할 수 있으며, 객체 유형은 "노래"일 수 있고, 객체 특성은 노래에 대한 재생의 임계 횟수를 특정할 수 있으며, 데이터는 임계 횟수 동안 사용자에 의해 재생된 노래 객체로부터 수집될 수 있다. 일부 실시예에서, 데이터는 소셜 네트워킹 시스템 내의 사용자의 연결에 관한 정보를 포함한다. 예컨대, 요청이 "함께" 행위 유형을 특정한 경우, 소셜 네트워킹 시스템은 사용자와 함께 있는 모든 사람의 프로필 정보를 수집할 수 있다.
수집된 데이터는 제3자 애플리케이션에 제공(510)된다. 일부 실시예에서, 수집된 데이터는 그래프 객체로서 제3자 애플리케이션에 제공된다.
개인화된 컨텐츠 게시를 위한 프로세스
도 6은 소셜 네트워킹 시스템에 개인화된 컨텐츠를 게시하는 프로세스(600)의 흐름도를 도시한다. 프로세스(600)는 하나 이상의 프로세서 및 비-일시적 메모리를 가지는 서버 시스템(예컨대, 소셜 네트워킹 시스템(130))에서 수행된다. 비-일시적 메모리는 하나 이상의 프로세서에 의해 실행될 하나 이상의 프로그램을 저장한다. 하나 이상의 프로그램은 프로세서(600)를 위한 명령어들을 포함한다.
이 프로세서(600)에서, 제3자 애플리케이션으로부터 사용자와 연관된 행위에 관한 정보에 대한 요청이 수신(602)된다. 일부 실시예에서, 제3자 애플리케이션으로부터의 요청은 사용자와 연관된 에지 객체에 관한 정보를 요청한다. 요청은 하나 이상의 행위 유형, 하나 이상의 객체 유형, 하나 이상의 객체 특성 또는 그들의 임의의 조합을 특정한다. 사용자와 연관된 하나 이상의 행위에 관한 데이터가 개인정보 설정에 근거하여 수집된다. 일부 실시예에서, 데이터는 사용자와 연관된 소셜 그래프의 하나 이상의 에지 객체로부터 수집된다. 일부 실시예에서, 데이터는 사용자와의 연결을 확립한 사용자들과 연관된 소셜 그래프의 하나 이상의 에지 객체로부터 수집된다. 일부 실시예에서, 데이터는 요청에 특정된 행위 유형, 객체 유형 또는 객체 특성과 매칭되는 하나 이상의 에지 객체로부터 수집된다. 수집된 데이터는 제3자 애플리케이션에 제공(606)된다.
사용자에 대하여 개인화된 컨텐츠가 제3자 애플리케이션으로부터 수신(608)된다. 제3자 애플리케이션은 수집된 데이터를 사용하여 개인화된 컨텐츠를 생성한다. 일부 실시예에서, 개인화된 컨텐츠는 수집된 데이터에 설명된 사용자 활동에 관한 통계를 포함한다. 예컨대, 수집된 데이터가 사용자의 달리기 활동에 관한 정보 또는 통찰을 포함하는 경우, 통계는 사용자가 일주일 동안 달린 평균 거리를 포함할 수 있다. 일부 실시예에서, 개인화된 데이터는 목표를 행한 사용자의 진행을 나타낸다. 예컨대, 사용자는 한달에 10마일 달리기의 목표를 가질 수 있고 개인화된 컨텐츠는 목표를 향한 사용자의 진행을 나타낼 수 있다. 일부 실시예에서, 개인화된 데이터는 사용자의 연결 중 하나 이상에 관한 정보를 포함한다. 일부 실시예에서, 개인화된 컨텐츠는 사용자의 활동과 사용자 연결 중 하나 이상의 활동의 비교를 포함한다. 예컨대, 개인화된 컨텐츠는 사용자의 달리기 시간과 연결의 달리기 시간의 비교를 보여줄 수 있다.
일부 실시예에서, 개인화된 컨텐츠는 작성자 인터페이스에 삽입된다. 예컨대, 개인화된 컨텐츠는 상태 메시지 업데이트를 포스팅하기 위한 작성자 인터페이스에 삽입될 수 있다. 일부 실시예에서, 개인화된 컨텐츠는 뉴스 스토리에 삽입되어 사용자의 뉴스피드 또는 프로필 페이지에 디스플레이된다. 일부 실시예에서, 뉴스 스토리는 사용자의 연결들에게 디스플레이된다. 뉴스 스토리는 뉴스 스토리에 언급된 하나 이상의 사용자들을 태그할 수 있다.
개인화된 컨텐츠는 소셜 네트워킹 시스템에 의해 유지되는 소셜 그래프 내에 그래프 객체에 저장(610)된다. 일부 실시예에서, 개인화된 컨텐츠를 저장하는 그래프 객체는 수집된 데이터와 연관된 하나 이상의 에지 객체와 연관된다. 개인화된 컨텐츠는 소셜 네트워킹 시스템의 하나 이상의 페이지에 게시될 수 있다. 예컨대, 뉴스 스토리는 사용자만이 볼 수 있는 페이지(예컨대, 대시보드 페이지)에 게시될 수 있다.
예시적인 동작
도 7은 수집된 데이터로부터 생성된 개인화된 컨텐츠를 게시하는 예의 상호작용도이다. 도 7의 예에서, 제3자 비디오 스트리밍 애플리케이션(705)은 소셜 네트워킹 시스템(130)으로부터 수집된 데이터로부터 개인화된 컨텐츠를 생성한다; 그러나, 임의의 제3자 애플리케이션 또는 외부 시스템(120)이 개인화된 컨텐츠를 생성할 수 있다. 사용자는 제3자 비디오 스트리밍 애플리케이션(705)과 같은 제3자 비디오 스트리밍 애플리케이션이 사용자와 연관된 특정된 행위 유형에 접근하게 하는 하나 이상의 개인정보 설정을 유지(710)한다. 이 예에서, 개인정보 설정은 제3자 비디오 스트리밍 애플리케이션(705)이 "보기", "구매하기", "시청하기", "재생하기", "듣기" 또는 "공유하기"의 행위 유형에 접근할 수 있게 한다. 추가 개인정보 설정은 사용자가 다른 제3자 애플리케이션에 의해 접근가능한 행위 유형을 다르게 조정할 수 있도록 추가 제3자 비디오 스트리밍 애플리케이션에 대하여 유지(710)될 수 있다; 예컨대, 개인정보 설정은 사용자가 다른 제3자 비디오 스트리밍 애플리케이션이 접근가능한 행위 유형을 맞춤화하도록, 추가 제3자 비디오 스트리밍 애플리케이션이 "시청하기", "구매하기" 또는 "재생하기"의 행위 유형들에 접근할 수 있하게 한다.
다른 행위 유형을 가지고 사용자와 연관된 행위들이 다양한 소스로부터 수신(720)된다. 예컨대, "시청하기" 행위 유형을 가지는 행위는 소셜 네트워킹 시스템을 통하여 비디오 데이터를 보는 사용자로부터 수신(720)되거나, "공유하기" 행위 유형을 가지는 행위는 사용자가 다른 소셜 네트워킹 시스템 사용자와 비디오 데이터를 공유할 때 수신(720)된다. 소셜 네트워킹 시스템 밖에서 수행되는 행위 또한 수신될 수 있다. 예컨대, 온라인 마켓플레이스로부터 영화 또는 다른 온라인 비디오 컨텐츠를 구매한 사용자는 "구매하기" 행위 유형을 가지는 행위로 수신(720)된다.
제3자 비디오 스트리밍 애플리케이션(705)은 사용자 행위에 관한 정보를 요청(725)하고, 소셜 네트워킹 시스템이 제3자 비디오 스트리밍 애플리케이션(705)으로부터 요청을 수신한 경우, 행위 유형 및/또는 객체 유형이 그 요청으로부터 추출되어 제3자 비디오 스트리밍 애플리케이션과의 통신을 위한 데이터를 식별하기 위하여 사용된다. 예컨대, 제3자 비디오 스트리밍 애플리케이션(705)은 특정 행위를 검색하기 위하여 "구매하기", "시청하기" 및 공유하기" 행위 유형을 요청(725)한다. 제3자 비디오 스트리밍 애플리케이션(705)이 검색된 데이터를 더 상세히 설명하게 하는 추가 정보가 요청에 포함될 수 있다. 예컨대, 제3자 비디오 스트리밍 애플리케이션(705)은 영화를 시청할 때 사용자가 있는 영화관 객체를 식별하기 위하여 영화관과 연관된 지정학적 위치를 특정할 수 있거나 사용자에 의해 시청되거나 구매된 컨텐츠와 연관된 페이지를 식별하기 위하여 소셜 네트워킹 시스템 내의 페이지를 식별할 수 있다.
요청 내의 조건을 만족하는 데이터가 수집(730)되어 제3자 비디오 스트리밍 애플리케이션(705)에 제공(735)된다. 예컨대, 데이터는 사용자가 구매, 시청 또는 공유한 컨텐츠를 설명하는 데이터를 검색하기 위하여 "구매하기", "시청하기" 또는 "공유하기" 행위 유형을 가지는 에지 객체로부터 수집(730)된다. 마찬가지로 사용자가 요청에 특정된 지정학적 위치에 있을 때 시청한 컨텐츠가 수집(730)되거나 또는 사용자가 시청하거나 구매한 컨텐츠와 연관된 페이지가 수집(730)되어 제3자 비디오 스트리밍 애플리케이션(705)으로 제공(735)된다.
수집된 데이터에 기초하여, 제3자 비디오 스트리밍 애플리케이션(705)은 사용자에 대한 개인화된 컨텐츠를 생성(740)한다. 예컨대, 개인화된 컨텐츠는 사용자가 가장 자주 시청한 비디오 데이터를 식별하거나, 특정 기간 동안 사용자에 의해 시청되거나 공유된 컨텐츠를 식별하거나, 사용자가 특정 지정학적 위치에 있는 동안 시청된 컨텐츠를 식별한다. 일부 실시예에서, 개인화된 컨텐츠는 특정 영화 리스트를 시청하는 것과 같은 목표를 향한 사용자의 진행을 나타낸다. 개인화된 컨텐츠는 하나 이상의 특정 조건을 만족하는 수집된 데이터에 기초하여 생성(740)될 수 있다. 예컨대, 제3자 비디오 스트리밍 애플리케이션(705)은 수집된 데이터가 사용자가 특정 영화를 시청했거나 특정 위치에 체크인하는 동안 특정된 영화를 시청했음을 나타낸다면 개인화된 컨텐츠를 생성한다.
제3자 비디오 스트리밍 애플리케이션(705)은 소셜 네트워킹 시스템(130)으로 개인화된 컨텐츠를 전송(745)하고, 소셜 네트워킹 시스템(130)은 소셜 네트워킹 시스템(130)에 의해 유지되는 소셜 그래프 내의 그래프 객체로서 개인화된 컨텐츠를저장(750)한다. 일 실시예에서, 소셜 네트워킹 시스템(130)은 또한 상태 메시지 업데이트를 포스팅하기 위한 인터페이스와 같은 작성자 인터페이스 내에 개인화된 컨텐츠를 삽입한다. 추가로, 개인화된 컨텐츠는 사용자 및/또는 사용자와 연결된 다른 사용자들에게 게시(760)될 수 있다. 예컨대, 사용자의 프로필 페이지에 포함되거나 임의의 적절한 방식으로 사용자에게 제공된 사용자에게의 통지로서, 개인화된 컨텐츠는 사용자 또는 사용자에 연결된 사용자들에 제시되는 뉴스피드에 뉴스 스토리로 포함될 수 있다.
상술한 바와 같이, 사용자는 제3자 비디오 스트리밍 애플리케이션(705)이 소셜 네트워킹 시스템을 통하여 게시(760)한 개인화된 컨텐츠를 조정하는 개인정보 설정을 유지할 수 있다. 예컨대, 개인정보 설정은 제3자 비디오 스트리밍 애플리케이션이 "구매하기" 행위 유형에 기초하여서가 아닌 "시청하기" 행위 유형에 기초하여 개인화된 컨텐츠를 게시(760)하도록 제한할 수 있다. 추가 개인정보 설정은 제3자 비디오 스트리밍 애플리케이션이 "시청" 행위 유형에 기초하여 개인화된 컨텐츠를, 사용자들에 연결되지 않는 추가 사용자들이나 사용자에 연결된 사용자들에게 연결된 추가 사용자가 아닌, 사용자에 연결된 사용자들에게 게시하도록 할 수 있다.
요약
본 발명의 실시예들의 상기 설명은 설명의 목적으로 제시되었을 뿐, 배타적이거나 개시된 구체적인 형태로 시스템이나 방법을 제한하고자 하는 것은 아니다. 본 발명이 속하는 설명분야에서 통상의 지식을 가진 자라면 상기 개시로부터 다양한 변형 및 변경이 가능함을 인식할 수 있을 것이다.
본 명세서의 일부 부분은 시스템 및 방법의 실시예들을 정보에 대한 동작의 알고리즘적 및 기호적 표현으로 설명한다. 이러한 알고리즘적 설명이나 표현은 본 설명분야에서 통상의 지식을 가진 자들에게 효과적으로 그들의 작업의 실체를 전달하기 위하여 데이터 프로세싱 설명분야에서 통상의 지식을 가진 자에 의하여 공통적으로 사용되는 것이다. 기능적으로, 계산적으로 또는 논리적으로 설명되고 있는 이들 동작은 컴퓨터 프로그램 또는 등가의 전기 회로, 마이크로 코드 등에 의해 구현되는 것으로 이해된다. 또한, 종종 이러한 동작의 배열은 일반성의 손실 없이 모듈로 언급될 수 있는 것으로 확인된다. 설명된 동작 및 그와 관련된 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합으로 구현될 수 있을 것이다.
본 명세서에 설명된 임의의 단계들, 동작들 또는 프로세스들은 하나 이상의 하드웨어 또는 소프트웨어 모듈들에 의해 또는 이들과 다른 장치들의 결합에 의해 수행되거나 구현될 수 있다. 일 실시예에서, 소프트웨어 모듈은 설명된 단계들, 동작들 또는 프로세스들 일부 또는 전부를 수행하기 위하여 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 제품으로 구현된다.
본 시스템 및 방법의 실시예들은 또한 본 명세서의 동작들을 수행하기 위한 장치와 관련될 수 있다. 이 장치는 요청된 목적을 위하여 구체적으로 구성될 수 있으며/있거나 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨팅 장치를 포함할 수 있다. 이런 컴퓨터 프로그램은 유형의 컴퓨터 판독가능한 저장 매체나 컴퓨터 시스템 버스에 결합될 수 있는 전자 명령어를 저장하기에 적절한 임의의 유형의 매체에 저장될 수 있다. 게다가, 본 명세서에서 언급된 임의의 컴퓨팅 시스템들은 단일 프로세서를 포함할 수 있거나, 증가한 컴퓨팅 능력을 위해 다중 프로세서 설계를 채용한 구조일 수 있다.
본 시스템 및 방법의 실시예들은 또한 본 명세서에 설명된 컴퓨팅 프로세스로 제조된 제품에 관한 것일 수 있다. 그러한 제품은 컴퓨팅 프로세스의 결과로 생성된 정보를 포함할 수 있는데, 여기서 정보는 비일시적인 유형의 컴퓨터 판독가능한 저장 매체에 저장되며, 본 명세서에 설명된 컴퓨터 프로그램 제품 또는 다른 데이터 조합의 임의의 실시예를 포함할 수 있다.
마지막으로, 본 명세서에서 사용된 언어는 원칙적으로 읽기 쉬운 지침상의 목적으로 선택되었으며, 발명의 요지를 상세히 설명하거나 제한하려고 선택된 것은 아닐 수 있다. 따라서, 본 발명의 설명범위는 본 명세서에 의해서가 아니라 본 명세서를 기초로 출원된 임의의 청구범위들에 의해 한정되는 것으로 의도된다. 그러므로, 본 발명의 실시예들에 관한 설명은 하기의 청구범위에 제시된 본 발명의 설명범위의 예시가 되나, 이에 제한되지 않아야 한다.

Claims (12)

  1. 소셜 네트워킹 시스템이, 소셜 네트워킹 시스템에 에지 객체들을 포함하는 소셜 그래프를 유지하는 단계;
    소셜 네트워킹 시스템이, 소셜 네트워킹 시스템의 사용자에 대한 개인정보 설정을 유지하는 단계;
    소셜 네트워킹 시스템이, 복수의 소스로부터 사용자와 연관된 에지 객체들을 수신하는 단계;
    소셜 네트워킹 시스템이, 제3자 애플리케이션으로부터 사용자와 연관된 에지 객체들에 관한 정보에 대한 요청을 수신하는 단계;
    소셜 네트워킹 시스템이, 상기 개인정보 설정에 근거하여 사용자와 연관된 소셜 그래프의 하나 이상의 에지 객체들에 관한 데이터를 수집하는 단계; 및
    소셜 네트워킹 시스템이, 수집된 데이터를 제3자 애플리케이션에 제공하는 단계를 포함하며,
    각 에지 객체는 하나 이상의 행위 유형을 가지는 하나 이상의 행위를 나타내고 소셜 그래프의 두 개 이상의 그래프 객체 사이의 관계를 가리키며,
    상기 개인정보 설정은 제3자 애플리케이션에 의해 접근가능한 사용자와 연관된 에지 객체들의 하나 이상의 행위 유형을 특정하며, 제3자 애플리케이션은 소셜 네트워킹 시스템과 구별되는 엔터티에 의해 유지되며,
    수집된 데이터는 하나 이상의 개인정보 설정에 의해 특정된 행위 유형을 가지는 에지 객체에 관한 정보를 제3자 애플리케이션에 대하여 접근가능한 것으로 식별하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 복수의 소스는 요청하는 제3자 애플리케이션과 다른 소스를 포함하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 요청은 애플리케이션 프로그래핑 인터페이스(API) 콜(call)로부터 수신되는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 요청은 하나 이상의 행위 유형을 특정하는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서,
    상기 제3자 애플리케이션으로부터의 요청은 하나 이상의 행위 유형을 가지는 행위의 임계 수를 특정하며,
    상기 소셜 그래프의 하나 이상의 에지 객체들에 관한 데이터를 수집하는 단계는: 하나 이상의 행위 유형을 가지며 적어도 사용자에 대한 행위의 임계 수를 설명하는 에지 객체로부터 데이터를 수집하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제 4 항에 있어서,
    하나 이상의 행위 유형 중 적어도 하나 소셜 네트워킹 시스템 외부의 엔터티에 의해 정의되는 것을 특징으로 하는 방법.
  7. 제 4 항에 있어서,
    하나 이상의 에지 객체들 중 적어도 하나의 에지 객체는 사용자의 활동 및 사용자의 적어도 하나의 연결을 설명하는 것을 특징으로 하는 방법.
  8. 제 1 항에 있어서,
    상기 제3자 애플리케이션으로부터의 요청은 하나 이상의 객체 특성을 특정하는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서,
    상기 하나 이상의 객체 특성들 중 적어도 하나의 객체 특성은 지정학적 위치를 포함하는 것을 특징으로 하는 방법.
  10. 제 1 항에 있어서,
    상기 제3자 애플리케이션으로부터의 요청은 하나 이상의 객체 유형들을 특정하는 것을 특징으로 하는 방법.
  11. 소셜 네트워킹 시스템이, 소셜 네트워킹 시스템의 사용자들의 행위에 관한 데이터를 소셜 네트워킹 시스템 내에 유지하는 단계;
    소셜 네트워킹 시스템이, 소셜 네트워킹 시스템의 사용자에 관한 개인정보 설정을 유지하는 단계;
    소셜 네트워킹 시스템이, 복수의 소스로부터 사용자의 행위를 수신하는 단계;
    소셜 네트워킹 시스템이, 제3자 애플리케이션으로부터 사용자의 행위에 관한 정보에 대한 요청을 수신하는 단계;
    소셜 네트워킹 시스템이, 상기 개인정보 설정에 근거하여 사용자의 행위에 관한 데이터로부터 정보를 수집하는 단계; 및
    소셜 네트워킹 시스템이, 수집된 정보를 제3자 애플리케이션에 제공하는 단계를 포함하며,
    상기 행위는 행위 유형을 가지고,
    상기 개인정보 설정은 제3자 애플리케이션에 의해 접근가능한 사용자와 연관된 하나 이상의 행위 유형을 특정하며, 제3자 애플리케이션은 소셜 네트워킹 시스템과 구별되는 엔터티에 의해 유지되고,
    수집된 데이터는 하나 이상의 개인정보 설정에 의해 특정된 행위 유형을 가지는 에지 객체에 관한 정보를 제3자 애플리케이션에 대하여 접근가능한 것으로 식별하는 단계를 포함하는 방법.
  12. 소셜 네트워킹 시스템이, 사용자와 연관된 특정 행위 유형의 복수의 행위를 복수의 소스로부터 수신하는 단계;
    소셜 네트워킹 시스템이, 특정 제3자 애플리케이션이 상기 특정 행위 유형의 사용자의 행위들에 관한 정보를 수신할 수 있는지 여부를 나타내는 개인정보 설정을 수신하는 단계;
    소셜 네트워킹 시스템이, 상기 개인정보 설정에 근거하여 사용자의 행위들에 관한 데이터로부터 정보를 수집하는 단계; 및
    소셜 네트워킹 시스템이, 상기 개인정보 설정에 근거하여 상기 특정 행위 유형의 사용자의 행위들에 관한 정보를 다른 제3자 애플리케이션과 공유하는 단계를 포함하며,
    수집된 데이터는 하나 이상의 개인정보 설정에 의해 특정된 행위 유형을 가지는 에지 객체에 관한 정보를 제3자 애플리케이션에 대하여 접근가능한 것으로 식별하는 단계를 포함하는 방법.
KR1020157004178A 2012-08-04 2013-07-23 행위 유형에 기초한 제3자 애플리케이션으로부터 사용자에 관한 정보 수신 KR101585585B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/567,052 2012-08-04
US13/567,052 US8732802B2 (en) 2012-08-04 2012-08-04 Receiving information about a user from a third party application based on action types
PCT/US2013/051693 WO2014025535A1 (en) 2012-08-04 2013-07-23 Receiving information about a user from a third party application based on action types

Publications (2)

Publication Number Publication Date
KR20150027308A KR20150027308A (ko) 2015-03-11
KR101585585B1 true KR101585585B1 (ko) 2016-01-14

Family

ID=50026904

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157004178A KR101585585B1 (ko) 2012-08-04 2013-07-23 행위 유형에 기초한 제3자 애플리케이션으로부터 사용자에 관한 정보 수신

Country Status (6)

Country Link
US (1) US8732802B2 (ko)
JP (1) JP5779740B1 (ko)
KR (1) KR101585585B1 (ko)
AU (1) AU2013300064B2 (ko)
CA (1) CA2877825C (ko)
WO (1) WO2014025535A1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9699485B2 (en) 2012-08-31 2017-07-04 Facebook, Inc. Sharing television and video programming through social networking
US20140136332A1 (en) * 2012-11-14 2014-05-15 Facebook, Inc. Providing social context for products in advertisements
US20140156747A1 (en) * 2012-12-03 2014-06-05 Facebook, Inc. Obtaining social networking system user actions from visual representations encoding action characteristics
US10049411B2 (en) * 2013-01-30 2018-08-14 Intuit Inc. Data-privacy management technique
US10986063B2 (en) * 2013-02-27 2021-04-20 Comcast Cable Communications, Llc Methods and systems for providing supplemental data
US9619046B2 (en) 2013-02-27 2017-04-11 Facebook, Inc. Determining phrase objects based on received user input context information
US9823813B2 (en) 2013-03-15 2017-11-21 Salesforce.Com, Inc. Apparatus and methods for performing an action on a database record
US20140280577A1 (en) 2013-03-15 2014-09-18 Salesforce.Com, Inc. Systems and methods for interacting with an application in a publisher
US11238056B2 (en) 2013-10-28 2022-02-01 Microsoft Technology Licensing, Llc Enhancing search results with social labels
US9542440B2 (en) * 2013-11-04 2017-01-10 Microsoft Technology Licensing, Llc Enterprise graph search based on object and actor relationships
US9874989B1 (en) * 2013-11-26 2018-01-23 Google Llc Providing content presentation elements in conjunction with a media content item
US11645289B2 (en) 2014-02-04 2023-05-09 Microsoft Technology Licensing, Llc Ranking enterprise graph queries
US9870432B2 (en) 2014-02-24 2018-01-16 Microsoft Technology Licensing, Llc Persisted enterprise graph queries
US11657060B2 (en) 2014-02-27 2023-05-23 Microsoft Technology Licensing, Llc Utilizing interactivity signals to generate relationships and promote content
US10757201B2 (en) 2014-03-01 2020-08-25 Microsoft Technology Licensing, Llc Document and content feed
US10394827B2 (en) 2014-03-03 2019-08-27 Microsoft Technology Licensing, Llc Discovering enterprise content based on implicit and explicit signals
US10169457B2 (en) 2014-03-03 2019-01-01 Microsoft Technology Licensing, Llc Displaying and posting aggregated social activity on a piece of enterprise content
US10255563B2 (en) 2014-03-03 2019-04-09 Microsoft Technology Licensing, Llc Aggregating enterprise graph content around user-generated topics
US10061826B2 (en) 2014-09-05 2018-08-28 Microsoft Technology Licensing, Llc. Distant content discovery
US9473509B2 (en) * 2014-09-29 2016-10-18 International Business Machines Corporation Selectively permitting or denying usage of wearable device services
US9544307B2 (en) 2014-10-29 2017-01-10 Salesforce.Com, Inc. Providing a security mechanism on a mobile device
US10178494B2 (en) 2015-01-30 2019-01-08 Cassia Networks Inc. Bluetooth transparent relay
US10681479B2 (en) 2015-01-30 2020-06-09 Cassia Networks Inc. Methods, devices and systems for bluetooth audio transmission
US10225098B2 (en) 2015-01-30 2019-03-05 Cassia Networks Inc. Methods, devices and systems for supporting wireless communication
US9769594B2 (en) 2015-01-30 2017-09-19 Cassia Networks Inc. Methods, devices and systems for increasing wireless communication range
US10057229B2 (en) 2015-06-05 2018-08-21 Microsoft Technology Licensing, Llc Seamless viral adaption
US9917870B2 (en) 2015-06-23 2018-03-13 Facebook, Inc. Streaming media presentation system
US10462524B2 (en) * 2015-06-23 2019-10-29 Facebook, Inc. Streaming media presentation system
CN105307137B (zh) * 2015-09-18 2019-05-07 小米科技有限责任公司 短信读取方法及装置
CN105260673A (zh) 2015-09-18 2016-01-20 小米科技有限责任公司 短信读取方法及装置
CN105303120B (zh) 2015-09-18 2020-01-10 小米科技有限责任公司 短信读取方法及装置
GB201518383D0 (en) * 2015-10-16 2015-12-02 Muzeit Ltd System and method for sharing of data
US10579493B2 (en) * 2016-08-22 2020-03-03 Oath Inc. Systems and methods for determining user engagement with electronic devices
KR102195843B1 (ko) * 2018-11-22 2020-12-28 주식회사 카카오 외부 서비스를 제공하는 방법 및 컴퓨터 프로그램

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100132049A1 (en) 2008-11-26 2010-05-27 Facebook, Inc. Leveraging a social graph from a social network for social context in other systems
US20110137932A1 (en) 2009-12-08 2011-06-09 Akhil Wable Second-Order Connection Search in a Social Networking System
US20120101898A1 (en) 2007-11-05 2012-04-26 Kendall Timothy A Presenting personalized social content on a web page of an external system
US20120179958A1 (en) 2011-01-07 2012-07-12 Paul Tarjan Mapping a Third-Party Web Page to an Object in a Social Networking System

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009055825A1 (en) 2007-10-26 2009-04-30 Facebook, Inc. Sharing digital content on a social network
CA2761391A1 (en) 2009-05-08 2010-11-11 Zokem Oy System and method for behavioural and contextual data analytics
US20100306834A1 (en) 2009-05-19 2010-12-02 International Business Machines Corporation Systems and methods for managing security and/or privacy settings

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120101898A1 (en) 2007-11-05 2012-04-26 Kendall Timothy A Presenting personalized social content on a web page of an external system
US20100132049A1 (en) 2008-11-26 2010-05-27 Facebook, Inc. Leveraging a social graph from a social network for social context in other systems
US20110137932A1 (en) 2009-12-08 2011-06-09 Akhil Wable Second-Order Connection Search in a Social Networking System
US20120179958A1 (en) 2011-01-07 2012-07-12 Paul Tarjan Mapping a Third-Party Web Page to an Object in a Social Networking System

Also Published As

Publication number Publication date
CA2877825A1 (en) 2014-02-13
AU2013300064B2 (en) 2015-08-06
WO2014025535A1 (en) 2014-02-13
CA2877825C (en) 2016-02-16
JP2015531118A (ja) 2015-10-29
AU2013300064A1 (en) 2015-02-05
JP5779740B1 (ja) 2015-09-16
US20140041038A1 (en) 2014-02-06
KR20150027308A (ko) 2015-03-11
US8732802B2 (en) 2014-05-20

Similar Documents

Publication Publication Date Title
KR101585585B1 (ko) 행위 유형에 기초한 제3자 애플리케이션으로부터 사용자에 관한 정보 수신
US10567328B2 (en) Tagging posted content in a social networking system with media information
US10728122B2 (en) Providing user metrics for an unknown dimension to an external system
US20140040367A1 (en) Publishing aggregated data to a social networking system
US8849721B2 (en) Structured objects and actions on a social networking system
US8793593B2 (en) Integrating structured objects and actions generated on external systems into a social networking system
US9032290B2 (en) Tool for creating structured objects and actions on a social networking system
US8909515B2 (en) Dynamic sentence formation from structured objects and actions in a social networking system
JP6289469B2 (ja) ソーシャルネットワーキングシステムにおける通信から抽出された推論されたトピックを使用した、コンテンツの提供
TWI557581B (zh) 使用撰作介面取得結構化使用者資料的方法和非暫態電腦可讀儲存媒介
US20130073568A1 (en) Ranking structured objects and actions on a social networking system
US20140040729A1 (en) Personalizing a web page outside of a social networking system with content from the social networking system determined based on a universal social context plug-in
US20150213491A1 (en) Method and system for optimizing communication about entertainment
US20180189030A1 (en) Systems and methods for providing content
US20140283126A1 (en) Managing Privacy For User-Generated Lists In An Online System
Ovaska et al. A survey on Web 2.0
Yazıcıoğlu Online Behavioural Advertising: A Case Study of Belgian and Turkish Spotify
WO2014163804A1 (en) Claims-based querying in an online system

Legal Events

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

Payment date: 20190104

Year of fee payment: 4