KR20180008919A - 콘텐츠 스트림으로의 콘텐츠의 혼합 - Google Patents

콘텐츠 스트림으로의 콘텐츠의 혼합 Download PDF

Info

Publication number
KR20180008919A
KR20180008919A KR1020187001293A KR20187001293A KR20180008919A KR 20180008919 A KR20180008919 A KR 20180008919A KR 1020187001293 A KR1020187001293 A KR 1020187001293A KR 20187001293 A KR20187001293 A KR 20187001293A KR 20180008919 A KR20180008919 A KR 20180008919A
Authority
KR
South Korea
Prior art keywords
content data
aggregated content
data structure
aggregated
data structures
Prior art date
Application number
KR1020187001293A
Other languages
English (en)
Other versions
KR101946586B1 (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 KR20180008919A publication Critical patent/KR20180008919A/ko
Application granted granted Critical
Publication of KR101946586B1 publication Critical patent/KR101946586B1/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • G06F17/30563
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F17/30289
    • 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
    • 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/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 기술의 양태들은 집합된 콘텐츠 데이터 구조체를 콘텐츠 스트림 내로 혼합하는 것에 관한 것이다. 제1의 복수의 집합된 콘텐츠 데이터 구조체들이 수신되고, 그 각각은 사용자의 콘텐츠 스트림 내의 디스플레이를 위한 콘텐츠 아이템들의 그룹을 포함하고 각각의 스코어와 연관된다. 사용자와 연관된 미리 결정된 타입 목표 백분율들 및 스코어들에 기초하여 제1의 복수의 집합된 콘텐츠 데이터 구조체들 중에서 제1의 집합된 콘텐츠 데이터 구조체가 선택될 수 있다. 제1의 집합된 콘텐츠 데이터 구조체는 사용자와 연관된 콘텐츠 스트림 내로 혼합될 수 있고, 콘텐츠 스트림이 디스플레이를 위해 제공된다.

Description

콘텐츠 스트림으로의 콘텐츠의 혼합
관련 출원들에 대한 상호 참조
본 출원은 2015년 10월 8일자로 출원된, 발명의 명칭이 "Mixing Content into a Content Stream"인 미국 가특허 출원 제62/239,191호로부터의 35 U.S.C. §119 하의 우선권의 이익을 주장하고, 그 개시내용은 이로써 모든 목적들을 위해 그 전체가 참조로 포함된다.
본 개시내용은 일반적으로 콘텐츠 전달에 관한 것으로, 특히, 콘텐츠를 콘텐츠 스트림 내로 혼합하는 것에 관한 것이다. 사용자들은 다수의 소스들로부터의 콘텐츠 아이템들을 판독하거나, 뷰잉하거나, 포스팅하거나, 공유하거나, 또는 달리 소비할 수 있다. 예를 들어, 사용자가 콘텐츠 아이템들을 수신하게 되는 추가의 콘텐츠 소스들을 선택함에 따라 및/또는 선택된 소스들이 콘텐츠 아이템들을 계속 생산하는 경우, 소비를 위해 이용가능한 콘텐츠 아이템들의 양이 증가한다. 예를 들어, 사용자는 소셜 네트워크 업데이트들을 수신할 뿐만 아니라 뉴스 소스로부터 라이브 뉴스 업데이트들을 수신할 수 있다. 콘텐츠 아이템들을 조직화하고 소비할 콘텐츠 아이템들이 무엇인지를 결정하는 것은, 예컨대 콘텐츠가 모바일 디바이스 상에서 소비될 때, 이용가능한 콘텐츠의 양이 증가함에 따라 그리고 스크린 공간이 더 제한되게 됨에 따라 더 복잡해질 수 있다.
본 기술의 양태들은 집합 콘텐츠 리스트(aggregate content list)를 생성하기 위한 머신 구현 방법에 관한 것이다. 이 방법은 제1의 복수의 집합된 콘텐츠 데이터 구조체(aggregated content data structure)들을 수신하는 단계 - 각각의 집합된 콘텐츠 데이터 구조체는 콘텐츠 아이템들의 그룹을 레퍼런싱하고(reference) 복수의 카테고리 타입들의 각각의 카테고리 타입 및 각각의 스코어와 연관되고, 콘텐츠 아이템들의 그룹 각각은 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입과 연관됨 -, 제1의 복수의 집합된 콘텐츠 데이터 구조체들에 대한 각각의 스코어들 및 제1의 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입에 대한 미리 결정된 타입 목표 백분율에 기초하여 제1의 복수의 집합된 콘텐츠 데이터 구조체들 중에서 제1의 집합된 콘텐츠 데이터 구조체를 선택하는 단계, 제1의 집합된 콘텐츠 데이터 구조체를 사용자와 연관된 콘텐츠 스트림 내로 혼합하는 단계, 및 사용자에게의 디스플레이를 위해, 제1의 집합된 콘텐츠 데이터 구조체를 포함하는 콘텐츠 스트림을 제공하는 단계를 포함한다.
본 기술의 양태들은 또한 집합 콘텐츠 리스트를 생성하기 위한 컴퓨팅 시스템에 관한 것이다. 이 시스템은 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하는 저장된 명령어들을 포함하는 비일시적인 컴퓨터 판독가능 매체를 포함한다. 동작들은 제1의 복수의 집합된 콘텐츠 데이터 구조체들을 수신하는 동작 - 각각의 집합된 콘텐츠 데이터 구조체는 콘텐츠 아이템들의 그룹을 레퍼런싱하고 복수의 카테고리 타입들의 각각의 카테고리 타입 및 각각의 스코어와 연관되고, 콘텐츠 아이템들의 그룹 각각은 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입과 연관됨 -, 제1의 복수의 집합된 콘텐츠 데이터 구조체들에 대한 각각의 스코어들 및 제1의 집합된 콘텐츠 데이터 구조체의 카테고리 타입에 대한 미리 결정된 타입 목표 백분율에 기초하여 제1의 복수의 집합된 콘텐츠 데이터 구조체들 중에서 제1의 집합된 콘텐츠 데이터 구조체를 선택하는 동작, 제1의 집합된 콘텐츠 데이터 구조체를 사용자와 연관된 콘텐츠 스트림 내로 혼합하는 동작, 및 사용자에게의 디스플레이를 위해, 제1의 집합된 콘텐츠 데이터 구조체를 포함하는 콘텐츠 스트림을 제공하는 동작을 포함한다.
본 기술의 양태들은 또한, 머신에 의해 실행될 때, 머신으로 하여금 집합 콘텐츠 리스트를 생성하기 위한 동작들을 수행하게 하는 저장된 명령어들을 포함하는 비일시적인 머신 판독가능 매체에 관한 것이다. 동작들은 제1의 복수의 집합된 콘텐츠 데이터 구조체들을 수신하는 동작 - 각각의 집합된 콘텐츠 데이터 구조체는 콘텐츠 아이템들의 그룹을 레퍼런싱하고 복수의 카테고리 타입들의 각각의 카테고리 타입 및 각각의 스코어와 연관되고, 콘텐츠 아이템들의 그룹 각각은 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입과 연관됨 -, 제1의 복수의 데이터 구조체들 각각의 스코어를 제1의 미리 결정된 값과 제2의 미리 결정된 값 사이에 있도록 정규화하는 동작, 제1의 복수의 집합된 콘텐츠 데이터 구조체들에 대한 각각의 정규화된 스코어들 및 제1의 집합된 콘텐츠 데이터 구조체의 카테고리 타입에 대한 미리 결정된 타입 목표 백분율에 기초하여 제1의 복수의 집합된 콘텐츠 데이터 구조체들 중에서 제1의 집합된 콘텐츠 데이터 구조체를 선택하는 동작, 제1의 집합된 콘텐츠 데이터 구조체를 사용자와 연관된 콘텐츠 스트림 내로 혼합하는 동작, 및 사용자에게의 디스플레이를 위해, 제1의 집합된 콘텐츠 데이터 구조체를 포함하는 콘텐츠 스트림을 제공하는 동작을 포함한다.
본 기술의 다른 구성들은 본 기술의 다양한 구성들이 예시로서 도시되고 설명되는 하기의 상세한 설명으로부터 본 기술분야의 통상의 기술자에게 용이하게 명백해질 것으로 이해된다. 인식되는 바와 같이, 본 기술은 다른 그리고 상이한 구성들이 가능하고 그의 몇몇 세부사항들은 모두가 본 기술의 범주로부터 벗어남이 없이 다양한 다른 면에서 수정이 가능하다. 따라서, 도면들 및 상세한 설명은 제한적인 것으로서가 아니라 본질적으로 예시적인 것으로서 간주되어야 한다.
추가의 이해를 제공하기 위해 포함되고 본 명세서에 포함되고 그의 일부를 구성하는 첨부 도면들은 개시된 양태들을 예시하고 설명과 함께 개시된 양태들의 원리들을 설명하는 역할을 한다.
도 1은 본 기술의 일부 구현들이 구현될 수 있는 예시적인 네트워크 환경을 예시한다.
도 2는 본 기술의 예시적인 양태들에 따른, 콘텐츠 스트림 내로의 집합된 콘텐츠 데이터 구조체들의 혼합을 용이하게 하기 위한 환경을 예시한다.
도 3은 본 기술의 예시적인 양태들에 따른, 집합된 콘텐츠 데이터 구조체의 예를 예시한다.
도 4는 본 기술의 예시적인 양태들에 따른, 집합된 콘텐츠 데이터 구조체를 콘텐츠 스트림 내로 혼합하기 위한 프로세스의 흐름도를 예시한다.
도 5는 본 기술의 예시적인 양태들에 따른, 집합된 콘텐츠 데이터 구조체를 콘텐츠 스트림 내로 혼합하기 위한 프로세스의 흐름도를 예시한다.
도 6은 본 기술의 일부 구현들이 구현될 수 있는 예시적인 전자 시스템을 개념적으로 예시한다.
이하에 제시되는 상세한 설명은 본 기술의 다양한 구성들의 설명으로서 의도된 것이고 본 기술이 실시될 수 있는 유일한 구성들을 나타내려고 의도된 것이 아니다. 첨부된 도면들은 본 명세서에 포함되고 상세한 설명의 일부를 구성한다. 상세한 설명은 본 기술의 완전한 이해를 제공할 목적으로 특정 세부사항들을 포함한다. 그러나, 본 기술은 본 명세서에 제시되는 특정 세부사항들로 제한되지 않으며 이러한 특정 세부사항들 없이 실시될 수 있다. 일부 경우들에서, 구조체들 및 컴포넌트들은 본 기술의 개념들을 모호하게 하는 것을 회피하기 위해 블록 다이어그램 형태로 도시된다.
사용자는 소셜 네트워크 서비스와 같은 웹 서비스를 이용하여, 콘텐츠 아이템들을 발견 및 소비할 수 있다. 콘텐츠 아이템은, 예를 들어, 인터넷을 통해 온라인으로 이용가능한 오디오, 비디오, 그래픽스, 텍스트, 및 이들의 조합들과 같은 임의의 타입의 콘텐츠를 포함할 수 있다. 콘텐츠 아이템들은 사용자가 뷰잉 또는 상호작용에 의해 소비할 수 있는 뉴스 기사들, 소셜 네트워크 포스트들, 소셜 네트워크 이벤트 업데이트들, 사용자들에 의해 업로드된 미디어, 사용자들로부터의 코멘트들, 사용자들로부터의 공유들, 웹사이트들 등을 포함할 수 있다. 소셜 네트워크 서비스는 다양한 소스들로부터 콘텐츠 아이템들을 수집 또는 수신할 수 있고, 콘텐츠 아이템들을 사용자에게 콘텐츠 스트림으로 제공할 수 있다. 콘텐츠 아이템들에 대한 소스들은 뉴스 서비스들, 미디어 서비스들, 사진 공유 서비스들, 및 다른 콘텐츠 서비스들을 위한 서버들을 포함하여 콘텐츠 아이템들이 각각의 서비스들의 서버들로부터 요청 및 검색될 수 있다.
콘텐츠 스트림은 하나 이상의 콘텐츠 아이템들을 포함할 수 있다. 예를 들어, 콘텐츠 스트림은 새로운 콘텐츠 아이템들이 생성 또는 검색될 때 업데이트될 수 있는 콘텐츠 아이템들의 리스트를 포함할 수 있다. 콘텐츠 스트림은 소셜 네트워크 서비스에 또는 소셜 네트워크 서비스에 의해 제공될 수 있고 사용자에게 소셜 네트워크 서비스를 통해, 예컨대 소셜 네트워크 서비스에 의해 사용자에게 제공되는 사용자 인터페이스 상에서 액세스가능할 수 있다. 예를 들어, 사용자의 콘텐츠 스트림에 액세스하기 위해, 사용자가 소셜 네트워크 서비스를 위해 생성한 계정에 로그인함으로써 사용자는 소셜 네트워크 서비스에 대한 로그인 세션을 개시할 필요가 있을 수 있다. 콘텐츠 스트림을 디스플레이하기 위한 사용자 인터페이스는 사용자가 소셜 네트워크 서비스에 대한 사용자의 계정에 로그인할 때 사용자에게 제공될 수 있다. 비제한적인 예로서, 소셜 네트워크 서비스는 사용자의 클라이언트 디바이스 상에서 실행되는 웹 브라우저 애플리케이션에 의해 로딩될 수 있는 웹 페이지를 통해 액세스될 수 있다. 소셜 네트워크 서비스는 사용자의 클라이언트 디바이스 상에서 실행되는 독립형 클라이언트 애플리케이션 또는 웹 애플리케이션을 통해 액세스될 수 있다.
일부 구현들에서, 콘텐츠 스트림은 사용자에게 한 번에 한 페이지씩 제공될 수 있는데, 이때 각각의 페이지는 다수의 콘텐츠 아이템들(예컨대, 10개의 콘텐츠 아이템들)을 포함한다. 예를 들어, 처음 10개의 콘텐츠 아이템들은 사용자가 소비를 위한 콘텐츠 아이템들을 검사, 내비게이팅(예컨대, 스크롤링), 그리고 선택하게 하기 위해 사용자를 위한 사용자 인터페이스에 로딩될 수 있다. 사용자가 처음 10개의 콘텐츠 아이템들의 끝에 도달함을 나타내는 사용자 인터페이스 내의 한 포인트에 사용자가 도달할 때, 콘텐츠 스트림의 다음 페이지에의 포함을 위해 10개의 콘텐츠 아이템들의 다음 세트가 소셜 네트워크 서비스에 의해 선택될 수 있고, 다음 페이지가 그 후에 사용자 인터페이스에 로딩된다.
기준들의 세트에 기초하여 스코어가 콘텐츠 아이템과 연관될 수 있다. 기준들의 세트는, 비제한적인 예로서, 그 중에서도, 콘텐츠 아이템들과 연관된 날짜들(예컨대, 콘텐츠 아이템이 온라인으로 포스팅된 시간), 콘텐츠 아이템들과 연관된 토픽들, 콘텐츠 아이템들의 작성자들을 포함할 수 있다. 주어진 콘텐츠 아이템에 대해, 1명의 사용자에 대해 콘텐츠 아이템에 할당되는 스코어는, 예를 들어, 각각의 사용자 프로파일들에 기초하여 다른 사용자에 대해 동일한 콘텐츠 아이템에 할당되는 스코어와는 상이할 수 있다. 스코어는 사용자의 콘텐츠 스트림에 대한 콘텐츠 아이템들을 선택하기 위해 그리고 사용자의 콘텐츠 스트림 내에서 선택된 콘텐츠 아이템들을 순서화하기 위해 이용될 수 있다.
다양한 소스들로부터의 콘텐츠 아이템들이 분석되고 집합된 콘텐츠 데이터 구조체들로 함께 그룹화될 수 있다. 집합된 콘텐츠 데이터 구조체들은 데이터 구조체들, 예컨대 리스트, 순서화된 리스트, 그래프, 또는 한정된 수의 콘텐츠 아이템들의 그룹화일 수 있다. 콘텐츠 아이템들은, 예를 들어, 특정 토픽에 대한 관련성, 위치에 대한 관련성, 또는 특정 사용자들과의 연관성과 같은 공통된 테마 또는 관련성에 기초하여 집합된 콘텐츠 데이터 구조체들로 조직화될 수 있다. 집합된 콘텐츠 데이터 구조체는 공통된 테마 또는 관련성에 기초하여 명명될 수 있다. 사용자는 특정 특성들을 갖거나 및/또는 특정 토픽들과 연관된 콘텐츠 아이템들에 관심이 있을 수 있다. 예를 들어, 사용자는, 가족 구성원들과 같은, 사용자와 특정 관계를 갖는 사람들로부터의 콘텐츠 아이템들에 관심이 있을 수 있다. 사용자는 사용자와 연관된 위치에 관련된 콘텐츠 아이템들에 관심이 있을 수 있다. 예를 들어, 콘텐츠 아이템이 지오태깅되거나 위치 정보를 포함하는 경우, 콘텐츠 아이템은 콘텐츠 아이템들이 위치 정보와 연관되는 집합된 콘텐츠 데이터 구조체의 일부로서 집합될 수 있다.
본 기술의 다양한 양태들에 따르면, 집합된 콘텐츠 데이터 구조체들은 사용자의 콘텐츠 스트림 내로 혼합될 수 있다. 집합된 콘텐츠 데이터 구조체들은 사용자가 소비를 위해 집합된 콘텐츠 데이터 구조체로부터 콘텐츠 아이템들을 선택할 수 있도록 사용자의 콘텐츠 스트림의 일부로서 사용자에게 제시될 수 있다. 각각의 집합된 콘텐츠 데이터 구조체는 집합된 콘텐츠 데이터 구조체 내의 콘텐츠 아이템들의 스코어들에 기초하는 스코어와 연관된다. 일부 구현들에서, 집합된 콘텐츠 데이터 구조체들은 집합된 콘텐츠 데이터 구조체들의 스코어들에 기초하여 사용자의 콘텐츠 스트림 내에서 선택 및 순서화된다. 예를 들어, 다른 집합된 콘텐츠 데이터 구조체들보다 더 높은 스코어들과 연관된 집합된 콘텐츠 데이터 구조체들은 사용자의 콘텐츠 스트림 내로 혼합하는 것(예컨대, 집합된 콘텐츠 데이터 구조체들을 기존 콘텐츠 스트림에 추가하는 것 또는 집합된 콘텐츠 데이터 구조체들 및 다른 콘텐츠 아이템들을 사용하여 콘텐츠 스트림을 생성하는 것)을 위해 선택될 수 있다. 더 높은 스코어들과 연관된 집합된 콘텐츠 데이터 구조체들은 일반적으로 더 낮은 스코어들과 연관된 집합된 콘텐츠 데이터 구조체들에 비해 사용자에게 관심이 있는 것일 가능성이 더 많다.
집합된 콘텐츠 데이터 구조체들을 사용자의 콘텐츠 스트림 내로 혼합하면 사용자가 공통된 테마 또는 관련성에 관한 다양한 소스들로부터의 콘텐츠 아이템들을 소비하게 할 수 있다. 그러한 혼합은 사용자가 다양한 콘텐츠 소스들을 개별적으로 방문할 필요 없이 다양한 콘텐츠 소스들의 콘텐츠 아이템들을 소비하게 할 수 있다. 개별적으로 다양한 소스들을 방문하는 것은 예를 들어 사용자가 번거로울 수 있다. 게다가, 공통된 테마 또는 관련성에 관한 콘텐츠 아이템들은 사용자가 콘텐츠 스트림을 통하는 것보다는 직접적으로 소스들 자체를 방문할 때에도 사용자가 위치결정하는 것이 어려울 수 있다. 그러한 혼합은 또한 사용자가 인식하지 못할 수도 있는 소스들로부터의 공통된 테마 또는 관련성에 관한 콘텐츠 아이템들의 도입을 가능하게 할 수 있다.
도 1은 본 기술의 일부 구현들이 구현될 수 있는 예시적인 네트워크 환경(100)을 예시한다. 네트워크 환경(100)은 집합 서버(110A), 집합 서버(110B), 집합 서버(110C), 혼합 서버(115), 소셜 네트워크 서버(120), 네트워크(130), 제3자 서버(140), 클라이언트 디바이스(150A), 및 클라이언트 디바이스(150B)를 포함한다. 일부 양태들에서, 네트워크 환경(100)은 네트워크(130)와 같은 하나 이상의 네트워크들에 걸쳐 있는 분산 클라이언트/서버 시스템일 수 있다. 네트워크(130)는 임의의 수의 모바일 클라이언트들, 고정식 클라이언트들, 및 서버들을 연결하는 근거리 네트워크(LAN), 광역 네트워크(WAN), 인터넷, 셀룰러 네트워크, 또는 이들의 조합을 포함하는 대규모 컴퓨터 네트워크일 수 있다. 일부 양태들에서, 각각의 클라이언트(예컨대, 클라이언트 디바이스들(150A 및/또는 150B))는 가상 사설 네트워크(virtual private network)(VPN), 시큐어 셸(Secure Shell)(SSH) 터널, 또는 다른 보안 네트워크 커넥션을 통해 서버들(예컨대, 집합 서버들(110A, 110B, 및 110C), 혼합 서버(115), 소셜 네트워크 서버(120), 및 제3자 서버(140) 중 하나 이상)과 통신할 수 있다. 일부 양태들에서, 네트워크(130)는 기업 네트워크(예컨대, 인트라넷) 및 하나 이상의 무선 액세스 포인트들을 더 포함할 수 있다.
집합 서버들(110A, 110B, 및 110C)(이하 110A-C라고 지칭됨), 혼합 서버(115), 소셜 네트워크 서버(120), 및 제3자 서버(140)는 각각 컴퓨터 서버와 같은 컴퓨팅 디바이스이다. 일부 구현들에서, 집합 서버들(110A-C), 혼합 서버(115), 소셜 네트워크 서버(120), 및/또는 제3자 서버(140)는 각각 서버(예컨대, 서버 팜)의 동작들을 수행하기 위해 함께 작동하는 하나 초과의 컴퓨팅 디바이스를 나타낼 수 있다. 대안적으로, 집합 서버들(110A-C), 혼합 서버(115), 소셜 네트워크 서버(120), 및/또는 제3자 서버(140) 중 하나 이상은 공통 시스템으로 구현될 수 있다. 예를 들어, 공통 시스템은 집합 서버들(110A 및 110C) 및 혼합 서버(115)를 포함할 수 있다.
클라이언트 디바이스들(150A 및 150B)은 컴퓨팅 디바이스들의 다양한 형태들을 나타내고 프로세서, 메모리, 및 네트워크 통신 능력을 갖는 임의의 시스템 또는 디바이스일 수 있다. 컴퓨팅 디바이스들의 예들로는 데스크톱 컴퓨터, 랩톱 컴퓨터, 핸드헬드 컴퓨터, 태블릿 컴퓨터, 프로세서에 커플링되거나 프로세서가 내장된 텔레비전, 개인 휴대 정보 단말기(personal digital assistant)(PDA), 네트워크 어플라이언스, 카메라, 스마트 폰, 미디어 플레이어, 내비게이션 디바이스, 이메일 디바이스, 게임 콘솔, 또는 이러한 컴퓨팅 디바이스들 또는 다른 컴퓨팅 디바이스들 중 임의의 것의 조합을 포함한다. 도 1은 클라이언트 디바이스들(150A 및 150B)만을 도시하지만, 더 많거나 더 적은 클라이언트 디바이스들이 네트워크(130)에 통신가능하게 연결될 수 있다.
일부 양태들에서, 클라이언트 디바이스들(150A 및/또는 150B)은 필요하다면 디지털 신호 프로세싱 회로부를 포함할 수 있는 통신 인터페이스(도시되지 않음)를 통해 무선으로 통신할 수 있다. 통신 인터페이스는, 그 중에서도, 모바일 통신용 글로벌 시스템(Global System for Mobile communication)(GSM) 음성 호출, 단문 메시지 서비스(SMS), 인핸스드 메시징 서비스(EMS), 또는 멀티미디어 메시징 서비스(MMS) 메시징, 코드 분할 다중 액세스(CDMA), 시분할 다중 액세스(TDMA), 개인 디지털 셀룰러(PDC), 광대역 코드 분할 다중 액세스(WCDMA), CDMA2000, 또는 일반 패킷 무선 시스템(GPRS)과 같은 다양한 모드들 또는 프로토콜들 하에서의 통신들을 제공할 수 있다. 예를 들어, 통신은 무선 주파수 트랜시버(도시되지 않음)를 통해 발생할 수 있다. 추가적으로, 예컨대 블루투스, WiFi, 또는 다른 그러한 트랜시버를 사용하여 단거리 통신이 발생할 수 있다.
집합 서버들(110A-C), 혼합 서버(115), 소셜 네트워크 서버(120), 제3자 서버(140), 및 클라이언트 디바이스들(150A 및 150B)은 네트워크(130)를 통해 통신가능하게 커플링된다. 일부 구현들에서, 클라이언트 디바이스들(150A 및 150B)은 소셜 네트워크 서버(120)로 콘텐츠를 전송하고 소셜 네트워크 서버(120)로부터 콘텐츠를 수신한다. 소셜 네트워크 서버(120)는 소셜 네트워크 서비스를 위한 웹 서버일 수 있다. 사용자는 소셜 네트워크 서버(120)로부터의 소셜 네트워크 서비스에 액세스하기 위해 클라이언트 디바이스들(150A 및/또는 150B)을 사용할 수 있다. 클라이언트 디바이스들(150A 및/또는 150B)은 또한 소셜 네트워크 서버(120)에 콘텐츠 아이템들을 포스팅하는 데 사용될 수 있다.
제3자 서버(140)는 뉴스 서비스 또는 미디어 서비스와 같은 다른 웹 서비스를 위한 서버일 수 있다. 클라이언트 디바이스들(150A 및 150B)은 제3자 서버(140)로부터의 콘텐츠 아이템들을 뷰잉하거나 콘텐츠 아이템들을 제3자 서버(140)에 포스팅할 수 있다. 소셜 네트워크 서버(120)는 제3자 서버(140)로부터의 콘텐츠 아이템들에 액세스할 수 있다. 일부 구현들에서, 제3자 서버(140)는 소셜 네트워크 서버(120) 및/또는 집합 서버들(110A-C) 중 하나 이상에 대한 콘텐츠 아이템들의 소스일 수 있다.
소셜 네트워크 서버(120)는 집합 서버들(110A-C)이 분석할 콘텐츠 아이템들을 위한 리포지토리(repository)로서 작동할 수 있다. 각각의 콘텐츠 아이템은 콘텐츠 아이템의 소스 및/또는 콘텐츠로부터 도출된 하나 이상의 엔티티(entity)들과 연관된다. 엔티티는 특정인(예컨대, 워싱턴 대통령) 또는 일반적인 타입의 사람(예컨대, 회장)과 같은 사람일 수 있다. 엔티티는 특정 위치(예컨대, 워싱턴 D.C.) 또는 일반적인 위치(예컨대, 수도)와 같은 장소일 수 있다. 엔티티는 물체, 예컨대 특정 물체(예컨대, 워싱턴 기념비), 일반적인 물체(예컨대, 건물), 또는 아이디어(예컨대, 유산)일 수 있다.
엔티티들과 콘텐츠 아이템 사이의 연관성들은 콘텐츠 아이템의 콘텐츠에 기초한다. 콘텐츠 아이템과 연관된 엔티티들은 콘텐츠 아이템의 분석에 기초하여 결정될 수 있다. 분석은, 예컨대 콘텐츠 아이템의 작성자 및/또는 발행자에 의해, 콘텐츠 아이템에 할당된 라벨들(예컨대, 태그들)을 찾는 것을 포함할 수 있다. 분석은 또한 하나 이상의 엔티티들과 연관되는 콘텐츠 아이템 내의 키워드들 및/또는 키 프레이즈(key phrase)들을 식별하는 것을 포함할 수 있고, 여기서 엔티티들을 키워드들 및/또는 키 프레이즈들과 맵핑시키는 데이터베이스에 연관성들이 제공될 수 있다. 예를 들어, 콘텐츠 아이템은 레드우드 국립 공원(Redwood National Park)에 관한 웹 페이지일 수 있다. 콘텐츠 아이템과 연관된 엔티티들은, 예를 들어, "레드우드 국립 공원", "국립 공원들", "숲들", 및 "나무들"을 포함할 수 있다.
엔티티들 및 엔티티들 사이의 관계들은 소셜 네트워크 서버(120) 또는 다른 서버 상의 지식 그래프에 저장될 수 있다. 예를 들어, 지식 그래프는 엔티티들 사이의 관계들에 기초하여 각각의 엔티티에 대한 노드, 및 노드들 사이의 링크들을 갖는 그래프로 나타낼 수 있다. 지식 그래프 내의 엔티티들은 지난 연도(past year)와 같은 기간으로부터 이용가능한 콘텐츠 아이템들에 기초할 수 있다. 관계들은 콘텐츠 아이템들 내의 엔티티들의 동시발생들에 기초할 수 있다.
사용자와 연관된 정보는 소셜 네트워크 서버(120) 상에 또는 다른 서버 상에 저장될 수 있는 사용자 모델에서 이용가능할 수 있다. 본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나, 또는 개인 정보를 사용할 수 있는 상황들에서, 사용자들에게는 프로그램들 또는 피처들이 사용자 정보(예컨대, 사용자의 소셜 네트워크, 사용자의 브라우징 데이터, 사용자의 소셜 동작들 또는 활동들, 사용자의 직업, 사용자의 선호도들, 또는 사용자의 현재 위치에 관한 정보)를 수집할지 여부를 제어하거나, 또는 사용자와 더 관련성이 있을 수 있는 콘텐츠를 콘텐츠 서버로부터 수신할지 여부 및/또는 수신하는 방법을 제어하는 기회가 제공된다. 추가적으로, 개인 식별가능 정보가 제거되도록, 데이터가 저장 또는 사용되기 전에 특정 데이터가 하나 이상의 방식들로 처리될 수 있다. 예를 들어, 사용자에 대해 어떠한 개인 식별가능 정보도 결정될 수 없도록 사용자의 아이덴티티가 처리될 수 있거나, 또는 사용자의 특정 위치가 결정될 수 없도록 (예컨대, 도시, 우편 번호, 또는 주 레벨(state level)로) 위치 정보가 획득된 경우 사용자의 지리적 위치가 일반화될 수 있다. 따라서, 사용자는 정보가 사용자에 관해 수집되고 콘텐츠 서버에 의해 사용되는 방법을 제어한다.
사용자가 소셜 네트워크 서비스에서 사용자의 데이터의 사용에 동의하는 경우들에 있어서, 사용자 모델은, 예를 들어, 소셜 네트워크 서비스에서의 사용자 프로파일, 소셜 네트워크에서의 관계들, 소셜 네트워크로부터의 소셜 그래프, 연락처들, 및 사용자 설정들 또는 선호도들에 기초할 수 있다. 사용자가 사용자의 브라우징 데이터의 사용에 동의하는 경우들에 있어서, 사용자의 브라우징 데이터는 브라우징 데이터의 사용에 또한 동의한 다른 사용자들로부터의 브라우징 데이터와 집합될 수 있다. 집합된 사용자 브라우징 데이터는 사용자 모델을 구축하는 데 사용될 수 있다. 사용자 모델은 지식 그래프 내의 다양한 엔티티들에 대한 사용자의 친화성(affinity)들뿐만 아니라, 다른 사용자들에 대한 친화성들의 표시를 제공할 수 있다.
소셜 네트워크 서버(120)는 제3자 서버(140)로부터의 콘텐츠 아이템들을 요청할 수 있다. 소셜 네트워크 서버(120)는 또한, 예를 들어, 집합된 브라우징 데이터, 사용자 모델들, 지식 그래프들 등을 포함하는 데이터를 저장할 수 있다. 집합 서버들(110A-C)은 콘텐츠 아이템들을 분석하고 콘텐츠 아이템들을 집합된 콘텐츠 데이터 구조체들로 그룹화할 수 있다. 일부 양태들에서, 집합된 콘텐츠 데이터 구조체들은 직접적으로, 또는 간접적으로, 예컨대 소셜 네트워크 서버(120)를 통해, 클라이언트 디바이스들(150A 및/또는 150B)에 제공될 수 있다. 대안적으로 또는 추가적으로, 집합된 콘텐츠 데이터 구조체들은 혼합 서버(115)에 제공될 수 있다. 혼합 서버(115)는 집합 서버들(110A-C) 각각으로부터 집합된 콘텐츠 데이터 구조체들을 수신하고 집합된 콘텐츠 데이터 구조체들을 사용자의 콘텐츠 스트림 내로 혼합할 수 있다.
일부 구현들에서, 소셜 네트워크 서버(120)는 집합 서버들(110A-C)에 의해 사용될 콘텐츠 아이템들에 속성들을 태깅할 수 있다. 대안적으로 또는 추가적으로, 콘텐츠 아이템들의 속성들은 집합 서버들(110A-C), 제3자 서버(140), 콘텐츠 아이템의 소스 또는 창작자(예컨대, 작성자, 발행자), 및/또는 다른 웹 서비스들(예컨대, 클라우드 기반 서비스들)에 의해 태깅될 수 있다. 비제한적인 예로서, 콘텐츠 아이템과 연관된 속성은 콘텐츠 아이템과 연관된 엔티티, 콘텐츠 아이템과 연관된 토픽, 사용자 위치에 대한 콘텐츠 아이템과 연관된 위치, 콘텐츠 아이템의 크기 또는 길이, 콘텐츠 아이템과 연관된 미디어, 콘텐츠 아이템과 연관된 수명, 콘텐츠 아이템의 오리지널 소스, 콘텐츠 아이템의 작성자 및/또는 발행자, 콘텐츠 아이템의 작성자와 사용자 사이의 관계, 콘텐츠 아이템의 인기도, 속성에 대응하는 콘텐츠의 퍼센트 등을 포함할 수 있다. 예를 들어, 콘텐츠 아이템(예컨대, 웹 페이지)의 인기도는 콘텐츠 아이템이 사용자들에 의해 소비된(예컨대, 방문된) 횟수에 기초할 수 있다.
일부 구현들에서, 혼합 서버(115) 및 집합 서버들(110A-C) 중 하나 이상은 동일한 서버 시스템의 일부일 수 있다. 일부 구현들에서, 소셜 네트워크 서버(120)는 콘텐츠 아이템들을 저장할 수 있다. 일부 구현들에서, 소셜 네트워크 서버(120) 및 집합 서버들(110A-C) 중 하나 이상은 동일한 서버 시스템의 일부일 수 있다. 일부 구현들에서, 제3자 서버(140) 및 소셜 네트워크 서버(120)는 동일한 서버 시스템의 일부일 수 있다.
도 2는 본 기술의 예시적인 양태들에 따른, 콘텐츠 스트림 내로의 집합된 콘텐츠 데이터 구조체들의 혼합을 용이하게 하기 위한 환경(200)을 예시한다. 환경(200)은 집합 서버들(210A, 210B, 및 210C)(이하 210A-C라고 지칭됨), 혼합 서버(215), 및 소셜 네트워크 서버(220)를 포함한다. 일부 구현들에서, 집합 서버들(210A-C), 혼합 서버(215), 및/또는 소셜 네트워크 서버(220)는 각각 도 1에 도시된 집합 서버들(110A-C), 혼합 서버(115), 및/또는 소셜 네트워크 서버(120)일 수 있다. 혼합 서버(215)에 의해 수신된 각각의 집합된 콘텐츠 데이터 구조체는 각각의 소스 서버와 연관되고, 각각의 소스 서버는 집합 서버들(210A-C) 또는 도 2에 도시되지 않은 다른 집합 서버들 중 하나일 수 있다.
도 2는 집합 서버들(210A-C)을 도시하지만, 더 많거나 더 적은 집합 서버들(210A-C)이 혼합 서버(215)에 통신가능하게 연결될 수 있다. 집합 서버들(210A-C)은 네트워크(예컨대, 네트워크(130))를 통해 혼합 서버(215)에 통신가능하게 연결될 수 있다. 혼합 서버(215)는 네트워크(예컨대, 네트워크(130))를 통해 소셜 네트워크 서버(220)에 통신가능하게 연결될 수 있다.
도 3은 본 기술의 예시적인 양태들에 따른, 집합된 콘텐츠 데이터 구조체(300)의 예를 예시한다. 집합된 콘텐츠 데이터 구조체(300)는 콘텐츠 아이템(302) 및 콘텐츠 아이템(304)을 포함한다. 설명의 목적들을 위해, 집합된 콘텐츠 데이터 구조체(300)는 집합 서버(210A)에 의해 생성된다. 예를 들어, 집합된 콘텐츠 데이터 구조체(300)는 도 2에 도시된 집합된 콘텐츠 데이터 구조체(232)일 수 있다. 그러나, 다른 집합 서버들(예컨대, 210B, 210C)이 집합된 콘텐츠 데이터 구조체(300)를 생성할 수 있다. 집합된 콘텐츠 데이터 구조체(300)는 도 3에 도시되지 않은 추가의 콘텐츠 아이템들을 포함할 수 있다.
일부 구현들에서, 집합 서버(210A)는 소셜 네트워크 서버(220)로부터 콘텐츠 아이템들을 수신할 수 있다. 콘텐츠 아이템들은 태그들을 포함할 수 있다. 예를 들어, 소셜 네트워크 서버(220)는 특정 속성들에 대한 콘텐츠 아이템들을 태깅하도록 구성될 수 있다. 도 3에서, 콘텐츠 아이템(302)은 태그(312)로 태깅되고 콘텐츠 아이템(304)은 태그(314)로 태깅된다. 태그들(312 및 314)은 집합 서버(210A)로 하여금 특정 속성들에 기초하여 콘텐츠 아이템들을 요청 및/또는 집합하게 할 수 있다. 콘텐츠 아이템의 속성들은 콘텐츠 아이템의 엔티티들, 특정 토픽에 대한 콘텐츠 아이템의 관련성, 콘텐츠 아이템과 연관된 위치, 콘텐츠 아이템의 크기 또는 길이, 콘텐츠 아이템과 연관된 미디어, 콘텐츠 아이템의 수명, 콘텐츠 아이템의 오리지널 소스, 콘텐츠 아이템의 작성자, 속성에 대응하는 콘텐츠의 퍼센트 등 중의 하나 이상에 기초할 수 있다.
집합 서버(210A)는 기준들의 세트에 기초하여 콘텐츠 아이템들을 집합된 콘텐츠 데이터 구조체(300)로 집합시킴으로써 집합된 콘텐츠 데이터 구조체(300)를 생성할 수 있다. 집합 서버들(210B 및 210C)은 기준들의 상이한 각각의 세트들에 기초하여 이들의 각각의 집합된 콘텐츠 데이터 구조체들을 생성할 수 있다. 예를 들어, 집합 서버(210A)는 공통된 토픽을 공유하는 콘텐츠 아이템들(예컨대, 스포츠를 다루는 콘텐츠 아이템들)을 하나의 집합된 콘텐츠 데이터 구조체로 집합시킬 수 있고, 집합 서버(210B)는 공통된 위치를 공유하는 콘텐츠 아이템들(예컨대, 지역 뉴스에 관련된 콘텐츠 아이템들)을 집합시킬 수 있고, 집합 서버(210C)는 전세계의 상위(top)(예컨대, 가장 최근의) 뉴스 기사들에 관련된 콘텐츠 아이템들을 집합시킬 수 있다. 일부 경우들에서, 기준은 특정 속성 또는 특정 태그의 존재 또는 부존재를 포함할 수 있다. 집합 서버들(210A-C)에 의해 이용되는 하나 또는 다수의 기준들이 중첩될 수 있지만, 각각의 기준과 연관된 상대적 가중치는 집합 서버들(210A-C) 사이에서 달라질 수 있다.
집합 서버들(210A-C) 중 임의의 것은 카테고리 타입에 기초하여 집합된 콘텐츠 데이터 구조체들의 상이한 세트들을 생성할 수 있다. 예를 들어, 집합 서버(210A)는 공통된 토픽을 공유하는 집합된 콘텐츠 데이터 구조체들의 세트(예컨대, 스포츠를 다루는 콘텐츠 아이템들) 및 공통된 위치를 공유하는 집합된 콘텐츠 데이터 구조체들의 세트(예컨대, 지역 뉴스를 다루는 콘텐츠 아이템들)를 생성할 수 있다.
도 2를 참조하면, 집합 서버들(210A-C)은 각각의 집합된 콘텐츠 데이터 구조체 내의 각각의 콘텐츠 아이템에 대한 스코어를 결정할 수 있고, 집합된 콘텐츠 데이터 구조체 내의 콘텐츠 아이템들의 각각의 스코어들에 기초하여 각각의 집합된 콘텐츠 데이터 구조체에 대한 스코어를 결정할 수 있다. 집합 서버들(210A-C) 각각은 콘텐츠 아이템 및/또는 집합된 콘텐츠 데이터 구조체에 대한 스코어를 결정하기 위해 상이한 기준들 및/또는 식들을 이용할 수 있다. 집합 서버들(210A-C)은 집합된 콘텐츠 데이터 구조체들의 스코어들을 혼합 서버(215)에 제공할 수 있다. 집합 서버들(210A-C)은 또한 콘텐츠 아이템들의 스코어들을 혼합 서버(215)에 제공할 수 있다.
콘텐츠 아이템에 대한 스코어는 콘텐츠 아이템과 연관된 속성들(예컨대, 콘텐츠 아이템에 포함된 엔티티들, 특정 토픽에 대한 콘텐츠 아이템의 관련성, 콘텐츠 아이템의 수명 등)에 기초할 수 있다. 콘텐츠 아이템에 대한 스코어는 또한 이러한 속성들에 대한 사용자의 친화성에 기초할 수 있고, 여기서 속성들에 대한 사용자의 친화성은 사용자 모델에서 이용가능한 사용자에 관한 정보에 기초할 수 있다. 집합된 콘텐츠 데이터 구조체에 대한 스코어는 집합된 콘텐츠 데이터 구조체 내의 상위 k개의 콘텐츠 아이템들의 스코어들에 기초할 수 있다. 예를 들어, 집합된 콘텐츠 데이터 구조체에 대한 스코어는 가장 높은 스코어들을 갖는 5개의 콘텐츠 아이템들의 스코어들의 평균에 기초할 수 있다. 따라서, 집합된 콘텐츠 데이터 구조체의 각각의 스코어는 집합된 콘텐츠 데이터 구조체의 콘텐츠 아이템들의 그룹과 연관된 하나 이상의 속성들에 대한 사용자의 친화성에 기초하여 결정될 수 있다.
도 4는 본 기술의 예시적인 양태들에 따른, 집합된 콘텐츠 데이터 구조체(238)를 콘텐츠 스트림(240) 내로 혼합하기 위한 프로세스의 흐름도(400)를 예시한다. 콘텐츠 스트림(240)은 소셜 네트워크 서비스를 통해 사용자에게 액세스가능한 소셜 네트워크 서비스 상의 사용자 계정에 제공되는 콘텐츠 스트림일 수 있다. 흐름도(400)는 도 2와 관련하여 설명된다.
블록 405에서, 혼합 서버(215)는 집합 서버들(210A-C)로부터 집합된 콘텐츠 데이터 구조체들을 수신한다. 각각의 집합된 콘텐츠 데이터 구조체는 콘텐츠 스트림(240)에서 (예컨대, 콘텐츠 아이템들의 개별 번들로서) 디스플레이될 콘텐츠 아이템들의 그룹을 레퍼런싱한다. 집합 서버(210A)는 집합된 콘텐츠 데이터 구조체(232)를 혼합 서버(215)에 제공하고, 집합 서버(210B)는 집합된 콘텐츠 데이터 구조체(234)를 혼합 서버(215)에 제공하고, 집합 서버(210C)는 집합된 콘텐츠 데이터 구조체(236)를 혼합 서버(215)에 제공한다. 집합된 콘텐츠 데이터 구조체들(232, 234, 및 236)은 도 2에서 ACDS로서 표시된다. 각각의 집합된 콘텐츠 데이터 구조체(232, 234, 및 236)는 그의 각각의 집합 서버에 의해 제공된 스코어와 연관된다.
일부 구현들에서, 집합 서버들(210A-C) 각각은 다수의 집합된 콘텐츠 데이터 구조체들을 생성하고, 이러한 집합된 콘텐츠 데이터 구조체들 중에서 가장 높은 스코어와 연관된 집합된 콘텐츠 데이터 구조체를 선택하고, 선택된 집합된 콘텐츠 데이터 구조체를 혼합 서버(215)에 제공한다. 나머지 집합된 콘텐츠 데이터 구조체들은 다음의 집합된 콘텐츠 데이터 구조체가 혼합 서버(215)에 전송될 필요가 있을 때까지 집합 서버들(210A-C)에 큐잉될(queued) 수 있다.
일부 구현들에서, 혼합 서버(215)는 집합 서버들(210A-C)이 혼합 서버(215)에 제공될 다수의 집합된 콘텐츠 데이터 구조체들을 생성 또는 달리 준비하라는 요청을 전송할 수 있다. 예를 들어, 혼합 서버(215)는 집합 서버들(210A-C) 각각이 10개의 집합된 콘텐츠 데이터 구조체들을 생성하고 이러한 10개의 집합된 콘텐츠 데이터 구조체들 중에서 하나의 집합된 콘텐츠 데이터 구조체를 전송하도록 요청할 수 있다. 혼합 서버(215)에 대해 준비된 다수의 집합된 콘텐츠 데이터 구조체들을 갖는 집합 서버들(210A-C)은 집합 서버들(210A-C) 중 하나 이상에 의해 생성되고 그로부터 수신되는 집합된 콘텐츠 데이터 구조체를 기다리게 하는 혼합 서버(215)와 연관된 레이턴시를 감소시키는 것을 도울 수 있다.
일부 구현들에서, 혼합 서버(215)는 집합 서버들(210A-C)이 혼합 서버(215)에 제공될 특정 카테고리 타입들과 연관된 다수의 집합된 콘텐츠 데이터 구조체들을 생성 또는 달리 준비하라는 요청을 전송할 수 있다. 집합된 콘텐츠 데이터 구조체들 각각은 카테고리 타입과 연관될 수 있다. 이와 관련하여, 집합된 데이터 구조체 내의 및/또는 집합된 데이터 구조체에 의해 레퍼런싱되는 콘텐츠 아이템들 각각은 집합된 콘텐츠 데이터 구조체의 카테고리 타입과 연관된다. 예를 들어, 카테고리 타입은 콘텐츠 아이템들과 연관된 공통된 테마 또는 관련성일 수 있다. 설명의 목적들을 위해, 도 2 내지 도 4의 집합된 콘텐츠 데이터 구조체는 3개의 타입들 중 하나일 수 있다. 제1 타입의 집합된 콘텐츠 데이터 구조체는 스포츠를 다루는 콘텐츠 아이템들을 포함한다. 제2 타입의 집합된 콘텐츠 데이터 구조체는 지역 뉴스에 관련된 콘텐츠 아이템들을 포함한다. 제3 타입의 집합된 콘텐츠 데이터 구조체는 전세계의 가장 최근의 뉴스 기사들에 관련된 콘텐츠 아이템들을 포함한다. 따라서, 집합 서버(210A)는 제1 타입 및 제2 타입의 집합된 콘텐츠 데이터 구조체들을 생성하고, 집합 서버(210B)는 제2 타입의 집합된 콘텐츠 데이터 구조체들을 생성하고, 집합 서버(210C)는 제3 타입의 집합된 콘텐츠 데이터 구조체들을 생성한다.
각각의 카테고리 타입은 각각의 타입 선택 백분율과 연관된다. 주어진 카테고리 타입에 대해, 타입 선택 백분율은 이용가능한 집합 서버들(예컨대, 도 2의 집합 서버들(210A-C))로부터 혼합 서버(215)에 의해 선택된 모든 카테고리 타입들의 집합된 콘텐츠 데이터 구조체들의 총 수에 대한, 혼합 서버(215)에 의해 선택된 주어진 카테고리 타입과 연관된 집합된 콘텐츠 데이터 구조체들의 총 수의 백분율이다. 다시 말해, 집합 서버들(210A-C)로부터 이용가능한 카테고리 타입들에 대한 타입 선택 백분율들은 사용자의 콘텐츠 스트림 내에서 혼합하기 위한 각각의 집합된 데이터 구조체들의 이전 선택들에 기초하여 결정된다. 예를 들어, 혼합 서버(215)가 집합 서버(210A)로부터 제1 타입의 2개의 집합된 콘텐츠 데이터 구조체들을 선택하였고, 집합 서버(210B)로부터 제2 타입의 2개의 집합된 콘텐츠 데이터 구조체를 선택하였고, 제3 타입의 집합된 데이터 구조체들을 선택하지 않은 경우, 제1 타입, 제2 타입, 및 제3 타입에 대한 타입 선택 백분율은 각각 50%(즉, 4개 중에서 2개), 50%(즉, 4개 중에서 2개), 및 0%(즉, 4개 중에서 0개)이다.
3개의 타입들의 집합된 콘텐츠 데이터 구조체들 각각은 각각의 미리 결정된 타입 목표 백분율과 연관된다. 예를 들어, 제1 타입, 제2 타입, 및 제3 타입의 집합된 콘텐츠 데이터 구조체에 대한 미리 결정된 타입 목표 백분율은 각각 40%, 40%, 및 20%일 수 있다. 미리 결정된 타입 목표 백분율들은 사용자에 의해 설정되거나 또는 사용자 모델에 기초하여 적응적으로 설정될 수 있다.
소셜 네트워크 서비스에 이용가능한 사용자에 관한 정보가 부족한 경우, 미리 결정된 타입 목표 백분율들은 사용자 특정 속성들과는 덜 연관된 집합된 콘텐츠 데이터 구조체들이 보다 높은 미리 결정된 타입 목표 백분율을 가질 수 있도록 설정될 수 있다. 예를 들어, 전세계의 상위 뉴스 기사들에 관련된 콘텐츠 아이템들을 포함하는 제3 타입의 집합된 콘텐츠 데이터 구조체는, 그러한 콘텐츠 아이템들이 사용자 특정 속성들과는 덜 연관되기 때문에 보다 높은 미리 결정된 타입 목표 백분율로 설정될 수 있다. 다른 한편으로, 스포츠 콘텐츠에 관련된 콘텐츠 아이템들을 포함하는 제1 타입의 집합된 콘텐츠 데이터 구조체는, 스포츠 관련된 콘텐츠 아이템들과 사용자 사이의 친화성에 관한 정보가 이용불가능한 경우 보다 낮은 미리 결정된 타입 목표 백분율로 설정될 수 있다. 혼합 시스템(215)은 사용자에 관한 보다 많은 정보가 소셜 네트워크 서비스에 이용가능하게 됨에 따라 미리 결정된 타입 목표 백분율들을 조정할 수 있다. 이와 관련하여, 사용자에 대한 미리 결정된 타입 목표 백분율들은 소셜 네트워크에서 (예컨대, 다른 사용자들에 의해 제공되는) 콘텐츠 아이템들과의 사용자의 이전 상호작용들에 기초할 수 있다. 예를 들어, 사용자가 특정 카테고리 타입의 콘텐츠 아이템들을 (예컨대, 개별적으로 또는 집합된 콘텐츠 데이터 구조체들로부터) 일관되게 선택하는 경우, 미리 결정된 타입 목표 백분율은 특정 카테고리 타입과 연관된 미리 결정된 타입 목표 백분율을 증가시키도록 조정될 수 있다.
블록 410에서, 혼합 서버(215)는 수신된 집합된 콘텐츠 데이터 구조체들의 스코어들에 기초하여 수신된 집합된 콘텐츠 데이터 구조체들 중 하나를 선택한다. 일부 구현들에서, 혼합 서버(215)는 가장 높은 스코어와 연관된 집합된 콘텐츠 데이터 구조체를 선택한다. 집합된 콘텐츠 데이터 구조체들의 타입들 각각에 대한 타입 선택 백분율들은 수신된 집합된 콘텐츠 데이터 구조체들의 선택에 후속하여 업데이트될 수 있다.
일부 구현들에서, 집합 서버들(210A-C)은 서로 상이한 스코어링 방법론들 및/또는 상이한 스코어 값들을 이용한다. 그러한 구현들에서, 혼합 서버(215)는 집합 서버들(210A-C)에 의해 제공되는 집합된 콘텐츠 데이터 구조체 스코어들을 정규화한다. 예를 들어, 혼합 서버(215)는 수신된 집합된 콘텐츠 데이터 구조체들 각각의 스코어가 제1의 미리 결정된 값(예컨대, 0)과 제2의 미리 결정된 값(예컨대, 1) 사이에 있도록 스코어들을 정규화할 수 있다. 일부 구현들에서, 혼합 서버(215)는 가장 높은 정규화된 스코어와 연관된 집합된 콘텐츠 데이터 구조체를 선택한다.
일부 구현들에서, 집합된 콘텐츠 데이터 구조체들에 대한 스코어들을 정규화하기 위해, 혼합 시스템(215)은 각각의 집합된 콘텐츠 데이터 구조체 각각의 콘텐츠 아이템 각각의 스코어를, 가장 높은 스코어를 갖는 각각의 콘텐츠 리스트 내의 콘텐츠 아이템의 스코어로 나눌 수 있다. 그러한 구현들에서, 가장 높은 스코어를 갖는 콘텐츠 아이템은 집합된 콘텐츠 데이터 구조체들 각각에 대해 1이다. 그 후에, 혼합 시스템(210)은 각각의 집합된 콘텐츠 데이터 구조체 내의 일부 또는 전부의 콘텐츠 아이템들의 스코어들에 기초하여 집합된 콘텐츠 데이터 구조체들에 대한 스코어를 컴퓨팅할 수 있다. 예를 들어, 혼합 시스템(215)은 가장 높은 스코어들과 연관된 5개의 콘텐츠 아이템들의 평균을 취함으로써 집합된 콘텐츠 데이터 구조체들의 스코어를 컴퓨팅할 수 있다.
이러한 집합된 콘텐츠 데이터 구조체들이 동일한 정규화된 스코어를 가질 때와 같이, 2개 이상의 집합된 콘텐츠 데이터 구조체들 사이가 동점인 경우에, 혼합 서버(215)는 동점을 깨기 위한 미리 결정된 규칙들을 가질 수 있다. 예를 들어, 혼합 서버(215)는 혼합 서버(215)에 첫 번째로 도착한 집합된 콘텐츠 데이터 구조체 및/또는 가장 높은 미리 결정된 타입 목표 백분율과 연관된 타입의 집합된 콘텐츠 데이터 구조체를 선택하기 위한 미리 결정된 규칙을 가질 수 있다. 다른 예로서, 혼합 서버(215)는 동점이 된 집합된 콘텐츠 데이터 구조체들 중에서 랜덤하게 선택하기 위한 미리 결정된 규칙을 가질 수 있다.
블록 415에서, 혼합 서버(215)는 선택된 집합된 콘텐츠 데이터 구조체(238)를 사용자의 콘텐츠 스트림(240) 내로 혼합한다. 이와 관련하여, 집합된 콘텐츠 데이터 구조체(238)는 기존의 콘텐츠 스트림에 추가될 수 있거나 또는 콘텐츠 스트림에 대해 선택된 기존 콘텐츠 아이템들의 그룹에 추가될 수 있다. 집합된 콘텐츠 데이터 구조체(238)는 (예컨대, 다른 집합된 콘텐츠 데이터 구조체들과는 비순차적으로) 스트림이 디스플레이될 때 스트림 내의 다른 콘텐츠 아이템들 간에 또는 그 사이에 배치되도록 혼합된다. 선택된 집합된 콘텐츠 데이터 구조체(238)는 집합된 콘텐츠 데이터 구조체들(232, 234, 또는 236) 중 하나이다. 블록 420에서, 혼합 서버(215)는 소셜 네트워크 서버(220)에 선택된 집합된 콘텐츠 데이터 구조체가 혼합된 콘텐츠 스트림(240)을 제공한다. 사용자는 소셜 네트워크 서버(220)에 의해 사용자에게 제공된 사용자 인터페이스를 통해 콘텐츠 스트림(240)에 액세스할 수 있다. 따라서, 사용자는 콘텐츠 스트림(240) 내의 다른 개별 콘텐츠 아이템들 간에 콘텐츠 아이템들의 번들된 그룹으로서 집합된 콘텐츠 데이터 구조체(238)를 뷰잉할 수 있다.
일부 구현들에서, 혼합 서버(215)는 집합 서버들(210A-C)로부터 집합된 콘텐츠 데이터 구조체들 내의 콘텐츠 아이템들의 순서화를 보존한다. 예를 들어, 집합 서버들(210A-C)은 콘텐츠 아이템들의 스코어들에 기초하여 콘텐츠 아이템들의 순서화된 리스트로서 집합된 콘텐츠 데이터 구조체를 제공할 수 있다. 집합 서버들(210A-C)로부터의 집합된 콘텐츠 데이터 구조체들이 이들의 각각의 스코어들에 기초하여 순서대로 콘텐츠 아이템들을 포함하지 않는 경우에, 혼합 서버(215)는 각각의 스코어들에 기초하여 선택된 집합된 콘텐츠 데이터 구조체 내의 콘텐츠 아이템들을 순서화할 수 있다.
타입 선택 백분율은 특정 시간에 걸쳐 및/또는 콘텐츠 스트림(240) 내의 다수의 콘텐츠 아이템들에 걸쳐 적용될 수 있다. 타입 선택 백분율들을 리셋하기 위해, 각각의 타입의 집합된 콘텐츠 데이터 구조체에 대해 혼합 서버(215)에 의해 선택된 집합된 콘텐츠 데이터 구조체들의 총 수는 0으로 설정되고, 모든 타입들의 집합된 콘텐츠 데이터 구조체들의 혼합 서버(215)에 의해 선택된 집합된 콘텐츠 데이터 구조체들의 총 수는 0으로 설정된다. 따라서, 리셋 시에, 상이한 타입들의 집합된 콘텐츠 데이터 구조체들 각각에 대한 타입 선택 백분율은 0%로 설정된다.
타입 선택 백분율들의 리셋은 특정 시간들에서 또는 콘텐츠 스트림(240) 내의 콘텐츠 아이템들의 수에 기초하여 수행될 수 있다. 일부 구현들에서, 사용자가 소셜 네트워크 서비스에 대한 새로운 로그인 세션을 개시할 때, 상이한 타입들의 집합된 콘텐츠 데이터 구조체들 각각에 대한 타입 선택 백분율이 리셋될 수 있다. 사용자는 이전 로그인 세션이 만료되었을 때(예컨대, 사용자가 로그인 세션에서 수동으로 로그아웃함, 사용자 비활동으로 인해 로그인 세션이 시간 초과됨 등) 새로운 로그인 세션을 개시할 필요가 있을 수 있다. 일부 구현들에서, 상이한 타입들의 집합된 콘텐츠 데이터 구조체들 각각에 대한 타입 선택 백분율은 콘텐츠 스트림(240)의 각각의 페이지에 대해 페이지 단위로 리셋될 수 있다. 예를 들어, 사용자가 콘텐츠 스트림(240)의 제1 페이지(예컨대, 현재 페이지)로부터 콘텐츠 스트림(240)의 제2 페이지(예컨대, 다음 페이지)로 내비게이팅할 때, 상이한 타입들의 집합된 콘텐츠 데이터 구조체들 각각에 대한 타입 선택 백분율이 리셋될 수 있다.
소셜 네트워크 서비스에 대한 사용자 로그인 세션 내에서, 콘텐츠 스트림(240)의 새로운 페이지로의 사용자의 내비게이션은 혼합 서버(215)가 콘텐츠 스트림(240) 내로 혼합하기 위한 추가의 집합된 콘텐츠 데이터 구조체들을 선택하도록 프롬프트할 수 있다. 사용자 로그인 세션 내에서, 콘텐츠 아이템들 및 집합된 콘텐츠 데이터 구조체들로 이전에 채워진 콘텐츠 스트림(240)의 이전 페이지로의 사용자의 내비게이션은 동일한 콘텐츠 아이템들 및 집합된 콘텐츠 데이터 구조체들을 갖는 이전 페이지의 리로딩을 야기할 수 있다.
콘텐츠 스트림(240)의 이전에 채워진 페이지들이 동일한 콘텐츠 아이템들로 채워지게 하면 사용자에게 이전에 제시된 콘텐츠 아이템들을 사용자가 더 쉽게 위치결정하게 할 수 있다. 일부 경우들에서, 새로운 콘텐츠 아이템들이 생성 또는 검색될 때 콘텐츠 스트림(240)의 이전에 채워진 페이지가 업데이트되어 이러한 새로운 콘텐츠 아이템들을 포함하도록 할 수 있고, 이는 이전에 채워진 페이지의 콘텐츠 아이템들의 다른 페이지로의 이동을 야기시킬 수 있다. 일부 경우들에서, 콘텐츠 스트림(240)의 각각의 페이지는 10개의 콘텐츠 아이템들이 사용자에게 제공되게 할 수 있고, 그 중에서 콘텐츠 스트림(240) 내로 혼합된 각각의 집합된 콘텐츠 데이터 구조체는 10개의 콘텐츠 아이템들 중 하나인 것으로 간주될 수 있다. 일부 구현들에서, 일단 로그인 세션이 만료되었다면, 콘텐츠 스트림(240) 및 집합된 콘텐츠 데이터 구조체들은, 예컨대, 소셜 네트워크 서비스 및 혼합 서버(215)에 의해 각각 구성될 필요가 있을 수 있다. 콘텐츠 스트림(240) 및 집합된 콘텐츠 데이터 구조체들의 구성은 사용자의 이전 로그인 세션들에서 구성된 것들과는 상이한 콘텐츠 스트림 및/또는 집합된 콘텐츠 데이터 구조체들을 생성할 수 있다.
일부 구현들에서, 혼합 서버(215)는 콘텐츠 스트림(240) 내의 콘텐츠 아이템들의 특정 백분율이 집합된 콘텐츠 데이터 구조체들이도록, 집합된 콘텐츠 데이터 구조체들을 콘텐츠 스트림(240) 내로 혼합한다. 예를 들어, 혼합 서버(215)는 콘텐츠 스트림(240) 내의 모든 콘텐츠 아이템들의 10%가 집합된 콘텐츠 데이터 구조체들이도록, 집합된 콘텐츠 데이터 구조체들을 콘텐츠 스트림(240) 내로 혼합할 수 있다. 백분율은 콘텐츠 스트림(240)의 각각의 페이지에 대한 콘텐츠 아이템들의 10%가 집합된 콘텐츠 데이터 구조체들이도록, 각각의 페이지에 대해 설정될 수 있다. 콘텐츠 스트림(240) 내로 혼합되는 집합된 콘텐츠 데이터 구조체들 중에서, 혼합 서버(215)는 각각의 타입의 집합된 콘텐츠 데이터 구조체에 대한 각각의 미리 결정된 타입 목표 백분율에 기초하여 상이한 타입들의 집합된 콘텐츠 데이터 구조체들을 혼합한다.
도 5는 본 기술의 예시적인 양태들에 따른, 집합된 콘텐츠 데이터 구조체를 콘텐츠 스트림(240) 내로 혼합하기 위한 프로세스의 흐름도(500)를 예시한다. 콘텐츠 스트림(240)은 소셜 네트워크 서비스를 통해 사용자에게 액세스가능한 사용자의 콘텐츠 스트림일 수 있다. 흐름도(500)는 도 2 및 도 4와 관련하여 설명된다.
블록 505에서, 혼합 서버(215)는 선택된 집합된 콘텐츠 데이터 구조체(238)를 제공한 소스(예컨대, 집합 서버들(210A-C) 중 하나)로부터 집합된 콘텐츠 데이터 구조체를 수신한다. 수신된 집합된 콘텐츠 데이터 구조체는 선택된 집합된 콘텐츠 데이터 구조체(238)를 제공한 집합 서버의 큐로부터 제공될 수 있다. 예를 들어, 선택된 집합된 콘텐츠 데이터 구조체(238)가 집합 서버(210A)로부터의 집합된 콘텐츠 데이터 구조체(232)인 경우, 집합된 콘텐츠 데이터 구조체(232)는 집합 서버(210A)에 의해 생성된 가장 높은 스코어의 집합된 콘텐츠 데이터 구조체일 수 있는 반면, 블록 505에서 혼합 서버(215)에 의해 수신된 집합된 콘텐츠 데이터 구조체는 집합 서버(210A)에 의해 생성된 두 번째로 높은 스코어의 집합된 콘텐츠 데이터 구조체일 수 있다.
블록 510에서, 혼합 서버(215)는 혼합 서버(215)에 의해 수신된 적어도 하나의 집합된 콘텐츠 데이터 구조체의 스코어를 조정한다. 혼합 서버(215)에 의해 수신된 집합된 콘텐츠 데이터 구조체는 블록 505에서 수신된 집합된 콘텐츠 데이터 구조체뿐만 아니라 블록 405에서 수신된 나머지(예컨대, 비선택된) 집합된 콘텐츠 데이터 구조체들을 포함한다.
일부 구현들에서, 혼합 서버(215)는 타입 선택 백분율들 및 미리 결정된 타입 목표 백분율들에 기초하여 혼합 서버(215)에 의해 수신된 집합된 콘텐츠 데이터 구조체들 중 하나 이상의 집합된 콘텐츠 데이터 구조체의 스코어들을 조정한다. 미리 결정된 타입 목표 백분율을 초과하는 집합 콘텐츠 데이터 구조체 타입에 대해, 이러한 타입의 집합된 콘텐츠 데이터 구조체(들)의 스코어는 그의 미리 결정된 타입 목표 백분율을 달성하는 것을 용이하게 하도록 감소될 수 있다. 대안적으로 또는 추가적으로, 각각의 목표 백분율에 도달하지 않은 집합 콘텐츠 데이터 구조체 타입에 대해, 이러한 타입의 집합된 콘텐츠 데이터 구조체(들)의 스코어는 그의 미리 결정된 타입 목표 백분율을 달성하는 것을 용이하게 하도록 부스팅될 수 있다.
일부 구현들에서, 집합된 콘텐츠 데이터 구조체의 스코어는 스코어에 스케일 팩터(scale factor)를 적용함으로써 조정될 수 있다. 스케일 팩터는, 예를 들어, 다항식 함수 f(x) = 1 + 3x + 5x 2를 사용하여 컴퓨팅될 수 있고, 여기서 x는 현재 타입 선택 백분율과 미리 결정된 타입 목표 백분율 사이의 차이이다. 일 예로서, 제1 타입의 집합된 콘텐츠 데이터 구조체의 미리 결정된 타입 목표 백분율이 80%이고 제1 타입의 현재 타입 선택 백분율이 71%인 경우, x = 0.09이고 f(x) = 1.31이다. 스케일 팩터를 혼합 서버(215)에 의해 수신되는 제1 타입의 임의의 집합된 콘텐츠 데이터 구조체의 스코어에 곱함으로써, 제1 타입의 집합된 콘텐츠 데이터 구조체(들)의 스코어는 31%만큼 부스팅된다. 제1 타입의 집합된 콘텐츠 데이터 구조체에 대한 조정된 스코어는, 존재한다면, 제1 타입의 다른 집합된 콘텐츠 데이터 구조체들의 조정된 스코어 및 다른 타입들의 집합된 콘텐츠 데이터 구조체(들)의 스코어가 비교될 수 있다. 제1 타입의 집합된 콘텐츠 데이터 구조체(들)의 스코어를 부스팅하면 (부스팅된 스코어가 없는 것에 비해) 제1 타입의 집합된 콘텐츠 데이터 구조체가 선택될 가능성을 증가시키고, 따라서 미리 결정된 타입 목표 백분율이 달성될 가능성을 증가시킨다. 그러한 부스팅은 제1 타입의 집합된 콘텐츠 데이터 구조체를 촉진시키는 것이라고 지칭될 수 있다.
다른 예로서, 제1 타입의 집합된 콘텐츠 데이터 구조체들의 미리 결정된 타입 목표 백분율이 80%이고 제1 타입의 집합된 콘텐츠 데이터 구조체들의 현재 타입 선택 백분율이 89%인 경우, x = -0.09이고 f(x) = 77%이다. 스케일 팩터를 제1 타입의 임의의 집합된 콘텐츠 데이터 구조체의 스코어를 곱함으로써, 제1 타입의 집합된 콘텐츠 데이터 구조체(들)의 스코어는 23%만큼 감소된다. 제1 타입의 집합된 콘텐츠 데이터 구조체에 대한 조정된 스코어는, 존재한다면, 제1 타입의 다른 집합된 콘텐츠 데이터 구조체들의 조정된 스코어 및 다른 타입들의 집합된 콘텐츠 데이터 구조체들의 스코어가 비교될 수 있다. 제1 타입의 집합된 콘텐츠 데이터 구조체(들)의 스코어를 감소시키면 (부스팅된 스코어가 없는 것에 비해) 제1 타입의 집합된 콘텐츠 데이터 구조체가 선택될 가능성을 감소시키고, 따라서 미리 결정된 타입 목표 백분율이 달성될 가능성을 감소시킨다. 그러한 감소는 제1 타입의 집합된 콘텐츠 데이터 구조체를 저하시키는 것이라고 지칭될 수 있다.
일부 구현들에서, 스케일 팩터는 제1 타입의 집합된 콘텐츠 데이터 구조체에 대해 이전에 컴퓨팅 및 적용된 임의의 스케일 팩터들 위에 적용된다. 스케일 팩터들의 이러한 다수의 적용들은 상이한 타입들의 집합된 콘텐츠 데이터 구조체들에 대한 미리 결정된 타입 목표 백분율들을 달성하는 것을 용이하게 하도록 필요에 따라 제1 타입의 집합된 콘텐츠 데이터 구조체들의 스코어들의 연속적인 부스팅 또는 감소를 가능하게 할 수 있다. 일부 구현들에서, 집합된 콘텐츠 데이터 구조체들에 적용되는 스케일 팩터 또는 팩터들은 콘텐츠 스트림(240)의 각각의 페이지에 대해 페이지 단위로 리셋될 수 있다.
스케일 팩터를 컴퓨팅하기 위해 상기 제공된 다항식 함수는 비제한적인 예로서 제공되고, 다른 선형 또는 비선형 함수들이 스케일 팩터를 컴퓨팅하기 위해 이용될 수 있다. 스케일링 팩터를 스코어들에 곱함으로써 스코어들이 조정될 수 있지만, 스코어들을 조정하게 하는 다른 방식들이 이용될 수 있다.
상기 예들에서, 제1 타입의 집합된 콘텐츠 데이터 구조체(들)의 스코어가 조정된다. 대안적으로 또는 추가적으로, 다른 타입들의 집합된 콘텐츠 데이터 구조체의 스코어가 조정될 수 있다. 일부 구현들에서, 조정된 스코어는 미리 결정된 타입 목표 백분율을 초과하는 현재 타입 선택 백분율을 갖는 집합된 콘텐츠 데이터 구조체 타입들에 대해서만 컴퓨팅될 수 있다. 다른 구현들에서, 조정된 스코어는 미리 결정된 타입 목표 백분율을 초과하지 않는 현재 타입 선택 백분율을 갖는 집합된 콘텐츠 데이터 구조체 타입들에 대해서만 컴퓨팅될 수 있다. 또 다른 구현들에서, 조정된 스코어는 미리 결정된 타입 목표 백분율을 초과하는 현재 타입 선택 백분율을 갖는 집합된 콘텐츠 데이터 구조체 타입들의 일부 또는 전부 및/또는 미리 결정된 타입 목표 백분율을 초과하지 않는 현재 타입 선택 백분율을 갖는 집합된 콘텐츠 데이터 구조체 타입들의 일부 또는 전부에 대해 컴퓨팅될 수 있다.
블록 515에서, 혼합 서버(215)는 집합된 콘텐츠 데이터 구조체들 각각과 연관된 스코어들에 기초하여 제2의 집합된 콘텐츠 데이터 구조체를 선택한다. 이러한 스코어들 중 일부는 블록 510에서 조정되었을 수도 있다. 일부 구현들에서, 제2의 집합된 콘텐츠 데이터 구조체는 다른 집합된 콘텐츠 데이터 구조체들의 스코어들 중에서 가장 높은 스코어와 연관된다. 집합된 콘텐츠 데이터 구조체 타입들 각각 대한 타입 선택 백분율들은 제2의 집합된 콘텐츠 데이터 구조체의 선택에 후속하여 업데이트될 수 있다.
블록 520에서, 혼합 서버(215)는 선택된 제2의 집합된 콘텐츠 데이터 구조체를 사용자의 콘텐츠 스트림(240) 내로 혼합한다. 혼합 서버(215)는 소셜 네트워크 서버(220)에 선택된 집합된 콘텐츠 데이터 구조체가 혼합된 콘텐츠 스트림(240)을 제공할 수 있다.
전술한 것은 3개의 타입들의 집합된 콘텐츠 데이터 구조체들이 구성되는 경우를 설명하지만, 더 적거나, 더 많거나, 및/또는 상이한 타입들의 집합된 콘텐츠 데이터 구조체들이 이용될 수 있다. 게다가, 전술한 것은 3개의 집합 서버들(210A-C)이 이용되는 경우를 설명하지만, 더 적거나 더 많은 집합 서버들이 이용될 수 있다. 집합된 콘텐츠 데이터 구조체들의 타입들의 수는 집합 서버들의 수와 동일할 수 있거나 또는 상이할 수 있다.
일부 구현들에서, 규칙들의 세트는 집합된 콘텐츠 데이터 구조체들을 콘텐츠 스트림(240) 내로 혼합하는 것을 용이하게 하는 데 이용될 수 있다. 규칙들의 세트는 사용자가 상이한 집합 서버들로부터 집합된 콘텐츠 데이터 구조체들을 제공받게 하는 것을 도울 수 있고, 소수의 집합 서버들이 사용자의 콘텐츠 스트림(240)을 (예컨대, 부주의로 또는 용의주도하게) 쇄도하게 하는 것을 회피하는 것을 도울 수 있다. 예를 들어, 집합된 콘텐츠 데이터 구조체들의 타입 및 스코어(예컨대, 정규화된 스코어, 조정된 스코어)와는 독립적으로, 혼합 서버(215)는, 콘텐츠 스트림(240)으로, 동일한 집합 서버로부터의 로우(row) 내의 미리 결정된 수(예컨대, 7개) 초과의 집합된 콘텐츠 데이터 구조체들을 혼합하지 않을 수도 있도록 규칙이 설정될 수 있다.
다른 예로서, 2개의 연속된 집합된 콘텐츠 데이터 구조체들이 동일한 집합 서버로부터의 것이 아닐 수도 있도록 그리고/또는 2개의 연속된 집합된 콘텐츠 데이터 구조체들이 동일한 타입의 것이 아닐 수도 있도록 동일한 집합 서버로부터의 집합된 콘텐츠 데이터 구조체들을 이격시키기 위해 규칙이 설정될 수 있다. 일부 경우들에서, 규칙은 집합된 콘텐츠 데이터 구조체들이 선택된 후에 구현될 수 있다. 예를 들어, 혼합 서버(215)는 집합 서버(210A)로부터의 2개의 연속된 집합된 콘텐츠 데이터 구조체들(예컨대, 제1 및 제2의 집합된 콘텐츠 데이터 구조체), 그 다음에 집합 서버(210C)로부터의 집합된 콘텐츠 데이터 구조체를 순서대로 선택할 수 있다. 그러나, 이러한 선택된 집합된 콘텐츠 데이터 구조체들을 콘텐츠 스트림(240) 내로 혼합할 때, 혼합 서버(215)는 집합 서버(210A)로부터의 제1의 집합된 콘텐츠 데이터 구조체, 집합 서버(210C)로부터의 집합된 콘텐츠 데이터 구조체, 및 집합 서버(210A)로부터의 제2의 집합된 콘텐츠 데이터 구조체를 콘텐츠 스트림(240)으로 순서대로 혼합할 수 있다.
일부 구현들에서, 혼합 서버(215)는 특정 집합 서버로부터의 집합된 콘텐츠 데이터 구조체들에서의 혼합을 중지할 수 있다. 예를 들어, 혼합 서버(215)는 집합 서버들(210A-C)의 활동을 모니터링할 수 있고, 다른 집합 서버들(210A 및 210C)로부터의 집합 데이터 콘텐츠 구조체들을 선택하기 전에 혼합 서버(215)가 그의 집합 데이터 콘텐츠 구조체들 중 하나를 항상 선택하게 하도록 집합 서버(210B)가 그의 집합 데이터 콘텐츠 구조체들을 부적절하게 스코어링하고 있다는 것을 결정할 수 있다.
일부 구현들에서, 사용자는 미리 결정된 타입 목표 백분율을 수동으로 변경할 수 있다. 예를 들어, 사용자가 미리 결정된 타입 목표 백분율들을 설정하게 하도록 볼륨 제어가 사용자 인터페이스 상에서 사용자에게 제공될 수 있다. 사용자에게는 피드백을 제공하는 기회들이 제공될 수 있다. 예를 들어, 사용자는, 다른 옵션들 중에서, 집합된 콘텐츠 데이터 구조체에 제공된 콘텐츠 아이템과 유사한 콘텐츠 아이템들을 더 많이 보거나, 더 적게 보거나, 전혀 보지 않거나, 또는 항상 보기를 원하는지 여부를 나타낼 수 있다. 다른 옵션들 중에서, 특정 집합 서버로부터의 집합된 콘텐츠 데이터 구조체들을 더 많이 보거나, 더 적게 보거나, 전혀 보지 않거나, 또는 항상 보는 것과 같은 사용자 피드백이, 집합된 콘텐츠 데이터 구조체에 대해 전체적으로 또한 제공될 수 있다.
도 6은 본 기술의 일부 구현들이 구현될 수 있는 예시적인 전자 시스템(600)을 개념적으로 예시한다. 전자 시스템(600)은 컴퓨터, 폰, PDA, 또는 임의의 다른 종류의 전자 디바이스일 수 있다. 그러한 전자 시스템은 다양한 타입들의 컴퓨터 판독가능 매체들 및 다양한 다른 타입들의 컴퓨터 판독가능 매체들을 위한 인터페이스들을 포함한다. 전자 시스템(600)은 버스(608), 프로세싱 유닛(들)(612), 시스템 메모리(604), 판독 전용 메모리(ROM)(610), 영구 스토리지 디바이스(permanent storage device)(602), 입력 디바이스 인터페이스(614), 출력 디바이스 인터페이스(606), 및 네트워크 인터페이스(616)를 포함한다.
버스(608)는 전자 시스템(600)의 다수의 내부 디바이스들을 통신가능하게 연결하는 모든 시스템, 주변기기, 및 칩셋 버스들을 집합적으로 나타낸다. 예를 들어, 버스(608)는 프로세싱 유닛(들)(612)을 ROM(610), 시스템 메모리(604), 및 영구 스토리지 디바이스(602)와 통신가능하게 연결한다.
이러한 다양한 메모리 유닛들로부터, 프로세싱 유닛(들)(612)은 본 개시내용의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다. 프로세싱 유닛(들)은 상이한 구현들에서 단일 프로세서 또는 멀티-코어 프로세서일 수 있다.
ROM(610)은 프로세싱 유닛(들)(612) 및 전자 시스템의 다른 모듈들에 의해 필요한 정적 데이터 및 명령어들을 저장한다. 다른 한편으로, 영구 스토리지 디바이스(602)는 판독 및 기입 메모리 디바이스이다. 이러한 디바이스는 전자 시스템(600)이 오프(off) 상태일 때에도 명령어들 및 데이터를 저장하는 비휘발성 메모리 유닛이다. 본 개시내용의 일부 구현들은 영구 스토리지 디바이스(602)로서 대용량 스토리지 디바이스(예를 들어, 자기 또는 광학 디스크 및 그의 대응하는 디스크 드라이브)를 사용한다.
다른 구현들은 영구 스토리지 디바이스(602)로서 착탈식 스토리지 디바이스(예를 들어, 플로피 디스크, 플래시 드라이브, 및 그의 대응하는 디스크 드라이브)를 사용한다. 영구 스토리지 디바이스(602)처럼, 시스템 메모리(604)는 판독 및 기입 메모리 디바이스이다. 그러나, 스토리지 디바이스(602)와는 달리, 시스템 메모리(604)는 랜덤 액세스 메모리와 같은 휘발성 판독 및 기입 메모리이다. 시스템 메모리(604)는 프로세서가 런타임 시에 필요로 하는 명령어들 및 데이터의 일부를 저장한다. 일부 구현들에서, 본 개시내용의 프로세스들은 시스템 메모리(604), 영구 스토리지 디바이스(602), 또는 ROM(610)에 저장된다. 예를 들어, 다양한 메모리 유닛들은 집합된 콘텐츠 데이터 구조체들을 수신하는 것, 집합된 콘텐츠 데이터 구조체들 중에서 선택하는 것, 그리고 선택된 집합된 콘텐츠 데이터 구조체를 콘텐츠 스트림 내로 혼합하는 것을 위한 명령어들을 포함한다. 이러한 다양한 메모리 유닛들로부터, 프로세싱 유닛(들)(612)은 일부 구현들의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다.
버스(608)는 또한 입력 및 출력 디바이스 인터페이스들(614 및 606)에 연결한다. 입력 디바이스 인터페이스(614)는 사용자가 전자 시스템에 정보를 통신할 수 있게 하고 커맨드들을 선택할 수 있게 한다. 입력 디바이스 인터페이스(614)와 함께 사용되는 입력 디바이스들은, 예를 들어, 영숫자 키보드들 및 포인팅 디바이스들(또한 "커서 제어 디바이스들"라고도 불림)을 포함한다. 출력 디바이스 인터페이스들(606)은, 예를 들어, 전자 시스템(600)에 의해 생성된 이미지들의 디스플레이를 가능하게 한다. 출력 디바이스 인터페이스(606)와 함께 사용되는 출력 디바이스들은, 예를 들어, 프린터들 및 디스플레이 디바이스들, 예를 들어, 음극선관들(CRT) 또는 액정 디스플레이들(LCD)을 포함한다. 일부 구현들은 디바이스들, 예를 들어, 입력 및 출력 디바이스들 양측 모두로서 기능하는 터치스크린을 포함한다.
마지막으로, 도 6에 도시된 바와 같이, 버스(608)는 또한 전자 시스템(600)을 네트워크 인터페이스(616)를 통해 네트워크(도시되지 않음)에 커플링시킨다. 이러한 방식으로, 컴퓨터는 컴퓨터들의 네트워크의 일부(예를 들어, LAN, WAN, 또는 인트라넷, 또는 네트워크들 중 한 네트워크, 예를 들어, 인터넷)일 수 있다. 전자 시스템(600)의 임의의 또는 모든 컴포넌트들은 본 개시내용과 관련하여 사용될 수 있다.
상술된 피처들 및 애플리케이션들 중 많은 것이 컴퓨터 판독가능 저장 매체(또한 컴퓨터 판독가능 매체라고도 지칭됨) 상에 기록되는 명령어들의 세트로서 특정되는 소프트웨어 프로세스들로서 구현된다. 이러한 명령어들이 하나 이상의 프로세싱 유닛(들)(예컨대, 하나 이상의 프로세서들, 프로세서들의 코어들, 또는 다른 프로세싱 유닛들)에 의해 실행될 때, 이들은 프로세싱 유닛(들)이 명령어들에서 지시된 동작들을 수행하게 한다. 컴퓨터 판독가능 매체들의 예들로는 CD-ROM들, 플래시 드라이브들, RAM 칩들, 하드 드라이브들, EPROM들 등을 포함하지만, 이들로 제한되지 않는다. 컴퓨터 판독가능 매체들은 무선으로 또는 유선 커넥션들을 통해 전달되는 반송파들 및 전자 신호들을 포함하지 않는다.
본 명세서에서, "소프트웨어"라는 용어는 프로세서에 의한 프로세싱을 위해 메모리 내에서 판독될 수 있는 자기 스토리지에 저장된 애플리케이션들 또는 판독 전용 메모리에 상주하는 펌웨어를 포함하도록 의도된다. 또한, 일부 구현들에서, 본 개시내용의 다수의 소프트웨어 양태들은 본 개시내용의 구별되는 소프트웨어 양태들을 유지하면서 보다 큰 프로그램의 하위 부분들로서 구현될 수 있다. 일부 구현들에서, 다수의 소프트웨어 양태들은 또한 별개의 프로그램들로서 구현될 수 있다. 마지막으로, 여기에 설명된 소프트웨어 양태를 함께 구현하는 별개의 프로그램들의 임의의 조합은 본 개시내용의 범주 내에 있다. 일부 구현들에서, 소프트웨어 프로그램들은, 하나 이상의 전자 시스템들 상에서 동작하도록 설치될 때, 소프트웨어 프로그램들의 동작들을 실행 및 수행하는 하나 이상의 특정 머신 구현들을 정의한다.
컴퓨터 프로그램(또한 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드라고도 알려져 있음)은 컴파일링된 또는 인터프리팅된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기입될 수 있고, 그것은 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 오브젝트, 또는 컴퓨팅 환경에서의 사용에 적합한 다른 유닛으로서 포함하는 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 대응할 수 있지만, 반드시 그러할 필요는 없다. 프로그램은 다른 프로그램들 또는 데이터(예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 유지하는 파일의 일부로, 문제의 프로그램에 전용된 단일 파일로, 또는 다수의 조정된 파일들(예컨대, 하나 이상의 모듈들, 서브 프로그램들, 또는 코드의 일부들을 저장하는 파일들)로 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치되거나 다수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 또는 하나의 컴퓨터 상에서 실행되도록 배치될 수 있다.
상술된 이러한 기능들은 디지털 전자 회로부, 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로 구현될 수 있다. 기법들은 하나 이상의 컴퓨터 프로그램 제품들을 사용하여 구현될 수 있다. 프로그래밍가능 프로세서들 및 컴퓨터들은 모바일 디바이스들에 포함되거나 또는 모바일 디바이스들로서 패키징될 수 있다. 프로세스들 및 로직 플로우들은 하나 이상의 프로그래밍가능 프로세서들에 의해 그리고 하나 이상의 프로그래밍가능 로직 회로부에 의해 수행될 수 있다. 범용 및 특수 목적 컴퓨팅 디바이스들 및 스토리지 디바이스들은 통신 네트워크들을 통해 상호연결될 수 있다.
일부 구현들은 머신 판독가능 또는 컴퓨터 판독가능 매체(대안적으로 컴퓨터 판독가능 저장 매체들, 머신 판독가능 매체들, 또는 머신 판독가능 매체들이라고 지칭됨)에 컴퓨터 프로그램 명령어들을 저장하는 전자 컴포넌트들, 예를 들어, 마이크로프로세서들, 스토리지, 및 메모리를 포함한다. 그러한 컴퓨터 판독가능 매체들의 일부 예들로는 RAM, ROM, 판독 전용 콤팩트 디스크들(CD-ROM), 기록가능 콤팩트 디스크들(CD-R), 재기입가능 콤팩트 디스크들(CD-RW), 판독 전용 디지털 다용도 디스크들(예컨대, DVD-ROM, 듀얼-레이어 DVD-ROM), 다양한 기록가능/재기입가능 DVD들(예컨대, DVD-RAM, DVD-RW, DVD+RW 등), 플래시 메모리(예컨대, SD 카드들, 미니-SD 카드들, 마이크로-SD 카드들 등), 자기 또는 솔리드 스테이트 하드 드라이브들, 판독 전용 및 기록가능 블루레이® 디스크들, 초고밀도 광학 디스크들, 임의의 다른 광학 또는 자기 매체들, 및 플로피 디스크들을 포함한다. 컴퓨터 판독가능 매체들은 적어도 하나의 프로세싱 유닛에 의해 실행가능하고 다양한 동작들을 수행하기 위한 명령어들의 세트들을 포함하는 컴퓨터 프로그램을 저장할 수 있다. 컴퓨터 프로그램들 또는 컴퓨터 코드의 예들로는, 예를 들어, 컴파일러에 의해 생성되는 머신 코드, 및 컴퓨터, 전자 컴포넌트, 또는 인터프리터를 사용하는 마이크로프로세서에 의해 실행되는 상위 레벨 코드를 포함하는 파일들을 포함한다.
상기 논의는 주로 소프트웨어를 실행하는 마이크로프로세서 또는 멀티-코어 프로세서들에 관련되지만, 일부 구현들은 하나 이상의 집적 회로들, 예를 들어, 주문형 집적 회로(ASIC)들 또는 필드 프로그래밍가능 게이트 어레이(FPGA)들에 의해 수행된다. 일부 구현들에서, 그러한 집적 회로들은 회로 자체에 저장되는 명령어들을 실행한다.
본 명세서 및 본 출원의 임의의 청구항들에서 사용되는 바와 같이, "컴퓨터", "서버", "프로세서", 및 "메모리"라는 용어들은 모두 전자 또는 다른 기술적 디바이스들을 지칭한다. 이러한 용어들은 사람들 또는 사람들의 그룹들을 배제한다. 본 명세서의 목적들을 위해, 디스플레이 또는 디스플레잉이라는 용어들은 전자 디바이스 상에서 디스플레이하는 것을 의미한다. 본 명세서 및 본 출원의 임의의 청구항들에서 사용되는 바와 같이, "컴퓨터 판독가능 매체" 및 "컴퓨터 판독가능 매체들"이라는 용어들은 컴퓨터에 의해 판독가능한 형태로 정보를 저장하는 유형(tangible)의 물리적 오브젝트들로 완전히 제한된다. 이러한 용어들은 임의의 무선 신호들, 유선 다운로드 신호들, 및 임의의 다른 일시적 신호들을 배제한다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에서 설명된 요지의 구현들은 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스, 예컨대, CRT 또는 LCD 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예컨대, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하는 데 사용될 수 있고; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예컨대, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가적으로, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 디바이스로부터 문서들을 수신함으로써; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호작용할 수 있다.
본 명세서에서 설명된 요지의 실시예들은 백 엔드 컴포넌트를, 예컨대, 데이터 서버로서 포함하거나, 또는 미들웨어 컴포넌트, 예컨대, 애플리케이션 서버를 포함하거나, 또는 프론트 엔드 컴포넌트, 예컨대, 본 명세서에서 설명된 요지의 구현으로 사용자가 상호작용할 수 있게 하는 웹 브라우저 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터를 포함하는 컴퓨팅 시스템으로, 또는 하나 이상의 그러한 백 엔드, 미들웨어, 또는 프론트 엔드 컴포넌트들의 임의의 조합으로 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예컨대, 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예들로는 근거리 네트워크(LAN) 및 광역 네트워크(WAN), 인터-네트워크(inter-network)(예컨대, 인터넷), 및 피어-투-피어 네트워크들(예컨대, 애드혹 피어-투-피어 네트워크들)을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 원격으로 있고 전형적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다. 일부 실시예들에서, 서버는 (예컨대, 클라이언트 디바이스와 상호작용하는 사용자에게 데이터를 디스플레이하고 사용자로부터 사용자 입력을 수신하는 목적들을 위해) 클라이언트 디바이스에 데이터(예컨대, HTML 페이지)를 송신한다. 클라이언트 디바이스에서 생성된 데이터(예컨대, 사용자 상호작용의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
개시된 프로세스들에서의 단계들의 임의의 특정 순서 또는 계층 구조가 예시적인 접근법들의 예시라는 것이 이해된다. 설계 선호도들에 기초하여, 프로세스들에서의 단계들의 특정 순서 또는 계층 구조가 재배열될 수 있거나, 또는 모든 예시된 단계들이 수행될 수 있다는 것이 이해된다. 단계들 중 일부는 동시에 수행될 수 있다. 예를 들어, 특정 상황들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 더욱이, 상술된 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로서 이해되어서는 안되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다.
이전 설명은 본 기술분야의 통상의 지술자로 하여금 본 명세서에 설명된 다양한 양태들을 실시할 수 있게 하도록 제공된다. 이러한 양태들에 대한 다양한 수정들은 본 기술분야의 통상의 지술자에게 용이하게 명백할 것이며, 본 명세서에 정의된 일반적인 원리들은 다른 양태들에 적용될 수 있다. 따라서, 청구항들은 본 명세서에 나타낸 양태들로 제한되도록 의도되지 않지만, 언어적 청구항들과 부합하는 전체 범주를 부여받으려는 것이고, 여기서 단수로의 엘리먼트에 대한 언급은 구체적으로 그렇게 서술되지 않는다면 "하나 그리고 단지 하나만"을 의미하도록 의도되지 않고 오히려 "하나 이상"을 의미하도록 의도된다. 구체적으로 달리 서술되지 않는다면, "일부"라는 용어는 하나 이상을 지칭한다. 남성의 대명사들(예컨대, 그의(his))은 여성 및 중성의 성 구분(예컨대, 그녀의(her) 및 그것의(its))을 포함하고 그 반대의 경우도 마찬가지이다. 표제들 및 부제들은, 존재한다면, 편의를 위해서만 사용되고 본 개시내용을 제한하지 않는다.
"양태"와 같은 어구는 그러한 양태가 본 기술에 필수적이거나 또는 그러한 양태가 본 기술의 모든 구성들에 적용된다는 것을 의미하지 않는다. 양태에 관련된 개시내용은 모든 구성들, 또는 하나 이상의 구성들에 적용될 수 있다. 양태와 같은 어구는 하나 이상의 양태들을 지칭할 수 있고 그 반대의 경우도 마찬가지이다. "구성"과 같은 어구는 그러한 구성이 본 기술에 필수적이거나 또는 그러한 구성이 본 기술의 모든 구성들에 적용된다는 것을 의미하지 않는다. 구성에 관련된 개시내용은 모든 구성들, 또는 하나 이상의 구성들에 적용될 수 있다. 구성과 같은 어구는 하나 이상의 구성들을 지칭할 수 있고 그 반대의 경우도 마찬가지이다.

Claims (20)

  1. 머신 구현 방법으로서,
    제1의 복수의 집합된 콘텐츠 데이터 구조체들(aggregated content data structures)을 수신하는 단계 - 각각의 집합된 콘텐츠 데이터 구조체는 콘텐츠 아이템들의 그룹을 레퍼런싱하고, 복수의 카테고리 타입들 중의 각각의 카테고리 타입 및 각각의 스코어와 연관되고, 상기 콘텐츠 아이템들의 그룹 중의 각각의 콘텐츠 아이템은 상기 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입과 연관됨 -;
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들에 대한 각각의 스코어들 및 제1의 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입에 대한 미리 결정된 타입 목표 백분율에 기초하여, 상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들 중에서 상기 제1의 집합된 콘텐츠 데이터 구조체를 선택하는 단계;
    상기 제1의 집합된 콘텐츠 데이터 구조체를 사용자와 연관된 콘텐츠 스트림으로 혼합하는 단계; 및
    사용자에게 디스플레이하기 위해, 상기 제1의 집합된 콘텐츠 데이터 구조체를 포함하는 상기 콘텐츠 스트림을 제공하는 단계
    를 포함하는 머신 구현 방법.
  2. 제1항에 있어서,
    상기 선택된 제1의 집합된 콘텐츠 데이터 구조체의 소스로부터 추가의 집합된 콘텐츠 데이터 구조체를 수신하는 단계 - 상기 추가의 집합된 콘텐츠 데이터 구조체는 스코어와 연관됨 -;
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들로부터 상기 선택된 제1의 집합된 콘텐츠 데이터 구조체를 제거하는 것 그리고 상기 수신된 추가의 집합된 콘텐츠 데이터 구조체를 추가하는 것에 기초하여, 제2의 복수의 집합된 콘텐츠 데이터 구조체들을 생성하는 단계;
    상기 사용자와 연관된 복수의 미리 결정된 타입 목표 백분율들 및 상기 선택된 제1의 집합된 콘텐츠 데이터 구조체에 기초하여, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관된 스코어를 조정하는 단계;
    상기 조정된 스코어에 기초하여, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들로부터 제2의 집합된 콘텐츠 데이터 구조체를 선택하는 단계; 및
    상기 제2의 집합된 콘텐츠 데이터 구조체를 상기 사용자와 연관된 콘텐츠 스트림으로 혼합하는 단계
    를 더 포함하는 머신 구현 방법.
  3. 제1항에 있어서,
    상기 제1의 집합된 콘텐츠 데이터 구조체를 선택하는 단계에 기초하여 그리고 상기 복수의 카테고리 타입들에 대한 복수의 미리 결정된 타입 목표 백분율들에 기초하여, 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나에 대한 스코어를 조정하는 단계 - 상기 복수의 미리 결정된 타입 목표 백분율들은 상기 제1의 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입에 대한 미리 결정된 타입 목표 백분율을 포함함 -;
    상기 조정된 스코어에 기초하여, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들로부터 제2의 집합된 콘텐츠 데이터 구조체를 선택하는 단계; 및
    상기 제2의 집합된 콘텐츠 데이터 구조체를 상기 사용자와 연관된 콘텐츠 스트림으로 혼합하는 단계
    를 더 포함하는 머신 구현 방법.
  4. 제3항에 있어서,
    상기 사용자의 상기 콘텐츠 스트림 내에서 혼합하기 위한 각각의 집합된 데이터 구조체들의 사전 선택들에 기초하여, 상기 복수의 카테고리 타입들에 대한 복수의 타입 선택 백분율들을 발생시키는 단계; 및
    상기 제1의 집합된 콘텐츠 데이터 구조체를 선택하는 단계에 기초하여 그리고 상기 제1의 집합된 콘텐츠 데이터 구조체를 선택하는 단계에 응답하여, 상기 복수의 타입 선택 백분율들을 업데이트하는 단계
    를 더 포함하는 머신 구현 방법.
  5. 제4항에 있어서,
    상기 조정하는 단계는, 상기 복수의 미리 결정된 타입 목표 백분율들과 상기 업데이트된 복수의 타입 선택 백분율들 사이의 차이에 기초하는 머신 구현 방법.
  6. 제4항에 있어서,
    상기 조정하는 단계는,
    상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관되는 업데이트된 타입 선택 백분율이 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관되는 미리 결정된 타입 목표 백분율보다 더 낮을 때, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나에 대한 스코어를 증가시키는 단계; 및
    상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관되는 업데이트된 타입 선택 백분율이 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관되는 미리 결정된 타입 목표 백분율보다 더 높을 때, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나에 대한 스코어를 감소시키는 단계
    를 포함하는 머신 구현 방법.
  7. 제1항에 있어서,
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들 각각의 각자의 스코어를 제1의 미리 결정된 값과 제2의 미리 결정된 값 사이에 있도록 정규화하는 단계를 더 포함하는 머신 구현 방법.
  8. 제1항에 있어서,
    상기 사용자에 대해, 소셜 네트워크에서 제공되는 콘텐츠 아이템들과의 상기 사용자의 사전 상호작용들에 기초하여, 상기 제1의 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입에 대한 미리 결정된 타입 목표 백분율을 포함하는, 상기 복수의 카테고리 타입들에 대한 복수의 타입 목표 백분율들을 결정하는 단계를 더 포함하는 머신 구현 방법.
  9. 제1항에 있어서,
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들 중의 각각의 집합된 콘텐츠 데이터 구조체에 대해, 상기 집합된 콘텐츠 데이터 구조체의 각각의 스코어는 상기 집합된 콘텐츠 데이터 구조체의 콘텐츠 아이템들의 그룹과 연관된 하나 이상의 속성들에 대한 상기 사용자의 친화성(affinity)에 기초하여 결정되는 머신 구현 방법.
  10. 집합 콘텐츠 리스트(aggregate content list)를 생성하기 위한 컴퓨팅 시스템으로서,
    하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하는 저장된 명령어들을 포함하는 비일시적인 머신 판독가능 매체
    를 포함하고,
    상기 동작들은,
    제1의 복수의 집합된 콘텐츠 데이터 구조체들을 수신하는 것 - 각각의 집합된 콘텐츠 데이터 구조체는 콘텐츠 아이템들의 그룹을 레퍼런싱하고, 복수의 카테고리 타입들 중의 각각의 카테고리 타입 및 각각의 스코어와 연관되고, 상기 콘텐츠 아이템들의 그룹 중의 각각의 콘텐츠 아이템은 상기 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입과 연관됨 -;
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들에 대한 각각의 스코어들 및 제1의 집합된 콘텐츠 데이터 구조체의 카테고리 타입에 대한 미리 결정된 타입 목표 백분율에 기초하여, 상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들 중에서 상기 제1의 집합된 콘텐츠 데이터 구조체를 선택하는 것; 및
    상기 제1의 집합된 콘텐츠 데이터 구조체를 사용자와 연관된 콘텐츠 스트림으로 혼합하는 것; 및
    사용자에게 디스플레이하기 위해, 상기 제1의 집합된 콘텐츠 데이터 구조체를 포함하는 상기 콘텐츠 스트림을 제공하는 것
    을 포함하는 컴퓨팅 시스템.
  11. 제10항에 있어서,
    상기 동작들은,
    상기 선택된 제1의 집합된 콘텐츠 데이터 구조체의 소스로부터 추가의 집합된 콘텐츠 데이터 구조체를 수신하는 것;
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들로부터 상기 선택된 제1의 집합된 콘텐츠 데이터 구조체를 제거하는 것 그리고 상기 수신된 추가의 집합된 콘텐츠 데이터 구조체를 추가하는 것에 기초하여, 제2의 복수의 집합된 콘텐츠 데이터 구조체들을 생성하는 것;
    상기 사용자와 연관된 복수의 미리 결정된 타입 목표 백분율들 및 상기 선택된 제1의 집합된 콘텐츠 데이터 구조체에 기초하여, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관된 스코어를 조정하는 것;
    상기 조정된 스코어에 기초하여, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들로부터 제2의 집합된 콘텐츠 데이터 구조체를 선택하는 것; 및
    상기 제2의 집합된 콘텐츠 데이터 구조체를 상기 사용자와 연관된 콘텐츠 스트림으로 혼합하는 것
    을 더 포함하는 컴퓨팅 시스템.
  12. 제10항에 있어서,
    상기 동작들은,
    상기 사용자에 대해, 소셜 네트워크에서의 콘텐츠 아이템들과의 상기 사용자의 사전 상호작용들에 기초하여, 상기 제1의 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입에 대한 미리 결정된 타입 목표 백분율을 포함하는, 상기 복수의 카테고리 타입들에 대한 복수의 타입 목표 백분율들을 결정하는 것;
    상기 사용자의 상기 콘텐츠 스트림 내에서 혼합하기 위한 각각의 집합된 데이터 구조체들의 사전 선택들에 기초하여, 복수의 카테고리 타입들에 대한 복수의 타입 선택 백분율들을 결정하는 것;
    상기 결정된 복수의 타입 목표 백분율들과 상기 결정된 복수의 타입 선택 백분율들 사이의 차이에 기초하여, 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관된 스코어를 조정하는 것; 및
    상기 조정된 스코어에 기초하여, 상기 제2의 복수의 집합된 콘텐츠로부터 제2의 집합된 콘텐츠 데이터 구조체를 선택하는 것; 및
    상기 제2의 집합된 콘텐츠 데이터 구조체를 상기 사용자와 연관된 콘텐츠 스트림으로 혼합하는 것
    을 더 포함하는 컴퓨팅 시스템.
  13. 제12항에 있어서,
    상기 조정하는 것은,
    상기 제2의 집합된 콘텐츠 데이터 구조체를 선택하는 것에 기초하여 상기 복수의 타입 선택 백분율들 중의 타입 선택 백분율을 업데이트하는 것;
    상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관되는 상기 업데이트된 타입 선택 백분율이 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관되는 미리 결정된 타입 목표 백분율보다 더 낮을 때, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나에 대한 스코어를 증가시키는 것; 및
    상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관되는 상기 업데이트된 타입 선택 백분율이 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관되는 미리 결정된 타입 목표 백분율보다 더 높을 때, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나에 대한 스코어를 감소시키는 것
    을 포함하는 컴퓨팅 시스템.
  14. 제10항에 있어서,
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들 중의 각각의 집합된 콘텐츠 데이터 구조체에 대해, 상기 집합된 콘텐츠 데이터 구조체의 각각의 스코어는 상기 집합된 콘텐츠 데이터 구조체의 콘텐츠 아이템들의 그룹과 연관된 하나 이상의 속성들에 대한 상기 사용자의 친화성에 기초하여 결정되는 컴퓨팅 시스템.
  15. 제10항에 있어서,
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들 각각의 스코어를 제1의 미리 결정된 값과 제2의 미리 결정된 값 사이에 있도록 정규화하는 것을 더 포함하는 컴퓨팅 시스템.
  16. 머신에 의해 실행될 때, 상기 머신으로 하여금 동작들을 수행하게 하는 저장된 명령어들을 포함하는 비일시적인 머신 판독가능 매체로서,
    상기 동작들은,
    제1의 복수의 집합된 콘텐츠 데이터 구조체들을 수신하는 것 - 각각의 집합된 콘텐츠 데이터 구조체는 콘텐츠 아이템들의 그룹을 레퍼런싱하고, 복수의 카테고리 타입들 중의 각각의 카테고리 타입 및 각각의 스코어와 연관되고, 상기 콘텐츠 아이템들의 그룹 중의 각각의 콘텐츠 아이템은 상기 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입과 연관됨 -;
    상기 제1의 복수의 데이터 구조체들 각각의 스코어를 제1의 미리 결정된 값과 제2의 미리 결정된 값 사이에 있도록 정규화하는 것;
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들에 대한 각각의 정규화된 스코어들 및 제1의 집합된 콘텐츠 데이터 구조체의 카테고리 타입에 대한 미리 결정된 타입 목표 백분율에 기초하여, 상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들 중에서 상기 제1의 집합된 콘텐츠 데이터 구조체를 선택하는 것;
    상기 제1의 집합된 콘텐츠 데이터 구조체를 사용자와 연관된 콘텐츠 스트림으로 혼합하는 것; 및
    사용자에게 디스플레이하기 위해, 상기 제1의 집합된 콘텐츠 데이터 구조체를 포함하는 상기 콘텐츠 스트림을 제공하는 것
    을 포함하는 비일시적인 머신 판독가능 매체.
  17. 제16항에 있어서,
    상기 동작들은,
    상기 선택된 제1의 집합된 콘텐츠 데이터 구조체의 소스로부터 추가의 집합된 콘텐츠 데이터 구조체를 수신하는 것;
    상기 추가의 집합된 데이터 구조체의 스코어를 정규화하여, 상기 추가의 집합된 데이터 구조체의 상기 정규화된 스코어가 상기 제1의 미리 결정된 값과 상기 제2의 미리 결정된 값 사이에 있게 하는 것;
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들로부터 상기 선택된 제1의 집합된 콘텐츠 데이터 구조체를 제거하는 것 그리고 상기 수신된 추가의 집합된 콘텐츠 데이터 구조체를 추가하는 것에 기초하여, 제2의 복수의 집합된 콘텐츠 데이터 구조체들을 발생시키는 것;
    상기 사용자와 연관된 복수의 미리 결정된 타입 목표 백분율들 및 상기 선택된 제1의 집합된 콘텐츠 데이터 구조체에 기초하여, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관되는 정규화된 스코어를 조정하는 것; 및
    상기 조정된 스코어에 기초하여, 상기 제2의 복수의 집합된 콘텐츠 데이터 구조체들로부터 제2의 집합된 콘텐츠 데이터 구조체를 선택하는 것; 및
    상기 제2의 집합된 콘텐츠 데이터 구조체를 상기 사용자와 연관된 콘텐츠 스트림으로 혼합하는 것
    을 더 포함하는 비일시적인 머신 판독가능 매체.
  18. 제16항에 있어서,
    상기 동작들은,
    상기 사용자의 상기 콘텐츠 스트림 내에서 혼합하기 위한 각각의 집합된 데이터 구조체들의 사전 선택들에 기초하여, 복수의 카테고리 타입들에 대한 복수의 타입 선택 백분율들을 결정하는 것;
    상기 선택된 제1의 집합된 콘텐츠 데이터 구조체에 기초하여 상기 타입 선택 백분율들을 업데이트하는 것
    을 더 포함하는 비일시적인 머신 판독가능 매체.
  19. 제18항에 있어서,
    상기 동작들은,
    상기 사용자에 대해, 소셜 네트워크에서의 콘텐츠 아이템들과의 상기 사용자의 사전 상호작용들에 기초하여, 상기 제1의 집합된 콘텐츠 데이터 구조체와 연관된 카테고리 타입에 대한 미리 결정된 타입 목표 백분율을 포함하는, 상기 복수의 카테고리 타입들에 대한 복수의 타입 목표 백분율들을 결정하는 것;
    상기 결정된 복수의 타입 목표 백분율들과 상기 결정된 복수의 타입 선택 백분율들 사이의 차이에 기초하여, 제2의 복수의 집합된 콘텐츠 데이터 구조체들 중 적어도 하나와 연관되는 정규화된 스코어를 조정하는 것; 및
    상기 조정된 스코어에 기초하여, 상기 제2의 복수의 집합된 콘텐츠로부터 제2의 집합된 콘텐츠 데이터 구조체를 선택하는 것; 및
    상기 제2의 집합된 콘텐츠 데이터 구조체를 상기 사용자와 연관된 콘텐츠 스트림으로 혼합하는 것
    을 더 포함하는 비일시적인 머신 판독가능 매체.
  20. 제19항에 있어서,
    상기 제1의 복수의 집합된 콘텐츠 데이터 구조체들 중의 각각의 집합된 콘텐츠 데이터 구조체에 대해, 상기 집합된 콘텐츠 데이터 구조체의 각각의 스코어는 상기 집합된 콘텐츠 데이터 구조체의 콘텐츠 아이템들의 그룹과 연관된 하나 이상의 속성들에 대한 상기 사용자의 친화성에 기초하여 결정되는 비일시적인 머신 판독가능 매체.
KR1020187001293A 2015-10-08 2016-10-07 콘텐츠 스트림으로의 콘텐츠의 혼합 KR101946586B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562239191P 2015-10-08 2015-10-08
US62/239,191 2015-10-08
PCT/US2016/056160 WO2017062891A1 (en) 2015-10-08 2016-10-07 Mixing content into a content stream

Publications (2)

Publication Number Publication Date
KR20180008919A true KR20180008919A (ko) 2018-01-24
KR101946586B1 KR101946586B1 (ko) 2019-02-12

Family

ID=58488657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187001293A KR101946586B1 (ko) 2015-10-08 2016-10-07 콘텐츠 스트림으로의 콘텐츠의 혼합

Country Status (8)

Country Link
US (1) US10129309B2 (ko)
EP (1) EP3308305A4 (ko)
JP (1) JP6496878B2 (ko)
KR (1) KR101946586B1 (ko)
CN (1) CN107851115A (ko)
DE (1) DE112016004617T5 (ko)
GB (1) GB2556533A (ko)
WO (1) WO2017062891A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11086941B2 (en) * 2016-12-13 2021-08-10 Sap Se Generating suggestions for extending documents
US10581953B1 (en) * 2017-05-31 2020-03-03 Snap Inc. Real-time content integration based on machine learned selections
US10616419B1 (en) * 2018-12-12 2020-04-07 Mitel Networks Corporation Devices, systems and methods for communications that include social media clients
USD974408S1 (en) 2020-12-16 2023-01-03 Meta Platforms, Inc. Display screen having a graphical user interface or portion thereof
USD974411S1 (en) 2020-12-16 2023-01-03 Meta Platforms, Inc. Display screen having a graphical user interface or portion thereof
US20230106019A1 (en) * 2021-10-03 2023-04-06 Joni Jezewski Variables & Implementations of Solution Automation & Interface Analysis
US11928161B2 (en) 2022-03-04 2024-03-12 Humane, Inc. Structuring and presenting event data for use with wearable multimedia devices
WO2024092312A1 (en) * 2022-11-04 2024-05-10 Melody Regan System and method for generating a screened and consolidated social media data feed

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066186A1 (en) * 2008-11-25 2012-03-15 At&T Intellectual Property I, L.P. Systems and Methods to Select Media Content
US20160179808A1 (en) * 2014-12-22 2016-06-23 Facebook, Inc. Methods and Systems for Accessing Relevant Content

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060265730A1 (en) 2005-05-18 2006-11-23 Podfitness, Inc Mixing and producing individualized media files
US8880499B1 (en) 2005-12-28 2014-11-04 Google Inc. Personalizing aggregated news content
JP2011014035A (ja) * 2009-07-03 2011-01-20 Ntt Docomo Inc 検索システム及び検索方法
CN102073717A (zh) * 2011-01-07 2011-05-25 南京大学 一种面向垂直电子商务网站的首页推荐方法
US20150206254A1 (en) * 2011-08-12 2015-07-23 Joheem Loh System and method of integrating various platforms and methods of using the same
US8463795B2 (en) * 2011-10-18 2013-06-11 Filpboard, Inc. Relevance-based aggregated social feeds
EP2611127A1 (en) * 2011-12-29 2013-07-03 Gface GmbH Cloud-based content mixing into one stream
US8996530B2 (en) * 2012-04-27 2015-03-31 Yahoo! Inc. User modeling for personalized generalized content recommendations
US9785883B2 (en) * 2012-04-27 2017-10-10 Excalibur Ip, Llc Avatars for use with personalized generalized content recommendations
US8886836B2 (en) * 2012-06-12 2014-11-11 Facebook, Inc. Providing a multi-column newsfeed of content on a social networking system
JP5874547B2 (ja) * 2012-06-27 2016-03-02 株式会社Jvcケンウッド 情報選択装置、情報選択方法、端末装置およびコンピュータプログラム
US9652525B2 (en) * 2012-10-02 2017-05-16 Banjo, Inc. Dynamic event detection system and method
US9043329B1 (en) * 2013-12-19 2015-05-26 Banjo, Inc. Dynamic event detection system and method
EP2753041B1 (en) * 2013-01-04 2017-12-20 Alcatel Lucent Methods and server for controlling aggregation of multimedia contents based on requirements of a content producer and of user(s) of communication equipment(s)
US9626436B2 (en) * 2013-03-15 2017-04-18 Spotify Ab Systems, methods, and computer readable medium for generating playlists
US9996670B2 (en) * 2013-05-14 2018-06-12 Zynx Health Incorporated Clinical content analytics engine
JP6594317B2 (ja) * 2013-12-31 2019-10-23 グーグル エルエルシー ニュースタイムラインおよび薦められるニュースエディションの生成
US10255563B2 (en) * 2014-03-03 2019-04-09 Microsoft Technology Licensing, Llc Aggregating enterprise graph content around user-generated topics
CN104572851B (zh) * 2014-12-16 2018-09-07 北京百度网讯科技有限公司 获取推荐信息的方法和装置
US20160350669A1 (en) * 2015-06-01 2016-12-01 Linkedin Corporation Blending content pools into content feeds

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066186A1 (en) * 2008-11-25 2012-03-15 At&T Intellectual Property I, L.P. Systems and Methods to Select Media Content
US20160179808A1 (en) * 2014-12-22 2016-06-23 Facebook, Inc. Methods and Systems for Accessing Relevant Content

Also Published As

Publication number Publication date
GB2556533A (en) 2018-05-30
JP6496878B2 (ja) 2019-04-10
GB2556533A8 (en) 2018-06-27
WO2017062891A1 (en) 2017-04-13
GB201800621D0 (en) 2018-02-28
US20170104802A1 (en) 2017-04-13
EP3308305A4 (en) 2019-01-23
CN107851115A (zh) 2018-03-27
EP3308305A1 (en) 2018-04-18
US10129309B2 (en) 2018-11-13
JP2018523867A (ja) 2018-08-23
KR101946586B1 (ko) 2019-02-12
DE112016004617T5 (de) 2018-07-19

Similar Documents

Publication Publication Date Title
KR101946586B1 (ko) 콘텐츠 스트림으로의 콘텐츠의 혼합
US10565267B1 (en) Determining a quality score for a content item
US9514199B1 (en) Sorting and pagination of content item streams
US9020956B1 (en) Sentiment and topic based content determination methods and systems
US9183259B1 (en) Selecting content based on social significance
JP7119124B2 (ja) 検索動作出力要素のアクションインジケータ
RU2720952C2 (ru) Способ и система для создания рекомендации цифрового содержимого
US10289648B2 (en) Enforcing category diversity
US9401097B2 (en) Method and apparatus for providing emotion expression service using emotion expression identifier
US20140013240A1 (en) Creating social group events
US9043325B1 (en) Collecting useful user feedback about geographical entities
US20140114899A1 (en) Filtering user actions based on user's mood
JP2017501480A (ja) ハッシュタグおよびコンテンツ提示
AU2013256756A1 (en) Socially relevant content in a news domain
US9703837B1 (en) Predicting interest of a user of a social networking service in a content item
JP2013190847A (ja) ソーシャル・メデイアにおける悪評を検出する方法、コンピュータ・プログラム、コンピュータ。
US9432418B1 (en) Presenting an event-related post in a stream
US20190171753A1 (en) Diversification of items for representation to user
US10846743B2 (en) Displaying content items based on user's level of interest in obtaining content
US20170293892A1 (en) Releasing content interaction statistics while preserving privacy
US20130185670A1 (en) Graphical view of social content streams
WO2017123429A1 (en) Detecting visibility of a content item in a content item slot on a resource
US10592513B1 (en) Multiple social streams
US11823716B2 (en) Video timed anchors
JP2014216001A (ja) 情報処理装置、その制御方法およびプログラム

Legal Events

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