CN113454594A - 用于云服务的本机代码生成 - Google Patents
用于云服务的本机代码生成 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 65
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 20
- 230000003068 static effect Effects 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 16
- 108090000623 proteins and genes Proteins 0.000 claims description 11
- 230000001105 regulatory effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000004088 simulation Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000000638 stimulation Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 230000003287 optical effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000006855 networking Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 102000040945 Transcription factor Human genes 0.000 description 1
- 108091023040 Transcription factor Proteins 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000031018 biological processes and functions Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 108020004999 messenger RNA Proteins 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000019491 signal transduction Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/4552—Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B5/00—ICT specially adapted for modelling or simulations in systems biology, e.g. gene-regulatory networks, protein interaction networks or metabolic networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
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.一种用于提供云服务以执行计算任务的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由所述云服务的计算系统执行以使所述云服务执行方法,所述方法包括:
从用户接收模型规范和与所述模型规范相关联的输入数据;
从所述模型规范生成本机代码;
通过将所述本机代码作为本机进程与所述输入数据一起执行来执行所述计算任务;以及
将所述计算任务的结果提供给所述用户。
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)
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)
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)
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 |
CN104854561B (zh) * | 2012-10-16 | 2018-05-11 | 思杰系统有限公司 | 用于应用程序管理框架的应用程序封装 |
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 |
JP2019516167A (ja) * | 2016-03-23 | 2019-06-13 | フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
US10530887B1 (en) * | 2016-12-06 | 2020-01-07 | Amazon Technologies, Inc. | Pre-caching data for use upon execution of program code |
CN108626850B (zh) * | 2017-03-20 | 2020-06-12 | 台达电子工业股份有限公司 | 空调设备的远程智能有限状态机控制系统 |
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 |
-
2019
- 2019-02-22 US US16/282,459 patent/US11150926B2/en active Active
-
2020
- 2020-01-20 GB GB2112695.8A patent/GB2595994B/en active Active
- 2020-01-20 JP JP2021544634A patent/JP7358005B2/ja active Active
- 2020-01-20 CN CN202080014969.8A patent/CN113454594A/zh active Pending
- 2020-01-20 WO PCT/IB2020/050412 patent/WO2020170049A1/en active Application Filing
- 2020-01-20 DE DE112020000891.6T patent/DE112020000891T5/de active Pending
Patent Citations (5)
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 |
DE112020000891T5 (de) | 2021-11-11 |
US20200272487A1 (en) | 2020-08-27 |
WO2020170049A1 (en) | 2020-08-27 |
JP2022521887A (ja) | 2022-04-13 |
GB2595994B (en) | 2022-09-28 |
GB2595994A (en) | 2021-12-15 |
JP7358005B2 (ja) | 2023-10-10 |
GB202112695D0 (en) | 2021-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11443226B2 (en) | Training a machine learning model in a distributed privacy-preserving environment | |
CN113454594A (zh) | 用于云服务的本机代码生成 | |
US10372419B2 (en) | Trusted random number generation by a cloud server | |
US20210034374A1 (en) | Determining optimal compute resources for distributed batch based optimization applications | |
US10169428B1 (en) | Mining procedure dialogs from source content | |
US20230099150A1 (en) | Structural information preserving for graph-to-text generation | |
CN112753196B (zh) | 混合云kms解决方案中的hsm自毁方法、系统和存储介质 | |
WO2022121511A1 (en) | Secure computing resource deployment using homomorphic encryption | |
CN107431620B (zh) | 广播加密方案的运行时实例化 | |
US11159620B2 (en) | Blockchain based data transformation | |
AU2020426828B2 (en) | Reserving one or more security modules for secure guest | |
US10318559B2 (en) | Generation of graphical maps based on text content | |
CN113544674A (zh) | 用于安全接口控件的安全执行客户机所有者控制 | |
US20170063776A1 (en) | FAQs UPDATER AND GENERATOR FOR MULTI-COMMUNICATION CHANNELS | |
CN112348302A (zh) | 具有无状态协调器的可扩展工作流引擎 | |
US10642966B2 (en) | Passwords defined using sequences of images | |
US10248784B2 (en) | Sequential object set passwords | |
US20230306118A1 (en) | Federated Generative Models for Website Assessment | |
US11829495B2 (en) | Confidential data provided to a secure guest via metadata | |
CN115935380A (zh) | 用于容器中的数据的自动加密系统 | |
CN113424491B (zh) | 执行加密计算标量乘法指令 | |
US20210089949A1 (en) | Determining source of interface interactions | |
US12008363B1 (en) | Delivering portions of source code based on a stacked-layer framework | |
US20230308466A1 (en) | Workflow penetration testing | |
US11205042B2 (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 |