KR20230004966A - 라이브 비디오들을 위한 대화형 관람 인터페이스 - Google Patents

라이브 비디오들을 위한 대화형 관람 인터페이스 Download PDF

Info

Publication number
KR20230004966A
KR20230004966A KR1020227045861A KR20227045861A KR20230004966A KR 20230004966 A KR20230004966 A KR 20230004966A KR 1020227045861 A KR1020227045861 A KR 1020227045861A KR 20227045861 A KR20227045861 A KR 20227045861A KR 20230004966 A KR20230004966 A KR 20230004966A
Authority
KR
South Korea
Prior art keywords
user
live video
computing system
user device
application
Prior art date
Application number
KR1020227045861A
Other languages
English (en)
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 KR20230004966A publication Critical patent/KR20230004966A/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/00Information and communication technology [ICT] specially adapted for implementation of business processes of 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Operations Research (AREA)

Abstract

하나의 실시예에서, 방법은 시스템이 라이브 비디오를 공개하기 위한 제 1 요청 및 제 3 자 시스템과 연관된 제 1 네트워크 주소를 수신하는 단계를 포함한다. 시스템은 제 1 이용자 디바이스로부터 콘텐트에 대한 제 2 요청을 수신하고, 이에 응답하여, 디스플레이 지시들, 연관된 제 1 네트워크 주소, 라이브 비디오가 이용가능한 제 2 네트워크 주소, 및 인터페이스 애플리케이션이 이용가능한 제 3 네트워크 주소를 송신할 수 있다. 디스플레이 지시들은 제 1 이용자 디바이스로 하여금: 제 2 네트워크 주소를 이용하여 얻어진 라이브 비디오를 디스플레이하도록 비디오 참가자 애플리케이션을 구성하고; 제 3 네트워크 주소를 이용하여 인터페이스 애플리케이션을 얻고; 라이브 비디오의 적어도 일부에 걸쳐 디스플레이되도록 인터페이스 애플리케이션을 구성하게 하도록 그리고 제 1 네트워크 주소를 이용하여 제 3 자 컴퓨팅 시스템과 통신하도록 구성될 수 있다.

Description

라이브 비디오들을 위한 대화형 관람 인터페이스{INTERACTIVE SPECTATING INTERFACE FOR LIVE VIDEOS}
본 발명은 일반적으로, 개발자들이 라이브 콘텐트를 위한 대화형 인터페이스들을 개발하고 배치하는 것을 허용하는 프레임워크(framework)에 관한 것이다.
소셜 네트워킹 시스템의 이용자들은 소셜 네트워킹 시스템을 통해 라이브 비디오를 공개할 수 있다. 비디오 콘텐트는 이용자 자신의 모바일 디바이스 또는 컴퓨터, 제 3 자 애플리케이션 및 그것의 서버, 제 3 자 스트리밍 서비스를 포함하는 임의의 소스로부터 소셜 네트워킹 시스템으로 전송될 수 있다. 소셜 네트워킹 시스템은 웹 사이트 상에 또는 소셜 네트워킹 시스템과 연관된 애플리케이션을 통해 라이브 비디오를 공개할 수 있다. 라이브 비디오를 뷰잉(viewing)하는 다른 이용자들은 소셜 네트워킹 플랫폼 상에서 라이브 비디오와 관련된 댓글들을 게시할 수 있다.
소셜 네트워킹 웹사이트를 포함할 수 있는 소셜 네트워킹 시스템은 그것의 이용자들(사람들 또는 조직들과 같은)이 그것을 통해 그것과 그리고 서로 상호작용하는 것을 인에이블링(enabling)할 수 있다. 소셜 네트워킹 시스템은 이용자로부터의 입력으로, 소셜 네트워킹 시스템에서 이용자와 연관된 이용자 프로파일(user profile)을 생성하고 저장할 수 있다. 이용자 프로파일은 인구 통계학적 정보, 통신 채널 정보, 및 이용자의 개인적인 관심사들에 관한 정보를 포함할 수 있다. 소셜 네트워킹 시스템은 또한, 이용자들 사이에 또는 이용자들 사이의 사회적 상호작용을 용이하게 하기 위해 이용자로부터의 입력으로, 소셜 네트워킹 시스템의 다른 이용자들과의 이용자의 관계들의 기록을 생성하고 저장할 뿐만 아니라, 서비스들(예로서, 월 게시물(wall post)들, 사진 공유, 이벤트 구성, 메시징, 게임들, 또는 광고들)을 제공할 수 있다.
소셜 네트워킹 시스템은 하나 이상의 네트워크 콘텐트 또는 그것의 서비스들과 관련된 메시지들을 이용자의 모바일 또는 다른 컴퓨팅 디바이스로 전송할 수 있다. 이용자는 또한, 소셜 네트워킹 시스템 내의 이용자의 이용자 프로파일 및 다른 데이터에 액세스하기 위해 이용자의 모바일 또는 다른 컴퓨팅 디바이스에 소프트웨어 애플리케이션들을 설치할 수 있다. 소셜 네트워킹 시스템은 이용자에 연결된 다른 이용자들의 집계된 스토리들의 뉴스피드(newsfeed)와 같은, 이용자에게 디스플레이할 개인화된 세트의 콘텐트 객체들을 생성할 수 있다.
스마트폰, 태블릿 컴퓨터, 또는 랩톱 컴퓨터와 같은 모바일 컴퓨팅 디바이스는 GPS 수신기, 나침반, 자이로스코프, 또는 가속도계와 같은, 그것의 위치, 방향, 또는 방위를 결정하기 위한 기능을 포함할 수 있다. 이러한 디바이스는 또한, 블루투스 통신, 근거리 무선통신(near-field communication; NFC), 또는 적외선(IR) 통신 또는 무선 근거리 통신망들(WLANs) 또는 셀룰러 전화 네트워크와의 통신과 같은, 무선 통신을 위한 기능을 포함할 수 있다. 이러한 디바이스는 또한, 하나 이상의 카메라들, 스캐너들, 터치스크린들, 마이크로폰들, 또는 스피커들을 포함할 수 있다. 모바일 컴퓨팅 디바이스들은 또한, 게임들, 웹 브라우저들, 또는 소셜 네트워킹 애플리케이션들과 같은, 소프트웨어 애플리케이션들을 실행할 수 있다. 소셜 네트워킹 애플리케이션들로, 이용자들은 그들의 소셜 네트워크들에서 다른 이용자들과 연결, 통신, 및 정보를 공유할 수 있다.
본 발명의 목적은 일반적으로, 개발자가 라이브 콘텐트를 위한 대화형 인터페이스를 개발하고 배치하는 것을 허용하는 프레임워크를 제공하는 것이다.
본 명세서에 개시된 실시예들은 콘텐트 분배 플랫폼(예로서, 소셜 네트워킹 시스템)의 이용자들이 수동적으로 라이브 콘텐트를 뷰잉할 뿐만 아니라, 예로서, 다른 뷰어들, 콘텐트 발신자들 뿐만 아니라, 콘텐트 그 자체에 능동적으로 관여하는 것을 인에이블링하는 시스템들 및 방법들에 관한 것이다. 수동적으로 뷰잉하거나 관람하는(spectating) 행위는 따라서, 대화형 경험으로 변환된다. 게다가, 본 명세서에 개시된 실시예들은 제 3 자 개발자들이 그들의 특정 라이브 콘텐트에 대한 대화형 경험을 제어하고 맞춤화하는 것을 인에이블링한다. 특정한 실시예들에서, 소셜 네트워킹 시스템은 개발자가 라이브 비디오를 공개하고 대화형 관람 인터페이스를 제공할 수 있는 프레임워크를 제공할 수 있다. 대화형 관람 인터페이스는 라이브 비디오 위에 오버레이(overlay)될 수 있다. 인터페이스는 이용자가 아래의 라이브 비디오를 보는 것을 허용하는 투명한 부분을 포함할 수 있다. 인터페이스는 개발자의 시스템과 통신하고 개발자의 라이브 비디오를 위해 맞춰지는 대화형 특징들을 제공하도록 개발자에 의해 맞춤 설계될 수 있다.
본 명세서에 개시된 실시예는 단지 예들이고, 본 발명의 범위는 그들로 제한되지 않는다. 특정한 실시예들은 상기 개시된 실시예들의 구성요소들, 요소들, 특징들, 기능들, 동작들, 또는 단계들의 전부, 또는 일부를 포함하거나 전혀 포함하지 않을 수 있다. 본 발명에 따른 실시예들은 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 관한 첨부된 청구항들에 특히 개시되고, 하나의 청구항 카테고리 예로서, 방법에서 언급된 임의의 특징은 또 다른 청구항 카테고리 예로서, 시스템에서 또한 청구될 수 있다. 다시, 첨부된 청구항들에서의 종속성들 또는 참조들은 단지 공식적인 이유들을 위해 선택된다. 그러나, 임의의 이전의 청구항들(특히, 다수의 종속성들)에 대해 다시 의도적인 참조로부터 발생하는 임의의 주제가 또한, 청구될 수 있어서, 청구항들 및 그의 특징들의 임의의 조합이 개시되고 첨부된 도면들에서 선택된 종속성들에 관계없이 청구될 수 있게 한다. 청구될 수 있는 주제는 첨부된 청구항들에 제시된 바와 같은 특징들의 조합들 뿐만 아니라, 청구항들에서의 특징들의 임의의 다른 조합을 포함하고, 청구항들에서 언급된 각각의 특징은 청구항들에서의 임의의 다른 특징 또는 다른 특징들의 조합과 조합될 수 있다. 또한, 본 명세서에서 설명되거나 묘사된 실시예들 및 특징들 중 임의의 것은 별개의 청구항에서 및/또는 본 명세서에서 설명되거나 묘사된 임의의 실시예 또는 특징과 또는 임의의 첨부된 청구항들의 특징들 중 임의의 특징과의 임의의 조합으로 청구될 수 있다.
본 발명에 따른 일 실시예에서, 방법은:
소셜 네트워크와 연관된 컴퓨팅 시스템에 의해, 라이브 비디오를 공개하기 위한 제 1 요청을 수신하는 단계로서, 제 1 요청은 소셜 네트워크에 관해 제 3 자 컴퓨팅 시스템으로부터 수신되고, 제 1 요청은 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소를 포함하는, 상기 제 1 요청을 수신하는 단계;
컴퓨팅 시스템에 의해, 제 1 이용자와 연관된 제 1 이용자 디바이스로부터 콘텐트에 대한 제 2 요청을 수신하는 단계; 및
컴퓨팅 시스템에 의해, 제 2 요청에 응답하여, 디스플레이 지시들, 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소, 라이브 비디오가 이용가능한 제 2 네트워크 주소, 및 인터페이스 애플리케이션이 이용가능한 제 3 네트워크 주소를 제 1 이용자 디바이스로 송신하는 단계를 포함하고;
디스플레이 지시들은 제 1 이용자 디바이스로 하여금:
제 2 네트워크 주소를 이용하여 얻어진 라이브 비디오를 디스플레이하도록 비디오 참가자 애플리케이션을 구성하고;
제 3 네트워크 주소를 이용하여 인터페이스 애플리케이션을 얻고;
라이브 비디오의 적어도 일부에 걸쳐 디스플레이되도록 인터페이스 애플리케이션을 구성하며;
제 1 네트워크 주소를 이용하여 제 3 자 컴퓨팅 시스템과 통신하도록 인터페이스 애플리케이션을 구성하게 하도록 구성된다.
본 발명에 따른 일 실시예에서, 방법은:
컴퓨팅 시스템에 의해, 제 3 자 컴퓨팅 시스템으로부터 딥링크(deeplink)를 수신하는 단계로서, 딥링크는 제 3 자 컴퓨팅 시스템과 연관된 애플리케이션으로 하여금 론칭(launching)되게 하도록 구성되고, 딥링크는 애플리케이션이 동작을 개시하기 위한 지시들을 포함하는, 상기 딥링크를 수신하는 단계; 및
컴퓨팅 시스템에 의해, 제 2 요청에 응답하여, 딥링크를 제 1 이용자 디바이스로 송신하는 단계를 포함하고;
디스플레이 지시들은 또한, 제 1 이용자 디바이스로 하여금 딥링크를 활성화시키는 입력을 수신하고, 입력에 응답하여 딥링크와 연관된 제 1 이용자 디바이스에 설치된 애플리케이션을 론칭하도록 구성되게 하도록 구성된다.
딥링크에 포함된 지시들은 라이브 비디오에서의 콘텐트와 연관될 수 있다.
라이브 비디오에서의 콘텐트는 게이밍 세션(gaming session)에서 플레이되는 제 2 이용자 디바이스에 설치된 게이밍 애플리케이션일 수 있다.
딥링크는 제 1 이용자 디바이스에 설치된 게이밍 애플리케이션으로 하여금 론칭되게 하도록 구성될 수 있다.
딥링크에서의 지시들에 의해 개시된 동작은 제 1 이용자 디바이스에 설치된 게이밍 애플리케이션으로 하여금 게이밍 세션을 통해 제 2 이용자 디바이스에 설치된 게이밍 애플리케이션과 상호작용하게 할 수 있다.
라이브 비디오는 제 3 자 컴퓨팅 시스템과 연관된 애플리케이션을 통해 소셜 네트워크의 제 2 이용자에 의해 공개된 콘텐트일 수 있고, 애플리케이션은 제 2 이용자와 연관된 제 2 이용자 디바이스에서 실행될 수 있고;
방법은:
컴퓨팅 시스템에 의해, 라이브 비디오를 공개하기 위한 제 1 요청에 응답하여, 소셜 그래프에 라이브 비디오 객체를 생성하는 단계를 포함할 수 있고, 라이브 비디오 객체는 제 2 이용자를 표현하는 소셜 그래프에서의 이용자 객체와 연관된다.
제 1 이용자 및 제 2 이용자는 임계 분리도 내에서 소셜 그래프로 표현될 수 있다.
본 발명에 따른 일 실시예에서, 방법은:
컴퓨팅 시스템에 의해, 소셜 네트워크와 연관된 뉴스피드에서 제 1 이용자 디바이스 상에 라이브 비디오를 제공하는 단계를 포함할 수 있고, 라이브 비디오는 활성화 요소와 연관되며;
디스플레이 지시들은 활성화 요소의 이용자 활성화 시에 실행된다.
인터페이스 애플리케이션은:
제 1 이용자로부터 입력을 수신하고;
입력에 대응하는 데이터를 제 3 자 컴퓨팅 시스템으로 송신하며;
제 3 자 컴퓨팅 시스템으로부터의 지시들을 프로세싱하도록 구성될 수 있다.
라이브 비디오는 제 3 자 컴퓨팅 시스템과 연관된 애플리케이션을 통해 소셜 네트워크의 제 2 이용자에 의해 공개된 콘텐트일 수 있고, 애플리케이션은 제 2 이용자와 연관된 제 2 이용자 디바이스에서 실행될 수 있고; 제 1 이용자로부터의 입력에 대응하는 데이터는 제 3 자 컴퓨팅 시스템으로 하여금 제 2 이용자 디바이스 상의 애플리케이션으로 하여금 제 1 이용자로부터의 입력과 연관된 정보를 디스플레이하게 하도록 구성될 수 있다.
인터페이스 애플리케이션은:
제 1 이용자의 반응 또는 댓글을 송신하고;
다른 이용자들의 각각의 이용자 디바이스들에서 라이브 비디오를 뷰잉하는 다른 이용자들로부터 반응들 또는 댓글들을 수신하고 디스플레이하도록 구성될 수 있다.
본 발명에 따른 일 실시예에서, 하나 이상의 컴퓨터 판독가능한 비일시적 저장 매체들은 소셜 네트워크와 연관된 컴퓨팅 시스템으로 하여금:
라이브 비디오를 공개하기 위한 제 1 요청을 수신하고, 제 1 요청은 소셜 네트워크에 관해 제 3 자 컴퓨팅 시스템으로부터 수신되고, 제 1 요청은 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소를 포함하고;
제 1 이용자와 연관된 제 1 이용자 디바이스로부터 콘텐트에 대한 제 2 요청을 수신하고;
제 2 요청에 응답하여, 디스플레이 지시들, 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소, 라이브 비디오가 이용가능한 제 2 네트워크 주소, 및 인터페이스 애플리케이션이 이용가능한 제 3 네트워크 주소를 제 1 이용자 디바이스로 송신하게 하도록 실행될 때 동작가능한 소프트웨어를 구현할 수 있고;
디스플레이 지시들은 제 1 이용자 디바이스로 하여금:
제 2 네트워크 주소를 이용하여 얻어진 라이브 비디오를 디스플레이하도록 비디오 참가자 애플리케이션을 구성하고;
제 3 네트워크 주소를 이용하여 인터페이스 애플리케이션을 얻고;
라이브 비디오의 적어도 일부에 걸쳐 디스플레이되도록 인터페이스 애플리케이션을 구성하며;
제 1 네트워크 주소를 이용하여 제 3 자 컴퓨팅 시스템과 통신하도록 인터페이스 애플리케이션을 구성하게 하도록 구성된다.
소프트웨어는 또한:
제 3 자 컴퓨팅 시스템으로부터 딥링크를 수신하고, 딥링크는 제 3 자 컴퓨팅 시스템과 연관된 애플리케이션으로 하여금 론칭되게 하도록 구성되고, 딥링크는 애플리케이션이 동작을 개시하기 위한 지시들을 포함하고;
제 2 요청에 응답하여, 딥링크를 제 1 이용자 디바이스로 송신하도록 실행될 때 동작가능할 수 있고;
디스플레이 지시들은 또한, 제 1 이용자 디바이스로 하여금 딥링크를 활성화시키는 입력을 수신하고, 입력에 응답하여 딥링크와 연관된 제 1 이용자 디바이스에 설치된 애플리케이션을 론칭하도록 구성되게 하도록 구성된다.
딥링크에 포함된 지시들은 라이브 비디오에서의 콘텐트와 연관될 수 있다.
라이브 비디오에서의 콘텐트는 게이밍 세션에서 플레이되는 제 2 이용자 디바이스에 설치된 게이밍 애플리케이션일 수 있다.
딥링크는 제 1 이용자 디바이스에 설치된 게이밍 애플리케이션으로 하여금 론칭되게 하도록 구성될 수 있다.
딥링크에서의 지시들에 의해 개시된 동작은 제 1 이용자 디바이스에 설치된 게이밍 애플리케이션으로 하여금 게이밍 세션을 통해 제 2 이용자 디바이스에 설치된 게이밍 애플리케이션과 상호작용하게 할 수 있다.
인터페이스 애플리케이션은:
제 1 이용자로부터 입력을 수신하고;
입력에 대응하는 데이터를 제 3 자 컴퓨팅 시스템으로 송신하며;
제 3 자 컴퓨팅 시스템으로부터의 지시들을 프로세싱하도록 구성될 수 있다.
본 발명에 따른 일 실시예에서, 소셜 네트워크와 연관된 컴퓨팅 시스템은:
하나 이상의 프로세서들; 및
프로세서들 중 하나 이상에 결합되고 프로세서들 중 하나 이상에 의해 실행될 때 시스템으로 하여금:
라이브 비디오를 공개하기 위한 제 1 요청을 수신하고, 제 1 요청은 소셜 네트워크에 관해 제 3 자 컴퓨팅 시스템으로부터 수신되고, 제 1 요청은 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소를 포함하는, 상기 제 1 요청을 수신하고;
제 1 이용자와 연관된 제 1 이용자 디바이스로부터 콘텐트에 대한 제 2 요청을 수신하고;
제 2 요청에 응답하여, 디스플레이 지시들, 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소, 라이브 비디오가 이용가능한 제 2 네트워크 주소, 및 인터페이스 애플리케이션이 이용가능한 제 3 네트워크 주소를 제 1 이용자 디바이스로 송신하게 하도록 동작가능한 지시들을 포함하는 하나 이상의 컴퓨터 판독가능한 비일시적 저장 매체들을 포함할 수 있고;
디스플레이 지시들은 제 1 이용자 디바이스로 하여금:
제 2 네트워크 주소를 이용하여 얻어진 라이브 비디오를 디스플레이하도록 비디오 참가자 애플리케이션을 구성하고;
제 3 네트워크 주소를 이용하여 인터페이스 애플리케이션을 얻고;
라이브 비디오의 적어도 일부에 걸쳐 디스플레이되도록 인터페이스 애플리케이션을 구성하며;
제 1 네트워크 주소를 이용하여 제 3 자 컴퓨팅 시스템과 통신하도록 인터페이스 애플리케이션을 구성하게 하도록 구성된다.
프로세서들은 또한:
제 3 자 컴퓨팅 시스템으로부터 딥링크를 수신하고, 딥링크는 제 3 자 컴퓨팅 시스템과 연관된 애플리케이션으로 하여금 론칭되게 하도록 구성되고, 딥링크는 애플리케이션이 동작을 개시하기 위한 지시들을 포함하고;
제 2 요청에 응답하여, 딥링크를 제 1 이용자 디바이스로 송신하기 위한 지시들을 실행할 때 동작가능할 수 있고;
디스플레이 지시들은 또한, 제 1 이용자 디바이스로 하여금 딥링크를 활성화시키는 입력을 수신하고, 입력에 응답하여 딥링크와 연관된 제 1 이용자 디바이스에 설치된 애플리케이션을 론칭하도록 구성되게 하도록 구성된다.
딥링크에 포함된 지시들은 라이브 비디오에서의 콘텐트와 연관될 수 있다.
라이브 비디오에서의 콘텐트는 게이밍 세션에서 플레이되는 제 2 이용자 디바이스에 설치된 게이밍 애플리케이션일 수 있다.
딥링크는 제 1 이용자 디바이스에 설치된 게이밍 애플리케이션으로 하여금 론칭되게 하도록 구성될 수 있다.
딥링크에서의 지시들에 의해 개시된 동작은 제 1 이용자 디바이스에 설치된 게이밍 애플리케이션으로 하여금 게이밍 세션을 통해 제 2 이용자 디바이스에 설치된 게이밍 애플리케이션과 상호작용하게 할 수 있다.
인터페이스 애플리케이션은:
제 1 이용자로부터 입력을 수신하고;
입력에 대응하는 데이터를 제 3 자 컴퓨팅 시스템으로 송신하며;
제 3 자 컴퓨팅 시스템으로부터의 지시들을 프로세싱하도록 구성될 수 있다.
본 발명에 따른 일 실시예에서, 하나 이상의 컴퓨터 판독가능한 비일시적 저장 매체들은 본 발명 또는 상기 언급된 실시예들 중 임의의 실시예에 따른 방법을 수행하도록 실행될 때 동작가능한 소프트웨어를 구현할 수 있다.
본 발명에 따른 일 실시예에서, 시스템은: 하나 이상의 프로세서들; 및 프로세서들에 결합되고 프로세서들에 의해 실행가능한 지시들을 포함하는 적어도 하나의 메모리를 포함하고, 프로세서들은 본 발명 또는 상기 언급된 실시예들 중 임의의 실시예에 따른 방법을 수행하기 위한 지시들을 실행할 때 동작가능하다.
본 발명에 따른 일 실시예에서, 바람직하게는 컴퓨터 판독가능한 비일시적 저장 매체들을 포함하는 컴퓨터 프로그램 제품은 본 발명 또는 상기 언급된 실시예들 중 임의의 실시예에 따른 방법을 수행하기 위해 데이터 프로세싱 시스템에서 실행될 때 동작가능할 수 있다.
도 1은 관람 인터페이스가 비디오 참가자 위에 오버레이되는 일 실시예에 대한 일 예시적인 블록도.
도 2는 관람 인터페이스가 라이브 콘텐트를 렌더링하도록 구성되는 일 실시예에 대한 일 예시적인 블록도.
도 3은 대화형 관람 인터페이스를 제공하기 위한 일 예시적인 흐름도.
도 4는 소셜 네트워킹 시스템과 연관된 일 예시적인 네트워크 환경을 도시한 도면.
도 5는 일 예시적인 소셜 그래프를 도시한 도면.
도 6은 일 예시적인 컴퓨터 시스템을 도시한 도면.
본 명세서에서 설명된 특정한 실시예들은 관람 경험을 대화형 경험으로 변환하는 시스템들 및 방법들에 관한 것이다. 예를 들면, 소셜 네트워킹 시스템의 이용자들은 다른 사람들이 게임들을 하는 것을 시청할 수 있으며, 그 중 일부는 실시간으로 스트리밍될 수 있다. 본 명세서에서 설명된 특정한 실시예들은 관람자들이 게임들을 시청할 뿐만 아니라, 현재 게임 참가자 및 다른 관람자들이 보는 예로서, 실시간 반응들, 감정들, 및/또는 댓글을 게시함으로써 게임들에 능동적으로 관여하는 것을 인에이블링한다. 게다가, 관람자는 스트리밍 콘텐트가 제공된 활성화 요소를 클릭/탭핑함으로써 게임에 참여하고 게임 참가자 또는 다른 관람자와 플레이할 수 있다. 활성화 요소를 트리거링(triggering)하는 것은 이용자의 시스템에 설치된 고유 게이밍 앱으로 하여금 게임에 참여하기 위해 필요한 연결들을 론칭하고 자동으로 확립되게 할 수 있다. 대화형 관람 특징들의 이러한 예들은 콘텐트(예로서, 게임) 주위의 뿐만 아니라, 게임 그 자체를 갖는 소셜 네트워킹 이용자들 사이의 참여를 촉진하고, 그에 의해 최종 이용자들, 소셜 네트워킹 시스템, 및 게임 개발자에게 이득이 된다.
특정 실시예들에 대해 설명된 시스템들 및 방법들은 개발자가 소셜 네트워킹 시스템을 통해 개발자에 의해 스트리밍된 콘텐트에 맞춰지는 대화형 관람 경험을 개발하기 위한 프레임워크를 제공한다. 관람 인터페이스의 구현 상세들을 개발자들에게 남겨둠으로써, 인터페이스는 소셜 네트워킹 시스템에 의해 제공된 일반적인 인터페이스가 아니라, 방송되는 각각의 개별적인 콘텐트(예로서, 게임)에 대해 주문에 따라 맞춰질 수 있다. 예를 들면, 개발자의 게임 서버는 관람 인터페이스에 대한 동적 특징들을 제공하기 위해 게임 상태에 대한 그것의 지식을 활용할 수 있다.
도 1은 대화형 관람 인터페이스가 비디오 참가자 위에 오버레이되는 일 실시예에 대한 일 예시적인 블록도를 도시한다. 높은 레벨에서, 예를 들면, 라이브 비디오는 대화형 관람 인터페이스(예로서, HTML5를 이용하여 구현될 수 있음)로 오버레이될 수 있다. 인터페이스는 라이브 콘텐트로 하여금 소셜 네트워킹 시스템을 통해 스트리밍되게 하도록 구성되는 애플리케이션의 제 3 자 개발자(소셜 네트워킹 시스템과 관한)에 의해 설계될 수 있다. 특정한 실시예들에서, 인터페이스는 소셜 네트워킹 시스템에 업로드될 수 있다. 특정한 실시예들에서, 인터페이스는 기본 콘텐트가 보이는 것을 허용하는 투명 부분을 포함할 수 있다. 인터페이스는 또한, 개발자의 관람 인터페이스 설계를 지원하기 위한 임의의 제어 및 디스플레이 요소들을 포함할 수 있다. 인터페이스를 통해, 관람자는 제 3 자 개발자와 연관된 시스템(예로서, 게임 개발자와 연관된 게임 서버)에 입력을 제공하고 그로부터 업데이트들을 수신할 수 있다. 예를 들면, 게임 서버가 게임 상태/특징들을 알고 그들에 걸쳐 제어할 수 있기 때문에, 게임 서버는 게임 상태/특징들에 기초하여 대화형 기회들 및/또는 피드백을 제공할 수 있을 것이다. 제 3 자 개발자가 이러한 대화형 관람 오버레이를 설계하고 배치하는 것을 인에이블링하기 위한 시스템 인프라스트럭처의 일례가 도 1에 도시된다.
특정한 실시예들에서, 도 1에 도시된 시스템들 및 프로세스들은 대화형 관람 인터페이스를 갖는 게임들의 생방송들을 제공하기 위해 이용될 수 있다. 이 예시적인 실시예가 게이밍 콘텍스트에서 설명될지라도, 본 발명이 대화형 관람 인터페이스를 비디오/오디오 방송과 같은, 임의의 적합한 콘텐트와 통합하는 것을 고려한다는 것이 이해되어야 한다. 특정한 실시예들에서, 이용자 또는 게임 참가자는 자신의 모바일 디바이스에서 고유 게이밍 앱(103)을 플레이하고 있을 수 있다. 참가자는 게임의 개발자와 연관된 대응하는 게임 서버(130)와 통신할 수 있는 게임(103)에 로그인할 수 있다. 특정한 실시예들에서, 참가자는 또한, 소셜 네트워킹 시스템으로 자신을 인증받을 수 있다. 참가자가 소셜 네트워킹 시스템을 통해 그의 라이브 게임 플레이를 방송하기를 원할 때, 그의 디바이스는 특정한 실시예들에서, 게임 서버(130)와 통신하고(110) 스트림 키, 참가자 액세스 토큰, 및/또는 방송 허가/타겟을 송신할 수 있고, 그들의 각각은 소셜 네트워킹 시스템에 라이브 게임 플레이를 방송하도록 요청하기 위해 게임 서버(130)에 의해 이용될 수 있다. 스트림 키는 플레이되고 있는 게임의 스트리밍 세션에 대한 식별 또는 참조를 표현할 수 있다. 참가자 액세스 토큰은 소셜 네트워킹 시스템에서 참가자를 인증하고 식별하는 토큰일 수 있다. 예를 들면, 참가자 액세스 토큰은 참가자가 소셜 네트워킹 시스템으로 자신을 성공적으로 인증한 것에 응답하여 생성될 수 있다. 인증은 게임을 론칭할 때 참가자가 소셜 네트워킹 시스템에 로그인하는 것과 같은, 임의의 통상적인 방식으로 발생할 수 있다. 결국 소셜 네트워킹 시스템으로 이동될 수 있는 방송 허가/타겟은 소셜 네트워킹 시스템에 게임의 라이브 스트리밍을 위한 원하는 허가들 및/또는 타겟들을 통지할 수 있다. 예를 들면, 허가는 잠재적인 관람자들을 특정한 그룹 내에 있거나 소셜 네트워킹 시스템에서 참가자로부터의 임계 분리도 내에 있는 사람들로 제한할 수 있다. 또 다른 예로서, 타겟은 어떤 이용자들 또는 이용자들의 유형들이 라이브 콘텐트를 보여줄 수 있는지를 명시할 수 있다.
게임(103), 및 게임 서버(130)는 또한, 게임 동안 통신할 수 있다(110). 예를 들면, 게임(103)은 게임 플레이 동안 게임 제어 패킷들을 게임 서버(130)로 송신할 수 있다. 이것은 예로서, 이용자 명령들, 구매들, 게임 상태, 및 다른 게임 관련 데이터를 포함할 수 있다. 게임 서버(130)는 또한 예로서, 서버 측 게임 상태들, 지시들, 및 광고들을 게임(103)으로 송신할 수 있다. 예를 들면, 특정 게임 상태는 서버에 의해 결정될 수 있고, 이러한 게임 상태는 게임 동안 게이밍 애플리케이션(103)에 전달될 수 있다. 또 다른 예로서, 게임 서버(130)는 참가자 커뮤니티 게임 업데이트들을 전송할 수 있으며, 이는 참가자와 게임을 하는 다른 참가자들로부터의 명령들 및/또는 게임 상태들과 관련될 수 있다.
상기 논의된 바와 같이, 참가자의 게임 플레이는 소셜 네트워킹 시스템을 통해 생방송될 수 있다. 특정한 실시예들에서, 생방송 요청은 게임 개발자의 클라우드(120)로부터 소셜 네트워킹 클라우드(160)로 송신될 수 있다. 특정한 실시예들에서, 게임 개발자의 클라우드(120)는 소셜 네트워킹 클라우드(160)에 대한 분배를 위해 참가자의 게임 플레이의 비디오들을 생성하고/하거나 인코딩하도록 구성되는 인코딩 서비스(140) 및 게임 서버(130)를 포함할 수 있다. 특정한 실시예들에서, 게임 개발자의 클라우드(120)는 라이브 비디오 요청을 제출함으로써 소셜 네트워킹 시스템과의 스트리밍 세션을 확립할 수 있다. 라이브 비디오 요청은 예로서, 인코딩 서비스(140) 또는 게임 서버(130)로부터 송신될 수 있다. 인코딩 서비스(140)가 소셜 네트워킹 클라우드(160)와 인터페이싱하도록 구성되는 일 실시예에서, 게임 서버(130)는 게임 서버 URI를 인코딩 서버(140)로 이동시킬 수 있다(135). 하기에 더 상세히 설명될 바와 같이, 이 게임 서버 URI는 후속적으로, 게임 서버(130)와 직접적으로 통신하기 위해 대화형 관람 인터페이스에 의해 이용될 수 있다. 특정한 실시예들에서, 게임 서버(130)는 또한, 참가자의 참가자 액세스 토큰 및/또는 방송 허가/타겟 정보를 인코딩 서비스(140)로 이동시킬 수 있다(135). 참가자 액세스 토큰은 참가자가 누구이고 그가 소셜 네트워킹 시스템으로 그의 계정을 통해 콘텐트를 공개할 권한이 있음을 소셜 네트워킹 클라우드(160)에 보여주기 위해 이용될 수 있다. 방송 허가/타겟은 또한, 라이브 비디오의 원하는 청중을 소셜 네트워킹 클라우드(160)에 통지하기 위한 요청(143)의 일부일 수 있다. 특정한 실시예들에서, 게임 서버(130)는 또한, 스트림 키를 인코딩 서비스(140)로 전송할 수 있다. 스트림 키는 인코딩 서비스(140)에 의해, 라이브 비디오를 스트리밍하기 위해 소셜 네트워킹 클라우드(160)와 함께 확립되는 특정한 스트리밍 세션을 식별하기 위해 이용될 수 있다. 예를 들면, 게임 서버(130)가 새로운 콘텐트를 생성함에 따라, 콘텐트는 인코딩 서비스(140)에게 어떤 스트림을 이용할지를 통지하기 위해 적절한 스트림 키로 인코딩 서비스(140)로 전송될 수 있다(135).
특정한 실시예들에서, 게임 개발자 클라우드(120)는 소셜 네트워킹 클라우드(160)에 라이브 비디오를 공개하도록 요청할 수 있다. 소셜 네트워킹 클라우드(160)는 그래프 API(170), 및 스트림 서비스(180)를 포함할 수 있다. 그래프 API(170)는 라이브 비디오 요청들을 처리하고 라이브 비디오 객체를 생성함으로써 응답하며 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프에 그것을 삽입하도록 구성될 수 있다. 스트림 서비스(180)는 라이브 비디오를 수신하고 분배하도록 구성될 수 있다. 특정한 실시예들에서, 라이브 비디오 생성 요청은 그래프 API(170)로 전송될 수 있다. 특정한 실시예들에서, 라이브 비디오 요청(143)은 상기 논의된 바와 같이, 참가자 액세스 토큰 및/또는 방송 허가/타겟를 수반할 수 있다. 특정한 실시예들에서, 요청은 또한, 참가자 및/또는 참가자와 게임을 하는 임의의 다른 참가자들을 식별하는 소셜 네트워킹 시스템 내의 이용자 식별자들을 포함할 수 있다. 이용자 식별자(들)는 예를 들면, 요청된 라이브 비디오(예로서, 참가자 및/또는 그의 친구들과 연관된 뉴스 피드들)를 공개할 위치를 결정하기 위해 소셜 네트워킹 시스템에 의해 이용될 수 있다. 특정한 실시예들에서, 요청(143)은 또한, 스토리 속성 데이터를 포함할 수 있으며, 이는 라이브 비디오에 대한 소셜 매체 스토리를 생성하기 위해 이용될 수 있는 임의의 메타데이터를 포함할 수 있다. 예를 들면, 스토리 속성 데이터는 현재 게임 상태(예로서, 참가자가 게임에서 특정한 보스와 싸우고 있음), 참가자가 얼마나 오랫동안 플레이했는지, 참가자의 점수, 참가자의 상대들, 및 라이브 비디오의 텍스트 콘텍스트의 생성 시에 유용할 수 있는 임의의 다른 정보를 포함할 수 있다. 특정한 실시예들에서, 요청(143)은 상기 논의된 바와 같이, 게임 서버의 URI 또는 연결 주소(예로서, 웹 소켓)를 포함할 수 있다. 특정한 실시예들에서, 요청(143)은 가로/세로 자르기 규칙(landscape/portrait crop rule)들을 더 포함할 수 있으며, 이는 상이한 뷰잉 방위들로 디스플레이될 때 라이브 비디오가 어떻게 잘려져야 하는지 결정하기 위해 소셜 네트워킹 시스템에 의해 이용될 수 있다. 특정한 실시예들에서, 요청(143)은 또한, 게임 개발자 클라우드(120)에 의해 생성된 딥링크를 포함할 수 있다. 하기에 더 상세히 설명될 바와 같이, 딥링크는 이용자의 디바이스에서 적절한 게이밍 애플리케이션을 론칭하고 특정 동작들(예로서, 게임 서버와의 게이밍 세션의 시작)을 자동으로 수행하도록 지시 데이터를 게이밍 애플리케이션에 제공하기 위해 관람 인터페이스에 의해 이용될 수 있다.
특정한 실시예들에서, 그래프 API(170)는 라이브 비디오 요청을 수신하고, 이에 응답하여 소셜 그래프에 라이브 비디오 객체를 생성하고 주입할 수 있다. 특정한 실시예들에서, 라이브 비디오 객체는 참가자 및/또는 게임을 하고 있는 다른 참가자들과 연관되는 소셜 그래프에서의 객체들과 연관될 수 있다. 특정한 실시예들에서, 그래프 API(170)는 라이브 비디오 객체에 대한 참조를 게임 개발자 클라우드(120)(예로서, 클라우드(120)의 인코딩 서비스(140))로 다시 전송할 수 있다(143). 라이브 비디오 객체는 비디오 프레임들이 푸시(push)될 수 있는 실시간 메시징 프로토콜(Real-Time Messaging Protocol; RTMP) URI를 포함할 수 있다(모든 콘텐트 소스는 스트리밍 서비스, 이용자의 폰, 등을 포함하는, 비디오 프레임들을 이 URI에 푸시할 수 있음). 특정한 실시예들에서, RTMP URI는 소셜 네트워킹 클라우드(160)의 스트림 서비스(180)를 가리킬 수 있다. 스트림 서비스(180)는 수신된 프레임들을 축적하고 요청 시에 라이브 비디오를 송신할 수 있다.
라이브 비디오 스트리밍 흐름의 특정한 실시예들은 다음과 같을 수 있다. 게임이 플레이되고 있음에 따라, 게임 서버(130)는 게임을 시뮬레이팅(simulating)하고 대응하는 프레임들을 렌더링하며 분배를 위해 그들을 인코딩 서비스(140)에 제공할 수 있다(135). 특정한 실시예들에서, 스트림 키는 비디오 프레임들이 속하는 스트림을 인코딩 디바이스(140)에 통지하기 위해 비디오 프레임들과 함께 전송될 수 있다. 인코딩 디바이스(140)는 그 다음, 라이브 비디오와 연관된 라이브 비디오 객체와 연관되는 RTMP RUI를 이용하여 비디오 프레임들을 소셜 네트워킹 시스템의 스트림 서비스(180)로 송신할 수 있다(147). 특정한 실시예들에서, 인코딩 서비스는 비디오 스트림을 소셜 네트워킹 클라우드(160)에 분배하기 위해 임의의 스트리밍 서비스(150)(게임 개발자 시스템 외부의 제 3 자 서비스일 수 있음)를 활용할 수 있다. 비디오 스트림들은 스트림 서비스(180)에 의해 누적될 수 있고, 요청 시에 프레임들을 분배할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템은 뉴스 피드에 라이브 비디오를 공개할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 클라우드(160)는 피드 후단부 서버(feed backend server)(190)를 포함할 수 있다. 피드 후단부 서버(190)는 스토리 데이터를 얻기 위해 그래프 API(170) 및/또는 스트림 서비스(180)와 통신할 수 있다(175). 상기 언급된 스토리 속성 데이터를 포함할 수 있는 스토리 데이터는 뉴스 피드에서 라이브 콘텐트에 대한 스토리를 생성하기 위해 이용될 수 있다. 특정한 실시예들에서, 피드 후단부 서버(190)는 뉴스 피드들(101)을 디스플레이하도록 구성된 이용자 디바이스로부터 피드 요청(195)을 수신할 수 있다. 예를 들면, 디바이스의 이용자는 연관된 앱 또는 브라우저를 통해 소셜 네트워킹 시스템에 로그인될 수 있다. 피드 후단부 서버(190)는 요청하는 이용자를 식별하고 어떤 뉴스 피드를 제공할지를 결정할 수 있다. 특정한 실시예들에서, 서버(190)는 요청하는 이용자의 뉴스피드가 생성된 라이브 비디오 객체와 연관된 라이브 비디오를 포함해야 한다고 결정하기 위해 소셜 그래프를 이용할 수 있다(예로서, 요청하는 이용자는 라이브 비디오를 공개하고 있는 참가자로부터 1과 같은 임계 분리도 내에 있을 수 있음). 특정한 실시예들에서, 피드 후단부 서버(190)는 또한, 라이브 비디오가 요청하는 이용자에게 보여져야 하는지의 여부를 결정하기 위해 방송 허가/타겟 지시들을 고려할 수 있다. 서버(190)가 라이브 비디오가 보여져야 한다고 결정하면, 그것은 다음 데이터 중 하나 이상을 송신할 수 있다(195). 특정한 실시예들에서, 서버(190)는 하나 이상의 피드 스토리를 송신할 수 있고(195), 그 중 하나는 콘텍스트를 제공하고/하거나 라이브 비디오를 마케팅하기 위해 스토리 속성 데이터를 이용하여 생성된 스토리일 수 있다. 특정한 실시예들에서, 스토리는 라이브 비디오와 연관된 하나 이상의 비디오 프레임들을 포함할 수 있다. 특정한 실시예들에서, (대화식 관람 인터페이스가 없는) 라이브 비디오는 뉴스 피드들을 통해 스토리의 일부로서 스트리밍될 수 있다. 특정한 실시예들에서, 뉴스 피드에 제공된 라이브 비디오는 하기에 더 상세하게 설명될 바와 같이, 대화형 관람 인터페이스로 오버레이될 수 있다. 특정한 실시예들에서, 서버(190)는 라이브 비디오를 다운로드할 비디오 스트림 URI 또는 라이브 비디오의 미리보기(예로서, 하나 이상의 프레임들), 상기 설명된 바와 같은 게임 서버 URI, 및/또는 대화형 관람 인터페이스를 다운로딩할 인스턴트 오버레이 URI를 전송할 수 있다. 특정한 실시예들에서, 대화형 관람 인터페이스는 HTML5 및/또는 자바스크립트를 이용하여 구현되고 zip 파일로 패키지징될 수 있다. 대화형 관람 인터페이스는 게임 개발자에 의해 설계되고 구현될 수 있으며 소셜 네트워킹 시스템과 연관된 서버에 업로드될 수 있다. 인스턴트 오버레이 URI를 통해, 게임에 대한 특정한 대화형 관람 인터페이스가 다운로드될 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템은 라이브 비디오 생성 요청과 함께 제공된 정보에 기초하여 어느 인스턴트 오버레이 URI를 제공할지 결정할 수 있다(예로서, 요청은 인스턴트 오버레이에 할당된 식별자 또는 특정한 인스턴트 오버레이에 매핑될 수 있는 딥링크 또는 게임 ID와 같은, 임의의 다른 정보를 명시할 수 있다).
특정한 실시예들에서, 서버(190)는 송신된 정보가 이용자의 뉴스 피드(101)에서 어떻게 구성되어야 하는지를 명시하는 디스플레이 지시들(예로서, HTML로)을 송신할 수 있다(195). 특정한 실시예들에서, 라이브 비디오와 연관된 스토리는 활성화 입력을 처리하도록 구성될 수 있다. 이러한 활성화 입력(198)(예로서, 이용자가 스토리 또는 라이브 비디오를 클릭하거나 탭핑함)의 수신 시에, 뉴스 피드(101)는 라이브 비디오에 대화형 관람 인터페이스가 제공되는 모드(102)로 전환할 수 있다. 특정한 실시예들에서, 라이브 비디오 스트림은 비디오 참가자에 로드되고 시작될 수 있다(예로서, 비디오 스트림 URI를 이용하여 스트림 서비스(180)로부터 비디오를 다운로드함(185)). 특정한 실시예들에서, 비디오 참가자는 소셜 네트워킹 플랫폼 내에(예로서, 뉴스피드 내에, 뉴스 피드로부터 유래하는 별개의 윈도우/인터페이스에, 연관된 채팅 인터페이스/메신저 내에, 등) 디스플레이될 수 있다. 특정한 실시예들에서, (예로서, 스트림 서비스(180)를 통해) 소셜 네트워킹 클라우드(160)는 또한, 라이브 비디오에 응답하여 이용자에 의해 게시된 명령들 및/또는 반응 데이터를 이용자 디바이스로 전송할 수 있다(185).
특정한 실시예들에서, 서버(190)에 의해 제공된 지시들은 또한, 클라이언트 디바이스로 하여금 인스턴트 오버레이 URI를 이용하여 대화형 관람 인터페이스(예로서, HTML5, 자바스크립트, 및 이미지 자산들)를 포함하는 패키지(예로서, zip 파일)를 다운로드하게 할 수 있다. 관람 인터페이스는 그 다음, 다운로드된 패키지를 이용하여 로드하고 시작될 수 있다. 특정한 실시예들에서, 관람 인터페이스는 HTML5 앱이 주위의 앱(예로서, 소셜 네트워킹 시스템과 연관된 앱)과 대화하고 HTML5가 내장되는 소셜 콘텍스트를 이용하는 것을 허용하는 주입된 자바스크립트 SDK로, 웹 뷰에서 HTML5 앱으로서 실행될 수 있다. 특정한 실시예들에서, 제 3 자 게임 서버 URI는 대화형 관람 인터페이스가 게임 서버와 통신하는 것(187)을 허용하기 위해 그것에 주입될 수 있다. 이 링크(187)를 통해, 관람 인터페이스를 통해 입력되는 관람자의 반응들, 댓글들, 및/또는 명령들은 게임 서버(130)로 전송되고 그것에 의해 프로세싱될 수 있다. 댓글들 및/또는 반응들은 예를 들면, 다른 사람들(예로서, 게임 참가자 및 다른 관람자들)과 공유될 수 있다. 특정한 실시예들에서, 개발자 정의된 상호작용 패킷들은 프로세싱을 위해 대화형 관람 인터페이스(102)로부터 게임 서버(130)로 전송될 수 있다. 게임 서버는 수신된 패킷들을 그것이 선택하는 임의의 방식으로 프로세싱할 수 있다. 예를 들면, 관람자에 의해 행해진 입력들에 응답하여 전송될 수 있는 패킷들은 실제 게임 플레이에 영향을 미치고/거나 임의의 보조 동작들(예로서, 선물하기, 댓글 달기, 도전하기, 등)을 트리거링하도록 구성될 수 있다. 따라서, 관람자는 스트리밍된 콘텐트에 대한 반응들 및/또는 댓글들을 입력할 수 있을 뿐만 아니라, 콘텐트에 영향을 미치고 콘텐트의 발신자(예로서, 참가자)와 통신할 수 있다. 이것은 게임 서버(130)가 게임 상태를 알고 제어하기 때문에 부분적으로 가능하게 행해진다. 게임 서버(130)는 또한, 지시들(예로서, 현재 게임 상태에 의존할 수 있는 개발자 정의된 상호작용 기회들) 및/또는 디스플레이할 데이터를 관람 인터페이스(102)로 전송할 수 있다(187). 관람 인터페이스가 게임 개발자에 의해 설계되기 때문에, 그것은 게임 서버(130)의 지시들을 적절하게 처리하도록 구성될 것이다.
상기 설명된 실시예들을 통해, 라이브 비디오의 관람자에게 대화형 관람 경험이 제공될 수 있다. 라이브 비디오 콘텐트(예로서, 게임의)는 비디오 참가자를 통해 스트리밍될 수 있으며, 이는 관람자로부터 입력을 수신하고 게임 서버(130)로 데이터 및 지시들을 송신/수신할 수 있는 대화형 관람 인터페이스로 오버레이될 수 있다(예로서, 완전히 또는 부분적으로 커버될 수 있음). 특정한 실시예들에서, 대화형 관람 인터페이스(102)는 게임 개발자에 의해 개발된 맞춤형 HTML5 앱일 수 있고, 제 3 자 게임 서버(130) 종단점(endpoint)에 연결하고 수행할 동작들에 대한 지시들을 취하도록 구성될 수 있다. 특정한 실시예들에서, 대화형 관람 인터페이스는 특정 공통 특징들을 구현할 수 있다(소셜 네트워킹 시스템에 의해 제공된 SDK를 통해). 예를 들면, 각각의 대화형 관람 인터페이스는 댓글들 및 반응이 비디오에 걸쳐 디스플레이되는 것을 허용하는 좌측 스와이프 특징을 지원할 수 있다.
특정한 실시예들에서, 대화형 관람 인터페이스는 딥링크 활성화를 지원하도록 구성될 수 있다. 특정한 실시예들에서, 게임 서버(130)에 의해 소셜 네트워킹 시스템에 제공된 딥링크는 관람 인터페이스에 집적될 수 있다. 예를 들면, 피드 후단부 서버(190)로부터 이용자 디바이스로 전송된 디스플레이 지시들은 관람자로부터 딥링크 활성화 입력을 수신하기 위한 취급자(handler)를 구성할 수 있다. 딥링크의 활성화(199) 시에, 딥링크는 관람자의 디바이스에 설치된 적절한 앱(예로서, 라이브 비디오로 스트리밍되는 게임)을 론칭하려고 시도할 수 있다. 앱이 이용가능하지 않으면, 관람자는 앱이 다운로드될 수 있는 앱 저장장치 또는 소스로 재지향될 수 있다. 상기 설명에서 라이브 비디오의 콘텐트 소스 및 참가자의 디바이스를 표현한 게이밍 앱(103)이 스트리밍될지라도, 본 콘텍스트에서 게이밍 앱(103)은 고유 게이밍 앱을 활성화시키는 관람자의 디바이스를 표현한다. 게임 개발자는 임의의 정보(예로서, 개발자가 등록한 앱 방식, 라이브 비디오에서 스트리밍된 게임과 연관된 게임 세션 ID, 지시들, 등)를 포함하도록 그리고 개발자의 게이밍 앱(103) 내의 임의의 유형의 동작을 트리거링하도록 딥링크를 설계할 수 있다. 예를 들면, 딥링크를 활성화시키는 것은 스트리밍되는 게임의 유형에 기초하여 앱을 론칭하고, (예로서, 마지막 게임의 승자와 플레이하기 위해) 참가자 및/또는 다른 관람자들과의 게임(토너먼트 또는 매치)에 참여하기 위해 관람자를 자동으로 큐잉하도록 앱에 지시할 수 있다. 또 다른 예로서, 관람자는 딥링크를 통해 게임 내 선물하기를 직접적으로 제공한다. 게임 개발자에게 수행될 수 있는 특정한 동작들을 구현하기 위한 유연성이 제공된다는 것이 이해되어야 한다. 딥링크를 통해 관람자는 개발자의 고유 게이밍 앱을 통해 게임 개발자와 상호작용할 수 있다.
도 2는 관람 인터페이스가 라이브 콘텐트(예로서, 라이브 게이밍)를 렌더링하도록 구성되는 일 실시예에 대한 일 예시적인 블록도를 도시한다. 도시된 실시예에서, 단지 HTML5 앱(202)이 비디오 참가자를 활용하지 않고 관람자의 디바이스에서 실행될 것이다. 참가자를 통해 라이브 비디오를 스트리밍하는 대신에, 라이브 게임 플레이는 게임 서버(230)에 의해 전송된 게임 상태 데이터에 기초하여 HTML5 앱(202)에 의해 관람자의 디바이스에서 렌더링될 수 있다. 관람자를 위한 게임을 재생성하는 것은 별도로 하고, HTML5 앱(202)은 임의의 관람 인터페이스 특징들을 포함할 수 있다. 관람 인터페이스는 도 1에 대해 상기 설명된 바와 같이 게임 서버(230)와 직접적으로 통신할 수 있다. 어떠한 비디오도 수반되지 않기 때문에, 비디오 프로세싱 및 전달이 더 이상 필요하지 않고, 이는 효율성 이유들로 바람직할 수 있다.
특정한 실시예들에서, 도 1의 프로세스와 유사한, 도 2에 도시된 프로세스에서, 참가자의 디바이스에서의 게이밍 앱(203)은 게임 서버(230)를 포함할 수 있는 게임 개발자 클라우드(220)와 통신할 수 있다(210). 게이밍 앱(203)은 유사하게 (1) 참가자 액세스 토큰들, 방송 허가/타겟 규칙들, 및/또는 게임 제어 패킷들을 송신하고, (2) 서버 게임 업데이트들을 수신하고 게임 업데이트들을 전달할 수 있다. 그러나, 어떠한 비디오 스트리밍도 도 2에 도시된 실시예에서 수행되지 않기 때문에, 스트림 키가 특정한 실시예들에서 송신되지 않을 수 있다. 동일한 이유로, 게임 개발자 클라우드(220)는 어떠한 비디오도 방송되지 않기 때문에 인코딩 서비스 및/또는 다른 스트리밍 플랫폼들을 활용하지 않을 수 있다. 게다가, 특정한 실시예들에서, 게임 서버(230)는 더 이상 게임을 시뮬레이팅하지 않고 분배를 위해 대응하는 비디오 프레임들을 렌더링할 수 있다.
특정한 실시예들에서, (예로서, 게임 서버(230)를 통해) 게임 개발자 클라우드(220)는 소셜 네트워킹 클라우드(260)에 게임 스토리를 생성하도록 요청할 수 있다. 특정한 실시예들에서, 게임 개발자 클라우드(220)는 참가자를 인증하기 위해 참가자 액세스 토큰들을 소셜 네트워킹 시스템에 제공하고, 시스템에 방송 허가/타겟 규칙들을 준수하도록 요청할 수 있다. 도 1에 대해 설명된 프로세스와 유사하게, 게임 서버(230)는 요청을 제출하기 위해 소셜 네트워킹 클라우드(260)와 연관된 그래프 API(270)와 통신할 수 있다(235). 특정한 실시예들에서, 요청은 도 1에 대해 설명된 것들과 유사한 이용자 식별자들, 스토리 속성, 게임 서버 URI 또는 연결 주소, 딥링크, 및/또는 가로/세로 자르기 규칙들과 같은 정보를 포함할 수 있다. 특정한 실시예들에서, 게임 서버(230)는 게다가, 스토리를 생성하기 위해 소셜 네트워킹 시스템에 의해 이용될 수 있는 기술 자산들을 송신할 수 있다(235). 특정한 실시예들에서, 그래프 API(270)는 수신된 정보에 기초하여 게임 스토리 객체를 생성하고 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프에 객체를 삽입할 수 있다. 특정한 실시예들에서, 게임 스토리 객체는 동일한 게임에 관여하는 참가자 및/또는 다른 참가자들과 연관될 수 있다.
특정한 실시예들에서, 피드 후단부 서버(290)는 게임 스토리를 생성하기 위해 그래프 API(270)로부터 스토리 데이터를 얻을 수 있다(275). 도 1에 대해 유사하게 설명된 방식으로, 피드 후단부 서버(290)는 뉴스 피드 애플리케이션(201)을 실행하는 관람자의 디바이스로부터의 피드 요청들(295)에 응답하고 피드 스토리들을 리턴할 수 있다. 피드 스토리들 중 하나는 게임 개발자 클라우드(220)로부터의 스토리 속성들을 이용하여 생성된, 오버레이 인에이블링된 게임 스토리일 수 있다. 게다가, 서버(290)는 대화형 관람 인터페이스가 다운로드될 수 있는 인스턴트 오버레이 URI 및 게임 서버 URI를 송신할 수 있다. 오버레이 인에이블링된 게임 스토리는 게임 개발자 클라우드(220)에 의해 제공된 게임 상태 데이터에 기초하여 진행 중인 게임의 스냅샷 또는 단편 영화(short movie)를 렌더링하도록 구성될 수 있다.
특정한 실시예들에서, 피드 후단부 서버(290)로부터의 지시들은 트리거링(298) 시에, 대화형 관람 인터페이스(202)를 로드하고 시작할 수 있는 활성화 이벤트를 처리하기 위해 게임 스토리를 구성할 수 있다. 특정한 실시예들에서, 대화형 관람 인터페이스(202)(예로서, 게임 개발자에 의해 개발되고 업로드된 HTML5/자바스크립트 패키지)는 피드 후단부 서버(290)에 의해 제공된 인스턴트 오버레이 URI를 이용하여 다운로드될 수 있다. 특정한 실시예들에서, 대화형 관람 인터페이스(202)는 게임 서버 URI와 함께 주입될 수 있으며, 이는 게임 서버(230)와 통신하기 위해(287) 이용될 수 있다. 특정한 실시예들에서, 대화형 관람 인터페이스(202)는 개발자 정의된 상호작용 패킷들을 송신할 수 있고, 이는 임의의 동작들을 수행하기 위해 게임 서버(230)에 의해 프로세싱될 수 있다. 특정한 실시예들에서, 게임 서버(230)는 상기 설명된 바와 같이, 서버 게임 업데이트들 및/또는 커뮤니티 게임 업데이트들을 포함하는, 개발자 정의된 상호작용 기회들 및 게임 상태를 인터페이스(202)로 전송할 수 있다. 대화형 관람 인터페이스(202)는 수신된 게임 상태에 기초하여 게임을 렌더링하기 위해 게임 개발자에 의해 구성될 수 있다. 따라서, 비디오 참가자를 이용하여 게임의 비디오를 재생하기보다, 도 2에 도시된 실시예는 게이밍 장면들을 재생성하기 위해 인터페이스 앱(202)을 이용한다. 도 1에 대해 설명된 대화형 관람 인터페이스와 유사하게, 인터페이스(202)는 또한, 관람자가 게임 상태에 기초하여 임의의 다른 개발자 정의된 상호작용 기회들 뿐만 아니라, 게임에 대한 반응/댓글을 입력하는 것을 허용하는 것과 같은, 관람 특징들을 처리하도록 구성될 수 있다. 특정한 실시예들에서, 인터페이스(202)는 또한, 소셜 네트워킹 클라우드(260)로부터 댓글 및 반응 데이터를 수신할 수 있다(285).
도 1에 대해 설명된 딥링크 특징과 유사하게, 도 2에 도시된 실시예는 또한, 딥링크 특징을 지원할 수 있다. 예를 들면, 대화형 관람 인터페이스(202)는 딥링크 활성화를 처리하도록 구성될 수 있다. 활성화 이벤트(299)의 수신 시에, 대화형 관람 인터페이스(202)는 상기 설명된 바와 같이, 딥링크에 의해 참조된 앱(203)(예로서, 게이밍 앱)을 론칭하고 딥링크에서 인코딩된 임의의 동작을 자동으로 수행할 수 있다.
도 3은 대화형 관람 인터페이스를 제공하기 위한 일 예시적인 방법(300)을 도시한다. 방법은 단계(310)에서 시작할 수 있으며, 여기서 소셜 네트워크와 연관된 컴퓨팅 시스템은 라이브 비디오를 공개하기 위한 제 1 요청을 수신할 수 있다. 특정한 실시예들에서, 딥링크는 또한, 수신될 수 있다. 제 1 요청은 소셜 네트워크에 관한 제 3 자 컴퓨팅 시스템으로부터 수신될 수 있고, 제 1 요청은 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소를 포함할 수 있다. 단계(320)에서, 컴퓨팅 시스템은 제 1 이용자와 연관된 제 1 이용자 디바이스로부터 콘텐트에 대한 제 2 요청을 수신할 수 있다. 단계(330)에서, 컴퓨팅 시스템은 제 2 요청에 응답하여, 디스플레이 지시들, 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소, 라이브 비디오가 이용가능한 제 2 네트워크 주소, 및 인터페이스 애플리케이션이 이용가능한 제 3 네트워크 주소를 제 1 이용자 디바이스로 송신할 수 있다. 특정한 실시예들에서, 컴퓨팅 시스템은 또한, 딥링크를 송신할 수 있다. 단계(340)에서, 디스플레이 지시들은 제 1 이용자 디바이스로 하여금 제 2 네트워크 주소를 이용하여 얻어진 라이브 비디오를 디스플레이하도록 비디오 참가자 애플리케이션을 구성하게 하도록 구성될 수 있다. 단계(350)에서, 이용자 디바이스는 또한, 제 3 네트워크 주소를 이용하여 인터페이스 애플리케이션을 얻도록 야기될 수 있다. 단계(360)에서, 이용자 디바이스는 라이브 비디오의 적어도 일부에 걸쳐 디스플레이되도록 인터페이스 애플리케이션을 구성하도록 야기될 수 있다. 단계(370)에서, 이용자 디바이스는 제 1 네트워크 주소를 이용하여 제 3 자 컴퓨팅 시스템과 통신하도록 인터페이스 애플리케이션을 구성하도록 야기될 수 있다. 단계(380)에서, 이용자 디바이스는 딥링크를 활성화시키는 입력을 수신하고, 입력에 응답하여 딥링크와 연관된 제 1 이용자 디바이스에 설치된 애플리케이션을 론칭하도록 구성되도록 야기될 수 있다. 특정한 실시예들은 적절한 경우, 도 3의 방법의 하나 이상의 단계들을 반복할 수 있다. 본 발명이 특정한 순서로 발생하는 바와 같이 도 3의 방법의 특정한 단계들을 설명하고 도시할지라도, 본 발명은 임의의 적합한 순서로 발생하는 도 3의 방법의 임의의 적합한 단계들을 고려한다. 게다가, 본 발명이 도 3의 방법의 특정한 단계들을 포함하는 대화형 관람 인터페이스를 제공하기 위한 일 예시적인 방법을 설명하고 도시할지라도, 본 발명은 적절한 경우, 도 3의 방법의 단계들의 전부, 일부를 포함할 수 있거나, 어떠한 단계들도 포함할 수 없는 임의의 적합한 단계들을 포함하는 대화형 관람 인터페이스를 제공하기 위한 임의의 적합한 방법을 고려한다. 또한, 본 발명이 도 3의 방법의 특정한 단계들을 실행하는 특정한 구성요소들, 디바이스들, 또는 시스템들을 설명하고 도시할지라도, 본 발명은 도 3의 방법의 임의의 적합한 단계들을 실행하는 임의의 적합한 구성요소들, 디바이스들, 또는 시스템들의 임의의 적합한 조합을 고려한다.
도 4는 소셜 네트워킹 시스템과 연관된 일 예시적인 네트워크 환경(400)을 도시한다. 네트워크 환경(400)은 클라이언트 시스템(430), 소셜 네트워킹 시스템(460), 및 네트워크(410)에 의해 서로 연결된 제 3 자 시스템(470)을 포함한다. 도 4가 클라이언트 시스템(430), 소셜 네트워킹 시스템(460), 제 3 자 시스템(470), 및 네트워크(410)의 특정한 배열을 도시할지라도, 본 발명은 클라이언트 시스템(430), 소셜 네트워킹 시스템(460), 제 3 자 시스템(470), 및 네트워크(410)의 임의의 적합한 배열을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 클라이언트 시스템(430), 소셜 네트워킹 시스템(460), 및 제 3 자 시스템(470) 중 2개 이상은 네트워크(410)를 우회하여 서로 직접적으로 연결될 수 있다. 또 다른 예로서, 클라이언트 시스템(430), 소셜 네트워킹 시스템(460), 및 제 3 자 시스템(470) 중 2개 이상은 물리적으로 또는 논리적으로 서로 전체적으로 또는 부분적으로 공동 위치될 수 있다. 게다가, 비록 도 4가 특정한 수의 클라이언트 시스템들(430), 소셜 네트워킹 시스템들(460), 제 3 자 시스템들(470), 및 네트워크들(410)을 도시할지라도, 본 발명은 임의의 적합한 수의 클라이언트 시스템들(430), 소셜 네트워킹 시스템들(460), 제 3 자 시스템들(470), 및 네트워크들(410)을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 네트워크 환경(400)은 다수의 클라이언트 시스템(430), 소셜 네트워킹 시스템들(460), 제 3 자 시스템들(470), 및 네트워크들(410)을 포함할 수 있다.
본 발명은 임의의 적합한 네트워크(410)를 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 네트워크(410)의 하나 이상의 부분들은 애드 혹 네트워크(ad hoc network), 인트라넷, 엑스트라넷, 가상 사설망(VPN), 근거리 통신망(LAN), 무선 LAN(WLAN), 광역 통신망(WAN), 무선 WAN(WWAN), 도시권 통신망(MAN), 인터넷의 일부, 공중 전화 교환망(PSTN)의 일부, 셀룰러 전화 네트워크, 또는 이들 중 2개 이상의 조합을 포함할 수 있다. 네트워크(410)는 하나 이상의 네트워크들(410)을 포함할 수 있다.
링크들(450)은 클라이언트 시스템(430), 소셜 네트워킹 시스템(460), 및 제 3 자 시스템(470)을 통신 네트워크(410)에 또는 서로 연결할 수 있다. 본 발명은 임의의 적합한 링크들(450)을 고려한다. 특정한 실시예들에서, 하나 이상의 링크들(450)은 하나 이상의 유선(예를 들면, 디지털 가입자 라인(DSL) 또는 DOCSIS(Data Over Cable Service Interface Specification)과 같은), 무선(예를 들면, 와이파이 또는 WiMAX(Worldwide Interoperability for Microwave Access)와 같은), 또는 광학(예를 들면, 동기식 광 통신망(Synchronous Optical Network; SONET) 또는 동기식 디지털 계층(Synchronous Digital Hierarchy; SDH)과 같은) 링크들을 포함한다. 특정한 실시예들에서, 하나 이상의 링크들(450)은 각각, 애드 혹 네트워크, 인트라넷, 엑스트라넷, VPN, LAN, WLAN, WAN, WWAN, MAN, 인터넷의 일부, PSTN의 일부, 셀룰러 기술 기반 네트워크, 위성 통신 기술 기반 네트워크, 또 다른 링크(450), 또는 2개 이상의 이러한 링크들(450)의 조합을 포함한다. 링크들(450)은 반드시 동일한 전체 네트워크 환경(400)일 필요는 없다. 하나 이상의 제 1 링크들(450)은 하나 이상의 제 2 링크들(450)과 하나 이상의 측면들에서 상이할 수 있다.
특정한 실시예들에서, 클라이언트 시스템(430)은 하드웨어, 소프트웨어, 또는 내장된 로직 구성요소들 또는 2개 이상의 이러한 구성요소들의 조합을 포함하고 클라이언트 시스템(430)에 의해 구현되거나 지원된 적절한 기능들을 실행할 수 있는 전자 디바이스일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 클라이언트 시스템(430)은 데스크탑 컴퓨터, 노트북 또는 랩탑 컴퓨터, 넷북, 태블릿 컴퓨터, 전자책 판독기, GPS 디바이스, 카메라, 개인 휴대용 정보 단말기(PDA), 핸드헬드 전자 디바이스, 셀룰러 전화, 스마트폰, 증강/가상 현실 디바이스, 다른 적합한 전자 디바이스, 또는 이들의 임의의 적합한 조합과 같은 컴퓨터 시스템을 포함할 수 있다. 본 발명은 임의의 적합한 클라이언트 시스템들(430)을 고려한다. 클라이언트 시스템(430)은 클라이언트 시스템(430)에서 네트워크 이용자가 네트워크(410)에 액세스하는 것을 인에이블링할 수 있다. 클라이언트 시스템(430)은 그것의 이용자가 다른 클라이언트 시스템(430)에서 다른 이용자들과 통신하는 것을 인에이블링할 수 있다.
특정한 실시예들에서, 클라이언트 시스템(430)은 마이크로소프트 인터넷 익스플로러, 구글 크롬 또는 모질라 파이어폭스와 같은, 웹 브라우저(432)를 포함할 수 있으며, 하나 이상의 애드온(add-on)들, 플러그인들, 또는 툴바 또는 야후 툴바와 같은, 다른 확장들을 가질 수 있다. 클라이언트 시스템(430)에서 이용자는 URL(Uniform Resource Locator) 또는 웹 브라우저(432)를 특정한 서버(서버(462), 또는 제 3 자 시스템(470)와 연관된 서버)로 지향시키는 다른 주소를 입력할 수 있고, 웹 브라우저(432)는 하이퍼 텍스트 전송 프로토콜(HTTP) 요청을 생성하고 HTTP 요청을 서버에 전달할 수 있다. 서버는 HTTP 요청을 수용하고 HTTP 요청에 응답하는 하나 이상의 하이퍼 텍스트 마크업 언어(HTML) 파일들을 클라이언트 시스템(430)에 전달할 수 있다. 클라이언트 시스템(430)은 이용자에게 제공하기 위해 서버로부터 HTML 파일들에 기초하여 웹페이지를 렌더링할 수 있다. 본 발명은 임의의 적합한 웹페이지 파일들을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 웹페이지들은 특정한 요구들에 따라 HTML 파일들, 확장가능한 하이퍼 텍스트 마크업 언어(XHTML) 파일들, 또는 확장가능한 마크업 언어(XML) 파일들로부터 렌더링할 수 있다. 이러한 페이지들은 또한, 예로서 그리고 제한 없이, 자바스크립트, 자바, 마이크로소프트 실버라이트로 기록된 스크립트들, 마크업 언어 그리고 동기식 자바스크립트 및 XML(AJAX), 등과 같은 스크립트들의 조합들과 같은 스크립트들을 실행할 수 있다. 여기서, 웹페이지에 대한 참조는 적절한 경우, 하나 이상의 대응하는 웹페이지 파일들(브라우저가 웹페이지를 렌더링하기 위해 이용할 수 있음)을 포함하고 그 반대도 마찬가지이다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 온라인 소셜 네트워크를 호스팅할 수 있는 네트워크 주소지정가능한 컴퓨팅 시스템일 수 있다. 소셜 네트워킹 시스템(460)은 예를 들면, 이용자 프로파일 데이터, 개념 프로파일 데이터, 소셜 그래프 정보, 또는 온라인 소셜 네트워크와 관련된 다른 적합한 데이터와 같은, 소셜 네트워킹 데이터를 생성하고, 저장하고, 수신하며, 전송할 수 있다. 소셜 네트워킹 시스템(460)은 네트워크 환경(400)의 다른 구성요소들에 의해 직접적으로 또는 네트워크(410)를 통해 액세스될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 클라이언트 시스템(430)은 직접적으로 또는 네트워크(410)를 통해 웹 브라우저(432), 또는 소셜 네트워킹 시스템(460)과 연관된 고유 애플리케이션(예로서, 모바일 소셜 네트워킹 애플리케이션, 메시징 애플리케이션, 또 다른 적합한 애플리케이션, 또는 이들의 임의의 조합)을 이용하여 소셜 네트워킹 시스템(460)에 액세스할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 하나 이상의 서버들(462)을 포함할 수 있다. 각각의 서버(462)는 다수의 컴퓨터들 또는 다수의 데이터센터들에 걸친 단일 서버 또는 분산 서버일 수 있다. 서버들(462)은 예를 들면 그리고 제한 없이, 웹 서버, 뉴스 서버, 메일 서버, 메시지 서버, 광고 서버, 파일 서버, 애플리케이션 서버, 교환 서버, 데이터베이스 서버, 프록시 서버, 본 명세서에서 설명된 기능들 또는 프로세스들을 수행하기 위해 적합한 또 다른 서버, 또는 이들의 임의의 조합과 같은, 다양한 유형들일 수 있다. 특정한 실시예들에서, 각각의 서버(462)는 서버(462)에 의해 구현되거나 지원된 적절한 기능들을 실행하기 위한 하드웨어, 소프트웨어, 또는 내장된 로직 구성요소들 또는 2개 이상의 이러한 구성요소들의 조합을 포함할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 하나 이상의 데이터 저장장치들(464)을 포함할 수 있다. 데이터 저장장치들(464)은 다양한 유형들의 정보를 저장하기 위해 이용될 수 있다. 특정한 실시예들에서, 데이터 저장장치들(464)에 저장된 정보는 특정 데이터 구조들에 따라 구성될 수 있다. 특정한 실시예들에서, 각각의 데이터 저장장치(464)는 관계, 컬럼지향(columnar), 상관, 또는 다른 적합한 데이터베이스일 수 있다. 본 발명이 특정한 유형들의 데이터베이스들을 설명하거나 도시할지라도, 본 발명은 임의의 적합한 유형들의 데이터베이스들을 고려한다. 특정한 실시예들은 클라이언트 시스템(430), 소셜 네트워킹 시스템(460), 또는 제 3 자 시스템(470)이 데이터 저장장치(464)에 저장된 정보를 관리하거나, 검색하거나, 수정하거나, 부가하거나, 삭제하는 것을 인에이블링하는 인터페이스들을 제공할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 하나 이상의 소셜 그래프들을 하나 이상의 데이터 저장장치들(464)에 저장할 수 있다. 특정한 실시예들에서, 소셜 그래프는 다수의 이용자 노드들(각각은 특정한 이용자에 대응함) 또는 다중 개념 노드들(각각은 특정한 개념에 대응함)을 포함할 수 있는 다수의 노드들 및 노드들을 연결하는 다수의 에지들을 포함할 수 있다. 소셜 네트워킹 시스템(460)은 온라인 소셜 네트워크의 이용자들에게 다른 이용자들과 통신하고 상호작용하는 능력을 제공할 수 있다. 특정한 실시예들에서, 이용자들은 소셜 네트워킹 시스템(460)을 통해 온라인 소셜 네트워크에 참여하고 그 다음, 그들이 연결하기를 원하는 소셜 네트워킹 시스템(460)의 다수의 다른 이용자들에게 연결들(예로서, 관계들)을 부가할 수 있다. 본 명세서에서, 용어("친구")는 이용자가 소셜 네트워킹 시스템(460)을 통한 연결, 연관, 또는 관계를 형성한 소셜 네트워킹 시스템(460)의 임의의 다른 이용자를 언급할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 소셜 네트워킹 시스템(460)에 의해 지원된 다양한 유형들의 아이템들 또는 객체들에 대해 동작들을 취하는 능력을 이용자들에게 제공할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 아이템들 및 객체들은 소셜 네트워킹 시스템(460)의 이용자들이 속할 수 있는 그룹들 또는 소셜 네트워크들, 이용자가 관심을 가질 수 있는 이벤트들 또는 캘린더 엔트리(calender entry)들, 이용자가 이용할 수 있는 컴퓨터 기반 애플리케이션들, 이용자들이 서비스를 통해 아이템들을 구매 또는 판매하는 것을 허용하는 거래들, 이용자가 수행할 수 있는 광고들과의 상호작용들, 또는 다른 적합한 아이템들 또는 객체들을 포함할 수 있다. 이용자는 소셜 네트워킹 시스템(460)에서 또는 소셜 네트워킹 시스템(460)과 분리되어 있고 네트워크(410)를 통해 소셜 네트워킹 시스템(460)에 결합되는 제 3 자 시스템(470)의 외부 시스템에 의해 표현될 수 있는 어떤 것과 상호작용할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 다양한 개체들을 연결할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 네트워킹 시스템(460)은 이용자들이 서로 상호작용할 뿐만 아니라, 제 3 자 시스템들(470) 또는 다른 개체들로부터 콘텐트를 수신하거나, 이용자들이 애플리케이션 프로그래밍 인터페이스들(API) 또는 다른 통신 채널들을 통해 이들 개체들과 상호작용하는 것을 허용하는 것을 인이에블링할 수 있다.
특정한 실시예들에서, 제 3 자 시스템(470)은 하나 이상의 유형들의 서버들, 하나 이상의 데이터 저장장치들, API들을 포함하지만 그들로 제한되지 않는 하나 이상의 인터페이스들, 하나 이상의 웹 서비스들, 하나 이상의 콘텐트 소스들, 하나 이상의 네트워크들, 또는 예로서, 서버들이 통신할 수 있는 임의의 다른 적합한 구성요소들을 포함할 수 있다. 제 3 자 시스템(470)은 소셜 네트워킹 시스템(460)을 동작시키는 개체와 상이한 개체에 의해 동작될 수 있다. 특정한 실시예들에서, 그러나, 소셜 네트워킹 시스템(460) 및 제 3 자 시스템들(470)은 소셜 네트워킹 서비스들을 소셜 네트워킹 시스템(460) 또는 제 3 자 시스템들(470)의 이용자들에 제공하기 위해 서로 결부하여 동작할 수 있다. 이러한 의미에서, 소셜 네트워킹 시스템(460)은 제 3 자 시스템들(470)과 같은 다른 시스템들이 인터넷을 통해 이용자들에게 소셜 네트워킹 서비스들 및 기능을 제공하기 위해 이용할 수 있는 플랫폼 또는 백본(backbone)을 제공할 수 있다.
특정한 실시예들에서, 제 3 자 시스템(470)은 제 3 자 콘텐트 객체 제공자를 포함할 수 있다. 제 3 자 콘텐트 객체 제공자는 클라이언트 시스템(430)에 전달될 수 있는 콘텐트 객체들의 하나 이상의 소스들을 포함할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 콘텐트 객체들은 예를 들면, 영화 상영 시간들, 영화 리뷰들, 레스토랑 리뷰들, 레스토랑 메뉴들, 제품 정보 및 리뷰들, 또는 다른 적합한 정보와 같은, 이용자에 관심 있는 사물들 또는 활동들에 관한 정보를 포함할 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 콘텐트 객체들은 쿠폰들, 할인 티켓들, 상품권들, 또는 다른 적합한 인센티브 객체들과 같은, 인센티브 콘텐트 객체들을 포함할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 또한, 소셜 네트워킹 시스템(460)과의 이용자의 상호작용들을 증진시킬 수 있는 이용자 생성 콘텐트 객체들을 포함한다. 이용자 생성 콘텐트는 이용자가 소셜 네트워킹 시스템(460)에 부가하거나, 업로드하거나, 전송하거나, "게시"할 수 있는 무엇이든 포함할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자는 클라이언트 시스템(430)으로부터의 게시물들을 소셜 네트워킹 시스템(460)으로 전달한다. 게시물들은 상태 업데이트들 또는 다른 텍스트 데이터, 위치 정보, 사진들, 비디오들, 링크들, 음악 또는 다른 유사한 데이터 또는 매체들과 같은 데이터를 포함할 수 있다. 콘텐트는 또한, 뉴스피드 또는 스트림과 같은, "통신 채널"을 통해 제 3 자에 의해 소셜 네트워킹 시스템(460)에 부가될 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 다양한 서버들, 서브 시스템들, 프로그램들, 모듈들, 로그들, 및 데이터 저장장치들을 포함할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은: 웹 서버, 동작 로거, API 요청 서버, 관련성 및 순위 엔진, 콘텐트 객체 분류기, 통보 제어기, 동작 로그, 제 3 자 콘텐트 객체 노출 로그, 추론 모듈, 허가/프라이버시 서버, 검색 모듈, 광고 타겟팅 모듈, 이용자 인터페이스 모듈, 이용자 프로파일 저장장치, 연결 저장장치, 제 3 자 콘텐트 저장장치, 또는 위치 저장장치 중 하나 이상을 포함할 수 있다. 소셜 네트워킹 시스템(460)은 또한, 네트워크 인터페이스들, 보안 메커니즘들, 로드 밸런서(load balancer)들, 장애 극복 서버(failover server)들, 관리 및 네트워크 운영 콘솔들, 다른 적합한 구성요소들, 또는 이들의 임의의 적합한 조합과 같은 적합한 구성요소들을 포함할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 이용자 프로파일들을 저장하기 위한 하나 이상의 이용자 프로파일 저장장치들을 포함할 수 있다. 이용자 프로파일은 예를 들면, 전기 정보, 인구 통계학적 정보, 거동 정보, 소셜 정보, 또는 업무 경험, 교육 이력, 취미들, 또는 선호도들, 관심사들, 친밀감들, 또는 위치와 같은, 다른 유형들의 설명 정보를 포함할 수 있다. 관심 정보는 하나 이상의 카테고리들과 관련된 관심사들을 포함할 수 있다. 카테고리들은 일반적이거나 구체적일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자가 신발들의 브랜드에 관한 기사를 "좋아하는" 경우, 카테고리는 브랜드, 또는 "신발들" 또는 "의류"의 일반 카테고리일 수 있다. 이용자들에 관한 연결 정보를 저장하기 위해 연결 저장장치가 이용될 수 있다. 연결 정보는 유사하거나 공통적인 업무 경험, 그룹 멤버십들, 취미들, 교육 이력을 갖거나, 임의의 방식으로 관련되거나 공통된 속성들을 공유하는 이용자들을 나타낼 수 있다. 연결 정보는 또한, 상이한 이용자들과 콘텐트(내부 및 외부 둘 모두) 사이의 이용자 정의된 연결들을 포함할 수 있다. 웹 서버는 소셜 네트워킹 시스템(460)을 네트워크(410)를 통해 하나 이상의 클라이언트 시스템들(430) 또는 하나 이상의 제 3 자 시스템(470)에 연결하기 위해 이용될 수 있다. 웹 서버는 소셜 네트워킹 시스템(460)과 하나 이상의 클라이언트 시스템들(430) 사이에 메시지들을 수신하고 라우팅하기 위한 메일 서버 또는 다른 메시징 기능을 포함할 수 있다. API 요청 서버는 제 3 자 시스템(470)이 하나 이상의 API들을 호출함으로써 소셜 네트워킹 시스템(460)으로부터 정보에 액세스하는 것을 허용할 수 있다. 동작 로거는 소셜 네트워킹 시스템(460) 상에서 또는 그 외부에서 이용자의 동작들에 관한 웹 서버로부터의 통신들을 수신하기 위해 이용될 수 있다. 동작 로그와 결부하여, 제 3 자 콘텐트 객체 로그는 제 3 자 콘텐트 객체들에 대한 이용자 노출들에 대해 유지될 수 있다. 통보 제어기는 콘텐트 객체들에 관한 정보를 클라이언트 시스템(430)에 제공할 수 있다. 정보는 통보들로서 클라이언트 시스템(430)에 푸시될 수 있거나, 클라이언트 시스템(430)으로부터 수신된 요청에 응답하여 클라이언트 시스템(430)으로부터 정보가 풀링(pulling)될 수 있다. 허가 서버들은 소셜 네트워킹 시스템(460)의 이용자들의 하나 이상의 프라이버시 설정들을 강제하기 위해 이용될 수 있다. 이용자의 프라이버시 설정은 이용자와 연관된 특정한 정보가 어떻게 공유될 수 있는지를 결정한다. 허가 서버는 이용자들이 예를 들면, 적절한 프라이버시 설정들을 설정함으로써와 같은, 소셜 네트워킹 시스템(460)에 의해 그들의 동작들을 기록되게 하거나 다른 시스템들(예로서, 제 3 자 시스템(470))과 공유되게 하는 것을 옵트 인 또는 옵트 아웃하는 것을 허용할 수 있다. 제 3 자 콘텐트 객체 저장장치들은 제 3 자 시스템(470)과 같은, 제 3 자들로부터 수신된 콘텐트 객체들을 저장하기 위해 이용될 수 있다. 위치 저장장치들은 이용자들과 연관된 클라이언트 시스템들(430)로부터 수신된 위치 정보를 저장하기 위해 이용될 수 있다. 광고 가격 책정 모듈들은 관련 광고들을 통보들의 형태로 이용자에 제공하기 위해 소셜 정보, 현재 시간, 위치 정보, 또는 다른 적합한 정보를 조합할 수 있다.
도 5는 예시적인 소셜 그래프(500)를 도시한다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 하나 이상의 소셜 그래프들(500)을 하나 이상의 데이터 저장장치들에 저장할 수 있다. 특정한 실시예들에서, 소셜 그래프(500)는 다수의 이용자 노드들(502) 또는 다수의 개념 노드들(504)을 포함할 수 있는 다수의 노드들 및 노드들을 연결하는 다수의 에지들(506)을 포함할 수 있다. 도 5에 도시된 예시적인 소셜 그래프(500)는 교훈적인 목적들을 위해 2차원 시각 맵 표현으로 도시된다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460), 클라이언트 시스템(430), 또는 제 3 자 시스템(470)은 적합한 애플리케이션들에 대한 관련 소셜 그래프 정보 및 소셜 그래프(500)에 액세스할 수 있다. 소셜 그래프(500)의 노드들 및 에지들은 예를 들면, 데이터 저장장치(소셜 그래프 데이터베이스와 같은)에 데이터 객체들로서 저장될 수 있다. 이러한 데이터 저장장치는 소셜 그래프(500)의 에지들 또는 노드들의 하나 이상의 검색가능하거나 쿼리가능한 인덱스들을 포함할 수 있다.
특정한 실시예들에서, 이용자 노드(502)는 소셜 네트워킹 시스템(460)의 이용자에 대응할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자는 개인(인간 이용자), 개체(예로서, 기업, 사업체, 또는 제 3 자 애플리케이션), 또는 소셜 네트워킹 시스템(460)과 상호작용하거나 그것과 또는 그것을 통해 통신하는 그룹(예로서, 개인들 또는 개체들의)일 수 있다. 특정한 실시예들에서, 이용자가 소셜 네트워킹 시스템(460)에 계정을 등록할 때, 소셜 네트워킹 시스템(460)은 이용자에 대응하는 이용자 노드(502)를 생성하고, 하나 이상의 데이터 저장장치들에 이용자 노드(502)를 저장할 수 있다. 본 명세서에서 설명된 이용자들 및 이용자 노드들(502)은 적절한 경우, 등록된 이용자들 및 등록된 이용자들과 연관된 이용자 노드들(502)을 언급할 수 있다. 게다가 또는 일 대안으로서, 본 명세서에서 설명된 이용자들 및 이용자 노드들(502)은 적절한 경우, 소셜 네트워킹 시스템(460)에 등록되지 않은 이용자들을 언급할 수 있다. 특정한 실시예들에서, 이용자 노드(502)는 이용자에 의해 제공된 정보 또는 소셜 네트워킹 시스템(460)을 포함하는, 다양한 시스템들에 의해 수집된 정보와 연관될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자는 자신의 이름, 프로파일 사진, 연락처 정보, 생년월일, 성별, 결혼 상태, 가족 상태, 직장, 교육 배경, 선호도들, 관심사들, 또는 다른 인구 통계학적 정보를 제공할 수 있다. 특정한 실시예들에서, 이용자 노드(502)는 이용자와 연관된 정보에 대응하는 하나 이상의 데이터 객체들과 연관될 수 있다. 특정한 실시예들에서, 이용자 노드(502)는 하나 이상의 웹페이지들에 대응할 수 있다.
특정한 실시예들에서, 개념 노드(504)는 개념에 대응할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 개념은 장소(예를 들면, 영화관, 식당, 랜드마크, 또는 도시); 웹사이트(예를 들면, 소셜 네트워크 시스템(460)과 연관된 웹사이트 또는 웹 애플리케이션 서버와 연관된 제 3 자 웹사이트와 같은); 개체(예를 들면, 사람, 사업체, 그룹, 스포츠 팀, 또는 유명인과 같은); 소셜 네트워킹 시스템(460) 내에 또는 웹 애플리케이션 서버와 같은, 외부 서버에 위치할 수 있는 리소스(예를 들면, 오디오 파일, 비디오 파일, 디지털 사진, 텍스트 파일, 구조화된 문서, 또는 애플리케이션과 같은); 실제 또는 지적 재산(예를 들면, 조각, 그림, 영화, 게임, 노래, 아이디어, 사진, 또는 서면 저작물과 같은); 게임; 활동; 아이디어나 이론; 증강/가상 현실 환경에서의 객체; 또 다른 적합한 개념; 또는 2개 이상의 이러한 개념들에 대응할 수 있다. 개념 노드(504)는 이용자에 의해 제공된 개념의 정보 또는 소셜 네트워킹 시스템(460)을 포함하는, 다양한 시스템들에 의해 수집된 정보와 연관될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 개념의 정보는 이름 또는 타이틀; 하나 이상의 이미지들(예로서, 책의 커버 페이지의 이미지); 위치(예로서, 주소 또는 지리적 위치); 웹 사이트(URL과 연관될 수 있음); 연락처 정보(예로서, 전화 번호 또는 이메일 주소); 다른 적합한 개념 정보; 또는 이러한 정보의 임의의 적합한 조합을 포함할 수 있다. 특정한 실시예들에서, 개념 노드들(504)는 개념 노드(504)와 연관된 정보에 대응하는 하나 이상의 데이터 객체들과 연관될 수 있다. 특정한 실시예들에서, 개념 노드(504)는 하나 이상의 웹페이지들에 대응할 수 있다.
특정한 실시예들에서, 소셜 그래프(500)에서의 노드는 웹페이지("프로파일 페이지"로서 언급될 수 있음)를 표현하거나 그것에 의해 표현될 수 있다. 프로파일 페이지들은 소셜 네트워킹 시스템(460)에 의해 호스팅되거나 그것에 액세스가능할 수 있다. 프로파일 페이지들은 또한, 제 3 자 시스템(470)과 연관된 제 3 자 웹사이트들에서 호스팅될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 특정한 외부 웹페이지에 대응하는 프로파일 페이지는 특정한 외부 웹페이지일 수 있고 프로파일 페이지는 특정한 개념 노드(504)에 대응할 수 있다. 프로파일 페이지들은 다른 이용자들의 전부 또는 선택된 서브세트에 의해 뷰잉가능할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자 노드(502)는 대응하는 이용자가 콘텐트를 부가하거나, 선언하거나, 그렇지 않으면 자신을 표현할 수 있는 대응하는 이용자 프로파일 페이지를 가질 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 개념 노드(504)는 특히, 개념 노드(504)에 대응하는 개념과 관련하여, 하나 이상의 이용자들이 콘텐트를 부가하거나, 선언하거나, 자신을 표현할 수 있는 대응하는 개념 프로파일 페이지를 가질 수 있다.
특정한 실시예들에서, 개념 노드(504)는 제 3 자 시스템(470)에 의해 호스팅된 제 3 자 웹페이지 또는 리소스를 표현할 수 있다. 제 3 자 웹페이지 또는 리소스는 다른 요소들 중에서도, 콘텐트, 선택가능하거나 다른 아이콘, 또는 동작 또는 활동을 표현하는 다른 상호작용가능한 객체(예로서, 자바스크립트, AJAX, 또는 PHP 코드들로 구현될 수 있음)를 포함할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 3 자 웹페이지는 "좋아하다(like)", "체크인하다(check-in)", "먹다(eat)", "권고하다(recommend)", 또는 또 다른 적합한 동작 또는 활동과 같은 선택가능한 아이콘을 포함할 수 있다. 제 3 자 웹페이지를 뷰잉하는 이용자는 아이콘들 중 하나(예로서, "체크인하다")를 선택함으로써 동작을 수행할 수 있고, 이는 클라이언트 시스템(430)으로 하여금 이용자의 동작을 나타내는 메시지를 소셜 네트워킹 시스템(460)으로 전송하게 한다. 메시지에 응답하여, 소셜 네트워킹 시스템(460)은 이용자에 대응하는 이용자 노드(502)와 제 3 자 웹페이지 또는 리소스에 대응하는 개념 노드(504) 사이에 에지(예로서, 체크인 유형 에지)를 생성하고 에지(506)를 하나 이상의 데이터 저장장치들에 저장할 수 있다.
특정한 실시예들에서, 소셜 그래프(500)에서의 한 쌍의 노드들은 하나 이상의 에지들(506)에 의해 서로 연결될 수 있다. 한 쌍의 노드들을 연결하는 에지(506)는 한 쌍의 노드들 사이의 관계를 표현할 수 있다. 특정한 실시예들에서, 에지(506)는 한 쌍의 노드들 사이의 관계에 대응하는 하나 이상의 데이터 객체들 또는 속성들을 포함하거나 그들을 표현할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 제 2 이용자가 제 1 이용자의 "친구"임을 나타낼 수 있다. 이 표시에 대응하여, 소셜 네트워킹 시스템(460)은 "친구 요청"을 제 2 이용자로 전송할 수 있다. 제 2 이용자가 "친구 요청"을 확인하면, 소셜 네트워킹 시스템(460)은 소셜 그래프(500)에서 제 1 이용자의 이용자 노드(502)를 제 2 이용자의 이용자 노드(502)에 연결하는 에지(506)를 생성하고 에지(506)를 데이터 저장장치들(464) 중 하나 이상에 소셜 그래프 정보로서 저장할 수 있다. 도 5의 예에서, 소셜 그래프(500)는 이용자 "A"의 이용자 노드들(502)과 이용자 "B" 사이의 친구 관계를 나타내는 에지(506) 및 이용자 "C"의 이용자 노드들(502)과 이용자 "B" 사이의 친구 관계를 나타내는 에지를 포함한다. 본 발명이 특정한 이용자 노드들(502)을 연결하는 특정한 속성들을 갖는 특정한 에지들(506)을 설명하거나 도시할지라도, 본 발명은 이용자 노드들(502)을 연결하는 임의의 적합한 속성들을 갖는 임의의 적합한 에지들(506)을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 에지(506)는 우정, 가족 관계, 비즈니스 또는 고용 관계, 팬 관계(예로서, 좋아요, 등 포함함), 팔로어 관계, 방문자 관계(예로서, 액세스함, 뷰잉함, 체크인함, 공유함, 등 포함함), 가입자 관계, 상위/종속 관계, 상호 관계, 비 상호 관계, 또 다른 적합한 유형의 관계, 또는 2개 이상의 이러한 관계들을 표현할 수 있다. 게다가, 본 발명이 일반적으로, 연결되는 것으로서 노드들을 설명할지라도, 본 발명은 또한, 연결되는 것으로서 이용자들 및 개념들을 설명한다. 여기서, 연결되는 이용자들 또는 개념들에 대한 참조들은 적절한 경우, 하나 이상의 에지들(506)에 의해 소셜 그래프(500)에서 연결되는 그들 이용자들 또는 개념들에 대응하는 노드들을 언급할 수 있다.
특정한 실시예들에서, 이용자 노드(502)와 개념 노드(504) 사이의 에지(506)는 개념 노드(504)와 연관된 개념을 향해 이용자 노드(502)와 연관된 이용자에 의해 수행된 특정한 동작 또는 활동을 표현할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 도 5에 도시된 바와 같이, 이용자는 개념을 "좋아하거나", 개념에 "참석했거나", 개념을 "플레이했거나", 개념을 "청취했거나", 개념을 "요리했거나", 개념 "에서 일했거나", 개념을 "시청"할 수 있으며, 그들의 각각은 에지 유형 또는 서브유형에 대응할 수 있다. 개념 노드(504)에 대응하는 개념 프로파일 페이지는 예를 들면, 선택가능한 "체크인" 아이콘(예를 들면, 클릭가능한 "체크인" 아이콘과 같은) 또는 선택가능한 "즐겨찾기들에 부가" 아이콘을 포함할 수 있다. 유사하게, 이용자가 이들 아이콘들을 클릭한 후에, 소셜 네트워킹 시스템(460)은 각각의 동작에 대응하는 이용자의 동작에 응답하여 "즐겨찾기" 에지 또는 "체크인" 에지를 생성할 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자(이용자 "C")는 특정한 애플리케이션(온라인 음악 애플리케이션인 스포티파이(SPOTIFY))을 이용하여 특정한 노래("이매진")를 청취할 수 있다. 이 경우에, 소셜 네트워킹 시스템(460)은 이용자가 노래를 청취했고 애플리케이션을 이용했음을 나타내기 위해 이용자에 대응하는 이용자 노드들(502)과 노래 및 애플리케이션에 대응하는 개념 노드들(504) 사이에 "청취된" 에지(506) 및 "이용된" 에지(도 5에 도시된 바와 같이)를 생성할 수 있다. 게다가, 소셜 네트워킹 시스템(460)은 특정한 노래가 특정한 애플리케이션에 의해 플레이되었음을 나타내기 위해 노래 및 애플리케이션에 대응하는 개념 노드들(504) 사이에 (도 5에 도시된 바와 같이) "플레이된" 에지(506)를 생성할 수 있다. 이 경우에, "플레이된" 에지(506)는 외부 오디오 파일(노래 "이매진")에 대해 외부 애플리케이션(스포티파이)에 의해 수행된 동작에 대응한다. 본 발명이 이용자 노드들(502)과 개념 노드들(504)을 연결하는 특정한 속성들을 갖는 특정한 에지들(506)을 설명할지라도, 본 발명은 이용자 노드들(502)과 개념 노드들(504)을 연결하는 임의의 적합한 속성들을 갖는 임의의 적합한 에지들(506)을 고려한다. 게다가, 본 발명이 이용자 노드(502)와 단일 관계를 표현하는 개념 노드(504) 사이의 에지들을 설명할지라도, 본 발명은 이용자 노드(502)와 하나 이상의 관계들을 표현하는 개념 노드(504) 사이의 에지들을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 에지(506)는 이용자가 특정한 개념을 좋아하고 특정한 개념에서 이용했음을 표현할 수 있다. 대안적으로, 또 다른 에지(506)는 이용자 노드(502)와 개념 노드(504) 사이의 각각의 유형의 관계(또는 단일 관계의 배수들)를 표현할 수 있다(이용자("E")에 대한 이용자 노드(502)와 "스포티파이"에 대한 개념 노드(504) 사이에서 도 5에 도시된 바와 같이).
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 소셜 그래프(500)에서의 이용자 노드(502)와 개념 노드(504) 사이에 에지(506)를 생성할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, (예를 들면, 이용자의 클라이언트 시스템(430)에 의해 호스팅된 특수 목적 애플리케이션 또는 웹 브라우저를 이용함으로써와 같은) 개념 프로파일 페이지를 뷰잉하는 이용자는 그 자신이 "좋아함" 아이콘을 클릭하거나 선택함으로써 개념 노드(504)에 의해 표현된 개념을 좋아함을 나타낼 수 있고, 이는 이용자의 클라이언트 시스템(430)으로 하여금 개념 프로파일 페이지와 연관된 개념의 이용자의 기호를 나타내는 메시지를 소셜 네트워킹 시스템(460)으로 전송하게 할 수 있다. 메시지에 응답하여, 소셜 네트워킹 시스템(460)은 이용자와 개념 노드(504) 사이의 "좋아함" 에지(506)에 의해 도시된 바와 같이, 이용자와 연관된 이용자 노드(502)와 개념 노드(504) 사이에 에지(506)를 생성할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 하나 이상의 데이터 저장장치들에 에지(506)를 저장할 수 있다. 특정한 실시예들에서, 에지(506)는 특정한 이용자 동작에 응답하여 소셜 네트워킹 시스템(460)에 의해 자동으로 형성될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자가 사진을 업로드하거나, 영화를 시청하거나, 노래를 청취하면, 에지(506)는 제 1 이용자에 대응하는 이용자 노드(502)와 그들의 개념들에 대응하는 개념 노드들(504) 사이에 형성될 수 있다. 본 발명이 특정한 방식들로 특정한 에지들(506)을 형성하는 것을 설명할지라도, 본 발명은 임의의 적합한 방식으로 임의의 적합한 에지들(506)을 형성하는 것을 고려한다.
특정한 실시예들에서, 광고는 텍스트(HTML 연결될 수 있음), 하나 이상의 이미지들(HTML 연결될 수 있음), 하나 이상의 비디오들, 오디오, 다른 적합한 디지털 객체 파일들, 이들의 적합한 조합, 또는 하나 이상의 웹페이지들 상에, 하나 이상의 이메일들에, 또는 이용자에 의해 요청된 검색 결과들과 관련하여 제공된 임의의 적합한 디지털 포맷의 임의의 다른 적합한 광고일 수 있다. 게다가 또는 일 대안으로서, 광고는 하나 이상의 후원된 스토리들(예로서, 소셜 네트워킹 시스템(460) 상의 뉴스 피드 또는 티커 아이템(ticker item))일 수 있다. 후원된 스토리는 예를 들면, 소셜 동작으로 하여금 이용자의 프로파일 페이지 또는 다른 페이지의 미리 결정된 영역 내에 제공되게 하거나, 광고주와 연관된 부가적인 정보를 제공받게 하거나, 다른 이용자들의 뉴스 피드들 또는 티커들 내에 올리거나 그렇지 않으면 강조되게 하거나, 그렇지 않으면 홍보되게 함으로써 광고주가 홍보하는 이용자의 소셜 동작(페이지를 "좋아함", 페이지 상의 게시물 상의 "좋아함" 또는 댓글 달기, 페이지와 연관된 이벤트에 답장하기(RSVPing), 페이지 상에 게시된 질문에 대한 투표, 장소에 체크인하기, 애플리케이션을 이용하거나 게임하기, 또는 웹사이트를 "좋아함" 또는 웹사이트 공유하기와 같은)일 수 있다. 광고주는 소셜 활동으로 하여금 홍보되게 하기 위해 비용을 지불할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 광고들은 검색 결과 페이지의 검색 결과들 사이에 포함될 수 있고, 여기서 후원된 콘텐트는 후원되지 않은 콘텐트보다 홍보된다.
특정한 실시예들에서, 소셜 네트워킹 시스템 웹페이지들, 제 3 자 웹페이지들, 또는 다른 페이지들 내에 디스플레이하기 위해 광고가 요청될 수 있다. 광고는 페이지의 상단의 배너 영역에, 페이지의 측면의 열에, 페이지의 GUI에, 팝업 윈도우에, 드롭 다운 메뉴에, 페이지의 입력 필드에, 페이지의 콘텐트의 상부에 걸쳐, 또는 페이지에 대해 다른 어딘가에와 같은, 페이지의 전용 부분에 디스플레이될 수 있다. 게다가 또는 일 대안으로서, 광고가 애플리케이션 내에 디스플레이될 수 있다. 광고는 전용 페이지들 내에 디스플레이될 수 있어서, 이용자가 페이지에 액세스하거나 애플리케이션을 활용할 수 있기 전에 이용자가 광고와 상호작용하거나 시청하도록 요구한다. 이용자는 예를 들면, 웹 브라우저를 통해 광고를 뷰잉할 수 있다.
이용자는 임의의 적합한 방식으로 광고와 상호작용할 수 있다. 이용자는 광고를 클릭하거나 그렇지 않으면, 선택할 수 있다. 광고를 선택함으로써, 이용자는 광고와 연관된 페이지(또는 이용자에 의해 이용되는 브라우저 또는 다른 애플리케이션)로 지향될 수 있다. 광고와 연관된 페이지에서, 이용자는 광고와 연관된 제품 또는 서비스를 구매하거나, 광고와 연관된 정보를 수신하거나, 광고와 연관된 뉴스 레터를 구독하는 것과 같은 부가적인 동작들을 취할 수 있다. 오디오 또는 비디오를 갖는 광고는 광고의 구성요소("플레이 버튼"과 같은)를 선택함으로써 플레이될 수 있다. 대안적으로, 광고를 선택함으로써, 소셜 네트워킹 시스템(460)은 이용자의 특정한 동작을 실행하거나 수정할 수 있다.
광고는 또한, 이용자가 상호작용할 수 있는 소셜 네트워킹 시스템 기능을 포함할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 광고는 이용자가 승인과 연관된 아이콘 또는 링크를 선택함으로써 광고를 "좋아하거나" 그렇지 않으면, 승인하는 것을 인에이블링할 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 광고는 이용자가 광고주와 관련된 콘텐트를(예로서, 질의를 실행함으로써) 검색하는 것을 인에이블링할 수 있다. 유사하게, 이용자는 광고를 또 다른 이용자(예로서, 소셜 네트워킹 시스템(460)를 통해)와 공유하거나 광고와 연관된 이벤트에 답장할 수 있다(예로서, 소셜 네트워킹 시스템(460)을 통해). 게다가 또는 일 대안으로서, 광고는 이용자에 지향된 소셜 네트워킹 시스템 콘텐트를 포함할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 광고는 광고의 주제와 연관된 동작을 취한 소셜 네트워킹 시스템(460) 내에서 이용자의 친구에 관한 정보를 디스플레이할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 서로에 대한 다양한 소셜 그래프 개체들의 소셜 그래프 친화도(affinity)(본 명세서에서 "친화도"로서 언급될 수 있음)를 결정할 수 있다. 친화도는 이용자들, 개념들, 콘텐트, 동작들, 광고들, 온라인 소셜 네트워크와 연관된 다른 객체들, 또는 이들의 임의의 적합한 조합과 같은, 온라인 소셜 네트워크와 연관된 특정한 객체들 사이의 관심 있는 레벨 및 관계의 강도를 표현할 수 있다. 친화도는 또한, 제 3 자 시스템들(470) 또는 다른 적합한 시스템들과 연관된 객체들에 대해 결정될 수 있다. 각각의 이용자, 주제, 또는 콘텐트의 유형에 대한 소셜 그래프 개체에 대한 전체적인 친화도가 확립될 수 있다. 전체적인 친화도는 소셜 그래프 개체와 연관된 동작들 또는 관계들의 지속된 모니터링에 기초하여 변경될 수 있다. 본 발명이 특정한 방식으로 특정한 친화도들을 결정하는 것을 설명할지라도, 본 발명은 임의의 적합한 방식으로 임의의 적합한 친화도들을 결정하는 것을 고려한다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 친화도 계수(본 명세서에서 "계수"로서 언급될 수 있음)를 이용하여 소셜 그래프 친화도를 측정하거나 정량화할 수 있다. 계수는 온라인 소셜 네트워크와 연관된 특정한 객체들 사이의 관계의 강도를 표현하거나 정량화할 수 있다. 계수는 또한, 이용자가 동작에 대한 이용자의 관심사에 기초하여 특정한 동작을 수행할 확률 또는 예측된 확률을 측정하는 함수를 표현할 수 있다. 이러한 방식으로, 이용자의 미래 동작들은 이용자의 이전 동작들에 기초하여 예측될 수 있으며, 여기서 계수는 이용자의 동작들의 이력에 대해 적어도 부분적으로 산출될 수 있다. 계수들은 온라인 소셜 네트워크 내에 또는 외부에 있을 수 있는 임의의 수의 동작들을 예측하기 위해 이용될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이들 동작들은 메시지들의 전송, 콘텐트 게시, 또는 콘텐트에 대한 댓글 달기와 같은, 다양한 유형들의 통신들; 프로파일 페이지들, 매체들, 또는 다른 적합한 콘텐트에 액세스하거나 뷰잉하는 것과 같은, 다양한 유형들의 관측 동작들; 동일한 그룹에 있거나, 동일한 사진에 태깅(tagging)하거나, 동일한 위치에 체크인되거나, 동일한 이벤트에 참석하는 것과 같은, 2개 이상의 소셜 그래프 개체들에 관한 다양한 유형들의 일치 정보; 또는 다른 적합한 동작들을 포함할 수 있다. 본 발명이 특정한 방식으로 친화도를 측정하는 것을 설명할지라도, 본 발명은 임의의 적합한 방식으로 친화도를 측정하는 것을 고려한다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 계수를 산출하기 위해 다양한 인자들을 이용할 수 있다. 이러한 인자들은 예를 들면, 이용자 동작들, 객체들 사이의 관계들의 유형들, 위치 정보, 다른 적합한 인자들, 또는 이들의 임의의 조합을 포함할 수 있다. 특정한 실시예들에서, 상이한 인자들은 계수를 산출할 때 상이하게 가중될 수 있다. 각각의 인자에 대한 가중치들은 정적일 수 있거나 가중치들은 예를 들면, 이용자, 관계의 유형, 동작의 유형, 이용자의 위치, 등에 따라 변경될 수 있다. 인자들에 대한 등급들은 이용자에 대한 전체 계수를 결정하기 위해 그들의 가중치들에 따라 조합될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 특정한 이용자 동작들에는 등급 및 가중치 둘 모두가 할당될 수 있고, 특정한 이용자 동작과 연관된 관계에는 등급 및 상관 가중치가 할당된다(예로서, 따라서 가중치들은 총 100%). 특정한 객체를 향한 이용자의 계수를 산출하기 위해, 이용자의 동작들에 할당된 등급은 예를 들면, 전체 계수의 60%를 포함할 수 있는 반면, 이용자와 객체 사이의 관계는 전체 계수의 40%를 포함할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 예를 들면, 정보가 액세스된 이후의 시간, 붕괴 인자들, 액세스의 빈도, 정보에 대한 관계 또는 정보에 액세스된 객체에 대한 관계, 객체에 연결된 소셜 그래프 개체들에 대한 관계, 이용자 동작들의 단기 또는 장기 평균들, 이용자 피드백, 다른 적합한 변수들, 또는 이들의 임의의 조합과 같은, 계수를 산출하기 위해 이용된 다양한 인자들에 대한 가중치들을 결정할 때 다양한 변수들을 고려할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 계수는 특정한 동작들에 의해 제공된 신호의 세기로 하여금 시간에 따라 붕괴하도록 하는 붕괴 인자를 포함할 수 있어서, 더 최근 동작들이 계수를 산출할 때 더 관련성이 있게 한다. 등급들 및 가중치들은 계수가 기초하는 동작들의 지속된 추적에 기초하여 지속적으로 업데이트될 수 있다. 각각의 팩터에 대한 등급들 및 팩터들에 할당된 가중치들을 할당, 조합, 평균화, 등을 하기 위해 임의의 유형의 프로세스 또는 알고리즘이 이용될 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 이력 동작들 및 과거 이용자 응답들에 대해 트레이닝된 기계 학습 알고리즘들, 또는 다양한 옵션들에 이용자들을 노출시키고 응답들을 측정함으로써 이용자들로부터 파밍(farming)된 데이터를 이용하여 계수들을 결정할 수 있다. 본 발명이 특정한 방식으로 계수들을 산출하는 것을 설명할지라도, 본 발명은 임의의 적합한 방식으로 계수들을 산출하는 것을 고려한다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 이용자의 동작들에 기초하여 계수를 산출할 수 있다. 소셜 네트워킹 시스템(460)은 온라인 소셜 네트워크에서, 제 3 자 시스템(470)에서, 다른 적합한 시스템들에서, 또는 이들의 임의의 조합에서 이러한 동작들을 모니터링할 수 있다. 임의의 적합한 유형의 이용자 동작들이 추적되거나 모니터링될 수 있다. 전형적인 이용자 동작들은 프로파일 페이지들의 뷰잉, 콘텐트의 생성 또는 게시, 콘텐트와의 상호작용, 이미지들의 태깅 또는 이미지들에서 태깅되는 것, 그룹들로의 참여, 이벤트들에서의 참석 언급 및 확인, 위치들에서의 체크인, 특정한 페이지들 좋아하기, 페이지들의 생성, 및 소셜 동작을 용이하게 하는 다른 동작들의 수행을 포함한다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 특정한 유형들의 콘텐트에 대한 이용자의 동작들에 기초하여 계수를 산출할 수 있다. 콘텐트는 온라인 소셜 네트워크, 제 3 자 시스템(470), 또는 또 다른 적합한 시스템과 연관될 수 있다. 콘텐트는 이용자들, 프로파일 페이지들, 게시물들, 뉴스 스토리들, 헤드라인들, 인스턴트 메시지들, 대화방 대화들, 이메일들, 광고들, 사진들, 비디오, 음악, 다른 적합한 객체들, 또는 이들의 임의의 조합을 포함할 수 있다. 소셜 네트워킹 시스템(460)은 동작들 중 하나 이상이 주제, 콘텐트, 다른 이용자들, 등에 대한 친화도를 나타내는지의 여부를 결정하기 위해 이용자의 동작들을 분석할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자가 "커피" 또는 그것의 변형들과 관련된 콘텐트를 빈번하게 게시하면, 소셜 네트워킹 시스템(460)은 이용자가 개념("커피")에 대해 높은 계수를 갖는다고 결정할 수 있다. 특정한 동작들 또는 유형들의 동작들에는 다른 동작들보다 높은 가중치 및/또는 등급이 할당될 수 있으며, 이는 전체 산출된 계수에 영향을 줄 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자가 제 2 이용자에게 이메일을 보내면, 동작에 대한 가중치 또는 등급은 제 1 이용자가 단순히, 제 2 이용자에 대한 이용자 프로파일 페이지를 뷰잉하는 경우보다 높을 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 특정한 객체들 사이의 관계의 유형에 기초하여 계수를 산출할 수 있다. 소셜 그래프(500)를 참조하면, 소셜 네트워킹 시스템(460)은 계수를 산출할 때 특정한 이용자 노드들(502) 및 개념 노드들(504)을 연결하는 에지들(506)의 수 및/또는 유형을 분석할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 배우자 형 에지에 의해 연결되는 이용자 노드들(502)(2명의 이용자들이 결혼한 것을 표현함)은 친구 유형 에지에 의해 연결되는 이용자 노드들(502)보다 높은 계수를 할당받을 수 있다. 즉, 특정한 이용자에 대한 동작들 및 관계들에 할당된 가중치들에 의존하여, 전체 친화도는 이용자의 친구에 관한 콘텐트에 대한 것보다 이용자의 배우자에 관한 콘텐트에 대해 더 높은 것으로 결정될 수 있다. 특정한 실시예들에서, 이용자가 또 다른 객체와 갖는 관계들은 그 객체에 대한 계수를 산출하는 것에 대해 이용자의 동작들의 가중치들 및/또는 등급들에 영향을 줄 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자가 제 1 사진에 태깅되지만, 단지 제 2 사진을 좋아한다면, 소셜 네트워킹 시스템(460)은 이용자가 제 2 사진보다 제 1 사진에 대해 더 높은 계수를 갖는다고 결정할 수 있는데, 이는 콘텐트와 태깅된 유형 관계를 갖는 것에 콘텐트와 호감 형 관계를 갖는 것보다 높은 가중치 및/또는 등급이 할당될 수 있기 때문이다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 하나 이상의 제 2 이용자들이 특정한 객체와 갖는 관계에 기초하여 제 1 이용자에 대한 계수를 산출할 수 있다. 즉, 다른 이용자들이 객체와 갖는 연결들 및 계수들은 객체에 대한 제 1 이용자의 계수에 영향을 줄 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자가 하나 이상의 제 2 이용자들에 연결되거나 그들에 대한 높은 계수를 갖고, 그들 제 2 이용자들이 특정한 객체에 연결되거나 그것에 대한 높은 계수를 가지면, 소셜 네트워킹 시스템(460)은 제 1 이용자가 또한, 특정한 객체에 대해 상대적으로 높은 계수를 가져야 한다고 결정할 수 있다. 특정한 실시예들에서, 계수는 특정한 객체들 사이의 분리도에 기초할 수 있다. 더 낮은 계수는 소셜 그래프(500)에서 제 1 이용자에 간접적으로 연결되는 이용자의 콘텐트 객체들에 대한 관심사를 공유할 가능성을 감소시키는 것을 표현할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 그래프(500)에서 더 가까운(즉, 더 적은 분리도들) 소셜 그래프 개체들은 소셜 그래프(500)에서 더 떨어져 있는 개체들보다 더 높은 계수를 가질 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 위치 정보에 기초하여 계수를 산출할 수 있다. 지리적으로 서로 더 가까운 객체들은 더 먼 객체들보다 서로 더 관련되거나 더 관심이 있는 것으로 간주될 수 있다. 특정한 실시예들에서, 특정한 객체를 향한 이용자의 계수는 이용자와 연관된 현재 위치(또는 이용자의 클라이언트 시스템(430)의 위치)에 대한 객체의 위치의 근접성에 기초할 수 있다. 제 1 이용자는 제 1 이용자에 더 가까운 다른 이용자들 또는 개념들에 더 관심이 있을 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자가 공항으로부터 1마일이고 주유소로부터 2마일이면, 소셜 네트워킹 시스템(460)은 이용자에 대한 공항의 근접성에 기초하여 이용자가 주유소보다 공항에 대해 더 높은 계수를 갖는다고 결정할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 계수 정보에 기초하여 이용자에 대한 특정한 동작들을 수행할 수 있다. 계수들은 이용자가 동작에 대한 이용자의 관심사에 기초하여 특정한 동작을 수행할 것인지의 여부를 예측하기 위해 이용될 수 있다. 계수는 광고들, 검색 결과들, 뉴스 스토리들, 매체들, 메시지들, 통보들, 또는 다른 적합한 객체들와 같은, 임의의 유형의 객체들을 생성하거나 그들을 이용자에 제공할 때 이용될 수 있다. 계수는 또한, 적절한 경우, 이러한 객체들의 순위를 정하고 순서를 정하기 위해 활용될 수 있다. 이러한 방식으로, 소셜 네트워킹 시스템(460)은 이용자의 관심사들 및 현재 상황들과 관련되는 정보를 제공할 수 있어서, 그들이 관심 있는 이러한 정보를 찾을 가능성을 증가시킨다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 계수 정보에 기초하여 콘텐트를 생성할 수 있다. 콘텐트 객체들은 이용자에 특정한 계수들에 기초하여 제공되거나 선택될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 계수는 이용자를 위한 매체들을 생성하기 위해 이용될 수 있고, 여기서 이용자는 이용자가 매체 객체에 대해 높은 전체 계수를 갖는 매체들을 제공받을 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 계수는 이용자에 대한 광고들을 생성하기 위해 이용될 수 있으며, 여기서 이용자는 이용자가 광고된 객체에 대해 높은 전체 계수를 갖는 광고들을 제공받을 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 계수 정보에 기초하여 검색 결과들을 생성할 수 있다. 특정한 이용자에 대한 검색 결과들은 질의하는 이용자에 대한 검색 결과들과 연관된 계수에 기초하여 점수가 매겨지거나 순위가 정해질 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 더 높은 계수들을 갖는 객체들에 대응하는 검색 결과들은 더 낮은 계수들을 가지는 객체들에 대응하는 결과들보다 검색 결과 페이지에서 더 높은 순위가 정해질 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 특정한 시스템 또는 프로세스로부터의 계수에 대한 요청에 응답하여 계수를 산출할 수 있다. 주어진 상황에서 이용자가 취할 수 있는(또는 그 대상일 수 있는) 가능한 동작들을 예측하기 위해, 임의의 프로세스는 이용자에 대해 산출된 계수를 요청할 수 있다. 요청은 또한, 계수를 산출하기 위해 이용된 다양한 인자들을 위해 이용하기 위한 한 세트의 가중치들을 포함할 수 있다. 이 요청은 온라인 소셜 네트워크 상에서 실행되는 프로세스로부터, 제 3 자 시스템(470)(예로서, API 또는 다른 통신 채널을 통해)으로부터, 또는 또 다른 적합한 시스템으로부터 비롯될 수 있다. 요청에 응답하여, 소셜 네트워킹 시스템(460)은 계수를 산출할 수 있다(또는 계수가 이전에 산출되고 저장되었다면 계수 정보에 액세스할 수 있다). 특정한 실시예들에서, 소셜 네트워킹 시스템(460)은 특정한 프로세스에 대한 친화도를 측정할 수 있다. 상이한 프로세스들(온라인 소셜 네트워크의 내부 및 외부 둘 모두)은 특정한 객체 또는 객체들의 세트에 대한 계수를 요청할 수 있다. 소셜 네트워킹 시스템(460)은 친화도 측정치를 요청한 특정한 프로세스와 관련되는 친화도의 측정치를 제공할 수 있다. 이러한 방식으로, 각각의 프로세스는 프로세스가 친화도의 측정치를 이용할 상이한 콘텍스트에 맞춰지는 친화도의 측정치를 수신한다.
소셜 그래프 친화도 및 친화도 계수들과 관련하여, 특정한 실시예들은 2006년 8월 11일자로 출원된 미국 특허 출원 번호 제 11/503093 호, 2010년 12월 22일 출원된 미국 특허 출원 번호 제 12/977027 호, 2010년 12월 23일 출원된 미국 특허 출원 번호 제 12/978265 호, 및 2012년 10월 1일 출원된 미국 특허 출원 번호 제 13/632869 호에 개시된 하나 이상의 시스템들, 구성요소들, 요소들, 기능들, 방법들, 동작들, 또는 단계들을 활용할 수 있고, 그들의 각각은 참조로서 통합된다.
도 6은 일 예시적인 컴퓨터 시스템(600)을 도시한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(600)은 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 수행한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(600)은 본 명세서에서 설명되거나 도시된 기능을 제공한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(600)에서 실행되는 소프트웨어는 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 수행하거나 본 명세서에서 설명되거나 도시된 기능을 제공한다. 특정한 실시예들은 하나 이상의 컴퓨터 시스템들(600)의 하나 이상의 부분들을 포함한다. 여기서, 컴퓨터 시스템에 대한 참조는 적절한 경우, 컴퓨팅 디바이스를 포함할 수 있으며, 그 반대도 마찬가지이다. 게다가, 컴퓨터 시스템에 대한 참조는 적절한 경우, 하나 이상의 컴퓨터 시스템들을 포함할 수 있다.
본 발명은 임의의 적합한 수의 컴퓨터 시스템들(600)을 고려한다. 본 발명은 임의의 적합한 물리적 형태를 취하는 컴퓨터 시스템(600)을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 컴퓨터 시스템(600)은 내장된 컴퓨터 시스템, 시스템 온 칩(SOC), 단일 보드 컴퓨터 시스템(SBC)(예를 들면, 컴퓨터 온 모듈(COM) 또는 시스템 온 모듈(SOM)과 같은), 데스크탑 컴퓨터 시스템, 랩탑 또는 노트북 컴퓨터 시스템, 대화형 키오스크, 메인프레임, 컴퓨터 시스템들의 메시, 모바일 전화, 개인 휴대용 정보 단말기(PDA), 서버, 태블릿 컴퓨터 시스템, 증강/가상 현실 디바이스, 또는 이들 중 2개 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(600)은 하나 이상의 컴퓨터 시스템들(600)을 포함할 수 있거나; 단일 또는 분산될 수 있거나; 다수의 위치들에 걸쳐 있을 수 있거나; 다수의 기계들에 걸쳐 있을 수 있거나; 다수의 데이터 센터들에 걸쳐 있을 수 있거나; 하나 이상의 네트워크들에 하나 이상의 클라우드 구성요소들을 포함시킬 수 있는 클라우드에 상주할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템들(600)은 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 실질적인 공간적 또는 시간적 제한 없이 수행할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 하나 이상의 컴퓨터 시스템들(600)은 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 실시간 또는 배치 모드로 수행할 수 있다. 하나 이상의 컴퓨터 시스템들(600)은 적절한 경우, 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 상이한 시간들에서 또는 상이한 위치들에서 수행할 수 있다.
특정한 실시예들에서, 컴퓨터 시스템(600)은 프로세서(602), 메모리(604), 저장장치(606), 입력/출력(I/O) 인터페이스(608), 통신 인터페이스(610), 및 버스(612)를 포함한다. 본 발명이 특정한 배열로 특정한 수의 특정한 구성요소들을 가지는 특정한 컴퓨터 시스템을 설명하고 도시할지라도, 본 발명은 임의의 적합한 배열로 임의의 적합한 수의 임의의 적합한 구성요소들을 가지는 임의의 적합한 컴퓨터 시스템을 고려한다.
특정한 실시예들에서, 프로세서(602)는 컴퓨터 프로그램을 구성하는 지시들과 같은, 지시들을 실행하기 위한 하드웨어를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 지시들을 실행하기 위해, 프로세서(602)는 내부 레지스터, 내부 캐시, 메모리(604), 또는 저장장치(606)로부터 지시들을 검색(또는 인출)하고; 그들을 디코딩하고 실행하며; 그 다음, 하나 이상의 결과들을 내부 레지스터, 내부 캐시, 메모리(604) 또는 저장장치(606)에 기록할 수 있다. 특정한 실시예들에서, 프로세서(602)는 데이터, 지시들, 또는 주소들을 위한 하나 이상의 내부 캐시들을 포함할 수 있다. 본 발명은 적절한 경우, 임의의 적합한 수의 임의의 적합한 내부 캐시들을 포함하는 프로세서(602)를 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 프로세서(602)는 하나 이상의 지시 캐시들, 하나 이상의 데이터 캐시들, 및 하나 이상의 변환 색인 버퍼(translation lookaside buffer; TLB)들을 포함할 수 있다. 지시 캐시에서의 지시들은 메모리(604) 또는 저장장치(606)에서의 지시들의 카피들일 수 있고, 지시 캐시들은 프로세서(602)에 의한 그들 지시들의 검색의 속도를 높일 수 있다. 데이터 캐시들에서의 데이터는 동작할 프로세서(602)에서 실행되는 지시들을 위한 메모리(604) 또는 저장장치(606)에서의 데이터의 카피들; 프로세서(602)에서 실행되는 후속 지시들에 의해 액세스하기 위해 또는 메모리(604) 또는 저장장치(606)에 기록하기 위해 프로세서(602)에서 실행된 이전 지시들의 결과들; 또는 다른 적합한 데이터의 카피들일 수 있다. 데이터 캐시들은 프로세서(602)에 의한 판독 또는 기록 동작들의 속도를 높일 수 있다. TLB들은 프로세서(602)를 위한 가상 주소 변환의 속도를 높일 수 있다. 특정한 실시예들에서, 프로세서(602)는 데이터, 지시들, 또는 주소들을 위한 하나 이상의 내부 레지스터들을 포함할 수 있다. 본 발명은 적절한 경우, 임의의 적합한 수의 임의의 적합한 내부 레지스터들을 포함하는 프로세서(602)를 고려한다. 적절한 경우, 프로세서(602)는 하나 이상의 산술 논리 유닛들(ALUs)을 포함하거나; 멀티 코어 프로세서일 수 있거나; 하나 이상의 프로세서들(602)을 포함할 수 있다. 비록 본 발명이 특정한 프로세서를 설명하고 도시할지라도, 본 발명은 임의의 적합한 프로세서를 고려한다.
특정한 실시예들에서, 메모리(604)는 프로세서(602)가 실행할 지시들 또는 프로세서(602)가 동작할 데이터를 저장하기 위한 메인 메모리를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 컴퓨터 시스템(600)은 저장장치(606) 또는 또 다른 소스(예를 들면, 또 다른 컴퓨터 시스템(600))로부터 메모리(604)로 지시들을 로드할 수 있다. 프로세서(602)는 그 다음, 메모리(604)로부터 내부 레지스터 또는 내부 캐시로 지시들을 로드할 수 있다. 지시들을 실행하기 위해, 프로세서(602)는 내부 레지스터 또는 내부 캐시로부터 지시들을 검색하고 그들을 디코딩할 수 있다. 지시들의 실행 동안 또는 이후에, 프로세서(602)는 하나 이상의 결과들(중간 또는 최종 결과들일 수 있음)을 내부 레지스터 또는 내부 캐시에 기록할 수 있다. 프로세서(602)는 그 다음, 그들 결과들 중 하나 이상을 메모리(604)에 기록할 수 있다. 특정한 실시예들에서, 프로세서(602)는 하나 이상의 내부 레지스터들 또는 내부 캐시들에서 또는 (저장장치(606)와는 대조적으로 또는 어딘가의) 메모리(604)에서 단지 지시들을 실행하고 하나 이상의 내부 레지스터들 또는 내부 캐시들에서 또는 (저장장치(606)와는 대조적으로 또는 어딘가의) 메모리(604)에서 단지 데이터에 따라 동작한다. 하나 이상의 메모리 버스들(주소 버스 및 데이터 버스를 각각 포함할 수 있음)은 프로세서(602)를 메모리(604)에 결합할 수 있다. 버스(612)는 하기에 설명된 바와 같이, 하나 이상의 메모리 버스들을 포함할 수 있다. 특정한 실시예들에서, 하나 이상의 메모리 관리 유닛들(MMUs)은 프로세서(602)와 메모리(604) 사이에 상주하고 프로세서(602)에 의해 요청된 메모리(604)에 대한 액세스들을 용이하게 한다. 특정한 실시예들에서, 메모리(604)는 랜덤 액세스 메모리(RAM)를 포함한다. 이 RAM은 적절한 경우, 휘발성 메모리일 수 있다. 적절한 경우, 이 RAM은 동적 RAM(DRAM) 또는 정적 RAM(SRAM)일 수 있다. 게다가, 적절한 경우, 이 RAM은 단일 포트되거나 다중 포트된 RAM일 수 있다. 본 발명은 임의의 적합한 RAM을 고려한다. 메모리(604)는 적절한 경우, 하나 이상의 메모리들(604)을 포함할 수 있다. 본 발명이 특정한 메모리를 설명하고 도시할지라도, 본 발명은 임의의 적합한 메모리를 고려한다.
특정한 실시예들에서, 저장장치(606)는 데이터 또는 지시들을 위한 대용량 저장장치를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 저장장치(606)는 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광 디스크, 광 자기 디스크, 자기 테이프, 또는 범용 직렬 버스(Universal Serial Bus; USB) 또는 이들 중 2개 이상의 조합을 포함할 수 있다. 저장장치(606)는 적절한 경우, 제거가능하거나 제거가능하지 않은(또는 고정된) 매체들을 포함할 수 있다. 저장장치(606)는 적절한 경우, 컴퓨터 시스템(600)의 내부 또는 외부에 있을 수 있다. 특정한 실시예들에서, 저장장치(606)는 비휘발성, 고체 상태 메모리이다. 특정한 실시예들에서, 저장장치(606)는 판독 전용 메모리(ROM)를 포함한다. 적절한 경우, 이 ROM은 마스크 프로그래밍된 ROM, 프로그래밍가능한 ROM(PROM), 소거가능한 PROM(EPROM), 전기적으로 소거가능한 PROM(EEPROM), 전기적으로 개조가능한 ROM(EAROM), 또는 플래시 메모리 또는 이들 중 2개 이상의 조합을 포함한다. 본 발명은 임의의 적합한 물리적 형태를 취하는 대용량 저장장치(606)를 고려한다. 저장장치(606)는 적절한 경우, 프로세서(602)와 저장장치(606) 사이의 통신을 용이하게 하는 하나 이상의 저장장치 제어 유닛들을 포함할 수 있다. 적절한 경우, 저장장치(606)는 하나 이상의 저장장치들(606)을 포함할 수 있다. 본 발명이 특정한 저장장치를 설명하고 도시할지라도, 본 발명은 임의의 적합한 저장장치를 고려한다.
특정한 실시예들에서, I/O 인터페이스(608)는 컴퓨터 시스템(600)과 하나 이상의 I/O 디바이스들 사이의 통신을 위한 하나 이상의 인터페이스들을 제공하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 컴퓨터 시스템(600)은 적절한 경우, 이들 I/O 디바이스들 중 하나 이상을 포함할 수 있다. 이들 I/O 디바이스들 중 하나 이상은 사람과 컴퓨터 시스템(600) 사이의 통신을 인에이블링할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, I/O 디바이스는 키보드, 키패드, 마이크로폰, 모니터, 마우스, 프린터, 스캐너, 스피커, 고정형 카메라, 스타일러스, 태블릿, 터치 스크린, 트랙볼, 비디오 카메라, 또 다른 적합한 I/O 디바이스 또는 이들 중 2개 이상의 조합을 포함할 수 있다. I/O 디바이스는 하나 이상의 센서들을 포함할 수 있다. 본 발명은 임의의 적합한 I/O 디바이스들 및 그들을 위한 임의의 적합한 I/O 인터페이스들(608)을 고려한다. 적절한 경우, I/O 인터페이스(608)는 프로세서(602)가 이들 I/O 디바이스들 중 하나 이상을 구동하는 것을 인에이블링하는 하나 이상의 디바이스 또는 소프트웨어 구동기들을 포함할 수 있다. I/O 인터페이스(608)는 적절한 경우, 하나 이상의 I/O 인터페이스들(608)을 포함할 수 있다. 본 발명이 특정한 I/O 인터페이스를 설명하고 도시할지라도, 본 발명은 임의의 적합한 I/O 인터페이스를 고려한다.
특정한 실시예들에서, 통신 인터페이스(610)는 컴퓨터 시스템(600)과 하나 이상의 다른 컴퓨터 시스템들(600) 또는 하나 이상의 네트워크들 사이의 통신(예를 들면, 패킷 기반 통신과 같은)을 위한 하나 이상의 인터페이스들을 제공하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 통신 인터페이스(610)는 이더넷 또는 다른 유선 기반 네트워크와 통신하기 위한 네트워크 인터페이스 제어기(NIC) 또는 네트워크 어댑터 또는 와이파이 네트워크와 같은, 무선 네트워크와 통신하기 위한 무선 NIC(WNIC) 또는 무선 어댑터를 포함할 수 있다. 본 발명은 임의의 적합한 네트워크 및 그것을 위한 임의의 적합한 통신 인터페이스(610)를 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 컴퓨터 시스템(600)은 애드 혹 네트워크, 근거리 개인 통신망(PAN), 근거리 통신망(LAN), 광역 통신망(WAN), 도시권 통신망(MAN), 또는 인터넷의 하나 이상의 부분들 또는 이들 중 2개 이상의 조합과 통신할 수 있다. 이들 네트워크들 중 하나 이상의 하나 이상의 부분들은 유선 또는 무선일 수 있다. 일례로서, 컴퓨터 시스템(600)은 무선 PAN(WPAN)(예를 들면, 블루투스 WPAN과 같은), 와이파이 네트워크, WI-MAX 네트워크, 셀룰러 전화 네트워크(예를 들면, 통신을 위한 글로벌 시스템(Global System for Mobile Communications; GSM) 네트워크와 같은), 또는 다른 적합한 무선 네트워크 또는 이들 중 2개 이상의 조합과 통신할 수 있다. 컴퓨터 시스템(600)은 적절한 경우, 이들 네트워크 중 임의의 것을 위한 임의의 적합한 통신 인터페이스(610)를 포함할 수 있다. 통신 인터페이스(610)는 적절한 경우, 하나 이상의 통신 인터페이스들(610)을 포함할 수 있다. 본 발명이 특정한 통신 인터페이스를 설명하고 도시할지라도, 본 발명은 임의의 적합한 통신 인터페이스를 고려한다.
특정한 실시예들에서, 버스(612)는 컴퓨터 시스템(600)의 구성요소들을 서로 결합하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 버스(612)는 가속화된 그래픽 포트(Accelerated Graphics Port; AGP) 또는 다른 그래픽 버스, 증진된 산업 표준 아키텍처(Enhanced Industry Standard Architecture; EISA) 버스, FSB(front-side bus), 하이퍼트랜스포트(HYPERTRANSPORT)(HT) 상호연결, 산업 표준 아키텍처(ISA) 버스, 인피니밴드 상호연결, LPC(Low-Pin-Count) 버스, 메모리 버스, 마이크로 채널 아키텍처(Micro Channel Architecture; MCA) 버스, 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스, PCI-Express(PCIe) 버스, SATA(serial advanced technology attachment) 버스, VLB(Video Electronics Standards Association local) 버스, 또는 또 다른 적합한 버스 또는 이들 중 2개 이상의 조합을 포함할 수 있다. 버스(612)는 적절한 경우, 하나 이상의 버스들(612)을 포함할 수 있다. 본 발명이 특정한 버스를 설명하고 도시할지라도, 본 발명은 임의의 적합한 버스 또는 상호연결을 고려한다.
본 명세서에서, 컴퓨터 판독가능한 비일시적 저장 매체 또는 매체들은 하나 이상의 반도체 기반 또는 다른 집적 회로들(ICs)(예를 들면, 필드 프로그래밍가능한 게이트 어레이들(FPGAs) 또는 주문형 반도체들(ASICs)과 같은), 하드 디스크 드라이브들(HDDs), 하이브리드 하드 드라이브들(HHDs), 광 디스크들, 광 디스크 드라이브들(ODDs), 광 자기 디스크들, 광 자기 드라이브들, 플로피 디스켓들, 플로피 디스크 드라이브들(FDDs), 자기 테이프들, 고체 상태 드라이브들(SSDs), RAM 드라이브들, 보안 디지털 카드들 또는 드라이브들, 임의의 다른 적합한 컴퓨터 판독가능한 비일시적 저장 매체들, 또는 적절한 경우, 이들 중 2개 이상의 적합한 조합을 포함할 수 있다. 컴퓨터 판독가능한 비일시적 저장 매체는 적절한 경우, 휘발성, 비휘발성, 또는 휘발성 및 비휘발성의 조합일 수 있다.
본 명세서에서, "또는"은 명확하게 다르게 나타내거나 문맥에 의해 다르게 나타내지 않는 한, 포괄적이고 배타적이지 않다. 따라서, 본 명세서에서, "A 또는 B"는 명확하게 다르게 나타내거나 문맥에 의해 다르게 나타내지 않는 한, "A, B, 또는 둘 모두"를 의미한다. 게다가, "및"은 명확하게 다르게 나타내거나 문맥에 의해 다르게 나타내지 않는 한, 공동 및 몇몇 둘 모두이다. 따라서, 본 명세서에서, "A 및 B"는 명확하게 다르게 나타내거나 문맥에 의해 다르게 나타내지 않는 한, "A 및 B, 공동으로, 또는 개별적으로"를 의미한다.
본 발명의 범위는 당업자가 이해할 본 명세서에서 설명되고 도시된 예시적인 실시예들에 대한 모든 변경들, 대체들, 변형들, 개조들, 및 수정들을 포함한다. 본 발명의 범위는 본 명세서에서 설명되고 도시된 예시적인 실시예들로 제한되지 않는다. 게다가, 본 발명이 본 명세서에서의 각각의 실시예들을 특정한 구성요소들, 요소들, 특징, 기능들, 동작들, 또는 단계들을 포함하는 것으로서 설명하고 도시할지라도, 이들 실시예들 중 임의의 실시예는 당업자가 이해할 본 명세서의 어딘가에서 설명하고 도시된 구성요소들, 요소들, 특징들, 기능들, 동작들, 또는 단계들 중 임의의 것의 임의의 조합 또는 순열을 포함할 수 있다. 또한, 첨부된 청구항들에서 특정한 기능을 수행하도록 적응되거나, 배열되거나, 수행할 수 있거나, 구성되거나, 인에이블링되거나, 동작가능하거나, 동작하는 장치 또는 시스템 또는 장치 또는 시스템의 구성요소에 대한 참조는, 그 장치, 시스템, 또는 구성요소가 그렇게 적응되거나, 배열되거나, 할 수 있거나, 구성되거나, 인에이블링되거나, 동작가능하거나, 동작하는 한, 그 특정한 기능이 활성화되든, 턴 온되든, 또는 잠금해제되든 그 장치, 시스템, 구성요소를 포함한다. 부가적으로, 본 발명이 특정한 실시예들을 특정한 장점들을 제공하는 것으로서 설명하거나 도시할지라도, 특정한 실시예들은 이들 장점들을 전혀 제공하지 않거나, 일부 또는 전부를 제공할 수 있다.

Claims (16)

  1. 방법에 있어서:
    소셜 네트워크와 연관된 컴퓨팅 시스템에 의해, 라이브 비디오를 공개하기 위한 제 1 요청을 수신하는 단계로서, 상기 제 1 요청은 상기 소셜 네트워크에 관해 제 3 자 컴퓨팅 시스템으로부터 수신되고, 상기 제 1 요청은 상기 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소를 포함하는, 상기 제 1 요청을 수신하는 단계;
    상기 컴퓨팅 시스템에 의해, 상기 라이브 비디오를 공개하기 위한 상기 제 1 요청에 응답하여, 소셜 그래프에 라이브 비디오를 표현하는 라이브 비디오 객체를 생성하는 단계;
    상기 컴퓨팅 시스템에 의해, 제 1 이용자와 연관된 제 1 이용자 디바이스로부터 콘텐트에 대한 제 2 요청을 수신하는 단계; 및
    상기 컴퓨팅 시스템에 의해, 상기 제 2 요청에 응답하여, 디스플레이 지시들, 상기 제 3 자 컴퓨팅 시스템과 연관된 상기 제 1 네트워크 주소, 상기 라이브 비디오가 이용가능한 제 2 네트워크 주소, 및 인터페이스 애플리케이션이 이용가능한 제 3 네트워크 주소를 상기 제 1 이용자 디바이스로 송신하는 단계를 포함하고;
    상기 디스플레이 지시들은 상기 제 1 이용자 디바이스로 하여금:
    상기 제 2 네트워크 주소를 이용하여 얻어진 상기 라이브 비디오를 디스플레이하도록 비디오 참가자 애플리케이션을 구성하고;
    상기 제 3 네트워크 주소를 이용하여 상기 인터페이스 애플리케이션을 얻고;
    상기 라이브 비디오의 적어도 일부에 걸쳐 디스플레이되도록 상기 인터페이스 애플리케이션을 구성하며;
    상기 제 1 네트워크 주소를 이용하여 상기 제 3 자 컴퓨팅 시스템과 통신하도록 상기 인터페이스 애플리케이션을 구성하게 하도록 구성되고;
    상기 인터페이스 애플리케이션은:
    상기 비디오 참가자 애플리케이션이 상기 라이브 비디오를 디스플레이하는 동안, 상기 제 1 이용자 디바이스의 제 1 이용자로부터 입력을 수신하고;
    상기 입력에 응답하여, 개발자 정의된 상호작용 패킷을 상기 제 1 네트워크 주소를 이용하여 상기 제 3 자 컴퓨팅 시스템에 전송하도록 구성되고,
    상기 제 3 자 컴퓨팅 시스템은 수신된 패킷들을 프로세싱하고 상기 라이브 비디오에 영향을 미치도록 구성되는, 방법.
  2. 제 1 항에 있어서,
    상기 컴퓨팅 시스템에 의해, 상기 제 3 자 컴퓨팅 시스템으로부터 딥링크(deeplink)를 수신하는 단계로서, 상기 딥링크는 상기 제 3 자 컴퓨팅 시스템과 연관된 애플리케이션으로 하여금 론칭(launching)되게 하도록 구성되고, 상기 딥링크는 상기 애플리케이션이 동작을 개시하기 위한 지시들을 포함하는, 상기 딥링크를 수신하는 단계; 및
    상기 컴퓨팅 시스템에 의해, 상기 제 2 요청에 응답하여, 상기 딥링크를 상기 제 1 이용자 디바이스로 송신하는 단계를 더 포함하고;
    상기 디스플레이 지시들은 또한, 상기 제 1 이용자 디바이스로 하여금 상기 딥링크를 활성화시키는 입력을 수신하고, 상기 입력에 응답하여 상기 딥링크와 연관된 상기 제 1 이용자 디바이스에 설치된 상기 애플리케이션을 론칭하도록 구성되게 하도록 구성되는, 방법.
  3. 제 2 항에 있어서,
    상기 딥링크에 포함된 상기 지시들은 상기 라이브 비디오에서의 콘텐트와 연관되는, 방법.
  4. 제 3 항에 있어서,
    상기 라이브 비디오에서의 상기 콘텐트는 제 2 이용자 디바이스에 설치된 게이밍 애플리케이션을 이용하여 게이밍 세션(gaming session)에서 플레이되고;
    상기 딥링크는 상기 제 1 이용자 디바이스에 설치된 상기 애플리케이션으로 하여금 론칭되게 하도록 구성되며;
    상기 딥링크에서의 상기 지시들에 의해 개시된 동작은 상기 제 1 이용자 디바이스에 설치된 상기 애플리케이션으로 하여금 상기 게이밍 세션을 통해 상기 제 2 이용자 디바이스에 설치된 상기 게이밍 애플리케이션과 상호작용하게 하는, 방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 라이브 비디오는 상기 제 3 자 컴퓨팅 시스템과 연관된 애플리케이션을 통해 상기 소셜 네트워크의 제 2 이용자에 의해 공개된 콘텐트이고, 상기 애플리케이션은 상기 제 2 이용자와 연관된 제 2 이용자 디바이스에서 실행되고 있고;
    상기 소셜 그래프에서의 상기 라이브 비디오 객체는 상기 제 2 이용자를 표현하는 상기 소셜 그래프에서의 이용자 객체와 연관되는, 방법.
  6. 제 5 항에 있어서,
    상기 제 1 이용자 및 상기 제 2 이용자는 임계 분리도 내에서 상기 소셜 그래프로 표현되는, 방법.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 컴퓨팅 시스템에 의해, 상기 소셜 네트워크와 연관된 뉴스피드에서 상기 제 1 이용자 디바이스 상에 상기 라이브 비디오를 제공하는 단계를 더 포함하고, 상기 라이브 비디오는 활성화 요소와 연관되며;
    상기 디스플레이 지시들은 상기 활성화 요소의 이용자 활성화 시에 실행되는, 방법.
  8. 제 1 항에 있어서,
    상기 라이브 비디오는 상기 제 3 자 컴퓨팅 시스템과 연관된 애플리케이션을 통해 상기 소셜 네트워크의 제 2 이용자에 의해 공개된 콘텐트이고, 상기 애플리케이션은 상기 제 2 이용자와 연관된 제 2 이용자 디바이스에서 실행되고 있으며;
    상기 제 1 이용자로부터의 입력에 대응하는 상기 데이터는 상기 제 3 자 컴퓨팅 시스템으로 하여금, 상기 제 2 이용자 디바이스 상의 상기 애플리케이션으로 하여금 상기 제 1 이용자로부터의 상기 입력과 연관된 정보를 디스플레이하게 하도록 구성되는, 방법.
  9. 소프트웨어를 저장하는 하나 이상의 컴퓨터 판독가능한 비일시적 저장 매체에 있어서,
    상기 소프트웨어는 소셜 네트워크와 연관된 컴퓨팅 시스템으로 하여금:
    라이브 비디오를 공개하기 위한 제 1 요청을 수신하고, 상기 제 1 요청은 상기 소셜 네트워크에 관해 제 3 자 컴퓨팅 시스템으로부터 수신되고, 상기 제 1 요청은 상기 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소를 포함하고;
    상기 라이브 비디오를 공개하기 위한 상기 제 1 요청에 응답하여, 소셜 그래프에 라이브 비디오를 표현하는 라이브 비디오 객체를 생성하고;
    제 1 이용자와 연관된 제 1 이용자 디바이스로부터 콘텐트에 대한 제 2 요청을 수신하고;
    상기 제 2 요청에 응답하여, 디스플레이 지시들, 상기 제 3 자 컴퓨팅 시스템과 연관된 상기 제 1 네트워크 주소, 상기 라이브 비디오가 이용가능한 제 2 네트워크 주소, 및 인터페이스 애플리케이션이 이용가능한 제 3 네트워크 주소를 상기 제 1 이용자 디바이스로 송신하게 하도록 실행될 때 동작가능하고;
    상기 디스플레이 지시들은 상기 제 1 이용자 디바이스로 하여금:
    상기 제 2 네트워크 주소를 이용하여 얻어진 상기 라이브 비디오를 디스플레이하도록 비디오 참가자 애플리케이션을 구성하고;
    상기 제 3 네트워크 주소를 이용하여 상기 인터페이스 애플리케이션을 얻고;
    상기 라이브 비디오의 적어도 일부에 걸쳐 디스플레이되도록 상기 인터페이스 애플리케이션을 구성하며;
    상기 제 1 네트워크 주소를 이용하여 상기 제 3 자 컴퓨팅 시스템과 통신하도록 상기 인터페이스 애플리케이션을 구성하게 하도록 구성되고,
    상기 인터페이스 애플리케이션은:
    상기 비디오 참가자 애플리케이션이 상기 라이브 비디오를 디스플레이하는 동안, 상기 제 1 이용자 디바이스의 제 1 이용자로부터 입력을 수신하고;
    상기 입력에 응답하여, 개발자 정의된 상호작용 패킷을 상기 제 1 네트워크 주소를 이용하여 상기 제 3 자 컴퓨팅 시스템에 전송하도록 구성되고,
    상기 제 3 자 컴퓨팅 시스템은 수신된 패킷들을 프로세싱하고 상기 라이브 비디오에 영향을 미치도록 구성되는, 컴퓨터 판독가능한 비일시적 저장 매체.
  10. 제 9 항에 있어서,
    상기 소프트웨어는 또한:
    상기 제 3 자 컴퓨팅 시스템으로부터 딥링크를 수신하고, 상기 딥링크는 상기 제 3 자 컴퓨팅 시스템과 연관된 애플리케이션으로 하여금 론칭되게 하도록 구성되고, 상기 딥링크는 상기 애플리케이션이 동작을 개시하기 위한 지시들을 포함하고;
    상기 제 2 요청에 응답하여, 상기 딥링크를 상기 제 1 이용자 디바이스로 송신하도록 실행될 때 동작가능하고;
    상기 디스플레이 지시들은 또한, 상기 제 1 이용자 디바이스로 하여금 상기 딥링크를 활성화시키는 입력을 수신하고, 상기 입력에 응답하여 상기 딥링크와 연관된 상기 제 1 이용자 디바이스에 설치된 상기 애플리케이션을 론칭하도록 구성되게 하도록 구성되는, 컴퓨터 판독가능한 비일시적 저장 매체.
  11. 제 10 항에 있어서,
    상기 딥링크에 포함된 상기 지시들은 상기 라이브 비디오에서의 콘텐트와 연관되는, 컴퓨터 판독가능한 비일시적 저장 매체.
  12. 제 11 항에 있어서,
    상기 라이브 비디오에서의 상기 콘텐트는 제 2 이용자 디바이스에 설치된 게이밍 애플리케이션을 이용하여 게이밍 세션에서 플레이되고;
    상기 딥링크는 상기 제 1 이용자 디바이스에 설치된 상기 애플리케이션으로 하여금 론칭되게 하도록 구성되며;
    상기 딥링크에서의 상기 지시들에 의해 개시된 동작은 상기 제 1 이용자 디바이스에 설치된 상기 애플리케이션으로 하여금 상기 게이밍 세션을 통해 상기 제 2 이용자 디바이스에 설치된 상기 게이밍 애플리케이션과 상호작용하게 하는, 컴퓨터 판독가능한 비일시적 저장 매체.
  13. 소셜 네트워크와 연관된 컴퓨팅 시스템에 있어서:
    하나 이상의 프로세서들; 및
    상기 프로세서들 중 하나 이상에 결합되고 상기 프로세서들 중 하나 이상에 의해 실행될 때 상기 시스템으로 하여금:
    라이브 비디오를 공개하기 위한 제 1 요청을 수신하고, 상기 제 1 요청은 상기 소셜 네트워크에 관해 제 3 자 컴퓨팅 시스템으로부터 수신되고, 상기 제 1 요청은 상기 제 3 자 컴퓨팅 시스템과 연관된 제 1 네트워크 주소를 포함하고;
    상기 라이브 비디오를 공개하기 위한 상기 제 1 요청에 응답하여, 소셜 그래프에 라이브 비디오를 표현하는 라이브 비디오 객체를 생성하고;
    제 1 이용자와 연관된 제 1 이용자 디바이스로부터 콘텐트에 대한 제 2 요청을 수신하고;
    상기 제 2 요청에 응답하여, 디스플레이 지시들, 상기 제 3 자 컴퓨팅 시스템과 연관된 상기 제 1 네트워크 주소, 상기 라이브 비디오가 이용가능한 제 2 네트워크 주소, 및 인터페이스 애플리케이션이 이용가능한 제 3 네트워크 주소를 상기 제 1 이용자 디바이스로 송신하게 하도록 동작가능한 지시들을 저장하는 하나 이상의 컴퓨터 판독가능한 비일시적 저장 매체를 포함하고;
    상기 디스플레이 지시들은 상기 제 1 이용자 디바이스로 하여금:
    상기 제 2 네트워크 주소를 이용하여 얻어진 상기 라이브 비디오를 디스플레이하도록 비디오 참가자 애플리케이션을 구성하고;
    상기 제 3 네트워크 주소를 이용하여 상기 인터페이스 애플리케이션을 얻고;
    상기 라이브 비디오의 적어도 일부에 걸쳐 디스플레이되도록 상기 인터페이스 애플리케이션을 구성하며;
    상기 제 1 네트워크 주소를 이용하여 상기 제 3 자 컴퓨팅 시스템과 통신하도록 상기 인터페이스 애플리케이션을 구성하게 하도록 구성되고,
    상기 인터페이스 애플리케이션은:
    상기 비디오 참가자 애플리케이션이 상기 라이브 비디오를 디스플레이하는 동안, 상기 제 1 이용자 디바이스의 제 1 이용자로부터 입력을 수신하고;
    상기 입력에 응답하여, 개발자 정의된 상호작용 패킷을 상기 제 1 네트워크 주소를 이용하여 상기 제 3 자 컴퓨팅 시스템에 전송하도록 구성되고,
    상기 제 3 자 컴퓨팅 시스템은 수신된 패킷들을 처리하고 상기 라이브 비디오에 영향을 미치도록 구성되는, 컴퓨팅 시스템.
  14. 제 13 항에 있어서,
    상기 프로세서들은 또한:
    상기 제 3 자 컴퓨팅 시스템으로부터 딥링크를 수신하고, 상기 딥링크는 상기 제 3 자 컴퓨팅 시스템과 연관된 애플리케이션으로 하여금 론칭되게 하도록 구성되고, 상기 딥링크는 상기 애플리케이션이 동작을 개시하기 위한 지시들을 포함하고;
    상기 제 2 요청에 응답하여, 상기 딥링크를 상기 제 1 이용자 디바이스로 송신하기 위한 상기 지시들을 실행할 때 동작가능하고;
    상기 디스플레이 지시들은 또한, 상기 제 1 이용자 디바이스로 하여금 상기 딥링크를 활성화시키는 입력을 수신하고, 상기 입력에 응답하여 상기 딥링크와 연관된 상기 제 1 이용자 디바이스에 설치된 상기 애플리케이션을 론칭하도록 구성되게 하도록 구성되는, 컴퓨팅 시스템.
  15. 제 14 항에 있어서,
    상기 딥링크에 포함된 상기 지시들은 상기 라이브 비디오에서의 콘텐트와 연관되는, 컴퓨팅 시스템.
  16. 제 15 항에 있어서,
    상기 라이브 비디오에서의 상기 콘텐트는 제 2 이용자 디바이스에 설치된 게이밍 애플리케이션을 이용하여 게이밍 세션에서 플레이되고;
    상기 딥링크는 상기 제 1 이용자 디바이스에 설치된 상기 애플리케이션으로 하여금 론칭되게 하도록 구성되며;
    상기 딥링크에서의 상기 지시들에 의해 개시된 동작은 상기 제 1 이용자 디바이스에 설치된 상기 애플리케이션으로 하여금 상기 게이밍 세션을 통해 상기 제 2 이용자 디바이스에 설치된 상기 게이밍 애플리케이션과 상호작용하게 하는, 컴퓨팅 시스템.
KR1020227045861A 2017-06-12 2017-06-13 라이브 비디오들을 위한 대화형 관람 인터페이스 KR20230004966A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/620,712 2017-06-12
US15/620,712 US10057310B1 (en) 2017-06-12 2017-06-12 Interactive spectating interface for live videos
PCT/US2017/037181 WO2018231200A1 (en) 2017-06-12 2017-06-13 Interactive spectating interface for live videos
KR1020197038719A KR20200007978A (ko) 2017-06-12 2017-06-13 라이브 비디오들을 위한 대화형 관람 인터페이스

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197038719A Division KR20200007978A (ko) 2017-06-12 2017-06-13 라이브 비디오들을 위한 대화형 관람 인터페이스

Publications (1)

Publication Number Publication Date
KR20230004966A true KR20230004966A (ko) 2023-01-06

Family

ID=63143983

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197038719A KR20200007978A (ko) 2017-06-12 2017-06-13 라이브 비디오들을 위한 대화형 관람 인터페이스
KR1020227045861A KR20230004966A (ko) 2017-06-12 2017-06-13 라이브 비디오들을 위한 대화형 관람 인터페이스

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020197038719A KR20200007978A (ko) 2017-06-12 2017-06-13 라이브 비디오들을 위한 대화형 관람 인터페이스

Country Status (5)

Country Link
US (2) US10057310B1 (ko)
JP (1) JP6972178B2 (ko)
KR (2) KR20200007978A (ko)
CN (1) CN110869908A (ko)
WO (1) WO2018231200A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4332972A1 (en) 2022-08-31 2024-03-06 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and operating method of storage device
EP4332969A1 (en) 2022-08-31 2024-03-06 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and operating method of storage device

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991108A (zh) * 2016-09-27 2017-07-28 阿里巴巴集团控股有限公司 一种信息的推送方法及装置
CN108076128A (zh) * 2016-12-28 2018-05-25 北京市商汤科技开发有限公司 用户属性提取方法、装置和电子设备
CN108769814B (zh) * 2018-06-01 2022-02-01 腾讯科技(深圳)有限公司 视频互动方法、装置、终端及可读存储介质
CN109857961A (zh) * 2019-01-17 2019-06-07 北京奇艺世纪科技有限公司 一种通信方法、装置及系统
NO345656B1 (en) * 2019-04-21 2021-05-31 Holthe Ole Ivar Game Story System for Mobile Apps
CN111294660B (zh) * 2020-03-12 2021-11-16 咪咕文化科技有限公司 视频片段定位方法、服务器、客户端及电子设备
CN112261425B (zh) * 2020-10-20 2022-07-12 成都中科大旗软件股份有限公司 一种视频直播和录像播放方法及系统
CN113010243B (zh) * 2021-01-04 2022-09-20 腾讯科技(深圳)有限公司 信息显示方法、装置、终端设备及存储介质
KR102497838B1 (ko) * 2021-07-29 2023-02-08 에스케이스토아 주식회사 미디어 스트리밍 서버, 라이브 영상과 라이브 채팅을 스트리밍 동영상으로 제공하는 방법, 상기 방법을 실행시키기 위하여 기록매체에 저장된 컴퓨터 프로그램
CN115314729A (zh) * 2022-08-04 2022-11-08 广州方硅信息技术有限公司 组队互动的直播方法、装置、计算机设备及存储介质
JP7416904B1 (ja) 2022-12-19 2024-01-17 楽天グループ株式会社 情報処理装置、情報処理方法、および情報処理プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4765182B2 (ja) * 2001-01-19 2011-09-07 ソニー株式会社 双方向テレビ通信方法および、双方向テレビ通信用クライアント装置
US20140372517A1 (en) 2011-08-29 2014-12-18 Patrick Zuili Systems and Methods for a Video Sharing Social Network
US9345966B2 (en) 2012-03-13 2016-05-24 Sony Interactive Entertainment America Llc Sharing recorded gameplay to a social graph
US9727049B2 (en) * 2012-09-04 2017-08-08 Taiwan Semiconductor Manufacturing Company, Ltd. Qualitative fault detection and classification system for tool condition monitoring and associated methods
US20150121437A1 (en) 2013-04-05 2015-04-30 Google Inc. Multi-perspective game broadcasting
US9448962B2 (en) * 2013-08-09 2016-09-20 Facebook, Inc. User experience/user interface based on interaction history
JP6122768B2 (ja) 2013-11-19 2017-04-26 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、表示方法およびコンピュータプログラム
WO2015153782A1 (en) * 2014-04-01 2015-10-08 Interdigital Patent Holdings, Inc. Capture and delivery of online game spectators personalized commentaries to players
US10143928B2 (en) * 2014-04-18 2018-12-04 Microsoft Technology Licensing, Llc Broadcast initiation without interruption to active gameplay
US20150306503A1 (en) 2014-04-25 2015-10-29 Crytek Gmbh Manipulating Operation of a Virtual Event in a Social Networking Service
US9560366B2 (en) * 2014-10-22 2017-01-31 Broadcom Corporation Video encoding for social media
US10528207B2 (en) * 2015-01-12 2020-01-07 Facebook, Inc. Content-based interactive elements on online social networks
JP7231327B2 (ja) * 2015-06-30 2023-03-01 アマゾン・テクノロジーズ・インコーポレーテッド ゲームシステムと観戦システムとの統合
US10484439B2 (en) 2015-06-30 2019-11-19 Amazon Technologies, Inc. Spectating data service for a spectating system
US11071919B2 (en) * 2015-06-30 2021-07-27 Amazon Technologies, Inc. Joining games from a spectating system
US9311168B1 (en) * 2015-09-30 2016-04-12 Google Inc. Deeplinking to multiple native applications
CN105435453B (zh) * 2015-12-22 2019-02-19 网易(杭州)网络有限公司 一种弹幕信息处理方法、装置和系统
CN106507161B (zh) * 2016-11-29 2019-11-15 腾讯科技(深圳)有限公司 视频直播方法及直播装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4332972A1 (en) 2022-08-31 2024-03-06 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and operating method of storage device
EP4332969A1 (en) 2022-08-31 2024-03-06 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and operating method of storage device

Also Published As

Publication number Publication date
JP2020524433A (ja) 2020-08-13
KR20200007978A (ko) 2020-01-22
US20180359295A1 (en) 2018-12-13
WO2018231200A1 (en) 2018-12-20
CN110869908A (zh) 2020-03-06
US10498781B2 (en) 2019-12-03
US10057310B1 (en) 2018-08-21
JP6972178B2 (ja) 2021-11-24

Similar Documents

Publication Publication Date Title
US10498781B2 (en) Interactive spectating interface for live videos
US10091318B2 (en) Content-based notification delivery
KR102146454B1 (ko) 알림 내 스폰서 소식
KR101829783B1 (ko) 제3자 시스템용 미디어 플러그-인
KR101764749B1 (ko) 미디어 행위 버튼
KR102481258B1 (ko) 미디어-플레이어 장치와의 딥 링크
KR20160046332A (ko) 페이스파일 통합형 통신
JP6531156B2 (ja) クライアント・コンピューティング・デバイス上のタイムスロット内でのコンテンツの提供
US20190116233A1 (en) Organizing Application-Reported Information
JP2021510482A (ja) 近さに基づく信頼
KR20210094011A (ko) 가상 공동 체험 시스템의 퍼스펙티브 셔플링
EP3416390A1 (en) Interactive spectating interface for live videos
US20140164132A1 (en) Client-Side Advertising Decisions
KR20160046860A (ko) 컨텐츠 소유자 모듈
US20140164141A1 (en) Software Application Notifications
WO2023091555A1 (en) Cross-platform facilitation of application installation for vr systems
JP7242669B2 (ja) 複数のデバイスにわたるコンテンツを提供すること

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E601 Decision to refuse application