一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通过协作通道在边缘级别处不同服务提供者之间共享数据的制作方法

2022-06-16 05:28:17 来源:中国专利 TAG:


1.本公开涉及信息技术领域。更具体地,本公开涉及在服务提供者之间共享数据。


背景技术:

2.本公开的背景技术在下文中与关于其上下文的技术的讨论一起被引入。然而,即使当本讨论涉及文档、动作、制品等时,也不暗示或表示所讨论的技术是现有技术的一部分或是与本公开相关的领域中的公知常识。
3.不同类型的数据的收集在若干(软件)应用中是常见的。具体地,在具有基于(电信)网络的分布式架构的计算系统中,数据可以被本地地收集并且然后被远程地传输以用于它们的处理。典型的例子是在互联网中,其中服务提供者收集用于提供相应服务的数据;具体地,在云(计算)环境的情况下,(云)服务由云(服务)提供者提供,云(服务)提供者在请求时提供、配置和释放其实施所需的计算资源(其实际实施对相应用户完全不透明)。
4.然而,这种(集中式)方法要求在网络上传输(本地)收集的所有数据以用于其处理(远程地)。例如,在互联网中,数据可由若干收集(计算)设备收集以供它们传输到服务提供者。具体地,随着物联网(iot)的出现,已经部署了多种iot(计算)设备(向不同于计算机的对象添加互联网连通性)以供它们基本上在任何地方使用。这涉及大量的新应用,越来越普遍地在每个人的普通生活中。
5.在边缘架构中,所收集数据的处理在物理上被移动得尽可能接近网络边缘处需要的位置。然后,在将处理委派给(远程)服务提供者之前,边缘架构尽可能在本地集中处理。以此方式,有可能减少相应的等待时间(由远程传输数据用于其处理所引起的),这在关键应用的情况下尤其重要;此外,这提升了数据的安全性和隐私性。
6.例如,每个服务提供者可具有集中实现其服务的数据中心(或更多)。此外,服务提供者利用收集要在本地处理的数据的多个收集设备;例如,收集设备是部署在现场的服务提供者的传感器,或者是向服务提供者注册的用户的个人设备。此外,服务提供者具有布置在网络边缘的边缘服务器,以便靠近一组相应的收集设备。每个边缘服务器从相应的收集设备收集数据并且在本地对其进行预处理;边缘服务器然后将这些(预处理的)数据上传到数据中心,数据中心在需要时完成其处理。


技术实现要素:

7.在本发明的一个方面中,一种用于在多个服务提供者之间共享数据的方法、计算机程序产品和系统包括:(i)从一组中央计算系统接收一组可用性通知,所述可用性通知指示生产者计算系统对共享类别的数据进行共享以及所述生产者计算系统可用数据的数据类别的可用性;(ii)从所述一组中央计算系统接收授权通知,所述授权通知指示消费者计算系统接收由相应服务提供者的一组生产者计算系统提供的共享类别的数据的授权;以及(iii)在所述一组生产者计算系统和被授权接收所述共享类别的所述数据的消费者计算系统之间建立一组协作通道,以供生产者计算系统用来向所述协作通道的所述消费者计算系
统提供所述共享类别的所述数据。
附图说明
8.参照纯粹以非限制性指示的方式给出的、结合附图阅读的以下其详细描述,将最好地理解本公开的解决方案以及其进一步的特征和优点(其中,为了简单起见,对应的元件用相同或相似的参考标号来表示,并且不重复其解释,并且每个实体的名称通常用于表示其类型和其属性,如值、内容和表示)。
9.具体地:
10.图1a至图1d示出了根据本公开的实施例的方案的一般原理;
11.图2示出了计算基础设施的示意性框图,其中可以实现根据本公开的实施例的方案;
12.图3示出了可以用于实现根据本公开的实施例的方案的主要软件组件;并且
13.图4a至图4c示出了活动图,该活动图描述与根据本公开的实施例的方案的实现方式相关的活动流程。
具体实施方式
14.如当前处理的数据传输实践涉及大量数据(大数据)的收集。然而,尽管服务提供者的计算能力持续增加(以便通常足够用于此目的),但是网络的带宽不总是足够的。结果,网络可能变得拥塞,然后产生相应的瓶颈,这不允许保证可接受的传送速率。这对于时间敏感的关键应用的性能可能是有害的。
15.对于边缘计算架构,利用物理接近度的需要迫使每个服务提供者以广泛的分布部署其收集设备。收集设备的这种增长涉及服务提供者(例如,用于安装和维护它们)以及然后由服务提供者提供的相应服务的成本的增加。此外,不同服务提供者对收集设备的对应分发可能不利地影响它们被安装的对应环境(例如,当收集设备具有显著的视觉影响时)。
16.在任何情况下,每个服务提供者的收集设备的不可避免的限制(由于经济的或物理的限制)限制了可以总体上或至少在特定位置中收集的数据量;这反映了通过数据处理获得的结果的质量的相应限制,并且然后反映了由服务提供者提供的相应服务的质量的相应限制。
17.此外,(基于由其收集设备收集的不同数据)使用由相应的服务提供者提供的不同服务可能是有问题的。例如,从不同服务提供者接收的信息的聚合是耗时的;此外,该操作可能是困难的和/或不可靠的,尤其是当不可能确保已经收集的相应数据的可信度时。
18.在此呈现本公开的简化概述以便提供其基本理解;然而,本概述的唯一目的是以简化的形式介绍本公开的一些概念作为其以下更详细描述的序言,并且其不应被解释为其关键元素的标识也不应被解释为其范围的描绘。
19.一般而言,本公开基于通过协作通道在边缘级别不同服务提供者之间共享数据的构思。
20.具体地,实施例提供了一种在不同服务提供者之间共享数据的方法。该方法包括:(在协作计算系统的控制下)建立一个或多个协作通道;每个协作通道在一个或多个生产者边缘计算系统(提供一个或多个共享类别的数据)和一个或多个消费者边缘计算系统(被授
权接收一个或多个共享类别的数据)之间。每个协作通道然后被每个生产者边缘计算系统用来将相应共享类别的数据提供给被授权接收它们的消费者边缘计算系统。
21.另一方面提供一种用于实施所述方法的计算机程序。
22.另一方面提供了相应的计算机程序产品。
23.另一方面提供了相应的系统。
24.更具体而言,在独立权利要求中阐述了本公开的一个或多个方面,并且在从属权利要求中阐述了其有利特征,所有权利要求的措辞通过引用结合在此(其中参照任何具体方面提供的任何有利特征同样适用于每个其它方面)。
25.具体参见图1a至图1d,示出了根据本公开的实施例的方案的一般原理。
26.从图1a开始,基于边缘架构的多个服务提供者105通过(电信)网络110提供相应的服务(可由不同用户随时间重复用于不同目的的计算功能)。例如,服务提供者105是云(服务)提供者,每个云提供者提供由虚拟计算资源(非常快速地提供、配置和释放)实施的(云)服务池,所述虚拟计算资源在请求时例如在公共部署模型的情况下通过互联网分配给其用户。
27.每个服务提供者105具有多个收集(计算)设备115(例如,其专用传感器或其用户的个人设备);收集设备115用于收集一个或多个(数据)类别(如照片、健康参数、环境指标等)的数据(或维度)。服务提供者105具有一个或多个边缘计算系统,例如,边缘服务器120。每个边缘服务器120布置在网络110的边缘处,以便接近(物理)相应的一组收集设备115(例如,在它们的1-2跳内,诸如在网络110的最后一英里内);然后,使用边缘服务器120在本地对由相应的一组收集设备115收集的数据进行预处理。服务提供者105具有中央计算系统,例如,中央数据中心125(或更多)。中央数据中心125(在网络110中布置得更深)在必要时用于完成由边缘服务器120上传至其的(可能预处理的)数据的处理。
28.移至图1b,在根据本公开的实施例的方案中,协作计算系统(例如,(协作机构的)协作服务器130)在本地控制由不同的服务提供者收集的数据的共享。简言之,可用于(在本地)共享其数据的任何服务提供者相应地通知协作机构。具体地,相应的中央数据中心125的(中央)服务器(用相同标记表示)向协作服务器130发送(可用性)通知,该通知指示服务提供者的一个或多个(生产者)边缘服务器(用标记120p区分)可用于在对其可用的数据中的数据之中共享一个或多个(共享)类别的数据。
29.移至图1c,服务提供者向协作机构通知已被准予接收由它们共享的数据的授权(如在相应的服务提供者之间同意的)。具体地,(共享其一个或多个生产者边缘服务器120p的数据的)中央服务器125向协作服务器130发送(授权)通知,指示与标记120c区分的其它服务提供者的一个或多个(消费者)边缘服务器被授权接收由其生产者边缘服务120中的一个或多个提供的一个或多个类别的数据(作为达成相应协定的结果)。
30.移至图1d,协作服务器130建立用于(在本地)共享数据的一个或多个(协作)通道135。特别地,每个协作通道135(图中仅示出一个)在被授权接收一个或多个相应类别的数据的一个或多个消费者边缘服务器120c与一个或多个生产者边缘服务器120p之间。例如,协作通道135通过将对应的加密密钥关联到在每个协作通道中共享的数据的每个类别的消费者计算系统来实现。向每个生产者边缘服务器120p提供用于由其共享的数据的类别的所有加密密钥;相反,每个消费者边缘服务器120c仅被提供用于被授权接收的数据的类别的
加密密钥。协作通道135然后被生产者边缘服务器120p用来将数据(由其收集设备115本地收集,可能在其预处理之后)提供给相应的消费者边缘服务器120c。例如,每个生产者边缘服务器120p使用对应的加密密钥对要共享的类别的数据进行加密,然后将其广播或多播到通信通道135的所有消费者边缘服务器120c;然而,每个消费者边缘服务器120c可以仅解密(通过相应的加密密钥)被授权接收的类别的数据。
31.上述方案允许以对等(p2p)方式在不同服务提供者之间在其边缘服务器级别共享数据。
32.以这种方式,可以减少收集设备的数量,而基本上不损害边缘服务器与其的物理接近度;实际上,消费者边缘服务器现在可以通过利用生产者边缘服务器中的一些生产者边缘服务器在没有相应的收集设备的情况下接收所需类别的数据。
33.所得到的收集设备的减少分布限制它们在服务提供者之间的增殖(对于它们而言相应的节省,其应当转换为其服务成本的降低)以及它们在环境中的散播(降低其任何视觉影响)。
34.此外,可以增加每个服务提供者可用的数据量(至少在缺少相应收集设备的位置)。这对通过处理数据获得的结果的质量以及然后由服务提供者提供的对应服务的质量具有有益的影响。
35.这还允许以时间有效且可靠的方式聚合由不同的服务提供者收集的数据。实际上,该操作在消费者边缘服务器处执行(并且然后在消费者/生产者边缘服务器的收集设备在现场收集数据之后不久);并且,协作服务器集中协调不同服务提供者的边缘服务器之间的协作,以保证协作(例如,在共享数据的真实性、完整性、不可否认性、保密性等方面)。
36.以这种方式,可以在服务的低响应时间(对于关键应用尤其重要)下具有高质量和可靠性。
37.例如,发电厂可以利用由气象公司(测量风、温度、雨等)收集的数据和由地质机构(测量雪、湿度、冰、火灾、地震波等)收集的数据来计划能量的生产(甚至没有任何专用的收集设备)。作为另一示例,机场的安全公司可将由其收集设备收集的数据(提供具有可疑行为的人的生物计量信息)与从银行接收的类似数据组合以迅速地检测可能的威胁(且接着立即干预)。作为另一示例,智能电话可收集其用户的重要参数(诸如体温、血压、心率等),并且可接收由靠近用户的对应仪表收集的污染数据和气象数据,并且将它们组合以根据视情况而定的环境条件检测用户健康的可能风险。
38.现在参见图2,示出了计算基础设施200的示意性框图,其中可实现根据本公开的实施例的方案。
39.计算基础结构200包括收集设备115、(不同服务提供者的)边缘服务器120和中央服务器125,以及协作服务器130,它们通过网络110在它们之间连接。
40.例如,收集设备115包括iot设备,诸如被提供有互联网连通性的不同于计算机(以及传统上非启用互联网)的对象。具体地,收集设备115包括嵌入到日常对象(诸如电器、车辆、工具等)中的相应服务提供者的传感器(用于收集特定类别的数据);另外或替代地,收集设备115包括服务提供者的用户的个人设备(例如,智能电话、平板设备等),其中,服务提供者的一个或多个应用被安装(用于经由个人设备的相应传感器收集特定类别的数据)。边缘服务器120可以是直接连接到访问提供者(图中未示出)的物理机,为对应的收集设备提
供对互联网的访问(以便与其物理接近)。中央服务器125可以是在对应的服务提供者(互联网中的任何地方)的中央数据中心(图中未示出)中实现的虚拟机。协作服务器130可以是在协作机构的数据中心(图中未示出)中实现的虚拟机。
41.上述计算机器(收集设备115、边缘服务器120、中央服务器125和协作服务器130)中的每一个包括通过总线结构205在它们之间连接的若干单元,总线结构205具有一个或多个级别(具有根据计算机器115-130的类型适当缩放的架构)。具体地,微处理器(μp)210或更多提供了计算机器115-130的逻辑能力;非易失性存储器(rom)215存储用于计算机器115-130的引导的基本代码,易失性存储器(ram)220被微处理器210用作工作存储器。计算机器115-130被提供有用于存储程序和数据的大容量存储器225(例如,用于每个收集设备115的闪存e2prom、用于每个边缘服务器120的冗余ssd以及用于每个中央服务器125和用于协作服务器130的相应数据中心的存储设备)。此外,计算机器115-130包括用于外围设备或输入/输出(i/o)单元230的多个控制器;例如,就与本公开相关而言,每个收集设备115的外围设备230包括用于收集相应类别的数据的传感器(诸如相机、温度计、湿度计、雷达等),用于分别经由接入点和基站接入网络110的wi-fi类型的无线网络适配器和/或移动电话收发器,每个边缘服务器120的外围设备230包括用于接入网络110的网络适配器,并且每个中央服务器125和协作服务器130的外围设备230包括网络适配器,该网络适配器用于将中央服务器125/协作服务器130插入到相应的数据中心中,并且然后将其连接至数据中心的控制台以便其控制(例如,个人计算机,也设置有用于读/写可移除存储单元(如usb类型)的驱动器)并且连接至数据中心的交换机/路由器子系统以用于其与网络110通信。
42.现在参见图3,示出了可用于实现根据本公开的实施例的方案的主要软件组件。
43.具体地,所有软件组件(程序和数据)整体用附图标记300表示。软件组件300通常存储在大容量存储器中,并且当程序与操作系统和可能的其它应用程序(图中未示出)一起运行时,(至少部分地)加载到相关计算机器的工作存储器中。程序最初例如从可移除存储单元或从网络安装到大容量存储器中。在这方面,每个程序可以是包括用于实现指定的逻辑功能的一个或多个可执行指令的代码的模块、段或部分。
44.从每个收集设备115(图中仅示出一个)开始,其包括以下部件。
45.传感器驱动器303驱动其传感器(用于收集相应类别的数据);例如,数据是数字图像、温度、湿度、压力等的测量。传感器驱动器303写入数据缓冲器306,该数据缓冲器306临时存储由传感器驱动器303收集的数据。上传器309通过从数据缓冲器306中读取这些数据并且然后将其传输至相应的边缘服务器120来上传这些数据。
46.移至每个边缘服务器120(图中仅示出一个),其包括以下部件。
47.收集器312接收由相应的收集设备115(从它们中的每一个的上传器309)收集的数据。收集器312写入数据储存库315,该数据储存库315存储由相应的收集设备115收集的数据。预处理器318对这些数据进行预处理;为此目的,预处理器318读取数据储存库315以检索所接收的(原始)数据;此外,预处理器318写入数据储存库315以保存如此获得的(预处理的)数据。例如,预处理的数据是从人的数字图像中提取的生物计量参数、基于人的健康参数和他们位置的环境参数的组合的危险状况等。上传器321通过从数据储存库321读取原始和/或预处理的数据并且然后将它们传输至相应的中央服务器125来将它们上传;此外(图中未示出),上传器321还可以将预处理的数据(当已经有用时)传输至与其邻近的相应客户
端设备,诸如相应用户的个人设备。
48.在根据本公开的实施例的方案中,共享引擎324控制在边缘服务器120处可用的数据(由相应的收集设备115收集的原始数据和/或由预处理器318获得的预处理数据)的共享。为此目的,共享引擎324读取/写入数据储存库315和简档储存库327。简档储存库327包含用于访问注册了边缘服务器120(作为生产者或作为消费者)的协作通道的相应(协作)简档。例如,每个协作简档包括通过协作通道共享的数据的类别的列表。进而,该列表具有用于这些类别中的每个类别的条目。条目存储指示边缘服务器120是这些数据的生产者还是消费者的角色标记以及用于对其进行加密(生产者)或解密(消费者)的加密密钥(如果边缘服务器120既不作为生产者也不作为消费者被登记到该类别,则条目为空)。共享引擎324利用密码引擎330,密码引擎330用于对共享的数据进行加密/解密。共享引擎324与其所登记的协作通道的其它边缘服务器(图中未示出)的共享引擎通信。
49.移至每个中央服务器125(图中仅示出一个),其包括以下部件。
50.收集器333接收由相应的边缘服务器120(从它们中的每一个的上传器321)提供的(原始/预处理的)数据。收集器333写入存储这些数据的数据储存库336。处理器339处理数据(它在原始数据的情况下执行其整个处理或者在预处理数据的情况下完成其处理);为此目的,处理器339读取数据储存库336以检索所接收的(原始/预处理的)数据;此外,处理器339写入数据储存库336以保存如此获得的(经处理的)数据。例如,所处理的数据是与从可疑人的生物计量参数中识别的可疑人有关的识别信息、与危险状况下的患者有关的医疗信息等;然后,经处理的数据可以用于任何期望的目的,例如,协调为了中和可疑人而要采取的动作、向患者提供医疗帮助等。
51.在根据本公开的实施例的方案中,共享引擎342通过相应的协作通道来控制由相应的边缘服务器120对数据的共享(用于将数据提供给其它服务提供者的(消费者)边缘服务器120或用于从其它服务提供者的(生产者)边缘服务器120接收数据)。为此目的,共享引擎342利用发现引擎345,所述发现引擎345用于发现可用于被共享的数据(由协作服务器130发布,如下文所述)。共享引擎342与每个中央服务器125的共享引擎通信以协商要么被提供要么被接收的数据的共享(图中未示出)。此外,共享引擎342控制每个相应的边缘服务器120的共享引擎324。
52.移至协作服务器130,其包括以下组件。
53.共享管理器348管理不同服务提供者的边缘服务器120之间的数据共享。为此目的,共享管理器348与每个中央服务器125的共享引擎342通信。共享管理器348读取服务提供者存储库351,其识别向协作机构注册的服务提供者。例如,服务提供者储存库351具有针对每个服务提供者的条目;该条目包括该服务提供者的名称和其中央服务器的标识符(如主机名、ip地址等)。共享管理器348控制发布者354,发布者354写入在互联网中发布的类别注册表357、服务器注册表360和通道注册表363。类别注册表357指示可用于共享的数据的所有(共享)类别。例如,类别储存库357具有这些类别中的每一个的条目。条目包含类别的名称、其描述(例如,人的数字图像、身体/环境温度、血液/环境压力等)、对应值的类型(例如,整数、字符、数组等)和对应数据的类型(例如,原始的、预处理的等等)。服务器注册表360指示可用于共享其数据(如由协作机构识别/认证)的(生产者)边缘服务器120。例如,服务器储存库360具有用于这些边缘服务器120中的每一个的条目。条目包括边缘服务器120
的标识符(例如,主机名、ip地址等)、对应的服务提供者的名称、边缘服务器120可用于共享的数据的一个或多个管理类别(种类)的列表以及边缘服务器120被登记(作为生产者)到的协作通道的列表。进而,这些种类的列表具有它们中的每一个的条目。条目存储种类的名称、相应数据的类别以及与数据相关的一个或多个(数据)特性,例如边缘服务器120或相应收集设备115的位置(诸如gps坐标、地理名称等)、准确度、安全等级、刷新规则等。通道注册表363指示在不同服务提供者的边缘服务器120之间建立的协作通道(例如,每个协作通道用于相应的主题,诸如环境、健康、安全等)。例如,通道储存库363具有用于每个协作通道的条目。条目包括在协作通道中共享的数据的类别的列表和提供这些数据的(生产者)边缘服务器120的列表。进而,这些边缘服务器120的列表具有它们中的每一个的条目;条目存储协作通道中边缘服务器120所提供的数据的类别的列表。类别注册表357、服务器注册表360和通道注册表363由每个中央服务器125的发现引擎345读取;而且,通道注册表363也被每个边缘服务器120(图中未示出)的共享引擎324读取。
54.现在参见图4a至图4c,示出了活动图,该活动图描述了与根据本公开的实施例的方案的实现方式相关的活动流程。
55.在这方面,每个框可以对应于用于在相关计算机器上实现指定的逻辑功能的一个或多个可执行指令。具体地,该图表示可以用于利用方法400在不同服务提供者的边缘服务器之间共享数据的示例性过程。
56.每当通用服务提供者的中央服务器的共享引擎接收到用于改变服务提供者的边缘服务器(或更多)的可用性以共享对其可用的数据的(可用性)命令(例如,由其系统管理员输入)时,该过程从框402转到在通用服务提供者的中央服务器的泳道中的框404。例如,改变可以涉及(生产者)边缘服务器的添加、(生产者)边缘服务器的(共享)类别(或更多)的添加、它们的改变、删除等。响应于此,共享引擎将对应(可用性)通知发送到协作服务器(与生产者边缘服务器和/或共享类别有关)。然后,该过程返回到框402,等待下一个可用性命令。
57.移动到协作服务器的泳道,共享管理器在框406接收该通知。然后,共享管理器在框408命令发布者相应地更新类别注册表和/或服务器注册表。此外,共享管理器在框410处将相同的通知广播或多播到向协作机构注册的所有其它服务提供者的中央服务器(如在相应储存库中所指示的)。然后,该过程返回到框406,等待下一个通知。
58.移动到每个其它服务提供者的中央服务器的泳道,共享引擎在框412处接收该通知。活动流程根据其内容在框414处分支。如果通知涉及在协作通道中被共享的数据的(订阅的)类别(或多个)的改变,服务提供者的一个或多个(消费者)边缘服务器被登记到该协作通道以接收这些数据,则共享引擎在框416通知这些边缘服务器中的每一个,以便允许其共享引擎相应地作出反应,在图中未示出(例如,通过适配所接收的数据的格式的改变)。相反,活动的流程在框418进一步分支。如果通知涉及添加已变得可供相应(生产者)边缘服务器(也可能被添加)共享的数据的(新的)类别(或更多),则活动流程进一步根据服务提供者对其的相应兴趣而在框420处分支。如果共享引擎接收到订阅由该边缘服务器提供的数据的类别的命令(例如,由系统管理员响应于相应的通知(例如,经由即时消息或电子邮件)而输入),则该过程继续到框432(以下描述)。然后,该过程返回到框412等待下一个通知——从框416,直接从框418(如果通知不与服务提供者未订阅的新类别的添加有关),以及在请
求订阅新类别之后从框420或者如果服务提供者对其不感兴趣则直接。
59.每当通用服务提供者(为了简单起见,与以上相同)的中央服务器的共享引擎接收到用于(消费者)边缘服务器(或更多)订阅数据(或更多)的类别的命令时,该过程从框422转到中央服务器的泳道中的框424,(消费者)边缘服务器(或更多)不与服务提供者的用于收集这些数据(例如,由系统管理员输入)的任何收集设备相关联。响应于此,发现引擎在相应的注册表中搜索该类别的数据。根据此搜索的结果,活动流程在框426处分支。如果类别已经被发现(意味着相应的数据被提供用于由其它服务提供者的一个或多个边缘服务器共享),则在框428处,发现引擎确定提供类别的数据的生产者边缘服务器以及协作通道(在已发生的情况下)——如果有的话(通过查询服务器注册表和通道注册表)。发现引擎然后确定是否存在满足特定要求(在一个或多个策略中定义或由系统管理员手动输入)的任何生产者边缘服务器和可能的协作通道,例如在相应的服务提供者、数据的种类等方面;如果是,则发现引擎选择它们中的最佳者(例如,针对最近的生产者边缘服务器)。根据此搜索的结果,活动流程在框430处分支。如果找到合适的生产者边缘服务器,则该过程下降到框432;在服务提供者对(可能新的)生产者边缘服务器的新类别感兴趣的情况下,在框420之后也到达相同点。在两种情况下,共享引擎现在向生产者边缘服务器的中央服务器提交共享对应数据的请求。
60.移动到该中央服务器的泳道,共享引擎在框434接收该请求。随后在两个中央服务器之间开始协商,该协商涉及由生产者边缘服务器的中央服务器在框436处以及由消费者边缘服务器的中央服务器在框438处交换具有对应供应/请求的一个或多个消息。例如,协商基于两个服务提供者的相应要求(在一个或多个策略中定义或由它们的系统管理员手动输入),例如,就可提供和要接收的数据的相应特性、提供数据所需的和为接收数据提供的费用等而言。在消费者边缘服务器的中央服务器的泳道中,该过程然后返回到框422等待下一订阅请求——从框438,如果尚未发现类别(意味着相应数据未被提供用于由其它服务提供者的任何边缘服务器共享)从框426,或者如果尚未找到合适的生产者边缘服务器则从框430。假设已经在两个服务提供者之间达成了用于共享数据的协定,则在框440处生产者边缘服务器的中央服务器的共享引擎相应地通知协作服务器。然后,该过程返回到框434,等待共享数据的下一个请求。
61.移动到协作服务器的泳道,共享管理器在框442接收该通知。响应于此,共享管理器在框444命令发布者相应地更新通道注册表。特别地,如果需要,发布者创建新的协作通道(针对生产者边缘服务器);在任何情况下,发布者将共享类别和消费者边缘服务器添加到协作通道。此外,共享管理器在框446处将相同的通知广播或多播到向协作机构注册的所有其它服务提供者的中央服务器(如在相应的储存库中所指示的)。在框412,每个其它服务提供者的中央服务器的共享引擎接收该通知,以便执行上述相同的操作。在框448处,共享管理器随后生成加密密钥以用于在从生产者边缘服务器到消费者边缘服务器的协作通道中共享数据。共享管理器在框450将加密密钥发送到生产者边缘服务器的中央服务器和消费者边缘服务器的中央服务器。然后,该过程返回到框442,等待下一个通知。
62.移动到生产者边缘服务器的中央服务器的泳道,共享引擎在框452处接收加密密钥。响应于此,共享引擎在框454处实施在生产者边缘服务器上的数据的对应共享(提供)。为此,共享引擎向生产者边缘服务器发送相应的通知,指示协作通道、要共享的数据的类别
和相应的加密密钥。然后,该过程返回到框452,等待下一个通知。移动到生产者边缘服务器的泳道,共享引擎在框456处接收该通知。响应于此,共享引擎在框458处相应地更新简档储存库。然后,该过程返回到框456,等待下一个通知。
63.同时,在消费者边缘服务器的中央服务器的泳道中,共享引擎在框460也接收加密密钥。响应于此,共享引擎在框462处实施在消费者边缘服务器上的相应数据共享(接收)。为此,共享引擎向消费者边缘服务器发送相应的通知,指示协作通道、已被共享的数据的类别和相应的加密密钥。然后,该过程返回到框460,等待下一个通知。移动到消费者边缘服务器的泳道,共享引擎在框464接收该通知。响应于此,共享引擎在框466处相应地更新简档储存库。然后,该过程返回到框464,等待下一个通知。
64.以完全独立的方式,一旦触发对其可用以在相应的协作通道中共享的数据的刷新的(刷新)事件发生(如由简档储存库中的相应的刷新规则所指示的),例如周期性地,响应于其任何改变等等,过程就在每个消费者边缘服务器的泳道中从框468转到框470。此时,共享引擎从数据储存库中检索要共享的数据;例如,对于要共享的数据的每个类别,共享引擎检索其最后可用值或者预定义的时间帧中的最后可用值(如由对应的刷新规则再次指示的)。在框472,共享引擎命令加密引擎用(从简档储存库检索的)相应的加密密钥对每个类别的数据进行加密。在框474,共享引擎准备用于在协作通道中共享的记录。该记录包括针对每个类别(用生产者边缘服务器的私钥签名)如此获得的(加密的)数据、生产者边缘服务器的标识符及其数字证书;共享引擎随后将该记录发布到协作通道中,例如通过将其广播或多播到协作通道的所有其它边缘服务器(从相应储存库检索)。同时,共享引擎还可以将所执行的活动的指示保存到日志中,该日志与相应的中央服务器共享以用于跟踪目的。该过程随后返回到框468,等待下一刷新事件。
65.移动到每个消费者边缘服务器的泳道,在框476处,共享引擎接收已经在消费者边缘服务器被登记到的每个协作通道中被共享的每个记录。在框478处,共享引擎验证记录实际上已经由协作通道(如在通道储存库中所指示的)的生产者边缘服务器根据其数字签名来提供。假设记录是真实的,则共享引擎在框480命令加密引擎利用对应的加密密钥(如在简档储存库中指示的)解密消费者边缘服务器被授权接收的每个类别的数据。共享引擎在框482将如此获得的(解密的)数据保存到数据储存库中。然后,该过程返回到框476,等待数据的下一次接收。
66.以这种方式,可以区分每个协作通道中的数据的共享。实际上,即使生产者边缘服务器不加区别地向所有消费者边缘服务器广播数据,仅被授权接收它们的边缘服务器可解密数据。
67.自然地,为了满足本地和特定的要求,本领域技术人员可以将许多逻辑和/或物理修改和变更应用于本公开。更具体地,尽管已参照本公开的一个或多个实施例以一定程度的具体性描述了本公开,但应当理解,形式和细节以及其它实施例中的各种省略、替换和改变都是可能的。具体地,即使在没有前述描述中阐述的具体细节(诸如数值)的情况下,也可以实践本公开的不同实施例,以提供对其更全面的理解;相反,公知的特征可能已被省略或简化,以免用不必要的细节模糊描述。此外,明确预期的是,结合本公开的任何实施例描述的具体元件和/或方法步骤可以作为一般设计选择的事项结合在任何其它实施例中。此外,在同一组和不同实施例、示例或替换中呈现的项目不应被解释为事实上彼此等同(但它们
是分开的且自主的实体)。在任何情况下,每个数值应根据适用容差修改地读取;特别地,除非另外指明,术语“基本上”、“约”、“大约”等应被理解为在10%内,优选5%并且还更优选1%。此外,数值的每个范围应该旨在明确地指定沿该范围内的连续体(包括其端点)的任何可能的数字。常规或其它限定词仅用作标签来区分具有相同名称的元素,而它们本身并不意味着任何优先级、优先级或顺序。术语包括、包括、具有、包含、涉及等应该旨在具有开放的、非穷尽的含义(不限于所列举的项目),基于、依赖于、根据、取决于等的术语应该旨在作为非排他关系(其中涉及可能的其它变量),术语a/a应该旨在作为一个或多个项目(除非另外明确指示),并且术语装置(或任何装置加功能表述)应该旨在作为被适配或配置成用于执行相关功能的任何结构。
68.例如,实施例提供一种用于在多个服务提供者之间共享数据的方法。然而,数据可以是任何类型(例如,原始数据、预处理数据等),并且它们可以在任何数量和类型的服务提供者(例如,云、soa、客户端/服务器等类型)之间共享。
69.在实施例中,每个服务提供者具有多个收集设备。然而,收集设备可以是任何数量和任何类型的(例如,服务提供者的传感器、其用户的个人设备等)。
70.在实施例中,这些收集设备用于收集一个或多个数据类别的数据。然而,数据类别可以是任意数量和任意种类(例如,相对于上面提到的数据类别,部分、不同和附加的数据类别)。
71.在实施例中,每个服务提供者具有一个或多个边缘计算系统。然而,边缘计算系统可以是任何数量和任何类型的(例如,物理机、虚拟机等)。
72.在实施例中,边缘计算系统中的每一个用于对对其可用的数据进行预处理,所述数据包括已经由收集设备的相应组收集的数据。然而,该组的收集设备可以是任何数量并且以任何方式布置(例如,直接、经由一跳或多跳等连接至边缘计算系统);此外,数据可以任何方式进行预处理(例如,相对于上述操作,具有部分、不同和附加的操作)。
73.在实施例中,每个服务提供者具有用于处理已经由边缘计算系统提供的数据的中央计算系统。然而,中央计算系统可以是任何类型的(例如,在数据中心中实现的虚拟机或物理机、独立机器等);此外,可以以任何方式预处理数据(例如,相对于以上提及的对原始数据、预处理的数据、它们的组合等的操作的部分、不同和附加的操作)。
74.在实施例中,边缘计算系统中的每一个相比于中央计算系统更靠近相应的收集设备。然而,边缘计算系统和中央计算系统距收集设备的距离可具有任何值(相对或绝对项,以任何方式测量,诸如通过物理/网络距离、跳数等)。
75.在实施例中,该方法包括在协作计算系统的控制下的以下步骤。然而,协作计算系统可以是任何类型的(参见下文)。
76.在实施例中,该方法包括(通过协作计算系统)从中央计算系统中的一个或多个接收可用性通知。然而,可用性通知可以是任意数量的并且以任何方式接收(例如,命令、消息等)。
77.在实施例中,可用性通知中的每一者指示(对应服务提供者的边缘计算系统的)至少一个生产者计算系统共享(对生产者计算系统可用的数据的数据类别中的)至少一个共享类别的数据的可用性。然而,每一可用性通知可涉及任何数目的生产者计算系统和共享类别,并且其可以任何方式定义(例如,通过相对于上文所提及的部分信息、不同信息和额
外信息,单独地或以其任何组合)。
78.在实施例中,该方法包括(由协作计算系统)从中央计算系统中的一个或多个接收授权通知。然而,授权通知可以是任意数量的并且以任何方式(例如,命令、消息等)被接收。
79.在实施例中,授权通知中的每个授权通知指示(其它服务提供者的边缘计算系统的)至少一个消费者计算系统接收由相应服务提供者的生产者计算系统中的至少一个生产者计算系统提供的共享类别中的至少一个共享类别的数据的授权。然而,每个授权通知可以涉及任何数量的消费者计算系统和共享类别,并且它可以以任何方式定义(例如,通过相对于上文所提及的部分信息、不同信息和额外信息,单独地或以其任何组合);此外,可以响应于相应的服务提供者之间的对应协商、针对满足预定义条件的每个服务提供者、针对所有服务提供者不加区别地等等来提供授权通知。
80.在实施例中,该方法包括(通过协作计算系统)建立一个或多个协作通道。然而,协作通道可以是任意数量和任意类型的(例如,相对于上述主题的部分、不同和附加主题,每一个以任何方式被信任,诸如抵抗串听和篡改两者、仅抵抗串听、仅抵抗篡改等)。
81.在实施例中,协作通道中的每一个在被授权接收对应共享类别中的一个或多个的数据的消费者计算系统中的一个或多个与生产者计算系统中的一个或多个之间。然而,每个协作通道可包括任何数量的生产者计算系统和消费者计算系统,并且它可被用于共享任何数量的共享类别的数据。
82.在实施例中,协作通道中的每一个供协作通道的生产者计算系统中的每一个用来将对应的共享类别的数据提供给协作通道的消费者计算系统。然而,可以任何方式共享数据(例如,通过以经加密的形式广播数据以供其仅由被授权接收它们的消费者计算系统解密,通过仅将数据传输到被授权接收它们的消费者计算系统,等等)。
83.另外的实施例提供了额外的有利特征,然而在基本实现方式中这些额外的有利特征可以被完全省略。
84.特别地,在实施例中,该方法包括将对应的加密密钥(通过协作计算系统)关联到协作通道中的每一个中的共享类别中的每一个的消费者计算系统。然而,加密密钥可以是任何类型的(例如,对称密钥、非对称密钥等)并且它们可以以任何方式(例如,通过协作计算系统、通过相应的中央计算系统、其中每个消费者计算系统具有用于其共享类别中的每一个的相应加密密钥或用于每个消费者计算系统的所有其共享类别的公共加密密钥等)与共享类别相关联。
85.在实施例中,加密密钥中的每一个供对应的生产者计算系统用来将共享类别的数据加密成将在协作通道中提供给其所有消费者计算系统的加密数据。然而,数据可以任何方式加密(例如,利用与消费者计算系统共享的对应对称密钥、利用消费者计算系统的公钥,等等)。
86.在实施例中,加密密钥中的每一个供被授权接收共享类别的数据的协作通道的消费者计算系统中的每一个用来解密经加密的数据。然而,经加密数据可用任何方式(例如,用与生产者计算系统共享的相同对称密钥、用消费者计算系统的私钥等等)来解密。
87.在实施例中,该方法包括(由协作计算系统)生成加密密钥。然而,不排除以任何其它方式提供加密密钥的可能性(例如,通过由消费者边缘计算系统或通过其中央计算系统生成加密密钥,通过使用已经存在的成对私钥/公钥等)。
88.在实施例中,该方法包括将相应共享类别的加密密钥(通过协作计算系统)发送到生产者计算系统中的每一个和消费者计算系统中的每一个的中央计算系统以供分发到其上。然而,不排除以任何其它方式交换加密密钥的可能性(例如,由生产者边缘计算系统分发加密密钥、由其中央计算系统分发加密密钥等)。
89.在实施例中,该方法包括响应于对应生产者计算系统的中央计算系统与对应消费者计算系统的中央计算系统之间的协定而(由协作计算系统)接收授权通知中的每一个以共享对应共享类别的数据。然而,可以任何方式达成协定(例如,自动地、需要人工确认、人工地、根据任何数量和类型的要求等等)。
90.在实施例中,所述方法包括(由协作计算系统)向中央计算系统提供包括生产者计算系统的指示和对应的共享类别的共享信息。然而,共享信息可以是任何类型的(例如,相对于以上提及的信息具有部分、不同和附加信息,单独地或以其任何组合),并且它们可以以任何方式提供(例如,发布、广播、传送等)。
91.在实施例中,共享信息供中央计算系统中的每一个用来发现其数据要被对应的服务提供者的消费者计算系统接收的共享类别中的每一个的生产者计算系统。然而,所关注生产者计算系统可以任何方式来发现(例如,相对于上文所提及的根据部分、不同和附加要求,单独地或以其任何组合)。
92.在实施例中,该方法包括响应于可用性通知中的每一个来发布(由协作计算系统)共享信息。然而,共享信息可以任何方式(例如,以任何数量和类型的注册表、在任何共享位置处、通过使用数据共享服务等)发布,甚至不响应于每个可用性通知(例如,周期性地、在预定义量的任何改变之后等)。
93.在实施例中,该方法包括响应于可用性通知的接收而将可用性通知广播(由协作计算系统)到中央计算系统。然而,可用通知可以以任何方式(例如,不加区别地、直接地等)广播,甚至不是响应于每个可用通知(例如,周期性地、在其任何预定义数量之后等)。
94.在实施例中,共享类别中的每一者的数据包括已由对应收集设备收集的数据和/或已由对应生产者计算系统预处理的数据。然而,这些数据可以是任何类型的(例如,收集和/或接收的原始数据,从收集的原始数据和/或从接收的预处理数据生成和/或接收的预处理数据,等等)。
95.在实施例中,收集设备包括相应的服务提供者的传感器。然而,传感器可以是任何数量和任何类型的(例如,用于感测任何值、独立、嵌入在任何设备中、iot类型或者不是iot类型等等)。
96.在实施例中,收集设备包括iot设备。然而,iot设备可具有任何类型(例如,相对于以上提及的iot设备部分、不同和附加的iot设备,单独地或以其任何组合)。
97.本发明的一些实施例涉及一种使用可信协作系统在不同服务提供者的iot协作边缘服务器之间共享信息的方法,所述方法包括由协作机构管理协作边缘服务器注册表、协作通道注册表以及维度类别注册表,由所述协作机构从服务提供者中的至少一个服务提供者接收对将协作边缘服务器添加到所述协作边缘服务器注册表的请求,由协作机构发送(例如,通过广播)关于添加的协作边缘服务器的通知,由协作机构从所述服务提供者中的一个或多个接收对将协作通道添加到所述协作通道注册表的请求,由协作机构将关于添加的协作通道的通知(例如,通过广播)发送到服务提供者中的一个或多个服务提供者,由协
作机构接收来自服务提供者的请求,所述请求用于使至少一个协作边缘服务器订阅协作通道,由协作机构接收来自服务提供者的将维度类别添加/改变到所述维度类别注册表的请求,以及由协作机构向服务提供者发送关于添加/改变的维度类别的通知(广播)。
98.通常,如果用等效的方法实现相同的方案(通过使用具有更多步骤或其部分的相同功能的类似步骤,移除一些非必要步骤或添加另外的可选步骤),则类似的考虑适用;此外,这些步骤可以按不同的顺序、同时地或以交错的方式(至少部分地)执行。
99.实施例提供一种被配置用于使计算系统执行上述方法的计算机程序。实施例提供一种计算机程序产品,其包括一个或多个计算机可读存储介质,所述计算机可读存储介质具有共同存储在其中的程序指令;这些程序指令可由计算系统读取以致使该计算系统执行相同的方法。然而,计算机程序可以被实现为独立模块、预先存在的软件应用的插件(例如,服务提供者的控制模块)或直接在其中。此外,计算机程序可以在任何计算系统上执行(见下文)。在任何情况下,根据本公开的实施例的方案适于甚至利用硬件结构(例如,通过集成在半导体材料的一个或多个芯片中的电子电路)或利用适当编程或以其它方式配置的软件和硬件的组合来实现。
100.实施例提供了一种系统,该系统包括被配置用于执行上述方法的步骤的装置。实施例提供了一种包括用于执行上述方法的每个步骤的电路(例如由软件适当配置的任何硬件)的系统。然而,该系统可以包括任何数量和类型的(例如,物理和/或虚拟类型的)计算机器,并且它可以在任何计算环境中使用,例如基于利用任何类型的(有线和/或无线)连接的局域网、广域网、全球网络、蜂窝网络或卫星网络;例如,该系统可以是协作计算系统、每个中央计算系统、每个边缘计算系统、或其任何组合。
101.通常,如果系统具有不同的结构或包括等效部件或者其具有其它操作特性,则类似的考虑适用。在任何情况下,其每个部件可以分离成更多的元件,或者两个或更多个部件可以一起组合成单个元件;此外,可以复制每个组件以支持并行执行对应的操作。此外,除非另有说明,不同部件之间的任何相互作用通常不需要是连续的,并且它可以是直接的或通过一个或多个中间媒介间接的。
102.本发明可以是任何可能的集成技术细节水平的系统、方法和/或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储媒体(或媒体),所述计算机可读程序指令用于致使处理器执行本发明的方面。计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡或具有记录在其上的指令的凹槽中的凸起结构的机械编码设备、以及前述的任意合适组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其它自由传播的电磁波、通过波导或其它传输媒质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以
包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(如smalltalk、c 等)和过程式编程语言(如“c”编程语言或类似的编程语言)。计算机可读程序指令可完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供者的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的方面。本文中参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。这些计算机可读程序指令可以被提供给计算机或其它可编程数据处理装置的处理器以产生机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的一个或多个块中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,所述计算机可读存储介质可以指引计算机、可编程数据处理装置和/或其它设备以特定方式工作,使得具有存储在其中的指令的计算机可读存储介质包括制品,所述制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。计算机可读程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上,以使得一系列操作步骤在计算机、其它可编程装置或其它设备上执行以产生计算机实现的过程,使得在计算机、其它可编程装置或其它设备上执行的指令实现在流程图和/或框图的一个或多个框中指定的功能/动作。附图中的流程图和框图图示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中所标注的功能可以不以图中所标注的次序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以作为一个步骤完成、同时执行、基本同时地、以部分或全部时间上重叠的方式执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,所述基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献