CN114268428A - 用于管理对分散数据湖的访问的方法、系统、设备和制品 - Google Patents

用于管理对分散数据湖的访问的方法、系统、设备和制品 Download PDF

Info

Publication number
CN114268428A
CN114268428A CN202110982382.2A CN202110982382A CN114268428A CN 114268428 A CN114268428 A CN 114268428A CN 202110982382 A CN202110982382 A CN 202110982382A CN 114268428 A CN114268428 A CN 114268428A
Authority
CN
China
Prior art keywords
data lake
data
service
key
encryption 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.)
Pending
Application number
CN202110982382.2A
Other languages
English (en)
Inventor
F·圭姆伯纳特
K·A·杜什
N·M·史密斯
U·库瑞什
T·弗雷尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN114268428A publication Critical patent/CN114268428A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0822Key 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 key encryption key
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了一种用于管理数据湖的设备。所公开的示例设备包括:位置选择器,用于选择用来存储数据湖的边缘设备;密钥生成器,用于响应于服务被授权访问数据湖的指示而生成与数据湖相对应的加密密钥并生成与边缘设备相对应的密钥包装密钥;以及密钥分发器,用于使用密钥包装密钥来包装加密密钥并将加密密钥和密钥包装密钥分发给边缘设备,加密密钥用于使边缘设备上的服务能够访问数据湖。

Description

用于管理对分散数据湖的访问的方法、系统、设备和制品
技术领域
本文描述的实施例一般涉及数据处理、网络通信和通信系统实现,并且具体地涉及管理对数据湖的访问的方法、系统、设备和制品。
背景技术
在一般层面,边缘计算是指计算和存储资源向更靠近于端点设备(例如,消费方计算设备、用户装备等)的转变,以优化总拥有成本,减少应用等待时间,改善服务能力,并且改善与安全性或数据私有性要求的顺应性。在一些场景中,边缘计算可提供类云分布式服务。结果是,边缘计算的一些实现方式被称为“边缘云”或“雾”,因为先前仅在大型远程数据中心中可用的计算资源被移动到更靠近于端点并使得其可用于供处于网络的“边缘”处的消费方来使用。
附图说明
在附图中(这些附图不一定是按比例绘制的),同样的数字可描述不同视图中的类似组件。具有不同的字母后缀的相同的数字可表示类似组件的不同实例。在所附附图的图中通过示例的方式而非限制性地图示出一些实施例,其中:
图1图示出针对边缘计算的边缘云配置的概览。
图2图示出端点、边缘云和云计算环境之间的操作层。
图3图示出用于边缘计算系统中的联网和服务的示例环境的框图。
图4图示出在多个边缘节点和多个租户之间操作的边缘计算系统中的虚拟边缘配置的部署。
图5图示出在边缘计算系统中部署容器的各种计算布置。
图6图示出涉及对示例边缘计算系统中的应用的移动接入的示例计算和通信用例。
图7A是可以部署在图1-图4和/或图6中所图示的边缘计算系统中的一者中的示例计算节点的示例实现方式的框图。
图7B是可以部署在图1-图4和/或图6中所图示的边缘计算系统中的一者中的示例计算节点的示例实现方式的另一框图。
图8图示出基于功能的实时服务边缘工作流。
图9图示出可以由图2的边缘计算系统实现的微数据湖注册表架构的概览。
图10图示出由图9的微数据湖注册表实现的数据湖管理器的框图。
图11图示出由图9的微数据湖注册表实现的辅助管理器的框图。
图12是表示可被执行以实现图9和/或图10的用于管理图9的微数据湖注册表的数据湖管理器的机器可读指令的流程图。
图13是表示可被执行来实现图9和/或图10的数据湖管理器以创建数据湖区域的机器可读指令的流程图。
图14是表示可被执行来实现图9和/或图10的数据湖管理器以移除数据湖区域的机器可读指令的流程图。
图15是表示可被执行来实现图9和/或图10的数据湖管理器以将服务添加到数据湖区域的机器可读指令的流程图。
图16是表示可被执行来实现图9和/或图10的数据湖管理器以将服务从数据湖区域移除的机器可读指令的流程图。
图17是表示可被执行来实现图9和/或图11的辅助管理器以将数据从数据湖区域读取到服务的机器可读指令的流程图。
图18是表示可被执行来实现图9和/或图11的辅助管理器以将数据从服务写入到数据湖区域的机器可读指令的流程图。
具体实施方式
已经开发出采用移动网络设置的用于与多接入边缘计算(MEC)方式集成的边缘计算用例,也被称为“移动边缘计算”。MEC方式被设计成允许应用开发人员和内容提供方访问网络的边缘处以动态移动网络设置的计算能力和信息技术(IT)服务环境。欧洲电信标准协会(ETSI)行业规范小组(ISG)已开发了有限的标准,试图定义用于MEC系统、平台、主机、服务和应用的操作的通用接口。
边缘计算、MEC以及相关技术试图提供相比于传统云网络服务和广域网连接中所提供的减少的等待时间、增加的响应性、以及可用性更强的计算能力。然而,将移动性和动态启动的服务的集成到某种移动使用和设备处理用例导致编排、功能协调、以及资源管理的限制和对编排、功能协调、以及资源管理的关心,尤其在其中涉及许多参与方(设备、主机、租户、服务提供方、操作者)的复杂移动性设置中。
以类似方式,物联网(IoT)网络和设备被设计成用于提供从各种端点的分布式计算布置。IoT设备是在网络上通信的实体对象或虚拟化对象,并且可以包括传感器、致动器以及其他输入/输出组件,IoT设备可用于收集数据或在现实世界环境中执行动作。例如,IoT设备可包括嵌入或附接到日常事物(诸如建筑物、交通工具、包裹等)的低功率端点设备,以提供对这些事物的附加水平的人工感官知觉。最近,IoT设备已变得越来越流行,因此使用这些设备的应用已经激增。
各种边缘、雾、MEC和IoT网络、设备、以及服务的部署已经引入了许多高级用例和场景,这些用例和场景在网络边缘处并朝向网络边缘处发生。然而,这些高级用例也引入了与安全性、处理和网络资源、服务可用性和效率等等许多其他问题有关的多个相对应的技术挑战。其中一个挑战涉及管理对存储在一个或多个数据湖中的数据的访问,以及管理一个或多个数据湖的创建、移除和/或修改。
近年来,数据分析越来越多地在网络边缘处执行。数据通常可以落在边缘的多个层上,其中每一层可以包括蜂窝塔、内部装备或微云和/或其他边缘设备。每一层的数据摄取和处理能力可能不同,并且每一层可能有不同的带宽、等待时间和处理要求。此外,参与实体(例如,租户)可能落在边缘的一个或多个层上或跨越边缘的一个或多个层,并且每个租户可能需要访问网络的不同边缘设备处的数据。在边缘环境中访问和处理数据是高度动态的,并且随时间而发展。因此,可缩放的边缘基础设施允许处理越来越多数量和类型的数据,并允许越来越多的设备动态连接到网络。
边缘环境中的数据可以存储在数据湖中。如本文所用,数据湖是指可以以任何规模存储非结构化(例如,原始)数据和结构化数据两者的存储和/或存储库。数据湖区域是指数据湖的区域或分区,其中每个数据湖可以划分为任意数量的不同大小的数据湖区域。与数据湖相对应的数据湖区域可以存储在一个或多个边缘设备上。将数据湖划分为数据湖区域增加存储在其中的数据的隐私性,因为每个租户(例如,用户、请求访问的实体等)可被授予仅对数据湖特定区域的访问权限。此外,数据的加密和/或解密可以发生在单个数据湖区域的级别下,以避免必须加密和/或解密整个相对应的数据湖,从而减少处理时间。
在以下描述中,公开了用于管理存储在一个或多个边缘设备处的数据湖的创建、移除和/或修改的示例方法、配置和相关设备。此外,本文公开的示例用于管理一个或多个边缘实体(例如,服务、租户)对数据湖的访问。本文公开的示例数据湖管理器可以基于注册过程来向数据湖区域添加实体或从数据湖区域中移除实体。注册表(例如,微数据湖注册表)用于标识授权实体和授予每个授权实体的访问级别。有利地,注册表提供增强的安全性并减少在访问数据湖区域的每个实例之前授权实体的需要,从而提供对数据的流线型访问。
本文公开的示例技术和配置可与当前联网系统的许多方面结合使用,但是参考边缘云、IoT、多接入边缘计算(MEC)以及其他分布式计算部署来提供。下列系统和技术可被实现在各种分布式、虚拟化、或受管理的边缘计算系统中或者增强各种分布式、虚拟化、或受管理的边缘计算系统。这些包括其中使用多接入边缘计算(MEC)或4G/5G无线网络配置来实现或管理网络服务的环境;或者包括采用涉及光纤、铜以及其他连接的有线网络配置的环境。进一步地,由相应计算组件进行的处理的各方面可涉及地理上接近用户装备或其他端点位置的计算元件,用户装备或端点诸如智能电话、交通工具通信组件、IoT设备等。进一步地,当前所公开的技术可涉及其他边缘/MEC/IoT网络通信标准和配置以及其他中间处理实体和架构。
图1是示出用于边缘计算的配置的概览的框图100,该配置包括在以下许多示例中被称为“边缘云”的处理层。如图所示,边缘云110共同定位在边缘位置(诸如接入点或基站140、本地处理中枢150、或中央局120),并且因此可以包括多个实体、设备、和装备实例。与云数据中心130相比,边缘云110被定位成更靠近端点(消费者和生产者)数据源160(例如,自主交通工具161、用户装备162、商业和工业装备163、视频捕捉设备164、无人机165、智慧城市和建筑设备166、传感器和IoT设备167等)。在边缘云110中的边缘处提供的计算、存储器、和存储资源对于为由端点数据源160使用的服务和功能提供超低等待时间的响应时间以及减少从边缘云110朝向云数据中心130的网络回程通信量(由此改善能耗和整体网络使用等益处)至关重要。
计算、存储器、和存储是稀缺资源,并且通常根据边缘位置而减少(例如,在消费者端点设备上可用的处理资源比在基站上、在中央局处可用的处理资源更少)。然而,边缘位置越靠近端点(例如,用户装备(UE)),空间和功率通常就越受限。因此,边缘计算尝试通过分配被定位成既在地理上更靠近又在网络接入时间上更靠近的更多的资源来减少网络服务所需的资源量。以该方式,边缘计算尝试在适当的情况下将计算资源带到工作负荷数据,或者,将工作负荷数据带到计算资源。
以下描述了边缘云架构的各方面,该架构涵盖多种潜在的部署,并解决了一些网络运营商或服务提供商在其本身的基础设施中可能具有的限制。这些包括以下的变体:基于边缘位置的各种配置(例如,因为处于基站级别的边缘在多租户场景中可能具有更受限制的性能和能力);基于边缘位置、位置的层、或位置的组可用的计算、存储器、存储、结构、加速等资源的类型的配置;服务、安全性、以及管理和编排能力;以及实现端服务的可用性和性能的相关目标。这些部署可以在网络层中完成处理,取决于等待时间、距离、和定时特征,这些网络层可以被视为“接近边缘”、“靠近边缘”、“本地边缘”、“中间边缘”、或“远边缘”层。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或更靠近于产生和消耗数据的端点设备的其他设备处实现的计算平台(例如,x86或ARM计算硬件架构)来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监测)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,可用执行虚拟化网络功能并为服务的执行提供计算资源并且为连接的设备提供消费者功能的标准化计算硬件来代替中央局网络管理硬件。在边缘计算网络内,可能存在计算资源“被移动”到数据的服务中的场景,以及其中数据“被移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以通过激活休眠容量(订阅、按需容量)来根据需要扩展工作负荷需求,以管理极端情况、紧急情况或为部署的资源在显著更长的实现的生命周期中提供长寿命。
图2示出了端点、边缘云和云计算环境之间的操作层。具体而言,图2描绘了在网络计算的多个说明性层之间利用边缘云110的计算用例205的示例。这些层从端点(设备和事物)层200开始,该层200访问边缘云110以进行数据创建、分析和数据消费活动。边缘云110可以跨越多个网络层(诸如具有网关、内部(on-premise)服务器、或位于物理上邻近边缘系统中的网络设备(节点215)的边缘设备层210);网络接入层220,该网络接入层220涵盖基站、无线电处理单元、网络中枢、区域数据中心(DC)、或本地网络装备(装备225);以及位于它们之间的任何装备、设备或节点(在层212中,未详细图示出)。边缘云110内和各层之间的网络通信可以经由任何数量的有线或无线介质来实现,包括经由未描绘出的连接性架构和技术。
由于网络通信距离和处理时间约束而导致的等待时间的示例的范围可以从在端点层200之间时的小于一毫秒(ms),在边缘设备层210处的低于5ms到当与网络接入层220处的节点通信时的10到40ms之间。在边缘云110之外是核心网络230层和云数据中心240层,每个层均具有增加的等待时间(例如,在核心网络层230处的50-60ms,在云数据中心层处的100ms或更多ms)。因此,在核心网络数据中心235或云数据中心245处的、具有至少为50至100ms或更多的等待时间的操作将无法完成用例205的许多时间关键的功能。出于说明和对比的目的,提供这些等待时间值中的每一个等待时间值;应当理解,使用其他接入网络介质和技术可以进一步降低等待时间。在一些示例中,相对于网络源和目的地,网络的各个部分可以被分类为“靠近边缘”、“本地边缘”、“接近边缘”、“中间边缘”或“远边缘”层。例如,从核心网络数据中心235或云数据中心245的角度来看,中央局或内容数据网络可以被视为位于“接近边缘”层内(“接近”云,具有在与用例205的设备和端点通信时的高等待时间值),而接入点、基站、内部服务器或网络网关可以被视为位于“远边缘”层内(“远”离云,具有在与用例205的设备和端点通信时的低等待时间值)。应当理解,构成“靠近”、“本地”、“接近”、“中间”或“远”边缘的特定网络层的其他分类可以基于等待时间、距离、网络跳数或其他可测量的特性,如从网络层200-240中的任一层中的源测量的。
由于多个服务利用边缘云,各种用例205可以在来自传入流的使用压力下访问资源。为了实现低等待时间的结果,在边缘云110内执行的服务在以下方面平衡不同的需求:(a)优先级(吞吐量或等待时间)和服务质量(QoS)(例如,在响应时间需求方面,自主汽车的通信量可能比温度传感器具有更高的优先级;或者,取决于应用,性能敏感度/瓶颈可能存在于计算/加速器、存储器、存储、或网络资源上);(b)可靠性和复原性(例如,取决于应用,一些输入流需要被作用并且以任务关键型可靠性来路由通信量,而一些其他输入流可以容忍偶尔的故障;以及(c)物理约束(例如,功率、冷却和形状因子)。
这些用例的端到端服务视图涉及服务流的概念,并与事务相关联。事务详细说明了消费服务的实体的整体服务需求,以及资源、工作负荷、工作流、以及业务功能和业务级别需求的相关联的服务。利用所描述的“方面(term)”执行的服务能以某种方式在每层处进行管理,以确保在服务的生命周期期间事务的实时和运行时合同合规性。当事务中的组件缺失其约定的SLA时,系统作为整体(事务中的组件)可以提供以下能力:(1)理解SLA违规的影响,以及(2)增强系统中的其他组件以恢复整体事务SLA,以及(3)实现补救的步骤。
因此,考虑到这些变化和服务特征,边缘云110内的边缘计算能以实时或接近实时的方式向用例205的多个应用(例如,对象跟踪、视频监视、连接的汽车等)提供提供服务和作出响应的能力,并满足这些多个应用的超低等待时间需求。这些优势使全新类别的应用(虚拟网络功能(VNF)、功能即服务(FaaS)、边缘即服务(EaaS)、标准过程等)得以实现,这些应用由于等待时间或其他限制而无法利用传统的云计算。
然而,随着边缘计算的优势,有以下注意事项。位于边缘处的设备通常是资源受约束的,并且因此存在对边缘资源的使用的压力。通常,这是通过对供多个用户(租户)和设备使用的存储器和存储资源的池化来解决的。边缘可能是功率和冷却受约束的,并且因此需要由消耗最多功率的应用来负责功率使用。在这些经池化的存储器资源中可能存在固有的功率性能权衡,因为它们中的许多可能使用新兴的存储器技术,在这些技术中,更多的功率需要更大的存储器带宽。同样,还需要改善的硬件安全性和信任根受信任的功能,因为边缘位置可以是无人(控制)的,并且可能甚至需要经许可的访问(例如,当被容纳在第三方位置时)。在多租户、多所有者、或多访问设置中,此类问题在边缘云110中被放大,此类设置中,由许多用户请求服务和应用,特别是当网络使用动态地波动以及多个利益相关者、用例、和服务的组成改变时。
在更一般的级别上,边缘计算系统可以被描述为涵盖在先前讨论的、在边缘云110(网络层200-240)中操作的层处的任意数量的部署,这些层提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一个或多个边缘聚合节点和一个或多个核心数据中心可以分布在网络的各个层上,以由电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体或者代表其提供边缘计算系统的实现。可以动态地提供边缘计算系统的各种实现方式和配置,诸如当被编排以满足服务目标时。
与本文提供的示例一致,客户端计算节点可以被具体化为任何类型的端点组件、设备、装置或能够作为数据的生产者或消费者进行通信的其他事物。进一步地,如边缘计算系统中所使用的标签“节点”或“设备”不一定意指此类节点或设备以客户端或代理/仆从/跟随者角色操作;相反,边缘计算系统中的节点或设备中的任一者指代包括分立的和/或连接的硬件或软件配置以促进和/或使用边缘云110的个体实体、节点、或子系统。
由此,边缘云110由网络层210-230中的边缘网关节点、边缘聚合节点或其他边缘计算节点操作并在网络层210-230中的边缘网关节点、边缘聚合节点或其他边缘计算节点内被操作的网络组件和功能特征形成。因此,边缘云110可被具体化为提供边缘计算和/或存储资源的任何类型的网络,这些边缘计算和/或存储资源被定位成接近支持无线电接入网络(RAN)的端点设备(例如,移动计算设备、IoT设备、智能设备等),其在本文中所讨论。换言之,边缘云110可被预想为连接端点设备和传统网络接入点、同时还提供存储和/或计算能力的“边缘”,该“边缘”充当进入到包括移动运营商网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G/6G网络等)的服务提供商核心网络中的入口点。其他类型和形式的网络接入(例如,Wi-Fi、长程无线、包括光学网络的有线网络)也可替代此类3GPP运营商网络被利用或与此类3GPP运营商网络组合来利用。
边缘云110的网络组件可以是服务器、多租户服务器、装置计算设备和/或任何其他类型的计算设备。例如,边缘云110可以包括包含壳体、底盘、机箱或外壳的自包含电子设备的装置计算设备。在一些情况下,可以针对便携性来确定壳体尺寸,以使得其可由人类携载和/或被运输。示例壳体可包括形成一个或多个外表面的材料,该一个或多个外表面部分地或完整地保护装置的内容物,其中,保护可包括天气保护、危险环境保护(例如,EMI、振动、极端温度)和/或使得能够浸入水中。示例壳体可包括用于为固定和/或便携式实现方式提供功率的功率电路系统,诸如AC功率输入、DC功率输入、(多个)AC/DC或DC/AC转换器、功率调节器、变压器、充电电路系统、电池、有线输入和/或无线功率输入。示例壳体和/或其表面可包括或连接至安装硬件,以实现到诸如建筑物、电信结构(例如,杆、天线结构等)和/或机架(例如,服务器机架、刀片支架等)之类的结构的附接。示例壳体和/或其表面可支持一个或多个传感器(例如,温度传感器、振动传感器、光传感器、声学传感器、电容传感器、接近度传感器等)。一个或多个此类传感器可被包含在装置的表面中、由装置的表面携载、或以其他方式被嵌入在装置的表面中和/或被安装至装置的表面。示例壳体和/或其表面可支持机械连接,诸如推进硬件(例如,轮子、螺旋桨等)和/或铰接硬件(例如,机械臂、可枢转附件等)。在一些情况下,传感器可包括任何类型的输入设备,诸如用户接口硬件(例如,按键、开关、拨号盘、滑块等)。在一些情况下,示例壳体可包括包含在其中、由其携载、嵌入其中和/或附接于此的输出设备。输出设备可包括显示器、触摸屏、灯、LED、扬声器、I/O端口(例如,USB)等。在一些情况下,边缘设备是出于特定用途而存在于网络中(例如,红绿灯),但是可具有可用于其他用途的处理或其他能力的设备。此类边缘设备可以独立于其他联网设备,并且设置有具有适合其主要目的的形状因子的壳体;但对于不干扰其主要任务的其他计算任务,它仍然是可用的。边缘设备包括物联网设备。装置计算设备可包括用于管理诸如设备温度、振动、资源利用率、更新、功率问题、物理和网络安全性之类的本地问题的硬件和软件组件。结合图7B描述了用于实现装置计算设备的示例硬件(如以下更详细描述的)。边缘云110还可以包括一个或多个服务器和/或一个或多个多租户服务器。此类服务器可包括操作系统和虚拟计算环境。虚拟计算环境可包括管理(生成、部署、损毁等)一个或多个虚拟机、一个或多个容器等的管理程序。此类虚拟计算环境提供其中一个或多个应用和/或其他软件、代码或脚本可在与一个或多个其他应用、软件、代码或脚本隔离的同时进行执行的执行环境。
图3图示出示例环境300的框图,在该示例环境300中,各种客户端端点310(采用移动设备、计算机、自主交通工具、商业计算装备、工业处理装备的形式)与示例边缘云110交换请求和响应。例如,客户端端点310可以通过交换通过内部网络系统332的请求和响应322,经由有线宽带网络获得网络接入。一些客户端端点310(诸如移动计算设备)可以通过交换通过接入点(例如,蜂窝网络塔)334的请求和响应,经由无线宽带网络获得网络接入。一些客户端端点310(诸如自主交通工具)可通过街道定位网络系统336经由无线交通工具网络获得请求和响应326的网络接入。然而,无论网络接入的类型如何,TSP可以在边缘云110内部署聚合点342、344来聚合通信量和请求。因此,在边缘云110内,TSP可以(诸如在边缘聚合节点340处)部署各种计算和存储资源以提供请求的内容。边缘聚合节点340和边缘云110的其他系统被连接至云或数据中心360,该云或数据中心360使用回程网络350来满足来自云/数据中心对网站、应用、数据库服务器等的更高等待时间请求。边缘聚合节点340和聚合点342、344的附加或合并的实例(包括部署在单个服务器框架上的那些实例)也可以存在于边缘云110或TSP基础设施的其他区域内。
图4示出了跨在多个边缘节点和多个租户之间操作的边缘计算系统的虚拟边缘配置的部署和编排。具体而言,图4描绘了边缘计算系统400中的第一边缘节点422和第二边缘节点424的协调,以完成对接入各种虚拟边缘实例的各种客户端端点410(例如,智慧城市/建筑系统、移动设备、计算设备、商业/物流系统、工业系统等)的请求和响应。在此,虚拟边缘实例432、434通过接入云/数据中心440(对网站、应用、数据库服务器等有更高等待时间请求)来提供边缘云中的边缘计算能力和处理。然而,边缘云能够协调多个租户或实体的多个边缘节点之间的处理。
在图4的示例中,这些虚拟边缘实例包括:提供给第一租户(租户1)的第一虚拟边缘432,该第一虚拟边缘432提供边缘存储、计算、和服务的第一组合;以及第二虚拟边缘434,提供边缘存储、计算、和服务的第二组合。虚拟边缘实例432、434分布在边缘节点422、424之间,并且可以包括其中从相同或不同的边缘节点满足请求和响应的场景。用于以分布式但协调的方式操作的边缘节点422、424的配置基于边缘供应功能450来发生。用于在多个租户之间为应用和服务提供协调的操作的边缘节点422、424的功能基于编排功能460来发生。
应当理解,设备410中的一些设备是多租户设备,其中租户1可以在租户1‘片’内运行,而租户2可以在租户2片内运行(并且,在进一步的示例中,可能存在附加的租户或子租户;并且每个租户甚至可以对特定特征组具体地享有权利并且在事务上被绑定至特定特征组,一直到对特定的硬件特征具体地享有权利并且在事务上被绑定至特定的硬件特征)。受信任的多租户设备可以进一步包含租户专用的加密密钥,使得密钥和片的组合可以被视为“信任根”(RoT)或租户专用的RoT。可以进一步使用DICE(设备标识组合引擎)架构组成动态计算的RoT,使得单个DICE硬件构建块可用于构造用于对设备能力(诸如现场可编程门阵列(FPGA))进行分层的分层受信任的计算基础上下文。RoT进一步可用于受信任计算上下文,以启用对支持多租赁有用的“扇出”。在多租户环境内,相应的边缘节点422、424可以作为分配给每节点多个租户的本地资源的安全性特征实施点。附加地,租户运行时和应用执行(例如,在实例432、434中)可以用作安全性特征的实施点,该安全性特征创建跨越潜在多个物理主管平台的资源的虚拟边缘抽象。最后,编排实体处的编排功能460可以作为用于沿着租户边界对资源进行列队(marshalling)的安全性特征实施点来操作。
边缘计算节点可划分资源(存储器、中央处理单元(CPU)、图形处理单元(GPU)、中断控制器、输入/输出(I/O)控制器、存储器控制器、总线控制器等),其中,相应的分区可包含RoT能力,并且其中根据DICE模型的扇出和分层可进一步应用于边缘节点。由容器、FaaS引擎、小型服务程序、服务器、或其他计算抽象组成的云计算节点可以根据DICE分层和扇出结构进行分区,以支持每个节点的RoT上下文。因此,跨越RoT的相应设备410、422和440的可以协调分布式受信任计算基础(DTCB)的建立,使得可以建立端到端链接所有要素的租户专用的虚拟受信任安全信道。
此外,应当理解,容器可以具有保护其内容不受先前边缘节点影响的数据或工作负荷特定的密钥。作为容器迁移的一部分,源边缘节点处的舱(pod)控制器可以从目标边缘节点舱控制器获得迁移密钥,其中迁移密钥用于包装容器特定的密钥。当容器/舱迁移到目标边缘节点时,解包裹密钥被暴露给舱控制器,然后舱控制器解密经包裹的密钥。密钥现在可用于对容器特定的数据执行操作。迁移功能可以由适当认证的边缘节点和舱管理器(如上所述)进行选通(gate)。
在进一步的示例中,边缘计算系统被扩展以通过在多所有者、多租户环境中使用容器(提供代码和所需依赖关系的被容纳的、可部署的软件单元)来提供多个应用的编排。多租户编排器可用于执行密钥管理、信任锚管理以及与图4中的受信任的‘片’概念的供应和生命周期相关的其他安全性功能。例如,边缘计算系统可被配置成用于满足来自多个虚拟边缘实例(以及,来自云或远程数据中心)的各种客户端端点的请求和响应。这些虚拟边缘实例的使用可以同时支持多个租户和多个应用(例如,增强现实(AR)/虚拟现实(VR)、企业应用、内容交付、游戏、计算迁移)。此外,虚拟边缘实例内可能存在多种类型的应用(例如,普通应用;等待时间敏感型应用;等待时间关键型应用;用户平面应用;联网应用等)。虚拟边缘实例还可以横跨处于不同地理位置的多个所有者的系统(或,由多个所有者共同拥有或共同管理的相应的计算系统和资源)。
例如,每个边缘节点422、424可以实现容器的使用,诸如使用提供一个或多个容器的组的容器“舱”426、428。在使用一个或多个容器舱的设置中,舱控制器或编排器负责舱中容器的本地控制和编排。根据每个容器的需要对为相应边缘片432、434提供的各种边缘节点资源(例如,存储、计算、服务,用六边形描绘)进行分区。
使用容器舱后,舱控制器监督容器和资源的分区和分配。舱控制器从编排器(例如,编排器460)接收指令,该编排器指示控制器如何最佳地对物理资源进行分区以及在什么持续期内,诸如通过基于SLA合同接收关键性能指标(KPI)目标。舱控制器确定哪个容器需要哪些资源,以及完成工作负荷和满足SLA需要多久。舱控制器还管理容器生命周期操作,诸如:创建容器、为容器提供资源和应用、协调在分布式应用上一起工作的多个容器之间的中间结果、工作负荷完成时拆除容器等。此外,舱控制器可以充当安全角色,阻止资源分配,直到正确的租户验证或阻止向容器提供数据或工作负荷,直到满足认证结果。
此外,通过使用容器舱,租户边界仍然可以存在,但在容器的每一个舱的上下文中。如果每个租户特定的舱都有租户特定的舱控制器,则将有一个共享舱控制器,该共享舱控制器将合并资源分配请求,以避免典型的资源短缺情况。可提供进一步的控制,以确保舱和舱控制器的认证和可信。例如,编排器460可以向执行认证验证的本地舱控制器提供认证验证策略。如果认证满足第一租户舱控制器而不是第二租户舱控制器的策略,则第二舱可以迁移到确实满足该策略的不同边缘节点。或者,可以允许第一舱执行,并且在第二舱执行之前安装和调用不同的共享舱控制器。
图5示出了在边缘计算系统中部署容器的附加计算布置。作为简化示例,系统布置510、520描述了其中舱控制器(例如,容器管理器511、521和容器编排器531)适于通过经由计算节点(布置510中的520)的执行来启动容器化舱、功能、和功能即服务实例,或适于通过经由计算节点(布置520中的523)的执行来单独地执行容器化虚拟化的网络功能。该布置适于在(使用计算节点537的)示例系统布置530中使用多个租户,其中容器化舱(例如,舱512)、功能(例如,功能513、VNF 522、VNF 536)、和功能即服务实例(例如,FaaS实例514)在专用于相应的租户的虚拟机(例如,用于租户532的VM 534、用于租户533的VM 535)内被启动(除了执行虚拟化网络功能)。该布置进一步适于在系统布置540中使用,该系统布置540提供容器542、543,或在计算节点544上执行各种功能、应用和功能,如由基于容器的编排系统541所协调。
图5中描绘的系统布置提供了在应用组成方面平等地对待VM、容器和功能的架构(并且得到的应用是这三种组成部分的组合)。每个组成部分可能涉及使用一个或多个加速器(FPGA、ASIC)组件作为本地后端。以此方式,应用可以在多个边缘所有者之间被分割,如由编排器进行协调。
在图5的上下文中,舱控制器/容器管理器、容器编排器和各个节点可以提供安全性实施点。然而,可以编排租户隔离,其中分配给一租户的资源与分配给第二租户的资源是不同的,但是边缘所有者合作以确保资源分配不跨租户边界被共享。或者,资源分配可以跨租户边界而被隔离,因为租户可以允许经由订阅或事务/合同基础的“使用”。在这些上下文中,边缘所有者可以使用虚拟化、容器化、飞地和硬件分区方案来强制执行租赁。其他隔离环境可包括:裸金属(专用)装备、虚拟机、容器、容器上的虚拟机或其组合。
在进一步的示例中,软件定义的或受控的硅硬件以及其他可配置的硬件的各方面可以与边缘计算系统的应用、功能、和服务整合。软件定义的硅可用于基于某一资源或硬件组成部分(例如,通过升级、重新配置或在硬件配置本身内提供新的特征)修复自身或工作负荷的一部分的能力、来确保该组成部分履行合同或服务级别协议的能力。
应当领会,本文讨论的边缘计算系统和布置可适用于涉及移动性的各种解决方案、服务和/或用例。作为示例,图6示出涉及对实现边缘云(诸如图1的边缘云110)的示例边缘计算系统600中的应用进行的移动访问的示例简化交通工具计算和通信用例。在该用例中,相应的客户端计算节点610可以被具体化为位于相对应交通工具中的机载计算系统(例如,机载导航和/或信息娱乐系统),该机载计算系统在横越道路期间与示例边缘网关节点620通信。例如,边缘网关节点620可以位于路边机柜或被内置到具有其他的、分开的、机械公共设施的结构中的其他外壳中,路边机柜或其他外壳可以沿着道路、在道路的交叉路口处、或在道路附近的其他位置放置。当相应的交通工具沿着道路行驶时,其客户端计算节点610与边缘网关节点620中的特定边缘网关节点之间的连接可以传播,以便为示例客户端计算节点610保持一致的连接和上下文。同样,移动边缘节点可以在高优先级服务处或根据(多个)底层服务(例如,在无人机的情况下)的吞吐量或等待时间分辨率要求进行聚合。相应的边缘网关设备620包括一定量的处理和存储能力,并且由此,客户端计算节点610的一些数据处理和/或数据存储可在边缘网关节点620中的一个或多个边缘网关节点620上执行。
边缘网关节点620可以与一个或多个边缘资源节点640通信,这些边缘资源节点640被说明性地具体化为位于通信基站642(例如,蜂窝网络的基站)处或位于该通信基站642中的计算服务器、装置或组件。如上文所讨论,相应的(多个)边缘资源节点640包括一定量的处理和存储能力,并且由此,客户端计算节点610的一些数据处理和/或数据存储可以在(多个)边缘资源节点640上执行。例如,不太紧急或不太重要的数据处理可以由(多个)边缘资源节点640执行,而具有更高的紧急性或重要性的数据处理可以由边缘网关设备620执行(例如,取决于每个组件的能力、或请求中指示紧急性或重要性的信息)。基于数据访问、数据位置或等待时间,当处理活动期间的处理优先级改变时,可在边缘资源节点上继续工作。同样,可配置的系统或硬件资源本身可以(例如,通过本地编排器)被激活,以提供附加的资源来满足新的需求(例如,使计算资源适配到工作负荷数据)。
(多个)边缘资源节点640还与核心数据中心650通信,核心数据中心650可以包括位于中心位置(例如,蜂窝通信网络的中央局)的计算服务器、设备和/或其他组件。示例核心数据中心650为由(多个)边缘资源节点640和边缘网关设备620形成的边缘云110操作提供到全球网络云660(例如,因特网)的网关。另外,在一些示例中,核心数据中心650可以包括一定量的处理和存储能力,并且因此,可以在核心数据中心650上执行用于客户端计算设备的一些数据处理和/或存储(例如,低紧急性或重要性或高复杂性的处理)。
边缘网关节点620或(多个)边缘资源节点640可以提供状态型的应用632和地理分布式数据库634的使用。虽然应用632和数据库634被图示出为在边缘云110的层处横向地分布,但将理解,应用的资源、服务、或其他组件可以在整个边缘云中竖直地分布(包括,在客户端计算节点610处执行的应用的一部分,在边缘网关节点620处或(多个)边缘资源节点640等处的其他部分)。另外,如前所述,可以存在任何级别上的对等关系以满足服务目标和义务。进一步地,特定客户端或应用的数据可以基于变化的条件(例如,基于加速资源可用性、跟随汽车移动等)从边缘移动到边缘。例如,基于访问的“衰减率”,可以进行预测,以标识要继续的下一个所有者,或者数据或计算访问何时将不再可行。可以利用这些服务和其他服务来完成保持事务合规且无损所需的工作。
在进一步的场景中,容器636(或容器的舱)可以从边缘节点620中的一个边缘节点灵活地迁移到其他边缘节点(例如,这些边缘节点620中的另一个边缘节点、(多个)边缘资源节点640中的一个资源节点等),使得具有应用和工作负荷的容器不需要为了迁移到工作中而被重组、重新编译、重新解释。但是,在此类设置中,可能应用一些补救或“混合”的转换操作。例如,(多个)边缘资源节点640处的物理硬件可能不同于边缘网关节点620处的硬件,并且因此,组成容器底部边缘的硬件抽象层(HAL)将被重新映射到目标边缘节点的物理层。这可能涉及某种形式的后期绑定技术,诸如HAL从容器原生格式到物理硬件格式的二进制转换,或者可能涉及映射接口和操作。舱控制器可用于驱动接口映射,作为容器生命周期的一部分,其包括迁移到不同的硬件环境/从不同的硬件环境迁移。
图6所涵盖的场景可以利用各种类型的移动边缘节点(诸如在交通工具(汽车/卡车/电车/火车)或其他移动单元中主管的边缘节点),因为边缘节点将沿着主管它的平台移动到其他地理位置。在交通工具对交通工具通信的情况下,单个交通工具甚至可以充当其他交通工具的网络边缘节点,(例如,以执行高速缓存、报告、数据聚合等)。因此,将理解,在各种边缘节点中提供的应用组件可以分布在静态或移动设置中,包括在各个端点设备或边缘网关节点620处的一些功能或操作、在(多个)边缘资源节点640处的一些其他功能或操作、以及在核心数据中心650或全球网络云660中的其他功能或操作之间的协调。
在进一步的配置中,边缘计算系统可以通过使用相应的可执行应用和功能来实现FaaS计算能力。在示例中,开发者编写表示一个或多个计算机功能的功能代码(例如,本文中的“计算机代码”),并且该功能代码被上传到由例如边缘节点或数据中心提供的FaaS平台。触发器(诸如例如,服务用例或边缘处理事件)发起利用FaaS平台执行功能代码。
在FaaS的示例中,容器用于提供一个环境,在该环境中执行功能代码(例如,可能由第三方提供的应用)。容器可以是任何隔离执行的实体,诸如进程、Docker容器或Kubernetes容器、虚拟机等。在边缘计算系统内,各种数据中心、边缘、和端点(包括移动)设备被用于按需扩展的“旋转加速(spin up)”功能(例如,激活和/或分配功能动作)。功能代码在物理基础设施(例如,边缘计算节点)设备和底层虚拟化容器上得到执行。最后,容器响应于执行被完成而在基础设施上被“旋转减速”(例如,去激活和/或解除分配)。
FaaS的其他方面可以使边缘功能以服务方式进行部署,包括对支持边缘计算即服务(边缘即服务或“EaaS”)的相应功能的支持。FaaS的附加特征可包括:使客户(例如,计算机代码开发者)仅在其代码被执行时进行支付的粒度计费组件;用于存储数据以供一个或多个功能重新使用的通用数据存储;各个功能之间的编排和管理;功能执行管理、并行性和合并;容器和功能存储器空间的管理;功能可用的加速资源的协调;以及功能在容器之间的分布(包括已经部署或操作的“暖”容器,相对于需要初始化、部署、或配置的“冷”容器)。
边缘计算系统600可包括边缘供应节点644或与边缘供应节点644通信。边缘供应节点644可以将诸如图7B的示例计算机可读指令782的软件,分发到实施本文所述的任何方法的各个接收方。示例边缘供应节点644可以由能够存储软件指令和/或向其他计算设备传输软件指令(例如,代码、脚本、可执行二进制文件、容器、包、压缩文件和/或其衍生物)的以下各项来实现:任何计算机服务器、家庭服务器、内容交付网络、虚拟服务器、软件分发系统、中央设施、存储设备、存储节点、数据设施、云服务等。示例边缘供应节点644的(多个)组件可以位于云中、局域网中、边缘网络中、广域网中、因特网上和/或与(多个)接收方通信耦合的任何其他位置。接收方可以是拥有和/或操作边缘供应节点644的实体的客户、客户端、合作伙伴、用户等。例如,拥有和/或操作边缘供应节点644的实体可以是软件指令(诸如图7B的示例计算机可读指令782)的开发者、销售者和/或许可者(或其客户和/或消费者)。接收方可以是消费者、服务提供商、用户、零售商、OEM等,他们购买和/或许可软件指令以用于使用和/或转售和/或分许可。
在示例中,边缘供应节点644包括一个或多个服务器和一个或多个存储设备。存储设备主控计算机可读指令,诸如图7B的示例计算机可读指令782,如下所述。类似于上述边缘网关设备620,边缘供应节点644的一个或多个服务器与基站642或其他网络通信实体通信。在一些示例中,作为商业事务的一部分,一个或多个服务器响应于将软件指令传送到请求方的请求。可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体来处理对软件指令的交付、销售、和/或许可的支付。服务器使购买者和/或许可者能够从边缘供应节点644下载计算机可读指令782。例如,可以与图7B的示例计算机可读指令782相对应的软件指令可以被下载到示例处理器平台700,该示例处理器平台700用于执行计算机可读指令782以实现本文所描述的方法。
在一些示例中,执行计算机可读指令782的(多个)处理器平台可以物理地位于不同的地理位置、法律管辖区等。在一些示例中,边缘供应节点644的一个或多个服务器周期性地提供、传送和/或强制进行软件指令(例如,图7B的示例计算机可读指令782)的更新以确保改善、补丁、更新等被分发并应用于终端用户设备处实现的软件指令。在一些示例中,计算机可读指令782的不同组件可以从不同的源和/或不同的处理器平台分发;例如,不同的库、插件、组件和其他类型的计算模块,无论是经编译的还是经解释的,都可以从不同的源和/或向不同的处理器平台分发。例如,软件指令的一部分(例如,本身不可执行的脚本)可以从第一源分发,而(能够执行脚本的)解释器可以从第二源分发。
在进一步的示例中,参考当前的边缘计算系统和环境讨论的计算节点或设备中的任一者可以基于图7A和图7B所描绘的组件来实现。相应的边缘计算节点可以被具体化为能够与其他边缘组件、联网组件或端点组件进行通信的设备、装置、计算机或其他“事物”的类型。例如,边缘计算设备可以具体化为个人计算机、服务器、智能手机、移动计算设备、智能设备、机载计算系统(例如,导航系统)、具有机箱、外壳等的自包含设备,或能够执行所述功能的其他设备或系统。
图7A是示例边缘计算节点700的示例实现方式的框图,该示例边缘计算节点700包括计算引擎(本文中也称为“计算电路系统”)702、输入/输出(I/O)子系统708、数据存储710、通信电路系统子系统712,并且任选地包括一个或多个外围设备714。在其他示例中,相应的计算设备可以包括其他或附加组件,诸如通常在计算机中发现的那些组件(例如,显示器、外围设备等)。另外,在一些示例中,说明性组件中的一个或多个可被结合到另一组件中,或以其他方式形成另一组件的部分。图7A的示例边缘计算节点700可被部署在图1-图4和/或图6中所图示的边缘计算系统中的一个边缘计算系统中,以实现图1-图4和/或图6的任何边缘计算节点。
计算节点700可被具体化为能够执行各种计算功能的任何类型的引擎、设备、或设备集合。在一些示例中,计算节点700可被具体化为单个设备,诸如集成电路、嵌入式系统、现场可编程门阵列(FPGA)、片上系统(SOC)或其他集成系统或设备。在说明性示例中,计算节点700包括或被具体化为处理器704和存储器706。处理器704可被具体化为能够执行本文中所描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器704可被具体化为(多个)多核处理器、微控制器、处理单元、专门或专用处理单元、或其他处理器或处理/控制电路。
在一些示例中,处理器704可被具体化为、包括或耦合到FPGA、专用集成电路(ASIC)、可重新配置的硬件或硬件电路系统、或用于促进本文中所描述的功能的执行的其他专用硬件。同样在一些示例中,处理器704可以具体化为专用x处理单元(xPU)(也称为数据处理单元(DPU))、基础设施处理单元(IPU)或网络处理单元(NPU)。此类xPU可具体化为独立电路或电路封装、集成在SOC内或与联网电路系统(例如,在智能NIC中)集成、加速电路系统、存储设备或AI硬件(例如,GPU或编程FPGA)。此类xPU可设计成用于接收编程以在CPU或通用处理硬件之外处理一个或多个数据流并执行数据流的特定任务和动作(诸如托管微服务、执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格,或收集和分发遥测数据)。然而,将理解的是,xPU、SOC、CPU和处理器704的其他变体可以彼此协调工作以在计算节点700内并代表计算节点700执行多种类型的操作和指令。
存储器706可被具体化为能够执行本文中所述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储。易失性存储器可以是需要维持由该介质存储的数据状态的能力的存储介质。易失性存储器的非限制性示例可包括各种类型的随机存取存储器(RAM),诸如DRAM或静态随机存取存储器(SRAM)。可以在存储模块中使用的一个特定类型的DRAM是同步动态随机存取存储器(SDRAM)。
在示例中,存储器设备是块可寻址存储器设备,诸如基于NAND或NOR技术的那些存储器设备。存储器设备还可包括三维交叉点存储器设备(例如,
Figure BDA0003229628290000201
3D XPointTM存储器)或其他字节可寻址的就地写入非易失性存储器设备。存储器设备可指代管芯本身和/或指代封装的存储器产品。在一些示例中,3D交叉点存储器(例如,
Figure BDA0003229628290000202
3D XPointTM存储器)可包括无晶体管的可堆叠的交叉点架构,其中存储单元位于字线和位线的交点处,并且可单独寻址,并且其中位存储基于体电阻的变化。在一些示例中,存储器706的全部或一部分可以被集成到处理器704中。存储器706可以存储在操作期间使用的各种软件和数据,诸如一个或多个应用、通过(多个)应用、库以及驱动程序操作的数据。
计算电路系统702经由I/O子系统708通信地耦合到计算节点700的其他组件,该I/O子系统708可被具体化为用于促进与计算电路系统702(例如,与处理器704和/或主存储器706)以及计算电路系统702的其他组件的输入/输出操作的电路系统和/或组件。例如,I/O子系统708可被具体化为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其他组件和子系统。在一些示例中,I/O子系统708可以形成片上系统(SoC)的部分,并可与计算电路系统702的处理器704、存储器706、和其他组件中的一个或多个一起被合并到计算电路系统702中。
一个或多个说明性数据存储设备710可被具体化为被配置成用于数据的短期或长期存储的任何类型的设备,诸如例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。各个数据存储设备710可包括存储数据存储设备710的数据以及固件代码的系统分区。各个数据存储设备710还可以包括一个或多个操作系统分区,该操作系统分区根据例如计算节点700的类型来存储操作系统的数据文件和可执行文件。
通信电路系统712可被具体化为能够实现通过网络在计算电路系统702与其他计算设备(例如,边缘计算系统的边缘网关)之间的进行通信的任何通信电路、设备或其集合。通信电路系统712可以被配置成使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,蜂窝联网协议(诸如3GPP 4G或5G标准)、无线局域网协议(诸如IEEE
Figure BDA0003229628290000211
)、无线广域网协议,以太网、
Figure BDA0003229628290000212
蓝牙低能量、IoT协议(诸如IEEE802.15.4或
Figure BDA0003229628290000213
)、低功率广域网(LPWAN)或低功率广域网(LPWA)协议等)来实行此类通信。
说明性通信电路系统712包括网络接口控制器(NIC)720,其也被称为主机结构接口(HFI)。NIC 720可被具体化为一个或多个插入式板、子卡、网络接口卡、控制器芯片、芯片组或可由计算节点700用来与另一计算设备(例如,边缘网关节点)连接的其他设备。在一些示例中,NIC 720可被具体化为包括一个或多个处理器的片上系统(SoC)的一部分,或NIC720可被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,NIC 720可包括均位于NIC 720本地的本地处理器(未示出)和/或本地存储器(未示出)。在此类示例中,NIC720的本地处理器可能能够执行本文中描述的计算电路系统702的功能中的一个或多个功能。附加地,或者替代地,在此类示例中,NIC 720的本地存储器可以在板级、插座级、芯片级和/或其他层级上被集成到客户端计算节点的一个或多个组件中。
另外,在一些示例中,相应的计算节点700可以包括一个或多个外围设备714。取决于计算节点700的特定类型,此类外围设备714可包括通常在计算设备或服务器中发现的任何类型的外围设备,诸如音频输入设备、显示器、其他输入/输出设备、接口设备和/或其他外围设备。在进一步的示例中,计算节点700可以由相应的边缘计算节点(无论是客户端、网关或聚合节点)在边缘计算系统或类似形式的设备、计算机、子系统、电路系统或其他组件中。
在更详细的示例中,图7B图示出示例边缘计算节点750的框图,该示例边缘计算节点750被构造成用于执行图12、图13、图14、图15、图16、图17和/或图18的指令以实现本文中所描述的技术(例如,操作、过程、方法和方法论),这些技术诸如图9和/或图10的数据湖管理器908和/或图9和/或图11的辅助管理器912。该边缘计算节点750在被实现为计算设备(例如,移动设备、基站、服务器、网关等)或计算设备(例如,移动设备、基站、服务器、网关等)的一部分时提供节点700的相应组件的更靠近的视图。边缘计算节点750可以包括本文中所引用的硬件或逻辑组件的任何组合,并且该边缘计算节点750可以包括可用于边缘通信网络或此类网络的组合的任何设备或与该任何设备耦合。这些组件可被实现为集成电路(IC)、IC的部分、分立电子器件,或其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其适用于边缘计算节点750中的组合,或作为以其他方式被并入在更大的系统的机架内的组件。例如,边缘计算节点750可以是例如,服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板)、个人数字助理(PDA)、因特网装置、DVD播放器、CD播放器、数字视频记录仪、蓝光播放器、游戏控制台、个人视频记录仪、机顶盒、头戴式耳机或其他可穿戴设备、或任何其他类型的计算设备。
边缘计算设备750可包括处理器752形式的处理电路系统,该处理电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元,或其他已知的处理元件。处理器752可以是芯片上系统(SoC)的部分,在该SoC中,处理器752和其他组件形成到单个集成电路或单个封装中,诸如,来自加利福尼亚州圣克拉拉市的英特尔公司的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC板。作为示例,处理器752可包括基于
Figure BDA0003229628290000221
架构酷睿TM(CoreTM)的CPU处理器(诸如QuarkTM、AtomTM、i3、i5、i7、i9或MCU级处理器)、或可从
Figure BDA0003229628290000231
获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司
Figure BDA0003229628290000232
获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于
Figure BDA0003229628290000233
的设计、许可自ARM控股有限公司的基于
Figure BDA0003229628290000234
的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自
Figure BDA0003229628290000235
公司的A5-A13处理器、来自
Figure BDA0003229628290000236
技术公司的骁龙TM(SnapdragonTM)处理器或来自德州仪器公司的OMAPTM处理器。处理器752和伴随的电路系统可以以单插座形状因子、多插座形状因子或各种其他格式提供,包括有限的硬件配置或包括少于图7B中所示的所有元件的配置。在该示例中,处理器752实现一个或多个结构化元件,如下所述。例如,图7B的示例处理器752实现以下图10的示例位置选择器1002、示例服务授权器1004、示例密钥生成器1006、示例密钥分发器1008、示例数据湖表控制器1012和示例定时控制器1010,以及以下图11的示例指令分析器1100、示例服务标识符1102、示例数据检索器1104、示例密钥管理器1106、示例数据加密器1108、示例数据解密器1110和示例数据发送器1112。
处理器752可通过互连756(例如,总线)来与系统存储器754通信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器754可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存储器(RAM),诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4)。在特定示例中,存储器组件可符合JEDEC颁布的标准,诸如DDRSDRAM的JESD79F、DDR2 SDRAM的JESD79-2F、DDR3 SDRAM的JESD79-3F、DDR4 SDRAM的JESD79-4A、低功率DDR(LPDDR)的JESD209、LPDDR2的JESD209-2、LPDDR3的JESD209-3和LPDDR4的JESD209-4。此类标准(和类似的标准)可被称为基于DDR的标准,而存储设备的实现此类标准的通信接口可被称为基于DDR的接口。在各种实现方式中,单独的存储器设备可以是任何数量的不同封装类型,诸如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q17P)。在一些示例中,这些设备可以直接焊接到主板上,以提供较低轮廓的解决方案,而在其他示例中,设备被配置为一个或多个存储器模块,这些存储器模块进而通过给定的连接器耦合至主板。可使用任何数量的其他存储器实现方式,诸如其他类型的存储器模块,例如,不同种类的双列直插存储器模块(DIMM),包括但不限于microDIMM(微DIMM)或MiniDIMM(迷你DIMM)。
为了提供对信息(诸如数据、应用、操作系统等)的持久性存储,存储758还可经由互连756而耦合至处理器752。在示例中,存储758可经由固态盘驱动器(SSDD)来实现。可用于存储758的其他设备包括闪存卡(诸如安全数字(SD)卡、microSD卡、极限数字(xD)图片卡,等等)和通用串行总线(USB)闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫属化物玻璃的存储器设备、多阈值级别NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储器(MRAM)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(CB-RAM)的电阻式存储器、或自旋转移力矩(STT)-MRAM、基于自旋电子磁结存储器的设备、基于磁隧穿结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备、或者任何上述或其他存储器的组合。
在低功率实现中,存储758可以是与处理器752相关联的管芯上存储器或寄存器。然而,在一些示例中,存储758可使用微硬盘驱动器(HDD)来实现。此外,附加于或替代所描述的技术,可将任何数量的新技术用于存储758,诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连756进行通信。互连756可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围组件互连扩展(PCIx)、PCI快速(PCIe)或任何数量的其他技术。互连756可以是例如在基于SoC的系统中使用的专有总线。其他总线系统可被包括,诸如内部集成电路(I2C)接口、串行外围设备接口(SPI)接口、点对点接口、以及功率总线,等等。
互连756可将处理器752耦合至收发机766,以便例如与连接的边缘设备762通信。收发机766可使用任何数量的频率和协议,诸如,IEEE 802.15.4标准下的2.4千兆赫兹(GHz)传输,使用如由
Figure BDA0003229628290000241
特别兴趣小组定义的
Figure BDA0003229628290000251
低能量(BLE)标准、或
Figure BDA0003229628290000252
标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到连接的边缘设备762的连接。例如,无限局域网(WLAN)单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现
Figure BDA0003229628290000253
通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由无线广域网(WWAN)单元发生。
无线网络收发机766(或多个收发机)可以使用用于不同范围的通信的多种标准或无线电来进行通信。例如,边缘计算节点750可使用基于蓝牙低能量(BLE)或另一低功率无线电的本地收发机与接近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设备762可通过
Figure BDA0003229628290000254
或其他中间功率的无线电而联络到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发机而发生,分开的收发机例如使用BLE的本地收发机和分开的使用
Figure BDA0003229628290000255
的网格收发机。
无线网络收发机766(例如,无线电收发机)可被包括,以经由局域网协议或广域网协议来与边缘云795中的设备或服务通信。无线网络收发机766可以是遵循IEEE 802.15.4或IEEE 802.15.4g标准等的低功率广域(LPWA)收发机。边缘计算节点750可使用由Semtech和LoRa联盟开发的LoRaWANTM(长距离广域网)在广域上通信。本文中描述的技术不限于这些技术,而使可与实现长距离、低带宽通信(诸如,Sigfox和其他技术)的任何数量的其他云收发机一起使用。进一步地,可使用其他通信技术,诸如在IEEE 802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的无线网络收发机766而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,收发机766可包括使用扩展频谱(SPA/SAS)通信以实现高速通信的蜂窝收发机。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的
Figure BDA0003229628290000256
网络。收发机766可包括与任何数量的3GPP(第三代合作伙伴计划)规范(诸如在本公开的末尾处进一步详细讨论的长期演进(LTE)和第五代(5G)通信系统)兼容的无线电。网络接口控制器(NIC)768可被包括以提供到边缘云795的节点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备762)的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、现场总线(PROFIBUS)或工业以太网(PROFINET),等等。附加的NIC 768可被包括以实现到第二网络的连接,例如,第一NIC 768通过以太网提供到云的通信,并且第二NIC 768通过另一类型的网络提供到其他设备的通信。
鉴于从设备到另一组件或网络的适用通信类型的多样性,设备使用的适用通信电路可以包括组件764、766、768或770中的任何一个或多个或由组件764、766、768或770中的任何一个或多个来具体化。因此,在各个示例中,用于通信(例如,接收、传送等)的适用装置可由此类通信电路系统来具体化。
边缘计算节点750可以包括或被耦合到加速电路系统764,该加速电路系统764可以由一个或多个人工智能(AI)加速器、神经计算棒、神经形态硬件、FPGA、GPU的布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC、或被设计用于完成一个或多个专有任务的其他形式的专用处理器或电路系统来具体化。这些任务可以包括AI处理(包括机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理和服务操作的特定边缘计算任务。
互连756可将处理器752耦合至用于连接附加的设备或子系统的传感器中枢或外部接口770。外部设备可包括传感器772,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(GPS)传感器、压力传感器、气压传感器,等等。中枢或接口770可进一步用于将边缘计算节点750连接至致动器774,诸如功率开关、阀致动器、可听声音发生器、视觉警告设备等。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于边缘计算节点750内,或可连接至边缘计算节点750。例如,显示器或其他输出设备784可被包括以显示信息,诸如传感器读数或致动器位置。输入设备786(诸如触摸屏或键区)可被包括以接受输入。输出设备784可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如,二进制状态指示器(例如,发光二极管(LED));多字符视觉输出;或更复杂的输出,诸如,显示屏(例如,液晶显示器(LCD)屏),其具有从边缘计算节点750的操作生成或产生的字符、图形、多媒体对象等的输出。在本系统的上下文中,显示器或控制台硬件可:用于提供边缘计算系统的输出和接收边缘计算系统的输入;用于管理边缘计算系统的组件或服务;标识边缘计算组件或服务的状态、或用于进行任何其他数量的管理或管理功能或服务用例。
电池776可为边缘计算节点750供电,但是在其中边缘计算节点750被安装在固定位置的示例中,该边缘计算节点750可具有耦合至电网的电源,或者电池可以用作备用或用于临时功能。电池776可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监测器/充电器778可被包括在边缘计算节点750中以跟踪电池776(如果包括的话)的充电状态(SoCh)。电池监测器/充电器778可用于监测电池776的其他参数以提供失效预测,诸如电池776的健康状态(SoH)和功能状态(SoF)。电池监测器/充电器778可包括电池监测集成电路,诸如来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监测器/充电器778可通过互连756将关于电池776的信息传递至处理器752。电池监测器/充电器778也可包括使处理器752能够直接监测电池776的电压或来自电池776的电流的模数(ADC)转换器。电池参数可被用于确定边缘计算节点750可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块780或耦合至电网的其他电源可与电池监测器/充电器778耦合以对电池776充电。在一些示例中,功率块780可用无线功率接收机代替,以便例如通过边缘计算节点750中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监测器/充电器778中。可以基于电池776的尺寸并且因此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless PowerConsortium)颁布的Qi无线充电标准、或由无线电力联盟(Alliance for Wireless Power)颁布的Rezence充电标准等等来执行充电。
存储758可包括用于实现本文中公开的技术的软件、固件或硬件命令形式的指令782。虽然此类指令782被示出为被包括在存储器754和存储758中的代码块,但是可以理解,可用例如被建立到专用集成电路(ASIC)中的硬连线电路替换代码块中的任一个。
在示例中,经由存储器754、存储758或处理器752提供的指令782可被具体化为非瞬态机器可读介质760,该非瞬态机器可读介质760包括用于指导处理器752执行边缘计算节点750中的电子操作的代码。处理器752可通过互连756访问非瞬态机器可读介质760。例如,非瞬态机器可读介质760可由针对存储758所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非瞬态机器可读介质760可包括用于指示处理器752执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流的指令。如本文所适用,术语“机器可读介质”和“计算机可读介质”是可互换的。
也在特定示例中,处理器752上的指令782(单独地或与机器可读介质760的指令782结合)可以配置受信任执行环境(TEE)790的执行或操作。在示例中,TEE 790作为处理器752可访问的保护区域来操作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用
Figure BDA0003229628290000281
软件防护扩展(SGX)或
Figure BDA0003229628290000282
硬件安全扩展、
Figure BDA0003229628290000283
管理引擎(ME)或
Figure BDA0003229628290000284
融合安全可管理性引擎(CSME)来提供TEE 790的各种实现方式以及处理器752或存储器754中伴随的安全区域。安全强化、硬件信任根、和受信任或受保护操作的其他方面可以通过TEE 790和处理器752在设备750中实现。
在进一步的示例中,机器可读介质也包括任何有形介质,该有形介质能够存储、编码或携带供由机器执行并且使机器执行本公开方法中的任何一种或多种方法的指令,或者该有形介质能够储存、编码或携带由此类指令利用或与此类指令相关联的数据结构。“机器可读介质”因此可包括但不限于固态存储器、光学介质和磁介质。机器可读介质的特定示例包括非易失性存储器,作为示例,包括但不限于:半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备);诸如内部硬盘及可移除盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。可使用传输介质,经由网络接口设备,利用若干传输协议中的任何一种协议(例如,超文本传输协议(HTTP)),进一步通过通信网络来传送或接收由机器可读介质具体化的指令。
机器可读介质可以由能够以非瞬态格式主管数据的存储设备或其他装置提供。在示例中,存储在机器可读介质上或以其他方式提供在机器可读介质上的信息可以表示指令,诸如指令本身或者可以从中导出指令的格式。可以从中导出指令的该格式可以包括源代码、经编码的指令(例如,以压缩或加密的形式)、经封装的指令(例如,分成多个封装)等。表示机器可读介质中的指令的信息可以通过处理电路系统处理成指令来实现本文所讨论的任何操作。例如,从(例如,由处理电路系统进行的处理的)信息中导出指令可以包括:(例如,从源代码、目标代码等)编译、解释、加载、组织(例如,动态地或静态地进行链接)、编码、解码、加密、解密、打包、拆包,或者以其他方式将信息操纵到指令中。
在示例中,指令的推导可以包括(例如,通过处理电路系统)对信息进行汇编、编译、或解释,以从机器可读介质提供的一些中间或预处理的格式创建指令。当信息以多个部分提供时,可以对其进行组合、拆包和修改以创建指令。例如,信息可以处于一个或若干远程服务器上的多个经压缩的源代码封装(或目标代码、或二进制可执行代码等)中。源代码封装可以在通过网络传输时被加密,并且可以在本地机器处被解密、被解压缩、(如果必要的话)被汇编(例如,被链接),并且被编译或被解释(例如被编译或被解释成库、独立的可执行文件等),并且由本地机器执行。
图12、图13、图14、图15、图16、图17和/或图18的机器可执行指令1200、1300、1400、1500、1600、1700和/或1800可以被存储在大容量存储设备1028中,存储在易失性存储器1014中,存储在非易失性存储器1016中,和/或存储在诸如CD或DVD之类的可移除非瞬态计算机可读存储介质上。
图8图示出示例基于功能的实时服务边缘工作流(例如,服务边缘工作流)800。图8的示例服务边缘工作流800可以由图4的边缘计算系统400实现。示例服务边缘工作流800示出了实现具有不同网络功能的不同服务链的第一数据处理流水线(DPP)802和第二DPP804。在一些示例中,第一DPP 802和/或第二DPP 804的网络功能分布在一个或多个边缘节点(例如,图4的第一边缘节点422和第二边缘节点424)上。在图8所图示示例中,第一DPP802和第二DPP 804中的每一个都可以提供租户特定的服务链。例如,第一DPP 802向图4的第一租户432提供第一服务而第二DPP 804向第二租户434提供第二服务。
在图8所图示的示例中,来自图4的客户端端点410的第一客户端向第一DPP 802发送第一请求,并且来自客户端端点410的第二客户端向第二DPP 804发送第二请求。作为响应,第一边缘节点422和第二边缘节点424基于与第一DPP 802和第二DPP 804中的每一个相对应的服务链来执行第一服务和第二服务。在图8所图示的示例中,第一DPP 802和第二DPP804包括第一虚拟网络功能(VNF)806和第二VNF 808。在一些示例中,第一VNF 806与用于沿边缘节点422、424提供安全层并防止不必要的网络通信量的防火墙VNF相对应。在一些示例中,第二VNF 808中的每一个是虚拟演进分组核心(vEPC)VNF。在其他示例中,第一VNF 806和第二VNF 808中的每一个可以是任何其他类型的VNF(例如,病毒扫描器、垃圾邮件防护、视频分析、负荷平衡等)。
在本文公开的示例中,VNF是执行特定低级(例如,分组处理级)网络操作的模块,该操作先前在硬件中的专用多协议路由器中执行。具体地,VNF是一段代码,当分组从馈送器流入VNF时,该段代码通常重复地执行。然后,VNF将信息(例如,以修改和/或派生的数据包的形式)发送到后继VNF或接收阱(sink)。在一些示例中,VNF参与对通过VNF的分组流执行的流送操作。在一些示例中,EPC或vEPC VNF是针对移动电信的高吞吐量、低等待时间操作定制的。其他示例VNF包括负荷平衡和自动缩放VNF、深度分组检测(DPI)VNF、计费和收费VNF、封装/解封装VNF和/或日志记录VNF。一些示例VNF出现在网络功能虚拟化(NFV)的上下文中,其中硬件网络操作被转换为硬件网络操作的软件仿真。NFV的动机是用在快速但低成本的硬件上运行的廉价、高弹性和快速发展的软件组合取代昂贵且缓慢发展的硬件。
在图8所图示的示例中,响应于通过第一VNF 806和第二VNF 808,第一DPP 802和第二DPP 804的数据处理流前进到功能集810(例如,示例第一功能810A、示例第二功能810B、示例第三功能810C和示例第四功能810D)。在一些示例中,功能集810是处理来自客户端端点410的第一客户端和第二客户端的图像流的功能。响应于处理图像流,第一DPP 802和第二DPP 804的数据处理流在将处理后的数据返回给一个或多个用户(例如,客户端端点410的第一客户端和/或第二客户端)之前进行到第三VNF 812。
在图8的所图示示例中,第一VNF 806、第二VNF 808、第三VNF 812和功能集810中的每一个可以分布在第一边缘节点422与第二边缘节点424之间。在一些示例中,边缘计算系统400基于下面结合图9描述的示例边缘架构来存储和管理对一个或多个数据湖的访问。在一些示例中,第一DPP 802和/或第二DPP 804中的一个或多个服务可以存储数据和/或从存储在第一边缘节点422和/或第二边缘节点424处的数据湖中检索数据。在第一DPP 802和/或第二DPP 804的执行期间,一个或多个服务可以访问(例如,读取和/或写入)数据湖。在一些示例中,管理实体(例如,边缘基础设施所有者)控制一个或多个服务中的每一个都可以访问哪些数据湖和/或数据湖区域。
图9图示出可以由图4的边缘计算系统实现的示例微数据湖注册表架构(例如,注册表、数据湖注册表)900的概览。图9的示例数据湖注册表架构900包括示例第一边缘平台(例如,边缘节点、边缘设备)902、示例第二边缘平台904和示例第三边缘平台906。示例第一边缘平台902进一步包括在示例第一加速器910中实现的并且通信地耦合到示例网络911的示例数据湖管理器908。示例第二边缘平台904进一步包括示例辅助管理器A 912A、存储示例数据湖915的示例存储914和在示例存储914中实现的示例第二加速器916。示例数据湖915包括示例数据湖区域A(例如,第一数据湖区域)917A和示例数据湖区域B(例如,第二数据湖区域)917B。示例第三边缘平台906进一步包括在示例网络接口控制器(NIC)920中实现的示例辅助管理器B 912B,并且包括在示例中央处理单元(CPU)924中实现的示例服务922。在一些示例中,服务922可以是第一VNF 806、第二VNF 808、第三VNF 812、图8的功能集810中的一个或多个中的任一个和/或其组合。
示例数据湖915包括存储在数据湖区域A 917A和数据湖区域B 917B中的数据。在所图示示例中,数据湖区域A 917A和数据湖区域B 917B两者都存储在第二边缘平台904中。在其他示例中,数据湖区域A 917A和数据湖区域B 917B可以存储在不同的边缘平台上。所示示例中的每个数据湖区域(例如,数据湖区域A 917A和数据湖区域B 917B)可由相对应的服务集访问,其中相对应的服务集可(例如,响应于示例数据湖管理器908的请求而)由示例辅助管理器A 912A动态修改。
可以通过在数据湖915内创建、移除、扩展和/或收缩数据湖区域(例如,数据湖区域A 917A和数据湖区域B 917B)来修改示例数据湖915。在一些示例中,每个数据湖区域可以进一步划分为更小的数据湖区域。例如,如果第三边缘平台906的示例服务922被授权仅访问数据湖区域A 917A中的一部分数据,则数据湖管理器908可以将数据湖区域A 917A划分为包括数据的一部分的第一区域,以及包括来自数据湖区域A 917A的剩余数据的第二区域。因此,数据湖管理器908可以控制存储在数据湖915中的数据的粒度以确保对数据的访问仅对有权访问数据的那些实体(例如,示例第三边缘平台906)可用。
在图9所示的示例中,第一边缘平台902实现数据湖管理器908以管理存储在数据湖注册表架构900中的一个或多个数据湖(例如,数据湖915)和/或数据湖区域(例如,数据湖区域A 917A和数据湖区域B 917B)的创建、修改和/或移除。此外,示例数据湖管理器908可以添加和/或移除具有对数据湖915和/或数据湖915的区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)的访问的服务。数据湖管理器908经由示例数据湖管理器逻辑926控制。数据湖管理器逻辑926进一步包括示例密钥生成逻辑928、示例数据湖区域操作930、示例第一接口932和示例数据湖表934。
数据湖表934的每个条目与数据湖注册表架构900中的唯一数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)相对应。数据湖表934的示例条目包括示例数据湖区域ID 936、示例服务ID 937、示例密钥938、示例数据湖存储节点940和示例地址范围942。示例数据湖区域ID 936向数据湖管理器908和/或任何其他辅助数据湖管理器(例如,辅助管理器A 912A、辅助管理器B 912B等)标识特定数据湖区域(例如,数据湖区域A 917A或数据湖区域B 917B)。示例服务ID 937标识被授权访问一个或多个特定数据湖区域的一个或多个服务。示例密钥938包括用于对特定数据湖区域中的数据进行加密和/或解密的加密密钥。示例数据湖存储节点940标识存储数据湖区域或数据湖区域的一部分的一个或多个边缘设备(例如,第一边缘平台902、第二边缘平台904和/或第三边缘平台906)。示例地址范围942标识边缘设备内存储数据湖区域的位置。在一些示例中,示例地址范围942包括第一边缘设备内的第一地址范围和第二边缘设备内的第二地址范围。
示例第一边缘平台902可以经由第一接口932与第二边缘平台904和/或第三边缘平台906通信。此外,数据湖管理器908可以经由网络911接收来自示例边缘基础设施所有者(EIO)935的请求。EIO 935可以是执行生命周期管理操作并管理数据湖注册表架构900的数据湖和/或数据湖区域的服务。响应于从EIO 935接收和/或以其他方式检索请求,数据湖管理器908执行数据湖区域操作930以创建、修改或移除数据湖注册表架构900中的一个或多个数据湖(例如,数据湖915)和/或一个或多个数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)。在一些示例中,响应于接收到请求,数据湖管理器908执行数据湖区域操作930以向数据湖区域添加服务(例如,服务922)和/或从数据湖区域移除服务。在一些示例中,数据湖管理器908未在加速器(例如,加速器910)内实现。在此类示例中,数据湖管理器908可以替代地完全在软件中实现,并由通用CPU执行。
在图9的所图示示例中,第二边缘平台904实现辅助管理器A 912A以存储和管理数据湖915。辅助管理器A 912A执行包括数据湖表934的示例第一部分934A、示例第二接口A948A和示例第一注册逻辑950A的示例第一数据湖多租户逻辑(例如,第一租户逻辑)944A。第一部分934A包括与存储在第二边缘平台904中的一个或多个数据湖区域相对应的数据湖表934的条目。例如,数据湖表934的第一部分934A可以包括与数据湖区域A 917A和数据湖区域B 917B中的每一个相对应的数据湖区域ID 936、服务ID 937、密钥938和地址范围942。第二边缘平台904可以经由第二接口A 948A与第一边缘平台902和/或第三边缘平台906通信。
在图9所图示的示例中,第三边缘平台906实现辅助管理器B 912B以管理数据湖注册表架构900中的一个或多个服务(例如,服务922)对数据湖915的访问。第二管理器B 912B执行包括数据湖表934的示例第二部分934B、示例第二接口B 948B和示例第二注册逻辑950B的示例第二数据湖多租户逻辑(例如,第二租户逻辑)944B。辅助管理器B 912B在NIC920中实现,在一些示例中,该NIC 920可以是智能NIC。在此类示例中,NIC 920可以充当加速器,用于提高一个或多个网络协议的速度、提供增强的数据处理和/或在服务922的访问流中插入证明。第三边缘平台906可以经由第二接口B 948B与第一边缘平台902和/或第三边缘平台904通信。
在本文公开的示例中,示例数据湖管理器908、示例辅助管理器A 912A和/或示例辅助管理器B 912B由逻辑电路(诸如例如,硬件处理器)实现。然而,可以附加地或替代地使用任何其他类型的电路,诸如例如,一个或多个模拟电路或数字电路、逻辑电路、(多个)可编程处理器、(多个)专用集成电路(ASIC)、(多个)可编程逻辑器件(PLD)、(多个)现场可编程逻辑器件(FPLD)、(多个)数字信号处理器(DSP)、图形处理单元(GPU)等。
图10图示出由图9的数据湖注册表架构900实现的数据湖管理器908的框图。然而,图10的所图示示例还图示出参与图9的示例数据湖注册表架构900的任意数量的相应数据湖管理器的框图(例如,示例辅助管理器A 912A、示例辅助管理器B 912B等)。替代地,示例辅助管理器A 912A和/或示例辅助管理器B 912B可以由图11的所示示例表示和/或以其他方式实现,下面更详细地描述。数据湖管理器908包括示例请求分析器1000、示例位置选择器1002、示例服务授权器1004、示例密钥生成器1006、示例密钥分发器1008、示例定时控制器1010、耦合到图9的数据湖表934的示例数据湖表控制器1012,以及示例指令发送器1014。在一些示例中,请求分析器1000实现用于分析请求的装置(有时称为请求分析装置)。在一些示例中,位置选择器1002实现用于选择位置的装置(有时称为位置选择装置)。在一些示例中,服务授权器1004实现用于授权服务的装置(有时称为服务授权装置)。在一些示例中,密钥生成器1006实现用于生成密钥的装置(有时称为密钥生成装置)。在一些示例中,密钥分发器1008实现用于分发密钥的装置(有时称为密钥分发装置)。在一些示例中,定时控制器1010实现用于控制定时的装置(有时称为定时控制装置)。在一些示例中,数据湖表控制器1012实现用于控制数据湖表的装置(有时称为数据湖表控制装置)。
图10的示例请求分析器1000从图9的EIO 935接收和/或以其他方式检索请求并确定请求的类型。例如,请求分析器1000确定请求是否添加数据湖和/或添加数据湖区域、移除数据湖和/或移除数据湖区域、修改数据湖和/或修改数据湖区域,向数据湖注册表架构900添加服务,和/或从数据湖注册表架构900移除服务。响应于确定请求的类型,请求分析器1000调用和/或引导位置选择器1002、服务授权器1004、密钥生成器1006、密钥分发器1008、定时控制器1010、数据湖表控制器1012和/或指令发送器1014中的至少一个来执行请求,如下文进一步详细描述的。附加地或替代地,请求分析器1000可以从数据湖注册表架构900的服务(例如,服务922)和/或从边缘平台(例如,第二边缘平台904和/或第三边缘平台906)接收请求。
位置选择器1002从一个或多个边缘存储位置中(例如,图9的第一边缘平台902、第二边缘平台904和/或第三边缘平台906)选择数据湖(例如,图9的数据湖915)和/或数据湖区域(例如,图9的数据湖区域A 917A和/或数据湖区域B 917B)的位置。例如,响应于请求分析器1000从EIO 935接收创建新数据湖区域的请求,位置选择器1002选择一个或多个数据湖存储节点940来存储新数据湖区域,并且进一步从所选择的数据湖存储节点940内选择一个或多个地址范围942。位置选择器1002还响应于来自EIO 935的扩展或收缩现有数据湖区域的请求,为现有数据湖区域选择新位置。在一些示例中,位置选择器1002基于嵌入在请求中的标准(例如,数据湖和/或数据湖区域的大小)来选择位置。
在一些示例中,基于正在执行的请求或查询处理的类型来确定数据湖和/或数据湖区域的位置,其中请求或查询标识需要被访问的一个或多个数据部分。在一些示例中,查询与驻留在法国并且查询源自德国的订户相对应。在此类示例中,在执行查询的过程期间,将订户标识为在法国,并且与该订户相对应的订户记录包括法国的地区ID。因此,可以基于区域ID来选择法国的第一数据湖。或者,对于订户记录本地缓存在德国的第二数据湖中的示例,该第二数据湖更靠近查询的来源,可以选择第二数据湖而不是第一数据湖。在其他示例中,基于地理政治因素来选择数据湖和/或数据湖区域的位置(例如,从没有信息共享条约的国家列表中选择位置)。在一些其他示例中,基于对低成本托管站点的访问、对廉价功率的访问以及在非高峰时间期间的可用性来选择位置。
示例服务授权器1004确定服务(例如,图9的服务922)是否被授权访问数据湖注册表架构900中的一个或多个所选择的数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)。例如,服务授权器1004基于由图9的NIC 920插入的证明来确定服务922是否被授权。在一些示例中,服务授权器1004提供凭证(例如,RFC8366凭证)以将服务922注册为数据湖注册表架构900中的授权实体。在一些示例中,服务授权器1004确定服务922被授权访问哪些数据湖区域,以及为每个数据湖区域授予的访问级别。例如,服务授权器1004可以确定服务922是否可以读取、修改或写入数据湖区域A 917A和/或数据湖区域B 917B中的至少一个。
示例密钥生成器1006生成用访问于数据湖注册表架构900中的一个或多个数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)的密钥。在一些示例中,图10的密钥生成器1006执行图9的密钥生成逻辑928以生成与每个请求的数据湖区域相对应的区域特定的对称数据加密密钥(例如,RDEK、加密密钥)。在一些示例中,密钥生成器1006响应于新数据湖区域的创建而生成RDEK。响应于数据湖管理器908创建图9的数据湖915,密钥生成器1006生成与包括在数据湖915中的每个数据湖区域相对应的唯一RDEK。例如,密钥生成器1006生成用于数据湖区域A 917A的第一RDEK,以及用于数据湖区域B 917B的第二RDEK,其中第二RDEK不同于第一RDEK。响应于服务922被移除,密钥生成器1006还可以生成与数据湖区域A 917A和/或数据湖区域B 917B相对应的新RDEK。例如,密钥生成器1006确保和/或以其他方式管理对一个或多个数据湖和/或数据湖区域的适当访问。因此,虽然可以授权服务922访问特定数据湖区域,但是可以响应于服务922不再需要访问该数据湖区域而撤销此类访问。
此外,密钥生成器1006可以通过为参与数据湖注册表架构900的每个租户(例如,图2的第一租户232和/或第二租户234)生成租户特定的非对称密钥包装密钥(KWK),来促进对数据湖和/或数据湖区域的甚至更精细的粒度控制。在此类示例中,使用相对应的KWK包装RDEK以保护RDEK在RDEK的供应和存储期间不被未授权实体使用。在一些示例中,KWK可以绑定到受信任执行环境(TEE),诸如受信任域扩展(TDX)、软件保护扩展(SGX)或信任根(例如,DICE),使得RDEK仅在TEE内部可见。例如,边缘设备可以在强化环境内实现加速器(例如,图9的第一加速器910和/或第二加速器916)以减少RDEK向物理拥有边缘设备的潜在攻击者的暴露。
在一些示例中,密钥生成器1006可以生成特定于数据湖区域的种子值。在此类示例中,种子值用于获得特定于存储数据湖区域的边缘设备的RDEK。特定于边缘设备的RDEK可用于在边缘设备上本地加密和/或解密数据。在一些示例中,种子值可以存储在边缘设备的防篡改硬件中(诸如物理不可克隆功能(PUF)),以防止响应于物理攻击而暴露种子值。附加地或替代地,存储在数据湖区域中的数据的副本可以存储在第二位置(例如,第二边缘设备或第二数据湖区域)以确保在对边缘设备进行物理攻击的情况下数据仍然可供服务访问。
在一些示例中,密钥生成器1006生成与数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)相对应的同态加密密钥。在此类示例中,具有同态加密密钥的服务(例如,服务922)对来自数据湖区域的数据进行访问和/或执行计算。例如,具有同态加密密钥的服务922可以在不首先使用RDEK解密数据的情况下对经加密数据执行计算。在一些此类示例中,对数据的结果计算也被加密。对于其中服务922具有对数据湖区域的部分访问(例如,仅同态访问)的示例,向服务922提供同态加密密钥。在此类示例中,服务922可以使用同态加密密钥解密数据,但不完全解密数据以读取或写入数据湖区域。特别地,示例服务922仅访问数据的某些部分、数据的特定值和/或来自数据湖区域的经加密数据。或者,对于服务922具有对数据湖区域的完全访问(例如,可以读取和/或写入)的示例,向服务922提供同态加密密钥和与数据湖区域相对应的RDEK两者。因此,服务922对来自数据湖区域的数据解密两次,首先使用同态加密密钥,然后使用RDEK。
示例密钥分发器1008将密钥生成器1006生成的密钥分发到数据湖注册表架构900的一个或多个边缘存储位置(例如,第一边缘平台902、第二边缘平台904和/或第三边缘平台906)。对于在服务922被授权访问数据湖区域A 917A的示例中,响应于密钥生成器1006为数据湖区域A 917A生成新的RDEK,密钥分发器1008将新的RDEK发送到托管服务922的边缘设备(例如,第三边缘平台906)。此外,在此类示例中,密钥分发器1008将新RDEK发送到存储数据湖区域A 917A的第二边缘平台904以供辅助管理器A 912A用来加密和/或解密数据湖区域A 917A的数据。在一些示例中,响应于向数据湖注册表架构900添加新服务,密钥分发器1008确定与新服务可访问的数据湖区域相对应的RDEK集,然后使用由密钥生成器1006为新服务生成的KWK来包装该RDEK集。密钥分发器1008将包装的RDEK集和KWK发送到托管新服务的边缘设备。附加地或替代地,密钥分发器1008可以将与数据湖区域A 917A相对应的同态加密密钥发送到托管服务922的边缘设备和/或存储数据湖区域A 917A的第二边缘平台904。
示例定时控制器1010确定数据湖注册表架构900中的一个或多个数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)的持续期。例如,定时控制器1010确定自创建数据湖区域A 917A以来已经过去的时间量。响应于确定时间量超过与数据湖区域A 917A相对应的阈值持续期,定时控制器1010确定数据湖区域A 917A已经到期。响应于定时控制器1010确定数据湖区域A 917A已经到期,数据湖管理器908可以采取不同的措施(诸如经由结合以下图14描述的过程从数据湖注册表架构900中移除数据湖区域A 917A)来确保数据湖完整性和/或安全性。在一些示例中,数据湖注册表架构900中的每个数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)可以具有不同的持续期(例如,阈值持续期值)。在其他示例中,数据湖区域A 917A可以具有不确定的持续期(例如,在预定持续期之后不移除数据湖区域A 917A)。在此类示例中,响应于请求分析器1000接收到来自EIO 935的请求,定时控制器1010可以从数据湖注册表架构900中移除数据湖区域A 917A。
示例数据湖表控制器1012生成、移除和/或修改数据湖表934的条目。例如,响应于请求分析器1000接收来自EIO 935的创建新数据湖区域的请求,数据湖表控制器1012生成具有与新数据湖区域相对应的参数的新条目。这些参数包括但不限于数据湖区域ID 936、与新数据湖区域相对应的密钥938(例如,RDEK和/或同态加密密钥)、新数据湖区域的位置(例如,一个或多个数据湖存储节点940和地址范围942),以及与有权访问新数据湖区域的服务相对应的服务ID 937。或者,响应于请求分析器1000接收到来自EIO 935的移除数据湖区域的请求,数据湖表控制器1012可以从数据湖表934中移除条目。在一些示例中,数据湖表控制器1012可以响应于服务被添加到数据湖区域或被从数据湖区域移除而修改数据湖表934中的条目。例如,响应于新服务被添加到数据湖区域A 917A,数据湖表控制器1012可以将新服务的服务ID 937添加到与数据湖区域A 917A相对应的条目。或者,响应于从数据湖区域A 917A移除到期服务,数据湖表控制器1012可以从条目中移除到期服务的服务ID937。数据湖表控制器1012还可以响应于密钥生成器1006为数据湖区域A 917A生成新的RDEK,和/或响应于位置选择器1002修改(例如,扩展或收缩)数据湖区域A 917A的存储位置而修改条目。
在一些示例中,响应于生成、移除和/或修改数据湖表934的一个或多个条目,数据湖表控制器1012可以将数据湖表934或数据湖表934的一部分传播到数据湖注册表架构900中的每个边缘平台。附加地或替代地,数据湖表控制器1012可被配置和/或以其他方式构造成周期性地(例如、每小时、每天等)传播数据湖表934或数据湖表934的一部分。
示例指令发送器1014向第二边缘平台904的辅助管理器A 912A和/或第三边缘平台906的辅助管理器B 912B发送指令和/或信息。例如,响应于请求分析器1000从EIO 935接收创建数据湖区域A 917A的请求,指令发送器1014向辅助管理器A 912A发送指令以使用由密钥生成器1006生成的相对应RDEK来加密数据湖区域A 917A中的数据。在其他示例中,响应于定时控制器1010确定数据湖区域A 917A到期,指令发送器1014向第二管理器A 912A发送指令以移除和/或删除数据湖区域A 917A中的数据。在一些示例中,响应于请求分析器1000从EIO 935接收从数据湖区域A 917A移除服务(例如,服务922)的请求,指令发送器1014向第二管理器A 912A发送指令以使用当前RDEK解密来自数据湖区域A 917A的数据,并使用由密钥分发器1008分发的新RDEK加密数据。在其他示例中,指令发送器1014可以引导辅助管理器A 917A和/或辅助管理器B 917B进行以下中的至少一者:暂时暂停对数据湖区域的访问、加密或解密数据湖区域的数据、或更新存储在第二边缘平台904和/或第三边缘平台906中的数据湖表934。
尽管图10中图示出实现图9的数据湖管理器908的示例方式,但图10中所图示的元件、过程和/或设备中的一个或多个可以被组合、拆分、重新布置、省略、消除和/或以任何其他方式被实现。进一步地,可由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现图10的示例请求分析器1000、示例位置选择器1002、示例服务授权器1004、示例密钥生成器1006、示例密钥分发器1008、示例定时控制器1010、示例数据湖表控制器1012、示例指令发送器1014,和/或更一般地,示例数据湖管理器908。因此,例如,可由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元((多个)GPU)、(多个)数字信号处理器((多个)DSP)、(多个)专用集成电路((多个)ASIC)、(多个)可编程逻辑器件((多个)PLD)和/或(多个)现场可编程逻辑器件((多个)FPLD)实现示例请求分析器1000、示例位置选择器1002、示例服务授权器1004、示例密钥生成器1006、示例密钥分发器1008、示例定时控制器1010、示例数据湖表控制器1012、示例指令发送器1014,和/或更一般地,示例数据湖管理器908中的任一项。当阅读涵盖纯软件和/或固件实现的本专利的装置或系统权利要求中的任一项时,示例请求分析器1000、示例位置选择器1002、示例服务授权器1004、示例密钥生成器1006、示例密钥分发器1008、示例定时控制器1010、示例数据湖表控制器1012或示例指令发送器1014中的至少一个由此被明确地限定为包括包含软件和/或固件的非瞬态计算机可读存储设备或存储盘(诸如,存储器、数字多功能盘(DVD)、紧凑盘(CD)、蓝光盘等等)。更进一步地,图9的示例数据湖管理器908可包括作为图10中所图示的那些元件、过程和/或设备的附加或替代的一个或多个元件、过程和/或设备,和/或可包括任何或全部所图示的元件、过程和/或设备中的多于一个元件、过程和设备。如本文所使用,短语“进行通信”(包括其各种变体)包含直接通信和/或通过一个或多个中间组件的间接通信,并且不需要直接的物理(例如,有线)通信和/或持续通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔、和/或一次性事件来进行的选择性通信。
图11图示出由图9的数据湖注册表架构900实现的示例辅助管理器912(例如,辅助管理器A 912A和/或辅助管理器B 912B)的框图。在图11所示的示例中,辅助管理器912执行来自数据湖管理器908(例如,初级管理器)和/或来自服务922的指令以加密和/或解密来自图9的数据湖915的数据。辅助管理器912包括图9的数据湖表934、示例指令分析器1100、示例服务标识符1102、示例数据检索器1104、示例密钥管理器1106、示例数据加密器1108、示例数据解密器1110和示例数据发送器1112。在一些示例中,指令分析器1100实现用于分析指令的装置(有时称为指令分析装置)。在一些示例中,服务标识符1102实现用于标识服务的装置(有时称为服务标识装置)。在一些示例中,数据检索器1104实现用于检索数据的装置(有时称为数据检索装置)。在一些示例中,密钥管理器1106实现用于管理密钥的装置(有时称为密钥管理装置)。在一些示例中,数据加密器1108实现用于加密数据的装置(有时称为数据加密装置)。在一些示例中,数据解密器1110实现用于解密数据的装置(有时称为数据解密装置)。在一些示例中,数据发送器1112实现用于发送数据的装置(有时称为数据发送装置)。
在操作中,示例指令分析器1100从数据湖管理器908和/或从服务922接收指令。响应于接收指令,指令分析器1100引起和/或引导服务标识符1102、数据检索器1104、密钥管理器1106、数据加密器1108、数据解密器1110或数据发送器1112中的至少一个执行指令。指令可以包括从数据湖区域(例如,图9的数据湖区域A 917A和/或数据湖区域B 917B)向服务922读取数据、将新数据从服务922写入到数据湖区域,并且响应于数据湖管理器908为数据湖区域生成新的RDEK而重新加密数据湖区域中的数据中的至少一个。
示例服务标识符1102标识从数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)读取、写入和/或以其他方式访问的服务(例如,服务922))。例如,服务标识符1102通过标识与数据湖区域A 917A相对应的数据湖表934的条目来确定服务922是否被授权访问数据湖区域A 917A。服务标识符1102标识与服务922对应的服务ID 937,然后确定服务ID 937是否包括在与数据湖区域A 917A相对应的数据湖表条目中。响应于确定数据湖表条目包括与服务922相对应的服务ID 937,服务标识符1102确定服务922被授权访问数据湖区域A 917A。或者,响应于服务标识符1102无法标识服务ID 937和/或在数据湖表条目中定位所标识的服务ID 937,服务标识符1102确定服务922未被授权访问数据湖区域A 917A,从而防止服务922从数据湖区域A 917A进行读取和/或向数据湖区域A 917A进行写入。
示例数据检索器1104从数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B917B)和/或从服务(例如,服务922)检索数据。在一些示例中,数据检索器1104从与数据湖区域A 917A相对应的数据湖表934的条目获得数据湖区域A 917A的位置(例如,地址范围942)。例如,响应于指令分析器1100从服务922接收指令以从数据湖区域A 917A读取数据,数据检索器1104检索存储在与数据湖区域A 917A相对应的位置处的数据。在其他示例中,响应于指令分析器1100从数据湖管理器908接收指令以重新加密数据湖区域A 917A中的数据,数据检索器1104检索数据。
示例密钥管理器1106标识与数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)相对应的加密密钥(例如,RDEK)。在一些示例中,响应于指令分析器1100从服务922接收指令以从数据湖区域A 917A读取新数据和/或向数据湖区域A 917A写入新数据,密钥管理器1106从与数据湖区域A 917A相对应的数据湖表934的条目中标识和/或检索与数据湖区域A 917A相对应的当前RDEK。在此类示例中,密钥管理器1106响应于服务922写入新数据而将当前RDEK发送到数据加密器1108,和/或响应于服务922读取数据而将当前RDEK发送到数据解密器1110。在其他示例中,响应于数据湖管理器908生成与数据湖区域A 917A相对应的新RDEK(例如,从数据湖区域A 917A移除服务922),密钥管理器1106除了从数据湖表934中检索当前RDEK之外,还从数据湖管理器908接收新RDEK。在此类示例中,密钥管理器1106将当前RDEK发送到数据解密器1110并将新RDEK发送到数据加密器1108。在一些示例中,密钥管理器1106可以响应于指令分析器1100接收到的指令而添加、修改和/或删除数据湖表934中的RDEK。附加地或替代地,密钥管理器1106可以从数据湖表934的一个或多个条目中标识、接收和/或以其他方式检索与数据湖区域A 917A和/或数据湖区域B 917B相对应的同态加密密钥。在一些此类示例中,密钥管理器1106可以将同态加密密钥发送到数据解密器1110和/或数据加密器1108。
示例数据加密器1108加密数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)中的数据。例如,响应于服务922将新数据写入数据湖区域A 917A,数据加密器1108从密钥管理器1106接收与数据湖区域A 917A相对应的RDEK并使用RDEK加密新数据。附加地或替代地,数据加密器1108使用来自密钥管理器1106的同态加密密钥来加密数据湖区域中的数据。
或者,示例数据解密器1110解密来自数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)的数据。例如,响应于服务922从数据湖区域A 917A读取数据,数据解密器1110从数据检索器1104接收数据并从密钥管理器1106接收与数据湖区域A 917A相对应的当前RDEK,然后使用当前RDEK解密数据。在一些示例中,响应于数据湖管理器908从数据湖区域A917A中移除服务922,数据解密器1110使用当前RDEK解密数据,然后数据加密器1108使用从密钥管理器1106接收到的新RDEK来加密数据。在一些示例中,数据加密器1108和/或数据解密器1110可以在加速器(例如,图9的第一加速器910和/或第二加速器916)内部实现以加速数据的加密和/或解密。附加地或替代地,示例数据解密器1110使用来自密钥管理器1106的同态加密密钥来解密数据湖区域中的数据。
数据发送器1112将数据发送到数据湖区域(例如,数据湖区域A917A和/或数据湖区域B 917B)和/或从数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)发送数据。例如,响应于服务922从数据湖区域A 917A请求数据,数据发送器1112将数据解密器1110解密的数据发送到服务922。或者,响应于服务922将新数据写入到在数据湖区域A917A中,数据发送器1112将数据加密器1108加密的新数据发送到数据湖区域A 917A的位置。在此类示例中,数据发送器1112基于与数据湖区域A 917A相对应的数据湖表934的条目来确定位置。
尽管图11中图示出实现图9的辅助管理器912的示例方式,但图11中所图示的元件、过程和/或设备中的一个或多个可以被组合、拆分、重新布置、省略、消除和/或以任何其他方式被实现。此外,图11的示例指令分析器1100、示例服务标识符1102、示例数据检索器1104、示例密钥管理器1106、示例数据加密器1108、示例数据解密器1110、示例数据发送器1112和/或更一般的示例辅助管理器912可由硬件、软件、固件和/或硬件、软件和/或固件的任何组合实现。因此,例如,可由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元((多个)GPU)、(多个)数字信号处理器((多个)DSP)、(多个)专用集成电路((多个)ASIC)、(多个)可编程逻辑器件((多个)PLD)和/或(多个)现场可编程逻辑器件((多个)FPLD)实现示例指令分析器1100、示例服务标识符1102、示例数据检索器1104、示例密钥管理器1106、示例数据加密器1108、示例数据解密器1110、示例数据发送器1112和/或更一般的示例辅助管理器912中的任一项。当阅读涵盖纯软件和/或固件实现的本专利的装置或系统权利要求中的任一项时,示例指令分析器1100、示例服务标识符1102、示例数据检索器1104、示例密钥管理器1106、示例数据加密器1108、示例数据解密器1110或示例数据发送器1112中的至少一个由此被明确地限定为包括包含软件和/或固件的非瞬态计算机可读存储设备或存储盘(诸如,存储器、数字多功能盘(DVD)、紧凑盘(CD)、蓝光盘等等)。更进一步地,图9的示例辅助管理器912可包括作为图11中所图示的那些元件、过程和/或设备的附加或替代的一个或多个元件、过程和/或设备,和/或可包括任何或全部所图示的元件、过程和/或设备中的多于一个元件、过程和设备。如本文所使用,短语“进行通信”(包括其各种变体)包含直接通信和/或通过一个或多个中间组件的间接通信,并且不需要直接的物理(例如,有线)通信和/或持续通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔、和/或一次性事件来进行的选择性通信。
返回图9,辅助管理器A 912A和辅助管理器B 912B与数据湖管理器908(例如,主管理器)协同工作以管理数据湖注册表架构900。例如,数据湖管理器908控制创建、移除和/或修改跨数据湖注册表架构900中的边缘平台(例如,第一边缘平台902、第二边缘平台904和/或第三边缘平台906)的数据湖和/或数据湖区域。或者,辅助管理器A 912A和辅助管理器B912B分别管理存储在第二边缘平台904和第三边缘平台906上的数据的加密和解密。在一些示例中,数据湖管理器908在主边缘节点(例如,第一边缘平台902)上实现,并且辅助管理器912之一在数据湖注册表架构900中的每个附加边缘平台和/或辅助边缘节点上实现。
在图9所示的示例中,数据湖管理器908可以响应于来自EIO 935的请求而创建新的数据湖区域(例如,数据湖区域A 917A)。例如,图10的请求分析器1000从EIO 935接收请求并确定该请求包括创建数据湖区域A 917A的指令。图10的位置选择器1002定义了与数据湖区域A 917A相对应的数据湖区域参数。例如,数据区域参数包括数据湖区域ID 936、一个或多个数据湖存储节点940以及与数据湖区域A 917A相对应的地址范围942。例如,数据湖存储节点940可以是第二边缘平台904,并且地址范围942可以定义存储914内的位置。在一些示例中,位置选择器1002基于一个或多个边缘平台中的可用存储和/或基于来自EIO 935的指令来选择位置。
图10的密钥生成器1006然后执行密钥生成逻辑928以生成与新数据湖区域相对应的新RDEK。密钥分发器1008将新RDEK发送到存储数据湖区域A 917A的边缘存储节点(例如,第二边缘平台904)。在一些示例中,必须小心保护新的数据湖区域不受一般访问和/或不受特定设备的影响。例如,一些数据湖和/或数据湖区域包含敏感信息,如果将这些信息暴露给未经授权的设备和/或个人,将违反管辖法规(例如,通用数据保护条例(GDRP))。在一些示例中,图10的指令发送器1014指示第二边缘平台904使用新RDEK加密数据湖区域A 917A中的数据。因此,RDEK的特定分发有助于遵守一项或多项安全法规(例如,GCRP)。此外,图10的数据湖表控制器1012生成与新数据湖区域相对应的数据湖表934的新条目,其中新条目包括数据湖区域参数和新RDEK。在一些示例中,数据湖表控制器1012将数据湖表934和/或数据湖表934的一部分(例如,第一部分934A)发送到边缘存储节点(例如,第二边缘平台904)。在一些示例中,在创建数据湖区域A 917A时,图10的定时控制器1010可以向数据湖区域A 917A分配持续期(例如,时间长度)。
附加地或替代地,数据湖管理器908可以扩展或收缩现有的数据湖区域(例如,数据湖区域A 917A)。例如,请求分析器1000从EIO 935接收扩展数据湖区域A 917A的请求。在此类示例中,位置选择器1002在第二边缘平台904的存储914内定义新地址范围942A。在一些示例中,新地址范围942A与不同边缘平台(例如,第一边缘平台902和/或第三边缘平台906)上的存储位置相对应。数据湖表控制器1012更新与数据湖区域A 917A相对应的数据湖表934的条目以包括新地址范围942A。对于现有数据湖区域扩展到新边缘平台(例如,第三边缘平台906)的示例,密钥分发器1008基于数据湖表934来标识与数据湖区域A 917A相对应的RDEK,并且将RDEK发送到新边缘平台。此外,数据湖表控制器1012更新与数据湖区域A917A相对应的数据湖表934的条目以包括数据湖存储节点940中的新边缘平台。
在图9所示的示例中,数据湖管理器908可以从数据湖注册表架构900移除和/或删除数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)。在一些示例中,数据湖区域在到期后被移除,到期发生在从数据湖区域的创建起经过一时间持续期之后。在一些示例中,与数据湖区域相对应的持续期可以在数据湖区域创建时由定时控制器1010确定。在一些示例中,数据湖注册表架构900中的每个数据湖区域可以具有不同的持续期。例如,定时控制器1010可以将第一持续期分配给数据湖区域A 917A并且将第二持续期分配给数据湖区域B 917B,其中第二持续期不同于第一持续期。
响应于定时控制器1010确定数据湖区域已到期,指令发送器1014可以向参与方租户和/或有权访问该数据湖区域的服务通知该数据湖区域将被移除。在一些示例中,在移除和/或删除数据湖区域之前,可以将来自数据湖区域的数据的副本迁移到数据湖注册表架构900中的第二位置。为了从第二边缘平台904中移除数据湖区域A 917A,指令发送器1014指示辅助管理器A 912A删除存储在数据湖区域A 917A中的现有数据,并从数据湖表934的第一部分934A中删除与数据湖区域A 917A相对应的RDEK。在一些示例中,数据湖区域A917A可以用新数据覆盖,而不是辅助管理器A 912A来覆写现有数据。在一些示例中,数据湖表控制器1012更新数据湖表934以删除与数据湖区域A 917A相对应的数据湖表934的条目。
在图9所示的示例中,数据湖管理器908可以向数据湖注册表架构900中的数据湖区域添加新服务。例如,请求分析器1000可以接收来自EIO 935的请求以将服务922添加到数据湖区域917A。在此类示例中,请求包括服务922的服务ID 937和与数据湖区域A 917A相对应的数据湖区域ID 936。响应于请求分析器1000接收到请求,服务授权器1004可以确定服务922是否被授权访问数据湖区域A 917A。例如,服务授权器1004基于由NIC 920实现的证明来确定服务922是否被授权访问和/或确定授予服务922的访问级别。
在一些示例中,NIC 920可以生成标识拥有数据湖区域A 917A的实体的凭证(例如,RFC8366凭证)。可以使用不同的凭证来标识可以读取和修改数据的实体,和/或可以读取但不能修改数据的实体。例如,NIC 920响应来自EIO 935的请求而向参与实体(例如,服务922)提供凭证。
在一些示例中,数据湖表934包括用于服务ID 937中的每一个的标签以指示针对数据湖区域A 917A向服务922授予的访问级别。例如,数据湖表934可包括用于指示服务922可从数据湖区域A 917A读取数据的第一标签、用于指示服务922可将数据写入数据湖区域A917A的第二标签、和/或用于指示服务922可以修改数据湖区域A 917A的数据的第三标签。
响应于服务授权器1004确定服务922被授权,数据湖表控制器1012从数据湖表934中获取与数据湖区域A 917A相对应的RDEK。密钥分发器1008将RDEK发送到托管服务922的边缘设备(例如,第三边缘平台906)。在一些示例中,密钥生成器1006生成与服务922相对应的KWK,并且密钥分发器1008在将RDEK发送到服务922之前使用KWK来包装RDEK。在此类示例中,密钥分发器1008将包装的RDEK和KWK两者发送到服务922和/或第三边缘平台906。在一些示例中,数据湖表控制器1012更新与数据湖区域A 917A相对应的数据湖表934的条目以包括服务922的服务ID 937。
在一些示例中,数据湖管理器908可以从数据湖区域(例如,数据湖区域A 917A)移除服务(例如,服务922)。例如,请求分析器1000接收来自EIO 935的、将服务922从数据湖区域917A中移除的请求。当然,在移除服务后,仍然存在问题,即之前使用该服务的设备仍然可以访问数据湖和/或数据湖区域。为了解决此类问题,并且响应于请求分析器1000接收到移除服务922的请求,密钥生成器1006为从中移除服务922的数据湖区域A 917A生成新的RDEK。密钥分发器1008向当前参与数据湖区域A 917A的每个服务发送新RDEK,除了被移除的服务922。在一些示例中,指令发送器1014向参与方服务通知暂时暂停访问数据湖区域A917A。响应于参与服务暂停访问,密钥分发器1008将新RDEK发送到存储数据湖区域A 917A的每个边缘存储设备(例如,第二边缘平台904)。
在接收到新RDEK时,第二边缘平台904的辅助管理器A 912A使用与数据湖区域A917A相对应的当前RDEK解密来自数据湖区域A 917A的数据,并使用新RDEK重新加密该数据。在此类示例中,不能再使用旧RDEK解密来自数据湖区域A 917A的数据,因此,已被移除的服务922被阻止从数据湖区域A 917A读取和/或向数据湖区域A 917A写入。在使用新RDEK重新加密数据时,指令发送器1014通知参与服务可以恢复对数据湖区域A 917A的访问。在一些示例中,数据湖表控制器1012从与数据湖区域A 917A相对应的数据湖表934的条目中移除服务922的服务ID 937。
在图9所示的示例中,图11的辅助管理器912(例如,辅助管理器A 912A和/或辅助管理器B 912B)在第二边缘平台904和第三边缘平台906中的每一个处实现以提供一个或多个服务(例如,服务922)对数据湖915的访问。例如,辅助管理器912允许服务922从数据湖区域(例如,数据湖区域A 917A)读取数据。在一个示例中,服务922向图11的指令分析器1100发送从数据湖区域A 917A读取数据的请求,其中请求包括与数据湖区域A 917A相对应的数据湖区域ID 936和服务922的服务ID 937。
响应于指令分析器1100接收到请求,图11的服务标识符1102确定服务922是否被授权从数据湖区域A 917A读取。例如,服务标识符1102标识与数据湖区域A 917A相对应的数据表的条目,并响应于确定条目包括服务922的服务ID 937和/或包括指示读取数据的授权的标签而确定服务922被授权从数据湖区域A 917A中读取。图11的数据检索器1104基于在数据湖表934的条目中标识的位置(例如,数据湖存储节点940和地址范围942)来从数据湖区域A 917A中检索数据。图11的密钥管理器1106从数据湖表934的条目中获得与数据湖区域A 917A相对应的RDEK。图11的数据解密器1110从数据检索器1104接收数据并从密钥管理器1106接收RDEK,然后使用RDEK解密数据。响应于数据解密器1110解密数据,图11的数据发送器1112将经解密的数据发送到服务922以供读取。附加地或替代地,响应于服务标识符1102确定服务922具有对数据湖区域A 917A的同态访问,示例数据解密器1110可以使用来自密钥管理器1106的同态加密密钥来解密数据。
在一些示例中,辅助管理器912允许服务922将新数据写入数据湖区域A 917A。在一个示例中,服务922向指令分析器1100发送向数据湖区域A 917A写入新数据的请求,其中该请求包括与数据湖区域A 917A相对应的数据湖区域ID 936、服务922的服务ID 937,以及服务922写入的未经加密的新数据。响应于指令分析器1100接收到请求,服务标识符1102确定服务922是否被授权写入数据湖区域A 917A。例如,服务标识符1102标识与数据湖区域A917A相对应的数据表的条目,并响应于确定条目包括服务922的服务ID 937和/或包括指示写入数据的授权的标签而确定服务922被授权写入数据湖区域A 917A。密钥管理器1110从数据湖表934的条目中获得与数据湖区域A 917A相对应的RDEK。数据加密器1108从指令分析器1100接收未经加密的新数据并从密钥管理器1106接收RDEK,然后使用RDEK加密新数据。数据发送器1112然后将经加密的新数据发送到数据湖区域A 917A以供存储。附加地或替代地,响应于示例服务标识符1102确定服务922具有对数据湖区域A 917A的同态访问,示例数据加密器1108可以使用来自密钥管理器1106的同态加密密钥来加密数据。
图12、图13、图14、图15、图16、图17和/或图18中示出了表示用于实现图9的数据湖管理器908和/或辅助管理器912的示例硬件逻辑、机器可读指令、硬件实现的状态机、和/或其任何组合的流程图。机器可读指令可以是用于由计算机处理器和/或处理器电路执行的一个或多个可执行程序或可执行程序的(多个)部分,计算机处理器和/或处理器电路诸如上文结合图7B所讨论的示例处理器平台750中示出的处理器752。程序可被具体化在存储于与处理器752相关联的诸如CD-ROM、软盘、硬驱动器、DVD、蓝光盘或存储器之类的非瞬态计算机可读存储介质上的软件中,但是整个程序和/或其部分可替代地由除处理器752之外的设备执行,和/或被具体化在固件或专用硬件中。此外,虽然参考图12、图13、图14、图15、图16、图17和/或图18所图示的流程图描述了示例程序,但是可替代地使用实现示例数据湖管理器908和/或辅助管理器912的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。附加地或替代地,框中的任何框或所有框可以由被构造成在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现。处理器电路系统可以分布在不同的网络位置和/或位于一个或多个设备的本地(例如,单个机器中的多核处理器、跨服务器机架分布的多个处理器等)。
本文中描述的机器可读指令能以压缩格式、加密格式、分段格式、编译格式、可执行格式、封装格式等中的一种或多种来存储。本文描述的机器可读指令可以作为可用于创建、制造和/或产生机器可执行指令的数据或数据结构(例如,指令的部分、代码、代码表示等)来存储。例如,机器可读指令可以被分段并被存储在位于网络或网络集合(例如,在云中、在边缘设备中等)中的相同或不同位置的一个或多个存储设备和/或计算设备(例如,服务器)上。机器可读指令可能需要安装、修改、适配、更新、组合、补充、配置、解密、解压缩、拆包、分发、重新分配、编译等中的一项或多项,以使得它们由计算设备和/或其他机器直接可读取、可解释、和/或可执行。例如,机器可读指令可以存储在多个部分中,这些部分被单独压缩、加密并存储在单独的计算设备上,其中,这些部分在被解密、解压缩和组合时形成实现如本文所述的实现可以一起形成程序的一个或多个功能的指令的一组可执行指令。
在另一示例中,机器可读指令可以以它们可被处理器电路读取的状态存储,但是需要添加库(例如,动态链接库(DLL))、软件开发工具包(SDK)、应用编程接口(API)等,以便在特定的计算设备或其他设备上执行指令。在另一个示例中,在可整体或部分地执行机器可读指令和/或对应的(多个)程序之前,可能需要配置机器可读指令(例如,存储的设置、数据输入、记录的网络地址等)。因此,如本文所使用,机器可读介质可以包括机器可读指令和/或(多个)程序,而不管机器可读指令和/或(多个)程序在存储时或以其他方式处于静态或在传输中时的特定格式或状态如何。
本文所描述的机器可读指令可以由任何过去、现在或将来的指令语言、脚本语言、编程语言等表示。例如,机器可读指令可以用以下语言中的任何一种语言来表示:C、C++、Java、C#、Perl、Python、JavaScript、超文本标记语言(HTML)、结构化查询语言(SQL)、Swift等。
如上文所提及,可使用存储于非瞬态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)来实现图12、图13、图14、图15、图16、图17和/或图18的示例过程,非瞬态计算机和/或机器可读介质诸如:硬盘驱动器、闪存、只读存储器、紧凑盘、数字多功能盘、高速缓存、随机存取存储器和/或在任何持续期内(例如,在扩展时间段内、永久地、在简短的实例期间、在临时缓冲和/或对信息的高速缓存期间)将信息存储于其内的任何其他存储设备或存储盘。如本文中所使用,术语非瞬态计算机可读介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号且排除传输介质。
“包含”和“包括”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求将任何形式的“包含”和“包括”(例如,包括、包含、包括有、包含有、具有等)用作前序部分或用于任何种类的权利要求记载内容之中时,要理解的是,附加的要素、项等可以存在而不落在对应权利要求或记载的范围之外。如本文中所使用,当短语“至少”被用作例如权利要求的前序部分中的过渡术语时,它是和术语“包含”和“包括”一样的开放式的。当例如以诸如A、B和/或C之类的形式被使用时,术语“和/或”指的是A、B、C的任何组合或子集,诸如(1)单独的A、(2)单独的B、(3)单独的C、(4)A与B、(5)A与C、(6)B与C、以及(7)A与B及与C。如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“A和B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。类似地,如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“A或B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。如本文中在描述过程、指令、动作、活动和/或步骤的处理或执行的上下文中所使用,短语“A和B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。类似地,如本文中在描述过程、指令、动作、活动和/或步骤的处理或执行的上下文中所使用,短语“A或B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。
如本文所使用,单数引用(例如,“一个(a、an)”、“第一”、“第二”等)不排除复数。本文所使用的术语“一个(a或an)”实体是指一个或多个该实体。术语“一个(a)”(或“一个(an)”)、“一个或多个”和“至少一个”可以在本文中互换使用。此外,尽管单独列出,但多个装置、元件或方法动作可由例如单个单元或处理器来实现。另外,虽然各个特征可以被包括在不同的示例或权利要求中,但是这些特征可能被组合,并且在不同的示例或权利要求中的包含并不意味着特征的组合是不可行和/或不是有利的。
图12是表示可被执行来实现图9和/或图10的示例数据湖管理器908以管理图9的数据湖注册表架构900的机器可读指令1200的流程图。图12的示例指令1200开始于示例数据湖管理器908由EIO 935被安装在图9的第一边缘平台902中和/或由其调用。
在框1202处,示例数据湖管理器908确定是否创建数据湖区域。例如,响应于请求分析器1000从图9的EIO 935接收请求,以创建数据湖区域(例如,框1202返回“是”的结果),过程1200进行到框1204。或者,响应于示例请求分析器1000未从EIO 935接收到创建数据湖区域的请求(例如,框1202返回“否”的结果),过程1200进行到框1206。
在框1204处,示例数据湖管理器908创建数据湖区域,如以下结合图13所描述的。
在框1206处,示例数据湖管理器908确定是否移除数据湖注册表架构900中的数据湖区域。例如,响应于请求分析器1000从EIO 935接收到移除数据湖区域的请求(例如,框1206返回“是”的结果),过程1200进行到框1208。或者,响应于示例请求分析器1000未从EIO935接收到移除数据湖区域的请求(例如,框1206返回“否”的结果),过程1200进行到框1210。
在框1208处,示例数据湖管理器908移除数据湖区域,如以下结合图14所描述的。
在框1210,示例数据湖管理器908确定是否向数据湖注册表架构900中的数据湖区域添加服务(例如,图9的服务922)。例如,响应于请求分析器1000从EIO 935接收到向数据湖区域添加服务的请求(例如,框1210返回“是”的结果),过程1200进行到框1212。或者,响应于示例请求分析器1000未从EIO 935接收到向数据湖区域添加服务的请求(例如,框1210返回“否”的结果),过程1200进行到框1214。
在框1212处,示例数据湖管理器908向数据湖区域添加服务,如以下结合图15所描述的。
在框1214处,示例数据湖管理器908确定是否从数据湖区域移除服务。例如,响应于请求分析器1000从EIO 935接收到从数据湖区域中移除服务的请求(例如,框1214返回“是”的结果),过程1200进行到框1216。或者,响应于示例请求分析器1000未从EIO 935接收到从数据湖区域中移除服务请求(例如,框1214返回“否”的结果),过程1200进行到框1218。
在框1216处,示例数据湖管理器908从数据湖区域中移除服务,如以下结合图16所描述的。
在框1218,示例数据湖管理器908确定是否继续监控数据湖注册表架构900。例如,响应于请求分析器1000基于从EIO 935接收到另一个请求而确定继续监控数据湖注册表架构900(例如,框1218返回“是”的结果),过程1200返回到框1202。或者,响应于示例请求分析器1000基于未从EIO 935接收到另一个请求而确定不继续监控数据湖注册表架构900(例如,框1218返回“否”的结果),过程1200结束。
图13是表示机器可读指令1300的流程图,该指令可以被结合图12的框1204执行来实现图9和/或图10的示例数据湖管理器以创建新的数据湖区域(例如,数据湖区域A 917A和/或数据湖区域B 917B)。示例数据湖管理器908的示例请求分析器1000从EIO 935接收到创建新数据湖区域的请求时,指令1300开始。
在框1302,示例数据湖管理器908定义新数据湖区域的数据湖区域参数。例如,图10的位置选择器1002定义了数据湖区域参数,数据湖区域参数包括与新数据湖区域相对应的数据湖区域ID 936、用于存储新数据湖区域的一个或多个数据湖存储节点940、以及定义一个或多个数据湖存储节点940内的存储位置的地址范围942。在图9所图示示例中,一个或多个数据湖存储节点940包括第二边缘平台904,并且地址范围942是存储914内的位置。
在框1304,示例数据湖管理器908生成与新数据湖区域相对应的加密密钥。例如,图10的密钥生成器1006生成与新数据湖区域相对应的RDEK。在一些示例中,密钥生成器1006还生成用于包装RDEK的KWK。
在框1306处,示例数据湖管理器908将加密密钥传送到存储新数据湖区域的一个或多个边缘设备。例如,密钥分发器1008向由位置选择器1002定义的一个或多个数据湖存储节点940发送RDEK。在一些示例中,密钥分发器1008还发送与RDEK相对应的KWK。在此类示例中,密钥分发器1008在将RDEK和KWK两者传送到一个或多个边缘设备之前使用KWK包装RDEK。
在框1308处,示例数据湖管理器908引导一个或多个边缘设备使用加密密钥来加密新数据湖区域的数据。例如,指令发送器1014向第二边缘平台904的辅助管理器A 912A发送指令以使用RDEK加密数据。在一些示例中,图11的数据检索器1104从由位置选择器1002定义的新数据湖区域的位置中检索数据。图11的数据加密器1108使用RDEK加密数据。在一些示例中,图11的密钥管理器1106在数据加密器1108加密数据之前使用KWK解开RDEK。在一些示例中,图11的数据发送器1112发送经加密的数据以存储在新数据湖区域中。
在框1310,示例数据湖管理器908将与新数据湖区域相对应的位置和加密密钥存储到图9的数据湖表934中。例如,数据湖表控制器1012生成与新数据湖区域相对应的数据湖表934的新条目,其中新条目包括在框1302定义的数据湖参数(例如,数据湖区域ID 936,一个或多个数据湖存储节点940,以及地址范围942)和在框1304生成的RDEK。
在框1312处,示例数据湖管理器908将数据湖表934发送到一个或多个边缘设备。例如,数据湖表控制器1012将数据湖表934的副本或数据湖表934的一部分(例如,第一部分934A和/或第二部分934B)发送到存储新的数据湖区域的一个或多个边缘设备(例如,第二边缘平台904)。
在框1314处,示例数据湖管理器908确定是否创建附加数据湖区域。例如,响应于请求分析器1000从EIO 935接收要创建另一个数据湖区域的另一个请求(框1314返回“是”的结果),过程1300返回到框1302。或者,响应于请求分析器1000未从EIO 935接收要创建另一个数据湖区域的另一个请求(框1314返回“否”的结果),则过程1300结束。
图14是表示可被结合图12的框1208执行来实现图9和/或图10的数据湖管理器以移除数据湖区域的机器可读指令1400的流程图。示例数据湖管理器908的示例请求分析器1000从EIO 935接收到从图9的数据湖注册表架构900中移除数据湖区域(例如,图9的数据湖区域A 917A)的请求时,指令1400开始。
在框1402处,示例数据湖管理器908确定数据湖区域A 917A是否已到期。例如,定时控制器1010响应于确定自数据湖区域A 917A的创建以来已经过去了时间持续期而确定数据湖区域A 917A已经到期。在此类示例中,时间持续期由定时控制器1010在数据湖区域A917A被创建时确定。响应于图10的定时控制器1010确定数据湖区域A 917A已经到期(框1402返回“是”的结果)时,过程1400进行到框1404。或者,响应于定时控制器1010确定数据湖区域A 917A尚未到期(框1402返回“否”的结果),过程1400结束。
在框1404处,示例数据湖管理器908通知参与租户数据湖区域A 917A将被移除。例如,指令发送器1014经由到托管服务922的一个或多个边缘设备的消息来通知当前有权访问数据湖区域A 917A的一个或多个服务(例如,图9的服务922)。在一些示例中,该消息可以包括要移除的数据湖区域A 917A的数据湖区域ID 936和/或要移除数据湖区域A 917A的时间中的至少一个。
在框1406处,示例数据湖管理器908引导存储数据湖区域A 917A的一个或多个边缘设备从数据湖区域中移除数据。例如,指令发送器1014向示例辅助管理器A 912A发送指令以删除数据湖区域A 917A的数据和/或将数据移动到第二边缘平台904的不同位置。在一些示例中,数据没有被删除,而示例辅助管理器A 912A被替代地引导用新数据覆写数据。
在框1408,示例数据湖管理器908删除与被移除的数据湖区域A 917A相对应的加密密钥。例如,指令发送器1014指示辅助管理器A 912A删除与经移除的数据湖区域A 917A相对应的RDEK。另外,在一些示例中,数据湖表控制器1012删除图9的数据湖表934中与数据湖区域A 917A相对应的条目。过程1400结束。
图15是表示机器可读指令1500的流程图,该指令可以被结合图12的框1212执行来实现图9和/或图10的示例数据湖管理器以将服务(例如,图9的服务922)添加到数据湖区域(例如,图9的数据湖区域A 917A)。示例数据湖管理器908的示例请求分析器1000从EIO 935接收将服务922添加到图9的数据湖注册表架构900的数据湖区域A 917A的请求时,指令1500开始。
在框1502,示例数据湖管理器908标识要添加的服务。例如,图10的服务授权器1004基于从EIO 935接收的请求来标识要添加的服务922的服务ID 937和/或凭证。
在框1504,示例数据湖管理器908确定服务922是否被授权访问数据湖区域A917A。例如,服务授权器1004基于服务922的凭证来确定服务922是否被授权。在一些示例中,服务授权器1004使用与服务相对应的凭证(例如,RFC8366)来确定服务922被授权。在一些示例中,服务授权器1004确定服务922是否被授权以下中的至少一者:从数据湖区域A917A读取、向数据湖区域A 917A写入或修改数据湖区域A 917A。在一些示例中,服务授权器1004向服务922分配标签以指示授予服务922的访问级别。响应于示例服务授权器1004确定服务922被授权(框1504返回“是”的结果),过程1500进行到框1506。或者,响应于示例服务授权器1004确定服务922未被授权(框1504返回“否”的结果),过程1500进行到框1514。
在框1506处,示例数据湖管理器908生成密钥包装密钥(KWK)。例如,图10的密钥生成器1006生成与服务922和/或托管服务922的租户相对应的KWK。
在框1508,示例数据湖管理器908使用由密钥生成器1006生成的KWK来包装与数据湖区域相对应的加密密钥。例如,图1008的密钥分发器1008获得与数据湖区域A 917A相对应的RDEK,然后使用该KWK包装RDEK。在此类示例中,密钥分发器1008从与数据湖区域A917A相对应的数据湖表934的条目中获得RDEK。
在框1510处,示例数据湖管理器908将封装的加密密钥和KWK发送到一个或多个边缘设备。例如,密钥分发器1008从数据湖表934的条目中标识存储数据湖区域A 917A的一个或多个边缘设备(例如,第二边缘平台904),然后将封装的RDEK和KWK发送到一个或多个边缘设备。附加地或替代地,示例密钥分发器1008将封装的RDEK和KWK发送到服务922和/或托管服务922的一个或多个边缘设备(例如,第三边缘平台906)。在一些示例中,密钥分发器1008可以附加地或替代地将与数据湖区域A 917A相对应的同态加密密钥发送到一个或多个边缘设备和/或服务922。
在框1512,示例数据湖管理器908更新数据湖表934。例如,图10的数据湖表控制器1012更新与数据湖区域A 917A相对应的数据湖表934的条目。在一些示例中,数据湖表934的条目被更新以包括与服务922相对应的服务ID 937。
在框1514,示例数据湖管理器908确定是否要向数据湖注册表架构900添加另一服务。例如,响应于请求分析器1000从EIO 935接收添加另一服务的另一请求(框1514返回“是”的结果),过程1500返回到框1502。或者,响应于示例请求分析器1000未从EIO 935接收添加另一服务的另一请求(框1514返回“否”的结果),过程1500结束。
图16是表示机器可读指令1600的流程图,该指令可以被结合图12的框1216执行来实现图9和/或图10的示例数据湖管理器908以将服务(例如,图9的服务922)从数据湖区域(例如,图9的数据湖区域A 917A)中移除。图10的示例请求分析器1000从EIO 935接收到从数据湖区域A 917A中移除服务922的请求时,指令1600开始。
在框1602处,示例数据湖管理器908标识要移除的服务922。例如,图10的服务授权器1004基于从EIO 935接收的请求来标识与服务922相对应的服务ID 937。在一些示例中,服务授权器1004标识与数据湖区域A 917A相对应的数据湖区域ID 936。
在框1604,示例数据湖管理器908为数据湖区域A 917A生成新的加密密钥。例如,密钥生成器1006生成与数据湖区域A 917A相对应的新RDEK,其中新RDEK不同于与数据湖区域A 917A相对应的当前RDEK。
在框1606处,示例数据湖管理器908将新的加密密钥发送到数据湖区域A 917A的当前参与者。例如,密钥分发器1008将新RDEK发送到当前有权访问数据湖区域A 917A的一个或多个服务,以及存储数据湖区域A 917A的一个或多个边缘设备(例如,第二边缘平台904)。在此类示例中,密钥分发器1008不向服务922发送新RDEK。
在框1608,示例数据湖管理器908通知当前参与者暂时暂停对数据湖区域A 917A的访问。例如,指令发送器1014向当前有权访问数据湖区域A 917A的一个或多个服务发送消息以暂时暂停访问数据湖区域A 917A。在一些示例中,指令发送器1014向存储数据湖区域A 917A的一个或多个边缘设备(例如,第二边缘平台904)通知暂时阻止对数据湖区域A917A的访问。
在框1610处,示例数据湖管理器908将新加密密钥发送到存储数据湖区域A 917A的一个或多个边缘设备。例如,密钥分发器1008将新RDEK发送到存储数据湖区域A 917A的一个或多个边缘设备(例如,第二边缘平台904),以及当前有权访问数据湖区域A 917A的一个或多个服务。在一些示例中,一个或多个边缘设备在加速器(例如,图9的第一加速器910和/或第二加速器916)中安装新RDEK以提高加密和解密的速度。
在框1612处,示例数据湖管理器908引导一个或多个边缘设备使用当前加密密钥来解密数据。例如,指令发送器1014向图11的指令分析器1100发送指令以解密数据。在此类示例中,数据检索器1104从数据湖区域A 917A中检索数据,其中数据检索器1104基于数据湖表934和在框1602中标识的数据湖区域ID 936来确定数据的位置。图11的示例密钥管理器1106从数据湖表934中获得与数据湖区域A 917A相对应的当前RDEK,以及图11的示例数据解密器1110使用当前RDEK解密数据。
在框1614处,示例数据湖管理器908引导一个或多个边缘设备使用新加密密钥来重新加密数据。例如,指令发送器1014向指令分析器1100发送指令以使用在框1504处生成的新RDEK重新加密数据。在此类示例中,图11的数据加密器1108可以使用新RDEK加密数据,并且图11的数据发送器1112发送经加密的数据以供存储在定义数据湖区域A 917A的位置。
在框1616,示例数据湖管理器908通知当前参与者恢复访问数据湖区域A 917A。例如,指令发送器1014经由消息向当前有权访问数据湖区域A 917A的一个或多个服务通知可以使用新RDEK恢复访问数据湖区域A 917A。附加地或替代地,示例指令发送器1014将消息发送到存储数据湖区域A 917A的一个或多个边缘存储位置以恢复允许访问数据湖区域A917A。
在框1618,示例数据湖管理器908确定是否要从数据湖注册表架构900中移除另一服务。例如,响应于请求分析器1000从EIO 935接收移除另一服务的另一请求(框1618返回“是”的结果),过程1600返回到框1602。或者,响应于示例请求分析器1000未从EIO 935接收移除另一服务的另一请求(框1618返回“否”的结果),过程1600结束。
图17是表示机器可读指令1700的流程图,该指令可以被执行来实现图9和/或图10的示例辅助管理器912以将数据从数据湖区域(例如,图9的数据湖区域A 917A)读取到服务(例如,图9的服务922)。图11的示例指令分析器1100从服务922接收请求以从数据湖区域A917A中读取数据时,指令1700开始。在一些示例中,指令分析器1100从请求中获得与服务922相对应的服务ID 937和与数据湖区域A 917A相对应的数据湖区域ID 936。
在框1702处,示例辅助管理器912确定服务922是否被授权从数据湖区域A 917A读取数据。例如,图11的服务标识符1102基于从请求获得的数据湖区域ID 936来标识与数据湖区域A 917A相对应的数据湖表934的条目。示例服务标识符1102确定数据湖表934的条目是否包括与服务922相对应的服务ID 937和/或从数据湖区域A 917A读取数据的标签指示授权。响应于示例服务标识符1102确定服务922被授权从数据湖区域A 917A读取数据(例如,框1702返回“是”的结果),过程1700进行到框1704。或者,响应于示例服务标识符1102确定服务922未被授权从数据湖区域A 917A读取数据(例如,框1702返回“否”的结果),过程1700结束。
在框1704处,示例辅助管理器912标识数据湖区域A 917A的位置。例如,图11的数据检索器1104基于数据湖表934的条目来标识与数据湖区域A 917A相对应的数据湖存储节点940和地址范围942。
在框1706处,示例辅助管理器912从数据湖区域A 917A中检索数据。例如,数据检索器1104检索在框1704标识的位置(例如,与数据湖区域A 917A相对应的数据湖存储节点940和地址范围942)处存储的数据。在一些示例中,数据是经加密的数据。
在框1708处,示例辅助管理器912获得与数据湖区域A 917A相对应的加密密钥。例如,图11的密钥管理器1106从数据湖表934的条目中获得与数据湖区域A 917A相对应的RDEK。附加地或替代地,示例密钥管理器1106获得与数据湖区域A 917A相对应的同态加密密钥。
在框1710处,示例辅助管理器912使用加密密钥解密来自数据湖区域A 917A的数据。例如,图11的数据解密器1110从密钥管理器1106中接收RDEK,然后使用RDEK解密由数据检索器1104检索的数据。附加地或替代地,示例数据解密器1110使用与数据湖区域A 917A相对应的同态加密密钥来解密数据。
在框1712处,示例辅助管理器912将经解密的数据发送到服务922。例如,图11的数据发送器1112将经解密的数据发送到服务922以读取数据。附加地或替代地,示例数据发送器1112可以将经加密的数据发送到服务922,使得数据的解密由服务922而不是辅助管理器912执行。过程1700结束。
图18是表示机器可读指令1800的流程图,该指令可以被执行来实现图9和/或图11的示例辅助管理器912以将数据从服务(例如,图9的服务922)写入到数据湖区域(例如,图9的数据湖区域A 917A)。图11的示例指令分析器1100接收来自服务922的将数据写入数据湖区域A 917A的请求时,指令1800开始。在一些示例中,指令分析器1100从请求中获取与服务922相对应的服务ID 937、与数据湖区域A 917A相对应的数据湖区域ID 936以及由服务922写入的未经加密的数据。在一些示例中,服务922在将数据发送到指令分析器1100之前加密写入的数据。
在框1802处,示例辅助管理器912确定服务922是否被授权将数据写入数据湖区域A 917A。例如,图11的服务标识符1102基于从请求获得的数据湖区域ID 936来标识与数据湖区域A 917A相对应的数据湖表934的条目。示例服务标识符1102确定数据湖表934的条目是否包括与服务922相对应的服务ID 937和/或将数据写入数据湖区域A 917A的标签指示授权。响应于示例服务标识符1102确定服务922被授权将数据写入数据湖区域A 917A(例如,框1802返回“是”的结果),过程1800进行到框1804。或者,响应于示例服务标识符1102确定服务922未被授权将数据写入数据湖区域A 917A(例如,框1802返回“否”的结果),过程1800结束。
在框1804处,示例辅助管理器912标识数据湖区域A 917A的位置。例如,图11的数据检索器1104基于数据湖表934的条目来标识与数据湖区域A 917A相对应的数据湖存储节点940和地址范围942。
在框1806处,示例辅助管理器912获得与数据湖区域A 917A相对应的加密密钥。例如,图11的密钥管理器1106从数据湖表934的条目中获得与数据湖区域A 917A相对应的RDEK。附加地或替代地,示例密钥管理器1106获得与数据湖区域A 917A相对应的同态加密密钥。
在框1808处,示例辅助管理器912使用加密密钥对由服务922写入的未经加密的数据进行加密。例如,图11的数据加密器1108接收来自密钥管理器1106的RDEK和来自指令分析器1100的未经加密的数据,然后使用该RDEK加密数据。附加地或替代地,示例数据加密器1108使用与数据湖区域A 917A相对应的同态加密密钥来加密数据。
在框1810处,示例辅助管理器912将经加密的数据发送到数据湖区域A 917A以供存储。例如,图11的数据发送器1112基于由数据检索器1104在框1804标识的位置来将经加密的数据发送到数据湖区域A 917A。过程1800结束。
从前述内容将理解,已经公开了提高现有数据湖管理技术的静态特性的示例方法、设备和制品。与此类静态数据湖技术不同,本文公开的示例动态地创建、移除和/或修改存储在可缩放的多层边缘环境中的数据湖并管理对数据湖的安全访问。所公开的方法、设备和制品通过将数据湖动态地划分为具有不同大小和持续期的数个数据湖区域来提高使用计算设备的效率。因此,可以通过添加或删除单个数据湖区域来修改数据湖,从而减少整个数据湖加密和重新加密所需的时间和计算成本(例如,对处理器的计算需求、带宽需求等)。此外,本文公开的示例方法、设备和制品通过使用区域特定的加密密钥加密数据来提高数据安全性,从而防止未授权实体访问数据。所公开的方法、装置和制品相应地涉及计算机功能的一个或多个改善。
所附的权利要求由此通过本参考被并入到具体实施方式中,其中每一项权利要求其本身作为本公开的单独的实施例。
本文中公开了用于管理对分散式数据湖的访问的示例方法、设备、系统和制品。进一步的示例及其组合包括以下内容:示例1包括用于管理数据湖的设备。该示例设备包括:位置选择器,用于选择用来存储数据湖的边缘设备;密钥生成器,用于响应于服务被授权访问数据湖的指示而生成与数据湖相对应的加密密钥并生成与边缘设备相对应的密钥包装密钥;以及密钥分发器,用于使用密钥包装密钥来包装加密密钥并将加密密钥和密钥包装密钥分发给边缘设备,加密密钥用于使边缘设备上的服务能够访问数据湖。
示例2包括示例1的设备,其中边缘设备是第一边缘设备,数据湖包括第一数据湖区域和第二数据湖区域,第一数据湖区域存储在第一边缘设备上,而第二数据湖区域存储在第一边缘设备或第二边缘设备中的至少一个上。
示例3包括示例1和/或2中的任一项或多项的主题并且可选地包括用于生成数据湖表的数据湖表控制器,其中数据湖表的条目包括以下中的至少一个:与数据湖相对应的数据湖ID、与服务相对应的服务ID、加密密钥、与边缘设备相对应的边缘设备标识符或边缘设备中数据湖的地址范围。
示例4包括示例1-3中任一项或多项的主题并且可选地包括用于确定服务是否被授权访问数据湖的服务授权器,数据湖表控制器用于基于确定的结果来更新数据湖表的条目。
示例5包括示例1-4中任一项或多项的主题,并且可选地,加密密钥是第一加密密钥,并且其中服务授权器用于确定服务不再被授权访问数据湖,密钥生成器用于生成与第一加密密钥不同的第二加密密钥,密钥分发器用于将第二加密密钥分发给边缘设备,引导边缘设备使用第一加密密钥对来自数据湖的数据进行解密,并引导边缘设备使用第二加密密钥对数据进行重新加密,而数据湖表控制器用于从数据湖表的条目中移除第一加密密钥和服务标识符,并将第二加密密钥添加到数据湖表的条目。
示例6包括示例1-5中任一项或多项的主题,并且可选地,边缘设备用于使用密钥包装密钥解开加密密钥,使用加密密钥对来自数据湖的现有数据进行解密,使用加密密钥对由服务写入的新数据进行加密,并将新数据存储在数据湖中。
示例7包括示例1-6中任一项或多项的主题并且可选地包括定时控制器,用于基于时间持续期来确定数据湖是否已经到期,并且响应于确定数据湖已经到期而引导边缘设备从数据湖中删除加密密钥和数据。
示例8包括用于管理数据湖的方法。该示例方法包括:选择用于存储数据湖的边缘设备;响应于服务被授权访问数据湖的指示,生成与数据湖相对应的加密密钥并生成与边缘设备相对应的密钥包装密钥;以及使用密钥包装密钥来包装加密密钥并将加密密钥和密钥包装密钥分发给边缘设备,加密密钥用于使边缘设备上的服务能够访问数据湖。
示例9包括示例8的方法,其中边缘设备是第一边缘设备,数据湖包括第一数据湖区域和第二数据湖区域,第一数据湖区域存储在第一边缘设备上,而第二数据湖区域存储在第一边缘设备或第二边缘设备中的至少一个上。
示例10包括示例8和/或9中的任一项或多项的主题并且可选地包括生成数据湖表,其中数据湖表的条目包括以下中的至少一个:与数据湖相对应的数据湖ID、与服务相对应的服务ID、加密密钥、与边缘设备相对应的边缘设备标识符以及边缘设备中数据湖的地址范围。
示例11包括示例8-10中任一项或多项的主题并且可选地包括确定服务是否被授权访问数据湖,以及基于确定的结果来更新数据湖表的条目。
示例12包括示例8-11中任一项或多项的主题,并且可选地,加密密钥是第一加密密钥,并且进一步包括确定服务不再被授权访问数据湖,生成与第一加密密钥不同的第二加密密钥,将第二加密密钥分发给边缘设备,引导边缘设备使用第一加密密钥对来自数据湖的数据进行解密,引导边缘设备使用第二加密密钥对数据进行重新加密,从数据湖表的条目中移除第一加密密钥和服务标识符,以及将第二加密密钥添加到数据湖表的条目。
示例13包括示例8-12中任一项或多项的主题,并且可选地包括使用密钥包装密钥解开加密密钥,使用加密密钥对来自数据湖的现有数据进行解密,使用加密密钥对由服务写入的新数据进行加密,并将新数据存储在数据湖中。
示例14包括示例8-13中任一项或多项的主题并且可选地包括基于时间持续期来确定数据湖是否已经到期,并且响应于确定数据湖已经到期,引导边缘设备从数据湖中删除加密密钥和数据。
示例15包括一种非瞬态计算机可读存储介质,该存储介质包括指令,该指令在被执行时使处理器至少用于:选择用于存储数据湖的边缘设备;响应于服务被授权访问数据湖的指示,生成与数据湖相对应的加密密钥并生成与边缘设备相对应的密钥包装密钥;以及使用密钥包装密钥来包装加密密钥并将加密密钥和密钥包装密钥分发给边缘设备,加密密钥用于使边缘设备上的服务能够访问数据湖。
示例16包括示例15的非瞬态计算机可读存储介质,其中边缘设备是第一边缘设备,数据湖包括第一数据湖区域和第二数据湖区域,第一数据湖区域存储在第一边缘设备上,而第二数据湖区域存储在第一边缘设备或第二边缘设备中的至少一个上。
示例17包括示例15和/或16中的任一项或多项的主题并且可选地,指令在被执行时,使处理器用于生成数据湖表,其中数据湖表的条目包括以下中的至少一个:与数据湖相对应的数据湖ID、与服务相对应的服务ID、加密密钥、与边缘设备相对应的边缘设备标识符以及边缘设备中数据湖的地址范围。
示例18包括示例15-17中任一项或多项的主题并且可选地,指令在被执行时,使处理器用于确定服务是否被授权访问数据湖,以及基于确定的结果来更新数据湖表的条目。
示例19包括示例15-18中任一项或多项的主题,并且可选地,加密密钥是第一加密密钥,并且其中指令在被执行时,使处理器用于确定服务不再被授权访问数据湖,生成与第一加密密钥不同的第二加密密钥,将第二加密密钥分发给边缘设备,引导边缘设备使用第一加密密钥对来自数据湖的数据进行解密,引导边缘设备使用第二加密密钥对数据进行重新加密,从数据湖表的条目中移除第一加密密钥和服务标识符,以及将第二加密密钥添加到数据湖表的条目。
示例20包括示例15-19中任一项或多项的主题,并且可选地,指令在被执行时,使处理器用于使用密钥包装密钥解开加密密钥,使用加密密钥对来自数据湖的现有数据进行解密,使用加密密钥对由服务写入的新数据进行加密,并将新数据存储在数据湖中。
示例21包括示例15-20中任一项或多项的主题并且可选地,指令在被执行时,使处理器用于基于时间持续期来确定数据湖是否已经到期,并且响应于确定数据湖已经到期,引导边缘设备从数据湖中删除加密密钥和数据。
示例22包括用于管理数据湖的设备。该示例设备包括:用于选择位置的装置,用于选择用来存储数据湖的边缘设备;用于生成密钥的装置,用于响应于服务被授权访问数据湖的指示而生成与数据湖相对应的加密密钥并生成与边缘设备相对应的密钥包装密钥;以及用于分发密钥的装置,用于使用密钥包装密钥来包装加密密钥并将加密密钥和密钥包装密钥分发给边缘设备,加密密钥用于使边缘设备上的服务能够访问数据湖。
示例23包括示例22的设备,其中边缘设备是第一边缘设备,数据湖包括第一数据湖区域和第二数据湖区域,第一数据湖区域存储在第一边缘设备上,而第二数据湖区域存储在第一边缘设备或第二边缘设备中的至少一个上。
示例24包括示例22和/或23中的任何一个或多个的主题并且可选地包括用于生成数据湖表的用于控制数据湖表的装置,其中数据湖表的条目包括以下中的至少一个:与数据湖相对应的数据湖ID、与服务相对应的服务ID、加密密钥、与边缘设备相对应的边缘设备标识符以及边缘设备中数据湖的地址范围。
示例25包括示例22-24中任一项或多项的主题并且可选地包括用于授权服务的装置,用于确定服务是否被授权访问数据湖的,数据湖表控制装置用于基于确定的结果来更新数据湖表的条目。
示例26包括示例22-25中任一项或多项的主题,并且可选地,加密密钥是第一加密密钥,并且其中服务授权装置用于确定服务不再被授权访问数据湖,密钥生成装置用于生成与第一加密密钥不同的第二加密密钥,密钥分发器用于将第二加密密钥分发给边缘设备,引导边缘设备使用第一加密密钥对来自数据湖的数据进行解密,并引导边缘设备使用第二加密密钥对数据进行重新加密,而数据湖表控制装置用于从数据湖表的条目中移除第一加密密钥和服务标识符,并将第二加密密钥添加到数据湖表的条目。
示例27包括示例22-26中任一项或多项的主题,并且可选地,边缘设备用于使用密钥包装密钥解开加密密钥,使用加密密钥对来自数据湖的现有数据进行解密,使用加密密钥对由服务写入的新数据进行加密,并将新数据存储在数据湖中。
示例28包括示例22-27中任一项或多项的主题并且可选地包括用于控制定时的装置,用于基于时间持续期来确定数据湖是否已经到期,并且响应于确定数据湖已经到期,引导边缘设备从数据湖中删除加密密钥和数据。
示例29是一种边缘计算网关,该边缘计算网关包括用于执行示例8-14中的任一项的处理电路系统。
示例30是一种基站,包括用于执行示例8-14中的任一项的网络接口卡和处理电路系统。
示例31是包括用于执行示例8-14中的任一项的指令的计算机可读介质。
尽管本文中已公开了某些示例方法、装置和制品,但本专利涵盖的范围并不限于此。相反,本专利涵盖落入本专利示例范围内的全部方法、装置和制品。

