KR101518089B1 - 미디어 스트리밍의 세션 관리 시스템 및 방법 - Google Patents

미디어 스트리밍의 세션 관리 시스템 및 방법 Download PDF

Info

Publication number
KR101518089B1
KR101518089B1 KR1020107010700A KR20107010700A KR101518089B1 KR 101518089 B1 KR101518089 B1 KR 101518089B1 KR 1020107010700 A KR1020107010700 A KR 1020107010700A KR 20107010700 A KR20107010700 A KR 20107010700A KR 101518089 B1 KR101518089 B1 KR 101518089B1
Authority
KR
South Korea
Prior art keywords
client
video stream
request
token
video
Prior art date
Application number
KR1020107010700A
Other languages
English (en)
Other versions
KR20100089081A (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 KR20100089081A publication Critical patent/KR20100089081A/ko
Application granted granted Critical
Publication of KR101518089B1 publication Critical patent/KR101518089B1/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/1066Session management
    • H04L65/1083In-session procedures
    • 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/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1089In-session procedures by adding media; by removing media
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

미디어 스트리밍의 세션 관리를 위한 시스템 및 방법이 제공된다. 본 시스템 및 방법은 라이브 또는 비디오 스트리밍의 어떤 요청을 인증하고 유효검증하며 새로운 요청들에 대해 기존의 비디오 스트림들의 유효성을 지속적으로 검증하는 방식으로 스트리밍 세션을 관리한다. 본 시스템 및 방법은 클라이언트로부터 제1 비디오 스트림의 제1 요청을 수신하고(302), 상기 제1 요청 및 상기 클라이언트와 연관된 적어도 하나의 파라미터에 근거하여 토큰을 생성하고(304), 상기 클라이언트와 연관된 적어도 하나의 미리 설정된 룰에 근거하여 상기 토콘을 유효검증하며(306), 유효할 때, 상기 제1 비디오 스트림을 상기 클라이언트에게 제공한다(312). 제2 비디오 스트림의 후속하는 제2 요청을 수신하면(316), 본 시스템 및 방법은 상기 제1 비디오 스트림에 근거하여 제2 토큰을 유효검증하고(306), 상기 제1 비디오 스트림을 종료하고 상기 제2 비디오 스트림을 상기 클라이언트에게 제공한다(310, 312).

Description

미디어 스트리밍의 세션 관리 시스템 및 방법{SYSTEM AND METHOD FOR SESSION MANAGEMENT OF STREAMING MEDIA}
본 출원은 2007년 11월 16일부로 미국에 출원된 가출원 제61/003334호의 미국 특허법 119조하의 우선권의 이익을 주장한다.
본 발명은 일반적으로 컴퓨터 그래픽스 처리 및 디스플레이 시스템에 관한 것으로, 특히 미디어, 예를 들어 오디오 또는 비디오 스트리밍(streaming)의 세션 관리를 위한 시스템 및 방법에 관한 것이다.
정보를 네트워크를 통해 클라이언트에게 제공하기 위한 기술 중의 점점 대중화되는 형태의 기술은 "미디어 스트리밍"으로서 공지되어 있다. 일반적으로, 미디어 스트리밍은 스트리밍 방식으로 또는 연속하는 방식으로 데이터(예를 들어, 전형적으로 오디오 및/또는 비디오)를 클라이언트에게 전달한다. 즉, 미디어 스트리밍을 이용하면, 클라이언트는 프리젠테이션을 시작하기 전에 전달될 모든 정보를 수신할 필요가 없다. 그 보다는, 미디어 파일의 전체가 클라이언트에 의해 수신되기 전에 미디어 파일 스트리밍에 있어서의 정보의 프리젠테이션이 시작될 수 있으며, 수신된 파일의 일부가 제시되고 있을 때, 그 파일의 또 다른 부분들이 나중의 리젠테이션을 위해 클라이언트에 의해 계속하여 수신된다.
미디어 스트리밍은 오디오 및/또는 비디오 파일들을 서버로부터 클라이언트에게 통신하기 위한 특히 인기있는 기술이다. 오디오 및 비디오 파일들은 압축된 후에도 용량이 아주 큰 경향이 있다. 만일 미디어 스트리밍이 사용되지 않으면, 일반적으로 전체 파일이 클라이언트에게 다운로드될 필요가 있고 그리고 나서 클라이언트는 그 파일의 재생을 시작할 수 있다. 그러한 다운로드는 클라이언트가 그 파일의 재생을 시작할 수 있기 전에 바람직하지 않게 긴 지연이 필요할 수 있다. 미디어 스트리밍(예를 들어, 오디오 스트리밍 또는 비디오 스트리밍)을 이용하면, 클라이언트는 이를 재생하기 위해 전체 파일이 다운로드되기까지 기다릴 필요가 없다. 그 대신, 클라이언트는 그 파일이 클라이언트에게 다운로드되는 동안 그 파일의 재생을 시작(예를 들어, 비디오 및/또는 오디오를 사용자에게 제시)할 수 있다.
미디어 스트리밍은 엔터테인먼트, 원격 교육 및 회사 업무들을 포함하는 많은 목적들 중 어느 것을 위해서라도 사용될 수 있다. 엔터테인먼트 회사는 영화, 음악, 및 스포츠 행사를 스트리밍하고, 원격 교육 회사는 교육 콘텐츠를 스트리밍하며, 회사는 훈련 자료, 프리젠테이션 및 상업 방송(commercial)을 스트리밍한다. 더욱이, 미디어 스트림은 온 디맨드 또는 라이브(Live)일 수 있다. 온 디맨드 스트림은 장시간 동안 서버에 저장되며, 사용자의 요청으로 전송되어 이용가능하게 된다. 라이브 스트림은, 예를 들어 라이브 스포츠 행사의 비디오 스트림과 같이 하나의 특정 시간에서만 이용가능하다.
도 1을 참조하면, 통상의 미디어 스트리밍용 시스템(100)이 도시된다. 일반적으로, 라이브 비디오 소스(102)는 방송 센터를 통해 방송된다. 비디오 소스 또는 비디오 피드(video feed)는 미가공 비디오(raw video)로서 비디오를 인코딩하는 인코딩 서버(104)에 입력된다. 인코딩 서버(104)는 미가공 비디오 피드를 암호화하고 압축하여, DRM(digital rights management, 디지털 저작권 관리)로 보호받도록 하며, 또한 네트워크에서 그 크기를 작게 만든다. 수집 서버(106)는 인코딩된 비디오를 수집하여 분배한다. 그리고 나서 인코딩된 비디오는 적어도 한 사용자(110)에게 비디오를 스트리밍하는 미디어 스트리밍 서버(108)에 전달된다. 사용자(110)는 포털(112)에 로그인함으로써 또는 요청함으로써 비디오의 스트리밍을 시작할 수 있다. 그러면 포털(112)은 사용자의 요청을 미디어 스트리밍 서버(108)에게 전달하고, 그에 따라 미디어 스트리밍 서버는 라이브 비디오를 사용자(110)에게 스트리밍한다. 그러면 사용자(110)는 적절한 미디어 플레이어를 이용하여 해당 비디오를 시청할 것이다. 또한, 사용자(100)는 뉴스 스트리밍 피드(116)를 제2 소스로부터 요청하여, 예를 들어, 클라이언트 컴퓨터에서 시청할 수 있다.
그러나, 특정 사용자가 여러 스트림들을 동시에 요청할 때 미디어 스트리밍을 제어하는 기술이 필요하다.
미디어, 예를 들어 오디오 또는 비디오의 스트리밍의 세션 관리를 위한 시스템 및 방법이 제공된다. 본 발명의 시스템 및 방법은 라이브 또는 비디오 스트리밍의 어떤 요청을 인증하고 유효검증하며 새로운 요청들에 대해 기존의 비디오 스트림들의 유효성을 지속적으로 검증하는 방식으로 스트리밍 세션을 관리한다. 또한, 모든 활동(activity)이 가장 미세한 수준(most granular level)에서 이용가능하도록 모든 채널 변경 또는 새로운 비디오 요청의 하나 하나마다 기록된다.
본 발명의 일 양태에 따르면, 비디오 스트림을 제공하는 방법이 제공된다. 본 방법은 클라이언트로부터 제1 비디오 스트림의 제1 요청을 수신하는 단계, 상기 제1 요청 및 상기 클라이언트와 연관된 적어도 하나의 파라미터에 근거하여 토큰을 생성하는 단계, 상기 클라이언트와 연관된 적어도 하나의 미리 설정된 룰에 근거하여 상기 토콘을 유효검증하는 단계, 및 유효할 때, 상기 제1 비디오 스트림을 상기 클라이언트에게 제공하는 단계를 포함한다.
다른 양태에 따르면, 본 방법은 제2 비디오 스트림의 제2 후속 요청을 수신하는 단계, 상기 제2 요청 및 상기 클라이언트와 연관된 적어도 하나의 파라미터에 근거하여 제2 토큰을 생성하는 단계, 상기 제공된 제1 비디오 스트림에 근거하여 상기 제2 토큰을 유효검증하는 단계, 및 상기 제2 토큰이 유효하지 않으면, 상기 제1 비디오 스트림을 종료하고 상기 제2 비디오 스트림을 상기 클라이언트에게 제공하는 단계를 더 포함한다.
또 다른 양태에 따르면, 상기 토큰의 상기 적어도 하나의 파라미터는 외부 트랜잭션 ID, 사용자 ID, IP 어드레스, 채널 번호, 비디오 품질 레벨, 프로그램 정보, 요청 날짜 및 요청 시간 중 적어도 하나를 포함한다.
또 다른 양태에 따르면, 본 방법의 상기 생성 단계는 상기 토큰을 URL 링크 로 상기 클라이언트에게 리턴하는 단계를 포함하며 상기 유효검증 단계는 상기 클라이언트에 의해 상기 URL을 인보크(invoke)할 때 상기 토큰을 수신하는 단계를 포함한다.
또 다른 양태에 따르면, 본 방법의 상기 제공 단계는 상기 클라이언트에게 송신될 상기 비디오 스트림을 제어하는 플레이리스트를 생성하는 단계를 포함한다. 상기 플레이 리스트는 상기 요청된 제1 비디오 스트림 또는 상기 요청된 제1 비디오 스트림을 종료하는 에러 비디오를 제공한다.
본 발명의 또 다른 양태에 따르면, 비디오 스트림을 제공하는 시스템은 클라이언트로부터 제1 비디오 스트림에 대한 제1 요청을 수신하며, 상기 제1 요청 및 상기 클라이언트와 연관된 적어도 하나의 파라미터에 근거하여 토큰을 발생하는 포털 요소, 상기 클라이언트와 연관된 적어도 하나의 미리 설정된 룰에 따라 상기 토큰을 유효검증하는 세션 요소, 및 유효할 때, 상기 제1 비디오 스트림을 상기 클라이언트에게 제공하는 스트리밍 요소를 포함한다.
본 발명의 이러한 그리고 다른 양태, 특징 및 장점은 다음과 같이 설명될 것이며, 또는 첨부의 도면과 함께 읽게 될 다음의 바람직한 실시예들의 상세한 설명으로부터 자명해질 것이다.
도면에서, 같은 참조부호는 전체 도면에서 유사한 구성요소를 지칭한다.
도 1은 종래의 미디어 스트리밍용 시스템을 예시한다.
도 2는 본 발명에 따른 미디어 스트리밍의 세션 관리를 위한 예시적인 전체 시스템 및 방법을 예시한다.
도 3은 본 발명에 따른 미디어 스트리밍의 세션 관리를 위한 예시적인 방법의 흐름도이다.
도 4는 본 발명에 따른 미디어 스트리밍의 적어도 하나의 세션을 관리하기 위한 시스템 컴포넌트들 사이의 흐름도를 예시한다.
도 5는 본 발명에 따른 미디어 스트리밍의 세션 관리에서 이용된 토큰의 데이터 구조를 예시한다.
도면(들)은 본 발명의 개념을 예시하는 목적이며 반드시 본 발명을 예시하기 위한 유일하게 가능한 구성이 아님을 이해하여야 한다.
도면들에 도시된 구성요소들은 하드웨어, 소프트웨어 또는 이들의 결합의 다양한 형태로 구현될 수 있다. 바람직하게, 이들 구성요소들은 프로세서, 메모리 및 입/출력 인터페이스들을 포함할 수 있는 적절히 프로그램된 하나 이상의 범용 장치들에서 하드웨어 및 소프트웨어의 조합으로 구현된다.
본 발명의 설명은 본 발명의 원리를 예시한다. 따라서 비록 본 명세서에서는 명시적으로 기술되거나 도시되지 않을지라도, 본 기술 분야에서 통상의 지식을 가진 자들은 본 발명의 원리를 구체화하고 그 정신 및 범주 내에 속하는 여러 구성들을 안출할 수 있을 것이라는 사실이 인식될 것이다.
본 명세서에서 언급된 모든 예들과 조건적 언어는 독자들에게 본 발명의 원리 및 발명자에 의해 기술 진전에 공헌한 개념을 이해하는데 도움을 주는 교습적 목적으로 의도되며, 그렇게 특별하게 언급된 예 및 조건들로 제한하지 않는 것으로 해석된다.
더욱이, 본 명세서에서 본 발명의 원리, 양태, 및 실시예들 뿐만 아니라 그의 특정 예들을 열거하는 모든 언급은 본 발명의 구조적이고 기능적인 등가물들을 모두 포괄하는 것으로 의도된다. 부가적으로, 그러한 등가물들은 현재 공지된 등가물들뿐만 아니라 미래에 개발되는 등가물들, 즉, 구조에 상관없이 동일한 기능을 수행하는 개발된 모든 구성요소들을 포함하는 것으로 의도된다.
따라서, 예를 들어, 본 기술 분야에서 숙련된 자들이라면 본 명세서에서 제시된 블록도들은 본 발명의 원리를 구체화하는 예시적인 회로의 개념적 도면을 나타내는 것임을 인식할 것이다. 마찬가지로, 모든 플로우차트, 흐름도, 상태 천이도, 및 의사코드 등은 컴퓨터 판독가능 매체에서 실질적으로 표현될 수 있고 그래서 컴퓨터 또는 프로세서가 명시적으로 도시되든지 도시되지 않든지 그러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 각종 프로세스들을 나타낸다는 것을 인식될 것이다.
도면들에 도시된 각종 구성요소들의 기능들은 전용 하드웨어 뿐만 아니라 적절한 소프트웨어와 연관하여 소프트웨어를 실행할 수 있는 하드웨어를 사용하여 제공될 수 있다. 그 기능들이 프로세서에 의해 제공될 때, 그 기능들은 단일의 전용 프로세서에 의해, 단일의 공유 프로세서에 의해, 또는 일부가 공유될 수 있는 다수의 개별 프로세서들에 의해 제공될 수 있다. 더욱이, "프로세서" 또는 "제어기"라는 용어의 명시적인 사용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 지칭하는 것으로 해석되지 않아야 하며, 디지털 신호 프로세서("DSP") 하드웨어, 소프트웨어를 저장하는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 및 비휘발성 저장 장치를 제한 없이 암시적으로 포함할 수 있다.
통상적 및/또는 관습적 다른 하드웨어 또한 포함될 수 있다. 마찬가지로, 도면들에 도시된 모든 스위치들은 개념적일 뿐이다. 이들의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어 및 전용 로직의 상호작용을 통해, 또는 수동적으로도 실행될 수 있으며, 특정한 기술은 문맥으로부터 더욱 상세하게 이해될 때 구현자에 의해 선택가능해진다.
본 명세서의 청구범위에서, 특정한 기능을 수행하는 수단으로서 표현된 어떤 구성요소는, 예를 들어, a) 그 기능을 수행하는 회로 구성요소들의 조합 또는 b) 임의 형태의 소프트웨어로서 이 소프트웨어를 실행하여 그 기능을 수행하도록 하기 위한 적절한 회로와 조합된, 펌웨어 또는 마이크로코드 등을 포함하는 임의 형태의 소프트웨어를 포함하여, 그 기능을 수행하는 모든 방식을 포괄하는 것으로 의도된다. 그러한 청구범위로 규정된 본 발명은 다양하게 언급한 수단들에 의해 제공된 기능들이 청구범위가 요구하는 방식으로 조합되고 결합된다는 사실에 있다. 따라서 그러한 기능들을 제공할 수 있는 어떠한 수단도 본 명세서에 도시된 수단들과 등가인 것으로 간주된다.
미디어, 예를 들어 오디오 또는 비디오의 스트리밍의 세션 관리를 위한 시스템 및 방법이 제공된다. 본 발명의 시스템 및 방법은 라이브 또는 비디오 스트리밍의 어떤 요청도 인증하고 유효검증하며 새로운 요청에 대해 기존 비디오 스트림의 유효성을 지속적으로 검증하는 방식으로 스트리밍 세션을 관리한다. 새로운 요청들과 제휴하여 현재의 스트리밍 세션들을 관리함으로써, 본 시스템 및 방법은 인증할 새로운 요청을 판정할 뿐 아니라 더 이상 유효하지 않은 또는 인증이 만료된 기존 스트림들의 연결 해제를 미리미리할지를 판단할 수 있다. 또한. 본 시스템 및 방법은 요청을 유효검증하기 위해 DRM을 넘어서서 많은 보안 레벨들을 제공하며, 이들 레벨들은 각기 구성 가능성이 매우 높게 동적인 방식으로 조절될 수 있다. 각각의 요청은 요청하는 사용자 또는 클라이언트와 연관된 파라미터들을 포함하는 암호화된 토큰을 수반할 것이다.
도 2 및 도 3을 참조하면, 본 발명에 따른 미디어 스트리밍의 세션 관리를 위한 전체 시스템 및 방법이 예시된다. 일반적으로, 세션 관리는 사용자로부터 비디오 스트림의 요청으로 시작한다(단계 302). 사용자(210)는 웹 포털(212)에 액세스하고 라이브 스트림 피드용 채널, 즉, 비디오 스트림의 요청을 선택할 것이다. 웹 포털(212)은 사용자에 의한 요청 및 사용자와 관련된 파라미터들, 예를 들어, 계정(account) 또는 가입(subscription) 파라미터들에 근거하여 토큰을 생성할 것이다(단계 304). 토큰은 다음과 같은 파라미터들, 즉, 외부 트랜잭션 ID, 날짜 시간, IP 어드레스, 사용자 ID, 채널 번호 및 비디오 품질 레벨을 포함할 수 있다. 토큰은 암호화되어 미디어 스트리밍 서버(208)에 전송된다. 일 실시예에서, 암호화는 공개/개인 키 쌍으로 된 RSA이지만, 다른 형태와 방법의 암호화가 사용될 수 있다.
다음 단계(306)에서, 그 요청은 유효검증된다. 요청은 세션 서버들(218)에 의해 해독되고 유효검증된다. 세션 서버(218)는 라이브 또는 비디오 스트리밍의 어떤 요청도 인증하고 유효검증하며 새로운 요청들에 대해 기존 비디오 스트림들의 유효성을 지속적으로 검증하는 방식으로 스트리밍 세션을 관리한다. 유효검증은 요청의 콘텐츠들 및 (유효 채널, 및 그 요청의 타임스탬프와 같은) 그 요청 자체를 둘러싼 미리 설정된 룰들을 유효검증할 뿐만 아니라 그 사용자에 대한 기존의 스트림에 대해 콘텐츠 파라미터를 확인하는 것을 포함한다. 미리 설정된 룰들은 이들의 계정 또는 가입 사항에 따라 각 사용자마다 다를 수 있음이 인식될 것이다. 예를 들어, 사용자는 미리 설정된 개수의 비디오 스트림을 동시에 받는 플랜을 구매할 수 있으며 및/또는 사전규정된 채널들을 포함하는 패키지를 구매할 수 있다. 단계(308)에서, 만일 그 요청이 유효하다고 결정되면, 비디오가 사용자(210)에게 스트리밍된다(단계 312). 요청 및 유효하다는 결과는 세션 관리 데이터베이스(220)에 저장된다.
스트리밍 서버(208)에 의해 결정된 바와 같이, 그 스트림과 관련된 모든 미래의 활동은 세션 서버(218)에 의해 모니터되고 세션 관리 데이터베이스(220)에 기록된다(단계 314). 세션 서버(218)는 어떤 후속 요청들이 최종 사용자(210)로부터 수신되는지를 판단할 것이다(단계 316). 만일 단계(316)에서 어떠한 후속 요청들도 수신되지 않으면, 현재 세션의 타임아웃이 도달했다고 판단한다(단계 318). 만일 세션 타임아웃이 도달했으면, 사용자에게 모든 비디오 스트리밍 세션은 종료될 것이며(단계 320), 그렇지 않다면, 세션 서버(218)는 후속 요청들을 계속 모니터할 것이다.
세션 서버(218)는 사용자의 활동을 모니터할 것이며 그 활동을 데이터베이스 서버(220)에 저장할 것이다. 그런 다음 데이터는 분석을 위해 리포트 웹 서버(222)에 전송될 것이다. 관리자(operations)(224)에 의해 모니터하기 위해, 시스템의 전체적인 활성 상태를 모니터하기 위해 (즉, 세션들이 정확하게 관리되는지 그리고 네트워크 혼잡으로 인한 문제점들의 결과로서 일어날 수 있는 어떤 문제들, 클라이언트 측 문제들 등을 보기 위해) 애드-혹(ad-hoc) 리포트를 통해 세션 관리를 위한 실시간 및 이력 통계가 제공된다.
단계(316)에서, 만일 사용자(210)로부터 후속 요청이 수신되었다고 판단되면, 본 방법은 단계(304)로 돌아가서 새로운 요청에 대한 새로운 토큰을 생성할 것이다. 그러나, 만일 단계(308)에서 그 요청이 유효하지 않다고 판단되면, 세션 서버는 이전 요청의 세션을 종료하거나 새로운 후속 요청을 거부할 것이다(단계 310). 새로운 요청은 거부될 수 있으며, 그 결과 문제를 설명하는 에러 비디오를 포함할 수 있는 플레이리스트가 동적으로 생성된다. 예를 들어, 만일 누군가 이미 스트리밍하고 있다면, 시스템은 새로운 요청이 진행하지 못하게 할 수 있다. 시스템에 의해 새로운 요청을 허용하기 위해 기존의 요청들이 끊길 수 있다. 예를 들어, 사용자가 새로운 스트림을 어떤 다른 곳에서 (말하자면 지역의 커피 하우스에서 자신의 랩탑으로) 새로운 스트림을 시작하려고 하지만, 이들은 집에서 자신들의 스트림을 끊는 것을 잊어버렸다.
시스템(서버)은 여러 조건들, 즉, 사용자의 계정과 연관된 적어도 하나의 미리 설정된 룰 하에, 클라이언트의 PC(210)로의 스트림을 강제로 종료할 수 있다. 예를 들어, 만일 최종 사용자가 사용자 id/계정에 허용된 양(최대 수는 서버 측에서 설정가능하다)보다 많은 채널들을 스트리밍하려고 하면, 또는 최종 사용자가 비디오 스트림과의 링크를 친구들과 공유하려 시도하면, 시스템은 비디오 스트림을 종료할 수 있다. 더욱이, (예를 들어, 스포츠 행사의 완료 시와 같이) 만일 허용된 프로그래밍 콘텐츠가 종료되고, 스트리밍을 위한 또는 허용된 더 이상의 콘텐츠가 이용가능하지 않은 경우 관리자 또는 방송사는 사용자 세션을 종료할 수 있다.
도 4를 참조하면, 본 발명에 따라서 미디어 스트리밍의 적어도 하나의 세션을 관리하기 위한 시스템 컴포넌트들 간의 흐름도가 제공된다. 도 4에 도시된 시스템 컴포넌트들은 단일 서버에 포함될 수 있고 또는 여러 서버들 사이에 분산되어 있을 수 있음을 인식될 것이다. 서버는 하나 이상의 중앙 처리 장치(CPU), 랜덤 액세스 메모리(RAM) 및/또는 판독 전용 메모리(ROM)와 같은 메모리, 키보드, 커서 제어 장치(예컨대, 마우스 또는 조이스틱) 및 디스플레이 장치와 같은 입/출력 (I/O) 사용자 인터페이스(들)과 같은 하드웨어를 갖는 공지된 각종 컴퓨터 플랫폼 중 어떤 것으로 구현될 수 있다. 시스템 버스는 여러 컴포넌트들을 연결하며, 각종 버스 아키텍처들 중 어떤 것을 이용하는 메모리 버스 또는 메모리 제어기, 주변 버스, 및 로컬 버스를 포함하는 여러 형태의 버스 구조들 중 어떤 것일 수 있다. 컴퓨터 플랫폼은 또한 오퍼레이팅 시스템 및 마이크로 명령어 코드를 포함한다. 본 명세서에서 기술된 여러 프로세스들 및 기능들은 오퍼레이팅 시스템을 통해 실행되는 마이크로 명령어 코드의 일부 또는 소프트웨어 응용 프로그램의 일부(또는 이들의 조합)일 수 있다. 일 실시예에서, 소프트웨어 응용 프로그램은 프로그램 저장 장치에서 유형적으로 구체화되어, 도 2의 서버(218)와 같은 어떤 적합한 머신에 업로드되고 그에 의해 실행될 수 있다.
또한, 여러 다른 주변 장치들이 각종 인터페이스들 및 버스 구조들, 이를 테면 병렬 포트, 직렬 포트 또는 범용 직렬 버스(USB)를 통해 서버 또는 머신의 컴퓨터 플랫폼에 연결될 수 있다. 그러한 한가지 주변 장치는 서버로부터 각종 콘텐츠 서버들 및 각종 사용자 PC들에 통신을 가능하게 해주는 통신 모듈, 또는 통신 요소 등, 예를 들어, 모뎀, 위성 중계기, 무선 접속 등을 포함할 수 있다. 다른 주변 장치들은 부가적 저장 장치들, 프린터 및 스캐너를 포함할 수 있다.
서버는 하나 이상의 원격 컴퓨터들, 예컨대, 사용자 PC들, 콘텐츠 서버 등과의 논리적 접속을 이용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 다른 공통 네트워크 노드일 수 있으며, 전형적으로 머신과 관련하여 전술한 많은 또는 모든 구성요소들을 포함한다. 네트워크는 다수의 컴퓨터들을 연결하여 네트워크 메시지들을 통해 다양한 모드의 통신을 가능하게 해주는 근거리 네트워크(LAN), 광대역 네트워크(WAN), 인터넷, 또는 어떤 공지의 네트워크일 수 있음이 인식될 것이다. 서버는 어떤 공지의 통신 링크, 예를 들면, 다이얼-업(dial-up), 하드와이어드(hardwired), 케이블, DSL, 위성, 셀룰러, PCS, 무선 전송(예컨대, 802.11a/b/g 등) 등을 통해 서버 및 네트워크와 통신할 수 있다. 더욱이, 장치들은 각종의 공지된 프로토콜, 이를 테면, 전송 제어 프로토콜/인터넷 프로토콜(Transmission Control Protocol/Internet Protocol: TCP/IP), 파일 전송 프로토콜(File Transfer Protocol: FTP), 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol: HTTP) 등을 이용하여 통신할 것이다. 구매 트랜잭션 동안, 컴퓨팅 장치들은 하이퍼텍스트 전송 프로토콜 보안(Hypertext Transfer Protocol Secure: HTTPs), 보안 소켓 계층 프로토콜(Secure Sockets Layer(SSL) Protocol), 보안 전자 트랜잭션 프로토콜(Secure Electronic Transaction(SEC) Protocol) 등을 사용할 수 있다. 부가적으로, 서버는 그 중에서도 리얼-타임 전송 프로토콜(Real-time Transfer Protocol: RTP), 리얼-타임 스트리밍 프로토콜(Real-time Streaming Protocol: RTSP) 및 리얼-타임 전송 제어 프로토콜(Real-time Transport Control Protocol: RTCP)과 같은 미디어 스트리밍을 지원하는 어떤 공지의 프로토콜을 이용할 수 있다.
여러 컴포넌트들 중에서, 시스템(400)은 미가공 라이브 비디오 피드를 인코딩하는 인코딩 모듈, 또는 인코딩 요소 등(406) 및 인코딩된 비디오를 분배하는 수집 모듈(acquisition module) 또는 수집 요소 등(407)을 포함할 것이다. 관리자 모듈 또는 관리자 요소 등(424)은 DRM 키 관리를 위해 그리고 이용가능한 채널들의 채널 구성을 관리하기 위해 제공된다. 시스템(400)은 사용자(410)로부터 각종 요청들을 수신하고 그 요청 및 클라이언트 또는 사용자(410)와 연관된 적어도 하나의 파라미터에 근거하여 토큰을 생성하는 포털 모듈 또는 포털 요소 등(412)을 더 포함한다. 세션 모듈 또는 세션 요소 등(418)은 클라이언트와 연관된 적어도 하나의 미리 설정된 룰에 기반하여 토큰을 유효검증하며, 스트리밍 모듈 또는 스트리밍 요소 등(408)은 비디오 스트림을 클라이언트에게 제공한다.
이제 시스템 컴포넌트들의 상호작용과 함께 세션 제어 흐름 및 비디오 신호 흐름이 도 4를 참조하여 설명될 것이다.
처음에, 사용자는 최종 사용자 PC(410)를 통해 포털 모듈(412), 예컨대, 상업 포털에 로그인하여 이용가능한 채널들의 채널 가이드 또는 리스트를 요청한다(단계 1). 상업 포털은 관리자 모듈(424)로부터 취득한 채널 구성으로부터 채널들의 리스트를 생성한다. 채널 구성은 다음과 같은 구성 정보, 즉, 채널 번호, 채널 설명(또는 프로그램 설명), 비디오 소스, 비디오 플레이리스트 순서 및 타이밍, 동시적 세션들이 허용되는 경우(예컨대, 사용자 당, IP 어드레스 당 등)의 최대 개수, 및 토큰 파라미터들에 대한 (예컨대, IP 어드레스에 의한 제한/유효성을 위한, 요청이 이뤄진 시간 윈도우의 유효성을 위한 등의) 시행 규칙(enforcement rules)에 따라 시청할 수 있는 채널들을 포함한다. 그 다음, 채널 구성은 인코딩 모듈(406), 수집 모듈(407), 스트리밍 모듈(408) 및 세션 모듈(418)에 제공된다.
단계(2)에서, 최종 사용자 PC(410)에서 돌아가는 미디어 플레이어 클라이언트는 채널 가이드를 수신하고 그 채널 가이드를 사용자에게 제시한다. 사용자는 채널을 선택하며 그러면 채널 요청이 다시 상업 포털에 전달된다(단계 3). 그 다음, 상업 포털은 암호화된 토큰을 생성 또는 발생시키고(단계 4), 이 토큰은 채널 요청에 대해 URL 링크로 미디어 플레이어 클라이언트에게 리턴된다.
단계(5)에서, 사용자(410)는 암호화된 토큰으로 URL 링크를 인보크함으로써 비디오를 요청한다. 암호화된 토큰은 아래와 같이 URL에서의 문의 스트링 변수로서 스트리밍 모듈(408)에서 수신된다.
예를 들어, mms://stream-transaction.synccast.com/livestreaming/request1 _live_directv.wsx?token =KvU ....(1)
여기서, "mms"는 미디어 서버이고; "stream-transaction.syncast.com" 은 도메인 네임이고; "request1_live_directv.wsx" 는 WSX 파일 - Wrapper Playlist Object이고; 그리고 "token=" 은 인증을 통해 토큰이 되도록 암호화된 요청의 각종 파라미터들이다. 요청의 각종 파라미터들(예컨대, 외부 트랜잭션 ID, 날짜 시간, IP 어드레스, 사용자 ID, 채널 번호 및 비디오 품질 레벨)은 단일 스트링으로 결합된 다음 암호화된다. 암호화 방법은 관리자 모듈(424)에 의해 포털 모듈(412), 예를 들어, 상업 포털에 제공된 RSA 인증서를 통해 이루어진다.
그 다음 단계(6)에서, 암호화된 토큰이 세션 모듈(418)에 전달되고, 세션 모듈은 암호화된 토큰을 유효검증한다. 암호 해독될 때, 토큰(500)은 도 5에 도시된 바와 같이 다음과 같은 파라미터들을 보여준다.
● 외부 트랜잭션 Id(External Transaction Id)(502)
포맷: 숫자(numeric). 서비스 제공자에 의해 생성되며 모든 트랜잭션 전반에서 유일한 값임. 예를 들어,
exttransid = 123578235
● 사용자 Id(UserId)(504)
포맷: 영숫자(alpha-numeric). 서비스 제공자에 의해 생성되며 사용자를 유일하게 식별함. 예를 들어,
userid = AblCd2eF
● IP 어드레스(IP Address)(506)
포맷: 127.127.127.127. 이것은 사용자의 IP 어드레스를 나타냄. 예를 들어,
ip = 66.23. 45. 12
● 채널 번호(Channel Number)(508)
포맷: 숫자. 스트리밍될 요청된 채널. 예를 들어,
channel = 6
● 채널 품질(Channel Quality)(510)
포맷: 영숫자. 요구되는 품질 레벨(초기에는 "낮음(low)", "중간(medium)", "높음(high)"). 예를 들면,
quality = high
● 프로그램 정보(Program Information)(512)
포맷: 영숫자(15 문자로 설명 제한됨). 설명만을 위한 선택 필드임. 예를 들면,
program = reds v. blues
● 요청 날짜(Request Date)(514)
포맷: CCYY-MM-DD. 서비스 제공자에 의해 결정된 것으로 요청을 한 GMT 날짜. 예를 들면,
date = 2006-12-29
● 요청 시간(Request Time)(516)
포맷: HH:MI:SS, 여기서 HH는 24시간임. 서비스 제공자에 의해 결정된 것으로서 요청을 한 GMT 시간. 예를 들면,
time = 17 : 58 : 46
단계(7)에서 토큰의 유효검증에 응답하여, 세션 모듈(418)은 "동적(dynamic)" 서버측 플레이리스트 응답(Playlist response), 즉, 요청된 스트림 또는 에러 비디오를 구축한다. 서버측 플레이리스트는 스트리밍될 미디어를 제어하는 방법을 제공한다. 클라이언트측에서, 플레이리스트는 최종 사용자에 의해 쉽게 변경가능하며 그래서 그 자체로 제어를 시행하는데에 좋은 수단을 제공하지는 않는다. 서버측 플레이리스트는 사용자에 의해 변경될 수 없으며 그래서 광고 삽입 및 각종 미디어 재생의 길이 및 순서를 보장하는데 유용하다. 중요한 것으로, 서버측 플레이리스트는 비디오 스트림의 진짜 소스를 숨기며, 또한 본 발명의 시스템 및 방법에서 이용된 방식에서, 서버측 플레이리스트는 동일 비디오 스트림을 포인팅할 수 있으나 이 스트림에 대한 링크가 최종 사용자에게 고유하게 나타날 것이고, 따라서 공유되고 있는 것처럼 인식되지 않으면서 다른 사람들과 공유하는 것을 더 어렵게 만든다.
그러면, 세션 모듈(418)은 요청을 기록하여 세션 데이터베이스를 낳는다. 대안으로, 세션 모듈(418)은 만일 사용자가 세션 룰을 위반한다면 다른 스트림들에 대해 강제 연결 해제를 보낸다. 세션 모듈(418)은 서버측 플레이리스트를 스트리밍 모듈(408)에 전달하여 스트리밍 모듈(408)이 스트리밍될 비디오 콘텐츠를 전달하도록 지령한다(단계 8). 단계(9)에서, 스트리밍 모듈(408)은 라이브 비디오, 예컨대, 인코딩된 비디오를 최종 사용자의 PC(410)에 스트리밍한다. 사용자의 활동은 스트리밍 모듈(408)의 세션 모니터에 의해 포착된다(단계 10). 단계(11)에서, 세션 관리 룰에 따라서, 사용자의 후속 요청이 허용되거나 세션 모듈(418)이 강제로 사용자로부터 스트림 연결해제할 것이다.
본 발명의 시스템은 사용자당 동시적 스트림들의 개수를 제어할 수 있어서, 시스템은 한 사용자 ID에게 X개의 비디오를 스트리밍하는 역량을 허용할 수 있음이 인식되어야 한다. 따라서, 세션 모듈(418)은 사용자 또는 클라이언트에게 제공된 비디오 스트림들의 개수를 판단하고, 만일 요청이 그 클라이언트의 미리 설정된 비디오 스트림들의 개수를 초과하는지를 판단하고 미리 설정된 비디오 스트림들의 개수를 초과하면 적어도 하나의 비디오 스트림을 종료시킨다. 또한, 암호화된 토큰 내에 있는 IP 어드레스로 그 요청이 완수되는 것을 보장함으로써 스트림 링크가 다른 유효로 검증되지 않은 사용자들과 공유될 수 없도록 한다. 이러한 시나리오에서, 세션 모듈(418)은 사용자 또는 클라이언트가 요청한 제1 비디오 스트림을 제2 IP 어드레스에서 수신하고 있는지를 판단하고, 제2 IP 어드레스로의 제1 비디오 스트림을 종료하고, 제1 비디오 스트림을 제1 IP 어드레스로 제공한다. 부가적으로, 세션 모듈(418)은 또한 "외부의 트랜잭션 id"가 유일하고 그래서 이전에 사용된 적이 없음을 검증할 수 있다. 만일 그러한 경우가 아니라면, 그 요청은 수차례 보내지고 있는 것이며, 아마도 URL의 링크 및 토큰이 다른 사용자들과 공유되어왔거나 또는 다른 PC들에서 사용하려 시도하고 있다는 등의 사실을 나타내는 것이다.
사용자에게 전송되는 동시적 또는 다중 스트림들을 관리하는 것 외에, 본 시스템 및 방법은 단일 비디오를 스트리밍하는 다른 미리 설정된 룰을 시행할 것이다. 예를 들어, 타임 프레임을 암호화된 토큰에 포함시킴으로써 만일 그 시간이 구성된 윈도우를 벗어나는 것으로 또는 현재 시간에 기초한 타임 프레임을 벗어나는 것으로 된다면 링크는 나중 사용을 위해 저장될 수 없게 된다. 세션 모듈(418)은 토큰 내에서 요청의 시간과 날짜를 판단할 것이고, 요청한 시간과 날짜가 허용가능한 타임 프레임을 벗어났는지를 판단하며, 요청한 시간과 날짜가 허용가능한 타임 윈도우를 벗어났다면 제1 비디오 스트림을 종료한다.
본 발명의 시스템 및 방법은 미디어 스트리밍을 제어하기 위해 DRM 키를 추가로 이용함을 인식하여야 한다. 다시 도 4를 참조하면, 관리자 모듈(424)은 DRM 키를 발생하고 이 키를 비디오 스트림을 암호화하는 인코딩 모듈(406)에 전달한다(단계 12). 관리자 모듈(424)은 또한 DRM 키를 포털 모듈(412)에 제공하며(단계 13), 그 다음 포털 모듈은 이 키를 적절한 최종 사용자(410)에게 전달한다(단계 14). DRM 키는 그 다음 비디오 스트림을 해독하기 위해 최종 사용자의 PC에서 채택된다(단계 15).
비록 본 발명의 가르침을 포함하는 실시예들이 본 명세서에서 상세히 도시되고 기술되었지만, 본 기술 분야에서 숙련된 자들이라면 이들 가르침을 여전히 포함하는 변형된 다른 많은 실시예들을 용이하게 안출할 수 있을 것이다. 미디어 스트리밍의 세션 관리를 위한 시스템 및 방법의 바람직한 실시예가 기술되었지만(이는 예시적인 것이며 제한하지 않는 것으로 의도한다), 전술한 가르침에 비추어 본 기술 분야에서 숙련된 자들에 의해 변경과 변형이 이루어질 수 있음을 주목하여야 한다. 그러므로 첨부의 특허청구범위로 개요한 것처럼 본 발명의 범주 내에 있는 개시된 발명의 특정 실시예들 내에서 변경이 이루어질 수 있음은 물론이다.
208: 미디어 스트리밍 서버
210: 사용자
212: 웹 포털
218: 세션 서버
220: 세션 관리 데이터베이스
222: 리포트 웹 서버

Claims (20)

  1. 비디오 스트림을 제공하는 방법으로서,
    클라이언트로부터 제1 비디오 스트림에 대한 제1 요청을 수신하는 단계(302);
    상기 제1 요청 및 상기 클라이언트와 연관된 적어도 하나의 파라미터에 기초하여 토큰(500)을 생성하는 단계(304);
    상기 클라이언트와 연관된 적어도 하나의 룰(rule)에 기초하여 상기 토큰을 유효검증(validate)하는 단계(306); 및
    유효검증이 되면, 상기 제1 비디오 스트림을 상기 클라이언트에게 제공하는 단계(312)
    를 포함하고,
    상기 유효검증 단계는,
    상기 클라이언트에게 제공된 비디오 스트림들의 개수를 판단하는 단계;
    상기 제1 요청이 상기 클라이언트에 대한 비디오 스트림들의 개수를 초과하는지를 판단하는 단계; 및
    상기 비디오 스트림들의 개수를 초과하면 적어도 하나의 비디오 스트림을 종료하는 단계
    를 더 포함하는 방법.
  2. 제1항에 있어서,
    제2 비디오 스트림에 대한 후속하는 제2 요청을 수신하는 단계(316);
    상기 제2 요청 및 상기 클라이언트와 연관된 적어도 하나의 파라미터에 기초하여 제2 토큰을 생성하는 단계(304);
    상기 제공된 제1 비디오 스트림에 기초하여 상기 제2 토큰을 유효검증하는 단계(306); 및
    상기 제2 토큰이 유효검증되지 않으면, 상기 제1 비디오 스트림을 종료하고 상기 제2 비디오 스트림을 상기 클라이언트에게 제공하는 단계(310, 312)
    를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 토큰(500)의 적어도 하나의 파라미터는 외부 트랜잭션 ID(502), 사용자 ID(504), IP 어드레스(506), 채널 번호(508), 비디오 품질 레벨(510), 프로그램 정보(512), 요청 날짜(514) 및 요청 시간(516) 중 적어도 하나를 포함하는 방법.
  4. 제1항에 있어서,
    상기 생성 단계는 URL 링크로 상기 토큰을 상기 클라이언트에게 리턴하는 단계를 포함하며, 상기 유효 검증하는 단계는 상기 클라이언트에 의해 상기 URL을 인보크(invoke)할 시에 상기 토큰을 수신하는 단계를 포함하는 방법.
  5. 제4항에 있어서,
    상기 제공 단계는 상기 클라이언트에게 보내질 상기 비디오 스트림을 제어하기 위한 플레이리스트를 생성하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 플레이리스트는 상기 요청된 제1 비디오 스트림을 제공하는 방법.
  7. 제5항에 있어서,
    상기 플레이리스트는 상기 요청된 제1 비디오 스트림을 종료하는 에러 비디오를 제공하는 방법.
  8. 제1항에 있어서,
    상기 클라이언트와 연관된 상기 적어도 하나의 파라미터는 상기 클라이언트에 대한 제1 IP 어드레스를 포함하며,
    상기 방법은,
    상기 클라이언트가 상기 요청된 제1 비디오 스트림을 제2 IP 어드레스에서 수신하고 있는지를 판단하는 단계;
    상기 제2 IP 어드레스로의 상기 제1 비디오 스트림을 종료하는 단계; 및
    상기 제1 비디오 스트림을 상기 제1 IP 어드레스에 제공하는 단계
    를 더 포함하는 방법.
  9. 삭제
  10. 비디오 스트림을 제공하는 방법으로서,
    클라이언트로부터 제1 비디오 스트림에 대한 제1 요청을 수신하는 단계(302);
    상기 제1 요청 및 상기 클라이언트와 연관된 적어도 하나의 파라미터에 기초하여 토큰을 생성하는 단계(304);
    상기 클라이언트와 연관된 적어도 하나의 룰에 기초하여 상기 토큰을 유효검증하는 단계(306); 및
    유효검증이 되면, 상기 제1 비디오 스트림을 상기 클라이언트에게 제공하는 단계(312)
    를 포함하고,
    상기 유효검증 단계는,
    상기 토큰 내에서 상기 제1 요청의 시간 및 날짜를 판단하는 단계;
    상기 요청된 시간 및 날짜가 허용가능한 타임 프레임을 벗어나는지를 판단하는 단계; 및
    상기 요청된 시간 및 날짜가 상기 허용가능한 타임 프레임을 벗어나면 적어도 하나의 비디오 스트림을 종료하는 단계
    를 더 포함하는 방법.
  11. 비디오 스트림을 제공하는 시스템(400)으로서,
    클라이언트로부터 제1 비디오 스트림에 대한 제1 요청을 수신하는 포털 요소(412) - 상기 포털 요소(412)는 상기 제1 요청 및 상기 클라이언트와 연관된 적어도 하나의 파라미터에 기초하여 토큰(500)을 생성함 - ;
    상기 클라이언트와 연관된 적어도 하나의 룰에 기초하여 상기 토큰을 유효검증하는 세션 요소(418); 및
    유효검증이 되면, 상기 제1 비디오 스트림을 상기 클라이언트에게 제공하는 스트리밍 요소(408)
    를 포함하고,
    상기 세션 요소(418)는 또한 상기 클라이언트에 제공된 비디오 스트림들의 개수를 판단하고, 상기 제1 요청이 상기 클라이언트에 대한 미리 설정된 비디오 스트림들의 개수를 초과하는지를 판단하며, 상기 비디오 스트림들의 개수를 초과하면 적어도 하나의 비디오 스트림을 종료하는 시스템(400).
  12. 제11항에 있어서,
    상기 포털 요소(412)는 제2 비디오 스트림에 대한 후속하는 제2 요청을 수신하고, 상기 제2 요청 및 상기 클라이언트와 연관된 적어도 하나의 파라미터에 기초하여 제2 토큰을 생성하도록 또한 적응되고,
    상기 세션 요소(418)는 상기 제공된 제1 비디오 스트림에 기초하여 상기 제2 토큰을 유효검증하며, 상기 제2 토큰이 유효검증되지 않으면, 상기 스트리밍 요소(408)는 상기 제1 비디오 스트림을 종료하고 상기 제2 비디오 스트림을 상기 클라이언트에게 제공하는
    시스템(400).
  13. 제11항에 있어서,
    상기 토큰(500)의 적어도 하나의 파라미터는 외부 트랜잭션 ID(502), 사용자 ID(504), IP 어드레스(506), 채널 번호(508), 비디오 품질 레벨(510), 프로그램 정보(512), 요청 날짜(514) 및 요청 시간(516) 중 적어도 하나를 포함하는 시스템(400).
  14. 제11항에 있어서,
    상기 포털 요소(412)는 URL 링크로 상기 토큰을 상기 클라이언트에게 리턴하며, 상기 스트리밍 요소(408)는 상기 클라이언트에 의해 상기 URL을 인보크할 시에 상기 토큰을 수신하는 시스템(400).
  15. 제14항에 있어서,
    상기 세션 요소(418)는 상기 요청한 비디오 스트림에 대한 플레이리스트를 구축하며, 상기 스트리밍 요소(408)는 상기 플레이리스트에 기초하여 상기 비디오 스트림을 상기 클라이언트에게 전달하는 시스템(400).
  16. 제15항에 있어서,
    상기 플레이리스트는 상기 요청된 제1 비디오 스트림을 제공하는 시스템(400).
  17. 제15항에 있어서,
    상기 플레이리스트는 상기 요청된 제1 비디오 스트림을 종료하는 에러 비디오를 제공하는 시스템(400).
  18. 제11항에 있어서,
    상기 클라이언트와 연관된 상기 적어도 하나의 파라미터는 상기 클라이언트에 대한 제1 IP 어드레스를 포함하며,
    상기 세션 요소(418)는 상기 클라이언트가 상기 요청된 제1 비디오 스트림을 제2 IP 어드레스에서 수신하고 있는지를 판단하고, 상기 제2 IP 어드레스로의 상기 제1 비디오 스트림을 종료하며, 상기 제1 비디오 스트림을 상기 제1 IP 어드레스에 제공하는 시스템(400).
  19. 삭제
  20. 비디오 스트림을 제공하는 시스템(400)으로서,
    클라이언트로부터 제1 비디오 스트림에 대한 제1 요청을 수신하는 포털 요소(412) - 상기 포털 요소(412)는 상기 제1 요청 및 상기 클라이언트와 연관된 적어도 하나의 파라미터에 기초하여 토큰을 생성함 - ;
    상기 클라이언트와 연관된 적어도 하나의 룰에 기초하여 상기 토큰을 유효검증하는 세션 요소(418); 및
    유효검증이 되면, 상기 제1 비디오 스트림을 상기 클라이언트에게 제공하는 스트리밍 요소(408)
    를 포함하고,
    상기 세션 요소(418)는 또한 상기 토큰 내에서 상기 제1 요청의 시간 및 날짜를 판단하고, 상기 요청된 시간 및 날짜가 허용가능한 타임 프레임을 벗어나는지를 판단하며, 상기 요청된 시간 및 날짜가 상기 허용가능한 타임 윈도우를 벗어나면 상기 제1 비디오 스트림을 종료하는 시스템(400).
KR1020107010700A 2007-11-16 2008-11-12 미디어 스트리밍의 세션 관리 시스템 및 방법 KR101518089B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US333407P 2007-11-16 2007-11-16
US61/003,334 2007-11-16
PCT/US2008/012685 WO2009067156A2 (en) 2007-11-16 2008-11-12 System and method for session management of streaming media

Publications (2)

Publication Number Publication Date
KR20100089081A KR20100089081A (ko) 2010-08-11
KR101518089B1 true KR101518089B1 (ko) 2015-05-15

Family

ID=40668045

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107010700A KR101518089B1 (ko) 2007-11-16 2008-11-12 미디어 스트리밍의 세션 관리 시스템 및 방법

Country Status (7)

Country Link
US (2) US8924998B2 (ko)
EP (1) EP2243292A4 (ko)
JP (2) JP5579073B2 (ko)
KR (1) KR101518089B1 (ko)
CN (2) CN101889438A (ko)
BR (1) BRPI0820086A2 (ko)
WO (1) WO2009067156A2 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412840B2 (en) * 2005-11-14 2013-04-02 Ando Media, Llc Live media serving system and method
US8314838B2 (en) * 2007-12-28 2012-11-20 Motorola Mobility Llc System and method for collecting media associated with a mobile device
US10462409B2 (en) * 2007-12-28 2019-10-29 Google Technology Holdings LLC Method for collecting media associated with a mobile device
CN101742240B (zh) * 2009-11-24 2012-05-23 中兴通讯股份有限公司 可灵活切换多媒体节点的iptv系统及其实现方法
US8910212B2 (en) * 2010-09-29 2014-12-09 Verizon Patent And Licensing Inc. Multiple device storefront for video provisioning system
TWI415427B (zh) * 2010-11-04 2013-11-11 Ind Tech Res Inst 同儕即時串流系統與方法
US20120151077A1 (en) * 2010-12-08 2012-06-14 Paul Finster Systems And Methods For Distributed Authentication Of Video Services
CA2827387C (en) * 2011-02-20 2016-11-01 Lg Electronics Inc. Method and apparatus for the seamless playback of content
US9021049B2 (en) * 2011-10-21 2015-04-28 GM Global Technology Operations LLC Method and apparatus for augmenting smartphone-centric in-car infotainment system using vehicle Wi-Fi/DSRC
US8959605B2 (en) * 2011-12-14 2015-02-17 Apple Inc. System and method for asset lease management
US8892870B2 (en) 2012-03-12 2014-11-18 Sony Corporation Digital rights management for live streaming based on trusted relationships
US9712887B2 (en) * 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
FR2996715A1 (fr) * 2012-10-09 2014-04-11 France Telecom Heritage de parametres d'identifiant universel de ressource (uri)
US10051019B1 (en) 2012-11-09 2018-08-14 Wells Fargo Bank, N.A. System and method for session management
US8640229B1 (en) 2013-07-17 2014-01-28 Wowza Media Systems, LLC Token-based security for links to media streams
US9047482B2 (en) * 2013-07-17 2015-06-02 Wowza Media Systems, LLC Token-based security for links to media streams
US20150302321A1 (en) * 2014-04-22 2015-10-22 Altair Engineering, Inc. Unit-based licensing for event and digital content access
US10679151B2 (en) * 2014-04-28 2020-06-09 Altair Engineering, Inc. Unit-based licensing for third party access of digital content
US9596185B2 (en) 2014-05-27 2017-03-14 Rovio Entertainment Ltd Selection of data offer
EP2950546A1 (en) * 2014-05-27 2015-12-02 Rovio Entertainment Ltd Selection of data offer
CN103997681B (zh) * 2014-06-02 2016-02-17 合一网络技术(北京)有限公司 对视频直播进行防盗链处理的方法及其系统
US9720642B2 (en) * 2014-06-04 2017-08-01 Sonos, Inc. Prioritizing media content requests
US20160057173A1 (en) * 2014-07-16 2016-02-25 Genband Us Llc Media Playback Synchronization Across Multiple Clients
US9135412B1 (en) 2015-02-24 2015-09-15 Wowza Media Systems, LLC Token-based security for remote resources
US10104065B2 (en) * 2015-05-26 2018-10-16 Futurewei Technologies, Inc. Token-based authentication and authorization information signaling and exchange for adaptive streaming
US10382578B2 (en) 2015-06-05 2019-08-13 Apple Inc. Provision of a lease for streaming content
JP5973683B1 (ja) * 2015-06-29 2016-08-23 楽天株式会社 認証サーバ、ユーザ端末、コンテンツサーバ及びそれらの制御方法、並びにコンピュータプログラム
DE112016003268T8 (de) 2015-07-20 2018-05-24 Google Llc Systeme, Verfahren und Medien für Mediensitzungs-Parallelitätsmanagement mit wiederkehrenden Lizenzerneuerungen
CN107743623B (zh) * 2015-07-20 2021-10-29 谷歌有限责任公司 用于具有循环许可证更新的媒体会话并发管理的系统、方法和介质
US9911175B2 (en) * 2015-09-03 2018-03-06 Qualcomm Incorporated Modification of graphical command tokens
US10685055B2 (en) 2015-09-23 2020-06-16 Altair Engineering, Inc. Hashtag-playlist content sequence management
US9973547B1 (en) * 2016-02-09 2018-05-15 Vecima Networks Inc. Method and systems for adaptively managing hypertext transfer protocol sessions in a content delivery network
EP3334115B1 (en) 2016-12-07 2019-10-09 Swisscom AG User authentication based on token
US10080047B1 (en) * 2017-05-05 2018-09-18 Wayne D. Lonstein Methods for identifying, disrupting and monetizing the illegal sharing and viewing of digital and analog streaming content
US10808545B2 (en) 2017-07-14 2020-10-20 United Technologies Corporation Gas turbine engine fan blade, design, and fabrication
CN108200452B (zh) * 2018-01-15 2020-08-18 网易(杭州)网络有限公司 一种防止下载的web视频在线播放系统及其控制方法
CN108888961A (zh) * 2018-06-19 2018-11-27 北京翼晰科技有限公司 一种基于Steam平台系统的纯净交易方法及系统
US11799864B2 (en) 2019-02-07 2023-10-24 Altair Engineering, Inc. Computer systems for regulating access to electronic content using usage telemetry data
KR20210133229A (ko) * 2019-03-26 2021-11-05 에스케이플래닛 주식회사 클라우드 스트리밍 서비스에서의 사용자 인터페이스 세션 복구 방법 및 이를 위한 장치
US11303956B2 (en) 2019-09-11 2022-04-12 Verizon Patent And Licensing Inc. Systems and methods for internet protocol tuning
US11297387B2 (en) * 2019-09-24 2022-04-05 Verizon Patent And Licensing Inc. Systems and methods for digital video recording of internet protocol content
CN111107386A (zh) * 2019-12-27 2020-05-05 北京达佳互联信息技术有限公司 直播视频的回看方法、装置、电子设备、系统及存储介质
JP2023130186A (ja) * 2022-03-07 2023-09-20 パナソニックIpマネジメント株式会社 映像ストリーム管理方法、映像ストリーム管理システムおよび映像ストリーム管理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310562A (ja) * 2003-04-09 2004-11-04 Rizm:Kk スリーミング配信の認証システムおよびプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6166730A (en) * 1997-12-03 2000-12-26 Diva Systems Corporation System for interactively distributing information services
EP2378733B1 (en) * 2000-11-10 2013-03-13 AOL Inc. Digital content distribution and subscription system
EP1348178A1 (en) * 2000-12-08 2003-10-01 Matsushita Electric Industrial Co., Ltd. Distribution device, terminal device, and program and method for use therein
US20030061305A1 (en) * 2001-03-30 2003-03-27 Chyron Corporation System and method for enhancing streaming media delivery and reporting
US7356838B2 (en) 2001-06-06 2008-04-08 Yahoo! Inc. System and method for controlling access to digital content, including streaming media
US8005965B2 (en) * 2001-06-30 2011-08-23 International Business Machines Corporation Method and system for secure server-based session management using single-use HTTP cookies
NL1018494C2 (nl) * 2001-07-09 2003-01-10 Koninkl Kpn Nv Methode en systeem voor het door een dienstproces aan een client leveren van een dienst.
JP2003070042A (ja) 2001-08-27 2003-03-07 Nippon Telegr & Teleph Corp <Ntt> 通信システム、サービス提供状況管理装置及び方法
US20040059913A1 (en) * 2002-09-13 2004-03-25 Sun Microsystems, Inc., A Delaware Corporation Accessing for controlled delivery of digital content in a system for digital content access control
US7426642B2 (en) * 2002-11-14 2008-09-16 International Business Machines Corporation Integrating legacy application/data access with single sign-on in a distributed computing environment
WO2005008448A2 (en) * 2003-07-18 2005-01-27 Remote Meeting Technologies, Inc. Browser-based video meeting system
JP2007156508A (ja) 2004-01-06 2007-06-21 Victor Co Of Japan Ltd 再生端末、コンテンツ保管装置及びコンテンツ配信システム
AU2005221100A1 (en) * 2004-03-09 2005-09-22 Christopher Ronald Halverson Digital ad insertion for video-on-demand
US7711647B2 (en) * 2004-06-10 2010-05-04 Akamai Technologies, Inc. Digital rights management in a distributed network
JP2006004237A (ja) 2004-06-18 2006-01-05 Namco Ltd 通信制御システム、プログラム、情報記憶媒体および通信制御方法
JP2007004432A (ja) 2005-06-23 2007-01-11 Victor Co Of Japan Ltd コンテンツ配信システム及びその動作方法
US20070024705A1 (en) * 2005-08-01 2007-02-01 Richter Roger K Systems and methods for video stream selection
EP1788773A1 (en) 2005-11-18 2007-05-23 Alcatel Lucent Method and apparatuses to request delivery of a media asset and to establish a token in advance
JP4846352B2 (ja) 2005-11-28 2011-12-28 ソフトバンクBb株式会社 マルチメディア視聴システム及びマルチメディア視聴方法
CN100589553C (zh) * 2007-04-20 2010-02-10 中兴通讯股份有限公司 一种手机电视终端播放加扰电视节目的方法
US20090150949A1 (en) * 2007-12-06 2009-06-11 Electronics & Telecommunications Research Institute Method of providing continuous streaming service using iptv and apparatus therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310562A (ja) * 2003-04-09 2004-11-04 Rizm:Kk スリーミング配信の認証システムおよびプログラム

Also Published As

Publication number Publication date
US20150128165A1 (en) 2015-05-07
JP2011503742A (ja) 2011-01-27
EP2243292A2 (en) 2010-10-27
JP2014013578A (ja) 2014-01-23
JP5757637B2 (ja) 2015-07-29
KR20100089081A (ko) 2010-08-11
US8924998B2 (en) 2014-12-30
EP2243292A4 (en) 2012-08-01
US9332287B2 (en) 2016-05-03
CN103269424A (zh) 2013-08-28
CN101889438A (zh) 2010-11-17
WO2009067156A3 (en) 2009-08-13
BRPI0820086A2 (pt) 2016-11-01
WO2009067156A2 (en) 2009-05-28
CN103269424B (zh) 2017-04-26
US20110047566A1 (en) 2011-02-24
JP5579073B2 (ja) 2014-08-27

Similar Documents

Publication Publication Date Title
KR101518089B1 (ko) 미디어 스트리밍의 세션 관리 시스템 및 방법
US20210266620A1 (en) Systems and methods for autonomous broadcasting
US9900306B2 (en) Device authentication for secure key retrieval for streaming media players
US9769507B2 (en) System, method, and infrastructure for real-time live streaming content
US10389689B2 (en) Systems and methods for securely streaming media content
US9875480B2 (en) System, method, and infrastructure for real-time live streaming content
US8752194B2 (en) Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
US9444813B1 (en) Token-based security for remote resources
CN101409713A (zh) 内容传送系统、传送服务器、终端以及内容传送方法
US20030217163A1 (en) Method and system for assessing a right of access to content for a user device
KR101745367B1 (ko) 하이퍼텍스트 전송 프로토콜을 이용한 멀티미디어 컨텐츠 스트리밍 시스템 및 방법
WO2008127092A2 (en) Device and method for gaining conditional access to a data network

Legal Events

Date Code Title Description
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: 20180328

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 5