KR101784131B1 - 메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 api 서버 및 스트리밍 서버 - Google Patents

메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 api 서버 및 스트리밍 서버 Download PDF

Info

Publication number
KR101784131B1
KR101784131B1 KR1020170015050A KR20170015050A KR101784131B1 KR 101784131 B1 KR101784131 B1 KR 101784131B1 KR 1020170015050 A KR1020170015050 A KR 1020170015050A KR 20170015050 A KR20170015050 A KR 20170015050A KR 101784131 B1 KR101784131 B1 KR 101784131B1
Authority
KR
South Korea
Prior art keywords
streaming
viewer
information
instance
authentication
Prior art date
Application number
KR1020170015050A
Other languages
English (en)
Other versions
KR20170048256A (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 KR20170048256A publication Critical patent/KR20170048256A/ko
Application granted granted Critical
Publication of KR101784131B1 publication Critical patent/KR101784131B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F17/30876
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

스트리밍 서버의 주소, 동영상을 수신할 시청자 단말의 전화 번호에 기초한 인증 정보, 동영상의 식별 정보, 및 시청자의 식별 정보에 기초하여 URL를 생성하고, 메시징 서비스를 이용하여 URL을 시청자 단말에게 전송하는 동영상 제공 방법, 동영상 제공을 위한 API 서버 및 스트리밍 서버가 제공된다.

Description

메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 API 서버 및 스트리밍 서버{METHOD FOR PROVIDING VIDEO USING MESSAGING SERVICE, API SERVER, AND STREAMING SERVER FOR PROVIDING VIDEO}
아래 실시예들은 메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 API 서버(Application Programming Interface(API) server) 및 스트리밍 서버(streaming server)에 관한 것이다.
스마트 폰의 보급과 함께, 영화, DMB(Digital Multimedia Broadcasting), 인터넷 강의 등과 같은 다양한 멀티미디어 컨텐츠를 언제, 어디서든 편리하게 제공받을 수 있게 되었다. 특히, 인터넷 강의, 영화 동영상들은 중, 고등학생뿐만 아니라 성인들에게도 영어, 또는 다양한 자격증 시험 등의 준비 방법으로 활용되고 있다. 다만, 이와 같이 동영상을 제공받기 위해서는 해당 동영상을 제공해 주는 어플리케이션의 설치, 및 회원 가입이 선행되어야 하고, 회원은 어플리케이션의 구동 후, 시청하고자 하는 영상을 찾아서 클릭해야 하는 불편한 프로세스를 거쳐야 한다.
아래에서 설명할 실시예들은 메시징 서비스를 이용한 푸시 동영상 서비스를 제공할 수 있다. 실시예들에 의하면, 컨텐츠 시청자들은 자신들의 스마트 기기에 별도의 어플리케이션을 설치할 필요 없이 메시징 서비스를 통하여 수신된 단축 URL을 클릭하는 것만으로, 컨텐츠 제공자가 푸시하는 동영상을 시청할 수 있다. 이 때, API 서버와 스트리밍 서버는 서로 연동하여, 컨텐츠 시청자를 인증하고, 중복 시청자를 검사하며, 각 컨텐츠 시청자의 시청 분량을 트래킹할 수 있다.
일 측에 따른 서비스 서버의 동작 방법은 스트리밍 서비스를 위한 메시지의 전송 요청에 반응하여, 스트리밍 인스턴스를 생성하는 단계; 스트리밍 컨텐츠의 제공자와 관련된 정보, 현재 시간과 관련된 정보, 상기 스트리밍 컨텐츠의 시청자와 관련된 정보, 및 상기 스트리밍 컨텐츠와 관련된 정보에 기초하여, 상기 스트리밍 인스턴스에 고유한 인증 정보를 생성하는 단계; 및 스트리밍 주소, 상기 인증 정보, 및 상기 스트리밍 인스턴스의 식별 정보에 기초하여 생성되는 URL(Uniform Resource Locator)을 상기 시청자의 단말에게 전송하는 단계를 포함한다.
상기 스트리밍 인스턴스는 미리 정해진 필드들을 포함하고, 상기 미리 정해진 필드들은 상기 인증 정보, 상기 스트리밍 인스턴스의 식별 정보, 상기 시청자의 식별 정보, 상기 스트리밍 컨텐츠의 식별 정보, 및 상기 스트리밍 인스턴스의 유효 여부를 판별하는 시간 정보를 저장할 수 있다.
상기 전송 요청에 의하여 복수의 시청자들이 지정되는 경우, 상기 스트리밍 인스턴스를 생성하는 단계는 상기 복수의 시청자들 각각을 위한 스트리밍 인스턴스를 생성하는 단계를 포함할 수 있다.
상기 URL을 상기 시청자의 단말에게 전송하는 단계는 상기 스트리밍 주소, 상기 인증 정보, 및 상기 스트리밍 인스턴스의 식별 정보에 기초하여 단축 URL(shorten URL)을 생성하는 단계; 및 미리 정해진 메시징 서비스를 이용하여, 상기 단축 URL을 상기 시청자의 단말에게 전송하는 단계를 포함할 수 있다.
상기 URL을 상기 시청자의 단말에게 전송하는 단계는 상기 스트리밍 주소, 상기 인증 정보, 및 상기 스트리밍 인스턴스의 식별 정보에 기초하여, URL 생성 서버에 상기 URL의 생성 및 전송 중 적어도 하나를 요청하는 단계를 포함할 수 있다.
상기 제공자와 관련된 정보는 상기 제공자의 비밀 키(private key)를 포함하고, 상기 시청자와 관련된 정보는 상기 시청자의 전화 번호를 포함할 수 있다.
상기 서비스 서버의 동작 방법은 스트리밍 서버로부터 시청자 인증 요청을 수신하는 단계; 상기 시청자 인증 요청에 포함된 식별 정보에 기초하여, 데이터베이스에 저장된 스트리밍 인스턴스에 액세스하는 단계; 상기 액세스된 스트리밍 인스턴스의 인증 정보와 상기 시청자 인증 요청에 포함된 인증 정보를 비교함으로써, 시청자 인증을 수행하는 단계; 및 상기 스트리밍 서버로 시청자 인증 결과를 전송하는 단계를 더 포함할 수 있다.
상기 서비스 서버의 동작 방법은 스트리밍 서버로부터 시청자 인증 요청을 수신하는 단계; 상기 시청자 인증 요청에 포함된 식별 정보에 기초하여, 데이터베이스에 저장된 스트리밍 인스턴스에 액세스하는 단계; 현재 시간 및 상기 액세스된 스트리밍 인스턴스의 시간 정보에 기초하여, 시청자 인증을 수행하는 단계; 및 상기 스트리밍 서버로 시청자 인증 결과를 전송하는 단계를 더 포함할 수 있다.
상기 서비스 서버의 동작 방법은 스트리밍 서버로부터 중복 시청자 검사 요청을 수신하는 단계; 상기 중복 시청자 검사 요청에 포함된 식별 정보에 기초하여, 데이터베이스에 저장된 스트리밍 인스턴스에 액세스하는 단계; 상기 액세스된 스트리밍 인스턴스의 에이전트 정보와 상기 중복 시청자 검사 요청에 포함된 에이전트 정보를 비교함으로써, 중복 시청자 검사를 수행하는 단계; 및 상기 스트리밍 서버로 중복 시청자 검사 결과를 전송하는 단계를 더 포함할 수 있다.
상기 서비스 서버의 동작 방법은 스트리밍 서버로부터 전송 분량 트래킹 요청을 수신하는 단계; 상기 전송 분량 트래킹 요청에 포함된 식별 정보에 기초하여, 데이터베이스에 저장된 스트리밍 인스턴스에 액세스하는 단계; 및 상기 전송 분량 트래킹 요청에 포함된 전송 분량 정보에 기초하여, 상기 액세스된 스트리밍 인스턴스의 전송 분량 정보를 업데이트하는 단계를 더 포함할 수 있다.
상기 서비스 서버의 동작 방법은 상기 제공자의 단말로부터 리포트 요청을 수신하는 단계; 상기 리포트 요청에 포함된 식별 정보에 기초하여, 데이터베이스에 저장된 스트리밍 인스턴스에 액세스하는 단계; 상기 액세스된 스트리밍 인스턴스의 전송 분량 정보에 기초하여, 상기 액세스된 스트리밍 인스턴스에 관한 리포트를 생성하는 단계; 및 상기 리포트를 상기 제공자의 단말로 제공하는 단계를 더 포함할 수 있다.
일 측에 따른 스트리밍 서버의 동작 방법은 시청자의 단말로부터 스트리밍 요청을 수신하는 단계; 상기 스트리밍 요청으로부터 스트리밍 주소, 스트리밍 인스턴스의 식별 정보 및 상기 스트리밍 인스턴스의 인증 정보를 추출하는 단계; 상기 식별 정보 및 상기 인증 정보에 기초하여, 시청자 인증을 수행하는 단계; 및 시청자 인증 결과에 따라, 상기 스트리밍 주소에 대응하는 스트리밍 컨텐츠를 상기 시청자의 단말로 전송하는 단계를 포함할 수 있다.
상기 스트리밍 인스턴스는 미리 정해진 필드들을 포함하고, 상기 미리 정해진 필드들은 상기 스트리밍 인스턴스에 고유한 인증 정보, 상기 스트리밍 인스턴스를 식별하는 정보, 상기 시청자를 식별하는 정보, 상기 스트리밍 컨텐츠를 식별하는 정보, 및 상기 스트리밍 인스턴스의 유효 여부를 판별하는 시간 정보를 저장할 수 있다.
상기 스트리밍 요청은 상기 시청자의 단말에서 상기 스트리밍 주소, 상기 식별 정보, 및 상기 인증 정보에 기초하여 생성되는 단축 URL이 선택됨에 따라 발생될 수 있다.
상기 시청자 인증을 수행하는 단계는 상기 식별 정보 및 상기 인증 정보에 기초하여, 서비스 서버에 시청자 인증을 요청하는 단계; 및 상기 서비스 서버로부터 시청자 인증 결과를 수신하는 단계를 포함할 수 있다.
상기 스트리밍 서버의 동작 방법은 상기 시청자의 단말로부터 에이전트 정보를 획득하는 단계; 및 상기 식별 정보 및 상기 에이전트 정보에 기초하여, 중복 시청자 검사를 수행하는 단계를 더 포함할 수 있다.
상기 스트리밍 서버의 동작 방법은 상기 스트리밍 컨텐츠의 전송 분량과 관련된 정보 및 상기 식별 정보에 기초하여, 서비스 서버로 전송 분량 트래킹을 요청하는 단계를 더 포함할 수 있다.
일 측에 따른 메시징 서비스를 이용하여 스트리밍 서비스를 제공하는 API 서버는 스트리밍 컨텐츠의 제공자와 관련된 정보, 현재 시간과 관련된 정보, 상기 스트리밍 컨텐츠의 시청자와 관련된 정보, 및 상기 스트리밍 컨텐츠와 관련된 정보 중 적어도 하나에 기초하여, 스트리밍 인스턴스에 고유한 인증 정보를 생성하는 생성부; 및 스트리밍 주소, 상기 인증 정보, 및 상기 스트리밍 인스턴스의 식별 정보를 포함하는 URL을 상기 시청자의 단말에게 전송하는 전송부를 포함한다.
일 측에 따른 메시징 서비스를 이용하여 스트리밍 서비스를 제공하는 스트리밍 서버는 시청자의 단말에 의한 스트리밍 요청으로부터 스트리밍 주소, 스트리밍 인스턴스의 식별 정보 및 상기 스트리밍 인스턴스의 인증 정보를 추출하는 추출부; 상기 식별 정보 및 상기 인증 정보에 기초하여, 시청자 인증을 수행하는 인증부; 및 시청자 인증 결과에 따라, 상기 스트리밍 주소에 대응하는 스트리밍 컨텐츠를 상기 시청자의 단말로 전송하는 스트리밍부를 포함한다.
일 측에 따른 동영상 제공 방법은 스트리밍 서버의 주소, 동영상을 수신할 시청자 단말의 전화 번호에 기초한 인증 정보, 동영상의 식별 정보, 및 시청자의 식별 정보에 기초하여 URL(Uniform Resource Locator)을 생성하는 단계; 및 메시징 서비스를 이용하여 상기 URL을 상기 시청자 단말에게 전송하는 단계를 포함한다.
상기 동영상 제공 방법은 상기 동영상을 상기 스트리밍 서버에게 전송한 컨텐츠 제공자로부터 상기 동영상의 제공을 위한 메시지 전송 요청을 수신하는 단계; 및 상기 메시지 전송 요청에 응답하여, 상기 동영상의 시청자 목록에 대응하는 전화번호를 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
상기 동영상 제공 방법은 상기 스트리밍 서버로부터, 상기 시청자 단말에게 제공된 상기 동영상의 전송 분량, 상기 동영상의 식별 정보, 및 상기 시청자의 식별 정보를 포함하는 정보를 수신하는 단계; 및 상기 수신된 정보를 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
상기 동영상 제공 방법은 컨텐츠 제공자의 요청에 응답하여, 상기 컨텐츠 제공자에게 상기 시청자 단말에게 제공된 상기 동영상의 전송 분량, 상기 동영상의 식별 정보, 및 상기 시청자의 식별 정보를 포함하는 정보를 보고(report)하는 단계를 더 포함할 수 있다.
상기 동영상 제공 방법은 컨텐츠 제공자의 로그-인(Log-In)에 응답하여, 상기 컨텐츠 제공자에게, 상기 시청자 단말에게 상기 동영상을 제공하는 스트리밍 서버의 주소 및 상기 컨텐츠 제공자의 인증을 위한 키 정보를 전송하는 단계를 더 포함할 수 있다.
상기 동영상 제공 방법은 상기 시청자의 상기 동영상에 대한 전송 요청에 응답하여 상기 인증 정보를 이용하여 상기 시청자의 인증을 수행한 스트리밍 서버로부터, 상기 시청자가 중복 시청자인지 여부에 대한 판단 결과를 수신하는 단계를 더 포함할 수 있다.
상기 동영상 제공 방법은 상기 중복 시청자로 판단된 시청자에 대응하는 시청자의 식별 정보 및 시청자 단말에 대한 정보를 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
상기 동영상 제공 방법은 상기 동영상을 시청할 시청자 및 상기 동영상의 타입은 컨텐츠 제공자에 의해 선택되고, 상기 동영상의 타입은 미리 저장된 동영상을 제공하는 VoD(Video on Display) 타입 및 실시간으로 촬영된 동영상을 제공하는 라이브(Live) 타입 중 적어도 하나를 포함할 수 있다.
일 측에 따른 동영상 제공 방법은 메시징 서비스를 통해 전송된 URL이 선택됨에 따라, 시청자 단말로부터 동영상에 대한 전송 요청 -상기 전송 요청은 상기 시청자 단말에 대한 정보, 상기 시청자 단말의 전화 번호에 기초한 인증 정보 및 시청자의 식별 정보를 포함함-을 수신하는 단계; 상기 전송 요청에 응답하여, 상기 시청자를 인증하는 단계; 및 상기 인증 결과에 따라, 상기 시청자 단말에게 상기 동영상을 제공하는 단계를 포함한다.
상기 URL은 스트리밍 서버의 주소, 상기 인증 정보, 상기 동영상의 식별 정보, 및 상기 시청자의 식별 정보에 기초하여 생성될 수 있다.
상기 시청자를 인증하는 단계는 상기 인증 정보를 이용하여 상기 시청자를 인증하는 단계를 포함할 수 있다.
상기 시청자를 인증하는 단계는 상기 시청자가 중복 시청자 인지 여부를 체크하는 단계를 포함할 수 있다.
상기 중복 시청자 인지 여부를 체크하는 단계는 상기 인증 정보, 상기 시청자 단말에 대한 정보 및 상기 시청자 단말의 IP 어드레스 중 적어도 하나를 이용하여 상기 시청자가 중복 시청자인지 여부를 체크하는 단계를 포함할 수 있다.
상기 동영상 제공 방법은 상기 시청자 단말로 제공된 상기 동영상의 전송 분량을 측정하는 단계; 및 상기 전송 분량, 상기 동영상의 식별 정보, 및 상기 시청자의 식별 정보를 포함하는 정보를 API 서버에게 전송하는 단계를 더 포함할 수 있다.
상기 동영상의 전송 분량을 측정하는 단계는 상기 동영상의 식별 정보 및 상기 시청자의 식별 정보에 기초하여, 상기 시청자 단말로 제공된 상기 동영상의 전송 분량을 측정하는 단계를 포함할 수 있다.
상기 동영상 제공 방법은 상기 동영상의 전송 분량에 기초하여, 상기 동영상에 대한 연속 재생을 제공하는 단계를 더 포함할 수 있다.
일 측에 따른 동영상 제공을 위한 API 서버는 스트리밍 서버의 주소, 동영상을 수신할 시청자 단말의 전화 번호에 기초한 인증 정보, 동영상의 식별 정보, 및 시청자의 식별 정보에 기초하여 URL를 생성하는 프로세서; 및 메시징 서비스를 이용하여 상기 URL을 상기 시청자 단말에게 전송하는 통신 인터페이스를 포함한다.
일 측에 따른 동영상 제공을 위한 스트리밍 서버는 메시징 서비스를 통해 전송된 URL이 선택됨에 따라, 시청자 단말로부터 동영상에 대한 전송 요청 -상기 전송 요청은 상기 시청자 단말에 대한 정보, 상기 시청자 단말의 전화 번호에 기초한 인증 정보 및 시청자의 식별 정보를 포함함-을 수신하는 통신 인터페이스; 및 상기 전송 요청에 응답하여, 상기 시청자를 인증하고, 상기 인증 결과에 따라, 상기 시청자 단말에게 상기 동영상을 제공하는 프로세서를 포함한다.
상기 URL은 상기 스트리밍 서버의 주소, 상기 인증 정보, 상기 동영상의 식별 정보, 및 상기 시청자의 식별 정보에 기초하여 생성될 수 있다.
도 1은 일 실시예에 따른 메시징 서비스를 이용한 동영상 제공 방법을 설명하기 위한 도면.
도 2는 일 실시예에 따른 메시징 서비스를 이용한 VoD(Video on Display) 동영상을 제공하는 방법을 설명하기 위한 도면.
도 3은 일 실시예에 따른 메시징 서비스를 이용한 라이브(Live) 동영상을 제공하는 방법을 설명하기 위한 도면.
도 4는 일 실시예에 따른 API 서버의 동영상 제공 방법을 나타낸 흐름도.
도 5는 일 실시예에 따른 스트리밍 서버의 동영상 제공 방법을 나타낸 흐름도.
도 6은 일 실시예에 따라 컨텐츠 제공자가 컨텐츠 시청자에게 URL을 전달하는 과정을 설명하기 위한 도면.
도 7 내지 도 9는 실시예들에 따른 컨텐츠 제공자 단말의 인터페이스 화면을 설명하는 도면들.
도 10은 일 실시예에 따라 컨텐츠 시청자가 동영상을 제공받는 과정을 설명하기 위한 도면.
도 11은 일 실시예에 따른 컨텐츠 제공자 단말이 API 서버로부터 제공받은 레포트를 나타낸 도면.
도 12는 일 실시예에 따른 동영상 제공을 위한 API 서버의 블록도.
도 13은 일 실시예에 따른 동영상 제공을 위한 스트리밍 서버의 블록도.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의"와 "바로~간의" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 일 실시예에 따른 메시징 서비스를 이용한 동영상 제공 방법을 설명하기 위한 도면이다. 도 1을 참조하면, 일 실시예에 따른 컨텐츠 시청자(110)가 단말을 통해 스트리밍 서버(130)로부터 동영상을 제공받는 환경이 도시된다.
일 실시예에 따르면, 컨텐츠 시청자(110)는 단말을 통해 수신되는 SMS(Short Message Service), MMS(Multi-media Message Service), 및 인스턴트 메시지 서비스(Instant message service) 등과 같이 메시지를 이용하는 메시징 서비스를 통하여, 동영상을 제공받을 수 있다. 일 예로, 메시징 서비스는 URL이 포함된 메시지를 컨텐츠 시청자(110)의 단말에 푸시(push)할 수 있다.
컨텐츠 시청자(110)는 단말에 별도의 어플리케이션을 설치하지 않고도 메시징 서비스를 통해 전송된 메시지를 통하여 동영상을 시청할 수 있다. 동영상은 예를 들어, 라이브(Live) 타입의 동영상 및 VoD(Video on Display) 타입의 동영상을 포함할 수 있다.
컨텐츠 시청자(110)는 메시징 서비스를 통해 전송된 메시지를 수신하고, 메시지 내에 포함된 URL(Uniform Resource Locator)을 선택(클릭)하는 것만으로 바로 동영상을 시청할 수 있다.
컨텐츠 시청자(110)의 단말은 예를 들어, 터미널(terminal), 퍼스널 컴퓨터(Personal Computer), 태블릿(tablet) 컴퓨터, 스마트 폰(smart phone), PDA(Personal Digital Assistant), 웨어러블 디바이스(wearable device) 등을 포함할 수 있다.
컨텐츠 시청자(110)에 의해 메시지 내에 포함된 URL이 선택되면, 스트리밍 서버(130)는 선택된 URL에 대응되는 동영상을 유/무선 네트워크(50)를 통해 컨텐츠 시청자의 단말로 제공할 수 있다. 네트워크(50)는 예를 들면, 인터넷, 인트라넷들, 익스트라넷들, 광역 네트워크들(WANs), 근거리 네트워크들(LANs), 유선 네트워크들, 무선 네트워크들, 혹은 그외 적합한 네트워크들, 등 혹은 상기 네트워크들의 둘 이상의 임의의 조합을 포함할 수 있다.
스트리밍 서버(130)는 선택된 URL에 대응되는 동영상을 컨텐츠 시청자(110)의 단말에 적합한 비디오 포맷으로 제공할 수 있다.
스트리밍 서버(130)는 컨텐츠 시청자(110)의 접속 파라미터 값을 기준으로 컨텐츠 시청자(110)가 인증된 사용자인지 또는 중복 사용자는 아닌지 여부 등을 체크한 후, 컨텐츠 시청자(110)에게 적합한 동영상을 제공할 수 있다. 컨텐츠 시청자(110)의 접속 파라미터 값은 예를 들어, 인증 키와 같은 인증 정보를 포함할 수 있다.
일반적으로 컨텐츠 시청자(110)는 동영상을 제공받기 위해 어플리케이션을 설치하고, 해당 어플리케이션에 회원 가입 후, 로그-인(Log-In) 함으로써 동영상을 시청할 수 있는 번거로운 과정을 거쳐야 한다. 반면, 일 실시예에 따르면, 컨텐츠 시청자(110)는 수신된 문자를 클릭하는 단순한 과정을 통해 손쉽게 동영상을 시청할 수 있다.
실시예들은 대기업, 공기업, 등 다양한 기업의 의무 수강에 적용될 수 있다. 실시예들에 따르면, 해당 강좌를 듣기 위해 매번 앱 설치 또는 프로그램 설치, 회원 인증 등 불편한 과정을 거치고, 진도를 체크해가면서 시청하는 등의 불편함이 해소될 수 있다.
또한, 실시예들은 광고 서비스에도 적용될 수 있다. 예를 들어, 일반적인 광고 서비스는 특정 장소에서 이벤트가 진행되는 그 순간에 문자를 전송하는데 그치지만, 실시예들에 따르면 컨텐츠 제공자가 해당 장소에서 라이브로 동영상을 촬영하면서 문자를 보내고, 컨텐츠 시청자(110)가 그 문자를 클릭하는 경우 현지 장소의 이벤트를 관람하는 형태의 서비스가 제공될 수 있다.
또한, 실시예들은 학원 서비스에도 적용될 수 있다. 예를 들어, 수업에 참석 못한 학생들에게 라이브 또는 VoD 영상을 용이하게 전송할 수 있다. 물론 전술한 방법들에 따른 동영상 시청은 미리 허가된(인증된) 컨텐츠 시청자(110)에게만 허용될 수 있다. 이때, 컨텐츠 제공자는 각 사용자의 시청율을 개인 별로 확인할 수 있다.
일 실시예에 따르면, 메시징 서비스를 이용하여 컨텐츠 시청자(110)의 단말 상에서의 동영상 시청이 가능할 뿐만 아니라, 컨텐츠 시청자의 동영상 시청에 대한 이력 조회, 보안, 및 인증 또한 컨텐츠 제공자의 단말 상에서 용이하게 구현될 수 있다.
도 2는 일 실시예에 따른 메시징 서비스를 이용한 VoD(Video on Display) 동영상을 제공하는 방법을 설명하기 위한 도면이다. 도 2를 참조하면, 일 실시예에 따른 동영상 제공 시스템은 컨텐츠 제공자 단말(210), 비디오 컨텐츠 관리 시스템(Video Contents Management System(CMS))(220), 데이터베이스(DB)(230), API 서버(240), 스트리밍 서버(250), 및 컨텐츠 시청자 단말(260)을 포함한다.
컨텐츠 제공자 단말(210)은 VoD 동영상을 비디오 컨텐츠 관리 시스템(220)으로 푸시할 수 있다. VoD 동영상은 컨텐츠 제공자 단말(210)에 미리 준비된 영상이거나, 컨텐츠 제공자에 의해 미리 촬영된 영상일 수 있다. 또한, 컨텐츠 제공자 단말(210)은 컨텐츠 시청자의 시청 조회를 할 수 있다. 컨텐츠 제공자 단말(210)에서 수행되는 동영상 촬영, 푸시, 배포, 및 시청 조회 등과 관련된 인터페이스 화면은 도 7 내지 도 9 및 도 11을 참조하여 설명한다.
컨텐츠 제공자 단말(210)은 비디오 컨텐츠 관리 시스템(220)을 통해 VoD 동영상을 데이터베이스(230)에 저장할 수 있다. VoD 동영상은 예를 들어, 전자 학습(e-learning) 영상, 영화 영상, 공연 영상 등을 포함할 수 있다. 비디오 컨텐츠 관리 시스템(220)은 비디오 컨텐츠를 생성, 보관, 관리하는 일련의 작업(Task)을 수행할 수 있다. 비디오 컨텐츠 관리 시스템(220)은 다양한 포맷의 컨텐츠인 문서, 이미지, 동영상, 소리 등을 제작, 배포, 및 관리할 수 있다.
API 서버(240)는 데이터베이스(230)에 저장된 VoD 동영상을 스트리밍 서버(250)에게 제공할 수 있다. 도면에 도시하지 않았으나, 일 실시예에 따르면 컨텐츠 제공자 단말(210)은 VoD 동영상을 직접 스트리밍 서버(250)로 전송할 수도 있다.
API 서버(240)는 컨텐츠 시청자가 접속하여 동영상에 접근할 수 있는 URL을 생성할 수 있다. API 서버(240)가 생성한 URL은 SMS, MMS, 또는 인스턴트 메시지 등과 같은 메시지를 통해 컨텐츠 시청자 단말(260)에게 전달될 수 있다.
스트리밍 서버(250)는 예를 들어, http 라이브 스트리밍 등과 같은 비디오 스트리밍 기술을 이용하여 API 서버(240)가 생성한 URL에 대응되는 동영상을 컨텐츠 시청자 단말(260)에게 제공할 수 있다.
스트리밍 서버(250)는 사용자가 URL을 클릭하는 경우, 데이터베이스(230)에 저장된 VoD 동영상을 컨텐츠 시청자 단말(260)에 적합한 비디오 포맷으로 변환하여 전송할 수 있다.
스트리밍 서버(250)는 컨텐츠 시청자 단말(260)로 제공된 VoD 동영상의 전송 분량을 측정하고, 동영상의 전송 분량에 기초하여, 컨텐츠 시청자 단말(260)에게 동영상에 대한 연속 재생(이어 보기)을 제공할 수 있다.
API 서버(240)는 스트리밍 서버(250)로부터 컨텐츠 시청자 단말(260)에게 제공된 VoD 동영상의 전송 분량을 보고 받아 데이터베이스(230) 등에 저장하거나, 컨텐츠 제공자 단말(210)에게 전송할 수 있다.
도 3은 일 실시예에 따른 메시징 서비스를 이용한 라이브(Live) 동영상을 제공하는 방법을 설명하기 위한 도면이다. 도 3을 참조하면, 일 실시예에 따른 동영상 제공 시스템은 컨텐츠 제공자 단말(310), 비디오 컨텐츠 관리 시스템(320), 데이터베이스(DB)(330), API 서버(340), 스트리밍 서버(350), 및 컨텐츠 시청자 단말(360)을 포함한다.
컨텐츠 제공자 단말(310)은 컨텐츠 제공자에 의해 촬영된 라이브(Live) 동영상을 비디오 컨텐츠 관리 시스템(320)으로 전송할 수 있다.
비디오 컨텐츠 관리 시스템(320)은 컨텐츠 제공자 단말(310)로부터 수신한 라이브(Live) 동영상을 관리할 수 있다. 비디오 컨텐츠 관리 시스템(320)은 동영상을 일시적으로 보관하거나 동영상의 흐름을 제어하는 등 동영상을 관리하는 일련의 작업(Task)을 수행할 수 있다.
미리 촬영 또는 준비되어 데이터베이스 등에 저장되는 VoD 동영상과는 달리, 컨텐츠 제공자 단말(310)에 의해 실시간으로 촬영된 라이브 동영상은 미리 데이터베이스(330)에 저장되지 않을 수 있다. 라이브 동영상은 컨텐츠 제공자 단말(310)로부터 스트리밍 서버(350)로 직접 전송될 수 있다.
API 서버(340)는 컨텐츠 시청자가 접속하여 동영상에 접근할 수 있는 URL을 생성할 수 있다. API 서버(340)가 생성한 URL은 SMS, MMS, 또는 인스턴트 메시지 등과 같은 메시지를 통해 컨텐츠 시청자 단말(360)에게 전달될 수 있다. 컨텐츠 시청자 단말(360)은 URL를 통해 실시간으로 라이브 동영상을 제공받을 수 있다.
도 3의 동영상 제공 시스템에서 각 구성 요소들의 그 밖의 동작은 도 2를 통해 설명한 각 구성 요소들의 동작과 동일하므로 해당 부분의 설명을 참조하기로 한다.
도 4는 일 실시예에 따른 API 서버의 동영상 제공 방법을 나타낸 흐름도이다. 도 4를 참조하면, 일 실시예에 따른 API 서버는 스트리밍 서버의 주소, 인증 정보, 동영상의 식별 정보, 및 시청자의 식별 정보에 기초하여 URL를 생성한다(410). 인증 정보는 시청자를 인증하기 위한 정보로서, 예를 들어, 시청자 단말의 전화 번호에 기초하여 고유하게 생성된 인증 키일 수 있다. 동영상의 식별 정보는 동영상을 식별하는 ID이고, 시청자의 식별 정보는 시청자를 식별하는 ID일 수 있다.
생성된 URL은 컨텐츠 제공자가 동영상을 제공받을 수 있는 인터넷 정보의 위치 또는 인터넷 주소로 이해될 수 있다. 단계(410)에서 생성되는 URL 은 예를 들어, "http://r2sky.com/id=VID12345&user_id=USER0065&S=super"와 같은 형태일 수 있다. 여기서, id= VID12345는 동영상의 식별 정보이고, user_id=USER0065는 시청자의 식별 정보이며, S=super는 시청자 인증을 위한 인증 정보 또는 인증 키일 수 있다.
스트리밍 서버는 컨텐츠 제공자가 제공한 동영상을 시청자에게 실시간으로 제공하는 서버이다. 스트리밍 서버는 예를 들어, 윈도우 미디어(.wmv, .asf, .asx 등) 포맷으로 제작된 동영상을 실시간 스크리밍으로 서비스할 수 있다.
API 서버는 메시징 서비스를 이용하여 단계(410)에서 생성한 URL을 시청자 단말에게 전송한다(420). API 서버는 예를 들어, 각 통신사의 SMS 게이트웨이 서버 등을 통해 제공되는 메시징 서비스에 의해 SMS, MMS 또는 인스턴트 메시지의 형태로 URL을 시청자 단말에게 전송할 수 있다.
실시예에 따라서, API 서버에 의해 생성된 URL은 단축된 형태의 URL로 단축된 뒤, SMS 게이트웨이 서버를 통해 시청자 단말에게 전송될 수도 있다. 단축된 형태의 URL은 API 서버에 의하여 생성되거나, 단축자 생성 서버(shortener generator server)를 통해 생성될 수 있다.
도 5는 일 실시예에 따른 스트리밍 서버의 동영상 제공 방법을 나타낸 흐름도이다. 도 5를 참조하면, 일 실시예에 따른 스트리밍 서버는 메시징 서비스를 통해 전송된 URL이 시청자에 의해 선택됨에 따라, 시청자 단말로부터 동영상에 대한 전송 요청을 수신한다(510). URL은 스트리밍 서버의 주소, 동영상을 수신할 시청자 단말의 전화 번호에 기초한 인증 정보, 동영상의 식별 정보, 및 시청자의 식별 정보에 기초하여 생성될 수 있다. 단계(510)에서 시청자 단말로부터 수신한 전송 요청은 시청자 단말에 대한 정보, 인증 정보 및 시청자의 식별 정보를 포함한다.
시청자 단말에 대한 정보는 시청자 단말의 유형, 시청자 단말에 설치된 운영체제의 유형, 시청자 단말에서 지원하는 내장 플레이어의 유형 등을 포함할 수 있다.
스트리밍 서버는 단계(510)의 전송 요청에 응답하여, 시청자를 인증한다(520). 스트리밍 서버는 단계(510)의 전송 요청에 포함된 인증 정보를 이용하여 시청자를 인증할 수 있다. 또한, 단계(520)에서 스트리밍 서버는 시청자가 중복 시청자 인지 여부도 체크할 수 있다.
스트리밍 서버는 단계(520)의 인증 결과에 따라, 시청자 단말에게 동영상을 제공한다(530). 단계(520)의 인증 결과, 시청자 단말이 인증된 시청자라고 판단되면, 스트리밍 서버는 시청자 단말에게 동영상을 제공할 수 있다. 반면, 시청자 단말이 인증된 시청자가 아니거나, 중복 시청자라고 판단되면, 스트리밍 서버는 시청자 단말에 대한 동영상 제공을 중지하고, 해당 시청자가 인증된 시청자가 아니거나, 또는 중복 시청자 임을 API 서버에게 알릴 수 있다.
도 6은 일 실시예에 따라 컨텐츠 제공자가 컨텐츠 시청자에게 URL을 전달하는 과정을 설명하기 위한 도면이다. 도 6을 참조하면, 일 실시예에 따른 스트리밍 시스템은 컨텐츠 제공자(601), API 서버(602), 단축자 생성 서버(shortener generator server)(603), 데이터베이스(604), 스트리밍 서버(605), SMS 게이트웨이 서버(606), 및 컨텐츠 시청자(607)를 포함한다.
이하에서, 컨텐츠 제공자(601)는 컨텐츠 제공자의 단말뿐만 아니라 컨텐츠 제공자 또는 관리자를 포함하는 의미로 이해될 수 있다. 또한, 컨텐츠 시청자(607)는 컨텐츠 시청자의 단말뿐만 아니라, 컨텐츠 시청자를 포함하는 의미로 이해될 수 있다.
시청자에게 스트리밍 컨텐츠를 제공하고자 하는 컨텐츠 제공자(601)는 API 서버(602)에 로그-인할 수 있다(610). 스트리밍 컨텐츠는 동영상 등 멀티미디어 컨텐츠를 포함할 수 있다.
API 서버(602)는 컨텐츠 제공자의 로그-인에 응답하여, 컨텐츠 제공자(601)에게 스트리밍 주소 및 키 정보를 전송할 수 있다(615). 스트리밍 서버(605)는 컨텐츠 제공자(601)가 전송한 스트리밍 컨텐츠를 컨텐츠 시청자(607)에게 제공하는 서버일 수 있다. 키 정보는 스트리밍 서버(605)에 접근할 수 있는 컨텐츠 제공자의 권한을 체크하기 위하여 이용될 수 있다. 스트리밍 주소는 스트리밍 서버(605)의 주소일 수 있다.
스트리밍 서버(605)의 주소 및 키 정보를 수신한 컨텐츠 제공자(601)는 컨텐츠 시청자(607)에게 제공할 스트리밍 컨텐츠의 타입을 선택할 수 있다(620). 스트리밍 컨텐츠의 타입은 예를 들어, 미리 저장된 스트리밍 컨텐츠를 제공하는 VoD(Video on Display) 타입 및 실시간으로 촬영된 스트리밍 컨텐츠를 제공하는 라이브(Live) 타입 등을 포함할 수 있다.
스트리밍 컨텐츠의 타입을 선택한 컨텐츠 제공자(601)는 스트리밍 컨텐츠를 수신할 수신자(다시 말해, 컨텐츠 시청자(607)를 선택할 수 있다(625). 이때, 컨텐츠 제공자(601)는 수신자를 개별적으로 선택할 수도 있고, 가족 그룹 또는 친구 그룹 등과 같은 하나의 그룹형태로 선택할 수도 있다. 컨텐츠 제공자(601)가 스트리밍 컨텐츠의 타입 및 수신자를 선택하는 인터페이스 화면은 도 7을 참조하여 설명한다.
단계(620) 및 단계(625)에서 제공할 스트리밍 컨텐츠의 타입 및 수신자의 선택이 끝난 후, 컨텐츠 제공자(601)는 스트리밍 컨텐츠를 단계(615)에서 수신한 키 정보와 함께 스트리밍 서버(605)에게 전송할 수 있다(630).
컨텐츠 제공자(601)는 API 서버(602)에게 스트리밍 컨텐츠의 제공을 위한 메시지 전송을 요청할 수 있다(635).
API 서버(602)는 단계(635)의 메시지 전송 요청에 응답하여, 스트리밍 인스턴스를 생성할 수 있다. 스트리밍 인스턴스는 메시징 서비스를 이용하여 스트리밍 서비스를 제공하기 위하여 이용되는 정보 객체로, 예를 들어 로그 테이블 등을 포함할 수 있다.
스트리밍 인스턴스는 미리 정해진 복수의 필드들을 포함할 수 있다. 예를 들어, 미리 정해진 복수의 필드들은 스트리밍 인스턴스의 식별 정보를 저장하는 필드, 스트리밍 인스턴스에 고유하게 생성되는 인증 정보를 저장하는 필드, 컨텐츠 시청자의 식별 정보를 저장하는 필드, 스트리밍 컨텐츠의 식별 정보를 저장하는 필드, 스트리밍 인스턴스의 유효 여부를 판별하는 시간 정보를 저장하는 필드 등을 포함할 수 있다.
일 실시예에 따르면, 스트리밍 인스턴스의 식별 정보는 순차적으로 증가하며 자동 생성되는 로그 ID이고, 컨텐츠 시청자의 식별 정보는 시청자의 이름 및/또는 전화 번호이며, 스트리밍 컨텐츠의 식별 정보는 스트리밍 컨텐츠의 경로명 또는 파일명일 수 있다. 또한, 스트리밍 인스턴스의 유효 여부를 판별하는 시간 정보는 스트리밍 인스턴스가 생성된 시간 정보, 스트리밍 인스턴스의 유효 기간 정보, 스트리밍 인스턴스가 무효로 되는 시간 정보 등을 포함할 수 있다.
API 서버(602)는 스트리밍 인스턴스를 생성한 뒤 DB에 저장할 수 있다(640). API 서버(602)는 스트리밍 인스턴스의 일부 필드들을 우선적으로 업데이트할 수 있다. 이후, API 서버(602)는 스트리밍 서비스가 진행되면서 스트리밍 서버(605)로부터 추가 정보를 수신하여 나머지 필드들을 업데이트할 수 있다.
나머지 필드들은 시청자의 반복 조회수, 시청자 단말의 기기 정보(단말 종류, 운영체제 종류 등), 시청자 단말의 IP 어드레스, 시청자가 시청한 재생 시간, 상위 스트리밍 인스턴스를 참조하는 부모 ID 등을 포함할 수 있다.
일 예로, API 서버(602)는 스트리밍 컨텐츠의 시청자 목록에 대응하는 전화번호를 데이터베이스(604)에 저장할 수 있다(640). 이때, 스트리밍 컨텐츠의 시청자 목록 및 시청자 목록에 대응하는 전화번호는 단계(635)에서 메시지 전송을 요청할 때에 컨텐츠 제공자(601)로부터 메시지 전송 요청과 함께 전달된 것일 수 있다.
API 서버(602)는 스트리밍 컨텐츠의 제공자와 관련된 정보, 현재 시간과 관련된 정보, 스트리밍 컨텐츠의 시청자와 관련된 정보, 및 스트리밍 컨텐츠와 관련된 정보에 기초하여, 스트리밍 인스턴스에 고유한 인증 정보를 생성한다. 컨텐츠 제공자와 관련된 정보는 컨텐츠 제공자의 비밀 키(private key)를 포함하고, 컨텐츠 시청자와 관련된 정보는 컨텐츠 시청자의 전화 번호를 포함할 수 있다. 컨텐츠 제공자의 비밀 키는 별도로 구비된 보안 채널을 통하여 컨텐츠 제공자의 단말과 API 서버 사이에서만 공유될 수 있다.
예를 들어, 스트리밍 인스턴스에 고유한 인증 정보는 MD5(Salt + Time + Phone number + File name)에 의하여 생성될 수 있다. 여기서, MD5()는 미리 정해진 보안 키 생성 알고리즘이고, Salt는 컨텐츠 제공자의 비밀 키이고, Time은 인증 정보를 생성하는 시점의 시간이며, Phone number는 컨텐츠 시청자의 전화 번호이고, File name은 스트리밍 컨텐츠의 파일명일 수 있다. +는 문자열 조합(concatenation) 연산자일 수 있다.
API 서버(602)는 스트리밍 주소, 인증 정보, 및 스트리밍 인스턴스의 식별 정보에 기초하여 URL을 생성할 수 있다. API 서버(602)는 단축 URL을 생성하고, 생성된 단축 URL을 시청자의 단말로 전송할 수 있다.
일 실시예에 따르면, API 서버(602)는 단축자 생성 서버(603)에게 단축 URL의 생성 및 전송을 요청할 수 있다(645). 단축자 생성 서버(603)는 API 서버(602)로부터 수신한 URL을 이용하여 단축(Shorten) URL을 생성할 수 있다(650).
단축자 생성 서버(603)는 월드 와이드 웹 상의 긴 URL을 짧게 만들어 주는 서버이다. 웹 상의 인터넷 주소(URL)를 기억하기 쉽도록 서비스 사에서의 경로만 가진 간단한 구조의 URL을 제공할 수 있다. 일반적으로 사용되는 긴 URL은 HTTP 넘겨주기를 이용하므로 수백 바이트 길이의 URL이 있을 수 있다. 하지만, 단축자 생성 서버(603)에 의해 단축된 URL은 대개 URL 단축 서버의 주소 뒤에 6~7자리 정도의 쿼리가 붙어 있어서 길어야 30 바이트 수준을 넘지 않는다. 때문에 단축된 URL은 자원을 절약하고, 더 나아가 URL에 포함된 각종 파라미터 정보를 노출시키지 않을 수 있다.
단축자 생성 서버(603)는 단계(650)에서 생성한 단축 URL의 전송을, SMS 게이트웨이 서버(606)에게 요청할 수 있다(655). SMS 게이트웨이 서버(606)는 단축 URL을 메시징 서비스를 통해 컨텐츠 시청자(607)에게 전달할 수 있다.
도면에 도시하지 않았으나, 단축자 생성 서버(603)의 동작은 API 서버(602)에서 수행될 수 있다.
도 7은 일 실시예에 따른 컨텐츠 제공자 단말에서 제공되는 인터페이스 화면을 나타낸 도면이다. 도 7을 참조하면, 컨텐츠 제공자가 동영상의 타입 및 수신자를 선택하거나, 레포트를 요청할 수 있는 인터페이스 화면이 도시된다.
컨텐츠 제공자는 컨텐츠 제공자 단말의 디스플레이를 통해 제공되는 인터페이스 화면(700)에 표시된 Live | VoD | Report 항목을 포함하는 메뉴(710) 중 어느 하나를 선택할 수 있다. 예를 들어, 컨텐츠 제공자가 메뉴(710)에서 Live 항목을 선택한 경우, 도 8과 같이 시청자에게 제공할 라이브 동영상을 촬영하는 데에 제공되는 인터페이스 화면이 제공될 수 있다. 또한, 컨텐츠 제공자가 메뉴(710)에서 VoD항목을 선택한 경우, 도 9와 같이 시청자에게 제공할 VoD 동영상을 선택하는 데에 제공되는 인터페이스 화면이 제공될 수 있다.
컨텐츠 제공자가 메뉴(710)에서 Report 항목을 선택한 경우, 컨텐츠 제공자의 선택은 API 서버에게 레포트 요청으로 전달될 수 있다. 컨텐츠 제공자로부터 레포트 요청을 수신한 API 서버는 예를 들어, 컨텐츠 시청자 단말에게 제공된 동영상의 전송 분량, 동영상의 식별 정보, 및 컨텐츠 시청자의 식별 정보를 포함하는 정보를 컨텐츠 제공자에게 제공할 수 있다.
메뉴(710)에서 Live 또는 VoD 와 같은 동영상 타입을 선택한 컨텐츠 제공자는 동영상을 수신할 수신자를 선택할 수 있다. 컨텐츠 제공자는 예를 들어, 수신자 목록(730)에서 수신자를 선택하거나, 직접 수신자를 기재할 수 있다. 이때, 수신자 목록(730)에는 개개인의 수신자뿐만 아니라, 가족, 또는 친구들과 같이 하나의 그룹을 형성하는 수신자 그룹들 또한 포함될 수 있다.
컨텐츠 제공자는 화질 선택 메뉴(750)에 HD(High Definition) 버튼 및 SD(Standard Definition) 버튼 중 어느 하나를 선택함으로써 컨텐츠 시청자에게 제공되는 동영상의 화질 또한 선택할 수 있다.
컨텐츠 제공자는 버튼(770)을 선택함으로써 수신자 목록(730)에 포함된 수신자들에게 동영상을 제공할 수 있다.
도 8는 일 실시예에 따른 컨텐츠 제공자 단말에서 시청자에게 제공할 라이브 동영상을 촬영하는 데에 제공되는 인터페이스 화면을 나타낸 도면이다. 도 8을 참조하면, 컨텐츠 제공자가 컨텐츠 시청자에게 제공되는 동영상의 타입 중 라이브 동영상을 선택한 경우에 제공되는 인터페이스 화면(800)이 도시된다.
컨텐츠 제공자는 인터페이스 화면(800)에 버튼(810)을 이용하여 라이브 동영상을 촬영할 카메라의 화질 및 광량 등을 조절할 수 있다. 컨텐츠 제공자는 버튼(820)을 선택하여 라이브 동영상 촬영을 시작할 수 있다. 컨텐츠 제공자는 라이브 동영상 촬영 후에 버튼(830)을 선택함으로써 SMS 등을 통해 라이브 동영상을 시청자에게 제공할 수 있다. 라이브 동영상을 제공받을 시청자들은 미리 결정될 수 있다.
도 9는 일 실시예에 따른 컨텐츠 제공자 단말에서 시청자에게 제공할 VoD 동영상을 선택하는 데에 제공되는 인터페이스 화면을 나타낸 도면이다. 도 9를 참조하면, 컨텐츠 제공자가 컨텐츠 시청자에게 VoD 동영상을 제공하기로 선택한 경우에 제공되는 인터페이스 화면(900)이 도시된다.
일 예로, 컨텐츠 제공자는 인터페이스 화면(900)에 나타난 메뉴(910)에 포함된 영화(Movie), 광고(Advertisement), e-러닝(E-Learning), 및 애니메이션(Animation) 중 어느 하나의 항목을 선택할 수 있다. 컨텐츠 제공자는 방향 버튼(950)을 이용하여 항목들 중 아래에 표시된 항목들을 검색할 수 있다.
컨텐츠 제공자는 버튼(930)을 선택하여 선택된 항목에 대응하는 VoD 동영상을 컨텐츠 시청자에게 제공할 수 있다.
도 10은 일 실시예에 따라 컨텐츠 시청자가 스트리밍 컨텐츠를 제공받는 과정을 설명하기 위한 도면이다. 도 10을 참조하면, 일 실시예에 따른 스트리밍 시스템은 컨텐츠 제공자(1001), API 서버(1002), 데이터베이스(1003), 스트리밍 서버(1004), SMS 게이트웨이 서버(1005), 및 컨텐츠 시청자(1006)를 포함한다.
메시징 서비스를 통해 전송된 메시지에 포함된 URL(단축 URL)이 시청자에 의해 선택되면(1010), 컨텐츠 시청자(1006)는 스트리밍 서버(1004)에게 스트리밍 컨텐츠 전송을 요청할 수 있다(1015). URL의 선택은 시청자의 클릭 또는 터치 등의 동작을 통해 수행될 수 있다. 이때, URL은 스트리밍 주소, 스트리밍 인스턴스의 인증 정보, 및 스트리밍 인스턴스의 식별 정보에 기초하여 고유하게 생성된 것일 수 있다.
스트리밍 서버(1004)는 단계(1015)의 전송 요청에 응답하여, 시청자를 인증할 수 있다(1020). 스트리밍 서버(1004)는 인증 정보(인증 키)를 이용하여 시청자를 인증할 수 있다. 일 예로, 스트리밍 서버(1004)는 스트리밍 인스턴스의 인증 정보 및 식별 정보에 기초하여, API 서버(1002)에 시청자 인증을 요청할 수 있다. 이 경우, API 서버(1002)는 인증 요청된 식별 정보에 기초하여 DB에 저장된 스트리밍 인스턴스에 액세스할 수 있다. API 서버(1002)는 액세스된 스트리밍 인스턴스의 인증 정보와 인증 요청된 인증 정보를 비교함으로써, 시청자 인증을 수행할 수 있다. 만약 두 인증 정보가 일치하면 시청자 인증에 성공하고, 그렇지 않으면 시청자 인증에 실패할 수 있다. API 서버(1002)는 시청자 인증 결과를 스트리밍 서버(1004)로 반환할 수 있다. 다른 예로, 스트리밍 서버(1004)는 API 서버(1002)에 의하여 인증 키가 생성되면 해당 인증 키를 수신하고, 컨텐츠 시청자(1006)로부터 수신된 인증 키가 API 서버(1002)에 의하여 생성된 것이 맞는지 여부를 확인할 수 있다.
스트리밍 서버(1004)는 시간 유효성을 검사할 수 있다. 예를 들어, 스트리밍 서버(1004)는 스트리밍 인스턴스의 식별 정보에 기초하여, API 서버(1002)에 시간 유효성 검사를 요청할 수 있다. 이 경우, API 서버(1002)는 검사 요청된 식별 정보에 기초하여 DB에 저장된 스트리밍 인스턴스에 액세스할 수 있다. API 서버(1002)는 액세스된 스트리밍 인스턴스의 시간 정보와 현재 시간에 기초하여, 스트리밍 인스턴스의 유효 여부를 검사할 수 있다. API 서버(1002)는 시간 유효성 검사 결과를 스트리밍 서버(1004)로 반환할 수 있다.
스트리밍 서버(1004)는 단계(1020)의 인증과 함께, 또는 별도로 컨텐츠 시청자(1006)가 중복 시청자 인지 여부를 체크할 수 있다(1025). 스트리밍 서버(1004)는 스트리밍 프로토콜을 통하여 시청자 단말에 대한 에이전시 정보(agency info), IP 어드레스 등을 획득할 수 있다. 스트리밍 서버(1004)는 시청자 단말에 대한 에이전시 정보, 및 시청자 단말의 IP 어드레스 등을 이용하여 시청자가 중복 시청자인지 여부를 체크(판단)할 수 있다.
일 예로, 스트리밍 서버(1004)는 검사 요청된 식별 정보에 기초하여 API 서버(1002)에 중복 시청자 인증을 요청할 수 있다. 이 경우, API 서버(1002)는 검사 요청된 식별 정보에 기초하여 DB에 저장된 스트리밍 인스턴스에 액세스할 수 있다. API 서버(1002)는 액세스된 스트리밍 인스턴스의 에이전시 정보 또는 IP 어드레스와 검사 요청된 에이전시 정보 또는 IP 어드레스를 비교함으로써, 중복 시청자 검사를 수행할 수 있다. 만약 두 정보가 일치하는 경우 중복 시청자가 아니라고 판단되고, 그렇지 않으면 중복 시청자라고 판단될 수 있다. 중복 시청자라고 판단되면, API 서버(1002)는 액세스된 스트리밍 인스턴스의 중복 시청자 카운트를 증가시킬 수 있다. 중복 시청자 카운트가 일정 이상 증가되면, API 서버(1002)는 해당 스트리밍 인스턴스를 무효로 만들 수 있다.
다른 예로, 스트리밍 서버(1004)는 동일한 인증 정보를 포함하는 스트리밍 컨텐츠 전송 요청 신호를 중복적으로 수신하는 경우, 시청자 단말에 대한 정보 및/또는 시청자 단말의 IP 어드레스를 이용하여 중복 시청자 여부를 판단할 수 있다. 일 예로, 동일한 인증 정보를 포함하는 스트리밍 컨텐츠 전송 요청 신호가 미리 정해진 시간 간격 이내에 중복적으로 수신되고, 중복적으로 수신된 전송 요청 신호들에 포함된 시청자 단말에 대한 정보 또는 시청자 단말의 IP 어드레스가 상이한 경우 중복 시청자에 의하여 스트리밍 컨텐츠가 전송 요청된다고 판단할 수 있다.
이 경우, 스트리밍 서버(1004)는 시청자가 중복 시청자인지 여부에 대한 체크 결과를 API 서버(1002)에게 전송할 수 있다(1030). 스트리밍 서버(1004)로부터, 중복 사용자로 체크된 시청자에 대한 정보를 수신한 API 서버(1002)는 나중에 접속한 시청자의 스트리밍 컨텐츠 시청을 차단하던지 또는 중복 사용자로 체크된 시청자들 모두의 시청을 차단할 수 있다. API 서버(1002)는 중복 사용자 체크 결과(중복 시청자로 판단된 시청자에 대응하는 시청자의 식별 정보 및 시청자 단말에 대한 정보)를 데이터베이스(1003)에 저장할 수 있다(1035). 중복 사용자 체크와 관련된 단계(1025) 내지 단계(1030), 및 단계(1035)의 과정은 실시예에 따라 선택적으로 수행될 수 있다.
시청자 인증이 완료되면, 스트리밍 서버(1004)는 컨텐츠 시청자(1006)가 전송 요청한 스트리밍 컨텐츠를 제공할 수 있다(1040). 스트리밍 서버(1004)는 예를 들어, HLS(Http Live Streaming), RTMP(Real Time Messaging Protocol), RTSP(Real-Time Streaming Protocol), MPEG-DASH(Motion Picture Experts Group-Dynamic Adaptive Streaming over HTTP), 및 HDS(HTTP Dynamic Streaming) 등에 의해 스트리밍 컨텐츠를 제공할 수 있다. 스트리밍 서버(1004)는 시청자 단말의 정보에 기초하여 제공되는 스트리밍 컨텐츠의 포맷(예를 들어, 해상도 등)을 결정할 수 있다. 예를 들어, 스트리밍 서버(1004)는 시청자 단말에 의하여 재생 가능한 포맷으로 스트리밍 컨텐츠를 제공할 수 있다. 이로 인하여, 컨텐츠 시청자(1006)의 단말에는 스트리밍 컨텐츠의 재생을 위한 별도의 어플리케이션이 설치될 필요가 없다. 일 실시예에 따르면, 스트리밍 서버(1004)는 스트리밍 서비스를 위한 트랜스코딩 등을 미리 수행할 수 있다.
스트리밍 서버(1004)는 단계(1040)에서 시청자 단말, 다시 말해 컨텐츠 시청자(1006)로 제공된 스트리밍 컨텐츠의 전송 분량(전송 바이트(byte))을 측정할 수 있다(1045). 스트리밍 서버(1004)는 예를 들어, 쿼리 스트링(Query String)에 표기된 스트리밍 인스턴스의 식별 정보에 기초하여, 컨텐츠 시청자(1006)에게 제공된 스트리밍 컨텐츠의 전송 분량을 측정할 수 있다. 스트리밍 서버(1004)는 단계(1045)에서 측정된 스트리밍 컨텐츠의 전송 분량에 기초하여, 스트리밍 컨텐츠에 대한 연속 재생(이어보기 기능)을 제공할 수 있다.
컨텐츠 시청자(1006)는 스트리밍 서버(1004)로부터 제공받은 스트리밍 컨텐츠를 내장 플레이어에 의해 재생할 수 있다(1050).
스트리밍 서버(1004)는 단계(1045)에서 측정된 전송 분량, 스트리밍 컨텐츠의 식별 정보(스트리밍 컨텐츠 ID), 및 시청자의 식별 정보(시청자 ID)를 포함하는 정보를 API 서버(1002)에게 전송할 수 있다(1055).
API 서버(1002)는 스트리밍 서버(1004)로부터 수신한 정보(시청자 단말에게 제공된 스트리밍 컨텐츠의 전송 분량, 스트리밍 컨텐츠의 식별 정보, 및 시청자의 식별 정보를 포함하는 정보)를 데이터베이스(1003)에 저장할 수 있다(1060).
API 서버(1002)는 컨텐츠 제공자(1001)의 레포트 요청을 수신할 수 있다(1065). API 서버(1002)는 단계(1065)의 레포트 요청에 응답하여, 컨텐츠 제공자(1001)에게 시청자 단말에게 제공된 스트리밍 컨텐츠의 전송 분량, 스트리밍 컨텐츠의 식별 정보, 및 시청자의 식별 정보를 포함하는 레포트를 제공할 수 있다(1070).
컨텐츠 제공자(1001)는 레포트를 통해 메시지를 받은 컨텐츠 시청자가 스트리밍 컨텐츠를 시청했는지 여부 및 컨텐츠 시청자 별로 스트리밍 컨텐츠를 어디까지 시청했는지 등을 파악할 수 있다. 컨텐츠 제공자(1001)가 API 서버(1002)로부터 수신하는 레포트 화면은 도 11과 같은 형태로 제공될 수 있다.
도 11은 일 실시예에 따른 컨텐츠 제공자 단말이 API 서버로부터 제공받은 레포트를 나타낸 도면이다. 도 11을 참조하면, 컨텐츠 제공자가 컨텐츠 시청자들에게 제공한 영화(Movie) 동영상에 대한 레포트 화면(1100)이 도시된다.
이때, 컨텐츠 제공자 단말은 API 서버로부터 제공받은 레포트에 포함된 동영상의 식별 정보를 통해 해당 레포트가 영화 동영상에 대한 것임을 파악할 수 있다. 또한, API 서버로부터 제공받은 레포트에 포함된 컨텐츠 시청자의 식별 정보로부터 컨텐츠 시청자의 이름 및 전화 번호 등의 정보를 파악할 수 있다.
레포트 화면(1100)에는 컨텐츠 시청자에게 제공된 영화 동영상의 전송 분량(1110)이 컨텐츠 시청자의 이름 및 전화 번호 등과 함께 표시될 수 있다. 이때, 컨텐츠 시청자에게 제공된 영화 동영상의 전송 분량(1110)은 도 11에 도시된 것과 같이 전체 영상 분량 중 제공된 영상 분량의 비율이 %로 표시될 수도 있고, 전체 영상 분량의 바이트 중 제공된 영상 분량의 바이트가 표시될 수도 있다.
도 12는 일 실시예에 따른 동영상 제공을 위한 서버의 블록도이다. 도 12를 참조하면, 일 실시예에 따른 서버(1200)는 API 서버 또는 스트리밍 서버일 수 있다.
일 측에 따르면, API 서버는 프로세서(1210), 통신 인터페이스(1220) 및 메모리(1230)를 포함한다. 프로세서(1210), 통신 인터페이스(1220) 및 메모리(1230)는 버스(bus)(1240)를 통해 서로 통신할 수 있다.
프로세서(1210)는 스트리밍 서버의 주소, 동영상을 수신할 시청자 단말의 전화 번호에 기초한 인증 정보, 동영상의 식별 정보, 및 시청자의 식별 정보에 기초하여 URL를 생성한다. 프로세서(1210)는 이 밖에도, 도 1 내지 도 11을 통하여 전술한 API 서버와 관련된 적어도 하나의 방법을 수행할 수 있다.
프로세서(1210)는 프로그램을 실행하고, API 서버(1200)를 제어할 수 있다. 프로세서(1210)에 의하여 실행되는 프로그램 코드는 메모리(1230)에 저장될 수 있다.
통신 인터페이스(1220)는 메시징 서비스를 이용하여 URL을 시청자 단말에게 전송한다.
메모리(1230)는 스트리밍 서버의 주소, 동영상을 수신할 시청자 단말의 전화 번호에 기초한 인증 정보, 동영상의 식별 정보, 및 시청자의 식별 정보 등을 저장할 수 있다.
일 측에 따르면, 스트리밍 서버는 프로세서(1210), 통신 인터페이스(1220) 및 메모리(1230)를 포함한다. 프로세서(1210), 통신 인터페이스(1220) 및 메모리(1230)는 버스(1240)를 통해 서로 통신할 수 있다.
프로세서(1210)는 통신 인터페이스(1220)가 시청자 단말로부터 수신한, 동영상에 대한 전송 요청에 응답하여, 시청자를 인증하고, 인증 결과에 따라, 시청자 단말에게 동영상을 제공한다. 프로세서(1210)는 이 밖에도, 도 1 내지 도 11을 통하여 전술한 스트리밍 서버와 관련된 적어도 하나의 방법을 수행할 수 있다.
통신 인터페이스(1220)는 메시징 서비스를 통해 전송된 메시지에 포함된 URL이 선택됨에 따라, 시청자 단말로부터 동영상에 대한 전송 요청을 수신한다. 이때, URL은 스트리밍 서버의 주소, 동영상을 수신할 시청자 단말의 전화 번호에 기초한 인증 정보, 동영상의 식별 정보, 및 시청자의 식별 정보에 기초하여 생성될 수 있다. 이때, 전송 요청은 시청자 단말에 대한 정보, 인증 정보 및 시청자의 식별 정보를 포함한다.
메모리(1230)는 동영상에 대한 전송 요청과 함께 전송된, 시청자 단말에 대한 정보(agency info), 인증 정보(인증 키) 및 시청자의 식별 정보 등을 저장할 수 있다. 또한, 메모리(1230)는 시청자의 인증 결과 및 중복 사용자 체크 결과 또한 저장할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (15)

  1. 서비스 서버의 동작 방법에 있어서,
    스트리밍 서비스를 위한 스트리밍 컨텐츠의 제공자로부터의 메시지의 전송 요청에 반응하여, 로그 테이블을 포함하는 정보 객체인 스트리밍 인스턴스를 생성하는 단계;
    상기 스트리밍 컨텐츠의 제공자와 관련된 정보, 상기 스트리밍 인스턴스가 생성된 현재 시간과 관련된 정보, 상기 스트리밍 컨텐츠의 시청자와 관련된 정보, 및 상기 스트리밍 컨텐츠와 관련된 정보에 기초하여, 상기 스트리밍 인스턴스에 고유한 인증 정보를 생성하는 단계;
    스트리밍 주소, 상기 인증 정보, 및 상기 스트리밍 인스턴스의 식별 정보에 기초하여 생성되는 URL(Uniform Resource Locator)을 상기 시청자의 단말에게 전송하는 단계;
    상기 시청자의 단말에서 상기 URL이 선택됨에 따라 스트리밍 서버로부터 시청자 인증 요청을 수신하는 단계;
    상기 시청자 인증 요청에 포함된 상기 스트리밍 인스턴스의 식별 정보에 기초하여, 데이터베이스에 저장된 스트리밍 인스턴스에 액세스하는 단계;
    상기 액세스된 스트리밍 인스턴스의 인증 정보와 상기 시청자 인증 요청에 포함된 인증 정보를 비교함으로써, 시청자 인증을 수행하는 단계; 및
    상기 스트리밍 서버로 시청자 인증 결과를 전송하는 단계
    를 포함하는, 서비스 서버의 동작 방법.
  2. 제1항에 있어서,
    상기 스트리밍 인스턴스는 미리 정해진 필드들을 포함하고,
    상기 미리 정해진 필드들은 상기 인증 정보, 상기 스트리밍 인스턴스의 식별 정보, 상기 시청자의 식별 정보, 상기 스트리밍 컨텐츠의 식별 정보, 및 상기 스트리밍 인스턴스의 유효 여부를 판별하는 시간 정보를 저장하는, 서비스 서버의 동작 방법.
  3. 제1항에 있어서,
    상기 전송 요청에 의하여 복수의 시청자들이 지정되는 경우,
    상기 스트리밍 인스턴스를 생성하는 단계는
    상기 복수의 시청자들 각각을 위한 스트리밍 인스턴스를 생성하는 단계
    를 포함하는, 서비스 서버의 동작 방법.
  4. 제1항에 있어서,
    상기 URL을 상기 시청자의 단말에게 전송하는 단계는
    상기 스트리밍 주소, 상기 인증 정보, 및 상기 스트리밍 인스턴스의 식별 정보에 기초하여 단축 URL(shorten URL)을 생성하는 단계; 및
    미리 정해진 메시징 서비스를 이용하여, 상기 단축 URL을 상기 시청자의 단말에게 전송하는 단계
    를 포함하는, 서비스 서버의 동작 방법.
  5. 제1항에 있어서,
    상기 URL을 상기 시청자의 단말에게 전송하는 단계는
    상기 스트리밍 주소, 상기 인증 정보, 및 상기 스트리밍 인스턴스의 식별 정보에 기초하여, URL 생성 서버에 상기 URL의 생성 및 전송 중 적어도 하나를 요청하는 단계
    를 포함하는, 서비스 서버의 동작 방법.
  6. 제1항에 있어서,
    상기 제공자와 관련된 정보는 상기 제공자의 비밀 키(private key)를 포함하고,
    상기 시청자와 관련된 정보는 상기 시청자의 전화 번호를 포함하는,
    서비스 서버의 동작 방법.
  7. 제1항에 있어서,
    상기 시청자 인증을 수행하는 단계는
    현재 시간 및 상기 액세스된 스트리밍 인스턴스의 시간 정보에 기초하여, 시청자 인증을 수행하는 단계
    를 포함하는, 서비스 서버의 동작 방법.
  8. 스트리밍 서버의 동작 방법에 있어서,
    메시징 서비스를 통해 전송된 메시지에 포함된 URL- 상기 URL은 스트리밍 서비스를 위하여 로그 테이블을 포함하는 정보 객체인 스트리밍 인스턴스에 고유하게 생성된 것임-이 선택됨에 따라 시청자의 단말로부터 스트리밍 요청을 수신하는 단계;
    상기 스트리밍 요청으로부터 스트리밍 주소, 상기 스트리밍 인스턴스의 식별 정보 및 상기 스트리밍 인스턴스의 인증 정보를 추출하는 단계;
    상기 스트리밍 인스턴스의 식별 정보 및 상기 스트리밍 인스턴스의 인증 정보에 기초하여, 시청자 인증을 수행하는 단계; 및
    시청자 인증 결과에 따라, 상기 스트리밍 주소에 대응하는 스트리밍 컨텐츠를 상기 시청자의 단말로 전송하는 단계
    를 포함하고,
    상기 시청자 인증을 수행하는 단계는
    상기 스트리밍 인스턴스의 식별 정보 및 상기 스트리밍 인스턴스의 인증 정보에 기초하여, 서비스 서버에 시청자 인증을 요청하는 단계; 및
    상기 서비스 서버로부터, 상기 서비스 서버가 데이터베이스에 액세스하여 획득한 스트리밍 인스턴스의 인증 정보에 기초하여 수행된 시청자 인증 결과를 수신하는 단계
    를 포함하는, 스트리밍 서버의 동작 방법.
  9. 제8항에 있어서,
    상기 스트리밍 인스턴스는 미리 정해진 필드들을 포함하고,
    상기 미리 정해진 필드들은 상기 스트리밍 인스턴스에 고유한 인증 정보, 상기 스트리밍 인스턴스를 식별하는 정보, 상기 시청자를 식별하는 정보, 상기 스트리밍 컨텐츠를 식별하는 정보, 및 상기 스트리밍 인스턴스의 유효 여부를 판별하는 시간 정보를 저장하는, 스트리밍 서버의 동작 방법.
  10. 제8항에 있어서,
    상기 스트리밍 요청은
    상기 시청자의 단말에서 상기 스트리밍 주소, 상기 식별 정보, 및 상기 인증 정보에 기초하여 생성되는 단축 URL이 선택됨에 따라 발생되는, 스트리밍 서버의 동작 방법.
  11. 하드웨어와 결합되어 제1항 내지 제10항 중에서 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  12. 메시징 서비스를 이용하여 스트리밍 서비스를 제공하는 API 서버에 있어서,
    스트리밍 컨텐츠의 제공자와 관련된 정보, 상기 스트리밍 서비스를 위한 스트리밍 인스턴스가 생성된 현재 시간과 관련된 정보, 상기 스트리밍 컨텐츠의 시청자와 관련된 정보, 및 상기 스트리밍 컨텐츠와 관련된 정보 중 적어도 하나에 기초하여, 상기 스트리밍 서비스를 위한 로그 테이블을 포함하는 정보 객체인 스트리밍 인스턴스에 고유한 인증 정보를 생성하는 프로세서; 및
    스트리밍 주소, 상기 인증 정보, 및 상기 스트리밍 인스턴스의 식별 정보를 포함하는 URL을 상기 시청자의 단말에게 전송하는 통신 인터페이스
    를 포함하고,
    상기 통신 인터페이스는 상기 시청자의 단말에서 상기 URL이 선택됨에 따라 스트리밍 서버로부터 시청자 인증 요청을 수신하며,
    상기 프로세서는 상기 시청자 인증 요청에 포함된 상기 스트리밍 인스턴스의 식별 정보에 기초하여, 데이터베이스에 저장된 스트리밍 인스턴스에 액세스하고, 상기 액세스된 스트리밍 인스턴스의 인증 정보와 상기 시청자 인증 요청에 포함된 인증 정보를 비교함으로써 시청자 인증을 수행하며, 상기 통신 인터페이스는 상기 스트리밍 서버로 시청자 인증 결과를 전송하는, API 서버.
  13. 제12항에 있어서,
    상기 스트리밍 인스턴스는 미리 정해진 필드들을 포함하고,
    상기 미리 정해진 필드들은 상기 인증 정보, 상기 스트리밍 인스턴스의 식별 정보, 상기 시청자의 식별 정보, 상기 스트리밍 컨텐츠의 식별 정보, 및 상기 스트리밍 인스턴스의 유효 여부를 판별하는 시간 정보를 저장하는, API 서버.
  14. 메시징 서비스를 이용하여 스트리밍 서비스를 제공하는 스트리밍 서버에 있어서,
    메시징 서비스를 통해 전송된 메시지에 포함된 URL- 상기 URL은 스트리밍 서비스를 위하여 로그 테이블을 포함하는 정보 객체인 스트리밍 인스턴스에 고유하게 생성된 것임-이 선택됨에 따라 발생한 시청자의 단말에 의한 스트리밍 요청으로부터 스트리밍 주소, 상기 스트리밍 인스턴스의 식별 정보 및 상기 스트리밍 인스턴스의 인증 정보를 추출하고, 상기 스트리밍 인스턴스의 식별 정보 및 상기 스트리밍 인스턴스의 인증 정보에 기초하여 시청자 인증을 수행하는 프로세서; 및
    시청자 인증 결과에 따라, 상기 스트리밍 주소에 대응하는 스트리밍 컨텐츠를 상기 시청자의 단말로 전송하는 통신 인터페이스
    를 포함하고,
    상기 시청자 인증을 수행하기 위하여, 상기 프로세서는 상기 스트리밍 인스턴스의 식별 정보 및 상기 스트리밍 인스턴스의 인증 정보에 기초하여 서비스 서버에 시청자 인증을 요청하고,
    상기 통신 인터페이스는
    상기 서비스 서버로부터 상기 서비스 서버가 데이터베이스에 액세스하여 획득한 스트리밍 인스턴스의 인증 정보에 기초하여 수행된 시청자 인증 결과를 수신하는, 스트리밍 서버.
  15. 제14항에 있어서,
    상기 스트리밍 인스턴스는 미리 정해진 필드들을 포함하고,
    상기 미리 정해진 필드들은 상기 인증 정보, 상기 스트리밍 인스턴스의 식별 정보, 상기 시청자의 식별 정보, 상기 스트리밍 컨텐츠의 식별 정보, 및 상기 스트리밍 인스턴스의 유효 여부를 판별하는 시간 정보를 저장하는, 스트리밍 서버.
KR1020170015050A 2015-10-23 2017-02-02 메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 api 서버 및 스트리밍 서버 KR101784131B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150148279 2015-10-23
KR1020150148279 2015-10-23

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160014741A Division KR101780043B1 (ko) 2015-10-23 2016-02-05 메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 api 서버 및 스트리밍 서버

Publications (2)

Publication Number Publication Date
KR20170048256A KR20170048256A (ko) 2017-05-08
KR101784131B1 true KR101784131B1 (ko) 2017-10-10

Family

ID=60033314

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160014741A KR101780043B1 (ko) 2015-10-23 2016-02-05 메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 api 서버 및 스트리밍 서버
KR1020170015050A KR101784131B1 (ko) 2015-10-23 2017-02-02 메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 api 서버 및 스트리밍 서버

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020160014741A KR101780043B1 (ko) 2015-10-23 2016-02-05 메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 api 서버 및 스트리밍 서버

Country Status (1)

Country Link
KR (2) KR101780043B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102265863B1 (ko) * 2021-02-25 2021-06-16 주식회사 한국이러닝개발원 Html5 기반의 온라인 학습 교보재의 시뮬레이션 콘텐츠 제공 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003134497A (ja) * 2001-10-29 2003-05-09 Nec Microsystems Ltd ストリームデータ配信システム、ストリームデータ配信方法およびそのプログラム
JP2008526145A (ja) * 2004-12-29 2008-07-17 ▲ホア▼▲ウェイ▼技術有限公司 ストリーミングメディアサービスを実現する通信端末、そのシステム及びその方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003134497A (ja) * 2001-10-29 2003-05-09 Nec Microsystems Ltd ストリームデータ配信システム、ストリームデータ配信方法およびそのプログラム
JP2008526145A (ja) * 2004-12-29 2008-07-17 ▲ホア▼▲ウェイ▼技術有限公司 ストリーミングメディアサービスを実現する通信端末、そのシステム及びその方法

Also Published As

Publication number Publication date
KR101780043B1 (ko) 2017-09-19
KR20170048256A (ko) 2017-05-08
KR20170048118A (ko) 2017-05-08

Similar Documents

Publication Publication Date Title
US11853403B2 (en) Pairing devices to prevent digital content misuse
US11824946B2 (en) Systems and methods for distributing content
US9992537B2 (en) Real-time tracking collection for video experiences
US9967607B2 (en) Recording and publishing content on social media websites
US8311382B1 (en) Recording and publishing content on social media websites
US8744912B2 (en) Method and system for an advanced player in a network of multiple live video sources
KR100856027B1 (ko) 저작권 인증된 동영상 데이터 서비스 시스템 및 방법
US20120262576A1 (en) Method And System For A Network Of Multiple Live Video Sources
US20110197237A1 (en) Controlled Delivery of Content Data Streams to Remote Users
US20130080268A1 (en) Multi-platform media syndication customization
US20130080579A1 (en) Dynamically-executed syndication services
US20140195675A1 (en) Simultaneous Content Data Streaming And Interaction System
US20140282665A1 (en) Set top box cookies
KR20210108477A (ko) 네트워크 기반 미디어 프로세싱을 인증 및 인가하기 위한 방법 및 장치
US20230336797A1 (en) Video distribution systems and methods
US10142382B1 (en) Detecting video streaming and identifying streamed videos
KR101784131B1 (ko) 메시징 서비스를 이용한 동영상 제공 방법, 동영상 제공을 위한 api 서버 및 스트리밍 서버
KR20090014945A (ko) 복수의 서비스 제공자의 웹 기반 서비스를 제공/수신하기위한 방법 및 장치
RU2667374C1 (ru) Система и способ для отображения рекламных материалов
JP6104307B2 (ja) コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信プログラム
Pham et al. Implementing dynamic ad insertion in HTML5 using MPEG dash
CN110324608A (zh) 视频流质量的检测方法、装置和计算机设备
Rainer et al. Merge and forward: Self-organized inter-destination multimedia synchronization
Kim et al. Personally customizable content authoring service for Internet Protocol television subscribers
Michalko et al. Protected streaming of video content to mobile devices

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191115

Year of fee payment: 6