CN102150105A - 虚拟容器的部署和管理 - Google Patents
虚拟容器的部署和管理 Download PDFInfo
- Publication number
- CN102150105A CN102150105A CN2009801351394A CN200980135139A CN102150105A CN 102150105 A CN102150105 A CN 102150105A CN 2009801351394 A CN2009801351394 A CN 2009801351394A CN 200980135139 A CN200980135139 A CN 200980135139A CN 102150105 A CN102150105 A CN 102150105A
- Authority
- CN
- China
- Prior art keywords
- application program
- virtual
- container
- module
- computer program
- 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.)
- Granted
Links
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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/45537—Provision of facilities of other operating environments, e.g. WINE
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
系统使用容器虚拟化管理端点上的应用程序。管理端点从IT自动化装置接收虚拟化容器。虚拟化容器包括应用程序和虚拟化模块。虚拟化模块包括用于虚拟化应用程序的计算机程序指令。应用程序在执行期间所进行的操作系统API调用被拦截,且计算机程序指令的一部分基于操作系统API调用而被执行。计算机程序指令更改应用程序的行为以实现应用程序的文件和数据虚拟化。虚拟化容器以及可支持虚拟化容器的部署和更新的代理,可从IT自动化装置被部署及更新。
Description
相关申请的交叉引用
本申请要求于2008年9月9日提交的美国临时申请号61/095,538的利益,其由此通过引用被全部并入。
技术领域
本发明通常涉及信息技术(IT)系统,尤其是涉及用于在企业环境中部署和管理应用程序的系统和方法。
背景技术
企业环境包括多个管理端点,例如用户工作站、开关和路由器。该企业环境由对管理端点执行各种信息技术(IT)任务的管理计算机管理。这些任务可包括在端点上部署或管理软件应用程序,或可包括保持端点安全。
企业往往希望将应用程序安全地部署到具有特定的配置的管理端点。还希望以安全和受控的方式在管理端点上运行应用程序,例如符合许可限制或防止用户不知不觉地改变端点的配置。以轻便的方式部署应用程序以便应用程序的正确运行不依赖于端点的特定配置也可能是优选的。
所需要的是用于以安全、受控和轻便的方式将软件安装并维持在管理端点上的系统和方法。
发明内容
上述的需要由用于使用容器在管理端点上虚拟化应用程序的系统、方法和计算机程序产品满足。管理端点从IT自动化装置接收虚拟化容器。虚拟化容器包括应用程序和虚拟化模块。虚拟化模块包括用于虚拟化应用程序的计算机程序指令。由应用程序在执行期间进行的操作系统API调用被拦截,且计算机程序指令的一部分基于该操作系统API调用被执行。计算机程序指令更改应用程序的行为,以实现应用程序的文件和数据的虚拟化。虚拟化容器以及可支持虚拟化容器的部署和更新的代理,可从IT自动化装被部署及更新。
附图说明
图1是一个示出在一个实施方式中包括信息技术(IT)自动化装置的环境的高级图示,该信息技术自动化装置用于在管理端点106上部署并管理容器;
图2是一个示出在一个实施方式中用于充当装置和/或管理端点的计算机的高级方框图;
图3是一个示出在一个实施方式中的管理端点的方框图;
图4是一个示出在一个实施方式中的IT自动化装置的方框图;
图5是一个示出在一个实施方式中用于使用容器来虚拟化应用程序的方法的流程图;
图6是一个示出在一个实施方式中用于在企业环境中管理容器的方法的流程图。
附图仅为了说明的目的而描述本发明的实施方式。本领域技术人员将容易从下面的描述中认识到,可使用本文所示的结构和方法的可选实施方式而不偏离本文所述的发明的原理。
具体实施方式
图1是一个示出在一个实施方式中包括用于在管理端点106上部署和管理容器108的信息技术(IT)自动化装置102(装置)的环境100的高级图示。也称为端点的管理端点106是计算设备,例如用户工作站或路由器。装置102可以由例如IT职员之一的操作员配置成部署并管理各种类型的容器108。图1示出具有一个装置102和两个管理端点106的环境100。然而,环境100可包括与装置102进行通信的数千个管理端点106。此外,环境100可包括多个装置102,一些装置可能用于备份或负载平衡目的。装置102和管理端点106通过网络104,例如互联网或公司内联网,进行通信。
管理端点106包括由装置102提供,也称为虚拟容器的容器108。容器108可包括在管理端点106上运行的应用程序,例如字处理器或系统实用程序。容器108通过在应用程序和管理端点106的操作系统之间添加一层来提供虚拟化。容器108可更改应用程序的行为,以便使应用程序及其数据与管理端点106的其余部分隔离。这可增加应用程序的轻便性,并防止应用程序负面地影响管理端点106的其余部分(例如,通过包含在应用程序中的恶意软件)。容器108也可限制应用程序的使用以符合许可限制或为了安全或其它依从性原因。在一个实施方式中,应用程序的行为通过拦截应用程序对操作系统所提供的API进行的调用来更改。容器108可由装置102产生并部署到端点106。单个容器可被部署到很多个端点106,且单个端点可具有多个容器(例如,用于多个应用程序)。
图2是一个示出在一个实施方式中用于充当装置102和/或管理端点106的计算机200的高级方框图。此图示出了耦合到芯片集204的至少一个处理器202。此外,存储器206、存储设备208、键盘210、图形适配器212、指示设备214和网络适配器216也耦合到芯片集204。显示器218耦合到图形适配器212。在一个实施方式中,芯片集204的功能由存储控制器集线器220和I/O控制器集线器222提供。在另一实施方式中,存储器206直接耦合到处理器202而不是芯片集204。
存储设备208是任何计算机可读存储介质,例如硬盘驱动器、光盘只读存储器(CD-ROM)、DVD或固态存储设备。存储器206保存处理器202所使用的指令和数据。指示设备214可为鼠标、跟踪球或其它类型的指示设备,并与键盘210结合使用来将数据输入到计算机系统200中。图形适配器212在显示器218上显示图像和其它信息。网络适配器216将计算机系统200耦合到局域网或广域网。
如在本领域中已知的,计算机200可具有与图2所示的那些部件不同的和/或除了图2所示的那些部件以外的部件。此外,计算机200可以缺少某些示出的部件。在一个实施方式中,充当装置102的计算机200缺少键盘210、指示设备214、图形适配器212和/或显示器218。而且,存储设备208可为本地的和/或远离计算机200(例如体现在存储区域网(SAN)内)。
如在本领域中已知的,计算机200适合于执行用于提供本文所述的功能的计算机程序模块。如本文使用的,术语“模块”指用来提供规定的功能的计算机程序逻辑。因此,模块可以在硬件、固件和/或软件中实现。在一个实施方式中,程序模块存储在存储设备208上、被装入存储器206中,并由处理器202执行。
本文所述的实体的实施方式可包括其它模块和/或与这里所述的模块不同的模块。此外,在其它实施方式中,模块的属性的功能可由其它或不同的模块执行。而且,为了使說明更清楚和方便,“模块”這术语有时候在这个描述中被省略。
图3是一个示出在一个实施方式中的管理端点106的方框图。如上所述,管理端点106可为用户工作站。管理端点106执行操作系统302,例如微软Windows Vista、Mac OS X或Linux。操作系统302能够运行各种应用程序,并提供各种应用程序接口(API)调用以支持应用程序。由OS提供的API的例子包括对运行应用程序、访问文件和在显示器上创建视窗的调用。操作系统302包括可存储各种系统文件、应用程序和用户数据的文件系统304。在一个实施方式中,文件系统304存储在管理端点106的存储设备208上。
如上所述,容器108可由装置102部署到管理端点106。容器108能够在管理端点上执行应用程序324,同时通过虚拟化为应用程序提供封闭式环境。管理端点106可具有多个容器108A和108B。容器108可执行多个应用程序324,虽然为了清楚起见,下面的讨论使用了单个应用程序。
容器108的应用程序324包括应用程序文件324和应用程序设置320。这些应用程序文件314包括各种可执行文件、应用程序数据文件和应用程序324执行所需要的库。应用程序设置320包括对应用程序324的设置和选项,例如记录值。应用程序设置320还可存储在文件中。各种后台程序例如Daemons或Windows服务也可通过应用程序文件314和/或应用程序设置320规定。
一组应用程序文件314和应用程序设置320最初被包括在容器108中,但应用程序文件和应用程序设置可随着时间由执行应用程序324更改。在一个实施方式中,应用程序文件314和应用程序设置320包括容器108的应用程序324所需的所有文件和设置。这容器被称为“完全容器化的”容器。在没有被完全容器化的容器108中,应用程序324所使用的一些文件和设置可位于容器的外部(例如,在也被操作系统302使用的文件系统304的一部分中)。这可能对减小容器108的大小是有用的,但這也可能减少容器的独立性、轻便性和安全性。
在一个实施方式中,应用程序文件314和应用程序设置320存储在容器108内的影子复制316中。这个影子复制316包括由应用程序324预期的目录结构。在一个实施方式中,影子复制316存储在对容器108保留的文件系统304的目录中。例如,在Windows操作系统中,特定容器108的文件可都位于“c:\containers\contain1”目录中。如果所包含的应用程序324预期库位于“c:\windows\system32\libxx.dll”处,则该容器108所需要的特定的库可被存储为“c:\containers\contain1\windows\system32\libxx.dll”。文件可实际上存在于“c:\windows\system32\libxx.dll”,然而这个文件不是容器108的部分,且不被完全容器化的容器中的应用程序324使用。
因为应用程序324只需要某些文件,一些正常包含很多文件的影子复制316的目录(例如,系统文件目录)可只包含很少的文件。此外,一些可能是空的目录,可在如果任何文件需要由应用程序324创建時加以利用。空目录提供应用程序324的预期目录结构。在没有被完全容器化的容器108中,如果所需要的文件没有在影子复制316中找到,它可从文件系统304的其余部分搜索到。
容器108可包括用于启动应用程序324的初始用户界面322,例如链結。一个链接到到应用程序文件314内的适当可执行文件的链結免却用户必须行进到影子复制316中的位置以启动应用程序324,并从用户的观点看维持应用程序直接在操作系统302上运行的现象。初始用户界面322可以是链結、快捷方式、URL或放置在方便的位置处例如用户桌面上的其它用户界面元素。
薄膜310和虚拟化模块312与容器初始化模块318协作实现容器108的虚拟化功能。虚拟化功能可更改应用程序功能(如应用程序文件314和应用程序设置320所提供的应用程序功能)以实现例如数据隔离、容器管理或应用程序用户接口的更改。
容器初始化模块318开始容器108的虚拟化功能。在一个实施方式中,容器初始化模块318在应用程序被执行时被调用。容器初始化模块318确定最近执行的应用程序是否是来自容器108内的应用程序,或是直接安装在操作系统302中(即,不在容器中)的应用程序。如果它被确定为不在容器108中的应用程序,则容器初始化模块318允许应用程序正常执行而不加以干预。如果它被确定为在容器108内的应用程序324,则容器初始化模块313识别容器108并执行或启动该容器的虚拟化模块312(在下面进一步描述)。容器初始化模块318接着可允许应用程序324的执行继续进行。
容器初始化模块318安装在管理端点106的操作系统302中,并可由管理端点上的多个容器108使用。在一个实施方式中,每当新的应用程序被启动时,操作系统302就通知容器初始化模块318。容器初始化模块318可与操作系统302挂钩,以便接收这些通知。在一个实施方式中,容器初始化模块318监控操作系统302的行动以确定新的应用程序何时被启动。容器初始化模块318可根据在文件系统304中的应用程序的位置来确定应用程序是否容器108的一部分。在一个实施方式中,容器初始化模块318可维持安装在端点上的容器化的应用程序324的签名的列表,并使用该列表来确定最近执行的应用程序是否被容器化。
虚拟化模块312为特定的容器108提供虚拟化功能。虚拟化模块312可充当管理应用程序324的一种管理程序。虚拟化模块312在执行应用程序324和操作系统302之间插入一层,允许根据如上所述管理政策(例如,由于安全或许可原因的限制使用,改变应用程序外观,等等)控制和抑制应用程序。在一个实施方式中,虚拟模块312使代码与各种OS API调用挂钩以拦截这些调用并执行期望的操作。在一个实施方式中,虚拟化模块312在后台执行并监控应用程序以拦截OS API调用。虚拟化模块312可配置成只拦截与同一容器108相关的来自应用程序324的OS API调用,以尽量减少在处理器202上的任何额外的载荷或其它系统性能的降低。
在一个实施方式中,虚拟化模块312拦截来自容器108的应用程序324的OS API调用。例如,如果应用程序324进行OS API调用以将文件写到文件系统304,则这个OS API调用由虚拟化模块312拦截。虚拟化模块312中的代码可接着使写入出现在不同的位置处。这可用以保持文件与影子复制316内的容器108相关并与文件系统的其余部分隔离,并且,当应用程序不在容器中时,对用户维持文件被写到正常的位置的现象。例如,如果用户将文件保存到“c:\program_files\wordprocessor\userfiles\doc1.txt”,应用程序因此进行OS API调用以将文件写到“c:\program_files\wordprocessor\userfiles\doc1.txt”,则虚拟化模块312可拦截该调用,并更改该调用的文件名参数,以使文件实际上被写到“c:\containers\contain1\program_files\wordprocessor\userfiles\doc1.txt”。虚拟化模块312可对其它文件操作例如文件读取执行类似的重定向。这些重定向可根据容器是否如上所述被完全容器化或部分容器化来不同地执行。
虚拟化模块312也可拦截并更改其它类型的OS API调用。可被更改的其中一类的OS API调用是导向到管理端点的显示器218的调用。例如,应用程序视窗的标题栏可被更改以说明应用程序324在容器108中运行。虚拟化模块312也可为了安全或许可原因而限制应用程序324的使用。例如,在网页浏览应用程序中,如果用户试图下载可能危险的可执行文件,浏览器所调用的从远程位置取回文件的OS API功能可被拦截,且操作可被阻止,或可在确定是否允许OS API调用继续进行之前对文件执行进一步的检查。当应用程序324被执行时,容器虚拟化模块318可以调用虚拟化模块312中的初始化功能。初始化功能在应用程序324被执行时可为特定的用户建立用户环境,且在应用程序被终止时可整理环境。初始化功能可启动任何所需的服务或deamons。
薄膜310可包括指定容器108的行为的信息。在薄膜310中的信息可由虚拟化模块312读取,以确定虚拟化模块312在拦截API调用或初始化用户环境时应采取什么行动。薄膜310可规定对应用程序324的各种用户偏好,并可规定对应用程序的外观进行的各种更改。使用于网页浏览器应用程序时,薄膜可包括被列入白名单或被列入黑名单的网站的列表。当API被网页浏览器应用程序调用以从用户指定的网站取回数据时,虚拟化模块312可拦截该调用,并可在薄膜310中检查网站的列表,以在允许API调用继续进行之前确定网站是否被列入黑名单。
薄膜310可包括基于软件许可证或公司政策的使用限制。虚拟化模块312可查询这些限制以确定是否允许特定API调用或是否允许应用程序执行。薄膜310还可存储虚拟化模块312所收集的使用信息。例如,在网页浏览器应用程序中,每当用户访问网站时,虚拟化模块312可将网站的名称存储在薄膜310中。
代理306通过网络104与装置102进行通信,并对管理端点106执行由装置102指示的各种管理功能,。代理306还可将来自管理端点106的信息提供到装置102。代理306可安装在管理端点106上作为端点的初始建立过程的部分。代理306可将容器初始化模块318安装在管理端点106上(例如,在从装置102下载模块之后)。代理306还可将从装置102接收的容器108安装在管理端点106上。容器108的影子复制316可如上所述存储在容器的影子复制的指定位置处。容器108的薄膜310和虚拟化模块312可存储在用户不可写入的文件系统304中的特定位置上。
代理306也可更新装置102所指示的容器。例如,装置102可将命令发送到代理306,以如上所述,将某些网站添加到网页浏览器应用程序的黑名单。响应于该命令,代理306可更改薄膜310中的数据以包括网站作为被列入黑名单的网站。此外,代理306可在薄膜310中设置开关,以根据来自装置102的命令启用或禁止应用程序324执行。这允许管理员容易启用或禁止应用程序324在端点106上的执行(包括在应用程序被执行时立即禁用应用程序)。代理306也可从端点106移除容器108。如果与容器108相关的文件限于影子复制316,该移除可能涉及影子复制的简单删除(以及薄膜310和虚拟化模块312的移除),而不影响操作系统302或其它应用程序。
有时候,虚拟模块312的更新可被产生并存储,用于分布在装置102处。代理306有时可在端点106处检查装置102以找到容器108中的虚拟化模块312的更新版本。这个检查可通过例如比较版本号或文件签名来完成。如果代理306确定有更新的虚拟化模块312,代理可下载其虚拟化模块并安装它来代替当前的虚拟化模块。代理306可类似地更新薄膜310、应用程序文件314和应用程序设置316。
用于虚拟化应用程序的如上所述的容器108的使用可防止用户执行危险或被禁止的行动,并可监控和限制应用程序324的使用。容器108也可将应用程序324的任何影响(包括恶意软件的影响)保持在影子复制316内,并保护的管理端点106和环境100的其余部分。容器108还通过在部署时为影子复制316内的应用程序提供必要的文件来增加应用程序324的轻便性。在一个实施方式中,容器108可安装在来自便携式存储设备的管理端点106上。
图4是一个示出在一个实施方式中的IT自动化装置102的方框图。如上所述,装置104可用于在管理端点106上创建、部署和管理容器108。
在一个实施方式中,容器创建模块402用于创建将被部署在管理端点106上的容器108。系统管理员可将特定应用程序324(例如,字处理应用程序)的安装程序提供到容器创建模块402。这个安装程序可包括包含应用程序文件以及安装脚本或可执行程序的程序包。一个例子是由微软公司创建的Windows安装器所使用的“MSI”文件。系统管理员也可将额外的信息提供给容器创建模块402,以使它能够执行安装程序并创建容器108。这个额外的信息可指定运行该安装的操作系统(例如,微软Windows)以及被提供给安装程序的各种选项或参数。额外的信息也可指定升级机器(例如,使用IP地址),安装程序可在升级机器上运行来创建容器108。在一个实施方式中,升级机器可以是装置104本身。
容器创建模块402包括捕获模块414,其可在升级程序上的安装程序的执行期间捕获各种事件。捕获模块414捕获在安装期间创建的各种文件(例如,应用程序和库)及其在文件系统内的位置。捕获模块414也捕获对环境中的设置例如保存到寄存器的设置进行的更改。在一个实施方式中,捕获模块414捕获一些或全部安装程序的输入和输的出操作。捕获模块414可观察安装程序的运行时间逻辑,并可确定应用程序需要哪些文件、库和设置。例如,捕获模块414可观察安装程序以检查某些库的存在的,即使那些库不是由安装程序创建的。捕获模块414也可观察并捕获在安装期间创建的任何服务或其它实体。在一个实施方式中,捕获模块414与各种系统调用挂钩以执行其监控和捕获功能。
容器创建模块402根据来自捕获模块414的信息来创建影子复制316。影子复制316包括如捕获模块414所确定的各种文件、设置、服务和安装程序所创建的其它实体。影子复制316还可包括应用程序所需的其它文件或设置。如果容器108被配置为如上所述的“完全容器化的”容器,所有这样的文件都可被包括。如果它不是“完全容器化的”,可从影子复制316省略可能已经存在于管理端点上(例如,在操作系统目录中)的文件。
在一个实施方式中,容器创建模块402还接收虚拟化模块312和薄膜310。可使用标准或定制的发展工具创建并编译包含更改各种API调用并执行其它功能的代码的虚拟化模块312。可通过以虚拟模块312所理解的特定格式保存系统管理员所指定的各种容器设置来创建薄膜310。在一个实施方式中,容器创建模块302将影子复制316,、虚拟模块312和薄膜310封装在一起以形成容器108。容器创建模块402可将所创建的容器108存储在容器数据库410中用于以后的部署。
容器数据库410包括容器创建模块402所创建的容器108。这可包括影子复制316(包括文件和设置)、虚拟化模块312和薄膜310。它还可包括每个容器108的各种属性,例如在容器内的应用程序的名称,以及容器可运行的可能的平台和操作系统。系统管理员可进接到容器数据库410,并在选择容器108以部署到端点106时根据属性搜索。
部署模块406将存储在容器数据库410中的容器108部署到不同的管理端点。部署可由系统管理员单独地指定,或可根据脚本或其它标准被自动化。单个容器108可被部署到数千个管理端点106。部署模块406将容器108安装在管理端点106上,并将它配置成使得在容器内的应用程序324可由用户在管理端点106处容易执行。部署也可由用户在管理端点106处发起。在这种情况下,用户可接触装置102并请求部署。用户可下载将容器108——包括影子复制316、薄膜310和虚拟模块312——安装在管理端点106上的自我执行文件。
部署模块406可与管理端点106上的代理306协作以部署容器108。例如,部署模块406可通过网络104将容器发送到代理306。如上所述,代理306将影子复制316置于对文件系统304中的容器指定的特定位置处。代理306也将薄膜310和虚拟化模块312置于适当的位置处。代理306也例如通过将快捷方式添加到用户的桌面来创建初始用户界面322。
容器管理器408管理被部署到管理端点106的容器108。容器管理器408可通过管理端点106上的代理306来管理容器。容器管理器408可发送启用或禁止容器108实施对应用程序的使用限制的命令。这使薄膜310中的数据如上所述被更改。容器管理器408可从薄膜310取回使用数据。容器管理器408可提供薄膜310、虚拟化模块312或影子复制316的更新的版本。这些更新可如上所述改变应用程序324的行为或容器108的虚拟化功能。容器管理器408也可使在管理端点上的容器重新闪烁,以使容器返回到如被部署时的其初始状态。这对开始发生故障且不能被容易修复的应用程序可能是有用的。重新闪烁可通过将容器再次部署到管理端点来实现。
用户界面模块可用于由系统管理员控制容器创建模块402、部署模块406或容器管理器408的任何一个。通过用户界面模块412,系统管理员可在环境100中将容器创建、部署并管理到管理端点。
图5是在一个实施方式中示出用于使用容器108来虚拟化应用程序的方法的流程图。在管理端点106处的用户执行容器化的应用程序324(即具有容器108的应用程序)。在一个实施方式中,容器初始化模块318识别容器化的应用程序324的执行(502)。容器初始化模块318通过执行容器108的虚拟化模块312来初始化应用程序324的虚拟化(504)。虚拟化模块312可执行设置功能,例如启动所需的服务或准备用户环境。虚拟化模块312通过例如挂钩或监控来自执行应用程序324的API调用来拦截这些调用(506)。对于被拦截的API调用,虚拟化模块312确定执行关于API调用的行动(508)。例如,虚拟化模块312可确定允许调用未改变地继续进行,阻止调用,更改调用的参数,或进行其它API调用。虚拟化模块312可使用薄膜310中的信息来确定要执行的行动。虚拟化模块312接着执行所确定的行动(510)。
图6是一个示出在一个实施方式中用于在企业环境100中管理容器108的方法的流程图。容器创建模块402用于创建应用程序的容器(602),其中容器108包括具有应用程序文件的影子复制316和用于提供虚拟化应用程序的功能的虚拟化模块312。影子复制316可通过在升级机器上运行应用程序安装程序来创建。容器108透过使用部署模块406被部署到管理端点106(604)。该部署可由用户在管理端点106处发起。在管理端点106处的容器108由容器管理器408管理(606)。该管理可包括例如启用容器108、禁用容器、从容器取回使用信息、或更新容器(包括应用程序324、虚拟化模块312和薄膜310)。
上面的描述被包括以示出优选实施方式的操作,且并不意味着限制本发明的范围。本发明的范围仅由下面的权利要求限制。从上面的讨论中,对相关领域的技术人员来说,由本发明的精神和范围包括的很多变化将是明显的。
Claims (19)
1.一种用于使用容器来虚拟化计算机上的应用程序的计算机实现的方法,所述方法包括:
从远程计算机接收虚拟化容器,所述虚拟化容器包括应用程序和虚拟化模块,所述虚拟化模块包括用于虚拟化所述应用程序的计算机程序指令;
在所述应用程序的执行期间拦截由所述应用程序进行的操作系统应用程序接口(API)调用;以及
根据所述操作系统API调用执行所述虚拟化模块的所述计算机程序指令的一部分,其中所述计算机程序指令更改所述应用程序的行为以实现所述应用程序的虚拟化。
2.如权利要求1所述的计算机实现的方法,还包括:
确定所述应用程序已开始执行;以及
响应于确定所述应用程序已开始执行,执行初始化功能,所述初始化功能包括为包括在所述虚拟化容器中的所述应用程序的用户建立环境。
3.如权利要求1所述的计算机实现的方法,其中所述计算机程序指令的被执行部分防止所述应用程序访问恶意软件。
4.如权利要求1所述的计算机实现的方法,还包括:
使所述虚拟化容器重新闪烁以使所述虚拟化容器返回到其初始状态。
5.如权利要求1所述的计算机实现的方法,还包括:
确定新的应用程序已开始在所述计算机上执行;
确定所述新的应用程序是虚拟化容器的部分;以及
响应于确定所述新的应用程序是所述虚拟化容器的部分,使用于虚拟化所述应用程序的所述计算机程序指令与适当的操作系统API调用挂钩。
6.一种用于在计算环境中向管理端点提供虚拟化应用程序的计算机实现的方法,所述方法包括:
将代理部署到管理端点,所述代理适合于在所述管理端点上执行以支持虚拟化容器到所述端点的部署;以及
响应于所述代理将包含应用程序的虚拟化容器部署到所述管理端点,其中所述虚拟化容器包括计算机程序指令,当所述计算机程序指令在所述管理端点上被执行时虚拟化所述应用程序,所述虚拟化包括:
在所述应用程序的执行期间拦截由所述应用程序进行的操作系统应用程序接口(API)调用;以及
更改所述应用程序的行为以实现所述应用程序的虚拟化。
7.如权利要求6所述的计算机实现的方法,还包括:
在所述管理端点处更新所部署的虚拟化容器,所述更新包括向管理端点提供用于虚拟化所述应用程序的计算机程序指令,其中所更新的计算机程序指令实现所述应用程序的更新的管理政策。
8.一种用于使用容器虚拟化计算机上的应用程序的系统,所述系统包括:
存储可执行计算机程序模块的计算机可读存储介质,所述可执行计算机程序模块包括:
用于从远程计算机接收虚拟化容器的模块,所述虚拟化容器包括应用程序和虚拟化模块,所述虚拟化模块包括用于虚拟化所述应用程序的计算机程序指令;
用于在所述应用程序的执行期间拦截由所述应用程序进行的操作系统应用程序接口(API)调用的模块;以及
用于根据所述操作系统API调用执行所述虚拟化模块的所述计算机程序指令的一部分的模块,其中所述计算机程序指令更改所述应用程序的行为以实现所述应用程序的虚拟化。
9.如权利要求8所述的系统,还包括:
用于确定所述应用程序已开始执行的模块;以及
用于响应于确定所述应用程序已开始执行而执行初始化功能的模块,所述初始化功能包括为包括在所述虚拟化容器中的所述应用程序的用户建立环境。
10.如权利要求8所述的系统,其中所述计算机程序指令的被执行部分防止所述应用程序访问恶意软件。
11.如权利要求8所述的系统,还包括:
用于使所述虚拟化容器重新闪烁以使所述虚拟化容器返回到其初始状态的模块。
12.如权利要求8所述的系统,还包括:
用于确定新的应用程序已开始在所述计算机上执行的模块;
用于确定所述新的应用程序是虚拟化容器的部分的模块;以及
用于响应于确定所述新的应用程序是所述虚拟化容器的部分来使用于虚拟化所述应用程序的所述计算机程序指令与适当的操作系统API调用挂钩的模块。
13.一种用于在计算环境中向管理端点提供虚拟化应用程序的系统,所述系统包括信息技术(IT)装置,所述IT装置用于:
将代理部署到管理端点,所述代理适合于在所述管理端点上执行以支持虚拟化容器到所述端点的部署;以及
响应于所述代理将包含应用程序的虚拟化容器部署到所述管理端点,其中所述虚拟化容器包括计算机程序指令,当所述计算机程序指令在所述管理端点上被执行时虚拟化所述应用程序,所述虚拟化包括:
在所述应用程序的执行期间拦截由所述应用程序进行的操作系统应用程序接口(API)调用;以及
更改所述应用程序的行为以实现所述应用程序的虚拟化。
14.如权利要求13所述的系统,其中所述IT装置还被配置以便用于:
在所述管理端点处更新所部署的虚拟化容器,所述更新包括向管理端点提供用于虚拟化所述应用程序的计算机程序指令,其中所更新的计算机程序指令实现所述应用程序的更新的管理政策。
15.一种具有计算机可读存储介质的计算机程序产品,所述计算机可读存储介质具有在其上记录的用于使用容器虚拟化计算机上的应用程序的可执行计算机程序指令,所述计算机程序产品包括:
用于从远程计算机接收虚拟化容器的模块,所述虚拟化容器包括应用程序和虚拟化模块,所述虚拟化模块包括用于虚拟化所述应用程序的计算机程序指令;
用于在所述应用程序的执行期间拦截由所述应用程序进行的操作系统应用程序接口(API)调用的模块;以及
用于根据所述操作系统API调用执行所述虚拟化模块的所述计算机程序指令的一部分的模块,其中所述计算机程序指令更改所述应用程序的行为以实现所述应用程序的虚拟化。
16.如权利要求15所述的计算机程序产品,还包括:
用于确定所述应用程序已开始执行的模块;以及
用于响应于确定所述应用程序已开始执行而执行初始化功能的模块,所述初始化功能包括为包括在所述虚拟化容器中的所述应用程序的用户建立环境。
17.如权利要求15所述的计算机程序产品,其中所述计算机程序指令的被执行部分防止所述应用程序访问恶意软件。
18.如权利要求15所述的计算机程序产品,还包括:
用于使所述虚拟化容器重新闪烁以使所述虚拟化容器返回到其初始状态的模块。
19.如权利要求15所述的计算机程序产品,还包括:
用于确定新的应用程序已开始在所述计算机上执行的模块;
用于确定所述新的应用程序是虚拟化容器的部分的模块;以及
用于响应于确定所述新的应用程序是所述虚拟化容器的部分来使用于虚拟化所述应用程序的所述计算机程序指令与适当的操作系统API调用挂钩的模块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9553808P | 2008-09-09 | 2008-09-09 | |
US61/095,538 | 2008-09-09 | ||
PCT/US2009/056406 WO2010030703A1 (en) | 2008-09-09 | 2009-09-09 | Deployment and management of virtual containers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102150105A true CN102150105A (zh) | 2011-08-10 |
CN102150105B CN102150105B (zh) | 2015-06-17 |
Family
ID=41800268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980135139.4A Expired - Fee Related CN102150105B (zh) | 2008-09-09 | 2009-09-09 | 虚拟容器的部署和管理 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8381231B2 (zh) |
CN (1) | CN102150105B (zh) |
DE (1) | DE112009002168A5 (zh) |
GB (1) | GB2475011B (zh) |
WO (1) | WO2010030703A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932405A (zh) * | 2011-09-14 | 2013-02-13 | 微软公司 | 对应用的多租户访问 |
CN104023086A (zh) * | 2014-06-25 | 2014-09-03 | 北京奇艺世纪科技有限公司 | 一种web集群代码更新方法、装置及系统 |
CN104380256A (zh) * | 2012-04-19 | 2015-02-25 | 加泰罗尼亚理工大学 | 用于虚拟化与计算机系统关联的硬件资源的方法、系统和执行代码段 |
CN105164644A (zh) * | 2013-06-28 | 2015-12-16 | 惠普发展公司,有限责任合伙企业 | 钩子框架 |
CN106469275A (zh) * | 2015-08-18 | 2017-03-01 | 中兴通讯股份有限公司 | 虚拟机杀毒方法及装置 |
CN106687928A (zh) * | 2014-09-19 | 2017-05-17 | 微软技术许可有限责任公司 | 动态应用容器 |
CN107533503A (zh) * | 2015-03-05 | 2018-01-02 | 威睿公司 | 在部署期间选择虚拟化环境的方法和装置 |
CN107608757A (zh) * | 2017-08-29 | 2018-01-19 | 华为技术有限公司 | 一种基于容器的隔离处理方法及相关设备 |
CN109313577A (zh) * | 2016-06-30 | 2019-02-05 | 微软技术许可有限责任公司 | 分布式计算网络中的数据平面api |
CN111492347A (zh) * | 2018-01-30 | 2020-08-04 | 华睿泰科技有限责任公司 | 用于更新容器的系统和方法 |
CN111913426A (zh) * | 2019-05-08 | 2020-11-10 | 创升益世(东莞)智能自控有限公司 | 一种应用于工业自动化控制系统的软件容器方法 |
Families Citing this family (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102150105B (zh) * | 2008-09-09 | 2015-06-17 | 凯思网络公司 | 虚拟容器的部署和管理 |
FR2953611A1 (fr) * | 2009-12-07 | 2011-06-10 | Spawnapps | Procede de mise a disposition d'une application-cible |
US8893120B2 (en) * | 2010-01-29 | 2014-11-18 | Howard Pinsky | Controlled use medical applicaton |
CN101873318B (zh) * | 2010-06-08 | 2013-07-17 | 国网电力科学研究院 | 针对应用基础支撑平台上应用系统的应用与数据保全方法 |
US8789138B2 (en) * | 2010-12-27 | 2014-07-22 | Microsoft Corporation | Application execution in a restricted application execution environment |
US8825748B2 (en) * | 2011-07-06 | 2014-09-02 | Sharp Laboratories Of America, Inc. | Sandboxed daemon process invocation through HTTP |
US9430622B2 (en) | 2011-07-13 | 2016-08-30 | Dell Products L.P. | Mini appliance |
US9396311B2 (en) | 2011-07-13 | 2016-07-19 | Dell Products L.P. | Mini appliance ensuring software license compliance |
US8973136B2 (en) * | 2011-08-02 | 2015-03-03 | Quick Heal Technologies Private Limited | System and method for protecting computer systems from malware attacks |
US9015224B2 (en) | 2011-10-09 | 2015-04-21 | LabTech, LLC | Interactive response of a remote monitoring and management system |
US9519781B2 (en) * | 2011-11-03 | 2016-12-13 | Cyphort Inc. | Systems and methods for virtualization and emulation assisted malware detection |
US9792430B2 (en) | 2011-11-03 | 2017-10-17 | Cyphort Inc. | Systems and methods for virtualized malware detection |
US9686293B2 (en) | 2011-11-03 | 2017-06-20 | Cyphort Inc. | Systems and methods for malware detection and mitigation |
US9055091B2 (en) | 2011-11-16 | 2015-06-09 | LabTech, LLC | Adaptive timing of distributed device response to maximize channel capacity utilization |
US9240971B2 (en) | 2011-11-16 | 2016-01-19 | LabTech, LLC | Automated management of generalized central name services by distributed remote devices |
US8972969B2 (en) * | 2012-06-08 | 2015-03-03 | Adobe Systems Incorporated | Out of band services updates |
US9733953B2 (en) * | 2012-06-22 | 2017-08-15 | Microsoft Technology Licensing, Llc | API redirection for limited capability operating systems |
US9405556B2 (en) | 2012-06-28 | 2016-08-02 | Microsoft Technology Licensing, Llc | Dynamic addition and removal of operating system components |
US9047463B2 (en) * | 2012-06-29 | 2015-06-02 | Sri International | Method and system for protecting data flow at a mobile device |
US9245249B2 (en) | 2013-03-12 | 2016-01-26 | Labtech Llc | General, flexible, resilent ticketing interface between a device management system and ticketing systems |
US10803136B2 (en) * | 2013-03-15 | 2020-10-13 | Walmart Apollo, Llc | Apparatus and method enablement of customer information control systems on a mainframe computer |
EP2851833B1 (en) | 2013-09-20 | 2017-07-12 | Open Text S.A. | Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations |
US9674225B2 (en) | 2013-09-20 | 2017-06-06 | Open Text Sa Ulc | System and method for updating downloaded applications using managed container |
US10824756B2 (en) | 2013-09-20 | 2020-11-03 | Open Text Sa Ulc | Hosted application gateway architecture with multi-level security policy and rule promulgations |
CN104598257B (zh) * | 2013-10-30 | 2019-01-18 | 华为技术有限公司 | 远程应用程序运行的方法和装置 |
US10095866B2 (en) | 2014-02-24 | 2018-10-09 | Cyphort Inc. | System and method for threat risk scoring of security threats |
US10326778B2 (en) | 2014-02-24 | 2019-06-18 | Cyphort Inc. | System and method for detecting lateral movement and data exfiltration |
US11405410B2 (en) | 2014-02-24 | 2022-08-02 | Cyphort Inc. | System and method for detecting lateral movement and data exfiltration |
US10225280B2 (en) | 2014-02-24 | 2019-03-05 | Cyphort Inc. | System and method for verifying and detecting malware |
JP6272088B2 (ja) * | 2014-03-06 | 2018-01-31 | 三菱電機株式会社 | 計算機装置及びプロセス解析方法及びプログラム |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9537788B2 (en) | 2014-12-05 | 2017-01-03 | Amazon Technologies, Inc. | Automatic determination of resource sizing |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US10447720B1 (en) * | 2015-03-12 | 2019-10-15 | Symantec Corporation | Systems and methods for performing application container introspection |
US9916233B1 (en) | 2015-03-27 | 2018-03-13 | Amazon Technologies, Inc. | Using containers for update deployment |
US9930103B2 (en) | 2015-04-08 | 2018-03-27 | Amazon Technologies, Inc. | Endpoint management system providing an application programming interface proxy service |
US9785476B2 (en) | 2015-04-08 | 2017-10-10 | Amazon Technologies, Inc. | Endpoint management system and virtual compute system |
EP3304295B1 (en) | 2015-06-05 | 2024-05-29 | Nutanix, Inc. | Architecture for managing i/o and storage for a virtualization environment using executable containers and virtual machines |
US10042660B2 (en) | 2015-09-30 | 2018-08-07 | Amazon Technologies, Inc. | Management of periodic requests for compute capacity |
US10389598B2 (en) | 2015-10-29 | 2019-08-20 | Cisco Technology, Inc. | Container management and application ingestion engine |
US11593075B2 (en) | 2015-11-03 | 2023-02-28 | Open Text Sa Ulc | Streamlined fast and efficient application building and customization systems and methods |
US9811434B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US10754701B1 (en) | 2015-12-16 | 2020-08-25 | Amazon Technologies, Inc. | Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions |
US10013267B1 (en) | 2015-12-16 | 2018-07-03 | Amazon Technologies, Inc. | Pre-triggers for code execution environments |
US10002026B1 (en) * | 2015-12-21 | 2018-06-19 | Amazon Technologies, Inc. | Acquisition and maintenance of dedicated, reserved, and variable compute capacity |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
CN109416718B (zh) | 2015-12-24 | 2023-05-12 | 英特尔公司 | 云数据中心中应用容器的可信部署 |
US9396251B1 (en) * | 2016-01-07 | 2016-07-19 | International Business Machines Corporation | Detecting and tracking virtual containers |
US11388037B2 (en) | 2016-02-25 | 2022-07-12 | Open Text Sa Ulc | Systems and methods for providing managed services |
US10270841B1 (en) | 2016-03-04 | 2019-04-23 | Quest Software Inc. | Systems and methods of real-time container deployment |
US10140159B1 (en) | 2016-03-04 | 2018-11-27 | Quest Software Inc. | Systems and methods for dynamic creation of container manifests |
US10127030B1 (en) | 2016-03-04 | 2018-11-13 | Quest Software Inc. | Systems and methods for controlled container execution |
CN105808320B (zh) * | 2016-03-11 | 2018-12-04 | 四川安嵌科技有限公司 | 基于Linux容器的设备虚拟化系统及方法 |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10289457B1 (en) | 2016-03-30 | 2019-05-14 | Quest Software Inc. | Systems and methods for dynamic discovery of container-based microservices |
US10162672B2 (en) | 2016-03-30 | 2018-12-25 | Amazon Technologies, Inc. | Generating data streams from pre-existing data sets |
US10891145B2 (en) | 2016-03-30 | 2021-01-12 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on demand code execution environment |
US10089209B1 (en) * | 2016-05-17 | 2018-10-02 | United Services Automobile Association (Usaa) | Systems and methods for locally streaming applications in a computing system |
US10282229B2 (en) | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10203990B2 (en) | 2016-06-30 | 2019-02-12 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10277708B2 (en) | 2016-06-30 | 2019-04-30 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10169056B2 (en) | 2016-08-31 | 2019-01-01 | International Business Machines Corporation | Effective management of virtual containers in a desktop environment |
US10061613B1 (en) | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US11119813B1 (en) | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
US10649679B2 (en) | 2016-11-23 | 2020-05-12 | Nutanix, Inc. | Containerized application extensions in distributed storage systems |
US10169023B2 (en) * | 2017-02-06 | 2019-01-01 | International Business Machines Corporation | Virtual container deployment |
US10761911B2 (en) | 2017-02-13 | 2020-09-01 | Nutanix, Inc. | Asynchronous application interactions in distributed systems |
US10936331B2 (en) * | 2017-02-23 | 2021-03-02 | International Business Machines Corporation | Running a kernel-dependent application in a container |
KR101807806B1 (ko) * | 2017-05-02 | 2017-12-11 | 나무기술 주식회사 | 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법 |
US10885189B2 (en) * | 2017-05-22 | 2021-01-05 | Microsoft Technology Licensing, Llc | Isolated container event monitoring |
US10650139B2 (en) | 2017-06-12 | 2020-05-12 | Daniel Maurice Lerner | Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers |
US10789104B2 (en) | 2017-06-30 | 2020-09-29 | Vmware, Inc. | Methods and apparatus for deploying a distributed system using operating system virtualization |
US10733227B2 (en) | 2017-09-25 | 2020-08-04 | Red Hat, Inc. | Container image size reduction via runtime analysis |
US10303492B1 (en) | 2017-12-13 | 2019-05-28 | Amazon Technologies, Inc. | Managing custom runtimes in an on-demand code execution system |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10740362B2 (en) * | 2017-12-22 | 2020-08-11 | International Business Machines Corporation | Container structure |
WO2019133326A1 (en) * | 2017-12-27 | 2019-07-04 | Daniel Maurice Lerner | Securing temporal digital communications |
US10572375B1 (en) | 2018-02-05 | 2020-02-25 | Amazon Technologies, Inc. | Detecting parameter validity in code including cross-service calls |
US10353678B1 (en) | 2018-02-05 | 2019-07-16 | Amazon Technologies, Inc. | Detecting code characteristic alterations due to cross-service calls |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
US10931675B2 (en) * | 2018-04-10 | 2021-02-23 | Microsoft Technology Licensing, Llc | Local API access authorization |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
CN109241730B (zh) * | 2018-09-03 | 2020-09-29 | 杭州安恒信息技术股份有限公司 | 一种容器风险的防御方法、装置、设备及可读存储介质 |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US10901700B2 (en) * | 2019-02-27 | 2021-01-26 | International Business Machines Corporation | Automatic generation of container image in a runtime environment |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US10942762B2 (en) * | 2019-03-29 | 2021-03-09 | Hewlett Packard Enterprise Development Lp | Launch web browser applications in microservice-based containers |
US11163552B2 (en) | 2019-04-15 | 2021-11-02 | International Business Machines Corporation | Federated framework for container management |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
US11023311B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11463478B2 (en) | 2019-10-29 | 2022-10-04 | International Business Machines Corporation | Remediation strategy optimization for development, security and operations (DevSecOps) |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
CN111381833B (zh) * | 2020-03-05 | 2023-05-12 | 山东汇贸电子口岸有限公司 | 一种容器化的openstack数据初始化方法 |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
US11200041B1 (en) | 2020-05-22 | 2021-12-14 | International Business Machines Corporation | Remote installation, customization and deployment of mainframe components |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US20230367892A1 (en) * | 2022-05-13 | 2023-11-16 | Intuit Inc. | Secure embedded web browser |
CN116126737B (zh) * | 2023-04-11 | 2023-09-26 | 阿里云计算有限公司 | 容器测试方法以及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688981A (zh) * | 2002-08-09 | 2005-10-26 | 网络装置公司 | 通过在文件系统上将虚拟盘对象分层进行存储虚拟化 |
US20070234295A1 (en) * | 2006-03-13 | 2007-10-04 | Laurent Dufour | Method for executing an application in a virtual container forming a virtualized environment session |
US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7095854B1 (en) | 1995-02-13 | 2006-08-22 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5974549A (en) * | 1997-03-27 | 1999-10-26 | Soliton Ltd. | Security monitor |
US6643690B2 (en) * | 1998-12-29 | 2003-11-04 | Citrix Systems, Inc. | Apparatus and method for determining a program neighborhood for a client node in a client-server network |
IL132916A (en) * | 1999-11-14 | 2004-02-08 | Mcafee Inc | Method and system for intercepting an application program interface |
US7159224B2 (en) * | 2002-04-09 | 2007-01-02 | Sun Microsystems, Inc. | Method, system, and articles of manufacture for providing a servlet container based web service endpoint |
US8205072B1 (en) * | 2003-07-22 | 2012-06-19 | Cisco Technology, Inc. | Method and apparatus for electronically configuring a secured user desktop |
US7757291B2 (en) * | 2003-09-15 | 2010-07-13 | Trigence Corp. | Malware containment by application encapsulation |
US8363232B2 (en) * | 2004-05-03 | 2013-01-29 | Microsoft Corporation | Strategies for simultaneous peripheral operations on-line using hierarchically structured job information |
WO2006101549A2 (en) * | 2004-12-03 | 2006-09-28 | Whitecell Software, Inc. | Secure system for allowing the execution of authorized computer program code |
US7681226B2 (en) * | 2005-01-28 | 2010-03-16 | Cisco Technology, Inc. | Methods and apparatus providing security for multiple operational states of a computerized device |
US7577686B1 (en) * | 2006-02-10 | 2009-08-18 | Ringcube Technologies, Inc. | Dynamic table configuration in a virtual machine |
US20070240212A1 (en) * | 2006-03-30 | 2007-10-11 | Check Point Software Technologies, Inc. | System and Methodology Protecting Against Key Logger Spyware |
US9015703B2 (en) * | 2006-10-17 | 2015-04-21 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
CN102150105B (zh) * | 2008-09-09 | 2015-06-17 | 凯思网络公司 | 虚拟容器的部署和管理 |
-
2009
- 2009-09-09 CN CN200980135139.4A patent/CN102150105B/zh not_active Expired - Fee Related
- 2009-09-09 US US12/556,525 patent/US8381231B2/en active Active
- 2009-09-09 DE DE112009002168T patent/DE112009002168A5/de not_active Withdrawn
- 2009-09-09 GB GB1104065.6A patent/GB2475011B/en not_active Expired - Fee Related
- 2009-09-09 WO PCT/US2009/056406 patent/WO2010030703A1/en active Application Filing
-
2013
- 2013-01-16 US US13/743,191 patent/US9672078B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688981A (zh) * | 2002-08-09 | 2005-10-26 | 网络装置公司 | 通过在文件系统上将虚拟盘对象分层进行存储虚拟化 |
US20070234295A1 (en) * | 2006-03-13 | 2007-10-04 | Laurent Dufour | Method for executing an application in a virtual container forming a virtualized environment session |
US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932405A (zh) * | 2011-09-14 | 2013-02-13 | 微软公司 | 对应用的多租户访问 |
CN102932405B (zh) * | 2011-09-14 | 2016-03-30 | 微软技术许可有限责任公司 | 对应用的多租户访问 |
US9361080B2 (en) | 2011-09-14 | 2016-06-07 | Microsoft Technology Licensing, Llc | Multi tenant access to applications |
CN104380256A (zh) * | 2012-04-19 | 2015-02-25 | 加泰罗尼亚理工大学 | 用于虚拟化与计算机系统关联的硬件资源的方法、系统和执行代码段 |
US10545775B2 (en) | 2013-06-28 | 2020-01-28 | Micro Focus Llc | Hook framework |
CN105164644A (zh) * | 2013-06-28 | 2015-12-16 | 惠普发展公司,有限责任合伙企业 | 钩子框架 |
CN105164644B (zh) * | 2013-06-28 | 2018-10-16 | 安提特软件有限责任公司 | 钩子框架 |
CN104023086B (zh) * | 2014-06-25 | 2017-08-25 | 北京奇艺世纪科技有限公司 | 一种web集群代码更新方法、装置及系统 |
CN104023086A (zh) * | 2014-06-25 | 2014-09-03 | 北京奇艺世纪科技有限公司 | 一种web集群代码更新方法、装置及系统 |
CN106687928A (zh) * | 2014-09-19 | 2017-05-17 | 微软技术许可有限责任公司 | 动态应用容器 |
CN107533503A (zh) * | 2015-03-05 | 2018-01-02 | 威睿公司 | 在部署期间选择虚拟化环境的方法和装置 |
CN106469275A (zh) * | 2015-08-18 | 2017-03-01 | 中兴通讯股份有限公司 | 虚拟机杀毒方法及装置 |
CN109313577A (zh) * | 2016-06-30 | 2019-02-05 | 微软技术许可有限责任公司 | 分布式计算网络中的数据平面api |
US11121906B2 (en) | 2016-06-30 | 2021-09-14 | Microsoft Technology Licensing, Llc | Data plane API in a distributed computing network |
CN107608757A (zh) * | 2017-08-29 | 2018-01-19 | 华为技术有限公司 | 一种基于容器的隔离处理方法及相关设备 |
CN107608757B (zh) * | 2017-08-29 | 2021-01-08 | 华为技术有限公司 | 一种基于容器的隔离处理方法及相关设备 |
CN111492347A (zh) * | 2018-01-30 | 2020-08-04 | 华睿泰科技有限责任公司 | 用于更新容器的系统和方法 |
CN111492347B (zh) * | 2018-01-30 | 2023-11-24 | 华睿泰科技有限责任公司 | 用于更新容器的系统和方法 |
CN111913426A (zh) * | 2019-05-08 | 2020-11-10 | 创升益世(东莞)智能自控有限公司 | 一种应用于工业自动化控制系统的软件容器方法 |
Also Published As
Publication number | Publication date |
---|---|
DE112009002168T5 (de) | 2012-01-12 |
GB2475011A (en) | 2011-05-04 |
GB2475011B (en) | 2013-06-26 |
US20130198764A1 (en) | 2013-08-01 |
US9672078B2 (en) | 2017-06-06 |
US8381231B2 (en) | 2013-02-19 |
GB201104065D0 (en) | 2011-04-20 |
WO2010030703A1 (en) | 2010-03-18 |
DE112009002168A5 (de) | 2012-03-15 |
US20100064299A1 (en) | 2010-03-11 |
GB2475011A8 (en) | 2012-03-07 |
CN102150105B (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102150105B (zh) | 虚拟容器的部署和管理 | |
US10394547B2 (en) | Applying update to snapshots of virtual machine | |
US8839228B2 (en) | System and method for updating an offline virtual machine | |
TW588255B (en) | Operating system abstraction and protection layer | |
US8516471B2 (en) | Detecting impact of operating system upgrades | |
US9503475B2 (en) | Self-adaptive and proactive virtual machine images adjustment to environmental security risks in a cloud environment | |
US8127316B1 (en) | System and method for intercepting process creation events | |
CN102662741B (zh) | 虚拟桌面的实现方法、装置和系统 | |
US8468522B2 (en) | Virtual machine system, system for forcing policy, method for forcing policy, and virtual machine control program | |
CN100530100C (zh) | 用于允许存储在外部驱动器上的应用执行的系统和方法 | |
US10318275B2 (en) | Software update apparatus and method in virtualized environment | |
US8341648B1 (en) | Automatic virtualization based on user-defined criteria | |
CA2481613A1 (en) | System for containerization of application sets | |
CN102999343A (zh) | 禁止启动项目自启动的方法和装置 | |
JP2021504826A (ja) | アプリケーションプログラムの起動方法、起動装置およびコンピュータ読み取り可能な記憶媒体 | |
US20220083364A1 (en) | Reconciler sandboxes for secure kubernetes operators | |
CN105512550A (zh) | 用于活跃的操作系统内核保护的系统和方法 | |
JP5131563B2 (ja) | コンピュータ、動作ルール適用方法、オペレーティングシステム | |
US20060248513A1 (en) | z/OS rapid automated deployment method | |
CN107203410B (zh) | 一种基于系统调用重定向的vmi方法及系统 | |
US8650579B1 (en) | Containment for computer-software update installation processes | |
CN101777002A (zh) | 一种基于虚拟化的软件运行方法 | |
JPH11134204A (ja) | スタック保護装置 | |
JP2009217709A (ja) | 仮想マシン管理システムおよび計算機、並びに、プログラム | |
CN100424652C (zh) | 一种基于嵌入式操作系统的硬盘自恢复保护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150617 Termination date: 20180909 |
|
CF01 | Termination of patent right due to non-payment of annual fee |