Claims (22)

1.一种用于管理数据湖的设备,所述设备包括:
位置选择器,用于选择用来存储所述数据湖的边缘设备;
密钥生成器,用于响应于服务被授权访问所述数据湖的指示:
生成与所述数据湖相对应的加密密钥;以及
生成与所述边缘设备相对应的密钥包装密钥;以及
密钥分发器,用于:
使用所述密钥包装密钥来包装所述加密密钥;以及
将所述加密密钥和所述密钥包装密钥分发给所述边缘设备,所述加密密钥用于使所述边缘设备上的服务能够访问所述数据湖。
2.如权利要求1所述的设备,其特征在于,所述边缘设备是第一边缘设备,所述数据湖包括第一数据湖区域和第二数据湖区域,所述第一数据湖区域存储在所述第一边缘设备上,而所述第二数据湖区域存储在所述第一边缘设备或第二边缘设备中的至少一个上。
3.如前述权利要求中任一项所述的设备,进一步包括用于生成数据湖表的数据湖表控制器,其中所述数据湖表的条目包括以下中的至少一个:与所述数据湖相对应的数据湖标识符、与服务相对应的服务标识符、所述加密密钥、与所述边缘设备相对应的边缘设备标识符以及所述边缘设备中所述数据湖的地址范围。
4.如权利要求3所述的设备,进一步包括用于确定服务是否被授权访问所述数据湖的服务授权器,所述数据湖表控制器用于基于确定的结果来更新所述数据湖表的条目。
5.如权利要求4所述的设备,其特征在于,所述加密密钥是第一加密密钥,并且其中:
所述服务授权器用于确定服务不再被授权访问所述数据湖;
所述密钥生成器用于生成与所述第一加密密钥不同的第二加密密钥;
所述密钥分发器用于:
将所述第二加密密钥分发给所述边缘设备;引导所述边缘设备使用所述第一加密密钥对来自所述数据湖的数据进行解密;以及
引导所述边缘设备使用所述第二加密密钥对所述数据进行重新加密;以及
所述数据湖表控制器用于:
从所述数据湖表的条目中移除所述第一加密密钥和所述服务标识符;以及
将所述第二加密密钥添加到所述数据湖表的条目。
6.如前述权利要求中任一项所述的设备,其特征在于,所述边缘设备用于:
使用所述密钥包装密钥解开所述加密密钥;
使用所述加密密钥对来自所述数据湖的现有数据进行解密;
使用所述加密密钥对由服务写入的新数据进行加密;以及
将所述新数据存储在所述数据湖中。
7.如前述权利要求中任一项所述的设备,进一步包括定时控制器,用于:
基于时间持续期来确定所述数据湖是否已经到期;以及
响应于确定所述数据湖已经到期,引导所述边缘设备从所述数据湖中删除所述加密密钥和数据。
8.一种用于管理数据湖的方法,所述方法包括:
选择用于存储所述数据湖的边缘设备;
响应于服务被授权访问所述数据湖的指示:
生成与所述数据湖相对应的加密密钥;以及
生成与所述边缘设备相对应的密钥包装密钥;
使用所述密钥包装密钥来包装所述加密密钥;以及
将所述加密密钥和所述密钥包装密钥分发给所述边缘设备,所述加密密钥用于使所述边缘设备上的服务能够访问所述数据湖。
9.如权利要求8所述的方法,其特征在于,所述边缘设备是第一边缘设备,所述数据湖包括第一数据湖区域和第二数据湖区域,所述第一数据湖区域存储在所述第一边缘设备上,而所述第二数据湖区域存储在所述第一边缘设备或第二边缘设备中的至少一个上。
10.如权利要求8-9中任一项所述的方法,进一步包括生成数据湖表,其中所述数据湖表的条目包括以下中的至少一个:与所述数据湖相对应的数据湖标识符、与服务相对应的服务标识符、所述加密密钥、与所述边缘设备相对应的边缘设备标识符以及所述边缘设备中所述数据湖的地址范围。
11.如权利要求10所述的方法,进一步包括确定服务是否被授权访问所述数据湖,以及基于确定的结果来更新所述数据湖表的条目。
12.如权利要求11所述的方法,其特征在于,所述加密密钥是第一加密密钥,并且进一步包括:
确定服务不再被授权访问所述数据湖;
生成与所述第一加密密钥不同的第二加密密钥;
将所述第二加密密钥分发给所述边缘设备;
引导所述边缘设备使用所述第一加密密钥对来自所述数据湖的数据进行解密;
引导所述边缘设备使用所述第二加密密钥对所述数据进行重新加密;
从所述数据湖表的条目中移除所述第一加密密钥和服务标识符;以及
将所述第二加密密钥添加到所述数据湖表的条目。
13.如权利要求8-12中任一项所述的方法,进一步包括:
使用所述密钥包装密钥解开所述加密密钥;
使用所述加密密钥对来自所述数据湖的现有数据进行解密;
使用所述加密密钥对由服务写入的新数据进行加密;以及
将所述新数据存储在所述数据湖中。
14.如权利要求8-13中任一项所述的方法,进一步包括:
基于时间持续期来确定所述数据湖是否已经到期;以及
响应于确定所述数据湖已经到期,引导所述边缘设备从所述数据湖中删除所述加密密钥和数据。
15.包括多个指令的至少一种计算机可读介质,所述多个指令响应于在计算设备上被执行而使所述计算设备实现根据权利要求8-14中的任一项所述的方法。
16.一种用于管理数据湖的设备,所述设备包括:
用于选择位置的装置,用于选择用来存储所述数据湖的边缘设备;
用于生成密钥的装置,用于响应于服务被授权访问所述数据湖的指示:
生成与所述数据湖相对应的加密密钥;以及
生成与所述边缘设备相对应的密钥包装密钥;以及
用于分发密钥的装置,用于:
使用所述密钥包装密钥来包装所述加密密钥;以及
将所述加密密钥和所述密钥包装密钥分发给所述边缘设备,所述加密密钥用于使所述边缘设备上的服务能够访问所述数据湖。
17.如权利要求16所述的设备,其特征在于,所述边缘设备是第一边缘设备,所述数据湖包括第一数据湖区域和第二数据湖区域,所述第一数据湖区域存储在所述第一边缘设备上,而所述第二数据湖区域存储在所述第一边缘设备或第二边缘设备中的至少一个上。
18.如权利要求16-17中任一项所述的设备,进一步包括用于控制数据湖表的装置,用于生成数据湖表,其中所述数据湖表的条目包括以下中的至少一个:与所述数据湖相对应的数据湖标识符、与服务相对应的服务标识符、所述加密密钥、与所述边缘设备相对应的边缘设备标识符以及所述边缘设备中所述数据湖的地址范围。
19.如权利要求18所述的设备,进一步包括用于授权服务的装置,用于确定服务是否被授权访问所述数据湖,数据湖表控制装置用于基于确定的结果来更新所述数据湖表的条目。
20.如权利要求19所述的设备,其特征在于,所述加密密钥是第一加密密钥,并且其中:
服务授权装置用于确定服务不再被授权访问所述数据湖;
密钥生成装置用于生成与所述第一加密密钥不同的第二加密密钥;
密钥分发装置用于:
将所述第二加密密钥分发给所述边缘设备;
引导所述边缘设备使用所述第一加密密钥对来自所述数据湖的数据进行解密;以及
引导所述边缘设备使用所述第二加密密钥对所述数据进行重新加密;以及
数据湖表控制装置用于:
从所述数据湖表的条目中移除所述第一加密密钥和所述服务标识符;以及
将所述第二加密密钥添加到所述数据湖表的条目。
21.如权利要求16-20中任一项所述的设备,其特征在于,所述边缘设备用于:
使用所述密钥包装密钥解开所述加密密钥;
使用所述加密密钥对来自所述数据湖的现有数据进行解密;
使用所述加密密钥对由服务写入的新数据进行加密;以及
将所述新数据存储在所述数据湖中。
22.如权利要求16-21中任一项所述的设备,进一步包括用于控制定时的装置,用于:
基于时间持续期来确定所述数据湖是否已经到期;以及
响应于确定所述数据湖已经到期,引导所述边缘设备从所述数据湖中删除所述加密密钥和数据。
CN202110982382.2A 2020-09-25 2021-08-25 用于管理对分散数据湖的访问的方法、系统、设备和制品 Pending CN114268428A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/032,824 US20210014047A1 (en) 2020-09-25 2020-09-25 Methods, systems, apparatus, and articles of manufacture to manage access to decentralized data lakes
US17/032,824 2020-09-25

Publications (1)

Publication Number Publication Date
CN114268428A true CN114268428A (zh) 2022-04-01

Family

ID=74102073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110982382.2A Pending CN114268428A (zh) 2020-09-25 2021-08-25 用于管理对分散数据湖的访问的方法、系统、设备和制品

Country Status (3)

Country Link
US (1) US20210014047A1 (zh)
CN (1) CN114268428A (zh)
DE (1) DE102021121267A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11894984B2 (en) 2017-11-27 2024-02-06 Lacework, Inc. Configuring cloud deployments based on learnings obtained by monitoring other cloud deployments
US11818156B1 (en) * 2017-11-27 2023-11-14 Lacework, Inc. Data lake-enabled security platform
US11620307B2 (en) * 2021-06-07 2023-04-04 Snowflake Inc. Stage replication in a cloud data lake

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996887B2 (en) * 2012-02-24 2015-03-31 Google Inc. Log structured volume encryption for virtual machines
US10904201B1 (en) * 2013-10-11 2021-01-26 Cisco Technology, Inc. Updating distributed caches in network devices in the event of virtual machine changes in a virtualized network environment
US10686765B2 (en) * 2017-04-19 2020-06-16 International Business Machines Corporation Data access levels
US11157633B1 (en) * 2019-06-26 2021-10-26 Amazon Technologies, Inc. Digital content delivery system
US11263310B2 (en) * 2019-11-26 2022-03-01 Red Hat, Inc. Using a trusted execution environment for a proof-of-work key wrapping scheme that verifies remote device capabilities
US11196548B1 (en) * 2020-07-02 2021-12-07 International Business Machines Corporation Hypervisor protected key

Also Published As

Publication number Publication date
US20210014047A1 (en) 2021-01-14
DE102021121267A1 (de) 2022-03-31

Similar Documents

Publication Publication Date Title
NL2029029B1 (en) Methods and apparatus to coordinate edge platforms
US20210014114A1 (en) Methods, apparatus, and articles of manufacture for workload placement in an edge environment
US20210014113A1 (en) Orchestration of meshes
CN115373795A (zh) 基于地理围栏的边缘服务控制和认证
US20220255916A1 (en) Methods and apparatus to attest objects in edge computing environments
US20210021431A1 (en) Methods, apparatus and systems to share compute resources among edge compute nodes using an overlay manager
CN114253657A (zh) 使用分布式账本的编排器执行计划
US20210014303A1 (en) Methods and apparatus to manage quality of service with respect to service level agreements in a computing device
EP4109257A1 (en) Methods and apparatus to facilitate service proxying
US20210011649A1 (en) Apparatus, systems, articles of manufacture, and methods for data lifecycle management in an edge environment
CN114679449A (zh) 中立主机边缘服务
US20210014301A1 (en) Methods and apparatus to select a location of execution of a computation
CN114268428A (zh) 用于管理对分散数据湖的访问的方法、系统、设备和制品
EP3985500A1 (en) Methods and apparatus for re-use of a container in an edge computing environment
US20230376344A1 (en) An edge-to-datacenter approach to workload migration
EP3975602A1 (en) Methods, apparatus and systems to enforce data boundaries through the use of boundary labels
US20210152543A1 (en) Automatic escalation of trust credentials
EP3975028A1 (en) One-touch inline cryptographic data processing
CN114253658A (zh) 边缘计算的持续测试、集成和部署管理
CN114661454A (zh) 用于在边缘网络中实现安全的多一致性和池化存储器的方法和设备
EP4109256A1 (en) Model propagation in edge architectures
US20230344804A1 (en) Methods and apparatus to increase privacy for follow-me services
EP4202669A1 (en) Methods and apparatus for secure execution on smart network interface cards
EP4203381A1 (en) Methods and apparatus for attestation for a constellation of edge devices

Legal Events

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