KR102534080B1 - 네트워크를 통해 사용자 단말기에 제공되는 플레이리스트를 관리하는 네트워크 서버 및 방법 - Google Patents

네트워크를 통해 사용자 단말기에 제공되는 플레이리스트를 관리하는 네트워크 서버 및 방법 Download PDF

Info

Publication number
KR102534080B1
KR102534080B1 KR1020200137679A KR20200137679A KR102534080B1 KR 102534080 B1 KR102534080 B1 KR 102534080B1 KR 1020200137679 A KR1020200137679 A KR 1020200137679A KR 20200137679 A KR20200137679 A KR 20200137679A KR 102534080 B1 KR102534080 B1 KR 102534080B1
Authority
KR
South Korea
Prior art keywords
content
user terminal
ids
playlist
log data
Prior art date
Application number
KR1020200137679A
Other languages
English (en)
Other versions
KR20220053337A (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 엔에이치엔애드 (주)
Priority to KR1020200137679A priority Critical patent/KR102534080B1/ko
Priority to JP2021171445A priority patent/JP7322118B2/ja
Priority to US17/507,804 priority patent/US20220129499A1/en
Publication of KR20220053337A publication Critical patent/KR20220053337A/ko
Application granted granted Critical
Publication of KR102534080B1 publication Critical patent/KR102534080B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/635Filtering based on additional data, e.g. user or group profiles
    • G06F16/637Administration of user profiles, e.g. generation, initialization, adaptation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • G06F16/639Presentation of query results using playlists
    • 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
    • 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
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • 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/535Tracking the activity of the user

Abstract

네트워크 서버는, 네트워크와 연결되는 통신기 및 통신기를 통해 네트워크와 연결된 사용자 단말기와 통신하도록 구성되는 적어도 하나의 프로세서를 포함한다. 적어도 하나의 프로세서는, 사용자 단말기로부터의 하나 또는 그 이상의 요청들에 따라 결정되는 컨텐츠 아이디들을 플레이리스트에 포함 혹은 연관시키되, 컨텐츠 아이디들은 각각 데이터베이스에 저장되는 컨텐츠 파일들에 대응하고, 컨텐츠 파일들의 적어도 일부와 연관된 사용자 단말기의 액션들을 컨텐츠 아이디들에 대응하는 로그 데이터 세트들에 반영하고, 로그 데이터 세트들에 기반하여 컨텐츠 아이디들의 적어도 일부를 플레이리스트로부터 선택적으로 삭제 혹은 배제될 타겟 아이디들로서 결정하도록 구성된다.

Description

네트워크를 통해 사용자 단말기에 제공되는 플레이리스트를 관리하는 네트워크 서버 및 방법{NETWORK SERVER AND METHOD TO MANAGE PLAYLIST PROVIDED TO USER TERMINAL THROUGH NETWORK}
본 발명은 네트워크 시스템에 관한 것으로, 좀 더 구체적으로는 네트워크를 통해 사용자 단말기에 제공되는 플레이리스트를 관리하는 네트워크 서버 및 방법에 관한 것이다.
인터넷이 널리 사용됨에 따라, 사람들은 음악(혹은 음원)과 같은 컨텐츠를 저장 매체에 저장한 후 저장된 컨텐츠를 재생하기보다, 컨텐츠를 스트리밍 방식으로 실시간으로 다운로드 및 재생하는 것을 선호하게 되었다. 이러한 스트리밍 방식의 재생에서는 사용자가 컨텐츠를 재생할 때마다 해당 컨텐츠를 검색해야하는 불편함을 해소하기 위해서, 원하는 컨텐츠 정보를 포함하는 플레이리스트를 사용자에게 제공하여 컨텐츠 정보를 통해 해당 컨텐츠를 재생하게 함으로써, 사용자의 편의성을 향상시킬 수 있다. 그러나, 컨텐츠 정보가 플레이리스트에 반복적으로 포함된다면 플레이리스트는 상대적으로 많은 량의 컨텐츠 정보를 포함하게 된다. 이러한 경우, 플레이리스트는 사용자가 더 이상 원치 않는 컨텐츠 정보를 계속 포함할 수 있으며, 이에 따라 사용자는 플레이리스트를 통한 컨텐츠 재생에 오히려 불편함을 느낄 수 있다.
위 기재된 내용은 오직 본 발명의 기술적 사상들에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.
본 발명의 실시 예들은 사용자에게 적응적으로 플레이리스트 내 컨텐츠를 삭제할 수 있는 네트워크 서버 및 방법을 제공하기 위한 것이다.
본 발명의 실시 예에 따른 네트워크 서버는, 네트워크와 연결되는 통신기; 및 상기 통신기를 통해 상기 네트워크와 연결된 사용자 단말기와 통신하도록 구성되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 사용자 단말기로부터의 하나 또는 그 이상의 요청들에 따라 결정되는 컨텐츠 아이디들을 플레이리스트에 포함 혹은 연관시키되, 상기 컨텐츠 아이디들은 각각 데이터베이스에 저장되는 컨텐츠 파일들에 대응하고; 상기 컨텐츠 파일들의 적어도 일부와 연관된 상기 사용자 단말기의 액션들을 상기 컨텐츠 아이디들에 대응하는 로그 데이터 세트들에 반영하고; 상기 로그 데이터 세트들에 기반하여 상기 컨텐츠 아이디들의 적어도 일부를 상기 플레이리스트로부터 선택적으로 삭제 혹은 배제될 타겟 아이디들로서 결정하도록 구성된다.
상기 적어도 하나의 프로세서는, 상기 타겟 아이디들과 연관된 정보를 상기 사용자 단말기에 전송하고; 상기 사용자 단말기로부터 상기 타겟 아이디들의 적어도 일부를 선택하는 신호가 수신될 때 상기 타겟 아이디들의 상기 적어도 일부를 상기 플레이리스트로부터 삭제 혹은 배제하도록 구성될 수 있다.
상기 로그 데이터 세트들 각각은 해당 컨텐츠 아이디가 상기 플레이리스트에 포함 혹은 연관된 시점으로부터 소정의 경과 시간 동안의 상기 사용자 단말기에서의 해당 컨텐츠 파일의 재생과 연관된 로그 데이터를 포함할 수 있다.
상기 로그 데이터는 상기 해당 컨텐츠 파일의 프로그래스 시간의 적어도 일부를 스킵하는 동작과 연관된 정보를 포함할 수 있다.
상기 로그 데이터는 상기 해당 컨텐츠 파일의 적어도 일부가 재생된 시간들을 나타내는 데이터를 포함할 수 있다.
상기 로그 데이터는 상기 사용자 단말기에서 상기 해당 컨텐츠 파일의 적어도 일부가 재생된 횟수를 카운트하는 데이터를 포함할 수 있다.
상기 적어도 하나의 프로세서는 상기 로그 데이터 세트들에 기반하여 상기 컨텐츠 아이디들에 각각 대응하는 점수들을 결정하고, 상기 결정된 점수들에 따라 상기 타겟 아이디들을 결정하도록 구성될 수 있다.
상기 컨텐츠 파일들은 상기 사용자 단말기에 의해 실시간으로 수신 및 재생되기 위한 음악 파일들을 포함할 수 있다.
본 발명의 다른 일면은 네트워크를 통해 사용자 단말기에 제공되는 플레이리스트를 관리하는 방법에 관한 것이다. 상기 방법은, 상기 사용자 단말기로부터의 하나 또는 그 이상의 요청들에 따라 결정되는 컨텐츠 아이디들을 플레이리스트에 포함 혹은 연관시키되, 상기 컨텐츠 아이디들은 각각 데이터베이스에 저장되는 컨텐츠 파일들에 대응하는, 단계; 상기 컨텐츠 파일들의 적어도 일부와 연관된 상기 사용자 단말기의 액션들을 상기 컨텐츠 아이디들에 대응하는 로그 데이터 세트들에 반영하는 단계; 상기 로그 데이터 세트들에 기반하여 상기 컨텐츠 아이디들의 적어도 일부를 타겟 아이디들로서 결정하는 단계; 및 상기 타겟 아이디들을 상기 플레이리스트로부터 선택적으로 삭제 혹은 배제하는 단계를 포함한다.
상기 삭제하는 단계는, 상기 타겟 아이디들과 연관된 정보를 상기 사용자 단말기에 전송하는 단계; 및 상기 사용자 단말기로부터 상기 타겟 아이디들의 적어도 일부를 선택하는 신호가 수신될 때 상기 타겟 아이디들의 상기 적어도 일부를 상기 플레이리스트로부터 삭제 혹은 배제하는 단계를 포함할 수 있다.
상기 로그 데이터 세트들 각각은 해당 컨텐츠 아이디가 상기 플레이리스트에 포함 혹은 연관된 시점으로부터 소정의 경과 시간 동안의 상기 사용자 단말기에서의 해당 컨텐츠 파일의 재생과 연관된 로그 데이터를 포함할 수 있다.
상기 컨텐츠 아이디들의 적어도 일부를 상기 타겟 아이디들로서 결정하는 단계는, 상기 로그 데이터 세트들에 기반하여 상기 컨텐츠 아이디들에 각각 대응하는 점수들을 결정하는 단계; 및 상기 결정된 점수들에 따라 상기 타겟 아이디들을 결정하는 단계를 포함할 수 있다.
상기 점수들을 결정하는 단계는, 상기 로그 데이터가 상기 해당 컨텐츠 파일의 프로그래스 시간의 적어도 일부를 스킵하는 동작과 연관된 정보를 포함하는지 여부를 판별하는 단계; 및 상기 판별 결과에 따라 상기 해당 컨텐츠 아이디의 상기 점수를 결정하는 단계를 포함할 수 있다.
상기 점수들을 결정하는 단계는, 상기 로그 데이터로부터 상기 사용자 단말기에서 상기 해당 컨텐츠 파일의 적어도 일부가 재생된 횟수가 시간이 경과할수록 감소하는지 여부를 판별하는 단계; 및 상기 판별 결과에 따라 상기 해당 컨텐츠 아이디의 상기 점수를 결정하는 단계를 포함할 수 있다.
상기 점수들을 결정하는 단계는, 상기 로그 데이터부터 상기 사용자 단말기에서 상기 해당 컨텐츠 파일의 적어도 일부가 재생된 횟수가 임계치 이하인지 여부를 판별하는 단계; 및 상기 판별 결과에 따라 상기 해당 컨텐츠 아이디의 상기 점수를 결정하는 단계를 포함할 수 있다.
상기 컨텐츠 파일들은 상기 사용자 단말기에 의해 실시간으로 수신 및 재생되기 위한 음악 파일들을 포함할 수 있다.
본 발명의 실시 예들에 따르면, 사용자에게 적응적으로 플레이리스트 내 컨텐츠를 삭제할 수 있는 네트워크 서버 및 방법이 제공된다. 예를 들면, 네트워크 서버는 사용자 단말기의 액션들을 모니터링하여 플레이리스트의 컨텐츠 아이디들 중 타겟 아이디들을 결정하고 타겟 아이디들을 플레이리스트로부터 선택적으로 삭제 혹은 배제할 수 있다.
도 1은 본 발명의 실시 예에 따른 네트워크 시스템을 보여주는 블록도이다.
도 2는 도 1의 사용자 단말기에 디스플레이되는 플레이리스트에 대한 정보를 보여주는 도면이다.
도 3는 도 1의 컨텐츠 제공 서버의 실시 예를 보여주는 블록도이다.
도 4는 도 3의 플레이리스트와 컨텐츠 파일들을 개념적으로 보여주는 도면이다.
도 5는 도 3의 로그 데이터를 개념적으로 보여주는 도면이다.
도 6은 도 3의 플레이리스트 관리기의 실시 예를 보여주는 블록도이다.
도 7은 도 6의 비선호 점수 산출부에 의해 결정되는 비선호 점수들을 예시적으로 보여주는 개념도이다.
도 8은 본 발명의 실시 예에 따른 플레이리스트를 관리하는 방법을 보여주는 순서도이다.
도 9는 도 8의 S140단계의 실시 예를 보여주는 순서도이다.
도 10은 도 8의 S130단계의 실시 예를 보여주는 순서도이다.
도 11은 도 10의 S310단계의 실시 예를 보여주는 순서도이다.
도 12는 도 10의 S310단계의 다른 실시 예를 보여주는 순서도이다.
도 13의 도 10의 S310단계의 또 다른 실시 예를 보여주는 순서도이다.
도 14는 도 3의 컨텐츠 제공 서버를 구현하기에 적합한 네트워크 서버의 실시 예를 보여주는 블록도이다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 여기에서 사용된 용어는 특정한 실시예들을 설명하기 위한 것이며 본 발명을 한정하기 위한 것이 아니다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. "X, Y, 및 Z 중 적어도 어느 하나", 그리고 "X, Y, 및 Z로 구성된 그룹으로부터 선택된 적어도 어느 하나"는 X 하나, Y 하나, Z 하나, 또는 X, Y, 및 Z 중 둘 또는 그 이상의 어떤 조합 (예를 들면, XYZ, XYY, YZ, ZZ) 으로 해석될 수 있다. 여기에서, "및/또는"은 해당 구성들 중 하나 또는 그 이상의 모든 조합을 포함한다.
도 1은 본 발명의 실시 예에 따른 네트워크 시스템을 보여주는 블록도이다.
도 1을 참조하면, 네트워크 시스템(100)은 네트워크(50), 사용자 단말기(110), 및 컨텐츠 제공 서버(120)를 포함할 수 있다.
네트워크 시스템(100)은 여기에 설명된 본 발명의 실시 예들에 따른 다양한 방법들을 수행하도록 동작하는 복수의 장치들, 서버들, 및/또는 소프트웨어 구성들을 포함할 수 있다. 도 1에 도시된 장치들 및/또는 서버들은 다른 방식들로 구성될 수 있으며, 장치들 및/또는 서버들에 의해 제공되는 동작들 및 서비스들은 여기에 설명된 실시 예들을 위해 결합되거나 분리될 수 있으며, 더 많은 수 혹은 더 적은 수의 장치들 및/또는 서버들에 의해 수행될 수 있다. 하나 또는 그 이상의 장치들 및/또는 서버들은 동일 혹은 상이한 기업체들에 의해 구동 및/또는 유지될 수 있다.
네트워크(50)는 사용자 단말기(110) 및 컨텐츠 제공 서버(120)와 같은 네트워크 시스템(100) 내 구성 요소들을 연결한다. 네트워크(50)는 인터넷(internet)과 같은 공용 네트워크(public network), 적어도 하나의 사설 네트워크(private network), 유선 네트워크, 무선 네트워크, 다른 적절한 타입의 네트워크, 및 그것들의 조합들 중 적어도 하나를 포함할 수 있다. 네트워크 시스템(100) 내 구성 요소들 각각은 유선 통신 기능 및 무선 통신 기능 중 적어도 하나를 포함할 수 있으며, 그에 따라 네트워크(50)를 통해 상호 간 통신할 수 있다.
사용자 단말기(110)는 네트워크(50)를 통해 컨텐츠 제공 서버(120)와 통신하여 컨텐츠 제공 서버(120)가 제공하는 서비스를 이용하기 위한 동작들을 수행할 수 있다. 예를 들면, 사용자 단말기(110)는 컨텐츠 제공 서버(120)의 웹 페이지에 액세스하고, 컨텐츠 제공 서버(120)에 사용자 계정을 등록할 수 있다. 또한, 사용자 단말기(110)는 컨텐츠 제공 서버(120)에 등록된 컨텐츠들을 검색하고, 검색된 컨텐츠들을 사용자 계정에 대응하는 플레이리스트에 포함시키고, 플레이리스트에 포함된 컨텐츠들에 대응하는 컨텐츠 파일들을 컨텐츠 제공 서버(120)로부터 스트리밍 방식으로 수신 및 재생할 수 있다. 이를 위해, 사용자 단말기(110)는 스트리밍 방식으로 컨텐츠 파일들을 수신 및 재생하도록 구성되는 재생 모듈을 포함할 수 있다. 이러한 재생 모듈은 하드웨어, 소프트웨어, 또는 그들의 조합을 통해 구현될 수 있다.
실시 예들에서, 사용자 단말기(110)는 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기 등과 같은 정보를 유선 및/또는 무선 환경에서 송수신할 수 있는 장치 등을 포함할 수 있다.
컨텐츠 제공 서버(120)는 네트워크(50)를 통해 사용자 단말기(110)와 통신한다. 컨텐츠 제공 서버(120)는 플레이리스트에 대한 정보를 사용자 단말기(110)에 제공할 수 있으며, 사용자 단말기(110)로부터의 요청에 응답하여 플레이리스트의 컨텐츠들에 대응하는 컨텐츠 파일들을 데이터베이스(DB)로부터 사용자 단말기(110)에 제공할 수 있다. 데이터베이스(DB)에 저장된 컨텐츠 파일들은 스트리밍 방식으로 사용자 단말기(110)에서 재생되기에 적합하도록 인코딩된 음악 파일들일 수 있다.
컨텐츠 제공 서버(120)는 사용자 단말기(110)에 의한 컨텐츠 파일의 재생과 연관된 액션들을 나타내는 로그들을 수집하고, 수집된 로그들에 기반하여 플레이리스트를 관리할 수 있다.
도 2는 도 1의 사용자 단말기에 디스플레이되는 플레이리스트에 대한 정보를 보여주는 도면이다.
도 1 및 도 2를 참조하면, 사용자 단말기(110)는 플레이리스트 화면을 컨텐츠 제공 서버(120)로부터 제공받아 디스플레이할 수 있다. 플레이리스트 화면은 복수의 아이템들(ITM1~ITMm)을 포함할 수 있다. 복수의 아이템들(ITM1~ITMm) 각각은 컨텐츠 제공 서버(120)에 의해 제공될 컨텐츠 파일에 대응할 수 있다. 사용자 단말기(110)는 컨텐츠 제공 서버(120)에 복수의 아이템들(ITM1~ITMm) 중 어느 하나에 대응하는 컨텐츠 파일을 요청하고, 해당 컨텐츠 파일을 컨텐츠 제공 서버(120)로부터 스트리밍 방식으로 수신 및 재생할 수 있다.
복수의 아이템들(ITM1~ITMm) 각각은 해당 컨텐츠의 이름, 컨텐츠의 창작자와 같은 메타 데이터의 일부를 표시하기 위한 제 1 영역(AR1)을 포함할 수 있다. 도 2에서, 제 1 아이템(ITM1)은 제 1 영역(AR1)에서 제 1 음악 이름(TT1) 및 제 1 가수 이름(SN1), 제 2 아이템(ITM2)은 제 1 영역(AR1)에서 제 2 음악 이름(TT2) 및 제 2 가수 이름(SN2), 및 제 m 아이템(ITMm)은 제 1 영역(AR1)에서 제 m 음악 이름(TTm) 및 제 m 가수 이름(SNm)을 포함하는 것으로 예시된다. 복수의 아이템들(ITM1~ITMm) 각각은 해당 컨텐츠 파일에 대한 액세스 링크를 포함하는 제 2 영역(AR2)을 더 포함할 수 있다. 제 2 영역(AR2)을 선택하는 사용자 입력에 응답하여, 사용자 단말기(110)는 해당 아이템에 대응하는 컨텐츠 파일을 컨텐츠 제공 서버(120)로부터 수신 및 재생할 수 있다. 또한, 복수의 아이템들(ITM1~ITMm) 각각은 해당 컨텐츠의 메타 데이터의 다른 일부에 대한 액세스 링크를 포함하는 제 3 영역(AR3)을 더 포함할 수 있다. 제 3 영역(AR3)을 선택하는 사용자 입력에 응답하여 사용자 단말기(110)는 해당 컨텐츠의 메타 데이터, 예를 들면 컨텐츠의 해상도(혹은 음질), 장르, 발행일 등을 컨텐츠 제공 서버(120)로부터 수신 및 디스플레이할 수 있다.
도 3는 도 1의 컨텐츠 제공 서버의 실시 예를 보여주는 블록도이다. 도 4는 도 3의 플레이리스트와 컨텐츠 파일들을 개념적으로 보여주는 도면이다. 도 5는 도 3의 로그 데이터를 개념적으로 보여주는 도면이다.
먼저 도 3을 참조하면, 컨텐츠 제공 서버(300)는 컨텐츠 제공 장치(310)와 제 1 및 제 2 데이터베이스들(DB1, DB2)을 포함할 수 있다. 컨텐츠 제공 장치(310)는 스트리밍 서버(311), 플레이리스트 관리기(312), 및 사용자 로그 수집기(313)를 포함할 수 있다.
스트리밍 서버(311)는 제 1 데이터베이스(DB1)에 저장된 컨텐츠 파일들(CFS)을 사용자 단말기(110, 도 1 참조)에 제공하도록 구성된다. 컨텐츠 파일들(CFS)은 스트리밍 방식으로 사용자 단말기(110)에서 재생되기에 적합하도록 인코딩된 음악 파일들일 수 있다. 실시 예들에서, 스트리밍 서버(311)는 특정 컨텐츠를 나타내는 커맨드가 플레이리스트 관리기(312)로부터 수신되는 것에 응답하여 해당 컨텐츠 파일을 제 1 데이터베이스(DB1)로부터 사용자 단말기(110)에 제공할 수 있다. 커맨드는 컨텐츠 아이디를 포함할 수 있다.
플레이리스트 관리기(312)는 제 1 데이터베이스(DB1)에 저장된 플레이리스트(PL) 내 컨텐츠 아이디에 따라, 스트리밍 서버(311)에 커맨드를 전송하여 해당 컨텐츠 파일을 사용자 단말기(110)에 제공하도록 한다. 또한, 플레이리스트 관리기(312)는 사용자 단말기(110)로부터의 요청에 응답하여 플레이리스트(PL)에 컨텐츠 아이디를 업데이트하도록 구성된다.
도 3과 함께 도 4를 참조하면, 플레이리스트(PL)는 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)을 포함할 수 있다. 플레이리스트(PL)는 도 1의 사용자 단말기(110)의 사용자 계정에 대응하는 것이며, 다른 사용자 계정에 대해 별도의 플레이리스트가 제공될 수 있다. 컨텐츠 아이디는 컨텐츠 및/또는 컨텐츠 파일을 식별하기에 적합한 문자, 코드, 기호 등을 포함할 수 있다. 플레이리스트 관리기(312)는 사용자 단말기(110)에 컨텐츠들의 리스트를 제공할 수 있으며, 사용자 단말기(110)로부터의 요청에 응답하여 컨텐츠들의 리스트 중 선택된 것의 컨텐츠 아이디를 플레이리스트(PL)에 추가할 수 있다. 플레이리스트(PL)는 이와 같은 방식으로 다수의 컨텐츠 아이디들(ID1~IDn)을 포함할 수 있다.
실시 예들에서, 플레이리스트(PL)는 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)에 각각 대응하는 제 1 내지 제 n 메타 데이터들(MD1~MDn)을 더 포함할 수 있다. 다른 실시 예들에서, 제 1 내지 제 n 메타 데이터들(MD1~MDn)은 플레이리스트(PL)와 구분된 데이터 세트로서 제 1 데이터베이스(DB1)에 저장되며, 플레이리스트(PL)는 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)과 제 1 내지 제 n 메타 데이터들(MD1~MDn) 사이의 매핑 정보를 포함할 수 있다. 제 1 내지 제 n 메타 데이터들(MD1~MDn) 각각은 해당 컨텐츠의 이름, 컨텐츠의 창작자, 컨텐츠의 해당도, 장르, 발행일 등과 같은 해당 컨텐츠의 연관 정보를 포함할 수 있다. 플레이리스트 관리기(312)는 사용자 단말기(110)로부터의 요청에 응답하여 제 1 내지 제 n 메타 데이터들(MD1~MDn) 각각의 적어도 일부를 리스팅하는 플레이리스트 화면(도 2 참조)을 사용자 단말기(110)에 제공할 수 있다.
컨텐츠 파일들(CFS)은 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)에 매핑되는 제 1 내지 제 n 컨텐츠 파일들(CF1~CFn)을 포함할 수 있다. 제 1 내지 제 n 컨텐츠 파일들(CF1~CFn)은 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)에 각각 연관되도록 저장될 수 있다. 도 4에서, 점선 화살표들은 플레이리스트(PL)의 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)과 제 1 내지 제 n 컨텐츠 파일들(CF1~CFn) 사이의 매핑 관계들을 개념적으로 보여준다. 실시 예들에서, 제 1 내지 제 n 컨텐츠 파일들(CF1~CFn)도 각각 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)을 포함할 수 있다.
사용자 로그 수집기(313)는 제 1 내지 제 n 컨텐츠 파일들(CF1~CFn)의 적어도 일부와 연관된 사용자 단말기(110)의 액션들을 나타내는 및/또는 반영하는 로그 데이터(LD)를 제 2 데이터베이스(DB2)에 저장하도록 구성된다. 도 3과 함께 도 5를 참조하면, 로그 데이터(LD)는 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)에 각각 대응하는 제 1 내지 제 n 로그 데이터 세트들(LDS1~LDSn)을 포함한다. 사용자 로그 수집기(313)는 컨텐츠 파일의 재생과 연관된 사용자 단말기(110)의 액션들을 해당 로그 데이터 세트에 기록할 수 있다. 또한, 사용자 단말기(110)의 요청에 따라 컨텐츠 아이디가 플레이리스트(PL)에 추가된 시간(예를 들면 날짜)을 나타내는 데이터(AT)가 로그 데이터 세트에 포함될 수 있다.
로그 데이터 세트는 컨텐츠 파일의 재생과 연관된 사용자 단말기(110)에서의 로그들을 포함할 수 있다. 실시 예들에서, 사용자 로그 수집기(313)는 컨텐츠 파일이 사용자 단말기(110)에서 재생되는 동안 사용자 단말기(110)에 수신된 사용자 입력에 대한 정보를 사용자 단말기(110)로부터 제공받아 해당 로그 데이터 세트의 사용자 입력 로그(UIL)에 기록할 수 있다. 예를 들면, 사용자 단말기(110)의 사용자는 프로그래스 바(progress bar)와 같은 사용자 인터페이스를 제어하여 혹은 다음 컨텐츠로 이동하기 위한 사용자 인터페이스를 선택하여 재생 중인 컨텐츠 파일의 적어도 일부에 대한 재생을 스킵할 수 있다. 사용자 로그 수집기(313)는 이와 같은 컨텐츠 파일의 프로그래스 시간(progress time)의 적어도 일부를 스킵하는 동작과 연관된 정보를 해당 로그 데이터 세트의 사용자 입력 로그(UIL)에 기록할 수 있다. 예를 들면, 사용자 입력 로그(UIL)는 하나 또는 그 이상의 사용자 입력들에 의해 스킵된 프로그래스 시간들에 대한 정보를 포함할 수 있다. 예를 들면, 사용자 입력 로그(UIL)는 프로그래스 시간이 스킵된 횟수를 나타내는 정보를 포함할 수 있다. 실시 예들에서, 사용자 로그 수집기(313)는 컨텐츠 파일의 적어도 일부가 재생된 시간들을 나타내는 데이터를 해당 로그 데이터 세트의 재생 히스토리(PBH)에 포함시킬 수 있다. 예를 들면, 재생 히스토리(PBH)는 해당 컨텐츠 파일의 적어도 일부가 재생된 시간들을 나타내는 타임 스탬프들을 포함할 수 있다. 예를 들면, 재생 히스토리(PBH)는 해당 컨텐츠 파일의 적어도 일부가 재생된 횟수를 나타내는 정보를 포함할 수 있다.
플레이리스트 관리기(312)는 로그 데이터(LD)에 기반하여 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)의 적어도 일부를 타겟 아이디들로서 결정할 수 있다. 플레이리스트 관리기(312)는 로그 데이터(LD)에 기반하여 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)에 각각 대응하는 비선호 점수들을 결정하고, 결정된 비선호 점수들에 따라 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn) 중 적어도 일부를 타겟 아이디들로서 결정할 수 있다. 플레이리스트 관리기(312)는 결정된 타겟 아이디들을 타겟 리스트(TL)로서 제 2 데이터베이스(DB2)에 저장할 수 있다.
플레이리스트 관리기(312)는 결정된 타겟 아이디들을 플레이리스트(PL)로부터 선택적으로 삭제 혹은 배제할 수 있다. 실시 예들에서, 플레이리스트 관리기(312)는 타겟 아이디들과 연관된 정보를 사용자 단말기(110)에 전송할 수 있다. 타겟 아이디와 연관된 정보는 플레이리스트 화면(도 2 참조)과 마찬가지로 메타 데이터, 예를 들면 컨텐츠의 이름 및 창작자를 포함할 수 있다. 예를 들면, 사용자 단말기(110)는 타겟 아이디들과 연관된 정보와 함께 “당신이 관심없는 음악들이 플레이리스트에 있는 것 같습니다. 이 음악들을 플레이리스트에서 삭제하시겠습니까?”와 같은 메시지를 디스플레이할 수 있다. 사용자 단말기(110)는 타겟 아이디들의 적어도 일부를 선택하는 사용자 입력을 수신할 수 있으며, 선택된 타겟 아이디들을 플레이리스트 관리기(312)에 알릴 수 있다. 플레이리스트 관리기(312)는 선택된 타겟 아이디들을 플레이리스트(PL)로부터 삭제 혹은 배제할 수 있다.
이와 같이, 컨텐츠 제공 장치(310)는 사용자 단말기(110)의 액션들을 모니터링하여 타겟 아이디들을 결정하고 타겟 아이디들을 플레이리스트로부터 선택적으로 삭제 혹은 배제할 수 있으며, 이에 따라 사용자로 하여금 관심없는 컨텐츠들을 플레이리스트로부터 삭제할 수 있도록 돕는다. 따라서, 사용자에게 적응적으로 플레이리스트 내 컨텐츠들을 삭제할 수 있는 컨텐츠 제공 장치(310)가 제공된다.
도 3에서 제 1 및 제 2 데이터베이스들(DB1, DB2)은 컨텐츠 제공 서버(300)에 포함되는 것으로 도시되나, 이는 예시적인 것으로 컨텐츠 제공 서버(300)의 외부에 제공될 수 있다. 이러한 경우, 컨텐츠 제공 장치(310) 네트워크(50, 도 1 참조)를 통해 제 1 및 제 2 데이터베이스들(DB1, DB2)에 액세스할 수 있다. 도 3에서 제 1 및 제 2 데이터베이스들(DB1, DB2)은 분리된 구성 요소들로서 도시되나, 이는 예시적인 것으로 이들은 하나의 데이터베이스로 통합될 수 있다. 혹은, 제 1 및 제 2 데이터베이스들(DB1, DB2)은 더 많은 데이터베이스들로서 구현될 수 있다.
도 6은 도 3의 플레이리스트 관리기의 실시 예를 보여주는 블록도이다. 도 7은 도 6의 비선호 점수 산출부에 의해 결정되는 비선호 점수들을 예시적으로 보여주는 개념도이다.
도 6을 참조하면, 플레이리스트 관리기(400)는 플레이리스트 관리부(410), 삭제리스트 관리부(420), 비선호 점수 산출부(430), 및 비선호 음원 추출부(440)를 포함할 수 있다.
플레이리스트 관리부(410)는 플레이리스트(PL, 도 3 참조)를 관리하도록 구성된다. 플레이리스트 관리부(410)는 스트리밍 서버(311, 도 3 참조)에 커맨드를 전송하여 컨텐츠 파일을 사용자 단말기에 제공하도록 스트리밍 서버(311)를 제어할 수 있다. 또한, 플레이리스트 관리부(410)는 삭제리스트 관리부(420)가 타겟 아이디로서 결정한 컨텐츠 아이디를 플레이리스트(PL)로부터 삭제 혹은 배제할 수 있다.
삭제리스트 관리부(420)는 로그 데이터(LD, 도 3 참조)에 따라 비선호 점수 산출부(430)를 제어하여 컨텐츠 아이디에 대응하는 비선호 점수를 판별하도록 한다. 삭제리스트 관리부(420)는 컨텐츠 아이디가 플레이리스트(PL)에 포함 혹은 연관된 시간으로부터 소정의 시간이 경과할 때, 그 컨텐츠 아이디에 대응하는 비선호 점수를 판별하도록 비선호 점수 산출부(430)를 제어할 수 있다. 실시 예들에서, 삭제리스트 관리부(420)는 로그 데이터(LD)의 제 1 내지 제 n 로그 데이터 세트들(LDS1~LDSn, 도 5 참조) 각각에 포함된 시간 데이터(AT, 도 5 참조)를 참조함으로써 컨텐츠 아이디가 플레이리스트(PL)에 포함 혹은 연관된 시간으로부터 소정의 시간이 경과하였는지 여부를 판별할 수 있다.
비선호 점수 산출부(430)는 컨텐츠 아이디에 대응하는 비선호 점수를 로그 데이터(LD)의 해당 로그 데이터 세트에 기반하여 판별할 수 있다. 실시 예들에서, 비선호 점수 산출부(430)는 로그 데이터 세트의 사용자 입력 로그(UIL, 도 5 참조)가 해당 컨텐츠 파일의 프로그래스 시간의 적어도 일부를 스킵하는 사용자 입력과 연관된 정보를 포함할 때 해당 컨텐츠 아이디에 대응하는 비선호 점수를 증가시킬 수 있다. 예를 들면, 비선호 점수 산출부(430)는 스킵된 프로그래스 시간들의 합이 증가할수록 비선호 점수를 증가시킬 수 있다. 예를 들면, 비선호 점수 산출부(430)는 프로그래스 시간이 스킵된 횟수가 증가할수록 비선호 점수를 증가시킬 수 있다. 실시 예들에서, 비선호 점수 산출부(430)는 로그 데이터 세트의 재생 히스토리(PBH, 도 5 참조)에 기반하여, 해당 컨텐츠 파일의 적어도 일부가 재생된 횟수가 임계치(예를 들면 1회) 이하일 때 비선호 점수를 증가시킬 수 있다. 실시 예들에서, 비선호 점수 산출부(430)는 해당 컨텐츠 파일의 적어도 일부가 재생된 횟수가 낮을수록 비선호 점수를 증가시킬 수 있다. 또한, 비선호 점수 산출부(430)는 로그 데이터 세트의 재생 히스토리(PBH)에 기반하여, 해당 컨텐츠 파일의 적어도 일부가 재생된 횟수가 시간이 경과할수록 감소할수록 비선호 점수를 증가시킬 수 있다. 예를 들면, 비선호 점수 산출부(430)는 시간 구간(예를 들면, 날짜)들에서 컨텐츠 파일이 재생된 횟수들이 시간이 경과할수록 감소할때, 즉 시간 구간 별 재생 횟수가 감소된 기울기를 가질 때 비선호 점수를 증가시킬 수 있다. 도 7을 참조하면, 비선호 점수 산출부(430)에 의해 결정된 제 1 내지 제 n 비선호 점수들(SCR1~SCRn)이 도시된다. 제 1 내지 제 n 비선호 점수들(SCR1~SCRn)은 각각 제 1 내지 제 n 컨텐츠 아이디들(ID1~IDn)에 각각 대응할 수 있다.
비선호 음원 추출부(440)는 제 1 내지 제 n 비선호 점수들(SCR1~SCRn)에 따라 타겟 아이디들을 결정하도록 구성된다. 실시 예들에서, 비선호 음원 추출부(440)는 임계치보다 높은 비선호 점수를 갖는 컨텐츠 아이디를 타겟 아이디로 결정할 수 있다. 예를 들면, 제 1 내지 제 n 비선호 점수들(SCR1~SCRn) 중 제 1 및 제 2 비선호 점수들(SCR1, SCR2)이 임계치보다 낮을 수 있으며, 이러한 경우 도 7에 표시된 바와 같이 제 1 및 제 2 컨텐츠 아이디들(ID1, ID2)이 타겟 아이디들(TID)로서 결정된다. 타겟 아이디들(TID)은 타겟 리스트(TL)를 구성한다.
삭제 리스트 관리부(420)는 로그 데이터(LD)를 참조하여 타겟 아이디들(TID) 각각에 대응하는 컨텐츠 파일이 사용자 단말기(110)에서 재생되는지 여부를 판별하며, 만약 컨텐츠 파일이 사용자 단말기(110)에서 재생된다면 해당 타겟 아이디를 타겟 리스트(TL)로부터 제외할 수 있다. 삭제 리스트 관리부(420)는 타겟 아이디가 특정 시간 동안 타겟 리스트(TL)에 계속 포함(혹은 보관)될 때 그 타겟 아이디를 플레이리스트 관리부(410)에 알릴 수 있다. 플레이리스트 관리부(410)는 그 타겟 아이디를 플레이리스트(PL)로부터 삭제할 수 있다. 실시 예들에서, 플레이리스트 관리부(410)는 타겟 아이디와 연관된 정보를 사용자 단말기(110, 도 1 참조)에 전송할 수 있으며, 사용자 단말기(110)로부터의 피드백 신호에 응답하여 그 타겟 아이디를 플레이리스트(PL)로부터 삭제할 수 있다.
도 8은 본 발명의 실시 예에 따른 플레이리스트를 관리하는 방법을 보여주는 순서도이다.
도 1 및 도 8을 참조하면, S110단계에서, 플레이리스트(PL, 도 4 참조)가 구성된다. 컨텐츠 제공 서버(120)는 사용자 단말기(110)로부터의 하나 또는 그 이상의 요청들에 따라 결정되는 컨텐츠 아이디들을 플레이리스트(PL)에 포함 혹은 연관시킨다. 예를 들면, 사용자 단말기(110)는 사용자 입력에 응답하여 컨텐츠를 플레이리스트(PL)에 포함시킬 것을 컨텐츠 제공 서버(120)에 요청하며, 컨텐츠 제공 서버(120)는 해당 컨텐츠 아이디를 플레이리스트(PL)에 포함시킬 수 있다. 예를 들면, 사용자 단말기(110)에 컨텐츠 파일의 적어도 일부가 제공될 때 해당 컨텐츠 아이디를 플레이리스트(PL)에 포함시킬 수 있다.
S120단계에서, 컨텐츠 제공 서버(120)는 플레이리스트(PL)에 포함된 컨텐츠 아이디들(ID1~IDn, 도 4 참조)의 적어도 일부와 연관된 사용자 단말기(110)의 액션들을 모니터링하여, 사용자 단말기(110)의 액션들을 로그 데이터 세트들(LDS1~LDSn, 도 5 참조)에 반영한다. 사용자 단말기(110)의 액션들은 컨텐츠 파일의 재생과 연관될 수 있다. 예를 들면, 컨텐츠 제공 서버(120)는 컨텐츠 파일의 프로그래스 시간(progress time)의 적어도 일부를 스킵하는 동작과 연관된 정보를 해당 로그 데이터 세트의 사용자 입력 로그(UIL, 도 5 참조)에 기록할 수 있다. 예를 들면, 컨텐츠 제공 서버(120)는 컨텐츠 파일의 적어도 일부가 재생된 시간들을 나타내는 데이터를 해당 로그 데이터 세트의 재생 히스토리(PBH, 도 5 참조)에 기록할 수 있다. 예를 들면, 컨텐츠 제공 서버(120)는 컨텐츠 파일의 적어도 일부가 재생된 횟수를 나타내는 정보를 해당 로그 데이터 세트의 재생 히스토리(PBH)에 카운트할 수 있다.
S130단계에서, 컨텐츠 제공 서버(120)는 로그 데이터 세트들(LDS1~LDSn)에 기반하여 컨텐츠 아이디들(ID1~IDn)의 적어도 일부를 타겟 아이디들로서 결정한다. 컨텐츠 아이디가 플레이리스트(PL)에 포함된 시점으로부터 소정 시간 경과할 때, 해당 로그 데이터 세트에 기반하여 컨텐츠 아이디가 타겟 아이디인지 여부가 결정될 수 있다. 이와 같이, 컨텐츠 아이디가 플레이리스트(PL)에 포함된 시점으로부터 소정 시간 경과할 때까지 업데이트된 로그 데이터 세트에 기반하여, 타겟 아이디가 결정될 수 있다.
S140단계에서, 컨텐츠 제공 서버(120)는 결정된 타겟 아이디들을 플레이리스트(PL)로부터 선택적으로 삭제 혹은 배제한다.
이와 같이, 플레이리스트 관리 방법은 플레이리스트(PL)의 컨텐츠들과 연관된 사용자 단말기(110)의 액션들을 모니터링하여 타겟 아이디들을 결정하고 타겟 아이디들을 플레이리스트로부터 선택적으로 삭제 혹은 배제할 수 있으며, 이에 따라 사용자로 하여금 관심없는 컨텐츠들을 플레이리스트로부터 삭제할 수 있도록 돕는다. 따라서, 사용자에게 적응적으로 플레이리스트 내 컨텐츠들을 삭제할 수 있는 플레이리스트 관리 방법이 제공된다.
도 9는 도 8의 S140단계의 실시 예를 보여주는 순서도이다.
도 1 및 도 9를 참조하면, S210단계에서, 컨텐츠 제공 서버(120)는 결정된 타겟 아이디들과 연관된 정보를 사용자 단말기(110)에 전송한다. 타겟 아이디와 연관된 정보는 사용자 단말기(110)에 디스플레이되는 플레이리스트 화면(도 2 참조)과 마찬가지로 메타 데이터, 예를 들면 컨텐츠의 이름 및 창작자를 포함할 수 있다.
S220단계에서, 사용자 단말기(110)로부터 타겟 아이디들의 적어도 일부를 선택하는 신호가 수신될 때 선택된 타겟 아이디들은 플레이리스트(PL)로부터 삭제 혹은 배제될 수 있다.
도 10은 도 8의 S130단계의 실시 예를 보여주는 순서도이다. 도 11은 도 10의 S310단계의 실시 예를 보여주는 순서도이다. 도 12는 도 10의 S310단계의 다른 실시 예를 보여주는 순서도이다. 도 13의 도 10의 S310단계의 또 다른 실시 예를 보여주는 순서도이다.
도 1 및 도 10을 참조하면, S310단계에서, 컨텐츠 제공 서버(120)는 로그 데이터 세트에 기반하여 해당 컨텐츠 아이디에 대응하는 비선호 점수를 결정한다.
실시 예들에서, 도 11을 참조하면, 컨텐츠 제공 서버(120)는 로그 데이터 세트의 사용자 입력 로그(UIL, 도 5 참조)에 기반하여, 컨텐츠 파일의 프로그래스 시간의 적어도 일부를 스킵하는 동작이 발생하였는지 여부를 판별할 수 있으며(S410), 판별 결과에 따라 해당 비선호 점수를 증가시킬 수 있다(S420). 예를 들면, 사용자는 컨텐츠 파일의 프로그래스 시간의 적어도 일부를 스킵할 수 있으며, 컨텐츠 제공 서버(120)는 스킵된 프로그래스 시간들의 합이 증가할수록 및/또는 프로그래스 시간이 스킵된 횟수가 증가할수록 비선호 점수를 증가시킬 수 있다.
실시 예들에서, 도 12를 참조하면, 컨텐츠 제공 서버(120)는 로그 데이터 세트의 재생 히스토리(PBH, 도 5 참조)에 기반하여, 컨텐츠 파일이 재생된 횟수가 임계치 이하인지 여부를 판별할 수 있으며(S510), 판별 결과에 따라 해당 비선호 점수를 증가시킬 수 있다(S520).
실시 예들에서, 도 13을 참조하면, 컨텐츠 제공 서버(120)는 로그 데이터 세트의 재생 히스토리(PBH)에 기반하여, 컨텐츠 파일이 재생된 횟수가 시간의 경과에 따라 감소하는지 여부를 판별하고(S610), 판별 결과에 따라 해당 비선호 점수를 증가시킬 수 있다(S620).
S320단계에서, 결정된 비선호 점수에 따라 해당 컨텐츠 아이디를 타겟 아이디로 결정한다.
도 14는 도 3의 컨텐츠 제공 서버를 구현하기에 적합한 네트워크 서버의 실시 예를 보여주는 블록도이다.
도 14를 참조하면, 네트워크 서버(1000)는 버스(1100), 적어도 하나의 프로세서(1200), 시스템 메모리(1300), 스토리지 인터페이스(1400), 통신 인터페이스(1500), 저장 매체(1600), 및 통신기(1700)를 포함한다.
버스(1100)는 네트워크 서버(1000)의 다양한 구성 요소들에 연결되어 데이터, 신호, 및 정보를 전달한다. 프로세서(1200)는 범용 혹은 전용 프로세서 중 어느 하나일 수 있으며, 네트워크 서버(1000)의 제반 동작들을 제어할 수 있다.
프로세서(1200)는 실행될 때 다양한 기능들을 제공하는 프로그램 코드들 및 명령어들을 시스템 메모리(1300)에 로딩하고, 로딩된 프로그램 코드들 및 명령어들을 처리하도록 구성된다. 시스템 메모리(1300)는 프로세서(1200)의 워킹 메모리로서 제공될 수 있다. 실시 예로서, 시스템 메모리(1300)는 램(Random Access Memory, RAM), 롬(Read Only Memory, ROM), 및 다른 타입의 컴퓨터에 의해 판독 가능한 매체 중 적어도 하나를 포함할 수 있다.
프로세서(1200)는 프로세서(1200)에 의해 실행될 때 도 3의 스트리밍 서버(311), 플레이리스트 관리기(312), 및 사용자 로그 수집기(313)의 기능들을 제공하는 스트리밍 서버 모듈(1310), 플레이리스트 관리 모듈(3120), 및 사용자 로그 수집 모듈(1330)을 시스템 메모리(1300)에 로딩할 수 있다. 그러한 프로그램 코드들 및/또는 명령어들은 프로세서(1200)에 의해 실행되어 도 3을 참조하여 설명된 스트리밍 서버(311), 플레이리스트 관리기(312), 및 사용자 로그 수집기(313)의 동작들을 수행할 수 있다.
프로그램 코드들 및/또는 명령어들은 별도의 컴퓨터에 의해 판독 가능한 기록 매체인 저장 매체(1600)로부터 시스템 메모리(1300)에 로딩될 수 있다. 또는, 프로그램 코드들 및/또는 명령어들은 네트워크 서버(1000)의 외부로부터 통신기(1700)을 통해 시스템 메모리(1300)에 로딩될 수도 있다.
도 14에서, 시스템 메모리(1300)는 프로세서(1200)와 구분된 구성으로 도시되어 있으나, 시스템 메모리(1300)의 적어도 일부는 프로세서(1200)에 포함될 수도 있다.
스토리지 인터페이스(1400)는 저장 매체(1600)에 연결된다. 스토리지 인터페이스(1400)는 버스(1100)에 연결된 프로세서(1200) 및 시스템 메모리(1300)와 같은 구성 요소들과 저장 매체(1600) 사이를 인터페이싱할 수 있다. 통신 인터페이스(1500)는 통신기(1700)에 연결된다. 통신 인터페이스(1500)는 버스(1100)에 연결된 구성 요소들과 통신기(1700) 사이를 인터페이싱할 수 있다. 프로세서(1200)는 통신기(1700)를 통해 네트워크(50)에 연결된 사용자 단말기(110, 도 1 참조)와 통신할 수 있다.
실시 예들에서, 버스(1100), 프로세서(1200), 및 시스템 메모리(1300)는 하나의 보드(1050)에 통합될 수 있다. 예를 들면, 버스(1100), 프로세서(1200), 및 시스템 메모리(1300)는 하나의 반도체 칩에 실장될 수 있다. 실시 예들에서, 하나의 보드(1050)는 스토리지 인터페이스(1400) 및 통신 인터페이스(1500)를 더 포함할 수 있다.
저장 매체(1600)는 전원이 차단되더라도 저장된 데이터를 유지하는 다양한 타입들의 불휘발성 저장 매체들, 예를 들면 플래시 메모리(flash memory), 하드 디스크(hard disk) 등을 포함할 수 있다. 저장 매체(1600)의 적어도 일부는 도 3의 제 1 및 제 2 데이터베이스들(DB1, DB2)로서 기능할 수 있다.
통신기(1700, 혹은 트랜시버)는 네트워크(50)를 통해 네트워크 서버(1000)와 네트워크 시스템(100, 도 1 참조) 내 다른 장치들 및/또는 서버들 사이의 신호들을 송수신할 수 있다.
비록 특정 실시 예들 및 적용 례들이 여기에 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정들 및 변형들이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 사용자 단말기
120, 300: 컨텐츠 제공 서버
310: 컨텐츠 제공 장치
311: 스트리밍 서버
312: 플레이리스트 관리기
313: 사용자 로그 수집기

Claims (16)

  1. 네트워크와 연결되는 통신기; 및
    상기 통신기를 통해 상기 네트워크와 연결된 사용자 단말기와 통신하도록 구성되는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 사용자 단말기로부터의 하나 또는 그 이상의 요청들에 따라 결정되는 컨텐츠 아이디들을 플레이리스트에 포함 혹은 연관시키되, 상기 컨텐츠 아이디들은 각각 데이터베이스에 저장되는 컨텐츠 파일들에 대응하고;
    상기 컨텐츠 파일들의 적어도 일부와 연관된 상기 사용자 단말기의 액션들을 상기 컨텐츠 아이디들에 대응하는 로그 데이터 세트들에 반영하고;
    상기 로그 데이터 세트들에 기반하여 상기 컨텐츠 아이디들에 대한 사용자의 비선호도들을 나타내는 비선호 점수들을 결정하고, 상기 비선호 점수들에 따라 상기 컨텐츠 아이디들의 적어도 일부를 상기 플레이리스트로부터 선택적으로 삭제 혹은 배제될 타겟 아이디들로서 결정하고,
    상기 타겟 아이디들이 결정된 후 정해진 시간 내에 상기 사용자 단말기가 상기 타겟 아이디들 중 어느 하나에 대응하는 컨텐츠 파일을 적어도 부분적으로 재생하는 경우, 상기 어느 하나의 타겟 아이디를 상기 타겟 아이디들로부터 제외하도록 구성되는 네트워크 서버.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 정해진 시간이 경과한 후에 상기 타겟 아이디들과 연관된 정보를 상기 사용자 단말기에 전송하고;
    상기 사용자 단말기로부터 상기 타겟 아이디들의 적어도 일부를 선택하는 신호가 수신될 때 상기 타겟 아이디들의 상기 적어도 일부를 상기 플레이리스트로부터 삭제 혹은 배제하도록 구성되는 네트워크 서버.
  3. 제 1 항에 있어서,
    상기 로그 데이터 세트들 각각은 해당 컨텐츠 아이디가 상기 플레이리스트에 포함 혹은 연관된 시점으로부터 소정의 경과 시간 동안의 상기 사용자 단말기에서의 해당 컨텐츠 파일의 재생과 연관된 로그 데이터를 포함하는 네트워크 서버.
  4. 제 3 항에 있어서,
    상기 로그 데이터는 상기 해당 컨텐츠 파일의 프로그래스 시간(progress time)의 적어도 일부를 스킵하는 동작과 연관된 정보를 포함하는 네트워크 서버.
  5. 제 3 항에 있어서,
    상기 로그 데이터는 상기 해당 컨텐츠 파일의 적어도 일부가 재생된 시간들을 나타내는 데이터를 포함하는 네트워크 서버.
  6. 제 3 항에 있어서,
    상기 로그 데이터는 상기 사용자 단말기에서 상기 해당 컨텐츠 파일의 적어도 일부가 재생된 횟수를 카운트하는 데이터를 포함하는 네트워크 서버.
  7. 삭제
  8. 제 1 항에 있어서,
    상기 컨텐츠 파일들은 상기 사용자 단말기에 의해 실시간으로 수신 및 재생되기 위한 음악 파일들을 포함하는 네트워크 서버.
  9. 네트워크를 통해 사용자 단말기에 플레이리스트를 제공하는 네트워크 서버의 동작 방법에 있어서:
    상기 사용자 단말기로부터의 하나 또는 그 이상의 요청들에 따라 결정되는 컨텐츠 아이디들을 플레이리스트에 포함 혹은 연관시키되, 상기 컨텐츠 아이디들은 각각 데이터베이스에 저장되는 컨텐츠 파일들에 대응하는, 단계;
    상기 컨텐츠 파일들의 적어도 일부와 연관된 상기 사용자 단말기의 액션들을 상기 컨텐츠 아이디들에 대응하는 로그 데이터 세트들에 반영하는 단계;
    상기 로그 데이터 세트들에 기반하여 상기 컨텐츠 아이디들에 대한 사용자의 비선호도들을 나타내는 비선호 점수들을 결정하는 단계;
    상기 비선호 점수들에 따라 상기 컨텐츠 아이디들의 적어도 일부를 타겟 아이디들로서 결정하는 단계;
    상기 타겟 아이디들이 결정된 후 정해진 시간 내에 상기 사용자 단말기가 상기 타겟 아이디들 중 어느 하나에 대응하는 컨텐츠 파일을 적어도 부분적으로 재생하는 경우, 상기 어느 하나의 타겟 아이디를 상기 타겟 아이디들로부터 제외하는 단계; 및
    상기 정해진 시간이 경과한 후에 상기 타겟 아이디들을 상기 플레이리스트로부터 선택적으로 삭제 혹은 배제하는 단계를 포함하는 방법.
  10. 제 9 항에 있어서,
    상기 삭제 혹은 배제하는 단계는,
    상기 타겟 아이디들과 연관된 정보를 상기 사용자 단말기에 전송하는 단계; 및
    상기 사용자 단말기로부터 상기 타겟 아이디들의 적어도 일부를 선택하는 신호가 수신될 때 상기 타겟 아이디들의 상기 적어도 일부를 상기 플레이리스트로부터 삭제 혹은 배제하는 단계를 포함하는 방법.
  11. 제 9 항에 있어서,
    상기 로그 데이터 세트들 각각은 해당 컨텐츠 아이디가 상기 플레이리스트에 포함 혹은 연관된 시점으로부터 소정의 경과 시간 동안의 상기 사용자 단말기에서의 해당 컨텐츠 파일의 재생과 연관된 로그 데이터를 포함하는 방법.
  12. 삭제
  13. 제 9 항에 있어서,
    상기 비선호 점수들을 결정하는 단계는,
    상기 로그 데이터가 상기 해당 컨텐츠 파일의 프로그래스 시간의 적어도 일부를 스킵하는 동작과 연관된 정보를 포함하는지 여부를 판별하는 단계; 및
    상기 판별 결과에 따라 상기 해당 컨텐츠 아이디의 상기 비선호 점수를 결정하는 단계를 포함하는 방법.
  14. 제 9 항에 있어서,
    상기 비선호 점수들을 결정하는 단계는,
    상기 로그 데이터로부터 상기 사용자 단말기에서 상기 해당 컨텐츠 파일의 적어도 일부가 재생된 횟수가 시간이 경과할수록 감소하는지 여부를 판별하는 단계; 및
    상기 판별 결과에 따라 상기 해당 컨텐츠 아이디의 상기 비선호 점수를 결정하는 단계를 포함하는 방법.
  15. 제 9 항에 있어서,
    상기 비선호 점수들을 결정하는 단계는,
    상기 로그 데이터부터 상기 사용자 단말기에서 상기 해당 컨텐츠 파일의 적어도 일부가 재생된 횟수가 임계치 이하인지 여부를 판별하는 단계; 및
    상기 판별 결과에 따라 상기 해당 컨텐츠 아이디의 상기 비선호 점수를 결정하는 단계를 포함하는 방법.
  16. 제 9 항에 있어서,
    상기 컨텐츠 파일들은 상기 사용자 단말기에 의해 실시간으로 수신 및 재생되기 위한 음악 파일들을 포함하는 방법.
KR1020200137679A 2020-10-22 2020-10-22 네트워크를 통해 사용자 단말기에 제공되는 플레이리스트를 관리하는 네트워크 서버 및 방법 KR102534080B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200137679A KR102534080B1 (ko) 2020-10-22 2020-10-22 네트워크를 통해 사용자 단말기에 제공되는 플레이리스트를 관리하는 네트워크 서버 및 방법
JP2021171445A JP7322118B2 (ja) 2020-10-22 2021-10-20 ネットワークを介してユーザ端末に提供されるプレイリストを管理するネットワークサーバ、方法、およびプログラム。
US17/507,804 US20220129499A1 (en) 2020-10-22 2021-10-22 Network server and method for managing playlist provided to user terminal through network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200137679A KR102534080B1 (ko) 2020-10-22 2020-10-22 네트워크를 통해 사용자 단말기에 제공되는 플레이리스트를 관리하는 네트워크 서버 및 방법

Publications (2)

Publication Number Publication Date
KR20220053337A KR20220053337A (ko) 2022-04-29
KR102534080B1 true KR102534080B1 (ko) 2023-05-19

Family

ID=81258504

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200137679A KR102534080B1 (ko) 2020-10-22 2020-10-22 네트워크를 통해 사용자 단말기에 제공되는 플레이리스트를 관리하는 네트워크 서버 및 방법

