CN114341809A - 分布式系统部署 - Google Patents

分布式系统部署 Download PDF

Info

Publication number
CN114341809A
CN114341809A CN202080060269.2A CN202080060269A CN114341809A CN 114341809 A CN114341809 A CN 114341809A CN 202080060269 A CN202080060269 A CN 202080060269A CN 114341809 A CN114341809 A CN 114341809A
Authority
CN
China
Prior art keywords
machines
communication
container
pair
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080060269.2A
Other languages
English (en)
Inventor
A·J·内勒-蒂斯
O·P·玛斯特尔斯
S·C·史密斯
A·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 CN114341809A publication Critical patent/CN114341809A/zh
Pending legal-status Critical Current

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/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0826Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

一种用于配置跨网络的多个机器的分布式系统的部署的计算机实现的方法。该方法可以包括:获取描述网络的多个机器之间的网络通信特性的网络信息。该方法还可以包括获取容器间通信信息,该信息描述针对预定时间段的多个机器中的机器对之间的通信的至少一个特性。该方法还可以包括:基于网络信息和容器间通信来确定成本函数,该成本函数将潜在容器部署配置映射到预期通信时间。该方法还可以包括:利用优化算法来处理成本函数。该方法还可以包括:响应于该处理,标识具有满足成本要求的关联成本的容器部署配置。

Description

分布式系统部署
技术领域
本公开一般涉及分布式系统,并且更具体涉及跨多个机器的分布式系统的部署。
发明内容
本发明提供了一种用于配置跨网络的多个机器的分布式系统的部署的计算机实现的方法、系统和计算机程序产品。该方法可以包括:获取描述网络的多个机器之间的网络通信特性的网络信息。该方法还可以包括获取容器间通信信息,该信息描述针对预定时间段的多个机器中的机器对之间的通信的至少一个特性。该方法还可以包括:基于网络信息和容器间通信来确定成本函数,该成本函数将潜在容器部署配置映射到预期通信时间。该方法还可以包括:利用优化算法来处理成本函数。该方法还可以包括:响应于该处理,标识具有满足成本要求的关联成本的容器部署配置。
该系统可以具有一个或多个计算机处理器,并且可以被配置为,获取描述网络的多个机器之间的网络通信特性的网络信息。该系统还可以被配置为获取容器间通信信息,该容器间通信信息描述针对预定时间段的多个机器中的机器对之间的通信的至少一个特性。该系统还可以被配置为,基于网络信息和容器间通信来确定成本函数,该成本函数将潜在容器部署配置映射到预期通信时间。该系统还可以被配置为,利用优化算法来处理成本函数。该系统还可以被配置为,响应于该处理,标识具有满足成本要求的关联成本的容器部署配置。
该计算机程序产品可以包括计算机可读存储介质,该计算机可读存储介质具有利用所述计算机可读存储介质具化的程序指令,该程序指令能够由服务器执行,以使服务器执行方法。该方法可以包括:获取描述网络的多个机器之间的网络通信特性的网络信息。该方法还可以包括获取容器间通信信息,该信息描述了针对预定时间段的多个机器中的机器对之间的通信的至少一个特性。该方法还可以包括:基于网络信息和容器间通信来确定成本函数,该成本函数将潜在容器部署配置映射到预期通信时间。该方法还可以包括:利用优化算法来处理成本函数。该方法还可以:包括响应于该处理,标识具有满足成本要求的关联成本的容器部署配置。
上述发明内容不旨在描述本公开的每个所示实施例或每种实现。
附图说明
本申请中所包括的附图并入说明书中,并且形成说明书的部分。它们示出了本公开的实施例,并且与说明书一起用于解释本公开的原理。附图仅说明某些实施例,并且不限制本公开。
图1描绘了根据一些实施例的示例分布式系统的示意图。
图2描绘了根据一些实施例的示例系统的框图。
图3示出了根据一些实施例的、用于配置跨网络的多个机器的容器部署的方法的流程图。
图4描绘了根据一些实施例的示例计算机系统的框图。
图5描绘了根据一些实施例的云计算环境。
图6示出了根据一些实施例的抽象模型层。
虽然本发明可以有各种修改和备选形式,但是其细节已经在附图中通过示例的方式示出并且将被详细描述。然而,应当理解,其目的不是将本发明限制于所描述的特定实施例。相反,本发明覆盖落入本发明的精神和范围内的所有修改、等效和备选。
具体实施方式
本公开一般涉及分布式系统,并且更具体地涉及跨多个机器的分布式系统的部署。虽然本公开不必然限于此类应用,但是通过使用此上下文的各种示例的讨论可以理解本公开的各种方面。
由于优于传统现场部署的许多优点,可以创建分布式系统以跨多个机器(诸如,在云中)来托管软件服务。然而,当跨多个机器主存软件服务时,服务高效并且有效地运行可能是重要的。
这些软件服务可以由多个微服务组成,并且每个微服务可以在它们自己的容器中运行,并且还可以彼此通信(例如,使用表述性状态传输(REST)、超文本传输协议(HTTP)等)。不同的微服务可以比其它微服务通信更多(例如,取决于整个系统的架构)。用于托管容器的多个机器可以在每个机器上托管多于一个容器。然而,各种不同机器之间的ping时间可能显著不同,因此导致当微服务彼此交互时机器之间变化的延迟。这种变化的延迟可能对整个系统性能具有大的影响。
本公开提供了一种用于跨多个机器部署分布式系统的计算机实现的方法、系统和计算机程序产品。更具体地,可以基于描述多个机器之间的网络通信特性的网络信息将容器部署在机器上,从而使总体系统性能最大化。这种概念可以使用跨容器度量、其统计分析和优化试探法的组合。实施例因此可以提供工具,通过该工具可以最小化云系统内的延迟以增加服务的性能。这可以导致整个系统的吞吐量增加以及更好的客户体验。
基于网络信息和容器间通信信息(例如,针对现有部署配置而获取的),实施例可以标识用于改进性能的优选或最佳部署架构。
例如,可以通过测量ping时间、数据传输速率和机器对之间的带宽中的至少一项来获取网络信息。通过从实际部署(例如,测试部署或生产部署)获取网络信息,可以获取准确的相关信息,以便改进分析和结果。
获取容器间通信信息可以包括在测试部署配置中跨多个机器来部署微服务容器。然后,可以监视针对预定时间段的多个机器中的机器对之间的通信,以确定针对预定时间段的多个机器中的机器对之间的通信的至少一个特性。例如,可以实现初始测试部署配置,然后对其进行监视以获取关于机器对之间的通信的准确信息。通过从实际部署中获取容器间通信信息,可以获取更准确和相关的信息,从而改进分析和结果。
在一些实施例中,可以监视现有生产部署,以获取容器间通信信息。例如,监视这种生产部署可以提供比测试部署更准确的信息。
容器间通信信息可以包括:描述针对预定时间段(例如,一小时、一天、一周、一个月等)的多个机器中的机器对之间传输的数据量的信息。作为示例,容器间通信信息可以包括描述以下至少一项的信息:针对述预定时间段的多个机器中的机器对之间的请求和响应的平均频率、针对预定时间段的多个机器中的机器对之间的请求和响应的内容长度报头、以及针对预定时间段的多个机器中的机器对之间的请求和响应的平均有效载荷大小。关于请求和响应的平均频率的信息可以提供某些容器间交互或链接的相对重要性的指示。类似地,关于平均有效载荷大小的信息可以提供某些容器间链路的相对要求的指示。例如,利用这种信息来确保在部署配置中对某些容器间通信链路进行优先级排序。
优选实施例还可以包括基于以下至少一项来确定成本要求:用户输入信号和来自性能控制组件的控制信号。这样的实施例还可以包括:利用性能控制组件来确定最低性能要求,并且生成表示最低性能要求的控制信号。因此,实施例可以便于根据用户的偏好和/或由控制器(或专家用户)做出的确定来调整成本要求。这可以使能够根据特定目标需要来设置和/或修改成本要求。
例如,优化算法可以包括以下至少一项:贪婪算法、蚁群(“ant colony”)算法、模拟退火(“simulated annealing”)算法、遗传算法和禁忌(“tabu”)搜索。因此,实施例可以采用各种各样的已知或常规的优化概念或算法。这可以有助于降低实现复杂度和/或成本。
在本申请的上下文中,其中本发明的实施例构成方法,应当理解,这样的方法可以是用于由计算机执行的过程,即,可以是计算机可实现的方法。因此,该方法的各个步骤可以反映计算机程序的各个部分(例如,一个或多个算法的各个部分)。
此外,在本申请的上下文中,系统可以是适于执行本发明的方法的一个或多个实施例的单个设备或分布式设备的集合。例如,系统可以是个人计算机(PC)、服务器或经由诸如局域网、互联网等网络连接的PC和/或服务器的集合,以便协作地执行本发明的方法的至少一个实施例。
提出了用于基于ping时间在机器上部署容器以便最小化跨系统的等待时间,从而最大化整体系统性能的概念。这样的概念可以使用跨容器度量、其统计分析和优化试探法的组合。实施例因此可以提供工具,通过该工具可以最小化云系统内的延迟以增加服务的性能。这可以导致整个系统的吞吐量增加以及更好的客户体验。
因此,实施例可以提供一种计算机实现的方法,用于通过找到容器的最优部署配置(例如,位置)以用于容器之间的最小ping时间来减少系统中的延迟。
例如,在一些实施例中,可以采用跨容器联网度量的大矩阵(诸如,ping时间、数据传输速率和/或容器间带宽),以便针对性能来优化整个系统部署的配置。这种优化可以采用先进的优化技术(例如,蚁群优化算法)。
例如,实施例可以寻求在几乎不考虑初始测试部署配置的速度的情况下找到针对性能的最佳的部署架构。
在一些实施例中,基于网络信息和容器间通信信息(例如,针对现有部署配置而获取的),可以确定成本函数,该成本函数将潜在容器部署配置映射到预期通信时间。使用该成本函数,可以采用优化算法,以标识具有满足成本要求的相关成本的容器部署配置。
仅作为示例,由所提出的实施例采用的优化算法可以包括:贪婪算法、蚁群算法或其组合。因此,实施例可以采用各种技术用于优化成本函数,从而降低实现复杂度和/或成本。
现在参考图1,根据一些实施例,描绘了示例性分布式系统100的示意图。在一些实施例中,分布式系统100包括其中可以实现说明性实施例的方面的计算机网络。分布式系统100可以包含至少一个网络102,其可以是用于在分布式数据处理系统100内连接在一起的各种设备与计算机(例如,客户端110、客户端112、客户端114、服务器104、服务器106等)之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光纤电缆的连接。
在一些实施例中,第一服务器104和第二服务器106连同存储单元108一起被连接到网络102。附加地,客户端110、112和114也被连接到网络102。客户端110、112和114可以是例如个人计算机、网络计算机等。在所描述的示例中,第一服务器104向客户端110、112和114提供数据(诸如,引导文件、操作系统映像和应用)。在一些实施例中,客户端110、112和114是第一服务器104的客户端。分布式处理系统100可以包括未示出的附加服务器、客户端和其他设备。
在一些实施例中,分布式系统100可以是互联网,并且网络102可以表示使用传输控制协议/互联网协议(TCP/IP)协议集来彼此通信的、世界范围的网络和网关的集合。例如,在互联网的核心处可以是主节点或主机计算机之间的高速数据通信线路的主干,其由将数据和消息进行路由的数千个商业、政府、教育和其它计算机系统组成。在一些实施例中,分布式系统100被实现为包括多个不同类型的网络(诸如,例如内联网、局域网(LAN)、广域网(WAN)等)。如上所述,图1旨在作为示例,而不是作为针对本发明的不同实施例的架构限制,因此,图1中所示的特定元素不应当被认为是对其中可以实现本发明的说明性实施例的环境的限制。
参考图2,根据一些实施例,描绘了可以实现说明性实施例的方面的示例系统200的框图。系统200是诸如图1中的客户端110的计算机的示例,实现本发明的说明性实施例的过程的计算机可用代码或指令可以位于其中。
在一些实施例中,系统200采用集线器架构,其包括北桥与存储器控制器集线器(NB/MCH)202和南桥与输入/输出(I/O)控制器集线器(SB/ICH)204。处理单元206、主存储器208和图形处理器210可以被连接到NB/MCH 202。在一些实施例中,图形处理器210可以通过加速图形端口(AGP)而被连接到NB/MCH 202。
在一些实施例中,局域网(LAN)适配器212连接到SB/ICH 204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其它通信端口232,并且PCI/PCIe设备234可以通过第一总线238和第二总线240而连接到SB/ICH 204。PCI/PCIe设备234可以包括例如以太网适配器、附加卡和用于笔记本计算机的PC卡。在一些实施例中,PCI可以使用卡总线控制器,而PCIe可以不使用。在一些实施例中,ROM 224可以是例如闪速基本输入/输出系统(BIOS)。
在一些实施例中,HDD 226和CD-ROM驱动器230通过第二总线240而连接到SB/ICH204。HDD 226和CD-ROM驱动器230可以使用例如集成驱动电子设备(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可以连接到SB/ICH 204。
在一些实施例中,操作系统在处理单元206上运行。操作系统可以协调并且提供对图2中的系统200内的各种组件的控制,在一些实施例中,作为客户端,操作系统可以是商业可用的操作系统。面向对象的编程系统(诸如,JavaTM编程系统)可以与操作系统一起运行,并且从在系统200上执行的JavaTM程序或应用程序向操作系统提供调用。
在一些实施例中,系统200可以是在处理单元206中包括多个处理器的对称多处理器(SMP)系统。在一些实施例中,可以采用单处理器系统。
在一些实施例中,用于操作系统、编程系统以及应用或程序的指令位于诸如HDD226的存储设备上,并且可以被加载到主存储器208中用于由处理单元206执行。类似地,根据实施例的一个或多个消息处理程序可以适于由存储设备和/或主存储器208存储。
本发明的说明性实施例的过程可以由处理单元206使用计算机可用程序代码来执行,该计算机可用程序代码可以位于诸如主存储器208、ROM 224的存储器中,或者位于一个或多个外围设备226和230中。
在一些实施例中,诸如第一总线238或第二总线240的总线系统可以包括一个或多个总线。可以使用任何类型的通信结构或架构来实现总线系统,该通信结构或架构提供在附接到该结构或架构的不同组件或设备之间的数据传输。诸如调制解调器222或网络适配器212的通信单元可以包括用于发送和接收数据的一个或多个设备。例如,存储器可以是主存储器208、ROM 224或诸如在NB/MCH 202中发现的高速缓存。
在一些实施例中,图1和图2中的硬件可以根据实现而变化。除了图1和图2中描述的硬件之外,或者作为其替代,可以使用诸如闪存、等效的非易失性存储器或光盘驱动器等的其它内部硬件或外围设备。此外,在不脱离本发明的精神和范围的情况下,除了前面提到的系统之外,可以将示例性实施例的过程应用于多处理器数据处理系统。
在一些实施例中,系统200可以采取多种不同数据处理系统中的任何形式,包括客户端计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其他通信设备、个人数字助理(PDA)等。在一些说明性示例中,例如,系统200可以是便携式计算设备,其被配置具有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。因此,系统200本质上可以是任何已知的或以后开发的、不具有架构限制的数据处理系统。
如上所述,所提出的实施例可以提供用于配置跨网络的多个机器的微服务容器的部署的方法和系统。这样的实施例可以标识确保满足性能要求(诸如,容器或微服务之间的最大可接受的通信时间)的一个或多个优选或最优配置。在一些实施例中,这样的部署配置的标识可以采用已知的优化技术或算法与成本函数的组合,该成本函数考虑(i)描述多个机器之间的网络通信特性(例如,多个机器之间的ping时间、(多个)数据传输速率和/或带宽)的网络信息和(ii)容器间通信信息(例如,描述在机器对之间通信的信息/数据的量)。
现在参考图3,根据一些实施例,描绘了用于配置跨网络的多个机器的微服务容器的部署的方法300的流程图的示例性实施例。
在一些实施例中,方法300包括在操作310获取描述多个机器之间的ping时间和带宽的测量的网络信息。在一些实施例中,操作310可以包括在操作315中测量多个机器中的机器对之间的ping时间和带宽。
方法300可以包括操作320以获取容器间通信信息,该信息描述了针对预定时间段的多个机器中的机器对之间通信的信息量。在一些实施例中,获取容器间通信信息的操作320可以包括:在测试部署配置中跨多个机器来部署微服务容器(操作325),以及监视多个机器中的机器对之间的通信(操作330)。在一些实施例中,监视可以是针对预定时间段的,以确定针对预定时间段(例如,小时、天、周等)的多个机器中的机器对之间的通信的至少一个特性。
在一些实施例中,容器间通信信息包括:描述针对预定时间段的多个机器中的机器对之间传输的数据量的信息。因此,监视通信的操作330可以包括:监视针对预定时间段的多个机器中的机器对之间的请求和响应的频率和有效载荷大小。
此外,在一些实施例中,所获取的容器间通信信息还可以包括:描述针对预定时间段的多个机器中的机器对之间的请求和响应的内容长度报头的信息。
基于所获取的网络信息(来自操作310)和容器间通信信息(来自操作320),可以在操作340中确定成本函数。成本函数可以将潜在的容器部署配置映射到预期的通信时间。
在一些实施例中,方法300包括操作350,以利用优化算法来处理成本函数,以标识具有满足成本要求的相关联的成本的容器部署配置。例如,优化算法可以采用贪婪算法(并且可以遵循问题求解试探法,该试探法将局部最优选择作为每个阶段,目的是找到全局最优)。
注意,在一些实施例中,在进行利用优化算法来处理成本函数的操作350之前,可以在单独的操作(操作355)中确定成本要求。在一些实施例中,操作355可以包括基于以下至少一项来确定成本要求:用户输入信号;以及来自性能控制组件的控制信号。例如,性能控制组件可以被配置为确定最小性能要求,并且然后生成表示最小性能要求的控制信号。基于这样的控制信号,然后可以确定成本要求。
为了帮助进一步理解和认识所提出的概念,现在将描述示例性实现。这样的实现仅是通过演示可以采用的过程步骤和算法来进行的,并且应当理解,其它实现不仅限于这样的过程步骤和算法。
首先,在一些实施例中,获取机器i和j之间的ping时间,并且将该ping时间表示为Pij。可以针对每个机器获取机器i和j之间的带宽,容器可以被部署到该机器。在一些实施例中,机器i和j之间的带宽被表示为Bij。此外,可以针对每对机器获取机器i和j之间的数据传输速率。机器i和j之间的数据传输速率可以表示为Dij。作为示例,可以通过对机器的测试部署配置执行ping测试、带宽测试和数据传输测试来获取Pij、Bij和Dij。在一些实施例中,在这种测试中所采用的容器可以是用于生产部署配置的满容器。在一些实施例中,可以使用能够彼此通信以执行测试的轻量容器。例如,在一些实施例中,每个机器可以仅使用单个容器,并且然后可以在所有可能的机器对上运行测试。
注意,这在计算上是可行的,因为仅存在所需的“n选择2”(即,
Figure BDA0003520212180000101
)ping和带宽测试,其中n是容器可以被部署到的机器的数目。
在一些实施例中,系统然后可以以正常方式(即,以初始部署配置)部署。可以在预定时间段上针对所部署的配置记录跨容器HTTP度量(例如,请求和响应的平均频率、容器之间的数据传输、以及内容长度报头)。在一些实施例中,选择这样的时间段,使得其被假定为代表系统的长期运行(例如,整天/周),以便捕获在不同时间需求变化的影响。这可以提供关于任何两个容器之间的请求的预期数目Rij的信息。
在一些实施例中,可以创建成本函数F,其将潜在的容器部署方案映射到跨整个系统的预期的总的进行中请求和响应时间。对于任何给定的部署方案,可以使用P、D、B、R和针对任何给定请求/路由的性能关键度评级C来近似成本函数f。作为示例,通用成本函数可以如下:
Figure BDA0003520212180000111
该示例函数可以将系统部署考虑为具有边缘集E的有向图。
然而,应当理解,可以采用其他成本函数,例如随着R、P和D的增加而增加成本并且随着B的增加而降低成本的其他成本函数。
在一些实施例中,系统架构师可以根据所感知的请求的性能关键度来设置性能关键度评级C。例如,系统架构师可以认为与后端用户界面调用相比,以日志记录性能是不重要的。
使用该成本函数C,然后可以采用优化试探法,以便找出具有足够低成本的解决方案(即,部署配置),并且因此改进总体系统性能。
这种优化方案的示例可以是贪婪算法,其中根据成本函数C中的最小预期增加,通过向机器递增地添加每个容器来找到解决方案。注意,这种递增方法可能适用于更高级的优化算法(诸如,蚁群算法)特别地,由于蚁群算法能够适应变化的微服务拓扑和在服务的客户端使用中不断移动的潮汐,蚁群算法可能特别适合。
现在参考图4,根据一些实施例,计算机系统400是以通用计算设备的形式示出的计算机系统/服务器402。在一些实施例中,根据本发明的实施例,计算机系统400可以是分布式系统100(图1)的计算设备。计算机系统/服务器402的组件可以包括但不限于一个或多个处理器或处理单元410、系统存储器460和总线415,该总线415将包括系统存储器460的各种系统组件耦合到处理器410。
总线415表示多个类型的任何总线结构中的一个或多个总线结构,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构中的任何架构的处理器或局部总线。作为示例而非限制,这些架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、和外围组件互连(PCI)总线。
计算机系统/服务器402通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器402访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质两者。
系统存储器460可以包括易失性存储器形式的计算机系统可读介质(诸如,随机存取存储器(RAM)462和/或高速缓存存储器464)。计算机系统/服务器402还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统465可以被提供用于从不可移动、非易失性磁介质(未被示出并且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如CD-ROM、DVD-ROM或其它光学介质等可移动、非易失性光盘读取或向其写入的光盘驱动器。在这种情况下,每个都可以通过一个或多个数据介质接口而被连接到总线415。如下文将进一步描绘并且描述的,存储器460可以包含具有(例如,至少一个)程序模块集的至少一个程序产品,该程序模块被配置以执行本发明的实施例的功能。
作为示例而非限制,具有(至少一个)程序模块469集的程序/实用程序468以及操作系统、一个或多个应用程序、其它程序模块和程序数据可以被存储在存储器460中。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每个可以包括联网环境的实现。程序模块469一般执行如本文所述的本发明的实施例的功能和/或方法。
计算机系统/服务器402还可以与一个或多个外部设备440(诸如,键盘、指向设备、显示器430等)通信,;一个或多个设备,其使用户能够与计算机系统/服务器402交互;和/或使计算机系统/服务器402能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由输入/输出(I/O)接口420而发生。此外,计算机系统/服务器402可以经由网络适配器450与一个或多个网络通信(诸如,局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,互联网))。如所描述的,网络适配器450经由总线415与计算机系统/服务器402的其他组件通信。应当理解,尽管未示出,但是可以结合计算机系统/服务器402而使用其他硬件和/或软件组件。示例包括但不限于:微码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据档案存储系统等。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
云计算是服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,该可配置计算资源可以以最小的管理努力或与服务的提供方的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助:云消费方可以单方面地自动地根据需要来提供计算能力(诸如,服务器时间和网络存储)而不需要与服务的提供方进行人工交互。
广域网接入:能力在网络上可用,并且通过促进由异构的薄客户端平台或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制而被访问。
资源池化:供应方的计算资源被池化,以使用多租户模型来服务多个消费方,其中不同的物理和虚拟资源根据需求而被动态地分配和重新分配。存在位置无关的意义,因为消费方通常不控制或不知道所提供的资源的确切位置,但是能够以较高抽象等级(例如,国家、州或数据中心)指定位置。
快速弹性:在一些情况下,可以快速并且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费方,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象等级的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而针对所利用服务的提供方和消费方两者提供透明性。
服务模型如下:
软件即服务(SaaS):提供给消费方的能力是使用在云基础设施上运行的提供方的应用。应用程序可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户机界面从各种客户机设备访问。消费方不管理或控制包括网络、服务器、操作系统、存储、或甚至个体应用能力的底层云基础设施,可能的例外是有限的用户专用应用配置设置。
平台即服务(PaaS):提供给消费方的能力是将消费方创建或获取的应用部署到云基础设施上,该消费方创建或获取的应用是使用由提供方支持的编程语言和工具而创建的。消费方不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费方的能力是提供处理、存储、网络和消费方能够部署和运行任意软件的其它基本计算资源,该软件可以包括操作系统和应用。消费方不管理或控制底层云基础设施,但是具有对操作系统、存储、部署的应用的控制,并且可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅针对组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
社区云:云基础设施由多个组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多云(私有、社区或公共)的组合,该云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
现在参考图5,描绘了根据一些实施例的说明性云计算环境50。如图所示,云计算环境50包括云消费方使用的本地计算设备可以与其通信的一个或多个云计算节点10,该本地计算设备例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费方不需要为其维护本地计算设备上的资源。应当理解,图6中所示的计算设备54A至54N的类型仅旨在说明,并且计算节点10和云计算环境50可以在任何类型的网络和/或网络可寻址连接上(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参考图6,根据一些实施例,示出了由云计算环境50(图5)提供的功能抽象层600集。应当预先理解,图6中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户机75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供在云计算环境中利用资源时的成本跟踪,以及用于消耗这些资源的开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性针对云消费方和任务提供身份验证,以及针对数据和其他资源提供保护。用户门户83针对消费方和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务等级。服务水平协议(SLA)规划和履行85提供针对云计算资源的预安排和采购,其中根据SLA预期未来需求。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育递送93;数据分析处理94;交易处理95;以及分布式系统部署96。
本发明可以是任何可能的技术细节集成等级的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),该计算机可读程序指令用于使处理器执行本发明的方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如穿孔卡或其上记录有指令的凹槽中的凸起结构的机械编码装置,以及前述的任何合适的组合。如本文所使用的计算机可读存储介质不被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电子信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质而被下载到相应的计算/处理设备,或者经由网络(例如,互联网、局域网、广域网和/或无线网络)而被下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的程序语言,例如Smalltalk、C++等)和过程编程语言(诸如,“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置,该指令经由计算机或其他可编程数据处理装置的处理器而执行。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的一些实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现(多个)指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中所注明的功能可以不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由专用的基于硬件的系统来实现,该系统执行指定功能或动作或执行专用硬件和计算机指令的组合。
已经出于说明的目的呈现了对本公开的各种实施例的描述,但是其并非旨在是穷举的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变型对于本领域的普通技术人员将是明显的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。

Claims (20)

1.一种计算机实现的方法,包括:
获取网络信息,所述网络信息描述网络的多个机器之间的网络通信特性;
获取容器间通信信息,所述容器间通信信息描述在针对预定时间段的所述多个机器中的机器对之间的通信的至少一个特性;
基于所述网络信息和所述容器间通信来确定成本函数,所述成本函数将潜在容器部署配置映射到预期通信时间;
利用优化算法来处理所述成本函数;以及
响应于所述处理,标识具有满足成本要求的关联成本的容器部署配置。
2.根据权利要求1所述的方法,其中获取所述网络信息包括:
测量所述多个机器中的所述机器对之间的ping时间、数据传输速率和带宽中的至少一项。
3.根据权利要求1所述的方法,其中获取所述容器间通信信息包括:
在测试部署配置中跨所述多个机器来部署微服务容器;
监视针对所述预定时间段的所述机器对之间的通信;以及
响应于所述监视,确定针对所述预定时间段的所述机器对之间的通信的至少一个特性。
4.根据权利要求1所述的方法,其中所述容器间通信信息包括:描述针对所述预定时间段的所述机器对之间传输的数据量的信息。
5.根据权利要求1所述的方法,其中所述容器间通信信息包括描述以下至少一项的信息:
针对所述预定时间段的所述机器对之间的请求和响应的平均频率;
针对所述预定时间段的所述机器对之间的所述请求和所述响应的内容长度报头;以及
针对所述预定时间段的所述机器对之间的所述请求和所述响应的平均有效载荷大小。
6.根据权利要求1所述的方法,还包括:
基于以下至少一项来确定所述成本要求:用户输入信号和来自性能控制组件的控制信号。
7.根据权利要求6所述的方法,还包括:
利用所述性能控制组件来确定最小性能要求;以及
生成表示所述最小性能要求的控制信号。
8.根据权利要求1所述的方法,其中所述优化算法包括以下至少一项:
贪婪算法;
蚁群算法;
模拟退火算法;
遗传算法;以及
禁忌搜索。
9.一种具有一个或多个计算机处理器的系统,所述系统被配置为:
获取网络信息,所述网络信息描述网络的多个机器之间的网络通信特性;
获取容器间通信信息,所述容器间通信信息描述针对预定时间段的所述多个机器中的机器对之间的通信的至少一个特性;
基于所述网络信息和所述容器间通信来确定成本函数,所述成本函数将潜在容器部署配置映射到预期通信时间;
利用优化算法来处理所述成本函数;以及
响应于所述处理,标识具有满足成本要求的相关联成本的容器部署配置。
10.根据权利要求9所述的系统,其中获取所述网络信息包括:
测量所述多个机器中的所述机器对之间的ping时间、数据传输速率和带宽中的至少一项。
11.根据权利要求9所述的系统,其中获取所述容器间通信信息包括:
在测试部署配置中跨所述多个机器来部署微服务容器;
监视针对所述预定时间段的所述机器对之间的通信;以及
响应于所述监视,确定针对所述预定时间段的所述机器对之间的通信的至少一个特性。
12.根据权利要求9所述的系统,其中所述容器间通信信息包括:描述针对所述预定时间段的所述机器对之间传输的数据量的信息。
13.根据权利要求9所述的系统,其中所述容器间通信信息包括描述以下至少一项的信息:
针对所述预定时间段的所述机器对之间的请求和响应的平均频率;
针对所述预定时间段的所述机器对之间的所述请求和所述响应的内容长度报头;以及
针对所述预定时间段的所述机器对之间的所述请求和所述响应的平均有效载荷大小。
14.根据权利要求9所述的系统,还被配置为:
基于以下至少一项来确定所述成本要求:用户输入信号和来自性能控制组件的控制信号。
15.根据权利要求14所述的系统,还被配置为:
利用所述性能控制组件来确定最小性能要求;以及
生成表示所述最小性能要求的控制信号。
16.根据权利要求9所述的系统,其中所述优化算法包括以下至少一项:
贪婪算法;
蚁群算法;
模拟退火算法;
遗传算法;以及
禁忌搜索。
17.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质具有利用所述计算机可读存储介质具化的程序指令,所述程序指令能够由服务器执行,以使所述服务器执行方法,所述方法包括:
获取网络信息,所述网络信息描述网络的多个机器之间的网络通信特性;
获取容器间通信信息,所述容器间通信信息描述针对预定时间段的所述多个机器中的机器对之间的通信的至少一个特性;
基于所述网络信息和所述容器间通信来确定成本函数,所述成本函数将潜在容器部署配置映射到预期通信时间;
利用优化算法来处理所述成本函数;以及
响应于所述处理,标识具有满足成本要求的关联成本的容器部署配置。
18.根据权利要求17所述的计算机程序产品,其中获取所述网络信息包括:
测量所述多个机器中的所述机器对之间的ping时间、数据传输速率和带宽中的至少一项。
19.根据权利要求17所述的计算机程序产品,其中获取所述容器间通信信息包括:
在测试部署配置中跨所述多个机器来部署微服务容器;
监视针对所述预定时间段的所述机器对之间的通信;以及
响应于所述监视,确定针对所述预定时间段的所述机器对之间的通信的至少一个特性。
20.根据权利要求17所述的计算机程序产品,其中所述容器间通信信息包括:描述针对所述预定时间段的所述机器对之间传输的数据量的信息。
CN202080060269.2A 2019-09-09 2020-09-01 分布式系统部署 Pending CN114341809A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/564,266 2019-09-09
US16/564,266 US10972548B2 (en) 2019-09-09 2019-09-09 Distributed system deployment
PCT/IB2020/058134 WO2021048689A1 (en) 2019-09-09 2020-09-01 Distributed system deployment

Publications (1)

Publication Number Publication Date
CN114341809A true CN114341809A (zh) 2022-04-12

Family

ID=74849648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080060269.2A Pending CN114341809A (zh) 2019-09-09 2020-09-01 分布式系统部署

Country Status (4)

Country Link
US (1) US10972548B2 (zh)
JP (1) JP7457435B2 (zh)
CN (1) CN114341809A (zh)
WO (1) WO2021048689A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11316757B1 (en) * 2020-06-23 2022-04-26 Amdocs Development Limited System, method, and computer program for consumer requirement based management for physical edge deployment of an application
US11405451B2 (en) * 2020-09-30 2022-08-02 Jpmorgan Chase Bank, N.A. Data pipeline architecture

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2398705B (en) * 2003-02-21 2005-08-10 Toshiba Res Europ Ltd Automatic wireless connection selection
US7865582B2 (en) 2004-03-24 2011-01-04 Hewlett-Packard Development Company, L.P. System and method for assigning an application component to a computing resource
US9603188B2 (en) * 2009-01-13 2017-03-21 Qualcomm Incorporated Dynamic connection management
JP6024148B2 (ja) 2012-03-28 2016-11-09 日本電気株式会社 プログラム配置方法
US9986031B2 (en) 2015-05-06 2018-05-29 International Business Machines Corporation Container provisioning based on communications patterns between software components
US9965261B2 (en) 2015-08-18 2018-05-08 International Business Machines Corporation Dependency-based container deployment
US10892942B2 (en) * 2016-01-22 2021-01-12 Equinix, Inc. Container-based cloud exchange disaster recovery
US10255413B2 (en) 2016-02-04 2019-04-09 International Business Machines Corporation Microservices inter-operational trust management
JP6578055B2 (ja) 2016-03-28 2019-09-18 株式会社日立製作所 管理計算機および性能劣化予兆検知方法
US20180026856A1 (en) 2016-07-21 2018-01-25 Cisco Technology, Inc. Orchestrating micro-service deployment based on network policy health
US11044162B2 (en) * 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
CN106610836B (zh) 2016-12-23 2019-12-31 国网信息通信产业集团有限公司 一种微服务运行管理工具
US10394599B2 (en) 2017-01-05 2019-08-27 International Business Machines Corporation Breaking dependence of distributed service containers
US10719354B2 (en) * 2017-06-20 2020-07-21 Samsung Electronics Co., Ltd. Container workload scheduler and methods of scheduling container workloads
US10694455B2 (en) * 2017-06-29 2020-06-23 Ayla Networks, Inc. Connectivity state optimization to devices in a mobile environment
CN113641460A (zh) * 2017-09-30 2021-11-12 甲骨文国际公司 实现微服务配置和管理的api储存库
CN108664378B (zh) 2018-05-10 2020-04-14 西安电子科技大学 一种微服务最短执行时间的优化方法

Also Published As

Publication number Publication date
US10972548B2 (en) 2021-04-06
WO2021048689A1 (en) 2021-03-18
JP2022546672A (ja) 2022-11-07
JP7457435B2 (ja) 2024-03-28
US20210075866A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
JP5946468B2 (ja) イメージを実行するのに最適なコンピューティング環境の判断
US11556321B2 (en) Deploying microservices across a service infrastructure
US11263052B2 (en) Determining optimal compute resources for distributed batch based optimization applications
US11321121B2 (en) Smart reduce task scheduler
US10929190B2 (en) Heterogeneous resource reservation
US10795937B2 (en) Expressive temporal predictions over semantically driven time windows
US11829496B2 (en) Workflow for evaluating quality of artificial intelligence (AI) services using held-out data
JP7457435B2 (ja) 分散システムのデプロイメント
US11755954B2 (en) Scheduled federated learning for enhanced search
CN114466005A (zh) 物联网设备编排
WO2022111112A1 (en) Automatically adjusting data access policies in data analytics
US10003923B2 (en) Location context inference based on user mobile data with uncertainty
US10680912B1 (en) Infrastructure resource provisioning using trace-based workload temporal analysis for high performance computing
US11652710B1 (en) Service level agreement aware resource access latency minimization
US10158544B2 (en) Selecting communication channels based on categorizations and measurements
US20190069121A1 (en) Direct update of mobile applications based on features used
US20230306118A1 (en) Federated Generative Models for Website Assessment
US20220207350A1 (en) Identifying related messages in a natural language interaction
US20220188166A1 (en) Cognitive task scheduler
US11501199B2 (en) Probability index optimization for multi-shot simulation in quantum computing
US20230229469A1 (en) Probe deployment
US20230297647A1 (en) Building models with expected feature importance
JP2023545971A (ja) 性能報告の生成および更新

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