KR101712570B1 - 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램 - Google Patents

컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR101712570B1
KR101712570B1 KR1020150116759A KR20150116759A KR101712570B1 KR 101712570 B1 KR101712570 B1 KR 101712570B1 KR 1020150116759 A KR1020150116759 A KR 1020150116759A KR 20150116759 A KR20150116759 A KR 20150116759A KR 101712570 B1 KR101712570 B1 KR 101712570B1
Authority
KR
South Korea
Prior art keywords
content
index
user
identification information
users
Prior art date
Application number
KR1020150116759A
Other languages
English (en)
Other versions
KR20170022138A (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 KR1020150116759A priority Critical patent/KR101712570B1/ko
Priority to US15/236,982 priority patent/US10447743B2/en
Priority to JP2016159631A priority patent/JP6789033B2/ja
Publication of KR20170022138A publication Critical patent/KR20170022138A/ko
Application granted granted Critical
Publication of KR101712570B1 publication Critical patent/KR101712570B1/ko
Priority to JP2020183664A priority patent/JP7066804B2/ja
Priority to JP2022073555A priority patent/JP7313508B2/ja
Priority to JP2023113885A priority patent/JP2023145512A/ja

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/10Services
    • 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/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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/22Indexing; Data structures therefor; Storage structures
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • G06F17/30094
    • G06F17/30321
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)

Abstract

본 발명의 일 실시예는 제1 사용자로부터 컨텐츠를 포함하는 컨텐츠 등록 요청을 수신하는 단계; 상기 컨텐츠의 식별정보를 생성하고, 상기 컨텐츠 및 상기 컨텐츠의 식별정보를 컨텐츠 스토리지(storage)에 저장하는 단계; 상기 컨텐츠의 식별 정보를 이용하여 상기 제1 사용자와 기설정된 관계를 갖는 다른 사용자들 각각의 인덱스를 업데이트하기 위한 인덱스 업데이트 명령을 생성하는 단계; 상기 인덱스 업데이트 명령에 기초하여, 인덱스 스토리지에 저장된 상기 다른 사용자들 각각의 인덱스에 상기 컨텐츠의 식별 정보를 추가하는 인덱스 업데이트 명령 처리 단계; 제2 사용자로부터 뉴스피드(news feed) 제공 요청을 수신하는 단계; 상기 제2 사용자의 인덱스에 포함된 컨텐츠의 식별 정보에 기초하여 상기 컨텐츠 스토리지에 저장된 컨텐츠를 독출하고, 상기 컨텐츠를 포함하는 뉴스피드를 상기 제2 사용자에게 제공하는 단계;를 포함하는 컨텐츠 공유 서비스 제공 방법을 개시한다.

Description

컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램{Apparatus, method and computer program for providing contents sharing service}
본 발명의 실시예들은 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램에 관한 것이다.
근래에 인터넷 등의 통신망의 보급과 접근성이 증가함에 따라, 인터넷 상에서 사용자들이 컨텐츠를 서로 공유하고자 하는 요구가 급격히 증가하고 있으며, 사용자들 간 컨텐츠를 공유하는 인터페이스를 제공하는 서비스가 활발하게 제공되고 있는 추세이다. 주로 사용자들의 관계를 기반으로 하여 컨텐츠 공유가 이루어지고 있다.
본 발명의 실시예들은 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램을 제공한다. 상세히, 사용자들의 관계를 기반으로 뉴스피드 화면을 제공하기 위한 인덱스를 생성하는 처리와, 인덱스를 참고하여 뉴스피드를 제공하는 처리를 효율적으로 수행할 수 있는 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램을 제공한다.
본 발명의 일 실시예는 제1 사용자로부터 컨텐츠를 포함하는 컨텐츠 등록 요청을 수신하는 단계; 상기 컨텐츠의 식별정보를 생성하고, 상기 컨텐츠 및 상기 컨텐츠의 식별정보를 컨텐츠 스토리지(storage)에 저장하는 단계; 상기 컨텐츠의 식별 정보를 이용하여 상기 제1 사용자와 기설정된 관계를 갖는 다른 사용자들 각각의 인덱스를 업데이트하기 위한 인덱스 업데이트 명령을 생성하는 단계; 상기 인덱스 업데이트 명령에 기초하여, 인덱스 스토리지에 저장된 상기 다른 사용자들 각각의 인덱스에 상기 컨텐츠의 식별 정보를 추가하는 인덱스 업데이트 명령 처리 단계; 제2 사용자로부터 뉴스피드(news feed) 제공 요청을 수신하는 단계; 및 상기 제2 사용자의 인덱스에 포함된 컨텐츠의 식별 정보에 기초하여 상기 컨텐츠 스토리지에 저장된 컨텐츠를 독출하고, 상기 컨텐츠를 포함하는 뉴스피드를 상기 제2 사용자에게 제공하는 단계;를 포함하는 컨텐츠 공유 서비스 제공 방법을 개시한다.
본 발명의 다른 실시예는 컴퓨터를 이용하여 전술한 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램을 개시한다.
본 발명의 또 다른 실시예는 제1 사용자로부터 컨텐츠를 포함하는 컨텐츠 등록 요청을 수신하고, 상기 컨텐츠의 식별정보를 생성하고, 상기 컨텐츠 및 상기 컨텐츠의 식별정보를 컨텐츠 스토리지(storage)에 저장하는 컨텐츠 등록부; 상기 컨텐츠의 식별 정보를 이용하여 상기 제1 사용자와 기설정된 관계를 갖는 다른 사용자들 각각의 인덱스를 업데이트하기 위한 인덱스 업데이트 명령을 생성하는 인덱스 업데이트 명령 생성부; 상기 인덱스 업데이트 명령에 기초하여, 인덱스 스토리지에 저장된 상기 다른 사용자들 각각의 인덱스에 상기 컨텐츠의 식별 정보를 추가하는 인덱스 업데이트부; 및 제2 사용자로부터 뉴스피드(news feed) 제공 요청을 수신하고, 상기 제2 사용자의 인덱스에 포함된 컨텐츠의 식별 정보에 기초하여 상기 컨텐츠 스토리지에 저장된 컨텐츠를 독출하고, 상기 컨텐츠를 포함하는 뉴스피드를 상기 제2 사용자에게 제공하는 뉴스피드 제공부;를 포함하는 컨텐츠 공유 서비스 제공 장치를 개시한다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
이러한 일반적이고 구체적인 측면이 시스템, 방법, 컴퓨터 프로그램, 또는 어떠한 시스템, 방법, 컴퓨터 프로그램의 조합을 사용하여 실시될 수 있다.
본 발명의 실시예들에 관한 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램은, 컨텐츠 식별정보를 이용하여 뉴스피드용 인덱스를 생성하므로, 인덱스 생성에 필요한 데이터 처리량이 현저히 저감된다.
본 발명의 실시예들에 관한 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램은, 컨텐츠 스토리지(116)를이용하여 컨텐츠를 일률적으로 관리하므로, 사용자가 등록한 컨텐츠가 구독자들에게 전달되는 과정에서 컨텐츠의 내용이 변형될 우려가 저감된다.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 공유 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 컨텐츠 공유 서비스 제공 장치(110)의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 컨텐츠 서비스 제공 방법을 도시한 흐름도이다.
도 4는 일 실시예에 따라 뉴스피드 제공부(114)에 의해 제공되는 뉴스피드 화면의 예이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 공유 시스템의 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 컨텐츠 공유 시스템은 서버(100), 사용자 단말(200), 및 이들을 연결하는 네트워크(300)를 포함한다.
본 발명의 일 실시예에 따라 제공되는 컨텐츠 공유 시스템은, 컨텐츠 공유 서비스를 제공한다. 상세히, 일 실시예에 따라 제공되는 컨텐츠 공유 시스템은, 사용자가 컨텐츠를 업로드하고, 업로드한 컨텐츠를 다른 사용자들과 공유하고, 다른 사용자가 업로드한 컨텐츠를 조회 및 구독하고, 인기 컨텐츠를 조회할 수 있는 컨텐츠 공유 서비스를 제공한다. 일 실시예에 따른 컨텐츠 공유 시스템은, 사용자가 컨텐츠를 업로드하면 이를 서버(100)에 등록하며, 다른 사용자들이 서버(100)에 등록된 컨텐츠를 조회 및 구독할 수 있는 인터페이스를 제공한다. 사용자들은 본인 또는 다른 사용자들이 업로드한 컨텐츠를 “추천”하거나 “좋아요” 등의 토글을 선택하여 컨텐츠에 대한 공감을 표시하거나, 컨텐츠에 덧글을 작성하거나, 컨텐츠를 자신의 계정으로 공유하는 등의 활동을 할 수 있다.
본 발명의 일 실시예에 따라 제공되는 컨텐츠 공유 시스템은, 사용자들이 서로 관계를 맺을 수 있는 서비스를 제공하고, 사용자들 간의 관계를 기반으로 소셜 네트워크 서비스를 제공할 수 있다. 예를 들어, 사용자들은 서로를 친구 관계로 지정할 수 있고, 컨텐츠 공유 시스템은 사용자가 업로드한 컨텐츠를 친구 관계로 지정된 다른 사용자들에게 제공할 수 있다. 또는 사용자는 다른 사용자들의 컨텐츠를 구독 신청할 수 있고, 컨텐츠 공유 시스템은 특정 사용자가 구독 신청한 사용자들의 컨텐츠를 하나의 페이지에 모아 특정 사용자에게 뉴스피드(news-feed) 화면으로 제공한다. 뉴스피드란, 사용자가 구독한 다른 사용자들의 소식 및/또는 사용자와 친구 관계로 지정된 다른 사용자들의 소식을 나열하여 보여주는 화면을 의미한다.
본 발명의 일 실시예에 따라 제공되는 컨텐츠 공유 시스템은, 한 명의 사용자가 업로드한 컨텐츠를 모아서 하나의 페이지에 제공하는 홈 화면을 제공할 수도 있고, 여러 명의 사용자가 각각 업로드한 컨텐츠를 모아서 하나의 페이지에 제공하는 뉴스피드 화면을 제공할 수도 있다. 또한, 하나의 컨텐츠에 대한 엔드 페이지를 제공할 수도 있다. 또한, 특정 검색어에 대응되는 컨텐츠들을 모아서 하나의 페이지에 제공하는 컨텐츠 검색 서비스를 제공할 수 있다.
본 발명의 일 실시예에 따라 사용자에 의해 업로드되는 컨텐츠는 인터넷이나 컴퓨터 통신 등을 통하여 제공되는 각종 정보나 내용물을 의미하며, 이미지, 오디오, 비디오, 텍스트 등을 포함할 수 있다. 일 실시예에 따른 컨텐츠는, 이미지, 오디오, 비디오 등의 영상/음원과, 이에 대한 설명으로써 사용자가 입력하는 텍스트인 본문을 포함할 수 있으나, 이에 한정하지 않는다.
서버(100)는 전술한 컨텐츠 공유 서비스를 사용자 단말(200)에 제공할 수 있다. 서버(100)는 사용자 단말(200)과 통신하면서 사용자 단말(200)의 요청을 처리하고, 컨텐츠를 관리하며, 사용자 계정 정보를 관리할 수 있다. 예를 들어 서버(100)는 사용자 단말(200)로부터 컨텐츠 등록 요청이 수신되면, 컨텐츠를 등록하고, 등록된 컨텐츠를 기반으로 복수 사용자들 각각에게 뉴스피드를 제공하기 위해, 복수 사용자들 각각의 인덱스를 업데이트할 수 있다. 이 때 서버(100)는 컨텐츠 공유 서비스에 가입된 모든 사용자들의 인덱스를 업데이트할 필요는 없으며, 컨텐츠를 등록한 사용자의 소식을 구독하기로 미리 설정된 사용자들의 인덱스 및, 컨텐츠를 등록한 사용자 본인의 인덱스를 업데이트할 수 있다.
사용자 단말(200)은 유무선 통신 환경에서 웹 서비스를 이용할 수 있는 통신 단말을 의미한다. 여기서 사용자 단말(200)은 사용자의 퍼스널 컴퓨터(201)일 수도 있고, 또는 사용자의 휴대용 단말(202)일 수도 있다. 도 1에서는 휴대용 단말(202)이 스마트폰(smart phone)으로 도시되었지만, 본 발명의 사상은 이에 제한되지 아니하며, 상술한 바와 같이 웹 브라우징이 가능한 애플리케이션을 탑재한 단말은 제한 없이 차용될 수 있다.
한편, 사용자 단말(200)은 화면을 표시하는 표시부 및 사용자로부터 데이터를 입력받는 입력 장치를 구비한다. 입력 장치는 예를 들어, 키보드, 마우스, 트랙볼, 마이크, 버튼, 터치패널 등을 포함할 수 있으나, 이에 한정하지 않는다.
네트워크(300)는 사용자 단말(200)과 서버(100)를 연결하는 역할을 수행한다. 예를 들어, 네트워크(300)는 사용자 단말(200)이 서버(100)에 접속한 후 패킷 데이터를 송수신할 수 있도록 접속 경로를 제공한다.
도면에는 도시되지 않았으나, 본 발명의 일 실시예에 따른 서버(100)는 메모리, 입/출력부, 프로그램 저장부, 제어부 등을 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른 컨텐츠 공유 서비스 제공 장치(110)의 구성을 나타낸 블록도이다.
본 발명의 일 실시예에 따른 컨텐츠 공유 서비스 제공 장치(110)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치에 해당할 수 있다. 예를 들어, 컨텐츠 공유 서비스 제공 장치(110)는 적어도 하나 이상의 프로세서(processor)에 해당하거나, 적어도 하나 이상의 프로세서를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 이에 따라, 컨텐츠 공유 서비스 제공 장치(110)는 마이크로 프로세서나 범용 컴퓨터 시스템과 같은 다른 하드웨어 장치에 포함된 형태로 구동될 수 있다. 컨텐츠 공유 서비스 제공 장치(110)는 도 1에 도시된 서버(100)에 탑재될 수 있다.
도 2에 도시된 컨텐츠 공유 서비스 제공 장치(110)는 본 실시예의 특징이 흐려지는 것을 방지하기 위하여 본 실시예와 관련된 구성요소들만을 도시한 것이다. 따라서, 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
예를 들어, 컨텐츠 공유 서비스 제공 장치(110)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 통신부를 더 포함할 수 있다.
또한 컨텐츠 공유 서비스 제공 장치(110)는 컨텐츠 공유 서비스 제공 장치(110)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행하는 메모리를 더 포함할 수 있다. 메모리는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
컨텐츠 공유 서비스 제공 장치(110)는 본 발명의 일 실시예에 따른 컨텐츠 공유 서비스를 제공할 수 있다. 상세히, 컨텐츠 공유 서비스 제공 장치(110)는 사용자로부터 컨텐츠를 수신하여 등록하고, 등록된 컨텐츠를 다른 사용자들에게 제공하는 역할을 수행한다. 등록된 컨텐츠는, 컨텐츠를 등록한 사용자의 소식을 구독하기로 미리 설정된 다른 사용자들에게 제공될 수 있다. 등록된 컨텐츠가 다른 사용자들에게 제공되는 시점은, 다른 사용자들 각각이 자신이 구독한 사용자의 소식을 모아서 볼 수 있는 뉴스피드(news-feed) 화면의 제공을 요청한 시점일 수 있다. 다만, 만약 사용자가 자신의 인덱스가 업데이트 되었을 때 새로운 소식에 대한 알림을 받기로 설정하였다면, 등록된 컨텐츠가 해당 사용자에게 제공되는 시점은 사용자의 인덱스가 업데이트된 시점일 수 있다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 컨텐츠 공유 서비스 제공 장치(110)는 컨텐츠 등록부(111), 인덱스 업데이트 명령 생성부(112), 인덱스 업데이트부(113) 및 뉴스피드 제공부(114)를 포함한다.
각각의 구성은 하나의 프로세서 상에서 모두 구현되며 기능에 따라 구분되는 것일 수 있으나 이에 한정하지 않으며, 각각 별개의 프로세서 상에 구현될 수도 있음은 물론이다. 또한 각각의 구성의 기능은 하나의 프로그램 코드를 통해 통합적으로 구현될 수도 있지만, 각 구성의 기능이 별개의 프로그램 코드로 작성되고, 각 프로그램 코드가 연계되어 컨텐츠 공유 서비스 제공 장치(110)가 제공하는 컨텐츠 공유 서비스를 제공하는 방식으로 구현될 수도 있다.
컨텐츠 공유 서비스 제공 장치(110)는 사용자 계정 스토리지(115), 컨텐츠 스토리지(116), 인덱스 스토리지(117), 및 큐(Queue)(118)를 포함한다. 사용자 계정 스토리지(115), 컨텐츠 스토리지(116), 인덱스 스토리지(117), 및 큐(Queue)(118)는 하나의 저장 장치로 구성될 수도 있으나, 복수의 분리된 저장 장치로 구성될 수도 있다. 사용자 계정 스토리지(115), 컨텐츠 스토리지(116), 인덱스 스토리지(117), 및 큐(Queue)(118)는 컨텐츠 공유 서비스 제공 장치(110) 내에 포함된 것으로 도시되었으나, 이에 한정하는 것은 아니다. 예를 들어 사용자 계정 스토리지(115), 컨텐츠 스토리지(116), 인덱스 스토리지(117), 및 큐(Queue)(118)는 서버(100)와 분리되어 구비되고, 컨텐츠 공유 서비스 제공 장치(110)와 유선 또는 무선으로 통신 가능하도록 구비될 수도 있음은 물론이다.
사용자 계정 스토리지(115)는 본 발명의 일 실시예에 따른 컨텐츠 공유 서비스에 가입된 모든 사용자들의 계정 정보를 저장한다. 사용자 계정 스토리지(115)는 사용자들 간의 친구 관계, 각 사용자가 구독한 다른 사용자들의 계정 목록, 각 사용자를 구독한 구독자들의 계정 목록 등을 저장한다.
컨텐츠 스토리지(116)는 사용자가 등록한 컨텐츠를 저장한다. 사용자로부터 컨텐츠 조회 요청이 수신되었을 때 컨텐츠 스토리지(116)에 저장된 컨텐츠가 독출되어 사용자에게 제공된다. 컨텐츠 스토리지(116)에는 컨텐츠 내용, 컨텐츠 식별번호, 컨텐츠 작성자 정보 등이 저장된다. 컨텐츠 스토리지(116)는 컨텐츠와 식별정보를 일대일 매칭하여 저장한다. 즉, 컨텐츠 스토리지(116)는 복수의 컨텐츠 및 각 컨텐츠에 일대일 매칭되는 식별정보를 저장한다.
인덱스 스토리지(117)는 각 사용자에게 제공할 뉴스피드(news-feed) 화면을 구성하기 위한 인덱스를 저장한다. 인덱스 스토리지(117)는 각 사용자 별 뉴스피드용 인덱스를 저장한다. 각 사용자의 인덱스에는, 각 사용자가 구독한 다른 사용자들의 소식에 관한 식별정보가, 각 소식의 등록 시간 순으로 나열된다. 특정 사용자의 소식이란, 특정 사용자에 의해 등록된 컨텐츠, 특정 사용자의 컨텐츠 공유 서비스 내에서의 활동 이력 등을 포함한다. 예를 들어, 각 사용자의 인덱스에는, 각 사용자가 구독한 다른 사용자들이 업로드한 컨텐츠의 식별정보가, 컨텐츠의 등록 시간 순으로 나열된다. 컨텐츠의 등록 시간은 컨텐츠 스토리지(116)에 컨텐츠가 저장된 시간일 수 있다. 한편, 각 사용자의 인덱스에는 본인의 소식에 관한 식별정보가 더 포함될 수도 있음은 물론이다.
사용자로부터 뉴스피드 화면 제공 요청이 수신되면, 인덱스 스토리지(117)에 저장된 해당 사용자의 인덱스를 참고하여 인덱스에 포함된 컨텐츠 식별번호에 해당하는 컨텐츠들이 컨텐츠 스토리지(116)에서 독출되게 되고, 독출된 컨텐츠들을 포함하는 뉴스피드 화면이 뉴스피드 화면 제공 요청을 전송한 사용자에게 제공될 것이다.
큐(Queue)(118)는 인덱스 업데이트부(113)가 처리할 인덱스 업데이트 명령을 저장한다. 큐(118)는 복수의 명령을 입력된 순으로 나열하여 저장하는 어레이 메모리일 수 있다. 인덱스 업데이트 명령 생성부(112)는 인덱스 업데이트 명령을 생성하여 큐(118)에 저장할 수 있고, 인덱스 업데이트부(113)는 큐(118)에 저장된 순서대로 인덱스 업데이트 명령을 불러와서 처리한다.
이하에서는, 사용자가 등록한 컨텐츠를 다른 사용자들에게 제공하기 위해, 다른 사용자들의 인덱스를 업데이트하고, 업데이트된 인덱스를 기반으로 다른 사용자들에게 뉴스피드 화면을 제공하는 본 발명의 일 실시예에 대하여 설명한다. 이 때 설명의 편의를 위하여, 컨텐츠를 등록하는 사용자를 제1 사용자로, 뉴스피드 제공을 요청하는 사용자를 제2 사용자로 지칭할 것이다. 그러나, 이와 같은 제1, 제2 등의 용어는 설명의 대상이 되는 사용자를 구분하기 위한 목적으로만 사용되는 것일 뿐, 한정적인 의미로 사용되는 것은 아니다. 예를 들어, 제1 사용자와 제2 사용자는 동일 사용자일 수도 있고, 상이한 사용자일 수도 있다.
일 실시예에 따른 컨텐츠 등록부(111)는 제1 사용자로부터 컨텐츠 등록 요청을 수신한다. 컨텐츠 등록 요청은 컨텐츠를 포함하며, 컨텐츠는 텍스트, 이미지, 음원, 위치정보 중 적어도 하나를 포함할 수 있다.
컨텐츠 등록부(111)는 제1 사용자로부터 수신된 컨텐츠의 식별정보를 생성하고, 컨텐츠 및 컨텐츠의 식별정보를 매칭하여 컨텐츠 스토리지(116)에 저장한다. 컨텐츠 등록부(111)는, 제1 사용자의 식별정보와 컨텐츠의 식별정보를 인덱스 업데이트 명령 생성부(112)에 전송한다.
일 실시예에 따른 인덱스 업데이트 명령 생성부(112)는 제1 사용자의 식별정보와, 컨텐츠의 식별정보를 이용하여, 제1 사용자와 기설정된 관계를 갖는 다른 사용자들 각각에 대한 인덱스를 업데이트하기 위한 인덱스 업데이트 명령을 생성한다.
일 실시예에 따르면, 인덱스 업데이트 명령 생성부(112)는 제1 사용자의 식별 정보를 이용하여, 제1 사용자와 기설정된 관계를 갖는 다른 사용자들의 식별 정보 목록을 사용자 계정 스토리지(115)로부터 획득한다. 제1 사용자와 기설정된 관계를 갖는 다른 사용자들이란, 제1 사용자의 소식을 구독하는 구독자들을 의미한다.
그 다음, 인덱스 업데이트 명령 생성부(112)는 사용자 계정 스토리지(115)로부터 획득한 제1 사용자의 구독자들의 식별정보 목록 및 제1 사용자에 의해 등록된 컨텐츠의 식별정보를 포함하는 인덱스 업데이트 명령을 생성한다. 인덱스 업데이트 명령은, 인덱스 스토리지(117)에 저장된 제1 사용자의 구독자들 각각의 인덱스에, 제1 사용자에 의해 등록된 컨텐츠의 식별정보를 추가하기 위한 명령이다. 인덱스 업데이트 명령은 제1 사용자의 식별정보를 더 포함하도록 작성될 수 있다. 즉 인덱스 업데이트 명령은 제1 사용자의 구독자들뿐 아니라 제1 사용자 본인의 인덱스에도 사용자에 의해 등록된 컨텐츠의 식별정보를 추가하기 위한 명령일 수 있다. 제1 인덱스 업데이트 명령 생성부(112)는, 생성된 인덱스 업데이트 명령을 큐(118)에 저장한다.
그러나 본 발명은 이에 한정하지 않는다. 다른 실시예에 따르면, 인덱스 업데이트 명령 생성부(112)는 제1 사용자의 식별정보 및 컨텐츠의 식별정보만을 포함하는 인덱스 업데이트 명령을 생성하여 큐(118)에 저장할 수도 있다. 이 경우에는 인덱스 업데이트를 처리하는 인덱스 업데이트부(113)가 직접 사용자 계정 스토리지(115)를 참조하여 제1 사용자의 식별정보를 이용하여 제1 사용자의 구독자들의 식별정보를 획득할 수 있을 것이다.
일 실시예에 따르면, 인덱스 업데이트 명령 생성부(112)는 제1 사용자의 구독자의 수에 따라 인덱스 업데이트 명령을 둘 이상으로 분할하여 생성할 수 있다. 예를 들어, 제1 사용자의 구독자의 수가 기설정된 단위 구독자수를 초과하면, 인덱스 업데이트 명령을 둘 이상으로 분할하여 생성할 수 있다. 각각의 인덱스 업데이트 명령은, 단위 구독자 수를 넘지 않는 수의 구독자의 인덱스에 제1 사용자가 등록한 컨텐츠 식별정보를 추가하기 위한 명령일 수 있다.
예를 들어, 제1 사용자의 구독자의 수가 1000명이고 기설정된 단위 구독자수가 400명인 경우, 인덱스 업데이트 명령 생성부(112)는 제1 사용자의 구독자 중 첫번째 구독자부터 400번째 구독자까지 총 400명의 구독자의 인덱스에 제1 사용자가 등록한 컨텐츠의 식별정보를 추가하기 위한 제1 인덱스 업데이트 명령을 생성하고, 제1 사용자의 구독자 중 401번째 구독자부터 800번째 구독자까지 총 400명의 구독자의 인덱스에 제1 사용자가 등록한 컨텐츠의 식별정보를 추가하기 위한 제2 인덱스 업데이트 명령을 생성하고, 제1 사용자의 구독자 중 801번째 구독자부터 1000번째 구독자까지 총 200명의 구독자의 인덱스에 제1 사용자가 등록한 컨텐츠의 식별정보를 추가하기 위한 제3 인덱스 업데이트 명령을 생성하여, 총 3개의 인덱스 업데이트 명령을 생성할 수 있다. 인덱스 업데이트 명령 생성부(112)는 생성된 3개의 인덱스 업데이트 명령을 큐(118)에 차례로 저장할 수 있다.
이와 같이 하나의 인덱스 업데이트 명령에 의해 업데이트되는 인덱스의 개수를 제한함으로써, 하나의 인덱스 업데이트 명령을 처리하는 프로세서에 과부하가 걸리는 것을 방지할 수 있다. 또한 큐(118)에 저장된 인덱스 업데이트 명령을 처리하는 프로세서가 여러 개인 경우, 제1 사용자의 구독자의 수가 지나치게 많은 경우에도 복수의 프로세서가 제1 사용자의 구독자의 인덱스를 업데이트하는 처리를 나누어 수행함으로써, 제1 사용자의 컨텐츠 등록에 따른 인덱스 업데이트 처리가 신속하게 종료될 수 있다.
일 실시예에 따른 인덱스 업데이트부(113)는 큐(118)에 저장된 인덱스 업데이트 명령을 하나씩 불러오고, 인덱스 업데이트 명령에 기초하여 제1 사용자의 구독자 각각의 인덱스를 업데이트한다. 상세히, 인덱스 업데이트부(113)는 제1 사용자의 구독자들 각각의 인덱스에, 인덱스 업데이트 명령에 포함된 컨텐츠 식별정보를 추가한다. 인덱스 업데이트부(113)는 큐(118)에 저장된 순서대로 인덱스 업데이트 명령을 불러와서 처리한다. 즉, 인덱스 업데이트부(113)는 큐(118)에 먼저 저장된 인덱스 업데이트 명령을 먼저 처리한다.
일 실시예에 따라 인덱스 업데이트 명령이 제1 사용자의 구독자들 각각의 식별정보와 제1 사용자가 등록한 컨텐츠의 식별정보를 포함하는 경우, 인덱스 업데이트부(113)는 인덱스 스토리지(118)에 저장된 제1 사용자의 구독자들 각각의 인덱스에, 제1 사용자가 등록한 컨텐츠의 식별정보를 추가한다. 인덱스 업데이트부(113)는 특정 인덱스에 특정 컨텐츠 식별정보를 추가할 때, 가장 첫번째 공간에 특정 컨텐츠 식별정보를 추가할 수 있다. 인덱스는 복수의 컨텐츠 식별정보를 순서대로 나열하여 저장할 수 있으며, 새로 추가된 컨텐츠 식별정보는 인덱스의 첫번째 줄에 저장될 수 있다. 이와 같은 저장 방식에 따르면, 인덱스에는 컨텐츠 식별정보가 추가된 순서대로 나열되어 저장되게 되고, 최근에 저장된 컨텐츠 식별정보일수록 앞 줄에 저장되게 된다. 다만, 본 발명이 이에 한정하지 않으며, 최근에 저장된 컨텐츠 식별정보일수록 마지막 줄에 저장되도록 설계할 수도 있을 것이다.
다른 실시예에 따라 인덱스 업데이트 명령이 제1 사용자의 식별정보 및 제1 사용자가 등록한 컨텐츠의 식별정보를 포함하는 경우, 인덱스 업데이트부(113)는 사용자 계정 스토리지(115)로부터 제1 사용자의 식별정보를 이용하여 제1 사용자의 구독자들의 식별정보를 획득하고, 인덱스 스토리지(118)에 저장된 제1 사용자의 구독자들 각각의 인덱스에, 인덱스 업데이트 명령에 포함된 컨텐츠의 식별정보를 추가한다.
한편, 인덱스 업데이트부(113)는 컨텐츠를 등록한 당사자인 제1 사용자의 인덱스 역시 업데이트할 수 있다. 각 사용자의 뉴스피드에는 자신이 구독한 다른 사용자의 컨텐츠 뿐 아니라 자신이 작성한 컨텐츠 역시 표시될 수 있다. 상세히, 인덱스 업데이트부(113)는 인덱스 업데이트 명령을 참고하여, 인덱스 스토리지(117)에 저장된 제1 사용자의 인덱스에 제1 사용자가 등록한 컨텐츠의 식별정보를 추가할 수 있다.
인덱스 업데이트부(113)는 복수의 프로세서를 포함할 수 있고, 복수의 프로세서 각각은 큐(118)에 저장된 인덱스 업데이트 명령을 하나씩 불러와서 비동기적으로 처리할 수 있다. 복수의 프로세서 각각은 큐(118)에서 불러온 인덱스 업데이트 명령의 처리가 종료되면, 큐(118)에서 다음 인덱스 업데이트 명령을 불러와서 처리하게 되며, 복수의 프로세서 각각은 독립적으로 인덱스 업데이트 명령을 처리할 수 있다.
일 실시예에 따른 뉴스피드 제공부(114)는 제2 사용자로부터 뉴스피드(news-feed) 제공 요청을 수신하고, 인덱스 스토리지(117)에 저장된 제2 사용자의 인덱스에 기초하여 제2 사용자에게 뉴스피드를 제공한다. 상세히, 뉴스피드 제공부(114)는 인덱스 스토리지(117)에 저장된 제2 사용자의 인덱스에 포함된 컨텐츠 식별정보에 매칭되는 컨텐츠를 컨텐츠 스토리지(116)로부터 독출하고, 독출된 컨텐츠를 포함하는 뉴스피드를 제2 사용자에게 제공한다.
전술한 것과 같이 제2 사용자의 인덱스가 최근에 저장된 컨텐츠 식별정보일수록 앞줄에 저장하도록 설계된 경우, 뉴스피드 제공부(114)는, 뉴스피드에 복수의 컨텐츠를 나열하여 제공할 때, 제2 사용자의 인덱스에 각 컨텐츠의 식별 정보가 저장되어 있는 순서와 동일한 순서로 컨텐츠를 나열하여 제공한다.
다만, 다른 실시예에 따라 최근에 저장된 컨텐츠 식별정보일수록 인덱스의 마지막 줄에 저장되도록 설계된 경우에는, 뉴스피드 제공부(114)는 제2 사용자의 인덱스에 각 컨텐츠의 식별 정보가 저장되어 있는 순서와 역순으로 뉴스피드 화면에 컨텐츠를 나열하여 제공할 수 있다.
뉴스피드 제공부(114)는 제2 사용자의 인덱스에 포함된 복수의 컨텐츠 식별정보 중 기설정된 개수를 넘지 않는 만큼의 컨텐츠 식별정보를 선택하고, 선택된 컨텐츠 식별정보에 대응되는 컨텐츠를 컨텐츠 스토리지(116)로부터 독출하고, 독출된 컨텐츠를 포함하는 뉴스피드를 제2 사용자에게 제공한다. 뉴스피드에 컨텐츠가 나열되는 순서는, 인덱스에 컨텐츠의 식별정보가 나열된 순서에 대응될 수 있다.
이 때 뉴스피드 제공부(114)는 제2 사용자의 인덱스에 포함된 복수의 컨텐츠 식별정보 중 기설정된 개수를 넘지않는 만큼의 컨텐츠 식별정보를 선택할 때, 인덱스의 앞부분부터 기설정된 개수를 넘지않는 만큼의 컨텐츠 식별정보를 선택할 수 있다. 이에 따르면, 제2 사용자의 인덱스에 가장 최근에 추가된 기설정된 개수를 넘지 않는 만큼의 컨텐츠 식별정보에 대응되는 컨텐츠를 포함하는 뉴스피드가 제공된다. 예를 들어, 제2 사용자의 인덱스에 총 50개의 컨텐츠 식별정보가 나열되어 저장되고, 기설정된 개수가 20개인 경우, 뉴스피드 제공부(114)는 제2 사용자의 인덱스에 저장된 50개의 컨텐츠 식별정보 중 앞에서부터 20개의 컨텐츠 식별정보에 대응되는 컨텐츠를 포함하는 뉴스피드를 제공한다. 다만, 다른 실시예에 따라 최근에 저장된 컨텐츠 식별정보일수록 인덱스의 마지막 줄에 저장되도록 설계된 경우에는, 뉴스피드 제공부(114)는 인덱스의 뒷줄부터 기설정된 개수를 넘지않는 만큼의 컨텐츠 식별정보를 선택할 것이다.
이와 같이 뉴스피드가 제한적으로 제공되더라도, 제2 사용자로부터 추가 컨텐츠 요청이 있으면, 뉴스피드 제공부(114)는 기설정된 개수만큼의 컨텐츠 식별정보에 대응되는 컨텐츠를 뉴스피드에 더 포함시켜 제공할 수 있다. 예를 들어, 제2 사용자의 인덱스에 총 50개의 컨텐츠 식별정보가 나열되어 저장되고, 기설정된 개수가 20개여서, 앞에서부터 20개의 컨텐츠 식별정보에 대응되는 컨텐츠를 포함하는 뉴스피드가 먼저 제공된 경우, 사용자로부터 추가 컨텐츠 요청이 수신되면, 뉴스피드 제공부(114)는 21번째에서부터 40번째까지의 컨텐츠 식별정보에 대응되는 컨텐츠를 컨텐츠 스토리지(116)에서 독출하여 뉴스피드에 더 포함시켜 제공한다. 이 경우 뉴스피드는 총 40개의 컨텐츠를 포함하게 된다.
전술한 본 발명의 실시예들에 따르면, 컨텐츠 자체에 관한 처리는 최초 컨텐츠를 등록할 때와, 최종 뉴스피드 제공을 위해 컨텐츠를 독출할 때에 한정된다. 그 외 인덱스를 처리하는 과정에서는, 단지 컨텐츠의 식별정보가 이용될 뿐이다.
이러한 본 발명의 실시예들에 따르면, 컨텐츠 공유 서비스의 사용자들이 늘어나고 사용자들 간의 구독 관계 또한 복잡해지더라도, 인덱스 처리에 필요한 데이터 처리량을 최소화함으로써 인덱스 처리를 빠르게 수행할 수 있는 효과가 있다.
도 3은 본 발명의 일 실시예에 따른 컨텐츠 서비스 제공 방법을 도시한 흐름도이다.
도 3에 도시된 흐름도는, 제1 사용자(210), 서버(100), 제2 사용자(220)에서 시계열적으로 처리되는 단계들로 구성된다. 여기서 서버(100)는 도 2에 도시된 컨텐츠 서비스 제공 장치(110)를 구비한다. 따라서 이하에서 생략된 내용이라 하더라도, 도 2에서 도시된 구성들에 관하여 이상에서 기술된 내용은 도 3에 도시된 흐름도에도 적용됨을 알 수 있다.
도 3을 참조하면, 단계 31에서 제1 사용자(210)는 컨텐츠 등록 요청을 서버(100)에 전송한다. 컨텐츠 등록 요청은 컨텐츠를 포함한다.
단계 32에서 서버(100), 상세히 도 2의 컨텐츠 등록부(111)는, 단계 31에서 수신된 컨텐츠의 식별정보를 생성하고, 컨텐츠 및 컨텐츠 식별정보를 컨텐츠 스토리지(116)에 저장한다.
단계 33에서 서버(100), 상세히 도 2의 인덱스 업데이트 명령 생성부(112)는, 단계 32에서 생성된 컨텐츠 식별정보를 이용하여, 제1 사용자와 기설정된 관계를 갖는 다른 사용자들 각각의 인덱스를 업데이트하기 위한 인덱스 업데이트 명령을 생성한다.
단계 34에서 서버(100), 상세히 도 2의 인덱스 업데이트부(113)는, 단계 33에서 생성된 인덱스 업데이트 명령에 따라, 제1 사용자와 기설정된 관계를 갖는 다른 사용자들 각각의 인덱스에 단계 32에서 생성된 컨텐츠 식별정보를 추가한다. 사용자들의 인덱스는 인덱스 스토리지(117)에 저장되며, 단계 34에서 인덱스 업데이트부(113)는 인덱스 스토리지(117)에 저장된 인덱스를 업데이트한다.
단계 35에서 제2 사용자는 뉴스피드 제공을 요청한다.
단계 36에서 서버(100), 상세히 도 2의 뉴스피드 제공부(114)는, 인덱스 스토리지(117)에 저장된 제2 사용자의 인덱스를 참고하여, 제2 사용자에게 뉴스피드를 제공한다.
도 4는 일 실시예에 따라 뉴스피드 제공부(114)에 의해 제공되는 뉴스피드 화면의 예이다.
도 4에 도시된 화면(40)은 제2 사용자의 뉴스피드 화면의 예로, 제2 사용자가 구독하는 다른 사용자들의 소식이 나열되어 있음을 볼 수 있다. 예를 들어, 도 4를 참조하면, 제2 사용자에게 제공된 뉴스피드의 화면(40)은 제2 사용자가 구독한 사용자인 이원식의 컨텐츠(41)와, 제2 사용자가 구독한 또 다른 사용자인 둘리의 컨텐츠(42)가 나열되어 있다.
도 4를 참조하면, 컨텐츠(41)는 이미지(411) 및 본문(412)을 포함할 수 있다. 컨텐츠(41)에 대하여 사용자들은 공감을 표시하거나 덧글을 작성할 수 있으며, 컨텐츠(41)에 대한 공감 정보와 덧글 정보가 컨텐츠 하단(413)에 표시되어 있음을 볼 수 있다.
인덱스 스토리지(117)에 저장된 제2 사용자의 인덱스에는, 첫번째로 이원식의 컨텐츠 식별정보가 저장되어 있을 것이고, 그 다음으로 둘리의 컨텐츠의 식별정보가 저장되어 있을 것이다.
또한 컨텐츠 스토리지(116)에는 이원식의 컨텐츠 식별정보 및 이에 매칭되는 실제 컨텐츠와, 둘리의 컨텐츠 식별정보 및 이에 매칭되는 실제 컨텐츠가 저장되어 있을 것이다.
뉴스피드 제공부(114)는 인덱스 스토리지(117)에 저장된 제2 사용자의 인덱스에 포함된 컨텐츠 식별정보를 참조하여, 각 컨텐츠 식별정보에 매칭되는 컨텐츠를 컨텐츠 스토리지(116)에서 독출하며, 독출된 컨텐츠들을 제2 사용자의 인덱스에 컨텐츠 식별정보가 나열된 순서와 동일한 순서로 나열하여 뉴스피드 화면(40)을 제공한다.
이와 같이 인덱스는 실제 컨텐츠의 내용을 저장하지는 않으며, 컨텐츠의 식별정보만을 저장한다. 따라서 뉴스피드 제공부(114)는 뉴스피드 화면을 구성하기 위해 인덱스 스토리지(117) 및 컨텐츠 스토리지(116)를 모두 참조하여야 한다.
한편, 도 3에 도시된 본 발명의 일 실시예에 따른 컨텐츠 공유 서비스 제공 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있으며, 균등한 다른 실시 예가 가능함을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100: 서버
200: 사용자 단말
300: 네트워크
110: 컨텐츠 공유 서비스 제공 장치
111: 컨텐츠 등록부
112: 인덱스 업데이트 명령 생성부
113: 인덱스 업데이트부
114: 뉴스피드 제공부
115: 사용자 계정 스토리지
116: 컨텐츠 스토리지
117: 인덱스 스토리지
118: 큐

Claims (11)

  1. 컨텐츠 공유 서비스 제공 장치가 제1 사용자로부터 컨텐츠를 포함하는 컨텐츠 등록 요청을 수신하는 단계;
    상기 컨텐츠 공유 서비스 제공 장치는 상기 컨텐츠의 식별정보를 생성하고, 상기 컨텐츠 및 상기 컨텐츠의 식별정보를 매칭하여 컨텐츠 스토리지(storage)에 저장하는 단계;
    상기 컨텐츠 공유 서비스 제공 장치는 상기 제1 사용자의 식별 정보를 이용하여, 상기 제1 사용자와 기설정된 관계를 갖는 다른 사용자들의 식별 정보 목록을 획득하고, 상기 다른 사용자들의 식별 정보 목록 및 상기 컨텐츠의 식별 정보를 포함하는, 상기 다른 사용자들 각각의 인덱스를 업데이트하기 위한 인덱스 업데이트 명령을 생성하는 단계;
    상기 컨텐츠 공유 서비스 제공 장치는 상기 인덱스 업데이트 명령을 큐(Queue)에 저장하되, 상기 제1 사용자와 기설정된 관계를 가지는 사용자의 수가 기 설정된 단위 구독자 수를 초과하는 경우, 상기 인덱스 업데이트 명령을 2개 이상으로 분할하여 생성된 복수의 인덱스 업데이트 명령들을 큐(Queue)에 저장하는 단계;
    상기 컨텐츠 공유 서비스 제공 장치는 상기 하나 이상의 인덱스 업데이트 명령에 기초하여, 인덱스 스토리지에 저장된 상기 다른 사용자들 각각의 인덱스에 상기 컨텐츠의 식별 정보를 추가하는 인덱스 업데이트 명령 처리 단계;
    상기 컨텐츠 공유 서비스 제공 장치가 제2 사용자로부터 뉴스피드(news feed) 제공 요청을 수신하는 단계; 및
    상기 컨텐츠 공유 서비스 제공 장치는 상기 제2 사용자의 인덱스에 포함된 컨텐츠의 식별 정보에 기초하여 상기 컨텐츠 스토리지에 저장된 컨텐츠를 독출하고, 상기 컨텐츠를 포함하는 뉴스피드를 상기 제2 사용자에게 제공하는 단계;를 포함하는 컨텐츠 공유 서비스 제공 방법.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서,
    상기 저장하는 단계 이후에,
    상기 컨텐츠 공유 서비스 제공 장치는 상기 인덱스 스토리지에 저장된 상기 제1 사용자의 인덱스에 상기 컨텐츠의 식별 정보를 추가하는 단계;를 더 포함하는 컨텐츠 공유 서비스 제공 방법.
  5. 제1 항에 있어서,
    상기 제1 사용자와 기설정된 관계를 갖는 다른 사용자들은,
    상기 제1 사용자의 소식을 구독하는 사용자들인 컨텐츠 공유 서비스 제공 방법.
  6. 제1 항에 있어서,
    상기 컨텐츠 스토리지는,
    복수의 컨텐츠 및 식별 정보를 일대일로 매칭하여 저장하고,
    상기 제공하는 단계는,
    상기 제2 사용자의 인덱스에 포함된 컨텐츠의 식별 정보에 매칭되는 컨텐츠를 상기 컨텐츠 스토리지에서 독출하는 컨텐츠 공유 서비스 제공 방법.
  7. 제1 항에 있어서,
    상기 인덱스 스토리지는,
    상기 컨텐츠 공유 서비스에 가입된 사용자들 각각의 인덱스를 저장하고,
    상기 인덱스에는 상기 각각의 사용자가 구독한 다른 사용자들이 등록한 컨텐츠의 식별 정보가 나열되는, 컨텐츠 공유 서비스 제공 방법
  8. 제7 항에 있어서,
    상기 인덱스에서 상기 컨텐츠의 식별 정보는 상기 컨텐츠가 등록된 순서대로 나열되는 컨텐츠 공유 서비스 제공 방법
  9. 제1 항에 있어서,
    상기 뉴스피드는, 상기 제2 사용자의 인덱스에 컨텐츠의 식별정보가 저장된 순서대로 상기 컨텐츠의 식별정보에 대응되는 컨텐츠를 나열하는 화면인 컨텐츠 공유 서비스 제공 방법
  10. 컴퓨터를 이용하여 제1 항, 제4 항 내지 제9 항 중 어느 한 항의 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램.
  11. 제1 사용자로부터 컨텐츠를 포함하는 컨텐츠 등록 요청을 수신하고, 상기 컨텐츠의 식별정보를 생성하고, 상기 컨텐츠 및 상기 컨텐츠의 식별정보를 매칭하여 컨텐츠 스토리지(storage)에 저장하는 컨텐츠 등록부;
    상기 제1 사용자의 식별 정보를 이용하여, 상기 제1 사용자와 기설정된 관계를 갖는 다른 사용자들의 식별 정보 목록을 획득하고, 상기 다른 사용자들의 식별 정보 목록 및 상기 컨텐츠의 식별 정보를 포함하는, 상기 다른 사용자들 각각의 인덱스를 업데이트하기 위한 인덱스 업데이트 명령을 생성하는 인덱스 업데이트 명령 생성부;

    상기 인덱스 업데이트 명령에 기초하여, 인덱스 스토리지에 저장된 상기 다른 사용자들 각각의 인덱스에 상기 컨텐츠의 식별 정보를 추가하는 인덱스 업데이트부; 및
    제2 사용자로부터 뉴스피드(news feed) 제공 요청을 수신하고, 상기 제2 사용자의 인덱스에 포함된 컨텐츠의 식별 정보에 기초하여 상기 컨텐츠 스토리지에 저장된 컨텐츠를 독출하고, 상기 컨텐츠를 포함하는 뉴스피드를 상기 제2 사용자에게 제공하는 뉴스피드 제공부;를 포함하고,
    상기 인덱스 업데이트 명령 생성부는
    상기 인덱스 업데이트 명령을 큐(Queue)에 저장하되, 상기 제1 사용자와 기설정된 관계를 가지는 사용자의 수가 기 설정된 단위 구독자 수를 초과하는 경우, 상기 인덱스 업데이트 명령을 2개 이상으로 분할하여 생성된 복수의 인덱스 업데이트 명령들을 큐(Queue)에 저장하는 점을 특징으로 하는, 컨텐츠 공유 서비스 제공 장치.
KR1020150116759A 2015-08-19 2015-08-19 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램 KR101712570B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020150116759A KR101712570B1 (ko) 2015-08-19 2015-08-19 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램
US15/236,982 US10447743B2 (en) 2015-08-19 2016-08-15 Apparatus, method and non-transitory computer-readable recording medium for providing content sharing service
JP2016159631A JP6789033B2 (ja) 2015-08-19 2016-08-16 コンテンツ共有サービス提供方法、その装置及びそのコンピュータプログラム
JP2020183664A JP7066804B2 (ja) 2015-08-19 2020-11-02 コンテンツ共有サービス提供方法、その装置及びそのコンピュータプログラム
JP2022073555A JP7313508B2 (ja) 2015-08-19 2022-04-27 コンテンツ共有サービス提供方法、その装置及びそのコンピュータプログラム
JP2023113885A JP2023145512A (ja) 2015-08-19 2023-07-11 コンテンツ共有サービス提供方法、その装置及びそのコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150116759A KR101712570B1 (ko) 2015-08-19 2015-08-19 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20170022138A KR20170022138A (ko) 2017-03-02
KR101712570B1 true KR101712570B1 (ko) 2017-03-06

Family

ID=58206577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150116759A KR101712570B1 (ko) 2015-08-19 2015-08-19 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램

Country Status (3)

Country Link
US (1) US10447743B2 (ko)
JP (4) JP6789033B2 (ko)
KR (1) KR101712570B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11930234B2 (en) 2021-07-30 2024-03-12 Kakao Corp Method for providing subscription service, system, user device, and application implementing the method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296586B2 (en) * 2016-12-23 2019-05-21 Soundhound, Inc. Predicting human behavior by machine learning of natural language interpretations
KR102478988B1 (ko) * 2020-12-28 2022-12-16 주식회사 카카오 리액션 제공 방법 및 서버
US11134119B1 (en) * 2021-03-30 2021-09-28 Dropbox, Inc. Intent tracking for asynchronous operations
KR102457950B1 (ko) * 2021-05-10 2022-10-25 포티투닷 주식회사 맵 수정 데이터를 공유하는 방법 및 장치
KR102671343B1 (ko) * 2022-08-11 2024-06-03 (주)뮤직몹 프라이빗 음원데이터 싱크 시스템 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013539568A (ja) * 2010-07-01 2013-10-24 フェイスブック,インク. ソーシャルネットワークのユーザ間のやりとりの円滑化

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124491A (ja) * 1996-10-24 1998-05-15 Fujitsu Ltd 文書共有整理システム,共有文書管理装置および文書アクセス装置
US6571234B1 (en) * 1999-05-11 2003-05-27 Prophet Financial Systems, Inc. System and method for managing online message board
JP3900286B2 (ja) * 2003-04-15 2007-04-04 日本電気株式会社 記事配信方法およびサーバ
US20120203831A1 (en) * 2011-02-03 2012-08-09 Kent Schoen Sponsored Stories Unit Creation from Organic Activity Stream
KR101475552B1 (ko) * 2008-04-01 2015-01-02 야후! 인크. 사용자에게 컨텐츠를 제공하기 위한 방법 및 서버
US8667009B2 (en) * 2009-07-21 2014-03-04 Saambaa Llc Systems and methods for utilizing and searching social network information
US8499048B2 (en) * 2010-10-27 2013-07-30 Facebook, Inc. Indexing and organizing messages in a messaging system using social network information
JP2012170047A (ja) * 2011-01-28 2012-09-06 Sony Corp 情報処理装置、情報処理方法、及びプログラム
US8812591B2 (en) * 2011-06-15 2014-08-19 Facebook, Inc. Social networking system data exchange
US9727924B2 (en) * 2011-10-10 2017-08-08 Salesforce.Com, Inc. Computer implemented methods and apparatus for informing a user of social network data when the data is relevant to the user
US9503535B2 (en) * 2012-03-06 2016-11-22 Salesforce.Com, Inc. Computer implemented methods and apparatus for automatically following entities in an online social network
US8874559B1 (en) * 2012-10-01 2014-10-28 Google Inc. Ranking and ordering items in user-streams
US9183239B2 (en) * 2012-12-04 2015-11-10 Linkedin Corporation Optimizing a content index for target audience queries
JP5760033B2 (ja) * 2013-04-25 2015-08-05 株式会社オプティム ユーザ端末、ネットワークサーバ、情報共有方法、及びネットワークサーバ用プログラム
JP5554447B1 (ja) * 2013-11-28 2014-07-23 株式会社 ディー・エヌ・エー 情報提供システム、情報提供プログラム、及び情報提供方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013539568A (ja) * 2010-07-01 2013-10-24 フェイスブック,インク. ソーシャルネットワークのユーザ間のやりとりの円滑化

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11930234B2 (en) 2021-07-30 2024-03-12 Kakao Corp Method for providing subscription service, system, user device, and application implementing the method

Also Published As

Publication number Publication date
JP2017041245A (ja) 2017-02-23
JP2022110000A (ja) 2022-07-28
KR20170022138A (ko) 2017-03-02
JP7313508B2 (ja) 2023-07-24
JP6789033B2 (ja) 2020-11-25
JP2021015633A (ja) 2021-02-12
JP7066804B2 (ja) 2022-05-13
US10447743B2 (en) 2019-10-15
US20170054771A1 (en) 2017-02-23
JP2023145512A (ja) 2023-10-11

Similar Documents

Publication Publication Date Title
KR101712570B1 (ko) 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램
US9654577B2 (en) Techniques to generate mass push notifications
US10326715B2 (en) System and method for updating information in an instant messaging application
US20200387275A1 (en) Federated commenting for digital content
CN110366041B (zh) 媒体数据分享方法、装置及设备
US10911565B2 (en) Method, device and system for associating a service account
CN103069413A (zh) 基于另一个用户的用户偏好为一个用户定制显示内容
US20180137121A1 (en) Content identification based on dynamic group profiles
CN107450808B (zh) 一种浏览器的鼠标指针定位方法及计算设备
JP2017041245A5 (ko)
US9471669B2 (en) Presenting previously selected search results
WO2014176896A1 (en) System and method for updating information in an instant messaging application
US20130024766A1 (en) System and method of context aware adaption of content for a mobile device
JP5878671B1 (ja) デジタルコンテンツを配信するシステム、方法、及びプログラム
US20160358188A1 (en) Downstream utilities in a website using multi-objective optimization
CN108073638B (zh) 数据诊断方法及装置
US20150019611A1 (en) Providing device-specific instructions in response to a perception of a media content segment
US10225366B1 (en) Classification-based selection of a device for use in outputting a message
KR102130017B1 (ko) 컨텐츠 관리 방법 및 이를 수행하기 위한 클라우드 서버
US20180324230A1 (en) System and method for digital content broadcasting to subscribers in a network
JP6604862B2 (ja) デジタルコンテンツを配信するシステム、方法、及びプログラム
KR20220045301A (ko) 광고성 해시태그 관리 방법 및 장치
CN113535253A (zh) 一种业务处理系统、业务处理的方法以及相关装置
US20150019612A1 (en) Providing device-specific instructions in response to a perception of a media content segment
Nahrstedt Back and to the future: quality provisioning for multimedia content delivery

Legal Events

Date Code Title Description
GRNT Written decision to grant