CN107615730A - 跨文件***对象和客户端共享的数据的安全的基于云的存储 - Google Patents

跨文件***对象和客户端共享的数据的安全的基于云的存储 Download PDF

Info

Publication number
CN107615730A
CN107615730A CN201680024715.8A CN201680024715A CN107615730A CN 107615730 A CN107615730 A CN 107615730A CN 201680024715 A CN201680024715 A CN 201680024715A CN 107615730 A CN107615730 A CN 107615730A
Authority
CN
China
Prior art keywords
block
file system
file
data
client
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201680024715.8A
Other languages
English (en)
Other versions
CN107615730B (zh
Inventor
T.曼维尔
J.罗佩斯
R.德塞
N.罗森布伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Publication of CN107615730A publication Critical patent/CN107615730A/zh
Application granted granted Critical
Publication of CN107615730B publication Critical patent/CN107615730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/602Providing cryptographic facilities or services
    • 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/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • 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/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • 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/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • 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
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • 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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

公开了用来提供跨文件***对象和客户端共享的数据的安全的基于云的存储的技术。在各种实施例中,为与文件***数据的多个组成区块相关联的对象确定主加密密钥。该主加密密钥被用来至少部分基于该主加密密钥以及包括区块或以其他方式与区块相关联的数据来为所述组成区块的每一个生成对应区块密钥。向文件***客户端提供相应区块密钥,该文件***客户端被配置成至少部分通过使用为包括在多个组成区块中的每个区块提供的区块密钥来加密该区块以生成加密的区块数据、以及组合该加密的区块数据以创建和存储对象来创建和存储对象。

Description

跨文件***对象和客户端共享的数据的安全的基于云的存储
背景技术
已经提供了分布式文件***、文件共享服务等等。在一种方法中,文件***客户端、应用程序和/或在客户端***上运行的代理可接收由在客户端***上运行的应用程序进行的文件***调用,并且可被配置成对远程文件***服务器(例如元数据服务器)进行对应调用。例如,为了存储或更新文件,文件***客户端可生成写入请求并将其发送给文件***元数据服务器。该写入请求可标识期望被写入到文件的多个数据区块。元数据服务器可被配置成提供例如在基于云的对象存储装置中指示数据应该被客户端写入到的一个或多个位置的响应。
在一些分布式文件***中,例如作为删除重复或其他处理的结果,可跨多个文件和/或跨多个文件***客户端来共享被文件***存储的数据区块。在一些实施例中,可跨文件和/或客户端共享的文件***数据的区块可能需要被存储和管理以便在也不用向任何用户提供对用户无权访问的数据的访问的情况下确保文件***的每个用户安全访问用户被授权访问的文件。
附图说明
在下面的详细描述和附图中公开本发明的各种实施例。
图1是图示分布式文件***和环境的一个实施例的框图。
图2是图示客户端***的一个实施例的框图。
图3是图示分布式文件***的一个实施例的框图。
图4是图示用来将文件或其他文件***对象存储在分布式文件***中的过程的一个实施例的流程图。
图5是图示用来处理将文件或其他文件***对象存储在分布式文件***中的请求的过程的一个实施例的流程图。
图6是图示用来存储与分布式文件***相关联的文件区段或“区块”数据的过程的一个实施例的流程图。
图7是图示用来访问存储在分布式文件***中的文件或其他文件***对象的过程的一个实施例的流程图。
图8是图示用来处理访问存储在分布式文件***中的文件或其他文件***对象的请求的过程的一个实施例的流程图。
图9是图示在分布式文件***的一个实施例中使用的文件***元数据表的一个示例集合的框图。
图10是图示分布式文件***的一个实施例中的处于不同粒度级别的文件区段的一个示例的框图。
图11是图示用来将分布式文件***配置成存储文件数据的过程的一个实施例的流程图。
图12是图示在分布式文件***的一个实施例中被用来存储文件数据的元数据表的一个示例的框图。
图13是图示用来将文件存储在分布式文件***中的过程的一个实施例的流程图。
图14是图示用来提供对分布式文件***中存储的文件的访问的过程的一个实施例的流程图。
具体实施方式
可以以许多方式来实施本发明,包括作为一种过程;一种装置;一种***;一种物质组成;一种体现在计算机可读存储介质上的计算机程序产品;以及/或者一种处理器(诸如被配置成执行存储在耦合至处理器的存储器上的和/或由该存储器提供的指令的处理器)。在此说明书中,这些实施方式或者本发明可采用的任何其他形式可被称为技术。一般来说,在本发明的范围内所公开的过程的步骤的顺序可改变。除非另有说明,组件(诸如被描述为被配置成执行任务的处理器或存储器)可被实施为被临时配置为在给定时间执行该任务的通用组件或者被制造来执行该任务的专用组件。如本文中所使用的,术语‘处理器’指的是被配置成处理数据(诸如计算机程序指令)的一个或多个设备、电路和/或处理核。
下面连同图示本发明的原理的附图来提供本发明的一个或多个实施例的详细描述。结合此类实施例来描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求来限制并且本发明包含许多备选、修改和等同物。在下面的描述中陈述许多具体细节以便提供对本发明的透彻理解。提供这些细节以便达到示例的目的并且可在没有这些具体细节中的一些或所有的情况下根据权利要求来实践本发明。为了清晰的目的,在与本发明有关的技术领域中已知的技术材料尚未被详细描述以使得不会不必要地使本发明模糊。
公开了一种删除重复的分布式文件***,其为了达到删除重复的目的将文件分段成第一尺寸的区块但将文件数据存储在大得多的对象中以便利用典型的基于云的对象存储装置的性能特性。在各种实施例中,在客户端设备上运行的文件***客户端对要被存储在第一尺寸的“区块”中的文件进行分段。表示区块的数据(诸如散列或相应区块的其他表示)被发送到远程文件***元数据服务器。该服务器执行删除重复处理来确定各区块中的哪些(如果有的话)可能已经被文件***存储。对于还没有被文件***存储的那些区块,服务器利用用来将多个区块组合到组合对象中并且例如经由HTTP UPT或其他请求将该组合对象存储在由服务器例如使用统一资源标识符(URI)或由服务器提供的其他定位符而指定的位置处的基于云的对象存储装置中的指令而对客户端作出响应。
在各种实施例中,来自不同文件和/或文件***客户端的区块可被存储在相同存储对象中。在各种实施例中,通过以特定于每个相应区块的方式对较大的存储对象内的每个相应区块的数据加密、使得能够基于逐个区块来控制访问(例如通过向文件***客户端提供解密该文件***客户端已检索的、例如客户端提供对具体文件的访问所需要的存储对象内的那些区块所需的仅(一个或多个)加密密钥)来保持跨用户和/或文件***客户端的安全性。
图1是图示分布式文件***和环境的一个实施例的框图。在所示的示例中,该分布式文件***环境100包括在图1中由客户端102、104和106表示的多个客户端***和/或设备。在所示的示例中,客户端连接(无线或以其他方式)到网络108,例如局域网(LAN)、广域网(WAN)、因特网、和/或一个或多个其他公用和/或私用网中的一个或多个。客户端经由网络108访问文件***元数据服务器110。相应客户端(诸如客户端102、104和106)上的应用程序进行文件***调用,在各种实施例中这导致对文件***元数据服务器110进行对应的远程调用。例如,文件***客户端、代理或客户端上的其他实体可拦截或以其他方式接收由应用程序对本地(例如本机)文件***的调用,并且可将此类调用重新指引到被配置成对文件***元数据服务器110进行对应远程调用的代理(例如对应用程序来说透明地)。
在所示的示例中,包括存储在文件***中的对象的数据(诸如文件)被存储在基于云的对象存储装置112中。在一些实施例中,文件可被分段成多个区段或“区块”,它们中的每一个都被存储在基于云的对象存储装置中的对应位置中。对文件***元数据服务器110进行文件***调用,这将文件***元数据存储在文件***元数据存储114中(例如数据库或其他数据存储装置中)。文件***元数据服务器110可将例如对于每个文件或文件***中所存储和表示的其他对象的区段或“区块”映射存储在文件***元数据存储装置114中。例如,对于每个文件名称(例如路径名称),文件***元数据服务器110可将每个区段的散列或其他表示以及对于每一个的使区段被存储(或要被存储)在基于云的对象存储装置112中的对应位置存储在对应区段映射中。其他文件***元数据(诸如通常由文件***存储的元数据)可被文件***元数据服务器110存储在文件***元数据存储装置114中。示例包括但不限于目录、文件或其他节点/对象名称;父和/或子节点的标识;创建时间;创建和/或拥有对象的用户;最后修改的时间和/或其他时间;文件结束符(EOF)或指示对象大小的其他值;安全属性(诸如分类、访问控制列表、等等);和/或其他文件***元数据。
尽管在图1中所示的示例中,文件***元数据服务器110和基于云的对象存储装置112被示出为位于不同网络和/或物理位置中的单独***,但是在其他实施例中该文件***元数据和文件***内容数据可被存储在一起,例如二者都在基于云的资源上和/或二者都在企业或其他网络服务器上,等等。
图2是图示客户端***的一个实施例的框图。在所示的示例中,图1的客户端***/设备102被示为包括在由操作***204提供的环境中运行的应用程序202。该操作***204包括内核(未被示出)和被配置成向应用程序(诸如应用程序202)提供服务和/或功能的其他组件。例如,操作***204可包括和/或被配置成提供对客户端***102的本地文件***(未被示出)的访问。应用程序202可被配置成对本地文件***进行文件***调用,例如以存储文件或由应用程序202创建的/使用应用程序202的其他对象,以修改、移动或删除此类对象,等等。在所示的示例中,由应用程序202进行的文件***调用(在图2中由源于标记“应用程序”(202)的框的向下箭头来表示)被内核模块(或其他组件)206拦截并且被重新指引到文件***客户端(或其他文件***代理)208。在一些实施例中,文件***代理208包括在用户空间中运行的客户端应用程序。在一些实施例中,文件***代理208包括内核或者其他操作***组件或模块。文件***客户端208在该示例中已使其与本地缓存210相关联。在各种实施例中,缓存210可被用来在文件数据被发送到远程存储(例如图1的基于云的对象存储装置112)之前将该文件数据缓冲和/或以其他方式分级,和/或促进对先前存储但可能随后才会请求对其访问的数据的访问。
客户端***102包括网络通信接口212,其提供例如到网络(诸如图1的网络108)的网络连通性。例如,在各种实施例中来自应用程序202的访问远程存储的文件的请求可导致文件***客户端208经由网络通信接口212进行例如到文件***元数据服务器(诸如图1的服务器110)的远程调用。
在各种实施例中,文件***客户端208可被配置成将一个或多个文件***操作和/或请求存储在包括文件***客户端208和/或缓存210或者以其他方式与该文件***客户端208和/或缓存210相关联的元数据写入缓冲器中,该一个或多个文件***操作和/或请求影响包括被文件***客户端208持有的关于其的文件***元数据写入租约的文件***元数据的一部分的文件***元数据。例如,当例如作为通过应用程序(诸如图2的应用程序202)的本地文件***调用的结果而被接收到时,影响元数据的文件***操作可被缓冲,并且可被异步地和/或在事件发生时(例如已接收到和/或已发生的元数据写入租约“中断”事件的指示的收到)传达给远程文件***元数据服务器。例如,第二客户端***可指示执行影响第一客户端***关于其持有租约的文件***元数据的一部分的操作的期望和需要,导致“中断”通信被发送给第一客户端***,这进而“冲掉”缓冲器中的影响已关于其而持有租约的元数据的该部分的至少那些操作。
图3是图示分布式文件***的一个实施例的框图。在所示的示例中,客户端102经由基于安全会话的连接302与文件***元数据服务器110通信。此外,客户端102经由TCP/IP或使得客户端102能够经由HTTP“PUT”请求存储对象(例如文件区段或“区块”)并且经由HTTP“GET”请求检索区段(“区块”)的其他连接与基于云的对象存储装置112通信。在各种实施例中,客户端102(例如文件***客户端或在客户端102上运行的其他代理)经由安全连接302(例如改变或要求文件***元数据的处理和/或使用的文件***操作)发送和接收分布式文件***“控制面板”通信,然而经由连接304发送的通信可被认为包括可经由其来存储和/或检索文件***对象数据(即区段或“区块”)的“数据面板”。在所示的示例中,文件***元数据服务器110访问活动目录306,在各种实施例中该活动目录306可包括可用来认证客户端(诸如客户端102)的用户的信息。
在各种实施例中,可由其上已安装分布式文件***客户端或其他代理的客户端来存储文件***对象(诸如文件)。在各种实施例中,在接收到存储(或修改)文件***对象的请求时,文件***客户端将该对象分段成一个或多个区段或“区块”并为每一个计算参考(例如散列)。该参考被包括在例如经由安全连接(诸如图3的连接302)发送给文件***元数据服务器的文件***请求中。该文件***元数据服务器例如经由PUT请求(其是经由诸如图3的连接304的连接而发送的)返回要被文件***客户端使用的信息以通过将区段数据直接发送给基于云的对象存储装置来将(非副本)区段/区块存储在基于云的对象存储装置中。
图4是图示用来将文件或其他文件***对象存储在分布式文件***中的过程的一个实施例的流程图。在各种实施例中,图4的过程可在客户端***或设备上例如由文件***客户端或客户端***/设备上运行的其他代理(诸如图2的文件***客户端208)来执行。在所示的示例中,例如从应用程序接收存储文件的请求(402)。该文件被分段成一个或多个区段(404)。对于每个区段,计算区段参考(例如散列)(406)。将包括区段参考的文件写入请求发送到文件***元数据服务器(408)。从文件***元数据服务器接收统一资源指示符(URI)或其他指针的集合(410)。在各种实施例中,该指针集合可包括仅用于尚未被分布式文件***存储的那些区段的指针。接收到的指针被用来例如经由直接发送给基于云的对象存储装置的HTTP“PUT”请求来存储区段(412)。
图5是图示用来处理将文件或其他文件***对象存储在分布式文件***中的请求的过程的一个实施例的流程图。在各种实施例中,图5的过程可由文件***元数据服务器(诸如图1的文件***元数据服务器110)来执行。在所示的示例中,接收存储文件的请求(502)。创建使文件***对象名称和/或其他标识符(例如文件名称、路径名称)与一个或多个区段参考(例如散列值)的集合相关联的区段(“区块”)映射(504)。例如基于区段参考来标识已经被分布式文件***存储的不是区段的副本的区段(506)。对于不是副本的每个区段,(例如至少部分基于所有区段参考或其一部分)计算存储位置并且生成URI或可以用来将该区段直接存储在基于云的数据存储装置中的其他指针(508)。在各种实施例中,URI或其他指针被文件***元数据服务器加密签名。URI可具有到期时间,在该到期时间之前URI必须被用于存储区段。URI被发送给从其接收到存储文件的请求的文件***客户端(510)。
图6是图示用来存储与分布式文件***相关联的文件区段或“区块”数据的过程的一个实施例的流程图。在各种实施例中,图6的过程可由基于云的对象存储装置(诸如图1的对象存储装置112)来执行。在所示的示例中,接收与请求中指定的URI相关联的“PUT”请求(602)。检查与URI和在URI中编码的到期时间相关联的加密签名(604)。例如,基于云的对象存储装置可被规定成检查URI已被信任文件***元数据服务器签名和/或URI的到期时间还没有过去。如果URI被确定成当前有效(606),则与PUT请求相关联的有效载荷数据(例如文件***对象区段或“区块”数据)被存储在与URI相关联的位置中(608)。如果URI被确定成不是有效的(606),则PUT请求失败(610),并且文件***客户端接收指示它必须从文件***元数据服务器获得新的URI的响应。
在各种实施例中,可通过其上已安装分布式文件***客户端或其他代理的客户端来检索文件***对象(诸如文件)。在各种实施例中,在接收到访问文件***对象的请求时,文件***客户端例如经由安全连接(诸如图3的连接302)向文件***元数据服务器发送文件访问请求。该文件***元数据服务器例如经由GET请求(其是经由诸如图3的连接304的连接而发送的)返回要被文件***客户端使用的信息(例如一个或多个URI或其他指针)以直接从基于云的对象存储装置检索区段/区块。
图7是图示用来访问存储在分布式文件***中的文件或其他文件***对象的过程的一个实施例的流程图。在各种实施例中,图4的过程可在客户端***或设备上例如由文件***客户端或客户端***/设备上运行的其他代理(诸如图2的文件***客户端208)来执行。在所示的示例中,从应用程序接收访问文件***对象(例如由文件名称标识的文件)的请求(702)。将请求发送到文件***元数据服务器以检索该文件(704)。从文件***元数据服务器并且对于每一个的对应URI和加密密钥接收区段参考的集合(706)。检查本地缓存以确定任何所需的区段是否存在于缓存中(708)。对于缓存中不存在的所有区段,相关联的URI被用来发送GET请求以从基于云的对象存储装置检索该区段,并且相关联的密钥被用来一旦已从对象存储装置接收到处于加密形式的该区段就将其解密(710)。该区段被用来重建文件并且提供对从其接收到访问请求的应用程序的文件的访问(712)。
图8是图示用来处理访问存储在分布式文件***中的文件或其他文件***对象的请求的过程的一个实施例的流程图。在各种实施例中,图5的过程可由文件***元数据服务器(诸如图1的文件***元数据服务器110)来执行。在所示的示例中,接收访问命名文件的请求(802)。与该文件相关联的区段映射被检索并且被用来确定区段参考(例如散列)的集合,以及对于每一个的指示该区段被存储在基于云的区段存储装置中的哪里的对应URI和可用来解密该区段的加密密钥(804)。区段参考、URI、以及密钥被返回到从其接收到文件访问请求的文件***客户端(806)。
图9是图示在分布式文件***的一个实施例中使用的文件***元数据表的一个示例集合的框图。在各种实施例中,图9的表902、904和906可被创建并且由文件***元数据服务器(诸如图1和图3的文件***元数据服务器110)来维护。在所示的示例中,索引节点表902被用来存储将每个命名的文件***对象(例如目录、文件或其他对象)与对应索引节点或其他的唯一编号或标识符相关联的数据。在各种实施例中,区块映射表904被用来存储对于每个文件的以及对于该文件已经被分成的一个或多个区段(区块)中要被存储的每一个的文件内的区块的偏移量、区块标识符(区块id)以及其他元数据。例如,已经被存储为三个区块的文件在表904中将具有三个条目(行),每一个用于一个区块。在各种实施例中,区块id是单调递增的值,其中每个相继存储的区块都被按字母数字顺序给予下一区块id。在各种实施例中,一旦被存储区块就是不可改变的。如果文件数据被修改,则受到影响的数据被存储为新的区块并且被按顺序被分配下一区块id。因此,通过定义的具有更高区块id的区块被存储在具有更低区块id的区块的后面,并且可以假定自从被创建和存储之后没有一个被修改。
进一步参考图9,区块元数据表906包括:对于由区块id(在所示的示例中列908)标识的每个区块以及对于指示区块的尺寸的每个区块元数据的行;其他元数据;指示当前有多少活动文件(或其他文件***对象)引用该区块的引用计数(列910);以及指示区块的状态(即它已被验证还是被删除)的元数据(列912)。
在各种实施例中,当一个区块被第一个存储时,该区块被视为最初处于“未经验证的”状态,并且反映该区块的未经验证的状态的元数据最初可被存储在表906的列912中。验证可由文件***元数据服务器来执行并且可包括读取如被存储在基于云的对象存储装置中的区块,验证该区块数据对应于文件***预期的那个(例如计算如被服务器读取的区块的散列并将该散列与该区块的先前存储的散列(例如从存储该区块的文件***客户端接收的一个散列)相比较),以及更新表906中的状态元数据912以便一旦该区块已被验证就反映其的“已验证”状态。
公开了一种删除重复的分布式文件***,其为了达到删除重复的目的将文件分段成第一尺寸的区块但将文件数据存储在大得多的对象中以便利用典型的基于云的对象存储装置的性能特性。在各种实施例中,客户端设备上运行的文件***客户端对要被存储在第一尺寸的“区块”中的文件进行分段。表示区块的数据(诸如散列)或相应区块的其他表示被发送到远程文件***元数据服务器。该服务器执行删除重复处理来确定各区块中的哪些(如果有的话)可能已经被文件***存储。对于还没有被文件***存储的那些区块,服务器利用用来将多个区块组合到组合对象中并且例如经由HTTP UPT或其他请求将该组合对象存储在由服务器例如使用统一资源标识符(URI)或由服务器提供的其他定位符而指定的位置处的基于云的对象存储装置中的指令而对客户端作出响应。
图10是图示分布式文件***的一个实施例中的处于不同粒度级别的文件区段的一个示例的框图。在所示的示例中,第一文件1002包括所示的数据,在该示例中为数据“A BC D E F”。在被存储的第一文件后面存储的第二文件1004包括数据“C D A B E G”,其中相应文件1002和1004中的大写字母表示在每个文件中数据的字节的相同顺序,例如在第一文件1002的开始的“A”是与由第二文件1004中的相同大写字母“A”所表示的数据相同的数据。
在图10中,例如为了删除重复的目的示出可被使用的两个可能的区段或“区块”尺寸。在第一示例中,示出各区块1006,每一个区块都具有对应于表示分别包括文件1002和1004的数据的三个大写字母的尺寸。在该示例中,将文件1002和1004分段成所示的尺寸的区块1006将导致如在第一文件1002和第二文件1004之间没有发现副本区块。通过比较,通过以更细粒度(即更小区块尺寸)将文件1002和1004分段而创建的区块集合1008将导致显著改进的删除重复。在该示例中,文件1004的区块1014将被确定成文件1002的先前存储的区块1012的副本,并且文件1004的区块1018将被确定成文件1002的先前存储的区块1016的副本。在该示例中,文件1004的区块1022将不会被确定成文件1002的任何先前存储的区块的副本,在这种情况下归因于文件1004的区块1022和文件1002的区块1020(以及文件1002的其他区块)之间的差异。在所示的示例中,可以通过将文件分段成对应于如图10中所表示的个体大写字母的尺寸的区块来实现甚至更高程度的删除重复,因为如果使用该尺寸的区块,仅对应于大写字母“G”的区块,则将发现文件1004不是文件1002中的任何区块的副本。
图10中的示例说明一般来说更小尺寸的区块可产生比更大尺寸的区块更高的删除重复的益处。然而,如果使用太小的区块,则与计算和存储区块数据的散列以检测副本等等相关联的开销可能变得成本太高。因此,通常在通过相对更小区块尺寸实现删除重复的更多益处以及与处理区块相关联的开销之间冲击平衡。
在分布式文件的各种实施例中,进一步的考虑是将区块存储在基于云的对象存储装置(诸如图1的基于云的对象存储装置112)的效率。通常来说,此类基于云的对象存储装置被优化成存储相对于为了达到删除重复和相关开销的目的可能是最佳的区块尺寸而言非常大的对象。例如,对于典型的基于云的对象存储装置,与存储对象相关联的延时以及其他开销可能随着尺寸直到某一尺寸而线性增大,但是然后对于超过某一尺寸(例如与为了达到其他目的(诸如删除重复)可能是最佳的区块尺寸相比而言相对更大的尺寸)的对象趋向平稳。为了利用该特性,在如本文中公开的各种实施例或分布式文件***中,为了文件***操作的目的文件被分段成有利于达到删除重复和/或其他文件***处理的目的的区块尺寸,但是文件数据被存储在就尺寸而言比区块尺寸相对大得多的对象(在本文中有时被称为“二进制大型对象(blob)”,以清楚地区分它们和“文件”或“区块”)中的(一个或多个)基于云的对象存储装置(诸如图1的对象存储装置112)中。在各种实施例中,文件***客户端可被配置和/或指示成将各区块组合成更大的组合对象,并且然后将该组合对象(或“二进制大型对象”)存储在基于云的对象存储装置中。
图11是图示用来将分布式文件***配置成存储文件数据的过程的一个实施例的流程图。在各种实施例中,图1的过程可被用来开发和配置分布式文件***组件,诸如图2的文件***客户端以及图1和/或图6的文件***元数据服务器104。在所示的示例中,确定实现关于删除重复的期望性能和/或一个或多个其他文件***目标的区块尺寸(1102)。在各种实施例中,可整体或部分基于域知识、所有文件集合或文件集合的一部分的静态分析、在使用不同尺寸的区块执行的测试中观测到的删除重复性能、等等来进行该确定。确定要被用来以利用基于云的或其他对象存储装置的与对象尺寸有关的特性的方式来存储文件***数据的对象或“二进制大型对象”尺寸(1104)。例如,可生成性能图表或通过对象尺寸的对象存储装置性能和/或成本(例如延时、开销)的其他表示并且将其用于选择通过对象存储装置来实现期望级别的性能的对象(“二进制大型对象”)尺寸。分布式文件***被配置成将文件分段成为了文件***操作的目的(例如删除重复)而确定的区块尺寸的区块,并且将多个区块组合成所确定的对象尺寸的更大对象(“二进制大型对象”)(1106)以用于基于云的对象存储装置中的存储。
在一些实施例中,可被组合以形成被存储在基于云的对象存储装置中的更大对象(“二进制大型对象”)的区块的数目可能是可变的。例如,区块的数目可基于被存储的文件或文件集合的尺寸而变化。在一些实施例中,文件***客户端可被配置成确定要被组合以形成被存储在基于云的对象存储装置中的更大对象的区块的数目。在一些实施例中,可在文件***服务器(诸如图1和/或图6的文件***元数据服务器104)处作出关于要被组合的区块的数目和/或哪些区块要被包括在哪些对象(“二进制大型对象”)中的确定。在一些实施例中,文件***客户端可被配置成从服务器接收关于哪些区块要被组合在哪些对象中的指示,并且基于此类指令来创建和存储对象。
在一些实施例中,与两个或更多不同文件相关联的区块可被包括在要被存储在基于云的对象存储装置中的相同对象中。在一些实施例中,与文件(其同两个或更多不同文件***客户端相关联)相关联的区块可被包括在如存储在基于云的对象存储装置中的对象中。例如,在一些实施例中,可跨文件***客户端来执行删除重复,在某一情况下这可能导致包括存储对象(“二进制大型对象”)的一个或多个区块被与不同文件***客户端相关联的文件引用。
图12是图示在分布式文件***的一个实施例中被用来存储文件数据的元数据表的一个示例的框图。在各种实施例中,诸如图12的表1202和1210之类的元数据表可被创建并由分布式文件***元数据服务器(诸如图1和/或6的文件***元数据服务器104)来维护。在所示的示例中,区块元数据表1202包括:区块标识符列1203(在其中存储单调递增的区块标识符);区块散列列1204(在其中存储对于每个区块的基于区块的数据的所有或一部分而计算的对应散列)。对于每个区块,在“blob_id”列1206中列出标识在其中包括区块数据的更大的存储对象(二进制大型对象)的“二进制大型对象 id”。在“偏移量”列1208中列出每个区块在它被包括在其中的对应存储对象(“二进制大型对象”)内的位置。对于给定区块,表1202可被用来找到如被存储在例如基于云的对象存储装置中的区块的数据被包括在其内的存储对象,以及在该对象内指示区块的数据被定位在对象的数据内的哪里的偏移量。
如由在表1202的第一、第二和第四行中为“1”的二进制大型对象 id值到与二进制大型对象元数据表1210中的相同二进制大型对象 id“1”相关联的条目(行)之间示出的箭头所指示的,如存储在区块元数据散列表1202中的对于给定区块散列值的二进制大型对象id可被用来在二进制大型对象元数据表1210中确定包括二进制大型对象元数据的对应条目(参见二进制大型对象id列1212)的位置、例如在基于云的对象存储装置中二进制大型对象被存储的位置(URI列1216)、以及与当前活动的和/或以其他方式经历被保留的文件***对象相关联的区块的数目的指示(区块引用计数列1218),所述二进制大型对象元数据诸如加密密钥或用来加密包括二进制大型对象的数据的其他机密数据(二进制大型对象加密密钥列1214)。例如,关于后面的列,在对于blob_id = 1的条目(行)中,区块引用计数列1218中的对应值指示当前活动(或以其他方式经历被保留,例如凭借与仍然被存储的快照相关联)的3个区块引用该二进制大型对象。在各种实施例中,如下面结合图15更完全描述的,区块引用计数列可被用来确定包括多个区块的二进制大型对象可能何时经历例如从其中存储二进制大型对象的基于云的对象存储装置被删除。
在各种实施例中,由文件***(例如由文件***元数据服务器,诸如图1和/或图6的文件***元数据服务器104)来执行如本文中公开的所存储的文件***数据的验证。在各种实施例中,验证能够实现要跨客户端提供的文件***对象的无污染的删除重复的存储的保证,甚至在存在错误配置和/或出故障的(例如“有问题的”)或恶意的客户端的情况下。
在一些实施例中,从基于云的对象存储装置中检索包括用于文件数据的多个区块的存储对象(“二进制大型对象”)。被检索到的对象可被本地存储在例如缓存中,并且被用来验证包括该对象的组成区块。各种技术可被用来确定给定对象(“二进制大型对象”)的缓存拷贝应该保留在缓存中多久以促进验证。
在各种实施例中,更大存储对象(“二进制大型对象”)内的个体区块被加密,每个都使用与该区块相关联的加密密钥并且在相同存储对象中不具有一个或多个其他区块。在各种实施例中,该方法通过向需要并授权访问包括在更大存储对象中的区块的仅一个子集的文件***客户端提供仅与区块的该子集相关联的加密密钥来实现基于逐个区块来控制访问。
图13是图示用来将文件存储在分布式文件***中的过程的一个实施例的流程图。在各种实施例中,图13的过程可由文件***元数据服务器(诸如图1的文件***元数据服务器110)来执行。在所示的示例中,接收存储包括多个数据区块的文件的请求(1302)。例如,可从文件***客户端接收用来存储包括在请求中标识的多个区块的文件的请求,诸如通过对于每个区块都包括对应区块散列或包含从该区块导出的和/或以其他方式表示该区块的其他数据。为了达到被与文件***相关联的基于云的对象存储装置中的文件***客户端存储的目的,关于各区块的至少一个子集来确定它们不是已经被文件***存储的其他区块的副本,以及不是被标识为被包括在单个更大的存储对象的副本的区块的至少一个子集(1304)。生成要被用来加密包括区块要被包括在其中的存储对象的数据的主密钥,有时被称为“二进制大型对象” 密钥(1306)。在一些实施例中,二进制大型对象密钥是单调递增的值。在一些实施例中,该密钥可例如由数据库自动生成。在一些实施例中,该密钥可由文件***过程和/或相关联的应用程序生成和/或管理。在各种实施例中,至少部分基于包括要被包括在二进制大型对象中的多个区块的数据(例如二进制大型对象数据的所有或一部分的散列、基于包括在请求中的区块散列生成的散列或其他值、等等)来计算二进制大型对象密钥。在一些实施例中,二进制大型对象密钥被存储在文件***元数据服务器处并且不与(一个或多个)文件***客户端共享。
进一步参考图13,对于要被包括在更大存储对象(“二进制大型对象”)中的每个区块,例如在文件***元数据服务器处使用二进制大型对象密钥,以计算从二进制大型对象密钥导出的且与该区块相关联的加密密钥(1308)。在各种实施例中,可至少部分基于该区块的区块散列和二进制大型对象密钥来计算特定于区块的密钥。在一些实施例中,二进制大型对象密钥被存储在文件***元数据服务器处,但是个体区块密钥没有。反而,当需要区块密钥来例如在服务器处解密区块数据以执行如所存储或要被提供给文件***客户端的区块的验证以使得客户端能够解密区块数据时,使用存储的二进制大型对象密钥和被用来生成密钥的区块数据(例如区块散列)来重新计算区块密钥。
指示区块要被包括在更大存储对象中的响应(例如对存储文件的请求的响应)以及对于每一个的要被用来加密该区块的对应区块密钥被发送给从其接收到请求的文件***客户端(1310)。在各种实施例中,文件***客户端被配置成处理该响应(包括通过使用与每个相应区块相关联的区块密钥来加密该区块),以及组合如在响应中所指示的单独加密的区块以形成更大的对象(“二进制大型对象”)并例如使用URI或包括在响应中的其他定位符将其存储在基于云的对象存储装置中。
图14是图示用来提供对分布式文件***中存储的文件的访问的过程的一个实施例的流程图。在各种实施例中,图14的过程可由文件***元数据服务器(诸如图1的文件***元数据服务器110)来执行。在所示的示例中,例如从文件***客户端接收访问包括多个区块的文件的请求(1402)。例如,可接收访问在请求中通过文件名称和/或路径标识的文件的请求,并且文件***元数据表902和904可被用来标识包括该文件的多个区块。对于每个区块,(例如使用诸如图12的表1202之类的表)确定区块被包括在其中的对应的更大存储对象(“二进制大型对象”),并且对于包含与该文件相关联的一个或多个区块的每个二进制大型对象(例如使用诸如图12的表1202之类的表)检索对应二进制大型对象密钥并且将其连同相应区块散列(或其他区块数据和/或元数据)一起用来计算对应区块密钥(1404)。将用于对应于重建该文件所需的区块的二进制大型对象的URI的集合、在其相应二进制大型对象内的每个区块的二进制大型对象偏移量、以及解密包括如被存储在其相应二进制大型对象中的每个区块的数据所需的区块密钥发送给从其接收到访问请求的文件***客户端(1406)。在各种实施例中,该文件***客户端被配置成使用(一个或多个)URI来从其上存储每一个所需的二进制大型对象的基于云的对象存储装置检索(一个或多个)所需的二进制大型对象;使用相应的偏移量来在(一个或多个)二进制大型对象内找出区块数据;以及使用对应于每个区块的每个区块密钥来解密包括该区块的存储数据。该文件***客户端使用已解密的区块数据来重建文件并且使得它可用于在客户端***处使用,例如通过诸如图2的应用程序202之类的应用程序。在各种实施例中,可以从二进制大型对象主控密钥导出区块密钥,但是区块密钥不能被用来导出二进制大型对象主控密钥。因此,向文件***客户端发送区块密钥不能够使客户端导出二进制大型对象主控密钥并且因此不能够使客户端导出用于二进制大型对象中的除了该客户端被授权访问的以及已经向客户端给出对应区块密钥的那些区块之外的区块的区块密钥。
在一些备选实施例中,可使用单个密钥来加密二进制大型对象中的所有区块。在一些实施例中,每个区块都具有在服务器处被安全地管理和存储的唯一密钥。在一些实施例中,生成“每个共享”的全局密钥并且从全局主控密钥而不是二进制大型对象主控密钥来导出区块密钥。
在各种实施例中,本文中公开的技术可被用来存储已经被分段成第一尺寸的区块的文件***数据以便在可被优化成存储比第一尺寸大得多的第二尺寸的对象的基于云的对象存储装置中执行文件***操作(诸如删除重复)。
尽管为了清楚理解的目的已经相当详细地描述了前面提到的实施例,但是本发明不限于所提供的细节。存在实施本发明的许多备选方式。所公开的实施例是说明性而非限制性的。

Claims (20)

1.一种存储文件***数据的方法,包括:
为与文件***数据的多个组成区块相关联的对象确定主加密密钥;
至少部分基于该主加密密钥以及包括区块或以其他方式与区块相关联的数据,使用该主加密密钥来为所述组成区块的每一个生成对应区块密钥;以及
向文件***客户端提供相应区块密钥,该文件***客户端被配置成至少部分通过使用为包括在多个组成区块中的每个区块提供的区块密钥来加密该区块以生成加密的区块数据、以及组合该加密的区块数据以创建和存储对象来创建和存储对象。
2.根据权利要求1所述的方法,其中至少部分基于包括多个组成区块或以其他方式与多个组成区块相关联的数据来确定该主加密密钥。
3.根据权利要求1所述的方法,进一步包括将该主加密密钥存储在文件***元数据表中。
4.根据权利要求1所述的方法,其中基于该主加密密钥和与区块相关联的区块散列值来生成该相应区块密钥中的每一个。
5.根据权利要求1所述的方法,其中该区块密钥没有被存储在文件***元数据中。
6.根据权利要求1所述的方法,进一步包括向文件***客户端提供要被包括在对象中的多个组成区块的标识。
7.根据权利要求1所述的方法,其中文件***数据的多个组成区块包括文件的至少一部分。
8.根据权利要求7所述的方法,进一步包括接收存储文件的请求,该请求包括标识如与该文件相关联的多个组成区块的数据。
9.根据权利要求1所述的方法,进一步包括接收访问与多个组成区块相关联的文件的请求。
10.根据权利要求9所述的方法,进一步包括响应于该请求提供要被用来检索对象的定位符,以及对于每个区块的对象内的对应偏移量和要被用来解密区块的对应区块密钥。
11.一种***,包括:
通信接口;以及
处理器,其被耦合至该通信接口并且被配置成:
为与文件***数据的多个组成区块相关联的对象确定主加密密钥;
至少部分基于该主加密密钥以及包括区块或以其他方式与区块相关联的数据,使用该主加密密钥来为所述组成区块的每一个生成对应区块密钥;以及
经由该通信接口向文件***客户端提供相应区块密钥,该文件***客户端被配置成至少部分通过使用为包括在多个组成区块中的每个区块提供的区块密钥来加密该区块以生成加密的区块数据、以及组合该加密的区块数据以创建和存储对象来创建和存储对象。
12.根据权利要求11所述的***,其中至少部分基于包括多个组成区块或以其他方式与多个组成区块相关联的数据来确定该主加密密钥。
13.根据权利要求11所述的***,其中该处理器被进一步配置成将该主加密密钥存储在文件***元数据表中。
14.根据权利要求11所述的***,其中基于该主加密密钥和与区块相关联的区块散列值来生成该相应区块密钥中的每一个。
15.根据权利要求11所述的***,其中该区块密钥没有被存储在文件***元数据中。
16.根据权利要求11所述的***,其中该处理器被进一步配置成向文件***客户端提供要被包括在对象中的多个组成区块的标识。
17.根据权利要求11所述的***,其中文件***数据的多个组成区块包括文件的至少一部分。
18.根据权利要求17所述的***,其中该处理器被进一步配置成接收存储文件的请求,该请求包括标识如与该文件相关联的多个组成区块的数据。
19.根据权利要求11所述的***,其中该处理器被进一步配置成接收访问与多个组成区块相关联的文件的请求;以及响应于该请求提供要被用来检索对象的定位符,以及对于每个区块的对象内的对应偏移量和要被用来解密区块的对应区块密钥。
20.一种用来存储文件***数据的计算机程序产品,该计算机程序产品体现在非瞬时计算机可读存储介质中并且包括用于以下各项的计算机指令:
为与文件***数据的多个组成区块相关联的对象确定主加密密钥;
至少部分基于该主加密密钥以及包括区块或以其他方式与区块相关联的数据,使用该主加密密钥来为所述组成区块的每一个生成对应区块密钥;以及
向文件***客户端提供相应区块密钥,该文件***客户端被配置成至少部分通过使用为包括在多个组成区块中的每个区块提供的区块密钥来加密该区块以生成加密的区块数据、以及组合该加密的区块数据以创建和存储对象来创建和存储对象。
CN201680024715.8A 2015-03-31 2016-02-12 跨文件***对象和客户端共享的数据的安全的基于云的存储 Active CN107615730B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/675439 2015-03-31
US14/675,439 US9916458B2 (en) 2015-03-31 2015-03-31 Secure cloud-based storage of data shared across file system objects and clients
PCT/US2016/017772 WO2016160144A1 (en) 2015-03-31 2016-02-12 Secure cloud-based storage of data shared across file system objects and clients

Publications (2)

Publication Number Publication Date
CN107615730A true CN107615730A (zh) 2018-01-19
CN107615730B CN107615730B (zh) 2021-01-22

Family

ID=57006264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680024715.8A Active CN107615730B (zh) 2015-03-31 2016-02-12 跨文件***对象和客户端共享的数据的安全的基于云的存储

Country Status (4)

Country Link
US (4) US9916458B2 (zh)
EP (1) EP3278538B1 (zh)
CN (1) CN107615730B (zh)
WO (1) WO2016160144A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111868676A (zh) * 2018-03-15 2020-10-30 净睿存储股份有限公司 在基于云的存储***中服务i/o操作
CN112243508A (zh) * 2018-06-08 2021-01-19 维卡艾欧有限公司 用于分布式文件***的加密
CN112751870A (zh) * 2020-12-30 2021-05-04 湖南麒麟信安科技股份有限公司 一种基于代理转发的nfs安全传输装置及方法
CN112840596A (zh) * 2018-10-09 2021-05-25 电子湾有限公司 使用区块链和分布式文件***的分布式应用架构
US11196447B2 (en) 2018-11-16 2021-12-07 Siemens Aktiengesellschaft Computer-implemented method for error-correction-encoding and encrypting of a file
CN115361398A (zh) * 2022-10-19 2022-11-18 成都飞机工业(集团)有限责任公司 一种数据备份容灾方法、装置、设备及存储介质
US11599506B1 (en) * 2021-10-28 2023-03-07 EMC IP Holding Company LLC Source namespace and file copying

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10459892B2 (en) 2014-04-23 2019-10-29 Qumulo, Inc. Filesystem hierarchical aggregate metrics
US10445296B1 (en) 2014-12-05 2019-10-15 EMC IP Holding Company LLC Reading from a site cache in a distributed file system
US10951705B1 (en) * 2014-12-05 2021-03-16 EMC IP Holding Company LLC Write leases for distributed file systems
US10423507B1 (en) 2014-12-05 2019-09-24 EMC IP Holding Company LLC Repairing a site cache in a distributed file system
US10430385B1 (en) 2014-12-05 2019-10-01 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10452619B1 (en) 2014-12-05 2019-10-22 EMC IP Holding Company LLC Decreasing a site cache capacity in a distributed file system
US10936494B1 (en) 2014-12-05 2021-03-02 EMC IP Holding Company LLC Site cache manager for a distributed file system
US10021212B1 (en) 2014-12-05 2018-07-10 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US10324919B2 (en) * 2015-10-05 2019-06-18 Red Hat, Inc. Custom object paths for object storage management
US9680809B2 (en) * 2015-10-12 2017-06-13 International Business Machines Corporation Secure data storage on a cloud environment
US10353926B2 (en) * 2015-11-17 2019-07-16 Microsoft Technology Licensing, Llc Unified activity service
EP3182321B1 (en) * 2015-12-18 2019-10-02 Airbus Operations GmbH Technique for secure data loading to a system component
US11025596B1 (en) 2017-03-02 2021-06-01 Apple Inc. Cloud messaging system
US10761743B1 (en) 2017-07-17 2020-09-01 EMC IP Holding Company LLC Establishing data reliability groups within a geographically distributed data storage environment
US10715498B2 (en) * 2017-07-18 2020-07-14 Google Llc Methods, systems, and media for protecting and verifying video files
US10664405B2 (en) * 2017-11-03 2020-05-26 Google Llc In-memory distributed cache
SE541396C2 (en) 2017-12-27 2019-09-10 Scania Cv Ab Method and control unit for communicating with a vehicle
US10382554B1 (en) 2018-01-04 2019-08-13 Emc Corporation Handling deletes with distributed erasure coding
CN108833336A (zh) * 2018-04-18 2018-11-16 北京百度网讯科技有限公司 数据处理方法、装置、计算机设备及存储介质
US11153094B2 (en) * 2018-04-27 2021-10-19 EMC IP Holding Company LLC Secure data deduplication with smaller hash values
US10579297B2 (en) 2018-04-27 2020-03-03 EMC IP Holding Company LLC Scaling-in for geographically diverse storage
US10671370B2 (en) * 2018-05-30 2020-06-02 Red Hat, Inc. Distributing file system states
US11360936B2 (en) 2018-06-08 2022-06-14 Qumulo, Inc. Managing per object snapshot coverage in filesystems
US11023130B2 (en) 2018-06-15 2021-06-01 EMC IP Holding Company LLC Deleting data in a geographically diverse storage construct
US11436203B2 (en) 2018-11-02 2022-09-06 EMC IP Holding Company LLC Scaling out geographically diverse storage
US10901635B2 (en) 2018-12-04 2021-01-26 EMC IP Holding Company LLC Mapped redundant array of independent nodes for data storage with high performance using logical columns of the nodes with different widths and different positioning patterns
US11119683B2 (en) * 2018-12-20 2021-09-14 EMC IP Holding Company LLC Logical compaction of a degraded chunk in a geographically diverse data storage system
US10931777B2 (en) 2018-12-20 2021-02-23 EMC IP Holding Company LLC Network efficient geographically diverse data storage system employing degraded chunks
CN110032568B (zh) * 2018-12-20 2020-05-12 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
US10534758B1 (en) 2018-12-20 2020-01-14 Qumulo, Inc. File system cache tiers
US11023331B2 (en) 2019-01-04 2021-06-01 EMC IP Holding Company LLC Fast recovery of data in a geographically distributed storage environment
US11379411B2 (en) * 2019-01-07 2022-07-05 Vast Data Ltd. System and method for replicating file systems in remote object storages
US10942827B2 (en) 2019-01-22 2021-03-09 EMC IP Holding Company LLC Replication of data in a geographically distributed storage environment
CN111479126A (zh) * 2019-01-23 2020-07-31 阿里巴巴集团控股有限公司 多媒体数据存储方法、装置和电子设备
US10942825B2 (en) 2019-01-29 2021-03-09 EMC IP Holding Company LLC Mitigating real node failure in a mapped redundant array of independent nodes
US10936239B2 (en) 2019-01-29 2021-03-02 EMC IP Holding Company LLC Cluster contraction of a mapped redundant array of independent nodes
US11520750B2 (en) * 2019-03-28 2022-12-06 Ctera Networks, Ltd. Global file system for data-intensive applications
US11388218B2 (en) * 2019-03-28 2022-07-12 Ctera Networks, Ltd. Cloud file transfers using cloud file descriptors
US10944826B2 (en) 2019-04-03 2021-03-09 EMC IP Holding Company LLC Selective instantiation of a storage service for a mapped redundant array of independent nodes
US11029865B2 (en) 2019-04-03 2021-06-08 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes
US11121727B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Adaptive data storing for data storage systems employing erasure coding
US11119686B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Preservation of data during scaling of a geographically diverse data storage system
US11113146B2 (en) 2019-04-30 2021-09-07 EMC IP Holding Company LLC Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system
US11748004B2 (en) 2019-05-03 2023-09-05 EMC IP Holding Company LLC Data replication using active and passive data storage modes
CN110233829A (zh) * 2019-05-17 2019-09-13 广东电网有限责任公司信息中心 基于分布式存储的保密信息***及通信方法
IL293198A (en) * 2019-05-22 2022-07-01 Myota Inc A method and system for storing degraded data with improved security, robustness and control
US11209996B2 (en) 2019-07-15 2021-12-28 EMC IP Holding Company LLC Mapped cluster stretching for increasing workload in a data storage system
US11023145B2 (en) 2019-07-30 2021-06-01 EMC IP Holding Company LLC Hybrid mapped clusters for data storage
US11449399B2 (en) 2019-07-30 2022-09-20 EMC IP Holding Company LLC Mitigating real node failure of a doubly mapped redundant array of independent nodes
US11228322B2 (en) 2019-09-13 2022-01-18 EMC IP Holding Company LLC Rebalancing in a geographically diverse storage system employing erasure coding
US11449248B2 (en) 2019-09-26 2022-09-20 EMC IP Holding Company LLC Mapped redundant array of independent data storage regions
KR102628057B1 (ko) * 2019-10-29 2024-01-22 삼성에스디에스 주식회사 블록체인 기반 파일 송신 방법 및 그 시스템
US11119690B2 (en) 2019-10-31 2021-09-14 EMC IP Holding Company LLC Consolidation of protection sets in a geographically diverse data storage environment
US11288139B2 (en) 2019-10-31 2022-03-29 EMC IP Holding Company LLC Two-step recovery employing erasure coding in a geographically diverse data storage system
US11435910B2 (en) 2019-10-31 2022-09-06 EMC IP Holding Company LLC Heterogeneous mapped redundant array of independent nodes for data storage
US11435957B2 (en) 2019-11-27 2022-09-06 EMC IP Holding Company LLC Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes
US11144220B2 (en) 2019-12-24 2021-10-12 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a doubly mapped redundant array of independent nodes
US11231860B2 (en) 2020-01-17 2022-01-25 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage with high performance
US10795796B1 (en) 2020-01-24 2020-10-06 Qumulo, Inc. Predictive performance analysis for file systems
US11151001B2 (en) 2020-01-28 2021-10-19 Qumulo, Inc. Recovery checkpoints for distributed file systems
US11507308B2 (en) 2020-03-30 2022-11-22 EMC IP Holding Company LLC Disk access event control for mapped nodes supported by a real cluster storage system
US20230195695A1 (en) * 2020-05-15 2023-06-22 Huawei Technologies Co., Ltd. File Sharing Method and Terminal Device
US11288229B2 (en) 2020-05-29 2022-03-29 EMC IP Holding Company LLC Verifiable intra-cluster migration for a chunk storage system
US11775481B2 (en) 2020-09-30 2023-10-03 Qumulo, Inc. User interfaces for managing distributed file systems
US11693983B2 (en) 2020-10-28 2023-07-04 EMC IP Holding Company LLC Data protection via commutative erasure coding in a geographically diverse data storage system
KR20220079192A (ko) * 2020-12-04 2022-06-13 삼성전자주식회사 보안 키를 관리하는 방법 및 장치
EP4239949A4 (en) * 2020-12-04 2024-04-24 Samsung Electronics Co Ltd SECURITY KEY MANAGEMENT METHOD AND DEVICE
US11847141B2 (en) 2021-01-19 2023-12-19 EMC IP Holding Company LLC Mapped redundant array of independent nodes employing mapped reliability groups for data storage
US11625174B2 (en) 2021-01-20 2023-04-11 EMC IP Holding Company LLC Parity allocation for a virtual redundant array of independent disks
US11157458B1 (en) 2021-01-28 2021-10-26 Qumulo, Inc. Replicating files in distributed file systems using object-based data storage
US11271716B1 (en) 2021-01-28 2022-03-08 Emtruth, Inc. Blockchain-based data management of distributed binary objects
US11461241B2 (en) 2021-03-03 2022-10-04 Qumulo, Inc. Storage tier management for file systems
US11132126B1 (en) 2021-03-16 2021-09-28 Qumulo, Inc. Backup services for distributed file systems in cloud computing environments
US11567660B2 (en) 2021-03-16 2023-01-31 Qumulo, Inc. Managing cloud storage for distributed file systems
US11354191B1 (en) 2021-05-28 2022-06-07 EMC IP Holding Company LLC Erasure coding in a large geographically diverse data storage system
US11449234B1 (en) 2021-05-28 2022-09-20 EMC IP Holding Company LLC Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes
US11669255B2 (en) 2021-06-30 2023-06-06 Qumulo, Inc. Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations
US11294604B1 (en) * 2021-10-22 2022-04-05 Qumulo, Inc. Serverless disk drives based on cloud storage
US20230153209A1 (en) * 2021-11-17 2023-05-18 Coinbase Il Rd Ltd System and method for database recovery
US11599508B1 (en) 2022-01-31 2023-03-07 Qumulo, Inc. Integrating distributed file systems with object stores
US11722150B1 (en) 2022-09-28 2023-08-08 Qumulo, Inc. Error resistant write-ahead log
US11729269B1 (en) 2022-10-26 2023-08-15 Qumulo, Inc. Bandwidth management in distributed file systems
US11966592B1 (en) 2022-11-29 2024-04-23 Qumulo, Inc. In-place erasure code transcoding for distributed file systems
US11934660B1 (en) 2023-11-07 2024-03-19 Qumulo, Inc. Tiered data storage with ephemeral and persistent tiers
US11921677B1 (en) 2023-11-07 2024-03-05 Qumulo, Inc. Sharing namespaces across file system clusters

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964041A (zh) * 2010-09-25 2011-02-02 合肥工业大学 一种基于感知哈希的实用安全图像取证***及其取证方法
US20130290703A1 (en) * 2012-04-25 2013-10-31 Cleversafe, Inc. Encrypting data for storage in a dispersed storage network
US20140025948A1 (en) * 2012-07-18 2014-01-23 Caitlin Bestler System and method for distributed deduplication of encrypted chunks
CN104331408A (zh) * 2012-01-26 2015-02-04 阿普赛尔有限公司 分级内容可寻址存储***中的块级客户端侧加密

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950547B2 (en) 2001-02-12 2005-09-27 3M Innovative Properties Company Web inspection method and device
US20030037237A1 (en) * 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US7693612B2 (en) * 2005-06-23 2010-04-06 International Business Machines Corporation Method and system for updating code embedded in a vehicle
EP2149264B1 (en) * 2007-07-02 2011-01-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for processing and reading a file having a media data container and a metadata container
US8209506B2 (en) * 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
US8266430B1 (en) * 2007-11-29 2012-09-11 Emc Corporation Selective shredding in a deduplication system
US8660373B2 (en) 2008-07-22 2014-02-25 Xerox Corporation PDF de-chunking and object classification
WO2010045262A1 (en) 2008-10-14 2010-04-22 Wanova Technologies, Ltd. Storage-network de-duplication
US20100100587A1 (en) * 2008-10-14 2010-04-22 Digital Lifeboat, Inc. Systems and methods for a data management recovery in a peer-to-peer network
US8930686B2 (en) * 2009-12-23 2015-01-06 International Business Machines Corporation Deduplication of encrypted data
US9305069B2 (en) 2010-02-09 2016-04-05 Google Inc. Method and system for uploading data into a distributed storage system
US8935487B2 (en) * 2010-05-05 2015-01-13 Microsoft Corporation Fast and low-RAM-footprint indexing for data deduplication
US8380681B2 (en) * 2010-12-16 2013-02-19 Microsoft Corporation Extensible pipeline for data deduplication
KR20140034222A (ko) * 2011-05-14 2014-03-19 비트카사, 인코포레이티드 사용자-독립적인 암호화된 파일들의 서버측 중복제거를 하는 클라우드 파일 시스템
US8769310B2 (en) * 2011-10-21 2014-07-01 International Business Machines Corporation Encrypting data objects to back-up
US8621196B2 (en) * 2011-10-28 2013-12-31 Verizon Patent And Licensing Inc. Booting from an encrypted ISO image
US8977660B1 (en) * 2011-12-30 2015-03-10 Emc Corporation Multi-level distributed hash table for data storage in a hierarchically arranged network
CN104145444B (zh) 2012-02-29 2018-07-06 黑莓有限公司 操作计算设备的方法、计算设备及计算机程序
US8782441B1 (en) 2012-03-16 2014-07-15 Google Inc. Methods and systems for storage of large data objects
US8898121B2 (en) 2012-05-29 2014-11-25 International Business Machines Corporation Merging entries in a deduplication index
US8849851B2 (en) 2012-09-12 2014-09-30 International Business Machines Corporation Optimizing restoration of deduplicated data
US20140082376A1 (en) * 2012-09-14 2014-03-20 Texas Tech University System System, Method and Apparatus for Securely Saving/Retrieving Data on a Data Storage
US8745415B2 (en) * 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
CN103678428B (zh) 2012-09-26 2018-08-31 联想(北京)有限公司 一种文件***的创建方法及装置
JP5965541B2 (ja) 2012-10-31 2016-08-10 株式会社日立製作所 ストレージ装置及びストレージ装置の制御方法
US9195732B2 (en) * 2013-03-15 2015-11-24 Optum, Inc. Efficient SQL based multi-attribute clustering
US9953054B2 (en) * 2013-04-22 2018-04-24 Salesforce.Com, Inc. Systems and methods for implementing and maintaining sampled tables in a database system
US10191934B2 (en) 2013-05-13 2019-01-29 Hitachi, Ltd. De-duplication system and method thereof
US9158472B2 (en) 2013-06-25 2015-10-13 Google Inc. Hierarchical chunking of objects in a distributed storage system
WO2014209190A1 (en) * 2013-06-28 2014-12-31 Telefonaktiebolaget L M Ericsson (Publ) Encrypting and storing data
US9542411B2 (en) 2013-08-21 2017-01-10 International Business Machines Corporation Adding cooperative file coloring in a similarity based deduplication system
US9632720B2 (en) 2013-08-29 2017-04-25 International Business Machines Corporation Data de-duplication
US20150095597A1 (en) 2013-09-30 2015-04-02 American Megatrends, Inc. High performance intelligent virtual desktop infrastructure using volatile memory arrays
GB2520489A (en) * 2013-11-20 2015-05-27 Ibm Deletion of content in digital storage systems
US9659023B2 (en) * 2013-11-21 2017-05-23 Upthere, Inc. Maintaining and using a cache of child-to-parent mappings in a content-addressable storage system
US10187358B2 (en) 2013-12-03 2019-01-22 Amazon Technologies, Inc. Data transfer optimizations
US9614926B2 (en) 2014-04-29 2017-04-04 International Business Machines Corporation Parallel I/O write processing for use in clustered file systems having cache storage
US9760578B2 (en) 2014-07-23 2017-09-12 International Business Machines Corporation Lookup-based data block alignment for data deduplication
US9990352B2 (en) 2014-08-06 2018-06-05 Quest Software Inc. Chunk compression in a deduplication aware client environment
US9397833B2 (en) * 2014-08-27 2016-07-19 International Business Machines Corporation Receipt, data reduction, and storage of encrypted data
US9397832B2 (en) 2014-08-27 2016-07-19 International Business Machines Corporation Shared data encryption and confidentiality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964041A (zh) * 2010-09-25 2011-02-02 合肥工业大学 一种基于感知哈希的实用安全图像取证***及其取证方法
CN104331408A (zh) * 2012-01-26 2015-02-04 阿普赛尔有限公司 分级内容可寻址存储***中的块级客户端侧加密
US20130290703A1 (en) * 2012-04-25 2013-10-31 Cleversafe, Inc. Encrypting data for storage in a dispersed storage network
US20140025948A1 (en) * 2012-07-18 2014-01-23 Caitlin Bestler System and method for distributed deduplication of encrypted chunks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FATEMA RASHID ET.AL: "Secure Enterprise Data Deduplication in the Cloud", 《IEEE》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111868676A (zh) * 2018-03-15 2020-10-30 净睿存储股份有限公司 在基于云的存储***中服务i/o操作
CN112243508A (zh) * 2018-06-08 2021-01-19 维卡艾欧有限公司 用于分布式文件***的加密
CN112840596A (zh) * 2018-10-09 2021-05-25 电子湾有限公司 使用区块链和分布式文件***的分布式应用架构
US11803664B2 (en) 2018-10-09 2023-10-31 Ebay Inc. Distributed application architectures using blockchain and distributed file systems
CN112840596B (zh) * 2018-10-09 2024-04-09 电子湾有限公司 使用区块链和分布式文件***的分布式应用架构
US11196447B2 (en) 2018-11-16 2021-12-07 Siemens Aktiengesellschaft Computer-implemented method for error-correction-encoding and encrypting of a file
CN112751870A (zh) * 2020-12-30 2021-05-04 湖南麒麟信安科技股份有限公司 一种基于代理转发的nfs安全传输装置及方法
CN112751870B (zh) * 2020-12-30 2022-11-11 湖南麒麟信安科技股份有限公司 一种基于代理转发的nfs安全传输装置及方法
US11599506B1 (en) * 2021-10-28 2023-03-07 EMC IP Holding Company LLC Source namespace and file copying
CN115361398A (zh) * 2022-10-19 2022-11-18 成都飞机工业(集团)有限责任公司 一种数据备份容灾方法、装置、设备及存储介质
CN115361398B (zh) * 2022-10-19 2023-03-14 成都飞机工业(集团)有限责任公司 一种数据备份容灾方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US9916458B2 (en) 2018-03-13
US20200082102A1 (en) 2020-03-12
US20180157852A1 (en) 2018-06-07
US20190272380A1 (en) 2019-09-05
US10515223B2 (en) 2019-12-24
CN107615730B (zh) 2021-01-22
US20160292429A1 (en) 2016-10-06
US10282556B2 (en) 2019-05-07
EP3278538B1 (en) 2021-01-13
WO2016160144A1 (en) 2016-10-06
EP3278538A1 (en) 2018-02-07
US11144651B2 (en) 2021-10-12
EP3278538A4 (en) 2018-10-10

Similar Documents

Publication Publication Date Title
CN107615730A (zh) 跨文件***对象和客户端共享的数据的安全的基于云的存储
US11991279B2 (en) Resilient secret sharing cloud based architecture for data vault
US11297109B2 (en) System and method for cybersecurity reconnaissance, analysis, and score generation using distributed systems
US11615210B1 (en) Third-party platform for tokenization and detokenization of network packet data
Liang et al. Provchain: A blockchain-based data provenance architecture in cloud environment with enhanced privacy and availability
US10025951B2 (en) Systems and methods for implementing an encrypted search index
CN105453105B (zh) 用于云数据安全的***及方法
KR20190061078A (ko) 특정 식별 정보를 공개하지 않고 식별자들 간의 링크를 설정
JP5997851B2 (ja) プライバシー保護データベースシステム
US11489660B2 (en) Re-encrypting data on a hash chain
US20220237311A1 (en) Enhanced Securing and Secured Processing of Data at Rest
CN111625843A (zh) 一种适用于大数据平台的数据透明加解密***
EP3779758B1 (en) System and method for anonymously transmitting data in a network
JP6078688B2 (ja) データ処理システム、データ処理方法
Katre et al. Trusted third party for data security in cloud environment
Saric et al. A universal deduplication architecture for secure and efficient cloud storage
Goswami et al. Investigation on storage level data integrity strategies in cloud computing: classification, security obstructions, challenges and vulnerability
JP7185953B1 (ja) データ管理システム、データ管理方法、及びデータ管理プログラム
Recabarren et al. Toward uncensorable, anonymous and private access over Satoshi blockchains
JP2024071851A (ja) データ管理システム、データ管理方法、及びデータ管理プログラム
CN115878743A (zh) 一种查询日志的方法和装置
Mamatha et al. An efficient and secure scheme for cloud E-healthcare System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant