KR101883309B1 - 타임라인 인터페이스를 통한 소셜 네트워킹 시스템 사용자 정보의 디스플레이 - Google Patents

타임라인 인터페이스를 통한 소셜 네트워킹 시스템 사용자 정보의 디스플레이 Download PDF

Info

Publication number
KR101883309B1
KR101883309B1 KR1020147010010A KR20147010010A KR101883309B1 KR 101883309 B1 KR101883309 B1 KR 101883309B1 KR 1020147010010 A KR1020147010010 A KR 1020147010010A KR 20147010010 A KR20147010010 A KR 20147010010A KR 101883309 B1 KR101883309 B1 KR 101883309B1
Authority
KR
South Korea
Prior art keywords
timeline
user
data
units
unit
Prior art date
Application number
KR1020147010010A
Other languages
English (en)
Other versions
KR20140062706A (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 KR20140062706A publication Critical patent/KR20140062706A/ko
Application granted granted Critical
Publication of KR101883309B1 publication Critical patent/KR101883309B1/ko

Links

Images

Classifications

    • G06Q50/40
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • 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

Abstract

본 발명은 타임라인 또는 지도 열람에서 사용자에 관한 정보의 표현을 가능하게 하는 소셜 네트워킹 시스템 내의 디스플레이 인터페이스를 제공한다. 시스템은 사용자에 대한 데이터 및 사용자와 관련된 소셜 네트워크 활동들 모두를 포함하는 소셜 네트워킹 시스템의 사용자에 관한 정보에 접속한다. 다음으로 시스템은 특정 기간으로부터의 데이터 및/또는 활동들의 하나 이상의 조각들을 선택하고, 그들을 사용자에 대한 그들의 관련성 및 타당성에 근거하여 타임라인 유닛들로 종합한다. 이 타임라인 유닛들은 사옹자에 대한 관련성에 따라 순위화되고 위치 또는 시간에 의해 구성된 타임라인 유닛들의 시각적 표현을 포함하는 사용자에 대한 타임라인 또는 지도 뷰를 생성하기 위하여 사용된다. 타임라인 또는 지도 뷰는 다음으로 사용자에 대한 정보를 열람하기 원하는 소셜 네트워킹 시스템의 다른 사용자들에게 제공된다.

Description

타임라인 인터페이스를 통한 소셜 네트워킹 시스템 사용자 정보의 디스플레이{DISPLAYING SOCIAL NETWORKING SYSTEM USER INFORMATION VIA A TIMELINE INTERFACE}
본 발명은 일반적으로 소셜 네트워킹에 관한 것으로, 구체적으로 소셜 네트워킹 시스템의 사용자들에 관한 정보를 디스플레이하는 것에 관한 것이다.
소셜 네트워킹 시스템들은 다양한 소스들로부터 많은 양의 정보를 수집한다. 소셜 네트워킹 시스템에 저장된 정보는, 항상 그런 것은 아니지만, 종종 그와 관련된 시간을 갖는다. 통상, 소셜 네트워킹 시스템의 사용자에 관한 정보는 섹션들로 분할된 프로필 웹 페이지를 통하여 디스플레이되며, 각 섹션은 사용자와 관련된 서로 다른 유형의 정보를 포함한다. 예컨대, 사용자 프로필 페이지는 교육 정보, 관심, 상태 업데이트 및 취미에 관한 개별 섹션들뿐 아니라, 사용자 사진의 썸네일 및 사용자 친구로의 링크를 포함하는 섹션을 가질 수 있다.
디스플레이의 이러한 분류의 단점은 사용자 프로필 페이지가 제한된 양의 디스플레이 공간을 가지고 있으며 사용자가 새로운 사진, 친구, 상태 업데이트 등을 추가함에 따라 시스템이 지속적으로 새로운 정보를 획득하기 때문에, 소셜 네트워킹 시스템이 시간에 따라 사용자에 대한 점점 더 많은 정보를 축적함에 따라 사용자에 대한 오래된 정보를 위치시키는 것이 어려워진다는 점이다. 사용자 프로필 페이지의 열람자들이 종종 사용자에 대한 최신 정보에 관심이 있을 수 있지만, 항상 그런 것은 아니다. 예컨대, 사용자의 오래된 동창들은 몇년 전에 일어났던 대학 때 함께 공유한 시간으로부터의 사용자에 관한 정보를 브라우징하길 원할 수 있다.
게다가, 소셜 네트워킹 시스템에 의해 대량으로 수집된 매우 다양한 정보들이 존재하기 때문에, 사용자들이 그러한 정보를 효율적으로 소비할 수 있도록 작고 유익한 구조로 정보를 취합할 방법들에 대한 필요가 존재한다. 또한, 특정 기간으로부터의 정보는 종종 동일한 기간으로부터 다른 유형의 정보와 관계를 가지고, 이는 그러한 정보를 함께 연관짓거나 디스플레이하는 것을 바람직하게 한다. 예컨대, 열람자들은 학창 시절의 사용자의 상태 업데이트와 함께 그 기간으로부터의 사용자 사진을 보는 것에 관심이 있을 수 있다. 그러나, 사용자 프로필 페이지가 정보 유형에 의해 분할된 정보를 디스플레이한다면, 사용자의 이력 정보를 보기 원하는 열람자들은 각 정보 섹션의 개별적인 정보를 수동으로 검색해야한 한다. 이것은 불가능하지는 않지만 특정 기간과 관련된 서로 다른 유형의 정보를 동시에 보는 것을 어렵게 한다. 또한 사용자가 특정 기간 동안 많은 양의 정보를 가진다면 열람자에게 가장 관련성 있는 정보를 표시하도록 선택할 몇가지 방법을 있는 것이 바람직할 것이다.
소셜 네트워킹 시스템에 의해 수집된 정보는 종종 시간뿐 아니라 그와 관련된 위치를 가진다. 따라서 시간뿐 아니라 위치에 의한 브라우징을 허용하는 사용자 인터페이스를 통하여 소셜 네트워킹 시스템에 의해 수집된 데이터를 브라우징할 방법을 사용자에게 제공하는 것이 바람직할 수 있다.
본 발명의 실시예들은 시간순의 타임라인으로 사용자와 관련된 정보의 표현을 가능하게 하는 소셜 네트워킹 시스템의 디스플레이 인터페이스를 제공한다. 타임라인에서 가장 관련성 있는 정보를 강조하기 위하여 순위화 방법이 사용될 수 있다.
본 발명의 실시예에서, 시스템은 생일, 졸업 날짜, 관심, 고용주, 사진, 비디오 등과 같은 사용자에 관한 데이터뿐 아니라 코멘트, 상태 업데이트, 블로그 포스트 등과 같은 사용자와 관련된 소셜 네트워킹 행위 모두를 포함하는 소셜 네트워킹 시스템의 사용자에 관한 정보에 접속한다. 다음으로 시스템은 특정 기간으로부터의 데이터 및/또는 행위의 이러한 조각들 중 하나 이상을 선택하고, 사용자에 대한 관련성 및 적절성에 근거하여 타임라인 유닛들로 그들을 모은다. 예컨대, 한 기간으로부터의 데이터 및/또는 행위는 유사한 유형인 것에 근거하여 하나의 타임라인 유닛으로 모아질 수 있다(예컨대, 그 기간으로부터의 여러 사진들이 하나의 사진 타임라인 유닛으로 모아질 수 있다). 다른 예로, 한 기간으로부터의 데이터 및/또는 행위는 코멘트 이벤트와 관련이 있는 것에 근거하여 하나의 타임라인 유닛으로 함께 모아질 수 있다. 예컨대, 사용자의 40세 생일 파티로부터의 사진과 상태 업데이트들이 하나의 타임라인 유닛으로 종합될 수 있을 것이다.
시스템이 이러한 타임라인 유닛들을 생성하면, 사용자에 대한 그들의 관련성에 근거하여 이들 타임라인 유닛들이 순위화될 수 있고 그 후 높은 순위의 타임라인 유닛들의 시각적 표현으로 구성된 시각적 타임라인을 포함하는 사용자용 타임라인 인터페이스가 구성될 수 있다. 다음으로 이 타임라인 인터페이스가 제1 사용자에 대한 정보를 보기 원하는 소셜 네트워킹 시스템의 다른 사용자들에게 제공될 수 있다.
본 명세서 내에 포함되어 있음.
도 1은 본 발명의 실시예에 따른 소셜 네트워킹 시스템의 사용자에 대한 타임라인 인터페이스를 나타내기 위한 시스템 환경의 도면이다.
도 2a, 2b, 2c, 2d, 2e, 2f, 2g 및 2h는 다양한 상태의 타임라인 인터페이스의 실시예들을 도시한다.
도 3은 본 발명의 실시예에 따라, 사용자들에게 시각적으로 표현될 수 있는타임라인 유닛들을 생성하기 위한 소셜 네트워킹 시스템의 시스템 구조도이다.
도 4는 본 발명의 실시예에 따라, 타임라인 유닛들을 생성하고 순위화하기 위한 소셜 네트워킹 시스템 내의 다양한 모듈들 사이의 상호작용을 도시하는 데이터 흐름도이다.
도 5a는 본 발명의 실시예에 따라 타임라인 유닛들을 생성하고 순위화하기 위한 프로세스를 도시한다.
도 5b는 본 발명의 실시예에 따라 타임라인 유닛들을 생성하고 사용자 큐레이션 데이터를 수집하기 위한 프로세스를 도시한다.
도 6은 뉴스피드와 이력적 뉴스피드에 대한 스토리 생성, 선택 및 디스플레이 프로세스의 일 실시예를 도시한다.
도 1 및 다른 도면들은 유사한 요소들을 식별하기 위하여 유사한 참조번호들을 사용한다. "130A"와 같이 참조번호 다음의 문자는 그 도면부호가 특정 참조번호를 갖는 요소를 구체적으로 언급하고 있음을 가리킨다. 130과 같이 문자를 포함하지 않는 도면부호 내의 참조번호는 도면 내에서 그 참조번호를 가지는 임의의 또는 모든 요소들을 나타낸다(예컨대, 도면부호에서 "130"은 도면에서 참조번호 "130A" 및/또는 "130B"를 나타낸다).
도면들은 오직 설명의 목적으로 본 발명의 다양한 실시예들을 도시한다. 본 발명이 속하는 기술분야에서 통상의 기술자라면 이하의 설명으로부터 여기에 도시된 구조 및 방법의 대안적인 실시예들이 여기에 개시된 본 발명의 기술적 사상으로부터 벗어나지 않는 범위 내에서 채용될 수 있음을 용이하게 인식할 것이다.
소셜 네트워킹 시스템은 사용자와 연관된 소셜 네트워킹 시스템 내의 데이터에 근거하여 타임라인 유닛들을 생성하고, 선택된 타임라인 유닛들의 디스플레이가능한 표현들을 생성하며, 이는 열람 사용자들에게 타임라인 인터페이스로 디스플레이하기 위하여 클라이언트 장치로 보내진다. 타임라인 인터페이스에서 디스플레이를 위한 타임라인 유닛들의 선택은 후보 타임라인 유닛들의 순위화에 근거할 수 있으며, 기계-학습 모델이 그 순위화를 수행할 수 있다.
시스템 개요
도 1은 본 발명의 실시예에 따라, 소셜 네트워킹 시스템의 한 사용자와 관련된 타임라인 상의 타임라인 유닛들을 소셜 네트워킹 시스템의 다른 사용자들에게 나타내기 위한 시스템 환경의 도면이다. 사용자들(135)은 클라이언트 장치들(105)을 사용하여 소셜 네트워킹 시스템(100)과 상호작용한다. 시스템들(100 및 105)의 일부 실시예들은 여기에 개시된 것과 다른 모듈을을 가지고, 기능들은 여기에 개시된 것과 다른 방식으로 그 모듈들 사이에서 분산될 수 있다.
소셜 네트워킹 시스템(100)은 사용자들에게 소셜 네트워킹 시스템의 다른 사용자들과 통신하거나 상호작용할 수 있는 능력을 제공한다. 사용자들(135)은 소셜 네트워킹 시스템(100)에 가입하고 그들이 연결되길 원하는 소셜 네트워킹 시스템(100)의 다른 사용자들과의 연결을 추가한다. 사용자가 소셜 네트워킹 시스템(100)에 가입할 때, 그들은 사용자 계정을 생성할 수 있다. 사용자 계정은 사용자가 소셜 네트워킹 시스템(100) 상에서 영구적이고 안전한 신원을 유지할 수 있게 한다. 사용자 계정은 이름, 나이, 성별 등과 같이 사용자에 대한 상세사항을 저장하는 사용자 프로필을 포함할 수 있다. 소셜 네트워킹 시스템(100)이 사용자에 대한 행위를 수행할 때, 이 행위는 사용자 계정을 가지고 수행될 수 있으며 문자 그대로 그 사용자 계정을 제어하는 (사람인) 사용자에 대하여 수행되지는 않는다. 예컨대, 소셜 네트워킹 시스템(100)이 두 명의 사용자들 사이의 "연결을 생성"하는 경우, 실제로 일어나는 것은 소셜 네트워킹 시스템(100)이 그 두 명의 사용자에 대한 사용자 계정 사이에 연결을 생성하는 것이다. 사용자 계정은 개인에 대하여만 생성되는 것이 아니라, 회사, 비영리 단체, 허구의 인물 등과 같은 다른 실체들에 대하여도 생성될 수 있다. 소셜 네트워킹 시스템(100)의 "사용자"는 임의의 그러한 실체일 수 있다.
일 실시예에서, 소셜 네트워킹 시스템(100)과 상호작용하기 위하여 사용자(135)에 의해 사용되는 클라이언트 장치(105)는 개인용 컴퓨터(PC), 데스트탑 컴퓨터, 랩탑 컴퓨터, 노트북 또는 테블릿 PC일 수 있다. 이러한 컴퓨터들은 예컨대, 마이크로소프트 윈도우-호환가능 운영 시스템(OS), 애플 OS X 및/또는 리눅스 배포판과 같은 운영 시스템을 실행할 수 있다. 다른 실시예에서, 클라이언트 장치(105)는 휴대용 개인 단말기(PDA), 휴대전화, 스마트폰 등과 같은 컴퓨터 기능을 갖는 임의의 장치일 수 있다.
클라이언트 장치들(105)과 소셜 네트워킹 시스템(100) 사이의 상호작용은 일반적으로 가령 인터넷과 같은 네트워크(310)를 통하여 수행된다. 네트워크(310)는 클라이언트 장치(105)와 소셜 네트워킹 시스템(100) 사이의 통신을 가능하게 한다. 일 실시예에서, 네트워크(310)는 표준 통신 기술 및/또는 프로토콜을 사용한다. 따라서, 네트워크(310)는 이더넷, 802.11, WiMAX(worldwide interoperability for microwave access), 3G, 디지털 가입자 회선(DSL), 비동기 전송 모드(ATM), 인피니밴드(InfiniBand), PCI EAS(Express Advanced Switching) 등과 같은 기술들을 사용하는 링크를 포함할 수 있다. 유사하게, 네트워크(310)에서 사용되는 네트워킹 프로토콜은 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) 등을 포함할 수 있다. 네트워크(310)를 통하여 교환되는 데이터는 HTML(hypertext markup language), XML(extensible markup language) 등을 포함하는 기술 및/또는 포맷을 사용하여 표시될 수 있다. 또한, 일부 또는 모든 링크들은 SSL(Secure sockets layer), TLS(transport layer security), VPNs(virtual private networks), IPsec(Internet Protocol security) 등과 같은 종래 암호화 기술을 사용하여 암호화될 수 있다. 다른 실시예에서, 실체들은 상술한 것들 대신 또는 상술한 것들에 더하여 맞춤 및/또는 전용 데이터 통신 기술들을 사용할 수 있다. 실시예에 따라, 네트워크(310)는 인터넷과 같은 다른 네트워크로의 링크들을 포함할 수도 있다.
클라이언트 장치(105)는 사용자(135)가 소셜 네트워킹 시스템(100)과 상호작용하도록 하는 사용자 인터페이스(130)를 실행한다. 사용자 인터페이스(130)는 사용자가 소셜 네트워킹 시스템(100)과 관련된 다양한 행위들을 수행하고 소셜 네트워킹 시스템(100)에 의해 제공된 정보를 볼 수 있게 한다. 사용자 인터페이스(130)를 사용하여 수행된 행위들은 연결 추가, 링크 포스팅, 이미지 또는 비디오 업로드, 사용자 프로필 설정 업데이트 등을 포함한다. 사용자 인터페이스(130)를 사용하여 열람될 수 있는 소셜 네트워킹 시스템(100)에 의해 제공된 정보는 사용자 연결에 의해 포스팅된 이미지 또는 비디오, 사용자 연결에 의해 포스팅된 코멘트, 다른 사용자에 의해 사용자에게 전송된 메시지, 게시물(wall post)을 포함한다. 일 실시예에서, 사용자 인터페이스(130)는 사용자가 인터넷 또는 개인 네트워크로부터의 정보를 검색하고 제시할 수 있게 하는 브라우저 애플리케이션을 통하여 사용자에게 제시된다. 다른 실시예에서, 사용자 인터페이스(130)는 스마트폰이나 테블릿과 같은 휴대용 장치 상에서 실행되는 모바일 앱으로 구성된다. 또 다른 실시예에서, 사용자 인터페이스(130)는 데스트탑 또는 랩탑 컴퓨터 상에서 실행되는 애플리케이션으로 구성된다.
사용자 인터페이스(130)는 사용자가 소셜 네트워킹 시스템(100)의 다른 사용자들의 데이터를 열람할 수 있게 하며; 소셜 네트워킹 시스템의 사용자들의 데이터는 사용자들의 소셜 네트워킹 데이터의 배열인 "프로필 페이지"에 의해 다른 사용자들에게 제시될 수 있다. 일 실시예에서, 프로필 페이지는 브라우저를 통하여 제시된 웹 표준 포맷의 데이터 및 코드로 구성된다. 예컨대, 프로필 페이지는 서버로부터 클라이언트 장치 상에서 실행 중인 웹 브라우저로 전송된 XML, HTML, CSS, 자바스크립트, 플레인텍스트 및 자바의 임의의 조합으로 구성될 수 있다. 다른 실시예에서, 프로필 페이지는 모바일 앱 또는 데스크탑 애플리케이션을 통한 표시를 위하여 포맷된 데이터로 구성된다. 사용자 'A'가 다른 사용자 'B'의 프로필 또는 데이터를 열람하는 경우, 제1 사용자 'A'를 '열람 사용자'라 하며 제2 사용자 'B'를 '대상 사용자'라 한다. 사용자 인터페이스(130)는 또한 열람 사용자가 본 명세서에 좀 더 상세히 설명된 타임라인 매니저(119)에 의해 생성된 타임라인 인터페이스를 통하여 대상 사용자에 대한 정보를 탐색할 수 있게 한다. 타임라인 인터페이스는 열람 사용자에게 단일 대상 사용자의 정보를 제시하거나 열람 사용자에게 여러 대상 사용자들의 데이터를 동시에 제시할 수 있다.
소셜 네트워킹 시스템(100)은 예컨대, 사용자 데이터 객체(175), 연결 객체(195) 및 타임라인 유닛들(180)과 행위들(181)을 나타내는 객체들과 같이 서로 다른 종류의 데이터 객체들을 보유할 수 있다. 사용자 데이터 객체(175)는 소셜 네트워킹 시스템(100)의 사용자와 관련된 정보를 저장한다. 예컨대, 사용자 데이터 객체(175)는 사용자의 생일을 저장하거나, 사용자의 사진을 저장하거나 사용자의 사진에 대한 참조를 저장할 수 있다. 연결 객체(195)는 소셜 네트워킹 시스템의 두 사용자들, 일반적으로 소셜 네트워킹 시스템에 표시된 임의의 두 실체들 사이의 관계를 기술하는 정보를 저장한다. 행위 객체(181)는 소셜 네트워킹 시스템(100)의 사용자들에 의해 수행된 행위들과 관련된 정보를 저장한다. 소셜 네트워킹 시스템 자용자의 대부분의 활동은 행위으로 저장될 수 있다. 예컨대, 행위는 새로운 코멘트나 상태 업데이트를 포스팅하는 것일 수 있거나, 다른 사용자들로의 연결을 형성하는 것만큼 간단한 것일 수 있다.
소셜 네트워킹 시스템(100)은 다양한 객체들, 사용자들 및 소셜 네트워킹 시스템(100)에 의해 수집된 이벤트들 사이의 관계를 추적하기 위한 소셜 그래프를 보유할 수 있다. 소셜 그래프에서, 사용자, 사용자 데이터 및 다른 실체들은 다른 노드로의 연결인 에지를 갖는 노드로서 존재한다. 이 실시예에서, 에지는 노드들 사이의 관계를 생성하는 행위들을 나타낸다. 예컨데, 소셜 네트워킹 시스템(100)에 저장된 사진을 나타내는 노드는 사진을 업로드한 사용자에 대한 에지를 가질 수 있으며, 이 에지는 "~에 의해 업로드된" 행위일 수 있다. 동일한 사진이 그 사진 내의 사용자들을 나타내는 여러 다른 노드들로의 에지를 가질 수 있으며, 이 에지들은 "태깅(tagged in)" 행위들일 수 있다. 유사하게, 소셜 네트워킹 시스템(100)에서 사용자를 나타내는 노드는 그 사용자에 의해 이루어진 포스트를 나타내는 각 노드에 대한 에지를 가질 수 있다. 이 에지들은 모두 "~에 의해 포스팅된" 행위들일 수 있다. 소셜 그래프의 에지는 서로 다른 유형을 가질 수 있으며, 이는 소셜 네트워킹 시스템(100)의 사용자에 의해 취해진 서로 다른 유형의 행위들에 대응한다.
소셜 네트워킹 시스템(100)은 소셜 네트워킹 시스템(100)의 다른 사용자들(또는 객체들)에 대한 사용자의 "친밀도" 측정을 유지 또는 계산할 수 있다. 친밀도 측정은 친밀도 점수로 표현될 수 있으며, 이는 소셜 네트워킹 시스템(100)의 다른 사용자(또는 객체)와 사용자의 밀접성을 나타낼 수 있다. 다른 사용자 Y에 대한 사용자 X의 친밀도 점수는 예컨대 사용자 X가 사용자 Y의 사진을 열람하는 것에 관심이 있거나 열람할 확률이 높은지를 예측하는데 사용될 수 있다. 친밀도 점수는 예측기 함수, 기계-학습 알고리즘 또는 사용자 친밀도를 결정하기 위한 임의의 다른 적절한 알고리즘을 통하는 것을 포함하는 자동화된 방법을 통하여 소셜 네트워킹 시스템(100)에 의해 계산될 수 있다. 다양한 사용자 및 객체에 대한 친밀도 점수는 시간에 따라 변하기 때문에 소셜 네트워킹 시스템(100)은 사용자의 이력적 친빌도 점수의 기록을 저장할 수 있다. 소셜 네트워킹 시스템(100)의 다른 사용자뿐 아니라 시스템 내의 다른 객체들에 대한 사용자 친밀도를 계산하기 위한 시스템 및 방법이 2010년 12월 23일자로 출원된 미국출원번호 제12/978,265호에 개시되어 있으며, 본 명세서에 그 내용이 참조로 통합된다.
타임라인 유닛(180)은 특정 기간으로부터의 사용자와 관련된 데이터 및/또는 행위들로 구성된다. 타임라인 유닛(180)은 타임라인 상에 표시를 위한 사용자 데이터/행위들을 종합하기 위하여 사용된다. 일 실시예에서, 타임라인 유닛은 단일 사용자와 관련된 데이터/행위들을 포함한다. 다른 실시예에서, 타임라인 유닛은 두 명 이상의 사용자에 걸친 공통 데이터/행위들을 포함한다. 타임라인 유닛은 단일 행위 또는 단일 조각의 데이터를 포함할 수 있거나 여러 방식과 관련된 다수의 행위 및 데이터를 포함할 수 있다. 예컨대, 단일 이벤트로부터의 사진 및 상태 업데이트가 하나의 타임라인 유닛으로 그룹화될 수 있다. 일 실시예에서, 타임라인 유닛은 타임라인 유닛에 포함된 데이터의 디스플레이가능한 표현을 생성하고 이 디스플레이가능한 표현을 클라이언트 장치(105)로 전송하는 것에 의해 "디스플레이"될 수 있으며, 시각적 표현은 사용자(135)에 의해 열람될 수 있는 사용자 인터페이스(130)의 일부로서 제공될 수 있다. 사용자 데이터 객체(175), 연결 객체(195), 타임라인 유닛(180) 및 행위들(181)은 본 명세서에서 좀 더 자세히 설명된다.
소셜 네트워킹 시스템(100)은 또한 사용자 인터페이스 관리자(115), 타임라인 관리자(119), 타임라인 유닛 랭커(125) 및 타임라인 유닛 생성기(120)를 포함한다. 사용자 인터페이스 관리자(115)는 소셜 네트워킹 시스템(100)의 사용자가 사용자 인터페이스(130)를 통하여 소셜 네트워킹 시스템(100)과 상호작용할 수 있게 한다. 사용자 인터페이스 관리자(115)는 사용자 인터페이스(130)를 통하여 사용자에게 정보를 제시한다. 사용자에게 디스플레이된 정보의 유형에 따라, 사용자 인터페이스(130)는 타임라인 관리자(119)의 도움으로 생성된 타임라인을 디스플레이 할 수 있다. 일 실시예에서, 타임라인은 가역 시간 시퀀스(navigable chronological sequence)로 디스플레이되는 사용자의 소셜 정보(데이터 및 행위)의 시각화이다. 다른 실시예에서, 타임라인은 가역 시간 시퀀스로 디스플레이되는 다수 사용자의 공통 소셜 정보의 합동 시각화이다(즉, 타임라인은 모든 사용자 정보의 교점으로부터의 소셜 정보를 보여준다). 다른 실시예에서, 타임라인은 모든 사용자 데이터로부터 취해진 정보를 포함하는 다수 사용자의 소셜 정보의 합동 시각화이다(즉, 타임라인은 모든 사용자 정보의 결합으로부터의 소셜 정보를 보여준다). 소셜 정보는 타임라인 유닛 생성기(120)에 의해 생성된 타임라인 유닛(180)의 형태로 타임라인 상에 디스플레이된다.
타임라인 유닛 생성기(120)는 행위 객체(181) 및 사용자 데이터 객체(175)로부터 타임라인 유닛(180)을 생성한다. 타임라인 유닛 랭커(125)는 사용자(대상 사용자, 열람 사용자 또는 둘 다)와의 관련성 및/또는 사용자의 선호도에 근거하여 타임라인 유닛(180)을 순위화한다. 일 실시예에서, 타임라인 유닛 랭커(125)는 타임라인 유닛(180)을 순위화하기 위하여 기계-학습 모델에 의애 출력된 점수를 사용한다. 타임라인 관리자(119)는 타임라인 유닛 생성기(120)에 의해 생성된 타임라인 유닛을 선택하고 그들 또는 그들의 디스플레이가능한 표현을 클라이언트 장치(105)로 전송한다. 클라이언트 장치(105)에서, 타임라인 유닛은 -이미 그러한 형태로 되어 있지 않다면- 디스플레이가능한 표현으로 변환되고 타임라인 인터페이스에 디스플레이된다. 타임라인 관리자(119)는 타임라인 인터페이스에 디스플레이할 타임라인 유닛들을 선택할 때, 타임라인 유닛 랭커(125), 사용자 큐레이션 또는 이들의 조합에 의해 제공된 순위를 사용할 수 있다.
시스템 세부사항
도 3은 본 발명의 실시예에 따른 열람 사용자에게의 제시를 위한 타임라인 인터페이스를 생성하기 위한 소셜 네트워킹 시스템(100)의 시스템 구조도이다. 소셜 네트워킹 시스템(100)은 웹 서버(320), 사용자 인터페이스 관리자(115), 타임라인 관리자(119), 행위 로거(340), 행위 로그(351), 사용자 데이터 스토어(350), 연결 스토어(330), 기계-학습 모듈(345), 타임라인 유닛 스토어(365), 타임라인 유닛 생성기(120) 및 타임라인 유닛 랭커(125)를 포함한다. 다른 실시예에서, 소셜 네트워킹 시스템(100)은 다양한 애플리케이션을 위한 추가 모듈, 보다 적은 모듈 또는 다른 모듈을 포함할 수 있다. 네트워크 인터페이스, 보안 메커니즘, 부하 균형기, 장애복구 서버, 관리 및 네트워크 동작 콘솔 등과 같은 종래 구성요소들은 시스템의 세부사항을 모호하게 하지 않도록 도시되지 않는다.
소셜 네트워킹 시스템(100)은 사용자가 서로 통신하거나 다시 말해 상호작용하도록 하고, 컨텐츠에 접속할 수 있게 한다. 소셜 네트워킹 시스템(100)은 사용자 데이터 스토어(350)에 사용자 데이터 객체(175)를 저장한다. 사용자 데이터 객체(175)에 수집된 정보는 소셜 네트워킹 시스템(100)의 사용자에 관한 것이며, 인명 정보, 인구통계정보 정보, 나이, 직업적 경험, 교육 이력, 관심, 성별, 성적 기호, 취미 또는 선호도, 위치, 수입, 사용하는 언어, 종교적 배경 등과 같은 다른 유형의 서술적 정보를 포함한다. 사용자 데이터 객체(175)의 정보는 또한 예컨대, 소셜 애플리케이션으로부터의 상태 업데이트, 게임 애플리케이션으로부터 포스팅된 최고 점수 및 미디어 애플리케이션에 의해 재생된 음악과 같이 소셜 네트워킹 시스템(100)과 인터페이스하는 제3자 애플리케이션에 의해 수집된 정보를 포함할 수 있다. 사용자 데이터 객체(175)에 수집된 사용자에 관한 정보는 사용자에 의해 명백하게 제공되거나 사용자의 행위 또는 다른 데이터로부터 추론될 수 있다. 예컨대, 사용자의 관심은 사용자에 의해 접속된 컨텐츠 유형으로부터 추론될 수 있다. 사용자 데이터 스토어(350)는 예컨대, 사용자에 의해 지시된 이미지, 비디오, 문서 등, 코멘트, 상태 업데이트, 이미지, 비디오 또는 URL 링크등의 추천과 같이 사용자에 의해 제공된 다른 타입의 정보를 저장할 수 있다. 사용자의 이미지 및 비디오는 이미지 및 비디오에 디스플레이되는 소셜 네트워킹 시스템(100)의 사용자의 식별 정보로 태크될 수 있다.
연결 스토어(330)는 예컨대 연결 객체(195)에 표시된 바와 같이 소셜 네트워킹 시스템(100)의 서로 다른 사용자들 사이의 연결을 기술하는 데이터를 저장한다. 연결은 사용자에 의해 정의되어 사용자들이 다른 사용자들과 그들의 관계를 특정할 수 있도록 한다. 예컨대, 연결은 사용자들이 친구, 가족, 직장동료, 파트너 등과 같은 사용자에 실생활 관계와 병행하는 다른 사용자들과의 관계를 생성할 수 있도록 한다. 일부 실시예에서, 연결은 예컨대, 가족, 친구 또는 직장동료와 같은 관계 유형에 근거하여 연결 유형을 특정한다. 사용자들은 기정의된 연결 유형들로부터 연결 유형을 선택하거나 필요에 따라 그들 자신의 연결 유형을 정의할 수 있다.
연결은 가령 사용자가 특정 다른 사용자를 친구로 선택하는 것과 같이 사용자에 의해 명시적으로 추가되거나, 사용자의 공통 특성(예컨대, 동일한 교육기관의 졸업생인 사용자들)에 근거하여 소셜 네트워킹 시스템(100)에 의해 자동으로 생성될 수 있다. 소셜 네트워킹 시스템(100) 내의 연결은 반드시 그런 것은 아니지만 일반적으로 양방향이며, 따라서 "연결" 및 "친구"의 용어는 기준 프레임에 의존한다. 예컨대, 만약 밥과 조가 소셜 네트워킹 시스템(100)에서 연결되어 있다면, 밥과 조, 두 사용자들은 서로의 친구이다. 사용자들 사이의 연결은 직접 연결일 수 있다; 그러나, 소셜 네트워킹 시스템(100)의 일부 실시예들은 하나 이상의 연결 레벨을 통한 간접 연결을 허용한다. 연결은 또한 서로 다른 유형의 실체들 사이에서 형성될 수 있다. 예컨대, 소셜 네트워킹 시스템(100)은 학교를 나타내는 객체를 가질 수 있으며, 그 학교에서 공부하거나 그 학교 졸업생인 소셜 네트워킹 시스템(100)의 사용자들은 소셜 네트워킹 시스템(100) 내의 그 학교와 연결될 수 있다.
소셜 네트워킹 시스템(100)은 사용자로의 새로운 연결을 제안하는 메커니즘을 포함할 수 있다. 소셜 네트워킹 시스템(100)은 시스템 내에 저장된 기존 정보에 근거하여 이들 제안을 생성하거나, 다른 사용자들로의 연결을 제안하기 위한 사용자용 메커니즘을 제공할 수 있다. 예컨대, 소셜 네트워킹 시스템(100)은 스티브에 대한 밥의 기존 "가족" 연결과 질에 대한 스티브의 기존 "가족" 연결에 근거하여 밥에게 질에 대한 "가족" 연결을 추가할 것을 제안할 수 있다. 동일한 예로, 소셜 네트워킹 시스템(100)은 또한 스티브가 질에게 밥에 대한 "가족" 연결을 제안할 수 있게 할 수 있다.
웹 서버(320)는 소셜 네트워킹 시스템(100)을 네트워크(310)를 통하여 하나 이상의 클라이언트 장치(105)로 링크하며; 웹 서버(320)는 웹 페이지뿐만 아니라 플래시, XML 등과 같은 웹 관련 컨텐츠를 제공할 수 있다. 웹 서버(320)는 소셜 네트워킹 시스템(100)과 클라이언트 장치들(105)뿐 아니라 다른 외부 시스템 사이의 메시지를 수신하고 라우팅하는 기능을 제공한다. 이러한 메시지는 인스턴트 메시지, 큐잉된 메시지(예컨대, 이메일), 텍스트 및 SMS(단문 메시지 서비스) 메시지, 또는 임의의 다른 적절한 메시징 기술일 수 있다. 일부 실시예에서, 사용자에 의해 다른 곳으로 전송된 메시지는 예컨대, 메시지를 수신한 사용자의 연결에 의해 소셜 네트워킹 시스템(100)의 다른 사용자들에 의해 열람될 수 있다. 메시지의 수신자 외에 소셜 네트워킹 시스템(100)의 다른 사용자들에 의해 열람될 수 있는 메시지 유형의 예는 게시물(wall post)이다.
행위 로거(340)는 소셜 네트워킹 시스템(100) 내 및/또는 외의 사용자 행위에 관한 웹 서버(320)로부터의 통신을 수신할 수 있다. 행위 로거(340)는 그들을 추적하기 위하여 사용자 행위에 관한 정보를 행위 로그(351)에 기록한다. 사용자가 소셜 네트워킹 시스템(100)을 사용하여 행위를 수행할 때, 행위 로거(340)는 행위들(181)을 호출하는 실체들을 행위 로그(351)에 추가한다. 특정 사용자가 다른 사용자에 대하여 취하는 임의의 행위는 행위 로그(351)에 저장된 행위들(181) 내의 정보를 통하여 각 사용자 프로필과 연관된다. 그러한 행위는 예를 들어, 그들 사이에서 다른 사용자에 대한 연결을 추가하고, 다른 사용자에게 메시지를 전송하며, 다른 사용자를 포함하는 사진을 포스팅하고, 다른 사용자와의 관계 상태를 변경하고, 다른 사용자에 의해 포스팅된 이벤트에 참석하는 것을 포함할 수 있다. 추가로, 다른 객체들과 관련하여 설명되는 다수의 행위들은 특정 사용자를 겨냥한 것이며, 따라서 이러한 행위들 역시 이들 사용자와 연관된다. 일부 행위들은 소셜 네트워킹 시스템(100)에 연결되지 않는 동안 사용자들에 의해 취해질 수 있으며, 이들 행위들은 로컬 애플리케이션에 의해 로그되어 최종적으로 연결이 이루어질 때 소셜 네트워킹 시스템(100)으로 전송될 수 있다.
사용자 데이터 스토어(350)에 저장된 사용자 데이터 및 행위 로그(351)에 저장된 행위들은 집합적으로 서술 데이터(380)로 불린다. 이 서술 데이터(380)는 대상 사용자에 대한 타임라인 유닛들을 구축하기 위한 근거를 형성하는 것이다. 서술 데이터(380)는 그것과 관련된 시간 및 위치를 가질 수 있다. 서술 데이터와 관련된 시간 및 위치는 소셜 네트워킹 시스템(100)이 그 특정 사용자 데이터 또는 행위를 수집하는 시간 및 위치일 수 있으며, 예컨대 사용자 데이터의 특정 부분의 생성 또는 현실 세계 이벤트의 생성과 연관된 다른 시간 및 위치일 수 있다. 서술 데이터(280)의 아이템은 그와 연관된 다수의 시간 및 위치를 가질 수 있다. 예컨대, 사용자의 사진은 사진이 찍힌 시간 및 위치뿐만 아니라 사진이 소셜 네트워킹 시스템(100)으로 업로딩된 시간 및 위치와 연관될 수 있다. 독신부터 기혼까지의 사용자의 관계 상태의 변화를 나타내는 서술 데이터(380)의 아이템 또한 그와 관련된 다수의 시간 및 위치를 가질 수 있는데; 하나는 사용자의 결혼식 날짜 및 장소일 수 있으며 다른 하나는 소셜 네트워킹 시스템(100) 상에서 사용자의 관계 상태가 변경된 시간 및 위치일 수 있다. 일 실시예에서 서술 데이터(380)는 (이미지 데이터, 텍스트 데이터, 비디오 데이터와 같은) 데이터를 포함하는 소셜 그래프 내의 노드 및 그 데이터와 연관된 행위자 또는 사용자를 나타내는 노드들을 포함하는 서술 데이터 노드들을 다른 노드들로 연결하는 연결에 의해 표시된다.
타임라인 유닛 생성기(120)는 타임라인 인터페이스를 디스플레이하기 위하여 타임라인 관리자(119)에 의해 선택될 수 있는 사용자 서술 데이터로부터 타임라인 유닛들을 생성한다. 일 실시예에서, 타임라인 유닛 생성기(120)는 단일 대상 사용자와 연관된 서술 데이터(380)로부터 아이템들을 선택하고 대상 사용자에 대한 타임라인을 구축하기 위하여 사용될 수 있는 타임라인 유닛들(180)을 생성하기 위하여 서술 데이터(280)로부터 이러한 아이템들을 서술하는 정보를 추출한다. 다른 실시예에서, 타임라인 유닛 생성기(120)는 다수의 대상 사용자들과 연관된 서술 데이터(380)로부터 아이템들을 선택하고, 모든 대상 사용자들에 대한 공통 타임라인을 구축하기 위하여 사용될 수 있는 타임라인 유닛들을 생성한다.
일 실시예에서 타임라인 유닛들(180)은 서술 데이터 및 사용자들을 나타내는 다른 노드들과의 연결을 갖는 소셜 그래프 내의 노드들로 표현된다. 하나의 구현으로, 타임라인 유닛들(180)은 스토리라 불리는 좀 더 일반적인 집합의 서브-유형이다. 스토리는 사용자들로의 디스플레이를 위하여 데이터를 종합하기 위한 소셜 네트워킹 시스템(100)의 방식이다. 이러한 실시예에서, 타임라인 유닛들은 타임라인 인터페이스 상에 디스플레이하기 위하여 구성된 스토리들의 특정 형태이다. 스토리는 타임라인 인터페이스 밖에서 문맥적으로 사용될 수 있으며, 이하에서 좀 더 상세히 논의된다.
타임라인 유닛은 명확한 기간과 연관되고, 그 기간으로부터 취해진 서술 데이터로부터 생성된다. 타임라인 유닛은 일반적으로 둘 이상의 기간으로부터의 서술 데이터를 포함하지 않을 것이다. 예컨대, 타임라인 유닛은 2010년 1월 동안의 서술 데이터를 포함할 수 있으나, 다른 달로부터의 서술 데이터를 포함하지는 않는다. 그러나, 서로 다른 크기의 기간들을 갖는 타임라인 유닛들이 있을 수 있다. 예컨대, 며칠, 몇주, 몇달 및 몇년과 같은 시간 범위 동안의 타임라인 유닛들이 있을 수 있다. 2010년 동안의 타임라인 유닛들은 2010년 1월 동안에 생성된 타임라인 유닛과 기간이 겹치기 때문에 일부 중복되는 서술 데이터를 포함할 수 있다.
일 실시예에서, 한 기간 동안 생성된 타임라인 유닛은 그 기간의 전체 시간 범위에 걸친 서술 데이터로부터 생성될 수 있으며, 따라서 전체 기간에 결쳐 가장 관심있는 서술 데이터의 "리포트"로서 기능할 수 있다. 예컨데, 2010년 1월 동안 생성된 단일 타임라인 유닛은 2010년 1월에 대상 사용자에 의해 포스팅된 모든 사진으로부터 생성될 수 있으며, 따라서 그 달 동안 그 사용자의 "사진" 리포트의 역할을 할 수 있다.
다른 실시예에서, 타임라인 유닛은 그 기간의 단일 시간에 대하여 무리지어진 서술 데이터의 일부 조각만을 포함할 수 있다. 예컨대, 2010년 1월의 기간 동안, 타임라인 유닛은 그 달의 특정한 날에 속하는 사용자의 생일에 대하여 생성될 수 있으며, 이 타임라인 유닛은 사용자의 생일 동안 사용자에 의해 수신된 사진, 상태 업데이트 및 공개 메시지를 포함할 수 있다. 다른 실시예에서, 타임라인 유닛은 서술 데이터의 단일의 중요한 조각으로부터 생성될 수 있다. 예컨대, 대상 사용자가 2010년 1월 25일에 약혼을 했다고 하면, 다일 타임라인 유닛은 그 날의 이 이벤트에 대하여 생성될 수 있다.
타임라인 유닛들(180)은 클라이언트(105)로, 직접 또는 디스플레이가능한 형태로 변환 후, 전송될 수 있으며, 타임라인 유닛들은 사용자 인터페이스(130)의 일부로서 디스플레이된 타임라인 인터페이스를 통하여 서술 데이터의 선택된 아이템들의 표현을 디스플레이하기 위하여 사용된다. 타임라인 유닛 생성기(120)는 행위 로그(351) 또는 사용자 데이터 스토어(350)로부터 선택된 서술 데이터를 설명하는 정보를 획득할 수 있거나, 행위 로거(340), 사용자 인터페이스 관리자(115)와 같은 다른 모듈들 또는 서로 다른 유형의 행위들을 수행하거나 서로 다른 유형의 데이터를 수집하기 위한 기능을 구현하는 다른 모듈들로부터 직접 이러한 정보를 획득할 수 있다.
시각적 형태로 변환될 경우, 타임라인 유닛 생성기(120)에 의해 생성된 타임라인 유닛들(180)은 그들이 표시를 위하여 생성된 서술 데이터 내의 정보의 서브셋만을 디스플레이할 수 있다. 예컨대, 시각적 형태로 변환될 경우, 대상 사용자의 사진 앨범으로부터 생성된 타임라인 유닛은 앨범 내의 사진의 서브셋만을 디스플레이할 수 있으며, 감소된 크기의 섬네일 포맷으로 이러한 사진들을 디스플레이할 수 있다. 다른 예로, 대상 사용자에 의한 블로그 엔트리는 시각화된 타임라인 유닛으로 표시된 일부 라인들의 짧은 요약으로 감소될 수 있다.
타임라인 유닛들은 한 기간 내의 서술 데이터의 다수의 조각들을 포함할 수 있거나 서술 데이터의 단일 조각만을 포함할 수 있다. 각 타임라인 유닛은 그와 관련된 시간 및 위치를 가지며, 이는 타임라인 인터페이스에 다수의 타임라인 유닛들을 연대기적으로 배열하거나 타임라인 지도 인터페이스 상에 타임라인 유닛들을 위치시킬 때 사용될 수 있다. 만약 타임라인 유닛이 서술 데이터의 단일 조각만을 포함한다면, 그 타임라인 유닛과 관련된 시간 및 위치는 서술 데이터의 시간 및 위치와 동일한다. 만약 타임라인 유닛이 서술 데이터의 다수의 조각들을 포함한다면, 그 타임라인 유닛과 관련된 시간 및 위치는 서술 데이터의 이러한 조각들과 관련된 시간 및 위치들로부터 계산될 수 있다. 예컨대, 타임라인 유닛들은 서술 데이터의 시간들의 평균과 연관될 수 있거나, 서술 데이터의 시간들의 중심과 연관될 수 있다. 또는, 예컨대, 타임라인 유닛은 그것이 포함하는 최신 또는 가장 오래된 서술 데이터의 시간과 연관될 수 있다. 타임라인 유닛의 위치는 가령 서술 데이터의 위치들의 기하학적 중심점을 취하는 것에 의해 결정될 수 있다.
타임라인 유닛 생성기(120)는 대상 사용자가 그들의 타임라인 상의 타임라인 유닛들 내의 특정 서술 데이터를 디스플레이하지 않기를 선호한다고 결정할 수 있다. 예컨대, 대상 사용자가 다른 사용자에 의해 포스팅된 코멘트를 숨기기 또는 대상 사용자가 특정 유형의 사용자 선호도를 변경하기를 서술하는 행위는 타임라인 상에 디스플레이하기 위한 관심 주제가 아닐 수 있다. 사용자 인터페이스(130)는 대상 사용자가 특정 유형의 서술 데이터가 타임라인 유닛의 일부로서 도시되지 않기를 명시적으로 지시하게 할 수 있다. 또한, 타임라인 유닛 생성기(120)는 소셜 네트워킹 시스템(100)에 의해 발효된 정책으로, 특정 서술 데이터에 근거한 타임라인 유닛의 생성을 방지할 수 있다. 예컨대, 대상 사용자가 다른 사용자의 프로필을 열람하거나 다른 사용자에게 개인적인 메시지를 전송하는 것은 개인정보보호 문제 때문에 타임라인 유닛으로부터 배제되는 행위일 수 있다. 게다가, 타임라인 유닛 생성기(120)는 대상 사용자의 특정 서술 데이터가 이를 열람하는 사용자에게 보여질 수 있는 타임라인 유닛 상에 표시될 수 있는지 여부를 결정하기 위하여 개별 열람 사용자들에 대한 개인정보보호 설정을 고려할 수 있다. 대상 사용자는 특정 타임라인 유닛이 열람될 수 있는 사람들의 세트를 제한하도록 그의 개인정보보호 설정을 설정할 수 있다. 예컨대, 대상 사용자는 그의 직접 연결들만 그의 사진을 포함하는 타임라인 유닛을 열람하도록 허용할 수 있거나, 모두가 그의 사진을 포함하는 타임라인 유닛을 열람하도록 할 수 있다. 대상 사용자는 또한 유닛 대 유닛 기반 및 사용자 대 사용자 기반으로 열람 사용자들이 특정 타임라인 유닛들을 열람하는 것을 개별적으로 차단할 수 있거나, 열람 사용자들의 사용자-정의 그룹들을 차단할 수 있다. 예컨대, 대상 사용자는 사용자들의 세트를 "동료들"로 정의할 수 있으며, 그룹으로서 이들 사용자들이 그의 사진을 포함하는 타임라인 유닛을 열람하는 것을 차단할 수 있다. 반대로, 이전에 타임라인 유닛을 열람하는 것이 차단된 사용자들 또는 사용자들의 그룹들이 유사한 사용자 대 사용자 및 유닛대 유닛 기반으로 또는 그룹으로 컨텐츠를 열람하도록 허락될 수 있다.
일 실시예에서, 타임라인 유닛 생성기(120)는 타임라인 유닛 스토어(365)에 생성된 타임라인 유닛들(180)을 저장한다. 타임라인 유닛 스토어(365) 내의 타임라인 유닛들은 타임라인 유닛들(180)과 관련된 다양한 객체들을 링크하는 데이터베이스 엔트리로 표현될 수 있다. 타임라인 유닛 스토어(365)에 저장된 각 타임라인 유닛(180)은 소셜 네트워킹 시스템(100) 내의 다른 엔트리들과 관련될 수 있다. 예컨대, 타임라인 유닛(180)은 타임라인 유닛(180)에 서술된 행위를 수행한 하나 이상의 사용자들과 관련될 수 있다. 타임라인 유닛에 서술된 행위를 수행한 사용자들을 행위자들이라 한다. 예컨대, 만약 타임라인 유닛이 잭에 의해 포스팅된 비디오에 존에 의해 포스팅된 코멘트를 서술한다면, 존과 잭은 모두 타임라인 유닛의 행위자로 간주될 수 있다. 다른 예로, 다른 사용자의 게시물에 대한 응답으로 사용자에 의해 포스팅된 코멘트를 서술하는 타임라인 유닛(180)은 그 게시판에 메시지를 포스팅한 사용자 및 그 코멘트를 포스팅한 사용자 모두와 관련될 수 있다.
일 실시예에서, 타임라인 유닛 생성기(120)는 추가 프로세싱 없이 직접 시각화될 수 있는 타임라인 유닛(190)을 생성한다. 다른 실시예에서, 타임라인 유닛 생성기(120)는 타임라인 유닛의 디스플레이가능한 표현을 생성하기 위하여 사용자 인터페이스 관리자(115)에 의해 제공된 시각적 템플릿과 결합되어야 하는 타임라인 유닛들(180)을 생성하고 이를 사용자 인터페이스(130)에 디스플레이되는 타임라인 인터페이스 상에 디스플레이하기 위하여 클라이언트(105)로 전송할 수 있다. 또 다른 실시예에서, 사용자 인터페이스 관리자(115) 및 타임라인 유닛(180)에 의해 제공된 시각적 템플릿이 모두 클라이언트(105)로 전송되고, 클라이언트는 사용자 인터페이스(130) 상에 디스플레이된 타임라인 인터페이스 상에 디스플레이하기 위한 타임라인 유닛의 디스플레이가능한 표현을 생성하기 위하여 그들을 결합한다.
타임라인 유닛 생성기(120)가 타임라인 관리자(119)로부터 임의의 요청을 수신하기 전에 타임라인 유닛을 생성할 수 있으나, 다른 실시예에서 타임라인 유닛 생성기는 또한 타임라인 유닛 관리자(119)로부터의 요청에 응답하여, 예컨대 열람 사용자로부터의 요청을 만족시키기 위하여 즉기 타임라인 유닛들을 생성할 수 있다.
타임라인 인터페이스
타임라인 관리자(119)는 소셜 네트워킹 시스템(100)의 열람 사용자로의 대상 사용자 타임라인의 표시를 관리한다. 사용자 인터페이스 관리자(119)는 타임라인 인터페이스(200)를 통하여 대상 사용자의 서술 데이터(380)를 브라우징하기 위하여 사용자 인터페이스(130)를 통하여 열람 사용자에게 옵션을 나타내며, 이의 일 실시예가 도 2a, 2b, 2c, 2d 및 2e에 다양한 상태로 도시된다. 타임라인 인터페이스(200)는 사용자 인터페이스(130)의 하나의 디스플레이 옵션일 뿐이며, 사용자 인터페이스(130)는 다른 디스플레이 옵션(예컨대, 도 2h에 도시된 타임라인 지도 인터페이스 및 도 2g에 도시된 바와 같은 활동 로그)을 통하여 사용자들이 대상 사용자의 서술 데이터(380)와 상호작용하거나 열람하도록 할 수 있다. (타임라인, 타임라인 유닛등과 같은 그들의 모든 구성요소를 포함하는) 타임라인 인터페이스(200)는 도 2a에 도시된 바와 같이 사용자 프로필 웹 페이지(201)의 일부로서 디스플레이되거나, 독립 스크린 또는 클라이언트 장치(105) 상에서 실행 중인 독립 애플리케이션일 수 있다. 타임라인 인터페이스(200)는 기간 선택기(210), 타임라인(220) 및 타임라인(220) 상에 타임라인 마커(235)를 갖는 타임라인 유닛들(230)의 시각적 표현을 포함할 수 있다. 타임라인 인터페이스는 또한 타이틀 박스(240)를 포함할 수 있으며, 일 실시예가 도 2f에 좀 더 상세히 도시된다.
타임라인 관리자(119)는 열람 사용자의 요청에 근거하여 열람 사용자에게 디스플레이되는 기간들을 결정하고, 디스플레이되는 기간 동안의 타임라인 유닛들(180)을 생성하거나 디스플레이되는 기간 동안 타임라인 유닛 스토어(365)로부터 대상 사용자와 관련된 기-생성된 타임라인 유닛들(180)을 선택한다. 타임라인 관리자(119)는 (도 2a에 도시된 바와 같이) 열람 사용자에게 기정의된 기간 선택기(210)를 나타낼 수 있거나, 또는 타임라인 관리자(119)는 사용자에게 그들이 열람하기 원하는 기간의 경계를 정의할 수 있는 능력을 줄 수 있다. 즉, 디스플레이된 기간은 타임라인 관리자(119)에 의해 고정된 길이에 대항하여, 사용자 결정 길이일 수 있다.
사용자가 열람 기간을 선택하면, 타임라인 관리자(119)는 타임라인(220) 상에 이 기간으로부터의 타임라인 유닛들을 제공하는 것을 포함하는 타임라인 인터페이스(200)를 생성한다. 타임라인(220)은 시간에 따른 대상 사용자의 서술 데이터의 시각적 표현이다. 도 2c는 타임라인(220)의 일 측상의 2행으로 제공된 디스플레이된 타임라인 유닛들(230)을 구비한 타임라인(220)의 일 실시예를 도시한다. 타임라인(220)은 타임라인(220) 상에 연결된 타임라인 유닛의 위치를 나타내는 타임라인 마커들(235)을 포함한다. 타임라인(220)은 주어진 기간 동안의 모든 타임라인 유닛들을 완전히 디스플레이하지 않을 수 있다. 완전히 디스플레이하지 않는 타임라인 유닛들은 여전히 타임라인(220) 상에 대응 마커들을 가질 수 있으나, 이 약화된 마커들(236)은 "회색 처리(grayed out)"되거나, 밝게 되거나, 활성화되거나 완전히 디스플레이된 타임라인 마커들(235)로부터 그들을 구별하기 위하여 일부 다른 방식으로 덜 강조될 수 있다. 열람 사용자가 예컨데, 약화된 마커들(236) 위에 마우스 커서를 이동하는 것에 의해 약화된 마커들(236)과 상호작용하는 경우, 약화된 타임라인 유닛이 도 2e에 도시된 바와 같이 팝업(250)으로 디스플레이될 수 있다. 타임라인 관리자(119)는 대상 사용자(또는 열람 사용자)가 디스플레이된 타임라인 유닛 팝업(250) 상에 "최대화" 또는 "보기" 버튼을 클릭하는 것에 의해 약화된 타임라인 유닛을 영구적으로 최대화하는 것을 허용할 수 있다. 약화된 타임라인 유닛의 보기 또는 최대화는 장래에 동일한 타임라인 유닛(또는 유사한 타임라인 유닛들)을 디스플레이하기 위한 타임라인 관리자(119)에 의한 신호로서 사용될 수 있다. 이 신호는 또한 대상 사용자 및/또는 열람 사용자들의 선호도를 수집하고 타임라인 유닛들의 점수를 증가시키기 위하여 타임라인 유닛 랭커(125)에 의해 사용될 수 있다. 이 순위화 프로세스는 이하에서 좀 더 상세히 설명된다.
도 2c에 도시된 바와 같이, 타임라인 유닛들(230)의 시각적 표현들은 디스플레이된 타임라인 유닛에 통합된 서술 정보를 포스팅한 소셜 네트워크 사용자의 이름 및/또는 섬네일 사진을 디스플레이하는 헤더(233)와 같이 구별된 시각적 요소를 가질 수 있다. 헤더(233)는 또한 서술 데이터가 소셜 네트워킹 시스템(100) 상에 업로드되거나 생성된 날을 포함할 수 있다. 타임라인 유닛은 또한 타임라인 유닛이 관심이 있음을 나타내기 위하여 사용자에 의해 사용될 수 있는 "핀" 또는 "별" 버튼(231)을 포함할 수 있다. 별 버튼(231)을 활성화시키는 것은 타임라인 유닛이 예컨대, 도 2c에 도시된 실시예에서와 같이 타임라인 유닛(230c)의 시각적 표현이 "별표시"될 때 확대되고, 타임라인(220)의 맨 위에 중첩되며, 타임라인의 양측면을 점유하는 것과 같이 좀 더 두드러지게 디스플레이되도록 할 수 있다(다른 타임라인 유닛들은 타임라인(220)의 우측 또는 좌측으로 제한됨을 유의하자). 타임라인 유닛(230)의 시각적 표현은 또한 타임라인 유닛 숨기기, 소셜 네트워킹 시스템(100)의 다른 사용자와 타임라인 유닛 공유하기, 및 개별 서술 데이터에 근거하여 더 작은 타임라인 유닛들로 타임라인 유닛 분할하기 등의 옵션들과 같이 추가 사용자 구성 옵션들을 포함할 수 있는 옵션 메뉴(232)를 포함할 수 있다.
타임라인 유닛(230)의 시작적 표현은 또한 서술 데이터 요약(234)을 포함할 것이다. 서술 데이터 요약(234)은 도 2c에 234a와 같이 텍스트일 수 있거나, 서술 데이터 요약(234b)과 같은 이미지 기반, 또는 비디오나 애니메이티드 GIF 또는 FLASH 컨텐츠와 같은 일부 다른 미디어일 수 있다. 서술 데이터 요약은 타임라인 유닛을 생성하기 위하여 사용되는 서술 데이터의 일부(distillation)일 수 있으나, 항상 타임라인 유닛이 생성되는 모든 서슬 데이터에 대한 표현을 포함하는 것은 아니다. 타임라인 관리자(119)는 서술 데이터 요약(234)에 디스플레이할 가장 관련성 있는 서술 데이터를 결정하기 위하여 순위화 프로세스를 이용할 수 있다.
디스플레이된 타임라인 유닛들(230)은 또한 소셜 데이터 요약(237)을 포함할 수 있다. 소셜 데이터 요약(237)은 열람자들에게 예컨대, 컨텐츠의 수, "좋아요", 열람, 공유, 타임라인 유닛 내의 서술 데이터가 수신한 다른 사용자 상호작용들에 관한 정보를 줄 수 있다. 소셜 데이터 요약(237)은 또한 서술 데이터 상의 소셜 네트워킹 시스템(100)의 다른 사용자들에 의해 남겨진 상위 코멘트를 디스플레이할 수 있다.
도 2c에 도시된 타임라인(220)의 실시예는 시간에 따라 배열되고, 서로 이어지며, 서로 구별되도록 타임라인(220) 상에 위치한 타임라인 마커들(235)과 약화된 마커들(236)을 포함하는 타임라인 유닛들(230)을 도시한다. 다른 실시예에서, 타임라인 유닛들(230), 마커들(235) 및 약화된 마커들(236)은 유닛들 사이의 실제 시간에 비례하여 타임라인(220) 상에서 이격된다. 예컨대, 만약 기간이 1월 동안이고 1월 1일에 하나, 2일에 하나, 30일에 하나로 세 개의 타임라인 유닛들이 존재한다면, 처음 두 개의 타임라인 유닛들은 서로 인접할 수 있는 반면, 3번째 타임라인 유닛은 마지막 두 개의 타임라인 유닛 사이의 27일 동안의 공간에 해당하는 상당한 간격만큼 분리될 것이다. 다른 실시예에서, 타임라인 유닛들(230), 마커들(235) 및 약화된 마커들(236)은 유닛들 사이의 실제 시간에 비례하여 타임라인(220) 상에 이격될 수 있으나, 타임라인(220)의 시간 크기는 더 높은 밀도의 타임라인 유닛들을 가지는 기간에 대하여 더 크고, 더 낮은 밀도의 타임라인 유닛들을 가지는 기간에 대하여 더 작도록 변경된다. 예컨대, 1월 1일, 2일 및 30일에 세 개의 타임라인 유닛들이 있는 상술한 예에서, 1일과 2일의 타임라인 유닛들 사이의 공간은 시간에 비례하나, 2일과 30일의 타임라인 유닛 사이의 공간은 그들 사이에 다른 타임라인 유닛들이 없다면 압축될 수 있다.
도 2e에 도시된 일 실시예의 기간 선택기(210)는 선택가능한 기간의 연대기적으로 배열된 리스트를 포함한다. 이 실시예에서, 기간 선택기(210)는 최근 3달 동안(도 2e에서 현재(Now), 지난 달(Last Month), 2011년 7월(July 2011))의 선택가능한 섹션들 및 그 후 매년의 섹션들을 디스플레이한다. 사용자가 수년 동안의 정보를 가지고 있다면, 그 해들은 10년으로 모아질 수 있고, 최근 3년만이 기간 선택기(210)에 디스플레이될 수 있다. 사용자가 기간 선택기(210)로부터 기간을 선택하면, 타임라인(220)은 선택된 기간을 보여주기 위하여 스크롤(또는 리플레쉬)할 수 있다. 사용자가 기간 선택기(210)로부터 기간을 선택하는 경우, 타임라인 인터페이스(200)는 타임라인(220)의 맨 위에 플로팅 타임라인 헤더(252)를 디스플레이할 수 있다. 타임라인 헤더(252)는 대상 사용자의 이름뿐 아니라 현재 선택된 기간(가령 도 2e에서 2009년) 또한 디스플레이할 수 있다. 기간을 선택하는 것은 또한 기간 선택기(210)가 선택된 기간을 더 작은 서브 기간의 선택가능한 리스트(251)로 확장하게 할 수 있다. 도 2e에 도시된 예에서, 2009년을 선택하는 것은 2009년을 2009년 동안 선택가능한 달들의 리스트로 확장하게 한다. 기간 선택기(210)는 선택된 기간을 가령 두꺼운 폰트, 밑줄치기, 컬러, 크기 변경, 슬라이딩 윈도우 등과 같이 적절한 시각적 신호로 강조하는 것에 의해 선택된 기간을 시각적으로 나타낼 수 있다. 기간 선택기(210)는 또한 유사한 강조 기술을 사용하여 더 많은 서술 데이터 또는 더 많은 관련 서술 데이터를 가지는 기간을 나타낼 수 있다. 예컨대, 2009년 7월이 좀 더 관련성 있거나 흥미있는 타임라인 유닛들을 가지고 있다면, 그 달은 좀 더 두드러지게 하기 위하여 기간 선택기(210) 내에서 특정 컬러로 강조될 수 있다. 또한 기간이 좀 더 많은 또는 좀 더 관련성 있는 타임라인 유닛들을 가진다면, 타임라인(220) 자체가 이 기간이 좀 더 중요함을 나타내기 위하여 이 기간에 대응하는 부분에서 강조될 수 있다. 좀 더 많은 또는 좀 더 관련성 있는 타임라인 유닛들을 가지는 기간들은 또한 사용자들에게 이 기간들에 좀 더 관련성 있는 데이터가 존재함을 나타내기 위하여 기간 선택기(210) 내에서 좀 더 세분화된 조각들로 나뉘어질 수 있다.
타인라인 헤더(252)는 또한 도 2d에 도시된 바와 같이 이벤트 메뉴 추가(260)를 포함할 수 있다. 이벤트 메뉴 추가(260)는 대상 사용자가 사용자-생성 타임라인 유닛을 실제로 생성하는 그들의 타임라인에 구조화된 데이터를 추가할 수 있게 한다. 이벤트 메뉴 추가는 많은 다른 이벤트 유형들에 대한 사용자 이벤트 옵션(261)을 제공할 수 있다. 이벤트 옵션(261)을 선택하는 것은 이벤트 데이터 엔트리 인터페이스(262)가 어디서 그 이벤트 유형에 대한 데이터를 수집하도록 구성되는지를 나타내도록 한다. 사용자가 이벤트 데이터 엔트리 인터페이스(262)로 정보를 입력하고 저장 버튼을 누르면, 구조화된 데이터가 소셜 네트워킹 시스템(100)으로 전송되어 새로운 서술 데이터를 생성하는데 사용된다. 구조화된 데이터가 이벤트 날짜를 포함한다면, 서술 데이터는 제공된 날짜에 타임라인(220) 상에 위치될 수 있는 새로운 타임라인 유닛들(180)을 생성하기 위하여 타임라인 관리자(119)에 의해 사용될 수 있다. 예컨대, 도 2d에서 사용자는 "일 시작(Started a Jop)"을 위한 옵션을 선택하는데, 이는 "일 시작" 이벤트를 서술하는 데이터를 수집하도록 구성된 이벤트 데이터 엔트리 인터페이스(262)를 디스플레이한다. 이 예에서, 인터페이스는 사용자가 고용주, 직위, 위치, 사진, 시작 및 종료 날짜를 입력하도록 한다. 이러한 정보를 사용하여, 타임라인 관리자(119)는 사용자의 타임라인 상에 위치될 수 있는 "일 시작(Started Work)" 타임라인 유닛(263)을 생성할 수 있다. 사용자가 일부 정보를 제공하는 것에 실패한 경우(이 경우, 사용자가 사진을 업로드하지 않음), 새로운 타임라인 유닛(263)은 적절한 데이터 요청 인터페이스(264)로 빠진 데이터를 유도할 수 있다(이 예에서, 인터페이스는 사용자에게 "사진 추가"를 유도한다). 타임라인 인터페이스(200)는 소셜 네트워킹 시스템(100)의 사용자로부터 수집된 구조화된 정보상에 쿼리를 실행하기 위한 인터페이스를 제공할 수 있다.
타임라인 인터페이스(200)는 사용자에게 일을 시작하거나, 집을 사거나, 새로운 룸메이트를 얻거나, 차를 사거나, 졸업을 하거나, 군대를 가거나 제대하거나, 시술을 받거나, 어학공부를 하거나, 여행을 하는 등과 같은 이벤트 옵션들(261)을 제공할 수 있다. 사용자가 그들이 생성하고자 하는 이벤트와 매칭되는 이벤트 옵션을 발견하지 못한 경우, 소셜 네트워킹 시스템(100)은 사용자가 맞춤형 이벤트를 생성하게 할 수 있다. 이벤트 메뉴 추가(260) 또는 다른 유사한 인터페이스가 타임라인(220) 상의 과거 또는 미래 시간에 코멘트, 사진 비디오 등과 같은 컨텐츠를 추가하기 위하여 사용자에 의해 사용될 수 있다. 사용자가 타임라인(220)에 새로운 컨텐츠를 추가하는 경우, 타임라인 인터페이스(200)는 사용자가 새로운 컨텐츠를 업로드할 수 있게 할 뿐 아니라 소셜 네트워킹 시스템(100)에 의해 이미 수집된 서술 데이터로부터 기존 데이터를 선택할 수 있게 한다.
타임라인 유닛 생성기(120)에 의해 생성된 타임라인 유닛(180)은 타임라인(200) 상의 특정 지점에 항상 링크되는 것은 아니다. 일부 타임라인 유닛들(180)은 전체 기간 동안 컨텐츠를 종합하여 사용자에게 그 기간동안의 활동의 요약을 제시한다는 점에서 "리포트(reports)"로서의 역할을 한다. 도 2b는 디스플레이된 리포트 타임라인 유닛(270)의 일 실시예를 도시한다. 도 2b에서, 네 개의 디스플레이된 리포트 타임라인 유닛들(사진에 대한 270a, 장소에 대한 270b, 친구에 대한 270c, 좋아하는 것들에 대한 270d)이 있다. 디스플레이된 리포트 타임라인 유닛들(270)은 디스플레이된 타임라인 유닛들(230)과 유사하나, 타임라인 마커들(235)을 가지고 있지 않으며, 타임라인(220) 상의 적절한 텍스트 마커(272)(이 예에서, 텍스트 마커(272a)는 "리포트"로 명명됨)에 의해 다른 타임라인 유닛들(230)과 구별될 수 있다. 다른 타임라인 유닛들(230)과 유사하게, 리포트 타임라인 유닛들(280)은 서술 데이터 요약(234)을 디스플레이할 수 있다. 타임라인 관리자(119)는 서술 데이터 요약(234)에 디스플레이할 가장 관련성있는 서술 데이터를 결정하기 위하여 순위화 프로세스를 이용할 수 있다. 서술 데이터 요약(234)은 디스플레이된 리포트 타임라인 유닛(270)의 유형에 근거하여 변할 수 있다. 예컨대, 도 2b에서 장소 리포트(270b)는 특정 기간 상의 타임라인 유닛들의 위치를 나타내는 지도를 보여주는 반면, 사진 리포트(270a)는 그 기간 동안 업로드된 사진의 섬네일을 보여준다. 디스플레이된 리포트 타임라인 유닛(270)은 또한 그 리포트의 특정 컨텐츠에 관한 실시간 또는 실시간에 가까운 정보를 디스플레이하는 동적으로 업데이트되는 통계정보(271)를 포함할 수 있다. 예컨대, 장소 리포트(270b)는 현재 기간동안 체크인한 사용자 위치의 수(이 경우 4)를 나타내는 동적으로 업데이트되는 통계정보(271a)를 포함한다. 다른 예로, 좋아하는 것들 리포트(270d)는 사용자가 현재 기간 동안 "좋아하는" 것들의 수(이 경우 6)를 나타내는 동적으로 업데이트되는 통계정보(271b)를 포함한다.
텍스트 마커들(272)은 또한 한 기간으로부터 다음 기간으로의 전환을 나타내는 타임라인(220) 상에 위치할 수 있으며, 텍스트 마커(272)를 클릭하는 것은 그 기간 내의 모든 약화된 타임라인 유닛들을 드러내는 것과 같은 기능을 수행할 수 있다. 예컨대, 도 2b에서 텍스트 마커(272b)는 2011년 기간의 끝을 나타내며, 그것을 클릭하는 것은 2011년 기간 내의 모든 타임라인 유닛들을 드러나게 할 것이다.
도 2f에 도시된 타이틀 박스(240)는 옵션 버튼(241), 동적 섬네일(242), 사용자 상세 박스(243), 동적 커버 사진(244) 및 프로필 사진(245)을 포함할 수 있는 인터페이스 구성요소이다. 타이틀 박스(240)는 사용자가 소셜 네트워킹 시스템 설정을 조정하고 그들의 타임라인을 사용자 지정할 수 있게 한다.
옵션 버튼(241)은 사용자가 소셜 네트워킹 시스템 계정과 관련된 다양한 선호를 조정하고, 그 계정과 관련된 활동들을 수행하며, 그들에게 유용한 정보의 상세한 공급들을 열람하고 편집할 수 있게 한다. 옵션 버튼(241)을 통하여 사용자에게 이용가능한 옵션, 활동 및 상세들은 사용자가 대상 사용자(즉, 프로필/계정의 계정 보유자)인지 열람 사용자(즉, 계정 보유자가 아닌 누군가)인지 여부에 근거하여 변할 수 있다. 대상 사용자에 대한, 옵션 예들은 사용자들이 그들의 타임라인 설정을 조정할 수 있게 하는 설정 버튼(241a), 사용자가 소셜 네트워킹 시스템(100) 상의 그들의 모든 활동의 전체 리스트에 접속할 수 있게 하는 활동 로그 버튼(241b), 및 그들의 프로필 사진, 커버 사진, 경력 등과 같은 개인 상세사항을 수정할 수 있게 하는 편집 프로필 버튼을 포함한다. 열람 사용자에 대하여 옵션은 메시징, "친구맺기", "친구해제", 숨기기, 리포팅 등을 위한 버튼들을 포함할 수 있다. 활동 로그에 접속하는 것은 사용자가 모든 타임라인 유닛들의 전체 리스트, 활동들 및 소셜 네트워킹 시스템(100)에 의해 수집/생성된 사용자 데이터에 접속하게 할 수 있다. 활동 로그는 또한 사용자가 개별 타임라인 유닛들, 활동들 또는 사용자 데이터를 타임라인(220) 상에서 숨기기/보여주기/최대화하기를 할 수 있게 한다. 이러한 방식으로 활동 로그들은 사용자가 그들의 비가공 데이터를 관리할 수 있게 한다.
도 2g는 활동 로그 버튼(241b)을 통하여 사용자에 의해 접속될 수 있는 활동 로그의 일 실시예를 도시한다. 활동 로그는 디스플레이된 활동에 대한 기간을 나타내며, 사용자가 특정 날짜의 활동들로 접프할 수 있게 하는 기간 네비게이션 헤더(273)를 포함한다. 활동 로그는 또한 소셜 네트워킹 시스템(100)에 의해 수집된 특정 활동에 대한 정보를 사용자에게 주는 활동 엔트리(276)를 포함한다. 활동 엔트리(276)는 행위(예컨대, "질이 구성요소를 추가함")의 시간, 날짜, 텍스트 설명 및 섬네일 또는 다른 데이터 요약을 포함할 수 있다. 활동 로그는 또한 한 기간의 활동을 다른 기간으로부터 분리하는 날짜 분리기(277)를 가질 수 있다. 활동 링크 더보기(278)는 모든 활동들이 사용자 스크린에 디스플레이되지 않은 경우, 특정 기간 동안의 좀 더 많은 활동들을 열람하게 한다. 활동 필터(274)는 특정 유형의 활동들만을 디스플레이하기 위하여 사용자들이 활동 로그를 필터링하게 한다. 예컨대, 사용자는 사진-관련 활동들 또는 특정 제3 소셜 애플리케이션 관련 활동들만을 보여주기 위하여 활동 로그를 필터링할 수 있다. 각 활동 엔트리(276)는 사용자가 타임라인으로부터 활동을 숨기기, 타임라인 상에 활동을 허용하기, 타임라인 상의 활동을 특징짓기(별표하기) 등과 같은 다양한 기능들을 수행할 수 있게 한다. 이들 기능들은 활동들 상에 개별적으로 수행될 수 있거나 위치, 활동 유형 또는 활동과 관련된 사용자들에 근거하여 활동들의 그룹들 상에 수행될 수 있다. 활동 옵션 메뉴(275)는 또한 사용자가 그 활동 자료를 열람하도록 허용된 사람을 제한하기 위하여 그 활동에 대한 개인보호 옵션을 설정하게 할 수 있다. 또한 활동 옵션 메뉴(275)는 사용자가 그 활동과 관련된 날짜를 변경할 수 있게 한다. 예컨대, 사용자는 사용자가 포스팅한 사진의 날짜를 업로드 날짜로부터 사진이 찍힌 이벤트와 관련된 일부 날짜로 변경할 수 있다. 유사하게 활동 옵션 메뉴(275)는 사용자가 위치를 활동과 연관짓거나 그 활동과 이미 연관된 위치를 변경할 수 있게 할 수 있다.
도 2f에 도시된 동적 섬네일(242)은 친구(242a), 사진(242b), 호감 & 관심(242c) 및 노트(242d)과 같은 다양한 사용자 정보 공급에 대한 링크로서 기능하는 동적 인터페이스 요소이다. 동적 섬네일은 제3자 애플리케이션 공급, 사용자-정의 공급, 소셜 그룹 공급 등에 대하여 제공될 수 있다. 동적 섬네일(242)을 디스플레이하기 위하여 사용되는 순서는 열람 사용자의 브라우징 이력 또는 선호도나 대상 사용자의 브라우징 이력 또는 선호도에 근거하여 결정될 수 있다. 이 순서는 또한 사용자 선호, 소셜 신호, 최근 열람 등에 근거하여 동적 섬네일(242)의 순서를 결정하는 기계-학습 순위화 알고리즘을 사용하는 것에 의하여 결정될 수 있다. 제3자 애플리케이션의 순위는 동적 섬네일의 리스트 내에서 제3자 애플리케이션의 동적 섬네일의 위치를 결정하기 위한 인자로서 사용될 수 있다.
동적 섬네일은 정보를 탐색하기 위하여 사용자가 그들 위를 클릭할 수 있게 할뿐 아니라, 그들 자체가 사용자 데이터로의 작은 윈도우로서의 역할을 한다. 각 동적 섬네일은 링크된 정보 공급의 동적 시각적 요약을 디스플레이한다. 예컨대, 친구 동적 섬네일(242a)은 사용자 친구의 프로필 사진의 작은 콜라주(collage)뿐 아니라 사용자가 갖는 친구의 수(이 경우 533명)를 나타내는 수치 통계정보를 디스플레이한다. 유사하게, 사진 동적 섬네일(242b)는 사용자가 태깅(tag in)했던 최근 사진뿐 아니라 사용자가 태깅했던 전체 사진의 수(이 경우 547개)를 나타내는 통계정보를 도시한다. 섬네일의 컨텐츠와 통계정보는 소셜 네트워킹 시스템(100)에 의해 수집된 정보에 근거하여 실시간으로 변할 수 있다. 동적 섬네일(242)은 동적 요약에 사용하기 위한 가장 관련성 있는 데이터 및 흥미있는 데이터를 결정하기 위하여 순위화 프로세스(예컨대, 이하에서 상세히 설명되는 바와 같은 기계-학습 점수화/순위화 프로세스)의 서비스를 사용할 수 있다. 동적 섬네일(242)의 각 유형은 디스플레이할 컨텐츠(예컨대, 이미지)를 결정하기 위하여 다른 순위화 방법론을 사용할 수 있다. 예컨대, 사진 동적 섬네일(242b)은 사진 열람, 코멘트, 호감 등과 같은 인자에 근거하여 사용자 사진을 순위화하는 기계-학습 알고리즘에 근거하여 사용자의 "최고" 사진으로 구성된 콜라주를 디스플레이할 수 있다. 순위화 방법론은 사진 순위화에서 더 높게 위치시키고 따라서 동적 섬네일(242)에서 디스플레이될 확률이 더 높아지도록 최근 추가된 사진들의 신규성을 고려할 수 있다. 사용자가 소셜 네트워킹 시스템(100)에 좀 더 많은 사진들을 포스팅함에 따라, 사진 동적 섬네일(242a)은 가장 최근에 포스팅된 사진들을 포함하도록 디스플레이되는 사진들의 콜라주를 업데이트할 수 있다.
타임라인 관리자(119)는 사용자가 동적 섬네일(242)을 클릭하거나 다른 옵션 또는 링크를 클릭하는 것에 의하여 타임라인의 대안적인 "뷰들"을 디스플레이하게 할 수 있다. 이들 뷰들은 특정 유형의 타임라인 유닛들을 포함하는 타임라인(220)을 사용자에게 제시하기 위하여 사용될 수 있다. 예컨대, 타임라인(220)의 "사진" 뷰는 사진을 갖는 타임라인 유닛들만을 포함하는 타임라인을 제시할 것이다. 다른 뷰들은 특정 데이터 유형에 적절한 타임라인(220)의 전체 맞춤화된 뷰를 사용자들에게 제시할 수 있다.
도 2h는 타임라인의 "지도 뷰"를 도시한다. 이 "지도 뷰"에서, 타임라인(220)은 타임라인 지도(280)에 의해 대체된다. 타임라인 지도(280)는 현재 디스플레이된 기간 내에서 타임라인 유닛들과 관련된 위치들을 나타내는 디스플레이된 지도 위치와 지도 마커(281)를 포함한다. 사용자가 (예컨대 그것을 클릭하는 것에 의해) 지도 마커(281)와 상호작용하는 경우, 그 타임라인 유닛에 대한 정보를 도시하는 타임라인 유닛 팝업(282)이 보여질 수 있다. 이 예에서, 팝업(282)은 타임라인 유닛으로부터의 그림 및 컨텐츠의 수와 그 타임라인 유닛 상의 "좋아하는 것들"에 관한 소셜 데이터를 보여준다. 팝업(282)은 사용자가 그 위치에서의 타임라인 유닛 상에 코멘트하거나 "좋아요"할 수 있게 한다. 위치가 그와 관련된 두 개 이상의 타임라인 유닛을 가지거나, 타임라인 지도(280)가 구별된 위치를 갖는 타임라인 유닛들이 중복되도록 줌아웃(zoom-out) 되는 경우, 다수의 타임라인 유닛들이 타임라인 지도 그룹 마커(283)라 불리는 단일 지도 마커를 통하여 도시될 수 있다. 타임라인 지도 그룹 마커(283)는 그 위치의 타임라인 유닛들의 수(이 경우 61개)를 나타내는 수치 표시기를 가진다. 타임라인 유닛들의 위치가 더 이상 중복되지 않도록 사용자가 타임라인 지도(280)를 줌인(zoom-in)한 경우, 타임라인 지도 그룹 마커(283)는 줌인된 지도 상의 개별 타임라인 유닛들의 위치들을 가리키는 개별 지도 마커들(281)로 분해된다. 유사하게, 타임라인 지도(280)가 줌아웃되어 지도 마커들(281)이 다시 중복되기 시작하는 경우, 지도 마커들은 그 위치에서의 타임라인 유닛들의 수를 반영하는 수치 표시기를 갖는 단일 타임라인 지도 그룹 마커(283)에 의해 대체될 것이다. 만약 타임라인 지도(280)가 좀 더 줌 아웃되는 경우, 다수의 타임라인 지도 그룹 마커들(283)이 단일 타임라인 지도 그룹 마커들(283)로 결합될 것이다. 타임라인 지도 그룹 마커들(283)의 크기는 그것에 의해 표시되는 타임라인 유닛들의 수를 반역하여 증가될 수 있다. 예컨대, 도 2h에 도시된 예에서, 63개의 타임라인 유닛들과 관련된 그룹 마커는 3개의 타임라인 유닛들과 관련된 그룹 마커보다 훨씬 크다. 사용자가 타임라인 지도 그룹 마커(283)를 클릭하면, 그룹 팝업이 팝업(282)과 유사하게 디스플레이될 수 있다. 그룹 팝업은 타임라인 지도 그룹 마커(283)의 위치의 타임라인 유닛들의 그룹을 디스플레이할 수 있거나, 그룹 팝업은 사용자가 그 위치의 모든 타임라인 유닛들 사이를 스크롤할 수 있도록 하는 왼쪽 및 오른쪽 화살표와 함께 그 위치로부터의 단일 타임라인 유닛만을 도시할 수 있다.
타임라인 필터 탭(284)은 사용자가 도시된 예에서와 같이 타임라인 유닛 유형에 의하여 다양한 필터링 조건에 근거하여 타임라인 지도(280)에 도시된 타임라인 유닛들을 필터링할 수 있게 한다. 타임라인 유닛들은 또한 타임라인 유닛과 관련된 사용자, 시간, 위치등에 의하는 것과 같이 다른 조건들에 의해 필터링될 수 있다. 도시된 예에서, 각 타임라인 필터 탭(284)은 현재 기간에 보여질 수 있는 타임라인 유닛들의 대응 유형들의 수에 관한 통계정보를 디스플레이한다. 예컨데, 도면에서, "장소" 탭(284a)은 현재 선택된 기간 내에 253개의 "장소" 타임라인 유닛들이 존재함을 나타낸다. 다른 조건들에 근거한 필터들은 다른 통계정보를 디스플레이할 수 있다.
다른 타임라인 뷰에서와 같이, 타임라인 지도(280)에서 사용자는 기간 선택기(210)를 사용하여 현재 보여지는 기간을 변경할 수 있다. 이는 일부 다른 조건들에 의하는 대신 타임라인 유닛들의 필터링이 시간에 의해 행해지는 타임라인 유닛 필터링의 형태로 고려될 수 있다. 다른 기간이 사용자에 의해 선택된 경우, 타임라인 지도(280)는 새로 선택된 기간으로부터의 타임라인 유닛에 대한 지도 마커들을 도시할 것이다. 타임라인 지도(280)는 또한 새로운 위치로 스크롤할 수 있거나 새로 선택된 기간 내의 타임라인 유닛들의 위치들에 근거하여 새로운 위치 상에 중심을 가질 수 있다. 타임라인 지도(280)는 또한 사용자가 수동으로 지도 뷰를 줌, 팬(pan) 및 회전할 수 있게하는 제어들을 가질 수 있다.
일 실시예에서, 타임라인 지도(280)는 다수의 대상 사용자들에 대한 결합 타임라인의 지도 뷰(결합 타임라인 지도)를 제시한다. 결합 타임라인에 대한 타임라인 유닛의 생성은 이하에서 좀 더 상세히 논의된다. 타임라인 지도(280)는 하나의 대상 사용자에 대하여 생성된 타임 라인 유닛들을 처리하는 방식과 유사한 방식으로 다수의 대상 사용자에 대하여 생성된 타임라인 유닛들을 처리할 수 있다. 다수의 대상 사용자의 경우, 타임라인 필터 탭(284)은 각 대상 사용자에 의한 타임라인 뷰의 필터링이 가능하도록 각 대상 사용자용 탭을 가질 수 있다. 각 타임라인 필터 탭(284) 상에 디스플레이된 통계정보는 이 예에서 그 대상 사용자와 관련된 타임라인 유닛들의 수에 근거할 수 있다.
일 실시예에서, 타임라인 지도(280)는 사용자가 타임라인 지도(280) 상의 대응 위치를 선택하고 그 위치에 링크된 이벤트의 날짜를 입력하는 것에 의해 그 위치와 관련된 새로운 타임라인 유닛을 생성할 수 있게 한다. 예컨대, 타임라인 지도(280)는 사용자가 타임라인 지도(280) 상의 위치를 클릭하는 경우 (도 2d에 도시된 바와 같이) 이벤트 데이터 엔트리 인터페이스(262)를 열 수 있게 한다. 이벤트 데이터 엔트리 인터페이스(262)로 데이터를 입력하는 것은 그 위치와 관련된 타임라인 유닛을 생성하는데 사용될 수 있는 새롭게 구조화된 데이터를 소셜 네트워킹 서비스(100)로 전송한다.
일 실시예에서, 타임라인 지도(280)는 타임라인 유닛들 대신 포괄적 스토리를 보여줄 수 있다. 포괄적 스토리는 이하에서 좀 더 상세히 논의된다. 타임라인 지도(280)가 타임라인 유닛들 대신 포괄적 스토리를 디스플레이하는 경우, 그것은 "지도 뷰", "스토리 지도" 또는 단지 지도로 불릴 수 있다. 스토리 지도는 타임라인 유닛들 대신 지도 마커들이 포괄적 스토리의 위치를 보여주고, 필터링 탭들이 타임라인 유닛들 대신 스토리를 필터링하도록 동작하며, 스토리 지도가 사용자들이 위치와 관련된 새로운 타임라인 유닛들 대신 위치와 관련된 새로운 스토리를 생성할 수 있도록 하는 것을 제외하고는 타임라인 지도(280)와 유사한 방식으로 행동한다.
도 2f에 도시된 사용자 상세 박스(243)는 관계 상태, 고용주, 위치 등과 같은 사용자에 대한 가장 관련성 있는 정보의 요약을 포함한다. 이 정보는 사용자에 의해 명시적으로 제공될 수 있거나, 소셜 네트워킹 시스템(100)에 의해 수집된 비구조화된 정보로부터 도출될 수 있다.
도 2f에 도시된 동적 커버 사진(244)은 다른 동적 인터페이스 요소이다. 동적 커버 사진(244)은 그들의 타이라인을 개인화하기 위하여 대상 사용자에 의해 선택된 이미지를 포함할 수 있다. 동적 커버 사진(244)은 여러 다른 제공 상태들을 가질 수 있다. 각 제공 상태는 시각적으로 다를 수 있다. 가장 간단한 실시예에서, 동적 커버 사진(244)은 전체 사진이 보여질 수 있는 최대화된 상태와 사진이 보분적으로 보여질 수 있는(예컨대, 사진은 스크린의 일부를 점유하도록 스크롤 업할 수 있다) 최소화된 상태를 가진다. 서로 다른 제공 상태들은 열람 사용자가 누구인지, 열람 사용자의 소셜 네트워크 브라우징 이력이 어떠한지, 그 상태가 활성화된 기간, 동적 커버 사진 컨텐츠의 순위/관련성, 열람 사용자의 스크린 사용자 또는 다른 인자들에 근거하여 활성화될 수 있다. 예컨대, 동적 커버 사진(244)은 열람 사용자가 처음으로 그 동적 커버 사진(244)을 열람하는 경우 최대화된 제공 상태(또는 전체 사이즈)로 디스플레이될 수 있고, 그 후 커버 사진의 다음 열람에서 사진은 최소화된 제공 사이즈(가령, 스크롤 업)로 디스플레이될 수 있다. 동적 커버 사진(244)으로 디스플레이된 이미지는 동적 커버 사진(244)용 인터페이스에서 사용가능한 공간을 채우도록 확대되거나 축소될 수 있다. 디스플레이 비율이 변함에 따라, 이미지는 그 사용가능한 영역을 채우도록 그들의 크기를 변경할 수 있다. 예컨대, 타이틀 박스(240)가 이동 전화 상에서 풍경 또는 인물 사진 모드로 디스플레이되는 경우 동적 커버 사진(244) 영역을 채울 수 있을 것이다.
프로필 사진(245)은 대상 사용자에 의해 선택되며 사용자의 이미지 표시가 소셜 네트워킹 시스템(100) 상에서 필요하면 언제든지 사용될 수 있다. 예컨대, 대상 사용자의 프로필 사진(245)은 타이틀 박스(240)를 통하여 타임라인 인터페이스(200) 상에 디스플레이되거나, 대상 사용자에 의해 포스팅된 서술 데이터를 포함하는 타임라인 유닛(230) 상에 디스플레이될 수 있다.
일 실시예에서, 사용자가 과거의 기간을 열람하기를 선택한 경우, 프로필 사진(245), 사용자 상세 박스(243) 및/또는 동적 커버 사진(244)은 대상 사용자의 이력적 데이터를 반영하기 위하여 그들이 디스플레이하는 데이터를 변경할 수 있다(예컨대, 과거의 그 시간에서의 그들의 프로필 사진, 과거의 그 시간에서의 그들의 관계 상태 등).
타임라인 인터페이스(200)는 네트워크(310)를 통하여 열람 사용자의 클라이언트 장치(105)로 전송되고 사용자 인터페이스(130)를 통하여 디스플레이된다. 열람 사용자가 기간 선택기(210)로부터 새로운 기간을 선택하면, 타임라인 관리자는 새롭게 선택된 기간으로부터의 새로운 타임라인 유닛들을 생성 또는 선택할 것이다. 다음으로 새로운 타임라인 유닛들이 타임라인(220) 상의 적절한 위치에 타임라인 인터페이스(200)에의 표시를 위하여 열람 사용자의 클라이언트 장치(105)로 전송된다.
일 실시예에서, 타임라인(220)은 모든 선택가능한 기간을 순서대로 포함하는 단일의 연대기적으로 순서화된 연속체이다. 이 실시예에서, 기간 선택기(210)로부터 기간을 선택하는 것은 타임라인(220)이 연속체에서 선택된 기간으로 스크롤되게 한다. 다른 실시예에서, 타임라인(220)은 한 번에 한 기간만을 도시하고, 기간 선택기(210)로부터 새로운 기간을 선택하는 것은 새로운 기간이 타임라인(220) 상에 도시되게 한다.
본 발명의 일 실시예에서, 타임라인 관리자(119)는 대상 사용자에 대한 타임라인 유닛 랭커(125)에 의해 생성된 타임라인 유닛 순위에 근거하여 타임라인(220) 상에 표시될 타임라인 유닛들을 선택했다. 다른 변형으로, 타임라인 관리자(119)에 의해 선택된 타임라인 유닛들은 열람 사용자에게 제시된 타임라인 유닛들에 대한 그 또는 그녀의 선호를 반영하여 대상 사용자에 의해 관리된며, 타임라인 유닛들은 타임라인 유닛 랭커(125)에 의해 생성된 순위를 사용하여 선택될 수 있다. 타임라인 관리자가 대상 사용자의 현재 선택된 기간에서 보여줄 타임라인 유닛들을 결정하면, 사용자 인터페이스 관리자(115)는 사용자 인터페이스(130)를 통하여 열람 사용자에게 타임라인 인터페이스(200)의 타임라인(220)을 제시한다. 대안 실시예에서, 타임라인 유닛 순위는 대상 사용자 대신 열람 사용자에 대한 타임라인 유닛 랭커(125)에 의해 생성된다. 이 실시예에서, 열람 사용자는 열람될 타임라인 유닛에 대한 그 또는 그녀의 선호를 반영하기 위하여 대상 사용자의 타임라인(220)을 관리하도록 허락될 수 있다. 예컨대, 밥이 짐에 대한 타임라인을 열람하는 경우, 소셜 네트워킹 시스템(100)은 밥에게 짐의 타임라인 상의 타임라인 유닛들을 감추거나 보이도록하는 능력을 줄 수 있으며, 이러한 관리 데이터는 밥이 밥의 선호를 염두에 두고 선택된 짐의 타임라인 유닛들로 구성된 타임 라인으로 제시될 수 있도록 추후 사용될 수 있다.
타임라인 관리자(119)가 타임라인(220)에 표시하기 위한 타임라인 유닛들(230)을 선택하면, 그들의 순위에 따라 타임라인 유닛들(230)이 강조될 수 있다. 예컨대, 타임라인 관리자(119)는 낮은 순위의 타임라인 유닛들에 비하여 높은 순위의 타임라인 유닛들을 좀 더 두드러지게 제시하는 것에 의하여 타임라인 유닛 랭커(125)에 의해 높게 순위화된 타임라인 유닛들을 강조할 수 있다. 더 높은 순위의 타임라인 유닛들은 가령, 더 큰 크기, 아웃라인, 다른 텍스트 컬러, 폰트, 텍스트 크기, 배경 컬러 등을 사용하여 그들을 디스플레이하는 것에 의해 더 낮은 순위의 타임라인 유닛들에 비하여 좀 더 두드러지게 제시될 수 있다. 이러한 하나의 예는 "별표로" 디스플레이된 타임라인 유닛(230c)이며, 다른 디스플레이된 타임라인 유닛들(230)의 폭보다 두 배의 폭으로 디스플레이된다.
주어진 기간 동안, 타임라인 관리자(119)는 타임라인(220)의 과밀을 제한하기 위하여 그 기간 동안 사용가능한 타임라인 유닛들의 서브셋만을 디스플레이할 수 있으며; 타임라인 유닛들의 서브셋만이 디스플레이된 경우, 타임라인 관리자(119)는 사용자 관리 및/또는 순위화, 또는 일부 다른 방법론에 근거하여 디스플레이할 가장 적절한 타임라인 유닛들을 선택하고자 할 것이다.
사용자 관리
소셜 네트워킹 시스템(100)은 사용자가 그들 자신의 서술 데이터(이는 사용자 데이터 스토어(350) 내의 사용자 데이터 객체(175) 및 행위 로그(351) 내의 행위들(181)을 포함한다)를 관리하게 할 수 있다. 관리자로서, 사용자들에게는 그들이 좋아하는 서술 데이터를 강조하고 그들이 싫어하는 서술 데이터를 제거하거나 숨길 수 있는 능력이 주어진다. 사용자-작동 관리를 가능하게 하기 위하여, 사용자 인터페이스 관리자(115)는 사용자 인터페이스(130)를 통하여 타임라인 유닛들의 시각적 표현을 숨기거나 제거하는 것에 의해 타임라인 유닛들을 숨기거나 제거하는 옵션을 사용자에게 제공할 수 있다. 타임라인 인터페이스(200)는 도 2b에 도시된 타임라인 유닛 메뉴(232b)에 "타임라인으로부터 숨기기"와 같이 원하지 않는 타임라인 유닛들을 개인적으로 제거할 수 있는 방법을 가지나, 타임라인 인터페이스(130)는 또한 행위 카테고리, 데이터 유형, 행위자 또는 타임라인 유닛들과 관련된 일부 다른 속성에 의해 사용자가 개별적으로 또는 집합적으로 원하지 않는 타임라인 유닛을 가리킬 수 있는 다른 인터페이스를 사용할 수 있다. 타임라인 인터페이스(200)는 또한 사용자들에게 타임라인이 그들에게 중요한지 및 그들이 다른 타임라인 유닛보다 더 선호되길 원하는지를 가리키는 능력을 제공할 수 있다. 타임라인 인터페이스(200)는 "별" 버튼(231b) 또는 "핀" 버튼과 같이 "중요한" 또는 "좋아하는" 타임라인 유닛들의 시각적 표현을 개별적으로 마킹하는 방법을 가질 수 있거나 사용자 인터페이스(130)는 사용자가 개별적으로 또는 집합적으로 선호되는 타임라인 유닛들을 가리킬 수 있도록 다른 인터페이스를 사용할 수 있다.
소셜 네트워킹 시스템(100)은 정책적으로 대상 사용자만이 그 또는 그녀의 타임라인(220) 상에 디스플레이된 타임라인 유닛들을 관리하게 할 수 있거나, 소셜 네트워킹 시스템(100)은 열람 사용자가 대상 사용자의 타임라인(220)의 그들의 뷰를 관리하게 할 수 있다. 타임라인 관리자(119)는 또한 대상 사용자 및 열람 사용자 모두가 대상 사용자의 타임라인(220)을 관리하게 할 수 있다. 다른 실시예에서, 타임라인 관리자(119)는 사용자 관리를 모두 무시하고 (타임라인 유닛 랭커(125)로부터의 순위 정보를 포함하거나 배제하는) 일부 다른 조건들에 근거하여 타임라인 유닛들을 선택할 수 있다.
타임라인 유닛 생성 및 순위화
도 4는 소셜 네트워킹 시스템(100)에서 타임라인 유닛들의 생성 및 순위화 프로세스의 일 실시예를 도시한다. 이 실시예에서, 사용자 데이터 스토어(350)로부터의 사용자 데이터 및 행위 로그(351)로부터의 사용자 행위들에 관한 정보와 같은 서술 데이터가 타임라인(220)에 디스플레이하기 위한 타임라인 유닛들(180)을 생성하기 위하여 타임라인 유닛 생성기(120)에 의하여 사용된다. 타임라인 유닛 생성기(120)에 의해 생성된 각 타임라인 유닛은 타임라인 유닛이 나타내는 서술 데이터에 대한 정보를 포함하고, 또한 타임라인 유닛 스코어러(scorer; 420)에 의해 생성된 점수를 포함할 수 있다. 일 실시예에서, 타임라인 유닛 생성기(120)는 타임라인(220) 상의 각 기간을 채우기 위하여 필요한 양의 타임라인 유닛들만을 생성한다. 다른 변형으로, 타임라인 유닛 생성기(120)는 타임라인(220) 상의 각 기간을 채우기 위하여 필요한 것보다 많은 타임라인 유닛들(230)을 생성할 수 있으며, 따라서 -프라이버시 프로세스와 같은- 다운스트림 프로세스가 타임라인(220)으로부터 하나 이상의 타임라인 유닛들을 숨기는 경우, 빈 곳을 채우기 위하여 디스플레이될 수 있는 여분의 타임라인 유닛들이 존재할 것이다.
일 실시예에서, 타임라인 유닛 생성기(120)는 특정 기간 동안의 타임라인 유닛들을 생성하는 경우, 그 기간 동안 대상 사용자의 관점으로부터 가장 흥미있는 또는 관련성 있는 서술 데이터를 선택하고, 그 서술 데이터에 대해서만 타임라인 유닛들을 생성할 수 있다. 다른 실시예에서, 서술 데이터의 관련성은 대상 사용자 대신 열람 사용자, 또는 열람 사용자와 대상 사용자 모두의 관점으로부터 결정된다.
타임라인 유닛 생성기는 사용자의 "좋아하는 것들", 아이템에 대한 코멘트위 개수, 아이템의 열람 횟수, 친밀도 등과 같은 소셜 네트워킹 데이터에 근거하여 얼마나 흥미있는 또는 관련성 있는 서술 데이터인지를 결정할 수 있다. 가장 흥미있는 그리고 관련성 있는 서술 데이터의 결정은 또한 타임라인 유닛이 생성된 기간을 고려할 수 있다. 예컨대, 사용자가 많은 다른 사진들을 가지고 있지 않은 기간의 특정 시간과 관련된 사진은 관련된 많은 사진을 가지는 기간으로부터의 유사한 사진보다 좀 더 관심있고 관련성 있는 것으로 간주될 수 있다. 가장 관심 있고 관련성 있는 서술 데이터의 결정은 또한 대상 사용자 및/또는 열람 사용자의 기호를 선호를 고려할 수 있다.
실시예에서, 타임라인 유닛 생성기(120)는 가장 관심있고 관련성 있는 서술 데이터를 결정하기 위하여 -기계-학습 모듈(345)에 의해 생성된- 기계-학습 모델을 사용할 수 있다. 다른 실시예에서, 타임라인 유닛 생성기(120)는 가장 관심있고 관련성 있는 서술 데이터를 결정하기 위하여 규칙-기반 시스템을 사용하며, 여기서 규칙들은 수동으로 프로그램된다. 또 다른 실시예에서, 타임라인 유닛 생성기(120)는 대상 사용자, 열람 사용자 또는 모두로부터의 (사용자 관리를 통하는 것과 같이) 피드백을 수집하는 것에 의해 타임라인 유닛 생성에 사용될 서술 데이터를 결정한다. 타임라인 유닛 생성기는 또한 타임라잇 유닛들의 생성을 위한 서술 데이터를 선택하기 위하여 상술한 기술들의 임의의 조합을 함께 사용할 수 있다. 다른 실시예에서, 타임라인 유닛 생성기(120)는 관련성을 전혀 고려하지 않고, 모든 서술 데이터를 사용하여 특정 기간 동안의 타임라인 유닛들을 생성할 수 있다.
일 실시예에서, 타임라인 유닛 생성기(120)는 예컨대 대상 사용자를 포함하는 사진, 대상 사용자에 관한 포스팅, 대상 사용자에 의해 참석된 이벤트 등과 같이 단일 대상 사용자와 관련된 서술 데이터만을 선택하는 것에 의해 그 단일 대상 사용자와 관련된 타임라인 유닛들을 생성할 수 있다. 이 타임라인 유닛들은 단일 대상 사용자에 대한 타임라인을 생성하기 위하여 사용될 수 있다.
다른 실시예에서, 타임라인 유닛 생성기(120)는 예컨대 모든 대상 사용자들을 포함하는 사진, 모든 대상 사용자들에 의한 코멘트를 포함하는 코멘트 스레드(threads), 모든 대상 사용자들이 참석한 이벤트 등과 같이 공통 타임라인 그룹들 내의 모든 대상 사용자들과 관련된 서술 데이터를 선택하는 것에 의하여 "공통 타임라인 그룹" 내의 둘 이상의 대상 사용자들과 관련된 타임라인 유닛들을 생성한다. 이 타임라인 유닛들은 공통 타임라인 그룹들 내의 모든 대상 사용자들에 대한 공통 타임라인을 생성하기 위하여 사용될 수 있다. 다른 실시예에서, 공통 타임라인은 단순히 개별 대상 사용자들에 대하여 생성된 타임라인 유닛들을 선택하고 단일 타임라인 상에 그들을 디스플레이하는 것에 의해 다수의 대상 사용자들에 대하여 구축될 수 있다. 생성된 주 타임라인은 공통 타임라인 그룹들에 대한 공통 타임라인 인터페이스를 요청하는 열람 사용자들에게 제공될 수 있다. 공통 타임라인은 공통 타임라인 그룹 내 대상 사용자들의 소셜 네트워킹 시스템 이력의 통일된 뷰를 제공한다. 예컨대, 질은 그녀의 반 친구인 밥, 짐 존에 대한 결합된 공통 타임라인을 한 번에 열람하는 옵션을 선택할 수 있다. 그러면 소셜 네트워킹 시스템(100)은 밥, 짐, 존의 공통 서술 데이터로부터 생성된 타임라인 유닛들을 선택하고, 질의 클라이언트 장치 상에 디스플레이하기 위하여 이 타임라인 유닛들을 전송할 것이다. 소셜 네트워킹 시스템의 사용자들 사이의 상호작용을 디스플레이하기 위한 시스템 및 방법들이 2011년 4월 15일자로 출원된 미국출원 번호 제13/087,672에 개시되어 있으며, 여기에 전체적으로 참조로 통합된다.
타임라인 유닛 생성기(120)에 의해 생성된 타임라인 유닛들은 그들이 포함하는 컨텐츠 유형과 그들이 가지는 정보 목적에 근거하여 서로 다른 유형을 가질 수 있다. 예를 들어, 일부 타임라인 유닛들은 특정 이벤트에 관한 정보를 디스플레이하기 위하여 설계될 수 있다. 예컨대, 직업 변경, 여행, 결혼, 생일, 필름 열람 등에 관한 정보를 디스플레이하기 위하여 설계된 구별된 타임라인 유닛 유형들이 있을 수 있다. 일부 타임라인 유닛들은 다양한 유형의 데이터의 종합 그룹들을 디스플레이하기 위한 목적으로 설계될 수 있다. 예컨대, 특정 기간 또는 이벤트로부터의 사진, 비디오 또는 음악을 종합하기 위한 타임라인 유닛 타입들(예컨대, 기간 동안의 사진 리포트)이 있을 수 있다. 다른 타임라인 유닛들은 소셜 네트워킹 시스템의 사용자들에 의해 수행된 행위들과 관련된 정보를 디스플레이하기 위하여 사용될 수 있다. 예컨대, 특정 기간에 사용자에 의해 이루어진 연결에 관한 정보를 디스플레이하기 위하여 설계된 타임라인 유닛들이 있을 수 있다-예를 들어, 타임라인 유닛은 특정 기간 에 사용자가 만든 친구들을 디스플레이할 수 있다(즉, 친구 리포트).
서로 다른 타임라인 유닛 유형들은 열람 사용자에게 도움이 되고 미적으로 보기 좋은 방식으로 그들이 포함하고 있는 데이터를 배열할 것이다. 타임라인 유닛들은 그들이 표현하는 서술 데이터의 요약을 제공하고자 하기 때문에, 반드시 표현을 위해 생성된 모든 서술 데이터를 디스플레이하지 않을 것이다. 타임라인 유닛들의 시각적 표현은 서술 데이터의 집약적이고 유익한 요약을 사용자에게 제시하기 위하여 정보 요약 요소를 디스플레이할 수 있다. 정보 요약 요소는 (이미지 요약으로서의 역할을 하는) 이미지 섬네일, (텍스트 코멘트 요약으로서의 역할을 하는) 텍스트 추출물, (비디오 요약으로서의 역할을 하는) 프레임 캡쳐 및 GIF 애니메이션, (서술 데이터에 관한 정보를 제공하는 수인) 통계정보 요약 등을 포함한다. 이들 정보 요약 요소는 사용자에게 가장 흥미로운 정보를 제시하기 위하여 가장 관련성 있거나 흥미있는 서술 정보로부터 생성될 수 있다. 예컨대, 타임라인 유닛은 사진 앨범에 대하여 생성될 수 있고, 그에 대하여 디스플레이되는 정보 요약 요소는 사진 앨범 내의 세 개의 가장 인기있는 사진들의 섬네일뿐 아니라 앨버 내의 사진의 수를 가리키는 디스플레이된 수를 포함할 수 있다.
정보 요약 요소는 밑줄친 서술 정보의 변경으로서 동적으로 업데이트될 수 있다. 타임라인 유닛의 시각적 표현은 또한 그들에게 관심을 갖는 특정 서술 데이터에 대하여 좀 더 많은 정보를 획득하는 편리한 방법을 사용자에게 제공하는 탐색 도구를 포함할 수 있다. 이들 탐색 도구는 웹 링크, 탭 및 버튼과 같은 요소를 포함한다. 디스플레이된 타임라인 유닛의 요소는 정보 요약 요소 및 탐색 도구 모두일 수 있다. 예컨대, 타임라인 유닛의 시각적 표현은 대상 사용자의 사진 앨범으로부터의 이미지들을 나타내는 사진 섬네일의 세트를 포함할 수 있고, 여기서 각 섬네일은 사진 앨범 잔체를 탐색하기 위하여 그리고 그 앨범 내의 다른 사진들을 열람하기 위하여 클릭될 수 있는 링크일 수 있다.
타임라인 유닛 스코어러(420)는 대상 사용자(들) 및/또는 열람 사용자들에 대한 타임라잇 유닛의 관련성에 해당하는 각 생성된 타임라인 유닛에 대한 점수를 생산한다. 타임라인 유닛 스코어러(420)는 각 생성된 타임라인 유닛에 대한 점수를 생성하기 위하여 기계-학습 모델들을 사용할 수 있다. 이 기계-학습 모델들은 기계-학습 모듈(345)에 의해 생성된다. 일 실시예에서, 기계-학습 모델들은 유사한 유형의 다른 타임라인 유닛들에 대하여 타임라인 유닛들을 평가하기 위하여 기계-학습 기술을 사용한다. 예컨대, 사진을 포함하는 타임라인 유닛들은 링크나 텍스트를 포함하는 타임라인 유닛들이 아닌 사진을 포함하는 다른 타임라인 유닛들과 비교된다. 타임라인 유닛들의 관련성을 평가하기 위하여, 기계-학습 모델들을 타임라인 유닛들 내에 표현된 서술 데이터의 다양한 특징들을 입력으로 사용할 수 있다. 이 특징들은 사용자 "좋아요"(가령 엄지 척 버튼 또는 좋아요 버튼의 활성화), 사용자 코멘트, 사용자 태그, 사용자 열람, 사용자 친밀감 등과 같이 서셜 데이터 신호들을 포함할 수 있으나, 이미지 특징, 비디오 특징, 텍스트 특징등과 같은 다른 신호들을 포함할 수도 있다.
타임라인 유닛 생성기(120)에 의해 출력된 점수들(402)을 갖는 생성된 타임라인 유닛들은 타임라인 유닛의 순위를 생성하기 위하여 타임라인 유닛 랭커(125)에 의해 처리된다. 서로 다른 유형의 타임라인 유닛들을 하나의 균일한 순위로 위치시키기 위하여, 타임라인 랭커(125)는 서로 다른 타임라인 유닛 유형들에 걸친 점수들을 표준화한다. 표준화 프로세스는 그들의 순위를 증가하거나 감소시키도록 특정 타임라인 유닛 유형들에 가중치를 주는데 사용될 수 있다. 예컨대, 소셜 네트워킹 시스템(100)은 열람자들이 종종 텍스트보다는 사진을 선호하기 때문에, 텍스트를 주로 사용하는 타임라인 유닛의 가중치를 감소시키는 반면 사진을 포함하는 타임라인 유닛에 추가 가중치를 줄 수 있다. 표준화 프로세스의 가중치 및 상세사항은 소셜 네트워크 시스템(100)의 필요에 근거하여 조정될 수 있다. 예컨대, 표준와 프로세스는 기호 및 선호도를 고려하기 위하여 특정 사용자 또는 특정 인구통계에 대하여 구성될 수 있다. 일 실시예에서, 타임라인 유닛 랭커(125)는 각 타임라인 유닛 유형에 대하여 적절한 가중치를 결정하기 위하여 기계-학습 모델들을 사용한다. 이러한 기계-학습 모델들은 기계 학습 모듈(345)에 의해 생성된다. 각 타임라인 유닛 유형에 대한 가중치를 결정하기 위하여, 기계-학습 모델들은 이들 타임라인 유닛 유형들과 관련된 다양한 특징들 및 소셜 데이터 신호들을 설펴볼 수 있다. 이 특징들 및 신호들은 사용자 "좋아하는 것들", 사용자 코멘트, 사용자 열람, 사용자 친밀도 등을 포함하며, 이들 타임라인 유닛 유형들에 포함된 기본 서술 데이터로부터의 특징들을 포함할 수 있다.
타임라인 유닛들이 표준화되면, 타임라인 유닛 랭커(125)는 표준화된 점수들에 근거하여 순위를 생성할 것이다. 순위화된 타임라인 유닛들(403)은 타임라인 유닛 스토어(365)에 저장되거나 타임라인 인터페이스(200) 내에서 타임라인(220)에 디스플레이하기 위하여 타임라인 관리자(119)에 의해 직접 선택될 수 있다.
일 실시예에서, 타임라인 유닛들을 순위화한 후에, 타임라인 유닛 랭커(125)는 다수의 타임라인 유닛들에 나타나는 중복 서술 데이터를 제거(중복 제거)하고자 할 수 있다. 간단한 실시예에서, 타임라인 유닛 랭커(125)가 동일한 행위 또는 사용자 데이터를 포함하는 두 개의 타임라인 유닛들을 검출한 경우, 타임라인 유닛 랭커(124)는 더 낮은 점수를 갖는 타임라인 유닛을 제거할 것이다. 이것은 예를 들어, 두 개 이상의 타임라인 유닛들에 동일한 사진 또는 코맨트가 나타나는 상황을 방지한다. 좀 더 정교한 실시예에서, 타임라인 유닛 랭커(125)가 동일한 서술 데이터를 포함하는 두 개의 타임라인 유닛들을 검출한 경우, 타임라인 유닛 랭커(125)는 더 낮은 점수를 갖는 타임라인 유닛으로부터 중복되는 서술 데이터만을 제거하고자 할 것이다. 이 프로세스는 중복된 서술 데이터의 제거가 타임라인 유닛을 "관심없게" 또는 효력없게 하는지를 결정하기 위하여 타임라인 유닛 랭커(125)에게 추가 분석을 수행할 것을 요구할 수 있다. 예컨대, 타임라인 유닛이 오직 하나의 사진 또는 그 사진에 대한 코멘트만을 포함한다면, 열람자가 코멘트 없이도 그 사진을 보는 것을 즐길 수 있기 때문에 코멘트의 제거는 타임라인 유닛을 관심없게 만들지 않을 수 있다. 그러나, 이 예에서 중복된 자료가 사진이라면, 사진에 대한 코멘트는 그 사진 없이는 관심이 없기 때문에 사진의 제거는 타임라인 유닛을 관심없게 할 것이다.
일 실시예에서, 타임라인 관리자(119)가 사진 인터페이스에 디스플레이될 타임라인 유닛을 선택할 때, 타임라인 유닛 랭커(125)는 타임라인(220) 내에 다양한 다른 타임라인 유닛 유형들이 존재함을 보장하는 다양화 프로세스를 구현할 수 있다. 그러한 다양화 프로세스는 단일 타임라인(220)이 단조로운 결과인 단일 타임라인 유닛 유형의 초과로 채줘지지 않을 것을 보장하기 위하여 사용된다. 예컨대, 다양화 프로세스가 없으면, 특정 기간 동안 상위 열 개의 타임라인 유닛들이 모두 주로 사진 타임라인 유닛들일 수 있다. 이는 대부분의 사진과 기타 다른 것(단조로운 선택)을 갖는 타임라인(220)을 가져올 것이다. 그러한 결과를 방지하기 위하여, 타임라인 유닛 랭커(125)는 타임라인 관리자(119)에 의해 선택된 타이라인 유닛들의 다양성을 보장하기 위한 다양한 방법들을 사용할 것이다. 하나의 그러한 방법은 특정 기간 동안 각 타임라인 유닛 유형의 특정 수만이 디스플레이를 위하여 선택될 수 있게 하는 것이다. 다른 방법은 동일한 유형의 다른 타임라인 유닛들의 특정수가 특정 기간 동안 디스플레이를 위하여 이미 선택되면 주어진 타입에 대한 타임라인 유닛들에 부정적인 가중치를 주는 것이다. 일 실시예에서, 다양화 프로세스는 타임라인 유닛들이 순위화되거나 타임라인 유닛 스토어(365)에 저장될 때 미리 수행될 수 있다. 다양화는 열람 사용자, 대상 사용자 또는 둘 다의 인구 통계학에 근거하여 변화될 수 있다.
일 실시예에서, 타임라인 관리자(119)는 사용자가 타임라인 유닛의 한 유형이 훨씬 많이 또는 타임라인 유닛의 한 유형을 배제하고 도시하도록 편향된 타임라인(220)의 특정 "뷰들"을 선택하도록 할 수 있다. 타임라인 관리자(119)는 간단하게 특정 유형의 타임라인 유닛들의 점수에 더 높은 가중치를 주어서 이들 타임라인 유닛의 전부 또는 대부분이 타임라인(220)에의 디스플레이를 위하여 선택되도록 하는 것에 의해 이를 달성할 수 있다. 예컨대, 사용자가 타임라인(220)의 "사진" 뷰를 선택한다면, 타임라인 관리자(119)는 타임라인 유닛들의 다른 유형들보다 사진을 포함하는 타임라인 유닛들에 훨씬 높은 점수를 줄 수 있으며, 따라서 사진을 갖는 타임라인 유닛들이 타임라인(220)에 디스플레이된다.
기계-학습 모듈
기계-학습 모듈(345)은 타임라인 유닛 스코어러(420) 및 타임라인 유닛 생성기(120), 타임라인 유닛 랭커(125)에 의한 사용 및 타임라인 인터페이스의 다양한 구성요소들에 의해 요구되는 바와 같이 관련성에 대한 컨텐츠의 순위화를 위한 기계-학습 모델들(404)을 생성한다. 예컨대, 기계-학습 모델들은 특정 기간 동인 사진 리포트에 디스플레이하기 위한 가장 관련성 있는 사진들을 결정하기 위하여 타임라인 관리자(119)에 의해 사용될 수 있다. 기계-학습 모듈(345)에 의해 생성된 기계-학습 모델들은 트리-기반 모델들, 커널 모델들, 뉴럴 네트워크들, 스플라인들 및 이들 기술들의 하나 이상의 조합을 포함할 수 있다. 기계-학습 모듈(345)은 또한 모델들을 생성하기 위하여 다른 기계-학습 방법 또는 통계학적 방법을 사용할 수 있다.
일 실시예서, 기계-학습 모듈(345)은 타임라인 인터페이스(200)로부터 수집된 사용자 관리 데이터(400)를 가져오며 다른 모듈에 의해 사용되는 기계-학습 모델들(404)을 향상시키기 위하여 이 정보를 사용한다. 사용자 관리 데이터는 타임라인 유닛들이 대상 사용자에 의하여 숨겨지거나, 약화되거나, 삭제되거나, 별표시되거나, 좋아요 되거나 홍보되는 타임라인 유닛들에 관한 데이터와 같이 명시적 선호 데이터뿐만 아니라, 열람되거나, 확대되거나, 링크되거나, 코멘트되는 등의 타임라인 유닛들에 대한 정보와 같이 묵시적으로 수집된 소셜 데이터 또한 포함할 수 있다. 이 명시적이고 묵시적인 사용자 관리 데이터는 다른 모듈들에 의해 사용될 수 있는 기계-학습 모델들을 향상시키는 훈련 데이터로서 기계-학습 모듈(345)에 의해 사용될 수 있다. 예컨대, 기계-학습 모듈(345)로부터의 훈련된 기계-학습 모델은 점수 표준화 프로세스 동안 다양한 유형의 타임라인 유닛들에 주어져야할 가중치를 결정하기 위하여 타임라인 유닛 랭커(125)에 의해 사용될 수 있다. 다른 훈련된 기계-학습 모델은 타임라인 유닛 점수들을 생성하기 위하여 타임라인 유닛 스코어러(420)에 의해 사용될 수 있다. 또 다른 훈련된 기계-학습 모델은 타임라인 유닛들의 생성을 위한 가장 흥미있거나 관련성 있는 서술 데이터를 결정하기 위하여 타임라인 유닛 생성기(120)에 의해 사용될 수 있다.
기계-학습 모듈(345)은 소셜 네트워킹 시스템(100)의 전체 사용자 기반의 선호를 수집하는 기계-학습 모델들의 단일 세트를 생성할 수 있거나, 기계-학습 모듈(345)은 소셜 네트워킹 시스템(100)의 사용자 기반의 서브셋을 위한 기계-학습 모델들의 분리된 세트(예컨대, 다른 나이 범위의 사람을 위하여 모델들의 다른 세트)를 생성하기 위하여 사용될 수 있다. 기계-학습 모듈(345)은 또한 소셜 네트워킹 시스템(100)의 각 개별 사용자의 선호를 수집하기 위하여 기계-학습 모델들의 구별된 세트를 생성하기 위하여 사용될 수 있다.
타임라인 유닛 생성 프로세스
도 5a 및 도 5b는 소셜 네트워킹 시스템(100) 내의 타임라인 유닛들을 생성, 순위화 및 디스플레이하기 위한 프로세스의 일 실시예를 도시한다. 첫 번째 단계로서, 소셜 네트워킹 시스템은 대상 사용자(들)에 대한 타임라인 유닛들을 생성하기 위한 프로세스를 시작한다(500). 이 프로세스는 소셜 네트워킹 시스템의 사용자들에 대한 새롭고 업데이트된 타임라인 유닛들을 연속적으로 생성하기 위하여 주기적으로 시작될 수 있거나, 대상 사용자의 타임라인에 접속하기 위한 열람 사용자에 의한 시도와 같은 이벤트에 응답하여 시작될 수 있다. 프로세스가 시작되면, 타임라인 유닛 생성기는 대상 사용자(들)와 관련된 서술 데이터를 결정할 것이다(501). 관련 서술 데이터는 데이터베이스 내에서 대상 사용자(들)와 이미 연관되어 있을 수 있으며, 또는 대상 사용자(들)과 다양한 데이터 사이의 연관 및 링크들을 발견하기 위하여 행위 로그 및 사용자 데이터 스토어 내의 행위들 및 사용자 데이터를 프로세싱하는 것에 의하여 발견될 수 있다. 예컨대, 사진은 그 사진과 관련된 대상 사용자의 이름을 포함하는 캡션에 근거하여 대상 사용자와 관련된 서술 데이터로 결정될 수 있다. 유사하게, 대상 사용자(들이) 행위자들 중 하나인 행위들이 또한 관련 서술 데이터로 결정될 수 있다.
서술 데이터가 식별되면, 타임라인 유닛 생성기는 각 기간 동안 타이라인 유닛 생성에 사용될 이 서술 데이터로부터 가장 흥미있고 관련성 있는 아이템들을 결정할 것이다(502). 가장 관련성 있고 흥미있는 서술 데이터의 결정은 이전 문단들에서 설명된 바와 같이 기계-학습 모델을 사용하여 달성될 수 있거나, 몇몇 다른 방법들이 채용될 수 있다. 일부 실시예에서, 프로세스의 이후 단계들로부터의 데이터의 사용자 관리는 가장 관련성 있는/흥미있는 서술 데이터를 결정하는 프로세스(502)를 향상시키기 위하여 기계-학습 모델들로 재공급될 수 있다.
일 실시예에서, 타임라인 관리자(119)는 열람 사용자에게 열람이 허용된 서술 데이터의 아이템들을 결정하기 위하여 대상 사용자 및 열람 사용자의 개인정보보호 설정을 고려할 수 있다. 열람 사용자에게 서술 데이터의 특정 아이템들에 대한 열람이 허용되지 않은 경우, 서술 데이터의 이 아이템들은 타임라인 유닛들의 생성에 사용되지 않을 것이다. 다른 실시예에서, 프로세스의 이 단계에서 개인보호 체크가 없는 대신, 여기서 설명된 바와 같이 선택 이전에 생성된 타임라인 유닛들 상에 개이보호 프로세스가 작동할 수 있다.
서술 데이터가 식별 및 선택되면, 타임라인 유닛들이 생성되고(503), 점수가 매겨진다(504). 타임라인 유닛들의 점수화(504)는 또한 기계-학습 모델들을 채용할 수 있다. 이 모델들은 서술 데이터를 평가하기 위한 기계-학습 모델들과 동일할 수 있거나 분리된 모델들일 수 있다. 타임라인 유닛들에 점수가 매겨지면, 이전 문단들에서 설명된 바와 같이 타임라인 유닛 유형에 의하여 점수들이 표준화된다(505). 이 표준화 프로세스는 순위화 및 선택의 목적으로 다운스트림 프로세스에 의해 주로 처리될 수 있도록 특정 타임라인 유닛 유형들에 가중치를 주기 위하여 사용될 수 있다. 표준화 프로세스에서 각 타임라인 유닛 유형들에 대하여 사용된 가중치는 기계-학습 모델에 의해 생성될 수 있다.
표준화된 타임라인 유닛들은 다음으로 점수에 의하여 순위화되고(506) 반복되는 데이터를 제거하기 위하여 중복 제거된다(507). 중복 제거 프로세스는 반복되는 데이터를 갖는 낮은 순위의 타임라인 유닛들을 제거하는 것을 포함할 수 있거나, 낮은 순위의 타임라인 유닛들로부터 반복되는 서술 데이터만을 선택적으로 제거하는 것을 포함할 수 있다.
타임라인 유닛들이 순위화되고(506) 중복 제거되면(507), 각 기간 동안 타임라인 유닛 순위내에 상당히 다양한 타임라인 유닛들이 있음을 보장하기 위하여 다양화 프로세스(508)가 있을 수 있다. 타임라인 유닛들의 다양화는 많은 다른 방법들로 달성될 수 있다. 타임라인 유닛들은 특정 이간 동안의 타임라인 유닛 순위들 내에 지나치게 많이 표시된 타임라인 유닛 유형들의 점수에 벌점을 주고 별로 나타나지 않는 타임라인 유닛 유형들의 점수에 가점을 주는 것에 의해, 도 5a에 도시된 바와 같이 순위화(506) 및 중복 제거(507) 후에 다양화될 수 있다. 도 5a에 도시된 실시예에서, 다양화(508) 후 타임라인 유닛들은 추후 검색되고 디스플레이될 수 있도록 저장된다(509). 다른 실시예에서, 타임라인 유닛들은 저장 단계를 건너뛰고, 다양화 후에 바로 디스플레이를 위하여 선택된다.
다른 실시예에서, 다양화(508)는 나중에 특정 기간에 디스플레이될 타임라인 유닛들이 검색되는 프로세스에서 달성될 수 있다. 후자의 프로세스에서, 어떤 프로세스 유닛 유형들이 스토어로부터 이미 선택되었는지를 모니터하고, 필요에 따라 타이라인 유닛들의 다른 유형을 주로 선택하는 것에 의하여 타임라인 유닛 스토어(365)로부터 선택됨에 따라 타임라인 유닛들이 다양화될 수 있다. 타임라인 유닛들을 다양화하기 위한 이 후자의 프로세스는 기간이 타임라인 관리자(119)에 의해 고정되는 것에 대조적으로 사용자 정의되는 경우 특히 유용하다.
도 5b는 소셜 네트워킹 시스템(100)에서 타임라인 유닛들을 검색하고 디스플레이하기 위한 프로세스의 일 실시예를 도시한다. 이 프로세스는 열람 사용자가 대상 사용자(들)에 대한 타임라인 인터페이스를 요청할 때 시작된다. 타임라인 관리자는 디스플레이할 기간을 결정한다(510). 타임라인 인터페이스는 열람 사용자가 그들이 열람하기 원하는 대상 사용자(들) 데이터의 기간을 가리킬 수 있도록 다양한 그래픽 사용자 인터페이스들을 사용할 수 있다. 간단한 실시예로, 열람 사용자에게는 그들로부터 선택할 수 있다록 기결정된 기간의 리스트가 주어진다. 좀 더 복잡한 실시예로, 열람 사용자에게는 그들이 열람하기 원하는 기간의 시작과 끝을 선택할 수 있는 능력이 주어진다. 열람 사용자가 디스플레이될 기간을 선택하지 않으면, 타임라인 관리자는 예컨대 최근 기간과 같이 디폴트 기간을 사용하여 타임라인 인터페이스를 디스플레이할 수 있다.
기간의 경계가 결정되면, 타임라인 관리자는 검색할 타임라인 유닛들의 수를 결정할 것이다(511). 타임라인 관리자는 타임라인(220)에 사용할 수 있는 공간에 근거하여 이 결정을 할 수 있다. 기간을 채우기 위하여 필요한 타임라인 유닛들의 수가 알려지면, 타임라인 관리자는 디스플레이를 위한 타임라인 유닛들을 검색할 것이다(512). 그러나, 타임라인 유닛들이 디스플레이되기 전에, 타임라인 관리자는 현재 열람 사용자가 열람 권한을 가지고 있지 않은 서술 데이터를 포함하는 임의의 타임라인 유닛들이 있는지를 결정할 것이다(513). 서술 데이터를 열람하는 열람 사용자 권한은 대상 사용자(들)의 개인정보보호 설정 및 열람 사용자와 대상 사용자(들) 사이의 관계에 근거할 것이다. 대상 사용자(들)가 "친구만"으로 일부 설정 데이터를 제한하고 열람 사용자가 대상 사용자(들)의 연결이 아니라면, 그 열람 사용자는 그 서술 데이터의 표현을 포함하는 타이라인 유닛을 열람할 권한을 갖지 않을 것이다. 열람 사용자가 제한된 열람 권한만을 갖는다면, 현재 디스플레이된 기간의 디스플레이에 디스플레이될 중분한 타임라인 유닛들이 존재하지 않을 수 있다. 이 상황에서, 타임라인 관리자는 기간 디스플레이의 일부를 비워둘 수 있거나, 타임라인 유닛 생성기로부터 추가 타임라인 유닛들을 요구할 수 있다.
타임라인 유닛들이 선택되면, 그들은 직접 전송되거나 상술한 바와 같이 디스플레이될(515) 타임라인 인터페이스의 다른 요소들과 함께 열람 사용자의 클라이언트 장치(105)로 전송되기 전에 디스플레이가능한 표현으로 변환될 수 있다 - 일 실시예로 타임라인 인터페이스는 대상 사용자(들)의 프로필 페이지의 일부로서 전송된다. 이 단계 후, 타임라인 관리자는 디스플레이된 타임라인 유닛들 및/또는 그들에 포함된 서술 데이터에 대하여 열람 사용자의 클라이언트 장치(105)로부터 수집된 사용자 관리 정보를 수신할 수 있다(516). 사용자 관리 정보는 서술 데이터 상의 클릭, 타임라인 유닛들의 이동, 타임라인 유닛들의 숨기기, "별", "핀", "버튼" 등을 통한 타임라인 유닛들의 마킹을 포함하는 사용자 피드백의 다양한 유형들 및 사용자 상호작용에 공통적으로 사용되는 다른 사용자 피드백 매커니즘들로 구성될 수 있다. 일부 실시예에서, 사용자 관리 데이터는 대상 사용자(들)로부터만 수집된다. 다른 실시예에서, 관리 데이터는 또한 열람 사용자로부터 수집된다.
스토리 및 뉴스피드
타임라인 유닛들은 좀 더 일반적인 소셜 네트워크 스토리 집합의 특정 부분일 수 있다. 소셜 네트워크 스토리(또는 단지 "스토리")는 다양한 소셜 네트워킹 시스템 열람에서 디스플레이되도록 구성된 소셜 네트워킹 시스템(100)에 의해 수집된 데이터의 집합이다. 예컨대, 스토리는 웹 브라우저에서 연속적으로 업데이트되는 실시간 뉴스피드로 열람 사용자들에게 제시될 수 있거나, 타임라인 열람에 디스플레이될 수 있거나(즉, 타임라인 인터페이스의 타임라인 유닛들), 지도 뷰 등을 통하여 디스플레이될 수 있다.
스토리 생성 프로세스는 타임라인 유닛 프로세스의 좀 더 일반화된 형태이다. 다른 목적(즉, 다른 열람)을 위한 스토리들을 생성하도록 구성된 다른 유형의 스토리 생성기들이 존재한다. 스토리 생성기들은 생성된 스토리의 모습 및 동작을 구성하기 위하여 스토리 템플릿들을 사용하여 서술 데이터를 선택하고 스토리를 생성시킨다. 스토리 생성기는 특정 열람을 위한 스토리를 생성하도록 구성되며, 타겟 열람에 근거하여 스토리를 생성하기 위하여 그들이 사용하는 서술 데이터의 선택을 제한할 수 있다. 예컨대, 스토리 생성기는 "체크인"한 지도 뷰를 위한 스토리를 생성하도록 구성될 수 있으며, 이러한 목적에 근거하여 스토리 생성기는 "체크인한 위치" 유형으로 스토리를 생성하도록 서술 데이터의 사용을 제한할 수 있다. 다른 예로, 스토리 생성기는 사진 앨범 열람을 위한 스토리를 생성하도록 구성될 수 있으며, 이러한 목적에 근거하여 이미지를 포함하거나 참조하는 서술 데이터에 대한 스토리를 생성하도록 서술 데이터의 사용을 제한할 수 있다. 타임라인 유닛 생성기는 타임라인 열람(즉, 타임라인 인터페이스 상에 디스플레이)에 적절한 스토리를 생성하도록 구성된 하나 이상의 전용 케이스 스토리 생성기로서 생각될 수 있다.
스토리 생성 프로세스의 응용의 다른 실시예는 뉴스피드 열람 및 이력적 뉴스피드 열람을 위한 스토리의 생성이다. 일 실시예에서, 뉴스피드는 간단히 실시간으로 업데이트하는 열람 사용자에 대한 가장 관련성 있는 최근 스토리의 스크롤가능한 리스트이다. 이력적 뉴스피드는 현재 기간에 대응하는 과거 기간으로부터의 스토리를 사용하여, 과거의 일부 기간에 대하여 재구축된 뉴스피드이다. 뉴스피드 및 이력적 뉴스피드에 대하여 스크롤가능한 리스트 내에 함께 디스플레이되는 서로 다른 유형의 스토리들을 생성하는 서로 다른 유형의 다수의 스토리 생성기들이 존재할 수 있다. 소셜 네트워킹 시스템에 의해 수집된 데이터로부터 뉴스피드용 스토리를 생성하기 위한 시스템 및 방법이 2006년 8월 11일자로 출원된 미국출원번호 제11/503,037호 및 2006년 8월 11일에 출원된 미국출원번호 제11/502,757호에 개시되어 있으며, 여기에 전체로서 참조로 통합된다.
도 6은 뉴스피드 및 이력적 뉴스피드를 위한 스토리 생성, 선택 및 디스플레이 프로세스의 일 실시예를 도시한다. 하나 이상의 스토리 생성기가 스토리 생성을 위하여 사용될 서술 데이터를 선택하고 필터링한다(600). 뉴스피드를 위한 서술 데이터의 선택은 뉴스피드가 생성될 열람 사용자에 근거할 수 있다. 일 실시예에서, 스토리 생성기는 열람 사용자 및 열람 사용자의 직접 연결(친구, 친척, 동료 등)와 관련있는 모든 서술 데이터를 선택한다. 다른 실시예에서, 스토리 생성기는 특정 조건을 만족하는 특정 서술데이터만을 선택하도록 하나 이상의 필터들을 사용할 수 있다. 예컨대, 필터는 열람 사용자가 가장 높은 친밀도 점수를 갖는 서술 데이터만을 선택하는 것에 의해 가장 관련성 있는 서술 데이터만을 선택하기 위하여 사용될 수 있다. 순위화 프로세스가 가장 관련성 있는 서술 데이터를 선택하는 것을 보조하기 위하여 사용될 수 있다. 다른 실시예에서, 필터는 열람 사용자가 과거에 열람했던 모든 서술 데이터를 제거하여, 열람되지 않은 서술 데이터만이 스토리 생성에 사용되도록 사용될 수 있다. 유사하게, 뉴스피드는 최근 수집된 서술 데이터(가령, 어제 또는 지난 주에 수집된 서술 데이터)로 서술 데이터의 선택을 제한하는 필터를 사용하는 것에 의하여 스토리 생성을 위한 새로운 서술 데이터를 선택할 수 있다. 스토리 생성기는 또한 서술 데이터의 유형에 근거하여 서술 데이터를 필터링할 수 있다. 예컨대, "이벤트" 스토리 생성기는 이벤트와 관련된 서술 데이터만을 선택할 수 있는 반면, 사진 스토리 생성기는 이미지를 포함하는 서술 데이터만을 선택할 수 있다. 일 실시예에서, 스토리 생성기는 서술 데이터와 관련된 대상 사용자의 개인정보보호 설정에 근거하여 서술 데이터의 선택을 필터링한다. 열람 사용자가 대상 사용자에 의하여 서술 데이터의 특정 부분을 열람하는 것에 대한 허락을 얻지 못한 경우, 스토리 생성기는 스토리 생성 프로세스로부터 그 서술 데이터를 배제할 수 있다. 다른 예에서, 스토리 생성 단계에서 개인정보보호 필터링을 하지 않고, 이하에서 설명되는 바와 같이 이후에 개인정보보호가 실행된다.
이력적 뉴스피드용 스토리 생성을 위한 서술 데이터의 선택 및 필터링 프로세스는 이력적 뉴스피드의 경우 스토리 생성기가 서술 데이터에 대한 열람 사용자의 현재 친밀도 점수 또는 이력적 데이터가 생성되는 기간으로부터의 열람 사용자의 이력적 침밀도 점수에 근거하여 필터링할 수 있다는 점을 제외하고는 뉴스피드에 대한 것과 유사하다. 또한 서술 데이터는 이력적 뉴스피드가 생성되는 기간과 관련된 데이터를 선택하도록 필터링될 것이다.
스토리 생성기는 스토리 템플릿들을 사용하여 후보 스토리들의 풀(pool)을 생성하기 위하여(602) 선택된 서술 데이터를 사용한다. 스토리 템플릿은 어떠한 서술 데이터가 스토리 내에 디스플레이되도록 구성되어야 하는지에 대한 정보를 포함한다. 스토리 템플릿은 데이터의 특정 레이아웃 및 배열을 정의할 수 있고, 스토리의 목적에 근거하여 스토리에 대한 특정 사용자 인터페이스 또는 동작들을 정의할 수 있다. 이는 서술 데이터가 서로 다른 유형의 타임라인 유닛들 내에 서로 다른 사용자 인터페이스와 서로 다른 방식으로 배열된 타임라인 유닛 생성 프로세스와 유사하다. 마찬가지로, 뉴스피드 및 이력적 뉴스피드 내에 서로 다른 사용자 인터페이스와 바열을 구비한 서로 다른 유형의 스토리들이 존재할 수 있다.
생성 후, 후보 스토리들의 풀은 프로세스의 이후 단계에서 사용을 위하여 빠르게 접근될 수 있도록 데이터베이스 내에 저장된다. 일 실시예에서, 스토리는 스토리 메타데이터라 불리는 추가 정보와 함께 서술 데이터에 대한 참조 리스트로서 데이터베이스에 저장된다. 이 실시예에서, 스토리 메타데이터는 최종적으로 열람 사용자의 클라이언트 장치 상에 디스플레이하기 위한 시각적 표현으로 변환되는 경우 스토리의 모습 및 동작을 정의하는 정보이다.
후보 스토리들의 풀 내의 각 생성 스토리는 또한 고유 해시(hash) 또는 식별자와 연관될 수 있다. 이 해시는 스토리 생성기 유형 및 스토리 메타데이터에 근거하여 생성된다. 고유 해시는 소셜 네트워킹 시스템(100)이 열람 사용자가 열람하거나 상호작용하는 스토리를 추적하는 것을 가능하게 한다. 이 정보는 참조된 서술 데이터에 대한 열람 사용자의 친밀도 점수를 조정하거나 열람 사용자에 대한 서술 데이터 및/또는 스토리의 선택을 향상시키는데 사용될 수 있다. 일부 경우에, 새로운 서술 데이터가 소셜 네트워킹 시스템(100)에 의해 수집됨에 따라, 이전에 포함하지 않았던 일부 새로운 서술 데이터를 포함하도록 스토리가 재생성될 수 있다. 이 경우, 스토리의 해시는 스토리 생성기 유형 및 스토리 메타데이터만에 근거하여 하기 때문에 동일하게 유지될 것이나, 참조되는 서술 데이터는 다를 것이다. 이는 소셜 네트워킹 시스템(100)이 스토리 내에 디스플레이되는 서술 데이터가 시간에 따라 변한다 하더라도 스토리를 계속 추적할 수 있게 한다.
스토리들은 생성된 후, 열람 사용자에 대한 그들의 상대적 관련성을 결정하기 위하여 순위화될 수 있다(603). 후보 풀 내의 스토리들의 순위는 스토리 및 그 스토리가 참조하는 서술 데이터에 대한 열람 사용자의 친밀도 점수에 근거할 수 있다. 순위는 또한 직접 또는 참조된 서술 데이터에 대한 친밀도 점수에 반영하여 스토리에 대한 열람 사용자의 상호작용 이력을 고려할 수 있다. 순위는 또한 본 명세서에 설명된 타임라인 유닛 순위와 유사한 방식으로 기계-학습 모델에 의해 생성될 수 있다. 이력적 뉴스피드에 사용을 위하여 생성된 스토리는 열람 사용자의 현재 친밀도 점수에 근거하여 순위화될 수 있거나, 이력적 뉴스피드가 생성되는 기간으로부터의 열람 사용자의 이력적 친밀도 점수에 근거하여 순위화될 수 있다.
스토리들이 순위화된 후, 순위로부터 상위 스토리들이 순위에 근거하여 선택되고 필터링될 수 있다(604). 필터링 단계에서, 소셜 네트워킹 시스템(100)은 특정 조건을 만족하는 스토리를 제거하는 것에 의해 스토리 선택 프로세스 내의 다양한 정책들을 실행할 수 있다. 예컨대, 개인정보보호 정책은 스토리에서 참조된 서술 데이터와 관련된 대상 사용자의 개인정보보호 설정에 근거하여 실행될 수 있다. 이 예에서, 열람 사용자가 열람을 허락받지 못한 서술 데이터를 포함하는 모든 스토리들이 후보 스토리들의 풀에서 제거된다. 필터링 단계는 또한 뉴스피드 및 이력적 뉴스피드 내의 스토리에 대한 다양한 정책을 실행하는데 사용될 수 있다. 다양화 프로세스는 시스템이 상위 순위에 거의 나타나지 않는 순위의 스토리 유형을 긍정적으로 편향시키고 상위 순위에 지나치게 많이 나타나는 스토리 유형들을 부정적으로 편향시키는 것에 의해 뉴스피드용 스토리의 단조로운 선택을 피하고자 한다는 점에서 타임라인 유닛 다양화(508)와 유사한 방식으로 동작한다.
스토리 선택 프로세스는 또한 스토리 중복 제거(605) 단계를 포함할 수 있다. 중복 제거 단계는 타임라인 유닛 생성에서의 중복 제거(507)와 유사하다. 타임라인 유닛 생성기에서와 같이, 시스템은 중복 서술 데이터를 포함하는 하위 순위의 스토리를 전체적으로 필터링 제거하거나 하위 순위의 스토리로부터 중복된 서술 데이터만을 제거하는 것에 의하여 스토리로부터 중복 서술 데이터를 제거할 것이다.
마지막 단계로, 선택된 스토리는 요청된 뉴스피드 또는 이력적 뉴스피드의 일부로서 디스플레이하기 위하여 열람 사용자의 클라이언트 장치로 전송된다. 일 실시예에서, 스토리의 비가공 데이터는 클라이언트 장치로 전송되지 않고 대신 스토리의 시각적 표현의 전송된다. 시각적 표현은 스토리에서 참조된 서술 데이터에 접속하여 스토리 메타데이터의 정보를 사용하여 이 서술 데이터의 시각적 표현을 구성하는 것에 의하여 구축될 수 있다.
뉴스피드 및 이력적 뉴스피드는 상술한 실시예와 다른 변형들을 가질 수 있다. 상술한 실시예는 사용되는 서술 데이터가 열람 사용자 또는 열람 사용자의 임의의 연결과 관련되는 경우의 뉴스피드 및 이력적 뉴스피드를 설명하나, 다른 실시예로 선택된 서술 데이터는 단일 대상 사용자(이 또한 열람 사용자일 수 있다)와 관려된 것일 수 있다. 이 실시예에서는 열람 사용자 대신 대상 사용자의 친밀도 점수가 서술 데이터 및/또는 스토리의 관련성을 결정하기 위하여 사용될 수 있다. 본 명세서에서 기술된 타임라인(220)는 타임라인 유닛이 포괄적 스토리의 특정 구현인 후자의 실시예의 변형이다. 다른 병형으로, 뉴스피드 또는 이력적 뉴스피드를 위하여 생성된 스토리는 스토리가 지도 상의 위치로 표시된 "지도 뷰"의 일부로 제시될 수 있다. 이는 본 명세서에 설명된 타임라인 지도(280)와 유사하며, 스토리의 지도 뷰는 포괄적 스토리가 타임라인 유닛을 대체함에 따라 균등한 인터페이스를 가질 수 있다.
실제 고려사항
일부 실시예에서, 소셜 네트워킹 시스템(100)의 모듈들은 단일 네트워킹 시스템 내에 속하는 것이 아니라 여러개의 그러한 시스템을 가로질러 발견된다. 소셜 네트워킹 시스템(100)은 예컨대 API를 사용하여 다른 시스템들과 통신한다. 이러한 실시예들에서, 도 3에 도시된 일부 모듈들은 소셜 네트워킹 시스템(100) 내에서 동작하는 반면 다른 모듈들은 다른 시스템들 내에서 동작할 수 있다. 예컨대, 일 실시예로 사용자 데이터 스토어(350) 및 행위 로그(351)는 소셜 네트워킹 시스템(100) 외부의 일부 외부 네트워크된 데이터베이스 시스템 상에서 동작할 수 있다.
본 발명의 실시예들에 대한 상술한 설명은 설명을 목적을 제시된 것이며; 배타적이거나 개시된 세부 형태들로 본 발명을 제한하도록 의도되지 않는다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 상기 개시된 관점에서 많은 수정 및 변형이 가능함을 이해할 수 있을 것이다. 본 명세서의 일부 부분은 본 발명의 실시예들을 알고리즘적으로 그리고 정보상에 동작하는 기호 표현으로 설명한다. 알고리즘적 설명 및 표현은 통상의 기술자에게 효과적으로 그들의 성과의 실체를 전달하기 위하여 데이터 프로세싱 분야에서 통상의 지식을 가잔 자에 의하여 공통적으로 사용된다. 이 동작들은 기능적, 계산적 또는 논리적으로 설명되고 있지만, 이러한 동작들은 컴퓨터 프로그램 또는 균등의 전기 회로들, 마이크로코드 등에 의해 고현되는 것으로 이해된다. 또한 일반성을 손상시키지 않고 동작의 이러한 설계들을 모듈로서 언급하기 편리함이 증명되었다. 상술한 동작들 및 관련 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 그들의 조합으로 실현될 수 있다.
본 명세서에 기술된 임의의 단계들, 동작들 또는 프로세스들은 하나 이상의 하드웨어 또는 소프트웨어 모듈들 단독으로 또는 다른 장치들과 결합하여 수행되거나 구현될 수 있다. 일 실시예에서, 소프트웨어 모듈은 기술된 임의의 또는 모든 단계들, 동작들 또는 프로세스들을 수행하기 위하여 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 제품으로 구현될 수 있다. 본 발명의 실시예들은 또한 본 명세서의 동작들을 수행하기 위한 장치에 관한 것일 수 있다. 이 장치는 요구되는 목적을 위하여 특별히 구성될 수 있고, 및/또는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터 장치를 포함할 수 있다. 그러한 컴퓨터 프로그램은 비-일시적인 유형의 컴퓨터 판독가능한 저장 매체 또는 컴퓨터 시스템 버스에 결합될 수 있는 전자 명령어들을 저장하는데 적절한 임의 유형의 매체에 저장될 수 있다. 게다가, 본 명세서에 참조되는 임의의 컴퓨터 시스템들은 단일 프로세스를 포함할 수 있거나, 증가하는 컴퓨팅 능력을 위한 다수 프로세서 설계를 채용한 구조일 수 있다.
본 발명의 실시예들은 또한 본 명세서에 설명된 컴퓨팅 프로세스에 의해 생성된 제품에 관한 것일 수 있다. 그러한 제품은 컴퓨팅 프로세스의 결과인 정보를 포함할 수 있으며, 정보는 비-일시적인 유형의 컴퓨터 판독가능한 저장 매체에 저장되고, 컴퓨터 프로그램 제품의 임의의 실시예 또는 본 명세서에 개시된 임의의 데이터 조합을 포함할 수 있다.
마지막으로, 본 명세서에 설명된 용어는 가독성 및 설명의 목적으로 이론적으로 선택된 것이며, 본 발명의 주제를 제한하거나 한정하기 위하여 선택된 것은 아니다. 따라서 본 발명의 사상은 발명의 상세한 설명이 아닌, 본 출원에 기초하여 등록된 특허청구범위에 의해 제한되어야 한다. 따라서, 본 발명의 실시예들의 개시는 설명을 위한 것으로 발명의 범위를 제한하고자 하는 것이 아니며, 발명의 범위는 이하의 청구범위에 개시된다.

Claims (22)

  1. 컴퓨팅 장치에 의해, 소셜 네트워킹 시스템의 사용자들에 관한 서술 데이터의 복수의 아이템들에 관한 정보에 접속하는 단계;
    컴퓨팅 장치에 의해, 복수의 기간들 각각에 대하여, 그 기간 내의 시간과 관련된 서술 데이터의 하나 이상의 아이템들을 선택하는 단계;
    컴퓨팅 장치에 의해, 적어도 하나의 기간으로부터 서술 데이터의 선택된 아이템들에 근거하여 각 기간에 대한 복수의 타임라인 유닛들을 생성하는 단계;
    컴퓨팅 장치에 의해, 열람 사용자에 의해 동작하는 클라이언트 장치로부터 대상 사용자에 관한 인명 정보를 포함하는 대상 사용자의 프로필 페이지에 대한 요청을 수신하는 단계; 및
    상기 요청을 수신하는 것에 응답하여,
    컴퓨팅 장치에 의해, 생성된 복수의 타임라인 유닛들을 선택하는 단계;
    컴퓨팅 장치에 의해, 대응 기간에 의해 구성되는, 선택된 복수의 타임라인 유닛들 및 각각에 대한 소셜 데이터 요약의 시각적 표현을 포함하는 타임라인 인터페이스를 생성하는 단계; 및
    컴퓨팅 장치에 의해, 열람 사용자에게 디스플레이하기 위하여 클라이언트 장치로 대상 사용자의 프로필 페이지를 전송하는 단계를 포함하며,
    서술 데이터의 각 아이템은 시간 및 소셜 네트워킹 시스템의 대상 사용자와 연관되며, 대응 시간에 대상 사용자에 의해 수행되는 적어도 하나의 행위를 표시하는 정보를 포함하고,
    각 타임라인 유닛은 타임라인 유닛 상에 다른 사용자들에 의해 이전에 수행된 상이한 타입의 상호작용을 요약하는 타임라인 유닛 특유의 소셜 데이터 요약을 포함하며,
    상기 프로필 페이지는 생성된 타임라인 인터페이스 및 대상 사용자에 관한 인명 정보를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 생성된 타임라인 인터페이스는 대상 사용자가 타임라인 인터페이스로부터 개별 타임라인 유닛을 제거할 수 있게 하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서,
    상기 타임라인 인터페이스로부터 타임라인 유닛의 제거는 타임라인 유닛들을 선택하기 위하여 사용되는 기계-학습 모델을 훈련시키기 위한 신호로서 사용되는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 생성된 타임라인 인터페이스는 대상 사용자가 타임라인 인터페이스 내의 개별 타임라인 유닛에 대한 선호도를 표시할 수 있게 하는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서,
    상기 타임라인 인터페이스 내의 개별 타임라인유닛에 대한 선호도의 표시는 타임라인 유닛들을 선택하기 위하여 사용되는 기계-학습 모델을 훈련시키기 위한 신호로서 사용되는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 생성된 타임라인 인터페이스는 사용자가 소셜 네트워킹 시스템의 다른 사용자와 개별 타임라인 유닛을 공유할 수 있게 하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서,
    상기 생성된 타임라인 인터페이스는 기간들의 시퀀스로부터 기간을 선택하는 수단을 더 포함하며,
    상기 방법은, 열람 사용자가 기간을 선택하는 것에 응답하여,
    컴퓨팅 장치에 의해, 선택된 기간 내의 시간과 관련된 서술 데이터로부터 생성된 하나 이상의 타임라인 유닛들의 시각적 표현을 포함하는 업데이트 타임라인 인터페이스를 생성하는 단계; 및
    컴퓨팅 장치에 의해, 열람 사용자에게 디스플레이하기 위하여 클라이언트 장치로 상기 업데이트 타임라인 인터페이스를 포함하는 대상 사용자의 프로필 페이지를 전송하는 단계를 더 포함하는 방법.
  8. 제 1 항에 있어서,
    하나 이상의 생성된 타임라인 유닛들을 선택하는 단계는,
    컴퓨팅 장치에 의해, 대상 사용자의 개인정보보호 설정에 근거하여, 열람 사용자가 타임라인 유닛을 생성하는데 사용되는 서술 데이터를 열람할 권한을 갖는지를 결정하는 단계;
    컴퓨팅 장치에 의해, 상기 결정에 응답하여, 열람 사용자가 열람할 권한을 가지고 있지 않은 서술 데이터를 사용하여 생성된 타임라인 유닛을 선택으로부터 제거하는 단계; 및
    컴퓨팅 장치에 의해, 상기 제거에 응답하여, 대체 타임라인 유닛을 선택에 추가하는 단계를 더 포함하는 방법.
  9. 제 1 항에 있어서,
    생성된 타임라인 유닛들의 시각적 표현은,
    타임라인 유닛들이 생성되는 서술 데이터를 요약하는 정보 요약 요소들; 및
    열람 사용자에게 서술 데이터에 관한 추가 정보로 안내하는 탐색 도구들을 더 포함하는 것을 특징으로 하는 방법.
  10. 제 9 항에 있어서,
    상기 정보 요약 요소들은 이미지 섬네일, 텍스트 추출물, 비디오 프레임 캡쳐 및 GIF 애니메이션으로 구성되는 그룹으로부터 선택되는 적어도 하나의 아이템을 포함하는 것을 특징으로 하는 방법.
  11. 제 9 항에 있어서,
    상기 탐색 도구들은 웹 링크, 탭 및 버튼으로 구성된 그룹으로부터 선택된 적어도 하나의 아이템들을 포함하는 것을 특징으로 하는 방법.
  12. 제 1 항에 있어서,
    생성된 타임라인 인터페이스는,
    열람 사용자가 원하는 기간을 선택할 수 있도록 구성된 기간 선택기;
    원하는 기간 내에서 하나 이상의 선택된 타임라인 유닛들의 위치를 표시하는 하나 이상의 타임라인 마커들; 및
    원하는 기간 내에 있지 않은 하나 이상의 타임라인 유닛들의 위치를 가리키는 하나 이상의 뮤트(mute)된 마커들을 더 포함하는 것을 특징으로 하는 방법.
  13. 제 12 항에 있어서,
    상기 기간 선택기는 복수의 선택가능한 기간들을 더 포함하고, 선택가능한 기간들은 더 관련성 있는 서술 데이터를 포함하는 기간들 동안 더 두드러지게 디스플레이되는 것을 특징으로 하는 방법.
  14. 컴퓨팅 장치에 의해, 소셜 네트워킹 시스템의 열람 사용자에 의해 동작하는 클라이언트 장치로부터, 소셜 네트워킹 시스템의 대상 사용자에 대한 타임라인 인터페이스에 대한, 지정 기간을 포함하는 요청을 수신하는 단계;
    상기 요청을 수신하는 것에 응답하여,
    컴퓨팅 장치에 의해, 컴퓨터 메모리에 저장된 복수의 타임라인 유닛들을 선택하는 단계;
    컴퓨팅 장치에 의해, 선택된 복수의 타임라인 유닛들 및 각각에 대한 소셜 데이터 요약의 시각적 표현을 포함하는 타임라인 인터페이스를 생성하는 단계; 및
    컴퓨팅 장치에 의해, 열람 사용자에게 디스플레이하기 위하여 클라이언트 장치로 생성된 타임라인 인터페이스를 전송하는 단계를 포함하며,
    타임라인 유닛들은 소셜 네트워킹 시스템의 사용자들과 관련된 서술 데이터의 아이템들로부터 생성되고, 서술 데이터의 각 아이템은 지정 기간 내의 시간 및 대상 사용자와 연관되며, 서술 데이터의 각 아이템은 대응 시간에 대상 사용자에 의해 수행되는 적어도 하나의 행위를 표시하는 정보를 포함하고,
    각 타임라인 유닛은 타임라인 유닛 상에 다른 사용자들에 의해 이전에 수행된 상이한 타입의 상호작용을 요약하는 타임라인 유닛 특유의 소셜 데이터 요약을 포함하는, 방법.
  15. 제 14 항에 있어서,
    생성된 타임라인 유닛들의 시각적 표현은,
    타임라인 유닛들이 생성되는 서술 데이터를 요약하는 정보 요약 요소들; 및
    열람 사용자를 서술 데이터에 관한 추가 정보로 안내하는 탐색 도구들을 더 포함하는 것을 특징으로 하는 방법.
  16. 제 14 항에 있어서,
    생성된 타임라인 인터페이스는 기간들의 시퀀스로부터 기간을 선택하는 수단을 더 포함하며, 열람 사용자가 기간을 선택하는 것에 응답하여,
    컴퓨팅 장치에 의해, 선택된 기간 내의 시간과 관련된 서술 데이터로부터 생성된 하나 이상의 타임라인 유닛들의 시각적 표현을 포함하는 업데이트 타임라인 인터페이스를 생성하는 단계; 및
    컴퓨팅 장치에 의해, 열람 사용자에게 디스플레이하기 위하여 클라이언트 장치로 상기 업데이트 타임라인 인터페이스를 포함하는 대상 사용자의 프로필 페이지를 전송하는 단계를 더 포함하는 방법.
  17. 제 14 항에 있어서,
    컴퓨터 메모리 내에 저장된 하나 이상의 타임라인 유닛들을 선택하는 단계는,
    컴퓨팅 장치에 의해, 대상 사용자의 개인정보보호 설정에 근거하여, 열람 사용자가 타임라인 유닛을 생성하는데 사용되는 서술 데이터를 열람할 권한을 갖는지를 결정하는 단계;
    컴퓨팅 장치에 의해, 상기 결정에 응답하여, 열람 사용자가 열람할 권한을 가지고 있지 않은 서술 데이터를 사용하여 생성된 타임라인 유닛을 선택으로부터 제거하는 단계; 및
    컴퓨팅 장치에 의해, 상기 제거에 응답하여, 대체 타임라인 유닛을 선택에 추가하는 단계를 더 포함하는 방법.
  18. 제 15 항에 있어서,
    상기 정보 요약 요소들은 이미지 섬네일, 텍스트 추출물, 비디오 프레임 캡쳐 및 GIF 애니메이션으로 구성되는 그룹으로부터 선택되는 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  19. 제 1 항에 있어서,
    소셜 데이터 요약은, 타임라인 유닛이 소셜 네트워킹 시스템의 다른 사용자들로부터 수신한 좋아요, 코멘트, 및 공유하기의 요약을 더 포함하는 방법.
  20. 제 1 항에 있어서,
    복수의 타임라인 유닛들 중 적어도 하나의 타임라인 유닛은 서로와 관련되고 하나의 타임라인 유닛으로 수집되는 서술 데이터의 둘 이상의 아이템들과 서술 데이터의 둘 이상의 아이템들의 일부(distillation)인 서술 데이터 요약을 포함하고, 선택되고 생성된 타임라인 유닛들은 적어도 하나의 타임라인 유닛과 서술 데이터 요약을 포함하며, 타임라인 인터페이스는 적어도 하나의 타임라인 유닛과 서술 데이터 요약의 시각적 표현을 더 포함하는 방법.
  21. 제 1 항에 있어서,
    소셜 데이터 요약은 (1) 코멘트, 좋아요, 공유하기 및 타임라인 유닛 상에 다른 사용자들에 의해 이전에 수행된 다른 사용자 상호작용의 개수 중 적어도 하나 또는 (2) 타임라인 유닛 상에 다른 사용자들이 남긴 하나 이상의 상위 코멘트를 포함하는 방법.
  22. 삭제
KR1020147010010A 2011-09-21 2012-08-30 타임라인 인터페이스를 통한 소셜 네트워킹 시스템 사용자 정보의 디스플레이 KR101883309B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/239,347 2011-09-21
US13/239,347 US9946430B2 (en) 2011-09-21 2011-09-21 Displaying social networking system user information via a timeline interface
PCT/US2012/053227 WO2013043345A1 (en) 2011-09-21 2012-08-30 Displaying social networking system user information via a timeline interface

Publications (2)

Publication Number Publication Date
KR20140062706A KR20140062706A (ko) 2014-05-26
KR101883309B1 true KR101883309B1 (ko) 2018-07-30

Family

ID=47881850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147010010A KR101883309B1 (ko) 2011-09-21 2012-08-30 타임라인 인터페이스를 통한 소셜 네트워킹 시스템 사용자 정보의 디스플레이

Country Status (6)

Country Link
US (1) US9946430B2 (ko)
JP (1) JP6196973B2 (ko)
KR (1) KR101883309B1 (ko)
AU (1) AU2012312857B2 (ko)
CA (1) CA2847496C (ko)
WO (1) WO2013043345A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11605056B2 (en) 2020-11-17 2023-03-14 Ghislain Ndeuchi Method and system for enabling users to collaborate and create online multi-media story

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7669123B2 (en) * 2006-08-11 2010-02-23 Facebook, Inc. Dynamically providing a news feed about a user of a social network
AU2006330852A1 (en) * 2005-12-23 2007-07-05 Facebook, Inc. Systems and methods for generating a social timeline
US8887035B2 (en) 2011-09-21 2014-11-11 Facebook, Inc. Capturing structured data about previous events from users of a social networking system
US10296159B2 (en) 2011-09-21 2019-05-21 Facebook, Inc. Displaying dynamic user interface elements in a social networking system
US8869017B2 (en) 2011-09-21 2014-10-21 Facebook, Inc Aggregating social networking system user information for display via stories
US8832560B2 (en) 2011-09-21 2014-09-09 Facebook, Inc. Displaying social networking system user information via a historical newsfeed
US8726142B2 (en) * 2011-09-21 2014-05-13 Facebook, Inc. Selecting social networking system user information for display via a timeline interface
US8667063B2 (en) 2011-12-12 2014-03-04 Facebook, Inc. Displaying news ticker content in a social networking system
US8510380B2 (en) 2012-01-09 2013-08-13 Facebook, Inc. Creating and sharing interest lists in a social networking system
WO2013166588A1 (en) 2012-05-08 2013-11-14 Bitstrips Inc. System and method for adaptable avatars
US10165067B2 (en) 2012-06-29 2018-12-25 Nuvi, Llc Systems and methods for visualization of electronic social network content
JP2014032434A (ja) * 2012-08-01 2014-02-20 Sony Corp 情報処理装置、情報処理方法、及び、情報処理システム
US9691128B2 (en) 2012-09-20 2017-06-27 Facebook, Inc. Aggregating and displaying social networking system user information via a map interface
JP6090689B2 (ja) * 2012-09-28 2017-03-08 株式会社コナミデジタルエンタテインメント 表示装置、およびプログラム
US20140129558A1 (en) * 2012-11-07 2014-05-08 International Business Machines Corporation Timeline-Based Data Visualization of Social Media Topic
US9294583B1 (en) * 2013-03-15 2016-03-22 Google Inc. Updating event posts
US9146111B2 (en) 2013-05-03 2015-09-29 Here Global B.V. Method and apparatus for a transit timeline
US9330183B2 (en) * 2013-05-08 2016-05-03 Facebook, Inc. Approximate privacy indexing for search queries on online social networks
JP6247453B2 (ja) * 2013-05-09 2017-12-13 株式会社ミクシィ ソーシャルサービスのサーバ
US9582460B2 (en) * 2013-06-03 2017-02-28 Google Inc. Methods for using temporal proximity of social connection creations to predict properties of a social connection
US9477393B2 (en) 2013-06-09 2016-10-25 Apple Inc. Device, method, and graphical user interface for displaying application status information
JP6212304B2 (ja) * 2013-07-02 2017-10-11 株式会社ミクシィ 情報処理装置並びにその制御方法及び制御プログラム
US10080060B2 (en) 2013-09-10 2018-09-18 Opentv, Inc. Systems and methods of displaying content
US9424558B2 (en) * 2013-10-10 2016-08-23 Facebook, Inc. Positioning of components in a user interface
US9363654B2 (en) 2013-10-28 2016-06-07 At&T Intellectual Property I, L.P. Virtual historical displays
US20170277738A1 (en) * 2015-01-29 2017-09-28 Palantir Technologies Inc. Temporal representation of structured information in an object model
CN104809209A (zh) 2015-04-28 2015-07-29 小米科技有限责任公司 社交网络信息流的显示方法、装置及服务器
JP6380281B2 (ja) 2015-07-31 2018-08-29 キヤノンマーケティングジャパン株式会社 遠隔読影システム、情報処理装置、サーバ装置、及びその制御方法、並びにプログラム
US10496690B2 (en) 2015-08-21 2019-12-03 Disney Enterprises, Inc. Contextual image presentation
US10339365B2 (en) 2016-03-31 2019-07-02 Snap Inc. Automated avatar generation
KR102579692B1 (ko) * 2016-05-10 2023-09-18 틴 트란 플루이드 타임라인 소셜 네트워크
US10489448B2 (en) * 2016-06-02 2019-11-26 Baidu Usa Llc Method and system for dynamically ranking images to be matched with content in response to a search query
US10121515B2 (en) 2016-06-06 2018-11-06 Avigilon Corporation Method, system and computer program product for interactively identifying same individuals or objects present in video recordings
DK179823B1 (en) 2016-06-12 2019-07-12 Apple Inc. DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR PROVIDING HAPTIC FEEDBACK
EP3365756A1 (en) * 2016-09-06 2018-08-29 Apple Inc. Devices, methods, and graphical user interfaces for providing haptic feedback
JP6708077B2 (ja) * 2016-09-16 2020-06-10 カシオ計算機株式会社 表示情報生成装置、情報管理システム、表示情報生成方法、及び、プログラム
US10432559B2 (en) 2016-10-24 2019-10-01 Snap Inc. Generating and displaying customized avatars in electronic messages
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars
US10212541B1 (en) 2017-04-27 2019-02-19 Snap Inc. Selective location-based identity communication
KR20230048445A (ko) 2017-04-27 2023-04-11 스냅 인코포레이티드 소셜 미디어 플랫폼상의 사용자 위치의 지역적 레벨 표현
JP6854482B2 (ja) * 2017-04-28 2021-04-07 株式会社プレイド サーバ装置、情報処理方法、およびプログラム
US10810255B2 (en) 2017-09-14 2020-10-20 Avigilon Corporation Method and system for interfacing with a user to facilitate an image search for a person-of-interest
US10902527B2 (en) * 2017-11-15 2021-01-26 International Business Machines Corporation Collaborative multiuser publishing of social media posts
US20210056154A1 (en) * 2018-03-13 2021-02-25 Honda Motor Co., Ltd. User information sharing apparatus, user information sharing method and user information sharing system
US11604661B2 (en) * 2018-06-03 2023-03-14 Apple Inc. Determining relevant information based on third party information and user interactions
WO2020006478A1 (en) 2018-06-29 2020-01-02 Alfa Enzo Inc. Multi-blockchain proof-of-activity platform
CN109492119A (zh) * 2018-07-24 2019-03-19 杭州振牛信息科技有限公司 一种用户信息记录方法及装置
JP6725851B2 (ja) * 2018-08-01 2020-07-22 キヤノンマーケティングジャパン株式会社 情報処理装置およびその制御方法、情報処理システム、並びにプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209351A1 (en) * 2007-02-28 2008-08-28 Aol Llc User profile snapshots
US20080294663A1 (en) * 2007-05-14 2008-11-27 Heinley Brandon J Creation and management of visual timelines

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266649B1 (en) 1998-09-18 2001-07-24 Amazon.Com, Inc. Collaborative recommendations using item-to-item similarity mappings
US8140402B1 (en) 2001-08-06 2012-03-20 Ewinwin, Inc. Social pricing
US6608615B1 (en) 2000-09-19 2003-08-19 Intel Corporation Passive gaze-driven browsing
US6996782B2 (en) * 2001-05-23 2006-02-07 Eastman Kodak Company Using digital objects organized according to a histogram timeline
US8028249B2 (en) 2001-05-23 2011-09-27 Eastman Kodak Company Method and system for browsing large digital multimedia object collections
US20040155903A1 (en) 2002-12-16 2004-08-12 Schneeberg Brian D. Methods and systems for visualizing categorized information
US7392160B2 (en) 2002-12-18 2008-06-24 Fortent Limited System and method for monitoring usage patterns
US7493592B2 (en) 2003-10-24 2009-02-17 Microsoft Corporation Programming interface for a computer platform
US20050227216A1 (en) 2004-04-12 2005-10-13 Gupta Puneet K Method and system for providing access to electronic learning and social interaction within a single application
US8065383B2 (en) 2004-05-17 2011-11-22 Simplefeed, Inc. Customizable and measurable information feeds for personalized communication
US7555718B2 (en) 2004-11-12 2009-06-30 Fuji Xerox Co., Ltd. System and method for presenting video search results
US7788592B2 (en) 2005-01-12 2010-08-31 Microsoft Corporation Architecture and engine for time line based visualization of data
US8302011B2 (en) 2005-01-24 2012-10-30 A9.Com, Inc. Technique for modifying presentation of information displayed to end users of a computer system
US7574530B2 (en) 2005-03-10 2009-08-11 Microsoft Corporation Method and system for web resource location classification and detection
AU2006263703A1 (en) 2005-06-28 2007-01-04 Nokia Corporation User interface for geographic search
US7669123B2 (en) 2006-08-11 2010-02-23 Facebook, Inc. Dynamically providing a news feed about a user of a social network
US8171128B2 (en) 2006-08-11 2012-05-01 Facebook, Inc. Communicating a newsfeed of media content based on a member's interactions in a social network environment
AU2006326015A1 (en) 2005-12-14 2007-06-21 Facebook, Inc. Systems and methods for social mapping
US7797256B2 (en) 2006-08-02 2010-09-14 Facebook, Inc. Generating segmented community flyers in a social networking system
US20080189292A1 (en) 2007-02-02 2008-08-07 Jed Stremel System and method for automatic population of a contact file with contact content and expression content
US7827208B2 (en) 2006-08-11 2010-11-02 Facebook, Inc. Generating a feed of stories personalized for members of a social network
AU2006330852A1 (en) 2005-12-23 2007-07-05 Facebook, Inc. Systems and methods for generating a social timeline
US9459622B2 (en) 2007-01-12 2016-10-04 Legalforce, Inc. Driverless vehicle commerce network and community
US20070162322A1 (en) 2006-01-10 2007-07-12 Microsoft Corporation Social calendar
US20090208955A1 (en) 2006-05-25 2009-08-20 Institute For Advance Study Methods for identifying sequence motifs, and applications thereof
US20080154878A1 (en) 2006-12-20 2008-06-26 Rose Daniel E Diversifying a set of items
US20100145936A1 (en) 2007-01-05 2010-06-10 Georges Grinstein Personal information maps
US7925991B2 (en) 2007-01-23 2011-04-12 At&T Intellectual Property, I, L.P. Systems, methods, and articles of manufacture for displaying user-selection controls associated with clusters on a GUI
US8037046B2 (en) * 2007-06-29 2011-10-11 Microsoft Corporation Collecting and presenting temporal-based action information
US8745060B2 (en) 2007-07-25 2014-06-03 Yahoo! Inc. Indexing and searching content behind links presented in a communication
US8468083B1 (en) 2007-08-10 2013-06-18 Google Inc. Advertisement topic diversification and ranking
CN102016825A (zh) 2007-08-17 2011-04-13 谷歌公司 对社交网络对象进行排名
US8467955B2 (en) 2007-10-31 2013-06-18 Microsoft Corporation Map-centric service for social events
US20090132953A1 (en) 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in local search system with vertical search results and an interactive map
US20090169060A1 (en) 2007-12-26 2009-07-02 Robert Bosch Gmbh Method and apparatus for spatial display and selection
US10091460B2 (en) * 2008-03-31 2018-10-02 Disney Enterprises, Inc. Asynchronous online viewing party
US10664889B2 (en) 2008-04-01 2020-05-26 Certona Corporation System and method for combining and optimizing business strategies
US8108341B2 (en) * 2008-04-16 2012-01-31 Disney Enterprises, Inc. Method and system enabling identification of information content having enhanced desirability to a user
US7941535B2 (en) * 2008-05-07 2011-05-10 Doug Sherrets System for targeting third party content to users based on social networks
GB0812249D0 (en) * 2008-07-04 2008-08-13 Zyb Aps Method and system for communicating betwen users
US20100076850A1 (en) 2008-09-22 2010-03-25 Rajesh Parekh Targeting Ads by Effectively Combining Behavioral Targeting and Social Networking
US8356248B1 (en) 2008-09-29 2013-01-15 Amazon Technologies, Inc. Generating context-based timelines
US8265658B2 (en) 2009-02-02 2012-09-11 Waldeck Technology, Llc System and method for automated location-based widgets
US9141918B2 (en) 2009-03-18 2015-09-22 Location Labs, Inc. User contribution based mapping system and method
US9466077B2 (en) 2009-06-30 2016-10-11 Google Inc. Propagating promotional information on a social network
CA2771379C (en) 2009-07-16 2019-05-21 Bluefin Labs, Inc. Estimating and displaying social interest in time-based media
US8423088B2 (en) 2009-07-22 2013-04-16 Microsoft Corporation Aggregated, interactive communication timeline
US8533175B2 (en) 2009-08-13 2013-09-10 Gilbert Marquard ROSWELL Temporal and geographic presentation and navigation of linked cultural, artistic, and historic content
RU2012105619A (ru) 2009-08-14 2013-10-20 Телоджис, Инк. Визуализация карт в реальном времени с группированием, восстановлением и перекрыванием данных
US9262120B2 (en) 2009-09-11 2016-02-16 Nokia Technologies Oy Audio service graphical user interface
US9224007B2 (en) * 2009-09-15 2015-12-29 International Business Machines Corporation Search engine with privacy protection
US8402379B2 (en) 2009-09-30 2013-03-19 SAP Portals Israel Limited Dynamic content layout for a user interface display
US8311950B1 (en) 2009-10-01 2012-11-13 Google Inc. Detecting content on a social network using browsing patterns
US8306922B1 (en) 2009-10-01 2012-11-06 Google Inc. Detecting content on a social network using links
US8495105B2 (en) * 2009-12-22 2013-07-23 International Business Machines Corporation Consolidating input messages for social activity summarization
US20110161875A1 (en) 2009-12-29 2011-06-30 Nokia Corporation Method and apparatus for decluttering a mapping display
US8606792B1 (en) 2010-02-08 2013-12-10 Google Inc. Scoring authors of posts
US8311279B2 (en) 2010-02-23 2012-11-13 Fuji Xerox Co., Ltd. System and method for improved image analysis through gaze data feedback
KR101208814B1 (ko) 2010-07-09 2012-12-06 엔에이치엔(주) 검색 서비스 시스템 및 방법
US8150844B2 (en) 2010-08-18 2012-04-03 Facebook, Inc. Location ranking using social graph information
US20120108274A1 (en) 2010-10-27 2012-05-03 Acebo Ruiz Agustin Method and System of Communication That Allow People Unknown to Each Other Who Have Visual Contact to Communicate by SMS or E-mail
US20120124508A1 (en) 2010-11-12 2012-05-17 Path, Inc. Method And System For A Personal Network
US8543586B2 (en) 2010-11-24 2013-09-24 International Business Machines Corporation Determining points of interest using intelligent agents and semantic data
US9497154B2 (en) 2010-12-13 2016-11-15 Facebook, Inc. Measuring social network-based interaction with web content external to a social networking system
US20120158935A1 (en) 2010-12-21 2012-06-21 Sony Corporation Method and systems for managing social networks
US20120166971A1 (en) 2010-12-28 2012-06-28 Thomas Sachson Social Networking Timeline System And Method
US8543454B2 (en) * 2011-02-18 2013-09-24 Bluefin Labs, Inc. Generating audience response metrics and ratings from social interest in time-based media
US20120254225A1 (en) 2011-03-31 2012-10-04 International Business Machines Corporation Generating content based on persona
US20130024431A1 (en) 2011-07-22 2013-01-24 Microsoft Corporation Event database for event search and ticket retrieval
EP2557534A1 (en) 2011-08-11 2013-02-13 Gface GmbH A system and a method of sharing information in an online social network
US8650198B2 (en) 2011-08-15 2014-02-11 Lockheed Martin Corporation Systems and methods for facilitating the gathering of open source intelligence
US8887035B2 (en) 2011-09-21 2014-11-11 Facebook, Inc. Capturing structured data about previous events from users of a social networking system
US8726142B2 (en) 2011-09-21 2014-05-13 Facebook, Inc. Selecting social networking system user information for display via a timeline interface
US8869017B2 (en) 2011-09-21 2014-10-21 Facebook, Inc Aggregating social networking system user information for display via stories
US9215286B1 (en) * 2011-11-30 2015-12-15 Goolge Inc Creating a social network based on an activity
EP2608137A3 (en) 2011-12-19 2013-07-24 Gface GmbH Computer-implemented method for selectively displaying content to a user of a social network, computer system and computer readable medium thereof
US8645485B1 (en) 2012-01-30 2014-02-04 Google Inc. Social based aggregation of related media content
WO2013133870A2 (en) * 2012-03-07 2013-09-12 Snap Trends, Inc. Methods and systems of aggregating information of social networks based on geographical locations via a network
US9324114B2 (en) * 2013-09-20 2016-04-26 Bank Of America Corporation Interactive map for grouped activities within a financial and social management system
CA2923749A1 (en) * 2013-09-24 2015-04-02 Openfolio Corporation Systems and methods for presenting relevant data to users of a financial computer network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209351A1 (en) * 2007-02-28 2008-08-28 Aol Llc User profile snapshots
US20080294663A1 (en) * 2007-05-14 2008-11-27 Heinley Brandon J Creation and management of visual timelines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11605056B2 (en) 2020-11-17 2023-03-14 Ghislain Ndeuchi Method and system for enabling users to collaborate and create online multi-media story

Also Published As

Publication number Publication date
JP2014532217A (ja) 2014-12-04
CA2847496C (en) 2017-10-03
AU2012312857A1 (en) 2014-03-20
AU2012312857B2 (en) 2017-06-29
KR20140062706A (ko) 2014-05-26
US20130073984A1 (en) 2013-03-21
JP6196973B2 (ja) 2017-09-13
US9946430B2 (en) 2018-04-17
WO2013043345A1 (en) 2013-03-28
CA2847496A1 (en) 2013-03-28

Similar Documents

Publication Publication Date Title
US10908765B1 (en) Displaying dynamic user interface elements in a social networking system
KR101883309B1 (ko) 타임라인 인터페이스를 통한 소셜 네트워킹 시스템 사용자 정보의 디스플레이
US9923981B2 (en) Capturing structured data about previous events from users of a social networking system
US10242067B2 (en) Selecting social networking system user information for display via a timeline interface
US9767205B2 (en) Displaying social networking system user information via a historical newsfeed
US9798439B2 (en) Timeline view filtered by permissions and affinity to viewer
US9773284B2 (en) Displaying social networking system user information via a map interface
US10614467B2 (en) Displaying recommendations for social networking system entity information via a timeline interface
US10083239B2 (en) Aggregating social networking system user information for display via stories
US20130290414A1 (en) Automatically creating groups of users in a social networking system
US20150331549A1 (en) System, method, device, and computer program for at-glance visualization of events based on time-stamped heterogeneous data components
US10225250B2 (en) Systems and methods for providing dynamically selected media content items
US10535105B2 (en) Systems and methods to control provision of content items in a feed

Legal Events

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