KR20180030018A - 분산형 객체 라우팅 - Google Patents

분산형 객체 라우팅 Download PDF

Info

Publication number
KR20180030018A
KR20180030018A KR1020187000261A KR20187000261A KR20180030018A KR 20180030018 A KR20180030018 A KR 20180030018A KR 1020187000261 A KR1020187000261 A KR 1020187000261A KR 20187000261 A KR20187000261 A KR 20187000261A KR 20180030018 A KR20180030018 A KR 20180030018A
Authority
KR
South Korea
Prior art keywords
file
chunks
index
storage
assigned
Prior art date
Application number
KR1020187000261A
Other languages
English (en)
Other versions
KR102042939B1 (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 KR20180030018A publication Critical patent/KR20180030018A/ko
Application granted granted Critical
Publication of KR102042939B1 publication Critical patent/KR102042939B1/ko

Links

Images

Classifications

    • G06F17/30082
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • 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/17Details of further file system functions
    • 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/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • G06F17/30321
    • G06F17/30486
    • G06F17/30516
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

파일의 비인가된 재구성을 방지하도록 파일을 저장하는 것은, 파일의 인덱스를 생성하는 것; 파일을 복수의 청크들로 파티셔닝하는 것 - 파일의 인덱스는 복수의 청크들 각각에 대한 배정된 라우팅 경로를 포함함; 및 각각의 청크를 배정된 라우팅 경로를 통해 배정된 스토리지 제공자에게 라우팅하는 것을 포함한다. 키워드들은 파티셔닝과 인덱스를 포함한다.

Description

분산형 객체 라우팅
본 발명은 객체 라우팅에 관한 것이고, 더 상세하게는, 분산형 객체 라우팅에 관한 것이다.
디지털 데이터 및 파일들이 재생, 저장, 전송, 및/또는 복사되도록 원격으로 위치된 컴퓨터 및 통신 네트워크들에 걸쳐서 액세스되고 배포될 수 있다. 비록 기초를 이루는 기술들이 많은 합법적이고 유용한 애플리케이션을 갖지만, 디지털 데이터 및 파일들의 불법 복사본들을 생성하는 데에 자주 사용되며, 그 불법 복사본들은 그러면 인터넷을 통해 배포될 수 있다.
본 발명은 파일을 다수의 스토리지 제공자(storage provider)에 걸쳐 암호화된 블록들로서 배포(distributing)함으로써 파일들의 비인가된 재구성(unauthorized reconstruction)을 방지하는 데이터 스토리지를 제공한다. 배포 규칙들은 임의의 하나의 스토리지 제공자가 파일을 재구성하기에 충분한 블록들을 가지는 것을 방지한다.
하나의 구현예에서, 파일의 비인가된 재구성을 방지하도록 파일을 저장하는 방법이 개시된다. 그 방법은, 파일의 인덱스를 생성하는 단계; 파일을 복수의 청크들로 파티셔닝하는 단계 - 파일의 인덱스는 복수의 청크들 각각에 대한 배정된 라우팅 경로를 포함함; 및 각각의 청크를 배정된 라우팅 경로를 통해 배정된 스토리지 제공자에게 라우팅하는 단계를 포함한다.
다른 구현예에서, 인덱스를 사용하여 파일을 검색하는 방법이 개시된다. 그 방법은 파일의 복수의 청크들이 저장되는 곳을 포함하는 인덱스를 탐색하는 단계; 복수의 스토리지 제공자들로부터 복수의 청크들을 검색하는 단계; 및 파일을 복원하기 위해 복수의 청크들을 재어셈블링하는 단계를 포함한다.
다른 구현예에서, 파일의 비인가된 재구성을 방지하도록 파일을 저장하는 장치가 개시된다. 그 장치는, 파일의 인덱스를 생성하는 수단; 파일을 복수의 청크들로 파티셔닝하는 수단 - 파일의 인덱스는 복수의 청크들 각각에 대한 배정된 라우팅 경로를 포함함; 및 각각의 청크를 배정된 라우팅 경로를 통해 배정된 스토리지 제공자에게 라우팅하는 수단을 포함한다.
다른 구현예에서, 인덱스를 사용하여 파일을 스트리밍하는 방법이 개시된다. 그 방법은, 파일의 복수의 청크들이 저장되는 곳을 포함하는 파일의 프록시 파일의 인덱스를 탐색하는 단계; 복수의 스토리지 제공자들로부터 프록시 파일의 복수의 청크들을 검색하는 단계; 및 프록시 파일의 복수의 청크들을 재어셈블링하고 스트리밍하는 단계를 포함한다.
본 발명의 다른 특징들 및 장점들은, 예로서, 본 발명의 양태들을 예시하는 본원의 상세한 설명으로부터 명확하게 될 것이다.
본 발명의 상세는, 그것의 구조 및 동작 둘 다에 관해, 유사한 참조 번호들이 유사한 부분들을 지칭하는 첨부된 추가의 도면들의 연구에 의해 부분적으로 얻어질 수 있으며, 도면들 중에서:
도 1은 본 개시내용의 하나의 구현예에 따른 분산형 데이터 저장 및 라우팅 시스템의 기능 블록도이며;
도 2는 본 개시내용의 하나의 구현예에 따른 클라이언트 스트림 파서(client stream parser)의 예시적인 기능 블록도이며;
도 3은 본 개시내용의 하나의 구현예에 따라 파일의 비인가된 재구성을 방지하도록 파일(또는 데이터)을 저장하는 방법을 예시하는 흐름도이며;
도 4는 본 개시내용의 하나의 구현예에 따라 "배분해서" 저장된 파일(또는 데이터)을 검색하는 방법을 예시하는 흐름도이며;
도 5는 본 개시내용의 하나의 구현예에 따라 "배분해서" 저장된 파일(또는 데이터)을 스트리밍하는 방법을 예시하는 흐름도이며;
도 6은 다수의 스토리지 제공자들을 통한 청크들의 예시적인 배분들을 도시하며; 그리고
도 7은 인덱스 파일이 강한 암호화 키를 사용하여 암호화되는 암호화 키 관리 전략을 도시한다.
본 명세서에서 개시된 바와 같은 특정한 구현예들이 파일을 암호화된 블록들 또는 청크들로서 다수의 스토리지 로케이션들에 걸쳐 분산시킴으로써 파일들의 비인가된 재구성을 방지하는 디지털 데이터의 저장 및 배포를 제공한다. 배포 규칙들은 임의의 하나의 스토리지 로케이션이 파일을 재구성하기에 충분한 블록들을 가지는 것을 방지한다. 하나의 구현예가 비디오 상연을 위한 비디오 및 자산들의 스토리지를 제공한다. 게다가, 다양한 보안 메커니즘들(키 전략들, 워터마크들 등)이 또한 사용될 수 있다. 콘텐츠 배포 네트워크(content distribution network)(CDN), 에지 서버, 클라이언트-서버 및/또는 피어 투 피어 메커니즘들을 포함하는 국부 및 원격 스토리지의 다양한 조합들이 사용될 수 있다. 구현예들은 완전한 파일을 재현할 수 있을 하나(또는 정의된 수)의 스토리지 제공자들의 위험을 제거(또는 적어도 실질적으로 감소시킬) 안전한 분산형 스토리지를 제공하는 것; 파일 스토리지에 추가적인 내구성을 제공하는 것; 및 프록시 스트리밍을 허용하기 위해서 청크화된 매체(chunked media)의 트랜스코드를 허용하는 것을 포함하는 하나 이상의 이점들을 제공할 수 있다.
하나의 구현예는 네트워크 리소스들 상에 저장된 파일들의 보안을 증가시키는 시스템 및 방법을 포함한다. 이 구현예에서, 파일, 이를테면 영화를 저장하는 암호화된 파일이, 블록들 또는 청크들로 나누어지고 블록들/청크들은 상이한 스토리지 로케이션들, 이를테면 인터넷에 접속되고 상이한 스토리지 제공자들("SP들")에 의해 운영되는 저장 서버들에 저장된다. 스토리지 로케이션이 하나 이상의 블록들을 가질 수 있지만, 하나의 스토리지 제공자는 파일에 대한 완전한 액세스(full access)를 할 수 없거나 또는 완전한 파일(full file)을 재구성할 수 없다. 이러한 분산은 콘텐츠에 액세스하려는 해커 또는 다른 엔티티에게 추가적인 장애물을 제공한다. 하나의 구현예에서, 분산된 블록들이 트랜스코딩된 파일의 생성 및 스트리밍을 보호하기 위해 사용된다.
추가의 구현예에서, 각각의 스토리지 제공자가 클라우드 데이터 센터(예컨대, AWS, Azure, Rackspace)에서 호스팅된다. 대안적으로 또는 부가적으로, 구내 데이터 스토리지가 적어도 일부 블록들에 대해 사용될 수 있다. 하나의 예시적인 구현예에서, 스토리지는 적어도 세 개의 SP들에 걸쳐 스트라이핑된다(striped). 다른 구현예들이 상이한 최소 및 최대 수들의 SP들을 사용할 수 있다. 인덱스 파일이 블록들/청크들의 로케이션들을 나타낸다. 예시적인 구현예에서, 파일의 완전한 복원이 적어도 두 개의 SP들을 요구할 것이다. 하나의 개개의 SP는 파일의 완전한 복원을 허용하기에 충분한 정보를 가지지 않을 것이다. 마찬가지로, 하나의 트랜스코딩 구현예에서, 트랜스코딩된 청크들은 파일 저장 메커니즘과 유사한 분산 방식으로 분산된다. 추가의 구현예에서, 추가적인 보안 대책이, SP 및/또는 클라이언트 키들을 사용하여 블록들 및 인덱스 파일을 암호화하는 것; 그 블록들에 오류 정정 및 체크섬들을 제공하는 것; 및 적어도 두 개의 SP들에 걸쳐 블록들을 저장하는 것을 포함한다.
하나의 특정 구현예에서, 의료 기록들, 환자 데이터, 및/또는 이미지들을 저장하는 의료 자산 저장 시스템이 개시된다. 이 구현예에서, 다수의 스토리지 제공자들(SP들)에 걸쳐 파일들을 분산시키는 것은 데이터에 보안 및 내구성을 제공한다. 게다가, 상이한 보안 메커니즘들(이를테면 키 전략들)이 보안의 가변하는 유형들 또는 레벨들을 상이한 자산들 또는 데이터에 제공할 수 있다. 예를 들어, 병원, 의사, 보험 제공자, 및 환자에 의해 사용되는 데이터는, 모든 자산들이 조직화를 위해 공통 식별자에 연관될 수 있으면서도, 가변하는 데이터 접근 및 보안 레벨들을 제공하기 위해 가변하는 저장 및 키 전략들로 분산형 시스템에 모두가 저장될 수 있다. 이런 식으로, 하나의 SP가 파일의 모두에 액세스할 수 없을 뿐만 아니라, 조합된 시스템에서의 하나의 참가자(예컨대, 보험 제공자)가 특정 환자/피보험자에 대한 시스템에서의 적절한 자산들에만 액세스할 수 있다.
도 1은 본 개시내용의 하나의 구현예에 따른 분산형 데이터 저장 및 라우팅 시스템(100)의 기능 블록도이다. 분산형 데이터 저장 및 라우팅 시스템(100)이 네트워크 리소스들 상에 저장된 데이터/파일들(102)의 보안을 증가시키도록 구성된다. 특정 구현예에서, 시스템(100)은 완전한 파일을 재현할 수 있을 하나 이상의 스토리지 제공자들의 위험을 실질적으로 감소시킬 분산형 스토리지를 제공한다.
도 1의 예시된 구현예에서, 분산형 데이터 저장 및 라우팅 시스템(100)은 클라이언트 스트림 파서(110), 복수의 게이트웨이들(122, 124, 126, 128) 및 대응하는 복수의 스토리지 제공자들(132, 134, 136, 138)을 포함한다. 클라이언트 스트림 파서(110)는 파일, 이를테면 영화를 저장하는 암호화된 파일을 저장하고, 그 파일을 상이한 스토리지 로케이션들에 저장될 블록들 또는 청크들로 분할하도록 구성된다. 분할된 블록들 또는 청크들은 그러면 복수의 스토리지 제공자들(132, 134, 136, 138)에 의해 저장되기 위해 복수의 게이트웨이들(122, 124, 126, 128)에 네트워크(예컨대, 인터넷)를 통해 분산된다. 저장된 모든 객체들(예컨대, 블록/청크들)은 스토리지 제공자 암호화를 통해 암호화될 것이고, 클라이언트-특정된 키에 기초하여 또한 암호화될 수 있다. 청크들의 로케이션들은 클라이언트-특정된 키로 또한 암호화될 수 있는 인덱스 파일에 저장된다.
복수의 스토리지 제공자들(132, 134, 136, 138)은 다양한 오류 정정 체크들을 제공함으로써 데이터/파일들의 무결성 및 가용성을 보장한다. 예를 들어, 각각의 스토리지 제공자(132, 134, 136, 또는 138)는 청크들의 무결성을 검증하기 위해 체크섬들과 같은 오류 정정 체크들을 제공한다. 다른 예에서, 분산형 데이터 저장 및 라우팅 시스템(100)은 적어도 두 개의 스토리지 제공자들에 걸쳐 데이터의 패리티 (청크화된 파일 당 m개까지의 복사본)을 제공하는 반면, 각각의 스토리지 제공자는 내구성을 위해 자신 소유의 메커니즘을 제공한다. 최소한도로, 내구성 등급은 최소 내구성 스토리지 제공자의 내구성 등급의 2배일 것이다.
시스템(100)은 프록시 스트리밍을 허용하기 위해 청크화된 데이터의 트랜스코딩을 또한 가능하게 한다. 게다가, 분산형 데이터 저장 및 라우팅 시스템(100)은 파일을 (메타데이터 및/또는 속성들과 함께) 저장하는 것, 파일을 검색하는 것, 또는 파일을 스트리밍하는 것을 포함하는 다양한 일차 최종 사용자 대 파일 상호작용들을 제공한다. 상호작용들의 각각은 도 3, 도 4, 및 도 5에 각각 예시된 흐름도들(300, 400, 500)에서 상세히 설명된다.
도 2는 본 개시내용의 하나의 구현예에 따른 클라이언트 스트림 파서(110)의 예시적인 기능 블록도이다. 도 2의 예시된 구현예에서, 파일이 10개의 청크화된 엘리먼트(1 내지 10으로 라벨표시됨)로 분할된다. 클라이언트 스트림 파서(110)는 안전하며, 추적 가능하고, 랜덤화된 인덱싱을 제공한다. 예를 들어, 각각의 청크화된 엘리먼트는 주어진 파일 내에 인덱싱된 시작 및 정지 위치(도시되지 않음)를 가진다.
하나의 구현예에서, 청크화된 엘리먼트 당 m개까지의 복사본들이 생성되고, 그 복사본들은 n개까지의 스토리지 제공자들에 걸쳐 배치된다. 예시된 예에서, 각각의 청크화된 엘리먼트의 두 개의 복사본(m = 2)이 세 개의 스토리지 제공자(210, 212, 214)(n = 3)에 걸쳐 배치된다. 예를 들어, 청크화된 엘리먼트 1이 스토리지 제공자 1 및 2에 배치된다. 다른 청크화된 엘리먼트들의 배치는, SP 2 및 3에서의 청크화된 엘리먼트 2; SP 1 및 3에서의 청크화된 엘리먼트 3; SP 3 및 2에서의 청크화된 엘리먼트 4; SP 1 및 2에서의 청크화된 엘리먼트 5; SP 3 및 2에서의 청크화된 엘리먼트 6; SP 3 및 2에서의 청크화된 엘리먼트 7; SP 3 및 1에서의 청크화된 엘리먼트 8; SP 1 및 2에서의 청크화된 엘리먼트 9; 및 SP 2 및 3에서의 청크화된 엘리먼트 10을 포함한다. 클라이언트 스트림 파서(110)는 어떤 청크화된 엘리먼트들(시작 및 정지 위치들을 가짐)이 어떤 스토리지 제공자들에 저장되는지와 같은 정보를 포함하는 인덱스 파일을 생성한다. 하나의 구현예에서, 인덱스 파일은, 액세스하기 위해 두 개의 키들을 요구하는 암호화를 통해 보호된다. 하나의 키가 시스템(100)에 의해 보유되며, 다른 키는 클라이언트에 의해 보유된다. 인덱스 파일은 위에서 설명된 바와 같은 데이터/파일의 파싱 및 배포와 유사한 방식으로, 다수의 스토리지 제공자들에 걸쳐 파싱되고 배포될 수 있다. 예를 들어, 프로세스가 인덱스 파일을 인덱스의 청크들로 파티셔닝하는 것, 인덱스의 청크들의 인덱싱된 엘리먼트들을 생성하는 것, 및 인덱싱된 엘리먼트들에 따라 인덱스의 청크들을 배정된 스토리지 제공자들에게 라우팅하는 것을 포함할 수 있다.
도 3은 본 개시내용의 하나의 구현예에 따라 파일의 비인가된 재구성을 방지하도록 파일(또는 데이터)을 저장하는 방법을 예시하는 흐름도(300)이다. 하나의 구현예에서, 이는 파일을 암호화된 블록들 또는 청크들로서 다수의 스토리지 로케이션들에 걸쳐 분산함으로써 성취된다.
도 3의 예시된 구현예에서, 방법은 파일을 수신하고, 단계 310에서, 배정된 속성들 및 라우팅 정보를 갖는 인덱스를 생성하는 것을 포함한다. 파일 유형 체크, 바이러스 스캔, 및 체크섬은, 단계 320에서, 파일에 대해 수행된다. 그 파일은 그 다음에, 단계 330에서, 청크들로 파티셔닝된다. 하나의 구현예에서, 인덱스는 청크들로 또한 파티셔닝된다. 단계 340에서, 암호화, 체크섬, 및 다른 준비가 청크들에 대해 수행된다. 준비된 청크들에는, 단계 350에서, 라우팅 경로들이 배정되고 그 청크들은, 단계 360에서, 배정된 스토리지 제공자들에게 라우팅된다. 하나의 구현예에서, 시스템(100)에서의 스토리지 제공자들의 총 수(n)는 2보다 커야만 한다.
도 4는 본 개시내용의 하나의 구현예에 따라 "배분해서" 저장된 파일(또는 데이터)을 검색하는 방법을 예시하는 흐름도(400)이다. 도 4의 예시된 구현예에서, 방법은 단계 410에서, 청크화된 인덱스를 탐색하는 것과 단계 420에서, 스토리지 제공자-특정 암호화 스킴에 기초하여 청크들을 암호해독하는 것을 포함한다. 암호해독된 청크들은 그 다음에 단계 430에서 재어셈블링되고, 파일 검색 프로세스가 단계 440에서 가능하게 된다. 하나의 구현예에서, 파일의 완전한 복원이 적어도 m개의 스토리지 제공자를 요구하며, 여기서 m은 1보다 크지만 (즉, 하나의 스토리지 제공자는 파일의 완전한 복원을 허용하기에 충분한 정보를 포함하지 않지만), n-1 이하이다(여기서 n은 스토리지 제공자들의 총 수이다). 이는 1 < m ≤ n-1로서 표현될 수 있다.
도 5는 본 개시내용의 하나의 구현예에 따라 "배분해서" 저장된 파일(또는 데이터)을 스트리밍하는 방법을 예시하는 흐름도(500)이다. 도 5의 예시된 구현예에서, 그 방법은 단계 510에서, 파일의 프록시 파일에 대한 청크화된 인덱스를 탐색하는 것과, 단계 520에서, 스토리지 제공자-특정 암호화 스킴에 기초하여 청크들을 검색하고 암호해독하는 것을 포함한다. 암호해독된 청크들은 그 다음에 단계 530에서 재어셈블링되고, 파일 스트리밍 프로세스가 단계 540에서 가능하게 된다.
도 6은 다수의 스토리지 제공자들을 통한 청크들의 예시적인 배분들(600)을 도시한다. 아래에서 설명되는 예들에서, 다음의 정의들이 적용된다: (1) 스토리지 제공자들의 총 수(n); (2) 파일을 검색하는데 요구된 스토리지 제공자들의 최소 수(m); (3) 각각의 청크에 대해 만들어야 될 것이 필요한 복사본의 최소 수(p); 및 (4) 파일의 완전한 복원을 제공하는 동안 손실될 수 있는 스토리지 제공자들의 수(q).
예 1에서, 10개의 청크가 n = 3, p = 2, m = 2, 및 q = 1로 하여 세 개의 스토리지 제공자를 통해 분산된다. 이 예에서, SP1은 청크 1, 2, 4, 6, 7, 8, 9를 저장하며; SP2는 청크 3, 4, 5, 7, 8, 9, 10을 저장하며; 그리고 SP3은 청크 1, 2, 3, 5, 6, 10을 저장한다. 전체 10개 청크 파일(full ten chunk file)을 복원하기 위해서는, 조합(SP1 및 SP2, SP1 및 SP3, 또는 SP2 및 SP3)이 필요하다. 따라서, 그들 세 개의 2-스토리지 제공자 쌍들 각각은 하나의 스토리지 제공자가 드롭(drop)될 수 있음을 나타낸다. 그러므로, 총 세 개의 스토리지 제공자(즉, n = 3)가 있으며, 각각의 청크의 두 개의 복사본이 만들어지며(즉, p = 2), 적어도 두 개의 스토리지 제공자가 파일을 검색하기 위해 요구되고(즉, m = 2), 적어도 하나의 스토리지 제공자가 소실되어도 그 파일의 완전한 복원을 제공할 수 있다(즉, q = 1)는 것을 알 수 있다.
예 2에서, 10개의 청크가 n = 4, p = 3, m = 3, 및 q = 1로 하여 네 개의 스토리지 제공자를 통해 분산된다. 이 예에서, SP1은 청크 1, 4, 7, 8, 9를 저장하며; SP2는 청크 2, 3, 5, 9, 10을 저장하며; SP3은 청크 1, 5, 6, 7, 8을 저장하며; 그리고 SP4는 청크 2, 3, 4, 6, 10을 저장한다. 전체 10개 청크 파일을 복원하기 위해서는, 조합(SP1/SP2/SP3, SP1/SP2/SP4, SP1/SP3/SP4, 또는 SP2/SP3/SP4)이 필요하다. 따라서, 그들 네 개의 3-SP 조합들 각각은 하나의 스토리지 제공자가 드롭될 수 있음을 나타낸다. 그러므로, 총 네 개의 스토리지 제공자들(즉, n = 4)이 있으며, 각각의 청크의 세 개의 복사본이 만들어지며(즉, p = 3), 적어도 세 개의 스토리지 제공자가 파일을 검색하기 위해 요구되고(즉, m = 3), 적어도 하나의 스토리지 제공자가 소실되어도 그 파일의 완전한 복원을 제공할 수 있다(즉, q = 1)는 것을 알 수 있다.
예 3에서, 10개의 청크가 n = 5, p = 2, m = 4, 및 q = 1로 하여 다섯 개의 스토리지 제공자를 통해 분산된다. 이 예에서, SP1은 청크 1, 2, 5, 6을 저장하며; SP2는 청크 1, 3, 4, 8을 저장하며; SP3은 청크 2, 3, 4, 7을 저장하며; SP4는 청크 6, 8, 9, 1을 저장하며; 그리고 SP5는 청크 5, 7, 9, 10을 저장한다. 전체 10개 청크 파일을 복원하기 위해서는, 조합(SP1/SP2/SP3/SP4, SP1/SP2/SP3/SP5, SP1/SP2/SP4/SP5, SP1/SP3/SP4/SP5, 또는 SP2/SP3/SP4/SP5)이 필요하다. 따라서, 그들 다섯 개 4-SP 조합들 각각은 하나의 스토리지 제공자가 드롭될 수 있음을 나타낸다. 그러므로, 총 다섯 개의 스토리지 제공자들(즉, n = 5)이 있으며, 각각의 청크의 두 개의 복사본이 만들어지며(즉, p = 2), 적어도 네 개의 스토리지 제공자가 파일을 검색하기 위해 요구되고(즉, m = 4), 적어도 하나의 스토리지 제공자가 소실되어도 그 파일의 완전한 복원을 제공할 수 있다(즉, q = 1)는 것을 알 수 있다.
예 4에서, 10개의 청크가 n = 5, p = 3, m = 3, 및 q = 2로 하여 다섯 개의 스토리지 제공자를 통해 분산된다. 이 예에서, SP1는 청크 1, 2, 5, 6, 7, 8, 9를 저장하며; SP2는 청크 3, 4, 6, 7, 8, 10을 저장하며; SP3은 청크 2, 5, 6, 8, 9, 10을 저장하며; SP4는 청크 1, 2, 3, 4, 5, 7을 저장하며; 그리고 SP5는 청크 1, 3, 4, 8, 9, 10을 저장한다. 전체 10개 청크 파일을 복원하기 위해서는, 조합(SP1/SP2/SP3, SP1/SP2/SP4, SP1/SP2/SP5, SP1/SP3/SP4, SP1/SP3/SP5, SP1/SP4/SP5, SP2/SP3/SP4, SP2/SP3/SP5, SP2/SP4/SP5, 또는 SP3/SP4/SP5)이 필요하다. 따라서, 그들 열 개의 3-SP 조합들 각각은 두 개의 스토리지 제공자가 드롭될 수 있음을 나타낸다. 그러므로, 총 다섯 개의 스토리지 제공자들(즉, n = 5)이 있으며, 각각의 청크의 세 개의 복사본이 만들어지며(즉, p = 3), 적어도 세 개의 스토리지 제공자가 파일을 검색하기 위해 요구되고(즉, m = 3), 적어도 두 개의 스토리지 제공자가 소실되어도 그 파일의 완전한 복원을 제공할 수 있다(즉, q = 2)는 것을 알 수 있다.
예 5에서, 10개의 청크가 n = 6, p = 3, m = 4, 및 q = 2로 하여 여섯 개의 스토리지 제공자를 통해 분산된다. 이 예에서, SP1은 청크 1, 2, 3, 4, 10을 저장하며; SP2는 청크 1, 2, 3, 6, 10을 저장하며; SP3은 청크 2, 3, 4, 5, 9를 저장하며; SP4는 청크 4, 5, 6, 7, 8을 저장하며; SP5는 청크 5, 6, 7, 8, 9를 저장하며; 그리고 SP6는 청크 1, 7, 8, 9, 10을 저장한다. 전체 10개 청크 파일을 복원하기 위해서는, 조합(SP1/SP2/SP3/SP4, SP1/SP2/SP3/SP5, SP1/SP2/SP3/SP6, SP1/SP3/SP4/SP5, SP1/SP3/SP4/SP6, SP1/SP4/SP5/SP6, SP2/SP3/SP4/SP5, SP2/SP3/SP4/SP6, SP2/SP4/SP5/SP6, SP2/SP3/SP5/SP6, SP3/SP4/SP5/SP6, SP1/SP2/SP4/SP5, SP1/SP2/SP4/SP6, SP1/SP2/SP5/SP6, 또는 SP1/SP3/SP5/SP6)이 필요하다. 따라서, 그들 열다섯 개의 4-SP 조합들 각각은 두 개의 스토리지 제공자가 드롭될 수 있음을 나타낸다. 그러므로, 총 여섯 개의 스토리지 제공자들(즉, n = 6)이 있으며, 각각의 청크의 세 개의 복사본이 만들어지며(즉, p = 3), 적어도 네 개의 스토리지 제공자가 파일을 검색하기 위해 요구되고(즉, m = 4), 적어도 두 개의 스토리지 제공자가 소실되어도 그 파일의 완전한 복원을 제공할 수 있다(즉, q = 2)는 것을 알 수 있다.
예 6에서, 10개의 청크가 n = 6, p = 4, m = 3, 및 q = 3으로 하여 여섯 개의 스토리지 제공자를 통해 분산된다. 이 예에서, SP1은 청크 1, 2, 3, 4, 5, 6, 10을 저장하며; SP2는 청크 1, 2, 3, 4, 6, 10을 저장하며; SP3은 청크 2, 3, 4, 5, 7, 8, 9를 저장하며; SP4는 청크 1, 4, 5, 6, 7, 8, 9를 저장하며; SP5는 청크 2, 5, 6, 7, 8, 9, 10을 저장하며; 그리고 SP6는 청크 1, 3, 7, 8, 9, 10을 저장한다. 전체 10개 청크 파일을 복원하기 위해서는, 조합(SP1/SP2/SP3, SP1/SP2/SP4, SP1/SP2/SP5, SP1/SP2/SP6, SP1/SP3/SP4, SP1/SP3/SP5, SP1/SP3/SP6, SP1/SP4/SP5, SP1/SP4/SP6, SP1/SP5/SP6, SP2/SP3/SP4, SP2/SP3/SP5, SP2/SP3/SP6, SP2/SP4/SP5, SP2/SP4/SP6, SP2/SP5/SP6, SP3/SP4/SP5, SP3/SP4/SP6, 또는 SP4/SP5/SP6)이 필요하다. 따라서, 그들 열아홉 개의 3-SP 조합들의 각각은 세 개의 스토리지 제공자가 드롭될 수 있음을 나타낸다. 그러므로, 총 여섯 개의 스토리지 제공자들(즉, n = 6)이 있으며, 각각의 청크의 네 개의 복사본이 만들어지며(즉, p = 4), 적어도 세 개의 스토리지 제공자가 파일을 검색하기 위해 요구되고(즉, m = 3), 적어도 세 개의 스토리지 제공자가 소실되어도 그 파일의 완전한 복원을 제공할 수 있다(즉, q = 3)는 것을 알 수 있다.
도 7은 인덱스 파일이 강한 암호화 키를 사용하여 암호화되는 암호화 키 관리 전략을 도시한다. 예시된 구현예에서, 고유 인덱스 암호화 키(700)가 각각의 사용자에 대해 생성된다. 인덱스 암호화 키(700)는 사용자에 의해 관리되는 패스워드를 사용하여 암호화된다. 따라서, 사용자는 파일을 업로드하거나 또는 다운로드할 때마다 자신의 패스워드를 제공한다.
전술한 방법들, 장치, 및 연관된 비-일시적 저장 매체는 많은 변화들이 가능하다. 덧붙여, 명료하고 간략한 설명을 위해, 방법들, 장치, 및 비-일시적 저장 매체의 많은 설명들이 단순화되어 있다. 많은 설명들은 특정 표준들의 기술용어 및 구조들을 사용한다. 그러나, 개시된 방법들, 장치, 및 비-일시적 저장 매체는 더 광범위하게 적용 가능하다.
본 기술분야의 통상의 기술자들에게는 본 명세서에서 개시된 구현예들에 관련하여 설명되는 다양한 예시적인 논리 블록들, 모듈들, 유닛들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로서 종종 구현될 수 있다는 것이 이해될 것이다. 하드웨어 및 소프트웨어의 이러한 교환가능성을 명백하게 예증하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 및 단계들이 일반적으로 그것들의 기능의 관점에서 위에서 설명되어 있다. 이러한 기능이 하드웨어 또는 소프트웨어 중 어느 것으로 구현되는지는 전체 시스템에 부과되는 특정 제약조건들에 따라 달라진다. 통상의 기술자들은 설명된 기능을 각각의 특정 시스템에 대하여 가변하는 방식들로 구현할 수 있지만, 이러한 구현 결정들은 본 발명의 범위를 벗어나게 하는 것으로 해석되지 않아야 한다. 덧붙여서, 유닛, 모듈, 블록, 또는 단계 내의 기능들의 그룹화는 설명의 편의를 위한 것이다. 특정 기능들 또는 단계들은 본 발명으로부터 벗어나지 않고 하나의 유닛, 모듈, 또는 블록으로부터 이동될 수 있다.
본 명세서에서 개시된 구현예들에 관련하여 설명된 블록 또는 모듈의 프로세스들과 방법의 단계들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들 두 가지의 조합으로 직접적으로 실시될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM 또는 임의의 다른 형태의 저장 매체 내에 존재할 수 있다. 예시적인 저장 매체는 프로세서가 그 저장 매체로부터 정보를 읽을 수 있고 그 저장 매체에 정보를 쓸 수 있도록 프로세서에 연결될 수 있다. 대체예에서, 저장 매체는 프로세서에 통합될 수 있다. 프로세서와 저장 매체는 ASIC 내에 존재할 수 있다. 덧붙여, 커플링되는 것으로서 설명되는 디바이스, 블록들, 또는 모듈들은 중개자 디바이스, 블록들, 또는 모듈들을 통해 커플링될 수 있다.
개시된 구현예들의 위의 설명은 본 기술분야의 임의의 통상의 기술자가 본 발명을 제작하고 사용하는 것을 가능하게 하도록 제공된다. 이들 구현예들에 대한 다양한 변형예들이 본 기술분야의 통상의 기술자들에게 쉽사리 명확하게 될 것이고, 본 명세서에서 설명되는 일반 원리들은 본 발명의 정신 또는 범위로부터 벗어나지 않고 다른 구현예들에 적용될 수 있다. 예를 들어, 파일들 대신에 또는 파일들에 부가하여, 게임 객체들 또는 다른 유형들의 가상 객체들이 사용될 수 있다. 따라서, 그 기법들은 위에서 설명된 특정 예들로 제한되지 않는다. 따라서, 본 출원서에서 제시되는 설명 및 도면들은 본 발명의 현재의 바람직한 구현예를 나타내고 그러므로 본 발명에 의해 광범위하게 예상되는 발명의 주제를 대표한다는 것이 이해된다. 본 발명의 범위는 본 기술분야의 통상의 기술자들에게 자명하게 될 수 있는 다른 구현예들을 완전히 포괄한다는 것과 본 발명의 범위는 그에 따라 첨부의 청구항들 외의 어떤 것으로도 제한되지 않는다는 것이 추가로 이해된다.

Claims (18)

  1. 파일의 비인가된 재구성(unauthorized reconstruction)을 방지하도록 상기 파일을 저장하는 방법으로서,
    상기 파일의 인덱스를 생성하는 단계;
    상기 파일을 복수의 청크들로 파티셔닝(partitioning)하는 단계 - 상기 파일의 상기 인덱스는 상기 복수의 청크들 각각에 대한 배정된 라우팅 경로를 포함함; 및
    각각의 청크를 상기 배정된 라우팅 경로를 통해 배정된 스토리지 제공자(storage provider)에게 라우팅하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 파일의 상기 인덱스를 상기 인덱스의 청크들로 파티셔닝하는 단계를 더 포함하는, 방법.
  3. 제2항에 있어서,
    상기 인덱스의 상기 청크들의 인덱싱된 엘리먼트들을 생성하는 단계; 및
    상기 인덱싱된 엘리먼트들에 따라 상기 인덱스의 상기 청크들을 배정된 스토리지 제공자들로 라우팅하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서, 상기 파일의 상기 인덱스는 배정된 속성들 및 라우팅 정보를 포함하는, 방법.
  5. 제1항에 있어서, 상기 파일의 상기 인덱스는 클라이언트-특정된 키(client-specified key)로 암호화되는, 방법.
  6. 제1항에 있어서, 상기 파일의 상기 복수의 청크들을 저장하는 데에 사용되는 스토리지 제공자들의 총 수가 2보다 큰, 방법.
  7. 제1항에 있어서, 상기 복수의 청크들에 대해 암호화 및 체크섬(checksum)을 수행하는 단계를 더 포함하는, 방법.
  8. 제1항에 있어서, 각각의 청크가 상기 파일 내의 시작 및 정지 위치들을 가지는, 방법.
  9. 인덱스를 사용하여 파일을 검색하는 방법으로서,
    상기 파일의 복수의 청크들이 저장되는 곳을 포함하는 상기 인덱스를 탐색(look up)하는 단계;
    복수의 스토리지 제공자들로부터 상기 복수의 청크들을 검색하는 단계; 및
    상기 파일을 복원하기 위해 상기 복수의 청크들을 재어셈블링(reassembling)하는 단계
    를 포함하는, 방법.
  10. 제9항에 있어서, 스토리지 제공자-특정 암호화 스킴(storage provider-specific encryption scheme)에 기초하여 상기 복수의 청크들을 암호해독하는 단계를 더 포함하는, 방법.
  11. 제9항에 있어서, 상기 파일의 상기 복수의 청크들을 검색하는 데에 사용되는 스토리지 제공자들의 총 수가 2보다 큰, 방법.
  12. 파일의 비인가된 재구성을 방지하도록 상기 파일을 저장하는 장치로서,
    상기 파일의 인덱스를 생성하는 수단;
    상기 파일을 복수의 청크들로 파티셔닝하는 수단 - 상기 파일의 상기 인덱스는 상기 복수의 청크들 각각에 대한 배정된 라우팅 경로를 포함함; 및
    각각의 청크를 상기 배정된 라우팅 경로를 통해 배정된 스토리지 제공자에게 라우팅하는 수단
    을 포함하는, 장치.
  13. 제12항에 있어서, 상기 파일의 상기 인덱스를 상기 인덱스의 청크들로 파티셔닝하는 수단을 더 포함하는, 장치.
  14. 제13항에 있어서,
    상기 인덱스의 상기 청크들의 인덱싱된 엘리먼트들을 생성하는 수단; 및
    상기 인덱싱된 엘리먼트들에 따라 상기 인덱스의 상기 청크들을 배정된 스토리지 제공자들로 라우팅하는 수단을 더 포함하는, 장치.
  15. 제12항에 있어서, 상기 복수의 청크들에 대해 암호화 및 체크섬을 수행하는 수단을 더 포함하는, 장치.
  16. 인덱스를 사용하여 파일을 스트리밍하는 방법으로서,
    상기 파일의 복수의 청크들이 저장되는 곳을 포함하는 상기 파일의 프록시 파일(proxy file)의 인덱스를 탐색하는 단계;
    복수의 스토리지 제공자들로부터 상기 프록시 파일의 상기 복수의 청크들을 검색하는 단계; 및
    상기 프록시 파일의 상기 복수의 청크들을 재어셈블링하고 스트리밍하는 단계
    를 포함하는, 방법.
  17. 제16항에 있어서, 스토리지 제공자-특정 암호화 스킴에 기초하여 상기 복수의 청크들을 암호해독하는 단계를 더 포함하는, 방법.
  18. 제16항에 있어서, 상기 프록시 파일의 상기 복수의 청크들을 검색하는 데에 사용되는 스토리지 제공자들의 총 수가 2보다 큰, 방법.
KR1020187000261A 2015-07-20 2016-07-15 분산형 객체 라우팅 KR102042939B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/804,174 2015-07-20
US14/804,174 US10177907B2 (en) 2015-07-20 2015-07-20 Distributed object routing
PCT/US2016/042494 WO2017015108A1 (en) 2015-07-20 2016-07-15 Distributed object routing

Publications (2)

Publication Number Publication Date
KR20180030018A true KR20180030018A (ko) 2018-03-21
KR102042939B1 KR102042939B1 (ko) 2019-11-08

Family

ID=57834554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187000261A KR102042939B1 (ko) 2015-07-20 2016-07-15 분산형 객체 라우팅

Country Status (6)

Country Link
US (2) US10177907B2 (ko)
EP (1) EP3308287A4 (ko)
JP (2) JP6543420B2 (ko)
KR (1) KR102042939B1 (ko)
CN (1) CN107851084A (ko)
WO (1) WO2017015108A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210270B2 (en) * 2017-03-09 2021-12-28 Microsoft Technology Licensing, Llc Mapping storage across storage providers
CN107979461B (zh) * 2017-10-27 2020-07-17 财付通支付科技有限公司 秘钥找回方法、装置、终端、秘钥托管服务器及可读介质
US11709957B2 (en) * 2020-05-04 2023-07-25 Netapp, Inc. Methods for securing files within a storage device using artificial intelligence and devices thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059171A1 (en) * 2004-08-25 2006-03-16 Dhrubajyoti Borthakur System and method for chunk-based indexing of file system content
US20070250519A1 (en) * 2006-04-25 2007-10-25 Fineberg Samuel A Distributed differential store with non-distributed objects and compression-enhancing data-object routing
US20100161608A1 (en) * 2008-12-18 2010-06-24 Sumooh Inc. Methods and apparatus for content-aware data de-duplication
US20140270161A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Method and apparatus for secure storage and retrieval of live off disk media programs

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7830000A (en) * 1999-09-20 2001-04-24 Ethentica, Inc. Server-side implementation of a cryptographic system
CN1258921C (zh) * 2002-07-30 2006-06-07 中兴通讯股份有限公司 分布式视频点播系统及其实现数据存储和访问的方法
US20060059174A1 (en) * 2004-09-16 2006-03-16 International Business Machines Corporation Apparatus, system, and method for locating an application compatible with a file
JP5445138B2 (ja) 2007-12-28 2014-03-19 日本電気株式会社 データ分散格納方法およびデータ分散格納システム
US8438456B2 (en) 2009-10-05 2013-05-07 Cleversafe, Inc. Method and apparatus for dispersed storage of streaming data
US9537650B2 (en) 2009-12-15 2017-01-03 Microsoft Technology Licensing, Llc Verifiable trust for data through wrapper composition
AU2011235075B2 (en) 2010-03-31 2015-10-01 Security First Corp. Systems and methods for securing data in motion
WO2012042509A1 (en) 2010-10-01 2012-04-05 Peter Chacko A distributed virtual storage cloud architecture and a method thereof
US20120136960A1 (en) 2010-11-29 2012-05-31 Beijing Z & W Technology Consulting Co., Ltd Cloud Storage Data Access Method, Apparatus and System
CN101997929A (zh) * 2010-11-29 2011-03-30 北京卓微天成科技咨询有限公司 一种云存储的数据存取的方法、装置及系统
CN103049466B (zh) * 2012-05-14 2016-04-27 深圳市朗科科技股份有限公司 一种基于分布式密文存储的全文检索方法及系统
CN103914483B (zh) * 2013-01-07 2018-09-25 深圳市腾讯计算机系统有限公司 文件存储方法、装置及文件读取方法、装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059171A1 (en) * 2004-08-25 2006-03-16 Dhrubajyoti Borthakur System and method for chunk-based indexing of file system content
US20070250519A1 (en) * 2006-04-25 2007-10-25 Fineberg Samuel A Distributed differential store with non-distributed objects and compression-enhancing data-object routing
US20100161608A1 (en) * 2008-12-18 2010-06-24 Sumooh Inc. Methods and apparatus for content-aware data de-duplication
US20140270161A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Method and apparatus for secure storage and retrieval of live off disk media programs

Also Published As

Publication number Publication date
CN107851084A (zh) 2018-03-27
KR102042939B1 (ko) 2019-11-08
WO2017015108A1 (en) 2017-01-26
EP3308287A1 (en) 2018-04-18
US10523971B1 (en) 2019-12-31
JP2018523250A (ja) 2018-08-16
JP6994006B2 (ja) 2022-01-14
US10177907B2 (en) 2019-01-08
JP6543420B2 (ja) 2019-07-10
US20200028671A1 (en) 2020-01-23
JP2019169196A (ja) 2019-10-03
EP3308287A4 (en) 2018-12-05
US20170026173A1 (en) 2017-01-26

Similar Documents

Publication Publication Date Title
Wang et al. Ensuring data storage security in cloud computing
CN103929467B (zh) 安全在线分布式的数据存储服务
US9009491B2 (en) Distributed storage network and method for encrypting and decrypting data using hash functions
US9104719B2 (en) Storing data and metadata in a distributed storage network
US20170104736A1 (en) Secure data storage on a cloud environment
US20040181688A1 (en) Systems and methods for the copy-protected distribution of electronic documents
US20200287880A1 (en) Data encryption
IL248808A (en) Storing stored information in various locations and broadcasting content-information flow
US8595492B2 (en) On-demand protection and authorization of playback of media assets
JP6994006B2 (ja) 分散型オブジェクトルーティング
Zhang et al. A joint Bloom filter and cross-encoding for data verification and recovery in cloud
Twum et al. A Proposed New Framework for Securing Cloud Data on Multiple Infrastructures using Erasure Coding, Dispersal Technique and Encryption
WO2011159849A1 (en) Medical imaging distribution system
US8656499B1 (en) Client-side bit-stripping system and method
Bian et al. The Jigsaw secure distributed file system
Martínez Casanovas Infrastructureless wallet backed up with P2P technology
Prakash et al. Multi Clouds Model for Service Availability and Security
WO2011013196A1 (ja) 情報処理装置
CN117992980A (zh) 基于区块链的政务数据处理方法及系统
Jacob et al. Privacy Preserving and Auto Regeneration of Data in Cloud Servers Using Seed Block Algorithm
Γριμπά Cloud security & proofs of retrievability: an extended survey
Grimpa Cloud Security & Proofs of Retrievability: An Extended Survey
BB et al. Secure and Dependable Cloud Services for TPA in Cloud Computing
Bian et al. JiGdFs: a seCure distriButed FiLe systeM For MediCaL iMaGe arCHiVinG

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant