KR20120049363A - 향상된 성능을 구비하는 비디오-스토리지 네트워크 - Google Patents

향상된 성능을 구비하는 비디오-스토리지 네트워크 Download PDF

Info

Publication number
KR20120049363A
KR20120049363A KR1020127007356A KR20127007356A KR20120049363A KR 20120049363 A KR20120049363 A KR 20120049363A KR 1020127007356 A KR1020127007356 A KR 1020127007356A KR 20127007356 A KR20127007356 A KR 20127007356A KR 20120049363 A KR20120049363 A KR 20120049363A
Authority
KR
South Korea
Prior art keywords
content
storage unit
local cache
storage mechanism
storage
Prior art date
Application number
KR1020127007356A
Other languages
English (en)
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 KR20120049363A publication Critical patent/KR20120049363A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/2182Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2747Remote storage of video programs received via the downstream path, e.g. from the server
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

비디오 스토리지 시스템(10)은 스토리지 에어리어 네트워크(12) 및 적어도 하나의 로컬 캐쉬 스토리지 유닛(14)을 포함한다. 상기 스토리지 메커니즘 및 상기 로컬 캐쉬 스토리지 유닛 모두는 적어도 일부 컨텐트를 공통으로 저장한다. 읽기 요청에 대한 응답으로, 읽기 디렉터(20)는 상기 스토리지 메커니즘 및 로컬 캐쉬스토리지 유닛 중 어느 것이 요청된 컨텐트를 포함하는지 결정한다. 상기 요청된 컨텐트가 상기 로컬 캐쉬 스토리지 유닛에 존재한다고 결정시, 상기 읽기 디렉터는 상기 컨텐트 요청을 상기 로컬 캐쉬 스토리지 유닛에 보내므로써 상기 스토리지 메커니즘에 대한 요구를 줄인다. 상기 컨텐트가 상기 로컬 캐쉬 스토리지 유닛에 존재하지 않는 경우, 읽기 디렉터는 상기 요청을 상기 스토리지 메커니즘에 보내나, 상기 컨텐트가 이용 불가능한 경우, 상기 컨텐트 요청은 필러 데이터 소스(24)로부터 필러 데이터로 채워질 것이다.

Description

향상된 성능을 구비하는 비디오-스토리지 네트워크 {VIDEO-STORAGE NETWORK HAVING INCREASED PERFORMANCE}
본 출원은 2002년 8월 28일 출원되어 본 명세서에 병합된 미국 가특허 출원 일련 번호 60/406,623에 대해 U.S.C. 119(e)하에서 우선권을 주장한다. 본 발명은 비디오 정보를 저장하기 위한 비디오 스토리지 네트워크에 대한 것이다.
과거에, 비디오 편집은 독립형 디바이스(stand-alone devices), 일반적으로 비디오테이프 기계상에서 이루어졌다. 분리된 클립으로 구성되는 비디오 세그먼트를 만들고자 하는 편집자는 하나 이상의 소스 기계(source machine)상에서 원하는 순서대로 클립들을 줄을 세운 후에 기록을 위한 원하는 클립을 선택할 것이다. 공유 비디오 스토리지(shared video storage)의 출현이 현재 이루어지는 비디오 편집 방법을 상당히 바꾸었다. 오늘날의 공유 스토리지 네트워크와 함께, 복수의 사용자들은 비선형 편집 기법을 사용하여 동일한 컨텐트의 사본(copy)을 각자 편집할 수 있다. 많은 오늘날의 비디오 스토리지 네트워크는 종종 대역폭 제한 때문에 사용자의 수에 제한을 가한다. 그러한 비디오 스토리지 네트워크의 스위치 구조(switch fabric)는 제한된 사용자 수 이상이 스토리지 장비에 접근하는 것을 허락하지 않을 것이다. 추가적인 링크를 제공함으로써 이 단점을 극복하는 것은 전체적인 비용을 증가시킨다.
따라서, 상기의 단점을 극복하는 공유 비디오 스토리지 시스템을 제공하기 위한 기법에 대한 요구가 있다.
본 발명은, 상술한 문제점을 해결하기 위해서 안출한 것으로서, 추가적인 링크를 제공함이 없이 다수의 사용자를 수용할 수 있도록 하는, 스토리지 시스템 및 컨텐트를 저장하는 방법을 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한, 스토리지 시스템은, 컨텐트를 저장하기 위한 스토리지 메커니즘과 상기 스토리지 메커니즘에 저장된 컨텐트의 적어도 일부를 미러링하기 위한 적어도 하나의 로컬 캐쉬 스토리지 유닛과 상기 스토리지 메커니즘과 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에 쓰여지는 컨텐트를 제어하기 위해 상기 스토리지 메커니즘 및 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에 연결되는 쓰기 디렉터와 적어도 부분적인 컨텐트 통일성(coherency)을 유지하기 위해 상기 스토리지 메커니즘과 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 사이에서 컨텐트 복사를 관리하기 위한 캐쉬 메니저와 컨텐트 요청을 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 및 상기 스토리지 메커니즘 중 각각의 컨텐트 이용가능성에 따라 선택된 하나에 보내기 위해 사용자로부터의 컨텐트에 대한 요청에 응답하는 읽기 디렉터와 상기 스토리지 메커니즘의 읽기 및 쓰기 로드를 감시하고 상기 스토리지 메커니즘의 읽기 및 쓰기 로드에 따라 상기 읽기 및 쓰기 디렉터와 상기 캐쉬 메니저를 제어하기 위한 스토리지 메커니즘 접근 메니저로서, 상기 쓰기 디렉터에 대한 제어는 상기 스토리지 메커니즘으로의 쓰기를 줄이는 것을 포함하는, 스토리지 메커니즘 접근 메니저를 포함한다.
또한 상기와 같은 목적을 달성하기 위한, 컨텐트를 저장하는 방법은, 유입되는 컨텐트를 스토리지 메커니즘 및 적어도 하나의 로컬 캐쉬 스토리지 유닛 중 적어도 하나에 쓰는 단계와 상기 스토리지 메커니즘과 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 사이의 컨텐트 통일성(coherency)을 감시하는 단계와 상기 컨텐트 통일성에 따라 상기 스토리지 메커니즘과 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 사이에 컨텐트를 복사하는 단계와 각각의 컨텐트 이용가능성에 따라 사용자로부터의 컨텐트에 대한 요청을 상기 스토리지 메커니즘과 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 중 선택된 하나에 보내는 단계와 상기 스토리지 메커니즘의 읽기 및 쓰기 로드를 감시하는 단계와 상기 스토리지 메커니즘의 읽기 및 쓰기 로드에 따라 상기 스토리지 메커니즘으로부터의 컨텐트 읽기 및 상기 스토리지 메커니즘으로의 컨텐트 쓰기를 제어하는 단계로서, 상기 제어는 상기 스토리지 메커니즘으로의 쓰기를 줄이는 것을 포함하는, 제어 단계를 포함한다.
상기와 같은 본 발명에 따른, 스토리지 시스템 및 컨텐트를 저장하는 방법은, 추가적인 링크의 제공 없이 비디오 편집을 위한 다수의 사용자를 수용할 수 있고 비용을 절감할 수 있는 효과가 있다.
또한 상기와 같은 본 발명에 따른, 스토리지 시스템 및 컨텐트를 저장하는 방법은 스토리지 메커니즘에 대한 대역폭 요구를 줄임으로써 개선된 성능을 제공할 수 있는 효과가 있다.
도 1은 본 발명의 바람직한 실시예에 따라 스토리지 시스템의 블록 개략도를 나타내는 도면.
바람직한 실시예에 따라 간단히 말하면, 컨텐트 바람직하게는 비디오 파일을 저장하기 위한 스토리지 시스템이 제공된다. 본 원리의 스토리지 시스템은 스토리지 메커니즘, 대형 디스크 드라이브 또는 하나 이상의 레이드(RAID: Redundant Arrays of Inexpensive Disk Drives)를 포함한다. 상기 스토리지 시스템은 또한 상기 스토리지 메커니즘 상에 저장된 컨텐트 중 적어도 일부를 미러링(mirroring)하기 위한 적어도 하나의 로컬 캐쉬 스토리지 유닛을 포함한다. 따라서, 사용자는 스토리지 메커니즘보다는 로컬 캐쉬 유닛으로부터 그러한 미러링된 컨텐트를 획득할 수 있으며, 이로써, 스토리지 메커니즘에 대한 대역폭 요구를 줄인다. 쓰기 디렉터(wirte director)는 스토리지 메커니즘 및 로컬 캐쉬 스토리지 유닛에 쓰여진 유입되는 컨텐트(incoming content)를 제어하기 위해 스토리지 메커니즘 및 하나의 로컬 캐쉬 스토리지 유닛에 연결된다. 캐쉬 메니저는 스토리지 메커니즘과 로컬 캐쉬 스토리지 유닛 사이의 컨텐트 통일성(content coherency)을 관리한다. 이는 스토리지 메커니즘상의 컨텐트 중 적어도 일부가 또한 로컬 캐쉬 스토리지 유닛 상에 존재하고 그 반대의 경우로도 존재하도록 하기 위해서이다. 읽기 디렉터(read director)는 사용자로부터의 컨텐트 요청에 응답하여 상기 요청을 스토리지 메커니즘과 로컬 캐쉬 스토리지 유닛 각각의 컨텐트 이용도에 따라 둘 중에서 하나에 보낸다. 이로써, 컨텐트가 로컬 캐쉬 스토리지 유닛상에서 이용 가능한 경우에는 사용자는 스토리지 메커니즘보다는 유닛으로부터 읽어들인다. 따라서 스토리지 메커니즘 억세스 메니저는 읽기 및 쓰기 메니저를 제어하기 위해 스토리지 메커니즘으로부터의 컨텐트 읽기 및 스토리지 메커니즘으로의 컨텐트 쓰기를 감시한다.
도면은 개선된 효율성을 제공하는 본 발명의 바람직한 실시예에 따라 스토리지 시스템(10)을 나타낸다. 중심에 있는 스토리지 시스템(10)은 단일 디스크 드라이브, 또는 사용자에 의한 후속적인 접근을 위한 컨텐트를 수신하는 하나 이상의 RAID로 구성되는 스토리지 메커니즘(12)을 포함한다. 일반적으로, 스토리지 메커니즘(12)은 편집 및/또는 방송용의 내장된 오디오를 구비하거나 구비하지 않는 비디오 파일을 저장한다. 모든 사용자가 어떠한 주어진 시간에 스토리지 메커니즘(12)에 접근하도록 하는 것은 대역폭을 요구할 것이며, 따라서 최대 사용자 수에 제한을 가할 것이다. 이 단점을 극복하기 위해, 본 발명의 스토리지 시스템(10)은 또한 적어도 하나의 로컬 캐쉬 스토리지 유닛(14) 및 바람직하게는 복수개의 유닛을 포함한다. 각각의 로컬 캐쉬 스토리지 유닛(14)은 일반적으로는 디스크 드라이브 또는 하나 이상의 RAID 형태를 취한다.
아래에서 더욱 상세히 검토되는 바와 같이, 로컬 캐쉬 스토리지 유닛(14)은 스토리지 메커니즘(12)에 저장된 컨텐트의 적어도 일부를 미러링한다. 다시 말해서, 상기 로컬 캐쉬 스토리지 유닛(14)은 스토리지 메커니즘(12)과 동일한 파일들 중 적어도 일부를 저장한다. 이로써 스토리지 메커니즘(12)과 로컬 캐쉬 스토리지 유닛(14) 모두에 저장되는 특별한 파일에 접근하고자 하는 사용자는 스토리지 메커니즘보다는 로컬 캐쉬 스토리지 유닛에 접근할 수 있다. 상기 로컬 캐쉬 스토리지 유닛(14)에 접근하는 것은 스토리지 메커니즘(12)에 대한 대역폭 요구를 줄인다. 실제로, 다른 사용자 그룹 각각은 전용 로컬 캐쉬 스토리지 유닛을 가질 수 있다. 대안적으로, 로컬 캐쉬스토리지 유닛(14)의 사용자 그룹으로의 할당은 역동적으로 이루어질 수 있다.
쓰기 디렉터(16)는 외부 소스(미도시)로부터 스토리지 메커니즘(12) 및 로컬 캐쉬 각각에 입력 컨텐트의 쓰기를 제어한다. 그러한 입력 컨텐트는 카메라 또는 위성 피드(satellite feed)로부터 수신되는 라이브 비디오 또는 이전에 기록된 비디오를 포함할 수 있다. 실제로, 상기 쓰기 디렉터(16)는 프로그램된 프로세서, 유선의(hard-wired) 논리 회로, 또는 필드 프로그래머블 어레이(FPGA) 또는 스토리지 메커니즘(12)상에서 읽기 및 쓰기 로드를 감시하는 스토리지 메커니즘 접근 메니저(17)로부터 수신되는 정보를 제어하기 위해 응답하는 것의 형태를 취한다. 실제로, 상기 스토리지 메커니즘 접근 메니저(17)는 프로그램된 프로세서, 하드-와이어드 논리회로, 또는 FPGA의 형태를 취한다. 상기 스토리지 메커니즘 접근 메니저(17)로부터의 출력 신호에 따라, 상기 쓰기 디렉터(16)는 상기 스토리지 메커니즘(12) 및 상기 로컬 캐쉬 스토리지 유닛(14) 모두 또는 그 중 하나에 유입되는 컨텐트를 내보낸다.
일반적으로 프로그램된 프로세서, 하드-와이어드 논리 회로, 또는 FPGA와 같은 형태인 캐쉬 메니저(18)는 컨텐트 통일성을 유지하기 위해 상기 로컬 캐쉬 스토리지 유닛으로부터의 제어 신호에 따라 상기 로컬 캐쉬 스토리지 유닛(14) 및 상기 스토리지 메커니즘(12) 사이에서 컨텐트의 쓰기를 제어한다. 다시 말해서, 상기 캐쉬 메니저(18)는 상기 스토리지 메커니즘(12)과 상기 로컬 캐쉬 스토리지 유닛(14)에 공통으로 적어도 일부 컨텐트를 유지한다. 이 일을 수행하기 위해, 상기 캐쉬 메니저(18)는 상기 스토리지 메커니즘(12)에서 상기 로컬 캐쉬 스토리지 유닛(14)으로 백그라운드 파일 복사를 담당한다("트리클 다운(trickle down)"). 마찬가지로, 상기 캐쉬 메니저(18)는 상기 로컬 캐쉬 스토리지 유닛(14)에서 상기 스토리지 메커니즘(12)으로 백그라운드 파일 복사를 담당한다("트리클 업(trickle up)"). 그러한 트리클 업은 사용자가 다른 사용자에 의한 후속적인 사용을 위한 컨텐트를 편집할 때 필요해진다. "트리클링 다운"과 "트리클링 업"이 발생하는 비율은 상기 스토리지 메커니즘(12)에 대한 전체 대역폭 요구의 함수이다. 상기 캐쉬 메니저(18)는 또한 빈번하지 않게 접근되는 파일들을 삭제함으로써 상기 로컬 캐쉬 스토리지 유닛(14)의 스토리지 용량을 관리한다. 상기 로컬 캐쉬 스토리지 유닛(14)의 이용 가능한 스토리지 용량이 규정된 레벨을 초과하는 경우, 상기 캐쉬 메니저(18)는 우선 최근에 가장 적게 접근된 파일을 삭제할 것이다. 그 후, 상기 캐쉬 메니저(18)는 다음으로 적게 접근된 파일을 삭제할 것이며 상기 로컬 캐쉬 스토리지 유닛(14)의 이용 가능한 스토리지 용량이 수용 가능한 레벨에 이를 때까지 계속한다.
상기 스토리지 시스템(10)으로부터 컨텐트를 읽기 위해, 사용자는 읽기 디렉터(20)에 의해 수신되는 읽기 요청을 입력한다. 실제로, 상기 읽기 디렉터(20)는 상기 스토리지 메커니즘(12)과 상기 로컬 캐쉬 스토리지 유닛(14) 모두의 컨텐트를 감시하는 프로그램된 프로세서의 형태를 취한다. 읽기 요청의 수신과 동시에, 상기 읽기 디렉터(20)는 요청된 컨텐트가 상기 로컬 캐쉬 스토리지 유닛(14)에 존재하는지 여부를 결정한다. 존재한다면, 상기 읽기 디렉터(20)는 상기 로컬 캐쉬 스토리지 유닛(14)을 요청된 컨텐트의 소스로서 지정하기 위해 커맨드를 읽기 소스 셀렉터(22) 일반적으로 멀티플렉서에 보낸다. 따라서, 그러한 환경하에서, 상기 읽기 디렉터(20)는 읽기 요청을 상기 로컬 캐쉬스토리지 유닛(14)에 "다시 보낸다". 상기 로컬 캐쉬 스토리지 유닛(14)은 요청된 컨텐트가 부족할 경우에, 상기 읽기 디렉터(20)는 상기 소스 셀렉터(22)가 상기 스토리지 메커니즘(12)을 선택하도록 한다. 대안적으로, 상기 로컬 캐쉬 스토리지 유닛(14)이 요청된 컨텐트를 제공할 수 없고 상기 스토리지 메커니즘(12)으로의 접근을 허락하기에 불충분한 대역폭이 있는 경우에 상기 읽기 디렉터(20)는 읽기 소스 셀렉터(22)가 스토리지 유닛(24)을 선택하도록 하여 사용자에게 필러 컨텐트(filler content)를 제공할 것이다. 상기 로컬 캐쉬스토리지 유닛(14)이 요청된 컨텐트가 부족할 때, 상기 읽기 디렉터(20)는 상기 캐쉬 메니저(18)에게 경고한다. 응답으로, 상기 캐쉬 메니저(18)는 컨텐트를 상기 스토리지 메커니즘(12)으로부터 상기 로컬 캐쉬 스토리지 유닛(14)으로 전송하도록 트리클 다운 복사 작업을 개시한다.
작업 중에, 상기 스토리지 시스템(10)은 유리하게는 상기 스토리지 메커니즘(12)에 대한 대역폭 요구를 줄임으로써 개선된 성능을 제공한다. 상기 로컬 캐쉬 스토리지 유닛(14)은 상기 스토리지 메커니즘(12)의 컨텐트 중 적어도 일부를 미러링하는데 도움이 되며, 따라서 그러한 컨텐트를 사용자에게 제공하기 위한 교체 소스를 제공한다. 상기 캐쉬 메니저(18)는 로컬 캐쉬 스토리지 유닛이 필수 컨텐트를 포함할 것을 보증하도록 상기 스토리지 메커니즘 접근 메니저(17)에 의해 감시된 대로 상기 스토리지 메커니즘(12)의 상태에 대응하여 상기 로컬 캐쉬스토리지 유닛(14)을 주의깊게 관리한다. 상기 스토리지 메커니즘 접근 메니저는 높은 대역폭 요구 간격 동안에 상기 스토리지 메커니즘으로부터의 컨텐트 읽기 및 상기 스토리지 메커니즘에의 컨텐트 쓰기를 제어한다.
상기 내용은 개선된 성능을 구비하는 스토리지 네트워크를 설명한다.
본 발명은 비디오 정보를 저장하기 위한 비디오 스토리지 네트워크에 이용 가능하다.
10 : 스토리지 시스템 12 : 스토리지 메커니즘
14 : 로컬 캐쉬 스토리지 유닛 16 : 쓰기 디렉터
18 : 캐쉬 메니저 20 : 읽기 디렉터

Claims (18)

  1. 스토리지 시스템으로서,
    컨텐트를 저장하기 위한 스토리지 메커니즘;
    상기 스토리지 메커니즘에 저장된 컨텐트의 적어도 일부를 미러링하기 위한 적어도 하나의 로컬 캐쉬 스토리지 유닛;
    상기 스토리지 메커니즘과 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에 쓰여지는 컨텐트를 제어하기 위해 상기 스토리지 메커니즘 및 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에 연결되는 쓰기 디렉터;
    적어도 부분적인 컨텐트 통일성(coherency)을 유지하기 위해 상기 스토리지 메커니즘과 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 사이에서 컨텐트 복사를 관리하기 위한 캐쉬 메니저;
    사용자로부터의 컨텐트에 대한 요청에 응답하여 상기 컨텐트 요청을 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 및 상기 스토리지 메커니즘 중 선택된 하나에 각각의 컨텐트 이용가능성에 따라 보내기 위한 읽기 디렉터;
    상기 스토리지 메커니즘의 읽기 및 쓰기 로드를 감시하고 상기 스토리지 메커니즘의 읽기 및 쓰기 로드에 따라 상기 읽기 및 쓰기 디렉터와 상기 캐쉬 메니저를 제어하기 위한 스토리지 메커니즘 접근 메니저로서, 상기 쓰기 디렉터에 대한 제어는 상기 스토리지 메커니즘으로의 쓰기를 줄이는 것을 포함하는, 스토리지 메커니즘 접근 메니저;를 포함하는, 스토리지 시스템.
  2. 제1항에 있어서,
    상기 캐쉬 메니저는 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛이 규정된 레벨 이상의 이용 가능한 스토리지 용량을 가질 때까지 가장 적게 접근된 파일을 계속적으로 삭제함으로써 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛의 스토리지 용량을 관리하는, 스토리지 시스템.
  3. 제1항에 있어서,
    필러 컨텐트를 저장하기 위한 필러 스토리지 유닛을 더 포함하고, 상기 읽기 디렉터는 상기 요청된 컨텐트가 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛으로부터 이용할 수 없고 상기 스토리지 메커니즘으로 접근하기에 불충분한 대역폭이 있을 때 필러 컨텐트를 제공하기 위해 읽기 요청을 상기 필러 스토리지 유닛에 보내는, 스토리지 시스템.
  4. 제1항에 있어서,
    상기 스토리지 메커니즘은 적어도 하나의 디스크 드라이브를 더 포함하는, 스토리지 시스템.
  5. 제1항에 있어서,
    상기 스토리지 메커니즘은 적어도 하나의 레이드(RAID, Redundant Array of Inexpensive Disk) 드라이브를 더 포함하는, 스토리지 시스템.
  6. 제1항에 있어서,
    상기 적어도 하나의 로컬 캐쉬 스토리지 유닛은 적어도 하나의 디스크 드라이브를 더 포함하는, 스토리지 시스템.
  7. 제1항에 있어서,
    상기 적어도 하나의 로컬 캐쉬 스토리지 유닛은 적어도 하나의 RAID 드라이브를 더 포함하는, 스토리지 시스템.
  8. 제1항에 있어서,
    상기 스토리지 메커니즘에 대한 대역폭 요구를 줄이기 위해, 요청된 컨텐트가 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에서 이용 가능할 때 상기 읽기 디렉터는 컨텐트에 대한 요청을 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에 다시 보내는(redirect), 스토리지 시스템.
  9. 제1항에 있어서,
    상기 캐쉬 메니저는 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 상에서 이전에 이용 불가능한 적어도 일부 컨텐트를 상기 스토리지 메커니즘으로부터 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에 복사하는, 스토리지 시스템.
  10. 제1항에 있어서,
    상기 스토리지 메커니즘 접근 메니저는 제한된 스토리지 메커니즘 대역폭의 간격 동안 상기 스토리지 메커니즘으로부터의 읽기 및 상기 스토리지 메커니즘으로의 쓰기를 줄이기 위해 상기 읽기 및 쓰기 디렉터를 제어하는, 스토리지 시스템.
  11. 제1항에 있어서,
    만일 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에 요청된 컨텐트가 없다면 상기 읽기 디렉터는 상기 캐쉬 메니저에 경고하고, 요청된 컨텐트를 상기 스토리지 메커니즘으로부터 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛으로 전송하도록 상기 캐쉬 메니저는 복사 작업을 개시하는, 스토리지 시스템.
  12. 컨텐트를 저장하는 방법으로서,
    유입되는 컨텐트를 스토리지 메커니즘 및 적어도 하나의 로컬 캐쉬 스토리지 유닛 중 적어도 하나에 쓰는 단계;
    상기 스토리지 메커니즘과 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 사이의 컨텐트 통일성(coherency)을 감시하는 단계;
    상기 컨텐트 통일성에 따라 상기 스토리지 메커니즘과 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 사이에 컨텐트를 복사하는 단계;
    사용자로부터의 컨텐트에 대한 요청을 상기 스토리지 메커니즘과 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛 중 선택된 하나에 각각의 컨텐트 이용가능성에 따라 보내는 단계;
    상기 스토리지 메커니즘의 읽기 및 쓰기 로드를 감시하는 단계; 및
    상기 스토리지 메커니즘의 읽기 및 쓰기 로드에 따라 상기 스토리지 메커니즘으로부터의 컨텐트 읽기 및 상기 스토리지 메커니즘으로의 컨텐트 쓰기를 제어하는 단계로서, 상기 제어는 상기 스토리지 메커니즘으로의 쓰기를 줄이는 것을 포함하는, 제어 단계를 포함하는, 컨텐트를 저장하는 방법.
  13. 제12항에 있어서,
    상기 컨텐트 요청을 보내는 단계는, 상기 요청된 컨텐트가 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에 존재하는 경우에는 상기 컨텐트 요청을 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에 다시 보내는 단계를 더 포함하는, 컨텐트를 저장하는 방법.
  14. 제12항에 있어서,
    상기 컨텐트 요청을 보내는 단계는,
    요청된 컨텐트가 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛에 있지 않고 상기 스토리지 메커니즘으로 접근하기에 불충분한 대역폭이 있는 경우에는 필러를 제공하기 위해 상기 컨텐트 요청을 필러 스토리지 유닛에 다시 보내는 단계를 더 포함하는, 컨텐트를 저장하는 방법.
  15. 제14항에 있어서,
    상기 스토리지 메커니즘으로부터 상기 적어도 하나의 로컬 캐쉬 스토리지 유닛으로 컨텐트를 쓰는 단계를 더 포함하는, 컨텐트를 저장하는 방법.
  16. 제12항에 있어서,
    상기 적어도 하나의 로컬 캐쉬 스토리지 유닛으로부터 상기 스토리지 메커니즘으로 컨텐트를 쓰는 단계를 더 포함하는, 컨텐트를 저장하는 방법.
  17. 제12항에 있어서,
    상기 스토리지 메커니즘으로부터의 컨텐트 읽기 및 상기 스토리지 메커니즘으로의 컨텐트 쓰기를 제어하는 단계는, 고 대역폭 요구 간격 동안 상기 스토리지 메커니즘으로의 접근을 제한하는 단계를 더 포함하는, 컨텐트를 저장하는 방법.
  18. 제12항에 있어서,
    만일 로컬 캐쉬 스토리지 유닛에 요청된 컨텐트가 없다면 요청된 컨텐트를 상기 스토리지 메커니즘으로부터 상기 로컬 캐쉬 스토리지 유닛으로 전송하는 단계를 더 포함하는, 컨텐트를 저장하는 방법.
KR1020127007356A 2002-08-28 2003-08-21 향상된 성능을 구비하는 비디오-스토리지 네트워크 KR20120049363A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US40662302P 2002-08-28 2002-08-28
US60/406,623 2002-08-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020057002994A Division KR20050033652A (ko) 2002-08-28 2003-08-21 향상된 성능을 구비하는 비디오-스토리지 네트워크

Publications (1)

Publication Number Publication Date
KR20120049363A true KR20120049363A (ko) 2012-05-16

Family

ID=31978326

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020057002994A KR20050033652A (ko) 2002-08-28 2003-08-21 향상된 성능을 구비하는 비디오-스토리지 네트워크
KR1020127007356A KR20120049363A (ko) 2002-08-28 2003-08-21 향상된 성능을 구비하는 비디오-스토리지 네트워크

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020057002994A KR20050033652A (ko) 2002-08-28 2003-08-21 향상된 성능을 구비하는 비디오-스토리지 네트워크

Country Status (9)

Country Link
US (1) US8037241B2 (ko)
EP (1) EP1543426A4 (ko)
JP (1) JP4628786B2 (ko)
KR (2) KR20050033652A (ko)
CN (1) CN100386746C (ko)
AU (1) AU2003265551A1 (ko)
CA (1) CA2496243C (ko)
MX (1) MXPA05002225A (ko)
WO (1) WO2004021196A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4386732B2 (ja) 2002-01-08 2009-12-16 セブン ネットワークス, インコーポレイテッド モバイルネットワークの接続アーキテクチャ
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
DE102005059044A1 (de) * 2005-12-08 2007-06-14 Deutsche Thomson-Brandt Gmbh Verfahren zum Bearbeiten von Medieninhalten in einer Netzwerkumgebung sowie Gerät zur Vorratsspeicherung von Medien-Daten
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
CN101399840B (zh) * 2007-09-26 2013-10-23 新奥特硅谷视频技术有限责任公司 利用虚拟文件系统技术实现镜像存储的方法及系统
CN101398744B (zh) * 2007-09-26 2011-12-28 新奥特硅谷视频技术有限责任公司 利用虚拟文件系统技术实现网络数据处理的方法及系统
US9002828B2 (en) * 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) * 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
EP2599003B1 (en) 2010-07-26 2018-07-11 Seven Networks, LLC Mobile network traffic coordination across multiple applications
US8838783B2 (en) * 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
EP2700020A4 (en) 2011-04-19 2015-01-07 Seven Networks Inc SHARING DEVICE RESOURCES FOR NETWORK RESOURCE CONSERVATION
GB2496537B (en) 2011-04-27 2014-10-15 Seven Networks Inc System and method for making requests on behalf of a mobile device based on atmoic processes for mobile network traffic relief
US8745158B2 (en) 2011-09-30 2014-06-03 Avid Technology, Inc. Application-guided bandwidth-managed caching
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
WO2013086214A1 (en) 2011-12-06 2013-06-13 Seven Networks, Inc. A system of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9652387B2 (en) 2014-01-03 2017-05-16 Red Hat, Inc. Cache system with multiple cache unit states

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5829046A (en) * 1995-10-27 1998-10-27 Emc Corporation On-line tape backup using an integrated cached disk array
US6112281A (en) * 1997-10-07 2000-08-29 Oracle Corporation I/O forwarding in a cache coherent shared disk computer system
US6058400A (en) * 1998-04-28 2000-05-02 Sun Microsystems, Inc. Highly available cluster coherent filesystem
JPH11338748A (ja) 1998-05-22 1999-12-10 Mitsubishi Electric Corp ファイルアクセス装置
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6463509B1 (en) * 1999-01-26 2002-10-08 Motive Power, Inc. Preloading data in a cache memory according to user-specified preload criteria
US6247099B1 (en) 1999-06-03 2001-06-12 International Business Machines Corporation System and method for maintaining cache coherency and data synchronization in a computer system having multiple active controllers
US6571319B2 (en) * 1999-06-04 2003-05-27 Sun Microsystems, Inc. Methods and apparatus for combining a plurality of memory access transactions
US7506034B2 (en) * 2000-03-03 2009-03-17 Intel Corporation Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user
US6792507B2 (en) * 2000-12-14 2004-09-14 Maxxan Systems, Inc. Caching system and method for a network storage system
FR2820846B1 (fr) 2001-02-12 2003-05-30 Thomson Multimedia Sa Dispositif et procede de gestion d'acces a un support d'enregistrement
US6587921B2 (en) * 2001-05-07 2003-07-01 International Business Machines Corporation Method and apparatus for cache synchronization in a clustered environment

Also Published As

Publication number Publication date
KR20050033652A (ko) 2005-04-12
WO2004021196A1 (en) 2004-03-11
EP1543426A4 (en) 2008-01-23
CN1679007A (zh) 2005-10-05
JP2005537573A (ja) 2005-12-08
CA2496243A1 (en) 2004-03-11
JP4628786B2 (ja) 2011-02-09
MXPA05002225A (es) 2005-09-12
WO2004021196A9 (en) 2004-07-22
CA2496243C (en) 2011-10-18
US20060041717A1 (en) 2006-02-23
EP1543426A1 (en) 2005-06-22
AU2003265551A1 (en) 2004-03-19
US8037241B2 (en) 2011-10-11
CN100386746C (zh) 2008-05-07

Similar Documents

Publication Publication Date Title
KR20120049363A (ko) 향상된 성능을 구비하는 비디오-스토리지 네트워크
EP0756802B1 (en) Multi-channel common-pool distributed data storage and retrieval system
US5592612A (en) Method and apparatus for supplying data streams
JP3566458B2 (ja) アーカイブ装置
EP1272931B1 (en) Multi-device storage system with differing fault tolerant methodologies
CN102567215B (zh) 用于精简供应的空间分配的方法和系统
JP2005110291A (ja) ビデオ・データを提供するシステム
JPH11143778A (ja) キャッシュ管理方法及び情報回収方法
US7337200B2 (en) Storage sub-system having expanded data read
GB2437621A (en) Dynamic allocation of storage capacity in a networked video recording system
JPH06301594A (ja) 複写機におけるメモリの管理装置および方法
US6167496A (en) Data stream optimization system for video on demand
US20110283063A1 (en) Disk array device, a disk array device control method and a disk array device control program
KR19980033151A (ko) 라이브러리내 화일의 관리 방법 및 라이브러리용 서버 장치
US6766393B2 (en) Method and apparatus for transferring data between independent fiber channel arbitrated loops in an interactive information distribution system
KR100259331B1 (ko) 공유 루프 오디오/비디오 서버 시스템
JPH1124846A (ja) ネットワークを利用したバックアップシステム
KR0185916B1 (ko) 보조기록매체를 구비한 비디오서비스장치
JP2002149349A (ja) 少なくとも1つのデータストリームのデータをストアするためのサーバ、方法、およびコンピュータサーバシステム
KR100425488B1 (ko) 연속매체용화일시스템의일정한읽기성능보장방법
CA2097938A1 (en) Expanded image storage and dissemination architecture
Shim Supporting I/O-intensive applications in a high performance storage system
JPH02181570A (ja) 電子ファイルシステム
JP2003091496A (ja) 情報転送システム、経路制御装置及び経路制御方法
KR19980063414A (ko) 공유 루프 구조의 멀티미디어 서브시스템 클러스터를 사용하여 멀티미디어 데이터스트림을 처리하기 위한 방법 및 시스템

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
N231 Notification of change of applicant
N231 Notification of change of applicant
E902 Notification of reason for refusal
N231 Notification of change of applicant
E601 Decision to refuse application