KR101360690B1 - 컨텐트 통신을 위한 시스템 및 방법 - Google Patents

컨텐트 통신을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101360690B1
KR101360690B1 KR1020097014448A KR20097014448A KR101360690B1 KR 101360690 B1 KR101360690 B1 KR 101360690B1 KR 1020097014448 A KR1020097014448 A KR 1020097014448A KR 20097014448 A KR20097014448 A KR 20097014448A KR 101360690 B1 KR101360690 B1 KR 101360690B1
Authority
KR
South Korea
Prior art keywords
content
delay
request
schedule
time
Prior art date
Application number
KR1020097014448A
Other languages
English (en)
Other versions
KR20100014310A (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 KR20100014310A publication Critical patent/KR20100014310A/ko
Application granted granted Critical
Publication of KR101360690B1 publication Critical patent/KR101360690B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • 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/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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • 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/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/47208End-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 near-video-on-demand content
    • 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/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

멀티캐스트 VOD 시스템과 같은 시스템은 컨텐트에 대한 사용자 요구에 응답하여, 그리고 컨텐트 전달을 위한 사용자-지정된 수락가능한 레이턴시에 적응된 스케줄에 따라, 컨텐트를 통신하고, 예를 들면 컨텐트를 전달하거나 컨텐트를 수신한다. 스케줄은 사용자의 요구에 응답하여 컨텐트의 전달의 개시를 최소화하도록 변형될 수도 있다. 스케줄은 사용자에 의해 지정된 수락가능한 레이턴시 파라미터를 초과하지 않으면서도 후속 요구들이 컨텐트 스트림을 공유할 수 있도록 컨텐트의 후속 부분들의 전달을 가능한 한 늦게 지연시키도록 변형될 수도 있다.
Figure R1020097014448
멀티캐스트, VOD, 컨텐트, 스케줄, 지연, 사용자 요구

Description

컨텐트 통신을 위한 시스템 및 방법{SYSTEM AND METHOD FOR CONTENT COMMUNICATION}
본 발명은 일반적으로는 네트워크 통신들에 관한 것으로, 특히 네트워크를 통한 비디오 정보와 같은 컨텐트의 통신에 관한 것이다.
서버 대역폭은 비디오 온 디맨드(VOD) 시스템들과 같이 사용자 요구에 응답하여 컨텐트를 통신하는 대형 시스템들에서 주요한 병목으로 인식되었다. 각 클라이언트에게 채널을 전용시키는 것은 서버 대역폭을 급속히 소모해 버리고 스케일링불가능하다. 서버 대역폭을 보존하기 위해, 다수의 사용자들은 멀티캐스트를 이용하여 채널을 공유할 수 있다.
2가지 타입의 멀티캐스트, 즉 주기적 브로드캐스트 및 비주기적 멀티캐스트가 있다. 주기적인 브로드캐스트 환경에서, 서버는 서비스 요구들을 기다리지 않는다. 서버는 컨텐트를 주기적으로 브로드캐스팅한다. 비디오 컨텐트의 경우에, 주기적 브로드캐스트는 진실한 VOD를 보장하지 않는다. 주기적인 브로드캐스트들은, 임의의 클라이언트가 경험하는 최악의 서비스 레이턴시를 특정 한계 이내로 유지한다. 실제로, 대역폭 요구는 시스템으로의 가입자들의 수와 무관하다. 그러나, 주기적인 브로드캐스트의 이점은, 인기있는 비디오들과 같이 자주 요구되는 컨 텐트로 제한된다.
매우 인기있지는 않은 비디오들과 같이 자주 요구되지 않는 컨텐트에 대해, 비-주기적 멀티캐스트가 이용될 수 있다. 비-주기적 멀티캐스트 환경에서, 사용자들은 서버에 컨텐트 요구들을 수행하고, 서버는 이들을 일부 스케줄링 정책에 따라 서브한다. 패칭(patching)으로 지칭된 기술은 새로운 인커밍(incoming) 요구가, 진행중인 멀티캐스트에 참여할 수 있게 하고, 따라서 동일한 데이터 스트림을 활용한다. 비-주기적 멀티캐스트 접근법은 진실한 VOD 서비스를 제공할 수 있다. 그러나, 패칭 기술을 채용하는 것들을 비롯한 그러한 접근법들은 진실한 VOD 서비스를 제공하면서도 큰 데이터 버스트 영향을 가질 수 있다.
본 발명의 양태는 현재의 컨텐트 전달 시스템들이 바람직하지 않은 데이터 버스트 영향을 생성하는 것과 같은 문제있는 특성들을 가질 수 있다는 인식과 관련된다. 본 발명의 또 하나의 양태는 컨텐트에 대한 요구를 수신하는 단계; 컨텐트를 전달하기 위한 스케줄을 생성하는 단계; 스케줄이 요구의 지연 파라미터를 만족시킬지 여부를 판정하는 단계; 및 지연 파라미터가 만족되는 것으로 판정한 것에 응답하여 컨텐트의 일부의 전달을 지연시키도록 스케줄을 변형하는 단계를 포함할 수 있는 컨텐트를 통신하는 방법과 관련된다. 스케줄을 변형하는 단계는 대역폭이 이용가능한, 컨텐트를 전달하기 위한 스케줄의 제1 시간 인터벌을 검출하는 단계; 및 그 시간 인터벌 동안에 발생하도록 컨텐트의 일부의 전달을 지연시키기 위해 스케줄을 조정하는 단계를 더 포함할 수 있다. 요구는 클라이언트 디바이스로부터 수신되고 지연 파라미터는 클라이언트 디바이스의 사용자에 의해 확립되는 지연 한계를 포함할 수 있다. 스케줄은 전달을 위해 컨텐트의 일부의 전달이 스케줄링되는 제1 시간 인터벌을 포함하는 복수의 시간 인터벌들을 포함하고, 컨텐트는 복수의 정보 블록들을 포함하며, 일부는 복수의 정보 블록들 중 제1 부분을 포함하고, 스케줄을 변형하는 단계는 제1 인터벌 동안에 컨텐트의 일부를 전달하는데 추가적인 대역폭이 필요하다고 판정하는 단계; 추가적인 대역폭이 이용가능한 제2 시간 인터벌 동안에 발생하도록 제1 블록의 송신을 지연시키는 단계 - 제2 시간 인터벌은 제1 시간 인터벌에 후속하여 발생함 -; 및 제1 인터벌로부터 제2 인터벌까지의 지연으로부터 기인하는 송신에서의 지연이 지연 파라미터와 연관된 지연 한계를 초과하는지 여부를 판정하는 단계를 포함할 수 있다.
본 발명의 또 하나의 양태는 컨텐트에 대한 요구를 수신하는 단계; 및 컨텐트의 초기 부분에 대해 제1 지연 및 컨텐트의 후속 부분에 대해 제2 지연으로 컨텐트를 전달하기 위한 스케줄을 생성하는 단계를 포함하고, 스케줄을 생성하는 단계는 요구를 수신하는 것으로부터 컨텐트의 초기 부분의 전달까지의 시간을 최소화하도록 제1 지연을 선택하는 단계, 및 요구와 연관된 지연 파라미터를 만족시키며 후속 부분의 전달의 지연을 증가시키는 제2 지연을 선택하는 단계를 포함하는 컨텐트를 전달하는 방법과 관련된다.
본 발명의 또 하나의 양태는 컨텐트 제공자로부터 컨텐트를 요구하는 단계; 전달 지연 한계를 컨텐트 제공자에게 제공하는 단계; 및 컨텐트의 초기 부분의 전달을 시작하기 위한 제1 시간 및 컨텐트의 후속 부분의 전달을 시작하기 위한 제2 시간을 포함하는 스케줄에 따라 컨텐트를 수신하는 단계를 포함하고, 제1 시간은 요구를 수신하는 것으로부터 컨텐트의 초기 부분의 전달을 시작할 때까지의 지연을 최소화시키며, 제2 시간은 컨텐트의 후속 부분의 전달을 시작하기 위한 지연을 증가시키면서도 전달 지연 한계를 만족시키는 컨텐트를 수신하는 방법에 관련된다.
본 발명의 또 하나의 양태는 컨텐트에 대해 요구하는 디바이스로부터 요구를 수신하고 요구하는 디바이스로부터 지연 파라미터를 수신하기 위한 인터페이스; 및 인터페이스에 결합되고, 요구에 응답하여 스케줄에 따라 요구하는 디바이스에게 컨텐트를 전달하기 위한 스케줄러를 포함하고, 스케줄러는 컨텐트의 일부의 전달을 지연시키기 위해 요구하는 디바이스의 지연 파라미터에 응답하여 스케줄을 변형시키고, 지연 파라미터가 만족된다고 판정하는 컨텐트를 전달하기 위한 시스템과 관련된다.
본 발명의 또 하나의 양태는 컨텐트에 대한 요구를 수신하는 단계; 요구에 응답하여 컨텐트를 전달하기 위한 스케줄을 생성하는 단계; 및 컨텐트를 송신하기 위한 지연 시간을 나타내는 메시지를 송신하는 단계를 포함하는 컨텐트를 전달하는 방법과 관련된다. 방법은 또한 스케줄이 요구의 지연 파라미터를 만족시킬지 여부를 판정하는 단계를 더 포함하고, 스케줄이 지연 파라미터를 만족시키지 못하는 경우, 메시지는 요구가 거절된 것을 나타낸다.
도 1은 하나 이상의 사용자들로부터의 요구들에 응답하여 컨텐트를 통신하기 위한 본 발명의 원리들을 포함하는 시스템을 블록도 포맷으로 도시하는 도면.
도 2는 본 발명의 원리들에 따라 컨텐트의 통신을 스케줄링하는 것과 관련된 도 1의 시스템의 양태를 플로우차트 포맷으로 도시하는 도면.
도 3은 도 2의 플로우차트에 따라 컨텐트 통신을 스케줄링하기 위한 도 1의 시스템의 동작의 양태를 도시하는 타이밍 도.
도 4는 도 2 및 도 3에 따라 컨텐트 통신을 스케줄링하기 위한 도 1의 시스템의 동작을 더 도시하는 타이밍 도.
도 5는 본 발명의 원리들에 따라 컨텐트의 통신을 스케줄링하는 것과 관련된 도 1의 시스템의 양태를 플로우차트 포맷으로 도시하는 도면.
본 발명은 첨부된 도면들과 조합한 이하의 상세한 설명을 고려함으로써 용이하게 이해될 수도 있다.
도면들 및 연관된 설명의 이해를 용이하게 하기 위해, 다양한 도면들에서 동일한 참조부호들이 동일하거나 유사한 특징들을 식별하는데 이용되었다. 도면들은 본 발명의 양태들을 예시할 목적으로 되어 있고 특히 본 발명의 실시예를 예시하기 위한 것이라는 것은 자명하다. 본 발명의 원리들을 포함하는 시스템들의 다른 구성들 및 실시예들이 가능하다.
설명의 용이함을 위해, 이하는 비디오 온 디맨드 시스템 또는 VOD에서 본 발명의 원리들의 실시예를 설명할 것이다. 그러나, 본 발명은 컨텐트 소스들과 사용자들 사이에서 컨텐트를 통신하기 위한 다양한 시스템들에게 폭넓게 적용가능하다. 여기에 기재된 본 발명의 원리들은 비디오 및/또는 오디오를 포함하고 이들로 제한 되지 않는 모든 타입들의 컨텐트를 전달하거나 수신하는 시스템들에 적용가능하다. 뿐만 아니라, 컨텐트는 다양한 통신 미디어 및 디바이스들을 포함하는 다양한 타입들의 통신 네트워크들을 통해 통신될 수 있다. 예를 들면, 본 발명의 원리들은 전화기들(예를 들면, 유선 폰들 또는 셀 폰들과 같은 무선 폰들), 셋탑 박스들, 텔레비전들, 컴퓨터들, 등을 포함하는 디바이스들에게 컨텐트를 제공하기 위한 유선 및 무선 통신 네트워크들(예를 들면, CATV, 셀 네트워크들, 위성 시스템들, 등)에 적용가능하다. 뿐만 아니라, 본 발명의 양태들은 퍼스널 비디오 레코더(PVR)와 같은 컨텐트 저장 특징들 및/또는 성능을 포함하는 시스템들과 관련된다. 예를 들면, PVR과 같은 저장 성능의 이용가능성은 이하에 설명되는 바와 같은 나중에 도달하는 클라이언트가, 재생이 필요될 때까지 수신된 데이터를 버퍼링함으로써, 미디어 데이터를 일부 더 이른 클라이언트들에게 전달하는 멀티캐스트 스트림에 참여할 수 있게 할 수 있다.
여기에 기재된 바와 같은 본 발명의 원리들을 포함하는 시스템의 실시예는 VOD 서비스 모드 및 멀티캐스트 송신을 스케줄링하는 관련된 방법에 관한 것이다. 기재된 VOD 시스템은 시스템의 사용자들, 고객들 또는 클라이언트들에게 컨텐트를 식별하는 리스트, 예를 들면 비디오 명칭 리스트 및 각각의 가장 이른 재생 시간을 제공할 수 있다. 재생이 가능한 시간에 관한 정보를 제공하는 것은, 컨텐트를 요구하는 각 실체, 예를 들면 고객, 클라이언트 또는 사용자가, 예를 들면 제공된 리스트에서 컨텐트 아이템들 중 하나를 요구하거나 셋업 동작 모드 동안과 같이 분리된 통신에서 허용가능한 지연을 서버에게 지정하는 정보를 제공함으로써, 요구자의 선호되는 또는 수용가능한 또는 허용가능한 지연을 지정하는 지연 파라미터 또는 지연 한계를 이에 따라 설정할 수 있도록 한다. 고객들로부터 요구들을 수신함으로써, 시스템은 이용가능한 네트워크 대역폭 및 사용자 허용가능한 지연에 따라 요구를 수락할 지 여부를 판정한다.
예를 들면, 도 1은 VOD 서버(110)를 포함하는 예로 든 VOD 시스템의 블록도를 도시하고 있다. VOD 서버(110)는 도 1에서 일반적으로는 참조번호 130, 및 더 구체적으로는 참조번호들(131, 132, 133, 134)로 식별되는 다양한 클라이언트 시스템들을 네트워크(120)를 통해 서브한다. 도 1에 예시된 클라이언트 시스템들은 멀티미디어 디바이스들, 퍼스널 컴퓨터들, 셋탑 박스들, 텔레비전들, 등과 같은 다양한 가능한 디바이스들을 표현한다. 사용자(140)는 클라이언트 시스템들 중 하나, 예를 들면 클라이언트(132)를 통해 서버(110)로부터 컨텐트를 요구한다. 본 발명의 양태에 따르면, 서버(110)는 이용가능한 컨텐트 및 가장 이른 가능한 재생 시간 또는 시간들의 리스트(150)를 클라이언트(132)를 통해 사용자(140)에게 제공한다. 사용자(140)는 리스팅된 컨텐트 아이템들 중 하나를 요구하는 클라이언트 디바이스(132)를 통해 요구(160)를 제출한다. 본 발명의 또 하나의 양태에 따르면, 사용자(140)는 사용자가 선호하거나 컨텐트를 수신하기 위한 허용가능한 지연인 것으로 발견되는 지연 값을 식별하거나 지정하는 지연 파라미터 또는 지연 한계를 지정한다. 즉, 사용자는 사용자에게 수락가능한 지연 한계 또는 최대 지연을 지정할 수 있다. 그러한 허용가능한 지연의 지정은 컨텐트 요구의 일부로서, 또는 허용가능한 지연 파라미터가 확립되는 셋업 동작 모드 동안에 제공될 수 있다. 다르게는, 서버(110)는 사용자(140)가 클라이언트 디바이스(132)의 사용자 인터페이스(예를 들면, 표시된 셋업 메뉴)를 통해 수락하거나 거절하거나 변형시킬 수 있는 허용가능한 지연, 예를 들면 디폴트 값을 제안할 수도 있다.
도 1에 도시된 시스템은 예를 들면 서버(110) 내에, 클라이언트 디바이스들(130)과 같은 요구하는 디바이스들로부터 컨텐트에 대한 요구들을 수신하기 위한 인터페이스를 포함하고, 또한 예를 들면 서버(110) 내에, 인터페이스에 결합되고 요구들에 응답하여 스케줄에 따라 컨텐트를 전달하기 위한 스케줄러를 포함한다. 컨텐트를 클라이언트들에게 제공하거나 송신하기 위해 도 1의 서버(110)의 스케줄러에 의해 확립되는 송신 스케줄은 VOD 요구들의 도달들에 따라 배열된다. 시스템에 의해 수락된 각 요구는 스케줄링된 컨텐트 스트림에 대응한다. 스케줄의 목적은 각 요구가 컨텐트에 가장 이른 시간에 액세스하기(예를 들면, 요구된 비디오를 뷰잉하기) 시작하여 이를 연속적으로 재생하도록 하는 것이다. 본 발명의 양태에 따르면, 비디오와 같은 컨텐트는 컨텐트 데이터 또는 정보의 복수의 블록들 또는 부분들로 파티션된다. 컨텐트 스트림은 특정 컨텐트 아이템의 모든 부분들 또는 블록들을 제공한다. 각 스트림에 대해, 송신 스케줄은 대역폭이 이용가능하게 된 직후에 컨텐트, 예를 들면 비디오의 제1 또는 처음 부분 또는 블록을 송신하고, 컨텐트가 사용자에게 연속적으로 또는 적어도 수용불가능한 중단들이 없이 재생될 수 있도록 제1 블록으로부터 오프셋된 그들 시간보다 더 늦지 않은 동안에 가능한 한 늦게 컨텐트의 연속적인 블록들 또는 후속 부분을 송신해야 한다. 예를 들면, 비디오 컨텐트의 경우에, 송신 스케줄은 비디오를 원활하게 플레이하는 것을 유지하 도록 비디오 컨텐트의 송신을 제공해야 한다.
본 발명의 추가 양태에 따르면, 스케줄러는 예를 들면 이하에 설명되는 바와 같이 스케줄을 재배열함으로써 스케줄을 변형하거나 적응시킬 수 있다. 예를 들면, 스케줄은 컨텐트 일부의 전달을 지연시키는 사용자-지정된 허용가능한 지연과 같은 지연 파라미터 또는 지연 한계에 응답하여 변형될 수도 있다. 지연은 컨텐트의 송신된 블록들이 복수의 요구들을 서브하도록 활용되고 있는 확률을 증가시키기 위해 스트림에서 블록들의 송신을 가능한 한 늦게 지연시키는 것을 제공할 수도 있다. 즉, 비디오에 대한 제2 요구가 동일한 비디오에 대한 제1 요구에 후속하여 수신되는 경우, 제1 요구에 응답하는 블록들의 송신은 제2 및 또는 다른 연속하는 요구들을 서브하는데 이용될 수도 있다. 설명된 바와 같이 전달을 지연시키는 스케줄러에 의한 스케줄의 변형은 지연이 지연 파라미터를 만족한다고 판정한 후에 발생한다. 추가 고려사항은 컨텐트를 원활하게 플레이하기 위한 필요성이다.
더 상세하게는, 예로 든 VOD 시스템은 2개의 주요 컴포넌트들, VOD 서버(110) 및 클라이언트들(130)을 포함한다. VOD 서버(110)는 비디오 명칭 및 가장 이른 액세스 시간을 포함하는 비디오의 플레이 리스트를 공표한다. 가장 이른 액세스 시간은 다이나믹하게 업데이트된다. 클라이언트가 비디오에 관심이 있을 때는 언제나, 비디오 명칭 및 사용자 허용가능한 지연과 같은 정보가 포함되는 요구를 수행한다. 요구를 수신한 후, VOD 서버는 이용가능한 대역폭 및 사용자 허용가능한 지연에 따라 이러한 요구가 수락될지 여부를 판정한다. 요구가 수락되는 경우, 재생 지연은 승인 정보에 포함될 수도 있다. 요구가 거절되는 경우, 최소 가 능한 재생 지연은 원하는 경우에 어느 클라이언트가 또 하나의 합리적인 요구를 할 수 있는지에 기초하여 승인 정보에 포함될 수도 있다.
송신들을 스케줄링하는 실시예는 도 2에서 플로우차트 포맷으로 예시되어 있다. 도 2에 예시된 실시예는 소프트웨어(예를 들면, 컴퓨터 또는 마이크로프로세서, 컨트롤러 또는 신호 처리기 집적 회로에 의해 실행됨) 및/또는 하드웨어로 구현될 수도 있다. 도 2에서, 스케줄링은 단계 200에서 시작한다. 단계 200에 이어 단계 210이 이어져서, 하나 이상의 클라이언트들이 컨텐트에 대한 요구들을 생성하거나 서버가 컨텐트에 대한 요구들을 청취하거나 수신한다. 이하에 상세하게 설명된 바와 같이, 요구가 도달하는 경우에, 시스템은 우선 이러한 요구에 대한 스트림을 스케줄링하고, 그리고나서 필요한 경우에 복수의 요구들과 연관된 스트림들을 조합할 수도 있다.
도 2의 양태들을 설명할 목적으로, 일부 용어는 이하와 같이 이용될 것이다. 용어 "블록"은 컨텐트 아이템의 일부 또는 서브세트를 지칭하는데 이용될 것이다. 비디오와 같은 컨텐트에 대해, 비디오는 예를 들면, 각 블록이 동일한 크기를 가지는 N개의 부분들 또는 블록들로 논리적으로 분할된다. 블록의 크기는 스케줄의 정밀도(granularity)를 판정한다. "스트림"은 비디오와 같은 컨텐트 아이템을 나타내는 블록들의 송신된 시퀀스를 지칭한다. 비디오에 대한 요구와 같이, 컨텐트에 대한 요구가 도달하는 경우, 시스템은 요구에 대해 스트림을 스케줄링할 것이다. 스케줄링된 스트림은 언제 및 어느 블록들이 송신될 것인가를 제공한다. 각 요구는 스케줄링된 스트림에 대응한다. 비디오의 "송신 주기"는 제1 스트림(비디오의 제1 요구에 대함)이 송신하기 시작할 때 시작한다. 송신 주기는 비디오 끝에 대해 모든 존재하는 스트림들 이전에 어떠한 요구도 도달하지 않는 경우에 종료한다. 새로운 송신 주기는 최종 송신 주기가 끝난 이후에 비디오에 대한 요구가 도달하는 경우에 시작할 것이다. "기준 스트림"은 송신 주기에서 제1 스트림이다. 송신 주기에는 정확하게 하나의 기준 스트림이 있다. "시간 슬롯"은 비디오 블록 지속기간 시간 범위, 즉 컨텐트의 블록이 통신되는 시간 인터벌이다. 동일한 시간 슬롯의 비디오 블록들은 동시에 송신된다. 각 시간 슬롯은 시간 슬롯의 "용량"으로 지칭되는 특정 개수의 비디오 블록들을 홀딩할 수 있다. 시간 슬롯이 특정 스케줄을 구현하기 위해 그 용량보다 많은 블록을 홀딩해야 하는 경우, 시간 슬롯은 "오버로드 시간 슬롯(overload time slot)"으로 지칭되고 즉, 시간 슬롯은 이용가능한 대역폭을 전혀 가지고 있지 않다. 시간 슬롯이 과잉 용량을 가지는 경우, 즉 특정 스케줄이 그 용량보다 더 적은 개수의 블록들을 홀딩하는 시간 슬롯을 요구하고 따라서 시간 슬롯이 과잉되거나 이용가능한 대역폭을 가지고 있는 경우, 시간 슬롯은 "언더로드 시간 슬롯(underload time slot)"이라 지칭된다.
도 3은 상기 정의된 용어의 양태들을 예시하는 2개의 송신 주기들에 대한 타이밍 도를 도시하고 있다. 도 3의 컨텐트에 대해 전체 블록들의 개수는 20개이다. 송신 주기 1에서, 2개의 스트림들 S0 및 S1이 있다. 송신 주기 2에서, 3개의 스트림들 S2, S3 및 S4가 있다. S0은 송신 주기 1에서 기준 스트림이다. S2는 송신 주기 2에서 기준 스트림이다. 단지 기준 스트림만이 모든 N 블록들을, 양호하게는 연속적으로 송신한다. 기준 스트림의 제1 블록은 제로의 기준 시간을 가지고 있고 모든 다른 블록은 제1 블록으로부터 오프셋된 재생 시간과 동일한 기준 시간을 가지고 있다. 주어진 시간에 하나의 블록을 송신하는 것으로 예시되어 있지만, 본 발명의 원리들은 수 개의 블록들이 주어진 시간 슬롯에 동시에 송신되는 시나리오에도 적용된다.
설명된 용어뿐만 아니라, 본 설명은 이하의 심볼들을 이용할 것이다.
N은 비디오의 전체 블록 개수를 나타낸다.
B는 서버 대역폭 한계를 나타낸다.
b는 비디오 재생 레이트를 나타낸다.
di는 i번째 요구의 서비스 지연을 나타낸다(송신 지연은 무시되고, 즉 비디오가 Ti에서 송신되는 경우에 이러한 비디오는 Ti에서 표시될 수 있으며, 따라서 서비스 지연은 관련된 서버 대역폭 한계이다).
Di는 i번째 사용자가 견딜 수 있는 최대 서비스 지연을 나타낸다.
ai는 송신 주기에서 i번째 요구의 도달 시간을 나타낸다(i=0,1,2, ...).
tij는 송신 주기에서 i번째 스트림의 j번째 블록의 송신의 시작 시간을 나타낸다. ai 및 tij의 정밀도는 하나의 블록의 지속기간이다. a0=0 t00=0, 즉 제1 스트림의 제1 블록이 제로의 기준 시간을 가진 것으로 가정한다.
Ti는 i번째 스트림의 송신 시간을 나타낸다.
Ti = ai + di
본 발명의 양태들에 따라 스케줄링을 제공하기 위한 실시예의 동작 예가 도 4에 예시되어 있다. 도 4에서, 작은 원은 요구를 나타낸다. 직선 위의 숫자는 비디오 블록의 인덱스 번호를 나타낸다. 비디오에는 전체 20개의 블록들이 있다. 서버 대역폭은 비디오 레이트의 3배이다. Ri는 i번째 요구를 나타내고, Si는 i번째 스트림을 나타낸다.
송신 주기에서 제1 요구에 대해, 스케줄러는 기준 스트림을 생성하고, 즉 T0, 제1 요구 R0의 도달 시간에 시작하여 종래의 VOD 시스템에서와 같이 모두 N개의 블록들을 연속적으로 송신한다. k번째 요구가 도달하는 경우, 시스템은 스트림 Sk로 지칭되는 k번째 요구에 대한 스트림을 스케줄링한다. 더 상세한 스케줄 절차는 도 2 및 도 4와 관련하여 이하에 설명된다.
도 2의 단계 210에서와 같이 요구, 예를 들면 k번째 요구를 수신한 후, 도 2의 단계 220에 표시된 바와 같이 초기 또는 처음 스케줄이 생성된다. 시스템은 [ak-1,ak]에서 송신되었던 이들 블록들을 송신하도록 스케줄링한다. 다른 블록들은 이전 요구들에 응답하는 현재의 스트림들에 의해 송신되기 때문에 요구하는 클라이언트에게 이용가능하다. 모든 블록들은 제1 블록으로부터 오프셋된 그들 시간에 송신하도록 스케줄링된다. 서버는 이하와 같이 표현되는 k번째 스트림 Sk의 블록들의 송신 시간을 나타내는 초기 스케줄 Uk를 생성한다.
Uk = {uk1, uk2, ......, uky}
여기에서, uki는 k번째 스트림에서 i번째 블록의 스케줄링된 송신 시간이다. k번째 스트림의 i번째 블록은 반드시 요구되는 비디오 또는 컨텐트의 i번째 블록일 필요는 없다.
처음 스케줄의 생성에 이어서, 도 2의 단계 230에서, 대역폭이 이용가능한 시간 슬롯들 또는 시간 인터벌들을 검출하기 위한 대역폭 검출이 수행된다. 시점 ak로부터, 그 대역폭이 대역폭 한계 이상인 시간 슬롯들의 세트가 H로서 표시되고, 여기에서 H = {h1, h2, ......, hm}이다. 모든 hi는 2개의 속성들 hi={hi1, hi2}를 포함하고, 여기에서 hi1은 시간슬롯의 시작 시간을 나타내고 hi2는 이 시간슬롯에서 i번째 스트림의 블록 개수를 나타낸다. hi1은 오버로드 시간슬롯으로 지칭되고 hi2는 오버로드 블록으로 지칭된다. hi(i=1,2, ..., m)는 hi1이 증가되는 상태로 순서화된다.
시점 ak로부터, 그 대역폭이 대역폭 한계 이하인 시간 슬롯들의 세트는 L로서 지칭된다. L={l1,l2, ......, lw}이다. 모든 li는 2개의 속성들, li={li1,li2}를 포함하고, 여기에서 li1은 시간 슬롯의 시작 시간을 나타내고 li2는 점유된 대역폭과 대역폭 한계 간의 차이를 나타낸다. li2는 깊이 정도로서 지칭된다. li(i=1,2, ..., w)는 li1이 증가되는 상태로 순서화된다.
본 발명의 양태에 따르면, 도 2의 단계 240에서, 대역폭 검출의 결과가 평가 된다. 예를 들면, 단계 240은 H를 평가하는 단계를 포함할 수도 있다. H가 널인 경우(즉 도 2의 단계 240에서 부정 또는 "NO"결과), 이용가능한 대역폭은 처음 스케줄을 변형하지 않고서도 스트림의 송신에 적합하다. 그렇다면, 도 2의 동작은 단계 250으로 진행하여, 처음 스케줄이 확인되고 스케줄에 따라 즉시 송신이 발생한다. H가 단계 240에서 널이 아닌 경우, 본 발명의 양태들에 따른 재배열을 포함하는 스케줄의 변형이 도 2의 단계 270에서 발생할 수 있다. 재배열에 앞서서, 단계 260에서, 재배열을 제공하도록 요구되는 지연이 요구자의 허용한도 이내인지, 즉 사용자-지정된 지연 파라미터 또는 지연 한계를 만족하는지 또는 그에 따르는지 여부에 관한 평가가 수행된다. 그렇지 않은 경우, 단계 280에서 요구가 거절된다. 지연이 허용가능한 경우, 스케줄 변형 또는 재배열은 단계 270에서 이하에 상세하게 설명되는 바와 같이 진행한다.
단계 250에서, 스케줄링된 스트림 k는 시간 Tk에서 송신될 것이고, 여기에서 Tk=ak로서 k번째 요구의 서비스 지연이 제로인 것을 의미한다. 블록들의 송신 시간은 Vk=Uk={uk1,uk2, ......, uky}이다. 예를 들면, 도 4에서, 요구 2가 도달하는 경우, 이용가능한 대역폭은 스트림을 송신하는데 충분하다. 그러므로, 스트림 2는 어떠한 지연도 없이 [a1,a2]에서 송신되었던 이들 블록들을 송신할 것이고, 스트림 2의 제1 블록은 시간 T2에서 송신될 것이며, T2=a2이다.
도 2의 단계 240에서의 평가가 처음 스케줄을 지원하는데 적절하지 않은 것 을 나타내는 경우, 처음 스케줄의 변형은 단계 270에서 진행한다. 본 발명의 양태에 따르면, 스케줄 변형 또는 재배열은 대역폭 버스트를 완화시키고 이를 원래의 스케줄에 가깝도록 유지시킨다. 재배열 이후에, Tk > ak가 있다. 필요한 지연 di가 레이턴시 허용한도 Di 이내인 경우, 요구는 수락되고 비디오 블록들은 스케줄 재배열 결과에 따라 송신될 것이다. 그렇지 않으면, 단계 280에서 요구가 거절되고 가장 이른 가능한 시작 시간이 요구자에게 다시 전송된다.
단계 270에서와 같은 스케줄 조정 또는 재배열의 예로 든 실시예가 이하에 설명되고 도 5에 더 상세하게 도시되어 있다. 스케줄 변형 또는 재배열의 하나의 양태는 최소 초기 지연을 생성하는 것이다. 또 하나의 양태는 현재 요구에 대해 송신된 컨텐트가 나중 요구들에 의해 공유되는 정도를 최대화하는 것이다. 부분적으로는, 기재된 실시예에 의해 제공되는 증가된 공유는 사용자에 의해 표시된 지연 허용한도에 따라 그렇게 하는 동안에 가능한 한 늦게 블록들을 송신하는 것으로부터 기인한다.
스케줄 변형의 제1 단계는 언더로드 시간 슬롯들의 세트 G의 결정이다. G는 L로부터 생성된다고 가정하고 G={g1,g2, ......, gn}이며, 여기에서 n=
Figure 112009042094956-pct00001
이고 w는 L에서 원소들의 개수이다. G는 이하와 같이 생성될 수 있다.
g1=l11
gi(i=2, 3, ..., n)는 이하의 규칙에 따라 생성될 것이다.
li2=j인 경우, gs=gs+1=... ...=gs+j-1=li1, 여기에서 s=
Figure 112009042094956-pct00002
이다.
다음으로, G의 m개의 원소들은 세트 Q에 대해 선택되고, 여기에서 Q={Q1, Q2, ......, Qx}이고,x=cn m이며 m은 H에서 원소들의 개수이다.
Figure 112009042094956-pct00003
에 대해,
Figure 112009042094956-pct00004
이다.
다음으로, Qi는 이하의 수학식 (1)이 유효하도록 Q로부터 선택된다.
Figure 112009042094956-pct00005
그러면, hi2는 qij에서 송신하도록 스케줄링된다.
다음으로, k번째 스트림에 대해 스케줄링된 모든 블록들은 증가하는 시퀀스로 재순서화되어야 한다. 블록들의 송신 시간은 Vk={vk1,vk2, ......, vky}로서 표현된다. 그러므로, 재생 시간의 지연은 이하와 같다.
Figure 112009042094956-pct00006
필요한 지연이 사용자의 레이턴시 허용한도 내에 있는 경우, 즉 지연 파라미터 또는 한계가 만족되는 경우, 시스템은 스케줄링되는 대로 비디오 블록들을 송신한다. 필요한 지연이 레이턴시 허용한도 이상인 경우, 즉 지연 파라미터 또는 한계가 만족되지 않는 경우, 요구가 거절되고 가장 이른 가능한 시작 시간은 요구자 에게 다시 전송된다.
예를 들면, 도 4에서, 요구 3이 도달하는 경우, 이용가능한 대역폭은 스트림을 송신하는데 충분하지 않다. 그리고 가장 이른 시작 시간은 T3이다. 그러므로, 스트림 3은 [a2,a3]에서 송신되었던 이들 블록들을 송신할 것이고 스트림 3의 제1 블록은 시간 T3에서 송신될 것이며 여기에서 T3>a3이다.
본 발명의 또 하나의 양태는 적절한 언더로드 시간슬롯들을 선택하는 것과 관련되고, 즉 대역폭이 이용가능한 적절한 시간 인터벌들을 결정하는 것과 관련된다. 재배열을 제공하는 스케줄을 변형하거나 조정하도록 적절한 언더로드 시간슬롯들을 선택하기 위한 실시예가 도 5와 관련하여 이하에 설명된다. 도 5에서 단계들 210 내지 250은 도 2에서의 유사하게-식별된 단계들에 대응한다. 상기 설명된 바와 같이, 처음 스케줄의 조정 동안의 고려사항들은 이하의 조건들 중 하나 또는 양쪽을 만족하는 것을 포함할 수도 있다.
조건 1: 최소 초기 지연을 제공함.
조건 2: 예를 들면 블록들을 가능한 한 늦게 송신함으로써 특정 요구에 대한 컨텐트의 송신을 나중 요구들과 공유하는 것을 최대화함.
즉, 조건 1에 따르면, 스케줄은 최소 초기 지연을 제공하는 컨텐트의 초기 부분의 전달을 시작하기 위한 제1 시간을 포함한다. 뿐만 아니라, 조건 2에 따르면, 스케줄은 지연 파라미터 또는 한계를 여전히 만족시키는 동안에 가능한 한 늦도록 후속 부분의 전달의 지연을 증가시키는, 제2 블록과 같이, 컨텐트의 후속 부 분의 전달을 시작하기 위한 제2 시간을 포함한다.
양쪽 조건들을 만족시키기 위한 시스템을 제공하기 위한 실시예는 우선 조건 1을 고려하는 단계 및 그리고나서 제1 조건을 만족시킨 후 제2 조건을 고려하는 단계를 제공한다. 최소 초기 지연을 제공하는 제1 조건을 만족시키는 것은 스케줄 변형의 제1-패스로서 지칭될 것이다. 제1 패스 동안에, 2개의 절차들, 언더로드 시간슬롯 선택 및 블록 시프팅이 발생한다.
도 5의 단계 560에서와 같이, 최소 초기 지연을 달성하기 위해, 즉 지연 허용 한도 이내로 달성하기 위해, 가장 이른 이용가능한 언더로드 시간 슬롯들은 오버로드 블록들을 포함하도록 선택되어야 한다. 즉, 스케줄링되는 스트림의 오버로드 블록들의 전체 개수가 m인 경우, L로부터 제1 m개의 언더로드 시간슬롯들을 선택해야 한다. 그리고나서, 오버로드 블록들은 m-선택된 언더로드 시간슬롯들로 각각 시프트될 것이고, 즉 컨텐트의 일부가 지연된다.
시프트 또는 지연은 이하와 같이 발생한다. 오버로드 블록 hi2(시간 슬롯 hi1에서)가 언더로드 시간 슬롯 lj1로 이동될 필요가 있는 경우, 고려해야 할 2가지 경우들이 있다. 경우 1에서, 즉 lj1<hi1인 경우, lj1 바로 다음의 시간 슬롯에서의 블록은 lj1로 이동될 것이고, (lj1,hi1)간의 모든 블록들은 이번에는 자기 자신 바로 앞의 시간 슬롯으로 이동되어야 하고, 블록 hi2(시간 슬롯 hi1에서)는 hi1 바로 이전의 시간 슬롯으로 이동될 것이다.
경우 2에서, 즉 lj1>hi1인 경우, lj1 바로 이전의 시간 슬롯에서의 블록은 lj1로 이동될 것이고, (hi1, lj1)간의 모든 블록들은 이번에는 자기 자신의 바로 다음의 시간 슬롯으로 이동되어야 하며, 블록 hi2(시간슬롯 hi1에서)는 hi1의 바로 다음의 시간슬롯으로 이동될 것이다.
다음으로, 최소 초기 지연 d가 결정될 수 있다. 처음 스케줄 이후의 블록들의 송신 시간을 U={u1,u2, ......, uy}로서 표현되도록 하고 제1 패스 스케줄 이후의 블록들의 송신 시간을 V={v1,v2, ......, vy}로서 표현되도록 하자. 그러면, 최소 지연 d는 이하와 같이 결정된다.
Figure 112009042094956-pct00007
다음으로, 단계 561에서, 최소 지연이 체크되어, 최소 지연이 허용한도 이내인지, 즉 스케줄이 지연 파라미터 또는 한계를 만족시킬 것인지 여부를 판정한다. 아니오인 경우, 요구는 단계 580에서 거절된다. 최소 지연이 수락가능한 경우(즉, 허용한도 이내이거나 지연 파라미터 또는 한계를 만족시키는 경우), 최대 데이터 공유의 제2 조건을 고려하기 위한 스케줄링의 제2 패스가 발생한다. 즉, 지연 파라미터가 만족된다고 판정하는 것에 응답하여, 제2 패스가 발생하여, 컨텐트의 적어도 일부의 전달을 지연시키도록 스케줄을 변형시킨다. 제1 패스 이후에, 스케줄에 대한 최소 초기 지연 Dmin이 결정되고, 처음 스케줄링된 스트림은 단계 562에서 Dmin으로 지연된다. 그리고나서, 단계 563에서 대역폭 검출이 발생하고, 모든 오버로드 블록들 및 모든 언더로드 시간슬롯들이 발견된다. 최종 오버로드 블록으로부터 제1 오버로드 블록까지, 단계 564에서 시프팅이 발생하여, 오버로드 블록을, 그 현재 위치 앞에 있고 그 현재 위치에서 최소 거리를 가지는 언더로드 시간 슬롯으로 각각 이동시킨다. 이러한 시프팅 또는 지연 또는 재배열은 이하에 상세하게 설명된다.
각 오버로드 블록에 대해, Dmin으로 처음 스케줄을 지연시킨 후, 오버로드 블록을 "홀딩하기" 위해, 오버로드 시간슬롯 앞에 있는 적어도 하나의 언더로드 시간슬롯을 항상 찾을 수 있다. 이것은 이하와 같이 진행한다.
처음에, 스트림은 처음 스케줄을 Dmin으로 지연시킴으로써 최소 초기 지연으로 스케줄링된다. 즉, k번째 스트림에 대해, [ak-1, ak]에서 송신되었던 모든 블록들은 제1 블록으로부터 오프셋된 그들의 시간 + Dmin에서 송신하도록 스케줄링된다. 블록들의 송신 시간은 U={u1+Dmin, u2+Dmin, ......, uy+Dmin}으로 제공된다.
다음으로 대역폭 검출이 발생한다. 스케줄을 지연시킨 후, 시간슬롯들의 대역폭이 변경되었다. 그러므로, 모든 오버로드 블록들 및 모든 언더로드 시간슬롯들을 구하기 위해 대역폭 검출을 다시 수행하는 것이 필요하다.
다음으로, 스케줄링된 블록들이 재배열된다. 재배열은 제1 패스 스케줄의 것과 유사하다. 이는 또한 2개의 절차들, 언더로드 시간슬롯들 선택 및 블록들 시 프팅을 포함한다.
오버로드 블록들을 포함하기 위해 어느 언더로드 시간슬롯들이 선택될 것인지를 판정하기 위해, 선택은 "후방"부터 "전방"까지 발생한다. 즉, 처음에 어느 언더로드 시간슬롯이 최종(시간축 상에서) 오버로드 블록을 포함할 것인지가 결정되고, 그리고나서 어느 언더로드 시간슬롯이 제2 최종(시간축 상에서) 오버로드 블록을 포함할 것인지 등이 결정된다. 오버로드 블록 hi2(시간슬롯 hi1에서)에 대해, hi2를 포함하는 언더로드 시간슬롯 lj1은 이하와 같이 결정된다.
Figure 112009042094956-pct00008
Liprior은 hi1 이전에 있는 모든 언더로드 시간슬롯들(hi1보다 작음)의 서브세트이다. 즉, 언더로드 시간슬롯 lj1은 hi1 이전에 있는 모든 언더로드 시간슬롯들 중에서 hi1에 대해 최소 거리를 가지고 있다.
제2 패스 스케줄의 블록 시프팅은 제1 패스 스케줄의 것과 동일하다. 그러나, 선택된 언더로드 시간슬롯은 오버로드 시간슬롯 이전에 있으므로 단지 경우 1만이 존재하고, 따라서 제2 패스의 블록 시프팅은 단지 경우 1만을 가지고 있다.
본 발명의 또 하나의 양태는 스트림들 조합 이후에 하나 또는 복수의 요구들이 하나의 스트림에 대응하도록 도 5의 단계 590에서와 같이 컨텐트 스트림들을 조합하는 것과 관련된다. 스트림 조합은 이하와 같이 발생한다. 현재 요구 시간이 이전 스트림의 송신 시작 시간 이전인 경우, 현재 스트림은 이전 것과 조합될 것이 다. 조합은 결과적으로 2개의 요구들을 지원하게 되는 하나의 스트림으로 나타나게 된다. 예를 들면, 요구 5가 도달하는 경우, 요구 5에 대한 충분한 리소스가 없기 때문에, 스트림 5에 대한 송신의 가장 이른 시작 시간은 T5로 스케줄링된다. 그러므로, 요구 5는 레이턴시 모드로 서브될 것이다. 대기 시간 동안에, 요구 5는 또한 멀티캐스트 데이터를 수신하고 이들을 버퍼링한다. 그리고나서, 요구 5의 시작 시간 이전인 요구 6이 도달하고, t5>a6이다(블록 정밀도의 지속기간이 이용되는 경우, t5=a6이다). 그러므로, 요구 5는 요구 6과 조합될 수 있다. 조합 후에, 양쪽 요구 5 및 요구 6에 대응하여 새로운 스트림 S5가 스케줄링될 것이다. 도 4로부터, 주기 [a5,a6]에서 도달하는 모든 요구들이 하나의 스트림으로 조합될 것이라는 것을 알 수 있다.
스트림들은 단계 565에서 스케줄에 따라 클라이언트들에게 송신된다. 스트림들이 클라이언트들에게 멀티캐스팅될 수 있는 수 개의 방법들이 있다. 하나의 가능성은 컨텐트의 각 사용자 요구에 대한 고유 멀티캐스트 스트림이다. 또 하나의 가능성은 모든 사용자 요구들을 가지는 단일 멀티캐스트 스트림이다. 제1 접근법의 장점은 사용자는 단지 관심사가 되는 멀티캐스트 스트림들에게 가입만 할 필요가 있고 무관한 스트림은 사용자에게 도달하지 않을 것이라는 점이다. 후자의 접근법은 클라이언트에서 잉여 데이터를 필터링할 필요가 있다.
본 발명의 상기 설명된 양태들은 도 4와 조합하여 기재된 실시예의 이하의 설명을 고려함으로써 더 잘 이해될 수도 있다. 상기 설명된 바와 같이, 실시예는 비디오 프로그램에 대한 복수의 요구들을 핸들링하는 VOD 서버와 관련된다. 서버는 하나 이상의 비디오 프로그램을 저장할 수 있지만, 기재된 실시예는 특히 동일한 비디오 프로그램에 대한 요구들과 관련된다. 비디오 프로그램은 예시적으로 N개의 블록들로 분할되고, 통신 채널은 하나의 시간 슬롯에서 최대 M개의 블록들을 송신할 수 있으며, 각 블록은 하나의 시간 슬롯에서 송신될 수 있다. 도 4에서, N은 20이고 M은 3이다. 클라이언트 디바이스가 요구를 제출하는 경우, 클라이언트 디바이스는 통신 채널의 모든 비디오 블록들을 수집하고 비디오 블록들을 적절한 순서로 배열하기 시작한다. 요구된 비디오 프로그램의 모든 블록들이 수신된 경우, 클라이언트 디바이스는 요구된 비디오 프로그램을 재생하는 것을 시작할 수 있다.
도 4의 예에서, 요구들 R0 내지 R6에 응답하는 스트림들 S0 내지 S5가 도시되어 있다. S2는 시간 슬롯 13-17 및 21-25로부터 각각 블록들 0-4 및 8-12를 송신하기 시작한다. S3은 시간슬롯 16, 17, 20, 21, 28, 29에서 각각 블록들 0, 1, 5, 6, 13 및 14를 송신하기 시작한다. S4는 시간 슬롯 18-22, 25 및 34-36으로부터 각각 블록들 0-4, 7 및 15-17을 송신하기 시작한다. S5는 시간슬롯들 23-29, 31, 32, 42 및 43으로부터 각각 블록들 0-6, 8, 9, 18 및 19를 송신하기 시작한다. 또한, 요구 R5가 도달하는 경우, 도 4에 도시된 스케줄링된 결과는 S5의 블록 0이 시간 슬롯 23에서 송신을 시작할 것이라는 것을 나타낸다. 그러나, 요구 R6는 시간 슬롯 23 이전에 도달하고, 따라서 S5 및 S6은 하나의 스트림으로서 조합될 것이다.
클라이언트 디바이스 0이 시간 a0 또는 시간 슬롯 0에서 비디오 프로그램(도 4에서 요구 R0)을 요구하는 경우, 서버는 비디오 블록 i가 시간 슬롯 i에서 송신하기로 스케줄링되는 것을 나타내는 (0,1,2, ..., 19)인 기준 스트림 S0에 대한 초기 스케줄 U0을 생성한다. 통신 채널에서 비디오 프로그램의 어떠한 블록들도 송신되지 않았으므로, 모두 20개의 블록들이 송신되어야 한다. 어떠한 오버로드 시간 슬롯도 없으므로, 초기 스케줄 U0은 재배열없이 최종 스케줄 V0이 된다. 본 실시예에서 서버가 각 시간슬롯에서 3개의 블록들을 송신할 수 있지만, 서버는 각 시간 슬롯에 하나의 비디오 블록을 송신한다. 블록들은 블록 0으로부터 시작하는 시퀀스로 송신되지만, 각 클라이언트 디바이스가 모든 블록을 재생하기 위해 적절한 시퀀스로 재조립할 수 있으므로 이것이 요구되지는 않는다.
서버는 요구 0에 응답하여 시간슬롯 당 하나의 블록을 송신하므로, 각 시간 슬롯에서 2개의 블록들의 대역폭이 다른 요구들에 대해 이용가능하다.
클라이언트 디바이스 1은 시간 a1 또는 시간슬롯 8에서 요구(도 4에서는 R1)를 제출하고, 통신 채널들에서 비디오 블록들을 수신하기 시작한다. 블록들 8-19는 이미 통신 채널에서 이용가능하므로, 서버는 시간 인터벌[a0,a1]에 송신된 이들 블록들인 단지 블록들 0-7만을 송신한다. 서버는 블록들 0-7에 대해 스트림 1, S1에 대해 초기 스케줄 U1을 (8, 9, 10, ..., 15)로서 생성한다. 어떠한 오버로드 시간 슬롯도 없으므로, 초기 스케줄 U1은 재배열없이 스트림 1에 대한 최종 스케줄 V1이 된다.
시간 a2 또는 시간슬롯 13에서, 클라이언트 디바이스 2는 요구(도 4에서 R2) 를 제출한다. 이 포인트에서, 통신 채널은 블록들 5-7 및 13-19를 송신하고 있다. 서버는 단지 시간 인터벌[a1,a2]에서 송신된 블록들인 블록들 1-4 및 8-12를 송신해야 한다. 서버는 블록들 1-4 및 8-12를 송신하기 위한 스트림 2(S2)에 대한 초기 스케줄 U2를 생성하고, 이는 (13, 14, 15, 16, 17, 21, 22, 23, 24, 25)이다. 초기 스케줄에서, 제1 블록을 송신하기 위한 시간은 요구가 수신되었던 시간이다. S2에서의 모든 블록들은 연속적인 시간 슬롯들에서 송신되도록 스케줄링될 수 있다. 그러나, 송신 채널의 대역폭 관리의 유연성을 증가시키기 위해서는, 단지 연속적인 블록들만이 연속적인 시간슬롯들에서 송신되도록 처음에 스케줄링되는 것이 바람직하다. 2개의 연속적인 블록들, 예를 들면 블록 i 및 블록 i+j 사이에 블록 번호의 불연속성이 있고 블록 i가 대응하는 초기 스케줄에서 시간 슬롯 k에서 송신되도록 스케줄링되는 경우, 서버는 처음에 시간 슬롯 k+j에서 블록 i+j를 송신되도록 스케줄링해야 한다. 예를 들면, U2에서, 블록들 0-4는 시간슬롯들 13-17에서 송신되도록 스케줄링되지만, 블록들 8-12는 시간 슬롯들 21-25에서 스케줄링된다. 어떠한 오버로드 시간슬롯도 없으므로, 초기 스케줄 U2는 재배열없이 최종 스케줄 V2가 된다.
이러한 포인트에서, 각 시간 슬롯의 대역폭이 초과되지 않은, 즉 시간 슬롯들이 언더로드 시간 슬롯들인 경우에 관한 설명이 상기 기재되었다. 이하에서는, 요구가 수신되는 경우에 불충분한 대역폭의 조건, 즉 오버로드 시간슬롯들의 상황이 커버된다.
이러한 포인트에서의 스케줄은 이하와 같다.
스트림 0: U0=V0=각각 블록들 0-19에 대응하는 (0,1,2, ..., 19).
스트림 1: U1=V1= 각각 블록들 0-7에 대응하는 (8, 9, ..., 15).
스트림 2: U2=V2= 각각 블록들 0-4 및 8-12에 대응하는 (13, 14, 15, 16, 17, 21, 22, 23, 24, 25).
a3 또는 시간슬롯 15에서, 수신기 3은 요구(도 4에서 R3)를 제출한다. 서버는 스트림 3, S3에 포함될 블록들인, 인터벌[a2, a3]에서 송신된 블록들을 체크한다. 이들 블록들은 블록들 0, 1, 5, 6, 13 및 14이고, 서버는 이들 블록들을 송신하는 초기 스케줄 U3을 생성하고, 이는 (15, 16, 20, 21, 28, 29)이다. 그러나, V0-V2 및 U3을 체크한 후, 서버는 시간 슬롯 15가 오버로딩되었고 시간 슬롯 17 및 그 이후의 시간슬롯들이 언더로딩된 것을 발견한다. 서버는 H 리스트를 생성하고, 그 각 원소는 시작하는 시간 슬롯 및 대응하는 오버플로우 블록 번호를 나타낸다. 이 경우에, H={(15,0)}이다. 서버는 또한 R3이 수신된 때인 시간슬롯보다 시간상으로 나중인 언더로드 시간 슬롯들을 계속해서 추적하는 L 리스트를 생성한다. L 리스트에서 원소들의 개수, w는 H 리스트의 원소들의 개수와 적어도 동일해야 한다. 양호하게는, w는 V 리스트들에서 가장 최근 시간 슬롯 번호 + 비디오 프로그램에서 블록들의 개수이어야 한다. 이 경우에, 이것은 25+20=45이다. 그러나, 단순성을 위해, 본 예에서 모든 대역폭이 이용가능한 w를 적절하게 선택한다. 그러한 것으로, 이러한 예에서 L은 다음과 같다.
Figure 112009042094956-pct00009
그러므로, w=9이고, G에서 원소들의 개수, n은 1+2+2+2+1+2+2+2+2 또는 16이 다.
G를 계산하는 경우에, 유의할 점은 g1=17이란 점이다. G의 다른 원소들은 상기 설명된 이하의 수학식으로부터 계산된다.
li2=j인 경우,
Figure 112009042094956-pct00010
여기에서,
Figure 112009042094956-pct00011
따라서, g2=g3=18, g4=g5 =19, g6=g7=20, g8=21, g9=g10=22, g11=g12=23, g13=g14=24 및 g15=g16=25이다.
Q를 생성할 때 m 인덱스는 H 리스트에서 아이템들의 개수를 나타낸다. 이러한 예에서, 이것은 1이다. 그러한 것으로서, Q에서 원소들의 개수, x는 16이고, Q는 16개의 리스트들 Q1-Q16을 포함한다. 각 리스트는 단지 하나의 아이템을 포함하고 ti1=gi이다.
그리고나서, 이하의 수학식 1은 H 리스트에서 각 원소의 시작하는 시간 슬롯에 시간상으로 가장 근접한 qi1을 선택하는데 이용된다. 즉,
[수학식 1]
Figure 112009042094956-pct00012
이러한 예에서, ql1=17이 선택되고, 이는 블록 0이 시간슬롯 17에서 송신될 것이라는 것을 의미한다. 블록들이 재순서화한 후, V3=(16,17,20,21,28,29)이고, 블록 0은 시간슬롯 16에서 송신되고 블록 1은 시간슬롯 17에서 송신될 것이다. 블 록들 5, 6, 13, 14는 그 원래의 스케줄을 유지하고, 즉 이들은 각각 시간슬롯 20, 21, 28, 29에서 송신될 것이다.
이 포인트에서, 서버는 하나의 시간슬롯의 지연 시간을 알고 있다. 요구가 하나의 시간슬롯까지의 지연 시간을 필요로 하는 경우, 요구가 허가되고, 허가 메시지는 지연 시간을 포함한다. 요구가 하나의 시간슬롯보다 작은 지연을 필요로 하는 경우, 요구는 거절되고 메시지는 지연시간을 포함하며, 따라서 사용자는 더 긴 대기시간을 가지는 또 하나의 요구를 제출할 수 있다.
여기에 기재된 원리들의 다양한 변형들 및/또는 확장들이 예측된다. 예를 들면, VOD와 같은 어플리케이션들에 대해, 기재된 시스템은 증가된 개수의 사용자들을 지원하도록 유연하고 스케일링가능하다. 기재된 바와 같은 스케줄 변형은 일부 사용자들에 대해 합리적인 레이턴시 서비스를 제공함으로써 복수의 요구들 및 추가되는 사용자들의 데이터 버스트 영향을 감소시키거나 완화하게 하는데 이용될 수 있고, 여기에서 "합리적인"의 정의는 사용자들에 의해 지정될 수도 있다. 본 발명은 개인 비디오 레코더(PVR) 가능 고객들을 구비하는 VOD 시스템들을 포함하는 다양한 시스템들에게 적용가능하다. 예를 들면, PVR이 이용가능한 경우, 더 늦게 도달하는 클라이언트는 일부 더 이른 클라이언트들에게 미디어 데이터를 전달하는 멀티캐스트 스트림에 참여하고, 그 수신된 데이터를 재생을 위해 필요하게 될 때까지 버퍼링한다. 이것은 요구되는 서버 대역폭을 감소시킬 수 있다. 여기에 기재된 시스템은 특정 컨텐트의 가장 이른 액세스 시간과 같이, 유용한 정보를 고객들에게 제공할 수도 있다. 예를 들면, 시스템은 비디오 명칭 및 그들 각각의 가장 이른 액세스 시간의 리스트를 제공할 수도 있다. 가장 이른 액세스 시간은 사용자들이 컨텐트에 대한 이성적인 요구를 수행하는데 도움울 주고, 이는 사용자들로부터의 의미없는 요구들을 회피하고 시스템 효율을 증가시킬 수 있다. 기재된 시스템은 요구들의 도달에 따라 배열되는 멀티캐스트 송신 스케줄, 현재 이용가능한 대역폭 및 사용자의 허용가능한 지연에 따라 동작한다. 이러한 시스템은 서버 대역폭과 서비스 레이턴시 사이에서 트레이드오프를 수행할 수 있다. 이는 클라이언트들이 데이터를 최적으로 공유할 수 있도록 스트림들을 다이나믹하게 조합할 수 있다.

Claims (9)

  1. 각각의 시간 슬롯에서 M개의 비디오 블록들을 전송할 수 있는 서버로부터 컨텐트를 통신하는 방법으로서 - 상기 M은 1보다 큼 - ,
    복수의 비디오 블록들을 갖는 컨텐트에 대한 요구를 수신하는 단계 - 상기 요구는 지연 파라미터를 포함함 - 와,
    상기 컨텐트를 연속적인 시간 슬롯들에서 시간 슬롯 당 하나의 블록으로 전달하기 위한 스케줄을 생성하는 단계와,
    상기 스케줄이 M개보다 많은 비디오 블록들을 전송시키는 임의의 시간 슬롯을 갖는지 여부를 판정하는 단계와,
    상기 스케줄에 M개보다 많은 비디오 블록들을 전송시키는 시간 슬롯이 존재하는 경우에, M개보다 많지 않은 비디오 블록들을 전송시키는 제1 시간 슬롯에서 상기 컨텐트의 일부의 전달을 지연시키도록 상기 스케줄을 변형하는 단계와,
    상기 변형된 스케줄이 상기 요구의 상기 지연 파라미터를 만족시키는지 여부를 판정하는 단계와,
    상기 변형된 스케줄이 상기 지연 파라미터를 만족시키는 경우에, 상기 변형된 스케줄에 따라 상기 컨텐트를 전송하는 단계
    를 포함하는 컨텐트 통신 방법.
  2. 제1항에 있어서,
    상기 컨텐트의 제1 부분이 다른 요구로 전송되었는지를 판정하는 단계를 더 포함하고,
    상기 제1 부분이 상기 다른 요구로 전송되었다면, 상기 스케줄은 상기 컨텐트의 상기 제1 부분을 포함하고, 상기 컨텐트의 상기 제1 부분은 상기 제1 시간 슬롯에서 전송될 상기 컨텐트의 일부를 포함하고 또한 상기 다른 요구로 전송될 상기 컨텐트의 일부를 포함하지 않는 컨텐트 통신 방법.
  3. 제2항에 있어서,
    상기 요구는 클라이언트 디바이스로부터 수신되고, 상기 지연 파라미터는 상기 클라이언트 디바이스의 사용자에 의해 확립되는 지연 한계를 포함하는 컨텐트 통신 방법.
  4. 제1항에 있어서,
    상기 스케줄은, 전달을 위해 상기 컨텐트의 일부의 전달이 스케줄링되는 제2 시간 슬롯을 포함하는 복수의 시간 슬롯들을 포함하고, 상기 일부는 상기 복수의 비디오 블록들 중 제1 비디오 블럭을 포함하고, 상기 제1 시간 슬롯은 제2 시간 슬롯에 후속하여 발생하고,
    상기 변형된 스케줄이 상기 요구의 상기 지연 파라미터를 만족시키는지 여부를 판정하는 단계는, 상기 제2 시간 슬롯으로부터 상기 제1 시간 슬롯까지의 지연에 기인하는 송신 지연이 상기 지연 파라미터와 연관된 지연 한계를 초과하는지 여부를 판정하는 단계를 포함하는 컨텐트 통신 방법.
  5. 컨텐트를 전달하는 방법으로서,
    비디오에 대한 요구를 수신하는 단계와,
    상기 비디오의 초기 부분에 대해서는 제1 지연을 갖고 상기 비디오의 후속 부분에 대해서는 제2 지연을 갖고 상기 비디오를 전달하기 위한 스케줄을 생성하는 단계
    를 포함하고,
    상기 스케줄을 생성하는 단계는, 상기 요구를 수신할 때부터 상기 비디오의 초기 부분을 전달할 때까지의 시간을 최소화하도록 상기 제1 지연을 선택하는 단계, 및 상기 요구와 연관된 지연 파라미터를 만족시키며 상기 후속 부분의 전달의 지연을 최대화하도록 상기 제2 지연을 선택하는 단계를 포함하는 컨텐트 전달 방법.
  6. 컨텐트를 수신하는 방법으로서,
    컨텐트 제공자로부터 컨텐트를 요구하는 단계와,
    전달 지연 한계를 상기 컨텐트 제공자에게 제공하는 단계와,
    상기 컨텐트의 초기 부분의 전달을 시작하기 위한 제1 시간, 및 상기 컨텐트의 후속 부분의 전달을 시작하기 위한 제2 시간을 포함하는 스케줄에 따라 상기 컨텐트를 수신하는 단계
    를 포함하고,
    상기 제1 시간은 상기 요구를 수신할 때부터 상기 컨텐트의 초기 부분의 전달을 시작할 때까지의 지연을 최소화시키며, 상기 제2 시간은 상기 컨텐트의 후속 부분의 전달을 시작하기 위한 지연을 증가시키면서도 상기 전달 지연 한계를 만족시키는 컨텐트 수신 방법.
  7. 삭제
  8. 컨텐트를 전달하는 방법으로서,
    허용가능한 지연을 포함하여 컨텐트에 대한 요구를 수신하는 단계와,
    상기 요구에 응답하여 상기 컨텐트를 전달하기 위한 스케줄을 생성하는 단계와,
    예상 지연 시간이 상기 허용가능한 지연 내인 경우, 상기 컨텐트를 송신하기 위한 상기 예상 지연 시간을 나타내는 메시지를 송신하는 단계
    를 포함하는 컨텐트 전달 방법.
  9. 제8항에 있어서,
    상기 예상 지연 시간이 상기 허용가능한 지연 내에 있지 않은 경우, 상기 메시지는 상기 요구가 거절된 것을 나타내는 컨텐트 전달 방법.
KR1020097014448A 2007-01-11 2007-01-11 컨텐트 통신을 위한 시스템 및 방법 KR101360690B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2007/000120 WO2008083523A1 (en) 2007-01-11 2007-01-11 System and method for content communication

Publications (2)

Publication Number Publication Date
KR20100014310A KR20100014310A (ko) 2010-02-10
KR101360690B1 true KR101360690B1 (ko) 2014-02-07

Family

ID=39608318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097014448A KR101360690B1 (ko) 2007-01-11 2007-01-11 컨텐트 통신을 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US8732777B2 (ko)
EP (1) EP2127262A4 (ko)
JP (1) JP5479107B2 (ko)
KR (1) KR101360690B1 (ko)
CN (1) CN101601234B (ko)
WO (1) WO2008083523A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101399361B1 (ko) * 2006-08-25 2014-05-26 삼성전자주식회사 무선 통신 방법 및 장치
US9270944B2 (en) 2007-02-14 2016-02-23 Time Warner Cable Enterprises Llc Methods and apparatus for content delivery notification and management
US9071859B2 (en) 2007-09-26 2015-06-30 Time Warner Cable Enterprises Llc Methods and apparatus for user-based targeted content delivery
US8099757B2 (en) 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
US20100058424A1 (en) * 2008-08-26 2010-03-04 Comcast Cable Holdings, Llc System and method for controlling signal traffic peaks on a video interactive network
US20100058393A1 (en) * 2008-08-28 2010-03-04 General Instrument Corporation Switched Digital Video Broadcast Scheduler
US20100125885A1 (en) * 2008-11-19 2010-05-20 Qualcomm Incorporated System and method of providing near video on demand
JP5415625B2 (ja) * 2009-11-24 2014-02-12 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 通信ネットワークにおけるデータトラフィック制御
TW201129037A (en) * 2010-02-03 2011-08-16 Ralink Technology Corp Management method for internet protocol sharing communication mechanism
UA99371C2 (ru) * 2010-12-17 2012-08-10 Общество С Ограниченой Ответственностью "Интер-Барс 4С" Способ распределения ресурсов канала в системе широкополосного доступа во время передачи данных, в том числе мультимедийных данных
TWI458662B (zh) * 2011-05-23 2014-11-01 Air Bag Packing Co Ltd 塑料棧板結構
JP5890517B2 (ja) * 2011-06-24 2016-03-22 トムソン ライセンシングThomson Licensing 3dコンテンツを配信するための方法およびデバイス
JP5949115B2 (ja) * 2012-05-07 2016-07-06 富士ゼロックス株式会社 通信管理システム及びプログラム
US9854280B2 (en) 2012-07-10 2017-12-26 Time Warner Cable Enterprises Llc Apparatus and methods for selective enforcement of secondary content viewing
US20150039725A1 (en) * 2013-08-02 2015-02-05 Time Warner Cable Enterprises Llc Apparatus and methods for resolving resource contention in a content distribution network
US11778014B2 (en) * 2014-12-12 2023-10-03 Arris Enterprises Llc Throttling content download in adaptive HTTP live streaming
US9743368B2 (en) * 2015-04-10 2017-08-22 Time Warner Cable Enterprises Llc Methods and apparatus for synchronized viewing experience across multiple devices
US10911794B2 (en) 2016-11-09 2021-02-02 Charter Communications Operating, Llc Apparatus and methods for selective secondary content insertion in a digital network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594491A (en) * 1995-12-29 1997-01-14 Vxl/Hcr Technology Corporation Near-video-on-demand digital video distribution system utilizing asymmetric digital subscriber lines
US6216006B1 (en) * 1997-10-31 2001-04-10 Motorola, Inc. Method for an admission control function for a wireless data network
US6219704B1 (en) * 1997-11-20 2001-04-17 International Business Machines Corporation Method and apparatus for delivering multimedia content based on network connections
US20040133907A1 (en) * 1999-06-11 2004-07-08 Rodriguez Arturo A. Adaptive scheduling and delivery of television services

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5561456A (en) * 1994-08-08 1996-10-01 International Business Machines Corporation Return based scheduling to support video-on-demand applications
US5964829A (en) 1996-03-27 1999-10-12 Lucent Technologies Inc. Method and apparatus for providing enhanced pay per view in a video server employing a coarse-grained striping scheme
JPH09261573A (ja) * 1996-03-27 1997-10-03 Matsushita Electric Ind Co Ltd タイトル送出管理装置
JPH1169311A (ja) * 1997-08-08 1999-03-09 Toshiba Corp ビデオサーバ装置及び同装置におけるビデオ送信サービスのスケジューリング方法
US7962370B2 (en) * 2000-06-29 2011-06-14 Rodriguez Arturo A Methods in a media service system for transaction processing
FI20001574A (fi) * 2000-06-30 2001-12-31 Nokia Corp Resurssien allokointi ja palvelun välittäminen langattoman verkon yli
US7434242B1 (en) * 2000-08-07 2008-10-07 Sedna Patent Services, Llc Multiple content supplier video asset scheduling
JP2002112231A (ja) 2000-10-02 2002-04-12 Matsushita Electric Ind Co Ltd 映像配信・受信システム
JP2004070689A (ja) * 2002-08-07 2004-03-04 Sony Corp コンテンツ配信システム及びコンテンツ配信装置
CN1679028A (zh) * 2002-08-29 2005-10-05 松下电器产业株式会社 内容处理装置与内容显示装置
US7814519B2 (en) 2003-04-04 2010-10-12 Microsoft Corporation Providing and receiving on-demand assets using a pool of assets containing unavailable assets
WO2005098674A1 (en) * 2004-03-12 2005-10-20 Thomson Licensing System and method for scheduling downloading in a cached network environment
JP2006108831A (ja) 2004-10-01 2006-04-20 Japan Radio Co Ltd ディジタルコンテンツ配信装置およびその方法
CN100352277C (zh) * 2005-06-03 2007-11-28 上海惠晨信息技术有限公司 动态预约调度媒体播控系统资源分配方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594491A (en) * 1995-12-29 1997-01-14 Vxl/Hcr Technology Corporation Near-video-on-demand digital video distribution system utilizing asymmetric digital subscriber lines
US6216006B1 (en) * 1997-10-31 2001-04-10 Motorola, Inc. Method for an admission control function for a wireless data network
US6219704B1 (en) * 1997-11-20 2001-04-17 International Business Machines Corporation Method and apparatus for delivering multimedia content based on network connections
US20040133907A1 (en) * 1999-06-11 2004-07-08 Rodriguez Arturo A. Adaptive scheduling and delivery of television services

Also Published As

Publication number Publication date
KR20100014310A (ko) 2010-02-10
JP5479107B2 (ja) 2014-04-23
JP2010516125A (ja) 2010-05-13
CN101601234A (zh) 2009-12-09
CN101601234B (zh) 2016-05-04
WO2008083523A1 (en) 2008-07-17
EP2127262A1 (en) 2009-12-02
EP2127262A4 (en) 2014-08-13
US8732777B2 (en) 2014-05-20
US20100058406A1 (en) 2010-03-04

Similar Documents

Publication Publication Date Title
KR101360690B1 (ko) 컨텐트 통신을 위한 시스템 및 방법
US9986062B2 (en) Quality of service for distribution of content to network devices
US8533765B2 (en) On demand system and method using dynamic broadcast scheduling
US20130254341A1 (en) Network assisted rate shifting for adaptive bit rate streaming
US20070076766A1 (en) System And Method For A Guaranteed Delay Jitter Bound When Scheduling Bandwidth Grants For Voice Calls Via A Cable Network
Lee On a unified architecture for video-on-demand services
US9438669B2 (en) System and method for packetizing data stream in peer-to-peer (P2P) based streaming service
KR20040110044A (ko) CDMA2000 1x EV-DO 시스템에서 다양한 멀티미디어트래픽을 전송하기 위한 스케줄러(BBS:Buffer BasedScheduler)개발
Evensen et al. Using bandwidth aggregation to improve the performance of quality-adaptive streaming
CN113316263A (zh) 数据传输方法、装置、设备和存储介质
KR20130048442A (ko) 다중 채널을 이용한 콘텐츠 제공 방법 및 시스템
Cai et al. A double patching technique for efficient bandwidth sharing in video-on-demand systems
KR100971351B1 (ko) 씨에이알과 서브 채널을 이용한 근접 주문형 비디오 전송방법
Uno et al. Simple and efficient video-on-demand scheme with segment transmission over high speed network
Hung et al. A near-optimal broadcasting protocol for mobile video-on-demand
KR101293005B1 (ko) Fb기법 및 패칭 기법을 조합한 vod 전송 시스템
El-Gindy et al. " Scheduled-multicast" with application in multimedia networks
CN106713316B (zh) 一种基于接收缓冲的流媒体业务传输资源需求获取方法
Choi et al. Video Placements and Dynamic Streaming Services in Wireless Caching Networks
KR101002623B1 (ko) 데이터 방송을 위한 방송 아이템 스케줄링 방법
Reisslein et al. Periodic broadcasting with VBR-encoded video
Paul et al. Real-time scheduling for synchronized presentation of multimedia information in distributed multimedia systems
Zhang et al. Adaptive channel allocation for large-scale streaming content delivery systems
Rumade Distributed streaming for video on demand
KR20110069489A (ko) 무선 환경에서 유사 주문형 비디오 서비스를 위한 데이터 전송 방법

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
LAPS Lapse due to unpaid annual fee