KR101012187B1 - 데이터 스트림의 심리스 실시간 분리 및 연결을 위한 방법 - Google Patents

데이터 스트림의 심리스 실시간 분리 및 연결을 위한 방법 Download PDF

Info

Publication number
KR101012187B1
KR101012187B1 KR1020040065718A KR20040065718A KR101012187B1 KR 101012187 B1 KR101012187 B1 KR 101012187B1 KR 1020040065718 A KR1020040065718 A KR 1020040065718A KR 20040065718 A KR20040065718 A KR 20040065718A KR 101012187 B1 KR101012187 B1 KR 101012187B1
Authority
KR
South Korea
Prior art keywords
data
data stream
storage
identifier
storage medium
Prior art date
Application number
KR1020040065718A
Other languages
English (en)
Other versions
KR20050020691A (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 KR20050020691A publication Critical patent/KR20050020691A/ko
Application granted granted Critical
Publication of KR101012187B1 publication Critical patent/KR101012187B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • 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/70Media network packetisation
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10666Ring buffers, e.g. buffers wherein an iteratively progressing read or write pointer moves back to the beginning of the buffer when reaching the last storage cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10944Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/412Distributed storage methods, i.e. the system may autonomously determine for a storage device that provides enough storage capacity for recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

패킷화된 실시간 스트리밍 데이터, 예를 들어 멀티미디어 데이터를 기록할 때, 데이터 스트림의 크기를 미리 안다는 것은 일반적으로 불가능하여, 요구되는 저장 영역을 아는 것도 불가능하다. 그러므로, 저장 디바이스는, 데이터 스트림이 완전하게 저장되기 전에 풀(full)될 수도 있다. 데이터 스트림의 잔여 부분을 저장하고 검색하기 위한 본 발명에 따른 방법은, 메타 데이터 태그(10,11)들과, 데이터 스트림을 청크(chunk)들로 심리스(seamless)하게 분리하고, 그 청크들을 서로 다른 접속된 저장 디바이스(D1,D2)들에 심리스하게 분산하는 데이터 버퍼(IB1,IB2)들을 이용하여, 청크들은 스트림을 실시간으로 재생하기 위해 다시 심리스하게 연결될 수 있다. 메타 데이터 태그(10,11)들은 후속 저장 노드(N2) 및/또는 이전 저장 노드(N1)와 가장 최근에 저장된 애플리케이션 패킷을 위한 식별자들을 포함한다.
저장 디바이스, 데이터 스트림, 메타 데이터 태그, 청크, 분산

Description

데이터 스트림의 심리스 실시간 분리 및 연결을 위한 방법{METHOD FOR SEAMLESS REAL-TIME SPLITTING AND CONCATENATING OF A DATA STREAM}
도 1은 메타 데이터 디스크립터들에 의해 링크되는 분산 스트림 오브젝트를 도시한 도면.
도 2는 기록하는 경우에서의 분산 저장 시스템 모델을 도시한 도면.
도 3은 기록하는 동안에 저장 디바이스로부터 다른 디바이스로 심리스하게 스위칭할 때의 메시징 및 버퍼링 시나리오를 도시한 도면.
도 4는 재생하는 경우에서의 분산 저장 시스템 모델을 도시한 도면.
도 5는 재생하는 동안에 저장 디바이스로부터 다른 디바이스로 심리스하게 스위칭할 때의 메시징 및 버퍼링 시나리오를 도시한 도면.
도 6은 모든 청크들을 하나의 노드를 통해 라우팅하는 재생 경우에서의 분산 저장 시스템 모델을 도시한 도면.
도 7은 비(非)저장 노드에 입력 버퍼를 구비하는 재생 경우에서의 분산 저장 시스템 모델을 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
10, 11 : 데이터 분리 디스크립터
18, 19 : 스트림 오브젝트
본 발명은 데이터 스트림들의 분산 저장 및 검색을 위한 방법에 관한 것이다. 특히, 본 발명은 데이터 스트림들, 예를 들어 멀티미디어 데이터 스트림들의 심리스(seamless) 실시간 분리 및 연결에 관한 것이다.
멀티미디어 홈 네트워크들은 오디오, 비디오 및 다른 데이터를 포함하는 데이터 스트림을 처리하기 위해 자주 이용된다. 이는 수많은 데이터의 기록 및 재생을 포함한다. 일반적으로, 비디오 필름 또는 오디오 트랙과 같은 유닛(unit)을 포함하는 데이터 스트림은 단일 파일로서 처리되고, 저장된다. 내부적으로, 이러한 스트림들은, 예를 들어 디지털 비디오(DV) 또는 MPEG-2 표준을 위해 정의된 것과 같은 패킷들로 자주 구성된다. 표준에 따라 이러한 패킷들은 서로 다른 길이, 예를 들어 MPEG-2를 위한 188 바이트를 구비할 수도 있다.
이용가능한 저장 용량 뿐만 아니라 데이터량도 맹렬하게 증가하는 반면, 저장 영역을 구성하는 것은 사용자들에게 성가신 일이다. 예를 들어 다른 디바이스들로부터 저장 디바이스들을 분리하기 위해 이용되는 저장 영역 네트워크들과 같은 다양한 자동 접근법들이 존재하여, 저장 용량을 모든 접속된 데이터 생성 또는 데이터 소비 디바이스들에게 제공한다. 그러한 기술들은 분산 저장으로 불리는데, 접속된 저장 디바이스들 중 어느 하나에 저장될 파일을 자동적으로 분산시킬 수도 있고, 그 이후에 파일을 찾아서 검색할 수도 있기 때문이다. 그러한 시스템들에 서, 사용자는 특정 콘텐츠가 저장된 장소를 상세하게 알 필요가 없다. 다양한 형태의 애플리케이션 패킷들을 처리하기 위하여, 멀티미디어 네트워크용 분산 저장 시스템들은 애플리케이션 패킷들을, 예를 들어 DVD 스트림 기록 표준(DVD Specifications for Rewritable/Re-recordable Discs, Part 5, Stream Recording, May 2000)용으로 정의되는 것과 같은 저장용 패킷 컨테이너(container)들에 자주 분산시킨다. 적절한 실시간 재생을 가능하게 하기 위하여, 타임 스탬프(ATS)들이 애플리케이션 패킷들에 할당된다.
분산 저장 방법들은 홈 네트워크들을 위해서 또한 적용될 수도 있으며, 홈 네트워크들은 다양한 종류의 데이터를 위해 편리한 자동 관리자들이 되는 경향이 있다. 시스템은, 기록을 위한 충분한 저장 용량을 제공할 수도 있는 저장 디바이스를 임의의 사용자 간섭없이 자발적으로 찾을 수도 있다. 애플리케이션, 예를 들어 비디오 기록을 위하여, 저장 시스템의 이러한 작용은 일반적으로 투명하다.
그러나, 실시간 스트리밍 데이터가 기록될 때, 데이터 스트림의 크기를 미리 안다는 것은 일반적으로 불가능하여, 요구되는 저장 영역을 안다는 것도 불가능하다. 저장 영역 관리가 어려워, 실시간 데이터의 기록은, 선택된 저장 디바이스가 풀(full)일 때 일반적으로 종료된다.
일반적으로, 네트워크들과 같은 분산 저장 시스템들의 구조는 클라이언트-서버 또는 피어-투-피어(P2P) 원리에 기초할 수 있다. P2P 네트워크들은 집중형 네트워크 구조를 요구하지 않는데, 노드들 또는 피어들이 일반적으로 서로 직접 통신하기 때문이다. 서비스들 및 리소스들, 예를 들어 저장 영역은 공유될 수도 있어, 수많은 개선된 기능들을 사용자에게 제공한다.
멀티미디어 홈 네트워크들을 위한 분산 저장 시스템은 스트리밍 데이터의 실시간 기록을 지원할 수 있어야 한다. 실시간으로 기록하는 특성으로 인해, 기록된 파일 또는 데이터 스트림의 길이는 기록 시간에 알려지지 않기 때문에, 선택된 저장 디바이스는, 데이터 스트림이 완전하게 저장되기 전에 풀(full)되는 위험이 존재한다. 그러한 경우, 데이터 스트림의 잔여 부분은 또다른 저장 디바이스에 저장될 수도 있다. 그래서, 다른 저장 디바이스를 선택하여 활성화시키는 일은 시간이 걸리고, 이는 실시간 동작을 방해한다.
본 발명에 의해 해결되는 문제점은, 데이터 스트림을 기록하는 동안에 데이터 스트림을 청크(chunk)들로 심리스(seamless)하게 분리하고, 청크들을 서로 다른 접속된 저장 디바이스들에 실시간으로 분산하여, 그 청크들이 스트림의 실시간 재생을 위해 다시 심리스하게 연결되는 것이다.
이러한 문제점을 해결하는 방법이 청구항 1에 개시된다. 저장을 위한 방법을 이용하는 장치가 청구항 9에 개시된다. 서로 다른 저장 매체로부터 데이터 스트림의 일부분들을 검색하기 위한 방법이 청구항 2에 개시된다. 데이터 검색을 위한 방법을 이용하는 장치가 청구항 10에 개시된다.
본 발명에 따르면, 메타 데이터 태그들과 임시 버퍼들이 분산 저장 환경내 데이터의 심리스 실시간 분리 및 연결을 가능하게 하기 위해 이용된다. 데이터 스트림을 기록하는 동안, 저장 디바이스의 최대 용량에 도달할 때, 본 발명에 따른 방법은, 스트림을 분리하여 그 나머지를 또다른 저장 디바이스에 저장하는 것을 가능하게 한다. 네트워크의 기록 저장 노드와 다른 저장 노드들에서 이용가능한 데이터 용량은 이러한 목적을 위해 모니터될 수도 있다.
데이터 스트림이 제1 저장 디바이스에 기록되고, 이 디바이스상의 이용가능한 저장 용량이 한계에 도달하는 동안, 현재의 활성 저장 디바이스가 풀된 후에도 계속해서 기록하기 적합한 네트워크내 또다른 저장 디바이스가 선택된다. 제1 디바이스의 사용하지 않은 저장 영역이 임계(threshold) 이하일 때, 다른 저장 디바이스는 통지를 수신하여 스트리밍 데이터를 제1 저장 디바이스와 병렬로 임시 버퍼에 버퍼링하기 시작한다. 제1 저장 디바이스가 풀, 즉 더 이상 패킷들을 저장할 수도 없을 때, 제1 저장 디바이스는, 제1 디바이스에 의해 저장된 가장 최근의 패킷을 정의하는 식별자를 포함하는 통지를 제2 디바이스로 송신한다. 이러한 통지를 수신한 제2 디바이스는, 저장해야 할 제1 패킷을 식별하고, 이 시작 패킷과 후속 데이터 패킷들을 제2 디바이스의 임시 버퍼로부터 제2 디바이스의 저장 영역으로 전송한다. 그래서, 제2 디바이스는 데이터 스트림을 계속해서 기록할 수 있다.
다행스럽게도, 본 발명에 따른 방법은 데이터 손실을 방지하여, 스트림의 재생 시 중단을 현저하게 방지한다.
기록을 계속하는 또다른 저장 디바이스를 선택하는 프로세스는, 예를 들어 사용하지 않는 저장 용량, 가능한 기록 속도 또는 콘텐츠의 형태와 같은 임의의 파라미터들에 기초할 수도 있다.
유사하게, 완전한 데이터 스트림을 재생하기 위하여 서로 다른 청크들이 연 결된다. 스트림의 시작을 포함하고 있는 제1 청크는 메타 데이터 태그에 의해 마크(mark)된다. 이러한 마크는 프리디세서(predecessor)를 특정하지 않음으로써 명시적일 수도 또는 내재적일 수도 있다. 메타 데이터 태그는 식별자, 예를 들어 관련된 데이터 청크에 포함된 가장 최근 애플리케이션 패킷의 타임 스탬프 값 또는 UUID를 또한 포함한다. 메타 데이터 태그는, 그 다음 청크를 보유하는 저장 디바이스의 식별자와, 그 다음 또는 이전 청크 또는 두 개 청크들을 위한 식별자, 예를 들어 PlaycellUUID를 또한 포함할 수도 있다. 제1 청크가 저장 디바이스로부터 판독되어 재생을 위해 버퍼되는 동안, 제1 청크의 메타 데이터 태그가 평가되고, 메시지는 적어도 그 다음 저장 디바이스로 송신되어, 제1 청크의 가장 최근의 패킷을 식별하고, 그 다음 청크를 식별한다. 제2 저장 디바이스가, 예를 들어 PlaycellUUID를 갖는 요구되는 청크를 검출한 후, 제2 저장 디바이스는, 제1 디바이스에 의해 공통 데이터 커넥션(connection)에서 재생되는 데이터 패킷들을 모니터하고, 제2 저장 디바이스가 가장 최근의 패킷을 검출하면, 제2 청크의 패킷들을 재생하기 시작한다. 단일 데이터 청크들의 길이에 의존하여, 제2 디바이스는 메시지를 미리 수신하고 데이터 청크의 제1 패킷들을 판독하여 임시 버퍼에 버퍼하므로, 제2 저장 매체로부터의 데이터 검색에 의한 지연없이 재생을 시작할 수 있다. 대안적으로, 제2 디바이스로 송신된 메시지는 현재 재생된 청크의 식별자, 예를 들어 청크의 PlaycellUUID를 포함할 수도 있고, 제2 디바이스에 저장된 제2 청크의 메타 데이터 태그는 이전 청크의 식별자를 포함한다. 식별자들이 동일할 때, 제2 청크는 제1 청크의 가장 최근의 패킷 후에 재생되는 그 다음 청크이고, 제2 청크의 ATS에 의해 검출된다.
그래서, 실시간 데이터 스트림은, 서로 다른 디바이스들에 저장될 수도 있고, 재생을 위해 균일하게 연결될 수 있는 데이터 청크들로 분리될 수도 있다. 분산 저장 시스템에서의 연결된 스트림을 처리하기 위하여, 본 발명에 따른 방법은, 비집중형 분산 시스템에 의해 자동으로 생성되고, 데이터 청크들과 관련된 메타 데이터 디스크립터들에 의해 데이터 청크들의 완전한 시퀀스(sequence)를 네비게이션 데이터로서 설명하여, 데이터 청크들의 링크된 리스트를 생성하는 단계를 포함한다. 본 발명에 따르면, 메타 데이터 디스크립터들은 각 청크들을 위해, 본래 스트림의 복원, 예를 들어 데이터의 재생을 위해 요구되는 적어도 모든 정보를 포함한다. 메타 데이터 디스크립터는 적어도 다음의 정보를 포함한다: 데이터 청크가 속하는 데이터 스트림을 위한 식별자, 이전 데이터 청크가 존재하면 이전 데이터 청크를 위한 식별자, 후속 데이터 청크가 존재하면 후속 데이터 청크를 위한 식별자, 및 가장 최근의 패킷을 위한 식별자. 또한, 데타 데이터 디스크립터들에 다음의 정보를 저장하는 것이 유용한 것으로 보일 수도 있다: 이전/후속 청크를 보유(hold)하는 것으로 예상되는 저장 디바이스를 위한 식별자, 기록 날짜와 시간, 데이터 스트림의 제목과, 첫 번째 및/또는 가장 최근 패킷의 타임 스탬프, 예를 들어 ATS. 이러한 메타 데이터 디스크립터들은 계층 구성, 예를 들어 메타 데이터 디스크립터들과 관련된 청크가 또다른 디스크립터를 인용할 때, 그 메타 데이터 디스크립터와 관련된 스트림을 포함할 수도 있다.
본 발명의 실시예들은 청구항들, 이하의 설명들과 도면들을 통해 개시된다.
본 방법의 예시적인 실시예들에 대한 다음의 설명은 DVD 스트림 기록 표준에 기초하지만, 본 발명에 따른 방법은 스트림 기록을 위한 다른 표준을 따르는 데이터를 위해 이용될 수 있다.
도 1은 본 발명의 예시적인 실시예를 나타내며, 메타 데이터 디스크립터들에 의해 링크된 분산 스트림 오브젝트들을 저장하는 분산 저장 시스템이다. 이러한 경우, 다중 유닛 SOBU#1,...,SOBU#j로 구성되고 두 개의 데이터 청크(18,19)로 분리되는 데이터 스트림의 저장에 두 개의 노드 N1, N2가 이용된다. DVD 스트림 기록 표준은, 64kB 길이의 스트림 오브젝트 유닛(SOBU)들로 구성되는 스트림 오브젝트(SOB)들 각각을 다양한 길이의 애플리케이션 패킷들을 위한 컨테이너로서 정의한다. 도 1에서, 제1 저장 디바이스 N1은, 이용가능한 저장 영역이 있는 SOBU들(SOBU#1,...,SOBU#i-1)을 포함하는 스트림(18)을 기록한다. 또한, 기록하는 동안, 제1 저장 디바이스 N1은, 스트림 오브젝트(18)를 인용하고, 특정한 레이블(label) PlaycellUUID1, PlaycellUUID2로 라벨된 플레이 리스트들과 플레이 셀들을 포함하는 정보 파일(12)과, 예를 들어 프로그램을 위한 다른 네비게이션 정보(14)를 생성하여 저장한다. 정보 파일(12)은 네비게이션 목적을 위한 매핑 리스트(MAPL)를 또한 포함한다. MAPL에서, 각각의 SOBU를 위한 도착 시간 간격들이 포착된다. MAPL은 이러한 시간들을 대응 SOBU의 어드레스로 변환하기 위해 이용되고, SOBU는 특정한 패킷 도착 시간을 갖는 애플리케이션 패킷을 포함한다. 플레이 리스트들은 하나 이상의 플레이 셀들의 시작 및 종료 시간을 포함한다. 또한, 메타 데이터 디스 크립터(10)가 생성되어, 정보 파일(12) 또는 스트림 오브젝트(18)에 각각 첨부된다. 초기에, 메타 데이터 디스크립터(10)는 플레이 셀 레이블 PlaycellUUID1을 포함한다.
제1 저장 디바이스 N1이 기록하고 있는 동안, 다른 접속된 저장 디바이스들은 이용가능한 저장 용량을 모니터할 수도 있다. 대안적으로, 예를 들어 브로드캐스트(broadcast) 메시지는 모든 접속된 저장 디바이스들로 송신되어, 저장 영역을 요구할 수도 있다. 이러한 저장 디바이스들 중 하나인 N2는, 현재의 활성 디바이스 N1의 잠재적인 후임(successor)으로서 선택된다. 그래서, 스트림이 계속되는 동안에 제1 저장 디바이스 N1의 저장 용량이 한계에 도달하면, 다른 저장 디바이스 N2가 스트림을 계속해서 기록하기 위해 활성화된다. 디바이스 N2는, 제1 저장 디바이스에 저장되었으며, 가장 최근에 저장된 유닛 SOBU#i-1에 포함되는 가장 최근의 애플리케이션 패킷의 ATS에 대한 통지를 수신한다. 제2 저장 디바이스 N2는, 제1 저장 디바이스 N1에 의해 저장된 가장 최근의 유닛 SOBU#i-1 다음의 유닛들 SOBU#i,...,SOBU#j로 구성되는 또다른 스트림 오브젝트(19)에 스트림을 계속해서 저장하며, 이러한 스트림 오브젝트(19)는 후속하는 애플리케이션 패킷들을 포함한다. 제2 저장 디바이스는, MAPL(17)과 식별자(15)를 포함하는 정보 파일(13) 및 메타 데이터 디스크립터(11)를 스트림 오브젝트(19)를 위해 생성한다. 메타 데이터 디스크립터(11)는 플레이 셀 레이블 PlaycellUUID1, PlaycellUUID2 뿐만 아니라 이전의 데이터 청크(chunk) 즉, 스트림 오브젝트(18)를 저장하는 다른 저장 디바이스 N1의 메타 데이터 디스크립터(10)를 가리키는 포인터를 포함한다. 마찬가지로, 제1 저장 디바이스 N1내 메타 데이터 디스크립터(10)가 업데이트되어, 메타 데이터 디스크립터(10)는 제2 저장 디바이스 N2를 가리키는 포인터를 포함한다.
본 발명의 실시예에서, 메타 데이터 디스크립터들(10,11)은, 이전 및/또는 후속 SOB가 저장되는 장소, 예를 들어 어드레스, 파일명 또는 경로명에 대한 상세한 정보를 또한 포함할 수도 있다.
분산 저장 시스템을 위한 하나의 필요 조건은, 노드의 저장 용량이 한계에 도달할 때, 파일 분리를 자동으로 자체 구성하는 것이다. P2P 네트워크들에서, 노드들간 메시지들의 자체 제어된 교환은 이러한 일을 위해 이용된다. 도 2는, 기록하는 경우의 간략화된 분산 저장 시스템 모델을 나타내며, 두 개의 저장 노드 N1, N2와, 입력 서비스 IS를 위한 개별적인 노드 N3를 구비한다. 예시적으로, 노드들은 P2P 네트워크에서의 피어들로 추정되어, 이하에서 상술되는 노드들간 버스 커넥션(connection)들은 가상적인 커넥션들이며, 동일한 물리적 커넥션을 이용한다. 데이터는, 예를 들어 라디오 주파수 수신기 RFR을 통해 수신된다. 수신기 노드 N3에서의 입력 서비스 IS, 예를 들어 디코더는 애플리케이션 패킷들을 추출하고, 타임 스탬프들을 포착하며, 패킷들을 저장 노드 N1, N2에 대한 애플리케이션 패킷 버스 APB로 분산시킨다. 저장 노드 N1, N2는 애플리게이션 패킷 버스 APS에 대한 인터페이스들, 입력 버퍼 IB1, IB2와, 스트리밍 데이터의 네비케이션 정보를 생성하고, 애플리케이션 패킷들을, 이용중인 스트림 기록 표준에 따라 스트리밍 패킷들에 통합하는 스트리밍 기록 유닛 SRU1, SRU2, 예를 들어 DVD 스트림 기록 표준용 SOBUs을 구비한다. 각 저장 노드에서의 스트림 기록 유닛 SRU1, SRU2는 저장 미디 어 D1, D2, 예를 들어 광디스크들 또는 하드디스크들에 액세스할 수도 있고, 스트리밍 패킷들을 저장할 수도 있다. 노드 N1...N3는 공통 제어 메시지 버스 CMB와 접속되는 메시지 제어기 MC1...MC3을 구비하여, 제어 메시지들을 교환하고, 필요하다면 기록 및 파일 분리를 구성할 수 있다.
DVD 스트림 기록 표준에 따르면, 시간 정보는 모든 애플리케이션 패킷에 부가되어, 저장된 수송 패킷들의 적절한 실시간 재생을 가능하게 해야 한다. 애플리케이션 타임 스탬프(APS)들의 포착은, 예를 들어, 수신기 RFR로부터 수송 스트림을 수신하여 디코딩하는 입력 서비스 IS에 의해 수행될 수 있다. 저장 노드 N1, N2의 입력 버퍼 IB1, IB2는, 파일 분리가 필요할 때, 하나의 노드에서 다른 노드로 스위칭하기 위한 타임 프레임을 브리지(bridge)하기 위해 이용된다. 도 2에는 도시하지 않았지만, 에러 정정 데이터 등을 부가하여, 애플리케이션 패킷 버스 APB를 위해 임의의 투명한 네트워크 프로토콜을 이용하는 것이 또한 유리할 수도 있다.
또한, 두 개의 저장 노드 N1, N2간의 제어 메시지들이 교환될 수 있으며, 제어 메시지들은 식별자들 또는 생성된 플레이 셀들의 UUIDs를 포함한다. 그러한 UUIDs는 스트림의 분리를 설명하기 위해 이용되며, 관련된 노드들에서의 스트림 오브젝트의 메타 데이터 디스크립터에 기록된다. 이 예에서, 메타 데이터 디스크립터는 스트림 오브젝트처럼 동일한 매체에 저장된다. 전술한 DVD 스트림 기록 표준이 이용되면, 애플리케이션 사설 데이터 필드는 메타 데이터 디스크립터들을 위한 컨테이너로서 이용될 수 있다.
도 3에 도시한 버퍼 시나리오는, 스트림을 기록하는 경우, 하나의 노드에서 다른 노드로 스위칭하는 것을 설명한다. 이러한 예시적인 시나리오에서, 입력 버퍼에서의 데이퍼 스트림의 버퍼링은 초기에 제1 노드 Node_A에서 시간 t0에 시작되었다. 입력 버퍼 필링(filling) Vin-Vout은, 대용량 저장 매체에 버퍼된 데이터의 기록이 시작되는 시간 t1까지 증가한다. 버퍼를 비우고, 버퍼된 데이터를 기록하는 것은, 새로운 데이터를 수신하여 버퍼링하는 것보다 일반적으로 더 빨라, 버퍼 필링은 평균 값 주변에서 변동하지만, 이러한 간략화된 도면에서는 버퍼 필링은 일정하게 유지된다고 추정된다. 저장 노드 Node_A는 그 자신의 사용하고 있지 않는 저장 용량을 모니터한다. 노드 Node_A가 시간 t2에서 용량에 곧 도달할 것임을 인지할 때, 노드 Node_A는 "사용하고 있지 않는 용량에 대한 호출" 메시지를 다른 접속된 노드들 몇몇 또는 모두에게 송신한다. 제2 노드 Node_B가 후임 노드로서 선택된다. P2P 네트워크들에서, 이는 교섭 프로세스에서 이루어질 수도 있다. 다른 경우들에서, 또다른 유닛, 예를 들어 메인 서버는 후임 노드를 선택할 수도 있다. 제2 노드 Node_B가 시간 t3에서 선택되어 통지될 때, 활성 저장 노드 Node_A에 병렬인 스탠바이(stand-by) 노드처럼, Node_B는 입력 스트림을 그 자신의 입력 버퍼에 버퍼하기 시작한다. 스탠바이 노드 Node_B에 버퍼된 데이터는 아직 기록되고 있지 않기 때문에, 버퍼 필링은 증가된다. 버퍼가 시간 t4에서 거의 풀(full)될 때, 활성 노드 Node_A로부터 "풀" 메시지를 수신하기 전에, 가장 오래 버퍼된 데이터는, 예를 들어 링 버퍼에서 덮어쓰기 될 수도 있다. 이 시간 동안, 버퍼 필링은 일정 한데, 버퍼가 풀이거나 거의 풀이기 때문이다.
제1 노드 Node_A는 사용하고 있지 않는 저장 용량이 남아있지 않을 때, 기록을 중지하고, "풀" 메시지를 스탠바이 노드 Node_B로 시간 t5에서 송신한다. 이러한 메시지는 가장 최근에 기록된 애플리케이션 패킷의 애플리케이션 타임 스탬프(APS)를 포함한다. 몇 시간 후인 시간 t6에서, 스탠바이 노드 Node_B는 이러한 메시지를 수신하고, 스탠바이 노드의 저장 구성을 종료한다. 이제부터, 스탠바이 노드는 활성 노드로 간주된다. Node_B는 메시지에 포함된 ATS를 평가하고, 메시지에 포함된 ATS보다 더 높은 ATS를 갖는 버퍼된 애플리케이션 패킷들을 기록하기 시작한다. 다른 애플리케이션 패킷들은 드롭(drop)된다.
기록 프로세스는 입력 버퍼로부터 애플리케이션 패킷들을 판독하는 것을 포함하고, 애플리케이션 패킷들을, 채용된 스트리밍 표준에 따라 스트리밍 패킷들로 통합하며, 스트리밍 패킷들을 저장 매체, 예를 들어 디스크에 기록한다. 그래서, 버퍼 필링은, 상술한 것처럼 평균 레벨에 도착하는 시간 t7까지 감소된다. 이러한 레벨은, 예를 들어 프로그램되거나 하드웨어적으로 정의될 수도 있다. 입력 버퍼 Bmax는, "풀" 메시지를 t5에서 송신하는 제1 노드 Node_A와 t6에서 기록하기 시작하는 제2 노드 Node_B 간의 시간을 브리지하기 충분한 크기를 갖는다. 이러한 시간은, 상술한 메시징과, 제2 노드 Node_B에서의 기록 프로세스의 준비 및 구성을 또한 포함한다. 버퍼는 이러한 타임 프레임 동안에 수신된 모드 애플리케이션 패킷들을 보유(hold)할 수 있어야 한다.
분산 저장 시스템에 저장된 스트리밍 데이터의 연속적인 재생을 위하여, 출력 버퍼들은, 노드들 사이를 스위칭할 때, 타임 슬롯(slot)을 브리지할 필요가 있다. 도 4는 재생하는 경우의 간략화된 분산 저장 시스템 모델을 나타내며, 두 개의 저장 노드 N1, N2와 디스플레이 서비스 DS를 위한 노드 N3, 예를 들어 모니터를 구비한다. 저장 노드 N1, N2는 애플리케이션 패킷 버스 APB를 위한 인터페이스들, 출력 버퍼 OB1, OB2, 버퍼 제어 유닛 BCU1, BCU2 및 저장 미디어 D1, D2에 접속되는 재생 유닛 PU1, PU2를 구비한다. 재생 유닛 PU1, PU2는 저장 미디어 D1, D2로부터 판독되는 스트리밍 패킷들을 애플리케이션 패킷들로 다시 변환한다. 또한, 모든 노드들은 제어 메시지 버스 CMB에서 제어 메시지들을 교환할 수도 있는 메시지 제어기 MC1,,,MC3을 포함한다. 출력 버퍼 OB1, OB2는 두 개의 기능을 구비한다: 노드들 사이의 스위칭 동안에 애플리케이션 패킷 데이터를 연속적으로 제공하는 첫 번째 기능과, 재생 유닛 PU1, PU2에 의해 공급된 데이터 전송율을 요구되는 애플리케이션 패킷 데이터 전송율로 매치(match)하는 두 번째 기능. 예를 들어, 제1 노드 N1의 저장 매체 D1로부터 판독된 데이터가 다시 플레이되면, 각각의 플레이 리스트와 관련된 메타 데이터 태그(tag)는, 스트림이 매체 D1에 완전하게 저장되지 않지만, 동일한 스트림의 후속 청크는 다른 노드 N2에 저장됨을 의미할 수도 있다. 메타 데이터 태그는 가장 최근에 저장된 애플리케이션 패킷의 ATS와, 다른 플레이 셀의 식별자를 또한 포함한다. 메타 데이터 태그는, 데이터가 저장되는 장소에 대한 좀더 상세한 정보를 또한 포함할 수도 있다.
제1 노드 N1이 그 자신의 데이터 청크를 공통 커넥션, 예를 들어 애플리케이 션 패킷 버스 APB에서 다시 재생하는 동안, 메시지 제어기 MC1은 메시지를 다른 노드의 메시지 제어기 MC2에 송신하여, 각각의 후속 데이터 스트림의 재생을 위한 준비를 요구한다. 이러한 메시지를 수신한 다른 노드 N2는, 저장 매체 D2로부터 데이터 판독을 시작하여, 애플리케이션 패킷들을, 메시지 제어기 MC2가 활성 노드 N1로부터 "엠프티(empty)" 메시지를 수신할 때까지 출력 버퍼 OB2에 버퍼할 수도 있다. 활성 재생 유닛 PU1이 마지막 애플리케이션 패킷을 출력 버퍼 OB1에 기록할 때, 활성 노드 N1은 "엠프티" 메시지를 다른 노드 N2에 송신한다. 이러한 메시지를 수신한 다른 노드 N2는 활성 노드가 된다. 그래서, 제2 노드 N2는 버스 APB에서 애플리케이션 패킷들의 ATS들을 모니터하고, 버퍼 제어 유닛 BCU2를 이용한다. 가장 최근의 패킷이 검출되면, 버퍼 제어 유닛 BCU2는, 출력 버퍼 OB2가 그 자신의 콘텐츠를 버스 APB에 출력하게 하고, 또한 재생 유닛 PU2가 저장 매체 D2로부터 출력 버퍼 OB2로 많은 데이터를 판독하게 한다.
도 5에 도시한 버퍼 시나리오는, 재생 동작하는 경우에 하나의 노드에서 다른 노드로 스위칭하는 분산 스트림 기록을 설명한다.
스트림의 재생은 초기에 제1 노드 Node_A에서 시간 t0에 시작된다. 사용된 버퍼 필링 전략에 의존하여, 고속의 디스크 판독 프로세스는, 버퍼가 시간 t1에서 준안정 상태에 도달하기 전에, 변하기 쉬운 버퍼 필링처럼 나타낸 버스티(bursty) 데이터 동작이 될 수도 있다. 상술한 데이터 버스트(burst)들 때문에, 버퍼 필링은 상술한 것처럼 항상 준안정 상태 주변에서 변한다. 스트림 분리를 특정하는 메 타 데이터 디스크립터로부터, 제1 노드 Node_A는, 다른 노드 Node_B가 스트리밍 데이터의 그 다음 부분을 보유하는 후임 노드인지를 알거나 또는 요청에 의해 발견할 수도 있다. 시간 t2에서, 가장 최근의 패킷이 활성 노드 Node_A에서 판독되고 버퍼되며, Node_A는 "후임 노드를 위한 호출" 메시지를 다른 노드 Node_B로 송신하고, 메시지는 가장 최근의 애플리케이션 패킷의 타임 스탬프 값을 포함한다. 후임 노드 Node_B는 그 메시지를 수신하고, 재생 프로세스를 준비하며, 애플리케이션 패킷들을 시간 t3에서 버퍼하기 시작한다. 출력 버퍼 OB2의 필링은 이때부터 증가한다. 노드들 사이를 스위칭할 때 균일한 재생을 획득하기 위하여, 후임 노드 Node_B는, 활성 노드 Node_A에 의해 송신된 애플리케이션 패킷들을 애플리케이션 패킷 버스 APB로부터 판독하고, 타임 스탬프들을 평가한다. 버퍼 제어 유닛 BCU2는 이러한 ATS들을 "후임 노드를 위한 호출" 메시지로부터의 ATS와 비교한다. 이러한 타임 스탬프들이 동일하면, 제1 노드 Node_A의 출력 버퍼 OB1은 시간 t4에서 엠프티이고, 출력 버퍼 OB2는 그 자신의 패킷들을 현재 패킷의 종료후에 버스 APB로 전송함을 의미하여, 디스플레이 노드 N3의 디스플레이 서비스 DS는 두 개의 저장 노드 N1, N2로부터 애플리케이션 패킷들을 심리스하게 수신한다. 출력 버퍼 OB1, OB2의 크기가 계산되어, 후임 노드에서의 재생 프로세스의 메시징과 구성을 위한 시간이 브리지될 수도 있다.
이하에서, 스트림의 분산 청크들의 심리스 재생을 위한 해결책들인, 본 발명의 두 개의 실시예들이 설명된다.
도 6은 두 개의 저장 노드 N1, N2와 디스플레이 서비스를 위한 하나의 노드 N3을 구비하여 재생하는 간략한 분산 저장 시스템 모델을 나타낸다. 대응적으로, 이러한 모델은 기록을 위해 이용될 수도 있다. 이러한 모델에서, 스트림의 모든 부분들은 하나의 노드 N1을 통해 라우트(route)되고, 단지 하나의 버퍼 제어 유닛 BCU1만이 활성화된다. 노드 N1이 스트림의 심리스 재생을 제어하는 반면, 다른 노드 N2는 그 자신의 애플리케이션 패킷들을 애플리케이션 패킷 버스 APB가 아니라 활성 버퍼 제어 유닛 BCU1로 송신한다. 전술한 것처럼, P2P 네트워크들의 경우, 이러한 가상 확장 버스 XB는 동일한 물리적 커넥션이다.
유사하게, 도 7은 두 개의 저장 노드 N1, N2와 디스플레이 서비스를 위한 하나의 노드 N3을 구비하여 재생하는 또다른 간략한 분산 저장 시스템 모델을 나타낸다. 이러한 모델에서, 버퍼링은 디스플레이 서비스 노드 N3에서 수행되며, 노드 N3은 스트림의 심리스 재생을 제어한다. 이러한 해결책으로, 데이터를 비(非)저장 노드에 버퍼하는 것이 필요하다. 디스플레이 서비스 노드 N3에서의 메시지 제어기 MC3은 메시지를 활성 저장 노드 N1로부터 수신하며, 메시지는 노드 N1의 마지막 애플리케이션 패킷의 ATS를 나타낸다. 버퍼 제어 유닛 BCU3은 버퍼된 애플리케이션 패킷들의 타임 스탬프들을 모니터하고, 활성 저장 노드 N1로부터 가장 최근 패킷의 수신이 검출되었을 때, 메시지가 후임 노드 N2의 메시지 제어기 MC2로 송신되며, 후임 노드 N2는, 저장 매체 D2로부터 애플리케이션 패킷들을 차례로 검색하여 디스플레이 서비스 노드 N3의 입력 버퍼 IB3에 송신하기 시작한다. 입력 버퍼 IB3은 충분한 애플리케이션 패킷들을 보유하여, 요구되는 메시징과 데이터 검색 시간을 브리지할 수 있어야 한다.
본 발명에 따른 방법은, 애플리케이션 데이터 패킷들의 식별을 위한 타임 스탬프들 대신에 단조로운 시리즈(series)의 번호들, 예를 들어 순서 번호들이 이용되는 시스템들에도 또한 이용될 수도 있다. 이러한 경우에, 번호들은, 랩-어라운드(wrap-around) 이후의 오역을 방지할 만큼 길어야 하며, 예를 들어 TCP/IP 패캣의 경우 32비트 이상이어야 한다.
본 발명의 실시예에서, 서로 다른 저장 디바이스들이 동일한 디바이스, 예를 들어 다중 하드디스크들 또는 멀티미디어 리코더내 다른 마그네틱 디스크들에 위치한다.
본 발명의 실시예에서, 기록이 수행되어, 제2 저장 디바이스는 데이터 버퍼링을 시작하는 시간에 대한 메시지를 구비하지 않을 수도 있다. 그 대신, 제2 저장 디바이스는 입력 데이터를 연속적으로 버퍼한다. 이러한 경우, 저장되는 첫 번째 버퍼된 애플리케이션 패킷을 식별하는 메시지를 수신하는 것으로 충분하다.
본 발명의 실시예에서, 메타 데이터 디스크립터는, 이전 및/또는 후속 청크들을 보유하는 것으로 예상되는 저장 디바이스를 위한 식별자를 포함한다.
본 발명의 실시예에서, 메타 데이터 디스크립터는, 이전 및/또는 후속 청크가 저장되는 장소, 예를 들어 어드레스, 파일명 또는 경로명에 대한 상세한 정보를 또한 포함할 수도 있다.
본 발명의 실시예에서, 데이터 스트림은, 제1 저장 매체가 풀일 때 뿐만 아 니라 다른 원인들, 예를 들어 제1 저장 디바이스에서의 기록 문제들 때문에 분리될 수도 있다.
본 발명에 따른 방법은, 식별자들을 구비한 패킷들과 같은 식별가능한 유닛들로 구성되는 임의의 데이터 스트림을 다수의 저장 디바이스에/에서 저장 및 검색하는데 적합하다. 또한, 데이터 검색은 임의의 목적, 예를 들어 복사, 인코딩, 전송 또는 재생(replaying)에 공헌할 수도 있다.

Claims (10)

  1. 입력되는 데이터 스트림(incoming data stream)을 저장하기 위한 방법으로서,
    상기 데이터 스트림은 식별가능한 데이터 유닛들로 구성되고,
    상기 방법은,
    제1 저장 디바이스(N1)에서 상기 데이터 스트림의 제1 부분(18)을 제1 저장 매체(D1)에 저장하고, 상기 데이터 스트림의 제1 부분(18)과 관련된 제1 데이터 세트(10) - 상기 데이터 세트(10)는 상기 데이터 스트림의 제1 부분을 위한 식별자(PlaycellUUID1)를 포함함 - 를 생성하여 저장하는 단계,
    하나 또는 그 이상의 다른 저장 디바이스들로부터 데이터를 수신하기 위해 상기 제1 저장 디바이스(N1)로부터 상기 하나 또는 그 이상의 다른 저장 디바이스들로 저장 영역을 위한 요청을 송신하는 단계,
    상기 제1 저장 디바이스(N1)에서 상기 하나 또는 그 이상의 다른 저장 디바이스들로부터의 하나 또는 그 이상의 응답들을 수신하는 단계,
    그로부터 상기 응답이 수신되었던 상기 하나 또는 그 이상의 다른 저장 디바이스들로부터 제2 저장 디바이스(N2)를 선택하는 단계,
    상기 제1 디바이스(N1)의 잔여 사용하지 않은 저장 영역(remaining free storage area)이 임계 이하일 때, 선택된 제2 저장 디바이스(N2)에서 상기 제1 저장 디바이스(N1)와 병렬로 상기 입력되는 데이터 스트림을 제2 저장 매체(IB2)에 버퍼링하는 단계,
    상기 제1 저장 디바이스(N1)가 풀(full)일 때, 상기 제1 저장 디바이스(N1)로부터 상기 제2 저장 디바이스(N2)로 상기 제1 저장 매체(D1)에 저장된 가장 최근의 데이터 유닛(the last data unit)(SOBU#i-1)을 위한 식별자를 (CMB상에서) 송신하고, 상기 식별자를 상기 제1 데이터 세트(10)와 함께 상기 제1 저장 디바이스(N1)에 저장하는 단계,
    상기 제2 저장 디바이스(N2)의 상기 제2 저장 매체(IB2)에서, 저장된 데이터 스트림내에서, 상기 제1 저장 매체(D1)에 저장된 가장 최근의 데이터 유닛(SOBU#i-1)을 위한 식별자를 검출하는 단계,
    상기 검출시, 상기 제2 저장 디바이스(N2)의 제3 저장 매체(D2)에 후속 데이터 유닛들을 포함하는 데이터 스트림의 제2 부분(19)을 저장하고, 상기 데이터 스트림의 제2 부분(19)과 관련된 제2 데이터 세트(11) - 상기 데이터 세트(11)는 상기 데이터 스트림의 제2 부분을 위한 식별자(PlaycellUUID2)를 포함함 - 를 생성하여 저장하는 단계, 및
    상기 식별자들(PlaycellUUID1,PlaycellUUID2) 중 적어도 하나를 다른 데이터 세트(10,11)와 함께 다른 저장 디바이스(N1,N2)에 저장하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 하나 또는 그 이상의 다른 저장 디바이스들로부터 제2 저장 디바이스(N2)를 선택하는 단계는, 사용하지 않은 저장 용량(free storage capacity), 가능한 기록 속도 또는 저장될 콘텐츠의 유형에 기초하는 방법.
  3. 인접하는(contiguous) 데이터 스트림의 연속적인 부분들(successive portions)을 복수의 저장 디바이스들로부터 검색하기 위한 방법으로서,
    상기 데이터 스트림은 패킷들과 같은 식별가능한 데이터 유닛들로 구성되고,
    상기 방법은,
    상기 데이터 스트림의 제1 부분을 제1 저장 디바이스(N1)로부터 검색하여 이를 출력 버스(APB)로 전송하는 단계,
    상기 제1 저장 디바이스(N1)에서 상기 데이터 스트림의 제1 부분과 관련된 데이터 세트(10) - 상기 데이터 세트는 제1 및 제2 식별자를 포함하며, 상기 제1 식별자는 상기 데이터 스트림의 제1 부분을 위한 식별자(PlaycellUUID1)이거나 상기 데이터 스트림의 제2 부분을 위한 식별자(PlaycellUUID2)이며, 상기 제2 식별자는 상기 데이터 스트림의 상기 제1 부분에 포함된 가장 최근의 데이터 유닛을 위한 식별자임 - 를 검색하는 단계,
    상기 제1 및 제2 식별자들을 상기 제1 저장 디바이스(N1)로부터 상기 복수의 저장 디바이스들 중 다른 하나에 (CMB상에서) 송신하는 단계,
    수신된 제1 식별자(PlaycellUUID1,PlaycellUUID2)에 의해 식별된 상기 데이터 스트림의 제2 부분이 저장 매체(D2)로부터의 검색을 위해 이용가능한 것인지를 제2 저장 디바이스(N2)에서 검출하는 단계,
    상기 제2 저장 디바이스(N2)에서 적어도 상기 데이터 스트림의 제2 부분의 시작을 저장 매체(D2)로부터 검색하여 이를 다른 저장 매체(OB2)에 저장하는 단계,
    상기 제2 저장 디바이스(N2)에서 상기 제1 저장 디바이스(N1)의 출력 커넥션(output connection)을 (APB상에서) 모니터링하는 단계,
    상기 모니터링에 기초하여, 상기 제2 저장 디바이스(N2)에서 상기 데이터 스트림의 제1 부분의 가장 최근의 데이터 유닛이 상기 출력 커넥션으로 (APB상에서) 전송되는 때를 검출하는 단계, 및
    상기 검출시, 상기 데이터 스트림의 제2 부분을 상기 다른 저장 매체(OB2)로부터 판독하여 이를 상기 출력 커넥션으로 (APB상에서) 전송하는 단계
    를 포함하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 데이터 스트림의 제1 부분과 관련된 상기 데이터 세트(10)는 제2 저장 디바이스(N2)를 위한 식별자를 더 포함하는 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 저장 매체는 메모리들(IB1,IB2,OB1,OB2)과 광 또는 마그네틱 디스크들(D1,D2)을 포함하는 방법.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 저장 디바이스들(N1,N2)은 네트워크에서의 노드들인 방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 식별가능한 데이터 유닛들은 수치값들의 단조 시리즈(monotonous series) 또는 타임 스탬프들을 포함하는 방법.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 저장 디바이스(N1)로부터 상기 제2 저장 디바이스(N2)로 송신된 메시지는 상기 데이터 스트림의 제2 부분의 저장 위치에 관한 정보를 포함하는 방법.
  9. 데이터 스트림을 저장하기 위한 장치로서,
    상기 장치는 비집중형 네트워크(decentralized network)에서의 노드이고, 상기 데이터 스트림은 식별가능한 데이터 유닛들로 구성되며,
    상기 장치는,
    통지의 수신시, 수신된 데이터 스트림의 일부분을 버퍼링하기 위한 메모리인 제1 저장 매체(IB2),
    상기 제1 저장 매체(IB2)로부터 판독된 데이터를 제2 저장 매체(D2)로 전송하기 위한 수단(SRU2),
    상기 비집중형 네트워크에서의 다른 노드로부터 저장 영역을 위한 요청을 수신하고, 상기 요청에 응답하고, 다른 노드에 저장된 가장 최근의 데이터 유닛을 위한 식별자를 상기 다른 노드로부터 수신하기 위한 수단(MC2) - 상기 수단(MC2)은 또한 상기 제2 저장 매체(D2)의 잔여 사용하지 않은 저장 영역이 임계 이하일 때 상기 비집중형 네트워크에서 하나 또는 그 이상의 노드들로 저장 영역을 위한 요청을 송신하고, 서로 다른 디바이스들로부터 복수의 응답들을 수신하며, 상기 응답들의 평가에 기초하여 상기 응답 디바이스들 중 하나를 선택할 수 있음 -,
    상기 수신된 식별자에 의해 식별된 데이터 유닛이 상기 제1 저장 매체(IB2)에 저장되는지를 검출하기 위한 수단,
    상기 수신된 식별자에 의해 식별된 상기 데이터 유닛의 검출시, 상기 제1 저장 매체(IB2)로부터 제2 저장 매체(D2)로 상기 데이터 유닛에 후속하는 데이터 유닛들의 전송을 개시하기 위한 수단, 및
    상기 데이터 스트림과 관련된 데이터 세트(11) - 상기 데이터 세트(11)는 상기 데이터 스트림을 위한 식별자(PlaylistUUID), 상기 제2 저장 매체(D2)에 저장된 가장 최근의 데이터 유닛을 위한 식별자, 및 상기 다른 노드에 저장된 데이터 스트림의 식별자를 포함함 - 를 생성하여 저장하기 위한 수단
    을 포함하는 장치.
  10. 데이터 스트림의 일부분을 검색하기 위한 장치로서,
    상기 장치는 비집중형 네트워크에서의 노드이고, 상기 데이터 스트림은 식별가능한 데이터 유닛들로 구성되며,
    상기 장치는,
    제1 저장 매체(D2)로부터 데이터를 판독하기 위한 수단(PU2),
    메모리인 제2 저장 매체(OB2),
    상기 비집중형 네트워크에서의 다른 노드로부터, 상기 다른 노드에 저장된 상기 데이터 스트림의 제1 부분을 위한 식별자인 제1 식별자, 및 상기 데이터 스트림의 제1 부분에 포함된 가장 최근의 데이터 유닛을 위한 식별자인 제2 식별자를 수신하기 위한 수단(MC2),
    상기 제1 저장 매체(D2)로부터 판독된 데이터를 상기 제2 저장 매체(OB2)로 전송하기 위한 수단 - 상기 수단은 수신된 제1 식별자에 의해 식별된 상기 데이터 스트림의 제2 부분이 상기 제1 저장 매체(D2)로부터의 검색을 위해 이용가능한 것을 검출한 경우, 상기 제1 저장 매체로부터 판독된 상기 데이터 스트림의 시작을 상기 제2 저장 매체(OB2)로 초기에(initially) 전송함 -
    데이터 커넥션으로부터 (APB상에서) 데이터를 수신하기 위한 수단(IB2),
    상기 데이터 커넥션으로부터 (APB상에서) 상기 수신된 데이터를 모니터링하고, 상기 데이터 스트림의 제1 부분에 포함된 가장 최근의 데이터 유닛이 상기 데이터 커넥션에서 (APB상에서) 수신되는지를 검출하고, 검출되면, 상기 제1 저장 매체(D2)로부터 상기 제2 저장 매체(OB2)로 데이터 유닛들의 전송을 개시하기 위한 수단(BCU2), 및
    상기 제2 저장 매체(OB2)로부터 상기 데이터 커넥션으로 (APB상에서) 데이터 유닛들을 출력하기 위한 수단
    을 포함하는 장치.
KR1020040065718A 2003-08-21 2004-08-20 데이터 스트림의 심리스 실시간 분리 및 연결을 위한 방법 KR101012187B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03018986.4 2003-08-21
EP03018986A EP1508862A1 (en) 2003-08-21 2003-08-21 Method for seamless real-time splitting and concatenating of a data stream

Publications (2)

Publication Number Publication Date
KR20050020691A KR20050020691A (ko) 2005-03-04
KR101012187B1 true KR101012187B1 (ko) 2011-02-07

Family

ID=34042883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040065718A KR101012187B1 (ko) 2003-08-21 2004-08-20 데이터 스트림의 심리스 실시간 분리 및 연결을 위한 방법

Country Status (7)

Country Link
EP (2) EP1508862A1 (ko)
JP (1) JP4657652B2 (ko)
KR (1) KR101012187B1 (ko)
CN (1) CN1585027B (ko)
DE (1) DE602004012370T2 (ko)
MY (1) MY137663A (ko)
TW (1) TWI345410B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5265920B2 (ja) * 2004-12-06 2013-08-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数の記憶媒体にインターラクティブ性を拡張する方法と装置
EP2182464B1 (en) * 2008-11-04 2018-04-04 Amadeus S.A.S. Method and system for storing and retrieving information
CN101770504B (zh) * 2009-12-29 2012-08-29 成都市华为赛门铁克科技有限公司 数据存储、读取方法及设备
US10061791B2 (en) * 2013-10-30 2018-08-28 Microsoft Technology Licensing, Llc Data management for connected devices
US10657087B2 (en) * 2018-05-31 2020-05-19 Toshiba Memory Corporation Method of out of order processing of scatter gather lists

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134596A (en) 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07220388A (ja) * 1994-01-28 1995-08-18 Sony Corp 記録情報再生方法及び装置
US5583868A (en) * 1994-07-25 1996-12-10 Microsoft Corporation Method and system for combining data from multiple servers into a single continuous data stream using a switch
US5712976A (en) * 1994-09-08 1998-01-27 International Business Machines Corporation Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes
JP3100307B2 (ja) * 1995-03-14 2000-10-16 日本ビクター株式会社 圧縮データ連続再生システム
US6134590A (en) * 1996-04-16 2000-10-17 Webtv Networks, Inc. Method and apparatus for automatically connecting devices to a local network
JP3640114B2 (ja) * 1996-11-27 2005-04-20 ソニー株式会社 データ記録再生装置および方法
JP3788677B2 (ja) * 1997-11-14 2006-06-21 富士通株式会社 連続録画システム及び方法並びに長時間録画プログラムを記録したコンピュータ読み取り可能な記録媒体
EP0942416B1 (en) * 1998-03-10 2003-11-12 Matsushita Electric Industrial Co., Ltd. Apparatus and method for recording data in the residual recording capacity of recording media
JP3627503B2 (ja) * 1998-03-31 2005-03-09 日本ビクター株式会社 撮像装置
JPH11339447A (ja) * 1998-05-29 1999-12-10 Sony Corp 記録再生装置
JP2001086462A (ja) * 1999-09-17 2001-03-30 Sharp Corp 動画像記録装置及び動画像再生装置
JP2001093226A (ja) * 1999-09-21 2001-04-06 Sony Corp 情報通信システムおよび方法、ならびに、情報通信装置および方法
JP2002176609A (ja) * 2000-08-25 2002-06-21 Matsushita Electric Ind Co Ltd データ受信再生方法及びデータ受信再生装置
JP3677205B2 (ja) * 2000-11-08 2005-07-27 株式会社東芝 複数記録面対応の情報記録装置及び複数記録面対応の情報記録方法
JP2003051176A (ja) * 2001-08-07 2003-02-21 Matsushita Electric Ind Co Ltd 映像記録再生装置および映像記録再生方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134596A (en) 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates

Also Published As

Publication number Publication date
EP1531408A3 (en) 2006-01-04
KR20050020691A (ko) 2005-03-04
TW200511832A (en) 2005-03-16
EP1508862A1 (en) 2005-02-23
MY137663A (en) 2009-02-27
EP1531408A2 (en) 2005-05-18
DE602004012370D1 (de) 2008-04-24
JP2005071373A (ja) 2005-03-17
JP4657652B2 (ja) 2011-03-23
CN1585027A (zh) 2005-02-23
TWI345410B (en) 2011-07-11
DE602004012370T2 (de) 2009-04-02
CN1585027B (zh) 2012-03-21
EP1531408B1 (en) 2008-03-12

Similar Documents

Publication Publication Date Title
US7480441B2 (en) Method for seamless real-time splitting and concatenating of a data stream
US8615602B2 (en) Method and device for recording or playing back a data stream
US6429364B1 (en) Data transmitting/receiving device and method
US6763429B1 (en) Method and apparatus for recording and playing back information
US7254702B2 (en) Method of distributed recording whereby the need to transition to a second recording device from a first recording device is broadcast by the first recording device
CA2475144C (en) Method for reproducing data recorded on an interactive recording medium in conjunction with associated auxiliary data recorded in multiple locations
US7742369B2 (en) Content reproduction system, content reproduction apparatus, and content reproduction method
CN102290076B (zh) 光学式记录介质的再现装置以及光学式记录介质的再现方法
WO2012089096A1 (zh) 一种媒体内容的存储方法、读取方法、装置和系统
KR101012187B1 (ko) 데이터 스트림의 심리스 실시간 분리 및 연결을 위한 방법
US6125428A (en) Apparatus for reproducing multimedia data, method for reproducing multimedia data, and record media containing multimedia data reproduction program
CN101895736A (zh) 媒体流数据处理方法及其装置
US20040103445A1 (en) Method for reproducing contents information in interactive optical disc device and method for providing contents information in contents provider server
US7058290B1 (en) Method for supporting a still picture of data stream recorded in a disk recording medium
JPH11353778A (ja) 記録装置および記録方法
CN1883203B (zh) 运动图象发送系统
KR20020006668A (ko) 실시간 파일을 전송하기 위한 방법
JP2005071373A5 (ko)
KR20020044573A (ko) 오디오/비디오 데이터 및 비-오디오/비디오 데이터를저장하기 위한 디바이스
CN114339109A (zh) 一种基于跨存储资源跨网络跨文件的录像级联方法
WO2009064047A1 (en) Method for editing digital moving picture files in settopbox

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: 20131219

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151223

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180103

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 10