KR20180052603A - 카메라로부터 신호들을 보안 전송하기 위한 시스템 및 방법 - Google Patents

카메라로부터 신호들을 보안 전송하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20180052603A
KR20180052603A KR1020187003826A KR20187003826A KR20180052603A KR 20180052603 A KR20180052603 A KR 20180052603A KR 1020187003826 A KR1020187003826 A KR 1020187003826A KR 20187003826 A KR20187003826 A KR 20187003826A KR 20180052603 A KR20180052603 A KR 20180052603A
Authority
KR
South Korea
Prior art keywords
file
storage network
camera
individual pieces
video signal
Prior art date
Application number
KR1020187003826A
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 KR20180052603A publication Critical patent/KR20180052603A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/234318Processing 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 by decomposing into objects, e.g. MPEG-4 objects
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

본 발명에 따르면, 카메라로부터의 신호를 보안 전송하는 방법은, 카메라 내부의 프로세싱 유닛들로부터 출력 비디오 신호들을 개별 피스들(discrete pieces)으로 분리하는 단계; 및 상기 개별 피스들을 다수의 전송 스트림들 사이에서 다수의 저장 노드들로 분산시키는 단계를 포함하며, 그 어떤 전송 스트림도 미디어 파일들을 재구성하기 위한 충분한 데이터를 갖지 않는다. 바람직한 실시예에서, 다수의 저장 노드들은 다양한 지리적 위치들에 배치된다. 바람직하게는, 개별 피스들들에 대한 에러 정정 코딩이 존재한다.

Description

카메라로부터 신호들을 보안 전송하기 위한 시스템 및 방법
일반적으로, 본 발명은 IP 카메라에 관한 발명이며, 특히 비디오 신호의 안전한 데이터 저장 및 전송을 위한 IP 카메라 시스템에 관한 발명이다.
일반적으로 IP(인터넷 프로토콜) 보안 카메라는 카메라를 사용하여 캡처한 비디오 파일을 네트워크를 통해 지속적으로 브로드캐스트하기 위해 구현된다. 아날로그-디지털 비디오 레코더(DVR)와 함께 사용되는 아날로그 카메라는 동일한 결과를 제공하고 네트워크를 통해 비디오 파일을 브로드캐스트하도록 구성될 수 있다.
IP 카메라와 관련된 여러 가지 장점과 단점들이 존재한다. 마찬가지로 아날로그 기반 카메라 시스템 역시 IP 카메라에 비해 장점과 단점을 가지고 있다. 카메라의 모양, 스타일 또는 크기에 관계없이 내용물은 모두 내부가 동일하지만 약간 다른 구성요소들(이하, '구성요소' 또는 '컴포넌트'라 함)이 사용된다. 서로 다른 카메라 유형들의 다양한 내부 동작의 다음에 후술될 것이다.
당 업계의 기술자라면 이해할 수 있는 바와 같이, 아날로그 보안 카메라(105)는 종종 4 개의 메인 구성요소로 구성되는바, 도 1에 도시된 바와 같이 홀더(110)에 들어맞는 렌즈(105), 이미지 센서(115) 및 DSP(디지털 신호 프로세서)(120)를 포함한다. 이미지 센서의 가장 일반적인 유형은 CMOS(상보적 금속-산화물 반도체: complementary metal-oxide-semiconductor) 및 CCD(전하 결합 소자: charge coupled device)이다. CCD 센서는 균일한 출력을 가지므로 일반적으로 저잡음(noise: 이하, 잡음 또는 노이즈라 함)인 양호한 이미지 품질을 갖는다. 반면에, CMOS 센서는 균일성이 훨씬 저조하여 이미지 품질이 떨어지며 이미지의 노이즈가 증가하는 경향이 있다. CCD 센서는 빛에 더 민감하고 CMOS 센서는 저잡음 이미지를 생성하기 위해 더 많은 빛을 필요로 한다. CCD 및 CMOS 카메라의 구조는 당업자에 의해 이해될 것이다.
IP 카메라 기술은 일반적으로 CCD 또는 CMOS 센서를 사용한다. CMOS 센서는 CCD보다 약간 더 저가인 경향이 있는데, 이는 시장에서 대부분의 IP 카메라가 현재 CMOS 인 이유이다. IP 카메라 제조사는 휴대 전화 제조업체가 사용하는 것과 동일한 CMOS 이미지 센서를 사용하고 있다. 휴대 전화 산업에서 CMOS 이미지 센서가 매우 많이 사용되기 때문에 CMOS 비용이 저렴해졌다.
DSP(디지털 신호 프로세서)는 대부분의 카메라의 "두뇌"이다. 이것은 이미지 센서로부터 미가공(raw) 아날로그 이미지 데이터를 가져와서 디지털 신호로 변환한다. DSP는 디지털 노이즈 감소 및 넓은 동적 범위와 같은 카메라의 고급 기능을 허용한다. 카메라에 DSP가 포함되어 있고 신호를 아날로그 전송 매체를 통해 전송하도록 구성된 경우, 이미지는 예컨대 동축 케이블을 통해 전송되도록 다시 아날로그로 변환된다. 예를 들어, 도 1은 BNC 아날로그 비디오 출력 커넥션(125)을 포함하는 아날로그 카메라를 도시한다. 이 프로세스의 단점은 이미지 품질이 악화된다는 것이다. 데이터가 인코딩되거나 디코딩될 때마다 일부 데이터 비트가 손실되어 이미지 선명도가 저하된다. 떨어집니다. 실제로 DSP는 카메라로부터 비디오 출력을 획득하는데 필수적인 것은 아니며, DSP는 때로는 야간, 컬러 및 기타 일반적인 산업상 요구사항 하에서 비디오 이미지 품질을 향상시키는 사용된다.
카메라 내부에 구성요소가 많을수록 카메라가 더 비싸진다. 저렴한 가격인 많은 아날로그 카메라가 시장에 나와 있다. 이러한 카메라는 DSP 없이, CMOS 이미지 센서를 사용하는 경우가 많다.
또한 IP 보안 카메라의 기술은, IP 네트워크를 통한 전송을 위해 비디오를 캡처하는데 종종 사용되는 기존의 컴퓨터 웹캠과 다를 수 있다. 일반적으로, 컴퓨터 웹캠은 이미지 센서만을 포함하는데, 이러한 이미지 센서는 미가공(raw) 비디오 파일을 캡처하고 USB 케이블을 통해 데이터를 전송한다. 또한, 웹캠은 컴퓨터(카메라가 아닌) 상에서 실행되는 소프트웨어 어플리케이션을 종종 필요로 하는데, 이는 컴퓨터 프로세서를 사용하여 아날로그 비디오 신호를 디지털 형식으로 인코딩한다. 이와 달리, IP 카메라는 종종 디지털 인코딩, 디코딩, 알고리즘 처리 등을 구현하는 데 필요한 자체 CPU(중앙 처리 장치) 및 구성요소를 갖추고 있다.
도 2는 IP 카메라(200)의 예시적인 구성을 나타내는 하이 레벨 도면이다. 카메라의 아날로그 구성요소들(205)은 점선으로 둘러싸여 있고, 나머지 구성요소는 IP 카메라의 IP 연결을 용이하게 하고 그리고 캡처된 이미지를 IP 네트워크 연결(240)을 통해 전송하도록 제공된다. IP 보안 카메라는 종종 웹 서버에 연결된다. 달리 말하면, 이것은 컴퓨터와는 독립적으로 비디오를 스트리밍할 수 있다. 이것은, 컴퓨터와 유사하게, 비디오 압축을 수행하고, 웹 서버 펌웨어를 호스트하고, 디인터레이스(de-interlace) 프로프로세싱을 수행하고, 노이즈 필터링, 기타 등등(해당 기술분양의 당업자에게 이해되는 바와 같이)을 수행하기 위해 메모리 구성요소들(예를 들어, 메모리/스토리지 225 및 플래시 메모리 230) 및 CPU(220)가 IP 카메라 내에 존재하는 이유이다.
종종, IP 카메라들은 감시 녹화를 위해 디지털 비디오 레코더에 직접 연결되지 않으며, 오히려 라우터를 통해 근거리 통신망(LAN) 또는 광역 네트워크(WAN)에 연결된다. 예를 들어,도 3은 연결된 라우터(310)를 포함하는 네트워크(315)에 의해 연결된 다수의 IP 카메라들(300)을 포함하는 로컬 네트워크의 통상적인 구성을 예시한다. 도 3에 도시된 바와 같이, 컴퓨터 또는 독립형 NVR(network video recorder: 네트워크 비디오 레코더)(315)가 동일한 네트워크(315)에 또한 연결되며, 그리고 네트워크를 통해 비디오 스트리밍을 픽업하고 이러한 디지털 스트림을 사용하여 이를 하드 드라이브(미도시) 상에 디지털로 기록하도록 구성될 수 있다.
다시 도 2를 참조하면, 비디오 오디오 코덱(210)은 카메라에 의해 캡처된 비디오 데이터 파일을 취하며 그리고 특정 유형의 압축 알고리즘을 사용하여 비디오 데이터 파일을 디지털 방식으로 압축한다. 일부 IP 카메라는 다중 스트리밍 기능들을 갖는바, 비디오 코덱은 각각의 데이터 파일 입력을 H.264, MPEG4 또는 MJPEG와 같은 여러 개의 비디오 파일로 동시에 압축할 수 있다.
비교하면, 아날로그 카메라(예를 들어, 도 1의 아날로그 카메라 100)에서는, DSP는 종종 비디오 파일을 압축하지 않고 아날로그 신호를 디지털 신호로 인코딩할 수 있다. 궁극적으로는, 도 2의 예시적인 IP 카메라 구성에서, 디지털 비디오는 네트워크를 통해 스트리밍되고, 컴퓨터에서 프로세싱되며, 그리고 디지털 방식으로 저장된다. 기본적으로, 비디오는 디지털로 유지되며 불필요한 변환이 발생하지 않아 우수한 이미지 품질을 제공한다.
IP 카메라들은 많은 유익한 기능을 포함하는 지능형 디바이스이다. 이들은 네트워크를 통한 비디오 스트리밍을 최소화하기 위해 비디오 이미지를 압축한다. IP 카메라는 특정한 프레임 레이트로 이미지를 전송하는 프레임 레이트 제어 기술을 사용하며 따라서, 필요한 프레임들만이 전송되는 반면에, 아날로그 카메라는 아날로그 케이블을 통해 비디오 데이터를 스트리밍한다. IP 카메라를 사용하는 단점은, 과부하없이 네트워크에 있을 수 있는 카메라의 개수가 네트워크 대역폭으로 인해 제한될 수 있다는 점이다.
IP 보안 카메라가 존재하는 이유는 아날로그 기술 세계가 줄어들고 있기 때문이다. 비록, 보안 감시 업계에서 아날로그 카메라들이 여전히 더 많이 팔리고 있기는 하지만, IP 카메라는 인기가 높아지고 있다. 아날로그와 대비되는 IP 보안 카메라의 가격은 지금까지는 아날로그 카메라에 비해 높게 유지되고 있다. IP 고선명 카메라 가격이 지난 2년 동안 급격히 떨어짐에 따라 이러한 트렌드가 변화하기 시작하였다. IP 보안 카메라는 아날로그 카메라보다 우수하다. IP 보안 카메라는 더 우수한 비디오 품질을 제공하고, 기존의 LAN 영역 네트워크를 활용할 수 있으며, 그리고 아날로그 카메라보다 훨씬 많은 능력들을 갖는다.
아날로그 보안 카메라 또는 IP 카메라가 이용되는지 여부에 관계없이, 카메라에 의해 캡처된 이미지 데이터를 디지털 통신 네트워크(예를 들어, IP 프로토콜을 사용하여 디지털화된 포맷으로)를 통해 스트리밍하는 것은, 다수의 단점을 갖는다. 특히, 데이터가 전송되는 IP 네트워크 연결은 암호화된 경우에도 보안 침입(security breach)에 취약하다. 이것은 단점일 수 있다. 또한, 고해상도 비디오를 전송하는 것은 더 높은 대역폭을 요구하며, 네트워크의 통상적인 구현예들은 일반적으로 저조한 대역폭 이용률을 갖는다. 이러한 제약 사항은 비디오 데이터가 원격 저장소 시스템(예컨대, 클라우드 기반 저장소)에 저장되는 경우에 특히 명백하다.
또한, 클라우드 저장 솔루션은 기업(enterprise) 클라이언트와 클라우드 스토리지 시스템 간의 인터넷 통신 혼란(disruption)으로 발생할 수 있는 "중단(outage)"에 매우 취약하다. 하나의 서버 위치에 비디오 파일들을 저장하는 것에 기초하는 클라우드 저장 솔루션은 서버 위치가 손상될 경우 재해 복구를 잠재적인 위험 요소로 만든다. 만일, 동일한 물리적 서버 위치에서 복제 및 백업도 처리되는 경우, 고장 및 재해 복구 문제로 인해 기업에 막대한 데이터 손실이 발생할 수도 있다.
현재 기술의 클라우드 저장 솔루션은 종종 저장된 데이터의 안전을 보장하기 위해 복제 및 백업의 스토리지 오버헤드를 필요로 한다. 요구되는 데이터 리던던시의 매우 큰 분량은 클라우드에서 저장 용량을 유지하는데 드는 비용을 엄청나게 증가시킨다. 이러한 리던던시를 위한 필요성은 비용을 증가시킬 뿐만 아니라 데이터 보안에 새로운 문제를 야기한다. 또한, 이러한 모든 리던던시는 클라우드 서버가 모든 서버 데이터 트랜잭션에서 지속적으로 복제를 사용함에 따라 성능을 저하시킨다.
높은 데이터 처리량을 핸들링할 수 있는 인터넷 연결의 능력이 향상됨에 따라, 더 많은 보안 비디오가 원격으로 저장되고 그리고 비디오 스트리밍은 원격으로 저장된 비디오 컨텐츠에 대한 액세스를 제공하는 매우 보편적인 방법이 되었다. 클라우드 저장은 수많은 비디오 저장 및 비디오 액세스 방식에서 중요한 역할을 담당한다. 일반적으로 미디어 콘텐츠는 회사의 웹 서버에 있다. 사용자에 의해 요청되면, 미디어 콘텐츠는 비디오 파일의 다음 세그먼트를 디스플레이하기 위해 클라이언트가 제 시간에 수신하는 연속적인 데이터 세그먼트의 꾸준한 스트림으로 인터넷을 통해 스트리밍되는바, 오디오 또는 비디오의 끊김없는(seamless) 재생처럼 보이는 것이 사용자에게 전송될 수 있다.
현재의 비디오 스트리밍 기술은 클라이언트가 데이터 스트림을 수신하기 위해 접속하는 웹 또는 미디어 서버에 전체 미디어 파일의 전체 복사본을 저장한다. 전송 프로세스 중 데이터 손실로 인해 전송 프로세스가 쉽게 중단되고 클라이언트 컴퓨터에서 비디오 출력이 중단될 수 있다. 이러한 문제점을 피하기 위해, 종래의 기술은 공개 또는 비공개 여부에 관계없이 다수의 서버 노드 및 전세계의 다수의 데이터 센터에 동일한 비디오 파일을 배치하며, 따라서 사용자는 그와 가까운 서버 노드에 연결할 수 있다. 이것은 연결 문제로 인한 데이터 패킷 손실에 대비하여 안정적인 데이터 전송 속도를 보장하는데 필요한 것이긴 하지만, 전 세계의 여러 서버에 동일한 파일의 여러 복사본을 배치하는 것은 비디오 호스팅 제공자들에게 큰 부담이 된다.
본 발명은 전술한 문제점들 중 하나 이상을 완화 및/또는 극복하고 보다 빠르고 안전한 비디오 데이터 저장 및 전송 방법에 관한 것이며, 보다 상세하게는 원격 저장 위치에 비디오 파일을 저장하도록 구성된 IP 카메라를 사용하는 더 안전한 데이터 저장 및 전송 방법에 관한 발명이다.
일반적으로, 본 명세서에 서술된 본 발명의 주제의 혁신적인 양상들 중 하나는 IP 카메라로부터의 신호를 안전하게 전송하는 방법으로 구현될 수 있다. 상기 방법은, 상기 카메라의 하나 이상의 프로세서들을 이용하여, 상기 카메라 내부의 프로세싱 유닛으로부터 수신된 출력 비디오 신호를 개별 피스들(discrete pieces)로 분리하는 단계(separating)를 포함한다. 또한, 상기 방법은, 상기 하나 이상의 프로세서들 및 상기 카메라의 통신 네트워크 인터페이스를 이용하여, 다중 전송 스트림들을 사용하여 다수의 분산된 저장 네트워크 노드들로 상기 개별 피스들을 분산시키는 단계(dispersing)를 포함한다. 또한, 전송 스트림들은 통신 네트워크를 통해 전송된다. 또한, 어떠한 전송 스트림도 상기 출력 비디오 신호를 재구성하기에 충분한 데이터를 갖지 않는다.
본 명세서에 서술된 본 발명의 주제의 혁신적인 양상들 중 또 다른 하나는 IP 통신 네트워크를 통해 신호들을 안전하게 전송하도록 구성된 IP 카메라로 구현될 수 있다. 상기 카메라는 렌즈, 비디오 이미지를 캡처하도록 구성된 이미지 센서, 및 캡처된 이미지로부터 출력 비디오 신호를 생성하도록 구성된 하나 이상의 신호 프로세싱 유닛을 포함하는 이미징 컴포넌트를 포함한다. 또한, 상기 카메라는 머신 판독가능한 명령들이 저장되어 있는 형태로 클라이언트 어플리케이션을 갖는 비-일시적인 메모리를 포함한다. 또한, 상기 카메라는 IP 카메라를 통신 네트워크에 연결하는 네트워크 인터페이스를 포함한다. 또한, 상기 카메라는 상기 이미징 컴포넌트 및 상기 네트워크 인터페이스에 결합된 하나 이상의 프로세서들을 포함한다. 상기 하나 이상의 프로세서들은 상기 클라이언트 어플리케이션을 실행하며 그리고 상기 이미징 컴포넌트로부터 상기 출력 비디오 신호를 수신하고 상기 출력 비디오 신호를 개별 피스들로 분리하도록 구성된다. 상기 하나 이상의 프로세서들은 또한 상기 네트워크 인터페이스를 이용하여, 상기 개별 피스들을 다중 전송 스트림을 사용하여 다수의 분산된 저장 네트워크 노드들 사이에 분산시키도록 구성된다. 특히, 상기 전송 스트림들은 상기 통신 네트워크를 통해 전송되며, 그 어떤 전송 스트림도 상기 출력 비디오 신호를 재구성하기에 충분한 데이터를 갖지 않는다.
본 명세서에서 설명된 주제의 하나 이상의 실시예의 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 본 발명의 주제의 다른 피처들, 양상들 및 장점들은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 예시적인 아날로그 보안 카메라의 개략도이다.
도 2는 IP 카메라(200)의 구성예를 도시하는 하이 레벨 도면이다.
도 3은 복수의 IP 보안 카메라를 포함하는 예시적인 보안 카메라 시스템이다.
도 4a는 예시적인 실시예에 따른 예시적인 IP 카메라 시스템을 나타내는 하이 레벨 도면이다.
도 4b는 예시적인 실시예에 따른 도 4a의 예시적인 IP 카메라 시스템을 나타내는 하이 레벨 도면이다.
도 5는 예시적인 실시예에 따라 IP 카메라를 사용하여 비디오 신호의 보안 전송 및 저장을위 한 프로세스를 나타내는 흐름도 이다.
도 6a는 예시적인 실시예에 따른 예시적인 IP 카메라 및 저장 시스템의 계층들의 개략도이다.
도 6b는 예시적인 실시예에 따른 비디오 파일 처리의 다양한 단계를 도시하는 도면이다.
도 7a는 예시적인 실시예에 따른 파일 처리의 제 1 섹션의 도면이다.
도 7b는 예시적인 실시예에 따라 분산을 위한 슬라이스 프래그먼트를 생성하기 위한 파일 슬라이스의 소거 코딩의 도면이다.
도 7c는 예시적인 실시예에 따른 데이터 저장 노드에 대한 파일의 업로드 프로세스의 상세도이다.
도 8a,8b는 예시적인 실시예에 따른 파일 처리 중에 착수되는 다양한 단계를 개략적으로 도시한 차트이다.
도 9는 예시적인 실시예에 따라 다수의 통신 채널을 사용하여 저장 네트워크에 접속된 예시적인 IP 카메라를 나타내는 하이 레벨 도면이다.
도 10은 통신 네트워크를 통해 저장 네트워크에 접속된 종래의 IP 카메라 시스템을 나타내는 하이 레벨 도면.
도 11은 예시적인 실시예에 따라 스토리지 네트워크에 접속된 예시적인 IP 카메라를 나타내는 하이 레벨 다이어그램이다.
도 12는 예시적인 실시예에 따른 업로드 및 다운로드 프로세스 동안의 IP 카메라 비디오 파일의 분리된 부분의 저장 네트워크 노드 및 동적 전달을 도시하는 하이 레벨 도면이다.
도 13a,13b는 예시적인 실시예에 따른, 데이터 저장 장치로부터 클라이언트로의 데이터의 다운로드 프로세스 동안 착수되는 다양한 상세한 단계들의 차트이다.
본 명세서에 개시된 것은 IP 카메라 시스템으로 지칭되는 네트워크 연결된 보안 카메라 시스템 및 카메라 시스템으로부터의 비디오 신호들을 프로세싱, 보안 전송 및 저장하기 위한 관련 방법들이다. 특히, 개시된 IP 카메라는 각각의 비디오 데이터 파일을 개별 피스들(나중에 분산된 복수의 네트워크된 저장 노드들에 저장됨)로 분해하는 단계들을 포함하는 방법들을 구현한다. 일 양태에 따르면, IP 카메라에 의해 캡처된 비디오 신호는 객체 저장 기술을 사용하여 파일 슬라이스 조각으로 디스어셈블된다. 개시된 IP 카메라 시스템은 또한 다수의 전송 스트림들 사이에서 개별 피스들을 분산시키고 상기 개별 피스들을 다수의 저장 노드들로 전송한다. 바람직한 실시예에서, 다수의 저장 노드는 예를 들어, 다양한 지리적 위치에 배치된다.
일부 구현에서, 생성된 파일 슬라이스 조각들 프래그먼트는 암호화되어 일련의 클라우드 서버들로 분산되기 전에 소거 코딩을 이용한 에러 정정을 위해 최적화된다. 또한, 일부 구현예에서, 비디오 파일을 전송하기 위해 IP 카메라에 의해 사용되는 대역폭이 최적화될 수 있다. 이러한 분산 접근법은 "가상 하드 드라이브" 디바이스를 생성하는바, 가상 하드 드라이브 디바이스에서 비디오 파일은 하나의 물리적인 디바이스에 저장되는 것이 아니라, 클라우드 내의 일련의 물리적인 디바이스들 사이에 분산되며, 이들 각각은 파일의 암호화된 "조각들" 만을 오직 포함한다. 또한, 이러한 특징은 이용가능한 네트워크 접속들(예를 들어, IP 네트워크 및 관련된 통신 네트워크들)을 과부하시키지 않고 시스템에서 사용되는 카메라의 수를 최대화하는 것을 가능하게 한다. 따라서 대역폭이 보다 효과적으로 활용된다. 또한, 전송 스트림이 최적화될 수 있다. 또한, 몇몇 바람직한 실시예들에서, 다수의 전송 라인들이 동시에 사용될 수 있거나 또는 고장시에 리던던시를 제공할 수 있다. 또한, 일부 구현예에서 클라우드에서 데이터 저장에 사용되는 서버들은, 데이터 처리 속도와 데이터 보안 및 안정성 모두를 최적화하도록 선택될 수 있다.
검색의 경우, 암호화되고 분산된 파일 슬라이스 조각들은 클라이언트 컴퓨팅 디바이스에 의해 검색되어 오리지널 파일로 재구성될 수 있다. 비디오 파일을 이동(moving), 삭제, 판독, 혹은 편집(edit)하기 위해서 파일에 액세스하는 것은, 파일 조각들을 실시간으로 빨라 재조립(reassemble)함으로써 성취된다. 이러한 접근법은 데이터 전송 속도 및 액세스 속도, 데이터 보안 및 데이터 이용가능성에 있어서 다양한 향상들을 제공할 수 있다. 이것은 또한, 기존의 하드웨어 및 소프트웨어 인프라스트럭처를 이용할 수 있으며 그리고 저장 기술 분야에 실질적인 비용 감소를 제공할 수 있다.
분산된 데이터 저장, 특히 카메라 비디오 데이터를 클라우드 서버들 상에 인코딩 및 저장하는 것은 특히 유용한 적용예이지만, LAN 혹은 WAN 등의 임의의 가능한 통신 기법들에 의해서 연결될 수 있는 다수의 저장 디바이스들 상에 비디오 데이터가 저장되는 구성들에도 동일한 기술이 적용될 수 있다. 본원에 개시된 기술의 속도 및 보안 이점들은, 최종적인 저장 디바이스들이 다수의 물리적인 하드 디스크들 또는 다수의 가상 하드 디스크들인 정보 기술(IT) 데이터 센터의 디바이스들을 사용하여 구현할 때에도 유지될 수 있다. 또한, 다수의 저장 디바이스들은 심지어 사이버 공간의 다수의 개별 사용자들에 걸쳐 분산될 수도 있으며, 파일들은 네트워크에서 이용가능한 다수의 물리적 또는 가상의 하드 디스크들에 저장된다. 각각의 경우에서, 데이터 전송 속도 및 시스템에 저장된 데이터의 보안성은 크게 향상된다.
본 명세서에 개시된 주제의 사용예들은 서버측 프로세싱없이 파일들이 업로드 및 액세스되는 주요 저장 요구들(primary storage needs)을 포함한다. 개시된 실시예에 따르면, 이는 IP 카메라들에 의해 캡처된 비디오 컨텐츠의 저장을 포함하며 따라서 상기 비디오 데이터는 인터넷을 통한 액세스에 이용될 수 있다.
도 4a는 하나 이상의 개시된 실시예에 따라 비디오 신호의 보안 전송 및 저장을 위한 예시적인 네트워크된/IP 카메라(400)(예를 들어, IP 카메라)의 기본 구조를 도시하는 하이 레벨 도면이다. 다음을 유의해야 하는바, IP 카메라라는 용어는 네트워크를 통해 비디오 데이터를 전송하기 위해 LAN 또는 다른 IP 네트워크와 같은 데이터 네트워크에 연결되도록 구성된 다양한 유형의 카메라 시스템을 지칭한다. 도 4a에 도시된 바와 같이, 예시적인 IP 카메라(400)는 아날로그 비디오 이미지를 캡처하도록 구성된, 점선에 의해 둘러싸인 아날로그 카메라 구성요소들(405)을 포함할 수 있다. 카메라(400)의 나머지 구성요소들은 캡처된 비디오 이미지를 비디오 데이터 파일로 프로세싱하고 또한 카메라의 IP 연결을 용이하게 하여, 하기에 더 설명되는 바와 같이 IP 네트워크 연결을 통해 비디오 데이터 파일을 전송할 수 있도록 제공된다. 도 4a에 도시된 바와 같이, 카메라는 메모리 구성요소(예를 들면, 비일시적 컴퓨터 판독가능 메모리/저장장치(425) 및 플래시 메모리(430)) 및 CPU(420)를 포함할 수 있다. 당업자가 이해할 수 있는 바와 같이, CPU는 또는 다양한 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈의 형태로 명령들을 실행하도록 구성되는 하나 이상의 프로세서를 포함할 수 있다. 이러한 동작은 비디오 압축, 디인터레이스 프리프로세싱, 노이즈 필터링, 웹 서버 펌웨어 호스팅 등이 포함될 수 있다. 개시된 실시예들에 따르면, CPU는 또한 분산된 저장 노드 네트워크(SNN)(450)에 저장하기 위해 하나 이상의 통신 네트워크(미도시)를 통해 카메라에 의해 캡처된 비디오 파일들을 프로세싱, 인코딩 및 전송하도록 CPU를 구성하는 클라이언트 어플리케이션을 실행할 수 있다. 통신 네트워크의 일례는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예: 인터넷) 및 피어-투-피어 네트워크(예: 애드혹 피어-투-피어 네트워크)를 포함할 수 있다.
SNN(450)은 상업적 클라우드 리소스 제공자에 의해 운영될 수 있는 다양한 클라우드 저장 센터들을 포함할 수 있다. SNN의 저장 노드들 수와 신원은, IP 카메라의 위치에서 최상의 평균 레이턴시와 가용성을 나타내는 저장 노드를 선택하여 스토리지 구성의 대기 시간과 보안을 최적화하도록, CPU에 의해 선택적으로 선택될 수 있다.
카메라(400)의 예시적인 특징 및 기능은 도 4a에 도시된 다양한 시스템 구성요소들을 계속 참조하여 본 명세서에서 추가로 설명된다. 하나 이상의 실시예에 따라 IP 카메라를 사용하여 비디오 신호의 보안 전송 및 저장을 위한 예시적인 프로세스가 도 5에 도시된다.
프로세스는 단계(505)에서 시작하며, 여기서 카메라는 이미지 스트림을 캡처하고 상기 스트림(즉, 비디오)은 본 명세서에서 비디오 신호로도 지칭되는 하나 이상의 비디오 데이터 파일로 프로세싱된다. 상술한 바와 같이, 비디오 프로세싱은 이미지를 압축, 인코딩 및 그렇지 않으면 하나 이상의 디지털화된 비디오 파일로 변환하기 위해 비디오/오디오 코덱(410) 및 CPU(420) 및 다른 하드웨어 및/또는 소프트웨어 모듈에 의해 이미지를 프로세싱하는 것을 포함할 수 있다. 각각의 비디오 데이터 파일은 카메라에 의해 캡처된 비디오 신호들의 스트리밍의 세그먼트를 나타낼 수 있고 그리고 적어도 일시적으로 메모리(425)에 국부적으로 저장될 수 있다(예를 들어, 비디오 파일로서). 개별 비디오 파일들 각각의 사이즈는, 각각의 비디오 세그먼트의 소정의 시간 길이 및 각각의 비디오 세그먼트에 대한 소정의 파일 사이즈 중 하나 이상과 관련된 구현예 및 소정 세팅에 따라 달라질 수 있다. 이러한 설정은 예를 들어 초기 IP 카메라 설정/구성 단계에서 사용자 인터페이스를 이용하여 사용자에 의해서 사용자 정의될 수 있다. 부가적으로 또는 선택적으로, 이들 및 다른 세팅들은 디폴트로 설정될 수도 있으며 또는 시스템의 동작 및 시스템 또는 네트워크 제한들(예를 들어, 대역폭, 로컬 및 네트워크 저장 장치 가용성 등)에 기초하여 IP 카메라 CPU에 의해 동적으로 조절될 수도 있다. 따라서, 일부 구현예에서는, 본 명세서에서 추가로 설명되는 바와 같이, 작은 비디오 파일들(예를 들어, 제한된 시간 지속 기간 또는 파일 크기를 갖는 파일들)이 순차적으로 캡처되고, 프로세싱되며, 그리고 분산된 저장장치로 거의 실시간으로 전송될 수 있다. 그 결과, 분산된 저장장치 네트워크로부터 비디오 파일들에 대한 거의 실시간 액세스가 사용자에게 제공될 수 있다. 부가적으로 또는 대안적으로, 더 큰 또는 더 긴 비디오 세그먼트들이 유사한 방식으로 순차적으로 캡처되고 프로세싱되어 분산 저장 시스템에 저장될 수 있다.
그 다음, 단계(510)에서, 하나 이상의 비디오 파일들은 개별 피스들(discrete pieces)로 분리된다. 개별 피스들은 본 명세서에서 "파일 슬라이스 조각들(file slice fragments)" 이라고 지칭되거나 또는 보다 일반적으로는 "조각들(fragments)"로 지칭된다. 다음을 유의해야 하는바, 비디오 신호는 카메라 내부의 하나 이상의 신호 처리 컴포넌트로부터의 다수의 신호들을 포함할 수 있다. 따라서, 각각의 신호는 개별 피스들로 분리될 수 있다. 부가적으로 또는 대안적으로, 다수의 비디오 신호들이 결합될 수 있으며 그리고 피스들로 분리될 수 있다. 신호를 개별 피스들로 분리하는 것은 비디오 신호를 디지털화하는 것을 더 포함할 수 있다.
하나 이상의 예시적인 실시예에 따르면, 클라이언트 어플리케이션을 실행하도록 구성된 CPU(420)는 비디오 신호를 취하여 그리고 이를 하나 이상의 스테이지들에서 객체 저장 기술을 사용하여 파일 슬라이스 조각들로 분해한다. 일반적으로, 객체-기반 저장(object-based storage)은 데이터를 객체로서 관리하는 저장 아키텍처이다. 통상적으로, 각각의 객체는 데이터 자체, 다양한 분량의 메타데이터 및 전역으로 고유한 식별자(globally unique identifier)를 포함한다.
보다 구체적으로, 단계 510에서 구성된 CPU에 의해 수행되는 예시적인 기능들이 도 6a와 관련하여 더 설명된다. 도 6a는 전체 시스템의 SNN(450) 측과 통신하는, 시스템의 IP 카메라(400) 측에서 동작하는 논리 컴포넌트들 또는 모듈들의 예시적인 구성을 도시하는 블록도이다. 도시된 바와 같이, IP 카메라의 논리 컴포넌트는 예를 들어 클라이언트 어플리케이션(605), 클라이언트 측 프로세서(CSP)(610) 및 프론트 엔드 데이터 프로세서(FEDP)(620)를 포함할 수 있다. CSP 및 FEDP에 의해 수행되는 것으로 서술된 동작들은 CPU를 사용하여 구현될 수 있으며, 이는 다음에 후술되는 바와 같이 CSP 및 FEDP 동작들을 수행하도록 클라이언트 어플리케이션(605)을 실행함으로써 구성된다.
제 1 단계로서, CSP는 비디오 파일을 주어진 크기를 갖는 여러 개의 슬라이스들로 분할할 수 있다. 슬라이스들의 개수 및 크기는 클라이언트 어플리케이션에 의해서 그리고 특정 구현예에 따라 정의될 수 있는 소정 파라미터들에 기초하여 변경될 수 있다. 슬라이스들의 개수와 크기는 클라이언트 앱에 의해서 정의된 파라미터에 의해 변경될 수 있다. 각각의 슬라이스는 클라이언트 키로 암호화될 수 있으며 그리고 고유 식별자가 할당될 수 있다. 또한, CSP는 메타데이터 파일을 생성할 수 있는데, 메타데이터 파일은 슬라이스들을 맵핑하여 오리지널 전체 비디오 파일로 슬라이스들을 재구성할 수 있다. 이러한 메타데이터 파일은 클라이언트의 데이터 센터에 저장될 수 있으며, 암호화되어 SNN의 하나 이상의 노드들로 복사될 수 있다. 예시적인 실시예에서, CSP는 슬라이스된 파일들을 다음 계층인 프론트 엔드 데이터 프로세서(FEDP)로 전송할 수 있다(추가 프로세싱을 위해).
예시적인 실시예에서, CPU의 FEDP 모듈은 또한 슬라이스들에 대한 추가 프로세싱을 수행할 수 있다. 예를 들어 FEDP는 CSP에 의해 제공되는 슬라이스된 파일들을 가져와서 각각의 슬라이스를 추가로 프로세싱할 수 있다. 이러한 프로세싱은 각 슬라이스를 일련의 파일 슬라이스 조각들로 더 나누는 것을 포함할 수 있다. 또한 파일 슬라이스 조각은 "소거 코딩"을 사용하는 오류 정정을 위해 최적화될 수 있다. 예를 들어 전송 프로세스 동안에 일부 데이터가 손실되는 경우 에러 정정을 제공하기 위해 소거 코딩이 수행된다. 본 명세서에서 더 설명되는 바와 같이, 소거 코딩은 에러 정정을 제공하기 위해 각 파일 슬라이스 조각들의 크기를 증가시킬 것이다. FEDP는 자체 암호화 키를 사용하여 파일 슬라이스 조각들을 암호화할 수도 있다.
바람직하게는, FEDP는 메타데이터 파일을 생성하거나 기존의 메타데이터 파일에 추가할 수 있다. 메타데이터 파일은 모든 파일 슬라이스 조각들을 원래의 슬라이스들로 다시 맵핑하도록 생성되는 것이 바람직하다. 또한, 메타데이터 파일은 어떤 파일 슬라이스 조각들을 저장하는데 어떤 SNN(Storage Node Network) 서버들이 사용되는지에 관한 기록(record)을 포함하도록 생성될 수 있다. 조각 및 슬라이스 맵핑 정보는 클라이언트의 데이터 센터 또는 다른 클라이언트측 컴퓨팅 장치에 저장될 수 있으며 그리고 암호화되어 SNN에 복사될 수도 있다. 예를 들어, IP 카메라로부터의 비디오 피드를 모니터링하거나 액세스하는 보안 사무실들 및 기타 위치들에 맵 정보가 배포될 수 있다. 일부 구현예에서, 이러한 암호화 및 최적화 및 에러 정정은 바람직하게는 본 명세서에서 추가로 설명되는 바와 같이, 일련의 저장 노드들로 분산되기 이전에 발생한다. 비록, 비디오 신호를 개별 피스들로 분리하는 단계들이 CPU의 FEDP 및 CSP 구성요소들에 의해 구현되는 2 스테이지 프로세스로서 기술되었지만, 이러한 단계들은 임의 개수 스테이지들에서 그리고 하나 이상의 컴퓨팅 컴포넌트들에 의해서 수행될 수 있다.
일부 구현예에서, 단계(510)에서 IP 카메라에 의해 구현되는 분리 및 맵핑 프로세스는 또한 분산된 저장 노드들을 선택하기 위한 단계들을 포함할 수 있다. 보다 구체적으로는, 구성된 CPU(420)는 SNN(450)의 어느 노드가 하나 이상의 파일 슬라이스 조각들을 저장하는데 사용될 것인지를 결정할 수 있다. 일부 구현예에서, 데이터 저장에 사용되는 노드들은, 데이터 처리 속도 및 데이터 보안과 신뢰성 모두를 위해 최적화되도록 선택될 수 있다. 더욱이, 일부 구현예들에서, 상기 노드들은 동작 중에 CPU에 의해, 셋업 동안 정의된 소정 파라미터들의 함수로서 또는 전술한 것들의 조합으로서 선택될 수 있다.
도 6b는 예시적인 실시예에 따라 파일을 SNN에 업로드하는 동안 위에서 논의된 파일 프로세싱의 다양한 단계들을 더 설명한다. 도 7a 및 도 7b는 각각 클라이언트측 디바이스(예를 들어, IP 카메라)로부터 SNN으로의 파일 업로드 프로세스 동안 2개의 기본 프로세싱 스테이지를 도시한다. 특히, 도면들은 CSP에서 파일을 파일 슬라이스들로 프로세싱하고, 그리고 FEDP에서 파일 슬라이스들을 프로세싱하여 SNN에 분산시키기 위해 파일 슬라이스 조각들을 생성하는 것을 도시한다. 도 7c는 스텝 바이 스텝 방식의 업로드 프로세스의 또 다른 예를 도시한 것으로, 중간 단계들의 일부를 보여준다. 또한, 도 8a,b은 예시적인 실시예에 따라 IP 카메라에 의해 수행되는 파일 업로드 프로세스에 포함될 수 있는 상세한 단계들을 더 설명하는 차트이다.
상술한 바와 같이, 비디오 파일을 파일 슬라이스 조각들로 분리하고 소거 코딩하는 단계들은 IP 카메라의 CPU에 의해 수행될 수 있다. 추가적으로 또는 대안적으로, 파일 슬라이스를 더 작은 조각들로 분할하는 소정 단계들 및/또는 소거 코딩 단계들은, 파일 슬라이스(들)에 대해 소거 코딩을 수행하도록 구성된(예컨대, 하지만 이에 한정되는 것은 아님) 하나 이상의 파일 서버들의 중간 계층에 의해서 구현될 수 있다.
도 5로 돌아와서, 단계(515)에서, IP 카메라(400)는 파일 슬라이스 조각들의 그룹들을 그들의 지정된 SNN 서버들로 전송한다. 또한, 생성된 하나 이상의 메타데이터 파일 또는 그 일부의 사본은 비디오 파일에 액세스하는데 사용되는 각각의 SNN 서버 및/또는 다른 클라이언트 컴퓨팅 시스템으로 전송될 수 있다. 이는 클라우드에 있을 수 있는 저장 서버에 가상 "데이터 디바이스"를 효과적으로 생성한다.
보다 구체적으로, 카메라는 개별 피스들을 다수의 전송 스트림들에서 다수의 분산된 저장 노드들로 전송하도록 구성될 수 있다. 예를 들어, 개별 피스들로 쪼개진 비디오 파일은, 다수의 스트림들에서 전 세계의 다수의 저장 노드들로 동시에 전송될 수 있다. 다수의 데이터 스트림은 활용도를 극대화하고 보안을 보장하는바, 이에 대해서는 후술한다.
도 4a 및 도 4b에 도시된 바와 같이, CPU(420)는 네트워크 인터페이스(435)를 이용하여 SNN(450) 내의 다수의 목적지 노드들로 다수의 데이터 스트림들(440)을 전송하도록 구성될 수 있다. 일부 구현예에서, 각각의 전송 스트림은 SNN 내의 각각의 노드로 향하게 된다.
예를 들어, 그림 9는 IP 카메라와 전세계에 분산되어있는 SSN의 개별 노드들을 통신가능하게 연결하는 다수의 통신 스트림들을 보여주는 하이 레벨 도면이다. 이러한 채널들은 인터넷과 같은 하나 이상의 개별 통신 네트워크를 통해 확립될 수 있다는 것을 알 수 있다.
일부 구현예에서, 하나 이상의 개별 피스들이 단일 스트림으로 전송될 수 있다. 마찬가지로 여러 개의 개별 피스들을 다수의 스트림들에 걸쳐 분산될 수 있다. 또한, 다수의 스트림들은 동시에 또는 다른 전송 시퀀스에 따라 전송될 수 있다.
따라서, 다음을 유의해야 하는바, IP 카메라는 인터넷 통신 프로토콜(예컨대, 전송 제어 프로토콜(TCP), 사용자 데이터 그램 프로토콜(User Datagram Protocol: UDP), 인터넷 제어 메시지 프로토콜(ICMP), 하이퍼 텍스트 전송 프로토콜(HTTP/HTTPS), 파일 전송 프로토콜(FTP) 등) 및 다른 고급 컴퓨터 통신 프로토콜들을 포함하지만 이에 한정되지 않는, 다양한 통신 프로토콜들을 이용하여 통신 채널들 및 네트워크들을 통해 SSN과 통신할 수 있다.
또한, 바람직한 구현예에서, 보안을 강화하기 위하여, 개별 피스들이 생성 및 분산되므로, 그 어떤 전송 스트림도 오리지널 미디어 파일을 재구성하기에 충분한 데이터를 포함하지 않는다.
전술한 바와 같이, 비디오 파일을 개별 피스들로서 전송하고 그리고 다수의 데이터 스트림들을 사용하는 것과 관련하여, 다수의 데이터 스트림들은 본 명세서에 개시된 시스템이 다른 것들 중에서도 활용도를 최대화할 수 있게한다. 도 10은 종래 시스템을 도시한다. 도시된 바와 같이, IP 카메라의 아웃고잉 통신 라인은 IP 카메라와 IP 카메라가 상주하는 네트워크에서 파일을 전송할 때 사용할 수 있는 최대 대역폭을 정의한다. 또한, 저장 네트워크 노드와 확립된 데이터 전송 스트림은 초당 이동할 수 있는 데이터의 양을 정의한다. 대부분의 경우 로컬 IP 네트워크로부터 특정한 저장 네트워크 노드로의 개별 데이터 연결의 최대 대역폭은, IP 카메라에서 사용할 수 있는 전체 통신 라인의 대역폭보다 상당히 낮다. 결과적으로, 비디오를 단일 노드로 전송할 때, 사용가능한 대역폭의 일부만이 활용될 수 있다. 현재의 IP 카메라 기술은 비디오 전송 속도를 증가시키는데 잘 작동하지 않는다.
도 11에 도시된 바와 같이, 본 발명의 개시된 실시예들에 따라 구성된 IP 카메라와 저장 시스템은 데이터의 고속 동적 전달을 가능하게 한다. 보다 구체적으로, 스토리지는 공공 및 사설 클라우드 위치를 포함할 수 있는 N 개의 노드들에 분산되어 있다. 병렬 전송 스트림을 통해 데이터를 다수의 저장 네트워크 노드들로 전송함으로써, 증가된 업로드 속도(및 저장된 데이터에 액세스할 때의 다운로드 속도)가 성취될 수 있다. 병렬 스트림은 대역폭 사용을 최대화한다. 보다 구체적으로, IP 카메라를 다수의 저장 네트워크 노드들에 연결하는 다수의 전송 스트림들을 확립함으로써, IP 카메라에 의해 이용될 수 있는 전체 대역폭은 임의의 개별 전송 스트림의 대역폭에 의해 제한되지 않는다(예를 들어, 도 10에 도시된 바와 같은, 비디오 파일을 저장소로 전송하는데 단일 스트림이 사용됨). IP 카메라는 개별 전송 스트림들의 개수를 정의하도록 구성될 수 있으며, 그리고 통신 채널을 통해 사용가능한 대역폭을 활용하기 위해 수신측 저장 네트워크 노드들을 선택하도록 또한 구성될 수 있다. 따라서, 대역폭이 보다 효과적으로 활용된다. 실용적인 이점으로서, 개선된 대역폭 활용은, IP 네트워크에 과부하가 걸리지 않게 하면서, 시스템에서 사용되는 카메라들의 개수를 최대화할 수 있게 한다. 보다 구체적으로, 개시된 실시예들에 따라 구성된 IP 카메라들은 비디오 데이터를 원격 저장소(또는 스토리지)에 보다 효율적으로 분산시키기 때문에, 더 많은 IP 카메라들이 단일 네트워크 상에 존재할 수 있고, IP 네트워크 연결의 이용가능한 대역폭을 초과하지 않으면서도 각각의 비디오 파일들을 효과적으로 업로드할 수 있다. 다음을 유의해야 하는바, 주어진 IP 네트워크 상에 구현될 수 있는 실제 IP 카메라들의 수는 캡처된 비디오 데이터의 파라미터들(즉, 파일 크기들)뿐만 아니라 IP 네트워크의 대역폭 제한들에 따라 달라질 수 있다.
전술한 바와 같이, 다수의 분산 노드들과 함께 다수의 데이터 스트림들을 활용함으로써, 본 발명의 개시된 실시예는 보다 안전하고 내결함성(fault tolerance)이 있는 시스템을 용이하게 한다. 도 12는 저장 네트워크 노드들과 업로드 프로세스(도 12의 왼쪽) 및 다운로드 프로세스(도 12의 오른쪽) 동안 IP 카메라 비디오 파일의 개별 피스들의 동적 전달을 예시한 하이 레벨 도면이다. 도 12에 도시된 바와 같이, 다운로드 프로세스 동안 특정 노드(도 12에서 "X"로 표시됨)의 장애는 나머지 노드들에서 개별 피스들을 전송하는데 영향을 미치지 않는다. 또한 오류 정정을 사용하면, 중요한 데이터를 손실하지 않고도, 다중 노드 장애를 허용할 수 있다. 암호화된 피스들/조각들로 인하여, 수송(transit)에서 보안이 더욱 안전하게 보장된다. 따라서, 다수의 데이터 스트림을 사용함으로써, 개시된 실시예들은 활용예를 극대화할 수 있으며 보안 및 리던던시를 보장할 수 있다.
시스템에서 사용되는 다수의 업로드 및 다운로드 노드들은 업로딩 및 다운로딩 둘다에서 속도가 높아질 것이다. IP 카메라(400)와 SNN의 노드들 사이의 레이턴시를 최적화함으로써, 즉 이용가능한 최상의 현재 레이턴시를 갖는 SNN을 선택함으로써, 처리 속도에서의 추가적인 증가가 달성될 수 있다. 다수의 노드들의 사용은, 하나의 특정 서버 경로가 높은 레이턴시를 겪고있는 경우에 볼 수 있는 전반적인 퍼포먼스 히트(performance hit)를 감소시킨다.
일부 구현예에서, 데이터의 개별 피스들은 실시간으로 최적의 전달 경로를 위해 동적으로 관리될 수 있다. 특히, 도 12에 도시된 바와 같이, 클라이언트 어플리케이션을 실행함으로써 구성되는 CPU(220)는 하나 이상의 SNN 노드들에 의한 저장을 위해 개별 피스들을 큐(1210)에 배열함으로써 데이터의 개별 피스들을 할당하도록 구성될 수 있다. 데이터의 각각의 큐는 네트워크 인터페이스(235)에 의해서 각각의 저장 네트워크 노드로 전송되도록 지정될 수 있다. 상술한 바와 같이, CPU는 다양한 동작 파라미터 및 소정의 세팅에 따라 개별 피스들의 저장을 위해 저장 네트워크 노드들을 동적으로 선택할 수 있다. 마찬가지로 CPU는 하나 이상의 저장 네트워크 노드들에 저장하기 위해 개별 피스들을 동적으로 할당하고 재할당하도록 구성될 수 있다. 보다 구체적으로, 개별 피스들을 특정 큐에 할당하는 것(즉, 특정 노드로 할당하는 것)은, 다음과 같은 것들 중 하나 이상에 기초할 수 있다: 특정 저장 네트워크 노드의 레이턴시 측정, 특정 노드에 의해 이미 저장되었거나 또는 특정 큐에서 전송을 대기하고 있는 파일 슬라이스 조각들의 볼륨, 특정 노드의 지리적 위치, 특정 노드의 이용가능성 및 개별 피스들을 저장하기 위해 요구되는 소정의 리던던시 레벨. 또한, 데이터를 데이터 저장 노드들에 분산시키는 것은 노드의 현재 처리량 상태에 기초하여 최적화될 수 있다. 예를 들어, 연결성이 가장 좋은 노드들이 대용량 데이터를 저장하기 위해 선택될 수 있으며, 따라서 분산 프로세스 동안 데이터 전송의 최대 속도를 위해 이용가능한 저장 노드들을 최적화할 수 있다. 또한, 데이터 분산 프로세스에 영향을 미칠 수 있는 추가적인 파라미터들은, 통신 채널의 이용가능한 대역폭, 각각의 노드들과의 개별 통신 스트림의 처리량, 다른 통신 채널의 가용성 및 큐의 임의의 백-로그(back-log)를 포함할 수 있다. 데이터 분산(예컨대, 큐잉 및 라우팅)의 관리는, 통상적으로 일관적인 파라미터들(예컨대, SNN 위치, 위치 기본설정, 리던던시 세팅, 히스토리컬 처리량/레이턴시 메트릭 등등) 또는 동작 중에 변화하는 파라미터들(예컨대, 현재 노드 가용성, 대기 시간, 처리량 등)에 기초하여 CPU에 의해 수행될 수 있다. 이러한 파라미터들은 동작중에 주기적으로 및/또는 거의 실시간으로 CPU에 의해 측정될 수 있다. 따라서, CPU는 전술한 파라미터들의 동적인 측정 및 특정 어플리케이션에 대한 소정의 목적들(objectives)/세팅들에 따라 데이터의 분산을 동적으로 조정하도록 구성될 수 있다.
일부 구현예에서, 특정 비디오 파일에 대한 수요가 많은 경우, 이러한 수요를 충족시키기 위해 취할 수 있는 2가지 주요 접근법들이 존재한다. 첫째로, 소거 인코딩된 데이터 조각들의 분산을 위해 더 많은 개수의 조각 저장 노드들이 채용될 수 있다. 수요가 주로 하나의 지리적 영역에서 오는 경우, 해당 영역의 IP 카메라 및/또는 해당 영역의 저장된 데이터에 액세스하는 클라이언트 중 어느 하나에 대하여, 최상의 데이터 처리 속도를 이용하여 분산되도록 노드들이 선택될 수 있다. 두번째로, 소거 코딩 단계에서 더 높은 레벨의 리던던시가 선택될 수 있다. 예를 들어, 30%의 리던던시 대신에 더 높은 수준의 리던던시는, 로드하에서(under load) 더 큰 가용성을 보장하는데 도움이 될 것이다. 이들 2개의 단계들은 실시간으로 발생하는 특정 수요 및 부하 요건들을 충족시키도록 동적으로 수행될 수 있다. 또한, 이용가능성을 향상시키는 더 큰 레벨들의 리던던시를 위해 특정 슬라이스들 또는 조각들이 선발될 수 있다. 특히, 미디어 파일의 제 1 세그먼트들에는, 증가된 수요의 요구를 충족시키기 위해 최고 수준의 리던던시가 부여될 수 있다.
앞서 설명된 데이터 저장 기술은 가상화된 서버를 사용하도록 설계될 수 있다. 예를 들어, 성능을 향상시키고 하드웨어 독립성을 보장하기 위해, 하나의 실제 하드웨어 서버 대신에 3개의 가상 서버들이 병렬로 사용될 수 있다.
일부 구현예에서, 다수의 별도의 통신 채널(예를 들어, 물리적 네트워크 접속)이 IP 카메라와 저장 네트워크 노드들 사이에 확립될 수 있다. 이들 부가적인 통신 채널은 백업 라인으로 확립될 수 있으며 및/또는 하나 이상의 데이터 스트림 및 임의의 관련 정보의 중복 송신을 제공하기 위해 확립될 수 있다. 도 4b에 도시된 바와 같이, 다중 데이터 스트림(440)을 전송하는 단계는, 네트워크 인터페이스(435)을 이용하여, 네트워크 인터페이스와 각각의 목적지 노드 사이에 다수의 데이터 통신 채널들/라인들(445)(즉, 채널 445a, 445b 및 445c)을 확립하는 것을 포함할 수 있다. 따라서, 도시된 바와 같이, 각각의 데이터 통신 채널은 복수의 데이터 스트림들(440a, 440b 및 440c)을 각각 전송하는데 사용될 수 있다. 다양한 방식들이 데이터 요소들을 저장 노드들로 전송하는 것을 관리하는데 사용될 수 있음을 이해할 수 있다. 예를 들어, 특정 통신 채널이 고장나는 경우, 통신 채널(445a)을 통한 전송 스트림(440a)으로서 SNN들에 전송되도록 원래 정의되었던 개별 피스들의 전송은, 대체 통신 채널, 예컨대 채널(445b)를 통한 전송 스트림들(440b)로서 분산될 수 있다. 또 다른 예로서, 개별 피스들은 시스템 및 구현 요건들에 기초하여, 리던던시를 위해 다수의 상이한 통신 채널들을 통해 전송될 수 있다. 부가적으로 또는 대안적으로, 개별 피스들의 전송은 상이한 통신 채널들에 걸쳐 확산될 수도 있다. 또한, 다음을 유의해야 하는바, 다수의 전송 스트림들을 통한 데이터 전송을 최적화하기 위한 예시적인 프로세스들(예컨대, 처리량, 대기 시간 등과 같은 다양한 시스템 컴포넌트의 측정된 파라미터에 기초한 노드 선택, 데이터 라우팅 및 분산, 기타 등등)은 IP 카메라에 의해 유사하게 구현되어, 다수의 통신 채널들을 이용한 데이터의 개별 피스들의 전송을 최적화할 수 있다.
일단 조각들이 단계(515)에서 업로드되면, SNN 서버들은 이제 통상적으로 이용가능한 클라우드 호스팅 서버의 클라우드에서, 프로세싱된 파일 슬라이스 조각들을 호스팅할 것이다(파일 다운로드를 위한 미래의 요청을 수신하기를 대기하면서). 이렇게 함으로써, 파일이 하나의 물리적 디바이스에 저장되는 것이 아니라 암호화된 파일의 "조각들"을 포함하는 일련의 물리적 디바이스들 전체에 분산되는 "가상 하드 드라이브" 디바이스가 생성된다.
단계(520)에서, 파일은 클라이언트 컴퓨팅 디바이스에 의해 검색될 수 있다. 이전에 SNN에 이전에 업로드된 파일을 다운로드하는 프로세스는 일반적으로 업로드 프로세스에서 사용된 단계들의 역순을 포함한다. 파일을 이동, 삭제, 읽기 또는 편집할 목적으로 비디오 파일들에 액세스하는 것은, 파일 조각들을 실시간으로 신속하게 재조립함으로써 성취될 수 있다. 이러한 접근법은 데이터 전송 및 액세스의 속도, 데이터 보안성 및 데이터 가용성을 크게 향상시킬 수 있다.
전술한 바와 같이, 하나의 예시적인 구현예에서, IP 보안 카메라로부터의 비디오 파일은 2 단계 프로세스에서 작은 파일 슬라이스 조작들로 분할될 수 있다. 제 1 단계는 전체 파일(압축될 수도 있으며 압축되지 않을 수도 있음)을 일련의 파일 슬라이스들로 나누는 것이다. 이러한 파일 슬라이스들은 암호화될 수 있으며, 그리고 상기 슬라이스들을 원래 파일로 조립하는 법을 맵핑하는 메타데이터 파일이 생성된다. 제 2 단계는 각각의 파일 슬라이스를 가져와서, 이것을 더 작은 데이터 조각들로 나누는 것이며, 이들은 원래 데이터를 인식할 수 없게 만드는 전술한 기술들에 따라 소거 코딩된다.
또한, 전술한 바와 같이, SNN 시스템에 액세스하도록 구성된 클라이언트 컴퓨팅 디바이스(460)는 파일 슬라이스 조각들을 식별하는 정보를 포함할 수 있는 하나 이상의 메타데이터 파일을 제공받을 수 있고 모든 파일 슬라이스 조각들을 그들의 오리지널 슬라이스들로 다시 맵핑할 수 있다. 또한 메타데이터 파일은 슬라이스를 오리지널 비디오 파일로 다시 맵핑하는 정보를 제공할 수 있다. 또한, 맵 정보는 어떤 스토리지 노드 네트워크(SNN) 서버들이 어떤 파일 슬라이스 조각들을 저장하는데 이용되었는지에 대한 기록을 포함할 수 있다. 각각의 슬라이스는 하나 이상의 암호화 키들로 암호화될 수 있으므로, 클라이언트 디바이스는 오류 정정을 수행하기 위한 소거 코딩 프로토콜 뿐만 아니라 조각들 혹은 슬라이스들의 복호화를 위한 대응 키들을 제공받을 수 있다.
따라서, 맵 및 대응하는 식별자들을 사용하여, 클라이언트 컴퓨팅 디바이스는 각각의 분산된 SNN 노드들로부터 데이터의 개별 피스들을 검색할 수 있다. 또한, 맵 및 관련된 식별자들을 포함하는 메타데이터를 사용하여, 검색된 데이터 피스들이 디코딩 및 재조립될 수 있다. 따라서, 재-조립된 보안 비디오 파일을 재생, 액세스 또는 달리 프로세싱하는데 클라이언트 컴퓨팅 디바이스가 사용될 수 있다.
보다 구체적으로, 일부 구현예에서, 슬라이스 조각들이 슬라이스들로 어떻게 재조립되는지를 맵핑하는 제 2 메타데이터 파일을 사용하여, 많은 SNN에 걸쳐 저장되는 슬라이스 조각들이 검색되고 그리고 파일 슬라이스들로 재조립된다. 이러한 것은 클라이언트 컴퓨팅 디바이스에 의해 행해지며, 클라이언트 컴퓨팅 디바이스는 작동가능한 FEDP 구성요소 및 CSP 구성요소를 포함할 수 있다. 이와 같이 조립된 파일 슬라이스들은 제 1 메타데이터 파일을 사용하여 CSP에 의해서 완전한 비디오 파일로 재구성될 수 있는바, 제 1 메타데이터 파일은 클라이언트 컴퓨팅 디바이스를 사용하여 출력하도록 슬라이스들이 전체 파일로 재조립되는 방법을 맵핑한다. 제 2 메타데이터 파일은 파일 저장에 사용되는 각 SNN에 중복 저장될 수 있으며 제 1 메타데이터 파일은 클라이언트의 로컬 데이터 센터 및 각 SNN에도 저장될 수 있다. 도 13a,b은 본 발명의 예시적인 실시예에 따라 클라이언트 컴퓨팅 디바이스를 사용한 파일 다운로드 프로세스에서 수행될 수 있는 세부 단계들을 더 설명하는 차트이다.
IP 카메라 비디오의 프로세싱 및 비디오 파일의 분산 저장을 위한 개시된 기술은 기존 시스템에 비해 많은 이점을 제공한다. 이들 장점들은 다음과 같다.
A. 데이터 전송 속도
기존의 클라우드 저장 기술과 비교하면, 개시된 실시예들은 전형적인 인터넷 통신 조건 하에서의 데이터 전송 속도의 실질적인 향상을 가능하게 한다. 최대 300 mbps의 속도가 입증되었다. 이러한 속도 향상은 여러 가지 요인에 기인한다.
파일을 재구성할 때, 그것의 수반되는(attendant) "조각들(pieces)"이 다수의 서버들로부터/서버들로 병렬로 전송되며, 이는 실질적인 쓰루풋 개선을 야기한다. 이것은 오늘날 사용되고 있는 인기있는 다운로드 가속 기술들 중 일부와 비견될 수 있는바, 이는 다수의 채널들을 오픈하여 파일의 피스들을 다운로드하며, 결과적으로 다운로드 속도의 실질적인 부스팅을 야기한다. 클라우드 서버들 중 하나로의 전송 연결들 중 하나에서 발생할 수도 있는 레이턴시 병목현상은, 정상적인 레이턴시 조건 하에서 동작하는 다른 서버들로의 고속의 전송들을 중단시키지 않는다.
분산된 저장으로부터 기인하는 데이터 보안 및 신뢰성에서 본질적인 개선들은 복사본을 통한 데이터 판독/기입들의 지속적인 미러링을 필요로 하지 않으며 따라서, 쓰루풋에 대한 추가적인 속도 개선을 가져올 수 있다.
일부 구현예들에서, 대부분의 리소스 집중형 데이터 프로세싱은, 클라우드 내의 하나 이상의 고성능 서버들 상의 서버 측에서 발생하며, 이들 고성능 서버들은 클라우드 서버 저장 사이트들 및 클라이언트 사이트들 둘다에 대한 속도 및 연결성에 대해서 최적화된다. 특히, 일부 실시예에서 소거 코딩은 서버 측에서 수행되는바 예를 들면, 다수의 데이터 프로세싱 서버들 상에서 수행된다. 이들 서버들은 높은 프로세싱 성능을 갖도록 선택될 수도 있는데, 왜냐하면 소거 코딩은 일반적으로 중앙 처리 유닛(CPU) 집중형 태스크이기 때문이다. 이것은 소거 코딩이 IP 카메라 측(IP 카메라는 소거 코딩을 효율적으로 수행하기 위한 하드웨어 및 소프트웨어 인프라스트럭처가 부족할 수 있음) 또는 단일 디바이스에서 수행되는 것에 비하여 개선된 성능을 야기한다. 서버들의 최적화된 그룹으로 이러한 프로세싱을 옮기는 것은, 클라이언트 측에서의 부하 및 성능 요건을 감소시킨다.
B. 데이터 보안(Data Security)
개시된 "가상 디바이스" 저장은, 종래의 설계들에 비하여 데이터 보안에 관하여 상당한 개선을 제공한다. 각각의 미디어 파일을 수 많은 파일 슬라이스 조각들로 쪼개고 그리고 상기 파일 슬라이스 조각들을 다수의 클라우드 저장 위치들(바람직하게는 지리적으로 분산된 위치들)에 분산시킴으로써, 해커는 상기 파일을 오리지널 형태로 재조립하는 것이 극도로 어려움을 알게 될 것이다. 또한, 일부 실시예들에서, 파일 슬라이스 조각들은 모두 암호화되며, 이는 임의의 해커를 혼란스럽게하는 데이터 보안의 또 다른 계층을 추가한다. 클라우드 저장 위치들 중 하나에 대한 해킹이 성공했다고 해서, 이것이 전체 미디어 파일을 재조립할 수 있는 능력을 해커에게 제공하지 않을 것이다. 이것은 데이터 보안 분야의 상당한 개선으로서, 종래의 설계들 보다 우수한 것이다.
일부 실시예들에서, 파일 슬라이스 조각들의 프로세싱 및 저장 둘다에 이용되는 서버들은 다수의 클라이언트들에 의해서 공유될 수도 있는바, 데이터 슬라이스들이 어떤 클라이언트에게 속하는지를 상기 데이터 슬라이스들로부터 해커가 식별할 수 없는 방식으로 공유될 수 있다. 이러한 것은, 본 발명의 기술을 이용하여 저장된 데이터 파일의 보안성을 해커가 침해하는 것을 더 어렵게 만든다. 파일 슬라이스 조각들은 서로 다른 클라우드 저장 서버들에 랜덤하게 분산될 수 있으며, 이는 데이터 저장의 보안성을 더욱 향상시킨다. 일부 실시예들에서는, 심지어 클라이언트라도, 모든 파일 슬라이스 조각들이 직접적으로 분산된 위치들을 정확하게 알지 못한다. 또한, 파일 슬라이스 조각들을 재조립하고 및/또는 파일 슬라이스 조각들을 복호화(decrypt)하기 위한 모든 키들(keys)이 저장되는 하나의 장소는 존재하지 않는다. 마지막으로, 데이터 보안성에 대한 추가적인 향상으로서, 메타데이터 저장의 2차원 모델이 이용될 수 있는바 여기서, 데이터를 재구성하는데 필요한 메타데이터는 클라이언트 측 및 원격 클라우드 저장 서버들 둘다에 저장된다.
개시된 속도 및 보안의 개선 및 이용가능한 저장 리소스들의 보다 큰 활용은 오늘날의 통신 프로토콜 및 기술을 사용하여 보다 높은 비디오 데이터 전송 속도를 가능하게 한다.
C. 데이터 이용가능성(Data Availability)
개시된 "가상 디바이스" 저장소는 또한 종래의 저장 기법에 비하여, 데이터의 이용가능성에 대한 개선을 제공한다. 서로 다른 다수의 클라우드 서버들 상에 저장되는 다수의 파일 슬라이스 조각들로 파일을 쪼갬으로써, 클라이언트 위치와 물리적 클라우드 위치들 중 하나 사이의 통신 문제들은, 다른 데이터 위치들에서의 낮은 레이턴시를 갖는 정상 통신들에 의해서 보상될 수 있다. 파일 조각들을 다수의 위치들에 분산시키는 것의 전체적인 효과는, 사이트들 중 하나에서의 통신 중단으로 인한 운전정지(outages)로부터 전체 시스템을 격리한다는 점이다.
파일 슬라이스 조각들을 저장하기 위하여 많은 저장 노드들을 사용하는 것은, 클라이언트 데이터의 저장에서 이용가능한 보안성을 크게 향상시킨다. 매우 많은 개수의 SNN들에서 서로 다른 슬라이스 조각들을 활용하고 그리고 이들을 유용한 파일로 재구성하기 위해 필요한 정보를 찾는 작업은 해커에게 매우 어렵다.
슬라이스 조각의 분산을 위해 소거 코딩을 사용하는 것은 고유한 오류 체킹/정정을 통해 신뢰성의 여분의 계층을 부가하며, 이는 시스템이 고유한 성능 적중률 및 보안 위험으로 다중 데이터 복제의 필요성을 없앨 수 있다.
바람직하게는, 중간 서버 프로세싱 노드들(intermediate server processing nodes) 모두는, 고성능 프로세서들로 구성되며 그리고 낮은 레이턴시들을 갖는다. 이것은 데이터 전송들에 대한 높은 이용가능성을 클라이언트에게 제공할 수 있다.
바람직하게는, 상기 중간 서버 프로세싱 노드들은, 서비스들을 요청하는 클라이언트와의 레이턴시를 최소화하기 위해, 각각의 클라이언트 요청에 응답하여 동적으로 선택될 수도 있다. 또한, 클라이언트는 파일 슬라이스 조각들을 저장하는데 사용될 클라우드 저장 서버들의 목록으로부터 선택할 수도 있으며, 그리고 그의 지리적 위치 및 이들 서버들의 이용가능성에 기초하여 상기 목록을 최적화시킬 수도 있다. 이것은 또한, 각각의 전송 요청시에 각각의 클라이언트에 대한 데이터 이용가능성을 더욱 극대화한다.
D. 데이터 신뢰성(Data reliability)
개시된 "가상 디바이스" 저장은 또한 클라우드 데이터 저장 시스템의 신뢰성에 있어서 종래 기술에 비하여 개선된 점을 제공한다. 각각의 파일을 파일 슬라이스 조각들로 나누는 것은, 물리적 클라우드 저장 위치들 중 하나에서의 하드웨어 또는 소프트웨어 실패들 혹은 에러들이 상기 파일에 대한 액세스를 방해하지 않을 것임을 의미한다(과거의 일부 기존 시스템들에서와 같이, 전체 파일이 하나의 물리적 위치에 저장된다면 그러했던 것처럼).
또한, 본원에 논의된 소거 코딩 기법의 사용은 시스템에서 고품질의 에러 정정 능력들을 보장하며, 이는 데이터 보안 뿐만 아니라 데이터 신뢰성을 향상시킨다. 원본 데이터를 식별할 수 없게 만드는 소거 코딩의 사용과 중복 데이터를 구비한 여러개의 노드들은 강력하고 안전한 에러 정정 기술을 추가한다. 패킷 손실 문제는 더 이상 적절한 고려 사항이 아니다. 개시된 기술은 서비스 영역 전체의 다수의 서버들 상에서 원본 비디오 파일의 완전한 리던던트 복사본들에 대한 필요성을 제거한다. 소거 코딩은 일련의 파일 조각 저장 노드들에 추후에 분산되는 일련의 파일 슬라이스 조각들을 생성함과 아울러, 사전 정의된 레벨의 리던던시를 데이터 수집에 부가한다. 이러한 프로세스에서 사용되는 소거 코딩에 대해 30% 이상의 최적 리던던시가 바람직하다. 만일, 미디어 파일이 자주 액세스되는 경우, 시스템은 특정 슬라이스의 파일 객체 리던던시를 증가시킬 수 있다.
E. 기존의 클라우드 인프라스트럭처 리소스들의 사용
본 명세서에 개시된 주제의 구성요소들은 공적 리소스들 및 사적 리소스들 둘다와 함께, 기존의 클라우드 서버 인프라스트럭처들을 이용할 수 있다. 현재의 클라우드 제공자들은, 본 발명의 방법과 함께 사용하도록, 그들의 기존의 하드웨어 및 소프트웨어 인프라스트럭처를 설정할 수 있다. 따라서, 본 명세서에 개시된 기술에 의해서 제공되는 장점들의 대부분은 최소한의 투자만으로 이용될 수 있는데, 왜냐하면 수정이 없거나 또는 최소한의 수정만으로도, 현재 존재하고 있는 클라우드 리소스들이 이용될 수 있기 때문이다.
또한, 파일 슬라이스 조각들의 프로세싱 및 저장 둘다에 사용되는 서버들은 여러 클라이언트에 의해 공유될 수 있으므로, 슬라이스가 어떤 클라이언트에게 속하는지를 슬라이스들로부터 해커가 식별할 수 없다. 따라서, 이것은, 본 발명의 기술을 사용하여 저장된 미디어 파일 데이터의 보안을 해커가 손상시키는 것을 더욱 어렵게 만든다.
F. 인프라스트럭처 비용의 절감
일부 실시예들은 기존의 클라우드 저장 기법 솔루션들에 비하여, 매우 적은 리던던시를 필요로 한다. 전술한 바와 같이, 과거의 저장 시스템은 미러링 및 복제에 전용되는 500% 정도까지의 추가적인 저장소를 필요로 할 수 있다. 본 명세세에 개시된 실시예들은, 오리지널 파일 사이즈에 대한 30%의 리던던시만을 가지고도 성공적으로 동작할 수 있는데, 왜냐하면 이들의 본질적인 높은 신뢰성 때문이다. 30%의 리던던시만을 가지고도, 기존의 시스템들에 비하여, 더 높은 레벨의 신뢰성을 획득할 수 있다. 높은 리던던시를 위한 필요성이 감소한 결과, 클라우드 저장 능력을 위한 비용이 감소한다.
요약하면, 예시적인 실시예에서, 본 명세서에 개시된 IP 카메라 비디오 프로세싱/인코딩 및 분산 저장 기술은 다음과 같은 기본적인 작업을 수행한다:
1) IP 카메라 비디오 파일을 피스들 또는 파일 슬라이스들로 분할하며, 이들은 또한 파일 조각들로 더 쪼개질 수 있으며, 이는 식별불가능한 피스들을 제공하도록 소거 코딩된다.
2) 파일 슬라이스들의 맵들이 생성되는바, 이는 클라이언트 컴퓨터에서 데이터를 재조립할 수 있게 하도록 파일들이 어떻게 분할되었는지를 설명한다. 이러한 맵은 메타데이터 파일에 저장된다.
3) 추가적인 데이터 보안을 위해 파일 슬라이스의 선택적 암호화.
4) 데이터 저장 공간을 줄이고 전송 속도를 향상시키기 위해 파일 슬라이스를 선택적으로 압축한다.
5) 향상된 오류 정정 및 데이터 복구를 가능하게 하도록 파일 슬라이스들을 소거 코딩한다. 상기 슬라이스들은 소거 코딩 프로세스에 의해 파일 슬라이스 조각들로 분할된다.
6) 파일 슬라이스 조각들을 파일 슬라이스들로 재구성하는데 필요한 파일 슬라이스 조각들의 맵을 생성한다. 이러한 맵은 제 2 메타데이터 파일에 저장된다.
7) 추가 데이터 보안을 위해 파일 슬라이스 조각들을 선택적으로 암호화한다.
8) 저장 공간 요구 사항을 줄이고 전송 속도를 향상시키기 위해 파일 슬라이스 조각들을 선택적으로 압축한다.
9) 클라이언트 디바이스에서 파일 슬라이스 조각들을 디코딩하고 그리고 파일 슬라이스들로 재구성하며, 이후 클라이언트 미디어 플레이어(또는 브라우저)에서 재생하기 위해 전체 비디오 파일로 재구성한다. 다음을 유의해야 하는바, 조각들은 적절한 순서로 슬라이스들로 조립되어야만 하며 그리고 슬라이스들은 적절한 순서로 전체 파일로 조립되어야만 한다. 클라이언트 소프트웨어는 2개의 메타데이터 파일들에 의해 제공되는 맵핑 정보를 사용하여 이들 2개의 스테이지들에서 비디오 파일을 재구성한다.
이러한 본 발명 기술의 기본 구조는 다음과 같은 동작 요소들에 의해 구현되는 것으로 시각화될 수 있다.
1. IP 카메라의 CSP(도 6A 참조)는 비디오 파일을 파일 슬라이스들로 쪼개고, 선택적으로 슬라이스들을 암호화하고, 그리고 슬라이스들이 원본 미디어 파일로 재구성되는 방법에 대한 맵과 함께 메타데이터 파일을 생성한다. 메타데이터 파일은 슬라이스들을 올바른 순서로 조합하는데 필요한, 각각의 파일 슬라이스의 순서에 대한 정보도 유지 관리한다.
2. IP 카메라의 FEDP(도 6A 참조)는 식벽할 수 없는 피스들을 생성하는 소거 코딩을 사용하여, 각각의 파일 슬라이스를 파일 슬라이스 조각들로 나눈다. 예시적인 일실시예에서, 소거 코딩은 30%의 데이터 리던던시를 부가한다. 제 2 메타데이터 파일은 파일 슬라이스 조각들이 파일 슬라이스들로 어떻게 재구성되는지를 맵핑한다. 제 2 메타데이터 파일은 클라이언트 디바이스 상에서 조각들을 재생하는 동안 슬라이스들을 올바른 순서로 조합하는데 필요한, 각각의 조각의 순서에 대한 정보도 유지 관리한다.
3. SNN은 데이터 조각들을 분산시키는데 사용되는 다양한 저장 노드들이다. 저장 노드들은 반드시 클라우드의 모든 서버일 필요는 없다. 노드는 데이터 센터, 컴퓨터의 하드 디스크, 모바일 디바이스 또는 데이터 저장이 가능한 다른 멀티미디어 디바이스일 수 있다. 이러한 저장 노드들의 개수와 신원은, 가장 낮은 평균 대기 시간과 최상의 가용성을 갖는 노드들을 구비한 저장 구성의 대기 시간과 보안을 최적화하도록 선택될 수 있다.
4. 비디오 콘텐츠 파일에 액세스하고 재구성하기 위해 구현될 수 있는 최종 사용자(end-user) 클라이언트 디코더(ECD). 이러한 4번째 계층이 비디오 파일에 대한 액세스를 위해 미디어 호스트 엔티티에 대한 요청을 개시하며, 이후 저장 중에 생성된 2개의 메타데이터 파일들로부터 도출된 맵핑 파일들을 수신하여, 위의 경우 ECD는 파일 슬라이스 조각들을 검색하고 슬라이스들로 조립할 수 있으며, 비디오 파일의 재생 혹은 저장을 위해 슬라이스들을 원본 비디오 파일로 조립할 수 있다. 명백한 바와 같이, 비디오 파일은 미디어 컨텐츠의 온 디맨드 재생에 필요한 적절한 순서로 조립되어야만 한다.
비록 본 명세서가 다수의 특정한 세부 구현예들을 포함하고 있지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정한 피처들에 대한 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에 설명된 특정 피처들은 또한 단일 실시예에서 조합으로 구현될 수 있다. 반대로, 단일 실시예와 관련하여 설명된 다양한 피처들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수도 있다. 더욱이, 상기에서 피처들이 소정의 특정 조합으로 작용하는 것으로 서술될 수도, 심지어 처음에는 이와 같이 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 피처들은 일부 경우 조합으로부터 배제될 수도 있고, 그리고 청구된 조합은 서브 조합 또는 서브 조합의 변형에 관한 것일 수도 있다.
이와 유사하게, 비록 도면들에서 동작들이 특정 순서로 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해, 이러한 동작들이 도시된 순서대로 또는 순차적인 순서대로 수행됨을 요구하거나 또는 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서 멀티 태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 서술된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 여러 소프트웨어 제품들에 패키징될 수 있다.
이와 같이, 본 발명의 주제에 대한 특정 실시예가 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 존재한다. 경우에 따라, 청구 범위에 나열된 액션들은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 얻을 수 있다. 또한, 첨부된 도면에 도시된 프로세스들은 바람직한 결과를 얻기 위해, 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하는 것은 아니다. 특정 구현예에서, 멀티 태스킹 및 병렬 프로세싱이 유리할 수도 있다.

Claims (25)

  1. IP 카메라로부터의 신호들을 보안 전송하기 위한 방법으로서,
    상기 카메라의 하나 이상의 프로세서들을 이용하여, 상기 카메라 내부의 프로세싱 유닛으로부터 수신된 출력 비디오 신호를 개별 피스들(discrete pieces)로 분리하는 단계(separating); 및
    상기 하나 이상의 프로세서들 및 상기 카메라의 통신 네트워크 인터페이스를 이용하여, 다중 전송 스트림들을 사용하여 다수의 분산된 저장 네트워크 노드들로 상기 개별 피스들을 분산시키는 단계(dispersing)
    를 포함하며,
    상기 전송 스트림들은 통신 네트워크를 통해 전송되며, 어떠한 전송 스트림도 상기 출력 비디오 신호를 재구성하기에 충분한 데이터를 갖지 않는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  2. 제1항에 있어서,
    상기 분리하는 단계는,
    상기 개별 피스들로부터 상기 출력 비디오 신호를 재조립하기 위해 메타데이터를 생성하는 단계; 및
    상기 개별 피스들이 상기 메타데이터를 사용하여 검색될 수 있으며 그리고 상기 출력 비디오 신호로 재조립될 수 있는 다수의 저장 네트워크 노드들로 상기 개별 피스들을 전송하는 단계
    를 포함하는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  3. 제2항에 있어서,
    상기 메타데이터는 상기 개별 피스들 각각을, 상기 다수의 분산된 저장 네트워크 노드들 중 각각의 저장 네트워크 노드에 맵핑하는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  4. 제2항에 있어서,
    상기 분산시키는 단계는,
    상기 메타데이터의 적어도 일부를 하나 이상의 상기 저장 네트워크 노드들에 전송하는 단계; 및
    상기 개별 피스들에 액세스하고 상기 개별 피스들을 상기 출력 비디오 신호로 재조립하도록 구성된 사용자 컴퓨팅 디바이스로 상기 메타데이터의 적어도 일부분을 전송하는 단계
    를 포함하는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  5. 제2항에 있어서,
    상기 분리하는 단계는,
    객체 저장 기술을 사용하여 상기 출력 비디오 신호를 파일 슬라이스 조각들로 분해하는 단계(disassembling)를 포함하며,
    상기 생성된 메타데이터는, 프로세서가 각각의 저장 네트워크 노드들로부터 복수의 파일 슬라이스 조각들을 검색할 수 있게하고 그리고 검색된 파일 슬라이스 조각들을 상기 출력 비디오 신호로 재조립할 수 있게하는 정보를 포함하는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  6. 제5항에 있어서,
    소거 코딩 알고리즘을 사용하여 상기 파일 슬라이스 조각들을 인코딩하는 단계를 더 포함하며,
    상기 인코딩된 파일 슬라이스 조각들은 에러 정정을 위해 최적화되고 그리고 상기 출력 비디오 신호는 상기 파일 슬라이스 조각들로부터 식별불가능한 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  7. 제5항에 있어서,
    상기 다수의 분산된 저장 네트워크 노드들로 분산된 파일 슬라이스 조각들을 상기 메타데이터의 적어도 일부를 이용하여 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  8. 제1항에 있어서,
    상기 분리하는 단계는,
    상기 출력 비디오 신호를 복수의 파일 슬라이스들로 분리하는 단계;
    상기 복수의 파일 슬라이스들을 파일 슬라이스 조각들로 분리하는 단계;
    상기 파일 슬라이스들 각각과 상기 파일 슬라이스 조각들 각각에 고유 식별자들을 할당하는 단계;
    상기 파일 슬라이스 조각들로부터 파일 슬라이스들을 재조립하고 그리고 상기 파일 슬라이스들로부터 상기 출력 비디오 신호를 재조립하기 위한 메타데이터를 생성하는 단계; 및
    적어도 하나의 프로세서를 사용하여, 상기 메타데이터의 하나 이상의 부분들을 상기 다수의 저장 네트워크 노드들 중 적어도 하나에 저장하는 단계
    를 포함하는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  9. 제8항에 있어서,
    상기 슬라이스들을 파일 슬라이스 조각들로 분리하는 단계는,
    복수의 식별할 수 없는 파일 슬라이스 조각들을 생성하기 위해 상기 파일 슬라이스들을 암호화 및 소거 코딩하는 단계를 포함하는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  10. 제1항에 있어서,
    상기 개별 피스들은, 상기 다중 전송 스트림들을 통해 상기 다수의 분산된 저장 네트워크 노드들에 병렬로 분산되는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  11. 제1항에 있어서,
    상기 프로세서를 이용하여, 복수의 이용가능한 저장 네트워크 노드들 중에서 상기 다수의 저장 네트워크 노드들을 선택하는 단계; 및
    상기 통신 네트워크를 통해 상기 선택된 저장 네트워크 노드들 각각과의 하나 이상의 전송 스트림들을 확립하는 단계
    를 더 포함하는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  12. 제11항에 있어서,
    상기 다수의 저장 네트워크 노드들은 다양한 지리적 위치들에 위치하며, 공용 및 사설 클라우드 저장 네트워크 노드들 둘다를 포함하는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  13. 제11항에 있어서,
    특정 저장 네트워크 노드의 처리량 측정치(throughput measure),
    상기 특정 저장 네트워크 노드의 현재 레이턴시 측정치,
    상기 특정 저장 네트워크 노드에 저장하기 위해 이미 선택된 파일 슬라이스 조각들의 볼륨,
    상기 특정 저장 네트워크 노드의 위치,
    상기 특정 스토리지 네트워크 노드의 가용성(availability), 및
    상기 파일 슬라이스 조각들을 저장하기 위해 요구되는 소정의 리던던시 레벨
    중 하나 이상에 기초하여 상기 특정 저장 네트워크 노드가 선택되는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  14. 제1항에 있어서,
    복수의 상기 개별 피스들을 동시에 전송하도록 복수의 상기 다중 전송 스트림들이 이용되는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  15. 제14항에 있어서,
    상기 전송 스트림들 각각이 이용되어, 상기 개별 피스들 중 하나 이상을 각각의 저장 네트워크 노드로 전송하는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  16. 제14항에 있어서,
    전송에 이용되는 전송 스트림들의 개수는,
    저장 네트워크 노드들의 수,
    통신 네트워크 연결의 대역폭,
    상기 다중 전송 스트림들 각각의 대역폭, 및
    상기 파일 슬라이스 조각들을 저장하기 위해 요구되는 리던던시 레벨
    중 하나 이상에 따라 정의되는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  17. 제1항에 있어서,
    고장시에 상기 개별 피스들 중 하나 이상을 다른 전송 스트림에 의해서 전송하는데 사용되도록, 복수의 상기 다중 전송 스트림들이 예약되는 것을 특징으로 하는 IP 카메라로부터의 신호들을 보안 전송하기 위한 방법.
  18. IP 통신 네트워크를 통해 신호들을 안전하게 전송하도록 구성된 IP 카메라로서,
    렌즈, 비디오 이미지를 캡처하도록 구성된 이미지 센서, 및 캡처된 이미지로부터 출력 비디오 신호를 생성하도록 구성된 하나 이상의 신호 프로세싱 유닛을 포함하는 이미징 컴포넌트;
    머신 판독가능한 명령들이 저장되어 있는 형태로 클라이언트 어플리케이션을 갖는 비-일시적인 메모리;
    상기 IP 카메라를 통신 네트워크에 연결하는 네트워크 인터페이스; 및
    상기 이미징 컴포넌트 및 상기 네트워크 인터페이스에 결합된 하나 이상의 프로세서들을 포함하며,
    상기 하나 이상의 프로세서들은 상기 클라이언트 어플리케이션을 실행하며 그리고 상기 하나 이상의 프로세서들은,
    상기 이미징 컴포넌트로부터 상기 출력 비디오 신호를 수신하고 상기 출력 비디오 신호를 개별 피스들로 분리하며,
    상기 네트워크 인터페이스를 이용하여, 상기 개별 피스들을 다중 전송 스트림을 사용하여 다수의 분산된 저장 네트워크 노드들 사이에 분산시키도록 구성되고,
    상기 전송 스트림들은 상기 통신 네트워크를 통해 전송되며, 그 어떤 전송 스트림도 상기 출력 비디오 신호를 재구성하기에 충분한 데이터를 갖지 않는 것을 특징으로 하는 IP 카메라.
  19. 제18항에 있어서,
    상기 하나 이상의 프로세서들은 또한,
    상기 개별 피스들로부터 상기 출력 비디오 신호를 재조립하기 위해 메타데이터를 생성하고; 그리고
    상기 개별 피스들이 상기 메타데이터를 사용하여 검색될 수 있으며 그리고 상기 출력 비디오 신호로 재조립될 수 있는 다수의 저장 네트워크 노드들로 상기 개별 피스들을 전송하도록 구성되는 것을 특징으로 하는 IP 카메라.
  20. 제19항에 있어서,
    상기 메타데이터는 상기 개별 피스들 각각을, 상기 다수의 분산된 저장 네트워크 노드들 중 각각의 저장 네트워크 노드에 맵핑하는 것을 특징으로 하는 IP 카메라.
  21. 제20항에 있어서,
    상기 하나 이상의 프로세서들은 또한,
    상기 메타데이터의 적어도 일부를 하나 이상의 상기 저장 네트워크 노드들에 전송하고; 그리고
    상기 개별 피스들에 액세스하고 상기 개별 피스들을 상기 출력 비디오 신호로 재조립하도록 구성된 사용자 컴퓨팅 디바이스로 상기 메타데이터의 적어도 일부분을 전송하도록 구성되며,
    상기 메타데이터는, 상기 사용자 컴퓨팅 디바이스가 각각의 저장 네트워크 노드들로부터 복수의 파일 슬라이스 조각들을 검색할 수 있게하고 그리고 검색된 파일 슬라이스 조각들을 상기 출력 비디오 신호로 재조립할 수 있게하는 것을 특징으로 하는 IP 카메라.
  22. 제19항에 있어서,
    상기 하나 이상의 프로세서들은, 객체 저장 기술을 사용하여 상기 출력 비디오 신호를 파일 슬라이스 조각들로 분해함으로써, 상기 분리를 수행하는 것을 특징으로 하는 IP 카메라.
  23. 제22항에 있어서,
    상기 하나 이상의 프로세서들은 또한,
    소거 코딩 알고리즘을 사용하여 상기 파일 슬라이스 조각들을 인코딩하도록 구성되며, 상기 인코딩된 파일 슬라이스 조각들은 에러 정정을 위해 최적화되고 상기 출력 비디오 신호는 상기 파일 슬라이스 조각들로부터 식별불가능한 것을 특징으로 하는 IP 카메라.
  24. 제22항에 있어서,
    상기 하나 이상의 프로세서들은 또한,
    상기 다수의 분산된 저장 네트워크 노드들로 분산된 파일 슬라이스 조각들을 상기 메타데이터의 적어도 일부를 이용하여 인코딩하도록 구성되는 것을 특징으로 하는 IP 카메라.
  25. 제22항에 있어서,
    상기 하나 이상의 프로세서는 또한,
    복수의 이용가능한 저장 네트워크 노드들 중에서 상기 다수의 저장 네트워크 노드들을 선택하고; 그리고
    상기 네트워크 인터페이스를 이용하여, 상기 통신 네트워크를 통해 상기 선택된 저장 네트워크 노드들 각각과의 하나 이상의 전송 스트림들을 확립하도록 구성되는 것을 특징으로 하는 IP 카메라.
KR1020187003826A 2015-07-08 2016-07-07 카메라로부터 신호들을 보안 전송하기 위한 시스템 및 방법 KR20180052603A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562189769P 2015-07-08 2015-07-08
US62/189,769 2015-07-08
PCT/US2016/041349 WO2017007945A1 (en) 2015-07-08 2016-07-07 System and method for secure transmission of signals from a camera

Publications (1)

Publication Number Publication Date
KR20180052603A true KR20180052603A (ko) 2018-05-18

Family

ID=57685944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187003826A KR20180052603A (ko) 2015-07-08 2016-07-07 카메라로부터 신호들을 보안 전송하기 위한 시스템 및 방법

Country Status (9)

Country Link
US (1) US20180218073A1 (ko)
EP (1) EP3320456A4 (ko)
JP (1) JP2018525866A (ko)
KR (1) KR20180052603A (ko)
CN (1) CN107851112A (ko)
AU (1) AU2016290088A1 (ko)
CA (1) CA2989334A1 (ko)
IL (1) IL255296A0 (ko)
WO (1) WO2017007945A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10931402B2 (en) 2016-03-15 2021-02-23 Cloud Storage, Inc. Distributed storage system data management and security
RU2632473C1 (ru) * 2016-09-30 2017-10-05 ООО "Ай Ти Ви групп" Способ обмена данными между ip видеокамерой и сервером (варианты)
US11042661B2 (en) 2018-06-08 2021-06-22 Weka.IO Ltd. Encryption for a distributed filesystem
US11182247B2 (en) 2019-01-29 2021-11-23 Cloud Storage, Inc. Encoding and storage node repairing method for minimum storage regenerating codes for distributed storage systems
US11567678B2 (en) 2019-01-30 2023-01-31 Practechal Solutions Inc. Method and system for surveillance system management
US10992960B2 (en) * 2019-02-06 2021-04-27 Jared Michael Cohn Accelerated video exportation to multiple destinations
US11223667B2 (en) 2019-04-30 2022-01-11 Phantom Auto Inc. Low latency wireless communication system for teleoperated vehicle environments
US11223556B2 (en) * 2019-06-04 2022-01-11 Phantom Auto Inc. Platform for redundant wireless communications optimization
KR102691882B1 (ko) * 2020-03-02 2024-08-06 칼테라 세미컨덕터 테크놀로지 (상하이) 컴퍼니 리미티드 자동 이득 제어 방법, 센서 및 무선 전기 소자
US11516439B1 (en) * 2021-08-30 2022-11-29 Black Sesame Technologies Inc. Unified flow control for multi-camera system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1402852A (zh) * 1999-10-22 2003-03-12 动感天空公司 面向目标的视频系统
WO2002035359A2 (en) * 2000-10-26 2002-05-02 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
CN100409673C (zh) * 2006-07-21 2008-08-06 南京航空航天大学 基于嵌入式ip存储技术的高性能分布式并行存储系统
US8296812B1 (en) * 2006-09-01 2012-10-23 Vudu, Inc. Streaming video using erasure encoding
CN1971562A (zh) * 2006-11-29 2007-05-30 华中科技大学 面向对象存储系统中的对象分布方法
US20100293580A1 (en) * 2009-05-12 2010-11-18 Latchman David P Realtime video network
JP5397014B2 (ja) * 2009-05-21 2014-01-22 ソニー株式会社 監視システム、撮像装置、解析装置及び監視方法
CN101605148A (zh) * 2009-05-21 2009-12-16 何吴迪 云存储的并行系统的架构方法
US9462316B2 (en) * 2009-12-29 2016-10-04 International Business Machines Corporation Digital content retrieval utilizing dispersed storage
US8830327B2 (en) * 2010-05-13 2014-09-09 Honeywell International Inc. Surveillance system with direct database server storage
US20120011200A1 (en) * 2010-07-06 2012-01-12 Roxbeam Media Network Corporation Method and apparatus for data storage in a peer-to-peer network
CN102726042B (zh) * 2010-09-02 2016-04-27 英特赛尔美国有限公司 视频处理系统和视频解码系统
US8473778B2 (en) * 2010-09-08 2013-06-25 Microsoft Corporation Erasure coding immutable data
US20130041808A1 (en) * 2011-08-10 2013-02-14 Nathalie Pham Distributed media access
EP2660723A1 (en) * 2012-05-03 2013-11-06 Thomson Licensing Method of data storing and maintenance in a distributed data storage system and corresponding device

Also Published As

Publication number Publication date
CA2989334A1 (en) 2017-01-12
IL255296A0 (en) 2017-12-31
JP2018525866A (ja) 2018-09-06
CN107851112A (zh) 2018-03-27
EP3320456A4 (en) 2018-07-18
US20180218073A1 (en) 2018-08-02
EP3320456A1 (en) 2018-05-16
WO2017007945A1 (en) 2017-01-12
AU2016290088A1 (en) 2017-11-23

Similar Documents

Publication Publication Date Title
KR20180052603A (ko) 카메라로부터 신호들을 보안 전송하기 위한 시스템 및 방법
US20240187480A1 (en) Method and System for Federated Over-the-Top Content Delivery
US11310546B2 (en) Distributed multi-datacenter video packaging system
JP6867162B2 (ja) 異なる符号化パラメータを用いて符号化された複数の符号化物のストリーミング
CA2932005C (en) Uploading and transcoding media files
KR102027410B1 (ko) 계층화된 신호 품질 계층에서의 재구성 데이터의 송신
WO2014057555A1 (ja) 情報処理装置、情報処理システム、情報処理プログラム、及び動画データ送受信方法
WO2011068784A1 (en) Method and system for secure and reliable video streaming with rate adaptation
JP2010504652A (ja) ビデオネットワークを管理する方法及びシステム
JP2015136060A (ja) 通信装置、通信データ生成方法、および通信データ処理方法
US9338204B2 (en) Prioritized side channel delivery for download and store media
US20170237794A1 (en) Technologies for distributed fault-tolerant transcoding with synchronized streams
US10924524B2 (en) Communication devices, communication data generation method, and communication data processing method
KR102176404B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
US20220417313A1 (en) Digital media data management system comprising software-defined data storage and an adaptive bitrate media streaming protocol
Robert et al. Adjusting bit-stream video watermarking systems to cope with HTTP adaptive streaming transmission
JP7292901B2 (ja) 送信装置、送信方法、及びプログラム
Van Ma et al. An efficient transmission method based on HEVC multi-view adaptive video streaming over P2P network in NFV
KR102440794B1 (ko) Pod 기반의 영상 컨텐츠 전송 방법 및 장치
KR102414301B1 (ko) Pod 기반의 영상 관제 시스템 및 pod 기반의 영상 처리 방법
Callens Cloud-based video stabilization processing in real-time
Veeravalli et al. Distributed Technologies for Multimedia Retrieval Over Networks
KR20180032241A (ko) 클라이언트의 요청에 따른 실시간 비디오 스트리밍 방법 및 장치