CN111108737B - 在物联网环境中的边缘设备上提供软件应用 - Google Patents

在物联网环境中的边缘设备上提供软件应用 Download PDF

Info

Publication number
CN111108737B
CN111108737B CN201880063083.5A CN201880063083A CN111108737B CN 111108737 B CN111108737 B CN 111108737B CN 201880063083 A CN201880063083 A CN 201880063083A CN 111108737 B CN111108737 B CN 111108737B
Authority
CN
China
Prior art keywords
software application
simulation
resource configuration
unique
instance
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.)
Active
Application number
CN201880063083.5A
Other languages
English (en)
Other versions
CN111108737A (zh
Inventor
A.维尔马
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of CN111108737A publication Critical patent/CN111108737A/zh
Application granted granted Critical
Publication of CN111108737B publication Critical patent/CN111108737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/40Maintenance of things

Abstract

本发明涉及一种用于在物联网(IoT)环境(100)中的边缘设备(104A‑N)上提供软件应用的方法和系统。在实施例中,方法包括:生成能够对所述IoT环境(100)中的一个或多个边缘设备(104A‑N)上的软件应用的行为进行模拟的多个模拟实例(402A‑N)。每一个模拟实例(402A‑N)是利用唯一资源配置(404A‑N)来配置的。所述方法包括:使用来自工厂(103)的数据来在所述每一个模拟实例(402A‑N)上处理所述软件应用。此外,所述方法包括:基于在所述模拟实例(402A‑N)上所述软件应用的处理来计算与所述软件应用相关联的最优资源配置(404B)。与所述软件应用相关联的最优资源配置(404B)是通过下述操作来计算的:从所述多个模拟实例(402A‑N)确定在其上所述软件应用的行为令人满意的至少一个模拟实例(402B);以及确定与所确定的模拟实例(402B)相关联的唯一资源配置(404B)。所述唯一资源配置(404B)是指示在所述一个或多个边缘设备(104A‑N)上执行所述软件应用所需的最少资源的最优资源配置。

Description

在物联网环境中的边缘设备上提供软件应用
技术领域
本发明总体上涉及物联网(IoT)的领域,并且更具体地涉及用于在IoT环境中的边缘设备上提供软件应用的方法和系统。
背景技术
在IoT环境(诸如,工业IoT(IIoT)环境)中,多个边缘设备经由互联网连接到IoT云平台和传感器和促动器。边缘设备可以是轻量级、低成本的设备,其从在工厂中部署的各种传感器和促动器收集数据,存储和缓冲所收集的数据,对所收集的数据进行分析,并基于分析的结果来执行动作(例如,发出控制命令)。边缘设备还可以被配置成聚合、过滤、选择性地报告、压缩、加密和/或以其他方式预处理工厂数据,从而导致更少数据和/或附加值数据被传送到IoT云平台。这可能导致比在缺少这种预处理的情况下可能已经要求或消耗的资源更少的网络通信和后端储存和处理资源的消耗。典型地,边缘设备中的每一个可以使用在其中部署的一个或多个软件应用来执行以上功能。IoT云平台负责管理边缘设备,管理从边缘设备接收到的数据(原始的或预处理的),并在边缘设备上提供软件应用。
典型地,IoT环境中的边缘设备是资源约束的设备。进一步地,资源约束的设备中的每一个可以在硬件规范方面变化,且可以具有用于执行由IoT云平台提供的新软件应用的不同实时资源能力。例如,与基于典型工业PC的边缘设备相比,在Raspberry PiTM上运行的边缘设备可能能够执行不同的软件应用。而且,实时资源能力可能基于在边缘设备上部署的软件应用和由边缘设备在运行时期间执行软件应用时利用的资源的数目而变化。在具有不兼容硬件和资源约束的边缘设备上部署的新软件应用可能在软件应用的实时执行期间遇到性能问题(例如,设备正常运行时间)。而且,这可能导致工厂数据的错误分析。
US2016/0232366A1公开了一种能够在给定场景中对实时设备的性能进行模拟的验证系统。该验证系统接收与被加载到用于对感兴趣设备的能力进行模拟的虚拟模拟器中的具体场景有关的信息,运行由虚拟模拟器进行的一套模拟事件,并确定设备的性能是否满足目标性能。如果设备的性能满足目标性能,则该验证系统给实时设备部署设备配置简档。然而,该验证系统未解决上面描述的问题。
鉴于以上内容,存在针对用于在IoT环境中的边缘设备上提供软件应用的改进方法和系统的需要。
发明内容
因此,本发明的目的是提供一种用于在IoT环境中的边缘设备上提供软件应用的方法和系统。
本发明的目的由一种在IoT环境中的边缘设备上提供软件应用的方法实现。例如,所述软件应用是用于在所述边缘设备上执行数据分析的应用。可替换地,所述软件应用可以是用于在所述边缘设备上执行功能的任何其他应用。所述软件应用可以是新应用或升级补丁。所述方法包括:生成能够对所述IoT环境中的一个或多个边缘设备上的软件应用的行为进行模拟的多个模拟实例。每一个模拟实例是利用唯一资源配置来配置的。所述方法包括:使用来自工业工厂的数据来在所述每一个模拟实例上处理所述软件应用;以及基于在所述模拟实例上所述软件应用的处理来计算与所述软件应用相关联的最优资源配置。与所述软件应用相关联的最优资源配置可以是通过下述操作来计算的:从所述多个模拟实例确定在其上所述软件应用的行为令人满意的至少一个模拟实例;以及确定与所确定的模拟实例相关联的唯一资源配置,其中所述唯一资源配置(404B)是所述最优资源配置。所述最优资源配置指示在所述一个或多个边缘设备上执行所述软件应用所需的最少资源。相应地,所述软件应用是在至少一个基于边缘设备的最优资源配置上提供的。
在优选实施例中,所述方法可以包括:将所述最优资源配置存储在应用储存库中与所述软件应用相关联的元文件中。
在另一优选实施例中,所述方法可以包括:评估所述IoT环境中的至少一个边缘设备的实时资源能力,以基于与所述软件应用相关联的最优资源配置来执行所述软件应用。例如,所述实时资源能力指示在用于执行所述软件应用的边缘设备上可用的实时资源。所述实时资源可以包括硬件以及软件资源。所述实时资源可以包括所述边缘设备上的硬件能力和未利用的资源。所述方法可以包括:基于所述边缘设备的实时资源能力的评估来在所述边缘设备上提供所述软件应用。
在又一优选实施例中,所述方法可以包括:从多个唯一资源配置中选择唯一资源配置集合,其中所述唯一资源配置集合对应于所述IoT环境中的边缘设备的实时资源能力。所述方法可以包括:基于所选择的唯一资源配置集合来生成所述多个模拟实例。每一个唯一资源配置包括影响所述软件应用的行为的资源约束。
在再一优选实施例中,所述方法可以包括:基于所述每一个模拟实例的唯一资源配置,使用来自所述工业工厂的数据,来在所述每一个模拟实例上模拟所述软件应用。所述方法可以包括:在所述每一个模拟实例上所述软件应用的模拟期间捕获指示所述软件应用的行为的参数值。有利地,在具有不同资源配置的边缘设备上软件应用的性能可以是在边缘设备上提供软件应用之前确定的。
在进一步另一优选实施例中,所述方法可以包括:基于所捕获的参数值来从所述多个模拟实例确定在其上有所述软件应用的最优行为的至少一个模拟实例。所述方法还可以包括:确定与所确定的模拟实例相关联的唯一资源配置,其中所述唯一资源配置是所述最优资源配置。
本发明的目的还由一种用于在IoT环境中的边缘设备上提供软件应用的系统实现。在示例性实施例中,所述系统可以是通信连接到工厂中的边缘设备的云基础设施中的IoT云平台。在另一示例性实现方式中,所述系统可以是通信耦合到所述工厂中的边缘设备的(一个或多个)远程服务器。所述系统包括一个或多个处理器、耦合到所述处理器的存储器,所述存储器包括能够存储多个软件应用的应用储存库。所述系统还包括:模拟模块,被配置用于生成能够对所述IoT环境中的一个或多个边缘设备上的软件应用的行为进行模拟的多个模拟实例。每一个模拟实例是利用唯一资源配置来配置的。所述模拟模块被配置用于:使用来自工业工厂的数据来在所述每一个模拟实例上处理所述软件应用;以及基于在所述模拟实例上所述软件应用的处理来计算与所述一个或多个边缘设备上的软件应用相关联的最优资源配置。所述模拟模块被配置成通过下述操作来计算与所述软件应用相关联的最优资源配置:从所述多个模拟实例确定在其上所述软件应用的行为令人满意的至少一个模拟实例;以及确定与所确定的模拟实例相关联的唯一资源配置,其中所述唯一资源配置(404B)是所述最优资源配置。所述最优资源配置指示在所述一个或多个边缘设备上执行所述软件应用所需的最少资源。相应地,所述软件应用是基于所述最优资源配置来在至少一个边缘设备上提供的。
在优选实施例中,所述系统可以包括:边缘设备管理模块,被配置用于评估所述IoT环境中的至少一个边缘设备的实时资源能力,以基于与所述软件应用相关联的最优资源配置来执行所述软件应用。在该优选实施例中,所述系统可以包括:提供模块,被配置用于基于所述边缘设备的实时资源能力的评估来在所述边缘设备上提供所述软件应用。
在另一优选实施例中,所述模拟模块可以被配置用于:将所述最优资源配置存储在所述应用储存库中与所述软件应用相关联的元文件中。
在又一优选实施例中,所述模拟模块可以被配置用于:从多个唯一资源配置中选择唯一资源配置集合。所述唯一资源配置集合对应于所述IoT环境中的边缘设备的实时资源能力。每一个唯一资源配置包括影响所述软件应用的行为的资源约束。所述模拟模块可以被配置用于:基于所选择的唯一资源配置集合来生成所述多个模拟实例。
在再一优选实施例中,所述模拟模块可以被配置用于:基于所述每一个模拟实例的唯一资源配置,使用来自所述工业工厂的数据,来在所述每一个模拟实例上模拟所述软件应用。所述模拟模块还可以被配置用于:在所述每一个模拟实例上所述软件应用的模拟期间捕获指示所述软件应用的行为的参数值。
在进一步另一优选实施例中,所述模拟模块可以被配置用于:基于所捕获的参数值来从所述多个模拟实例确定在其上所述软件应用的行为被发现为令人满意的至少一个模拟实例。此外,所述模拟模块可以被配置用于:确定与所确定的模拟实例相关联的唯一资源配置,其中所述唯一资源配置是所述最优资源配置。
而且,本发明的目的由一种在其中存储有机器可读指令的计算机程序产品实现,所述机器可读指令在由处理器执行时使所述处理器执行上面描述的方法步骤。所述处理器可以是IoT云平台的处理器。
附图说明
现在将参考本发明的附图来说明本发明的上面提及的特征和其他特征。所图示的实施例意在图示而不是限制本发明。
以下参考在附图中示出的所图示的实施例来进一步描述本发明,在附图中:
图1是根据本发明实施例的物联网(IoT)环境的示意性表示;
图2是根据本发明实施例的如图1中所示的IoT云平台的框图;
图3是图示了根据本发明实施例的由IoT云平台在边缘设备上提供软件应用的示例性方法的流程图;
图4图示了根据本发明实施例的用于计算用于在边缘设备上部署软件应用的最优资源配置的模拟环境的示意性表示。
具体实施方式
参考附图来描述各种实施例,在附图中相似附图标记用于引用附图,在附图中自始至终相似附图标记用于指代相似元件。在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供一个或多个实施例的透彻理解。可以明确的是,可以在没有这些具体细节的情况下实践这种实施例。
图1是根据本发明实施例的互联网(IoT)环境100的示意性表示。IoT环境100包括:IoT云平台102;工厂103,包括边缘设备104A-N和传感器/促动器组116A-N;以及用户设备114A-C。每一个传感器/促动器组116A-N经由有线网络或无线网络连接到相应边缘设备104A-N。边缘设备104A-N中的每一个经由网络连接(诸如,广域网)连接到IoT云平台102。而且,用户设备114A-C经由广域网连接到IoT云平台102。
尽管未示出,边缘设备104A-N中的一些或全部可以经由边缘网关连接到IoT云平台102。而且,IoT云平台102可以连接到位于不同地理位置中的工厂103中的边缘设备。
在工厂103中,传感器/促动器组116A-N被部署用于监视和控制装备和过程。传感器的示例可以是在工厂103中部署的红外相机。边缘设备104A-N可以是电池供电的设备且配备有边缘操作系统。例如,边缘设备104A-N被配置用于:从相应传感器组116A-N收集工厂数据;以及使用在边缘设备104A-N上部署的软件应用集合来分析所收集的工厂数据。边缘设备104A-N可以基于所收集的工厂数据的分析的结果将命令发送到相应促动器。边缘设备104A-N还可以将原始/经处理的工厂数据和/或工厂数据的分析的结果推送到IoT云平台102。
IoT云平台102可以是能够在边缘设备104A-N上提供基于云的服务(诸如,提供软件应用)的云基础设施。IoT云平台102可以是共有云和/或私有云的一部分。IoT云平台102可以使数据科学家/软件供应商能够提供软件应用作为服务,从而消除针对软件维护、升级和由用户进行的备份的需要。软件应用可以是完整应用或者软件补丁。在一些实施例中,软件应用可以是用于在边缘设备104A-N上执行数据分析的分析应用。例如,软件应用可以包括用于执行下述操作的应用:对时间系列数据进行向下采样;基于阈值或移动平均值来过滤时间系列数据;在振动数据上执行快速傅里叶变换并过滤指示异常的频率;执行线性回归和趋势预测;使用支持向量机分类器、神经网络或深度学习分类器进行局部分类;执行流分析;等等。
在图2中更详细地进一步图示了IoT云平台102。参考图2,IoT云平台102包括模拟模块106、提供模块108、边缘设备管理模块110、(一个或多个)处理器202、存储器单元204和通信接口206。模拟模块106、提供模块108和边缘设备管理模块110可以呈现硬件的形式(诸如,具有嵌入式软件的处理器),或者呈现以存储在计算机程序产品(例如,存储器单元204)上且可由(一个或多个)处理器202执行的机器可读指令的形式存在的计算机程序的形式。(一个或多个)处理器102可以是一个或多个处理单元(例如,服务器)。(一个或多个)处理器102还能够执行存储在计算机可读储存介质(诸如,存储器单元204)上的机器可读指令,以用于执行各种功能,诸如处理工厂数据、分析工厂数据、提供所分析的工厂数据的可视化、向促动器发出控制命令、管理边缘设备104A-N等等。存储器单元204可以是易失性或非易失性存储器。在优选实施例中,存储器单元204被配置成存储应用储存库112。应用储存库112能够存储用于在边缘设备104A-N上提供的软件应用。软件应用连同元文件中的关联最优资源配置一起被存储在应用储存库112中作为应用二进制文件。通信接口206被配置成在边缘设备104A-N与IoT云平台102之间建立通信信道。而且,通信接口206被配置成在IoT云平台102与用户设备114A-C之间建立通信信道。
模拟模块106被配置用于:在模拟环境中的多个模拟实例上对软件应用的行为进行模拟。每一个模拟实例表示IoT环境100中的边缘设备。每一个模拟实例还利用唯一资源配置而配置。唯一资源配置对应于边缘设备的实时资源能力。唯一资源配置包括对软件应用的行为有影响的资源约束。在示例性实现方式中,模拟模块106串行地或并行地在该多个模拟实例上执行软件应用达预定时间段。模拟模块106被配置用于:基于软件应用的模拟的结果来计算与软件应用相关联的最优资源配置。最优资源配置指示在IoT环境100中的边缘设备104A-N上执行软件应用所需的最少资源。模拟模块106被配置用于:将最优资源配置存储在应用储存库112中与软件应用相关联的元文件中。
边缘设备管理模块110被配置用于:评估边缘设备104A-N的实时资源能力,以基于与软件应用相关联的最优资源配置来执行软件应用。例如,资源可以是硬件以及软件资源。资源可以是网络资源、储存资源、计算资源等。最优资源配置指示在边缘设备104A-N上实时执行软件应用所需的最小资源。提供模块108被配置用于:如果一个或多个边缘设备104A-N具有充足的实时资源能力以执行软件应用,则在该一个或多个边缘设备104A-N上提供软件应用。在以下描述中更详细地解释由IoT云平台102执行以模拟软件应用且稍后在边缘设备104A-N上提供软件应用的步骤。
用户设备114A-C可以是云感知设备,诸如膝上型电脑、台式电脑、平板计算机、智能电话和相似设备。用户设备114A-C被配置用于:经由互联网,使用云用户接口,来访问IoT云平台102。在一个实施例中,用户设备114A-C被配置用于:经由云用户接口来查看原始/经处理的工厂数据和/或工厂数据的分析的结果。在另一实施例中,用户设备114A-C被配置用于:在应用储存库112中上传要在边缘设备104A-N上提供的软件应用。例如,典型地由数据科学家或软件供应商针对目标使用情况而创建软件应用,并且在IoT云平台102上上传该软件应用以用于在边缘设备104A-N上提供。在又一实施例中,用户设备114A-C被配置用于:通过模拟期望软件应用来请求最优资源配置的计算;以及基于最优资源配置来在工厂103中的边缘设备104A-N之一上提供软件应用。在再一实施例中,用户设备114A-C可以充当便携式人机接口设备,其用于基于工厂数据的分析的结果经由边缘设备104A-N来向促动器116A-N发出命令。
图3是图示了根据本发明实施例的由IoT云平台102在边缘设备104A上提供软件应用的示例性方法的过程流程图300。在步骤302处,生成能够对边缘设备104A-N上的软件应用的行为进行模拟的多个模拟实例。例如,软件应用可以是分析应用,其用于分析来自在工厂103中部署的红外相机的实时视频流,以确定所制造的产品的质量。在优选实施例中,从多个唯一资源配置中选择唯一资源配置集合。该唯一资源配置集合被选择成使得资源配置对应于IoT环境100中的边缘设备104A-N的实时资源能力。所选择的唯一资源配置中的每一个由对在模拟期间软件应用的行为有影响的资源约束构成。示例性资源约束可以包括读取存取存储器(RAM)大小、处理器类型、储存大小、总线大小等。在该优选实施例中,该多个模拟实例是基于所选择的唯一资源配置集合来生成的。例如,模拟实例是利用对应的唯一资源配置来配置的。基于要模拟的软件应用的类型来制定模拟实例和关联资源配置的数目。
在步骤304处,使用来自工厂103的数据来在模拟实例上处理软件应用。例如,来自工厂103的数据可以是从工厂103收集的实时数据或历史数据。用于分析产品质量的数据可以包括从红外相机获得的实时视频流。在优选实施例中,通过使用来自工厂103的数据在模拟实例上执行软件应用来模拟软件应用的行为。在示例性实现方式中,在模拟实例上并行地执行软件应用达预定时间段。可替换地,按预定义次序在模拟实例上执行软件应用达预定时间段。在优选实施例中,针对每一个模拟实例捕获指示在模拟期间软件应用的行为的参数值。例如,针对每一个模拟实例捕获的参数值是关键性能指标,其指示在具有关联唯一资源配置的边缘设备上执行时软件应用的性能。
在步骤306处,基于在模拟实例上处理软件应用来计算与软件应用相关联的最优资源配置。在优选实施例中,基于所捕获的参数值来从该多个模拟实例确定模拟实例。换言之,在其上有软件应用的最优行为的模拟实例被确定为最佳模拟实例。
在该优选实施例中,确定与模拟实例相关联的唯一资源配置。该唯一资源配置被视为用于执行软件应用的最优资源配置。最优资源配置是当在关联模拟实例上模拟软件应用时导致了软件应用的令人满意的性能的资源配置。最优资源配置指示应当在边缘设备上针对软件应用在该边缘设备上的令人满意的性能而可用的最少的所推荐的资源配置。因此,最优资源配置是边缘设备必须拥有以用于在边缘设备上提供软件应用的最少资源配置。
在步骤308处,将最优资源配置存储在应用储存库112中与软件应用相关联的元文件中。在步骤310处,基于与软件应用相关联的最优资源配置来评估至少一个边缘设备104A的执行软件应用的实时资源能力。
在优选实施例中,从边缘设备104A获得可用于执行软件应用的实时资源。而且,从与软件应用相关联的元文件获得指示在边缘设备104A中部署时软件应用的令人满意的性能所需的最小资源的最优资源配置。确定可用的实时资源是否大于或等于提供软件应用所需的最小资源。如果可用的实时资源大于或等于所需的最小资源,则在步骤312处,在边缘设备104A上提供软件应用。然后,使用在边缘设备104A上可用的实时资源来在边缘设备104A上运行时安装和执行软件应用。
如果可用的实时资源小于所需的最小资源,则边缘设备104A可以通过卸载不期望的软件应用来释放资源。可替换地,IoT云平台102可以以下述这样的方式定制软件应用:与软件应用相关联的最优资源配置小于或等于在边缘设备104A上可用的实时资源。
图4图示了根据本发明实施例的用于计算用于在边缘设备104A-N上部署软件应用的最优资源配置的模拟环境400的示意性表示。
考虑分析应用被部署用于分析从工厂103中的红外相机获得的产品的实时视频流并实时识别产品质量中的偏差。分析应用可以被实现为3层卷积神经网络(CNN)模型,其在每一个层中具有约100个节点。CNN模型由数据科学家使用训练视频数据来创建。分析应用被设计用于部署在工厂103中的一个或多个边缘设备104A-N上,工厂103与红外相机对接以获得所制造的产品的红外视频流,并计算该产品的质量中的偏差。典型地,在部署分析应用之前,不清楚分析应用是否将在部署在边缘设备104A上的情况下平滑地运行而没有任何性能问题。因此,本发明在模拟环境400中模拟分析应用的行为,并计算在边缘设备104A上部署所需的分析应用的最优资源配置,如下面所描述。
根据优选实施例,分析应用作为云容器(例如,DockerTM Hub)而被添加在应用注册表112中以用于在一个或多个边缘设备104A-N上提供。模拟模块106准备了包括用于对分析应用的行为进行模拟的模拟实例402A-N的模拟环境400。出于图示的目的,考虑模拟环境400包括模拟实例402A、模拟实例402B和模拟实例402C。
模拟模块106利用唯一资源配置404A配置模拟实例402A。唯一资源配置404A包括资源约束:64 MB RAM,512 MHz关于单核处理器,512 MB储存,以及128 MHz内部通信总线。类似地,模拟模块106利用唯一资源配置404B配置模拟实例402B。唯一资源配置402B包括资源约束:512 MB RAM,1 GHz关于双核处理器,2 GB储存,1 GHz内部通信总线,以及512 MB图形处理单元(GPU)。而且,模拟模块106利用唯一资源配置404C配置模拟实例402C。唯一资源配置404C包括资源约束:2 GB RAM,2 GHz关于八核处理器,4 GB固态驱动器、2 GHz内部通信总线,2 GB GPU以及张量处理单元。可以看出,对具有低资源能力的嵌入式设备的资源配置来说,模拟实例402A的资源配置404A是典型的。相反,作为具有内置GPU和张量处理单元和高资源能力的强大边缘设备的资源配置,模拟实例402C具有唯一资源配置404C。
模拟模块106从应用储存库112获得分析应用的云容器,并同时在模拟实例402A-C上部署分析应用的云容器。模拟实例402A-C使用红外视频流数据、根据相应唯一资源配置来执行分析应用达具体时间段(例如,48个小时)。在示例性实现方式中,模拟实例402A-C可以具有DockerTM运行时以运行分析应用的云容器。云容器还可以包含红外视频流数据。在该时间段期间,模拟模块106监视正在模拟实例402A-C上模拟的分析应用的行为。模拟模块106计算指示模拟实例402A-C中的每一个上的分析应用的行为的参数值。参数值可以指示分析应用的输出的准确度、处理器上的平均/峰值负载、平均/峰值读取和写入、GPU/张量处理单元的平均/峰值利用率等等。
模拟模块106检验与模拟实例中的每一个相关联的参数值是否处于预定阈值水平内。例如,如果参数值指示处理器的平均利用率在特定模拟实例(例如,模拟实例402A)上是90%,而处理器的利用率的预定阈值是75%。在这种情况下,具体模拟实例(例如,模拟实例402A)上的分析应用的行为或性能被称为不令人满意或不可接受。当在具有诸如具体模拟实例的配置之类的配置的边缘设备上运行分析应用时,这可能导致性能问题。在当前示例中,分析应用是计算上昂贵的,并且因此,分析应用的性能在具有低资源配置404A的模拟实例402A上不令人满意。
基于参数值,模拟模块106从模拟实例402A-C识别在其上分析应用的行为被发现为令人满意的一个或多个模拟实例。换言之,针对模拟实例计算的参数值处于预定阈值水平内。考虑模拟模块106识别在其上分析应用的行为令人满意的模拟实例402B和402C。
模拟模块106在模拟实例402B和402C当中确定具有最低唯一资源配置的模拟实例。在当前情况下,模拟模块402将与模拟实例402B相关联的唯一资源配置404B识别为用于在边缘设备104A-N上部署分析应用的最优资源配置。最优资源配置是边缘设备应当具有以用于有资格部署分析应用的最少的所推荐的资源配置。模拟模块106将最优资源配置存储在应用储存库112中与分析应用相关联的元文件中。
当接收到用于在边缘设备104A上提供分析应用的请求时,边缘设备管理模块110从边缘设备104A获得实时资源可用性信息。边缘设备管理模块110评估边缘设备104A的实时资源能力以基于实时资源可用性信息和最优资源配置来实时执行分析应用。如果边缘设备104A具有最优资源配置,则提供模块108将分析应用提供给边缘设备104A。这有助于确保在边缘设备104A上执行时分析应用的性能将令人满意。
本发明可以呈现计算机程序产品的形式,该计算机程序产品包括可从计算机可使用或计算机可读介质访问的程序模块,该计算机可使用或计算机可读介质存储程序代码以供一个或多个计算机、处理器或指令执行系统使用或者结合一个或多个计算机、处理器或指令执行系统使用。出于该描述的目的,计算机可使用或计算机可读介质可以是下述任何装置,该装置可以包含、存储、传送、传播或传输程序以供指令执行系统、装置或设备使用或者结合指令执行系统、装置或设备使用。该介质可以是电子、磁、光学、电磁、红外或半导体系统(或者装置或设备)或者它们自身中的和它们自身的传播介质,这是由于信号载体未被包括在物理计算机可读介质的定义中,包括半导体或固态存储器、磁带、可移除计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘(诸如,致密盘只读存储器(CD-ROM)、致密盘读取/写入和DVD)。用于实现技术的每一个方面的处理器和程序代码两者都可以是集中式的或分布式的(或其组合),如对本领域技术人员来说已知的那样。
尽管已经参考某些实施例详细描述了本发明,但应当领会,本发明不限于那些实施例。鉴于本公开,在不脱离如本文描述的本发明的各种实施例的范围的情况下,对本领域技术人员来说,许多修改和变型自身将存在。因此,本发明的范围由所附权利要求指示,而不是由以上描述指示。落入权利要求的等同物的含义和范围内的所有改变、修改和变型应在它们的范围内考虑。方法权利要求中要求保护的所有有利实施例也可以适用于系统/装置权利要求。

Claims (15)

1.一种在物联网IoT环境中的边缘设备上提供软件应用的方法,包括:
由处理器生成能够对所述IoT环境中的一个或多个边缘设备上的软件应用的行为进行模拟的多个模拟实例,其中所述多个模拟实例中的每一个模拟实例是利用唯一资源配置来配置的;
使用来自工厂的数据来在所述每一个模拟实例上处理所述软件应用;以及
基于在所述模拟实例上所述软件应用的处理来计算与所述软件应用相关联的最优资源配置,其中计算与所述软件应用相关联的最优资源配置包括:
从所述多个模拟实例确定在其上所述软件应用的行为令人满意的至少一个模拟实例;以及
确定与所确定的模拟实例相关联的唯一资源配置,其中所述唯一资源配置是指示在所述一个或多个边缘设备上执行所述软件应用所需的最少资源的最优资源配置。
2.根据权利要求1所述的方法,进一步包括:
将所述最优资源配置存储在应用储存库中与所述软件应用相关联的元文件中。
3.根据权利要求1所述的方法,其中生成能够对所述软件应用的行为进行模拟的多个模拟实例包括:
从多个唯一资源配置中选择唯一资源配置集合,其中所述唯一资源配置集合对应于所述IoT环境中的边缘设备的实时资源能力;以及
基于所选择的唯一资源配置集合来生成所述多个模拟实例。
4.根据权利要求1或3所述的方法,其中每一个唯一资源配置包括影响所述软件应用的行为的资源约束。
5.根据权利要求1所述的方法,其中使用来自工厂的数据来在所述每一个模拟实例上处理所述软件应用包括:
基于所述每一个模拟实例的唯一资源配置,使用来自所述工厂的数据,来在所述每一个模拟实例上模拟所述软件应用的行为;以及
在所述每一个模拟实例上所述软件应用的模拟期间捕获指示所述软件应用的行为的参数值。
6.根据权利要求5所述的方法,其中计算在所述一个或多个边缘设备上部署所述软件应用所需的最优资源配置包括:
基于所捕获的参数值来从所述多个模拟实例确定在其上所述软件应用的行为令人满意的至少一个模拟实例;以及
确定所述唯一资源配置。
7.根据权利要求1所述的方法,进一步包括:
评估所述IoT环境中的至少一个边缘设备的实时资源能力,以基于与所述软件应用相关联的最优资源配置来执行所述软件应用;以及
基于所述边缘设备的实时资源能力的评估来在所述边缘设备上提供所述软件应用。
8.一种用于在物联网IoT环境中的边缘设备上提供软件应用的系统,包括:
一个或多个处理器;
耦合到所述处理器的存储器单元,其中所述存储器单元包括能够存储多个软件应用的应用储存库;
模拟模块,被配置用于:
生成能够对所述IoT环境中的一个或多个边缘设备上的软件应用的行为进行模拟的多个模拟实例,其中所述多个模拟实例中的每一个模拟实例是利用唯一资源配置来配置的;
使用来自工厂的数据来在所述每一个模拟实例上处理所述软件应用;以及
基于在所述模拟实例上所述软件应用的处理来计算与所述软件应用相关联的最优资源配置,其中所述模拟模块被配置成通过下述操作来计算与所述软件应用相关联的最优资源配置:
从所述多个模拟实例确定在其上所述软件应用的行为令人满意的至少一个模拟实例;以及
确定与所确定的模拟实例相关联的唯一资源配置,其中所述唯一资源配置是指示在所述一个或多个边缘设备上执行所述软件应用所需的最少资源的最优资源配置。
9.根据权利要求8所述的系统,其中所述模拟模块被配置用于:
将所述最优资源配置存储在所述应用储存库中与所述软件应用相关联的元文件中。
10.根据权利要求8或9所述的系统,其中所述模拟模块被配置用于:
从多个唯一资源配置中选择唯一资源配置集合,其中所述唯一资源配置集合对应于所述IoT环境中的边缘设备的实时资源能力,并且其中每一个唯一资源配置包括影响所述软件应用的行为的资源约束;以及
基于所选择的唯一资源配置集合来生成所述多个模拟实例。
11.根据权利要求10所述的系统,其中所述模拟模块被配置用于:
基于所述每一个模拟实例的唯一资源配置,使用来自所述工厂的数据,来在所述每一个模拟实例上模拟所述软件应用的行为;以及
在所述每一个模拟实例上所述软件应用的模拟期间捕获指示所述软件应用的行为的参数值。
12.根据权利要求11所述的系统,其中所述模拟模块被配置用于:
基于所捕获的参数值来从所述多个模拟实例确定在其上所述软件应用的行为被发现为令人满意的至少一个模拟实例;以及
确定与所确定的模拟实例相关联的唯一资源配置,其中所述唯一资源配置是所述最优资源配置。
13.根据权利要求8所述的系统,进一步包括:
边缘设备管理模块,被配置用于评估所述IoT环境中的至少一个边缘设备的实时资源能力,以基于与所述软件应用相关联的最优资源配置来执行所述软件应用。
14.根据权利要求13所述的系统,进一步包括:
基于所述边缘设备的实时资源能力的评估来在所述边缘设备上提供所述软件应用。
15.一种在其中存储有机器可读指令的计算机可读介质,所述机器可读指令在由处理器执行时使所述处理器执行根据权利要求1至7中任一项所述的方法步骤。
CN201880063083.5A 2017-09-27 2018-09-19 在物联网环境中的边缘设备上提供软件应用 Active CN111108737B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17193359.1 2017-09-27
EP17193359.1A EP3462705B1 (en) 2017-09-27 2017-09-27 Provisioning of software applications on edge devices in an internet-of-things environment
PCT/EP2018/075346 WO2019063383A1 (en) 2017-09-27 2018-09-19 PROVIDING SOFTWARE APPLICATIONS ON EDGE DEVICES IN AN INTERNET ENVIRONMENT OF OBJECTS

Publications (2)

Publication Number Publication Date
CN111108737A CN111108737A (zh) 2020-05-05
CN111108737B true CN111108737B (zh) 2022-03-15

Family

ID=60001686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880063083.5A Active CN111108737B (zh) 2017-09-27 2018-09-19 在物联网环境中的边缘设备上提供软件应用

Country Status (7)

Country Link
US (1) US10795655B1 (zh)
EP (1) EP3462705B1 (zh)
JP (1) JP6844067B2 (zh)
KR (1) KR102195750B1 (zh)
CN (1) CN111108737B (zh)
SG (1) SG11202002694TA (zh)
WO (1) WO2019063383A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11067968B2 (en) * 2017-11-03 2021-07-20 Honeywell International Inc. IIOT (industrial internet of things) communications interface
CN109302483B (zh) * 2018-10-17 2021-02-02 网宿科技股份有限公司 一种应用程序的管理方法及系统
CN114041281B (zh) * 2019-08-01 2023-11-21 西门子股份公司 现场数据传输方法、装置、系统和计算机可读介质
US11182142B2 (en) * 2019-10-10 2021-11-23 Wipro Limited Method and system for dynamic deployment and vertical scaling of applications in a cloud environment
JP7134937B2 (ja) * 2019-10-30 2022-09-12 株式会社東芝 情報処理装置、プログラムおよび情報処理システム
US11240340B2 (en) * 2020-05-12 2022-02-01 International Business Machines Corporation Optimized deployment of analytic models in an edge topology
KR20210142829A (ko) 2020-05-19 2021-11-26 삼성에스디에스 주식회사 복수의 엣지 디바이스에게 애플리케이션을 배포하는 엣지 컴퓨팅 시스템 및 방법
CN112612475B (zh) * 2020-12-25 2022-03-15 四川长虹电器股份有限公司 一种实现物联设备仿真的方法
US11611474B2 (en) * 2020-12-28 2023-03-21 Juniper Networks, Inc. Edge controller with network performance parameter support
EP4202743A1 (en) * 2021-12-23 2023-06-28 Secure Thingz Limited A provisioning control apparatus and method for provisioning electronic components or devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104104538A (zh) * 2013-04-02 2014-10-15 国际商业机器公司 网络边缘处的应用的上下文感知管理的方法和系统
WO2015041670A1 (en) * 2013-09-20 2015-03-26 Schneider Electric Usa Inc. Systems and methods for verification and deployment of applications to programmable devices
WO2017035536A1 (en) * 2015-08-27 2017-03-02 FogHorn Systems, Inc. Edge intelligence platform, and internet of things sensor streams system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4129988B2 (ja) * 2005-11-10 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション リソースのプロビジョニング方法
CA2764354A1 (en) * 2012-01-16 2013-07-16 Giovanni J. Morelli Host-emulator bridge system and method
US9274816B2 (en) * 2012-12-21 2016-03-01 Mcafee, Inc. User driven emulation of applications
US10248429B2 (en) * 2014-04-25 2019-04-02 Hewlett Packard Enterprise Development Lp Configuration based on a blueprint
EP3021224B1 (en) * 2014-11-17 2018-03-07 Fujitsu Limited Method and apparatus for producing a benchmark application for performance testing
US10101244B2 (en) * 2015-03-02 2018-10-16 Ca, Inc. Self-learning simulation environments
US11463526B2 (en) * 2016-08-25 2022-10-04 Intel Corporation Future proofing and prototyping an internet of things network
WO2018128598A1 (en) * 2017-01-04 2018-07-12 Intel Corporation Simulation of internet of things systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104104538A (zh) * 2013-04-02 2014-10-15 国际商业机器公司 网络边缘处的应用的上下文感知管理的方法和系统
WO2015041670A1 (en) * 2013-09-20 2015-03-26 Schneider Electric Usa Inc. Systems and methods for verification and deployment of applications to programmable devices
WO2017035536A1 (en) * 2015-08-27 2017-03-02 FogHorn Systems, Inc. Edge intelligence platform, and internet of things sensor streams system

Also Published As

Publication number Publication date
US20200301685A1 (en) 2020-09-24
JP6844067B2 (ja) 2021-03-17
US10795655B1 (en) 2020-10-06
CN111108737A (zh) 2020-05-05
EP3462705B1 (en) 2019-07-10
KR20200051037A (ko) 2020-05-12
EP3462705A1 (en) 2019-04-03
WO2019063383A1 (en) 2019-04-04
SG11202002694TA (en) 2020-04-29
KR102195750B1 (ko) 2020-12-28
JP2020535532A (ja) 2020-12-03

Similar Documents

Publication Publication Date Title
CN111108737B (zh) 在物联网环境中的边缘设备上提供软件应用
Wen et al. Fog orchestration for internet of things services
Abreu et al. A comparative analysis of simulators for the cloud to fog continuum
TWI547817B (zh) 叢集運算架構的資源規劃方法、系統及裝置
US10101244B2 (en) Self-learning simulation environments
JP6753200B2 (ja) シミュレートされたオペレータ・トレーニング・システムに対するクラウド・ベースのコンピューティング・クラスタのための方法、システムおよびコンピュータ・プログラム
US20160071023A1 (en) Computing Instance Launch Time
US11570057B2 (en) Systems and methods for contextual transformation of analytical model of IoT edge devices
US11429434B2 (en) Elastic execution of machine learning workloads using application based profiling
Bashar Autonomic scaling of cloud computing resources using BN-based prediction models
Mechalikh et al. PureEdgeSim: A simulation framework for performance evaluation of cloud, edge and mist computing environments
CN114503108A (zh) 向经过训练的机器学习模型添加对抗鲁棒性
US11568242B2 (en) Optimization framework for real-time rendering of media using machine learning techniques
CN116047934B (zh) 一种无人机集群的实时仿真方法、系统以及电子设备
CN111753875A (zh) 一种电力信息系统运行趋势分析方法、装置及存储介质
KR20200114233A (ko) 사용자 이용 패턴을 신경망 알고리즘으로 분석하여 다음 어플리케이션을 예측하는 모바일 디바이스 메모리 관리 장치 및 방법
Shankar et al. Janus: Benchmarking commercial and open-source cloud and edge platforms for object and anomaly detection workloads
Kumar et al. Association learning based hybrid model for cloud workload prediction
EP3447645A1 (en) Smart provisioning software applications on edge devices in an internet-of-things environment
US20180060987A1 (en) Identification of abnormal behavior in human activity based on internet of things collected data
CN116134387A (zh) 用于确定工业任务的ai模型的压缩率的方法和系统
CN104883273A (zh) 虚拟化服务管理平台中业务影响模型的处理方法和系统
Xu et al. Edge Video Analytics: A Survey on Applications, Systems and Enabling Techniques
EP4270121A1 (en) Method and system for seamless transition of runtime system from controller device to digitalization platform
CN104902220A (zh) 基于改进gmm方法的设备运行状态云监控装置

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
GR01 Patent grant
GR01 Patent grant