CN116648692A - 迁移复杂的传统应用 - Google Patents
迁移复杂的传统应用 Download PDFInfo
- Publication number
- CN116648692A CN116648692A CN202180077614.8A CN202180077614A CN116648692A CN 116648692 A CN116648692 A CN 116648692A CN 202180077614 A CN202180077614 A CN 202180077614A CN 116648692 A CN116648692 A CN 116648692A
- Authority
- CN
- China
- Prior art keywords
- applications
- migratable
- network
- application
- cloud
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
- H04L41/0897—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
监视多个传统应用之间的网络流量集合。从该网络流量集合中,为该多个传统应用生成通信图。从通信图中,识别了多个传统应用中的可迁移应用的集合。将该可迁移应用集合迁移到云边缘层,并将所述迁移通知给用户。
Description
背景技术
本公开总体上涉及应用迁移领域,并且更具体地涉及迁移复杂的传统(legacy)应用。
在企业环境中,复杂的传统应用可能是司空见惯的。这些应用可能难以迁移,因为这些应用的组件可以与其他应用(传统或其他应用)复杂地互连。这可能导致昂贵的操作,并且不能利用新技术,例如基于云的应用。
用于迁移复杂的传统应用的当前解决方案需要手动工程处理或使用新的架构范例来重写重要组件,诸如容器、面向服务的架构(SOA)或微服务。可替代地,所提出的解决方案包括系统层重写的集成,该系统层重写可以将本地应用迁移到云模式中,只要应用和组件的整个集合可以一起迁移。将整个应用移至云的现有技术包括使用人工智能(AI)进行自动应用重构。
以上方法仅在其中移动应用相对简单(例如,其中该应用与其他应用具有很少依赖性或没有依赖性)或者迁移不会在多个应用程序之间造成依赖关系的变化或其他时序问题的情况下,可能是成功的。手动软件工程方法冗长、缓慢,并且容易出现人为错误。
当前的方法确实在许多传统组件和应用彼此之间具有复杂的依赖性的现实环境中不能很好地工作,并且由于传统组件/应用中的隐式假设,尤其是关于应用之间的不同交互的定时,企业的完整应用套件可能变得脆弱/不稳定。
发明内容
本公开的实施例包括一种用于迁移复杂应用的方法。该方法包括监视多个传统应用之间的网络流量的集合。从该网络流量集合中,为多个传统应用生成通信图。从通信图中,识别出多个传统应用中的可迁移应用集合。将该可迁移应用集合迁移到云边缘层,并通知用户。
该方法还可以包括监视在可迁移应用的集合和多个传统应用的剩余应用之间发生的第二网络流量集合。响应于该监视,确定已经发生至少一个定时误差。在云边缘层,引入网络速率控制过滤器。网络速率控制过滤器的标准基于至少定时误差。将该标准通知给用户。
本公开的实施例包括用于迁移复杂应用的计算机程序产品。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有与其体现的程序指令。程序指令可由设备执行并且使设备监视多个传统应用之间的网络流量集合。从该网络流量集合中,为该多个网络流量生成通信图。从通信图中,识别了多个传统应用中的可迁移应用的集合。将该可迁移应用集合迁移到云边缘层,并通知用户。
计算机程序产品的程序指令可以进一步使得设备监视在可迁移应用的集合和多个传统应用的剩余应用之间发生的第二网络流量集合。响应于该监视,确定已经发生至少一个定时误差。在云边缘层,引入网络速率控制过滤器。网络速率控制过滤器的标准基于至少定时误差。将该标准通知给用户。
本公开的实施例包括用于迁移复杂应用的系统。该系统包括其上包括程序指令的存储器子系统以及与存储器子系统通信的处理器。程序指令使处理器监视多个传统应用之间的网络流量集合。从该网络流量集合中,为该多个传统应用生成通信图。从通信图中,识别了多个可迁移应用的集合。将该可迁移应用集合迁移到云边缘层,并通知用户。
程序指令可以进一步使得设备监视在可迁移应用的集合和多个传统应用的剩余应用之间发生的第二网络流量集合。响应于该监视,确定已经发生至少一个定时误差。在云边缘层,引入网络速率控制过滤器。网络速率控制过滤器的标准基于至少定时误差。将该标准通知给用户。
以上发明内容并不旨在描述本公开的每个所示实施例或每个实现方式。
附图说明
包括在本公开中的附图被结合到说明书中并且形成说明书的一部分。它们示出了本公开的实施方式,并且与描述一起用于解释本公开的原理。附图仅是对典型实施例的说明,而并不限制本公开。
图1示出了根据本公开的实施例的用于将复杂的传统应用迁移到云边缘层的示例网络环境。
图2A示出了根据本公开的实施例的用于迁移复杂的传统应用的示例方法。
图2B示出了根据本公开的实施例的用于缓解复杂应用之间的定时误差的示例方法。
图3示出了根据本公开的实施例的用于根据通信图来迁移复杂的传统应用的示例方法。
图4描绘了根据本公开的实施例的云计算环境。
图5描述了根据本公开的实施例的抽象模型层。
图6描绘了可用于实现本公开的实施例的示例计算机系统的高级框图。
虽然在本文中描述的实施例适用于不同修改和替代形式,但是其细节已经通过示例在附图中示出并且将被详细描述。然而,应当理解,所描述的特定实施例不应被视为限制性的。相反,意图是覆盖落入本公开的范围内的所有修改、等同物和替换。
具体实施方式
本公开的各方面一般涉及应用迁移领域,尤其涉及迁移复杂的传统应用。虽然本公开不必限于这样的应用,但是可以通过使用该上下文对不同示例的讨论来理解本公开的各个方面。
如以上所讨论的,当前的技术状态迫切需要将复杂的、相互依赖的传统应用迁移到云或混合云平台的能力:这种方式既可自动化,又减轻企业传统应用套件的已迁移组件和未迁移组件及其组件之间的定时依赖性。
云计算架构的边缘层可能是复杂的传统应用的理想环境,因为它提供具有低延迟的本地资源。云的“边缘层”可包括定位成尽可能靠近访问云计算资源的客户端设备的云计算资源。缩短客户端设备与云之间的物理距离可导致低延迟和更高效率。边缘层可以位于传统应用的组件正在其中运行的场所处,并且这样的场所可以被实例化为数据中心、企业站点、私有云托管站点或外包数据中心。
驻留在例如企业的服务器上的现有传统应用可以是一组复杂的交互应用及其组件。应用的组件可以经由在过去几年中创建的各种协议来交互。组件和/或协议可以使用较旧的编程语言,并且如果有的话,关于相关应用的定时和响应性的假设可能记录得很差。因此,应用和应用组件之间的时间依赖性可能不可用或可能是不完全的。然而,这些传统应用对于任何给定企业的运营都至关重要。
当需要将传统应用迁移到新的系统或云环境时,很少尝试迁移给定应用(或一套/多个应用)的所有组件,因为错误的数量,特别是迁移和未迁移组件/应用之间的时间依赖性错误,可能会让开发人员和其他工作人员不堪重负,并对企业的运营产生负面影响。在某些情况下,这可能会导致一连串的故障,从而导致灾难性事件。
为了说明所设想的实施例的影响,让我们假设我们在企业中具有10个应用,每个应用包括10个组件。让我们进一步假设一个应用已经被选择用于迁移到云计算环境。如果所选应用的两个组件也正被一个或多个未迁移应用利用,则所选应用的迁移可以减缓利用所选应用的未迁移应用的操作。利用/依赖于所选择的应用的未迁移应用的数量越大,则对于多个企业的应用而言变慢的影响变得越大(并且可能是指数的)。
除了减慢之外,应用/组件故障的风险也增加。传统应用可依赖于组件/应用在企业本地服务器上处于本地环境中的定时特性和依赖性,并且如果组件突然相距100ms,而不是相距2ms的原始位置,相关/相关联的应用/组件可能以非预期的方式超时。
如果应用/组件被保持在现场(例如,在本地企业服务器上)但被更新为比先前实现/版本更快/更高效地运行的新实现,则类似的挑战也可能出现。较旧的/未更新的组件/应用可能经历导致之前从未被执行/测试的代码路径的定时问题,这可能导致应用崩溃。这可能导致迁移过程失败。换言之,操作太快和操作太慢都可能导致复杂的传统应用失败。
本公开的实施例考虑使用至少三种技术/技能来减轻以上问题并且加速和自动化复杂的传统应用的迁移。首先,可以使用被动网络检查来确定构成每个复杂应用的组件的拓扑。被动网络检查可进一步用于确定应用/组件之间的通信的特性(例如,服务器地址、端口地址、协议类型、网络延迟、流量量、加密类型等)。
其次,可以从被动网络检查的结果生成网络通信图。使用通信图,可以对过程进行分组以识别不同组件/应用,并且识别定时依赖性和应用复杂性的程度。使用通信图,可以对复杂的传统应用进行排名或与迁移阈值标准进行比较,以确定用于迁移的最佳候选(例如,可迁移应用)。标准可以考虑例如相互依赖性的量、与特定的进程/组件/应用相关联的网络流量的量等。
最后,可以使用网络速率控制过滤器(例如,在云边缘层环境中)以确保任何特定的组件/应用可以在迁移后环境内操作。可以为每个组件/应用定制网络速率控制过滤器,并且可以允许迁移的组件/应用绕过在迁移失败的主要原因之中的依赖于定时的失败。
在实施例中,可以假设可以识别一些组件/应用,因为它们可能运行在具有在被动网络检查期间可以考虑的相对良好定义的结构的数据中心中。通过监视该环境中的网络流量,可以通过在彼此通信的不同通信端口上进行监听来识别进程/组件/应用的集合。例如,应用的服务器组件可以通过服务器地址和端口号来识别。端口号可以用于识别该组件的客户端请求,导致网络上的过程元件的识别。分析各种进程的通信允许在一个或多个应用程序的不同组件之间生成通信图。此外,可确定组件之间的通信的特性,包括网络延迟、数据包/网络流量的量等。在其他实施例中,网络流量的监视可发生在在单个服务器上运行的组件之间,例如作为物理机上的虚拟机运行的组件之间、作为主机上的逻辑分区运行的组件之间、作为虚拟局域网(诸如DOCKER网络上的DOCKER容器)内的容器运行的组件等。
根据实施例,一旦交互过程被识别且通信图被生成,则通过分析通信图可确定/识别不同应用。通信图的分析可以识别与组件、整个应用、或多个应用一致地或以典型的方式作用的进程组。该分析可使用以下方法中的一个或多个来完成:确定相似的通信图中的节点群集、确定通信图的最小切割分区、确定通信图中的节点的派系或加权分区等。可以进一步分析这些进程组,以识别具有共享组件和/或进程的应用,以及在它们之间交换的网络流量的量。
在实施例中,进程组分析的结果可以包括每个应用的识别,以及通过所监视的网络通信的每个应用的组件。照此,这些结果可以用于确定哪些组件/应用最适合于迁移到云或云边缘层。在混合云实施例中,可假设仅传统组件/应用的一部分可被迁移。
通过分析通信图和进程组分析结果,可以选择与其他组件/应用具有最少链接/依赖性的组件/应用用于迁移,因为这些组件/应用将可能对多个传统应用具有最小的影响。在一些实施例中,这可包括阈值检查(例如,与迁移阈值准则的比较)。该标准可以由用户/管理员确定,或者它可以作为一段时间内总网络流量的百分比、作为应用重要性的基于优先级的系统、作为要迁移的最佳组件/应用的机器学习模型确定的结果等而被自动化。在一些实施例中,这可包括对可由用户/管理员确定的迁移策略的集合进行检查。迁移策略可定义允许迁移的条件和应避免迁移的条件。
在实施例中,云边缘层环境可以是用于迁移的目的地。这样可以保证迁移组件/应用与未迁移应用/应用之间的链路得到维护。这种实施例可以是永久的解决方案,或者在实施例中,云边缘层可以被用作用于集成到传统云环境中的中间阶段。
在实施例中,托管迁移的组件/应用的云边缘层可以包括基于与迁移的组件/应用的本地/原始/传统环境相同的架构的设备。例如,用于大型机应用的SYSTEM Z装置或用于基于Linux的应用的IBM CLOUD SATELLITE可在云边缘层内实现。以此方式,云边缘层可以确保迁移组件和未迁移应用/应用之间的延迟保持不变。
在一些实施例中,组件/应用可能由于更新的组件/应用反应太快并且导致非预期的定时条件而失败。一些实施例可以结合网络速率控制过滤器来减轻或缓解这些问题。例如,云边缘层可以经由网络速率控制过滤器引入网络延迟,以确保在迁移的组件/应用和非迁移的组件/应用之间经历的延迟落入在通信图中或本地、预迁移环境中观察到的延迟的范围内。以此方式,传统应用的复杂系统可以继续以与本地环境中存在的定时约束和假设相同的定时约束和假设来操作,从而防止和/或解决定时错误。
现在参见图1,其示出了根据本公开的实施例的用于将复杂的传统应用迁移到云边缘层的示例网络环境100。示例网络环境100可包括例如云110、云边缘层120和企业服务器130。在一些实施例中,云110、云边缘层120和企业服务器130的某些功能可在不同于描绘的位置处实现。
根据各实施例,云110、云边缘层120和企业服务器130可包括计算机系统(例如,可包括与计算机系统601相同或相似的组件)。云110、云边缘层120和企业服务器130可被配置成通过内部或外部网络接口(未示出)彼此通信。网络接口可以是例如调制解调器、无线网络适配器、以太网适配器等。云110、云边缘层120和企业服务器130可进一步配备有显示器或监视器(未示出)。此外,云110、云边缘层120和企业服务器130可包括可选的输入设备(例如,键盘、鼠标、扫描仪或其他输入设备)和/或任何商业可获得的或定制的软件(例如,图像处理软件、对象识别软件等)。在一些实施例中,云110、云边缘层120和企业服务器130可包括附加服务器、台式计算机、膝上型计算机、IoT(物联网)设备、或手持式设备。
云110、云边缘层120和企业服务器130还可包括存储(例如,存储接口614)。存储可包括例如虚拟化盘驱动器、物理硬盘驱动器、固态存储驱动器或任何其他合适的存储介质。在一些实施例中,工作负载数据和元数据可以被暂时或永久地存储。
云110、云边缘层120和企业服务器130可以彼此远离并且可以通过网络(未示出)进行通信。在各实施例中,云110可以是中央中枢,云边缘层120和企业服务器130可从中央中枢诸如在客户机-服务器联网模型中建立通信连接。在其他实施例中,云边缘层120可以充当企业服务器130和云110的这种集线器。在一些实施例中,云110、云边缘层120和企业服务器130可以任何其他合适的网络关系(例如,以对等配置或使用另一网络拓扑)来配置。
在实施例中,网络环境100的组件之间的连接可以使用任何数量的任何合适的通信介质来实现。例如,广域网(WAN)、局域网(LAN)、互联网或内联网。在某些实施例中,云110、云边缘层120和企业服务器130可彼此本地并且经由任何合适的本地通信介质进行通信。例如,云110、云边缘层120和企业服务器130可使用局域网(LAN)、一个或多个硬线连接、无线链路或路由器或内联网来通信。在一些实施例中,云110、云边缘层120和企业服务器130以及任何其他设备可使用一个或多个网络和/或一个或多个本地连接的组合来通信地耦合。例如,企业服务器130可被硬连线到云边缘层120(例如,与以太网电缆连接),而第三客户机设备可通过诸如内联网或互联网之类的网络与企业服务器130通信。
在一些实施例中,网络环境100可在云计算环境内实现或作为云计算环境的一部分实现。根据不同实施例,云计算环境可包括提供一个或多个云计算服务的基于网络的分布式数据处理系统。进一步,云计算环境可包括被布置在一个或多个数据中心内并且被配置成通过网络共享资源的许多计算机(例如,成百上千的计算机或更多)。关于图4和图5给出了关于云计算的进一步细节。
根据各实施例,企业服务器130可包括应用135A-D。应用135A-D可包括例如传统应用和它们的组件/过程。传统应用可包括电子邮件客户端、互联网浏览器、数据库、块链应用、机器学习模型、人工智能应用、流应用、或由企业实体利用的任何其他应用。在一些实施例中,应用135A-D可以是用于迁移到云边缘层120的候选,如本文所讨论的。如所描绘的,应用135A和应用135D可以是未迁移应用,并且应用135B-应用135C可以是迁移应用(例如,可以与迁移的应用135B-C基本上类似或甚至完全相同)。
根据各实施例,企业服务器130还可包括迁移控制器140。在一些实施例中,迁移控制器140可位于云边缘层120内或云边缘层120外部,但仍在云110内。迁移控制器可以包括流量监视器145(例如,用于执行被动网络检查,如本文所述)和通信记录仪148(例如,用于生成通信图,如本文所述)。
根据实施例,云边缘层120可以包括迁移的应用135B-C。如本文所描述的,迁移的应用可以是应用135B-C的迁移的实现。可以针对云边缘层120的环境来更新迁移应用135B-C,和/或云边缘层120可以包括用于模仿企业服务器130的本地环境的设备。
在实施例中,云边缘层可以进一步包括流量监视器125。流量监视器可基本上类似于流量监视器145。流量监视器125可以监视云边缘层120内和/或应用135A&D以及迁移的应用135B-C之间的网络流量,以检测定时错误和可以通过引入增加的延迟来减轻或解决的其他问题。在一些实施例中,如在本文中所描述,网络速率控制过滤器128可以引入和强制执行这些减轻延迟。
云110可以包括云边缘层120和其他云计算组件。关于图4和5给出了关于云110及其组件的附加细节。
要注意的是,图1旨在描述示例网络环境100的代表性主要组件。然而,在一些实施例中,各个组件可以具有比图1中所表示的更大或更小的复杂度;可以存在不同于图1中所示出的那些组件的组件或者除图1中所示出的那些组件之外的组件,并且此类组件的数量、类型和配置可以变化。
现在转向图2A,图示了根据本公开的实施例的用于迁移复杂的传统应用的示例方法200A的流程图。示例方法200A可以开始于205,其中监视传统应用之间的网络流量。如本文所讨论的,被动网络检查技术可用于监视,并且该监视可在传统应用的本地环境中(例如,在企业服务器130的环境内)执行。
在210处,生成通信图。如本文所描述的,通信图可以包括通信特性和应用的组件/进程的枚举,并且可以进一步示出进程、组件和应用之间的关系。通信特性可包括以字节为单位的流量或在一段时间内的连接建立、流量中通信网络协议的分布、或描述通信属性的任何模型的参数。
在215,识别可迁移应用。如本文所描述的,可迁移应用可以包括传统应用的总数的一部分,并且可迁移应用可以使用迁移阈值标准来确定/识别。
在220处,可以将可迁移应用迁移到云边缘层(例如,云边缘层120)。在实施例中,迁移可以热或冷执行。在热迁移中,活动运行的组件被无缝地迁移。在冷迁移中,在新环境中关闭和重启应用组件。在一些实施例中,应用的组件的子集的迁移可以热执行,而组件的迁移的剩余部分可以冷执行。如本文所描述的,云边缘层可包括云110内的最接近(物理地/地理地或逻辑地)企业服务器130的物理位置的虚拟/物理机器。在一些实施例中,逻辑接近度/距离可通过最低延迟或通过通信兼容性来测量。如本文所描述的,云边缘层120可以包括用于模仿迁移的应用的本地环境的设备,和/或它可以包括网络速率控制过滤器。
在225,向用户通知迁移。在实施例中,用户可以是管理员、开发者、终端用户等,并且可以通过弹出窗口、文本、电子邮件、音频声音、视觉提示、触觉提示等来完成通知。在一些实施例中,可要求用户响应通知以完成迁移。在一些实施例中,用户可以修改被迁移的组件集合。在一些实施例中,通知和确认可发生在发起迁移过程之前。
现在转向图2B,示出了根据本公开的实施方式的用于缓解复杂应用之间的定时误差的示例性方法200B。在实施例中,示例方法200B可以发生在示例方法200A之后或响应于示例方法200A。示例方法200B可以在230开始,其中如本文所述,监视迁移和未迁移传统应用之间的网络流量。
在235,确定定时错误是否可能发生,如本文所描述的。在实施例中,这可以包括从由监视产生的原始数据的确定,或者可以从由监视生成的通信图确定。在其他实施例中,可以通过由机器学习模型生成的预测来做出关于云边缘层内的迁移的应用的现实操作的确定。在其他实施例中,定时错误可以通过确定安全的通信阈值来避免,因为在具有特定通信阈值速率的活动期间没有观察到错误通知。在一些实施例中,观察到定时或其他种类的错误,并且引起那些错误的网络特性被标记为要避免的网络特性。
如果在235确定没有定时误差,则该方法可以在230处继续监视网络流量。然而,如果确定定时错误已经发生或将发生,或者如果网络已经被足够好地监视以确定网络在没有定时错误的情况下操作的安全标准,则方法可以前进到240,在那里引入网络速率控制过滤器128。如本文所描述的,可以在云边缘层处引入网络速率控制过滤器以在迁移的应用处引入延迟。然而,在一些实施例中,可以在企业服务器处引入网络速率控制过滤器以在传统应用的未迁移剩余部分处引入延迟。
在245,通知用户网络速率控制过滤器的标准。在一些实施例中,网络速率控制过滤器的标准可以包括通信特性和针对受网络速率控制过滤器影响的每个进程、组件和/或应用所引入的延迟。
现在转向图3,图示了根据本公开的实施例的用于根据通信图迁移复杂的传统应用的示例方法300。如本文所描述的,示例性方法300可以开始于305,其中监视传统应用之间的网络流量以识别通过网络执行的进程。
在310,可以根据监视的结果并且如在本文中所描述的,识别进程和/或组件的服务器地址和端口地址/编号。
在315,基于所识别的服务器地址和端口号,识别与组件和/或进程相关联的客户端请求。这可以包括例如确定与客户端请求相关联的源/目的地址/端口号。
在320,生成通信图,如本文所描述的。在实施方式中,生成的通信图可以包括,例如,通信特性、网络流量量、延迟、数据包的来源/目的地等。
在320,分析通信图。如本文所描述的,分析通信图可以包括例如确定在(多个)应用之间发送的每个数据包的来源和目的地、网络流量量、硬件组件标识(例如,MAC地址指定、(多个)IP地址、网络延迟等)。
在330,根据通信图确定被监视的进程/组件是否形成派系或组。如果否,那么示例方法300可返回至305;可替代地,示例方法300可结束。如果是,在335处,可以将进程组与迁移阈值标准进行比较。
如果在335确定进程组超过迁移阈值准则,如本文所描述的,示例性方法300可以返回到305。可替代地,示例方法300可结束。然而,如果确定进程组落入迁移阈值标准之下,则方法可以前进到340。
在340,如本文所描述的,可以将包含进程组的应用作为可迁移应用迁移到云边缘层。
在345,如本文所描述的,向用户通知迁移。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的一些实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面根据需要自动提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供商进行人为交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需要动态地分配和重新分配。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):“提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):“提供给消费者的能力是部署到云基础设施上,消费者创建或获取的使用由提供商支持的编程语言和工具创建的应用。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):“提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用程序。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础架构由若干组织共享并且支持共享了关注(例如,任务、安全要求、策略、以及合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:云基础架构可用于大众或大型行业团体,并由出售云服务的组织拥有。
混合云:云基础设施是两个或更多个云(私有云、社区云、或公共云)的组合,这些云保持唯一实体,但通过使数据和应用能够移植的标准化技术或私有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参考图4,描述了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图4中所示的计算设备54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
现在参见图5,示出了由云计算环境50(图4)提供的一组功能抽象层。应提前理解,图5中所示的组件、层和功能仅旨在是说明性的,并且本发明的一些实施例不限于此。如所描述,提供以下层和对应功能:
硬件和软件层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。
现在参见图6,示出了可以被配置成执行本公开的各个方面的示例计算机系统601的高级框图,包括例如图2A-B和图3中描述的方法200A-B/300。根据本公开的实施例,示例计算机系统601可以用于实现本文所描述的方法或模块中的一个或多个和任何相关的功能或操作(例如,使用计算机的一个或多个处理器电路或计算机处理器)。在一些实施例中,计算机系统601的说明性组件包括一个或多个CPU602、存储器子系统604、终端接口612、存储接口614、I/O(输入/输出)设备接口616和网络接口618,所有这些可以直接或间接地通信地耦合,以用于经由存储器总线603、I/O总线608和I/O总线接口单元610的组件间通信。
计算机系统601可包含一个或多个通用可编程中央处理单元(CPU)602A、602B、602C和602D,在本文中统称为CPU 602。在一些实施例中,计算机系统601可以包含相对大型系统的典型的多个处理器;然而,在其他实施例中,计算机系统601可以替代地是单个CPU系统。每个CPU 602可执行存储在存储器子系统604中的指令,并且可包括一个或多个板载高速缓存。存储器子系统604可包括指令606,指令606在由处理器602执行时使处理器602执行以上关于图2A-2B和图3描述的一些或全部功能。
在一些实施例中,存储器子系统604可以包括用于存储数据和程序的随机存取半导体存储器、存储设备或存储介质(易失性或非易失性)。在一些实施例中,存储器子系统604可以表示计算机系统601的整个虚拟存储器,并且还可以包括耦合到计算机系统601或经由网络连接的其他计算机系统的虚拟存储器。存储器子系统604在概念上可以是单个单片实体,但是在一些实施例中,存储器子系统604可以是更复杂的布置,诸如高速缓存和其他存储器设备的层级。例如,存储器可存在于多级高速缓存中,并且这些高速缓存可进一步按函数划分,使得一个高速缓存保持指令,而另一高速缓存保持非指令数据,该非指令数据被一个或多个处理器使用。存储器可以进一步分布并且与不同的CPU或CPU集合相关联,如在各种所谓的非一致存储器访问(NUMA)计算机架构中的任意一个中已知的。在一些实施例中,主存储器或存储器子系统604可以包含用于控制和流由CPU 602使用的存储器的元件。这可以包括存储器控制器605。
尽管存储器总线603在图6中示出为提供CPU 602、存储器子系统604和I/O总线接口610之间的直接通信路径的单个总线结构,但是在一些实施例中,存储器总线603可以包括多个不同的总线或通信路径,其可以以各种形式中的任一种布置,诸如分级、星形或网络配置中的点对点链路、多个分级总线、并行和冗余路径或任何其他适当类型的配置。此外,虽然I/O总线接口610和I/O总线608被示出为单个相应的单元,但是在一些实施例中,计算机系统601可以包含多个I/O总线接口单元610、多个I/O总线608或两者。进一步,虽然示出了将I/O总线608与运行到不同I/O设备的不同通信路径分开的多个I/O接口单元,但是在其他实施例中,一些或所有I/O设备可以直接连接到一个或多个系统I/O总线。
在一些实施例中,计算机系统601可以是多用户大型计算机系统、单用户系统、或者服务器计算机或具有很少或没有直接用户接口但从其他计算机系统(客户端)接收请求的类似设备。进一步,在一些实施例中,计算机系统601可以被实现为台式计算机、便携式计算机、膝上型或笔记本计算机、平板计算机、袖珍计算机、电话、智能电话、移动设备、或任何其他适当类型的电子设备。
要注意的是,图6旨在描述示例性计算机系统601的代表性示例组件。然而,在一些实施例中,单个组件可以具有比图6中所表示的更大或更小的复杂度,可以存在不同于图6中所示出的那些组件或者除图6中所示出的那些组件之外的组件,并且此类组件的数量、类型和配置可以变化。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)、以及常规的过程式程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中所指出的功能可不按图中所指出的次序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的呈现了本发明的各种实施方式的描述,但并不旨在是详尽的或者限于所公开的实施方式。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解本文公开的实施例。
Claims (20)
1.一种用于迁移复杂应用的方法,所述方法包括:
监视多个传统应用之间的网络流量集合;
从所述监视的网络流量集合,为所述多个传统应用生成通信图;
从所述通信图识别所述多个传统应用中的可迁移应用集合;
将所述可迁移应用集合迁移到云边缘层;以及
将所述迁移通知给用户。
2.根据权利要求1所述的方法,其中,生成所述通信图进一步包括:
识别应用组件的服务器地址和端口号;
使用所述服务器地址和所述端口号来识别与所述应用组件相关联的客户端请求集合;以及
从所述识别的客户端请求集合生成所述通信图。
3.根据权利要求2所述的方法,其中,所述通信图包括:
与所述客户端请求集合的来源集合相关的服务器地址和端口号集合;
与所述客户端请求集合的目的地集合相关的服务器地址和端口号集合;
平均网络延迟;以及
网络流量的量。
4.根据权利要求3所述的方法,其中,识别所述可迁移应用集合进一步包括:
分析所述通信图以识别一个或多个相关进程组;
从所述一个或多个相关进程组确定所述多个传统应用中所述可迁移应用集合。
5.根据权利要求4所述的方法,其中,所述云边缘层包括基于来自所述可迁移应用集合的第一应用的本地架构的设备。
6.根据权利要求5所述的方法,其中,在所述云边缘层中提供软件作为服务以托管所述第一应用。
7.根据权利要求1所述的方法,进一步包括:
监视在所述可迁移应用集合与所述多个传统应用的剩余应用之间发生的第二网络流量集合;
响应于所述监视,确定已经发生至少一个定时误差;
在所述云边缘层处引入网络速率控制过滤器,其中,所述网络速率控制过滤器的标准基于所述至少一个定时误差;以及
将所述标准通知用户。
8.一种用于迁移复杂应用的计算机程序产品,所述计算机程序产品包括具有体现在其中的程序指令的计算机可读存储介质,所述程序指令可由设备执行以使所述设备:
监视多个传统应用之间的网络流量集合;
从所述监视的网络流量集合,为所述多个传统应用生成通信图;
从所述通信图中识别所述多个传统应用中的可迁移应用集合;
将所述可迁移应用集合迁移到云边缘层;以及
将所述迁移通知给用户。
9.根据权利要求8所述的计算机程序产品,其中,生成所述通信图进一步包括:
识别应用组件的服务器地址和端口号;
使用所述服务器地址和所述端口号来识别与所述组件相关联的客户端请求集合;以及
从所述识别的客户端请求集合生成所述通信图。
10.根据权利要求9所述的计算机程序产品,其中,所述通信图包括:
与所述客户端请求集合的来源集合相关的服务器地址和端口号集合;
与所述客户端请求集合的目的地集合相关的服务器地址和端口号集合;
平均网络延迟;以及
网络流量的量。
11.根据权利要求10所述的计算机程序产品,其中,识别所述可迁移应用集合进一步包括:
分析所述通信图以识别一个或多个相关进程组;
从所述一个或多个相关进程组确定所述多个传统应用中所述可迁移应用集合。
12.根据权利要求11所述的计算机程序产品,其中,所述云边缘层包括基于来自所述可迁移应用集合的第一应用的本地架构的设备。
13.根据权利要求12所述的计算机程序产品,其中,在所述云边缘层中提供软件作为服务以托管所述第一应用。
14.根据权利要求8所述的计算机程序产品,其中,所述程序指令进一步使得所述设备:
监视在所述可迁移应用集合与所述多个传统应用的剩余应用之间发生的第二网络流量集合;
响应于所述监视,确定已经发生至少一个定时误差;
在所述云边缘层处引入网络速率控制过滤器,其中,所述网络速率控制过滤器的标准基于所述至少一个定时误差;以及
将所述标准通知用户。
15.一种用于迁移复杂应用的系统,所述系统包括:
存储器子系统,其上包括程序指令;以及
处理器,与所述存储器子系统通信,其中所述程序指令促使所述处理器:
监视多个传统应用之间的网络流量集合;
从所述监视的网络流量集合,为所述多个传统应用生成通信图;
从所述通信图中识别所述多个传统应用中的可迁移应用集合;
将所述可迁移应用集合迁移到云边缘层;以及
将所述迁移通知给用户。
16.根据权利要求15所述的系统,其中,生成所述通信图进一步包括:
识别应用组件的服务器地址和端口号;
使用所述服务器地址和所述端口号来识别与所述组件相关联的客户端请求集合;以及
从所述识别的客户端请求集合生成所述通信图。
17.根据权利要求16所述的系统,其中,所述通信图包括:
与所述客户端请求集合的来源集合相关的服务器地址和端口号集合;
与所述客户端请求集合的目的地集合相关的服务器地址和端口号集合;
平均网络延迟;以及
网络流量的量。
18.根据权利要求17所述的系统,其中,识别所述可迁移应用集合进一步包括:
分析所述通信图以识别一个或多个相关进程组;
从所述一个或多个相关进程组确定所述多个传统应用中所述可迁移应用集合。
19.根据权利要求18所述的系统,其中,所述云边缘层包括基于来自所述可迁移应用集合的第一应用的本地架构的设备。
20.根据权利要求15所述的系统,其中,所述程序指令进一步使所述处理器:
监视在所述可迁移应用集合与所述多个传统应用的剩余应用之间发生的第二网络流量集合;
响应于所述监视,确定已经发生至少一个定时误差;
在所述云边缘层处引入网络速率控制过滤器,其中,所述网络速率控制过滤器的标准基于所述至少一个定时误差;以及
将所述标准通知用户。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/110,486 | 2020-12-03 | ||
US17/110,486 US11803413B2 (en) | 2020-12-03 | 2020-12-03 | Migrating complex legacy applications |
PCT/CN2021/130929 WO2022116814A1 (en) | 2020-12-03 | 2021-11-16 | Migrating complex legacy applications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116648692A true CN116648692A (zh) | 2023-08-25 |
Family
ID=81849035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180077614.8A Pending CN116648692A (zh) | 2020-12-03 | 2021-11-16 | 迁移复杂的传统应用 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11803413B2 (zh) |
JP (1) | JP2023551841A (zh) |
CN (1) | CN116648692A (zh) |
DE (1) | DE112021005636T5 (zh) |
GB (1) | GB2616791A (zh) |
WO (1) | WO2022116814A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11803413B2 (en) | 2020-12-03 | 2023-10-31 | International Business Machines Corporation | Migrating complex legacy applications |
CN115469994A (zh) * | 2021-06-11 | 2022-12-13 | 戴尔产品有限公司 | 边缘计算站点与核心数据中心之间的自动化服务分层 |
US12055906B2 (en) | 2022-01-03 | 2024-08-06 | Tyco Fire & Security Gmbh | Building management system with flexible gateway configuration |
US20230213903A1 (en) | 2022-01-03 | 2023-07-06 | Johnson Controls Tyco IP Holdings LLP | Building management system with adaptive edge processing for gateways |
US12009975B2 (en) | 2022-07-22 | 2024-06-11 | Dell Products L.P. | Method and system for generating an upgrade recommendation for a communication network |
US12032473B2 (en) | 2022-11-28 | 2024-07-09 | Dell Products | Moving an application context to the cloud during maintenance |
US12093744B2 (en) | 2023-01-25 | 2024-09-17 | Dell Products L.P. | System and method for instantiating twin applications |
US20240251021A1 (en) * | 2023-01-25 | 2024-07-25 | Dell Products L.P. | System and method for migrating groups of containers |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8412791B2 (en) | 2001-09-28 | 2013-04-02 | International Business Machines Corporation | Apparatus and method for offloading application components to edge servers |
US7617273B2 (en) * | 2002-11-15 | 2009-11-10 | Sun Microsystems, Inc. | Method and apparatus for providing a unified component architecture for client-side and server-side components |
US20050027858A1 (en) * | 2003-07-16 | 2005-02-03 | Premitech A/S | System and method for measuring and monitoring performance in a computer network |
CA2832444C (en) | 2011-04-07 | 2017-10-17 | Pneuron Corp. | Legacy application migration to real time, parallel performance cloud |
US8761762B2 (en) | 2011-05-27 | 2014-06-24 | Koninklijke Kpn N.V. | Migration and activation of services in a network |
US8949654B2 (en) | 2012-01-27 | 2015-02-03 | Empire Technology Development Llc | Parameterized dynamic model for cloud migration |
US20140289198A1 (en) | 2013-03-19 | 2014-09-25 | Ramya Malangi Chikkalingaiah | Tracking and maintaining affinity of machines migrating across hosts or clouds |
US9461969B2 (en) * | 2013-10-01 | 2016-10-04 | Racemi, Inc. | Migration of complex applications within a hybrid cloud environment |
US9417868B2 (en) * | 2014-01-09 | 2016-08-16 | Bank Of America Corporation | Entity wide software tracking and maintenance reporting tool |
US9672054B1 (en) * | 2014-12-05 | 2017-06-06 | Amazon Technologies, Inc. | Managing virtual machine migration |
US9986031B2 (en) * | 2015-05-06 | 2018-05-29 | International Business Machines Corporation | Container provisioning based on communications patterns between software components |
CN107018539A (zh) | 2016-01-27 | 2017-08-04 | 中兴通讯股份有限公司 | 应用的移动性的处理方法及装置 |
US11283900B2 (en) * | 2016-02-08 | 2022-03-22 | Microstrategy Incorporated | Enterprise performance and capacity testing |
US11343355B1 (en) * | 2018-07-18 | 2022-05-24 | Tanium Inc. | Automated mapping of multi-tier applications in a distributed system |
US11490307B2 (en) | 2018-12-12 | 2022-11-01 | Akamai Technologies, Inc. | Intelligently pre-positioning and migrating compute capacity in an overlay network, with compute handoff and data consistency |
CN109905859B (zh) | 2019-01-14 | 2021-09-28 | 南京信息工程大学 | 一种用于车联网应用的高效边缘计算迁移方法 |
CN110012021B (zh) | 2019-04-12 | 2021-06-22 | 福州大学 | 一种移动边缘计算下的自适应计算迁移方法 |
CN110990133B (zh) | 2019-11-15 | 2022-11-04 | 杭州未名信科科技有限公司 | 边缘计算服务迁移方法、装置、电子设备及介质 |
CN111031102B (zh) | 2019-11-25 | 2022-04-12 | 哈尔滨工业大学 | 一种多用户、多任务的移动边缘计算系统中可缓存的任务迁移方法 |
US20220129295A1 (en) * | 2020-10-25 | 2022-04-28 | Meta Platforms, Inc. | Server-side hosted environment for a cloud gaming system |
US11803413B2 (en) | 2020-12-03 | 2023-10-31 | International Business Machines Corporation | Migrating complex legacy applications |
-
2020
- 2020-12-03 US US17/110,486 patent/US11803413B2/en active Active
-
2021
- 2021-11-16 DE DE112021005636.0T patent/DE112021005636T5/de active Pending
- 2021-11-16 GB GB2309849.4A patent/GB2616791A/en active Pending
- 2021-11-16 JP JP2023532556A patent/JP2023551841A/ja active Pending
- 2021-11-16 WO PCT/CN2021/130929 patent/WO2022116814A1/en active Application Filing
- 2021-11-16 CN CN202180077614.8A patent/CN116648692A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023551841A (ja) | 2023-12-13 |
DE112021005636T5 (de) | 2023-08-31 |
WO2022116814A1 (en) | 2022-06-09 |
GB2616791A (en) | 2023-09-20 |
US11803413B2 (en) | 2023-10-31 |
GB202309849D0 (en) | 2023-08-16 |
US20220179683A1 (en) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10601679B2 (en) | Data-centric predictive container migration based on cognitive modelling | |
US11803413B2 (en) | Migrating complex legacy applications | |
CN111344668B (zh) | 软件应用的部署配置的动态选择 | |
US11093289B2 (en) | Provisioning disaster recovery resources across multiple different environments based on class of service | |
US10353716B2 (en) | Automated deployment and performance evaluation of a virtualized-computing environment | |
US11030049B2 (en) | Data backup management during workload migration | |
JP2018077846A (ja) | 仮想マシン再配置プロトコルの生成を含む方法、仮想マシン再配置を容易にするためのシステムおよびプログラム | |
US20130091285A1 (en) | Discovery-based identification and migration of easily cloudifiable applications | |
JP2022546994A (ja) | サービス・インフラストラクチャを横断したマイクロサービスのデプロイ | |
JP2021509498A (ja) | コンピューティング・デバイス | |
US11900173B2 (en) | Container runtime optimization | |
US11379290B2 (en) | Prioritizing and parallelizing the capture of data for debugging computer programs | |
WO2023093354A1 (en) | Avoidance of workload duplication among split-clusters | |
CN115934244A (zh) | 生成用于测试容器编排系统的测试集群 | |
CN117616395A (zh) | 迁移期间应用的连续活跃度和完整性 | |
US10176215B2 (en) | Data currency improvement for cross-site queries | |
US20230266997A1 (en) | Distributed scheduling in container orchestration engines | |
CN115443642A (zh) | 跨规则引擎的实例的规则分发 | |
US11593004B1 (en) | Optimized addition and removal of compute resources in a distributed storage platform by implementing mapping changes in a shared storage subsystem | |
US11973842B2 (en) | Service status prediction based transaction failure avoidance | |
US11943292B2 (en) | Extend controller for multi-tenancy | |
US11816363B2 (en) | File based virtual disk management | |
US20220188166A1 (en) | Cognitive task scheduler | |
US20240012692A1 (en) | Dynamic light-weighted multi-tenancy | |
US20240086255A1 (en) | Identification of reusable components |
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 |