KR102335495B1 - 클라이언트 단말기들과 적어도 하나의 서버 사이의 송신 경로를 따라 배열된 캐시를 작동시키기 위한 방법, 및 대응하는 캐시 - Google Patents

클라이언트 단말기들과 적어도 하나의 서버 사이의 송신 경로를 따라 배열된 캐시를 작동시키기 위한 방법, 및 대응하는 캐시 Download PDF

Info

Publication number
KR102335495B1
KR102335495B1 KR1020150078585A KR20150078585A KR102335495B1 KR 102335495 B1 KR102335495 B1 KR 102335495B1 KR 1020150078585 A KR1020150078585 A KR 1020150078585A KR 20150078585 A KR20150078585 A KR 20150078585A KR 102335495 B1 KR102335495 B1 KR 102335495B1
Authority
KR
South Korea
Prior art keywords
cache
representation
type
client terminal
request
Prior art date
Application number
KR1020150078585A
Other languages
English (en)
Other versions
KR20150140230A (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 KR20150140230A publication Critical patent/KR20150140230A/ko
Application granted granted Critical
Publication of KR102335495B1 publication Critical patent/KR102335495B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • H04L67/2842
    • H04L65/605
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/26258Content 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 generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless 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/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/633Control signals issued by server directed to the network components or client
    • H04N21/6338Control signals issued by server directed to the network components or client directed to network
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

클라이언트 단말기와 적어도 하나의 서버 사이에 배열되도록 적응된 제1 유형의 캐시(DANE)가 개시되며, 제1 유형의 캐시(DANE)는:
- 복수의 표현들로 이용 가능한 멀티미디어 컨텐츠의 세그먼트의 제1 표현을 위한 요청을, 클라이언트 단말기로부터 수신하도록 구성되고,
- 클라이언트 단말기에 응답을 전송하도록 구성된 모듈(2)을 포함하되,
■ 상기 제1 유형의 캐시(DANE)에 의해 캐싱되는 상기 세그먼트의 하나의 대안적인 표현과;
■ 상기 응답의 대안적인 표현을 캐싱하는 것으로부터 - 제1 유형의 캐시(DANE)와 클라이언트 단말기 사이에 배열된 - 제2 유형의 캐시를 방지하는 제1 추가적인 정보와;
■ 상기 응답의 대안적인 표현을 식별하여, 추가적인 제1 유형의 캐시(DANE)가 상기 대안적인 표현을 캐싱하는 것을 허용하는 제2 추가적인 정보를
포함하는 응답을, 클라이언트 단말기에 전송하도록 구성된 모듈(2)을
포함한다.

Description

클라이언트 단말기들과 적어도 하나의 서버 사이의 송신 경로를 따라 배열된 캐시를 작동시키기 위한 방법, 및 대응하는 캐시{METHOD FOR OPERATING A CACHE ARRANGED ALONG A TRANSMISSION PATH BETWEEN CLIENT TERMINALS AND AT LEAST ONE SERVER, AND CORRESPONDING CACHE}
본 발명은 일반적으로, 예를 들어, 하지만 배타적이지는 않게, HTTP(하이퍼텍스트 전송 프로토콜)를 통한 적응적 스트리밍 기술의 영역에 관한 것이며, 특히 클라이언트 단말기들과 원격 서버들 사이의 송신 경로를 따라 배열된 캐시(cache)의 작동에 관한 것이다.
이 섹션은 아래에 설명 및/또는 청구되는 본 발명의 다양한 양상들에 관련될 수 있는 다양한 종래 기술의 양상들을 독자에게 도입하도록 의도된다. 이러한 논의는 다양한 본 발명의 양상들의 보다 더 양호한 이해를 촉진하기 위한 배경 정보를 독자에게 제공함에 있어 유익할 것이라고 여겨진다. 따라서, 이러한 진술들은 이러한 견지에서 읽혀질 것이며 종래 기술의 용인으로서 읽혀지지는 않을 것임이 이해될 것이다.
HTTP를 통한 적응적 스트리밍(멀티-비트레이트 스위칭 또는 HAS라고도 부름)은 빠르게 멀티미디어 컨텐츠 분배를 위한 주요 기술이 되어 가고 있다. 이미 사용되는 HTTP 적응적 스트리밍 프로토콜들 중에서, 가장 유명한 것은 Apple 사로부터의 HTTP 라이브 스트리밍(HLS), Microsoft 사로부터의 실버라이트 스무스 스트리밍(SSS), Adobe 사로부터의 아도브 다이나믹 스트리밍(ADS), (ISO/IEC 23009-1:2012로서 표준화된) MPEG 및 3GPP에 의해 개발된 HTTP를 통한 다이나믹 어댑티브 스트리밍(DASH)이다.
클라이언트 단말기가 적응적 스트리밍에서의 시청각 컨텐츠(또는 A/V 컨텐츠)를 재생하기를 원할 때, 이는 먼저 이러한 A/V 컨텐츠가 어떻게 획득될 수 있는지를 설명하는 파일을 얻어야 한다. 이는 일반적으로 URL(유니폼 리소스 로케이터)로부터 소위 매니페스트(manifest)라고 부르는 설명 파일을 얻음으로써 HTTP 프로토콜을 통해 수행되지만, 이는 또한 다른 수단들(예컨대, 브로드캐스트, 이메일, 및 SMS 등)에 의해 성취될 수 있다. 매니페스트 - 사전에 생성되고 원격 서버에 의해 클라이언트 단말기에 전달됨 - 는 기본적으로 (비트레이트, 해상도, 및 다른 특성들에 관하여) 이러한 A/V 컨텐츠의 {인스턴스들(instances) 또는 버전들이라고도 부르는} 이용 가능한 표현들(representation)을 열거한다. 표현은 주어진 품질 레벨(비트레이트)과 연관된다.
각각의 표현의 전체 데이터 스트림은 클라이언트 단말기가 두 개의 세그먼트들(segments) 사이에서 하나의 품질 레벨로부터 또 다른 품질 레벨로 원활하게 전환(switch)될 수 있도록 생성되는 (개별적인 URL에 액세스될 수 있는) 동일한 지속시간의 (청크들이라고도 부르는) 세그먼트들로 분할된다. 그 결과로서, 비디오 품질은 재생 중에 변할 수 있지만, {프리즈들(freezes)이라고도 부르는} 중단들(interruptions)을 드물게 경험한다.
클라이언트 측에서, 세그먼트들은 송신 경로의 이용 가능한 대역폭의 측정(measure)에 기초하여 선택된다. 특히, 클라이언트 단말기는 보통, 비트레이트 인코딩에 대응하는 세그먼트의 표현, 및 이에 따라 측정된 대역폭을 준수하는 품질을 요청한다.
캐시가 클라이언트 단말기와 원격 서버 사이의 송신 경로를 따를 때, 주어진 세그먼트의 하나의 표현은, 또 다른 클라이언트가 동일한 표현을 갖는 동일한 세그먼트를 이전에 요청한 경우나, 또는 컨텐츠 전달 네트워크(CDN)가 캐시 내에서 세그먼트를 이미 공급한 경우 상기 캐시에 이미 저장될 수 있다. 따라서, 상기 주어진 세그먼트를 위한 HTTP 요청에 대한 응답은, 세그먼트가 원격 서버로부터 나오고 중복 송신이 회피될 수 있는 경우보다 더 빠르므로, 효율적으로 네트워크 자원들을 절약한다.
그럼에도 불구하고, HTTP 적응적 스트리밍은 캐시-프렌드리(cache friendly)하지 않은듯 {또는, 예를 들어 H264-SVC로서 소위 계층화된 베이스 전환(layered base switching)이라고 부르는 것보다 적어도 덜 캐시 프렌드리한 듯} 보인다. 실제로, 제1 클라이언트 단말기가 주어진 세그먼트의 표현 r을 요청하고, - 캐시 및 상기 제1 클라이언트 단말기와의 송신 경로의 일부분을 공유하는 - 제2 클라이언트 단말기가 (보다 더 높거나 보다 더 낮은 품질로) 상기 주어진 세그먼트의 표현을 요청하는 경우, 캐시에 도달되지 않으며(not hit), 이는 혼잡(congestion)을 야기하는 위험과 함께, 캐시와 서버 사이의 네트워크 세그먼트에 대한 보다 더 높은 부하(load)를 야기한다. 이에 따라, 캐싱의 이점들은 완전히 전멸되었으며, 캐시들은 현재 이러한 상황을 개선시킬 수 없다.
이러한 단점을 극복하기 위해, 클라이언트 단말기가 제1 (선호되는 이라고도 부르는) 표현 및 하나 이상의 대안적인 표현들을 포함하는 주어진 세그먼트를 위한 요청을 전송할 수 있다는 것이 알려져 있다. 이러한 요청이 HAS 인식(aware) 캐시에 도착할 때(이는 상기 캐시가 MPEG-DASH와 같은 HAS 프로토콜에 준수한다는 것을 의미함), 상기 캐시는 제1 표현이 캐싱된 경우 제1 표현을 전달하거나, 또는 제1 표현이 캐싱되지 않는 경우 대안적인 표현들을 브라우징(browse)한다. 대안적인 표현들 중 하나가 캐싱될 때, 캐시는 상기 대안적인 표현을 클라이언트 단말기에 전송한다. 그럼에도 불구하고, 많은 신규 기술들에 대해서, {소위 DASH 인식 네트워크 요소(DASH Aware Network Element)인 DANES 또는 스마트 캐시들이라고 부르는} DASH 인식 캐시들의 점진적인 전개는 (소위 레거시 캐시들이라고 부르는) DASH 인식이 아닌 현재의 캐시들과의 이들의 공존을 요구한다. 이러한 공존은, 주어진 DANE가 HTTP 요청에 열거된 제1 표현 (캐싱된 경우) 또는 대안적인 표현들 중에서의 하나의 표현을 통해 HTTP 요청에 리플라이할 때에 특히, 다루어져야 할 새로운 사안들을 제기한다. 중간(intermediate) 레거시 캐시 - 이는 클라이언트 단말기와 주어진 DANE 사이에 위치됨 - 가 DANE에 의해 전송된 응답을 수신할 때, 이는 그것을 제1 표현으로서 저장할 수 있다. DANE에 의해 전송된 반환된 응답이 제1 표현에 대응하지 않고 오히려 요청의 대안적인 표현들 중 하나에 대응할 때, 상기 중간 레거시 캐시는 오도될(misled) 수 있다. 그 결과로서, 또 다른 클라이언트 단말기로부터, 동일한 세그먼트의 상기 제1 표현을 위한 추가적인 요청을 수신할 때, 중간 레거시 캐시는 캐싱된 대안적인 표현을 통해 잘못 대답할 것이며, 이로써 그것이 제1 표현을 이전에 캐싱하였다고 여길 것이다. 중간 레거시 캐시는 DANE에 의해 생성된 대체물(substitution)을 인식하지 않는다.
본 출원의 발명은 적어도 앞서 언급된 결점을 극복하여, 중간 레거시 캐시들을 잘못된 캐싱으로부터 방지한다.
본 발명은 클라이언트 단말기와 적어도 하나의 서버 사이에 배열되도록 적응된 제1 유형의 캐시를 작동시키기 위한 방법에 관한 것이며, 상기 제1 유형의 캐시는 복수의 표현들로 이용 가능한 멀티미디어 컨텐츠의 세그먼트를 위한 클라이언트 단말기로부터의 요청을 수신하도록 구성되며, 상기 방법은:
- 세그먼트의 적어도 하나의 제1 표현을 위한 요청을, 클라이언트 단말기로부터 수신하는 단계를
포함하며, 상기 방법은:
- 제1 표현이 상기 제1 유형의 캐시에 의해 캐싱되지 않을 때, 클라이언트 단말기에:
■ 제1 유형의 캐시에 의해 캐싱되는 상기 세그먼트의 하나의 대안적인 표현과;
■ 응답의 대안적인 표현을 캐싱하는 것으로부터 - 제1 유형의 캐시와 클라이언트 단말기 사이에 배열된 - 제2 유형의 캐시를 방지하는 제1 추가적인 정보와;
■ 응답의 대안적인 표현을 식별하는 제2 추가적인 정보를
포함하는 응답을 전송하는 단계를
더 포함한다는 점에서 주목할 만하다.
따라서, 본 발명으로 인해, 임의의 추가적인 제1 유형의 캐시 - 이는 응답을 전송하는 제1 유형의 캐시와 클라이언트 단말기 사이에 위치됨 - 는 세그먼트의 전달된 표현이, 요청된 제1 표현에 대응하지 않고 오히려 대안적인 표현에 대응한다는 것을 알 수 있다. 이로써, 이러한 추가적인 제1 유형의 캐시는 전달된 대안적인 표현을 정확하게 캐싱할 수 있다. 또한, 제2 유형의 캐시들 - 이는 응답을 전송하는 제1 유형의 캐시와 클라이언트 단말기 사이에 배열됨 - 은 제1 유형의 캐시에 의해 전송된 응답의 표현을 저장할 수 없다. 이는 제1 표현이라고 여겨지는 대안적인 표현을 - 동일한 세그먼트에 대한 제1 표현을 또한 요청하는 또 다른 클라이언트 단말기의 추가적인 요청에 응답하여 - 나중에 전달하는 것으로부터 이러한 제2 유형의 캐시들을 방지한다.
본 발명의 한 실시예에서, 전송하는 단계 이전에, 상기 제1 유형의 캐시는, 제1 표현이 캐싱되지 않는 경우에 제1 유형의 캐시가 상기 세그먼트의 하나의 대안적인 표현을 이미 캐싱하였는지의 여부를 체크한다.
특히, 상기 세그먼트의 상기 적어도 하나의 대안적인 표현은 클라이언트 단말기에 의해 전송된 요청에서 특정될 수 있다. 한 변형에서, 클라이언트 단말기에 의해 전송된 요청은 제1 표현만을 포함할 수 있다.
한 특정 실시예에서, 제1 유형의 캐시는 HTTP 적응적 스트리밍 인식 캐시(HTTP Adaptive Streaming aware cache)이고, 제2 유형의 캐시는 레거시 캐시이다.
이 실시예의 한 양상에서, 상기 요청은 HTTP 요청이고, 상기 제1 추가적인 정보는 응답의 캐시 제어 헤더 내에 포함될 수 있다.
한 추가적인 양상에서, 상기 요청은 HTTP 요청이고, 상기 제2 추가적인 정보는 응답의 추가적인 헤더 내에 포함될 수 있다. 한 변형에서, 상기 제2 추가적인 정보는 응답의 캐시 제어 헤더 내에 포함될 수 있다.
본 발명은 또한 클라이언트 단말기와 적어도 하나의 서버 사이에 배열되도록 적응된 제1 유형의 캐시에 관한 것이며, 상기 제1 유형의 캐시는 복수의 표현들로 이용 가능한 멀티미디어 컨텐츠의 세그먼트의 제1 표현을 위한 요청을, 클라이언트 단말기로부터 수신하도록 구성되며, 상기 제1 유형의 캐시는:
- 상기 제1 유형의 캐시에 의해 캐싱되는 상기 세그먼트의 하나의 대안적인 표현과;
- 상기 응답의 대안적인 표현을 캐싱하는 것으로부터 - 제1 유형의 캐시와 클라이언트 단말기 사이에 배열된 - 제2 유형의 캐시를 방지하는 제1 추가적인 정보와;
- 상기 응답의 대안적인 표현을 식별하는 제2 추가적인 정보를
포함하는 응답을 클라이언트 단말기에 전송하도록 구성된 추가적인 모듈을
포함하는 것을 특징으로 한다.
또한, 상기 제1 유형의 캐시는, 요청의 제1 표현, 또는 제1 표현이 캐싱되지 않는 경우에 상기 세그먼트의 적어도 하나의 대안적인 표현을 이미 캐싱하였는지의 여부를 체크하도록 구성된 제어 모듈을 포함할 수 있다.
특히, 상기 세그먼트의 상기 적어도 하나의 대안적인 표현은 클라이언트 단말기에 의해 전송된 요청에서 특정될 수 있다. 한 변형에서, 클라이언트 단말기에 의해 전송된 요청은 제1 표현만을 포함할 수 있다.
게다가, 상기 제1 유형의 캐시는 HTTP 적응적 스트리밍 인식 캐시이고, 제2 유형의 캐시는 레거시 캐시이다.
본 발명은 추가적으로, 복수의 표현들로 이용 가능한 멀티미디어 컨텐츠의 세그먼트의 적어도 하나의 제1 표현을 위한 요청을 적어도 하나의 서버(SE)에 전송하도록 구성된 단말기에 관한 것이며,
상기 단말기는 상기 적어도 하나의 서버와 상기 단말기 사이에 배열된 제1 유형의 캐시로부터 응답을 수신하도록 구성된 통신 모듈을 포함하며, 상기 응답은:
- 상기 제1 유형의 캐시에 의해 캐싱되는 상기 세그먼트의 하나의 대안적인 표현과;
- 상기 응답의 대안적인 표현을 캐싱하는 것으로부터 - 제1 유형의 캐시(DANE)와 클라이언트 단말기 사이에 배열된 - 제2 유형의 캐시를 방지하는 제1 추가적인 정보와;
- 상기 응답의 대안적인 표현을 식별하여, 추가적인 제1 유형의 캐시가 상기 대안적인 표현을 캐싱하는 것을 허용하는 제2 추가적인 정보를
포함한다.
본 발명은 추가적으로, 통신 네트워크로부터 다운로딩될 수 있고/있거나, 컴퓨터에 의해 판독 가능한 매체 상에 기록되고/되거나, 프로세서에 의해 실행 가능한 컴퓨터 프로그램 제품에 관한 것이며, 상기 컴퓨터 프로그램 제품은 앞서 언급된 방법의 단계들을 구현하기 위한 프로그램 코드 명령어들을 포함한다.
추가적으로, 본 발명은 또한 프로세서에 의해 실행되고 있을 수도 있는 컴퓨터 프로그램 제품이 기록된 비-일시적 컴퓨터-판독 가능한 매체에 관한 것이며, 컴퓨터 프로그램 제품은 이전에 기재된 방법의 단계들을 구현하기 위한 프로그램 코드 명령어들을 포함한다.
범주에 있어서 개시된 실시예들에 적합한 특정 양상들이 아래에 열거된다. 이들 양상들은 단지 본 발명이 취할 수 있는 특정 형태들의 간결한 요약을 독자에게 제공하도록 제시된다는 것과, 이들 양상들은 본 발명의 범주를 제한하도록 의도되지 않는다는 것이 이해될 것이다. 실제로, 본 발명은 아래에 열거되지 않을 수도 있는 다양한 양상들을 포괄할 수 있다.
본 발명은 다음의 첨부 도면들을 참조하여 제한적이지 않은 방식으로 다음의 실시예 및 실행 예시들을 통해 보다 더 잘 이해되고 예증될 것이다.
본 출원의 발명인 클라이언트 단말기들과 적어도 하나의 서버 사이의 송신 경로를 따라 배열된 캐시를 작동시키기 위한 방법, 및 대응하는 캐시를 통해, 적어도 앞서 언급된 결점을 극복하여, 중간 레거시 캐시들을 잘못된 캐싱으로부터 방지할 수 있다.
도 1은 본 발명이 구현될 수 있는 클라이언트-서버 네트워크 체계의 개략도.
도 2a는 본 발명의 선호되는 실시예에 따른 스마트 캐시의 한 예시의 블록도.
도 2b는 본 발명의 선호되는 실시예에 따른 클라이언트 단말기의 한 예시의 블록도.
도 3은 선호되는 실시예에 따라 도 2a의 스마트 캐시를 작동시키기 위한 방법을 도시하는 흐름도.
도 1, 도 2a 및 도 2b에서, 표현된 블록들은 순전히 기능적인 엔티티들이며, 이들이 물리적으로 개별적인 엔티티들에 반드시 대응하는 것은 아니다. 즉, 이들은 소프트웨어, 하드웨어의 형태로 개발될 수 있거나, 또는 하나 이상의 프로세서들을 포함하는 하나 이상의 집적 회로들로 구현될 수 있다.
가능하다면, 동일한 참조 부호들은 동일하거나 유사한 부분들을 지칭하도록 도면들 전반에 걸쳐 사용될 것이다.
본 발명의 도면들 및 설명들은 명료함의 목적으로 전형적인 디지털 멀티미디어 컨텐츠 전달 방법들 및 시스템들에서 발견된 많은 다른 요소들을 소거하면서, 본 발명의 분명한 이해를 위해 관련되는 요소들을 예증하도록 간소화되었다는 것이 이해될 것이다. 하지만, 이러한 요소들이 종래 기술에 잘 알려져 있기 때문에, 이러한 요소들에 대한 상세한 논의는 본 명세서에서 제공되지 않는다.
선호되는 한 실시예에 따르면, 본 발명은 HTTP 적응적 스트리밍 프로토콜 (또는 HAS), 및 특히, MPEG-DASH에 관하여 도시된다. 당연하게도, 본 발명은 이러한 하나의 특정 환경으로 제한되지 않으며, 다른 적응적 스트리밍 프로토콜이 물론 고려되고 구현될 수 있다.
도 1에 도시된 바와 같이, 본 발명이 구현될 수 있는 하나 이상의 네트워크들(N)(단 하나만이 도면들에 도시됨)에 의해 지원된 클라이언트-서버 네트워크 체계는 하나 이상의 클라이언트 단말기들(CT)(단 하나만이 도면들에 도시됨), 하나 이상의 HTTP 서버들(SE), 복수의 스마트 캐시들(DANE), 및 하나 이상의 레거시 캐시들(RNE)을 포함한다. DASH에 따르면, 이러한 서버들(SE)은 또한 미디어 근원(Media Origin)이라고도 부른다. 이들은, 예를 들어 소위 매니페스트(manifest)라고 부르는 미디어 프리젠테이션 설명(media presentation description)(또는 MPD)을 생성한다. 이는 컨텐츠 분배의 소스이며: 멀티미디어 컨텐츠는 몇몇의 외부 엔티티로부터 유래되고 미디어 근원에서 HAS 포맷으로 변환될 수 있다.
스마트 캐시(DANE)는 HAS 컨텐츠가 전달되는 것을 이해하도록 구성되는 네트워크(N)에서의 캐싱 요소이다. 기술 용어 MPEG-DASH를 사용하여, 스마트 캐시는 DASH 인식 네트워크 요소(DANE)로서 고려된다.
레거시 캐시(RNE)는 네트워크(N)를 통해 송신되는 데이터의 유형을 알지 못하거나, 적어도 HAS 양상들을 이해하지 못하는 네트워크(N)에서의 캐싱 요소이다. 기술 용어 MPEG-DASH에서, 레거시 캐시는 정규 네트워크 요소(RNE: Regular Network Element)로서 고려된다.
클라이언트 단말기(CT)는 HTTP 서버들(SE) 중 하나로부터 멀티미디어 컨텐츠를 획득하기를 원한다. 상기 멀티미디어 컨텐츠는 복수의 세그먼트들로 분할된다. 멀티미디어 컨텐츠가 서버(SE)에서의 상이한 표현들에서 이용 가능하다는 것이 가정된다. HTTP 서버(SE)는 하나 이상의 TCP/IP 연결들을 통한 HTTP 적응적 스트리밍 프로토콜을 사용하여, 클라이언트 요청 시에 세그먼트들을 클라이언트 단말기(CT)에 스트리밍할 수 있다.
클라이언트 단말기(CT)는 휴대용 미디어 디바이스, 모바일 폰, 태블릿 또는 랩톱, TV 세트, 셋 톱 박스, 게임 디바이스, 또는 집적 회로일 수 있다. 당연하게도, 클라이언트 단말기(CT)는 완전한 비디오 재생기를 포함하지 않고, 미디어 컨텐츠를 디멀티플렉싱 및 디코딩하기 위한 것들과 같은 몇몇의 서브-요소들만을 포함할 수도 있으며, 이는 디코딩된 컨텐츠를 최종 사용자에게 디스플레이하기 위한 외부 수단에 의존할 수도 있다. 이러한 경우, 클라이언트 단말기(CT)는 셋-톱 박스와 같은 HAS 인식 비디오 디코더이다.
도 2a에 도시된 바와 같이, 스마트 캐시(DANE)는 다음을 포함한다:
- (유선 및/또는 무선) 하나 이상의 연결 인터페이스들(1);
- 연결 인터페이스들(1)을 통해 통신하기 위한 프로토콜 스택들을 포함하는 통신 모듈(2). 특히, 통신 모듈은 IP 스택으로 주목된 인터넷 프로토콜 스택을 포함할 수 있다;
- 하나 이상의 서버들(SE)로부터 수신된 멀티미디어 컨텐츠들의 세그먼트들을, 이러한 멀티미디어 컨텐츠들을 요청하는 클라이언트 단말기들(CT)에 송신하기 위해 이들을 저장하기 위한 휘발성 메모리 및/또는 영구 메모리와 같은 저장 모듈(3);
- 예를 들어, 저장 모듈(3)에 저장된 애플리케이션들 및 프로그램들을 실행하기 위한 하나 이상의 프로세서들(4);
- 스마트 캐시(DANE)가, 제1 표현을 요청하는 {클라이언트 단말기(CT)에 의해 전송된} 요청의 제1 표현, 또는 제1 표현이 캐싱되지 않을 때 리스트의 하나의 대안적인 표현을 이미 캐싱하였는지의 여부를 체크하도록 형성된 제어 모듈(5);
- 제1 표현이 캐싱되지 않는 경우, 클라이언트 단말기(CT)에 의해 전송된 요청에 열거된 대안적인 표현들을 선호도의 순서로 브라우징하도록 적응된 브라우징 모듈(6). 한 변형에서, 제어 모듈 및 브라우징 모듈은 단 하나의 모듈을 한정할 수 있다;
- 다양한 모듈들, 프로세싱 수단, 및 일반적인 상주(residential) 게이트웨이 기능들을 수행하기 위한 당업자에게 잘 알려진 모든 수단을 연결하기 위한 내부 버스(B).
도 2b에 도시된 바와 같이, 클라이언트 단말기(CT)는 적어도 다음을 포함한다:
- {예를 들어, 와이-파이, 이더넷, ADSL, 케이블, 모바일 및/또는 브로드캐스트 (예컨대, DVB, ATSC) 인터페이스와 같은 유선 및/또는 무선} 하나 이상의 연결 인터페이스들(1A);
- HTTP 서버(SE)에 통신하기 위한 프로토콜 스택들을 포함하는 통신 모듈(2A). 특히, 통신 모듈(2A)은 종래 기술에 잘 알려진 TCP/IP 스택을 포함한다. 물론, 이것은 클라이언트 단말기(CT)가 HTTP 서버(SE)에 통신하는 것을 가능하게 하는 임의의 다른 유형의 네트워크 및/또는 통신 수단일 수 있다;
- HTTP 서버(SE)로부터 HTTP 스트리밍 멀티미디어 컨텐츠를 수신하는 적응적 스트리밍 모듈(3A). 이는 선택 모듈(8A)로부터의 정보에 기초하여 자체 제약들과 네트워크 제약들을 보다 더 양호하게 매칭시키는 비트 레이트(들)에서 세그먼트를 지속적으로 선택한다;
- 멀티미디어 컨텐츠를 디코딩 및 렌더링하도록 적응된 비디오 재생기(4A);
- 클라이언트 단말기(CT)의 비-휘발성 메모리에 저장된 애플리케이션들 및 프로그램들을 실행하기 위한 하나 이상의 프로세서들(5A);
- 비디오 재생기(4A)로의 송신 이전에, HTTP 서버(SE)로부터 수신된 세그먼트들을 버퍼링하기 위한 휘발성 메모리와 같은 저장 수단(6A);
- 송신 경로의 대역폭을 추정하기 위해 구성된 대역폭 추정기(7A);
- 클라이언트 단말기(CT)가 요청할 수도 있는 허용 가능한 표현들의 세트를 결정하기 위해 구성된 선택 모듈(8A). 허용 가능한 표현들은 연관된 매니페스트에 열거된 바와 같이, 멀티미디어 컨텐츠의 주어진 세그먼트의 이용 가능한 표현들 중에서 선택된다. 특히, 주어진 세그먼트의 허용 가능한 표현들의 세트의 - 모듈(8A)에 의한 - 결정은 {예를 들어, 추정된 대역폭, 클라이언트 단말기의 역량(capabilities), 이전에 요청된 세그먼트의 표현, 클라이언트 단말기(CT)의 최종 사용자에 의해 요구된 경험의 품질 등} 하나 이상의 성능 기준(performance criteria)에 기초할 수 있다. 한 변형에서, 선택 모듈(8A)은 적응적 스트리밍 모듈(3A) 내에 통합될 수도 있다;
- 다양한 모듈들, 및 일반적인 클라이언트 단말기 기능들을 수행하기 위한 당업자에게 잘 알려진 모든 수단을 연결하기 위한 내부 버스(B1).
다음에서, 주어진 클라이언트 단말기(CT)가 멀티미디어 컨텐츠의 주어진 세그먼트를 획득하기 위해 네트워크(N) 상에서 요청을 전송한다는 것이 가정된다. 상기 요청은 제1 표현, 및 제1 표현이 요청을 수신하는 스마트 캐시(DANE)에서 이용 가능하지 않을 때에 선호도의 순서대로 브라우징되는 상기 주어진 세그먼트의 하나 이상의 대안적인 표현들을 특정한다.
선호되는 실시예에 따르면, 스마트 캐시(DANE)의 통신 모듈(2)은 - 제1 표현이 {통신 모듈(5)의 체크 이후에} 상기 스마트 캐시(DANE)에 의해 캐싱되지 않을 때 - 다음을 포함하는 응답을 클라이언트 단말기(CT)에 전송하도록 더 구성된다:
- 스마트 캐시(DANE)에 의해 캐싱되는 요청의 대안적인 표현들 중 하나;
- {스마트 캐시(DANE)에 의해 반환된} 응답의 대안적인 표현을 캐싱하는 것으로부터 - 스마트 캐시(DANE)와 클라이언트 단말기(CT) 사이에 위치된 - 임의의 레거시 캐시(RNE)를 방지하는 제1 추가적인 정보. 예를 들어, 상기 제1 추가적인 정보는 응답의 캐시 제어 헤더 {예컨대, 캐시-제어: 노-캐시(no-cache), 언레스-알트리스트-캡퍼블(unless-altlist-capable), 여기서 "알트리스트(altlist)"는 요청에서의 세그먼트의 대안적인 표현들을 특정하도록 사용된 지시(directive)임} 내에 포함된다; 그리고
- 상기 응답의 대안적인 표현을 식별하는 제2 추가적인 정보. 한 예시로서, 상기 제2 추가적인 정보는 반환된 대안적인 표현의 URL(예컨대, X-알트리스트-위치: B, B는 상기 URL임)을 표시하기 위해 응답의 추가적인 헤더 내에 포함되어, {대안적인 표현을 제공하는 고려된 스마트 캐시(DANE)와 클라이언트 단말기(CT) 사이에 위치된} 중간 스마트 캐시(DANE)가 클라이언트 단말기(CT)에 전달된 표현을 알게된다.
요청의 제1 표현이 스마트 캐시(DANE)에 이미 저장되어 있을 때, (요청이 성공적으로 처리되었음을 의미하는) HTTP 프로토콜의 상태 코드 200에는 상기 제1 및 제2 추가적인 정보가 전혀 없는 상기 스마트 캐시(DANE)에 의해 전송된 응답이 부착된다.
요청된 제1 표현이 스마트 캐시(DANE)에 의해 캐싱되지 않고, 요청에 열거된 하나의 대안적인 표현이 저장될 때, 상태 코드 200에는 또한, 이러한 경우, 부착된 제1 및 제2 추가적인 정보를 갖는 스마트 캐시(DANE)에 의해 전송된 응답이 부착된다.
선호되는 실시예로 인해, 스마트 캐시(DANE)에 의해 전송된 응답은 - 반환된 표현이 제1 표현이 아닐 때 - 요청의 어느 대안적인 표현이 스마트 캐시(DANE)에 의해 전달되었는지를 명시적으로 나타낸다. 이로써, 응답을 전송하는 스마트 캐시(DANE)와 클라이언트 단말기(CT) 사이에 위치된 임의의 추가적인 스마트 캐시(DANE)는 반환된 표현이 제1 표현이 아니라, 요청에 열거된 대안적인 표현임을 알 수 있다. 또한, 스마트 캐시(DANE)와 클라이언트 단말기(CT) 사이의 레거시 캐시들(RNE)은, 이들이 요청의 제1 표현이라고 여기는 대안적인 표현을 추가적인 클라이언트 단말기에 나중에 전달하는 것을 방지하기 위해 응답을 캐싱할 수 없다.
도 3에 도시된 바와 같이, 상기 선호되는 실시예에 따르면, 스마트 캐시(DANE)는 HAS 멀티미디어 컨텐츠의 주어진 세그먼트의 요청된 표현을 클라이언트 단말기(CT)에 제공하기 위한 다음의 메커니즘(M)을 구현하도록 구성된다.
상기 메커니즘(M)은 다음의 단계들을 포함한다:
- 이전에 한정된 바와 같이 허용 가능한 표현들의 세트에 속하는 주어진 세그먼트의 제1 표현을 위한 HTTP 요청을 클라이언트 단말기(CT)로부터 수신하는 단계{단계(S1)}. HTTP 요청은, 제1 표현이 스마트 캐시(DANE)에 의해 캐싱되지 않는 경우에 요청될 수도 있는 대안적인 표현들의 리스트를 더 포함한다;
- 제1 표현이 스마트 캐시(DANE)의 저장 모듈(9)에 저장되는지를 체크하는 단계{단계(S2)};
- 제1 표현이 캐싱되지 않는 경우, 요청에 열거된 대안적인 표현들을 선호도의 순서대로 브라우징하는 단계{단계(S3)};
- 제1 표현이 상기 캐시(DANE)에 의해 캐싱되지 않고, 요청의 대안적인 표현이 캐싱될 때 - 클라이언트 단말기(CT)에:
■ 상기 캐싱된 대안적인 표현;
■ 응답의 대안적인 표현을 캐싱하는 것으로부터, 스마트 캐시(DANE)와 클라이언트 단말기(CT) 사이의 임의의 레거시 캐시(RNE)를 방지하는 제1 추가적인 정보; 및
■ 응답의 대안적인 표현을 식별하는 제2 추가적인 정보를
포함하는 응답을 전송하는 단계{단계(S4)}.
요청의 대안적인 표현들 중 어떤 것도 캐싱되지 않을 때, 스마트 캐시(DANE)는 서버(S) 쪽으로 요청을 방출(release)할 수 있다. 한 변형에서, 스마트 캐시(DANE)는 (에러 메시지와 같은) 메시지를 클라이언트 단말기에 전송할 수 있다.
단계들(S0 내지 S4)의 순서는 본 발명으로부터 이탈하지 않고 적어도 부분적으로 변경될 수 있다는 것이 이해될 것이다.
선호되는 실시예의 한 변형에서, 클라이언트(CT)에 의해 전송된 요청은 상기 제1 표현이 스마트 캐시(DANE)에 의해 캐싱되지 않는 경우 어떤 대안적인 표현도 갖지 않고 제1 표현만을 포함할 수 있다. 이러한 경우, 스마트 캐시(DANE)의 제어 모듈(5)은 제1 표현이 캐싱되지 않는 경우에 세그먼트의 (예컨대, 제1 표현의 비트 레이트와 가장 동일한 비트 레이트로) 하나의 대안적인 표현을 이미 캐싱하였는지의 여부를 체크하도록 더 구성된다. 하나의 대안적인 표현이 캐싱될 때, 통신 모듈(2)은 상기 대안적인 표현을 갖는 응답을 전송한다.
스마트 캐시(DANE)가 프록시(proxy)에, 게이트웨이에, 또는 임의의 다른 적절한 네트워크 장비에 통합될 수 있다는 것이 주목될 것이다.
도면들 내의 흐름도 및/또는 블록도는 본 발명의 다양한 실시예들에 따른 시스템들, 방법들, 및 컴퓨터 프로그램 제품들에 대한 가능한 구현들의 구성, 작동, 및 기능을 도시한다. 이러한 점에서, 흐름도 또는 블록도 내의 각각의 블록은 특정된 논리 기능(들)을 구현하기 위한 하나 이상의 실행 가능한 명령어들을 포함하는 모듈, 세그먼트, 또는 코드의 부분을 나타낼 수 있다. 일부 대안적인 구현들에서, 블록에서 언급된 기능들이 도면들에서 언급된 순서를 벗어나서 발생할 수도 있음이 또한 주목될 것이다. 예를 들어, 연속적으로 도시된 두 개의 블록들은 사실상 실질적으로 동시에 실행될 수 있거나, 블록들이 때때로 역순으로 실행될 수 있거나, 블록들이 연관된 기능에 따라 대안적인 순서대로 실행될 수도 있다. 블록도 및/또는 흐름도의 각각의 블록과, 블록도 및/또는 흐름도에서의 블록들의 결합들은 특정된 기능들 또는 행위들을 수행하는 특수용 하드웨어-기반의 시스템들이나, 또는 특수용 하드웨어 및 컴퓨터 명령어들의 결합들에 의해 구현될 수 있음이 또한 주목될 것이다. 명백히 기재되지는 않았지만, 본 실시예들은 임의의 결합이나 하위-결합으로 구체화될 수도 있다.
당업자에 의해 이해되는 바와 같이, 본 발명의 원리들의 양상들은 시스템, 방법, 또는 컴퓨터 판독 가능한 매체로서 구체화될 수 있다. 이에 따라, 본 발명의 원리들의 양상들은 전체적인 하드웨어 실시예, 전체적인 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 및 마이크로-코드 등을 포함), 또는 일반적으로 본 명세서에서는 "회로", "모듈", 또는 "시스템"으로 모두 지칭될 수 있는 소프트웨어 및 하드웨어 양상들을 결합하는 실시예의 형태를 취할 수 있다. 게다가, 본 발명의 원리들의 양상들은 컴퓨터 판독 가능한 저장 매체의 형태를 취할 수 있다. 하나 이상의 컴퓨터 판독 가능한 저장 매체(들)의 임의의 결합이 활용될 수도 있다.
컴퓨터 판독 가능한 저장 매체는, 컴퓨터에 의해 실행 가능한 컴퓨터 판독 가능한 프로그램 코드가 구체화된, 그리고 하나 이상의 컴퓨터 판독 가능한 매체(들)에 구체화된 컴퓨터 판독 가능한 프로그램 제품의 형태를 취할 수 있다. 본 명세서에 사용된 컴퓨터 판독 가능한 저장 매체는, 저장 매체에 정보를 저장하기 위한 내재된 기능 및 저장 매체로부터의 정보의 검색을 제공하기 위한 내재된 기능이 주어진 비-일시적 저장 매체로서 고려된다. 컴퓨터 판독 가능한 저장 매체는, 예를 들어 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스, 또는 전술 사항들에 대한 임의의 적절한 결합일 수 있지만, 이들로 제한되지는 않는다. 본 발명의 원리들이 적용될 수 있는 컴퓨터 판독 가능한 저장 매체들의 보다 더 특정한 예시들을 제공함과 동시에, 다음은 당업자에 의해 쉽게 이해되는 바와 같이 단지 예시적인 그리고 철저하지는 않은 리스트이다: 휴대용 컴퓨터 디스켓, 하드 디스크; 랜덤 액세스 메모리(RAM); 판독-전용 메모리(ROM); 소거 가능하고 프로그래밍 가능한 판독-전용 메모리(EPROM 또는 플래쉬 메모리); 휴대용 콤팩트 디스크 판독-전용 메모리(CD-ROM); 광학 저장 디바이스; 자기 저장 디바이스; 또는 전술 사항에 대한 임의의 적절한 결합.
CT: 클라이언트 단말기 SE: 서버
1: (유선 및/또는 무선) 하나 이상의 연결 인터페이스들
2: 통신 모듈 3: 저장 모듈
4: 프로세서 5: 제어 모듈
6: 브라우징 모듈

Claims (15)

  1. 클라이언트 단말기(CT)와 적어도 하나의 서버(SE) 사이에 배열되도록 적응된 제1 유형의 캐시(cache)(DANE)를 작동시키기 위한 방법으로서,
    상기 제1 유형의 캐시(DANE)는 복수의 표현들(representations)로 이용 가능한 멀티미디어 컨텐츠의 세그먼트(segment)를 위한 상기 클라이언트 단말기(CT)로부터의 요청을 수신하도록 구성되며,
    상기 방법은:
    - 적어도 세그먼트의 제1 표현을 위한 요청을, 상기 클라이언트 단말기(CT)로부터 수신하는 단계(S1)를
    포함하는, 제1 유형의 캐시(DANE)를 작동시키기 위한 방법에 있어서,
    상기 방법은:
    - 상기 제1 표현이 상기 제1 유형의 캐시(DANE)에 의해 캐싱되지 않을 때, 상기 클라이언트 단말기(CT)에:
    ■ 상기 제1 유형의 캐시(DANE)에 의해 캐싱되는 상기 세그먼트의 하나의 대안적인 표현과;
    ■ 상기 제1 유형의 캐시(DANE)와 상기 클라이언트 단말기(CT) 사이에 배열된 제2 유형의 캐시(RNE)가 응답의 상기 대안적인 표현을 캐싱하는 것을 방지하는 제1 추가적인 정보와;
    ■ 반환된 표현이 상기 요청의 제1 표현이 아닐 때, 요청의 어느 대안적인 표현이 상기 제1 유형의 캐시에 의해 전달되었는지를 나타내어, 상기 제1 유형의 캐시와 상기 클라이언트 단말기 사이에 배열된 추가적인 제1 유형의 캐시(DANE)가 상기 반환된 표현이 상기 제1 표현이 아닌 상기 요청의 대안적인 표현임을 알 수 있게 하는 제2 추가적인 정보를
    포함하는 상기 응답을 전송하는 단계(S4)를
    더 포함하는 것을 특징으로 하는, 제1 유형의 캐시를 작동시키기 위한 방법.
  2. 제1항에 있어서, 상기 전송하는 단계(S4) 이전에, 상기 제1 유형의 캐시는, 상기 제1 표현이 캐싱되지 않는 경우에 상기 제1 유형의 캐시가 상기 세그먼트의 하나의 대안적인 표현을 이미 캐싱하였는지의 여부를 체크(S2)하는, 제1 유형의 캐시를 작동시키기 위한 방법.
  3. 제2항에 있어서, 상기 세그먼트의 상기 적어도 하나의 대안적인 표현은 상기 클라이언트 단말기(CT)에 의해 전송된 요청에서 특정되는, 제1 유형의 캐시를 작동시키기 위한 방법.
  4. 제2항에 있어서, 상기 클라이언트 단말기(CT)에 의해 전송된 요청은 상기 제1 표현만을 포함하는, 제1 유형의 캐시를 작동시키기 위한 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 제1 유형의 캐시(DANE)는 HTTP 적응적 스트리밍 인식 캐시(HTTP Adaptive Streaming aware cache)이고, 상기 제2 유형의 캐시(RNE)는 레거시 캐시인, 제1 유형의 캐시를 작동시키기 위한 방법.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 요청은 HTTP 요청이고, 상기 제1 추가적인 정보는 상기 응답의 캐시 제어 헤더 내에 포함되는, 제1 유형의 캐시를 작동시키기 위한 방법.
  7. 제6항에 있어서, 상기 요청은 HTTP 요청이고, 상기 제2 추가적인 정보는 상기 응답의 추가적인 헤더 내에 포함되는, 제1 유형의 캐시를 작동시키기 위한 방법.
  8. 클라이언트 단말기(CT)와 적어도 하나의 서버(SE) 사이에 배열되도록 적응된 제1 유형의 캐시(DANE)로서,
    상기 제1 유형의 캐시(DANE)는 복수의 표현들로 이용 가능한 멀티미디어 컨텐츠의 세그먼트의 적어도 제1 표현을 위한 요청을, 상기 클라이언트 단말기(CT)로부터 수신하도록 구성되는, 제1 유형의 캐시(DANE)에 있어서,
    - 상기 제1 유형의 캐시(DANE)에 의해 캐싱되는 상기 세그먼트의 하나의 대안적인 표현과;
    - 상기 제1 유형의 캐시(DANE)와 상기 클라이언트 단말기(CT) 사이에 배열된 제2 유형의 캐시(RNE)가 응답의 상기 대안적인 표현을 캐싱하는 것을 방지하는 제1 추가적인 정보와;
    - 반환된 표현이 상기 요청의 제1 표현이 아닐 때, 요청의 어느 대안적인 표현이 상기 제1 유형의 캐시에 의해 전달되었는지를 나타내어, 상기 제1 유형의 캐시와 상기 클라이언트 단말기 사이에 배열된 추가적인 제1 유형의 캐시(DANE)가 상기 반환된 표현이 상기 제1 표현이 아닌 상기 요청의 대안적인 표현임을 알 수 있게 하는 제2 추가적인 정보를
    포함하는 상기 응답을, 상기 클라이언트 단말기(CT)에 전송하도록 구성된 추가적인 모듈(2)을
    포함하는 것을 특징으로 하는, 제1 유형의 캐시.
  9. 제8항에 있어서, 상기 요청의 제1 표현, 또는 상기 제1 표현이 캐싱되지 않는 경우에 상기 세그먼트의 적어도 하나의 대안적인 표현을 이미 캐싱하였는지의 여부를 체크하도록 구성된 제어 모듈(5)을 포함하는, 제1 유형의 캐시.
  10. 제9항에 있어서, 상기 세그먼트의 상기 적어도 하나의 대안적인 표현은 상기 클라이언트 단말기(CT)에 의해 전송된 요청에서 특정되는, 제1 유형의 캐시.
  11. 제9항에 있어서, 상기 클라이언트 단말기(CT)에 의해 전송된 요청은 상기 제1 표현만을 포함하는, 제1 유형의 캐시.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    상기 제1 유형의 캐시(DANE)는 HTTP 적응적 스트리밍 인식 캐시이고, 상기 제2 유형의 캐시(RNE)는 레거시 캐시인, 제1 유형의 캐시.
  13. 복수의 표현들로 이용 가능한 멀티미디어 컨텐츠의 세그먼트의 적어도 제1 표현을 위한 요청을 적어도 하나의 서버(SE)에 전송하도록 구성된 클라이언트 단말기(CT)로서,
    상기 클라이언트 단말기(CT)는 상기 적어도 하나의 서버(SE)와 상기 클라이언트 단말기(CT) 사이에 배열된 제1 유형의 캐시로부터 응답을 수신하도록 구성된 통신 모듈(2A)을 포함하며, 상기 응답은:
    - 상기 제1 유형의 캐시(DANE)에 의해 캐싱되는 상기 세그먼트의 하나의 대안적인 표현과;
    - 상기 제1 유형의 캐시(DANE)와 상기 클라이언트 단말기(CT) 사이에 배열된 제2 유형의 캐시(RNE)가 상기 응답의 대안적인 표현을 캐싱하는 것을 방지하는 제1 추가적인 정보와;
    - 반환된 표현이 상기 요청의 제1 표현이 아닐 때, 요청의 어느 대안적인 표현이 상기 제1 유형의 캐시에 의해 전달되었는지를 나타내어, 상기 제1 유형의 캐시와 상기 클라이언트 단말기 사이에 배열된 추가적인 제1 유형의 캐시(DANE)가 상기 반환된 표현이 상기 제1 표현이 아닌 상기 요청의 대안적인 표현임을 알 수 있게 하는 제2 추가적인 정보를
    포함하는, 클라이언트 단말기.
  14. 프로세서에 의해 실행되고 있을 수도 있는 컴퓨터 프로그램이 기록된 비-일시적 컴퓨터-판독 가능한 매체로서,
    상기 컴퓨터 프로그램은 제1항 내지 제4항 중 어느 한 항에 따른 방법의 단계들을 구현하기 위한 프로그램 코드 명령어들을 포함하는, 비-일시적 컴퓨터-판독 가능한 매체.
  15. 삭제
KR1020150078585A 2014-06-05 2015-06-03 클라이언트 단말기들과 적어도 하나의 서버 사이의 송신 경로를 따라 배열된 캐시를 작동시키기 위한 방법, 및 대응하는 캐시 KR102335495B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14305857.6A EP2953313A1 (en) 2014-06-05 2014-06-05 Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
EP14305857.6 2014-06-05

Publications (2)

Publication Number Publication Date
KR20150140230A KR20150140230A (ko) 2015-12-15
KR102335495B1 true KR102335495B1 (ko) 2021-12-03

Family

ID=51062743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150078585A KR102335495B1 (ko) 2014-06-05 2015-06-03 클라이언트 단말기들과 적어도 하나의 서버 사이의 송신 경로를 따라 배열된 캐시를 작동시키기 위한 방법, 및 대응하는 캐시

Country Status (6)

Country Link
US (1) US10728295B2 (ko)
EP (2) EP2953313A1 (ko)
JP (1) JP6532764B2 (ko)
KR (1) KR102335495B1 (ko)
CN (2) CN113037821B (ko)
PL (1) PL2953315T3 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2963894A1 (en) * 2014-07-04 2016-01-06 Thomson Licensing Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache.
US10664751B2 (en) * 2016-12-01 2020-05-26 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either cache memory or neural network unit memory
EP3454566B1 (en) * 2017-09-11 2021-05-05 Tiledmedia B.V. Streaming frames of spatial elements to a client device
WO2021009597A1 (en) 2019-07-12 2021-01-21 Carrier Corporation A system and a method for streaming videos by creating object urls at client

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005273A1 (en) * 2001-12-19 2008-01-03 Agarwalla Rajesh S Method and system for caching role-specific fragments
US20120284371A1 (en) * 2011-05-03 2012-11-08 Cisco Technology, Inc. Reducing Fetching Load on Cache Servers in Adaptive Streaming
US20130173737A1 (en) * 2011-12-29 2013-07-04 Nokia Corporation Method and apparatus for flexible caching of delivered media

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4994962A (en) * 1988-10-28 1991-02-19 Apollo Computer Inc. Variable length cache fill
US6182122B1 (en) * 1997-03-26 2001-01-30 International Business Machines Corporation Precaching data at an intermediate server based on historical data requests by users of the intermediate server
US6167438A (en) * 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication
US7127463B2 (en) * 2002-04-18 2006-10-24 International Business Machines Corporation Optimization of database network traffic based upon data-use analysis
US7725557B2 (en) * 2002-06-24 2010-05-25 Microsoft Corporation Client-side caching of streaming media content
US6954829B2 (en) * 2002-12-19 2005-10-11 Intel Corporation Non-speculative distributed conflict resolution for a cache coherency protocol
US20040236824A1 (en) * 2003-05-23 2004-11-25 Millington Bradley D. Post-cache substitution
US7486618B2 (en) * 2003-05-27 2009-02-03 Oracle International Corporation Weighted attributes on connections and closest connection match from a connection cache
US7644108B1 (en) * 2005-09-15 2010-01-05 Juniper Networks, Inc. Network acceleration device cache supporting multiple historical versions of content
US7685367B2 (en) * 2006-03-08 2010-03-23 Microsoft Corporation Multi-cache cooperation for response output caching
US9270944B2 (en) * 2007-02-14 2016-02-23 Time Warner Cable Enterprises Llc Methods and apparatus for content delivery notification and management
CN101377788B (zh) * 2008-09-28 2011-03-23 中国科学院计算技术研究所 一种机群文件系统中缓存管理的方法及系统
KR20110067787A (ko) * 2009-12-15 2011-06-22 순천대학교 산학협력단 도메인 객체 인터페이스 기반의 프레임워크 장치
KR101191544B1 (ko) * 2011-01-21 2012-10-15 엔에이치엔(주) 캐시 클라우드 구조를 이용한 캐시 시스템 및 캐싱 서비스 제공 방법
US8489760B2 (en) * 2011-03-31 2013-07-16 Juniper Networks, Inc. Media file storage format and adaptive delivery system
CN110062422A (zh) 2011-10-21 2019-07-26 弗劳恩霍夫应用研究促进协会 无线资源管理设备及方法
US8683542B1 (en) 2012-03-06 2014-03-25 Elemental Technologies, Inc. Concealment of errors in HTTP adaptive video sets
US10616297B2 (en) 2012-07-09 2020-04-07 Futurewei Technologies, Inc. Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol
US9954717B2 (en) 2012-07-11 2018-04-24 Futurewei Technologies, Inc. Dynamic adaptive streaming over hypertext transfer protocol as hybrid multirate media description, delivery, and storage format
GB2505179A (en) * 2012-08-20 2014-02-26 Ibm Managing a data cache for a computer system
US8923880B2 (en) 2012-09-28 2014-12-30 Intel Corporation Selective joinder of user equipment with wireless cell
US9537902B2 (en) * 2013-02-13 2017-01-03 Qualcomm Incorporated Enabling devices without native broadcast capability to access and/or receive broadcast data in an efficient manner
CA2851709A1 (en) * 2013-05-16 2014-11-16 Peter S. Warrick Dns-based captive portal with integrated transparent proxy to protect against user device caching incorrect ip address
US9544352B2 (en) * 2013-06-11 2017-01-10 Bitmovin Gmbh Adaptation logic for varying a bitrate
EP3092767A1 (en) * 2014-01-07 2016-11-16 Thomson Licensing Method for adapting the behavior of a cache, and corresponding cache
GB2534849A (en) * 2015-01-28 2016-08-10 Canon Kk Client-driven push of resources by a server device
CA2983988A1 (en) * 2016-10-31 2018-04-30 Guest Tek Interactive Entertainment Ltd. Walled garden system with cleared ips list automatically generated from dns queries

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005273A1 (en) * 2001-12-19 2008-01-03 Agarwalla Rajesh S Method and system for caching role-specific fragments
US20120284371A1 (en) * 2011-05-03 2012-11-08 Cisco Technology, Inc. Reducing Fetching Load on Cache Servers in Adaptive Streaming
US20130173737A1 (en) * 2011-12-29 2013-07-04 Nokia Corporation Method and apparatus for flexible caching of delivered media