Country Status (3)

Country Link
US (1) US20220129499A1 (ko)
JP (1) JP7322118B2 (ko)
KR (1) KR102534080B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008114389A1 (ja) 2007-03-19 2008-09-25 Pioneer Corporation コンテンツ再生システム及びその制御方法
JP2009064314A (ja) * 2007-09-07 2009-03-26 Panasonic Corp コンテンツ再生装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006196048A (ja) * 2005-01-11 2006-07-27 Denso Corp 車載楽曲再生装置
KR20060093423A (ko) * 2005-02-21 2006-08-25 백승부 유무선 인터넷 및 네트워크 기반의 멀티미디어 출력장치에서 멀티미디어 디지털 컨텐츠를 재생하기 위한 원격 제어방법
JP4835302B2 (ja) * 2005-08-01 2011-12-14 ソニー株式会社 情報処理装置,通信方法,コンピュータプログラム
JP4866076B2 (ja) * 2005-12-16 2012-02-01 ソフトバンクBb株式会社 マルチメディア視聴システム及びマルチメディア視聴方法
JP2007243865A (ja) * 2006-03-13 2007-09-20 Matsushita Electric Ind Co Ltd コンテンツ管理装置
JP2008140527A (ja) * 2006-12-05 2008-06-19 Fujifilm Corp 音楽再生装置、およびこれを備えたカメラ
JP4939506B2 (ja) * 2008-09-24 2012-05-30 シャープ株式会社 記録再生装置、記録再生装置の制御方法、プログラム、及び記録媒体
US20110060738A1 (en) * 2009-09-08 2011-03-10 Apple Inc. Media item clustering based on similarity data
JP5681466B2 (ja) * 2010-12-06 2015-03-11 富士通テン株式会社 コンテンツ管理装置、及びコンテンツ管理方法
US9319445B2 (en) * 2012-10-22 2016-04-19 Spotify Ab Systems and methods for pre-fetching media content
KR102077154B1 (ko) * 2013-06-25 2020-02-13 (주)드림어스컴퍼니 사용자 선호도 기반 음악 추천 시스템 및 방법, 그리고 이에 적용되는 서버와 단말
KR102100964B1 (ko) * 2013-07-05 2020-04-14 (주)드림어스컴퍼니 사용자 피드백을 제공하는 음악 추천 시스템 및 그 방법, 그리고 이에 적용되는 서비스 장치
US10346470B1 (en) * 2014-01-20 2019-07-09 Beats Music, Llc Systems and methods for generating playlists in a music service
JP6733240B2 (ja) * 2016-03-18 2020-07-29 ヤマハ株式会社 コンテンツの一覧の更新方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008114389A1 (ja) 2007-03-19 2008-09-25 Pioneer Corporation コンテンツ再生システム及びその制御方法
JP4955055B2 (ja) * 2007-03-19 2012-06-20 パイオニア株式会社 コンテンツ再生システム及びその制御方法
JP2009064314A (ja) * 2007-09-07 2009-03-26 Panasonic Corp コンテンツ再生装置

Also Published As

Publication number Publication date
JP7322118B2 (ja) 2023-08-07
KR20220053337A (ko) 2022-04-29
JP2022068851A (ja) 2022-05-10
US20220129499A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
US10621254B2 (en) Information processing device, information processing method, and program for the same
CN101692238B (zh) 媒体文件的自动选择
CN101692236B (zh) 管理来自多个源的媒体文件
US7636509B2 (en) Media data representation and management
US8462175B2 (en) Image processing apparatus, image processing method, and computer program
US8762380B2 (en) Correlating categories of attributes of contents with classification elements
US9894022B2 (en) Image with audio conversation system and method
US20090276709A1 (en) Method and apparatus for providing dynamic playlists and tag-tuning of multimedia objects
US8707169B2 (en) Information processing apparatus and method for editing artist link information
JP2004500651A5 (ko)
JP2007036830A (ja) 動画管理システム、動画管理方法、クライアント、およびプログラム
KR100928090B1 (ko) 웹상의 텍스트를 음악으로 재생하는 저작 시스템 및 방법
JP4599141B2 (ja) 情報提供システム,情報提供サーバおよびコンピュータプログラム
KR102534080B1 (ko) 네트워크를 통해 사용자 단말기에 제공되는 플레이리스트를 관리하는 네트워크 서버 및 방법
JP5355013B2 (ja) 画像提供システム、画像提供装置、コンピュータプログラム及び画像提供方法
JP2007088967A (ja) コンテンツ供給システム及びコンテンツ再生端末
US20220188062A1 (en) Skip behavior analyzer
KR101424625B1 (ko) 챕터 작성 장치, 챕터 작성 방법 및, 챕터 작성 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체
KR101634897B1 (ko) 음원 관련 영상제공 시스템과 방법
KR100572232B1 (ko) 데이터 전송 방법
JP2010107883A (ja) 情報提供サーバ
KR20220037256A (ko) 편집이 가능한 폴더를 제공하는 방법, 사용자의 폴더에 광고 링크를 추가하는 방법, 및 이를 위한 서비스 서버
JP4396404B2 (ja) コンテンツ提供システム、その方法、サーバおよびプログラム
JP2007058306A (ja) 情報検索装置、情報検索方法、情報検索システム及び情報検索プログラム
KR101679390B1 (ko) 태그 기반 컨텐츠 목록 제공 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant