CN103370706A - 分布式文件系统 - Google Patents

分布式文件系统 Download PDF

Info

Publication number
CN103370706A
CN103370706A CN2011800676517A CN201180067651A CN103370706A CN 103370706 A CN103370706 A CN 103370706A CN 2011800676517 A CN2011800676517 A CN 2011800676517A CN 201180067651 A CN201180067651 A CN 201180067651A CN 103370706 A CN103370706 A CN 103370706A
Authority
CN
China
Prior art keywords
data
directory
identifier
sub
key
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
CN2011800676517A
Other languages
English (en)
Other versions
CN103370706B (zh
Inventor
大卫·欧文
Original Assignee
MAIDSAFE NET Ltd
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 MAIDSAFE NET Ltd filed Critical MAIDSAFE NET Ltd
Publication of CN103370706A publication Critical patent/CN103370706A/zh
Application granted granted Critical
Publication of CN103370706B publication Critical patent/CN103370706B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/176Support for shared access to files; File sharing support
    • 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/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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

Abstract

一种提供分布式文件系统的方法,该分布式文件系统允许将包括以分级结构被布置的多个目录和文件的数据存储在密钥可寻址存储系统上,该存储系统可被多个用户访问,该方法包括以下步骤:将子目录的数据存储在存储系统上并且创建提供所存储数据的至少一个位置的数据图;将识别符分配给子目录和子目录的父目录;利用子目录识别符和父目录识别符二者来加密数据图;以及利用至少一部分的子目录识别符作为密钥来将加密的数据图存储在存储系统上。

Description

分布式文件系统
技术领域
本发明涉及分布式文件系统。具体地说,但是并不完全地,本发明涉及设置在点对点(peer to peer)、分散的或无服务器(server less)的网络中的分布式文件系统。
背景技术
分布式文件系统(DFS)允许网络上的多个节点共享对文件、打印机等的访问。通常地,DFS需要服务器或控制节点。这是由于以下多个原因,包括:验证用户访问和数据的常规安全,分配读出/写入权限,管理资源,确保数据的复制、文件锁定等。实际上,普遍认为所有这些问题表明集中的权利是必要的。
关于数据安全,服务器或控制节点自身扮演了攻击的目标。其也是潜在的故障点,如果服务器失效,则当前打开的文件会变得不可用。这种文件系统还需要索引机制(indexing mechanism)。
期望提供一种具有更好的数据安全性和/或不易于导致系统故障的改进的DFS。期望提供一种没有集中的控制或索引的分布式文件系统。
诸如服务器消息块(Server Message Block,SMB),也称为通用因特网文件系统(Common Internet File System,CIFS)的协议,作为应用层网络协议来操作,以提供对于文件共享的兼容性。SMB使用客户端-服务器方法(client-server approach)。然而,除了上面的问题之外,已获知这种协议还有许多缺点或局限。例如,SMB会造成网络上广播通信量的显著增加。并且随着网络规模的增加,这个问题也会加剧。DFS通常由并且限于组织的成员所使用,但是即便对于这种规模的网络,广播通信量仍会是个问题。另外,等待时间会对网络性能产生重要的影响。还存在对数据安全的担心,涉及SMB2的实现的最近的问题。
此外,在操作系统(或者甚至是操作系统的不同版本)间的文件系统中存在关于它们如何处理经由文件系统对数据的访问的差异。这些差异会使得文件共享更加成问题。随着网络规模的增加,操作系统的数量或操作系统的版本很有可能增加。
期望提供一种至少实现最少的一组特征的可以跨平台操作的更通用的文件系统。期望提供一种适合于大规模的、甚至是无限规模的网络的DFS。这种文件系统可在任意平台上将自身作为本地文件系统向用户表现,同样可利用低级别驱动器和随同使用它的任何应用一起要被安装的代码。期望提供一种允许大量的甚至是无限多级的目录结构的文件系统。
在本说明书中,关于DHT“密钥,值”对的密钥,使用术语“密钥”。密码私人密钥和密码公共密钥将分别称为Kpriv和Kpub。另外,将使用下面的记法:
H≡诸如SHA、MD5等的散列函数(哈希函数,Hash function);
XXXpriv,XXXpub≡分别是命名为XXX的密码密钥对的私人密钥和公共密钥;
SymEncPASS(Data)≡利用PASS的对称加密数据;
Sig[Kpriv](Data)≡利用Kpriv创建数据的非对称符号;
+≡级联;以及
Θ≡按位异或(XOR)
发明内容
根据本发明,提供了一种提供分布式文件系统的方法,该分布式文件系统允许将包括以分级结构布置的多个目录和文件的数据存储在密钥可寻址存储系统上,存储系统可被多个用户访问,该方法包括以下步骤:
将子目录的数据存储在存储系统上并且创建提供所存储数据的至少一个位置的数据图;
将识别符分配给子目录和子目录的父目录;
利用子目录识别符和父目录识别符二者来加密数据图;以及
利用至少一部分的子目录识别符作为密钥来将加密的数据图存储在存储系统上。
数据图可被认为是数据要素或数据要素的片(piece)的图,该数据图允许在密钥可寻址存储系统中取回这种要素。应该注意的是,数据图的解密以及由此访问至子目录的所存储数据需要子目录识别符和父目录识别符两者。然而,父目录识别符不能从数据图或所存储数据被导出。另外,仅仅使用子目录识别符和父目录识别符,父目录的所存储数据并不是可访问的。
利用子目录识别符和父目录识别符,子目录的所存储数据是可访问的。子目录的所存储数据可以包括利用子目录识别符和孙目录识别符是可访问的一个或多个孙目录。
该方法可以包括以下步骤:
创建第二数据图,第二数据图提供孙目录的所存储数据的至少一个位置;
将识别符分配给孙目录;
利用子目录识别符和孙目录识别符二者来加密数据图;以及
利用至少一部分的孙目录识别符作为密钥来将加密的数据图存储在存储系统上。
孙目录识别符可以从子目录数据导出。由此,用户可利用子目录识别符和父目录识别符来访问至少一个孙目录的数据。
对于在孙目录下的目录和分目录,该方法步骤是可重复的。可在每个目录级中创建数据图。由此,用户可利用子目录识别符和父目录识别符来访问子目录下的多级存储的目录和分目录以及相关数据。用户可向下钻取或向上钻取这些级,但是不能访问子目录以上的级。
存储系统可以包括无服务器的网络。该存储系统可以包括点对点网络。可选地,存储系统可以包括可读盘。
存储子目录的数据的步骤可以包括对要被存储的数据进行加密。应当注意的是,对于本发明,可以加密目录的内容或者可以加密目录的列表的内容(或者是这二者)。
该方法可以包括将要被存储的至少一个数据要素分成多个数据块的步骤。该方法可以包括将至少一个数据块存储在存储系统上的与其他数据块不同的位置。
存储系统可以包括网络的多个节点,并且该方法可以包括将至少一个数据块存储在与其他数据块不同的节点上。
该方法可以包括在存储在存储系统之前加密每个数据块。
该方法可以包括在存储在网络之前对子目录的数据进行模糊处理的步骤。该方法可以包括在存储在网络之前对子目录的数据图进行模糊处理的步骤。可以在加密之前执行对数据图进行模糊处理的步骤。
该方法可以包括与多个用户中的至少一个共享被存储在存储系统上的数据。该方法可以包括提供私人共享目录并且仅允许访问所选择的对等点。
共享数据的步骤可以包括创建替代识别符,并且用替代识别符来替代父目录识别符。
创建替代识别符的步骤可以包括创建用于共享数据的用户的密钥对。创建替代识别符的步骤可以包括创建用于共享数据的用户的用户识别符,从创建的密钥对导出用户识别符。
创建替代识别符的步骤可以包括创建第二密钥对并且根据创建的第二密钥对来创建共享识别符。替代识别符可对应于创建的第二公共密钥。替代识别符可对应于创建的第二公共密钥的散列。
该方法可以包括允许一个或多个所选择的用户来读取共享数据。该方法可以包括发送消息至每个所选用户。所发送的消息可以包括一个或多个或全部的共享名称、用于共享的识别符和公共密钥以及所生成的随机密钥。所发送的消息可以至少被签署或被加密。
该方法可以包括从网络取回被加密的数据图并且利用用于共享的公共密钥和随机密钥的散列来解密数据图。
该方法可以包括允许一个或多个所选择的用户来写入至共享数据。所发送的消息可以包括允许修改被加密的数据图的用于共享的私人密钥。
该方法可以包括向一个或多个所选用户提供对共享数据的管理者访问。发送的消息可以包括第一密钥对的私人密钥。
该方法可以包括提供公共的共享目录。该方法可以包括将公知的识别符分配给每个用户。该方法可以包括在公知识别符的散列控制下存储公共共享目录的数据图,使得公共共享目录的数据可利用公共识别符被读取。
该方法可以包括提供匿名的共享目录。
该方法可以包括提供分布式锁定以确保数据完整的步骤。
提供分布式锁定的步骤可以包括将锁定请求从希望写入至所存储数据的节点发送至一个或多个节点。锁定请求可被发送至最接近希望写入至所存储数据的节点的多个节点。通过希望写入至所存储数据的节点来签署锁定请求。
该方法可以包括,在接收锁定请求时配置一个或多个节点,以与其他节点协商或相互协商。该方法可以包括,在接收到涉及同一数据的两个或多个单独的锁定请求的情况下,拒绝该锁定请求。该方法可以包括如果两个或多个单独的锁定请求在任意时间段过去之后提出另一锁定请求之前被接收则将每个请求节点配置为暂停该任意时间段。该方法可以包括设定全系统范围锁定时间常量。
附图说明
现在将参考附图,仅通过示例来描述本发明的实施方式,在附图中:
图1是包括多个节点的网络的图示;以及
图2是分级文件结构的图示。
具体实施方式
图1示出了节点20的网络10,每个节点20与网络上的用户相关联。每个节点20可以不需要通过服务器或控制节点来路由而直接与网络10上的另一节点进行通信。因此,网络10是点对点的。
网络10,或者更确切地说全部的存储装置22或每个节点20的存储器,还提供了用于在网络10上存储数据的密钥可寻址存储系统。所存储的数据可以是如图2所示的各级目录、分目录(subdirectory)以及文件的典型分级结构30。分级结构30可以是任意规模。网络也可以是从组织内的几个节点20到包括能访问因特网的任意计算装置的任意规模。
如下面所解释的,用户可将数据存储在网络10上,使得该数据不能被网络10上的另一节点访问。然而,用户可以选择使某些或全部数据对于网络10上的特定的或所有其他用户/节点20是可访问的。众所周知,用户可共享一个目录,使得该目录下的所有分目录和文件是可访问的。然而,根据本发明实现这个的方法使用不同的途径。
在特定的节点20采取下面的步骤来创建父(parent)目录(父)32的子(child)目录(子)34。当然,这些步骤由节点装置进行,并且这些步骤对于节点20的用户并不是透明的。用户的体验与当在传统的系统中保存数据时的体验完全相同。
随机密钥(ChildKey)被生成,并且可以确认此密钥先前并未在网络10上被使用。子目录识别符(ChildID)(诸如,通过添加随机数)从ChildKey被导出并且被分配给子目录34。以类似的方式,父目录识别符被导出并且被分配给父目录32。
包括子目录识别符的新条目(entry)被创建并且被保存在父目录32的下面。该条目还可包含子目录34所需的所有元数据。
如下面所解释的,子目录34的数据被加密之后被存储在网络10上。所存储数据的数据图被创建。此数据图提供了所存储数据的位置,每个位置提及诸如文件名的实际数据(但不是数据本身)的细节。
然后利用子目录识别符和父目录识别符二者来加密该数据图。利用子目录识别符作为密钥将被加密的数据图存储在网络10上。从而,数据图的解密需要子目录识别符和父目录识别符二者。然而,根据数据图或所存储的数据无法导出父目录识别符。可利用特定节点20所知晓的子目录识别符和父目录识别符来访问子目录的所存储数据。
子目录34的所存储数据通常包括多个文件以及至少一个孙(grandchild)目录36。利用子目录识别符和创建的孙目录识别符,这些文件和孙目录36是完全可访问的。执行与上面类似的步骤,以将此数据存储在网络10上。
创建第二数据图,该第二数据图提供了孙目录36的所存储的数据的位置。将一个识别符分配给孙目录36。利用子目录识别符和孙目录识别符二者来加密第二数据图。利用孙目录识别符作为密钥将被加密的数据图存储在网络10上。
完全能从子目录数据导出孙目录识别符。因此,用户能利用子目录识别符和父目录识别符来访问孙目录36的数据。
对于分级结构30中的更低级的目录和分目录重复这些步骤,在每个目录级中创建数据图。因此,利用子目录识别符和父目录识别符,用户能访问父目录32以下(但不包括父目录)的所有级的所存储目录和分目录以及相关的数据。
因此,本发明提供了一种目录结构,其可从父目录32被向前反向并且具有回到那一点的高效实现,但是除非获得了该结构的新知识,否则不再回去。这具有的效果是:允许目录树自由地形成而不受到任何的根或基础级的约束。用户可以具有树形,但它是自由形成的树形而不是完全地分布式根目录(distributed overall root directory)。
对要被存储的数据进行加密的步骤可以如WO2008/065341中所描述的来执行,其通过引用被合并于此。
简而言之,此处理包括将子目录34的每个数据要素或文件分成多个数据块。给出了每个数据块的位置的子目录34的数据图(ChildDM)被创建。
子目录识别符和父目录识别符的散列H(ParentID+ChildID)被命名为Obf,并且通过重复地再散列Obf并且添加该结果(Obf+H(Obf)+H(H(Obf))+…)可以创建与ChildDM同样规模的数据块(ObfChunk)。每个数据块被模糊处理(ObfChunk),然后被加密。数据块然后被存储在网络10上的不同的位置,甚至在不同的节点20。对称加密口令(Pass=H(ParentID+ChildID))被创建。子目录34的数据图在加密(EncDM=SymEnc[Pass](ObfDM))之前也被模糊处理(ObfDM=ChildDMΘObfChunk),然后被存储在网络10上。
利用上面的方法,能被存储的分级结构30的级数不受限制。
本发明的方法还允许与其他用户共享网络10上所存储的数据。为了共享数据,所需要的是访问解密目录或与解密所需的密钥在一起的加密目录。此目录下的所有目录然后被自动地共享。
由于创建共享根目录的节点20不希望对等点获知该目录的父目录识别符,因此为了增加安全性,保密地共享目录结构的步骤可使用父目录识别符的替代识别符。
除了加密要素之外,如上所述地创建共享根目录。替代物被导出,并且如上所述地执行加密。按照如下来进行创建并存储父目录识别符的替代物。
针对共享该数据的用户创建第一密钥对(ShareOwnpriv和ShareOwnpub)。还创建从创建的密钥对导出的针对共享所有者的识别符(ShareOwnID=H(ShareOwnpub+Sig[ShareOwnpriv](ShareOwnpub))。此识别符被存储在网络10上。
尽管在此实施方式中使用了密钥对,但可以利用对称加密并且利用任意可行方法在用户之间传递密钥来执行本发明的方法。
创建用于共享的其他密钥对(Sharepriv和Sharepub)和识别符(ShareID=H(Sharepub+Sig[ShareOwnpriv](Sharepub)))。此识别符被存储在网络10上。
用于共享的公共密钥的散列(H(Sharepub))被用作替代识别符。
本发明的方法允许提供仅对经选择的对等节点(peer node)20的访问。通过如下方式来实现这个。
通常,存储私人非共享目录的加密数据图(EncDM)的节点20用仅自身知道的密码私人密钥(Kpriv)对存储请求和数据进行签署,无论单个的Kpriv是否在同一树中,它们可被用于所有的目录。
然而,在共享的目录的情况中,期望对等节点20能够做出一些修改,因此期望这些对等点能够用最初的私人密钥来签署被修改的数据图和请求。为了实现此目的,当存储共享目录的加密数据图时,使用用于共享的私人密钥。同样的密钥被用于共享根目录的所有分目录。然而,每一新的共享根目录具有唯一的私人密钥,以在“每个共享目录”基础上允许要被分配的对等点许可。
私人共享根目录的创建者将许可分配给所选择的对等节点20。在成功创建该目录之后向所选的每个对等点发送签署的所加密的消息。
所选择的所有对等点从消息接收共享名称(其是人可阅读的并且由创建者所选择的)以及用于共享的识别符和公共密钥和产生的随机密钥(ChildKey)。这允许从网络10取回在随机密钥控制下被存储的加密数据图。它还允许利用用于共享的公共密钥和随机密钥的散列来解密数据图。所选择的每个对等点从而读取访问该目录和其分目录。
对于被给予写入访问的对等节点20,该消息还包含用于共享的私人密钥,以使它们能够修改网络10中所保持的加密数据图。
对于被给予管理者访问的对等节点20,该消息还包含第一密钥对的私人密钥(ShareOwnpriv)以使它们能改变用于共享的识别符,移除用户并且从网络10彻底地删除该共享。
为了撤销对等节点的对共享目录的访问,管理者节点20创建用于共享的新识别符以及第一密钥对。然后,管理者锁定该共享的根目录,将该内容复制至新根目录并且生成新的随机密钥。如之前所述的,将消息发送至所有的授权对等点(但不是具有被撤销访问的对等节点20)。当授权对等点接收此消息时,从新的根目录重新读取共享。
管理者然后将所有现存的目录结构复制(依次锁定每一个)至新结构,递归地在新根目录开始并且删除失效(old)目录。
对等节点20将注意此动作,如果一个文件被打开,在当前目录被锁定的情况下等候新的目录(和数据图)变得可用,否则的话,在该递归“移动”还没有到达那点时,安全地存储该文件。
每个节点20还可以创建可被任意对等点访问(仅读取)的公共共享目录结构。对此的处理类似于如上面所描述的但是更简单,这是因为数据图不需被加密并且无需将消息发送至对等点组。
公共共享目录的创建者利用不同的密码私人密钥(MPIDpriv)来签署数据图和请求。无论所有公共共享目录是否在同一树中,此私人密钥并不对任意对等点公开并且能被用于所有公共共享目录。所有的对等点能读取数据,但是仅创建者能编辑它,因此不需要锁定。
为了允许对等节点20找到网络10上的公共共享目录,可向用户分配诸如与电子邮件地址类似的公知的识别符(PublicID)。根公共共享目录的数据图在此识别符的散列控制下(H(PublicID))被存储。
因此,网络10上的任意对等节点20可以仅仅利用公共识别符来读取公共共享目录中的数据。此数据可被自由地分发,并且可以提供浏览器附加软件(browser add-on),以允许更广泛地访问该数据。
也可以创建匿名共享目录结构。这些与公共共享目录类似,但是数据图在其控制下被存储的密钥和任意签署密钥被配置为:它们是不可追回到相关用户的。
在存在多个用户访问至特定数据时,本发明可利用分布式锁定机制,以确保数据完整。在分布式哈希表(Distributed Hash Table,DHT)中的文件锁定可能是有问题的,尤其是从失效的锁定恢复。本发明允许共享目录被容易地建立并维持。
为了写入数据,节点20请求来自负责维持该数据的节点的锁定。锁定请求被发送者签署,以允许K个接受者确认许可请求者。如果签名验证失败,则该请求被拒绝。
在接收到锁定时,节点20被配置为与其他节点协商;如果所有节点20接受该锁定,则该锁定是适当的。然而,如果针对锁定的两个单独的请求存在任何冲突,则两个请求都被拒绝。当这种情况出现时,请求节点20将暂停任意时间段,然后提出另一锁定请求。另外,全系统范围锁定持续常数被设置。这允许去除已失效的任意锁定。
在接收到锁定时,节点20再次读取该数据,以确认与已被更新版本相同的版本,然后更新该值。
本发明提供了一种以易于可寻址和可查找并且易升级的方式将数据存储在分布式网络中的方法。
尽管上面描述了本发明的特定实施方式,但应理解的是,偏离所描述的实施方式仍会落入本发明的范围内。

Claims (42)

1.一种提供分布式文件系统的方法,所述分布式文件系统允许将包括以分级结构被布置的多个目录和文件的数据存储在密钥可寻址存储系统上,所述存储系统可被多个用户访问,所述方法包括以下步骤:
将子目录的数据存储在所述存储系统上并且创建提供所存储数据的至少一个位置的数据图;
将识别符分配给子目录和所述子目录的父目录;
利用子目录识别符和父目录识别符二者来加密所述数据图;以及
利用至少一部分的所述子目录识别符作为密钥来将加密的数据图存储在所述存储系统上。
2.根据权利要求1所述的方法,其中,利用所述子目录识别符和所述父目录识别符可访问所述子目录的所存储数据。
3.根据权利要求1或2所述的方法,其中,所述子目录的所存储数据包括利用所述子目录识别符和孙目录识别符可访问的一个或多个孙目录。
4.根据权利要求3所述的方法,包括以下步骤:
创建第二数据图,所述第二数据图提供所述孙目录的所存储数据的至少一个位置;
将识别符分配给所述孙目录;
利用所述子目录识别符和孙目录识别符二者来加密所述数据图;以及
利用至少一部分的所述孙目录识别符作为密钥来将加密的数据图存储在所述存储系统上。
5.根据权利要求4所述的方法,其中,所述孙目录识别符从子目录数据导出。
6.根据权利要求4或5所述的方法,其中,对于在所述孙目录下的目录和分目录,所述方法步骤是可重复的。
7.根据前述权利要求中的任一项所述的方法,其中,在每个目录级中创建数据图。
8.根据前述权利要求中的任一项所述的方法,其中,所述存储系统可以包括无服务器的网络。
9.根据前述权利要求中的任一项所述的方法,其中,存储所述子目录的数据的步骤包括对要被存储的所述数据进行加密。
10.根据前述权利要求中的任一项所述的方法,包括将要被存储的至少一个数据要素分成多个数据块的步骤。
11.根据权利要求10所述的方法,包括将至少一个数据块存储在所述存储系统上的与其他数据块不同的位置。
12.根据权利要求11所述的方法,其中,所述存储系统包括所述网络的多个节点,并且所述方法包括将至少一个数据块存储在与其他数据块不同的节点上。
13.根据权利要求10至12中的任一项所述的方法,包括在存储在所述存储系统之前加密每个数据块。
14.根据前述权利要求中的任一项所述的方法,包括在存储在所述网络之前对所述子目录的数据进行模糊处理的步骤。
15.根据前述权利要求中的任一项所述的方法,包括在存储在所述网络之前对所述子目录的数据图进行模糊处理的步骤。
16.根据前述权利要求中的任一项所述的方法,包括与所述多个用户中的至少一个来共享被存储在所述存储系统上的数据。
17.根据权利要求16所述的方法,包括提供私人共享目录并且仅仅允许所选择的对等点的访问。
18.根据权利要求16或17所述的方法,其中,共享数据的步骤包括创建替代识别符,并且利用所述替代识别符来替代所述父目录识别符。
19.根据权利要求18所述的方法,其中,创建所述替代识别符的步骤包括创建共享所述数据的所述用户的密钥对。
20.根据权利要求19所述的方法,其中,创建所述替代识别符的步骤包括创建共享所述数据的所述用户的用户识别符,所述用户识别符从创建的密钥对导出。
21.根据权利要求19或20所述的方法,其中,创建所述替代识别符的步骤包括创建第二密钥对并且根据创建的所述第二密钥对来创建共享识别符。
22.根据权利要求21所述的方法,其中,所述替代识别符对应于创建的第二公共密钥。
23.根据权利要求22所述的方法,其中,所述替代识别符对应于创建的所述第二公共密钥的散列。
24.根据权利要求16至23中的任一项所述的方法,包括发送消息至每个所选用户。
25.根据权利要求24所述的方法,其中,所发送的所述消息包括一个或多个或全部的共享名称、用于共享的识别符和公共密钥以及产生的随机密钥。
26.根据权利要求25所述的方法,其中,所发送的所述消息至少被签署或者被加密。
27.根据权利要求25或26所述的方法,包括从所述网络取回被加密的所述数据图并且利用用于共享的公共密钥和随机密钥的散列来解密所述数据图。
28.根据权利要求16至27中的任一项所述的方法,包括允许一个或多个所选用户写入至所述共享数据。
29.根据从属于权利要求25的权利要求28所述的方法,其中,所发送的消息包括用于共享的私人密钥以允许修改被加密的数据图。
30.根据权利要求16至29中的任一项所述的方法,包括向一个或多个所选用户提供对所述共享数据的管理者访问。
31.根据从属于权利要求25的权利要求30所述的方法,其中,所发送的所述消息包括所述第一密钥对的私人密钥。
32.根据权利要求16至31中的任一项所述的方法,包括提供公共共享目录。
33.根据权利要求32所述的方法,包括将公知的识别符分配给每个用户。
34.根据权利要求33所述的方法,包括在所述公知识别符的散列控制下存储所述公共共享目录的数据图,使得可以利用所述公共识别符来读取所述公共共享目录的数据。
35.根据权利要求16至34所述的方法,包括:提供匿名共享目录。
36.根据前述权利要求中的任一项所述的方法,包括提供分布式锁定以确保数据完整的步骤。
37.根据权利要求36所述的方法,其中,提供分布式锁定的步骤包括将锁定请求从希望写入至所存储数据的节点发送至一个或更多个节点。
38.根据权利要求37所述的方法,其中,通过希望写入至所存储数据的节点来签署锁定请求。
39.根据权利要求37或38所述的方法,包括,在接收锁定请求时将一个或更多个节点配置为与其他节点协商。
40.根据权利要求37至39中的任一项所述的方法,包括在接收到两个或多个单独的涉及同一数据的锁定请求的情况下,拒绝锁定请求。
41.根据权利要求37至40中的任一项所述的方法,包括在两个或多个单独的锁定请求在任意时间段过去之后提出另一锁定请求之前被接收的情况下将所述请求节点均配置为暂停所述任意时间段。
42.根据权利要求37至41中任意一项所述的方法,包括设置全系统范围锁定持续常数。
CN201180067651.7A 2010-12-16 2011-12-16 分布式文件系统 Expired - Fee Related CN103370706B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1021312.2 2010-12-16
GB1021312.2A GB2486462B (en) 2010-12-16 2010-12-16 Distributed file system
PCT/GB2011/052495 WO2012080744A1 (en) 2010-12-16 2011-12-16 Distributed file systems

Publications (2)

Publication Number Publication Date
CN103370706A true CN103370706A (zh) 2013-10-23
CN103370706B CN103370706B (zh) 2016-10-12

Family

ID=43567275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180067651.7A Expired - Fee Related CN103370706B (zh) 2010-12-16 2011-12-16 分布式文件系统

Country Status (5)

Country Link
US (1) US9135455B2 (zh)
EP (1) EP2652646B1 (zh)
CN (1) CN103370706B (zh)
GB (1) GB2486462B (zh)
WO (1) WO2012080744A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135455B2 (en) 2010-12-16 2015-09-15 Maidsafe Foundation Distributed file systems
CN105095785A (zh) * 2014-05-22 2015-11-25 中兴通讯股份有限公司 分布式文件系统的文件访问处理、访问方法及装置
CN107870734A (zh) * 2016-09-27 2018-04-03 苏宁云商集团股份有限公司 一种分布式文件系统的交互方法及装置
CN108038004A (zh) * 2017-09-30 2018-05-15 用友金融信息技术股份有限公司 分布式锁生成方法、装置、计算机设备和可读存储介质
CN110710153A (zh) * 2017-06-14 2020-01-17 萨思学会有限公司 分布式数据集加密和解密
US10789207B2 (en) 2015-07-27 2020-09-29 Sas Institute Inc. Distributed data storage grouping

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918509B (zh) * 2011-05-31 2014-06-04 华为技术有限公司 数据读写方法、装置和存储系统
US9052824B2 (en) * 2012-01-26 2015-06-09 Upthere, Inc. Content addressable stores based on sibling groups
US9323771B2 (en) * 2013-04-24 2016-04-26 Dell Products, Lp Efficient rename in a lock-coupled traversal of B+tree
US9442938B1 (en) * 2013-05-03 2016-09-13 Emc Corporation File system layer
US9223517B1 (en) * 2013-05-03 2015-12-29 Emc Corporation Scalable index store
US9558194B1 (en) * 2013-05-03 2017-01-31 EMC IP Holding Company LLC Scalable object store
EP3060734B1 (en) * 2013-10-24 2021-02-24 UTC Fire & Security Americas Corporation, Inc. Systems and methods for locking device management including time delay policies using random time delays
US10164774B2 (en) 2014-05-22 2018-12-25 Puccini World Limited Securing a directed acyclic graph
US20160275294A1 (en) * 2015-03-16 2016-09-22 The MaidSafe Foundation Data system and method
US10567460B2 (en) * 2016-06-09 2020-02-18 Apple Inc. Managing data using a time-based directory structure
CN106874457B (zh) * 2017-02-14 2020-03-06 郑州云海信息技术有限公司 一种通过虚拟目录来提升元数据集群性能的方法
GB2572135B (en) * 2018-03-07 2023-01-25 The Maidsafe Found Data transaction system and method
US10733306B2 (en) * 2018-03-07 2020-08-04 International Business Machines Corporation Write-only limited-read filesystem
CN110990863B (zh) * 2019-11-27 2021-10-08 山东新潮信息技术有限公司 一种通过时间戳与加密算法实现文件访问控制的方法
CN111711788B (zh) * 2020-05-26 2024-03-15 视联动力信息技术股份有限公司 一种编码分配方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1379339A (zh) * 2001-03-26 2002-11-13 微软公司 无服务器的分布式文件系统
US20040250113A1 (en) * 2003-04-16 2004-12-09 Silicon Graphics, Inc. Clustered filesystem for mix of trusted and untrusted nodes
WO2008065342A1 (en) * 2006-12-01 2008-06-05 David Irvine Data maps
US20090060201A1 (en) * 2007-03-30 2009-03-05 Ricoh Company, Ltd. Secure Peer-to-Peer Distribution of an Updatable Keyring
CN101692239A (zh) * 2009-10-19 2010-04-07 浙江大学 一种分布式文件系统元数据分配方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191252B2 (en) * 2000-11-13 2007-03-13 Digital Doors, Inc. Data security system and method adjunct to e-mail, browser or telecom program
GB2446170A (en) * 2006-12-01 2008-08-06 David Irvine Shared access to private files in a distributed network
GB2486462B (en) 2010-12-16 2019-04-24 Maidsafe Found Distributed file system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1379339A (zh) * 2001-03-26 2002-11-13 微软公司 无服务器的分布式文件系统
US20040250113A1 (en) * 2003-04-16 2004-12-09 Silicon Graphics, Inc. Clustered filesystem for mix of trusted and untrusted nodes
WO2008065342A1 (en) * 2006-12-01 2008-06-05 David Irvine Data maps
US20090060201A1 (en) * 2007-03-30 2009-03-05 Ricoh Company, Ltd. Secure Peer-to-Peer Distribution of an Updatable Keyring
CN101692239A (zh) * 2009-10-19 2010-04-07 浙江大学 一种分布式文件系统元数据分配方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135455B2 (en) 2010-12-16 2015-09-15 Maidsafe Foundation Distributed file systems
CN105095785A (zh) * 2014-05-22 2015-11-25 中兴通讯股份有限公司 分布式文件系统的文件访问处理、访问方法及装置
WO2015176461A1 (zh) * 2014-05-22 2015-11-26 中兴通讯股份有限公司 分布式文件系统的文件访问处理、访问方法及装置
US10789207B2 (en) 2015-07-27 2020-09-29 Sas Institute Inc. Distributed data storage grouping
CN107870734A (zh) * 2016-09-27 2018-04-03 苏宁云商集团股份有限公司 一种分布式文件系统的交互方法及装置
CN110710153A (zh) * 2017-06-14 2020-01-17 萨思学会有限公司 分布式数据集加密和解密
CN110710153B (zh) * 2017-06-14 2021-03-02 萨思学会有限公司 第一节点设备、可读存储介质和计算机实现的方法
CN108038004A (zh) * 2017-09-30 2018-05-15 用友金融信息技术股份有限公司 分布式锁生成方法、装置、计算机设备和可读存储介质

Also Published As

Publication number Publication date
WO2012080744A1 (en) 2012-06-21
US20130262865A1 (en) 2013-10-03
GB2486462A (en) 2012-06-20
GB2486462B (en) 2019-04-24
EP2652646B1 (en) 2019-03-27
US9135455B2 (en) 2015-09-15
EP2652646A1 (en) 2013-10-23
GB201021312D0 (en) 2011-01-26
CN103370706B (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
CN103370706B (zh) 分布式文件系统
CN108259169B (zh) 一种基于区块链云存储的文件安全分享方法及系统
US8015211B2 (en) Secure peer-to-peer object storage system
CA2860120C (en) Method and system for handling of group sharing in a distributed or cloud data storage environment
CN104331408B (zh) 分级内容可寻址存储系统中的块级客户端侧加密
CN113961535A (zh) 一种基于区块链的数据可信存储共享系统与方法
EP2692107B1 (en) Managed authentication on a distributed network
CN104780161A (zh) 一种云存储中支持多用户的可搜索加密方法
CN102821096A (zh) 一种分布式存储系统及其文件共享方法
CN102413159B (zh) 一种面向网络化操作系统的可信任在线存储系统
WO2016040381A1 (en) Process for secure document exchange
JP4997769B2 (ja) 暗号通信システム、鍵共有方法、鍵提供装置
CN112532650A (zh) 一种基于区块链的多备份安全删除方法、系统
Periasamy et al. Efficient hash function–based duplication detection algorithm for data Deduplication deduction and reduction
CN105072134A (zh) 一种基于三级密钥的云盘系统文件安全传输方法
JP3215882U (ja) クラウドストレージベースのファイルアクセス制御システム
JP2012068988A (ja) セキュア・ネットワーク・ストレージ・システム、方法、クライアント装置、サーバ装置、及びプログラム
Irvine Maidsafe distributed file system
Auvolat Making federated networks more distributed
Amann et al. Cryptographically Enforced Permissions for Fully Decentralized File Systems
Chhabraa et al. An optimized data duplication strategy for cloud computing: Dedup with ABE and bloom filters
Kurokawa et al. Study on the distributed data sharing mechanism with a mutual authentication and meta database technology
Geeta et al. VASD2OM: Virtual Auditing and Secure Deduplication with Dynamic Ownership Management in Cloud
Gupta et al. A selective encryption approach to fine-grained access control for P2P file sharing
CN118035357A (zh) 一种面向授权分享与分布式索引的医疗数据存储方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180307

Address after: El County, England

Patentee after: MAIDSAFE NET LTD.

Address before: El County, England

Patentee before: Maidsafe Net Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161012

Termination date: 20191216