Also Published As

Publication number Publication date
CN113037821A (zh) 2021-06-25
JP2015230731A (ja) 2015-12-21
EP2953315B1 (en) 2020-04-15
CN105306520A (zh) 2016-02-03
CN113037821B (zh) 2024-07-16
US10728295B2 (en) 2020-07-28
JP6532764B2 (ja) 2019-06-19
PL2953315T3 (pl) 2020-07-27
US20150358418A1 (en) 2015-12-10
EP2953315A1 (en) 2015-12-09
KR20150140230A (ko) 2015-12-15
CN105306520B (zh) 2021-03-16
EP2953313A1 (en) 2015-12-09

Similar Documents

Publication Publication Date Title
US10856015B2 (en) Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
KR102335495B1 (ko) 클라이언트 단말기들과 적어도 하나의 서버 사이의 송신 경로를 따라 배열된 캐시를 작동시키기 위한 방법, 및 대응하는 캐시
EP3155785B1 (en) Method for operating a network equipment arranged along a multimedia transmission path between a client terminal and at least one server, and corresponding network equipment, computer program product and computer-readable medium
KR102212973B1 (ko) 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법
EP2819368A1 (en) Method for providing a content part of a multimedia content to a client terminal, corresponding cache
KR102237900B1 (ko) 클라이언트 단말에 의해 멀티미디어 콘텐츠의 콘텐츠 부분을 검색하기 위한 방법
EP2958301A1 (en) Method for operating a cache arranged along a transmission path between a client terminal and at least one server, and corresponding cache
WO2015104146A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments

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