CN107066242A - 确定软件容器中软件的标识的方法和系统 - Google Patents
确定软件容器中软件的标识的方法和系统 Download PDFInfo
- Publication number
- CN107066242A CN107066242A CN201611093422.3A CN201611093422A CN107066242A CN 107066242 A CN107066242 A CN 107066242A CN 201611093422 A CN201611093422 A CN 201611093422A CN 107066242 A CN107066242 A CN 107066242A
- Authority
- CN
- China
- Prior art keywords
- software
- software container
- template
- container
- computer
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
一个或多个处理器扫描用于呈现在与第一软件容器模板相关的第一软件容器上软件的一个或多个标识的第一软件容器模板。一个或多个处理器产生呈现在所述第一软件容器上所述软件的一个或多个标识的映射。呈现在所述第一软件容器上所述软件的一个或多个标识与:所述第一软件容器模板的标识符以及与所述第一软件容器模板相关的所述第一软件容器的标识符中的一个或两者映射。
Description
技术领域
本公开总体上涉及软件标识确定的领域,以及更具体的涉及软件容器中软件的标识确定。
背景技术
软件容器由整个运行环境组成:应用,加上其全部附属(dependency)、库和其它二进制数(binary)、以及需要执行它的配置文件,被捆绑入一个包(package)中。通过“容器化”(containerizing)应用平台及其附属,操作系统(OS)分布和基本的基础建设中的差异被抽象出(abstracted away)。
总体上,当与虚拟机器(VMs)相比,软件容器被认为是“轻便的”。与软件容器不同,VM包含整个OS和应用。例如,物理服务器执行三个VM将具有在其顶部执行的管理程序和的三个分离的OS。相比之下,在另一示例中,执行三个容器化的应用的服务器执行每个软件容器与其他软件容器共享的单独的OS核心(kernel)。OS共享的部分为只读且每个软件容器具有用于写入的其自身的运载工具(mount)(例如,访问(access)软件容器的方法)。那意味着软件容器比VM在代码数量或者软件类型的需求方面更轻便且使用更少的资源。例如,软件容器在大小方面可仅为几十兆字节,而具有其自身整个OS的VM,在大小方面可为几十亿字节。因此,单独的服务器可以主控(host)远多于VM的软件容器。进一步地,VM为了开始执行它们主控的应用可花费几分钟来启动(boot up)它们的OS。相比之下,容器化的应用可以几乎立即被开始。
由于它们轻便的本质和灵活,软件容器已经变得越来越流行。例如,DOCKER是通过提供LINUX上OS级虚拟化的抽象和自动的额外层以自动化软件容器中的应用部署的开源方案。C组(aka控制组)为经常用于限制、监测、控制以及描述特定进程(实际为进程组)的资源使用的LINUX核心特征。DOCKER使用诸如c组和核心命名空间的LINUX核心的资源分离特征以允许独立的LINUX软件容器(LXC)来在单独LINUX实例内部执行。
DOCKER是基于软件容器云系统新兴趋势的示例。这是由于软件容器在云系统中快速的部署、执行以及迁移。基于软件容器的云系统的安全性取决于软件容器,如它们的名字暗示的,被密封的事实。LXC影响(leverage)c组以隔离CPU、存储器、文件/块I/O以及网络资源。LXC同样使用命名空间以从操作系统中隔离应用和分离进程树、网络访问、用户ID以及文件访问。LXC被认为是在安全性方面落在根目录切换(chroot)和VM之间的技术,根目录切换是更改当前正在运行的进程和其子进程的可见(apparent)根目录的操作。在如此修改的环境中运行的程序不可以在环境的目录树外面访问文件和指令。更改根目录通常为执行系统上的系统维护而做,而启动和/或登入不再可能。
发明内容
本发明的实施例提供了用于确定软件容器中软件的标识的方法、系统以及程序产品。一个或多个处理器扫描呈现在第一软件容器上软件的一个或多个标识的第一软件容器模板,第一软件容器与所述第一软件容器模板相关。一个或多个处理器产生呈现在所述第一软件容器上所述软件的一个或多个标识的映射。其中呈现在所述第一软件容器上所述软件的一个或多个标识与:所述第一软件容器模板的标识符和与所述第一软件容器模板相关的所述第一软件容器的标识符中的一个或两者映射。
附图说明
图1是根据本发明示例性实施例说明第一软件发现环境的第一功能性框图;
图2是是根据本发明示例性实施例说明第二软件发现环境的第二功能性框图;
图3说明根据本发明示例性实施例在图1和2环境中的计算装置上用于发现、映射、以及报告在软件容器上执行的软件的操作性进程的第一示例。
图4说明根据本发明示例性实施例在图1和2环境中的计算装置上用于发现和映射在软件容器上执行的软件的操作性进程的第二示例。
图5分别说明根据本发明示例性实施例在图1和2环境中的计算装置上由适配器内模块和插件程序执行的操作性进程。
图6表示根据本发明一实施例云计算环境。
图7表示根据本发明一实施例的抽象模型层。
图8表示根据本发明示例性实施例计算装置执行容器引擎程序的组件的框图。
具体实施方式
云系统的大小以及软件容器的密封的本质可以呈现基于软件容器云系统中的软件管理的许多挑战类型。有效的软件资产管理(SAM)需要以稳固和权威的方式中确定软件的呈现和使用。软件的发现经常因为其需要通过注册表安装或者系统下扫描的文件系统内容的搜索而复杂。这样的方法有几个缺点。第一,这种扫描典型地需要那些需执行昂贵的文件系统扫描的代理的部署。用来确定软件呈现和使用文件系统扫描经常导致在高工作负载、动态环境中的工作负载的中断。进一步地,代理需要在系统下扫描被供应之后和其被取消供应(de-provision)之前立刻执行扫描。此外,软件容器的密封的本质意味着即使执行昂贵的文件系统扫描是可接受的,其可能不能在基于软件容器的云系统中使用当前技术。
软件容器由软件容器引擎管理。换句话说,软件容器引擎建立和执行软件容器。在建立软件容器过程中,软件容器引擎为软件容器创建模板。当软件容器引擎完成创建软件容器,软件容器引擎发布如图片的模板进入到模板资源库和被实例化(instantiated)的软件容器。应当注意到一旦模板被发布,其不可被进一步地修改。同样地,一旦软件容器被实例化,其同样不可在软件内容方面被进一步地修改。如果新特征被期望在执行软件容器上的一个或者多个应用中并且新特征需求额外的软件,那么新软件容器必须连同新资源模板一起被创建。
在供应软件容器的过程中,软件容器引擎储存诸如与软件容器相关的模板内的软件部署工件(artifact)的元数据(metadata)。此元数据包含关于已经被安装在软件容器上的软件的标识的信息。呈现在任何软件容器上的软件的标识可以被确定提供工具的存在,该工具的存在可以扫描或者分析呈现在资源模板上的元数据。当与通过安装注册表或者软件容器的文件系统内容的传导搜索比较时,分析呈现在需要较少计算资源的实例化模板上的元数据。
本发明实施例识别为软件容器引擎建立的每个软件容器创建模板的软件容器引擎。本发明实施例识别关于呈现在用于软件容器的资源模板上用于提供软件容器的软件的信息。本发明实施例提供用于搜索用于模板资源库的软件容器引擎的方法、计算机程序产品以及计算机系统。本发明实施例提供从模板资源库内的一个或多个模板图片中提取数据的方法、计算机程序产品以及计算机系统,所述数据识别对应软件容器的一个或多个软件内容。
首先应当理解,尽管本公开包括关于云计算的详细描述。但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
1)按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
2)广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
3)资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
4)迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力、以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
5)可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户账号)的某种抽象程度的计算能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
1)软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
2)平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
3)基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
1)私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
2)共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
3)公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
4)混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
本发明现在将参考附图详细的描述。
图1是根据本发明一个实施例,说明总体上标注为100的第一软件发现环境的第一功能性框图。
软件发现环境100包含软件容器服务器102和连接到网络101上的软件资产管理(SAM)服务器104。软件容器服务器102包含软件容器引擎106。软件容器引擎106包含模板资源库108和软件容器110。模板资源库108包含模板图片112。SAM服务器104包含容器引擎适配器(CEA)程序114和模板/软件映射(TSM)数据库116。
在本发明不同实施例中,软件容器服务器102和SAM服务器104为计算装置,其一个或两者可以是:独立(standalone)装置、服务器、膝上计算机、平板计算机、上网本计算机、个人计算机(PCs)或者台式计算机。在另一实施例中,软件容器服务器102和SAM服务器104的一个或两者表示利用集群计算机以及组件来充当无缝资源的单池(single pool)的计算系统。总体上,软件容器服务器102和SAM服务器104的一个或两者可以为任何计算装置或者具有对软件容器引擎106、模板资源库108、软件容器110、模板图片112、CEA程序114和TSM数据库116的访问以及能够执行CEA程序114的装置组合。软件容器服务器102和SAM服务器104可包含内部和外部硬件组件,如图8进一步的细节表示和描述。
在本示例性实施例中,软件容器引擎106、模板资源库108、软件容器110以及模板图片112存储在软件容器服务器102上。CEA程序114和TSM数据库116存储在SAM服务器104上。然而,在其他实施例中,软件容器引擎106、模板资源库108、软件容器110、模板图片112、CEA程序114以及TSM数据库116可通过通信网络,例如网络101被外部的存储和访问。网络101可以是,例如,局域网(LAN)、诸如因特网的广域网(WAN)或者两者的组合,且可包含有线、无线、光纤或者其它本领域公知的连接。总体上,根据本发明期望的实施例,网络101可以是将支持软件容器服务器102、SAM服务器104、软件容器引擎106、模板资源库108、软件容器110、模板图片112、CEA程序114以及TSM数据库116之间通信的连接和协议的任意组合。
在示例性实施例中,软件容器引擎106管理软件容器110的建立和执行。在建立软件容器110的过程中,软件容器引擎106为每个软件容器创建模板。当软件容器引擎106完成建立软件容器110,软件容器引擎106发布模板资源库108中如模板图片112的模板和被实例化的软件容器110。在一些实施例中,软件容器引擎106是基于软件容器云系统的一部分。
在示例性实施例中,模板资源库108是由软件容器引擎106创建的模板图片112的资源库。换句话说,模板资源库108是包含关于在软件容器110上的软件内容的信息的数据的储存位置。在一些实施例中,模板资源库108是基于软件容器云系统的一部分。
在示例性实施例中,软件容器110每个包含整个运行环境:一个或多个应用,加上它们的全部附属、库和其它二进制数、以及需要执行应用的配置文件捆绑入一个包中。在一些实施例中,软件容器110是基于软件容器云系统的一部分。
在示例性实施例中,模板图片112是由软件容器引擎106创建以及存储在模板资源库108中的模板图片。模板资源库108中的每个模板图片包含关于软件容器110内的一个软件容器的数据。包含在此数据中的是诸如软件部署工件的元数据,所述元数据指示什么软件已经被安装在那个软件容器上。由模板图片112表示的呈现在模板上的数据由实例化的模板图片112访问。
在示例性实施例中,CEA程序114是为软件容器引擎106搜索软件容器服务器102的适配器。CEA程序114因此为模板资源库108搜索软件容器引擎106。CEA程序114检索(retrieve)模板图片112并且实例化模板图片112。CEA程序114分析实例化的模板图片112以确定软件容器110中的哪个软件容器是由模板图片112中的给定实例化模板图片表示。CEA程序为在软件容器110中相应软件容器上执行的软件程序的标识扫描实例化的模板图片112中的每个实例化模板图片的内容。CEA程序114然后创建或者更新具有包含模板图片112中具有相应模板图片的软件容器110中的软件容器上的软件内容的映射的数据的TSM数据库116。CEA程序114同样包含软件资产管理功能,其包含为了创建软件库存(inventory)报告扫描新开始的软件容器以及读取TSM数据库116的功能。
在示例性实施例中,TSM数据库116包含识别在软件容器110中在一个或多个软件容器上执行的软件内容的数据。TSM数据库116上的数据包含从示例图片112中识别一个或多个实例化的模板图片的模板标识符。TSM数据库116关联模板标识符与软件容器110内的一个或多个软件容器的标识符,所述软件容器110内的一个或多个软件容器标识符由模板图片112中的一个一个或多个实例化的模板图片描述。由于数据是从对应于一个或多个软件容器的模板图片112的一个或多个实例化的模板图片扫描的,TSM数据库116同样包含建立在软件容器110内的一个或多个软件容器中的软件的标识。
图2是根据本发明的另一实施例说明总体上标注为200的第二软件发现环境的第二功能性框图。软件发现环境200包含软件容器服务器202和连接到网络101上的软件资产管理(SAM)服务器204。软件容器服务器202包含软件容器引擎206。软件容器引擎206包含模板资源库108,软件容器110以及容器引擎插件(CEP)程序208。模板资源库108又包含模板图片112。SAM服务器104包含模板/软件映射(TSM)数据库116。
在本发明各个实施例中,软件容器服务器202和SAM服务器204为计算装置,其一个或两者可以是:独立装置、服务器、膝上计算机、平板计算机、上网本计算机、个人计算机(PCs)或者台式计算机。在另一实施例中,软件容器服务器202和SAM服务器204的一个或两者表示利用集群计算机以及组件来充当无缝资源的单池的计算系统。总体上,软件容器服务器202和SAM服务器204的一个或两者可以为任何计算装置或者具有对软件容器引擎206、CEP程序208、模板资源库108、软件容器110、模板图片112和TSM数据库116的访问以及能够执行CEP程序208的装置组合。软件容器服务器202和SAM服务器204可包含内部和外部硬件组件,如图8进一步的细节表示和描述。
在本示例性实施例中,软件容器引擎206、CEP程序208、模板资源库108、软件容器110以及模板图片112存储在软件容器服务器102上以及TSM数据库116存储在SAM服务器104上。然而,在其他实施例中,软件容器引擎206、CEP程序208、模板资源库108、软件容器110、模板图片112以及TSM数据库116可通过通信网络,例如网络101被外部的存储和访问。如图1中所描述,网络101可以是,例如,局域网(LAN)、诸如因特网的广域网(WAN)或者两者的组合,且可包含有线、无线、光纤或者任何其它本领域公知的连接。总体上,根据本发明期望的实施例,网络101可以是将支持软件容器服务器202、SAM服务器204、软件容器引擎206、CEP程序208、模板资源库108、软件容器110、模板图片112以及TSM数据库116之间通信的连接和协议的任意组合。
在示例性实施例中和如图1中的相似实施例所描述,软件容器引擎206管理软件容器110的建立和执行。在建立软件容器110的过程中,软件容器引擎206为每个软件容器创建模板。当软件容器引擎206完成建立软件容器110,软件容器引擎206发布模板资源库108中如模板图片112的模板和被实例化的软件容器110。在一些实施例中,软件容器引擎206是基于软件容器云系统的一部分。在本示例性实施例中,然而,软件容器引擎206包含CEP程序208,然而图1中的实施例,软件发现环境100,没有包含CEP程序208。
在示例性实施例中,CEP程序208是为模板资源库108搜索软件容器引擎206的插件程序。CEP程序208检索模板图片112并且实例化模板图片112。CEP程序208分析实例化的模板图片112以确定软件容器110中的哪个软件容器是由模板图片112中的给定实例化模板图片表示。CEP程序208为在相应软件容器110中的软件容器上执行的软件程序的标识扫描实例化的模板图片112中的每个实例化模板图片的内容。CEP程序208然后创建或者更新具有包含模板图片112中具有相应模板图片的软件容器110中的软件容器上的软件内容的映射的数据的TSM数据库116。CEP程序208同样包含软件资产管理功能,其包含为了创建软件库存报告扫描新开始的软件容器以及读取TSM数据库116的功能。
图3说明根据本发明示例性实施例在图1和图2环境中的SAM服务器104和软件容器服务器202上分别用于发现、映射和报告在软件容器110上执行的软件的可操作的进程300的第一示例。
为了清楚和简洁的原因,可操作进程300中详细的步骤被描述为由“CEA程序114/CEP程序208”执行以指示CEA程序114执行用于软件发现环境100(图1)的进程步骤以及CEP程序208执行用于软件发现环境200(图2)的进程步骤。
在步骤302中,CEA程序114/CEP程序208为当前模板图片112分析模板资源库108以及检索一个或多个可用模板图片。一个或多个可用模板图片112由CEA程序114/CEP程序208实例化以分析元数据内容。
在步骤304中,CEA程序114/CEP程序208为软件部署工件扫描一个或多个实例化模板图片112内的模板元数据。在一个实施例中,由CEA程序114/CEP程序208使用的发现方法包含一个或多个实例化模板图片112的标准文件系统扫描。在另一实施例中,一个或多个实例化模板图片112的软件发现方法包含软件安装注册表扫描。在另一实施例中,CEA程序114/CEP程序208使用软件标签扫描作为用于一个或多个实例化模板图片112的软件发现方法。在不同实施例中,用于扫描实例化模板图片112的CEA程序114/CEP程序208软件发现方法包含一个或多个:标准文件系统扫描、软件安装注册表扫描以及软件标签扫描。
在步骤306中,CEA程序114/CEP程序208产生和存储示出一个或多个模板(即,实例化模板图片112),与一个或多个模板相关的一个或多个软件容器110以及与一个或多个模板相关的呈现在一个或多个软件容器110上的软件之间的连接的映射。如果TSM数据库已经被创建,CEA程序114/CEP程序208则创建TSM数据库116或者更新TSM数据库116。在图1的实施例中,CEA程序114在SAM服务器104上存储TSM数据库116。在图2的实施例中,CEP程序208在SAM服务器204上存储TSM数据库116。在没有示出的其它实施例中,CEA程序114在CEA程序114存储器中存储TSM数据库116以及CEP程序208在CEP程序208存储器中存储TSM数据库116。
在不同实施例中,TSM数据库包含诸如模板图像112标识符段(field)或具有用于实例化模板图像112的标识符的段,含有用于软件容器110的标识符的段以及含有软件的标识的段。在不同实施例中,这些段被安排在一个或多个表格中以使模板图像112标识符(或实例化的模板图像112标识符)与对应的软件容器110标识符关联。在这些实施例中,关联指示实例化的模板包含描述与所述实例化模板相关的软件容器上的软件内容的数据。软件标识段包含以相同方式与实例化模板关联的软件的标识以及示出软件容器110中的什么软件容器执行那个软件。
在步骤308中,CEA程序114和CEP程序208分别地订阅由软件容器引擎106和206产生的事件。在不同实施例中,事件类型包含一个或多个:
1.基于特定模板的软件容器的新示例的创建。此事件包含诸如容器的
CPU处理能力以及软件容器的配置RAM或储存器的SAM相关特性。
2.软件容器的当前示例的重新配置,包含将被修改的特性列表(例如,
CPU处理能力和RAM或储存器);以及
3.当前软件容器的取消供应。
在步骤310中,CEA程序114/CEA程序208产生SAM可接受格式中的输出。在不同实施例中,输出包含用于在软件容器110上执行的软件的实时处理中的准确软件发现数据。用于输出的SAM可接受格式包含但并不限制于ISO 19770-2和ISO 19770-4XML文件。在一些实施例中,用于特定SAM工具的优化的专用输出格式被使用。
图4根据本发明的示例性实施例说明了在图1和图2环境中计算装置104和202上用于发现以及映射软件容器110上执行的可操作进程400的第二示例。
为了清楚和简洁的原因,可操作进程400中详细的步骤被描述为由“CEA程序114/CEP程序208”执行以指示CEA程序114执行用于软件发现环境100(图1)的进程步骤以及CEP程序208执行用于软件发现环境200(图2)的进程步骤。
在步骤402中,CEA程序114/CEP程序208根据“钩子”(hook)机制在模板图片112创建进程中准备SAM工具扫描的注入。钩子机制或“钩住”是指允许OS、应用或由拦截功能呼叫、消息或事件组成的其它软件组件的改变或者扩大。处理这样拦截的功能呼叫的代码被称作“钩子”。在步骤402中,CEA程序114/CEP程序208安装两种钩子的类型。第一种钩子的类型是“模板提交(commit)”钩子。在不同实施例中,当在软件容器110由自动化进程创建期间发生上一个步骤时,模板提交钩子触发,软件容器110由自动化进程创建诸如使用DOCKERFILES的软件容器110的创建,其与“令”文件用于自动化软件的编辑、联结以及打包的进程相似。在其它实施例中,当软件容器模板被手动地“推”(即登载(publish))入模板资源库108中且被代表为模板图片112时模板提交钩子被触发。手动推动步骤在软件容器110的新示例创建之后发生,其包含应用的手动添加和移除,配置文件的更改等。
钩子的第二类型是“模板移除”钩子。当一个或多个模板图片112从模板资源库108中移除,即模板以及对应于模板的软件容器被移除或,换句话说,删除时,模板移除钩子发生。
在步骤404中,当用于所述模板的钩子登记(register)模板提交钩子时,CEA程序114/CEP程序208注入SAM工具扫描到模板。SAM工具扫描器扫描用于软件建立的模板至用于创建模板的软件容器。SAM工具扫描器在移动所述模板进入到模板资源库108之前扫描模板以成为模板图像112中的模板图片。结果扫描为对应于被扫描的模板的软件容器110中的软件容器提供软件库存。扫描同样为模板下扫描(template-under-scan)确定模板标识符以及关联模板标识符与对应于模板/模板图片的软件容器标识符。
在步骤406中,CEA程序114/CEP程序208通过创建TSM数据库116(如果TSM数据库还没有被创建)或更新TSM数据库116(如果TSM数据库已经从之前的扫描中被之前模板上的注入SAM工具扫描器创建)映射扫描结果。
在步骤408中,当所述模板或者对应于模板的模板图片已经从模板资源库108中被移除时,CEA程序114/CEP程序208从TSM数据库116中移除用于对应于软件容器110中的软件容器的模板的映射扫描数据。在不同实施例中,此事件指示模板以及软件容器110中对应的软件容器已经被删除、替换或者取消供应。
图5根据本发明的示例性实施例说明分别在图1和图2环境内的由分别在CEA程序114中的模块和SAM服务器104和软件容器服务器202上的CEP程序208内执行的操作性进程500。
为了清楚和简洁的原因,可操作的进程500中详细的步骤被描述为被“CEA程序114/CEP程序208”执行以指示CEA程序114执行用于软件发现环境100(图1)的进程步骤以及CEP程序208执行用于软件发现环境200(图2)的进程步骤。
在步骤502中,CEA程序114/CEP程序208使用模板扫描器模块501从模板资源库108上的模板图片112中检索一个或多个模板图片。
在步骤504中,CEA程序114/CEP程序208使用模板扫描器模块501从检索的模板图片112中实例化一个或多个模板图片。
在步骤506中,CEA程序114/CEP程序208使用扫描器模块501从检索的模板图片112中扫描一个或多个模板示例,以及创建和存储TSM数据库116或更新TSM数据库116。在图1的实施例中,CEA程序114在SAM服务器104上存储TSM数据库116。在图2的实施例中,CEP程序208在SAM服务器204上存储TSM数据库116。在没有示出的其它实施例中,CEA程序114在CEA程序114存储器中存储TSM数据库116以及CEP程序208在CEP程序208存储器中存储TSM数据库116。
在其它实施例中,当用于所述模板的钩子登记模板提交钩子时,模板扫描器模块501注入SAM工具扫描到模板。SAM工具扫描器扫描用于软件建立的模板至用于创建模板的软件容器。SAM工具扫描器在移动所述模板进入到模板资源库108之前扫描模板以成为模板图像112中的模板图片。结果扫描为对应于被扫描的模板的软件容器110中的软件容器提供软件库存。扫描同样为模板下扫描确定模板标识符以及关联模板标识符与对应于模板/模板图片的软件容器标识符。
在步骤508中,CEA程序114/CEP程序208使用SAM扫描器/监测器模块503以监测新开始的软件容器110以及读取TSM数据库116以产生软件库存报告。在不同实施例中,SAM扫描器/监测器模块503订阅分别由软件容器引擎106和206产生的事件。事件类型包含一个或多个:
1.基于特定模板的软件容器的新示例的创建。此事件包含诸如容器的
CPU处理能力以及软件容器的配置RAM或储存器的SAM相关特性。
2.软件容器的当前示例的重新配置,包含将被修改的特性列表(例如,
CPU处理能力和RAM或储存器);以及
3.当前软件容器的取消供应。
在不同实施例中,SAM扫描器/监测器模块503产生SAM可接受格式中的输出。输出包含用于在软件容器110上执行的软件的实时的准确软件发现数据。用于输出的SAM可接受格式包含但并不限制于ISO 19770-2和ISO19770-4XML文件。在一些实施例中,使用用于特定SAM工具而优化的专用输出格式。
现在参考图6,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图1显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图7,其中显示了云计算环境50(图1)提供的一组功能抽象层。首先应当理解,图2所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图2所示,提供下列层和对应功能:
硬件和软件层60包含硬件和软件组件。硬件组件的示例包含:主机61;基于服务器62的RISC(精减指令集计算机)架构;服务器63;刀片服务器(blade server)64;储存装置65以及网络和网络组件66。在一些实施例中,软件组件包含网络应用服务器软件67和数据库软件68。
虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算中执行任务的计算资源和其它资源的动态获取。软件资产管理(SAM)82功能:在云计算环境内对资源的使用进行成本跟踪,并为这些资源的消耗提供帐单和发票。在一个实施例中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层90提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学供应93;数据分析处理94;交易处理95;以及移动桌面96。
图8根据本发明示例性实施例描绘已经提供本发明示例性实施例的计算装置组件的框图800(例如,软件容器服务器102、SAM服务器104、软件容器服务器202以及SAM服务器204)。应该意识到图8仅提供一个实施的说明且没有暗示任何关于可在不同实施例中应用的环境的限制。对于描绘的环境的许多修改可被进行。
图8中描绘计算装置的组件包含通信架构802,其提供计算机处理器804、存储器806、永久性储存器808、通信单元810以及输入/输出(I/O)接口812之间的通信。通信架构802可以由处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围装置以及任何其它系统内的硬件组件之间的经过数据和/或控制信息设计的任何架构来实现。例如,通信架构802可以由一个或多个总线来实现。
存储器806和永久性储存器808是计算机可读储存器介质。在本实施例中,存储器806包含随机存取存储器(RAM)814和高速缓冲存储器816.总体上,存储器806可以包含任何适用的易失的或非易失的计算机可读储存器介质。
软件容器引擎106,模板资源库108、软件容器110、模板图片112、CEA程序114、TSM数据库116、软件容器引擎206以及CEP程序208被存储在永久性储存器808中通过存储器806的一个或多个存储器用于通过一个或多个分别的计算机处理器804执行和/或访问。在本实施例中,永久性储存器808包含磁硬盘驱动器。可代替的,或者除磁硬盘驱动器之外,永久性储存器808可以包含固态硬盘驱动器、半导体储存装置、只读存储器(ROM)、可擦可编程只读存储器(EPROM)、闪存或者任何其它能够存储程序指令或者数字信息的计算机可读储存器介质。
由永久性储存器808使用的介质可同样为可移动的。例如,可移动硬盘驱动器可被用于永久性储存器808。其它示例包含插入到驱动器的光盘和磁盘、拇指驱动器以及智能卡,所述驱动器用于转移到另一个同样为永久性储存器808一部分的计算机可读存储器介质上。
在这些示例中,通信单元810包含网络101的资源,提供用于与其它数据处理系统或装置的通信。在这些示例中,通信单元810包含一个或多个网络接口卡。通信单元810可通过使用物理和无线通信链接中的其一或两者提供通信。软件容器引擎106、模板资源库108、软件容器110、模板图片112、CEA程序114、TSM数据库116、软件容器引擎206以及CEP程序208可通过通信单元810被下载到永久性储存器808。
I/O接口812允许与可被连接到已经提供本发明示例性实施例的计算装置(例如,软件容器服务器102、SAM服务器104、软件容器服务器202以及SAM服务器204)的其它装置的数据输入和输出。例如,I/O接口812可提供到诸如键盘、键区、触摸屏和/或一些其它适合的输入装置的外部装置818的连接。外部装置818可以同样包含诸如,例如,拇指驱动器、便携式光或磁盘以及存储卡的便携计算机可读储存介质。用于本发明实践实施例的软件和数据,例如,软件容器引擎106、模板资源库108、软件容器110、模板图片112、CEA程序114、TSM数据库116、软件容器引擎206以及CEP程序208可以被存储到所述便携式计算机可读储存器介质上并可以经由I/O接口812被装载到永久储存器808上。I/O接口812同样连接到显示器820。
显示器820向用户提供显示数据的机制且可以是,例如,计算机显示器,或者电视屏幕。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可包含具有上述用于导致处理器执行本发明方面的计算机可读程序指令的计算机可读储存器媒介(或介质)。
计算机可读储存器媒介可以是为指令执行装置的使用保留和存储指令的真实的装置。计算机可读储存器媒介可以是,例如,但不限制于,电子储存器装置、磁储存器装置、光储存器装置、电磁储存器装置、半导体储存器装置或者任何前面提到的适合的组合。计算机可读储存器媒介的更具体示例的非详尽清单包含以下:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩磁盘只读存储器(CD-ROM)、数字通用磁盘(DVD)、记忆卡、软盘、诸如槽中的具有上述记载的指令的穿孔卡片或凸起结构、以及任何前面提到的适合的组合。计算机可读储存器媒介,如这里所使用的,不解释为成为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、电磁波通过波导或其它传输介质传播(例如,穿过光纤电缆的光脉冲),或者通过电线发送的电信号。
在此描述的计算机可读程序指令可以被下载到计算机可读储存器媒介中的各自的计算/处理装置或经由网络,例如,因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部储存器装置。网络可包括铜电缆传输、光纤传输、无线传输、路由器、防火墙、转换器、网间连接计算机和/或边缘服务器。每个计算/处理装置中的网络适配卡或网络接口从网络中接收计算机可读程序指令以及在各自的计算/处理装置内部发送用于储存的计算机可读程序指令到计算机可读储存器媒介。
本发明的用于执行操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、依赖于机器的指令、微代码、固件指令、状态设置数据、或者写入到一个或多个编程语言的任何组和的源代码或目标代码的其中之一,包含诸如Smalltalk、C++等等的目标指向编程语言以及诸如“C”编程语言或者相似的编程语言的传统的程序编程语言。计算机可读程序指令可完全的执行在用户计算机上、部分的执行在用户计算机上、作为脱机软件包装,部分的执行在用户计算机上以及部分的执行在远程计算机上或完全的执行在远程计算机或服务器上。在后面的方案中,远程计算机可通过任何网络类型连接到用户计算机,包含局域网(LAN)或广域网(WAN)或可向外部计算机进行的连接(例如,通过因特网使用互联网服务提供者)。在一些实施例中,电子电路包含,例如,可编程逻辑电路、现场可编程门阵列(FPGA)或者可编程逻辑阵列(PLA)可通过利用计算机可读程序指令的状态信息执行计算机可读程序指令以个人化电子电路,为了执行本发明的方面。
在此描述的本发明的方面参考根据本发明实施例的方法、设备(系统)以及计算机程序产品的流程图说明和/或框图。将会被理解为流程图说明和/或框图的每个框以及流程图说明和/或块图框图中框的组合可以被计算机可读程序指令实施。
这些计算机可读程序指令可以被提供于通用计算机、专业计算机或者其它可编程数据处理设备以制造机器,所述的指令,其经由计算机处理器或其它可编程数据处理设备执行创建用于实施指定于流程图和/或框图框内的功能/行为的方式。这些计算机可读程序指令可同样存储在计算机可读储存器媒介中可以以特定的方式指向计算机、可编程数据处理设备和/或其它装置到功能,具有在此存储的指令的计算机可读储存器媒介包括制造的文章,所述制造的文章包含实施指定于流程图和/或框图框内的功能/行为的方面的指令。
计算机可读程序指令可同样被装载到计算机、其它可编程数据处理设备或其它装置以导致将要执行在计算机、其它可编程设备或其它装置上的一系列的操作性步骤产生计算机实施进程,所述执行在计算机、其它可编程设备或其它装置上的指令实施指定于流程图和/或框图框内的功能/行为。
图中的流程图和框图根据本发明不同实施例说明系统、方法以及计算机程序产品的可能实施的架构、功能以及操作。在这点上,流程图或框图中的每个框可表示指令的模块、段落、部分,其包含用于实施特定逻辑功能的一个或多个可执行的指令。在一些可代替的实施中,标记在框中的功能可在标记在图中的功能发生顺序错乱。例如,所示连着的两个框,实际上,被实质上同时地执行,或者框可根据涉及的功能,有时以相反的顺序执行。应该同时注意到框图和/或流程图说明的每个框以及框图和/或流程图中框的组合可以被特殊目的基于硬件的系统实施,所述系统执行特定功能或行为或特殊目的硬件和计算机指令的组合。
在此描述的程序基于实施于本发明特定实施例中的应用被识别。然而,应该意识到在此的任何特定程序系统命名仅为了方便使用,且因此发明不应该被限制于在由所述系统命名识别和/或暗示的特定应用中唯一的使用。
应该注意到诸如“Smalltalk,”LINUX、DOCKER等等的术语可从属于全世界不同管辖范围中的商标权且用于这里的仅关于由限于可存在的所述商标权标记适当计价的产品或服务。
Claims (16)
1.一种方法,包括:
由一个或多个处理器扫描用于呈现在与第一软件容器模板相关的第一软件容器上软件的一个或多个标识的第一软件容器模板;以及
由所述一个或多个处理器产生呈现在所述第一软件容器上所述软件的一个或多个标识的映射,其中呈现在所述第一软件容器上所述软件的一个或多个标识与:所述第一软件容器模板的标识符以及与所述第一软件容器模板相关的所述第一软件容器的标识符中的一个或两者映射。
2.如权利要求1所述的方法,还包括:
由所述一个或多个处理器从第一软件容器模板资源库中检索第一软件容器模板图片;以及
由所述一个或多个处理器实例化所述第一软件容器模板图片。
3.如权利要求1所述的方法,还包括:
由一个或多个处理器更新模板/软件映射数据库,所述模板/软件映射数据库具有呈现在所述第一软件容器上所述软件的一个或多个标识的所述映射。
4.如权利要求1所述的方法,还包括:
由所述一个或多个处理器以可以被软件资产管理程序读取的格式生成软件库存报告。
5.如权利要求1所述的方法,还包括:
由所述一个或多个处理器,在与所述第一软件容器模板相关的所述第一软件容器的创建的最后步骤以及软件容器模板资源库中的所述第一软件容器模板的登载中的一个或两者之前,将软件资产管理工具扫描注入到第一软件容器模板。
6.如权利要求1所述的方法,还包括:
由一个或多个处理器订阅由软件容器引擎产生的一个或多个事件。
7.如权利要求6所述的方法,其中所述一个或多个事件包含:第二软件容器的新示例的创建、第三软件容器的当前示例的重新配置以及当前软件容器的取消供应中的一个或多个。
8.一种计算机系统包括:
一个或多个计算机处理器;
一个或多个计算机可读储存介质;以及
储存在所述一个或多个计算机可读储存介质的至少一个上的用于通过所述一个或多个处理器的至少一个执行的程序指令,所述程序指令包括:
用于扫描呈现在与第一软件容器模板相关的第一软件容器上软件的一个或多个标识的第一软件容器模板的程序指令;以及
用于产生呈现在所述第一软件容器上所述软件的一个或多个标识的映射的程序指令,其中呈现在所述第一软件容器上所述软件的一个或多个标识与:所述第一软件容器模板的标识符以及与所述第一软件容器模板相关的所述第一软件容器的标识符中的一个或两者映射。
9.如权利要求8所述的计算机系统,还包括:
用于从第一软件容器模板资源库中检索第一软件容器模板图片的程序指令;以及
用于实例化所述第一软件容器模板图片的程序指令。
10.如权利要求8所述的计算机系统还包括:
用于更新模板/软件映射数据库的程序指令,所述模板/软件映射数据库具有呈现在所述第一软件容器上所述软件的一个或多个标识的所述映射。
11.如权利要求8所述的计算机系统,还包括:
用于以可以被软件资产管理程序读取的格式生成软件库存报告的程序指令。
12.如权利要求8所述的计算机系统,还包括:
在与所述第一软件容器模板相关的所述第一软件容器的创建的最后步骤以及软件容器模板资源库中的所述第一软件容器模板的登载中的一个或两者之前,将软件资产管理工具扫描注入到第一软件容器模板的程序指令。
13.如权利要求8所述的计算机系统,还包括:
用于订阅由软件容器引擎产生的一个或多个事件的程序指令。
14.如权利要求8所述的计算机系统,其中所述一个或多个事件包含:第二软件容器的新示例的创建、第三软件容器的当前示例的重新配置以及当前软件容器的取消供应中的一个或多个。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储程序指令,当执行所述程序指令时实现如权利要求1-7所述的方法。
16.一种装置,包括:
用于扫描用于呈现在与第一软件容器模板相关的第一软件容器上的软件的一个或多个标识的第一软件容器模板;以及
用于产生呈现在所述第一软件容器上的软件的所述一个或多个标识的映射的模块,其中呈现在所述第一软件容器上的软件的所述一个或多个标识与:所述第一软件容器模板的标识符以及与所述第一软件容器模板相关的所述第一软件容器的标识符中的一个或两者映射。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/965,922 US10223074B2 (en) | 2015-12-11 | 2015-12-11 | Determining the identity of software in software containers |
US14/965,922 | 2015-12-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107066242A true CN107066242A (zh) | 2017-08-18 |
CN107066242B CN107066242B (zh) | 2020-11-17 |
Family
ID=59018581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611093422.3A Active CN107066242B (zh) | 2015-12-11 | 2016-12-01 | 确定软件容器中软件的标识的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10223074B2 (zh) |
JP (1) | JP6813152B2 (zh) |
CN (1) | CN107066242B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196681A (zh) * | 2018-04-11 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 业务写操作的磁盘数据写入控制方法及装置、电子设备 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223074B2 (en) | 2015-12-11 | 2019-03-05 | International Business Machines Corporation | Determining the identity of software in software containers |
US10613885B2 (en) * | 2017-02-24 | 2020-04-07 | International Business Machines Corporation | Portable aggregated information calculation and injection for application containers |
US10691816B2 (en) | 2017-02-24 | 2020-06-23 | International Business Machines Corporation | Applying host access control rules for data used in application containers |
US10176106B2 (en) * | 2017-02-24 | 2019-01-08 | International Business Machines Corporation | Caching mechanisms for information extracted from application containers including applying a space guard and a time guard |
US10803177B2 (en) * | 2017-07-19 | 2020-10-13 | International Business Machines Corporation | Compliance-aware runtime generation based on application patterns and risk assessment |
CN107870789B (zh) * | 2017-10-18 | 2021-01-26 | 福建天泉教育科技有限公司 | 一种打包插件的方法及终端 |
US10956563B2 (en) * | 2017-11-22 | 2021-03-23 | Aqua Security Software, Ltd. | System for securing software containers with embedded agent |
US10997283B2 (en) * | 2018-01-08 | 2021-05-04 | Aqua Security Software, Ltd. | System for securing software containers with encryption and embedded agent |
JP7047497B2 (ja) | 2018-03-13 | 2022-04-05 | 富士通株式会社 | 操作制御方法、情報処理装置および操作制御プログラム |
US10929200B1 (en) | 2019-09-16 | 2021-02-23 | International Business Machines Corporation | Live runtime infrastructure orchestration |
AU2019466557A1 (en) * | 2019-09-19 | 2022-02-03 | Aplas Pty Ltd | Method and system for indexing and mapping software assets of business |
US11645245B2 (en) | 2019-09-26 | 2023-05-09 | International Business Machines Corporation | Container software discovery and cataloging |
CN114586007B (zh) | 2019-10-29 | 2024-04-09 | 谷歌有限责任公司 | 用于维护应用内容的隐私的自动助理架构 |
US11163557B2 (en) | 2019-11-08 | 2021-11-02 | International Business Machines Corporation | Automated techniques for detecting the usage of software applications in a computing environment using configuration objects |
JP7434039B2 (ja) | 2020-04-08 | 2024-02-20 | キヤノン株式会社 | 情報処理装置、及び情報処理装置におけるコンテナとプロセスとの間の通信を制御する制御方法 |
US12001863B2 (en) * | 2020-09-21 | 2024-06-04 | International Business Machines Corporation | Containerized software discovery and identification |
US20240272887A1 (en) * | 2020-10-23 | 2024-08-15 | Jpmorgan Chase Bank, N.A. | Systems and methods for deploying federated infrastructure as code |
US20220360504A1 (en) * | 2021-05-05 | 2022-11-10 | International Business Machines Corporation | Adapting microservices to multi-platform deployments |
US11972252B2 (en) | 2021-08-02 | 2024-04-30 | Micro Focus Llc | Docker installed software/hardware discovery |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071769A1 (en) * | 2002-09-06 | 2005-03-31 | Hironori Suzuki | Gui application development supporting apparatus, method, and computer program |
US20050257204A1 (en) * | 2004-05-17 | 2005-11-17 | Invensys Systems, Inc. | System and method for developing animated visualization interfaces |
CN102096694A (zh) * | 2009-08-23 | 2011-06-15 | 美国银行公司 | 具有支持组件的显示再现系统 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU6782800A (en) * | 1999-08-16 | 2001-07-03 | Z-Force Corporation | System of reusable software parts for implementing concurrency and hardware access, and methods of use |
US7359863B1 (en) * | 1999-09-30 | 2008-04-15 | Computer Sciences Corporation | Condition component framework for reinsurance |
US20030037181A1 (en) * | 2000-07-07 | 2003-02-20 | Freed Erik J. | Method and apparatus for providing process-container platforms |
US7103652B1 (en) * | 2000-12-23 | 2006-09-05 | Emc Corporation | Ambiguity-purging and template-conflict-resolution in computer network events-notification |
US7487182B2 (en) * | 2001-01-23 | 2009-02-03 | Conformia Software, Inc. | Systems and methods for managing the development and manufacturing of a drug |
CA2355989A1 (en) * | 2001-08-27 | 2003-02-27 | Ibm Canada Limited-Ibm Canada Limitee | Compiling source code files having multiple |
JP4700940B2 (ja) * | 2004-08-27 | 2011-06-15 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
US10380538B2 (en) * | 2005-09-27 | 2019-08-13 | Bdna Corporation | Discovery of electronic assets using fingerprints |
US7895573B1 (en) * | 2006-03-27 | 2011-02-22 | Mcafee, Inc. | Execution environment file inventory |
JP2008152436A (ja) * | 2006-12-15 | 2008-07-03 | Winworks Kk | スケジュール管理システム、プログラム |
WO2009022337A2 (en) * | 2007-08-13 | 2009-02-19 | Kcs - Knowledge Control Systems Ltd. | Introducing a form instance into an information container |
JP4907610B2 (ja) * | 2008-07-29 | 2012-04-04 | 日立オートモティブシステムズ株式会社 | ソフトウェア構成管理方法およびシステム |
US9141342B2 (en) * | 2010-11-30 | 2015-09-22 | International Business Machines Corporation | Programmatic conversion of support documentation into executable programs |
US9690770B2 (en) * | 2011-05-31 | 2017-06-27 | Oracle International Corporation | Analysis of documents using rules |
US9026563B2 (en) * | 2012-02-02 | 2015-05-05 | Salesforce.Com, Inc. | Mechanism for facilitating dynamic social media-based management of assets in an on-demand services environment |
NL2009237C2 (en) * | 2012-07-26 | 2014-01-28 | Heineken Supply Chain Bv | Connecting device and tapping assembly as well as a container and method for beverage dispensing. |
US20140122348A1 (en) | 2012-10-26 | 2014-05-01 | International Business Machines Corporation | Optimized License Procurement |
US20140136958A1 (en) * | 2012-11-15 | 2014-05-15 | Customer Systems Plc | Relating to distributed access infrastructure for a database |
US9904905B2 (en) * | 2012-12-05 | 2018-02-27 | Apttex Corporation | Document-based user interfaces controlled and managed by a system |
JP5956613B2 (ja) * | 2013-01-17 | 2016-07-27 | 株式会社日立製作所 | 計算機システム、及びプログラム |
US9118538B1 (en) * | 2013-03-15 | 2015-08-25 | Emc Corporation | Method and system for configuring resources to enable resource monitoring |
WO2015049789A1 (ja) * | 2013-10-04 | 2015-04-09 | 株式会社日立製作所 | リソース管理システムおよびリソース管理方法 |
EP3097481B1 (en) * | 2014-01-21 | 2022-11-30 | Oracle International Corporation | System and method for supporting multi-tenancy in an application server, cloud, or other environment |
US10298670B2 (en) * | 2014-05-13 | 2019-05-21 | Google Llc | Real time cloud workload streaming |
US9319430B2 (en) * | 2014-06-17 | 2016-04-19 | International Business Machines Corporation | Managing software deployment |
US9122562B1 (en) * | 2014-06-19 | 2015-09-01 | Amazon Technologies, Inc. | Software container recommendation service |
JP5733458B1 (ja) * | 2014-08-26 | 2015-06-10 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
US9652273B2 (en) * | 2014-10-02 | 2017-05-16 | Vmware, Inc. | Method and system for creating a hierarchy of virtual machine templates in a virtualized computing system |
US10599423B2 (en) * | 2014-11-20 | 2020-03-24 | Red Hat, Inc. | Source code management for a multi-tenant platform-as-a-service (PaaS) system |
US9646064B2 (en) * | 2014-12-10 | 2017-05-09 | Salesforce.Com, Inc. | Template based software container |
US10783477B2 (en) * | 2015-02-03 | 2020-09-22 | International Business Machines Corporation | Template containers for business process management |
US9965260B2 (en) * | 2015-02-18 | 2018-05-08 | Oracle International Corporation | Software product release automation framework |
US9792140B2 (en) * | 2015-03-04 | 2017-10-17 | International Business Machines Corporation | Maintenance of a software discovery catalog in a virtual machine environment |
US9582268B2 (en) * | 2015-05-27 | 2017-02-28 | Runnable Inc. | Automatic communications graphing for a source application |
US10042697B2 (en) * | 2015-05-28 | 2018-08-07 | Oracle International Corporation | Automatic anomaly detection and resolution system |
US10223074B2 (en) | 2015-12-11 | 2019-03-05 | International Business Machines Corporation | Determining the identity of software in software containers |
US10162611B2 (en) * | 2016-01-04 | 2018-12-25 | Syntel, Inc. | Method and apparatus for business rule extraction |
-
2015
- 2015-12-11 US US14/965,922 patent/US10223074B2/en active Active
-
2016
- 2016-11-22 JP JP2016227079A patent/JP6813152B2/ja active Active
- 2016-12-01 CN CN201611093422.3A patent/CN107066242B/zh active Active
-
2019
- 2019-01-18 US US16/251,168 patent/US10635406B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071769A1 (en) * | 2002-09-06 | 2005-03-31 | Hironori Suzuki | Gui application development supporting apparatus, method, and computer program |
US20050257204A1 (en) * | 2004-05-17 | 2005-11-17 | Invensys Systems, Inc. | System and method for developing animated visualization interfaces |
CN102096694A (zh) * | 2009-08-23 | 2011-06-15 | 美国银行公司 | 具有支持组件的显示再现系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196681A (zh) * | 2018-04-11 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 业务写操作的磁盘数据写入控制方法及装置、电子设备 |
CN110196681B (zh) * | 2018-04-11 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 业务写操作的磁盘数据写入控制方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20170168778A1 (en) | 2017-06-15 |
US10223074B2 (en) | 2019-03-05 |
CN107066242B (zh) | 2020-11-17 |
US10635406B2 (en) | 2020-04-28 |
JP6813152B2 (ja) | 2021-01-13 |
US20190155578A1 (en) | 2019-05-23 |
JP2017107555A (ja) | 2017-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066242A (zh) | 确定软件容器中软件的标识的方法和系统 | |
CN103365725B (zh) | 在多个云之间动态分配工作负荷部署单元的方法和系统 | |
CN103380423B (zh) | 用于私人云计算的系统和方法 | |
CN104765620B (zh) | 一种程序模块部署的方法和系统 | |
US8881244B2 (en) | Authorizing computing resource access based on calendar events in a networked computing environment | |
US20140136712A1 (en) | Cloud resources as a service multi-tenant data model | |
CN108140007A (zh) | 跨部署位置安全地部署应用程序 | |
US7793268B2 (en) | Method, system, and program product for composing a virtualized computing environment | |
US20140081615A1 (en) | Virtual systems testing | |
US11093642B2 (en) | Push down policy enforcement | |
CN106027593B (zh) | 用于动态地维护数据结构的方法和系统 | |
CN105938525B (zh) | 虚拟机设备的基于目录的发现 | |
CN109906597A (zh) | 向和从云网络中存储和取回受限制的数据集和非受限制的数据集 | |
US20140325077A1 (en) | Command management in a networked computing environment | |
CN105988911A (zh) | 在系统日志中建立信任链 | |
CN114430824B (zh) | 用于完整性监测的突变事件检测 | |
US11838304B2 (en) | Tracking of sensitive data | |
US20210174216A1 (en) | Signaling concept drift during knowledge base population | |
US9342527B2 (en) | Sharing electronic file metadata in a networked computing environment | |
CN104424012B (zh) | 用于提供自定义虚拟装置的方法和设备 | |
US11263337B2 (en) | Continuous engineering migration of digital twin files from private to open sourced | |
TWI840804B (zh) | 相關於安全客體資源之延後取回之電腦程式產品、電腦系統及電腦實施方法 | |
US10168999B2 (en) | Software object definition and integration | |
US11640281B2 (en) | Tool for introspection in object-oriented source code | |
US11657117B2 (en) | Universal interface adapter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |