CN117643015A - 基于日志记录的客户端密钥修改的快照跨一系列节点管理密钥 - Google Patents
基于日志记录的客户端密钥修改的快照跨一系列节点管理密钥 Download PDFInfo
- Publication number
- CN117643015A CN117643015A CN202280046098.7A CN202280046098A CN117643015A CN 117643015 A CN117643015 A CN 117643015A CN 202280046098 A CN202280046098 A CN 202280046098A CN 117643015 A CN117643015 A CN 117643015A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- node
- instance
- nodes
- data
- 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.)
- Pending
Links
- 238000012986 modification Methods 0.000 title claims abstract description 46
- 230000004048 modification Effects 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 claims description 62
- 230000004044 response Effects 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 23
- 238000005192 partition Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 59
- 238000004891 communication Methods 0.000 description 26
- 230000006854 communication Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 8
- 230000010076 replication Effects 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000013403 standard screening design Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000002600 positron emission tomography Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009295 sperm incapacitation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000013316 zoning Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Library & Information Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及捕获密钥管理数据的快照并存储该快照以便在一个或多个节点处发生中断的情况下高效地重新创建密钥管理数据。快照编排器可以从跨云基础设施服务中的一个或多个区域的一系列节点中的每个节点请求快照实例。每个快照实例可以提供对由该系列节点中的每个节点维护的多个客户端密钥的多个修改。快照编排器可以获得快照实例和对应的元数据,并且核实从该系列节点接收到的快照实例。快照编排器可以将经核实的快照实例和对应的元数据存储在存储节点处。这可以允许快照实例的后续检索并且在该系列节点中的任何节点处重新创建日志记录以及对多个密钥的修改。
Description
相关申请的交叉引用
本申请要求于2021年5月27日提交的标题为“SNAPSHOTTING HARDWARE SECURITYMODULES ANDDISK METADATA STORES”的美国临时专利申请No.63/194,023和于2022年4月12日提交的美国非临时申请No.17/719,010的优先权。出于所有目的,上面提到的申请的全部内容通过引用全文并入本文。
技术领域
所公开的技术涉及云环境中的密钥管理。更具体而言,所公开的技术涉及跨云基础设施系统中的一系列节点捕获密钥管理数据的快照和对应的元数据,并存储快照以便在一个或多个节点处发生中断的情况下高效地重新创建密钥管理数据。
背景技术
云基础设施(CI)系统可以执行多个功能,诸如跨CI系统中的节点(例如,服务器)存储数据并允许查询所存储的数据的能力。另外,CI系统可以存储和维护大量的客户端数据。在许多情况下,可以使用密钥对客户端数据进行加密,使得客户端数据只能响应于提供适当的密钥而被访问和/或修改。用于客户端的密钥可以被用于跨CI系统加密/解密客户端数据的部分。
另外,当在CI系统中添加或修改客户端数据时,可以修改多个密钥。例如,可以添加新密钥以加密新的数据集,或者可以响应于从CI系统移除另一个数据集而从多个密钥中移除密钥。对与客户端相关的多个密钥的修改可以由CI系统中的一个或多个节点进行日志记录和维护。例如,当密钥被添加、移除、修改等时,密钥管理节点可以在CI系统中的一个或多个安全模块上日志记录并存储对多个密钥和相关联元数据的所有修改。密钥管理节点可以被用于跨CI系统检索密钥并且对加密的客户端数据进行解密。
发明内容
本实施例涉及捕获密钥管理数据的快照并存储快照以便在一个或多个节点处发生中断的情况下高效地重新创建密钥管理数据。第一示例性实施例涉及一种用于跨一系列节点捕获密钥管理数据的快照的方法。该方法可以包括由快照编排器从跨云基础设施服务中的一个或多个区域的该系列节点中的每个节点请求快照实例。每个快照实例可以提供对由该系列节点中的每个节点维护的多个客户端密钥的多个修改。另外,每个修改可以与日志记录中的条目对应。
该方法还可以包括由快照编排器从该系列节点中的每个节点获得快照实例和对应的元数据。该方法还可以包括核实从该系列节点接收到的快照实例。该方法还可以包括响应于核实快照实例,将快照实例和对应的元数据存储在存储节点处。这可以允许快照实例的后续检索并且在该系列节点中的任何节点处重新创建日志记录以及对多个密钥的修改。
另一个示例实施例涉及一种快照管理系统。该快照管理系统可以包括处理器和非暂态计算机可读介质。非暂态计算机可读介质包括指令,该指令在由处理器执行时使处理器从该系列节点中的每个节点请求快照实例。每个快照实例可以提供对由该系列节点中的每个节点维护的多个客户端密钥的多个修改。每个修改可以与仅追加日志记录中的日志序列记录对应。
指令还可以使处理器从该系列节点中的每个节点获得快照实例和对应的元数据。指令还可以使处理器基于识别出的快照实例中的每个快照实例的熵值来核实从该系列节点接收到的快照实例。指令还可以使处理器响应于核实快照实例而将快照实例和对应的元数据存储在存储节点处。快照实例和对应的元数据可以被配置为用于在该系列节点中的任何节点处重新创建仅追加日志记录以及对多个密钥的修改。
另一个示例实施例涉及一种非暂态计算机可读介质。该非暂态计算机可读介质可以包括存储在其上的指令序列,该指令序列在由处理器执行时使处理器执行过程。该过程可以包括从跨云基础设施服务中的一个或多个区域的一系列节点中的每个节点请求快照实例。每个快照实例可以指定对由该系列节点中的每个节点维护的多个客户端密钥的多个修改。另外,每个修改可以与日志记录中的条目对应。
该过程还可以包括从该系列节点中的每个节点获得快照实例和对应的元数据。该过程还可以包括通过确定每个接收到的快照实例的熵值在阈值相似度内来核实从该系列节点接收到的快照实例。该过程还可以包括响应于核实快照实例而将快照实例和对应的元数据存储在存储节点处。这可以允许快照实例的后续检索并且在该系列节点中的任何节点处重新创建日志记录以及对多个密钥的修改。
此外,实施例可以通过使用计算机程序产品来实现,该计算机程序产品包括计算机程序/指令,计算机程序/指令在由处理器执行时使得处理器执行本文的公开中描述的任何方法/技术。
附图说明
图1是根据至少一个实施例的示例快照管理系统的框图。
图2图示了根据至少一个实施例的用于捕获密钥管理数据的快照的系统的示例的框图。
图3图示了根据至少一个实施例的示例快照编排器的框图。
图4是根据至少一个实施例的用于快照实例的示例位图。
图5图示了根据至少一个实施例的示例快照文件格式位图的框图。
图6是根据至少一个实施例的用于跨一系列节点捕获密钥管理数据的快照的示例方法的框图。
图7是图示根据至少一个实施例的用于实现云基础设施即服务系统的一种模式的框图。
图8是图示根据至少一个实施例的用于实现云基础设施即服务系统的另一种模式的框图。
图9是图示根据至少一个实施例的用于实现云基础设施即服务系统的另一种模式的框图。
图10是图示根据至少一个实施例的用于实现云基础设施即服务系统的另一种模式的框图。
图11是图示根据至少一个实施例的示例计算机系统的框图。
具体实施方式
云基础设施(CI)服务可以包括一个或多个存储模块(或“保管库(vault)”),用于跨各种CI服务和应用安全地管理和存储密码密钥。CI保管库可以包括安全且有弹性的受管理服务,该服务允许安全的数据加密,同时最大化执行硬件供给和/或软件修补的效率,并且具有高可用性。
在CI服务中,安全性敏感工作负载可以利用存储在硬件安全性模块(HSM)中的密码密钥进行加密。CI服务可以使用HSM提供密钥管理服务。客户端密钥可以存储在保管库中,并且通过密钥的跨区域复制,客户端可以通过在CI服务中跨区域复制密钥来从区域故障中恢复。响应于为客户端启用复制,可以用具有准确复制状态的相关联元数据来复制现有密钥和新密钥。
CI密钥管理服务可以使用HSM来存储客户密钥。每个HSM可以包括若干分区,这些分区为每个HSM中存储的密钥提供逻辑和安全性边界。响应于客户端创建保管库,保管库可以包括相关联的分区,以及在该分区中创建的保管库内的所有密钥。一个分区的内容可能无法与另一个分区共享,除非它们共享相同的信任链,从而维护单个分区本地的安全性爆炸(blast)半径。
HSM可以被建模为被复制的状态机(RSM)。每个面向客户的保管库都可以包括相关联的预写日志(write ahead log,WAL)。WAL可以记录对其保管库的操作,包括但不限于密钥的创建和删除、元数据按有序方式更新。WAL可以存储在支持事务读取和写入的内部CI持久键-值存储库中。与如上所述的计算器类似,可以通过应用与保管库相关联的WAL中的条目来完全重新创建保管库。
另外,当为客户端创建保管库时,默认情况下可以跨区域内的数据中心中的主机复制HSM中的相关联的分区。通过在保管库上启用跨区域复制,WAL可以被中继到目的地区域并应用于该区域中的所有主机。默认情况下,客户端密钥可以跨分布在数据中心之间的主机被复制。区域中的KMS服务可以在防火墙内部运行,无法访问外部网络(例如,互联网)。为了启用跨区域通信,可以在每个区域中运行高性能RESTful服务(例如,WAL服务),该服务可以将WAL业务从KMS服务带到领域内的另一个区域。从一个区域到另一个区域中的WAL服务的跨区域调用可以通过源区域的边缘处的访问控制代理。任何服务都可以结合代表性状态转移(REST)技术,按地理分布,并用一个或多个负载平衡器执行。每个预写日志(WAL)可以包括仅追加日志,其包括随时间推移对密钥的修改。每个WAL可以包括一系列条目,其中每个条目都具有相关联的日志序列号(LSN)。LSN可以是单调密集的,并且对于每个WAL条目都会增加。
另外,CI KMS可以包括跨多个区域一起工作的多个分布式服务。但是,跨区域处理会造成各种问题(例如,由拜占庭故障引起的问题)。例如,在这种包括多个区域的分布式系统中,可能出现导致主机、盘、数据存储库、HSM部分或全部丢失的事故(incident),或者导致传输中数据损坏、分区或消息递送无序的网络问题。另外,这可能造成操纵WAL中的数据的错误或事故或者其它数据中心故障。作为响应,WAL可以包括与该客户保管库相关的各种系统状态的整体,使得服务可以是无状态的。每个WAL条目可以对关于CI服务的客户端数据和元数据两者进行编码。
例如,出于多种原因中的任何原因,托管密钥管理服务(例如,硬件安全性模块(HSM))的节点可能发生故障或失去功能性。例如,在大规模中断事件中,托管HSM的设备可能会断电或失去功能性,这可能导致HSM中数据的丢失。在密钥管理服务数据丢失的情况下,多个密钥(以及密钥的被跟踪的日志)可能丢失,从而导致无法访问加密的客户端数据。
在一些情况下,CI KMS可以是具有多个区域分片(shard)的分片系统。区域分片标识符可以将CI领域、区域和KMS分片的组合编码为整数。区域分片标识符可以包括表示跨区域/领域的每个分片的32位整数。这可以允许高效的计算来生成WAL的成员资格。
另外,可以比较多个WAL以确定WAL在指定点之前是否相同。这可以通过计算每个日志条目的增量校验和并在重新计算期间比较实际的熵值与计算的熵值来执行。执行反熵检查可以帮助识别位翻转或解决WAL之间的冲突并在区域之间会聚WAL。
另外,每个WAL可以包括大量(例如,数百万)条目。因而,每次需要引导主机或为客户端设置跨区域复制时应用多个WAL可能是低效的。为了跨区域复制WAL数据,可以定期地拍摄WAL快照并跨区域复制。每个快照可以包括熵值。可以在同一时间点在每个单个状态机上拍摄快照,并且集中式快照编排器可以比较熵值并在达成共识之后将快照提升为有效。另外,可以通过执行整个快照的校验和来处理数据以确定是否发生位翻转。
在许多情况下,可以利用不同的快照方法来捕获用于RSM的快照。第一种快照方法可以包括停止世界快照,其中在拍摄快照时不允许对RSM的状态进行任何改变。另一种示例快照方法可以包括并发快照,其中在处理新操作的同时拍摄快照,其中可以在拍摄快照的同时处理WAL记录。另外,完整快照可以包含与LSN相关联的整个复制状态。可替代地,增量快照可以包括一系列快照,其中一个快照依赖于先前的快照。增量快照可以被用于减少快照的尺寸以及创建快照所需的时间。
本实施例涉及捕获密钥管理服务数据(例如,多个密钥的WAL)的快照。快照编排器可以在特定实例(例如,在WAL的指定日志序列号(LSN)处)跨多个主机发起快照,并且同步所获得的快照。LSN可以包括可以用于对WAL条目进行排序的单调密集且增加的序列号。保存的快照可以包括日志数据的弹性复制,主机可以在CI系统发生中断的情况下高效地恢复这些日志数据。
本实施例可以实现可以基于各种阈值定期地编排数据的快照的快照编排器。快照编排器可以实现核实(反熵)过程来跨主机设备的集群中的主机来确认和核实快照内容。另外,快照编排器可以从一个或多个HSM获得具有元数据的内容,使得根据一个或多个标准/协议,客户端数据不会离开设备或系统边界。可以对快照数据进行加密和校验和以确保快照数据的安全性。例如,可以从快照数据导出快照数据的一部分,并将其与快照数据进行比较,以检测快照数据中的错误或核实快照数据的完整性。快照数据可以跨多个设备存储(例如,跨区域存储)。另外,快照数据的有效载荷结构和快照数据的截断可以启用快照数据的高效恢复,而无需存储器资源的指数级增加。
快照编排器可以包括处置应用特定类型的各个日志记录的日志记录处理程序(handle)。WAL处理器可以处理WAL并且可以将WAL分派给一个或多个日志记录处理程序。当应用WAL记录时,WAL处理器可以维护当前状态(例如,当前LSN)。WAL管理器可以基于从系统中添加/删除的WAL来管理WAL处理器。
在一些实施例中,提供了用于获得密钥管理数据的快照的方法。在CI系统中的设备上执行的快照编排器服务可以执行如本文所描述的方法。快照编排器可以从多个主机设备发送对快照数据的请求。由主机设备捕获的快照可以包括密钥管理数据(例如,提供对加密客户端数据的多个密钥的一串修改的WAL)以及与快照数据相关联的任何元数据(例如,识别主机设备、在其中获得了快照数据的LSN实例)。多个主机设备可以包括跨CI系统中的一个或多个区域部署的HSM节点和/或数据库节点。
对快照数据的请求可以被发送到一系列主机设备。快照服务可以获得每个主机设备处的快照实例并向快照编排设备提供数据(例如,快照数据的熵值)。快照服务可以响应于快照数据处于指定状态(例如,写入追加日志(write append log,WAL)中的指定LSN实例)来获得快照数据。在一些情况下,快照编排器可以比较从快照服务接收到的所获得的熵值,并且在成功时可以将快照数据的集合上传到外部持久存储库。
快照编排器设备可以从多个主机设备获得快照实例并核实快照数据。这可以包括执行核实或反熵过程以核实快照数据。在一些情况下,可以在拍摄快照的点处截断WAL,以移除指定的LSN实例之前的WAL的部分。
快照编排器可以将快照数据存储在存储节点中。在一些情况下,主存储节点可以充当快照数据实例的事实点,以用于跨区域存储中节点之间的快照数据的协调/同步。在发生中断事件或关键管理数据丢失的情况下,可以检索快照数据以高效地为客户端提供密钥数据。
A.快照管理系统概述
如本文所描述的系统可以将客户端密钥存储在一个或多个硬件安全性模块(HSM)中,并将相关联的元数据存储在跨一个或多个区域的盘上存储库上。这可以通过内部复制系统来完成,该内部复制系统使数据在不同区域中跨这些主机保持同步。另外,如本文所描述的系统可以定期地拍摄这些HSM和相关联的元数据存储库的快照,以备份客户端密钥数据并压缩复制日志。这可以运行在一个或多个区域中发生故障或密钥数据丢失的情况下高效地检索密钥数据。
图1是示例快照管理系统100的框图。快照管理系统100可以提供高效捕获快照实例和相关联元数据的快照基础设施。快照管理系统100可以基于各种可配置阈值定期地编排快照。快照管理系统100还可以核实所获得的快照实例(例如,通过执行反熵检查)。
在一些情况下,快照管理系统100可以对快照实例的校验和进行加密或执行快照实例的校验和以增加快照实例的安全性。另外,快照管理系统100可以允许快照实例的跨区域存储。快照的有效载荷结构可以允许在没有存储器膨胀的情况下快照实例的高效恢复。
如图1中所示,快照管理系统100可以包括快照编排器102。快照编排器102可以从跨一个或多个区域的多个主机节点(例如,106A-B)请求快照实例。快照编排器102还可以对获得的快照实例(例如,WAL日志记录)进行进一步处理以核实快照实例。响应于快照实例的核实,可以存储实例以供后续检索。
快照编排器102可以包括快照检索子系统104。快照检索子系统104可以从主机节点106A-B发起对快照实例的请求。例如,快照检索子系统104可以将条目(例如,在LSN实例处)添加到请求在指定的LSN实例处拍摄快照的WAL。作为另一个示例,快照检索子系统104可以向主机节点106A-B发送请求由每个主机节点106A-B拍摄快照的消息。
快照编排器102可以在集群管理器内运行并且可以通过将新条目添加到WAL中来发起主机节点上的快照。快照编排器102可以执行反熵检查。例如,在反熵检查失败时,如果主机节点的一部分具有共同的反熵值,那么移除快照在其上失败的节点并允许其补上。可替代地,可以发出警报。
快照管理系统100可以包括多个主机节点(例如,106A-B)。主机节点106A-B可以包括跨CI服务中的多个区域部署的HSM。每个主机节点106A-B可以维护为客户端创建/移除的所有密钥的单独日志记录。另外,每个主机节点106A-B可以包括快照生成子系统108A-B以检测捕获快照的请求、与快照器110A-B进行交互以捕获快照、以及向快照编排器102提供快照实例。快照器可以是在每个副本/服务实例内运行的工作节点,其被配置为执行与快照拍摄相关的任务(例如,执行快照拍摄、快照的本地存储、远程快照的拉/推等)。
每个快照器110A-B可以在每个主机节点实例106A-B内执行。快照器110A-B可以是预写日志管理器的一部分并且可以负责本地快照拍摄和快照的存储。快照器110A-B可以暴露可以由快照编排器102调用的应用编程接口(API)的集合。在一些情况下,多个先前快照可以远程存储在每个快照器110A-B处。
快照检索子系统104可以获得由每个主机节点106A-B提供的快照实例112A-B。快照实例112A-B可以被提供给快照核实子系统114以用于快照实例112A-B的核实。例如,快照核实子系统114可以比较快照实例112A-B以识别实例112A-B中的任何差异、截断快照实例112A-B、执行反熵检查等。
经核实的快照实例116可以存储在存储模块118处。存储模块118可以维护多个快照实例,以便在任何主机节点106A-B发生故障的情况下进行后续检索。例如,响应于主机节点106a的故障,可以向主机节点106a提供最近快照实例以复制用于客户端的WAL。
图2图示了用于捕获密钥管理数据的快照的系统的示例的框图200。如图2中所示,快照编排器102可以从在主机设备上执行的一系列快照服务请求快照。如图2中所示,预写日志202可以包括仅追加日志,其可以包括多个实例(例如,204A-B)。另外,快照编排器102可以将条目(例如,206)添加到WAL 202,其包括指示主机节点106A-B捕获快照的LSN实例。主机节点106A-B进而可以识别WAL 202中的WAL实例206并且发起快照实例的捕获,如本文所描述的。
快照编排器102可以跨多个主机节点编排快照过程,该多个主机节点可以负责将快照推送到存储模块118中以供长期存储。每个区域可以包括一对区域以实现跨区域冗余。快照编排器102可以将快照推送到用于每个区域的存储模块118。存储模块118可以在预配置的逻辑删除(tombstoning)间隔之后(例如,30天之后)删除与WAL相关联的快照。
快照编排器102可以跟踪表(例如,类似键值存储数据库等的数据库)中的WAL快照和相关联的元数据。快照编排器102可以作为基于租赁的守护进程运行并且基于时间间隔定期地请求快照。快照编排器102可以暴露API以通过写入WAL 202来按需执行快照。另外,快照编排器102守护进程可以基于最近的快照LSN来执行WAL的截断。可以响应于满足一个或多个条件而发起快照。示例条件可以基于大于快照间隔的最新快照创建时间以及正在进行的最新快照的状态。另一个示例条件可以基于WAL中的最新LSN大于WAL中的最大允许记录。响应于满足任何条件,可以将日志条目写入WAL并且可以将快照元数据记录添加到正在进行快照的元数据表中。
在一些情况下,多个密钥分区备份可以捕获用于HSM的分区的快照。这可以为HSM上的每个分区提供加密的快照。由HSM提供的任何备份功能(配置、密钥和用户)都可以包括在加密的blob(二进制大对象)中。可以核实备份并可以检查数据的准确性,以便(例如,使用循环冗余校验(CRC),如CRC32错误检测算法等)确保快照中的准确性。这种核实可以包括运行校验和,因为可以从卡中读取分区数据。备份可以存储在指定的存储装置中,并且当恢复功能被初始化时,恢复功能可以在通过完整性检查的新临时分区上运行。
在一些情况下,当在WAL中检测到快照条目时,所有主机节点可以在它们的HSM卡上运行备份。但是,由于备份是加密的,因此可能难以将备份彼此进行比较。因而,用于每种备份类型的所有数据都可以被下载并与加密的数据的blob一起返回。然后,编排器可以使用元数据对数据进行排序,并且比较备份以确定备份是否指向相同的对象。
每个主机节点106A-B可以实现快照器110A-B。快照器110A-B可以作为预写日志管理器的一部分运行。快照器110A-B可以捕获快照并本地保存快照。快照器110A-B还可以暴露允许返回与特定LSN相关联的快照器的状态的API、列出对于LSN本地存在的快照,以及返回可以直接写入本地/远程存储模块的快照。
快照器110A-B可以捕获新的本地快照。对快照的请求可以使用特定日志记录类型流经用于每个主机节点106A-B的WAL。然后,WAL管理器可以调用WAL处理器来获取快照,其中快照写入器负责写入快照和相关联的元数据。
在一些情况下,快照可以被存储为用于WAL的整体快照内的“迷你”快照的集合。每个日志记录处理程序处理器可以负责对其在与特定日志记录处理程序相关联的快照中的数据进行版本控制。快照写入器可以负责对整个快照文件进行版本控制并执行完整性检查。完整性检查可以经由每个个体机器上可用的私钥用快照的加密密钥值进行签署。
下载的快照和/或本地保存的快照被保存在WAL管理器内的子目录目录中。快照和每个对应的设备状态可以由快照管理器管理。每个快照可以驻留在存储子目录中,以指定的LSN作为其名称,并带有指示快照是否完整并经过核实的标记文件。
B.快照编排器
如上所述,快照编排器可以从一个或多个主机节点获得快照并维护快照(以及对应的元数据)以在任何主机节点发生丢失的情况下重新创建WAL。例如,响应于包括主机节点的区域中的故障,快照编排器可以向主机节点提供快照和相关联的元数据以重新创建提供客户端密钥管理数据的WAL。
图3图示了示例快照编排器302的框图300。快照编排器302可从一个或多个主机节点获得快照数据(WAL),如本文所描述的。编排器302可以轮询所获得的WAL并且可以执行附加处理(例如,逻辑删除)。从主机节点接收到的快照和相关联的元数据可以通过表来维护。元数据可以包括主机节点的名称、LSN实例、快照状态、创建记录的时间等。表中维护的(一个或多个)快照和对应的元数据可以本地存储在WAL储存库304处。
快照编排器302可以经由WAL截断器306来截断WAL。例如,由每个主机节点捕获的快照可以在指定的LSN实例处被截断。截断快照可以减小每个快照的尺寸,同时还允许准确表示WAL以便在给定主机节点处重新创建WAL。
快照和对应的元数据可以存储在存储模块310处。存储模块310可以包括一个或多个互连的存储节点,从而允许响应于来自编排器302的对快照的请求而高效地存储和检索快照数据。
跨区域快照复制器308可以包括负责在区域之间运送备份和现有快照的组件。如果不同区域中的节点之间存在任何差异,那么跨区域快照复制器308可以移动通过快照元数据表并且跨区域复制快照数据。跨区域快照复制器308可以包括可以单独连接到各个区域的基于租赁的守护进程。对于状态指示快照捕获成功的每个快照,可以将快照复制到跨区域快照复制器308。跨区域快照复制器308的数据复制处理程序可以负责将数据复制WAL记录应用到本地数据库中。每个本地数据库可以包括少于阈值数量的条目。在一些情况下,快照拍摄可以仅阻止对数据的写入,并且在快照拍摄正在进行时数据库可以由快照编排器的数据平面读取。本地数据库可以包括键-值对数组。键-值对可以在数据库中按照LSN值和计算出的CRC32值进行排序。当数据记录被更新时,可以增量地修改CRC32。CRC32函数将可变长度字符串转换成8个字符的字符串,这是32位二进制序列的十六进制值的文本表示。因此,随着数据变得更加准确,CRC32值可以改进。
C.快照数据位图
图4是用于快照实例的示例位图400。快照数据可以包括从主机节点获得的快照实例,如本文所描述的。快照数据可以包括具有可变长度的多个处理程序快照。处理程序快照可以包括由每个快照服务获得的各个快照实例。
用于快照数据400的位图可以包括处理程序快照字段402、404、快照报头字段406、CRC32字段408和版本字段410中的任何字段。例如,第一快照实例(例如,来自HSM的实例)可以被包括在第一处理程序快照字段402中,并且第二快照实例(例如,来自Berkeley数据库(BDB)实例等)可以被包括在第二处理程序快照字段404中。快照实例可以由快照编排器组合以形成后面可以由节点(例如,HSM、BDB节点)解析和恢复的快照有效负载。处理程序快照字段402、404可以包括可变长度(vlen)。
快照数据还可以包括以字节为单位识别快照尺寸的快照报头406。可以使用公钥密码标准(PKCS)封装加密使用非对称密钥对快照数据进行加密。快照数据还可以包括循环冗余校验(CRC32)字段408和指定提供快照数据的节点的版本的版本字段410。CRC32字段408和版本字段410可以不加密,以允许确认每个快照实例的有效性,而不必解密快照实例或访问公钥。
快照实例可以与指定处理程序快照的元数据(例如,名称和偏移量)的元数据文件相关联。例如,这可以包括与快照相关联的LSN、预写日志名称、用于每个处理程序快照的处理程序快照元数据、处理程序快照的数量、包括报头的快照的长度(以字节为单位)、快照的版本、日志记录类型、熵值等。
图5图示了示例快照文件格式位图500的框图。快照文件格式位图500可以包括版本字段502、报头CRC32字段504、报头字段506和多个表字段(例如,508、510、512)。
版本字段502可以提供快照的版本。快照的长度可以包括将快照尺寸限制为2GB的有符号整数(例如,4字节等)。报头CRC32字段504可以包括指定包括报头的剩余字节的CRC的4个字节。报头字段506可以包含索引到每个表所需的元数据。文件格式可以(例如,在表字段508、510、512中)包括可变长度的多个表(例如,表1、表2、表3)。
D.用于捕获和管理密钥管理数据的快照的流过程(flow process)
如上所述,快照管理系统可以跨一系列节点定期地捕获密钥管理数据的快照,并且存储该快照以供后续重新创建密钥管理数据。例如,响应于第一节点处的中断,可以向第一节点提供最近的快照以在该节点处重新创建密钥管理数据。这可以允许响应于一个或多个节点处的中断事件(例如,故障)而高效地重新创建密钥管理数据(例如,随着时间的推移对客户端密钥的修改)。图6是用于跨一系列节点捕获密钥管理数据的快照的示例方法600的框图。例如,如本文描述的方法可以由与作为快照管理系统(例如,100)的一部分的主机节点(例如,106A-B)进行交互的快照编排器(例如,102)执行。
在602处,该方法可以包括从一系列节点请求快照实例。该系列节点中的每个节点可以包括能够捕获每个节点上的密钥管理数据的快照的快照器。密钥管理数据可以包括对特定于客户端的多个密钥中的任何密钥的修改(例如,添加/移除)。对多个密钥的每个修改可以与日志记录中的条目(例如,写入追加日志(WAL)中的指定的LSN实例)相关联。例如,在一些情况下,该系列节点可以跨云基础设施服务中的一个或多个区域(诸如跨不同地理区域中的不同数据中心)部署。在这个示例中,对在第一区域中的第一节点处识别出的对多个客户端密钥中的任何客户端密钥的每个修改通过跨区域快照复制器跨云基础设施服务的其它区域中的其它节点进行同步。
在一些情况下,请求快照包括向日志记录添加指定捕获快照实例的请求的条目。作为响应,该系列节点中的每个节点可以响应于识别出对日志记录的添加条目而捕获快照实例。在一些情况下,响应于阈值持续时间(例如,每1分钟、每10分钟)到期或者检测到向日志记录添加阈值数量的条目(例如,每100个条目、每1000个条目),可以请求快照实例。
在604处,快照编排器可以从该系列节点获得快照实例和对应的元数据。快照实例可以包括该系列节点中的每个节点上的日志(例如,WAL)的快照。针对每个快照实例的元数据可以包括快照和/或捕获快照的节点的各个方面。例如,元数据可以指定触发快照的WAL中的日志序列号、快照状态、捕获快照的主机节点的标识符、熵值等。在一些情况下,元数据包括用于访问第一节点的指定分区的密钥,第一节点的每个分区独立地为客户端维护日志记录。快照编排器可以使用密钥来访问分区,以将存储的快照实例和对应的元数据提供给第一节点的分区。
在606处,快照编排器可以核实快照数据的集合。这可以包括识别快照数据的集合包括可以被用于恢复指定实例处客户端的密钥的状态的可理解的数据(intelligibledata)。另外,这可以包括执行核实或反熵过程以核实快照数据。
作为示例,快照编排器可以识别特定于每个快照实例和每个对应节点的熵值。如本文所使用的,熵值可以包括从一个或多个特点导出的值(或一系列值),诸如在其中请求快照的LSN、指定快照实例的报头或快照实例本身中的字节数的校验和值、捕获快照的时间等。换句话说,如本文所描述和使用的,一般而言,熵值不一定是结果的不确定性的数值测量,如可以在行业中使用的。代替地,根据本文描述的技术,可以基于上述特点来生成熵值,并且熵值可以特定于每个快照实例和/或每个对应节点。快照编排器可以确定用于每个接收到的快照实例的识别出的熵值是否在彼此的阈值相似度内。可以响应于熵值在阈值相似度内而核实快照实例。例如,如果所有熵值相同或在阈值相似度内,那么可以核实快照实例。
在一些情况下,快照编排器可以截断每个快照实例,以移除对多个客户端密钥的修改,以及日志记录中的在日志记录的指定条目之前的对应条目。例如,如果每个快照实例包括1000个条目,那么可以将快照实例截断为仅100个最近的条目,以提高存储快照实例的效率,同时还允许能够重新创建所有相关客户端密钥。
在一些情况下,响应于核实快照实例,可以更新表以包括与快照实例对应的元数据。元数据可以与以下中的任何项相关:仅追加日志记录的指定日志序列号、捕获快照实例的状态、以及在其中核实对快照实例的请求的时间戳。
在608处,快照编排器可以将快照数据存储在存储节点和一系列主机节点中(例如,在跨区域存储装置中)。在一些情况下,主存储节点可以充当针对快照数据实例的事实点,用于跨独立存储WAL的节点来协调/同步快照数据。在中断事件或密钥管理数据丢失的情况下,可以检索快照数据以高效地为客户端提供密钥数据。
作为示例,快照编排器可以获得第一节点处的中断通知。这可能是由于第一节点发生中断(例如,电力中断)或第一节点发生另一个故障而导致的。快照编排器可以定期地检查任何节点处的中断情况。在其它情况下,节点(或对应的警报系统)可以响应于检测到任何节点处的中断而发送中断通知。快照编排器可以从存储节点中检索存储的快照实例和对应的元数据。另外,快照编排器可以向第一节点提供所存储的快照实例和对应的元数据。第一节点可以使用所存储的快照实例和对应的元数据来重新创建指定对多个客户端密钥的修改的日志记录。此外,各种修改和等同形式包括实施例中所公开的特征的相关的、适当的组合。
E.IaaS概述
如上所述,基础设施即服务(IaaS)是一种特定类型的云计算。IaaS可以被配置为通过公共网络(例如,互联网)提供虚拟化计算资源。在IaaS模型中,云计算提供商可以托管基础设施组件(例如,服务器、存储设备、网络节点(例如,硬件)、部署软件、平台虚拟化(例如,管理程序层)等)。在一些情况下,IaaS提供商还可以提供各种服务来伴随这些基础设施组件(例如,计费、监视、日志记录、负载平衡和聚类等)。因此,由于这些服务可能是策略驱动的,因此IaaS用户可以能够实现策略来驱动负载平衡,以维持应用的可用性和性能。
在一些情况下,IaaS客户可以通过诸如互联网之类的广域网(WAN)访问资源和服务,并且可以使用云提供商的服务来安装应用堆栈的剩余元素。例如,用户可以登录到IaaS平台以创建虚拟机(VM)、在每个VM上安装操作系统(OS)、部署诸如数据库之类的中间件、为工作负载和备份创建存储桶、甚至将企业软件安装到该VM中。然后,客户可以使用提供商的服务来执行各种功能,包括平衡网络流量、解决应用问题、监视性能、管理灾难恢复等。
在大多数情况下,云计算模型将需要云提供商的参与。云提供商可以但不一定是专门提供(例如,供应、出租、销售)IaaS的第三方服务。实体也可能选择部署私有云,从而成为其自己的基础设施服务提供商。
在一些示例中,IaaS部署是将新应用或应用的新版本放置到准备好的应用服务器等上的处理。它还可以包括准备服务器(例如,安装库、守护进程等)的处理。这通常由云提供商管理,位于管理程序层(例如,服务器、存储装置、网络硬件和虚拟化)之下。因此,客户可以负责处理(OS)、中间件和/或(例如,在(例如可以按需启动的)自助服务虚拟机上的)应用部署等。
在一些示例中,IaaS供给可以指获取计算机或虚拟主机以供使用,甚至在它们上安装所需的库或服务。大多数情况下,部署不包括供给,并且供给可能需要被首先执行。
在一些情况下,IaaS供给存在两个不同的挑战。首先,在任何东西运行之前供给初始基础设施集合存在最初的挑战。其次,一旦所有东西已被供给,就存在演进现有基础设施(例如,添加新服务、更改服务、移除服务等)的挑战。在一些情况下,可以通过启用以声明方式定义基础设施的配置来解决这两个挑战。换句话说,基础设施(例如,需要哪些组件以及它们如何交互)可以由一个或多个配置文件来定义。因此,基础设施的总体拓扑(例如,哪些资源依赖于哪些资源,以及它们如何协同工作)可以以声明的方式描述。在一些情况下,一旦定义了拓扑,就可以生成创建和/或管理配置文件中描述的不同组件的工作流。
在一些示例中,基础设施可以具有许多互连的元素。例如,可能存在一个或多个虚拟私有云(VPC)(例如,可配置和/或共享计算资源的潜在按需池),也称为核心网络。在一些示例中,还可以供给一个或多个入站/出站业务组规则以定义将如何设置网络的入站/出站业务以及一个或多个虚拟机(VM)。也可以供给其它基础设施元素,诸如负载平衡器、数据库等。随着期望和/或添加越来越多的基础设施元素,基础设施可以逐步演进。
在一些情况下,可以采用连续部署技术来使得能够跨各种虚拟计算环境来部署基础设施代码。此外,所描述的技术可以使得能够在这些环境内进行基础设施管理。在一些示例中,服务团队可以编写期望部署到一个或多个但通常是许多不同的生产环境(例如,跨各种不同的地理位置,有时跨越整个世界)的代码。但是,在一些示例中,必须首先设置将在其上部署代码的基础设施。在一些情况下,供给可以手动完成,可以利用供给工具来供给资源,和/或一旦供给基础设施就可以利用部署工具来部署代码。
图7是图示根据至少一个实施例的IaaS体系架构的示例模式的框图700。服务运营商702可以通信地耦合到可以包括虚拟云网络(VCN)706和安全主机子网708的安全主机租赁704。在一些示例中,服务运营商702可以使用一个或多个客户端计算设备(客户端计算设备可以是便携式手持设备(例如,蜂窝电话、/>计算平板、个人数字助理(PDA))或可穿戴设备(例如,Google/>头戴式显示器)),运行软件(诸如MicrosoftWindows/>)和/或各种移动操作系统(诸如iOS、Windows Phone、Android、BlackBerry 9、Palm OS等),并且支持互联网、电子邮件、短消息服务(SMS)、或其它通信协议。可替代地,客户端计算设备可以是通用个人计算机,包括例如运行各种版本的Microsoft/>Apple/>和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行各种商业上可获得的或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统(诸如例如GoogleChrome OS))中的任何操作系统的工作站计算机。替代地或附加地,客户端计算设备可以是任何其它电子设备,诸如瘦客户端计算机、支持互联网的游戏系统(例如,具有或不具有手势输入设备的Microsoft Xbox游戏控制台)、和/或能够通过可以访问VCN706和/或互联网的网络进行通信的个人消息传递设备。
VCN 706可以包括本地对等网关(LPG)710,该VCN 706可以经由包含在安全壳(SSH)VCN 712中的LPG 710通信地耦合到SSH VCN 712。SSH VCN 712可以包括SSH子网714,并且SSH VCN 712可以经由包含在控制平面VCN 716中的LPG 710通信地耦合到控制平面VCN 716。此外,SSH VCN 712可以经由LPG 710通信地耦合到数据平面VCN 718。控制平面VCN 716和数据平面VCN 718可以包含在可以由IaaS提供商拥有和/或操作的服务租赁719中。
控制平面VCN 716可以包括充当外围网络(例如,公司内部网络和外部网络之间的公司网络的部分)的控制平面非军事区(DMZ)层720。基于DMZ的服务器可以承担有限责任并有助于控制违规。此外,DMZ层720可以包括一个或多个负载平衡器(LB)子网722、可以包括(一个或多个)应用(app)子网726的控制平面应用层724、可以包括(一个或多个)数据库(DB)子网730(例如,(一个或多个)前端DB子网和/或(一个或多个)后端DB子网)的控制平面数据层728。包含在控制平面DMZ层720中的(一个或多个)LB子网722可以通信地耦合到包含在控制平面应用层724中的(一个或多个)应用子网726和可以包含在控制平面VCN 716中的互联网网关734,并且(一个或多个)应用子网726可以通信地耦合到包含在控制平面数据层728中的(一个或多个)DB子网730以及服务网关736和网络地址转换(NAT)网关738。控制平面VCN 716可以包括服务网关736和NAT网关738。
控制平面VCN 716可以包括数据平面镜像应用层740,其可以包括(一个或多个)应用子网726。包含在数据平面镜像应用层740中的(一个或多个)应用子网726可以包括可以执行计算实例744的虚拟网络接口控制器(VNIC)742。计算实例744可以将数据平面镜像应用层740的(一个或多个)应用子网726通信地耦合到可以包含在数据平面应用层746中的(一个或多个)应用子网726。
数据平面VCN 718可以包括数据平面应用层746、数据平面DMZ层748和数据平面数据层750。数据平面DMZ层748可以包括(一个或多个)LB子网722,其可以通信地耦合到数据平面应用层746的(一个或多个)应用子网726和数据平面VCN 718的互联网网关734。(一个或多个)应用子网726可以通信地耦合到数据平面VCN 718的服务网关736和数据平面VCN718的NAT网关738。数据平面数据层750还可以包括可以通信地耦合到数据平面应用层746的(一个或多个)应用子网726的(一个或多个)DB子网730。
控制平面VCN 716和数据平面VCN 718的互联网网关734可以通信地耦合到元数据管理服务752,该元数据管理服务752可以通信地耦合到公共互联网754。公共互联网754可以通信地耦合到控制平面VCN 716和数据平面VCN 718的NAT网关738。控制平面VCN 716和数据平面VCN 718的服务网关736可以通信地耦合到云服务756。
在一些示例中,控制平面VCN 716或数据平面VCN 718的服务网关736可以对云服务756进行应用编程接口(API)调用,而无需通过公共互联网754。从服务网关736到云服务756的API调用可以是单向的:服务网关736可以对云服务756进行API调用,并且云服务756可以将请求的数据发送到服务网关736。但是,云服务756可以不发起对服务网关736的API调用。
在一些示例中,安全主机租赁704可以直接连接到服务租赁719,服务租赁719否则可以被隔离。安全主机子网708可以通过LPG 710与SSH子网714通信,LPG 710可以使得能够在否则隔离的系统上进行双向通信。将安全主机子网708连接到SSH子网714可以使安全主机子网708访问服务租赁719内的其它实体。
控制平面VCN 716可以允许服务租赁719的用户设置或以其它方式供给期望资源。在控制平面VCN 716中供给的期望资源可以在数据平面VCN 718中部署或以其它方式使用。在一些示例中,控制平面VCN 716可以与数据平面VCN 718隔离,并且控制平面VCN 716的数据平面镜像应用层740可以经由VNIC 742与数据平面VCN 718的数据平面应用层746通信,VNIC 742可以包含在数据平面镜像应用层740和数据平面应用层746中。
在一些示例中,系统的用户或客户可以通过可以将请求传送到元数据管理服务752的公共互联网754来做出请求,例如创建、读取、更新或删除(CRUD)操作。元数据管理服务752可以通过互联网网关734将请求传送到控制平面VCN 716。请求可以由包含在控制平面DMZ层720中的(一个或多个)LB子网722接收。(一个或多个)LB子网722可以确定请求是有效的,并且响应于该确定,(一个或多个)LB子网722可以将请求传输到包含在控制平面应用层724中的(一个或多个)应用子网726。如果请求被验证并且需要对公共互联网754的调用,那么对公共互联网754的调用可以被传输到可以对公共互联网754进行调用的NAT网关738。请求可能期望存储的存储器可以存储在(一个或多个)DB子网730中。
在一些示例中,数据平面镜像应用层740可以促进控制平面VCN 716和数据平面VCN 718之间的直接通信。例如,可能期望对包含在数据平面VCN 718中的资源应用对配置的更改、更新或其它适当的修改。经由VNIC 742,控制平面VCN 716可以直接与包含在数据平面VCN 718中的资源通信,并且从而可以执行对这些资源的配置的更改、更新或其它适当的修改。
在一些实施例中,控制平面VCN 716和数据平面VCN 718可以包含在服务租赁719中。在这种情况下,系统的用户或客户可能不拥有或操作控制平面VCN 716或数据平面VCN718。替代地,IaaS提供商可以拥有或操作控制平面VCN 716和数据平面VCN 718,这两种平面都可以包含在服务租赁719中。该实施例可以使得能够隔离可能阻止用户或客户与其它用户或其它客户的资源进行交互的网络。此外,该实施例可以允许系统的用户或客户私自存储数据库,而无需依赖可能不具有期望的威胁防范级别的公共互联网754以进行存储。
在其它实施例中,包含在控制平面VCN 716中的(一个或多个)LB子网722可以被配置为从服务网关736接收信号。在这个实施例中,控制平面VCN 716和数据平面VCN 718可以被配置为由IaaS提供商的客户调用而无需调用公共互联网754。IaaS提供商的客户可能期望这个实施例,因为客户使用的(一个或多个)数据库可以由IaaS提供商控制并且可以存储在服务租赁719上,服务租赁719可能与公共互联网754隔离。
图8是图示根据至少一个实施例的IaaS体系架构的另一个示例模式的框图800。服务运营商802(例如,图7的服务运营商702)可以通信地耦合到安全主机租赁804(例如,图7的安全主机租赁704),该安全主机租赁804可以包括虚拟云网络(VCN)806(例如,图7的VCN706)和安全主机子网808(例如,图7的安全主机子网708)。VCN 806可以包括本地对等网关(LPG)810(例如,图7的LPG 710),该VCN 806可以经由包含在安全壳(SSH)VCN 812(例如,图7的SSH VCN 712)中的LPG 710通信地耦合到SSH VCN 812。SSH VCN 812可以包括SSH子网814(例如,图7的SSH子网714),并且SSH VCN 812可以经由包含在控制平面VCN 816(例如,图7的控制平面VCN 716)中的LPG 810通信地耦合到控制平面VCN 816。控制平面VCN 816可以包含在服务租赁819(例如,图7的服务租赁719)中,并且数据平面VCN 818(例如,图7的数据平面VCN 718)可以包含在可能由系统的用户或客户拥有或操作的客户租赁821中。
控制平面VCN 816可以包括控制平面DMZ层820(例如,图7的控制平面DMZ层720),其可以包括(一个或多个)LB子网822(例如,图7的(一个或多个)LB子网722)、可以包括(一个或多个)应用子网826(例如,图7的(一个或多个)应用子网726)的控制平面应用层824(例如,图7的控制平面应用层724)、可以包括(一个或多个)数据库(DB)子网830(例如,类似于图7的(一个或多个)DB子网730)的控制平面数据层828(例如,图7的控制平面数据层728)。包含在控制平面DMZ层820中的(一个或多个)LB子网822可以通信地耦合到包含在控制平面应用层824中的(一个或多个)应用子网826和可以包含在控制平面VCN 816中的互联网网关834(例如,图7的互联网网关734),并且(一个或多个)应用子网826可以通信地耦合到包含在控制平面数据层828中的(一个或多个)DB子网830以及服务网关836(例如,图7的服务网关)和网络地址转换(NAT)网关838(例如,图7的NAT网关738)。控制平面VCN 816可以包括服务网关836和NAT网关838。
控制平面VCN 816可以包括可以包括(一个或多个)应用子网826的数据平面镜像应用层840(例如,图7的数据平面镜像应用层740)。包含在数据平面镜像应用层840中的(一个或多个)应用子网826可以包括可以执行计算实例844(例如,类似于图7的计算实例744)的虚拟网络接口控制器(VNIC)842(例如,742的VNIC)。计算实例844可以促进数据平面镜像应用层840的(一个或多个)应用子网826和可以包含在数据平面应用层846(例如,图7的数据平面应用层746)中的(一个或多个)应用子网826之间的经由包含在数据平面镜像应用层840中的VNIC 842以及包含在数据平面应用层846中的VNIC 842的通信。
包含在控制平面VCN 816中的互联网网关834可以通信地耦合到元数据管理服务852(例如,图7的元数据管理服务752),该元数据管理服务852可以通信地耦合到公共互联网854(例如,图7的公共互联网754)。公共互联网854可以通信地耦合到包含在控制平面VCN816中的NAT网关838。包含在控制平面VCN 816中的服务网关836可以通信地耦合到云服务856(例如,图7的云服务756)。
在一些示例中,数据平面VCN 818可以包含在客户租赁821中。在这种情况下,IaaS提供商可以为每个客户提供控制平面VCN 816,并且IaaS提供商可以为每个客户设置包含在服务租赁819中的唯一计算实例844。每个计算实例844可以允许包含在服务租赁819中的控制平面VCN 816和包含在客户租赁821中的数据平面VCN 818之间的通信。计算实例844可以允许在包含在服务租赁819中的控制平面VCN 816中供给的资源被部署或以其它方式用于包含在客户租赁821中的数据平面VCN 818中。
在其它示例中,IaaS提供商的客户可以具有存在于客户租赁821中的数据库。在这个示例中,控制平面VCN 816可以包括数据平面镜像应用层840,该数据平面镜像应用层840可以包括(一个或多个)应用子网826。数据平面镜像应用层840可以驻留在数据平面VCN818中,但数据平面镜像应用层840可能不存在于数据平面VCN 818中。换句话说,数据平面镜像应用层840可以访问客户租赁821,但是数据平面镜像应用层840可能不存在于数据平面VCN 818中或者由IaaS提供商的客户拥有或操作。数据平面镜像应用层840可以被配置为对数据平面VCN 818进行调用,但可以不被配置为对包含在控制平面VCN 816中的任何实体进行调用。客户可能期望在数据平面VCN 818中部署或以其它方式使用在控制平面VCN 816中供给的资源,并且数据平面镜像应用层840可以促进客户的期望部署或资源的其它使用。
在一些实施例中,IaaS提供商的客户可以将过滤器应用到数据平面VCN 818。在这个实施例中,客户可以确定数据平面VCN 818可以访问什么,并且客户可以限制从数据平面VCN 818对公共互联网854的访问。IaaS提供商可能无法应用过滤器或以其它方式控制数据平面VCN 818对任何外部网络或数据库的访问。客户将过滤器和控制应用到包含在客户租赁821中的数据平面VCN 818上可以帮助将数据平面VCN 818与其它客户和公共互联网854隔离开。
在一些实施例中,云服务856可以由服务网关836调用以访问公共互联网854、控制平面VCN 816或数据平面VCN 818上可能不存在的服务。云服务856与控制平面VCN 816或数据平面VCN 818之间的连接可以不是实时的或连续的。云服务856可以存在于由IaaS提供商拥有或操作的不同网络上。云服务856可以被配置为接收来自服务网关836的调用并且可以被配置为不接收来自公共互联网854的调用。一些云服务856可以与其它云服务856隔离,并且控制平面VCN 816可以与可能与控制平面VCN 816不在同一区域的云服务856隔离。例如,控制平面VCN 816可能位于“区域1”,并且云服务“部署7”可能位于区域1和“区域2”。如果包含在位于区域1中的控制平面VCN 816中的服务网关836对部署7进行调用,那么该调用可以被传输到区域1中的部署7。在这个示例中,控制平面VCN 816或区域1中的部署7可能不与区域2中的部署7通信地耦合或以其它方式通信。
图9是图示根据至少一个实施例的IaaS体系架构的另一个示例模式的框图900。服务运营商902(例如,图7的服务运营商702)可以通信地耦合到安全主机租赁904(例如,图7的安全主机租赁704),该安全主机租赁904可以包括虚拟云网络(VCN)906(例如,图7的VCN706)和安全主机子网908(例如,图7的安全主机子网708)。VCN 906可以包括LPG 910(例如,图7的LPG 710),该VCN 906可以经由包含在SSH VCN 912(例如,图7的SSH VCN 712)中的LPG 910通信地耦合到SSH VCN 912。SSH VCN 912可以包括SSH子网914(例如,图7的SSH子网714),并且SSH VCN 912可以经由包含在控制平面VCN 916(例如,图7的控制平面VCN716)中的LPG 910通信地耦合到控制平面VCN 916并且经由包含在数据平面VCN 918(例如,图7的数据平面718)中的LPG 910通信地耦合到数据平面VCN 918。控制平面VCN 916和数据平面VCN 918可以包含在服务租赁919(例如,图7的服务租赁719)中。
控制平面VCN 916可以包括可以包括(一个或多个)负载平衡器(LB)子网922(例如,图7的(一个或多个)LB子网722)的控制平面DMZ层920(例如,图7的控制平面DMZ层720)、可以包括(一个或多个)应用子网926(例如,类似于图7的(一个或多个)应用子网726)的控制平面应用层924(例如,图7的控制平面应用层724)、可以包括(一个或多个)DB子网930的控制平面数据层928(例如,图7的控制平面数据层728)。包含在控制平面DMZ层920中的(一个或多个)LB子网922可以通信地耦合到包含在控制平面应用层924中的(一个或多个)应用子网926和可以包含在控制平面VCN 916中的互联网网关934(例如,图7的互联网网关734),并且(一个或多个)应用子网926可以通信地耦合到包含在控制平面数据层928中的(一个或多个)DB子网930以及服务网关936(例如,图7的服务网关)和网络地址转换(NAT)网关938(例如,图7的NAT网关738)。控制平面VCN 916可以包括服务网关936和NAT网关938。
数据平面VCN 918可以包括数据平面应用层946(例如,图7的数据平面应用层746)、数据平面DMZ层948(例如,图7的数据平面DMZ层748)、以及数据平面数据层950(例如,图7的数据平面数据层750)。数据平面DMZ层948可以包括可以通信地耦合到数据平面应用层946的(一个或多个)可信应用子网960和(一个或多个)不可信应用子网962以及包含在数据平面VCN 918中的互联网网关934的(一个或多个)LB子网922。(一个或多个)可信应用子网960可以通信地耦合到包含在数据平面VCN 918中的服务网关936、包含在数据平面VCN918中的NAT网关938、以及包含在数据平面数据层950中的(一个或多个)DB子网930。(一个或多个)不可信应用子网962可以通信地耦合到包含在数据平面VCN 918中的服务网关936和包含在数据平面数据层950中的(一个或多个)DB子网930。数据平面数据层950可以包括可以通信地耦合到包含在数据平面VCN 918中的服务网关936的(一个或多个)DB子网930。
(一个或多个)不可信应用子网962可以包括可以通信地耦合到租户虚拟机(VM)966(1)-(N)的一个或多个主VNIC 964(1)-(N)。每个租户VM 966(1)-(N)可以通信地耦合到可以包含在相应容器出口VCN 968(1)-(N)中的相应应用子网967(1)-(N),该相应容器出口VCN 968(1)-(N)可以包含在相应客户租赁970(1)-(N)中。相应辅VNIC 972(1)-(N)可以促进包含在数据平面VCN 918中的(一个或多个)不可信应用子网962与包含在容器出口VCN968(1)-(N)中的应用子网之间的通信。每个容器出口VCN 968(1)-(N)可以包括NAT网关938,该NAT网关938可以通信地耦合到公共互联网954(例如,图7的公共互联网754)。
包含在控制平面VCN 916中以及包含在数据平面VCN 918中的互联网网关934可以通信地耦合到元数据管理服务952(例如,图7的元数据管理系统752),该元数据管理服务952可以通信地耦合到公共互联网954。公共互联网954可以通信地耦合到包含在控制平面VCN 916中以及包含在数据平面VCN 918中的NAT网关938。包含在控制平面VCN 916中以及包含在数据平面VCN 918中的服务网关936可以通信地耦合到云服务956。
在一些实施例中,数据平面VCN 918可以与客户租赁970集成。在一些情况下,诸如在执行代码时可能期望支持的情况下,这种集成对于IaaS提供商的客户可能是有用的或期望的。客户可能提供可能具有破坏性、可能与其它客户资源通信或可能以其它方式导致非期望效果的代码来运行。作为对此的响应,IaaS提供商可以确定是否运行由客户给予IaaS提供商的代码。
在一些示例中,IaaS提供商的客户可以向IaaS提供商授予临时网络访问,并请求附加到数据平面层应用946的功能。运行该功能的代码可以在VM 966(1)-(N)中执行,并且该代码可以不被配置为在数据平面VCN 918上的其它任何地方运行。每个VM 966(1)-(N)可以连接到一个客户租赁970。包含在VM 966(1)-(N)中的相应容器971(1)-(N)可以被配置为运行代码。在这种情况下,可以存在双重隔离(例如,容器971(1)-(N)运行代码,其中容器971(1)-(N)可能至少包含在(一个或多个)不可信应用子网962中所包含的VM 966(1)-(N)中),这可以帮助防止不正确的或以其它方式非期望的代码损坏IaaS提供商的网络或损坏不同客户的网络。容器971(1)-(N)可以通信地耦合到客户租赁970并且可以被配置为传输或接收来自客户租赁970的数据。容器971(1)-(N)可以不被配置为从数据平面VCN 918中的任何其它实体传输或接收数据。在运行代码完成后,IaaS提供商可以终止或以其它方式处置容器971(1)-(N)。
在一些实施例中,(一个或多个)可信应用子网960可以运行可以由IaaS提供商拥有或操作的代码。在这个实施例中,(一个或多个)可信应用子网960可以通信地耦合到(一个或多个)DB子网930并且被配置为在(一个或多个)DB子网930中执行CRUD操作。(一个或多个)不可信应用子网962可以通信地耦合到(一个或多个)DB子网930,但是在这个实施例中,(一个或多个)不可信应用子网可以被配置为在(一个或多个)DB子网930中执行读取操作。可以包含在每个客户的VM 966(1)-(N)中并且可以运行来自客户的代码的容器971(1)-(N)可以不与(一个或多个)DB子网930通信地耦合。
在其它实施例中,控制平面VCN 916和数据平面VCN 918可以不直接通信地耦合。在这个实施例中,控制平面VCN 916和数据平面VCN 918之间可能不存在直接通信。但是,通信可以通过至少一个方法而间接地发生。LPG 910可以由IaaS提供商建立,其可以促进控制平面VCN 916和数据平面VCN 918之间的通信。在另一个示例中,控制平面VCN 916或数据平面VCN 918可以经由服务网关936对云服务956进行调用。例如,从控制平面VCN 916对云服务956的调用可以包括对可以与数据平面VCN 918通信的服务的请求。
图10是图示根据至少一个实施例的IaaS体系架构的另一个示例模式的框图1000。服务运营商1002(例如,图7的服务运营商702)可以通信地耦合到安全主机租赁1004(例如,图7的安全主机租赁704),该安全主机租赁1004可以包括虚拟云网络(VCN)1006(例如,图7的VCN 706)和安全主机子网1008(例如,图7的安全主机子网708)。VCN 1006可以包括LPG1010(例如,图7的LPG 710),该VCN 1006可以经由包含在SSH VCN 1012(例如,图7的SSHVCN 712)中的LPG 1010通信地耦合到SSH VCN 1012。SSH VCN 1012可以包括SSH子网1014(例如,图7的SSH子网714),并且SSH VCN 1012可以经由包含在控制平面VCN 1016(例如,图7的控制平面VCN 716)中的LPG 1010通信地耦合到控制平面VCN 1016并且经由包含在数据平面VCN 1018(例如,图7的数据平面718)中的LPG 1010通信地耦合到数据平面VCN 1018。控制平面VCN 1016和数据平面VCN 1018可以包含在服务租赁1019(例如,图7的服务租赁719)中。
控制平面VCN 1016可以包括可以包括(一个或多个)LB子网1022(例如,图7的(一个或多个)LB子网722)的控制平面DMZ层1020(例如,图7的控制平面DMZ层720)、可以包括(一个或多个)应用子网1026(例如,图7的(一个或多个)应用子网726)的控制平面应用层1024(例如,图7的控制平面应用层724)、可以包括(一个或多个)DB子网1030(例如,图9的(一个或多个)DB子网930)的控制平面数据层1028(例如,图7的控制平面数据层728)。包含在控制平面DMZ层1020中的(一个或多个)LB子网1022可以通信地耦合到包含在控制平面应用层1024中的(一个或多个)应用子网1026和可以包含在控制平面VCN 1016中的互联网网关1034(例如,图7的互联网网关734),并且(一个或多个)应用子网1026可以通信地耦合到包含在控制平面数据层1028中的(一个或多个)DB子网1030以及服务网关1036(例如,图7的服务网关)和网络地址转换(NAT)网关1038(例如,图7的NAT网关738)。控制平面VCN 1016可以包括服务网关1036和NAT网关1038。
数据平面VCN 1018可以包括数据平面应用层1046(例如,图7的数据平面应用层746)、数据平面DMZ层1048(例如,图7的数据平面DMZ层748))、以及数据平面数据层1050(例如,图7的数据平面数据层750)。数据平面DMZ层1048可以包括可以通信地耦合到数据平面应用层1046的(一个或多个)可信应用子网1060(例如,图9的(一个或多个)可信应用子网960)和(一个或多个)不可信应用子网1062(例如,图9的(一个或多个)不可信应用子网962)以及包含在数据平面VCN 1018中的互联网网关1034的(一个或多个)LB子网1022。(一个或多个)可信应用子网1060可以通信地耦合到包含在数据平面VCN 1018中的服务网关1036、包含在数据平面VCN 1018中的NAT网关1038以及包含在数据平面数据层1050中的(一个或多个)DB子网1030。(一个或多个)不可信应用子网1062可以通信地耦合到包含在数据平面VCN 1018中的服务网关1036和包含在数据平面数据层1050中的(一个或多个)DB子网1030。数据平面数据层1050可以包括可以通信地耦合到包含在数据平面VCN 1018中的服务网关1036的(一个或多个)DB子网1030。
(一个或多个)不可信应用子网1062可以包括可以通信地耦合到驻留在(一个或多个)不可信应用子网1062内的租户虚拟机(VM)1066(1)-(N)的主VNIC 1064(1)-(N)。每个租户VM 1066(1)-(N)可以运行相应容器1067(1)-(N)中的代码,并且可通信地耦合到可以包含在数据平面应用层1046中的应用子网1026,该数据平面应用层1046可以包含在容器出口VCN 1068中。相应辅VNIC 1072(1)-(N)可以促进包含在数据平面VCN 1018中的(一个或多个)不可信应用子网1062和包含在容器出口VCN 1068中的应用子网之间的通信。容器出口VCN可以包括可以通信地耦合到公共互联网1054(例如,图7的公共互联网754)的NAT网关1038。
包含在控制平面VCN 1016中以及包含在数据平面VCN 1018中的互联网网关1034可以通信地耦合到元数据管理服务1052(例如,图7的元数据管理系统752),该元数据管理服务1052可以通信地耦合到公共互联网1054。公共互联网1054可以通信地耦合到包含在控制平面VCN 1016中以及包含在数据平面VCN 1018中的NAT网关1038。包含在控制平面VCN1016中以及包含在数据平面VCN 1018中的服务网关1036可以通信地耦合到云服务1056。
在一些示例中,图10的框图1000的体系架构所示的模式可以被认为是图9的框图900的体系架构所示的模式的例外,并且在IaaS提供商不能直接与客户通信(例如,断开连接的区域)的情况下,这种模式可能是IaaS提供商的客户所期望的。客户可以实时访问每个客户的包含在VM 1066(1)-(N)中的相应容器1067(1)-(N)。容器1067(1)-(N)可以被配置为对包含在数据平面应用层1046的(一个或多个)应用子网1026中的相应辅VNIC 1072(1)-(N)进行调用,该数据平面应用层1046可以包含在容器出口VCN 1068中。辅VNIC 1072(1)-(N)可以将调用传输到NAT网关1038,该NAT网关1038可以将调用传输到公共互联网1054。在这个示例中,可以由客户实时访问的容器1067(1)-(N)可以与控制平面VCN 1016隔离,并且可以与包含在数据平面VCN 1018中的其它实体隔离。容器1067(1)-(N)也可以与来自其它客户的资源隔离。
在其它示例中,客户可以使用容器1067(1)-(N)来调用云服务1056。在这个示例中,客户可以运行容器1067(1)-(N)中的从云服务1056请求服务的代码。容器1067(1)-(N)可以将该请求传输到辅VNIC 1072(1)-(N),该辅VNIC 1072(1)-(N)可以将请求传输到NAT网关,该NAT网关可以将请求传输到公共互联网1054。公共互联网1054可以经由互联网网关1034将请求传输到包含在控制平面VCN 1016中的(一个或多个)LB子网1022。响应于确定请求有效,(一个或多个)LB子网可以将请求传输到(一个或多个)应用子网1026,该(一个或多个)应用子网1026可以经由服务网关1036将请求传输到云服务1056。
应当认识到的是,各图中描绘的IaaS体系架构700、800、900、1000可以具有除所描绘的组件之外的其它组件。另外,各图中所示的实施例仅仅是可以结合本公开的实施例的云基础设施系统的一些示例。在一些其它实施例中,IaaS系统可以具有比各图中所示更多或更少的组件、可以组合两个或更多个组件,或者可以具有不同的组件布置或配置。
在某些实施例中,本文描述的IaaS系统可以包括以自助服务、基于订阅、弹性可伸缩、可靠、高度可用和安全的方式交付给客户的应用套件、中间件和数据库服务产品。此类IaaS系统的示例是本受让方提供的Oracle云基础设施(OCI)。
图11图示了其中可以实现各种实施例的示例计算机系统1100。系统1100可以用于实现上述任何计算机系统。如图所示,计算机系统1100包括经由总线子系统1102与多个外围子系统通信的处理单元1104。这些外围子系统可以包括处理加速单元1106、I/O子系统1108、存储子系统1118和通信子系统1124。存储子系统1118包括有形计算机可读存储介质1122和系统存储器1110。
总线子系统1102提供用于让计算机系统1100的各种部件和子系统按意图彼此通信的机制。虽然总线子系统1102被示意性地示出为单条总线,但是总线子系统的替代实施例可以利用多条总线。总线子系统1102可以是若干种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用任何各种总线体系架构的局部总线。例如,这种体系架构可以包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围部件互连(PCI)总线,其可以被实现为按IEEE P1386.1标准制造的Mezzanine总线。
可以被实现为一个或多个集成电路(例如,常规微处理器或微控制器)的处理单元1104控制计算机系统1100的操作。一个或多个处理器可以被包括在处理单元1104中。这些处理器可以包括单核或多核处理器。在某些实施例中,处理单元1104可以被实现为一个或多个独立的处理单元1132和/或1134,其中在每个处理单元中包括单核或多核处理器。在其它实施例中,处理单元1104也可以被实现为通过将两个双核处理器集成到单个芯片中形成的四核处理单元。
在各种实施例中,处理单元1104可以响应于程序代码执行各种程序并且可以维护多个并发执行的程序或进程。在任何给定的时间,要被执行的程序代码中的一些或全部代码可以驻留在(一个或多个)处理器1104中和/或存储子系统1118中。通过适当的编程,(一个或多个)处理器1104可以提供上述各种功能。计算机系统1100可以附加地包括处理加速单元1106,其可以包括数字信号处理器(DSP)、专用处理器,等等。
I/O子系统1108可以包括用户接口输入设备和用户接口输出设备。用户接口输入设备可以包括键盘、诸如鼠标或轨迹球的定点设备、结合到显示器中的触摸板或触摸屏、滚动轮、点击轮、拨盘、按钮、开关、键盘、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备可以包括例如运动感测和/或手势识别设备,诸如Microsoft运动传感器,其使得用户能够使用手势和语音命令通过自然用户接口来控制诸如/>360游戏控制器的输入设备并与之交互。用户接口输入设备也可以包括眼睛姿势识别设备,诸如从用户检测眼睛活动(例如,当拍摄照片和/或做出菜单选择时的“眨眼”)并且将眼睛姿势转换为去往输入设备(例如,Google/>)的输入的Google/>眨眼检测器。此外,用户接口输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,/>导航器)交互的语音识别感测设备。
用户接口输入设备也可以包括但不限于三维(3D)鼠标、操纵杆或指向棒、游戏面板和绘图板、以及音频/视频设备,诸如扬声器、数码相机、数码摄录机、便携式媒体播放器、网络摄像头、图像扫描仪、指纹扫描仪、条形码阅读器3D扫描仪、3D打印机、激光测距仪和视线跟踪设备。此外,用户接口输入设备可以包括例如医学成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层摄影术、医疗超声设备。用户接口输入设备也可以包括例如音频输入设备,诸如MIDI键盘、数字乐器等。
用户接口输出设备可以包括显示子系统、指示灯,或者诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(CRT)、诸如使用液晶显示器(LCD)或等离子显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用意在包括用于从计算机系统1100向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备、以及调制解调器。
计算机系统1100可以包括包含软件元件、被示为当前位于系统存储器1110内的存储子系统1118。系统存储器1110可以存储在处理单元1104上可执行且可加载的程序指令,以及在这些程序的执行期间所产生的数据。
取决于计算机系统1100的配置和类型,系统存储器1110可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存存储器等)。RAM通常包含可被处理单元1104立即访问和/或目前正被处理单元1104操作和执行的数据和/或程序模块。在一些实施方案中,系统存储器1110可以包括多种不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。在一些实施方案中,包含有助于在诸如启动期间在计算机系统1100内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以被存储在ROM中。作为示例而非限制,系统存储器1110也示出了可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等的应用程序1112、程序数据1114、以及操作系统1116。作为示例,操作系统1116可以包括各种版本的MicrosoftApple/>和/或Linux操作系统、各种可商业获得的/>或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、Google/>OS等)和/或诸如iOS、/>Phone、/>OS、/>11OS和/>OS操作系统的移动操作系统。
存储子系统1118也可以提供用于存储提供一些实施例的功能的基本编程和数据构造的有形计算机可读存储介质。当被处理器执行时提供上述功能的软件(程序、代码模块、指令)可以被存储在存储子系统1118中。这些软件模块或指令可以被处理单元1104执行。存储子系统1118也可以提供用于存储根据本公开使用的数据的储存库。
存储子系统1100也可以包括可被进一步连接到计算机可读存储介质1122的计算机可读存储介质读取器1120。与系统存储器1110一起,并且可选地与其相结合,计算机可读存储介质1122可以全面地表示用于临时和/或更持久地包含、存储、传输和检索计算机可读信息的远程、本地、固定和/或可移除的存储设备加存储介质。
包含代码或代码的部分的计算机可读存储介质1122也可以包括本领域已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于:以用于信息的存储和/或传输的任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质。这可以包括有形的计算机可读存储介质,诸如RAM、ROM、电可擦除可编程ROM(EEPROM)、闪存存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁存储设备,或者其它有形的计算机可读介质。这也可以包括非有形的计算机可读介质,诸如数据信号、数据传输、或者可以用于传输期望信息并且可以被计算系统1100访问的任何其它介质。
举例来说,计算机可读存储介质1122可以包括从不可移除的非易失性磁介质读取或写到其的硬盘驱动器、从可移除的非易失性磁盘读取或写到其的磁盘驱动器、以及从可移除的非易失性光盘(诸如CD ROM、DVD和盘或其它光学介质)读取或写到其的光盘驱动器。计算机可读存储介质1122可以包括但不限于:/>驱动器、闪存卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字视频带等。计算机可读存储介质1122也可以包括基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等)、基于易失性存储器的SSD(诸如基于固态RAM、动态RAM、静态RAM、DRAM的SSD)、磁阻RAM(MRAM)SSD、以及使用基于DRAM的SSD和基于闪存存储器的SSD的组合的混合SSD。盘驱动器及其关联的计算机可读介质可以为计算机系统1100提供计算机可读指令、数据结构、程序模块及其它数据的非易失性存储。
通信子系统1124提供到其它计算机系统和网络的接口。通信子系统1124用作用于从其它系统接收数据和从计算机系统1100向其它系统传输数据的接口。例如,通信子系统1124可以使计算机系统1100能够经由互联网连接到一个或多个设备。在一些实施例中,通信子系统1124可以包括用于访问无线语音和/或数据网络的射频(RF)收发器部件(例如,使用蜂窝电话技术、诸如3G、4G或EDGE(用于全球演进的增强型数据速率)的先进数据网络技术、WiFi(IEEE 902.11系列标准)、或其它移动通信技术、或其任何组合)、全球定位系统(GPS)接收器部件和/或其它部件。在一些实施例中,通信子系统1124可以提供有线网络连接(例如,以太网),作为无线接口的附加或者替代。
在一些实施例中,通信子系统1124也可以代表可以使用计算机系统1100的一个或多个用户接收结构化和/或非结构化的数据馈送1126、事件流1128、事件更新1130等形式的输入通信。
举例来说,通信子系统1124可以被配置为实时地从社交网络和/或其它通信服务的用户接收数据馈送1126,诸如馈送、/>更新、诸如丰富站点摘要(RSS)馈送的web馈送和/或来自一个或多个第三方信息源的实时更新。
此外,通信子系统1124也可以被配置为接收连续数据流形式的数据,这可以包括本质上可以是连续的或无界的没有明确终止的实时事件的事件流1128和/或事件更新1130。生成连续数据的应用的示例可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。
通信子系统1124也可以被配置为向一个或多个数据库输出结构化和/或非结构化的数据馈送1126、事件流1128、事件更新1130等,该一个或多个数据库可以与耦合到计算机系统1100的一个或多个流式传输数据源计算机进行通信。
计算机系统1100可以是各种类型之一,包括手持便携式设备(例如,蜂窝电话、/>计算平板电脑、PDA)、可穿戴设备(例如,Google/>头戴式显示器)、PC、工作站、大型机、信息站、服务器机架、或任何其它数据处理系统。
由于计算机和网络的不断变化的本质,在图中绘出的计算机系统1100的描述仅仅要作为具体的示例。具有比图中绘出的系统更多或更少部件的许多其它配置是可能的。例如,定制的硬件也可以被使用和/或特定的元素可以用硬件、固件、软件(包括applets)或其组合来实现。另外,也可以采用到诸如网络输入/输出设备之类的其它计算设备的连接。基于本文提供的公开内容和示教,本领域普通技术人员将认识到实现各种实施例的其它方式和/或方法。
虽然已经描述了具体实施例,但是各种修改、变更、替代构造和等效形式也包含在本公开的范围内。实施例不限于在某些特定数据处理环境内操作,而是可以在多个数据处理环境内自由操作。此外,虽然已经使用特定系列的事务和步骤描述了实施例,但是本领域技术人员应该清楚本公开的范围不限于所描述系列的事务和步骤。上述实施例的各种特征和方面可以单独或联合使用。
另外,虽然已经使用硬件和软件的特定组合描述了实施例,但是应当认识到硬件和软件的其它组合也在本公开的范围内。实施例可以仅用硬件、或仅用软件、或使用它们的组合来实现。本文描述的各种处理可以以任何组合在相同的处理器或在不同的处理器上实现。因而,在组件或模块被描述为被配置为执行某些操作的情况下,可以通过例如设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作、或通过其任何组合来完成这样的配置。处理可以使用多种技术进行通信,包括但不限于用于进程间通信的常规技术,并且不同的进程对可以使用不同的技术,或者同一进程对可以在不同时间使用不同的技术。
因而,说明书和附图被认为是说明性的而不是限制性的意义。但是,在不脱离权利要求中阐述的更广泛的精神和范围的情况下,显然可以对其进行添加、减少、删除和其它修改和改变。因此,虽然已经描述了具体的公开实施例,但这些并不旨在进行限制。各种修改和等效形式都在以下权利要求的范围内。
在描述所公开的实施例的上下文中(尤其在以下权利要求的上下文中)使用术语“一”和“一个”和“该”以及类似的指称应被解释为涵盖单数和复数两者,除非本文另有指示或与上下文明显矛盾。除非另有说明,否则术语“包括”、“具有”、“包含”和“含有”应被解释为开放式术语(即,意思是“包括但不限于”)。术语“连接”应被解释为部分或全部包含在内、附接到或连接在一起,即使中间存在一些东西。除非本文另有指示,否则本文中的值范围的描述仅旨在用作单独引用落入该范围内的每个单独值的简略方法,并且每个单独值被并入说明书中,就好像它在本文中单独描述一样。除非本文另有指示或与上下文明显矛盾,否则本文描述的所有方法都可以以任何合适的顺序执行。除非另有声明,否则本文提供的任何和全部示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明实施例并且不对本公开的范围构成限制。说明书中的任何语言都不应被解释为指示任何未要求保护的元素对于本公开的实践是必不可少的。
除非另有明确说明,否则析取(disjunctive)语言(诸如短语“X、Y或Z中的至少一个”)旨在在上下文中被理解为用作一般地表示项目、术语等可以是X、Y或Z中的一者或者是它们的任何组合(例如,X、Y和/或Z)。因此,这种析取语言通常不旨在也不应暗示某些实施例需要X中的至少一个、Y中的至少一个或Z中的至少一个各自存在。
本文描述了本公开的优选实施例,包括已知用于实施本公开的最佳模式。这些优选实施例的变型对于本领域普通技术人员在阅读前述描述后会变得显而易见。普通技术人员应该能够适当地采用这样的变型并且可以以不同于本文具体描述的方式来实践本公开。因而,本公开包括在适用法律允许的情况下对所附权利要求中记载的主题的所有修改和等效形式。此外,除非在本文中另有指示,否则本公开包括上述元素在其所有可能的变型中的任何组合。
本文引用的所有参考文献(包括出版物、专利申请和专利)均以相同的程度通过引用并入本文,就好像指示每个参考文献单独且具体地通过引用并入并且在本文中全文阐述一样。
在前述的说明书中,本公开的各方面参考其具体实施例进行了描述,但本领域技术人员将认识到的是,本公开不限于此。上述公开的各个特征和方面可以被单独或联合使用。此外,在不脱离本说明书的更广泛精神和范围的情况下,实施例可以在除本文所述的环境和应用之外的任何数量的环境和应用中被使用。因而,本说明书和附图应当被认为是说明性而不是限制性的。
Claims (21)
1.一种用于跨一系列节点捕获密钥管理数据的快照的方法,所述方法包括:
由快照编排器从跨云基础设施服务中的一个或多个区域的所述系列节点中的每个节点请求快照实例,每个快照实例提供对由所述系列节点中的每个节点维护的多个客户端密钥的多个修改,每个修改与日志记录中的条目对应;
由快照编排器从所述系列节点中的每个节点获得快照实例和对应的元数据;
由快照编排器核实从所述系列节点中的每个节点获得的快照实例;以及
响应于核实快照实例,由快照编排器将快照实例和对应的元数据存储在存储节点处,从而允许快照实例的后续检索并且在所述系列节点中的任何节点处重新创建日志记录以及对所述多个密钥的修改。
2.如权利要求1所述的方法,其中请求快照包括将指定捕获快照实例的请求的条目添加到日志记录,其中所述系列节点中的每个节点响应于识别出对日志记录的添加条目而捕获快照实例。
3.如权利要求1或2所述的方法,其中响应于阈值持续时间到期或者检测到向日志记录添加阈值数量的条目而请求快照实例。
4.如权利要求1、2或3所述的方法,其中对在第一区域中的第一节点处识别出的对所述多个客户端密钥中的任何客户端密钥的每个修改通过跨区域快照复制器跨云基础设施服务的其它区域中的其它节点进行同步。
5.如前述权利要求中的任一项所述的方法,其中核实快照实例包括:
为获得的快照实例中的每个快照实例识别特定于每个快照实例和每个对应节点的熵值;以及
确定针对获得的快照实例中的每个快照实例识别出的熵值是否在彼此的阈值相似度内,其中响应于熵值在阈值相似度内而核实快照实例。
6.如前述权利要求中的任一项所述的方法,还包括:
由快照编排器截断每个快照实例,以移除对所述多个客户端密钥的修改,以及日志记录中的在日志记录的指定条目之前的对应条目。
7.如前述权利要求中的任一项所述的方法,还包括:
在第一节点处获得中断通知;
从存储节点中检索存储的快照实例和对应的元数据;以及
将所存储的快照实例和对应的元数据提供给第一节点,其中第一节点使用所存储的快照实例和对应的元数据来重新创建指定对所述多个客户端密钥的修改的日志记录。
8.如权利要求7所述的方法,其中所述元数据包括用以访问第一节点的指定分区的密钥,第一节点的每个分区独立地维护客户端的日志记录,并且其中快照编排器使用密钥来访问分区,以将所存储的快照实例和对应的元数据提供给第一节点的分区。
9.一种快照管理系统,包括:
处理器;以及
非暂态计算机可读介质,包括用于实现快照编排器的指令,所述指令在由所述处理器执行时,将所述处理器配置为:
从一系列节点中的每个节点请求快照实例,每个快照实例提供对由所述系列节点中的每个节点维护的多个客户端密钥的多个修改,每个修改与仅追加记录中的日志序列记录对应;
从所述系列节点中的每个节点获得快照实例和对应的元数据;
基于识别出的快照实例中的每个快照实例的的熵值,核实从所述系列节点中的每个节点获得的快照实例;以及
响应于核实快照实例,将快照实例和对应的元数据存储在存储节点处,其中快照实例和对应的元数据被配置为用于在所述系列节点中的任何节点处重新创建仅追加日志记录以及对所述多个密钥的修改。
10.如权利要求9所述的快照管理系统,其中请求快照实例包括将指定的日志序列号添加到仅追加日志记录,该指定的日志序列号指定捕获快照实例的请求,其中所述系列节点中的每个节点响应于识别出仅追加日志记录中添加的指定的日志序列号而捕获快照实例。
11.如权利要求10所述的快照管理系统,其中所述处理器还被配置为:
响应于核实快照实例,更新表以包括与快照实例对应的元数据,其中所述元数据与以下中的任何项相关:仅追加日志记录的指定的日志序列号、捕获快照实例的状态、以及在其中发起对快照实例的请求的时间戳。
12.如权利要求10或11所述的快照管理系统,其中所述处理器还被配置为:
识别快照实例中的每个快照实例的熵值,其中每个熵值至少基于仅追加日志记录的添加的指定的日志序列号;以及
确定获得的快照实例中的每个快照实例的识别出的熵值是否在彼此的阈值相似度内,其中响应于熵值在阈值相似度内而核实快照实例。
13.如权利要求10、11或12所述的快照管理系统,其中所述处理器还被配置为:
截断每个快照实例,以移除对所述多个客户端密钥的修改,以及日志记录中的在仅追加日志记录中添加的指定的日志序列号之前的对应条目。
14.如权利要求9至13中的任一项所述的快照管理系统,其中所述处理器还被配置为:
在第一节点处获得中断通知;
从存储节点中检索存储的快照实例和对应的元数据;以及
将所存储的快照实例和对应的元数据提供给第一节点,其中第一节点使用所存储的快照实例和对应的元数据来重新创建指定对所述多个客户端密钥的修改的仅追加日志记录。
15.一种非暂态计算机可读介质,包括存储在其上的指令序列,所述指令序列在由快照编排器的处理器执行时,使所述处理器执行包括以下的操作:
从跨云基础设施服务中的一个或多个区域的一系列节点中的每个节点请求快照实例,每个快照实例指定对由所述系列节点中的每个节点维护的多个客户端密钥的多个修改,每个修改与日志记录中的条目对应;
从所述系列节点中的每个节点获得快照实例和对应的元数据;
通过确定接收到的快照实例中的每个快照实例的熵值在阈值相似度内,核实从所述系列节点中的每个节点获得的快照实例;以及
响应于核实快照实例,将快照实例和对应的元数据存储在存储节点处,从而允许快照实例的后续检索并且在所述系列节点中的任何节点处重新创建日志记录以及对所述多个密钥的修改。
16.如权利要求15所述的非暂态计算机可读介质,其中过程还包括:
在第一节点处获得中断通知;
从存储节点中检索存储的快照实例和对应的元数据;以及
将所存储的快照实例和对应的元数据提供给第一节点,其中第一节点使用所存储的快照实例和对应的元数据来重新创建指定对所述多个客户端密钥的修改的日志记录。
17.如权利要求15或16所述的非暂态计算机可读介质,其中熵值表示每个快照实例中的位数。
18.如权利要求15、16或17所述的非暂态计算机可读介质,其中响应于阈值持续时间到期或者检测到向日志记录添加阈值数量的条目而请求快照实例。
19.如权利要求15至18中的任一项所述的非暂态计算机可读介质,其中过程还包括:
由快照编排器截断每个快照实例,以移除对所述多个客户端密钥的修改,以及日志记录中的在日志记录的指定条目之前的对应条目。
20.如权利要求15至19中的任一项所述的非暂态计算机可读介质,其中
请求快照包括将指定捕获快照实例的请求的日志序列号添加到日志记录,其中响应于识别出对日志记录的添加的日志序列号,所述系列节点中的每个节点捕获快照实例。
21.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在由处理器执行时,使所述处理器执行如权利要求1-8中的任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163194023P | 2021-05-27 | 2021-05-27 | |
US63/194,023 | 2021-05-27 | ||
US17/719,010 | 2022-04-12 | ||
US17/719,010 US20220382637A1 (en) | 2021-05-27 | 2022-04-12 | Snapshotting hardware security modules and disk metadata stores |
PCT/US2022/026511 WO2022250826A1 (en) | 2021-05-27 | 2022-04-27 | Managing keys across a series of nodes, based on snapshots of logged client key modifications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117643015A true CN117643015A (zh) | 2024-03-01 |
Family
ID=84193082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280046098.7A Pending CN117643015A (zh) | 2021-05-27 | 2022-04-27 | 基于日志记录的客户端密钥修改的快照跨一系列节点管理密钥 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220382637A1 (zh) |
EP (1) | EP4348933A1 (zh) |
CN (1) | CN117643015A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11755590B2 (en) * | 2020-11-04 | 2023-09-12 | Netapp, Inc. | Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706833B1 (en) * | 2006-12-08 | 2014-04-22 | Emc Corporation | Data storage server having common replication architecture for multiple storage object types |
US9857488B2 (en) * | 2012-11-20 | 2018-01-02 | International Business Machines Corporation | Efficient wavefield compression in seismic imaging |
US9195997B2 (en) * | 2014-01-10 | 2015-11-24 | Google Inc. | Generating content campaign snapshots |
US9864874B1 (en) * | 2014-05-21 | 2018-01-09 | Amazon Technologies, Inc. | Management of encrypted data storage |
US10372926B1 (en) * | 2015-12-21 | 2019-08-06 | Amazon Technologies, Inc. | Passive distribution of encryption keys for distributed data stores |
US11620384B2 (en) * | 2018-09-28 | 2023-04-04 | Ut-Battelle, Llc | Independent malware detection architecture |
US11055389B2 (en) * | 2019-01-30 | 2021-07-06 | Rsa Security Llc | Biometric authentication using molecular snapshots |
US11113158B2 (en) * | 2019-10-04 | 2021-09-07 | Robin Systems, Inc. | Rolling back kubernetes applications |
US11809735B1 (en) * | 2019-11-27 | 2023-11-07 | Amazon Technologies, Inc. | Snapshot management for cloud provider network extensions |
US11422900B2 (en) * | 2020-03-02 | 2022-08-23 | Commvault Systems, Inc. | Platform-agnostic containerized application data protection |
US11199985B2 (en) * | 2020-03-10 | 2021-12-14 | EMC IP Holding Company LLC | Tracking storage capacity usage by snapshot lineages using metadata in a multi-level tree structure |
US11422727B2 (en) * | 2020-05-13 | 2022-08-23 | Cohesity, Inc. | Restoring a storage system using file relocation metadata |
US11921671B2 (en) * | 2020-06-26 | 2024-03-05 | Netapp, Inc. | Managing volume snapshots in the cloud |
US20220374519A1 (en) * | 2021-05-17 | 2022-11-24 | Rubrik, Inc. | Application migration for cloud data management and ransomware recovery |
US20230134314A1 (en) * | 2021-10-28 | 2023-05-04 | Kasten, Inc. | Change block tracking in cloud orchestration systems |
-
2022
- 2022-04-12 US US17/719,010 patent/US20220382637A1/en active Pending
- 2022-04-27 CN CN202280046098.7A patent/CN117643015A/zh active Pending
- 2022-04-27 EP EP22725334.1A patent/EP4348933A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4348933A1 (en) | 2024-04-10 |
US20220382637A1 (en) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3566132B1 (en) | File system hierarchy mirroring across cloud data stores | |
JP6865219B2 (ja) | 連続クエリ処理におけるイベントバッチ処理、出力シーケンス化、およびログベースの状態記憶 | |
US20180275902A1 (en) | Rule-based modifications in a data storage appliance monitor | |
CN109522363B (zh) | 基于区块链的云平台同步方法、系统、设备及存储介质 | |
JP2023548373A (ja) | 非同期領域間ブロックボリューム複製 | |
US11799839B2 (en) | Cross-regional replication of keys | |
US20220382637A1 (en) | Snapshotting hardware security modules and disk metadata stores | |
WO2023244491A1 (en) | Techniques for replication checkpointing during disaster recovery | |
JP2024521322A (ja) | スナップショットハードウェアセキュリティモジュールおよびディスクメタデータストア | |
WO2022250826A1 (en) | Managing keys across a series of nodes, based on snapshots of logged client key modifications | |
US12001404B2 (en) | Techniques for replication checkpointing during disaster recovery | |
US20240134828A1 (en) | Techniques for efficient encryption and decryption during file system cross-region replication | |
US20230409522A1 (en) | Scalable and secure cross region and optimized file system delta transfer for cloud scale | |
US20240104062A1 (en) | Techniques for resolving snapshot key inter-dependency during file system cross-region replication | |
US20240061814A1 (en) | Techniques for maintaining snapshot key consistency involving garbage collection during file system cross-region replication | |
US20240094937A1 (en) | Concurrent and non-blocking object deletion for cross-region replications | |
US20240086417A1 (en) | Techniques for replication-aware resource management and task management of file systems | |
US20230283465A1 (en) | Keystore service for encryption in a secure service enclave | |
US20220391418A1 (en) | Operating a storage server with a storage volume | |
WO2023244446A1 (en) | Scalable and secure cross-region and optimized file system replication for cloud scale | |
WO2023244449A1 (en) | Hierarchical key management for cross-region replication | |
WO2023244601A1 (en) | End-to-end restartability of cross-region replication using a new replication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |