CN115668128A - 使云服务的采用自动化 - Google Patents

使云服务的采用自动化 Download PDF

Info

Publication number
CN115668128A
CN115668128A CN202180039009.1A CN202180039009A CN115668128A CN 115668128 A CN115668128 A CN 115668128A CN 202180039009 A CN202180039009 A CN 202180039009A CN 115668128 A CN115668128 A CN 115668128A
Authority
CN
China
Prior art keywords
source code
application source
service
cloud
computer system
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
CN202180039009.1A
Other languages
English (en)
Inventor
V.V.K.帕里萨
B.G.泰勒
D.罗伊乔杜里
L.斯威夫特
C.艾伦
B.莫哈帕特拉
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 CN115668128A publication Critical patent/CN115668128A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Stored Programmes (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)
  • Telephone Function (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供了一种用于使云服务的采用自动化的方法。开发机器学习模型以学习从源代码储存库访问的应用源代码。通过构建包括应用源代码和技术标签的训练数据来训练机器学习模型。从应用源代码提取服务,并且导出应用源代码的上下文。使用决策树模型确定被提取服务到相应的云服务的映射。基于该映射识别应用源代码中的被推荐要由相应的云服务替换的部分。

Description

使云服务的采用自动化
技术领域
本发明涉及云和系统基础设施管理,并且更具体地,涉及识别代码中的可以用云服务替换的部分,以及推荐最小代码重构(refactoring)以合并云服务。
背景技术
组织越来越多地采用混合云服务来使其应用现代化,并减少其对传统数据中心操作的使用。通过采用基于云的服务,组织可以(i)减少维护负担,(ii)访问实际上不受限制的资源量,(iii)使用由服务提供商持续改进的特征,以及(iv)采用针对服务消费的按次付费模型。应用开发者使用已知的称为重构的手动技术来采用云服务。重构涉及在内部改变应用代码而不在外部改变应用的行为。
发明内容
在一个实施例中,本发明提供一种使云服务的采用自动化的计算机实现的方法。该方法包括由一个或多个处理器开发机器学习模型以学习从源代码储存库访问的应用源代码。该方法还包括由一个或多个处理器通过构建包括应用源代码和技术标签的训练数据来训练机器学习模型。该方法还包括由一个或多个处理器基于训练数据从应用源代码提取服务并且由一个或多个处理器导出应用源代码的上下文。通过将机器学习模型应用于应用源代码来执行提取和导出。该方法还包括使用自然语言处理模块并且基于应用源代码的上下文,由一个或多个处理器确定被提取服务的功能。该方法还包括使用决策树模型并且基于被提取服务的功能,由一个或多个处理器确定被提取服务到相应的云服务的映射,使得通过该映射被映射到给定的被提取服务的一个或多个云服务的功能与给定的被提取服务的功能匹配。该方法还包括基于该映射,由一个或多个处理器识别应用源代码中的被推荐要由相应的云服务替换的部分。
在另一实施例中,本发明提供一种用于使云服务的采用自动化的计算机程序产品。计算机程序产品包括一个或多个计算机可读存储介质。计算机可读程序代码共同地存储在一个或多个计算机可读存储介质上。由计算机系统的中央处理单元(CPU)执行计算机可读程序代码以使计算机系统执行与以上讨论的使云服务的采用自动化的方法类似的方法。
在另一实施例中,本发明提供一种计算机系统。计算机系统包括中央处理单元(CPU)、耦合到CPU的存储器和耦合到CPU的一个或多个计算机可读存储介质。一个或多个计算机可读存储介质共同地包含由CPU经由存储器执行的指令,以实现与以上讨论的使云服务的采用自动化的方法类似的使云服务的采用自动化的方法。
附图说明
图1是根据本发明实施例的用于使云服务的采用自动化的系统的框图。
图2是根据本发明实施例的使云服务的采用自动化的过程的流程图,其中,该过程在图1的系统中实现。
图3A至图3B描绘了根据本发明实施例的在图2的过程中使用的应用代码扫描的示例。
图4是根据本发明实施例的在图1的系统中包括的并且实现图2的过程的计算机的框图。
图5描绘了根据本发明实施例的云计算环境。
图6示出了根据本发明实施例的抽象模型层。
具体实施方式
概述
正被迁移到云服务的大多数应用是照原样迁移的,而没有利用云服务提供的底层灵活性和益处。为了在基于软件即服务(SaaS)或平台即服务(PaaS)的模型中利用云服务,应用的部分必须被重新工程化,因此它们可以被托管在云上。应用开发者难以对重新工程化的工作量进行优化,因为它们忙于开发新的要求并维护和支持应用。由于(i)缺乏应用知识和缺乏重新工程化应用的技能以及(ii)需要满足与合同或数据中心退出有关的最后期限,大型组织还是照原样将应用迁移到云。由此,该组织不能实现其云投资的投资回报(ROI)。
采用云服务的常规重构是耗时的、需要大量工作量、由应用开发者团队手动地完成、并且被完成来在可能涉及数百个应用的企业级执行程序。每个应用必须手动重构,导致巨大的工作量和成本。将应用完全重构到云原生(cloud-native)架构具有其自身的缺点,其中一些服务被用于保持应用完全云原生,而添加很少的业务价值或不添加业务价值。
本发明的实施例通过仅使用那些增加显著业务价值的云服务而其他服务保持在混合设置中配置,来解决传统云采用方法的独特挑战。本发明的实施例通过应用自然语言处理来学习源代码并导出源代码的上下文,以及应用决策树机器学习模型识别应用内的代码和/或模块的可以被云服务替换的部分,来使云服务的采用自动化。
本发明的实施例提供一种通过识别组织可以使用的云服务来促进组织对云服务的采用的自动化方法。本发明的实施例提供了对组织中存在的所有源代码储存库中的组合的所有应用的应用代码学习的可扩展方法,与单独查看应用的现有方法相比,该方法以降低的工作量和成本提供了现代化。
本发明的实施例生成应用内的代码和/或模块的可以被云服务替换的部分的列表的服务目录,从而使得能够重新使用该服务并且通过确保不存在冗余代码或服务来提供应用的合理化。
本发明的实施例为每个推荐的云服务建议代码改变。本发明的实施例侧重于“快速获胜(quick win)”,以识别参与系统和洞察系统组件,并识别快速跟踪云服务的客户采用的最小改变。参与系统包括例如交互逻辑、个性化客户上下文、高级用户体验、高级协作和业务生态系统支持。洞察系统包括例如业务智能、智能系统、高级分析、参与数据、操作数据、企业内容管理数据、信息数据和大数据。
本发明的各实施例以与大爆炸方法相反的增量方式在组织对云服务的采用方面帮助组织,从而实现组织的成本节省并帮助组织实现云投资的ROI。
本发明的实施例使得组织能够向可组合架构移动。对于新的应用开发,应用开发者可以通过利用已经跨许多应用使用并且侧重于新业务逻辑的服务和/或模块来组合应用。
本发明的实施例与云经纪工具(cloud brokerage tool)集成,以确定和显示采用云服务时的财务收益。
用于使云服务的采用自动化的系统
图1是根据本发明的实施例的用于使云服务的采用自动化的系统100的框图。系统100包括代码扫描和分析模块106以及机器学习系统108,机器学习系统108包括自然语言处理模块110和决策树模块112。云服务采用系统104使云服务的采用自动化。
云服务采用系统104接收软件应用的源代码114。源代码114在本文中也被称为应用源代码。自然语言处理模块110学习源代码114并导出源代码114的上下文。代码扫描和分析模块106扫描并分析源代码114并分析应用的配置。
云服务采用系统104识别跨多个应用使用的类似服务并对其分组,并且生成被提取服务目录116(即从多个应用的源代码提取的服务目录),由此使得能够跨应用重新使用代码,其中代码的重新使用促进可组合架构。被提取服务目录116允许应用所有者具有利用多个现有应用或利用正被新开发的应用来重新使用代码的灵活性。被提取服务目录116促进代码级的应用的合理化并移除冗余代码。
机器学习系统108识别并推荐可以替换在应用源代码(包括源代码114)中包括的现有模块和服务的目标云服务118。决策树模块112识别源代码114和其他源代码(未示出)中的可以由目标云服务118替换的部分。决策树模块112应用决策模型(即多项式模型)将从源代码114提取的服务映射到目标云服务118。决策树模块112识别可以由目标云服务118替换的服务。在一个实施例中,目标云服务118包括由公共云提供的服务、由场外私有云提供的服务、由软件云配置(例如,
Figure BDA0003968924590000041
Cloud Private)提供的服务、和/或无服务器计算服务(例如,
Figure BDA0003968924590000042
函数即服务(FaaS))。IBM是位于纽约Armonk的国际商业机器公司的注册商标。在一个实施例中,决策树模型的应用基于组织的混合云配置(即,组织订阅的混合云配置)。
代码扫描和分析模块106确定和推荐对代码中的被决策树模块112识别为可由目标云服务118中的云服务替换的部分的改变。对代码中的部分实施所推荐的改变提供了对所推荐的云服务的采用。代码扫描和分析模块106确定和推荐最小化的代码重构量以合并(多个)云服务(即,推荐源代码114的重构部分,但不推荐源代码114的全部)。
云服务采用系统104与云经纪工具(未示出)集成,确定和显示采用云服务的财务利益。
在下面呈现的图2、图3A-图3B和图4的讨论中更详细地描述图1中示出的组件的功能。
用于使云服务的采用自动化的过程
图2是根据本发明实施例的使云服务的采用自动化的过程的流程图,其中,该过程在图1的系统中实现。图2的过程开始于步骤200。在步骤202中,云服务采用系统104(见图1)在机器学习系统108(见图1)中开发机器学习模型以学习应用的源代码114(见图1)并学习应用的配置。云服务采用系统104(见图1)从源代码储存库访问源代码114(见图1)。
在一个实施例中,在步骤202中,开发机器学习模型包括通过使用多标签文本分类方法来开发自然语言处理模型。在一个实施例中,云服务采用系统104(见图1)将步骤202中的源代码114(见图1)的学习作为统计中的聚类问题对待(例如,使用K均值在源代码储存库上进行聚类,其中,使用elbow方法最终确定K的最优值)。在另一实施例中,云服务采用系统104(见图1)使用n元模型和复杂度方法来学习源代码114(见图1)。
在另一实施例中,云服务采用系统104(见图1)在步骤202中将文本的词频(tf,term frequency)和逆文档频率(idf,inverse document frequency)用作深度学习模型(即,多个隐藏单元神经网络)的输入参数。云服务采用系统104(见图1)采用tf-idf的定制模型,其使用字嵌入作为序列预测模型的输入特征矩阵,其捕获源代码114(见图1)中的整个模式而不是几个关键字的频率。云服务采用系统104(见图1)使用交叉验证来调谐模型的参数以获得更好的模型准确度。
在步骤204中,云服务采用系统104(见图1)通过构建包括源代码114(见图1)和技术标签的训练数据来训练机器学习模型。云服务采用系统104(见图1)基于目标云服务118(见图1)中的可用云服务创建包含特定关键字的代码模式配置文件。机器学习系统108(见图1)寻找关键字并理解在源代码114(见图1)中包括的代码片段。
在一个实施例中,步骤204包括云服务采用系统104(见图1)生成代码模式配置文件,该代码模式配置文件包括指定目标云服务118(见图1)中包括的可用云服务的关键字。云服务采用系统104(见图1)识别在源代码114(见图1)的部分中包括的关键字。
在步骤206中,基于训练数据并且经由机器学习模型到源代码114(见图1)的应用,云服务采用系统104(见图1)扫描源代码114(见图1),从源代码114(见图1)提取服务,并且导出源代码114(见图1)的上下文(即,将源代码上下文化)。在一个实施例中,云服务采用系统104(见图1)使用由自然语言处理模块110(见图1)提供的自然语言处理来执行步骤206。
在一个实施例中,机器学习系统108(见图1)应用在源代码储存库上开发的机器学习模型和应用配置来提取服务并导出源代码储存库中的针对源代码文件的源代码的上下文。
在步骤208中,使用自然语言处理模块110并且基于在步骤206中导出的上下文,云服务采用系统104(见图1)确定在步骤206中提取的服务(在本文中也称为“被提取服务”)的功能。例如,云服务采用系统104(见图1)确定被提取服务的功能是电子邮件递送功能。被提取服务具有与目标云服务118中包括的云服务的功能匹配的功能意味着被提取服务可以被云服务替换。
在步骤210中,使用在决策树模块112(见图1)中包括的决策树模型(例如,多项式模型)并基于在步骤208中确定的被提取服务的功能,云服务采用系统104(见图1)确定被提取服务到在目标云服务118(见图1)中包括的相应的云服务的映射。在步骤210中确定映射,使得映射到给定的被提取服务的一个或多个云服务的功能匹配给定的被提取服务的功能。例如,如果给定的被提取服务是电子邮件递送服务,则在步骤210中确定的映射将被提取的电子邮件递送服务映射到由云服务提供商1提供的第一电子邮件递送云服务和由云服务提供商2提供的第二电子邮件递送云服务。
在一个实施例中,步骤210包括云服务采用系统104(见图1)将在步骤206中提取的服务中包括的第一一个或多个被提取服务映射到相应的一个或多个公共云服务,以及将在步骤206中提取的服务中包括的一个或多个第二被提取服务映射到相应的一个或多个私有云服务。
在步骤212中,基于在步骤210中确定的映射,云服务采用系统104(见图1)识别源代码114(见图1)中的被推荐要由前述相应的云服务替换的部分。在一个实施例中,步骤212包括云服务采用系统104(见图1)生成对在源代码114(见图1)中包括的代码的部分的重构最优量(即最小化的量)的推荐,以合并在目标云服务118中包括的云服务。
在一个实施例中,步骤212包括云服务采用系统104(见图1)确定和显示采用所推荐的用于替换给定的被提取服务的云服务的相应成本,其中,该成本用于在所推荐的云服务之间进行区分。
在一个实施例中,步骤212包括基于源代码114(见图1)中的被识别的部分,云服务采用系统104(见图1)推荐在目标云服务118(见图1)中包括的多个目标云服务来替换源代码114(见图1)中的模块。
在步骤214中,云服务采用系统104(见图1)确定采用相应的云服务所需的对代码的部分的修改,其中,代码的部分是在步骤212中识别的部分。
在步骤216中,云服务采用系统104(见图1)通过使用和实现在步骤214中确定的修改来重构应用。在一个实施例中,响应于云服务采用系统104(见图1)接收用户对多个云服务中的在步骤212中被推荐用来替换被提取服务的一个云服务的选择来执行步骤216。
在步骤216之后,图2的过程在步骤218结束。
在一个实施例中,云服务采用系统104(见图1)通过与云经纪工具集成来确定采用在目标云服务118(见图1)中包括的云服务的财务利益。云服务采用系统104(见图1)显示替换源代码114(见图1)的部分的云服务并且还显示采用云服务的财务利益。云服务和财务利益的显示是在显示设备上执行的以供客户查看。
在一个实施例中,对于组织的应用集合中的每个应用,云服务采用系统104(见图1)重复步骤202至步骤212的执行。
示例
图3A至图3B描绘了根据本发明的实施例的在图2的过程中使用的应用代码扫描的示例。在该示例中,云服务采用系统104(见图1)在步骤202(见图2)中学习源代码114(见图1),并且在步骤210(见图2)中识别图3A中的代码摘录302,代码摘录302使用托管在由应用所有者拥有的应用的环境中的定制的简单邮件传输协议(smtp,Simple Mail TransferProtocol)服务器(即电子邮件服务器)。云服务采用系统104(见图1)(见图2)生成并向应用所有者显示关于第三方云服务的推荐。云服务采用系统104(见图1)在步骤214(见图2)中生成并显示图3B中的推荐的代码修改304,其中推荐的代码修改是对图3A中的代码摘录302的修改。在代码修改304中,“defg”是由云服务提供的电子邮件递送服务的标识符的示例。应用所有者重构应用的代码,其包括将代码摘录302(见图3A)改变为代码修改304(见图3B)。通过使用重构的代码,应用所有者用云服务替换昂贵的专用smtp服务器,从而得到估计60%的成本节省。
计算机系统
图4是根据本发明实施例的在图1的系统包括中并且实现图2的过程的计算机的框图。计算机102是计算机系统,其通常包括中央处理单元(CPU)402、存储器404、输入/输出(I/O)接口406和总线408。此外,计算机102耦合到I/O设备410和计算机数据存储单元412。CPU 402执行计算机102的计算和控制功能,包括执行在用于云服务采用系统104(见图1)的程序代码414中包括的指令,以执行使云服务的采用自动化的方法,其中,该指令通过CPU402经由存储器404来执行。CPU 402可以包括单个处理单元或分布在一个或多个位置中的一个或多个处理单元上(例如,在客户端和服务器上)。
存储器404包括下面描述的已知计算机可读存储介质。在一个实施例中,存储器404的高速缓存存储器元件提供至少一些程序代码(例如,程序代码414)的临时存储,以便减少在程序代码的指令被执行时必须从大容量存储装置中检索代码的次数。此外,类似于CPU 402,存储器404可以驻留在单个物理位置处,包括一种或多种类型的数据存储装置,或者以不同形式跨多个物理系统分布。此外,存储器404可以包括分布在例如局域网(LAN)或广域网(WAN)上的数据。
I/O接口406包括用于向外部源或从外部源交换信息的任何系统。I/O设备410包括任何已知类型的外部设备,包括显示器、键盘等。总线408提供计算机102中的每个组件之间的通信链路,并且可以包括任何类型的传输链路,包括电、光、无线等。
I/O接口406还允许计算机102将信息(例如,数据或程序指令,诸如程序代码414)存储在计算机数据存储单元412或另一计算机数据存储单元(未示出)上并从其中检索信息。计算机数据存储单元412包括下面描述的已知的计算机可读存储介质。在一个实施例中,计算机数据存储单元412是非易失性数据存储设备,诸如,磁盘驱动器(即硬盘驱动器)或光盘驱动器(例如,接收CD-ROM盘的CD-ROM驱动器)。可替换地,多个计算机数据存储单元替换单个计算机数据存储单元412,其中多个计算机可读存储介质被包括在相应的计算机数据存储单元中。
存储器404和/或存储单元412可以存储计算机程序代码414,计算机程序代码414包括由CPU 402经由存储器404执行以使云服务的采用自动化的指令。可替换地,包括多个计算机可读存储介质的多个计算机数据存储单元共同地存储计算机程序代码414。尽管图4将存储器404描绘为包括程序代码,但本发明设想其中存储器404不同时包括代码414的全部,而是一次仅包括代码414的部分的实施例。
此外,存储器404可以包括操作系统(未示出)并且可以包括图4中未示出的其他系统。
如本领域技术人员将理解的,在第一实施例中,本发明可以是方法;在第二实施例中,本发明可以是系统;在第三实施例中,本发明可以是计算机程序产品。
本发明的实施例的任何组件可以由服务提供商部署、管理、服务等,服务提供商针对使云服务的采用自动化而提供部署或集成计算基础设施。由此,本发明的实施例公开了一种用于支持计算机基础设施的过程,其中该过程包括为在包括一个或多个处理器(例如,CPU 402)的计算机系统(例如,计算机102)中集成、托管、维护和部署计算机可读代码(例如,程序代码414)中的至少一个而提供至少一个支持服务,其中(一个或多个)处理器执行在代码中包括的指令,使得计算机系统使云服务的采用自动化。另一实施例公开了一种用于支持计算机基础设施的过程,其中该过程包括将计算机可读程序代码集成到包括处理器的计算机系统中。集成的步骤包括通过使用处理器将程序代码存储在计算机系统的计算机可读存储设备中。该程序代码在由处理器执行时实现使云服务的采用自动化的方法。
尽管理解可以通过经由加载一个或多个计算机可读存储介质(例如,被包括在计算机数据存储单元412中的计算机可读存储介质)来手动地直接在客户端、服务器和代理计算机(未示出)中加载来开发使云服务的采用自动化的程序代码414,也可以通过向中央服务器或一组中央服务器发送程序代码414来自动或半自动地将程序代码414部署到计算机102中。然后程序代码414被下载到将执行程序代码414的客户计算机(例如,计算机102)中。可替换地,程序代码414经由电子邮件被直接发送到客户端计算机。程序代码414然后通过电子邮件上的按钮被分离到客户端计算机上的目录或者被加载到客户端计算机上的目录中,该按钮执行将程序代码414分离到目录中的程序。另一替换方案是将程序代码414直接发送到客户端计算机硬盘驱动器上的目录。在存在代理服务器的情况下,该过程选择代理服务器代码、确定在哪些计算机上放置代理服务器的代码、传输代理服务器代码、然后将代理服务器代码安装在代理服务器计算机上。程序代码414被传输至代理服务器,然后被存储在代理服务器上。
本发明的另实施例提供了一种在订阅、广告和/或费用的基础上执行过程步骤的方法。即,服务提供商可以提供创建、维护、支持等使云服务的采用自动化的过程。在这种情况下,服务提供商可以为一个或多个客户创建、维护、支持等执行过程步骤的计算机基础设施。反过来,服务提供商可以根据订阅和/或费用协议从消费者接收支付,和/或服务提供商可以从广告内容向一个或多个第三方的销售接收支付。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器(例如,CPU 402)执行本发明的各方面的计算机可读程序指令414的计算机可读存储介质(或多个介质)(即,存储器404和计算机数据存储单元412)。
计算机可读存储介质可以是可保留和存储供指令执行设备(例如,计算机102)使用的指令(例如,程序代码414)的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的,计算机可读存储介质或介质不应被解释为暂时信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过电线传输的电信号。
本文中描述的计算机可读程序指令(例如,程序代码414)可经由网络(未示出)(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应计算/处理设备(例如,计算机102)或者下载到外部计算机或外部存储设备(例如,计算机数据存储单元412)。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡(未示出)或网络接口(未示出)从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令(例如,程序代码414)可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或者以一种或多种编程语言的任何组合编写的源代码或目标代码,该一种或多种编程语言包括面向对象的编程语言(诸如Smalltalk、C++等)和过程编程语言(诸如“C”编程语言或类似编程语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者可连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
本发明的各个方面在本文中参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示(例如,图2)和/或框图(例如,图1和图4)进行描述。应当理解,流程图和/或框图的每个框以及流程图和/或框图中各框的组合,都可以由计算机可读程序指令(例如,程序代码414)来实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置(例如,计算机102)的处理器(例如,CPU 402)以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质(例如,包括在计算机数据存储单元412中的计算机可读存储介质)中,该计算机可读存储介质可以指引计算机、可编程数据处理装置、和/或其他设备以特定方式工作,使得具有存储在其中的指令的计算机可读存储介质包括包含实现流程图和/或框图的或多个框中所指定的功能/动作的各方面的指令的制品。
计算机可读程序指令(例如,程序代码414)还可被加载到计算机(例如,计算机102)、其他可编程数据处理装置、或其他设备上,以使一系列操作步骤在计算机、其他可编程装置或其他设备上执行以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现在流程图和/或框图的或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替换实施例中,框中所指出的功能可不按图中所指出的次序发生。例如,连续示出的两个框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
虽然本文为了说明的目的描述了本发明的实施例,但是对于本领域技术人员而言,许多修改和变化将变得显而易见。因此,所附权利要求旨在涵盖落入本发明的范围内的所有此类修改和改变。
云计算环境
应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理工作量或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户端平台或胖客户端平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参考图5,描述了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、桌上型计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图5中所示的计算设备54A、54B、54C和54N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可以通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
现在参见图6,示出了由云计算环境50(见图5)提供的一组功能抽象层。应提前理解,图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的自动采用。

Claims (20)

1.一种使云服务的采用自动化的计算机实现的方法,所述方法包括:
由一个或多个处理器开发机器学习模型以学习从源代码储存库访问的应用源代码;
由所述一个或多个处理器通过构建包括所述应用源代码和技术标签的训练数据来训练所述机器学习模型;
基于所述训练数据,由所述一个或多个处理器从所述应用源代码中提取服务,并且由所述一个或多个处理器导出所述应用源代码的上下文,所述提取和所述导出是通过将所述机器学习模型应用于所述应用源代码来执行的;
使用自然语言处理模块并且基于所述应用源代码的上下文,由所述一个或多个处理器确定被提取服务的功能;
使用决策树模型并且基于所述被提取服务的功能,由所述一个或多个处理器确定被提取服务到相应的云服务的映射,使得通过所述映射被映射到给定的被提取服务的一个或多个云服务的功能与所述给定的被提取服务的功能匹配;以及
基于所述映射,由所述一个或多个处理器识别所述应用源代码中的指定所述被提取服务的部分,所述应用源代码中的所述部分被推荐要由所述相应的云服务替换。
2.根据权利要求1所述的方法,其中,识别所述应用源代码中的被推荐要由所述相应的云服务替换的所述部分包括:生成对所述应用源代码中包括的代码的部分的最优重构量的推荐,以合并所述云服务中包括的云服务。
3.根据权利要求1所述的方法,还包括基于所述应用源代码中的被识别的所述部分,由所述一个或多个处理器推荐目标云服务来替换所述应用源代码中的现有模块。
4.根据权利要求1所述的方法,还包括:
由所述一个或多个处理器确定采用所述相应的云服务所需的对所述应用源代码中的所述部分的修改;以及
由所述一个或多个处理器通过使用对所述应用源代码中的所述部分的所述修改来重构应用。
5.根据权利要求1所述的方法,还包括:
由所述一个或多个处理器通过与云经纪工具整合来确定采用所述云服务的财务利益;以及
由所述一个或多个处理器显示(i)要替换所述应用源代码中的所述部分的所述云服务、以及(ii)采用所述云服务的所述财务利益,所述显示在显示设备上执行以供客户查看。
6.根据权利要求1所述的方法,其中,确定所述被提取服务到所述相应的云服务的所述映射包括:将所述被提取服务中包括的第一一个或多个被提取服务映射到相应的一个或多个公共云服务,并且将所述被提取服务中包括的第二一个或多个被提取服务映射到相应的一个或多个私有云服务。
7.根据权利要求1所述的方法,其中,所述训练包括:
由所述一个或多个处理器生成代码模式配置文件,所述代码模式配置文件包括指定可用云服务的关键字;以及
由所述一个或多个处理器识别在所述应用源代码中的所述部分中包括的所述关键字。
8.根据权利要求1所述的方法,其中,开发所述机器学习模型包括通过使用多标签文本分类方法来开发自然语言处理模型。
9.根据权利要求1所述的方法,还包括:针对组织的应用集合中的每个应用,由所述一个或多个处理器重复进行:开发所述机器学习模型、训练所述机器学习模型、从所述应用源代码中提取所述服务、以及通过将所述机器学习模型应用于所述应用源代码来导出所述应用源代码的上下文、确定被提取服务的功能、确定所述映射、以及识别所述应用源代码中的被推荐要被替换的部分。
10.根据权利要求1所述的方法,还包括:
针对从由在计算机中创建、集成、托管、维护和部署计算机可读程序代码组成的组中的至少一个动作提供至少一个支持服务,所述程序代码由所述计算机的处理器执行以实现:开发所述机器学习模型、训练所述机器学习模型、从所述应用源代码提取服务、以及通过将所述机器学习模型应用于所述应用源代码来导出所述应用源代码的上下文、确定被提取服务的功能、确定映射、以及识别应用源代码中的被推荐要被替换的部分。
11.一种用于使云服务的采用自动化的计算机程序产品,所述计算机程序产品包括:
一个或多个计算机可读存储介质,具有共同地存储在所述一个或多个计算机可读存储介质上的计算机可读程序代码,所述计算机可读程序代码被计算机系统的中央处理单元CPU执行以使所述计算机系统执行一种方法,所述方法包括:
所述计算机系统开发机器学习模型以学习从源代码储存库访问的应用源代码;
所述计算机系统通过构建包括所述应用源代码和技术标签的训练数据来训练所述机器学习模型;
基于所述训练数据,所述计算机系统从所述应用源代码提取服务,并且所述计算机系统导出所述应用源代码的上下文,所述提取和所述导出由所述计算机系统将所述机器学习模型应用于所述应用源代码来执行;
使用自然语言处理模块并基于所述应用源代码的上下文,所述计算机系统确定被提取服务的功能;
使用决策树模型并且基于所述被提取服务的功能,所述计算机系统确定所述被提取服务到相应的云服务的映射,使得通过所述映射被映射到给定的被提取服务的一个或多个云服务的功能与所述给定的被提取服务的功能匹配;以及
基于所述映射,所述计算机系统识别所述应用源代码中的被推荐要由所述相应的云服务替换的部分。
12.根据权利要求11所述的计算机程序产品,其中,识别所述应用源代码中的被推荐要由所述相应的云服务替换的所述部分包括:生成对所述应用源代码中包括的代码的部分的最优重构量的推荐,以合并所述云服务中包括的云服务。
13.根据权利要求11所述的计算机程序产品,其中,所述方法还包括所述计算机系统推荐目标云服务以替换所述应用源代码中的现有模块。
14.根据权利要求11所述的计算机程序产品,其中,所述方法还包括:
所述计算机系统确定采用所述相应的云服务所需的对所述应用源代码中的所述部分的修改;以及
计算机系统通过使用对所述应用源代码中的所述部分的所述修改来重构应用。
15.根据权利要求11所述的计算机程序产品,其中,所述方法还包括:
所述计算机系统通过与云经纪工具集成来确定采用所述云服务的财务利益;以及
所述计算机系统显示(i)要替换所述应用源代码中的所述部分的所述云服务以及(ii)采用所述云服务的所述财务利益,所述显示在显示设备上执行以供客户查看。
16.一种计算机系统,包括:
中央处理单元CPU;
存储器,耦接到所述CPU;以及
一个或多个计算机可读存储介质,耦接到所述CPU,所述一个或多个计算机可读存储介质共同地包含由所述CPU经由所述存储器执行的指令,以实现使云服务的采用自动化的方法,所述方法包括:
所述计算机系统开发机器学习模型以学习从源代码储存库访问的应用源代码;
所述计算机系统通过构建包括所述应用源代码和技术标签的训练数据来训练所述机器学习模型;
基于所述训练数据,所述计算机系统从所述应用源代码提取服务,并且所述计算机系统导出所述应用源代码的上下文,所述提取和所述导出由所述计算机系统将所述机器学习模型应用于所述应用源代码来执行;
使用自然语言处理模块并基于所述应用源代码的上下文,所述计算机系统确定被提取服务的功能;
使用决策树模型并基于所述被提取服务的功能,所述计算机系统确定所述被提取服务到相应的云服务的映射,使得通过所述映射被映射到给定的被提取服务的一个或多个云服务的功能与所述给定的被提取服务的功能匹配;以及
基于所述映射,所述计算机系统识别所述应用源代码中的被推荐要由所述相应的云服务替换的部分。
17.根据权利要求16所述的计算机系统,其中,识别所述应用源代码中的被推荐要由所述相应的云服务替换的所述部分包括:生成对所述应用源代码中包括的代码的部分的最优重构量的推荐,以合并所述云服务中包括的云服务。
18.根据权利要求16所述的计算机系统,其中,所述方法还包括所述计算机系统推荐目标云服务以替换所述应用源代码中的现有模块。
19.根据权利要求16所述的计算机系统,其中,所述方法还包括:
所述计算机系统确定采用所述相应的云服务所需的对所述应用源代码中的所述部分的修改;以及
所述计算机系统通过使用对所述应用源代码中的所述部分的修改来重构应用。
20.根据权利要求16所述的计算机系统,其中,所述方法还包括:
所述计算机系统通过与云经纪工具集成来确定采用所述云服务的财务利益;以及
所述计算机系统显示(i)要替换所述应用源代码中的所述部分的所述云服务以及(ii)采用所述云服务的所述财务利益,所述显示在显示设备上执行以供客户查看。
CN202180039009.1A 2020-06-11 2021-05-07 使云服务的采用自动化 Pending CN115668128A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/946,227 2020-06-11
US16/946,227 US11150880B1 (en) 2020-06-11 2020-06-11 Automating an adoption of cloud services
PCT/CN2021/092066 WO2021249070A1 (en) 2020-06-11 2021-05-07 Automating an adoption of cloud services

Publications (1)

Publication Number Publication Date
CN115668128A true CN115668128A (zh) 2023-01-31

Family

ID=78083396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180039009.1A Pending CN115668128A (zh) 2020-06-11 2021-05-07 使云服务的采用自动化

Country Status (8)

Country Link
US (1) US11150880B1 (zh)
JP (1) JP2023528757A (zh)
KR (1) KR20230006843A (zh)
CN (1) CN115668128A (zh)
AU (1) AU2021286505B2 (zh)
GB (1) GB2611669A (zh)
IL (1) IL297346A (zh)
WO (1) WO2021249070A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809841B1 (en) * 2020-12-10 2023-11-07 Amazon Technologies, Inc. Automatic source code refactoring to mitigate anti-patterns
US11579868B1 (en) * 2020-12-10 2023-02-14 Amazon Technologies, Inc. Machine learning assisted source code refactoring to mitigate anti-patterns
US11770455B2 (en) * 2021-12-14 2023-09-26 Cognizant Technology Solutions India Pvt. Ltd. System and method for application migration between cloud platforms

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577939B2 (en) 2003-06-27 2009-08-18 International Business Machines Corporation Method, system and program product for sharing source code over a network
US10171619B2 (en) * 2014-08-28 2019-01-01 Ca, Inc. Identifying a cloud service using machine learning and online data
US20160071022A1 (en) * 2014-09-04 2016-03-10 International Business Machines Corporation Machine Learning Model for Level-Based Categorization of Natural Language Parameters
US10162610B2 (en) 2016-01-04 2018-12-25 Syntel, Inc. Method and apparatus for migration of application source code
CN107832062B (zh) 2017-09-08 2020-04-21 深圳壹账通智能科技有限公司 一种程序更新方法及终端设备
US11475353B2 (en) * 2017-12-01 2022-10-18 Appranix, Inc. Automated application reliability management using adaptable machine learning models
US10671355B2 (en) 2018-01-21 2020-06-02 Microsoft Technology Licensing, Llc. Code completion with machine learning
US10452367B2 (en) 2018-02-07 2019-10-22 Microsoft Technology Licensing, Llc Variable analysis using code context
EP3525097A1 (en) 2018-02-09 2019-08-14 Wipro Limited Method and system for migrating applications into cloud platforms
US11222281B2 (en) * 2018-06-26 2022-01-11 International Business Machines Corporation Cloud sharing and selection of machine learning models for service use
US11436056B2 (en) 2018-07-19 2022-09-06 EMC IP Holding Company LLC Allocation of shared computing resources using source code feature extraction and clustering-based training of machine learning models
US20200394566A1 (en) * 2019-06-14 2020-12-17 Open Text Sa Ulc Systems and methods for lightweight cloud-based machine learning model service
CN110489110B (zh) 2019-08-20 2023-10-03 腾讯科技(深圳)有限公司 一种基于深度学习的代码生成方法及装置

Also Published As

Publication number Publication date
KR20230006843A (ko) 2023-01-11
GB2611669A (en) 2023-04-12
US11150880B1 (en) 2021-10-19
IL297346A (en) 2022-12-01
AU2021286505B2 (en) 2023-07-13
WO2021249070A1 (en) 2021-12-16
JP2023528757A (ja) 2023-07-06
AU2021286505A1 (en) 2022-11-10

Similar Documents

Publication Publication Date Title
US10963294B2 (en) Cognitive cloud migration optimizer
US10977005B2 (en) Congnitive development of DevOps pipeline
RU2550520C1 (ru) Обеспечение возможностей конфигурируемого технологического процесса
US8914789B2 (en) Systematic migration of workload based on classification
AU2021286505B2 (en) Automating an adoption of cloud services
US10373071B2 (en) Automated intelligent data navigation and prediction tool
CN115934244A (zh) 生成用于测试容器编排系统的测试集群
US10769691B2 (en) Method and computer program product for automated generation and assembly of proposal elements
US10332048B2 (en) Job profile generation based on intranet usage
US11301223B2 (en) Artificial intelligence enabled function logic infusion
US20230127523A1 (en) Managing container images in groups
US11847443B2 (en) Constraints-based refactoring of monolith applications through attributed graph embeddings
US11481211B1 (en) Dynamically creating source code comments
US20220350674A1 (en) Generating and/or modifying metadata for infrastructure and runtime information for content
US10169382B2 (en) Keyword identification for an enterprise resource planning manager
US20190139053A1 (en) Engineering change announcement management system
US11966819B2 (en) Training classifiers in machine learning
US11263269B2 (en) Expert-system translation of natural-language input into atomic requirements
US11748063B2 (en) Intelligent user centric design platform
US11880668B2 (en) Dynamically altering a code execution workflow during development using augmented reality
US11811626B1 (en) Ticket knowledge graph enhancement
US11231972B1 (en) Dialog-style application programming interface for a machine learning solution
US20230206088A1 (en) Cognitive selection of composite services
Pal Wisp: A preference based location finder application
WO2023209693A1 (en) An advanced data and analytics management platform

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