CN113454594A - 用于云服务的本机代码生成 - Google Patents

用于云服务的本机代码生成 Download PDF

Info

Publication number
CN113454594A
CN113454594A CN202080014969.8A CN202080014969A CN113454594A CN 113454594 A CN113454594 A CN 113454594A CN 202080014969 A CN202080014969 A CN 202080014969A CN 113454594 A CN113454594 A CN 113454594A
Authority
CN
China
Prior art keywords
user
cloud service
computer
service
model specification
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
CN202080014969.8A
Other languages
English (en)
Inventor
R.波利格
M.普兰达尔
M.马尼卡
R.马蒂斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN113454594A publication Critical patent/CN113454594A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • G06F9/4552Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • 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
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/10Protocols in which an application is distributed across nodes in the 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B5/00ICT specially adapted for modelling or simulations in systems biology, e.g. gene-regulatory networks, protein interaction networks or metabolic networks

Abstract

本发明尤其涉及用于提供云服务以执行模型规范的计算任务的计算机实现的方法。该方法包括由云服务从用户接收模型规范和用于模型规范的输入数据。该方法还包括由云服务从模型规范生成本机代码,以及由云服务通过将本机代码作为本机进程与输入数据一起执行来执行计算任务。进一步的步骤包括由所述云服务向所述用户提供所述计算任务的结果。本发明进一步涉及相关的计算系统和相关的计算机程序产品。

Description

用于云服务的本机代码生成
背景技术
本发明涉及一种用于提供云服务以执行与模型规范(model specification)相关联的计算任务的计算机实现的方法。
本发明进一步涉及相应的计算系统和相应的计算机程序产品。
许多软件应用依赖于需要被执行、模拟或分析的模型规范。模型规范通常以人类可读文本文件编写,并且与执行该模型的软件应用的代码解耦。现有技术的软件加载规范并且将其编译成它可以使用的有效数据结构。这些数据结构被解释为执行模型的期望行为。数据结构的这样的解释步骤可以是用于实现这样的应用的高性能的路块。
发明内容
根据第一方面,本发明体现为一种用于提供云服务以执行模型规范的计算任务的计算机实现的方法。该方法包括由云服务从用户接收模型规范和用于模型规范的输入数据。该方法还包括由云服务从模型规范生成本机代码,以及由云服务通过将本机代码作为本机进程与输入数据一起执行来执行计算任务。进一步的步骤包括由云服务向用户提供计算任务的结果。
本发明的另一方面涉及一种用于提供云服务以执行计算任务的计算系统。所述计算系统包括具有程序代码的一个或多个存储器和一个或多个处理器,其中所述一个或多个处理器响应于所述程序代码的检索和执行而使所述计算机系统执行操作,所述操作包括:实现云服务;从用户接收模型规范和与模型规范相关联的输入数据;从模型规范生成本机代码;通过将本机代码作为本机进程与输入数据一起执行来执行计算任务;以及向用户提供计算任务的结果或换言之结果数据。
根据又一方面,公开了一种用于提供云服务以执行计算任务的计算机程序产品。所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由所述云服务的计算系统执行以使所述云服务执行一种方法,所述方法包括:从用户接收模型规范和与模型规范相关联的输入数据,从模型规范生成本机代码,通过将本机代码作为本机进程与输入数据一起执行来执行计算任务,以及将计算任务的结果提供给用户。
下面将参考附图通过说明性和非限制性实例的方式更详细地描述本发明的实施例。
附图说明
图1描绘了根据本发明实施例的云计算节点;
图2描绘了根据本发明实施例的云计算环境;
图3描述了根据本发明实施例的抽象模型层;
图4示出了根据本发明实施例的用于提供云服务的计算机实现的方法的示意性流程图;
图5示出了根据本发明实施例的用于提供云服务的计算机实现的方法的更详细的流程图;
图6示出了根据本发明实施例的用于提供云服务的计算机实现的方法的另一示意性流程图;
图7示出了根据本发明实施例的执行容器的功能模块;并且
图8示出了根据本发明实施例的用于提供云服务的计算机实现的方法的另一示意性流程图。
具体实施方式
在本说明书的上下文中,可以使用以下惯例、术语和/或表达式:
本机代码可以被定义为被配置为在特定处理器上运行的编程代码。本机代码使用其写入的处理器的特定指令。如果在处理器或处理单元上而不是其专门写入的处理器或处理单元上使用,则本机代码通常可能不起作用。为了让本机代码在不同的处理器上运行,而不是在为其编写的处理器上运行,本机代码需要通过仿真器程序来运行。
容器可以定义为其实例是其他对象的集合的类、数据结构或抽象数据类型。换言之,它们以遵循特定访问规则的有组织的方式存储对象。容器的大小取决于它包含的对象的数目。不同容器类型的底层实现方式的大小和复杂性可以不同。
云服务经常可由终端用户高度配置以适合其需要。
根据各实施例,模型规范一般可被定义为应当由云服务执行的计算任务的规范。作为示例,电子电路的模型/描述可作为模型描述来提供。或者对于深度学习服务,模型规范、训练数据和评估数据可以由用户提供。根据各实施例,模型规范的一般结构一般为云服务所知或至少为云服务所知,以便于执行与模型规范相关联的计算任务。根据实施例,模型规范可以是基因调节网络。
各实施例公开了将模型规范转换成实现模型行为的本机代码的计算系统。这去除了经由数据结构间接执行模型的开销。
此外,各实施例公开了要在云环境中执行的客户机的模型规范的安全且可靠的执行环境。术语“安全”应特别指客户端的模型规范、输入和输出数据的隐私。术语“可靠”应特别地意味着可在云环境中执行已被翻译成本机代码的客户端的模型规范,而不损害提供者应用和系统的稳定性或安全性。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,各实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便、按需的网络访问,所述可配置计算资源可以用最小的管理努力或与服务提供者的交互来快速配置和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可按需自动地单方面供应计算能力,诸如服务器时间和网络存储,而无需与服务的提供者的人类交互。
广泛的网络接入:能力在网络上是可用的并且通过标准机制来访问,所述标准机制促进由异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池化:提供者的计算资源被池化以使用多租户模型服务于多个消费者,其中不同的物理和虚拟资源根据需要被动态地指派和重新指派。存在位置独立性的意义,因为消费者通常对所提供资源的确切位置不具有控制或知识,但可能能够在较高抽象层级(例如,国家、州或数据中心)处指定位置。
快速弹性:可以快速且弹性地提供能力(在一些情况下,自动地)以快速缩小并且快速释放以快速放大。对于消费者,可用于供应的能力通常显得不受限制,并且可以在任何时间以任何数量购买。
测量的服务:云系统通过利用适于服务类型(例如,存储、处理、带宽和活动用户账户)的某种抽象级别的计量能力来自动控制和优化资源使用。可监视、控制和报告资源使用,从而为所利用的服务的提供者和消费者两者提供透明度。业务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从不同客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至个体应用能力的底层云基础结构,可能的例外是有限的用户特定的应用配置设置。
平台即服务(PaaS):向消费者提供的能力是在云基础结构上部署消费者创建或获取的应用,所述应用是使用提供者所支持的编程语言和工具来创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础结构,但是具有对所部署的应用以及可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供消费者能够部署和运行可包括操作系统和应用的任意软件的处理、存储、网络和其他基本计算资源。消费者不管理或控制底层云基础结构,而是具有对操作系统、存储、所部署的应用的控制,以及对所选联网组件(例如,主机防火墙)的可能有限的控制。
部署模型如下:
私有云:云基础结构仅为组织操作。它可由组织或第三方管理,并且可存在于场所内或场所外。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:使云基础结构对公众或大型产业组可用并且由销售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,关注于状态、低耦合、模块性和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图1,示出了云计算节点的示例的示意图。云计算节点10仅是合适的云计算节点的一个示例,并且不旨在对在此描述的各实施例的使用范围或功能提出任何限制。无论如何,云计算节点10能够被实现和/或执行本文阐述的功能中的任何一个。
在云计算节点10中存在服务器12,该服务器12可与许多其他通用或专用计算系统环境或配置一起操作。可适合于与服务器12一起使用的众所周知的计算系统、环境和/或配置的实例包含,但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机,手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品,网络PC、小型计算机系统、大型计算机系统和包括任何上述系统或设备的分布式云计算环境,等等。
服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。服务器12可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备来执行。在分布式云计算环境中,程序模块可位于包括存储器存储设备的本地和远程计算机系统存储介质两者中。
如图1所示,云计算节点10中的服务器12以通用计算设备的形式示出。服务器12的组件可包含(但不限于)一个或一个以上处理器或处理单元16、系统存储器28和将包含系统存储器28的不同系统组件耦合到处理器16的总线18。根据实施例,服务器12可包括若干处理单元16,尤其是中央处理单元(CPU)、图形处理单元(GPU)和现场可编程门阵列(FPGA)。
总线18表示若干类型的总线结构中的任一种总线结构中的一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例而非限制,此类架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线。
服务器12通常包括各种计算机系统可读介质。这样的介质可以是服务器12可访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质两者。
系统存储器28可包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)30和/或高速缓存存储器32。服务器12还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅通过举例的方式,可以提供存储系统34用于从不可移动、非易失性磁介质(未示出,并且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,可以提供用于读写可移动非易失性磁盘(例如,“软盘”)的磁盘驱动器以及用于读写诸如CD-ROM、DVD-ROM或其他光学介质之类的可移动非易失性光盘的光盘驱动器。在这样的实例中,每一个都可以通过一个或多个数据介质接口连接到总线18。如下面将进一步描绘和描述的,存储器28可以包括至少一个程序产品,该程序产品具有被配置为执行实施例的功能的程序模块的集合(例如,至少一个)。
具有一组(至少一个)程序模块42的程序/实用工具40以及操作系统、一个或多个应用程序、其他程序模块和程序数据可以通过示例而非限制的方式存储在存储器28中。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一者或其某一组合可包含联网环境的实施例。程序模块42通常执行如本文所述的实施例的功能和/或方法。
服务器12还可以与一个或多个外部设备14(诸如键盘、定点设备、显示器24等)通信;使得用户能够与服务器12交互的一个或多个设备;和/或使得服务器12能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)。这样的通信可以经由输入/输出(I/O)接口22发生。再者,服务器12可以经由网络适配器20与诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,互联网)之类的一个或多个网络通信。根据实施例,服务器12可以经由网络适配器20与图形处理单元(GPU)16和/或现场可编程门阵列(FPGA)16通信。
如图所示,网络适配器20通过总线18与服务器12的其他组件通信。应理解,尽管未示出,但可结合服务器12使用其他硬件和/或软件组件。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据归档存储系统等。
现在参见图2,描绘了说明性云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点10,云消费者使用的本地用户设备(例如,个人数字助理(PDA)或移动电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N)可与云计算节点10通信。用户设备54A、54B、54C和54N在下文中通常还可以被称为用户设备54。用户设备54可以属于同一用户或用户组。属于同一用户或用户组的用户设备54被称为用户设备54的集合55。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础结构、平台和/或软件作为云消费者不需要维护本地计算设备上的资源的服务。应理解,图1中所示的计算装置54A-N的类型仅旨在是说明性的,且计算节点10和云计算环境50可经由任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化装置通信。
现在参见图3,示出了由云计算环境50(图2)提供的一组功能抽象层。应预先理解,图3中所示的组件、层和功能仅旨在是说明性的,并且实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个实例中,管理层80可提供下文所描述的功能。资源供应81提供用于执行云计算环境内的任务的计算资源和其他资源的动态获取。计量和定价82在云计算环境内利用资源时提供成本跟踪,并针对这些资源的消费进行计费或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及对数据和其他资源的保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)计划和履行85提供云计算资源的预安排和采购,根据SLA预期该云计算资源的未来要求。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟教室教育交付93;数据分析处理94;交易处理95;以及提供匿名存储服务96。
图4示出了根据实施例的用于提供云服务410的计算机实现的方法的示意性流程图400。云服务410适于执行与模型规范420相关联的计算任务。
在步骤430,云服务410从用户U接收模型规范420和用于模型规范410的输入数据421。
在步骤431,云服务410生成并且编译(例如,即时)来自模型规范420的本机代码,并且开始本机进程411。此本机代码可嵌入有(例如,可能预编译的)具有到本机代码的预定义通信接口的代码段。
在步骤432,云服务410通过利用输入数据421执行本机代码作为本机进程411来执行计算任务。
根据各实施例,计算任务的执行可涉及例如模型规范420的模拟。根据进一步实施例,计算任务的执行可另外或替代地涉及模型规范420的分析。
然后,在步骤433,云服务410向用户U提供计算任务的结果422。根据各实施例,云服务410可以在完成计算任务之后在步骤434处拆除本机进程411以释放资源。这个步骤434可以包括标记本机代码并且将本机代码存储在云服务410的数据库/存储装置中。这样的标记和存储促进本机代码对于同一用户的未来服务请求的重用。即,生成相关联的标签,使得可以从数据库容易地检索相应的代码。
产生和拆除本机进程可以经由操作系统的命令在本地完成,或者远程利用云管理服务(例如OpenStack)完成。
根据实施例,模型规范420可以是包括多个节点和节点的对应更新函数的布尔网络。根据实施例,模型规范420可以是基因调节网络,并且输入数据421可以是基因调节网络的刺激。基因(或遗传)调节网络(GRN)可以定义为彼此相互作用并且与细胞中的其他物质相互作用以控制mRNA和蛋白质的基因表达水平的分子调节剂的集合。交互可以是直接或间接的。换言之,“基因调节网络”可以被认为是表示信号通路、转录因子及其靶基因如何相互作用以协调复杂生物过程的布线图。实施例允许模拟大的基因调节网络。网络拓扑结构由用户提供的模型规范定义,该模型规范包括网络中所有基因节点的所有更新功能。根据各实施例的云服务将这些功能实现为本机代码。这促进了仿真性能,与在解释器级操作的云服务相比,该仿真性能可能显著更高。
根据实施例,用户U可以提交JavaScript对象表示法(JSON)格式的基因调节网络规范,其定义用于网络中的每个节点的一组更新功能。
云服务410接收该规范并将其转换成本机表示,例如中央处理单元的C编程语言或现场可编程门阵列(FPGA)的Verilog编程语言。
该本机表示随后被编译并与预定义本机应用层链接,该预定义本机应用层提供用于云服务410与本机应用的用户专用部分通信的手段。
通过使用用于执行相应计算任务的本机代码,根据实施例的云服务可以受益于最新的处理器特征。换言之,其允许充分利用由其在其上运行的处理器所提供的特征。其可进一步实现具有用户专用任务的GPU或FPGA的使用,而不损害系统的稳定性。
图5示出了根据实施例的用于提供云服务510的计算机实现的方法的更详细的流程图500。云服务510包括到用户U的服务接口511和服务后端512。
在步骤520,云服务510(更具体地,云服务510的服务接口511)从用户U接收服务接入请求(SAR)。业务接入请求SAR包括用户公钥PKU。
在步骤521,服务接口511向用户U提供服务公钥PKS。服务公钥PKS是云服务510的公钥。
在步骤522,云服务510启动特定于用户的执行容器。特定于用户的执行容器由服务后端512运行并且包括用户公钥PKU以及与服务公钥PKS相相应的私有服务密钥SKS。因特定于用户的执行容器是仅属于单个终端用户的个体容器实例。
用户U现在可以在步骤523向服务接口521提交包括加密的模型规范和加密的输入数据的服务执行请求,该服务执行请求用服务公钥加密。服务接口511将服务执行请求路由到包括相应的用户公钥的特定于用户的执行容器。
然后,在步骤524,执行容器可以借助于对应于服务公钥PKS的服务密钥SKS来解密经加密的模型规范和经加密的输入数据。
然后,在步骤525,执行容器可从解密的模型规范生成本机代码,并且在步骤526,通过用解密的输入数据执行本机代码作为本机进程来执行计算任务。最后,在步骤527,执行容器通过用户公钥PKU对计算任务的结果进行加密。
最后,在步骤528,云服务510将加密的结果提供给用户U。
更具体地,执行容器将结果发送到服务接口511,服务接口511将该结果转发到用户U。
因此,在这样的具体化的系统中,用户特定的执行容器是能够解密经加密的模型规范和输入数据的唯一过程。此外,对去往和来自执行容器的所有通信进行加密,并且当处于明文时,每个用户的模型规范和输入数据在单独的容器中运行。
根据各实施例,执行计算任务的应用作为软件即服务(SaaS)被托管在云上。通过提供加密的执行容器,可以保护模型规范以及输入和输出数据在传输和执行期间免受任何未授权的访问。这是特别重要的,因为这样的模型规范的设计可以是冗长的过程,并且因此可以使用云服务建立客户端用于执行相应的计算任务的重要资产。
图6示出了根据实施例的用于提供云服务的计算机实现的方法的另一示意性流程图600。具体地,流程图600示出了使用容器技术来为两个不同的用户UA和UB提供安全执行环境。
在步骤601,第一用户UA向云服务的服务接口611发送服务访问请求。第一用户UA与服务接口611交换公钥。更具体地说,它发送用户公钥PKA,并接收服务公钥PKS。
在步骤602,服务接口611启动用于第一用户UA的执行容器621的启动。这包括将用户公钥PKA注入到容器621中。
然后,在后续步骤603,第一用户UA可以以安全的方式与执行容器621交换加密的模型规范和相关联的数据,特别是输入数据和结果数据。
并行地(由标号631所示出的),第二用户UB可以在步骤604处向云服务的服务接口611发送服务访问请求。在步骤604期间执行的注册包括与服务接口611交换公钥。具体地,所述第二用户UB向所述业务接口611发送用户公钥PKB,并接收业务公钥PKS。
在步骤605,所述服务接口611发起针对所述第二用户UB的执行容器622的启动。这包括将用户公钥PKB注入到容器622中。
然后,在随后的步骤606处,所述第二用户UB可以以安全的方式与所述执行容器622交换加密的模型规范和相关联的数据(具体地,输入数据和结果数据)。
应当注意,根据各实施例,每个用户可启动多个执行容器以满足性能需要。
图7示出了根据实施例的执行容器700的功能模块。执行容器700包括编译模块710,其被配置为编译来自模型规范的本机代码。编译模块710可特别地包括可用于云服务的所有执行容器的静态编译代码711。即,静态编译代码711对于所有执行容器可以是相同的,因此这个短语使用术语“静态”。
执行容器700还包括通信(comm.)模块720,其被配置为与云服务的服务接口通信,例如利用图5的服务接口512。通信模块720可以特别地包括可以用于云服务的所有执行容器的静态通信代码721。通信模块720具体包括用于与消息队列系统通信的代码。
执行容器700还包括配置成执行本机代码731的动态执行模块730。本机代码731即时从所接收的模型规范生成,并且因此对于每个执行容器700可以是不同的。每当用户向云服务提交新的模型规范时,动态执行模块730(其也可被标记为本机代码模块)被生成。
执行容器700还包括配置成执行静态执行代码741的静态执行模块740。静态执行代码可以用于云服务的所有执行容器。即,静态执行代码741是指作为控制动态执行模块730的执行的主进程的静态执行模块740的代码。
更具体地,静态执行模块740可以经由进程间通信机制与动态执行模块730交互,并且可以开始和终止动态执行模块。动态执行模块730可以由静态执行模块740作为单独的过程启动,并且可以包含几个附加的静态例程以允许通信。
此外,执行容器700包括用户公钥PKU和服务私钥SKS。根据各实施例,由编译模块710生成的本机代码是专门为相应云服务的中央处理单元CPU(例如图1所示的服务器10的处理单元16)编译的本机代码。根据各实施例,由编译模块710生成的本机代码711是专门针对相应云服务的图形处理单元(GPU)编译的本机代码。根据各实施例,由编译模块710生成的本机代码是针对相应云服务的现场可编程门阵列(FPGA)专门编译的本机代码。
根据各实施例,为了保护免受来自云提供者的访问,应用提供者可使用指令扩展来保护模型规范的代码和相应的明文输入/输出数据不被访问。这可以通过将模型规范和输入和输出数据声明为敏感数据并且仅允许对这些存储器位置的可信代码访问来实现。模型规范和数据可以进入和离开经加密的这个区域,从而提供更高级别的安全性。
图8示出了根据实施例的用于提供云服务的计算机实现的方法的另一示意性流程图800。
在步骤801,用户UA向云服务的服务接口811发送服务访问请求。服务接口811可以是例如FPGA的用户接口。在交换相应的公共密钥(用户公共密钥PKA和服务公共密钥PKS)之后,服务接口811验证用户密钥,并且在肯定结果的情况下,准许用户接入。在步骤802,存在对具有给定密钥的新容器的请求,以及由云操作系统的应用编程接口(API)812发布新执行容器。这样的云操作系统可控制整个数据中心中的大量计算、存储和联网资源。API812可以是例如OpenStack操作系统的API。在步骤803,云操作系统然后为用户UA启动执行容器8211。此外,在步骤804,云操作系统向服务接口811启动相应的状态。服务接口811与执行容器之间的通信可以经由消息排队(MQ)来执行。根据实施例,可使用消息排队系统RabbitMQ。在启动执行容器之前,在MQ系统上创建新的接收队列。当启动执行容器时,其经配置以经由启动参数监听此特定队列。所有执行容器实例的输出被发送到相同的队列,该队列被服务逻辑读取并被进一步处理,例如可视化的和/或存储在数据库中。因而,如果用户UA是新用户,则在步骤805,服务接口811添加消息队列。根据各实施例,每个用户可启动多个容器以满足性能需要。根据图8的示例,提供了用于用户UA的另一个执行容器8212。此外,图8示出了用于另一个用户UB的另一个执行容器822。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于引起处理器/处理单元(例如服务器12的一个或多个处理单元16)执行本发明的各方面。
计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体例子的非穷举列表包括以下:便携式计算机盘,硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存),静态随机存取存储器(SRAM)、便携式致密盘只读存储器(CD-ROM),数字通用盘(DVD)、记忆棒、软盘、机械编码设备(诸如穿孔卡片)或具有记录在其上的指令的凹槽中的凸起结构,以及上述的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,包括面向对象的Smalltalk、C++等编程语言,以及常规的过程式编程语言,例如“C”编程语言或类似的编程语言。计算机可读程序指令可完全在用户”的计算机上执行、部分在用户”的计算机上执行、作为独立软件包执行、部分在用户”的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的方面。
本文中参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其他可编程数据处理装置,以产生机器,其通过计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可存储在可指导计算机的计算机可读存储介质中,可编程数据处理装置,和/或以特定方式起作用的其他设备,使得具有存储在其中的指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置上,或使得在计算机上执行一系列操作步骤的其他装置,其他可编程装置或其他设备,以产生计算机实现的过程,使得在计算机上执行的指令,其他可编程装置或其他设备实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实现方式中,框中所标注的功能可以不以图中所标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,所述基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。
已经出于说明的目的呈现了本发明的不同实施例的描述,但并不旨在是穷尽性的或局限于所披露的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对本领域的普通技术人员而言将是显而易见的。选择在此使用的术语以最佳地解释实施例的原理、实际应用或在市场上找到的技术上的技术改进,或使得本领域普通技术人员能够理解在此披露的实施例。

Claims (20)

1.一种用于提供云服务以执行模型规范的计算任务的计算机实现的方法,所述方法包括:
由所述云服务从用户接收所述模型规范和用于所述模型规范的输入数据;
由所述云服务从所述模型规范生成本机代码;
由所述云服务通过将所述本机代码作为本机进程与所述输入数据一起执行来执行所述计算任务;以及
由所述云服务向所述用户提供所述计算任务的结果。
2.如权利要求1所述的计算机实现的方法,其中所述计算任务的所述执行包括所述模型规范的模拟、所述模型规范的分析、或所述模型规范的模拟和所述模型规范的分析两者。
3.如权利要求1所述的计算机实现的方法,其中所述方法包括:
在完成所述计算任务之后拆除所述本机进程;
标记所述本机代码;以及
将所述本机代码存储在所述云服务的数据库中。
4.如权利要求1所述的计算机实现的方法,其中
所述模型规范包括布尔网络,所述布尔网络包括多个节点以及所述节点的更新函数。
5.如权利要求4所述的计算机实现的方法,其中
所述模型规范包括基因调节网络;以及
所述输入数据包括所述基因调节网络的刺激。
6.如权利要求1所述的计算机实现的方法,所述方法包括:
为所述云服务的多个用户提供用户特定的执行容器,
由所述用户特定的执行容器从相应的模型规范中生成相应的本机代码;
由所述用户特定的执行容器通过将所述相应的本机代码作为本机进程与所述相应的输入数据一起执行来执行相应的计算任务;以及
加密所有往来于所述用户特定的执行容器的通信。
7.如权利要求1所述的计算机实现的方法,其中所述方法包括:
由所述云服务从用户接收服务访问请求,所述服务访问请求包括用户公钥;
由所述云服务向所述用户提供所述云服务的服务公钥;以及
由所述云服务启动包括所述用户公钥的特定于用户的执行容器。
8.如权利要求7所述的计算机实现的方法,其中所述方法包括:
由所述云服务从所述用户接收加密的模型规范和加密的输入数据,所述加密的模型规范和所述加密的输入数据是用所述服务公钥加密的;
由所述云服务将所述加密的模型规范和所述加密的输入数据路由到包括所述相应的用户公钥的所述用户特定的执行容器;
由所述用户特定的执行容器通过与所述服务公钥对应的服务密钥解密所述加密的模型规范和所述加密的输入数据;
由所述用户特定的执行容器从所述解密的模型规范中生成本机代码;
由所述用户特定的执行容器通过将所述本机代码作为本机进程与所述解密的输入数据一起执行来执行所述计算任务;
由所述特定于用户的执行容器通过所述用户公钥将所述计算任务的结果加密为加密的结果;
由所述云服务向所述用户提供所述计算任务的加密的结果。
9.如权利要求1所述的计算机实现的方法,所述方法包括:
由所述云服务提供用于执行所述计算任务的执行容器,其中所述执行容器包括:
编译模块,其被配置以编译来自所述模型规范的本机代码;
通信模块,其被配置以与所述云服务的服务接口通信;
动态执行模块,其被配置以执行所述本机代码;以及
静态执行模块,其被配置以执行静态执行代码。
10.如权利要求9所述的计算机实现的方法,其中
所述编译模块、所述通信模块和所述执行模块包括静态代码;以及
所述云服务的多个执行容器包括所述相同的静态代码。
11.如权利要求9所述的计算机实现的方法,其中所述执行容器进一步包括:
用户公钥;以及
服务私钥。
12.如权利要求1所述的计算机实现的方法,其中所述本机代码是用于中央处理单元的本机代码。
13.如权利要求1所述的计算机实现的方法,其中所述本机代码是用于通用处理单元的本机代码。
14.如权利要求1所述的计算机实现的方法,其中所述本机代码是用于现场可编程门阵列的本机代码。
15.一种用于提供云服务以执行计算任务的计算系统,所述计算系统包括具有程序代码的一个或多个存储器和一个或多个处理器,其中所述一个或多个处理器响应于所述程序代码的检索和执行而使所述计算机系统执行操作,所述操作包括:
实现所述云服务;
由所述云服务从用户接收模型规范和与所述模型规范相关联的输入数据;
由所述云服务从所述模型规范生成本机代码;
由所述云服务通过将所述本机代码作为本机进程与所述输入数据一起执行来执行所述计算任务;
由所述云服务向所述用户提供所述计算任务的结果。
16.如权利要求15所述的计算系统,其中所述一个或多个处理器响应于所述程序代码的检索和执行而使所述计算机系统执行操作,所述操作包括:
在完成所述计算任务之后拆除所述本机进程;
标记所述本机代码;以及
将所述本机代码存储在所述云服务的数据库中。
17.如权利要求15所述的计算系统,其中所述一个或多个处理器响应于所述程序代码的检索和执行而使所述计算机系统执行操作,所述操作包括:
为所述云服务的多个用户提供用户特定的执行容器;
由所述用户特定的执行容器从相应的模型规范生成相应的本机代码;
由所述用户特定的执行容器通过将所述相应的本机代码作为本机进程与所述相应的输入数据一起执行来执行相应的计算任务;以及
加密所有往来于所述用户特定的执行容器的通信。
18.如权利要求15所述的计算系统,其中所述一个或多个处理器响应于所述程序代码的检索和执行而使所述计算机系统执行操作,所述操作包括:
由所述云服务从用户接收服务访问请求,所述服务访问请求包括用户公钥;
由所述云服务向所述用户提供所述云服务的服务公钥;以及
由所述云服务启动包括所述用户公钥的特定于用户的执行容器。
19.如权利要求15所述的计算系统,其中所述一个或多个处理器响应于所述程序代码的检索和执行而使所述计算机系统执行操作,所述操作包括:
由所述云服务提供用于执行所述计算任务的执行容器,其中所述执行容器包括:
编译模块,其被配置以编译来自所述模型规范的本机代码;
通信模块,被配置以与所述云服务的服务接口通信;
动态执行模块,其被配置以执行所述本机代码;以及
静态执行模块,其被配置以执行静态执行代码。
20.一种用于提供云服务以执行计算任务的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由所述云服务的计算系统执行以使所述云服务执行方法,所述方法包括:
从用户接收模型规范和与所述模型规范相关联的输入数据;
从所述模型规范生成本机代码;
通过将所述本机代码作为本机进程与所述输入数据一起执行来执行所述计算任务;以及
将所述计算任务的结果提供给所述用户。
CN202080014969.8A 2019-02-22 2020-01-20 用于云服务的本机代码生成 Pending CN113454594A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/282,459 US11150926B2 (en) 2019-02-22 2019-02-22 Native code generation for cloud services
US16/282,459 2019-02-22
PCT/IB2020/050412 WO2020170049A1 (en) 2019-02-22 2020-01-20 Native code generation for cloud services

Publications (1)

Publication Number Publication Date
CN113454594A true CN113454594A (zh) 2021-09-28

Family

ID=72141249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080014969.8A Pending CN113454594A (zh) 2019-02-22 2020-01-20 用于云服务的本机代码生成

Country Status (6)

Country Link
US (1) US11150926B2 (zh)
JP (1) JP7358005B2 (zh)
CN (1) CN113454594A (zh)
DE (1) DE112020000891T5 (zh)
GB (1) GB2595994B (zh)
WO (1) WO2020170049A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11385923B2 (en) * 2019-07-16 2022-07-12 International Business Machines Corporation Container-based virtualization system extending kernel functionality using kernel modules compiled by a compiling container and loaded by an application container
US20210266289A1 (en) * 2020-02-21 2021-08-26 Unisys Corporation Secured container management
US11501026B2 (en) * 2020-07-13 2022-11-15 Avaya Management L.P. Method to encrypt the data at rest for data residing on Kubernetes persistent volumes
CN115495223A (zh) * 2022-11-18 2022-12-20 安徽华云安科技有限公司 任务安全调度方法、装置、设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601126B1 (en) * 2000-01-20 2003-07-29 Palmchip Corporation Chip-core framework for systems-on-a-chip
US20120284390A1 (en) * 2011-05-02 2012-11-08 American Express Travel Related Services Company, Inc. Guaranteed response pattern
CN103945348A (zh) * 2014-04-25 2014-07-23 长沙市梦马软件有限公司 一种非对称密钥短信加密方法和系统
CN104573063A (zh) * 2015-01-23 2015-04-29 四川中科腾信科技有限公司 一种基于大数据的数据分析方法
CN105474177A (zh) * 2013-05-31 2016-04-06 日本电气株式会社 分布式处理系统、分布式处理设备、分布式处理方法和分布式处理程序

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124376B2 (en) * 2000-05-02 2006-10-17 Palmchip Corporation Design tool for systems-on-a-chip
EP2112593A1 (en) 2008-04-25 2009-10-28 Facton GmbH Domain model concept for developing computer applications
US8424082B2 (en) 2008-05-08 2013-04-16 Google Inc. Safely executing an untrusted native code module on a computing device
US20110125743A1 (en) * 2009-11-23 2011-05-26 Nokia Corporation Method and apparatus for providing a contextual model based upon user context data
US9038038B1 (en) 2010-06-01 2015-05-19 Google Inc. Just in time cloud compilation
US8510728B2 (en) * 2010-06-30 2013-08-13 International Business Machines Corporation Dynamic determination of application server runtime classloading
US8713518B2 (en) 2010-11-10 2014-04-29 SRC Computers, LLC System and method for computational unification of heterogeneous implicit and explicit processing elements
US8938712B2 (en) 2011-12-22 2015-01-20 International Business Machines Corporation Cross-platform virtual machine and method
US9569184B2 (en) 2012-09-05 2017-02-14 Microsoft Technology Licensing, Llc Generating native code from intermediate language code for an application
US20140109072A1 (en) * 2012-10-16 2014-04-17 Citrix Systems, Inc. Application wrapping for application management framework
US9239713B1 (en) * 2013-03-06 2016-01-19 MobileForce Software, Inc. Platform independent rendering for native mobile applications
US10127138B2 (en) 2013-06-06 2018-11-13 Microsoft Technology Licensing, Llc. Debugging native code by transitioning from execution in native mode to execution in interpreted mode
US9201635B2 (en) 2013-12-30 2015-12-01 Unisys Corporation Just-in-time dynamic translation for translation, compilation, and execution of non-native instructions
US9703965B1 (en) * 2014-06-30 2017-07-11 EMC IP Holding Company LLC Secure containers for flexible credential protection in devices
US10620952B2 (en) * 2015-06-24 2020-04-14 International Business Machines Corporation Conversion of boolean conditions
US10762285B2 (en) 2016-02-23 2020-09-01 Wolfram Research, Inc. Methods and systems for generating electronic forms
US10334062B2 (en) * 2016-02-25 2019-06-25 InAuth, Inc. Systems and methods for recognizing a device
US10127030B1 (en) * 2016-03-04 2018-11-13 Quest Software Inc. Systems and methods for controlled container execution
EP3433768A4 (en) * 2016-03-23 2019-12-04 Foghorn Systems, Inc. EFFICIENT STATE AUTOMATES FOR REAL-TIME DATA FLOW PROGRAMMING
US10530887B1 (en) * 2016-12-06 2020-01-07 Amazon Technologies, Inc. Pre-caching data for use upon execution of program code
TWI648608B (zh) 2017-03-20 2019-01-21 台達電子工業股份有限公司 空調設備的遠端智能有限狀態機控制系統
US11177042B2 (en) * 2017-08-23 2021-11-16 International Business Machines Corporation Genetic disease modeling
WO2019155369A1 (en) * 2018-02-07 2019-08-15 Patni Sangeeta Tri-affinity model driven method and platform for authoring, realizing, and analyzing a cross-platform application
US10601960B2 (en) * 2018-02-14 2020-03-24 Eingot Llc Zero-knowledge environment based networking engine
US11038678B2 (en) * 2018-11-09 2021-06-15 Microsoft Technology Licensing, Llc Trusted key diversity on cloud edge devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601126B1 (en) * 2000-01-20 2003-07-29 Palmchip Corporation Chip-core framework for systems-on-a-chip
US20120284390A1 (en) * 2011-05-02 2012-11-08 American Express Travel Related Services Company, Inc. Guaranteed response pattern
CN105474177A (zh) * 2013-05-31 2016-04-06 日本电气株式会社 分布式处理系统、分布式处理设备、分布式处理方法和分布式处理程序
CN103945348A (zh) * 2014-04-25 2014-07-23 长沙市梦马软件有限公司 一种非对称密钥短信加密方法和系统
CN104573063A (zh) * 2015-01-23 2015-04-29 四川中科腾信科技有限公司 一种基于大数据的数据分析方法

Also Published As

Publication number Publication date
US11150926B2 (en) 2021-10-19
JP2022521887A (ja) 2022-04-13
GB2595994B (en) 2022-09-28
GB2595994A (en) 2021-12-15
GB202112695D0 (en) 2021-10-20
DE112020000891T5 (de) 2021-11-11
WO2020170049A1 (en) 2020-08-27
US20200272487A1 (en) 2020-08-27
JP7358005B2 (ja) 2023-10-10

Similar Documents

Publication Publication Date Title
US11443226B2 (en) Training a machine learning model in a distributed privacy-preserving environment
CN113454594A (zh) 用于云服务的本机代码生成
US11263052B2 (en) Determining optimal compute resources for distributed batch based optimization applications
US10372419B2 (en) Trusted random number generation by a cloud server
CN112753196B (zh) 混合云kms解决方案中的hsm自毁方法、系统和存储介质
US20190026348A1 (en) Mining procedure dialogs from source content
CN107431620B (zh) 广播加密方案的运行时实例化
US11159620B2 (en) Blockchain based data transformation
US11366894B1 (en) Secure computing resource deployment using homomorphic encryption
US10318559B2 (en) Generation of graphical maps based on text content
US20170063776A1 (en) FAQs UPDATER AND GENERATOR FOR MULTI-COMMUNICATION CHANNELS
EP3935536B1 (en) Secure execution guest owner controls for secure interface control
US10248784B2 (en) Sequential object set passwords
US20230099150A1 (en) Structural information preserving for graph-to-text generation
US10642966B2 (en) Passwords defined using sequences of images
AU2020426828B2 (en) Reserving one or more security modules for secure guest
CN113424491B (zh) 执行加密计算标量乘法指令
US20230306118A1 (en) Federated Generative Models for Website Assessment
US11829495B2 (en) Confidential data provided to a secure guest via metadata
US20230308466A1 (en) Workflow penetration testing
US20230179410A1 (en) Data protection for remote artificial intelligence models
US10614206B2 (en) Sequential object set passwords
CN115935380A (zh) 用于容器中的数据的自动加密系统
US20210089949A1 (en) Determining source of interface interactions
US20200104348A1 (en) System and method to transform content and to generate a visual indicator of that transformation

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210928