KR100583067B1 - 네트워크를 거쳐서 데이터를 전달하는 방법 - Google Patents

네트워크를 거쳐서 데이터를 전달하는 방법 Download PDF

Info

Publication number
KR100583067B1
KR100583067B1 KR1020047001588A KR20047001588A KR100583067B1 KR 100583067 B1 KR100583067 B1 KR 100583067B1 KR 1020047001588 A KR1020047001588 A KR 1020047001588A KR 20047001588 A KR20047001588 A KR 20047001588A KR 100583067 B1 KR100583067 B1 KR 100583067B1
Authority
KR
South Korea
Prior art keywords
data
latency
client
data streams
streams
Prior art date
Application number
KR1020047001588A
Other languages
English (en)
Other versions
KR20040041573A (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
Priority claimed from US09/917,638 external-priority patent/US7174384B2/en
Application filed by 디나스테크 아이피알 리미티드 filed Critical 디나스테크 아이피알 리미티드
Publication of KR20040041573A publication Critical patent/KR20040041573A/ko
Application granted granted Critical
Publication of KR100583067B1 publication Critical patent/KR100583067B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26616Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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/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
    • H04N21/26216Content 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 involving the channel capacity, e.g. network bandwidth
    • 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
    • H04N21/26233Content 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 involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • 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/26275Content 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 for distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system
    • 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/4722End-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 additional data associated with the 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/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6181Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via a mobile phone network
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N2007/1739Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal the upstream communication being transmitted via a separate link, e.g. telephone line

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Marketing (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 네트워크를 거쳐서 대규모 주문형 비디오(VOD) 시스템들을 설치하는데 적절한 다수의 클라이언트에 데이터를 전달하는 새로운 방법 및 시스템을 개시한다. 현재의 VOD 시스템들에서, 상기 클라이언트는 네트워크 부하를 현저하게 증가시키지 않고도, 충분한 쌍방향 기능들 즉, 리버스(reverse) 기능을 제공할 수 있는 요청된 데이터의 수신을 개시하기 전에 긴 레이턴시를 겪을 수 있다. 상기 방법은 2개의 데이터 스트림 그룹을 이용하는데, 하나의 그룹은 레이턴시를 최소화시키고, 다른 하나의 그룹은 요구되는 쌍방향 기능들을 제공한다. 안티-레이턴시 데이터 그룹에서는, 균일, 비균일 또는 계층적인 스태거 스트림 간격들이 이용될 수 있다. 본 발명의 시스템은 비교적 작은 스타트업 레이턴시를 가지고 있어, 사용자들은 전형적인 비디오 레코더인 쌍방향 기능들의 대부분을 즐길 수 있다. 또한, 본 발명은 요구되는 다수의 데이터 스트림들 또는 대역폭을 유지할 수 있다.

Description

네트워크를 거쳐서 데이터를 전달하는 방법{METHOD FOR DELIVERING DATA OVER A NETWORK}
본 발명은 네트워크를 거쳐서 데이터를 전달하는 방법 및 시스템에 관한 것으로 특히, 주문형 비디오(VOD: Video-on-Demand) 시스템과 같은 다수의 클라이언트에 반복적인 컨텐츠를 갖는 다량의 데이터를 전달하는 방법 및 시스템에 관한 것이다.
현재의 VOD 시스템들은 많은 해결과제를 안고 있다. 이러한 과제들 중 하나는 수백만에 달할 수 있는 클라이언트들에게 고속-순방향/역방향 및/또는 순방향/역방향-점프와 같은 충분한 상호대화성을 제공하는 방법이다. 동시에, 네트워크 자원들 즉, 대역폭이 한정될 수 있기 때문에, 이러한 기능들의 제공으로 인해 심각한 네트워크 부하를 일으켜서는 안된다. 또한, 모든 클라이언트는 일반적으로 그가 선택한 영화가 가능한 한 즉시 시작되기를 희망한다.
다음의 섹션들은 현재 이용되는 VOD 시스템 및 그로부터 생길 수 있는 단점들 중 일부를 설명한다.
1. 규칙적인 스트림 간격의 근접-VOD(NVOD: Near-VOD)
NVOD 시스템은 규칙적인 스트림 간격(T)을 갖는 스태거 멀티캐스트 스트림(staggered multicast stream)들로 이루어진다(도 1). 상기 스트림들은 (시분할 다중화, 주파수 분할 다중화, 코드 분할 다중화, 파장 분할 다중화 등과 같은) 어떤 다중화 메커니즘들을 통해 사용자들에게 분배하기 위해 동일하거나 서로다른 물리적 미디어로 다중화된다. 상기 분배 메커니즘들은 지점-대-지점, 지점-대-다지점 및 다른 방법들을 포함한다. 각 스트림은 간격(T)의 규칙적인 세그먼트들로 분할되고, 상기 세그먼트들은 각각 1, 2, 3, ..., N의 라벨이 붙는다. 사용자들에게 분배될 컨텐츠는 상기 N개의 세그먼트들로 운반되고, 상기 컨텐츠는 전체 이들 스트림들에서 반복된다. 상기 컨텐츠는 또한 시간에 따라 각 스트림에서 반복된다. 규칙적인 스트림 간격(T)을 갖는 이러한 스태거 스트리밍 배치를 이용함으로써, 사용자들은 언제든지 스타트-업 레이턴시(start-up latency) 이하로 상기 컨텐츠를 받도록 보증받는다. 그러나, 이러한 시스템에서의 사용자 상호대화성을 위한 제공은 존재하지 않는다. 사용자가 디스플레이를 일시정지시킴으로써 상기 컨텐츠를 보는 것을 차단한다면, 상기 사용자는 그 사용자가 일시정지시킨 지점과 동일한 플레이 지점에서 보는 것을 재개할 수 없으며, 계속하여 프레이하는 멀티캐스트 스트림과 보조를 맞추도록 일부 컨텐츠를 스킵(skip)시킨다.
2. 불규칙적인 스트림 간격의 유사-VOD(QVOD: Quasi-VOD)
QVOD 시스템은 불규칙적인 스트림 간격들을 갖는 스태거 멀티캐스트 스트림들로 이루어진다(도 2). 상기 스트림들은 (시분할 다중화, 주파수 분할 다중화, 코드 분할 다중화, 파장 분할 다중화 등과 같은) 어떤 다중화 메커니즘들을 통해 사용자들에게 분배하기 위해 동일하거나 서로다른 물리적 미디어로 다중화된다. 상기 분배 메커니즘들은 지점-대-지점, 지점-대-다지점 및 다른 방법들을 포함한다. 스트림들이 일정하게 존재하는 상기 NVOD 시스템과는 달리, QVOD 시스템에서의 스트림들은 컨텐츠에 대한 사용자들의 요청이 있을 때 생성된다. 어떤 시간 간격(Ti) 내의 사용자들의 요청들은 스트림(i)에 의해 함께 일괄처리되어 함께 제공된다. 상기 스트림 간격들(T1, T2,..., Ti,...)은 불규칙적이다. 상기 스트림들(스트림 1 내지 i 등...)은 모두 요구받으면 제공되어, 컨텐츠 분배가 완료되는 즉시 제거될 것이다. 상기 스트림들은 사용자들의 요청들이 유입될 때 일정하게 생성된다. 불규칙적인 스트림 간격(Ti)을 갖는 이러한 스태거 스트리밍 배치를 이용함으로써, 간격(Ti)내에서 시작하는 사용자들의 특정 그룹이 상기 컨텐츠를 Ti(스타트-업 레이턴시)내에서 받도록 보증받는다. 또한, 이러한 시스템에서의 사용자 상호대화성을 위한 제공은 존재하지 않는다. 사용자가 디스플레이를 일시정지시킴으로써 상기 컨텐츠를 보는 것을 차단한다면, 상기 사용자는 그 사용자가 일시정지시킨 지점과 동일한 플레이 지점에서 보는 것을 재개할 수 없으며, 계속하여 프레이하는 멀티캐스트 스트림과 보조를 맞추도록 일부 컨텐츠를 스킵시킨다.
3. 분산형 쌍방향 네트워크 아키텍쳐(DINA: Distributed Interactive Network Architecture)
DINA 시스템은 출원인의 PCT 출원 PCT/IB00/001857 & 001858에 기술되어 있는 바와 같은 방법 및 시스템을 지칭한다. 상기 DINA 시스템에 있어서, 다수의 분배된 쌍방향 서버들과 결합한 다수의 멀티캐스트 비디오 데이터 스트림들에 의해 고속-순방향/역방향, 순방향/역방향-점프, 슬로우 모션 등을 포함하는 쌍방향 기능 들이 제공될 수 있다. 비록 이러한 상기 DINA 시스템에서 상기 클라이언트에 쌍방향 기능들이 제공될 수 있지만은, 각 사용자의 요청에 대한 스타트-업 시간이 감소된다면 네트워크 부하는 증가할 수 있다. 이것은 상기 멀티캐스트 데이터 스트림들의 스트림 간격에 의해 결정된다. 일반적으로, 스트림 간격이 감소하면, 데이터 스트림들의 수 및 이에 따른 네트워크 부하는 증가하게 된다.
상기 NVOD 및 QVOD 시스템들에 있어서, 컨텐츠를 보기를 희망하는 사용자는 간단하게 다수의 스태거 스트림들 중 하나에 접근(tapping, 이하 '탭핑'이라 언급한다)하여 그 스트림을 공유하는 모든 다른 스트림들과 동시에 상기 컨텐츠를 볼 것이다. 이러한 방식들은 간단하고 효율적이지만은 2가지 난점(difficulty) 즉, 큰 스타트-업 레이턴시 및 사용자 비유연성(user inflexibility)을 겪는다.
제 1 난점에 대해서, 사용자는 요청이 제공되기 전에 1개의 스트림 간격(T)만큼 기다려야 하고, 대기 시간은 상기 스트림 간격에 따라서 수 분 또는 심지어는 수 시간이 될 수도 있다. 비록 상기 스트림 간격이 매우 작을 수 있더라도, 즉, 수 초 아래로 내려가더라도, 이것은 또한 그 시스템이 동일한 양의 컨텐츠를 제공하기 위해 다수의 스트림들을 제공해야한다는 것을 의미한다. 필요한 스트림들의 수는 간단하게
Figure 112004004161987-pct00001
이다. 여기서 R은 컨텐츠의 길이이고, T는 스트림 간격이다. 따라서, 작은 스타트-업 레이턴시는 훨씬 더 높은 전송 대역폭 및 비용을 야기시킬 수 있다. 상기 DINA 시스템은 또한 이러한 난점에 직면할 수 있다.
제 2 난점에 대해서, 멀티캐스트 스트림을 보고있는 사용자들은 다른 시청자 들이 존재하기 때문에 상기 스트림을 자유롭게 차단할 수 없다. 따라서, NVOD 및 QVOD 시스템들은 일시정지, 재시작, 되감기, 슬로우 모션, 고속 순방향 등과 같은 VCR과 같은 쌍방향성을 허용할 수 없다. 이들 시스템들은 또한 새로운 형태의 쌍방향 미디어의 도입이 전개되지 못하게 한다. 최근에, NVOD 및 QVOD를 거쳐서 VCR과 같은 쌍방향성의 어떤 형태를 제공하기 위한 하나의 대중적인 방식은 셋톱박스(STB)에 저장 유닛을 추가하여, 방송되는 모든 이용가능한 컨텐츠를 캐시하는 것이다. 이러한 시스템들은 더 높은 시스템 비용 및 저장 유닛 고장 및 관리와 같은 동작적인 문제들을 겪게 된다.
종래 기술은 VOD 시스템들에 존재하는 문제들에 대한 해결책을 제시하지 못할 수 있다는 것을 알 수 있다. 특히, 현재의 VOD 시스템들은 클라이언트들/사용자들에게 짧은 스타트-업 시간을 갖는 바람직한 쌍방향 기능들을 제공하지 못할 수 있고, 이와 동시에 네트워크 부하를 최소화하지 못할 수도 있다. 따라서, 본 발명의 목적은 종래 기술에 정의된 바와 같은 문제들 중 적어도 일부를 해소시키는 것이다. 적어도, 본 발명의 목적은 대중에게 유용한 선택을 제공하는 것이다.
따라서, 본 발명은, 광범위한 의미에서, 네트워크를 거쳐서 레이턴시 시간을 갖는 적어도 하나의 클라이언트에 데이터를 전송하는 방법 및 대응하는 시스템을 제공하여 상기 데이터의 상기 클라이언트에의 전송을 개시한다. 본 발명의 방법은
클라이언트에 의한 수신을 위해 데이터의 적어도 선두 부분(leading portion)을 포함하는 안티-레이턴시(anti-latency) 데이터 스트림 중 적어도 하나 를 발생시키는 단계와; 그리고
상기 데이터의 적어도 잔여 부분(remaining portion)을 포함하는 적어도 하나의 쌍방향 데이터 스트림을 발생시켜서 상기 클라이언트가 안티-레이턴시 데이터 스트림의 적어도 일부분을 수신한 후에 통합시키는 단계를 포함한다.
상기 안티-레이턴시 데이터 스트림들 및 상기 쌍방향 데이터 스트림들은 적어도 하나의 안티-레이턴시 신호 발생기 및 적어도 하나의 쌍방향 신호 발생기 각각에 의해 발생될 수 있다.
본 발명의 다른 양상은 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 방법 및 이에 대응하는 시스템을 제공하는 것이고, 상기 방법은 상기 데이터를 K개의 데이터 세그먼트들로 분할하는 단계를 포함하고, 각 데이터 세그먼트는 상기 네트워크를 거쳐서 전송하는데 시간(T)을 필요로 한다. 여기서, 상기 K개의 데이터 세그먼트들 각각은 헤드부 및 꼬리부를 포함하고, 상기 헤드부는 바로 이전의 세그먼트의 꼬리부의 데이터의 일부를 포함하여 상기 클라이언트에 의해 수신될 때 상기 K개의 데이터 세그먼트들의 통합을 용이하게 한다.
상기 K개의 데이터 세그먼트들은 신호 발생기에 의해 발생될 수 있다.
본 발명의 또다른 양상은 네트워크를 거쳐서 레이턴시 시간을 갖는 적어도 하나의 클라이언트에 데이터를 전송하는 방법 및 이에 대응하는 시스템을 제공하여 상기 데이터의 상기 클라이언트에의 전송을 개시하는 것이다. 상기 방법은
클라이언트에 의한 수신을 위해 데이터의 적어도 선두 부분을 포함하는 적어도 하나의 안티-레이턴시 데이터 스트림을 발생시키는 단계와;
상기 클라이언트에서 상기 선두 부분을 사전인출 데이터로서 사전인출하는 단계와; 그리고
상기 데이터의 적어도 잔여 부분을 포함하는 적어도 하나의 쌍방향 데이터 스트림을 발생시켜서 상기 클라이언트가 상기 선두 부분에 통합시키는 단계를 포함한다.
본 발명은 또한 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 방법 및 이에 대응하는 시스템을 제공하며, 상기 방법은 다수의 안티-레이턴시 데이터 스트림들을 발생시키는 단계를 포함하고, 여기서 상기 안티-레이턴시 데이터 스트림들은,
상기 데이터의 선두 부분의 적어도 하나의 선두 세그먼트를 포함하는 선두 데이터 스트림과, 상기 선두 세그먼트는 상기 선두 데이터 스트림내에서 계속하여 반복되고; 그리고
다수의 마무리(finishing) 데이터 스트림들을 포함하고, 상기 마무리 데이터 스트림들 각각은,
상기 데이터의 상기 선두 부분의 적어도 나머지를 포함하고; 그리고
상기 마무리 데이터 스트림 내에서 계속하여 반복되고, 각각의 일련의 마무리 데이터 스트림은 안티-레이턴시 시간 간격에 의해 스태거된다.
본 발명은 또한 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 방법 및 이에 대응하는 시스템을 제공한다. 상기 방법은 1 내지 M의 M개의 안티-레이턴시 데이터 스트림들을 발생시키는 단계를 포함하고, mth 안티-레이턴시 데이터 스트림은 Fm 세그먼트들을 갖고, Fm 은 mth 피보나치 수(Fibonacci number)이고; 그리고 상기 Fm 세그먼트들은 상기 mth 안티-레이턴시 데이터 스트림 내에서 계속하여 반복된다.
본 발명의 또다른 양상은 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 방법 및 이에 대응하는 시스템을 제공하는 것이고, 상기 데이터는 K개의 세그먼트들로 분할되고, 각 데이터 세그먼트는 상기 네트워크를 거쳐서 전송하는데 시간(T)을 필요로 한다. 상기 방법은 1 내지 K개의 안티-레이턴시 데이터 세그먼트들을 포함하는 M개의 안티-레이턴시 데이터 스트림들을 발생시키는 단계를 포함하고, 여기서 상기 안티-레이턴시 데이터 세그먼트들은 kth 선두 세그먼트가 상기 안티-레이턴시 데이터 스트림들 내에서 안티-레이턴시 시간 간격 ≤kT에 의해 반복되도록 상기 M개의 안티-레이턴시 데이터 스트림들로 분배된다.
본 발명은 또한 네트워크를 거쳐서 적어도 하나의 클라이언트에 전송되는 데이터를 수신하는 방법을 제공한다. 전송될 상기 데이터는 K개의 세그먼트들로 분할되며, 각 세그먼트들은 상기 네트워크를 거쳐서 전송하는데 시간(T)을 필요로 한다. 상기 데이터는 데이터 스트림들의 2개의 배치로 분할되고, 상기 안티-레이턴시 데이터 스트림들은 M개의 안티-레이턴시 데이터 스트림들을 포함하고, 상기 쌍방향 데이터 스트림들은 N개의 쌍방향 데이터 스트림들을 포함한다. 상기 데이터 수신 방법은,
상기 데이터에 대한 요청을 일으키는 단계와, 상기 요청은 상기 클라이언트의 프로세서에 의해 발생되고; 그리고
상기 클라이언트를 상기 M개의 안티-레이턴시 데이터 스트림들에 연결하여 상기 M개의 안티-레이턴시 데이터 스트림들로 데이터를 수신하는 단계를 포함한다. 상기 클라이언트 또는 수신기는 커넥터에 의해 상기 안티-레이턴시 데이터 스트림들에 연결할 수 있다.
본 발명은 또한 네트워크를 거쳐서 적어도 하나의 클라이언트에 전송되는 데이터를 수신하는 방법 및 이에 대응하는 시스템을 제공하며, 여기서, 상기 데이터는 선두 부분 및 잔여 부분을 포함하고, 상기 잔여 부분은 적어도 하나의 쌍방향 데이터 스트림에 의해 전송되며, 상기 방법은
상기 클라이언트에서 상기 선두 부분을 상기 클라이언트의 버퍼에 포함되는 사전인출 데이터로서 사전인출하는 단계와; 그리고
상기 사전인출 데이터를 프로세서에 의해 상기 잔여 부분에 통합시키는 단계를 포함한다.
대안적으로, 계속하여 발생되는 대신에, 상기 안티-레이턴시 데이터 스트림들은 상기 클라이언트로부터 요청이 있을시에 발생될 수 있다.
상기 방법들 및 시스템들의 다른 실시예들 및 옵션들은 다음의 섹션들에서 설명될 것이고, 상기 설명을 정독한 이 기술분야의 당업자이면 명백하게 알 수 있을 것이다.
이제, 첨부 도면들을 참조하여 예시적으로 본 발명의 바람직한 실시예들을 설명하기로 한다.
도 1은 NVOD 시스템의 데이터 스트림 구조를 도시하고;
도 2는 QVOD 시스템의 데이터 스트림 구조를 도시하고;
도 3은 본 발명의 데이터 전송 시스템의 전반적인 시스템 아키텍쳐를 도시하고;
도 4는 본 발명의 데이터 전송 시스템의 구성(1)의 데이터 스트림 배치를 도시하고;
도 5는 본 발명의 데이터 전송 시스템의 구성(2)의 데이터 스트림 배치를 도시하고;
도 6은 본 발명의 데이터 전송 시스템의 구성(3)의 데이터 스트림 배치를 도시하고, 도 4 및 도 5와 비교하여 그룹 Ⅱ 데이터 스트림들의 배치에 있어서의 차이에 주목할 필요가 있으며;
도 7은 구성(3)의 또다른 그룹 Ⅰ데이터 스트림들의 배치를 도시하고;
도 8은 본 발명의 데이터 전송 시스템의 구성(4)의 그룹 Ⅰ데이터 스트림들의 데이터 스트림들의 배치를 도시하고;
도 9는 본 발명의 데이터 전송 시스템의 구성(4)의 그룹 Ⅰ데이터 스트림들의 또다른 배치를 도시하고;
도 10은 본 발명의 데이터 전송 시스템의 구성(5)의 데이터 스트림들의 배치 중 하나를 도시하고, 이 도면에 도시된 그룹 Ⅰ데이터 스트림들의 특정 배치는 구성들(1 & 3)을 결합하고;
도 11은 본 발명의 데이터 전송 시스템의 멀티캐스트 데이터 스트림 발생기의 시스템 구성을 도시하고;
도 12는 본 발명의 데이터 전송 시스템의 수신기의 시스템 구성을 도시하고;
도 13은 로컬 저장 대 전송 대역폭 교환 관계를 도시하고;
도 14는 구성(1)의 대안적인 "주문" 방식을 도시하고;
도 15는 구성(2)의 대안적인 "주문" 방식을 도시하고; 그리고
도 16은 구성(3)의 대안적인 "주문" 방식을 도시한다.
이제, 다음의 섹션들에서 상기 도면들을 참조하여 예시적으로 본 발명을 설명하기로 한다. 비록 그것들 중 일부는 이 기술분야의 당업자이면 쉽게 이해할 수 있지만은, 다음의 표 1은 명세서 전반에 걸쳐서 이용된 약자들 및 기호들을 그들의 의미와 함께 도시하여 약자들 또는 기호들은 쉽게 참조될 수 있다.
약자/기호 의미
VOD 주문형 비디오(Video-on-Demand)
NVOD 근접 주문형 비디오(Near Video-on-Demand)
QVOD 유사 주문형 비디오(Quasi Video-on-Demand)
DINA PCT 출원 번호 PCT/IB00/001857 & 1858에 기술되어 있는 바와 같은 분배된 쌍방향 네트워크 아키텍쳐(Distributed Interactive Network Architecture)
VCR 비디오 카세트 레코더(Video Cassette-Recorder)
STB 셋톱박스(Set-Top-Box)
DDVR 디스크 없는 디지털 비디오 레코더(Diskless Digital Video Recorder), 시스템의 클라이언트
IVOD 즉시 주문형 비디오(Instant Video-on-Demand), 본 발명의 시스템의 가능한 이름
J 개별 안티-레이턴시 데이터 스트림에서의 안티-레이턴시 데이터 세그먼트들의 수(구성 1 내지 3) 또는 전송될 데이터의 선두 부분의 데이터 세그먼트들의 수(구성 4)
K 전송될 데이터의 데이터 세그먼트들의 수
M 안티-레이턴시 (그룹 Ⅰ) 데이터 스트림들의 수
N 쌍방향 (그룹 Ⅱ) 데이터 스트림들의 수
Q 전송될 데이터의 양
R 네트워크를 거쳐서 Q 데이터를 전송하는데 필요한 시간
S 각 데이터 세그먼트에서의 데이터의 양
T 네트워크를 거쳐서 각 데이터 세그먼트를 전송하는데 필요한 시간
A 그룹 Ⅰ(1) 스트림들에서의 데이터 스트림들의 번호
C 그룹 Ⅰ(1) 스트림들의 데이터에서의 데이터 스트림들의 수
B 그룹 Ⅰ(2) 스트림들에서의 데이터 스트림들의 수
D 그룹 Ⅰ(2) 스트림들의 데이터에서의 데이터 스트림들의 수
E 정확하지 않은 점프 간격에서의 데이터 세그먼트들의 수
표 1. 이용된 약자들 및 기호들
비록 다음의 설명이 비디오로 전송될 데이터를 참조하지만은, 다른 형태의 데이터 예를 들면, 오디오 또는 소프트웨어 프로그램들, 또는 그들의 결합도 또한 본 발명의 시스템에서 전달될 수 있다. 예컨대, 본 발명은 요청에 따라 네트워크를 거쳐서 다수의 클라이언트들에게 동작 시스템 소프트웨어를 배치하는데 이용될 수 있다. 또한, 본 발명은 반복적인 내용을 갖는 다량의 데이터를 다루는 데이터 전송 시스템들 예를 들면, 많은 복잡하지만 반복적인 3D 물체들을 다루는 컴퓨터의 비디오 시스템 버스에서 이용될 수 있다. 또한, 본 발명은 디지털 데이터의 전송에만 한정되지 않는다.
본 발명에서는, 배경기술에서 설명된 바와 같은 VOD 시스템들에서의 기존의 문제들을 극복하기 위하여 멀티 스트림 멀티캐스팅 기술이 이용된다. 이 기술을 이용함으로써, 사용자들은 셋톱박스(STB)에서 저장 유닛을 추가할 필요 없이 VCR-형의 상호대화(VCR-liked interactivity)가 가능하게 되고, 날짜 단위로 사용자가 시청할 수 있는 모든 컨텐츠를 캐시(cache)할 수 있게 된다.
도 3은 시스템 구성을 도시한다. 멀티캐스트 스트림들은 멀티캐스트 서버 유닛으로부터 발생된다. 상기 스트림들은 물리적 미디어로 다중화되어 분배 네트워크를 통해서 최종 사용자들에게 분배된다. 각각의 사용자 단에는, 처리할 다수의 스트림들을 선택하는 DDVR과 같은 셋톱박스(STB)가 존재한다. (이후 도 4 내지 도 10에 도시된 바와 같이) 바람직한 방식으로 상기 스트림들에 운반될 컨텐츠를 배치함으로써, 스타트-업 레이턴시가 최소화되고 사용자들에게 쌍방향 기능들이 제공된다. 상기 DDVR은 멀티 스트림을 다루기 위하여 충분한 대역폭, 버퍼 및 처리 능력을 구비하여야 한다.
IVOD 시스템이라 칭할 수 있는 본 발명의 데이터 전송 시스템은 NVOD 시스템과 유사해 보일 수 있다. 그러나, 상기 IVOD와 NVOD 시스템들은 다음의 요점들에 의해 서로 다르다.
1. 컨텐츠가 스태거 스트림들에 어떻게 부과되는지
2. 스태거 스트림들이 어떻게 발생되는지
3. 컨텐츠를 재저장하기 위해서 DDVR이 어떻게 다수의 스태거 스트림들을 선택하여 처리하는지
데이터 스트림들을 설명함에 있어서 상기 및 명세서 전반에 이용된 단어 "스태거(staggered)"는 데이터 스트림들 각각이 서로다른 시간에 전송을 시작하는 경우를 가리킨다. 따라서, 2개의 인접한 데이터 스트림들의 2개의 "프레임들"(여기서, 용어 "프레임"은 각 데이터 스트림의 반복 유닛을 나타냄)은 시간 간격에 의해 분할된다.
넓은 의미에서, 데이터 전송 방법 및 시스템은 2개의 데이터 스트림들의 그룹(그룹 Ⅰ 및 Ⅱ)을 제공하는 것으로 설명될 수 있다. 안티-레이턴시 데이터 스트림들이라 칭할 수 있는 그룹 Ⅰ 데이터 스트림들은 요구되는 데이터의 전송을 개시하는 레이턴시를 줄이는 역할을 한다. 그룹 Ⅰ 데이터 스트림들은 적어도 하나의 안티-레이턴시 신호 발생기에 의해 발생될 수 있다. 쌍방향 데이터 스트림들이라 칭할 수 있는 그룹 Ⅱ 데이터 스트림들은 사용자들에게 바람직한 쌍방향 기능들을 제공하는 역할을 한다. 그룹 Ⅱ 데이터 스트림들은 적어도 하나의 쌍방향 신호 발생기에 의해 발생될 수 있다. 그룹 Ⅱ 데이터 스트림들에 의해 제공되는 쌍방향 기능들에 대해서, 이것은 출원인의 PCT 출원 번호 PCT/IB00/001857 & 1858를 참조할 수 있으며, 그 내용이 거기에 참조문헌으로써 인용되어 있다. 쌍방향 기능들의 동작은 이 출원에서 본 발명의 부분으로 고려되어서는 안되며, 세부사항들을 추가로 본원에서 설명하지 않기로 한다.
IVOD 시스템의 동작은 다음의 예들에 의해 잘 예시될 수 있다. 이 예들 각각은 유효 IVOD 시스템이지만, 그것들은 모두 다양한 교환들로 세부적으로 서로 다르다. 이 예들은 단지 IVOD 시스템들의 작업 원리들을 보여주고자 하는 것이고, IVOD 동작의 가능한 방법만을 설명하고자 하는 것이 아니다.
다음의 예들에서, 전체 데이터의 양(Q)을 갖는 전송될 컨텐츠는 네트워크를 거쳐서 전송하는데 전체 시간(R)을 필요로 한다. 상기 컨텐츠는 예를 들면 영화일 수 있다. 상기 Q 데이터는 각각 데이터의 양(S)을 갖는 K개의 세그먼트들로 분할된다. 각 데이터 세그먼트는 네트워크를 거쳐서 전송되는데 시간(T)을 필요로 한다. Q와 S는 메가바이트(magabytes) 단위이고, R과 T는 시간의 단위이다. 편리함을 위하여, 상기 Q 데이터의 데이터 세그먼트들에 각각 1 내지 K의 라벨을 붙인다. 따라서,
Figure 112004004161987-pct00002
이다. 상기 Q 데이터는 선두 부분과 잔여 부분으로 분할된다. 대부분의 경우들에서, 그룹 Ⅰ 안티-레이턴시 데이터 스트림들은 선두 부분만을 포함한다. 그룹 Ⅱ 쌍방향 데이터 스트림들은 잔여 부분 또는 상기 Q 데이터의 전체 세트를 포함하고, 이것은 시스템 관리자에 의해 결정될 설계 선택의 문제이다.
개별 데이터 세그먼트가 서로다른 데이터의 양을 포함하고, 그것들 모두가 전송을 위해 시간(T)을 필요로 한다면, 시스템은 여전히 작업할 수 있음에 주목할 필요가 있다. 이것은 상기 개별 데이터 세그먼트의 전송률을 제어함으로써 달성가능하다. 그러나, 개별 데이터 세그먼트들은 편리함을 위하여 동일한 데이터의 양(S)을 갖는 것이 바람직하다. 한편, 상기 데이터 세그먼트들 각각이 동일한 데이터의 양(S)을 갖지만 서로 다른 전송 시간을 갖도록 시스템을 구현하는 것은 비교적 어렵다.
비록 다음의 설명이 데이터 예를 들면, 영화의 하나의 세트의 전송을 가리키 지만은, 상기 방법 및 시스템은 예를 들면, 이용가능한 대역폭에 따라 어떤 수의 데이터 세트들을 전송할 수 있다는 것은 이 기술분야의 당업자이면 명백하게 알 수 있다.
A. 듀얼 스트리밍(Dual Streaming) IVOD 시스템(구성 1)
가장 단순한 IVOD 시스템은 듀얼 스트리밍 동작을 특징으로 한다. 듀얼 스트리밍은 각 사용자가 언제든지 멀티캐스트 데이터 스트림들 중 많아야 2개에 탭핑하게 됨을 의미한다. 대부분, 사용자는 단지 하나의 데이터 스트림에만 탭핑할 수 있다.
도 4에 도시된 바와 같이 세그먼트들은 스태거 스트림들에 부과된다. 스태거 스트림들의 2개의 그룹들이 존재한다. 그룹 Ⅰ 안티-레이턴시 데이터 스트림들에 대해서, 각 프레임에는 J개의 세그먼트들이 존재한다. T는 안티-레이턴시 시간 간격이고, 또한 IVOD 시스템의 스타트-업 레이턴시에 대한 상위 경계일 수 있다. 비록 상기 안티-레이턴시 시간 간격이 T 이외의 임의의 바람직한 값으로 설정될 수 있지만은, 각각의 안티-레이턴시 데이터 스트림은 바람직하게는 상기 안티-레이턴시 시간 간격(T)에 의해 스태거된다.
이 특정 예에서, J는 16과 같고, T는 30초이다. 그래서, 상기 그룹 Ⅰ 데이터 스트림들의 각각에서의 프레임들은 JT 시간인 8분후에 그 자체가 반복한다. 그룹 Ⅰ에는 전체 M개의 스트림들이 존재한다.
그룹 Ⅱ 쌍방향 데이터 스트림들에 대해서, N개의 쌍방향 데이터 스트림들이 존재하고, 그들 각각은 쌍방향 시간 간격에 의해 스태거된다. 비록 상기 쌍방향 시 간 간격은 다시 임의의 바람직한 값으로 설정되지만은, 상기 쌍방향 시간 간격은 바람직하게는 공학적 편리함으로 위하여 JT(즉, 이 예에서는 8분)로 설정된다. 컨텐츠의 길이가 R(R은 120분과 같다고 하자)이라고 가정하면, 그룹 Ⅱ에서는 적어도 전체
Figure 112004004161987-pct00003
개의 스트림들이 존재해야 한다. N은 이 값보다 더 크지만, 이것은 불필요한 네트워크 부하를 야기시킬 수 있다.
사용자가 시간 ti 에 컨텐츠를 시청하기 시작할 때, 사용자 단에서의 DDVR은 그룹 Ⅰ으로부터 하나의 스트림(스트림 Ⅰi)을 선택하고, 그룹 Ⅱ로부터 하나의 스트림(스트림 Ⅱj)을 선택하여 탭핑할 것이다. 일단 클라이언트가 스트림 Ⅰi 및/또는 스트림 Ⅱj에 접속하면, 상기 데이터 스트림들은 상기 DDVR 즉, 상기 클라이언트에 의해 처리되고, 세그먼트들은 세그먼트 시퀀스 번호에 따라 버퍼링된다. 스트림 간격(T)의 상기 그룹 Ⅰ의 스태거 스트림들의 이용가능성은 T와 동일하게 되도록 스타트-업 레이턴시를 최소화한다.
대안적으로, 사용자 또는 클라이언트는 스트림 Ⅰi로 탭핑하여 스트림 Ⅱj로 탭핑하기 전에 상기 클라이언트에 의해 수신되도록 선두 부분의 데이터 전체를 대기한다. 상기 DDVR이 그룹 Ⅰ 스트림에 래치(latch)된 후, 상기 DDVR은 즉시 병합하기 위한 적절한 그룹 Ⅱ 스트림을 검색할 것이다. 이러한 특정 경우에, 각 그룹 Ⅱ 데이터 스트림들은 바람직하게는 상기 Q 데이터의 잔여 부분만을 포함한다.
데이터 스트림들의 병합 방법은 DINA 기술에서 발견될 수 있다. 병합한 후에, 상기 그룹 Ⅰ 스트림은 더이상 필요하지 않고, 상기 DDVR은 후속하는 시청을 위해 단지 스트림 Ⅱj에 의지한다. 이것은 네트워크 부하를 최소화시키기 위한 최적화된 대안일 뿐이다.
일단 시스템이 시작하면, 사용자는 일시정지, 재시작, 되감기 및 슬로우 모션 플레이백을 포함하는 다음의 쌍방향 요청들을 개시할 수 있다. 그러나, 순방향 및 역방향 점프들은 (임의의 특정 시간에) 그룹 Ⅰ 또는 그룹 Ⅱ 스트림들 중 임의의 하나로 점프하는 것으로 제한될 수 있다. 이러한 문제는 시스템의 파라미터들을 미세 조정함으로써 해결될 수 있다. 예를 들면, 그룹 Ⅰ 데이터 스트림들은 저작권 표시와 같은, 비교적 소수의 사람들이 보고싶어 하는 컨텐츠를 포함하도록 설계될 수 있다.
이러한 타입의 IVOD에서 전체 스트림 수는
Figure 112004004161987-pct00004
이다. 최적의 시스템 구성은
Figure 112004004161987-pct00005
로 계산되고, 최적의 전체 스트림 수는
Figure 112004004161987-pct00006
로 주어진다.
B. 듀얼 스트리밍 IVOD 시스템(구성 2)
IVOD 시스템의 제 2 예는 또한 듀얼 스트리밍 동작을 특징으로 한다. 게다가, 컨텐츠는 규칙적인 길이(T)의 K개의 세그먼트들로 분할되고, 세그먼트들에는 각각 1 내지 K의 라벨이 붙는다. 상기 세그먼트들은 도 5에 도시된 바와 같은 패턴으로 스태거 스트림들에 부과된다.
이러한 구성에는, 2개의 스태거 스트림 그룹들이 존재한다. 그룹 Ⅰ 안티-레이턴시 데이터 스트림들에 대해서, 각 프레임에 J개의 세그먼트들이 존재하고, 상기 프레임들은 각 스트림에서 반복된다. 이 예에서, J는 다시 16과 동일하도록 선 택되고, T는 30초이다. 이 구성은 그룹 Ⅰ 데이터 스트림들 중 하나 즉, 스트림 Ⅰ1이 단지 모든 시간 슬롯들에서 반복된 세그먼트 1을 포함한다는 점을 특징으로 한다. 스트림들 Ⅰ2 내지 Ⅰ9은 세그먼트 2 내지 17을 포함한다. 다시 말하면, 세그먼트 1은 선두 부분의 선두 세그먼트를 포함하는 선두 데이터 스트림으로서 시청될 수 있다. 세그먼트들 2 내지 9는 J개의 세그먼트들에서 선두 부분의 나머지를 포함하는 다수의 마무리 데이터 스트림들로서 고려될 수 있다. 상기 그룹 Ⅰ 스트림 간격은 임의의 바람직한 값이 되도록 선택될 수 있지만, 또 바람직하게는 구성 1에서와 같이 동일한 이유로 인해 T가 되도록 설정된다. 스트림들 Ⅰ2 내지 Ⅰ9은 JT(즉, 이 예에서는 8분) 후에 그 자체를 반복한다.
이러한 특정 예에서, 상기 선두 데이터 스트림 및 상기 마무리 데이터 스트림의 부드러운 병합을 위해 그룹 Ⅰ에 적어도 전체
Figure 112004004161987-pct00007
개의 스트림들이 존재해야 한다. M이 이 값보다 더 작으면, 사용자는 "드롭핑 프레임" 현상을 겪을 수 있다. M이 이 값보다 더 크면, 이것은 불필요한 네트워크 부하를 야기할 수 있다. 이것은 시스템 관리자(administrator)에 의해 결정되도록 남겨둬야 하는 설계 선택의 문제이다.
비록 도 5에 도시된 선두 세그먼트가 단지 하나의 선두 세그먼트를 포함하지만은, 선두 데이터 스트림은 1개 이상의 선두 세그먼트 예를 들면, 세그먼트들 1 내지 4를 포함할 수 있다는 것을 이해해야 한다. 이러한 구성 2의 그룹 Ⅰ안티-레이턴시 데이터 스트림들의 상기 조건들은 따라서 T가 4배로서 길게 시청될 수 있 고, 이러한 변경은 그룹 Ⅱ 쌍방향 데이터 스트림들에 영향을 미치지 않는다. 이러한 경우에, 사용자는 더 큰 스타트-업 레이턴시를 겪을 수 있다. 한편, M은 상당히 감소되어, 선두 데이터 스트림 및 마무리 데이터 스트림의 부드러운 병합을 위해
Figure 112004004161987-pct00008
이 될 수 있다. 비록 이것은 덜 바람직하지만은, 이것은 시스템 관리자에 의해 결정되어야 하는 설계 선택의 문제이다.
그룹 Ⅱ 스트림들에 대해서, 스트림들의 배치 및 설정은 이전의 예와 동일할 수 있고, 동일한 설정 및 변형들은 또한 이 응용에 적용가능하다.
사용자가 시간 ti에 컨텐츠를 시청하기 시작할 때, 사용자 단에서의 DDVR은 즉시 스트림 Ⅰ1에 탭핑할 것이다. 스타트-업 레이턴시는 선두 세그먼트가 시간 주기(T)마다 반복되기 때문에 T로 제한되어야 한다. 선두 세그먼트에서의 모든 데이터가 수신된 후, 상기 DDVR은 그룹 Ⅰ 마무리 데이터 스트림들, 이 경우에서는 Ⅰ2 내지 Ⅰ9 중 하나에 탭핑할 것이다. 예시를 용이하게 하기 위하여, 스트림 Ⅰi가 선택된다. 대안적으로, 상기 DDVR은 선두 데이터 스트림에 탭핑하고, 상기 DDVR이 그렇게 할 수 있는 경우 동시에 마무리 데이터 스트림들 중 하나에 탭핑한다. 후자의 경우에, 두 스트림들은 DDVR에 의해 처리되고, 세그먼트들은 세그먼트 시퀀스 번호에 따라 버퍼링된다.
상기 DDVR은 또한 그룹 Ⅱ 스트림들 중 하나(이 경우 스트림 Ⅱ2)에 탭핑할 것이다. 상기 DDVR이 그룹 Ⅱ 스트림들에 탭핑하는 시간은 선택사항으로써, 다음과 같이 정해질 수 있다.
1. 선두 데이터 스트림(스트림 Ⅰ1)에 탭핑한 후 즉시
2. 마무리 데이터 스트림들 중 하나에 탭핑한 후 즉시
3. 그룹 Ⅰ 데이터 스트림들에 포함된 선두 부분내의 모든 데이터가 DDVR에 의해 수신된 후
일반적으로, 상기 DDVR은 그룹 Ⅰ 스트림들내의 모든 데이터가 클라이언트에 의해 수신되거나 플레이되기 전에 적어도 바로 그룹 Ⅱ 스트림들 중 하나에 탭핑해야 한다.
그룹 Ⅰ 스트림들내의 모든 데이터가 버퍼링되고 수신된 후에, 상기 DDVR은 그룹 Ⅱ 스트림들 중 하나에 병합한다. 병합 기술은 DINA 기술에 설명된다. 병합한 후에, 상기 그룹 Ⅰ 스트림(즉, 스트림 Ⅰi)은 더이상 필요하지 않고, 상기 DDVR은 단지 후속하는 시청을 위해 그룹 Ⅱ 스트림에만 의지하여 대역폭을 세이브한다. 임의의 시간에 수신된 임의의 허용가능한 쌍방향 요청은 이전에 DINA 기술에 도시된 바와 같이 간직될 수 있다.
이러한 IVOD 시스템에서의 전체 스트림들의 수는
Figure 112004004161987-pct00009
이다. N은 바람직하게는
Figure 112004004161987-pct00010
와 동일하기 때문에, 최적의 구성은
Figure 112004004161987-pct00011
로 주어지고, 상기 시스템의 최적의 전체 데이터 스트림들의 수는
Figure 112004004161987-pct00012
과 같다.
C. 듀얼 스트리밍 IVOD 시스템(구성 3)
IVOD 시스템의 제 3 예는 또한 파보나치 수에 근거한 크기를 갖는 계층적인 주기적 프레임 구조로 배치된 세그먼트들을 갖는 듀얼 스트리밍 동작을 특징으로 한다. 또한, 컨텐츠는 규칙적인 길이(T)의 K개의 세그먼트들로 분할되고, 상기 세그먼트들에는 각각 1 내지 N의 라벨이 붙는다. 상기 세그먼트들은 도 6에 도시된 바와 같은 패턴으로 스태거 스트림들에 부과된다. 또한 스태거 스트림들의 2개의 그룹이 존재한다.
이러한 구성에서, 그룹 Ⅰ 데이터 스트림들은 J개의 세그먼트들을 갖는 선두 부분에 데이터를 포함한다. 이 J는 구성 1 및 구성 2에서 이용된 것과 약간 다르다. 1 내지 M의 라벨이 붙은 M개의 그룹 Ⅰ 데이터 스트림들이 존재한다. 그룹 Ⅰ 스트림 각각(Ⅰm)에 대해서, m은 스트림 번호를 표시하는 정수이고, 프레임 주기는 Fm 으로 주어지고, Fm 은 m번째 파보나치 수이다. 먼저 몇개의 파보나치 수들이 표 2에 도시된다. 파보나치 수들은 Fy = Fy-1 + Fy-2 이 되는 성질을 가지면, 여기서 y는 3으로부터 시작하는 정수이다. 그룹 Ⅰ 스트림 간격은 바람직하게는 구성 1 및 구성 2에서와 같이 T로 설정된다. 이 예에서는 12개의 그룹 Ⅰ 스트림들이 존재한다. 그룹 Ⅱ 스트림들에 대해서, 상기 스트림들의 배치 및 설정은 이전의 예들과 유사하지만, 예시를 위하여, 그룹 Ⅱ 스트림들은 세그먼트 81에서 시작한다.
j 1 2 3 4 5 6 7 8 9 10 11 12
Fj 1 2 3 5 8 13 21 34 55 89 144 233
표 2. 피보나치 수
동작 원리는 다수의 서로 다른 변형들이 가능하지만은 다음의 설명에 의해 잘 설명될 수 있다. 사용자가 시간(t)에 컨텐츠를 시청하기 시작할 때, 사용자 단 에서의 DDVR은 즉시 2개의 그룹 1 데이터 스트림들 Ⅰ1 및 Ⅰ2에 탭핑할 것이다. 스트림 Ⅰ1으로부터의 세그먼트 1 및 스트림 Ⅰ2로부터의 세그먼트 2 또는 3 둘다는 버퍼링될 것이다. 이제 버퍼내에는 2개의 세그먼트들이 존재하고, 스트림 Ⅰ2는 2의 프레임 크기를 가지며, 스트림 Ⅰ2는 DINA 기술에 설명된 바와 같은 방법을 이용하여 부드럽게 병합될 수 있다. 따라서, 스타트 업 레이턴시는 T로 제한되어야 한다. 세그먼트 1이 수신된 후, DDVR은 스트림들 Ⅰ2 및 Ⅰ3에 탭핑할 것이다. 스트림 Ⅰ2에는 단지 2개의 세그먼트들만 존재하기 때문에, 세그먼트 3은 세그먼트 2가 수신될 동안에 버퍼링되거나, 혹은 세그먼트 3은 세그먼트 2의 완료 다음에 즉시 스트림 Ⅰ2에서 이용가능하게 될 것이다. 세그먼트 2 및 세그먼트 3 둘다 수신된 후, DDVR은 스트림들 3 및 4에 탭핑할 것이고, 처리는 전과 같이 계속한다. 두 스트림들은 DDVR에 의해 처리되고, 여분의 세그먼트들은 세그먼트 시퀀스 번호에 따라 버퍼링된다.
상기 논의에서, DDVR은 레이턴시가 T로 제한되도록 영화를 스타트 업하기 위해 제 1 및 제 2 데이터 스트림들에 접속하는 것으로 추정된다. 그러나, 사용자가 바란다면, 그는 먼저 m번째 및 (m+1)번째 데이터 스트림들에 탭핑하도록 선택할 수 있다. 여기서, m은 1보다 큰 임의의 수이다. 사용자는 여전히 컨텐츠를 시청할 수 있지만, 더 큰 레이턴시를 겪을 수 있다. 이것은 예를 들면, 영화의 처음 몇분을 스킵하고 싶어하는 일부 사용자들에게 바람직할 수 있다.
또한, 구성 2에서와 같이, 도 6에 도시된 데이터 세그먼트들 각각은 전송될 상기 데이터의 K개의 세그먼트들 중 1개 이상의 세그먼트들을 포함할 수 있다. 예 를 들면, 도 6에 도시된 데이터 블록들 각각은 실제로 5개의 데이터 세그먼트들을 포함할 수 있다. 이러한 구성 3의 그룹 Ⅰ 안티-레이턴시 데이터 스트림들의 상기의 조건들은 T가 5로서 시청될 수 있고, 이러한 변경은 그룹 Ⅱ 쌍방향 데이터 스트림들에 영향을 미치지 않는다. 이러한 경우들에서, 사용자는 더 큰 스타트-업 레이턴시를 겪을 수 있다.
대안적으로, m은 사용자들이 더 큰 스타트-업 레이턴시 및 데이터의 트리밍(trimming)을 수락할 수 있다면, 1로부터 시작할 필요가 없다. 예를 들면, 시스템 관리는 도 6에서 처음 4개의 그룹 Ⅰ 데이터 스트림들을 제거할 수 있다. 소프트웨어 전송의 경우, 이러한 배치는 허용될 수 없고, 그렇지 않으면, 사용자는 완전한 소프트웨어를 수신할 수 없다. 그러나, 비디오 전송의 경우, 이것은 비디오의 트리밍은 저작권 소유자에 의해 수락된다면 수락가능하다.
피보나치 수(Fm)에 따라 스트림들의 프레임 주기를 구성함으로써, 스트림 Ⅰm-1 이 수신된 후에, DDVR은 적어도 Fm = Fm-1 + Fm-2 시간 슬롯들에서 버퍼링한다. DINA 기술에 설명된 바와 같은 병합 방법을 이용하여, 스트림 Ⅰm-1 은 스트림 Ⅰm 의 프레임 크기가 정확히 Fm 이기 때문에 스트림 Im 으로 부드럽게 병합될 수 있다.
m개의 세그먼트들이 수신된 후, 정확히 m개를 초과하는 세그먼트들은 듀얼 스트리밍 배치 때문에 버퍼링된다는 것을 주목할 필요가 있다. DDVR은 바람직하게는 일단 버퍼링된 세그먼트들의 수가 그룹 Ⅱ 스트림 간격의 크기를 초과하였다면(이 경우, 8분의 그룹 Ⅱ 스트림 간격 동안 80개의 세그먼트들이 필요할 수 있음) 적어도 대역폭을 세이브하기 위해 그룹 Ⅱ 스트림들 중 하나로 병합하기 시작한다. 병합한 후, 그룹 Ⅰ 스트림(즉, 스트림 Ⅰi)은 더이상 필요하지 않고, DDVR은 단지 후속하는 시청을 위해 그룹 Ⅱ 스트림에만 의지할 수 있다. 임의의 시간에 수신된 임의의 허용가능한 쌍방향 요청은 DINA 기술에 설명된 바와 같이 간직될 수 있다.
이러한 구성에 대한 최적의 파라미터가 존재하지 않는다. 대역폭을 세이브하기 위해, 어떠한 그룹 Ⅱ 데이터 스트림도 존재하지 않아야 한다. 그러나, 사용자들은 단지 얼마나 많은 데이터가 수신되어 DDVR에 버퍼링되었는지에 따라서 제한된 쌍방향성을 가질 수 있다. 특정하게는, 사용자는 일시정지, 재시작, 되감기, 슬로우 모션 및 역방향 점프를 수행하지만, 사용자는 고속 순방향 및 순방향 점프 기능들을 수행할 수는 없다.
요구되는 그룹 Ⅰ 데이터 스트림의 수, M은 그룹 Ⅱ 데이터 스트림들의 수에 의해 결정되고, 또한 그룹 Ⅱ 데이터 스트림들의 수는 다양한 시스템 요인들에 따라 수동으로 결정된다. 주어진 스타트-업 레이턴시(T)로, 이 IVOD 시스템에 요구되는 전체 스트림들의 수는 관련된 피보나치 수들을 포함하는 표로부터 필요한 프레임 크기를 검색함으로써 발견될 수 있다. 데이터 스트림들의 최소수는 개별 그룹 Ⅰ 데이터 스트림들 간의 부드러운 병합을 위해
Figure 112004004161987-pct00013
이 되도록 하는 M이어야 한다. M이 이 값보다 더 작으면, 사용자는 "드롭핑 프레임" 현상을 겪을 수 있다. M이 이 값보다 더 크면, 이것은 불필요한 네트워크 부하를 야기할 수 있다. 이것은 시스템 관리자에 의해 결정되도록 남겨둬야 하는 설계 선택의 문제이다.
이 기술을 이용하면, 스타트-업 레이턴시(T)는 6초(평균 3초)가 될 수 있고, 그룹 Ⅱ 스트림 간격은 8분이 될 수 있다. 2시간 컨텐츠에 요구되는 전체 스트림들의 수는 단지 26이 될 수 있다.
그룹 Ⅰ 스트림들에 대한 대안적인 배치는 도 7에 도시된다. 상기 스트림들의 프레임 구조는 단지 스트림 4 후의 피보나치 시퀀스를 따른다는 것에 주목할 필요가 있다.
D. 멀티 스트리밍(Multi-Streaming) IVOD 시스템(구성 4)
전술한 3개의 예들은 듀얼 스트리밍을 갖는 IVOD 시스템들의 몇개의 가능한 구현들을 도시한다. 실제로, IVOD 시스템의 다수의 더 가능한 구현들이 존재하며, 각각은 서로 다른 스트림들내의 세그먼트들의 서로 다른 배치 및 최종 사용자 DDVR이 탭핑과 처리를 동시에 해야 하는 스트림들의 최대수에 따른다. 상기한 3개의 예들은 이해하고 구현하기에 비교적 단순하지만 이용된 스트림들의 수는 단지 2개의 최대 스트림들이 임의의 주어진 시간에 탭핑 및 처리되어야 하는 제한사항 때문에 최적이 아니다. 현재의 구성에서, 최적의 수의 스트림들을 갖는 멀티 스트리밍 IVOD 시스템이 설명된다.
이 구성은 컨텐츠를 운반한 모든 스트림들이 최종 사용자 DDVR에 의해 모두 탭핑 및 처리된다고 가정하여 이해할 수 있게 된다. 도 8은 조화 급수 방식에 근거한 다양한 스트림들에서 최초의 30개의 세그먼트들 정도의 가능한 최적의 배치를 도시한다. 상기 세그먼트들에는 1, 2, 3, ... 등의 라벨이 붙는다. 단지 최적의 수의 스트림들만을 이용하여 스타트 업 레이턴시가 하나의 슬롯 간격내로 제한되도록 보증하기 위한 필요하고 충분한 조건은, 상기 세그먼트들의 배치(placement)는 세그먼트 j(즉, 선두 부분의 시작부로부터 j번째 세그먼트)가 1 내지 J의 모든 j에 대해서 j개의 시간 슬롯들 이하마다 반복되어야 한다는 것이다. 예를 들면, 세그먼트 1은 스타트-업 레이턴시가 1개의 안티-레이턴시 간격(T)내로 제한되도록 하기 위하여 시간 슬롯마다 반복되어야 한다. 따라서, 스트림 1 단독으로 차지된 전체 스트림이 존재할 수 있다. 세그먼트 2는 제 1 세그먼트가 수신된 후에 즉시 제 2 세그먼트가 이용가능하게 되도록 다른 시간 슬롯 마다 반복되어야 한다. 이와 유사하게, 세그먼트 3은 3개의 시간 슬롯들마다 반복되어야 하고, 세그먼트 j는 j개의 시간 슬롯들 마다 반복되어야 한다. j>1에 대해서, 세그먼트 j는 필요한 것보다 더 자주 반복될 수 있다. 즉, j번째 세그먼트는 안티-레이턴시 시간 간격 ≤jT에 의해 반복된다. 이 구성 4에서 용어 " 안티-레이턴시 시간 간격"의 정의는 구성들 1 내지 3에서의 그것과 다르다는 것에 주목할 필요가 있다.
세그먼트들이 배치된 정확한 스트림은 모든 스트림들이 DDVR에 의해 수신되어 처리된다고 가정할 때 문제가 되지 않는다. 상기 세그먼트들은 DDVR에 의해 버퍼링되어 적절한 순서로 재배치된다. 도 9의 채워지지 않은 슬롯들은 임의의 데이터를 포함하거나, 혹은 채워지지 않은 채로 남을 수 있다.
구성 3에서와 같이, 이 구성에 대한 어떠한 최적의 파라미터도 존재하지 않는다. 대역폭을 세이브하기 위하여, 어떠한 그룹 Ⅱ 데이터 스트림도 존재하지 않아야 하며, 사용자들은 단지 얼마나 많은 데이터가 수신되어 DDVR에 버퍼링되었는지에 따라서 제한된 쌍방향성을 가질 수 있다. 이것은 바람직하지 않을 수 있다. 요구되는 그룹 Ⅰ 데이터 스트림의 수, M은 그룹 Ⅱ 데이터 스트림들의 수에 의해 결정되고, 또한 그룹 Ⅱ 데이터 스트림들의 수는 다양한 시스템 요인들에 따라 수동으로 결정된다. J개의 시간 슬롯들을 운반하는데 필요한 전체 스트림들의 수(M)는
Figure 112004004161987-pct00014
이 되도록 1 내지 J의 조화 급수를 합함으로써 발견될 수 있다. 이것은 약
Figure 112004004161987-pct00015
와 동일하고, 여기서
Figure 112004004161987-pct00016
는 J가 클 때 오일러의 상수(Euler's constant)(~0.5772...)이다. 비록 J가
Figure 112004004161987-pct00017
보다 더 큰 임의의 바람직한 수로 설정될 수 있지만은, 공학적 편리함을 위하여,
Figure 112004004161987-pct00018
을 갖는 것이 바람직하며, 이 수는 쌍방향 시간 간격에서 데이터 세그먼트들의 수와 동일하다. 이것은 1개의 슬롯 간격 내로 스타트-업 레이턴시를 제한하는데 필요한 최적의 스트림들의 수이다.
또한, 구성들 2 및 3에서와 같이, 도 8에 도시된 데이터 세그먼트들 각각은 전송될 데이터의 K개의 세그먼트들 중 1개 이상의 세그먼트를 포함할 수 있다. 예를 들면, 도 8에 도시된 바와 같은 데이터 블록들 각각은 실제로 10개의 데이터 세그먼트들을 포함한다. 이 구성 4의 그룹 Ⅰ 안티-레이턴시 데이터 스트림들의 상기 조건들은 T가 10으로서 시청될 수 있고, 이러한 변경은 그룹 Ⅱ 쌍방향 데이터 스트림들에 영향을 미치지 않는다. 이러한 경우, 사용자는 더 큰 스타트-업 레이턴시를 겪을 수 있다.
또한, 대안적으로, 사용자들이 더 큰 스타트-업 레이턴시를 수락할 수 있다면, j는 1이 아닌, 1보다 큰 임의의 수로 시작할 수 있다. 예를 들면, 시스템 관리 는 도 8에서 처음 3개의 그룹 Ⅰ 데이터 스트림들을 제거할 수 있다. 소프트웨어 전송의 경우, 이러한 배치는 허용될 수 없으며, 그렇지 않으면 사용자는 완전한 소프트웨어를 수신할 수 없다. 그러나, 비디오 전송의 경우, 비디오 트리밍이 저작권 소유자에 의해 수락된다면 이것은 수락가능하다.
대안적으로, j는 1보다 큰 임의의 수 예를 들면, 5로부터 시작할 수 있다. 그러나, 이것은 단지 도 8의 처음 데이터 세그먼트가 T 대신에 5T의 안티-레이턴시 시간 간격으로 반복되고, 후속의 j 데이터 세그먼트는 (5+j)T의 안티-레이턴시 간격으로 반복된다는 것을 의미할 뿐이다. 이러한 변경은 이 기술분야의 당업자에게 명백해야 한다.
이 최적의 멀티 스트리밍 조건에 근거한 IVOD 시스템을 생성하기 위해서, 스트림들은 다시 2개의 그룹 즉, 그룹 Ⅰ과 그룹 Ⅱ로 분할된다. 그룹 Ⅰ 스트림들의 세그먼트 배치는 도 8에 도시되어 있다. 그룹 Ⅱ 스트림들의 세그먼트 배치는 도 4 내지 도 6 중 어느 하나에 도시된 것과 동일하다. 사용자가 시청 요청을 개시할 때, 그룹 Ⅰ 스트림들 전체는 DDVR에 의해 수신되어 처리되어야 한다. 또한, 하나의 적절한 그룹 Ⅱ 스트림이 또한 탭핑되어 처리될 것이다. 이것은 (최초의 m개의 세그먼트들이 배치되어 있는) 그룹 Ⅰ 스트림들의 단일 그룹 Ⅱ 스트림으로의 부드러운 병합을 가능하게 한다. 대안적으로, 그룹 Ⅱ 스트림으로의 탭핑은 그룹 Ⅰ 스트림들에 포함된 선두 부분내의 모든 데이터가 클라이언트 DDVR에 의해 수신될 때까지 대기한다.
1개의 그룹 Ⅱ 스트림 간격(이 경우 의도적으로 다시 JT로 설정됨) 후, 모든 그룹 Ⅰ 스트림들은 더이상 필요하지 않고, 사용자에 의한 계속적인 시청을 위해 단지 단일 그룹 Ⅱ 스트림만이 필요하다. 이전과 마찬가지로, 다수의 그룹 Ⅱ 스트림들의 사용을 통하여, 일단 시스템이 시작하면, 사용자는 일시정지, 재시작, 되감기 및 슬로우 모션 플레이백을 포함하는 허용가능한 쌍방향 요청들 중 임의의 것을 개시할 수 있다.
구성 3에서와 같이, 이전에 예시된 바와 같이 그룹 Ⅰ 스트림들에 근거하여 완전히 IVOD 시스템을 생성하는 것이 가능하다. 그렇게 함으로써, 스트림들의 수는 감소될 수 있고 스타트-업 레이턴시를 최소화할 수 있다. 그러나, 이러한 시스템들의 사용자들은 구성 3에 논의된 바와 같이, 한정된 쌍방향성에 제한될 수 있다. 또한, DDVR에서의 버퍼 크기는 전체 컨텐츠만큼의 크기이어야 하고, DDVR의 처리 능력은 현재 구성에 대해 더 필요하다. 어느 시스템을 배치할 것인지에 관한 결정은 서비스 제공업자에게 옵션으로서 남겨둬야 한다.
이러한 멀티 스트리밍 배치는 요구되는 스트림들의 수를 더 감소시키기 위해서 구성 4에서 피보나치 스트림 시퀀스들(그룹 Ⅰ 스트림들)을 대체하는데 이용될 수 있음에 더 주목할 필요가 있다. 이 조건은 DDVR이 수신된 데이터를 버퍼링하고 처리하기 위해 충분한 버퍼와 처리력을 가져야 한다는 것이다. 다음에 올 섹션의 표 3은 모든 다양한 구성들을 야기시키는 일부를 나열한다.
대수 스트리밍(logarithmic streaming)으로서 알려진 비-최적의 멀티 스트리밍 배치가 도 9에 도시되어 있다.
E. 혼합된 듀얼-듀얼/멀티-듀얼 스트리밍 IVOD 시스템(구성 5)
구성 3 및 구성 4는 비교가능한 수의 스트림들을 이용하여 구성 1 및 구성 2와 비교하여 매우 짧은 스타트-업 레이턴시를 갖는 IVOD 시스템을 설명한다. 그러나, 구성 1 또는 구성 2는 또한 구성 3 또는 구성 4 보다 좋은 장점을 갖는다. 구성 1 또는 구성 2는 처음 스트림 간격 동안 스트림에서 스트림으로 정확하지 않은 점핑을 가능하게 하고, 구성 3 또는 구성 4는 가능하지 않다. 실제로, 컨텐츠 소스의 처음 몇분은 보통 다수의 사용자들이 점핑함으로써 스킵하기를 바라는 많은 헤더 및 정보를 포함한다. 따라서, 사용자들에게 적어도 한정된 점프 능력을 제공하는 것이 바람직하다.
구성 1 또는 구성 2와 구성 3 또는 구성 4를 결합시킴으로써, 외부 유니캐스트 스트림의 도움 없이도 한정된 점프 능력을 갖는 IVOD 시스템을 생성시킬 수 있다. 이 IVOD 시스템은 스태거 스트림들의 2개의 그룹들 즉, 그룹 Ⅰ(1) 및 Ⅰ(2)를 포함한다. 그룹 Ⅰ(1) 데이터 스트림들은 C개의 세그먼트들을 갖는 데이터를 분배하는 역할을 하는 전체 A개의 데이터 스트림들을 갖는다. 이와 유사하게, 그룹 Ⅰ(2) 데이터 스트림들은 D개의 세그먼트들을 갖는 데이터를 분배하는 역할을 하는 전체 B개의 데이터 스트림들을 가지며, 상기 B개의 데이터 스트림들 각각은 정확하지 않은 점프 간격에 의해 스태거된다. 상기 정확하지 않은 점프 간격에는 E개의 데이터 세그먼트들이 존재한다.
더 구체적인 예를 제시하기 위해서, 세그먼트 크기(T)가 6초라고 가정한다. 그룹 Ⅰ(1)는 구성 3에 도시된 바와 같이 처음 7개의 피보나치 스트림들을 포함한다고 가정한다. 그룹 Ⅰ(2)는 세그먼트 11 내지 세그먼트 90의 구성 1에 도시된 바 와 같은 그룹 Ⅰ 스트림들을 포함하고, 스태거 스트림 간격은 10개의 세그먼트들이라고 가정한다. 그룹 Ⅰ(2)는 비록 리던던트(redundant)인 것처럼 보이긴 하지만은 1 내지 90의 데이터 세그먼트들을 포함할 수 있다. 따라서, 그룹 Ⅰ(2) 스트림들의 프레임 주기는 80개의 세그먼트들 또는 8분이고, 이것은 사용자로 하여금 DDVR이 그룹 Ⅰ 데이터 스트림들에 접속해 있을 때 정확하지 않은 점프 쌍방향성을 수행할 수 있게 하는 정확하지 않은 점프 프레임 주기이다. 구성 5의 그룹 Ⅱ 스트림들은 다른 구성들의 그룹 Ⅱ 스트림들과 동일하다. 이러한 특정 예에서, 그룹 Ⅱ 스트림들 각각은 세그먼트 1로부터 시작하고, 모두 전체 컨텐츠의 끝으로 진행한다. 상기 스트림들 및 세그먼트들의 배치는 도 10에 도시된다.
스트림들 및 세그먼트들의 이러한 계층적 배치로, 사용자는 언제라도 1개의 세그먼트의 스타트-업 레이턴시(이 예에서는 6초)로 시작할 수 있음을 볼 수 있다. 또한, 사용자들은 DDVR이 그룹 Ⅰ 스트림들에 접속할 때, 언제라도 스타트-업 주기내에서 정확하지 않은 점프를 할 수 있다. 상기 스타트-업 주기는 바람직하게는 전술한 구성들에서와 같이 처음 그룹 Ⅱ 스트림 간격(즉, 0분 지점에서 9분 지점까지)내의 시간으로 정의된다. 각각의 정확하지 않은 점프는 서로 1분 떨어져 있고, 이는 정확하지 않은 점프 프레임 주기에 의해 결정된다. 따라서, 사용자들은 이러한 배치를 이용하여 헤더들을 스킵할 수 있다. 도 10에 도시된 특정 예에서 2시간의 컨텐츠를 홀드(hold)하는데 필요한 전체 스트림들의 수는 30개이다.
비록 도 10이 단지 그룹 Ⅰ 데이터 스트림들에서 구성 3과 구성 1의 결합을 도시하지만은, 다음의 결합들이 또한 가능하다는 것은 이 기술분야의 당업자에게 명백해야 한다.
a. 구성 4와 구성 1
b. 구성 3과 구성 2
c. 구성 4와 구성 2
요구되는 그룹 Ⅰ(1) 데이터 스트림들의 수 즉, A는 구성 3과 구성 4에서
Figure 112004004161987-pct00019
으로서 E를 취함으로써 결정될 수 있다. 즉, 구성 3이 그룹 Ⅰ(1)에서 이용된다면, FA ≥2E가 되도록 그룹 Ⅰ(1)내에 A개의 데이터 스트림들이 존재해야 한다. 구성 4가 이용된다면,
Figure 112004004161987-pct00020
이다. 구성 4에서와 같이, 그룹 Ⅰ(1)내의 전송될 데이터 세그먼트들의 전체 수, C는 바람직하게는 E와 같다. 구성 3과 구성 4에서와 같이 요구되는 데이터 스트림들의 수에 대한 동일한 고려사항들은 또한 그룹 Ⅰ(1)에 적용가능하다.
어느 결합을 배치할 것인지에 관한 결정은 서비스 제공업자에게 옵션으로서 남겨둬야 한다.
구성 1, 구성 2 및 구성 3의 대안적인 배치들
다수의 사용자들에게 서비스를 제공하기 위해 설정된 VOD 시스템에 대해서, 상기에 설명된 안티-레이턴시 데이터 스트림들은
사용자들이 탭핑하기 위해서 이 스트림들은 시스템에 계속하여, 혹은 적어도 주시청 시간대(6-11pm이라고 하자) 동안에 존재하도록 계속하여 발생되도록 하는 것이 바람직하다. 한편, 시스템에 비교적 소수의 사용자들(수천명의 사용자들이라고 하자)이 존재하거나, 혹은 전달되는 특정 프로그램이 매우 빈번하게 요청되지 않는다면, 일부 다른 대역폭은 안티-레이턴시 데이터 스트림들이 사용자들의 요청이 있을 때 발생되는 경우 세이브될 수 있다. 이러한 대안적인 방식은 구성 1, 구성 2 및 구성 3에 도움이 된다. 이것들은 도 14, 도 15 및 도 16에 도시된다. 이 도면들에서, 회색으로 칠해진 데이터 세그먼트들은 사용자들로부터 요청들이 있을 때 "턴 온(turn-on)"되는 데이터 세그먼트들 또는 데이터 스트림들을 나타낸다.
구성 1에 대해서, 그룹 Ⅰ 안티-레이턴시 데이터 스트림들 각각은 여전히 안티-레이턴시 스트림 간격(T)에 의해 스태거된다. 그러나, 상기에 설명된 바와 같이, 그룹 Ⅰ 안티-레이턴시 데이터 스트림들의 어떤 것도 항상 존재하지 않거나 "턴 온"될 수 없다. 그 대신, 사용자들로부터 요청들이 있을 때 그것들이 발생되고, 이러한 요청들은 T내에서 "배치(batch)"된다. 사용자가 안티-레이턴시 스트림 간격내에서 상기 데이터에 대한 요청을 일으킨다면, 상기 안티-레이턴시 데이터 스트림은 그 다음의 가장 빠른 안티-레이턴시 스트림 간격에서 발생된다는 것을 의미한다. 예로서, 도 14를 참조하면, 사용자들이 2T, 3T 및 16T와 같은 데이터 시간을 요청한다고 고려한다. 이러한 맥락에서, 사용자들은 간격 1T 내지 2T, 2T 내지 3T 및 15T 내지 16T 각각의 사이에서 데이터를 요청한다는 것을 의미한다. 따라서, 이 예에서, 단지 스트림들 2, 3 및 16이 시스템의 데이터 스트림들의 스냅 샷(snap shot)에서 발생되거나 "턴 온"되고, 스트림들 1 및 4-15은 "턴 오프(turn off)"된다. 도 14에 도시된 바와 같이, 결과로서 생긴 그룹 Ⅰ 데이터 스트림들은 규칙적 인 스트림 간격을 갖지 않는다는 것을 볼 수 있다.
이러한 개념은 구성 2와 구성 3으로도 확장될 수 있다.
따라서, 구성 2에서, 선두 데이터 스트림내의 선두 데이터 세그먼트 모두도, 마무리 데이터 스트림들 모두도 항상 "턴 온"될 수는 없다. 그것들은 사용자들로부터 요청들이 있을 때 "턴 온"된다. 도 15에 한 예가 도시된다. 선두 데이터 세그먼트 각각은 대응하는 마무리 데이터 스트림과 관계하고, 이것은 통상의 프로그래밍 기술에 의해 목표를 달성하는데 도움을 줄 수 있다는 것은 이 기술분야의 당업자에게 명백해야 한다. 상기 대응하는 마무리 데이터 스트림은 또한 선두 데이터 세그먼트가 발생될 때 발생되어야 한다.
이와 유사하게, 구성 3에서, 그룹 Ⅰ 데이터 스트림들에서 분배된 Fm 세그먼트들 모두가 항상 "턴 온"되지는 않는다. 도 16에 한 예가 도시된다. 그룹 데이터 세그먼트들 사이의 관계는 통상의 프로그래밍 기술에 의해 목표를 달성하는데 도움을 줄 수 있다는 것은 이 기술분야의 당업자에게 명백해야 한다. 상기 대응하는 Fm 세그먼트들 모두는 클라이언트가 요청을 일으키는 적절한 때에 발생되어야 한다. 특정하게는, 후속의 F(m+1) 세그먼트들은 선행의 Fm 세그먼트내의 모든 데이터가 클라이언트에 의해 수신되기 전에 발생되어야 한다.
또한, 일단 DDVR이 그룹 Ⅱ 데이터 스트림들과 병합되면, 안티-레이턴시 데이터 스트림들은 대역폭 사용을 더 최소화하도록 종료될 수 있다.
구성 4에서의 기본적인 요건들 중 하나로서, 사용자는 그룹 Ⅰ 데이터 스트 림들 모두에 접속될 수 있어야 하기 때문에, 이러한 "주문형" 방식은 구성 4에 적용가능한 것으로 보이지 않는다.
비록 이러한 대안적인 방식이 원래 구성들과 비교하여 일부 추가적인 대역폭을 세이브하는 것처럼 보일 수도 있지만은, 그것들은 여러 이유들로 인해 덜 바람직할 수 있다. 첫째, 서버측의 작업부하 및 처리 요건과, 프로그래밍 및 구현시의 복잡성을 증가시킬 수 있다. 둘째, 이것은 요구되는 대역폭을 할당함에 있어서 설계 단계에서 유의하지 않는다면 결과적인 시스템의 과부하를 일으킬 수 있다. 셋째, 이러한 대안적인 방식은 실제로 사용자로부터의 요청들의 수가 클 때 원래 구성들이 되게 된다.
개별 데이터 세그먼트들의 추가 특징들
전송 동안 실질적인 데이터의 손실을 일으킴이 없이도 스트림들의 변경을 용이하게 하기 위해서는, 헤드(head) 부분이라 칭할 수 있는 각 데이터 세그먼트의 시작부는 바로 앞선 세그먼트의 꼬리(tail) 부분에서 나타나는 중복 데이터를 포함할 수 있다. 그 중복 부분에서 운반될 데이터의 양은 (스트림의 데이터 속도에 대해 정규화된) T'일 수 있고, 여기서 T'는 스트림들의 변경 동안 발생할 수 있는 지연이다. 전형적으로, T'는 10-20 milliseconds 정도일 수 있다.
IVOD 시스템 요건들
여러개의 시스템 요건들이 존재한다.
a. 서버는 구성들 1 내지 5 중 어느 하나에 예시된 패턴들 또는 설계될 수 있는 패턴들로 적절한 멀티 스트림들을 발생시킬 필요가 있다.
b. 분배 네트워크는 최종 사용자 DDVR에 모든 요구된 스트림들을 운반하기에 충분한 능력을 가져야 한다.
c. 상기 최종 사용자 DDVR은 멀티 스트림들을 다루기에 충분한 대역폭, 버퍼 및 처리 능력을 가져야 한다. 상기 DDVR은 또한 상기 멀티 스트림들로부터의 데이터의 적어도 하나의 그룹 Ⅱ 스트림 간격을 버퍼링하기에 충분한 저장소를 가져야 한다.
이들 요인들은 어느 구성을 배치할 것인지를 선택함에 있어서 서비스 제공에 영향을 미칠 수 있다.
디스크 없는 DVR의 개념
일반적으로, 수신기 DDVR은 컨텐츠에 대한 요청을 일으키기 위한 프로세서와, 그룹 Ⅰ 및 Ⅱ 데이터 스트림들을 접속하기 위한 커넥터(connector)를 가질 수 있다.
구성 1과 구성 2에 대해서, 상기 DDVR이 수신된 그룹 Ⅰ 데이터 스트림들을 버퍼링하기 위한 버퍼를 포함할 필요가 있다. 구성 3과 구성 4에 대해서, 상기 DDVR은 그룹 Ⅰ 데이터 스트림들로부터 수신된 데이터를 버퍼링하기 위한 버퍼를 포함해야 한다. 그러고 나서, 상기 프로세서는 적절한 순서로 데이터를 두도록 처리하는 담당을 한다.
멀티 스트리밍 개념으로, 사용자 단에서의 수신 장치인 수신기는 임의의 하드 디스크 저장소를 가질 필요가 없다. 단지 STB, 클라이언트/수신기에서 필요로 하는 메모리 또는 버퍼는 데이터의 하나의 스트림 간격 동치(equivalent)를 버퍼링 하기 위해 RAM(랜덤 액세스 메모리)일 수 있다. 스트림 간격이 8분이라고 가정하면, 이것은 1Mb/s MPEG-4 스트림에 대해 개략적으로 60MB의 RAM을 요구한다. 이 기술은 STB에서 큰 하드 디스크 저장소(때때로 60GB)를 요구하는 다수의 VOD 기술들과 대조될 수 있다. 따라서, 이 IVOD 시스템은 사용자들에게 디스크 없는 DVR처럼 보일 수도 있다. 그러나, 시스템 제공업자는 데이터를 버퍼링하여 수신할 필요가 있기 때문에 하드 디스크 또는 다른 비휘발성 매체들의 형태로 사용자들에게 추가 저장소를 제공하여 이러한 다른 장치를 사용하도록 선택할 수 있다.
DDVR에 대한 여러 옵션들이 존재한다는 것을 더 주목할 필요가 있다.
먼저, DDVR은 데이터 전송 속도보다 더 느린 속도로 수신 데이터를 플레이(play)하도록 구성될 수 있다. 전송 속도는 각 데이터 세그먼트가 동일한 데이터량을 포함하는 조건하에서
Figure 112004004161987-pct00021
로 표현될 수 있다. 이러한 경우, DDVR은 수신되지 않은 데이터를 수용하기 위해 더 큰 버퍼 크기를 갖도록 요구될 수 있다.
다음으로, DDVR은 로컬 버퍼에서 어떤 시간 주기 동안 그룹 Ⅰ 데이터 스트림들내의 데이터의 적어도 일부분 즉, 전송될 데이터의 선두 부분을 포함하거나 사전인출하도록 구성될 수 있다. 이러한 데이터를 "사전인출 데이터(pre-fetched data)"라고 칭할 수 있다. 바람직한 경우, 상기 사전인출 데이터는 DDVR이 적당한 버퍼 크기를 가지면 그룹 Ⅰ 데이터 스트림들내에 포함된 데이터 모두를 포함할 수 있다. 하나의 극단적인 경우, 전송될 데이터의 컨텐츠는 비디오 데이터에 대해 매일 또는 하루에 한번 이상 리프레시(refresh)될 수 있다. 이 특정 예에서, 상기 사 전인출 데이터가 매일 리프레시하는 것은 필요하다. 리프레시 시간은 1일에서 심지어 1년까지의 범위일 수 있는 임의의 바람직한 값으로 설정될 수 있다. 한밤중(예를 들면, 01:00-06:00), 또는 10:00 내지 15:00 사이와 같은 오프-피크(off-peak) 주기 동안 상기 사전인출 데이터를 리프레시하는 것이 바람직하며, 여기서, 클라이언트들의 요청들로부터 생긴 네트워크 활동범위는 최소일 수 있다. 이러한 처리는 안티-레이턴시 신호 발생기, 쌍방향 신호 발생기 또는 루틴 호출 절차에 의해 클라이언트 자체에 의해 개시될 수 있다. 그렇게 함에 있어서, 네트워크에서 요구되는 레이턴시 시간 및 전체 데이터 스트림 수는 더 감소될 수 있다. 이것은 특히 다수의 데이터 세트들을 전송하는 VOD 시스템들에 중요하다.
공간-시간-대역폭의 교환(Trade-off of Space-Time-Bandwidth)
요구되는 DDVR에서의 버퍼 저장소(공간), 스타트-업 레이턴시(시간) 및 스트림들(전송 대역폭) 사이에서 본 발명의 IVOD 시스템들의 서로 다른 구성들에 대해 교환 관계가 존재한다. 이것은 표 3에 도시되며 도 13에서 더 예시된다.
도 13에서, 정점(Vertex) 1은 클라이언트가 상기 데이터에 대한 요청을 일으키는지 여부에 관계없이 모든 데이터를 전송하여 STB에 저장하는 현재의 VOD 시스템들로 실현될 수 있다. 이러한 경우, 상기 STB는 비교적 큰 버퍼 크기를 가져야 한다. 이것은 STB의 제조 비용을 증가시킬 수 있다. 정점 2는 구성들 1-5에 설명된 바와 같은 시스템들을 나타낸다. 이러한 구성하에서, STB에 대한 요건은 최소가 될 수 있고, 시스템은 대역폭을 더 요구하게 된다. 정점 3은 정점 1 및 정점 2의 하이브리드 시스템을 나타낸다.
어떤 "정점"을 선택할 것인지에 대한 결정은 이용가능한 대역폭, STB의 사양, 레이턴시 및 쌍방향성에 대한 로컬 요건들 등을 포함하는 다양한 요인들에 따른 설계 선택의 문제일 수 있다.


컨텐츠 크기 L=1hr
요구되는 스트림들의 수
스태거 간격 6분 7분 8분 10분 15분
듀얼 스트리밍 구성(1) T=30초 (정확하지 않은 점프=1분) 22 23 24 26 34
구성(2) T=30초 (정확하지 않은 점프=2분) 17 17 17 17 20
구성(3) T=6초 (정확하지 않은 점프가 허용되지 않음) 20 19 18 17 16
구성(5) T=6초 (정확하지 않은 점프=1분) 23 23 23 23 26
구성(5) T=6초 (정확하지 않은 점프=2분) 22 22 21 20 21
멀티 스트리밍 구성 (4) 최적의 구성 T=6초 (정확하지 않은 점프가 허용되지 않음) 15 14 13 12 10
최적의 구성 T=6초 (정확하지 않은 점프=1분) 20 20 20 20 23
최적의 구성 T=6초 (정확하지 않은 점프=2분) 18 18 17 16 17
컨텐츠 크기 L=2hr
요구되는 스트림들의 수
스태거 간격 6분 7분 8분 10분 15분
듀얼 스트리밍 구성(1) T=30초 (정확하지 않은 점프=1분) 32 31 31 32 38
구성(2) T=30초 (정확하지 않은 점프=2분) 27 25 24 23 24
구성(3) T=6초 (정확하지 않은 점프가 허용되지 않음) 30 27 26 23 20
구성(5) T=6초 (정확하지 않은 점프=1분) 33 31 30 29 32
구성(5) T=6초 (정확하지 않은 점프=2분) 32 30 28 26 25
멀티 스트리밍 구성(4) 최적의 구성 T=6초 (정확하지 않은 점프가 허용되지 않음) 25 22 20 18 14
최적의 구성 T=6초 (정확하지 않은 점프=1분) 31 29 27 27 28
최적의 구성 T=6초 (정확하지 않은 점프=2분) 28 26 24 22 21
표 3. 요구되는 버퍼 저장소(공간), 스타트-업 레이턴시(시간) 및 스트림들(전송 대역폭) 사이에서의 교환
케이블, 위성 및 지상 방송 시스템들에의 응용
본 발명의 IVOD 시스템들은 기존의 케이블 TV, 지상 방송 및 위성 방송 시스템들에서 즉시 응용들을 찾을 수 있다. 기존의 하부구조에 대한 매우 작은 수정으 로, 비-쌍방향 방송 또는 NVOD 시스템들은 IVOD 시스템으로 변환될 수 있다. 아날로그와 디지털 전송 시스템들 둘다는 멀티 스트리밍 개념을 이용할 수 있다. 그러나, 하기의 논의들은 단지 디지털 전송 시스템들에 대한 시스템 구성들만을 설명할 것이다.
이들 디지털 방송 시스템들에서, RF 전송 밴드들은 보통 6MHz(NTSC) 또는 8MHz(PAL) 채널들로 나뉜다. 케이블 TV, 지상 또는 위성 방송 시스템에서는 수백개 이상의 채널들이 있을 수 있다. 도 11은 이 다중 스트리밍 시스템에 대한 전형적인 시스템 구성을 도시한다. 이것은 기존의 방송 시스템과 매우 유사하다. 단지 안티-레이턴시 장치라고 불리는 헤드 단(head end)에서의 전송 유닛, 사용자 단에서의 수신 유닛, 클라이언트/수신기만이 수정될 필요가 있다. 헤드 단에서, 각 채널에서 아날로드 신호들을 전송하는 대신에, QAM과 같은 디지털 신호들이 전송된다. 전형적으로, RF 채널내에 30-40Mb/s 의 신호를 둘 수 있다. 2시간 컨텐츠라고 가정하면, 우선 MPEG-4 또는 다른 압축 알고리즘들을 이용하여 아날로그 신호를 약 1Mb/s의 비트 속도의 디지털 스트림으로 변환할 수 있다. 피보나치 듀얼 스트리밍(구성 3) 또는 최적의 조화 멀티 스트리밍 IVOD 개념(구성 4)을 이용하면, IVOD 스트림들의 30 내지 40 스트림들을 단일 RF 채널로 대체할 수 있다. 상기 컨텐츠는 기존의 방송 시스템이 갖는 능력을 유지하기 위하여 PAL/NTSC/SECAM 표준에 따라 서로 다른 RF 채널들에 두고, 각 RF 채널은 수시간의 컨텐츠를 포함할 수 있다.
사용자 단에서, 셋톱박스는 중요한 특정 RF 채널로 RF 튜닝되어야 한다. 그 다음, 케이블 모뎀은 30-40Mb/s 디지털 스트림들을 필터링하여, (피보나치 듀얼 스 트리밍 시스템들에 대해서) 2개의 스트림들을 한번에 디코딩하거나, 혹은 (조화 멀티 스트리밍 시스템들에 대해서) 모든 조화 멀티 스트림들을 디코딩한다. 도 12는 STB/케이블 모뎀의 블록도를 도시한다. 상기 STB/케이블 모뎀은 단일 스트림보다는 적어도 2개의 멀티 스트림들을 동시에 처리할 수 있는 처리 유닛을 제외하고는 다른 STB/케이블 모뎀들과 유사하다. 디코딩된 스트림들은 STB에 버퍼링된, 컨텐츠는 세그먼트들의 시퀀스 번호에 따라 재구성된다. 전형적인 방송 시스템에서 이용가능한 수천개의 채널들로, 이것은 무한한 수의 사용자들에게 이용가능한 200시간 또는 그 이상의 완전히 쌍방향성인 프로그램들로 전환한다.
본 발명의 바람직한 실시예는 예들에 의해 상세하게 설명되었지만은, 본 발명의 수정 및 조정이 이 기술분야의 당업자에게 일어날 것임이 명백하다. 그러나, 이러한 수정 및 적응은 다음의 청구항들에 정의된 바와 같이, 본 발명의 범위내에 있음을 명백히 이해해야 한다. 또한, 본 발명의 실시예들은 단지 예들 또는 도면들에만 한정되는 것으로 해석되어서는 안된다.

Claims (137)

  1. 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 - 상기 클라이언트로의 상기 데이터의 전송을 개시하기 위한 레이턴시 시간을 갖는 - 방법으로서,
    상기 클라이언트에 의한 수신을 위해 데이터의 적어도 선두 부분을 포함하는 적어도 하나의 안티-레이턴시 데이터 스트림을 발생시키는 단계와; 그리고
    상기 데이터의 적어도 잔여 부분을 포함하는 적어도 1개의 쌍방향 데이터 스트림을 발생시켜서 상기 클라이언트가 안티-레이턴시 데이터 스트림의 적어도 일부분을 수신한 후에 병합시키는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 데이터는 K개의 세그먼트들로 분할되며, 각 세그먼트는 상기 네트워크를 거쳐서 전송하는데 시간(T)을 요구하고;
    상기 안티-레이턴시 데이터 스트림들은 M개의 안티-레이턴시 데이터 스트림들을 포함하고; 그리고
    상기 쌍방향 데이터 스트림들은 N개의 쌍방향 데이터 스트림들을 포함하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 안티-레이턴시 데이터 스트림들은 상기 데이터의 상기 선두 부분만을 포함하고;
    상기 쌍방향 데이터 스트림들은 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  4. 제 2 항에 있어서,
    상기 M개의 안티-레이턴시 데이터 스트림 각각은 상기 안티-레이턴시 데이터 스트림내에서 계속하여 반복되는 실질적으로 동일한 데이터를 포함하고, 여기서 각각의 연속하는 안티-레이턴시 데이터 스트림은 안티-레이턴시 시간 간격으로 스태거되고; 그리고
    상기 N개의 쌍방향 데이터 스트림 각각은 상기 쌍방향 데이터 스트림내에서 계속하여 반복되고, 여기서 각각의 연속하는 쌍방향 데이터 스트림은 쌍방향 시간 간격으로 스태거되는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서,
    상기 M개의 안티-레이턴시 데이터 스트림 각각은 J개의 세그먼트들을 갖고; 그리고
    상기 안티-레이턴시 시간 간격 ≥T 인 것을 특징으로 하는 방법.
  6. 제 4 항에 있어서,
    상기 쌍방향 시간 간격 ≥JT 인 것을 특징으로 하는 방법.
  7. 제 5 항에 있어서,
    M ≥J 인 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서,
    M = J 인 것을 특징으로 하는 방법.
  9. 제 6 항에 있어서,
    Figure 112004004161987-pct00022
    인 것을 특징으로 하는 방법.
  10. 제 9 항에 있어서,
    Figure 112004004161987-pct00023
    인 것을 특징으로 하는 방법.
  11. 제 8 항 또는 제 10 항에 있어서,
    Figure 112004004161987-pct00024
    인 것을 특징으로 하는 방법.
  12. 제 4 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  13. 제 4 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  14. 제 4 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를 상기 M개의 안티-레이턴시 데이터 스트림들 중 어느 하나에 접속하는 단계와; 그리고
    상기 클라이언트를 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제 2 항에 있어서,
    - 상기 안티-레이턴시 데이터 스트림들은,
    Ⅰ. 상기 데이터의 선두 부분의 적어도 하나의 선두 세그먼트를 포함하는 선두 데이터 스트림과, 이것은 상기 선두 데이터 스트림내에서 계속하여 반복되고; 그리고
    Ⅱ. 다수의 마무리 데이터 스트림들을 포함하고, 상기 마무리 데이터 스트림들 각각은
    ·상기 데이터의 선두 부분의 나머지를 포함하고; 그리고
    ·상기 마무리 데이터 스트림내에서 계속하여 반복되며, 여기서 각각의 연속하는 마무리 데이터 스트림은 안티-레이턴시 시간 간격으로 스태거되고;
    - 상기 N개의 쌍방향 데이터 스트림들 각각은 상기 쌍방향 데이터 스트림내에서 계속하여 반복되고, 여기서 각각의 연속하는 쌍방향 데이터 스트림은 쌍방향 시간 간격으로 스태거되는 것을 특징으로 하는 방법.
  16. 제 15 항에 있어서,
    상기 마무리 데이터 스트림 각각은 J개의 세그먼트들을 갖고; 그리고
    상기 안티-레이턴시 시간 간격 ≥T 인 것을 특징으로 하는 방법.
  17. 제 15 항에 있어서,
    상기 쌍방향 시간 간격 ≥JT 인 것을 특징으로 하는 방법.
  18. 제 16 항에 있어서,
    Figure 112004004161987-pct00025
    인 것을 특징으로 하는 방법.
  19. 제 18 항에 있어서,
    Figure 112004004161987-pct00026
    인 것을 특징으로 하는 방법.
  20. 제 17 항에 있어서,
    Figure 112004004161987-pct00027
    인 것을 특징으로 하는 방법.
  21. 제 20 항에 있어서,
    Figure 112004004161987-pct00028
    인 것을 특징으로 하는 방법.
  22. 제 19 항 또는 제 21 항에 있어서,
    Figure 112004004161987-pct00029
    인 것을 특징으로 하는 방법.
  23. 제 15 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  24. 제 15 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  25. 제 15 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를 상기 선두 데이터 스트림에 접속하는 단계와;
    후속하여 상기 클라이언트를 상기 마무리 데이터 스트림들 중 어느 하나에 접속하는 단계와; 그리고
    상기 클라이언트를 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  26. 제 2 항에 있어서,
    - 상기 N개의 쌍방향 데이터 스트림 각각은 상기 쌍방향 데이터 스트림내에서 계속하여 반복되고, 여기서 각각의 연속하는 쌍방향 데이터 스트림은 쌍방향 시간 간격 =
    Figure 112004004161987-pct00030
    으로 스태거되고;
    - 상기 M개의 안티-레이턴시 데이터 스트림들[1 내지 M]은
    ·m번째 안티-레이턴시 데이터 스트림이 Fm 세그먼트들을 갖도록(여기서, Fm 은 m번째 피보나치 수임); 그리고
    ·상기 Fm 세그먼트들이 상기 m번째 안티-레이턴시 데이터 스트림내에서 계속하여 반복되도록 발생되는 것을 특징으로 하는 방법.
  27. 제 26 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를 적어도 m번째 및 (m+1)번째 안티-레이턴시 데이터 스트림들에 접속하는 단계와;
    상기 클라이언트에서 적어도 상기 m번째 및 (m+1)번째 안티-레이턴시 데이터 스트림들내의 데이터를 버퍼링하는 단계와;
    후속하여 상기 클라이언트를 연속하는 안티-레이턴시 데이터 스트림들에 접속하는 단계와; 그리고
    상기 선두 부분내의 모든 데이터가 상기 클라이언트에 의해 수신될 때까지 이전의 단계들을 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  28. 제 27 항에 있어서,
    상기 클라이언트를, 상기 선두 부분내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  29. 제 26 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  30. 제 26 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  31. 제 26 항에 있어서,
    Figure 112004004161987-pct00031
    인 것을 특징으로 하는 방법.
  32. 제 26 항에 있어서,
    m은 1에서부터 시작하는 것을 특징으로 하는 방법.
  33. 제 26 항에 있어서,
    m은 4에서부터 시작하며, 반복하는 제 1, 제 2 및 제 3 안티-레이턴시 데이터 스트림들은 다음의 구성 즉,
    Figure 112004004161987-pct00032
    을 갖는 것을 특징으로 하는 방법.
  34. 제 2 항에 있어서,
    - 상기 N개의 쌍방향 데이터 스트림들 각각은 상기 쌍방향 데이터 스트림내에서 계속하여 반복되고, 여기서, 각각의 연속하는 쌍방향 데이터 스트림은 쌍방향 시간 간격 =
    Figure 112004004161987-pct00033
    으로 스태거되고;
    - 상기 M개의 안티-레이턴시 데이터 스트림들에서,
    Ⅰ. 상기 데이터의 선두 부분은 [1 내지] J [라벨이 붙은] 선두 데이터 세그먼트들을 포함하고; 그리고
    Ⅱ. 상기 선두 데이터 세그먼트들은, j번째 선두 세그먼트가 상기 안티-레이턴시 데이터 스트림들내에서 안티-레이턴시 시간 간격 ≤jT 에 의해 반복되도록 상기 M개의 안티-레이턴시 데이터 스트림들에서 분배되는 것을 특징으로 하는 방법.
  35. 제 34 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를 상기 M개의 안티-레이턴시 데이터 스트림들 모두에 접속하는 단계와; 그리고
    상기 클라이언트에서 상기 M개의 안티-레이턴시 데이터 스트림들내의 상기 데이터의 선두 부분을 버퍼링하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  36. 제 35 항에 있어서,
    상기 클라이언트를, 상기 선두 부분내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  37. 제 34 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  38. 제 34 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  39. 제 34 항에 있어서,
    Figure 112004004161987-pct00034
    이고,
    Figure 112004004161987-pct00035
    인 것을 특징으로 하는 방법.
  40. 제 34 항에 있어서,
    상기 선두 데이터 세그먼트들을 포함하는 상기 M개의 안티-레이턴시 데이터 스트림들 중 6개가 다음과 같이 배치되고,
    Figure 112004004161987-pct00036
    여기서, 공백내의 세그먼트들은 임의의 데이터를 포함하는 것을 특징으로 하는 방법.
  41. 제 2 항에 있어서,
    상기 M개의 안티-레이턴시 데이터 스트림들은,
    - 상기 데이터의 선두 부분을 포함하고; 그리고
    - 제 1 세트의 안티-레이턴시 데이터 스트림들 및 제 2 세트의 안티-레이턴시 데이터 스트림들인 2개의 데이터 스트림 배치들을 더 포함하는 것을 특징으로 하는 방법.
  42. 제 41 항에 있어서,
    - 상기 제 1 안티-레이턴시 데이터 스트림들은 A 제 1 안티-레이턴시 데이터 스트림들[1 내지 A]을 갖고, 여기서
    Ⅰ. a번째 안티-레이턴시 데이터 스트림은 Fa 세그먼트들을 갖고, Fa 는 a번째 피보나치 수이고; 그리고
    Ⅱ. 상기 Fa 세그먼트들은 a번째 제 1 안티-레이턴시 데이터 스트림내에서 계속하여 반복되고,
    - 상기 제 2 안티-레이턴시 데이터 스트림들은 B 제 2 안티-레이턴시 데이터 스트림들을 갖고, 여기서 상기 B 제 2 안티-레이턴시 데이터 스트림들 각각은 상기 제 2 안티-레이턴시 데이터 스트림내에서 계속하여 반복되는 실질적으로 동일한 데이터를 포함하고, 각각의 연속하는 제 2 안티-레이턴시 데이터 스트림은 정확하지 않은 점프 프레임 주기로 스태거되고;
    이것에 의하여, 상기 클라이언트는, 상기 클라이언트가 상기 B 제 2 안티-레이턴시 데이터 스트림에 접속될 때 정확하지 않은 점프 기능을 수행할 수 있는 것을 특징으로 하는 방법.
  43. 제 42 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를 적어도 a번째 및 (a+1)번째 제 1 안티-레이턴시 데이터 스트림들에 접속하는 단계와;
    상기 클라이언트에서 적어도 상기 a번째 및 (a+1)번째 제 1 안티-레이턴시 데이터 스트림들내의 데이터를 버퍼링하는 단계와;
    후속하여 상기 클라이언트를 연속하는 제 1 안티-레이턴시 데이터 스트림들에 접속하는 단계와; 그리고
    상기 A 제 1 안티-레이턴시 데이터 스트림들내의 모든 데이터가 상기 클라이언트에 의해 수신될 때까지 이전의 단계들을 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  44. 제 43 항에 있어서,
    상기 클라이언트를, 상기 제 1 안티-레이턴시 데이터 스트림들내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 B 제 2 안티-레이턴시 데이터 스 트림들 중 어느 하나에 접속하는 단계와; 그리고
    상기 클라이언트를, 상기 접속된 B 제 2 안티-레이턴시 데이터 스트림내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  45. 제 42 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  46. 제 42 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  47. 제 42 항에 있어서,
    상기 정확하지 않은 점프 프레임 주기는 E개의 데이터 세그먼트들을 포함하고, FA ≥2E 인 것을 특징으로 하는 방법.
  48. 제 42 항에 있어서,
    a는 1에서부터 시작하는 것을 특징으로 하는 방법.
  49. 제 42 항에 있어서,
    a는 4에서부터 시작하며, 반복하는 제 1, 제 2 및 제 3 안티-레이턴시 데이터 스트림들은 다음의 구성 즉,
    Figure 112004004161987-pct00037
    을 갖는 것을 특징으로 하는 방법.
  50. 제 41 항에 있어서,
    - 상기 제 1 안티-레이턴시 데이터 스트림들은 A 제 1 안티-레이턴시 데이터 스트림들[1 내지 A]을 갖고, 여기서
    Ⅰ. a번째 안티-레이턴시 데이터 스트림은 Fa 세그먼트들을 갖고, Fa 는 a번째 피보나치 수이고; 그리고
    Ⅱ. 상기 Fa 세그먼트들은 a번째 제 1 안티-레이턴시 데이터 스트림내에서 계속하여 반복되고,
    - 상기 제 2 안티-레이턴시 데이터 스트림들은 B 제 2 안티-레이턴시 데이터 스트림을 갖고, 여기서 상기 B 제 2 안티-레이턴시 데이터 스트림은,
    Ⅰ. 상기 데이터의 선두 부분의 적어도 1개의 선두 세그먼트를 포함하는 선 두 데이터 스트림과, 상기 데이터는 상기 선두 데이터 스트림내에서 계속하여 반복되고; 그리고
    Ⅱ. 다수의 마무리 데이터 스트림들을 포함하고, 상기 마무리 데이터 스트림들 각각은,
    ·상기 데이터의 선두 부분의 나머지를 포함하고; 그리고
    ·상기 마무리 데이터 스트림내에서 계속하여 반복되고, 여기서, 각각의 연속하는 마무리 데이터 스트림은 정확하지 않은 점프 프레임 주기로 스태거되고;
    이것에 의하여, 상기 클라이언트는, 상기 클라이언트가 상기 B 제 2 안티-레이턴시 데이터 스트림들에 접속될 때 정확하지 않은 점프 쌍방향 기능을 수행할 수 있는 것을 특징으로 하는 방법.
  51. 제 50 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를 적어도 a번째 및 (a+1)번째 제 1 안티-레이턴시 데이터 스트림들에 접속하는 단계와;
    상기 클라이언트에서 적어도 상기 a번째 및 (a+1)번째 제 1 안티-레이턴시 데이터 스트림들내의 데이터를 버퍼링하는 단계와;
    후속하여 상기 클라이언트를 연속하는 제 1 안티-레이턴시 데이터 스트림들에 접속하는 단계와; 그리고
    상기 A 제 1 안티-레이턴시 데이터 스트림들내의 모든 데이터가 상기 클라이 언트에 의해 수신될 때까지 이전의 단계들을 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  52. 제 51 항에 있어서,
    상기 클라이언트를, 상기 제 1 안티-레이턴시 데이터 스트림들내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 선두 데이터 스트림에 접속하는 단계와;
    후속하여 상기 클라이언트를 상기 마무리 데이터 스트림들 중 어느 하나에 접속하는 단계와; 그리고
    상기 클라이언트를, 상기 B 제 2 안티-레이턴시 데이터 스트림내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  53. 제 50 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  54. 제 50 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  55. 제 50 항에 있어서,
    상기 정확하지 않은 점프 프레임 주기는 E개의 데이터 세그먼트들을 포함하고, FA ≥2E 인 것을 특징으로 하는 방법.
  56. 제 50 항에 있어서,
    a는 1에서부터 시작하는 것을 특징으로 하는 방법.
  57. 제 50 항에 있어서,
    a는 4에서부터 시작하며, 상기 A 제 1 안티-레이턴시 데이터 스트림들 중 반복하는 제 1, 제 2 및 제 3 데이터 스트림들은 다음의 구성 즉,
    Figure 112004004161987-pct00038
    을 갖는 것을 특징으로 하는 방법.
  58. 제 41 항에 있어서,
    - 상기 제 1 안티-레이턴시 데이터 스트림들은 A 제 1 안티-레이턴시 데이터 스트림들을 갖고, 여기서
    Ⅰ. 상기 A 제 1 안티-레이턴시 데이터 스트림들은 [1 내지] C 제 1 데이터 세그먼트들을 포함하고; 그리고
    Ⅱ. 상기 제 1 데이터 세그먼트들은, c번째 선두 세그먼트가 상기 A 제 1 안티-레이턴시 데이터 스트림들내에서 안티-레이턴시 시간 간격 ≤cT 에 의해 반복되도록 상기 A 제 1 안티-레이턴시 데이터 스트림들에서 분배되고;
    - 상기 제 2 안티-레이턴시 데이터 스트림들은 B 제 2 안티-레이턴시 데이터 스트림을 갖고, 여기서 상기 B 제 2 안티-레이턴시 데이터 스트림들 각각은 상기 제 2 안티-레이턴시 데이터 스트림내에서 계속하여 반복되는 실질적으로 동일한 데이터를 포함하고, 각각의 연속하는 제 2 안티-레이턴시 데이터 스트림은 정확하지 않은 점프 프레임 주기로 스태거되고;
    이것에 의하여, 상기 클라이언트는 상기 클라이언트가 상기 B 제 2 안티-레이턴시 데이터 스트림들에 접속될 때 정확하지 않은 점프 쌍방향 기능을 수행할 수 있는 것을 특징으로 하는 방법.
  59. 제 58 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를 상기 A 제 1 안티-레이턴시 데이터 스트림들 모두에 접속하는 단계와; 그리고
    상기 A 제 1 안티-레이턴시 데이터 스트림들내의 모든 데이터가 상기 클라이언트에 의해 수신될 때까지 상기 클라이언트에서 상기 A 제 1 안티-레이턴시 데이터 스트림들내의 데이터를 버퍼링하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  60. 제 59 항에 있어서,
    상기 클라이언트를, 상기 제 1 안티-레이턴시 데이터 스트림들내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 B 제 2 안티-레이턴시 데이터 스트림들 중 어느 하나에 접속하는 단계와; 그리고
    상기 클라이언트를, 상기 접속된 B 제 2 안티-레이턴시 데이터 스트림내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  61. 제 58 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  62. 제 58 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  63. 제 58 항에 있어서,
    상기 정확하지 않은 점프 프레임 주기는 E개의 데이터 세그먼트들을 포함하 고,
    Figure 112004004161987-pct00039
    인 것을 특징으로 하는 방법.
  64. 제 58 항에 있어서,
    상기 A 제 1 안티-레이턴시 데이터 스트림들 중 6개가 다음과 같이 배치되고,
    Figure 112004004161987-pct00040
    여기서, 공백내의 세그먼트들은 임의의 데이터를 포함하는 것을 특징으로 하는 방법.
  65. 제 41 항에 있어서,
    상기 제 1 안티-레이턴시 데이터 스트림들은 A 제 1 안티-레이턴시 데이터 스트림들을 갖고, 여기서
    Ⅰ. 상기 A 제 1 안티-레이턴시 데이터 스트림들은 [1 내지] C 제 1 데이터 세그먼트들을 포함하고; 그리고
    Ⅱ. 상기 데이터 세그먼트들 Ⅰ은, c번째 선두 세그먼트가 상기 A 제 1 안티-레이턴시 데이터 스트림들내에서 안티-레이턴시 시간 간격 ≤cT 에 의해 반복되도록 상기 A 제 1 안티-레이턴시 데이터 스트림들에서 분배되고;
    - 상기 제 2 안티-레이턴시 데이터 스트림들은 B 제 2 안티-레이턴시 데이터 스트림을 갖고, 여기서 상기 B 제 2 안티-레이턴시 데이터 스트림은,
    Ⅰ. 상기 데이터의 선두 부분의 적어도 1개의 선두 세그먼트를 포함하는 선두 데이터 스트림과, 상기 데이터는 상기 선두 데이터 스트림내에서 계속하여 반복되고; 그리고
    Ⅱ. 다수의 마무리 데이터 스트림들을 포함하고, 상기 마무리 데이터 스트림들 각각은,
    ·상기 데이터의 선두 부분의 나머지를 포함하고; 그리고
    ·상기 마무리 데이터 스트림내에서 계속하여 반복되고, 여기서, 각각의 연속하는 마무리 데이터 스트림은 정확하지 않은 점프 프레임 주기로 스태거되고;
    이것에 의하여, 상기 클라이언트는 상기 클라이언트가 상기 B 제 2 안티-레이턴시 데이터 스트림들에 접속될 때 정확하지 않은 점프 쌍방향 기능을 수행할 수 있는 것을 특징으로 하는 방법.
  66. 제 65 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를 상기 A 제 1 안티-레이턴시 데이터 스트림들 모두에 접속하는 단계와; 그리고
    상기 A 제 1 안티-레이턴시 데이터 스트림들내의 모든 데이터가 상기 클라이 언트에 의해 수신될 때까지 상기 클라이언트에서 상기 A 제 1 안티-레이턴시 데이터 스트림들내의 데이터를 버퍼링하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  67. 제 66 항에 있어서,
    상기 클라이언트를, 상기 제 1 안티-레이턴시 데이터 스트림들내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 B 제 2 안티-레이턴시 데이터 스트림들의 선두 데이터 스트림에 접속하는 단계와;
    후속하여 상기 클라이언트를 상기 마무리 데이터 스트림들 중 어느 하나에 접속하는 단계와; 그리고
    상기 클라이언트를, 단계 F에서 접속된 상기 B 제 2 안티-레이턴시 데이터 스트림내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  68. 제 65 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  69. 제 65 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  70. 제 65 항에 있어서,
    상기 정확하지 않은 점프 프레임 주기는 E개의 데이터 세그먼트들을 포함하고,
    Figure 112004004161987-pct00041
    인 것을 특징으로 하는 방법.
  71. 제 67 항에 있어서,
    상기 A 제 1 안티-레이턴시 데이터 스트림들 중 6개가 다음과 같이 배치되고,
    Figure 112004004161987-pct00042
    여기서, 공백내의 세그먼트들은 임의의 데이터를 포함하는 것을 특징으로 하는 방법.
  72. 제 2 항, 제 4 항, 제 15 항, 제 26 항, 제 34 항, 제 41 항, 제 42 항, 제 50 항, 제 58 항 또는 제 65 항 중 어느 한 항에 있어서,
    상기 K개의 데이터 세그먼트들 각각은 헤드 부분과 꼬리 부분을 포함하고, 상기 헤드 부분은 바로 앞의 세그먼트의 상기 꼬리 부분의 데이터의 일부분을 포함하여 상기 클라이언트에 의해 수신되었을 때 상기 K개의 데이터 세그먼트들의 병합을 용이하게 하는 것을 특징으로 하는 방법.
  73. 제 2 항, 제 4 항, 제 15 항, 제 26 항, 제 34 항, 제 41 항, 제 42 항, 제 50 항, 제 58 항 또는 제 65 항 중 어느 한 항에 있어서,
    상기 클라이언트에서 선두 부분내의 데이터의 적어도 일부분을 사전인출하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  74. 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 방법으로서,
    상기 데이터를 K개의 데이터 세그먼트들(각각 네트워크를 거쳐서 전송하는데 시간(T)을 요구함)로 분할하는 단계를 포함하고, 여기서 상기 K개의 데이터 세그먼트들 각각은 헤드 부분과 꼬리 부분을 포함하고, 상기 헤드 부분은 바로 앞의 세그먼트의 상기 꼬리 부분의 데이터의 일부분을 포함하여 상기 클라이언트에 의해 수신되었을 때 상기 K개의 데이터 세그먼트들의 병합을 용이하게 하는 것을 특징으로 하는 방법.
  75. 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 - 상기 클라이언트로의 상기 데이터의 전송을 개시하기 위한 레이턴시 시간을 갖는 - 방법으로서,
    상기 클라이언트에 의한 수신을 위해 데이터의 적어도 선두 부분을 포함하는 적어도 하나의 안티-레이턴시 데이터 스트림을 발생시키는 단계와;
    상기 클라이언트에서 상기 선두 부분을 사전인출 데이터로서 사전인출하는 단계와; 그리고
    상기 데이터의 적어도 잔여 부분을 포함하는 적어도 1개의 쌍방향 데이터 스트림을 발생시켜서 상기 클라이언트가 상기 선두 부분으로 병합시키는 단계를 포함하는 것을 특징으로 하는 방법.
  76. 제 75 항에 있어서,
    오프-피크 주기 동안 상기 사전인출 데이터를 리프레시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  77. 제 76 항에 있어서,
    상기 리프레시 시간 주기는 오프-피크 주기인 것을 특징으로 하는 방법.
  78. 제 76 항에 있어서,
    사전인출 데이터는 하루에 한번 리프레시되는 것을 특징으로 하는 방법.
  79. 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 방법으로서,
    다수의 안티-레이턴시 데이터 스트림들을 발생시키는 단계들을 포함하고, 상기 안티 레이턴시 데이터 스트림들은,
    - 상기 데이터의 선두 부분의 적어도 1개의 선두 세그먼트를 포함하는 선두 데이터 스트림과, 상기 데이터는 상기 선두 데이터 스트림내에서 계속하여 반복되고; 그리고
    - 다수의 마무리 데이터 스트림들을 포함하고, 상기 마무리 데이터 스트림들 각각은,
    ·상기 데이터의 적어도 상기 선두 부분의 나머지를 포함하고; 그리고
    ·상기 마무리 데이터 스트림내에서 계속하여 반복되고, 여기서, 각각의 연속하는 마무리 데이터 스트림은 안티-레이턴시 시간 간격으로 스태거되는 것을 특징으로 하는 방법.
  80. 제 79 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를 상기 선두 데이터 스트림에 접속하는 단계와; 그리고
    후속하여 상기 클라이언트를 상기 마무리 데이터 스트림들 중 어느 하나에 접속하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  81. 제 79 항에 있어서,
    상기 데이터는, 각각 네트워크를 거쳐서 전송하는데 시간(T)을 요구하는, K개의 세그먼트들로 분할되고, 상기 안티-레이턴시 시간 간격 ≥T 인 것을 특징으로 하는 방법.
  82. 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 방법으로서,
    M개의 안티-레이턴시 데이터 스트림들[1 내지 M]을 발생시키는 단계들을 포함하고, 여기서 m번째 안티-레이턴시 데이터 스트림은 Fm 세그먼트들을 갖고, Fm 은 m번째 피보나치 수이고; 그리고 상기 Fm 세그먼트들은 상기 m번째 안티-레이턴시 데이터 스트림내에서 계속하여 반복되는 것을 특징으로 하는 방법.
  83. 제 82 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를 적어도 m번째 및 (m+1)번째 안티-레이턴시 데이터 스트림들에 접속하는 단계와;
    상기 클라이언트에서 적어도 상기 m번째 및 (m+1)번째 안티-레이턴시 데이터 스트림들내의 데이터를 버퍼링하는 단계와;
    후속하여 상기 클라이언트를 연속하는 안티-레이턴시 데이터 스트림들에 접 속하는 단계와; 그리고
    상기 선두 부분내의 모든 데이터가 상기 클라이언트에 의해 수신될 때까지 이전의 단계들을 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  84. 제 82 항에 있어서,
    m은 1에서부터 시작하는 것을 특징으로 하는 방법.
  85. 제 82 항에 있어서,
    m은 4에서부터 시작하며, 반복하는 제 1, 제 2 및 제 3 안티-레이턴시 데이터 스트림들은 다음의 구성 즉,
    Figure 112004004161987-pct00043
    을 갖는 것을 특징으로 하는 방법.
  86. 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 방법으로서,
    상기 데이터는, 각각 상기 네트워크를 거쳐서 전송하는데 시간(T)을 요구하는 K개의 세그먼트들로 분할되고,
    [1 내지] K 안티-레이턴시 데이터 세그먼트들을 포함하는 M개의 안티-레이턴 시 데이터 스트림들을 발생시키는 단계들을 포함하고, 여기서 상기 안티-레이턴시 데이터 스트림들은, k번째 선두 세그먼트가 상기 안티-레이턴시 데이터 스트림들내에서 안티-레이턴시 시간 간격 ≤kT 에 의해 반복되도록 상기 M개의 안티-레이턴시 데이터 스트림들에서 분배되는 것을 특징으로 하는 방법.
  87. 제 86 항에 있어서,
    상기 클라이언트를 상기 M개의 안티-레이턴시 데이터 스트림들 모두에 접속하는 단계와; 그리고
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트에서 상기 M개의 안티-레이턴시 데이터 스트림들내의 상기 데이터를 버퍼링하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  88. 제 86 항에 있어서,
    상기 선두 데이터 세그먼트들을 포함하는 상기 M개의 안티-레이턴시 데이터 스트림들 중 6개가 다음과 같이 배치되고,
    Figure 112004004161987-pct00044
    여기서, 공백내의 세그먼트들은 임의의 데이터를 포함하는 것을 특징으로 하는 방법.
  89. 제 2 항에 따라 네트워크를 거쳐서 적어도 하나의 클라이언트에 전송되는 데이터를 수신하는 방법으로서,
    상기 데이터에 대한 요청을 일으키는 단계와; 그리고
    상기 클라이언트를 상기 M개의 안티-레이턴시 데이터 스트림들에 접속하여 상기 M개의 안티-레이턴시 데이터 스트림들내의 데이터를 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  90. 제 89 항에 있어서,
    상기 클라이언트를, 상기 M개의 안티-레이턴시 데이터 스트림들내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 N개의 쌍방향 데이터 스트림들에 접속하는 단계들을 더 포함하는 것을 특징으로 하는 방법.
  91. 제 89 항에 있어서,
    상기 선두 부분내의 데이터는 순차적으로 수신되는 것을 특징으로 하는 방법.
  92. 제 89 항에 있어서,
    상기 클라이언트는 적어도 2개의 상기 안티-레이턴시 데이터 스트림들에 동시에 접속하는 것을 특징으로 하는 방법.
  93. 제 92 항에 있어서,
    상기 클라이언트에 의해 순차적으로 수신되는, 상기 클라이언트에 접속된 상기 2개의 상기 안티-레이턴시 데이터 스트림들내의 데이터를 버퍼링하는 단계들을 더 포함하는 것을 특징으로 하는 방법.
  94. 제 89 항에 있어서,
    상기 클라이언트는 상기 안티-레이턴시 데이터 스트림들 모두에 동시에 접속하는 것을 특징으로 하는 방법.
  95. 제 94 항에 있어서,
    상기 클라이언트에서 접속된 상기 안티-레이턴시 데이터 스트림들내의 데이터를 버퍼링하는 단계와; 그리고
    적절한 시퀀스에 따라 상기 버퍼링된 데이터를 재배치하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  96. 제 89 항에 있어서,
    상기 클라이언트에서 상기 M개의 안티-레이턴시 데이터 스트림들내의 데이터 의 적어도 일부분을 사전인출 데이터로서 사전인출하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  97. 제 96 항에 있어서,
    리프레시 시간 주기 동안 상기 사전인출된 데이터를 리프레시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  98. 제 97 항에 있어서,
    상기 리프레시 시간 주기는 01:00-06:00 인 것을 특징으로 하는 방법.
  99. 제 97 항에 있어서,
    상기 리프레시 시간 주기는 10:00-15:00 인 것을 특징으로 하는 방법.
  100. 네트워크를 거쳐서 적어도 하나의 클라이언트에 전송되는 데이터를 수신하는 방법으로서,
    상기 데이터는 선두 부분과 잔여 부분을 포함하고, 상기 잔여 부분은 적어도 1개의 쌍방향 데이터 스트림에 의해 전송되고, 상기 방법은
    상기 클라이언트에서 상기 선두 부분을 사전인출 데이터로서 사전인출하는 단계와; 그리고
    상기 사전인출 데이터를 상기 잔여 부분에 병합시키는 단계를 포함하는 것을 특징으로 하는 방법.
  101. 제 100 항에 있어서,
    리프레시 시간 주기 동안 상기 사전인출 데이터를 리프레시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  102. 제 101 항에 있어서,
    상기 리프레시 시간 주기는 오프-피크 주기인 것을 특징으로 하는 방법.
  103. 제 101 항에 있어서,
    사전인출된 데이터는 하루에 한번 리프레시되는 것을 특징으로 하는 방법.
  104. 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 - 상기 클라이언트로의 상기 데이터의 전송을 개시하기 위한 레이턴시 시간을 갖는 - 방법으로서,
    상기 클라이언트에 의한 수신을 위해 상기 데이터의 적어도 선두 부분을 포함하는 적어도 하나의 안티-레이턴시 데이터 스트림을 발생시키는 단계와; 그리고
    상기 데이터의 적어도 잔여 부분을 포함하는 적어도 1개의 쌍방향 데이터 스트림을 발생시켜서 상기 클라이언트가 안티-레이턴시 데이터 스트림의 적어도 일부분을 수신한 후에 병합시키는 단계를 포함하고,
    여기서,
    상기 데이터의 상기 선두 부분은,
    ·규칙적인 안티-레이턴시 스트림 간격들로 발생될 수 있고; 그리고
    ·적어도 하나의 클라이언트가 상기 데이터에 대한 요청을 일으킨 후에 그 다음 가장 빠른 안티-레이턴시 스트림 간격으로 발생되는 것을 특징으로 하는 방법.
  105. 제 104 항에 있어서,
    - 상기 네트워크를 거쳐서 전송되는데 시간(R)을 요구하는 상기 데이터는, 각각 상기 네트워크를 거쳐서 전송하는데 시간(T)을 요구하는 K개의 세그먼트들로 분할되고;
    - 상기 안티-레이턴시 데이터 스트림들은 M개의 안티-레이턴시 데이터 스트림들을 포함하고, 여기서 상기 M개의 안티-레이턴시 데이터 스트림 각각은,
    ·실질적으로 동일한 데이터를 포함하고;
    ·규칙적인 안티-레이턴시 시간 간격들로 발생될 수 있고; 그리고
    ·상기 클라이언트가 상기 데이터에 대한 요청을 일으킨 후에 그 다음 가장 빠른 안티-레이턴시 스트림 간격으로 발생되고;
    - 상기 쌍방향 데이터 스트림들은 N개의 쌍방향 데이터 스트림들을 포함하고, 여기서 상기 N개의 쌍방향 데이터 스트림 각각은 상기 쌍방향 데이터 스트림내에서 계속하여 반복되고, 각각의 연속하는 쌍방향 데이터 스트림은 쌍방향 시간 간 격으로 스태거되는 것을 특징으로 하는 방법.
  106. 제 105 항에 있어서,
    상기 M개의 안티-레이턴시 데이터 스트림 각각은 J개의 세그먼트들을 갖고; 그리고
    상기 안티-레이턴시 시간 간격 ≥T 인 것을 특징으로 하는 방법.
  107. 제 106 항에 있어서,
    상기 쌍방향 시간 간격 ≥JT 인 것을 특징으로 하는 방법.
  108. 제 107 항에 있어서,
    M ≥J 인 것을 특징으로 하는 방법.
  109. 제 106 항에 있어서,
    Figure 112004004161987-pct00045
    인 것을 특징으로 하는 방법.
  110. 제 109 항에 있어서,
    Figure 112004004161987-pct00046
    인 것을 특징으로 하는 방법.
  111. 제 105 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  112. 제 105 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  113. 제 105 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를, 상기 클라이언트에 대해 발생된 상기 M개의 안티-레이턴시 데이터 스트림들에 접속하는 단계와;
    상기 클라이언트를 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계와; 그리고
    상기 클라이언트가 상기 N개의 쌍방향 데이터 스트림들 중 하나에 접속된 후에 상기 클라이언트에 대해 발생된 상기 M개의 안티-레이턴시 데이터 스트림을 종료하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  114. 제 104 항에 있어서,
    - 상기 네트워크를 거쳐서 전송되는데 시간(R)을 요구하는 상기 데이터는, 각각 상기 네트워크를 거쳐서 전송하는데 시간(T)을 요구하는 K개의 세그먼트들로 분할되고;
    - 상기 안티-레이턴시 데이터 스트림들은 M개의 안티-레이턴시 데이터 스트림들을 포함하고, 상기 M개의 안티-레이턴시 데이터 스트림들은
    Ⅰ. 선두 데이터 스트림과, 여기서 상기 선두 데이터 스트림은
    ·상기 데이터의 상기 선두 부분의 적어도 1개의 선두 세그먼트를 포함하고;
    ·규칙적인 안티-레이턴시 시간 간격들로 발생될 수 있고; 그리고
    ·상기 클라이언트가 상기 데이터에 대한 요청을 일으킨 후에 그 다음 가장 빠른 안티-레이턴시 스트림 간격으로 발생되고;
    Ⅱ. 다수의 마무리 데이터 스트림들을 포함하고, 여기서 상기 마무리 데이터 스트림들 각각은
    ·상기 데이터의 상기 선두 부분의 나머지를 포함하고;
    ·상기 선두 세그먼트들 중 하나에 대응하고; 그리고
    ·상기 대응하는 선두 세그먼트가 발생되면 발생되고;
    - 상기 쌍방향 데이터 스트림들은 N개의 쌍방향 데이터 스트림들을 포함하고, 여기서 상기 N개의 쌍방향 데이터 스트림들 각각은 상기 쌍방향 데이터 스트림내에서 계속하여 반복되고, 각각의 연속하는 쌍방향 데이터 스트림은 쌍방향 시간 간격으로 스태거되는 것을 특징으로 하는 방법.
  115. 제 114 항에 있어서,
    상기 마무리 데이터 스트림 각각은 J개의 세그먼트들을 갖고; 그리고
    상기 안티-레이턴시 시간 간격 ≥T 인 것을 특징으로 하는 방법.
  116. 제 115 항에 있어서,
    상기 쌍방향 시간 간격 ≥JT 인 것을 특징으로 하는 방법.
  117. 제 116 항에 있어서,
    Figure 112004004161987-pct00047
    인 것을 특징으로 하는 방법.
  118. 제 117 항에 있어서,
    Figure 112004004161987-pct00048
    인 것을 특징으로 하는 방법.
  119. 제 117 항에 있어서,
    Figure 112004004161987-pct00049
    인 것을 특징으로 하는 방법.
  120. 제 114 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  121. 제 114 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  122. 제 114 항에 있어서,
    상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 상기 클라이언트를, 상기 클라이언트에 대해 발생된 상기 선두 데이터 세그먼트에 접속하는 단계와;
    후속하여 상기 클라이언트를 상기 대응하는 마무리 데이터 스트림에 접속하는 단계와;
    상기 클라이언트를 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계와; 그리고
    상기 클라이언트가 상기 N개의 쌍방향 데이터 스트림들 중 하나에 접속된 후에 상기 클라이언트에 대해 발생된 상기 선두 데이터 세그먼트 및 상기 대응하는 마무리 데이터 스트림을 종료하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  123. 제 104 항에 있어서,
    - 상기 네트워크를 거쳐서 전송되는데 시간(R)을 요구하는 상기 데이터는, 각각 상기 네트워크를 거쳐서 전송하는데 시간(T)을 요구하는 K개의 세그먼트들로 분할되고;
    - 상기 쌍방향 데이터 스트림들은 N개의 쌍방향 데이터 스트림들을 포함하고, 여기서 상기 N개의 쌍방향 데이터 스트림 각각은 상기 쌍방향 데이터 스트림내에서 계속하여 반복되고, 각각의 연속하는 쌍방향 데이터 스트림은 쌍방향 시간 간격 =
    Figure 112004004161987-pct00050
    으로 스태거되고;
    - 상기 안티-레이턴시 데이터 스트림들은 M개의 안티-레이턴시 데이터 스트림들을 포함하고, 여기서
    ·m번째 안티-레이턴시 데이터 스트림은 Fm 세그먼트들을 갖고, 여기서 Fm 은 m번째 피보나치 수이고;
    ·상기 Fm 세그먼트들은 규칙적인 안티-레이턴시 스트림 간격들로 발생될 수 있고;
    ·첫번째 Fm 세그먼트는 상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 그 다음 가장 빠른 안티-레이턴시 스트림 간격으로 발생되고; 그리고
    ·후속하는 F(m+1) 세그먼트들은 선행하는 Fm 세그먼트내의 모든 데이터가 상기 클라이언트에 의해 수신되기 전에 발생되는 것을 특징으로 하는 방법.
  124. 제 123 항에 있어서,
    상기 클라이언트를, 상기 클라이언트가 상기 데이터에 대한 요청을 일으키면 적어도 상기 m번째 및 (m+1)번째 안티-레이턴시 데이터 스트림들에 접속하는 단계 와;
    상기 클라이언트에서 적어도 상기 m번째 및 (m+1)번째 안티-레이턴시 데이터 스트림들내의 데이터를 버퍼링하는 단계와;
    후속하여 상기 클라이언트를 연속하는 안티-레이턴시 데이터 스트림들에 접속하는 단계와; 그리고
    상기 선두 부분내의 모든 데이터가 상기 클라이언트에 의해 수신될 때까지 이전의 단계들을 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  125. 제 124 항에 있어서,
    상기 클라이언트를, 상기 선두 부분내의 모든 데이터가 상기 클라이언트에 의해 수신된 후에 상기 N개의 쌍방향 데이터 스트림들 중 어느 하나에 접속하는 단계와; 그리고
    상기 클라이언트가 상기 N개의 쌍방향 데이터 스트림들 중 하나에 접속된 후에 상기 M개의 안티-레이턴시 데이터 스트림들을 종료하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  126. 제 123 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 K개의 세그먼트들을 갖는 상기 데이터의 전체 세트를 포함하는 것을 특징으로 하는 방법.
  127. 제 123 항에 있어서,
    상기 N개의 쌍방향 데이터 스트림들 각각은 상기 데이터의 잔여 부분만을 포함하는 것을 특징으로 하는 방법.
  128. 제 123 항에 있어서,
    Figure 112004004161987-pct00051
    인 것을 특징으로 하는 방법.
  129. 제 123 항에 있어서,
    m은 1에서부터 시작하는 것을 특징으로 하는 방법.
  130. 제 123 항에 있어서,
    m은 4에서부터 시작하며, 반복하는 제 1, 제 2 및 제 3 안티-레이턴시 데이터 스트림들은 다음의 구성 즉,
    Figure 112004004161987-pct00052
    을 갖는 것을 특징으로 하는 방법.
  131. 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 방법으로 서,
    다수의 안티-레이턴시 데이터 스트림들을 발생시키는 단계들을 포함하고, 상기 안티-레이턴시 데이터 스트림들은
    - 선두 데이터 스트림과, 여기서 상기 선두 데이터 스트림은
    ·상기 데이터의 상기 선두 부분의 적어도 1개의 선두 세그먼트를 포함하고;
    ·규칙적인 안티-레이턴시 시간 간격들로 발생될 수 있고; 그리고
    ·상기 클라이언트가 상기 데이터에 대한 요청을 일으킨 후에 그 다음 가장 빠른 안티-레이턴시 스트림 간격으로 발생되고;
    - 다수의 마무리 데이터 스트림들을 포함하고, 여기서 상기 마무리 데이터 스트림들 각각은
    ·상기 데이터의 상기 선두 부분의 나머지를 포함하고;
    ·상기 선두 세그먼트들 중 하나에 대응하고; 그리고
    ·상기 대응하는 선두 세그먼트가 발생되면 발생되는 것을 특징으로 하는 방법.
  132. 제 131 항에 있어서,
    상기 클라이언트를, 상기 클라이언트가 상기 데이터에 대한 요청을 일으키면 상기 선두 데이터 스트림에 접속하는 단계와; 그리고
    후속하여 상기 클라이언트를 상기 대응하는 마무리 데이터 스트림에 접속하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  133. 제 131 항에 있어서,
    상기 데이터는, 각각 상기 네트워크를 거쳐서 전송하는데 시간(T)을 요구하는 K개의 세그먼트들로 분할되고, 상기 안티-레이턴시 시간 간격 ≥T 인 것을 특징으로 하는 방법.
  134. 네트워크를 거쳐서 적어도 하나의 클라이언트에 데이터를 전송하는 방법으로서,
    M개의 안티-레이턴시 데이터 스트림들을 발생시키는 단계들을 포함하고, 여기서
    - m번째 안티-레이턴시 데이터 스트림은 Fm 세그먼트들을 갖고, 여기서 Fm 은 m번째 피보나치 수이고;
    - 상기 Fm 세그먼트들은 규칙적인 안티-레이턴시 스트림 간격들로 발생될 수 있고;
    - 첫번째 Fm 세그먼트는 상기 클라이언트가 상기 데이터에 대한 요청을 일으키면, 그 다음 가장 빠른 안티-레이턴시 스트림 간격으로 발생되고; 그리고
    ·후속하는 F(m+1) 세그먼트들은 선행하는 Fm 세그먼트내의 모든 데이터가 상기 클라이언트에 의해 수신되기 전에 발생되는 것을 특징으로 하는 방법.
  135. 제 134 항에 있어서,
    상기 클라이언트를, 상기 클라이언트가 상기 데이터에 대한 요청을 일으키면 적어도 상기 m번째 및 (m+1)번째 안티-레이턴시 데이터 스트림들에 접속하는 단계와;
    상기 클라이언트에서 적어도 상기 m번째 및 (m+1)번째 안티-레이턴시 데이터 스트림들내의 데이터를 버퍼링하는 단계와;
    후속하여 상기 클라이언트를 연속하는 안티-레이턴시 데이터 스트림들에 접속하는 단계와; 그리고
    상기 선두 부분내의 모든 데이터가 상기 클라이언트에 의해 수신될 때까지 이전의 단계들을 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  136. 제 134 항에 있어서,
    m은 1에서부터 시작하는 것을 특징으로 하는 방법.
  137. 제 134 항에 있어서,
    m은 4에서부터 시작하며, 반복하는 제 1, 제 2 및 제 3 안티-레이턴시 데이터 스트림들은 다음의 구성 즉,
    Figure 112004004161987-pct00053
    을 갖는 것을 특징으로 하는 방법.
KR1020047001588A 2001-07-31 2002-07-29 네트워크를 거쳐서 데이터를 전달하는 방법 KR100583067B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US09/917,638 2001-07-31
US09/917,638 US7174384B2 (en) 2001-07-31 2001-07-31 Method for delivering large amounts of data with interactivity in an on-demand system
US09/954,041 2001-09-18
US09/954,041 US7200669B2 (en) 2001-07-31 2001-09-18 Method and system for delivering large amounts of data with interactivity in an on-demand system
PCT/CN2002/000526 WO2003013138A1 (en) 2001-07-31 2002-07-29 Method for delivering data over a network

Publications (2)

Publication Number Publication Date
KR20040041573A KR20040041573A (ko) 2004-05-17
KR100583067B1 true KR100583067B1 (ko) 2006-05-25

Family

ID=27129727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047001588A KR100583067B1 (ko) 2001-07-31 2002-07-29 네트워크를 거쳐서 데이터를 전달하는 방법

Country Status (8)

Country Link
US (2) US7200669B2 (ko)
EP (1) EP1433323A4 (ko)
JP (1) JP4358620B2 (ko)
KR (1) KR100583067B1 (ko)
CN (1) CN1254971C (ko)
AU (1) AU2002322987B2 (ko)
CA (1) CA2451897C (ko)
WO (1) WO2003013138A1 (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171520B2 (en) * 2000-03-02 2012-05-01 Tivo Inc. Method of sharing personal media using a digital recorder
WO2003013124A2 (en) * 2001-07-31 2003-02-13 Dinastech Ipr Limited System for delivering data over a network
JP2006509411A (ja) * 2002-12-04 2006-03-16 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ番組を放送するシステム及び方法
US7698724B1 (en) * 2003-05-15 2010-04-13 Cisco Technology, Inc. Convergence processor for media streams
US7603689B2 (en) * 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
CN100362862C (zh) * 2003-08-01 2008-01-16 仁宝电脑工业股份有限公司 传送视频档案方法
WO2006011270A1 (ja) * 2004-07-27 2006-02-02 Sharp Kabushiki Kaisha 擬似ビデオオンデマンドシステム、擬似ビデオオンデマンドシステムの制御方法、およびそれらに用いるプログラムおよび記録媒体
KR20060059782A (ko) * 2004-11-29 2006-06-02 엘지전자 주식회사 영상신호의 스케일러블 프로그레시브 다운로딩을 지원하는방법
US20090064242A1 (en) * 2004-12-23 2009-03-05 Bitband Technologies Ltd. Fast channel switching for digital tv
EP1675399A3 (en) * 2004-12-23 2009-04-29 Bitband Technologies Ltd. Fast channel switching for digital TV
US7954128B2 (en) * 2005-02-11 2011-05-31 Time Warner Cable Inc. Methods and apparatus for variable delay compensation in networks
GB0508946D0 (en) * 2005-04-30 2005-06-08 Ibm Method and apparatus for streaming data
KR100659191B1 (ko) * 2005-09-29 2006-12-21 하나로미디어(주) 주문형 비디오 서비스의 효율적 운영방법 및 시스템
US8340098B2 (en) * 2005-12-07 2012-12-25 General Instrument Corporation Method and apparatus for delivering compressed video to subscriber terminals
US20090307732A1 (en) * 2006-03-07 2009-12-10 Noam Cohen Personalized Insertion of Advertisements in Streaming Media
TWI633769B (zh) 2006-05-11 2018-08-21 Cfph股份有限公司 使用及管理電子檔案的方法和設備
US8532012B2 (en) * 2007-12-07 2013-09-10 Industrial Technology Research Institute Methods and devices for scalable reception in wireless communication systems
US8386629B2 (en) * 2007-12-27 2013-02-26 At&T Intellectual Property I, L.P. Network optimized content delivery for high demand non-live contents
US8700792B2 (en) * 2008-01-31 2014-04-15 General Instrument Corporation Method and apparatus for expediting delivery of programming content over a broadband network
US8028081B2 (en) * 2008-05-23 2011-09-27 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media
US8752092B2 (en) * 2008-06-27 2014-06-10 General Instrument Corporation Method and apparatus for providing low resolution images in a broadcast system
US8514888B2 (en) * 2008-09-12 2013-08-20 Industrial Technology Research Institute Methods and devices for wireless broadcasting service communication environment
GB2469107B (en) * 2009-04-02 2015-01-21 Livestation Ltd Method and apparatus for distributing data
US8051194B2 (en) * 2009-05-27 2011-11-01 Ray-V Technologies, Ltd. Method for buffer management for video swarms in a peer-to-peer network
US8782267B2 (en) 2009-05-29 2014-07-15 Comcast Cable Communications, Llc Methods, systems, devices, and computer-readable media for delivering additional content using a multicast streaming
US9357244B2 (en) * 2010-03-11 2016-05-31 Arris Enterprises, Inc. Method and system for inhibiting audio-video synchronization delay
US8832293B2 (en) * 2010-09-03 2014-09-09 Hulu, LLC Bandwidth allocation with modified seek function
US8601334B2 (en) 2011-05-10 2013-12-03 At&T Intellectual Property I, L.P. System and method for delivering content over a multicast network
US9363540B2 (en) * 2012-01-12 2016-06-07 Comcast Cable Communications, Llc Methods and systems for content control
EP2785005A1 (en) * 2013-03-28 2014-10-01 British Telecommunications public limited company Content distribution system and method
FR3005386B1 (fr) * 2013-05-02 2016-10-14 Tdf Procede et dispositif de fourniture d’une partie deja diffusee d’un flux multimedia, terminal utilisateur, programme d’ordinateur et medium de stockage correspondants
EP2819364A1 (en) * 2013-06-25 2014-12-31 British Telecommunications public limited company Content distribution system and method
EP2819420A1 (en) 2013-06-25 2014-12-31 British Telecommunications public limited company Content distribution system and method
EP2819419A1 (en) 2013-06-25 2014-12-31 British Telecommunications public limited company Content distribution system and method
EP2978225B1 (en) * 2014-07-23 2017-11-08 Wildmoka Method for obtaining in real time a user selected multimedia content part
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US11109290B2 (en) 2017-08-04 2021-08-31 Charter Communications Operating, Llc Switching connections over frequency bands of a wireless network
US10958948B2 (en) 2017-08-29 2021-03-23 Charter Communications Operating, Llc Apparatus and methods for latency reduction in digital content switching operations

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724646A (en) * 1995-06-15 1998-03-03 International Business Machines Corporation Fixed video-on-demand
JP3288199B2 (ja) * 1995-06-30 2002-06-04 富士通株式会社 ビデオデータ配信装置
US5751336A (en) * 1995-10-12 1998-05-12 International Business Machines Corporation Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems
US5822530A (en) * 1995-12-14 1998-10-13 Time Warner Entertainment Co. L.P. Method and apparatus for processing requests for video on demand versions of interactive applications
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US6018359A (en) * 1998-04-24 2000-01-25 Massachusetts Institute Of Technology System and method for multicast video-on-demand delivery system
US6563515B1 (en) 1998-05-19 2003-05-13 United Video Properties, Inc. Program guide system with video window browsing
US6141324A (en) * 1998-09-01 2000-10-31 Utah State University System and method for low latency communication
US6377972B1 (en) * 1999-01-19 2002-04-23 Lucent Technologies Inc. High quality streaming multimedia
JP2003510982A (ja) * 1999-09-27 2003-03-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオオンデマンド用の実施可能なシステム
WO2003013124A2 (en) * 2001-07-31 2003-02-13 Dinastech Ipr Limited System for delivering data over a network

Also Published As

Publication number Publication date
US7200669B2 (en) 2007-04-03
AU2002322987B2 (en) 2007-12-20
EP1433323A1 (en) 2004-06-30
CN1535537A (zh) 2004-10-06
CA2451897A1 (en) 2003-02-13
KR20040041573A (ko) 2004-05-17
US20030093543A1 (en) 2003-05-15
EP1433323A4 (en) 2007-04-18
CA2451897C (en) 2009-10-20
CN1254971C (zh) 2006-05-03
WO2003013138A1 (en) 2003-02-13
JP2004537242A (ja) 2004-12-09
JP4358620B2 (ja) 2009-11-04
US20070174480A1 (en) 2007-07-26

Similar Documents

Publication Publication Date Title
KR100583067B1 (ko) 네트워크를 거쳐서 데이터를 전달하는 방법
US7590751B2 (en) Method for delivering large amounts of data with interactivity in an on-demand system
US7926080B2 (en) Trick mode support for VOD with long intra-frame intervals
EP2262260B1 (en) Switched multicast video streaming
JP4160960B2 (ja) デジタルコンテンツの配信方法およびシステム
AU2002322987A1 (en) Method for delivering data over a network
US20020026501A1 (en) Decreased idle time and constant bandwidth data-on-demand broadcast delivery matrices
KR100639428B1 (ko) 네트워크를 통해 데이터를 전송하는 시스템
WO2004091186A2 (en) System and method for facilitating fast-forwarding of first-run programs
AU2002322988A1 (en) System for delivering data over a network
US20020138845A1 (en) Methods and systems for transmitting delayed access client generic data-on demand services
US7574728B2 (en) System for delivering data over a network
CA2406715A1 (en) Methods for providing video-on-demand services for broadcasting systems
CA2428829A1 (en) Decreased idle time and constant bandwidth data-on-demand broadcast delivery matrices
WO2002086673A2 (en) Transmission of delayed access client data and demand
Paris et al. A proactive implementation of interactive video-on-demand
KR20040063795A (ko) 지연된 억세스 클라이언트 데이터 및 요청의 전송
EP1402331A2 (en) Methods and systems for transmitting delayed access client generic data-on demand services
JP2005252581A (ja) 通信端末装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090507

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee