KR101500818B1 - 콘텐츠 배포 시스템 - Google Patents

콘텐츠 배포 시스템 Download PDF

Info

Publication number
KR101500818B1
KR101500818B1 KR1020127017359A KR20127017359A KR101500818B1 KR 101500818 B1 KR101500818 B1 KR 101500818B1 KR 1020127017359 A KR1020127017359 A KR 1020127017359A KR 20127017359 A KR20127017359 A KR 20127017359A KR 101500818 B1 KR101500818 B1 KR 101500818B1
Authority
KR
South Korea
Prior art keywords
network
content
gateway
bandwidth
client
Prior art date
Application number
KR1020127017359A
Other languages
English (en)
Other versions
KR20120091429A (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 KR20120091429A publication Critical patent/KR20120091429A/ko
Application granted granted Critical
Publication of KR101500818B1 publication Critical patent/KR101500818B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • 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
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

네트워크를 통해서 연결된 콘텐츠 클라이언트(112, 114) 및 콘텐츠 서버(150)를 포함하는 콘텐츠 배포 시스템(100)이 제공된다. 콘텐츠 서버는 콘텐츠 클라이언트가 네트워크를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하는 적어도 하나의 미디어 디스크립션을 포함하는 세션 디스크립션을 콘텐츠 클라이언트로 보내도록 구성된다. 시스템은, 네트워크를 통해서 지나가는 네트워크 트래픽을 모니터링하기 위한 네트워크 모니터(130) 및 피마킹 세션 디스크립션을 획득하기 위해서 세션 디스크립션에서의 하나 이상의 미디어 디스크립션을 네트워크 모니터에 의존하여 마킹하기 위한 권고기(140)를 포함한다. 피마킹 미디어 디스크립션은 클라이언트가 현재 네트워크 상태의 관점에서 특정 콘텐츠를 다른 것들보다 선호하도록 권고한다. 예를 들어, 이용가능한 대역폭이 낮다면, 낮은 대역폭을 요하는 콘텐츠가 권고된다. 이로써, 시스템의 모든 사용자들에 대해 네트워크 혼잡이 회피된다.

Description

콘텐츠 배포 시스템{CONTENT DISTRIBUTION SYSTEM}
본 발명은 콘텐츠 클라이언트 및 콘텐츠 서버를 포함하는 콘텐츠 배포 시스템에 관한 것인데, 콘텐츠 클라이언트 및 콘텐츠 서버는 네트워크를 통해서 연결되고, 콘텐츠 서버는 적어도 하나의 미디어 디스크립션(media description)을 포함하는 세션 디스크립션(session description)을 콘텐츠 클라이언트로 보내도록 구성되고, 적어도 하나의 미디어 디스크립션 각각은 콘텐츠 클라이언트가 네트워크를 통해서 콘텐츠 아이템(content item)을 수신하는 것을 가능하게 하는 커넥션 정보(connection information)를 포함한다.
본 발명은 또한 콘텐츠 배포 시스템에서 사용하기 위한 게이트웨이에 관한 것이다.
본 발명은 또한 콘텐츠를 배포하는 방법 및 이에 상응하는 컴퓨터 프로그램에 관한 것이다.
콘텐츠의 배포는 최신 네트워크들의 중요한 기능이다. 콘텐츠 클라이언트, 예컨대 셋탑박스(set top box)를 생각해보라. 콘텐츠 클라이언트는 네트워크, 예컨대 인터넷을 통해서 하나 이상의 콘텐츠 서버와 연결된다. 전형적으로, 콘텐츠 클라이언트는 가능하게는 다른 콘텐츠 클라이언트와 함께 게이트웨이를 통해서 네이워크와 연결된다. 게이트웨이는 제1 네트워크의 네트워크 장치가 제2 네트워크의 하나 이상의 네트워크 장치에 액세스(access)하는 것을 가능하게 한다.
콘텐츠 서버는 네크워크를 통해서 콘텐츠를 보냄으로써 콘텐츠 클라이언트에 콘텐츠를 제공할 수 있다. 콘텐츠는 예컨대, 오디오, 비디오, 및/또는 텍스트 등을 포함한다. 예를 들어, 사용자는 자신의 셋탑박스상에서 영화를 포함하는 콘텐츠 스트림을 수신해서 텔레비전 스크린상에서 영화를 디스플레이함으로써 가능하게는 온-디맨드(on-demand)로 새로운 영화를 시청할 수 있다. 상이한 프로토콜들, 예컨대 파일 전송 프로토콜, 스트리밍 프로토콜 등이 네트워크를 통해서 콘텐츠를 보내기 위하여 이용된다.
특정 콘텐츠 아이템이 복수의 포맷(multiple format)으로 이용가능한 경우가 발생할 수 있다. 예를 들어, 새로운 영화를 시청하길 희망하는 사용자는 콘텐츠 서버로부터 영화를 요청할 수 있다. 이후, 콘텐츠 서버는 동일한 영화를 위해 복수의 옵션들을 열거하는 세션 디스트립션을 가지고 응답할 수 있다. 콘텐츠 서버는 예를 들어 추가적인 특징들, 예컨대 코멘터리(commentary) 트랙, 추가적 서브타이틀(subtitle) 등과 같은 대안적 오디오 트랙을 가지고 복수의 버전으로 영화를 제안(offer)할 수 있다. 그 버전들 중 임의의 것에서, 콘텐츠는 상이한 대역폭 요구사항(bandwidth requirement)들을 가지고 복수의 포맷으로 이용가능할 수 있다. 예를 들어, 상이한 대역폭 요구사항들은, 예컨대 고화질 텔레비전 스크린에 적합한 고화질 포맷으로, 고화질이 아닌 텔레비전 스크린에 적합한 중화질 포맷으로, 또는 저해상도 장치, 예컨대 이동 전화 스크린에 적합한 저해상도 포맷으로, 복수의 해상도로 영화를 제안함으로써 획득될 수 있다. 전형적으로 더 높은 해상도의 장치는 콘텐츠의 더 낮은 해상도 버전을 디스플레이할 수 있다. 일반적으로, 대역폭은 숫자, 예컨대 초당 킬로비트(kilobit)로서 표현될 수 있다.
세션 디스크립션은 미디어 디스크립션들의 목록을 포함한다. 미디어 디스크립션은 콘텐츠 아이템을 수신하는 것을 시작하기 위하여 콘텐츠 클라이언트에 의해 요구되는 정보를 포함한다.
IETF(Internet Engineering Task Force)는 'SDP: 세션 디스크립션 프로토콜(Session Description Protocol)'이라는 제목의, 이후 4566까지 업데이트된, 'request for comments'(RFC), RFC 2327을 발행했다. RFC 4566은 세션 디스크립션 및 미디어 디스크립션이 구현될 수 있는 한 가지 방법을 개시한다. RFC 4566은 세션 디스크립션 프로토콜(SDP)을 설명한다. 이 프로토콜은 미디어 디스크립션들을 포함하는 세션 디스크립션들의 표준 표현을 포함한다.
RFC 4566 SDP는 다양한 범위의 네트워크 환경 및 어플리케이션들을 위해서 이용될 수 있도록 범용적 목적으로 의도된 것이다. 하지만, RFC 4566은 세션 콘텐츠 또는 미디어 인코딩의 협상(negotiation)을 지원하지 않는다. SDP 세션은 클라이언트가 선택할 수 있는, 서버에 의해서 제안된 복수의 대안(alternative)들을 포함할 수 있다. 예를 들어, 서비스는 복수의 오디오 포맷으로 오디오를 제안한다. 그러면, 클라이언트는 자신이 지원하는 포맷을 선택할 것이다. 이 선택은 예컨대 RTSP 셋업 메시지들에 의해서 제공될 수 있다. RFC 4566 세션 디스크립션들은 네트워크를 통해서 전달될 수 있고, 또는 전자 메일 및 월드 와이드 웹(World Wide Web)을 포함한, 세션 디스크립션을 전달하는 다른 수단이 이용될 수 있다. SDP는 세션 디스크립션의 수령인인 세션에 참가하는 것을 가능하게 하기 위해서 멀티미디어 세션에서 미디어 스트림에 대한 정보를 전달한다.
이러한 목적으로, RFC 4566 세션 디스크립션은 비디오, 오디오 등의 미디어 타입, 전송 프로토콜(RTP/UDP/IP, H.320 등), 미디어 포맷(H.261 비디오, MPEG 비디오 등)과 같은 정보를 포함할 수 있다. 특히, 미디어 디스크립션은 대역폭 정보 및 커넥션 정보를 포함할 수 있다.
세션 디스크립션이 콘텐츠 클라이언트상에서 수신되는 경우에, 미디어 디스크립션들 중의 어느 하나가 선택될 수 있고, 상응하는 콘텐츠 아이템이 콘텐츠 클라이언트상에서 수신될 수 있다.
하지만, 사용자가 어느 것을 선택해야 하는 지가 콘텐츠 클라이언트의 사용자에게 항상 명확한 것은 아니다. 상이한 미디어 디스크립션들은 상이한 대역폭 요구사항들을 가질 수 있는 상이한 미디어와 관련이 있을 수 있다. 적절한 대역폭 요구사항을 가진 콘텐츠를 선택하는 것은 중요하다. 만일 너무 낮은 대역폭 요구사항을 가진 콘텐츠가 선택된다면, 아마도 더 낮은 품질일 것이고, 그 결과로 초래되는 사용자 경험은 이에 부응하여 악화될 것이다. 반면, 너무 높은 대역폭 요구사항은 네트워크 혼잡(congestion) 및 드롭(drop)된 프레임(frame)들을 초래할 것이다. 달리 말해, 대역폭을 높게 선택하는 것과 낮게 선택하는 것 양쪽 모두는 낮은 해상도 또는 압축 아티팩트(artifact)를 통하거나 네트워크 혼잡 및 드롭된 프레임들을 통해서 낮은 인지 품질(perceived quality)을 초래할 것이다.
올바른 대역폭을 얻는 것은 시행착오(trial and error)식 접근법을 이용해서 종종 수행된다. 시행착오식 접근법은 최대 대역폭을 가진 세션을 셋업하는 것을 포함할 수 있고, 일단 혼잡이 발생하면 수락할만한(acceptable) 품질이 얻어질 때까지 세션 대역폭을 감소시킬 수 있다.
선행기술의 문제점은 대역폭 요구사항들을 기초로 하여 복수의 콘텐츠의 버전들의 목록으로부터 선택하는 것은 어렵다는 점이다.
이러한 우려를 더 잘 처리하기 위하여, 향상된 콘텐츠 배포 시스템이 제공된다. 콘텐츠 배포 시스템은 콘텐츠 클라이언트 및 콘텐츠 서버를 포함한다.
콘텐츠 클라이언트 및 콘텐츠 서버는 네트워크를 통해서 연결된다. 콘텐츠 서버는 가능하게는 콘텐츠 클라이언트의 요청시에 적어도 하나의 미디어 디스크립션을 포함하는 세션 디스크립션을 콘텐츠 클라이언트로 보내도록 구성된다. 적어도 하나의 미디어 디스크립션 각각은 콘텐츠 클라이언트가 네트워크를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하는 커넥션 정보를 포함한다. 시스템은 네트워크를 통해서 지나가는 네트워크 트래픽을 모니터링하기 위한 네트워크 모니터를 포함한다. 시스템은 피마킹(marked) 세션 디스크립션을 획득하기 위해서 세션 디스크립션에서의 하나 이상의 복수의 미디어 디스크립션을 네트워크 모니터에 의존하여 마킹하도록 구성된 권고기(recommender)를 포함한다. 권고기는 피마킹 세션 디스크립션을 콘텐츠 클라이언트로 보내도록 구성된다.
각각의 구체적인 커넥션 정보는 콘텐츠 클라이언트가 네트워크를 통해서 구체적인 콘텐츠 아이템을 수신하는 것을 가능하게 할 수 있다. 세션 디스크립션에서의 미디어 디스크립션들에 의해서 참조된 가능한 모든 구체적인 콘텐츠 아이템들은 상이할 수 있다. 가능하게는, 참조된 콘텐츠 아이템의 전부 또는 일부는 같을 수 있고, 예컨대 상이한 전송 프로토콜로 제공될 수 있다.
콘텐츠 클라이언트가 미디어 디스크립션을 포함하는 세션 디스크립션을 수신하는 경우에, 콘텐츠 클라이언트는 예컨대 상기 콘텐츠 서버로 또는 일부 추가적 콘텐츠 서버로 네트워크를 통해서 커넥션을 만들기 위하여 및 미디어 디스크립션에서 참조된 콘텐츠 아이템을 수신하기 위하여 상기 미디어 디스크립션을 이용할 수 있다는 옵션(option)을 가진다. 이 커넥션을 만드는 것이 가치가 있을 것인지 여부에 대해 미리 아이디어를 가지는 것은 사용자에게 유리하다. 하지만, 사용자가 이러한 판단을 하기 위해 항상 최선의 위치에 있는 것은 아니다. 특히, 네트워크 트래픽을 기초로 한 정보가 역할을 한다면 사용자에게는 불리한데, 사용자는 기껏해야 자신의 네트워크 트래픽에 대해 모호한 아이디어만을 가지고 있으며 네트워크상에서 다른, 예컨대 다른 콘텐츠 클라이언트에 의해 초래된 네트워크 트래픽에 대해 아무런 지식을 가지고 있지 않기 때문이다.
시스템은 네트워크 모니터를 가지기 때문에, 이러한 정보는 적절한 마킹(marking)을 보탬으로써, 예를 들어 미디어 디스크립션의 일부를 권고함으로써, 세션 디스크립션에 추가될 수 있다. 권고는 찬성하는 권고일 수도 있고 반대하는 권고일 수도 있다. 복수의 마크(mark)들이 이용될 수 있다. 마킹은 명시적(explicit) 또는 묵시적(implicit)일 수 있다.
이전의 네트워크 트래픽으로부터 유도될 수 있는 그리고 사용될 수 있는 정보의 유형의 예들은 대역폭 이용가능성, 지금까지 소비된 대역폭을 포함한다. 그러나, 대역폭 요구사항의 추정 또한 이전의 네트워크 트래픽을 기초로 할 수 있다.
세션 디스크립션이 하나의 미디어 디스크립션만을 포함하더라도 권고(recommendation)가 유용한데, 왜냐하면 네트워크 트래픽을 고려할 때 부적절한 콘텐츠를 사용자가 끝까지 앉아서 봐야하는 것보다 콘텐츠를 전혀 수신하지 않는 것을 선호할 수 있기 때문이다. 세션 디스크립션은 또한 복수의 미디어 디스크립션들을 포함할 수 있다.
일 실시 예에서, 세션 디스크립션은 복수의 미디어 디스크립션들을 포함한다. 세션 디스크립션에서 복수의 미디어 디스크립션들이 이용가능하고, 권고기는 미디어 디스크립션들 중의 하나를 다른 것들보다도 권고할 수 있다.
일 실시 예에서, 콘텐츠 배포 시스템은 게이트웨이를 포함한다. 네트워크는 제1 및 제2 네트워크를 포함한다. 콘텐츠 클라이언트 및 게이트웨이는 제1 네트워크를 통해서 연결된다. 게이트웨이 및 콘텐츠 서버는 제2 네트워크를 통해서 연결된다. 커넥션 정보 각각은 콘텐츠 클라이언트가 제1 및 제2 네트워크를 통해서 그리고 게이트웨이를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 한다. 게이트웨이는 제1 네트워크와 제2 네트워크 사이에서 게이트웨이를 통해서 지나가는 네트워크 트래픽을 모니터링하기 위한 네트워크 모니터를 포함한다.
제1 네트워크와 제2 네트워크 사이의 모든 네트워크 트래픽은 게이트웨이를 통과하기 때문에, 게이트웨이는 네트워크 정보를 수집하기에 편리한 장소에 배치된다.
권고기는 권고를 게이트웨이에 보냄으로써 게이트웨이를 이용해서 마킹할 수 있다. 권고를 수신한 때 게이트웨이는 마킹을 수행할 수 있다.
콘텐츠 클라이언트를 위한 복수의 미디어 디스크립션들로부터의 선택을 복잡하게 하는 한 가지 요인은 네트워크, 즉 제1 및 제2 네트워크의 제한된 콘텐츠 클라이언트의 관점(view)이다. 콘텐츠 클라이언트는 제1 네트워크, 즉 콘텐츠 클라이언트를 게이트웨이에 연결하기 위한 로컬 네트워크를 통해서 연결된다. 제1 네트워크는 전형적으로 다소 리버럴한(liberal) 대역폭 제한들을 가진다. 제1 네트워크는 전형적으로 제2 네트워크보다 더 큰 양의 네트워크 트래픽을 처리할 수 있다. 예를 들어, 제2 네트워크는 전형적으로 제1 네트워크보다 더 커서, 대역폭 병목(bottle neck)을 포함할 가능성이 더 많다. 제2 네트워크의 콘텐츠 클라이언트 관점은 제1 네트워크의 큰 대역폭에 의해서 마스킹(mask)된다. 게다가, 콘텐츠 클라이언트가 아닌 다른 네트워크 장치들은 게이트웨이에 연결될 수 있고, 제2 네트워크의 대역폭의 일부를 소비할 수 있다. 콘텐츠 클라이언트는 다른 네트워크 장치들로부터 유래된 제1 네트워크상의 네트워크 트래픽을 알지 못할 수 있다. 게이트웨이는 콘텐츠 클라이언트와 콘텐츠 서버 사이에 있는 네트워크에서의 위치에 배치되고, 이런 이유로 게이트웨이는 지배적인 네트워크 상태에 대한 더욱 나은 그림(picture)을 가진다. 네트워크 모니터는 전형적으로 콘텐츠 클라이언트 외부에 존재한다. 네트워크 클라이언트는 다른 네트워크 장치들, 예컨대 게이트웨이, 라우터, 프락시(proxy), 방화벽 등과 결합될 수 있다.
네트워크 모니터로부터 획득된 정보를 기초로 하여, 특정 콘텐츠 버전에 대한 권고, 즉 미디어 디스크립션을 제공함으로써, 이 권고가 콘텐츠 클라이언트 또는 콘텐츠 서버에서 이용가능한 네트워크 정보에 의존하여 만들어지는 경우보다 더욱 정보화된 선택(informed choice)이 만들어질 수 있다.
게다가, 시스템은 홈 네트워크에서 다른 사용자들을 고려하기 위해 서비스들을 소비하면서 사용자들이 자신들의 대역폭을 자발적으로 조정하는 것을 가능하게 한다. 만일 이것이 다른 사용자도 IPTV 채널을 볼 수 있다는 것을 의미한다면, 사용자들은 대역폭의 사용, 예컨대 비디오 서비스에 대한 양보를 기꺼이 할 수 있다. 이러한 상황의 예는 복수의 IPTV 셋탑박스들을 가진 가정(household)일 것이다.
대역폭은 단지 네트워크 모니터에 의해 획득될 수 있는 정보의 유형의 예이고, 이 정보는 권고를 제공하는 것과 관련이 있을 수 있다. 예를 들어, 네트워크 모니터는 또한 주어진 타임프레임(timeframe)에서 게이트웨이를 통해서 흘러가는 네트워크 트래픽의 전체 양을 추적할 수 있다. 예를 들어, 상기 콘텐츠 클라이언트 또는 동일한 게이트웨이에 연결된 다른 콘텐츠 클라이언트에 의해 야기된 네트워크 트래픽은 전형적으로 대금이 지불될 필요가 있다. 예를 들어, 게이트웨이 및/또는 콘텐츠 클라이언트의 운영자는 타임프레임당 특정 양의 네트워크 트래픽, 이를테면 월(month)당 5 기가바이트(gigabyte)를 허용하는 가입(subscription)을 가질 수 있다. 네트워크 모니터는 지금까지의 현재 시간 프래임에서 소비된 네트워크 트래픽의 양을 추적할 수 있다. 가입에 의해 허용된 네트워크 트래픽의 양이 가까워지고 있다면, 권고기는 많은 네트워크 트래픽을 요하는 큰 콘텐츠 아이템에 반대하는 권고를 할 수 있다. 이러한 식으로, 네트워크 트래픽의 어떤 미리 정해진 양이 초과되는 것이 모면될 수 있다.
본 시스템의 다른 이점은 콘텐츠 서버 그 자체를 수정할 필요 없이 미디어 디스크립션들의 목록이 수정되거나 확장될 수 있다는 점이다.
그래서 본 시스템은 클라이언트가 아닌 네트워크에서의 다른 위치에서 획득된 네트워크 정보를 기초로 하여 클라이언트에서 복수의 콘텐츠 버전들의 목록으로부터 콘텐츠 버전의 선택을 향상시킨다.
콘텐츠 배포 시스템은 비디오, 오디오, 및 텍스트 콘텐츠와 이들의 임의의 조합을 포함한, 다양한 콘텐츠 유형을 배포하기 위해서 이용될 수 있다. 콘텐츠는 또한 내비게이션 정보, 예컨대 다른 콘텐츠의 디스크립션들과 같은 메뉴 정보 및/또는 메타 정보, 태그(tag), 저자 정보 등을 포함할 수 있고, 이러한 정보는 데이터 구조의 형태로 구조화될 수 있다. 콘텐츠는 다양한 포맷들, 예컨대 MPEG4, MP3, HTML 등으로 존재할 수 있다. 콘텐츠는 가능하게는 약간의 버퍼링(buffering) 후에 콘텐츠 클라이언트에 도착할 때 보이도록 의도된 콘텐츠 스트림일 수 있다.
콘텐츠 클라이언트는, 예컨대 컴퓨터, 예컨대 데스크탑 컴퓨터, 랩탑, 넷북(netbook) 등, 셋탑박스, 이동 전화, PDA 등을 포함할 수 있다.
게이트웨이는 다른 네트워크 관련 장치, 예컨대 방화벽, 라우터 등을 포함할 수 있다. 일 실시 예에서, 게이트웨이는 제1 네트워크를 제2 네트워크와 연결하고, 제1 및 제2 네트워크는 게이트웨이 이외에는 아무런 장치 또는 네트워크 커넥션들을 공유하지 않는다. 한편, 제1 네트워크의 장치가 상기 게이트웨이를 이용하지 않고 제2 네트워크에서의 장치와 통신할 수 있는 것이 가능할 수 있다. 예를 들어, 제1 및 제2 네트워크 사이에 복수의 게이트웨이가 존재할 수 있다. 예를 들어, 대역외(out of band) 통신이 이용될 수 있다.
콘텐츠 서버는 상이한 목적들을 위해서 상이한 컴퓨터들을 이용하는 콘텐츠 시스템일 수 있다. 콘텐츠 서버는 콘텐츠 파일들을 제공하기 위한 파일 서버(file server)를 포함할 수 있다. 콘텐츠 서버는 세션 디스크립션을 요청하기 위한 웹 서버(web server)를 포함할 수 있다.
콘텐츠 서버는 세션 디스크립션을 콘텐츠 클라이언트에 보내기 위한 관리 서버(management server)를 포함할 수 있다.
제1 네트워크는 홈 네트워크일 수 있다. 제1 네트워크는 콘텐츠 클라이언트로부터 게이트웨이까지의 단일한 네트워크 커넥션과 같이 단순할 수 있다. 한편, 더 큰 네트워크, 예컨대 복수의 네트워크 장치들을 포함하는 홈 네트워크에서 복수의 콘텐츠 클라이언트들이 게이트웨이와 연결되는 것 또한 가능하다.
콘텐츠 클라이언트와 게이트웨이는 제1 네트워크를 통해서 연결된다. 제1 네트워크는 이더넷(Ethernet) 네트워크일 수 있다. 제1 네트워크는 무선 네트워크, 예컨대 WiFi 네트워크를 포함할 수 있다. 게이트웨이 및 콘텐츠 서버는 제2 네트워크, 예컨대 비즈니스 인트라넷(business intranet) 등을 통해서 연결된다.
제2 네트워크는 인터넷을 포함할 수 있다. 제2 네트워크는 코어(core) 네트워크 및 코어 네트워크에 복수의 게이트웨이들과 복수의 제1 네트워크들을 연결시키기 위한 독점 액세스(proprietary access) 네트워크를 포함할 수 있다. 코어 네트워크는 인터넷을 포함할 수 있다.
세션 디스크립션 및/또는 미디어 디스크립션은 RFC 4566을 준수할 수 있다. 예를 들어, 세션 디스크립션은 RFC 4566의 섹션 5(Section 5)를 준수할 수 있다. 하지만, 본 발명의 목적을 위해서 용어들 세션 디스크립션 및/또는 미디어 디스크립션이 RFC 4566에서 정의된 것들로 반드시 제한될 필요는 없다는 점이 주목되어야 한다. 예를 들어, 미디어 디스크립션은 URL로서 구현될 수 있고, 세션 디스크립션은 이 URL들을 복수로 열거하는 HTML 페이지로 구현될 수 있다. 이 경우에, 권고기는 마킹된 HTML 페이지를 생성한다. 세션 디스크립션은 컴퓨터 판독가능 인코딩에서 복수의 미디어 디스크립션들을 포함하는 디지털 파일일 수 있다. 인코딩은, 인간의 해석을 위해서도 적절한 ASCII 문자들과 같은 문자들을 이용할 수 있다. 세션 디스크립션은 또한, 인간이 읽을 수 있는 형태로 만들어지기 전에 파싱(parsing) 및/또는 번역(interpretation) 단계를 필요로 하는 ASN.1(Abstract Syntax Notation One) 또는 XDR(External Data Representation)과 같은 바이너리(binary) 인코딩을 이용할 수 있다.
배포 네트워크는 콘텐츠 서버로부터 콘텐츠 클라이언트로 보내진 세션 디스크립션이 권고기에서도 획득되도록 구성된다. 예를 들어, 콘텐츠 서버로부터 콘텐츠 클라이언트로 세션 디스크립션을 보내는 것은 콘텐츠 서버로부터 게이트웨이로 세션 디스크립션을 보내는 것을 포함할 수 있다. 이것은 제2 네트워크 및 제1 네트워크를 통해서 세션 디스크립션을 보냄으로써 수행될 수 있다. 게이트웨이는 세션 디스크립션이 콘텐츠 클라이언트에 도달하기 전에 세션 디스크립션을 인터셉트할 수 있고, 세션 디스크립션을 수정할 수 있고, 그리고 콘텐츠 서버로부터 콘텐츠 클라이언트로 세션 디스크립션을 보내는 것을 완료하기 위하여 피마킹 세션 디스크립션을 콘텐츠 클라이언트로 보낼 수 있다.
일 실시 예에서, 세션 디스크립션은 제1 및 제2 네트워크를 통해서 보내지지 않으나, 일부 다른 방식으로 게이트웨이에 도달한다. 예를 들어, 콘텐츠 클라이언트는 명시적으로 세션 디스크립션을 게이트웨이에 포워딩할 수 있다. 그리고, 콘텐츠 클라이언트는 세션 디스크립션을 권고기에 포워딩할 수 있다.
콘텐츠 서버는, 예컨대 콘텐츠 클라이언트로부터의 요청에 응답하여 세션 디스크립션을 보낼 수 있다. 콘텐츠 서버는 또한 요청 없이, 예컨대 콘텐츠가 이용가능하다는 고지로서 세션 디스크립션을 보낼 수 있다.
네트워크 모니터는 다른 네트워크 모니터링 장치, 특히 방화벽과 통합될 수 있다. 권고기는 게이트웨이에 포함될 수 있다.
세션 디스크립션을 만드는 것은 복수의 방법들로 수행될 수 있다. 예를 들어, 포함된 미디어 디스크립션이 마킹되어 있음을 나타내는 세션 디스크립션에 추가적 정보가 부가될 수 있다. 추가적 정보는 세션 디스크립션에 이어질 수 있고 또는 세션 디스크립션 내에 삽입될 수 있다. 세션 디스크립션 및 추가적 정보는 두 개의 별개의 파일들에 포함될 수 있고, 둘 다는 게이트웨이로부터 콘텐츠 클라이언트로 보내진다. 마킹은 또한 세션 디스크립션을 수정함으로써 다른 방식으로 수행될 수 있다. 예를 들어, 세션 디스크립션에서의 미디어 디스크립션들의 순서가 수정될 수 있는데, 특히 피마킹 미디어 디스크립션은 예컨대 세션 디스크립션의 맨 위를 향해서 순서상 제1 위치로 이동될 수 있다. 피마킹 미디어 디스크립션들의 숫자는 미리 결정된 숫자, 특히 1일 수 있고, 이 숫자는 변할 수 있다. 일 실시 예에서, 세션 디스크립션에서 하나 이상의 미디어 디스크립션이 존재한다면 복수의 미디어 디스크립션들 모두를 마킹하는 것이 방지된다.
예를 들어, 세션 디스크립션은 사용되어야 하는 대역폭의 양을 추가함으로써 마킹될 수 있다. 이로부터 콘텐츠 클라이언트는 추가된 양 아래에 있는 요구 대역폭을 가지는 미디어 디스크립션들이 마킹되어 있음을 추론할 수 있다.
권고기는 정보를 수신하기 위해서 네트워크 모니터에 연결될 수 있다. 예를 들어, 권고기는 네트워크 모니터링의 디지털 요약을 수신할 수 있다. 예를 들어, 권고기는 제2 네트워크로부터 제1 네트워크로의 추가적 콘텐츠 아이템들을 수신하기 위하여 현재 이용가능한 대역폭의 양과 같은 숫자를 수신할 수 있다. 예를 들어, 권고기는 제2 네트워크로부터 제1 네트워크로의 추가적 콘텐츠 아이템들을 수신하기 위하여 현재 이용가능한 데이터의 양과 같은 숫자를, 예컨대 초당 킬로바이트(kilobyte)로 수신할 수 있다. 링크(link)에서 이용가능한 대역폭은 그것의 미사용(unused) 네트워크 용량이다.
권고기는, 예컨대 게이트웨이를 통해서 피마킹 세션 디스크립션을 콘텐츠 클라이언트로 보내도록 구성된다. 게이트웨이는 전형적으로 피마킹 세션 디스크립션을 보내기 위해서 제1 네트워크를 이용한다.
제1 및 제2 네트워크가 콘텐츠 아이템들을 송신하고 수신하고 위해서만 이용될 가능성 또한 있다. 세션 디스크립션에 대한 요청들, 세션 디스크립션들, 피마킹 세션 디스크립션들 등과 같은 제어 데이터(control data)는 SMS, 이동 전화, http 웹 트래픽 등을 이용해서 다른 채널, 예컨대 상이한 네트워크, 직접 통신을 통해서 보내질 수 있다. 예를 들어, 제1 및 제2 네트워크는 콘텐츠를 수신하기에 적합한 케이블 네트워크일 수 있고, 제어 데이터의 전부 또는 일부는 통신을 위해 인터넷을 이용한다.
콘텐츠 클라이언트는 복수의 방법들로 피마킹 세션 디스크립션에 반응할 수 있다. 권고, 예컨대 피마킹 미디어 디스크립션에 따르는 것은 현재 네트워크 상태를 고려할 때 해당 콘텐츠가 적절하다는 일종의 확신을 사용자에게 준다.
콘텐츠 클라이언트가 피마킹 미디어 디스크립션을 권고로서 수락하거나, 그렇지 않으면 자유로이 권고를 무시하고 세션 디스크립션에서 마킹되지 않은 미디어 디스크립션을 선택할 하나의 가능성이 존재한다. 예를 들어, 콘텐츠 클라이언트는 마킹된 표시를 포함하는 미디어 디스크립션을 사용자에게 디스플레이할 수 있다. 사용자는 이러한 위험을 무릅쓰고 마킹되지 않은 미디어 디스크립션을 선택할 수 있다. 마킹된 디스크립션, 예컨대 단일한 피마킹 미디어 디스크립션을 항상 사용하도록, 예컨대 환경설정 메뉴(preferences menu)를 통해서 콘텐츠 클라이언트가 설정되었을 다른 가능성이 존재한다. 콘텐츠 클라이언트는 피마킹 미디어 디스크립션들만으로부터의 선택에 대해서 사용자에게 물어보도록 설정될 수도 있다.
일 실시 예에서, 네트워크 모니터는 콘텐츠 아이템을 수신하기 위해 네트워크에서 이용가능한 대역폭의 양을 추정하기 위한 대역폭 추정기(bandwidth estimator)를 포함한다. 일 실시 예에서, 네트워크 모니터는 콘텐츠 아이템을 수신하기 위해 이용가능한 제1 및 제2 네트워크에서 대역폭의 양을 추정하기 위한 대역폭 추정기를 포함한다.
제1 네트워크에서의 콘텐츠 클라이언트는 제1 네트워크가 제2 네트워크상에서 만드는 대역폭 요구를 직접 볼 수 없다는 문제가 있다. 제1 네트워크에 복수의 콘텐츠 클라이언트들이 존재하는 경우에, 이 문제는 특히 심하다. 콘텐츠 클라이언트는 동일한 제1 네트워크상에서 다른 콘텐츠 클라이언트와는 독립적으로 대역폭을 소비할 뿐 아니라, 그 대역폭 소비가 다른 콘텐츠 클라이언트들에게 보이지 않는 방식으로 대역폭을 소비할 수 있다. 예를 들어, 홈 네트워크에서 복수의 사용자들은 다른 사용자와는 별도로 영화를 시청할 수 있고, 가능하게는 사용자들은 심지어 서로로부터 행위들을 알지 못한다. 게이트웨이에서 콘텐츠는 제2 네트워크로부터 제1 네트워크에서 수신되고, 이 지점에서 복수의 콘텐츠 클라이언트들을 위해 복수의 콘텐츠 수신 세션들이 지나가기 때문에, 제1 네트워크가 제2 네트워크로부터 요청하고 있는 대역폭의 양에 대한 정보를 획득하는 것이 가능하다. 만일 게이트웨이가 네트워크에서 네트워크 트래픽이 제2 네트워크로부터 제1 네트워크로 들어가는 유일한 지점이라면, 게이트웨이는 제1 네트워크가 제2 네트워크상에서 만드는 요구에 대한 더욱 정확한 평가(assessment)를 만들 수 있다.
이 추정된 이용가능한 대역폭은 대역폭을 기초로 하여 복수의 미디어 디스크립션들로부터 콘텐츠에 대한 권고를 만들기 위해 이용될 수 있다. 일 실시 예에서, 복수의 미디어 디스크립션들은 각각의 복수의 대역폭 요구사항을 가지고, 권고기는 추정된 이용가능한 대역폭 아래에서 대역폭 요구사항을 가지는 미디어 디스크립션을 마킹하도록 구성된다. 이러한 식으로, 콘텐츠 클라이언트는 현재 네트워크 상태를 고려할 때 어느 콘텐츠가 적절한 것으로 고려되는지에 대해 통지받는다.
만일 콘텐츠 클라이언트가 피마킹 미디어 디스크립션을 이용하도록 구성된다면, 그 사용자는 콘텐츠를 시청하는 것이 네트워크 혼잡을 초래하지 않을 것이라는 합리적 확신을 가진다. 네트워크 혼잡을 초래하는 것은 바람직하지 않다. 무엇보다도, 패킷이 드롭될 수 있기 때문에 네트워크 혼잡은 불쾌한 감상 경험을 줄 수 있다. 만일 네트워크 커넥션의 레이턴시가 너무 높다면, 영화는 콘텐츠를 버퍼링하기 위해서 빈번하게 지연될 수 있다. 네트워크 혼잡을 피할 다른 이유가 존재한다. 콘텐츠를 이미 시청하고 있을 수 있는 게이트웨이의 다른 사용자들, 예컨대 다른 콘텐츠 클라이언트 또한 혼잡에 의해서 영향을 받는다. 공지의 시스템들에서, 콘텐츠 클라이언트의 사용자는 대역폭 소비에 대한 아무런 정보를 가지고 있지 않기 때문에, 콘텐츠 클라이언트의 사용자는 가정 내의 다른 구성원들을 고려할 수 없다. 다른 사람들이 무엇을 시청하고 있는지 알지 못하므로, 그는 태연하게 고화질 콘텐츠 다운로드를 시작해서, 제1 네트워크에서의 다른 사람들의 감상 경험을 해칠 수 있다. 공지의 시스템에서는, 사용자가 사용자들을 고려하길 원하더라도 고려할 수 없다는 점에 주목해야 한다. 하지만, 본 발명에 따른 배포 시스템을 이용함으로써, 그는 적어도 그가 권고기의 권고로부터 벗어나면 그 자신뿐 아니라 동일한 네트워크의 다른 사람들에 대한 나쁜 감상 경험을 각오해야 한다는 것을 안다.
앞서 주목한 바와 같이, 콘텐츠 클라이언트는 마킹되지 않은 미디어 디스크립션을 이용하도록 구성될 수 있다. 콘텐츠 클라이언트는 또한 디폴트로 피마킹 미디어 디스크립션을 이용하도록 구성될 수 있다.
권고기는 다른 사용자가 대역폭의 특정 양보다 더 많이 사용하고 있다는 정보를 네트워크 모니터로부터 수신할 때 더욱 보수적으로(conservatively) 마킹하도록 구성될 수 있다. 이 정보는 다른 사용자가 콘텐츠를 시청하고 있다는 것을 표시할 수 있다. 이 경우에, 네트워크 혼잡은 하나 이상의 콘텐츠 클라이언트에 영향을 미친다. 더욱 보수적으로 마킹하는 것은 마킹을 위해 미디어 디스크립션을 선택할 목적으로 일부 퍼센티지, 이를테면 10% 만큼, 이용가능한 대역폭의 양을 감소시킴으로써 수행될 수 있다.
이용가능한 대역폭은 다양한 방식으로 획득될 수 있다. 예를 들면, 일 실시 예에서, 제1 네트워크와 제2 네트워크 사이에서 게이트웨이를 통해 지나가는 네트워크 트래픽은 최대 대역폭, 예컨대 그 용량으로 제한된다. 대역폭 추정기는 제1 네트워크 및 제2 네트워크 사이에서 게이트웨이를 통해서 지나가는 네트워크 트래픽의 현재 대역폭을 결정하기 위한 네트워크 대역폭 결정기를 포함한다. 대역폭 추정기는 최대 대역폭에서 현재 대역폭을 뺌으로써 이용가능한 대역폭의 양을 추정하도록 구성된다.
에지(edge) 라우터와 같은 라우터 또한 트래픽 형상(traffic shaping)을 이용해서 특정 게이트웨이를 위해 이용될 수 있는 대역폭의 양을 제한할 수 있다. 제2 네트워크의 실제 용량이 더 높더라도, 사실상 최대 대역폭이 제한된다.
대역폭 추정기는 최대 대역폭을 가지고 구성될 수 있다. 그 수는 네트워크 운영자, 예컨대 제2 네트워크의 운영자로부터 획득될 수 있다. 최대 대역폭은 특정 상황에서, 예컨대 최적 상황에서 또는 평균 상황에서 게이트웨이를 통해 지나갈 수 있는 네트워크 트래픽의 최대량과 관련이 있다. 최대 대역폭은 가능한 현재 네트워크 트래픽과는 독립된 숫자이다. 최대 대역폭은 현재 사용 대역폭을 모니터링하고 특정 기간에 발생한 최대 현재 사용 대역폭을 추적함으로써 획득될 수 있다. 이 기간은, 이를테면 지난달일 수 있다. 이 기간은 또한 제한되지 않을 수 있다.
일 실시 예에서, 네트워크 모니터는 제1 및 제2 네트워크 사이에서 게이트웨이를 통해 지나가는 누적된 네트워크 트래픽을 측정하도록 구성된다.
특정 시간 프레임, 이를테면 매달 게이트웨이를 통해서 지나가는 네트워크 트래픽의 총량을 추적함으로써, 권고기는 이 총량을 기초로 하여 권고를 만들 수 있다. 누적된 네트워크 트래픽은 제2 네트워크로부터 제1 네트워크로 가는, 또는 그 반대로 가는, 또는 양쪽 모두 등에 대한 네트워크 트래픽만을 포함할 수 있다. 이러한 식으로, 가입에서 동의된 양 밖으로 나가는 것이 회피될 수 있다. 일부 제공자들은 공정 사용 정책(fair use policy)을 가지는데, 이들은 네트워크 트래픽의 일정 양을 초과하는 사용자에 대해 벌칙(penalty)을 부과한다. 권고기는 누적된 네트워크 트래픽의 총량이 미리 결정된 양 아래에 머물도록 콘텐츠를 추천할 수 있다.
예를 들어, 누적된 네트워크 트래픽, 예컨대 제1 네트워크에 의해 요청된 제2 네트워크로부터의 바이트(byte)의 양이 어떤 미리 정해진 숫자 아래에 존재한다면, 권고기는 고화질 비디오들을 권고할 수 있다. 하지만, 누적된 네트워크 트래픽이 미리 정해진 숫자와 같거나 위에 존재한다면, 권고기는 표준화질 비디오를 권고할 수 있다. 이러한 식으로, 권고기는 어느 정도의 비용을 발생시키지 않고 요청될 수 있는 바이트의 총량으로부터 바이트의 남아 있는 양으로 비디오의 품질을 적응시키는 것을 돕는다. 미리 결정된 숫자는 바이트의 총량의 퍼센티지, 이를테면 75%로서 선택될 수 있다.
일 실시 예에서, 권고기는 피마킹 세션 디스크립션을 획득하기 위해 세션 디스크립션으로부터 하나 이상의 복수의 미디어 디스크립션들을 네트워크 모니터에 의존하여 제거하도록 구성된다.
미디어 디스크립션을 제거함으로써, 게이트웨이는 콘텐츠 클라이언트가 그 옵션을 선택할 수 없다는 것을 시행할 수 있다. 예를 들어, 만일 게이트웨이가 현재 이용가능한 대역폭이 미디어 디스크립션의 요구 대역폭에 대해 불충분하다고 결정할 수 있다면, 게이트웨이는 그 미디어 디스크립션을 제거할 수 있다. 예를 들어, 이용가능한 대역폭 시간 상수가 특정 미디어 디스크립션의 요구 대역폭보다 작다면, 게이트웨이는 특정 미디어 디스크립션을 제거할 수 있다. 예를 들어, 사용자가 어느 정도의 네트워크 혼잡을 겪도록 준비된다면, 상수는 1보다 클, 이를테면 1.1일 수 있다. 만일 상수가 1보다 크다면, 제거된 이러한 미디어 디스크립션들만이 네트워크 혼잡을 초래할 것으로 거의 보장된다. 예를 들어, 콘텐츠 클라이언트가 네트워크 혼잡을 초래할 수 있는 콘텐츠 아이템을 선택하는 것을 방지하기 위하여 상수는 1보다 작을, 이를테면 0.9일 수 있다. 사용자가 피마킹 세션 디스크립션에 포함된 바와 같은 권고를 따르길 원하는지 아닌지에 대해서는 사용자에게 맡겨질 수도 있다.
미디어 디스크립션의 제거는 또한 콘텐츠 필터링(content filtering)을 위해서 이용될 수 있다. 예를 들어, 불법 자료를 배포하는 것으로 알려진 또는 권리 보유자로부터 적절한 승인 없이 배포하는 콘텐츠 서버와 관련이 있는 미디어 디스크립션은 권고기에 의해 필터될 수, 즉 제거될 수 있다.
일 실시 예에서, 콘텐츠 배포 시스템은 제2 네트워크에서 라우터, 특히 에지 라우터를 포함한다. 게이트웨이는 에지 라우터를 통해서 콘텐츠 서버에 연결된다. 게이트웨이와 에지 라우터 사이의 네트워크 커넥션은 콘텐츠 클라이언트와 게이트웨이 사이의 네트워크 커넥션의 네트워크 용량보다 더 작은 네트워크 용량을 가진다.
제2 네트워크가 하나 이상의 병목, 즉 제1 네트워크보다 더 낮은 용량을 가진 네트워크 커넥션을 포함하는 것은 드문 일이 아니다. 종종 하나의 이러한 병목은 게이트웨이 바로 다음의 커넥션이다. 게이트웨이가 이 커넥션에 연결되기 때문에, 게이트웨이에게는 이 커넥션상에서 달성할 수 있는 대역폭이 잘 보인다. 병목은 또한 제1 네트워크에서 상이한 위치, 예컨대 게이트웨이 바로 전에 존재할 수 있다.
일 실시 예에서, 적어도 하나의 추가적 콘텐츠 클라이언트가 제1 네트워크를 통해서 게이트웨이에 연결된다.
네트워크를 모니터링하기 위한 장치 및 모니터링을 기초로 하여 권고를 만들기 위한 권고기를 가지는 것은 제1 네트워크상에서의 콘텐츠 클라이언트의 수와는 무관하게 이점이 있다. 하지만, 네트워크상에 복수의 콘텐츠 클라이언트들이 존재한다면, 소비된 현재 대역폭 또는 제1 네트워크에 의해 제2 네트워크에 초래된 네트워크 트래픽의 총량의 개관(overview)을 가지는 것은 게이트웨이뿐이다. 그래서, 게이트웨이로부터 획득된 정보는 네트워크 상태의 정확한 반영일 수 있다. 이러한 정보를 이용해서 더욱 정확한 권고를 준다.
일 실시 예에서, 대역폭 추정기는 이용가능한 대역폭의 추정량에서의 변화를 결정하도록 구성되고, 권고기는 이용가능한 대역폭의 변화된 추정량을 기초로 하여 갱신된 피마킹 세션 디스크립션을 콘텐츠 클라이언트로 보내도록 구성된 갱신기(updater)를 포함한다.
제2 사용자보다 먼저 콘텐츠를 시청하기 시작한 제1 사용자는 권고기로부터 리버럴한 권고(liberal recommendation)를 받을 수 있는데, 이용가능한 대역폭의 양이 높기 때문이다. 제1 사용자가 이미 대역폭의 상당한 양을 소비하고 있기 때문에, 제2 사용자는 훨씬 더 보수적인 권고(conservative recommendation)를 얻을 수 있다. 이러한 상황에서, 갱신기는 더 적은 대역폭을 사용하는 다른 미디어 디스크립터(descriptor)로 전환할 것을 권고하는 갱신(update)을 제1 사용자에게 보낼 수 있다. 갱신된 피마킹 세션 디스크립션을 이용하는 것은 영화를 이미 시청하고 있는 사용자들이 새로운 사용자들을 고려해서 더욱 공정하게 대역폭을 공유하는 것을 가능하게 한다.
본 발명의 추가적 관점은 콘텐츠 클라이언트, 게이트웨이, 및 콘텐츠 서버를 포함하는 콘텐츠 배포 시스템에서 사용하기 위한 게이트웨이에 관한 것인데, 게이트웨이는 제1 네트워크를 통해서 콘텐츠 클라이언트에 연결될 수 있고, 게이트웨이는 제2 네트워크를 통해서 콘텐츠 서버에 연결될 수 있고, 게이트웨이는 제1 네트워크와 제2 네트워크 사이에서 게이트웨이를 통하여 지나가는 네트워크 트래픽을 모니터링하기 위한 네트워크 모니터를 포함하고, 게이트웨이는 복수의 미디어 디스크립션을 포함하는 세션 디스크립션을 콘텐츠 서버로부터 수신하기 위한 수신기(receiver)를 포함하고, 복수의 미디어 디스크립션 각각은 콘텐츠 클라이언트가 제1 및 제2 네트워크를 통해서 및 게이트웨이를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하는 커넥션 정보를 포함하고, 시스템은 피마킹 세션 디스크립션을 획득하기 위해서 세션 디스크립션에서의 하나 이상의 복수의 미디어 디스크립션을 네트워크 모니터에 의존하여 마킹하도록 구성된 권고기를 포함하고, 권고기는 콘텐츠 클라이언트에 피마킹 세션 디스크립션을 보내도록 구성된다.
본 발명의 추가적 관점은 콘텐츠 아이템을 수신하기 위해 네트워크에서 이용가능한 대역폭의 양을 추정하기 위한 대역폭 추정기에 관한 것이다.
본 발명의 추가적 관점은 콘텐츠를 배포하기 위한 방법에 관한 것인데, 콘텐츠를 배포하기 위한 방법은, 제1 네트워크 및 제2 네트워크 사이의 게이트웨이를 통해서 지나가는 네트워크 트래픽을 모니터링하는 단계, 하나 이상의 미디어 디스크립션을 포함하는 세션 디스크립션을 수신하는 단계로서 하나 이상의 미디어 디스크립션 각각은 콘텐츠 클라이언트가 제1 및 제2 네트워크를 통해서 및 게이트웨이를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하는 커넥션 정보를 포함하는 단계, 피마킹 세션 디스크립션을 획득하기 위해서 세션 디스크립션에서의 하나 이상의 복수의 미디어 디스크립션을 모니터링된 네트워크 트래픽에 의존하여 마킹하는 단계, 및 피마킹 세션 디스크립션을 콘텐츠 클라이언트에 보내는 단계를 포함한다.
본 방법은 게이트웨이에서 이용될 수 있다.
본 발명에 따른 방법은 컴퓨터 구현 방법으로서 컴퓨터상에서, 또는 전용 하드웨어에서, 또는 양자의 조합으로서 구현될 수 있다.
본 발명에 따른 방법을 위한 실행가능한 코드는 컴퓨터 프로그램 제품상에서 저장될 수 있다. 컴퓨터 프로그램 제품의 예들은 메모리 장치, 광학 저장 장치, 집적 회로, 서버, 온라인 소프트웨어 등을 포함한다.
바람직한 실시 예에서, 컴퓨터 프로그램은 컴퓨터 프로그램이 컴퓨터상에서 실행될 때 본 발명에 따른 방법의 모든 단계들을 수행하도록 적용된 컴퓨터 프로그램 코드 수단들을 포함한다. 바람직하게는, 컴퓨터 프로그램은 컴퓨터 판독가능 매체상에서 구현된다.
네트워크를 통해서 연결된 콘텐츠 서버 및 콘텐츠 클라이언트를 포함하는 콘텐츠 배포 시스템이 제공된다. 콘텐츠 서버는 콘텐츠 클라이언트가 콘텐츠 아이템을 네트워크를 통해서 수신하는 것을 가능하게 하는 적어도 하나의 미디어 디스크립션을 포함하는 세션 디스크립션을 콘텐츠 클라이언트로 보내도록 구성된다. 이 시스템은 네트워크를 통해서 지나가는 네트워크 트래픽을 모니터링하기 위한 네트워크 모니터 및 피마킹 세션 디스크립션을 획득하기 위해 세션 디스크립션에서의 하나 이상의 미디어 디스크립션을 네트워크 모니터에 의존하여 마킹하기 위한 권고기를 포함한다. 피마킹 미디어 디스크립션은 콘텐츠 클라이언트가 현재 네트워크 상태의 관점에서 다른 것들보다 특정 콘텐츠를 선호하도록 권고한다. 예를 들어, 이용가능한 대역폭이 낮다면, 낮은 대역폭을 요하는 콘텐츠가 권고된다. 이로써, 시스템의 모든 사용자들에 대해 네트워크 혼잡이 회피된다.
완벽을 기하기 위해서, 발명의 명칭이 "Method and System for selecting transmission modes for streaming media content to a wireless handset access technology"인 미국 특허 제7593686호가 무선 핸드셋 및 미디어 서버를 포함하는 공지된 시스템을 개시한다는 것이 언급된다. 핸드셋은 스트리밍 미디어 콘텐츠를 수신하기 위해 미디어 서버에 연결될 수 있다. 무선 핸드셋은 무선 핸드셋의 표현 능력에 대한 하나 이상의 표시를 미디어 서버에 보낼 수 있다. 응답에서, 미디어 서버는 미디어 콘텐츠의 목록 및 전송 모드들을 무선 핸드셋에 보낼 수 있고, 미디어 콘텐츠의 목록 및 전송 모드들은 무선 핸드셋의 표현 능력을 기초로 하여 적어도 부분적으로 조정될 수 있다. 실시간 미디어 콘텐츠는 상이한 전송 모드들로 무선 핸드셋에 스트리밍될 수 있고, 각각은 대역폭의 상이한 레벨을 소비할 수 있다.
무선 핸드셋의 사용자는 이후 미디어 콘텐츠의 목록으로부터 선택할 수 있고, 미디어 서버는 선택된 전송 모드를 이용해서 미디어 콘텐츠를 무선 핸드셋으로 스트리밍할 수 있다. 제안된 본 발명은 사용자가 목록으로부터 선택하는 것을 가능하게 할 분 아니라, 사용자에게 핸드셋에 의해 하일라이팅되는 방식으로 디스플레이될 수 있는 권고된 옵션을 제공함으로써 사용자 경험을 향상시킨다. 하일라이팅(high lighting)은, 예컨대 색 대비(contrasting color)에 의한 표현, 상이한 폰트, 밑줄표시 등 여러 방식으로 수행될 수 있다.
공지의 시스템은 무선 핸드셋과 미디어 서버 사이에 배치된 게이트웨이를 포함하지 않는다. 네트워크를 통해서 연결된 두 점들 사이의 중개 지점은 말단 지점들, 예컨대 무선 핸드셋 및 미디어 서버 중의 어느 하나 보다도 더 나은 네트워크에 대한 조망(view)을 제공한다. 미디어 서버가 모바일 핸드셋으로의 그 제안을 테일러링(tailoring)하지만, 미디어 서버는 네트워크의 다른 장소에 위치한 다른 개체로부터의 정보가 아니라 무선 핸드셋으로부터 수신된 정보를 기초로 하여 이를 수행한다. 테일러링은 미디어 서버에서 수행되고, 네트워크에서의 임의의 다른 위치에서 수행되지 않는다는 점에 주목해야 한다.
공지된 시스템은 동적으로 변할 수 있는 현재 이용가능한 대역폭을 고려하지 않고, 단지 정적인 최대 대역폭만을 고려한다.
SDP는 협상을 지원하는 것이 아니라, 단순히 세션 디스크립션 포맷이다. SDP 세션은 서버에 의해서 제안된 복수의 대안들을 포함할 수 있고, 이 중에서 클라이언트가 선택할 수 있다. 예를 들어, 서버는 복수의 상이한 오디오 포맷들 및/또는 상이한 압축 비율로 오디오를 제안한다. 이후, 세션 디스크립션을 수신하는 클라이언트는 자신이 지원하는 포맷을 선택할 수 있다. 이러한 선택은, 예컨대 RTSP 셋업 메시지에 의해서 제공될 수 있다.
완벽을 기하기 위해서, RFC 3264, "An Offer/Answer Model with the Session Description Protocol"이 세션 디스크립션 프로토콜(SDP)을 이용한다는 점이 언급된다. 이 모델에서, 하나의 참여자는 자신의 관점에서 원하는 세션의 디스크립션을 다른 참여자에게 제안하고, 다른 참여자는 그들 사이의 멀티미디어 세션의 공통적 관점에 도달하기 위해 자신의 관점에서 원하는 세션을 가지고 회신한다. 이 모델은 클라이언트와 서버 양쪽 모두가 현재 최상의 옵션인 미디어 디스크립션에 관하여 정보에 근거한 결정을 내리기 위해 필요한 모든 정보를 가지고 있는 경우에만 효과가 있다. 특히, RFC 3264는 미디어 디스크립션들 중의 하나를 권고하기 위하여, 네트워크 모니터 또는 권고기와 같이, 서버 및 클라이언트에게 알려지지 않은 추가적 정보에 대한 접근권을 가진 콘텐츠 서버와 콘텐츠 클라이언트와는 상이한 네트워크에 존재하는 제3 개체를 이용하지 않는다.
도 1은 본 발명에 따른 콘텐츠 배포 시스템의 제1 실시 예를 도시하는 블록도이다.
도 2는 본 발명에 따른 메시지의 가능한 교환을 도시하는 시퀀스도이다.
도 3a는 예시적인 세션 디스크립션을 도시한다.
도 3b는 예시적인 피마킹 세션 디스크립션을 도시한다.
도 4는 본 발명에 따른 방법을 도시하는 흐름도이다.
본 발명은 첨부 도면들을 참조하여 예에 의해서 더욱 상세하게 설명된다.
도면들에서, 유사하거나 상응하는 특징들은 동일한 참조 번호에 의해서 표시된다.
본 발명은 많은 다양한 형태의 실시 예들이 가능하며, 본 공개는 발명의 원리의 예로서 고려되는 것이지, 본 발명을 도시되고 설명된 특정 실시 예로 제한하도록 의도된 것이 아니라는 이해와 함께, 하나 이상의 특정 실시 예들이 도면에서 도시되고 본 명세서에서 상세하게 설명될 것이다.
도 1은 본 발명에 따른 콘텐츠 배포 시스템(100)을 블록도로 도시한다. 콘텐츠 배포 시스템(100)은 복수의 콘텐츠 클라이언트들을 포함하고, 제1 콘텐츠 클라이언트(112) 및 제2 콘텐츠 클라이언트(114)가 도시된다. 하나의 콘텐츠 클라이언트만을 가진 시스템 또한 사용될 수 있다. 콘텐츠 배포 시스템(100)은 게이트웨이(120) 및 콘텐츠 서버(150)를 포함한다. 콘텐츠 클라이언트들은 제1 디지털 네트워크를 통해서 게이트웨이(120)와 연결된다. 제1 네트워크의 네트워크 커넥션들 중에서 제1 콘텐츠 클라이언트(112)를 게이트웨이(120)와 연결시키는 제1 네트워크 커넥션(116)이 도시된다. 네트워크는 다수의 네트워크 구조에서 복수의 커넥션을 포함할 수 있다. 콘텐츠 서버(150)는 제2 네트워크를 통해서 게이트웨이(120)와 연결된다. 제2 네트워크는 전형적으로 제1 네트워크보다 더 크다.
제1 및/또는 제2 네트워크는 전형적으로 최선(best effort)의 네트워크이고, 특정 QoS(Quality of Service) 레벨과 같은 데이터 패킷의 전달과 관련된 어떠한 보장도 제공하지 않는다. 전형적으로, 모든 콘텐츠 클라이언트들은 동일한 최선의 서비스를 획득하고, 처리량(throughput), 패킷 손실, 및 높은 레이턴시(latency)와같은 네트워크 문제들은 주로 네트워크 부하에 의해서 결정된다. 제1 및/또는 제2 네트워크는 인터넷 프로토콜(Internet Protocol; IP)을 기초로 할 수 있다.
선택적으로, 제2 네트워크는 에지 라우터(154)를 포함한다. 에지 라우터는 인터넷 서비스 제공자(Internet Service provider; ISP)에 의해 운영될 수 있다. 도 1은 게이트웨이(120)로부터 에지 라우터(154)로의 제2 네트워크 커넥션(152)과 에지 라우터(154)로부터 콘텐츠 서버(150)로의 서버 커넥션(155)을 도시한다. 여기서 개략적으로 도시된 커넥션들은 복수의 커넥션들, 라우터들 등을 포함할 수 있다. 제2 네트워크는 복수의 서버들, 라우터들, 클라이언트들 등을 포함할 수 있다. 에지 라우터(154)와 콘텐츠 서버(150) 사이의 네트워크는 에지(edge) 네트워크 또는 코어(core) 네트워크라고도 할 수 있다.
게이트웨이(120)와 에지 라우터(154) 사이의 네트워크는 액세스(access) 네트워크, 즉 제1 네트워크, 이를테면 홈(home) 네트워크를 에지 네트워크와 연결시키는 네트워크일 수 있다. 액세스 네트워크는 종종 예컨대 최대 대역폭으로 제한되는 제한된 용량을 가진다. 전형적인 예는 12 Mbit/s의 용량을 가진 DSL 커넥션이다. 이 용량은 에지 네트워크의 비디오 서버로부터 홈 네트워크의 비디오 클라이언트로 예컨대 하나의 8 Mbit/s IPTV 스트림의 배포를 허용한다.
제2 네트워크 커넥션(152)은 전형적으로 제1 네트워크 커넥션(116) 및/또는 서버 커넥션(155)보다 더 낮은 대역폭을 가진다. 전형적으로, 콘텐츠 클라이언트가 콘텐츠 서버(150)로부터 콘텐츠를 수신할 때, 최대 처리량, 최대 대역폭은 제2 네트워크 커넥션(152)의 최대 대역폭에 의해서 제한된다. 네트워크, 즉 제1 및/또는 제2 네트워크는 추가적인 또는 다른 병목을 포함할 수 있다. 제2 네트워크 커넥션(152)은 액세스 링크(access link)라고도 한다.
동일한 제1 네트워크에 위치한 복수의 사용자들은 동시에 상이한 IPTV 스트림들을 시청하기 원할 수 있다. 액세스 링크 용량은 동시에 발생하는 복수의 비디오 서비스들을 지원하기에 너무 작을 수 있다. 예를 들어, 두 개의 8 Mbit/s 비디오 스트림들을 12 Mbit 액세스 링크를 통하여 두 개의 콘텐츠 클라이언트들로 전달하는 것은 이 스트림들의 재생에 있어서 문제를 초래할 것이다. 이 경우에, 콘텐츠 클라이언트들 양쪽 모두는 손상된 비디오 스트림들을 수신할 것이다.
만일 에지 라우터(154)상에서 제2 네트워크로부터의 네트워크 부하가 제2 네트워크 커넥션(152)의 용량을 넘어서 증가한다면, 에지 라우터(154)는 전형적으로 네트워크 패킷들을 드롭할 것이다. 이것은 제2 네트워크 커넥션(152)을 통해 지나가고 있는 임의의 비디오 스트림에 손상을 초래할 것이고, 양쪽 사용자들에 대해서 저하된 품질을 야기할 것이다.
게이트웨이(120)는 제1 네트워크와 제2 네트워크 사이에서 지나가는 네트워크 트래픽을 모니터링(monitoring)하기 위한 네트워크 모니터(130)를 포함한다. 네트워크 모니터(130)는 예컨대 제2 네트워크로부터 제1 네트워크로 가는 네트워크 트래픽을 모니터링하는 것으로 제한될 수 있다. 대부분의 상황에서는 이것이 양호한 결과를 낳을 것인데, 왜냐하면 전형적으로 대역폭 문제가 발생할 때 제1 네트워크를 향한 너무 많은 트래픽의 생성은 제2 네트워크에 의해 야기될 것이기 때문이다. 이와 달리, 모니터(130)는 제1 네트워크로부터 나가는 네트워크 트래픽을 모니터링할 수 있다. 모니터(130)는 게이트웨이를 통해서 지나가는 모든 트래픽을 모니터링할 수 있다.
콘텐츠 배포 시스템(100)은 권고기(140)를 더 포함한다. 권고기는 권고기 커넥션(145)을 통해서 네트워크 모니터(130)로부터 정보를 수신하도록 구성된다. 권고기(140)는 네트워크에서의 다양한 장소, 예컨대 게이트웨이(120), 콘텐츠 서버(150), 또는 콘텐츠 클라이언트에 배치될 수 있다.
콘텐츠 배포 시스템(100)의 사용이 도 2에서 도시된 시퀀스(sequence)도를 이용하여 도시된다. 도면의 위에서 아래로 감에 따라서 시간의 경과가 도 2에 도시된다. 우리는 제2 콘텐츠 클라이언트(114)가 콘텐츠 서버(150)로부터 콘텐츠를 요청해서 제2 네트워크 커넥션(152)을 이용하는 첫 번째 것이라고 가정할 것이다. 제2 콘텐츠 클라이언트(114)는 콘텐츠 서버(150)로 제1 요청(210)을 보낸다. 콘텐츠 서버(150)는 제1 세션 디스크립션(220)을 보냄으로써 응답한다. 제1 세션 디스크립션은 네트워크를 통해서 지나가기 때문에, 결국에는 게이트웨이(120)에 도달한다. 네트워크는 이 시점에서 가장 아이들(idle)하기 때문에, 권고기(140)는 제1 세션 디스크립션에 포함된 최고 품질 미디어 디스크립션을 권고할 수 있다. 게이트웨이(120)는 제1 피마킹(marked; 마킹된) 세션 디스크립션(230)을 제2 콘텐츠 클라이언트(114)로 보낸다. 가능하게는 제1 네트워크의 하나 이상의 다른 콘텐츠 클라이언트가 뒤를 잇는 제2 콘텐츠 클라이언트(114)는 콘텐츠 서버(150)와 같은 콘텐츠 서버(도 2에 도시되지 않음)로부터 콘텐츠를 수신하기 시작한다. 이 콘텐츠 수신 세션들은 제2 네트워크 커넥션(152)의 대역폭 용량의 일부를 소비한다. 예를 들어, 제2 콘텐츠 클라이언트(114)의 사용자는 제2 콘텐츠 클라이언트(114), 예컨대 PC상에서 HD(High Definition) IPTV 스트림을 시청하고 있을 수 있다. 콘텐츠는 게이트웨이(120)를 통하여 제1 네트워크에서 수신된다. 수신된 콘텐츠에 의해 초래된 네트워크 트래픽은 네트워크 모니터(130)에 의해서 모니터링된다. 예를 들어, 네트워크 모니터(130)는 초당 제1 네트워크로 흘러들어가는 비트의 수, 즉 현재 사용되는 대역폭을 카운트(count)한다. 네트워크 모니터(130)는 또한, 예컨대 이동 평균 계산(moving average calculation) 또는 일부 다른 계산을 이용해서 지난달 또는 이제까지 발생한 가장 높은 최대 사용 대역폭(used bandwidth)을 추적할 수 있다. 가장 높은 최대 사용 대역폭은 특히 커넥션(152)의 네트워크의 용량에 대한 추정(estimate), 즉 최대 대역폭으로서 이용될 수 있다. 그래서, 제1 네트워크와 제2 네트워크 사이의 게이트웨이를 통해서 지나갈 수 있는 네트워크 트래픽은 최대 대역폭으로 제한된다고 가정될 수 있다.
네트워크 모니터(130)는 최대 대역폭에서 현재 사용 대역폭을 뺌으로써 현재 이용가능한 대역폭을 결정할 수 있다. 권고기(140)는 권고기 커넥션(145)을 통해서 네트워크 모니터(130)로부터 현재 이용가능한 대역폭을 수신한다. 이와 달리, 권고기(140)는 또한 현재 사용 대역폭 및 최대 대역폭을 수신할 수 있고, 이 정보로부터 현재 이용가능한 대역폭을 산출할 수 있다.
어떤 시점에서는 콘텐츠 서버(150)가 제2 세션 디스크립션(250)을 제1 콘텐츠 클라이언트(112)로 보낸다. 제2 세션 디스크립션은 게이트웨이(120)에서 인터셉트(intercept)된다. 콘텐츠 서버(150)는, 예컨대 네트워크를 통하여 제1 콘텐츠 클라이언트(112)로부터 이전에 수신되었던 요청에 의해서 제2 세션 디스크립션을 보내도록 트리거(trigger)될 수 있다. 예를 들어, 제1 콘텐츠 클라이언트(112)는 이전에 제2 요청(240)을 콘텐츠 서버(150)로 보냈다. 예를 들어, 제1 콘텐츠 클라이언트(112)의 사용자는, 예컨대 EPG를 통해서, 제1 콘텐츠 클라이언트(112), 예컨대 셋탑박스(Set Top Box; STB)를 위한 영화를 선택한다. 제1 콘텐츠 클라이언트(112)는 콘텐츠의 디스트립션에 대해서 콘텐츠 서버(150)에 질의한다. 콘텐츠 서버는 적어도 세션 디스크립션 메시지, 예를 들어 RFC 4566 세션 디스크립션 프로토콜(SDP) 메시지를 가지고 응답한다.
SDP 메시지는 세션에 대한 메타데이터(meta-data), 예컨대 저자, 제목, 연락 정보 등을 제공할 수 있다. SDP 메시지는, 예컨대 프로토콜, 비디오 포맷, 오디오 포맷 등을 전송하는, 선택된 콘텐츠 아이템이 배달될 수 있는 상이한 미디어 포맷들을 제공할 수 있다. 예를 들어, 멀티 레이어(multi layer) SVC 스트림, 이를테면 5 레이어 SVC 스트림(이하 참조)을 나타내는 디스크립터(descriptor)들을 포함할 수 있다.
세션 디스크립션 메시지는 다양한 포맷, 예컨대 평문(plain text), xml, 또는 SDP 포맷으로 제공될 수 있고, 예컨대 RTSP 프로토콜, SIP, HTTP, SAP 고지(announcement) 등을 이용하여 다양한 방식으로 콘텐츠 서버(150)로부터 제1 콘텐츠 클라이언트(112)로 전송될 수 있다.
콘텐츠 서버(150)는 또한, 예컨대 새로운 또는 갱신된 콘텐츠의 이용가능성을 고지하기 위해, 콘텐츠 클라이언트로부터의 요청 없이 자발적으로 세션 디스크립션을 제1 콘텐츠 클라이언트(112)로 보낼 수 있다. 이 경우에, 제2 요청(240)의 송신(sending)은 존재하지 않는다. 세션 디스크립션은 콘텐츠 서버(150)에 의해서 복수의 콘텐츠 클라이언트들로, 예컨대 게이트웨이(120)에 연결된 콘텐츠 클라이언트들로 브로드캐스트(broadcast)될 수 있다.
콘텐츠 서버(150)로부터 보내진 세션 디스크립션은 서버 커넥션(155)을 통해서 에지 라우터(154)로 전송되고, 거기서부터 제2 네트워크 커넥션(152)을 통해서 게이트웨이(120)로 전송된다. 게이트웨이(120)는, 예컨대 심층 패킷 검사를 이용하여 세션 디스크립션을 인터셉트한다. 게이트웨이(120)는 인터셉트된 세션 디스크립션을 권고기 커넥션(145)을 통해서 권고기(140)로 전송한다.
권고기(140)는 콘텐츠 서버(150)로부터 수신된 세션 디스크립션을 검사한다. 이것은 세션 디스크립션에 내장된 미디어 디스크립션들을 판단한다. 권고기(140)는 또한 각각의 미디어 디스크립션에 대해서 어떤 대역폭이 요구되는지 결정하려고 노력한다. 요구 대역폭(required bandwidth)은 세션 디스크립션 내에 포함될 수 있다. 요구 대역폭은 또한 콘텐츠의 의도된 이용을 기초로 하여 결정될 수 있다. 예를 들어, 해상도, 초당 프레임, 컬러 깊이(color depth) 등의 속성으로부터 요구 대역폭이 결정되거나 추정될 수 있다. 만일 권고기(140)가 미디어 디스크립션을 위한 요구 대역폭을 수립하는데 실패하면, 권고기(140)는 이를 무시하거나, 이를 표시하지 않거나, 또는 심지어 세션 디스크립션으로부터 미디어 디스트립션을 제거할 수 있다.
대역폭 요구사항은 또한 수신된 콘텐츠의 이력을 기초로 하여 결정될 수 있다. 예를 들어, 권고기는 콘텐츠 클라이언트에 의해 사용되었던 수신된 미디어 디스크립션의 이력을 저장할 수 있다. 권고기는 또한 미디어 디스크립션이 요구한 대역폭의 양을 저장한다. 수신된 미디어 디스크립션에 대해서 요구되는 대역폭이 필요할 때 그것이 저장된 미디어 디스크립션과 동일한지 여부는 권고기에 의해서 결정될 수 있고, 만약 동일하다면 저장된 사용 대역폭의 양은 현재 수신된 미디어 디스크립션의 요구사항을 위한 추정으로서 이용될 수 있다.
각각의 미디어 디스크립션에 대해서, 네트워크가 현재 네트워크 혼잡을 초래하지 않고 제1 및 제2 네트워크를 통하여 콘텐츠 서버(150)로부터 제1 콘텐츠 클라이언트(112)로 콘텐츠를 전송할 수 있다면, 네트워크 모니터(130)는 요구 대역폭 및 이용가능한 대역폭으로부터 결정할 수 있는데, 즉 네트워크 모니터(130)는 요구 대역폭이 이용가능한 대역폭보다 적은지 여부를 확인한다. 네트워크 모니터(130)는 또한, 세이프티 마진(safety margin)을 고려할 수 있다. 예를 들어, 요구 대역폭이 이용가능한 대역폭 곱하기 특정 숫자, 이를테면 0.9 보다 적은지를 확인함으로써 고려할 수 있다.
권고기(140)는 마킹(marking) 계획에 따라서 세션 디스크립션 내에 미디어 디스크립션들을 마킹한다. 예를 들어, 그 요구 대역폭이 현재 이용가능한 대역폭 아래인 임의의 미디어 디스크립션을 마킹할 수 있다. 예를 들어, 권고기(140)는 하나의 미디어 디스크립션만을 마킹할 수 있는데, 다시 말해 가장 높는 대역폭 요구사항을 가지되 그 대역폭 요구사항이 현재 이용가능한 대역폭 아래인 미디어 디스크립션만을 마킹할 수 있다. 미디어 디스크립션의 어느 것도 현재 이용가능한 대역폭 아래인 요구 대역폭을 가지지 않은 경우에, 권고기(140)는 미디어 디스크립션의 어느 것도 마킹하지 않을 수 있고, 대신 가장 낮은 요구 대역폭을 가진 미디어 디스크립션을 마킹할 수 있다. 많은 대안적인 마킹 계획이 가능하다.
게이트웨이(120)는 세션 디스크립션 내의 권고된 미디어 디스크립션을 권고기(140)로부터 수신할 수 있고, 그에 맞춰 권고된 세션 디스크립션을 마킹할 수 있고, 이것을 제1 네트워크를 통해서 제1 콘텐츠 클라이언트(112)로 전송할 수 있다.
게이트웨이(120)는 피마킹 세션 디스크립션을 권고기(140)로부터 수신할 수 있다. 게이트웨이(120)는 이것을 제1 네트워크를 통해서 제1 콘텐츠 클라이언트(112)로 전송할 수 있다. 대안적으로, 피마킹 세션 디스크립션은 게이트웨이를 이용하지 않고 권고기에 의해서 클라이언트로 보내진다.
권고기(140)는, 예컨대 어떤 비디오 서비스들이 지원될 수 있는지 결정하기 위해 액세스 네트워크 트래픽과 액세스 링크 용량의 모니터링을 위한 네트워크 모니터(130)를 이용한다. 네트워크 모니터(130)는, 예컨대 강제된(forced) 또는 투명한(transparent) 네트워크 모니터(130)로서 묵시적으로(implicitly) 작동할 수 있고, 모든 세션 설정(establishment) 관련 정보는 네트워크 모니터(130)를 지나간다. 네트워크 모니터(130)는 명시적으로(explicitly) 작동할 수 있는데, 예컨대 콘텐츠 클라이언트들은 네트워크 모니터(130)를 통해서 콘텐츠 서버(150)에 연결된다. 세션 정보가 네트워크 모니터(130)를 통해서 지나가기 때문에, 네트워크 모니터(130)는 모든 현재의 세션들을 유지할 수 있고, 그래서 상이한 세션들의 대역폭 사용을 추적할 수 있다.
네트워크 모니터는 게이트웨이에 포함될 수 있지만 반드시 그러한 것은 아니다. 네트워크 모니터는 게이트웨이로부터 네트워크 정보를 수신할 수 있다.
권고기(140)는 세션에 대한 대역폭 요구사항 및 세션의 구조, 예컨대 각각의 레이어들이 어떻게 전달되는지를 결정하기 위해서 세션 디스크립션들을 분석한다. 권고기(140)는 사용되어야 하는 대역폭의 양과 관련된 세션 디스크립션에 권고를 추가할 수 있다.
사용되어야 하는 대역폭의 양에 관한 권고, 즉 세션 디스크립션의 마킹은 여러가지 형태일 수 있다. 예를 들어, 하나 이상의 미디어 디스크립션은 피마킹 미디어 디스크립션에 대한 참조(reference)를 세션 디스크립션에 추가함으로써 직접 마킹될 수 있다. 세션 디스크립션의 마킹은 또한 대역폭의 권고된 양, 예컨대 대역폭의 이용가능한 양을 세션 디스크립션에 추가하는 것, SVC 비디오 레이어들의 권고된 서브셋(subset)을 추가하는 것을 포함할 수 있다. 세션 디스크립션이 복수의 오디오 및/또는 비디오 코덱의 콘텐츠를 제안하는 경우에, 미디어 디스크립션은 권고된 비디오 및/또는 오디오 코덱을 참조해서 마킹될 수 있다. 낮은/중간/높은 세팅(setting)으로 비디오가 제안되는 경우에, 미디어 디스크립션은 권고된 비디오 프리셋(preset)을 참조해서 마킹될 수 있다.
게이트웨이(120)는 제2 피마킹 세션 디스크립션(270)을 제1 콘텐츠 클라이언트(112)로 보낸다. 제1 콘텐츠 클라이언트(112)는 피마킹 세션 디스크립션을 수신한 후에, 권고기(140)로부터의 권고를 따를 수 있다는 옵션(option)을 가진다. 만일 제1 콘텐츠 클라이언트(112)가 권고기(140)로부터의 권고를 따른다면, 피마킹 미디어 디스크립션을 주시함으로써 추가적인 네트워크 트래픽이 네트워크 혼잡, 예컨대 제2 네트워크 커넥션(152)상에서의 네트워크 혼잡을 초래하지 않을 것이라는 합리적 기대(reasonable expectation)가 존재한다.
만일 제1 네트워크상의 상이한 콘텐츠 클라이언트, 이를테면 네트워크 혼잡을 초래하지 않으면서 제1 콘텐츠 클라이언트(112)가 합당한 품질의 콘텐츠를 획득하는 것을 막는 제2 콘텐츠 클라이언트(114)가 많은 대역폭을 이용하는 중이라고 권고기(140)가 결정한다면, 권고기(140)는 갱신된 피마킹 세션 디스크립션(260)을 제2 콘텐츠 클라이언트(114)로 보낼 수 있다. 예를 들어, 권고기(140)는, 예컨대 제1 네트워크로부터의 변화된, 예컨대 증가된 요구에 기인하여 또는 제2 네트워크로부터의 공급에 있어서의 변화에 기인하여 변화된 대역폭 상태가 업데이트(update)를 전송할 가치가 있는 것인지를 결정하기 위한 갱신기(135)를 선택적으로 포함할 수 있다. 갱신된 피마킹 세션 디스크립션은 상이한 이용가능한 대역폭에 맞추어진 새로운 권고를 제공한다. 만일 제2 콘텐츠 클라이언트(114)가 권고를 따른다면, 제1 콘텐츠 클라이언트(112)와 제2 콘텐츠 클라이언트(114) 양쪽 모두는 합당한 품질의 콘텐츠를 감상할 수 있다.
유사하게, 예컨대 콘텐츠 클라이언트들 중 일부가 콘텐츠를 감상하는 것을 멈춤으로 인하여 이용가능한 대역폭이 증가하는 경우에, 권고기(140)는 클라이언트가 네트워크 혼잡을 초래할 추가적 위험 없이 더 높은 요구 대역폭을 가진 콘텐츠로 전환할 수 있다는 것을 나타내기 위하여 갱신된 피마킹 세션 디스크립션을 보낼 수 있다. 제1 콘텐츠 클라이언트(112) 및/또는 제2 콘텐츠 클라이언트(114)는 갱신된 피마킹 세션 디스크립션을 자동으로 따르도록 구성될 수 있다.
갱신된 피마킹 세션 디스크립션들은 스케일러블 비디오 코딩(scalable video coding; SVC)(이하에서 더 설명됨)와 결합될 때 특히 이점이 있다. SVC는 향상 레이어(향상 레이어)의 동적 전송(dynamic delivery)을 가능하게 하고, 재생 문제없이 비디오 서비스의 보기좋은(graceful) 저하 또는 향상을 가능하게 한다. SVC를 가지고 인코딩된 콘텐츠를 감상하는 클라이언트는 재생시 글리치(glitch)를 경험하지 않고 상이한 수의 레이어를 가진 미디어 디스크립션으로 전환될 수 있다.
미디어 디스크립션을 제거할 가능성을 가진 갱신된 피마킹 세션 디스크립션을 대역폭 요구사항과 결합하는 것은 이점이 있다. 콘텐츠 클라이언트는 제거된 미디어 디스크립션과 연관된 콘텐츠를 수신하는 것을 멈추도록 구성될 수 있다. 그래서, 권고기는 더 효율적인 방식으로 전체 제1 네트워크에서 대역폭 소비(bandwidth consumption)를 배열할 수 있다.
콘텐츠 클라이언트는 업데이트에 대한 체크를 위해 폴링(polling) 또는 콜백(call-back) 메커니즘을 이용해서 주기적으로 권고기(140)에 질의할 수 있다. 권고기(140)는, 예컨대 RTSP 고지 메시지 또는 UPnP 이벤트를 통해서 갱신된 권고들을 고지할 수 있다.
세션 디스크립션을 마킹해서 대역폭 권고를 추가함으로써, 네트워크 혼잡이 발생하는 것을 초래하지 않고 새로운 세션이 설정될 수 있는데, 이것은 세션을 개시하는 사용자와 세션에 이미 있는 다른 사용자들 양쪽 모두에 영향을 미칠 것이다. 사용자들은 관리되지 않은 네트워크에서 시행착오식 접근법 없이 네트워크 자원(resource)을 획득할 수 있다. 만일 복수의 사용자들이 콘텐츠 스트림을 시청하고 있는 중이라면, 시행착오식 접근법은 모든 사용자들에게 부정적으로 영향을 미칠 것이다.
게이트웨이(120), 특히 네트워크 모니터(130)는 또한 제1 네트워크로부터 와서 제2 네트워크로 가는 세션 디스크립션에 대한 요청, 예컨대 요청(210 또는 240)을 모니터링할 수 있다. 세션 디스크립션을 위한 요청은 콘텐츠 클라이언트의 성능들(capabilities)에 관한 정보를 포함할 수 있다. 이 정보는 다른 정보, 예컨대 이용가능한 대역폭 정보에 부가하여 이용될 수 있다. 예를 들어, 요청으로부터, 콘텐츠 클라이언트가 클라이언트 대역폭 최대치, 즉 콘텐츠 클라이언트에 의해서 이용될 수 있는 대역폭의 최대량을 가진다고 결정될 수 있다면, 권고기는 더 높은 대역폭 요구사항을 가진 콘텐츠를 권고하는 것을 피할 수 있다. 예를 들어, SD 비디오를 디스플레이할 수 있는 장치는 상응하는 클라이언트 대역폭 최대치를 가졌다. 권고기는 클라이언트 대역폭 최대치를 넘는 대역폭 요구사항을 가진 HD 콘텐츠에 반대하여(against) 권고할 수 있다. 게이트웨이(120), 특히 네트워크 모니터(130)는 장래의 사용을 위해서 저장 매체에 클라이언트 성능들을 저장할 수 있다.
메시지(260)는 함께 생략될 수 있다; 이 경우에, 클라이언트(112)는 콘텐츠의 낮은 대역폭 버전을 이용하기 위한 권고를 메시지(270)에서 수신한다.
일 실시 예에서, 메시지들(260 및 270)은 다음과 같을 수 있다. 메시지(260)는 클라이언트(114)가 현재 소비하고 있는 것보다 더 적은 대역폭을 요하는 콘텐츠로 자진해서 전환할 것을 클라이언트(114)에게 요청한다. 클라이언트(114)는 이 권고를 수락할 수도 있고 수락하지 않을 수도 있다. 클라이언트(114)가 전환하지 않는다고 가정하면, 메시지(270)는 대역폭의 현재 이용가능한 양을 기초로 하는 권고를 포함한다. 게이트웨이(120)는 메시지(270)를 보내기 전에 메시지(260)에 대한 응답을 기다릴 필요가 없다는 것을 주목하라. 갱신된 피마킹 세션 디스크립션이 대역폭을 자유롭게(free up) 하기 위해 상이한 콘텐츠 클라이언트에 보내졌다고 하는 클라이언트(112)를 위한 명시적 표시를 메시지(270)가 포함할 수 있다. 메시지(270)는 클라이언트(112)에 의해서 묵시적으로 그렇게 해석될 수 있다. 그래서, 만일 이용가능한 대역폭이 증가했다면, 미리 정해진 일정 시간 기간 후에 예컨대 10초 후에, 클라이언트(112)는 폴(poll) 게이트웨이(120), 특히 권고기(140) 및 더 낮은 대역폭 요구사항을 가진 콘텐츠를 위해 연결할 수 있다는 옵션을 가진다. 만일 그렇다면, 콘텐츠 클라이언트(112)는 갱신된 피마킹 세션 디스크립션(도 2에서 도시되지 않음)을 수신할 수 있다. 클라이언트(112)의 갱신된 피마킹 세션 디스크립션은 또한 게이트웨이(120) 등의 주도로 보내질 수 있다. 이 해결책은 관리되지 않은 네트워크에 대해서 잘 적용된다. 이것은, 서비스의 보장된 품질을 획득하기 위해서 대역폭을 조절하도록 적용되지 않은 구현들, 예컨대 네트워크 소프트웨어와 양립가능하다. 대신, 사용자들은 자유의사에 따라서 자신들간에 이용가능한 대역폭을 자발적으로 배포할 수 있다. 제1 네트워크에서 로우-레벨(low-level) 네트워크 인프라스트럭처(infrastructure)에는 어떠한 변화도 필요하지 않다.
메시지들(260 및 270)의 순서는 뒤바뀔 수 있는데, 즉 메시지(270)가 먼저 보내져서 낮은 대역폭 콘텐츠 버전을 클라이언트(112)에게 권고하고, 그 이후에 갱신된 피마킹 세션 디스크립션이 클라이언트(114)로 보내진다. 클라이언트(114)가 갱신된 권고를 따랐기 때문이든 아니면 어떤 다른 이유에서든, 만일 네트워크 모니터가 더 많은 대역폭이 이용가능하다는 것을 알아차렸다면, 갱신된 피마킹 세션 디스크립션이 클라이언트(112)로 보내져서 더 높은 대역폭 권고를 권고할 수 있다.
콘텐츠 클라이언트상에서 동작하는 서비스는 피마킹 세션 디스크립션에서의 권고를 따르지 않을 수 있다. 결과적으로, 네트워크에서의 혼잡이 발생해서 서비스 경험에서의 저하를 초래할 수 있다. 이것은 또한 피어-투-피어(peer-to-peer) 기반 데이터 전송, 예컨대 비트토런트(Bittorrent)와 같은 대역폭-호깅(bandwidth-hogging) 어플리케이션들과 같이, 트래픽을 두고 경쟁하는 다른 유형의 어플리케이션들의 경우에서도 있을 수 있다. 이러한 문제를 처리하기 위해서, 본 발명은 일부 어플리케이션들이 너무 많은 자원, 특히 이용가능한 대역폭과 같은 네트워크 자원을 이용하는 것을 방지하기 위하여 다른 접근법들과 결합될 수 있다. 예를 들어, 공정 큐잉(Fair queuing), 가중 큐잉(Weighted queuing), 우선순위 큐잉(Priority queuing), 및 클래스 기반 큐잉(Class based queuing)과 같은 알려진 기술들을 포함한 자원 할당 및 스케줄링 기술이 본 발명과 결합될 수 있다.
대역폭 권고를 고수하는 서비스들이 더 높은 우선순위 트래픽 클래스로 할당될 수 있는 데 반하여, 다른 트래픽은 자동적으로 더 낮은 우선순위 클래스로 할당될 수 있다. 예를 들어, 세션 디스크립션에서의 권고들, 예컨대 마킹들을 인식하지 못하거나 무시하는 콘텐츠 클라이언트상에서 작동하는 서비스는 더 낮은 우선순위 클래스에 배치될 수 있다.
예를 들어, 비디오 서비스에 대해서 15 mbit/s의 보장된 대역폭이 할당될 수 있는 데 반하여, 다른 트래픽에 대해서 3 mbit/s의 보장된 대역폭만이 할당된다. 결합된 모든 비디오 서비스들은 15 mbit/s를 이용할 수 있고, 예컨대 프락시 또는 게이트웨이에서의 권고기는 이를 나누는 것을 도울 것이다. 모든 다른 서비스들은 적어도 3 mbit/s를 사용할 수 있고 선택적으로 그 이상(즉, 비디오 서비스들에 의해 현재 사용되지 않거나 요구되지 않는 비디오 서비스에 대해서 할당된 대역폭)을 사용할 수 있다.
이러한 식으로, "컴플라이언트 서비스(compliant service)들", 즉 대역폭 권고를 인식하고 따르는 서비스들만이 다른 컴플라이언트 서비스들과 대역폭을 두고 경쟁한다.
이하에서는 이들의 세부사항 및/또는 실시 예들 및/또는 부품들이 추가로 설명된다.
상이한 대역폭 요구사항들을 가지는 복수의 미디어 디스크립션들은 스케일러블 비디오 코딩(SVC)을 이용해서 획득될 수 있다. 스케일러블 비디오 코딩을 가지고 인코딩된 비디오는, 점진적 향상(progressive enhancement)을 제공하기 위해 점층적으로(incrementally) 결합될 수 있는 복수의 상이한 레이어들을 포함한다. 스케일러블 비디오는 비디오 신호의 기본적인 표현을 제공하는 기본 레이어(base layer)를 포함할 수 있고, 선택적으로 더 높은 비디오 해상도, 프레임 레이트(frame rate) 및/또는 비디오 품질을 제공하기 위해서 기본 레이어를 향상시키는 하나 이상의 향상 레이어(enhancement layer)를 포함한다. SVC 비디오는 스크린 사이즈, 프로세싱 파워(processing power) 등 각각의 제약을 가진 상이한 종류의 말단(end) 장치들에게 비디오를 서비스하는 것을 가능하게 한다. SVC 비디오 레이어들은 독립적으로 전송될 수 있어서, 비디오 스트림의 유연한 전송을 가능하게 한다.
미디어 디스크립션에서 동일한 SVC 인코딩된 비디오를 참조할 가능성이 존재하는데, 상이한 미디어 디스크립션들은 상이한 수의 향상 레이어들을 요한다. 각각의 미디어 디스크립션이 동일한 비디오를 참조할지라도, 이들은 상이한 수의 레이어들을 참조하기 때문에 상이한 대역폭 요구사항들을 가진다. SVC는 ITU-T 권고(recommendation) h.264: Advanced vedio coding for generic audiovisual services (03/2009)에서 더욱 완전하게 설명된다.
콘텐츠 서버(150)가 동일한 비디오 스트림의 복수의 버전을 상이한 비트 레이트(bit rate)로 제안할 추가적 가능성이 존재한다. 상이한 비디오 스트림들의 커넥션 정보는 상이한 미디어 디스크립션들에 기록될 수 있다. 비디오 스트림의 더 낮은 비트 레이트 버전은 이미지를 서술하기 위해서 바이트(byte)를 더 적게 사용함으로써, 예컨대 상이한 압축 인자(compression factor)를 사용함으로써, 또는 이를 더욱 낮은 해상도로 트랜스코딩(transcoding)함으로써, 또는 어떤 다른 적절한 방법에 의해서 획득될 수 있다.
(현재) 이용가능한 대역폭의 추정은 다양한 방법으로 수행될 수 있다. 예를 들어, 게이트웨이(120)는, 액세스 링크의 최대 용량을 결정하기 위한 액세스 링크 용량 결정기(determinator), 액세스 링크의 현재 처리량을 모니터링하기 위한 사용 네트워크 대역폭 결정기, 및 액세스 링크 용량 및 현재 처리량 레벨을 기초로 하여 이용가능한 대역폭의 양을 추정하기 위한 이용가능한 대역폭 추정기를 포함할 수 있다.
유효한 액세스 링크 용량(이용가능한 대역폭)을 결정하기 위해서 여러 가지 메커니즘들이 가능하다.
- 게이트웨이(120)는, 예컨대 TR-69의 SNMP를 통해서 검색될 수 있는 관리 정보에 대한 접근권(access)을 가질 수 있다.
- 네트워크 모니터(130)는 현재 트래픽 레이트를 주기적으로 폴(poll)할 수 있다. 예를 들어, 현재의 트래픽 레이트 및 최대 보고된 값을 검색하기 위하여, 예컨대 SNMP를 이용해서 에지 라우터(154)를 폴링(polling)하는 것이다. 네트워크 모니터(130)는 가중 평균(weighed average) 함수를 이용해서 이용가능한 액세스 링크 용량의 평균값(mean value)을 수립할 수 있다.
- 네트워크 모니터(130)는 최대 대역폭을 결정하기 위해서, 서버, 예컨대 웹 서버, 예컨대 콘텐츠 서버(150)와 함께 테스트 파일 전송을 주기적으로 시작할 수 있다.
대역폭 추정 도구들이 Strauss J. et al. "A Measurement Study of Available Bandwidth Estimation Tools"에서 주어진다.
네트워크 모니터(130)는 커넥션의 처리량의 피크 레벨(peak level)을 모니터링할 수 있을 것이다. 예를 들어, 만일 처리량이 절대로 20 Mbit/s을 넘지 않는다면, 이 값은 액세스 링크 용량을 위한 상한으로 취해질 수 있을 것이다.
현재 사용되는 대역폭의 모니터링, 특히 제2 네트워크 커넥션(152)의 대역폭 중에서 얼마나 많이 현재 사용되고 있는지에 대한 모니터링은 여러 방법으로 수행될 수 있다. 제1 네트워크로부터 액세스 네트워크로의 네트워크 데이터 트래픽 및 그 반대의 경우는 게이트웨이(120)를 지나간다. 게이트웨이(120)는 전형적으로, 종종 낮은 대역폭 커넥션이거나 또는 그 반대인, 제1 네트워크로부터 액세스 링크로 이동하는 트래픽의 양을 결정할 수 있다. 이와 달리, 이러한 정보는, SNMP (RFC 1157, RFC 2578, 및 RFC 2571)와 같은 네트워크 관리 프로토콜에 의해서 또는 소프트웨어 함수 호출을 통해서, 별개의 라우터, 예컨대 에지 라우터(154)로부터 획득될 수 있다.
이와 달리, 네트워크 모니터(130)는 모든 현재 진행중인 세션들 및 이들의 대역폭 요구사항들을 추적할 수 있다. 그래서, 사용된 대역폭의 양은 모든 진행중인 세션들의 대역폭 요구사항들을 추가함으로써 결정될 수 있을 것이다.
이용가능한 대역폭의 양은 또한 현재 처리량 레벨 및 제2 네트워크 커넥션(152)의 용량을 기초로 하여 추정될 수 있다. 이용가능한 대역폭의 양은 전체 액세스 링크 용량 및 현재 대역폭 사용 레벨을 기초로 하여, 예컨대 이용가능한 대역폭을 얻기 위하여 전체 대역폭으로부터 사용된 대역폭을 뺌으로써, 추정될 수 있다.
이러한 이용가능성을 기초로 하여, 이후 새로운 세션에 대한 권고가 주어질 수 있고, 권고된 대역폭은 최대로는 이용가능한 대역폭이다. 전형적으로, 네트워크 트래픽에서의 요동(fluctuation)을 고려하기 위해 10-20%의 마진(margin)이 이용된다.
게이트웨이(120)는 다른 콘텐츠 클라이언트들을 대신하여 자원들 또는 자원 명시(resource manifestation)들을 검색하기 위한 목적으로 서버 및 콘텐츠 클라이언트 둘 다로서 작동하는 중개자(intermediary)일 수 있다. 게이트웨이(120)는 프락시이거나 프락시를 포함할 수 있다. 일 실시 예에서, 사용자와 콘텐츠 서버 간의 모든 통신은 게이트웨이(120)에 의해서 중재되어(mediated), 권고기(140)가 사용자들과 콘텐츠 서버들 사이에서 전송된 세션 디스크립션 메시지들에 권고를 추가하는 것을 가능하게 한다.
네트워크 모니터(130)는 새로운 세션들을 묵시적으로 또는 명시적으로 검출할 수 있다.
묵시적 세션 검출을 이용해서, 네트워크 모니터(130)는 콘텐츠 클라이언트로부터 콘텐츠 서버로의 세션 설정 메시지를 인터셉트함으로써 새로운 세션들을 검출하고, 콘텐츠 서버로부터 콘텐츠 클라이언트로의 세션 설정 메시지를 인터셉트함으로써 새로운 세션들을 검출한다. 이러한 인터셉션(interception)은 게이트웨이(120)에서 일어날 수 있다. 게이트웨이(120)는 그것을 통과해서 흘러가는 패킷들을 분석함으로써 세션 설정 메시지를 인터셉트할 수 있다. 세션 설정 패킷은 다음의 기준에 의해서 검출되고 선택될 수 있지만, 이에 한정되는 것은 아니다.
- 프로토콜 포트 번호(protocol port number): RTSP, SIP, HTTP, 및 RTMP와 같은 세션 설정 프로토콜은 전형적으로 고정된 목적지 또는 소스(source) 포트를 사용한다. 예를 들어, RTSP 메시지는 전형적으로 포트 554 또는 8554를 통해서 보내지고, SIP 메시지는 포트 5060 및 5061를 통해서 보내진다. HTTP 및 RTMP 메시지들은 전형적으로 포트 80을 사용한다.
- 네트워크 주소(network address). 네트워크 모니터(130)는 잘 알려진 콘텐츠 서버들의 주소들의 목록에 대한 접근권을 가질 수 있다. 이 목록은 사용자에 의해서 구성될 수 있고, 웹 서비스로부터 수신될 수 있고, 또는 네트워크 모니터(130)가 사용된 이전 세션들로부터 구성될 수 있다. 비디오 서비스는 이 주소들로부터 또는 이 주소로의 모든 트래픽을 인터셉트할 수 있다.
- 심층 패킷 검사(deep packet inspection), 예컨대 미리 정의된 세션 설정 식별자와 일치하는 정보에 대한 모든 패킷들(헤더 + 콘텐츠)을 스캐닝하는 것.
네트워크 모니터(130)는 또한 명시적 세션 검출을 이용해서 새로운 세션들을 검출할 수 있다. 이 모드(mode)에서, 콘텐츠 클라이언트, 예컨대 제1 콘텐츠 클라이언트(112)는 게이트웨이(120)를 통해서 새로운 세션 셋업 요청을 전송한다. 예를 들어, 콘텐츠 클라이언트는 게이트웨이(120)에 새로운 요청을 명시적으로 전송하는데, 게이트웨이(120)는 이후 클라이언트를 대신하여 이 메시지를 포워딩한다. 콘텐츠 서버(150)로부터의 메시지는 게이트웨이(120)로 보내질 것이고, 게이트웨이(120)는 콘텐츠 클라이언트로 이 메시지를 포워딩할 것이다.
대역폭 요구사항을 결정하는 것은 여러 방법으로 수행될 수 있다. 예를 들어, 네트워크 모니터(130)가 새로운 세션 요청을 검출한 경우에, 네트워크 모니터(130) 또는 권고기(140)는 세션 요청 (또는 응답)에서 세션 디스크립션을 분석한다. 세션 디스크립션은 세션 디스크립션 프로토콜(RFC 4566)과 같은 메시지 포맷으로 저장된다. SDP 메시지는 셋업되고 있는 세션, 예컨대 멀티미디어 세션에 대한 메타-정보: 세션의 디스크립션, RTP 데이터를 전송하기 위한 전송 프로토콜; 네트워크 어드레싱(adressing); 사용될 수 있는 오디오 및 비디오 포맷; 대역폭 요구사항 등을 포함한다. 네트워크 모니터(130) 또는 권고기(140)는 세션을 위한 대역폭 요구사항을 나타내는 파라미터들을 검출하기 위해서 세션 디스크립션 메시지를 파싱(parse)한다. 세션 디스크립션 메시지는 예컨대 다음을 포함할 수 있을 것이다:
- 세션을 위한 대역폭 요구사항;
- 대안적인 대역폭 요구사항을 포함한 세션을 위한 다양한 대안들(예를 들어, 비디오는 두 개의 비디오 포맷으로 제안됨)
- 레이어 당 대역폭 요구사항을 가진 레이어 정보. 일 예가 기본 레이어 및 하나 이상의 향상 레이어를 가진 스케일러블 비디오 코딩(SVC) 세션일 것이다.
이하에서, 권고의 예를 제공한다. 결정된 대역폭 요구사항을 기초로 하여, 권고기(140)는 어떤 세션 대안들이 가능한지 결정한다. 다음의 첫 번째 예를 고려하면:
액세스 링크 용량(총 대역폭) = 6 Mbit/s
현재 대역폭 사용(사용된 대역폭) = 3 Mbit/s
차이 6-3 = 3 Mbit/s와 같이 이용가능한 대역폭이 결정된다.
콘텐츠 서버(150)로부터의 제안은 두 개의 대안들, 예컨대 두 개의 미디어 디스크립션들을 포함한다:
- 4 Mbit/s를 요하는 고화질 비디오 스트림
- 2 Mbit/s를 요하는 표준화질 비디오 스트림
Mbit/s는 초당 메가비트(Megabit)를 나타낸다.
고화질 세션은 요구 대역폭(4 Mbit/s)이 이용가능한 대역폭(2 Mbit/s) 보다 크기 때문에 네트워크 문제를 초래할 것이라는 것을 권고기(140)가 결정하고, 네트워크 모니터(130)는 표준화질 세션을 위한 대역폭 권고를 콘텐츠 클라이언트로 보내지는 세션 디스크립션에 추가한다. 대역폭 권고는 권고된 대역폭이 3 Mbit/s라는 것을 나타내는 세션 디스크립션에 정보를 추가함으로써 표현될 수 있다. 대역폭 권고는 표준화질 비디오 스트림의 표시를 나타내는 세션 디스크립션에 정보를 추가함으로써 표현될 수 있다.
0이라는 대역폭 권고는 네트워크가 너무 신뢰할 수 없다거나 임의의 유의미한 콘텐츠 전송을 위해서 너무 낮은 이용가능한 대역폭을 가진다는 권고를 신호로 보낼 수 있다.
다음의 두 번째 예를 고려하면:
액세스 링크 용량 = 6 Mbit/s
현재 대역폭 이용 = 3 Mbit/s
차이 6-3 = 3 Mbit/s와 같이 이용가능한 대역폭이 결정된다.
콘텐츠 서버로부터의 세션 제안은 다음의 파라미터들을 가진 스케일러블 비디오 코딩 세션을 포함한다:
- 기본 레이어는 1 Mbit/s를 요한다
- 제1 향상 레이어는 2 Mbit/s를 요한다
- 제2 향상 레이어는 추가적인 2 Mbit/s를 요한다
현재 네트워크 상태가 기본 레이어 및 제1 향상 레이어에 대한 대역폭 권고를 추가한다고 주어지면, 권고기(140)는 기본 레이어 및 제1 향상 레이어가 전송될 수 있다고 결정한다. 예를 들어, 권고기(140)는 '총 2 개의 레이어들, 즉 하나의 베이스 레이어 및 하나의 향상 레이어'를 나타내는 정보를 추가한다. 예를 들어, 권고기(140)는 제1 향상 레이어를 나타내는 정보를 추가하고, 콘텐츠 클라이언트는 기본 레이어가 필요할 것이라는 것을 추론한다.
이하에서, 세션 디스크립션 프로토콜(Session Description Protocol)을 이용한 대역폭 권고의 예가 주어진다.
서버가 두 개의 변형들, 즉 32 kbit/s의 비트 레이트를 가진 오디오 스트림과 64 kbit/s의 비트 레이트를 가진 오디오 스트림으로 오디오를 제공하는 스트리밍 오디오 세션을 고려한다. 현재 이용가능한 액세스 링크 대역폭은 40 kbit/s이다. 콘텐츠 서버(150)는 도 3a에서 도시된 SDP 세션 디스크립션을 제1 콘텐츠 클라이언트(112)로 전송한다. 제1 콘텐츠 클라이언트(112)로 가는 도중에 세션 디스크립션은 게이트웨이(120)에 도달해서 게이트웨이(120)에서 인터셉트된다.
세션 디스크립션에서 사용된 필드(field)들은 RFC 4566에서 설명된다. 특히, '='를 가지고 표시된 필드들은 섹션 5(Section 5)에서 설명된다. 커넥션 정보는 'c='를 가지고 시작하는 라인(line)에서 제공된다.
'm='을 가지고 시작하는 라인은 새로운 미디어 디스크립션을 시작한다. 도 3a에서 도시된 세션 디스크립션은 두 개의 미디어 디스크립션들을 가지고, 310 및 320으로 표시된다. 'b='를 가지고 시작하는 라인들은 대역폭 정보 라인들이다. 각각의 도시된 미디어 디스크립션은 대역폭 정보 라인을 가진다. 권고기(140)는 대역폭 정보 라인들로부터 미디어 디스크립션의 요구 대역폭을 결정할 수 있다.
이 메시지는 권고기(140)에 의해서 파싱되고, 권고기(140)는 b=AS:32 및 b=AS:64 속성에 의해서 주어진 대역폭 요구사항 및 두 개의 오디오 스트림들을 식별한다.
일 예로서, 액세스 링크에서 이용가능한 대역폭이 40 kbit/s로 제한된다고 가정하면, 권고기(140)는 제1 오디오 스트림을 추천할 것이다. 이러한 추천은 다음의 세션 속성에 의해서 주어질 수 있다:
a=recomsessionbw:32
이러한 속성은 피마킹 세션 디스크립션을 획득하기 위하여 SDP 디스크립션에 추가되고, 이것은 이후 콘텐츠 클라이언트로 포워딩된다. 피마킹 세션 디스크립션은 도 3b에서 도시된다. 추가된 라인을 제외하고, 피마킹 세션 디스크립션은 콘텐츠 서버(150)로부터 게이트웨이(120)에서 수신된 세션 디스크립션과 동일하다. 추가된 라인은 참조 번호 325를 가지고 표시된다.
제1 콘텐츠 클라이언트(112)는 마킹된 SDP 파일을 파싱하고, 제공된 대역폭 권고(32 kbit/s)를 검출한다. 이 정보를 기초로 하여, 제1 콘텐츠 클라이언트(112)는 미디어 디스크립션(310)을 이용하는 것을 결정할 수 있다. 제1 콘텐츠 클라이언트(112)는 또한 디폴트(default)로 표시된 미디어 디스크립션(310)을 이용하도록 구성될 수 있다. 상술한 바와 같이 대역폭 권고 번호를 가지고 미디어 디스크립션을 나타내는 것은 복수의 미디어 디스크립션들이 이용가능한 대역폭 아래의 대역폭 요구사항을 가질 때 특히 효율적이다.
권고된 대역폭 번호를 제공하는 대신, 권고기(140)는 또한 RTP 패이로드(payload) 타입 번호에 의해서 대역폭 제약을 이행하는 미디어 스트림을 식별할 수 있다; 도 3b에서 라인 325는 다음에 의해서 교체될 수 있다:
a=recomsessionid:96
제1 콘텐츠 클라이언트(112)는 이 마킹된 SDP 디스크립션을 파싱해서 권고된 미디어 스트림(제1 오디오 스트림)을 위한 식별자를 알게 된다. 예를 들어, 미디어 디스크립션의 참조 번호를 참조해서 특정 미디어 디스크립션을 식별하는 것은 하나의 또는 여러 개의 미디어 디스크립션이 선정된 경우에 특히 효율적이다. 예를 들어, 복수의 미디어 디스크립션들이 이용가능한 대역폭 아래의 대역폭 요구사항을 가지되 하나가 다른 것보다 더 높은 품질로 이루어진다면, 이는 참조에 의해 식별될 수 있다.
권고기는 또한 세션 디스크립션으로부터 마킹되지 않은(unmarked) 미디어 디스크립션을 제거할 수 있다. 예를 들어, 미디어 디스크립션(320)은 세션 디스크립션으로부터 제거될 수 있을 것이다.
만일 액세스 링크에서 이용가능한 대역폭이 80 kbit/s로 제한된다면, 권고기(140)는, 예컨대 라인 a=recomsessionbw:64를 가지고 제2 오디오 스트림을 추천할 수 있다. 제2 오디오 스트림(320)을 마킹하는 것은 또한, 마킹된 스트림을 미디어 디스크립션의 꼭대기로 이동시킴으로써 수행될 수 있는데, 이 경우에는 세션 디스크립션에서 310과 320의 순서를 되돌림(reverting)으로써 수행될 수 있다.
이것들은 권고가 SDP 디스크립션에서 어떻게 신호로 보내질지(signalled)에 대한 단순한 예시적 구현들이고, SDP 디스크립션에서 대역폭 권고를 신호로 보내기 위한 유일한 방법들로서 여겨지지는 않아야 한다.
추가적 실시 예에서, 에지 라우터(154)는 본 발명의 목적을 위해서 게이트웨이의 역할을 하는 것으로 추정할 수 있다. 에지 라우터(154)는 두 개의 네트워크들을 서로 연결하고, 하나의 네트워크와 다른 네트워크 간의 트래픽을 라우팅(routing)한다. 에지 라우터(154)는 네트워크 모니터(130) 및/또는 권고기(140)를 포함할 수 있다.
본 발명은 또한 게이트웨이 없이 이용될 수 있다는 점이 주목된다. 예를 들어, 콘텐츠 클라이언트 및 콘텐츠 서버를 포함하는 콘텐츠 배포 시스템에서, 콘텐츠 클라이언트 및 콘텐츠 서버는 네트워크를 통해서 연결되고, 콘텐츠 서버는 하나 이상의 미디어 디스크립션을 포함하는 세션 디스크립션을 콘텐츠 클라이언트로 보내도록 구성되고, 미디어 디스크립션 각각은 콘텐츠 클라이언트가 네트워크를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하는 커넥션 정보를 포함하고, 이 시스템은 추가적 콘텐츠 아이템을 수신하기 위하여 이용가능한 제1 및 제2 네트워크에서 이용가능한 대역폭의 양을 추정하기 위한 대역폭 추정기를 포함하고, 시스템은 피마킹 세션 디스크립션을 획득하기 위해 세션 디스크립션에서의 하나 이상의 복수의 미디어 디스크립션을 이용가능한 대역폭의 양에 의존하여 마킹하도록 구성된 권고기를 포함하고, 권고기는 피마킹 세션 디스크립션을 콘텐츠 클라이언트로 보내도록 구성된다. 이 시스템은 게이트웨이를 포함하는 콘텐츠 배포 시스템의 적절한 특징들과 결합될 수 있다.
도 4는 흐름도를 이용하여 본 발명에 따른 방법(400)을 도시한다. 참조 번호 445로 표시된 흐름도(400)의 일부는 게이트웨이 및/또는 권고기, 예컨대 게이트웨이(120) 및 권고기(140)에서 수행될 수 있다. 흐름도 엘리먼트(410)는 제1 네트워크와 제2 네트워크 사이에서 게이트웨이를 통해서 지나가는 네트워크 트래픽을 모니터링하는 것을 도시한다. 흐름도 엘리먼트(420)는 복수의 미디어 디스크립션들을 포함하는 세션 디스크립션을 수신하는 것을 도시하고, 복수의 미디어 디스크립션들 각각은 콘텐츠 클라이언트가 제1 및 제2 네트워크를 통해서 및 게이트웨이를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하는 커넥션 정보를 포함한다. 흐름도 엘리먼트(430)는 피마킹 세션 디스크립션을 획득하기 위해 세션 디스크립션에서의 하나 이상의 복수의 미디어 디스크립션들을 모니터링된 네트워크 트래픽에 의존하여 마킹하는 것을 도시한다. 흐름도 엘리먼트(440)는 피마킹 세션 디스크립션을 콘텐츠 클라이언트로 보내는 것을 도시한다. 흐름도 엘리먼트(450)는 제1 및 제2 네트워크를 통해서 및 게이트웨이를 통해서 피마킹 미디어 디스크립션에 대응하는 콘텐츠 아이템을 수신하는 것을 도시한다. 피마킹 미디어 디스크립션에 대응하는 콘텐츠 아이템을 수신하는 것은 콘텐츠 클라이언트, 예컨대 제1 콘텐츠 클라이언트(112)에서 수행될 수 있고, 피마킹 미디어 디스크립션 내의 정보에 의해서 가능하게 된다.
흐름도 엘리먼트(420)에서 수신된 세션 디스크립션은 또한 하나의 미디어 디스크립션을 포함할 수 있다. 이 경우에 권고기는 단일한 미디어 디스크립션을 이용해서 찬성 또는 반대를 권고할 수 있다.
당업자에게 명백할 바와 같이, 본 발명을 실행하기 위한 많은 상이한 방법들이 가능하다. 예를 들어, 단계들의 순서는 변할 수 있고, 일부 단계들은 병렬로 수행될 수 있다. 게다가, 단계들 사이에 다른 방법 단계들이 삽입될 수 있다. 삽입된 단계들은 본 명세서에서 설명된 바와 같은 방법의 개선을 나타낼 수도 있고, 혹은 본 방법과 무관할 수도 있다. 예를 들어, 네트워크 트래픽을 모니터링하는 것은 다른 방법 단계들 중의 임의의 것과 병렬로 수행될 수 있다. 게다가, 주어진 단계는 다음 단계가 시작되기 전에 완전히 종료되지 않았을 수도 있다.
본 발명에 따른 방법은, 프로세서 시스템이 방법(400)을 수행하도록 하는 명령어를 포함하는 소프트웨어를 이용하여 수행될 수 있다. 소프트웨어는 게이트웨이 장치에 의해서 취해지는 단계들만을 포함하거나 콘텐츠 클라이언트에 의해서 취해지는 단계들만을 포함할 수 있다. 소프트웨어는 하드 디스크, 플로피, 메모리 등과 같은 적절한 저장 매체에 저장될 수 있다. 소프트웨어는 데이터 네트워크, 예컨대 인터넷을 이용해서 유선 또는 무선을 따라 신호로서 보내질 수 있다. 소프트웨어는 서버상에서 원격 이용을 위해서 및/또는 다운로드를 위해서 이용가능하게 만들어질 수 있다.
본 발명은 또한 본 발명을 실행하도록 적용된 컴퓨터 프로그램, 특히 캐리어(carrier)상에서의 또는 캐리어 내에서의 컴퓨터 프로그램으로 확장된다는 점이 이해될 것이다. 프로그램은 소스 코드, 목적 코드, 코드 중간 소스, 및 일부 컴파일된 형태와 같은 목적 코드의 형태로 또는 본 발명에 따른 방법의 구현에 이용하기 적합한 임의의 다른 형태로 존재할 수 있다. 이러한 프로그램은 많은 상이한 구조적 설계를 가질 수 있다는 것이 이해될 것이다. 예를 들어, 본 발명에 따른 방법 또는 시스템의 기능을 구현하는 프로그램 코드는 하나 이상의 서브루틴(subroutine)으로 세분화될 수 있다. 이 서브루틴들 사이에서 기능을 배포하기 위한 많은 상이한 방법들은 당업자에게 명백할 것이다. 서브루틴들은 독립형(self-contained) 프로그램을 형성하기 위하여 하나의 실행가능한 파일에 함께 저장될 수 있다. 이러한 실행가능한 파일은 컴퓨터 실행가능 명령어들, 예컨대 프로세서 명령어들 및/또는 인터프리터 명령어들(예컨대, 자바 인터프리터 명령어들(Java interpreter instructions))을 포함할 수 있다. 이와 달리, 하나 이상의 또는 모든 서브루틴들은 적어도 하나의 외부 라이브러리 파일에 저장될 수 있고, 정적으로 또는 동적으로, 예컨대 런-타임(run-time)에, 메인(main) 프로그램과 링크(link)될 수 있다. 메인 프로그램은 적어도 하나의 서브루틴에 대한 적어도 하나의 호출을 포함한다. 또한, 서브루틴들은 서로에 대한 함수 호출을 포함할 수 있다. 컴퓨터 프로그램 제품과 관련된 실시 예는 제시된 방법들 중의 적어도 하나의 처리 단계들 각각에 대응하는 컴퓨터 실행가능 명령어들을 포함한다. 이 명령어들은 서브루틴들로 세분화될 수 있고, 및/또는 정적으로 또는 동적으로 링크될 수 있는 하나 이상의 파일에 저장될 수 있다. 컴퓨터 프로그램 제품과 관련된 다른 실시 예는 제시된 제품 및/또는 시스템 중 적어도 하나의 수단들 각각에 대응하는 컴퓨터 실행가능 명령어를 포함한다. 이 명령어들은 서브루틴들로 세분화될 수 있고, 및/또는 정적으로 또는 동적으로 링크될 수 있는 하나 이상의 파일에 저장될 수 있다.
컴퓨터 프로그램의 캐리어는 프로그램을 운반할 수 있는 임의의 개체(entity) 또는 장치일 수 있다. 예를 들어, 캐리어는 ROM, 예컨대 CD ROM 또는 반도체 ROM, 또는 자기 기록 매체, 예컨대 플로피 디스크 또는 하드 디스크와 같은 저장 매체를 포함할 수 있다. 게다가, 캐리어는, 전기 또는 광 케이블을 통해서 또는 무선 또는 다른 수단에 의해서 전송될 수 있는, 전기 또는 광 신호와 같은 전송가능한(transmissible) 캐리어일 수 있다. 프로그램이 이러한 신호에 포함되는 경우에, 캐리어는 이러한 케이블 또는 다른 장치 또는 수단에 의해서 구성될 수 있다. 이와 달리, 캐리어는 프로그램이 내장된 집적 회로일 수 있고, 집적 회로는 관련 방법을 수행하도록 또는 관련 방법의 수행에 사용하도록 적용된다.
상술한 실시 예들은 본 발명을 제한하는 것이 아니라 설명하는 것이고, 당업자들은 첨부된 청구항의 범위로부터 벗어나지 않으면서 많은 대안적인 실시 예들을 설계할 수 있을 것이라는 점이 주목되어야 한다. 청구항들에서, 괄호들 사이에 배치된 임의의 참조 부호들은 본 발명을 제한하는 것으로 이해되지는 않아야 할 것이다. 동사 "포함하다(comprise)"의 사용 및 그 활용은 청구항에서 언급되지 않은 다른 구성요소들 또는 단계들의 존재를 배제하지 않는다. 구성요소들의 단수 표현은 그러한 구성요소들이 복수로 존재할 수 있음을 배제하지 않는다. 본 발명은 여러 가지 구별되는 구성요소들을 포함하는 하드웨어에 의해서 및 적절하게 프로그램된 컴퓨터에 의해서 구현될 수 있다. 다수의 수단들을 열거하는 장치 청구항에서, 이들 수단들 중 몇몇은 동일한 하나의 하드웨어 아이템에 의해 구현될 수 있다. 특정 수단들이 서로 상이한 종속항들에서 기술된다는 단순한 사실이 이러한 수단들의 조합이 유리하게 사용될 수 없다는 것을 나타내는 것은 아니다.
100: 콘텐츠 배포 시스템
112: 제1 콘텐츠 클라이언트
114: 제2 콘텐츠 클라이언트
116: 제1 네트워크 커넥션
120: 게이트웨이
130: 네트워크 모니터
135: 갱신기
140: 권고기
145: 권고기 커넥션
152: 제2 네트워크 커넥션
154: 에지 라우터
155: 서버 커넥션
150: 콘텐츠 서버
210: 제1 요청을 보냄
220: 제1 세션 디스크립션을 보냄
230: 제1 피마킹 세션 디스크립션을 보냄
240: 제2 요청을 보냄
250: 제2 세션 디스크립션을 보냄
260: 갱신된 세션 디스크립션을 보냄
270: 제2 피마킹 세션 디스크립션을 보냄
300: 세션 디스크립션
310: 제1 미디어 디스크립션
320: 제2 미디어 디스크립션
325: 대역폭 권고
350: 피마킹 세션 디스크립션
400: 콘텐츠를 배포하기 위한 방법
410: 제1 네트워크와 제2 네트워크 사이의 게이트웨이를 통해서 지나가는 네트워크 트래픽을 모니터링함
420: 복수의 미디어 디스크립션들을 포함하는 세션 디스크립션을 수신하고, 복수의 미디어 디스크립션들 각각은 콘텐츠 클라이언트가 제1 및 제2 네트워크를 통해서 및 게이트웨이를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하는 커넥션 정보를 포함함
430: 피마킹 세션 디스크립션을 획득하기 위해 세션 디스크립션에서의 하나 이상의 복수의 미디어 디스크립션을 모니터링된 네트워크 트래픽에 의존하여 마킹함
440: 피마킹 세션 디스크립션을 콘텐츠 클라이언트로 보냄
450: 피마킹 미디어 디스크립션에 대응하는 콘텐츠 아이템을 제1 및 제2 네트워크를 통해서 및 게이트웨이를 통해서 수신함

Claims (17)

  1. 적어도 하나의 콘텐츠 클라이언트(112, 114), 게이트웨이(120), 및 콘텐츠 서버(150)를 포함하는 콘텐츠 배포 시스템(100)으로서,
    - 콘텐츠 클라이언트 및 콘텐츠 서버는 네트워크를 통해서 연결되고,
    - 상기 네트워크는 제1 네트워크(116) 및 제2 네트워크(152)를 포함하고,
    - 적어도 하나의 콘텐츠 클라이언트와 게이트웨이(120)는 제1 네트워크를 통해서 연결되고, 게이트웨이와 콘텐츠 서버는 제2 네트워크를 통해서 연결되고,
    - 콘텐츠 서버는 콘텐츠 아이템과 관련된 적어도 하나의 미디어 디스크립션(310, 320)을 포함하는 세션 디스크립션(300)을 콘텐츠 클라이언트로 보내도록 구성되고, 적어도 하나의 미디어 디스크립션 각각은 콘텐츠 클라이언트가 네트워크를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하는 커넥션 정보를 포함하고,
    - 커넥션 정보 각각은 콘텐츠 클라이언트가 제1 및 제2 네트워크를 통해서 및 게이트웨이를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하고,
    - 상기 게이트웨이는 제1 네트워크 및 제2 네트워크 사이에서 게이트웨이를 통해서 지나가는 네트워크 트래픽을 모니터링하기 위한 네트워크 모니터(130)를 포함하고,
    - 상기 시스템은 피마킹(marked) 세션 디스크립션(350)을 획득하기 위해서 세션 디스크립션의 미디어 디스크립션 중의 하나 이상을 네트워크 모니터 및 상기 커넥션 정보를 기초로 하여 마킹(marking)하도록 구성된 권고기(recommender)(140)를 포함하고, 권고기는 피마킹 세션 디스크립션을 권고(recommendation)로서 콘텐츠 클라이언트에 보내도록 구성되는 것을 특징으로 하는 콘텐츠 배포 시스템.
  2. 제 1 항에 있어서,
    네트워크 모니터는 콘텐츠 아이템을 수신하기 위해 네트워크에서 이용가능한 대역폭의 양을 추정하기 위한 대역폭 추정기(bandwidth estimator)를 포함하는 것을 특징으로 하는 콘텐츠 배포 시스템.
  3. 제 2 항에 있어서,
    - 대역폭 추정기는 이용가능한 대역폭의 추정량에서의 변화를 결정하도록 구성되고,
    - 권고기는 이용가능한 대역폭의 변화된 추정량을 기초로 하여 갱신된 피마킹 세션 디스크립션을 콘텐츠 클라이언트로 보내도록 구성된 갱신기(updater)(135)를 포함하는 것을 특징으로 하는 콘텐츠 배포 시스템.
  4. 제 2 항에 있어서,
    - 제1 네트워크와 제2 네트워크 사이에서 게이트웨이를 통해서 지나가는 네트워크 트래픽은 최대 대역폭으로 제한되고,
    - 대역폭 추정기는 제1 네트워크와 제2 네트워크 사이에서 게이트웨이를 통해서 지나가는 네트워크 트래픽의 현재 대역폭을 결정하기 위한 네트워크 대역폭 결정기(determinator)를 포함하고,
    - 대역폭 추정기는 최대 대역폭으로부터 현재 대역폭을 뺌으로써 이용가능한 대역폭의 양을 추정하도록 구성되는 것을 특징으로 하는 콘텐츠 배포 시스템.
  5. 제 1 항에 있어서,
    콘텐츠 배포 시스템은 제2 네트워크에서 라우터(154)를 포함하고, 게이트웨이는 라우터를 통해서 콘텐츠 서버에 연결되고, 게이트웨이와 라우터 사이의 네트워크 커넥션은 콘텐츠 클라이언트와 게이트웨이 사이의 네트워크 커넥션의 네트워크 용량보다 더 낮은 네트워크 용량을 가지는 것을 특징으로 하는 콘텐츠 배포 시스템.
  6. 제 1 항에 있어서,
    게이트웨이가 권고기를 포함하는 것을 특징으로 하는 콘텐츠 배포 시스템.
  7. 제 1 항에 있어서,
    적어도 하나의 추가적 콘텐츠 클라이언트가 제1 네트워크를 통해서 게이트웨이에 연결되는 것을 특징으로 하는 콘텐츠 배포 시스템.
  8. 제 1 항에 있어서,
    네트워크 모니터는 제1 및 제2 네트워크 사이에서 게이트웨이를 통해서 지나가는 누적된 네트워크 트래픽을 측정하도록 구성되는 것을 특징으로 하는 콘텐츠 배포 시스템.
  9. 제 1 항에 있어서,
    세션 디스크립션은 복수의 미디어 디스크립션들을 포함하는 것을 특징으로 하는 콘텐츠 배포 시스템.
  10. 제 9 항에 있어서,
    복수의 미디어 디스크립션들은 각각의 복수의 대역폭 요구사항을 가지고,
    권고기는 추정된 이용가능한 대역폭 아래에서 대역폭 요구사항을 가지는 미디어 디스크립션을 마킹하도록 구성되는 것을 특징으로 하는 콘텐츠 배포 시스템.
  11. 제 9 항에 있어서,
    콘텐츠 클라이언트는, 디스플레이상에서 복수의 미디어 디스크립션을 디스플레이하고 피마킹 미디어 디스크립션을 하일라이팅(high lighting)하기 위한 사용자 인터페이스를 가지는 것을 특징으로 하는 콘텐츠 배포 시스템.
  12. 제 1 항에 있어서,
    권고기는 피마킹 세션 디스크립션을 획득하기 위해서 세션 디스크립션으로부터 하나 이상의 복수의 미디어 디스크립션을 네트워크 모니터에 의존하여 제거하도록 구성되는 것을 특징으로 하는 콘텐츠 배포 시스템.
  13. 제 1 항에 있어서,
    콘텐츠 클라이언트는 셋탑박스를 포함하는 것을 특징으로 하는 콘텐츠 배포 시스템.
  14. 콘텐츠 클라이언트(112, 114), 게이트웨이, 및 콘텐츠 서버(150)를 포함하는 콘텐츠 배포 시스템(100)에서 사용하기 위한 게이트웨이(120)로서,
    - 게이트웨이는 제1 네트워크(116)를 통해서 콘텐츠 클라이언트에 연결될 수 있고, 게이트웨이는 제2 네트워크(152)를 통해서 콘텐츠 서버에 연결될 수 있고,
    - 게이트웨이는 제1 네트워크와 제2 네트워크 사이에서 게이트웨이를 통하여 지나가는 네트워크 트래픽을 모니터링하기 위한 네트워크 모니터(130)를 포함하고,
    - 게이트웨이는 콘텐츠 아이템과 관련된 적어도 하나의 미디어 디스크립션(310, 320)을 포함하는 세션 디스크립션(130)을 콘텐츠 서버로부터 수신하기 위한 수신기(receiver)를 포함하고, 적어도 하나의 미디어 디스크립션 각각은 콘텐츠 클라이언트가 제1 및 제2 네트워크를 통해서 및 게이트웨이를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하는 커넥션 정보를 포함하고,
    - 게이트웨이는 피마킹 세션 디스크립션(350)을 획득하기 위해서 세션 디스크립션에서의 상기 적어도 하나의 미디어 디스크립션 중의 하나 이상을 네트워크 모니터 및 상기 커넥션 정보를 기초로 하여 마킹하도록 구성된 권고기(140)를 포함하고, 권고기는 피마킹 세션 디스크립션을 권고로서 콘텐츠 클라이언트에 보내도록 구성되는 것을 특징으로 하는 게이트웨이.
  15. 적어도 하나의 콘텐츠 클라이언트(112, 114), 게이트웨이(120), 및 콘텐츠 서버(150)를 포함하는 콘텐츠 배포 시스템(100)에서 콘텐츠를 배포하기 위한 방법(400)으로서,
    - 게이트웨이(120)의 네트워크 모니터(130)가 네트워크를 통해서 지나가는 네트워크 트래픽을 모니터링하는 단계(410),
    - 게이트웨이(120)의 수신기가 콘텐츠 아이템과 관련된 적어도 하나의 미디어 디스크립션을 포함하는 세션 디스크립션을 수신하는 단계(420)로서, 적어도 하나의 미디어 디스크립션 각각은 콘텐츠 클라이언트가 네트워크를 통해서 콘텐츠 아이템을 수신하는 것을 가능하게 하는 커넥션 정보를 포함하는 단계,
    - 시스템(100)의 권고기(140)가 피마킹 세션 디스크립션을 획득하기 위해서 세션 디스크립션에서의 상기 적어도 하나의 미디어 디스크립션 중의 하나 이상을 모니터링된 네트워크 트래픽 및 상기 커넥션 정보를 기초로 하여 마킹하는 단계(430), 및
    - 상기 권고기(140)가 피마킹 세션 디스크립션을 권고로서 콘텐츠 클라이언트에 보내는 단계(440)를 포함하는 것을 특징으로 하는 콘텐츠를 배포하기 위한 방법.
  16. 컴퓨터 프로그램이 컴퓨터상에서 실행될 때 청구항 제 15 항의 모든 단계들을 수행하도록 적용된 컴퓨터 프로그램 코드를 기록한 컴퓨터 판독 가능 매체.
  17. 삭제
KR1020127017359A 2009-12-21 2010-12-20 콘텐츠 배포 시스템 KR101500818B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09180200.9 2009-12-21
EP09180200 2009-12-21
PCT/EP2010/070242 WO2011076737A1 (en) 2009-12-21 2010-12-20 Content distribution system

Publications (2)

Publication Number Publication Date
KR20120091429A KR20120091429A (ko) 2012-08-17
KR101500818B1 true KR101500818B1 (ko) 2015-03-09

Family

ID=42167667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127017359A KR101500818B1 (ko) 2009-12-21 2010-12-20 콘텐츠 배포 시스템

Country Status (5)

Country Link
US (2) US20120259950A1 (ko)
EP (3) EP2517434B1 (ko)
JP (1) JP5658762B2 (ko)
KR (1) KR101500818B1 (ko)
WO (1) WO2011076737A1 (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331231B2 (en) 2008-09-09 2012-12-11 Centurylink Intellectual Property Llc System and method for monitoring bursting traffic
JP5383821B2 (ja) * 2008-12-23 2014-01-08 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 移動体環境におけるユーザ装置へのコンテンツアイテムの配布
US10159825B2 (en) 2009-09-17 2018-12-25 Zipline Medical, Inc. Rapid closing surgical closure device
CN102045131B (zh) * 2009-10-22 2015-06-10 中兴通讯股份有限公司 一种业务联动控制系统和方法
AU2011267977B2 (en) 2010-06-14 2015-02-05 Zipline Medical, Inc. Methods and apparatus for inhibiting scar formation
CN101938634B (zh) * 2010-09-16 2013-05-08 中兴通讯股份有限公司 Iptv系统中顶盒带宽控制方法及装置
WO2012040385A1 (en) * 2010-09-24 2012-03-29 Amazon Technologies, Inc. Rights and capability-inclusive content selection and delivery
US10637891B2 (en) * 2010-11-02 2020-04-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for media description delivery
US8832039B1 (en) 2011-06-30 2014-09-09 Amazon Technologies, Inc. Methods and apparatus for data restore and recovery from a remote data store
US8806588B2 (en) 2011-06-30 2014-08-12 Amazon Technologies, Inc. Storage gateway activation process
US9294564B2 (en) 2011-06-30 2016-03-22 Amazon Technologies, Inc. Shadowing storage gateway
US9258579B1 (en) * 2011-06-30 2016-02-09 Sprint Communications Company L.P. Temporal shift of object resolution and optimization
US10754813B1 (en) 2011-06-30 2020-08-25 Amazon Technologies, Inc. Methods and apparatus for block storage I/O operations in a storage gateway
CN103636179B (zh) * 2011-07-07 2017-07-07 瑞典爱立信有限公司 用于多媒体通信网络中的媒体流编组的方法和设备
US8793343B1 (en) 2011-08-18 2014-07-29 Amazon Technologies, Inc. Redundant storage gateways
EP2575302A1 (en) 2011-09-30 2013-04-03 British Telecommunications Public Limited Company Method of bandwidth management for content delivery and related aspects
US8789208B1 (en) 2011-10-04 2014-07-22 Amazon Technologies, Inc. Methods and apparatus for controlling snapshot exports
US10123801B2 (en) 2011-11-01 2018-11-13 Zipline Medical, Inc. Means to prevent wound dressings from adhering to closure device
US9561034B2 (en) 2011-11-01 2017-02-07 Zipline Medical, Inc. Surgical incision and closure apparatus
US10123800B2 (en) 2011-11-01 2018-11-13 Zipline Medical, Inc. Surgical incision and closure apparatus with integrated force distribution
US9635132B1 (en) 2011-12-15 2017-04-25 Amazon Technologies, Inc. Service and APIs for remote volume-based block storage
CN104205838B (zh) * 2012-03-22 2018-05-18 联发科技股份有限公司 可伸缩视频编码的方法以及装置
KR101448279B1 (ko) * 2012-05-14 2014-10-07 주식회사 케이티 펨토 기지국의 호 접속 제어 방법 및 이를 위한 펨토 기지국
US9276967B2 (en) * 2012-07-27 2016-03-01 Centurylink Intellectual Property Llc System and method for determining optimal bandwidth for streaming to a client device in an adjustable bit rate video system
EP2728827A1 (en) * 2012-10-31 2014-05-07 British Telecommunications public limited company Communications network using a tunnel to connect two network nodes
US9794130B2 (en) * 2012-12-13 2017-10-17 Coriant Operations, Inc. System, apparatus, procedure, and computer program product for planning and simulating an internet protocol network
US9319458B2 (en) * 2013-01-07 2016-04-19 Netflix, Inc. Site-based server selection
CA2908854A1 (en) * 2013-04-08 2014-10-16 Thomson Licensing Device and method for adapting a manifest sent by at least one server
KR102126026B1 (ko) * 2013-09-17 2020-07-08 삼성전자주식회사 통신 시스템에서 실시간 멀티미디어 컨텐트 추천 장치 및 방법
KR101883579B1 (ko) 2013-09-20 2018-07-30 코닌클리즈케 케이피엔 엔.브이. 미디어 스트림들 간의 타임라인 정보를 상관시키기 위한 시스템 및 방법
US10291503B2 (en) * 2013-09-26 2019-05-14 Taiwan Semiconductor Manufacturing Co., Ltd. File block placement in a distributed network
WO2015103556A1 (en) 2014-01-05 2015-07-09 Zipline Medical, Inc. Instrumented wound closure device
CN105099602A (zh) * 2014-04-25 2015-11-25 阿里巴巴集团控股有限公司 一种基于网速传输文件的方法及系统
US9825880B2 (en) * 2014-07-02 2017-11-21 Nec Corporation Method and system for controlling messages between communicating entities
CN106664462B (zh) 2014-08-25 2019-12-27 麦克赛尔株式会社 便携信息终端
US10367689B2 (en) * 2014-10-24 2019-07-30 Comscore, Inc. Monitoring internet usage on home networks of panelist users
GB201504403D0 (en) * 2015-03-16 2015-04-29 Microsoft Technology Licensing Llc Adapting encoded bandwidth
WO2016149229A1 (en) * 2015-03-16 2016-09-22 Microsoft Technology Licensing, Llc Adapting encoded bandwidth
CN106303611B (zh) * 2015-06-02 2020-09-08 中兴通讯股份有限公司 一种实现片源推送的方法及系统
GB2540571A (en) * 2015-07-21 2017-01-25 Univ Guangdong Technology Digital home network multimedia share system and share method thereof
US10958695B2 (en) 2016-06-21 2021-03-23 Google Llc Methods, systems, and media for recommending content based on network conditions
JP2018011169A (ja) * 2016-07-13 2018-01-18 株式会社リコー 通信装置、通信システム、通信方法およびプログラム
WO2018081795A1 (en) 2016-10-31 2018-05-03 Zipline Medical, Inc. Systems and methods for monitoring physical therapy of the knee and other joints
JP6466489B2 (ja) * 2017-02-17 2019-02-06 ソフトバンク株式会社 判定装置、判定方法、及びプログラム
CN110494844A (zh) * 2017-04-05 2019-11-22 住友电气工业株式会社 控制设备、传送方法和计算机程序
CN108491524A (zh) * 2018-03-27 2018-09-04 深圳创维-Rgb电子有限公司 视频推送方法、装置及计算机可读存储介质
GB2574074B (en) 2018-07-27 2020-05-20 Mclaren Applied Tech Ltd Time synchronisation
US11122099B2 (en) 2018-11-30 2021-09-14 Motorola Solutions, Inc. Device, system and method for providing audio summarization data from video
GB2588236B (en) 2019-10-18 2024-03-20 Mclaren Applied Ltd Gyroscope bias estimation
US11552872B2 (en) * 2020-11-23 2023-01-10 Verizon Patent And Licensing Inc. Systems and methods for automated remote network performance monitoring

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030016630A1 (en) * 2001-06-14 2003-01-23 Microsoft Corporation Method and system for providing adaptive bandwidth control for real-time communication

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3001A (en) * 1843-03-10 Method of coupling straps as a substitute for a buckle
US6941380B2 (en) * 2000-12-28 2005-09-06 Nortel Networks Limited Bandwidth allocation in ethernet networks
JP3726684B2 (ja) * 2001-01-11 2005-12-14 株式会社Kddi研究所 動画像データ転送における輻輳を回避する通信システム
US7593686B1 (en) 2002-01-29 2009-09-22 Sprint Spectrum L.P. Method and system for selecting transmission modes for streaming media content to a wireless handset access technology
JP2004343462A (ja) * 2003-05-16 2004-12-02 Hitachi Ltd ネットワーク計測制御システム
JP4780963B2 (ja) * 2005-01-07 2011-09-28 三菱電機株式会社 映像配信システム
CA2633778C (en) * 2006-01-05 2016-03-15 Anisse Taleb Media content management
EP2177010B1 (en) * 2006-12-13 2015-10-28 Quickplay Media Inc. Mobile media platform
US9009589B2 (en) * 2007-03-30 2015-04-14 Google Inc. Conversion of portable program modules for constrained displays
BRPI0821635A2 (pt) * 2007-12-21 2015-06-16 Sezmi Corp Métodos para transmitir, fornecer, receber, reparar, apresentar, capturar, combinar e extrair conteúdo de programação de áudio e visual, para selecionar conteúdo de programação de áudio e visual para capurar, para visualizar conteúdo capturado de programação de áudio e visual, para remover conteúdo, para visualizar conteúdo de propaganda e para extrair e inserir conteúdo.
JP2009223533A (ja) * 2008-03-14 2009-10-01 Nippon Telegr & Teleph Corp <Ntt> セッション制御装置、セッション制御方法およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030016630A1 (en) * 2001-06-14 2003-01-23 Microsoft Corporation Method and system for providing adaptive bandwidth control for real-time communication

Also Published As

Publication number Publication date
JP5658762B2 (ja) 2015-01-28
KR20120091429A (ko) 2012-08-17
US11146604B2 (en) 2021-10-12
EP2517434B1 (en) 2015-10-07
US20120259950A1 (en) 2012-10-11
JP2013515417A (ja) 2013-05-02
EP2993858B1 (en) 2017-07-26
EP2993858A1 (en) 2016-03-09
US20180248925A1 (en) 2018-08-30
WO2011076737A1 (en) 2011-06-30
EP2517434A1 (en) 2012-10-31
EP3264719B1 (en) 2019-04-10
EP3264719A1 (en) 2018-01-03

Similar Documents

Publication Publication Date Title
US11146604B2 (en) Content distribution system
US9854018B2 (en) System and method of media content streaming with a multiplexed representation
US10320869B2 (en) Network-capacity optimized adaptive HTTP streaming
US9628532B2 (en) HTTP adaptive streaming server with automatic rate shaping
US10333858B2 (en) Method for controlling bandwidth and corresponding device
US10848540B1 (en) Virtual resource locator
US9197677B2 (en) Multi-tiered scalable media streaming systems and methods
US8559460B2 (en) Dynamic bandwidth manager
CA2852204C (en) Apparatus and method for configuring control message in broadcasting system
KR20130058648A (ko) Mmt 미디어와 dash 미디어와의 연동 방법
KR20130058647A (ko) Mmt 패키지화 컨텐츠의하이브리드 전송 방법 및 컨텐츠 수신 방법
Thomas et al. Enhancing MPEG DASH performance via server and network assistance
KR20130108198A (ko) Mmt 패키지화된 svc 비디오 콘텐츠의 하이브리드 전송 방법 및 수신 방법
KR101863965B1 (ko) 적응적 멀티미디어 서비스를 제공하는 장치 및 방법
KR20140042719A (ko) 교차 계층 최적화를 사용한 fec 패리티 데이터의 적응적 전송 방법
KR101718127B1 (ko) 상황 인지 스트리밍 서비스를 위한 콘텐츠 패키징 시스템 및 스트리밍 방법
KR20190018142A (ko) Mmt 전송 패킷의 설정 방법 및 전송 방법
EP2408205A1 (en) A video server, video client and method of scalable encoding video files
KR101702426B1 (ko) 다시점 비디오 서비스의 시점변경 지연을 줄이기 위한 다중 http 스레드 기반의 비디오 전송 시스템 및 방법
CA2657444C (en) Multi-tiered scalable media streaming systems and methods
Kanellopoulos Next Steps in Multimedia Networking
Kleinrouweler Using DASH Assisting Network Elements for Optimizing Video Streaming Quality
KR100592876B1 (ko) 고화질 인터넷 방송 서비스 시스템의 사용자 정보 관리 방법

Legal Events

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

Payment date: 20180223

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200220

Year of fee payment: 6