用于促进分布式数据备份的方法和装置与流程

文档序号:14958911发布日期:2018-07-18 00:07阅读:354来源:国知局

本公开总体上涉及数据的备份,并且更具体地涉及用于促进分布式数据备份的方法和装置。



背景技术:

近年来,能够生成数据的电子设备的数量已经迅速增加。一些设备捕获关于其操作环境或操作参数的信息。这些信息可能会影响正确的设备操作、故障排除、事后故障分析等。不幸的是,如果设备损坏、被破坏或丢失,这些信息往往会丢失。

网络连接的设备具有针对家庭成员、建筑物管理者和/或企业的便利的服务,其中连接的设备共享信息。但是,其他设备缺少网络连接,或者可能在与网络断开连接的一段时间内运行,导致它们无法与网络上的其他设备共享信息。

附图说明

图1是用于促进数据收集和通信的示例云基础设施系统的示意图。

图2是示例数据存储和恢复系统的示意图。

图3a-图3b描绘了描绘数据产生设备和一个或多个远程设备之间的消息和数据的示例交换的数据流程图。

图4示出了被配置为促进分布式数据存储和恢复的示例数据产生设备的实现方式。

图5-8图是表示可以被执行以实现图1-图4的示例性系统的示例性机器可读指令的流程图。

图9是可以执行图5-图8的指令来实现图1-图4的示例性系统的示例处理器平台的示意图。

具体实施方式

在下文的详细描述中,参考构成其一部分的附图,并且其中通过可以实践的示出性具体示例的方式进行示出。足够详细地描述这些示例以使本领域技术人员能够实践该主题,并且应该理解,可以利用其他示例,并且可以做出逻辑的、机械的、电的和/或其它的改变而不背离本公开的主题的范围。因此,提供以下详细描述以描述示例实现方式,并且不被视为限制本公开中描述的主题的范围。来自以下描述的不同方面的某些特征可以被组合以形成下文讨论的主题的新方面。

当介绍本公开的各种实施例的元素时,词语“一”、“一个”、“该”和“所述”旨在表示存在元素中的一个或多个。术语“包括”、“包含”和“具有”意图是包含性的并且意味着除了列出的元件之外可以存在其他元件。

能够生成数据(例如,环境特性、性能日志、操作度量等)的电子设备数量正在迅速增加。许多设备收集与设备操作、故障排除和/或故障后事后分析有关的“任务关键”信息。不幸的是,当暴露于诸如环境、不正确使用、正常磨损等外部因素时,即使鲁棒的设备也可能损坏或被破坏。如果与该设备相关联的数据流未被存储在设备外部的位置,则数据不可挽回地丢失。

例如,在飞机坠毁事故中,飞机的飞行记录器保存有关导致坠毁的飞机上的一系列事件的信息。然而,虽然飞行记录器(也称为“黑匣子”)经久耐用,并且被设计用来承受重大冲击,但记录器上的数据经常被发现无法读取。如果飞行记录器在坠机事件中被毁坏,则其飞行数据将丢失。类似地,产生和/或存储重要的、操作数据(例如,“任务关键”数据)的其他电子设备在无法创建场外备份的情况下但是由于普遍的网络连接风险丢失而无法访问数据。此外,某些电子设备记录数据太大和/或太敏感而无法保持副本。例如,喷气发动机可能会在大约30分钟内生成10太字节(tb)的性能和运行状况数据。其他温度计、电表、制动器组件、血压计、路由器等生成和/或提供针对有价值数据的中转。在正常操作期间,某些设备可能不被允许连接到外部系统(例如,“气隙”系统等)。

通过“物联网”而增加的设备数据存储和通信能力进一步加剧了这个问题。物联网(iot)是指包括使设备能够收集和交换数据的电子产品(例如,传感器、软件、网络连接等)的物理设备的网络。iot专注于与其他设备沟通的设备,并包括允许无线和/或有线设备与相同类型的其他设备进行通信的机器对机器通信(m2m)。能源效率和家庭安全是iot解决方案和iot设备增长的两个示例市场。如本文所使用的,“iot设备”或“联网设备”包括(a)具有响应于环境条件的传感器和/或致动器的设备,以及(b)用于发送/接收来自传感器和/或致动器的数据的网络连接性。如本文所使用的,“iot解决方案”包括访问、取回、接收和/或以其他方式消费来自联网设备(iot设备)的数据的服务。在一些示例中,联网设备包括iot恒温器、iot安全设备、iot门传感器、移动通信设备(例如智能电话)等。

然而,一些电子数据收集设备(例如,飞行数据记录器、可穿戴传感器等)可能不是能够与其他设备通信的iot设备。此外,如果iot设备从其网络断开连接和/或由系统配置和/或策略禁止与外部设备通信,则iot设备可能无法通信。通常,设备与互联网的连接(例如经由路由器)可能是间断的或较弱的。

例如,由于技术或商业约束(例如,具有持续卫星上行链路的移动车辆中的设备是昂贵且不可靠的等),网络连接性可能并不总是可用的。另外,即使耐用且能复原的存储也可能丢失(例如,当设备沉入海中时)。某些示例并不依赖专用存储、位于同一地点的设备或需要网络连接,而是利用设备周围的环境用所讨论设备的通信范围内的其他设备对数据进行存储。例如,一些设备在正常操作期间可能不被允许连接到外部系统,但是这样的设备可能能够进入“应急”模式,以暂时允许与一个或多个外部设备进行数据传输。

如下文进一步描述的,某些示例通过利用设备的环境(例如,无线电范围内的其他设备)来增强数据备份,以在出现错误、故障、紧急情况等的事件时提供数据可靠性、安全性和冗余度。如下文进一步描述的,本文公开的示例利用一个或多个附近设备(例如,通信范围内的设备)的网络以常规的间隔和/或当检测到提供数据的电子设备(在此称为主设备、任务关键设备、数据产生设备等)即将发生故障时创建存储的和/或生成的数据(例如来自电子设备的数据流)的分布式副本。

主设备可以在其操作的至少一部分期间位于一个或多个其他电子设备(例如,在此称为辅助设备、中继设备、接收设备等)的通信范围内。在某些示例中,多个辅助电子设备中的一个或多个包括可用的并且被指定用于由授权的远程节点进行写存取的数据存储装置。辅助设备然后可接收来自主设备的加密数据流的一部分(在本文中也被称为数据块)以存储在辅助设备处。在恢复过程中,持有私钥以用于对加密的数据进行解密的授权方可以使用来自辅助设备的数据块来重构来自主设备的原始数据流。

在某些示例中,可以使用复制因子从主设备跨一组数个辅助设备冗余地分发数据(例如,使用复制因子2来分发数据的两个副本,使用复制因子3来分发数据的三个副本,等等)。在某些示例中,从主设备分发到辅助设备的数据可以进一步经由网络(例如网状网络)传播到第三设备以用于复原。

在某些示例中,在接受来自广播节点(例如,主设备)的数据流之前,接收设备被触发以远程地对广播节点进行证实。例如,触发可以由主设备生成和/或基于操作和/或其他环境条件生成来远程“唤醒”接收设备以在紧急情况下接收数据。

在适当的证实之后,可以使用一个或多个辅助接收设备来保存“垂死”设备(例如,遭受严重错误状况、物理损坏等的电子设备)的数据流。在一些示例中,辅助设备可以存储来自主设备的数据流的全部或部分,而无需辅助设备访问数据流的内容或源的身份。取而代之的是,接收设备接收来源是合法的并且已被授权来进行传输的指示(例如,使用诸如可信计算组(tcg)直接匿名证明(daa)协议、增强型隐私id(epid)等的匿名方案)。在一些示例中,接收设备还接收主设备处于遇险或故障模式并且正在发送数据以用于在接收设备处紧急存储的指示。数据可以由主设备划分为多个部分或块,使得没有单个接收设备接收数据的完整副本(例如为了安全)。

图1是用于促进电子设备(例如,iot设备等)的通信和管理的示例云基础设施系统100的示意图。例如,示例系统100可以用于促进基于云的和/或其他iot设备通信和服务。在图1的示出性示例中,系统100包括多个电子装置102-110。例如,在保护和管理机器和数据的同时,各种电子设备102-110感测、过滤、处理、分析和/或致动。设备102-110经由一个或多个网关120进行通信。网关120针对设备102-110提供数据和设备管理。例如,网关120可以支持连接到网关120的设备102-110的板载、监视、诊断、和/或远程控制。

在一些示例中,一个或多个中间网络112、114被用于在电子设备102-110(统称为数据源或数据产生设备116)和网关120之间进行对接。例如,广域网(wan)、局域网(lan,有时也称为归属区域网络(han))、点对点连接等可以促进设备102-110与网关120之间的通信,例如经由wifitm、蜂窝、zigbeetm、有线和/或其它通信方式。

网关120将设备102-110连接到云管理器130。云管理器130与网关120一起工作以捕获、过滤、处理和存储来自设备102-110的数据。云管理器130还可以促进设备102-110与传统基础设施之间的安全连接。另外,云管理器130可以经由网关120帮助在用于设备102-110的云的边缘处执行分析(例如,关于使用、上线时间、趋势、直方图等)。

云管理器130促进将来自设备102-110的数据存储在数据存储装置140中。从设备102-110收集的数据可以由一个或多个第三方云连接150使用以提供可操作的信息并使操作自动化。

iot和非iot设备都可以经由图1的示例云基础设施系统100收集数据并进行通信。如果连接到系统100,则可以将数据从设备102-110传输到数据存储装置140。然而,有时设备102-110可能失去其到系统100的连接或者可能根本没有连接到系统100。某些示例提供了用于保存数据的功能,无论设备是否连接到较大的系统。

图2是通过用于数据传输、备份和恢复的新技术来改进电子设备操作和可靠性的示例数据存储和恢复系统200的示意图。示例系统200包括数据产生设备210(例如,诸如蜂窝电话、膝上型计算机、平板电脑、功率计、飞行记录器等的设备102-110和/或其他源设备116),也被称为数据广播设备或数据提供设备,其生成和/或收集来自一个或多个附接和/或远程传感器212(例如电流传感器、电压传感器、一氧化碳传感器等)的数据。示例数据产生设备210包括通信接口214(例如wifitm、bluetoothletm、zigbeetm、近场通信(nfc)、蜂窝等)以发送和接收数据和消息。

示例数据产生设备210还包括存储装置216。在某些示例中,设备210将其数据存储在加密块中以允许传输到其他设备,而不需要花费时间在传输时分离和/或加密数据。在其他示例中,可以将数据存储在数据存储装置216中,并且设备210可以在将数据传输到其他设备之前对数据划分并加密成块。然而,如果设备210发生故障,则上述提到的后者方法可能导致宝贵的时间损失。例如,数据被划分以进行存储的块数以及复制因子(例如,要存储在远程节点上的每个块的期望副本数量)取决于设备特性。在一些示例中,在设备制造和/或设备210的设置处配置复制因子。在一些示例中,复制因子可以基于数据量、附近设备的数量等动态调整。如下文进一步描述的,设备210可以与供应服务218通信以生成加密密钥、供应证书等以用于对来自存储装置216的数据的分布式备份。

图2的示例系统200还包括在数据产生器设备210的通信接近度内的一个或多个远程设备220、222、224(例如,蜂窝电话、智能电话、平板电脑等)(例如,无线电范围内的节点)。远程设备220、222、224中的每个分别包括用于来自设备210的传入(例如,远程)数据块的指定的存储空间221、223、225。远程设备220、222、224被配置为具有例如当由传入的数据传输触发时“唤醒”或者激活(例如退出睡眠模式并恢复活动模式等)的能力。在一些示例中,诸如触发或“唤醒”消息、传感器数据(例如,检测到异常值或状况等)、进入紧急模式等的预定义的环境条件使远程设备220、222、224唤醒或激活。在某些示例中,远程设备220、222、224可以将自己公布为可行的数据容器或备份设备。在某些示例中,远程设备拥有者226被提示由远程设备224备份的传入数据。在某些示例中,远程设备220-224中的一个或多个可以(例如,根据路由算法、预定义的规则、设置等)将来自数据产生设备210的传入数据块传播到从数据产生设备210向下延伸到网络的附加设备(例如,不能从数据产生设备210直接访问的节点)。

如图2的示例所示,系统200还包括可经由设备220、222、224而不直接从产生设备210访问的远程设备230、232。因此,远程设备230、232可由数据产生设备210经由远程节点220、222、224中的一个或多个间接访问。与远程设备220、222、224一样,例如,远程设备230、232分别包括存储空间231、233以存储传入的数据块并且可以与远程设备220、222、224进行通信以便交换数据。

另外,数据恢复设备240用于使用由一个或多个远程设备220-232存储的数据块来重组来自数据产生设备210的原始数据流。在一些示例中,复制数据块可以利用多个远程设备220-232存储,并且数据恢复设备240从各个设备220-232取回并组合数据块以重构数据(例如,在数据拥有者的指令下)。在一些示例中,来自远程设备230的数据块231通过网络存储设备250(例如数据存储装置140等)被提供给数据恢复设备240,包括经由网络2552远程设备230接收的数据251。数据恢复设备240处理从多个远程设备220-232取回的多个数据块241、243、245,并将数据块241、243、245进行重组以便称为由数据产生设备210提供的原始数据流的副本。因此,与存储在设备210处的原始数据集216相关联的数据拥有者246可授权在数据恢复设备240处重新创建数据。例如,数据恢复设备240可使用从联网的存储设备250取回的第一数据块241、来自远程设备224的第二、第三和第四数据块245以及来自网络存储设备250的第五数据块243来重构原始流。在某些示例中,数据产生设备210提供形成原始数据流的数据块的清单、列表或路线图。该清单可以被提供给数据拥有者246,诸如结合如下数据块:经由远程设备220、222、224、230、232、250中的一个或多个的数据块和/或以其他方式由设备210发送到数据拥有者246和/或数据恢复设备240的数据块,以用于将数据块241、243、245重构为来自数据产生设备210的原始数据的副本。

因此,示例系统200允许数据产生设备210及其数据拥有者利用其周围环境(例如,远程设备220-232等)来保存其数据并防止关于该数据产生设备210的故障和/或破坏性事件。在某些示例中,发送方(数据产生设备210)和接收方(一个或多个远程设备220、222、224、230、232、250)之间的未决授权和/或认证,数据分散在一个或多个级(例如,从数据产生设备210到邻近的远程设备220、222和/或224,然后到超出范围的远程设备230、232和/或250)。数据在远程设备存储装置221、223、225、231、233和/或251中驻留被加密直至被取回(例如,通过数据产生设备210、数据恢复设备240和/或其他数据拥有者设备)。通过适当的证明,数据产生设备210可以利用其周围环境(例如,无线电范围内的其他设备220-224和之外的辅助设备230-232)来保存数据(例如,保存“垂死”或故障设备210的数据流)。

在一些示例中,接收远程设备220-250可以甚至不知道数据的内容和/或数据的来源,但可以存储来自合法但匿名的源的加密数据块221-251(例如使用诸如增强型隐私标识符(epid)等之类的匿名标识方案进行授权的数据产生设备210)。

图3a-图3b描绘了描绘使用供应服务218、接收设备拥有者226和数据拥有者246在数据产生设备210和一个或多个远程设备220-250之间的消息和数据300的示例交换的数据流程图。

如图3a的示例所示,数据提供设备210由供应服务218(例如,使用diffie-hellman算法等)供应用于对数据加密的密钥。在某些示例中,诸如aes-256-gcm之类的对称密码算法用于对数据进行认证加密。在其他示例中,例如产生具有更多计算能力的小数据集的示例,可以使用非对称密码术(例如,椭圆曲线密码术(ecc)等)来加密数据。用于加密生成的密钥302存储在设备210的密码安全的容器中(例如,在可信平台模块(tpm))和供应服务器218的密码安全的容器中(例如,用于数据传输和/或存储的软件防护扩展(sgx)飞地)。在一些示例中,当加密密钥是非对称对并且只有加密密钥的公共部分存储在设备上存储装置上时,设备存储装置221、223、225可能是不安全的。

在某些示例中,供应服务218的供应发生在设备制造期间(例如,工厂车间、安全/可信环境等)和/或目标位置处的设备设置处。如果供应发生在设备设置期间,则设备210将其自身远程认证为合法的未受损的数据产生设备210(例如,使用远程证明协议,诸如经由使用tcgdaa协议的tpm模块和/或英特尔的sgx远程证明,等等)。例如,设备210具有能够将其身份确认为合法且未受损的密钥(例如,tpm背书密钥证书、中央处理单元(cpu)熔丝密钥等)。

例如,cpu熔丝密钥是在其制造期间“烧入”cpu中的密钥。cpu熔丝密钥对于特定单元是唯一的,并且不能更改。设备210的cpu(和/或其他处理器)然后可以使用熔丝密钥作为其根来导出密钥分级结构。设备制造商甚至可以不知道密钥,因为例如设备210可以证实其密钥并且证明其可以访问密钥而不公开密钥。

类似地,tpm背书密钥是通常在制造时永久嵌入在tpm)安全硬件中的加密密钥。tpm背书密钥由tcg定义。背书密钥的私有部分绝不会在tpm之外发布。背书密钥的公开部分有助于识别真正的tpm。涉及签署数据片段的tpm操作可以使用背书密钥来允许其他组件验证数据是可信的(例如,接收设备可以信任来自数据提供设备210的数据)。

为了签署一段数据,例如,使用公钥来加密一小段信息。签名可以通过使用相对应的私钥来对同一段数据解密而验证。如果数据可以用设备的私钥解密,那么数据必须已经通过相对应的公钥加密。只要该私钥已被保密,则数字签名就可以被信任。

在某些示例中,设备210通过向服务218发送证书签名请求(csr)来生成认证私钥(例如,椭圆曲线数字签名算法(ecdsa)192位私钥等)并在供应服务218中证实304设备的公共部分。供应服务218可以使用其自身作为可信认证机构(ca)来供应针对设备的公钥的证书(304)(例如,与x509兼容的证书等)和/或可以获得例如由可信认证机构签署的第三方证书。

如果不需要嵌入关于设备210的可识别信息,则可以使用基于增强型隐私id(epid)的证书和/或签名来保持设备210的匿名性,同时保持用于向远程节点认证设备210的能力。使用匿名标识符,设备210可以证明其属于一组经授权的设备(例如,epid组),但是验证节点不能识别该组内的设备210。如果匿名标识符在诸如工厂车间之类的可信环境之外生成,则设备210还可以例如使用共享对称密钥来加密csr请求而向远程节点证明其身份。

在正常操作条件下,设备210采集数据(例如,传感器数据等)306并以加密形式(例如,使用存储密钥302)将数据存储在设备210的内部存储装置216中。存储装置216被划分为n个部分或“块”,例如使用一致哈希函数进行平均分发。在某些示例中,每个存储块被单独加密。

如果数据产生设备210确定它将要故障和/或在风险增加(例如,恶劣天气、高温、辐射、超频等)的条件下进行操作,则通过设备210进入分布式备份模式308。在分布式备份模式308中(也被称为“应急”模式或混杂模式),数据产生设备210尝试将其数据发送(例如,广播、多播和/或单播)到通信范围内的能够存储和/或中继来自设备210的数据的其他设备(例如,接收设备220、22、224)。

如图3a的示例所示,在分布式备份模式308中,设备210向接收设备220发送“唤醒”消息310(例如,无线唤醒lan(wowlan)分组,bluetoothletm广告等)。唤醒消息310可以包括证书304(由通常可信的认证机构颁发)以及使用与证书304对应的密钥的数字签名,例如,数字签名证明设备210拥有经认证的私钥。

在一些示例中,由于计算要求(例如,针对基于电池的接收机)、可能的威胁(例如,拒绝服务攻击向量等)等等,不包括远程唤醒阶段310。相反,例如,远程设备220自主检测关键状况并将其自身注册到数据发送或提供设备210,而不是被远程触发。

在一些示例中,一个或多个辅助识别因素可以用于远程设备220的唤醒。例如,如果智能电话由来自运营商的文本消息触发则可以进入接收模式,而不是使得智能电话的wlan或蓝牙始终打开并侦听唤醒分组。虽然文本消息触发器可能仍然涉及用于授权的远程节点证明阶段,但是来自运营商的文本消息可以有助于防止一些基本的拒绝服务攻击,因为欺骗小区运营商的塔(虽然有可能)是昂贵的,并且因此不是实际的。

接收唤醒分组的远程设备220证实312该请求是合法的。例如,接收设备220验证消息310被正确签名并且证书的签发者是允许的实体,诸如政府签署机构、verisigntm等等。如果唤醒消息310被认为是合法的,则接收设备220进入和/或维持“正常”功率状态并且对提供设备210进行响应:接收设备220可用314并准备好接受数据。例如,接收设备220可以在可用性消息314中和/或在附加的后续消息中提供存储和网络连接性信息。

在一些示例中,如果接收设备220的指定的写存储装置不是空的,则接收设备220传送与当前存储在接收设备220的指定存储空间221中的数据相关联的关键性和/或重要性的指示。在一些示例中,基于与旧数据和新数据相关联的关键性/重要性的比较,由接收设备220当前存储的数据可以被来自产生设备210的新数据覆盖(例如,参与碰撞的汽车产生的数据可以被与飞机坠毁相关联的数据所取代,等等)。

在某些示例中,不是发送和接收唤醒消息310和可用性消息314,接收设备220可以自主地检测异常状况(例如,使用内置高度传感器检测平面的快速下降,基于增加的硬盘驱动器写和/或读取错误来识别在数据产生设备210中的即将发生的存储故障,基于来自相关联的传感器212的异常温度读数来确定设备210故障的高可能性,检测异常压力读数,检测异常噪声水平,识别设备210中的自由降落,等等)。接收设备220然后发送可用消息314而不被远程查询。在一些示例中,用户发起的“紧急模式”还可以触发备份模式308来分发来自设备210的数据。在一些示例中,紧急或应急模式可以取代对设备210和/或接收设备220施加的外部和/或不安全通信的正常限制。

如图3a的示例中所示,当数据产生设备210接收到接收设备220可用性的指示时314,确定数据划分316。例如,在从接收设备220收集“接收器可用”确认314后,数据广播器210基于一个或多个因素来确定数据的目标划分,所述一个或多个因素例如为期望的复制因子、可用的接收器的数量、环境条件(例如,带宽、延迟、传输速率、估计的故障时间等)等。在某些示例中,可用于接收来自产生设备210的数据的接收设备的数量小于产生设备210将数据划分成的块的数量(n),使得由数据产生设备210使用的划分方案将数据块分配给一组接收器设备220、222、224。数据块可以基于一个或多个因素来在一组可用的接收设备220、222、224中划分或分割,所述一个或多个因素包括数据大小、可用存储、数据优先级(例如,任务关键的、重要的、低优先级等)、可用处理功率、传输带宽、输入/输出资源等。

复制因子指定向一组接收设备220、222、224提供相同数据块的多少个副本。因此,来自提供设备210的n个数据块可以变成2n或3n以在可用接收设备220、222、224之间分布,取决于指定的复制因子(例如,1、2、3等)。

在某些示例中,例如图3a的示例,其中数据复原和/或安全性是优先级,状态证明318可以可选地由产生设备210发送到接收设备220,以在将数据从设备210发送到设备220之前确定接收设备状态和特性。例如,数据产生设备210可以在将数据块发送到接收设备220之前确认接收设备220正在运行sgx保护的安全飞地。另外,诸如接收设备的密码保护的“信任级别”、可用存储、网络选项、物理接近度、数据关键性等的信息可以与证明318交换。在一些示例中,基于数据产生设备210对每个接收设备220、222、224的特性的分析,针对数据分发,接收设备可以不被同等对待。例如,在飞机控制处理器的情况下,机组成员蜂窝电话可以接收一份完整的数据副本,但出于安全原因,乘客蜂窝电话只可以接收某些数据块。作为另一个示例,不同设备220、222、224可以基于它们的可用存储、网络能力、物理接近度、数据关键性等来接收不同数量的数据块。在一些示例中,可以在接收设备之中简单地同等地分割和划分数据。

基于确定的划分316(以及可选地,证明318),将数据块从数据产生设备210发送320(例如,广播、多播、单播等)到一个或多个接收设备220(和/或222、224等)。例如,如由接收设备可用性314、数据划分316和/或远程设备证明318所确定的,设备210将加密数据块发送320到一个或多个接收者组。在某些示例中,块报头被附加到每个发送的数据块来识别数据块并且包括关于数据块的附加信息,诸如数据重要性/关键性、期望的保留策略、传播策略、签名等。数据块使用一个或多个通信技术通过空中发送到期望的接收者,诸如多播通信、利用单个设备220的引导点对点信道,等等。在一些示例中,通信信道信息由接收设备220在设备可用性消息314中提供。

接收设备220针对来自产生设备210的每个接收到的数据块验证322数据签名。在某些示例中,验证322还包括对撤销(例如,密钥、签名和/或组等的撤销)的检查。在某些示例中,如果接收设备的内部存储装置221不是空的,则接收设备220还评估传入的数据关键性/重要性级别并且将该关键性级别与接收设备220已经存储221的数据的关键性级别进行比较。例如,接收设备220评估针对传入数据和现有数据的策略,以根据用于存储、冗余等的优先级对数据进行排序。即,如果接收设备220具有低优先级数据集的唯一副本并且高优先级数据块正在传入,则如果高优先级数据已经保存在例如其他设备222、224处,则设备220仍然可以决定不接受传入的高优先级数据块。在一些示例中,签名认证机构可以影响数据优先级(例如,一些认证机构与比其他认证机构更高的优先级相关联,等等)。一旦被验证(并且被接受),则传入的数据块被存储324在接收设备220处的存储器221中(例如,在非易失性存储器中)。

在某些示例中,如果被请求(和/或由设备220的能力和设置允许),则加密的数据块可以被进一步传播到其他节点(例如,被传输到远程设备230、232、被上传到云服务器250,等等)。在一些示例中,由于时间限制,当远程设备220将数据块传播到更远的远程设备230、232时,远程设备220可以不通知数据产生设备210:数据已经被转发到另一个远程设备230、232。在其他示例中,远程设备220通知产生设备210传播和/或由产生设备210指示将数据传播到另一节点230、232。在一些示例中,数据产生设备210可以指定针对传播数据块的最大跳数,但是接收设备220基于约束来确定针对数据块的下一个目的地230、232、250。因此,接收设备220在接收到来自产生设备210的数据块时起到“任务关键设备”的作用并且用于将其数据块保存在例如一个或多个另外的远程设备230、232、250处。在某些示例中,数据具有保留时段,在保留时段之后将其从接收器节点删除。

在一些示例中,设备210向接收设备220提供指令以作用于和/或以其他方式处理所接收的数据。例如,接收设备220可以发出警报声和/或其他警报等。例如,接收设备220可以处理接收到的数据以触发消息和/或其他下一个动作。

在完成数据传送之后(并且可选地,在可配置的延迟之后),接收设备220的拥有者/用户226被通知326:加密的有效载荷被存储在设备220上。在一些示例中,拥有者226可以决定如何处理数据块。例如,拥有者226可以手动地从他或她的设备220中删除有效负载,并且通过撤销(例如,在内部)设备210的供应证书304来禁止来自同一广播节点210的进一步数据“转储”。

在其他示例中,代替提示拥有者226删除数据块,拥有者226可以将数据卸载到外部位置,诸如另一个远程设备222、224、230、232、250和/或恢复设备240等等。对于关键数据集,设备220(例如,蜂窝电话、平板电脑等)可以禁止用户226删除有效负载,直到数据已经被传送到另一个设备222、224、230、232,上传到由数据拥有者246操作的远程云服务250,等等。在一些这样的示例中,在允许数据在设备220处被删除之前,设备220接收数据的成功传送的确认。

在某些示例中,可以提供奖励、激励或“补贴”以用于成功地将数据备份块传送给合法数据拥有者246。如果数据块的解密和确认验证数据是有效的并且源自遇险的设备210时,可以向接收设备222、224、230、232、250的拥有者226提供激励。因此,当非附属消费者设备被用作备份数据的接收者时,例如,可以对参与进行奖励。

如在图3b中所示的继续的示例数据流300中所示,如果主设备210故障或不可访问,则数据拥有者246触发来自辅助节点220、222、224、230、232、250的数据块的恢复328以根据接收的数据块330来组装完整的数据流(例如,经由数据恢复设备240等)。然后可以使用原始对称密钥对数据进行解密332,并且经由供应服务218和/或例如由具有在供应服务218的供应期间建立并由另一实体存储的数据密钥的任何人进行恢复(例如,部分或全部,取决于恢复的块的数量)。

因此,如图3a-图3b所示的数据流300所示,在飞行器示例中,地面碰撞警报触发308飞行记录器以唤醒(例如,wowlan呼叫)所有附近的用户持有的蜂窝电话310,对数据集进行划分316,并且将划分的数据集以块的形式广播到接收者蜂窝电话节点320,因为数据块由预授权实体(例如,飞机制造商、政府机构、verisigntm等)签署,所以接收者蜂窝电话节点320接收数据流322、324。如果触发地面碰撞警报的事件事实上是灾难性的(例如,飞机失事)并且原始飞行记录器被损坏,则假设从碰撞现场328、330中恢复了一些蜂窝电话,则数据仍然可以恢复。

因此,某些示例提供了用于紧急事件和/或其他关键系统的远程可访问存储飞地,以在发生故障(例如,电信故障、可编程逻辑电路故障、嵌入式设备故障、片上系统(soc)故障、与航空航天有关的处理器故障、汽车和/或通勤相关的处理器故障、家庭自动化处理器故障等)的情况下保存数据。

图4示出了被配置为促进分布式数据存储和恢复的示例数据产生设备210的实现方式。示例设备210包括控制器410、数据处理器420、数据划分器430、数据分发器440、传感器212、通信接口214和数据存储装置216。

示例控制器410控制数据产生设备210的操作,包括设备210模式(例如,操作模式、分布式备份模式、数据恢复模式、故障模式等)的控制。控制器410与供应服务218交互以生成数据存储密钥302、供应证书304等。控制器410与数据处理器420一起工作以便于基于存储密钥302和供应证书304来对从一个或多个传感器212收集的数据进行组织和加密。控制器410设置设备210的操作模式(例如,数据收集模式、分布式备份模式、故障模式等)。

数据处理器420收集用于设备210的数据(例如,传感器212数据),分析数据以将其划分为块,并且根据存储密钥302加密数据块(例如,在数据收集或正常操作模式中)。数据处理器420将加密的数据块存储在存储装置216中。例如,数据处理器420与供应服务218一起工作以获得供应证书304并组织数据用于存储在设备210上和设备210外。

基于来自设备210和/或其传感器212中的一个或多个的信息,控制器410触发从正常操作或数据收集模式到数据分发或分布式备份模式308的改变。在分布式备份模式308中,控制器410与通信接口214一起工作以唤醒和/或以其他方式联系310一个或多个远程接收设备220、222、224。基于远程设备可用性314,控制器410触发数据划分器430来组织存储装置216中的数据块以分发到一个或多个可用的接收设备220、222、224。数据分发器440经由通信接口214将组织的数据块发送到一个或多个可用的接收设备220、222、224。

虽然系统100、系统200、设备210和系统数据流300的示例实现方式在图1-图4中示出,但是在图1-图4中示出的元件、过程和/或设备中的一个或多个可以被组合、划分、重新布置、省略、消除和/或以任何其他方式实施。此外,图1-图4中的示例数据产生设备210、示例传感器212、示例通信接口214、示例数据存储装置216、示例接收设备220-234、250、示例供应服务218、示例控制器410、示例数据处理器420、示例数据划分器430、示例数据分发器440和/或更一般地示例系统100、200和/或300可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,图1-图4中的示例数据产生设备210、示例传感器212、示例通信接口214、示例数据存储装置216、示例接收设备220-234、250、示例供应服务218、示例控制器410、示例数据处理器420、示例数据划分器430、示例数据分发器440和/或更一般地示例系统100、200和/或300可以通过一个或多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(asic)、可编程逻辑器件(pld)和/或现场可编程逻辑器件(fpld)来实现。当阅读本专利的任何装置或系统权利要求以覆盖纯软件和/或固件实现方式时,图1-图4中的示例数据产生设备210、示例传感器212、示例通信接口214、示例数据存储装置216、示例接收设备220-234、250、示例供应服务218、示例控制器410、示例数据处理器420、示例数据划分器430、示例数据分发器440和/或更一般地示例系统100、200和/或300中的至少一个在此明确定义为包括有形计算机可读存储设备或存储盘,例如存储器(例如,只读存储器(rom)、硬盘驱动器、闪存、其他易失性和/或非易失性存储器等)、存储软件和/或固件的数字多功能盘(dvd)、光盘(cd)、蓝光盘等。此外,图1-图4的示例性系统可以包括除了图1-图4中示出的那些之外或代替那些的一个或多个元件、过程和/或设备,和/或可以包括任何或全部所示元件、过程和设备中的多于一个的元件、过程和设备。

表示用于实现图1-图4的系统100、200和/或300的示例机器可读指令的流程图示出于图5-8中。在这些示例中,机器可读指令包括用于由处理器执行的程序,处理器诸如为下文结合图9讨论的示例处理器平台900中示出的处理器912。该程序可以体现在存储于诸如cd-rom、软盘、硬盘驱动器、dvd、蓝光盘或与处理器912相关联的存储器之类的有形计算机可读存储介质上的软件中,但是整个程序和/或其部分可以替代地由除了处理器912之外的设备执行和/或体现在固件或专用硬件中。此外,虽然参照图5-图8所示的流程图描述了示例程序,但是替代地可以使用实现示例系统100、200和/或300的许多其他方法。例如,可以改变块的执行顺序,和/或可以改变、消除或组合所描述的块中的一些。

如上所述,图5-图8的示例性过程可以使用存储在诸如硬盘驱动器、闪存、rom、cd、dvd、高速缓存、随机存取存储器(ram)和/或其中在任何持续时间内存储信息的任何其他存储设备或存储盘(例如,在延长的时间段内,永久地、针对短暂的实例、针对临时缓冲和/或针对信息的高速缓存)之类的有形计算机可读存储介质上的编码指令(例如,计算机和/或机器可读指令)来实现。如本文所使用的,术语有形的计算机可读存储介质被明确定义为包括任何类型的计算机可读存储设备和/或存储盘并且排除传播信号并排除传输介质。如本文所使用的,“有形计算机可读存储介质”和“有形机器可读存储介质”可互换使用。另外地或可选地,图5-图8的示例性过程可以使用存储在诸如硬盘驱动器、闪存、只读存储器、光盘、数字多功能盘、高速缓存、随机存取存储器和/或其中在任何持续时间内存储信息的任何其他存储设备或存储盘(例如,在延长的时间段内,永久地、针对短暂的实例、针对临时缓冲和/或针对信息的高速缓存)之类的非暂态计算机和/或机器可读介质上的编码指令(例如,计算机和/或机器可读指令)来实现。如本文所使用的,术语非暂时性计算机可读介质被明确定义为包括任何类型的计算机可读存储设备和/或存储盘并且排除传播信号并排除传输介质。如本文所使用的,当短语“至少”用作权利要求的前序中的过渡术语时,其以与术语“包含”是开放式的相同的方式是开放式的。

图5的程序500从框502开始,在框502处,示例控制器410和示例数据处理器420准备从数据产生设备210的一个或多个传感器212收集的数据以用于备份。如上所述,传感器212的数据由数据处理器420收集和处理以加密并存储在数据存储装置216中的数据块中。另外,控制器410与供应服务218一起工作以生成用于加密的数据存储密钥302和供应证书304以允许将存储装置216中的数据分布式备份或供应给一个或多个远程设备220-234。

响应于准备数据,控制器410与示例数据划分器430和数据分发器440一起工作以发送数据用于备份(框504)。如上所述,控制器410经由通信接口214与一个或多个远程设备220、222、224进行通信,以确定能够从数据产生设备210接收数据的可用远程设备220、222、224。数据划分器430基于可用远程设备220、222、224的数量和容量将来自存储装置216的加密数据块划分成各种组。数据分发器440经由通信接口214将划分的数据块发送到一个或多个可用的远程设备220、222、224以供可用的远程设备220、222、224存储和/或中继到另外的远程设备230、232、250进行存储。

在框506处,从备份中取回数据。如上所述,数据拥有者246(例如,经由示例数据恢复设备240)触发用于从数据块已经备份在其处的一个或多个接收设备220、222、224、230、232、250中取回数据的请求。数据拥有者246可以具有哪个(哪些)设备存储哪些数据块的列表(例如,直接从数据产生设备210接收到的,结合来自设备220、222、224、230、232和/或250的数据接收到的等)和/或可广播例如触发来自存储与数据拥有者246相关联的数据的那些设备的响应的消息。存储数据的接收设备220、222、224、230、232和/或250将它们的数据块330提供给数据拥有者246。数据拥有者246(例如,经由数据恢复设备240)对接收到的数据块332进行解密并且将数据块重组(例如,根据复制因子计算数据冗余)为由数据产生设备210发送的原始数据流的副本。

与准备数据用于备份(框502)相关联的附加细节在图6的示例中示出。在图6所示示例框602处,示例数据产生设备210的示例控制器410通过生成加密密钥来加密所存储的数据并且生成授权的证书以例如供应或分发数据的一个或多个副本以用于备份来准备所收集的数据的备份。

在框604处,示例数据处理器420收集来自设备210的示例传感器212的数据。例如,性能数据、操作数据、环境数据等可以由传感器212测量,并且数据处理器420收集该数据以用于处理和存储。例如,数据处理器420处理所收集的数据以将数据分成数据块以便于存储和分发。

在框606处,数据由数据处理器420加密。在框608处,存储经加密的数据块。例如,使用由控制器410提供的密钥,数据处理器420加密数据块并将它们存储在示例数据存储装置216中。

例如,如上所述,数据产生设备210可能不想将敏感数据发送到可能尝试读取数据的接收设备220、222、224。控制器410和/或数据处理器420加密数据并存储加密的数据。控制器410与数据的拥有者(例如供应服务218)建立密钥,并且控制器410和数据拥有者246共享该密钥。数据处理器420对要被正确加密和解密的数据(例如,以诸如在hadoop分布式文件系统(hdfs)中之类的块的形式存储,每个块被单独加密等)进行处理和划分。数据块可能本身不可用,但是例如元数据、标签和/或其他识别/指导信息允许数据拥有者246将不同数据块重新连接到原始数据流中。

在框610处,由控制器410监测传感器和/或活动数据以检测分布式备份模式308的触发事件。例如,分布式备份模式308可以由一个或多个因素触发,例如时间流逝(例如,用于数据备份的周期性间隔等)、传感器数据超过阈值(例如,测量值大于某个温度、速度、下降速度、压力、湿度、辐射等;测量结果小于某个温度、功率、压力、带宽等)、可用通信能力、与其他兼容接收设备的接近度等。

与将数据发送到备份(框504)相关联的附加细节在图7中示出。在图7所示示例中的框702中,示例控制器410基于触发事件的检测(例如,参见上述图6的示例的框610)来触发分布式备份模式308。在分布式备份模式308中,控制器410使用加密密钥302和供应证书304来分发数据以用于备份。

在框704处,控制器410识别一个或多个可用接收设备220、222、224以用于分发数据用于备份。例如,控制器410经由通信接口214与一个或多个远程设备220、222、224通信以确定能够从数据产生设备210接收数据的可用远程设备220、222、224。接收设备220、222和/或224可以通过验证312由数据产生设备210发送的唤醒和/或状态消息310以及对设备210进行响应314:特定远程设备220、222、224可用于数据存储来进行通信。

在某些示例中,设备210、220、222和/或224经由网状网络、点对点通信和/或其他通信协议进行通信,并且可以由唤醒消息310、通过接收设备220、222、224检测到指示数据产生设备210的遇险的环境条件和/或其他外部触发事件(诸如由蜂窝运营商对在数据产生设备210的通信范围内的蜂窝电话的提示)来触发。在一些示例中,无论环境因素如何,分布式备份模式308都被周期性地触发,并且接收设备220、222、224周期性地“唤醒”或等待来自产生设备210的通信以接收其数据中的一些或全部。在某些示例中,功率消耗问题与数据可靠性问题平衡,以节约接收设备220、222、224处的功率,但是针对产生设备210提供数据备份和冗余。

在框706处,存储在示例性数据产生设备210处的数据存储装置216中的数据(例如,加密的数据块)由示例性数据划分器430进行划分,以用于在可用接收设备220、222、224之间进行分布式备份。在某些示例中,数据划分器430基于可用接收设备220、222、224的数量(和/或容量)将数据块分割为组,使得没有单个接收设备220、222、224接收完整的数据副本。另外,例如,数据划分器430可以根据冗余或复制因子或参数提供一个或多个数据块的冗余副本。

在框708处,数据分发器440经由通信接口214将划分的数据块发送到一个或多个可用远程设备220、222、224以供可用远程设备220、222、224进行存储和/或中继到另外的远程设备230、232、250进行存储。例如,存储和/或进一步的中继可以由控制器410在与数据块一起发送的报头、清单和/或其他指令中指定。

在某些示例中,数据产生设备210在将数据发送到接收设备220、222、224之前证实其真实性。例如,数据产生器210向潜在的接收设备认证(例如,使用x509证书等)它具有由通常可信的实体(并且因此是数据的有效发送者)发布的有效证书304。私钥302也可以用于表明产生设备210是数据的拥有者。

在一些示例中,不是在产生设备210和接收设备220、222、224之间建立信任,而是epid和/或其他匿名标识符可以向接收设备220、222、224表明产生设备210是合法的数据源(例如,数据对于备份非常重要)。因此,例如,在反应堆即将熔化的发电厂场景中,旁观者不需要知道哪个反应堆将会发生故障。旁观者的智能电话只需要知道合法的设备正在向它发送加密的数据块用于存储。类似地,一个或多个接收设备220、222、224可能希望保持匿名,同时向产生设备210授权它们并提供一组有效设备220、222、224中的成员资格证明以从产生设备210接收数据(例如,经由epid、其他匿名标识符等)。

在一些示例中,接收设备220、222、224也可以被查询或质询其证明。例如,如果数据是安全的,则控制器410可以要求接收设备220、222、224证明其正在运行飞地以保护数据(例如,证明接收设备的硬件存储装置是与接收设备上的操作系统的剩余物隔离的沙箱,等等)。产生器210接收来自潜在接收器220、222、224的证明响应并且建立与在给定时间窗口中响应的那些设备220、222、224的通信信道(例如,经由通信接口214)。然后,数据由示例数据分发器440通过通信信道发送给例如一个或多个经验证的、可用接收设备220、222、224。数据可以以全副本、一个或多个数据块、发送到多个节点的冗余数据块等发送。

在框710处,数据产生设备210的控制器410确认由一个或多个接收设备220、222、224进行的数据的接收、存储和/或转发。例如,每个接收设备220、222、224向产生设备210确认接收。如果接收设备220、222、224已经将数据中继和/或进一步复制到一个或多个辅助接收设备230、232、240,则例如对转发的确认可以被提供给产生设备210。

在一些示例中,数据可以伴随有清单、报头和/或其他指令以告知接收设备220、222、224、230、232、250如何存储数据、如何管理数据、和/或如何传播数据等。例如,该指令可以包括告知接收设备存储数据多久的保留策略。在一些示例中,保留策略指定接收设备220-250不能删除数据,除非它可以将数据中继到另一个接收设备220-250。该指令可以针对数据提供表明重要性、信任等的优先级和/或可靠性级别。虽然在一些示例中,接收设备220-250不理解其接收到的用于存储的加密数据块,但是在其他示例中,非敏感数据可以由接收设备处理,以便帮助接收设备220-250生成例如设备210故障的警告和/或其他警报。在一些示例中,接收设备220-250的拥有者226接收关于数据已由数据产生设备210存储在设备220-250上的指示。

与从备份取回数据(框506)相关联的附加细节在图8中示出。在图8所示示例中的框802处,从数据拥有者246接收针对数据取回的请求。例如,如上所述,数据拥有者246使用示例数据恢复设备240来触发328从接收设备220-250恢复备份数据。

在框804处,识别存储备份数据的数据块的接收设备220、222、224、230、232、240。例如,数据恢复设备240使用清单和/或数据块列表和数据块被发送到的关联的接收设备220-250来识别接收设备220-250以进行数据取回。在一些示例中,数据恢复设备240广播触发来自存储与数据拥有者246相关联的数据的那些设备220、222、224、230、232、240的响应的消息。

在框806处,数据拥有者246向所识别的接收设备220-250进行认证。例如,由数据恢复设备240向每个接收设备220-250提供认证证书、密钥、签名、匿名标识符等,以验证请求取回的数据拥有者246与提供该数据进行分布式备份的数据拥有者246匹配。

在框808处,数据恢复设备240从所识别的接收设备220-250接收数据块。例如,存储数据的接收设备220、222、224、230、232和/或250经由数据恢复设备240向数据拥有者246提供其数据块330。在一些示例中,数据块由接收设备220-250推送到数据恢复设备240。在一些示例中,数据恢复设备240通过请求从接收设备220-250中提取存储的数据块。

在框810处,处理传入的数据块以确定是否已经接收到表示原始备份的数据流的所有数据块。例如,数据恢复设备240可以处理清单或数据块的列表以确认已经接收到所有备份数据块(例如,对冗余数据块折扣、丢弃和/或消除等)。在一些示例中,数据块被顺序地编号(例如,编号为1到1,000,000的一百万个数据块,复制到两百万个数据块中并且在二十个接收设备之间划分的一百万个数据块,等等)以使得能够标识数据块并且按顺序重构。因此,例如,数据块数量、接收设备数量以及复制因子可以使得数据恢复设备240能够从它们的备份接收设备220-250识别和取回数据块,并且确认所有块的成功取回。如果数据块仍有待接收,则控制返回到框808以继续从接收设备220-250接收数据块并且对接收设备发送回显信息以提示传输,等等。

在框812处,如果已经接收到所有数据块,则数据恢复设备240对数据块解密(例如,使用与数据拥有者246相关联的私钥302等)。在框814,数据恢复设备240从解密的一系列数据块来重构原始数据的副本。例如,基于数据块编号/顺序和冗余信息,数据恢复设备240(例如根据复制因子考虑数据冗余等)将解密的数据块排序以再现由数据产生设备210发送的原始数据流。

因此,可以以分布式备份将数据从数据产生设备210保存到多个接收设备220、222、224、230、232、240,并由数据拥有者246经由数据恢复设备240根据分发和取回策略进行重构。在一些示例中,如果数据产生设备210继续操作,则备份的数据块可以被更新的和/或其他新的数据块覆盖。在一些示例中,接收设备220-232、240可以在经过指定的时间段之后自动删除所存储的数据块(例如,如果设备210故障不在特定的时间段内发生,如果针对数据取回的请求不在一定时间段内发生,等等)。在一些示例中,未经数据拥有者246的许可和/或恢复,数据(例如,关键数据和/或其他重要数据等)不能被删除。

图9是能够执行图5-图8的指令来实现图1-图4的系统的示例处理器平台900的框图。处理器平台900可以是例如服务器、个人计算机、移动设备(例如,蜂窝电话、智能电话、诸如ipadtm之类的平板电脑)、个人数字助理(pda)、互联网装置、dvd播放器、cd播放器、数字录像机、蓝光播放器、游戏操作台、个人录像机、机顶盒或任何其他类型的计算设备。

所示示例的处理器平台900包括处理器912。所示示例的处理器912是硬件。例如,处理器912可以由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器来实现。在所示示例中,处理器912被构造为包括示例数据产生设备210的示例控制器410、示例数据处理器420、示例数据划分器430和示例数据分发器440。

所示示例的处理器912包括本地存储器913(例如,高速缓存)。所示示例的处理器912经由总线918与包括易失性存储器914和非易失性存储器916的主存储器进行通信。易失性存储器914可以通过同步动态随机存取存储器(sdram)、动态随机存取存储器(dram)、rambus动态随机存取存储器(rdram)和/或任何其他类型的随机存取存储器设备来实现。非易失性存储器916可以由闪存和/或任何其他期望类型的存储器设备来实现。对主存储器914、916的存取由存储器控制器控制。

所示示例的处理器平台900还包括接口电路920。接口电路920可以通过任何类型的接口标准(诸如,以太网接口、通用串行总线(usb)和/或快速外围组件互连(pci)接口)来实现。

在所示示例中,一个或多个输入设备922连接到接口电路920。输入设备922允许用户将数据和命令输入到处理器912中。输入设备922可以通过例如音频传感器、麦克风、键盘、按钮、鼠标、触摸屏、跟踪板、轨迹球、等电位点和/或语音识别系统来实现。

一个或多个输出设备924也连接到所示示例的接口电路920。输出设备924可以例如通过显示设备(例如,发光二极管(led)、有机发光二极管(oled)、液晶显示器、阴极射线管显示器(crt)、触摸屏、触觉输出设备)来实现。因此,所示示例的接口电路920通常包括图形驱动器卡、图形驱动器芯片或图形驱动器处理器。

所示示例的接口电路920还包括通信设备,诸如发射机、接收机、收发机、调制解调器和/或网络接口卡,以经由网络926(例如,以太网连接、数字用户线路(dsl)、电话线路、同轴电缆、蜂窝电话系统等)促进与外部机器(例如,任何类型的计算设备)交换数据。

所示示例的处理器平台900还包括用于存储软件和/或数据的一个或多个大容量存储设备928。这种大容量存储设备928的示例包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光盘驱动器、raid系统和数字多功能盘(dvd)驱动器。

图5-图8的编码指令932可以存储在大容量存储设备928中、易失性存储器914中、非易失性存储器916中和/或诸如cd或dvd之类的可移动有形计算机可读存储介质上。

从前述内容可以理解,应当意识到,上述公开的方法、装置和制造品通过提供态势感知和通信协议来收集数据,触发分布式备份模式,识别可用的接收设备,在合格的接收设备之间分发数据以及由数据拥有者重构来自接收设备的分发数据,来促进iot和/或其他电子设备中的数据备份和恢复。本文公开的示例通过对数据的冗余的、加密的分发以用于在源设备的通信范围内的设备当中进行备份以及由数据拥有者对这些数据的安全的经认证的恢复来促进数据安全性和可靠性。这些示例保护备份数据的机密性和完整性。

本文公开的示例提供了用于记录和重新创建数据流的分布式黑匣子或iot数据仓库。本文公开的示例针对寻求数据的安全分布式存储的故障设备提供紧急数据仓库。本文公开的示例提供了在安全飞地中的可取回的、分布式数据存储。本文公开的示例形成包括一个或多个层或级别的冗余存储(例如,从设备接收数据的辅助设备、第三设备等)的特设备份网格/网络,以提供数据流的安全的、经认证的保存。

示例1是一种用于管理分布式数据备份的装置,包括:控制器,用于检测针对分布式备份模式的触发事件;并且响应于对触发事件的检测,触发分布式备份模式。当处于分布式备份模式时,示例1的控制器识别装置的通信范围内的可用于从装置接收数据备份的一个或多个接收设备。示例1包括数据分发器,用于在一个或多个接收设备当中分发来自装置的数据。示例1的控制器确认由一个或多个接收设备接收到分发的数据。

示例2包括示例1的主题,其中控制器用于建立密钥以用于数据加密。

示例3包括示例2的主题,还包括数据处理器,用于将数据划分为数据块并根据来自控制器的密钥对数据块进行加密。

示例4包括示例1的主题,其中控制器从供应服务获得供应证书以将数据分发到一个或多个接收设备。

示例5包括示例1的主题,还包括数据划分器,用于将第一多个数据块中的数据分发到一个或多个接收设备。

示例6包括示例5的主题,其中数据划分器根据复制因子来复制第一多个数据块以形成至少第二多个数据块,并将第一多个数据块分发到接收设备的第一子集并且将第二多个数据块分发到接收设备的第二子集。

示例7包括示例1的主题,其中控制器将指令与数据一起提供给一个或多个接收设备,指令指示一个或多个接收设备中的至少一个将数据转发到辅助接收设备。

示例8包括示例1的主题,其中控制器将唤醒消息发送到一个或多个接收设备。

示例9包括示例1的主题,其中控制器生成装置的向一个或多个接收设备的真实性的证明。

示例10包括示例1的主题,其中控制器从一个或多个接收设备中的每一个接收验证。

示例11包括示例1的主题,其中该控制器生成指示形成来自该装置的数据流的多个数据块的顺序的清单。

示例12包括示例11的主题,其中控制器将清单提供给数据恢复设备,数据恢复设备使用清单来从分发到一个或多个接收设备的数据重构数据流。

示例13包括一种用于管理分布式数据备份的方法,包括检测针对分布式备份模式的触发事件;响应于检测到触发事件,在数据产生设备处触发分布式备份模式;当处于分布式备份模式时,识别所述数据产生设备的通信范围内的可用于从数据产生设备接收数据备份的一个或多个接收设备;在所述一个或多个接收设备中分发来自所述数据产生设备的数据;以及确认一个或多个接收设备接收到分发的数据。

示例14包括示例13的主题,还包括建立密钥以用于数据的加密。

示例15包括示例14的主题,还包括将数据分割为数据块;并根据密钥对数据块进行加密。

示例16包括示例13的主题,还包括从供应服务获得供应证书以将数据分发到一个或多个接收设备。

示例17包括示例13的主题,还包括将第一多个数据块中的数据分发到一个或多个接收设备。

示例18包括示例17的主题,还包括:根据复制因子来复制第一多个数据块以形成至少第二多个数据块;以及将所述第一多个数据块分发到接收设备的第一子集并将所述第二多个数据块分发到接收设备的第二子集。

示例19包括示例13的主题,还包括数据与指令一起提供给一个或多个接收设备,所述指令指示一个或多个接收设备中的至少一个接收设备将数据转发到辅助接收设备。

示例20包括示例13的主题,还包括向一个或多个接收设备发送唤醒消息。

示例21包括示例13的主题,还包括生成装置的向一个或多个接收设备的真实性证明。

示例22包括示例13的主题,还包括从一个或多个接收设备中的每一个接收验证。

示例23包括示例13的主题,还包括生成指示形成来自数据产生装置的数据流的多个数据块的顺序的清单。

示例24包括示例23的主题,还包括将清单提供给数据恢复设备,数据恢复设备使用清单从分发到一个或多个接收设备的数据来重构数据流。

示例25包括示例13的主题,其中所述一个或多个接收设备包括一个或多个辅助接收设备,并且其中所述一个或多个辅助接收设备将来自所述产生设备的数据中继到一个或多个第三接收设备。

示例26包括包含计算机可读指令的有形计算机可读存储介质,所述计算机可读指令在被执行时使处理器至少检测针对分布式备份模式的触发事件;响应于检测到触发事件,在数据产生设备处触发分布式备份模式;当处于分布式备份模式时,识别数据产生设备的通信范围内的可用于接收来自数据产生设备的数据备份的一个或多个接收设备;在所述一个或多个接收设备当中分发来自所述数据产生设备的数据;并确认由一个或多个接收设备接收到分发的数据。

示例27包括示例26的主题,其中,所述指令在被执行时使所述处理器建立密钥以用于所述数据的加密。

示例28包括示例26的主题,其中,所述指令在被执行时使所述处理器将所述数据划分割为数据块并且根据所述密钥对所述数据块进行加密。

示例29包括示例26的主题,其中,所述指令在被执行时使得处理器从供应服务获得供应证书以将数据分发到一个或多个接收设备。

示例30包括示例26的主题,其中,所述指令在被执行时使所述处理器将第一多个数据块中的数据分发到所述一个或多个接收设备。

示例31包括示例30的主题,其中,所述指令在被执行时使所述处理器根据复制因子来复制所述第一多个数据块以形成至少第二多个数据块,并且将所述第一多个数据块分发到接收设备的第一子集,并且将所述第二多个数据块分发到接收设备的第二子集。

示例32包括示例26的主题,其中,所述指令在被执行时使所述处理器将所述数据和指令提供给所述一个或多个接收设备,所述指令指示所述一个或多个接收设备中的至少一个接收设备将数据转发到辅助接收设备。

示例33包括示例26的主题,其中,所述指令在被执行时使处理器将唤醒消息发送到一个或多个接收设备。

示例34包括示例26的主题,其中,所述指令在被执行时使所述处理器生成所述装置的向所述一个或多个接收设备的真实性证明。

示例35包括示例26的主题,其中,所述指令在被执行时使所述处理器从所述一个或多个接收设备中的每一个接收验证。

示例36包括示例26的主题,其中,所述指令在被执行时使处理器生成指示形成来自数据产生装置的数据流的多个数据块的顺序的清单。

示例37包括示例36的主题,其中,所述指令在被执行时使所述处理器向数据恢复设备提供所述清单,所述数据恢复设备使用所述清单从所分发到一个或多个接收设备的数据重构所述数据流。

示例38包括一种用于从故障设备恢复数据的装置,该系统包括处理器,该处理器被配置为:基于针对数据取回的请求,识别存储该数据的一个或多个接收设备;向一个或多个接收设备认证数据拥有者;从一个或多个接收设备中取回数据块;解密数据块;并从解密的数据块重构数据流。

示例39包括一种用于管理分布式数据备份的系统,其包括:用于检测针对分布式备份模式的触发事件并触发分布式备份模式的单元;用于识别系统的通信范围内的可用于从系统接收数据备份的一个或多个接收设备的单元;以及用于在一个或多个接收设备中分发来自装置的数据的单元。

虽然本文已经公开了某些示例性方法、装置和制造品,但是本专利的覆盖范围不限于此。相反,本专利涵盖了完全落入本专利权利要求范围内的所有方法、装置和制造品。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1