CN108140007B - 跨部署位置安全地部署应用程序 - Google Patents

跨部署位置安全地部署应用程序 Download PDF

Info

Publication number
CN108140007B
CN108140007B CN201680061027.9A CN201680061027A CN108140007B CN 108140007 B CN108140007 B CN 108140007B CN 201680061027 A CN201680061027 A CN 201680061027A CN 108140007 B CN108140007 B CN 108140007B
Authority
CN
China
Prior art keywords
deployment
application
data
constraints
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680061027.9A
Other languages
English (en)
Other versions
CN108140007A (zh
Inventor
M·A·罗斯
J·霍塞
C·H·斯特林
D·J·斯托瑞
D·J·麦金尼斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN108140007A publication Critical patent/CN108140007A/zh
Application granted granted Critical
Publication of CN108140007B publication Critical patent/CN108140007B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Abstract

提供了跨部署位置安全地部署应用程序的方法和系统。发明方面包括提供用于分析的应用程序,其中所述应用程序能够被划分为可以部署在不同位置的处理节点。所述应用程序基于消息模型处理消息,所述消息模型具有在给定数据方面中的关于数据部署定义约束的注释。所述数据方面包括:消息的整个消息或数据字段、数据元素或数据结构。发明方面包括分析该应用程序以识别参照具有部署约束的所述给定数据方面的处理节点以及基于所述参照的数据方面的所述部署约束来确定对处理节点的限制。发明方面进一步包括根据所述确定的限制部署所述应用程序的每个处理节点。

Description

跨部署位置安全地部署应用程序
背景技术
本发明涉及跨越部署位置的应用程序的安全部署。
诸如IBM Integration Bus(IBM和Integration Bus是国际商业机器公司的商标)等产品基于企业服务总线(ESB)技术为通用集成基础提供了选项。实施有助于在异构信息技术环境中使连接和转换成为可能,以适用于任何行业的任何规模的企业,并涵盖包括云环境和大型机服务器的各种平台。
某些集成流程可能正对包含敏感数据的消息执行动作,该敏感数据可能具有与数据可以在哪里流动相关的限制。例如,某些数据可能需要留在公司防火墙内,或者不允许出国。
利用云技术使得公司能够弹性地扩展以应对需求,减少并合理化信息技术基础设施,降低运营成本并且更快速、更容易和按需地部署系统。
某些端到端的集成应用程序或服务可以在混合云环境中运行,其中在公共云空间中执行一些处理,并且可能正在使用安全数据的一些处理在公司防火墙之后内部(on-premise)运行。
已知连接到防火墙后面的系统的安全连接器。对于诸如数据库的系统,需要安全连接器才能运行集成。这使得在公共云空间中运行的集成应用程序可以连接到在公司防火墙后面内部运行的应用程序。
发明内容
根据本发明的一个实施例,提供了一种用于跨越部署位置安全地部署应用程序的计算机实现的方法,包括:提供用于分析的应用程序,其中所述应用程序能够被划分为可以部署在不同位置的处理节点,并且其中所述应用程序基于消息模型处理消息,所述消息模型具有在给定数据方面中的关于数据部署定义约束的注释,其中数据方面包括:消息的整个消息或数据字段、数据元素或数据结构;分析该应用程序以识别参照具有部署约束的所述给定数据方面的处理节点;基于所述参照的数据方面的所述部署约束来确定对处理节点的限制;以及根据所述确定的限制部署所述应用程序的每个处理节点。
根据本发明的第二实施例,提供了一种用于跨部署位置安全地部署应用程序的系统,包括:处理器和存储器,被配置为:接收用于分析的应用程序,其中所述应用程序能够被划分为可以部署在不同位置的处理节点,并且其中所述应用程序基于消息模型处理消息,所述消息模型具有在给定的数据方面中对于数据部署定义约束的注释,其中数据方面包括:消息的整个消息或数据字段、数据元素或数据结构;分析该应用程序以识别参照具有部署约束的给定数据方面的处理节点;基于所述参照的数据方面的所述部署约束来确定对处理节点的限制;以及根据所述确定的限制部署应用程序的每个处理节点。
根据本发明的第三实施例,提供了一种用于跨越部署位置安全地部署应用程序的计算机程序产品,所述计算机程序产品包括具有内嵌程序指令的计算机可读存储介质,所述程序指令可由处理器执行以使所述处理器:提供用于分析的应用程序,其中所述应用程序能够被划分为可以部署在不同位置的处理节点,并且其中所述应用程序基于消息模型处理消息,所述消息模型具有在给定数据方面中的关于数据部署定义约束的注释,其中数据方面包括:消息的整个消息或数据字段、数据元素或数据结构;分析该应用程序以识别参照具有部署约束的所述给定数据方面的处理节点;基于所述参照的数据方面的所述部署约束来确定对处理节点的限制;以及根据所述确定的限制部署所述应用程序的每个处理节点。
本发明的所描述的方面为想要将应用程序部署到例如分布式环境或混合云环境的客户提供了简单且易于使用的部署模型的有利条件。
附图说明
在说明书的结论部分中特别指出并清楚地要求了被视为本发明的主题。当与附图一起阅读时,通过参考以下详细描述,按照组织和操作方法,可以最好地理解本发明,以及其目的、特征和优点。
现在将参考以下附图仅以举例的方式描述本发明的示例性实施例,其中:
图1A和1B是根据本发明的方法的两个示例实施例的流程图;
图2是根据本发明的方法的更详细的示例实施例的流程图;
图3是根据本发明的系统的示例实施例的框图;
图4是其中可以实现本发明的计算机系统的实施例的框图;
图5A和图5B是示出根据本发明的说明方法的集成环境中的消息流部署的示例的示意图;
图5C是示出根据本发明的示出定义的跟踪方面的消息流部署的第二示例的示意图;
图6是其中可以实现本发明的计算机系统或云服务器的实施例的框图;
图7是其中可以实现本发明的云计算环境的示意图;以及
图8是其中可以实现本发明的云计算环境的抽象模型层的图。
应该理解,为了说明的简单和清楚,图中所示的元件不一定按比例绘制。例如,为了清楚起见,一些元件的尺寸可能相对于其他元件被夸大。此外,在认为适当的情况下,可以在附图中重复附图标记以指示对应或类似的特征。
具体实施方式
可能需要信息跨多个硬件和软件平台在不同应用程序之间流动。支持这种架构的一种架构是企业服务总线架构,其在面向服务架构中提供应用程序和服务之间的集成连接。IBM Integration Bus(以前称为WebSphere Message Broker,其中IBM和WebSphere是国际商业机器公司的商标)是这种体系结构的一个例子,它允许业务信息作为具有应用于通过集成节点(也称为消息代理)闪耀的数据的规则的集成应用程序流动,来路由和转换信息。
其他体系结构可以包括分布式计算,其中分布式系统是软件系统,其中组件位于联网计算机上并且通过传递消息来传达和协调它们的行为。分布式应用程序可以跨分布式计算架构进行处理。
在集成流程或应用程序的领域中描述了所述方法和系统,所述集成流程或应用程序可以跨包括使用混合云环境的不同位置部署。然而,本领域技术人员将会理解,可以将等同的方法和系统应用于分布式计算环境。
在所描述的方法和系统中,对数据结构的描述或模型进行注释(可以例如以消息模型的形式)以识别诸如字段或结构,或者有特别限制的该结构内的元素之类的方面。例如,特定领域或结构内的数据可能被限于公司场所、限于公司防火墙内、限于一个国家,或者可能不受限制且可以自由进入公共云。
然后分析集成应用程序以确定应用程序的特定处理正在对哪些数据字段或结构进行操作。分析可以基于在消息模型中提供的限制来识别可以利用变化的限制来执行的处理节点。这些限制可能会限制对应于消息模型中定义的限制到某些位置或某些类别位置的处理。处理节点可以用指示限制的元数据标记。
可以在开发和封装应用程序时执行分析和限制元数据标记,该应用程序具有在应用程序的节点中标记的限制元数据。或者,这可以在应用程序的部署时执行,在这种情况下,元数据可以不在节点处标记,而是可以根据应用程序的限制部署节点。
当部署集成应用程序时,处理节点基于其正在处理的数据字段或结构在环境内适当地被部署。
有利的是,首席信息安全官(CISO)或其他适当的管理员可以预先对数据安全设置限制,然后将其应用于消息模型。随后,应用程序或集成开发人员和管理员不需要深入了解数据上存在哪些限制。这使混合云环境中应用程序的开发和管理更加高效,降低了成本和复杂性。
用于处理数据的系统中的部署系统可以通过检查与安全或隐私有关的限制性元数据(在节点中标注或者动态地(on the fly)生成)来分发处理,其中数据可以被安全地(即,在内部)处理或者可以在不太安全的环境(例如云)中被处理,并且可以基于规则限制该数据的某些部分在更安全的环境中被处理,同时允许在不太安全的环境中处理不敏感的数据。
该方法描述了扩充消息模型并且使用它来与应用程序分析协作以确定分布式应用程序的不同部分的合适部署位置,并且随后确定处理应当发生的位置。所描述的方法和系统在消息模型和代码之间提供逻辑中断,使得开发人员不需要知道关于数据传播的限制,因为这是由适当的架构师在消息模型级别设置的。
消息模型通常提供代码与消息描述之间的分离。这种分离方式有利于部署到混合云环境访问安全数据的应用程序。
图1A和1B示出了所描述的方法的两个示例实施例的流程图100、150,一个在应用程序的开发中,另一个在应用程序的部署处。参考图1A,流程图100图示了所描述的方法的示例性实施例,其可以在可以跨多个系统部署的应用程序的应用开发阶段执行。
作为预备步骤,可以用约束来注释消息模型以提供对消息方面中的数据使用的限制。应用约束的消息的方面可以是整个消息,复杂元素(其可以包含子复杂元素或简单元素/字段)或消息的单独元素或字段。可以作为消息模型中的约束来提供这些限制,该约束定义了数据的部署位置。注释消息模型可以识别需要停留在边界X、边界Y等内(即部门内、防火墙内、国家内等)的数据字段或结构。增加了消息模型以描述应用程序正在处理的瞬态数据,并用它来确定部署位置。
消息模型提供消息格式的注释模型,例如,消息模型可以是注释的可扩展标记语言(XML)模式模型或数据格式描述语言(DFDL)模式模型。
如果创建消息模型,管理员可以创建元素或字段并且可以在元素或字段上设置属性来指定约束。如果正在修改现有的消息模型,管理员可以通过设置适当的约束属性来修改现有的元素或字段。开发中的应用程序可能会将消息模型拉入应用程序流中,以供由消息模型定义的处理消息的应用程序的节点或子集使用。在101可以在应用程序的开发中提供该应用程序用于分析。应用程序可以具有可以跨多个系统部署的处理节点或代码子集,该多个系统可以例如是跨网络或混合云环境分布。
在102对应用程序执行分析,并识别应用程序的引用数据字段、元素或结构的多个处理节点,或者具有在消息模型中施加的约束的处理消息。在103分析可以访问注释的消息模型,其中消息的诸如数据字段、元素和/或数据结构的各方面已经用约束来注释以获得对字段、元素和/或结构中的数据的部署位置的限制的细节。
在一个实施例中,在104分析还可以访问与具有应用限制的并且已经移动到未约束的消息的目标方面的消息的多个方面相关的跟踪数据。可以跟踪目标方面并将相应的约束用于其数据。在105应用程序的节点可以用限制元数据标记以指示对节点分布的限制。在106限制元数据是基于消息模型中与该节点使用的方法(消息,数据字段,元素或结构)方面有关的约束的注释。
在107,在稍后部署应用程序时,可以读取处理节点的限制元数据,并且可以发送应用程序的不同节点以供满足该节点的限制元数据需求的系统处理。
参照图1B,流程图150示出了所描述的方法的示例性实施例,该方法可以在部署可以跨多个系统部署的应用程序时动态地(on the fly)执行。与图1A的方法一样,作为预备步骤,消息模型可以用约束来注释,以提供对消息方面的数据使用的限制。在151可以提供用于部署的应用程序。应用程序可以具有可以跨多个系统部署的处理节点,这些系统可以例如是跨网络或混合云环境分布的。
在152对应用程序执行分析并识别应用程序的引用数据字段、元素或结构的多个处理节点,或者具有在消息模型中施加的约束的处理消息。在153分析可以访问注释的消息模型,其中消息的诸如数据字段、元素和/或数据结构的各方面已经用约束来注释以获得对字段、元素和/或结构中的数据的部署位置的限制的细节。在一个实施例中,在154分析还可以访问与消息的方面有关的跟踪数据,所述消息具有应用的限制并且已经移动到未受约束的消息的目标方面。可以跟踪目标方面并将相应的约束用于其数据。
在155可以基于消息模型中的约束注释和跟踪数据来确定对处理节点的限制,并且在156可以根据确定的限制来部署应用程序的节点,并且可以发送应用程序的不同节点以由满足该节点限制要求的系统进行处理。例如,将应用程序分解为用于部署的节点,其中一些节点位于内部部署中,另一部分位于公共云环境中,从而在内部资源受到限制时支持云爆发(cloud-bursting)处理。
参考图2,流程图200示出了在开发可以跨多个系统部署的应用程序201之后执行的所描述的方法的更详细的示例实施例。该实施例在集成环境中提供,其中应用程序是具有具有一个或多个入站接口和一个或多个出站接口的节点的集成流程。分布式环境中的相应应用程序可以使用类似的方法。
在202可以触发开发的应用程序的静态分析,并且可以在步骤203分析应用程序的节点。可以确定204节点的入站接口是否包含约束字段或数据。这可以参照消息模型来确定针对字段或数据提供的约束。这也可以参照具有使约束被使用的字段的跟踪存储库210。如果节点不包括约束字段,则该方法继续到下面描述的步骤208。
在205如果该节点包括约束字段,则该节点可被标记为被适当地限制。然后在206可以确定节点逻辑是否将约束字段移动到出站接口上的任何其他字段。如果逻辑不移动约束字段,则该方法可以继续到下面描述的步骤208。然而,如果逻辑对约束字段作了更多,则在继续到步骤208之前,在207在跟踪存储库210中记录目标字段包含约束数据。
在步骤208,可以确定节点的出站接口是否包含数据的约束字段。这也可以参照记录具有使约束被使用的字段的跟踪存储库210。如果存在这样的约束字段,则在209该节点可以相应地被标记为受限制的。然后在211可以确定应用程序中是否有更多节点。如果是,则在213该方法可以循环以在步骤203分析下一个节点。如果不存在更多节点,则在214可以将应用程序部署到混合环境,该混合环境基于节点中标记的任何约束将每个节点部署到适当位置。
本实施例中的跟踪存储库210在部署之前的分析期间被使用。看到使用约束字段来创建新消息,该新消息基于未指定约束的模式,参考跟踪存储库210的静态分析可以识别当新消息被后续节点处理时,尽管当前正在使用的模型没有任何约束,但该消息确实包含在先前的消息模型中被标记为约束的字段,因此限制了所述节点的部署或处理的范围。
跟踪方法可涉及分析节点本身中的逻辑而不仅仅是接口。这可以通过分析产品API或更一般地(即XSLT,XQuery等)以了解哪些字段被移动或用作输入到具有API或一般转换技术的知识的其他出站字段。
参考图3,方框图示出了所描述的系统300的示例实施例。系统300包括安全部署系统310。安全部署系统310可以作为用于应用程序开发的开发系统的一部分,或者作为跨越部署位置的应用程序部署的部署系统的一部分来提供。图3中单独示出了安全部署组件320,然而,如果这被提供为部署系统,则其可以被合并为安全部署系统310的输出组件。
可以提供消息模型注释组件330,其可以与安全部署系统310分离并且被作为管理员的用户接口而提供以使用这里描述的部署约束来注释消息模型。这可能与应用程序开发分离。安全部署系统310可以包括处理器和存储器,该处理器和存储器被配置为向处理器提供计算机程序指令以执行被配置为提供所定义的功能的以下部件的功能。
安全部署系统310可以包括接收组件311,该接收组件被安排用于接收应用程序312以用于分析,其中应用程序能够被划分成可以部署在不同位置的处理节点401-405。应用程序312基于消息模型313处理消息,该消息模型313具有注释,该注释定义了在消息的给定数据字段或结构中的数据部署的约束。可以提供访问组件317用于访问所需的消息模型313。
安全部署系统310可以包括分析组件314,该分析组件314被安排用于分析应用程序以识别处理节点401-405,该分析组件314参照具有由消息模型313中的注释定义的部署约束的给定数据字段或结构。分析组件314还可以参照跟踪组件316,该跟踪组件316被安排用于跟踪具有部署约束的数据字段或结构以及用于确定具有部署约束的数据字段或结构是否从处理节点501-505被移动。可以提供跟踪存储库318,以用于记录具有部署约束的移动的数据字段或结构。
安全部署系统310可以包括确定组件321,用于基于所参照的数据字段和结构的部署约束来确定对处理节点的限制。
在安全部署系统310在部署之前被操作的实施例中,安全部署系统310可以包括标记组件315,该标记组件315被安排以用于使用限制元数据标记处理节点401-405,该限制元数据对应于消息模型313中注释的部署约束,并与处理节点访问的给定数据字段或结构相关。如果需要,标记的应用程序输出组件319可以将标记的应用程序输出到单独的部署组件320。部署组件320可以根据部署约束来读取限制性元数据并且部署每个处理节点401-405。
在安全部署系统310在应用程序的部署处操作的实施例中,确定组件321可以将所确定的处理节点的限制输出到安全部署组件320,安全部署组件320可以相应地部署处理节点。
参照图4,方框图示出了其中可以实现所描述的方法和系统的示例系统400。所示的示例系统400是以跨混合云环境部署的集成应用程序的形式的应用程序312。为了简化说明,将混合云环境示为内部(on premise)系统410和公共云420。
内部系统410和公共云420可以分别具有运行时引擎411、421。运行时引擎411、421运行部署给它们的应用程序。在一个示例实施例中,运行时引擎可以是集成服务器。应用程序参照可能通常包含关联资源的库,例如消息模型313。
具有关联的消息模型313的集成应用程序312具有处理节点401-405。可以在内部的运行时引擎411或公共云上的运行时引擎421(或者更复杂的安排中的其他位置)运行节点401-405中的每一个。当应用程序312中的逻辑到达节点401-405时,如果要在公共云420上执行,则正在处理的消息和上下文被发送到运行时引擎421。如果要在内部系统410上执行,则正在处理的消息和上下文被发送到内部系统410上的运行时引擎411。
可以将安全连接器420提供为运行在连接内部的运行时间引擎411到云端420的运行时间引擎421的位置(内部,云端或两者之间的分隔)的进程。一旦在云端运行时引擎421完成,控制返回到内部运行时引擎411。因此,安全连接器420是与被调用的运行时引擎411、421相关的外部进程,并且将内部运行时引擎411连接到云端中的运行时引擎421。
可以在安全连接器420处提供所描述的安全部署组件310并且可以在处理节点401-405处读取限制元数据并且确定该节点可以被部署到哪个运行时引擎411、421。
现在提供示出所描述的方法的示例。
当用消息模型(XML/DFDL模式等)描述消息结构时,管理员可另外提供关于特定数据结构或字段的注释设置限制。以下示例对FIELD2施加了一个限制,即它不会离开公司防火墙,并且复杂结构PERSONAL_DATA中的数据不允许离开该国家:
HEADER::
FIELD1::STRING
BODY::
FIELD2::STRING::ONPREM
PERSONAL_DATA::::COUNTRY
FIELD3::INTEGER
FIELD4::STRING
FIELD5::STRING
FOOTER::
FIELD6::DATETIME
FIELD2和PERSONAL_DATA字段/元素(包括子元素FIELD3、FIELD4和FIELD5)具有约束。如果节点与这些字段有接口,则它必须在适当的环境中执行。
集成流程开发者可随后将所述消息模型拖入处理所描述的消息的集成流程中。当应用程序完成并打包或部署时,可能会发生代码的静态分析,以确定应用程序的哪些节点访问字段或处理带有施加在消息模型中的约束的消息。有利地,这可以另外包括跟踪离开消息模型的数据,例如,从上面的FIELD2获取并移动到另一个消息模型中的非约束字段以进行出站调用。
然后可以基于分析来标记应用程序节点以指出它们可以被部署在何处。作用于“ONPREM”约束数据的节点只能被部署到内部环境。
图5A和5B中示出了第一示例集成和后续部署。在图5A中示出了通过输入501、路由502、变换503、SOAP请求504、变换505和输出506的节点的集成的消息流500的示例实施例。当消息框在彼此顶部显示时,将顶部的消息转换为底部的消息,或者将顶部的消息发送给外部服务,并将底部的消息返回。
在消息流的输入阶段501接收消息511。在502消息511被基于消息中带下划线的字段来路由。为了简单起见,可以从这一点选择的其他路径未示出。在503消息513从顶部513A处示出的消息变换为底部513B处示出的消息。带下划线的字段显示传播到变换节点503的出站消息的数据。SOAP请求节点504顶部的消息514A被发送到外部SOAP服务,并且接收到下面的响应514B。这两个接口都没有参照任何约束字段,所以这个节点可以在较低的安全环境中执行。变换节点505顶部的消息515A被变换为底部所示的消息151B。在输出节点506处显示的消息516是从该集成输出的。
输入节点501和路由节点502之间以及路由节点502和变换节点503之间的接口的消息模型具有被约束的FIELD2字段和PERSONAL_DATA字段和元素(包括子元素字段3,字段4和字段5)。因此,如果节点与这些字段有接口,它必须在适当的环境中执行。
图5B示出了消息流500的集成部署的结果。输入节点501、路由节点502、变换节点503正在处理约束数据,因此需要在内部520进行处理。这些用限制元数据标记并部署在内部。请求节点504、第二变换节点505和输出节点506不处理受约束的数据,因此可以在公共云环境530中部署和处理。
如果所述环境的地理位置是已知的或者可以被指定的,则它们可以在云环境中使用。或者如果所述数据库的位置未知或者不在所述地理约束之内,则不能被发送到数据库(例如)。在这种情况下,数据不会被发送(从内容中删除)。这可能会导致应用程序将错误报告给管理员/开发人员。
参照图5C,示出了示出具有值PN515DL的追踪字段551的第二示例集成。尽管变换节点503和请求节点504之间的接口的消息模型不包含任何约束字段,但静态分析已经示出约束字段551(具有值PN515DL)已经被移动到非约束字段552。因此,由于这包含约束数据,所以它不能离开约束(即,在内部)。因此请求节点504必须在内部进行处理。请求节点504和变换节点505之间以及变换节点505和输出506之间的接口不包含约束数据,并且没有数据已经被跟踪进入这些约束的消息模型,因此最后两个节点505、506可以在公共环境中进行处理。
虽然以上实现和描述是基于集成应用程序,但这些方法更广泛地适用于可以被分解为组成部分的任何应用程序。
现在参考图6,其示出了计算机系统或服务器形式的系统600的示例的示意图。
计算机系统或服务器612可以与许多其他通用或专用计算系统环境或配置一起操作。可适用于计算机系统/服务器612的公知计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、胖客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。
计算机系统/服务器612可以在由计算机系统执行的诸如程序模块的计算机系统可执行指令的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等等。计算机系统/服务器612可以在分布式云计算环境中实施,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
在图6中,计算机系统/服务器612以通用计算设备的形式表现。计算机系统/服务器612的组件可以包括但不限于:一个或者多个处理器或者处理单元616,系统存储器628,连接不同系统组件(包括系统存储器628和处理单元616)的总线618。
总线618表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器612典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器612访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器628可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)630和/或高速缓存存储器632。计算机系统/服务器612可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统634可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线618相连。存储器628可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块642的程序/实用工具640,可以存储在例如存储器628中,这样的程序模块642包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块642通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器612也可以与一个或多个外部设备614(例如键盘、指向设备、显示器624等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器612交互的设备通信,和/或与使得该计算机系统/服务器612能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口622进行。并且,计算机系统/服务器612还可以通过网络适配器620与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器620通过总线618与计算机系统/服务器612的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器612使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
云计算
应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图7,其中显示了示例性的云计算环境750。如图所示,云计算环境750包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点600,本地计算设备例如可以是个人数字助理(PDA)或移动电话754A,台式电脑754B、笔记本电脑754C和/或汽车计算机系统754N。节点600之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将节点600进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境750提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图7显示的各类计算设备754A-N仅仅是示意性的,云计算节点600以及云计算环境750可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图8,其中显示了云计算环境750(图7)提供的一组功能抽象层。首先应当理解,图8所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图8所示,提供下列层和对应功能:
硬件和软件层860包括硬件和软件组件。硬件组件的例子包括:主机861;基于RISC(精简指令集计算机)体系结构的服务器862;服务器863;刀片服务器864;存储设备865;网络和网络组件866。软件组件的例子包括:网络应用服务器软件867以及数据库软件868。
虚拟层870提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器871、虚拟存储872、虚拟网络873(包括虚拟私有网络)、虚拟应用和操作系统874,以及虚拟客户端875。
在一个示例中,管理层880可以提供下述功能:资源供应功能881:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能882:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能883:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能884:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能885:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层890提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航891;软件开发及生命周期管理892;虚拟教室的教学提供893;数据分析处理894;交易处理895;以及跨多个部署位置的安全部署896。
已经出于说明的目的呈现了本发明的各种实施例的描述,但并不意图是穷举的或者限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说将是显而易见的。选择在此使用的术语是为了最好地解释实施例的原理、实际应用或技术改进,而不是针对市场上发现的技术,或者使本领域的其他技术人员能够理解本文公开的实施例。
已经出于说明的目的而呈现了本发明的各种实施例的描述,但并非旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说将是显而易见的。选择在此使用的术语是为了最好地解释实施例的原理,实际应用或技术改进而不是技术上的改进,或者使本领域的其他普通技术人员理解本文公开的实施例。

Claims (20)

1.一种用于跨越部署位置安全地部署应用程序的计算机实现的方法,包括:
提供用于分析的应用程序,其中所述应用程序能够被划分为可以部署在不同位置的处理节点,并且其中所述应用程序基于消息模型处理消息,所述消息模型具有在给定数据方面中的关于数据部署定义约束的注释,其中数据方面包括:消息的整个消息或数据字段、数据元素或数据结构;
分析该应用程序以识别参照具有部署约束的所述给定数据方面的处理节点;
基于所述参照的数据方面的所述部署约束来确定对处理节点的限制;以及
根据所述确定的限制部署所述应用程序的每个处理节点。
2.根据权利要求1所述的方法,其中所述分析和确定是在部署所述应用程序时动态执行的。
3.根据权利要求1所述的方法,其中,所述分析和确定是在部署所述应用程序之前执行的,并且所述方法包括:
使用限制元数据来标记处理节点,所述元数据对应于所述消息模型中注释的所述部署约束,所述元数据与由所述处理节点所参照的所述给定数据方面相关。
4.根据权利要求3所述的方法,其中,通过读取所述限制元数据并根据所述限制来部署每个处理节点来在标记的处理节点上执行部署。
5.根据权利要求1所述的方法,包括:
跟踪具有部署约束的数据方面;
确定具有部署约束的数据方面是否被移动到不具有部署约束的目标数据方面;以及
记录所述目标数据方面具有部署约束。
6.根据权利要求5所述的方法,其中分析所述应用程序以识别参照具有部署约束的所述给定数据方面的处理节点包括确定给定数据方面是否被跟踪为具有部署约束。
7.根据权利要求1所述的方法,包括:
访问消息模型以确定在给定数据方面的消息模型中注释的所述部署约束。
8.根据权利要求5所述的方法,包括:
访问跟踪数据以确定给定数据方面的部署限制。
9.根据权利要求1所述的方法,其中在所述消息模型和所述应用程序的代码之间提供逻辑中断,使得部署约束仅在所述消息模型中定义。
10.根据权利要求1所述的方法,其中所述应用程序是具有能够跨分布式资源部署的处理节点的分布式应用程序。
11.根据权利要求1所述的方法,其中所述应用程序是具有处理节点的集成流程,所述处理节点具有一个或多个入站接口和一个或多个出站接口,并且其中分析所述应用程序以识别参照所述给定数据方面的处理节点包括确定入站接口或出站接口是否包含具有部署约束的给定数据方面。
12.根据权利要求1所述的方法,其中,所述应用程序能够被部署在混合云环境中,并且所述部署约束与所述混合云环境中的部署位置相关,所述混合云环境包括以下一组中的一个或多个:本地客户端部署、内部部署、企业内部署内、地理位置内部部署或在公共云中部署。
13.一种用于跨部署位置安全地部署应用程序的系统,包括:
处理器和存储器,被配置为:
接收用于分析的应用程序,其中所述应用程序能够被划分为可以部署在不同位置的处理节点,并且其中所述应用程序基于消息模型处理消息,所述消息模型具有在给定的数据方面中对于数据部署定义约束的注释,其中数据方面包括:消息的整个消息或数据字段、数据元素或数据结构;
分析该应用程序以识别参照具有部署约束的给定数据方面的处理节点;
基于所述参照的数据方面的所述部署约束来确定对处理节点的限制;以及
根据所述确定的限制部署应用程序的每个处理节点。
14.根据权利要求13所述的系统,其中所述分析和确定是在部署所述应用程序时动态执行的。
15.根据权利要求13所述的系统,其中,所述分析和确定是在所述应用程序的部署之前执行的,并且所述处理器还被配置为使用限制元数据来标记处理节点,所述元数据对应于所述消息模型中注释的所述部署约束,所述元数据与由所述处理节点所参照的所述给定数据方面相关。
16.根据权利要求15所述的系统,其中,通过读取所述限制元数据并根据所述限制来部署每个处理节点来在标记的处理节点上执行部署。
17.根据权利要求13所述的系统,其中所述处理器还被配置为:
跟踪具有部署约束的数据方面;
确定具有部署约束的数据方面是否被移动到不具有部署约束的目标数据方面;以及
记录所述目标数据方面具有部署约束。
18.根据权利要求17所述的系统,其中分析所述应用程序以识别参照具有部署约束的所述给定数据方面的处理节点包括确定给定数据方面是否被跟踪为具有部署约束。
19.根据权利要求13所述的系统,其中所述处理器还被配置为访问消息模型以确定在给定数据方面的消息模型中注释的所述部署约束。
20.一种用于跨越部署位置安全地部署应用程序的计算机可读存储介质,具有内嵌程序指令,所述程序指令可由处理器执行以使所述处理器:
提供用于分析的应用程序,其中所述应用程序能够被划分为可以部署在不同位置的处理节点,并且其中所述应用程序基于消息模型处理消息,所述消息模型具有在给定数据方面中的关于数据部署定义约束的注释,其中数据方面包括:消息的整个消息或数据字段、数据元素或数据结构;分析该应用程序以识别参照具有部署约束的所述给定数据方面的处理节点;
基于所述参照的数据方面的所述部署约束来确定对处理节点的限制;以及
根据所述确定的限制部署所述应用程序的每个处理节点。
CN201680061027.9A 2015-11-29 2016-11-21 跨部署位置安全地部署应用程序 Active CN108140007B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/953,353 2015-11-29
US14/953,353 US9398087B1 (en) 2015-11-29 2015-11-29 Secure deployment of an application across deployment locations
PCT/IB2016/057007 WO2017089943A1 (en) 2015-11-29 2016-11-21 Secure deployment of an application across deployment locations

Publications (2)

Publication Number Publication Date
CN108140007A CN108140007A (zh) 2018-06-08
CN108140007B true CN108140007B (zh) 2021-10-01

Family

ID=56381819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680061027.9A Active CN108140007B (zh) 2015-11-29 2016-11-21 跨部署位置安全地部署应用程序

Country Status (6)

Country Link
US (1) US9398087B1 (zh)
JP (1) JP6714693B2 (zh)
CN (1) CN108140007B (zh)
DE (1) DE112016003355B4 (zh)
GB (1) GB2561759B (zh)
WO (1) WO2017089943A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318265B1 (en) * 2015-10-09 2019-06-11 Amazon Technologies, Inc. Template generation for deployable units
US9398087B1 (en) * 2015-11-29 2016-07-19 International Business Machines Corporation Secure deployment of an application across deployment locations
US20180329700A1 (en) * 2015-11-30 2018-11-15 Hewlett Packard Enterprise Development Lp Application migration system
US10601871B2 (en) 2017-01-18 2020-03-24 International Business Machines Corporation Reconfiguration of security requirements for deployed components of applications
US10579511B2 (en) 2017-05-10 2020-03-03 Bank Of America Corporation Flexible testing environment using a cloud infrastructure—cloud technology
US10419539B2 (en) 2017-05-19 2019-09-17 Bank Of America Corporation Data transfer path selection
US10462230B2 (en) 2017-05-23 2019-10-29 Bank Of America Corporation Migrating sessions using a private cloud-cloud technology
US10320920B2 (en) 2017-05-23 2019-06-11 Bank Of America Corporation Automatic migration of communication sessions using a private cloud-cloud technology
US10461898B2 (en) 2017-06-08 2019-10-29 Bank Of America Corporation Parallel data transmission
US10608793B2 (en) 2017-06-08 2020-03-31 Bank Of America Corporation Serial data transmission
US10657615B2 (en) 2017-06-09 2020-05-19 Bank Of America Corporation System and method of allocating computing resources based on jurisdiction
US10481954B2 (en) 2017-06-09 2019-11-19 Bank Of America Corporation System and method of managing computing resources
US10796304B2 (en) 2017-06-12 2020-10-06 Bank Of America Corporation System and method of managing computing resources
US10423590B2 (en) 2017-06-23 2019-09-24 Bank Of America Corporation System and method of managing data in a distributed computing environment
US10659451B2 (en) 2017-07-18 2020-05-19 Bank Of America Corporation System and method for injecting a tag into a computing resource
US10462665B2 (en) 2017-08-17 2019-10-29 Bank Of America Corporation Multifactor network authentication
US10462126B2 (en) 2017-08-17 2019-10-29 Bank Of America Corporation Self-adjusting multifactor network authentication
US11537445B2 (en) 2019-09-17 2022-12-27 International Business Machines Corporation Dynamic integration flows in hybrid cloud environments
JP7138230B2 (ja) 2019-09-25 2022-09-15 株式会社日立製作所 計算機システム、データ制御方法及び記憶媒体
US11169864B2 (en) * 2019-11-21 2021-11-09 Spillbox Inc. Systems, methods and computer program products for application environment synchronization between remote devices and on-premise devices
US11756112B2 (en) 2020-06-10 2023-09-12 Bank Of America Corporation Settings optimization engine using artificial intelligence to enhance client privacy
CN113973127B (zh) * 2020-07-24 2024-03-19 中移(苏州)软件技术有限公司 一种网络部署方法、装置及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050277428A1 (en) * 2004-05-13 2005-12-15 International Business Machines Corporation Location-based control of wireless communications device features
US8856862B2 (en) * 2006-03-02 2014-10-07 British Telecommunications Public Limited Company Message processing methods and systems
US9049306B1 (en) * 2008-11-30 2015-06-02 Nadejda V. Gueorguieva Apparatus and methods for remote control of access to facilities
US20120005724A1 (en) 2009-02-09 2012-01-05 Imera Systems, Inc. Method and system for protecting private enterprise resources in a cloud computing environment
CN102004886B (zh) * 2010-11-15 2012-07-25 上海安纵信息科技有限公司 一种基于操作系统虚拟化原理的数据防泄漏方法
US8549539B2 (en) * 2010-12-13 2013-10-01 International Business Machines Corporation Programmatic modification of a message flow during runtime
US9519520B2 (en) * 2011-10-25 2016-12-13 Viasat, Inc. Federated, policy-driven service meshes for distributed software systems
US8434080B2 (en) 2011-12-22 2013-04-30 Software Ag Usa, Inc. Distributed cloud application deployment systems and/or associated methods
US8984132B2 (en) * 2012-01-23 2015-03-17 International Business Machines Corporation System and method for supporting secure application deployment in a cloud
US9959273B2 (en) 2012-04-26 2018-05-01 International Business Machines Corporation Enterprise-level data protection with variable data granularity and data disclosure control with hierarchical summarization, topical structuring, and traversal audit
US20140075502A1 (en) * 2012-09-11 2014-03-13 Selim Aissi Resource management of execution environments
US9712402B2 (en) 2012-10-10 2017-07-18 Alcatel Lucent Method and apparatus for automated deployment of geographically distributed applications within a cloud
US9832205B2 (en) * 2013-03-15 2017-11-28 International Business Machines Corporation Cross provider security management functionality within a cloud service brokerage platform
US9596315B2 (en) 2013-05-30 2017-03-14 Zentera Systems, Inc. Secure data transfer platform for hybrid computing environment
US20150052144A1 (en) * 2013-07-12 2015-02-19 Francesco Mari Computer system storing content into application independent objects
US20150134424A1 (en) * 2013-11-14 2015-05-14 Vmware, Inc. Systems and methods for assessing hybridization of cloud computing services based on data mining of historical decisions
US9411611B2 (en) * 2014-05-02 2016-08-09 International Business Machines Corporation Colocation and anticolocation in colocation data centers via elastic nets
US9398087B1 (en) * 2015-11-29 2016-07-19 International Business Machines Corporation Secure deployment of an application across deployment locations

Also Published As

Publication number Publication date
US9398087B1 (en) 2016-07-19
GB2561759B (en) 2019-05-08
WO2017089943A1 (en) 2017-06-01
CN108140007A (zh) 2018-06-08
DE112016003355B4 (de) 2021-10-07
DE112016003355T5 (de) 2018-04-05
GB201810593D0 (en) 2018-08-15
GB2561759A (en) 2018-10-24
JP2018535480A (ja) 2018-11-29
JP6714693B2 (ja) 2020-06-24

Similar Documents

Publication Publication Date Title
CN108140007B (zh) 跨部署位置安全地部署应用程序
US10601871B2 (en) Reconfiguration of security requirements for deployed components of applications
US10983816B2 (en) Self-adaptive building container images
US10972586B2 (en) Reusable message flow between applications of a message broker integrated systems environment
US10834059B2 (en) Secure message handling of an application across deployment locations
JP2019536123A (ja) 外部処理を用いたアプリケーション内のセンシティブ・データの処理
US11455337B2 (en) Preventing biased queries by using a dictionary of cause and effect terms
US10558710B2 (en) Sharing server conversational context between multiple cognitive engines
US20170083483A1 (en) Mapping of documents with global tagging map
US10216802B2 (en) Presenting answers from concept-based representation of a topic oriented pipeline
US20200302350A1 (en) Natural language processing based business domain modeling
US11288170B1 (en) Log analysis debugging without running on real production environment
US11144313B2 (en) Merging changes from upstream code to a branch
US20180253292A1 (en) Building deployment packages that reference versions of files to be deployed
CN112306964A (zh) 由知识数据库大规模地驱动的基于元数据的科学数据表征
US20180107723A1 (en) Content oriented analysis of dumps
US10656975B2 (en) Hybrid cloud with dynamic bridging between systems of record and systems of engagement
US11726778B2 (en) Translating clusters of a monolith application to microservices
US20220300611A1 (en) Run-time communications protocol parameter adjustment in containerized applications
US10902046B2 (en) Breaking down a high-level business problem statement in a natural language and generating a solution from a catalog of assets
US20230252092A1 (en) Reflecting metadata annotated in crawled documents to original data sources
US11443101B2 (en) Flexible pseudo-parsing of dense semi-structured text
US20220012220A1 (en) Data enlargement for big data analytics and system identification
Spark Processing
US20230252065A1 (en) Coordinating schedules of crawling documents based on metadata added to the documents by text mining

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